Professional Documents
Culture Documents
By
of
Sun College of Engineering and Technology
Submitted to the
MASTER OF ENGINEERING
in
June 2011
BONAFIDE CERTIFICATE
the research under my supervision. Certified further, that to the best of my knowledge the work
reported herein does not form part of any other project report or dissertation on the basis of
which a degree or award was conferred on an earlier occasion on this or any other candidate.
ACKNOWLEDGEMENT
First and most obviously, I give all the glory and honor to our ALMIGHTY, THE
LORD for his abundant grace that sustained me to the successful completion of the report.
Second, my gratitude goes to Dr.E.Babu Raj M.E., M.S., Ph.D, Professor,
Department of Computer Science and Engineering, Sun College of Engineering and Technology,
, who guided me to carry out this research with interest and involvement.
I thank Mrs. R.A.Isabel M.E., Professor and Head, and Mr. S.Jeba Anand M.E.,
Assistant Professor, Department of Computer Science and Engineering, Sun College of
Engineering and Technology, for their guidance and help rendered in successfully completing
this thesis.
Finally, I thank my mother Mrs. T.Nagalakshmi for her continuous support and
blessings. I thank my father Mr.S.A.Perumal and my brother N.A.P.Karthikeyan for their
constant encouragement and prayer in doing this research work. I have been blessed, motivated
and helped by a great number of friends, colleagues and supporters throughout the thesis work
and my gratitude goes to all of them.
N.A.P.SIVASUBRAMANIYAN
ABSTRACT
Geocasting is a variation on the notion on the notion of multicasting. Geocasting is useful
for sending messages to nodes in a specified geographical region. This region is the geocast
region. Mobile enable Wireless Sensor Network (mWSN) has been proposed to realize large-
scale information gathering via networking wireless sensors and mobile sinks. Traditionally,
geocasting has been known as the appropriate scheme for providing effective data dissemination
from a source to all nodes in a geographically restricted region. However, since the geocasting
typically assumes the restricted region is stationary, it is hard to directly adopt the traditional
geocasting in order to offer effective data delivery to mobile sink groups that have
geographically collective mobility. In a geocasting problem, a message is sent from one node to
all the nodes located in a designated region. For example, a monitoring center needs to contact
all active sensors within a monitored area to either gather data from them periodically or provide
its location to sensors covering a certain area for event reporting. Intelligent flooding methods
exist for this task when all active sensors belong to the monitored area. However, when a
particular area containing only a small subset of active sensors needs to be monitored, the
problem reduces to geocasting. Most existing geocasting solutions are shown not to guarantee
delivery. Some of them achieve guaranteed delivery with high cost. A VSFG technique is
proposed here to achieve geocasting with guaranteed delivery with low cost. VSFG assumes the
nodes to be stationary at the time of Geocasting. A SKIP method and a local DS based restricted
flooding technique are also proposed to further reduce the cost. Later, VSFG is compared with
some of the existing techniques.
ததடடடபடபணதசட சரகடகமட
கமடபதயதலடலல உணரதகளதனட பதணணயதடததலட, ஓரட உணரதயதலதரநடத, பதணணயதடததலட கறதபடபதடடட ஏததனமட
ஒர பகததயதலட உளடள உணரதகளகடக தகவலட அனபடபவத ஜததயலகலஸடடஙட எனபடபடமட. (எ.கல) ஓரட
உணரடவத, பதணணயதடததனட ஒர பகததணய கணடகலணததடத, தகவலட தசகரததடத, அவடவபடதபலத
அதனணடய இரபடபதடமட மறடறமட அணதசட சலரடநடத தகவலடகணள அபடபகததயதலட உளடள உணரதகளகடக
ததரதயபடபடதடதகதறத. இதறடக பறடபல உகடததகளட நணடமணறயதலட இரநடதலலமட, அணவ அணனதடத
உணரதகளகடகமட தகவலட அனபடபவணததய இலகடகலககட தகலணடட தசயலடபடகதனடறன. சதல உகடததகளட
கறதபடபதடடட இடதடததலட உளடள உணரதகளகடக தகவலட அனபடபதனலலமட, அணவ அததக தநரதடணத
எடதடததகலளடகதனடறன. தமலமட தகவலட கதணடகடகமட உதடததரவலதமமட இலடணல.
இபடபதரசடசணனகடக ததரடவ கலணமட தநலகடகதலட, வதரடசடசவலட சரடதரரணடடஙட தபஸட ஜததயலகலஸடடஙட எனடகதற
பததய உகடததணயகட ணகயலணடட கணறநடத தநரதடததலட உதடததரவலதமலன மணறயதலட தகவலட அனபடபமட
மணறணய இஙடதக மறடதபலதடதளடதளனட.
Abstract i
ததடடடபடபணதசட சரகடகமட ii
1. Introduction 1
1.1. Networks 1
1.1.1 Client Server Networks 1
1.1.2 Peer-to-Peer Networks 1
1.1.3 Wireless Networks 2
1.1.4 Mobile Ad Hoc Networks 2
1.1.5 Wireless Sensor Networks 3
1.2 Research on Wireless Sensor Networks 3
1.3 Characteristics 5
1.4 Applications 7
1.4.1 Environmental Monitoring 7
1.4.2 Hazard Monitoring 8
1.4.3 Disaster Monitoring 8
1.4.4 Military Applications 8
1.4.5 Health Care Applications 8
1.4.6 Industrial Process and Control 9
1.4.7 Security and Surveillance 9
1.4.7.1 Home Intelligence 10
1.4.7.2 Smart Home 10
1.4.7.3 Remote Metering 10
1.5 Design Challenges 11
1.6 Design Objectives 12
1.7 Geocasting 14
1.8 Issues and Challenges 15
1.9 Routing Protocols for Geocasting 16
1.9.1 Routing with Flooding:Simple Flooding 16
1.9.2 Routing with Directed Flooding: LBM 16
1.9.3 Vornoi Diagrams 17
1.9.4 Mesh 17
1.9.5 Routing without Flooding: URAD 17
1.10 Problem Statement 17
1.11 Benefits of this Project 18
1.12 Organization of the thesis 18
2 Literature Survey 19
4. System Implementation 37
5. Concluding Remarks 67
Publications 69
References 70
LIST OF FIGURES
LIST OF ABBREVATIONS
P2P Peer-to-Peer
PDA Personal Digital Assistant
QoS Quality of Service
MANET Mobile Adhoc Network
CPU Central Processing Unit
DSP Digital Signal Processing
RF Radio Frequency
WSNs Wireless Sensor Networks
MEMS Micro Electronic Mechanical Systems
TV Television
VCR Video Cassette Recorder
DVD Digital Video Disc
CD Compact Disc
GFG Greedy Face Greedy
GG Gabriel Graph
SFR Skipping Face Routing
DFFTT Depth First Face Tree Traversal
RFIFT Restricted Flooding With Intersected Face Traversal
EZMG Entrance Zone Multicasting based Geocasting
MPR Multipoint Relay
CDS Connected Domain Set
VSF Virtual Surrounding Face
MSG Message
UDG Unit Disk Graph
1
CHAPTER 1
INTRODUCTION
1.1 Networks
A network is simply two or more nodes connected together so they can exchange
information. A small network can be as simple as two nodes linked together by a single cable. A
large network may connect thousands of nodes and other devices together. The node which sends
a data is called source node and the node which receives the data is called destination node.
Based on the type of connection, speed of the data transfer, topology and various other
parameters we have various types of networks like: wired networks, wireless networks, high
speed networks, adhoc networks and so on.
If a user, application or company wishes to make data portable, mobile and accessible
then wireless networking is the answer. A wireless networking system would rid of the downtime
you would normally have in a wired network due to cable problems. It would also save time and
money due to the fact that you would spare the expense of installing a lot of cables. Also, if a
client computer needs to relocate to another part of the office then all you need to do is move the
machine with the wireless network card.
Wireless networking can prove to be very useful in public places – libraries, guest houses,
hotels, cafeterias, and schools are all places where one might find wireless access to the Internet.
From a financial point of view, this is beneficial to both the provider and the client. The provider
would offer the service for a charge – probably on a pay per use system, and the client would be
able to take advantage of this service in a convenient location; away from the office or home. A
drawback of wireless Internet is that the QoS (Quality of Service) is not guaranteed and if there
is any interference with the link then the connection may be dropped.
The increasing popularity of video, voice and data communications over the Internet
and the rapid penetration of mobile telephony have stimulated a change in consumers’
expectations. Even though voice still accounts for a significant part of the world’s mobile
communications traffic, the number of group-oriented services and multimedia applications is
increasing. The evolution of wireless communication technologies has reached a point where it is
both popular and easy to integrate them into portable computing devices, which have initially
3
been intended for personal use. Recent advances in radio communication and computer
technologies have led to the development of mobile computing environments. These recent
advancements in wireless and mobile technology are evident from the fact of the widespread
usage of mobile and wireless devices such as laptops, palmtops, personal digital assistants etc.
The users in this environment can change their locations while retaining network connections. A
variant of this mobile computing environment is known as Mobile Ad hoc networks (MANETs);
these are wireless and mobile networks, which are self-organizing and rapidly deployable and
have no fixed infrastructure. Hence, a MANET is a collection of wireless mobile nodes forming
a dynamically temporary network without the use of any existing fixed network infrastructure or
centralized administration [1]. Even if the source and destination mobile hosts are not in the
transmission range, data packets are forwarded to the destination mobile host by relaying
transmission through other mobile hosts that exist between the two mobile hosts. In MANETs,
since mobile hosts move freely, link failures occur frequently and this causes frequent network
partitions. For example, if a MANET is divided into two partitions due to the migration of
mobile hosts, mobile hosts in one of the two partitioned networks cannot access the data held by
mobile hosts in the other network. Thus, data accessibility in MANETs is lower than that in the
conventional fixed networks.
A sensor network is defined as being composed of a large number of nodes which are
deployed densely in close proximity to the phenomenon to be monitored [17]. Each of these
nodes collects data and its purpose is to route this information back to a sink. The network must
possess self-organizing capabilities since the positions of individual nodes are not predetermined.
1.2 Research on Wireless Sensor Networks
Cooperation among nodes is the dominant feature of this type of network, where groups of
nodes cooperate to disseminate the information gathered in their vicinity to the user.
Major differences between sensor and ad-hoc networks are
i) Number of nodes can be orders of magnitude higher.
ii) Sensor nodes are densely deployed.
iii) Sensor nodes are prone to failure.
iv) Frequent topology changes.
4
Each node consists of processing capability (one or more microcontrollers, CPUs or DSP
chips), may contain multiple types of memory (program, data and flash memories), have a RF
transceiver (usually with a single Omni-directional antenna), have a power source (e.g., batteries
and solar cells), and accommodate various sensors and actuators. The nodes communicate
wirelessly and often self-organize after being deployed in an ad hoc fashion. Systems of 1000s or
even 10,000 nodes are anticipated. Such systems can revolutionize the way we live and work.
Since a wireless sensor network is a distributed real-time system a natural question is how
many solutions from distributed and real-time systems can be used in these new systems?
Unfortunately, very little prior work can be applied and new solutions are necessary in all areas
of the system. The main reason is that the set of assumptions underlying previous work has
changed dramatically. Most past distributed systems research has assumed that the systems are
wired, have unlimited power, are not real-time, have user interfaces such as screens and mice,
have a fixed set of resources, treat each node in the system as very important and are location
independent. In contrast, for wireless sensor networks, the systems are wireless, have scarce
power, are real-time, utilize sensors and actuators as interfaces, have dynamically changing sets
of resources, aggregate behavior is important and location is critical. Many wireless sensor
networks also utilize minimal capacity devices which places a further strain on the ability to use
past solutions.
Wireless Sensor Networks (WSNs) have been widely considered as one of the most
important technologies for the twenty – first century. Enabled by recent advances in micro-
electronic mechanical systems (MEMS) and wireless communication technologies, tiny, cheap,
5
and smart sensors deployed in a physical area and networked through wireless links and the
Internet provide unprecedented opportunities for a variety of civilian and military applications,
for example, environmental monitoring, battle field surveillance, and industry process control.
Distinguished from traditional wireless communication networks, for example, cellular systems
and mobile ad hoc networks (MANET), WSNs have unique characteristics, for example, denser
level of node deployment, higher unreliability of sensor nodes, and severe energy, computation,
and storage constraints, which present many new challenges in the development and application
of WSNs. In the past decade, WSNs have received tremendous attention from both academia and
industry all over the world. A large amount of research activities have been carried out to explore
and solve various design and application issues, and significant advances have been made in the
development and deployment of WSNs. It is envisioned that in the near future WSNs will be
widely used in various civilian and military fields, and revolutionize the way we live, work, and
interact with the physical world.
1.3 Characteristics
A WSN typically consists of a large number of low-cost, low-power, and multifunctional
sensor nodes that are deployed in a region of interest. These sensor nodes are small in size, but
are equipped with sensors, embedded microprocessors, and radio transceivers, and therefore have
not only sensing capability, but also data processing and communicating capabilities. They
communicate over a short distance via a wireless medium and collaborate to accomplish a
common task, for example, environment monitoring, battlefield surveillance, and industrial
process control. Compared with traditional wireless communication networks, for example,
cellular systems and MANET, sensor networks have the following unique characteristics and
constraints
v) Application Specific
Sensor networks are application specific. A network is usually designed and
deployed for a specific application. The design requirements of a network change
with its application.
x) Data Redundancy
In most sensor network applications, sensor nodes are densely deployed in a
region of interest and collaborate to accomplish a common sensing task. Thus, the
data sensed by multiple sensor nodes typically have a certain level of correlation or
redundancy.
1.4 Applications
Wireless sensors have significant advantages over conventional wired sensors. They can
not only reduce the cost and delay in deployment, but also be applied to any environment,
especially those in which conventional wired sensor networks are impossible to be deployed, for
example, inhospitable terrains, battlefields, outer space, or deep oceans. WSNs were originally
motivated by military applications, which range from large - scale acoustic surveillance systems
for ocean surveillance to small networks of unattended ground sensors for ground target
detection. However, the availability of low-cost sensors and wireless communication has
promised the development of a wide range of applications in both civilian and military fields.
This section introduces a few examples of sensor network applications.
detect the direction and magnitude of a quake and provide an assessment of the
building safety.
i) Behavior Monitoring
Sensors can be deployed in a patient’s home to monitor the behaviors of the patient.
For example, it can alert doctors when the patient falls and requires immediate
medical attention. It can monitor what a patient is doing and provide reminders or
instructions over a television or radio.
ii) Medical Monitoring
Wearable sensors can be integrated into a wireless body area network
(WBAN) to monitor vital signs, environmental parameters, and geographical
locations, and thus allow long-term, noninvasive, and ambulatory monitoring of
patients or elderly people with instantaneous alerts to health care personal in case of
9
emergency, immediate reports to users about their current health statuses, and real-
time updates of users’ medical records.
stove or microwave oven can prepare a menu based on the inventory of the
refrigerator and send relevant cooking parameters to the smart stove or microwave
oven, which will set the desired temperature and time for cooking. The contents and
schedules of TV, VCR, DVD, or CD players can be monitored and controlled
remotely to meet the different requirements of family members.
The unique network characteristics present many challenges in the design of sensor
networks, which involve the following main aspects:
i) Limited Energy Capacity
Sensor nodes are battery powered and thus, has very limited energy capacity.
This constraint presents many new challenges in the development of hardware and
software, and the design of network architectures and protocols for sensor networks.
To prolong the operational lifetime of a sensor network, energy efficiency should be
considered in every aspect of sensor network design, not only hardware and software,
but also network architectures and protocols.
ii) Limited Hardware Resources
Sensor nodes have limited processing and storage capacities, and thus can
only perform limited computational functionalities. These hardware constraints
present many challenges in software development and network protocol design for
sensor networks, which must consider not only the energy constraint in sensor nodes,
but also the processing and storage capacities of sensor nodes.
11
iv) Self-Configurability
In sensor networks, sensor nodes are usually deployed in a region of interest
without careful planning and engineering. Once deployed, sensor nodes should be
able to autonomously organize themselves into a communication network and
reconfigure their connectivity in the event of topology changes and node failures.
Scalability: In sensor networks, the number of sensor nodes may be on the order of
tens, hundreds, or thousands. Thus, network protocols designed for sensor networks
should be scalable to different network sizes.
v) Adaptability
In sensor networks, a node may fail, join, or move, which would result in
changes in node density and network topology. Thus, network protocols designed for
sensor networks should be adaptive to such density and topology changes.
vi) Reliability
For many sensor network applications, it is required that data be reliably
delivered over noisy, error - prone, and time-varying wireless channels. To meet this
requirement, network protocols designed for sensor networks must provide error
control and correction mechanisms to ensure reliable data delivery.
13
viii) Security
In many military applications, sensor nodes are deployed in a hostile
environment and thus are vulnerable to adversaries. In such situations, a sensor
network should introduce effective security mechanisms to prevent the data
information in the network or a sensor node from unauthorized access or malicious
attacks.
ix) Channel Utilization
Sensor networks have limited bandwidth resources. Thus, communication
protocols designed for sensor networks should efficiently make use of the bandwidth
to improve channel utilization.
x) QoS Support
In sensor networks, different applications may have different quality-of-
service (QoS) requirements in terms of delivery latency and packet loss. For example,
some applications, for example, fire monitoring, are delay sensitive and thus require
timely data delivery. Some applications, for example, data collection for scientific
exploration, are delay tolerant but cannot stand packet loss. Thus, network protocol
design should consider the QoS requirements of specific applications.
Most sensor networks are application specific and have different application requirements. It
is not necessary and actually impractical to implement all the design objectives in a single
network. Instead, only part of these objectives should be considered in the design of a specific
network in order to meet its application requirements.
1.7 Geocasting
Geocasting in wireless sensor network is a task to deliver a message from a source node to
all nodes located within a given geographic region. Geocasting is a concept that fits the nature of
14
typical WSN applications very well. For example, a monitoring center needs to contact all active
sensors within a monitored area to either gather data from them periodically or provide its
location to sensors covering a certain area for event reporting. Intelligent flooding methods exist
for this task when all active sensors belong to the monitored area. However, when a particular
area containing only a small subset of active sensors needs to be monitored, the problem reduces
to geocasting. An important objective of geocasting[18] is to ensure message delivery while
maintaining a low transmission cost (lower number of transmissions). Guaranteed delivery
ensures that every sensor in a region receives a copy of the geocasting message. Since sensors
are generally powered by batteries, the limited energy of sensors requires geocasting to consume
as little energy as possible.
the task and establish a reverse broadcast tree using any intelligent flooding protocol. If the
network is reasonably sparse, even blind flooding (where each node receiving a message will
retransmit it exactly once) is a viable option. However, when the region to be monitored for
particular event contains only a small portion of active sensors, flooding the whole network may
be an inefficient way to spread the task. This research aims to provide an efficient solution to the
geocasting problem.
Geocast
Voronoi,
Figure 1.1 Routing Protocols for Geocasting
GeoGrid,mesh
By increasing the forwarding zone, the probability for reception of a geocast packet at all
destination nodes can be increased; overhead is also increased.
A voronoi diagram partitions the network in n voronoi regions. The voronoi region of a
neighbor consists of all nodes that are closer to this neighbor than to any other neighbor. The
voronoi partitions intersecting with the geocast destination region belong to the forwarding zone
and are selected for geocast forwarding.
1.9.4 Mesh
After a node inside the destination region received the initial packet to join the mesh, a
unicast reply is sent back to the sender on the reverse path and flooding is stopped.
Each node inside the destination region sends a received geocast packet with a 1-hop
broadcast to all neighbors. Sequence numbers of flooded geocast packets are stored to prevent a
node from flooding the same packet more than once, which allows proper termination of the
algorithm.
In order to preserve the scarce bandwidth and energy consumption of sensor nodes and
increase their lifetime, it is desirable to have efficient geocasting mechanisms with low overhead
that are able to deliver the data to all nodes within the geocast region. The challenge is that in
order to reach all nodes in the region, the packet may have to traverse other nodes outside the
region causing extra overhead. There is a tradeoff between the ratio of region nodes reached and
the overall overhead incurred due to a geocast transmission. For example, in order to guarantee
that all nodes in the region receive a geocast packet, global flooding, by sending the packet to all
nodes in the network, may be used which causes very high bandwidth and energy consumption,
and can significantly reduce the network lifetime. Other proposed geocast mechanisms that do
not rely on global flooding or global information about the network use restricted forwarding
zones to limit the number of nodes that forward the geocast packet, and thus they do not
guarantee that all nodes in the region receive the packet. This is more significant in sparse
17
networks and networks with irregular distributions or obstacles, where due to disconnections in
geographical regions it may not be possible to reach all nodes in the geocast region through a
limited forwarding zone. In this project, a mechanism that achieves guaranteed delivery without
global flooding and without nodes having global information about the network has been
proposed.
i) The design and evaluation of efficient and robust geocasting protocols that combine
geographic routing mechanisms with restricted flooding to achieve high delivery rate and low
overhead.
ii) Presenting a guaranteed delivery mechanism based on the observation that by traversing all
faces intersecting a region in a connected planar graph, every node of the graph inside the region
is traversed. Although this theorem is known, the design of a SKIP algorithm in combination to
reduce the transmission cost is new. The algorithm is efficient by using a combination of face
routing and SKIP technique.
iii) Providing an adaptive mechanism in which nodes perform face routing selectively and only
when needed based on the density and node distribution in their neighborhood to reduce the
unnecessary overhead.
iv) Thorough analysis and comparison of the performance of a class of geocasting protocols
under different scenarios.
The rest of the report is structured as follows. In Chapter 2, a detailed survey of various routing
protocols and many other existing approaches has been made. In Chapter 3 the Design and
implementation aspects of the project have been explained. Chapter 4 explains the
implementation of the Virtual Surrounding Face Geocasting and the experimental analysis of the
same has been done in Chapter 5. Chapter 6 concludes the work and says about the future work
that could be done.
18
CHAPTER 2
LITERATURE SURVEY
The concept of geocasting [13] was introduced by Imielinski and Navas(1997). Generally,
geocasting algorithms reduce transmission costs by using location-based routing to deliver a
message to a node in a geocasting region R. The node in R then performs restricted flooding
within R. Hence, three categories are reviewed in the related work: location-based routing,
geocasting algorithms, and broadcasting algorithms. Finally, some of the approaches towards
geocasting in WSNs are reviewed.
receives a packet, it forwards the packet to a neighbor lying in the general direction of the
recipient. Ideally, this process can be repeated until the recipient has been reached.
Unfortunately, greedy routing may fail to find a path between sender and destination,
even though one does exist. The problem here is that S is closer to the destination D than any of
the nodes in its transmission range [17] as discussed by Hou and Li (1986). Greedy routing
therefore has reached a local maximum from which it cannot recover.
To counter this problem Takagi and Kleinrock (1984) has been suggested that the packet
should be forwarded to the node with the least backward (negative) progress if no nodes can be
found in the forward direction[8]. However, this raises the problem of looping packets, which
cannot occur when packets are forwarded only toward the destination with positive progress. So
the researchers Hou and Li (1986) proposed not to forward packets that have reached a local
maximum at all [18].
2.1.2 Face Routing
To ensure message delivery, face routing [15] was introduced by Bose and Morin in
1999. They have proved the correctness of the same in 2001[16]. In face routing, a planar graph
derived from the network topology is used, and the network area is partitioned into a set of faces.
To transmit a message from a source to a destination t, the message traverses the face intersecting
the line segment st from s to t.
If an edge e on the boundary of the traversed face intersects with st and the intersecting point is
closer to t than to s, the face, which is next to e and closer to t than the currently traversed face, is
traversed. The process is repeated until t is found.
To find a routing path close to the optimal path, the Greedy-Face-Greedy (GFG) algorithm which
combines the greedy routing and the face routing is proposed by Kranakis et al (1999) [3]. In
GFG, nodes conduct greedy routing whenever it is possible. In the case when a void exists in the
forwarding direction, face routing is used to send the message around the void. Hence, GFG
guarantees message delivery and significantly reduces the path lengths as stated by Kuhn et al in
[4].
In the existing approaches, a packet is forwarded through all intermediate nodes though
there exists a direct neighbor introducing extra transmissions. One intuition is that in dense
networks, these additional transmissions may be significant compared with the total number of
transmissions for face traversal.
20
members in the geocast group, the forwarding zone may include, in addition to the geocast
region itself, other areas around the geocast region. When the geocast region does not include the
source node S, a path from S to geocast group members may include nodes outside the geocast
region. Therefore, additional region should be included in the forwarding zone, so that
forwarding zone. To be a useful geocast protocol, it is necessary to achieve a high probability
that a geocast is delivered to each geocast member. The accuracy of the protocol can be increased
by increasing the size of the forwarding zone. However, data delivery overhead may also
increase with size of the forwarding zone. Thus there exists a tradeoff between accuracy of
geocast delivery and the overhead of the geocast delivery.
These algorithms incur high flooding costs since the forwarding zone may be much larger
than the geocasting region. Moreover, these algorithms do not guarantee message delivery as
discussed by Stojmenovic (2004) in [10].
2.2.2 Intelligent Flooding Algorithms
Qayyum (2002) et al and Liao et al explains some intelligent flooding techniques in [2] to reduce
the high flooding cost. However, these algorithms do not ensure the delivery of messages.
Qayyum et al proposed a Multi Point Relaying technique for flooding where only a selected
number of nodes propagate the message. In pure flooding, each node retransmits without
exception, so there are more chances that the message reaches all the nodes, as compared to
multipoint relaying.
Bose (2001) in his paper described the DFFTT [16]. The algorithm guarantees delivery to
all nodes connected to the source, in which the packet follows a path from source node (thus
single copy of the packet is in the network at any time). To improve latency, parallel paths (and
multiple copies of the packet) can be explored at any branches of the face tree being used. The
algorithm does not require any memory to be left at nodes, and need only carry some small
amount of information with the packet (if entry edges are predetermined for a given source, the
message need only contain sender and source information). The algorithm first applies GFG to
route toward a node inside a geocasting region. That node then selects a nearby point S inside the
face to act as an artificial source. The face tree from S is constructed in the following way. Given
a node S and a face f of a planar graph, the entry edge entry(f, S) is the edge from f that is closest
to S. To break the ties, several keys for comparison of edges are used. The primary key is the
distance of the edge to S, where the distance is decided by a point C from the edge that is closest
to S. If the distances are the same, the secondary key used is the counterclockwise direction of
vector SC. In case of further ties (which may occur only when two edges share a common closer
endpoint C), consider the size of the angle ÐSCD, where D is the other endpoint of the edge. If
that still does not resolve it, consider the vector CD, which then must be different. It also has
been proved that all entry edges are on the boundaries of two faces. In the face tree, the parent of
a face f is the face p(f) that contains its entry edge e(f) on its boundary. Obviously, then, p(f) itself
has another entry face closer to S, which confirms that a tree of faces is indeed constructed. The
face tree is dynamically constructed during geocasting operation. The geocasting algorithm
follows depth first searchbased traversal of the face tree. For each node in the face tree, it
actually traverses the corresponding face. When an entry edge is encountered, the traversal enters
a new face. When the traversal (which may recursively go to deeper levels) is completed, it
returns to the face. Traversal of each face begins from one end of its entry edge and finishes at
the other end of it. A face tree from S is drawn with directed edges intersecting entry edges
(dashed lines).
traversal is determined by a pair of nodes: internal border node and external border node. An
internal border node is a node in R with a planar neighbor outside of R.
Here, two nodes are planar neighbors if an edge connecting these two nodes belongs to the
planarized network graph. Similarly, an external border node is a node outside R, but with a
planar neighbor in R. In RFIFT, each internal border node performs traversal by using left-hand
rule with respect to all of its planar neighbors that are external border nodes. In some cases like
the one shown below, RFIFT has also to be modified. The problem with RFIFT is that it does not
guarantee delivery in all circumstances.
are members of the cluster identified by the heads ID. Within a cluster, a member that can
communicate with a node in another cluster is a gateway. To take mobility into account, when
two heads meet, the one with a larger ID gives up its head role.
Considering the case that the backbone of the network consists of the fixed cluster heads
and dynamically selected gateways that depend on the source of a broadcast; that is, the
gateways are selected at the time when a cluster head needs to relay the packet. Since this
backbone is constructed step by step as the broadcast traverses the network, some pruning
techniques can be used to reduce the. Broadcast redundancy. Generally, pruning techniques can
eliminate some redundant broadcasting operations between two downstream neighbors of a
sender if these two neighbors know that they have received a broadcast packet from the same
upstream sender. For a simple network with 3 nodes u, v and w, suppose node u broadcasts a
packet, both nodes v and w receive the packet, and then they rebroadcast the packet to each
other. Apparently, the last two transmissions are redundant. There is many ways to reduce this
kind of transmission redundancy. When a node receives a broadcast packet, if it can back-off a
short period of time before it relays the packet, it may receive more copies of the same packet
from its other neighbors. If all of its neighbors can be covered by these already received
broadcast copies, it can resign its role of re-broadcast operation. Another way to reduce
transmission redundancy is to piggyback the covered nodes with the broadcast packet when the
sender broadcasts a packet. From the information of the piggybacked packet, each receiver can
compute which subset of its neighbor set has already received the packet.
Multipoint relaying technique works in a distributed way, keeping in view the mobile and
dispersed nature of the network nodes. Each node calculates its own set of multipoint relays,
which is completely independent of other nodes’ selection of their MPRs. Each node reacts when
its neighbor node change and accordingly modifies its MPR set to cover its two-hop neighbors.
An important aspect for the utilization of the multipoint relays is the manner in which
these multipoint relays are selected by each node. Obviously, the goal is to achieve the maximum
performance by selecting an optimal set of these MPRs by each node. But this task is not a trivial
one. If the mechanism of selecting the MPRs is too simple, it may not select efficiently the
MPRS in the dynamic and complex situations, and the expected performance gain would not be
achieved. On the other hand, if the algorithm of MPR selection is very long and complicated to
provide a near to optimal MPR set, it may become difficult to implement it or it may generate its
own control traffic (to gather information for its functioning) that becomes comparable to the
saving in the flooding of messages. So there must be a compromise in designing such an
algorithm for the selection of multipoint relays: it should be easy to implement, and it should
give near to optimal MPR set in the “majority” of cases.
The information needed to calculate the multipoint relays is the set of one-hop neighbors
and the two-hop neighbors, i.e. the neighbors, most protocols use some form of HELLO
messages that are sent locally by each node to declare its presence. In a mobile environment,
these messages are sent periodically as a keep alive signals to refresh the information. To obtain
the information of two-hop neighbors, one solution is that each node attach the list of its own
neighbors, while sending its HELLO messages. In this way, each node can independently
calculate its one-hop and two-hop neighbor set. Once a node has this information, it can select
the minimal number of one-hop neighbors which covers all of its two-hop neighbors.
Wu and Li (2001) in their work have explained a dominating set [14] based routing
scheme for ad hoc wireless networks. Routing based on a connected dominating set is a
promising approach, where the searching space for a route is reduced to nodes in the set. A set is
dominating if all the nodes in the system are either in the set or neighbors of nodes in the set.
26
They propose a simple and efficient distributed algorithm for calculating connected dominating
set in ad hoc wireless networks, where connections of nodes are determined by their
geographical distances. The scheme employs an update/recalculation algorithm for the connected
dominating set when the topology of the ad hoc wireless network changes dynamically.
An efficient version of this scheme has been proposed in [16] by Stojmenovic (2002)
which significantly reduce or eliminate the communication overhead of a broadcasting task by
applying the concept of localized dominating sets. Their maintenance does not require any
communication overhead in addition to maintaining positions of neighboring nodes.
Retransmission by only internal nodes in a dominating set is sufficient for reliable broadcasting.
Existing dominating sets are improved by using node degrees instead of their IDs as primary
keys. The scheme also aims to eliminate neighbors that already received the message and
rebroadcast only if the list of neighbors that might need the message is nonempty. A
retransmission after negative acknowledgements scheme is also described. The important
features of proposed algorithms are their reliability (reaching all nodes in the absence of message
collisions), significant rebroadcast savings, and their localized and parameterless behavior. The
reduction in communication overhead for broadcasting task is measured experimentally.
Dominating sets based broadcasting, enhanced by neighbor elimination scheme and highest
degree key, provides reliable broadcast with <53 percent of node retransmissions (on random
unit graphs with 100 node) for all average degrees d.
Thus a DS of a network is defined as a set of nodes such that for any node in the network,
the node either belongs to DS or has a direct neighbor in DS. A connected dominating set (CDS)
is a DS such that for any two nodes in CDS, there is a path connecting the two nodes and all
nodes on the path belong to CDS. By constructing CDS of a network, flooding is performed only
by the nodes belongs to CDS.
geographic message from a sender to a receiver. The GeoNode is an entry/exit point for the
routing system. Its main function is to store incoming geographic messages for the duration of
their lifetime and to periodically multicast them on all of the subnets or wireless cells to which it
is attached. Each subnet and each wireless cell will have at most one GeoNode. The lifetime of a
geographic message is specified by the sender of the message. Message lifetimes are necessary
because the receivers of geographic messages may be mobile and may possibly arrive at the
message desitnation just after the geographic message first arrives.The GeoHost is located on all
computer hosts which are capable of receiving and sending geographic messages. Its role is to
notify all client processes about the availability of geographic messages, the host computer’s
current geographic location, and the address of the local GeoNode.
2.4.2 Tree Based Geocast
Yi Zhao(2009) et all describes a new scenario of Geocast [24] protocol in which a source
node locating outside the mobile ad hoc network sends packets to all sensor nodes within a
specified geographical region in order to gather monitoring data from sensor nodes within the
region.
Consequently, a new Geocast protocol is put forward to improve the current Geocast
protocols by supporting this heterogeneous network environment. Their protocol attains energy
efficiency and accuracy through the use of a tree- based routing algorithm in Geocast region.
Meanwhile, by using dynamic hello-message frequency and link lifetime evaluation, their
method ensures the stability of route from the source node to Geocast region.
2.5 Inference from the Literature:
An important objective of geocasting is to ensure message delivery while maintaining a
low transmission cost (lower number of transmissions. Guaranteed delivery ensures that every
sensor in a region receives a copy of the geocasting message. Since sensors are generally
powered by batteries, the limited energy of sensors requires geocasting to consume as little
energy as possible. Many algorithms have been proposed in the literature to achieve geocasting.
Most of them do not guarantee message delivery and incur high transmission costs. Some of
them achieve it in continuous geocasting.
28
CHAPTER 3
DESIGN OF THE PROJECT
1. Messages first arrive at the dispatcher either locally or from the network. The dispatcher
determines the protocol identifier, either from the higher-layer component if local, or
otherwise from the message itself.
31
VSF Traversal
) DSForwarding
Engine
Res
tric
Flo
ted
odi
Coordinates
Coordinates
Coordinates
ng
Restricted
Forwarding
Geographic
Geographic
etGeographic
G(S,
CDLP, GG
CDLP, GG
GG
R,O
et nextptio
Face
MS
Output
Engine
Messa
Messa
Routing
[Option]
n)
MSG(S,
Input
Engine
Engine
Engine
Routing
Routing
Greedy
CDLP,
next
next
dPlanar
Planar
Planar
Graph
Graph
Graph
g
ardin
Forw
Engi
ge
ge
RNG
RNG
RNG
VSF
+
altional
ne
ding
ting
ersal
R,
Forwardin MSG(S,R,u,trav(u,v.Left-
or
or
or
ps
ps
ps
le
ce
IP
et
32
payloa
d eo
Lf
Lp
Phase(
G or
F)
(X,Y)
Dest
ords
co-
Msg_u
id
VSF forwarding delivers the message to a destination reference point r, which is chosen
as the geographic point in R with the shortest distance to s. Every node receiving a message will
check, if it is that VSF node.
Once the VSF node is reached, VSF node performs Skipping Face Traversal (VSF
Traversal). Here a double directional face traversal is performed (left and right hand rule) along
with the SKIP algorithm to reduce the traversal cost and time delay.
Each internal node overhearing the message, performs Local DS based Restricted
Flooding which further reduces the cost.
i) VSF Forwarding
ii) VSF Traversal
iii) Local DS based Restricted Flooding
CHAPTER 4
34
SYSTEM IMPLEMETATION
VSF forwarding forwards the message from the source node to a node on the virtual
surrounding face.
MS
Engine
G(S,
Routin
R,O
ptio
g
n) Get
Geogra
Coordi
next nates
phic
Forwarding
Input Greedy +
hops Face
Messag
Engine
Routing Planar
e
Graph
CDLP, GG
or
RNG
Each node maintains knowledge of its coordinates as well as those of its neighbors'.
Next-hop(s) to which a packet is forwarded is(are) determined using the destination's coordinates
carried within the RE header.
35
Figure 4.2 Packet header contents. The routing header includes state for face routing.
Two routing phases exist, greedy and face routing. In greedy routing, nodes forward the
packet to the neighbor closest to the destination. If the current node is closest compared to all its
neighbors, the forwarding node switches to the next phase: face routing. Packets are then
forwarded along the face edges of an underlying planar graph, changing faces when appropriate
and applying rules that guarantee progress towards the destination. In this phase, additional state
has to be carried in the packet: the current phase, the node's coordinates when face routing begun
(Lp), as well as the coordinates (Lf) and the edge (e0) where the packet entered the current face. At
each step the node checks if greedy can resume and does so if possible.
Figure shows the modules implementing geographic routing and the contents of their
corresponding headers. The routing topology components provide two abstractions: (1)
Geographic Coordinates, which maintains and provides the coordinates of the current node and
its neighbors, and (2) Planar Graph, which provides a planarized version of the underlying
connectivity graph. The Planar Graph functionality can, for instance, be provided by CLDP,
Gabriel Graph, or Relative Neighborhood Graph. The RE is responsible for determining the next-
hop to the destination, and maintains state in the RE header.
Each node maintains its position using GPS and broadcast HELLO packet to its neighbors.
36
HELLO
Forwarding Pointers
Each node maintains a routing table for all nodes within two hops. This helps to forward the
message to the neighbor closest to the destination. The greedy message forwarding is shown
below.
The algorithm fails if a void (a large sub-area without nodes) exists in the forwarding direction,
that is, the message reaches an intermediate node that is closer to the destination than any of its
neighbor nodes.
37
In this condition, the face routing is started. During Face routing, every node checks whether it
can restore greedy location based routing.
Face Planar
Traversal
Engine
Graph
Get
Engine
Routin
+ CDLP, GG
Geogra
Coordi
next SKIP
nates
or
phic
hops
g
RNG
38
A node u chosen on the VSF starts VSF Traversal. This is also aided by skipping
technique described later. For a network with a node set V, VSF traversal associated with a
geocasting region R is performed on top of GG(V). In other words, each node involved in face
traversal computes u’s next traversed node based on NGG(u), and ignores all crossing edges with
u as one end point.
Not always the VSF nodes are well connected by VSF edges. There exist several situations
where the message has to traverse through the nodes in the geocasting region to complete the
VSF traversal. Two examples of such situations are discussed below.
39
In some situations, VSF nodes are connected via a crossing edge that connects two
internal and external border nodes. Fig 4.7 shows one such example, where boundary tvwx is
connected to the outer boundary via path yzut. When t, which does not receive a traversal
message, overhears a flooding message from u, t starts its own face traversal.
VSF nodes may also be connected via an external crossing edge as shown in fig 4.8. Here
the VSF boundary is connected with the outer face boundary via etu, which is ignored during VSF
traversal. In this case, when u overhears the traversal message that is sent from node t and is
designated for another node for the first time, u starts its own face traversal if etu intersects R.
40
To reduce traversal time and guarantee delivery, each entrance node simultaneously initiates
a VSF traversal in two directions by using the Right-Hand and the Left-Hand Rule. Two possible
starting cases are shown below:
41
In fig 4.10, entrance node u with two neighbors v1 and w1 can find the next traversal node on
the VSF by ignoring the crossing edge eux of R. Then, u sends MSG(s, R, u, trav(u,v1,Left)) to
v1, and MSG(s, R, u, trav(u,v1,Right)) to w1. When v1 receives the message designated for itself,
v1 knows itself to be a node and forwards MSG(s, R, u, trav(v1,v2,Left)) to v2. Similar steps are
repeated until the termination condition described later is satisfied.
42
In the figure above, entrance node u with only one VSF neighbor sends v a message
MSG(s,R,u,trav(u,v,Left – Right)), where Left – Right indicates to apply both Left – and Right-
Hand Rules. When v receives MSG, since v has only one traversal node w, v modifies the
message to MSG(s,R,u,trav(v,w,Left – Right)) and send it to w. Once w receives the message,
due to the Left-Right instruction in the message, and w having two VSF neighbors z and y, w
sends MSG(s,R.u.trav(w,z,Left)) and ,SG(s,R,u,trav(w,y,Right)) to z and y, respectively.
To prevent from having messages traversing a VSF many times, each VSF node uses a
termination condition to decide if the received message can be discarded. Let function
nect(q,MSG) return the node which will be traversed next when node q receives a traversal
message MSG. For example in fig.4.10, if w receives MSG(s,R,u,trav(v,w,Left) from v,
next(w,MSG(s,R,u,trav(v,w,Left)))=z. Then we have:
In the preceding condition, v1 and v2 may be the same node. One example of this case is
shown in fig 4.10, in which node u receives two traversal messages from node v with
different traversal rules. The VSF traversal is given in algorithm 1. It is possible that a node u
receives two MSGs which satisfy the termination condition before u forwards any traversal
message. In this case, u must broadcast the message once to guarantee delivery (Lines 5-8 of
Algorithm 1).
In dense networks, some nodes can skip intermediate nodes to reduce transmission cost
during VSF traversal. Such an algorithm called SKIP is introduced here to work solely based
on the one-hop neighbor knowledge of each node. In SFR, a set of sufficient conditions are
defined by which a node decides if it can skip one or more intermediate nodes in face
traversal. One of the desired properties of SFR is that each node in SFR only needs to know
locations of its one-hop neighbors, and therefore, no additional communication overhead is
required. SFR can be embedded in GFG with minor modifications.
Lemma 1: Let u and v be two neighbors of a node x. If d(x,c(u,v)) + d(u,v)/2≤1, x can determine
whether u and v are Gabriel neighbors of each other.
45
To derive condition C2, let me define some terms as follows. For an edge euv in GG(V), let
+
(euv,v) denote the perpendicular line of euv through v, (euv,v) partitions the network plane into
+
two half planes (Fig 4.11). Let , (euv,v) denote the half plane (shaded area in the figure) not
containing u. We have the following Lemma.
Lemma 2: For two nodes u and v which are Garberial neighbors of each other, u can not have a
+
Gabriel neighbor located in the half plane (euv,v).
(euv,v)
u line (euv,v)
Figure 4.12 Half plane of line (euv,v) in the derivation of skipping conditions
Figure 4.13 Two cases of searching space (shaded areas) of u with respect to x
Then skipping condition (condition C2) is derived as follows. Let (u) denote the unit
disk centered at u, and denote a ray starting at u through x. Considering fig. 4.12(a), assume
46
that u is the next visited node with respect to x. Node x scans its covered area by rotating
clockwise (keeping u stationary) until find the first encountered node v which is a Gabriel
neighbor of u. This step is called Gabriel neighbor scan process of performed by x (denoted
by scan( ,x)), and the angle xuv is called scan angle. Then we need to find a condition by
which x can determine if v is the next visited node with respect to u based solely on x’s local
knowledge. Assume that v is the node obtained by using scan( ,x) in figure 4.12(a). Two
lines (euv,v) and (eux,x) are drawn and then decision region of u (denoted by Ω(u)) as
follows.
Case 1: If the two lines intersect at a point w within the scan angle and located in (u),
Ω(u) is defined as the trapezium wxuv (the shaded area in Fig. 4.12(a)).
Case 2: If not the case 1, let w1 denote the intersected point of (euv,v and (u)located
in the scan angle xuv. Ω(u) is defined as the area enclosed by line segments w1v, vu, ux, xw2,
and are w2w1 (the shaded region in fig. 4.12(b)).
Lemma 3: For the nodes x, u and v shown in Fig. 4.12, u is the next visited node with respect to
x, and v is the node found by the scan process scan( ,x). If decision region Ω(u) is fully
contained by (u) and there is no node in Ω(u), x can determine by using its local knowledge
that v is the next visited node with respect to u.
ii) Multiple-node Skipping Condtion
The preceding section gives the condition in which a traversal message skips one
intermediate node. In many applications, nodes are densely deployed so that it is possible
to skip over multiple nodes. Hence, a multiple-node skipping condition for nodes with
one-hop neighbor information. First, assume that a node s, which holds a traversal
message, determines that s can skip (k-1) nodes, and the traversing sequence without
skipping is s s1 … sk-2 x u. Then it is obtained that:
Lemma 4: For the sequence of nodes s s1 s2 … sk-2 x u given above, let v be the
node found by the scan process scan( ,s). then if the decision region Ω(u) is fully located in
47
(s) and there is node located in Ω(u), s can determine by its local knowledge that v is the next
Algorithm 2: Multiple-nodes skipping algorithm (SKIP) for nodes with one-hop neighbor
Information
1. Input: a node s which holds the current traversing message
2. Outout: a list L of nodes that will be traversed from s in the visited order
3. BEGIN
4. u the next visited node of s; x s;
5. for (true)
6. append u at the end of to the list L;
7. V the node found by the process scan( ,s);
8. if((Ω(u) (s))&&( Ω(u) contains no node)) then { x u; u v;} //Lemma 4
9. else break;
10. end if
11. end for
12. END
SKIP may return a list containing infinite number of nodes in a special situation illustrated in fig.
4.13. In the figure, the face is bounded by a node sequence L’=x u w. However, starting at x
and using SKIP, the returned sequence L will repeat L’ infinite number of times. One solution to
avoid an infinite sequence is that the sequence L stops adding a newly found node r when r is in
48
L. However, this solution will lose a chance in which x can skip more nodes. As illustrated in fig.
4.14, a true skipping sequence is x u w u v. If using the preceding solution, x transmits
its message to w, instead of to v.
To avoid infinite sequences and not miss skipped nodes, a skip halting rule is given as
follows. Let L denote the sequence found by SKIP so far, and L=s1 s2 … sk-1. For any
balancing problem. This is because the global DS is fixed and all broadcasts are performed by
the nodes in the DS. These nodes deplete energy much faster than the others. Instead of global
DS, a local DS which varies for different geocasting regions and broadcasting order s of nodes is
constructed.
This local DS construction is performed by each internal node u which overhears a
geocasting MSG. Assume that each node has a unique ID. Once u overhears an MSG with a
geocasting region R and u has not broadcasted the MSG yet, u computes and maintains four
neighbor sets below:
Ntx(u)
the set of UDG neighbors of u which have already transmitted the MSG (the MSG can
be either a VSF traversal message or a broadcasting message with R).
Nrx(u)
the set of UDG neighbors of u such that for υ € Nrx(u), v is an internal node of R
and v has not transmitted the MSG yet.
Next(u)
the set of GG neighbors of u such that v € Next(u), v has no UDG neighbor in
Ntx(uv), evu forms a crossing edge, and v has not transmitted the MSG yet.
Nint(u)
the set of UDG neighbors of u such that for each node v in Nint(u), v is an internal node
of R, v is not in Ntx(u) Nrx(u), and v has not transmitted the MSG yet.
Let ID(x) denote the ID of node x. Then u determines if it broadcasts the MSG or not by
using the following two rules.
Rule 1: if Next(u) Nint(u) is empty, u discards the MSG. Otherwise, u performs Rule 2 as
follows.
Rule 2: for every node v € Next(u) Nint(u), if there exists a node w in Nrx(u) such that ID(w) >
ID(u) and v is a UDG neighbor of w, then u discards the MSG. Otherwise, u belongs to the local
DS and broadcasts the MSG.
Figure 4.18 Illustration of connection between outer and inner VSF pieces. In the figure, the
dashed circle denotes the transmission range of node y.
Nodes in Next(u) Nint(u) as the responsible set instead of Nint(u) is because VSF of a
region R nay consist of several pieces which are connected only via nodes in R. In this case,
message delivery is guaranteed only if we consider Next(u) Nint(u). Fig. 4.17 shows an example
in which VSF piece tvwx is connected via nodes u in R to the outer VSF piece. Since t is in
Next(u), if we only consider Nint(u) without including Next(u), u will not broadcast the MSG (based
on Rule 1), resulting in that t, v,w, and x are not visited and all nodes in the right part of R do not
receive the MSG.
VSFG1 embedded with algorithm 3 is named as VSFG2. In VSFG2, different local DSs
are constructed for different geocasting regions. In addition, different transmitting orders of
nodes result in different local DSs. Hence, VSFG2 does not have the load balancing problem
incurred in global DSs [10].
4.3 Simulation Results for base networks
The first experiment is done by using a routing-level simulator on randomly generated networks.
In each sample network, nodes are randomly distributed in a 20 X 20 area such that the average
degree is g. The value of g is varied to observe the impact of the network density on the number
of transmissions. All nodes have an identical transmission radius of 1 unit. These sample
networks are called base networks. For each , 10 base networks are generated in the simulation.
For each base network, 10W X H rectangular geocasting regions were randomly generated. The
values of W X H are varied to observe the impact of sizes of regions on transmission costs.
Fig. 4.19(a)–(c) shows Cf,Cr and C for geocasting regions with W=3 and H=1.5 . The x
axis denotes the average degree g of networks. The vertical bars in Fig. 41.9(a) correspond to
53
95% confidence interval of the mean value. To make the figure clear, we did not include
confidence intervals in other figures and they are in a small range around the sample mean.
Similarly, Fig. 4.20(a)–(c) shows Cf,Cr and C for regions with with W=5 and H=2.5 . From these
figures, we have the following observations.
First, from Figs. 4.19(a) and 4.20(a), Cf of VSFG1 is identical to that of VSFG2 and is
much smaller than that of RFIFT. The higher the network density is, the higher the reduction
percentage of Cf comparing with RFIFT. It may be noted that in Fig. 4.19(a), Cf in a network
with g=10 is higher than Cf in a network with g=15 for the same algorithm. This is because in
sparse networks, the probability of traversed faces containing the outer boundary of the entire
network is higher, resulting in the high transmission cost.
Second, according to Figs. 4.19(b) and 4.20(b), VSFG1 and RFIFT have identical costs of
restricted flooding. On the other hand, VSFG2 significantly reduces the flooding cost Cr of
RFIFT. From the figures, it can be observed that VSFG2 has almost an identical Cr in networks
with different densities. In RFIFT, Cr is proportional to the densities of networks.
54
Third, according to Figs. 4.19(c) and 4.20(c), VSFG1 reduces the total cost C of RFIFT
by 20%, and VSFG2 reduces the total cost of RFIFT by 30% to 65%.
Fig 4.19 Three costs for base networks with 3 X 1.5 geocasting regions
55
For fixed geocasting regions, when the network density increases, the reduction
percentage of C in VSFG1 remains approximately unchanged comparing with RFIFT. In the same
situations, the reduction percentage of C in VSFG2 increases comparing with RFIFT. This is
because VSFG2 has an identical Cr in networks with different densities. Cr has higher impact on
than for large regions, and has less impact on C than Cf for small regions. When the size of
region increases, the reduction percentage of C in VSFG1 decreases slightly comparing with
RFIFT. In the same situations, the reduction per centage of C in VSFG2 increases. This is because
for large regions, the cost Cr has a higher impact on C.
Fig 4.20 Three costs for base networks with 5 X 2.5 geocasting regions
4.4 Simulation Results for Void Networks
In the second experiment, the performance of void networks are
evaluated. Simulation is performed on a set of sample void networks
generated from the base networks. For each base
56
network, place a number of 1.5 X 1.5 square voids are randomly placed
within the network area, and all the nodes in the voids are removed. The
value of the void number is varied from 15 to 30.
Figs. 4.21-4.24 show the simulation results in void networks. The total
costs of three algorithms are shown since the face traversal cost and the
restricted flooding cost follow the similar distributions shown in Figs. 4.19
and 4.20. From Figs. 4.21-4.24, following observations are made.
Fig 4.21 Costs for void networks with 15 voids and 3 X 1.5 regions
Fig 4.22 Costs for void networks with 30 voids and 3 X 1.5 regions
First, VSFG1 reduces 20% to 25% of the total cost C involved in RFIFT,
VSFG2 and reduces 30% to 65% of in RFIFT. For a fixed R and a fixed void
number, the reduction percentage of C in VSFG1 approximately remains
unchanged with the increase of network densities comparing with RFIFT. In
the same situations, VSFG2 performs slightly better with the increase of
network densities. This result is similar to that obtained in base networks,
and the reason is similar as well.
57
Fig 4.23 Costs for void networks with 15 voids and 5 X 2.5 regions
Fig 4.24 Costs for void networks with 30 voids and 5 X 2.5 regions
4.6.1 NS2
NS or Network Simulator is a discrete event network simulator, meaning that the
sequence is divided to chronological time units and each time unit will hold one or more events
that will be performed.
NS is an open source model implemented mainly in C++ and provides a simulation
interface through O-Tcl/TCL script languages. NS also has plentiful online documentation and
those are the reasons for its wide use in academia.
NS supports several popular network protocols (TCP, UDP, etc.) and enables wired,
wireless and even satellite networks. There are also supported AODV, DSDV, TORA and other
routing protocols.
The main form of working with NS is to build a simulation scenerio in the form of a .tcl
script file and run it with NS.
i) NAM
Nam is a Tcl/TK based animation tool for viewing network simulation traces and real
world packet traces. It is mainly intended as a companion animator to the NS simulator. Using
NAM the user can graphically see the network and data transportation. NAM supports topology
layout, packet level animation and various data inspection tools.
ii) TCL
Tool Command Language is a very powerful and easy to learn scripting language, often
referred to as a programing language. TCL is widely used for scripted applications, GUI
(Tcl/Tk), testing and file processing.
TCL is also used as the API for NS.
4.7 PROPERTY AND PERFORMANCE ANALYSIS
In this section, the guaranteed message delivery for VSFG family is proved, asymptotic
bounds are analyzed, and performance of VSFG family is compared with existing approaches.
Guaranteed message delivery is justified due to three properties below. In the discussions,
it is assumed that a network UDG(v) is connected, and GG(V) is the Gabriel graph.
Property 1
For every node outside a VSF transmitting a message to a node in a geocasting region R
on top of GG(V), the message must pass through at least one VSF node.
Let Ψ = {F1,F2,...,Fk } be the set of faces that intersect R on GG(V), and VΨ be the set of
nodes not in R but on the boundary of Fi for an arbitary i(1≤ i≤k). Let be the node
set in which each node is an end point of a crossing edge of R. Then we have Properties 2 and 3
as follows.
Property 2
Visiting all nodes in and performing re- stricted flooding within R is sufficient to
ensure delivery.
Property 3
Each node in is located on the boundary of the VSF formed by VSFG.
By using the preceding three Properties, Theorem 1 can be obtained immediately as follows.
Theorem 1
VSFG guarantees message delivery.
Property 4
VSFG1 guarantees delivery of the geocasting message to all VSF nodes of the geocasting
region R.
Property 5
VSFG1 ensures delivery of geocasting message to all internal border nodes of the
geocasting region R.
From Properties 4 and 5, Theorem 2 is obtained as follows.
Theorem 2
VSFG1 guarantees message delivery.
4.7.3 Guaranteed Message Delivery in VSFG2
60
The difference of VSFG1 and VSFG2 is that VSFG2 uses DS-based restricted flooding. By
property 4, VSFG1 guarantees to visit all VSF nodes. We prove that DS-based restricted flooding
can deliver messages to all nodes in R as the simple restricted flooding does in Theorem 3 as
follows.
Theorem 3
VSFG2 guarantees message delivery.
4.7.4 Performance Analysis of VSFG
Similar to the existing approaches [10], the total transmission cost of VSFG is
subdivided into three parts associated to the three phases as follows:
i) VSF forwarding
Let be the traversal cost measured by the number of transmissions required to traverse
VSF.
iii) Restricted flooding
geocasting source as the reference point. Hence, the path discovered in VSF is slightly shorter
than that in RFIFT.
In the face traversal phase, referring to the results shown in [18], the total number of
transmissions in this phase is constrained by , where is the number of nodes that are on the
faces intersecting R. From Theorem 4, it is easy to show that n , where n is the total number
of VSF nodes in VSFG (also VSFG1 and VSFG2). Therefore, VSFG reduces the upper bound of
the traversal cost from 3n in RFIFT to 2n.
In the restricted flooding phase, since VSFG2, uses local DS-based restricted flooding, its
cost is much smaller than the cost in RFIFT for dense networks.
CHAPTER 5
CONCLUDING REMARKS
PUBLICATIONS
1. “A GUARANTEED GEOCASTING USING VIRTUAL SURROUNDING APPROACH
IN WIRELESS SENSOR NETWORKS” in the International Conference on Intelligent
Science and Technology at Sun College of Engineering and Technology, Nagercoil on
Mar-2011
2. “A GUARANTEED GEOCASTING USING VIRTUAL SURROUNDING APPROACH
IN WIRELESS SENSOR NETWORKS” in the National Conference on Intelligent
Techniques in Control Optimization and Signal Processing at Kalasilingam University,
Krishnankovil on Apr-2011
64
REFERENCES
1. A. K.Daniel, R.Singh and J.P.Saini “Swarm Intelligence Based Routing Technique for
Heterogenous Mobile Adhoc Network using Link Stability Factors for QoS,” GJCAT,vol.
1, no. 1, pp. 1–10, 2011.
6. H. Frey and I. Stojmenovic, “On delivery guarantees of face and combined greedy-face
routing algorithms in ad hoc and sensor networks,” in Proc. ACM MOBICOM, 2006, pp.
390–401.
9. Jie Lian, Kshirsagar Naik: Skipping technique in face routing for wireless ad hoc and
sensor networks. IJSNET 4(1/2): 92-103 (2008).
65
11. Julio C. Navas and Tomasz Imielinski, “GeoCast – Geographic Addressing and Routing,”
in Proceedings of the 3rd annual ACM/IEEE international conference on Mobile
computing and networking (MobiCom), Budapest, Hungary, 1997, pp. 66–76.
12. J. Carle and D. Simplot-Ryl, “Energy Efficient Area Monitoring by Sensor Networks,”
IEEE Comp., Feb. 2004, pp. 40–47.
13. J.C. Navas and T. Imielinski. Geocast - geographic addressing and routing. In Proc. of
ACM/IEEE MOBICOM, Budapest, Hungary, Sept. 1997.
15. P. Bose, P. Morin, I. Stojmenovic, and J. Urrutia, “Routing with guaranteed delivery in ad
hoc wireless networks,” in Proc. ACM Workshop on Discrete Algorithms and Methods
for Mobile Computing and Communications, 1999, pp. 48–55.
16. P. Bose, P. Morin, I. Stojmenovic, and J. Urrutia, “Routing with guaranteed delivery in ad
hoc wireless networks,” Wireless Networks, vol.7, no. 6, pp. 609–616, 2001.
17. Sherin M. Youssef, A. Baith Mohamed, and Mark A. Mikhail, “An enhanced security
architecture for wireless sensor network” DNCOCO'09 Proceedings of the 8th WSEAS
international conference on Data networks, communications, computers, pp. 216-224
18. T.C. Hou and V. O.K. Li, “Transmission Range Control in Multihop Packet Radio
Networks,” IEEE Trans. Commun., vol. 34, no. 1, Jan. 1986, pp. 38–44.
20. W. H. Liao et al., “Geogrid: A geocasting protocol for mobile ad hoc networks based on
grid,” J. Internet Technol., vol. 1, no. 2, pp. 23–32, 2000.
66
22. Y.B. Ko and N.H. Vaidya, Location-aided routing (LAR) in mobile ad hoc networks, in:
Proc.of ACM/IEEE International Conference on Mobile Computing and Networking
(MobiCom), Dallas, TX (October 1998) pp. 66—75.
24. Yi Zhao, Ung Heo, Peng Qui, Xin Wan, and Jaeho Choi, “An Efficient Tree-Based
Scheme for Geocast Protocol in Heterogeneous Wireless Sensor Network”, in the 6 th
International Conference on Information Technology and Applications, 2009, pp. 228-
233.
APPENDIX
SOURCE CODE
set PI 3.1415926535897
#
=====================================================================
=
# Define Protocol Defaults
#
=====================================================================
=
## VSFG Options
Agent/VSFG set bdesync_ 0.5 ;# beacon desync random component
Agent/VSFG set bexp_ [expr 3*([Agent/VSFG set bint_]+[Agent/VSFG set
bdesync_]*[Agent/VSFG set bint_])] ;# beacon timeout interval
Agent/VSFG set pint_ 1.5 ;# peri probe interval
Agent/VSFG set pdesync_ 0.5 ;# peri probe desync random component
Agent/VSFG set lpexp_ 8.0 ;# peris unused timeout interval
Agent/VSFG set drop_debug_ 1 ;#
Agent/VSFG set peri_proact_ 1 ;# proactively generate peri probes
Agent/VSFG set use_implicit_beacon_ 1 ;# all packets act as beacons; promisc.
Agent/VSFG set use_timed_plnrz_ 0 ;# replanarize periodically
Agent/VSFG set use_congestion_control_ 0
Agent/VSFG set use_reactive_beacon_ 0 ;# only use reactive beaconing
#
=====================================================================
=
# Define NS Object Defaults
#
=====================================================================
=
#
=====================================================================
=
# Define Options
#
=====================================================================
=
set path ./
set val(cp) "cp-n100-c400-15-98.tcl"
set val(sc) "sc-x2000-y2000-n100-s30-t100-MRD"
set val(out) ""
set val(on_off) ""
set val(pingLog) ""
set val(lt) "" ;# MAC load trace file
#
=====================================================================
# User defined Procedures
#
=====================================================================
=
proc usage {} {
global argv0
puts "\nUsage: ns $argv0 -out tracefile\n"
puts " NS Options:"
puts " -nn \[number of nodes\]"
puts " -stop \[simulation duration in secs\]"
puts " -x / -y \[dimension in meters\]"
puts " -adhocRouting \[routing protocol to use\]"
puts " -use_gk \[radius for gridkeeper usage\]"
puts " -zip \[(0/1) should tracefiles be zipped on-the-fly\]"
puts " -cc \[alpha for congestion control ((MAC802_11 only)\]"
puts " -ifqlen \[max packets in interface queue\]"
puts ""
puts " File Options:"
puts " -cp \[traffic pattern\]"
puts " -sc \[scenario file\]"
puts " -on_off \[wake/sleep pattern\]"
puts " -lt \[load trace file (MAC802_11 only)\]"
puts " -pingLog \[log file for ping statistics (Ping Traffic only)\]"
puts ""
puts " MAC Options:"
puts " -rr \[radio range in meters\]"
puts " -bw \[link/dataRate bandwidth in bits/sec\]"
puts " -bs \[basicRate bandwidth in bits/sec\]"
puts ""
puts " VSFG Options:"
puts " -bint \[beacon interval (and beacon expiry)\]"
puts " -use_planar \[(0/1) planarize graph\]"
puts " -use_peri \[(0/1) use perimeter mode\]"
puts " -use_mac \[(0/1) use mac callback\]"
puts " -verbose \[(0/1) be verbose\]"
puts " -use_beacon \[(0/1) use beacons at all (disable beacons with 0)\]"
puts " -use_reactive \[(0/1) use reactive beaconing\]"
puts " -locs \[locservice to use (0-Omni/1-RLS/2-GLS/3-HLS)\]"
puts " -use_loop \[(0/1) use loop detection\]"
puts ""
puts " -ed \[topology file (edges)\]"
puts " -ve \[topology file (verteces)\]"
puts ""
}
proc printparams {} {
global val
puts "\nParameterset:"
puts "Tracefile: \"$val(out)\""
puts "Protocol: $val(adhocRouting) nn: $val(nn) stop: $val(stop) x: $val(x) y: $val(y)"
puts "Radio Range: $val(rr)"
if { ($val(adhocRouting) == "VSFG") } {
if { $val(locs) == "0" } {
puts "$val(adhocRouting)/OMNI: Omnipotent GeoCasting Service selected."
} elseif { $val(locs) == "1" } {
puts "$val(adhocRouting)/RLS: Reactive GeoCasting Service selected."
} elseif { $val(locs) == "2" } {
puts "$val(adhocRouting)/GLS: Grid GeoCasting Service selected."
} elseif { $val(locs) == "3" } {
puts "$val(adhocRouting)/HLS: Cell GeoCasting Service selected."
} else {
puts "$val(adhocRouting)/UKN: Unknown GeoCasting Service. Defaulting to
Omnipotent GeoCasting Service."
}
}
if { $val(cc) != "" } {
puts "Using congestion control with alpha = $val(cc) ..."
}
puts ""
}
proc create_gridkeeper {} {
global gkeeper val node_
#
=====================================================================
# Main Program
#
=====================================================================
=
getopt $argc $argv
if { $val(adhocRouting) == "VSFG" } {
Agent/VSFG set locservice_type_ $val(locs)
}
# seeding RNG
ns-random $val(seed)
# create channel
set chanl [new $val(chan)]
# Create God
set god_ [create-god $val(nn)]
#
# Create the specified number of nodes [$val(nn)] and "attach" them
# to the channel.
for {set i 0} {$i < $val(nn) } {incr i} {
set node_($i) [$ns_ node]
$node_($i) random-motion 0 ;# disable random motion
if { $val(mac) == "Mac/802_11" } {
# bind MAC load trace file
[$node_($i) set mac_(0)] load-trace $loadTrace
}
#
# Define node movement model
#
puts "Loading scenario file ($val(sc))..."
if {$val(sc) == ""} {
puts " no scenario file specified"
exit
} else {
source $val(sc)
}
#
# Define traffic model
#
puts "Loading connection pattern ($val(cp))..."
if {$val(cp) == ""} {
puts " no connection pattern specified"
} else {
source $val(cp)
}
#
# Define inactive pattern
#
puts "Loading inactive pattern ($val(on_off))..."
if { $val(on_off) == "" } {
puts " no inactive pattern specified"
} else {
source $val(on_off)
}
#
# Tell nodes when the simulation ends
#
for {set i 0} {$i < $val(nn) } {incr i} {
$ns_ at $val(stop).0 "$node_($i) reset";
}
# Print Parameterset
printparams
# start GridKeeper
if { $val(use_gk) > 0 } {
create_gridkeeper
}