Professional Documents
Culture Documents
battery and lamp; and LEDs luminosity level), control layer level.
(switch the luminosity level lamp on or off; switch on/off a In contrast to reactive algorithms, there are proactive
lamp post, a selected segment, a street, neighbourhood, city, algorithms, such as DSDV (Dynamic Destination Sequenced
etc; automatic programmed actions and freedom to actuate Distance-Vector) [14] and OLSR (Optimized Link State
the devices through a remote tool) and diagnostic and Routing) [15]. Instead of building optimized routes only
alarms (trigger an event when a network, hardware or lamp when they are necessary, proactive algorithms keep a matrix
failure occurs). of connections always updated, which reflects the current
During each device’s initialization, a GPS set attributes the network status and channels available for data transfer.
geographic coordinates of their positions. From the computational and electric power consumption
The user would be able to select a specific area on the map point of view, these algorithms are too costly, especially
besides the previously programmed area (for example, when providing mobility or when a fail occurs.
selecting a segment from a street) to actuate (switch the Geographic routing algorithms use the geographic location
lights on or off). Figure 1 shows the area selected by the user of the devices as a reference, and the location can be
through the system supervision and control tool. obtained from a GPS. The great advantage for this type of
routing is that routing tables are not necessary because the
devices decide where to forward the package according to
the smallest Euclidean distance of the destination
coordinate, for example.
Since those algorithms were designed for mobile devices,
one of the steps for this type of routing is transmitting
“hello” messages to all neighbouring devices (in radio
range), that periodically send packages with the
identification (such as the network address) of the device
and its position. So, the devices store the location of their
neighbours. They apply the greedy routing [16] by
transmitting a message to their neighbours that are
relatively closer in distance to the final destination. For any
variation of the greedy algorithm, it is important to define a
discard criterion to prevent the message from being
Figure 1. System Supervision and Control Screen transmitted uninterruptedly over the network in case the
specified destination is not located. However, in cases where
Mechanisms to automatize input information process in the it is necessary to find a balance between performance and
public lighting system must be applied, in order to become guarantee of delivery, the discard criterion must be defined
the process simplest and fast. Such mechanisms are not in
even if there is a path to the final addressee.
the scope of this paper.
To assure package delivery, greedy algorithms are
frequently used combined with recovering strategies,
4. Correlated works of routing algorithms for providing two operation modes. Such strategies are used
WSN when a package is discarded in “pure” greedy mode, in case
This section intends to review researches found in the there is an obstacle or a non-operating network device, for
literature related to routing algorithms for WSN in general, example.
independent of the application. The most prominent recovering strategy uses planar graphs.
Routing algorithms for mesh-based networks, such as Basically, the idea is to draw the network as a unique graph
AODV (Ad-Hoc On Demand Distance Vector) [12], DSR on a plane and forward the message in the direction of the
(Dynamic Source Routing) [13], and DREAM (Distance adjacent faces, which consequently forward the package to
Routing Effect Algorithm for Mobility) [13] were developed the final destination. Those strategies are extensively
to provide mobility. These algorithms are reactive, that is, studied, as in GFG (Greedy-Face-Greedy) [17], GPVFR
routes are determined by flooding through nodes searching (Greedy Path Vector Face Routing) [18], GPSR (Greedy
the addressee node when a flow of information (triggered by Perimeter Stateless Routing) [19] and GOAFR++ (Greedy
the upper layer) occurs. When the route is determined, it is Other Adaptive Face Routing plus plus) [20].
stored in the memory of the participant nodes. This In the GPSR algorithm, the recovering strategy is named
mechanism causes high energy costs, performance costs and perimeter mode and uses the right hand rule to direct the
guarantee of delivery costs. Besides, devices would have to flow of network packages through the devices. In case the
keep large routing tables in dense networks, which would be distance from the device to the destination is smaller than
impossible considering that such devices have low memory the distance to its neighbours, the algorithm returns to the
available. It is also interesting to keep the minimum possible greedy mode.
overhead in the network package, because it is limited at The term unicast means a point-to-point connection where
127 Kb by the IEEE 802.15.4 specification on the data link data is sent from a sender to a receiver. The most
(IJCNS) International Journal of Computer and Network Security, 67
Vol. 2, No. 4, April 2010
appropriate type of routing in our context, however, is the messages are responsible to forward the packages; and,
so-called geocast, that also requires the devices to know finally, consultation messages are responsible to obtain the
their geographic positions via GPS. The algorithms deliver location of the addressees from one or more location
network messages to the devices in a specific geographic databases for a certain unique device’s identification (for
area, delivering a message from one device to many devices. example, the network address). Once the scenario does not
There are several routing algorithms developed for that have mobility, consultation messages and location servers
purpose, some based on flooding messages, directed can be removed. Such functionality was implemented
flooding messages, and without flooding. Flooding messages through “hello” messages that send the unique identification
and the location. Besides, the supervision and control
algorithms find the path to the destination area the same
software requires the location of all devices on the network.
way AODV does. The first package arriving at the
Thus, the package would be sent by the system with the
destination area broadcasts to all nodes in the area. On the geographic coordinate of the destination, instead of having
other hand, directed flooding messages algorithms define only the network address and requiring the current device to
two types of areas, the destination and the routing area. An obtain its location through the location server.
example of directed flooding is the LBM (Location Based The difference between GGPSR and GGPSRII consists only
Multicast) algorithm [21] that is executed as follows: the in the trigger condition of “hello” messages. In GGPSR, the
routing area is defined as an area in the direction of the trigger is invocated according to a pre-determinated
destination area, and packages forwarded outside these two frequency (period). On the other hand, in GGPSRII, the
areas are discarded. trigger is invocated if only the data message does not reach
the destination (geocast region).Thus, it is necessary to
5. Proposed Routing Algorithms implement a confirmation message to inform the data
message forwarding failure. Table II show the GGPSRII
The algorithms proposed in this study, without flooding, are simplified pseudo-algorithm.
named GGPSR (Geocast Greedy Perimeter Stateless Routing
Protocol) and GGPSR II (Geocast Greedy Perimeter Table 1: GGPSR simplified pseudo-algorithm
Stateless Routing Protocol II). They consist of two parts: // Initialization
modified GPSR to find the destination area and geocast to For all devices
Send_Broadcast_Hello_Neighbors ();
broadcast the message to all addressee devices.
Instead of using the specific coordinate of a device as the Start Hello_Timer (period);
destination, the central point of the destination area is If Hello_Timer_Expire
calculated. The package is then forwarded to this point and, Send_Broadcast_Hello_Neighbors ();
when it gets to the destination area, the first device //Send
receiving the message broadcasts it to all devices in the area. If (Packet.Destination_Position != myPosition &&
myPosition = = UNICAST)
As soon as a device receives the broadcasted message, the ModifiedGPSR_Forward (Packet);
device checks if it has already received this message, Else If (Packet.Destination_Position = = myPosition
&& myPosition = = GEOCAST){
checking a sequential number and therefore avoiding If (Packet.seqN_ < ReceivedSeqNo){
Broadcast_Neighborhood_Geocast_Region(Packet);
unnecessary retransmissions. In case the device has not }
received the message yet but it is in the destination area, the }
device receives and rebroadcasts the message to the network. //Receive
Table I shows the pseudo-algorithm GGPSR in a simplified If (Packet.Destination_Position = = myPosition &&
myPosition = = UNICAST)
way. ModifiedGPSR_Receive (Packet);
Considering the GPSR part of the proposed algorithm Else If (Packet.Destination_Position = = myPosition
&& myPosition = = GEOCAST){
GGPSR (only), this work suggests some modifications for If (Packet.seqNo¬ _ < ReceivedSeqNo){
lighting systems applications. The first modification is ModifiedGPSR_Receive (Packet);
}
related to the “hello” messages. For the discussed }
application, devices are fixed. Initially, it was assumed that
only one “hello” message when the device is initialized Regarding the destination area, it can have the shape of a
would be enough. However, it is interesting to keep this four-vertex polygon, circle and point (in this last case, the
functionality but with a periodicity much longer than what it communication is unicast).
is used in mobile devices. The reason to still keep this The geographic position is represented through geodesic
periodicity is that the device can simply stop operating coordinates (latitude and longitude). Each coordinate is
because of a permanent or temporary failure caused by an allocated as floating types, which in language C has 4 bytes
obstruction. Information about the neighbors from the and precision of seven decimal places. In relation to the
devices can affect the network reliability because each value ranges, this size is more than enough: the field
device is also a message router. "hours" of the latitude coordinate varies between -180 and
The second modification is related to storing geographic 180, whereas longitude varies between -90 and 90.
positions for the neighbors (applied to GGPSR and Table III shows the header struct in C language of the
GGPSRII). Originally, GPSR has three types of messages: packet types, including “hello” messages (hdr_gpsr_hello),
“hello” messages, consultation to destination locations and and data messages (hdr_gpsr_data) of the proposed protocol.
data messages [19]. “Hello” messages are responsible to
inform the new device’s location to its neighbors; data
68 (IJCNS) International Journal of Computer and Network Security,
Vol. 2, No. 4, April 2010
Related to the “hello” packet, the field “type_” refers to the Table 4: Configurations for simulation
packet type (whether it is “hello” or data packet). The field Network Interface Phy/WirelessPhy/802_15_4
“x_” and “y_” are the source device geodesic coordinates. MAC Mac/802_15_4
The field “seqNo” is used to control the receiving and IFQ Queue/DropTail/PriQueue
rebroadcast actions, i. e., a device must have to broadcast Link Layer LL
just a once “hello” messages to its neighbours. Antena Antenna/OmniAntenna
Dimension X 170
Related to the data packet, the fields “sx_” and “sy_” are
Dimension Y 270
the source device geodesic coordinates. The field “ts_” is the
IFQLEN 50
timestamp, used for calculate latency. The fields
Propagation Propagation/TwoRayGround
“sx_GF_Failed” and “sy_GF_Failed_” correspond to the Phy/WirelessPhy Pt_ 7.214e-3 (100m)
coordinates where the greedy mode have failed, that are Number of Devices 100
used for the packet whether it can be return to that mode in Duration 1000 simulation time
case it is in the perimeter mode. The field “seqNo” is used Transmission Power 0.3 mW
for control the receiving and rebroadcast actions on the Reception Power 0.28 mW
geocast region. The rest of variables are the polygon Initial Energy 1 Joule
coordinates’. Packet size (less 64 bytes
header)
Table 3: GGPSR and GGPSRII header packets Flow CBR (Constant Bit Rate)
struct hdr_gpsr_hello {
u_int8_t type_;
float x_; Simulation foresees the basic operation situation: network
float y_; traffic is requested every twelve hours (assuming that the
int seqNo_;
}; unit of simulation is in hours), that is, switch the lights on
struct hdr_gpsr_data { and off for a street segment, for example.
u_int8_t type_;
u_int8_t mode_; GPSR and GGPSR “Hello” messages periodicity were
float sx_;
float sy_; configured to 12 hours, that is the time to send data.
float ts_; It is important to emphasize that in case of unicast
float sx_GF_Failed_;
float sy_GF_Failed_; algorithms, ten messages are sent from device 98 to all
float dst_x1; devices in the “last line”, as mentioned before. In case of
float dst_y1;
float dst_x2; geocast algorithms, only one message is sent to all
float dst_y2; addressees.
float dst_x3;
float dst_y3; Figure 3 shows a comparison of the electric power of all
float dst_x4; devices in the network summed during the time interval. It
float dst_y4;
int seqNo_; was verified that the AODV protocol is the least efficient,
}; and GGPSRII is the most efficient. It can be concluded that
the use of ZigBee protocol is strongly not recommended.
(IJCNS) International Journal of Computer and Network Security, 69
Vol. 2, No. 4, April 2010
Acknowledgment
The authors gratefully acknowledge the academic support
and research structure from the Engineering School of São
Carlos - University of São Paulo. The authors also
acknowledge the important technical contributions from
Smar International Corporation and the Prof. Tracy Camp
Figure 4. Delivery rate for helping in provide an implementation of LBM
algorithm, which was very helpful for an implementation of
the LBM implementation of this work.
70 (IJCNS) International Journal of Computer and Network Security,
Vol. 2, No. 4, April 2010