Recent Trends in Wireless and Mobile Networks
Recent Trends in Wireless and Mobile Networks
Recent Trends in Wireless and Mobile Networks
13
Volume Editors
Abdulkadir Özcan
Girne American University
Girne, TRNC, Turkey
E-mail: [email protected]
Jan Zizka
Mendel University
Brno, Czech Republic
E-mail: [email protected]
Dhinaharan Nagamalai
Wireilla Net Solutions PTY Ltd
Melbourne, VIC, Australia
E-mail: [email protected]
Abdulkadir Özcan
Jan Zizka
Dhinaharan Nagamalai
Organization
General Chairs
Sevki Erdogan University of Hawaii, USA
Michael R. Peterson University of Hawaii, USA
Natarajan Meghanathan Jackson State University, USA
General Co-chairs
Raja Kumar, M. Universiti Sains Malaysia, Malaysia
Abdulkadhir Ozcan The American University, North Cyprus,
Turkey
Steering Committee
Selma Boumerdassi CNAM/Cedric, France
Chih-Lin Hu National Central University, Taiwan
Dhinaharan Nagamalai Wireilla Net Solutions PTY LTD, Australia
Krzysztof Walkowiak Wroclaw University of Technology, Poland
Atilla Elci Eastern Mediterranean University (TRNC),
North Cyprus
Aysegul Alaybeyoglu Celal Bayar Universitesi, Turkey
Muhammed Salamah Eastern Mediterranean University, KKTC,
Turkey
Jan Zizka Mendel University, Brno, Czech Republic
General Chairs
Jan Zizka SoNet/DI, FBE, Mendel University in Brno,
Czech Republic
Khoa N. Le University of Western Sydney, Australia
Selma Boumerdassi Conservatoire National des Arts et Metiers
(CNAM), France
Steering Committee
Natarajan Meghanathan Jackson State University, USA
Jacques Demerjian CS (Communication & Systems), France
Nabendu Chaki University of Calcutta, India
Henrique João Lopes Domingos University of Lisbon, Portugal
Organized By
Abstract. Designing mobility and power aware routing protocols have made
the main focus of the early contributions to the field of Mobile Ad-hoc
NETworks (MANETs). However, almost all conventional routing protocols for
MANETs suffer from their lack of adaptivity leading to their performance
degradation under varying network conditions. In fact, this is due to both
simplistic conception hypotheses they made about the network and to the use of
some prefixed parameters in protocols implementations. Currently, artificial
intelligence methods like Reinforcement Learning (RL) are widely used to
design adaptive routing strategies for MANETs. In this paper, we present a
comprehensive survey of RL-based routing protocols for MANETs. Besides,
we propose some future research directions in this area.
1 Introduction
A. Özcan, J. Zizka, and D. Nagamalai (Eds.): WiMo/CoNeCo 2011, CCIS 162, pp. 1–13, 2011.
© Springer-Verlag Berlin Heidelberg 2011
2 S. Chettibi and S. Chikhi
2 Reinforcement Learning
As defined in [1], any algorithm that can solve a reinforcement learning problem
either defined by a MDP or a POMDP is an RL algorithm. RL algorithms may vary
according to multiple dimensions [1]:
Bootstrapping Vs Sampling. We say that a RL method bootstraps if it updates
estimates of the values of states are based on estimates of the values of successor
states. In Contrast, a RL method that relies on sampling learns value functions from
experiences having the form of sample sequences of states, actions, and rewards from
on-line or simulated interaction with an environment.
Model-based Vs Model-free RL algorithms. In RL, a model consists of knowledge
of the state transition probability and the reinforcement functions. RL model-free
methods learn a policy without learning a model, whereas a model-based method
learns a model and use it to derive a policy.
Greedy Vs ε -greedy and Soft-max action-selection rules. A very intuitive way to
achieve a maximum return is to always choose the action with the highest expected
reward. We call this a greedy action-selection rule. However, this rule limits agent
exploration of new appearing optimal actions. In effect, the most important issue in all
RL methods is how to balance exploration and exploitation. To do so, ε -greedy and
Soft-max rules are generally used .An ε-greedy rule selects the best action most of the
time, and selects uniformly with a small probability,ε, an action at random. In a soft-
max rule, the highest selection probability is attributed to the best action whereas all
the others are ordered in function of their estimated values. A frequently used soft-
max rule is the Boltzmann rule that chooses action at time step with
/ ⁄∑ /
probability:e e , where is a positive parameter called the
temperature. A high temperature value implies that all actions will have
approximately the same selection-probability whereas a low temperature involves a
more significant difference in actions selection probabilities.
Off-policy Vs On-policy RL algorithms. In an off-policy RL algorithm, the learning
agent follows a different policy called “behavior policy” than the one it is actually
learning about called “estimation policy”. This is in contrast to an on-policy method
that attempts to evaluate and improve the policy that is actually used to make
decisions.
Phylogenetic Vs Ontogenetic RL algorithms. A classification proposed in [2]
divides RL methods into Phylogenetic and Ontogenetic algorithms. In Phylogenetic
methods, the RL problem is seen as a black box optimization problem with the
specific goal of optimizing a policy for maximal accumulated reward. Intuitively, any
optimization method can be applied. Ontogenetic algorithms are based on a mapping
between states or states-actions pairs to their corresponding expected rewards. Then, a
policy is defined according to the obtained sate-value or action-value functions.
2.2 RL Algorithms
In what follows, we only focalize on algorithms that are directly related to the
RL-based routing protocols described in this paper.
4 S. Chettibi and S. Chikhi
, ,
, , , ,
Monte Carlo methods. MC methods [1] are model-free RL resolution methods based
on averaging sample returns. To ensure that well-defined returns are available, MC
methods are defined only for episodic tasks. It is only upon the completion of an
episode that action-value functions, Q(s,a), and policies are changed. We distinguish
two families of MC methods namely: the every-visit and the first-visit MC methods.
The former estimates the value of a state-action pair as the average of all returns that
have followed visits to the state in which the action was selected, whereas the latter
averages only returns following the first time in each episode that the state was visited
and the action was selected. In addition, we can find two incarnations of MC methods,
namely, on-policy and off-policy MC. The first visit ε-greedy on-policy version is
depicted in Fig. 2.
, , : , ; , ;
,
, ; ,
, ,
: ,
1 | |
For all , ,
| |
, , ́| , . ́| , ́ (1)
́
When a node receives a packet for destination , it sends the packet to the neighbor
with the lowest estimated delivery time , .To take care of nodes mobility,
1
In a mobilized ad-hoc network, nodes have control on their own movements.
A Survey of Reinforcement Learning Based Routing Protocols 7
maximizing the chance of finding feasible paths. But if multiple feasible paths are
discovered, then destination node chooses the least cost path. Once the discovery
process completed, destination node returns an acknowledgment message including
the new end-to-end delay and its variation. By receiving this message, the source node
updates the corresponding entry in its information table.
The simulation results have shown that the TBP scheme based on the ONMC
method achieves 22.1–58.4% reduction in the average number of search messages in
comparison to the flooding-based TBP scheme with a diminution of 0.5–1.7% in
success ratio. In addition, the ONMC scheme can reach 13–24.3% higher success
ratio than the original TBP scheme but with higher average message overhead.
However, as the maximum number of allowable tickets is reduced to a level in which
the average message overhead of the ONMC and the original TBP schemes are of the
same scale, the ONMC scheme still marks 28% higher success ratio and 7% lower
average path cost over the original TBP scheme.
For secure routing, reputation schemes are widely used to identify and avoid
malicious nodes. The reputation of a node is function of the number of data packets
that have been successfully relayed by that node. Indeed, almost all proposed
reputation schemes rely on a fixed-minimum acceptable reputation threshold in the
forwarding-nodes selection. However, reputation values vary dynamically in function
of traffic load and behavior of nodes themselves. This was the main motivation for
authors in [20] to adopt the first visit ONMC RL method to enhance the reputation
schema already proposed in [21]. In [20], each mobile node learns a policy for
selecting neighboring nodes in a path search. A node’s state-set contains quantized
reputation values of its neighbors. If a route search succeed then a reward of +1 is
assigned to every node in all successful paths; if no path is found then a reward of 0 is
given to all nodes involved in the route discovery. The simulation results have shown
that the proposed solution can attain up to 89% and 29% increase in throughput over
the reputation only scheme with a fixed reputation threshold of 0.5 for scenarios of a
static and a dynamic topology, respectively.
In [22], a CRL-based reactive routing protocol for MANETs called SAMPLE was
proposed. The envisioned optimization goals are to maximize overall network
throughput, maximize the ratio of delivered to undelivered packets and minimize the
number of transmissions required per packet sent. In SAMPLE, each agent stores the
last advertised route cost to a given destination from each of its neighbors in a routing
table, but considers this value to decay from the time it is advertised. Hence, routes
that are not advertised are progressively degraded and eliminated from consideration
for routing decisions. Another source of negative feedback is network congestion that
causes routing agent to choose alternate routes. In contrast, stable routes are
reinforced by positive feedback. The routing problem in SAMPLE is modeled as an
absorbing MDP where a node n state indicates either a packet is in a buffer waiting to
be forwarded, has been successfully unicast to a neighbor, or has been delivered at
A Survey of Reinforcement Learning Based Routing Protocols 9
node n . The actions available at different states in the MDP are a packet delivery
action, a broadcast action to discover new neighbors, links, and routes; and for each
neighboring node, a delegation action (unicast). Concerning delegation actions, the
decision of which next hop to take is chosen probabilistically using Boltzmann-action
selection rule. Furthermore, SAMPLE also uses a simple greedy heuristic in order to
restrict exploration to useful areas of the network by only allowing a node to forward
to those neighboring nodes with a value that is less than its function value. To learn
new routes, the discovery action is permitted with a certain probability. In SAMPLE,
a statistical transition model that favors stable links is considered. It acquires
information about the estimated number of packets required for a successful unicast
as an indication of links quality. The rewards are set at values -7 and 1 to model the
reward when transmission succeeds under a delegation action and fails, respectively.
In fact, these values reflect connection costs in IEEE.802.11 MAC protocol.
SAMPLE was compared to AODV and DSR protocols, in two different settings.
The first one is a random network, whereas the second is a metropolitan area MANET
with a set of stable links. The congestion was introduced in both scenarios.
Simulation results show that SAMPLE can meet or approach many of its system
optimization goals in a changing MANET environment. However, AODV and DSR
perform well only when their assumptions of perfect radio links and a random
network topology hold. The authors claim that this is because SAMPLE avoids
generating a large number of routing packets by learning that not every dropped
packet is necessarily a broken link. In addition, the retransmission of failed unicast
packets in 802.11 does not change route costs for AODV and DSR, since their route
costs are based on a hop-count metric, but in SAMPLE a failed unicast updates the
state transition model for the network link in a way that the failing link will not be
chosen in the future. Furthermore, in SAMPLE, the collaborative feedback adapts
routing agent behavior to favor paths with stable links which is not possible with a
discrete model of network links. Note that the on-demand and opportunistic transfer
of routing information, in SAMPLE, reduces the amount of the generated control-
traffic.
The same MDP model used in SAMPLE protocol was applied in SNL-Q routing
protocol [23]. Through simulations, the proposed protocol has shown its efficiency in
comparison to AODV and DSR protocols in presence of network congestion.
In [24], the routing problem is mapped into a POMDP where the node state is a vector
of its one-hop-neighboring nodes parameters. Those parameters can be about
congestion level, selfishness, remaining energy, etc. However, those parameters are
usually unknown to the decision-maker node. To deal with this partial observability, a
source node derives estimates about the values from past experiences with its
neighboring nodes. For this purpose, the principle of WIN-OR-LOSE FAST (WoLF)
[25] that consists of using a variable learning rate was adopted. Indeed, two learning
rate parameters are used such that the learning rate when losing is higher than it is
when losing. This enables to learn quickly while losing and slowly while winning.
Furthermore, a stochastic gradient descent based algorithm that allows nodes to learn
a near optimal controller was exploited. The controller f, that estimates forwarding
10 S. Chettibi and S. Chikhi
probability via node j is updated following the direction of the gradient of loss
function E as follows:
∂E
f f η (4)
∂Θ
Where Θ is the parameters vector of node j; η is the variable step-size of the
gradient; f is a function differentiable and strict increasing in Θ ; E is a loss error
function that measure error between the observed and the estimated probability. When
a source node needs to make decision it calculates the value of the controller for all
nodes in the set of one hop neighboring toward a destination d, given the current
nodes parameters estimates. Then, it selects the greedy action i.e. the node that is
most likely to forward the packets with probability 1 ε and a randomly selected
node, different from the greedy choice, with probability ε where ε 1/t.
In the experiments, only energy and selfishness parameters were considered.
Furthermore, a non-linear reward function was used. Simulation results have shown
that there is a compromise between success rate and number of alive nodes when
considering energy and selfishness alternatively or jointly. When energy was not
considered at all, cooperative nodes run out of energy which decrease consequently
the success rate and vice versa. Thus, considering selfishness and energy fairly may
give the best trades-off.
energy consumption. Furthermore, they attain higher number of alive nodes even
under high mobility conditions. Particularly, among the considered RL variants,
ECRL was the best one.
better ranged in the Ontogenetic-family as stated in [2]. More attention must be given
for other optimization techniques.
Finally, we believe that simulation results reported in this survey were expected and
thus less informative. Certainly, comparative studies between different RL-based
routing protocols will contribute to a better understanding of RL potentials and
limitations when dealing with adaptive routing in MANETs.
Acknowledgments. The authors would like to thank Mr. Laboudi for his help in
enhancing the quality of this paper.
References
1. Sutton, R., Barto, A.: Reinforcement learning. MIT Press, Cambridge (1998)
2. Togelius, J., Schaul, T., Wierstra, D., Igel, C., Gomez, F., Schmidhuber, J.: Ontogenetic
and phylogenetic reinforcement learning. ZeitschriftK unstlicheIntelligenz 3, 30–33 (2009)
3. Watkins, C.J.: Learning with Delayed Rewards. PhD thesis, Psychology Department,
University of Cambridge, UK (1989)
4. Dowling, J., Cunningham, R., Harrington, A., Curran, E., Cahill, V.: Emergent consensus
in decentralised systems using collaborative reinforcement learning. In: Babaoğlu, Ö.,
Jelasity, M., Montresor, A., Fetzer, C., Leonardi, S., van Moorsel, A., van Steen, M. (eds.)
SELF-STAR 2004. LNCS, vol. 3460, pp. 63–80. Springer, Heidelberg (2005)
5. Williams, R.J.: Simple statistical gradient-following algorithms for connectionist
reinforcement learning. Machine Learning 8(3), 229–256 (1992)
6. Peshkin, L.: Reinforcement Learning by Policy Search. PhD thesis, Brown University
(2001)
7. Johnson, D.B., Maltz, D.A.: Dynamic source routing in ad hoc wireless networks. In:
Mobile Computing, ch. 5, pp. 153–181. Kluwer Academic Publishers, Dordrecht (1996)
8. Perkins, C.E., Royer, E.M.: Ad-hoc on-demand distance vector routing. In: WMCSA 1999,
New Orleans, pp. 90–100 (1999)
9. Perkins, C.E., Watson, T.J.: Highly dynamic destination sequenced distance vector routing
(DSDV) for mobile computers. In: ACM SIGCOMM 1994 Conf. on Communications
Architectures, London (1994)
10. Jacquet, P., Muhlethaler, P., Clausen, T., Laouiti, A., Qayyum, A., Viennot, L.: Optimized
link state routing protocol for ad hoc networks. In: IEEE INMIC, Pakistan (2001)
11. Toh, C.: A novel distributed routing protocol to support ad-hoc mobile computing. In:
IEEE 15th Annual Int. Phoenix Conf., pp. 480–486 (1996)
12. Dube, R., Rais, C., Wang, K., Tripathi, S.: Signal stability based adaptive routing (SSA)
for ad hoc mobile networks. IEEE Personal Communication 4(1), 36–45 (1997)
13. Boyan, J.A., Littman, M.L.: Packet routing in dynamically changing networks: A
reinforcement learning approach. Advances In Neural Information Processing Systems 6,
671–678 (1994)
14. Sun, R., Tatsumi, S., Zhao, G.: Q-map: A novel multicast routing method in wireless ad
hoc networks with multiagent reinforcement learning. In: Proc. of the IEEE Conf. on
Comp., Comm., Control and Power Engineering, vol. 1, pp. 667–670 (2002)
15. Förster, A.: Machine learning techniques applied to wireless ad hoc networks: Guide and
survey. In: Proc. 3rd Int. Conf. on Intelligent Sensors, Sensor Networks and Information
Processing (2007)
A Survey of Reinforcement Learning Based Routing Protocols 13
16. Chang, Y.-H., Ho, T.: Mobilized ad-hoc networks: A reinforcement learning approach. In:
ICAC 2004: Proceedings of the First International Conference on Autonomic Computing,
pp. 240–247. IEEE Computer Society, USA (2004)
17. Tao, T., Tagashira, S., Fujita, S.: LQ-Routing Protocol for Mobile Ad-Hoc Networks. In:
Proceedings of the Fourth Annual ACIS International Conference on Computer and
Information Science (2005)
18. Chen, S., Nahrstedt, K.: Distributed quality-of-service routing in ad-hoc networks. IEEE
Journal on Selected Areas in Communications 17(8), 1488–1505 (1999)
19. Usaha, W., Barria, J.A.: A reinforcement learning Ticket-Based Probing path discovery
scheme for MANETs. Ad Hoc Networks Journal 2, 319–334 (2004)
20. Maneenil, K., Usaha, W.: Preventing malicious nodes in ad hoc networks using
reinforcement learning. In: The 2nd International Symposium on Wireless Communication
Systems, Italy, pp. 289–292 (2005)
21. Dewan, P., Dasgupta, P., Bhattacharya, A.: On using reputations in ad hoc networks to
counter malicious nodes. In: Proceedings of Tenth International Conference on Parallel
and Distributed Systems, pp. 665–672 (2004)
22. Dowling, J., Curran, E., Cunningham, R., Cahill, V.: Using feedback in collaborative
reinforcement learning to adaptively optimize MANET routing. IEEE Trans. Syst. Man,
Cybern. 35, 360–372 (2005)
23. Binbin, Z., Quan, L., Shouling, Z.: Using statistical network link model for routing in ad
hoc networks with multi-agent reinforcement learning. In: International Conference on
Advanced Computer Control, pp. 462–466 (2010)
24. Nurmi, P.: Reinforcement Learning for Routing in Ad Hoc Networks. In: Proc. 5th Intl.
Symposium on Modeling and Optimization in Mobile, Ad Hoc, and Wireless Networks.
IEEE Computer Society, Los Alamitos (2007)
25. Bowling, M., Veloso, M.: Rational and convergent learning in stochastic games. In:
Proceedings of the 17th International Joint Conference on Artificial Intelligence,
pp. 1021–1026. Morgan Kaufmann, San Francisco (2001)
26. Naruephiphat, W., Usaha, W.: Balancing tradeoffs for energy-efficient routing in
MANETs based on reinforcement learning. In: The IEEE 67th Vehicular Technology
Conference, Singapore (2008)
27. Chang, J.H., Tassiulas, L.: Maximum lifetime routing in wireless sensor networks.
IEEE/ACM Transactions on Networking 12(4), 609–619 (2004)
28. Toh, C.K.: Maximum battery life routing to support ubiquitous mobile computing in
wireless ad hoc networks. IEEE Communications Magazine 39, 138–147 (2001)
29. Petrowski, A., Aissanou, F., Benyahia, I., Houcke, S.: Multicriteria reinforcement learning
based on a Russian Doll method for network routing. In: 5th IEEE International
Conference on Intelligent Systems, United Kingdom (2010)
Detection of Denial of Service Attack Due to Selfish Node
in MANET by Mobile Agent
1 Introduction
A Mobile Ad Hoc Network (MANET) is a dynamically changing network without
any centralized authorization and has co operative algorithm. This kind of network is
well suited for the critical applications in remote places like emergency relief, military
operations where no pre-deployed infrastructure exists for communication. Due to the
lack of centralized authorization and volatile network topology it is difficult to detect
adversary nodes [4, 5], MANETs are highly vulnerable to attacks. Lastly, we can
conclude that in a MANET nodes might be battery-powered and might have very
limited resources, which may make the use of heavy-weight security solutions
undesirable [7, 8, 9, 10 and 11].
This paper deals with the Denial of service attack (DoS) by a selfish node; this is
the most common form of attack which decreases the network performance. A selfish
node does not supposed to directly attack the other nodes, but is unwilling to spend
battery life, CPU cycles, or available network bandwidth to forward packets not of
A. Özcan, J. Zizka, and D. Nagamalai (Eds.): WiMo/CoNeCo 2011, CCIS 162, pp. 14–23, 2011.
© Springer-Verlag Berlin Heidelberg 2011
Detection of Denial of Service Attack Due to Selfish Node in MANET 15
direct interest to it. It expects other nodes to forward packets on its behalf. To save
own resources there is a strong motivation for a node to deny packet forwarding to
others, while at the same time using the services of other nodes to deliver own data.
According to the attacking technique the selfish node can be defined in three
different ways [1]
SN1: These nodes take participation in the route discovery and route maintenance
phases but refuses to forward data packets to save its resources.
SN2: These nodes neither participate in the route discovery phase nor in data-
forwarding phase. Instead they use their resource only for transmissions of their own
packets.
SN3: These nodes behave properly if its energy level lies between full energy-level
E and certain threshold T1. They behave like node of type SN2 if energy level lies
between threshold T1 and another threshold T2 and if energy level falls below T2,
they behave like node of type SN1.
One immediate effect of node misbehaviors and failures in wireless ad hoc
networks is the node isolation problem and network partitioning due to the fact that
communications between nodes are completely dependent on routing and forwarding
packets [2].
In Figure.1, suppose node x3 is a selfish node. Here, the node u initiates a RREQ
message for the destination node v. The selfish node x3 may be unwilling to broadcast
the route request from u. It is also possible for x3 to forward control packets;
however, the situation could be worse since u may choose x3 as the next hop and send
data to it. Consequently, x3 may reject all data to be forwarded via it, and then
communications between u and v cannot proceed. If all the neighbors of u behave as
selfish node then u becomes an isolated node in the network.
2 Related Works
Several methods proposed to defend these attacks have been studied. These can be
classified into three types: reputation based scheme, credit based approach and game
theoretic approach [1] [3] [6].
Reputation Based scheme In a reputation based scheme [1] watchdog and path
16 D.B. Roy and R. Chaki
rater approach the IDS overhear neighbors’ packet transmission promiscuously and
notify misbehavior to the source node by sending a message. The source node collects
the notifications and rates every other node to avoid unreliable nodes in finding a
path. The scheme is easier to implement but it depends only on promiscuous listening
that may results false identification.
CONFIDANT (Cooperation of Nodes, Fairness in Dynamic Ad-hoc Networks), in
this scheme the IDS performs task in a distributed ways the monitor node
promiscuously observes route protocol behavior as well as packet transmission of
neighbor node. The Trust manager sends ALARM messages on detection of
misbehavior. The Reputation system: maintains a rating list and a blacklist for other
nodes.
CORE (Collaborative Reputation) approach, here the source node observes usual
packet transmission and the task specific behavior of neighbor nodes and rate the
node by using the positive reports from other nodes. The malicious node with bad
reputation rate is isolated. But in this approach reputation of node is not changed
frequently, thus the nodes temporarily suffering from bad environmental conditions
are not punished severely.
Credit based scheme Sprite Simple, cheat-proof, credit based system; here the node
s send CAS Central Authorized Server) a receipt for every packet they forward, CAS
gives credits to nodes according to the receipt. This approach is useful as it is easy to
implement but the major problem is scalibility and message overhead.
Ad hoc-VCG(Vickery, Clarke and Groves) scheme ,this is a two phase approach in
the Route Discovery phase destination node computes needed payments for
intermediate nodes and notifies it to the source node or the central bank. In the Data
Transmission phase actual payment is performed .This scheme is fully depends on the
report of the destination node.
Game Theoretic scheme In game theoretic scheme the IDS compares node’s
performance against other node based on a repeated game. This scheme is easy to
implement but it needs fair comparison among nodes other wise it may falsely
identify a node as adversary node.
3 Motivations
The initial motivation for our work is to address limitations of current IDS systems by
taking advantage of the mobile agent paradigm. Specifically, we address the
following limitations of the earlier proposed IDS.
False Positive Rate: The IDS reduces the False Positive rate that may arise in
Reputation based scheme, which effectively increase the network performance.
Scalability: The process scalability of the credit based approach or any centralized
approach is much lower. By using Mobile Agent the scalibility may increase that
enhance the network performance.
Interdependencies: In the Credit based scheme the IDS depends on the report of the
destination node that make the network not convenient that require for MANET.
Centralized Authorization: Due to centralized authorization of previous IDS the
IDS can not perform efficiently. In Mobile Agent based IDS the computation is done
in distributed manner that increase the efficiency of the IDS.
Detection of Denial of Service Attack Due to Selfish Node in MANET 17
4 Proposed Work
Our objective is to find out the malicious node that performs the DOS by selfish node
in network. The assumptions regarding the proposed work are listed below
The following assumptions are taken in order to design the proposed algorithm.
1. A node interacts with its 1-hop neighbors directly and with other nodes via
intermediate nodes using multi-hop packet forwarding.
2. Every node has a unique id in the network, which is assigned to a new node
collaboratively by existing nodes.
3. The source node generates mobile agent after a specific period of time.
4. The mobile agent moves towards forward path created using RREQ and RREP.
5. The agent calculates the packet receive and forward by a node.
6. If the agent discovers a malicious node, instead of moving forward, it sends a
report to the source node.
Give
Response
EĞƚǁŽƌŬ
WĞƌĨŽƌŵ
WƌĞǀŝŽƵƐůLJ ŽŵƉƵƚĂƚŝŽŶ
ƐƚŽƌĞĚ
dĂƐŬ ŽĨ Ă
ŵŽďŝůĞĂŐĞŶƚ
DŽďŝůĞ
,ŽƐƚ WŚLJƐŝĐĂů
DĂĐŚŝŶĞ ůĂLJĞƌ
The Mobile Agent maintains the following table to perform the computation and
comparison with threshold value
The table contains the source node id, destination node id that will be initiated by
the source node. The HOP count field in the table denotes number of HOP between
source node and destination node. THRESOLDPdr signifies the number of packet drop
to be considered for any node in the forward path. The forward path is generated by
the AODV routing protocol.
The network is modeled based on the de-bruijn graph as follows:
Node Sequence: The Node sequence describes a set of nodes where the link among
the nodes are created in such a way that when the node n with bit sequence (a0n a1n
a2n…. akn) is connected with a node m having a bit sequence (a0m a1ma2m…. akm)
where 1<=m,n<=r-1], then (ajm = ai n +1) where 1<=i,j<=k-1. Each node has in-degree
and out-degree r. k is the diameter of the network represent as graph [12]. For a
network where the number of nodes in the forward path including source and
destination node is 7 the degree (d) should be computed as C=7, r=2.
We consider that d for which the following conditions are satisfied
1. (2d –C) is minimum 2. 2d >C
i) d=1 2d =2 2<7 ii) d=2 2d=4 4<7 iii) d=3 2d=8 8>7 and 2d-1=1
iv) d=4 2d=16 16>7 2d-1=9
For the first two computations 2nd condition is not satisfied for the 4th
computation 1st condition is not satisfied so the degree is taken as 3.The digits are
{0,1,2}
Definition 1: Packet Receive Counter: The number of packet that a node i receive from
a neighbor node j is denoted as CPR (i,j)(Packet Receive Counter),1<=i,j<=N,where N is
the total number of node in the network and i≠j and CPR (i,j)>=1.
Definition 2: Packet Forward Counter: Total number of packet that a node i forward
to its neighbors j is defined as CPF (i,j) (Packet Forward Counter) where 1<=i,j<=N-1
and i≠j.
Definition 3: Packet Delivery Ratio (Pdr (i, j)): This is defined as the ratio of CPF (i, j)
(Packet Forward Counter) of each node i for each neighbor j to the CPR (i, j) (Packet
Receive Counter), 1<=i, j<=n and i≠j
CPR(i,j)= CPR(i,j)+1 (1) CPF (i,j) = CPF (i,j) + 1 (2) Pdr(i,j)= CPF (i,j)/ CPR(i,j) (3)
Detection of Denial of Service Attack Due to Selfish Node in MANET 19
Comput Compute
Compute
Compute
N1 N2 N3 N4
N5 Compute
N0
N6
Source node Compute
initiates the MA
Fig. 4. A network Without Malicious Attack The MA moves from source node N0 to Destination
Node N6 by the forward path
In the figure 5 node N2 acts as a malicious node. The node N2 is a node in the
forward path from source to destination node. N2 behaves as selfish node and refuse
to forward packet to the neighbor node N3. When the MA comes to the node N2 it
observes that the node behaves as malicious node by computing Pdr(N2,N3). This
value is greater than THRESOLDPdr (N2, N3) and it send MMSG (Malicious
Message) to the source node.
Compute
Compute Eϭ Eϯ Eϰ
E Ϯ
MMS
EϬ G Eϱ
MM
SG
Eϲ EϮ Selfish Node
5 Flow Chart
In figure 6 the flow chart depicts the task of a mobile agent. In the figure 4 the source
nodes N0 generates the mobile agent and send it to the closest neighbor N1. The MA
at N1 compute CPR (i, j) , CPF (i, j) , Pdr (i, j) according to the equation 1,2 and 3
respectively. If the Pdr (i, j) is greater than THRESHOLDPdr (i, j), then MA readily
informs the source node via the intermediate nodes.
20 D.B. Roy and R. Chaki
START
Start timer T
NO
Is
T>T
YES
Node S generates a mobile agent (MA) and provides it’s own id and send it to the next hop
node (as decided by underlying routing topology)
th
The mobile agent observe for i node the number of packet receive from neighbor
node j and compute CPR (i j)
STOP
6 Performance Analyses
From figure 7, we observe that the performance of the network in presence of selfish
node degrades than the network without any attack. When the network is under attack
in presence of mobile agent then the performance of the network remain same as that
in case of the network without attack.
Detection of Denial of Service Attack Due to Selfish Node in MANET 21
180
160
20
0
20
40
60
80
10
12
Sim ulation Tim e
Fig. 7. Throughput of Packet receive when the network is under attack and in presence of
mobile agent
0.
0.
0.
average 0. Average End
End 2 End 2end delay with
0. Attac
Delay
0. Average End
2end delay with
0. mobile agent
0.
0.
0
10 30 50 70 90
Packet size
Fig. 8. End 2 End Delay under attack and in presence of mobile agent
In figure 8, the series “a” indicates the average end to end delay in presence of DoS
attack in the network. In series “b” the end to end delay increases as the packet size
increases but the performance is better than that is shown in series “a”. The pick of
the graph denotes that at that point due to network congestion the delay is maximum.
0.1
Average
average 0. End2End Delay
End 2
with attack(a)
end
Delay 0.0
Average
0
End2End Delay
1 2 3 4 5 6 7 with
Througuput of Receiving Agent(b)
Packet
Fig. 9. Average End 2 End Delay vs. throughput of receiving packet under attack and in
presence of mobile agent
22 D.B. Roy and R. Chaki
In figure 9, series “a” denotes average end to end delay between in presence of
malicious node attack in network. Series “b” indicates the end to end delay in
presence of mobile agent in the network. As the mobile agent prevents the network
from the DoS attack by a selfish node the performance of the network increases.
Acknowledgments
This research is supported in part by the Computer Science and Engineering
Department of University of Calcutta. We would like to thank Dr. Nabendu Chaki for
fruitful discussions and endow with valuable suggestion.
References
1. Anand, S., Chawla, M.: Detection of Packet Dropping Attack Using Improved
Acknowledgement Based Scheme in MANET. IJCSI International Journal of Computer
Science Issues 7(4) (July 2010)
2. Sundararajan, T.V.P., Shanmugam, A.: Modeling the Behavior of Selfish Forwarding
Nodes to Stimulate Cooperation in MANET. International Journal of Network Security &
Its Applications (IJNSA) 2(2) (April 2010)
3. Suri, P.K., Taneja, K.: Exploring Selfish Trends of MaliciousDevices in MANET. Journal
Of Telecommunications 2(2) (May 2010)
4. Roy, D.B., Chaki, R., Chaki, N.: A New Cluster-Based Wormhole Intrusion Detection
Algorithm for Mobile Ad-Hoc Networks. IJNSA 1(1) (April 2009)
5. Banerjee, S.: Detection/Removal of Cooperative Black and Gray Hole Attack in Mobile
Ad-Hoc Networks. In: Proceedings of the World Congress on Engineering and Computer
Science, WCECS 2008(2008)
6. Wu, X., Yau, D.K.Y.: Mitigating Denial-of-Service Attacks in MANET by Distributed
Packet Filtering: A Game-theoretic Approach. In: ASIACCS 2007 (2007)
7. Jahnke, M., Toelle, J., Finkenbrink, A.: Methodologies and Frameworks for Testing IDS in
Adhoc Networks. In: Proceedings of the 3rd ACM workshop on QoS and security for
wireless and mobile networks, Chania, Crete Island, Greece, pp. 113–122 (2007)
8. Hu, Y.-C., Perrig, A., Johnson, D.B.: Wormhole Attacks in Wireless Networks. IEEE
Journal on Selected Areas of Communications 24(2), 370–380 (2006)
Detection of Denial of Service Attack Due to Selfish Node in MANET 23
9. Yang, H., Luo, H., Ye, F., Lu, S., Zhang, U.: Security in Mobile Ad Hoc Networks:
Challenges and Solutions. IEEE Wireless Communications 11(1), 38–47 (2004)
10. Hu, Y.-C., Perrig, A.: A Survey of Secure Wireless Ad Hoc Routing. IEEE Security and
Privacy Magazine 2(3), 28–39 (2004)
11. Hu, Y.-C., Perrig, A., Johnson, D.B.: Packet leashes: a defense against wormhole attacks
in wireless networks. In: INFOCOM 2003: Twenty-Second Annual Joint Conference of
the IEEE Computer and Communication Societies, vol. 3, pp. 1976–1986 (2003)
12. Chaki, R., Bhattacharya, U.: Design Of New Scalable Topology for Multihop Optical
Network. In: IEEE TENCON (2000)
A Novel Power-Balanced Routing Scheme for WSN
1 Introduction
WSNs are special cases of mobile ad hoc networks (MANETs); where all data and control
traffic is flowing between the sensor nodes and the base station. In an ad hoc mode by
means of small-size identical devices, distributed densely over a significant area.
The computation involving sensed data and communication of the same between
the sensor nodes cause very high power consumption. This coupled with the inability
to recharge once a node is deployed makes energy consumption which is the most
important factor to determine the life of a sensor network, because usually sensor
nodes are driven by battery and have very low energy resources. This can be achieved
by having energy awareness in every aspect of design and operation of the network.
The common routing techniques are based on power awareness, agent based, location
based etc. To prolong the lifetime of sensor networks, most routing algorithm for
sensor networks focus on finding energy efficient paths. As a result, the sensors on
the efficient paths are depleted very early, and consequently the sensor networks
become incapable of monitoring events from some of the parts of target areas.
It has been observed that Most of the previous routing techniques do not maintain any
information about the nodes which have been already traversed. As a result, the query
packet while moving towards the event path randomly selects neighboring nodes without
considering whether the next node has already been checked. This often leads to the
infinite loop problem. The proposed routing algorithm in this paper aims to eliminate the
infinite loop problem.
A. Özcan, J. Zizka, and D. Nagamalai (Eds.): WiMo/CoNeCo 2011, CCIS 162, pp. 24–34, 2011.
© Springer-Verlag Berlin Heidelberg 2011
A Novel Power-Balanced Routing Scheme for WSN 25
The remaining part of this paper is organized as follows: Section 2 deals with the
review of state of the art routing topologies, section 3 gives a description of the
proposed methodology, section 4 contains the simulation reports and section 5 is the
concluding part.
This type of routing technique focuses on the effect of power efficient routing on the
lifetime of multi hop wireless sensor networks (WSNs) [5]. All the nodes in the
WSNs are divided into tiers. The nodes belonging to the highest tier are very
important, because these nodes imply higher power consumption than that of nodes of
any other tier. Obviously the batteries of nodes of 1st tier depletes sooner than these of
any other tier. As soon as the nodes of 1st tier dies, the network becomes
disconnected.
Reliable Energy Aware Routing (REAR) [8] is a distributed, on-demand, reactive
routing protocol and is used to provide a reliable transmission environment for data
packet delivery. To provide a reliable transmission environment to reduce
retransmissions caused by unstable paths REAR introduces local node selection, path
reservation and path request broadcasting delay. This algorithm efficiently utilizes the
limited energy and available memory resources of sensor nodes. REAR takes
precaution against errors, instead of finding a solution for the errors. The Simulation
experiments show that REAR outperforms traditional schemes by establishing an
energy-sufficient path from the sink to the source with special path request flooding,
and also by distributing the traffic load more evenly in the network.
GRAdient Broadcast [24] describes a technique of building a cost field toward a
particular sensor node, and after that reliably routing query across a limited size mesh
toward that sensor node. Overhead comes for a network flood to set up the cost field,
but queries can be routed along an interleaved set of short paths, and can thus be
delivered very cheaply and reliably. GRAB was not designed specifically to support
in network processing but significantly influenced the work presented in its use of
event-centric routing state in the network.
Directed Diffusion and Geo-Routing [19][21][22] provides a scheme for doing a
limited flood for a query toward the event, and then setting up reverse gradients in
order to send data back along the best route. Though Diffusion results in high quality
paths, but an initial flood of the query for exploration will be the requirement. One of
its primary contributions is an architecture that names data and that is intended to
support in network processing. Rumor routing is intended to work in conjunction with
diffusion, bringing innovation from GRAB and GOSSIP routing to this context.
Rumor Routing Algorithm for Sensor Network [18] is a logical compromise
between flooding queries and flooding event notifications. Here an agent is created
which travels within the network and collects information from the nodes it visits.
This information is also shared with all nodes. Here paths should be created leading to
each event; whereas event flooding often creates a network-wide gradient field. Thus
26 A.K. Das and R. Chaki
until a query finds its event path it can be sent on a random walk; unlike flooding it
throughout the network.
Apart from power aware routing some algorithms modeled after agent behavior.
Agents traverse the network encoding the quality of the path they are traveled, and
leave it the encoded path as state in the nodes [23]. In dealing with failure these
algorithms are very effective, as there is always some amount of exploration, and
especially around previously good solutions. However, due to the large number of
nodes, the number of ant agents required to achieve good results tends to be very
large, making them difficult to apply in sensor networks.
Ant-Colony Based Routing Algorithm (ARA) [17] used distance vector routing.
Route discovery in ARA is done by broadcasting Forward Ants (FANT). ARA
implements the packet sequencing mechanism to prevent packet loops. In ARA,
destinations respond to multiple FANT packets received from the same node, thus
supporting multi path routing.
MONSOON [1] [2] [3] proposed an evolutionary multi objective adaptation
framework, in biologically inspired application architecture, called BiSNET/e. There
are two types of software components- agents and middleware platforms. In
MONSOON each application is implemented as a decentralized group of software
agents, like a bee colony consists of bees. Agents generally collect all the sensing data
and/or detect an event on individual nodes, and also carry sensing data to the base
station. Here each agent decides their behavior based on logical energy. It does not
represent the amount of physical battery in a node, as it is a logical concept.
In clustered network, nodes are clustered in any form of hierarchical structure. The
advantage of cluster based approaches are improving routing efficiency, scalability,
supporting QOS and saving power consumption in sensor nodes. Clustering
transforms a physical network into a virtual network of interconnected clusters.
To evenly distribute the energy load among the sensors in the network LEACH
(Low Energy Adaptive Clustering Hierarchy) [20] utilizes randomized rotation of
local cluster base stations (cluster heads). A number of transmissions in clusters can
be reduced by this technique. However the intense data flow can be harmful,
especially in WSNs, since congestions and collisions may occur. It also gives too
much burden on base station.
3 Proposed Work
The network is modeled as a set of densely distributed wireless sensor nodes. Each
node maintains a list of its neighbors, as well as an event table, with forwarding
information to all the events it knows. A node adds an event to its event table after
encounter it. Then the node will propagate that event information to its neighbors and
A Novel Power-Balanced Routing Scheme for WSN 27
Where, θ is a constant.
The total consumed ENERGY(E)during the transmission of a packet can be
defined as the sum of power required to transmit and receive the packet, i.e.,
E = ∑(Power required to transmit the packet, Power required to receive the packet)
= P1+P2 . (3)
= (θ*s1*d1) + (θ*s2*d2) . (4)
s1=s2=s is size of the packet flowing through the network, whose value will be
supplied by the user.
28 A.K. Das and R. Chaki
3.3 Description
Step 1. Begin.
Step 2. Read size (for the packet)
Step 3: Find the neighboring nodes of source node (m) and store them in the array ‘p’.
Step 4. Repeat the following statements n times (where n is the number of neighbor
nodes of source m) —
If status i = visited then delete ith node from Visit[node_id]
Step 5. If all the neighboring nodes are visited previously, then Choose any one
randomly.
Else
Find the node among (not visited) nodes with the maximum power and
store in the array ‘node_max_power’.
Step 6. If more than one node exists with maximum power content, then select any of
them randomly as the next hop and store it as ‘next_node’.
Step 7. Use equation 3 to deduce remaining energy level
Step 8. If the chosen next hop node falls on the event path then—
Calculate the distance traversed by the query to reach the event source and
also calculate the average power reduction of each node for simultaneous
queries.
Else
Make the next hop node as the source node(m) and continue the process
from step 3.
Step 9. End.
A Novel Power-Balanced Routing Scheme for WSN 29
Let us explain the above mentioned concept with the following network:
In the above network the previously traversed nodes have not been updated. Now let
us consider that an agent starts its journey from n8 moves to n12 then to n14, from n14 to
n11 and ultimately returns to the already traversed node n8 thereby creating an infinite
loop. In order to overcome the above said limitation the proposed algorithm maintains a
proper status checking to select the next hop node avoiding the infinite loop.
Here in this network since a track of all the traversed nodes were taken so an agent
which has started its journey from node n8 will not go back to n8 again after
traversing node n11 as was the case in the previous example.
Through the network multiple simultaneous queries can be generated. For example
if we send a query from node n13, then it will check the power of neighbor nodes n10
and n12 and select the node which contents of maximum power. If the selected node
is n12 then it will check the power of n8 and n14 and select the node of maximum
power and so on. When it will encounter any node of event path then it will move to
the event source directly along with the event path.
4 Simulation Result
To analyze the performance of the algorithm multiple queries have been sent and after
power consumption the power of all the nodes has measured and a graph of power vs
node has drawn. It is also compared with the Rumor Routing algorithm. The
parameter list is given below—
Parameters Description
Network size 15 nodes
Initial energy 50J per node
MAC Protocol IEEE 802.15.4
Power Equivalent to packet size
consumption and distance
Number of At least 6
queries
According to the ‘Rumor Routing Algorithm’ where next hop node is choosing
randomly, after sending 6 queries from node 15 the graph is shown below, where
series1 denotes the initial power of the node, series2-series6 denotes the power of the
node after each query is generated, and series7 denotes the average power of the
nodes.
Now it is proposed that the next hop will be the node with the maximum power.
When next hop is chosen based on the power of the neighboring nodes, the following
graph is obtained, where series1 denotes the initial power of the nodes, series2-series6
denotes the power of the nodes after each query is generated, and series7 denotes the
average power of the nodes.
A Novel Power-Balanced Routing Scheme for WSN 31
NODE VS POWER
60
50
40 Initial Power
Query 1
Query 2
POW ER
30 Query 3
Query 4
Query 5
20 Query 6
10
0
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
NODES
NODE Vs POWER
60
Initial Power
50
Query 1
40
Query 2
POWER
30 Query 3
20 Query 4
Query 5
10
Query 6
0
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
NODE
Fig. 4. Node vs. Power graph for neighbor selection based on maximum power
32 A.K. Das and R. Chaki
Now, the average power of the nodes obtained in both are plotted in a graph, where
series1 represents the average power of the node when the nodes are chosen randomly
that is for Rumor Routing algorithm, series2 represents the power of the nodes when
the next hop is chosen based on the maximum power of the neighboring nodes.
NODE Vs POWER
51
50
49
48
Random next hop
47
POWER
46
Next hop with max
45
power
44
43
42
41
1 3 5 7 9 11 13 15
NODE
Fig. 5. Node vs. Power graph by taking average power deduction for random neighbor selection
and neighbor selection based on maximum power
Thus, we find that the power of the network in the second case is more stable than
the power of the network in the first case and also in the second case the longevity of
the network increases.
5 Conclusion
Sensor networks aim to achieve energy balance as well as energy efficiency. Till date,
the energy-constrained nature of sensors poses the biggest problem in efficient
management of sensor networks. The current state of the art is that for most of the
power saving algorithms the cost factor is neglected, as they are not sending the
packets in optimal path to balance the energy level between all the nodes in the
network. This paper proposes an energy efficient technique to find out the source of
the event, at the same time it selects the next hop node among the neighbor nodes
which contain the maximum power. Thus there is a balance in power consumption for
every node in the network. The simulation result shows the proposed algorithm
A Novel Power-Balanced Routing Scheme for WSN 33
increases the lifetime of every node in the network and thus it increases the longevity
of the overall network.
6 References
[1] Boonma, P., Suzuki, J.: MONSOON: A Co-evolutionary Multiobjective Adaptation
Framework for Dynamic Wireless Sensor Networks. In: Proceedings of the 41st Hawaii
International Conference on System Science (2008)
[2] Boonma, P., Suzuki, J.: Exploring self-star Properties in Cognitive Sensor Networking.
In: Proc. of IEEE/SCS International Symposium on Performance Evaluation of Computer
and Telecommunication Systems (SPECTS), Edinburgh, UK (2008)
[3] Boonma, P., Suzuki, J.: BiSNET: A biologically inspired middleware architechture for
self managing wireless sensor networks. Computer Networks 5.1(16), 4599–4616 (2007)
[4] Chen, W.-M., Li, C.-S., Chiang, F.-Y., Chao, H.-C.: Jumping Ant Routing Algorithm for
sensor networks. Elsevier B.V, Amsterdam (2007)
[5] Yoon, S., Dutta, R., Sichitiu, M.L.: Power Aware Routing Algorithm for Wireless Sensor
Networks. In: IEEE (2007)
[6] Siva Kumar, D., Bhuvaneswaran, R.S.: Proposal on Multi agent Ants based Routing
Algorithm for Mobile Adhoc Networks. IJCSNS International Journal of Computer
Science and Network Security 7(6) (June 2007)
[7] Dorigo, M.: Ant Colony Optimization. University of Pretoria Etd, du Plessis J (2006)
[8] Hassaanein, H., Luo, J.: Reliable Energy Aware Routing in Wireless Sensor Networks.
In: IEEE (2006)
[9] Laxmi, V., Jain, L., Gaur, M.S.: Ant Colony Optimization based Routing on NS-2. In:
The Proceedings of International Conference On Wireless Communication and Sensor
Networks, WCSN (2006)
[10] Abrenica, A., Almojulea, R., Dalupang, R., Magnayon, R.: The Development of a ZigBee
Wireless Home Area Network Utilizing Solar Energy as an Alternative Power Source,
University of Manitoba (2005)
[11] Arabshahi, P., Gray, A., Kassabalidis, I., Das, A.: Adaptive Routing in Wireless
Communication Network using Swarm Intelligence. Jet Propulsion Laboratory and
University of Washington (2004)
[12] MongSim, K., Sun, W.H.: Ant Colony Optimization or Routing and Load-Balancing:
Survey and New Direction, part-A: System and Humans 33(5) (September 2003)
[13] Rajagopalam, S., Shen, C.-C.: A Routing Suite for Mobile Ad hoc Networks using
Swarm Intelligence, Department of Computer and Information Sciences, University of
Delaware,Newark (2003)
[14] A multiple ant colony optimization approach for load balancing. In: Proc, 4th Int.Conf.
Intelligent Data Engineering Automated, learning Hongkong (2003)
[15] Gay, D., Levis, P., von Behren, R., Welsh, M., Brewer, E., Culler, D.: The nesC
language: A holistic approach to networked embedded systems. In: SIGPLAN
Conference on Programming Language Design and Implementation, PLDI 2003 (June
2003)
[16] Dai, F., Wu, J.: Distributed dominant pruning in ad-hoc networks. In: Proceedings of ICC
(2003)
[17] Gunes, M., Sorges, U., Bouazizi, I.: ARA- the ant colony based routing algorithm for
MANET. In: Proc. of the ICPP (2002)
34 A.K. Das and R. Chaki
[18] Braginsky, D., Estrin, D.: Rumor Routing Algorithm for Sensor Networks. In: WSNA
2002, September 28 (2002)
[19] Yu, Y., Govindan, R., Estrin, D.: Geographical and Energy Aware Routing: A Recursive
Data Dissemination Protocol for Wireless Sensor Networks. UCLA Computer Science
Department Technical Report UCLA/CSD-TR-01-0023 (2001)
[20] Heinzelman, W.R., Chandrakasan, A., Balakrishnan, H.: Energy Efficient
Communication Protocol for Wireless Microsensor Networks. In: Proceedings of the 33rd
Hawaii International Conference on System Sciences (2000)
[21] Intanagonwiwat, C., Govindan, R., Estrin, D.: Directed Diffusion: A Scalable and Robust
Communication Paradigm for Sensor Networks. In: Proceedings of the sixth Annual
International Conference on Mobile Computing and Networks, MobiCOM 2000 (2000)
[22] Karp, B., Kung, H.T.: GPSR: Greedy perimeter stateless routing for wireless networks.
In: Proceedings of the ACM/IEEE International Conference on Mobile Computing and
Networking, Boston, Mass., USA, pp. 243–254 (2000)
[23] Subramanian, D., Druschel, P., Chen, J.: Ants and Reinforcement Learning: A Case
Study in Routing in Dynamic Data Networks. In: Proceedings of IJCAI 1997(1997)
[24] GRAdient Broadcast: A Robust, Long-Lived Large Sensor Network,
http://irl.cs.ucla.edu/papers/grab-tech-report.ps
[25] Lin, M., Marzullo, K., Masini, S.: Gossip verseus deterministic flooding: Low message
overhead and high reliaility for broadcasting on small networks
[26] Levis, P., Gay, D., Culler, D.: Active Sensor Networks
SRCHS – A Stable Reliable Cluster Head Selection
Protocol
1 Introduction
The rapid advancement in mobile computing platforms and wireless communication
technology lead us to the development of protocols for easily deploying wireless
networks typically termed wireless ad hoc networks. These networks are used where
fixed infrastructures are non-existent or have been destroyed. They permit the inter
connectivity between workgroups moving in urban or rural area. They can also help
in collaborative operations, for example, distributed scientific research and rescue. A
multi-cluster, multi-hop wireless network should be able to dynamically adapt itself
with the changing networks configurations. With clustering the mobile nodes are
divided into a number of virtual groups called clusters. Nodes in a cluster can be of
type cluster head, gateway or ordinary nodes. Cluster head is the coordinator for the
operation within the cluster. Cluster-heads are responsible for the formation of
clusters and maintenance of the topology of the network. A cluster head is responsible
for resources allocation to all nodes belonging to its cluster. The major issues in
cluster based MANETs are i) mobility management ii) topology assignment iii)
clustering overheads iv) frequent leader reelection vi) overhead of cluster head vii)
A. Özcan, J. Zizka, and D. Nagamalai (Eds.): WiMo/CoNeCo 2011, CCIS 162, pp. 35–44, 2011.
© Springer-Verlag Berlin Heidelberg 2011
36 D. Sinha and R. Chaki
2 Review
In clustered network, nodes are clustered in any form of hierarchical structure. The
advantage of cluster based approaches are improving routing efficiency, scalability,
supporting QOS and saving power consumption. Clustering transforms a physical
network into a virtual network which contains interconnected clusters or group of
mobile nodes. The main goal of cluster network is to find the cluster head nodes and
partition the network into clusters. Cluster heads take an inevitable role for managing
routing information in mobile adhoc networks. Some reviews of cluster based routing
algorithms are given below:
2.1 CBRP
The idea of CBRP [6] is to divide the nodes in adhoc network into number of disjoint
or overlapping clusters. One of nodes amongst all nodes is selected as cluster head. A
cluster head elects a gateway node to communicate with other cluster heads. A cluster
head is selected to maintain cluster membership information. With the help of cluster
membership information kept at each cluster head inter-cluster routes are discovered
dynamically. This protocol efficiently reduces the flooding traffic during route
discovery and speeds up this process as well. Furthermore, the protocol takes care of
uni-directional links and uses these links for both intra-cluster and inter-cluster
routing.
SRCHS – A Stable Reliable Cluster Head Selection Protocol 37
2.2 CBLARHM
It runs on top of an adaptive cluster [5], cover the network which can be created and
maintained using weight based distributed algorithm. The weighted clustering
algorithm takes care of battery power, stability of nodes, degree difference, and
average dependency probability of mobile nodes.
2.3 CBMPR
The main idea of this technique is to extend the hop-by-hop multi path into cluster by
cluster multi path [3].Here each cluster works independently. There fore it reduces
interference. The purpose of this scheme is to find less interfering path for wireless
multi hop network.
2.4 CRAM
2.5 SCAM
3 Proposed Algorithm
The review of the state of the art scenario leads to the conclusion that cluster head
selection has to be given extra care for achieving optimum throughput. In this paper, a
new routing technique called SRCHS has been proposed. This algorithm takes care of
stable, reliable cluster head selection.
38 D. Sinha and R. Chaki
To evaluate the proposed algorithm we use two metrics: Battery power consumption,
Threshold value and Gateway node selection. We briefly describe them in the
following:
k=.0005
k1=.0003
Bp[ni]=Battery power of node ni
Th=1/n∑i=(1..n)(Deg[i]+T[i]+Bp[i]+1/Mob[i]). (2)
3.4 Algorithm
Step 1: Take source node id S and destination node id Des for sending packets.
Step 2: Source node S broadcasts TRUSTVALUE message to all neighbor nodes.
Step 3: For source node S, trust value is calculated using following equation-
T[S]=∑i=1…nT[i] (4)
Where T[i] is the trust value of node S which is given by neighbor node i.
For i=1…n
For ith node:
k
S sends FINDDISTANCE message at k moment to i and calculates T si
k’
i sends ACK message at k’ moment to S and calculatesT is
so,
k k’ k
d si=T is-T si (5)
After sometime,
l
S sends FINDDISTANCE message at l moment to i and calculates T si
l’
i sends ACK message at l’ moment to S and calculatesT is
40 D. Sinha and R. Chaki
so,
l l’ l
d si=T is-T si (6)
l k
M[S,i]=d si-d si. (7)
For i=1…n
Mob[S]=1/n∑i=1…nM[S,i]. (8)
Step 6: Else
S sends the packet to it’s CH and CH calls dijkestra's algorithm for finding
the shortest path.
Step 8: On each intermediate nodes including source and destination node on the
shortest path battery power is decreased and it’s amount is inversely proportional to
the mobility of that node and packet size using equation 1.
Step 9: After some time, each node checks weight of it’s CH and compare it’s weight
with rest Domnode [].
If for any Domnode[i],
W[i]>W[CH]
Then
CH=id of ith node
4 Performance Analysis
The simulation experience conducted for the performance evaluations were
implemented in NS2.NS2 is a simulation tool, widely used for wireless network.
To determine the efficiency of proposed protocol, we monitored four parameters: no
of dominating nodes, no of non dominating nodes, load in the network and the delivery
time. Load is computed by total no packets transmitted during simulation period.
Figure 1 shows the no of dominating nodes as a function of number of nodes in the
network. Figure 2 shows delivery time for the routing protocol as a function of load in
the network.
42 D. Sinha and R. Chaki
The figure1 shows, nodes vs dominating nodes graph. Here, it is found that if
nodes increase, dominating nodes does not increase rapidly. From 5 to 10 nodes,
35
30
25
DELIVERY TIME
20
15
10
0
40 60 80 100 120 140 160 180 200 220
LOAD
Fig. 2. Load vs Delivery time
SRCHS – A Stable Reliable Cluster Head Selection Protocol 43
5 Conclusion
Our proposed algorithm is a cluster based routing protocol for adhoc network. In our
method cluster creation is based on distributed manner. In this proposed algorithm
cluster head selection is an important part. Most potential node in a cluster is selected
as cluster head. In this algorithm, cluster head is selected using the concept of
dominating and non dominating nodes. Most secured, stable node is selected as
cluster head in a cluster. This way, the proposed algorithm enhances the security as
well as stability of cluster. Some potential nodes among dominating nodes are
selected as cluster heads. Theses nodes are eligible for intra cluster communication.
This algorithm also concerns about the dynamic nature of mobile adhoc network for
cluster head maintenance. In the proposed protocol routing is also done quickly. The
reason behind this, routing is depended on the address of cluster heads. By failing any
node in the route, its CH may make another node to forward packets. This causes
error tolerance to be enhanced. If destination node, is not within cluster CH forwards
packets to it's gateway node and gateway node forwards packets to cluster head of
destination node. This way, intra cluster routing is also done efficiently. The
performance of proposed algorithm is evaluated through simulation of network
topology. Simulation demonstrates significant improvement in packet delivery ratio
with load in the network. Currently, we are in the process of conducting simulation
experiments for comparing this proposed protocol with other cluster based routing
protocol.
References
1. Schwartz, M., Stern, T.E.: Routing Techniques used in Communication Networks. IEEE
Trans. on Communications, 539–552 (April 1980)
2. Ramamoorthy, C.V., Bhide, A., Srivastava, J.: Reliable Clustering Techniques for Large,
Mobile Packet Radio Networks. In: Proc. IEEE INFOCOM, pp. 218–226 (May 1987)
3. Zhang, J., Jeong, C.K., Lee, G.Y., Kim, H.J.: Cluster-based Multi-path Routing Algorithm
for Multi-hop Wireless Network
4. Krishna, P., Vaidya, N.H., Chatterjee, M., Pradhan, D.K.: Cluster Based Routing Protocol.
ACM SIGCOMM Computer Communication Review 27(2), 49–64 (1997)
44 D. Sinha and R. Chaki
5. Gerla, M., Tasai, J.: Multicluster, mobile, multimedia radio network. ACM-Baltzer Journal
Wireless Networks 1(3), 255–256 (1997)
6. Jiang, M., Li, J., Tay, Y.C.: Cluster Based Routing Protocol(CBRP) Functional
Specification Internet Draft(June 1999) (draft-ieft-manet-cbrp.txt)
7. Zheng, Z.-w., Wu, Z.-h., Lin, H.-z., Zheng, K.-g.: CRAM: An Energy Efficient Routing
Algorithm for Wireless Sensor Networks. Computer and Information Sciences, 341–350
(2004)
8. Dhurandher, S.K., Singh, G.V.: Power aware cluster efficient routing in wireless ad hoc
networks. In: Pal, A., Kshemkalyani, A.D., Kumar, R., Gupta, A. (eds.) IWDC 2005.
LNCS, vol. 3741, pp. 281–286. Springer, Heidelberg (2005)
9. Wang, Y., Ling, T., Yang, X., Zhang, D.: Scalable and Effective Cluster Based Routing
Algorithm Using Nodes‘ Location for Mobile Ad Hoc Networks. Information Technology
Journal 7(7), 958–971 (2008)
10. Anitha, V.S., Sebastian, M.P.: SCAM: scenario-based clustering algorithm for mobile ad
hoc networks. In: Proceedings of the First international conference on COMmunication
Systems And NETworks, Bangalore, India, pp. 375–382. IEEE Press, Piscataway (2009);
ISBN:978-1-4244-2912-7
Handover Latency Reduction Using Integrated Solution
Scheme for Proxy Mobile IPv6
1 Introduction
A. Özcan, J. Zizka, and D. Nagamalai (Eds.): WiMo/CoNeCo 2011, CCIS 162, pp. 45–56, 2011.
© Springer-Verlag Berlin Heidelberg 2011
46 Md.M. Hassan and K.H. Poo
update its communication partners, while moving amongst these different wireless
and mobile networks.
In order to meet the above challenge, Internet Engineering Task Force (IETF) [1]
designed a new standard solution for Internet mobility officially called – IPv6
mobility support and popularly named as Mobile IPv6 (MIPv6) [2]. MIPv6 is the
modified version of MIPv4, that has great practicality and able to provide seamless
connectivity to allow a mobile device to maintain established communication sessions
whilst roaming in different parts of the Internet.
When a MH is handed over from one network to another network, it changes the
point of attachment from one access router (AR) to another. This is commonly known
as handover which allows MH to establish a new connection with a new subnet.
Handover is also defined as the process of changing between two ARs and when ARs’
point of attachment in the network changes. The point of attachment is a BS for
cellular network, or an AR for WLAN. Commonly, handover can be handled in the
link layer, if both the ARs are involved in the same network domain. Otherwise, a
route change in the IP layer possibly will be needed the so-called network layer
handover. In this case, Mobile IPv6 is a standard protocol for handling network layer
handover.
For IP-mobility protocols, the IP handover performance is one of the most
important issues that need to be addressed. IP handover occurs when a MH changes its
network point of attachment from one base station (BS) to another. Some of the major
problems that may occur during handover are handover latency and packet loss which
can degrade the performance and reduce quality of service. In a nutshell, handover
latency is the time interval between the last data segment received through the previous
access point (AP) and first data segment received through the next AP [3]. The major
problem arises with handovers is the blackout period when a MH is not able to receive
packets, which causes a high number of packet loss and communication disruption.
Such long handover latency might disrupt ongoing communication session and some
interruptions. If that change is not performed efficiently, end-to-end transmission
delay, jitters and packet loss will occur and this will directly impact and disrupt
applications perceived quality of services. For example, handovers that might reach
hundreds of milliseconds would not be acceptable for delay-sensitive applications like
video streaming and network gaming [3].
Currently, there are several mobility protocols which have been proposed in order to
alleviate such performance limitations. One of which is the enhanced version of
terminal independent Mobile IP (eTIMIP) [4], which is a kind of mobility management
protocol. eTIMIP enhances the terminal independent Mobile IP (TIMIP) by reducing
the amount of latency in IP layer mobility management messages exchanged between
an MH and its peer entities, and the amount of signaling over the global Internet when
an MH traverses within a defined local domain. TIMIP [4] is an example of IP based
micro-mobility protocol that allows MH with legacy IP stacks to roam within an IP
domain and doesn’t require changes to the IP protocol stack of MH in a micro mobility
domain.
Compared to the above mobility protocols, Proxy Mobile IPv6 (PMIPv6) [5] defines a
domain in which the MH can roam without being aware of any layer 3 (L3) movement
since it will always receive the same network prefix in the Router Advertisement (RA).
The PMIPv6 specification defines a protocol to support Network-based Localized
Handover Latency Reduction Using Integrated Solution Scheme 47
Mobility Management (NETLMM) [5] where the MH is not involved in the signaling.
This new approach is motivated by the cost to modify the protocol stack of all devices to
support Mobile IP and potentially its extensions and to support handover mechanisms
similar to the ones used in 3GPP/3GPP2 cellular networks.
We make use of Network Simulator, ns-2 [6] in this paper to simulate, examine and
compare the performances of eTIMIP, TIMIP, PMIPv6 as well as our proposed
integrated solution of PMIPv6 with MIH and Neighbor Discovery (PMIPv6-MIH) in
intra-domain traffic with high speed MH. We compare the handover latency and
packet delivery throughput of transmission control protocol (TCP) and user datagram
protocol (UDP) for eTIMIP, TIMIP, PMIPv6 and our proposed integrated solution of
PMIPv6-MIH in intra-domain traffic.
The rest of this paper is structured as follows: Section 2 briefly explain related
research works on the mobility protocols. Section 3 explains overview of media
independent handover. Section 4 briefly describes the propose solution scheme.
Section 5 shows simulation results of UDP and TCP flow under intra-domain traffic.
Finally, Section 6 we conclude the paper and provide possible future works.
provides both network and terminal independent mobile architectures based on the
usage of overlay micro-mobility architecture.
The physical network and overlay network are two complementary networks that are
organized in the architecture of eTIMIP. Both networks are separated in the mobile
routing from the traditional intra-domain routing which also known as fixed routing.
Generally, the physical network can have any possible topology, where it is managed
by any specialized fixed routing protocol. The overlay network is used to perform the
mobile routing, where it selects routers which support the eTIMIP agents, in which
will be organized in a logical tree that supports multiple points of attachment to the
external of the domain.
Neighbor Discovery (ND) enables the network discovery and selection process by
sending network information to the neighbor MAG before handover that can helps to
eliminate the need for MAG to acquire the MH-profile from the policy server/AAA
whenever a MH performs handover between two networks in micro mobility domain.
It avoids the packet loss of on-the-fly packet which is routed between the LMA and
previous MAG (p-MAG). This network information could include information about
router discovery, parameter discovery, MH-profile which contains the MH-Identifier,
MH home network prefix, LMA address (LMAA), MIH handover messages etc., of
nearby network links.
The overall handover latency consists of the L2 and L3 operations. The handover
latency is consequent on the processing time involved in each step of handover
procedure on each layer.
The handover latency (Lseamless) can be expressed as:
(1))
where LL3 represents the network layer as example switching latency and LL2
represents link layer as example switching time.
On L3, the handover latency is affected by IP connectivity latency. The IP
connectivity latency results from the time for movement detection (MD), configure a
new CoA (care-of-address), Duplicate Address Detection (DAD) and binding
registration. Therefore, L3 can be denoted as follows:
(2)
where Tmove represents the time required for the MH to receive beacons from n-MAG,
after disconnecting from the p-MAG. In order to estimate the movement detection
delay, based on the assumptions of mobility management protocols that the times
taken for MD are RS and RA messages as follow
(3)
Tconf represents the time that taken for new CoA configuration. Treg represents the
time elapsed between the sending of the BU from the MH/MAG to the MAP/LMA
and the arrival/transmission of the first packet through the n-MAG. Binding
registration is the sum of the round trip time between MH/MAG and MAP/LMA and
the processing time as follows:
Handover Latency Reduction Using Integrated Solution Scheme 51
(4)
TDAD represents the time required to recognize the uniqueness of an IPv6 address.
Once the MH discovers a new router and creates a new CoA it tries to find out if the
particular address is unique. This process is called DAD and it is a significant part of
the whole IPv6 process.
As simplification of (2), (3) and (4) equations, it can be expressed as:
(5)
On L2, MH has to perform three operations during the IEEE 802.11 handover
procedure such as scanning (Tscan), authentication (TAAA) and re-association (Tre-ass).
Handover latency at L2 can be denoted as follows:
(6)
Tscan represents the time that taken the MH performs a channel scanning to find the
potential APs to associate with. When MH detects link deterioration, it starts scanning
on each channel finding the best channel based on the Received Signal Strength
Indicator (RSSI) value.
TAAA represents the time taken for authentication procedure that depends on the
type of authentication in use. The authentication time is round trip time between MH
and AP. While Tre-ass represents the time needed for re-association consists of re-
association request and reply message exchange between MH and AP if
authentication operation is successful.
In the above simulation scenario, the p-MAG and n-MAG are in separate subnets.
The two MAGs have both L2 and L3 capabilities that handles handovers. The router is
interconnected to the LMA by a series of agents that are organized in a hierarchical
tree structure of point-to-point wired links.
The packet flow of CBR and FTP are simulated and transmitted from the CN to the
MH using UDP and TCP. The link delay between the CN and the LMA is set at 10ms
while the bandwidth is set at 100Mb. The link delay between the LMA and the
respective MAGs is set at 1ms. The CBR and FTP packet size is set at 1000 and 1040
bytes while the interval between successive packets is fixed at 0.001 seconds.
Fig. 5. Handover Latency of UDP Flow in Fig. 6. Handover Latency of TCP Flow in
micro mobility domain micro mobility domain
Fig. 7. Throughput (Mbps) of UDP Flow in Fig. 8. Throughput (Mbps) of TCP Flow in
micro mobility domain micro mobility domain
In above results, it is observed that UDP and TCP performance of eTIMIP and
TIMIP increased the handover latency during the MH moves to new network in micro
mobility domain. It also noted from the simulation results that performance of
throughput also shown degradation. This is due to the fact that, when MH moves
away from one network to another in micro mobility domain with high speed
mobility, there are lots of operations to perform between the changes of network, such
as configuring new CoA, DAD operation, binding registration and MD.
In comparison to PMIPv6, it does not require CoA and DAD as MH is already
roaming in the PMIPv6 domain. Once the MH has entered and is roaming inside the
PMIPv6 domain, CoA is not relevant since according to the PMIPv6 specification, the
MH continues to use the same address configuration. The operation of a DAD is
required for a link-local address since address collision is possible between MH,
MAG and all MH’s attached to the same MAG. The DAD operation may significantly
increase handover latency and is a very time consuming procedure. As DAD requires
around one second (or even much than one sec.), PMIPv6 introduce a per-MH prefix
model in which every MH is assigned a unique HNP. This approach may guarantee
address uniqueness. But still PMIPv6 suffers from a lengthy handover latency and
packet loss during the handover process when MH speed is high. To overcome these
problems, we proposed integrated solution scheme for PMIPv6 that can send the MH-
profile to the n-MAG through ND message before handover on L3 and also reduce the
time on L2 scanning by informing the MH about the channel information of next APs
using MIH services.
Based on the proposed solution scheme, the result of handover latency and
throughput are better than other mobility protocols. The reason of reduce handover
latency and improve throughput in micro mobility domain as below:
Handover Latency Reduction Using Integrated Solution Scheme 55
6 Conclusion
In this paper, we conducted simulations to evaluate, compare and examine the
mobility protocols under intra-domain approaches. As for performance, we compared
performance indicators such as handover latency and throughput for mobility
protocols to the proposed integrated solution. Based on our simulation results
obtained, the integrated solution of PMIPv6-MIH demonstrates better performance as
compared to other mobility protocols. As for the future work, we would like to
improve the handover latency, and evaluate the performance of the proposed
PMIPv6-MIH on real-time applications e.g. video streaming.
References
1. Johnson, D., Perkins, C., Arkko, J.: IP Mobility Support in IPv6. RFC 3775 (June 2004),
http://www.ietf.org/rfc/rfc3775
2. Perkins, C.E.: Mobile Networking Through Mobile IP. IEEE Internet Computing 2(1),
58–69 (2002)
3. Yaakob, N., Anwar, F., Suryady, Z., Abdalla, A.H.: Investigating Mobile Motion
Prediction in Supporting Seamless Handover for High Speed Mobile Node. In:
International Conference on Computer and Communication Engineering, pp. 1260–1263
(2008)
4. Estrela, P.V., Vazao, T.M., Nunes, M.S.: Design and evaluation of eTIMIP – an overlay
micro-mobility architecture based on TIMIP. In: International Conference on Wireless and
Mobile Communications (ICWMC 2006), pp. 60–67 (2006)
5. Kong, K., Lee, W., Han, Y., Shin, M., You, H.: Mobility management for all-IP mobile
networks: mobile IPv6 vs. proxy mobile IPv6. In: International Conference on Wireless
Communications, pp. 36–45 (2008)
6. NS-2 home page, http://www.isi.edu/nsnam/ns
7. Kwon, T.T., Gerla, M., Das, S.: Mobility management for VoIP service: Mobile IP vs. SIP.
IEEE Wireless Communications 9(5), 66–75 (2002)
56 Md.M. Hassan and K.H. Poo
8. Jung, J.-W., Kim, Y.-K., Kahng, H.-K.: SCTP mobility highly coupled with mobile IP. In:
de Souza, J.N., Dini, P., Lorenz, P. (eds.) ICT 2004. LNCS, vol. 3124, pp. 671–677.
Springer, Heidelberg (2004)
9. Columbia IP micro-mobility suite (CIMS),
http://tagus.inesc-id.pt/~pestrela/ns2/mobility.html
10. Abdalla Hashim, A.H., Ridzuan, F., Rusli, N.: Evaluation of Handover Latency in Intra-
Domain Mobility. In: The Fourth World Enformatika Conference (2005)
11. Taniuchi, K., Ohba, Y., Fajardo, V.: IEEE 802.21: Media independent handover. Features,
applicability, and realization 47(1), 112–120 (2009)
Modeling and Simulation Analysis of QPSK
System with Channel Coding
Abstract. The most appropriate modulation and channel coding for a Very
Small Aperture Terminal (VSAT) system is Quadrature Phase Shift Keying
(QPSK). The Channel can be wire or wireless voice and data applications due
to its flexible system architecture. In this paper, a Simulink based QPSK system
is simulated to study the characteristic performance analysis of Additive White
Gaussian Noise (AWGN) channel. Simulation study helps to visualize eye-
diagram and Root Raised cosine (RRC) Filter with scatter plot. The error rate is
calculated by comparing a transmitted data stream with a receive data stream
with the help of delay introduction. Characteristic performance analysis is done
by comparing the un-coded data with coded data using two different models.
The Bit Error Rate (BER) curve for a Communication system illustrates the
relationship between power in the transmitted signal in terms of signal to noise
ratio (SNR) and the resulting BER for the system.
1 Introduction
A. Özcan, J. Zizka, and D. Nagamalai (Eds.): WiMo/CoNeCo 2011, CCIS 162, pp. 57–64, 2011.
© Springer-Verlag Berlin Heidelberg 2011
58 T.P. Surekha et al.
an Indoor Unit (IDU). IDU consists of QPSK modem equipment. In a Satellite link,
Modulation and Channel coding is an important key consideration in determining the
efficient and error-free transfer of information over a communication channel. In
choosing the most appropriate modulation for a VSAT system, ease of
implementation is a major factor, since VSATs are very cost-sensitive. The most
common forms of modulation used in VSAT system are Quadrature Phase shift
Keying (QPSK).
The purpose of this paper is to illustrate some important aspects on analysis and
simulations of QPSK system operating over an Additive White Gaussian Noise
(AWGN) channel. All the modeling and simulation is carried out using Simulink. In
the simulation model, Bit Error rates (BER) of QPSK system versus the Eb /No the
digital signal to noise (SNR) are used to evaluate the system performance analysis.
The basic description of QPSK system is as shown in Fig.1. It consists of Data source,
QPSK Transmitter, Channel, QPSK Receiver and a Data sink.
The original binary data to be transmitted is first converted into bit stream. In QPSK
system, input signal is frame-based signal representation, by formatting data as an M-
by-1 column vector, where M represents the number of samples per frame and
element of the vector corresponds to values at the sample time. Thus data signal is a
Bernoulli Binary Generator, will generate an output bit sequence. In – frame based
processing, the blocks operate on each column (channel) of the incoming data. A
multichannel frame based signal is represented by an M-by-N matrix. Usually, the
number of possible signals is M= 2n , where n is an integer.
The QPSK transmitter converts the bits into integers or symbols and applies to
baseband modulation and further followed by optional pulse shaping. The result is a
pass band signal which can be transmitted over a physical channel. The modulation
process can be viewed as a complex modulation scheme using a scatter diagram. The
scatter diagram allows us to visualize the real and the imaginary (in-phase and
quadrature) component of the complex signal. Pulse shaping is an important
consideration in the design of a system. The pulse shape filter must make efficient use
of bandwidth and also have limited duration in time. A pulse too wide in time will
overlap into adjacent symbol periods and cause inter symbol interference (ISI). This
Modeling and Simulation Analysis of QPSK System with Channel Coding 59
filtering can be performed by using Root-Raised cosine (RRC) filters. The eye
diagram allows us to understand the time domain characteristic of a signal and its
susceptibility to symbol timing error.
Channel coding is an important technique to detect and correct errors that occur when
messages are transmitted in a digital communication system. Channel coding can take
the form of a block code or a convolutional code. Convolutional codes create a trellis
structure, a decision tree that traces all possible sequences of codeword’s. To decode
this coding scheme, the Viterbi decode is typically implemented. Communication
channels introduce noise, fading, interference, and other distortions to the transmitted
signals. Several different channels are possible. The one being used here is AWGN
channel, It is assumed that while passing electromagnetic waves through air or other
mediums, there is an additive noise introduced to the transmission. Thus channel
simply adds white Gaussian noise to the signals as shown in Fig.2.
White noise
The receiver is the most complex part in the system. It performs the reverse process of
the transmitter. Receiver block takes the output from the channel, and filters out the
signals by using RRC filter and demodulates the QPSK signals and finally convert it
into either bit converter or viterbi decoder (for coded).
The Error Rate Calculation block compares a transmitted data stream with a receive
data stream to calculate the error rate of a system. It also outputs the number of error
events that have occurred, and the total number of bits or symbols compared.
2 Implementation
2.1 Methodology
Modeling and simulating of coded QPSK system is implemented in this paper. The
bits are mapped onto corresponding QPSK symbols using Gray coding, as shown in
Fig. 3.
60 T.P. Surekha et al.
B=01 A=11
C= 00 D=10
The implementation of QPSK is of higher order PSK. Writing the symbols in the
2
Si (t) = Cos 2 2 1 0≤ t ≤ Ts
Where i = 1,2,3,4--------- (1)
This yields the four phases , , , as needed. For the QPSK signal set, the four
signals in the set can be expressed in terms of the basis signals as
S qpsk (t) = √ 2 1 ф √ 2 1 ф
ф (t)= 2 0≤ t ≤ Ts (4)
T Sin (2πf t)
The first basis function is used as the in-phase component of the signal and the second
as the quadrature component of the signal. The average probability of bit error in the
additive white Gaussian noise (AWGN) channel is obtained as
2E
Pe, QPSK = Q N
(5)
Where Es is the energy of the signal given by Es = 2Eb, and No is the noise.
Simulink, developed by the Math works, is an tool for multi-domain simulation and
Model-based Design for dynamic and Communication systems. Communication
Block set of Simulink is helpful in simulating the modeling. The base-band simulation
model of coded QPSK is as shown in Fig.4.
Modeling and Simulation Analysis of QPSK System with Channel Coding 61
QPSK Specifications:
Up-sample Factor = 8
Pulse shaping Filter α =0.25
Group Delay = 4
All signal sources in the signal processing and communication‘s can generate
frame based data. In this work, the signal is frame based and samples are propagated
through a model and multiple samples are processed in batches. Frame – based
processing takes advantage of Simulink matrix processing capabilities to reduce
overhead. Complex modulation scheme are best viewed using a scatter diagram. The
scatter diagram allows us to visualize the real and imaginary (in-phase and
quadrature) component of the complex signal. By doing so, the phase and amplitude
distortion caused by pulse shaping channel or other impairment is revealed. Thus
Fig. 5. shows the Scatter plot of QPSK modulation.
An Eye diagram is a convenient way to visualize a shaped signal in the time
domain, which indicates that the ‘eye’ is most widely opened, and use that point as
the decision point when de-mapping a demodulated signal to recover a digital
message as shown in Fig. 6. Using the Root-raised Cosine (RRC) filters at the
transmitter, a slight amount of phase and magnitude distortion can be seen at the
output of the transmitting filter. To verify that the model was built properly, Error rate
Calculation block compares a transmitted data stream with a receive data stream to
calculate the error rate of a system. It also outputs the number of error events that
have occurred, and the total number of bits or symbols compared. The block can
output the error statistics as a variable in the displayed port.
the receiver, resulting in bit errors. The ratio of bit errors to received bits is called the
bit error rate (BER). The BER curve illustrates the relationship between power in the
transmitted signal in terms of signal-to-noise ratio (SNR) and the resulting BER for
the system. By analyzing the BER curve for a given system, we can find the minimum
SNR that is required to achieve a particular BER. Thus bit error rate is computed by
simulating the QPSK system and comparing the input with the resulting output
sequence without channel coding as shown in Fig.7 and with channel coding as
shown in Fig.8.Which Performs simulation for a range of SNR value results in the
BER curve.
Modeling and Simulation Analysis of QPSK System with Channel Coding 63
Fig. 7. Bit error rate as a function of E b /No for un-coded QPSK curve
Fig. 8. Bit error rate as a function of Eb /No Compared with coded And un-coded results
64 T.P. Surekha et al.
Acknowledgement
The authors are very grateful to the Management of Vidya vardhaka College of
Engineering, Mysore, Karnataka India, The National Institute of Engineering,
Mysore, Karnataka, India..S J B I T,Kengeri, Bangalore, Karnataka, India. For their
constant encouragement, and Motivation during their work.
References
[1] Li, X.: Simulink – based Simulation of quadrature Amplitude Modulation (QAM) System.
In: Proceedings of the 2008 IAJC – IJME International Conference (2008)
[2] Sukla, T., Jain, D., Gautham, S.: Implementation of Digital QPSK modulator by using
VHDL/MATLAB. International Journal of Engineering and Technology 2(9)
[3] Pratt, T., Bostian, C., Allnutt, J.: Satellite Communication, 2nd edn. John Wiley and Sons,
Chichester
[4] Rappaport, T.S.: Wireless Communications, Principles and Practice, 2nd edn. Prentice –
Hall of India Private Limited
[5] Sharma, S.: Wireless and Cellular Communications, 2nd edn. S.K. Kataria and Sons
Katson Books
[6] Elbert, B., Schiff, M.: Simulating the performance of Communication Links with Satellite
Transponders. Application Technology Strategy, Inc., http://www.goggle.com
Combating Sybil Attacks in Vehicular Ad Hoc Networks
1 Introduction
Wireless Networks have a wide range of applications that is why they have become
an essential part of our daily life. Amongst wireless networks, VANETs have many
applications such as managing traffic and providing safety for vehicles. In VANETs,
every vehicle communicates with other vehicles and with roadside infrastructures as
well. These networks are mainly used for informing vehicles in case of emergencies
such as car accidents, urgent breaking or traffic jam. This is done by broadcasting
safety messages to warn other vehicles. As those safety messages have a substantial
role in these networks, they should be sent from credible transmitters and contain
proper and unaltered information. Despite the importance of location and identity
privacy in such networks together with the need to protect vehicles from being
tracked, it is necessary to identify the message sender in order to prevent repudiation
in cases of accidents and crimes. A serious problem arises when a malicious vehicle is
to launch a Sybil attack by holding the identities of multiple vehicles and enforcing
false data. If benign entities are unable to recognize the Sybil attack, they will believe
the false information, and base their decisions on it. Hence, addressing this problem is
crucial to practical vehicular network systems. Fig. 1 illustrates the Sybil attack
problem in which some or malicious nodes cooperate to deceive the other honest
nodes, or in other scenarios of this attack, a node illegitimately claims multiple
A. Özcan, J. Zizka, and D. Nagamalai (Eds.): WiMo/CoNeCo 2011, CCIS 162, pp. 65–72, 2011.
© Springer-Verlag Berlin Heidelberg 2011
66 K.M. Rabieh and M.A. Azer
Fig. 1. Sybil attack in which a Sybil node pretends to have several identities or a group of
malicious nodes cooperate together to affect the overall network decision, the bold black lines
show the false data and false information between honest and Sybil nodes [2]
2 Related Work
Due to the danger inherent in the Sybil attack; its detection in VANETs has recently
attracted much attention. Douceur in [3] introduced the puzzle solution that tests the
computing resource of nodes to detect Sybil attack. But in [4], J. Newsome et al.
proved that Douceur’s method is not suitable for VANETs because an attacker can
easily have a stronger computing ability than the honest node. Newsome et al.
improved the method by assuming that each vehicular node can only have one
wireless communication module and only occupy one channel resource at a time. But
the special radio modules can bring hazards during implementation.
One of the most famous solutions was proposed in [4]. It uses the resource testing
idea which relies on the assumption that any physical device has only one radio and it
can assign each of its n neighbours a different channel to broadcast some messages on
and it can then choose a channel randomly to communicate with other vehicles.
However, this is subject to the risk of not accurately detecting all Sybil nodes and
making all communication channels busy as well.
Hubaux[5] proposed another solution as three or more road side units perform
distance bounding on a vehicle before computing its location. In [6] public key
cryptography was used to solve the security problems in VANETs but it was a general
solution not specific to any type of attack. Guette and Bryce [7] suggested a secure
Combating Sybil Attacks in Vehicular Ad Hoc Networks 67
hardware based method built on the trusted platform module (TPM). Secure
information and related protocols are stored in shielded locations of the module where
any forging or manufacturing of data is impossible, and the platform credentials are
trusted by car manufacturers; therefore, the communications between TPMs of the
vehicles are protected from the Sybil attack. However, as the TPM is a variation of a
certificate, it still needs trusted authorities that can take the responsibility of managing
individual vehicles it is also costly because it requires specific hardware. In [8] there
exists a solution that depends on Road Side Units (RSUs) broadcasting the digital
signatures with timestamp to vehicles in their communication range, however the
attacker can impersonate RSU and injects malformed digital signatures with
timestamps that can affect the total decision of VANETs. Certified timestamps signed
by RSUs are sent to vehicles upon request were suggested in [9], but this solution
requires time synchronization between all RSUs, which may be difficult. Also, RSUs
are subject to resource exhausting by continuously sending previous time stamps to
enforce it to produce aggregated time stamp.
In order to detect and prevent the Sybil attack, our proposed scheme has the following
steps:
1- The driver watches an emergency and needs to inform the DMV for taking an
action.
2- The driver describes the event and inserts his own card/token in the reader/USB.
3- The event is structured such that the information describing the event is entered
by the driver in addition to the timestamp of the event. The driver signs the dual hash
which is based on the dual signature idea used in Secure Electronic Transaction (SET
[10]) protocol to guarantee the linkage between the payment order and purchase
order. In the proposed solution we replace the payment order and purchase order
originally mentioned in the SET protocol by the personal ID stored in the token/smart
card and the event data. Both are hashed and the hashes are concatenated, hashed
again and then signed by the private key from the token/smart card. Fig. 3 depicts the
process of the dual signature.
The Personal ID is taken from the smart card, the event is created with a predefined
structure and both are signed by the driver’s private key, this is to ensure the non-
repudiation. Similar events with the same signature within specified time frames will
be discarded by the RSBs; this is to ensure that Sybil attack is prevented. Another
important function added by the Dual Signature is that it links between the person’s
ID and the event, therefore; it can be used for legal issues in case of attacks.
Combating Sybil Attacks in Vehicular Ad Hoc Networks 69
Fig. 4. Creation of Digital Envelope inside the processing centre of the vehicle
EŽ
E
dŚĞĚƌŝǀĞƌĚĞƐĐƌŝďĞƐƚŚĞ
ƌŝǀĞƌŚĂƐĂ zĞƐ
ĞǀĞŶƚĂŶĚŝŶƐĞƌƚƐŚŝƐ
h^dŽŬĞŶ
ŽǁŶh^dŽŬĞŶ
^LJďŝůĂƚƚĂĐŬŝƐĚĞƚĞĐƚĞĚĂŶĚĐĂƌŝƐ
ďůŽĐŬĞĚ͘ EŽ
ŝŐŝƚĂůŶǀĞůŽƉĞŝƐĐƌĞĂƚĞĚĂŶĚŝƐ
džŝƚ ƐĞŶƚƚŽƚŚĞZ^
zĞƐ
EŽ Z^ǁŝůůĐĂŶĐĞůƚŚĞ
/ŶĐŽŶƐŝƐƚĞŶĐLJ ^ƵƐƉŝĐŝŽƵƐDŽĚĞ
ŽĐĐƵƌƌĞĚ͍ Z^ĨŽƌǁĂƌĚƐƚŚĞĞŶǀĞůŽƉĞƚŽƚŚĞDs
DsǀĂůŝĚĂƚĞƐƚŚĞĐĂƌ/ĂŶĚƌĞƐƉŽŶĚƐƚŽ
Z^ǁŝůůƉŝĐŬƌĂŶĚŽŵŶƵŵďĞƌŽĨŚĂƐŚŝĚƐŽĨĐĂƌƐ
ƚŚĞZ^
ĂŶĚǁŝůůĐŽŶŶĞĐƚƚŽĂĚĞǀŝĐĞŝŶƚŚĞĐĂƌƚŚĂƚŚĂƐ
ĂĐĐĞƐƐƚŽƐŽŵĞǀĂƌŝĂďůĞƐůŝŬĞƚŚĞǀĞůŽĐŝƚLJĂŶĚ
ĂĐĐĞůĞƌĂƚŝŽŶ
EŽ
Z^ sĂůŝĚZ/
Z^ǁŝůůƚƵƌŶƚŽ^ƵƐƉŝĐŝŽƵƐDŽĚĞ ŽƵŶƚĞƌŝƐ
ŝŶĐƌĞĂƐĞĚ
zĞƐ
Z^ƚŚƌĞƐŚŽůĚ
sĂůƵĞZĞĂĐŚĞĚ͍ Z^ǁĂŝƚƐ
ĨŽƌŽƚŚĞƌĞǀĞŶƚƐ
vehicle’s ID and compares it with the database to determine the owner of the car. If the
owner of the car’s ID is identical to the personal ID sent in the digital envelope, the RSB
forwards its response to the DMV to confirm that it is valid, otherwise it will respond to
the RSB by invalid. A Threshold value is maintained in all RSBS. If an RSB’s counter
has reached this threshold the RSB will turn to suspicious mode. This value is adjustable
and it should depend on the region’s vitality to the motion of the city.
6- During the suspicious mode, in order to verify whether an attack (co-operative
Sybil attack) has occurred or not, the RSB will pick a random number of hash IDs of
cars and will connect to a device in the car that has access to some variables like the
velocity and acceleration of the vehicle. If there is consensus of the events, then
suspicious mode is cancelled and the RSB is sure that an accident has really occurred.
The RSB should now inform the DMV about the accident’s location determined from
the received events or from the responses of the vehicle devices. The DMV then
broadcasts the emergency’s location in order for other vehicles to take another route.
Combating Sybil Attacks in Vehicular Ad Hoc Networks 71
References
1. Zhou, T., Choudhury, R.R., Ning, N., Chakrabarty, K.: Privacy-Preserving Detection of
Sybil Attacks in Vehicular Ad Hoc Networks. In: Proceedings of the 2007 Fourth Annual
International Conference on Mobile and Ubiquitous Systems Networking&Services,
MobiQuitous (2007)
2. Yu, H., Kaminsky, M., Gibbons, P., Flaxman, A.: Defending Against Sybil Attacks via
Social Networks. In: Proceedings of the 2006 conference on Applications, Technologies,
Architectures, and Protocols for Computer Communication (2008)
3. Douceur, J.: The Sybil Attack in Peer-To-Peer Systems. In: Proceedings of First
International Workshop on Peer-to-Peer Systems, March 7-8 (2002)
4. Newsome, J., Shi, E., Song, D., Perrig, A.: The Sybil Attack in Sensor Networks, Analysis
& Defences. In: Third International Symposium on Information Processing in Sensor
Networks, IPSN 2004 (2004)
72 K.M. Rabieh and M.A. Azer
5. Hubaux, J.P., Capkun, S., Luo, J.: The Security and Privacy of Smart Vehicles. IEEE
Security and Privacy Magazine 2(3), 49–55 (2004)
6. Raya, M., Hubaux, J.P.: Securing vehicular ad hoc networks. Journal of Computer Security
- Special Issue on Security of Ad-hoc and Sensor Networks (2007)
7. Guette, G., Bryce, C.: Using TPMs to Secure Vehicular Ad-Hoc Networks (VANETs). In:
Proceedings of the 2nd IFIP WG 11.2 International Conference On Information Security
Theory and Practices: Smart Devices, Convergence and Next Generation Networks (2008)
8. Chen, C., Wang, X., Han, W., Zang, B.: A Robust Detection of the Sybil Attack in Urban
VANETs. In: Proceedings of the 2009 29th IEEE International Conference on Distributed
Computing Systems Workshops, ICDCSW 2009 (2009)
9. Park, S., Aslam, B., Turgut, D., Zou, C.: Defense Against Sybil Attack in Vehicular Ad
Hoc Network-based on Roadside Unit Support. In: Proceedings of the 28th IEEE
Conference on Military Communications (2009)
10. Wei, H., Huang, S., Vi, G., Xie, Z.: An Anonymity Improvement Scheme of Secure
Electronic Transactions Protocols. In: 3rd International Conference on Advanced
Computer Theory and Engineering(ICACTE 2010) (2010)
11. Zhao, X., Wenyan, Z., Shanshan, C.: New Certificate Status Verification Scheme Based on
OCSP for Wireless Environment. In: International Forum on Computer Science-
Technology and Applications (2009)
12. El Zarki, M., Mehrotra, S., Tsudik, G., Venkatasubramanian, N.: Security Issues in A
Future Vehicular Network. In: Euro Wireless Conference (2002)
13. Yan, G., Choudhary, G., Weigle, M., Olariu, S.: Providing VANET security through
Active Position Detection. In: Proceedings of the Fourth ACM International Workshop On
Vehicular Ad Hoc Networks (September 2007)
TCSAP: A New Secure and Robust Modified
MANETconf Protocol
1 Introduction
In the last decade, large research efforts have been made to address challenges
posed by MANETs, These challenges include mainly IP address autoconfigu-
ration, routing, security and QoS issues. In security context, the major part of
research up to now was concentrated mainly on trust models and routing security
problems. However, the lack of security in previously suggested autoconfigura-
tion schemes can lead to serious attacks in potentially hostile environments,
mainly IP spoofing attack, sybil attack, traffic overload DoS attack, exhaustion
address space attack, and conflict address attack. This problem was tackled by
some few papers [1]-[5]. We have analyzed these proposals and pointed out their
weaknesses and shortcomings in [13]; we have identified also the imperative se-
curity requirements related to this problem. In the present paper, we propose a
new robust and secure stateful IP address allocation protocol for MANETs, by
applying a cooperative security scheme to cope with malicious nodes including
misbehaving nodes that could be compromised by potential adversaries. The
scheme relies on a fully distributed Certification Authority based trust model
in conjunction with a threshold signature scheme for issuing and revoking cer-
tificates, and ‘On-line Joint IP Address and Public Key Certificate’ ; this solves
definitively the problem of some attacks such as IP spoofing and Sybil attacks,
unsolved up to now by conventional mechanisms. The remainder of the paper is
organized as follows. In section 2, we develop our secure and robust autoconfigu-
ration scheme on the basis of threshold cryptographic tools. Section 3 is devoted
A. Özcan, J. Zizka, and D. Nagamalai (Eds.): WiMo/CoNeCo 2011, CCIS 162, pp. 73–82, 2011.
c Springer-Verlag Berlin Heidelberg 2011
74 A. Abdelmalek et al.
to the design of the basic building blocks of the protocol TCSAP. A security
discussion is given in section 4. Section 5 presents our simulation experiments.
Finally, section 6 concludes the paper.
We adopt in our solution for both schemes: IP Address allocation and trust
model, a fully distributed approach based on threshold concept.
Note that in our scheme, each node must hold: On one hand, a valid share of the
Network’s private key and a pair of private/public keys approved by the On-line
CA.
by assigning free IP addresses without asking permission from any other node in
the MANET. To achieve this, we divide the Address Space into a fixed number
(say M ) of disjoint IP Address Blocks with equal sizes. We define an IP Address
Block as a consecutive range of IP addresses. The parameter M is a power of 2.
– Free IP Address Table (FAT ): contains the lowest free address of each IP
Address Block. (i-e M values)
– Pending IP Address Table (PAT ): contains recently assigned IP addresses
which are not registered yet.
– Registered IP Address Table (RAT ): Each entry in this table contains any
assigned and registered IP address, the corresponding node’s identity, its
public key and the On-line joint certificate validity period. A registered node
will be removed from the RAT if its certificate has expired. Nodes wishing
to maintain their addresses must make a request for maintenance within a
time specified before the expiry of their certificates.
– Requester Counter (RC ): this counter is maintained for each new node re-
questing for an autoconfiguration and to which an IP address is assigned but
not registered yet. It is incremented for each new request. To prevent the
Exhaustion Address Space Attack, the authorized attempts for the Autocon-
figuration Service Requesting are limited.
A configured node must update his state information in the following situations:
(i) Each time it reboots, (ii) Each time it leaves and joins the MANET again,
(iii) If it has not been solicited for a long time to perform the Autoconfiguration
Service. The node wishing to update its state information must collect redundant
data from at least k nodes.
Type of Messages
– Discovery_Request : this message is used by an Unconfigured node to discover
its one-hop neighbors.
– Discovery_Welcome: is a reply message to any Discovery_Request message
when the responder is in state Configured.
Type of Messages
its ‘Off-line Public Key Certificate’ and its signature, expecting reception of
a Config_Cert_Reply message from the combiner within a timeout period
determined by the ConfigCertTimer.
Fig. 1. APN Algorithm: (a) Research of closest servers, (b) Procedure of coalition
selection and certification requesting
Certificate’ and the signature of the whole IPv6 packet. This request must be
processed by each node without any acknowledgement.
4 Security Discussion
5 Simulation Experiments
Simulation experiments were performed using the network simulator NS-2 [14]
with CMU mobility extensions to evaluate the performance of our protocol in
terms of configuration latency and communication overhead. The configuration
latency metric represents the average delay for a new joining node to obtain an
‘On-line Joint IP address and Public Key Certificate’. This includes all possible
80 A. Abdelmalek et al.
The random waypoint mobility model was used. The simulation time was set to
120 seconds. We used the AODV routing protocol. Each data point represents
an average value of five runs with the same settings, but different randomly
generated topology and mobility scenarios.
The following sets of simulation were performed.
a) Varying network density: We study here the effect of the network density
on latency and communication overhead. The area of the network was set to
1000m*1000m, for the 15, 25, 50, 75 and 100 node population, ensuring respec-
tively 15, 25, 50, 75, and 100 nodes/km2 for the network density. The simulations
were performed for different values of threshold k. No motion was applied in this
scenario.
b) Varying network mobility: we examine the protocol efficiency when the
mobility of nodes increases. A network area of 1000m*1000m with 50 nodes is
simulated for different values of threshold k. We vary the maximum node speed
from 0 to 50 m/s; pause time is set to 0, according to the following command
(example for 20 m/s node speed):
Setdest –v2 –n 50 –s 1 –m 20 –M 20 –t 120 –P 1 –p 0 –x 1000 –y 1000.
a) Latency:
b) Communication Overhead:
1. Impact of network density: In networks with high density, there are more
nodes in the neighbourhood of the new joining node, and all reply to its
autoconfiguration service requesting, leading to a higher number of messages
exchange. For this raison, we observe in (Fig. 4-a) an increasing in overhead
when density increases. Note that this will increase also latency.
2. Impact of mobility: For the same reasons provided above, the node mobility
has no significant effect on overhead. (Fig. 4-b)
6 Conclusion
The TCSAP protocol proposed in this paper achieves IPv6 stateful dynamic
configuration for MANETs. Our solution provides both security and robustness
82 A. Abdelmalek et al.
and overcomes all the limitations of the previously proposed approaches while
still ensuring the timely IP address allocation. Furthermore, instead of others
approaches which use separate mechanisms for network parameters configuration
and security parameters configuration, our scheme achieves the same purpose at
once, which make it efficient in terms of latency and communication overhead
as shown by NS2 simulation results.
References
1. Buiati, F., Puttini, R.S., de Sousa Jr., R.T.: A Secure Autoconfiguration Protocol
for MANET Nodes. In: Nikolaidis, I., Barbeau, M., An, H.-C. (eds.) ADHOC-NOW
2004. LNCS, vol. 3158, pp. 108–121. Springer, Heidelberg (2004)
2. Cavalli, A., Orset, J.M.: Secure hosts autoconfiguration in mobile ad hoc networks.
In: ICDCSW 2004, pp. 809–814 (2004)
3. Wang, P., Reeves, D.S., Ning, P.: Secure Address Autoconfiguration for Mobile Ad
Hoc Networks. In: MOBIQUITOUS 2005, pp. 519–522 (2005)
4. Hu, S., Mitchell, C.J.: Improving IP Address Autoconfiguration Security in
MANETs Using Trust Modelling. In: Jia, X., Wu, J., He, Y. (eds.) MSN 2005.
LNCS, vol. 3794, pp. 83–92. Springer, Heidelberg (2005)
5. Langer, A., Kühnert, T.: Security issues in Address Autoconfiguration Protocols:
An improved version of the Optimized Dynamic Address Configuration Protocol.
In: archiv.tu-chemnitz.de (2007)
6. Nesargi, S., Prakash, R.: MANETconf: Configuration of Hosts in a Mobile Ad Hoc
Network. In: IEEE INFOCOM (June 2002)
7. Kong, J., Zerfos, P., Luo, H., Lu, S., Zhang, L.: Providing Robust and Ubiquitous
Security Support for MANET. In: IEEE International Conference on Network Pro-
tocols, pp. 251–260 (November 2001)
8. Di Crescenzo, G., Arce, G., Ge, R.: Threshold Cryptography in Mobile Ad
Hoc Networks. In: Blundo, C., Cimato, S. (eds.) SCN 2004. LNCS, vol. 3352,
pp. 91–104. Springer, Heidelberg (2005)
9. Shamir, A.: How to Share a Secret. Communications of the ACM 22(11), 612–613
(1979)
10. Pedersen, T.P.: A threshold cryptosystem without a trusted party. In: Davies,
D.W. (ed.) EUROCRYPT 1991. LNCS, vol. 547, pp. 522–526. Springer, Heidelberg
(1991)
11. Hwang, M., Chang, T.: Threshold Signatures: Current Status and Key Issues.
International Journal of Network Security 1(3), 123–137 (2005)
12. Gouda, M.G.: Elements of Network Protocol Design. John Wiley and Sons, Chich-
ester (1998)
13. Abdelmalek, A., Feham, M., Taleb-Ahmed, A.: On Recent Security Enhancements
to Autoconfiguration Protocols for MANETs: Real Threats and Requirements.
IJCSNS 9(4), 401–407 (2009)
14. The Network Simulator manual, The NS2 homepage,
http://www.isi.edu/nsnam/ns
15. Speed Comparison of Popular Crypto Algorithms, http://www.cryptopp.com
Highly Resilient Communication Using Affine Planes for
Key Predistribution and Reed Muller Codes for
Connectivity in Wireless Sensor Network
Abstract. Wireless Sensor Networks (WSN) consist of low powered and re-
source constrained sensor nodes which are left unattended for long duration of
time. Hence it is very challenging to design and implement cost effective secu-
rity protocols for such networks. Thus symmetric key cryptographic techniques
are preferred over public key techniques for communication in such scenarios.
Prior to deployment, keys are usually predistributed into the nodes and this prob-
lem has been well studied. Highlighting that connectivity and communication are
two separate aspects of a WSN, we propose a secure connectivity model using
Reed Muller codes. The model is then utilized to securely establish communica-
tion keys and exchange messages in a WSN designed on the basis of a scheme
that uses affine planes for key predistribution. Novel combination of both the
ideas yields highly resilient communication model with full connectivity between
nodes.
1 Introduction
Wireless sensor networks consist of tiny sensor nodes that have very limited battery
power, less amount of storage, low computational power and they are scattered in large
numbers over a vast region. The sensors communicate between each other and with
the base station via radio frequencies. These networks are used in civilian purposes
like smoke detection, wild fire detection, seismic activity monitoring, ocean tempera-
ture monitoring, salinity monitoring of sea water. Besides they have large application
in military purposes, for instance monitoring enemy movements. Clearly, the nodes
deal with very sensitive data and can communicate within a special range called Ra-
dio Frequency range. Since sensors are deployed unattended over the target area this
makes them physically insecure and prone to adversarial attacks. Thus arises the need of
secure communication model in WSN to circumvent these attacks.
A. Özcan, J. Zizka, and D. Nagamalai (Eds.): WiMo/CoNeCo 2011, CCIS 162, pp. 83–94, 2011.
c Springer-Verlag Berlin Heidelberg 2011
84 S. Bag, A. Saha, and P. Sarkar
the connectivity aspect of a WSN been proposed for the first time by Sarkar et al. in
[12]. Combination of both the schemes results in a highly resilient key predistribution
scheme for a WSN providing full connectivity amongst the nodes.
Before explicitly explaining the various aspect of our design, we require some basic
notions like communication, connectivity, the respective key and communication ra-
dius which have been stated in [12, section II]. Throughout the paper we shall use the
term “Uncompromised nodes” to mean nodes that are not compromised. The words
“communication” and “connectivity/connection” are sometimes abbreviated to com.
and con. respectively. The terms “communication model/scheme” and “key predistribu-
tion model/scheme” will mean the same.
2 Communication Model
Our design is based on a scheme by Bag & Ruj [1]. In their scheme the authors used
finite affine plane over Zq where q is a prime number. Affine plane over Zq contains as
many as q 2 points and are usually denoted by AG(2, q). The entire key space is split
2
into 4 parts, each part containing q4 points and from each part the ith point is assigned
2
to the ith node. Thus there are a total of q4 nodes, each containing precisely 4 points.
The lines through all 4 points of a node represent the set of keys in that particular node.
As demonstrated in [1, section VI] there can be 4q − 2 to 4q + 1 keys belonging to any
node . The lines through any two points of two distinct nodes serve as the identifier of a
common keys between the nodes. The authors showed in [1, section VI] that there can
be 1 to 16 common keys between a pair of nodes.
Suppose 2 nodes with id i and j want to establish their common keys. They do so
by finding lines through any two points belonging to them as follows: The points are
distributed among the nodes in such a fashion that the node’s ids reveal the points they
contain. Thus on receiving the id of node j, node i gets to know the points in node j.
So it can find one line passing through any of its 4 points and any of the points of node
j. Similarly if node j uses the same algorithm as node i it will end up finding the same
line as node i. As these lines represents the ids of the shared keys between the nodes,
the nodes can communicate with thus established common keys.
We observe a weakness in the aforesaid key predistribution scheme. Here the node ids
reveal the points inside a particular node. Let us say node i and node j want to establish
their keys securely. An adversary, say Alice can tap the radio frequency channel and
come to know the unencrypted node ids passing through them. She can then find the
key ids of the shared keys between the sensors in a manner similar to the computation
done by the nodes. This clearly implies that selective node attack is quite feasible.
86 S. Bag, A. Saha, and P. Sarkar
These points are again contained in a number of nodes of the sensor network. She
can capture one of them and get to know the actual keys. Combined with the knowledge
of node ids, she can use these keys to actually affect the com. amongst other nodes.
To counter this problem, we first differentiate the two aspects communication and
connectivity of a WSN. Then like in [12], apply Reed Muller Codes to suitably model
the connectivity aspect. The construction of the model is presented in the following
section. The model can be made secure by using suitable cryptosystems.
As shall be later established the combination of the two ideas results in a highly
resilient key predistribution scheme for WSN providing full connectivity amongst nodes
with virtually same communication overhead.
Reed Muller codes will be utilized to structure the connectivity aspect of the WSN.
These codes have been elaborately described in [4] and necessary notational changes
have been highlighted by Sarkar et al. in [12, section IV]. We follow similar procedure
as described in [12, section IV] baring some modification to be illustrated now.
First our model will always have three tiers with the “Base Station” or “KDS” in the
1st or topmost tier. The second tier will consist of q4 newly introduced cluster heads
(CHs). Amongst these q4 will be assigned q many nodes in the 3rd and the last level.
2
Whereas l = q4 − q q4 nodes has to be under the remaining 1 CH in the last level.
2
Thus our model needs an extra q4 many CHs and can support q4 ordinary nodes (at
the last level).
It is evident that current connectivity model is heterogeneous in nature, i.e., has dif-
ferent number of nodes in its various clusters. This along with the fact that exactly three
tiers are required for our connectivity model distinguishes our design from the original
design of Sarkar et al. in [12, section IV].
To build up the cluster between the various tiers of the connectivity model, we shall
make use of first order Reed Muller codes. For connectivity of 1st and 2nd levels, we
employ a m complete graph where m = q4 . We consider Z2 [x1 , x2 , . . . , x q4 ] in
much the same manner as the authors of [12] had considered Z2 [x1 ,qx2 , . . . , xm ]. Like
in [12], the monomials xi will represent the bit pattern of length 2 4 having 2i−1 1’s
followed by 2i−1 0’s where 1 ≤ i ≤ q4 . A sample connectivity pattern for a cluster
containing KDS and 3 CHs can be represented by the following matrix
⎡ ⎤
KDS 1 1 1 1 1 1 1 1
⎢ CH1 1 0 1 0 1 0 1 0 ⎥
⎢ ⎥
⎣ CH2 1 1 0 0 1 1 0 0 ⎦
CH3 1 1 1 1 0 0 0 0
Matrices like the above one are used for construction of Reed Muller codes. This
particular matrix has been referred to as R(1; 3) in [4]. Here 1 means the degree of the
monomials is ‘1’ and 3 stands for the number of variables.
The significance of the entries 1 and 0 in the above matrix (R(1; 3)) is the presence
and absence of a connectivity link at that row and column position respectively. Thus for
Highly Resilient Communication Using Affine Planes for Key Predistribution 87
connectivity of two any entities (KDS/CHs/nodes), both of them should have a 1 in the
same column for at least one column. Each column is assigned a separate connectivity
key immaterial of them using the same radio frequency channel.
The connectivity pattern between of each of the clusters of the 2nd and 3rd level is
meant to be a 2 complete graph having m = q variables (nodes) in the matrix. Thus
we look at Z2 [x1 , x2 , . . . , xq ] as was similarly done in [12, section IV, subsection B]
Connectivity matrix for a cluster having 1 CH and 3 nodes is as follows:
⎡ ⎤
CH 1 0 0 1 0 1 1 1
⎢ N1 1 0 1 0 1 0 1 0 ⎥
⎢ ⎥
⎣ N2 1 1 0 0 1 1 0 0 ⎦
N3 1 1 1 1 0 0 0 0
The construction of the second matrix from the first can be found in [12, Section IV,
Subsection B]. Here KDS is not present in the inter-nodal links. There is a broadcast
channel and a provision for external only for KDS. In the present case instead of 3, we
look at q or l many nodes. Here again wherever there is 1, connectivity link is present.
Figure 1 give an lively example with q = 11. There are 11 4
= 3 CHs in 2nd tier.
112
This model can support 4 = 30 sensors in the 3 & last level. Out of these 42
rd
5 Deployment
There can be various methods for node deployment. We discuss one of them here as
an example. At the time of deployment, we shall drop the CHs along with the nodes
of its cluster. Clearly instead of totally random deployment, we are deploying in small
groups where exact position of nodes may still be unknown. Thus we adopt a kind of
group-wise-random or locally-random deployment technique. This ensures that all the
clusters are formed according to the model. However in an unlikely event of some nodes
falling out of position, we adopt the following key re-scheduling technique.
Assume some node of one cluster A falls into another cluster B. In such a case, CH
of cluster B broadcasts the node id or I.P. address of the misplaced node amongst all the
CHs to find out the actual cluster where it should have been placed. On seeing the I.P.
address or node id of this node, the CHs respond whether or not the misplaced node be-
longs to their cluster. Since this node was supposed to be in cluster A, its CH is the only
who responds with ’YES’. Using the secure link between CH of cluster A and cluster
B, the connectivity key corresponding to this sensor and CH of cluster A is transmitted
to the CH of cluster B. This key is used to set up a secure connectivity link between
the CH of cluster B and the misplaced. Depending on the requirements and practical
hazards, CH of cluster B decides on the exact connectivity for this misplaced node in
its cluster. Clearly a redistribution of connectivity keys may be required. In case this
is not possible, still the node remains connected to the network but all communication
will involve CH of B. It is clear that in this scenario, there is a process of node addition
in cluster B and node deletion at cluster A. These processes have been described in
[12] We would like to remark that instead of interconnectivity (clique connectivity) of
88 S. Bag, A. Saha, and P. Sarkar
Fig. 1. Network structure for q = 11 having q4 = 4 CHs in 2nd & N = 30 nodes in 3rd tier
sensor at the base level, one may desire to have just the connection with the CHs. This
will enable better security, make (connectivity) key distribution easier and also reduce
the importance of simple nodes at the bottommost level. In such a case the 2nd tier CHs
may have to be powerful to ensure security.
different cryptosystems for various clusters of 2nd & 3rd tiers and certainly for KDS-CH
tier (i.e. 1st & 2nd tier) of our connectivity model.
The probability of direct communication of any given pair of nodes is defined as the
communication probability of the network. Since the connectivity model is a path con-
nected graph & communication model assures direct communication between every
pair of nodes, we conclude that the communication probability of the proposed
scheme is 1. However there has to be some trade offs in regards to communication
overhead. n many extra connectivity keys have to be stored per node to ensure clique
connectivity in every cluster. In the event of nodes getting overloaded, we can alter-
natively assign only one extra key meant for connection with its CH. It automatically
implies every communication between nodes of the last leyer passes through the CHs of
2nd tier. So these CHs must be much powerful units to enable efficient communication.
Analyzing resiliency in way similar to [12] assures significant improvements.
9 Resilience
A hypothetical intrusion (i.e. attack) detection mechanism informs the KDS, CHs &
subsequently the nodes about compromise of any node(s) as and when it occurs. For
capture of a node X1 , connectivity keys sacrificed are its broadcast key, keys between
X1 & remaining nodes in its cluster and the exclusive key shared by X1 & its CH.
Based on this information the concerned nodes and CH delete all the (above) connec-
tivity keys ensuring that the captured node gets thoroughly delinked from the network.
This deletion process has been elaborately described in [12, section V, subsection B].
In fact the beauty of this process is that after deletion of required connectivity links due
to capture of some node(s), the other nodes in that cluster remains connected in much
the same way as they would without the compromised node(s).
Remark: Noted that at any stage the communication keys are not known to the CH.
Thus for affecting the resiliency of the network, some nodes have to be captured.
Introduction of a secure connectivity model enables doubly encryption of message
while transmitting. The second encryption involves connectivity of the nodes & CHs.
Nodes contain only the con. keys concerned to itself. Connectivity keys of all nodes
in a cluster can only be found in CH of that particular cluster (not even in other CHs
or KDS). This automatically implies to affect the communication of any node in the
network, its CH must be captured. Thus while calculating the effect of the system when
some nodes are captured, we must ensure some CHs are also captured. In practice cap-
turing a CH is quite infeasible.
Define V (s, t) to be the proportion of nodes disconnected when s nodes of 3rd and t
CHs of 2nd tier are compromised. Now let us assume that b nodes gets disconnected
when all the c CH of 2nd layer are captured. Thus clearly:
b
V (s, c) =
N −s
Highly Resilient Communication Using Affine Planes for Key Predistribution 91
Since t CH at 2nd tier are captured, only t out of c clusters should get affected. Assuming
that the nodes gets disconnected evenly over the entire network, we conclude:
bt
V (s, t) =
(N − s)c
E(s, t) measures the ratio of links broken when s nodes of 3rd of t CHs at 2nd tier are
compromised. Denote the initial number of links in the network by tot links and the
number of broken links case by lbrk . Then like in the above case for capture s nodes
and all the c CHs of 2nd tier, we get:
lbrk
E(s, c) = 1 −
tot links
As only t CH at 2nd tier are compromised & assuming the keys are uniformly dis-
tributed under the CHs, we conclude:
t lbrk
E(s, t) = [1 − ]
c tot links
Note: The assumed distribution of keys under the CHs is uniform. This is not guar-
anteed fact. However our simulation results suggest that the assumption is reasonable.
Connectivity model in [12] allows any number of nodes to be added in the network,
whereas the communication model of Bag and Ruj [1] is not flexible in this regard.
However we propose alternative tricks allowing extra nodes to come in and communi-
cate with pre-existing nodes. In our 1st suggestion the 2nd tier CHs are required to act
as trusted authorities (TAs) temporarily upon deployment of any extra node. These CHs
then re-organize the clusters, distribute fresh connectivity keys to these nodes and pre-
existing nodes. Thus the new node get connected to the network. These connectivity
keys are to be used for communication purpose also. Though this method seems quite
reasonable for practical applications, however one may look to avoid this method as
online key redistribution is required here.
Alternatively if we know the number of additional nodes to be deployed, then we
can pre-load the 2nd tier CH with that many extra con. keys. The extra nodes are to
carry only one of these keys meant for connection as well as communication with the
appropriate CH. Thus although clique connectivity is not achieved here but still is model
is surely scalable. On top of this, if we want clique connectivity for the clusters where
these extra nodes join, one has to ensure the number of extra nodes per cluster is less
than q. In such a case we can also preload extra q keys per node. (Our aim is to restrict
the key ring to O(q)). Under such circumstance, any incoming node should be loaded
with the same (extra) keys of the the old nodes along with keys meant for the CH and
other new nodes. In this section by key(s) we meant connectivity key(s) only.
92 S. Bag, A. Saha, and P. Sarkar
11 Simulation Results
Experimental results tabulated in Table 1 confimed our analysis of V (s, t) and E(s, t)
discussed earlier in section 9.1. s & t denotes the assumed number of ordinary sensors
and CHs captured respectively. “BR Exp”. is used as an abbreviation for Bag and Ruj’s
experimental results as presented in [1]. Appreciable improvements in resiliency can be
observed when our experimental (“Exp”) values are compared with those of Bag and
Ruj [1] as is clearly visible in Table 1.
q N s t Our Exp. V (s, t) BR Exp. V (s, t) Our Exp. E(s, t) RR Exp. E(s, t)
59 870 5 1 0.000380 0.0057 0.00458 0.068958
59 870 10 2 0.001531 0.01149 0.02094 0.157406
89 1980 11 2 0.000472 0.0055 0.00788 0.090639
89 1980 15 3 0.000979 0.00757 0.01812 0.139159
89 1980 20 4 0.001752 0.0101 0.03687 0.212303
12 Conclusion
First one observes that connectivity and communication can be treated as two separate
aspects of a WSN. A key predistribution scheme based on affine planes and provid-
ing full node-to-node connectivity is then chosen. Now after necessary modifications
to the novel secure connectivity model suggested in [12],we apply it to the chosen key
predistribution scheme to obtain a highly resilient communication model providing full
connectivity amongst nodes. Experimental results presented in section 11 not only con-
firm this fact but also exhibit the amount of improvement in resilience as compared the
original key predistribution scheme proposed by Bag and Ruj in [1].
It is worth noticing that any two given pair of nodes of the resultant system can
communicate between one another without their message been exposed to any other
node. As has been elaborately explained in section 7, if these two nodes are in ‘radio
frequency range’ of each other (and share a connectivity key), doubly encrypted mes-
sages can be exchanged directly. In case they are not in each other’s ‘radio frequency
range’ or don’t have any common connectivity key, they are supposed to communi-
cate through their CHs. However these CHs can not decrypt the encryption done with
communication key shared by the nodes.
However the communication model chosen by [12] didn’t provide full connectiv-
ity, hence the resultant system didn’t have full connectivity. Choosing a well connected
key predistribution scheme settles this issue. Other than this, they didn’t indicate any
particular deployment strategy. Thus how exactly the connectivity model was achieved
in the target area was not clear. Section 5 has been devoted to address the deployment
issue. From the discussion in section 5, it is clear that no physical movement of a node
is required as long as there is some CH in its ‘radio frequency range’ after deploy-
ment. Considering the hazards of deployment of nodes in a target area of WSN, this
observation can be pretty useful to set up a network.
Highly Resilient Communication Using Affine Planes for Key Predistribution 93
13 Future Work
Several future research directions stems out of our current work. Though the chosen
key predistribution scheme provides direct node-to-node communication, each node
2
has 4q − 2 to 4q + 1 where the size of the network is q4 keys and shares 1 or 16 keys
with any other node. These may prove dangerous when some nodes gets captured. Thus
we must seek a scheme having lesser keys per node having O(1) keys shared between
any pair of nodes. Then one can perhaps apply the connectivity model in a suitable way
to get promising results. Repeated enciphering and deciphering has been suggested at
each CH in between two communicating nodes of different clusters. Certainly some
communication cost will be reduced if one develops a system avoiding this. In this
regard, it may be fascinating to see if one can apply other Mathematical tools.
Acknowledgement
Firstly we want to express our gratitude to University Grants Commission of India for
financially supporting the doctoral program of Mr. Pinaki Sarkar. This work is meant to
be a part of the doctoral thesis of Mr. Pinaki Sarkar.
We would like to thank Dr. Goutam Paul of Jadavpur University, Kolkata and Mr.
Sumit Kumar Pandey of Indian Statistical Institute, Kolkata for discussing the paper
and critically analyzing it. A special word of appreciation goes to Dr. Brijesh Kumar
Rai of Indian Institute of Technology, Bombay for his constant motivation and active
participation in preparation of the paper.
References
1. Bag., S., Ruj, S.: Key Distribution in Wireless Sensor Networks using Finite Affine Plane.
In: AINA (2011)
2. Çamtepe, S.A., Yener, B.: Key distribution mechanisms for wireless sensor networks:A sur-
vey 2005. Technical Report. In: TR-05-07 Rensselaer Polytechnic Institute, Computer Sci-
ence Department (March 2005)
3. Chakrabarti, D., Maitra, S., Roy, B.: A key pre-distribution scheme for wireless sensor net-
works: merging blocks in combinatorial design. International Journal of Information Secu-
rity 5(2), 105–114 (2006)
4. Cooke, B.: Reed Muller Error Correcting Codes. In: MIT Undergraduate J. of Mathematics,
MIT Press, Cambridge (1999)
5. Eschenauer, L., Gligor, V.D.: A key-management scheme for distributed sensor networks. In:
ACM Conference on Computer and Communications Security, pp. 41–47 (2002)
6. Gura, N., Patel, A., Wander, A., Eberle, H., Shantz, S.C.: Comparing Elliptic Curve Cryp-
tography and RSA on 8-bit CPUs. In: Joye, M., Quisquater, J.-J. (eds.) CHES 2004. LNCS,
vol. 3156, pp. 119–132. Springer, Heidelberg (2004)
7. Lee, J.Y., Stinson, D.R.: Deterministic key predistribution schemes for distributed sensor
networks. In: Selected Areas in Cryptography. ser. Lecture Notes in Computer Scienc,
pp. 294–307. Springer, Heidelberg (2004)
8. Lee, J.Y., Stinson, D.R.: A combinatorial approach to key predistribution for distributed
sensor networks. In: IEEE Wireless Communications and Networking Conference, WCNC
2005, New Orleans, LA, USA (2005)
94 S. Bag, A. Saha, and P. Sarkar
9. Ruj, S., Roy, B.: Key predistribution using partially balanced designs in wireless sensor net-
works. In: Stojmenovic, I., Thulasiram, R.K., Yang, L.T., Jia, W., Guo, M., de Mello, R.F.
(eds.) ISPA 2007. LNCS, vol. 4742, pp. 431–445. Springer, Heidelberg (2007)
10. Ruj, S., Roy, B.: Revisiting key predistribution using transversal designs for a grid-based
deployment scheme. In: International Journal of Distributed Sensor Networks IJDSN 2009,
vol. 5(6), pp. 660–674 (2009)
11. Steiner, J.G., Neuman, B.C., Schiller, J.I.: Kerberos: An authentication service for open net-
work systems. USENIX Winter, 191–202 (1988)
12. Sarkar., P., Saha, A., Chowdhury, M.U.: Secure Connectivity Model in Wireless Sensor Net-
works Using First Order Reed-Muller Codes. In: MASS 2010, pp. 507–512 (2010)
A Cyclic-Translation-Based Grid-Quadtree
Index for Continuous Range Queries
over Moving Objects
1 Introduction
With the continuous development of sensor networks and mobile devices,
location-based services(LBSs) such as navigation and information services, emer-
gency services, and object tracking services, are developed in many application
systems. In recent years, large amount of research effort are paid to location-
dependent query processing [1], which is a fundamental building block of LBSs.
Continuous range query is an important type of location-dependent queries over
spatio-temporal data streams, which must be reevaluated continuously until it
is canceled by the user, and therefore is a useful tool for monitoring frequently
changing location of moving objects. There have been extensive researches on
evaluating a large number of continuous range queries over moving objects data
streams [2],[3],[4],[5],[6]. Continuous range query can be classified into ”location
report” and ”exist report” queries, depending on whether it concerns about ob-
taining the current locations of moving objects or just the set of moving objects
that satisfy the query conditions. In this paper, we focus on both ”location
report” and ”exist report” queries.
Query indexing is a common way to speed up the processing of continuous
range queries, since a brute-force approach which evaluates each of all queries
for each incoming data tuple is inefficient. To optimize query processing fur-
ther, a few kinds of virtual constructs (V Cs) for building query indexes were
proposed, including virtual construct rectangles (V CRs) [4] and containment-
encoded squares (CES) [5]. Particularly, K.-L.Wu [5] adopted a CES-based
A. Özcan, J. Zizka, and D. Nagamalai (Eds.): WiMo/CoNeCo 2011, CCIS 162, pp. 95–109, 2011.
c Springer-Verlag Berlin Heidelberg 2011
96 H. Chen et al.
2 Related Work
without concerning about location report query. Moreover, the simple grid struc-
ture in SOLE is not optimal for large scale queries.
In some location-based systems, users are usually interested in the changes of
the locations rather than the details of the locations. The location-change events
are useful to automatically trigger or stop necessary actions. A query processing
framework named BM Q-Processor is proposed in [22] for large-scale border-
crossing event monitoring applications where query results are reported only
when moving objects cross the borders of the query ranges. BM Q-Processor uses
a novel index for Border Monitoring Query (BM Q) which has similar semantics
as ”exist report” range query, and exploits the locality of data streams to achieve
both quality search performance and efficient memory consumption. However,
BM Q-Processor does not have special mechanisms to support ”location report”
queries, and also couldn’t be extended to support irregular border-monitoring
range query.
In the domain of spatio-temporal database, different index structures for sup-
porting fast spatio-temporal query have been proposed .e.g, B-tree, Quadtree,
R-tree, Grid, KD-trie. An overview of spatio-temporal access methods is given
by LV Nguyen-Dinh [23]. Index structures for moving objects can be classified
according to a variety of criteria. From temporal consideration, there are in-
dexing methods for indexing the past, current and future positions of moving
objects. What’s more, specific indexing mechanisms have been proposed for ob-
jects moving in road networks, for objects with predefined trajectories, or for
broadcast environments. Most of these works study snapshot queries and fo-
cus mainly on materializing incoming spatio-temporal data in disk-based index
structures. Some other works focus on main-memory indexing and query pro-
cessing over moving objects (M OV IES [8]). In the context of spatio-temporal
data streams, only in-memory solutions are allowed. Therefore, in this paper,
we implemented our index structure and query processing as a query operator
based on our prototype spatio-temporal DSM S.
the current position of moving object. Object locations can be anywhere in the
monitoring area. t is the time stamp of object position.
Continuous Range Query. A continuous range query Q can be represented as
(QID, R, f lag),where QID is the query identifier, R is the query range specified
as rectangle with vertices falling on the crossing point of grid lines, and flag
is used to identify two types of range query(1 for location report query and
0 for exist report query ), deciding either to output the current locations of
moving objects, or only the OIDs of objects, with respective output of stream
τ (OID, x, y, t) or τ (OID, ±, t). Here, ± indicates whether this tuple is a positive
or negative update. We use R(x, y, w, h) to denote a query range with width w,
height h, and bottom-left corner at(x,y). We denote by RS(= {R1 , R2 , . . . , RM })
a set of query ranges which could be intersected or disjoint.
*ULG4XDGWUHH
S S S 3RLQWHU$UUD\
,QWHUQDO1RGH
4,'/LVW
S S S S
375
4XDG%ORFN
TLG TLG TLG
4,'/LVW375 /HDI1RGH
8QLW&HOO
grid and compare the number of decomposed quadblocks, the time complexity
of searching optimal translation is high. To improve the search algorithm, we
propose a scheme based on the following definition and lemmas.
Definition 1(Cyclic Translation of Query Range). For a range R(x, y, w, h) in
global area of 2N × 2N , we translate(move) R with magnitude Xtm and Ytm in
eastern and northern direction respectively. A range translation is called a cyclic
one if the final position of an unit cell located originally at (x’, y’) in this range,
after translation, can be derived from the following function:
CT (x , y , Xtm , Ytm ) = ((x + Xtm ) mod 2N , (y + Ytm ) mod 2N ).
With the cyclic translation of range queries, we can construct a region
quadtree of size 2N × 2N to decompose all translated range queries without
the need of expanding the quadtree to the size of 2N +1 × 2N +1 .
From the property of region quadtree and cyclic translation, we present the
following result without proof.
Lemma 1. Translating a range embedded in 2N × 2N grid cyclically by 2d grid
cells in any direction, where d < N , does not change the number of decomposed
quadblocks with a size less than 2d × 2d .
From lemma 1, we can derive the minimal searching space for finding the optimal
position of a range query in quadtree decomposition.
Lemma 2. An optimal position for decomposing a range R into minimal quadtree
blocks could be gotten by translating R(x, y, w, h) by less than 2d units to the
east and 2d units to the north, where d=min(logw ,logh ).
Proof. Since the largest quadblocks possibly decomposed from R is of size 2d ×
2d ,we can have the same number of decomposed blocks when we translate R
with magnitudes of 2d+1 .It’s easy to see that all blocks of size 2d × 2d in R are
always arranged in a line. Therefore, translating R with magnitudes of 2d won’t
change the number of blocks of size 2d × 2d , the same as those blocks no more
than 2d−1 × 2d−1. We thus have the proof.
From lemma 1 and 2, we know that the sample solution space of optimal transla-
tion for RS is of size 2D × 2D , where D=max(d1 ,d2 ,. . . ,dM ), dm is the dimension
of each range Rm in RS, and we can derive a basic search algorithm for finding
the optimal position of minimizing decomposed quadtree blocks. The algorithm
is constructed by a sequence of translations to RS, with magnitudes from 20 to
2D−1 in four different directions: no movement, north, east, and northeast. Since
the translations with larger magnitudes would not affect the number of quadtree
blocks with smaller magnitudes, we adopt the strip-splitting-based decomposing
method [11] to recursively strip-split each range in RS while evaluating the sum
of stripped quadtree blocks. Specifically, at ith level of translation, the search
process proceeds by translating RS four times: by 0 cell (no movement), by 2i
cell to the north, by 2i cell to the east, and by 2i cell to the northeast. After
each translation, each range of RS is stripped off some slices of size c × 2i × 2i
where c is a positive integer. Then, we recursively do the translation at next level
A Grid-Quadtree Index for Continuous Range Queries over Moving Objects 101
on these remaining new ranges. Recursion halts when all ranges are stripped to
null. Thus, the translation magnitudes for the optimal location in two directions,
i.e. Xtm and Ytm , can be easily acquired by the above process in a sequence of
binary digits.
To simplify the searching process, we use a pruning mechanism of ”candi-
date” to cut down unnecessary paths of recursions. For each translation, instead
of performing translations in all next levels, we calculate the total number of
quadtree blocks stripped so far, which is computed from the bottom level of
strip-splitting to the level that being processed, and then compare it with the
value of the current candidate which is stored in the least block counter. If the
total number of blocks obtained so far is larger, the recursions of further levels
are cut down.In order to obtain a candidate close to the optimal solution, we
used an iterative process described in Algorithm 1 to quickly derive the first
candidate. Here, we assume that M (x, y) = x mod y.
Algorithm 1. FindInitialCandidate.
Require:
RS(={R1 , R2 , . . . , RM }); /*a set of M query ranges*/
Ensure:
least(the number of quadblocks derived from decomposition at candidate location);
1: least = 0;
2: for (d = 0; d < D; d + +) do
3: for (k = 0; k ≤ 3; k + +) do
4: RSk ← RS; Ck = Ck + RangesSplittingShrink(RSk , k);
5: end for
6: K = argmink (Ck ); least = least + CK ; RS ← RSK ;
7: end for
8: if RS = φ then least = least + RangesSplitShrink(RS, 0);
9:
10: f unction : RangesSplitShrink(RS, k)
11: i = k/2; j = M(k, 2);
12: for each Rm (xm , ym , wm , hm ) in RS do
13: xm = xm + i; ym = ym + j;
14: if M (xm , 2) = 0 then C = C + hm ; xm = xm + 1; wm = wm − 1;
15: if M (ym , 2) = 0 then C = C + wm ; ym = ym + 1; hm = hm − 1;
16: if M (xm + wm , 2) = 0 then C = C + hm ; wm = wm − 1;
17: if M (ym + hm , 2) = 0 then C = C + wm ; hm = hm − 1;
18: xm = xm /2; ym = ym /2; wm = wm /2; hm = hm /2;
19: if wm = 0 or hm = 0 then delete Rm from RS;
20: end for
21: return C;
translated RS with the smallest number of quadtree blocks is selected for the
next iteration. After the strip-splitting of each iteration, we can shrink these
remaining ranges since the same number of blocks is maintained while making
the granularity coarser [12]. After at most D iterations, the initial candidate is
identified to establish the bound. Obviously, the above algorithm takes O(D)
time to find the initial candidate. We know from [12] that, if a range is a magic
rectangle (it’s width w and height h are of the form 2i − 1 and 2j − 1, the number
of its decomposed blocks is independent of the position of the anchor. Therefore,
we can get rid of magic ranges from RS beforehand.
The integrated pseudocode of locating the optimal translation for range
queries is described in Algorithm 2. The pruning process is accelerated by cal-
culating the initial candidate and excluding all the search paths rooted by a
configuration whose number of decomposed quadtree blocks so far is already
greater than that of current candidate. The worst time complexity of this im-
proved algorithm is O(4D ).
Algorithm 2. LocatingOptimalTranslation.
Require:
RS(={R1 , R2 , . . . , RM }); /*a set of M query ranges*/
Ensure:
Xtm , Ytm (translation magnitudes);
1: d = 0; BN[D + 1] = {0,. . . ,0};Xm = Ym = 0;
2: least = F indInitialCandidate(RS);
3: OptimalSearch(RS, Xm , Ym , least, BN, d);
4:
5: f unction : OptimalSearch(RS, Xm , Ym , least, BN, d)
6: for (k = 0; k ≤ 3; k + +) do
7: i = k/2; j = M(k, 2); RS ← RS; BN ← BN ;
8: BN [d] = RangesSplitShrink(RS , k);
d d
9: Xm =d Xm + i × 2 ; Ym = Ym + j × 2 ;
10: if i=0 BN [i] ≤ least then
11: if (d < D − 1) then
12: OptimalSearch(RS , Xm
, Ym , least, BN , d + 1);
13: else
14: if RS = φ
then BN [D] = RangesSplitShrink(RS , 0);
15: BNtotal = D
i=0 BN [i];
16: if BNtotal < least then least = BNtotal ; Xtm = Xm ; Ytm = Ym ;
17: end if
18: end if
19: end for
b)the nodes of quadtrees, and c)the QID lists, one for each quadblock defined.
We denote respectively the number of quadblocks and quadtree nodes at different
level by B[N ] and N [N ], which can be computed and derived by Algorithm 2.
Given a division level K, the total cost of the index can be calculated as follows:
CSa = cp × L
2K
w
× 2LKh ;
K
CSb = cleaf × N [0] + cinternal × i=1 N [i];
K N−K−1
CSc = cqid × ( i=0 B[i] + 4N −K−i × i=0 B[N − i]));
where CSa , CSb ,CSc present the storage cost of the pointers array, quadtree
nodes and query ID lists, respectively. The cp , cleaf , cinteral , and cqid present the
size of a pointer, a quadtree leaf node, a quadtree internal node, and an query
ID, respectively. From the above formula, we can get the right K which makes
the index storage minimized as follows:
K = argmink (CStotal ), k ∈ (0, 1, 2, .., N )
After choosing the right value of K, we can re-calculate the translation mag-
nitudes of range queries as follows:
Xtm = M (Xtm , 2K ); Ytm = M (Ytm , 2K )
Once the partition ID or subscript of pointer array is inferred, we get the right
quadtree and could do the corresponding operation of index building or insertion.
Z-order is used to identify quadblocks of same dimensions and help to search the
place of corresponding tree node. The z-order of a grid cell with lower left corner
coordinates (x, y) can be denoted as Z(x, y, 0) and computed by interleaving
the bits of x and y. It should be pointed out that, if the anchor coordinates of
any decomposed quadblock are beyond the scope of global grid, we cyclically
translate it’s anchor coordinates (x,y) by computing M (x, 2N ) and M (y, 2N )
respectively and calculate the z-order of new coordinates at first, and then do the
index insertion with the help of it’s z-order. We denote by b(x, y, i) a quadblock
of dimension i with lower left corner coordinates (x, y), and its z-order can be
104 H. Chen et al.
6 Experimental Results
We conduct a few experiments to evaluate and compare our solution(we call
it CT GQ-based indexing) with CES-based indexing. We assume a monitoring
area with the same size as a grid of 210 × 210 .A total number of |Q| continual
range queries were registered in the query index. The width and height of query
ranges were randomly chosen between 23 and 28 . The bottom-left corners of
range queries were distributed according to an α − β rules as in [5]: α fraction
A Grid-Quadtree Index for Continuous Range Queries over Moving Objects 105
Algorithm 3. ContinuousRangeQueryEvaluation.
Require:
Tuples(a batch of moving objects location data);
Xtm , Ytm (optimal translation magnitude at x-axes and y-axes);
Ensure:
tuples of output data streams τ (OID, x, y, t), τ (OID, +, t), τ (OID, −, t);
1: for each tuple τ (OID, x, y, t) do
2: x = x + Xtm ; y = y + Ytm ; i = K; x = M (x , 2N ); y = M(y , 2N );
3: Znew = Z(x , y , 0); Zold = Z(xold , yold
, 0);
Lw
4: P ID = f (y ) × 2K + f (x ); p ← P A[P ID];
5: P IDold = f (yold ) × L w
2K
+ f (xold ); pold ← P A[P IDold ];
6: while p = pold do
7: v1=node pointed by p; v2=node pointed by pold ;
8: output τ (OID, x, y, t) into T Q(q), for any q.QID ∈ v1.QL and q.f lag = ”1”;
9: m = Znew /4i−1 − 4 × Znew /4i ; n = Zold /4i−1 − 4 × Zold /4i ; i = i − 1;
10: follow p to the mth child of v1;follow pold to the nth child of v2;
11: end while
12: i1 = i; i2 = i;
13: while p = φ do
14: v1=node pointed by p;
15: output τ (OID, x, y, t) into T Q(q), for any q.QID ∈ v1.QL and q.f lag = ”1”;
16: insert QID into QSETnew for any q.QID ∈ v1.QL and q.f lag = ”0”;
17: m = Znew /4i−1 − 4 × Znew /4i ; i1 = i1 − 1;follow p to the mth child of v1;
18: end while
19: while pold = φ do
20: v2=node pointed by pold ;
21: insert QID into QSETold for any q.QID ∈ v2.QL and q.f lag = ”0”;
22: n = Zold /4i−1 − 4 × Zold /4i ; i2 = i2 − 1;follow pold to the nth child of v2;
23: end while
24: output τ (OID, +, t) to T Q(q), for q.QID ∈ QSETnew − QSETnew ∩ QSETold ;
25: output τ (OID, −, t) to T Q(q), for q.QID ∈ QSETold − QSETnew ∩ QSETold ;
26: end for
of the bottom-left corners were located within β fraction of the monitoring area,
where β = 1 − α. A total of |O| moving objects are tracked at the same time
and object locations are up-dated 10 times each minute. We conducted our
simulations over a platform of DSM S.
Firstly, query regions were uniformly distributed(α = 0.5). We varied |Q| from
200 to 2000. Fig. 2a shows the number of decomposed blocks and tree nodes(V Cs
for CES) with different |Q|. Under all cases, our method gets much less elements
in QID lists and tree nodes(V Cs) than CES-based method. For the second
experiment, |Q|=1000. The division level K is derived from formula of section
4.2 for both approaches. We varied α from 0.5 to 0.9 (0.9 represent more skewed
distribution). Fig. 2b shows the total storage cost of both indices. It is clear
106 H. Chen et al.
5
x 10
12 1800
10 1600
Number of query IDs and tree nodes
6 1200
4 1000
CES−QIDs
2 CTGQ−QIDs 800
CES−VCs CES−total cost
CTGQ−tree nodes CTGQ−total cost
0 600
200 400 600 800 1000 1200 1400 1600 1800 2000 0.55 0.6 0.65 0.7 0.75 0.8 0.85 0.9 0.95
Number of range queries Query distribution with different value of a
(a) (b)
Fig. 2. (a)number of QIDs and quadtree nodes(VCs) with different |Q|; (b)total storage
cost in different distribution
6 2.7
CES−based indexing CES−based indexing
CTGQ−based indexing 2.6 CTGQ−based indexing
5
Query evaluation time(seconds)
4
2.4
3 2.3
2.2
2
2.1
1
2
0 1.9
0 0.5 1 1.5 2 2.5 3 3.5 4 0.55 0.6 0.65 0.7 0.75 0.8 0.85 0.9 0.95
Number of moving objects (|O|) x 10
4 Query distribution with different value of a
(a) (b)
Fig. 3. (a)query evaluation time over different |O| at uniform distribution; (b)query
evaluation time over different query distribution
with the increase of K and then the number of tree nodes traversed during an
index search are increased too. In this example, the K with least storage cost is
5. Actually, we could choose the division level of the index with a value smaller
than 5, such as K=3 or 4, to further decrease the query evaluation time with
the cost of modest increase of storage cost.
16000 2.3
Total storage cost Query Evaluation Time
2.2
14000
2.1
Total storage cost of the index(KB)
12000 2
1.9
10000
1.8
8000
1.7
6000 1.6
1.5
4000
1.4
2000 1.3
1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10
The division level of index (K) The division level of index (K)
(a) (b)
Fig. 4. The impact of K on (a) total index storage. (b) query evaluation time
7 Conclusions
References
20. Rundensteiner, E.A., Ding, L., Sutherland, T.M., Zhu, Y., Piel-Ech, B., And
Mehta, N.: CAPE: Continuous query engine with het-erogeneous-grained adap-
tivity. In: Proceedings of the 30th International Con-ference on Very Large Data
Bases (VLDB 2004), pp. 1353–1356. Morgan Kaufmann, San Francisco (2004)
21. Mokbel, M.F., Aref, W.G.: GPAC: Generic and progressive processing of mobile
queries over mobile data. In: Proceedings of the International Conference onMobile
DataManagement, MDM (2005)
22. Lee, J., Kang, S., Lee, Y., Lee, S., Song, J.: BMQ-Processor: A High-Performance
Border-Crossing Event Detection Framework for Large-scale Monitoring Appli-
cations. IEEE Transactions on Knowledge and Data Engineering (TKDE) 21(2)
(February 2009)
23. Nguyen-Dinh, L.V., Aref, W.G., Mokbel, M.F.: Spatio-Temporal Access Methods:
Part 2 (2003 - 2010). Bulletin of the Technical Committee on Data Engineer-
ing 33(2) (June 2010)
24. Dittrich, J., Blunschi, L., Salles, M.A.V.: Indexing moving objects using short-lived
throwaway indexes. In: SSTD 2005, pp. 189–207 (2009)
25. Orenstein, J.A., Merrett, T.H.: A Class of Data Structures for Associative Search-
ing. In: Proc. ACM Symp. Principles of Database Systems (April 1984)
Two-Stage Clustering with k-Means Algorithm
Raied Salman*, Vojislav Kecman, Qi Li, Robert Strack, and Erick Test
Abstract. -means has recently been recognized as one of the best algorithms
for clustering unsupervised data. Since the -means depends mainly on distance
calculation between all data points and the centers then the cost will be high
when the size of the dataset is big (for example more than 500MG points). We
suggested a two stage algorithm to reduce the cost of calculation for huge
datasets. The first stage is fast calculation depending on small portion of the
data to produce the best location of the centers. The second stage is the slow
calculation in which the initial centers are taken from the first stage. The fast
and slow stages are representing the movement of the centers. In the slow stage
the whole dataset can be used to get the exact location of the centers. The cost
of the calculation of the fast stage is very low due to the small size of the data
chosen. The cost of the calculation of the slow stage is also small due to the low
number of iterations.
1 Introduction
No theoretical research work available on the running time was required for the -
means to achieve its goals as mentioned by [1]. They researched the worst-case
running time scenario as superpolynomial by improving the lower bound from Ω
iterations to 2Ω √ . [9] has developed another method to reduce the number of
iterations but it was not as fine-tuned as [1]. On the other hand [4] have proved that
the number of iterations required by -means is much less than the number of points.
Moreover, [5] were unable to bound the running time of -means, but they proved that for
every reclassified point one iteration is required. Then after Δ iterations the
convergence will be guaranteed.
A group of researchers worked on choosing the best centers to avoid the problems of -
Means of either obtaining the non-optimal solutions or empty clusters generations. [3]
worked on modifying the -means to avoid the empty clusters. They moved the center of
every cluster into new locations to ensure that there will be no empty clusters. The
comparison between their modified -means and the original -means show that the
number of iterations is higher with the modified -means method. In case of the numerical
*
Corresponding author.
A. Özcan, J. Zizka, and D. Nagamalai (Eds.): WiMo/CoNeCo 2011, CCIS 162, pp. 110–122, 2011.
© Springer-Verlag Berlin Heidelberg 2011
Two-Stage Clustering with k-Means Algorithm 111
examples which produce empty clusters, the proposed method cannot be compared with
any other method since there is no modified -means algorithm available to avoid the
empty clusters. [6] on the other hand developed a procedure in which the centers have to
pass a refinement stage to generate good starting points. [7] used genetically guided -
means where the possibility of empty clusters will be treated in the mutation stage.
Another method of center initializing based on values of attributes of the dataset is
proposed by [8]. The later proposed method creates a complex procedure which leads to
be computationally expensive.
[2] on the other hand, developed a method to avoid unnecessary distance
calculations by applying the triangle inequality in two different ways, and by keeping
track of lower and upper bounds for distances between points and centers. This
method is effective when the dimension is more than 1000 and also when the clusters
are more than 20. They claimed that their method is many times faster than normal -
means method. In their method the number of distance calculations is instead of
where is the number of points and are the number of clusters and the number of
iterations respectively. [9] In contrast, Hodgson used different triangular equality to
achieve the goal, in which they reduced the number of distance calculations.
If the represents the entire dataset then the objective is to find a subset of
such that .
We assume that the data with one center is a stationary random sequence satisfying
the following cumulative distribution sequence:
(5)
The process of clustering is equivalent to minimizing the Within-Cluster Sum of
Squares for the, so called, fast stage:
min (6)
min (7)
where are the centers of the clusters which are equals to the centers of the previous
stage.
The within cluster sum of squares is divided into two parts corresponding to the
fast and the slow stages of the clustering:
, , (8)
3 The Results
iterations during the slow stage. Assume that 100 and 3 then the total time
complexity is:
= 7200 8000 = 15200
This will represent a reduction in the calculation time for the clustering of more
than 5 times. However, if the data is bigger than the previous figure then the time
reduction will be higher. For example if the data is 1Million the reduction will be
approximately 10 times. This is quite well illustrated in the following diagram:
Fig. 1. Complexity measure of the k-means and the modified k-means with 100 samples
The and are the fast iterations and the slow iterations of the modified -
means. Respectively. The black graph in Fig. 1 is the time complexity of the normal
-means. Other graphs represent the complexity of the modified -means. Therefore
the higher the value of the more the graphs will approach the normal -means
properties. From the above graph it can be concluded that the lower values of the
less time required to achieve total clustering. The more iterations, for the fast stage,
the faster the algorithm works. However, the catch here is we cannot go very low with
as the time of the clustering will approach the normal -means. In other words the
clustering procedure will produce blank clusters. The proper percentage would be
10% - 20%. The set up of the parameters of the red graph of the above diagram has a
complexity of almost 5 times less than the normal -means clustering. In the case of
using higher number of data for the fast stage clustering, 500, the complexity
results will be skewed upwards as shown below:
114 R. Salman et al.
Fig. 2. Complexity measure of the k-means and the modified k-means with 500 samples
The set up of the parameters of the red graph of the above diagram has complexity
less than 2 times than the normal -means clustering. This indicates that the more the
data chosen for the fast stage of clustering the less advantages of this method.
4 Numerical Examples
Two examples presented here to validate the proposed method.
1- A data set with 800 samples and 2-dimension (3 clusters) is used. The
following figures show the movement of one of the centers and the two stage
clustering.
2- From Figs. 3 and 4 it is very clear that the approach of the red line (slow
stage coordinate of one center) is very smooth comparing with the other fast
stage coordinate movements. The first value of the red (slow) graph is the
same as the last value of the blue (fast) graph. The number of iterations is
higher than is required but this is only for clarification. The number of
iterations required for the fast stage will of course be higher than the slow
stage scheme.
Moreover, as you can see from the above graph, the coordinates have not been
changed a lot. This means that the -means algorithm does not need to run many
times since we reached the correct accuracy.
Another presentation of the effectiveness of the method is the movements of the
three centers as shown in figures 5-8.:
Algorithm.
Input: , , , ,
Output: with clusters
% of
Select from randomly
While
For 1
Calculate the modified distance
,
Find minimum of
Assign the cluster number to point
End for
Calculate
End while
Calculate the average of the calculated clusters to find new centers
Use the whole dataset
While
For 1
Calculate the modified distance
,
Find minimum of
Assign the cluster number to point
End for
Calculate
End while
Fig. 3. Fast and Slow stages of the movement of one coordinate during the clustering
116 R. Salman et al.
Fig. 4. Fast and Slow stages of the movement of the second coordinate during the clustering
A more detailed description is shown in the following figures in which the fast
stage shows the squares and the slow stage shows the diamond symbol:
Fig. 6. Fast and slow stages of the first cluster center movements
Fig. 7. Fast and slow stages of the second cluster center movements
118 R. Salman et al.
Fig. 8. Fast and slow stages of the third cluster center movements
As can be seen from the above diagrams, that the centers have moved many steps
during the fast stage, this has been achieved in fast response. The diamond shapes
shows the slow stage of iteration. The number of iterations of the slow stage is much
less than the fast stage. Also the movements of the centers are very small. In this case
the required calculation would be reduced from many steps to only couple of full step
(for all dataset). This of course will save some time and reduce expenses.
To be more specific about the proposed method Table 1 shows the creation of
clusters in different iterations for three dimensional data.
Table 1. Distribution of points and centers during the fast and the slow stages of clustering
Iter Points in
Clusters Old Centers New Centers Points
No. Clusters
C1 8 4 4 4.867 3.267 1.567 30,38,44
53,58,72
1 86,88,93
C2 4 4 4 6.16 2.85 4.68
113,114
138,145
Fast 15
C1 4.867 3.267 1.567 4.867 3.267 1.567 30,38,44
53,58,72
2 86,88,93
C2 6.16 2.85 4.68 6.16 2.85 4.68
113,114
138,145
Two-Stage Clustering with k-Means Algorithm 119
Table 1. (continued)
1-50,58
C1 4.867 3.267 1.567 5.015 3.318 1.636 61,82,94
99
51-57,59-
1 60
62-81
C2 6.16 2.85 4.68 6.323 2.901 4.987
83,93
95-98
100-150
1-50,54,58
60-61,70
C1 5.015 3.318 1.636 5.06 3.226 1.897
80-82,90
94,99,107
51-53,55-
57
2 59,62-69
71-79
C2 6.323 2.901 4.987 6.396 2.933 5.071 83-89
91-93
95-98
100-106
108-150
1-50,54,58
60-61
63
C1 5.06 3.226 1.897 5.083 3.205 1.956 65,70,80-
82
Slow 90,94 150
99,107
51-53,55-
3 57
59,62,64
66-69,71-
79
C2 6.396 2.933 5.071 6.409 2.942 5.1
83-89,91-
93
95-98
100-106
108-150
1-50,54,58
60-
61,63,65
C1 5.083 3.205 1.956 5.083 3.205 1.956
70,80-
82,90
94,99,107
51-53,55-
57
4
59,62
64,66-69
71-79
C2 6.409 2.942 5.1 6.409 2.942 5.1
83-89
91-93,95-
98
100-106
108-150
120 R. Salman et al.
The two stages are clearly indicating the formation of clusters at each stage. The
centers of the slow stage are the same as the centers of the end of the fast stage. The
fast stage has taken only 10% of the whole dataset. Although the number of iterations
of the slow stage is 4, in bigger dataset this can be reduced by increasing the iterations
of the fast stage.
5 Speed Up Analysis
The speed of the normal -means is shown in blue while the speed of the modified -
means is shown in red. Two different computers were used of 32bit and 64bit
Operating Systems. Regardless, of the speed of the computer used the validation of
the modified -means always consistent as indicated by Fig. 9. The data used for the
fast stage clustering is only 10%of the whole data which is randomly selected. The
dataset used in this example is “Synthetic” which is 100,000 samples with 10
dimensions. The speed of the modified -means is almost twice the speed of normal
-means. This is due to the fact that 2-stage -means clustering uses less full data
iterations. The speed up is very clear in the high accuracy when the required µ is 10
or less, where µ is the stopping criteria or the required accuracy. This is always
important when you try to find good clustering results.
Fig. 9. Comparison in the speed of the modified -means and normal -means with different
computers
The speed up of the modified -means comparing with the normal -means is
varying according to the accuracy. For the lower range of accuracy the speed up of
Two-Stage Clustering with k-Means Algorithm 121
clustering is ranges from (1-9) times. This would reduced for the higher accuracy for
example from 10 to 10 . Figure 9 shows clearly that the speed up is settled for
the higher accuracy within 2 times. On the other hand the range of the random data
selected to archive the fast clustering is also fluctuating. The best range is between
10%-20%. In the normal situation we require a good accuracy for the clustering to
archive the full clustering to all data. This would be between 10%-20% of the data
and accuracy between 10 to 10 as shown in Table 2.
Table 2. Speed up of clustering with the modified k-means using different dataset sample
percentage of the total data
The proper range of the sample data is between 10%-20%. Carrying out the required
time for running the normal -means and the modified -means for 9 different data
samples shows that the best range is 10%-20% to get less time in the calculation of
the two algorithms as shown in Table 3.
6 Conclusion
A simple proposal for achieving high speed of -means clustering for ultra dataset has
been presented in this paper. The idea has two folds. The first is the fast calculation of
the new centers of the -means clustering method. A small part of the data will be
used in this stage to get the final destination of the centers. This of course will be
achieved in high speed. The second part is the slow stage in which the -means will
start from well positioned centers. This stage may take couple of iteration to achieve
the final clustering. The whole dataset will be used for the second stage.
In normal -means algorithm if the initial centers are exactly located at the means
of the clusters of the data, then the algorithm requires only one step to assign the
individual clusters to each data point. In our modified -means we are trying to get to
that stage of moving any initial centers to a location which is either the locations of
the means or near it. The big the difference between these locations will decide on
how many times the normal -means required to run to assign all data to their
clusters. Our algorithm will move the centers fast to the locations which are near the
means. Future work is required to find out the effect of different locations of the
clusters on the speed up.
References
1. Arhter, D., Vassilvitskii, S.: How Slow is the kMeans Method? In: SCG 2006, Sedona,
Arizona, USA (2006)
2. Elkan, C.: Using the Triangle Inequality to Accelerate K –Means. In: Proceedings of the
Twentieth International Conference on Machine Learning (ICML-2003), Washington DC
(2003)
3. Pakhira, M.K.: A Modified k-means Algorithm to Avoid Empty Clusters. International
Journal of Recent Trends in Engineering 1(1) (May 2009)
4. Dude, R.O., Hart, P.E., Stork, D.G.: Pattern Classification. Wiley-Interscience Publication,
Hoboken (2000)
5. Har-Peled, S., Sadri, B.: How fast is the k-means method? Algorithmica 41(3), 185–202
(2005)
6. Bradley, P.S., Fayyad, U.M.: Refining Initial Points for Kmeans Clustering. Technical
Report of Microsoft Research Center. Redmond,California, USA (1998)
7. Wu, F.X.: Genetic weighted k-means algorithm for clustering large-scale gene expression
data. BMC Bioinformatics 9 (2008)
8. Khan, S.S., Ahmed, A.: Cluster center initialization for Kmeans algorithm. Pattern
Recognition Letters 25(11), 1293–1302 (2004)
9. Hodgson, M.E.: Reducing computational requirements of the minimum-distance classifier.
Remote Sensing of Environments 25, 117–128 (1988)
An Energy and Delay-Aware Routing Protocol
for Mobile Ad-Hoc Networks
1 Introduction
A Mobile Ad-hoc NETwork (MANET) has several advantages such as their
autonomic and infrastructure-less properties. Mobile nodes can move and access data
randomly at anytime and anywhere. There is no need for fixed infrastructure; it can be
easily deployed anywhere and anytime. Mobile nodes in MANET such as PDA,
laptops or Smartphone are connected by wireless links and each node acts as a host
and router in the network. They are characterized by their reduced memory, storage,
power and computing capabilities. Mobile nodes are classified into two groups: Small
mobile hosts (SMH) which has a reduced memory, storage, power and computing
capabilities and large mobile hosts (LMH) equipped with more storage, power,
communication and computing facilities than the SMHs. Mobile ad-hoc networks
have become increasingly popular due to their autonomic and infrastructure-less
properties of dynamically self-organizing, self-configuring, self-adapting. However, a
number of challenges like resource constraints, dynamic network topology are posed.
MANETs cover a large range of applications from military operations, natural
disaster and search-and-rescue operation where common wired infrastructures are not
directly reachable to provide communication due to limited provision of this facility
A. Özcan, J. Zizka, and D. Nagamalai (Eds.): WiMo/CoNeCo 2011, CCIS 162, pp. 123–134, 2011.
© Springer-Verlag Berlin Heidelberg 2011
124 J. Drira Rekik, L. Baccouche, and H. Ben Ghezala
set of routes from all available routes according to the following rules. First of all,
EMRP calculates the cost of each available route according to the following equation:
∑ . (1)
Where is the cost of the route and , are the costs of node i
considering the energy and queue length respectively. and are the costing factors
which normalize and . A route is selected based on minimum values
of . is a function depending of the distance and remaining energy of node i
and the next-hop node. depends on the queue length along the current route.
Critics: The above solution proposes multipath routing protocol. It provides routes
that reduce the intermediate mobile nodes power consumption, alleviating the
network partitioning problem caused by the energy exhaustion of these nodes.
However, the exhaustible energy battery is not the only indicator for route selection
and a power control scheme. The number of packets in each node’s queue, along the
route, doesn’t reflect the local processing time. In fact, each packet has its proper
execution time which varies. Thus, the packet handling will inevitably suffer a longer
delay and therefore the energy exhaustion of these nodes; while there are other nodes
with less energy but where their queues require less time to be treated. The route
selection should be done according to energy and more queuing information, in terms
of queue length and local processing time of each previous flow, too.
RT-DSR is based on the expiration delay to deadline [10]. It makes changes in the
phases of routes discovery and reply. In routes discovery, a route request RREQ is
broadcasted with the expiration delay to deadline. The route request is accepted for a
new flow only if the new packet can reach the destination before the expiration delay.
0. (2)
Where is the remaining time of the expiration delay to deadline, for the traffic k,
received from the node (i-1). is the local processing time of any message; is
the transmission time between two neighboring nodes in the worst case remaining
times. The delay of each real-time flow in the queue, already admitted, shouldn’t be
altered by the newest one.
,1 , 0. (3)
Where res is the number of real-time flows already admitted in the node.
In routes reply, each intermediate node reserves the resources, saves the remaining
time to deadline and sends the confirmation to the next node until reaching the source.
Critics: RT-DSR purpose is to reserve resources in order to meet the deadlines but
it must also take care that the resources are exhaustible. Indeed, choosing the same
route to transfer all packets of real-time data through the reserved route may exhaust
the energy of these nodes leading to the network partitioning problem. Moreover, the
route selection criteria should consider that in MANET there are other traffics
generated and they could take some joint nodes. The rules, under which packets are
126 J. Drira Rekik, L. Baccouche, and H. Ben Ghezala
ED-DSR calculates the cost of each available route according to the equation (4):
∑ . (4)
Where is the cost of the route and , are the costs of node i
considering the energy and queue length respectively. , and are the factors
which normalize , and . is calculated as follows:
. (5)
Each node is equipped with an IEEE 802.11 wireless interface in a priority queue
of size 50 that drops packets at the queue end in case of overflow. A traffic load
between pair of source-destination (SMH-LMH) is generated by varying the number
of packets per second on the constant bit rate - CBR. Each packet is 512bytes in size.
We defined two groups of mobile nodes according to their resource capacity SMH
and LMH. At the beginning of simulation, SMH nodes started with a starting energy
of 50 joules and LMH with 100 joules. Since we did not address the problem of
consumed energy in idle state, we have only considered energy consumed in
transmission and reception modes. As values, we have utilized 1.4 W for transmission
mode and 1 W for reception mode. The mobile nodes move around the simulation
area based on the RWP mobility model, with a maximum speed of 2 m/s and a pause
time of 10 seconds for SMH, which model a soldier mobility pattern and speeds of up
to 20 m/s for LMH, which corresponds more to vehicular movements.
All results reported here are the averages for at least 5 simulation runs. Each
simulation runs for 1000 s. During each run, we assume that the node 0 wants to send
real-time traffic to last node with an expiration delay equals to 15 seconds (firm real-
time flow) and 25 seconds for higher expiration delay (soft real-time flow). Then, we
observe the behavior of the nodes.
Five important performance metrics are evaluated. They are used to compare the
performance of the routing protocols in the simulation:
- Real-time packet delivery in time ratio: the ratio of the real-time data packet that
are delivered in time to the destination to those generated by CBR sources.
- Real-time packet delivery ratio: the ratio of the real-time data packets delivered to
the destination to those generated by CBR sources.
- Mean end-to-end delay: the mean end-to-end delay is the time of generation of a
packet by the source up to data packets delivered to destination.
- Network lifetime The network lifetime corresponds to the first time when a node
has depleted its battery power.
- Energy consumption per bit delivery is obtained by dividing the sum of the
energy consumption of the network by the number of successfully delivered bits.
We propose here to study the impact of traffic load between pair of source-destination
(SMH-LMH) by varying the number of packets per second on the CBR streams. The
following figures show performance evaluation of DSR and ED-DSR protocols
related to {5, 9, 10, 12, 15, 20} p/s on the CBR streams for 50 mobile nodes.
120
Packet delivery (%packets)
100
80
60
40
20
0
5 9 10 12 15 20
100
Real-time packet delivery in-
80
60
time (%packets)
40
20
0
5 9 10 12 15 20
The figure 1 proves that DSR provides better performance. However, DSR’s
packet deliver ratio includes all packets that have reached the source node and where
the deadline is not guaranteed for all packets received, as shown in figure 2. The ED-
DSR packet delivery ratio reflects the packets that have respected their real-time QoS
constraint and will be handled in time.
In both figures 1 and 2, the ratio of real-time packet delivery at source node is
same. In fact, with ED-DSR, the real-time packets that have expired their deadlines
are discarded by the intermediate nodes. In fact, each intermediate node verifies if the
route response packet RREP respects or not the real-time constraint before reaching
the source node. Thus, the MANET will avoid the network overloading with packets
that have expired their deadline in order to reduce energy consumption and alleviate
network load through intermediate nodes. However, with DSR, the real-time
constraint is not guaranteed especially as the packet rate value increases.
With firm real-time constraint, where D=15s, we note that packet delivery ratio in
time decreases but stills stationary and better than DSR. The ratio of the packets sent
within the compliance of its real-time constraint is over 50%. ED-DSR offers best
performance for delivering real-time packets in time with soft real-time constraint.
End-to-end delay guarantee: Another commonly used metric is the end-to-end
delay. It is used to evaluate the network performance. As shown in figure 3, for low
traffic approximate to 5packets/sec, the packet end-to-end delay results experienced
by both protocols are comparable. It implies that the delay is respected when the
communication load is low. When the communication load increases, a number of
packets are dropped, the route discovery is restarted and the packet delay increases
with DSR. It indicates that packet delay is sensitive to the communication load and is
basically dominated by queue delay. However, with ED-DSR, the end-to-end delay
stills low. The network overloading is avoided by discarding the packets that have
expired their deadline and thus alleviate the load of mobile node queue.
5
End-to-end packet delay(s)
4
3
2
1
0
5 9 10 12 15 20
Our proposed protocol selects different routes depending on the cost function,
thereby balancing the traffic in the network. This balancing helps to avoid overloaded
An Energy and Delay-Aware Routing Protocol for Mobile Ad-Hoc Networks 131
intermediate nodes in the network and reduces the delay for packets. Thus for high
network traffic (up to 9packets/sec), our protocol gives much improved performance.
We, also, note that the end-to-end delay is better for lower deadline (D=15s, firm
real-time constraint). In fact, ED-DSR selects routes which reduce the transmission
delay in order to respect the deadline.
100
Lifetime of SMH(%)
80
60
40
20
0
5 9 10 12 15 20
We can see that networks running ED-DSR live longer than those running DSR,
especially for high network traffic (up to 9packets/sec).
As evident by the graph, our ED-DSR is little bit as efficient as DSR with low
connection rate and much better in high traffic load.
By avoiding the network overloading with packets that have expired their
deadlines and selecting routes that minimize energy cost, ED-DSR alleviates network
load and reduces energy consumption, too.
DSR network lifetime was low in approximately all cases in comparison to ED-
DSR since DSR generates typically more routing overhead than ED-DSR.
Energy dissipation: Figure 5 demonstrates the average energy consumption per bit
delivery reflecting the global energy consumption in the network.
132 J. Drira Rekik, L. Baccouche, and H. Ben Ghezala
We see that ED-DSR outperforms DSR under different traffic loads, which is
mainly due to the benefit of power control in the MAC layer. The excess packets
inevitably introduce more collisions to the network, wasting more energy. ED-DSR
chooses alternative routes, avoiding the heavily burdened nodes, thus alleviating the
explosion in average energy consumption.
1.5
Average energy consumption
0.5
(J)
0
5 9 10 12 15 20
ED-DSR average energy consumption was lower than DSR average energy
consumption under all packet rate conditions (over 9packets/sec) because ED-DSR
selects path that minimize cost function.
Changing expiration delay for different packet rate had not a significant impact on
average energy consumption of ED-DSR.
In this section, we study the impact of network density on the ad-hoc routing
protocols performance. This criteria is simulated varying the number of network
nodes between 10 to 100: {10, 20, 30, 50, 70, 100} with 10 packets per second on the
CBR streams. We focus especially on the impact of our proposed protocol ED-DSR
on energy efficiency guarantees.
Network lifetime: We observe the variation of network lifetime while the number of
nodes is increased. Figure 6 shows the simulation results on small mobile host
lifetime comparing ED-DSR and DSR.
SMH, lifetime diminution according to node density augmentation is justified by
the increase of generated routing overhead. Although the generated routing overhead
had also increased in DSR, but this did not lead to an augmentation of its network
lifetime. Nevertheless, DSR network lifetime was low in approximately all cases in
comparison to ED-DSR since DSR generates typically more routing overhead than
ED-DSR. In fact, in route selection, our proposal algorithm utilizes the network
An Energy and Delay-Aware Routing Protocol for Mobile Ad-Hoc Networks 133
100
Lifetime of SMH(%) 80
60
40
20
0
10 20 30 50 70 100
Number of nodes
resources in terms of energy and load in order to balance traffic load. It ensures
energy efficiency, up to 66%, by avoiding low-power node and busy node.
Energy dissipation: Figure 7 gives an idea about the global average energy
consumption in the network for both protocols DSR and ED-DSR. Increasing node
density leads to an augmentation of collisions risk (consequently to more
retransmission attempts) and to a growth in number of exchanged control packets. All
those factors cause more energy dissipation for both protocols. ED-DSR average
energy consumption is lower than DSR average energy consumption under all density
conditions because ED-DSR selects path that minimizes cost function. Thus, its
global energy consumption remains lower than DSR one.
1.5
Average energy consumption
0.5
(J)
0
10 20 30 50 70 100
Number of nodes
Changing expiration delay for different node densities has not a significant impact
on average energy consumption of ED-DSR.
134 J. Drira Rekik, L. Baccouche, and H. Ben Ghezala
References
1. Das, S., Castañeda, R., Yan, J.: Simulation-Based Performance Evaluation of Routing
Protocols for Mobile Ad-hoc Networks. Mobile Networks and Applications 5(3), 179–189
(2000)
2. Hu, Y.C., Johnson, D.B.: Implicit Source Routes for On-Demand Ad Hoc Network
Routing. In: ACM MobiHoc (2001)
3. David, B.J., David, A., Maltz, B.J.: DSR: The Dynamic Source Routing Protocol for
Multi-Hop Wireless Ad-hoc Networks. In: Perkins, C.E. (ed.) Ad-hoc Networking, ch. 5,
pp. 139–172. Addison-Wesley, Reading (2001)
4. Frikha, M., Maamer, M.: Implementation and simulation of OLSR protocol with QoS in
Ad-hoc Networks. In: Proc. of the 2nd International Symposium on Communications,
Control and Signal Processing (2006)
5. Huang, J., Chen, M., Peng, W.: Exploring Group Mobility for Replica Data Allocation in a
Mobile Environment. In: Proc. Twelfth international conference on Information and
knowledge management, pp. 161–168 (2003)
6. Kuo, C., Pang, A., Chan, S.: Dynamic Routing with Security Considerations. IEEE
Transactions on Parallel and Distributed Systems 20(1), 48–58 (2009)
7. Maleki, M., Pedram, M.: Power-Aware On-Demand Routing Protocols for Mobile Ad-hoc
Networks. In: Piguet, C. (ed.) Low Power Electronics Design, The CRC Press, Boca Raton
(2004)
8. Mbarushimana, C., Shahrabi, A.: Congestion Avoidance Routing Protocol for QoS-Aware
MANETs. In: Proc. of International Wireless Communications and Mobile Computing
Conference, pp. 129–134 (2008)
9. Meng, L., Lin, Z., Victor, L., Xiuming, S.: An Energy-Aware Multipath Routing Protocol
for Mobile Ad Hoc Networks. In: Proc of Sigcomm Asia Workshop, Beijing, China,
pp. 166–174 (2005)
10. Ouni, S., Bokri, J., Kamoun, F.: DSR based Routing Algorithm with Delay Guarantee for
Ad-hoc Networks. JNW 4(5), 359–369 (2009)
Energy-Aware Transmission Scheme for
Wireless Sensor Networks
1 Introduction
A wireless sensor network (WSN) typically consist of a number of small,
inexpensive, locally powered sensor nodes that communicate detected events
wirelessly through multi-hop routing [1]. Typically, a sensor node is a tiny device that
includes three basic components: a sensing subsystem for data acquisition from the
physical surrounding environment, a processing subsystem for local data processing
and storage, and a wireless communication subsystem for data transmission. In
addition, a power source supplies the energy needed by the device to perform the
programmed task. This power source often consists of a battery with a limited energy
budget. In addition, it could be impossible or inconvenient to recharge the battery,
because nodes may be deployed in a hostile or unpractical environment [2]. WSNs are
being used in a wide variety of critical applications such as military, health-care
applications [3], health care [4], environmental monitoring [5], and defense [6]. A key
research area is concerned with overcoming the limited network lifetime inherent in
the small, locally powered sensor nodes [1]. To improve this limited network life
time, new and modified routing algorithms were proposed.
A. Özcan, J. Zizka, and D. Nagamalai (Eds.): WiMo/CoNeCo 2011, CCIS 162, pp. 135–144, 2011.
© Springer-Verlag Berlin Heidelberg 2011
136 A.I. Abdu and M. Salamah
2 Related Work
The energy management technique IDEALS|RMR [7] extends the lifetime of a
wireless sensor network, whereby a node with high energy reserve act for the good of
the network by forwarding all packets that come to it and by generating its own
packets. However, a node with low energy reserve acts selfishly by only generating or
forwarding packets with high information content. In addition, IDEALS|RMR uses a
single-fixed transmission range for each sensor node regardless of whether its energy
resource is high or low and this causes redundancy in energy consumption as lots of
areas are covered by several sensors.
Authors in [8] developed a power saving technique by combining two methods:
scheduling sensors to alternate between active and sleep mode method, and adjusting
sensors sensing range method. They combined both methods by dynamic
management of node duty cycles in a high target density environment. In their
approach, any sensor schedules its sensing ranges from 0 to its maximum range,
where 0 corresponds to sleep mode. Adding the system of information control
proposed in this paper could significantly save energy.
Authors in [10] try to deal with the problem of energy holes (unbalance
distribution of communication loads) in a wireless sensor network. This means that,
energy of nodes in a hole will be exhausted sooner than nodes in other region. As,
energy holes are the key factors that affects the life time of wireless sensor network,
they proposed an improved corona model with levels for analyzing sensors with
adjustable transmission ranges in a WSN with circular multi-hop deployment.
Additionally, the authors proposed two algorithms for assigning the transmission
ranges of sensors in each corona for different node distributions. These two
algorithms reduce the searching complexity as well as provide results approximated
as optimal solution.
M. Busse et al. [11] maximize the energy efficiency by proposing two forwarding
techniques termed single-link and multi-link energy efficient forwarding. Single-link
forwarding sends a packet to only one forwarding node; multi-link forwarding
exploits the broadcast characteristics of the wireless medium. This leads to efficiency
because if one node doesn’t receive a packet, another node will receive the packet and
Energy-Aware Transmission Scheme for Wireless Sensor Networks 137
ȋȌȋȌȋȌ
ͷ ͷ ͷ
Ǥ Ǥ
Ͷ Ͷ Ͷ
͵
͵ ͵
ʹ
ʹ ʹ
ͳ
Ǥ ͳ ͳ
Ǥ
Ͳ
battery decreases to the minimum PP1, we will have the chance to transmit only
packets with the highest message priority MP1 and with the lowest transmission range
TR1.
Priority balancing and transmission ranges can also affect routing process-if a
node’s residual energy level does not warrant sending a packet of a certain priority, it
will not participate in routing. Data deemed not to be significant enough (considering
the state of the network) can be dropped at a number of stages: event generation (if a
change in the data does not trigger a rule, an event will not be generated), local
priority balancing (if the PP<MP, the packet will not be created from the generated
event), and routing (if no route exists across the network where PP≥MP due to loops,
the packet will not reach its destination).
4 Performance Analysis
We performed our simulation using C programming, where we compared the data sets
of tradition case, IDEALS|RMR, and IRT. Repetitive simulations were perfumed for
IDEALS|RMR, and IRT to verify our simulation results provided in figure 5. IRT
system is not suited to an application where all data are equally important.
Initially, all sensor nodes have the same initial energy of 100 Joules [7], the equation
for energy required to transmit a packet (1), where Eelec[J] is the energy required for
the circuitry to transmit or receive a single bit, Eamp[J] is the energy required for the
transmit amplifier to transmit a single bit a distance of one meter, d is the separation
140 A.I. Abdu and M. Salamah
distance in meters and l is the length of the packet 1000bits. As it can be seen in
figure 4, we used 20 sensors nodes, distributed them randomly in a 70×70 meters area
and each node has the same maximum transmission range of 20 meters. The
coordinate of the sensors is saved in a file and given as input to the program.
Therefore, the distances to each of the sensors in the maximum transmission range of
a sending sensor is determined using the distance formula (2). Other simulation
parameters are listed in table 1 as shown below.
d x x y y . (2)
First, the user has to create a file, and provide the coordinates of sensors in it; the
program then outputs (sending node id, its coordinates, the node id’s in its maximum
transmission range and their distance to the sending node), for all sensor coordinates
provided. One sensor is now chosen for the simulation as the remaining sensors are
assumed to be identical. The chosen sensors id and the distance to its closest sensor
are given as inputs, the sensor senses data and our IRT algorithm is perfumed as
illustrated in figure 3. Since the maximum transmission range (TR5) is fixed for every
sensor, five different transmission ranges can be calculated by considering the
minimum transmission range (TR1) as the distance to the closest sensor in the sending
sensor’s maximum transmission range. So the ranges between TR1 to TR5 are
calculated by successively adding the ΔTR = (TR5-TR1)/4. That is, TR(i) = TR(i-1) +
ΔTR, for i=2,3,4. For example, adding ΔTR to TR1 gives TR2, and so on. The reason
we took TR1 as the distance to the closest sensor in the sending sensor’s maximum
transmission range is because it covers at least one sensor so that in the worst case
(PP1), we have full connectivity (packets can be delivered to the sink node).
All nodes except the sink node (final destination of packets), performs multi-hop
routing of packets by using flooding algorithm. Our program is so dynamic that
different coordinates from the ones used in our simulation can be entered and any
node can be chosen for the simulation. Figure 4 shows a snap shot of randomly
Energy-Aware Transmission Scheme for Wireless Sensor Networks 141
Start
Enter Sensor Id, and the distance
to its nearest sensorǤ
Calculate the five transmission
ranges of the sending sensor
Sensor Senses Data
No Check sensed data against
ͷǤ each rule in database.
Rule(s) fulfilled?
Yes
Power Priority Allocation
Message Priority
Allocation assigns MP to
assigns PP to Residual
Energy Level.
fulfilled rules.
No
PP≥MP?
Yes
TR=PP
Transmit Packet
with new TR
Decrease
Residual
Energy
Packet Received
No Residual
Energy≤0?
Yes
Stop
distributed nodes used in the simulation. Circles represent the maximum transmission
range of sensors and lines represent possible communication link [7]. We chose node-
8 as it’s located in the middle. We assumed packets are transmitted every 5 minutes.
Our simulation was conducted to show how the network life time can be improved by
using IRT technique proposed in this paper. The data generation in our simulation is
not so important, what is important is whether rules are fulfilled or not, and the power
priority of the residual energy. Node-08 was use in this simulation due to its location;
any node could be taken as well.
Node energy Depletion Times: Figure 5 shows the time it takes for a technique
(traditional, IDEALS|RMR, IRT) to deplete its energy reserve. ‘100’ means nodes
energy is full, ‘0’ means nodes energy is depleted. It can be seen that in the tradition
case that node-8 depletes its energy reserve after around 10 hours, as it is sending
packets every 5min. without taking into account the information contents, and energy
levels. In the case of IDEALS|RMR, packets are not transmitted every 5min., as the
packet importance are considered before transmission. Hence, the node lifetime
significantly increases. Finally, in the IRT case, packets are also not transmitted every
5min., as the importance of packets are considered before transmission. Unlike
IDEALS|RMR which uses one fixed transmission range, IRT can adjust its
Energy-Awaare Transmission Scheme for Wireless Sensor Networks 143
transmission range based on n nodes energy level, thus allows the sensor more choice to
reduce its energy consum mption. As a result, our proposed IRT scheme show ws a
i node life time compared to the other two cases. As it can
significantly high increase in
be seen from the figure, th he attained improvement of IRT over IDEALS|RMR and
traditional schemes reachess 80% and 530% respectively.
It can be noticed from fiigure 5 that the energy level of the IDEALS/RMR and IIRT
schemes drops suddenly an nd then becomes constant, this process continues until the
battery is depleted. The sud dden dropping of energy level represents continues paccket
transmission because PP≥M MP (battery level is high enough to allow a node to transsmit
a packet of that importan nce) while the constant energy level represents PP< <MP
(battery level is not high en
nough to allow a node transmit a packet of that importannce,
therefore no transmission occurs).In
o a nutshell, if a packet is not transmitted duee to
PP<MP, the same battery level will be maintained until a packet arrives in whhich
PP≥MP, as can be seen in figure
fi 2.
5 Conclusions
In this paper, we proposed
d an IRT scheme, which operates upon a combinationn of
information management reeporting (determining the information contents of a paccket
and how important such an information is, through a system of rules), eneergy
management (balancing th he residual energy level with the packet importance) and
144 A.I. Abdu and M. Salamah
References
1. Akyildiz, I.F., Su, W., Sankarasubramaniam, Y., Cayirci, E.: Wireless sensor networks: a
survey, Comp. A Survey, Comp. Netw. 38, 393–422 (2002)
2. Anastasi, G., Conti, M., Francesco, M.D., Passarella, A.: Energy conservation in wireless
sensor networks: A survey. Ad Hoc Networks 7, 537–568 (2009)
3. Elrahim, A.G.A., Elsayed, H.A., Ramly, S.E.L., Ibrahim, M.M.: An Energy Aware WSN
Geographic Routing Protocol. Universal Journal of Computer Science and Engineering
Technology 1(2), 105–111 (2010)
4. Lo, B.P.L., Yang, G.-Z.: Key technical challenges and current implementations of body
sensor networks. In: Proceedings of the Second International Workshop Wearable and
Implantable Body Sensor Networks (BSN 2005), London, UK (April 2005)
5. Werner-Allen, G., Lorincz, K., Ruiz, M., et al.: Deploying a wireless sensor network on an
active volcano. IEEE Internet Computing 10, 18–25 (2006)
6. Simon, G., Maroti, Ledeczi, A., et al.: Sensor network-based countersniper system. In:
Proc. Conf. Embedded Networked Sensor Systems, Baltimore, MD, pp. 1–12. Baltimore
(2004)
7. Merrett, G.V., A‘l-Hashimi, N.M., White, N.R.: Energy managed reporting for wireless
sensor networks. Sensors and Actuators A142, 379–389 (2008)
8. Mingming, L., Jie, W., Mihaela, C., Minglu, L.: Energy-Efficient Connected Coverage of
Discrete Targets in Wireless Sensor Networks. International Journal of Ad Hoc and
Ubiquitous Computing 4, 137–147 (2009)
9. The Distance Formula,
http://www.purplemath.com/modules/distform.htm
10. Song, C., Liu, M., Cao, J., Zheng, Y., Gong, H., Chen, G.: Maximizing network lifetime
based on transmission range adjustment in wireless sensor networks. Computer
Communications 32, 1316–1325 (2009)
11. Busse, M., Haenselmann, T., Effelsberg, W.: Energy-efficient forwarding in wireless
sensor Networks. Pervasive and Mobile Computing 4, 3–32 (2008)
PRWSN: A Hybrid Routing Algorithm with Special
Parameters in Wireless Sensor Network
1 Introduction
During the Twenties century, man has used sensors for the means of monitoring his
surroundings. As a result of the advances in wireless communication and electronics
technologies, wireless sensors are getting smaller, cheaper, and more powerful. The
development of these miniaturized wireless sensors enables to use sensor networks for
many applications such as military surveillance, environmental monitoring,
infrastructure and facility diagnosis, and other commercial applications [1, 2, 3, 4].
These sensors monitored their environment and transformed the received information
into an electrical signal. The signal processing method has a close relationship with
A. Özcan, J. Zizka, and D. Nagamalai (Eds.): WiMo/CoNeCo 2011, CCIS 162, pp. 145–158, 2011.
© Springer-Verlag Berlin Heidelberg 2011
146 A.G. Delavar, J. Artin, and M.M. Tajari
the event type and the subject under review. Sensors present in the environment send
their data to a data center or base station (BS) for review and further decisions [5].
Despite proper performance and high efficiency levels have a number of limitations in
high-scale development. Limitations of the sensors can be grouped in one of the
following forms: low energy power levels, and the lack of battery replacement in
most cases, limitation of their bandwidth and short radio range. Managing a large
number of nodes with these limitations can provide many challenges [6]. Energy
limitation of the nodes has caused that the reduction of energy consumption in all
layers of sensor network design, be considered as one of the main cases. One of the
most important layers in this case is the network layer in which the routing process is
done. The routing notion in sensor networks is distinguished from other wireless
communication networks because of some intrinsic characteristic and has placed more
challenges in the path of the design. Some of its intrinsic characteristic includes: lack
of a broad IP creation for every node and in result the inability of execution of the
many common network routing algorithms, which result to an increase in data traffic
in these networks and also limitations in the energy of message transmission,
limitations in the power present in each node, and limitations in the calculation
potency and the memory on nodes.
Regarding the mentioned cases, a lot of routing methods were created for WSNs
which can be divided into three group's base on the most common categorization:
Data–centric Algorithms, Location Base Algorithms and Hierarchical Algorithms [6].
Data-centric protocols are query-based and depend on the naming of desired data,
which helps in eliminating many redundant transmissions. Location-based Algorithms
utilize the position information to relay the data to the desired regions rather than the
whole network. Hierarchical Algorithms aim at clustering the nodes so that cluster
heads can do some aggregation and reduction of data in order to save energy [6].
Cluster based methods benefit from a few characteristics: the first characteristic is that
they divide the network into several parts and every part is directed by one cluster
head. This characteristic causes the cluster based methods to be of a higher scalability
level. The second characteristic is that a cluster head receives the data of its nodes and
sends it BS after gathering data, which results in substantial reduction in data
redundancy. We will provide a clustering algorithm, which uses a new distributed
method, and a local threshold detector to perform clustering. Also in this algorithm,
we use a combination of the single and multi-hop methods to send the data to BS in
order to increase the lifetime of the network. By comparing PRWSN to previous
algorithms we will evaluate it.
2 Related Work
Grouping of SNs into clusters has been widely used as an energy-efficient
organization of nodes in WSNs [7]. In each cluster, one of the member nodes, the
cluster head, acts as a local coordinator of the basic operations within the cluster,
namely communication as well as data aggregation operations. Clustering protocols
are well suited for aggregation operations since nodes in the same cluster are in close
proximity, and thus, data sensed by these nodes are correlated and can be effectively
aggregated. [8]
PRWSN: A Hybrid Routing Algorithm 147
One of the most famous clustering algorithms is LEACH [9]. The operation of
LEACH is divided into rounds and each round separated into two phases, the set-up
phase and the steady-state phase. In the set-up phase, each node decides whether or
not to become a cluster head for the current round. This decision is based on the
threshold T (n) given by:
⎧ p
⎪ if n ∈ G ,
1
⎪
T ( n) = ⎨1 − p ∗ (r mod p
)
(1)
⎪
⎪0 otherwise
⎩
non-CH nodes choose a ‘‘better” CH to join by calculating the clustering cost and
finding CH according to maximum energy residue.
PEBECS [14] focusing on the hot spot problem, PEBECS presents the solution by
dividing a WSN into several partitions with equal area and then grouping the nodes
into unequally sized clusters. The shorter the distance between the partition and the
sink, the more clusters are created within the partition. Further, to select the CH,
PEBECS uses the node’s residual energy, degree difference and relative location in
network. PEBECS mitigates the hot spot problem by grouping nodes in smaller
clusters to save more energy on their intra-cluster communication. As the result,
PEBECS achieves longer network lifetime by better balancing node energy
consumption.
In previous work we proposed a Distributed Balanced Routing Algorithm with
Optimized Cluster Distribution RCSDN [15]. In which the formation of clusters is
locally done by a distributed method and through calculation of the average of energy
in each node. After gathering the data in CH, they will be sent to BS using the single-
hop method. Now by using the presented algorithm we can use a new selection
conditions for creating clusters which reduces node energy consumption, and balances
node energy consumption by the appropriate distribution of cluster head in the
network; and create better conditions compared to previous methods.
3 System Model
The network model of the PRWSN which is under study contains the following
characteristics:
1. The base station and all sensor nodes are stationary after deployment.
2. The basic energy of nodes is different.
3. Sensor nodes do not require GPS-like hardware. So, they are not location
aware.
Generally, sensors consume energy when they sense, receive and transmit data [16].
Our energy model for the sensor network is based on the first order radio model as
used [9]. In this model, the transmitter has power control abilities to dissipate minimal
energy to send data to the receiver. In order to achieve an acceptable signal-to-noise-
ratio (SNR), the energy consumption of the transmitter is given by:
⎧ ETx ( n , d ) = n ( E elec + ε fs d 2 ) d < d0
⎪
⎨ (2)
⎪ ETx ( n , d ) = n ( E elec + ε mp d ) d ≥ d0
4
⎩
Where, n is the number bit of the message and d is the distance. Eelec is the energy
dissipated per bit to run the transmitter or the receiver circuit, and Ԑfs , Ԑmp is the
energy dissipated per bit to run the transmit amplifier depending on the distance
PRWSN: A Hybrid Routing Algorithm 149
between the transmitter and receiver. If the distance is less than a threshold d0 , the
free space (FS) model is used; otherwise, the multipath (MP) model is used.
The energy consumption of the receiver is given by:
In the beginning of each round all of nodes have a normal state. In PRWSN we use a
local threshold detector (TD) so that only nodes having appropriate energy participate
in the competition for CH selection. This threshold detector is locally calculated in
each node to prevent the lack-of-candidates problem in some areas because of the
central selection. The following qualification function is used to prevent this problem:
∑
ncount ( S i )
E re ( S k )
TD (S ) = α ×
i
k =1 (4)
k
Where ncount (Si) is equal to the number of neighbors of the node “i”. Ere (Sk) is the
remaining energy of the neighbor “k”. And α ϵ [0.5, 1.5] is a coefficient which
determines the candidate threshold; the larger this number is, the lesser number of
nodes become candidates. Each node decides to become a candidate or not, based on
the following relation:
if Ere (Si) > TD (Si)
(5)
state (Si) = candidate
150 A.G. Delavar, J. Artin, and M.M. Tajari
After distributing the start message based on the following algorithm which is
implemented in each node, the proper CHs are selected and clusters are formed. In
which Sn is the collection of neighbor nodes in radio range of each node and is
defined as:
S n ( S i ) = {S j | d ( S i , S j ) ≤ R ( S i )} (6)
Also Scn , is the collection of the neighboring nodes of a node which its remaining
energy is equal to or more than TD.
S cn ( S i ) = {S j | S j ∈ S n ( S i ) ∧ E re ( S j ) ≥ T D ( S i )} (7)
In this algorithm, each node performs a reversed timer regarding its remaining
energy level. If this timer concludes and no message of cluster formation is received
from other nodes or the node has not been set as a CH, it will introduce itself as a CH
and broadcast a CH formation message including its ID.
First by applying TD, the nodes with suitable energy will be chosen as candidates.
Then if a candidate node has the most neighboring number among its local
neighboring candidates (Scn(Si)) or has an equal number of neighbors with another
node and its remaining energy is more than the node, it will introduce itself as a CH
via message broadcast. Because usually nodes of a local region will detect similar
data, and the more nodes a cluster has, the number of clusters will be reduced and less
data will be sent to BS. As a result, the energy consumption will be reduced and
lifetime of the network will be increased.
When a node receives the CH message, if it has a normal state, it will immediately
joined the chosen CH, and change its state to cluster-member. But if it has the
candidate-CH state, it will perform the following actions:
A. Change its state to cluster-member.
B. Create an abort message containing its ID and broadcast it to its neighbors.
When a node receives an abort message from its neighbors, if the state of the node is
set to normal or candidate-CH, it will delete the node which sent the message from its
neighbors list (Sn(Si)) and proceed to recalculating the threshold detector. If the state
of a node is candidate, the general collection of candidate node (Scn(Si)) will be gained
regarding the new amount of TD. But if the state of a node is normal, again it
compares its remaining energy to the threshold, and it’s possible that a node that used
to be in a normal state, to turn to a candidate-CH state; this process of CH selection
guarantees full network coverage. Remember that if in PRWSN, a node receives
multiple CH messages; it will joins a CH which is closest to it. After this stage, each
node will have one of the two states: CH or cluster-member.
152 A.G. Delavar, J. Artin, and M.M. Tajari
After the clusters are formed, we should determine the suitable path for transferring
data in each cluster to BS. In algorithms like LEACH [9] which use single-hop
method for transferring data to BS, the energy of nodes farther from BS will be
discharged. Also as we said in related work section, in algorithms like PEGASIS [11]
which use multi-hop method, the energy of nodes close to BS will be discharged with
a higher rate because of transferring the data of farther nodes. In PRWSN we use a
combination of the mentioned methods for exploiting the advantages of both of them.
When a node is selected as CH, at first it chooses its next step as BS and during Route
discovery step, specifies the optimized route to BS. Then broadcasts a message as
"Route discovery" along with its ID, the amount of its remaining energy and distance
to BS with a double R Radius (inter-clustered Radius) to make aware its neighbor CH
of its existence. Each node performs the following algorithms after receiving a "Route
discovery" message and chooses the next-CH for transferring its data to BS:
In this algorithm, each CH compares the overall collection of its CH distance to itself
and its CH to BS with the overall distance of its previous chosen Next-CH after receiving
a "Route discovery" message from one CH, A CH will be chosen for transferring its data
to BS if the expected amount is less and the CH energy is more than its determined
threshold. In PRWSN at first data will be sent in multi-hop method to BS. But after a
while the node energies close to BS will become less compared to further nodes and it's
better that farther nodes send their data in single-hop to BS .We may do this by applying a
threshold (in line 2) in which β ϵ [0.4, 1.4] is a coefficient which specifies the difference
of acceptable energy between CH and its next CH for transferring the data to BS. This
process of creating route, balances the energy consumption between nodes. Then each
node sends its data to its corresponding CH, which after receiving and gathering the data
of its cluster members, will send them to a BS.
Parameter Value
Network size 500 × 500 m
Number of Nodes 500
Base station location 250,250 m
Initial energy for node rand [0.5,1] J
E elec 50nJ/bit
ε fs 10pj/bit/ m2
ε mp 0.0013pj/bit/m4
Data aggregation energy 5nj/bit/signal
d0 87m
We have compared the presented Algorithm with the LEACH [9] and RCSDN [15]
method. We will use the value of α = 1.05 and β = 0.9 to compare our algorithm to
RCSDN and LEACH.
Figure 1 shows the total number of nodes alive through simulation time. The figure
suggests that in PRWSN, the nodes have longer lifetime than that in LEACH and
RCSDN. PRWSN reduces energy consumption and then prolong network lifetime.
The cause of this is the appropriate distribution of clusters in the network and the
consideration of the local state of the node and its neighbors in cluster formation.
The average of energy consumption in each node per round with different
number of nodes
We have gained the average of energy consumption in different rounds to get the first
dead account in the network. As figure 3 shows, the energy consumption in PRWSN
is less than other algorithms. This accounts for using the number of neighbor criterion
in selecting CH. Since the nodes which are more in the number of neighbors will be
chosen as CH and as a result, the number of clusters will be reduced and less similar
data will be sent to each area of BS.
154 A.G. Delavar, J. Artin, and M.M. Tajari
We have compared the number of clusters in different rounds of the network lifetime
with LEACH in a network with a fixed size of (200×200) with 200 nodes. As the
figure 4 shows the number of clusters in LEACH method does not have a special
balance, and in some rounds this number is very low or very high; but in our
presented algorithm the number of clusters in its distribution throughout the network
has a good balance, which is because of using local threshold detector, which results
in the balance of node energy consumption and increased lifetime of the network.
PRWSN: A Hybrid Routing Algorithm 155
The more we reduce the coefficient β, the accepted threshold in energy difference
of CH and the next CH will be reduced and also the performance of algorithms will
be like multi-hop methods. As a result the energy of nodes close to BS will be
discharged with a higher rate. On the other hand, the more we increase the coefficient
β, the harder it will be increased, and the performance of algorithm will be close to
single-hop method. As a result, the nodes staying away from BS will be dying with a
higher rate. In both states, the lifetime of the network will be reduced. We can see that
for β=0.9, an optimal value of the network lifetime can be obtained.
6 Conclusions
In this paper we have presented a novel algorithm to form clusters in wireless sensor
networks. We have shown that it is possible to create an efficient method for creating
clusters in sensor networks by using the average of local energy in each node and a
count of their neighbors. Also we can increase the lifetime of the network to a
substantial amount by combining single and multi-hop methods. This causes the
reduction of loading on nodes which are away from BS or those which are close to
BS. We have demonstrated the presented algorithm in an efficient fashion and have
compared it with the LEACH and RCSDN methods in cluster formation; in which the
results show a higher efficiency level of the PRWSN in node energy reduction and
cluster distribution.
References
1. Jeong, W., Nof, S.Y.: Performance evaluation of wireless sensor network protocols for
industrial applications. Journal of Intelligent Manufacturing 19(3), 335–345 (2008)
2. Sohrabi, K., et al.: Protocols for self-organization of a wireless sensor network. IEEE
Personal Communications 7(5), 16–27 (2000)
3. Min, R., et al.: Low power wireless sensor networks. In: Proceedings of International
Conference on VLSI Design, Bangalore, India (January 2001)
4. Rabaey, J.M., et al.: PicoRadio supports ad hoc ultra low power wireless networking. IEEE
Computer 33(7), 42–48 (2000)
5. Akyildiz, I.F., et al.: Wireless sensor networks: a survey. Computer Networks 38(4),
393–422 (2002)
6. Akkays, K., Younis, M.: A Survey on Routing Protocols for Wireless Sensor Networks.
Elsevier Ad Hoc Network Journal 3(3), 325–349 (2005)
7. Abbasi, A.A., Younis, M.: A survey on clustering algorithms for wireless sensor networks.
Computer Communications 30, 2826–2841 (2007)
8. Konstantopoulos, C., Mpitziopoulos, A., Gavalas, D., Pantziou, G.: Effective
Determination of Mobile Agent Itineraries for Data Aggregation on Sensor Networks.
IEEE Transaction On Knowledge and Data Engineering 22(12) (December 2010)
9. Heinzelman, W.R., Chandrakasan, A., Balakrishnan, H.: Energy efficient communication
protocol for wireless sensor networks. In: Proceedings of the 33rd Hawaii International
Conference on System Science, vol. 2 (2000)
10. Younis, O., Fahmy, S.: Heed: a hybrid, energy-efficient, distributed clustering approach
for ad hoc sensor networks. IEEE Trans. Mobile Comput. 23(4), 366–379 (2004)
11. Lindsey, S., Raghavendra, C.S.: PEGASIS: Power efficient gathering in sensor
information systems. In: Proc of IEEE Aerospace Conference, IEEE Aerospace and
Electronic Systems Society, Montana, pp. 1125–1130 (2002)
12. Ai, J., Turgut, D., Boloni, L.: A Cluster-Based Energy Balancing Scheme in
Heterogeneous Wireless Sensor Networks. In: Proceedings of the 4th International
Conference on Networking, Reunion, France, pp. 467–474 (2005)
13. Chen, H., Wu, C.S., Chu, Y.S., Cheng, C.C., Tsai, L.K.: Energy residue aware (ERA)
clustering algorithm for leach-based wireless sensor networks. In: 2nd International
Conference ICSNC, Cap Esterel, French Riviera, France, p. 40 (August 2007)
158 A.G. Delavar, J. Artin, and M.M. Tajari
14. Wang, Y., Yang, T.L.X., Zhang, D.: An energy efficient and balance hierarchical unequal
clustering algorithm for large scale sensor network. Inform. Technol. J. 8(1), 28–38 (2009)
15. Ghorbannia Delavar, A., Artin, J., Tajari, M.M.: RCSDN: a Distributed Balanced Routing
Algorithm with Optimized Cluster Distribution. In: 2011 3rd International Conference on
Signal Acquisition and Processing, ICSAP (2011)
16. Wang, Q., Yang, W.: Energy consumption model for power management in wireless
sensor networks. In: 4th Annual IEEE communications society conference on sensor, mesh
and ad hoc communications and network, SECON 2007 (2007)
Cone Tessellation Model for Three-Dimensional
Networks
1 Introduction
A. Özcan, J. Zizka, and D. Nagamalai (Eds.): WiMo/CoNeCo 2011, CCIS 162, pp. 159–169, 2011.
© Springer-Verlag Berlin Heidelberg 2011
160 G. Sarışın and M. Salamah
the nodes in 3D space where we need to sense the environment. In this paper, we
focus on the coverage and connectivity issues of three-dimensional networks, where
all the nodes have the same sensing range and the same transmission range.
In 3D networks, the coverage area of a node forms a sphere. Kelvin’s Conjecture
and Kepler’s Conjecture have been used for finding the most efficient shape to fill the
sphere. Previous researches used Kelvin’s conjecture to place nodes at the center of
polyhedron shapes which are created by Voronoi tessellation in 3D space. Space
filling property is very important to cover a sphere and best space-filler regular
polyhedrons are cube, dodecahedron, icosahedron, octahedron and tetrahedron [2].
Most of the previous works depends on convex polyhedrons like cube, hexagonal
prism, rhombic dodecahedron and truncated octahedron to achieve full coverage and
connectivity. Motivated from models like cube, hexagonal prism, rhombic
dodecahedron and truncated octahedron, and by assuming the same sensing range (R)
and same transmission range, we proposed a Cone model to achieve better coverage
and connectivity for 3D networks. However, we placed nodes on vertices of cones
based on satellite footprint idea.
Our contributions, results, and conclusions of this paper can be summarized as
follows:
1) We used volumetric quotient approach, which is the ratio of the volume of a
shape to the volume of its circumsphere. We show that the volumetric
quotient of cone is 1, much higher than other possible space-filling
polyhedron (volumetric quotient should be less than 1 for any polyhedron).
2) We show how to place nodes using any of these placement strategies. For
each placement strategy, we define a new u,v,w-coordinate system, where a
node should be placed each integer coordinate of this new system. Relation
of this new u,v,w-coordinate system with the original given x,y,z- coordinate
system has been provided in equations (5), (6),(7) ,(8) and (10) in terms of
the sensing range R and the location of an arbitrary node in the original x,y,z-
coordinate system (cx,cy,cz). Strategies require only a constant number of
arithmetic operations to compute the location of each node and hence is
computationally very efficient [2]. We find that cone placement strategy
requires that the ratio of transmission range to the sensing range must be at
least 2.2360 in order to maintain connectivity among nodes.
The rest of this paper is organized as follows: Section 2 presents background
information and related work. Section 3 presents our proposed research. Section 4
gives the performance analysis and comparisons. Section 5 provides conclusion and
future work.
2 Background Information
A main objective in wireless sensor networks is to find the best deployment strategy
with minimum number of nodes while 100% coverage is guaranteed [7]. In 2D
cellular networks regular hexagon covers the circle, with most efficient way (with
fewer gaps), in addition radius of each hexagon is equal to maximum range of a base
station. For sensor networks, sensing coverage is very important. Any of the selected
Cone Tessellation Model for Three-Dimensional Networks 161
point in the range should be within the sensing range of at least one sensor. Many
algorithms [8], [9], [10], [11] developed to get full sensing coverage in 2D network.
Lifetime of a network is another important issue, to increase the lifetime energy
harvesting can be used for sensor networks. Also many energy conservation protocols
[12], [13], [14], [15] are developed. For a specific time period, only a subset of nodes
are active to sense the environment. The effect of sensing coverage on performance
was studied for 2D wireless sensor networks in [16], and only [17] for rhombic
dodecahedron, and [18] for hexagonal prism studied the 3D cellular networks. Also in
[2], they investigated the required number of nodes for truncated octahedron and
maximum of the minimum transmission range. In this paper, cone is used to model
the shape of cell, and for 3D space we achieved 46.35% fewer nodes than truncated
octahedron model.
Definition: For any polyhedron, if the maximum distance from its center to any vertex
is R, and the volume of that polyhedron is V, then the volumetric quotient of the
polyhedron is given as [2]
V
4
3
which is the ratio of the volume of a polyhedron to the volume of its circumsphere.
2.1.1 Cube
length of each side of cube is .
radius of its circumsphere is √3 /2.
volumetric quotient = = 0.36755
√ /
More information can be found in [2] for cube, hexagonal prism, rhombic
dodecahedron and truncated octahedron.
Cone Tessellation Model for Three-Dimensional Networks 163
In this section, we explained the results for the placement of a node in the coordinate
system briefly. Details can be found in reference [2]. Cube, hexagonal prism, rhombic
dodecahedron and truncated octahedron placement can be achieved from the below
formulas:
For cube = , , (1)
√ √ √
The real distances between any two nodes for polyhedrons with coordinates ( , , )
and ( , , ) is as follows:
For cube = √
(5)
For heaxagonal prism =
= √2 (6)
4 3
(8)
√5 4
Figure 4 shows tessellation for hexagonal prism, rhombic dodecahedron and truncated
octahedron. More details can be found in reference [2]. They assumed nodes are
placed at the center of each node.
(a) (b)
(c) (d)
Fig. 4. Tessellation for rhombic dodecahedron (a), hexagonal prism (b), truncated octahedron
(c), and for cube (d) [2]
Recall that Volumetric quotient is always less than 1 for any polyhedron. Our
model can achieve the highest volumetric quotient which is 1, without using any
polyhedron. Finding the optimal shape is very hard in 3D, it can take many years to
prove like Kepler’s conjecture because it still has 99% certain of the correctness (we
can accept it as a theorem). We compared our model with four polyhedron shapes and
cone has much higher volumetric quotient than others. So, cone needs less nodes than
other space filling polyhedrons for coverage in 3D network. Lastly, we developed a
Cone Tessellation Model for Three-Dimensional Networks 165
placement strategy for cone and then we worked on connectivity issue for finding the
minimum transmission radius needed to achieve connectivity between neighboring
nodes in the placement strategy.
Fig. 5. Cone
Based on satellite footprint idea, we found optimal location for cone is its vertex
and when we tile the space when vertices are intersected we eliminate one of the node
and it helped us with volumetric quotient to use less number of nodes. And also cones
does tile a plane in 2D as shown below:
Nodes placed at vertex, then we calculated the location of the node according to
x, y and z axis.
Suppose that the coordinate system is defined by three axes : , and , which are
parallel to the x, y and z axes, respectively. For a node, unit distance in u direction is
2R, v axis is R and w axis is 2 which is equal to 5R. Node is placed at
166 G. Sarışın and M. Salamah
2 , , 5 (9)
Optimal height for cone to achieve highest volumetric quotient is h/2. R is the sensing
range and it is equal to h for cone (R=h). The real distance between two points with
coordinates , , and , , in the u, v, w- coordinate is
= 4 5 (10)
There is a tessellation model for better understanding the node placement strategy and
it is done by 3DMax. More nodes are needed to cover the area if network size
increases. However for same network size, cone needs less number of nodes to
achieve full coverage. Figure 7 shows the node placement for cone which is done by
3DMax.
4 Performance Analysis
In 2D, there is no shape that can fill the plane without gaps, therefore volumetric
quotient approach can never be exactly 1. But we have an advantage in 3D. The cells
can fill gaps when we deploy the cells carefully (to have a full filled space). Figure 6
can give an idea about our node deployment strategy. If we have a constant sensing
range, cone needs less cells to fill a specific 3D space.
If we consider all models, cone gives the best volumetric quotient value according
to our approach. As we mentioned before volumetric quotient is characteristic issue
for determining number of nodes. Cube needs 1⁄0.36755 2.7207 times that of cone.
Cone Tessellation Model for Three-Dimensional Networks 167
For hexagonal prism and rhombic dodecahedron it is 1⁄0.477 2.0964 and for
truncated octahedron it is 1⁄0.68329 1.4635. Table 1 shows the comparisons
according to cone model. The achieved saving ratios are shown in the last column.
Cube 1.1547R
1.1547R 1.1547R 1.1547R
5 Conclusion
In this paper, we proposed a new model to place nodes in 3D space, unlike today’s
networks (where they assume nodes are placed on 2D plane). Deployment of the
nodes is not very easy in 3D. For 2D networks, hexagonal tiling is the best strategy
for placing the base stations, so the covered area is maximized with fixed radius base
stations. Here, the problem for 3D space is filling the empty spaces between nodes.
Related works on this topic just have the polyhedron shapes to achieve space-filling
property in 3D. We used the idea of volumetric quotient, which is the ratio of the
volume of a polyhedron to the volume of its circumsphere, to compare different
models. The proposed cone model results in the highest volumetric quotient which is
1. This shows with cones, one can cover the sphere better than polyhedrons.
Consequently, the number of nodes required for coverage is changed. For example, if
we apply truncated octahedron placement strategy, it needs 46% more nodes than the
cone placement strategy to cover same network size. From other related models like
cube, hexagonal prism, rhombic and dodecahedron, the achieved saving in terms of
the number of nodes are 172%, 110% and 110% respectively.
After finding the optimal placement strategy, we investigated the connectivity
issues and we found that the best placement strategy is with our cone model which
requires the transmission range to be at least 2.2360 times the sensing range in order
to maintain full connectivity. For cube, hexagonal prism, rhombic dodecahedron and
truncated octahedron transmission ranges are 1.1547, 1.4142, 1.4142 and 1.7889
respectively. We believe that our model can be used in many research areas for 3D
networks.
References
[1] Alam, S.M.N., Haas, Z.: Coverage and Connectivity in three-dimensional underwater
sensor networks.Wireless communication and mobile computing (2008),
http://www.interscience.wiley.com
[2] Alam, S.M.N., Haas, Z.: Coverage and Connectivity in three-dimensional networks. In:
Proceedings of ACM MobiCom (2006)
[3] Akyildiz, I.F., Pompili, D., Melodia, T.: Underwater Acoustic Sensor Networks:
Research Challenges. Ad Hoc Networks Journal (Elsevier), (March 2005)
[4] Heidemann, J., Ye, W., Wills, J., Syed, A., Li, Y.: Research Challenges and Applications
for Underwater Sensor Networking. In: IEEE Wireless Communications and Networking
Conference. IEEE, Las Vegas (2006) (p. to appear)
[5] Kong, J., Cui, J., Wu, D., Gerla, M.: Building Underwater Ad-hoc Networks and Sensor
Networks for Large Scale Real-time Aquatic Applications. In: IEEE Military
Communications Conference (MILCOM 2005), Atlantic City, New Jersey, USA, October
17-20 (2005)
[6] Vasilescu, I., Kotay, K., Rus, D., Dunbabin, M., Corke, P.: Data Collection, Storage, and
Retrieval with an Underwater Sensor Network. In: SenSys 2005, San Diego, California,
USA (November 2–4, 2005)
[7] Rappaport, T.S.: Wireless Communications: Principles and Practice. Prentice-Hall,
Englewood Cliffs (2002)
Cone Tessellation Model for Three-Dimensional Networks 169
[8] Couqueur, T., Phipatanasuphorn, V., Ramanathan, P., Saluja, K.K.: Sensor deployment
strategy for target detection. In: Proceeding of the First ACM International Workshop on
Wireless Sensor Networks and Applications, pp. 169–177 (September 2002)
[9] Chakrabarty, K., Iyengar, S.S., Qi, H., Cho, E.: Grid coverage for surveillance and target
location in distributed sensor networks. IEEE Transactions on Computers 51(12),
1448–1453 (2002)
[10] Meguerdichian, S., Koushanfar, F., Potkonjak, M., Srivastava, M.B.: Coverage problems
in wireless ad-hoc sensor networks. In: INFOCOM 2001, pp. 1380–1387 (2001)
[11] Zhang, H., Hou, J.C.: Maintaining sensing coverage and connectivity in large sensor
networks. Wireless Ad Hoc and Sensor Networks: An International Journal 1(1-2),
89–123 (2005)
[12] Tian, D., Georganas, N.D.: A coverage-preserved node scheduling scheme for large
wireless sensor networks. In: Proceedings of First International Workshop on Wireless
Sensor Networks and Applications (WSNAm 2002), Atlanta, USA, pp. 169–177
(September 2002)
[13] Wang, X., Xing, G., Zhang, Y., Lu, C., Pless, R., Gill, C.D.: Integrated coverage and
connectivity configuration in wireless sensor networks. In: Sensys (2003)
[14] Yan, T., He, T., Stankovic, J.A.: Differentiated surveillance for sensor networks. In:
SenSys 2003: Proceedings of the 1st international conference on Embedded networked
sensor systems (2003)
[15] Ye, F., Zhong, G., Lu, S., Zhang, L.: Peas: A robust energy conserving protocol for long-
lived sensor networks. In: 23rd International Conference on Distributed Computing
Systems, ICDCS 2003, pp. 169–177 (May 2003)
[16] Xing, G., Lu, C., Pless, R., Huang, Q.: On Greedy Geographic Routing Algorithms in
Sensing-Covered Networks. In: Proc. of MobiHoc 2004, Tokyo, Japan (2004)
[17] Carle, J., Myoupo, J.F., Semé, D.: A Basis for 3-D Cellular Networks. In: Proc. of the
15th International Conference on Information Networking (2001)
[18] Decayeux, C., Semé, D.: A New Model for 3-D Cellular Mobile Networks. In:
ISPDC/HeteroPar (2004)
Post Disaster Management Using Delay
Tolerant Network
1 Introduction
In disaster affected areas the existing communication infrastructures like WLL, GSM
or PSTN may get disrupted or destroyed. Thus, there exists a strong need for rapid
deployment of communication networks that would provide much needed
connectivity and communication capabilities for rescue-workers and survivors of a
disaster affected zone to restore normalcy through properly co-ordinate resource
management.
For managing a post disaster situation, the prime requirement is to establish
communication among disaster management groups or agencies. There will be
different teams working together for managing the distribution of necessary
commodities for the affected population in disaster-affected regions [1][2].
Information must be relayed and reveled in the shortest amount of time possible in
A. Özcan, J. Zizka, and D. Nagamalai (Eds.): WiMo/CoNeCo 2011, CCIS 162, pp. 170–184, 2011.
© Springer-Verlag Berlin Heidelberg 2011
Post Disaster Management Using Delay Tolerant Network 171
order to co-ordinate and perform required activities. Disaster response network is one
kind of delay tolerant network [3].
In a disaster scenario like a fire burst or a natural calamity, the communication
between the nodes no longer remains organized in the original infra-structural setting.
The original assembly of nodes changes with the nodes moving in groups of people
helping for the cause. In these kinds of networks traditional Ad-Hoc routing protocols
fail to transfer messages from source to destination. A delay tolerant network differs
from Ad-Hoc network due to the simple fact that message would be transferred to the
destination node even if the source has no end-to-end connectivity with the
destination at the time when that message is sent. So delay tolerant routing strategies
are employed for efficient packet delivery among the nodes of such networks.
A disaster environment could be modeled as a specialized mobility model, since
disaster management always takes place amongst groups of people. Consider some
disaster scenarios like Cyclone in some specific area, earth-quake, burst of fire etc.
Let the place of the accident be termed as Activity Point. Now there would be various
groups of people moving around the activity point like Medical Staff, Police, people,
etc. Thus, a group-based movement model would be a good choice for such a scenario
where the mobile nodes exists in groups and communication takes place within the
group as well as between the groups.
Now, in such scenarios, the movement of node groups will be restrained to fixed
local sites like Hospital, Police station, Activity point, etc. Thus, we can consider the
scenario as one with different clusters of nodes that restrain to particular sites.
Vehicles that move across these sites like police jeeps, ambulances and other relief
vehicles can be carrier nodes between the clusters. The Cluster Mobility Model [4]
can be used to model the movements of node for this type of scenario.
In the next section of this paper, we summarize some other mobility models such
as Random Waypoint, Random Walk, Shortest Path Map Based and Working Day
movement models in order to justify our choice of Cluster Mobility Model as the
movement model for the scenario. In Section 3 we summarize about the different
routing strategies that exists for DTN. The most challenging issue in the post disaster
environment is the rate of transmission of critical information.
To enhance the packet delivery ratio we require intelligent DTN routing strategies.
In Section 4 we have described and analyzed the simulation results of delivery
probability that has been carried out for various routing algorithms on cluster mobility
model for post disaster scenario with respect to buffer-size, transmission range, speed
and density of nodes in the network. The effect of the heterogeneous nodes in delivery
ratio in the context of DTN is also explored. The constraints are so chosen as to derive
an optimal configuration for the nodes to be deployed for communication in post-
disaster scenarios.
information on existing scenarios to provide insights of node mobility and how they
affect the performance of routing algorithms.
Significance: In scheduled or predictable contacts it is possible to predict the future in
terms of the time for which contacts will be available and how long they will last.
However, in disaster recovery networks, it is almost impossible to predict the future
location of the nodes. Communication is to be enabled in such networks using those
unpredictable contacts between the nodes which are also known as intermittent or
opportunistic contacts. It is extremely important in DTN to understand the mobility of
the relay nodes that carry messages from source to destination [4]. Mobility models
establish relationship among individuals and help us to study their movements in real
life.
It is extremely important in DTN to understand the mobility of the relay nodes that
carry messages from source to destination [4]. Even if few nodes in the network are
mobile and others are static, then they might block the flow of data from source to
destination. If majority of the nodes in the network are mobile, then the routing
protocols will have more opportunities to deliver the message to the destination by
exploring the mobility of the relay nodes. An example of this type of network is a
vehicular network where the cars, trucks are all mobile nodes. Since real life
experiments are not feasible, we resort to simulation experiments which give us real-
like results. Mobility models establish relationship among individuals and help us to
study their movements in real life.
Mobility models can be broadly classified into Entity-Based mobility model and
Group-based mobility models [10]. In the former model, the nodes move individually
and their movement is not influenced by the other nodes whereas the in the latter the
movement of nodes is influenced by that of the member nodes. Entity Based models
generate results that are more non-human like. On the other hand, group mobility
model provide results which are more real, as human mobility occurs mainly in
groups.
Random Waypoint [5][8 ] model is a very common Entity-Based mobility model in
which each mobile node randomly selects one point as its destination and travels
towards this destination with constant velocity chosen uniformly and randomly from
[0, Vmax ]. Upon reaching the destination, the node stops for a duration defined by the
‘pause time’ parameter Tpause. After this duration, it again chooses another random
destination and moves towards it.
Random Walk [6] [8] is another Entity-Based movement model and can be
considered as a type of Random Waypoint model with zero pause time. In Random
Walk model, nodes change their speed and direction after a time interval. Each and
every node randomly and uniformly chooses its new direction θ(t) from [0, 2π ] for
every new interval t. Similarly, a new speed, v(t), is chosen from [0, Vmax] uniformly.
Thus, during any time interval t, a node moves with the velocity vector (v(t).cosθ (t),
v(t).sin θ (t)). If a node moves and touches the boundary of the simulation area, it gets
bounced back to the simulation area with an angle of θ(t) or π − θ(t).
Shortest Path Map Based [8] mobility model is a map based movement model that
uses algorithms like Dijkstra's algorithm to find shortest path between two random
map points. This model is also an Entity-Based movement model.
Working day mobility [9] model is a Group-based movement model [10]. This
model basically is the technical resultant of different sub-models of node mobility
Post Disaster Management Using Delay Tolerant Network 173
during the whole day. This model involves activities that are the most common and
capture most of a working day for the majority of people. However, the activities of
nodes differ from each other. These sub-models repeat every day, resulting in periodic
repetitive movement.
Cluster Mobility Model: As the name suggests this mobility model classifies the
whole network in number of clusters. Depending upon the applicability and mobility,
literature of cluster mobility model categorizes the nodes in two different ways. The
nodes responsible for carrying data from one cluster to another or maintaining inter
cluster relationship are known to be Carrier nodes. Other than Carrier nodes all the
other nodes present inside the cluster are treated as internal nodes. Movement of the
internal node is defined around a particular point within the cluster which is known as
Cluster Center and move around this cluster center. Cluster mobility model falls
under the umbrella of Group based mobility model which unlike Random mobility
model try to establish a social relationship between nodes within the network based
on their activities to define the cluster first.
Due to social status, relationship, profession, and friendship human does have a
tendency to move in group. Secondly this mobility model certainly makes sense in
disaster and defense activities. From the theoretical point of view cluster mobility
model certainly outperforms other mobility models in the context of mapping the
human mobility in disaster scenario where human moves in a group. That actually
motivates our work to simulate routing strategies cluster mobility model and explore
the future directions.
A post-disaster scenario can be easily modeled in cluster mobility model. Groups
of people could be considered as clusters and the node movements could be modeled
as movement of these people within and across the clusters. For example, consider a
point in a city where a disaster strikes. The fire-station that involves in the post-
disaster management can be mapped as a cluster and the firemen with communicating
devices could be matched to the nodes of that cluster. A hospital could be considered
as another cluster with doctors, nurses and other supporting staff matched as nodes of
174 S. Saha et al.
that cluster. A police station could be another cluster of nodes with policemen
matched to nodes. The point in the city where the disaster has struck or hospital
would soon become a cluster of nodes with rescuers and relief-teams including
firemen, policemen, doctors, nurses and others who would rush towards the spot for
post-disaster activities, thus making those as Activity Points.
The nodes involved in these rescue activities will start moving within the clusters
as well as across them. It can be noted that at any point of time, majority of the nodes
will be moving within some cluster with lower speeds and only a few nodes will be
moving across the clusters and that too with higher speeds. Such a scenario basically
resembles the Cluster Mobility Model rather than any other traditional mobility
models.
bothering about successful timely delivery of the message rather than concentrating
on the overheads incurred.
Flooding Families [16]: Routing protocols that belong to these families make use of
replication technique. In our work we are taking the flooding algorithms like
Epidemic Routing, PRoPHET, Spray & Wait, Spray & Focus and MaxProp.
Epidemic routing [11], guarantees that through sufficient number of exchanges, all
nodes will eventually receive the message. The nodes maintain a Summary Vector that
will keep track of the messages they generate or receive during message delivery
using unique message IDs. When two nodes meet they exchange their summary
vectors and request the exchange of the messages they do not have. Extreme flooding
in this routing technique leads to heavier resource consumption [2][11].
In PRoPHET [12] when two nodes meet, they exchange Summary Vectors which
also contain the delivery predictability information stored at the nodes. Nodes make
use of this information to update their internal delivery predictability vector. The
information is also used to find which messages are to be requested from the other
node. A node forwards a message to another node or multiple nodes, if the delivery
predictability is higher than a fixed threshold value [4] [12].
MaxProp [13] routing algorithm is knowledge based flooding routing algorithm. It
also works similar to Epidemic by trying to replicate and transfer message copies to
whomever coming in contact. However, each node maintains a delivery likelihood
vector, obtained by doing incremental averaging. When two nodes meet, these vectors
are also exchanged. With the help of this vector each node can calculate the shortest
path to the destination. Another specialty of MaxProp is its use of acknowledgments
to remove the delivered messages from the buffers of all nodes thereby preserving
resources for the use of undelivered messages. In MaxProp the nodes maintain a list
of previous relays too in order to prevent data getting relayed for a second time to the
same node.
In Spray and Wait [14] the number of copies of a message in the network is limited
in order to reduce the overhead of extensive flooding in message forwarding. It has
two phases in routing: Spray Phase and Wait Phase. When a new message gets
generated at the source and needs to be routed to a given destination, Spray and Wait
algorithm first enters the “Spray phase” for this message. When a message is
generated at the source it also creates L forwarding tokens for this message.
Whenever two nodes encounter, they exchange those messages that the other node
does not have based on number of forwarding tokens left for each message. Thus n
copies of message m are spread to n distinct nodes in this phase. In Wait phase, each
of n nodes carrying copy of message m waits for a chance to perform a direct delivery
of message to the final destination.
Spray and Focus [15] is an extension of Spray and Wait. Spray Phase in Spray and
Focus algorithm is same as that in Spray and Wait Routing algorithm. When a relay
has only one forwarding token for a given message, it switches to the “Focus phase”.
Unlike Spray and Wait, where messages are routed using Direct Transmission
[16][17] in the Wait phase, in the Focus phase of Spray and Focus a message can be
forwarded to a different relay according to a given forwarding criterion.
176 S. Saha et al.
4 Simulation Result
Simulation has been carried out in ONE simulator version 1.4.1. Five routing
algorithms namely Epidemic, PRoPHET, Spray and Wait, MaxProp and Spray and
Focus were simulated in the post-disaster scenario modeled on Cluster mobility. This
section explains the environment modeling parameters and performance analysis
metrics that were chosen and also analyses of the results of the simulations.
Parameter Value
Simulation Time 86400s = 24hrs
Update Interval 1s
120
No. of nodes ((25nodes × 4clusters) +
20carrier_nodes)
Buffer size of nodes 500MB
0.5mps – 1.5mps =
Cluster Nodes
Sp 1.8kmph – 5.4kmph
eed 5mps – 15mps = 18kmph
Carrier Nodes
– 54kmph
Scan interval of nodes 0s
Cluster 0min – 2min
Wait-
Carrier
Time 0min – 10min
Nodes
Message TTL 240min = 4h
MAC Protocol 802.11, 802.15.1
Bluetoo Range 10m
th Data rate 2Mbps
Range 40m
Wi-Fi
Data rate 18Mbps
Message Creation
25s – 120s
Interval
Message Size 50KB – 1MB
15.3 sq.km (4.5km x
Simulation Area Size
3.4km)
Post Disaster Management Using Delay Tolerant Network 177
Parameter Value
No. of clusters 4
Cluster Radius 800m
No. of nodes in a
25
cluster
No. of carrier nodes 20
0min – 10min. Wait-time is the time for which a node waits or pauses on reaching its
destination.
In all the simulations nodes uses Bluetooth interface with a range of 10m and data
rate of 2Mbps, except in heterogeneous network scenario where some percent of
nodes have Bluetooth interface and others have Wi-Fi interface with a range of 40m
and data rate of 18Mbps.
After every 25s – 120s any one node generates a message of size 50KB – 1MB, to
be delivered to any other node in the network.
In PRoPHET, if a pair of nodes does not encounter each other in a while, the
delivery predictability values age. The aging equation is shown below:
where γ є [0, 1) is the aging constant, and k is the number of time units that have
elapsed since the last time the metric was aged. In the simulations for PRoPHET 30s
of simulation time makes one time unit, as given in Table2.
In the simulations for MaxProp each node can estimate and maintain delivery
likelihood values for a maximum of 50 neighbors, as given in Table2.
178 S. Saha et al.
Spray and Focus and Spray and Wait operates in binary mode and the number of
copies of a message is limited to 3, a near to optimal value considering the number of
nodes in each cluster.
The metrics that are chosen to analyze the performance of the routing algorithms are
Delivery probability, Overhead ratio and Average latency.
Delivery probability is the ratio of number of delivered messages to that of created
messages, making it a good metric to measure the efficiency of routing algorithms in
delay tolerant scenarios.
Latency of a message delivery is the time elapsed from the creation of a message at
source to its successful delivery at the destination. Thus Average latency is the
average of latencies of all those successful message deliveries.
4.3.1 Delivery Probability and Overhead Ratio with Respect to Buffer Size
From the simulation results plotted in Fig. 3, it can be seen that Spray and Wait does
not produce higher delivery probability although it manages to set a lower benchmark
in overhead ratio than the other flooding schemes. Low overhead and less delivery
probability of Spray and Wait is a resultant effect of Wait Phase mainly. On the other
hand Spray and Focus put up effective delivery probability with less overhead ratio in
smaller buffer size. But as the buffer size increases the number of message relayed in
Spray and Focus also increases which boosts up the overhead ratio. Epidemic and
PRoPHET, two basic flooding schemes, start with higher overhead ratio. PRoPHET
manages to outperform Epidemic in both parameter and set up higher benchmark in
delivery probability than all other flooding schemes due to restricted flooding as well
as probability based message delivery.
Post Disaster Management Using Delay Tolerant Network 179
Even though MaxProp shows best performance at lower buffer sizes, PRoPHET
outperforms it at higher buffer sizes. The performance of MaxProp owes to the
dynamic delivery probability calculation, application of Dijkstra’s algorithm and
other complimentary mechanism. Its starts with very high overhead ratio due to
transformation of the entire message destined for neighbors, relays of routing
information vector to other nodes in the network as well as generating
acknowledgement for all delivered message. However, it can be seen that above
60MB, the overhead incurred by MaxProp is slightly less than that of Epidemic itself.
contact makes Spray and Wait vulnerable in the context of delivery probability. Spray
and Focus is challenged by the initial time it takes to calculate the utility function and
difficulties it might face to explore the network due to sudden identification of huge
number of nodes. MaxProp achieves the highest deliver probability at high transmit
ranges. It has shown optimum result when transmission range was kept 20-30 meters.
It almost achieves .85 to .90 of delivery probability. But with the increment in
transmission range it shows inclinations towards higher overhead ratio. As the
number of internal nodes as well as carrier nodes does not increase generally, Spray
and Focus also is a good enough routing algorithm to count on.
adjacent cluster. However, carrier nodes pause for a wait-time when these nodes are
inside a cluster. Atan optimal speed of 5-10 m/s all the routing algorithms gives very
good delivery probability with lower Average latency and Overhead Ratio.
As can be seen in the graph of Fig.7, the performance of all the routing strategies is
severely challenged by the increment of message size above 500KB. The lower data
rate (2Mbps) along with the reduced contact times of nodes can be a reason for this
drop in performance. Since the messages has to be passed atomically in store-and-
forward message switching, successful node-to-node transfer of large sized messages
is much difficult to achieve within the constraints of reduced contact times and low
data rates.
Since TTL value of the messages is taken as 4hrs, the buffer size limit of 500MB
will not affect the performance much at lower message sizes. But when the message
sizes are sufficiently big, the limited buffer size can also contribute to the drop in
performance. In order to accommodate newer messages into their buffers nodes may
drop older ones, magnifying the effect of increased message sizes on the performance
of routing schemes.
One interesting fact that can be noted from the results is that the overhead ratio is
higher for Spray and Focus in most of the cases. This can be a side-effect of the
forwarding technique used by the algorithm to focus the message to the destination in
the focus phase. From the simulations it was noted that messages are getting carried
away through longer relay-transfers in Spray and Focus than any other routing
Post Disaster Management Using Delay Tolerant Network 183
algorithm and many messages were even relayed through cyclic paths, thereby
increasing the number of relayed messages.
5 Conclusion
In this paper we have addressed Delay Tolerant Networking for monitoring disaster
strike areas where infrastructure-based as well as Ad-Hoc networks fail to
communicate owing to the unavailability of end-to-end connectivity and fully
connected network. We simulated flooding and spraying based DTN Routing
Algorithms where PRoPHET and MaxProp outperformed all other routing algorithms
in cluster mobility model. Our work seems to be the first time to include Cluster
mobility model for use in real life application like post disaster management. As the
dimension of human communications and mobility are getting dynamic day by day,
there are greater scopes to explore and modify the mobility model mentioned here.
Disaster scenarios of Cyclone and Earthquake prone zones, coastal areas where
transport communication system is quite different from city like environment, offer
new challenges to merge the usability of infrastructure based network and DTN. This
is a new dimension of research which we have kept for future works.
References
[1] Mazumdar, C., Das, J., Saha, S., Upadhyay, M., Saha, S.: Rapidly Deployable Wireless
data Communication Network (RDWCN) for Disaster Management- An Experiment. In:
20th Indian Engineering Congress, Kolkata, West Bengal, December 15-18 (2005)
[2] Das, J., Saha, S., Kundu, A., Upadhyay, M., Chatterjee, K., Saha, S.: Rapidly Deployable
Decentralized Disaster Management System and Information Network for Rural Areas.
Presented at 37th IETE Mid – Term Symposium on Information Communication
Technology – Initiative for Rural Development (ICTIRD 2006), Kolkata, West Bengal
(April 2006)
[3] Patra, S., Balaji, A., Saha, S., Mukherjee, A., Nandi, S.: A Qualitative Survey on Unicast
Routing Algorithms in Delay Tolerant Networks. In: Proc. of AIM2011S, Nagpur (2011)
[4] Uddin, Y.S., Nicol, D.M.: A Post-Disaster Mobility Model For Delay Tolerant
Networking. In: Rossetti, M.D., Hill, R.R., Johansson, B., Dunkin, A., Ingalls, R.G. (eds.)
Proceedings of the 2009 Winter Simulation Conference (2009)
[5] Romoozi, M., Babaei, H., Fathy, M., Romoozi, M.: A Cluster-Based Mobility Model for
Intelligent Nodes at Proceeding ICCSA 2009. In: Proceedings of the International
Conference on Computational Science and Its Applications: Part I (2009)
[6] Broch, J., Maltz, D.A., Johnson, D.B., Hu, Y.-C., Jetcheva, J.: A performance comparison
of multi-hop wireless ad hoc network routing protocols. In: Proceedings of the Fourth
Annual ACM/IEEE International Conference on Mobile Computing and
Networking(Mobicom 1998), ACM, New York (1998)
[7] Camp, T., Boleng, J., Davies, V.: A Survey of Mobility Models for Ad Hoc Network
Research. In: Wireless Communication and Mobile Computing (WCMC): Special issue
on Mobile Ad Hoc Networking: Research, Trends and Applications, vol. 2(5),
pp. 483–502 (2002)
[8] A Survey Of Mobility Models in Wireless Adhoc Networks Fan Bai and Ahmed Helmy
University of Southern California, USA
184 S. Saha et al.
[9] Kumar, S., Sharma, S.C., Suman, B.: Mobility Metrics Based Classification & Analysis
of Mobility Model for Tactical Network. International Journal of Next-Generation
Networks (IJNGN) 2(3) (September 2010)
[10] Ekman, F., Keränen, A., Karvo, J., Ott, J.: Working Day Movement Model. In: 1st
SIGMOBILE Workshop on Mobility Models for Networking Research, Hong Kong
(May 2008)
[11] Camp, T., Boleng, J., Davies, V.: A Survey of Mobility Models for Ad Hoc Network
Research. In: Wireless Communication & Mobile Computing(WCMC): Special issue on
Mobile Ad Hoc Networking: research. Trends and Applications, vol. 2(5), pp. 483–502
(2002)
[12] Evan, P.C., Jones Paul, A.S.: Ward, “Routing Strategies for Delay Tolerant Networks”,
Submitted to Computer Communication Review (2008)
[13] Lindgren, A., Doria, A., Schelen, O.: Probabilistic Routing in intermittently connected
networks, vol. 3126, pp. 239–254 (2004)
[14] Burgess, J., Gallagher, B., Jensen, D., Levine, B.N.: MaxProp: Routing for Vehicle-
Based Disruption-Tolerant Networks
[15] Spyropoulos, T., Psounis, K., Raghavendra, C.S.: Proceedings of the ACM SIGCOMM
workshop on Delay-tolerant networking (2005)
[16] Spyropoulos, T., Psounis, K., Raghavendra, C.S.: Spray and Focus: Efficient Mobility-
Assisted Routing for Heterogeneous and Correlated Mobility. In: Proceedings of the Fifth
IEEE International Conference on Pervasive Computing and Communications
Workshops (2007)
The Performance Comparison between Hybrid and
Conventional Beamforming Receivers in a Multipath
Channel
Abstract. The performance in term of Bit Error Rate (BER) of smart antenna
receivers calls for some simplification of the interference reduction capability.
Obviously, the receiver performances are strictly related on the efficiency of
MAI reduction. In order to gain from the enhancements of both: multiuser
detection and adaptive antenna , we propose in this paper a hybrid scheme of
diversity and smart antennas called Hierarchical Beamforming (HBF), to jointly
combat fading and MAI. Our analysis is based on modeling the HBF receiver
and the description of the simulation strategy employed to simulate its
performance. Moreover, we compare the performance of HBF receiver with
Conventional Beamforming (CBF) one. The proposed model conforms the
benefits of adaptive antennas in reducing the overall interference level
(intercell/intracell) and to find an accurate approximation of the error
probability.
1 Introduction
Smart antennas and associated technologies are expected to play a significant role in
enabling broadband wireless communication systems. The demand for increased
capacity in wireless communication networks has motivated recent research activities
toward wireless systems that exploit the concept of smart antenna and space
selectivity.
The deployment of smart antennas at cellular base station installations has gained
enormous interest because it has the potential to increase cellular system capacity,
extend radio coverage, and improve quality of services [1,2].
Smart antennas may be used to provide significant advantages and improved
performance in almost all wireless communication systems.
In a typical mobile environment, signals from users arrive at different angles to the
base station and hence antenna arrays can be used to an advantage. Each multipath of
A. Özcan, J. Zizka, and D. Nagamalai (Eds.): WiMo/CoNeCo 2011, CCIS 162, pp. 185–196, 2011.
© Springer-Verlag Berlin Heidelberg 2011
186 R. Haddad and R. Bouallegue
a user may arrive at a different angle, and this angle spread can be exploited using an
antenna array [3,4].
The Bit Error Rate (BER) is considered to be one of the most important
performance measures for communication systems and hence it has been extensively
studies. The exact analytical evaluation of the probability of error in DS-CDMA, is
still an open subject.Hence in this paper, we will describe the HBF receiver and the
simulation strategy to simulate its performance. We propose a novel approach to
evaluate the average probability of error by considering an approximation of the
spatial filter. Hence, we will derive an analytical model for evaluating the mean BER
of HBF and CBF receivers.
The analysis is performed assuming Rayleigh fading multipath environments. We
assume to make a comparison between two types of smart antenna receivers: the HBF
receiver and CBF receiver. An analytical model provides rapid and accurate
assessment of the smart antenna system performance under a variety of active users
and channel scenarios.
We organize the rest of the paper as follows: In section 2, we introduce the system
model, followed by the smart antenna receiver model in section 3. The general
simulation assumptions and simulation results are provided in section 4 and section 5
respectively. We conclude in section 6.
2 System Model
We consider K the total number of active Mobile Stations (MS) in the system, which
are randomly distributed in the azimuthal direction, along the arc boundary of the
sector cell in the far field of the array. For simplicity, the conventional encoder and
interleaver are ignored (this approach is widely used [5] for wireless communication
systems employing multiple antennas).
In fact, the signals, transmitted by the K users, pass through a multipath channel
and are received by the BS array antenna. The location of each MS is identified by its
Angle of Arrival (AoA) θ , which is conventionally measured from the array
broadside. The BS receiver is equipped with a conventional Maximum Signal to
Noise Ratio beamformer followed by an L finger non-coherent RAKE combiner [6].
The resultant signal goes into the in-phase (I) and quadrature (Q) channels
simultaneously.The transmitted signal s of the k user can be written as [7]:
( ) () ( ) ( )
s (t) = W (t)a (t) cos(ω t) W (t T )a (t T ) sin(ω t) (1)
( )
Where q = 1,2, … , Q, W (t) is a Hadamard-Walsh function of dimension Q which
represents the q orthogonal signal of the k user’s long code sequence, a (t) is the
() ( )
k user’s long code sequence, a (t) and a (t) are the in-phase and quadrature
phase pseudo-noise (PN) sequences, T = T⁄2 is the delay for OQPSK signals.
The power of each user is assumed unity (perfect power control). To simplify our
study the PN codes are presented as follows:
The Performance Comparison between Hybrid and CBF Receivers 187
() ()
a (t) = a , (t) p(t T) (2)
( ) ( )
a (t) = a ,
(t) p(t T) (3)
() ( )
Where a , and a , are i.i.d variables taking the values 1 with equal probability and
p(t) is the chip pulse shape which is assumed to be rectangular.
The equation (1) can be written as follows:
( ) ( ) ( )
s (t) = W (t)a( ) (t) jW (t T )a (t T) e
(4)
s (t) = s (t)e
() ( )
Where s (t) = S (t) jS (t) is the complex low pass equivalent of the
transmitted signal.
The k user propagates through a multipath channel with (AoA) θ . The complex
equivalent representation of the channel impulse response between the l multipath
of the k user and the n element of array antenna is presented as follows:
, ( )
h ,, (t) = β , e δ t τ ,
(5)
h ,, (t) = β , e ,, δ t τ ,
where β , , Φ , and τ , are the path gain, phase and delay respectively, φ , , is the
overall phase which includes the path phase and the difference in propagation delays
between the antennas. In this case of transmitter we assume that path gains follow the
Rayleigh and Ricean distributions respectively.
To simplify our work, we assume that multipath channel parameters β , (t) and
φ , , (t) remain constant in the duration of Walsh symbol [8], so β , (t) = β , and
φ , , (t) = φ , , for t 0, T , where T is the Walsh symbol period.
( )
where is a Hadamard-Walsh function of dimension which represents the
orthogonal signal ( = 1,2, … , = 64) of the user, ( ) and ( ) are the in-phase
and quadrature phase pseudo-Noise (PN) sequences, ( ) is the user long code
sequence, is the half chip delay for OQPSK signals, =2 and is the carrier
frequency.
( ) ( )
Where , is the path amplitude, , , is the overall path phase and , is the path
delay respectively. To simplify our work, we assume that multipath channel
( ) ( )
parameters , and , , remain constant in the duration of Walsh symbol.In vector
( )
notation, the spatial signature or channel response vector , ( ) is given by:
( ) ( ) ( ) ( )
, = ,, ,, … ,,
(8)
( ) ( ) ( )
( )= , ( ) ( )
, (9)
The Performance Comparison between Hybrid and CBF Receivers 189
The receiver is divided in four main blocks which can be identified as follows: (1) the
array antenna block, (2) the PN despreading, (3) the Beamforming and (4) Walsh
correlation and demodulation. We will explain the function of each block:
The first step of the receiver is to obtain the quadrature components at each
antenna. We multiply the received waveforms by cos(ω t) and sin(ω t) respectively
and then Low Pass Filtering (LPF) to remove the double frequency components that
results from multiplication [11]. The output of the I-channel and Q-channel low pass
filter is given by:
ሺ୍ሻ
୩ǡ୪ǡ୬ ሺሻ ൌ ൣ୩ǡ୪ǡ୬ ሺሻ
ሺɘୡ ሻ൧
ሺ୯ሻ ሺ୍ሻ
ɔ୩ǡ୪ǡ୬
ൌ ൜Ⱦ୩ǡ୪ ୩ ൫ െ ɒ୩ǡ୪ ൯୩ ൫ െ ɒ୩ǡ୪ ൯
ʹ (10)
ሺ୯ሻ ሺ୕ሻ
Ⱦ୩ǡ୪ ୩ ൫ െ െ ɒ୩ǡ୪ ൯୩ ൫ െ
ɔ୩ǡ୪ǡ୬
െ ɒ୩ǡ୪ ሻ ൠ Ʉሺ୍ሻ ሺሻ
ʹ
ሺ୕ሻ
୩ǡ୪ǡ୬ ሺሻ ൌ ൣ୩ǡ୪ǡ୬ ሺሻ ሺɘୡ ሻ൧
ሺ୯ሻ ሺ୕ሻ
ɔ୩ǡ୪ǡ୬
ൌ ൜Ⱦ୩ǡ୪ ୩ ൫ െ ɒ୩ǡ୪ ൯୩ ൫ െ െ ɒ୩ǡ୪൯
ʹ (11)
ሺ୯ሻ ሺ୍ሻ
െ Ⱦ୩ǡ୪ ୩ ൫ െ െ ɒ୩ǡ୪൯୩ ൫
ɔ୩ǡ୪ǡ୬
െ ɒ୩ǡ୪ ሻ ൠ Ʉሺ୕ሻ ሺሻ
ʹ
ሺ୍ሻ ሺ୕ሻ
୩ǡ୪ǡ୬ ሺሻ ൌ ୩ǡ୪ǡ୬ ሺሻ ୩ǡ୪ǡ୬ ሺሻ (12)
The complex low pass of the received signal can be written as:
( )
r ,, (t) = r ( ,), (t) jr ,, (t) (13)
After filtering, each path is detected by one of the fingers immediately following the
radio-frequency stages.
The complex low pass equivalent of the post PN-despread signal is given as
yk,l,n(t) :
() ( )
yk,l,nt=y ,, (t) jy ,, (t) (14)
190 R. Haddad and R. Bouallegue
( )
y ,, (t) = a(t), r , , (t)
() ( ) ( ) () (16)
= r , , (t)a t T τ , r ,, (t)a t τ ,
Y , = y ,, ,y ,, ,…,y ,,
(17)
In the next step, the signal after PN despreading is combined by the beamformer. In
the Beamforming operation, the signals received by antenna elements are weighted by
complex weights and then summed up.
The smart antenna output is given by:
Z , = W , Y ,
(18)
() ( )
Z , (t) = Z , (t) jZ , (t) (19)
W , = W ,, ,W ,, ,…,W ,, (20)
To simplify our work, we assume that the weights are set as W , = h , and these
vector channel coefficients are assumed to be perfectly known. This provides the best
case system performance.
The last step is the correlation of the smart antenna output with stored replicas of
the Walsh functions to form the decision variable for demodulation.
The output of the q Walsh correlator (q = 1,2, … , Q) for single antenna is:
() 1 ,
() ()
Z , (q) = Z , W( )
t τ , Z , W( )
t T τ , dt (21)
T ,
( ) 1 ,
( ) ( ) ( ) ( )
Z , (q) = Z , W t τ , Z , W t T τ , dt
T , (22)
The Performance Comparison between Hybrid and CBF Receivers 191
The decision variable for the l multipath of the k user is obtained from the
previous values:
() ( )
u , (q) = Z , Z ,
(23)
The overall decision variable is obtained by Equal Gain Combining (EGC) of all the
decision variables from the L multipaths as [13]:
() ( )
u (q) = u , (q) = Z , Z ,
(24)
Finally, the receiver makes a hard decision on the q symbol of the k user by using
the Maximum Likelihood Criteria rule as:
q = arg ,…, max u (q) (25)
The HBF receiver is divided in four main blocks which can be identified as follows:
(1) the sub-array antenna blocks (2) the PN dispreading, (3) the Beamforming and (4)
Walsh correlation and demodulation.
The received signal at each sub-array antenna is first down converted. Each
resolvable path is then detected by one of the RAKE fingers. To detect the l path,
the signal at the different sensors is dispread using the sequence of the respective
mobile and synchronized to the delay of the l path. The post PN-despread signal
vector is:
() () () ()
Y , = y ,, y ,, …y ,,
(26)
In the next step, the signal after PN dispreading is combined by the Beamforming
process. The Beamforming output is given by:
() () ()
z , (t) = W , Y ,
(27)
()
Where W , is the Maximum SNR Beamforming weight vector given by:
() () () ()
W , = W ,, W ,, …W ,,
(28)
192 R. Haddad and R. Bouallegue
To simplify our work, we assume that the weights are set equal to the channel
response vector for the desired user. This provides a lower bound on the system
performance.
The last step is the correlation of the beamformers with stored replicas of the
Walsh functions and then the overall decision variable is obtained by Equal Gain
Combining (EGC) of all the decision variables from the multipath signals for the f
sub-array. The overall decision is then made by selecting the decision outcomes from
the respective sub-beamforming array with the best channel state [9].
a) Number of Antenna elements: To make the comparison between HBF and CBF, it
is merely assumed that the number of antenna elements M is the same for both
cases.
b) Number of HBFbranches:We consider in simulations that the BS is equipped with
F=2 co-linear sub-beamforming arrays. This choice of sub-arrays is motivated by
practical array size considerations and is relevant to a BS serving three sectors,
each covering 120° in azimuth.
c) Channel:The channel considered is Rayleigh fading with L=1,2 paths/user
respectively.
d) Pdf in AoA:We assume a Gaussian pdf in AoA. The angular distribution of the
waves arriving at the BS in azimuth is described by the pdf in AoA.
e) Angle Spread:The values of angle spread used in simulations lie in the range 5°-
15° which corresponds to urban macrocellular areas.
5 Simulation Results
The performance of HBF is determined by the interaction of a number of factors. These
include: Beamforming gain via closely spaced antenna elements within each sub-array
beamforming, space diversity gain via widely separated sub-arraysbeamforming,
The Performance Comparison between Hybrid and CBF Receivers 193
additional space diversity gain via angle spread and temporal diversity gain via the
multipaths. We present in the following sections the impact of each parameter in the
performance of HBF and we will make a fair comparison between HBF and CBF.
First of all, we study the performance of HBF and CBF for the case of a single user
(K=1).Obviously, there is no MAI for the case of one user. We can notice from Figure
1 that both CBF and HBF for different number of antennas show a considerable
improvement in mean BER compared to the conventional receiver (super imposed as
reference). Besides, the improvement in mean BER increases with / .It is very
clear from the figure that the performance of HBF is superior to CBF, e.g for a BER
threshold of 10-2, M=4 antennas, and / of about 5dB is required for CBF, but
only 2.5dB is required for HBF.The performance of HBF is superior to CBF due to
space diversity gain offered by the widely separated sub-arrays, which is dominant
factor (in the absence of MAI) for the case of a single user.
Fig. 1. Mean BER versus Eb/N0 for K=1 user, L=2 paths Rayleigh fading channel, σAoA=0°
We can notice from Figure 2 that, both CBF and HBF improve the performance as the
angle spread increases from 5° to 10°.It is obvious from the figure, that for low
/ , CBF is slight better than HBF. But, as / gets higher, diversity gain
becomes dominant and HBF becomes better than CBF.
194 R. Haddad and R. Bouallegue
Fig. 2. Mean BER versus Eb/N0 for K=1 user, L=2 paths, M=6 antennas
It is noticed from the Figure 3, that for = 0°, HBF is better than CBF due to
diversity gain provided by array architecture. Moreover, there is no much
improvement in performance for both CBF and HBF, by doubling the number of
antennas from 4 to 8.If we want to compare angle spread scenarios, for = 5°,
HBF is better than CBF, but for larger angle spreads for = 10° and 15°, both
array architectures show a similar performance for the number of users considered in
simulations.
It can be observed from the figure that for = 0° and 5°, HBF is better than CBF.
But for = 10° and 15°, we notice that CBF outperforms HBF because the
additional diversity gain from spatial fading becomes dominant with the increase of
The Performance Comparison between Hybrid and CBF Receivers 195
number of antennas M and in the presence of path diversity, the MAI becomes the
dominant factor.
Finally, we examine in Figure 5 the performance of both HBF and CBF by varying
the number of users K. Also in Figure 8, we re-confirm the trends identified in
Figures 1,2 and 3. It can be observed from the Figure 8 that, for = 0° and 5°,
HBF yields better mean BER results than CBF. However, for larger angle spread
= 10° only for small number of users, HBF outperforms CBF. The behaviour
of both schemes becomes different for larger number of users when MAI
becomes the dominant factor, and to combat interference it is better to use CBF
scheme.
Fig. 5. Mean BER versus number of users K for Eb/N0=10dB, M=6 antennas, L=2paths/user
and σAoA=0°,5°,10° respectively
196 R. Haddad and R. Bouallegue
6 Conclusion
In this paper, we have reported on the performance of hybrid scheme of diversity and
Beamforming. Furthermore, its performance is compared with conventional
Beamforming with moderate values of the system parameters such as angle spread
number of antennas, number of multipath and number of users. It has be shown that
while assuming zero angle spread, the performance of HBF is superior to CBF due to
space diversity gain afforded by the well separated sub-arrays.The inclusion of angle
spread produces spatial fading across the array, which results in additional diversity
gain and improves the performance of both CBF and HBF schemes. For the case of
moderate or large angle spread, when path diversity is present and the system is
heavily loaded, CBF yields better mean BER results than HBF. All these results are
based on the assumption of perfect channel estimation, that’s why the choice of
optimum receiver architecture is dependent on the channel conditions.
References
1. Bellofiore, S., et al.: Smart antenna system analysis, integration and performance for Mobile
Ad-Hoc Networks (MANET’s). IEEE Trans. AntennasPropagat. 50, 571–581 (2002)
2. Ho, M., Stuber, G., Austin, M.: Performance of switched-beam smart antennas for cellular
radio systems. IEEE Trans. Vehic. Technol. 47, 10–19 (1998)
3. Haddad, R., Bouallègue, R.: BER Performance in Space-Time Processing receiver using
Adaptive Antennas over Rayleigh Fading Channels. In: Proc. IEEE International Conference
on signal Processing and Communication, November 2007, pp. 1483–1486 (2007)
4. Haddad, R., Bouallègue, R.: BER Performance of Smart Antenna Systems Operating over
Rayleigh fading Channels. In: Proc. IEEE Wireless Days 2008, November 2008, pp. 1–5
(2008)
5. Bjerke, B.A., Zvonar, Z., Proakis, J.G.: Antenna diversity combining aspects for WCDMA
systems in fading multipath channels. IEEE Transactions on Wireless Communications 3(1),
97–106 (2004)
6. Roberts, M.A., Thomas, M.: Introduction to Adaptive Arrays. Sc Tech Publishing (2004)
7. Lee, Y.H., et al.: Performance Analysis of conventional coded DS/CDMA System in
Nakagami Fading Channels. In: Telecommunication Systems Journal
8. Jalloul, L.M., Holtzman, J.M.: Performance analysis of DS/CDMA with non-coherent M-
ary orthogonal modulation in multipath fading channels. IEEE Journal on Selected Areas
in Communications 12(5), 862–870 (1994)
9. Bjerke, B.A., Zvonar, Z., Proakis, J.G.: Antenna diversity combining aspects for WCDMA
systems in fading multipath channels. IEEE Transactions on Wireless
Communications 3(1), 97–106 (2004)
10. Roberts, M.A., Thomas, M.: Introduction to Adaptive Arrays. Sc Tech Publishing (2004)
11. Rappaport, T.S.: Wireless Communications: Principles and Practice, 2nd edn. Prentice-
Hall, Englewood Cliffs (2002)
12. Stuber, G.L.: Principles of Mobile Communication, 2nd edn. Kluwer Academic Publishers,
Dordrecht (2001)
13. Iskander, C.D., Mathiopoulos, P.T.: Performance of multicode DS/CDMA with M-ary
orthogonal modulation in multipath fading channels. IEEE Transactions on Wireless
Communications 3(1), 209–223 (2004)
A Qualitative Survey on Multicast Routing in Delay
Tolerant Networks
Abstract. Delay Tolerant Networks (DTNs) are a class of networks that make
communication in stressed and challenging environments possible. DTN is
characterized with a number of unique features by virtue of which a working
environment is achieved in situations where traditional networking paradigms
fail to deliver satisfactorily or entirely. The utility of multicasting in DTNs
extends to numerous potential DTN applications i.e., crisis environments,
battlefield situations, deep space communications, dynamic data size
management, etc. In this paper, we propose taxonomy for the different multicast
routing strategies and thereafter, we present a comprehensive up to date survey
of these strategies. Further, we perform a qualitative comparison between the
different multicast strategies with respect to important performance issues in
DTN. We also highlight some unexplored areas in DTN multicasting that could
inspire research in the near future.
1 Introduction
Personal communication devices like as cellular phones have made voice and data
communications possible by achieving global connectivity through infrastructure
networks such as cellular and WLAN [1]. Additionally, local connectivity can be
achieved through ad-hoc networks since mobile devices are nearly always turned on
and possess the necessary attributes to act as routers. The classic TCP/IP-based
communications necessarily require end-to-end connectivity. However, sparse ad-hoc
networks do not support this due to frequent disruptions and partitions caused due to
node mobility. Delay tolerant networks (DTNs) are a class of emerging networks that
experience frequent and long-duration partitions. There is no end-to-end path between
some or all nodes in a DTN [2]. These networks have a variety of applications in
situations that include crisis environments like emergency response and military
battle-fields, deep-space communication, vehicular communication, and non-
interactive internet access in rural areas.
Multicast involves the distribution of specific data to a group of users. While
multicasting in the Internet and mobile ad hoc networks has been studied extensively,
multicasting in DTN is a considerably different and challenging problem. It not only
A. Özcan, J. Zizka, and D. Nagamalai (Eds.): WiMo/CoNeCo 2011, CCIS 162, pp. 197–206, 2011.
© Springer-Verlag Berlin Heidelberg 2011
198 S. Patra et al.
requires new definitions of multicast routing algorithms but also brings new issues to
the design of routing protocols. According to the best of our knowledge, our
qualitative survey on multicasting in DTN is the first of its kind, and it includes even
the most recently proposed multicast strategies.
The remainder of our paper has been structured as follows. Section 2 discusses
about the importance of multicasting in DTN and associated challenges. In section 3,
we discuss the basis of our classification. Section 4 presents the proposed taxonomy
tree by classifying various routing strategies. Section 5 concludes our paper and
focuses on future work.
Unicast Group Static Dynamic Encounter Context Forwarding SMART A-SMART RelayCast
Based Based Tree Tree Based Aware Group
Routing Routing Based Based Multicast Multicast Based
(UBR) (GBR) Multicast Multicast Routing Routing Routing
(EBMR) (CAMR) (FGBR)
with time as endpoints join and leave the group. The intended receivers, on the other
hand, should be fixed for a message, even though they are defined based on group
membership. In order to overcome the aforesaid challenges, various multicast routing
strategies have been introduced by researchers, which we have tried to classify taking
into consideration their working principles.
Multicast service supports the distribution of data to a group of users. Many potential
DTN applications operate in a group-based manner and require efficient network
support for group communication. For example, in a disaster recovery scene, it is vital
to disseminate information about victims and potential hazards among rescue workers.
In a battlefield, soldiers in a squad need to inform each other about their surrounding
environment. Although group communication can be implemented by sending a
separate unicast packet to each user, this approach suffers from poor performance. The
situation is especially acute in DTNs where resources such as connectivity among
nodes, available bandwidth and storage are generally severely limited. Thus efficient
multicast services are necessary for supporting these applications.
4 Proposed Taxonomy
Based on the above mentioned bases of classification, we propose taxonomy for the
various multicast routing strategies (as shown in Fig. 1). Each routing strategy has
200 S. Patra et al.
been discussed in brief and probable conclusions have been drawn on their
performances.
Multiple copies of the messages are flooded into the network so that the message gets
transferred to the intended receivers of the multicast group. The techniques that fall
under this category are as follows.
In tree-based multicast routing, a DTN graph is considered which consists of all the
nodes present in the network [14]. The messages are forwarded along a tree in this
DTN graph that has the source as its root and is connected to all the receivers in the
network. The message passing technique is essentially forwarding, as messages are
duplicated at a node of the tree if and only if it has more than one outgoing paths [4],
[6], [7]. Tree-based multicast can be categorized into the following two strategies:
topology of the intermediate nodes of this tree does not change until the multicast
session is complete. Bundles are replicated according to the number of downstream
neighbours, i.e., number of messages coming out of a node equals the number of its
downstream neighbours. Its demerit comprises of the fact that it loses flexibility of
adjusting multicast routing decision according to variations in the topology during the
course of a particular multicast session. This strategy is most appropriate where
disruptions happen periodically in a scheduled pattern, e.g., data communication via
LEO satellite. We can intuitively conclude that this strategy is supposed to work best
in the Working Day mobility model where the node mobility follows a periodic
pattern.
4.2.2.1 Dynamic Tree Based Routing (DTBR). Each DTN node has knowledge
oracle containing schedule or statistical summary of link up/down information in
DTN overlay and thus the source computes a multicast tree for each bundle and
forwards the current message along the tree [7]. Based on this, source computes a
multicast tree for each bundle and forwards current message along tree. Thus, once a
message leaves the source for a destination node, the strategy remains static virtually
since it does not incorporate the changes in the topology thereafter. This will fail to
work efficiently in networks where disruptions are random and frequent.
Here nodes deliver messages to the other nodes only when its delivery predictability is
higher than the certain threshold value.
Here dynamic intelligence is used by the algorithm to decide between flooding and
forwarding techniques of delivering messages to the receivers. This strategy is based
on a two-phase algorithm with each phase implementing flooding or forwarding to
achieve optimal performance. Flooding technique is implemented to achieve high
delivery ratio and low latency since all the intermediate nodes receive single or
multiple copies of the message thus increasing the chances of message delivery to an
intended receiver. Forwarding, on the other hand, achieves better efficiency and works
with a significantly reduced buffer space since message replication is not allowed
beyond the number of intended receivers. Intelligent multicast is able to take
advantage of the merits of both these techniques.
4.4.2 SMART
SMART uses travel companions of the destinations to increase the delivery
opportunities. Here, routing is divided into two phases: 1) a fixed number of copies of
A Qualitative Survey on Multicast Routing in Delay Tolerant Networks 203
the message are injected into the network to propagate the message to the companions
of the destination by Binary Spray algorithm [15], and 2) a companion of the
destination only transmits the message to other companions of the destination until the
message is delivered to the destination.
4.4.3 A-SMART
In A-SMART, companion nodes are organized to form an anycast group [12] and
periodically broadcast its group identifiers and hops to build the routing table. Routing
is divided in two phases: 1) an anycast scheme is used to forward the message the
companion node of the destination; 2) the companion node only transmits the message
to other companions of the destination until the message is delivered to it.
Anycast is virtually a unicast, for the reason that source node just sends the
message to any one member of a destination group which is the best receiver
according to the current environment. In addition, the message will be routed to an
alternative member of the destination group when the previous path to a member
disappeared, so anycast is a more reliable routing mechanism.
4.4.4 RelayCast
RelayCast [13] is a routing scheme which extends 2-hop relay algorithm used in
unicast to multicast in DTNs. In this strategy, a source forwards a single message to
all the relay nodes, each of which in turn transmits the message to all intended
multicast receivers. Mathematical analysis shows that the throughput achieved is
better than in case of conventional multi-hop relay. Thus, RelayCast is able to achieve
maximum throughput bound of DTN multicast routing.
FGBR and A-SMART seem to perform well in most mobility models due to an
efficient balance between flooding and forwarding techniques. Due to the partial
flooding, delivery ratio and latency are taken care of, whereas buffer usage is
somewhat controlled by the partial forwarding character. Recent reports show that use
of multicast tree results in poor scaling behaviour which is efficiently dealt with using
RelayCast algorithm.
Performance Metrics
Algorithms
Strategies
Routing
Routing
Remarks
Delivery Ratio Delivery Latency Buffer Usage
Lower than
Low Highest of high buffer
BBR
Based
Table 1. (continued)
Performance Metrics
Algorithms
Strategies
Routing
Routing
Remarks
Delivery Ratio Delivery Latency Buffer Usage
Based
Static
Higher than
Tree
Multicast Forwarding Based
Less usage
network is DTBR
sparse
Very high when Ideal for networks
EBMR
Slightly lower
SMART
SMART intelligent
flooding combination of
techniques flooding & forwarding
techniques to achieve
A-SMART
optimal performance;
Higher than Lower than
High Designed to work well
SMART SMART
with most mobility
models.
RelayCast
References
1. Keränen, A., Ott, J., Kärkkäinen, T.: The ONE Simulator for DTN Protocol Evaluation. In:
Simutools 2009 Proceedings of the 2nd International Conference on Simulation Tools and
Techniques, Belgium (2009)
2. Fall, K.: A Delay Tolerant Network Architecture for Challenged Internets. In: Proc. ACM
SIGCOMM, pp. 27–34 (2003)
3. Jones, E.P.C., Ward, P.A.S.: Routing Strategies for Delay Tolerant Networks. In: Proc.
WDTN 2005 Proceedings of the 2005 ACM SIGCOMM workshop on Delay-tolerant
networking, ACM, New York, USA (2005)
4. Santiago, J., Casaca, A., Pereira, P.R.: Multicast in Delay Tolerant Networks using
Probabilities and Mobility Information. Ad-hoc and Sensor Wireless Networks, An
International Journal 7(1-2), 51–68 (2009)
5. Narmawala, Z., Srivastava, S.: MIDTONE: Multicast in Delay Tolerant Networks. In:
Proceedings of Fourth International Conference on Communications and Networking in
China (CHINACOM 2009), Xi’an, China, pp. 1–8 (August 26-28, 2009)
6. Santiago, J., Casaca, A., Pereira, P.R.: Non-Custodial Multicast over the DTN-Prophet
Protocol. In: International Federation for Information Processing Digital Library, Wireless
Sensor and Actor Network
7. Ye, Q., Cheng, L., Chuah, M., Davison, B.D.: Performance comparison of different
multicast routing strategies in disruption tolerant networks. Journal Computer
Communication 32(16), 1731–1741 (2009)
206 S. Patra et al.
8. Xi, Y., Chuah, M.: Performance Evaluation of An Encounter-Based Multicast Scheme for
DTN. In: 5th IEEE International Conference on Mobile Ad-hoc and Sensor System,
pp. 353–358 (2008)
9. Bae, S.H., Lee, S.J., Su, W., Gerla, M.: The design, implementation, and performance
evaluation of the on-demand multicast routing protocol in multi-hop wireless networks.
IEEE Network 14, 70–77 (2000)
10. Chuah, M., Xi, Y.: An Encounter-Based Multicast Scheme for Disruption Tolerant
Networks. Journal Computer Communications 32(16) (April 1955); Butterwoth-
Helnemann, Newton, MA, USA (October 2009)
11. Yang, P., Chuah, M.: Context-Aware Multicast Routing Scheme for DTNs. In: Proc. Of
ACM Workshop on PE-WASUN (August 2006)
12. Wu, J., Wang, N.: A-SMART: An Advanced Controlled-Flooding Routing with Group
Structures for Delay Tolerant Networks. In: Second International Conference on Networks
Security, Wireless Communications and Trusted Computing (2010)
13. Lee, U., Oh, S.Y., Lee, K.W., Gerla, M.: RelayCast: Scalable Multicast Routing in Delay
Tolerant Networks. In: IEEE International Conference on Network Protocols (ICNP 2008),
Orlando, FL (October 2008)
14. Zhao, W., Ammar, M., Zegura, E.: Multicasting in Delay Tolerant Networks: Semantic
Models and Routing Algorithms. In: WDTN 2005 proceedings of 2005 ACM SIGCOMM
workshop on Delay-tolerant Networking, USA. ACM Press, New York (2005)
15. Spyropoulos, T., Psounis, K., Raghavendra, C.S.: Spray and Wait: An Efficient Routing
Scheme for Intermittently Connected Mobile Networks. In: WDTN 2005 Proceedings of
the 2005 ACM SIGCOMM workshop on Delay-tolerant networking, USA, ACM Press,
New York (2005)
16. Cerf, V., et al.: Delay Tolerant Network Architecture, IETF, RFC 4838 (April 2007)
17. Scott, K., Burleigh, S.: Bundle Protocol Specification, IETF, RFC 5050 (November 2007)
18. Vahdat, A., Becker, D.: Epidemic Routing for partially-connected ad hoc networks. Duke
Technical Report CS-2000-06 (July 2000)
Integrating RFID Technology in Internet Applications
Simon Fong
1 Introduction
Internet has evolved in the past decades from “Internet of Information” that hyperlinked
information over disparate websites in the 80’s, “Internet of Services” with the bloom of e-
Commerce in the 90’s, “Internet of People” as forms of social network and collaborative
forums over the Millennium, to “Internet of Things” (IOT) [1] in year 2010 and beyond.
IOT is tightly coupled with ubiquitous computing in which Radio Frequency
Identification (RFID) technology plays a central part in auto-identifying and tracking of
not just humans, but things like artifacts that can be tagged. The power of IOT as we can
see is founded from the tracking and communication among humans-to-humans, humans-
to-objects and objects-to-objects [2], etc.
A. Özcan, J. Zizka, and D. Nagamalai (Eds.): WiMo/CoNeCo 2011, CCIS 162, pp. 207–216, 2011.
© Springer-Verlag Berlin Heidelberg 2011
208 S. Fong
2 Hardware Design
Each of the client station will be equipped with a receiver-transmitter pair (or station
transceiver controller) to receive the user ID of the bypassing user. The user card
constantly emits the user ID wirelessly and the microcontroller in the station
210 S. Fong
transceiver picks up this information, and transfers it to the client computer via the
I/O interface. The working range of the transceiver pair is in the popular 902-928MHz
band. With the inclusion of an antenna, the transceiver pair is capable of transmitting
and receiving digital information over distances in excess of quarter mile. Intel 8051
series of controller is used for the controlling portion, because of its simple design and
interfacing. The design at the user card consists of the 8051 controller and interfaces
with the RF module. The schematic diagram of the user card is shown Figure 2.
Fig. 2. The schematic design of the user card Fig. 3. The schematic design of the Station
Transceiver Controller
The design of the station transceiver controller is similar to the user card but have some
extra circuitry. Since 8051 uses multiplexed address and data bus concept, a
74HC373(U2) latch is used to facilitate the proper functioning of the whole circuit. At the
first part of the execution cycle, the address is released by the microcontroller, and this is
indicated by the activation of the Address Latch Enable (ALE) signal. The ALE signal
will cause the 74HC373 to latch in the valid address and hold it stable for the rest of the
execution cycles. Meanwhile the microcontroller will output the data to be sent on the
second part of the current execution cycle. The outstanding part of this logic is to enable
the interface of the microcontroller with the outside world and at the same time maintain a
minimum pins package so as to reduce production and design cost. The purpose of the
74HC138 (U3: 3-to-8 decoder) is to enable the controller to generate a suitable chip select
Integrating RFID Technology in Internet Applications 211
signal so that at only time, only one device can output information onto the data bus. The
schematic design of the station transceiver controller is shown in Figure 3.
3 Software Design
The controlling portion is driven by the assembly language program that resided in
the EPROM of the 8751 microcontroller. It is divided into two parts, namely the user
card and the station transceiver controller. Hence, the user card program will act as a
standalone program, controlling the behavior of the user card. For the station
transceiver module, the program will continue to receive and transmit the user ID
through the receiver and transmitter repeatedly. Apart from that, it will also be in
charge of the sending of received user ID to the client PC, and at the same time
receiving the new programmed ID from the PC. Thus, it has to handle a two-sided
communication with the card and the client PC simultaneously. The logics of the
programs for the user card and the station transceiver controller are shown below.
Start Start
Program Initialization
Program Initializtion
On Transmitter
Off Receiver On Receiver
Off Transmitter
Programming No
Connect No
Mode?
Off Transmitter
On Receiver Yes
Off Reveiver
On Transmitter
Receive and program
new user ID
No
Yes
No
No
Normal Mode?
Normal Mode?
Yes
Yes
On Transmitter
On Receiver
Off Reciever Off Transmitter
End End
Fig. 4. General flow of the user card algorithm (Left). General flow of the station transceiver
controller algorithm. (Right)
212 S. Fong
simplified state transition diagram of the main program that runs on the PC client. The
logic of the programs for the user card and the station transceiver controller are shown.
On the Web server, there are seven CGI scripts that do the server processing. The
CGI programs are written in C for efficient performance, and low-level control over
the system. The database is located in the Web Server computer as well. When a
request or query is sent to the Web Server from the client, the program to be invoked
will be specified in the request. The following CGI programs stored in the directory
cgi-bin handle the request accordingly.
4 Accuracy of Transmission
From the RF module, there are 8 binary selectable reception frequencies available for
operation. This means that at any one time, up to 8 users using different frequencies
can access the system simultaneously. For example, we let the sensing distance be
200 meters, and a cardholder be travelling at a speed of 0.5 meter/sec. 200 meters will
take 400 sec to cover, assuming that the round trip response time through the Internet
is negligible. Since the server takes about 400msec to process a user ID, within a
period of 400sec there can be 1000 transmissions for each channel. If all the 8
channels are available, the whole system is able to handle 8000 transmissions for a
period of 400 seconds theoretically. An experiment is conducted to test the accuracy
of transmission, and the result is plotted in Figure 7. The x-axis represents the number
of time in transmitting an arbitrary string by the client repeatedly, and the y-axis is the
number of erroneous reception in percentage. By sending some data repeatedly, we
simulate the workload generated for the Web server. The errors reported are the
reception errors that may be due to the external interference from the environment and
Signals
RF Analog
-To- Digital
8751 μC RS-232C Interface To
Receiver Analog RSSI Converter
Data Bus and Client
with RSSI Signal Control Signals
MA
X 233 UART MAX
NS16550 233
Fig. 7. Block diagram of the new circuit for the station transceiver controller
the deterioration of the battery power during the testing period. The distance of the
testing device remains fixed at a distance of 50 meters and the voltage level of the
system are constantly check to ensure sufficient power. The results show that the error
is kept less than 10% in most cases.
Using this slope, the signal strength of any RSSI voltage can be determined:
SS = M * (V1- Vm) + 100dBm where SS = signal strength in dBm
M = previously determined slope
Vm = measured RSSI voltage
The obtained SS value is then proportional to a certain distance. Hence, a lookup
table is formulated to store a set of SS values versus distance, so that every time a SS
value is needed, the lookup table can be checked to obtain the equivalent distance.
The major amendment is on the assembly program running in the microcontrollers.
The station transceiver controller needs to control the ADC to convert the analog
signal into digital format, and at the same time process the information before passing
it to the client software.
From the Figure 8, when a client terminal is trying to locate a particular user
holder, it can do so by locating him/her within its radius of operation. The efficiency
of the distance measurement operation will largely depend on the range of the RF
modules used. As it can be observed, the limitation of a single client environment is
that when locating a user, the system can only tell how far the user is away from the
client. The direction of the user cannot be determined, as the area of sensitivity (or
coverage) of the RF modules is circular. A clear advantage of such system is the
simple implementation and cost saving. The main disadvantage is the inability to
exactly pinpoint the location of a user.
This problem however can be solved by making use of at least two clients (multi
client environment) to determine the location of a user. See Figure 9. The clients must
reside in the same environment, and the range of coverage must overlap each other.
When a request is made to locate a particular user, the clients in the environment may
Circle of a
Particular
Signal
Strength
Fig. 8. General flow of distance finding Fig. 9. Distance finding using multiple clients
algorithm for the microcontroller
216 S. Fong
begin to sense for the RSSI of the user. The interception of radio waves not only tells
the distance but also the direction of the user. The principle underlying this technique
is more difficult and it requires all the clients in the same environment to work in
synchronization in order to locate a user.
Another mod will be Wireless Audio Card Paging: With the advancement in
microelectronics integration, manufacturers are able to produce components that are
smaller in size but better function, hence equipment are also made smaller. The HP
series modules are capable of transmitting or receiving a wide range of analog signals
with minimal distortion. The transmitter is equally adept at transmitting complex
waveform such as voice. Analog signals ranging from 50Hz to 25KHz may be applied
to the data input pin. One can use this facility to send voice signal to a particular user
wirelessly. This feature allows the paging of a cardholder within the reach of an
Internet without the use of public announcement system like confidential paging. The
figure below demonstrates a setup to transmit voice.
6 Conclusion
With the arrival of The Internet of Things (IOT), billions of wireless identifiable
“objects” could communicate and interact with one another as an ecosystem. RFID is
an enabling technology for IOT that allows easy gathering identification information
physical objects from a distance. The communication platform will be an EPC
Network whose design has already been proposed. In order to support this network,
RFID system needs to be integrated into Internet. This paper proposed a relatively
simple solution in hardware and software for integrating RFID into Internet.
References
1. Harrison, M.: The ’Internet of Things’ and Commerce. XRDS: Crossroads, The ACM
Magazine for Students 17(3), 19–22 (2011)
2. Fong, S., Zhuang, Y.: A Security Model for Detecting Suspicious Patterns in Physical
Environment. In: IEEE The Third International Symposium on Information Assurance and
Security (IAS 2007), UK, pp. 221–226. IEEE Press, Manchester (2007)
3. Michael, M.P.: Architectural Solutions for Mobile RFID Services on Internet of Things,
Master Thesis, University of Helsinki, pp. 1–95 (2007)
4. Liu, H., Bolic, M., Nayak, A., Stojmenovic, I.: Taxonomy and Challenges of the
Integration of RFID and Wireless Sensor Networks. In: IEEE Network, pp. 26–32. IEEE
Press, Los Alamitos (2008)
BPSO Algorithms for Knapsack Problem
1 Introduction
Maximize ∑ i xi (1)
Subject to ∑ ixi C (2)
A. Özcan, J. Zizka, and D. Nagamalai (Eds.): WiMo/CoNeCo 2011, CCIS 162, pp. 217–227, 2011.
© Springer-Verlag Berlin Heidelberg 2011
218 A. Gherboudj and S. Chikhi
The remainder of this paper is organized as follows: the principle of the PSO is
described in section 2. The third section concerns PSO variants. In the fourth section
we describe the algorithms of each class. Comparison and experimental results are
provided in section 5 and a conclusion is provided in the sixth section of this paper.
2 PSO Principle
The PSO method involves a set of agents for solving a given problem. This set is
called swarm, each swarm is composed of a set of members, they are called particles.
Each particle is characterized by position xid= (xi1, xi2,…, xid,…, xiD) and velocity
vid= (vi1, vi2,…, vid,…, viD) in a search space of D-dimension. During the search
procedure, the particle tends to move towards the best position (solution) found. At
each iteration of the search procedure, the particle moves and updates its velocity and
its position in the swarm based on experience and the results found by the particle
itself, its neighbors and the swarm. It therefore combines three components: its own
current velocity, its best position pbestid= (pbesti1, pbesti2,…, pbestid,…, pbestiD) and the best
position obtained by its informants. Thus the equations for updating the velocity and
position of particles are presented below:
vid(t)= vid (t-1) + c1 r1 (pbestid (t-1) - xid (t-1)) + c2 r2 (gbestd (t-1) - xid (t-1)) (4)
(xid (t), xid (t-1)), (vid (t), vid (t-1)): Position and Velocity of particle i in dimension d at
times t and t-1, respectively. pbestid (t-1), gbestd(t-1) : the best position obtained by the
particle i and the best position obtained by the swarm in dimension d at time t-1,
respectively. c1, c2: two constants representing the acceleration coefficients. r1, r2:
random numbers drawn from the interval [0,1[. vid (t-1), c1 r1 (pbestid (t-1) - xid (t-1)), c2
r2 (gbestd(t-1) - xid (t-1)): the three components mentioned above, respectively.
The position of particle i represents a solution of the addressed problem. The value
of the objective function (or fitness) of the particle i is denoted by f (xid). To estimate
the quality of particle i, it is necessary to calculate its fitness. This one is calculated
using a special function for the addressed problem. In the knapsack problem, the
fitness is calculated according to equation (1).
The PSO algorithm begins by initializing the size of the swarm and the various
parameters. Assign randomly to each particle an initial position and velocity. Initialize
pbestid, then calculate the fitness of particles in order to calculate the best position
found by the swarm (gbestd). At each iteration, particles are moved using equations (4)
and (5). Their objective functions are calculated and pbestid, gbestd are updated. The
process is repeated until the satisfaction of stopping criterion. A pseudo PSO
algorithm is presented below:
BPSO Algorithms for Knapsack Problem 219
3 PSO Variants
The idea of the pioneers of PSO algorithm: Kennedy and Eberhart [3] has sought the
attention of several researchers who have conducted studies in the aim of improving
the performance of the proposed method (PSO) which is not a global convergence-
guaranteed optimization algorithm [5].
In 1996, Eberhart and al [15] proposed to limit the velocity of the particles in
[-Vmax, Vmax] to avoid the problem of deviation of the search space during the
movement of particles. The role of the new parameter Vmax is to control the movement
of particles.
In 1998, Shi and Eberhart [4] proposed to apply the inertia coefficient ω, to control
the particles velocities as follows:
vid(t)= ω vid (t-1) + c1 r1 (pbestid (t-1) - xid (t-1)) + c2 r2 (gbestd (t-1) - xid (t-1)) (6)
vid (t)= K [vid (t-1) + c1 r1 (pbestid (t-1) - xid (t-1)) + c2 r2 (gbestd (t-1) - xid (t-1))] (7)
To ensure the diversity of the swarm, Hi et al [7] proposed to update the particle
velocity according to equation (8):
220 A. Gherboudj and S. Chikhi
vid (t)= ω vid (t-1) + c1 r1 (pbestid (t-1) - xid (t-1)) + c2 r2 (gbestd(t-1) - xid (t-1) ) + c3 r3
(Prid (t-1) - xid (t-1)) (8)
Prid is the position of a particle i of swarm in the dimension d of the search space, this
particle is selected randomly at time (t-1). The role of the component (Prid (t-1) - xid
(t-1)) is to ensure the diversity of the swarm based on the value of the coefficient c3.
4 BPSO Algorithm
The first version of BPSO algorithm (The Standard BPSO algorithm) was proposed in
1997 by Kennedy and Eberhart [11]. In the BPSO algorithm, the position of particle i
is represented by a set of bit. The velocity vid of the particle i is calculated from
equation (4). vid is a set of real numbers that must be transformed into a set of
probabilities, using the sigmoid function as follows:
(9)
Where S (vid) represents the probability of bit xid takes the value 1.
To avoid the problem of the divergence of the swarm, the velocity vid is generally
limited by a maximum value Vmax and a minimum value -Vmax, i.e. vid [-Vmax, Vmax].
The position xid of the particle i is updated as follows:
1 if r < S (vid)
xid = (10)
r [0, 1[
0 Otherwise
In addition to the version of the Standard BPSO algorithm they exist other versions of
BPSO algorithm, such as those proposed in [8, 12, 13, 14].
4.1 Representation
To represent the positions and velocities of the particles we used binary vectors of
size D. The representation of position of particle i is as follows:
To represent the PSO principle, we need a number of operations and operators which
are defined in [6].
BPSO Algorithms for Knapsack Problem 221
In the aim of solving the KP, we have proposed four classes of BPSO algorithm. In
each class, we have proposed four algorithms with different equations and parameters.
4.3.1 The First Class. In the first class we adapt and use the PSO version with
inertia coefficient ω, proposed in 1998 by Shi and Eberhart [4]. In the algorithms of
this class, the position of particles is updated according to equation (5).
1) BPSO6: It is an adaptation of the Standard PSO2006. In BPSO6, the velocity of
particles is updated using the following equation:
vid(t)= ω ×vid (t-1) + r1c1× (pbestid (t-1) - xid (t-1)) + r2 c2× (lbestd (t-1) - xid (t-1)) (11)
lbestd (t-1) is the best position found by the particles in dimension d of a given
neighborhood. c1 and c2 are chosen randomly at each iteration. But in contrast to the
standard PSO2006, The size of the swarm is equal to the dimension of the problem.
2) BP3: In BP3, the velocity is updated using Equation (11). c1 and c2 are constants.
3) BP2: In BP2, the velocity is updated according to equation (12) defined below:
vid (t)= ω ×vid (t-1) + r1c1× (pbestid (t-1) - xid (t-1)) + r2 c2× (lbestd (t-1) - xid (t-1)) + r 3
c3× (gbestd(t-1) - xid (t-1)) (12)
c1, c2 and c3 are constants.
4) BP1: To provide greater diversification within the swarm, we were inspired by the
PSOPC algorithm [7] and we proposed to update the velocity of particles in BP1
algorithm using the following equation:
vid(t)= ω ×vid (t-1) + r1c1× (pbestid (t-1) - xid (t-1)) + r2 c2× (lbestd (t-1) - xid (t-1)) + r 3 c3×
(gbestd(t-1) - xid (t-1)) + r4 c4× (Prid (t-1) - xid (t-1)) (13)
Where c1, c2, c3 and c4 are constants. Prid is the position of a particle i of swarm in the
dimension d of the search space, this particle is selected randomly at time t-1.
4.3.2 The Second Class. In the second class we drew mutation factor used in the
C3DPSO algorithm proposed by Zhong and Zhang [8] and we proposed a new
acceleration coefficient F that we used to update particle position.
1) BFP6: In the BFP6 algorithm, the position of particles is updated according to
equation (14) defined below:
xid (t)= rF×xid (t-1) + vid (t) (14)
4.3.3 The Third Class. In the third class, we adapted and used the PSO version
proposed in [9], because we noticed that the PSO algorithm with constriction
coefficient K is not widely used in the literature. To our knowledge, there is no paper
that addresses the KP using PSO algorithm with constriction coefficient. In the
algorithms of this class, the position of particles is updated according to equation (5).
1) BCP6: In the BCP6 algorithm, the velocity of particles is updated using the
following equation:
vid (t)= K×[vid (t-1) + r1c1× (pbestid (t-1) - xid (t-1)) + r2 c2× (lbestd (t-1) - xid (t-1))] (15)
c1 and c2 are chosen randomly at each iteration.
2) BCP3: In the BCP3 algorithm, the velocity of particles is updated using the
equation (16), but c1 and c2 are constants.
3) BCP2: In BCP2 algorithm, the velocity of particles is updated using the following
equation:
vid (t)= K×[vid (t-1) + r1c1× (pbestid (t-1) - xid (t-1)) + r2 c2× (lbestd (t-1) - xid (t-1)) + r 3
c3× (gbestd(t-1) - xid (t-1))] (16)
c1, c2 and c3 are constants.
4) BCP1: In BCP1 algorithm, we proposed to update the velocity of particles using
the following equation:
vid (t)= K× [vid (t-1) + r1c1× (pbestid (t-1) - xid (t-1)) + r2 c2× (lbestd (t-1) - xid (t-1)) + r3
c3× (gbestd(t-1) - xid (t-1)) + r4 c4× (Prid (t-1) - xid (t-1))] (17)
To verify and compare the performance of the algorithms of the 4 proposed classes, 7
instances with different numbers of items were generated. In the first instance the
number N of objects is equal to 120, in the second instance N = 200, in the third one
BPSO Algorithms for Knapsack Problem 223
N = 500 then N = 700, 900, 1000 and 2000 in the fourth, fifth, sixth and seventh
instances respectively.
Initially, we conducted a comparative study between the proposed algorithms of
the four classes. Then we compared the proposed algorithms with the Standard
PSO2006 [10] that we have adapted to the binary representation used. We also
compared the proposed algorithms with the Standard BPSO [11].
The algorithms are coded in Java. Each algorithm is executed 125 times.
The capacity of the knapsack is calculated using the following formula:
The weights wi and profits pi of objects were selected randomly. For the algorithms
of each class, the size of the swarm is equal to the number of items. In the 1st and 2nd
classes, ω = 0.7. In the 3rd and 4th Classes, K was not calculated from the formula
defined by Clerc and Kennedy i.e. K= , but it was set at 0.7.
The values of the parameters c1, c2, c3, c4 and F are equal to 0.3, 0.4, 0.6, 0.1, and
0.9 respectively. Exceptionally in BPSO6, BFP6, BCP6 and BFCP6, the parameters
c1 and c2 are drawn randomly from [0, 1[.
The positions of particles were randomly initialized for each execution. The
velocities were initialized with the value 0. The number of iterations in each run is
chosen equal to 15 and is used as stopping criteria for each run.
Concern the parameters of the standard PSO2006, we kept the same parameters
defined in [10], but with binary representation of positions and velocities of particles.
About the Standard BPSO, we followed the equations, representation and
parameters defined in [11], except that the values of c1 and c2 are equal to those used
for testing the proposed algorithms, i.e. c1, c2 = 0.3, 0.4, respectively.
Fig. 1. Comparison of average computation time of the proposed algorithms with the Standard
PSO2006 and the Standard BPSO
224 A. Gherboudj and S. Chikhi
Class 1 Class 2
Instance
BPSO6 BP1 BP2 BP3 BFP6 BFP1 BFP2 BFP3
4439 4469 4552 4457 4463 4489 4497 4564
120
4180,8 4130,4 4136 4236,4 4203,2 4140,4 4137,4 4236,4
7559 7522 7642 7490 7491 7339 7648 7624
200
7104,4 6989,9 6938 7169,8 7108,6 6972,2 6979,8 7168,4
17776 17647 17682 18058 17810 17642 17647 17974
500
16949 16848,2 16598,4 17224 17094,2 16864,8 16564,2 17175,8
24678 24407 24101 24431 24809 24407 24469 24563
700
23252,6 23335,6 23019,4 23867,6 23767,6 23368,4 23027,8 30507,4
31428 30898 31215 31686 31192 31018 31525 31276
900
29659,4 29833,8 29369 30509,8 30391,2 29841,6 29330 30507,4
34654 34319 34213 35019 34847 34273 33999 34596
1000
32912,2 33065 32558,6 33810,6 33637 33023 32543,2 33882,4
68857 66605 66546 68548 67914 67110 67507 67829
2000
63232,75 65030,6 63754,6 66478 66185,2 65037 63725 66716,6
BPSO Algorithms for Knapsack Problem 225
Class 3 Class 4
Instance
BCP6 BCP1 BCP2 BCP3 BFCP6 BFCP1 BFCP2 BFCP3
4543 4497 4545 4533 4552 4538 4512 4487
120
4226,2 4216,2 4204 4242,4 4229,8 4230,4 4207 4257,4
7506 7614 7474 7556 7531 7646 7681 7555
200
7139,4 7126,2 7110,4 7183 7151 7133,6 7097 7203,6
17922 17983 17810 17906 17642 17838 17731 18332
500
17069,2 17093,8 17159,6 17265,4 17175,8 17192,4 17129,4 17268
24651 24603 24558 24729 24540 24634 24326 24951
700
23589,6 23637,4 23787,2 23926,8 23876 23835 23772,6 23934,6
31488 31295 31105 31240 31324 31448 31082 31478
900
30111 30063 30439,2 30537,6 30448 30504,6 30455,2 30495,2
34680 34606 34863 35897 34934 34745 34510 34717
1000
33291,6 33384,8 33819,6 33910,8 33879,4 33882,4 33776 33863
66703 68266 67856 67995 68784 68378 67645 67689
2000
65275,2 66656,8 66615 66779,75 66322,8 66740 66682,4 66630,8
Table 3. Comparison of best values obtained by the proposed algorithms, the Standard
PSO2006 and the Standard BPSO
6 Conclusion
PSO is a recent metaheuristic. It has sought the attention of several research
communities. PSO has proved its simplicity of implementation and effectiveness.
Several variants to the original PSO algorithm have been proposed in the literature to
improve its performance. In this contribution, we drew some works and applications
of the PSO algorithm presented in the literature, and we proposed 4 classes of BPSO
algorithms with different equations for updating velocities and positions of particles.
We have grouped the proposed algorithms into four classes: in the first class, we
adapted and used the PSO version with inertia coefficient [4]. The new acceleration
coefficient F is used in the second class for updating the particles positions. F was
applied on the algorithms proposed in the first class which has given birth to the
second class of algorithms. In the third class we adapted and used the PSO version
with constriction coefficient [9] because we noticed that few studies use this version.
In the fourth class, we used the acceleration coefficient F for the update of particles
positions and the constriction coefficient for the update of particles velocities. We
applied the proposed algorithms for solving the NP-hard knapsack problem using
multiple instances (120, 200, 500, 700, 900, 1000 and 2000 objects).
To verify the performance of the proposed algorithms, we conducted a comparative
study between the proposed algorithms of the four classes and a comparison of the
proposed algorithms with the Standard PSO2006 [10] and the Standard BPSO [11].
Comparative studies of the proposed algorithms show performance improvements
with the use of the new acceleration coefficient F for the updating of position and the
application of the constriction coefficient K for the updating of velocity. In terms of
average and best solutions, experimental results show that the proposed algorithms
outperform the Standard PSO2006 and the Standard BPSO. In terms of average, best
solutions and computation time, experimental results show that the B*P2 and B*P3
algorithms (i.e. BP2, BFP2, BCP2, BFCP2, BP3, BFP3, BCP3 and BFCP3)
outperform the Standard BPSO.
BPSO Algorithms for Knapsack Problem 227
References
1. Xie, X., Liu, J.: A Mini-Swarm for the quadratic Knapsack Problem. In: IEEE Swarm
Intelligence Symposium (SIS), Honolulu, HI, USA, pp. 190–197 (2007)
2. Pisinger, D.: Where are the hard knapsack problems? Computers and Operations
Research 32(9), 2271–2284 (2005)
3. Kennedy, J., Eberhart, R.C.: Particle Swarm Optimization. In: Proc. IEEE Int. Conf. On
Neural Networks, WA, Australia, pp. 1942–1948 (1995)
4. Shi, Y., Eberhart, R.: Parameter Selection in Particle Swarm Optimisation. In: Proceedings
of the 7th Annual Conference on Evolutionary Programming. LNCS, vol. 1447,
pp. 591–600. Springer, Heidelberg (1998)
5. Wang, J., Zhou, Y.: Quantm-behaved Particle Swarm Optimization with Generalized
Local Search Operator for Global Optimization. In: Advanced Intelligent Computing
Theories and Applications With Aspects of Artificial Intelligence, pp. 851–860. Springer,
Heidelberg (2007)
6. Gherboudj, A., Chikhi, S.: Algorithme d’OEPB pour Résoudre le Problème du Sac à Dos.
In: Laouar, M.R. (ed.) Proceedings of the 1st International Conference on Information
Systems and Technologies, ICIST 2011, Tebessa, Algeria, pp. 460–466 (2011) ISBN: 978-
9931-9004-0-5
7. He, S., Wu, Q.H., Wen, J.Y., Saunders, J.R., Paton, R.: A Particle Swarm Optimizer with
Passive Congregation. Biosystems, 135–147 (2004)
8. Zhong, W., Zhang, J., Chen, W.: A Novel Discrete Particle Swarm Optimization to Solve
Traveling Salesman Problem. In: IEEE Congress on Evolutionary Computation, CEC
2007, pp. 3283–3287 (2007)
9. Clerc, M., Kennedy, J.: The Particle Swarm: Explosion, Stability, and Convergence in
Multidimensional Complex Space. IEEE Transactions on Evolutionary Computation 6,
58–73 (2002)
10. Standard PSO2006, http://www.particleswarm.info/Programs.html
11. Kennedy, J., Eberhart, R.C.: A discrete binary version of the particle swarm algorithm. In:
Proceedings of the World Multiconference on Systemics, Cybernetics and Informatics,
Piscatawary, NJ, pp. 4104–4109 (1997)
12. Afshinmanesh, F., Marandi, A., Rahimi-Kian, A.: A novel binary particle swarm
optimization method using artificial immune system. In: Proccedings of IEEE international
conference on computer as a tool, pp. 217–220 (2005)
13. Liao, C., Tseng, C., Luarn, P.: A discrete version of particle swarm optimization for
flowshop scheduling problems. Computers & Operations Research 34(10), 3099–3111
(2007)
14. Zhan, Z.-h., Zhang, J.: Discrete particle swarm optimization for multiple destination
routing problems. In: Giacobini, M., Brabazon, A., Cagnoni, S., Di Caro, G.A., Ekárt, A.,
Esparcia-Alcázar, A.I., Farooq, M., Fink, A., Machado, P. (eds.) EvoWorkshops 2009.
LNCS, vol. 5484, pp. 117–122. Springer, Heidelberg (2009)
15. Eberhart, R.C., Simpson, P., Dobbins, R.: Computational PC Tools, ch. 6, pp. 212-22, AP
Professional (1996)
Systematic Selection of CRC Generator Polynomials to
Detect Double Bit Errors in Ethernet Networks
A. Özcan, J. Zizka, and D. Nagamalai (Eds.): WiMo/CoNeCo 2011, CCIS 162, pp. 228–235, 2011.
© Springer-Verlag Berlin Heidelberg 2011
Systematic Selection of CRC Generator Polynomials 229
The receiver divides what it receives by G again and calculates the residue. If the
receiver gets exactly the string transmitted by the sender, the residue will obviously be
equal to zero. Figure 2 shows this process.
Fig. 1. The transmitter side CRC Fig. 2. The Receiver side CRC Process
Process
But if an error has occurred through the channel, we can model the error as a string
E added to M ' [1]. In such a case, the receiver receives M '+ E instead of M ' .
Since M ' is divisible to G , the calculated residue in this case will be equal
to ( M '+ E ) Mod G = E Mod G .
The message, the generator string, the residue and the error vector are commonly
represented in the form of polynomials. In the polynomial form of a bit string, 1s are
shown by the exponents of a variable such as x . Such polynomials appear in the form
of ∑a x i
i
. Each a i (being 0 or 1) represents the corresponding bit in the string. For
example the bit string 11101 can be represented by the
polynomial x + x + x + 1 . If a string contains n bits it is of degree n − 1 .An
4 3 2
obvious result is that strings with odd lengths are presented by polynomials of even
degrees and vice versa. In this paper, we use the terms string and polynomial
interchangeably. Readers are referred to [10] for more details regarding these concepts.
If E (called the error vector) is divisible to G , the receiver will come to zero as the
residue and interpret s this situation as error-free reception of the message. Thus, CRC
cannot detect errors whose vectors are divisible to the generator. Therefore the
generator must be selected in a way that it does not have any multiples equal to the
error vectors which commonly occur in the system.
Applications of CRC [2, 4, 5, and 9] as well as developing methods for improving
its efficiency [3, 6, 7, and 11] have been research focuses in recent years.
In this paper we will propose a systematic method based on modulo-2 mathematics
to list all 33-bit strings (polynomials of degree 32) which can detect double bit errors if
used as generator polynomials. The rest of this paper is organized as follows. Section 2
present Preliminary discussions, section 3 explains the proposed method and section 4
is dedicated to conclusions and suggesting further works.
230 B. Zolfaghari, H. Sheidaeian, and S.P. Mozafari
2 Preliminary Discussions
A double bit error is an error that inverts two distant bits of the message. Such an error
has a vector like 00…010…0100…0. The substrings bounded between the two 1s
(10….01) are called OZO (One-Zero-One) strings in this paper. An OZO string
consists of two 1s in the right and the left. The equivalent polynomial form of an OZO
string is like x n + 1 . We also refer to every polynomial that has an OZO multiple as an
ODP (OZO Dividing Polynomial). Especially, every ODP of degree 32 is called an
ODP32. It is obvious that ODP32 generators cannot detect double bit errors.
Strings representing double bit error vectors can be shown by polynomials
containing two exponents of x like x n + x m where n is the degree of the polynomial
and m is the number of 0s in the right side of the string.
As we will see later, OZO polynomials have divisors having all bits equal to 1 (like
111…11). Such strings are called ALO (All One) strings. ALO polynomials represent
burst errors which change a number of consecutive bits in the message [1]. Every
ALO polynomial of an even degree is called an even ALO polynomial and every
ALO polynomial of an odd degree is called an odd ALO polynomial. An ALO
strings is represented by a polynomial of the form: n x i in which n is the degree of
∑
i =0
the polynomial.
OZO polynomials of odd degrees are referred to as odd OZO polynomials and those
which have even degrees are called even OZO polynomials in this paper. The case is
similar for even and odd ALO polynomials.
3 The Method
Before explaining the proposed method, we need some lemmas presented below. Some
of these lemmas appear without proof. Readers are referred to [1] for the proofs of
these lemmas.
Lemma 1: Every generator polynomial having a constant term (representing strings
having a 1 bit at the right) can detect every single bit error.
In order to exploit the above lemma, all standard CRC systems use generator
polynomials which have constant terms (1s at the right). Standard generator
n
polynomials of degree n also include x (the corresponding bit strings have 1s in the
left).Therefore, in the rest of this paper, we assume that all generator strings have 1s in
their left and right sides.
Lemma 2: Every generator polynomial of degree m can detect all burst errors whose
non-zero parts have degrees less than m . The non-zero part of an error vector is
defined as the substring located between the first and the last 1 bit.
The above Lemma states that we can focus on error vectors whose non-zero
substrings have degrees larger than that of the generator (32 in Ethernet).
Lemma 3: If the vector of a double bit error is divisible by the generator G , then its
OZO substring is divisible by G .
Systematic Selection of CRC Generator Polynomials 231
∑ ∑
k k
x i
= (x k +1
+ 1 ). x i
= ( x + 1 ). ∑
i= 0
x i .∑
i= 0
x i
i= 0 i= 0
232 B. Zolfaghari, H. Sheidaeian, and S.P. Mozafari
k
= ( x + 1 )( ∑
i= 0
x i) 2
(2)
until there remain only exponents of x + 1 and ALO even polynomials. At the
end of the factoring process, we will have:
Or
t −1
1+ ∑ 2 i
2 r
+ 1 = ( x + 1) ∑
t
m
x i= 0
.( xi) 2
(4)
i= 0
Where 2 t.2 r + 2 t
= 2 t .( 2 r + 1 ) = m
Now we can write:
2 r
2 t .( 2 r + 1 )
+ 1 = ( x + 1) ∑
t t
2
x .( xi)2 (6)
i= 0
2 Prime 20
(x6 + x5 + x4 + x2 + 1).(x6 + x4 + x2 + x +1)
∑ x i
∑ x i
2
.( x 3 + x 2 + 1).( x 3 + x + 1).∑ x i
i= 0 i= 0
i=0
Prime ( x + x + x + x + x + x 2 + 1)
4 22 11 10 6 5 4
∑ x i
∑ x i
i= 0 i= 0
.( x11 + x 9 + x 7 + x 6 + x 5 + x + 1)
( x + x + 1).( x + x + 1)
6 3 2 3 24 4
∑ x i
∑
i= 0
x i
( x 20 + x 15 + x 10 + x 5 + 1). ∑ x i
i= 0 i=0
8 2 26 2
∑i= 0
x i
( x 6 + x 3 + 1). ∑ x i ∑
i= 0
x i
( x18 + x 9 + 1).( x 6 + x 3 + 1).∑ x i
i=0 i=0
10 28
Prime Prime
∑i= 0
x i
∑
i= 0
x i
12
Prime 30
(x5 + x4 + x3 + x +1).(x5 + x4 + x3 + x2 +1)
∑ x i
∑ x i
i =0 i =0
16 ( x 8 + x 7 + x 6 + x 4 + x 2 + x + 1)
∑i= 0
x i
.( x 8 + x 5 + x 4 + x 3 + 1)
The factorizations listed in Table 1 have been obtained from a program written in
C. This program first generates and stores prime polynomials of degree 2
( x 2 + x + 1 and x 2 + 1 ). Then generates all third degree polynomials and divides each
of them to the stored prime polynomials. If a polynomial is divisible to none of the
stored polynomials, it is stored as a new prime polynomial. Higher degree prime
polynomials are detected and stored in a similar way. This program produces ALO
234 B. Zolfaghari, H. Sheidaeian, and S.P. Mozafari
polynomials of different degrees and divides each of them by each of the stored prime
polynomials in the next phase. This phase gives the prime factorization of each of the
ALO polynomials.
Now can exploits the factorizations showed in the above table in order to solve the
factorization problem. For example, let us solve the equation for 2 r = 6 . In this case,
6
must be an ALO polynomial. We can
( x + 1) 2 −1
∑
t t
i 2
.( x )
i= 0
6
replace ( x 3 + x 2 + 1).( x 3 + x + 1)
for ∑ i= 0
x i
using table 1. This replacement shows that
∑
18
case, ( x + 1 ) 2 −1
∑ x i ) 2 must be an ALO polynomial. But since is
t t i
.( x
i= 0 i= 0
the equation for 2 r = 0 , 2 , 4 ,..., 32 . This way, we will find 3809 ODP32s.
Now let us calculate the number of polynomials that can detect double bit errors in
Ethernet frames. We know that there 2 33 different polynomials of degree 32. Half of
them ( 2 32 ) include even numbers of 1s and 1 of this polynomials ( x 30 ) include
4
x and 1 . Since there are 3809 polynomials unable to detect double bit errors, the
32
result is that there are 2 30 − 3809 polynomials of degree 32 that can be used as CRC
generators in order to detect double bit errors in Ethernet frames.
References
1. Zolfaghari, B., Mozaffari, S.P., Karkhane, H.: A Systematic Approach to the Selection of
CRC Generators to Detect Burst Errors in Ethernet Networks. In: Proceedings of the IEEE
International Conference on Intelligent Network and Computing (ICINC 2010), Kuala
Lumpur, Malaysia (November 2010)
2. Deng, I., Rong, M., Liu, T., Yuan, Y., Yu, D.: Segmented Cyclic Redundancy Check: A
Data Protection Scheme for Fast Reading RFID Tag’s Memory. In: Proceedings of IEEE
Wireless Communications & Networking Conference (WCNC 2008), March 31- April 3,
pp. 1576–1581. IEEE Computer Society Press, Las Vegas (2008)
3. Mathys, W.: Pipelined Cyclic Redundancy Check (CRC) Calculation. In: Proceedings of
16th International Conference on Computer Communications and Networks, ICCCN 2007,
pp. 365–370 (1963)
4. Ahmad, A., Hayat, L.: Algorithmic Polynomial Selection Procedure for Cyclic
Redundancy Check for the use of High Speed Embedded Networking Devices. In:
Proceedings of International Conference on Computer and Communication Engineering
2008 (ICCCE 2008), Kuala Lumpur, Malaysia, pp. 13–15 (2008)
5. Pana, Y., Ge, N., Dong, Z.: CRC Look-up Table Optimization for Single-Bit Error
Correction. Tsinghua University Journal of Science & Technology 12(5), 620–623 (2007)
6. Assaf, R., Shmuel, T.: The EasyCRC Tool. In: Proceedings of 2007 International
Conference on Software Engineering Advances (ICSEA 2007), pp. 25–31 (August 2007)
7. Young, M.: The Technical Writer’s Handbook. University Science, Mill Valley (1989)
8. Dongliang, X., Jianhua, L., Chunlei, L., Bingli, J.: A Perturbation Method for Decoding
LDPC Concatenated with CRC. In: Proceedings of Wireless Communications and
Networking Conference (WCNC 2007), pp. 667–671 (March 11-15, 2007)
9. Zhanli, L., Xiao, L., Chunming, Z., Jing, W.: CRC-Aided Turbo Equalization For MIMO
Frequency Selective Fading Channels. Journal of Electronics(China) 24(1), 69–74 (2007)
10. Tanenbaum, A.S.: Computer Networks, 3rd edn. Prentice Hall, Englewood Cliffs (1996)
11. Sudha, R., Wilson, G.S., Yalamarthy: Near-ML Decoding of CRC Codes. In:
Proceedinggs of 41st Annual Conference on Information Sciences and Systems, pp. 92–94
(March 14-16, 2007)
Security Analysis of Ultra-lightweight Protocol for
Low-Cost RFID Tags: SSL-MAP
1 Introduction
Radio Frequency Identification (RFID) systems offer improved efficiency in inventory
control, logistics, and supply chain management. As such, they are of great interest to
enterprises intensively reliant on supply chains, particularly large retailers and
consumer product manufacturers. The long-term goal of these organizations is to
integrate RFID on the retail level. Without proper protection, widespread adoption of
retail RFID could raise privacy concerns for everyday consumers.
RFID systems consist of three main components: tags, readers and back-end databases.
Tags are radio transponders attached to physical objects. Each tag contains a microchip
with a certain amount of computational and storage capabilities and a coupling element.
Such devices can be classified according to memory type and power source. Another
relevant parameter is tag price, which creates a broad distinction between high-cost and
low-cost RFID tags. Radio transceivers, or readers, query these tags for some (potentially
unique) identifying information about the objects to which tags are attached. Although
readers are often regarded as a simple conduit to a back-end database, for simplicity we
treat a reader and a back-end database as a single entity.
2 Related Works
In [13], Chien proposed a tag classification mainly based on which were the
operations supported on-chip. High-cost tags are divided into two classes:
A. Özcan, J. Zizka, and D. Nagamalai (Eds.): WiMo/CoNeCo 2011, CCIS 162, pp. 236–245, 2011.
© Springer-Verlag Berlin Heidelberg 2011
Security Analysis of Ultra-lightweight Protocol for Low-Cost RFID Tags 237
3 Review of SSL-MAP
The protocol comprises three stages: Tag identification, mutual authentication, and
updating as shown in Fig. 1.
238 M. Kianersi, M. Gardeshi, and H. Yousefi
, ,
, ,
,
, ,
, ,
,
, ,
, ,
Where c = 0x3243F6A8885A308D313198A2
The reader sends a “hello” message to the tag. The tag responds with index-
pseudonym (IDS). The reader uses this ID as a reference number to search for the
shared keys of the tag in its database. If the database has an entry associated an IDS,
next phase starts, otherwise the reader requests for older IDS to identify the tag.
With IDS, the reader acquires private information linked to the tag from the database.
Then the reader generates pseudonyms n1 and n2, constructs three concatenated public
messages ‖ ‖ and sends them to the tag. Where c is a 96 bit length constant. The
tag in reply sends a public message D or an error message depending on successful
reader authentication. So we have two authentications as follow:
1. Reader Authentication: From messages A and B, the tag extracts pseudonyms n1
and n2 respectively. Then it computes n3, k1*, k2*, and builds a local version of
message C as C′. This is compared with the received value C. If both values are
same, the reader is authenticated.
2. Tag Authentication: Finally, the tag sends message D to the reader. On receiving
D, this value is compared with a computed local version. If they are same, the tag
is authenticated; otherwise the protocol is abandoned.
3.3 Updating
After successfully completing the mutual authentication phase between the reader and
the tag, both locally update IDS and keys k1, k2 as follows:
Security Analysis of Ultra-lightweight Protocol for Low-Cost RFID Tags 239
MixBits n , n (1)
n ,n ,n (2)
n ,n , (3)
, , (4)
4 Security Analysis
Security analysis of SSL-MAP protocol result that following attacks are possible to
carry out.
The tag updates its values irrespective of whether the reader has received message D
and verified it or not whereas, the reader updates its values only after receiving and
verifying message D. This causes a difference between the storage of the tag and the
reader in case that message D does not received by the reader. To avoid this de-
synchronization, in Gossamer, the tag is considered to be keeping the older values of
IDS and keys in memory. So in such case that a de-synchronization occurs the reader
can ask for the older IDS (not updated) and both can be in synchronization again.
However, a de-synchronization attack can still be launched successfully using
following procedure [3]:
1. Suppose a tag keep the synchronized value as:
1. =
2.
3.
This tag now communicates with a reader. The attacker records the corresponding
message as Ax, Bx, Cx (being public messages and under the assumption that
communication between the reader and the tag is not secure). Now the attacker
interrupts message Dx and does not allow it reaches to the reader. The tag does not
know whether the reader has verified D or not and updates its value as:
1. 2. 3.
4. 5. 6.
2. Next, the attacker allows the tag and the reader to run the protocol without
intervening. As IDSy is not recognized by the reader (did not update its value as D
was not received), so it asks the tag for the older values. The tag sends IDSx which
is recognized by the reader and they complete the protocol. After completion, the
tag updates its values as:
1. 2. 3.
4. 5. 6.
240 M. Kianersi, M. Gardeshi, and H. Yousefi
3. Now, the attacker intervenes and sends a ”hello” message to the tag. The tag
responds with IDSz. The attacker pretends that it cannot identify IDSz and asks for
the older values. The tag responds with IDSx. Attacker has already copied Ax, Bx,
Cx, which are legitimate sub-messages against IDSx and n1x, n2x generated during
step1. Protocol is completed and tag has the following values in memory:
1. 2. 3.
4. 5. 6.
Whereas, the reader has the following values in its database:
1. 2. 3.
4. As a consequence, the synchronization between them is failed. Since, reader has
IDSz, k1z, k2z in its database, and does not recognize both triple IDSx, k1x, k2x and
IDSy, k1y, k2y. The tag is unable to establish an association with reader, the next
time that they communicate.
Here we establish another attack that leads to disclosure of all secret information on
tag. In this attack we need observe several rounds of protocol. This attack works if the
following condition is satisfied: n1, n2 mod 96 = 0. In this case because
0,0 0, n3, , all becomes Zero.
, 96 0
0 96 , 0 96 0 96
, , (5)
, , (6)
(7)
Then (8)
(9)
Then (10)
(11)
Then (12)
(13)
By using the equations (11) and (13) we have:
(14)
(15)
(16)
Security Analysis of Ultra-lightweight Protocol for Low-Cost RFID Tags 241
Now, attacker observes the exchanged public messages, if two consecutive run of
protocol satisfy equation (6), then attacker results that n1, n2 mod 96 = 0. Now, he/she
finds k1, k2, by solving system of equations (5), (11). These values are k1n and k2n.
2 2 (17)
, , (18)
n n n n+1 n+1 n+1
Now the attacker has the values of IDS , k1 , k2 , IDS , k1 , k2 . He/she continues
the attack as follows. In next session, the tag sends IDS for reader and receives
‖ ‖ from it. Now, the attacker Using this messages and secret values that he/she
gained, computes n1, n2 and lets them in D for calculating Y. It’s apparent that
computing , n3, k1*, k2* values is easy. Now attacker constructs a system of 12
equation 12 unknown using values n1, Y and calculates ID.
(19)
(20)
(21)
(22)
(23)
(24)
(25)
(26)
(27)
(28)
(29)
(30)
242 M. Kianersi, M. Gardeshi, and H. Yousefi
5 Proposed Solutions
In this section we propose efficient countermeasures for existence attacks:
Step 1- The attacker interrupts message D, so the tag updates its values but the reader
doesn’t:
Tag : ,k , k
,k ,k
Reader : ,k ,k
Step 2- The tag and the reader run protocol completely:
Tag : , k ,k
, k ,k
Reader : , k ,k
, k ,k
Step 3- The attacker and the tag negotiate together:
Tag : , k , k
,k ,k
Reader : , k ,k
,k ,k
In this case even though the attacker has successfully completed all the steps, the
tags and database are still synchronized since valid communication can take place
using the old values of the keys.
MixBits function in SSL-MAP guarantees that if both of its two inputs are zeros mod
96, its output will be zero mod 96. Hence modifying MixBits function [3] as shown in
below guarantee that in case of its two inputs is zeros mod 96; its output will not be
zero mod 96. Then this modification will enhance the security of the protocol. The
extra countermeasures are modifying the structure of some messages or internal states
as follows:
Security Analysis of Ultra-lightweight Protocol for Low-Cost RFID Tags 243
Z=MixBits(X,Y)
Z=x
for (i=1:i<32:i++)
Z=(Z+i)+Z+Z+Y
And other parameters modifies as follows:
, , (31)
, , (32)
, (33)
, , (34)
, , (35)
, (36)
, , (37)
, , (38)
, (39)
, , (40)
, (41)
, , (42)
Analyzing the security and performance of the proposed protocol shows that these
modifications enhance security.
, 96 0
, , (43)
, , (44)
, (45)
, (46)
, (47)
, (48)
, , (49)
, , (50)
, (51)
, , (52)
244 M. Kianersi, M. Gardeshi, and H. Yousefi
, (53)
, , (54)
6 Conclusion
SSL-MAP is an ultra-lightweight Gossamer-based mutual authentication protocol
proposed by Rama N and Suganya R. In this paper we showed vulnerability of this
protocol by launching two attacks such as de-synchronization and full-disclosure. In
de-synchronization attack we destroyed the synchronization between the tag and the
reader using an active attack, in three rounds of protocol and in full-disclosure attack,
we gained all of secret information shared between tag and reader by eavesdropping
several rounds of protocol and analyzing the acquired data. Then, we proposed profit
countermeasures and showed that those are efficient against aforementioned attacks.
Acknowledgment
This work is supported by the Education & Research Institute for ICT, Tehran, Iran.
References
1. Rama, N., Suganya, R.: SSL-MAP: A More Secure Gossamer Based Mutual
Authentication Protocol for Passive RFID Tags. International Journal on Computer
Science and Engineering 02, 363–367 (2010)
2. Peris-Lopez, P., Hernandez-Castro, J.C., Tapiador, J.M.E., Ribagorda, A.: Advances in
Ultralightweight Cryptography for Low-cost RFID Tags: Gossamer Protocol. Journal of
Information Science and Engineering 25(1), 33–57 (2009)
3. Gamal, E.A., Shaaban, E., Hashem, M.: Lightweight Mutual Authentication Protocol for
Low-cost RFID Tags. International Journal of Network Security & Its Applications
(IJNSA) 2(2) (2010)
4. Peris-Lopez, P., Hernandez-Castro, J.C., Estevez-Tapiador, J.M., Ribagorda, A.: M2AP: A
minimalist mutual-authentication protocol for low-cost RFID tags. In: Ma, J., Jin, H.,
Yang, L.T., Tsai, J.J.-P. (eds.) UIC 2006. LNCS, vol. 4159, pp. 912–923. Springer,
Heidelberg (2006)
5. Peris-Lopez, P., Hernandez-Castro, J.C., Tapiador, J.M.E., Ribagorda, A.: LMAP: A real
lightweight mutual authentication protocol for low-cost RFID tags. Hand. of Workshop on
RFID and Lightweight Crypto (2006)
6. Peris-Lopez, P., Hernandez-Castro, J.C., Estevez-Tapiador, J.M., Ribagorda, A.: EMAP:
An Efficient Mutual-Authentication Protocol for Low-Cost RFID Tags. In: Meersman, R.,
Tari, Z., Herrero, P. (eds.) OTM 2006 Workshops. LNCS, vol. 4277, pp. 352–361.
Springer, Heidelberg (2006)
7. Li, T., Deng, R.: Vulnerability analysis of EMAP an efficient RFID mutual authentication
protocol. In: Proc. of AReS (2007)
8. Li, T., Wang, G.: Security analysis of two ultra-lightweight RFID authentication protocols.
In: Proc. of IFIP-SEC 2007 (2007)
Security Analysis of Ultra-lightweight Protocol for Low-Cost RFID Tags 245
1 Introduction
A. Özcan, J. Zizka, and D. Nagamalai (Eds.): WiMo/CoNeCo 2011, CCIS 162, pp. 246–255, 2011.
© Springer-Verlag Berlin Heidelberg 2011
File Distribution Algorithm from Multiple Road Side Units in Vehicular Networks 247
The ad hoc networks formed between vehicles together and/or between vehicles
and Road Side Units (RSUs) are often called VANETs (Vehicular Ad hoc
NETworks). VANETs have many distinctive characteristics and communication
challenges as described in [4]. According to the FCC frequency allocation one can
categorize two main classes of applications for vehicular ad hoc networks. The first
category is considered to improve the safety level of passengers in roads, i.e., safety
applications. In this case, VANETs can be seen as a complementary to the current
Intelligent Transportation Systems (ITS) [5], in order to enhance the coverage and
performance. The second class of applications is commercial services i.e., comfort
applications. Applications in this class offer commercial services like internet access
on roads, multimedia download, car navigation, etc.
Vehicular networks exist in two different architectures. In Vehicle to Vehicle
(V2V) case which is essential for safety applications, a pure ad hoc network between
moving vehicles is established. On the other hand, in Vehicle to Infrastructure (V2I)
case, vehicles and road-side infrastructure construct a hybrid ad hoc network. The
latter is suitable mostly for comfort applications even though there are also some
safety applications relying on V2I architecture. Due to their business profit, comfort
applications are predicted to take popularity in the future. It should be stressed that
safety applications are assigned priority. Therefore, comfort applications do not
intervene in the exchange of safety related application provided that efficient channel
assignment techniques are adopted. A big category of comfort applications normally
demand files with various sizes to be exchanged. In this paper we focus on a file
distribution mechanism form multiple RSUs which can be taken advantage in such
comfort applications.
Recently vehicle to RSU communications are studied in a few works. In [6] the
authors studied scheduling problem in which vehicles in a junction can download
(upload) data from (to) a single RSU. A similar problem is also has been studied in a
few works [7, 8] even though the context is not VANETs. However the case of
multiple RSUs is not considered in these works. Later in [9] the author proposed an
algorithm for on-demand file download from multiple RSUs. In this work each
vehicle must send a request message to the RSU prior to the transmission. Our work
is different form [9] in that it is based on broadcasting of files and thus it is more
scalable when the number of files and vehicles is large. Furthermore, we have made
use of an application layer coding called Fountain Coding in order to improve
throughput of downloading and to facilitate reliable broadcast file transmission.
is a sample of Fountain Coding [10] like LT [11] and Raptor [12]. The queue Q1 is
dedicated for files with size of 1MB or less, Q2, Q3 and Q4 are for files with size of 2
MB, 3 MB and 4 MB respectively. Finally, Q5 is dedicated for files with size of 5
MB or more. The proposed approach contains two main algorithms: inter-RSU
scheduling and inter-RSU scheduling.
The main challenge for supporting resumable downloads is the fact that a RSU should
exactly track the remained parts of file(s). In other words, due to nature of file
downloading application, all file’s packets should be received in-order. To free such
limitation, in this paper, similar to [13] we make use of Fountain Coding technique
along with UDP in the transport layer. Our aim is to achieve high throughput along
with reliability as is desirable in the comfort application of VANETs (in particular
those are based on file exchange).
The term fountain implies that for being able to reconstruct the original input symbols
(packets), the receiver needs to receive a minimum number of any output symbols
(packets). Let k be the original number of packets of the file and let n be the total number
of packets whose reception is enough to decode the original content. We have n
k 1 , where , termed the decoding efficiency, ranges typically between 10 and
100% ( normally in the range of 5 or 10 percent), depending on the specific
implementation. Please note that when the receiver receives the n symbols, decoding is
successful with a probability equal to 1 δ where δ is upper-bounded by 2 . This
means that larger file sizes and/or higher values of make the decoding probability even
larger. As of complexity, it may be as low as linear in the number of coded symbols.
Note that the sufficient amount of packets for successful encoding is just slightly
larger than the amount of actual file packets. But there is no need to receive packets in
a special order and under strict synchronization. In other words, all packets have
equivalent value for the receiver vehicle. In the following subsections along with
explanation of algorithms we also clarify the effect of Fountain Coding on each part
of the proposed mechanism.
The goal of this algorithm is to efficiently distribute the given files inside of each
RSU’s coverage area. At the beginning, the files are allocated to the queues according
to their size. Then first RSU starts operation and sends files of Q1 according to the
predefined and optional order (here different queuing policies can be taken into
account). When all files were sent in Q1, Q2 starts to send its files and likewise all
files of other queues are sent in a Round Robin (RR) order. In other words, inside of
each queue one can use any priority policy but between individual queues the RR
policy is utilized. Furthermore, there is a flag variable for each file which is set to
TRUE by the time the file is sent. It should be noted that all flags are set to FALSE at
the beginning of the algorithm or whenever the cycle of file distribution is restarted
(i.e., when all files of Q5 were sent). A given file in Qi is sent only if all files of Qj (j
< i) and previous files in Qi have the flag value of TRUE. Fig. 2 shows pseudo-code
of proposed algorithm.
250 S. Yousefi, A.A. Maleki, and R. Hashemi
If((RSUId.Timer+File_Broadcast_Duration(fileId,Bandwidth))
<= Rsu_RangeEnd_Time(RSUId.Timer, msg.Ave_Speed))
//begin to broadcast file from the specified time(RSUId.Timer)
BroadCast(fileId, RSUId.Timer)
//update RSU’s internal Timer by adding time that takes to send that file with the available bandwidth
time by which vehicles with average speed stay under its coverage. Whenever this
timer is expired before finishing of all files in all queues the current RSU has to
announce this issue to the next RSU. So that the next RSU is aware of some
incomplete download(s) from the previous RSU and tries to resume their
transmission. The information which is exchanged between adjacent RSUs include: id
of the incompletely downloaded file (s), queue-id of the file (s) and the percentage of
downloaded file(s) (in terms of packet number). In addition to this information the
next RSU should be aware of the time by which the vehicles are entered into its
coverage area. This time offset is also sent to the next RSU by the current RSU. To
calculate this time, the average speed of vehicles at that time (average speed is
different at different hours of a day) and the coverage range of the RSUs and that of
vehicles are considered. Moreover, the out-of-coverage distance between RSUs which
may be existed should be taken into account. Consequently, next RSU resume
sending files (it only sends remaining packets of the files). One may criticize that due
to differences in vehicles’ speed, the time offsets exchanged between RSUs may not
be exact for all vehicles (since it is computed based on average speed). Although this
consideration is correct but using Fountain coding (as explained in the next
paragraph) relaxes our algorithm from being dependent to strict time synchronization
between RSUs.
4 Simulation
The proposed algorithm has been evaluated by means of GloMoSim library 2.03[14].
In the simulated scenario, a one-way highway is considered in which 10 RSU are
252 S. Yousefi, A.A. Maleki, and R. Hashemi
placed with 1Km distance. The radio range of RSUs is 250 meter so that between
every two RSU there is 500 meter gap (out-of-coverage area). Propagation path loss
model of the wireless channel is TWO-RAY GROUND. In order to simulate the loss
incurred due to environmental obstacles and larger vehicles (e.g., trucks) a loss rate of
1% is assumed. Channel bandwidth is 2Mbps and IEEE 802.11 protocol is used in the
MAC layer (compatible with DSRC standard). In the application layer, a typical one
hop broadcast protocol is implemented using which RSUs send files to the vehicles.
The transport layer protocol is UDP which is used in conjunction with Fountain
Coding to evade the TCP’s limitation in VANETs. We assume that the original file is
recovered by an overhead of 20% (note that current Fountain algorithms are able to
achieve the overhead of 5% easily). The implementation of coding and decoding
algorithm for a special type of fountain codes is out of scope of this paper. Therefore
in the implemented scenario, the RSU sends out a sequence of packets to the vehicles.
Whenever the receivers get 120% of original file packets (distinctive 1 KB packets),
no matter whether the order is preserved or not, the download is complete. 30 vehicles
are considered which are moving in four constant velocities including: 72, 90, 108
and 126 kmph. We continue simulation until the last vehicle passes the coverage
range of the last RSUs thus the simulation duration is different in various scenarios.
Three 1MB files and two 2MB files are given to the central distribution to be
distributed among these 30 vehicles. If it is not explicitly mentioned, the average
speed of highway is taken 108 kmph.
Normally we might have compared the performance of our algorithm with the
previous works in the literature. But as reviewed in section II the previous works are
dealt with intra-RSU scheduling or they are on-demand. Thus the comparison is not
significant. Albeit the case of intra-RSUs are a subset of our approach when the
number of RSU is one. However due to very poor performance we do not show
results related to less than 3 RSUs. The obvious reason of such a poor performance is
that the vehicles move on the road and thus they do not stay in the coverage of a
single RSU’s to download all files.
First we evaluate the percentage of files which are downloaded completely. This
metric is very important because only completely downloaded files are beneficial for
vehicles. As it follows from Fig.4 by increasing the number of RSUs the percentage
of completely downloaded files is increased. As expected, this result confirms the
benefit of resuming downloads which is possible due to proposed inter-RSU
scheduling. Furthermore, using Fountain Coding in the proposed scheduling
algorithm improves the percentage of completely downloaded files noticeably. This
issue can be justified by that in the Fountain case there is no need for in-order
reception of packets and re-transmission of any specific packet.
Another metric which can be relied on in performance evaluation of the proposed
approach is the percentage of vehicles which are able to download all files
completely. In fact this metrics can be translated to business profit of the file
distribution system. This metric is illustrated in Fig.5 where one can observe that
increasing the number of RSUs leads to improve the metric. However in the case of
Fountain the percentage of vehicles which are able to download all files is much
higher than the case of without Fountain such that after 8 RSUs all vehicles are able
to receive all files completely. As on can conclude from Fig. 5, when Fountain
Coding is not utilized very few vehicle are able to completely download all files.
File Distribution Algorithm from Multiple Road Side Units in Vehicular Networks 253
Fig. 5. Percentage of vehicles which downloaded all the files in terms of number of RSUs
5 Conclusions
In this paper we have proposed an algorithm for file distribution from multiple RSUs.
The algorithm takes into account both intra-RSU and inter-RSU scheduling issues.
That is, if a file can not be fully received through a RSU, the rest can be received
from other RSUs. We have also used an application layer coding based on Fountain
Codes to improve the throughput. We have used two performance metrics for
evaluation of the algorithm: 1) number of vehicles which are able to download all
files, and, 2) the number of completely downloaded files. Our results show that the
proposed algorithm shows significant improvement in comparison to the case in
which there is no inter-RSU cooperation. Moreover, by increasing the number of
RSUs, the algorithm shows better performance in terms of aforementioned metrics.
Besides using Fountain Coding alleviates desperate effects of increasing vehicle’
speed and increase of file sizes.
References
1. ASTM E2213-03, Standard Specification for Telecommunications and Information
Exchange Between Roadside and Vehicle Systems — 5 GHz Band Dedicated Short Range
Communications (DSRC)Medium Access Control (MAC) and Physical Layer PHY)
Specifications. In: ASTM International (July 2003)
2. IEEE, IEEE Standard 802.11p Draft Amendment. Wireless LAN Medium Access Control
(MAC) and Physical Layer (PHY) Specifications:Wireless Access in Vehicular
Environments (WAVE) (2005)
3. The COMeSafety Project, http://www.comesafety.org/
4. Yousefi, S., Mousavi, M.S., Fathy, M.: Vehicular Ad Hoc Networks (VANETs):
Challenges and Perspectives. In: IEEE Proceedings of 6th International Conference on ITS
Telecommunications (ITST 2006), China, pp. 761–766 (2006)
5. Andrisano, O., Nakagawa, M., Verdone, R.: Intelligent transport ation systems: the role of
third generation mobile radio networks. IEEE Communication Magazine, 144–151
(September 2000)
File Distribution Algorithm from Multiple Road Side Units in Vehicular Networks 255
6. Zhang, Y., Zhao, J., Cao, G.: On Scheduling Vehicle-Roadside Data Access. In: Proc. of
ACM VANET 2007, in conjunction with Mobicom 2007, Montreal, Canada (September
2007)
7. Gandhi, R., Khuller, S., Kim, Y., Wan, Y.: Algorithms for minimizing response time in
broadcast scheduling. Algorithmica 38(4), 597–608 (2004)
8. Su, C., Tassiulas, L.: Broadcast scheduling for information distribution. In: Proceeding of
Infocom 1997 (1997)
9. Shahverdy, M., Fathy, M., Yousefi, S.: Scheduling Algorithm for Vehicle to Road-side
Data Distribution. In: ICHCC-ICTMF 2009, China. CCIS, vol. 66, pp. 30–38. Springer,
Heidelberg (2010)
10. MacKay, D.J.: Information Theory, Inference, and Learning Algorithms. Cambridge
University Press, Cambridge (2003)
11. Luby, M.: LT Codes. In: IEEE-FOCS, pp. 271–282 (2002)
12. Shokrollahi, M.A.: Raptor Codes. IEEE Transaction on Information Technology (2006)
13. Yousefi, S., Chahed, T., Moosavi, M., Zayer, K.: Comfort Applications in Vehicular Ad
Hoc Networks Based on Fountain Coding. In: IEEE WiVec 2010, Taipei (May 2010)
14. GloMoSim Network Simulator,
http://pcl.cs.ucla.edu/projects/glomosim/
SMART-IP: A Multi-Agent System for Network Analysis
and IP Addressing Resolution
1 Introduction
Computer networks are now ubiquitous and indispensable in any economic or social
sector. The number of network services and distributed applications has increased
considerably. The complexity of these interconnected systems is so large that it is
difficult to control all aspects of their security and reliability. The task of network
administrators is getting complicated. Indeed, to manage a computer network, it is
often necessary to detect the origin of a malfunction and resolve many addressing and
connecting problems.
Many efforts are being invested to develop elements of management and diagnosis
that fulfill correctly their roles to assist the network administrator in a task being more
and more complex [4].
In this work we propose the use of a multi-agent system to assist the human
administrator in managing a local network and discharge him from repetitive tasks
that will be dedicated to a battery of interactive agents.
A. Özcan, J. Zizka, and D. Nagamalai (Eds.): WiMo/CoNeCo 2011, CCIS 162, pp. 256–265, 2011.
© Springer-Verlag Berlin Heidelberg 2011
SMART-IP: A Multi-Agent System for Network Analysis and IP Addressing Resolution 257
Agents are an emerging technology that has great potential to represent and solve
complex and distributed problems. They are very useful especially in applications
requiring the distribution of tasks between autonomous entities in order to rapidly
achieve their goal in an optimal way [9].
The advantages of using a MAS in networks management are numerous:
• Agents are autonomous and do not require the intervention of an omnipresent
administrator. They perform the task without overloading the media and thus
reduce the cost and time.
• When a terminal or an intermediary machine requires intervention,
unlike the mobile agents that travel across the network, the administrator
must physically go to the machine, especially in the case where the Telnet
or RDP services are unusable.
• Control decentralization: A migration of analysis and resolution modules
enables the management of a complex network, and thus provides a scalable
system that operates on various architectures (JVM/LEAP).
• Of course there exist network services specifically designed for solving
various problems and networks malfunctions. For example, Telnet and RDP
enable a remote control and configuration of a machine, but without
security, with a significant overload of media, an exaggerated latency and
also require the availability of a manager, throughout the process,
intervening on one node at a time.
The IP protocol provides the functions required to transfer a packet from a source
to a destination through an interconnected system of networks. Addressing is the main
function of IP. All devices belonging to a network must be uniquely identified. At the
network layer, the packets must be identified by source and destination addresses of
systems on both sides. Internet Protocol Version 4 (IPv4) provides a hierarchical
addressing of packets carrying the data [1]. There are three types of address:
- The network address that refers to the network,
- The broadcast address, used to send data to all hosts on the network.
- The host addresses assigned to end devices.
The developed system uses broadcast addresses for address recovery and logical
topology identification of the bus.
The ARP process (Address Resolution Protocol) is a major element in the network
analysis operation conducted by our system. The ARP protocol provides two basic
functions:
• resolution of IPv4 addresses to MAC addresses,
• preservation of mappings in the cache memory.
For each frame placed on the LAN’s support corresponds a destination MAC address.
When a packet is sent to the data link layer to be encapsulated in a frame, the node
refers to a table in his memory to find the corresponding address to the destination
IPv4 address. This table, called ARP cache, is stored in the RAM of the device. Each
entry in the ARP cache consists of two values: an IP address and a MAC address [1].
When a host wishes to send an Ethernet frame to another host of which he knows the
IP address, he puts his request on hold and makes a broadcast ARP request. All hosts
on the segment will receive the request but only the machine with that address will
respond by sending an ARP reply containing its MAC address to the issuing machine.
It creates then an entry in its ARP cache from the data contained in the ARP
request it just received. The machine behind the ARP request receives the answer,
updates its ARP cache and can send the message she queued to the relevant machine.
3 System Functionalities
Besides Analyzer Agent and Resolver Agent, we also need two other agents, Informer
Agent and Interface Agent.
• Informer Agent is an agent collecting the data gathered by Analyzer Agent and
address information entered by the user (the administrator) in order to provide
Resolver Agent with parameters for destination and address correction.
• Interface Agent is the manager of the GUI (Graphical User Interface), displaying
messages and graphic objects. Hence, it constitutes a mediator between the real world
and the agent’s world.
Informer Agent can be seen as a kind of table (a blackboard), that stores all
information received from Analyzer Agent as well the parameters provided by the
administrator via the GUI. It can be consulted at any time by Interface Agent for the
display settings (number of PCs, address ....), and by Resolver Agent for the
parameters of cross-platform migration and remote IP reconfiguration. It also
provides drawing data to Interface Agent (display of graphical objects), such as the
number of machines on the domain, those who are properly configured etc...
260 S. Boucherkha and M.N. Djeghri
4 Development Environment
To test the action of our mobile agents on a communication network, we took four
computers Intel Pentium 4 M 1.73 GHz DDR2 of a 512 MB RAM with Windows XP
operating system. The four machines are mounted on an Ethernet bus centered on a
single switch.
For implementation of mobile agents we chose the platform JADE (Java Agent
Development Framework). JADE is a platform for developing multi-agent systems
fully implemented in Java language. It simplifies the implementation of multi-agent
systems by providing a full set of services that comply with the FIPA
specifications (Foundation for Intelligent Physical Agents) and a set of graphical
tools that supports debugging and deployment [5]. The configuration can be changed
at run-time by moving agents from one machine to another one, as and when required.
This allows agents located on different servers to communicate. The FIPA standard
defines the content of messages exchanged between agents as strings or sequences of
bits. The Java language has thus imposed itself for achieving our software. The
object-oriented programming tools it includes, in particular the mechanisms of
inheritance and data encapsulation, will facilitate the development of individual
agents' behavior.
At each start of the JADE platform three main modules are immediately available:
• DF "Directory facilitator", which saves the agents descriptions and the services
they offer. It represents therefore a directory service for the other agents;
• ACC "Agent Communication Channel ": Provides the path for basic interactions
between agents within and outside the platform;
• AMS "Agent Management System: It controls the access and the use of the Agents
Communication Channel, maintaining a list of all agents residing on the platform;
The JADE platform provides a set of behaviors and sub-behaviors ready to use in the
form of classes that it can execute in a predefined scheme. All predefined classes
inherit from the abstract class Behavior. The identity of an agent is contained in an
agent identifier (AID), and his name is constructed by concatenating the name of the
SMART-IP: A Multi-Agent System for Network Analysis and IP Addressing Resolution 261
platform to a pseudo defined by the user. The agents’ addresses are inherited by the
platform, and each address corresponds to an end point where FIPA-compliant
messages can be sent and received.
The proposed system is implemented through four major classes, each representing
an agent of the system, knowing that the GUI is itself an agent, called RMA (Remote
Monitoring Agent).
Analyzer Agent class and Resolver Agent class are inherited from the Agent class
of JADE defined in the package jade.Core.Agent. The code of this agent consists of a
single class, which contains all the attributes and methods (behavior) needed to
instantiate it.
Informer Agent is a class inherited from the Agent class of JADE defined in the
package jade.Core.Agent. It contains matrices where it saves the received parameters.
JADE also provides a service called AMS (agent mobility service) that implements
mobility offering agents the ability to move between platforms. In our case this will
ensure the migration of a mobile agent from the server platform to another platform of
the target machine. The RMA allows the lifecycle control of the platform and all the
262 S. Boucherkha and M.N. Djeghri
agents that compose it. We propose the use of two JADE platforms and a mobile
agent called "Hello Agent" whose goal is to migrate to the target machine and display
the simple message ''Hello'' (Fig. 3).
The agent’s movement between the two platforms is ensured by the method
"doMove()" via the agents transport mechanism of IPMS, after the serialization of the
agent into a .jar file. JADE also provides two complementary methods:
• beforeMove (): called to the source location before the agent displacement;
• afterMove (): called to the destination as soon as the agent is arrived.
To ensure the platform-to-platform mobility, we use the cross-platform mobility
service IPMS, a feature not available with conventional JADE, nor integrated into the
AMS. The idea is to use the displacement of agents on other platforms within FIPA
ACL messages. These messages are exchanged between the AMS agents of source
and target platforms following the rules imposed by FIPA Interaction protocols.
To create Hello Agent we first create an agent with a unique identifier, assign it a
particular behavior then proceeds to its migration for displaying "Hello" on a target
machine. It means that our agent should have the method afterMove () implemented
in its behavior, and must be registered with the AMS.
To rebuild the jar file, the AMS must decompress it. The service can then be
constructed using the tool provided inside the package folder where the build.xml is
located. The file is then compiled and the method afterMove () is executed.
Resolver Agent performs its task and reports the result. If the user has choose the
automatic resolution, Analyzer Agent, after completing its analysis, initializes
Resolver Agent which migrates towards the target and reconfigures the addressing
(Fig. 4, right).
Following this, Analyzer Agent will attempt to contact Resolver Agent on the other
platform through an ACL message based on HTTP-MPT protocol. In case where
Resolver Agent succeeds his mission, he orders him to destroy itself.
6 Conclusion
In this paper, we showed that it is possible to consider network management and
resolution of addressing problems through a multi-agent system.
The proposed system enables an intelligent and autonomous IP addressing
correction which is ensured by the intervention of logical agents, greatly reducing the
human efforts and response times.
The prototype of the proposed MAS was developed and tested by numerous
simulations. Four PCs connected via a 10 Mb/s TCP/IP Ethernet network have been
used to simulate a 4-nodes bus centered on a single switch. The system responded to
all testing scenarios.
The use of JADE as a development platform facilitated the implementation of the
agents. In addition to its rich library, it provides very effective control.
Future work concerns more simulation regarding time and resources requirements
of the system’s operation, as well as about the system’s stability.
References
1. Comer, D.: TCP/IP- Architecture, protocols & applications, 5th edn. Pearson Education
Editions, London (2009)
2. Nordman, M., Lehtonen, M.: An agent concept for managing electrical distribution
networks. IEEE Trans. Power Delivery 20(2), 696–703 (2005)
SMART-IP: A Multi-Agent System for Network Analysis and IP Addressing Resolution 265
3. Choudhury, R., Krishna, P., Bandyopadhyay, S.: MARP: A Multi-Agent Routing Protocol
for Mobile Wireless Ad Hoc Networks. Springer Journal of Autonomous Agents and
Multi-Agent Systems 8(1), 47–68 (2004)
4. Subramanian, M., Gonsalves, T.A., Rani, N.U.: Network Management: Principles and
Practice. Pearson Education, India (2010)
5. JADE Platform: Java Agent Development Framework (2000),
http://jade.tilab.com/
6. Bellifemine, F.L., Caire, G., Greenwood, D.: Developing Multi-Agent Systems with
JADE. Wiley, Chichester (2007)
7. Griffin, D., Pavlou, G., Georgatsos, P.: Providing Customisable Network Management
Services Through Mobile Agents. In: Delgado, J., Mullery, A., Start, K. (eds.) IS&N 2000.
LNCS, vol. 1774. Springer, Heidelberg (2000)
8. Charpentier, M., Padiou, G., Quéinnec, P.: Cooperative mobile agents to gather global
information. In: 4th IEEE Int’l Symposium on Network Computing and Applications,
pp. 271–274 (2005)
9. Bouzeraa, F.: Agents Mobiles et Systèmes Distribués. Rapport interne, UFR Informatique,
UCB Lyon 1, Villeurbanne – France (2009)
10. Nagata, T., Sasaki, H.: A multi-agent approach to power system restoration. IEEE Trans.
Power Systems 17(2), 457–462 (2002)
11. Wright, T.: Naming Services in Multi-Agent Systems: A Design for Agent-based White
Pages. In: Proceedings of the Third International Joint Conference on Autonomous Agents
and Multi-agent Systems, New York, vol. 3, pp. 1478–1479 (2004)
Adaptive QoS Resource Management by Using
Hierarchical Distributed Classification for Future
Generation Networks
Simon Fong
Abstract. With the arrivals of 3G/4G mobile networks, a diverse and new range
of applications will proliferate, including video-on-demand, mobile-commerce
and ubiquitous computing. It is expected a sizable proportion of these traffics
move along the networks. Resources in the networks will have to be divided
between voice support and data support. For the data support, multiple classes
of services from the new mobile applications that have different requirements
have to be monitored and managed efficiently. Traditionally Quality-of-Service
(QoS) resource management was done by manual estimation of resources to be
allocated in traffic profiles in GSM/GPRS environment. The resource
allocations parameters are adjusted only after some period of time. In this
paper, we propose a QoS resource allocation model that dynamically monitors
every aspect of the network environment according to a hierarchy of QoS
requirements. The model can derive knowledge of the network operation, and
may even pinpoint the cause, should any anomaly occurs or malfunctions in the
network. This is enabled by a hierarchy of classifiers or decision-trees, built
stream-mining technology. The knowledge from the classifiers is inferred by
using reasoning-of-evidence theory, and it is used for subsequent resource
allocation. By this way, the resources in the network will be more dynamically
and accurately adjusted, and responsive to the fluctuating traffic demands.
1 Introduction
In the advent of 3G deployments and convergence of 4G mobile and wireless
networks, a new breed of mobile applications emerged and their popularity increased
at exponential rate. By the time of September 2010, Apple’s App Store has reached
260,000 apps for iPhone (source: kenyarmosh.com). This diversity of mobile
applications demands on underlying resources from the networks. The demands shift
dramatically both in amount, and in distributed manner in spatial-temporal contexts.
Such demands are often tied with the term Quality-of-service (QoS) which is a
generic term referring to a range of parameters and mechanisms targeted at
A. Özcan, J. Zizka, and D. Nagamalai (Eds.): WiMo/CoNeCo 2011, CCIS 162, pp. 266–278, 2011.
© Springer-Verlag Berlin Heidelberg 2011
Adaptive QoS Resource Management by Using Hierarchical Distributed Classification 267
however largely as references for implementers who want to design a QoS manager
over the network operations as well as the applications running on top.
In this paper, we propose a dynamic QoS management model that adapts to the
current situations of the network. The model is based on real-time parameters
currently being reflected from the network, which is an advantage over the other
models. The parameters are measured and collected from a net of sensors distributed
in various parts of the whole communication infrastructure. As a result negotiation of
QoS between layers can be more precise. We know also precisely which components
and where the network in the context of QoS structure deviate from the normal,
should anything was perceived inadequate in the top level applications.
Our model is composed of a hierarchy of classifiers, namely cascading classifiers,
for governing the QoS parameters in the entire communication network architecture.
The classifiers are constructed pertaining to each layer of the QoS communication
architecture. The most bottom layer of the classifiers intake the most specific
technical parameters in the lowest layer of the network. The individual classifiers
from all layers form a global classifier that can be viewed as a flat classifier. However
hierarchical classifiers have the advantages that different parts of the classifiers can be
operated independently, covering almost all the measurable metrics of the
communication network and services. In situations where a high level QoS
negotiation takes place that requires a set of underlying components to agree on the
service requirements the individual classifiers would serve as performance indicator
for decision supports.
The paper is organized in this way: The overall hierarchical QoS model is shown in
Section 2, depicting which network communication parameters would be grouped
together. Section 3 discusses about a framework for hierarchical classifiers as a
general model upon which actual network communication QoS can be mapped. Some
evaluation experiments were done under this the framework and the results are
presented in Section 4. A conclusion is drawn at the final section.
In our previous design, RRMPS was mainly responsible for taking care of the
resources in the context of the networking infrastructure. It helps answering questions
in the decision of system implementation, such as: How many channels or how much
resources are available for each site/system by the governance of RRMPS.
We expand this model further by incorporating the concept of hierarchy and a wide
coverage of performance parameters, for a complete QoS model (which is not only
centered at traffic channel or resource allocation). Conceptually the QoS model can be
viewed in three layers of performance indicators which are closely inter-related with
each other. For instance, the performance of a mobile commerce application is largely
supported and hence affected by the performance of the related m-commerce servers
as well as the network on which it operates.
As shown in Figure 1, three groups of QoS parameters namely, QoSAL, QoSSL, and
QoSNIL are conceptually defined; each group of QoS concerns about the performance
metrics pertaining to the layer of functions. The boundary of the QoS groups are
drawn over the respective hardware and parts of network design (including the
RRMPS and mobile-payment server [9]) for illustrative purpose in Figure 2. QoSNIL
concerns the operations of the network as a whole infrastructure. QoSSL are measures
mainly based on the corresponding computer servers that includes both the hardware,
software, the operating systems and running processes) for supporting the user-level
applications whose QoS are defined in QoSAL.
With this layered hierarchy in place, the measurements of the corresponding
functions as QoS metrics can be grouped and shown in Figure 3. The list in Figure 3
by no means is thoroughly complete as it serves as a demonstrative guide rather than a
full reference, on how a hierarchical QoS model would look like.
3 Cascading Classifiers
For practical realization of the hierarchical QoS model which has the QoS metrics
divided in multiple layers, a variant of data mining technique called Cascading
Classifiers are needed. A classifier basically is a decision support mechanism that
classifies a set of testing data into one of the predefined classes. The predefined
classes are some nominal levels of quality that take values, e.g. Acceptable or
Unacceptable; Excellent, Average or Poor in terms of service performance.
Depending on the core classification algorithm to be chosen for implementing the
classifier (whether it is a decision-tree or neural network, e.g.), the output could be
either be in discrete nominal classes or a numeric continuous number. In essence, the
classifiers are first trained with historical data, and the trained model could be
Adaptive QoS Resource Management by Using Hierarchical Distributed Classification 271
subsequently updated, such that it remembers certain rules and tendency for making a
future prediction when new testing data are submitted upon. So when the classifiers
have been trained and readily put into operation in QoS monitoring, the classifiers
will be able to answer in real-time on whether a request from an upper level could be
fulfilled and will meet the service requirements, given the current conditions of the
network and servers.
Fundamentally, with all the performance metrics and the respective measurements
available, a global classifier can be easily built, which is similar to constructing a
single classifier in a flat hierarchy. By doing so, however, a single answer would be
outputted by the global classifier with the inputs of the all the measurements entered.
The single answer would be the prediction value of the net and final QoS, usually at
the most top level. This violates the concept of the hierarchical QoS model which was
defined in Section 2. It is desirable to know, instead of a singular final output, the
QoS measures and estimated results in each layer, and in each part of the hierarchical
network. Therefore, distributed QoS negotiation and management would be possible
in different places, and that could possibly be automated by using Agents technology.
Consequently this hierarchical QoS design and the cascading classifiers would enable
the blue-prints of the distributed QoS management by Agents and Middleware as
published in [10, 11, 12].
As shown in Figure 4, the shaded boxes represent the leaves of a decision tree
classifier that is a measured value to be inputted to the classifier. In our case, the
leaves are the individual measurement from the network, servers and applications.
The leaves are the nodes at the bottom level in a decision tree. In the flat hierarchy,
each of these leaves is used as inputs to the classifier. However, for hierarchical
classifier there are some intermediate nodes in white color as shown in Figure 4.
Some inductive reasoning technique is required to derive the values as prediction
output for these nodes given their immediate subordinate nodes and/or leaves.
4 Experiment
In order to overcome this technical challenge, techniques of abstraction and
aggregation in decision trees, as describe in [13] are used. A set of hierarchical
classifier sample data downloaded from UCL repository that is popular among
researchers for evaluating machine learning algorithms, is used in our experiment. We
constructed a small representative of hierarchical decision tree which is not meant to
be exhaustive but it elegantly embraces a hierarchy of certain depth with three typical
Adaptive QoS Resource Management by Using Hierarchical Distributed Classification 273
types of intermediate nodes (IN): IN nearest to the root and with direct leaves, IN
below another IN and with direct leaves, and IN between root and another IN. The
IN’s are labeled at N1, N2 and N3 as shown in Figure 5. Figure 5 shows an example
of a hierarchical classifier that has a typical layered structure, and the nodes of the
decision tree are taken from the QoS list for mobile network. This hierarchical
classifier though simple, can be heuristically constructed up into a large spanning
cascaded hierarchical classifier. In a cascaded hierarchical classifier, any hierarchical
classifier can consist of smaller hierarchical classifiers, and it can also be a part of a
larger classifier. In other words, it is scalable and it can potentially grow to infinite
number of layers should the requirements of QoS evolve when future applications and
technologies develop and become an integral part of the whole network. Readers who
are interested in the theoretical formulation and algorithms of building cascading
decision trees are referred to [14] for more details.
ultimately biased towards one of the predicted classes for the root should be the same
for the IN’s. Based on this assumption, we calculate the relative weights for the
factors for the whole decision tree as well as for the IN’s by applying popular feature
selection techniques such as Chi-squared, Information Gain, Gain Ratio feature,
ReliefF Ranking and Symmetrical Uncertainty Ranking. In general all these
techniques are for calculating the correlations between the attributes (the factors) and
the predicted class (the roots). The relative importances in terms of weights are
computed by the Dempster-Shafer theory for the IN’s along the direction of
abstraction in the spanning tree. The results are shown in the following Table.
The results from Table 1 show that Call setup time/delay in general carries the
heaviest weight, followed by call blocking rate, call clarity and call interference. The
results are quite consistent across various correlation computation methods, with
deviation less than 15% in all cases. Chi-square technique is chosen for the
subsequent calculation for the belief that Chi-square is based on Pearson correlation
and is deemed suitable for handling nominal data which is the case in this experiment.
A recent research work [16] has successfully used Dempster-Shafer theory in a
cascading hierarchical classifier that was constructed by a spanning tree of neural
network. In our experiment, we geared towards a flexible QoS model hence several
classical machine learning algorithms for building the classifiers was attempted. The
algorithms are: RepTree, M5P, Multilayer Perception and Linear Regression. These
algorithms can be found from an open-source data mining package called Weka.
RepTree is a quick decision tree learner. It builds a decision tree using information
gain and prunes the resultant tree using back-fitting. In our experiment, RepTree
achieved the lowest prediction accuracy (hence the best accuracy performance)
Adaptive QoS Resource Management by Using Hierarchical Distributed Classification 275
among all. M5P, on the other hand, adds linear regression functions to a conventional
decision tree at the nodes. Our experiment results show that M5P can achieve a more
compact decision tree compared to RepTree.
Multilayer Perception is essentially a neural network algorithm with multiple
layers of neurons for learning non-linear data patterns. In our experiment setting, all
nodes including the root possess of linear class range (from very acceptable to
unacceptable), plus the data distribution might also be linear. It suffered a high
prediction error rate. Inclusion of Multilayer Perception is for the reason that to
demonstrate it is possible to replicate the model by [16] for mobile network QoS. A
lot of efforts however would be expected in fine-tuning the neural network settings
for better accuracy. Linear Regression is the worst performer in the comparison
because of the potentially high data dimensionality in the QoS framework, i.e., many
attributes might be used collectively to predict a higher QoS result.
Of all the algorithms, except Linear Regression, we can observe that generally a
high degree of correlation between the attributes and the prediction target was yielded
(ranging from 0.8969 to 0.9763). That means the distribution of the relative
importance among the attributes or factors is quite well. As the results shown in Table
2, we repeated the same prediction performance evaluation experiment for abstract
layers, n-1 and n-2. At level n which is the bottom level, all the leaves were used as
attributes in the classifier and the classifier would perform as if it was a global
classifier with a flat hierarchy. In level n-1, the attribute Call setup time, plus IN#1
Service Integrity and IN#2 Network accessibility, are used in the classification test. In
level n-2, the most abstract level in this case, IN#1 and IN#3 Service accessibility are
used in the classification test. All tests are pivoted at predicting the target class at the
root which is the overall QoS of the network layer. RepTree outperformed the others
for the classification tests at the abstract levels. Again, RepTree showed that the
correlation net values at the abstract level are 0.997 and 0.993 respectively. That
means the statistical relations between the attributes to the root target class are very
stable even in the case of using cascading classifiers.
Lastly we want to test the performance of the individual classifiers in the QoS
hierarchy. Specifically, the individual classifiers are taken independently with the
IN#1, IN#2 and IN#3 as the root of the respective classifiers. For instance, we have a
separate classifier with the Service integrity as the target class with only the two
276 S. Fong
attributes Call clarity and Call interference. Likewise is for IN#2 and IN#3 where
only the intermediate sub-ordinate attributes or nodes are used as inputs. The purpose
of testing classifiers individually is to verify the hypothesis that the embedding
classifier within a hierarchical classifier still works well and can achieve high
classification accuracy.
For this round, the classification tests are repeated for individual decision trees
headed by IN#1, IN#2, and IN#3. The results are shown in Table 3. The accuracies
are relatively very high for the individual classifiers. In particular, Linear Regression
succeeded with error-free because the individual classifiers are small and have no
intermediate step. This set of tests shows embedding classifiers can possibly function
independently and individually. At the same time, it is possible too to apply them
operate collectively as building blocks for a larger hierarchical classifier. This is
important because in distributed QoS management environment, it may be desirable
to deploy local monitors at dispersed locations or spots of the network. Local QoS
monitors can function independently for checking their specific aspects of the QoS, at
the same time they can be jointly work together as a hierarchical classifier.
5 Conclusion
For the future generation of network applications, resource management becomes
more complex. The recent QoS specification by ANWIRE that maps a variety of
users requirement to technical operational parameters naturally possess a hierarchy of
functions. Hence a new breed of QoS monitoring and management framework would
preferably take the shape of hierarchy like a spanning tree that covers all the functions
in conceptual layers, from applications to underlying network communication. Such
that available resources and the conditions of the network would be known in real-
time, and QoS decisions could be made adaptively to the fluctuating demands of the
users. In this paper, a novel QoS model was proposed that was built on cascading
classifiers in a hierarchical tree. An example of QoS mapping was given as a
reference guide, also the performance of the classifiers both global and local
individuals were tested. The results show that it is computationally feasible to use this
hierarchical QoS classification model. To summarize, this paper has two main
Adaptive QoS Resource Management by Using Hierarchical Distributed Classification 277
References
1. Levine, D.A., Akyildiz, I.F., Naghshineh, M.: A Resource Estimation and Call Admission
Algorithm for Wireless Multimedia Networks Using the Shadow Cluster Concept.
IEEE/ACM Transactions on Networking (5) (1997)
2. El-Kadi, M., Olariu, S., Abdel-Wahab, H.: A Rate-based Borrowing Scheme for QoS
Provisioning in Multimedia Wireless Networks. IEEE Transactions of Parallel and
Distributed Systems (13) (2002)
3. Ye, J., Hou, J., Papavassiliou, S.: Comprehensive Resource Management Framework for
Next Generation Wireless Networks. IEEE Transactions on Mobile Computing 4(1),
249–264 (2002)
4. Maniatis, S., Nikolouzou, E., Venieris, I.: QoS Issues in the Converged 3G Wireless and
Wired Networks. IEEE Communications Magazine 8(40), 44–53 (2002)
5. Chen, H., Zeng, Q.-A., Agrawal, D.P.: A Novel Analytical Model for Optimal Channel
Partitioning in the Next Generation integrated Wireless and Mobile Networks. In:
Proceedings of the 5th ACM International Workshop on Modeling Analysis and
Simulation of Wireless and Mobile Systems, pp. 120–127 (2002)
6. Ahluwalia, P., Varshney, U.: A Link and Network Layer Approach To Support Mobile
Commerce Transactions. In: IEEE 58th Vehicular Technology Conference, vol. (5),
pp. 3410–3414 (2003)
7. Lai, E., Fong, S., Hang, Y.: Supporting Mobile Payment QOS by Data Mining GSM
Network Traffic. In: The 10th International Conference on Information Integration and
Web-based Applications & Services (iiWAS 2008), Linz, Austria, November 24-26,
pp. 279–285. ACM, New York (2008) ISBN:978-1-60558-349-5
8. User requirements for next generation networks, D1.1.1, IST-2001-38835 ANWIRE
(November 2002)
9. Fong, S., Lai, E.: Mobile mini-payment scheme using SMS-credit. In: Gervasi, O.,
Gavrilova, M.L., Kumar, V., Laganá, A., Lee, H.P., Mun, Y., Taniar, D., Tan, C.J.K. (eds.)
ICCSA 2005. LNCS, vol. 3481, pp. 1106–1116. Springer, Heidelberg (2005)
10. Kosuga, M., Yamazaki, T., Ogino, N., Matsuda, J.: Adaptive QoS management using
layered multi-agent system for distributed multimedia applications. In: International
Conference on Parallel Processing, Japan, pp. 388–394 (1999)
11. Ecklund, D.J., Goebel, V., Plagemann, T., Ecklund Jr., E.F.: Dynamic end-to-end QoS
management middleware for distributed multimedia systems. Special Issue on Multimedia
Middleware, Multimedia Systems 8(5), 431–442
12. Nguyen, X.T.: Agent-Based QoS Management for Web Service Compositions, PhD
Thesis, Swinburne University of Technology, Australia (June 2008)
13. Fong, S., Tang, A.: A Taxonomy-based Classification Model by Using Abtraction and
Aggregation. In: The 2nd International Conference on Data Mining and Intelligent
Information Technology Applications (ICMIA 2010), Seoul, Korea, November 30-
December 2, pp. 448–454 (2010)
278 S. Fong
1 Introduction
The National Institute of Standards and Technology (NIST) is a measurement
standars laboratory of U.S federal agency. In order to establish Information Security,
NIST sets the encryption standards under Federal Information Processing Standards
(FIPS). On 26th November, 2001 NIST announced the Advanced Encryption Standard
(AES) in FIPS 197 [1]. AES adopted the Rijndael Cipher, which was proposed by
Joan Daemen and Vincent Rijmen as the algorithm for AES. Even till date AES is
one of the most popular algorithms used in symmetric key cryptography.
The Advanced Encryption Standard algorithm uses the Rijndael encryption
algorithm, but it uses the keys of varying length like 128, 192, 256 bits. AES
algorithm is a symmetrical encryption algorithm, which has the same encryption and
decryption key. The plain text input is 128 bits, and is processed in a 4 by 4 bytes
matrix, with few substitution, permutation and arithmetic operations in finite fields,
like, addition and multiplications in the Galois Field 28 (GF (28)). These sets of
operations in a particular format are named as a round. The number of rounds for
computation is based on the key size. It is 10, 12 or 14 times depending on, whether
the size of the key is 128, 192 or 256 bits. The coding process includes the
manipulation of a 128-bit data block through a series of logical and arithmetic
operations.
A. Özcan, J. Zizka, and D. Nagamalai (Eds.): WiMo/CoNeCo 2011, CCIS 162, pp. 279–287, 2011.
© Springer-Verlag Berlin Heidelberg 2011
280 K. Rahimunnisa, K. Rajeshkumar, and D.S. Sureshkumar
3 Methodology
For the AES algorithm, the number of bits to be processed at input, and the number of
bits at output and the intermediate states is 128 bits. This is represented as 4*32 bit
words. Here Nb = 4, where Nb is the number of 32-bit words in the State. The length of
the input Key, K is 128, 192, or 256 bits [5]. The key length is represented by Nk can
be either 4 or 6 or 8 based on the number of 32-bit words in the Cipher Key. As
mentioned earlier, the number of rounds to be performed during the execution of the
algorithm is dependent on the key size. The number of rounds is represented by Nr,
where Nr = 10 when Nk = 4, Nr = 12 when Nk = 6, and Nr = 14 when Nk = 8.
The following describes in detail the operation performed by the AES-128
encryption in each round. The input plain text contains the 128-bit data block to be
encrypted. Here the first the data block to be encrypted is split into an array of bytes.
This algorithm is based on round function, and for various bit lengths the number of
times the round function repeats is different. Each round function contains four steps:
SubBytes, ShiftRows, MixColumn and AddRoundKey transformation and each step
has its own particular functionality [10]. The precomputation which is before the first
0.18um CMOS Technology in Implementation of S Box and a Modified S Box 281
Key Number of
AES Block Size
Length Rounds
Version (Nb words)
(Nk words) (Nr)
AES-128 4 4 10
AES-192 6 4 12
AES-256 8 4 14
round has one addround key. Similarly the Nr th round does not have the mix column
operation. All the other rounds of operation has the same steps. This is applicable for
all the versions of AES algorithm.
3.1 Cipher
During the beginning of encryption, the input is copied to the State array. After an
initial Round Key addition, the State array is transformed by implementing a round
function,which consists of SubBytes, ShiftRows, MixColumn and AddRoundKey
transformation, 10, 12, or 14 times (depending on the key length). The final round is
differing slightly from the first Nr -1 rounds. The output of this state is the Cipher
text. The round function uses the key schedule that consists of a one-dimensional
array of four-byte words derived using the Key Expansion routine which is explained
later.
{03}x3+{01}x2+{01}x+{02}
Here the addition operation is the XOR function and the multiplication operation is
Galois multiplication.
1. Initialize the S – box with the integer values in ascending sequence row by
row. The first row contains {00}, {01}, {02}, …,{0F}; the second row
contains {10}, {11}, etc.; and so on. Thus the value of the byte at row x and
column y is {xy}.
2. Map each byte {xy} in the S – box to an element 3{xy} mod 257, an element
in F*257. For example, if {xy} = {32} then according to this map {32} gets
mapped to 3{32} mod 257 = 350 mod 257 = 18 (decimal) = {12}. But 3{80}
mod 257 = 3128 mod 257 = 256 (decimal) is treated as {00}[15].
3. Map each resulting byte in the S – box to its multiplicative inverse in the
finite field GF(28). {00} gets mapped to itself.
Steps 1 and 3 may be easily identified with the steps 1 and 2 of S – box
construction in [1]. These steps lead to the construction of a new S Box which
is different from the standard S Box.
5 Implementation of S-Box
A standard SBox and Modified S box are implemented in mentor graphics tool with
180 nm technology. The Sbox has the basic component as Multiplexer which is
constructed using CMOS pass transistor logic for its various advantages like low
power and low delay constraints. The implementation of standard S Box , using Pass
transistor logic is shown in Fig 2 and that of modified S Box is shown in Fig 3. It has
been found that the power consumption of these are comparatively lower than the
digital implementation.
or
n-1
1,2,…n = 2 i (3)
6 Conclusions
In this paper a comparison has been carried out between standard S Box and the
modified S Box in terms of area and power .The implementations are carried out in
the FPGA platform using the Verilog® Hardware Description Language (HDL) and
the Spartan 2E. The synthesis is done using HDL Designer (Mentor Graphics). The
simulation shows that this design can run at 1.2GHz which is sufficient for online data
encryption. However, it has been seen that both the probability bias are same.
Therefore with same security complexity the area and power are improved
marginally. Analysis of area and power was calculated through Design Vision
0.18um CMOS Technology in Implementation of S Box and a Modified S Box 287
(Synopsys). In future Total AES should be implemented in transistor and layout level
to get out more accurate results.
References
[1] AES page, http://www.nist.gov/CryptoToolkit.4
[2] Lee, A.: NIST Special Publication 800-21, Guideline for Implementing Cryptographyin
the Federal Government, National Institute of Standards and Technology (November
1999)
[3] Gladman’s, B.: AES related home page,
http://fp.gladman.plus.com/cryptography_technology/
[4] Daemen, J., Rijmen, V.: AES Proposal: Rijndael. AES Algorithm Submission, September
3 (1999)
[5] Kudou, H., Nakayama, S.-I., Watanabe, A., Nagase, T., Yoshioka, Y.: A Reconfigurable-
Permutation Algorithm For M_S-Box. IEEE Computer Society, Los Alamitos (2009)
[6] Wang, M.-Y., Su, C.-P., Horng, C.-L., Wu, C.-W., Huang, C.-T.: Single- and Multi-core
Configurable AES Architectures for Flexible Security. IEEE Transactions On Very Large
Scale Integration (VLSI) Systems 18(4) (April 2010)
[7] Mozaffari-Kerman, M., Reyhani-Masoleh, A.: A Lightweight High-Performance Fault
Detection Scheme for the Advanced Encryption Standard Using Composite Fields. IEEE
Transactions On Very Large Scale Integration (VLSI) Systems 19(1) (January 2011)
[8] Mathew, J., Rahaman, H., Jabir, A.M., Mohanty, S.P., Pradhan, D.K.: On the Design of
Different Concurrent EDC Schemes for S-Box and GF(p). In: 11th Int’l Symposium on
Quality Electronic Design (2010)
[9] Stallings, W.: Cryptography and Network Security. Pearson Education, London (2004)
[10] Ismaili, Z.E.A.A., Moussa, A.: Self-Partial and Dynamic Reconfiguration Implementation
for AES using FPGA. IJCSI International Journal of Computer Science Issues 2, 33–40
(2009)
[11] Venkaiah, V.C., Kannan, S.: IIIT Hyderabad Publications (2006)
[12] Heys, H.M.: A Tutorial on Linear and Differential Cryptanalysis
[13] Wong, M.M., Wong, M.L.D.: A High Throughput Low Power Compact AES S-box
Implementation using Composite Field Arithmetic and Algebraic Normal Form
Representation. In: 2nd Asia Symposium on Quality Electronic Design (2010)
[14] Wong, M.M., Wong, M.L.D.: A New Common Subexpression Elimination Algorithm
with Application in Composite Field AES S-BOX. In: 10th International Conference on
Information Science, Signal Processing and their Applications, ISSPA 2010 (2010)
[15] Ahmad, N., Hasan, R., Jubadi, W.M.: Design of AES S-Box using Combinational logic
optimization. In: IEEE Symposium on Industrial Electronics and Applications (ISIEA
2010), Penang, Malaysia, October 3-5 (2010), Appendix: Springer-Author Discount
A Survey of Middleware for Internet of Things
Innovation Lab
TATA Consultancy Services Ltd.
Kolkata, India
{soma.bandyopadhyay,munmun.sengupta,s.maiti,
subhajit.dutta}@tcs.com
1 Introduction
Internet of Things (IoT) is a combined part of future Internet and ubiquitous
computing. It comprises two definite components Internet and things. Internet is a
global network infrastructure with self configuring, scalable, dynamic expansion
capabilities based on standard and interoperable communication protocols whereas
“things” are physical objects/devices or virtual-objects/devices/information having
identities, physical attributes, and virtual personalities and use intelligent interfaces.
“Things” are heterogeneous in nature and seamlessly integrated into the information
network.
Developing middleware solutions in the domain of IoT is an active area of
research. There have been a lot of researches towards building up this middleware
addressing interoperability across heterogeneous devices serving diverse domains of
applications, adaptation, context awareness, device discovery and management,
scalability, managing a large data volumes and, privacy, security aspects of the said
IoT environment. Therefore there is a strong need to understand how the existing IoT-
middleware systems work and address the different requirements of ubiquity as well
as IoT [14] and [15], and most importantly the existing issues and gaps.
A. Özcan, J. Zizka, and D. Nagamalai (Eds.): WiMo/CoNeCo 2011, CCIS 162, pp. 288–296, 2011.
© Springer-Verlag Berlin Heidelberg 2011
A Survey of Middleware for Internet of Things 289
In this article focus has been given to study the existing IoT-middlewares. They are
categorized and compared as per the various features. The basic building blocks of
IoT-middleware are proposed and discussed. Based on this review existing issues and
gaps, and future research scope are analyzed and discussed.
The remainder of this article is organized as follows. First, the related work in IoT-
middleware is presented, followed by descriptions of the essential functional blocks
of the IoT-middleware system. The feature wise classification of theirs is described in
detail in the next section. The final section concludes this article with future research
scope, and analyzes the gaps of the existing IoT-middleware system.
2 Related Work
The common goal of all the middleware development initiatives is to develop a
framework which can enable an adaptation layer in a plug-n-play mode. In recent
past, there have been many reviews have been made on different middleware, and on
their basic features to support the important needs of the respective domains.
Various kinds of middlewares based on their supported functionalities like
adaptability, context-awareness and application domains like Wireless Sensor
Network (WSN), Radio Frequency Identification (RFID) are surveyed. The surveys
performed in [4] and [5] have studied the middleware based on context-awareness
feature. The survey in [4] is based on the architectural aspects and provides taxonomy
of the features of a generic context-aware middleware. Survey reported in [5]
evaluates several context-aware architectures based on some relevant criteria from
ubiquitous or pervasive computing perspective. In [6] middleware for WSN has been
reviewed and a detailed analysis of the approaches and techniques offered by the
middleware to meet the requirements of the WSN has been presented. It also
discusses generic components of the middleware and reference model of WSN based
middleware. In [7], middleware for WSN has been classified depending on their
approaches, which can be database oriented, tuple space approaches, event based and
service discovery based approaches [13]. It also narrates the challenges of WSN
middleware and provides some suggestions for solving them. In [8] middleware has
been surveyed from adaptability perspective. This review also presents taxonomy for
adaptive middlewares, their application domains and provides details for one of each
middleware categories.
The survey presented here lists the overall features supported by the existing
middleware in the IoT domain, with the proposal of the functional components IoT-
middleware supposed to have, whereas the rest of the surveys depict how efficiently a
particular feature is implemented in the middleware other than IoT domain. This is
the basic difference between the present and the rest of the works. The present survey
also analyses the issues and gaps on the existing middleware of IoT and explores the
way forward on research scope.
3 Functional Blocks
Middleware for IoT is required for various reasons. The summary of reasons is as
follows:
290 S. Bandyopadhyay et al.
• Difficult to define and enforce a common standard among all the diverse
devices belonging to diverse domain in IoT.
• Middleware acts as a bond joining the heterogeneous components together.
• Applications of diverse domains demand abstraction /adaptation layer.
• Middleware provides API (application programming interfacing) for
physical layer communications, and required services to the applications,
hiding all the details of diversity.
The above stated reasons generate the need for various functional components the
IoT-middleware must support. The functional components of the middleware as
proposed here are portrayed in the current section. The functional component of an
IoT-middleware is depicted in Fig. 1. The inner most circle shows the required
functional blocks. The second circle encompasses the further division of the
functional blocks, and the outermost circle shows the important modules interacting
with the various functional components, but not part of the middleware – example
context processing, data storage and knowledge database. The functional components
are as follows:
• Interoperation
• Context detection
• Device discovery and management
• Security and privacy
• Managing data volume
3.1 Interoperation
Interoperation shares information and uses the same across diverse domains of
applications using diverse communication interfaces. It can be further classified under
three different categories like network, syntactic and semantics [11]. Network
interoperation defines protocols for exchanging information among the various things
across different communication networks, without considering the content of
information. It covers the basic connectivity issues in physical and data-link to
network, transport, session and sometimes application layer of TCP/IP stack.
Syntactic interoperation deals with the format and structure of the encoding of the
information exchanged among things. It includes the presentation and application of
TCP/IP stack. Semantic interoperation defines the rules for understanding the
meaning of the content of information, and creates a domain specific information
model, known as semantic model.
IoT-middleware exposes multiple APIs to perform these interoperation
functionalities. SOA-based architecture [9], [18] and Ubiquitous Service-Discovery
Service (ubiSD-S) [22] are some of the common approaches adapted by the available
IoT-middlewares for semantic interoperation whereas Home Audio/Video
Interoperability (HAVi) [3] addresses network interoperation.
Context is responsible for characterizing the situation of an entity where an entity can
be person, place, or object relevant to the interaction between a user and an
application, including the user and applications themselves. IoT-middleware must be
context aware for working into smart environments. Context awareness can be
achieved by context detection and context processing. Context detection collects data
and identifies the factors that have significant impacts on the response. Context
processing extracts the context data, processes it and performs or takes decision based
on that. Both these functional modules are depicted in Fig. 1. A knowledge database
is required for setting up a closed feedback path between these blocks to evaluate the
effectiveness of context-aware systems and make some possible improvements.
Among these, context-detection is a core component of IoT-middleware. The other
two functional blocks residing outside the core components of IoT-middleware are
mostly interacting with the IoT applications. Context detection and context processing
have been implemented in different ways in existing IoT-middlewares.
Each service supported by the middleware [9] can be registered with a context-
dependent identifier. The context-dependent identifier gets changed with the change
in end-point mobility. The network manager would maintain a data-structure like
IDTable with the information of identifiers [10].
The middleware described in [11] performs context detection by collecting
information from the sensor devices and extracts required context data by utilizing
available data mining algorithms.
Another approach towards context detection is incorporating semantic context-
aware multimodal visualization approach [1]. This will enable users not only to get
just raw data, but also information relevant to a particular context and also
292 S. Bandyopadhyay et al.
Device discovery and management enables any device in the IoT network to detect all
its neighboring devices and make its presence known to each neighbor in the network.
Device ontology [26] is used for storing information about the heterogeneous devices.
From IoT perspective, these modules need to be reliable, fault-tolerant, adaptive and
optimized for resource consumption [21]. Few techniques adopted for device
discovery and management of device information are listed below:
The middleware described in [16], [8], [9], uses semantic Model Driven
Architecture (MDA) which describes device ontology (developed using Web
Ontology Language (OWL)) and its usage in design time and run time. It introduces
concept of semantic devices which are software representation of physical devices.
Mapping of physical devices to semantic devices can be one-to-one or many-to-one
depending on the application. Semantic device description includes information
regarding device capabilities, services, and device malfunction and security
properties. New devices can be included into the device ontology by adding sub-
classes depending on specialized concepts and new properties.
P2P (Point-to-Point) discovery is supported in various middleware systems.
Middlewares described in [1] and [16] adopt this technique. As described in [12],
peer-to-peer architecture is used in a system where devices support self-configurable
services and scalability from tiny embedded devices to heterogeneous P2P networked
systems.
Using device ontology, sensor nodes are abstracted as virtual sensor node in
middleware described in [2]. The virtual abstracted unit contains metadata used for
identification and discovery of sensor nodes. It also contains information regarding
the data stream, functional properties related to lifecycle management etc. Concept of
hardware abstraction layer which creates new adaptor when newer devices are added
to the network is described in [13].
Agent based architecture is used in middleware where it is assumed that agents
are associated with all devices in the network [1] and [11]. Here directory facilitator
node helps one agent to find other suitable agent/agents. Middleware in [11] includes
agents for managing the repository of roles and scenarios encoded in RDF (Resource
Description Framework)-based Semantic Agent Programming Language (S-APL)
[24]. Semantic adapter layer is a key feature of this middleware.
Service discovery based approach is used to find services available in the system
and then correspondingly binding to that target provider Middleware described in [22]
introduces a service discovery protocol called ubiquitous Service-Discovery Service
(ubiSD-S) which provides dynamic, interoperable, context-aware service discovery.
The middleware mentioned in [3] uses devices profile for Web Services (WS) which
includes WS-Addressing, WS-Discovery, WS-Metadata exchange, and WS-Eventing
for devices. The framework also includes device metadata management, and device
A Survey of Middleware for Internet of Things 293
Security and privacy are responsible for confidentiality, authenticity, and non-
repudiation. Security can be implemented in two ways – (i) secure high-level peer
communication which enables higher layer to communicate among peers in a secure
and abstract way and (ii) secure topology management which deals with the
authentication of new peers, permissions to access the network and protection of
routing information exchanged in the network.
Security has been considered in all the functional blocks of the existing IoT-
middleware, from the user level application to the various parts of the functional
blocks [12] with a view to build a trustworthy design [9] and [10]. Other approaches to
implement security and privacy in IoT-middleware are semantic ontology-based
approach to build a universal trust management system [11], device authentication
[18], integrity service and access control [2].
Features of Middleware
IoT Security
Middleware Device Platform Context
Interoperation and
Management Portability Awareness
Privacy
HYDRA
ISMB
ASPIRE
UBIWARE
UBISOAP
UBIROAD
GSN
SMEPP
SOCRADES
SIRENA
All the listed middlewares support device discovery and management. Context
aware functionality is supported by HYDRA, UBIWARE, UBIROAD and SMEPP.
On the other hand, SOCRADES, SMEPP, GSN, UBIROAD and HYDRA are some
examples of middleware implementing security and user privacy in their architecture.
Based on platform portability, HYDRA, SMEPP and ASPIRE are OSGi compliant,
UBIROAD uses JAVA and XML, UBISOAP uses J2SE and J2ME, GSN uses XML
and SQL, SIRENA and SOCRADES use DPWS while SOCRADES also uses SAP
NetWeaver [25] platform and ISMB uses any JAVA compliant platform.
5 Conclusion
This paper has presented a survey on IoT-middleware system. It has proposed the
functional blocks of IoT-middleware, and discussed feature wise classifications
among the existing IoT-middleware.
A Survey of Middleware for Internet of Things 295
References
1. Katasonov, A., Kaykova, O., Khriyenko, O., Nikitin, S., Terziyan, V.: Smart Semantic
Middleware for the Internet of Things. In: 5th Intl. Conf. Informatics in Control,
Automation and Robotics (ICINCO 2008), vol. ICSO, pp. 169–178 (2008)
2. Aberer, K., Hauswirth, M., Salehi, A.: Middleware Support for the Internet of Things. In:
5th GI/ITG KuVS Fachgespr˝ach “Drahtlose Sensornetze", pp. 15–21 (2006)
3. Bohn, H., Bobek, A., Golatowski, F.: SIRENA - Service Infrastructure for Realtime
Embedded Networked Devices: A Service Oriented Framework for Different Domains. In:
International Conference on Systems and International Conference on Mobile
Communications and Learning Technologies (ICNICONSMCL 2006), p. 43. IEEE
Computer Society, Washington, DC, USA (2006)
4. Kjær, K. E.: A Survey of Context-Aware Middleware. In: 25th conference on IASTED
International Multi-Conference: Software Engineering, pp. 148–155. ACTA Press (2007)
5. Miraoui, M., Tadj, C., Amar, C.B.: Architectural Survey of Context-Aware Systems in
Pervasive Computing Environment. Ubiquitous Computing and Communication
Journal 3(3) (2008)
6. Wang, M.M., Cao, J.N., Li, J., Das, S.K.: Middleware for Wireless Sensor Networks: A
Survey. Journal of Computer Science and Technology 23(3), 305–326 (2008)
7. Henricksen, K., Robinson, R.: A Survey of Middleware for Sensor Networks: State-of-the-
Art and Future Directions. In: International Workshop on Middleware for Sensor
Networks, Melbourne, Australia, November 2006, pp. 60–65 (2006)
8. Sadjadi, S.M., McKinley, P.: A Survey of Adaptive Middleware. Technical Report MSU-
CSE-03-35, Computer Science and Engineering, Michigan State University, East Lansing,
Michigan (2003)
296 S. Bandyopadhyay et al.
9. Eisenhauer, M., Rosengren, P., Antolin, P.: A Development Platform for Integrating
Wireless Devices and Sensors into Ambient Intelligence Systems. In: 6th Annual IEEE
Communications Society Conference on Sensor, Mesh and Ad Hoc Communications and
Networks Workshops (SECON Workshops 2009), pp. 1–3 (2009)
10. Badii, A., Khan, J.R., Crouch, M., Zickau, S.: Hydra: Networked Embedded System
Middleware for Heterogeneous Physical Devices in a Distributed Architecture. In: Final
External Developers Workshops Teaching Materials (2010)
11. Terziyan, V., Kaykova, O., Zhovtobryukh, D.: UbiRoad: Semantic Middleware for
Context-Aware Smart Road Environments. In: Fifth International Conference on Internet
and Web Applications and Services (ICIW), pp. 295–302. Barcelona (2010)
12. Albano, M., et al.: Towards Secure Middleware for Embedded Peer-to-Peer Systems:
Objectives and Requirements. In: RSPSI, Innsbruck (2007)
13. Gelernter, D.: Generative Communication in Linda. ACM Transactions on Programming
Languages and Systems (TOPLAS) 7(1) (1985)
14. Liu, D.-L.Y.F., Liang, Y.-D.: A Survey of the Internet of Things. In: The 2010
International Conference on Electronic-Business Intelligence, ICEBI (2010)
15. Atzori, L., Iera, A., Morabito, G.: The Internet of Things: A Survey. Computer
Networks 54(15), 2787–2805 (2010)
16. Vision and Challenges for Realising the Internet of Things (2010),
http://ec.europa.eu/information_society/events/shanghai2010/
pdf/cerp_iot_clusterbook_2009.pdf
17. ASPIRE Architecture and Middleware,
http://wiki.aspire.ow2.org/xwiki/bin/download/Main/Services/
06%20ASPIRE%20Architecture%20and%20Middleware.pdf
18. Spiess, P., Karnouskos, S., Guinard, D., Savio, D., Baecker, O., Souza, L., Trifa, V.: SOA-
Based Integration of the Internet of Things in Enterprise Services. In: IEEE International
Conference on Web Services (ICWS), Los Angeles, pp. 968–975 (2009)
19. Reiners, R., Zimmermann, A., Jentsch, M., Zhang, Y.: Automizing Home Environments
and Supervising Patients at Home with the Hydra Middleware: Application Scenarios
using the Hydra Middleware for Embedded Systems. In: Proc. of the First International
Workshop on Context-Aware Software Technology and Applications (CASTA), New
York, pp. 9–12(2009)
20. http://en.wikipedia.org/wiki/Exabyte
21. Ahamed, S.I., Zulkernine, M., Anamanamuri, S.: A Dependable Device Discovery
Approach for Pervasive Computing Middleware. In: First International Conference on
Availability, Reliability and Security (ARES 2006), Vienna, pp. 66–73 (2006)
22. Caporuscio, M., Raverdy, P.-G., Issarny, V.: ubiSOAP: A Service Oriented Middleware
for Ubiquitous Networking. In: IEEE Transactions on Services Computing (2010)
23. Cooper, J., James, A.: Challenges for Database Management in the Internet of Things.
IETE Technical Review 26(5), 320–329 (2009)
24. Katasonov, A., Terziyan, V.: Semantic Agent Programming Language (S- APL): A
Middleware for the Semantic Web. In: IEEE International Conference on Semantic
Computing, Santa Clara, pp. 504–511 (2008)
25. SAP NETWEAVER,
http://www.sap.com/platform/netweaver/components/index.epx
26. FIPA Device Ontology Specification (Approved for Experimental, as on 2002/05/10),
http://www.fipa.org/specs/fipa00091/XC00091C.pdf
New Framework for Dynamic Policy Management in
Grid Environments
1 Introduction
A grid is a system should have the ability to manage and organize resources1 and ser-
vices that are distributed across several control domains, utilize protocols and interfaces
and supply high quality of service [5]. Grimshaw et.al. [7] define grid computing as
“coordinated resource sharing and problem solving in dynamic, multi-institution vir-
tual organizations”.
Security is an essential element in grid computing. For any grid environment, there
should be methods to offer security, including authentication, authorisation and data en-
cryption. One of the important issues that research into grid environment tries to solve
is how to keep distributed resources from unauthorized users and at the same time how
to allow the sharing of resources and the accountability for resource handling. Every re-
source applies a local security policy that may result in the refusal of requests for utiliz-
ing of its resources. This results in problems for both resource requesters and providers
who want to share resources in the lack of global security policies in grid systems. Be-
cause of the fact that there are a lot of elements, like users and resources contributing
1
Resources refer to computing and management resources such as computer, software applica-
tions, etc.
A. Özcan, J. Zizka, and D. Nagamalai (Eds.): WiMo/CoNeCo 2011, CCIS 162, pp. 297–304, 2011.
© Springer-Verlag Berlin Heidelberg 2011
298 T. Alwada’n et al.
to the grid, security has become a critical aspect in checking the element trying to use a
service (authentication), and in verifying whether this element is allowed or not to use
the service (authorization). Securing the grid, therefore, is vital to give confidence to
both resource providers and users to join the grid.
Any secure grid environment should provide mechanisms to secure authentication,
resource protection, authorization, communication, data transfer and encryption [10].
One of the most important security challenges that face the grid environment is co-
ordinating users’ identities among local and wide networks and dealing with the vari-
ety of local security techniques for either resource or user, trust relationships between
resources and users, end-user key, credential organization. Supporting security to re-
sources in opposition to unsafe actions from grid users can be considered as another
security challenge [6].
Policies are groups of regulations, standards and practices written by one or more
owners of jobs or administrators of resources about how their resources or jobs can
be handled and used. Policies decide how a job should be done, how security is ap-
plied in a domain and how an organization organizes, secures and distributes their re-
sources. Depending on the Globus Toolkit [?], before the job submission, there should
be many steps for authenticating the users who ask to use resources [4,15]. However,
after the authentication, there are no further resource access restrictions on how to use
the re-sources. This is known as “all or nothing”. At present, there is no existing well-
defined model to set and check authentication policies of remote resources for gird job
submissions.
Currently, there has been much research that focuses on policy management in the
Grid environment [2,9,12,13,14]. Nonetheless, most of these approaches presume a sin-
gle VO. The aim of Policy Management is “ to apply an integrated management system
so that system management, network management, and application management can
co-operate in Grid computing” [16]. Before the users can submit their jobs or run their
applications on a certain source or system they may need to guarantee that this source
or system has not been compromised which could result in their own application or data
being stolen or which could result in asking for certain users to be allowed to access the
service. The previous security considerations have to be taken into account when creat-
ing a grid system[8]. Another aspect that should be taken into account is the user policy.
Before the users can submit their jobs or run their applications on a certain source or
system they may need to guarantee that this source or system has not been compro-
mised which could result in their own application or data being stolen or which could
result in asking for certain users to be allowed to access the service. Most methods do
not consider this in their policy management designs. To date, not enough attention has
been paid to policies that deal with such concerns. Most existing grid systems have sup-
port only limited types of policies (e.g. CPU resources). We propose a policy-managed
grid environment that addresses these issues (user-submitted policy, data policy, and
multiple VOs). The contribution of this paper lies in the fact that it introduces a new
dynamic framework that supports policy management within and between VOs along
with supporting the data policy and without forgetting the external users’ policies rights
when making final decisions.
New Framework for Dynamic Policy Management in Grid Environments 299
The rest of the paper will be organized as follows. The second section describes
our new framework for both single and multiple virtual organizations, while the third
section discusses future possibilities and concludes the paper.
The grid infrastructure allows contribution and sharing at the level of a Virtual Resource
(VR). The VR can be one device, a group of devices or a virtual partition on the corre-
spondent device. Each grid institute has many VRs that are accepted to participate with
other contributors in the VO [13]. Our framework uses well-established concepts from
[18] that deal with multiple VOs. In this paper, we propose an extension that provides
the features of supporting the external User Policy (UP) along with enforcing policies
for data movements within the grid. The following two sections illustrate our framework
within a single VO institute and multiple VO institutes.
Our framework consists of three agents: Policy Agent (PA), Policy Management Agent
(PMA) and Grid Information Agent (GIA) Figure (1) shows the framework for a single
VO. Each Virtual Organization (VO) should have at least one policy agent that has the
ability to access the policy repository. For PAs of the same virtual cluster, there should
be a PA leader that coordinates other PAs in the cluster and at the same time performs
a homogenous and a heterogeneous policy management across different policy frame-
works. This agent is called (PMA). The proprietor of the organization allocates and
stores policies at the Policy Server, in other words at the (PMA). The policy server can
be considered as a combination of the policy management tool and policy repository.
The (GIA) which is owned by the grid administrator is responsible for providing PMAs
with the necessary information that is needed to perform the heterogeneous policy man-
agement, if it is necessary, across different policy frameworks.
Grid services are a field of web-services and for this reason the policy server would
be a web service that publishes the set of services that can provide for an institute into
the grid registry. For remote access, the policy server supports a SOAP/HTTP protocol
binding in order to swap documents easily over SOAP. The policy documents conform-
ing to the specification of the common information model are encoded in XML [13].
From Figure (1), it can be seen that three main features have been added to the policy
management framework mentioned in [18]; First, it enforces the data policies manage-
ment by using NETGridFTP protocol [3]. Although the GridFTP protocol offers se-
curity for grid data movements, there is no clear policy support to apply the resource
employment policies that are saved in the policy server. The NETGridFTP, which is an
implementation of GridFTP on the Microsoft NET framework, can execute grid data
transfers bidirectional between windows machines and can enforce the resource em-
ployment policies that are saved in the PMA.
The second feature is using the Active Network Middleware to connect the PDPs
(PAs) with the PEP. The advantages for both Policy Management and Active network
technology are equal. Yang et.al [16] has stated the approach to add programmability to
300 T. Alwada’n et al.
grid management to expand the broadly used grid supporting tool (Globus) in the means
of middleware. Together, active network middleware and policy grid management mid-
dleware may be used by grid supporting environment to ease the operation so that they
can obtain better handling and management of multi-grid resources such as, computing
resources, massive storage resources and special scientific instruments. The core of the
active network is the active node, which is founded on ABLE. ABLE is an architecture
that mainly deals with the network organization challenges. The main element in ABLE
is the active engine. This engine is added to any IP router or huge storage or resources
to develop an active node [11].
Policy Enforcement Points (PEP) represents the end point where the policy is finally
applied. To achieve this application, a transport protocol should be presented for the
purpose of communication between Policy Decision Point (PDP) and PEP so that the
user can send policy regulations or configuration data to the end point(s), or can read
configuration and get information from the device. Active network technology has be-
come the most popular way to achieve policy enforcement [16]. It takes the external
User Policy (UP) into the account when making the final conflict decisions.
New Framework for Dynamic Policy Management in Grid Environments 301
Figure(2) shows our framework for Multiple VO. Allowing PEPs (etc. external users)
to obtain policy instructions from subjects outside their physical institute exposes them
to security defencelessness. To avoid this issue, each PEP should be remaining only
under the administrative control of the policy server (PMA) in its physical institute.
Our framework deploys PAs to divide VOs into virtual clusters according to their se-
curity policy framework. Nevertheless, the PAs do not accomplish the ideal trust re-
lationship. For example, some VOs do not trust other VOs, or none of the VOs are
trusted by all other VOs in the virtual cluster. For that reason, dynamic management
framework requires a PMA election procedure in the non-ideal trust relationship. The
election method chooses a PA with the highest number of followers to be the PMA. The
PMA initializes connections to PAs corresponding to the trust relationships of the PAs.
As a result, some PAs do not trust the elected PMA where the security policy informa-
tion for these PAs will not be available to access by the PMA. In this case, PMA must
apply conflict analysis with partial information [17]. To reduce bottleneck in the PMA,
a PMA can request the leader PA to execute conflict analysis. Leader PAs are selected
by the relative high levels between PAs and are virtually connected to the PMA directly
[19].
After the authorized grid users submit their jobs to the core of the grid system (re-
source broker), it asks the Grid Information Services (GIS) and Replica Catalogue about
302 T. Alwada’n et al.
the free resources in the grid. Later, it sends this information along with the related
policies (Users policies) to the Grid Policy Server or to the VO policy server to make
the policy decisions. The VO policy server forwards the users’ policies along with the
VO policy to the PMA which is responsible for the target resource to make the final
decisions. PMA checks if the re-quests are situated in a single virtual cluster or multi-
ple virtual cluster. If the requests are situated in the same virtual cluster, a homogenous
conflict analysis takes place without any need to retrieve any information from the GIA.
Where PMA receives a request from one of the PAs asking for a service that is situ-
ated in multiple virtual clusters, a heterogeneous policy management mechanism takes
place.
The heterogeneous conflict mechanism can take place in any of the following cases
(or both). Chiu-Man Yu and Kam-Wing in [17] state the first case once the PMA re-
ceives a request from one of the PAs that has a framework different from that in the
PMA. The second case when the User Policy framework is different from that in the
PMA. This conflict analysis can be either with full or partial information. In [17] the
authors have specified the conflict analysis mechanism which can be applied for both
previous cases. This mechanism depends on converting the policies of the target service
into the policy model of the PMA. The PMA asks the GIA for the account maps and the
policy schema maps of the target services. At the same time, the PMA asks the service
requester for its authorization policies through the PA of the service. When the PMA
receives this information, it starts the policy conversion to the PMA policy model. First
it applies the Account Mapping to make it possible for users, whether trusted or not,
to access services in a remote VO. Here, a map mechanism should be applied to map
those users to local accounts and later to perform the policy mapping to generate an
inter-schema map which maps the schema of the policy model of the service’s VO to
that of the requester’s VO. In other words, a map mechanism is used to convert policies
between heterogeneous policy models to a one that can be understood by the PMA.
Finally, the PMA applies the conflict analysis mechanism on the policies of all target
services to find suitable permissions for the requester of service.
References
16. Yang, K., Galis, A., Todd, C.: Policy-based active grid management architecture. In: 10th
IEEE International Conference on Networks,ICON 2002, pp. 243–248 (2002)
17. Yu, C.-M., Ng, K.-w.: Dynamic policy management framework for partial policy informa-
tion. In: Sloot, P.M.A., Hoekstra, A.G., Priol, T., Reinefeld, A., Bubak, M. (eds.) EGC 2005.
LNCS, vol. 3470, pp. 578–588. Springer, Heidelberg (2005)
18. Yu, C.M., Ng, K.W.: A heterogeneous authorization policy management mechanism for
grid environments. In: International Conference on Multimedia and Ubiquitous Engineer-
ing, MUE 2007, pp. 381–386 (2007)
19. Yu, C.-M., Ng, K.-w.: A dynamic management framework for security policies in open grid
computing environments. In: Jin, H., Pan, Y., Xiao, N., Sun, J. (eds.) GCC 2004. LNCS,
vol. 3251, pp. 871–874. Springer, Heidelberg (2004)
Zone Based Seamless Vertical Handoff
Technique between WiFi and WiMax
1 Introduction
IEEE 802.11 [1] wireless local area networks (WLAN), also known as WiFi, is a
successful Internet access technology. As the coverage area of access point (AP)
is small, roaming users often move out of the coverage area of AP and experi-
ence disruptions in communication. IEEE 802.16 [2] wireless metropolitan area
network (WMAN), also known as WiMax, provides a good throughput in wide
coverage area. A WiMax network may be deployed to cover larger area encom-
passing the areas covered by different WiFi networks. User using device with
a dual WiFi/WiMax interface will get a choice to connect to either WiFi or
WiMax network as needed. As cost of connecting through WiFi is less, in such
a setup, users will prefer WiFi connectivity. Whenever user moves out of the
coverage of WLAN, to maintain connectivity, user device may perform vertical
handoff to maintain ongoing communications. The MN may not be able to per-
form normal data communication during handoff and hence disruptions to on
going communications occur during handoff. For seamless mobility the handoff
latency needs to be small. The amount of latency an application can tolerate de-
pends on the application. Real time applications are the most demanding ones.
One typical example is voice over IP (VoIP). Use of VoIP is increasing day by
A. Özcan, J. Zizka, and D. Nagamalai (Eds.): WiMo/CoNeCo 2011, CCIS 162, pp. 305–314, 2011.
c Springer-Verlag Berlin Heidelberg 2011
306 A. Sarma and S. Nandi
day. Real time applications have strict bounds on network parameters such as
end-to-end delay, jitter and packet loss rate. For VoIP applications, it is desir-
able to perform handoff within 50ms. A mechanism is needed to perform handoff
from WiFi to WiMax within 50ms. It is also required that, whenever MN comes
within the coverage area of a WiFi network it performs handoff to the WiFi net-
work. A heterogeneous WiFi/WiMax network is shown in Fig 1. In this paper
we propose a mechanism in which MNs perform vertical handoff with negligible
handoff latency.
The rest of the paper is organized as follows. In section 2 we describe our
proposed scheme. In section 3 we have a brief introduction to earlier related
works. The simulation results are provided in section 4. In section 5 we conclude.
scanning BSs is described in the subsection 2.2. When the MN moves to zone
3 it chooses the AP with the strongest SINR value from the list of APs and
performs handoff to that AP. If the list of AP is empty, it chooses the BS with
the strongest SINR value from the list of BSs found and performs handoff to
that BS. For performing handoff to BS, the MN, while still associated to the
AP, performs network entry with the BS. It then sets up flows in the BS by
sending dynamic service addition request (DSA-REQ) message. For continuing
the communications, the forwarding tables at the different nodes in the sub-net
needs to be updated. For that we propose a distribution system functionality to
be incorporated in the APs, BSs and the access router (AR). This we call L2
handoff initiated route update and is explained in subsection 2.4.
While the MN is communicating through it’s WiMax interface, it puts the
WiFi interface in power saving mode. However, it needs to handoff to WiFi if
it moves into the coverage area of some AP. To find any AP, it periodically
activates it’s WiFi interface and scans for existence of APs using a technique
discussed in sub-section 2.3. If one or more APs are found, it selects the AP with
the highest SINR value and performs handoff to that AP. After that it performs
the L2 handoff initiated route update process.
At the time of handoff, let us call an interface target interface if it is the
interface through which the MN intends to continue communication after hand-
off. Let us call the other interface the handing off interface. In both the cases
of handoff, to and from WiFi, both the interfaces are active during handoff
for some time. While new packets will follow a path terminating at the tar-
get interface, packets that already left the AR before the new path is estab-
lished (subsection 2.4) continues to move through the old path. The hand-
ing off interface must remain active for some time till all such packets ar-
rive. This time should be slightly more than the link delays from the AR to
the MN. After this delay the handing off interface is put into power saving
mode.
The part of the algorithm executed while communicating through the WiFi
interface is presented in Algorithm 1 and the part executed while communicating
through the WiMax interface is presented in Algorithm 2.
The threshold signal value τ2 is so chosen that if the SINR falls below τ2 the
MN may not be able to reliably maintain communication with the current AP
and the AP needs to handoff. The choice of the threshold τ1 is configurable and
it’s implications are discussed in subsection 2.5. Under the given assumptions,
the MN is not required to handoff while in zone one and probability of handoff
Zone Based Seamless Vertical Handoff Technique between WiFi and WiMax 309
in the immediate future is near zero. While in zone two, handoff is imminent. In
zone three, the MN is a potential candidate for handoff. As shown in Fig. 2, the
inner circle centered at the AP is the locus of MN where the SINR of the AP’s
signal at the MN is equal to τ1 . The outer circle centered at the AP is the locus
of MN where the SINR of the AP’s signal at the MN is equal to τ2 .
In the proposed scheme, the MN scans for availability of APs while maintain-
ing ongoing communications through the WiMax interface. The MN keeps the
information of different APs found during scanning in a list. The MN makes a
310 A. Sarma and S. Nandi
circular list of channel numbers to scan. These are the channels that contains
all the 802.11 channels except the current channel and the channels that over-
laps with the current channel. It initializes a variable N extW iF iChannel to the
channel number of the first channel in the list. It empties ScanAP List. It also
starts a timer. We shall refer this timer as W iF iScanRepeatT imer in the rest
of this paper. Let the time out value of this timer be Twif i . At the expiry of time
Twif i when the timer event is triggered the MN executes Algorithm 4.
2.5 Choice of τ1
The value of τ1 determines the radius of the inner circle in Fig. 2. If τ1 is more,
than this radius is large and zone two is thin, if it is less, than zone two is wide.
Since scanning is done in zone two only, the amount of time available to the
MN for scanning depends on this area and the velocity of the MN in the radial
direction from the location of the associated AP. Let v be the radial velocity of
the MN away from the AP. Let r1 and r2 be the radius of inner and outer circle
representing the loci of τ1 and τ2 respectively as in Fig. 2. Then, the minimum
number of channels N that can be scanned in zone two is given by: -
(r2 − r1 )
N=
(Twimax + twimax )v
Twimax is the W iM axScanRepeatT imer time out interval and twimax the max-
imum amount of time required to scan one channel. Assuming four available
WiMax channels, τ1 should be chosen such that for the highest possible radial
velocity of the MN, N is greater than or equal to four. τ2 is decided by the
smallest signal level required to maintain communication and that in turns de-
cides the value of r2 . The value of t is fixed for an implementation. The value
of v is based on the velocity up to which seamless communication is desired.
After choosing appropriate values for r2 , t and v, the value of T and r1 may
be chosen to get appropriate value for N . The value of T decides the interval
between scans. As scanning causes battery power to deplete, it is desirable to
have a large value of T . If the value is too large, r1 will be large for the same
value of N and zone two will be wider. r2 is neither too large nor too small. We
propose r1 to be within 80% to 90% of r2 . After deciding on the value of r1 , τ1
should be adjusted to get the desired value of r1 . In our experiment we have set
T to 400 ms and experimentally adjusted the value of τ1 to get the desired value
of N .
3 Related Works
In [5] the authors proposed a vertical handoff schemes between WiFi and WiMax
using IEEE 802.21 media independent handover (MIH) framework. The authors
reported an average of 4.8 numbers of packet loss while performing handoff
from WiFi to WiMax and no packet loss while performing handoff from WiMax
to WiFi. In [6], the authors proposed a vertical handoff scheme between WiFi
and WiMax. The details of how L2 handoff is possible is not presented. The
authors introduced new messages to reduce L3 handoff. The authors reported
a handoff latency of 23.938ms or more in their simulation results. In [7] the
authors proposed a vertical handoff scheme between WiFi and WiMax. The
authors reported handoff latency of 0.8ms or more for handoff from WiFi to
WiMax and more than 100ms handoff latency for handoff from WiMax to WiFi.
They also reported non zero packet loss in the handoff process. There are other
works related to vertical handoff but none are target to reduction of handoff
312 A. Sarma and S. Nandi
latency [8] [9] [10] [11] [12]. In [13], the authors proposed a scheme where vertical
handoff is used to increase throughput in a WiFi-WiMax heterogeneous network.
However the work is not specifically targeted to reduction of handoff latency and
is more similar to handoff schemes in WiFi networks as proposed in [14], [15]
and [16] whetre handoff is used from load balancing.
4 Simulation Results
We have implemented the proposed scheme in qualnet [17] simulator and results
are reported here. We have verified the handoff between WiFi and WiMax. Hor-
izontal handoff in WLAN, which is verified in [3] is not verified. The simulation
scenario is similar to Fig 1 except that only one AP is used. The setup consists of
an AP, a BS, an AR, a correspondent node CN and a MN. The AR is connected
to CN, AP and BS using three point-to-point links. Each point-to-point links
is of 100Mbps bandwidth with a delay of 2ms. MN moves around in the area
covered by the AP and BS and perform handoff as required. Constant bit rate
(CBR) traffics are attached between CN and MN. The traffic direction is from
CN to MN. The CBR packets are sent every 20 ms. L2 handoff initiated route
update scheme is used. MN is allowed to move into and out of coverage area of
AP. As handoffs occur, the handoff latency and packet loss is recorded. When
handoff occurred, we have not observed any deviation of end-to-end packet delay
from normal values in the two networks. The handoff latency in all cases for both
WiFi to WiMax and WiMax to WiFi are zero. There is no packet loss.
In the table 1 we present our results along with the results obtained in [6] and
[7] for comparison. In the table, columns A, B and C represents our proposed
scheme, schemes of [6] and [7] respectively. Delays are in ms. Existence of packet
loss is indicated by Yes or No. If a parameter is not reported it is indicated as
N/A. From the table, it can be seen that our scheme performs best among the
schemes compared.
A B C
WiFi to WiMax latency 0 24 0.8
WiFi to WiMax packet loss 0 N/A Yes
WiMax to WiFi latency 0 N/A 100
WiMax to WiFi packet loss 0 N/A Yes
5 Conclusion
In this paper we have proposed a scheme for seamless handoff between WiFi
and WiMax. The proposed scheme is tested by simulation. Results show that
the proposed scheme achieves zero handoff latency and zero packet loss during
handoff. The results are compared with existing works targeted at reduction
of handoff latency in WiFi/WiMax heterogeneous network. Our result clearly
stands out among the schemes compared.
References
1. IEEE Std 802.11-1999, Part 11: Wireless LAN Medium Access Control (MAC) and
Physical Layer (PHY) Specifications, IEEE, Édition (1999)
2. 802.16-2004 IEEE IEEE Standard for Local and metropolitan area networks Part
16: Air Interface for Fixed Broadband Wireless Access Systems, IEEE, Édition
(2004)
3. Sarma, A., Gupta, R.K., Nandi, S.: A zone based interleaved scanning technique
for fast handoff in IEEE 802.11 wireless networks. In: ISPAN 2009: Proceedings
of the 2009 10th International Symposium on Pervasive Systems, Algorithms, and
Networks, pp. 232–237 (2009)
4. Perkins, C., Belding-Royer, E., Das, S.: Ad hoc On-Demand Distance Vector
(AODV) Routing, IETF, RFC 3561 (2003)
5. Lim, W.-S., Kim, D.-W., Suh, Y.-J., Won, J.-J.: Implementation and performance
study of IEEE 802.21 in integrated IEEE 802.11/802.16e networks. Comput. Com-
mun. 32(1), 134–143 (2009)
6. Zhang, Y., Zhuang, W., Saleh, A.: Vertical Handoff between 802.11 and 802.16
Wireless Access Networks. In: IEEE GLOBECOM 2008, Global Telecommunica-
tions Conference 2008, pp. 1–6. IEEE, Los Alamitos (2008)
314 A. Sarma and S. Nandi
7. Shi, F., Li, K., Shen, Y.: Seamless handoff scheme in Wi-Fi and WiMax heteroge-
neous networks. Future Generation Computer Systems (2010) (in press)
8. Nie, J., Wen, J., Dong, Q., Zhou, Z.: A Seamless Handoff in IEEE 802.16a
and IEEE 802.11n Hybrid Networks. Communications, Circuits and Systems 1,
383–387 (2005)
9. Dai, Z., Fracchia, R., Gosteau, J., Pellati, P., Vivier, G.: Vertical handover cri-
teria and algorithm in IEEE 802.11 and 802.16 hybrid networks. In: 2008 IEEE
International Conference on Communications, pp. 2480–2484 (2008)
10. Ali-yahiya, T., Sethom, K., Pujolle, G.: Seamless continuity of service across
WLAN and WMAN networks: Challenges and performance evaluation. In: Pro-
ceedings of the 2nd IEEE/IFIP International Workshop on Broadband Conver-
gence Networks, pp. 1–12 (2007)
11. Roy, J.J., Vaidehi, V., Srikanth, S.: Always best-connected QoS integration model
for the WLAN, WiMAX heterogeneous network. In: IEEE Int. Conf. on Industrial
and Information Systems (ICIIS), pp. 361–366 (2006)
12. Prasath, G. A., Raghu an Ma Maode, K. R.: Integration of WLAN and WiMAX
with base station assisted QoS. In: 5th IFIP International Conference on Wireless
and Optical Communications Networks, pp. 1–5 (2008)
13. Sarma, A., Nandi, S.: Context Aware Handoff for Performance Improvement in
aWiFi-WiMax Heterogenous Network. World Academy of Science Engineering and
Technology (WASET) 74, 641–647 (2011)
14. Sarma, A., Joshi, S., Nandi, S.: Context Aware Mobile Initiated Handoff for Perfor-
mance Improvement in IEEE 802.11 Networks. In: Proceedings of the First Inter-
national Conference on Computer Science and Information Technology (CSSIT),
vol. 2, pp. 243–253 (2011)
15. Sarma, A., Joshi, S., Nandi, S.: Efficient, Distributed, Context Aware Handoff
Scheme for Performance Improvement in WiFi Networks. World Academy of Sci-
ence Engineering and Technology (WASET) 74, 636–640 (2011)
16. Sarma, A., Joshi, S., Nandi, S.: Performance improvement of wifi networks using
context aware ap assisted handoff. Accepted for publication in the International
Journal of Computer Networks and Communications, IJCNC (2011)
17. The Qualnet Network Simulator, http://www.scalable-networks.com
A Cluster-Based Dynamic Load Balancing
Protocol for Grids
This paper is dedicated to the memory of our colleague and beloved friend
Reşat Ümit Payli
Abstract. The load distribution in a grid may vary leading to the bot-
tlenecks and overloaded sites. We describe a hierarchical dynamic load
balancing protocol for Grids. The Grid consists of clusters and each clus-
ter is represented by a coordinator. Each coordinator first attempts to
balance the load in its cluster and if this fails, communicates with the
other coordinators to perform transfer or reception of load. This pro-
cess is repeated periodically. We analyze the correctness, performance
and scalability of the proposed protocol and show from the simulation
results that our algorithm balances the load by decreasing the number
of high loaded nodes in a grid environment.
1 Introduction
A computational Grid consists of heterogenous computational resources, possibly
with different users, and provide them with remote access to these resources [1]
and it is an ideal computing environment for e-science applications. Users of
the Grid submit jobs at random times. In such a system, some computers are
heavily loaded while others have available processing capacity. The goal of a load
balancing protocol is to transfer the load from heavily loaded machines to idle
computers, hence balance the load at the computers and increase the overall
system performance.
A major drawback in the search for load balancing algorithms across a Grid
is the lack of scalability and the need to acquire system-wide knowledge by the
nodes of such a system to perform load balancing decisions. Scalability is an
A. Özcan, J. Zizka, and D. Nagamalai (Eds.): WiMo/CoNeCo 2011, CCIS 162, pp. 315–324, 2011.
c Springer-Verlag Berlin Heidelberg 2011
316 R.Ü. Payli, K. Erciyes, and O. Dagdeviren
important requirement for Grids like EGEE [2] and NORDUGRID [3]. Some al-
gorithms have a central approach, yet others require acquisition of global system
knowledge. Scheduling over a wide area network requires transfer and location
policies. Transfer policies decide when to do the transfer[4] and this is typically
based on some threshold value for the load. The location policy [5] decides where
to send the load based on the system wide information. Location policies can be
sender initiated [6] where heavily loaded nodes search for lightly loaded nodes,
receiver initiated [7] in which case, lightly-loaded nodes search for senders or sym-
metrical where both senders and receivers search for partners [8]. Some agent
based and game theoretic approaches were also proposed previously [9,10]. Load
balancing across a Grid usually involves sharing of data as in an MPI (Message
Passing Interface) scatter operation as in [11]. MPICH-G2, is a Grid-enabled
implementation of MPI that allows a user to run MPI programs across multiple
computers [12].
In this study, we propose a dynamic and a distributed protocol based on our
previous work [13] with major modifications and detailed test results to perform
load balancing in Grids. The protocol uses the clusters of the Grid to perform
local load balancing decision within the clusters connected as daisy architecture
and if this is not possible, load balancing is performed among the clusters under
the control of cluster heads called the coordinators. We show that the proto-
col designed is scalable and has favorable message and time complexities. The
rest of the paper is organized as follows: In Section 2, the proposed protocol is
described with the analysis. In Section 3, test results using Indiana University
Grid environment are analyzed. Section 4 has the concluding remarks along with
discussions.
2 The Protocol
We extend the load balancing protocol [13] for Grids to achieve a more balanced
load distribution. We use the same daisy architecture in [13] which is shown to
be scale in [14]. We categorize the Load to LOW, MEDIUM and HIGH classes.
The main difference in this paper is in the MEDIUM load definition. A node
is MEDIUM if it has a load above the maximum limit of LOW load and can
accept load from other nodes to reach the upper threshold , which is called
MEDIUM MAX. The improved node algorithm, local balance procedure and
coordinator algorithm are given in Alg. 1, Alg. 2 and Alg. 3 respectively.
2.1 Analysis
Let us assume that messages in the algorithms given in Alg. 1, Alg. 2 and Alg.
3 will arrive in finite time from a source to destination or multiple destinations.
We also assume k, d are upperbounds on the number of clusters and diameter
of a cluster respectively.
318 R.Ü. Payli, K. Erciyes, and O. Dagdeviren
As explained from all the cases listed above, a coordinator node can not
finish the algorithm in one of listed states. Thus we contradict with our
assumption. The coordinator node will be IDLE state after executing the
algorithm and coordinator algorithm is free from deadlock and starvation.
Proof. A coordinator starts the algorithm in IDLE state and makes a state
transition to W AIT P OLL state when a T out occurs. From Lemma 1, all
coordinators will be in IDLE state after the algorithm execution. There are three
transitions to the IDLE state and in each transition a coordinator multicasts
End message.
Lemma 3. Node algorithm given in Alg. 3 is free from deadlock and starvation.
Proof. Assume the contrary. A node should be in IDLE state at the end of the
algorithm from Observation 1. Thus we assume that an ordinary node can be
in W AIT LD, W AIT ACK or W AIT XF ER state after the execution of the
algorithm. When a node is LOW or MEDIUM loaded it makes a state tran-
sition from IDLE to W AIT LD state upon receiving Coord P oll. A node in
this state will eventually receive End message from its coordinator as proved
in Lemma 2 and will make a state transition to IDLE state. When a node is
HIGH loaded it will make a state transition to W AIT XF ER state and trans-
fers its load upon receiving N ode Load message. After it transfers the load, it
will receive Xf er ACK message from its coordinator and makes a state transi-
tion to W AIT XF ER state. When the coordinator sends a End message, this
cyclic state transitions will finish and node will be in IDLE state at the end.
We contradict with our assumption, node algorithm is free from deadlock and
starvation.
Theorem 1. Our hierarchial dynamic load balancing protocol is free from dead-
lock and starvation.
Proof. Our protocol consists of coordinator and node algorithm. From Lemma
1 and Lemma 3 we proved that both algorithms are free from deadlock and
starvation, thus theorem holds true.
Theorem 2. The total number of messages for acquiring the global load knowl-
edge at the worst case is k(1+(k-1)/2).
Proof. A Xf er T oken must circulate across the ring and must be transmitted
back to originator node. Xf er T oken with the smallest id will circulate, others
will be dropped. So, at the worst case arrangement of coordinators, the sum of
1 to (k-1) Xf er T oken messages, which is equal to k*(k-1)/2, are transmitted.
After originator node receives its token, it broadcasts k Xf er List messages.
Thus totally k(1+(k-1)/2) messages are needed.
A Cluster-Based Dynamic Load Balancing Protocol for Grids 321
3 Performance Evaluation
We implemented the load balancing algorithm with MPI library. We carried out
our tests on Indiana University’s BigRed Cluster. Indiana University’s BigRed
is a distributed shared-memory cluster, consisting of 768 IBM JS21 Blades, each
with two dual-core PowerPC 970 MP processors, 8GB of memory, and a PCI-
X Myrinet 2000 adapter for high-bandwidth, low-latency MPI applications. In
addition to local scratch disks, the BigRed compute nodes are connected via
gigabit Ethernet to a 266TB GPFS file system, hosted on 16 IBM p505 Power5
systems. In our all experiments, each measurement is averaged with three iden-
tical measurement scenarios. We firstly measure the runtimes of the algorithm
322 R.Ü. Payli, K. Erciyes, and O. Dagdeviren
for varying nodes and cluster sizes. The node numbers are selected from 3 to
30. Since each node has 4 cores, the core numbers are varying from 12 to 120.
The cluster sizes are selected as 3, 4 and 6. Fig. 1 shows that our algorithm is
scalable when increasing core numbers from 12 to 120 and varying cluster sizes
as 3,4 and 6. Since the nodes in the BigRed Cluster are identical, the cluster
formation is simply achieved by considering the rank of the cores given by MPI.
For example the cores 0, 1 and 2 are in the same the cluster in a system which
is divided to the clusters having 3 cores each.
Fig. 3. Number of High Loaded Cores Fig. 4. Standard Deviations w.r.t To-
w.r.t Total System Load tal System Load
One important goal of the algorithm is to decrease the number of high loaded
nodes in the system as much as possible. For the system with 4 cores in each
cluster, we prepare low, medium and high loaded test scenarios randomly with
different seeds. The loads are represented with the integer values. Between 5 and
20, each 5 integer interval belongs a load type low, medium and high respectively.
Fig. 2 shows the number of high loaded cores in initial state, before applying
the algorithm, and in final state, after applying the algorithm. In the low loaded
A Cluster-Based Dynamic Load Balancing Protocol for Grids 323
systems, all of the high loaded cores give their excessive loads to the other cores.
In the medium loaded and high loaded systems more than half of the high loaded
cores become medium loaded as shown in Fig. 2. We also fix the system load
as medium and change the cluster sizes to measure the number of high loaded
cores with respect to various clustering schemes. Measurements in Fig. 3 shows
that the curves in different clustering scenarios are similar which shows that our
algorithm achieves both inter-cluster and intra-cluster balancing.
Lastly, we measure the standard deviations of the loads before and after ap-
plying the algorithm in Fig. 4. In medium and especially high loaded systems,
number of high loaded cores are much greater than the number of high loaded
cores in low loaded systems. Generally, the standard deviations after applying
the algorithm are smaller than half of the values before applying the algorithm
in high and medium loaded systems as seen Fig. 4. In low loaded systems, since
the number of transfers are smaller, the standard deviations after applying the
algorithm are approximately 70% of the initial values. When we fix the system as
medium loaded and vary the cluster size, the standard deviations after applying
the algorithm are smaller than half of the initial values as seen in Fig. 5. This
shows that the algorithm behaves stable under varying cluster sizes.
4 Conclusions
We showed the design and implementation of a protocol for dynamic load bal-
ancing in a Grid. The Grid is partitioned into a number of clusters and each
cluster has a coordinator to perform local load balancing decisions and also to
communicate with other cluster coordinators across the Grid to provide inter-
cluster load transfers, if needed. Our results confirm that the load balancing
method is scalable and has low message and time complexities. We have not ad-
dressed the problem of how the load should be transferred, and there are many
research studies on this subject but we have tried to propose a protocol that
is primarily concerned on when and where the load should be transferred. In
fact, it may be possible not to transfer the load at all by employing copies of a
subset of processes across the nodes in the Grid. The load transfer would require
324 R.Ü. Payli, K. Erciyes, and O. Dagdeviren
sending of some initial data only in this case. The coordinators may fail and
due to their important functionality in the protocol, new coordinators should be
elected. These are future directions we are investigating.
Acknowledgements
This material is based upon work supported by the National Science Foundation
under Grant No. ACI-0338618l, OCI-0451237, OCI-0535258, and OCI-0504075.
This research was supported in part by the Indiana METACyt Initiative. The
Indiana METACyt Initiative of Indiana University is supported in part by Lilly
Endowment, Inc. This work was also supported in part by Shared University
Research grants from IBM, Inc. to Indiana University.
References
1. Foster, I., Kesselman, C., Tuecke, S.: The Anatomy of the Grid: Enabling Scalable
Virtual Organizations. Int. Jrnl. of High Perf. Comp. Apps. 15(3), 200–222 (2001)
2. EGEE, http://public.eu-egee.org/
3. NORDUGRID, http://www.nordugrid.org/
4. Eager, D.L., Lazowska, E.D., Zahorjan, J.: A Comparison of Receiver-initiated
and Sender-initiated Adaptive Load Sharing. ACM SIGMETRICS Performance
Evaluation Review 6(1), 53–68 (1986)
5. Kumar, V., Garma, A., Rao, V.: Scalable Load Balancing Techniques for Parallel
Computers. Elsevier Journal of Parallel and Dist. Comp. 22(1), 60–79 (1994)
6. Shah, R., Veeravalli, B., Misra, M.: On the Design of Adaptive and Decentral-
ized Load Balancing Algorithms with Load Estimation for Computational Grid
Environments. IEEE Trans. on Parallel and Dist. Sys. 18(12), 1675–1686 (2007)
7. Lin, H., Raghavendra, C.S.: A Dynamic Load-balancing Policy with a Central Job
Dispatcher. IEEE Trans. on Software Engineering 18(2), 148–158 (1992)
8. Feng, Y., Li, D., Wu, H., Zhang, Y.: A Dynamic Load Balancing Algorithm based
on Distributed Database System. In: Proc. of Int. Conf. High Performance Com-
puting in the Asia-Pasific Region, pp. 949–952. IEEE, Washington (2000)
9. Wang, J., Wu, Q.-Y., Zheng, D., Jia, Y.: Agent based Load Balancing Model for
Service based Grid Applications. Comp. Intel. and Secur. 1, 486–491 (2006)
10. Subrata, R., Zomaya, A.Y.: Game-Theoretic Approach for Load Balancing in Com-
putational Grids. IEEE Trans. on Par. and Dist. Syst. 19(1), 66–76 (2008)
11. Genaud, S., Giersch, A., Vivien, F.: Load-balancing Scatter Operations for Grid
Computing. Parallel Computing 30(8), 923–946 (2004)
12. Karohis, N.T., Toonen, B., Foster, I.: MPICH-G2: A Grid-enabled Implementa-
tion of the Message Passing Interface. Journal of Parallel and Distributed Com-
puting 63(5), 551–563 (2003)
13. Erciyes, K., Payli, R.U.: A Cluster-based Dynamic Load Balancing Middleware
Protocol for Grids. In: EGC 2005. LNCS, vol. 3470, pp. 805–812. Springer-Verlag,
Berlin (2005)
14. Erciyes, K., Dagdeviren, O., Payli, R.Ü.: Performance Evaluation of Group Com-
munication Architectures in Large Scale Systems Using MPI. In: Meersman, R.,
Tari, Z. (eds.) OTM 2006. LNCS, vol. 4276, pp. 1422–1432. Springer, Heidelberg
(2006)
A P2P Based Scheduler for Home Grids
Abstract. This work presents a P2P based grid scheduling system for highly
dynamic and highly heterogeneous environments, such as home networks,
where we can find a variety of devices (laptops, PCs, game consoles, etc.) and
networks. Our solution is based on the distribution of the matchmaking task
among providers, leaving the final allocation decision to a central scheduler that
can be running on a limited device without a big loss in performance. We
evaluate our solution by simulating different scenarios and configurations
against the Opportunistic Load Balance (OLB) scheduling heuristic, which we
found to be the best option for home grids from the existing solutions that we
analyzed. The results have shown that our solution performs similar to or better
than OLB.
1 Introduction
A. Özcan, J. Zizka, and D. Nagamalai (Eds.): WiMo/CoNeCo 2011, CCIS 162, pp. 325–336, 2011.
© Springer-Verlag Berlin Heidelberg 2011
326 E.L. da Silva and P. Linington
2 Related Work
For grid schedulers that attempt to optimize the performance of a particular
application (e.g. AppLeS [10]), many static heuristic algorithms can be used (e.g.
Min-Min, Max-Min, XSuffrage, MET, MCT – more detail about these algorithms can
be found in [9, 11, 12]). Such algorithms usually use predicted performance of the
resources in order to allocate the tasks. In highly heterogeneous and dynamic
environments such as the home environment, the performance of these algorithms is
less effective, since the static prediction may not reflect the grid current state when
the tasks are sent for processing.
The static solution for scheduling independent jobs without performance
predictions and based on replication presented in [13] works fine on environments
where resources are abundant, which is not the case of home environments.
The objective of our scheduling solution is to maximize the usage of the available
resources for different applications instead of a single application; and we consider a
very dynamic and heterogeneous environment. Therefore, we assume that dynamic
A P2P Based Scheduler for Home Grids 327
schedulers for independent tasks would be the most appropriate for the grid
environment assumed in this paper. Such schedulers are suitable for scenarios where
it is difficult to estimate the cost of applications or when jobs arrive dynamically at
the scheduler. Condor and Legion are examples of systems that use dynamic
scheduling, but they both require an infrastructure that cannot be guaranteed in the
home environment, in order to get information about the state of the resources.
Dynamic schedulers often make use of load balancing techniques to improve the
performance. From the four load balancing approaches presented in [9] (Optimistic
Load Balance – OLB, Balance-constrained, Cost-constrained, Hybrid), we have
decided that OLB would be the most suitable for the home environment, for its
simplicity (with complexity of O(m), where m is the number of resources/providers on
the grid), low footprint and adaptability to the dynamic and heterogeneous
environment that we envisage. For this reason, we have simulated a version of OLB
scheduler to use as a benchmark for our proposed scheduling solution.
It is common in the literature to present OLB with poor performance results when
compared to other heuristics, but this is often an unfair comparison. OLB, which is a
dynamic resource-driven (the objective function is to maximize the usage of
resources) scheduling heuristic is usually compared against static application-driven
(the objective function is to improve the performance of applications) scheduling
heuristics. The set-up for the experiments is typically a group of known tasks and the
common metric used in those comparisons is the makespan [9], which corresponds to
the time taken from the scheduling of the first task in the group until the time when
the last task is completed. The makespan is most suitable for measuring the
performance of application-driven schedulers (where all the tasks are known a priori),
and it does not reflect the performance of dynamic and resource-driven schedulers,
which are best evaluated by the use of throughput or CPU usage as a comparison
metric, which are some of the metrics used in this work.
These similarities are: (i) the assumption of one central point in the grid, which allows
them to know about all the jobs on all nodes on the grid; (ii) the centralized control
(full or partial) of the scheduling policies for all the nodes; and (iii) the assumption
that the resource allocation for the jobs and the job scheduling are done by the same
part of the scheduler.
A centralized system like the ones mentioned above could be used for the domestic
grid if we could guarantee the presence a device powerful enough to run a central
scheduler and that it is switched on all the time (or most of time). The devices with
the “always on” characteristic will probably not have the required processing power
to support sophisticated fully centralized scheduling systems in the near future, so
adopting this kind of system in a domestic grid would degrade the system’s
performance.
In conventional grids, centralized schedulers gather information about the load
status of the resource to try to promote good load balance for the grid system, adding
more traffic to the network. Furthermore, when a scheduling system is described as
distributed, it means that a central scheduler for a particular group of resources can
communicate with other central schedulers and they can send tasks to each other,
without really distributing the scheduling activity.
In this work, the idea is to create simple agents that do not require much processing
power from the devices where they are running, and to reduce the communication
overhead. The communication between these agents is done mostly by broadcasting
small messages and sharing an enhanced tuple space [16], used to store the jobs to be
executed by the grid resources. In our system, the enhanced tuple space is controlled
by a local agent that reads and writes the jobs to the data structure based on the job
priorities.
The remainder of this section describes our proposed solution for grid systems
running on home environments.
In our proposed solution, every device participating in the grid has a main agent that
is composed of the following sub-agents (which we will also refer to as agents
throughout this paper): (1) Consumer (represents the applications that wish to use the
grid, and it is responsible for submitting the jobs); (2) Provider (represents the
resources that are able to execute the jobs, and is responsible for activities such as
running the jobs and sending the results to the appropriate place); (3) Registration
Agent (handles the registration process when a device connects to the grid); (4)
Scheduler (Tuple Space Agent - TSA) (responsible for making the decision about
which provider should execute each job sent by the consumers and for part of the
registration process); (5) Coordinator Agent (responsible for collecting local
information - e.g. available CPU, disk size - and for managing the communication
between the other agents in the same device).
Although all these agents are present in each device, they may or may not all be
active at the same time, which means that a device can have only the scheduler active
or be acting exclusively as a consumer, for example.
A P2P Based Scheduler for Home Grids 329
may not function well in those situations where the IP address of the clients changes
frequently (e.g. DHCP server configured to use dynamic allocation with a short lease
time), since the registering data structure may grow considerably and it may
eventually become inconsistent (an ID being associated with the wrong IP address). A
better registering process is required for such situations (perhaps defining times for
the TSA to check the correctness of the values in the registering data structure,
eliminating those that are no longer correct).
Since we do not consider the use of timestamps (as mentioned later in this article
when talking about the scheduling system), we assume that the job global ID is
composed by a numeric value and the ID of the scheduler that assigned it. The
numerical part is used to indicate the order of arrival of the jobs at the scheduler,
which is also the order for the execution of the job. The ID of the scheduler is also
part of the global ID in order to distinguish between two jobs with the same numerical
global ID part, but issued by different schedulers, which can happen in the case where
a network is partitioned, for example. This is a measure to be used in the fault
tolerance mechanisms of our system, which are out of the scope of this paper.
After receiving the global ID from the TSA, the consumer then broadcasts a
JOB_DESCRIPTION message with the global job ID and the resource requirements
to the other agents, so that providers can compare these pieces of information with
their own resource description, and verify if they are capable of executing that job
(matchmaking). In this way, we distribute the task of discovering resources between
the agents and not only as a task for the scheduler, which cannot be guaranteed to be
powerful enough to perform the matchmaking and the scheduling itself without
compromising the performance of the system. According to our estimations based on
the number of instructions of the OLB scheduler, the matchmaking represents
approximately 65% of its scheduling process (increasing the percentage with the
availability of more providers). The information held by providers after the
matchmaking process is intended to be used as part of the fault tolerance mechanism
for our system.
The only central point in our grid is the TSA, which is simple to use and requires
space for storage (which is cheap), but it does not need much processing power. This
distributed resource discovery mechanism makes the limited devices in the grid
perform some processing when they receive the broadcast messages, but it is
preferable that they make a few comparisons and verify that they cannot execute the
jobs and stop processing instead of concentrating the resource discovery task in only
one central limited device. These limited devices can also be set as “consumer only”,
which indicates that they cannot receive jobs to execute and their local agent can then
ignore the JOB_DESCRIPTION messages. This decision about setting a device as
“consumer only” can be done by the user, or a set of minimum requirements can be
defined in order to enable the provider agent in a device.
So far, we have described how a device registers within the grid, and how consumers
submit their jobs using broadcast messages to find suitable resources to execute them.
In this section, we describe the behaviour of the grid participants: consumers,
A P2P Based Scheduler for Home Grids 331
providers and scheduler (TSA). This also includes the messages that are exchanged
between them.
For this specification, we make the following assumptions: (a) the jobs sent by
consumers are independent, so that they can all be executed in parallel; (b) if jobs are
dependent, the consumer sending them is responsible for sending them in the
appropriate order, and delaying submissions until previous results that are needed
have been received; (c) timestamps are not considered for scheduling purposes, in
order to avoid additional processing and communication for clock synchronization in
such a dynamic environment; (d) a reliable communication protocol (e.g. TCP) is
used for the transmission of unicast messages.
Note that, in this section, we only describe how the system works assuming that we
have a reliable device (one that will never disconnect or fail) running the scheduler.
After the matchmaking, providers classify the job as processable or not processable,
and then store it locally in a queue, following the order of the global ID. The storage of
jobs that cannot be processed by a provider will be useful to reconstruct the status
of the scheduler if it fails. During the scheduling process, providers send a
SCHEDULE_REQUEST message to the scheduler with a queue (Pq) containing the first
N jobs stored in their local queue that are tagged as processable. The scheduler receives
this queue, selects the job that should be processed next by the provider (the first job in Pq
that has not been allocated yet), and updates the queue by removing those jobs that have
already been completed (allocated jobs are kept in the queue so they can be rescheduled in
case of failures). This updated version of the queue and the selected job are sent back in a
SCHEDULE_RESPONSE message to the original provider; if the scheduler holds any
data required by the allocated job (executable file and I/O data), that data is also attached
to the SCHEDULE_RESPONSE message.
Providers may leave the grid at any time and there might be a number of jobs that
have been broadcast while they have been unavailable, as illustrated in Fig. 2, where
Job A represents the last job received by the provider while it was on for the first
time; Job B represents the first job received when it became on again after the first off
period. Jobs C and D are, respectively, the last and the first job received before and
after the second off period, and so on.
Fig. 1. Example of a job submission timeline where a provider becomes on and off
In order to acquire those jobs that might have been broadcast during their off
period, providers also inform the scheduler (within the SCHEDULE_REQUEST
message) the oldest interval of jobs where there can be jobs missing (e.g. the global
IDs of jobs A and B in Fig. 2). Based on this information, the scheduler is able to find
out if there are jobs to be processed that were sent during that particular off period; if
there are any, the scheduler creates a list (Ls) with the first M jobs that have been
received in the period, and sends it to the provider. The scheduler also informs the
provider if there are more jobs in the current interval other than those M jobs present
in the list (using here what is called the “more flag”). Both Ls and “more flag” are
332 E.L. da Silva and P. Linington
Fig. 2. Communication between provider and scheduler during a job request from the provider
When a provider finishes the execution of a job, it sends the result to the location
indicated in the job description (e.g. directly to the job’s owner or to a shared
repository) to avoid extra communication. The message containing the result is called
JOB_COMPLETION_CONSUMER. Once that completion message is sent, another
message, here identified as JOB_COMPLETION_SCHEDULER, is immediately sent
to the scheduler to inform it that the job has been finished, so it can be removed from
the local data structure.
After sending the completion message to the scheduler, providers must keep the
information about the completed job for some time. This is another anticipated
measure for our fault tolerance mechanism. Fig. 3 illustrates the complete flow of
information for the proposed job scheduling mechanism.
We have chosen to evaluate our system through simulations, where we can determine
the behaviour of the system and study its behaviour without having to implement it,
saving time and effort. With simulations, it is also easier to collect statistical data on
performance to compare with the data from other systems, which makes it the first
choice to evaluate systems in the literature. Some of the results are presented in this
section.
We have studied some simulations tools for grid systems (SimGrid, GridSim,
EDGSim and GangSim). Most of them use the discrete-event concept. Some of these
tools support the use of real workloads for the simulations and the majority only
supports the simulation of centralized job scheduling. These tools have their own
network model, and usually they are based on the Internet. We could not find any
support for broadcasting messages in the network model of the tools studied. Since
our proposal uses broadcast, we had to develop our own grid simulation tool, which
was built using a discrete event simulation framework internally used in the School of
Computing at the University of Kent [19].
A P2P Based Scheduler for Home Grids 333
In our simulations, each consumer generates groups of jobs that are sent to the grid.
Each group of jobs has a maximum number of jobs (GROUP_SIZE) that can be sent
to the grid sequentially, without having to wait for the previous one to be completed.
After sending GROUP_SIZE jobs, the consumer application has to wait until all of
them have been executed, before it starts sending another group. The interval between
sending two consecutive jobs in the same group is computed by using a Uniform
Distribution that gives Real values between 0 (zero) and seconds of simulated
time. In the results presented in this section, we have arbitrarily used = 0.5, which
gives an average of 0.25 second of simulated time between job submissions.
After executing all the jobs of a certain group, the consumer application waits for
an interval defined by an Exponential Distribution and then starts submitting another
group of jobs. The parameter λ for this distribution determines the load of the
simulation. The average waiting time W is given by (W = 1 / λ).
So, for example, if λ is set to 0.01, it will give an average interval of 100 seconds
of simulated time between groups submission; lower values for λ reduce the average
waiting time, increasing the number of groups submitted and, consequently, the load
of the simulation.
In order to have a better view of how our proposed model behaves in comparison
to OLB, we decided to evaluate two different scenarios: (i) the Static Scenario, which
simulates consumers sending jobs at a constant rate and all devices in the grid remain
connected to the grid until the simulation is completed; and (ii) the Dynamic
Scenario, where providers keep connecting and disconnecting from the grid.
However, in this scenario, providers do not disconnect while they are executing jobs,
in order to avoid faults in the system, since we are not considering fault tolerance in
this paper.
334 E.L. da Silva and P. Linington
The main objective of our scheduler is to maximize the number of jobs completed
during a certain period of time. For this reason, one of the variables that are collected
from the simulations is the number of jobs completed per second of simulated time.
Simulation Set-up. The initial aim was to compare the performance of the two
systems (TSA and OLB) with a high load of job submission, so we could see the point
of saturation for each system and how many jobs were completed at the point. The
simulations presented here were run for 100000 seconds of model time, with 10000
seconds of settling time (which is not taken into account for the data collection).
Since we are most interested in the impact of the scheduling mechanism on the
number of jobs processed, we have used negligible values for the input and output
data, and for the executable program that will run on the providers. This avoids extra
loading on the network, making clearer the influence of the scheduler on the total
system’s performance. Increase in the simulation workload can be achieved by
augmenting the number of consumers, by changing the size of the group of jobs sent
by these consumers or by changing the parameter λ for the Exponential distribution
that determines the amount of time that a consumer should wait before sending the
next group of jobs.
Static Scenario. This kind of scenario is simple but not realistic, since devices in the
home environment are likely to turn on and off with a certain frequency. At this stage,
we are interested to find out how both schedulers behave in ideal conditions (no
disconnections and/or failures) and use this information to make improvements to the
design; it is also desirable that our system performs well in this kind of scenario.
For this experiment, we have assumed the existence of 5 providers, and, to boost
the load, we have simulated 100 consumers sending groups of 20 jobs to the grid. The
λ parameter (Load Parameter) ranges from 0.1 to 0.9, which means that the average
waiting time between groups ranges from 10 to 1.1 seconds (approximately). The
comparison between TSA and OLB for the number of jobs completed per second of
simulated time have shown a marginal difference in favor of TSA in the static
scenario, but this difference is not significant, since the scheduling performance was
dominated by other costs such as communication.
Dynamic Scenario. The load parameter was already introduced in the static model.
Now we need two other parameters for the exponential distributions that are used to
calculate the CP and DP variables. These parameters are referred here as ρCP and ρDP,
respectively. The last assumption for this scenario is that there must be at least one
provider active in the grid, so we can avoid periods where no jobs are processed,
eliminating long idle periods from the results. Therefore, when a provider reaches the
time for it to turn off, it only does so if there is at least one other provider on;
otherwise, the provider has to wait until another one connects to the grid.
The results in Fig. 4 were obtained from a simulation with average time between
group submission of approximately 1.1 seconds of simulated time (λ = 0.9), and
average connected time ranging from 10 to 1.1 seconds of simulated time (ρCP ranging
from 0.1 to 0.9); ρDP is fixed at 0.01, so that we explore a scenario with long
disconnected periods and short connected periods.
A P2P Based Scheduler for Home Grids 335
Fig. 4. Jobs completed: TSA vs. OLB (dynamic scenario – short CP and long DP)
We have simulated a variety of scenarios, including short DP and long CP, and the
results have shown that TSA performs better or similarly to OLB.
References
1. Baker, M., Buyya, R., Laforenza, D.: Grids and Grid technologies for wide-area distributed
computing. Software-Practice and Experience (SP&E) 32, 1437–1466 (2002)
2. Foster, I., Kesselman, C. (eds.): The Grid: Blueprint for a Future Computing Infrastructure.
Morgan Kaufmann, San Francisco (1999)
3. Foster, I., Kesselman, C., Tuecke, S.: The Anatomy of the Grid: Enabling Scalable Virtual
Organizations. The International Journal of High Performance Computing
Applications, 15(3), 200–222 (2001)
4. Ahuja, S.P., Myers, J.R.: A Survey on Wireless Grid Computing. The Journal of
Supercomputing 37, 3–21 (2006)
5. Isaiadis, S., Getov, V.: A Lightweight Platform for Integration of Mobile Devices into
Pervasive Grids. In: Yang, L.T., Rana, O.F., Di Martino, B., Dongarra, J. (eds.) HPCC
2005. LNCS, vol. 3726, pp. 1058–1063. Springer, Heidelberg (2005)
336 E.L. da Silva and P. Linington
6. Lioupis, D., Psihogiou, D., Stefanidakis, M.: Exporting Processing Power of Home
Embedded Devices to Global Computing Applications. In: 12th Euromicro Conference on
Parallel, Distributed and Network-Based Processing (PDP 2004), p. 274. IEEE Computer
Society Press, Los Alamitos (2004)
7. Phan, T., Huang, L., Dulan, C.: Challenge: Integrating Mobile Wireless Devices Into The
Computational Grid. In: Proceedings of the 8th ACM International Conference on Mobile
Computing and Networking (MobiCom). ACM, Atlanta (2002)
8. Adzigogov, L., Soldatos, J., Polymenakos, L.: EMPEROR: An OGSA Grid Meta-
Scheduler Based on Dynamic Resource Predictions. Journal of Grid Computing 3, 19–37
(2005)
9. Dong, F., Akl, S.G.: Scheduling Algorithms for Grid Computing: State of the Art and
Open Problems, in Technical Report No. 2006-504, School of Computing, Queen’s
University: Kingston, Ontario, USA. p. 55 (2006)
10. Berman, F.D., et al.: Application-level scheduling on distributed heterogeneous networks.
In: Proceedings of the 1996 ACM/IEEE conference on Supercomputing (CDROM). IEEE
Computer Society, Pittsburgh, Pennsylvania (1996)
11. Maheswaran, M., et al.: Dynamic Matching and Scheduling of a Class of Independent
Tasks onto Heterogeneous Computing Systems. In: 8th Heterogeneous Computing
Workshop (HCW 1999). IEEE Computer Society Press, San Juan (1999)
12. Brauna, T.D., et al.: A Comparison of Eleven Static Heuristics for Mapping a Class of
Independent Tasks onto Heterogeneous Distributed Computing Systems. Journal of
Parallel and Distributed Computing 61(6), 810–837 (2001)
13. Silva, D.P.D., Cirne, W., Brasileiro, F.V.: Trading Cycles for Information: Using
Replication to Schedule Bag-of-Tasks Applications on Computational Grids. In: Kosch,
H., Böszörményi, L., Hellwagner, H. (eds.) Euro-Par 2003. LNCS, vol. 2790, pp. 169–180.
Springer, Heidelberg (2003)
14. Iamnitchi, A., Foster, I.: A Peer-to-Peer Approach to Resource Location in Grid
Environments. In: Weglarz, J., et al. (eds.) Grid Resource Management. Kluwer
Publishing, Weglarz (2003)
15. Gradwell, P.: Overview of Grid Scheduling Systems. Department of Computer Science,
University of Bath. p. 11,
http://peter.gradwell.com/phd/writings/computing-economy-
review.pdf (last accessed on 01/04/2008)
16. Carriero, N., Gelernter, D.: Linda in Context. Communications of the ACM 32(4) (1989)
17. Czajkowski, K., et al.: Grid Information Services for Distributed Resource Sharing. In:
Tenth IEEE International Symposium on High-Performance Distributed Computing
(HPDC 2010). IEEE Press, Los Alamitos (2010)
18. Leach, P., Mealling, M., Salz, R.: A Universally Unique IDentifier (UUID) URN
Namespace, The Internet Engineering Task Force, IETF (2005),
http://www.ietf.org/rfc/rfc4122.txt
19. Linington, P.: A Basic Simulation Package, University of Kent, p. 5
A Multi-Agent System-Based Resource Advertisement
Model for Grid Environments
1 Introduction
In the early-to-mid 1990s, there were numerous research projects underway in the
academic and industry communities that were focused on distributed computing. One key
area of research focus was on developing tools that would allow distributed high
performance computing systems to act like one large computer [1]. Analogous to an
electricity power grid, Grid computing views computing, storage, data sets, expensive
scientific instruments and so on as utilities to be delivered over the Internet seamlessly,
transparently and dynamically as and when needed, by the virtualization of these resources
[8]. A Grid is a very large scale, generalised distributed system that can scale to Internet-
size environments with machines distributed across multiple organisations and
administrative domains [2].There are two issues to be addressed by any Grid resources
management system: firstly, the advertisement (dissemination) of the resources
information across the Grid nodes, that is how nodes should describe their resources and
when to advertise them. For instance, if the resource is a processing unit some nodes might
describe it as “processor” while the other as “CPU”; the two term are syntactically
different but semantically the same. Furthermore, as the advertising process is a message
passing activity, it is important to consider the effect of this activity on the network
A. Özcan, J. Zizka, and D. Nagamalai (Eds.): WiMo/CoNeCo 2011, CCIS 162, pp. 337–347, 2011.
© Springer-Verlag Berlin Heidelberg 2011
338 M. Al-Asfoor, M. Fasli, and S. Al-Majeed
performance. Secondly, the other fundamental problem in Grid computing is the discovery
of resources in such a heterogeneous computing environment as well as dynamicity of
resource enrolment and leaving process. Resource discovery is a key concept in a
distributed Grid environment; it defines a process for locating services providers and
retrieving service descriptions [10].
The Grid and Multi-agent Systems communities have both developed concepts and
mechanisms for open distributed systems [6]. Agents with different expertise and
computational resources which may be distributed over a network can come together
and coordinate to solve a complex task [5].
In this research, we have focused on the advertisement process from a networking
point of view. Furthermore, we have studied the effect of this process on the network
performance in terms of time Delay required to deliver the advertisements. An
advertisement model has been designed based on multi-agent system techniques;
furthermore, simulation tools have been used to implement and test the design.
The rest of the paper is organised as follows: section 2 discusses related work
while section 3 is devoted to a detailed explanation of the prosed system architecture.
Section 4 shows the system evaluation and the experimental results of the test that
been conducted in a simulated environment. The paper ends with the conclusions and
a description of future work.
2 Related Work
Researchers in the industry and academia have developed many frameworks and tools
for managing the resources description and discovery in Grid environments. The
Globus toolkit [9] Monitoring and Discovery System (MDS4) includes a set of
monitoring and discovery techniques for services and resources in a distributed
environment. It makes use of WSRF (Web Services Resource Framework) but in a
centralised way. With this centralised way for managing the monitoring and discovery
of resources, any problem that might occur in the node where all the indexing
information is stored, will lead to the halt of the entire system. A further weakness of
Globus is the use of static periodic updating which might result in unnecessary
communications. In addition to that, the Globus update strategy cannot adapt itself as
a response to system load but depends on manual intervention. However, another Grid
system is Condor [11], which is a specialized workload management system for
computing-intensive jobs. It provides a job queuing mechanism, scheduling policy,
priority scheme, resource monitoring, and resource management. Condor has a
centralised job scheduler which accepts the jobs which are submitted from the condor
workstations. One of the weaknesses of Condor is its centralised scheduler which
could be a single point of failure. Furthermore, Condor uses a push update strategy
which causes interventions to the system to change the resources status.
Grid resource brokering algorithms are presented in [4] for enabling advance
reservations and resource selection based on performance predictions. They suggested
a decentralised broker to select computational resources based on actual job
requirements, job characteristics, and information provided by the resources, with the
aim to minimize the total time of delivery for the individual application. The main
drawback of this method is how to determine the job requirement which needs an
A Multi-agent System-Based Resource Advertisement Model for Grid Environments 339
intervention from the user to fix the job requirements by providing an estimated
amount of resources required to run the job.
A Grid environment was studied in [3]. They have utilized semantic matching in
their work with the aim of making the Grid system more transparent in the application
level. In this research the authors tried to achieve some sort of scalability by imposing
homogeneity of resources on a virtual organisation. Imposing homogeneity is not
widely accepted as the main characteristic of Grid systems is to be heterogeneous and
each node could have different hardware or software infrastructure.
Research work on building a Grid service discovery middleware with semantic
web technologies is proposed by [7]. In this work, they employed the semantic web
discovery technologies in the field of Grid resource discovery by adding machine-
process-able explicit knowledge into the interaction between pervasive devices and
Grid services. The system uses a profile model to describe Grid resources. According
to their results, the system has showed an increase in service discovery time compared
to the traditional service discovery mechanism while a significant improvement in the
system function has been obtained. The use of profile model to describe the resources
will lead to the use of statistical matching techniques which does not take the
semantic features of the resources concepts into account. It could be part of the
matching process but not the only way to determine the degree of similarity among
concepts that describe the resources.
We have concluded that most of the work that has been undertaken in the field of
Grid resource management has ignored or paid less attention to some important
issues. The first issue to be considered is the performance of the advertisement part of
the system and its effect on the overall system efficiency. Improving the network
performance has a big role to play on the overall Grid management systems
performance. As a Grid is a huge network system, the main factor that effects the
quality of service (QoS) of that system is the amount of time required to advertise the
provided resources and discover these resources. Monitoring the message passing and
decreasing the communication overheads would increase the system performance and
lead to improving the average system delay and increasing the network throughput
and accordingly improve the overall QoS of the Grid system. In this research we have
focused on these issues by designing a multi agent Grid system architecture which
deals with the dynamicity and heterogeneity behavior of the Grid. The system does
not depend on traditional frameworks but works as a flat decentralized network.
The system consists of N number of nodes each of which has many functions
which are shown in Fig. 1. To conform with the principle of decentralisation and
taking into account heterogeneity, each node has it is own agents and each agent has
specific functionality and could adapt itself to cope with the node specification
(heterogeneity). Furthermore, each node has its own local cache to store its available
resources information.
There are five types of agents in the system classified according to their
functionality as follows:
Any node that joins the system for the first time must broadcast its available resources
information to all its neighbours1. Before advertising the resources information, the
node must have the required agents locally as part of the registration process.
1
Neighbors of the node are all the nodes that have a direct connection to it.
A Multi-agent System-Based Resource Advertisement Model for Grid Environments 341
After finishing the registration process, the new node should start advertising its
resources’ information to its neighbours. The process of advertisement consists of
three steps which are handled by three types of agents as shown in Fig. 2.
The first step is to collect information about the available resources and describe
them ontologically and the RCDA is responsible for this task. Since in principle,
nodes are highly heterogeneous, RCDA can adapt itself according to the node’s
specifications, for instance, it must use the ontology description that the node uses.
The resources to be described are just the ones that can be shared with the other nodes
in the system (i.e. they are not needed by the owner node for the moment. The RCDA
creates the ontology description by connecting to a standard ontology database like
WordNet2 according to the node specification.
Having all the resources information stored in one place (node) makes the system
less fault-tolerant. The node which holds the resources information could become a
single point of failure, if any problem arises with this node, which could lead to
overall system collapse. For this reason, and to achieve system extensibility and cope
with the dynamic nature of the environment, we propose a fully distributed and
decentralised database to store the resources information within our proposed system.
The DBMA is responsible for creating and managing the node’s local caches; after
the node registration takes place, the DBMA creates an empty local database which
holds the node’s resources description. Furthermore, the DBMA provides the basic
database functions like (data insertion, update, alteration, etc.). Another function of
the DBMA is to inform the NA of any changes to the database in order to send an
update message to the neighbouring nodes.The NA plays a crucial role during the
advertisement process. As shown in section 2 there have been many works in the field
2
See http://wordnet.princeton.edu/
342 M. Al-Asfoor, M. Fasli, and S. Al-Majeed
of Grid resources management, few of them have been concerned with the network
performance during the advertisement process.
As the main part of the advertisement process is a network related process, we have
focused more on network performance as an evaluation measure of the advertisement;
the best advertisement method is the one with the best network performance. The
advertisement is the process of sending the resources’ description to the nodes in the
Grid system. Sending the resources description is a message passing activity;managing
and balancing the number of messages and associated traffic, in order to reduce the
number of communications required to cover as wide an area as possible, is an
important factor which affects the overall system performance.
On the sender side, and as a result of the description process, the RCDA passes the
description file to the NA; the size of the description file varies according to the amount
of resources available and the way the RCDA describes them. For network purposes,
the NA should divide the description file into messages with each message containing
part of the resource description information. The division depends on the message size;
there is a trade-off between message size and the required time to deliver the description
information. Smaller message size means a faster delivery time but at the same time
increase in the number of messages and vice versa. After that, the NA should start to
find the neighbours with direct connections to the sender node. For example, in Fig. 3,
the neighbours of the node number 1 are nodes (2,3 and 5); This organisational model
will form some sort of local community with each node having some knowledge about
its neighbours that could facilitates the resource discovery afterwards. Accordingly, the
NA should start sending the description messages to the neighbours.
On the receiver side the NA receives the description messages one by one and
checks the message id and when receiving the last message it starts to compose the
description file. The receiver NA should send an acknowledgment message to the
sender NA to confirm that the description information has been received in its
entirety.After receiving the description, the NA passes the description file to the
DBMA to create a new entry for the new node’s resource information in the local
database.
A Multi-agent System-Based Resource Advertisement Model for Grid Environments 343
As the Grid system is dynamic and due to resources’ use, resources availability could
change over time. Accordingly, to keep the nodes up to date with these changes, the
system should keep updating the nodes local caches with all the changes that occur
over time.There are two updating strategies; the first strategy is to update the system
periodically by disseminating the resources’ information through the system each
time slice [references?]. This strategy does not take into account the system workload
or nodes’ needs but updates all the nodes blindly. The second strategy is to update the
system due to some event (event-driven update) [references]. Using this strategy the
nodes should update their resources caches during the event of a request to make sure
that the discovery process takes place according to the latest update.
Both updating strategies could make unnecessary updates which affect the overall
system performance. For the first strategy, the resources information might remain the
same so the update will cause extra and unnecessary advertisement messages to be
sent which means more communications across the system. For the second strategy,
the update takes place during the resources request time without taking in mind that
the request would not be satisfied by the requested node due to lack of resources. In
this case, an unnecessary update which causes extra advertisement messages will
result in communications overhead across the system.
[12], have presented a new technique for updating the system by using an expiry
time stamp called UST (Updatable Service Lifetime). The expiry time stamp is
computed by taking into account both strategies to ensure that all the nodes’ caches
will be updated each time slice and during the event of resources request. They have
used a tree structure to represent the agents which represent the nodes through the
system. UST computation encompasses the use of three factors: the frequency of
changes in the agent's status, the relation between the number of agent’s children to
the overall number of agents in the system, and the list of active children which
frequently contacted their parent.
Based on their strategy we have adapted a time stamp computation technique in
order to apply it to our network as follows: the time stamp computation will depend
on the history of change for the node and the number of neighboring nodes. Logically,
it is more likely for active nodes3 to be changed in the future. So based on historical
changes the expected change time is calculated by the following forecasting formula:
(1)
∑
Where and , RCIT: is the resource information
change time
Where:
3
Active nodes are the ones that their resources information is changing more frequently.
344 M. Al-Asfoor, M. Fasli, and S. Al-Majeed
After calculating the historical effect of the number of changes on the next update
time, the next step is to calculate the effect of the number of neighbours on the
calculation of the expiry time stamp using the following equation:
(2)
Where,
: is the number of connections factors.
: is the number of connections (neighbours) of the node.
: is the average number of connections for each node.
At the end, the calculation of the expiry time stamp is done by taking into
consideration both equations as follows:
1 (3)
Where:
ETS: is the expiry time stamp.
Ϭ͘Ϭϯϱ
Ϭ͘Ϭϯ
Ϭ͘ϬϮϱ
Delay (ms)
Ϭ͘ϬϮ
Ϭ͘Ϭϭϱ
Ϭ͘Ϭϭ
ϭ
ϰϭ
ϴϭ
ϭϮϭ
ϭϲϭ
ϮϬϭ
Ϯϰϭ
Ϯϴϭ
ϯϮϭ
ϯϲϭ
ϰϬϭ
ϰϰϭ
ϰϴϭ
ϱϮϭ
ϱϲϭ
ϲϬϭ
ϲϰϭ
ϲϴϭ
ϳϮϭ
ϳϲϭ
ϴϬϭ
Packet ID
Average Delay = 0.021576
STDV = 0.007095
4
http://www.isi.edu/nsnam/ns/
A Multi-agent System-Based Resource Advertisement Model for Grid Environments 345
To assess the system’s ability to cope with expandability, the second test has
evaluated the effect of increasing the number of nodes on system performance. As the
number of nodes increases the number of messages to be sent across the system is
increases since more advertisements will be sent. As shown in Fig. 5, the delay time
has increased dramatically in response to the increase in the number of nodes. The
increase in the delay is logical since more advertisements will be sent through the
system but the average delay time still remains reasonable under 0.05 ms.
In the third test, we have evaluated the effects of our advertisement process
inanover-utilized network. We have designed a normal network with UDP5 agents
that send and receive data packets in addition to our system advertisement messages.
The idea behind this test is to evaluate the network performance with our
advertisements making use of the network resources with CBR6traffic already in use.
Fig. 5 shows the average delay time with and without advertisements. The test has
showed that there is a small (hardly noticeable) increase in the delay time when the
advertisements have been incorporated into the system. The small increase in the
delay time has occurred because the advertisement messages have made use (shared)
the network resources alongside the other network activities.
The difference in delay is small and has no effect on system performance because
of the following reasons. First of all the message size; in the system architecture the
message has been designed to be small in size so that it does not need large network
bandwidth to be sent. Instead, the message could make use of any available small
bandwidth which is more probably not used by other network activity. The second
reason is the advertisement system architecture itself which sends advertisement
messages just to the neighbors’ nodes that have direct connections which avoids
wasting time in routing.
Ϭ͘Ϭϰϲ
Ϭ͘Ϭϰϰ
Ϭ͘ϬϰϮ
ĞůĂLJǁŝƚŚŽƵƚ
Ϭ͘Ϭϰ ĚǀĞƌƚŝƐĞŵĞŶƚ
Ϭ͘Ϭϯϴ
ĞĞůĂLJǁŝƚŚ
Delay
Ϭ͘Ϭϯϲ ĚǀĞƌƚŝƐĞŵĞŶƚ
Ϭ͘Ϭϯϰ
Ϭ͘ϬϯϮ
Ϭ͘Ϭϯ
Ϭ͘ϬϮϴ
ϭϬ ϭϱ ϮϬ Ϯϱ ϯϬ ϯϱ ϰϬ ϰϱ ϱϬ
Number of nodes
5
UDP stands for User Datagram Protocol.
6
CBR stands for Constant Bit Rate.
346 M. Al-Asfoor, M. Fasli, and S. Al-Majeed
References
1. Abbas, A.: Grid Computing: a Practical Guide to Technology and Applications. Charles
River Media (2004)
2. Bote-Lorenzo, M.L., Dimitriadis, Y.A., Gómez-Sánchez, E.: Grid Characteristics and
Uses: A Grid Definition. In: Fernández Rivera, F., Bubak, M., Gómez Tato, A., Doallo, R.
(eds.) Across Grids 2003. LNCS, vol. 2970, pp. 291–298. Springer, Heidelberg (2004)
3. Brooke, J., Fellows, D., Garwood, K., Goble, C.: Semantic matching of Grid Resource
Descriptions. In: Dikaiakos, M.D. (ed.) AxGrids 2004. LNCS, vol. 3165, pp. 240–249.
Springer, Heidelberg (2004)
4. Elmroth, E., Tordsson, J.: Grid resource brokering algorithms enabling advance
reservations and resource selection based on performance predictions. Future Generation
Computer Systems 24, 585–593 (2008)
5. Fasli, M.: Agent Technology for e-Commerce. John Wiley & Sons Inc., Chichester (2007)
6. Fattahi, S., Charkari, N.: Distributed ACS Algorithm for Resource Discovery in Grid. In:
International Conference on IT to Celebrate S. Charmonman’s 72nd Birthday, Thailand
(March 2009)
A Multi-agent System-Based Resource Advertisement Model for Grid Environments 347
7. Guan, T., Zaluska, E., De Roure, D.: An Autonomic Service Discovery Mechanism to
Support Pervasive Devices Accessing the Semantic Grid. International Journal of
Autonomic Computing, 34–49 (2009)
8. Ludwig, S., Van Santen, P.: A Grid Service Discovery Matchmaker Based on Ontology
Description. In: Proceedings of the Second International EuroWeb2002 Conference,
Oxford, UK, pp. 17–18 (2002)
9. Schopf, J., Pearlman, L., Miller, N., Kesselman, C., Foster, I., D’Arcy, M., Chervenak, A.:
Monitoring the Grid with the Globus Toolkit MDS4. Journal of Physics: Conference
Series 46, 521–525 (2006)
10. Timm, I., Pawlaszczyk, D.: Large Scale Multi-agent Simulation on the Grid. In:
Proceedings of the 5th IEEE International Symposium on Cluster Computing and the Grid
(CCGrid 2005), vol. (1), pp. 334–341 (2005)
11. Wright, D., Miller, K., Livny, M.: Condor - A Distributed Job Scheduler. In: Tannenbaum,
T. (ed.) Beowulf Cluster Computing with Linux. The MIT Press, NY (2002)
12. Youssif, A., Ghalwash, A., Ezz El Dien, M.: An Efficient Decentralized Grid Service
Advertisement Approach Using Multi-Agent System. Journal of Computer and
Information Science 3 (2010)
Grid-Enabled Framework for Large-Scale
Analysis of Gene-Gene Interactions
1 Introduction
The main problem encountered actually by biologists is the identification, char-
acterization and gene-gene interactions detection for common human diseases
such as cancer and diabetes. This problem is particularly complex because the
explosion of biological informations. The multifactor dimensionality reduction
(MDR) method [12] can be used to address this problem.
Multifactor dimensionality reduction [12] is a non-parametric data mining
approach for detecting and characterizing combinations of attributes or inde-
pendent variables that interact to influence a dependent or class variable. The
rationale behind this method is to identify the multilocus genotypes that best
predict the outcome of interest. The MDR approach aims to reduce the dimen-
sionality of multilocus genotype space to facilitate the identification of gene-gene
interactions. This method can be computationally intensive, especially when
more than ten polymorphisms need to be evaluated.
Grid computing is a computing architecture that provides capabilities for
manipulating geographically distributed resources as a single meta-system. The
Grid provides protocols and services to share computing resources, data and
software managed by multi-institutional virtual organizations [6]. Grid services
A. Özcan, J. Zizka, and D. Nagamalai (Eds.): WiMo/CoNeCo 2011, CCIS 162, pp. 348–357, 2011.
c Springer-Verlag Berlin Heidelberg 2011
Grid-Enabled Framework for Large-Scale Analysis of Gene-Gene Interactions 349
are provided by middleware systems such as Globus, Legion, gLite, and Uni-
core [6]. These middleware systems are meta-systems that run on top of existing
operating systems and networks. The development of grid systems supporting
genomics is needed to help biologists to address computational problems. The
design of such systems has to take into account actual Grid standards like Web
Service Resource Framework (WSRF) [5]. WSRF is a set of Web services spec-
ifications that describe the means by which a stateful resource is defined and
associated with a Web services description, forming the overall type definition
of a WS-Resource [14].
This paper describes the architecture of a framework for supporting the MDR
method on Grid environments, discusses design aspects and execution mecha-
nisms. The aim of this framework is to help biologists to automate the execution
of multiple tests of gene-gene interactions detection. The remainder of the paper
is organized as follows: the MDR method is briefly reviewed in section 2 and a
grid-enabled MDR framework implementation is presented in section 3. Section
4 describes the execution steps of the MDR method on the proposed frame-
work. Section 5 tries to compare our framework to related works. Finally, sec-
tion 6 discusses the proposed framework, concludes the paper and opens future
perspectives.
and an independent test set (for example, 1/10 of cases and controls). For
each subset of the data, the training set classification error is computed
for each genotype combination. This step is repeated in the ten random
subsets. The interaction with the lowest classification error (averaged over
the ten random subsets) is selected as the ’best interaction’. The whole cross-
validation procedure is itself repeated ten times to protect against chance
division and all resulting statistics are averages over these ten runs.
– Step 3: all interactions selected through steps 1 and 2 are also evaluated
for their cross-validation consistency (number of times the same genotype
combination is identified across the ten repetitions of the cross-validation
procedure) and testing accuracy.
– Step 4: steps 1 through 3 are repeated for a range values of k. The interac-
tion that maximizes the cross-validation consistency and testing accuracy is
selected as the final best candidate interaction across all k-multilocus models.
Fig. 2. Web Services interactions between a client and the Grid-enabled MDR frame-
work
Dispatching nodes are composed of a load balancing module and a Web ser-
vice (MDR Service). The MDR Service executes the MDR method remotely
invoked by the user. Indeed, the user invokes the MDR method with the cho-
sen parameters and metadata informations. Metadata contain a ranking of the
dataset attributes and the parameters represent mainly the attribute combina-
tions range, the cross-validation count and the search method. Based on these
metadata and parameters, the load balancing module calculates the number of
possible genotypes combinations. The load balancing module spread the com-
binations between lower level dispatching nodes or directly between computing
nodes. To optimize the load balancing we use a clustering approach. The com-
puting nodes are grouped into virtual clusters depending on their computing
performances. Each cluster is composed by equivalent computing nodes and a
dispatching node which is responsible for managing intra-cluster and potentially
inter-cluster load balancing.
Computing nodes are composed of a data mining module, which implements
a set of data mining algorithms and a Mining Service, which exports all provided
Grid-Enabled Framework for Large-Scale Analysis of Gene-Gene Interactions 353
algorithms through a single Web service. The Mining Service notifies its cluster
dispatching node of the pending work and the final result.
The development of the services composing the grid-enabled MDR framework
respects the WSRF specifications [5]. Thus, the WSResourceLifetime supplies
some basic mechanisms to manage a resource lifecycle. This implies three ba-
sic operations: resource creation (createResource), subscription to notification
(subscribe), and resource destruction (destroy).
In addition of the WSRF basic operations, each service of the framework
needs another operation to execute the MDR method. MDR Service exposes
mdrExecute operation through which it receives the parameters of the MDR
process to be executed for which it calculates all possible combinations. It also
exposes mdrDispatch operation through which it receives the set of combinations
to be distributed to computing nodes. Mining service exposes the classify op-
eration which executes a classification algorithm on target data, the loadStatus
and updateStatus operations which respectively notifies the workload status and
updates the old workload by a new one. Data Service exposes the publishData
operation to publish stored data to the user. It also exposes the filter opera-
tion to execute filtering operations on local dataset and to publish the metadata
describing the results.
1. Data discovery: the user invokes the publishData operation of the Data
Service, which requests the database and returns information about hosted
datasets.
2. Attribute selection: the user chooses the filtering algorithm to execute and
its parameters, then invokes the filter operation of the Data Service, which
requests the Metadata Repository (MR) searching the result of a previous
execution of the required algorithm. If the search fails, the filtering algorithm
is locally executed. Finally, the filtering result is returned to the user as
metadata information (in XML format).
3. MDR task submission: based on the results of the second step, the user con-
figures the MDR task and submits it by invoking the mdrDispatch method
of the MDR service.
4. Workload computation: the dispatcher nodes executes the load balancing
module to calculate the number of possible genotypes combinations. The
result is stored as a Web service resource to keep state information. Based
on these informations and the contributing computing nodes performances
a workload is assigned to each computing node.
354 M.B.H. Hmida and Y. Slimani
9. Status notification: the Mining Service notifies its workload status to the
MDR Service by invoking the deliver operation.
10. Load balancing: if the MDR Service needs to balance the workload, it in-
vokes the updateStatus operation of the Mining Service of the overloaded
computing nodes. The MDR Service goes to step 5 to assign workload to
idle nodes.
11. Result notification: whenever a computing node has finished its workload, the
Mining Service notifies its selected models to the MDR Service by invoking
the deliver operation. Depending on the previous load balancing operations,
the MDR Service decides if its necessary to go to step 8.
12. User notification: when all the computing nodes have finished their workload,
the MDR Service notifies the results to the user.
5 Related Works
Even if there no works, in our knowledge, that face directly the MDR prob-
lem, there are some efforts that consider the execution of time-consuming Data
Mining processes. Some of the projects like GridWeka, WekaG and Weka4WS
aimed to adapt the Weka toolkit to a grid environment. Other works like those
of Halling-Brown aim to develop a unified interface to access a large set of com-
putational resources [8].
GridWeka [9] is an ongoing work at the University of Dublin, which distributes
classification algorithms using the cross-validation method over computers in an
ad- hoc Grid. The system is composed by two main components: Weka Server
and Weka Client. Each participating machine runs the original Weka as server
component. The Weka client allows users to specify the target algorithms and
datasets, and also to specify resources and tasks constraints.
Another system using the client server architecture is WekaG [11]. The WekaG
server implements data mining algorithms while the client side instantiates grid
services. WekaG is an implementation of a more general architecture called Data
Mining Grid Architecture (DMGA) based on Weka and Globus Toolkit 4. DMGA
provides the composition of services on workflows. WekaG provides the same user
interface as Weka and can support parallel algorithms.
Weka4WS [13] is framework that extends the open-source Weka toolkit (Weka)
to support distributed data mining in Grid environments. Weka4WS also extends
the Weka GUI to enable the invocation of the data mining algorithms that are
exposed as Web Services on remote machines. Weka4WS uses the Web Services
Resource Framework (WSRF) [5] to ensure interoperability with standard Grid
environments such as Globus Toolkit 4. The architecture of Weka4WS includes
three kinds of nodes:
the bottle neck for parallel and distributed applications. As perspective of our
work, we think that it would be interesting to experiment our framework in a
real biological laboratory.
References
1. Briollais, L., Wang, Y., Rajendram, I., Onay, V., Shi, E., Knight, J., Ozcelik, H.:
Methodological issues in detecting gene-gene interactions in breast cancer suscep-
tibility: a population-based study in Ontario. BMC Med 5:22 (2007)
2. Bush, W.S., Dudek, S.M., Ritchie, M.D.: Parallel multifactor dimensionality reduc-
tion: a tool for the large-scale analysis of gene-gene interactions. Bioinformatics 17,
2173–2174 (2006)
3. Christensen, E., Curbera, F., Meredith, G., Weerawarana, S.: Web Ser-
vices Description Language (WSDL) 1.1, W3C Note 15 March (2001),
http://www.w3.org/TR/2001/NOTE-wsdl-20010315
4. Computational Genetics Laboratory, http://www.epistasis.org/software.html
5. Czajkowski, K.: The WS-Resource Framework Version 1.0 (2004),
http://www-106.ibm.com/developerworks/library/ws-resource/ws-wsrf.pdf
6. Foster, I., Kesselman, C.: The Grid: Blueprint for a New Computing Infrastructure.
Morgan Kaufmann, San Francisco (1999)
7. Globus Toolkit, http://www.globus.org/toolkit
8. Halling-Brown, M.D., Moss, D.S., Sansom, C.E., Shepherd, A.J.: A computa-
tional Grid framework for immunological applications. Phil. Trans. R. Soc. A. 367,
2705–2716 (2009)
9. Khoussainov, R., Zuo, X., Kushmerick, N.: Grid-enabledweka: A toolkit for ma-
chine learning on the grid. ERCIM News (59) (2004)
10. Moore, J.H., Gilbert, J.C., Tsai, C.-T., Chiang, F.T., Holden, W., Barney, N.,
White, B.C.: A flexible computational framework for detecting, characterizing,
and interpreting statistical patterns of epistasis in genetic studies of human disease
susceptibility. Journal of Theoretical Biology 241, 252–261 (2006)
11. Pena, J.M., Robles, V., Herrero, P., Snchez, A., Prez, M.S.: Adapting the weka
data mining toolkit to a grid based environment. In: 3rd Atlantic Web Intelligence
Conference, Lodz, pp. 492–497 (2005)
12. Ritchie, M.D., Hahn, L.W., Roodi, N., Bailey, L.R., Dupont, W.D., Parl, F.F.,
Moore, J.H.: Multifactor-dimensionality reduction reveals highorder interactions
among estrogen metabolism genes in sporadic breast cancer. American Journal of
Human Genetics 69, 138–147 (2001)
13. Talia, D., Trunfio, P., Verta, O.: Weka4WS: A WSRF-Enabled Weka Toolkit for
Distributed Data Mining on Grids. In: the 9th European Conference on Principles
and Practice of Knowledge Discovery in Databases, Porto, pp. 309–320 (2005)
14. Tuecke, S., Czajkowski, K., Foster, I., Frey, J., Graham, S., Kesselman, C., Maguire,
T., Sandholm, T., Vanderbilt, P., Snelling, D.: Open Grid Services Infrastructure
(OGSI) Version 1.0, Global Grid Forum Draft Recommendation (2002)
15. Witten, I.H., Frank, E.: Data Mining: Practical machine learning tools and tech-
niques, 2nd edn. Morgan Kaufmann, San Francisco (2005)
A Context-Based Cyber Foraging Approach to
Mobile Computing Empowerment
Abstract. Nowadays mobile devices are very popular and users expect to run
the same applications on mobile devices as on static computers. However, these
devices often have lower performance than static computers that is due to the
constraints imposed on mobile devices by weight, size, and mobility. Cyber
foraging approaches have tried to ameliorate the lower performance of mobile
devices by exploiting more powerful static computers to run some
computational intensive tasks on behalf of mobile devices. Unfortunately, these
approaches have not been effective in all contexts. In this paper, we propose a
new context-aware cyber foraging approach to select the best location to run an
application, based on context metrics such as application specification,
computation cost and communication cost. Experimental results show the
superiority of our proposed approach in achieving lower response time and
energy consumption in executing some benched applications compared to when
these applications are solely run on mobile devices or when these applications
are totally offloaded blindly to surrogates for execution.
1 Introduction
Pervasive computing was introduced by Mark Weiser [1] in 1991. Satyanarayanan [2]
has defined pervasive computing as relating to “environments saturated with
computing and communication capability, yet gracefully integrated with human
users”. One of the key properties of this environment is mobility [3] and usage of
mobile devices such as PDAs, cell phones and sensors embedded in various devices.
Using mobile devices in pervasive environment necessitates running applications
on them that need higher computing capability and resources (i.e., energy, memory,
and storage) more than available on mobile devices. Some examples of such
applications are natural language translator [4, 5], speech recognizer [4, 5], optical
character recognizer [4], image processor [6], and games with high amount of
processing [7].
Cyber foraging is one of the most important and favourable solutions to cope with
resource poverty of mobile devices, especially in pervasive computing. Generally,
A. Özcan, J. Zizka, and D. Nagamalai (Eds.): WiMo/CoNeCo 2011, CCIS 162, pp. 358–367, 2011.
© Springer-Verlag Berlin Heidelberg 2011
A Context-Based Cyber Foraging Approach to Mobile Computing Empowerment 359
2 Related Work
There are several approaches with different objectives that have used the offloading
of applications, but the term “cyber foraging” was first introduced by Satyanarayanan
[2] as offloading applications from mobile devices to static computers. Spectra [5]
and Chroma [4, 8, 9] are the first cyber foraging systems that are focused on reducing
the latency.
While, Gu et al. [10] have used a graph model to select offloading parts of the
program to improve memory constraint of mobile device, Ou et al. [11, 12] have used
a similar method to address the CPU and bandwidth constraint, too. Song et al. [13,
14] has proposed a middleware architecture, called MobiGo for seamless mobility to
choose the best available service according to the bandwidth and latency, and
Kristensen [15] has introduced Scavenger as a cyber foraging framework whose focus
is on CPU Power of mobile devices.
However, none of the mentioned works address directly energy constraint in
mobile devices. Othrnan et al. [16] were one of the oldest researchers who employ the
offloading to reduce the power consumption. Cuervo et al. [17] present an
infrastructure, called MAUI to offload the applications and reduce the energy
consumption. They have located the solver (decision-making unit) out of the mobile
device to decrease the computation cost, while burden more communication cost.
Kemp et al. [18] also presented Ibis to compare offloading with local execution in
terms of responsiveness, accuracy and energy consumption.
In this paper, we propose a context-aware decision-making mechanism to make
decisions about task offloading in terms of not only energy consumption, but also
current processing power and available memory to improve response time and energy
consumption in mobile devices.
Mobile devices, due to their mobility nature, cannot be plugged in most of times.
Therefore, energy consumption is one of the most important constraints of mobile
360 S. Kafaie, O. Kashefi, and M. Sharifi
devices [19]. On the other hand, portability requirements necessitate being as light
and small as possible. The inherent constraints include low processor speed, memory,
storage size, network bandwidth and limited battery life-time.
Ubiquitous availability of advanced mobile technologies makes users to expect to
run the same applications on mobile devices and static computers. However,
regarding resource poverty of mobile devices, it is evident that static computers
perform the tasks faster and more accurate. Besides, it is possible that the mobile
device does not have sufficient memory, storage or battery to complete the task.
To run the task on a static computer (i.e. surrogate), it is required to send the
related code and data from mobile device to the surrogate and receive back the results,
which is a time and energy-consuming process. The time of sending/receiving data
(application code, input parameters and results) to/from the surrogate depends on the
size of data and results as well as on the network bandwidth.
Cyber foraging causes reduction of execution time and energy consumption due to
the exploiting more powerful surrogates, but transmission of associated information
increases response time and decreases battery life-time. Since communication usually
consumes more energy than computation [18], it raises an issue: “under which
circumstances is it worth to use offloading?”. Therefore, a decision system must
imply that a task is worth to offload to a surrogate or not. In what follows, we present
a mechanism to decide about task offloading according to the context information.
4.2 Solver
If we suppose to offload either the whole task or nothing and every time we make
decision for only one task, we can define the solver as a formal cost function. The
cost function is calculated for the mobile device and every surrogate; either the
mobile device or a surrogate with minimum cost value, would be the execution
platform of the task.
In this paper, we suppose having context metrics to estimate the execution cost.
We define the current processing power as Equation 1, where Pu is the percentage of
usage of processor, and Ps is the processor speed.
1 (1)
The cost function to determine the target execution location is defined by Equation 2.
(2)
Where w1 to w4 are the weighting factors which are non-negative values; the
summation of them is one and represents the importance of the corresponding factors.
Calculating the Cost for the mobile device, the Time factor is the execution time of
the task on mobile device (Timemobile) and the Energy factor referred to energy
consumption at run-time that is defined as Equation 3.
(3)
/ (5)
(6)
Proposed_Solver()
{
if ((Available_MemoryMobile<Required_MemoryApplication) or
(Available_EnergyMobile<Required_EnergyApplication))
{
Mobile_In_Competition = FALSE;
}
foreach surrogate
{
Calculate time and energy to offload the task();
if ((Available_MemorySurrogate[i]<Required_MemoryApplication) or
(Available_EnergyMobile<Required_EnergySurrogate[i]))
{
Surrogate[i].In_Competition = FALSE;
}
}
if (forall Surrogates: Surrogate[i].In_Competition == FALSE)
{
if (Mobile_In_Competition == TRUE)
LocalExecution();
else
DoNothing();
}
Else
{
foreach Surrogate/Mobile: ifIn_Competition == TRUE
{
CalculateCost;
}
Execute the task on the Surrogate/Mobile with minimal Cost();
}
}
5 Evaluation
To quantify the effectiveness of our proposed approach, we constructed a test bed
consisting of one mobile device and one surrogate whose specifications are given in
Table 1. The mobile device was connected to surrogates via 802.11b/g WLAN. The
context information of mobile device, surrogate, and applications were presented in XML
file format. Figure 2 shows the context information of mobile device, and Figure 3 shows
the context information of the available surrogate in the chosen test bed.
We evaluated the effectiveness of our proposed approach with respect to
responsiveness and resource consumption. We evaluated the responsiveness of the
proposed approach through a scenario where the user intended to execute an application
for finding the nth prime number, which is a CPU intensive application, and needed
A Context-Based Cyber Foraging Approach to Mobile Computing Empowerment 363
<MobileDevice>
<NodeContext>
<Name> Mobile </Name>
<CPU> 524MHz </CPU>
<InstructionPSecond> 270 </InstructionPSecond>
<Load> 0.05 </Load>
<AvailableMemory> 91MB </AvailableMemory>
<AvailableBattery> 800J </AvailableBattery>
</NodeContext>
</MobileDevice>
<Surrogates>
<NodeContext>
<Name> Surrogate1 </Name>
<CPU> 5000MHz </CPU>
<InstructionPSecond> 938010 </InstructionPSecond>
<Load> 0.1 </Load>
<AvailableMemory> 2200MB </AvailableMemory>
<Bandwidth> 1KB/S </Bandwidth>
</NodeContext>
</Surrogates>
high computing power and low memory size on a mobile device where a surrogate was
in range. Figure 4 shows the context information of the nth prime application.
We evaluated the proposed approach with respect to resource consumption through
a scenario where the user intended to execute an application to determine a matrix
determinate, which needed high computing power and size of input data was
respectively high. Figure 5 shows the context information of matrix determinate
application.
364 S. Kafaie, O. Kashefi, and M. Sharifi
<ApplicationContext>
<Name> Nth Prime Number </Name>
<RequiredMemory> 0.6MB </RequiredMemory>
<CodeSize> 1KB </CodeSize
<BaseInputSize> 0.05KB </BaseInputSize>
<BaseOutputSize> 0.05KB </BaseOutputSiz>
<Order>
(N*ln(N)+(N*ln(ln(N))))*(pow(N*ln(N)+(N*ln(ln(N))),0.5))
</Order>
</ApplicationContext>
<ApplicationContext>
<Name> Matrix Determinant </Name>
<RequiredMemory> 9MB </RequiredMemory>
<CodeSize> 2KB </CodeSize
<BaseInputSize> 0.1KB </BaseInputSize>
<BaseOutputSize> 0.05KB </BaseOutputSiz>
<Order> N! </Order>
</ApplicationContext>
We measured the response time and resource consumption in three scenarios: local
execution of application on mobile device, offloading the application and execution
on surrogate, and using our proposed method to find the execution location and run it.
5.1 Responsiveness
20000
Local Execution
18000 Offloading
Our Solver
16000
14000
Response Time (ms)
12000
10000
8000
6000
4000
2000
0
11…
13…
14…
16…
17…
19…
20…
22…
23…
25…
26…
27…
28…
29…
30…
100
200
300
500
550
600
650
700
750
800
950
Input N
Fig. 6. Comparison of execution time for finding the nth prime number application
70000
Local Execution
60000 Offloading
Our Solver
50000
Energy (milli joule)
40000
30000
20000
10000
0
2 3 4 5 6 7 8 9 10
Row Count in Matrix
References
1. Weiser, M.: The Computer for the 21st Century. Scientific American Special Issue on
Communications, Computers, and Networks, 94–104 (September 1991)
2. Satyanarayanan, M.: Pervasive Computing: Vision and Challenges. IEEE Personal
Communicatin 8 (August 2001)
A Context-Based Cyber Foraging Approach to Mobile Computing Empowerment 367
Dzenan Ridjanovic
1 Introduction
A domain model is a model of specific domain classes that describe the core data and
their behavior [1]. In business terms, a domain model is a model of the domain.
Within the domain, an organization conducts its business [2]. The memory of any
organization may be abstracted as a domain model. The backbone of data intensive
software is a domain model. The core of an organizational information system is a
domain model.
It is hard to design a model that reflects well its domain, as it is not easy to develop
software based on a domain model. A way to validate and improve a domain model is
to use an application developed on the model. It is much easier for a domain expert to
use the application than to read the model. By adding, editing, removing, retrieving
and navigating real data it becomes obvious to a domain expert what is wrong with
the model. However, it takes resources to develop an application based on a domain
model. A research goal is to reduce the time to develop an application based on a
domain model.
There are two categories of prototypes developed on a domain model. The first
category represents applications that are very close to their domain models. Its
objective is to make a domain model alive to allow users to validate the model. After
the model is validated, the application is pushed to the background to allow an
administrator to quickly make some changes in data. This category represents model
prototypes. A prototype of a domain model may be considered as a default application
of the model. After some improvements in the model, a new prototype is constructed
to continue with model validations. This is repeated until the model becomes stable.
A. Özcan, J. Zizka, and D. Nagamalai (Eds.): WiMo/CoNeCo 2011, CCIS 162, pp. 368–377, 2011.
© Springer-Verlag Berlin Heidelberg 2011
Model Driven Prototyping with Modelibra 369
There are some simple rules that determine how a domain model may behave by
default as an application. Some of those rules may be reconfigured to make a default
application a bit easier to use. The rules may be used to even generate a default
application based on a domain model and its configuration.
The second category of prototypes represents applications that are close to user
views of the domain model [3]. Its objective is to validate user views of the domain
model. After views are validated, the application may be used to satisfy some basic
needs of users. This category represents functional prototypes. A functional prototype
may be considered as live design of user interfaces. In order to quickly respond to
user demands, a catalogue of reusable generic components must be available. A
generic component uses the domain model, but is not dependent on specific details. A
decent size catalogue of generic components increases development productivity.
One of bottlenecks of model driven development is a database that represents a
domain model. It is time consuming to propagate changes of a domain model to a
database schema. If our database is relational, it is not trivial to develop a code that
would map objects in main memory to table rows in a database.
The Eclipse Modeling Framework (EMF) [7] belongs to the same software
category as Modelibra. EMF is a Java framework and code generation facility for
building tools and other applications based on a structured model. It is a professional
framework that may not be easy to learn for developers of prototypes or small
applications and students of software engineering or information systems.
3 Domain Model
A domain model consists of user concepts, concept properties and relationships
between concepts, which are represented graphically. Figure 1 represents a domain
model of web links that are of interest to certain members. The domain model has
been designed with the help of the ModelibraModeler tool. The domain is called
DmEduc and the model is named WebLinks.
The domain model's concepts are: Url (Uniform Resource Locator), Question,
Category, Member, Interest and Comment. The Url concept describes a web link. Urls
are divided into categories that may have subcategories. The Question concept
represents a frequently asked question about the use of the web application. Questions
are optionally categorized. Members show their interests in categories of web links.
Comments can be made about anything related to the web application.
A concept is defined by its attributes: properties for data and neighbors for
relationships. For example, the Url concept has the description property, which may
be null (the o symbol in front of the property name). A relationship between two
concepts is represented by two neighbor directions displayed together as a line. A
neighbor direction is a concept’s special property, with a name and a range of
cardinalities. Note that both neighbor name and cardinalities are displayed close to the
Model Driven Prototyping with Modelibra 371
source concept, which is different from the notation used in UML [8], where
cardinalities are moved close to the destination concept. Since the neighbor name and
cardinalities are neighbor properties of the source concept, it is more natural to use
them in a similar manner as properties. A concept’s neighbor is either a child or a
parent. A child neighbor has the maximum cardinality of N (or a number greater than
1). A parent neighbor has the maximum cardinality of 1.
At the level of data, a concept is represented as a collection of entities. The
retrieval of entities starts with the entry concepts of the domain model. In the
WebLinks domain model, the entry concepts are Category, Question, Member and
Comment. They all have a green border and the || symbol in the upper left corner of
the concept. Once an entity of the entry concept is retrieved in the collection of
entities, the retrieval of neighbor entities may start. A child neighbor is represented as
a collection of entities. A parent neighbor is represented as a single entity.
The Url concept is not an entry concept. Hence, entities of the Url concept may be
reached only through its parent Category concept. As a non-entry, the Url concept has
a light orange border. The Interest concept has two parents. Thus, interests may be
retrieved either from the Member concept or the Category concept. A concept that has
more than one parent is called an intersection concept. An intersection concept that
represents a many-to-many relationship has a brown border and the X sign in the
upper right corner of the concept.
Every concept has a predefined property called oid. The oid property is mandatory.
It is used as an artificial concept identifier and is completely managed by Modelibra.
Its value is unique universally. In addition, a concept may have at most one user
oriented identifier (id), which consists of properties and/or neighbors. In an entry
concept, all entities must have a unique value for the concept id. However, in a non-
entry child concept, the id is often unique only within the child parent. For example,
the id of the Url concept is defined by the name property and the category neighbor.
Hence, a name must be unique only within its category.
By default, a neighbor is internal. In that case, a relationship has a light orange
color. Starting with an entry concept and following internal neighbors, produces a
hierarchical submodel of concepts. By default, this submodel of entities is saved in a
single XML data file. When a neighbor is external, the relationship has a brown color
and it connects two concepts, each in a different hierarchical submodel. The child
entity has a reference oid that points to the parent entity. The reference oid is used by
Modelibra to load data from XML data and to reconstruct a pure object model of
entities out of submodels of entities.
The Modelibra page (Figure 3) is the application's domain page with a table of
domain models. The domain title is DmEduc Domain and the only model in the
domain is WebLink. The model has two button-like data links, one for displaying
model entries and another for updating model entries. The Home link displays the
application home page.
The display model page (Figure 4) presents a table of model entry concepts. Every
entry concept has Display and Select links. The Display link shows the concept as a
table of entities. Only required properties are presented.
The update model page presents a table of model entry concepts with Update links.
Each entry concept has its own display and update page with a table of entities. The
Context link in the upper left corner of a page plays a role of the back button. An
entity may be displayed, selected or updated. A new comment can be added and an
existing comment can be displayed (with all details), edited or removed. In Figure 5,
only one comment is displayed.
When an entity is added or edited using a form, its properties are validated with
respect to the XML configuration of the concept. If there are errors, they are
displayed in front of the form. For example, in Figure 6, an empty comment is added.
When the add form is displayed, the Save button is clicked to add an empty comment.
Since the text property is required, the corresponding error is displayed in front of the
form, and a small star after the field in question shows that there is a problem with the
value of that field.
In Figure 7 only Software categories are shown. Note that both parent and child
categories are displayed. For the Software parent category there are three
subcategories: Framework, Tools, Web Meeting. Each displayed category has its
corresponding Urls (web links) and Categories (subcategories).
374 D. Ridjanovic
5 Modelibra Views
Once a domain model is validated through the model's default application, model
views may be used to start developing web components that would be building blocks
of web pages. The new home page will be presented here, where each section of the
page is a placeholder of a web component. Some of those web components will be
specific and some generic. A specific component is developed by a web application
programmer with the objective to focus on a specific page section. A generic
component is developed by an advanced programmer to support the needs of different
web applications through its parameters.
Model Driven Prototyping with Modelibra 375
The HomeMenu Java class is a specific web component that is used only in this
web application. The SigninPanel Java class is a generic web component that may be
reused in different web applications. The SigninPanel component may be found in a
catalogue of generic web components of ModelibraWicket. Both specific and generic
web components are used in similar way.
The HomeMenu component is added in the HomePage specific class in the
following way.
DmEducApp dmEducApp = (DmEducApp) getApplication();
DmEduc dmEduc = dmEducApp.getDmEduc();
WebLink webLink = dmEduc.getWebLink();
ViewModel homePageModel = new ViewModel(webLink);
View homePageView = new View();
homePageView.setWicketId("homeMenu");
add(new HomeMenu(homePageModel, homePageView));
The first step is to get the WebLink model. The model is obtained from the
DmEduc domain that comes from the DmEducApp web application.
The getApplication method is inherited from Wicket. The menu component has two
composite arguments. The first argument is an object of the ViewModel class. The
second argument is an object of the View class. Both classes come from
376 D. Ridjanovic
ModelibraWicket. The two composite arguments are constructed and their specific
parameters are set. Then, the menu component with those two filled arguments is
constructed and added to the home page.
The SigninPanel generic component is added to the home page in a similar way.
ViewModel signInViewModel = new ViewModel(webLink);
signInViewModel.setEntities(members);
signInViewModel.setEntity(new Member(members.getModel()));
View signInView = new View();
signInView.setWicketId("signIn");
Panel signIn = new SigninPanel(signInViewModel, signInView);
add(signIn);
add(new FeedbackPanel("signInFeedback"));
if (getAppSession().isUserSignedIn()) {
signIn.setVisible(false);
}
The view model consists of a collection of existing members and a member object
that will accept two values entered by a user. If a member with the given code and
password values exists, the sign in will be successful and the sign in panel will
become invisible. If there is an error, the error message will be displayed in a
feedback panel and the sign in panel will stay visible to allow a user to enter correct
values.
The Comments component is defined on the single Comment concept based on the
current entities of that concept. The display is of the table type and the concept's
essential properties are displayed, here only the text property. The class of the generic
web component is EntityDisplayTablePanel.
ViewModel commentsModel = new ViewModel(webLink);
Comments comments = webLink.getComments();
commentsModel.setEntities(comments);
View commentsView = new View();
commentsView.setWicketId("commentTable");
EntityDisplayTablePanel commentTable = new
EntityDisplayTablePanel(commentsModel, commentsView);
add(commentTable);
The Comments web component has a simple view model based on one concept.
Often there is a need to display data based on the one-to-many relationship between
two concepts. The ParentChildPropertyDisplayListPanel generic component displays
one property from a parent entity and one property from a child entity, in a list of
parents with the corresponding child list for each parent.
ViewModel categoryUrlsModel = new ViewModel(webLink);
Categories categories = webLink.getCategories();
Categories orderedApprovedCategories = categories
.getApprovedCategories().getCategoriesOrderedByName();
categoryUrlsModel.setEntities(orderedApprovedCategories);
categoryUrlsModel.setPropertyCode("name");
categoryUrlsModel.getUserProperties().addUserProperty(
"childNeighbor", "urls");
categoryUrlsModel.getUserProperties().addUserProperty(
"childProperty", "link");
View categoryUrlsView = new View();
Model Driven Prototyping with Modelibra 377
categoryUrlsView.setWicketId("categoryNameUrlLinkList");
categoryUrlsView.setTitle("Category.WebLinks");
ParentChildPropertyDisplayListPanel categoryNameUrlLinkList =
new ParentChildPropertyDisplayListPanel(categoryUrlsModel,
categoryUrlsView);
add(categoryNameUrlLinkList);
In the view model, the categories entry point is obtained from the domain model
and its subset of only approved categories, ordered by name, is set as entities. The
property code is set to name. The ViewModel class has a generic way of adding
additional, user oriented properties. Two user properties are defined here and they are
used to find children of a parent and a child property that will be displayed.
The childNeighbor user property is the urls neighbor of the Category concept.
The childProperty user property is the link property of the Url concept.
6 Conclusion
Modelibra is a software family that provides tools and frameworks to design a domain
model, to generate Java code for the model, to validate the model through a default
application, and to use generic components, based on the model, for user views. It is
hard to design well a domain model. A way to help designers is to generate a default
application based on the model and to use the application in order to realize what
needs to be done to improve the model.
Once a domain model is validated, it is also important to quickly create user views
of the model. This is only possible if user views are not created from scratch, but from
a well designed catalogue of generic components.
References
1. DSM Forum, http://www.dsmforum.org/
2. Domain Modeling,
http://www.aptprocess.com/whitepapers/DomainModelling.pdf
3. Model-driven prototyping,
http://hci.uni-konstanz.de/downloads/
CorporateUISpec_IFIP_TM_CB_HR.pdf
4. Modelibra, http://www.modelibra.org/
5. Terracotta, http://www.terracotta.org/
6. Modelibra Education, https://www.assembla.com/wiki/show/modelibra
7. Eclipse Modeling Framework, http://www.eclipse.org/emf/
8. Unified Modeling Language, http://www.uml.org/
9. Plain Old Java Objects, http://en.wikipedia.org/wiki/POJO
10. Wicket, http://wicket.apache.org/
An Implementation of Axml(T ) : An Answer Set
Programming Based Formal Language of
Authorisation for XML Documents
1 Introduction
The Extensible Markup Language (XML) [15] has established itself as a popular
and reliable formatting structure for the storage, presentation, and communica-
tion of data over the Internet. In our previous paper, we discussed the importance
of securing XML documents [11]. To our present knowledge, XML does not in-
corporate security methods as part of its specification [15]. Ideally, access control
can be achieved through the implementation of a formal language of authorisa-
tion that can specify security rights to XML documents and their nodes. In [11],
we presented a formal language that could provide necessary security methods
to XML. It is based on the Role-based Access Control model, incorporates the
XPath query language for object specification, and uses temporal logic so that it
can define when authorisations should be enforced. The formal language Axml(T )
is used to define a security policy base capable of specifying all the access rights
that subjects in the scope of an XML environment should have or be denied.
A. Özcan, J. Zizka, and D. Nagamalai (Eds.): WiMo/CoNeCo 2011, CCIS 162, pp. 378–387, 2011.
c Springer-Verlag Berlin Heidelberg 2011
An Implementation of Axml(T ) : An Answer Set Programming 379
This rule means that if L1 ,..., Lm are to be true and if Lm+1 ,...,Ln can be
safely assumed to be false (through negation as failure), then A must be true
[3]. When computing an ASP program, literals like A are returned as a set
for each rule that is reasoned to be true. In our formal language, we specify
predicates in place of L and A as a means to represent relationships or concepts
of access control. By reasoning upon an Axml(T ) logic program, the knowledge
represented in the policy base produces for us an answer detailing authorisations
to the XML documents. ASP is a non-monotonic logic and allows for the use
of variables in place of constant terms. Its expressive power gives Axml(T ) some
traits of a natural language and its use here is what distinguishes it from other
XML security concepts.
To our present knowledge, we also believe that not many authors have pro-
vided software implementations of their XML access control models. For this
reason, we not only present a brief overview of our formal language in this pa-
per, but more importantly, we present a prototype implementation highlighting
the application of Axml(T ) .
The rest of this paper is organised as follows. In Section 2 we will briefly
overview the formal language. Section 3 will present a general outline of the
implementation idea and will discuss in detail how we went about developing the
prototype application. Section 4 will present a case study to aid in understanding
the functionality of the system. Section 5 highlights results found on experiments
we performed on the prototype. We conclude with some comments on further
development ideas we have for the future.
2 Overview of Axml(T )
Axml(T ) consists of a finite set of statements shown in Table 1. A security pol-
icy base is made up of rule statements and facts that define user accessibility
After defining a security policy base with Axml(T ) , the next step is to reason
upon and query what authorisations it allows. However, to do so we must first
382 S. Policarpio and Y. Bai
3 Implementation
This implementation will test the true expressiveness, capability, and limitations
of Axml(T ) in a software application by 1) defining an Axml(T ) policy base, and 2)
translating the policy base and reasoning upon it to discover its authorisations.
Although we are utilising the formal language to protect some arbitrary XML
documents, the implementation will however not actually be restricting user
access to those documents. At this point, we are mainly interested in seeing if
the Axml(T ) authorisation model is feasible. The system will allow us to define
a policy base over some XML documents so that we can query it to see if the
system properly reasons the authorisations it should allow. This will also help
us find new aspects of the language we should add or fix. Also, we will be able
to see if those principles we inherited from the Role-based Access Control model
are working properly.
For the structure of the system, we designed a management module called
pb mgr (policy base manager) that contains a majority of the functionality re-
quired. For ease of use, we incorporate a web-based user interface to execute
the module. Besides the functionality already mentioned, we must also note the
inclusion of an ASP solver and XML Documents database. The Answer Set Pro-
gram solver represents the software tools we will use to ground1 the variables
in the translated policy base and also compute a stable model (answer) from it.
With respect to an XML database, for the sake of simplicity, we stored the XML
documents in a local directory rather than a sophisticated XML storage system.
This allows us to create and utilise simple programming structures to retrieve
XML documents.
The policy base manager pb mgr is written in the Python scripting language
while the web interface was written in PHP. For testing purposes, we setup a local
Linux server with the Apache HTTP Server Project (httpd 2.2.15), PHP (5.3.2),
and Python (2.6.5). We discuss the important functions and design aspects we
created for the pb mgr object class and PHP interface.
Axml(T ) Policy Base Management. We utilised XML for the storage and
retrieval of Axml(T ) rules and facts. We created a document structure using the
XML Schema specification from the W3C [14]. The schema allows us to define a
static structure that the policy base must adhere to. This was important because
it ensured that any rules or facts that were inserted into the policy base were valid
1
A procedure that ensures we have a variable-free logic program.
An Implementation of Axml(T ) : An Answer Set Programming 383
because we wrote the XSD with respect to Axml(T ) ’s syntax. For the addition
of rules or facts to the policy base file, we first parse the document using the
Python Lightweight Document Object Model (minidom) library. This turns the
XML document into an object that we can easily manipulate in Python. Rules
and facts are created and removed using the web interface. For creation, the
user has the choice of selecting from a set of Axml(T ) statements. The interface
temporarily saves all created rules and facts to an XML document, validates
them (using the XSD), and then passes the document to pb mgr so that they
may be copied into the parsed policy base object.
the University of Potsdam [12]. These represent the ASP solver we mentioned
earlier. From within the policy base manager class, we create a sub-process to
execute gringo, Potassco’s grounding program that will take care of the variables
in the policy base. We output a grounded version of our logic program and save
it temporarily to file. Next, we create another sub-process to execute clasp,
Potassco’s answer set solver, with the grounded logic program. The output from
the answer set solver contains the authorisations which we can query to discover
what XML objects subjects have access to. A query is created on the interface
and submitted to the manager for comparison. If a match in the answer set
is found for the query, the manager will indicate that the subject does in fact
have the privilege to do some action on the XML document during the specified
interval.
Outcomes. We tested the prototype with various policy base scenarios to ensure
that the formal language is working properly. Expectedly, Axml(T ) does perform
the way we hoped in terms of the basic features and principles we incorporated
into its formalisation and semantic translation. Although we are generally happy
with the direction of the prototype, it still requires further and extensive testing
to ensure that it meets the requirements of an access control model for XML.
Presently, the source code, example XML document, and other files are available
at http://www.scm.uws.edu.au/∼spolicar/ for the purpose of demonstration or
examination. Naturally, there was some challenges we encountered during devel-
opment that needed to be alleviated immediately. Due to space constraints, we
cannot discuss these challenges in depth. They can be found in full detail in [10].
4 Case Study
In a health and well-being store, nutritional information about particular foods
are stored in an XML database so that employees of the store can access and
provide the data to customers. Users also access the document to reference and
update the information for the purpose of creating meals that utilise the recorded
foods. The XML was originally authored and located at www.alistapart.com/arti-
cles/usingxml/.
For this case study we have four different roles with varying privileges over
the document. Their access rights to specific XPath’s are shown in the following
table:
Role name Privilege XML Object
generaluser +read /nutrition
cookingstaff +read /nutrition/food/name
nutritionist +write /nutrition/dailyvalues
nutritionist +write /nutrition/food
assistant -write /nutrition/dailyvalues
For the scenario there are 5 subjects (Joel, Sarah, Sinead, Patrick, Sean)
assigned to the various roles and temporal intervals. We will also specify the
following rules:
An Implementation of Axml(T ) : An Answer Set Programming 385
The following is the Axml(T ) policy base containing these rules and roles as
well as the grant statements for the subjects. This policy base was generated
by using the prototypes PHP interface to enter each rule individually. Normally,
the policy base would be saved in the XML schema we specified, but we present
it here in normal Axml(T ) syntax for the purpose of readability.
author creates role(generaluser, +, in nutrition, return author grants nutritionist to sarah during T1,
/nutrition, read). author says before(T1, T2).
author creates role(cookingstaff, +, in nutrition, return author will deny if author grants cookingstaff to S dur-
/nutrition/food/name, read). ing monday.
author creates role(nutritionist, +, in nutrition, return author will deny if author grants cookingstaff to S dur-
/nutrition/dailyvalues, write). ing friday.
author creates role(nutritionist, +, in nutrition, return author says meets(monday, tuesday).
/nutrition/food, write). author says meets(tuesday, wednesday).
author creates role(assistant, -, in nutrition, return /nu- author says meets(wednesday, thursday).
trition/dailyvalues, write). author says meets(thursday, friday).
author says below(nutritionist, generaluser). author grants cookingstaff to sinead during friday.
author says below(assistant, nutritionist). author grants nutritionist to joel during tuesday.
author will deny if author grants nutritionist to joel during wednesday.
author grants nutritionist to S during T1, author grants cookingstaff to patrick during thursday.
author grants nutritionist to S during T2, author grants nutritionist to sarah during thursday.
author says before(T1, T2). author grants assistant to sean during wednesday.
author grants assistant to S during T2 if author grants assistant to sean during thursday.
author grants assistant to S during T1, author grants assistant to patrick during thursday.
author says before(T1, T2).
author grants nutritionist to joel during T2 if
1. Sinead is granted membership to the cooking staff role on Friday which is an off limits day. We
will change her grant to Wednesday.
2. Joel is attempting to use the nutritionist role for two days in a row. We will change his first
grant to occur on Monday instead of Tuesday so that a gap is provided between his access to
the role on Wednesday.
The rest of the grant statements validate with the rules. With the policy base
and translated logic program reflecting the changes listed above, the prototype
generated an answer set. We are primarily concerned with the following correct
authorisations (auth statements) excerpted from that answer set:
386 S. Policarpio and Y. Bai
5 Experimental Results
In [10], we examined various policy bases and their effects on computation time
with the Axml(T ) system implementation. Unfortunately, this examination was
quite in depth (31 experiments) and we can not display all of the details here.
In summary, these experiments were concerned with the following:
1. Computation time as the size of the policy base increases uniformly (without complex rules)
2. Evaluating computation time as the complexity of Axml(T ) /ALP rules increases
3. Effects of computation time as the number of XML documents requiring authorisation increases
4. The effects of the number of temporal intervals and their complex relationships on computation
time
5. Examining larger scale policy bases with complex rules against computation time and space
From the results of these experiments we found that the computation times
for those grounded and translated policy bases which were under approximately
one million rules are relatively acceptable from an implementation point of view.
We also discovered that careful consideration must be taken for the number
of temporal intervals and relationships specified in the policy base due to the
increase in reasoning with their presence. Oppositely, we learned that the number
of XML documents specified in the policy base is not much of a concern. In
terms of the implementation, we also found that with larger scale policy bases,
the output generated from computation became increasingly larger with each
experiment. We now know that large inputs can take a toll on our system. We
saw a drastic hinder in performance with Experiment 31 (the largest and most
complex policy base in our test set) when the implementation halted due to a lack
of system memory. Increasing system memory could be a short term solution,
but from a software engineering point of view, is not the definitive one. At this
point, we believe best practice would be to consider limiting the size of the
authored policy bases. From our concluding results, we saw that the produced
answerset data remained under one megabyte of data; an amount that is still
easily searchable. Therefore, although we see a difficulty with the computation
of larger scale and complex policy bases, we still deem the system feasible and
desirable due to the fact that performing searches is relatively easy.
6 Conclusion
We have presented a prototype for our formal language of authorisation for XML
documents with temporal constraints. After a brief overview of the Axml(T ) lan-
guage, we discussed the features, structure, technical specifications, and algo-
rithmic details of the implementation. Using a simple case study, we further
An Implementation of Axml(T ) : An Answer Set Programming 387
References
1. Allen, J.F.: Towards a general theory of action and time. Artif. Intell. 23(2),
123–154 (1984)
2. Anutariya, C., Chatvichienchai, S., Iwaihara, M., Wuwongse, V., Kambayashi, Y.:
A rule-based xml access control model. In: RuleML, pp. 35–48 (2003)
3. Baral, C.: Knowledge Representation, Reasoning and Declarative Problem Solving.
Cambridge University Press, Cambridge (2003)
4. Bertino, E., Carminati, B., Ferrari, E.: Access control for xml documents and data.
Information Security Technical Report 9(3), 19–34 (2004)
5. Damiani, E., Vimercati, S.D.C.d., Paraboschi, S., Samarati, P.: A fine-grained ac-
cess control system for xml documents. ACM Trans. Inf. Syst. Secur. 5(2), 169–202
(2002)
6. Ferraiolo, D.F., Cugini, J.A., Richard Kuhn, D.: Role-based access control (rbac):
Features and motivations. In: 11th Annual Computer Security Applications Pro-
ceedings (1995)
7. Gelfond, M., Lifschitz, V.: The stable model semantics for logic programming. In:
Kowalski, R.A., Bowen, K. (eds.) Proceedings of the Fifth International Conference
on Logic Programming, pp. 1070–1080. The MIT Press, Cambridge (1988)
8. He, H., Wong, R.K.: A role-based access control model for xml repositories. In:
WISE 2000: Proceedings of the First International Conference on Web Information
Systems Engineering, vol. 1, p. 138. IEEE Computer Society, Washington, DC,
USA (2000)
9. Lifschitz, V.: What is answer set programming? In: AAAI 2008: Proceedings of
the 23rd national conference on Artificial intelligence, pp. 1594–1597. AAAI Press,
Menlo Park (2008)
10. Policarpio, S.: An Answer Set Programming Based Formal Language for Complex
XML Authorisations with Temporal Constraints. PhD thesis in Computer Science,
University of Western Sydney (2011)
11. Policarpio, S., Zhang, Y.: A formal language for specifying complex XML autho-
risations with temporal constraints. In: Bao, F., Yung, M., Lin, D., Jing, J. (eds.)
Inscrypt 2009. LNCS, vol. 6151, pp. 443–457. Springer, Heidelberg (2010)
12. University of Potsdam. Potassco, the potsdam answer set solving collection (2010),
http://potassco.sourceforge.net/
13. WWW Consortium, Xml path language (xpath) version 1.0. (1999),
http://www.w3.org/TR/xpath
14. WWW Consortium, W3c xml schema (2004),
http://www.w3.org/XML/Schema.html
15. WWW Consortium, Extensible markup language (xml) 1.0., 5thedn. (November
2008), http://www.w3.org/TR/REC-xml/
On Cloud Computing Security
1 Introduction
Nowadays, Internet is used everywhere from personal leisure browsing to business trad-
ing, from our everyday routines such as banking, shopping to high technology applica-
tions such as spacecraft launching, satellite controlling. Cloud computing is the current
development of the Internet and the modern computing technology. It is the next stage
of the Internet evolution. With more and more organizations dealing with increasing
amount of data relying on the Internet, cloud computing plays increasingly important
role.
Cloud computing is a structure that allows an organization to access applications,
services or data that resides in a remote site or datacenter. It provides these organi-
zations with the infrastructure management, software development and the datacenter
maintenance. Hence, the organizations don’t need to spend much effort on investment
and maintenance of the infrastructures which keep their datacenter running. They can
instead concentrate on their strategic projects planning and development, and can re-
duce their operational and capital expenditure.
A. Özcan, J. Zizka, and D. Nagamalai (Eds.): WiMo/CoNeCo 2011, CCIS 162, pp. 388–396, 2011.
c Springer-Verlag Berlin Heidelberg 2011
On Cloud Computing Security 389
Apart from datacenter maintenance and management, cloud computing also provides
a variety of services to help the organizations to reduce their operational cost and to in-
crease their productivity. Some major organizations such as Amazon, Google, Microsoft
now offer cloud services to the public. Amazon offers virtual machines and extra CPU
cycles as well as storage service. Google offers database, online documents, and other
online software. Microsoft provides the organizations with the Window applications,
datacenters, database services [19].
When increasing organizations enjoy the convenience, efficiency and increased pro-
ductivity by using cloud computing, at the meantime, they also need to face a major
challenge comes with it: the security. The introduction of the cloud computing brings
major security concern about the organization’s data hosted in a non-local datacenter.
Overall, the success of cloud computing depends on three key issues: data security, fast
Internet access and standardization. Among the three issues, the biggest concern is data
security.
In this paper, we address the security issue of accessing the datacenter. We propose
an approach using authentication and access control to ensure secure access to the data.
The aim of the approach is to only allow the legitimate users accessing the organiza-
tion’s data, to prevent any unauthorized attempt to the datacenter.
Authorization or access control is a mechanism to ensure that all accesses to the
system resources occur exclusively according to the access polices and rules specified
by the security agent of the system. Authorizations or access control has been exten-
sively studied in [1], [4], [10], [22] etc. and a variety of authorization specification
approaches such as access matrix [6], [8], role-based access control [5], access control
in database systems [3], authorization delegation [14], procedural and logical specifi-
cations [2] have been investigated. Since logic based approaches provide a powerful
expressiveness [9] as well as flexibility for capturing a variety of system security re-
quirements, increasing work has been focusing on this aspect. However, how these ap-
proaches can apply to cloud computing environment has not been explored much. [11]
presented a design for a file system to secure file system storage service for Web 2.0
application. [15] proposed approaches to provide catch based security and performance
isolation for cloud computing environment. In this paper, we try to incorporate formal
approaches into cloud computing security.
The paper is organized as follows: In section 2, we analyze the general features of
the cloud computing including its architecture, various services it provides, the struc-
ture of the datacenter and the properties of the datacenter. Section 3 proposes a structure
for secure datacenter with authentication and access control functions provided. In this
section, the authentication mechanism is outlined and an authorization approach is also
described for ensuring the datacenter security. Section 4 presents a detailed authoriza-
tion mechanism by using a formal logical specification. The access control evaluation
is discussed. Section 5 concludes the paper with some future work outlined.
In a cloud computing structure, the organizations using the cloud services are normally
referred to as clients. These clients can be located geographically differently. They
390 Y. Bai and S. Policarpio
access services provided by cloud computing via the Internet by distributed servers.
The actual servers or the datacenter can be located geographically differently as well.
Cloud computing provides various services to the clients. Software as a service
(SaaS) is a software distribution model in which software application is hosted by a
software provider to the clients. The clients, instead of purchasing and installing the
software to their computer systems, they may just access such software via the Internet
as a service. This kind of service is also called ’pay as you go’, the clients only pay
the software services they actually use. With the development of the service oriented
architecture (SoA) which supports the SaaS model and the increasing availability of the
Internet access, SaaS is becoming a prevalent software service distribution model and
accepted by ever increasing clients around the world.
With SaaS model, the software is hosted off site by the provider, the clients do not
need to develop, maintain or upgrade it. They benefit from using low-cost, more reliable
software. They may just concentrate on their internal strategic planning for increasing
their productivity.
Platform as a service (PaaS) is another application distribution model. In this model,
the PaaS provider supplies all the infrastructure needed to build application and service
over the Internet. PaaS can provide the clients with application design, development,
testing, etc. by an efficient, cost-effective delivery model. The clients do not need to
download and install the required software to build and maintain the infrastructure.
They may direct this cost to other part of their operation to ensure their overall produc-
tivity.
Datacenter is an important service provided by cloud computing. It is a collection
of data and servers the clients subscribe. As an organization using cloud computing
service, its data and application are located on servers geographically different from
its local site. As discussed previously, when a client’s data is housed in a datacenter, it
saves the cost of maintaining it. When client from different location needs to access its
data, the data seems to be just located locally.
However, since the data is located in a non local site, ensuring the security of the data
is not as simple as if housed locally. It is not feasible to enforce the same local security
measurement. To ensure safe access to the datacenter, it needs a coordinated security
measurement between the datacenters and the clients accessing the datacenter.
Generally there are two steps to ensure the security of a system such as a datacenter
hosted by cloud computing: authentication and authorization. Authentication controls
which user can access the datacenter. With authentication mechanism, only the legiti-
mate users are allowed to enter the datacenter. On the other hand, authorization controls
that the legitimate user only performs legitimate operations on the data once it has been
successfully authenticated. The two mechanisms work together to effectively provide
the datacenter with secure accesses as Figure 1 shows.
Where C1 , C2 , ...Cn represent the client servers, each of them acts on behalf of
a group of users who need to access the datacenter. AeS is the authentication server
and AoS acts as the authorization server. AeS manages a database in which all the
On Cloud Computing Security 391
data center
authorization
authentication
C1 C2 ... Cn
users information such as password, identification number etc. are registered. It ensures
that only the registered, legitimate users are allowed to access the datacenter. AoS also
manages a similar database for every user about its access right to the datacenter. It
controls that the authenticated users only perform legitimate operations on the data of
the datacenter.
When a user needs to access the datacenter, it requests to its client server first, then
the client server passes the information to AeS. AeS then checks its database about this
user to either grant or deny such a request. If the authentication is successful, it passes
on to the AoS. AoS checks the user request with its database about this user’s access
right. If the user request is within its specified right, the request is granted, otherwise, it
is denied.
For our authentication mechanism, we employ a Kerberos [18] like system to fulfill
the function. To simplify the description, we only illustrate the authentication process
for one client server CS. All the rest client servers follow the same procedure for their
user authentication.
Figure 2 shows the authentication mechanism for a client server CS.
The authentication process works as follows: suppose AeS and AoS share a secret
key for encrypting and decrypting the messages between them and AeS has already
have a database in which the user’s password, identification and other information are
stored. When a user U1 enters the system and requests access to the datacenter, it needs
to be authenticated by AeS first. To begin with, U1 sends its request to CS in step 1;
on behalf of U1 , the CS sends the request to AeS in step 2; AeS checks its database
to confirm if U1 has supplied the correct password and other required information and
if U1 is permitted access to the datacenter. If all are confirmed correctly, then U1 is an
authentic user and be issued a ticket encrypted by the secret key shared by AeS and
392 Y. Bai and S. Policarpio
AeS
2
3
CS
1
4
5
AoS
U1
AoS in steps 3 and 4. U1 cannot alter the ticket since it does not possess the secret key.
It can only pass it to AoS for requesting access to the datacenter in step 5.
Similar to AeS, AoS manages a database as well about the users entitled access
rights to the datacenter. It compares the user’s request to its database record about what
operations the user can perform. If the request is within the specification of U1 ’s entitled
rights, then U1 can access the datacenter as it requested. Otherwise the request is denied.
The detailed specification, function and evaluation of the AoS will be presented in
the next section.
Sue ∈ T, (2)
Usually we define that if a group entitles access to certain object, then all the members
of the group can access the same object unless otherwise specified. This is called the
inheritance property of authorizations. This can be represented as:
∀u.u ∈ GU ∧ can(GU, O) ⊃ can(u, O). (3)
Where u represents any member of the group GU and O is a data object of the datacen-
ter that GU can access.
A formula without any free variables is defined to be a closed formula. In our for-
malism, both facts and rule constraints are represented by closed formulas of L. For
example, can(Sue, T ) is a fact, and so is (2). can(Sue, O) ⊃ can(Amy, O) is a rule
constraint, (1) and (3) are also rule constraints. These rule constraints are viewed as
access constraints which should be always satisfied. We refer to a fact as a ground for-
mula, a ground literal, or an atom.
A model of a security rule base is the assignment of a truth value to every formula
of the security rule base in such a way that all formulas of the security rule base are
satisfied [7]. Formally, we give the following definition.
Example 2. Consider another situation where the facts are: U1 and U2 both are legiti-
mate users, D-records is a legitimate data record. U1 can access D-records, U2 also
can access D-records. The constraint is that D-records can only be accessed by one
user at one time. Formally, this can be represented as SRB = (LU, LO, F, C), where
LU = {U1 ∈ LU, U2 ∈ LU },
LO = {D-records ∈ LO},
F = {can(U1 , D-records), can(U2 , D-records)}, and
C = {can(U1 , D-records) ⊃ ¬can(U2 , D-records)}.
This security rule base is not consistent as there does not exist a model for it.
On Cloud Computing Security 395
Now we discuss the SRB evaluation. When a user U requests access to D of the
datacenter, the task of the AoS is to evaluate such a request and make the decision to
either grant or deny the request.
For a request request(U, D), Generally, the AoS will first check its corresponding
SRB to find out if U and D are legitimate user and data object or not. If yes, it then
checks the facts of the SRB, if can(U, D) is presented, request(U, D) then is explic-
itly granted. Otherwise, it does reasoning about the related facts and rules, calculates
the model of the SRB. If can(U, D) is in the model, then can(U, D) can be deduced,
hence the request is implicitly granted; otherwise, the request is denied.
Definition 3. For an access request request(U, D), the AoS evaluates the SRB =
(LU, LO, F, C) by calculating its model m. If can(U, D) ∈ m, or SRB |= can(U, D),
request(U, D) is to be granted; otherwise, it is to be denied.
5 Conclusions
In cloud computing environment, since the datacenter normally located in a remote
site, it poses a great security concern of data hosted in the datacenter. In this paper, we
have examined the security issue of the datacenter in cloud computing environment. We
believe both authentication and authorization machenisms are essential to protect the
data in the datacenter. We proposed a structure to perform the user authentication and to
control their accesses to the datacenter in order to protect the datacenter from malicious
attempt. We have sketched a framework for the authentication process and introduced
a detailed formal approach for the access control mechanism. We investigated a logic
approach for representing authorization rules and evaluating user’s access request. The
implementation issue will be considered in our future work. Also more detailed access
rights, different operations on data object needs to be investigated. This shall be part of
the future work as well.
396 Y. Bai and S. Policarpio
References
1. Atluri, V., Gal, A.: An authorization model for temporal and derived data: securing informa-
tion protals. ACM Transactions on Information and System Security 5(1), 62–94 (2002)
2. Bertino, E., Catania, B., Ferrari, E., Perlasca, P.: A logical framework for reasoning about
access control models. ACM Transactions on Information and System Security 6(1), 71–127
(2003)
3. Bertino, E., Jajodia, S., Samarati, P.: Supporting multiple access control policies in database
systems. In: Proceedings of IEEE Symposium on Research in Security and Privacy,
pp. 94–107 (1996)
4. Chomicki, J., Lobo, J., Naqvi, S.: A logical programming approach to conflict resolution in
policy management. In: Proceedings of International Conference on Principles of Knowledge
Representation and Reasoning, pp. 121–132 (2000)
5. Crampton, J., Khambhammettu, H.: Delegation in role-based access control. International
Journal of Information Security 7, 123–136 (2008)
6. Dacier, M., Deswarte, Y.: Privilege graph: an extension to the typed access matrix model.
In: Proceedings of European Symposium on Research in Computer Security, pp. 319–334
(1994)
7. Das, S.K.: Deductive Databases and Logic Programming. Addison-Wesley Publishing Com-
pany, UK (1992)
8. Denning, D.E.: A lattice model of secure information flow. Communication of ACM 19,
236–243 (1976)
9. Fagin, R., Halpern, J.Y., Moses, Y., Vardi, M.Y.: Reasoning about knowledge. MIT Press,
Cambridge (1995)
10. Fernandez, E.B., France, R.B., Wei, D.: A formal specification of an authorization model
for object-oriented databases. In: Database Security, IX: Status and Prospects, pp. 95–109
(1995)
11. Hsu, F., Chen, H.: H Chen, Secure File System Services for Web 2.0 Application. In: ACM
Cloud Computing Security Workshop, pp. 11–17 (2009)
12. Hurwitz, J., Bloor, R., Kaufman, M., Halper, F.: Cloud Computing for Dummies. Wiley Pub-
lishing Inc., Chichester (2010)
13. Jajodia, S., Samarati, P., Sapino, M.L., Subrahmanian, V.S.: Flexible support for multiple
access control policies. ACM Transactions on Database Systems 29(2), 214–260 (2001)
14. Murray, T., Grove, D.: Non-delegatable authorities in capability systems. Journal of Com-
puter Security 16, 743–759 (2008)
15. Raj, H., Nathuji, R., Singh, A.P.: England Resource management for Isolation Enhanced
Cloud Services. In: ACM Cloud Computing Security Workshop, pp. 77–84 (2009)
16. Reiter, R.: A logic for default reasoning. Artificial Intelligence 13, 81–132 (1980)
17. Rittinghouse, J.w., Ransome, J.F.: Cloud Computing, Implementation, management, and Se-
curity. CRC Press, Boca Raton (2010)
18. Stallings, W.: Cryptography and Network Security - principles and Practice, 5th edn. Pearson,
London (2006)
19. Velte, A.T., Velte, T.J., Elsenpeter, R.: Cloud Computing - A Practical Approach. McGraw
Hill, New York (2010)
20. Winslett, M.: Updating Logical Databases. Cambridge University Press, New York (1990)
21. Woo, T.Y.C., Lam, S.S.: Authorization in distributed systems: A formal approach. In: Pro-
ceedings of IEEE Symposium on Research in Security and Privacy, pp. 33–50 (1992)
22. Zhou, J., Alves-Foss, J.: Security policy refinement and enforcement for the design of multi-
level secure systems. Journal of Computer Security 16, 107–131 (2008)
PAPR Reduction in OFDM by Using
Modernize SLM Technique
1 Introduction
Recently orthogonal frequency division multiplexing (OFDM) [5] has been regarded
and used as one of the technologies for the communication systems. Especially
OFDM has been adopted for various wireless communication Systems [14] such as
wireless local area networks (WLANs) [4], wireless metropolitan area networks
(WMANs), digital audio broadcasting (DAB), and digital video broadcasting (DVB)
[19]. OFDM is an attractive technique for achieving high data rate in the wireless
communication systems and it is robust to the frequency selective fading channel
[11]. However, an OFDM signal can have very high peak-to-average power ratio
(PAPR) [9] at the transmitter. Which causes the signal distortion such as the in-band
distortion and the out-of-band radiation [16] due to the nonlinearity of high power
amplifier (HPA) [18], and induces the degradation of bit error rate (BER)? Thus, the
A. Özcan, J. Zizka, and D. Nagamalai (Eds.): WiMo/CoNeCo 2011, CCIS 162, pp. 397–405, 2011.
© Springer-Verlag Berlin Heidelberg 2011
398 A.K. Dubey et al.
PAPR reduction is one of the most important research interests for the OFDM
systems. The Linear region and nonlinear region is shown in Fig 1.
In Fig1.we want to avoid such undesirable nonlinear effects [18] a waveform with
a high peak must be transmitted in the linear range of the HPA by decreasing the
average power of the input signal. This is called input back-off (IBO) and results in a
proportional output back-off (OBO) after the amplification. However high back-offs
reduce the power efficiency of the amplifier and cause a reduction in the coverage
range. The operating point of the nonlinearity is defined by the input back-off (IBO)
that corresponds to the ratio between the saturated and the average input powers. To
deal with the high PAPR a number of approaches have been proposed. Such as
clipping [17], tone reservation [4], and selected mapping (SLM) [4]. All of the
mentioned schemes need an accurate PAPR calculation based on over sampling.
The remaining of this paper is organized as follows. We discuss System
Description in Section 2. In Section 3 we discuss about PAPR Reductions. The
Modernized SLM Scheme in section 4. The conclusions and future directions are
given in Section 5. Finally references are given.
PAPR Reduction in OFDM by Using Modernize SLM Technique 399
2 System Description
In an OFDM system, shown in fig.1 [5] data is modulated in the frequency domain to
N adjacent subcarriers. These N subcarriers span a bandwidth of B Hz and are
separated by a spacing of Δf =B/N .The continuous-time baseband representation of
this is
The IFFT each discrete time sample can be treated as independent of all other
samples. With these two approximations the probability that the power of at least one
x[n] out of N samples is above a given level is
Finally if E [|x[n] |2] is normalized to unity, then the CCDF of the PAR is
3 PAPR Reductions
Ideally a SLM scheme will create D independent mappings of a discrete-time domain
signal xL. If we assume that each mapping is independent of all other mappings then
the CCDF of the PAR in a SLM scheme is simply
Fig 4 is a plot of the theoretical PAR CCDF curves for a critically sampled OFDM
symbol where N = 64, L=1and d=1,2,10,100. The CCDF of the PAR in a Nyquist
sampled OFDM symbol is
PAPR Reduction in OFDM by Using Modernize SLM Technique 401
SLM Complexity
It is obvious that SLM has significant PAR reduction capabilities. However, this
reduction is not free. The most significant costs are the D -1 additional IDFT
operations and the D-1 N – length where N is the number of subcarriers and D is the
number of independent phase mappings. These complexities can be mitigated slightly
by using the inverse fast fourier transform (IFFT) in place of the IDFT and by using
binary phase sequences so that all of the phase multiplications are just sign changes.
Where is the real part and is the imaginary part of the frequency
domain vectors and for both are generated. Since the signals are real valued. The
phase vector DR and DI have to be real. These candidates are transformed into time
domain using IFFTs. Then each combination of one real and one imaginary from
these the best candidate with minimum PAR is selected. The CCDF of the PAR in
Modernized SLM OFDM symbol is
Fig. 4. PAPR CCDF curves for N =128, L=1 and d=1, 5, 10, 50,100
PAPR Reduction in OFDM by Using Modernize SLM Technique 403
In the modernized SLM system we separate the complex baseband signal into real
and imaginary part. These real parts converted into serial to parallel and individual
phase sequence is multiply into every parallel and selected minimum PAPR. Similarly
imaginary parts converted into serial to parallel and individual phase sequence is
multiply into every parallel and selected minimum PAPR. Both real and imaginary
parts again combine and transmitted.
404 A.K. Dubey et al.
Fig. 6. Clipping in dB
In this paper we proposed the modernized SLM which has a lower PAPR than
traditional SLM. We derived the PAR CCDF in a modernized SLM system. Its
performance is analyzing in mat-lab 6.5 version. The simulation results show the
MSLM scheme with 1024 carriers and different phase sequence reduce the PAPR
about 0.25dB to 1dB. The computational complexity reduction ratio increase as the
phase sequences increases. This makes the proposed scheme more suitable for high
speed data rate OFDM system.
PAPR Reduction in OFDM by Using Modernize SLM Technique 405
References
[1] Abouda: A PAPR reduction of OFDM signal using turbo coding and selective mapping.
In: Proceedings of the 6th Nordic Signal Processing Symposium, June 2004, pp. 248–251
(2004)
[2] Fischer, B.R., Huber, J.: Reducing " the peak-to-average power ratio of multicarrier
modulation by selected mapping". IEE Electronics Letters 32, 2056–2057 (1996)
[3] Baxley, R.J., Zhou, G.T.: Assessing "peak-to-average power ratios for communications
applications". In: Proc. IEEE MILCOM Conference (October 2004)
[4] Breiling, M., Muller-Weinfurtner, S.H., Huber, J.B.: SLM peak-power reduction without
explicit side information. IEEE Communications Letters 5, 239–241 (2001)
[5] Chang, R.W.: Orthogonal frequency division multiplexing. U.S. Patent 3 488 445
(January 1970)
[6] Chen, N., Zhou, G.T.: Peak-to-average power ratio reduction in OFDM with blind
selected pilot tone modulation. In: Proc. IEEE Intl. Conference on Acoustics Speech and
Signal Processing (March 2005)
[7] Cimini, L.J., Sollenberger, N.R.: Peak-to-average power ratio reduction of an OFDM
signal using partial transmit sequences. IEEE Comm. Letters 4, 86–88 (1991)
[8] Eevelt, P., Wade, M., Tomlinson, M.: Peak to average power reduction for OFDM
schemes by selective scrambling. IEEE Electronics Letters 32, 1963–1964 (1996)
[9] Lim, D.W., No, J.S., Lim, C.W., Chung, H.: A new SLM OFDM scheme with low
complexity for PAPR reduction. IEEE Signal Processing Letters 12, 93–96 (2005)
[10] Muller, S., Huber, J.: OFDM with reduced peak-to-average power ratio by optimum
combination of partial transmit sequences. IEE Electronics Letters 33, 368–369 (1997)
[11] Krongold, B.S., Jones, D.L.: PAR reduction in OFDM via active constellation extension.
IEEE Trans. Broadcast 49(3), 258–268 (2002)
[12] Zhou, G.T., Baxley, R.J., Chen, N.: Selected mapping with monomial phase rotations for
peak-to-average power ratio reduction in OFDM. In: Proc. Intl. Conf.on Communications
Circuits and Systems ( June 2004)
[13] Wang, C.L., Ouyang, Y., Hsu, M.Y.: Low-complexity peak-toaverage power ratio
reduction techniques for OFDM systems. Submitted to IEEE Transactions on Circuits and
Systems - Part I (2004)
[14] Tellado, J.: Multicarrier Modulation with Low PAR Applications to DSL and Wireless.
Kluwer Academic Publishers, Dordrecht (2000)
[15] Sathananthan, K., Tellambura, C.: Partial transmit sequence arid selected mapping
schemes to reduce ICI in OFDM systems. IEEE Communications Letters 6, 313–315
(2002)
[16] Zou, W.Y., Wu, Y.: COFDM: An overview. IEEE Trans. Broadcasting 41, 18 (1995)
[17] Mesdagh, D., Spruyt, P.: A method to reduce the probability of clipping in DMT-based
transceivers. IEEE Trans. Communications 44, 1234–1238 (1996)
[18] Cripps, S.C.: RF Power Amplifiers for Wireless Communications. Artech House,
Norwood (1999)
[19] Jayalath, A.D.S., Tellambura, C.: Side information in PAR reduced PTS-OFDM signals.
In: Personal, Indoor and Mobile Radio Communications conference, September 2003,
vol. 1, pp. 226–230 (2003)
Application of Integrated Decision Support Model in
Tendering
1 Introduction
Tendering problem is one of the areas that requires DSS attention as a decision to
award tender to certain competing applications could influence successful completion
of a project [1,2,3,4,5,6,7,8,9]. There are a number of research done on tender
evaluation. [10] proposed the use of AHP in the selection of the best discount in
dealing with the tenders for public work contract. [11] developed a DSS for awarding
the tender to the lowest bidder using Delphi and AHP. Statistical model has been
used in the tender evaluation for work contracts in Malaysian Government
procurement. The use of the statistical model in this case is to evaluate tender prices.
[12] has done a study on contractors’ perceptions of the statistical model. The result
of the study shows that the use of this model in tender evaluation process is agreed by
many contractors. However, the contractors have suggested the need to consider the
A. Özcan, J. Zizka, and D. Nagamalai (Eds.): WiMo/CoNeCo 2011, CCIS 162, pp. 406–413, 2011.
© Springer-Verlag Berlin Heidelberg 2011
Application of Integrated Decision Support Model in Tendering 407
current market price criterion and other tender related criteria in the evaluation
process. The assertion imposed by the contractors in the study done by Faridah has
some similarities with the previous study [13]. Both of these studies emphasized the
need for multi criteria factors (other non-price factors) to be taken into consideration
with the tender price factor that is currently evaluated via statistical model.
In this study, the integration of statistical, weighted and extended AHP known as
Guided AHP framework is developed for effective tender application evaluation and
selection. The proposed research aims to investigate, design and implement integrated
model for tendering process implementable in web based environment.
The main strength of the proposed approach is in the integration of model bases,
where they formally address both single criterion and multi-criteria evaluation. In the
single criterion, statistical model is adopted. To facilitate the multi-criteria evaluation
AHP model [14] is used because it is suitable to be adopted when there is a finite set
of attributes to be considered in the evaluation process [17,18,19,21,22,23]. Firstly,
the AHP model is experimented to foresee for its possible deficiency or impediment
before it is implemented in the selected case study.
During the testing, it is found that the users have difficulties to enter consistent
data into the decision matrix. In order to reduce this problem, AHP is extended to
become Guided AHP (GAHP).
The organization of this paper is as follows: Section 2 presents the framework for
modeling the tendering and selection process. Section 3 we analyze single criteria
statistical model. In Section 4 we describe criteria ranking operations. In Section 5 we
proposed GAHP multi-criteria model operations. Finally, the concluding remarks is
given in Section 6.
The process flow for DSS tendering process is shown in Fig. 1, which is a four-
phased process beginning with pre-requisite analysis at Stage I to the forth stage
analysis using multi criteria decision making (MCDM). Each stage of the process has
to be executed sequentially. This work focuses on Stage II onwards as it requires the
judgments or intuitions from the decision makers (DMs).
3 Statistical Analysis
The second stage is statistical analysis which can be executed based on the tender
price. All the prices that are considered in this stage are from the tender documents
that have passed through Stage I evaluation. The tender price is evaluated to
determine the freak prices (or Z-scores) and cut-off price (COP).
408 F. Ahmad and M.Y.M. Saman
Stage I
Prerequisite Analysis
Database
Stage IV
Enhanced AHP
Analysis GRAHP Model Base
(contains GRAHP routines)
Freak prices are the values that are considered either too low or too high and they
have to be rejected from further analysis. The calculation for freak price or Z-score, Zx
for each tender price, is given as:
(1)
∑
(3)
COP is the lowest price level assumed to be acceptable for further evaluation. Any
tender prices lower than these values are assumed to be extremely low and if chosen
they cannot guarantee successful completion of a project. However, some prices
lower than these values can still be considered, provided that the applicants have
some supporting factors that contribute to the project success.
Application of Integrated Decision Support Model in Tendering 409
‘8’ is the lowest priority (however, the values of the other way round can be used to
represent the highest and lowest priority). Small integer values are used instead of
percentage (%) for ease of comparison process. It is believed that a person does not
have much difficulty to grant a smaller value to a judgment compared to the greater
range values such as 1% to 100%.
There is an issue on how to identify the ranking of these criteria in terms of their
relative importance. [13] have studied this issue by conducting a survey on 50
respondents who have experience on evaluating and analyzing tender application
documents. The populations under study are in Kuala Lumpur, Kedah, and Penang
states in Malaysia. The result of the study reveals that financial factor is the most
important followed by current project performance, technical capability, previous
project performance, and working experience in descending order of importance. In
this case, seeking expert opinion is perceived necessary to take into account DMs’
lack of experience and technical expertise [3].
The next step is to proceed to the MCDM analysis for detail evaluation of criteria
and alternatives. It is described in the following section.
5 GAHP Model
AHP provides means of making decisions or choices among alternatives, particularly
to satisfy a certain goal [15,16]. The complexity in preference elicitation comes from
the fact that a human mind has difficulties to compare together more than two things.
Therefore, pair wise comparisons are used to determine the relative importance of the
criteria. However, it is also difficult to be totally consistent when many pairs of
alternatives are compared (observed during the validation process of the original AHP
operations performed by the tender evaluation expert). GAHP is proposed to address
this issue. The operation of GAHP consists of the following four steps:
The guideline at the top of decision matrix (Fig. 2) requires the DMs to perform the
evaluation process beginning with the first row of the decision matrix table. In the
first row, data must be entered according to ascending order from one column to
another (from left to right column) as the DMs evaluate the elements in a pair wise
fashion. After each column in the first row has been evaluated, they can proceed to
the next row. The same process is repeated in the second row as has been done in the
first row. This process can be iterated until the last row of the decision matrix table.
The decision matrix, A for pair wise comparison in AHP method is as follows:
A1 A2 A3 An
A1 1 a12 a13 a1n
A= A2 1/a21 1 a23 a2n
A3 1/a31 1/a32 1 a3n (10)
6 Conclusion
This article has presented the integration of single criteria and MCDM models for
tendering problem. The proposed approach has been implemented in web based
environment to assist DMs for effective evaluation and selection process. Different
techniques in the model integration take advantages of the reasoning power of these
techniques, reduce decision-making time and produce a more accurate result.
Additionally, the approach enables the evaluation process to be performed in a
reasonable manner by taking into consideration fairly high tender prices together
with decent other criteria such as experience, technical staff, capital, and project
performance. Future work should include similar integrated model, evaluating the
consistency, correctness, accuracy, user-friendliness and automatic value generation
in the extended AHP decision matrix table for usability of the system.
References
1. Grilo, R.J.-G.: Challenging electronic procurement in the AEC sector: A BIM-based
integrated perspective. Automation in Construction (2010)
2. Estache, A., Limi, A.: (Un)bundling infrastructure procurement: Evidence from water
supply and sewage projects, Utilities Policy (2011)
Application of Integrated Decision Support Model in Tendering 413
3. Jaskowski, P., Slawomir, B., Robert, B.: Assessing contractor selection criteria weights
with fuzzy AHP method application in group decision environment. Automation in
Construction (2010)
4. Kapliński, O., Janusz, L.: Three phases of multifactor modelling of construction processes.
Journal of Civil Engineering and Management 12(2), 127–134 (2006)
5. Fong, P.S.W., Choi, S.K.Y.: Final contractor selection using the analytical hierarchy
process. Construction Management and Economics 18(5), 547–557 (2000)
6. Turkis, Z.: Multi-attribute contractors ranking method by applying ordering of feasible
alternatives of solutions in terms of preferability technique. Technological and Economic
Development of Economy 14(2), 224–239 (2008)
7. Alsugair, A.: Framework for evaluating bids of construction contractors. J. Manag.
Eng. 15(2), 72–78 (1999)
8. Holt, G.D., Olomolaiye, P.O., Harris, F.: Factors influencing UK construction clients
choice of contractor. Build. Environ. 29(2), 241–248 (1994)
9. Lopes, M., Flavell, R.: Project appraisal – a framework to assess nonfinancial aspects of
projects during the project life cycle. Project Management 16(4), 223–233 (1998)
10. Bertolini, M., Braglia, M., Carmignani, G.: Application of the AHP methodology in
Making a Proposal for a Public Work Contract. International Journal of Project
Management 24, 422–430 (2006)
11. Moustafa, I.M.M.: A decision Support System for the Selection of the Optimum
Contractor. PhD Thesis (2001)
12. Faridah, M.H.: Contractor’s Perception of the Use of Statistical Approach in the Tender
Evaluation at the Public Works Department, Malaysia. American Journal of Applied
Sciences 4(12), 1084–1089 (2007)
13. Mastura, J., Abdul Rashid, A., Ahmad, I.: Non Price Factors (NPF) And Contractors
Selection: An Application In The Public Sector In Malaysia. In: Proceeding of The 5th
IEEE International Conference on Cognitive Informatics, Beijing, China (2006)
14. Saaty, T.L.: Fundamentals of Decision Making and Priority Theory with the AHP. RWS
Publications, Pittsburgh (1994)
15. Demirtas, E.A., Ustun, O.: An integrated multi-objective decision making process for
supplier selection and order allocation. Omega 36, 76–90 (2008)
16. Huang, S.H., Keskar, H.: Comprehensive and configurable metrics for supplier selection.
Production Economics 105, 510–523 (2007)
17. Lin, C.-C., Wang, W.-C., Yu, W.-D.: Improving AHP for construction with an adaptive
AHP approach (A3). Automation in Construction 17, 180–187 (2008)
18. Abudayyeh, O., Zidan, S.J., Yehia, S., Randolph, D.: Hybrid prequalification-based,
innovative contracting model using AHP. Journal of Management in Engineering 23(2),
88–96 (2007); ASCE
19. Goldenberg, M., Shapira, A.: Systematic evaluation of construction equipment
alternatives: case study. Journal of Construction Engineering and Management 133(1),
72–85 (2007); ASCE
20. Banaitienê, N., Banaitis, A.: Analysis of criteria for contractors’ qualification evaluation.
Technological and Economic Development of Economy 12(4), 276–282 (2006)
21. Cebeci, U.: Fuzzy AHP-based decision support system for selecting ERP systems in textile
industry by using balanced scorecard. Expert Systems with Applications 36, 8900–8909 (2009)
22. Wang, J., et al.: Integration of fuzzy AHP and FPP with TOPSIS methodology for
aeroengine health assessment. Expert Systems with Applications (2010)
23. Amiri, M.P.: Project selection for oil-fields development by using the AHP and fuzzy
TOPSIS methods. Expert Systems with Applications 37, 6218–6224 (2010)
Query and Update Support for Indexed and Compressed
XML (QUICX)
1 Introduction
XML has become popular as an exchange format for large data collections, including
scientific database like UniPort[18] as well as bibliographic database such as DBLP
[19] etc. XML’s main drawback is its huge, having redundant Tags and Data’s. The
redundancy of the tags further increases with increase in the size of the document.
Thus requires an effective compact storage structure thereby eliminating the
redundant tags and data and compression for transmitting the XML database
efficiently. Unlike Relational data, XML data are highly irregular and self describing.
Several storage schemes have been proposed in the literature for efficient storage
of XML. They include RFX [11], CXQU [12], XGRIND [10], XMILL [5], XQzip
[6], XPRESS [7], XQueC [1] etc. There are mainly two ways of representing XML
namely pointer-based representation and succinct storage [2]. In pointer based, the
XML tag relations are represented using pointers. This increases the size of the XML
storage. But it also increases the efficiency in querying XML. In succinct storage
scheme, the relation between XML tags and attributes are represented using bits. This
A. Özcan, J. Zizka, and D. Nagamalai (Eds.): WiMo/CoNeCo 2011, CCIS 162, pp. 414–428, 2011.
© Springer-Verlag Berlin Heidelberg 2011
Query and Update Support for Indexed and Compressed XML (QUICX) 415
reduces the size and achieves high compression ratio. But the query efficiency is
relatively poor when compared to pointer-based representation.
Among the storage schemes proposed earlier, few are non queriable namely
XMILL [5], XMLPPM [15] and SCA [8]. Among the queriable compressors, there
are homomorphic and non-homomorphic. In Homomorphic original structure of the
XML document is maintained XGRIND [10], XPRESS [7]. In non-homomorphic,
original structure of the XML document is not maintained RFX [11], XQueC [1],
XQzip [6]. In this paper, the succinct storage scheme is used to reduce the size and
store the XML efficiently. It is also based on non-homomorphic representation of
XML. It also provides compression with indexing for efficient query processing and
also supports efficient update processing.
The proposed compact storage structure called QUICX, provides a good
compression ratio and a good compression time by completely eliminating all
redundant data and tags in an XML document. QUICX also provides indexing to the
data for querying efficiently; it also supports all common XPath Queries. It also
supports structure level and data level updates.
2 Related Works
XMill [5], the first compressed and non-queriable XML scheme was invented to
provide a means for compact storage. Although XMill achieves a good compression
ratio, it does not support either querying or updating. Various approaches were
proposed after XMill and they have similar benefits and drawbacks e.g. XMLPPM
[15].
Diverse queriable compact storage structures for XML have been proposed, such
as RFX[11], CXQU[12], XGRIND[10], XQzip[6], XPRESS[7], XQuec[1] etc. RFX
[11] provides an insight into RFX structure recalibration using Strategy list concept.
RFX also provided mechanisms for faster query processing through Query
optimization. But the time for compression is higher and so its compressed size.
QUICX defines a new structure thereby giving significant improvements over the
existing problems.
XGRIND [10] provided us the concept of Content Based Compression an
algorithm that decides upon the compression technique to be used based upon the
nature of the content. Additionally instead of decompressing the entire container, the
query is compressed and residue is compared with the compressed data to fetch the
result enabling it to retain its compressed structure as the main source file.
Performance evaluation over a variety of XML documents and user queries indicates
that XGrind simultaneously delivers improved query processing times and reasonable
compression ratios. But it is Homomorphic – parsed twice (increases compression
time).
XPRESS [7] is an XML compressor which supports direct and efficient
evaluations of queries on compressed XML data. XPRESS adopts a novel encoding
method, called reverse arithmetic encoding, which is intended for encoding label
paths of XML data, and applies diverse encoding methods depending on the types of
data values. Experimental results with real-life data sets show that XPRESS achieves
significant improvements on query performance for compressed XML data and
416 R. Senthilkumar and A. Kannan
of LZW [14] for compression. In addition, a Hybrid technique for indexing the
compressed data has been evolved.
QUICX architecture consists of five modules as shown in Fig.1, each having unique
functionality and importance in the system. The modules involved are Meta Table
Creator, Meta Data Creator, Container Creator, Compressor and Indexer and Update
Engine.
418 R. Senthilkumar and A. Kannan
After parsing the XML file the Meta Table is created with the fields (Tag ID, Tag
name, Level ID, Parent ID and File ID) and Meta Data File having the ordering of
elements, thus preserving the structure of XML file. Containers for each tag are
created and the corresponding data in them are stored in it. Then, compress those
Containers thereby providing support for querying directly without decompression.
TAID represents the ID of the tag or attribute. This ID value will be used to encode
in the place of Tag name and it is also used in Node Traversal. TANAME represents
the name of the tags and attributes present in the XML file. Attribute names are
distinguished by using a @ as prefix. TLEVEL represents the depth of the tags in the
XML tree. This TLEVEL is used to retain the Hierarchy and to enable node traversal.
PID contains the id of the parent of the tags/attributes. This field is useful to denote
the parent of the current Tag. It contains the TAID of the parent node. FID contains
the file id so that it supports Inter and Intra XML. FID field will be used to denote to
which file the given Tag belongs to.
The size of storing the text and data in the Meta table and Meta data is fixed, i.e.
the TAID, TLEVEL, PID & FID to a fixed size, thus thereby the compression ratio is
further increased. The fixed size for the fields are TAID – 8 bits(256 values),
TLEVEL – 4bits(16 values), PID – 8 bits(256 values), FID – 4 bits(16 values).
Actual size for the storing the data given in the table 2 will be about
3+5+2+3+1 = 14 bytes
After structure modification the size will be reduced by
1+5+0.5+1+0.5=8 byte
Fig.3 depicts a conceptual view of the QUICX compressed document of the XML
publication snippet shown in Fig. 2.
420 R. Senthilkumar and A. Kannan
Container Creator
Containers are the structures which contain the tag data and the attribute data of the
XML file. For each tag/attribute, a container is made and the values of those
tags/attributes are placed in it correspondingly. The containers are compressed using
LZW compression technique, slightly altered to suit in this work.
Algorithm
1. Read the XML file
2. Start parsing the file
3. Set counter of every tag to 0
4. If it is a tag/attribute
a. If tag/attribute has data
i. If counter value>1
1. Append the counter value and a “<” symbol to the file with tag/attribute
id as name
b. Else if counter =1
i. Append the “>” symbol to the file
c. Append the tag/attribute data to the file with tag/attribute id as file name
d. Append a “>” symbol to the same file
e. Reset counter of this tag to zero
5. Else
a. Increment count for this tag
b. Go to step 4 until end-of-file
The technique also involves Indexing the Dictionary created by the LZW
compression. Its procedure involves choosing a prime number as the size of the
dictionary and it has to be larger than 2^n, where n equals the number of bits for the
codeword. The hash function used is (C<<S) ^P,
Where:
‘C’ is the character to be appended,
‘S’ is the shift factor
‘P’ is the codeword of the prefix
The hash function is used to index the dictionary for quicker retrieval of the
codeword (if it exists) or the position to insert a new codeword (if it does not exist).
As the dictionary size is a prime number, the search for the codeword will go through
all elements of the dictionary once. If the element exists the codeword will be found,
otherwise the free slot will be found. Using the hash function to find a free slot
ensures that the search for that codeword can also be done in an efficient way.
The biggest file (container) among all other container is found, with the Idea that
the dictionary is created, beginning with the biggest file and subsequently for all other
files. Hence the dictionary created contains all possible roots (codeword). A string ‘P’
is initialized to 0. Another string ‘C’ is used to store the next char in the stream. Then
it is checked whether the string ‘P+C’ is present in the dictionary; if it is present ‘P’ is
replaced with the string ‘P+C’. Else the code for ‘P’ is output and ‘P+C’ is added to
the dictionary. ‘P’ is replaced with the string ‘C’. The same process is repeated until
the end of the file is reached.
3.2.2 Indexing
Indexing technique used in QUICX is implemented by means of a custom
mechanism. Initially when the Containers are created, each container is split into files
with specific number of records (Current implementation uses 50 as limit). This
serves two purposes, it provides better support for faster updation as rewriting a small
file is much faster than rewriting a big file; and it also provides Indexing options. The
track of records and their respective sub containers are kept in an ‘UTable’, specific to
each container. Thus further Indexing options like Hashing of these sub container files
can be explored to provide much more performance in regards with Indexing. The
above Indexing technique provides for greater retrieval speed in case of querying of
data. This can be explained with the example given below.
Example Scenario:
Consider a query which involves fetching record from a compressed container. The
entire file needs to be parsed until a match is found. If the file is not indexed, it is
reported as a major drawback. QUICX system allows calculating the position of the
record. This information is rendered useless when file has to be still parsed for the
entire length. The QUICX provides indexing by splitting the compressed containers
into sub containers. Thus by knowing the position of the record, it is possible to
retrieve it where the record retrieval involves maximum parsing of limited records
and not the entire original container. Thus if splitting factor is 50, to retrieve a record
at position 65, it is sufficient 15 records are parsed in the 2nd sub container. Thus
querying of data will be much faster. Thus QUICX system employs a mixture of
422 R. Senthilkumar and A. Kannan
4 Update Support
The QUICX facilitates efficient update operation such as node insertion and node
deletion. The update is carried on the container holding the compressed data. Update
manager given in the Fig.4, processes the update query and modifies the QUICX
structure accordingly. When a new record is inserted into the existing XML file, the
manger checks for existence of tag in the Meta table, if present, then only Meta data
and containers are updated, else the Meta table is also modified.
The Update engine of the QUICX system consists of an update manager and the
modules involved are depicted in Fig. 4. The update engine based on the nature of
updation done is classified into an Idle Time updater and the Regular Update Engine.
The Regular update engine’s primary goal is to make the update immediately
effective. Thus the updated data are placed in temporary files in query processing
sequence.
The actual updation to the container(s) is done not by the Regular Update Engine
but by the Ideal Time Updater. It is expected to be run at a time when the system is
idle. This Updater actually updates the container(s), making the updates permanent.
While records are inserted into the existing XML structure, the update engine
checks for the existence of the Tag in the Meta table, if present, then update occurs
only at Meta Data and containers. If the tag does not exist in the Meta table, then the
Meta table should also be modified.
Query and Update Support for Indexed and Compressed XML (QUICX) 423
The updates done to the existing structure are temporarily stored in the update and
reference file supporting querying. This updates will be incorporated in to the main
container and the Meta data during idle time. The Update Manager upon obtaining the
query, differentiates the query, based on whether the query involves Structure
updation or Data Insertion. If the query involves Structure update, find the Id of the
last entry in the Meta Table. The Id is incremented by 1 and if it is a Tag, add a record
to the Meta Table with TAID value as that of the integer Id, tag name, level of the tag,
its parent’s ID and file id. If it is an Attribute, add a record to the Meta Table with
TAID value as that of the integer Id, attribute name as “@attribute_name”, level of
the attribute is left empty, its parent’s.
ID and file id. If the query involves Data Insertion, the path where the data is to be
inserted is identified. The said path is traversed and if an Update file and Reference
file does not exist, they are created. The position at which the new data is to be
inserted to is appended to the reference file. Followed by “,” symbol followed by
number of data inserted into reference file. The Tag Attribute Id to be inserted is
found from the Meta Table. The Tag / Attribute id is appended to the update file
separated by “,”. An Update container is created for every container that is to be
updated if not present. The new data is appended separated by “>” symbol. The Ideal
time updater reads from the Update File and the Reference File and makes the updates
permanent by modifying the container files in ideal time.
5 Performance Analysis
In order to compare the performance of our algorithm to the existing XML
compressors, a set of experiments has been run. The following are the Open Source
Data Sets, which have been used to test and evaluate our system.
DBLP presents the famous database of bibliographic information of computer science
journals and conference proceedings.
Mondial is a demographic XML document that contains details about various
countries.
Shakespeare represents the gathering of a collection of marked-up Shakespeare plays
into a single XML file. It contains many long textual passages.
Treebank is a large collection of parsed English sentences from the Wall Street
Journal. It has a very deep, non-regular and recursive structure.
Swissprot is a protein sequence database which strives to provide a high level of
annotations, a minimal level of redundancy and high level of integration with other
databases.
The test machine was an Intel Pentium core 2 Duo @1.5 GHz, running Windows XP. The
RAM capacity is 1 GB. Our System is implemented in Microsoft Visual Basic. Visual
Basic 6.0 is used for building our system. We make use of native Microsoft Parser for
parsing the XML file for our system. We initially considered two parsers namely the SAX
parser and the JDOM parser. While the SAX parser parses the XML file and parses each
stream; it is done by calling as an event. It is efficient for larger files as it does not use
Pointer concept. JDOM parser parses the XML file and parses as DOM (Document Object
Model) which is based on the hierarchical structure of the file. It considers the whole
XML file as a single Tree and uses pointers to traverse faster across the Tree’s child
424 R. Senthilkumar and A. Kannan
nodes. It is efficient for smaller files as it uses Pointer concept. But while considering
larger files, the use of Pointers require huge resources (Memory and Processor), hence it is
not dependable. But Microsoft Parser, which is also an implementation of SAX parser,
takes much less time than both these parsers which prompted us to makeshift this work
into the windows platform and Visual Basic. Compression component of QUICX is
currently implemented in C language for simplicity and can be easily migrated to any
language. Java is used to update the QUICX database.
Compression Ratio: We express the compression ratio as the ratio the size of the
compressed document to the original document. For example, if a 10 MB file can be
compressed to 2.5 MB, the file if 75% compressed. Higher compression ratios are
obviously, better.
Compression ratio = 1 - Compressed file size
___________________
Original size
Fig. 5 and Fig. 6 show the compression ratio using the three datasets (Shakespeare,
Swissprot and DBLP) after the structure and data compression with the following
Data Sources HUFFWORD, XPRESS, XQZIP, XBZIPINDEX, XBZIP, RFX and
QUICX.
Fig. 5. Compression Ratio achieved by queriable compressor over the Benchmark datasets after
structure Conversion
Fig. 6. Compression Ratio achieved by queriable compressor over the Benchmark datasets after
Data Compression
426 R. Senthilkumar and A. Kannan
6 Conclusion
In this work, we have proposed a new compact storage structure called QUICX for
XML. It also provides sufficient support in the form of indexing for faster query
processing which reduces the resource required such as space (memory) and
processor requirements, increasing the processing speed.
Our experimental results show that the proposed structure can handle query
processing and updates efficiently. It is also shown that the proposed structure out
performs other storage system and is significantly good for larger datasets. The
proposed structure also allows direct update and querying without decompressing the
entire document. In future, we have planned to extend QUICX with more features to
accommodate multimedia data and query processing technique to process such
storage techniques.
References
1. Arion, A., Bonifati, A., Manolescu, I., Pugliese, A.: XQueC: A Query-Conscious
Compressed XML Database. ACM Transactions on Internet Technology 7(2), 1–32,
Article 10(2007)
2. Farina, A., Ladra, S., Pedreira, O., Places, A.S.: Rank and Select for Succinct Data
Structures. Electronic Notes in Theoretical Computer Science 236, 131–145 (2009)
3. Lee, C.-S., Haw, S.-C.: Extending path summary and region encoding for efficient
structural query processing in native XML databases. The Journal of Systems and
Software 82(6), 1025–1035 (2009)
4. Lam, F., Wong, R.K., Shui, W.M.: Querying and maintaining a compact XML storage. In:
Proceedings of the 16th international conference on World Wide Web, Banff, Alberta,
Canada, pp. 1073–1082 (May 2007)
5. Liefke, H., Suciu, D.: XMILL: An Efficient Compressor for XML Data. In: Proceedings of
the 2000 ACM SIGMOD International Conference on Management of Data, Dallas, TX,
USA, pp. 153–164 (2000)
6. Cheng, J., Ng, W.: XQzip: Querying compressed XML using structural indexing. In:
Hwang, J., Christodoulakis, S., Plexousakis, D., Christophides, V., Koubarakis, M., Böhm,
K. (eds.) EDBT 2004. LNCS, vol. 2992, pp. 219–236. Springer, Heidelberg (2004)
428 R. Senthilkumar and A. Kannan
7. Min, J.K., Park, M.J., Chung, C.W.: XPRESS: A queriable compression for XML data. In:
Proceedings of the ACM SIGMOD International Conference on Management of Data,
June 2003, pp. 122–133 (2003)
8. Levene, M., Wood, P.T.: XML structure compression. In: DEXA 2008, 19th International
Conference on Database and Expert Systems Application pp. 243–247. IEEE Computer
Society, Washington, DC,USA (2008)
9. Grimsmo, N.: Faster Path Indexes for Search in XML Data. In: Conference in Research
and practice in Information Technology (CRPIT) – Database Technologies, vol. 75, pp.
127–135 (2008)
10. Tolani, P.M., Haritsa, J.R.: XGRIND: A query-friendly XML compressor. In: Proceedings
of the 18th International Conference on Data Engineering (ICDE), February 26 -March 1,
San Jose, USA, pp. 225–234 (2002)
11. Senthilkumar, R., Priyaa Varshinee, S., Manipriya, S., Gowrishankar, M., Kannan, A.:
Query Optimization of RFX Compact Storage using Strategy List. In: 16th international
conference on Advanced Computing & Communication (ADCOM), pp. 427–432
(December 2008)
12. Alkhatib, R., Scholl, M.H.: CXQU: A Compact XML Storage for Efficient Query and
Update processing. In: 3rd International Conference on Digital Information Management
(ICDIM), November 13 -16, pp. 605–612 (2008)
13. W3C Group. Guide to the W3C XML specification (XMLspec) DTD, version 2.1. (2004),
http://www.w3.org/XML/1998/06/xmlspec-report.htm
14. Welch, T.: A Technique for High-Performance Data Compression. IEEE Computer 17(6),
8–9 (1984)
15. Cheny, J.: Compressing XML with Multiplexed Hierarchical PPM Models. IEEE
Computer, 1–10 (2001)
16. Moura, E., Navarro, G., Ziviani, N., Baeza-Yates, R.: Fast and flexible word searching on
compressed text. ACM Transactions on Information Systems 18(2), 113–139 (2000)
17. http://www.ebi.uniprot.org
18. DBLP, http://dblp.uni-trier.de/
Author Index