Greedy Routing With Anti-Void Traversal For Wireless Sensor Networks
Abstract:
The unreachability problem (i.e., the so-called void problem) that exists in
the greedy routing algorithms has been studied for the wireless sensor
networks. Some of the current research work cannot fully resolve the void
problem, while there exist other schemes that can guarantee the delivery of
packets with the excessive consumption of control overheads.
Moreover, the hop count reduction (HCR) scheme is utilized as a short-
cutting technique to reduce the routing hops by listening to the neighbor’s
traffic, while the intersection navigation (IN) mechanism is proposed to
obtain the best rolling direction for boundary traversal with the adoption of
shortest path criterion.
In order to maintain the network requirement of the proposed RUT scheme
under the non-UDG networks, the partial UDG construction (PUC)
mechanism is proposed to transform the non-UDG into UDG setting for a
portion of nodes that facilitate boundary traversal. These three schemes are
incorporated within the GAR protocol to further enhance the routing
performance with reduced communication overhead. The proofs of
correctness for the GAR scheme are also given in this paper.
INTRODUCTION
The greedy routing algorithm has been studied for the unreachability problem (i.e void problem) in the wireless sensor networks. Some of the current research work cannot fully resolve the void problem, while there exist other schemes that can guarantee the delivery of packets with the excessive consumption of control overheads. In this project, a greedy anti void routing (GAR) protocol is proposed to solve the void problem with increased routing efficiency by exploiting the boundary finding technique for the unit disk graph (UDG).
The proposed rolling-ball UDG boundary traversal (RUT) is employed to completely guarantee the delivery of packets from the source to the destination node under the UDG network. The boundary map (BM) and the indirect map searching (IMS) scheme are proposed as efficient algorithms for the realization of the RUT technique. Moreover, the hop count reduction (HCR) scheme is utilized as a short-cutting technique to reduce the routing hops by listening to the neighbor’s traffic, while the intersection navigation (IN) mechanism is proposed to obtain the best rolling direction for boundary traversal with the adoption of shortest path criterion. In order to maintain the network requirement of the proposed RUT scheme under the non-UDG networks, the partial UDG construction (PUC) mechanism is proposed to transform the non-UDG into UDG setting for a portion of nodes that facilitate boundary traversal.
These three schemes are incorporated within the GAR protocol to further enhance the routing performance with reduced communication overhead. The proofs of correctness for the GAR scheme are also given in this project. Comparing with the existing localized routing algorithms, the simulation results show that the proposed GAR-based protocols can provide better routing efficiency.
Existing System:
As mobile computing requires more computation as well as communication activities, energy efficiency becomes the most critical issue for battery-operated mobile devices. Specifically, in ad hoc networks where each node is responsible for forwarding neighbor nodes' data packets, care has to be taken not only to reduce the overall energy consumption of all relevant nodes but also to balance individual battery levels. Unbalanced energy usage will result in earlier node failure in overloaded nodes, and in turn may lead to network partitioning and reduced network lifetime. Localized routing algorithms which achieves a trade-off between balanced energy consumption and shortest routing delay, and at the same time avoids the blocking and route cache problems.
Proposed System:
In this project, a greedy anti-void routing (GAR) protocol is proposed to solve the void problem with increased routing efficiency by exploiting the boundary finding technique for the unit disk graph (UDG). The proposed rolling-ball UDG boundary traversal (RUT) is employed to completely guarantee the delivery of packets from the source to the destination node under the UDG network. The boundary map (BM) and the indirect map searching (IMS) scheme are proposed as efficient algorithms for the realization of the RUT technique.
System Specification:
Hardware Requirements:
System : Pentium IV 2.4 GHz.Hard Disk : 40 GB.Floppy Drive : 1.44 Mb.Monitor : 15 VGA Colour.Mouse : Logitech.Ram : 256 Mb.
Software Requirements:
Operating System : Windows XP.Front End : Asp .Net 2.0.Coding Language : Visual C# .Net.Back End : SQL Server 2000.
Modules:
1. Networking Module.
2. Boundary evaluation Module.
3. Greed Anti-void Traversal module.
4. Partial UDG Construction (PUC) Mechanism
5. Performance evaluation module.
Module Description:
1. Networking Module.
Client-server computing or networking is a distributed application
architecture that partitions tasks or workloads between service providers
(servers) and service requesters, called clients. Often clients and servers
operate over a computer network on separate hardware. A server machine
is a high-performance host that is running one or more server programs
which share its resources with clients. A client also shares any of its
resources; Clients therefore initiate communication sessions with servers
which await (listen to) incoming requests.
DFD:
2. Boundary evaluation Module:
The RUT scheme is adopted to solve the boundary finding problem, and the
combination of the GF and the RUT scheme (i.e., the GAR protocol) can
resolve the void problem, leading to the guaranteed packet delivery. The
definition of boundary and the problem statement are described as follows:
Definition 1 (boundary). If there exists a set B such that 1) the nodes in B
form a simple unidirectional ring and 2) the nodes located on and inside the
ring are disconnected with those outside of the ring, B is denoted as the
boundary set and the unidirectional ring is called a boundary.
N
N
N
NN
N
N
N
destination
Source
DFD:
3. Greed Anti-void Traversal module.
The objective of the GAR protocol is to resolve the void problem such that
the packet delivery from NS to ND can be guaranteed. Before diving into the
detail formulation of the proposed GAR algorithm, an introductory example
is described in order to facilitate the understanding of the GAR protocol, the
data packets initiated from the source node NS to the destination node ND
will arrive in NV based on the GF algorithm. The void problem occurs as
NV receives the packets, which leads to the adoption of the RUT scheme as
the forwarding strategy of the GAR protocol. A circle is formed by centering
at SV with its radius being equal to half of the transmission range R/2.
DFD:
N
N
N
N
N
N
N
N
N
N
N
N
N
N
Destination
Failed Path
N - Nodes
Source
4. Partial UDG Construction (PUC) Mechanism:
The PUC mechanism is targeted to
recover the UDG linkage of the boundary node Ni within a non-UDG
network. The boundary nodes within the proposed GAR protocol are defined
as the SNs that are utilized to handle the packet delivery after encountering
the void problem .Therefore, conducting the PUC mechanism only by the
boundary nodes can conserve network resources than most. The PUC
mechanism of the existing flooding-based schemes that require information
from all the network nodes.
5. Performance evaluation module
The performance of the proposed GAR algorithm is evaluated and compared
with other existing localized schemes via simulations, including the
reference GF algorithm, the planar graph-based GPSR and GOAFR++
schemes, and the UDG-based BOUNDHOLE algorithm. It is noted that the
GPSR and GOAFR++ schemes that adopt the GG planarization technique to
planarize the network graph are represented as the GPSR(GG) and GOAFR+
+(GG) algorithms, while the variants of these two schemes with the CLDP
planarization algorithm are denoted as the GPSR(CLDP) and GOAFR++
(CLDP) protocols.
Work Done:
We have completed first two modules of the project that is
Networking Module and Boundary evaluation Module.
Work to be done:
We have to do remaining modules of the project which we
mentioned above in the modules list these work occupies 75% of our project
Algorithm:
Step1: The algorithm begins by assigning tracks to left
Step2: The greedy routers are about to examine makes
one pass over the channel the left to the right
Step3: Contact the nearby nodes
Step4: If path fail means dynamically search for
another available node (By PUC Mechanism)
Step5: The algorithm next locates new link (i.e. choosing
another path)
Step6: Reaching Destination
System Architecture:
Data Flow Diagram:
Data sent from source (Node 1) to destination (Node 5)
Source node
Node 1 Node 2 Destination node
N1
N4 N5
N3N2
UML Diagrams:
Usecase Diagram:
Select the receiving path
Packets sent from source
Router selects the destination path
Packet traversal using greedy routing
Reaching the destination node without loss
Source Destination
ActivityDiagram:
Packets received
Path Selection
Packets from source
Greedy routing efficiency stimastio
Destination Node
Selection
Neighbor Node
Traversal
Router Checks
the available
nodes
Select the receiving path
Sending packets from source node
Packets traverse through nearest available node
Node availability?
Reaches the Destination node
No
Yes
Sequence Diagram:
Construct Network
Select the receiving path
Choosing Destination path
Sending Packets
Routing Estimation
Nearest available node
Selects Path
Select File
Sends packet
Sends packets after checking nodes
Calculates the Packets efficiency
Sample Code: using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using System.Data.SqlClient;using System.Net.Sockets;using System.Net;using System.IO;
namespace MC704{ public partial class Routers : Form { public Routers() { InitializeComponent(); }
double stime; double etime; double extime; bool seed; byte[] dest; int tt = 0; int er = 0;
string t1, t2, t3, t4, t5, t6, ts, path; private void Routers_Load(object sender, EventArgs e) { backgroundWorker1.RunWorkerAsync();
}
public void send(byte[] des) { try { IPAddress[] ipAddress = Dns.GetHostAddresses("127.0.0.1"); IPEndPoint ipEnd = new IPEndPoint(ipAddress[0], 5656); Socket clientSock = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.IP);
clientSock.Connect(ipEnd);
//clientSock.Send(ReceiverCode.send ); clientSock.Send(des); lblpack.Text = Convert.ToString(des.Length / 1000); lbldelay.Text = Convert.ToString(extime) + " Milliseconds."; lblpath.Text = path.ToString(); label9.Text = des.Length.ToString(); clientSock.Close();
}
catch (Exception ex) { if (ex.Message == "A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond") {
MessageBox.Show("No Such System Available Try other IP"); } else { if (ex.Message == "No connection could be made because the target machine actively refused it") { MessageBox.Show("File Sending fail. Because server not running."); } else { MessageBox.Show("File Sending fail." + ex.Message); } } } } Random random = new Random(); private int RandomNumber() {
return random.Next(100, 200); } private void transmiter() { byte[] ar1 = new byte[ReceiverCode.rlength]; byte[] ar2 = new byte[ReceiverCode.rlength]; byte[] ar3 = new byte[ReceiverCode.rlength]; byte[] ar4 = new byte[ReceiverCode.rlength]; byte[] ar5 = new byte[ReceiverCode.rlength]; byte[] ar6 = new byte[ReceiverCode.rlength]; byte[] ars = new byte[ReceiverCode.rlength];
if (Node1.Checked == true) {
stime = Convert.ToDouble(DateTime.Now.Millisecond); ps.Image = MC704.Properties.Resources.wgreen1; Application.DoEvents(); System.Threading.Thread.Sleep(1000); Array.Copy(ReceiverCode.send, ars, ReceiverCode.rlength); ts = Convert.ToString(ars.Length + "(Bits)");
p1.Image = MC704.Properties.Resources.wgreen1; Application.DoEvents(); System.Threading.Thread.Sleep(1000); etime = Convert.ToDouble(DateTime.Now.Millisecond); extime = stime - etime / 1000; Array.Copy(ars, ar1, ars.Length); t1 = Convert.ToString(ar1.Length + "(Bits)"); path = "Source,Destination."; send(ar1);
} else if (Node2.Checked == true) {
stime = Convert.ToDouble(DateTime.Now.Millisecond); ps.Image = MC704.Properties.Resources.wgreen1; Application.DoEvents(); System.Threading.Thread.Sleep(1000); Array.Copy(ReceiverCode.send, ars, ReceiverCode.rlength); ts = Convert.ToString(ars.Length + "(Bits)"); //int num = random.Next(2); if (r6.Checked == false) { p6.Image = MC704.Properties.Resources.wgreen1; Application.DoEvents(); System.Threading.Thread.Sleep(1000); Array.Copy(ars, ar6, ars.Length); t6 = Convert.ToString(ar6.Length + "(Bits)");
p2.Image = MC704.Properties.Resources.wgreen1; Application.DoEvents(); System.Threading.Thread.Sleep(1000); Array.Copy(ar6, ar2, ar6.Length); t2 = Convert.ToString(ar2.Length + "(Bits)"); path = "source,GR6,Destination."; etime = Convert.ToDouble(DateTime.Now.Millisecond); extime = stime - etime / 1000;
send(ar2);
}
Screenshots: Client has to select the receiving path:
Router transfers the packets from client to server:
Select the destination node:
Packets are sent from Source node to the destination node:
Packets have been sent without any loss:
Application: Because of the low energy consumption and less amount of packet loss greed routing algorithm is used for the transfer of packets. Main advantage of greedy routing algorithm is effective routing when compare to other algorithms.
Future Enhance:
Conclusion:
In this paper, a UDG-based GAR protocol is proposed to resolve the void problem incurred by the conventional GF algorithm. The RUT scheme is adopted within the GAR protocol to solve the boundary finding problem, which results in guaranteed delivery of data packets under the UDG networks. The BM and the IMS are also proposed to conquer the computational problem of the rolling mechanism in the RUT scheme, forming the direct mappingsbetween the input/output nodes. The proposed GAR algorithms can guarantee the delivery of data packets under the UDG network.
References:
1. D. Estrin, R. Govindan, J. Heidemann, and S. Kumar, “Next Century Challenges: Scalable Coordination in Sensor networks,”
Proc. ACM MobiCom, pp. 263-270, Aug. 1999.
2. G.G. Finn, “Routing and Addressing Problems in LargeMetropolitan-Scale Internetworks,” Technical Report ISI/RR-87-180, Information Sciences Inst., Mar. 1987.
3. B. Karp and H.T. Kung, “GPSR: Greedy Perimeter StatelessRouting for Wireless Networks,” Proc. ACM MobiCom, pp. 243-254, Aug. 2000