Sunteți pe pagina 1din 186

(IJCNS) International Journal of Computer and Network Security, 1

Vol. 2, No. 5, May 2010

A Model-driven Approach for Runtime Assurance


of Software Architecture Model
Yujian Fu1, Xudong He2, Sha Li3, Zhijiang Dong4 and Phil Bording5
1
Alabama A&M University, School of Engineering & Technology,
4900 Meridian Street, Normal AL 35762, USA
Yujian.fu@aamu.edu
2
Middle Tennessee State University, College of Basic and Applied Sciences,
1301 East Main Street, Murfreesboro, TN 37132, USA
zdong@mtsu.edu
3
Florida International University, School of Computing and Information Science,
11200 SW 8th Str, Miami, FL 33199, USA
Hex@cs.fiu.edu
4
Alabama A&M University, School of Engineering & Technology,
4900 Meridian Street, Normal AL 35762, USA
Phil.bording@aamu.edu
5
Alabama A&M University, School of Education,
4900 Meridian Street, Normal AL 35762, USA
Sha.li@aamu.edu

notations of UML. As a result, UML has been adapted for


Abstract: Unified Modeling Language (UML) has been widely
accepted for object-oriented system modeling and design, and
software architecture descriptions in recent years [21, 16,
has also been adapted for software architecture descriptions in 30]. Defining software architecture using UML has the
recent years. Although, the use of UML for software following advantages: graphical, extensible, and capable of
architecture representation has the obvious benefits of representing both structural and behavioral aspects. In
facilitating learning and comprehension, UML lacks precise addition, the UML architecture level representation provides
semantics for defining key features of software architecture a simple transition or relation to a detailed object-oriented
level entities. In this paper, we present an approach to map a design also described in UML.
UML architecture description into a formal specification model As a general-purpose object-oriented modeling language,
called SAM, which serves as a semantic domain for defining the UML does not directly provide constructs needed for
precise semantics of the UML description and supports formal software architecture modeling, such as architectural
analysis. Furthermore, when the UML architecture description
configurations, connectors, and styles. Although a UML
contains sufficient details, an implementation from the resulting
component diagram can be used to describe the organization
SAM architecture description to Java code can be automatically
generated from our existing SAM translator tool. The generated of a software system in terms of its components and
Java code contains monitoring checkers for run-time interconnections at specification level, it is unclear that how
verification. Therefore, our approach provides not only a to instantiate component interfaces and dependency
method of formal analysis to detect design errors, but also a relationships and how to associate interaction protocols with
technique to automatically generate executable code with run- component dependencies.
time verification capability, which effectively eliminates the Several research works explored the integration of UML
tedious, labor intensive, and error-prone manual coding process. with some existing ADLs [31]. Among these works, three
Keywords: Software architecture, UML, runtime verification, approaches can be identified. In the first approach, rules are
temporal logic, Petri nets. provided to translate architectural descriptions between a
particular ADL and UML. In the second approach, key
1. Introduction constructs are added to standard UML to represent software
architecture, which often results in a large and complex
Software architecture is a high level representation of a language that is hard to understand and use. In the third
software design, which can significantly impact the overall approach, UML’s built-in extension mechanisms such as
system development as well as future system maintenance stereo-types and tagged values are tailored for architecture
and evolution. The importance of software architecture description. None of the above approaches address the issues
design and description has been widely recognized in the of code generation from an architecture description and the
past decade. As a result, many architecture description verification of generated code.
languages (ADLs) have been proposed. Most of these ADLs In this paper, we present an integrated approach that
are based on some formal methods. Although the formal combines the ideas of the 1st and the 3rd approaches
basis of an ADL enables some early design level analysis, mentioned above, as well as code generation from an
the formality and peculiar syntax of an ADL often hinder its architecture description. This approach maps a UML
wide acceptance. architecture description into a formal software architecture
In contrast, UML has been widely accepted for object- model called SAM, which serves as a semantic domain for
oriented system modeling and design. Software architects defining the precise semantics of the UML description and
and designers are familiar with the main features and supports formal analysis. Furthermore, when the UML
2 (IJCNS) International Journal of Computer and Network Security,
Vol. 2, No. 5, May 2010

architecture description contains sufficient details, an composition Ci as well as a set of composition constraints Csi,
implementation from the resulting SAM architecture e.g. Ci = {Cmi, Cni, Csi}. In addition, each component or
description to Java code can be automatically generated connector is composed of two elements, a behavioral model
from our existing SAM translator tool. and a property specification, e.g. Cij = (Bij, P ij). Each
The paper proceeds as follows: Section 2 gives some behavioral model is described by a Petri net, while a property
background information. Section 3 describes our approach specification by a temporal logical formula. The atomic
to mapping UML architecture description to SAM model; proposition used in the first order temporal logic formula is
Section 4 gives an example of the approach applied an the ports of each component or connector. Thus each
embedded system example and evaluates the approach; behavioral model can be connected with its property
Section 5 describes related work and Section 6 concludes. specification. A component Cmi or a connector Cni can be
refined to a low level composition Cl by a mapping relation h,
e.g. h(Cmi ) or h(Cmi ) = Cl. SAM is suitable to describe large
2. Preliminaries
scale systems’ description.
In this section, we provide a brief introduction to software SAM gives the flexibility to choose any variant of Petri nets
architecture documentation, UML, and SAM. and temporal logics to specify behavior and constraints
according to system characteristics. In our case, Predicate
2.1 Software Architecture Viewpoints Transition (PrT) net [11] and linear temporal logic (LTL)
Although, there is not a universally accepted way in are chosen.
documenting software architecture design. The component
and connector (C&C) view, showing the dynamic behavioral 3. Our Approach
aspect of a software system, proposed in [35] is no doubt an
essential one, which has been the target used in the Our approach takes a software architecture description based
development of many software architecture description on the C&C view and documented using the UML, and
languages. The C&C view is also included in the work of produces a formal software architecture description in SAM.
the Software Engineering Institute (SEI) [30], where the More specifically, in the UML software architecture
authors presented three view types - module, component and description:
connector, and allocation view in documenting software a) A class diagram is used to model the overall
architecture design; and provided guidelines of how to use structure of a software architecture,
UML to document these architecture view types. With b) State chart diagrams are used to define the behavior
regard to the representation of the C&C view, three of individual components and connectors, and
strategies are demonstrated: using component types as c) OCL is used to specify architecture level
classes, subsystems, or real-time profiles. Since the behavior constraints.
of each class and object is described by the state charts The above UML notations are mapped to SAM entities as
diagram, the behavior of the system represented by the class follows:
diagram can be a group of state charts diagram with a) The class diagram is mapped to an overall
interactions. hierarchical SAM structure,
b) State chart diagrams are mapped to PrT nets, and
2.1 SAM – Software Architecture Model c) OCL expressions are mapped to temporal logic
SAM is an architectural description model based on Petri formulae.
nets [29], which are well-suited for modeling distributed The resulting SAM model can be analyzed with various
systems. SAM [15] has dual formalisms underlying – Petri existing formal analysis techniques including model
nets and Temporal logic. Petri nets are used to describe checking.
behavioral models of components and connectors while Furthermore, to improve the productivity and quality, we
temporal logic is used to specify system properties of provide an automated realization of the resulting SAM
components and connectors. model. We have designed and implemented a tool, named
SAM (Software Architecture Model) is hierarchically SAM parser, with the PrT-XML and temporal logic-XML
defined as follows. A set of compositions C = {C1, C2, …, transformation. Figure 1 shows the overall structure of the
Ck} represents different design levels or subsystems. A set of approach.
component Cmi and connectors Cni are specified within each

Figure 1. Overall Structure of Our Approach


(IJCNS) International Journal of Computer and Network Security, 3
Vol. 2, No. 5, May 2010

b) Each substate s ∈ S, where children(S) = Φ, is


3.1 Mapping from State-charts to SAM
mapped into a component Cm ∈ C. We have fT(S)
Composition
= Cm, where children(S) = Φ, Cm ∈ C, and Cm =
It is straightforward to map each class into a composition < Bm, P m> . Let S be < En,E x,Do,A,G> , where En,
in a SAM model. In this section, we mainly focus on the E x, Do, and A represent entry, exit, do and other
mapping from state charts to a SAM composition. regular actions taken inside the states
A statechart diagram specified the states that an object respectively, G denotes the guard of any actions.
can inhabit in, describes the events triggered flow of b.1 The behavior model of the component (Bm) is
control and actions responded from the system, as the described by following mapping:
result of the objects reactions to events from the fT(S) = <<pt_in, ten>, <pt_out, tex>, ti, gt >, where
environment. The semantics of statecharts is based on the pt_in, and pt_out denote input and output port
run-to-completion assumption [1]. A State is an abstract respectively, ten and tex denotes transitions that
metaclass that models a situation during which some are corresponding to entry and exit action
(usually implicit) invariant conditions hold. The structure respectively, ti denotes transitions that
of a state vertex, defined by the following function corresponding to the do action and other
children, incarnates the hierarchy of state machines. internal actions, gt denotes the internal
transition’s guard function.
Definition 1 (Children). Let S be a set of state vertices. b.2 The property specified (P m) by OCL can be
The function children: S defines for each state the set of transformed into first order (or propositional)
its direct substates. logic and temporal logic.
c) Pseudo states include initial, History, join, fork,
We define childreni(s) = {s’|s’ ∈ childreni-1 (s)} for i > 1. junction and choice. We use some special tokens
Thus the function children+(s) = ∪i>0childreni(s) defines to denote and symbolize the pseudo states.
for each state a set of its transitively nested substates. • Initial state is mapped to a token < “init” > in
Incoming events are processed one at a time and an event an input port of the component as initial
can only be processed if the processing of the previous marking.
event has been completed – when the statechart • History state is mapped to some token in a
component is in a stable state configuration. In our study, place. The sort of the token would be
we considered the events and actions defined by the <History, OtherTokens >.
methods which are specified in the corresponding classes. • Fork and junction states are special states that
Thus we can obtain more detailed implementation represent the splitting of a single flow of
information. To map the state chart diagram to SAM control and the synchronization of concurrent
composition, we present a translation algorithm (fT) in the flows of control. Generally there is no label
following steps. for the input and output transitions. In the
a) Each super state S, where children(S) ≠ Φ, is component we use a special token < “Fork” >
mapped into a composition C in SAM model, i.e., or < “Join” > to represent them. Fig. 2
fT(S) = Ci , where children(S) ≠ Φ. illustrates the translation of these two special
states.

Figure 2. Translated SAM Model of States Fork and Join


4 (IJCNS) International Journal of Computer and Network Security,
Vol. 2, No. 5, May 2010
directly. Some other predefined operations, such as
d) A transition tS inside the super state S is mapped toUpper(), Concat() have no images in the logic
into a connector Cn ∈ C. Let S be < E,A,Valr ,G> . domain. Attributes can be (atomic) predicates in the
In this case, we have: first order or propositional logic.
• invariants: This means that the constraints are always
fT (< E,A,Valr ,G> ) = <<pt_in, t>, <pt_out, t>, tk,
holding in the context, thus it is a context-specific
gt_internal>, where E denotes trigger event or safety property:  invariants
action, A denotes action, pt_in, and pt_out denote • pre- and post-condition: can be mapped to the
input and output port respectively, t denotes following temporal formula precondition → ⋄
transition, tk denotes tokens in the ports, Valr postcondition. In the case that it is an invariants, we
denotes returned value of the action A, and G have  (precondition → ⋄ postcondition)
denotes guard of the label, gt_internal denotes the • let-in clause: let clause defines some variables used in
internal transition’s guard function. the in clause. In the in clause, you can use any
e) Generally, we can merge the place holding the defined syntax in the OCL.
return value for entry action with the place • if-then-else clause: Let use format if cond then r1 else
holding the parameters for the do action, the r2, we have the logic formula as follows
holding the return value for do action with the cond → r1 ∨ r2.
place holding the parameters for the exit action. • previous value @pre: The postfix @pre refers to a
From above translation algorithm (fT), we can realize a value of a property at the start of an operation in a
postcondition. In this case we have to record the
mapping relation between each item in the state-chart previous value and then invoke the value through
diagram and the SAM architecture model. This some method since there is not a corresponding
translation algorithm (fT) is meaningful for the formal mapping in the logic.
verification of UML architecture document.
3.3 Tool Support – SAM Translator
Runtime verification, composed of a software module and
3.2 Mapping from OCL to First Order Temporal
an observer, monitors the execution of a program, and
Logic
checks its conformity with a requirement specification,
In the translation from OCL to first order and temporal often written in a temporal logic. Runtime verification
logic, it is worth to note that following features of OCL can be applied to evaluate automatically test runs, either
restrict the translation to temporal logic. on-line or o_-line, analyzing stored execution traces; or it
1. There is not timing concept in the OCL can be used on-line during operation, potentially steering
specification. the application back to a safety region if a property is
2. There is not object concept in the temporal logic violated. It is highly scalable. Several runtime verification
specification. systems have been developed, such as JPaX [14], Java-
3. OCL is an implementation-based and oriented MAC [17], etc..
specification language, while temporal logic is a We have developed a runtime monitoring system, SAM
high level specification language. Thus there is not Parser, on Software Architecture Model (SAM) [15]
type system, data structure, condition and flow whose behavior is modeled by Petri Nets and properties
control sentence in temporal logic. by temporal logic. To validate the translated state charts
4. Finally, OCL is 3-value function logic (true, false, model, we adapted it to SAM parser to reuse that tool. We
and undefined,) while temporal logic is a 2-value introduce the SAM Parser simply introduced in the
logic. following.
Considering the above features and difference between Input: The runtime checker has to have two input data:
OCL and temporal logic and first order logic, we decide transformed SAM model and temporal logic. These data
to map OCL expression to the first order logic with the are specified in the PNML and XML format.
following concerns: Code Generation: The code of SAM model and temporal
• Context: It indicates the scope of the entity. It can be logic and first order logic formulae are automatically
translated to the quantifiers ∀ or ∃. The difference is generated from the input files. In our work, we construct
that the scope of the quantifiers in the OCL context
a class as a child of templates for each net, place,
generally is finite.
transition, arc, inscription, initial marking, and guard.
• Navigation: Navigation through association either
results in a Set(Object) or in a Seq(Object) if The reason for this is to make it easier to understand and
association is marked as ordered. We can use a maintain. For example, the user can provide a more
quantifier ∃ on Set(Object), Seq(Object) or Collection, efficient way to check the enableness of a transition and
since the later two also have the set concept. In the way to fire it by replacing methods of corresponding
addition, select and reject used in the Collection can classes without any side effects on other transitions. The
be mapped to the quantifiers ∀ and ∃, since they execution of generated code is non-deterministic, i.e. we
restrict the scope of instances. choose an enabled transition and a valid assignment
• forall and exists: are obviously translated into randomly to fire. It is hard to generate code automatically
quantifiers ∀ and ∃. given a Petri net due to the complexity of sorts, guard
• allinstance: It semantically matches ∃. conditions of transition and arc labels [25]. If some
• operations, attributes: All predefined boolean
restrictions[10] are satisfied, we can achieve it.
operations can be mapped into first order logic
operations. All mathematic operations can be used
(IJCNS) International Journal of Computer and Network Security, 5
Vol. 2, No. 5, May 2010

Temporal logic and first order logic formulae are intervention from the driver, by actuating the throttle-
transformed into automata by a logic engine Maude ([5]). accelerator pedal linkage. A modern automotive cruise
These translated automata will feed into our runtime control is a control loop that takes over control of the
checker generator to produce monitors for different throttle, which is normally controlled by the driver with
formulae. the gas pedal, and holds the vehicle speed at a set value.
We assume an automatic transmission vehicle. When
Runtime Checker Generation: Runtime checkers are turned on by the driver, a cruise-control system (CCS)
generated by breaking the temporal logic formula into automatically maintains the speed of a car over varying
subformulae and creating a matrix for the formula [33]. terrain. The CCS can be turned on by pressing Start
In order to generate monitoring codes for properties button, and enabled by pressing SetSpeed button. Resume
(linear temporal formulae), a logic server, Maude [5] in button will enable the CCS at the last maintained speed
our case, is necessary. Maude, acting as the main when the brake is released. The cruise control function is
algorithm generator in the framework, constructs an disabled when the brake or accelerator pedal is pressed.
e_cient dynamic programming algorithm (i.e. monitoring Pressed once Resume button can increase the speed with
code) from any LTL formula [33]. The generated 1mph and the SetSpeed button can decrease the speed
algorithm can check if the corresponding LTL formula is with 1mph when the cruise control function is enabled.
satisfied over an event trace. The cruise control system should be automatically
disabled when the speed is below 25mph and above
4. An Application of the MDA Approach 90mph. For the space limit, we cannot show the UML
diagram and generated code. Each place or port must
We present an instance of our approach in a statechart carry its state information which is also ignored in the
diagram, which is one of the state machine in the UML tables. Finally, we have to point out that the guard
models, through a case study. The case study deals with a function for a transition has to be added some more
simplified cruise control system adapted from [13]. In restrictions for the evaluations. For instance, if there is a
this section we will first introduce the cruise control token “void” in the input place of a transition, it means
system and a state chart diagram for the cruise controller. the previous action does not have return value, we have to
Then we present some properties of this example. Finally, justify that field to evaluate the firing condition of the
the runtime verification results are discussed. transition. This means that automatically mapping a
4.1 Cruise Control System and UML Documentation guard condition in a state chart diagram to a guard
function is not sufficient in some cases.
The purpose of a cruise control system is to accurately
maintain the driver’s desired set speed, without
All properties are true if the conditions and guard are
4.2 Experiment Results and Discussion
satisfied. We also check some conditions that is not
The time of generated code with monitors is 4.3s. We suitable for the method, such as different parameters
checked 5 properties covering 5 components and 4 feeding for the method that makes the guard is not
connectors. satisfied, in that case the formula is evaluated as false.
Since the events and actions are defined by the methods The Results are consistent with what we expected from
which are specified in the corresponding classes, each the state chart diagram. Finally, we also find a mapping
fired transition represents a method is operated under mistake in the component Accelerating and component
some guard condition. The properties specified in the Decelerating when we check properties relative to them.
OCL expressions for the state chart diagram is mapped to We modified the mapped SAM composition according to
temporal formulae and further used to generate monitors. the checking results.
analysis of generic UML object-oriented designs [7, 34, 12,
5. Related Work 24, 4, 26, 35], their results may not be ready applicable to
UML architecture level designs.
Our MDA approach and the presented framework integrate Code Generation from the UML Description and
two aspects: software architecture with UML design Verification in the Implementation:
notation and its extension. Moreover, our approach also There is a significant amount of research that considers
provided a runtime validation and verification technique by mappings from UML to other (mostly formal) modeling
using SAM Parser. The related works are discussed in the techniques to validate UML models (e.g. using B [22], CSP
following. [8], SPIN [23], PVS [2], Petri Nets [27, 38], Z/Eves [3] and
Formal Modeling and Analysis of Architecture the work with Object-Z [19, 20, 18, 39]). These works focus
Descriptions in UML: Our work has been influenced by a on the mapping from UML diagrams to formal methods for
large body of research and practical experience. In the model checking or some specification language for the
interest of brevity, we only compare it to the most relevant model checkers. Moreover, less of them address the code
approaches. The work reported in this paper relates to works generation and verification in the implementation level.
that focus on specifying structural and possibly behavioral Property Specification – OCL Expression and Temporal
aspects of a software system using UML. The representative Logic: Various methodologies proposed to deal with the
UML architecture description examples are provided by property specification of object-oriented systems. There are
Kruchten [21], Hofmeister et al. [16] and Clements et al. two main streams to cooperate OCL with temporal logics,
[31]. Although several researchers have explored the formal one is extending OCL with temporal notations ([31, 9, 37]
6 (IJCNS) International Journal of Computer and Network Security,
Vol. 2, No. 5, May 2010

etc.), another is add object concepts into temporal logics [9] S. Flake and W. Mueller. An OCL extension for real-
([6]). The work in both streams increases the complexity of time constraints. In Object Modeling with the OCL,
the extended language and obstacles of the usage. pages 150–171, 2002.
[10] Y. Fu, Z. Dong, and X. He. A Methodology of
6. Conclusion and Future Works Automated Realization of a Software Architecture
Design. In Proceedings of The Seventeenth
In this paper, we have presented an integrated approach for International Conference on Software Engineering and
transferring an architecture description represented in UML Knowledge Engineering (SEKE2005), 2005.
to a formal architecture model represented in SAM, which [11] H. J. Genrich. Predicate/Transition Nets. Lecture Notes
not only supports design level analysis but also automated in Computer Science, 254, 1987.
code generation with run-time verification capability. The [12] M. Gogolla and F. P. Presicce. State Diagrams in UML:
specific details of the approach, outlined in the algorithms A Formal Semantics using Graph Transformations. In
in Section 3, are likely to evolve as our research on the Proceedings of International Conference of Software
relationship between UML and software architectures Engineering, Workshop on Precise Semantics of
deepens; however, we believe that the approach is flexible Modeling Techniques, pages 55–72, 1998.
and general enough to accommodate needed new changes. [13] H. Gomaa. Designing Concurrent, Distributed, and
As pointed out by Medvidovic in the work [27] ensuring Real-Time Applications with UML. Addison-Wesley
system properties at the level of architecture is of little value Professional, 2000.
unless it can also be ensured that those properties will be [14] K. Havelund and G. Rosu. An overview of the runtime
preserved in the resulting implementation. This reflects the verification tool java pathexplorer. Journal of Formal
importance of the code generation and runtime verification Methods in System Design, 2004.
of system properties in the implementation. Our automated [15] X. He and Y. Deng. A Framework for Specifying and
code generation and run-time verification approach nicely Verifying Software Architecture Specifications in SAM.
addresses the above research issue. volume 45 of The Computer Journal, pages 111–128,
2002.
Acknowledgements We appreciate for all reviewers to read [16] C. Hofmeister, R. L. Nord, and D. Soni. Describing
this paper. This work is supported by Title III under grant Software Architecture with UML. In Proceedings of the
PO31B085057-08. TC2 1st Working IFIP Conference on Software
Architecture (WICSA1), pages 145 – 160, 1999.
[17] M. Kim, S. Kannan, I. Lee, and O. Sokolsky. Java-
References MaC: a Run-time Assurance Tool for Java. In
[1] Uml 2.0 specification. http://www.omg.org/ Proceedings of RV’01: First International Workshop
technology/documents/formal/uml.htm. on Runtime Verification, Paris, France, Electronic
[2] Enhancing Structured Review with Model-Based Notes in Theoretical Computer Science. Elsevier
Verification. IEEE Transaction on Software Science, 2001.
Engineering, 30(11):736–753, 2004. Member-Issa [18] S.-K. Kim, D. Burger, and D. Carrington. An mda
Traore and Member-Demissie B. Aredo. approach towards integrating formal and informal
[3] N. Am´alio, S. Stepney, and F. Polack. Formal proof modeling languages. In FM 2005: Formal Methods,
from uml models. In ICFEM’04, volume 3308 of International Symposium of Formal Methods Europe,,
Lecture Notes in Computer Science, pages 418–433, volume 3582 of Lecture Notes in Computer Science,
2004. pages 448–464, 2005.
[4] D. B. Aredo. Semantics of UML statecharts in PVS. In [19] S.-K. Kim and D. Carrington. Formalizing the UML
Proceeding of 12th Nordic Workshop on Programming Class Diagrams Using Object-Z. In UML’99: The
Theory, Bergen, Norway, 2000. Unified Modeling Language - Beyond the Standard,
[5] M. Clavel, F. J. Dur´an, S. Eker, P. Lincoln, N. Mart´ı- Second International Conference, volume 1723 of
Oliet, J. Meseguer, and J. F. Quesada. Maude: Lecture Notes in Computer Science, 1999.
Specification and Programming in Rewriting Logic. [20] S.-K. Kim and D. Carrington. A Formal Mapping
http://maude.csl.sri.com/papers, March 1999. between UML Models and Object-Z Specifications.
[6] D. Distefano, J.-P. Katoen, and A. Rensink. On a Lecture Notes in Computer Science, volume 1878,
Temporal Logic for Object-Based Systems. In S. F. pages 2–21, 2000.
Smith and C. L. Talcott, editors, Formal Methods for [21] P. Kruchten. The 4+1 view model of architecture. IEEE
Open Object-Based Distributed Systems IV - Proc. Software, 12(6):42–50, 1995.
FMOODS’2000, Stanford, California, USA, September [22] K. Lano, D. Clark, and K. Androutsopoulos. UML to B:
2000. Kluwer Academic Publishers. Formal Verification of Object-Oriented Models. volume
[7] Z. Dong and X. He. Integrating UML State-chart and 2999 of Lecture Notes in Computer Science, pages 187–
Collaboration Diagrams Using Hierarchical Predicate 206,2004.
Transition Nets. In GI Lecture Notes in Informatics, [23] D. Latella, I. Majzik, and M. Massink. Automatic
2001. Verification of a Behavioural Subset of UML Statechart
[8] G. Engels, R. Heckel, and J. M. K¨uster. Rule-based Diagrams Using the SPIN Model-checker. Formal
specification of behavioral consistency based on the Aspects of Computing, 11(6):637 – 664, 1999.
UML meta-model. volume 2185, pages 272–284, 2001.
(IJCNS) International Journal of Computer and Network Security, 7
Vol. 2, No. 5, May 2010

[24] D. Latella, I. Majzik, and M. Massink. Towards a [38] Jiexin Lian, Zhaoxia Hu, Sol M. Shatz. Simulation-
Formal Operational Semantics of UML Statechart based analysis of UML statechart diagrams: methods
Diagrams. In Proceedings of the 3rd IFIP International and case studies. Software Quality Journal. 16(1),
Conference on Formal Methods for Open Object-based March, 2008. ISBN: 0963-9314. Springer Netherlands.
Distributed Systems, pages 331–347, February 1999. [39] Rafael M. Borges and Alexandre C. Mota. Integrating
[25] S. W. Lewandowski and X. He. Generating Code for UML and Formal Methods. Electronic Notes in
Hierarchical Predicate Transition Net Based Designs. In Theoretical Computer Science (ENTCS). Volume 184.
Proceedings of the 12th International Conference on Page 97-112. July 2007. Elsevier Science Publishers.
Software Engineering & Knowledge Engineering, pages
15–22, Chicago, U.S.A., July 2000. Authors Profile
[26] J. Lilius and I. P. Paltor. The Semantics of UML State
Machines. Technical Report 273, Turku Centre for Yujian Fu received the B.S. and M.S. degrees in Electrical
Computer Science, 1999. Engineering from Tianjin Normal University and Nankai University
[27] N. Medvidovic, D. S. Rosenblum, and D. F. Redmiles. in 1992 and 1997, respectively. In 2007, she received her Ph.D.
Modeling Software Architectures in the Unified degree in computer science from Florida International University.
Modeling Language. ACM Transactions on Software She joined the faculty of Department of Computer Science at the
Engineering and Methodology, 11(1):2–57, January Alabama A&M University in the same year. Dr. Yujian Fu
conducts research in the software verification, software quality
2002. assurance, runtime verification, and formal methods. Dr. Yujian Fu
[28] H. Motameni. Mapping to Convert Activity Diagram in also actively serves as reviewers of several top journals and
Fuzzy UML to Fuzzy Petri Net. World Applied Sciences prestigious conferences. She continuously committed as a member
Journal, 3(3): 514 – 521, 2008. ISBN: 1818-4952. of IEEE, ACM and ASEE.
[29] T. Murata. Petri Nets: Properties, Analysis and
Applications. Proceedings of the IEEE, 77(4):541–580, Zhijiang Dong received the B.S. and M.S. degrees in Huazhong
1989. Tech University, Ph.D. degree in computer science from Florida
[30] J. S. e. a. Paul Clements, Len Bass. Documenting International University. He currently is assistant professor at
Software Architectures: Views and Beyond. Addison- Middle Tennessee University. Dr. Dong’s research is mainly in the
software engineering. Dr. Dong also actively serves as reviewers of
Wesley, January 2003.
several top journals and conferences. He continuously committed as
[31] S. Ramakrishnan and J. McGregor. Extending OCL to a member of IEEE, ACM.
Support Temporal Operators. In 21st International
Conference on Software Engineering (ICSE 99), Xudong He is a professor of school of computing and
Workshop on Testing Distributed Component-Based information science and director of center for advanced and
Systems, May 1999. distributed system engineering at Florida International University.
[32] J. E. Robbins, N. Medvidovic, D. F. Redmiles, and D. Dr. He’s research are software engineering, formal verification and
S. Rosenblum. Integrating architecture description specification. Dr. He currently has over one hundred publications in
languages with a standard design method. In ICSE ’98: prestigious journals and conferences.
Proceedings of the 20th international conference on
Sha Li is an associate professor at department of curriculum,
Software engineering, pages 209–218, Washington, teaching and educational leadership, school of education of
DC, USA, 1998. IEEE Computer Society. Alabama A&M University. Dr. Sha Li received his doctorial
[33] G. Rosu and K. Havelund. Rewriting-Based Techniques degree of educational technology from Oklahoma State University,
for Runtime Verification. Journal of Automated 2001. Sha Li' research interests include distance education,
Software Engineering, 2004. instructional technology, instructional design and multimedia for
[34] J. Saldhana and S. M. Shatz. UML Diagrams to Object learning.
Petri Net Models: An Approach for Modeling and
Analysis. In Proceedings of the International Phil Bording is an associate professor and chair of department of
computer science at Alabama A&M University. Dr. Phil Bording
Conference on Software Engineering and Knowledge
received his Ph.D. degree in computer science from University of
Engineering, pages 103–110, 2000. Tulsa in 1995 and M.S. degree from University of Alabama at
[35] T. Sch¨afer, A. Knapp, and S. Merz. Model Checking Huntsville in 1984. Dr. Bording’s research area is parallel
UML State Machines and Collaborations. Electronic computing.
Notes in Theoretical Computer Science, 55(3):1–13,
2001.
[36] M. Shaw and D. Garlan. Software Architecture:
Perspectives on an Emerging Discipline. Prentice Hall,
1996.
[37] P. Ziemann and M. Gogolla. An Extension of OCL with
Temporal Logic. In Critical Systems Development with
UML – Proceedings of the UML’02 workshop, pages
53–62, TUM, Institut fur Informatik, TUM-I0208,
September 2002.
8 (IJCNS) International Journal of Computer and Network Security,
Vol. 2, No. 5, May 2010

Principle Component Analysis


From Multiple Data Representation
Rakesh Kumar yadav1, Abhishek K Mishra 2, Navin Prakash3 and Himanshu Sharma4
1
College of Engineering and Technology, IFTM Campus,
Lodhipur Rajput, Moradabad, UP, INDIA
rakeshoso@yahoo.co.in
2
College of Engineering and Technology, IFTM Campus,
Lodhipur Rajput, Moradabad, UP, INDIA
abhimishra2@gmail.com
3
College of Engineering and Technology, IFTM Campus,
Lodhipur Rajput, Moradabad, UP, INDIA
naveenshran@gmail.com

4
College of Engineering and Technology, IFTM Campus,
Lodhipur Rajput, Moradabad, UP, INDIA
cs_himanshu@rediffmail.com

Abstract: For improving accuracy and increasing efficiency of open and very challenging dilemma in real application. The
classifier, there are available many effective techniques. One of area of face recognition has focused on detecting individual
them combining multiple classifier technique is used for this feature such as the eyes, nose, mouth, lips and head outline
purpose. In this paper I present a novel approach to a and defining face model by the position, size, perimeter and
combining algorithm designed to improve the accuracy of relationship among features. Bledsoe’s [3] and Kanade’s [4]
principle component classifier. This novel approach combines recognition based on these parameter. A Mathew A. Turk
multiple PCA classifiers, each of using a subset of feature. In
and Alex P. Pentland [1] track a subject’s and then
contrast other combining algorithms usually manipulate the
training pattern.
recognizes the person by comparing characteristics of the
face to those of known individuals. Face images are
Keywords: PCA classifier, Eigenface, Eigenvector, Voting, projected onto a feature space that best encodes the variation
Covariance matrix, new projected data, face recognition. among known face images. The face space is defined by the
“eigenface” which are the eigenvectors of the set of faces;
1. Introduction they do not necessarily correspond to isolated feature such as
eyes, ear and nose. The framework provides the ability to
The PCA classifier is one of the oldest and simplest methods learn to recognize new faces in an unsupervised manner.
for classification. PCA involves a mathematical course of In mathematical terms, we want to find the principle
action that transform a number of possible correlated component of the distribution of faces or the eigenvectors of
variable into a smaller no of uncorrelated variable called the covariance matrix of set of face images. These
principle component. PCA is mathematically defined as an eigenvectors can be thought of as a set of feature which
orthogonal linear transform that transform the data to a new together characterizes the variation between face images.
coordinate system such that greatest variance by any Each image location contributes more or less to each
projection of the statistics comes to lie on the first eigenvector so that we can display the eigenvector as a sort
coordinate. The second greatest variance on the second of ghostly face which we call an eigenfaces.
coordinate and so on [10].
There are many approaches available to combining the
1.1. Method of Pronouncement PCA. classifier such as Stephen O.Bay, “Nearest Neighbor
Step 1: Acquire some data Classification from Multiple Feature Subset” [7] and Bing-
Step 2: Subtract the mean Yu-Sun- Xiao-Ming Zhang and Rujing Wans, “Training
Step 3: Compute the covariance matrix SVMs for Multiple Feature Classifier Problem” [5] but there
Step4: Compute the eigenvectors and eigenvalues of the in no any approach available to combining the base
covariance Matrix classifiers. Actually the combination of classifier can be
Step 5: Choosing components and forming a feature vector implemented at two levels, feature level and decision level.
Step 6: Deriving the new data set. Xiaoguang Lu, Yunhong Wang, Anil K. Jain, “combining
classifier for face recognition”[4] provide frameworks to
1.2. Related work combine different Classifier on feature based .We are using
Image classification is a thorny task because images are feature level combination and want to present combination
multidimensional. There are many classifiers although there of classifier which works on low level feature in this
are a number of face recognition algorithms which works approach.
well in constrained situation; face recognition is still an
(IJCNS) International Journal of Computer and Network Security, 9
Vol. 2, No. 5, May 2010

2. Classification amalgamation 8. Store training feature vector and projected data in a


matrix.
2.1. Training Phase 9. Read test set
In the training phase we extract feature vector for each
subset of images in training data set. Let T1 be a training
subset in which every image has pixel resolution of M by N
(M row, N column). In order to extract PCA features of T1
we will first convert image into a pixel vector by
concatenating each of M rows into single vector V1. The
length of pixel vector V1 will be M*N. we will use the PCA
algorithm as a dimensionality reduction technique which
transform the vector V1 to a vector W1. Which has
dimensionality d where d<=M*N. For each training image
subset Ti, we will calculate and store these feature vector
Wi.

2.2 Recognition Phase

In the recognition phase, we will be given a test set of


images Tj of known person. As in the training phase we will
compute the feature vector of this test set using PCA and
match the identity name of persons. In order to identity we
will compute the similarities between test set and training
subset. For this we will use the combining algorithm
method.

2.3. Combining algorithm. Figure 1

The algorithm for PCA classification from multiple feature 10. Calculate the feature vector of test set and also
subsets is simple and can be treated as: calculate new projected data buy using PCA
transformation matrix.
Using voting, combining the output from multiple PCA 11. Compute the similarity between subset and test set
classifiers each having access each subset of feature. by using voting method.
We select the subset of features by sampling from original 12. store the similarity
set of features we use two different sampling functions: 13. Now we go the subset test set which have lowest
sampling with replacement and sampling without similarity factors determine the person id and
replacement. In sampling with replacement a feature can be match the id between training subset and test set.
selected more than once which we treat as increasing its 14. Initialize error count to zero
weight. 15. For each test face If the id is match then
Each of the PCA classifiers uses the same number of recognition done and accuracy will be hundred
features. This is parameter of algorithm which we set by percent.
cross confirmation performance estimates on the training 16. If the id of any test face image is not equal to id of
set. training subset of each image then increment in
error count.
The similarity among new projected data can be calculated 17. Compute the accuracy by using error count value.
using euclidean distance the identity of most similar Wi will
be output of our classifier. If i=j it means that we have 3. Experiment Discussion
correctly identified the subset otherwise we have
misclassified the subset. The schematic diagram of this To access the possibility of this approach to face
presented in figure 1. recognition, we have performed experiments .we used the
ORL database [9] which available in public domain. We
2.4. Pseudo code of combining algorithm also used image processing tool of MATLAB 7.6. Using
1. Prepare training set which contains subset of ORL database we have conducted 3 experiments to access
images the accuracy of recognition by formula:
2. Set PCA dimensionality parameter
3. Read training subset (1-(error count/total test image count))*100
4. Form training data matrix.
5. Form training class label matrix In the experiments we take 5 training subset of face image.
6. Calculate PCA transform Matrix Each subset contains 20 face images of 4 different person
7. Calculate feature vector , projected data of all and one test set which contains 5 images of a person. In the
subset of training set by using PCA transformation first experiment we set up 60 percent accuracy. In the
matrix
10 (IJCNS) International Journal of Computer and Network Security,
Vol. 2, No. 5, May 2010

second experiment we set up 80 percent accuracy and at last Abhishek K Mishra received the M.Tech Degree in computer
in third experiment we found 60 % accuracy. Technology and Application from school of Information
As can seen my result are no where near perfect yet with Technology, UTD, RGPV, Bhopal, India.. Currently Working as
my best outcomes in with almost 80 percent matches. Sr. lecturer in college of Engineering and Technology, IFTM
Moradabad. INDIA.
If we study this approach in the view of complexity
then definitely I assured both time and space complexity will Navin prakash received the B Tech Degree in Computer Science
be reduced because we are using multiple feature subset from BIET Jhansi in 2001, India. Currently Working as Sr. lecturer
concepts as like in nearest neighbor classifier from multiple in college of Engineering and Technology, IFTM Moradabad.
feature subsets [7]. The nearest neighbor classifier from INDIA.
multiple feature subsets supports lower complexity.
Himanshu Sharma received the B.Tech Degree in computer
Science and Information technology from MIT, Moradabad, India.
Currently Working as Sr. lecturer in college of Engineering and
4. Conclusion and future work Technology, IFTM Moradabad, INDIA.
As can be seen my results are near to perfect while these
results may be improve. Conceptually this approach reduced
the complexity also but this approach has two limitations
one voting can only improve accuracy if the classifier select
the correct class more often than only other class. Another
algorithm has two parameter value need to be set first is size
of features subset and second is number of classifier. So in
the near future we can also improve the accuracy and
complexity of this approach.

5. References
[1] M. Turk and A. Pentland,”Face recognition using
eigenface”, In Computer Vision and Pattern
Recognition, 1991.
[2] W.W.Bledsoe, “the model method in facial recognition”,
panoramic research inc. Palo alto.ca roe. Pr: 15, Aug
1966
[3] T. Kanade, “picture processing system by computer
complex and recognition of human faces”, dept pf
information science, Kyoto university, Nov 1973.
[4] Xiaoguang Lu, Yunhong Wang, Anil K. Jain,
“combining classifier for face recognition”.
[5] Bing-Yu-Sun- Xiao-Ming Zhang and Ru-jing Wang,
“Training SVMs for Multiple feature classifier
problem”.
[6] Julein Meynet Vlad Popovici, Matteo, Sorci and jean
Philippe Thiran, “combining SVMs for face class
modeling”.
[7] Stephen D.Bay,” Nearest neighbor classification from
multiple feature subset”, November 15, 1998.
[8] Linday I smith, “A tutorial on principle component
analysis”, February 26, 2002
[9] http://homepages.cae.wiseedu/~ece533/
[10]http://en.wikipedia.org/wiki/Principal_component_anal
ysis

Authors Profile
Rakesh Kumar Yadav received the B.Tech Degree in
Information Technology from A K G Engineering College
Ghaziabad, INDIA in 2004. Currently pursuing M.Tech and
Working as Sr. Lecturer in college of Engineering and Technology,
IFTM Moradabad. INDIA.
(IJCNS) International Journal of Computer and Network Security, 11
Vol. 2, No. 5, May 2010

Performance Evaluation of MPEG-4 Video


Transmission over IEEE802.11e
Abdirisaq Mohammed Jama1, Sinzobakwira Issa2 and Othman O. Khalifa3
1
International Islamic University Malaysia,
Department of Electrical & Computer Engineering,
P.O.Box 10, 50728, Kuala Lumpur, Malaysia
wacays91@hotmail.com
2
International Islamic University Malaysia,
Department of Electrical & Computer Engineering,
P.O.Box 10, 50728, Kuala Lumpur, Malaysia
issa10issa@gmail.com
3
International Islamic University Malaysia,
Department of Electrical & Computer Engineering,
P.O.Box 10, 50728, Kuala Lumpur, Malaysia
khalifa@iiu.edu.my

the adaptation of MPEG-4 Video transmission over wireless


Abstract: Transmitting MPEG-4 video over Wireless Local
Area Networks is expected to be an important component of channel. In the following section 2, we briefly preview the
many emerging multimedia applications. One of the critical related work involved in the transmission of MPEG-4 video
issues for multimedia applications is to ensure that the Quality packets over IEEE802.11e.
of Service (QoS) requirement to be maintained at an acceptable Section 3 presents the simulation set-up, & Network
level. The IEEE802.11 working group developed a standard topology of our simulation study. In section 4, simulation
called IEEE802.11e to support Quality of Service (QoS) in results are presented and discussed. The conclusion is given
WLANs. This standard aims to support QoS by providing
differentiated classes of service at the Medium Access Control
in Section 5 followed by the References.
(MAC) layer to enhance the ability of physical layers to deliver
time-critical traffic in the presence of traditional data packets. 2. Related Work
In this Paper, Network Simulator 2 (NS-2) & Evalvid are used
as simulation tool to evaluate the Performance of MPEG-4 IEEE802.11 is one of most popular medium access control
Video Transmissions over IEEE802.11e. A modification of the protocols in the world. However, with IEEE802.11 it is
parameters of NS-2 and Evalvid were done to present the difficult to guarantee QoS because all stations use the equal
evaluated method. This has allowed us to control the different access method and network parameters.
design metrics values such as Frame/Packet loss, PSNR & With the development of services such as multimedia
Decodable Frame Rate (Q). In this paper, we evaluate a streaming, the demands for QoS guarantees are increasing.
framework which consists of a MAC-centric cross-layer
The IEEE standard [13] proposed IEEE802.11e medium
architecture to allow MAC layer to retrieve video streaming
packet information, and a single-video multi-level queue to access control protocol for QoS guarantee extends the
prioritize I/P/B slice (packet) delivery, the evaluated systematic existent and enhancements of IEEE802.11 Medium Access
scheme shows better results for lower packet loss, higher PSNR Control protocols and newly defines the HCF (Hybrid
& Decodable Frame Rate (Q) for MPEG-4 video transmission Coordination Function). HCF proposed two methods: EDCA
over IEEE 802.11e.. (Enhanced Distributed Channel Access) and HCCA (HCF
Keywords: IEEE802.11e, MPEG-4, NS-2, Evalvid. Controlled Channel Access).
The EDCA model is the competition base medium access
1. Introduction method and the HCCA model is a polling base medium
access method to act under the control of the HC (Hybrid
Efficient video transmission over wireless remains one of
Coordinator). The EDCA model is designed to provide a
the challenging goals for multimedia communications
differentiation service based on priority, and is similar with
because of the scarce wireless resources, high bandwidth
the DCF (Distributed Coordination Function) model of
and quality of service (QoS) requirement for video
existing 802.11 MAC. The EDCA model is the defining
transmission. However, studies on the MPEG-4 video
concept of AC (Access Category) for QoS support. Each AC
transmission in the wireless networks are not well explored.
has competition parameters, AIFS [AC] (Arbitration Inter-
This paper proposes a study of the transfer of video
frame Space) that alternate DIFS (Distributed Inter-frame
sequences coded in MPEG-4 over wireless networks using
Space), CWmin [AC] and CWmax [AC] [1], [2].
the IEEE802.11e technology. Quantifying the effects of
these simulations will help us in the design of a scheme for
12 (IJCNS) International Journal of Computer and Network Security,
Vol. 2, No. 5, May 2010

Fig. 1 shows the structure of IEEE802.11e EDCA model, However, these techniques can create attempts at
Wireless Station (WSTA) that have QoS parameters to unnecessary data transmission that exceed available
decide priority and four transmission queues that are bandwidth of networks because it does not have an adaptive
recognized by the virtual station. If more than two values of transmission rate adjustments scheme. As a result,
the back-off counter in a station reach to 0 at the same time, transmission queue overflow or loss of data causes
the scheduler of WSTA prevents a virtual collision. degradation in the quality of the video streaming service.

In [7] the authors classify cross-layer architectures for video


transport over wireless networks into five categories:-
1. Top-down approach: the higher-layer protocols optimize
their parameters and the strategies at the next lower layer.
2. Bottom-up approach: the lower layers try to insulate the
higher layers from losses and bandwidth variations.
3. Application-centric approach: the APP layer optimizes
the lower layer parameters one at a time in a bottom-up
(starting from the PHY) or top-down manner, based on its
requirements.
Figure 1. Structure of IEEE802.11e model 4. MAC-centric approach: the APP layer passes its traffic
information and requirements to the MAC, which decides
which APP layer packets/flows should be transmitted and at
Fig. 2 shows the medium access method of the EDCA
what QoS level.
model. Each frame has an AIFS [AC] of different size
5. Integrated approach: strategies are determined jointly by
according to the priority. Frames of highest priority have
all the open system interconnection (OSI) layers.
IFS (Inter-frame Space) such as DIFS, and low priority
frames have longer IFS than others. As a result, the
probability of access to the medium of frame and the priority
of frame are in proportion. The sizes of the competition
windows are different CWmin [AC] and CWmax [AC]
according to each AC.

Figure 3. MAC Centric Cross-layer Architecture

Figure 2. Medium Access Control method of IEEE802.11e


As shown in Fig. 3, the MAC layer treats video streams
EDCA
differently. Thus, the application layer passes its traffic
information (the priority of the streams) with their QoS
If the priority of the frame is high, it has a small CWmin requirements to the MAC layer, which maps these partitions
[AC] and CWmax [AC]. Therefore, the latency times to to different traffic categories to improve the perceived video
medium access of the high priority frames can be reduced quality.
even if a collision arises, and the data in transmission queue
can have a transmission opportunity easily.

There is much research taking place on transmitting


multimedia video efficiently using the medium access
control method of the IEEE802.11e EDCA model
[3],[4],[5]. Techniques, among the ones being researched to
improve quality of service, use the discriminating medium
access control method of IEEE802.11e EDCA model
according to the importance of the video data type [6].
(IJCNS) International Journal of Computer and Network Security, 13
Vol. 2, No. 5, May 2010

Figure 4. Prioritized Packetization 4. Simulation Results


IEEE802.11e EDCA has priority multi-level queue, AC
Prioritized Packetization gives priority to each frame (Access Category). The priorities of the four ACs are AC_I
according to the importance of the MPEG-4 video frames. > AC_P > AV_B > AV_Non-video If most of the
The frame degree of importance becomes different transmissions are MPEG-4 video packets of the same QoS
according to the relativity of the frames and the compression level then the advantage of priority multi-level queue will no
rate [8]. Fig. 4 shows the structure of the prioritized more exist. Hence we use a single-video multilevel queue by
packetization module that gives priority to each frame creating four access categories, AC_0 (highest priority),
according to the degree of importance of the frame; the AC_1 (second priority), and AC_2 (third priority). I-slice,
parser program reads each compressed video stream from P-slice and B-slice packets are assigned to AC_0, AC_1,
the video encoder output and generates a traffic trace file. and AC_2, respectively, and the remaining AC is dedicated
to non-video traffic.
3. Simulation Set-up
To evaluate the performance of IEEE802.11e we have
conducted simulations using a widely adopted network
Simulator (NS-2) [9] integrated with EvalVid [10].
The original NS2 software supports the IEEE802.11e only,
and it was necessary to augment it with the new
IEEE802.11e. The EDCA setup is added using the TKN
implementation of IEEE802.11e [11]. All simulations were
done under Windows XP Service Pack 2 using Cygwin [11]
in order to run NS-2 under Windows Operating Systems.

3.1 Network Topology


We consider a wireless topology having an infrastructure
WLAN with a varying number of wireless stations, and one
access point (AP) as shown in Fig. 5.

Figure 6. Single Video multi-level Queue

As shown in Fig. 6 our proposed scheme is a single-video


multi-level queue to prioritize I/P/B slice (packet) delivery,
this IEEE802.11e priority multi-level queue is able to
enhance bandwidth utilization.

Figure 5. Simulation Network Topology

All stations communicate with each other through the AP.


All stations are located in the same domain with the AP.
There is no mobility in the system to avoid the wireless
problems such as the hidden node problem. All stations send
CBR (Constant Bit Rate) traffic at a fixed sending rate and
interval. UDP is implemented as the transport layer
protocol. Figure 7. Foreman QCIF (176 x 144)

The video source can be either in the YUV QCIF (176 x


144) or in the YUV CIF (352 x 288) formats.
The video source used in the simulation is YUV QCIF (176
14 (IJCNS) International Journal of Computer and Network Security,
Vol. 2, No. 5, May 2010

x 144), Foreman. Each video frame was fragmented into 237 149 273 0 1 9
packets before transmission, and the maximum transmission
packet size over the simulated network is 1000 bytes, Fig. 7
shows the video used in our simulations.
Packet Sent Vs. Packet Lost

300
273
The video sequence has temporal resolution 30 frames per 250 237

second, and GoP (Group of Pictures) pattern


200
IBBPBBPBBPBBI. In Table 1 & Table 2 shows the Total

Amount
149 Packet Sent
amount of each frame/packet in the video sequence 150
Packet Lost

respectively. 100

50
9
Table 1: Amount of video frames in the video source 0
0 1

I P B
Pa ck e t type
Video Format Frame Number Total

I P B
Foreman QCIF 45 89 266 400 Figure 8. Sent packets vs. lost packets

Table 2: Amount of video packets in the video source As shown in Table 5 & Fig. 9, the total number of lost video
frame is 7, including 0 I frames, 1 P frames, and 6 B frames.
Video Format Packet Number Total The Decodable Frame Rate (Q) is 0.9625, and the average
PSNR of the result video is 33.67, as shown in Fig. 10 is a
I P B
sample of an output video frame.
Foreman QCIF 237 149 273 659

Table 5: Sent frames vs. lost frames


In table 3 shows the simulation parameters of the Sent Frames Lost Frames
simulation; we simulated two different traffics which is
I P B I P B
Video & Voice.
45 89 266 0 1 6

Table 3: Simulation parameters


Simulation Video Voice Frame Sent Vs. Frame Lost
Parameter
I -frame P-frame B- frame 300
266

Transport 250
Protocol UDP UDP UDP UDP
200
CWmin 3 7 15 7
Amount

CWmax 7 15 1023 15 Frame Sent


150
Frame Lost
AIFSN 2 3 3 4
100 89
Packet Size
(bytes) 1028 1028 1028 160 50
45
Packet Interval 6
0 1
10 ms 10 ms 10 ms 20 ms 0
Data rate I P B
(kbps) 1024 1024 1024 64 Frame type

Figure 9. Sent frames vs. lost frames

As shown in Table 4 & Fig. 8, the total number of lost video


packets is 10, including 0 I frames, 1 P frames, and 9 B
frames.

Table 4: Sent packets vs. lost packets


Sent Packets Lost Packets Figure 10. Sample of Received video frame
I P B I P B
(IJCNS) International Journal of Computer and Network Security, 15
Vol. 2, No. 5, May 2010
Contention-Based Channel Access,” IEEE JOURNAL
ON SELECTED AREAS IN COMMUNICATIONS,
VOL. 22, No. 10, December 2004.

5. Conclusions
In this paper, we evaluated a framework to improve the
quality of video streaming. This framework consists of
MAC-centric cross-layer architecture to allow MAC-layer to
retrieve video streaming packet information (slice type), to
save unnecessary packet waiting time, and a single-video
multi-level queue to prioritize I/P/B slice (packet) delivery.
We evaluated our simulations based on the decodable frame
rate (Q) and PSNR. Through simulations, we also revealed
that PSNR & decodable frame rate can evaluate the
perceived quality well by an end user. Therefore, we found
that the larger the Q & PSNR value, the better the video
quality perceived by the end user. Simulations show that the
evaluated methodology outperforms IEEE802.11e in packet
loss rate, and PSNR.

References
[1] IEEE 802.11e, “Wireless LAN Medium Access Control
(MAC) Enhancements for Quality of Service (QoS),”
802.11e Draft 8.0, 2004.
[2] S. Choi, “Overview of Emerging IEEE 802.11 Protocols
for MAC and Above,” Telecommunications Review,
Special Edition, November 2003.
[3] D. Gu, and J. Zhang, “QoS Enhancement in IEEE
802.11 Wireless Local Area Networks,” IEEE
Communications Magazine, June 2003.
[4] D. Chen, D. Gu, J. Zhang, “Supporting Real-Time
Traffic with QoS in IEEE802.11e Based Home
Networks,” IEEE Consumer Communications and
Networking Conference, January 2004.
[5] D. Gao, J. Cai, P. Bao, Z. He, “MPEG-4 Video
Streaming Quality Evaluation in IEEE802.11e
WLANs,” IEEE International Conference on Image
Processing, September 2005.
[6] A. Ksentini, A. Gueroui, M. Naimi, “Toward an
improvement of H.264 Video Transmission over
IEEE802.11e through a Cross Layer Architecture,”
IEEE Communications Magazine, Special Issue on
Cross-Layer Protocol Engineering, January 2006.
[7] Sai Shankar N, Mihaela van der Schaar, “Performance
Analysis of Video Transmission over IEEE 802.11a/e
WLANs,” IEEE Transactions on Vehicular, VOL. 56,
Issue 4, 2007.
[8] Pilgyu Shin, Kwangsue Chung, “A Cross-Layer Based
Rate Control Scheme for MPEG-4 Video Transmission
by Using Efficient Bandwidth Estimation in IEEE
802.11e,” School of Electronics Engineering,
Kwangwoon University, Seoul, Korea, 2007.
[9] NS-2, http://www.isi.edu/nsnam/ns.
[10] Chih-Heng, Ke, “How to evaluate MPEG video
transmission using the NS2 simulator,” EE
Department, NCKU, Taiwan, 2007.
[11] S. Wiethölter and C. Hoene, “Design and Verification
of An IEEE802.11e EDCF Simulation Model in ns-
2.26,” Tech. Rep. TKN-03-019, Technische Universität
Berlin, 2003.
[12] Cygwin, http://www.cygwin.com
[13] IEEE Std 802.11e-2005, “Wireless LAN Medium
Access Control (MAC) and Physical Layer (PHY)
specifications Amendment 8: Medium Access Control
(MAC) Quality of Service Enhancements,” November
2005.
[14] Zhen-ning Kong, Danny H. K. Tsang, Brahim Bensaou,
Deyun Gao, “Performance Analysis of IEEE802.11e
16 (IJCNS) International Journal of Computer and Network Security,
Vol. 2, No. 5, May 2010

Face Recognition Using Subspace LDA


Sheifali Gupta 1, O.P.Sahoo 2, Ajay Goel3 and Rupesh Gupta4
1
Department of Electronics & Communication Engineering,
Singhania University, Rajasthan,India
sheifali@yahoo.com
2
Department of Electronics & Communication Engineering,
N.I.T. Kurukshetra, India,
opsahu_reck@yahoo.co.in
3
Department of Computer Science & Engineering
Singhania University, Rajasthan, India
goelajay1@gmail.com

4
Department of of Mechanical Engineering
Singhania University, Rajasthan, India
rup_esh100@yahoo.co.in

2. Background and Related Work


Abstract: In this paper we have developed subspace LDA Much of the work in computer recognition of faces has
approach for face recognition. This approach consists of two
steps; the face image is projected into the eigenface space which
focused on detecting individual features such as eyes,
is constructed by PCA, and then the eigenface space projected nose, mouth and head outline and defining a face model by
vectors are projected into the LDA classification space to position, size and relationships among features. Eigenfaces
construct a linear classifier. We have focused on the effects of and Fisherfaces are reference face recognition methods
taking the number of significant eigen vectors in LDA approach. which build reduced subspaces in order to generate optimal
Experimental results using MATLAB are presented in this paper features of facial images.
to demonstrate the viability of the proposed face recognition
method. It shows that a high recognition rate is observed when
the eigenface space’s dimension is small (40-60) and it is less 2.1 Principal Component Analysis
when eigenface space’s dimension is large (175-200). It also PCA is a general method used for the identification of linear
shows that if the minimum Euclidian distance of the test image directions in which a set of vectors is best represented. It is
from other images is zero, then the test image completely commonly used as a pre-processing technique for
matches the existing image in the database. If minimum dimensional reduction. Kirby and Sirovich used PCA in
Euclidian distance is non-zero but less than threshold value, 1987 in order to obtain a reduced image space [2]. After that
then it is a known face but having different face expression else in 1991 Turk, Pentland, Moghaddam and Starner extended
it is an unknown face. the idea to eigenspace projections in the solution of face
Keywords: Face Recognition, Eigenvalues, Principle recognition [3].
component analysis (PCA), LDA (Linear Discriminant Analysis)
2.2 Fisher Discriminant Analysis
1. Introduction R. A. Fisher developed Linear/Fisher Discriminant Analysis
(LDA) in 1936 [4]. Fisher Discriminant Analysis (FDA) is a
In recent years considerable progress has been made on powerful method for face recognition yielding an effective
the problem of face detection and recognition. The best representation that linearly transforms the original data
results have been attained with frontal facial images. The space into a low-dimensional feature space where the data is
problem of recognizing a human face from a general view as well separated as possible under the assumption that the
remains largely unsolved. Biological changes such as aging data classes are Gaussian with equal covariance structure.
cause similar problems.
An information theory approach to face recognition While PCA tries to generalize the input data to extract the
decomposes face images into a small set of characteristic features, LDA tries to discriminate the input data by
feature images called ‘eigenfaces’, which are actually the dimension reduction. The Linear Discriminant Analysis
principal components of the initial training set of face searches for the best projection to project the input data on a
images. Then recognition is performed by projecting a new lower dimensional space, in which the patterns are
image into the subspace spanned by the eigenfaces (‘face discriminated as much as possible. For this purpose, LDA
space’) and then classifying the face by comparing its tries to maximize the scatter between different classes and
position in the face space with the positions of the known minimize the scatter between the input data in the same
class.
individuals [1].
(IJCNS) International Journal of Computer and Network Security, 17
Vol. 2, No. 5, May 2010

3. Subspace LDA Method each image in the database is calculated. The test image will
match the image in the database having the minimum
It is an alternative method which combines PCA and Euclidean distance with it.
LDA [5]. This method consists of two steps; the face image
is projected into the eigenface space which is constructed by In figure 2, Euclidean distance of one test image from all the
PCA, and then the eigenface space projected vectors are 400 images is shown. The Euclidean distance is zero with
projected into the LDA classification space to construct a the image no. 7 in the database as clear from the figure 2.
linear classifier. In this method, the choice of the number of As the Euclidean distance is zero, so test image completely
eigenfaces used for the first step is critical; the choice match the image from our database as shown in figure 3.
enables the system to generate class separable features via
LDA from the eigenface space representation. Projecting the
data to the eigenface space generalizes the data, whereas
implementing LDA by projecting the data to the
classification space discriminates the data. Thus, Subspace
LDA approach seems to be a complementary approach to
the Eigenface method.

4. Experimental Results
To analyze the performance of human face recognition
using subspace LDA, we performed experiments on ORL
databases using MATLAB. There are 10 different images of
40 distinct subjects in ORL database. For some of the
subjects, the images were taken at different times, varying
lighting slightly, facial expressions (open/closed eyes,
smiling/non-smiling) and facial details (glasses/no-glasses).
All the images are taken against a dark homogeneous Figure 2. Euclidean Distance of a test image from other
background and the subjects are in up-right, frontal position images in database
(with tolerance for some side movement). The files are in
.TIF file format (Tagged Image File Format). The size of
each image is 92 x 112 (width x height), 8-bit grey levels.

In this part of the experiments, the effect of using different


number of eigenvectors while projecting the images is
studied. From Fig 1, it can be observed that when the
eigenface space’s dimension is small (40-60), it performs
better. When the eigenface space’s dimension is large (175-
200) there is a decrease in recognition rate.

Figure 3.

For another test image no. 3, Euclidean distance from other


images is shown in figure 4. The minimum Euclidean
distance is with the Image no.5 in the database. This
distance is less than threshold value; hence it is a known
face.

Figure 1. Recognition Rate Vs Number of EigenFace

Now we have taken the Euclidean distance as a metric for


face recognition. The Euclidean distance of test image from
18 (IJCNS) International Journal of Computer and Network Security,
Vol. 2, No. 5, May 2010

References
[1] S.A. Rizvi, P.J. Phillips, and H. Moon, “A verification
protocol and statistical performance analysis for face
recognition algorithms”, pp. 833-838, IEEE Proc.
Conf. Computer Vision and Pattern Recognition
(CVPR), Santa Barbara, June 1998.
[2] M.Kirby and L. Sirovich “Application of the
Karhunen-Loeve procedure for the characterization of
human faces". IEEE Transactions on Pattern analysis
and Machine Intelligence 12 (1): 103–108. doi:
10.1109 /34.41 39
[3] A.Pentland, B.Moghaddam, T.Starner, O. Oliyide, and
M. Turk (1993), “View - based and modular
Eigenspaces for face recognition". Technical Report
245, M.I.T Media Lab.
[4] R.A.Fisher, “The Use of Multiple Measurements in
Taxonomic Problems”, Annals of Eugenics, Vol. 7,
No. 2. (1936), pp. 179-188.\
[5] P. N. Belhumeur, J. P. Hespanha and D. J. Kriegman,
“Eigenfaces vs. Fisherfaces: Recognition Using Class
Spesific Linear Projection”, IEEE Transactions on
Pattern Analysis and Machine Intelligence, Vol. 19,
Figure 4. No. 7, July 1997.

The test image matches the image in the database having


different face expression as clear from the figure 5.

Figure 6.

5. Conclusions
The subspaceLDA method is a combination of eigenface
method and LDA approach. Eigenface method is used for
dimension reduction to decrease the processing time and
LDA approach is used for classification due to its
discrimination power to enhance the recognition rate. From
the observations, it is clear that a high recognition rate is
observed when the eigenface space’s dimension is small (40-
60) and it is less when eigenface space’s dimension is large
(175-200).
It is also clear that if the minimum Euclidian distance of
the test image from other images is zero, then the test image
completely matches the existing image in the database. If
minimum Euclidian distance is non-zero but less than
threshold value, then it is a known face but having different
face expression else it is an unknown face.
(IJCNS) International Journal of Computer and Network Security, 19
Vol. 2, No. 5, May 2010

Travelling Salesman’s Problem: A Petri net


Approach
Sunita Kumawat 1 , G.N.Purohit 2
1, 2
Department of Mathematics and statistics, Centre of Mathematical Sciences (CMS),
Banasthali University,Banasthali (Rajasthan)-304022, India.
email: 1sunita_1586@yahoo.co.in, 2gn_purohitjaipur@yahoo.co.in

Abstract: In this paper, we consider the Travelling salesman’s interesting connections between graph theory and Petri
problem (TSP). Where TSP is modelled as a TSP-graph, in Nets have been brought out by T. Murata [9].
which each edge is treated as a parallel combination of This paper is organized as follows: Section 2 provides
oppositely directed edges. We model TSP-graph as a Petri Net-
the necessary preliminaries, Section 3 formulates the
graph, where Petri Net- graph is an underlying graph of TSP-
graph. Then solve TSP by defining suitable binary operation on problem, Section 4 describes the algorithm for TSP with
elements of columns in sign incidence matrix representation of illustrative example and Section 5 briefly concludes this
Petri Net-graph. In Petri Net-graph, we find a set of places paper.
which is both Siphon and Trap with minimum sum of
capacities, whose set of input transitions equals to the set of
output transitions, and both of them are equal to the set of all
2 . An Overview Of Petri Net Approach
transitions in Petri Net. Then edges in TSP-graph corresponding
to these places in Petri Net-graph will form a shortest route for This section of the paper provides the necessary
the salesman to return the point of origin, after traversing all preliminaries for the readers who are not familiar with
the cities exactly ones. For the solution of TSP, we describe a Petri nets.
new algorithm, based on siphon-trap and bounded-ness property As Petri Nets are also called place-transition net (PT-
of the Petri Nets.
Net), it is a particular kind of directed graphs together
2000 Mathematics Subject Classification: 68R10, 90C35,
94C15. with an initial state called the initial marking. In general a
Keywords: Travelling Salesman’s Problem, Weighted Petri Net is an underlying graph of any directed graph,
Directed Graph, Spanning Cycle, Petri Net, Siphon and Trap. which is in essence a directed bipartite graph with two
types of nodes called places and transitions. The arcs are
1. Introduction either from places to transitions (output of places) or from
The Travelling Salesman’s Problem (TSP) is one of the transitions to places (input of places). In the Petri Net
most intensely studied problems in computational graph a place is denoted by a circle, a transition by a box or
mathematics [5]. Mathematical problems related to the a bar and an arc by a directed line. A Petri Net is a PT-Net
TSP were treated in the early nineteenth century by W.R with tokens assigned to its places denoted by black dots,
Hamilton and British mathematician T. P. Kirkman. and the token distribution over its places is done initially
Although there are many algorithms given for the solution by a marking function denoted by M0. A token is
of TSP [6, 7, 8, 13, 14], yet no effective solution is known interpreted as a command given to a condition (place) for
for the general case for the TSP. In this paper, we address the firing of an event (transition). An event can happen,
the same problem with a different approach, using Petri when its all input conditions are fulfilled, See Fig.1.
Net model. Here we present a new algorithm to solving a
TSP using the siphon-trap and bounded-ness property of
the places in the One-one Petri Net model of given TSP-
graph. For the TSP we find a set of places in Petri Net,
which is both Siphon and Trap [1, 3], with minimum sum
of capacities, having the property that set of input
transitions equals to the set of output transitions, and both Figure 1.
of them are equal to the set of all transitions given in the
Net. Then edges in TSP-graph corresponding to these There are many subclasses of Petri Nets such as One-one
places form a shortest route for the salesman. Petri Nets, free choice Petri Nets, colored and stochastic
Petri Nets etc. Here we introduce only One-one Petri Net, as
In Petri Net theory, Petri Net is a formal tool which is
it is an ordinary Petri Net such that each place P has exactly
particularly well suited for discrete event systems. Its
one input transition and one output transition having weight
application has emerged from the initial seminal PhD one on each edge, but we ignore these weights generally in
thesis of C. A. Petri, so C.A. Petri is considered as the the model representation of the Net PN. One-one Petri Net
originator of Petri Net applications [10, 11]. The is also called as Marked Graph [4]. In our paper standard
computational algorithmic aspects of graph theory are notation PN is treated as One-one Petri Net. More detailed
emphasized in the study of the Petri Nets. The most and formal description of Petri Nets is given in [2, 9, 10,
20 (IJCNS) International Journal of Computer and Network Security,
Vol. 2, No. 5, May 2010

15]. We include here some basic definitions, which are goes through every city exactly once is a feasible tour with
relevant to this paper. a given cost, if it is smaller than the other minimum cost
Definition 2.1: A place-transition net (PT-Net) is a tour.
quadruplet PN = 〈P, T, F, W〉, where P is the set of places, T 3.1 Modelling TSP as a Graph (TSP-graph):
is the set of transitions, such that P ∪ T≠∅ and P ∩ T=∅, A pair G = {V, E}, where V= {v1,v2,v3,…,vn} is the set of
F⊆ (P x T) ∪ (T x P) is the set of arcs and W: F à{1, 2 ...} vertices and E = {e1,e2,…,em} is the set of edges such that
is the weight function. PN is said to be an ordinary PT-Net
each edge ei having some weights wi∈W, where W:Eà R+
if and only if W: Fà {1}.
is the weight function and wi =w(ei) is the weight
A marking is a function M0: Pà {0, 1, 2 ...}, which
distributes the tokens to the places initially. Here M0 (p) is associated with edge ei . Further when the edges vi vj and
the number of tokens in the place p at initial marking M0, it vj vi are considered different then G={V,E} is called a
is a non- negative integer less then or equal to the capacity weighted directed graph. In weighted directed graph, a
of the place. Capacity of the place is defined as the directed cycle is a closed sequence of directed edges
capability of holding the maximum no. of tokens at any without repetition of vertices except terminals and it said
reachable marking M from M0. A marking M is said to to be Spanning if it contains all the vertices of the graph. If
reachable to M0 if there exist a firing sequence σ = {t1, t2… any edge from the sequence is deleted then cycle becomes
tn} such that M can be obtained from M0 as firing of open. Thus solving a TSP amounts to finding a minimum
transitions t1, t2,…, tn. A Petri Net structure PN = 〈P, T, F, weight spanning cycle.
W〉 without any specific initial marking is denoted by PN As an illustration we consider a weighted graph on
and Petri Net with the given initial marking is denoted by 〈 four vertices denoting the four cities A, B, C, D, where
PN, M0〉. *x and x* are the set of input transitions (or each city has a direct link with the other three. The
places) and the set of output transitions (or places)
numbers (weights) associated with the edges denotes the
respectively, as x∈ P (or T). Here | *x | and | x* | stands for
physical distance between the cities, See Fig. 2. We
number of the input transitions (or places) and the output
transitions (or places) respectively. Thus a One-one Petri construct a directed weighted graph (TSP-graph) of the
Net is an ordinary PT-Net such that ∀ p ∈ P: |*p|=|p*| =1, same graph in Fig. 3.
i.e., the number of the input transitions for p ∈ P equals to A
the number of the output transitions and both of them are 298 128
equal to one.
163
For a PT-Net, a path is a sequence of nodes ρ = 〈 x1, x2…
xn 〉 where (xi, xi+1) ∈F for i = 1, 2… n-1. ρ is said to be D 206
B
elementary if and only if it does not contain the same node 137
more than once and a cycle is a sequence of places 〈 p1 , p2 , 98
…pn 〉 such that there exist t1, t2,…, tn ∈ T : 〈 p1, t1, p2 ,
t2,…., pn , tn 〉 forms an elementary path and (t n, p1) ∈F. C
Definition 2.2: For a PT-Net 〈PN, M0〉, a place p is said to Figure 2. Network of cities
be k-bounded (or bounded by k) where k∈ R+, if and only if
V1
M0 (p) < k., denotes the capacity of the place in the Net. e1 e2 e8
(PN, M0〉 is said to be k-bounded if and only if every place is
k-bounded. e11 e9 e7
Definition 2.3: A non-empty subset of places S is called a V4 e12 e10
Siphon if *p⊆ p* ∀ p∈S denoted also *S⊆ S*; i.e., every e3 e4 V2
transition having an output place in S has an input place in e6
S. Likewise a non-empty subset of places Q is called a Trap
if p*⊆ *p ∀ p∈Q denoted also Q* ⊆ *Q; i.e., every V3 e5
transition having an input place in Q has an output place in
Q. Figure 3. TSP- Graph

3. Problem Formulation: Travelling Salesman’s Distance between two cities in Fig.3 can be represented in
Problem (TSP) terms of adjacency matrix as depicted below:

For a given network of cities and the cost of travel V1 V2 V3 V4


between each pair of them, the Travelling Salesman’s
Problem or TSP for short, is to find the shortest route for V1 --- 128 163 298
the salesman, visiting to all of the cities exactly ones and V2 128 --- 98 206
returning to the starting point. In the standard version of V3 163 98 --- 137
TSP, the travel costs or distances are symmetric in the V4 298 206 137 ---
sense that travelling from city X to city Y costs just as
much as travelling from Y to X. Any round-trip tour that
(IJCNS) International Journal of Computer and Network Security, 21
Vol. 2, No. 5, May 2010

3.2 Modelling TSP-graph as a Petri Net I of PN, which is both siphon and trap and also *X= X* = T,
A Petri Net PN is modelled from TSP-graph given in Fig. 3 i.e., set of the input transitions of X is equals to the set of
as follows: edges es are transformed into places ps and output transitions of X, and both of them equal to the set
vertices vk are transformed into transitions tk so that the of all transition in T. This equality holds only if the
place ps has an input from a transition ti, and an output to a addition under the operation ⊕, of the k column vectors
transition tj, if es is an directed edge vi vj in graph, then say C1, C2, C3,…, Ck i.e., C1 ⊕ C2 ⊕ C3⊕…..⊕ Ck contains
weights (distance between two cities) of es’s are replaced only ± entries everywhere, where Cj , j = 1, 2... k, denotes
by capacities ks of corresponding places ps and number of the column vector corresponding to the place pj in I.
tokens for places ps ‘s is the value of ks  . Now let C1 ⊕ C2⊕ C3⊕…..⊕ Ck will be a column vector
denoted by γ = [γi] where γi denotes the
Fig. 4 in Appendix (1), shows the One-one Petri Net
i
th
element of the column vector γ, have as elements from
model say PN, of the TSP-graph, having the set of
set U. Then from the definition of I under the operation⊕,
transitions T= {t1 t2, t3, t4} and the set of places is P = {p1,
p2,…,p12 } corresponding to the set of vertices{v1,v2 ,v3,v4} we interprets about γi as. γi = 0 means no place in X is an
input or output place of transition i.
and the set of edges {e1,e2 ,…,e12} respectively in the given
γi = - means some place in X is an input place of
TSP-graph. For the sake of clarity, we observe that t1 is the
transition i.γi = + means some place in X is an output place
input transitions for the places p2, p7, p10 and the output
transition for the places p1, p8, and p9. Similarly p1 is the of transition i.
γi = ± means some place in X is an input place as well as
input place for the transition t1 and output place for the
output place for transition i.
transition t4. Using this same procedure, we find a set of the
From the above it can be seen that every transition having
places in Net which is both siphon and trap with minimum
sum of capacities, whose set of the input transitions equals an output place in X has an input place in X only if γi ≠ +,
and likewise every transition having an input place in X
to the set of output transitions and both of them are equal
has an output place in X only if γi ≠-. So X is both siphon
to the set of all transitions in the Net PN.
and trap if and only if γ has either 0 or ± entries. And if γ
4. Description of algorithm for Travelling
has only ± entries everywhere, then the places
Salesman’s Problem corresponding to columns C1, C2, C3,…, Ck in C1 ⊕ C2 ⊕
As in above we model the TSP-graph as a Petri Net-graph.
C3⊕…..⊕ Ck forms a set of places, which is both siphon
Now here we present an algorithm for solving the
and trap, whose input transitions equals to the output
Travelling Salesman’s Problem. For the description of the
transitions and both of them are equal to the set of all
algorithm for TSP; we introduce some new notations as
transitions T, with having some capacities. We select only
follows:
those set of places X such that *X = X* = T, having
In a Petri Net PN with n-transitions and m-places, the sign
minimum sum of capacities among all. Algorithm
incidence matrix I = [aij] is the
discussed below, gives us a siphon–trap set of places X with
n x m matrix, whose entries are defined as,
minimum sum of capacities, having the property *X = X* =
aij = + if place j is an output place of transition i.
T, whose corresponding edges in TSP-graph will form a
aij = - if place j is an input place of transition i.
shortest route for the salesman.
aij = ± if place j is both input and output places of
transition i, (i.e., transition i and place j form a self loop) ALGORITHM:
Input Sign incidence matrix I of order n x m.
aij = 0 otherwise.
Step 1 Select Cj, the first column in the sign incidence
matrix I having ‘+’ entry whose corresponding place and
As an illustration, the Sign incidence matrix I of PN is:
capacity is denoted as PLACEj and CAPACITYj
p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12
Set recursion level r to 1
t1 - + 0 0 0 0 + - - + 0 0 Set Vjr = Cj
Set PLACE jr = PLACEj;
t2 0 0 0 0 + - - + 0 0 + - Set CAPACITYjr =CAPACITYj;
t3 0 0 + - - + 0 0 + - 0 0 Set X =∅, W=∅, Sum =0 and K =∅.
t4 + - - + 0 0 0 0 0 0 - +
Step 2 If Vjr has a ‘±’ entry at the ith row then PLACEjr is a
Hare we introduce a commutative binary operation, self loop with transition i, Go to Step 5.
denoted by ⊕ on the set U= (0, +, - ,±).
Step 3 If Vjr has a ‘+’ entry in the kth row find a column Cs
⊕ defined as following: + ⊕ - = ± (i.e., ‘+’ entry is said
which contains a ‘–‘entry at kth row.
to be neutralized by adding a ‘–‘entry to get a ‘±’ entry).
a⊕a=a ∀ a∈U (i) If no such column Cs exists then go to Step 5.
±⊕a=± ∀ a∈
(ii) If such Cs exists, add it to Vjr to obtain Vj(r+1) = Vjr ⊕
0⊕ a=a ∀ a∈U
Cs, containing a ‘±’ entry at kth row. Then
For the Travelling salesman’s problem, we choose a
subset of k places X = {p1, p2 …pk} in sign incidence matrix PLACEj(r+1) = PLACEjr ∪ PLACEs
22 (IJCNS) International Journal of Computer and Network Security,
Vol. 2, No. 5, May 2010

CAPACITYj(r+1) = CAPACITYjr ∪ CAPACITYs V12( 2) has ‘+’ entry at 3rd row. The neutralizing columns
(iii) Repeat this step for all neutralizing columns Cs. This are C4, C5 and C10.
gives a new set of Vj(r+1)’s, PLACEj(r+1)‘s and
−  0  − 
CAPACITYj(r+1) 0  0  0 
V13(1) = V12( 2) ⊕ C4 =   ⊕   =  ;
Step 4 Increase r by 1, Repeat Step 3 until there are no ‘+’entries +  −  ± 
in each Vjr = C1 ⊕ C2⊕ C3⊕…..⊕ Cjr.      
±  +  ± 
     
Step 5 Any Vjr with all entries as ‘±’ represents both siphon
(1) (1)
and trap such that their input transitions equal to the output PLACE 13 = {pl,p3, p4}; CAPACITY 13 =
transitions and both of them equal to the set of all {137,206,206}
transitions T.
X = X ∪ PLACEjr −  0  − 
0  +  + 
K= K ∪ CAPACITYjr V13( 2) = V12( 2) ⊕ C5 =   ⊕   =  ;
W=Sum + Sumw K, where Sumw K is the sum of the +  −  ± 
     
capacities in the set K, Store it any other set and compare it ±  0  ± 
to minimum weight set at each iteration.      
Step 6 Delete Cj (2) ( 2)
PLACE 13 ={pl, p3, p5}; CAPACITY 13 = {137,
j = j + 1 Go to Step 1. 206,128}
Output: Set X has places both siphon and trap such that −  +  ± 
their input transitions equal to the output transitions and 0     
V13(3 ) = V12( 2 ) ⊕ C10 =   ⊕ 0  = 0  ;
both of them equal to the set of all transitions T with +  −  ± 
minimum sum of capacities. Whose corresponding edges      
±  0  ± 
set in TSP-graph, forms a shortest route for the salesman.      
As an illustration consider the graph in Fig 2. ( 3) ( 3)
PLACE 13 = {pl, p3, p10}; CAPACITY 13 = {137, 206, 98}
Step 1 Select first column having ‘+’ entry. Here is C1,
then V12( 3) has ‘+’ entry at 2nd row. The neutralizing column is
− 
  C6, C7 and C12.
V11 =  0  ; PLACE11 = {pl};
0  −  0  − 
  +  −  ± 
⊕ C6 = ⊕
( 4) (3 )
+ 
V 13 =V 12     =  ;
  0  +  + 
     
CAPACITY11 = {137} ±  0  ± 
     
Steps 2, 3 and 4, V11 has a ‘+’ entry at 4th row. The (4) (4)
neutralizing columns are C2, C3 and C11. PLACE 13 = {pl, p11, p6}; CAPACITY 13 = {137,298,128}
−  +  ±  −  +  ± 
(1) 0  0    +  −  ± 
V = V11 ⊕ C2 =   ⊕   = 0  ; V13(5 ) = V12(3 ) ⊕ C7 = ⊕
12     =  ;
0  0  0  0  0  0 
           
+  −  ±  ±  0  ± 
           
(1) (1) ( 5) ( 5)
PLACE 12 = {pl , p2}; CAPACITY 12 ={137,137 } PLACE 13 = {pl , p11, p7}; CAPACITY 13 = {137,298,163}
−  0  − 
0      −  0  − 
V ( 2)
= V11 ⊕ C3 =   ⊕  0  =  0  ; +  −  ± 
⊕ C12 = ⊕
( 6) ( 3)
12 V =V     =  ;
0  +  +  13 12
      0  0  0 
+
  −  ±       
      ±  +  ± 
     
(2) (2) ( 6) ( 6)
PLACE 12 = {pl, p3}; CAPACITY 12 = {137,206} PLACE 13 = {pl, p11, p12}; CAPACITY 13 = {137,298,298}
−  0  − 
0  +  +  V13(1) and V13( 6 ) has no ‘+’ entry , also all the entries are not
V12(3 ) = V11 ⊕ C11 =   ⊕   =  ;
0  0  0  ‘±’ only, but those sets which have all entries ‘±’ or ‘0’ are
      both siphon and trap ( as V12(1) , V13( 3) and V13( 5) )
+
  −  ± 
     
V13( 2) has ‘+’ entry at 2rd row. The neutralizing columns are
( 3) ( 3)
PLACE 12 = {pl, p11}; CAPACITY 12 = {137,298} C6, C7, and C12.
(IJCNS) International Journal of Computer and Network Security, 23
Vol. 2, No. 5, May 2010

−  0  −  Step 6 now delete C1 from sign incidence matrix, choose


+  −  ±  next column and repeat all the steps again in similar way,
V14(1) = V13( 2) ⊕ C6 =   ⊕   =  ;
±  +  ±  we get another different sets of places {p2, p4, p6, p8},{p2, p9,
     
±
  0  ±  p5, p12 }, {p3, p8, p10, p12} and{p4, p11, p7, p9 } as choosing
      columns C2 , C3 and C4 respectively having sum of the
capacities 634, 661, 765 and 765. The set of places which
(1) (1)
PLACE 14 = {pl, p3, p5, p6}; CAPACITY 14 = {137,206,128,128} have minimum sum of capacities 634 is either {pl, p3, p5, p7 }

−  +  ± 
or {p2, p4, p6, p8}. The edges set {el, e3, e5, e7} or {e2, e4, e6, e8 }
      are corresponding to places set {pl, p3, p5, p7 } and {p2, p4, p6,
V14( 2 ) = V13( 2 ) ⊕ C7 =  +  ⊕  −  =  ±  ;
±  0  ±  p8} respectively, will form a shortest spanning cycle in
      underlying graph of Petri Net-graph, which give an
±  0  ± 
      optimal route for the salesman in TSP-graph.
The finding of this can be applied to a company’s logistic
(2) (2) problem of delivering petrol or similar to different petrol
PLACE 14 = {pl, p3, p5, p7}; CAPACITY 14 = {137,206,128,163}
sub-stations. This delivery system is formulated as the Petri
−  0  −  Net model, which involves finding an optimal route for
+     
V14 = V13 ⊕ C12 =   ⊕  −  =  ±  ;
( 3) ( 2)
visiting stations and returning to point of origin, where the
±  0  ±  inter-station distance is symmetric and known. As a
     
±
  +
    ± standard problem, we defined it simply as the time spent or
     
distance traveled by salesman visiting n cities (or nodes)
cyclically, where vehicle visits each station just once and
( 3) ( 3)
PLACE 14 ={pl, p3, p5, p12}; CAPACITY 13 ={137,206,128,298} returns the starting station. This real world application is a
deceptive simple combinatorial problem and our approach is
V13( 4 ) has ‘+’ entry at 3rd row. The neutralizing columns are to develop solutions of such type of distribution problems,
C , C , and C . based on concept of the Petri nets.
4 5 10

−  0  −  5. Conclusion
±     
C4 =   ⊕  0  =  ±  ;
( 4) ( 4)
V 14 =V 13 ⊕ In this paper, while solving the travelling salesman
+  −  ±  problem, we have exploited the potentials of siphons and
     
±  +  ±  traps. Our analysis is based on the notion of sign incidence
      matrix; this helps us to relate Petri Net theory to graph
(4) (4) theory. The complexity of the TSP is part of a deep
PLACE 14 ={pl, p6, p11, p4}; CAPACITY 14 ={137,298,128,206}
question in mathematics, as TSP is a NP- complete
−  0  −  problem. Here we have developed an algorithm using Petri
     
V14(5) = V13( 4) ⊕ C5 =  ±  ⊕  +  =  ±  ; net model, which can be executed by computer for any finite
+  −  ±  number of nodes.
     
±  0  ± 
      Acknowledgement
I would like to thank my supervisor Prof.G.N. Purohit for
( 5) (5 )
PLACE 14 ={pl, p6, p11, p5}; CAPACITY 14 = {137,298,128,128} his continuous support and valuable suggestions for this
research work. I would also like to thank my friends,
−  +  ± 
      colleagues and Centre for mathematical sciences for their
V14( 6 ) = V13( 4 ) ⊕ C10 =  ±  ⊕  0  =  ±  ; guidance and feedback to drive me in the proper direction of
+  −  ±  the research is highly appreciable. Last but not the least I
     
±  0  ±  would like to thank my parents for their love and support.
     

( 6) ( 6)
PLACE 14 = {pl, p6, p11, p10}; CAPACITY 14 = {137, 298, 128, 98}
References
V14(1) , V14( 3) , V14( 4) and V14(5) has no + entry. V14( 2) , V14( 6)
have all the entries as ‘±’, Hence PLACE 14 and PLACE 14
(2) ( 6) [1] R. Boer and T. Murata, “Generating basis siphons and
traps of Petri nets using sign incidence matrix”, IEEE
form both siphon and trap whose input transitions equal to
Transactions on circuits and systems-1, Vol.41, No. 4,
the output transitions and both of equal to the set of all
pp. 266-271,(1994).
transitions.
Step 5 the subsets of places, which are both siphon and [2] B. Baugarten,”Petri Nets basics and application” , 2nd
trap, whose input transitions equal the output transitions ed., Berlin: spectrum akademischer Verlag, (1996).
and both of them equal to the set of all transitions are{pl, [3] K.S. Cheung and K.O. Chow, “Cycle-Inclusion Property
p3, p5, p7 }and {pl,, p6, p11, p10}with capacities sum 634 and 661 of Augmented Marked Graph” , Information Processing
as choosing column first C1. Letters, Vol. 94, No. 6, pp. 271-276, (2005).
24 (IJCNS) International Journal of Computer and Network Security,
Vol. 2, No. 5, May 2010

[4] F. Commoner, A. W. Holt, S. Even and A. Pnueli, her P.hd in guidance of Prof. G. N. Purohit in research area of
“Marked directed graph” , Journal of Computer and Petri net theory, As the Junior Research Scholar under the centre
System Sciences- 5, pp. 511-523, (1971). for mathematical sciences(CMS), governed by DST-New Delhi, in
[5] Narasingh Deo, “Graph theory with Applications to Banasthali University(Rajasthan).
Engineering and Computer Science”, Prentice-Hall,
India, (1984).
[6] S. Hiller Frederick and J Lieberman Gerald,
Appendix
“Operations Research “, Eighth edition, Tata Mcgraw
Hill, (1990),.
[7] M. Jünger, G. Reinelt and G. Rinaldi, "The Traveling
Salesman Problem," in Ball, Magnanti,Monma and
Nemhauser (eds.) , Handbook on Operations Research
and the Management Sciences North Holland Press, pp.
225-330, (1994).
[8] D. S. Johnson, "Local Optimization and the Traveling
Salesman Problem," Proc. 17th Colloquium on
Automata, Languages and Programming, Springer
Verlag, pp. 446-461, (1990).
[9] T. Murata, “Petri nets, properties, analysis and
application” , Proceedings of IEEE, Vol.77 (4), pp. 541-
580, (1989).
[10] J. L., Peterson, “Petri net Theory and the Modeling of
Systems” , Prentice Hall, INC, Englewood, Cliffs, and
New Jercy, (1981).
[11] C.A. Petri, "Kommunikation mit Automaten." Bonn:
lnsti-tut fur Instrumentelle Mathematik, Schriften des
MM Nr. 3, 1962. Also, English translation,
"Communication with Auto-mata." New York: Griffiss
Air Force Base.Tech. Rep.RADC-TR-65-377, vol.1,
(1966).
[12] C.A. Petri, "Fundamentals of a theory of asynchronous
information flow," in Proc. of IP Congress 62,pp. 386-
390, (1963).
[13] J.V. Potvin, "The Travelling Salesman Problem: A
Neural Network Perspective", INFORMS Journal on
Computing 5, pp. 328-348, (1993).
[14] J.V. Potvin,"Genetic Algorithms for the Traveling
Salesman Problem", Annals of Operations Research 63,
pp. 339-370, (1996).
[15] W. Reisig, “Petri Nets and introduction “, Heidelberg:
springer-verlag, (1985).

Authors Profile
Prof. G. N. Purohit, a renowned
Mathematician of the state, joined Banasthali
University in April, 2001 as Professor in the
Department of Mathematics & Statistics and
also Coordinator of Centre for mathematical
sciences in Banasthali University. He received
the B.Sc, M.Sc and P.hd degree in
mathematics from Rajasthan University during
1957-1968. His research interests are in Fluid
Dynamics, Partial Differential Equations, Petri
net theory and wireless networks.

Sunita kumawat received the B.Sc and M.Sc


degree in pure mathematics. And pursuing
(IJCNS) International Journal of Computer and Network Security, 25
Vol. 2, No. 5, May 2010

PET/CT and MR Image Registration using


Normalized Cross Correlation Algorithm and
Spatial Transformation Techniques
1
B.Balasubramanian 2 Dr. K. Porkumaran
1
Associate Professor, Sri Ramakrishna Engg. College, Affiliated to Anna University Coimbatore, India
2
Vice Principal, Dr.NGP Institute of Technology, Affiliated to Anna University Coimbatore, India
balasubramanian@ieee.org, balasrec2000@gmail.com

Abstract: This paper presents the current status of PET/CT computer vision (target localization, automatic quality
brain image registration. Registration of brain images is a more control), to name a few. During the last decades, image
complex problem, Automatic registration, based on computer acquisition devices have undergone rapid development and
programs, might, however, offer better accuracy and growing amount and diversity of obtained images invoked
repeatability and save time. Computed Tomography (CT) is used the research on automatic image registration. A
for the attenuation correction of Positron Emission Tomography comprehensive survey of image registration methods was
(PET) to enhance the efficiency of data acquisition process and
published in 1992 by Brown . According to the database of
to improve the quality of the reconstructed PET data in the
brain. Due to the use of two different modalities, chances of
the Institute of Scientific Information, in the last 10 years
misalignment between PET and CT images are quite significant. more than 1000 papers were published on the topic of image
Template matching is used for applications in image processing. registration. Methods published before 1992 that became
Cross Correlation is the basic statistical approach to image classic or introduced key ideas, which are still in use, are
registration. It is used for template matching or pattern included as well to retain the continuity and to give
recognition. Template can be considered a sub-image from the complete view of image registration research.
reference image, and the image can be considered as a sensed Biomedical imaging based on different physical
image. The objective is to establish the correspondence between principles has played a more and more important role in
the reference image and sensed image. It gives the measure of medical diagnosis. Multiform methods of image diagnosis
the degree of similarity between an image and template. This provide doctors and clinicians with various anatomical and
paper describes medical image registration by template
functional information to carry out exact diagnosis and
matching based on Normalized Cross-Correlation (NCC) using
effective treatment. Image registration is the process of
Cauchy-Schwartz inequality.
combination the different sets of data of the same object,
Keywords: Positron Emission Tomography (PET), which come from different modalities (CT, MRI, SPECT,
Computed Tomography (CT), Magnetic Resonance (MR), PET etc.). Pre-processing algorithms improve image quality
Normalized Cross-Correlation (NCC) and image registration algorithms transform the object of
images into one coordinate system.
Nowadays, medical image diagnosis is considered
1. Introduction as one of the fields taking advantage of high-technology and
modern instrumentation. DSA, Ultrasound, CT, MRI,
Image registration is the process of overlaying two SPECT, PET etc. have played an important role in
or more images of the same scene taken at different times, diagnosis, research, and treatment. In general, there are two
from different viewpoints, and/or by different sensors. It basic types of medical images [1]: functional images (such
geometrically aligns two images—the reference and sensed as SPECT or PET scans), which provide physiological
images. The present differences between images are information, and anatomical images (such as X-ray,
introduced due to different imaging conditions. Image Ultrasound, CT or MRI), which provide anatomic structure
registration is a crucial step in all image analysis tasks in of the body.The combination process consists of alignment
which the final information is gained from the combination (registration) and data fusion steps. After the combination
of various data sources like in image fusion, change process, the physician could use his knowledge to determine
detection, and multichannel image restoration. Typically, which anatomical areas are normal or abnormal in their
registration is required in remote sensing (multispectral functional characteristics.
classification, environmental monitoring, change detection,
weather forecasting, creating super-resolution images,
integrating information into geographic information
systems, in medicine (combining computer tomography
2. Image Registration Methodology
(CT) and NMR data to obtain more complete information
about the patient, monitoring tumor growth, treatment
verification, comparison of the patient’s data with
anatomical atlases), in cartography (map updating), and in
26 (IJCNS) International Journal of Computer and Network Security,
Vol. 2, No. 5, May 2010

inspection. Medical imaging— comparison of the patient’s


image with digital anatomical atlases, specimen
classification. Due to the diversity of images to be registered
and due to various types of degradations it is impossible to
design a universal method applicable to all registration
tasks. Every method should take into account not only the
assumed type of geometric deformation between the images
but also radiometric deformations and noise corruption,
required registration accuracy and application-dependent
data characteristics.

Figure 1. Concept of Image registration The detection methods should have good
localization accuracy and should not be sensitive to the
Image registration, as it was mentioned above, is assumed image degradation. In an ideal case, the algorithm
widely used in remote sensing, medical imaging, computer should be able to detect the same features in all projections
vision etc. In general, its applications can be divided into of the scene regardless of the particular image deformation.
four main groups according to the manner of the image Physically corresponding features can be dissimilar due to
acquisition: Different viewpoints (multiview analysis). the different imaging conditions and/or due to the different
Images of the same scene are acquired from different spectral sensitivity of the sensors. The choice of the feature
viewpoints. The aim is to gain larger a 2D view or a 3D description and similarity measure has to consider these
representation of the factors. The feature descriptors should be invariant to the
scanned scene. Examples of applications: Remote sensing— assumed degradations. Simultaneously, they have to be
mosaicing of images of the surveyed area. Computer discriminable enough to be able to distinguish among
vision—shape recovery (shape from stereo). Different times different features as well as sufficiently stable so as not to be
(multitemporal analysis). Images of the same scene are influenced by slight unexpected feature variations and noise.
acquired at different times, often on regular abasis, and The matching algorithm in the space of invariants should be
possibly under different conditions. The aim is to find and robust and efficient. Single features without corresponding
evaluate changes in the scene which appeared between the counterparts in the other image should not affect its
consecutive image acquisitions. Examples of applications: performance. The type of the mapping functions should be
Remote sensing—monitoring of global land usage, chosen according to the a priori known information about
landscape planning. Computer vision—automatic change the acquisition process and expected image degradations. If
detection for security monitoring, motion tracking. Medical no a priori information is available, the model should be
imaging - monitoring of the healing therapy, monitoring of flexible and general enough to handle all possible
the tumor evolution. Different sensors (multimodal analysis) degradations which might appear. The accuracy of the
- Images of the same scene are acquired by different sensors. feature detection method, the reliability of feature
The aim is to integrate the information obtained from correspondence estimation, and the acceptable
different source streams to gain more complex and detailed approximation error need to be considered too. Moreover,
scene representation. the decision about which differences between images have to
Examples of applications: Remote sensing—fusion be removed by registration has to be done. It is desirable not
of information from sensors with different characteristics to remove the differences we are searching for if the aim is a
like panchromatic images, offering better spatial resolution, change detection. This issue is very important and extremely
color/multispectral images with better spectral resolution, or difficult. Finally, the choice of the appropriate type of
radar images independent of cloud cover and solar resampling technique depends on the trade-off between the
illumination. Medical imaging—combination of sensors demanded accuracy of the interpolation and the
recording the anatomical body structure like magnetic computational complexity.
resonance image (MRI), ultrasound or CT with sensors
monitoring functional and metabolic body activities like
positron emission tomography (PET), single photon 3. PET/CT Image Processing Steps
emission computed tomography (SPECT) or magnetic The PET and CT data are acquired using a GE
resonance spectroscopy (MRS). Results can be applied, for discovery STE scanner and exported as DICOM images for
instance, in radiotherapy and nuclear medicine. Scene to the post processing. The specifications and the parameters
model registration. Images of a scene and a model of the of the acquisition device and the PET and CT data are
scene are registered. The model can be a computer provided in [5]. The PET and CT images are aligned as
representation of the scene, for instance maps or digital described below.
elevation models (DEM) in GIS, another scene with similar
content (another patient), ‘average’ specimen, etc. The aim 3.1 Image Segmentation
is to localize the acquired image in the scene/model and/or
to compare them. Examples of applications: Remote In the first step of the segmentation process, the
sensing—registration of aerial or satellite data into maps or image data is low pass filtered to smooth out the boundary
other GIS layers. Computer vision—target template of the brain in the PET as well as the CT images. To
matching with real-time images, automatic quality segment the brain in the PET images, adaptive thresholding
(IJCNS) International Journal of Computer and Network Security, 27
Vol. 2, No. 5, May 2010

is applied based on the minimum and the maximum the brain from two different modalities is calculated and the
intensity of each image, where different intensity levels CT image is shifted based on the average distance of the two
correspond to different anatomical structures in the PET edges.
brain images. The range of intensities representing the brain
is selected after testing the range on several datasets. By
applying an adaptive threshold based on the intensity range
of the brain, unwanted structures are removed from the
image. Figure 2 (a)-(b)show the result of the segmentation
process on the PET data. To segment the brain in the CT
images, the lower and upper limit of the intensity range is
defined for the brain. Starting from the center point of pixels
belonging to this intensity range, a region growing
technique is used and the entire brain region is filled
iteratively from pixel to pixel until the threshold boundary is
reached. Once all of the pixels inside the brain are
iteratively marked, the rest of the image is set to zero.

Figure 3. Horizontal slices from an MRI data scan

4. Results and Discussion

4.1 Normalized Cross Correlation


(a)
We present the results for medical image
registration by template matching. The experiments are
conducted on gray scale brain image of size 512 x 512. The
different size of template is extracted from the original
image.. Fig. 4(a) shows the original image and the template
of size 80 x 80 are extracted from original image is shown
in Fig.4(b) and 4(c). Using normalized cross-correlation the
generated image for registration in 4(d) shows the NCC plot
(b)
. So we can conclude that simple cross correlation is not
used for image registration.. For perfect template matching
Figure 2. The result of the segmentation process applied to
the value of maximum cross correlation coefficient is 0.99.
the PET and CT images, (a) PET image and segmentation
With Noise the maximum cross correlation coefficient is not
(b) PET image and segmentation
0.99 but this value can be considered for match.
3.2 PET/CT Image Registration

Once the preprocessing is complete, edge detection


[6] is applied to the filtered images to obtain the boundaries
of the PET and CT brain. The registration process is
performed in the axial plane first to obtain the shift values
along the x and y axes followed by the registration in the
sagittal plane for the shift values along the z axis. Using the
axial image, the average distance of the left and right
boundary between the PET and CT brain is calculated. The
magnitude of the average provides the amount of shift
required for the CT, and the sign of the average value
provides the direction in which the CT needs to be shifted. (a)
Then, the average distance for the top and bottom boundary
between the PET and CT brain is calculated which gives the
amount of shift required for the CT along the y axis. To
register the PET and CT images along the z axis, sagittal
plane images are used. In this case, the top boundary of the
PET brain is aligned with the corresponding boundary of the
CT brain. The average distance between the boundaries of
28 (IJCNS) International Journal of Computer and Network Security,
Vol. 2, No. 5, May 2010

The image in Fig.5(c) is obtained by applying projective


transformation to the original image

(b) (c)

(a) (b)
0.6

0.4

0.2

-0.2

-0.4
300

200
200
250 (c)
150
100 100
50
0 0

Figure 5. a) original image b) affine transform c) projective


(d)
transform

The MR image in various views using rigid registration is


Figure 4. (a) Original image (b), (c)Templates (d) NCC
shown in Figure 6. Fig. 6(a) shows the coronal view.
Plot
Fig.6(b) and (c) shows the sagittal and axial views of an MR
image
The misregistration between PET and CT is the
major drawback for the CT based attenuation correction of
the PET. In PET/CT studies of the human brain, the
misregistration occurs mainly due to the physical motion of
the patient, as most patients are unable to keep their heads
still during the entire exam. The misregistration between the
PET and CT brain geometries results in erroneous
attenuation correction parameters for the PET
reconstruction. The reconstructed PET images obtained
using the misaligned CT attenuation map show areas of
abnormal metabolic activity in the brain, where the PET
brain is projected outside the CT brain. One approach to (a) (b)
address the PET/CT misalignment problem is to repeat the
CT scan of the brain in case of a misalignment between the
PET and the original CT. In this approach, the PET and CT
is downloaded to the processing unit and overlaid. If the
brains geometries of the PET are CT align properly, then
this CT is used for the reconstruction of the PET. However,
if the PET and CT have a significant misregistration, then
the patient has to go through another CT scan of the brain.
In this case, the patient is exposed to an unnecessary (c)
radiation dose that can be avoided if software-aligned PET
and CT is used. Also, this process can be very time- Figure 6. a) coronal view b) sagittal view c) axial view
consuming and inefficient in terms of clinical resources. In
contrast, software based PET/CT brain registration has the
advantage of being fast with no need for operator
intervention, which increases the potential for routine
5. Conclusion
Image registration is an important task that enables
clinical application. Only one CT scan is needed in this
comparative analysis of images acquired at different
case, which is aligned with the PET and then used as the
occasions. We presented a simple and fast registration
attenuation correction map. This approach also reduces the
method that can be applied to 3DMR images of the brain. It
radiation dose.
is based on the normalized cross correlation and spatial
The original PET image and its transformed
transformation techniques. We have described a algorithm
versions are shown in Figure 5. The original image is shown
based on Normalized Cross-Correlation (NCC) is the ideal
in Fig,5(a). Fig. 5(b) shows the affine transformed image.
approach to image registration by template matching. It
(IJCNS) International Journal of Computer and Network Security, 29
Vol. 2, No. 5, May 2010

gives perfect template matching in the given reference a Student member of IEEE Society. He has contributed in
image. The Maximum Cross-correlation coefficient values publishing several research papers in national Journals and
from the NCC plot indicate the perfect template matching Conferences.
with noise and without noise condition. This approach gives
registered image, if the sensed images do not have any Dr. K. Porkumaran is presently Vice-
rotation or scaling. We have also presented a simple and Principal cum Professor and Head, EEE
fast rigid registration method that can be applied to 3DMR Department of Dr. N G P Institute of
images of the brain. It is based on automatic brain Technology, Kalapatti Road, Coimbatore
segmentation, automatic mid-sagittal plane location, image 641035. He has a bachelor’s degree in
alignment. Finally the various transformation techniques are Instrumentation & control Engineering, a
discussed master’s degree in Control systems and Ph.D in Control
Systems. He has 10 years of teaching experience and has
References guided many UG and PG projects. His research and teaching
interests include Modeling and Simulation, Instrumentation
[1] M. V. Green, J. Seidel, J. J. Vaquero, E. Jagoda, I. Lee, System Design, Linear and Non-Linear Control Systems,
and W. C. Eckelman, “High resolution PET, SPECT Process Dynamics and Control, Neural Networks. He is a
and projection imaging in small animals,” Comput. Life member of Indian Society for Technical Education
Med. Imaging Graph., vol. 25, pp. 79–86, 2001. (ISTE) and Associate member of Institution of Engineers
[2] C. A. Pelizzari, G. T. Y. Chen, D. R. Spelbring, R. R. (AMIE).He has published several research papers in
Weichselbaum, and C. T. Chen, “Accurate 3- International and national Journals. He has organized many
dimensional registration of CT, PET, and or MR conferences and chaired several technical session. He is the
images of the brain,” J. Comput. Assist. Tomog., vol. reviewer for international conferences and journals.
13, pp. 20–26, 1989.
[3] R. P. Woods, J. C. Mazziotta, and S. R. Cherry, “MRI-
PET registration with automated algorithm,” J.
Comput. Assist. Tomog., vol. 17, pp. 536–546, 1993.
[4] B. A. Ardekani, M. Braun, B. F. Hutton, I. Kanno, and
H. Iida, “A fully-automatic multimodality image
registration algorithm,” J. Comput.Assist. Tomog., vol.
19, pp. 615–623, 1995.
[5] W. M. Wells, P. Viola, H. Atsumi, S. Nakajima, and S.
Kikinis, “Multi-modal volume registration by
maximization of mutual information,” Med. Image
Anal., vol. 1, pp. 35–51, 1996.
[6] F. Maes, A. Collignon, D. Vandermeulen, G. Marchal,
and P. Suetens, “Multimodality image
registration by maximization of mutual information,” IEEE
Trans. Med. Imaging, vol. 16, pp. 187–198, 1997.
[7] C. Studholme, D. L. G. Hill, and D. J. Hawkes, “An
overlap invariant entropy measure of 3D medical
image alignment,” Pattern Recognit., vol. 32, pp. 71–
86, 1999.

Authors Profile

Prof. B.Balasubramanian is a research


scholar. He is working as an Associate
professor in the Dept. of Biomedical Engg
at Sri Ramakrishna Engg. College,
Coimbatore-22. . He has a bachelor’s
degree in Instrumentation & control
Engineering, a master’s degree in Medical
Electronics and currently pursing PhD in Biomedical
Engineering . He has 11 years of industry experience and
has 5 years of teaching experience & has guided many UG
and PG projects. His research and teaching interests include
Human Anatomy & Physiology, Medical Physics,
Biomedical Instrumentation, Bio-signal Processing,
Biomedical Image Processing, Artificial Neural Networks,
Human Assist Devices and Radiological Equipments .He is
30 (IJCNS) International Journal of Computer and Network Security,
Vol. 2, No. 5, May 2010

Effect of Community Based Mobility Model and


SMS Mobility Model on the Performance of
AOMDV, DYMO, FSR, LAR, OLSR and TORA
Routing Protocols in MANET Under Diversified
Scenarios
Gowrishankar.S1, T.G.Basavaraju2 and SubirKumarSarkar3
1
Department of Electronics and Telecommunication Engineering,
Jadavpur Universisty, Kolkata 700032, West Bengal, India.
gowrishankarsnath@acm.org, sksarkar@etce.jdvu.ac.in
2
Department of Computer Science and Engineering,
Acharya Institute of Technology, Visvesvaraya Technological University,
Belgaum 590014, Karnataka, India.
basavaraju@acharya.edu.in

make use of the resources provided in their current setup.


Abstract: In this paper we have compared six different routing
protocols namely AOMDV, DYMO, FSR, LAR, OLSR and Also the mobile nodes are crippled with the amount of
TORA using Community Based Mobility Model and SMS power used in mobility and for sending and receiving the
mobility Model. Of these LAR, AOMDV and TORA routing messages. Infrastructure less setup of ad hoc networks can
protocols are analyzed with Community Mobility Model and be used in military deployment and emergency operations.
OLSR, DYMO and FSR protocols are analyzed using SMS The main contribution of this paper is that we have made an
mobility Model. The reason for bifurcation of routing protocols inviolable effort to study the performance of six routing
was to see whether these routing protocols were able to take
finical advantage of the mobility model on which they were
protocols namely AOMDV, DYMO, FSR, LAR, OLSR and
being applied. This allows us to analyze the application of TORA over Community Based Mobility Model and SMS
routing protocols in a network scenario for a particular Mobility Model. To the best of our knowledge, no work has
application like identifying the location of the moving nodes. been reported that compares and studies the performance of
The Community Based Mobility Model and SMS Mobility Model all these six Routing Protocols with Community Mobility
are modern day mobility models with close resemblance to real Model and SMS mobility Model in a single research paper.
world vehicular or human group mobility. It is still not clear
The rest of the paper is organized as follows. Previous
how these routing protocols behave under these mobility models.
Our research paper tries to address various issues like effect of related work is discussed in section two. In the Third section
mobility, traffic, energy consumption and quality of services of a brief description of the routing protocols, Mobility models
these routing protocols on the mentioned mobility models. The and the energy model is given. Various simulation
results obtained in this paper also colligates with the results parameters used in this paper is mentioned in section four.
obtained in [16]. Various metrics like packet delivery ratio, Analysis of the result is done in section five and finally we
average network delay, network throughput, routing overhead conclude the paper.
and average energy consumption have been considered by
varying the mobility speed, number of nodes and the traffic load
in the network. We also claim that our paper is the first to 2. Related Work
compare these six routing protocols with Community mobility
In [1] the routing protocols are compared in MANET and
model and SMS mobility model as the underlying mobility
models. We were also able to unravel some of the amplifications Sensor network scenario. In MANET scenario protocols like
inherently associated with these routing protocols. AODV, DSDV and TORA are compared. In sensor scenario
AODV, DSDV, TORA and LEACH protocols are
Keywords: Routing Protocols, Performance, Mobility Models,
considered. The authors come to conclusion that AODV is
Ad Hoc Networks, Simulation.
the best routing protocol in MANET with less overhead and
higher packet delivery. In sensor network environment the
1. Introduction
LEACH protocol has improved performance over AODV. It
Ad hoc networks are a specialized class of networks is also shown that that TORA is the worst protocol in both
comprising of hundreds of nodes which are able to the scenarios.
communicate among each other in a dynamic arbitrary Five different mobility models like Random Waypoint,
manner. Ubiquitous computing is intertwined with the ad Random Direction, Gauss Markov Model, City Section and
hoc networking. In this type of environment the devices
(IJCNS) International Journal of Computer and Network Security, 31
Vol. 2, No. 5, May 2010

Manhattan Mobility Model are compared in [2]. These paths, thereby achieving path disjointness. For route
mobility models are compared using link disjoint and node discovery RouteRequest packets are propagated through out
disjoint multipath routing algorithms. With lifetime as the the network thereby establishing multiple paths at
parameter the Gauss Markov mobility model and Random destination node and at the intermediate nodes. Multiples
Waypoint mobility model has highest lifetime at link Loop-Free paths are achieved using the advertised hop count
disjoint and node disjoint multipaths at a low speed. The method at each node. This advertised hop count is required
lifetime of these mobility models decreases as the speed to be maintained at each node in the route table entry. The
increases. For a multi path set size parameter the maximum route entry table at each node also contains a list of next hop
number of paths are generated for city section and random along with the corresponding hop counts. Every node
waypoint at both low speed and high speed. maintains an advertised hop count for the destination.
A performance analysis of AODV and OLSR is done traffic Advertised hop count can be defined as the “maximum hop
load and node density in [3]. The parameters considered are count for all the paths”. Route advertisements of the
packet delivery and the number of collisions per packet. The destination are sent using this hop count. An alternate path
authors show that with less mobility and more traffic load to the destination is accepted by a node if the hop count is
the delivery of packet is highest. But with increase in less than the advertised hop count for the destination. We
mobility and the traffic load the packet delivery decreases. have used the AOMDV implementation for NS-2 provided
This trend is observed for AODV and OLSR both. There is by [8].
an increase in the number of collisions that occurs in the
3.2 DYMO Routing Protocol
network when the number of neighboring node is increased.
This is found to be severe in OLSR routing protocol. DYMO Routing protocol is an improved version of AODV
Popular mobility models like Random Waypoint, Random routing protocol. Routes are established on demand. When a
Walk and Random Direction Mobility Models are compared source node needs to establish a route to the destination the
in [4]. Packet delivery ratio, routing overhead and RouteRequest (RREQ) messages are flooded through out the
throughput are the metrics considered. These mobility network. During broadcasting only those nodes that have
models are compared by varying the number of nodes and not broadcasted previously will forward the messages. The
the mobility speed. For a varying mobile density the RREQ message includes its own address (source address),
Random waypoint has highest packet delivery and sequential number, a hop count and the destination node
throughput and Random direction has the highest overhead. address. A hop count of one is added to a RREQ packet
Increase in mobility speed results in Random Walk having originating at the source node. Each node that forwards the
highest routing overhead. Same as in varying node density RREQ packet adds its own address and the sequence
even with varying mobility speed the highest packet delivery number. After the source node has sent the RREQ packet it
and throughput is associated with Random Waypoint waits for RREQ_WAIT_TIME duration. This is a constant
mobility model. value and is fixed at 1000 milliseconds.
A new group mobility model based on “virtual track” is Processing of RREQ by other nodes is done as follows.
proposed in [5]. This mobility model considers the military When a node receives the RREQ message it is compared
scenarios that can be applied in ad hoc networks. This with its own routing table. If the routing table does not
mobility model is then compared with random waypoint contain any information regarding the source node, then an
mobility model. Through simulation it is shown that this entry is created for the source node. The next hop is to the
group mobility model based on real world scenario provides node from which it had received the packets. This helps in
more realistic results than random way point model. establishing a route back to the originator.
Routing protocols like AODV, FSR, DSR and TORA are
compared in a city section environment [6]. In a city section
model the AODV routing protocol scores over other routing
protocols and FSR comes a close second.

3. Description of Routing Protocols, Mobility


Models and Energy Model
In this section we give a description of routing protocols like Figure 1. Route Breakage Scenario in Dymo
AOMDV, DYMO, FSR, LAR, OLSR and TORA. Since the network is flooded with RREQ messages almost
Community Based Mobility Model and SMS Mobility all the nodes do contain information regarding the source
Model are also discussed along with the Energy Model. node. If an entry is found to the source node, the node which
3.1 Adhoc On Demand Multipath Distance Vector had received the RREQ packet compares its sequence
Routing Algorithm (AOMDV) number and hop count with the information found in its own
Adhoc On Demand Multipath Distance Vector Routing routing table. If an entry exists and if it is not stale then the
Algorithm (AOMDV) is proposed in [7]. AOMDV employs node updates its routing table with the latest information or
the “Multiple Loop-Free and Link-Disjoint path” technique. otherwise the RREQ is dropped. Every node that evaluates a
In AOMDV only disjoint nodes are considered in all the valid RREQ is capable of creating a reverse route to all the
32 (IJCNS) International Journal of Computer and Network Security,
Vol. 2, No. 5, May 2010

nodes whose addresses are found in the RREQ. After In fig 2 for source node 1 all the neighboring nodes have
updating the route table, the node increments the hop count one hop except from node 2. For source node 2, the number
by a value of one to imply the number of hops the RREQ has of hops is 2 for nodes 3, 4 and 5 while it is 1 for node 1 and
traveled. Once the packet reaches the destination a RREP 6. For source node 3, the number of hops from node 2, 4 and
message is sent back to the source node through the reverse 5 is 2 and 3 hops from node 6 while the number of hops
path that had been created. This RREP packet contains the from remaining nodes is less than 1. For source node 4, the
information regarding its sequence number, number of hop number of hops from 2, 3 and 5 is 2 and for 6 it is 3 while
counts and addresses. The same information is added by all from remaining nodes it is less than 2. For source node 5
the nodes that processes the RREP along the reverse path. the number of hops is less than 2 only for node 1. For source
Consider fig 1. When ever there is a break in the path it has node 6 the number of hops is less than 2 only for node 1.
to be modified by generating a RERR message. Consider These results are obtained by assuming that the scope is less
that the path between node 4 and node 6 is broken. Then than 2. The nodes with less than 2 hops are the nodes with
node 4 has to generate RERR message containing the whom the packets are exchanged at a high rate of frequency
address and sequence number of the node which cannot be than the nodes having a hop count of 2 or more. This may
reached. This RERR is broadcasted through out the network. result in keeping improper information regarding the nodes
When node 2 receives the RERR message it compares the that are far away. But as the packet tends to get closer and
information found in the RERR message with its own closer to the destination node the routes are established [12,
routing table entries. If it has an entry then the route 13, 14].
information has to be removed if the next hop node (i.e.
3.4 Location Aided Routing (LAR) Protocol
node 4) is same as the node from which it had received the
RERR message. When node 3 and node 5 receive the RERR Location Aided Routing (LAR) makes use of the Global
message, the information provided in RERR is checked with Positioning System (GPS). Using GPS the LAR routing
their corresponding entries. Since they do not use node 4 to protocols is able to obtain the information regarding the
reach 6 the RERR message is discarded. In this way by location of a node. In the LAR scheme routes are established
broadcasting the RERR message, the RERR messages the by using the flooding in an intelligent way. When a path is
concerned nodes are informed about any breakage in the broken or when a node needs to establish a route to the
path to the destination node [9, 10, 11]. destination node then it initiates the route discovery by
using RouteRequest (RREQ) messages.
3.3 Fisheye State Routing Protocol (FSR) When an intermediate node receives the same RREQ from
The FSR protocol employs a concept called “FISH EYE” two different nodes then it discards one of the messages and
technique. The idea behind fish eye technique is that a fish’s forwards the other message. When a node receives a RREQ
eye is able to observe maximum number of pixels near its message it compares the address with its own. On finding
focal point. The amount of pixels observed decreases as the that it is the same intended destination node, it triggers a
distance increases from the focal point. If we think of the RouteReply (RREP) in the reverse direction. A timeout is
same concept from a network point of view it means that a specified within which the source node should receive the
node maintains a high quality of information about its RREP packet. Otherwise the source node will trigger the
immediate neighboring nodes while the information route discovery process once again. In the above process the
decreases with the increase in the distance. A node route RREQ is sent to every node. In LAR the number of
maintains up to date information of the link table by packets sent to other nodes is reduced using various
obtaining the latest values from its neighboring nodes. This schemes.
information is exchanged with the neighboring nodes
periodically. These periodical exchanges are not event
driven thus reducing the overhead. When the nodes
exchange the information the entries with the highest
sequence number replaces the entries of a node with the
lowest sequence number. FSR routing protocol uses
something called “SCOPE”. The Scope of a network can be
defined as the group of nodes among whom the
communication takes place frequently as they are with in the (a) (b)
assumed number of hops (or less number of hops).
Figure 3. (a) LAR 1 Scheme (b) LAR 2 Scheme [15]
LAR makes use of a concept called expected zone and
request zone. An expected zone can be defined as a circular
region with in which the destination node is expected to be
present. The source node determines the expected zone of
the destination node based on the average speed and the past
location of the destination node. If the actual speed of the
Figure 2. FSR Demonstration destination node is more than the average speed then the
(IJCNS) International Journal of Computer and Network Security, 33
Vol. 2, No. 5, May 2010

destination node may be farther from the expected zone.


Thus expected zone is just an estimation region in which the
destination node may be present. If the source node is not
able to obtain any information regarding the previous
position of the destination node, then the entire network is
considered as the expected zone. Thus the rule is; more the
information is collected regarding the destination node the
more the accurate the expected zone is.
Request zone is defined as the rectangular region with in
which a node forwards a packet. If a node is outside the
request zone then the node discards any packet it receives.
Usually the request zone includes the expected zone. If the
Figure 4. Transmission of Packets Using MPR
source node is not able to find a path to the destination node
then this request zone size is increased. The size of the The MPR node is chosen in such a way that the chosen node
request zone is dependent on the “average speed of the node is one hop and this one hop node also covers those
and the time elapsed since the last position of the neighboring nodes which are two hops away from the
destination node was found out”. In the LAR 1 scheme as originating node. The MPR nodes are affiliated to this
shown in fig 3 (a) the nodes 1, 3, 4 and 6 is present with in original node. This reduces the number of messages that
the request zone and node 5 is the destination node present needs to be retransmitted.
with in the expected zone. When source node 1 sends a In fig 4 node 4 is two hops away from node 1. So node 3 is
RREQ packet it is broadcasted to the neighboring nodes 2, 3 chosen as an MPR. Any node that is not present in the MPR
and 4. Since node 2 is not present in the request zone it list does not forward the packets. Every node in the network
discards all the received packets. Node 3 and 4 broadcasts maintains information regarding the subset neighboring
the packets to node 5 since they are found with in the nodes that have been selected as MPR nodes. This subset
request zone. Once the destination node receives the RREQ information is called as MPR Selector List.
it triggers the RREP message containing information Optimization in OLSR is achieved in two ways. First the
regarding its location. In LAR scheme 2, it is assumed that amount packets broadcasted in the network is reduced as
the location of the destination node is known to the source only a selected few nodes called MPR broadcast the packets.
node. The source node sends a RREQ message that contains Secondly the size of the control packets is reduced as the
the location information of the destination node and the information regarding its multipoint relay selector set is
distance from the source node to the destination node. When provided instead of providing an entire list of neighboring
an intermediate node receives this RREQ it checks the nodes [20, 21, 22, 23, 24].
distance mentioned in the RREQ message to its own value. 3.6 Temporally Ordered Routing Algorithm (TORA)
If the distance is less than the mentioned distance value then
TORA comes under a category of algorithms called “Link
the RREQ message is forwarded or else the RREQ message
Reversal Algorithms”. TORA is an on demand routing
is discarded. In fig 3 (b) node 2 on receiving the RREQ
protocol. Unlike other algorithms the TORA routing
compares its distance with its own routing table
protocol does not uses the concept of shortest path for
information. Since the distance is less the RREQ packet is
creating paths from source to destination as it may itself
forwarded. When node 6 receives The RREQ packet it finds
take huge amount of bandwidth in the network. Instead of
that it is the destination node and it triggers a RREP in the
using the shortest path for computing the routes the TORA
reverse direction and a route is established to the source
algorithm maintains the “direction of the next destination”
node [16, 17, 18, 19]
to forward the packets. Thus a source node maintains one or
3.5 Optimized Link State Routing Protocol (OLSR) more “downstream paths” to the destination node through
Optimized Link State Routing Protocol (OLSR) is a table multiple intermediate neighboring nodes. TORA reduces the
driven, proactive based routing protocol. Multipoint Relay control messages in the network by having the nodes to
(MPR) nodes are used to optimize the OLSR routing query for a path only when it needs to send a packet to a
protocol. By MPRs the number of packets broadcasted in the destination. In TORA three steps are involved in
network is minimized. A node selects a set of one hop establishing a network. A) Creating routes from source to
neighboring nodes to retransmit its packets. This subset of destination, B) Maintaining the routes and C) Erasing
selected neighboring nodes is called the Multipoint Relays invalid routes. TORA uses the concept of “directed acyclic
of that node. The MPR nodes are the only nodes those graph (DAG) to establish downstream paths to the
forward the packets during broadcasting. All the links destination”. This DAG is called as “Destination Oriented
between the nodes are assumed to be bidirectional. DAG”. A node marked as destination oriented DAG is the
last node or the destination node and no link originates from
this node. It has the lowest height. Three different messages
are used by TORA for establishing a path: the Query (QRY)
message for creating a route, Update (UPD) message for
34 (IJCNS) International Journal of Computer and Network Security,
Vol. 2, No. 5, May 2010

creating and maintaining routes and Clear (CLR) message


for erasing a route. Each of the nodes is associated with a
height in the network

Figure 6. Steps Involved in the Establishment of the


(a) (b) Community Mobility Model [29]
Figure 5. Directed Path in TORA The first step in establishing a community model is using
the “Social network as input” to the community mobility
. A link is established between the nodes based on the model. It involves two ways i.e. “modeling of social
height. The establishment of the route from source to relationships” and “detection of community structures”.
destination is based on the DAG mechanism thus ensuring Modeling of social relationship can be represented as a
that all the routes are loop free. Packets move from the weighted graph matrix. If any of the elements in the matrix
source node having the highest height to the destination is greater than the specified threshold value then that
node with the lowest height. It’s the same top to down element in the graph is set to 1 and if it is less than the
approach. threshold value then it is set to 0. A value of 1 represents
When there is no directed link from source to destination strong social interaction between the groups and a value of 0
the source node trigger the QRY packet. The source node represents no interaction. The concept of 1 and 0 is used to
(node 1) broadcasts the QRY packet across all the nodes in emphasize the relation between any two members of a group
the network. This QRY packet is forwarded by all the or any individuals of the group. The next step is to
intermediate nodes which may contain a path to the conceptualize the interaction between groups of a social
destination. Consider fig 5(a). When the QRY packet community network. The authors of the community model
reaches the destination node (node 9) then the destination have implemented this aspect by considering an algorithm
node replies with a UPD message. Each node receiving this provided by [28]. Groups communicate with each other
UPD message will set the value of the height to a value through “inter community edges” and this concept is called
greater than the height of the node from which it had as “betweeness of edges”. Once the connection between the
received. This results in the creation of the directed link individuals in the communities and the interaction between
from the source to the destination. This is the concept the communities itself is established then the next step is the
involved in the link reversal algorithm. This enables to placement of the communities in a square location on a grid.
establish a number of multiple routes from the source to This can be represented by Spq i.e. “a square in position of p,
destination. Assume that the path between node 5 and node q”. The next step is the dynamics of the mobile host. For
6 is broken (fig 5(b)). Then node 6 generates an UPD mobility, a host from each group or community is selected.
message with a new height value with in a given “defined For each of the host the first goal is randomly chosen inside
time”. Node 3 reverses its link on receiving the UPD the square Spq. Here goal represents the mobility position.
message. This reverse link indicates that the path to The next goal is selected by the “social attractivity”. Each
destination through that directed link is not available. If host will have a certain attraction for another host
there is a break between node 1 and node 3 then it results in representing another square location. When a host is
partition of the network where the resulting invalid routes attracted to another host then the community moves from
are erased using the CLR message [25, 26, 27]. the present square location to the square location of another
host to which the present host is attracted. Finally, the
3.7 Community Based Mobility Model
mobile host needs to be associated with the mobility
A new social network based model called Community dynamics.
Mobility Model was proposed by [29]. This mobility model
can be used to model humans moving in groups or groups of 3.8 Semi-Markov Smooth (SMS) Mobility Model
humans which are clustered together. The authors of the Semi Markov Smooth (SMS) mobility model obeys the
community model have evaluated their model by using the physical law of smooth mobility. It has three phases a) speed
real time synthetic mobility traces provided by the Inter up phase b) middle smooth phase and c) slow down phase.
Research Laboratory, Cambridge. The Community Model In the speed up phase or α phase the object is accelerated
can be conceptualized as below: until it reaches an acceptable speed. The speed up phase
time interval is given by [t0 , tα ] = [t0 + t0 + α∆t ] where t 0
(IJCNS) International Journal of Computer and Network Security, 35
Vol. 2, No. 5, May 2010

is the initial time and tα is the alpha phase time. mobility models:
Once the object is moving at an acceptable normal speed Packet Delivery Ratio: It is defined as
then it has to maintain this speed for some time. The middle
smooth phase or β phase is represented by
∑ Number of Received Data Packets
[t
α , t β = tα , tα + β∆t ] where β is uniformly distributed ∑ Number of Sent Data Packets
Average Network Delay: It is defined as
over [βmin, βmax]. As we know that every moving object at
∑ (Time packet arrive @dest − Time packet sent @source )
some point of time has to slow down and eventually stop.
Total Number of Connection Pairs
The node reaches γ phase or slow down phase. The node
Throughput of the network: Throughput is defined as
remains in this phase for a random period of time before the
speed reaches to Vγ = 0. Distance between any two points is ∑ Node Throughputs of Data Transmissi on
treated as the Euclidian distance. Trace length is the actual Total Number of Nodes
length traveled by a node during one movement without any Routing Overhead: It is defined as
change in that direction. Distance evolution is the way the
traveling of a node is observed. If the speed of a node
∑[MAC (Control )
pkt sentsize + MAC (Controlpkt ) fwdSize]
ΔT sim
increases continuously then the α phase and β phase of the
trace length is equivalent to the distance evolution. This Table 1: Simulation Parameters
results in a smooth trace. When the speed of the node Simulator NS2
decreases in the γ phase it results in a sharp curve. SMS
mobility model can also be considered as a group mobility Routing Protocols AOMDV, DYMO, FSR, LAR,
model. In this scenario a node is selected as a leader. This OLSR and TORA
group leader selects a speed and direction which the other Mobility Model Community Mobility Model and
nodes do follow. The velocity of a group member m at its SMS Mobility Model
nth step is given by Simulation Time 900
Vnm = VnLeader + (1 − ρ ) ⋅U ⋅ ∆Vmax (sec)

φnm = φnLeader + (1 − ρ ⋅U ⋅ ∆φmax )


Pause Time (sec) 10
Simulation Area 1000 x 1000
Where U is a random variable, ∆Vmax is the maximum speed (m)
and φmax is the difference in the direction of the common
Number of Nodes 10, 20, 30, 40, 50
node and the leader node in one step [30, 31].
Transmission 250 m
3.9 Energy Model Range
The Energy Consumption model considered in this paper is Maximum Speed 5, 10, 15, 20, 25
based on a study done in [32, 33]. The amount of energy (m/s)
spent in transmitting and receiving the packets is calculated
Traffic Rate 5, 10, 15, 20, 25
by using the following equations:
(pkts/sec)
Energytx = (330*PacketSize)/2*106 Data Payload 512
(Bytes)
Energyrx = (230*PacketSize)/2*106 where packet size is
specified in bits. 5. Result Analysis
All the simulations scenarios are averaged for 5 different
Average Energy Consumed is defined as seeds while running independently. We have considered the
∑ PercentageEnergyConsumedbyallNodes effect of mobility speed, node density and traffic load on the
NumberofNodes performance of these routing protocols using Community
based mobility model and SMS mobility model.
Effect of Mobility Speed
4. Simulation Environment
5.1 Effect of Mobility Speed
Simulations are performed using Network Simulator NS-2
[34]. The simulated values of the radio network interface Both the Mobility speed and the type of Mobility model play
card are based on the 914MHz Lucent WaveLan direct a vital role in determining the performance of routing
sequence spread spectrum radio model. This model has a bit protocols. The mobility speed is varied from 5 m/s to 25 m/s
rate of 2 Mbps and a radio transmission range of 250m. The in steps of 5. The routing protocols LAR, AOMDV and
IEEE 802.11 distributed coordinated function with TORA are compared using the Community Based Mobility
CSMA/CA is used as the underlying MAC protocol. Model and the routing protocols OLSR, DYMO and FSR
Interface Queue (IFQ) value of 70 is used to queue the are compared using SMS mobility model.
routing and data packets. In this paper scheme one implementation of route
Following metrics have been selected for evaluating the establishment is employed in LAR routing protocol. The
36 (IJCNS) International Journal of Computer and Network Security,
Vol. 2, No. 5, May 2010

LAR routing protocol has the highest packet delivery at the increase in mobility speed. The delay of FSR is in
varying mobile speed (fig 7). This shows that a location between 0.01 to 0.2 seconds (fig 13). The throughput of
based algorithm like the LAR routing protocol is able to DYMO routing protocols remains steady but it decreases in
take advantage of community model. The LAR routing OLSR and FSR with increase in speed (fig 14).
protocol maintains a delivery ratio of 98% to 70%. Only The throughput results of the routing protocols are in
AOMDV can be comparable to the packet delivery consistent with the packet delivery. But DYMO routing
capability of LAR. But there is an increases and decrease in protocol is having higher overhead over OLSR and FSR
the packet delivery of AOMDV thereby indicating that it is which was not expected considering that DYMO routing
not consistent with the mobility speed of the community protocol performs better than AODV routing protocol (fig
model. 15).
The delay in the network increases with the increase in The routing overhead of DYMO ranges from 45 % to 75 %.
speed. This is in sharp contrast to what can be seen from the This overhead in DYMO is mainly due to the flooding of
increase in node density. This shows that both node density RouteRequest to discover the destination node. This
and mobile speed play a vital role in determining the final RouteRequest message is flooded through out the network
outcome of the performance of a routing protocol (fig 8). thereby causing huge overhead. The overhead in OLSR is
The high throughput of LAR routing protocol results in less mainly due to the large selection of MPR resulting in huge
delay as less number of hops are required to reach the amount of information being sent in the network.
destination. The delay of TORA routing protocol is more In SMS mobility model, the energy consumption of all the
than 0.1 seconds while the delay of LAR routing protocol is routing protocols remains fairly the same with increase in
between 0.01 to 0.02 seconds. The delay in TORA routing mobility speed (fig 16).
protocol may be mainly attributed to the creation of directed
links in the network. The links are created across all the
nodes in the network until the destination node is reached
resulting in higher delay in the network.
The network throughput of LAR routing protocol increases
with increase in mobility speed (fig 9). The results obtained
for LAR routing protocol is ratified with [16] confirming
our stand that the LAR routing protocol goes hand in hand
with the Community model. The throughput of AOMDV
and TORA routing protocols remain between 40 to 50 kbps
while the throughput of LAR routing protocol increases
from 100 to 140 kbps. Figure 7. PDR v/s Average Mobility Speed
The AOMDV and TORA routing protocols score over LAR
routing protocol by having less overhead and less energy
consumption (fig 10 and 11). The routing overhead in LAR
is due to the fact that the expected zone is an estimated one
and sometimes the entire network is considered as an
expected zone. This results in flooding the whole network
with the RouteRequest messages. All the mechanisms
employed in finding the destination zone optimally tends to
fail in this case. This leads to clogging of the whole network Figure 8. Average Network Delay v/s Mobility Speed
thereby increasing the routing packet overhead in the
network. Through simulation it has been showed in
literature that TORA routing protocol consumes more
energy than OLSR. But in the present situation with
Community Mobility model the amount of energy consumed
is almost same between OLSR and TORA routing protocols.
The energy consumption of AOMDV and TORA routing
protocols range between 50 to 100 joules where as the LAR
routing protocol consumes energy between 300 to 350 Figure 9. Network Throughput v/s Mobility Speed
joules.
The DYMO routing protocol has highest packet delivery.
OLSR has an increase and decrease pattern but still it is
comparable with DYMO routing protocol. The packet
delivery is around 90% (fig 12).
FSR routing protocol has least packet delivery. The delay of
OLSR and DYMO routing protocols is between 0.01 to 0.02
seconds. But the delay in FSR is very high. It increases with
(IJCNS) International Journal of Computer and Network Security, 37
Vol. 2, No. 5, May 2010

Figure 16. Average Energy Consumed v/s Mobility


Figure 10. Routing Overhead v/s Mobility Speed Speed

5.2 Effect of Node Density


The number of nodes is varied from 10 to 50 in steps of 10.
Our goal is not to find the optimum number of nodes for
these routing protocols but to see how these routing
protocols fare against different node densities. Higher node
density enables us to analyze whether these routing
Figure 11. Average Energy Consumed v/s Mobility protocols are able to take the inherent advantages of a
Speed community model especially the LAR routing protocol. The
routing protocols LAR, AOMDV and TORA are mapped
against number of nodes using Community Based Mobility
Model.
At higher node density the connectivity between nodes is
significantly better resulting in better packet delivery. When
the number of nodes is less the LAR routing protocol has
better packet delivery ratio. But when the number of nodes
is increased to more than 30 then all the routing protocols
converge to the same level. At higher node density all the
Figure 12. PDR v/s Mobility Speed routing protocols are able to provide nearly 100% packet
delivery (fig 17).
The TORA routing protocol has the highest delay at lower
node density (fig 18). But as the node increases delay
decreases among all the routing protocols. AOMDV has the
least delay when compared to LAR and TORA routing
protocols. The delay in AOMDV is less due to the
availability of alternate routes thus avoiding the necessity of
sending the RouteRequest packets again and again.
Figure 13. Average Network Delay v/s Mobility Speed
It can be noticed that the throughput of all the protocols
increases with the increase in node density (fig 19). This is
due to increase in network connectivity.
The routing overhead of LAR routing protocol is
astronomically high when compared to AOMDV and TORA
routing protocols. This can be attributed to the amount of
RouteRequest packet that is flooded through out the
network. Even though the LAR routing protocol has various
mechanisms to make the flooding of network an intelligent
Figure 14. Network Throughput v/s Mobility Speed one still the amount of packet needed to discover the
destination node in the estimated zone itself results in too
much overhead in the network (fig 20). The routing
overhead of AOMDV is due to the additional RouteRequest
that are needed to maintain multiple path in the network.
The energy consumption of all the routing protocols
increases with the increase in the number of nodes. More
energy is consumed by LAR routing protocol (fig 21). The
increase in the energy consumption in LAR routing protocol
is due to the underlying flooding nature of the routing
Figure 15. Routing Overhead v/s Mobility Speed protocol.
Our simulation result sprang a few quite surprises. We were
38 (IJCNS) International Journal of Computer and Network Security,
Vol. 2, No. 5, May 2010

expecting TORA to take advantage of its location


capabilities when employed under the Community Mobility
Model. But here the best all round performer was AOMDV
routing protocol. This shows that if were to employ a
routing protocol for analyzing realistic mobility models like
community models then AOMDV is the well versed routing
protocol.

Figure 21. Average Energy Consumed v/s


Number of Nodes

5.3 Effect of Traffic Load


The traffic load is varied from 5 pkts/sec to 25 pkts/sec in
steps of 5. The OLSR, DYMO and FSR routing protocols
are analyzed using SMS mobility model with varying traffic
load. The packet delivery of OLSR and DYMO remains
close to 100% up to 10 pkts/sec (fig 22). With the increase
Figure 17. PDR v/s Number of Nodes in traffic load the packet delivery of all the routing protocols
tend to decrease. The DYMO Routing protocol is able to
cope with the congestion in the network better than OLSR
and FSR routing protocols.
The delay in FSR is the worst when compared to OLSR and
DYMO. There is an astronomical increase in delay for FSR
routing protocol starting from 5 pkts/sec and for OLSR the
delay increases after 10 pkts/sec. The DYMO routing
protocol has less delay when compared to other two routing
protocols (fig 23). The delay in DYMO routing protocol
increases after 15 pkts/sec. The delay varies from 0.1
Figure 18. Average Network Delay v/s seconds to 0.4 seconds.
Number of Nodes Even though DYMO has less delay and more packet
delivery to fails to maintain the momentum for network
throughput (fig 24). Surprisingly both OLSR and FSR
routing protocols score over DYMO in network throughput.
The throughput of all the routing protocols increases with
the increase in the traffic load.
The routing overhead of DYMO increases with increase in
traffic load while the routing overhead of OLSR and FSR
decreases with increase in traffic load. FSR is having less
routing overhead. This factor can be attributed to the unique
Figure 19. Network Throughput v/s Number feature in FSR where it maintains the information of its
of Nodes immediate neighboring nodes thereby it is able to find the
destination node with minimum number of hops (fig 25).
DYMO protocol’s routing overhead increases up to 15
pkts/sec and maintain a steady state after that indicating that
the network is saturated. The routing overhead of OLSR and
FSR decreases with the increase in traffic load. The routing
overhead of FSR decreases from 10% to 4% with the
increase in traffic load.
Both OLSR and FSR have high energy consumption. Above
10 pkts/sec the energy consumption of OLSR increases at a
very high rate. But the energy consumption of FSR routing
Figure 20. Routing Overhead v/s Number of is more than 300 joules starting from 5 pkts/sec (fig 26).
Nodes DYMO routing protocol maintains steady energy
consumption between 150 to 200 joules.
For SMS mobility model if high packet delivery, less delay
and less energy consumption are the criterion to employ a
routing protocol then the routing protocol of choice should
(IJCNS) International Journal of Computer and Network Security, 39
Vol. 2, No. 5, May 2010

be the DYMO routing protocol. AOMDV performing better than the LAR routing protocol
at higher node density for a Community Based Mobility
Model. The DYMO routing protocol outperforms both
OLSR and FSR with varying mobility speed and traffic load.
At the end of the day the type of routing protocols that needs
to be deployed depends on the situation in hand in addition
to the various parameters given in our paper.

Acknowledgments
Figure 22. PDR v/s Traffic Load The first author of this paper would like to acknowledge the
help of Tracy Camp, Wenye Wang, Mirco Musolesi in this
work.

References
[1] A.K.Dwivedi et al.,”Performance of Routing Protocols
for Mobile Adhoc and Wireless Sensor Networks: A
Comparative Study”, International Journal of Recent
Trends in Engineering, Vol 2, No. 4, November 2009.
Figure 23. Average Network Delay v/s Traffic Load [2] Nicholas Cooper and Natarajan Meganathan,”Impact
of Mobility Models on Multi Path Routing in Mobile
Ad Hoc Networks”, International Journal of
Computer Networks and Communications (IJCNC),
Vol 2, No 1, January 2010.
[3] Anders Nilsson,”Performance Analysis of Traffic Load
and Node Density in Ad hoc Networks”, In
Proceedings of the 5th European Wireless Conference
(EW2004) Mobile and Wireless Systems, Barcelona,
Figure 24. Network Throughput v/s Traffic Load Spain, Feb 24-27, 2004.
[4] M.I.M Saad et al,“Performance Analysis of Random
Based Mobility Models in MANET Routing
Protocol”, European Journal of Scientific Research,
Vol 32, No. 4, pp 444-454.
[5] Biao Zhou, Kaixin Xu and Mario Gerla,”Group and
Swarm Mobility Models for Ad hoc Network
Scenarios Using Virtual Tracks”, IEEE Military
Communications Conference (MILCOM’04),
Moneterey, California, USA, Oct 31-Nov 3, 2004.
Figure 25. Routing Overhead v/s Traffic Load
[6] Sven Jaap, Marc Bechler and Lars Worf,”Evaluation of
Routing Protocols for Vehicular Ad hoc Networks in
City Traffic Scenarios”, In Proceedings of the 5th
International Conference o Intelligent Transportation
Systems Telecommunications (ITST), Brest, France,
June 2005.
[7] Mahesh K. Marina and Samir R.Das, “ On-Demand
Multipath Distance Vector Routing in Ad-hoc
Networks”, In proceedings of the IEEE International
Figure 26. Average Energy Consumed v/s Traffic
Conference on Network Protocols, 2001 pp 14-23.
Load
[8] M.Caleffi, G.Ferraiuolo and L.Pauro, “On Reliability
of Dynamic Addressing Protocols in Mobile Ad hoc
Networks”, Proceedings of WRECOM’07, Wireless
6 Conclusion Rural and Emergency Communications Conference,
Roma, Italy, October 2007.
In this paper we have evaluated six routing protocols over [9] Ian D Chakeres and Charles E Perkins,”Dynamic
two realistic mobility models. We have conducted these Manet On Demand Routing Protocol”, IETF Internet
experiments in best possible scenarios conductive for an ad Draft, draft-ietf-manet-dymo-12.txt, February 2008.
hoc network to understand the performance of these routing [10] Rolf Ehrenreich Thorup,”Implementing and
protocols over different mobility model. The LAR routing Evaluating the DYMO Routing Protocol”, Master’s
protocol is the protocol of choice for a community model Thesis, Department of Comptuer Science, University
moving at high speed. We came across few surprises like of Aarhus, Denmark.
40 (IJCNS) International Journal of Computer and Network Security,
Vol. 2, No. 5, May 2010

[11] Siti Rahayu Abdul Aziz et al.”Performance [25] Vincent D Park and M. Scott Corson,”A Performance
Evaluation of AODV, DSR and DYMO Routing Comparison of the Temporally Ordered Routing
Protocols in MANET”, 2009 International Algorithm and Ideal Link State Routing”, In
Conference on Scientific and Social Science Proceedings of the 3rd IEEE Symposium on
Research, Kaula Lampur, Malaysia, 14-15 March. Computers and Communications, Washington D.C,
[12] Guangyu Pei, Mario Gerla and Tsu Wei USA, 1998.
Chen,”Fisheye State Routing: A Routing Scheme for [26] Vincent D Park, J P Macket and M Scott
Ad Hoc Wireless Networks”, In Proceedings of IEEE Corson,”Applicability of the Temporally Ordered
International Conference on Communications Routing Algorithm for use in Mobile Tactical
(ICC2000), New Orleans, Louisiana, USA, June 18- Networks”, IEEE Military Communications
22, 2000. Conference (MILCOM 98), 1998.
[13] Elizabeth M Royer, Sung-Ju Lee and Charles E [27] Eryk Dutkiewicz et al,”A Review of Routing
Perkins,”The Effects of MAC Protocols on Ad hoc Protocols for Mobile Ad Hoc Networks”, Ad hoc
Network Communication”, In Proceedings of IEEE Networks, Volume 2, Issue 1, January 2004, Pages 1-
WCNC 2000, Chicago, IL, September 2000. 22.
[14] Allen C Sun,”Design and Implementation of Fisheye [28] Newman and Girvan,”Finding and evaluating
Routing Protocol for Mobile Ad hoc Networks”, community structure in networks”, Physical Review
http://www.scanner-group.mit.edu/PDFS/SunA.pdf E, 69, Februrary 2004.
[15] C.Siva Rama Murthy and B.S. Manoj, “Adhoc [29] Mirco Musolesi and Cecilia Mascolo, “A Community
Wireless Networks: Architectures and Protocols”, Based Mobility Model for Ad hoc Network Research”,
Second Edition, Prentice Hall. International Symposium on Mobile Ad hoc
[16] Tracy Camp, Jeff Boleng et al.,”Performance Networking and Computing, Proceedings of the 2nd
Comparison of Two Location Based Routing International Workshop on Multi hop ad hoc
Protocols for Ad Hoc Networks”, In Proceedings of networks, 2006.
the IEEE 21st Annual Joint Conference of the IEEE [30] Ming Zhao and Wenye Wang,”A Novel Semi Markov
Computer and Communications Societies (INFOCOM Smooth Mobility Model for Mobile Ad Hoc
2002), pp 167801687, 2002. Networks”, In Proceedings of the IEEE
[17] Young Bae Ko and Nitin H Vaidya,”Location Aided GLOBECOM’06, San Francisco, CA, November
Routing (LAR) in Mobile Ad Hoc Networks”, In 2006.
Proceedings of the 4th Annual ACM/IEEE [31] Maig Zhao and Wenye Wang,”Design and
International Conference on Mobile Computing and Applications of a Smooth Mobility Model for Mobile
Networking, Dallas, Texas, United States, 1998. Ad hoc Networks”, In Proceedings of the IEEE
[18] Ioannis Broustis, Gentian Jakllari et al.,”A Milcom’06, Washington D.C., October 2006.
Comprehensive Comparison of Routing Protocols for [32] Juan Carlos Cano and Pietro Manzoni,”A
Large Scale Wireless MANETs”, In Proceedings of Performance Comparison of Energy Consumption for
the 3rd Inernational Workshop on Wireless Ad Hoc Mobile Ad Hoc Network Routing Protocols”, In
and Sensor Networks, Newyork, June 28-30 2006. Proceedings of the 8th International Symposium on
[19] S.K.Sarkar, T.G.Basavaraju et al,”Ad hoc Mobile Modelling, Analysis and Simulation of Computer and
Wireless Networks, Principles, Protocols and Telecommunication Systems, San Francisco, CA,
Applications”, Auerbach Publications -2008. 2000.
[20] T.Clausen and P.Jacquet,”Optimized Link State [33] Laura Marie Feeney,”Investigating the Energy
Routing Protocol for Ad hoc Networks”, Consumption of a Wireless Network Interface in an
http://hipercom.inria.fr/olsr/rfc3626.txt Adhoc Networking Environment”, In Proceedings of
[21] Mounir Frikha and Manel Maamer,” Implementation the INFOCOM01 Twentieth Annual Joint Conference
and Simulation of OLSR protocol with QOS in ad hoc of the IEEE Computer and Communication Societies,
Networks”, Proceedings of the Second International Vol 3, August 2002, pp 1548-1557.
Symposium on Communications, Control and Signal [34] Information Sciences Institute, “The Network
Processing (ISCCSP’06), 13-15 March, Marrakech, Simulator Ns-2”, Http://www.isi.edu/nanam/ns/,
Morocco. University of Southern California.
[22] John Novatnack and Harpreet Arora,”Evaluating ad
hoc Routing Protocols with Restpect to Quality of
Service”, IEEE International Conference on Wireless
and Mobile Computing, Networking and
Communications (WiMob’05), 03 October 2005.
[23] Kenneth Holter,”Comparing AODV and OLSR”,
folk.uio.no/kenneho/studies/essay/essay.html
[24] Ying Ge et al,”Quality of Service Routing in ad Hoc
Networks Using OLSR”, Proceedings of the 36th
IEEE International conference on System Sciences
(HICSS’03), 2002.
(IJCNS) International Journal of Computer and Network Security, 41
Vol. 2, No. 5, May 2010

Security Issues for Voice over IP Systems


Ali Tahir1, Asim Shahzad2
1
Faculty of Telecommunication and Information Engineering, UET TAXILA,
Pakistan
ali.tahir.nsn@hotmail.com

2
Faculty of Telecommunication and Information Engineering, UET TAXILA,
Pakistan
asim.shahzad@uettaxila.edu.pk

Abstract: Firewalls, Network Address Translation (NAT), and


encryption produce Quality of Service (QoS) issues which are
the basic building block to the operations of a VOIP system.
There are two major non proprietary standards used for VoIP
communications. They are H.323 and Session Initiation
Protocol (SIP). Firewalls, NAT, and Intrusion Detection
Systems (IDS) are used to filter unwanted packets in VoIP
environment. To provide defense against an internal hacker,
another layer of defense is necessary at the protocol level to
protect the data itself. In VOIP, as in data networks, this can be
accomplished by encrypting the packets at the IP level using
IPSec. As VoIP is an IP based technology that utilizes the
Internet it also inherits all associated IP vulnerabilities. This
research paper focus on different security issues associated with Figure 1. How VOIP works [1]
voice over IP system.
The VoIP networks replace the traditional public-switched
Keywords: Voice-Over Internet Protocol (VoIP), Firewalls. telephone networks (PSTNs), as these can perform the same
functions as the PSTN networks. The functions performed
include signaling, data basing, call connect and disconnect,
1. Overview of VOIP and coding-decoding.

The Voice-Over Internet Protocol (VoIP) technology allows


the voice information to pass over IP data networks. This 2. Quality of Service Issues
technology results in huge savings on the amount of
Quality of Service (QoS) is fundamental to the operation of
physical resources required to communicate by voice over
long distance. It does so by exchanging the information in a VOIP network. Despite all the money VOIP can save users
packets over a data network. The basic functions performed and the network elegance it provides, if it cannot deliver at
by a VoIP include - signaling, data basing, call connect and least the same quality of call setup and voice relay
disconnect, and coding/decoding. The steps involved in functionality and voice quality as a traditional telephone
originating and internet telephone call are the conversion of network, then it will provide little added value. There are
the analogue voice signal to digital format and compression various security measures that can degrade QoS. For
/ translation of the signal into internet protocol (IP) packets example blocking of call setups by firewalls, encryption-
for transmission over the internet; the process is reversed at produced latency and delay variation (jitter). QoS issues are
the receiving end. VoIP software’s like Vocal TEC or Net 2 central to VOIP security. If QoS was assured, then most of
Phone are available for the user [1]. With the exception of the same security measures currently implemented in
phone to phone, the user must posses an array of equipment today’s data networks could be used in VOIP networks. But
which should at minimum include VoIP software, an because of the time-critical nature of VOIP, and its low
internet connection, and a multimedia computer with a tolerance for disruption and packet loss, many security
sound card, speakers, a microphone and a modem [1].The measures implemented in traditional data networks just
VoIP network acts as a gateway to the existing PSTN
aren’t applicable to VOIP in their current form. The main
network. This gateway forms the interface for transportation
QoS issues associated with VOIP that security affects are
of the voice content over the IP networks. Gateways are
presented here [4].
responsible for all call origination, call detection, analogue
to digital conversion of voice, and creation of voice packets.
2.1 Latency
Latency in VOIP refers to the time it takes for a voice
transmission to go from its source to its destination. We
would like to keep latency as low as possible for ideal
42 (IJCNS) International Journal of Computer and Network Security,
Vol. 2, No. 5, May 2010

systems but there are practical lower bounds on the delay of reassembling these packets is non-trivial, especially when
VOIP. The ITU-T Recommendation G.114 establishes a dealing with the tight time constraints of VOIP.
number of time constraints on one-way latency. The upper When jitter is high, packets arrive at their destination in
bound is 150 ms in [2] for one-way traffic experienced in spurts. The general prescription to control jitter at VOIP
domestic calls across PSTN lines in the continental United endpoints is the use of a buffer, but such a buffer has to
States. For international calls, a delay of up to 400 ms was release its voice packets at least every 150 ms (usually a lot
deemed tolerable, but since most of the added time is spent sooner given the transport delay) so the variations in delay
routing and moving the data over long distances, we must be bounded. The buffer implementation issue is
consider here only the domestic case and assume our compounded by the uncertainty of whether a missing packet
solutions are upwards compatible in the international realm. is simply delayed an anomalously long amount of time, or is
VOIP calls must achieve the 150 ms bound to successfully actually lost.
emulate the QoS that today’s phones provide. It places a Jitter can also be controlled throughout the VOIP network
genuine constraint on the amount of security that can be by using routers, firewalls, and other network elements that
added to a VOIP network. The encoding of voice data can support QoS. These elements process and pass along time
take between 1 and 30 ms and voice data traveling across urgent traffic like VOIP packets sooner than less urgent data
the North American continent can take upwards of 100 ms packets. Another method for reducing delay variation is to
although actual travel time is often much faster . Assuming pattern network traffic to diminish jitter by making as
the worst case (100 ms transfer time), 20 –50 ms remain for efficient use of the bandwidth as possible. This constraint is
queuing and security implementations [4]. at odds with some security measures in VOIP. Chief among
these is IPSec, whose processing requirements may increase
latency, thus limiting effective bandwidth and contributing
to jitter.
The window of delivery for a VOIP packet is very small, so
it follows that the acceptable variation in packet delay is
even smaller. Thus, although we are concerned with
security, the utmost care must be given to assuring that
delays in packet deliveries caused by security devices are
kept uniform throughout the traffic stream [4].

2.3 Packet Loss


VOIP is exceptionally intolerant of packet loss. Packet loss
can result from excess latency, where a group of packets
arrives late and must be discarded in favor of newer ones. It
can also be the result of jitter, that is, when a packet arrives
after its surrounding packets have been flushed from the
buffer, making the received packet useless. Compounding
Figure 2. Sample Latency Budget [4] the packet loss problem is VOIP’s reliance on RTP, which
uses the unreliable UDP for transport, and thus does not
Delay is not confined to the endpoints of the system. Each guarantee packet delivery. However, the time constraints do
hop along the network introduces a new queuing delay and not allow for a reliable protocol such as TCP to be used to
possibly a processing delay if it is deliver media. The good news is that VOIP packets are very
a security checkpoint (i.e. firewall or encryption/decryption small, containing a payload of only 10-50 bytes, which is
point). Also, larger packets tend to cause bandwidth approximately 12.5-62.5 ms in [4], with most
congestion and increased latency. In light of these issues, implementations tending toward the shorter range. The loss
VOIP tends to work best with small packets on a logically of such a minuscule amount of speech is not discernable or
abstracted network to keep latency at a minimum. at least not worthy of complaint for a human VOIP user.
The bad news is these packets are usually not lost in
2.2 Jitter isolation. Bandwidth congestion and other such causes of
Jitter refers to non-uniform packet delays. It is often caused packet loss tend to affect all the packets being delivered
by low bandwidth situations in VOIP and can be around the same time. So although the loss of one packet is
exceptionally detrimental to the overall QoS. Variations in fairly inconsequential, probabilistically the loss of one
delays can be more detrimental to QoS than the actual packet means the loss of several packets, which severely
delays themselves. Jitter can cause packets to arrive and be degrades the quality of service in a VOIP network.
processed out of sequence. RTP, the protocol used to Despite the infeasibility of using a guaranteed delivery
transport voice media, is based on UDP so packets out of protocol such as TCP, there are some remedies for the
order are not reassembled at the protocol level. However, packet loss problem. One cannot guarantee all packets are
RTP allows applications to do the reordering using the delivered, but if bandwidth is available, sending redundant
sequence number and timestamp fields. The overhead in information can probabilistically annul the chance of loss.
(IJCNS) International Journal of Computer and Network Security, 43
Vol. 2, No. 5, May 2010

Such bandwidth is not always accessible and the redundant into a VOIP network is not feasible, particularly when VOIP
information will have to be processed, introducing even is integrated into existing data networks. Instead, these data-
more latency to the system and ironically, possibly network solutions must be adapted to support security in the
producing even greater packet loss. new fast paced world of VOIP.

2.4 Bandwidth & Effective Bandwidth 2.6 Power Failure and Backup Systems
As in data networks, bandwidth congestion can cause packet Conventional telephones operate on 48 volts supplied by the
loss and a host of other QoS problems. Thus, proper telephone line itself. This is why home telephones continue
bandwidth reservation and allocation is essential to VOIP to work even during a power failure. Most offices use PBX
quality. One of the great attractions of VOIP, data and voice systems with their conventional telephones, and PBXs
sharing the same wires, is also a potential headache for require backup power systems so that they continue to
implementers who must allocate the necessary bandwidth operate during a power failure [4]. These backup systems
for both networks in a system normally designed for one. will continue to be required with VOIP, and in many cases
Congestion of the network causes packets to be queued, will need to be expanded. An organization that provides
which in turn contributes to the latency of the VOIP system. uninterruptible power systems for its data network and
Low bandwidth can also contribute to non-uniform delays desktop computers may have much of the power
(jitter) [1], since packets will be delivered in spurts when a infrastructure needed to continue communication functions
window of opportunity opens up in the traffic. during power outages, but a careful assessment must be
Because of these issues, VOIP network infrastructures must conducted to ensure that sufficient backup power is available
provide the highest amount of bandwidth possible. On a for the office VOIP switch, as well as each desktop
LAN, this means having modern switches running at 100M instrument. Costs may include electrical power to maintain
bit/sec and other architectural upgrades that will alleviate UPS battery charge, periodic maintenance costs for backup
bottlenecks within the LAN. Percy and Hommer suggest power generation systems, and cost of UPS battery
that if network latencies are kept below 100 milliseconds, replacement. If emergency/backup power is required for
maximum jitter never more than 40 milliseconds, then more than a few hours, electrical generators will be
packet loss should not occur. With these properties assured, required. Costs for these include fuel, fuel storage facilities,
one can calculate the necessary bandwidth for a VOIP and cost of fuel disposal at end of storage life.
system on the LAN in a worst case scenario using statistics
associated with the worst-case bandwidth congesting codec. 2.7 QoS Implications for Security
This is fine when dealing simply with calls across the LAN, The strict performance requirements of VOIP have
but the use of a WAN complicates matters. Bandwidth usage significant implications for security, particularly denial of
varies significantly across a WAN, so a much more complex service (DoS) issues. VOIP-specific attacks (i.e., floods of
methodology is needed to estimate required bandwidth specially crafted SIP messages) may result in DoS for many
usage. VOIP-aware devices. For example, SIP phone endpoints
Methods for reducing the bandwidth usage of VOIP include may freeze and crash when attempting to process a high rate
RTP header compression and Voice Activity Detection of packet traffic SIP proxy servers also may experience
(VAD). RTP compression condenses the media stream failure and intermittent log discrepancies with a VOIP-
traffic so less bandwidth is used. However, an inefficient specific signaling attack of under 1Mb/sec. In general, the
compression scheme can cause latency or voice degradation, packet rate of the attack may have more impact than the
causing an overall downturn in QoS. VAD prevents the bandwidth; i.e., a high packet rate may result in a denial of
transmission of empty voice packets (i.e. when a user is not service even if the bandwidth consumed is low [4].
speaking, their device does not simply send out white noise). 3. Standards and Protocols
However, by definition VAD will contribute to jitter in the
system by causing irregular packet generation [4]. Over the next few years, the industry will address the
bandwidth limitations by upgrading the Internet backbone to
2.5 The Need for Speed asynchronous transfer mode (ATM), the switching fabric
The key to conquering QoS issues like latency and designed to handle voice, data, and video traffic. Such
bandwidth congestion is speed. By definition, faster network optimization will go a long way toward eliminating
throughput means reduced latency and probabilistically network congestion and the associated packet loss. The
reduces the chances of severe bandwidth congestion. Thus Internet industry also is tackling the problems of network
every facet of network traversal must be completed quickly reliability and sound quality on the Internet through the
in VOIP. The latency often associated with tasks in data gradual adoption of standards. Standards-setting efforts are
networks will not be tolerated. Chief among these latency focusing on the three central elements of Internet telephony:
producers that must improve performance are firewall/NAT the audio codec format; transport protocols; and directory
traversal and traffic encryption/decryption [4]. Traditionally, services.
these are two of the most effective ways for administrators to
secure their networks. However, they are also two of the In May 1996, the International Telecommunications Union
greatest contributors to network congestion and throughput (ITU) ratified the H.323 specification, which defines how
delay. Inserting traditional firewall and encryption products
44 (IJCNS) International Journal of Computer and Network Security,
Vol. 2, No. 5, May 2010

voice, data, and video traffic will be transported over IP– without passing through the firewall. The introduction of
based local area networks; it also incorporates the T.120 firewalls to the VOIP network complicates several aspects of
data conferencing standard. The recommendation is based VOIP, most notably dynamic port trafficking and call setup
on the real-time protocol/real-time control protocol procedures.
(RTP/RTCP) for managing audio and video signals.
As such, H.323 addresses the core Internet-telephony 4.2 Stateful Firewalls
applications by defining how delay-sensitive traffic, (i.e., Most VOIP traffic travels across UDP ports. Firewalls
voice and video), gets priority transport to ensure real-time typically process such traffic using a technique called packet
communications service over the Internet [1]. filtering. Packet filtering investigates the headers of each
packet attempting to cross the firewall and uses the IP
addresses, port numbers, and protocol type contained therein
to determine the packets’ legitimacy [4]. In VOIP and other
media streaming protocols, this information can also be used
to distinguish between the start of a connection and
established connection.There are two types of packet
filtering firewalls, stateless and stateful. Stateless firewalls
retain no memory of traffic that has occurred earlier in the
session. Stateful firewalls do remember previous traffic and
can also investigate the application data in a packet. Thus,
stateful firewalls can handle application traffic that may not
be destined for a static port.

4.1.1 VOIP specific Firewall Needs


Figure 3: H.323 Architecture [4] In addition to the standard firewall practices, firewalls are
often deployed in VOIP networks with the added
responsibility of brokering the data flow between the voice
4. Firewalls, NAT AND IDS
and data segments of the network. This is a crucial
Firewalls and NAT present a formidable challenge to VOIP functionality for a network containing PC-Based IP phones
implementers. However, there are solutions to these that are on the data network, but need to send voice
problems, if one is willing to pay the price. It is important to messages. All voice traffic emanating from or traveling to
note that all three major VOIP protocols, SIP, H.323, and such devices would have to be explicitly allowed in if no
H.248 all have similar problems with firewalls and NATs. firewall was present because RTP (Real Time Protocol)
Although the use of NATs may be reduced as IPv6 is makes use of dynamic UDP ports (of which there are
adopted in [4], they will remain a common component in thousands). Leaving this many UDP ports open is an
networks for years to come, and IPv6 will not alleviate the egregious breach of security. Thus, it is recommended that
need for firewalls, so VOIP systems must deal with the all PC-based phones be placed behind a stateful firewall to
complexities of firewalls and NATs. Some VOIP issues with broker VOIP media traffic. Without such a mechanism, a
firewalls and NATs are unrelated to the call setup protocol UDP DoS attack could compromise the network by
used. Both network devices make it difficult for incoming exploiting the excessive amount of open ports [10].
calls to be received by a terminal behind the firewall / NAT. Firewalls could also be used to broker traffic between
Also, both devices affect QoS and can impose strong inflict physically segmented traffic (one network for VOIP, one
with the RTP stream. network for data) but such an implementation is fiscally and
physically unacceptable for most organizations, since one of
4.1 Firewalls the benefits of VOIP is voice and data sharing the same
Firewalls are a staple of security in today’s IP networks. physical network.
Whether protecting a LAN, WAN, encapsulating a DMZ, or
just protecting a single computer, a firewall is usually would 4.2 Network Address Translation (NAT)
be the first line of defense against attackers. Traffic not NAT is commonly performed by firewalls to conserve IP
meeting the requirements of the firewall is dropped. addresses and hide internal IP addresses/ports from direct,
Processing of traffic is determined by a set of rules external access. This causes issues for VoIP. When VoIP
programmed into the firewall by the network administrator. endpoints negotiate ports for media exchange, they
These may include such commands as “Block all FTP traffic communicate these ports to one another in packet payloads.
(port 21)” or “Allow all HTTP traffic (port 80)”. Much more So a conventional NAT remains unaware of ports selected,
complex rule sets are available in almost all firewalls. A cannot translate them meaningfully and blocks them at the
useful property of a firewall, in this context, is that it firewall. A Real Time Mixed Media (RTMM) firewall uses
provides a central location for deploying security policies. It the Back-to-Back User Agent (B2BUA) to work with the
is the ultimate bottleneck for network traffic because when NAT to rewrite the addresses in the signaling stream,
properly designed, no traffic can enter or exit the LAN providing NAT pathways for the media streams. To do this,
(IJCNS) International Journal of Computer and Network Security, 45
Vol. 2, No. 5, May 2010

the RTMM must be able to perform NAT at media speeds, Intrusion detection is a second line of defense behind other
to prevent latency/jitter or loss of packets [11]. security mechanisms (Firewalls, Encryption). Supplying the
All of the benefits of NAT come at a price. NATs “violate detector engine with application specific knowledge makes
the fundamental semantic of the IP address, that it is a it more effective and powerful.
globally reachable point for communications”. This design An Intrusion Detection System (IDS) helps administrators to
has significant implications for VOIP. For one thing, an monitor and defend against security breaches. Intrusion
attempt to make a call into the network becomes very detection techniques are generally divided into two
complex when a NAT is introduced. The situation is paradigms, anomaly detection and misuse detection. In
anomaly detection techniques, the deviation from normal
analogous to a phone network where several phones have
system behaviors is detected, whereas misuse detection is
the same phone number, such as in a house with multiple
based on the matching of attack signatures. Unlike
phones on one line (see Figure 4). There are also several signature-based intrusion detection, anomaly detection has
issues associated with the transmission of the media itself the advantage of detecting previously-unknown attacks but
across the NAT, including an incompatibility with IPSec at the cost of relatively high false alarm rate.
[4]. Sekar etal introduced a third category of specification-based
intrusion detection. Specification-based approach takes the
manual development of a specification that captures
legitimate system behavior and detects any deviation
thereof. This approach can detect unseen attacks with low
false alarm rate. However, these previous approaches fall
short of defending VoIP applications, because of the cross-
protocol interaction and distributed nature of VoIP.

Figure 4. IP Telephones behind NAT and Firewall [4]

Problem:
• Simple NAT devices, which are not VoIP aware, perform
NAT on the IP headers only.
• VoIP packets contain private IP address in the payload.
• Therefore, VoIP sessions cannot be established.

Solution: Figure 6. IDS Engine sits on or close to the end-point [12]


• Translates both the IP header and the packet’s payload VoIP systems use multiple protocols for call control and
with a routable IP address (Far End NAT) data delivery. For example, in SIP-based IP telephony,
• Media relay until full session establishment. Session Initiation Protocol (SIP) is used to control call setup
and teardown, while Real-time Transport Protocol (RTP) is
Session Border Controller (SBC) for media delivery. A VoIP system is distributed in nature,
consisting of IP phones, SIP proxies, and many other
• SBC’s started as a solution to connectivity problems servers. Defending against malicious attacks on such a
caused by NAT done by non-VoIP aware devices. heterogeneous and distributed environment is far from
• SBC’s are usually used by carriers and located at the trivial [2].
border of their core networks [7].
4.3.1 Cross-protocol Methodology for Detection
Is the IDS which use cross-protocol detection accesses
packets from multiple protocols in a system to perform its
detection. This methodology is suitable to systems that use
multiple protocols and where attacks spanning these
multiple protocols are possible. There is the important
design consideration that such access to information across
protocols must be made efficiently. A VoIP system
incorporates multiple protocols. A typical example is the use
of SIP to establish a connection, followed by use of RTP to
transfer voice data. Also, RTCP and ICMP are used to
monitor the health of the connection. VoIP systems typically
have application level software for billing purposes and
Figure 5. Far End NAT [7] therefore may have accounting software and a database.
Using the cross-protocol methodology for detection, one can
4.3 Intrusion Detection System (IDS) create a cross-protocol rule to look at the SIP messages, the
46 (IJCNS) International Journal of Computer and Network Security,
Vol. 2, No. 5, May 2010

transaction messages between the accounting software and in successfully incorporating IPsec encryption into VOIP
the database, and the RTP flows later on. Specifically, each services.
of the following three conditions must hold [12]. 5.1 IPSec
1. The SIP message should follow the correct format. IPsec is the preferred form of VPN tunneling across the
2. When the accounting software sends out a transaction Internet. There are two basic protocols defined in IPsec:
to denote a call from user A to user B, check if user A has Encapsulating Security Payload (ESP) and Authentication
sent a SIP Call Initialization message to user B. If user A Header (AH) (see Figure 7). Both schemes provide
has not set up the call with a legitimate SIP Call connectionless integrity, source authentication, and an anti-
Initialization message, then this condition will be violated.
replay service. The tradeoff between ESP and AH is the
3. Check the source/destination IP addresses of the
increased latency in the encryption and decryption of data in
subsequent RTP flows. Together with information from
ESP and a “narrower” authentication in ESP, which
DNS and SIP Location Servers, we can reconfirm that each
RTP flow has a corresponding legitimate call setup. normally does not protect the IP header “outside” the ESP
header, although Internet Key Exchange (IKE: Responsible
4.3.2 Stateful Methodology for Detection for key agreement using public key cryptography) can be
A second abstraction useful for VoIP systems in particular is used to negotiate the security association (SA), which
stateful detection. Stateful detection implies building up includes the secret symmetric keys. In this case, the
relevant state within a session and across sessions and using addresses in the header (transport mode) or new/outer
the state in matching for possible attacks. It is important header (tunnel mode) are indirectly protected, since only the
that the state aggregation be done efficiently so that the entity that negotiated the SA can encrypt/decrypt or
technique is applicable in high throughput systems, such as authenticate the packets. Both schemes insert an IPsec
VoIP systems. header (and optionally other data) into the packet for
A VoIP system maintains considerable amount of system purposes, such as authentication [4].
state. The client side maintains state about all the active IPsec also supports two modes of delivery: Transport and
connections – when the connection was initiated, when it Tunnel. Transport mode encrypts the payload (data) and
can be torn down, and what the properties of the connection upper layer headers in the IP packet. The IP header and the
are. The server side also maintains state relevant to billing,
new IPsec header are left in plain sight. So if an attacker
such as the duration of the call.
were to intercept an IPsec packet in transport mode, they
could not determine what it contained; but they could tell
5. Encryption and IPsec where it was headed, allowing rudimentary traffic analysis.
The only focus on security of the network, protecting On a network entirely devoted to VOIP, this would equate to
endpoints, other components, from malicious attacks is not logging which parties were calling each other, when, and
enough for VoIP systems. Firewalls, IDS, NAT, and other for how long. Tunnel mode encrypts the entire IP datagram
such devices can help keep intruders from compromising a and places it in a new IP Packet [9]. Both the payload and
network, but firewalls are no defense against an internal the IP header are encrypted. The IPsec header and the new
hacker in [4]. Another layer of defense is necessary at the IP Header for this encapsulating packet are the only
protocol level to protect the data itself. In VOIP, as in data information left in the clear.
networks, this can be accomplished by encrypting the
packets at the IP level using IPsec. This way if anyone on
the network, authorized or not, intercepts VOIP traffic not
intended for them, these packets will be impossible to
understand. The IPsec suite of security protocols and
encryption algorithms is the standard method for securing
packets against unauthorized viewers over data networks
and will be supported by the protocol stack in IPv6. Hence,
it is both logical and practical to extend IPsec to VOIP,
encrypting the signal and voice packets on one end and
decrypting them only when needed by their intended
recipient.
Also, several factors, including the expansion of packet size,
ciphering latency, and a lack of QoS urgency in the
cryptographic engine itself can cause an excessive amount of
latency in the VOIP packet delivery. This leads to degraded
voice quality, so once again there is a tradeoff between Figure 7. IPsec Tunnel and Transport Modes [9]
security and voice quality, and a need for speed. Fortunately,
the difficulties are not insurmountable. IPsec can be IPSec supports the Triple DES encryption algorithm (168-
incorporated into a SIP network with roughly a three-second bit) in addition to 56-bit encryption. Triple DES (3DES) is a
additional delay in call setup times, an acceptable delay for strong form of encryption that allows sensitive information
many applications. This section explains the issues involved to be transmitted over untrusted networks. It enables
(IJCNS) International Journal of Computer and Network Security, 47
Vol. 2, No. 5, May 2010

customers, particularly in the finance industry, to utilize to require fragmentation and the corresponding reassembly
network layer encryption. of IPSec datagrams.
2. Encrypted packets are probably authenticated, which
means that there are two cryptographic operations that are
Table 1: Encryption Algorithms for VoIP [9] performed for every packet.
3. The authentication algorithms are slow, although work
Encryption Algorithms for IPSec
Type Key Strengt
has been done to speed up things as the Diffie−Hellman
h computations [4].
DES Symmetric 56-bit Weak
3DES Symmetric 168-bit Mediu 5.5 Difficulties Arising from VOIPsec
m
AES Symmetric 128, 192, or 256- Strong IPSec has been included in IPv6. It is a reliable, robust, and
bit widely implemented method of protecting data and
RSA Asymmetric 1024-bit minimum Strong authenticating the sender. However, there are several issues
associated with VOIP that are not applicable to normal data
5.2 The Role of IPSec in VOIP traffic. Of particular interest are the Quality of Service
The prevalence and ease of packet sniffing and other (QoS) issues and some others like latency, jitter, and packet
techniques for capturing packets on an IP based network loss. These issues are introduced into the VOIP environment
makes encryption a necessity for VOIP. Security in VOIP is because it is a real time media transfer, with only 150 ms to
concerned both with protecting what a person says as well as deliver each packet. In standard data transfer over TCP, if a
to whom the person is speaking. IPSec can be used to packet is lost, it can be resent by request. In VOIP, there is
achieve both of these goals as long as it is applied with ESP no time to do this. Packets must arrive at their destination
using the tunnel method. This secures the identities of both and they must arrive fast. Of course the packets must also be
the endpoints and protects the voice data from prohibited secure during their travels. However, the price of this
users once packets leave the corporate intranet. The security is a decisive drop in QoS caused by a number of
incorporation of IPSec into Ipv6 will increase the factors.
availability of encryption, although there are other ways to A study by researchers focused on the effect of VOIPsec on
secure this data at the application level. VOIPsec (VOIP various QoS issues and on the use of header compression as
using IPSec) helps reduce the threat of man in the middle a solution to these problems. They studied several codecs,
attacks, packet sniffers, and many types of voice traffic encryption algorithms, and traffic patterns to garner a broad
analysis. Combined with the firewall implementations, Ipsec description of these effects. Some empirical results
makes VOIP more secure than a standard phone line. It is developed by Cisco are available as well in [4].
important to note, however, that Ipsec is not always a good Delay
fit for some applications, so some protocols will continue to • Processing—PCM to G.729 to packet
rely on their own security features. • Encryption — ESP encapsulation + 3DES
• Serialization — time it takes to get a packet out of the
5.3 Local VPN Tunnels router, each “hop” generally has fixed delay.
Virtual Private Networks (VPNs) are “tunnels” between two • IPsec overhead: about 40 bytes (depending configuration)
endpoints that allow for data to be securely transmitted • IP header: 20 bytes
between the nodes. The IPSec ESP tunnel is a specific kind • UDP + RTP headers: 20 bytes
of VPN used to traverse a public domain (the Internet) in a • RTP header compression: 3 bytes for IP+UDP+RTP
private manner. The use and benefits of VPNs in IPSec have
been great enough for some to claim “VOIP is the killer app
Effects on 8 kbps CODEC (voice data: 20 bytes)
for VPNs”. VPN tunnels within a corporate LAN or WAN
• clear text voice has an overhead of 3 bytes, which
are much more secure and generally faster than the IPSec
suggests required bandwidth of approximately 9 kbps
VPNs across the Internet because data never traverses the
• IPsec encrypted voice: overhead 80 bytes and required
public domain, but they are not scaleable [4]. Also, no
bandwidth 40 kbps
matter how the VPN is set up, the same types of attacks and
issues associated with IPSec VPNs are applicable, so we
5.6 Encryption / Decryption Latency
consider here only the case of IPSec tunneling and assume
The cryptographic engine is bottleneck for voice traffic
the security solutions can be scaled down to an internal
transmitted over IPsec. The driving factor in the degraded
network if needed.
performance produced by the cryptography was the
scheduling algorithms in the crypto-engine itself However,
5.4 Memory and CPU Considerations
there still was significant latency due to the actual
Packets that are processed by IPSec are slower than packets
encryption and decryption.
that are processed through classic crypto. There are several
Encryption/decryption latency is a problem for any
reasons for this and they might cause significant
cryptographic protocol, because much of it results from the
performance problems:
computation time required by the underlying encryption.
1. IPSec introduces packet expansion, which is more likely
With VOIP’s use of small packets at a fast rate and
48 (IJCNS) International Journal of Computer and Network Security,
Vol. 2, No. 5, May 2010

intolerance for packet loss, maximizing throughput is phones is making endpoint encryption less of an issue.
critical. However, this comes with a price, because although
6.2 Secure Real Time Protocol (SRTP)
DES is the fastest of these encryption algorithms, it is also
the easiest to crack [4]. Thus, designers are once again The Secure Real-time Protocol is a profile of the Real-time
forced to toe the line between security and voice quality. Transport Protocol (RTP) offering not only confidentiality,
but also message authentication, and replay protection for
5.7 Expanded Packet Size the RTP traffic as well as RTCP (Real-time Transport
IPsec also increases the size of packets in VOIP, which leads Control Protocol).
to more QoS issues. The increase is actually just an increase SRTP provides a framework for encryption and message
in the header size due to the encryption and encapsulation of authentication of RTP and RTCP streams. SRTP can
the old IP header and the introduction of the new IP header achieve high throughput and low packet expansion.
and encryption information. This leads to several SRTP is independent of a specific RTP stack
complications when IPsec is applied to VOIP. First, the implementation and of a specific key management standard,
effective bandwidth is decreased as much as 63% [4]. Thus but Multimedia Internet Keying (MIKEY) has been
connections to single users in low bandwidth areas (i.e. via designed to work with SRTP.
modem) may become infeasible. The size discrepancy can In comparison to the security options for RTP there are
also cause latency and jitter issues as packets are delayed by some advantages to using SRTP. The advantages over the
decreased network throughput or bottlenecked at hub nodes RTP standard security and also over the H.235 security for
on the network (such as routers or firewalls). media stream data are listed below [4, 12].

5.8 IPsec and NAT Incompatibility SRTP provides increased security, achieved by
• Confidentiality for RTP as well as for RTCP by
IPsec and NAT compatibility is far from ideal. NAT
encryption of the respective payloads;
traversal completely invalidates the purpose of AH because
• Integrity for the entire RTP and RTCP packets, together
the source address of the machine behind the NAT is
with replay protection;
masked from the outside world. Thus, there is no way to
• The possibility to refresh the session keys periodically,
authenticate the true sender of the data. The same reasoning
which limits the amount of cipher text produced by a fixed
demonstrates the inoperability of source authentication in
key, available for an adversary to cryptanalyze;
ESP. We have defined this as an essential feature of
• An extensible framework that permits upgrading with
VOIPsec, so this is a serious problem. There are several
new cryptographic algorithms;
other issues that arise when ESP traffic attempts to cross a
• A secure session key derivation with a pseudo-random
NAT. If only one of the endpoints is behind a NAT, the
function at both ends;
situation is easier. If both are behind NATs, IKE negotiation
• The usage of salting keys to protect against pre-
can be used for NAT traversal, with UDP encapsulation of
computation attacks;
the IPsec packets.
• Security for unicast and multicast RTP applications.

6. Solutions to the VOIPsec Issues SRTP has improved performance attained by


We have raised a number of significant concerns with • Low computational cost asserted by pre-defined
IPsec’s role in VOIP. However, many of these technical algorithms;
problems are solvable. Despite the difficulty associated with • Low bandwidth cost and a high throughput by limited
these solutions it is very important for the establishment of a packet expansion and by a framework preserving RTP
secure implementation of VOIPsec. header compression efficiency;
• Small footprint that is a small code size and data memory
6.1 Encryption at the End Points for keying information and replay lists.
One proposed solution to the bottlenecking at the routers
6.3 Key Management for SRTP – MIKEY
due to the encryption issues is to handle
SRTP uses a set of negotiated parameters from which
encryption/decryption solely at the endpoints in the VOIP
session keys for encryption, authentication and integrity
network. One consideration with this method is that the
protection are derived. MIKEY describes a key management
endpoints must be computationally powerful enough to
scheme that addresses real-time multimedia scenarios (e.g.
handle the encryption mechanism. Though ideally
SIP calls and RTSP sessions, streaming, unicast, groups,
encryption should be maintained at every hop in a VOIP
multicast). The focus lies on the setup of a security
packet’s lifetime, this may not be feasible with simple IP
association for secure multimedia sessions including key
phones with little in the way of software or computational
management and update, security policy data, etc., such that
power. In such cases, it may be preferable for the data be
requirements in a heterogeneous environment are fulfilled.
encrypted between the endpoint and the router (or vice
MIKEY also supports the negotiation of single and multiple
versa) but unencrypted traffic on the LAN is slightly less
crypto sessions.
damaging than unencrypted traffic across the Internet [4].
Fortunately, the increased processing power of newer
(IJCNS) International Journal of Computer and Network Security, 49
Vol. 2, No. 5, May 2010

MIKEY has some important properties in [4]: transmission. In particular, when cIPsec is adopted, the
• MIKEY can be implemented as an independent software average packet size is only 2% bigger, rather than 50%
library to be easily integrated in a multimedia longer plain VoIPsec packets, which makes VoIPsec and
communication protocol. It offers independency of a specific VoIP equivalent from the bandwidth usage point of view.
communication protocol (SIP, H.323, etc.) However, packet loss does have an exacerbated detrimental
• Establishment of key material within a 2-way handshake, effect on packets compressed under the cIPsec scheme.
therefore best suited for real-time multimedia scenarios When packets are lost, they cannot be re-sent and the
There are four options for Key Distribution: endpoints need to resynchronize. However, the time saved in
• Pre-shared key the crypto-engine and the security provided may be well
• Public-key encryption worth this price of this approach [5].
• Diffie-Hellman key exchange protected by public-key
encryption 6.6 Resolving NAT/IPSec Incompatibilities
• Diffie-Hellman key exchange protected with pre-shared- The most likely widespread solution to the problem of NAT
key and keyed hash functions (using an MIKEY extension traversal is UDP encapsulation of IPSec. This
(DHHMAC)) implementation is supported by the IETF and effectively
allows all ESP traffic to traverse the NAT. In tunnel mode,
6.4 Better Scheduling Schemes this model wraps the encrypted IPSec packet in a UDP
Without a way for the crypto-engine to prioritize packets, packet with a new IP header and a new UDP header, usually
the engine will still be susceptible to DoS attacks and using port 500. This port was chosen because it is currently
starvation from data traffic impeding the time-urgent VOIP used by IKE peers to communicate so overloading the port
traffic. A few large packets can clog the queue long enough does not require any new holes to be punched in the
to make the VOIP packets over 150 ms late (sometimes firewall. The SPI field within the UDP-encapsulated packet
called head-of-line blocking), effectively destroying the call. is set to zero to differentiate it from an actual IKE
Ideally, the crypto-engine would implement QoS scheduling communication. This solution allows IPsec packets to
to favor the voice packets, but this is not a realistic scenario traverse standard NATs in both directions. The adoption of
due to speed and compactness constraints on the crypto- this standard method should allow VOIPsec traffic to
engine. One solution implemented in the latest routers is to traverse NATs cleanly, although some extra overhead is
schedule the packets with QoS in mind prior to the added in the encapsulation/decapsulation process. IKE
encryption phase. negotiation will also be required to allow for NAT traversal.
It is not surprising that for voice traffic the crypto-engine The problem still remains that IP-based authentication of
can be a serious bottleneck. Rather than the expected the packets cannot be assured across the NAT, (although
constraints on the crypto-engine throughput, the critical fully qualified domain names could be used) but the use of a
factor turned out to be the impossibility to control and shared secret (symmetric key) negotiated through IKE could
schedule access to the crypto-engine so as to favor real-time provide authentication. It is important to note that IP-based
traffic over regular one. This applies regardless of whether authentication is weak compared with methods using
the scheduler is implemented as a software module or a cryptographic protocols.
hardware component. Therefore, if voice traffic is There are several other solutions to the IPsec/NAT
interleaved with other types of traffic, e.g., ftp or http traffic, incompatibility problem, including Realm-Specific IP
during a secure session, it may happen that the latter RSIP), IPv6 Tunnel Broker, IP Next Layer (IPNL), and UDP
(usually characterized by big packets) is scheduled in the encapsulation. RSIP is designed as a replacement for NAT
crypto-engine before voice traffic. In this case voice traffic and provides a clear tunnel between hosts and the RSIP
might be delayed to the point that packets are discarded Gateway. RSIP supports both AH and ESP, but
most of the times. implementing RSIP would require a significant overhaul of
the current LAN architecture so while it is quite an elegant
6.5 Compression of Packet Size solution, it is currently infeasible. Perhaps as a result of
these problems, RSIP is not widely used. The IPv6 tunnel
Compression of Packet Size turn results in considerably less
broker method uses an IPv6 tunnel as an IPSec tunnel, and
jitter, latency, and better crypto-engine performance. There
encapsulates an IPv6 packet in an IPv4 packet. But this
is, of course, a price for these speedups. The compression
solution also requires LAN upgrades and doesn’t work in
scheme puts more strain on the CPU and memory
capabilities of the endpoints in order to achieve the situations where multiple NATs are used. IPNL introduces a
compression, and, of course, both ends of a connection must new layer into the network protocols between IP and
TCP/UDP to solve the problem, but IPNL is in competition
use the same compression algorithm.
with IPv6 and IPv6 is a much more widely used standard
Efficient solution for packet header compression is known
[4].
as cIPsec, for VoIPsec traffic. Simulation results from
different sources show that the proposed compression
scheme significantly reduces the overhead of packet headers,
thus increasing the effective bandwidth used by the
50 (IJCNS) International Journal of Computer and Network Security,
Vol. 2, No. 5, May 2010

7. Security Threats in VoIP degrading the service. This causes calls to drop prematurely
and halts call processing.
In the early days of VoIP, there was no big concern about
Why would someone launch a DoS attack? Once the target
security issues related to its use. People were mostly
is denied of the service and ceases operating, the attacker
concerned with its cost, functionality and reliability. Now
can get remote control of the administrative facilities of the
that VoIP is gaining wide acceptance and becoming one of
system [10, 12].
the mainstream communication technologies, security has
become a major issue. 7.5 Spamming over Internet Telephony (SPIT)
The security threats cause even more concern when we think If you use email regularly, then you must know what
that VoIP is in fact replacing the oldest and most secure spamming is. Put simply, spamming is actually sending
communication system the world ever known – POTS (Plain emails to people against their will. These emails consist
Old Telephone System). Let us have a look at the threats mainly of online sales calls. Spamming in VoIP is not very
VoIP users face. common yet, but is starting to be, especially with the
emergence of VoIP as an industrial tool.
7.1 Identity and Service Theft Every VoIP account has an associated IP address. It is easy
Service theft can be exemplified by phreaking, which is a for spammers to send their messages (voicemails) to
type of hacking that steals service from a service provider, thousands of IP addresses. Voice mailing as a result will
or use service while passing the cost to another person. suffer. With spamming, voicemails will be clogged and
Encryption is not very common in SIP, which controls more space as well as better voicemail management tools
authentication over VoIP calls, so user credentials are will be required. Moreover, spam messages can carry viruses
vulnerable to theft. and spyware along with them. [10]

Eavesdropping is how most hackers steal credentials and 7.6 Call Tampering
other information. Through eavesdropping, a third party can Call tampering is an attack which involves tampering a
obtain names, password and phone numbers, allowing them phone call in progress. For example, the attacker can simply
to gain control over voicemail, calling plan, call forwarding spoil the quality of the call by injecting noise packets in the
and billing information. This subsequently leads to service communication stream. He can also withhold the delivery of
theft. packets so that the communication becomes spotty and the
Stealing credentials to make calls without paying is not the participants encounter long periods of silence during the
only reason behind identity theft. Many people do it to get call.
important information like business data.
A phreaker can change calling plans and packages and add 7.7 Man-in-the-Middle Attacks
more credit or make calls using the victim’s account. He can
of course as well access confidential elements like voice VoIP is particularly vulnerable to man-in-the-middle
mail, do personal things like change a call forwarding attacks, in which the attacker intercepts call-signaling SIP
number [10]. message traffic and masquerades as the calling party to the
called party, or vice versa. Once the attacker has gained this
position, he can hijack calls via a redirection server [10].
7.2 Vishing
Vishing is another word for VoIP Phishing, which involves
8. Conclusion
a party calling you faking a trustworthy organization (e.g.
This paper provides an overview of the VoIP and of the
your bank) and requesting confidential and often critical issues related to VoIP security. There are numerous
information. challenges to the secure implementation, deployment and
use of the VoIP on a same network which is used to carry
7.3 Viruses and Malware other network data. These challenges are related to the
VoIP utilization involving soft-phones and software are service availability, Quality of Service, Firewalls, Intrusion
vulnerable to worms, viruses and malware, just like any Detection, IPSec, VoIP threats, and privacy. The next step
Internet application. Since these soft-phone applications run for the ongoing research project is to identify specific areas
that will be addressed in the near term research efforts.
on user systems like PCs and PDAs, they are exposed and
vulnerable to malicious code attacks in voice applications.

7.4 DoS (Denial of Service) References


[1] Rinzam A. VoIP: Voice Over Internet Protocol.
A DoS attack is an attack on a network or device denying it Department of Computer Science and Engineering, M
of a service or connectivity. It can be done by consuming its G College of Engineering.
bandwidth or overloading the network or the device’s [2] H. Sengar, D. Wijesekera. Center for Secure Information
internal resources. Systems, George Mason University, Fairfax, USA. H.
In VoIP, DoS attacks can be carried out by flooding a target Wang, S. Jajodia. Department of CS, College of
with unnecessary SIP call-signaling messages, thereby William and Mary, Williamsburg, USA. “IDS: VoIP
(IJCNS) International Journal of Computer and Network Security, 51
Vol. 2, No. 5, May 2010

Intrusion Detection through Interacting Protocol State Authors Profile


Machines”.
[3] M. Marjalaakso. Security Requirements and Constraints Ali Tahir is an MS Scholar at University of
of VoIP. Helsinki University of Technology, Engineering and Technology, Taxila, Pakistan.
Department of Electrical Engineering and He did his B.Sc Software Engineering from
Telecommunications. UET TAXILA in 2005. He has worked in
[4] D. Richard Kuhn, Thomas J. Walsh, and Steffen Fries, Nokia Siemens Network for two years as an
implementation engineer. Currently he is
“Security Considerations for Voice Over IP Systems:
working in cryptography and network security
Recommendations of the National Institute of Standards center at a Government organization. His areas
and Technology” Special Publication 800-58, Sections 8 of interest are digital image processing, computer vision, network
and 9, January 2005. security and wireless communication.
[5] R. Barbieri, D. Bruschi, E. Rosti. Voice over IPsec:
Analysis and Solutions. Department of Science,
University of Milano, Itlay. Asim Shahzad is pursuing his PhD from
[6] G. Egeland, “Introduction to IPsec in IPv6”. University of Engineering and Technology
http://www.eurescom.de/~publicwebdeliverables/P1100 Taxila, Pakistan. He has also completed his
series/P1113/D1/pdfs/pir1/41_IPsec_intro.pdf MS in Computer Engineering from UET
[7] Check Point Software Technologies Ltd. “Check Point TAXILA. He has done MS in
Solution for Secure VoIP”. 2003 - 2007. Telecommunication Engineering from
[8] NAT: Network Address Translation and Voice Over institute of communication technologies,
Internet Protocol. http://www.voip- Islamabad, Pakistan. He is working as
Assistant Professor at UET TAXILA in Telecommunication
info.org/wiki/view/NAT+and+VOIP Engineering Department. His areas of interest are optical
[9] Jeremy Stretch. IPSEC: Internet Protocol Security. communication, Data and network Security.
http://www. packetlife.net
[10] M. Hurley. “VoIP VULNERABILITIES”. Centre for
Critical Infrastructure Protection (CCIP). Information
Note, Issue 06, Wellington, New Zealand, January
2007.
[11] Mark D. Collier. Firewall Requirements for Securing
VoIP, SecureLogix Corporation.www.securelogix.com
[12] Yu-Sung Wu, S. Bagchi. School of Electrical &
Computer Eng, Purdue University, S. Garg, N. Singh,
Tim Tsai, Avaya Labs. “A Stateful and Cross Protocol
Intrusion Detection Architecture for VoIP
Environments”.
52 (IJCNS) International Journal of Computer and Network Security,
Vol. 2, No. 5, May 2010

A Novel Run-Time Memory Leak Detection and


Recovery (MLDR) Using Aging in Physical
Memory Space
Ahmed Otoom1, Mohammad Malkawi2 and Mohammad Alweh3
1
Royal Jordanian Air Force, IT Directorate,
Amman 11134, Jordan
aotoom@rjaf.mil.jo
2
Middle East University
Amman, Jordan
mmalkawi@aimws.com
3
Southern Illinois State University
Carbondale, Illinois, USA
Alweh@siu.edu

Abstract: This paper provides a novel run-time approach for object access is used in SWAT [15]. SWAT is an automatic
memory leak detection and recovery (MLDR) using aging in dynamic memory leak detection tool that traces memory
physical memory space. MLDR algorithm reflects both the allocations/frees to build a heap model and uses an adaptive
physical and virtual behavior of memory allocation and benefits statistical profiling approach to monitor loads/stores to these
from the hardware support available for tracking physical pages objects. Objects that are not accessed for a long time are
in real memory in order to detect leak in virtual address space. reported as leaks. This tool detects leaks with a less than
MLDR detects stale and unreachable memory objects. A
10% false positive rate. Leaks are reported at the end of an
conservative implementation of MLDR recovers only
application run; SWAT can not decide on its own to
unreachable leaky objects in order to avoid the potential false
positives stale objects. MLDR has a coarse granularity in the deallocate them.
sense that it deals with pages rather than memory chunks, thus Different businesses can deal with software failures in
enabling it to avoid costly scans of heap allocation. Simulation different ways. In some cases, system administrators simply
results show the effectiveness of MLDR in detecting and restart the system whenever the memory leaks to a point
recovering memory leaks at run time. where a crash is imminent or performance degrades beyond
an acceptable level. Systems with critical applications can
Keywords: memory leak detection, memory leak recovery, not tolerate the cost of frequent shutdowns or performance
memory aging, and dynamic memory management. degradation. For example, rebooting and restarting the
software systems such as the Patriot Software [3] every 8
1. Introduction hours was responsible for losing lives during the first Gulf
Several approaches for solving memory leak have been War. The consequences of unresolved memory leaks in real-
developed including static analysis tools, dynamic tools, and time systems can have a direct impact on human safety,
automatic dynamic tools. Static analysis tools [1], [7] are security and business sustainability.
used to identify leaks in development environment before This paper introduces a new memory leak detection and
executing the program; they do not cause any run time recovery (MLDR) algorithm. MLDR provides a run-time
overhead. These tools lack dynamic information so they solution; it helps recover leaky objects which results in
produce false positives and can not find all leaks. Some enhancing the system performance and making mission
dynamic tools [10] analyze memory consumption critical programs live longer. The main concept underlying
interactively by inspecting and comparing snapshots of the the design of MLDR is the concept of memory objects aging
heap. They allow for the search for causes of leaked objects in the physical space rather than in the virtual space.
at runtime environments and facilitate the use of garbage Software aging, in general, refers to source contention
collection. Automatic dynamic tools report the leaked issues that can cause performance degradation or can cause
objects and leak sites at the end of the program run. Some systems to hang, panic, or crash. Software aging
tools [4] instrument allocation functions to report immortal mechanisms can include memory leaks, unreleased file
objects. Insure++ [8] uses a reference counting garbage locks, accumulation of unterminated threads, data
collection approach to detect where the last reference to an corruption/round-off accrual, file space fragmentation,
object disappears. Others [11] instrument allocation function shared memory pool latching, and others [6], [13], [14].
and use mark and sweep garbage collectors to capture Parnas [9] documents software aging as a phenomenon
unreachable objects. These tools either miss many leaks or wherein legacy software becomes difficult to maintain as it
incur high overhead cost. Besides operating outside the run ages.
time environment, the current approaches have relatively Aging, in this paper, refers to the time a piece of memory
high overhead cost. The concept of detecting leak based on object remains untouched. A leaky object by definition will
(IJCNS) International Journal of Computer and Network Security, 53
Vol. 2, No. 5, May 2010

begin to age since it will no longer be accessed by any chunks or the page may constitute a portion of one memory
application program. Aging, in this context, can then be chunk.
used to detect memory leakage. Memory leaks and aging The recovery mechanism of the conservative MLDR
refer to objects in the heap virtual space. Detecting leaky identifies unreachable objects from the set of leaky pages.
objects by estimating their age in the virtual space [15] is The remaining objects are stale objects. The unreachable
time consuming. However, detecting the age of a page in the objects are relinquished (freed) and returned to the operating
physical space is much less time consuming and can be done system.
using the already available support for virtual memory MLDR is particularly useful in long lived applications.
systems. MLDR makes use of page aging in the physical As time passes, age accumulates and MLDR will be able to
space to detect actual leaks in the virtual space. Hence, identify a set of unreachable objects. These objects will be
MLDR can be used to detect and recover leaks at run time freed which makes enough room for new allocations and
reducing the risk of performance degradation or crashes. enables the program to continue execution. Another
This paper is organized as follows. Section 2 presents the consequence of memory leak is thrashing. Memory leak can
new memory leak detection and recovery algorithm cause extreme low locality of reference as live objects are
(MLDR). Section 3 presents a simulation model to measure dispersed over a large virtual address space. MLDR will
the performance and effectiveness of MLDR. Section 4 relinquish unreachable locations causing the operating
presents a summary of the conclusions. system to reuse these locations and enhance the locality of
reference as a result.
2.2 Description of MLDR
2. Memory Leak Detection and Recovery
Once a memory object has leaked, it will no longer be
(MLDR) Using Aging in Physical Memory accessed by the application program. Hence, a leaky
memory object will begin to age. Aging, in this context, is
2.1 Background
related to the time a piece of memory remains untouched. In
A memory object is said to have leaked if it is not freed by virtual memory computer systems, memory allocation is
the program or the system after it becomes no longer used or done both at the virtual and physical levels. A memory
accessible. The main job for a memory leak detector is to leakage in the virtual space will render the corresponding
determine whether an object has leaked at a given point of mapped physical memory in a “page-out status”. A page-out
time. In most general terms, memory leak occurs because of status makes a page in the physical memory a target for the
1) unreachable objects: a program either unintentionally or replacement policy that swaps the target page out to disk.
maliciously neglects to free heap-allocated objects and Going backward, a swapped out page can correspond, but
therefore these objects are lost. In this case, there is no not necessarily, to a leaked chunk in the virtual space. We
reference chain for these objects from the root set starting define “the age of a page” as the time elapsed since the page
from global and stack variables and 2) useless objects: a is swapped out from the physical to the virtual space. More
program maintains references to objects which are never precisely, the age of a page begins to accumulate from the
used again. time a page is marked by the replacement policy as a target
The memory leak detection and recovery (MLDR) for replacement. Note that a page may remain in the
algorithm is able to detect both types (unreachable and physical space for a long time after it has been marked as a
useless/stale objects). In this paper, we present two versions replaceable page. A memory chunk will be considered a
of MLDR; a conservative one which recovers only candidate leak if the age of the page to which it belongs
unreachable objects, and a liberal version which recovers exceeds a certain limit (threshold). This threshold can be
both unreachable and stale objects. The conservative either user-defined or tuned by a telemetry tool.
approach does not produce false positives, i.e, falsely Memory leak detection policies can rely on memory
identified leaks. The liberal approach produces false aging either in the virtual or physical space. Aging in the
positives, mostly related to stale objects. Recovering stale virtual space is more accurate than aging in the physical
objects without incurring false positives is more complicated space; however, using the concept of physical space aging
and requires significant architectural changes, and will not has several advantages. The physical space is much smaller
be discussed in this paper. than the virtual address space, which makes the time
MLDR has a coarse granularity in the sense that it deals required to scan for leaky pages much less than the time
with pages instead of memory chunks. Hence, we introduce needed to search for leaky chunks in the virtual space. Also,
the term “leaky page” where a leaky page is a page which tracing the age of a page in the physical space can greatly
contains potentially leaky chunks. A leaky page may contain benefit from the available hardware support for virtual
any combination of the following types of objects: 1) memory organization such as page tables and address
unreachable objects and 2) stale objects. In the context of translation buffers. Of course, the age of a page in the
this paper, stale objects are objects that have not been physical space may not be entirely due to the behavior of the
accessed for a given period of time. They are either a) owner of the page; it might well depend on the behavior of
useless objects or b) active but have not been referenced for other programs as well as on the page replacement policy
that period of time. In our approach, the MLDR leak (LRU, FIFO, OPT, LFU) [12] deployed by the operating
detection mechanism identifies the potential leaky pages. system.
Depending on the page size and the sizes of allocated It should be noted that several chunks, whose sizes are
memory chunks, a page may contain several memory smaller than a page, may be mapped to one physical page. If
54 (IJCNS) International Journal of Computer and Network Security,
Vol. 2, No. 5, May 2010

only one of these chunks remains active, while the other of the allocated chunk, its size and a flag. The flag is
chunks have leaked, then the corresponding page will be initially set to one, indicating that the object is alive and
considered active and the leaks in that page will not be reachable. The flag is reset to zero by the
detected; this case is known as “false negative”. We show in StalenessRecovery() function as a result of scanning the
this paper how the problem of false negatives can be stack and registers. If a memory chunk in the MallocTable
reduced. is not matched by any address value in the stack and address
registers, then the corresponding flag is set to zero, and the
2.3 MLDR Algorithm Main Functions
chunk is deemed unreachable.
MLDR algorithm utilizes the following functions: Main(), (b) free() Function
Initialize(), Bookkeeping(), StalenessDetector(), Before deallocating a chunk of memory and exiting, the
StalenessRecovery(), and new versions of malloc() and free() free() function removes the deallocated chunk from the
functions. MallocTable; these are objects with flag value reset to zero.
2.3.1 Main() and Initialize() Functions 2.3.4 StalenessDetector() Function
The “main()” function of the algorithm keeps iterating over The StalenessDetector() traverses the page table of a given
monitored processes. Main() calls two functions: Initialize() process in order to identify leaky pages. It identifies all
and Bookkeeping(). For each monitored process, the pages whose age has exceeded the page age threshold
Initialize() function sets some user-configurable parameters (PAT). Note that any identified page at this phase is
that affect the behavior of the MLDR algorithm. These considered to be only a candidate leaky page, meaning that
parameters can be user-configurable or they can be it may or may not contain leaky chunks. A memory chunk
automatically tuned using a telemetry tool. These contained in a leaky page could in fact be active, but has not
parameters are: upper heap size threshold(UHST), lower been referenced for a relatively long time, such that the
heap size threshold(LHST), staleness detector sleeps aging algorithm marked their corresponding page as a leaky
time(SDST), and a normalized parameter(K). The UHST is page; this is a case of “false positive”.
used to initiate the leak detection process once the size of 2.3.5 StalenessRecovery() Function.
the heap for the monitored process exceeds the UHST limit. StalenessRecovery() works on the set of identified leaky
The LHST is used to suspend the detection and recovery pages(aged pages). Its main task is to remove unreachable
process once the current heap size drops below LHST. The objects, given that a leaky page is found to include a leak. In
SDST is the time (in milliseconds) a StalenessDetector() order to identify the set of chunks in a leaky page, the
will wait between any two successive scans to the page table StalenessRecovery() intersects the MallocTable with the
of a given process. The page age threshold(PAT) is used to range of addresses in that page [page_number *
identify aged pages. When the age of a page exceeds PAT, it PAGE_SIZE, (page_number+1)*PAGE_SIZE-1]. The result
will be marked as a candidate leaky page. PAT is calculated of intersection (working set), will contain the potential leaky
dynamically as an accumulated average and is fine-tuned chunks. Unreachable chunks in the working set will be
using the K parameter. identified by scanning the roots (static, stack, and registers)
2.3.2 Bookkeeping() Function searching for reachable objects in the given set of leaky
The page table is augmented with a new entry called pages. Once reachable objects are identified, the remaining
timestamp(TS). For every victim page selected from the objects in this set are definitely unreachable. Identified
mapped physical space, the bookkeeping() function unreachable chunks are passed to the free function to be
timestamps the corresponding page in the virtual address deallocated from the virtual address space and from the
space by setting the TS to the current time. The TS is used MallocTable, respectively. The remaining chunks in the
to calculate the age of a page. Whenever a page is paged working set are stale objects. The conservative version of
back into physical memory, the TS entry is reset to zero. MLDR ignores all stale objects in order to avoid running the
Pages whose TS value is larger than zero begin to age as risk of false positives.
time progresses.
2.3.3 Memory Allocation and Deallocation Functions 2.4 False Positives and False Negatives
For implementation purposes, we need to modify memory 2.4.1 False Positives
allocation and deallocation functions, e.g., malloc() and One of the main problems in memory leak detection tools is
free(). Other functions are treated in a similar manner, and the potential error known as “false positives”. In other
hence will not be provided in this paper. words, a detected leak is not a real leak. Since MLDR is a
run-time solution it is not recommended to deallocate
(a) malloc () Function
chunks which may turn out to be false positives. This is
The malloc() function incorporates two major changes especially true for systems running critical applications.
before it returns a pointer to the newly allocated memory Referencing an object after it has been removed or
chunk. The first, Malloc() checks the heap size and if the deallocated leads to incorrect results or program crash.
UHST is reached, it invokes the StalenessDetector(). The MLDR identifies potential leaky pages which might contain
StalenessDetector() is suspended when the heap size reaches false positive objects. In order to avoid the consequences of
the lower limit LHST. This modification to malloc() helps false positives, the set of leaky pages are passed to the
reducing the overhead associated with leak detection and StalenessRecovery() which identifies and recovers
recovery. unreachable objects. Of course, the leaky but reachable
The latter, the execution of malloc() updates the entries (stale) objects will persist in the system and will be counted
of a table called “MallocTable” which includes the address as false negatives. The liberal approach would consider all
(IJCNS) International Journal of Computer and Network Security, 55
Vol. 2, No. 5, May 2010

objects in a leaky page as real leaks. This approach will replacement and the current time is written into its
reduce the number of false negatives at the expense of corresponding page table entry (TS).
generating false positives. One way of eliminating the Memory allocation and deallocation are made using the
negative impact of false positives is to keep a copy of modified malloc() and free() functions as explained earlier.
removed objects on disk, such that the copy can be recovered For memory access event, we developed a function that
and reused in case the removed object is dereferenced. This simulates demand paging with global replacement strategy.
approach will not be further investigated in this paper. The bookkeeping part of the algorithm is implemented
within the scope of the page replacement policy. The
2.4.2 False Negatives simulator implements the least recently used (LRU) strategy.
False negatives are leaky chunks that go undetected. Note
that a page allocated to physical memory may consist of one Run the
start Make necessa ry cha nges
benchmark
or more memory objects in the heap virtual space. If at least
one of these objects remains active, then the corresponding Create trace
page may never age and the MLDR will not be able to files
identify it as a leaky page. As a result, the leaky objects,
which happen to be allocated to the same page, will go Read one NO
undetected. This phenomenon will result in false negatives, trace file a t a
time
i.e., undetected leaky objects.
MLDR may reduce the number of false negatives by Validate trace file using
decreasing the page age threshold allowing more pages to be universally available if results
tools mtrace() and are valid
identified as leaky at the expense of increasing the overhead dma lloc
cost. The number of false negatives can be further reduced Yes
by choosing a smaller page size such that the number of
independent objects allocated to the same page will be Leak injection
small. Also, in the conservative implementation of the
algorithm, where only unreachable objects are detected, the
stale objects will go undetected and they will count towards No more traces
the false negatives. The liberal approach, which treats all While there Print output
are more parameters
objects in a leaky page as real leaks, eliminates this type of traces
false negatives at the risk of running into false positives.
end

3. Performance Evaluation Determine next event

A trace-driven simulation is used to evaluate the MLDR


Memory alloca tion event
algorithm. Figure 1 shows an abstract block diagram for the
top-level of the simulation program. The trace-driven Memory Dea llocation event
simulation program consists of: trace data collection, leak
injection, and MLDR modeling. Data collection is carried Load/store event
out using synthetic benchmarks which simulate the behavior
of real application programs in terms of memory allocation, Figure 1. Trace-driven simulation model
deallocation, and referencing. The benchmarks are validated
against well known tools such as mtrace() [5] and dmalloc() The next event in the simulator is determined by the next
[2]. Leak injection is simulated by disabling some free() row in the trace file. Each row contains a sign, return
functions in the trace files. address, and a size. A “+” means allocation, and “-”means
Unreachable objects will age because they are no longer deallocation. The remaining values represent the return
accessed by the application and they will be detected by the address in hexadecimal format and the size of each allocated
MLDR aging algorithm. The injected leak is known in or deallocated chunk. The distribution of malloc(), free()
advance, so the MLDR effectiveness will be determined and memory access are controlled as random processes with
based on how much of the injected leak is recovered. different probability distribution functions. This gives the
The simulator iterates over a given trace file. At each simulator flexibility to model real life applications; where
iteration, the simulator processes one of three events: memory allocation and deallocation are process dependent.
memory allocation, memory free, or memory access 3.1 Results and Discussion
(load/store). Allocating memory results in increasing the
Figure 2 shows the growth of the heap size for process (P0)
heap size and consuming virtual address space. Freeing
and process (P1), where MLDR is turned off and on
memory saves virtual address space. A memory reference to
respectively. The heap size for P0 continues to grow beyond
a page that has been allocated to physical memory requires
the maximum allowed upper limit; in real life, the program
no further action. A reference to a page not allocated to
will not be able to run beyond (t1), where the allocated heap
physical memory results in a page fault. The required page
size equals the maximum heap size. With MLDR turned on,
is paged-in and its time stamp (TS) is reset to zero. If the
P1 continued to run until (t2) before the allocated heap size
main physical memory is full, a victim page is selected for
exceeds the upper limit threshold. The figure shows how P1
56 (IJCNS) International Journal of Computer and Network Security,
Vol. 2, No. 5, May 2010

heap allocation oscillates between the upper and lower heap running the risk of false positives which if exist can cause
size thresholds, due to the activation and deactivation of the the system to fail. The conservative implementation is
StalenessDetector() and StalenessRecovery() functions. This preferred when the system runs critical applications. The
experiment shows how MLDR extends the life of a process liberal implementation may be used in systems running less
due to keeping the allocated heap size below an upper limit critical applications or systems used for testing applications
threshold. before deployment.
Time Vs Heap size Page Age Threshold Vs
MaxHeapSize False Positives
Upper_Heap_Size_Threshold
(80%)
Lower_Heap_Size_Threshold
(50%)
Heap size

Number of False Positives


S t1 ∆t t2 Page_Age_Threshold

Figure 4. Page age threshold vs. false positives


Time
Figure 5 shows the overhead cost of running the MLDR
Figure 2. Time vs. heap size
algorithm. The overhead measures the time spent on
executing the StalenessDetector, StalenessRecovery,
Figure 3 shows the impact of the page age threshold on
bookkeeping, memory allocation, and memory deallocation.
the number of false negatives. As expected, the number of
The overhead cost is dominated by the cost of the detection
false negatives increases with the increase in the page age
and recovery functions. As expected, the overhead cost is
threshold. With relatively small page age, many pages will
smaller for larger values of the page age threshold.
be identified as potential leaks. All unreachable objects will
be identified. Stale but reachable objects will persist in the
Page Age Threshold Vs
system. In the conservative implementation of the Overhead
algorithm, only unreachable objects will be removed from
the system. For relatively large age threshold, the number of
pages which are deemed leaky is relatively small. As a
result, smaller number of leaks will be detected.
Overhead Cost

Page Age Threshold Vs False Negatives


False Negatives
Number of

Page_Age_Threshold

Figure 5. Page age threshold vs. overhead cost


Page_Age_Threshold
4. Conclusions
We have described a new approach for memory leak
Figure 3. Page age threshold vs. false negatives detection and recovery (MLDR) using aging in physical
memory. This algorithm reflects both the physical and
The liberal implementation of the algorithm allows the virtual behavior of memory allocation and benefits from the
system to treat all objects contained in pages whose age has hardware support available for tracking physical pages in
surpassed the age threshold as real leaks. This real memory. MLDR is shown to follow a conservative
implementation is less costly because it does not require a approach in removing unreachable objects. A liberal MLDR
scan of the stack and registry entries. However, it runs the detects stale objects at the expense of running the risk of
risk of generating false positives, especially for smaller false positives. The conservative MLDR produces no false
values of age threshold. positives and the number of false negatives can be
Figure 4 shows the number of false positives versus the minimized, albeit at more overhead cost. The false negative
age threshold. The advantage of this implementation is that rates and overhead cost were shown to be highly dependent
it detects all type of leaks without having to incur the cost of on the user-configurable input parameters. MLDR is
scanning the stack and registry. The disadvantage though is recommended for mission critical, server, or long live
(IJCNS) International Journal of Computer and Network Security, 57
Vol. 2, No. 5, May 2010

applications that need to run 24x7. The trace-driven


simulation results have shown that the MLDR is capable of Authors Profile
removing unreachable objects and providing more room for
new allocations which makes the applications avoid or delay Dr. Ahmed Otoom received his Ph.D.
imminent crashing. degree in Computer Science from
Amman Arab University in 2007, dual
References M.S. degrees in Computer Science and
[1] William R. Bush, Jonathan D. Pincus, and David J. Information Technology Management
Sielaff, “A Static analyzer for finding dynamic from Naval Postgraduate School, CA in
programming errors,” In Software Practice and 2000 and a B.S. degree in Computer
Experience, 2000. Science from Mutah University in 1992.
[2] “Debug Malloc Library,” [Online]. Available: During 1992-2010, he worked as a system analyst,
http://dmalloc.com/. [Accessed: Jan 20, 2010]. developer, and researcher for the IT Directorate in Royal
[3] E. Marshall, “Fatal Error: How Patriot Overlooked a Jordanian Air Force (RJAF). During the same period, he
Scud,” Science, page 1347, March 13, 1992. also taught many computer science classes in the Air Force
[4] Erwin Andreasen and Henner Zeller. “LeakTracer,” Technical College and Alzaytoonah University of Jordan,
[Online]. Available:Http://www.andreasen.org/ respectively. His major areas of interest are in operating
leakTracer/ . [Accessed: Mar 20, 2003]. systems and interoperability in large heterogeneous
[5] “GNU C Library,” [Online]. Available: information systems.
http://www.gnu.org/software/libc/manual/html_node/
Allocation-Debugging.html, [Accessed: Feb 14, 2010]. Dr. Mohammad Malkawi received
[6] K. C. Gross, V. Bhardwaj, and R. Bickford, “Proactive his Ph.D. degree in computer
Detection of Software Aging Mechanisms in engineering from the University of
Performance Critical Computers,” Software Illinois at Urbana-Champaign in
Engineering Workshop, 2002. Proceedings. 27th 1986. He received his BS and MS in
Annual NASA Goddard/IEEE, 2002. computer engineering in 1980 and
[7] David L. Heine, and Monica S. Lam, “A Practical 1983. He was a member of the High Productivity Computing
Flow-Sensitive and Context-Sensitive C and C++ Systems team at SUN Microsystems, and the high
Memory Leak Detector,” In ACM SIGPLAN availability platform team at Motorola. Currently, he is
conference on Programming Language Design and associate professor at Middle East University in Jordan.
Implementation (PLDI), 2003.
[8] “Parasoft Insure++,” [Online]. Available: Dr. Mohammad Alweh received his
http://www.parasoft.com/jsp/products/home.jsp?produc Ph.D. degree in electrical and
t=Insure&. [Accessed: Mar 15, 2010]. computer engineering from Southern
[9] D. L. Parnas, "Software Aging", Proc. 16th Int. Conf. Illinois University in 2010. He
on Software Eng., Sorento, Italy, IEEE Press, pp. 279- received his BS and MS in computer
287, May 16-21/94. engineering from SIU. Dr. Alweh
[10] “Quest JProbe Memory Debugger,” [Online]. worked at Motorola between 1999 and
Available: http://www.quest.com/jprobe/. [Accessed: 2003 in the network infrastructure
Apr 10, 2010]. group. His interests include computer architecture, software
[11] R. Hasting and B. Joyce, “Purify: Fast Detection of engineering, and system reliability.
memory leaks and access errors,” In Proceedings of
the Winter USENIX Conference, pages 125-136, 1992.
[12] A. Silberschatz, P. Galvin, and G. Gagne, Operating
System Concepts, 7th edition, John Wiley and Sons,
2005.
[13] K. S. Trivedi, K. Validyanathan, and K. Goseva-
Postojanova, "Modeling and Analysis of Software
Aging and Rejuvenation,” Proc. 33rd Annual
Simulation Symp., pp. 270-279, IEEE Computer
Society Press, 2000.
[14] K. Validyanathan, R. E. Harper, S. W. Hunter, and
K. S. Trivedi, “Analysis and Implementation of
Software Rejuvenation in Cluster Systems,” ACM
Sigmetrics 2001/Performce 2001, June 2001.
[15] T. M. Chilimbi, and M. Hauswirth, “Low-Overhead
Memory Leak Detection Using Adaptive Statistical
Profiling,” ACM, 2004.
58 (IJCNS) International Journal of Computer and Network Security,
Vol. 2, No. 5, May 2010

Adaptive Modulation Techniquesfor WIMAX


B.Chaitanya1, T.Sai Ram Prasad2, K.Sruthi3 and T.Tejaswi4
1
Lecturer, E.C.E DEPT V.R.Siddhartha Engineering College, Vijayawada
E-mail:bchaitanya55@gmail.com, bchaitanya_55@yahoo.co.in

2
M.Tech student V.R.Siddhartha Engineering College, Vijayawada
E-mail:srp.tummala@gmail.com, srp.tummala@rocketmail.com

3
B.Tech student V.R.Siddhartha Engineering College, Vijayawada
E-mail:sruthi_rockz@yahoo.com,

3
B.Tech student V.R.Siddhartha Engineering College, Vijayawada
E-mail:tejaswi.tummala@gmail.com,

Abstract: The advancements in broadband and mobile substitute other broadband technologies competing in the
communication has given many privileges to the subscribers for same segment and will become an excellent solution for the
instance high speed data connectivity, voice and video deployment of the well-known last mile infrastructures in
applications in Economical rates with good quality of services. places where it is very difficult to get with other
WiMAX is an eminent technology that provides broadband and technologies, such as cable or DSL, and where the costs of
IP connectivity on “last mile” scenario. It offers both line of deployment and maintenance of such technologies would
sight and non-line of sight wireless communication. Orthogonal
not be profitable. In this way, WiMAX will connect rural
frequency division multiple access is used by WiMAX on its
physical layer. Orthogonal frequency division multiple accesses
areas in developing countries as well as underserved
use adaptive modulation technique on the physical layer of metropolitan areas. It can even be used to deliver backhaul
WiMAX and it uses the concept of cyclic prefix that adds for carrier structures, enterprise campus, and Wi-Fi hot-
additional bits at the transmitter end. The signal is transmitted spots. WiMAX offers a good solution for these challenges
through the channel and it is received at the receiver end. Then because it provides a cost-effective, rapidly deployable
the receiver removes these additional bits in order to minimize solution [3]. Additionally, WiMAX will represent a serious
the inter symbol interference, to improve the bit error rate and competitor to 3G (Third Generation) cellular systems as
to reduce the power spectrum. high speed mobile data applications will be achieved with
In this paper, we investigated the physical layer the 802.16e specification. The original WiMAX standard
performance on the basis of bit error rate, signal to noise ratio, only catered for fixed and Nomadic services. It was reviewed
and error probability. These parameters are discussed in two to address full mobility applications, hence the mobile
different Models. The first model is a simple OFDM
WiMAX standard, defined under the IEEE 802.16e
communication model without the cyclic prefix, while the
second model includes cyclic prefix. specification. Mobile WiMAX supports full mobility,
nomadic and fixed systems [4]. It addresses the following
Keywords: WiMAX, wireless communication, physical layer. needs which may answer the question of closing the digital
divide:
• It is cost effective.
1. Introduction • It offers high data rates.
• It supports fixed, nomadic and mobile applications
The demand for broadband mobile services continues to thereby converging the Fixed and mobile networks.
grow. Conventional high-speed broadband solutions are • It is easy to deploy and has flexible network architectures.
based on wired-access technologies such as digital • It supports interoperability with other networks.
subscriber line (DSL). This type of solution is difficult to • It is aimed at being the first truly a global wireless
deploy in remote rural areas, and furthermore it lacks broadband network.
support for terminal mobility. Mobile Broadband Wireless
Access (BWA) offers a flexible and cost-effective solution to 1.1 Adaptive Modulation Techniques in WiMAX
these problems [1].The IEEE WiMax/802.16 is a promising
technology for broadband wireless metropolitan areas The basic idea of Adaptive Modulation is to adapt
networks (WMANs) as it can provide high throughput over different modulation techniques when a wireless
long distances and can support different qualities of communication system experiences fading and variations on
services. WiMax/802.16 technology ensures broadband the link. WiMAX takes full advantage of link adaptation
access for the last mile. It provides a wireless backhaul technique along with coding. This scheme is quite simple, if
network that enables high speed Internet access to the link condition is not good, WiMAX system changes the
residential, small and medium business customers, as well modulation automatically. Hence, real time application such
as Internet access for WiFi hot spots and cellular base as video and voice can run continuously by varying the
stations [2]. It supports both point-to-multipoint (P2MP) and modulation, the amount of data transferred per signal also
multipoint-to-multipoint (mesh) modes. WiMAX will varies, i.e., deviation in throughputs and spectral
(IJCNS) International Journal of Computer and Network Security, 59
Vol. 2, No. 5, May 2010

efficiencies. For instance, 64 QAM is capable of delivering


much higher throughput as compared to QPSK. For using
higher modulation, SNR should be optimum to overcome
noise and interference in the channel. Lower data rates are
accomplish by means of BPSK & QPSK constellations along
with ½ rate convolution error correcting codes. Here it
means that the system generates two codes for transmission
of one bit. Whereas higher data rates are achieved by using
16 QAM & 64 QAM constellations together with. ¾ rate
convolution or LDPC error correcting codes. So QPSK
provide the lowest throughput and 64 QAM ensures highest
throughput.

1.2 Simulation

In our simulation work we investigated the behavior of Figure 1. Model – 1 OFDM transmitter simple model
adaptive modulation technique of WiMAX. The adaptive
modulation used following modulation techniques for
modulating and demodulating the signal:

• Binary Phase Shift Keying (BPSK)


• Quadrature Phase Shift Keying (QPSK)
• 16 - Quadrature Amplitude Modulation (16-
QAM)
• 64 - Quadrature Amplitude Modulation (64-
QAM)

Based on these modulation techniques the following


parameters were investigated.

•B
 it Error Rate (BER) Figure 2. Model – 2 (Model with Cyclic Prefix)
•S ignal to Noise Ratio (SNR) Mersenne Twister - Random Number Generator (RNG)
•P  robability of Error (Pe) Algorithm

The key points, in the simulations are: Mersenne twister is a random number generator that
generates the random number by using the pseudorandom
• Mat lab 7.4.0 (R2007b). algorithm. The generator is composed of a large linear
• Mersenne Twister - Random Number feedback shift register and provides some excellent output
Generator (RNG) Algorithm statistical properties. Mersenne twister - RNG comprises a
• Noise is characterized as Gaussian seed value which is 19,937 bits long and the value is stored
• Fading is characterized as Rayleigh in 624 element array. Mersenne twister has a period of
2^19937 – 1. Mersenne Twister is basically implemented in
Probability distribution function. C language and utilizes the memory in an efficient way. In
Matlab this algorithm is used in rand function which is used
• Cyclic prefix is used to generate the input of random number for scientific
• All the plotting is done to evaluate the applications
Performance on the basis of BERVs
SNR. 3. Simulation Results

OFDM BER Simulation and Adaptive Modulation


2. Simulation Model Technique the simulation result based on the adaptive
modulation technique for BER calculation was observed in
There are two types of model that were used in this section. The adaptive modulation techniques used in the
the simulation. The first model is a simple model while the WiMAX are BPSK, QPSK, 16-QAM, 64-QAM and 256-
other comprises on cyclic prefix. QAM respectively. We use all modulation techniques in
order to get the results on different models.
OFDM with Adaptive Modulation Techniques in
PURE AWGN. The initial results observed in the pure
AWGN channel condition using adaptive modulation
60 (IJCNS) International Journal of Computer and Network Security,
Vol. 2, No. 5, May 2010

techniques and compared the performance of these


techniques while using the 256 multicarrier OFDM waves.

Figure 5. OFDM with Adaptive Modulation Techniques in


AWGN + Rayleigh Fading Channel with Cyclic Prefix (CP)
Figure 3. OFDM with Adaptive Modulation Techniques in
PURE AWGN

3.1 Theoretical Values of BER using Adaptive 4. Probability of Error (Pe) for Adaptive
Modulation Techniques in OFDM Modulation
The theoretical value of BER with respect to adaptive The Probability of Error (Pe) is the assumption of the
modulation techniques in the presence of pure AWGN is rate of the error that introduce in the system because of
used to estimate the theoretical value of SNR with 256 sub noise and fading effects in the channel and also due to the
carriers cable losses at transmitter and the receiver ends. The
Probability of Error for M-ary PSK has been calculated
using the following formula:

Also for M-ary QAM the error probability given as:

Figure 4. Theoretical Values of BER using Adaptive


Modulation Techniques in OFDM (CP)

3.2 OFDM with Adaptive Modulation Techniques in


AWGN + Rayleigh Fading Channel with Cyclic
Prefix

There is another model which consists on AWGN and


Rayleigh Fading Channel with the addition of Cyclic Prefix Figure 6. Probability of Error (Pe) for Adaptive
(CP) at the transmitter as well as receiver end. We Modulation
investigate the effects of CP while using adaptive
modulation techniques and compared the performance of 5. Conclusion
OFDM symbols in terms of BER and SNR
We concluded that BPSK is more power efficient and
need less bandwidth amongst all other modulation
techniques used in an OFDM adaptive modulation. In case
of bandwidth utilization the 64 and 256QAM modulation
(IJCNS) International Journal of Computer and Network Security, 61
Vol. 2, No. 5, May 2010

requires higher bandwidth and gives an excellent data rates


as compared to others. While the QPSK and the 16QAM
techniques are in the middle of these two and need higher
bandwidth and less power efficient than BPSK. But they
required lesser bandwidth and lower data rates than
64QAM. Also, BPSK has the lowest BER while the 64-
QAM has highest BER than others.

There are other aspects as well that we conclude:

1 The inclusion of the Cyclic Prefix reduces the Inter


Symbol Interference (ISI) that causes the lower BER in the
OFDM system but increases the complexity of the system.

2. Model with CP requires high power as compared to the


non-CP model.
In future, adaptive modulation technique and
OFDMA as physical layer will be adapted by Long Term
Evaluation (LTE) and High Altitude Platform (HAP)

References
[1] Mai Tran, George Zaggoulos, Andrew Nix and
Angela Doufexi,” Mobile WiMAX Performance
An a l ysi s an d Compar i son with Experimental
Results”
[2] J. El-Najjar, B. Jaumard, C.Assi, “Minimizing
Interference in WiMax/802.16 based Mesh
Networks with Centralized Scheduling”,
Global Telecommunications Conference, 2008.
pp.1-6. http://www.intel.com/netcomms
/technologies/WiMAX/304471.pdf
[3] Intel white paper, Wi-Fi and Wimax Solution:
“Understanding Wi-Fi and Wimax as
Metro-Access Solution, “Intel Corporation
2004.
[4] A. Yarali, B. Mbula, A. Tumula, “WiMAX:
A Key to Bridging the Digital Divide ”IEEE
Volume, 2007, pp. 159 – 164.
[5] WiMAX Forum, “Fixed, Nomadic, Portable and
Mobile Applications for 802.16-2004 and
802.16eWiMAXNetworks”, November,
2005.
[6] T.TAN BENNY BING, "The World Wide Wi-
Fi: Technological Trends and B u s i n e s s
Strategies", J O H N W I L E Y & S O N S , INC.,
2003
[7] M. Nadeem Khan, S. Ghauri, “The WiMAX
802.16e Physical Layer Model”, IET
International Conference on Volume, 2008, pp.117
– 120.
[8] Kavesh Pahlavan and prashant Krishna Murthy
“Principles of Wireless Network “Prentice-Hall, Inc.,
2006
[9] Yango Xiao, “Wimax/Mobile”MobileFi Advanced
Research and Technology Auerbach publications,
2008.
62 (IJCNS) International Journal of Computer and Network Security,
Vol. 2, No. 5, May 2010

Performance of DSR Protocol over Sensor


Networks
Khushboo Tripathi1, Tulika Agarwal2 and S. D. Dixit3
1
Department of Electronics and Communications
University of Allahabad, Allahabad-211002, India
khushboo83@live.com
2
Department of Electronics and Communications
University of Allahabad, Allahabad-211002, India
tulikabbs09@gmail.com

Abstract: Routing protocols play crucial role in determining


performance parameters such as throughput parameter, packet 2. Related Work
delivery fraction, end to end (end 2 end) delay, packet loss etc. of Dynamic Source Routing (DSR) Protocol: DSR is
any ad hoc communication network. In this paper the
characterized by source routing i.e. sender knows the
performance of DSR protocol in sensor network of randomly
complete hop-by-hop route to the destination. It emphasizes
distributed static nodes with mobile source node is investigated
with source velocities 10, 20, 40 and 60 m/sec. and node the aggressive use of route caches that store full paths to the
densities 40-100 nodes/km2 . On varying velocity it is observed destination as given in figure1 (a) & (b) [2,7 ]. This protocol
that throughput of received packets is higher which reduces the has the advantages of loop-free routing and avoidance of the
overheads in the network. The delivery ratio is also maximum need for up-to-date routing information in the intermediate
except at node density 60/km2.When the number of dropped nodes.
packet is considered the average end to end delay is decreases
except at 80 nodes/km2 and so throughput is high. Hence DSR
performs better in this scenario and reduces minimum
overhead.

Keywords: Sensor Networks, DSR, Node Density.

1. Introduction
The recent development in small embedded sensing devices
and the wireless sensor network technology has provided
Figure1 (a). RREQ Broadcast
opportunities for deploying sensor networks to a range of
applications such as environmental monitoring, disaster
management, tactical applications etc [1].Main requirement
for such application is that motes carrying onboard sensors
should be physically small, low power consuming and
include wireless radio.
For data collection a straight forward solution is that each
mote transmits its data to a centralized base station.
However in such cases the energy requirement of each node
would be large which reduces mote life and also there would
Figure1 (b). RREP Propagation
be interference problem. Alternative approach for harvesting
data from sensor fields uses mobile data collector such as
It is composed of two main mechanisms: Route Discovery
robots which move in the sensor field to collect data and
and Route Maintenance. For route discovery the source node
transmit the same to base station in real /non-real time [6].
floods the route request (RREQ) packets in the network. The
In the present paper, the performance of dynamic source
nodes receiving RREQ rebroadcast it and the process repeats
routing (DSR) protocol has been analyzed keeping in mind a
until the destination node or an intermediate node having a
sensor network scenario wherein all the nodes are static and
route to the destination is found. Such a node replies back to
source node is moving ( one of which is a data harvester
the source with a RREP packet. When a link-break in an
from static nodes and other one acting as a sink).
established route occurs, the route maintenance phase is
Section 2 describes the related work and Section 3 is about
initiated wherein upstream node at the link-break site
the network scenario and all about the definition of
creates a route error (RERR) message and sends it to the
simulation parameters and details of simulation experiment.
source node. On receiving RERR the source node utilizes
Section 4 gives the results and discussion of the simulation.
alternate routes from the route cache, if they are available, to
Section 5 concludes the work.
prevent another route discovery. The drawback with DSR is
that it needs to place entire route in both the route replies
and the data packets and thus requires greater control
overhead.
(IJCNS) International Journal of Computer and Network Security, 63
Vol. 2, No. 5, May 2010

3. Network Scenario and Simulation Details


The simulation scenario consists of tcl script that runs over
TCP connections for various number of nodes (40, 60, 80
and of 100 nodes) in an area of size of 1000 1000m2 . Table1: Parameter values for simulation
Figure 2 shows the random node topology of the network.
The simulation time is set to 150 seconds. TCP connection Maximum simulation 150 seconds
time
has been used to set communication between the source
Area size (Flat area) 1000×1000 m2
node and the sink node.
Routing protocol DSR
(proactive)
Propagation Model Two Ray Ground
Propagation
MAC layers protocol IEEE802.11
Node placement Static Random
Distribution
Number of nodes 40,60,80,100
Velocities of source 10,20,40,60 m/sec
and sink nodes

4. Results and Discussion


The throughput vs. node density graph is given in figure3.
According to our topology considerations, in sparse
network, for the velocities 10, 20, 40 and 60 m/sec different
throughput graphs are obtained. For all the velocities at the
Figure 2. NAM Windows showing network topology for
node density 60 per square km minimum throughput is
100 nodes
obtained while higher velocities give maximum throughput
with node density parameter. At velocity 10m/sec
The simulation is carried out in the network simulator NS-2
throughput is minimum whereas at velocity 60 m/sec
(version-2.31) over LINUX (FEDORA 8) environment [3]
throughput is higher in comparison to other velocities. This
[4].The experiment has been performed for a set of 5
is because of the nature of DSR on-demand routing protocol.
random network topologies having number of nodes
Once the route is formed the possibility of (link-breakage) is
40,60,80 and 100 respectively. In each topology all nodes
lesser as compared to the former case where the probability
are fixed except the source node. For a given topology two
of route formation is lower. Hence it is clear from figure
nodes are selected to be source-sink nodes and the
after node density 60 per square km throughput is generally
observations are made for five different velocities 10, 20, 40
increasing in nature with different node densities due to less
and 60 m/sec. The experiment was repeated by selecting
link breakage in route formation. It is obtained that When
another pairs of source-sink nodes chosen randomly. Five
the throughput of received packets is maximum the number
such observations were taken for each of the following three
of overheads reduces in the network.
performance parameters and their averages are obtained to
plot graphs: 6000
nv 10
1. Bytes Delivery Fraction: The ratio of the number of nv 20
nv 40
5500
data sends (in bytes) successfully delivered to the nv 60

destinations to those are generated by TCP agents/sources. 5000


Thus, Bytes Delivery Fraction = (Received data /Total sent
Throughput

data) 4500

2. Average Number of Dropped Packets: This parameter


is worth mentioning while taking the effectiveness of this 4000

routing protocol. These are the average number of dropped


3500
packets in simulation study of our scenario.
3. Average Simulation End to End Delay: The delivery 3000
40 50 60 70 80 90 100
delay for the data is the interval between when it is Node Density(per square km)
generated at a sensor node and when it is collected by a sink
Figure3.Throughput (of received packets) vs. node density
[2]. It does not depend on the time for collecting data from
the network. These are the possible delays caused by
The packet delivery fraction vs. node density behavior is
buffering during route discovery latency, queuing at the
given in figure 4. We have seen the effect of delivery ratio
interface queue, retransmission delays at the MAC and
with node density on varying the velocities 10, 20, 40 and
propagation and transfer times.
60 m/sec. The delivery fraction graph is almost similar to
Simulation Parameters: The parameter values for the throughput vs. node density figure. On varying node
simulation are given in table 1. density the delivery fraction is increased for all the velocities
except at node density 60 per square km.
64 (IJCNS) International Journal of Computer and Network Security,
Vol. 2, No. 5, May 2010

[3] The Network Simulator NS-2 homepage,


0.8
http://www.isi.edu/nsnam/ns
[4] The Network Simulator NS-2 tutorial homepage
http://www.isi.edu/nsnam/ns/tutorial/index.html
[5] E. M. Royer, and C. K. Toh. “A review of current
0.75
routing protocols for ad hoc mobile wireless
Deliv ery Ratio

networks”,IEEE Personal Communications, (April),


1999.
[6] J. Rao, and S.Biswas, “Data Harvesting In Sensor
0.7 Networks Using Mobile Sinks”, IEEE Wireless
nv10 Communication, pp.1536-1284, 2008.
nv20 [7] M Tamilarasi, V.R.S.Sunder, “Scalability Improved
nv40
nv60 DSR Protocol for MANETs”, ICCIMA-pp.283-287,
0.65 2007.
40 50 60 70 80 90 100
Node Density(per square km)

Figure4. Delivery Ratio vs. node density Authors Profile


The average simulation end to end delay is given in figure5.
Khushboo Tripathi is a D.Phil. student
According to the topology we found a vibrating nature of delay
in the Department of Electronics and
in graph. But generally it decreases with the node density. An Communication of J.K.Institute of
exceptions is attained at node density = 60 nodes/km2.When the Applied Physics and Technology
delay is high i.e. high node density in the network and the route ,University of Allahabad, Allahabad She
finding is difficult in that scenario whereas in case of less delay obtained her master’s degree in
the possibility of finding routes is more. From above graph it is mathematics in 2005 from University of
evident that for the higher velocity the throughput is maximum Allahabad. Also she received the MCA
and corresponding delay is less as in figure5 and vice versa. degree from UPRTOU, Allahabad. Her research is in the
area of Wireless Communications and networking,
0.41 particularly in MANETs, WSN and coding, cryptography.
nv10
0.4 nv20
nv40 Tulika Agarwal is a M.Tech. student in
Avg.Sim ulation End to E nd Delay(sec.)

0.39 nv60 the Department of Electronics and


0.38
Communication of J.K.Institute of
Applied Physics and Technology,
0.37 University of Allahabad, Allahabad. She
obtained her B.Tech. in Electronics and
0.36
Communication Engineering from
0.35 BBSCET, Allahabad in 2007. She is
carrying out her M.Tech. project on “A Comparative Study
0.34
of Routing Protocols in Ad Hoc Networks”. She has also
0.33 interest in “Digital Electronics” and “Wireless
Communication”.
0.32
40 50 60 70 80 90 100
Node Density(per square km)
S.D.Dixit is a professor in the
Figure5. Avg.simulation end2end delay vs. node density Department of Electronics and
Communication Engineering, University
of Allahabad at Allahabad. He has
teaching experience of 33 years in the
5. Conclusion field of Electronics and Communication
In the given scenario with increase in velocity throughput of Engineering at J.K.Institute of Applied
received packets is higher which reduces the overheads in Physics and Technology, University of
the network. Packet delivery ratio is maximum as Allahabad, Allahabad. He obtained M.Tech. and D.Phil.
throughput of received packet is high except at node density degrees in 1975 and 1981 respectively. He has published a
60/km2.When the number of dropped packet is considered number of research papers in National and International
Journals. He is the fellow of IETE, India. His current
the average End to End delay is decreases except at 80
interests are in the field of Wireless Communications,
nodes/km2 and so throughput is high. Therefore DSR Coding and Cryptography.
performs better in this scenario and reduces minimum
overhead.

References
[1] Anna Hac, “Wireless Sensor Network Designs”, John
Wiley and Sons, 2003.
[2] M.K. Marina, S. R. Das, “Performance of Route Caching
Strategies in Dynamic Source Routing,” ICDCS, pp.
425-432,2001.
(IJCNS) International Journal of Computer and Network Security, 65
Vol. 2, No. 5, May 2010

Route Information Update in Mobile Ad Hoc


Networks
Seungjin Park1 and Seong-Moo Yoo2
1
University of Southern Indiana, Department of Management, MIS & CS,
8600 University Blvd., Evansville, IN 47712, USA
park@usi.edu
2
The University of Alabama in Huntsville, Electrical & Computer Engineering Department,
301 Sparkman Dr., Huntsville, AL 35899, USA
yoos@eng.uah.edu
found, S sends data along the path in the data delivery
Abstract: A mobile ad hoc network (MANET) is composed of
moving wireless hosts that, within range of each other, form
phase. In the route discovery phase S broadcasts a control
wireless networks. For communication to occur between hosts packet called a route request packet (REQ) to all its
that are not within each other’s range, routes involving neighbor nodes. If a neighbor node does not have route
intermediate nodes should be established. However, due to the information to D, it appends its information to the REQ and
mobility of the nodes, finding routes in a MANET is quite a relays the REQ to all its neighbor nodes, and so on until the
challenging task, and takes up a lot of system resources such as REQ reaches D. (This forwarding of requests from one
bandwidth and battery power. Although it would be wise to take node to all its neighbors is called “flooding” and consumes a
full advantage of the already discovered paths, many algorithms lot of time and bandwidth.) If the REQ reaches either D or
simply discard the paths if their topology has changed. To a node that contains the path information to D, the node
overcome this shortcoming, we have proposed a routing table sends a control packet called route reply packet (RPY) back
maintenance algorithm that responds to the changes in network
to S by reversing the path stored in the REQ.
topology promptly, and adjusts the paths so that their lifetimes
could be maximized.
On receiving the RPY, S knows that the path to D has been
Keywords: mobile ad hoc network, routing, routing table, established, and S sends its data packet along the path. For
unicast example, suppose node A in Figure 1 tries to find a path to
G that is not found yet. As a first step, A prepares an REQ
1. Introduction with its ID appended to it, and sends it to its neighbors
A mobile ad hoc network (MANET) consists of wireless including B. If B does not have any information about G, B
mobile hosts without any centralized control point or fixed appends its ID to the REQ and retransmits it to its neighbors
infrastructure. Since a MANET does not require any prior including C, and so on until it reaches G. The snapshot of
arrangement, it can be quickly deployed and used in such the REQ at E would contain the nodes it passed through
applications including fast establishment of military thus far, which is A, B, C, D. When the REQ reaches the
communication and rescue missions where an established destination node G, G prepares a RPY which is transmitted
network is neither feasible nor available [1]. to A along the path stored in the REQ.

Discovering a path from the source node to the destination A D


node is quite challenging in a MANET due to the mobility C E
B G
F
of hosts. A node implementing a proactive algorithm [2]
maintains a routing table that contains the routes to all I
H
nodes in the network by periodical exchanges of local
information with other nodes. However, this information
exchange takes up a lot of bandwidth and battery power.
Figure 1. There are two paths, P(A, B, C, D, E, F, G) and
On the other hand, nodes in reactive algorithms [3, 4, 5] do
P(H, I, C, D, E, F, G) in the networks.
not maintain any routing information. Instead, a node
dynamically discovers a path to the destination on demand. For example, on receiving the RPY, node A in Figure 1
Therefore, it may reduce considerable overhead to enhance stores the path (A, B, C, D, E, F, G), and node C stores the
the network throughput.
path (C, D, E, F, G) in their routing tables so that they can
use it later. As mentioned before, it takes a lot of resources
Although other routing algorithm could be used, this paper
is based on DSR [5]. DSR is reactive and has been proved it to discover a path in a MANET. Therefore, it would be
could be as competitive as any other algorithms in MANET wise to take advantage of it as much as possible. However,
[7, 8, 9]. Like many reactive routing protocol, DSR consists most routing protocols do not efficiently utilize the existing
of two phases: route discovery phase and data delivery paths, because they do not respond properly and promptly to
phase. When node S has a data for node D, S starts finding the changes in the network topology. In this paper, we
a path to D in the route discovery phase. Once a route is propose a strategy that tries to use the existing paths
66 (IJCNS) International Journal of Computer and Network Security,
Vol. 2, No. 5, May 2010

efficiently by modifying route table as quickly as possible. shrinking a route when a node discovers a shorter path than
the existing one. By utilizing only local geographic
This paper is organized as follows. Previous work is information, a host can anticipate its neighbor’s departure
mentioned in section 2. Terminology needed to understand and, if other hosts are available, choose a host to bridge the
this paper is explained in section 3. Proposed algorithm is gap, keeping the path connected. The benefits are that this
presented in section 4, followed by the theoretical analysis reduces the need to find new routes and prevents
in section 5. Section 6 presents the conclusion. interruptions in service.
Chou et al. [16] presented a dynamic route maintenance
2. Previous Works algorithm for beacon-based geographic routing. In this
Wu et al. [6] proposed an algorithm that tries to fix some approach, the mobile nodes dynamically adjust their beacon
problems in paths such as finding shorter paths and fixing intervals based on their speed of movement. Moreover the
broken links. However, nodes in their algorithm stores only routing information could be well managed using the
the destination, next hop, hop count, etc. for each path so mobility prediction.
that the coverage of the algorithm is limited. Ko and Park et al. [17] proposed an algorithm that is a preliminary
Vaidya [10] proposed a location-aided routing scheme version of the paper. However, the algorithm presented in
where a route request is flooded in the direction of the target this paper considers more cases that may save more battery
node. Here, a node’s response to the route request depends power and bandwidth.
on whether or not it is in the region approaching the
destination.
3. Terminology
Liao et al. [11] proposed a routing scheme called GRID. A Graph can be represented by G(V, E), where V is the set
This scheme imposes a grid system on the earth’s surface of nodes and E is the set of links in the graph G. In a
and selects a leader in each grid to act as the gateway. Data wireless network, if a node B is within the transmission
packets are then forwarded to their destination grid by grid. range of node A, then it is said that there is a link from A to
This protocol confirms that the availability of location B which is denoted as (A, B). A is an upstream node of B,
information improves the routing performance. and B is the downstream node of A. B is also called as a
Lee and Gerla [12] proposed AODV-BR algorithm that neighbor of A. If (A, B) implies (B, A), then the link is
utilizes a mesh structure to provide multiple alternate paths called bidirectional, and unidirectional otherwise.
to existing on-demand routing protocols without producing
additional control messages. In their algorithm, data A path P(v1 , v2, . . . , vn-1, vn), where vi ∈ V, 1 ≤ i ≤ n,
packets are delivered through the primary route unless there consists of a set of links (v1 , v2), (v2, v3), … , (vn-1, vn). A
is a route disconnection. When a node detects a link break, subpath of P(v1 , v2, . . . , vn-1, vn) is the path that is a part of
data packets can be delivered through one or more alternate P. Function rem (P, vi) returns the portion of path P starting
routes and are not dropped. Route maintenance is executed at node vi to the end of P. For example, both P(B, C, D, E)
utilizing alternate paths. Here, the route is maintained only and P(A, B) are subpaths of P(A, B, C, D, E), and rem (P(A,
when a link is broken. B, C, D, E), B) is P(B, C, D, E). |P| denotes the number of
the links in path P. For example, |P(A, B, C, D, E)| is four,
Li and Mohapatra [13] introduced LAKER, a location-aided since P consists of four links.
knowledge extraction routing. This scheme reduces the
flooding overhead in route discovery by extracting Note that if the links are bidirectional (unidirectional, resp.),
knowledge of the nodal density distribution of the network then the paths are also bidirectional (unidirectional, resp.).
and remembering the series of locations along the route Although links assumed to be bidirectional in this paper,
where there are many nodes around. However, this scheme paths are assumed to be unidirectional for simplicity in
does not deal with route maintenance. explanation. It can be easily extended to cover the handling
Stoimenovic [14] reviewed many position-based routings in of unidirectional paths.
ad hoc networks. It is likely that only position-based
approaches provide satisfactory performance for large When a new path is found, each node in the path may
networks. Greedy mode routing was shown to nearly contain the path information in its Routing Table for
guarantee delivery for dense graphs, but to fail frequently possible later use. This can be done without any extra
for sparse graphs since the destination is also moving and it expense at each node by simply storing the path information
is not clear where to send message. The routing process is when the RPY passes through the node. For example in
converted from the greedy mode to recovery mode at a node Figure 1, nodes A, B, C, D, E, and F in the path P(A, B, C,
where greedy mode fails to advance a message toward the D, E, F, G) store the path information when the RPY passes
destination through them.
Park et al. [15] proposed an anticipated route maintenance
protocol with two extensions to route discovery based
4. Proposed Routing Table Maintenance
routing scheme: extending a route by inserting a common Scheme
neighbor of two nodes in a route when the two nodes move Based on the assumption that all links are bidirectional, the
apart from each other that may cause link breakage, and proposed scheme is hybrid, since it discovers new paths
(IJCNS) International Journal of Computer and Network Security, 67
Vol. 2, No. 5, May 2010

reactively but the maintenance of the paths is proactive. In substitutes (A, B, C, D, E, F, G) with P(A, B, C, F, G) and
other words, a new path from A to B is discovered only P(A, B, C, D, E) in its routing table. Note that the upstream
when 1) A has a data for B, and 2) there is no existing path nodes of C in the path need not be informed this finding.
from A to B. On the other hand, any change of the existing Instead, if a packet from either A or B destined to either F or
paths is updated immediately regardless of the usage of the G is arrived at C, C directs the packet to F using P(A, B, C,
path. This strategy makes sense, because path discovery F, G), not to D. If the packet is destined to D or E, then the
takes a considerable amount of resources due to the flooding packet is transferred along P(A, B, C, D, E).
of REQ packets, whereas maintenance requires unicasts
only. Figure 2 (b) shows another case where a shorter path is
discovered by a node in the same path that is at the other
In this paper, only the routing table maintenance scheme is end, F. In this case, path P(A, B, C, D, E, F) is split into
presented, since route discovery algorithms can be found in two paths, P(A, B, C) and P(A, F, E, D). Note that this is
many routing protocols. The proposed routing table possible since A has all nodes in the path, and therefore
maintenance scheme is explained below for different cases. knows exactly where to split the path.

Case 1) Link breakage is discovered. Consider two paths, Figure 2 (c) shows the case where a shorter path is
P(A, B, C, D, E, F, G) and P(H, I, C, D, E, F, G), in the discovered by other newly found path. For example,
network as shown in Figure 1. Suppose when node C suppose P(A, B, C, D, E, F, G) is the existing path, and P(H,
sends a data packet to node G along P(A, B, C, D, E, F, G), C, J, F, K) is just discovered. Then, P(A, B, C, D, E, F, G)
C found out that the link (E, F) is broken. Then, this will be replaced by P(A, B, C, J, F, G) and P(A, B, C, D, E).
information is disseminated to all upstream nodes of C in Note that, as was done in Case 2 (a), this new information is
both paths. On receiving the link breakage information not informed to the upstream nodes of C.
nodes A, B, H, and I modify the paths by removing subpath
P(F, G). Otherwise, attempting to use this broken link may So far the cases for shorter paths have been considered. In
cause delay. the following, the cases when extension of the existing path
. is found will be discussed.
A
C F G Case 3) An extension of an existing path is found by the
B
other path. In this case, the extended portion is
disseminated to existing path. For example, suppose P1 =
P(A, B, C, D, E) in Figure 3 is the existing path, and P(F,
D E G, C, H, J) is discovered later. Then, P(A, B, C, D, E) has
(a) an extended portion of P(C, H, J) at node C, which will be
propagated to upstream nodes of C. Therefore, P(A, B, C, H,
F J) will be added to routing tables at A, B, C. Likewise, P(F,
A
G, C, D, E) will be added to routing tables at C, F and G.
E
B J
H
C A D
D
C E
(b) B

D
H
E
G
C

F
F G
A J
B Figure 3. As a result of the discovery of another path P(F,
K G, C, H, J), nodes A, B, C add P(A, B, C, H, J) to
(c) their routing tables. Likewise, P(F, G, C, D, E)
will be added to routing tables of F, G, and C.
Figure 2. (a) A shorter path P(A, B, C, F, G) is found in
the same path. (b) A shorter path is found by the Case 4) A more general form of Case 3 can be found in
node at the other end of the same path. (c) A Figure 4, where an existing path and a newly found path
shorter path P(A, B, C, J, F, G) is found by other have more than one common node. In this case, the shorter
path P(H, C, J, F, K). path connecting any adjacent two common nodes is chosen
and used. For example, refer to Figure 4, where P(A, B, C,
Case 2) A shorter path is found. There are two possible
D, E, F) is the existing path and P (G, B, H, J, K, E, L) is
cases. First, C in Figure 2 (a) found a shorter path (A, B, C,
the newly found path, and they share both B and E. In this
F, G) in the existing path (A, B, C, D, E, F, G), when F
case, subpaths P(B, C, D, E) and P(B, H, J, K, E) are
moves into C’s transmission range. In this case, C
compared and P(B, C, D, E) is chosen since it is shorter of
68 (IJCNS) International Journal of Computer and Network Security,
Vol. 2, No. 5, May 2010

the two. Then, both existing and newly found path will be // On receiving a RPY, call check_modification_path (path
replaced using the shorter path. For example, P(A, B, C, in // the RPY), where each path in the routing table is
D, E, F) is replaced by P(A, B, H, J, K, E, F), P(A, B, C, D) checked if // the path should be further modified due to the
and P(A, B, H, J, K, E, L). Also, two routes, P(G, B, C, D) path in the
and P(G, B, H, J, K, E, F) are added to the routing table at // RPY.
G.
Let the newly found path be P(v1, v2, . . . , vn-1, vn).
Summary of the proposed algorithm is presented in Figure // For the cases shown in Figure 3
5. If there is a path P(u1, u2 , . . . , um-1, um) in the routing table
such that vi = uj, add P(u1, u2 , . . . , ui-1 , ui, vj+1, . . . , vn-1, vn )
to the routing tables of u1, u2, . . . , ui-1, ui. Also add P(v1,
G D L
C
v2, . . . , vj, ui+1, ui+2, . . . , um) to routing tables of v1, v2, . . . ,
B E
vj.
F
Case when the existing path and newly found path have two
A H K common nodes
J

Let the newly found path be P(v1, v2, . . . , vn-1, vn).


Figure 4. As a result of the discovery of another path P(F,
// For the cases shown in Figure 4
G, H, E, J, K), existing path P(A, B, C, D, E) is
If there is a path P(u1, u2 , . . . , um-1, um) in the routing table
extended to P(A, B, C, D, E, J, K) and this
such that vi = uj, vk = ul, and |P(uj, uj+1 , . . . , ul-1 , ul)| > P(vi,
information will be stored at nodes A, B, C, D,
vi+1, . . . , vk-1, vk), then replace P(u1, u2 , . . . , um-1 , um) with
and E.
P(u1, u2 , . . . , ul-1, ul) and P(u1, u2 , . . . , uj-1 , vj, vj+1, . . . , vk,
ul+1 , um) to routing tables of nodes u1 , u2, . . . , uj-1.
Algorithm RoutingTable_Maintenance Further, add P(v1, v2, . . . , uj, uj+1, . . . , ul) and P(v1, v2 , . . .
, vk, ul+1, . . . , um) to routing tables of nodes v1 , v2, . . . , vi-1,
At current node V1 vi.

Case when a broken link is found Figure 5. Pseudo-code for the proposed algorithm.

if V1 found out that an existing path P is broken between


node A and B then for each path P in the Routing Table that 5. Analysis of the proposed Algorithm
contains a link (A, B)
This section presents the time complexity of the proposed
P – rem(P, B)
algorithm in section 4.1, and the impact on the routing in
Sends a Broken Link Message to its upstream
section 4.2.
nodes, if any, of all paths that contain (A, B).
if V1 received a broken link message from its downstream
5.1 Time complexity of routing table maintenance
node in an existing path,
then for each path P in the Routing Table that contains a
Let us consider the time complexity of the routing table
link (A, B)
maintenance at each node. If a node A detects a new
P – rem(P, B)
neighbor node B, then A checks if B is in any path in its
Sends a Broken Link Message to its upstream
routing table so that A can adjust the existing paths. This
nodes, if any, of all paths that contain (A, B).
searching process takes O(nm), where n is the number of
paths in the routing table and m is the average path length.
Case when there is a shorter path
The searching time would be improved to O(1), if the nodes
in the paths are stored in a hash table using additional
// On receiving a RPY, V1 check if there is a shorter path for
storage. Note that communication takes much longer time
// each path in the routing table using the path in the RPY.
and more battery power than computation. Therefore, it
Let the path in the RPY be P(v1, v2 , . . . , vn-1, vn). Note that
would worth the computation if it results in reducing any
the current node is v1, since the first node in the RPY is v1 .
amount of path length.
If there is a path P(u1, u2, . . . , um-1, um) in the routing table
such that 1) v1 = ui and vn = uj, and 2) |P(v1, v2, . . . , vn-1 ,
Once the path is found, actual adjustment of the routing
vn)| ≤ |P(ui, ui+1, . . . , uj-1, uj)|, then replace the path with
table would take O(1). If the path falls into one of the Case
P(u1, u2, . . , ui-1, v1, v2, . . . , vn-1, vn, uj+1, . . . , um-1 , um), and
3, then the new discovery is transmitted to the source node.
add new path P(u1, u2 , . . , ui-1, ui, . . . ., uj).
Note that the transmission is unicast which is much cheaper
than broadcast in wireless communication, because there is
Case when the existing path and newly found path have one
a single designated destination node within the source’s
common node
transmission range in unicast, whereas all nodes are the
destinations in broadcasting.
(IJCNS) International Journal of Computer and Network Security, 69
Vol. 2, No. 5, May 2010

5.2 Impact on route discovery [8] A. Rahman, S. Islam, and A. Talevski, “Performance
measurement of various routing protocols in ad-hoc
This section presents the theoretical analysis of the proposed network,” Proc. International Multiconference of
algorithm to show how our proposed algorithm can reduce Engineers and Computer Scientists, 2009.
communication overhead and battery power by modifying [9] G. Jayakumar and G. Gopinath, “Performance
routing tables on discovering a new path. Comparison of two on-demand routing protocols for
Suppose N is the average number of neighbors of each node ad-choc networks based on random way point mobility
in the network. If an algorithm abandons the path on its model,” American Journal of Applied Sciences, 5 (6),
topological changes, then it would take at least pp. 659 – 664, 2008.
N 0 ⋅ N 1 ⋅ ... ⋅ N L−1 ≈ N2L REQ transmissions to find a [10] Y. B. Ko and N.H. Vaidya, “Location-aided routng
path of length L all over again by using broadcast. On the (LAR) in mobile ad hoc networks,” Annual
other hand, if an algorithm can adjust to the minor International Conference on Mobile Computing and
topological changes of paths like our proposed algorithm, Networking (MobiCom), Oct. 1998, pp. 66-75.
then it would take only L transmissions for the path of [11] W.H. Liao, Y.C. Tseng, and J.P. Sheu, “GRID: a fully
length L. Therefore, the advantage of having the proposed location-aware routing protocol for mobile ad hoc
algorithm is obvious. This analysis would be true, if the networks,” Telcommunication Systems, 18(13), 2001,
changed path is used, otherwise, the adjustment would be a pp. 37-60.
waste. [12] S.J. Lee and M. Gerla, "AODV-BR: backup routing in
ad hoc networks", IEEE Wireless Communications and
Networking Conference (WCNC), Sept. 2000, pp.
6. Conclusion 1311–1316.
Routing in a wireless mobile ad hoc network is quite a [13] Jian Li and P. Mohapatra, "LAKER: location aided
challenging task, because it takes up a lot of network knowledge extraction routing for mobile ad hoc
resources. Therefore, although it would be wise to take full networks", IEEE Wireless Communications and
advantage of the already discovered paths, many algorithms Networking (WCNC), March 2003, pp. 1180–1184.
simply discard the paths when their topology is changed. [14] I. Stojmenovic, “Position-based routing in ad hoc
To overcome this shortcoming, we have proposed a routing networks,” IEEE Communications Magazine, July
table maintenance algorithm that responds to the changes in 2002, pp. 2-8.
network topology as promptly yet efficiently as possible to [15] S. Park, S.M. Yoo, M. Al-Shurman, B. VanVoorst,
fully utilize existing paths by modifying them. and C.H. Jo, “ARM: anticipated route maintenance
scheme in location-aided mobile ad hoc networks,”
Our simple analysis shows that the proposed algorithm Journal of Communications and Networks, vol. 7, no.
reduces number of packet transmissions, and therefore saves 3, pp. 325-336, Sep. 2005.
resources such as bandwidth and battery power. [16] C.H. Chou, K.F. Ssu, and H.C. Jiau, “Dynamic route
maintenance for geographic forwarding in mobile ad
References hoc networks,” Computer Networks, vol. 52, issue 2,
pp. 418-431, Feb. 2008.
[1] C. Perkins, “Ad Hoc Networking,” Addison-Wesley, [17] S. Park and S. Yoo, Routing table Maintenance in
2001. Mobile Ad Hoc Networks, The 12th International
[2] C. Perkins, and P. Bhagwat, “Highly-dynamic Conference on Advanced Communication Technology,
destination-sequenced distance-vector routing (DSDV) pp. 1321 - 1325, Feb., 2010.
for mobile computers,” pp. 234-244, SIGCOM’94,
1994.
Authors Profile
[3] C. Perkins, E. Royer and S. Das, “Ad hoc on demand Seungjin Park received the BE degree in civil engineering from
distance vector (AODV) routing,” Internet draft, IETF, Hanyang University, Korea, in 1973, MS degree in computer
Oct. 1999. science from University of Texas at Arlington, in 1986, and PhD
[4] V. Park and M. Corson, “A highly adaptive distributed degree in computer science from Oregon State University, in 1993.
routing algorithm for mobile wireless networks,” In He is currently an assistant professor in the Department of MNGT,
Proc. IEEE Infocom, pp.1405-1413, Apr. 1997 MIS, and CS, University of Southern Indiana. His research
[5] D. Johnson and D. Maltz, “Dynamic source routing in interests include parallel algorithms, wireless ad hoc networks, and
ad-hoc wireless networking,” in Mobile Computing, T. sensor networks.
Imielinski and H. Korth, editors Kluwer Academic
Seong-Moo Yoo is an Associate Professor of Electrical and
Publishing, 1996.
Computer Engineering at the University of Alabama in Huntsville
[6] S. Wu, S. Ni, Y. Tseng, and J. Sheu, “Route (UAH), USA. Before joining UAH, he was an Assistant Professor
maintenance in a wireless mobile ad hoc network,” at Columbus State University, Georgia – USA. He earned MS and
Proc. 33 Hawaii International Conference on System PhD degrees in Computer Science at the University of Texas at
Sciences, 2000. Arlington. He was a Fulbright Scholar, Kazakhstan 2008-2009.
[7] J. Broch, D. Maltz, D. Johnson, Y. Hu, and J. Jetcheva, His research interests include computer network security, wireless
“Performance comparison of multi-hop wireless ad hoc network routing, and parallel computer architecture. He has co-
network routing protocols,” MobiCom’98, 1998. authored over 70 scientific articles in refereed journals and
international conferences.
70 (IJCNS) International Journal of Computer and Network Security,
Vol. 2, No. 5, May 2010

An Improved Proxy Ring Signature Scheme with


Revocable Anonymity
Binayak Kar1, Pritam Prava Sahoo2 and Ashok Kumar Das3
1
Department of Computer Science and Engineering
International Institute of Information Technology, Bhubaneswar 751 013, India
binayakdilu@rediffmail.com
2
Department of Computer Science and Engineering
International Institute of Information Technology, Bhubaneswar 751 013, India
sahoo_pritam@rediffmail.com
3
Department of Computer Science and Engineering
International Institute of Information Technology, Bhubaneswar 751 013, India
iitkgp_akdas2006@yahoo.co.in

examples, [2, 7, 10]). Since it is proposed, the proxy


Abstract: In this paper, we review Hu et al.'s proxy ring
signature with revocable anonymity. We then briefly review
signature schemes have been suggested for use in many
Zhang and Yang's attacks on Hu et al.'s proxy ring signature applications [6, 8] particularly in distributed computing
scheme. In order to eliminate those security flaws in Hu et al.'s where delegation of right is quite common. Examples
proxy ring signature scheme, we propose an improvement of Hu discussed in in the literature include distributed systems,
et al.'s proxy ring signature with revocable anonymity. We show grid computing, mobile agent applications, distributed
that our proposed scheme provides better security as compared shared object systems, global distribution networks and
to that for Hu et al.'s scheme. mobile communications. To adapt to different requirements,
Keywords: Proxy signature, ring signature, revocable many variants of ring signature [5] were put forward, such
anonymity, security. as ring blind signature, proxy ring signature, etc.

1. Introduction In this paper, we propose an improvement of Hu et al.’s


proxy ring signature scheme [1] in order to eliminate Zhang
In Mobile Ad hoc Networks in order to ensure the service and Yang’s attacks [9] on Hu et al.’s proxy ring signature
available to the customers distributed in the whole networks, scheme. The remainder of this paper is organized as follows.
the server needs to delegate his/her rights to some other In Section 2, we give a brief overview of Hu et al.’s proxy
parties in the systems, for example to mobile agents. The ring signature scheme with revocable anonymity and then
way of realizing this delegation is based on the notion of we discuss Zhang and Yang’s attacks on Hu et al.’s proxy
proxy signature. ring signature scheme. In Section 3, we propose an
improved version of Hu et al.’s proxy ring signature scheme
Digital signature is a cryptographic means through in order to withstand Zhang and Yang’s attacks in their
which the authority, data integrity and signer’s non- scheme. In Section 4, we discuss the security aspects of our
repudiation can be verified. The proxy signature is a kind of proposed improved scheme and then in Section 5, we
digital signature scheme. In the proxy signature scheme, one compare the performances of our scheme with those for Hu
user called the original signer, can delegate his/her signing et al.’s proxy ring signature scheme. Finally, we conclude
capability to another user called the proxy signer. This is the paper in Section 6.
similar to a person delegating his/her seal to another person
in the real world.

The notion of proxy signature was first introduced by 2. Overview and Attacks on Hu et al’s Proxy
Mambo, Usuda and Okamoto in 1996 [3]. After that the
Ring Signature Scheme
concept of ring signature was formalized in 2001 by Rivest,
Shamir and Tauman [4]. In the ring signature an In this section, we first discuss in brief Hu et al.’s proxy
anonymous signature allows an user to anonymously sign on ring signature scheme. We then describe Zhang and Yang’s
behalf of a group, where no one can know which the actual attacks on Hu et al.’s proxy ring signature scheme.
signer is. When verifying the verifier only knows that the
signature has been produced by some member of this ring, 2.1 Overview of Hu et al.'s Proxy Ring
but he/she has no information about who is the actual of the Signature Scheme
signature. Hu et.al introduced a new type of signature scheme called
the proxy ring signature scheme with revocable anonymity
Proxy signature can be combined with other special which combines ring signature with proxy signature.
signatures to obtain some new types of proxy signatures (for
(IJCNS) International Journal of Computer and Network Security, 71
Vol. 2, No. 5, May 2010

In the following, we briefly review their scheme.


2.1.4 Verification Phase
2.1.1 System Parameters
For verification of the signature δ = (m, A, zN , c N , r N , V )
The following system parameters are used in describing the on message m , the verifier executes the followings:
scheme. 1. Computes h = H (m) .
• p, q : two large prime numbers, q | p − 1 . 2. For i = 1,2,⋅ ⋅ ⋅, n , computes δ i = Ai ,
*
• g : an element of Z whose order is q .
p bi = h zi δ ici ,
• x0, x1 ,⋅ ⋅ ⋅, xn : the original signer A0 's secret key and a i = g zi ( y i y 0 r i ) i
c

proxy signers U i 's secret key, where i = 1,⋅ ⋅ ⋅, n . −1


3. If ri = y0 , rejects the signature.
• y0 = g 0 mod p : A0 's public key.
H (m, a N , bN ,V) = ∑ci
x

4. Otherwise, checks whether


• yi = g i mod p : U i 's public key.
x
i∈B
• H : a hash function, H : {0,1} → Z q .
* is satisfied or not.

If the verification is valid, then the verifier accepts δ as


2.1.2 Proxy Phase a valid proxy ring signature of message m .

1. Commission Generation: For the user U i , the original 2.1.5 Open Phase
Signer A0 randomly chooses ki ∈ Z q and then To open a signature and reveal the actual identity of the
signer, the original signer checks the following.
computes sˆ i = x 0 g ki + k i mod q and rˆi = g
mod q . ki
rˆ −1

Then A0 sends (sˆi , rˆi ) secretly to U i and keeps For i = 1 to n , verifies whether g i = V 0 i .
r y i rˆ
ki secret.
2. Proxy Verification: Each user U i checks If for some i , the verification phase , it indicates that U i is
the actual signer.
whether g i = yoi rˆi mod q . If it holds, then U i
sˆ rˆ

computes s i = xi + sˆi mod q . si is his/her proxy signing


key. 2.2 Attacks on Hu et al.'s Proxy Ring Signature
Scheme
2.1.3 Signing Phase In the following, we briefly review the attacks due to Zhang
and Yang on Hu et al.’s scheme.
Let the user U i be the real signer and the ring be
B = (U 1 ,⋅ ⋅ ⋅,U n ) . On input a group size n ∈ Z , a 2.2.1 Attack on Unforgeability
message m and a public key set yN = ( y1 ,⋅ ⋅ ⋅, yn ) , the This attack consists of the following steps.
signer U i does the followings: 1. Assume that the message m is a forged message.
We then compute h = H (m) .
1. Selects d ∈R Z q and randomly computes the followings:
2. Randomly choose a number a ∈R Z q to compute
h = H (m) and δ i = h si −d .Then set A = δ i1 / i .
a i = g , and bi = h .
a a

2. Randomly chooses wi ∈ Z q and computes a i = g i


w
3. Randomly choose a number l ∈R Z q to compute
and bi = h i .
w
A= h . l

3. For all j ≠ i , picks up at random z j , c j , r j ∈ Z q and 4. For all j ≠ i , randomly select z j , c j , r j ∈ Z q and
r j ≠ y0−1 , then computes: a j = g j y j y0 r j j ,
if
z
( )
c −1
if r j ≠ y0 then compute the followings:
δ j = A j , and b j = h j δ j j
z c
aj = g
zj
(y j y0 r j ) j ,
c

4. Let a N = (a1 ,⋅ ⋅ ⋅, a n ) , bN = (b1 ,⋅ ⋅ ⋅, bn ) . U i then δ j = A j , and b j = h j δ j j .


z c

and c = H (m, a N , bN , V ) . 5. Set a N = (a 1 ,⋅ ⋅ ⋅, a n ) and bN = (b1 ,⋅ ⋅ ⋅, bn ) .


g−d
computes V = g
n 6. Randomly choose V ∈ Z p to compute
5. Computes the following ci = c − ∑c
j =1, j ≠ i
j and
H (m, a N , bN ,V ) = c .
zi = wi − ci s i + ci d . n
rˆ −1 −d
6. Finally computes ri = y0i rˆi g .
7. Set ci = c − ∑c
j =1, j ≠ i
j , and then set

zi = a − i ⋅ l ⋅ ci mod q .
Let z N = (z1 ,⋅ ⋅ ⋅, zn ) , c N = (c1 ,⋅ ⋅ ⋅, c n ) , and i ⋅l −1 −1
8. After this, compute ri = g yi y0 , and then set
rN = (r1 ,⋅ ⋅ ⋅, rn ) .
The resultant proxy ring signature on message m is rN = (r1 ,⋅ ⋅ ⋅, rn ) .
δ = (m, A, zN , c N , r N ,V ) . 9. Finally, the resultant proxy ring signature on
message m becomes δ = (m, A, zN , c N , r N , V ) .
72 (IJCNS) International Journal of Computer and Network Security,
Vol. 2, No. 5, May 2010

By verifying the following three equations:

a j = g j ( y j y0 r j ) j ,
z c

δ j = A j , and 3.1 Proxy Phase


bj = h jδ j j
z c
This phase consist of the followings.

Zhang and Yang showed that the forged proxy ring 1. Commission Generation: For the user U i , the
signature is valid signature.
2.2.2 Attack on Revocable Anonymity original signer A0 randomly chooses ki ∈ Z q and

In the following, Zhang and Yang showed how to produce a then computes sˆ i = x 0 g ki mod q and
proxy ring signature in which the anonymity of the
dishonest proxy signer’s identity is not revoked.
rˆi = g ki mod q , where x0 is the original signer
A0 ’s secret (private) key. After that A0 sends
Let the user U i be the real signer and the ring be (sˆi , rˆi ) secretly to U i and keeps ki as secret.
B = (U 1 ,⋅ ⋅ ⋅,U n ) . On inputs, a group size n ∈ Z , a 2. Proxy Verification: Each user U i checks whether
message m and the public key set yN = ( y1 ,⋅ ⋅ ⋅, yn ) , the x0 ⋅ g ki
g =g sˆi
mod q . Here y0 is the original
signer U i performs the following:
signer A0 ’s public key. Then U i computes
1. Here, for j = 1 to n , the generations of
si = xi + sˆi mod q as his/her proxy signing key.
a j ,δ j , b j and A remain same as those for Hu et
al.’s scheme.
2. Sets a N = (a1 ,⋅ ⋅ ⋅, a n ) , bN = (b1 ,⋅ ⋅ ⋅, bn ) and
3.2 Singing Phase
Assume that the user U i be the real signer. Let the ring be
randomly chooses V ∈ Z p to compute
B = (U 1 ,⋅ ⋅ ⋅,U n ) . Inputs in this phases are (i ) a group size
H (m, a N , b N , V ) = c . Here we note that
generation of V is different from that of Hu et al.’s
n ∈ Z , (ii ) a message m and (iii ) a public set
scheme and V is a random number. yN = ( y1 ,⋅ ⋅ ⋅, yn ) . The signer U i then executes the
n following steps:
3. Computes ci = c − ∑c
j =1, j ≠ i
j and
Step-1. Selects d ∈R Z q randomly and then computes
zi = wi − ci si + ci d . h = H (m) and δ i = h si −d .
4. Then computes ri = y0rˆi −1 rˆi g − d . After computing these, U i sets A = δ i1 / i .
Let z N = (z1 ,⋅ ⋅ ⋅, zn ) , c N = (c1 ,⋅ ⋅ ⋅, c n ) , and Step-2. Randomly choose wi ∈ Z q and then compute
rN = (r1 ,⋅ ⋅ ⋅, rn ) .
a i = yi bi = h wi .
wi
and
Finally, the resultant proxy ring signature on message m Step-3. For all j ≠ i, selects at random
is δ = (m, A, z N , c N , r N , V ) . From the above generation
z j , c j , r j ∈ Z q such that r j ≠ y0−1 . Then computes
process of proxy ring signature, the original signer cannot
z j + x jc j
a j = yj
c c
revoke the identity of proxy signer, because of the fact that y0 j r j j ,
V in the signature δ = (m, A, z N , c N , rN ,V )is a random
δ j = A j , and b j = h j δ j j .
z c
number and the value of i can not be retrieved by using the
above open algorithm. As a result, the original signer can Step-4. Let a N = (a1 ,⋅ ⋅ ⋅, a n ) , and bN = (b1 ,⋅ ⋅ ⋅, bn ) .
not revoke the anonymity of the proxy signer’s identity. −d
y0−1
U i then computes V = g yi and
c = H (m, a N , bN ,V ) .
3. Improved Proxy Ring Signature Scheme
n
In this section, we describe our improved signature scheme
in order to eliminate the security flaws discussed in Section
Step-5. Computes ci = c − ∑c
j =1, j ≠ i
j and

2.2. We use the same set of system parameters as used in Hu zi = wi − ci si + ci d .


et al.’s proxy ring signature scheme given in Section 2.1.1.
Step-6. Computes ri = y0xi rˆi −1 yi− d .
The different phases of our improved scheme are given
in the following subsections.
Let z N = (z1 ,⋅ ⋅ ⋅, zn ) , c N = (c1 ,⋅ ⋅ ⋅, c n ) , and
(IJCNS) International Journal of Computer and Network Security, 73
Vol. 2, No. 5, May 2010

rN = (r1 ,⋅ ⋅ ⋅, rn ) . a i = yizi yixi ci y0ci ri ci = yiwi −ci si +ci d yixi ci y0ci y0xi rˆi −1 yi−d [ ]ci

Finally, the resultant proxy ring signature on message m is


δ = (m, A, zN , c N , r N ,V ) . = yiwi yi−ci si yi
ci d
yixi ci y0ci y0xi ⋅rˆi ⋅ci y0−ci yi−ci d
= yiwi yi−ci [xi + sˆi ] yixi ci y0xi ⋅rˆi ⋅ci

3.3 Verification Phase


= yiwi yi−ci xi yi−ci sˆi yixi ci y0xi ⋅rˆi ⋅ci
To verify the signature δ = (m, A, z N , c N , rN ,V ) on = yiwi yi−ci [x0 rˆi ] y0xi ⋅rˆi ⋅ci
message m , the verifier needs to execute the following = yiwi yi−ci x0rˆi yici x0rˆi = yiwi
steps.

Step-1. Computes h = H (m) . Thus if the proxy ring signature is generated by a valid
Step-2. For i = 1,⋅ ⋅ ⋅, n , computes member in the ring, the verification of the equation

a i = yi
zi + xi ci
y0ci ri ci , H (m, a N , bN ,V) = ∑ci passes.
i∈B
δ i = Ai , and
bi = h zi δ ici . 4.2 Correctness of Open Phase

Step-3. If ri = y0−1 , then the verifier immediately rejects We prove the correctness of open algorithm as follows:
ˆ −1
yi − d y 0x i r i y 0− 1 y i− d
ˆ
y 0x i r i
the signature. g ri
= g = g
ri ≠ yo−1 , the verifier checks the
( )
Step-4. Otherwise, if ˆ
y 0x i r i
y 0− 1 y i− d
x rˆi x 0 x i rˆi
= g = V = V
H (m, a N , bN ,V) = ∑ci
y0 i g

validity of the equation: x 0 rˆi sˆ i


i∈B = V yi
=V yi

If the above equation is valid , then the verifier accepts δ


as a valid proxy ring signature on message m .
4.3 Security Analysis
3.4 Open Phase
In this section, we show that our scheme preserves the
In order to open a signature and reveal the actual identity of unforgeability as well as revocable anonymity properties
the signer, the original signer can verify the following
equation: • Unforgeability: The improved scheme satisfies the
sˆ unforgeability property as follows.
For i = 1 to n , checks whether g = V ri yi i
.
Assume that B denotes the ring. We prove that
If the verification passes for some i , then the user U i is the any adversary A∉ B can not forge the valid ring
actual signer. signature. Suppose A can repeat the proxy phase
and also query the original signer for ŝ k and rˆk ,
4. Analysis of Our Improved Scheme where k ∈ B in order to receive some proxy
In this section, we give correctness proofs for our signature key which does not belong the ring
verification phase as well as open phase. We then describe B . To forge a ring signature, A needs to execute
the security analysis of our scheme. the signing phase. Let A select randomly
zi , ci , ri ∈ Z q , for all i ∈ B and compute
4.1 Correctness of Verification Phase
c = H (m, a N , bN ,V ) . However, this becomes
We prove the correctness of verification process as follows: impossible because in order to compute
For the signer i , δi = A = δ i
( ),
1/ i i
i a i = yi
zi + xi ci ci ci
y r , A needs the private key xi
0 i

of the proxy signer U i . Computation of the


bi = h zi δ ici = h wi −ci si + ci d δ ici = h wi h ci d −ci si δ ici
private key xi from the public key yi is
= h wi h −ci ( si − d )δ ici = h wi δ i− ci δ ici = h wi computationally infeasible, since it is based on the
discrete logarithm problem (DLP) for a large
prime q. As a result, except U i no one can
calculate a i and hence, our scheme satisfies the
unforgeability property.
74 (IJCNS) International Journal of Computer and Network Security,
Vol. 2, No. 5, May 2010

• Revocable anonymity: Let an untrustworthy proxy revocable anonymity.


signer can produce a proxy ring signature which References
can pass the verification phase. But then the
original signer can revoke the anonymity of his [1] C. Hu, P. Liu, and D. Li. New Type of Proxy Ring Sig-
identity. Now, to open the signature and reveal the
nature Scheme with Revocable Anonymity and No Info
actual identity of the signer the verification of the
sˆ i
Leaked. In Multimedia Content Analysis and Mining
equation g ri = V yi , where i = 1,⋅ ⋅ ⋅, n is (MCAM 2007), LNCS, volume 4577, pages 262–266,
needed. If for some i , the check is valid, then U i 2007.
[2] W.D. Lin and J.K. Jan. A security personal learning tools
becomes the actual signer. This is impossible again using a proxy blind signature scheme. In Proceedings of
because V in the signature International Conference on Chinese Language
δ = (m, A, zN , c N , r N ,V ) itself is not a random Computing, Illinois,USA, pages 273–277, July 2000.
number. It depends upon the public key of the [3] M. Mambo, K. Usuda, and E. Okamot. Proxy
original signer and the proxy key of proxy signer as signatures: delegation of the power to sign message .
−d
y0−1
V = g yi .Thus, our scheme also preserves the IEICE Transaction Functional, E79-A(9):1338–1353,
1996.
property of revocable anonymity. [4] R.L. Rivest, A. Shamir, and Y. Tauman. How to leak a
secret. In Advances in Cryptology-Asiacrypt 2001,
5. Performance Comparison of Our Scheme LNCS, volume 2248, pages 552–565. Springer-Verlag,
with Hu et al.’s Proxy Ring Signature Scheme 2001.
In this section, we compare the computational costs of [5] Kyung-Ah Shim. An Identity-based Proxy Signature
different phases of our scheme with those for Hu et al’s Scheme from Pairings. In ICICS 2006, LNCS, volume
scheme. 4307, pages 60–71. Springer-Verlag, 2006.
[6] J. Xu, Z. Zhang, and D. Feng. ID-Based Proxy Signature
Table 1: Performance comparison between our scheme and Using Bilinear Pairings. In ISPA Workshops, LNCS,
Hu et al.’s proxy ring signature scheme. volume 3759, pages 359–367. Springer-Verlag, 2005.
[7] L. Yi, G. Bai, and G. Xiao. Proxy multi-signature
scheme: a new type of proxy signature scheme.
Electronics Letters, 36(6):527–528, 2000.
[8] F. Zhang and K. Kim. Efficient ID-based blind
signature and proxy signature from pairings. In
Information Security and Privacy, volume 2727, pages
218– 219. Springer Berlin, 2003.
[9] J. Zhang and Y. Yang. On the Security of a Proxy
Ring Signature with Revocable Anonymity. In 2009
Notes: TM: time taken for a modular multiplication, TE: International Conference on Multimedia Information
time taken for an exponential operation, TH: time taken for a Networking and Security (MINES), volume 1, pages
one-way hash function. 205–209, 2009.
[10] K. Zhang. Threshold proxy signature schemes. In 1997
We have compared the computational costs of different Information Security Workshop, Japan, volume 1396,
phases of our scheme with those for Hu et al’s scheme in pages 282–290. Springer Berlin, September, 1997.
Table 1. From this table, we see that our scheme requires
one modular multiplication less than Hu et al’s scheme.
Thus, the computational costs of our scheme are also
comparable with Hu et al’s signature scheme.

6. Conclusion
In this paper, we have proposed an improved proxy ring
sig-nature with revocable anonymity to eliminate the
security flaws in Hu et al's scheme. The proposed scheme
allows the original signer to know exactly who the signer
is. We have given correctness proofs of our scheme and
analyze the security aspects of our scheme. The security
of the proposed scheme is based on the security of the
DLP problem. We have also shown that our scheme
preserves the properties of unforgeability as well as
(IJCNS) International Journal of Computer and Network Security, 75
Vol. 2, No. 5, May 2010

Coloring of Triangle Free Girth Graphs with


Minimal k-Colors
Dr. Mohammad Malkawi1 and Dr. Mohammad Al-Hajj Hasan2
1
Middle East University, Amman, Jordan, mmalkawi@aimws.com
2
Middle East University, Amman, Jordan hajhasan100@yahoo.com

Abstract: It is known that there exist triangle free graphs with that, while the number of colors grows linearly, the number
arbitrary high chromatic number. A recursive construction of of nodes grows exponentially. Just like any other graph,
such graphs was first described by Blanches Descrates and girth-base graphs once constructed are difficult to color with
Mycielski. They have shown that for any positive integer k, there the minimum number of colors, especially when the number
exists a k-chromatic graph containing no triangle. In this paper, of nodes is relatively large.
we introduce an algorithm which detects the chromatic number
of an arbitrarily large girth-base graph and assigns colors to its
Lemma 1: If a graph is a Girth-g triangle free graph with n
nodes using the minimal number of colors, namely with exactly
k colors.. The algorithm complexity is O(Lg(n)), where n is the
nodes, then there exists a k-coloring of the graph, where k =
number of nodes of the graph. lg [(n+1)/3] + 2

Keywords: Graphs, Graph Girth, Graph Coloring, Chromatic


Number, Triangle-Free Graphs, Coloring Algorithm.

1. Introduction
There exist triangle free graphs with arbitrary high v1
chromatic number [4,5,6,7]. A recursive construction of g- v2
girth graphs is described in [1,2,3]. Blanches Descrates and
Mycielski have shown that for any positive integer k, there v5
exists a k-chromatic graph containing no triangle [9]. In this v3
paper, we will introduce an algorithm, which colors such
graphs with exactly k colors. First, we show how the k- v4
chromatic graphs are constructed using girth graphs.
A girth g-graph is a triangle free graph with the
shortest cycle containing g nodes. Blanches Descrates and Level 0, Girth 5, 3 Colors Graph
Mycielski [9] showed how to construct a k-chromatic graph
using a 5-girth graph (Figure 1, level 0).
v1
Call the original 5-node graph a level (0) graph. Add 6
new nodes to the graph (u1, u 2, u 3, u 4, u 5) and u.
Connect node ui to the neighbors of node vi . Obviously u1 v2
nodes ui and vi can be colored with the same color, since
they are not interconnected. Now connect u to (u1 , u 2, u 3 ,
v5 u5 u2
u 4 , u 5). Node u must be colored with a new color. The
resulting graph is the Grötzch graph with 11 nodes, no u
triangles, girth 4, and exactly 4 colors. Call this graph a
level (1) graph. In the same manner, we can construct a 5-
u4 u3
chromatic graph from the 11-node Grötzch graph. We add
12 new nodes (11+1). We connect each of the newly added
11 nodes to the neighbors of one and only one of the nodes v3
in the original 11-node graph. The newly added nodes will
be colored with the same colors as the original 11 nodes. v4
The 12th node connects to the newly added 11 nodes and
requires a new color. The total number of colors used is 5
colors. Call this graph a level (2) graph. By repeating this Level 1, 4 Colors Graph
process, we can obtain a triangle free graph with any
chromatic number k= 3+i, where (i) is the level of the Figure 1: Girth g Graph Construction and Coloring
graph.

The number of nodes in a graph constructed in this


manner is n = (5*2i)+( 2i) – 1 = 6*2i– 1 = 3*2k-2 – 1. Note
76 (IJCNS) International Journal of Computer and Network Security,
Vol. 2, No. 5, May 2010

The idea behind the algorithm was first observed when


constructing an exam scheduling algorithm with special
constraints [8].
This paper introduces an algorithm which detects the Theorem 1: Algorithm “Color Girth triangle Free Graphs”
chromatic number of an arbitrarily large girth-base graph will color all k-chromatic girth-g graphs with exactly k
and assigns colors to its nodes using the minimal number of colors.
colors. The algorithm complexity is O(Lg(n)). A formal First, we will show an example of how the algorithm can
definition of the algorithm is provided in the next section. color the constructed graphs with minimal number of colors.
The example will provide a ground for proof by induction.
We will also provide a formal proof for the theorem.
2. Coloring of k-chromatic Girth Graphs Example 1: Consider a level 2, 5-chromatic girth-4 graph.
The number of nodes in the graph is 23. The graph is
2.1 Algorithm Color Girth Triangle Free Graphs
illustrated in a matrix format in Table 1. For this graph the
Step 1: Sort the nodes in the graph based on the degree of
chromatic number is k=lg[(23+1)/3]+2 = 3+2 = 5.
the nodes (largest first)
The graph is initially constructed with nodes 1-5 (level 0).
Step 2:
At level 1, nodes 6-10 are added; node 6 connects to
• Select the first node in the list
neighbors of 1, node 7 connects to neighbors of 2, and so
• Color the node with the smallest available color (color 1
on. Then node 11 is added and connected to nodes 6-10. At
for the first node)
level 2, we add nodes 12-22. Node 12 connects to neighbors
• Check the neighbors of this node; Color all the of nodes 1 through 11 respectively. Then node 23 is added
uncolored nodes in the list of neighbors and connected to nodes 12-22. The degree of each node is
• Move to the next node in the main list shown in the table.
Step 3: Repeat Step 2 until all nodes are colored

highest degree of 10) is the last node added at level 1. Let’s


Sort the nodes in descending order based on the nodes call nodes 23 and 11 the roots of level 2 and 1 respectively.
degree. Note that node 23 (with the highest degree of 11) is According to the algorithm, we start with node 23. We color
the last node added at level 2 and node 11 (with the next node 23 with the first available color, say the red color.
(IJCNS) International Journal of Computer and Network Security, 77
Vol. 2, No. 5, May 2010

Node 23 has 11 neighbors. All the neighbors can be colored c. 3rd stage: 3 nodes (23+1/8). Number of colors is 1
with the same color, since by definition they are not d. 4th and 5th stages: 2 nodes. Number of colors is 1
interconnected with each other. So we color nodes 12-22 2. The total number of steps required to color the graph is
with blue. The number of nodes colored at this step is 5 = Lg 23
(1+11) = 12. Actually this is equal to the number of nodes
added at level 2, i.e., (N+1)/2.
2.2 Proof:
We now present a formal proof of the theorem. By
Next we move down the list to the root node at level 1,
construction, a girth graph consists of two major parts; the
i.e., node 11 with degree 10. By definition, node 11 is not
foundation, which is the 5-node cycle, and a multi-level
connected to node 23. Thus it may reuse the red color. Half
structure of nodes. Each level adds twice the number of
of the neighbors of node 11 are also neighbors of node 23
nodes to the previous level plus one root. The root at each
since they were added at the second level, and thus they
level is connected only to the newly added nodes, and is
must have been colored at the previous step with the blue
isolated from all the nodes added at the previous level(s).
color (nodes 19-22). The other half (nodes 6-10) were added
The largest degree node is the root of the last level in the
at level 1. Each of these nodes is connected to at least one of
graph. The degree of this node is d=(N-1)/2. The next
the nodes that have been colored at the previous step. A new
largest degree node is the root of the next level down, with
color, say color green, is required to color nodes 6-10. Note
degree = d-1, and so on.
that nodes 6-10 are not connected within each other, so they
The algorithm sorts the nodes of the graph in a
all can use the same color. At the end of this step, all nodes
descending order based on the degree of nodes. By
added at level one (5+1) are colored, and only one new color
definition, the largest degree node is the root of the last
is added.
(highest) level.
Assume that we construct a girth graph with (i) levels.
The next node in the list is node 5. Note that at this
For (i=0), the graph has 5 nodes. For (i=1), the graph has 11
stage, we have arrived at the original 5 nodes cycle (1
nodes. For (i=5), the graph has 191 nodes. At the (ith) level,
through 5). All of these nodes have the same degree. So we
the number of nodes is N=(5*2i)+( 2i)-1. The node with the
can start with any of them and get the same result. Node 5
largest degree is the last node added to the graph, i.e., the
has 8 neighbors. 6 out of 8 nodes have already been colored
root at level (i) and is connected to (N-1)/2-1 nodes; so the
with colors green and blue. Node 5 can take the color red.
degree at level (i) di = (3*2i-1). The next largest degree node
Note that color red is only used by the root nodes (11 and
is the root node added at the previous level (i-1). This node
23) at levels 1 and 2. These nodes do not connect to any of
is connected to nodes at the current level (i-1) and nodes at
the inner most 5-nodes cycle. The neighbors of 5 (nodes 1
the upper level (i). The number of nodes connected at the
and 4) require a new color, say the yellow color. The total
current level (i-1) = (3*2i-1-1). The number of nodes
number of nodes colored at this stage is (2+1). It is worth
connected to the root at the upper level (i) is = (3*2i-1 -1). So
noting that the inner 5-node cycle requires at most 3 colors.
the degree at level (i-1), di-1 =2*(3*2i-1-1) = 3*2i-2. The
One of the already used colors can certainly be reused. This
next largest degree node is the root at level (i-2). The root is
is the color given to the root nodes added at each of the
connected to (3*2i-2-1) nodes at level (i-2). It is connected to
subsequent levels of the graph construction. So, when the
same number of nodes at level (i-1). It is also connected to
algorithm reaches the last 5 nodes in the graph, only 2 new
2*(3*2i-2-1) at level (i). So the degree at level (i-2) di-2 =
colors will be required.
(3*2i-2-1) + (3*2i-2-1) + 2*(3*2i-2-1) = (3*2i-2-1)*22. In
The next node in the list is node 1. Node 1 has already been
general, the degree of a root node at level (i-k), where k =
colored with the yellow color. All the neighbors of node 1
0,1, 2, … (i-2) is given by di-k= (3*2i-k-1)* 2k.
have been colored except for node 2, which can take the
For example, let (i=5). The total number of nodes in
color red. The next node in the list is node 2. Node 2 has
the graph is (6*25-1) = 191. d5= (3*25-1) = 95; d4= 2*(3*24 -
already been colored. All of its neighbors are colored except
1) = 94; d3= 22*(3*23 -1) = 92; d2= 23 *(3*22-1) = 88.
for node 3. Node 3 requires a new color, say the color pink.
The algorithm sorts the nodes based on node degrees
in a descending order. Thus, the algorithm will color the
At this stage all the nodes of the graph have been
nodes starting with the roots at each level.
colored with five colors, and the algorithm terminates. The
At level (i), the algorithm will color the root node and
termination criterion of the algorithm is simple. The
all its adjacent nodes. Since the adjacent nodes are not
algorithm maintains a list of all the nodes that have not been
interconnected, they can assume the same color. The root
colored. Every time a node is colored, the node will be
will have a different color. So step one, will consume two
removed from the list. The algorithm terminates when the
colors. The next step will take care of the nodes at the next
list becomes empty.
lower level. Since the root at this level is not connected to
We observe the followings from the process of coloring the
the root at the upper level, it can assume the color of the
graph.
root at the upper level; so no new color is consumed. The
1. The number of nodes and colors covered at each stage
neighbors of the root at this level are split in two sets. One
are as follows:
set belongs to the upper level, so this set has already been
a. First stage: 12 nodes = ((23+1)/2). Number of colors
colored. The second set is not inter-connected, so the nodes
used is 2
of this set can all be colored with the same color. A new
b. 2nd stage: 6 nodes = ((23+1)/4). Number of colors is
color will be consumed. Similarly, at the next level, the root
1
78 (IJCNS) International Journal of Computer and Network Security,
Vol. 2, No. 5, May 2010

can assume the same colors of the previous roots, since they
are not interconnected. The neighbors of this node are split Authors Profile
in 3 sets. Two sets belong to the upper 2 levels and one set Dr. Mohammad Malkawi received his
belongs to the current level. The nodes, which belong to the Ph.D. degree in computer engineering
upper 2 levels, have been colored at the previous steps. The from the University of Illinois at Urbana-
nodes in the current level are not interconnected, so they can Champaign in 1986. He received his BS
assume one color. Continuing in this manner, the algorithm and MS in computer engineering in 1980
and 1983. He was a member of the High
will consume one color at each level until it reaches the
Productivity Computing Systems team at
lowest 5 nodes in the graph, where it will consume 2 new
SUN Microsystems, and the high availability platform team at
colors. Motorola. Currently, he is associate professor at Middle East
Thus, the algorithm detects the structure of the graph University in Jordan.
and colors the nodes with the minimal number of
Mohammad M Al-Haj Hassan obtained
colors 2 + ∑1 . The algorithm also uses minimum number
i +1
his B.Sc. and Master degrees from The
University of Jordan in 1973 and 1977
of steps because it colors the roots and their neighbors first. respectively, and his Ph.D. degree in
Computer Science from Clarkson
University at NY / USA. His main field
3. Conclusions of Specialization is Computer Algorithms
This paper presents a coloring algorithm which colors with specific concentration on Graph
a girth-g, triangle free graphs with arbitrarily large k- Algorithms & Their Applications. Other
chromatic number. The algorithm detects the structure of a fields of research are: Machine Learning,
girth-g graph and colors the graph with exactly k colors. Parallel Computations and Algorithms,
The algorithm terminates in O(Lg(n)) steps. Distance Learning and Web-Based Courses Design. Professor M.
Al-Haj Hassan was the Dean of several Faculties in several
universities. He is a member in the Editorial Board and/or referee
of several journals. He has been the Secretary General of The
International Arab Conference on Information Technology (ACIT)
References
for 4 years. Currently, he is a professor of Computer Science and
[1] Bollobas,B., Sauer,N.: ”Uniquely Colorable Graphs
the Vice President at Middle East University in Jordan.
with Large Girth,” Canad. J. Math. 28 (1976), no.
6, 1340-1344.
[2] Emden-Weinert,T., Hougardy,S., Kreuter,B.:
”Uniquely Colorable Graphs and the Hardness of
Coloring Graphs of Large Girth,” Com-bin.
Probab. Comput. 7 (1998), no. 4, 375-386.
[3] Erdos,P.: ”Graph Theory and Probability,” Canad.
J. Math 11 (1959), 34-38.
[4] Muller,V.: ”On Colorings of Graphs Without Short
Cycles,” Discrete Mathematics 26 (1979), 165-176.
[5] Nesetril,J., Zhu,X.: ”Construction of Sparse Graphs
with Prescribed Circular Colorings,” Discrete
Mathematics 233 (2001), 277-291.
[6] Steffen,E., Zhu,X.: ”Star Chromatic Numbers of
Graphs,” Combinatoria 16 (1996), no. 3, 439-448.
[7] Zhu,X.: ”Uniquely H-colorable Graphs with Large
Girth”, J. Graph Theory 23 (1996), no. 1, 33-41.
[8] Mohammad Malkawi, Mohammad Al-Haj Hassan,
and Osama Al-Haj Hassan, “A New Exam
Scheduling Algorithm Using Graph Coloring”, The
International Arab Journal of Information
Technology, Vol. 5, No. 1, 2008; pp. 80-86.
[9] Soifer, Alexander “Mathematics of Coloring and
the Colorful Life of its Creators”, Springer; pp, 83-
86; ISBN: 978-0-387-74640-1
(IJCNS) International Journal of Computer and Network Security, 79
Vol. 2, No. 5, May 2010

An Efficient Solution for Privacy Preserving


Association Rule Mining
Chirag N. Modi1, Udai Pratap Rao1 and Dhiren R. Patel2
1
Department of Computer Engineering, Sardar Vallabhbhai National Institute of Technology,
Ichchhanath, Surat, India-395 007
cnmodi.956@gmail.com
upr@coed.svnit.ac.in
2
Department of Computer Science & Engineering, Indian Institute of Technology Gandinagar,
Ahmedabad, Gujarat, India-382 424
dhiren@iitgn.ac.in

suppose the Lipton Tea supplier misuse the database and


Abstract: The recent advances of data mining techniques
played an important role in many areas for various applications.
mines association rules related to the Tata Tea, saying that
However the misuse of these techniques may disclose the private most of the customers who buy bread also buy Tata tea.
or sensitive information which database owners do not want Lipton tea supplier now runs a coupon scheme that offers
reveal to others. To preserve privacy for sensitive association some discount on bread with purchase of Lipton Tea. So, the
rules in statistical databases, many approaches have been found. amount of sales on Tata Tea is down rapidly and Tata Tea
In this paper, we propose two heuristic blocking based supplier cannot offer tea at low price to us as before and
algorithms named ISARC (Increase Support of common Lipton monopolizes the tea market and is not offering tea at
Antecedent of Rule Clusters) and DSCRC (Decrease Support of low price to us as before. As a result, we may start losing
common Consequent of Rule Clusters) to preserve privacy for business to our competitors. So, releasing database with
sensitive association rules. Proposed algorithms cluster the sensitive knowledge is bad for us. This scenario leads to the
sensitive rules based on some criteria and hide them in fewer
research of sensitive knowledge (or rule) hiding in database.
selected transactions by using unknowns (“?”). They preserve
The knowledge privacy problem, in context of association
certain privacy for sensitive rules in database, while
maintaining knowledge discovery. An example illustrating rule mining which is proved NP hard in [1]. There are
proposed algorithms is given. We also discuss the performance several heuristic techniques have been found to solve above
results of both the algorithms. problem. M.Attallah et al. [1] were the first to propose
Keywords: Data Mining, Association Rule Hiding, heuristic algorithms which decrease significance of the rules
Knowledge Hiding, Clustering, Sensitivity, Database Security and for hiding the sensitive rules in databases. Verykios et al. [5]
Privacy. proposed five algorithms which reduce the support or
confidence of sensitive rules by removing or inserting some
1. Introduction items in selected transactions. These algorithms hide only
one sensitive rule or sensitive item at a time and provide
Recently privacy preserving data mining (PPDM) become a
certain privacy. Y-H Wu et al. [10] proposed a method to
hot directive to prevent disclosure of sensitive knowledge or
reduce the side effects produced by sanitization, which
rules by data mining techniques. M.Attallah et al. [1] was
formulates set of constraints related to the possible side
the first to present disclosure limitation of sensitive
effects and allows item modification based on more
knowledge by data mining algorithms and proposed
significant constraint. K.Duraiswamy et al. [9] proposed an
heuristic algorithms to prevent disclosure of sensitive
efficient clustering based approach that clusters the sensitive
knowledge. The authors in [2] presented some suggestions
rules based on common item in R.H.S. of the sensitive rules
for defining and measuring privacy preservation and showed
and hides the R.H.S. items in each cluster by reducing
how these relate to both privacy policy and practice in wider
support of it.
community and to techniques in privacy preserving data
mining. Oliveria and Saygin et al. [4] presented taxonomy Y.Saygin et al. [8][11] were the first proposed blocking
of attacks against sensitive knowledge. Clifton et al. [7] was approach to increase or decrease the support of item by
the first to show the importance of association rule hiding placing unknowns (“?”) in place of 1’s or 0’s .So, It is
and also discussed security and privacy implication of data difficult for an adversary to know the value behind
mining. unknowns (“?”). The safety margin is also used to show how
much below the minimum threshold new significance of a
1.1 Motivation
rule should. This approach is effective and provides certain
Consider, as a tea reseller we are purchasing tea at low price privacy. Wang and Jafari [6] proposed more efficient
from two companies, Tata Tea Ltd. and Lipton Tea Ltd.,
approaches than other approaches as in [8][11]. They
while granting them to access our customer database. Now,
require less number of database scans and prune more
80 (IJCNS) International Journal of Computer and Network Security,
Vol. 2, No. 5, May 2010

number of rules, while hiding many rules at a time. But they sanitized database. First goal considers privacy issue.
produce undesirable side effects. Second goal is related to the usefulness of sanitized dataset.
Third goal is related to the side effect of the sanitization
In this paper, we propose two heuristic blocking based process.
algorithms named ISARC (Increase Support of common
Antecedent of Rule Clusters) and DSCRC (Decrease 2.2 Basic Concepts
Support of common Consequent of Rule Clusters) to
2.2.1 Rule Hiding by Reducing Confidence
preserve privacy for sensitive association rules in database.
To hide sensitive rules, proposed algorithms replace the 1’s To hide an association rule like X ⇒Y, we decrease its
or 0’s by unknowns (“?”) in fewer selected transactions for confidence (|X∪Y|/|X|) to be smaller than pre-specified
minimum confidence threshold (MCT). To decrease the
decreasing their confidence. So, it is difficult for an
confidence of a rule, two strategies as in [5] can be
adversary to know the value behind unknowns (“?”). To
considered. The first one is to increase the support of rule
decrease the confidence of specified rules, first algorithm antecedent (X), but not support of generating itemset
increases the support of rule antecedent, while another (X∪Y). The second one is to decrease the support of
decreases the support of rule consequent. They can hide generating itemset (X∪Y). To decrease support of
many rules at a time in rule clusters. So, they are more generating itemset, we decrease the support of rule
efficient than other heuristic approaches. Moreover they consequent Y only in transactions containing both X and Y.
maintain data quality in database. So, it can reduce the rule confidence faster than reducing the
support of X.
The rest of this paper is organized as follows: In section
2, we discuss some related background and concepts, while
2.2.2 Increasing or Decreasing Support of item by
a detailed description of proposed algorithms (ISARC and
using Unknowns
DSCRC) is given in section 3. An example illustrating
ISARC and DSCRC is given in section 4. In section 5 we Instead of distorting transactions, we increase or decrease
support of one item at a time in a selected transaction by
discuss and analyze the performance results of both the
replacing from 0 to unknowns (“?”) or 1 to unknowns (“?”)
proposed algorithm. Finally in section 6, we conclude
respectively. A detailed overview of unknown technique to
proposed algorithms by defining some future trends.
decrease or increase support of item is given in [8].

2. Theoretical Background and 2.2.3 Clustering


Preliminaries We cluster the sensitive rules based on common antecedent
or common consequent to hide many rules at a time by
The standard definition of association rule is given in [5], replacing fewer 1’s or 0’s to unknowns (“?”) in selected
which is as follows: Let I={i1,…,im}be a set of items. transactions.
Database D={T1,….,Tn}is a set of transactions, where
Ti⊆I(1≤i≤m). Each transaction T is an itemset such that 2.2.4 Sensitivity
T⊆I. We say that a transaction T supports X, a set of items We use sensitive characteristics of sensitive rules to select
in I, if X⊆I. The association rule is an implication formula transactions for modification. A detailed overview of
like X⇒Y, where X⊂I, Y⊂I and X∩Y=∅. The itemset sensitivities is given in [13]. Following sensitivities are used
X∪Y called generating itemset which lead to the generation in our proposed algorithms: (1) Item Sensitivity: is the
of an association rule which is consists of two parts: left frequency of data item exists in the number of the sensitive
hand side (L.H.S.) item (X) called rule antecedent and right association rules containing sensitive item. It is used to
hand side (R.H.S) item (Y) called rule consequent. The rule measure rule sensitivity. (2) Rule Sensitivity: is the sum of
with support s and confidence c is called, if |X∪Y|/|D| ≥ s the sensitivities of all items containing that association rule.
and |X∪Y|/|X| ≥ c. Because of interestingness, we consider (3) Cluster Sensitivity: is the sum of the sensitivities of all
user specified thresholds for support and confidence, MST association rules in cluster. Cluster sensitivity defines the
rule cluster which is most affecting to the privacy. (4)
(minimum support threshold) and MCT (minimum
Sensitive Transaction: is the transaction in given database
confidence threshold). A detailed overview of association
which contains sensitive item. (5) Transaction sensitivity: is
rule mining algorithms are presented in [3].
the sum of sensitivities of sensitive items contained in the
2.1 Problem Description transaction.
Let given dataset D, a set of association rules R over D is
given and also Rh⊆R, Rh is specified as sensitive rules set. 3. ISARC and DSCRC - Proposed Privacy
Now, the problem is to find sanitized database D’ such that
Preserving Association Rule Mining
there exist only a set of rules R-Rh, can be mined. It should
achieve one of the following goals: (1) All the sensitive Algorithms
association rules must be hidden in sanitized database. (2)
All the rules that are not specified as sensitive can be mined 3.1 Proposed Framework
from sanitized database. (3) No new rule that was not The proposed common framework for ISARC and DSCRC
previously found in original database can be mined from is shown in Fig. 1. As shown in Fig. 1, First both the
(IJCNS) International Journal of Computer and Network Security, 81
Vol. 2, No. 5, May 2010

algorithms mine the association rule from given database D Now, for each cluster, it indexes transactions which are
by using association rule mining algorithms e.g. Apriori not fully supporting to common antecedent of cluster and
algorithm [3]. Then some rules from mined rules are sorts transactions for the first cluster in ascending order of
specified as sensitive. Now the processes of proposed their sensitivity. The hiding process of ISARC tries to hide
framework are different for both the algorithms. ISARC all the sensitive rules by placing an unknown (“?”) for the
algorithm groups sensitive rules based on common L.H.S. place common antecedent item of the rule clusters, from the
item (rule antecedent) of specified rules, where DSCRC sensitive transactions. While loop continues until all the
algorithm groups sensitive rules based on common R.H.S.
rules are not hidden in cluster. A detailed overview of
item (rule consequent) of specified rules. For each rule
maxsupport, minsupport, maxconfidence and minconfidence
cluster, ISARC indexes the transactions which are not
is given in [8]. Every time in while loop it updates the
supporting to common antecedent of cluster, where DSCRC
indexes the fully supporting transaction to cluster. Then sensitivity of modified transactions in other cluster and sorts
both the algorithms calculate all the sensitivities as them for other clusters. Finally algorithm updates all the
explained in section 2.2.4. modified transactions in original database and produces
Now, both the algorithms sort the clusters based on sanitized database D’.
decreasing order of their sensitivities. For each sorted
INPUT: Source database D, Minimum Confidence Threshold
clusters, ISARC sorts the indexed transaction in ascending
(MCT), Minimum support threshold (MST), SM.
order of their sensitivities, where DSCRC sorts the indexed
transaction in descending order of their sensitivities. Then OUTPUT: The sanitized database D’.
rule hiding procedure of ISARC increases the support of
1. Begin
common antecedent item of each cluster in sorted
2. Generate association rules from the database D.
transactions, where rule hiding procedure of DSCRC 3. Selecting the Sensitive rule set Rh with single antecedent
decreases the support of common consequent item of each and consequent e.g. x⇒y.
cluster in sorted transaction, until all the rules are not 4. Clustering-based on common item in L.H.S. of the
hidden in each cluster. Rule hiding procedure increases or selected rules.
decreases the support of item based on strategy mentioned in 5. Find the sensitivity of each cluster.
section 2.2.1 and section 2.2.2. After hiding process, both 6. For each cluster, index the transactions that are not fully
the algorithms update the modified transaction into original support the common antecedent item of cluster.
7. Sort generated clusters in decreasing order of their
database and produce the final privacy aware database for
sensitivity.
releasing. 8. For the first cluster, sort selected transaction in
ascending order of their sensitivity.
9. For each cluster c∈ C
10. {
11. While(sensitive rule set Rh ∈ c is not empty)
12. {
13. Take first transaction of cluster c.
14. Place an unknown (“?”) in the transaction for the
place of common antecedent of c.
15. Update the sensitivity of modified transaction for
other cluster and sort it.
16. For i = 1 to no. of rules∈c
17. {
18. Update maxsupport of antecedent of r∈Rh∈c
and minconfidence of the rule r.
Figure 1. Proposed common framework for ISARC and
19. If(minconfidence of r < MCT-SM)
DSCRC algorithms
20. {
21. Remove rule r from Rh.
3.2 ISARC Algorithm 22. }
The proposed ISARC algorithm is shown in Fig. 2. A source 23. }
database D, minimum confidence threshold MCT, minimum 24. Take next transaction of cluster c.
support threshold MST and safety margin SM is given as 25. }
input to ISARC. Safety margin used to show how much 26. End while
below the new minimum confidence or minimum support of 27. }
rule should [8]. According to proposed framework, ISARC 28. End for
algorithm first generates number of possible association 29. Update the modified transactions in D.
rules satisfying MST and MCT from the given database D. Figure 2. Proposed ISARC (Increase Support of common
Then it selects a set of sensitive rules RH with single Antecedent of Rule Cluster) algorithm
antecedent and consequent for hiding and clusters them
based on common antecedent. Then it finds sensitivity of
each cluster and sorts them in decreasing order of their
sensitivity.
82 (IJCNS) International Journal of Computer and Network Security,
Vol. 2, No. 5, May 2010

3.3 DSCRC Algorithm Both the proposed ISARC and DSCRC algorithms hide
The proposed DSCRC algorithm is shown in Fig. 3. It many rules in an iteration of hiding process and modify
clusters the sensitive rules based on common R.H.S. item of fewer transactions in database. But DSCRC hides rules
rules and sorts sensitive transaction in decreasing order of faster than ISARC, because it reduces the confidence of
their sensitivities. sensitive rule faster than ISARC. The safety margin is also
The hiding process of DSCRC tries to hide all the used in both the algorithms to provide better privacy.
sensitive rules by placing an unknown (“?”) for the place
common consequent of the rule clusters, from the sensitive
transactions. While loop continues until all the rules are not
4. Example
hidden in cluster c. Every time in while loop it updates the A sample transaction database D taken from [8] is shown in
sensitivity of modified transaction in other cluster and sorts Table 1. TID shows unique transaction number. Binary
them for other clusters. Finally algorithm updates all the valued item shows whether an item is present or absent in
modified transactions in original database and produces that transaction. Suppose MST, MCT and SM are selected
sanitized database D’, in which most of the sensitive rules 50%, 70% and 0 respectively. Table 2 shows frequent
are hidden. itemsets satisfying MST, generated from sample database D.
In following, the possible number of association rules
INPUT: Source database D, Minimum Confidence Threshold satisfying MST and MCT, generated by Apriori algorithm
(MCT), Minimum support threshold (MST).
[2] are given: 0⇒1, 1⇒0, 0⇒3, 3⇒0. Suppose the rules
OUTPUT: The sanitized database D’. 0⇒1 and 0⇒3 are specified as sensitive and should be
hidden in sanitized database. There are one different L.H.S.
1. Begin item in selected rules, named “0” and two different R.H.S.
2. Generate association rules from the database D.
items in selected rules, named “1” and “3”. As shown in
Selecting the Sensitive rule set Rh with single antecedent
and consequent e.g. x⇒y.
Table 3(a), ISARC algorithm generates one cluster based on
4. Clustering based on common item in R.H.S. of the common L.H.S. item of the selected rules, where Table 3(b)
selected rules. shows rule clusters based on common R.H.S. item of the
5. Find the sensitivity of each cluster. selected rules, generated by DSCRC algorithm.
For each cluster, index the transactions that are fully
support the rules of cluster. Table 1: Sample database D
7. Sort generated clusters in decreasing order of their
sensitivity. Item Items (Binary
8. For the first cluster, sort selected transaction in TID
s Form)
decreasing order of their sensitivity
9. For each cluster c∈ C 0 013 1101
10. { 1 1 0100
11. While(sensitive rule set Rh ∈ c is not empty) 2 023 1011
12. {
13. Take first transaction of cluster c. 3 01 1100
14. Place an unknown (“?”) in the transaction for the 4 013 1101
place of common consequent of c.
15. Update the sensitivity of modified transaction for
Table 2: Frequent itemsets in sample database D
other cluster and sort it.
16. For i = 1 to no. of rules∈c
Frequent Itemsets with
17. {
Support(%)
18. Update minsupport and minconfidence of the
rule r∈Rh∈c. 0:80, 1:80, 3:60, 01:60, 03:60
19. If(minconfidence of r < MCT-SM or
minsupport of r < MST-SM) For ISARC algorithm, cluster 1 includes sensitive rules
20. {
namely 0⇒1 and 0⇒3. For cluster 1 sensitivities of items 0,
21. Remove rule r from Rh.
22. } 1, and 3 have 2, 1 and 1 respectively. Total sensitivity for
23. } cluster-1 is 6. For DSCRC algorithm, cluster 1 includes
24. Take next transaction of cluster c. sensitive rule namely 0⇒1, where cluster 2 includes 0⇒3.
25. } For cluster 1 sensitivities of items 0 and 1 have 1 and 1
26. End while respectively, where sensitivities for items 0 and 3 in cluster
27. } 2 have 1and 1 respectively. Total sensitivity for cluster-1
28. End for and cluster-2 is 2 and 2 respectively.
29. Update the modified transactions in D.

Figure 3. Proposed DSCRC (Decrease Support of


common Consequent of Rule Cluster) algorithm
(IJCNS) International Journal of Computer and Network Security, 83
Vol. 2, No. 5, May 2010

Table 3: Clusters generated by both the algorithms modification, it updates the sensitivity of modified
transactions for other clusters. Table 5(b) shows final
Cluster-1(based on item 0), Rules {0⇒1, sanitized databases produced by DSCRC algorithm.
0⇒3}
Item Sensitivity
Table 5: Final sanitized databases produced by both the
0 2 algorithms
1 1
TID Items (Binary
3 1
Form)
Total cluster sensitivity 6 0 1101
(a). Rule clusters generated by ISARC algorithm 1 ?100
2 1011
Cluster-1(based on item 1), Cluster-2(based on item 3), 3 1100
Rule {0⇒1} Rule {0⇒3} 4 1101
Item Sensitivity Item Sensitivity (a). Final sanitized database produced by ISARC algorithm
0 1 0 1
1 1 3 1 TID Items (Binary
Total cluster Total cluster Form)
sensitivity 2 sensitivity 2 0 1?0?
(b). Rule clusters generated by DSCRC algorithm 1 0100

For each cluster, sensitive transactions are indexed. 2 1011


Indexed transactions with their sensitivity for both the 3 1100
algorithms are shown in Table 4. Clusters are sorted based 4 1101
on their sensitivity. Indexed transactions for ISARC (b). Final sanitized database produced by DSCRC algorithm
algorithm are shown in Table 4(a), where indexed Now, if we consider 1 for unknowns (“?”) in sanitized
transactions for DSCRC are shown in Table 4(b). For the database produced by ISARC algorithm and 0 for unknowns
first cluster, ISARC algorithm sorts transactions in (“?”) in sanitized database produced by DSCRC algorithm
increasing order of their sensitivity, where DSCRC and mine association rules from both the sanitized database,
algorithm sorts transactions in decreasing order of their we can see that most of the specified sensitive rules are
sensitivity. successfully hidden using less iterations and modifications
in transactions.
Table 4: Indexed transactions for modification for both the
algorithms
5. Experimental Results and Discussion
Cluster-1 For performance results of ISARC and DSCRC algorithms,
TID Sensitivity we used both algorithm to sanitize first 5k transactions of
1 1 real dataset given in [14] and applied Apriori algorithm on
both the produced sanitized database to mine association
(a). Transactions indexed by ISARC algorithm
rules. In our experiment, we selected 5 sensitive association
rules (namely 32⇒41, 38⇒41, 48⇒38, 38⇒170 and
Cluster-1 Cluster-2 170⇒38). The applied dataset has 39 association rules with
TID Sensitivity TID Sensitivity support ≥ 4% and confidence ≥ 20%. Then we evaluated the
0 2 0 2 performance metrics for both the algorithms. The
performance metrics for privacy preserving association rule
3 2 2 2
mining algorithms are given in [12].
4 2 4 2
(b). Transactions indexed by DSCRC algorithm Table 6: Performance results of ISARC and DSCRC
Now, hiding process of ISARC algorithm modifies algorithms
selected transactions of the cluster by placing unknowns
Parameters ISARC DSCRC
(“?”) for the place of common antecedent of cluster until all
HF 20.00 20.00%
the rules in cluster are not hidden. Table 5(a) shows final %
sanitized database produced by ISARC algorithm, where the MC 5.88% 32.35%
hiding process of DSCRC algorithm modifies selected AP 62.50 0%
%
transactions of each cluster by placing unknowns (“?”) for DISS(D,D’ 4.56% 0.42%
)
the place of common consequent of clusters until all the SEF 1.59 29.41
rules in cluster are not hidden and every time of
84 (IJCNS) International Journal of Computer and Network Security,
Vol. 2, No. 5, May 2010

As shown in Table 6, performance results of ISARC and [3] J. Han, M. Kamber. Data Mining: Concepts and
DSRRC are better in terms of hiding failure (HF), misses Techniques, Morgan Kaufmann Publishers, San
cost (MC), artifactual patterns (AP), dissimilarity (DISS), Francisco, pp. 227–245, 2001.
and side effect factor (SEF). They provide certain privacy [4] S.R.M. Oliveira, O.R. Zaïane, Y. Saygın. “Secure
and knowledge discovery. Here we selected 0.1% safety Association Rule Sharing”. In Proceedings of the 8th
margin. If we select higher safety margin, both the Pacific-Asia Conference on PAKDD2004, Sydney,
algorithms provide more privacy to sensitive rules. Australia, pp. 74–85, 2004.
[5] V.S. Verykios, A.K. Elmagarmid, E. Bertino, Y.
Performance results of both the algorithms depend on
Saygin, E. Dasseni. “Association Rule Hiding”. IEEE
database to modify and specified sensitive rules.
Transactions on Knowledge and Data Engineering,
We can see that both the proposed algorithms hide many Vol. 16, no. 4, pp. 434–447, 2004.
sensitive rules successfully, while maintaining knowledge [6] S.L. Wang, A. Jafari. “Using Unknowns for Hiding
discovery in terms of data quality By analyzing Sensitive Predictive Association Rules”. In
performance results,. The number of modifications in Proceedings IEEE International Conference on
database is very less because of clustering and use of Information Reuse and Integration (IRI 2005), pp.
sensitivities. Efficiency is improved by clustering which 223–228, 2005.
helps to hide many rules at a time by modifying less [7] C. Clifton, D. Marks. “Security and Privacy
Implications of Data Mining”. In Proceedings ACM
sensitive transactions.
SIGMOD International Conference on Management of
Suppose an adversary is more intelligent and he/she Data (SIGMOD’96), pp. 15–19, 1996.
knows that the original database is modified by some safety [8] Y. Saygin, V.S. Verykios, C. Clifton. “Using
margin and thresholds. If he/she mines association rules Unknowns to Prevent Discovery of Association Rules”.
satisfying support and confidence below the MST-SM and ACM SIGMOD, Vol. 30, no. 4, pp. 45–54, 2001.
MCT-SM respectively. Then he/she can derive sensitive [9] K. Duraiswamy, D. Manjula. “Advanced Approach in
rules from the sanitized database. Therefore, if random Sensitive Rule Hiding”. Modern Applied Science, Vol.
safety margin for each rule or each rule cluster is used in 3, no. 2, 2009.
[10] Y.H. Wu, C.M. Chiang, A.L.P. Chen. “Hiding
sanitization process, it can provide more privacy to sensitive
Sensitive Association Rules with Limited Side
rules.
Effects”. IEEE Transactions on Knowledge and Data
Engineering, Vol. 19, no. 1, pp. 29–42, 2007.
6. Conclusion and Future Scope [11] Y. Saygin, V.S. Verykios, A.K. Elmagarmid. “Privacy
Preserving Association Rule Mining”. In Proceedings
In this paper, we proposed two algorithms named ISARC International Workshop on Research Issues in Data
and DSCRC to hide sensitive rules in database for privacy Engineering (RIDE 2002), pp.151–163, 2002.
issue. Both algorithms provide certain privacy to sensitive [12] C.C. Aggarwal, P.S. Yu. Privacy-Preserving Data
rules by using unknowns and maintain data quality for Mining: Models and Algorithms, Springer, Heidelberg,
knowledge discovery. Through an example we have pp. 267–286, 2008.
demonstrated proposed algorithms and analyzed [13] S. Wu, H. Wang. “Research On The Privacy Preserving
performance results. Both algorithms can hide rules which Algorithm Of Association Rule Mining In Centralized
have single antecedent or consequent and they are more Database”. International Symposiums on Information
efficient than other heuristic approaches. Processing (ISIP), pp. 131 – 134, 2008.
Proposed algorithms viz; ISARC and DSCRC can be [14] T. Brijis, G. Swinnen, K.Vanhoof and G. Wets, “The
modified to hide sensitive rules which have different number use of association rules for product assortment
of L.H.S. items or R.H.S. items. In future, a parallelization decisions: a case study,” In Proceedings of the Fifth
International Conference on Knowledge Discovery and
can be also applied to improve efficiency of proposed
Data Mining, San Diego (USA), pp. 254-260, 1999.
algorithms.
Authors Profile
References
Chirag N. Modi was born in Patan, Gujarat,
[1] M. Atallah, E. Bertino, A.K. Elmagarmid, M. Ibrahim, India, on 3rd Feb 1987. He received his B.E.
V.S. Verykios. “Disclosure Limitation of Sensitive degree in Computer Engineering from S.P.
Rules”. In Proceedings of the 1999 IEEE Knowledge University Anand (Gujarat)-India in 2008. He
and Data Engineering Exchange Workshop (KDEX is Pursuing M.Tech degree in Computer
1999), pp. 45-52, 1999. Engineering at S. V. National Institute of
[2] C. Clifton, M. Kantarcioglu, J. Vaidya. “Defining Technology Surat (Gujarat)-India. His
research interests include Data Mining and
Privacy for Data Mining”. In Proceedings US Nat'l
Database security.
Science Foundation Workshop on Next Generation
Data Mining, pp. 126-133, 2002.
(IJCNS) International Journal of Computer and Network Security, 85
Vol. 2, No. 5, May 2010

Udai Pratap Rao received the B.E. degree in


Computer Science and Engineering in 2002 &
M.Tech degree in Computer Science and
Engineering in 2006, and currently working as
Assistant Professor in the Department of
Computer Engineering at S. V. National
Institute of Technology Surat (Gujarat)-
INDIA. His research interests include Data
Mining, Database security, Information Security, and distributed
systems.

Dr. Dhiren R. Patel is currently a visiting


Professor of Computer Science &
Engineering at IIT Gandhinagar,
Ahmedabad, India (on leave from NIT Surat,
India). He carries 20 years of experience in
Academics, Research & Development and
Secure ICT Infrastructure Design. His
research interests cover Security and
Encryption Systems, Web Services & Programming, SOA and
Cloud Computing, Digital Identity Management, e-Voting,
Advanced Computer Architecture etc. Besides numerous journal
and conference articles, Prof. Dhiren has authored a book
"Information Security: Theory & Practice" published by Prentice
Hall of India (PHI) in 2008. He is actively involved in Indo-UK,
Indo-French, and Indo-UK security research collaborations.
86 (IJCNS) International Journal of Computer and Network Security,
Vol. 2, No. 5, May 2010

A Modified Location-Dependent Data Encryption


for Mobile Information System with Interlacing, key
dependent Permutation and rotation
Prasad Reddy. P.V.G.D1, K.R.Sudha2 , P Sanyasi Naidu3
1
Department of Computer Science and Systems Engineering, Andhra University, Visakhapatnam, India,
prasadreddy.vizag@gmail.com
2
Department of Electrical Engineering, Andhra University, Visakhapatnam, India,
arsudhaa@gmail.com
3
Department of Computer Science and Systems Engineering, GITAM University, Visakhapatnam, India
snpasala@gitam.edu,

Abstract: The wide spread use of WLAN (Wireless LAN) and transfer of credit card information, financial details and
the popularity of mobile devices increases the frequency of data other important documents.
transmission among mobile users. In such scenario, a need for The basic goal of most cryptographic system is to transmit
Secure Communication arises. Secure communication is some data, termed the plaintext, in such a way that it cannot
possible through encryption of data. A lot of encryption be decoded by unauthorized agents[5][6][7][8][9]. This is
techniques have evolved over time. However, most of the data done by using a cryptographic key and algorithm to convert
encryption techniques are location-independent. Data encrypted
the plaintext into encrypted data or cipher text. Only
with such techniques can be decrypted anywhere. The
encryption technology cannot restrict the location of data
authorized agents should be able to convert the cipher text
decryption. GPS-based encryption (or geo-encryption) is an back to the plaintext.
innovative technique that uses GPS-technology to encode GPS-based encryption (or geo-encryption) is an innovative
location information into the encryption keys to provide location technique that uses GPS-technology to encode location
based security. In this paper a location-dependent approach is information into the encryption keys to provide location
proposed for mobile information system. The mobile client based security[12][13][14][15]. GPS-based encryption adds
transmits a target latitude/longitude coordinate and an LDEA another layer of security on top of existing encryption
key is obtained for data encryption to information server. The methods by restricting the decryption of a message to a
client can only decrypt the ciphertext when the coordinate particular location. It can be used with both fixed and
acquired form GPS receiver matches with the target coordinate. mobile.
For improved security, a random key (R-key) is incorporated in
The terms location-based encryption or geo-encryption are
addition to the LDEA key. The cipher text is obtained by
used to refer to any method of encryption in which the
interlacing , permuting and rotating based on the R-key.
encrypted information, called cipher text, can be decrypted
Keywords: data security, location-based key, mobile security, only at a specified location. If, someone attempts to decrypt
random generator, permutation the data at another location, the decryption process fails and
reveals no details about the original plaintext information.
The device performing the decryption determines its
1. Introduction
location using some type of location sensor such as a GPS
The dominant trend in telecommunications in recent years
receiver. Location-based encryption can be used to ensure
is towards mobile communication. The next generation
that data cannot be decrypted outside a particular facility -
network will extend today’s voice-only mobile networks to
for example, the headquarters of a government agency or
multi-service networks, able to carry data and video services
corporation or an individual's office or home. Alternatively,
alongside the traditional voice services. Wireless
it may be used to confine access to a broad geographic
communication is the fastest growing segment of
region. Time as well as space constraints can be placed on
communication industry. Wireless became a commercial
the decryption location.
success in early 1980’s with the introduction of cellular
Adding security to transmissions uses location-based
systems. Today wireless has become a critical business tool
encryption to limit the area inside which the intended
and a part of everyday life in most developed countries.
recipient can decrypt messages. The latitude/longitude
Applications of wireless range from common appliances that
coordinate of node B is used as the key for the data
are used everyday, such as cordless phones, pagers, to high
encryption in LDEA. When the target coordinate is
frequency applications such as cellular phones. The
determined, using GPS receiver, for data encryption, the
widespread deployment of cellular phones based on the
ciphertext can only be decrypted at the expected location. A
frequency reuse principle has clearly indicated the need for
toleration distance(TD) is designed to overcome the
mobility and convenience. The concept of mobility in
inaccuracy and inconsistent problem of GPS receiver. The
application is not only limited to voice transfer over the
sender can also determine the TD and the receiver can
wireless media, but also data transfer in the form of text ,
decrypt the ciphertext within the range of TD. Denning’s
alpha numeric characters and images which include the
model is effective when the sender of a message knows the
(IJCNS) International Journal of Computer and Network Security, 87
Vol. 2, No. 5, May 2010

recipient’s location L and the time that the recipient will be {


there, and can be applied especially effectively in situations read LDEA-key,R-key,n,C
where the recipient remains stationary in a well-known for i=1 to n
location. {
The mobile client transmits a target latitude/longitude Rrotate(C)
coordinate and an LDEA key is obtained for data X=permute(C)
encryption to information server. The client can only Interlace(X)
decrypt the ciphertext when the coordinate acquired form p= X LDEA key
GPS receiver matches with the target coordinate. For P=convert(p)
improved security, a random key (R-key) is incorporated in }
addition to the LDEA key. In the present paper the objective Permute(P)
is to modify the cipher by introducing the concept of key write P;
dependent circular rotation. In this the bits are rotated }
depending upon the R- key after whitening with the LDEA 4 Illustration of the Cipher:
key using the Exclusive – OR operation. Encryption :
2. Random number generator using quadruple vector: “The distance between every pair of points in the universe is
For the generation of the random numbers a quadruple negligible by virtue of communication facilities. Let us
vector is used[7][10]. The quadruple vector T is generated reach each point in the sky. This is the wish of scientists.”
for 44 values i.e for 0-255 ASCII values. ASCII equivalent is obtained
T=[0 0 0 0 0 0 0 0 1 1 ……………… 0 0 0 0 1 1 1 1 2 LDEA- key:2334719
2…………………….. 0 1 2 3 0 1 2 3 0 1 X=P xor LDEA key
……………………..3] After interlacing ,permuting and rotating with the
The recurrence matrix[1][2][3] [4] key,cipher text is obtained as shown in fig 1
0 1 0  Decryption: cipher text C after interlacing ,permuting and
A = 1 1 0  rotating with the key is as shown in Fig 2
0 0 1  P=X xor LDEA key,the required plain text is obtained.
is used to generate the random sequence for the 0-255
ASCII characters by multiplying r=[ A] *[T] and
considering the values to mod 4. The random sequence
generated using the formula [40 41 42]*r is generated.[10]
3. Development of the cipher:
Consider a plain text represented by P which is represented
in the form
P=[Pij] where i=1to n and j=1 to n ---1
Let the R-key matrix be defined by
K=[Kij] where i=1 to n and j=1 to n ---2
Let the cipher text be denoted by C=[ Cij] where i=1to n
and j=1 to n corresponding to the plain text (1)
(a)
For the sake of convenience the matrices P,K and C are
represented as
P=[p1 p2 ……pn2]
K=[k1 k2 ……kn2]
C=[c1 c2 ……cn2]
3.1 Algorithm for generation of R-key and LDEA key:
Algorithm:
Algorithm for Encryption:
{
read n,K,P,r
Permute(P)
For i=1 to n
{
p=convert(P);
X=p LDEA key (b)
Interlace(X) Figure 1. Prototype for Encryption
C1=Permute(X)
C=LRotate(C1)
}
Write(C)
}
Algorithm for Decryption:
88 (IJCNS) International Journal of Computer and Network Security,
Vol. 2, No. 5, May 2010

the primary concept. The cryptanalysis is discussed which


indicates that the cipher is strong and cannot be broken by
any cryptanalytic attack since this includes confusion at
every stage which plays a vital role in strengthening the
cipher.

6. Acknowledgements:
This work was supported by grants from the All India
Council for Technical Education (AICTE) project under
RPS Scheme under file No. F.No.8023/BOR/RID/RPS-
114/2008-09.

References

[1] K.R.Sudha, A.Chandra Sekhar and Prasad


Reddy.P.V.G.D “Cryptography protection of digital
signals using some Recurrence relations” IJCSNS
(a) International Journal of Computer Science and
Network Security, VOL.7 No.5, May 2007 pp 203-
207
[2] A.P. Stakhov, ”The ‘‘golden’’ matrices and a new kind
of cryptography”, Chaos, Soltions and Fractals 32 (
(2007) pp1138–1146
[3] A.P. Stakhov. “The golden section and modern
harmony mathematics. Applications of Fibonacci
numbers,” 7,Kluwer Academic Publishers; (1998).
pp393–99.
[4] A.P. Stakhov. “The golden section in the measurement
theory”. Compute Math Appl; 17(1989):pp613–638.
[5] Whitfield Diffie And Martin E. Hellman, New
Directions in Cryptography” IEEE Transactions on
Information Theory, Vol. -22, No. 6, November 1976
,pp 644-654
[6] Whitfield Diffie and Martin E. Hellman “Privacy and
Authentication: An Introduction to Cryptography”
(b) PROCEEDINGS OF THE IEEE, VOL. 67, NO. 3,
Figure 2. Prototype for Decryption MARCH 1979,pp397-427.
[7] A. V. N. Krishna, S. N. N. Pandit, A. Vinaya Babu “A
Cryptanalysis: generalized scheme for data encryption technique
If the latitude and longitude coordinate is simply used as the using a randomized matrix key” Journal of Discrete
key for data encryption; the strength is not strong enough. Mathematical Sciences & Cryptography Vol. 10
That is the reason why a random key is incorporated into (2007), No. 1, pp. 73–81
LDEA algorithm. Let us consider the cryptanalysis of the [8] C. E. SHANNON Communication Theory of Secrecy
cipher. In this cipher the length of the key is 8n2 binary bits. Systems The material in this paper appeared in a
Hence the key space is 28n2 . Due to this fact the cipher confidential report “A Mathematical Theory of
cannot be broken by Brute force attack. Cryptography” dated Sept.1, 1946, which has now
The Cipher cannot be broken with known plain text attack been declassified.
as there is no direct relation between the plain text and the [9] E. Shannon, A Mathematical Theory of
cipher text even if the longitude and latitude details are Communication, Bell System Technical Journal 27
known. (1948) 379–423, 623–656.
It is noted that the key dependent permutation plays an [10] A. Chandra Sekhar , ,K.R.Sudha and Prasad
important role in displacing the binary bits at various stages Reddy.P.V.G.D “Data Encryption Technique Using
of iteration, and this induces enormous strength to the Random Number Generator” Granular Computing,
cipher. 2007. GRC 2007. IEEE International Conference, on
Avalanche Effect: 2-4 Nov. 2007 Page(s):573 – 576
With change in LDEA key from 2334719 to 2334718 . It is [11] V. Tolety, Load Reduction in Ad Hoc Networks using
observed that there is a 77 bit change in the new cipher text. Mobile Servers. Master’s thesis, Colorado School of
5.Conclusions: Mines, 1999.
In present paper a cipher is developed by interlacing and [12]L. Scott, D. Denning, Geo-encryption: Using GPS to
using the LDEA key dependent permutation and rotation as Enhance Data Security, GPS World, April 1 2003.
(IJCNS) International Journal of Computer and Network Security, 89
Vol. 2, No. 5, May 2010

[13] Geo-encryption protocol for mobile networks A. Al-


Fuqaha, O. Al-Ibrahim / Computer Communications
30 (2007) 2510–25
[14] PrasadReddy.P.V.G.D, K.R.Sudha and S.Krishna Rao
“Data Encryption technique using Location based key
dependent Permutation and circular rotation”
(IJCNS) International Journal of Computer and
Network Security,Vol. 2, No. 3, March 2010 pp46-49
[15]PrasadReddy.P.V.G.D, K.R.Sudha and S.Krishna Rao
Rao “Data Encryption technique using Location
based key dependent circular rotation” Journal of
Advanced Research in Computer Engineering, Vol.
4, No. 1, January-June 2010, pp. 27 – 30

Authors Profile

Dr Prasad Reddy P V G D, is a Professor of


Computer Engineering with Andhra
University, Visakhapatnam, INDIA. He works
in the areas of enterprise/distributed
technologies, XML based object models. He is
specialized in scalable web applications as an
enterprise architect. With over 20 Years of
experience in filed of IT and teaching, Dr
Prasad Reddy has developed a number of
products, and completed several industry projects. He is a regular
speaker in many conferences and contributes technical articles to
international Journals and Magazines with research areas of
interest in Software Engineering, Image Processing, Data
Engineering , Communications & Bio informatics

K.R.Sudha received her B.E. degree in


Electrical Engineering from GITAM, Andhra
University 1991.She did her M.E in Power
Systems 1994. She was awarded her
Doctorate in Electrical Engineering in 2006 by
Andhra University. During 1994-2006, she
worked with GITAM Engineering College and
presently she is working as Professor in the
department of Electrical Engineering, Andhra University,
Visakhapatnam, India.

P Sanyasi Naidu is currently working as


Associate Professor in the Department of
Computer Science and systems Engg., GITAM
University, Visakhapatnam. He is pursuing his
PhD in Andhra University under the guidance
of Prof.Prasad Reddy.
90 (IJCNS) International Journal of Computer and Network Security,
Vol. 2, No. 5, May 2010

Factors Identification of Software Process Model –


Using a Questionnaire
Abdur Rahshid Khan1, Zia Ur Rehman2
1
Institute of Computing & Information Technology,
Gomal Univeristy Dera Ismail Khan, Pakistan
Email: drarashid.khan09@gmail.com
2
Institute of Information Technology,
Kohat University of Science and Technology (KUST),
Kohat, Pakistan
Email: ziagulzia@gmail.com

Building and running corporate-wide knowledge


Abstract: this work is an attempt to identify factors that are
critical to software process model for a software project. Diverse management systems in the domain of Software
types of software engineers can get benefit to select a software Engineering is an idea that was initiated about 20 years ago
process model during development of software project. A [8]. There are two types of knowledge, tacit knowledge and
questionnaire was developed with the help of domain experts, explicit knowledge. Tacit knowledge is personal knowledge
cited literature and rules of thumbs. This was sent to 100 embedded in personal experience and is shared and
domain experts with highest qualification and a vast experience exchanged through direct, face-to-face contact. Explicit
of the fields of various institutions in Pakistan. Experts’
opinions from 34 domain experts were received with remarkable
knowledge is formal or semi-formal knowledge that can be
comments and suggestions. This questionnaire will be used as a packaged as information [6].
Knowledge Acquisition tool for ESPMS (Expert System for In article [6], author defined “Knowledge Management”
Software Process Model Selection); which will integrate the (KM) as human resource management activities, such as
knowledge of experts of various domains, like Software hiring new staff or to train staff in order to increase the
Engineering, Artificial Intelligence and Project Management. company’s capacities. The goal of KM is to improve
This questionnaire will lead to become a standard document of
organizational skills of all levels of the organization
knowledge acquisition for selection of an appropriate software
process model for a particular project. Further work is required (individual, group, division, organization) by better usage of
to verify this tool through experts of various organizations the resource knowledge. It is a management activity, and as
(public and private) software houses within country and abroad. such is goal oriented, planned and monitored.
The three laws for process are: (1) Process only allows us
Keywords: Software Engineering, Project Management, to do things we already know how to do. (2) We can only
Artificial Intelligence, Expert System, Knowledge Acquisition
define software processes at two levels: too vague or too
Tool, Questionnaire
confining. (3) The very last type of knowledge to be
considered as a candidate for implementation into an
1. Study Background executable software system is the knowledge of how to
Explicit models of software evaluation date back to the implement knowledge into an executable software system.
earliest projects developing large software systems in the Author also focuses attention, that there are several
1950’s and 1960’s [1]-[2]. The main purpose of early life problems in defining process in industry [7].
cycle models was to provide a conceptual scheme for Comperative Study of Software Process Models
managing the development of software system. Since the
Software process is a framework for the tasks that are
1960’s descriptions of the classic software life cycle have
required to build high quality software [9].
appeared e.g., [1, 2, 3, 4 & 5].
A descriptive model describes the history of how a
If software is not a product, then software development is
particular software system was developed [4 & 13].
not a product. It cannot be. If the true product is not the
Prescriptive models are used as guidelines or frameworks
software but the knowledge contained in the software, then
to organize and structure how software development
software development can only be a knowledge acquisition
activities should be performed, and in what order.
activity. Translating that Knowledge into a specific
Prescriptive models are also used to package the
language form known as “code” [7]. Knowledge is crucial
development tasks and techniques for using a given set of
resource of each organization and therefore it will be
software engineering tools or environment during a
carefully managed. Knowledge is intensive in business
development project. Descriptive life cycle models,
areas. Knowledge is a mandatory source of business success
characterize how particular software systems are actually
[6].
developed in specific settings [3 & 4].
(IJCNS) International Journal of Computer and Network Security, 91
Vol. 2, No. 5, May 2010

In order to ensure that cost-effective, quality systems are Criticisms of the Prototyping Model generally fall into the
developed which address an organization’s business needs, following categories [10]:
developers employ some kind of system development • Prototyping can lead to false expectations.
Process Model to direct the project’s lifecycle [10]. To solve • Prototyping can lead to poorly designed systems.
actual problems in an industry setting, a software engineer The RAD Model: Rapid Application Development
or a team of engineers must incorporate a development (RAD) is an incremental software development process
strategy that encompasses the process, methods, and tools model that emphasizes an extremely short development life
layers and the generic phases [9]. cycle. It is a component-based construction, but high speed
Software process models often represent a networked linear sequential. If requirements are well understood and
sequence of activities, objects, transformations, and events project scopes constrained, the RAD process enables a
that embody strategies for accomplishing software evolution. development team to create “a fully functional system” with
Software process networks can be viewed as representing in very short time periods (e.g., 60 to 90 days) [9 & 11].
multiple interconnected task chains. Task chains can be The RAD approach has drawbacks [9]:
employed to characterize either prescriptive or descriptive • Large and scalable projects require sufficient human
action sequences. Prescriptive task chains are idealized resources.
plans of what actions should be accomplished, and in what • RAD requires developers and customers who are
order [11]. committed to the rapid-fire activities necessary to get a
Some of the important models have been described in the system complete in specified time. If commitment is lacking
following paragraphs. from either constituency, RAD project will fail.
The Linear Sequential Model, The linear sequential • If a system cannot be properly modularized, building
model, sometimes called the Classic or Waterfall model, the components necessary for RAD will be problematic.
proposed by Winsten Royce [11]. The linear sequential • If high performance is issue and performance is to be
model suggests a systematic, sequential approach to achieved through tuning the interfaces to system
software development that begins at the system level and components, the RAD approach may not work.
progresses through analysis, design, coding, testing, and • RAD is not appropriate when technical risks are
support [9]. high. This occurs when a new application makes heavy use
Waterfall Model has some criticisms as: of new technology or when the new software requires a high
• Real projects rarely follow the sequential flow that the degree of interoperability whit existing computer programs.
model proposes. Evolutionary Software Process Model: Evolutionary
• At the beginning of most projects there is often a great models are iterative, which is one of the modern software
deal of uncertainty about requirements and goals, and it is development processes. Evolutionary models enable
therefore difficult for customers to identify these criteria on software engineers to develop increasingly more complete
a detailed level. The model does not accommodate this versions of the software [9 & 11].
natural uncertainty very well. Incremental Models: It combines elements of the linear
• Blocking state: means in this model some project team sequential model applied respectively with the iterative
members must wait for other members of the team to philosophy of prototyping. First increment is often a core
complete dependant tasks. product. It is iterative in nature [5 & 9].
• Developing a system using the Waterfall Model can be The Spiral Model: The spiral model, proposed by [3], is
a long, painstaking process that does not yield a working an evolutionary software process model that couples the
version of the system until late in the process [10]. iterative nature of prototyping with controlled and
The Prototyping Model: A customer defines a set of systematic aspects of the linear sequential model. A spiral
general objectives for software but does not identify detailed model is divided into a number of framework activities, also
input, processing, or output requirements. In these, and called tasks or regions [9 & 11].
many other situations, a prototyping paradigm may offer the The Win-Win Spiral Model: The Customer wins by
best approach [9 &11]. getting the system or product that satisfy the majority of the
There are a few different approaches that may be followed customer’s needs and the developer wins by working to
when using the Prototyping Model [10]: realistic and achievable budgets and deadlines. Boehm’s
• Creation of the major user interfaces without any WINWIN spiral model [12] defines a set of negotiation
substantive coding in the background in order to give the activities at the beginning of each pass around the spiral.
users a “feel” for what the system will look like, Criticism of a spiral model: The risk assessment
• Development of an abbreviated version of the system component of the Spiral Model provides both developers
that performs a limited subset of functions; development of a and customers with a measuring tool that earlier Process
paper system. Models do not have. The measurement of risk is a feature
• Use of an existing system or system components to that occurs every day in real-life situations but
demonstrate some functions that will be included in the (unfortunately) not as often in the system development
developed system. industry. The practical nature of this tool helps to make the
92 (IJCNS) International Journal of Computer and Network Security,
Vol. 2, No. 5, May 2010

Spiral Model a more realistic Process Model than some of 1.3 Knowledge Acquistion
its predecessors. Capturing knowledge source from expertise is known as
The Concurrent Development Model: The concurrent knowledge acquisition technique. There are different
development model is also called concurrent engineering, sources from which knowledge can be acquired such as
[12]. The concurrent process model defines a series of human experts, books, journals, reports, databases and other
events that will trigger transitions from state to state for computer system [14]. The process through which
each of the software engineering activities. A system and knowledge engineers extract knowledge called Knowledge
component activities occur simultaneously and can be Acquisition [18]. Knowledge acquisition process is the first
modeled using the state-oriented approach described phase to develop an expert system [18]. There are some
previously. Each activity on the network exists difficulties in during knowledge acquisition process i.e.
simultaneously with other activities [5, 9 & 11]. sometime problem is not very clear to knowledge engineers,
Component-Based Development: Object-Oriented knowledge engineers have lack of knowledge in particular
technologies provide the technical framework for a domain, sometime experts are not available in particular
component-based process model for Software Engineering domain [16 & 18].
[5, 9 & 11]. A general criticism of the Component-Based There are several reasons for employing an expert system
Model is that it is limited for use in object-oriented such as [14]:-
development environments. Although this environment is § Replacement of human expert
rapidly growing in popularity, it is currently used in only a § Assistant to human expert
minority of system development applications [10]. § Transfer of expertise to novice
1.1 Creating and Combining Models: From literature study it is revealed that there are a
number of knowledge acquisition techniques exist, such as
In many cases, parts and procedures from various Process
questionnaire, protocol analysis, Interview (structured and
Models are integrated to support system development. This
unstructured interview), case study analysis, observation
occurs because most models were designed to provide a
analysis, simulation and prototyping [14 & 15).
framework for achieving success only under a certain set of
Depending upon the nature of the problem, need,
circumstances. It is sometimes necessary to alter the existing
situation and domain experts, different acquisition
model to accommodate the change in circumstances, or
techniques can be used accordingly. If the domain experts
adopt or combine different models to accommodate the new
can easily be accessed, an interview is the best technique. If
circumstances. The selection of an appropriate Process
the expert are far-away from access of knowledge engineers
Model hinges primarily on two factors: organizational
or experts are much busy, then questionnaire is the most
environment and the nature of the application. Frank Land,
suitable tool. Similarly, if the target problem is complex,
from the London School of Economics, suggests that
multiple techniques can be adopted.
suitable approaches to system analysis, design, development,
and implementation be based on the relationship between
the information system and its organizational environment.
2. Problem Domain
Four categories of relationships are identified: The Knowledge acquisition process was started from
Unchanging Environment, the Turbulent Environment, the identification of critical factors that affect directly or
Uncertain Environment, and the Adaptive Environment indirectly the process models, being critical in selection of
[10]. appropriate software process model to software engineers.
This tool will be used in ESPMS (Expert System for
1.2 Expert Systems Application
Software Process Model Selection), which is available free
For decision making and for problem solving Expert of cost.
System tools are used, which is Artificial Intelligence tool, Literature study reveals that research has been conducted
they have ability to imitate the reasoning of human expert on different phases of software process models, such as
with in a specialized area [14]. Now in various areas such as requirement analysis and specification, planning of software
computer science, agriculture, engineering, geology, space project, System Design and Architectural Design etc but
technology, medicine, etc expert systems are being used and there is no proper guidance for novice software designer and
developed (Durken 1990). The knowledgebase component of engineer, how to select a process model for a particular
expert system is consists of human experts’ knowledge. The situation.
most difficult task is to acquire knowledge from experts and Ref [7] described the three laws of software process and
identification of problem in the development of expert also highlighted that there are several problems in defining
systems [7, 8]. Interview, observation analysis, case study a process in industry. Author also highlights rule of process
analysis, questionnaire, protocol analysis are the some bifurcation (Software process rules that are stated in terms
knowledge acquisition techniques to acquiring knowledge of two levels: a general statement of the rule, and a specific
and expertise in domain experts [14, 15, 16 & 17]. detailed example), and the dual hypothesis of knowledge
discovery (we can only “discover” knowledge in an
environment that contains that knowledge). Ref [6] stated
overall objective of Learning Software Organization (LSO)
(IJCNS) International Journal of Computer and Network Security, 93
Vol. 2, No. 5, May 2010

is to improve software processes and products according to universities of Pakistan. 100 domain experts along with
the strategic goals of the organization. Knowledge detailed about them were found in 124 universities of
Management (KM) was defined, because KM is prerequisite Pakistan. See Table I for detail.
of learning organization. Ref [19] stated that there is still
3.2 Design and Distribution of Questionnaire
lacking integration of software process modeling and
software process measurement by software engineers. Extracting experts’ opinion to develop standard criteria
Language construct is used to better understand the process for factors that can affect software process model’s
modeling technique. The Attribute Grammar (AG) approach performance is the main purpose of this questionnaire.
to realize modeling of software processes modeling in Questionnaire was the tool through which we could solicit
language construct is based on its specification and experts’ opinion. A total of 99 questions (parameters) were
automatic construction of language-based editors. Ref [20] identified, which were grouped into 11 main factors. Five
Build Knowledge Analysis System (KANAL), which relates fuzzy variables scales were defined, like, 5=Strongly Agree
pieces of information in process models among themselves (Critical to process’s performance), 4 = Agree (Important to
and to the existing Knowledge Base (KB), analyzing how process’s performance), 3= Neutral (Helpful to process’s
different pieces of input are put together to achieve some performance), 2= Disagree (Minimally affects process’s
effect. It builds interdependency models from this analysis performance), 1= Strongly Disagree (Do not affect process’s
and uses them to find errors and propose fixes. Ref [21] performance).
Recent research in software engineering has moved away We designed the questionnaire in such a way that the
from this linear approach of the life cycle in order to take respondent have to rank the importance of factor regarding
account of dependencies between decisions taken in to its objective. Among 100 domain experts we received 34
different parts of the development and to allow methods to experts’ opinions with valuable and remarkable suggestions.
be selected during developments which are appropriate to
address problems that arise. The most advanced approach is Table 1: Experts Detail with their Responses
the spiral model proposed by Boehm [3]. The major research
Experts’ Subject
project on KBS methodology is the KADS (Knowledge Charac.
Gender Designation Degree
Specialty
Demographic

Acquisition and Design System). KADS proposes that Software


Male: 30 Professor: 4 PhD: 4 Engineeri Federal: 10
knowledge modelling should pass through five stages: ng: 20
(Data, Conceptual Model, Design Model, Detailed Design Associate M.Phil/M
Artificial
Categorical Female:4 Intelligenc Sindh:0
Model, and Implementation). The Conceptual Model is Responses
Professor: 8 S:12
e: 8
further divided into a four layer knowledge model where Software
Assistant MCS/ Project
- Punjab:4
each successive layer interprets the description of the lower Professor: 9 MSc: 12 Managem
ent: 6
layer: static domain knowledge, knowledge sources, task, BCS
- - Lecturers: 7 - NWFP:10
and strategic knowledge. The major difficulty with advice (Hons): 6
Baluchistan:
on maintenance is that there is very little data or published - - Teachers: 6 - -
10
Azad Jammu
experience on maintaining KBS. Two main properties - - - - -
& Kashmir: 0
directly influence the maintainability of a KBS. (1) The - - - - -
Total: 34 34 34 34 34 34
homogeneity of the maintained representation: (2) the
predictability of the representation.

3. Approach 3.3 Analysis and Findings


In this research we are introducing the tool (i.e. a SPSS was used to analyze the collected facts. Table 2
questionnaire) for knowledge acquisition process to solve a shows the summary of questionnaire distribution.
selected problem. During development of this Knowledge
Acquisition tool, following steps were adopted: Table 2: Questionnaire Distribution
A). Selection of Domain Experts Medium Questionnaire Responses %age
Distributed
(B), Design and Distribution of Questionnaire and Through Email 60 20 33.33
(C) Analysis and Findings. Through Post 28 9 32.14
3.1 Selection of Domain Experts Through By hand 12 4 33.33

Knowledge Base (collection of expert knowledge) is Total 100 34 34

critical and important component of the expert system [22]. The questionnaire was resulted in 11 main groups with 84
The questionnaire was properly evaluated by domain questions after repeatedly contact with the domain experts.
experts, which will lead to become a standard document for Statistical analysis showed that System Integration &
selection of appropriate software process model. Testing, User Community & Unit Development, Software
In Pakistan SE and AI are used mostly for research in Integration & Testing were the most important factors
Education, that’s why this questionnaire was distributed in among rest of the main factors. See Table 3 for detail.
various Higher Education Commission (HEC) recognized
94 (IJCNS) International Journal of Computer and Network Security,
Vol. 2, No. 5, May 2010

The ranking of factors were also helpful in determining model but it is just an approach, guideline and helping tool
the weights of the various factors, which influence the for software engineer in selection of process model. This
decision making process. questionnaire may become a standard Knowledge
Acquisition tool for Expert System development.
Table 3: Response Summary for Affect on Proces’
Performance
(Total Reponses N: 34, 5= Critical Affects, 1= Do not Affect) Domain Experts
Std. (Books, Journals, Databases, Reports, Internet etc)
Main Groups of Factors Mean
Deviation
System Integration and Testing 3.8941 1.1494 Reference Knowledge
User Community 3.4510 1.1441
Unit Development, Software Integration &
Testing 3.7426 1.0890 Characteristics of Software Process Models

Implementation & Maintenance 3.7904 1.0881


Project Type and Risk Management 3.7941 1.0184
Validation and Verification 3.8168 0.9981
Quality Assurance and Quality Control 3.8333 0.9774 Factors Identification
Requirement Analysis and Specification 3.8407 0.9762
System Design and Architectural Design 3.8848 0.9613
Analyzed Facts
Project Team 3.8445 0.9565 (Knowledge Elicitation)
Documentation 4.1823 0.8577

Questionnaire
Table 4 depicts weights assigned to the main factors. In
weight criteria documentation, system integration and
testing and validation and verification were the most Figure 1: Knowledge Elicitation Process of a Software
important factors among rest of the main factors. Process Model Selection
Table 4: Weight Assignment to main factors
Weigh References
S.No Main Groups of Factors
ts
1 Documentation 0.1041 [1] Hoiser, W.A., “Pitfalls and Safegaurds in Rea-Time
2 System Integration and Testing 0.0971 Digital Systems with Emphasis on programming,” IRE
3 Validation and verification 0.0969 Trans. Engineering Management, EM-8, June 1961.
4 System Design and Architectural Design 0.0956 [2] Royce, W. W., “Managing the Development of Large
5 Quality Assurance and Quality Control 0.0952 Software Systems,” Proc. 9th. Intern. Conf.Software
6 Project Team 0.0923 Engineering, ,IEEE Computer Society, 1987 ,328-338
7 Implementation & Maintenance 0.0915 Originally published in Proc. WESCON, 1970.
Requirements Analysis And [3] Boehm, B., “ A Spiral Model for Software
8 0.0914
Specification Development and Enhancement,” Computer, Vol. 21,
9 Project Type and Risk Management 0.0849 no. 5, May 1988, pp. 61-72
Unit Development, Software Integration
10 0.0793 [4] Scacch i W., Process Models in Software
& Testing
Engineering, Institute for Software Research,
11 User Community 0.0718
Total weight: 1.0000 University of California, Irvine February 2001.
[5] Sommerville I., Software Engineering 5th Edition, 2000
After calculation of mean and standard deviation of main [6] Ruhe G. (2000), “ Learning Software Organizations”,
factors, we calculated mean and standard deviation of each Fraunhofer Institute for Experimental Software
and every sub-factor (questions). Engineering (IESE).
[7] Caesar & Cleopatra (2004), “Chapter 1,The Nature of
Software and the Laws of Software Process” www.ism-
4. Conclusions and Future Recommendation
journal.com/ITToday/AU1489_C01.pdf, CRC Press,
Each and every factor was properly analyzed, means and LLC.
standard deviations were calculated of each factors with the [8] Basili V.R, Zelkowitz, M. V. McGarry, F. Page, S.
help of SPSS. Weights of the main factors were evaluated. Waligora, R. Pajerski. SEL’s Software Process
Overall score will be calculated at run time through Improvement Program, IEEE Software, vol. 12,
summation function, which will be used for ranking in the November, pp 83-87, 1995.
selection of a process model. (See my research thesis for [9] Pressman R. S, Software Engineering a Practitioner ’s
Approach, Fifth Edition, 2001.
detail).
[10] SUNY 1988 , “ A Sur vey of System Development
It is further recommended that this questionnaire is not in
Pr ocess Models ” , CTG.MFA – 00, Cen ter for
final shape which will be distributed in local (Pakistan) and
Techn ology in Gover nment, Uni ver sity at
international software houses. This questionnaire is not final Alban y.
standard tool for selection of an appropriate software process
(IJCNS) International Journal of Computer and Network Security, 95
Vol. 2, No. 5, May 2010

[11] Reddy A. R. M, Govindarajulu P., Naidu M., A [27] Liu & Perry (2004), “On the Meaning of Software
Process Model for Software Architecture, IJCSNS, Architecture, Interview Questionnaire, (July, 2004),
VOL.7 No.4, April 2007. Version 1.2
[12] Davis, A. and Sitaram P., “ A Concurrent Process
Model for Software Development, ” Software Authors Profile
Engineering Notes, ACM Press, vol. 19, n0. 2, April
1994, pp. 38-51 Abdur Rashid Khan is presently working as an Associate
[13] Curtis, B., H. Krasner, and N. Iscoe, A Field Study of Professor at ICIT, Gomal University D.I.Khan, Pakistan. He has
received his PhD degree from Kyrgyz Republic in 2004. His
the Software Design Process for Large Systems, research interest includes AI, Software Engineering, MIS and DSS.
Communications ACM, 31, 11, 1268-1287, November,
1988. Zia Ur Rehman is currently pursuing his MS degree in Computer
[14] Awad, E.M. “Building Experts Systems: Principals, Science from the Institute of Information Technology, Kohat
Procedures, and Applications,” New York: West University of Science & Technology (KUST), Kohat, Pakistan. His
area of interest includes Software Engineering, Artificial
Publishing Company. 1996. Intelligence/Expert System, Databases and Data Mining.
[15] Durkin, J. “Application of Expert Systems in the
Sciences,” OHIO J. SCI. Vol. 90 (5), pp. 171-179,
1990.
[16] Medsker, L. and Liebowits, J. “Design and
Development of Experts Systems and Neural
Networks,” New York: Macmillan Publishing
Company, 1987.
[17] Sagheb-Tehrani, M.“The design process of expert
systems development: some concerns, Expert system,”
Vol. 23 (2), pp. 116-125, 2006.
[18] Wagner, W.P., Najdawi, M.K., Chung, Q.B “Selection
of Knowledge Acquisition techniques based upon the
problem domain characteristics of the production and
operations management expert systems,” Expert
system, vol. 18 (2), pp. 76-87, 2001.
[19] Atan, R. Abd, A. A. Ghani, M. H.S. & Mahmod, R. “
Software Process Modelling using Attribute Grammar”
University Putra Malaysia, Serdang, Selangor Darul
Ehsan, Malaysia, IJCSNS International Journal of
Computer Science and Network Security, VOL.7 No.8,
August 2007.
[20] Kim, J. & Gil, Y. “Knowledge Analysis on Process
Models”, Information Sciences Institute University of
Southern California, International Joint Conference on
Artificial Intelligence (IJCAI-2001), Seattle,
Washington, USA, August 2001.
[21] Wilson, “Knowledge Acquisition: The current
position”, Science and Engineering Research Council
Rutherford Appleton Laboratory.
[22] Lightfoot,J.M.” Expert knowledge acquisition and the
unwilling experts: a knowledge engineering
perspective,” Expert system, vol. 16(3), pp.141-147,
1999.
[23] Futrell R. T., Shafer L. I, Shafer D. F, “Quality
Software Project Management”, Low Price Edition,
2004.
[24] Anderson S., & Felici M., “Requirement Engineering
Questionnaire”, Version 1.0, Laboratory for
Foundation of Computer Science, Edinburgh EH9 3JZ,
Scotland, UK (2001).
[25] Skonicki M., “QA/QC Questionnaire for Software
Suppliers”, January 2006.
[26] Energy U. S. D., “Project Planning Questionnaire”,
www.cio.energy.gov/Plnquest.pdf (last access, 04
August 2009)
96 (IJCNS) International Journal of Computer and Network Security,
Vol. 2, No. 5, May 2010

Appendix: (Questionnaire)
A SURVEY ON FACTORS AFFECTING TO SELECT A SOFTWARE DEVELOPMENT PROCESS MODEL
Respondent’s Name: _______________ Qualification: _________ Designation: ______________ Address/University: __________________________

INSTRUCTIONS
Different software process model exist, to select one for a particular software depends upon the nature of project, problem structure, risk involve, budget
estimation, goals & objectives of the project etc. As an EXPERT in this area, you are requested to examine each item in terms of suitability and then to explain
the degree of your agreement to each item whether, in your opinion, it would measure the factors affecting the selection of software development process model
and to what extent. You may recommend new & delete unnecessary items from the existing scale. Your in-time response will highly be appreciated. Please, use
the scale below to mark (P) your responses in the area provided.
5= Strongly Agree 4= Agree 3=Neutral 2= Disagree 1=Strongly Disagree
Critical to Process’s Important to Process’s Helpful to Process’s Minimally affects Process’s Do not affect Process’s performance
Performance Performance performance performance
ATTRIBUTES LEVELS
5 4 3 2 1
1 Requirements Analysis And Specification

1.1 Are the requirements precisely defined, well defined and well known?
1.2 Are requirements sufficient to help you understand the problem structure?
1.3 Are the requirements defined early in the cycle [23]?
1.4 Are the requirements will change often in the cycle [23]?
1.5 Is there need to demonstrate capability proof of concept [23]?
1.6 Does the requirement indicate a complex system/simple system [23]?
1.7 Is there appropriate procedure prepared for cost/benefit analysis [24]?
1.8 Does the requirements phase meet the requirements methodology [24]?
1.9 Are you sensible to organizational and political factors which influence requirements sources while eliciting requirements [24]?
1.10 Have you reuse requirements from other systems which have been developed in the same application area [24]?
1.11 How do you handle continuous requirements change [24]?
1.12 Does any risk analysis are performed on requirements [24]?
1.13 Is the requirements document easy to change [24]?
1.14 Do you define Cost-effectiveness criteria [24]?
1.15 Do you identify accuracy and completeness risks on the requirements analysis [24]?
1.16 Are rules established on handling inaccurate and incomplete data [24]?
1.17 Do you cross-check operational and functional requirements against safety (or security, availability, etc.) requirements [24]?
1.18 Are specifications kept up-to-date and controlled [25]?
1.19 Are your software-product versions reviewed for conformity to customer’s specifications [25]?
1.20 Are the versions reviewed for compliance to quality requirements before submission for customer approval [25]?
2 Project Team
2.1 Does the majority of team members new to the problem domain [23]?
2.2 Does the majority of team members new to the technology domain [23]?
2.3 Is there need to train to project team [23]?
2.4 Is the team more comfortable with structure than flexibility [23]?
2.5 Will the project manager closely track the team’s progress [23]?
2.6 Is ease of resource allocation important [23]?
2.7 Does the team accept peer reviews and inspections, management/customer reviews, and mile-stones [23]?
3 User Community
3.1 Will the availability of the user representatives be restricted or limited during the life cycle [23]?
3.2 Are the user experts in the problem domain [23]?
3.3 Do the users want to be involved in all phases of the life cycle [23]?
4 Project Type and Risk
4.1 Dose the customer want to track project progress [23]?
4.2 Does the project identify a new product direction for the organization [23]?
4.3 Is the project a system integration project [23]?
4.4 Is the project an enhancement to an existing system [23]?
4.5 Is the funding for the project expected to be stable throughout the life cycle [23]?
4.6 Is the product expected to have a long life in the organization [23]?
4.7 Is high reliability a must [23]?
4.8 Is the system expected to be modified perhaps in ways not anticipated, post-deployment [23]?
4.9 Is the schedule constrained [23]?
4.10 Are the modules interfaces clean [23]?
4.11 Are reusable components available [23]?
(IJCNS) International Journal of Computer and Network Security, 97
Vol. 2, No. 5, May 2010

4.12 Are resources (time, money, tools, and people) scarce [23]?
4.13 What measurements will be used to track this project (Cost, Schedule Effort, LOC, Defects, Function Points Other ______) [26]?
5 System Design and Architectural Design
5.1 Does a design phase schedule exists which identifies tasks, people, budgets and costs?
5.2 Do you develop complementary system models [24]?
5.3 Do you model the system’s environment [24]?
5.4 Do you model the system architecture [24]?
5.5 Do you use structured methods for system modeling [24]?
5.6 Do you define operational processes to reveal process requirements and requirements constraints [24]?
5.7 Do you use a data dictionary [24]?
5.8 Do you document the links between stakeholder requirements and system [24]?
5.9 Do you specify systems using formal specifications [24]?
5.10 Can the data required by the application be collected with the desired degree of reliability [24]?
5.11 Do you identify non functional requirements (e.g., usability, quality, cognitive workload, etc.) for a system [24]?
5.12 Are significant software changes expected during the life of the project [24]?
6 Unit Development, Software Integration & Testing
6.1 Will the application system be run in multiple locations [24]?
6.2 If an on-line application, will different types of terminal be used [24]?
6.3 Is the proposed solution dependent on specific hardware [24]?
6.4 Have the portability requirements been documented [24]?
7 Quality Assurance and Quality Control
7.1 Have you written Quality Assurance plan? Or written record for Quality Assurance program [25]?
7.2 Have you performed internal quality audits on software design processes and configuration management functions [25]?
7.3 Is there any implementation of a formal correction action process for customer complaints [25]?
8 System Integration and Testing
8.1 Are software depends on Operating Environment(s)? (MS Windows, OS/2, Unix/AIX, Windows N/T, Macintosh, Novell, CICS,
DOS, Sun, Web Browser (specify), other ______________) [26]?
8.2 Are constraints effects the targeted operating environment(s)? (Firewalls, Transmission speed, Server capacity, Security,
Workstation capacity, Remote access capability, Widely dispersed user community without appropriate inter-operability Other
[26]?
8.3 Which programming languages you will be, or are considering used in project? (Cobol, Java, C++, Visual Basic, FoxPro, Paradox,
HTML, Delphi, Visual C++, Power Builder, Others ____________) [26]?
8.4 Are the software’s operations (System/Application) so essential that data must be immediately available at all times or
recoverable? (Data recovery, Backups, Fault Tolerance, System Performance, Mirroring/Imaging Disaster Recovery) [26]?
8.5 Which individual, team, and organizational information systems development and management practices will be implemented on
this project? Project Planning, Requirements Management, Configuration Management, Project Tracking and Oversight, Quality
Assurance, Sub-Contractor Management, Risk Assessment, Peer Reviews, Training Program Software Product Engineering, Inter-
group Coordination, Integrated Software Management, Organizational Process Definition, Organizational Process Focus Defect
Tracking, Other_________________________ [26]?
9 Validation and verification
9.1 Is there any implementation of formal process for functional requirement review [25]?
9.2 Is there any implementation of formal process for system design review [25]?
9.3 Is there any implementation of formal process for code testing [25]?
9.4 Is there any implementation of formal process for integration testing [25]?
10 Documentation
10.1 Are written test plans, instructions, product specifications, and system design documents available to support the tests [25]?
10.2 Are functional requirements properly documented [25]?
10.3 Have you created system programmers documentation [25]?
10.4 Have you documented functional specification [25]?
10.5 Have you documented the system design [25]?
11 Implementation & Maintenance
11.1 Do you implement a formal set of code testing procedures?
11.2 Do you implement a formal set of integration testing procedures?
11.3 Have you implemented a formal process for acceptance testing by the User / customer?
11.4 Are you usually concerned with reusability while designing [27]?
11.5 Do you involve external (from the project) reviewers in the validation process [24]?
11.6 Has the expected life of the project been defined?
11.7 Has the importance of keeping the system up to date functionally been defined [24]?
11.8 Which medium will be used for the project/system documentation? Web Site, Hardcopy, CD Rom, Online Help, Video Quick
Reference Card Diskette, Other [26]?

Comments:___________________________________________________________________________________________________________________________________
Date: ____________________ Signature: ______________
98 (IJCNS) International Journal of Computer and Network Security,
Vol. 2, No. 5, May 2010

MOBINA: A Novel DBA Method Based on Second


Price Auction in Ethernet Passive Optical Network
AR. Hedayati1, M.N Feshaaraki1 ,K. Badie2 , A. Khademzadeh2 and M. Davari3
1
Department of Computer Engineering, Science and Research Branch, Islamic Azad University(IAU)
Hesarak ,poonak SQ, Tehran, Iran.
ar.hedayati@srbiau.ac.ir
2
Iran Telecom Research Center
North kargar str, Tehran, Iran
3
Department of Computer Engineering, Central Tehran Branch, Islamic Azad University
Hamila Blv, poonak SQ, Tehran, Iran.

Abstract: Ethernet Passive Optical Network(EPON) is one of One of the main concerns in this network is bandwidth
the best solutions for implementing the next generation allocation to provide end users quality of service for using
access networks. One of the key issue in these network is multimedia service. To solve this problem, there have
bandwidth allocation to provide the quality of service for the suggested different static and dynamic bandwidth allocation
End users.In this paper, we present a Novel Dynamic methods [2], [4]. In this paper, along with studying
Bandwidth Allocation (DBA) method based on Second Price bandwidth allocation methods in EPON, we present a novel
Auction in Ethernet Passive Optical Network. Results have method named MOBINA, based on Second Price Auction.
shown improvements of the packet loss rate, throughput The MOBINA can allocate the users required bandwidth
rate, and utilization line of our method when compared righteously and with high profitability.
with other methods. The rest of this paper is organized as follows: In Section 2,
we introduce related work of Bandwidth allocation methods
Keywords: Ethernet Passive Optical Network, Dynamic in EPON. In section 3, we explain MOBINA method in
Bandwidth Allocation, Second price auction, Quality of Services.
details. In section 4, we present simulation results. In
section 5, we conclude this paper.
1. Introduction
Ethernet Passive Optical Network is one of the most 2. Related work
important solutions for implementing the next generation of
Bandwidth allocation methods are discussed as one of the
access networks. High capacity and low cost of
most important QOS’s parameters in EPON [6]. In
implementing are among the characteristics of this
bandwidth allocating for each network unit, optical line
technology, which can provide the required quality service
terminal needs to provide some method based on the
in spite of expansion the quantity of user and their requests
received bandwidth demands of optical network units and
to use different multimedia services [1].
some allocation policies or service level agreements are in
An EPON system is a point-to-multipoint fiber optical
this content [7]. At present many methods are
network with no active elements in the transmission path
recommended, in general they classified in two general
from its source, i.e., an optical line terminal (OLT), to a
types: Static Bandwidth Allocation and Dynamic Bandwidth
destination, i.e., an optical network unit (ONU). It can use
Allocation.
different multipoint topologies, such as bus, ring, tree, and
different network architectures [2]. The most typical EPON 2.1 Static Bandwidth Allocation methods
architecture is based on a tree topology and consists of an Each ONU is assigned with a constant bandwidth regardless
OLT, a 1:N passive star coupler (or splitter/combiner), and to its actual bandwidth demand. As a result, the allocated
multiple ONUs, as shown in Figure (1). The OLT resides in bandwidth might either not be fully utilized, in the case of
a central office (CO) that connects the access network to a ONUs with light traffic requirement or not be adequate to
metropolitan area network (MAN) or a wide area network accommodate heavy traffic load ONUs, resulting in both
(WAN), and is connected to the passive star coupler through scenarios to inefficient bandwidth utilization rate. In
a single optical fiber [2]- [5]. contrast a dynamic MAC protocol could more successfully
allocate bandwidth according to ONUs’ instantaneous buffer
queue status increasing the bandwidth utilization rate [8].
Research initiatives in MAC protocol development over the
years have attempted to enhance further bandwidth
allocation of standardized PON topologies, tracing back to
PONs and more intensively to more recent and lately
deployed EPONs . In common to all these topologies, the
Figure 1. EPON’s Architecture feeder pathway is shared in the time domain, and as a result
each ONU can utilize the whole upstream optical carrier
(IJCNS) International Journal of Computer and Network Security, 99
Vol. 2, No. 5, May 2010

capacity for defined, according to network penetration, and providers [13]. The primary SLA specifies those services
in most cases flexible duration time-slots, assigned by the whose minimum requirements must be guaranteed with a
OLT [7]. high priority. The secondary SLA describes the service
requirements with a lower priority. This method first
allocates timeslots to those services with the primary SLA to
2.2 Dynamic Bandwidth Allocation methods
guarantee their upstream transmissions. After the services
To increase bandwidth utilization, the OLT must with the primary SLA are guaranteed, the next round is to
dynamically allocate a variable timeslot to each ONU based accommodate the secondary SLA services. If the bandwidth
on the instantaneous bandwidth demand of the ONUs. is not sufficient to accommodate the secondary SLA
Given that QoS is the main concern in EPONs, these services, the max-min policy is adopted to allocate the
methods classified into DBA with QoS support, DBA bandwidth with fairness. If there is excessive bandwidth,
without QoS support, and describe their characteristics and FSD-SLA will allocate the bandwidth to the primary SLA
performances [11]. entities first and then to the secondary SLA entities, both by
using max-min fair allocation.
2.2.1 DBA without differentiated QoS support Another optimizing method for dynamic bandwidth
There are several DBA methods proposed for EPON which allocation with differentiated QoS support is LSTP .during
do not support differentiated services, such as IPACT [9], it the waiting period and thus more accurately grants
employs a resource negotiation process to facilitate queue bandwidth to each ONU. For each class of traffic, LSTP
report and bandwidth allocation. The OLT polls ONUs and estimates the data that arrive during the waiting period
grants timeslots to each ONU in a round robin fashion. The based on the data of this class that actually arrived in
timeslot granted to an ONU is determined by the queue previous transmission cycles by using a linear predictor
status reported from that ONU. Therefore, the OLT is able [14].
to know the dynamic traffic load of each ONU and allocate The bandwidth demand of an ONU is thus the reported
the upstream bandwidth in accordance with the bandwidth queue length plus the estimation. The OLT arbitrates the
demand of each ONU. So demanded bandwidth can be upstream bandwidth using this estimation and reserves a
granted efficiently also there exists three different ways for portion of the upstream bandwidth for transmitting the
the OLT to determine the granted efficiently also there estimated data in the earliest transmission cycle, thus
exists three different ways for the OLT to determine the reducing packet delay and loss. Other methods proposed for
granted window size to allocate bandwidth so they dynamic bandwidth allocation with differentiated QoS
introduced Fixed service, Gated service, Limited service as support are: COPS, HGP, DBAM and so forth [2].
IPACT service discipline to demonstrate bandwidth
allocation in this method . Development and improvement
of this method is considered in IPACT GE [10], Estimation- 3. The MOBINA DBA Method
based DBA [11] and IPACT with SARF [2].
Bandwidth guaranteed polling (BGP) is another DBA
method proposed for providing bandwidth guarantees in The MOBINA is dynamic bandwidth allocation based on
EPONs [12]. In BGP, all ONUs are divided into two groups: Second Price Auction. In this method, all bandwidth
bandwidth guaranteed and bandwidth non-guaranteed. The requests are sent to OLT by ONUs. OLT can make a
OLT performs bandwidth allocation through using couple of dynamic and fair decision about bandwidth allocation by
polling tables. The number of bandwidth units allocated to auction process. The steps of auction process and
an ONU is determined by the bandwidth demand of that bandwidth allocation in the suggested method are as
ONU, which is given by its SLA with a service provider. A follows:
bandwidth guaranteed ONU with more than one entry in the
poling table has its entries spread through the table. This Step 1: Kick-off the auction by OLT
can reduce the average queuing delay because the ONU is Step 2: Submit the bid by ONUs
polled more frequently. However, this leads to more grants Step 3: Assess received bids by OLT
in a cycle and thus requires more guard times between Step 4: Schedule and allocate bandwidth to winners
grants, which reduces channel utilization. Methods have Step5: Update and go to next round of auction
been introduced for all best effort traffic is suitable.
Figure (2) represents the block diagram of the MOBINA
2.2.2 DBA with differentiated QoS support method.
An EPON system is expected to deliver not only the best
effort data traffic, but also real-time data traffic (e.g., voice
and video) that have strict bandwidth, packet delay, and
delay jitter requirements. In this subsection present several
DBA methods that can provide differentiated QoS support
for different types of data traffic in EPON. One of the most
important methods in field is fair sharing with dual SLAs
(FSD-SLA) proposed a fair sharing with dual SLAs (FSD-
SLA) method, which employs dual SLAs in IPACT to
manage the fairness for both subscribers and service
100 (IJCNS) International Journal of Computer and Network Security,
Vol. 2, No. 5, May 2010

send the result to ONUs. In step 4, ONU will allocate the


requested bandwidth for each user according to the timing
of auction winners, considering the maximum accessible
bandwidth. Equation (4) shows bandwidth allocation by
OLT.

 BRQ onu (t ) (ONU win )


 i i
onu 
BW (t ) =  (4)
i

 0 (ONU loss )
 i

In step 5, OLT updates the LSTionu value of all the ONUs


that have received bandwidth service in time t and will send
the respective ONU. Equation (5) shows the value of
LSTionu .

0 (ONU i win )

LSTi onu
(t ) =  (5)
1 (ONU
Figure 2.Dialgue diagram of the MOBINA method  i loss )

Finally, after sending LST ionu values, OLT holds for a time
As shown in Figure (2), in Step 1 a signal is sent from OLT
to ONUs in order to ONUs send their requested bandwidth in order to allocated bandwidth be released and the
allocation to OLT for participation in an auction. In step 2 conditions for holding auction by OLT is provided.
based on the MOBINA method, ONUs calculate their Bid
amount based on two parameters of the requested bandwidth 4. Computer Simulations
and the last time of bandwidth allocation by OLT to ONU, To measure the performance of each bandwidth allocation
and send it to OLT. Equation (1) shows the sent Bid amount methods we designed an event-driven C++ based EPON
by ONUi to OLT. simulator. NS-2 and C# software is used as a unique system
to compare simulation results. In this article we use EPON
(
Bid i (t ) = β BRQionu (t ), LSTionu (t − 1) ) (1) structure, as shown in Figure (1), to measure QoS
parameters. The parameters considered for simulation are as
illustrated in Table (1):
In Equation (1), BRQionu is the total bandwidth amount that
has been requested by the users from ONUi and LST ionu Is Table 1: Simulation Parameters
Parameters Symbol Value
the Boolean parameter that shown the last time of ONUi
Number of ONUs N 16
received bandwidth service. Equation (2) shows ONUi
Bit Rate Λ 5 to 57.5 MBit/s
requested bandwidth. Two way delay fiber Tfiber 200 µs
Processing Time Tproc 35 µs
K

∑ BW
Packet Size B 15000Byte(30
BRQionu (t ) = J
R eq
(t ) (2) Packets)
J =1 Ethernet Overhead Beth 38 Byte
Request Message Size Breq 570 Bit
In Equation (2), BWJR eq is the bandwidth required by users Upstream Bandwidth Ru 1 GBit/s
connected to ONUi. Equation (3) shows the required Maximum Transition Pmax 10 Packets
Window
bandwidth of each user.
Guard Time Tg 5 µs
Max cycling time TMax 2 ms
BWJReq (t ) = mJP × LJP × PJ (3) Buffer capacity BQmax 10 Mbyte
Guarantied Bandwidth BAga 60 MBit/s
Interval traffic randomly Interval 50 µs-100 µs
In Equation (3), m JP is the number of requested packets to
Traffic Type CBR
send for user j. LPJ is the length of requested packets to
send, and PJ is the priority of the jth user. In MOBINA All the provided results in this section which will be
introduced, are measured the QoS based on proposed
suggested method, the priority of all users linked to an ONU
approach in comparison with other methods, will be
is the same and is equal to (1/j).
analyzed by some different charts with their quantities such
In step 3, after receiving all the Bids based on second price
auction, OLT will select ONUs that win in auction and will
(IJCNS) International Journal of Computer and Network Security, 101
Vol. 2, No. 5, May 2010

as delay, jitter, Throughput, Packet loss and Utilization rate


.
Figure (3) shows traffic packet delay. The proposed
approach has less delay in comparison with the methods of
bandwidth allocation without QoS, although in the previous
methods of bandwidth allocation with different QoS, at the
first place in this approach delay is more because of
providing situation awareness for ONUs, nevertheless in the
other times delay is much better.

Figure 5.The Charts for Throughput Rate

Figure 6 . The Charts for Packet Loss Rate

Finally, Figure (7) depicts the rate of utilization in EPON


Figure 3.The charts for average of packets Delay systems. This Fig demonstrates that increasing of traffic
load has anonymous utilization compared to the best
Also, Figure (4), shows the vector of The Average of Traffic methods. MOBINA approach has the most rate of network
Packet Jitter. This chart we see that BGP and FSD-SLA Utilization. Albeit this subject, the behavior of this
jitter range is higher than other methods. Albeit with Approach was predictable. By increasing the traffic load to
increasing traffic load and good behavior of IPACT network, Utilization rate in other methods didn’t have any
methods, they have good Jitter rather than the other methods difference.
. At the point of view in jitter charts, which is implied much
better jitter ratio of proposed approach compared to the
other methods.

Figure 7.The Charts for Line Utilization rate

5. Conclusion
Figure 4.The Charts for Average of Packet Jitter Bandwidth allocation is a critical issue in the design of an
EPON system. Since multiple ONUs share a common
In addition, The chart related to throughput and loss rate of upstream channel, an EPON system must efficiently utilize
this traffic Loads is shown in Figure (5) and (6). As a result the limited upstream bandwidth in order to meet the
of analyzing these charts that implied better and more bandwidth demands and quality of service requirements of
sufficient throughput compared to the other methods that we end users. In this article, MOBINA method optimizes the
mentioned completely. Also we can realize that packet lost bandwidth limitation problem. The results of the
is reduced by increasing traffic load. simulations showed that in comparison to other methods,
the proposed method offers better performance in terms of
average packet loss ratio and throughput ratio. And as a
result, we improve the overall network performance.
102 (IJCNS) International Journal of Computer and Network Security,
Vol. 2, No. 5, May 2010

References
[1] G. Kramer and G. Pesavento, "Ethernet passive optical Authors Profile
network (EPON):building a next-generation optical
access network," IEEE Communications Magazine, Alireza Hedayati:. received his B.Sc. and
M.Sc. in Computer Hardware Engineering
pp. 66-73, 2002.
from Azad University of Tehran Central
[2] J. Zhenga, T. Hussein, ”A survey of dynamic
Branch and Tehran science and research
bandwidth allocation methods for Ethernet Passive branch in 2000 and 2003, respectively. He is
Optical Networks ”, Elsevier Journal Optical currently studying Computer Hardware in his
Switching and Networking, pp. 151-162, 2009. Ph.D. degree. His research interests include
[3] A. Xiaofeng ,s. Abdallah , “On the fairness of dynamic Optical Networks, Next Generation Network, Network
bandwidth allocation schemes in Ethernet passive Management and QoS.
optical networks”, Elsevier journal of computer
communications, pp. 2123-2135, 2008. Mehdi N. Feshaaraki:. received his Ph.D.
[4] H. Naser, H. Mouftah, “A joint-ONU interval-based in computer Engineering from NSW
university of Australia. He is currently
dynamic scheduling algorithm for Ethernet passive
associate professor in computer Engineering
optical networks”, IEEE/ACM Transactions on Department of IAU. . His research interests
Networking ,pp. 889-899 , 2006. include Computer Networks, information and
[5] Z. J., "Efficient Bandwidth Allocation Method for knowledge architecture.
Ethernet Passive Optical Networks," in Proceedings
of IEE Communications, pp.464-468, 2006. Kambiz Badie:. received his B.Sc., M.,Sc, and
[6] X. Bai, A. Shami, C. Assi, Statistical Bandwidth Ph.D. in electronic engineering from the Tokyo
Multiplexing in Ethernet Passive Optical Networks, Institute of Technology, Japan, majoring in
in Proceedings of IEEE Global Telecommunications Pattern Recognition & Arlificia1lntelligance. His
major research interests are Machine Learning,
Conference, 2005.
Cognitive Modeling, and Systematic Knowledge
[7] J. Zheng, H. T. Mouftah, "An Adaptive MAC Polling Processing in general, and Analogical
Protocol for Ethernet Passive Optical Networks", in Knowledge Processing, Experience-Based
Proceedings of IEEE ICC, pp. 1874-1878, 2005. Modeling and Interpretative Modeling in particular with emphasis
[8] B. Moon, “Emergency handling in Ethernet passive on ides and technique generation .He is currently associate
optical networks using priority-based dynamic professor in Iran Telecom Research Center(ITRC).
bandwidth allocation”, in Proceeding of IEEE
INFOCOM'08, pp. 1319_1327, 2008. . Ahmad Khadem zadeh : He received the B.Sc.
[9] S. Bhatia, R. Bartos, IPACT with smallest available degree in applied physics from Ferdowsi
University, Meshed, Iran, in1969 and the M.Sc.,
report first: A new DBA method for EPON, in
Ph.D. degrees respectively in Digital
Proceeding. of IEEE ICC'07, pp. 2168_2173, 2007. Communication and Information Theory & Error
[10] H. Song, B.-W. Kim, B. Mukherjee, Multi-thread Control Coding from the University of Kent,
polling: A dynamic bandwidth distribution scheme in Canterbury, U. K .He is currently associate professor in Iran
long-reach PON, IEEE Journal on Selected Areas in Telecom Research Center and also He is the Head of Education &
Communications ,) pp. 134-142, 2009. National Scientific and Informational Scientific Cooperation
[11] Y. Zhu, M. Ma, “IPACT with grant estimation Department at Iran Telecom Research Center (ITRC).
(IPACT-GE) scheme for Ethernet passive optical
networks”, IEEE/OSA Journal of Lightwave Masoud Davari:. received his B.Sc. in
Computer Engineering from Azad University
Technology, pp. 2055-2063, 2008.
of Tehran Central Branch 2010. His research
[12] M. Ma, Y. Zhu, T. Cheng, “A bandwidth guaranteed interests include Computer network, Network
polling MAC protocol for Ethernet passive optical simulation and Software Engineering
Networks”, in Proceeding of IEEE INFOCOM'03, pp.
22_31, 2003.
[13] A. Banerjee, G. Kramer, B. Mukherjee, “Fair sharing
using dual service-level agreements to achieve open
access in a passive optical network”, IEEE Journal on
Selected Areas in Communications, pp. 32_44, 2006.
[14] Y. Luo, N. Ansari, “Limited sharing with traffic
prediction for dynamic bandwidth allocation and QoS
provisioning over EPONs”, OSA Journal of Optical
Networking, pp.561_572, 2005 .
(IJCNS) International Journal of Computer and Network Security, 103
Vol. 2, No. 5, May 2010

An Efficient Key Management Scheme for Mobile


Ad hoc Networks with Authentication
N.Suganthi1, Dr. V.Sumathy2
1
Asst.Professor, Dept. of Information Technology
Kumaraguru College of Technology,
Coimbatore, Tamil Nadu.
suganthiduraisamy@yahoo.co.in
2
Asst.Professor, Dept. of ECE
Government College of Technology,
Coimbatore, Tamil Nadu.
sumi_gct2001@yahoo.co.in

Abstract: mobile ad hoc networks (MANETs) are dynamically inside by compromised hosts. Without the appropriate
reconfigured networks in which security is a major concern. security precautions, critical applications for commercial or
MANETs face serious security problems due to their unique military use cannot employ networking technologies.
characteristics such as mobility, dynamic topology and lack of Key management is an essential cryptographic
central infrastructure support. Key management is crucial part primitive upon which other security primitives such as
of security, this issue is even bigger in MANETs. The privacy, authenticity and integrity are built. However, none
distribution of encryption keys in an authenticated manner is a
of the existing key management schemes are suitable for ad
difficult task. Because of dynamic nature of MANETs, when a
node leaves or joins it need to generate new session key to
hoc networks. The major limitation of these schemes is that
maintain forward and backward secrecy. In this paper we divide most of them rely on a trusted third party (TTP), thus not
the network into clusters. Cluster head will maintain the group fulfilling the self-organization requirement of an ad hoc
key, it will also update the group key whenever there is a change network. Special mechanisms and protocols designed
in the membership. Here the re-keying process will be specifically for ad hoc networks are necessary. Key
performed only if there is any movement of nodes within the management deals with key generation, storage,
clusters. So the computation and communication cost will be distribution, updating, and revocation and certificate service
reduced. And also we provide authentication between in accordance with security policies.
communicating nodes both in inter and intra cluster. The Due to dynamic behavior of the MANET, secret
network life time will be extended with the help of monitoring key used for communication is need to be updated whenever
node. The performance results prove the effectiveness of our key
any node joins or leaves the network in order to maintain
management scheme.
the forward and backward secrecy with in the network. If
the network is large and also the mobility is higher,
Keywords: Network Security, Key Management, Key Update,
updating of the key will be more frequent. It will consume
Mobile Networks, clusters
more computation power and also communication power of
1. Introduction nodes. So in our proposal we divide the network into
clusters consisting of small group of nodes. Here the re-
We encounter new types of security problems in ad hoc keying process will be performed only if there is any
networks because these networks have little or no support of movement of nodes with in the clusters.
infrastructure. The network has no base stations, access The re-keying process will be distributed between
points, remote servers etc. All network functions are cluster heads. And also using monitoring node the life time
performed by the nodes itself. Each node performs the of the network is extended. The monitoring node is
functionality of host & router. In mobile ad hoc networks, continuously checking the cluster head for its energy. If the
nodes within their wireless transmission range can cluster head has less energy next high capability node will
communicate with each other directly, while nodes outside be elected as cluster head.
the range have to rely on some other nodes to relay message. And also the details contained in the CH will be shifted to
MANET is autonomous, multihop networks interconnected new CH and this process will be informed to all other nodes
via wireless links. Thus a multi-hop scenario occurs, where by monitoring nodes.
the packets sent by the source node are relayed by several
intermediate nodes before reaching the destination. The 2. Previous Work
success of communication highly depends on the other
Majority of research on security of ad hoc networks
nodes’ cooperation. While mobile ad hoc networks can be
emphasize the secure routing protocols, there are some
quickly and inexpensively setup as needed, security is a
proposals on key generation and distribution issues.
critical issue compared to wire or other wireless
Zhou et al [7] proposed a technique to distribute
counterparts. Many passive and active security attacks could
certificate authority (CA) functionality. In this method, the
be launched from the outside by malicious hosts or from the
104 (IJCNS) International Journal of Computer and Network Security,
Vol. 2, No. 5, May 2010

networks includes n servers providing the certificates, out of


which t + 1 are needed for creation of the valid certificate
but t is not enough.
Seung Yi et al [11] proposed an efficient and
effective distributed CA by selecting physically and
computationally more secure nodes as MOCAs(Mobile
Certificate Authority) and they used threshold cryptography
to distribute the CA’s private key among these MOCA
nodes.
Caner Budakoglu et al [12] proposed a modified
form of distributing the certificate authority functionality.
They proposed a hierarchical threshold level, so that it offers
a different level of security to satisfy the needs for a wide
variety of applications.
Bing Wua et al [4] propose a secure and efficient
key management (SEKM) framework for mobile ad hoc
networks. They build a public key infrastructure (PKI) by .
applying a secret sharing scheme and using an underlying Figure 1. Cluster formation
multi-cast server groups. They gave detailed information on
the formation and maintenance of the server groups. Each
server group creates a view of the certificate authority (CA) 3.1 Group Key Generation And Distribution:
and provides certificate update service for all nodes,
including the servers themselves. Whenever a node comes within the radius of any cluster,
In the case of self organized public key first it will send hello message along with its id and public
management, the system does not need any kind of key.
infrastructure to authenticate keys. S. Capkun et al [3] Cluster head receive this message and initiate the group
suggested a method based on the users issuing certificates to key calculation. It uses the entire nodes public key to
each other based on personal acquaintance. These calculate group key as follows.
certificates are used to bind a public key and a node id. CH : grpkey =(α) p1+p2+….pn+ kCH mod p X Srv -----(1)
Every node should collect and maintain an up-to-date where α – primitive root of p
certificate repository. Certificate conflict is just another kCH -secret key of cluster head,
example of a potential problem in this scheme. p1,p2 …pn – public keys of individual nodes within
the cluster,
3. Proposed Scheme p – prime number and
We had divided the networks into clusters and each Srv – secret random value generated every time while
cluster will have 1- hop nodes and cluster head. Some re-keying.
efficient existing algorithm can be used to group the users
into clusters and generate a cluster head for each one. The Algorithm for the group key generation:
users in each cluster are in a flat network topology and the Procedure:
local key management policy is centralized. BEGIN
The users in the group are classified into two types: Precondition:
cluster heads and ordinary users. The cluster head is Node should present within the cluster
responsible for cluster management, membership if CH gets public keys of all nodes
maintenance and group key distribution and updating. calculate group key as follows:
Initially, all nodes are assigned an id, status code (for CH : grpkey =(α) p1+p2+….pn+ kCH mod p X Srv
cluster head differentiation), its private key and public key. endif
Cluster head is selected based on lowest id algorithm. To
cope up with the dynamic nature of the ad hoc nodes //comment: Encryption
security is enhanced by providing re-keying concept. Re- CH à nodes within the cluster : E (grpkey)
keying is done by cluster head when ever any node joins or using RSA algorithm where
leaves the network to ensure backward secrecy (i.e., a new E(grpkey) = ((grpkey)e mod n) in which
member should not know the previous information that was {e,n} are public key pair.
exchanged) and forward secrecy (i.e., an existing member
should not receive the information exchanged after it leaves Nodes: D(grpkey) = (E(grpkey)d mod n) in which
the network) {d,n} are private key pair.
END
(IJCNS) International Journal of Computer and Network Security, 105
Vol. 2, No. 5, May 2010

The distribution of group key is done using RSA algorithm.


Cluster head having (e,n) public key and every node C = (M)e mod n (e,n) – public key ---(2)
maintains (d,n) private key. When ever any new node joins M = (C)d mod n (d,n) – private key ---(3)
into the cluster, cluster head calculates new group key and
multicast to already existing nodes. And cluster head unicast Suppose if any node leaves the cluster to maintain
the group key to new node along with private key for RSA forward secrecy, cluster head calculate new group key and
algorithm. also it will change key encryption key also.
And using individual node’s public key, key encryption
3.2 New Node Joins key will be transmitted and using that key group key will be
encrypted. Cluster head will unicast this information to all
When ever a node A joins in the network the following the nodes.
messages are exchanged.
CH à all node: E(Pbnode , (E(e,[Ko]) || (d,n) ) )
Node A joins CH already where
existing nodes Pbnode - public key of new node,
{e, n } - Public key pair of RSA algorithm and
(hello msg, {d, n } - Private key pair of RSA algorithm.
ida, pka,N) calculates new
group key 3.4 Providing Authentication

multicast group Within the network, if any two nodes A and B want to
key to all nodes communicate first it will authenticate each other. The
unicast authentication steps are as follows.
(grp key,
private key(d,n)) 1. Node A calculate hash value using its (id, public
key, group key) and transmit the hash value, id
First group key will be encrypted using RSA algorithm and and public key to node B
it is again encrypted using new node public key. 2. Node B receive hash value and also it calculate new
hash value from A’s id, public key and group key.
CH à new node: E(Pbnode , (E(e,[Ko]) || (d,n) ) ) where 3. Node B will check the received values and
Pbnode - public key of new node, calculated value both are equal or not.
{e, n } - Public key pair of RSA algorithm and 4. If the hashed values are equal, it identifies the peer
{d, n } - Private key pair of RSA algorithm. node as authenticated node.
Initially the new node gets the RSA private key pair by Algorithm for authentication:
decrypting received key information using its own private Procedure:
key, after then it decrypts using RSA private key to get BEGIN
group key. Precondition:
All other already existing nodes receive encrypted The nodes must wish to communicate with each other.
information and decrypt using RSA algorithm to get the if
updated group key. get the peer nodes public key and ID.
calculate the hash value and transmit to the peer one.
3.3 Existing Node Leaves A à B : hash (ida ,pka, group key) || ida ,pka
peer node : calcuate the same hash value.
Whenever an existing node B leaves the cluster the endif
following messages are exchanged. if both hash values are same
both are authenticated nodes
Node B leaves CH already endif
existing nodes END

(leave msg, idb) calculates 3.5 To maintain network connectivity


new group key After clustering, the cluster head has to do more
computation and so its energy may drain fast.
To check this we can use periodic hello message. If the
unicast group key to cluster head is not done any re-keying operation for the
all individual nodes threshold time of 20 s, it has to broadcast hello message.
This network maintenance can be done with the help of
(grp key, private key(d,n)) monitoring nodes. This node can be next highest resource
available node after the cluster head.
This node will maintain a timer, it will check for any
The group key is encrypted first using RSA algorithm and communication from CH. If it does not receive any message
then using individual nodes public keys. (or) rekeying information, it will send hello message to CH
106 (IJCNS) International Journal of Computer and Network Security,
Vol. 2, No. 5, May 2010

to check for it's presence and wait for it's reply. Suppose if it ii) With respect to transmission delay:
does not receive reply, it will inform to other nodes to
initiate Cluster head selection process.
The monitoring node will wait for a period T and then it
will send hello message.
T= threshold time + propagation delay --- (4)

4. Implementation and performance


comparison

The simulations are performed using Network simulator


(Ns-2), particularly popular in ad hoc networks. The MAC
layer protocol IEEE 802.11 is used in all simulations. The
Destination Sequence Distance Vector (DSDV) routing
protocol is chosen for the simulations. The simulation
parameters used are summarized in Table 1:

Table 1: Simulation Parameters


Figure 3. graphs showing the transmission delay from
Parameter Value central node to individual node (19) during the distribution
Simulation time 1000 sec of group key.
Topology size 750m X 750m
No. of nodes 20
Routing protocol DSDV
Transmission Range 250m
Mobility Model Random Waypoint
MAC IEEE 802.11
Node Mobility 0 to 20 m/sec

Without clusters, the computation time, time delay and


packets transferred from central node are more. Whereas
with the formation of clusters, it is greatly reduced due to
it’s distributed behavior. The performance comparison is as
follows:

i) With respect to communication cost:


Figure 4. graphs showing the transmission delay from
central node to individual node (12) during the distribution
of group key.

5. Conclusion:

The cluster based key management provides the


distribution of computation needed for re-keying process.
Re-keying will be performed within the cluster. And also
using hash function, authentication is provided between
communicating nodes. Inter cluster communication is done
in efficient manner. To maintain network connectivity, a
node called monitoring node is used.

Figure 2. graphs showing the no of packets handled to


distribute the group key during the rekeying process
(IJCNS) International Journal of Computer and Network Security, 107
Vol. 2, No. 5, May 2010

References Systems, IEEE Transactions on Volume 19, Issue 5,


Page(s):577 – 587, 2008.
[1] Aftab Ahmad, Mona El-Kadi Rizvi, Stephan Olariu [16]Kejie Lu, Yi Qian, Mohsen Guizani, and Hsiao-Hwa
“Common Data Security Network (CDSN)” Chen, “A Framework for a Distributed Key
Q2SWinet’05, Montreal, Quebec, Canada, 2005. Management Scheme in Heterogeneous Wireless Sensor
[2] P.Papadimitratos and Z.J. Haas. "Secure Data Networks”, IEEE Transactions on Wireless
Communication in Mobile Ad Hoc Networks" IEEE Communications, Vol 7, No. 2, Feb’ 2008
Journal on Selected Areas in Communications (JSAC),
Special Issue on Security in Wireless Ad Hoc Networks,
2nd Quarter of 2006.
[3] S.Capkun, L. Butty´an, and J.-P. Hubaux. “Self-
organized public-key management for mobile ad hoc
networks” IEEE Transactions on MobileComputing,
2(1), January-March 2003.
[4] Bing Wu, Jie Wu, Eduardo B. Fernandez, Spyros
Magliveras. “Secure and Efficient Key Management in
Mobile Ad Hoc Networks” Proceedings of the 19th
IEEE International Parallel and Distributed Processing
Symposium (IPDPS’05) IEEE, 2005
[5] Ozkan M.Erdem.” Efficient Distributed Key
Management for Mobile Ad Hoc Networks”0-7803-
8623-W04, IEEE, 2004
[6] YANG Ya-tao, ZENG Ping, FANG Yong, CHI Ya-Ping.
“A Feasible Key Management Scheme in Adhoc
Network” Eighth ACIS International Conference on
Software Engineering, Artificial Intelligence,
Networking, and Parallel/Distributed, IEEE, 2007
[7] Zhou, L. and Z. Haas. “Securing Ad Hoc Networks”,
IEEE Network Magazine, Vol. 13, 1999.
[8] Aldar C-F. Chan, “Distributed Symmetric Key
Management for Mobile Ad hoc Networks”, IEEE
INFOCOM, 2004.
[9] Atef Z. Ghalwash, Aliaa A. A. Youssif, Sherif M.
Hashad and †Robin Doss “Self Adjusted Security
Architecture for Mobile Ad Hoc Networks (MANETs)”
6th IEEE/ACIS International Conference on Computer
and Information Science (ICIS 2007)
[10] Yanchao Zhang, Wei Liu, Wenjing Lou, and Yuguang
Fang, “Securing Mobile Ad Hoc Networks with
Certificateless Public Keys”, IEEE Transactions on
Dependable and Secure Computing, vol. 3, No. 4, Oct-
Dec 2006.
[11] Seung Yi, Robin Kravets, “Key Management for
Heterogeneous Ad Hoc Wireless Networks ”, Proc. of
the 10th IEEE International conference on Network
Protocols (ICNP’02), pages 202-203, Nov. 2002.
[12] Caner Budakoglu and T.Aaron Gulliver, “Hierarchical
Key Management for Mobile Ad Hoc Networks”, 0 -
7803-8521-7/04 IEEE, 2004.
[13]Renuka. A and Shet K.C, “Cluster Based Group Key
Management in Mobile Ad hoc Networks”,
International Journal of Computer Science and Network
Security, Vol 9, No 4, 2009.
[14] Patrick P.C.Lee, John C.S Lui, and David K.Y. Yau,
“Distributed Collaborative Key Agreement and
Authentication Protocols for Dynamic Peer Groups”,
IEEE/ACM Transactions on Networking (TON)
Volume 14, Issue 2 Pages: 263 – 276, 2006.
[15]Lihao Xu, and Cheng Huang, “Computation Efficient
Multicast Key Distribution”, Parallel and Distributed
108 (IJCNS) International Journal of Computer and Network Security,
Vol. 2, No. 5, May 2010

CAN Bus, an Efficient Approach for Monitoring


and Controlling
Manufacturing Processes in Industries
Rashmi Jain1, N. G. Bawne2
1
Department of Computer Technology,Yeshwantrao Chavan College of Engineering,
RTM Nagpur University, India
rashmil_jain@rediffmail.com
2
Department of Computer Science,G. H. Raisoni College of Engineering,
RTM Nagpur University, India
narenbawane@rediffmail.com

Abstract: This paper shows a simple and effective approach to thousands of sensors monitor current naval vessel’s
the design and implementation of automated Industrial condition and performance [1]. The system can monitor
manufacturing Systems oriented to control the characteristics of different quantities like temperatures, speed, torque,
each individual product manufactured in a production line and pressure with the help of set of hundreds of sensor nodes at
also their manufacturing conditions. The particular products distributed locations to sense different physical quantities
considered in this work are steel sheets that under go the and send the data to a centralized place to monitor the
galvanizing processes. However, the approach can be modified
processes going on. Currently distributed control systems
to be applicable in other industries, like paper, textile,
aluminum, etc. The system makes use of sensor nodes placed at
(DCS) are used to collect the data from various places and
different places to monitor and control various parameters of control the required processes with the help of these control
interest to guarantee and improve the quality of the products systems. The structure of a typical DCS is shown in fig 1.
manufactured in many industries. The proposed system uses Instead of using distributed control system to carry the data
CAN bus to send and receive the data from the nodes to the we use CAN (Controller Area Networks) bus so that the
central controller which provides many advantages over the speed of communication increases and reduce the number of
currently used distributed control system. wire harnesses caused otherwise. Different protocols and
serial communication standards are used for this
Keywords: Galvanizing processes, CAN bus, multi-master, communication.
Electro magnetic interference (EMI), distributed control systems
(DCS).

1. Introduction

CAN (Controller Area Network) was originally designed for


robust use in communicating among different control
systems of a vehicle. It works efficiently in the noisy and
continuously moving circumstances in a vehicle. The
robustness of this communication can also be efficient for
industries.
In industries the sensors are essential components of
closed-loop control systems. They are used in all industries Figure 1. Distributed Control Systems
for different types of applications from monitoring a
machine tool in a manufacturing plant to control of a Using CAN bus we can connect all these nodes to a single
process in a chemical plant. twisted pair cable with maximum of 1MBPS speed. It was
Traditionally, using sensors meant that long cables were originally designed for application in vehicle networks
needed to connect each sensor back to a centralized where the work environment is noisy and have more Electro
monitoring or control station. Each cable may have magnetic interference (EMI) but it is being used in
contained multiple wires for both power and sensor data. industries in production line and machine as an internal bus
When working with a small number of sensors, this may not [7]. The ISO standard 11898 is used in this network. As it is
seem like a daunting task to wire, but consider the number a multimaster system, any node can initiate communication
of sensors in some practical applications. For example, if the bus is free. We can use 11 bit or 29 bit arbitration field
dozens of sensors may be used to monitor various thermal to identify the message. In this application we are using 11
parameters in a manufacturing facility; thousands of sensors bit message identifier in the data frame. CAN transmit data
monitor the heat shield tiles on the Space Shuttle; tens of
(IJCNS) International Journal of Computer and Network Security, 109
Vol. 2, No. 5, May 2010

through a binary model of "dominant" bits and "recessive" contains alkali solution. The container has a conductor rod
bits where dominant is a logical 0 and recessive is a logical which acts as an anode. The pure zinc block is hanged to
1. If one node transmits a dominant bit and another node this rod. A constant current is supplied through a rectifier.
transmits a recessive bit then the dominant bit "wins". A A chemical reaction between the alkali solution and zinc
typical CAN node is shown in fig. 2. takes place which releases the positive ions of zinc. The
material to be galvanized is dipped into the alkali solution
in the tub. The tub itself acts as ground making the material
cathode and the positive ions of zinc gets deposited on the
material, carrying out the galvanization process. The time
for which this process should continue depends upon the
shape and size of the material. If the material has some
inner curved surfaces or with small opening then it takes
more time to complete the process. During this chemical
reaction the pH value of the alkali solution decreases. If this
value goes below a certain set value then the system should
give an alarm indicating that the solution is to be changed.
This can be done by using a pH value sensor and
periodically sending output to the controller.
The material is moved from one container to other
container using a conveyer. With the help of a flexible hook
the material can be connected to the conveyer. A typical
schematic is shown in the following Fig. 3.
Figure 2. CAN Node

In this paper we are using CAN for monitoring and


controlling the process of galvanizing the metal sheet. In
this process the metal sheet has to pass through several
stages of operation, with different temperatures, pH value of
solution maintained at certain value in different stages to
ensure the quality of the product. So our system will monitor
these temperatures & other quantities like speed of
conveyer, pH value, time etc. with the help of set of sensor
nodes.

2. The Galvanizing Process 1: Degreasing tub, 2: Washing tub, 3: Derusting tub, 4: washing
The process of galvanization is used to save the metal sheets tub, 5: galvanizing tub with zinc block connected to anode, 6, 7:
from oxidation and increase the life of the product Heaters, 8: Metal Sheet, 9: Conveyer, 10: Hook
manufactured from this sheet. Figure 3. Process of Galvanization.

2.1 Steps in Galvanization process 2.2 The CAN standard Used


The process consist of major four steps: CAN is the leading serial bus system for embedded control.
i. Clinning More than two billion CAN nodes have been sold since the
protocol's development in the early 1980s. CAN is a
ii. Degreasing mainstream network and was internationally standardized
(ISO 11898–1) in 1993 [4]. The automobile and other
iii. Derusting industries have hitherto witnessed the advent of various
electronic control systems & embedded systems that have
iv. Galvanizing been developed in pursuit of safety, comfort, pollution
prevention, and low cost [1]. For physical transmission of
In the first step the surface of the sheet is simply clinned the node data to the controller the CAN standard used is
with water. In the next step Degreasing is done with ISO 11898. It defines all the electrical parameters for the
degreasing solution at 75 to 80ºC for 15 to 20 minutes and serial communication. As the data is to be communicated
the sheet is rinsed with water. The temperature is sensed over a single network, the CAN uses only three layers of the
using temperature sensor and controlled using a relay ISO/OSI reference model, namely, physical, data link and
circuit. Next derusting is done with the solution of H2 SO4 or application layer.[7]
HCL with concentration of 10 to 15%. Depending upon the
rust present the pH value of this acid can be chosen from 1 The major design issues considered are as follows:-
to 5 and the process continues for 15 to 20 minutes. After
derusting the material is again washed in the next water • Develop cost effective sensor network using CAN
container. After this degreasing and derusting the material • Enable message communication in both directions
is ready for galvanization. The galvanizing container over CAN bus
110 (IJCNS) International Journal of Computer and Network Security,
Vol. 2, No. 5, May 2010

• Flexibility in increasing number of nodes without it with the preset value. If the temperature is less than this
any problem, set point then the heater is switched on with the help of a
• Make system more reliable, as wire harnesses is relay, otherwise it is switched off. This relay operates with
reduced he interrupt signal at pin PD3/INT1. The information
generated i.e. current temperature value and status of relay,
3. The System Architecture by the microcontroller is sent to the centralized controller
through the CAN port for further processing. The CAN
Various nodes with multiple sensors can be deployed in controller used is 8 pin chip MCP2551. It is connected to
various sections to sense the quantity of interest and send it microcontroller at pins PD0/RXD and PD1/TXD. The
over the CAN bus to the base station as given in the block circuit diagram of the node structure or slave unit is shown
diagram in fig 5. Some processing is done on this data so in fig. 6.
that the size of the data to be further communicated to the
server can be reduced and bandwidth utilization will be
done efficiently. At the server end the data gathered will be
analyzed for proper monitoring purpose and taking SLAVE UNIT
appropriate actions during the manufacturing process. The
structure of the Centralized monitoring server is given in
CAN BUS
TEMP SENSOR J2
5
9
U2 4
R1 U1 5 8
U3 Y
9 22 3 3
RESET PC0/SCL D

1
23 6 7
47k PC1/SDA Z
13 24 2
XTAL1 PC2/TCK

+V S
12 25 7 6
XTAL2 PC3/TMS B
26 2 1
PC4/TDO R
2 40 27 8
VOUT PA0/ADC0 PC5/TDI A
39 28 CONN-D9M
PA1/ADC1 PC6/TOSC1
38 29 MCP2551
PA2/ADC2 PC7/TOSC2

GN D
37
PA3/ADC3
36 14
PA4/ADC4 PD0/RXD
35 15
PA5/ADC5 PD1/TXD
3
LM35 34 16
PA6/ADC6 PD2/INT0
33 17
PA7/ADC7 PD3/INT1
18
PD4/OC1B
1 19
PB0/XCK/T0 PD5/OC1A
2 20
PB1/T1 PD6/ICP
3 21
PB2/INT2/AIN0 PD7/OC2
4
PB3/OC0/AIN1
5
PB4/SS
6
PB5/MOSI
7 30
PB6/MISO AVCC

following fig 4.
8
PB7/SCK
ATMEGA16
AREF
32
OUTPUT RELAY
12V RL1
POWER SUPPLY OMI-SH-124L

U4
Figure 4. Centralized Monitoring Server 7805
J3 D1 12V 1 3 VCC
VI VO
1
GND

2 R2 Q1
3 1N4007
D2 C3 BC547
C1 C2 100n 47k
2

CONN-SIL3 2200u 100n

1N4007
GND

Figure 6. Circuit Diagram of Node

Centralized controller may use some keypad with 3 buttons


UP, DOWN, ENTER for entering the new set points by
increasing or decreasing the current set point. A LCD (16 X
2 lines) is used to display value of temperature and the
status of the relay. To receive the information from the
nodes and sending new set point it again uses the CAN port.
Figure 5. Node Structure ATMEGA16 is used as the controller here. For further use
and storage of the monitored data it is sent to the PC via
Different nodes can have the number of sensors attached to serial communication port, MAX232 [7]. It is connected to
them. Here for demonstration purpose we are using the TXD and RXD pins of the microcontroller. The circuit
temperature senor, LM35, at a node. The data from the diagram of the Centralized controller is shown in fig. 7.
sensors is collected and processed by the microcontroller. Both the circuits use the regulated power supply which will
The microcontroller used here is AVR ATMEGA16 which give 5V output for driving the circuits.
has an inbuilt 8 channel ADC implemented at port PA. The
output of the temperature controller is given to PA0 pin.
Microcontroller converts this to digital value and compares
(IJCNS) International Journal of Computer and Network Security, 111
Vol. 2, No. 5, May 2010

MASTER UNIT
LCD1
LM016L

VDD
V SS
V EE CAN BUS
RW
RS

D0
D1
D2
D3
D4
D5
D6
D7
J2
E

5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
9
U2 4
R1 U1 5 8
Y
9 22 3 3
RESET PC0/SCL D
23 6 7
47k PC1/SDA Z
13 24 2
XTAL1 PC2/TCK
R2 12
XTAL2 PC3/TMS
25 7
B
6
47k 26 2 1
PC4/TDO R
40 27 8
PA0/ADC0 PC5/TDI A
39 28 CONN-D9M
PA1/ADC1 PC6/TOSC1
38 29 mcp2551
PA2/ADC2 PC7/TOSC2
37
PA3/ADC3
36 14
PA4/ADC4 PD0/RXD
35
34
33
PA5/ADC5
PA6/ADC6
PD1/TXD
PD2/INT0
15
16
17
SERIAL COMMUNICATION
PA7/ADC7 PD3/INT1
18
PD4/OC1B
1 19
PB0/XCK/T0 PD5/OC1A VCC
2 20
PB1/T1 PD6/ICP
3 21
PB2/INT2/AIN0 PD7/OC2
4
PB3/OC0/AIN1 C8
5
PB4/SS
6
PB5/MOSI
7
PB6/MISO AVCC
30 C5
8 32 1u 1u
PB7/SCK AREF
1 3
ATMEGA16 J6
1
C1+ C1-
6

POWER SUPPLY 11
12
10
9
T1IN
R1OUT
T2IN U4
T1OUT
R1IN
T2OUT
14
13
7
8
2
7
3
8
U4 R2OUT R2IN
4
7805 MAX232 2 9
J3 D1 VS+
12V 1 3 VCC 6 5
VI VO VS-
1
G ND

2
C2+ C2- C3 CONN-D9F
3 1N4007
D2 C3
C1 C2 100n
C4 100n
2

CONN-SIL3 2200u 100n 4 5 C6


1u
1N4007
GND 1u

Figure 7. Circuit Diagram of Monitoring Node

4. The Software Design

To develop the software to control the operation of the


circuits developed we are using AVR Studio 4 and WinAVR
which gives a complete Integrated Development
Environment, IDE required. This studio is chosen as it is
easier to write the code in C Language and efficient for
execution. The Hex file is created as the output file which
can be downloaded onto the microcontroller.
The flowchart for process of sending data from slave node
to the monitoring and controlling node is given in fig. 8. Figure 8. Flowchart for sensor node operation
The microcontroller periodically reads the data from the
temperature sensor process it through ADC and compares it 5. Advantages
with the set point, here 30 ºC. If the temperature is above 30
ºC then switch off the relay controlling the heater. The proposed system will provide following advantages:
Otherwise if relay is off then switch it on to maintain the • The high-volume applications increase their
temperature. Then this data is sent to the central monitor if efficiencies.
the channel is free. The arbitration logic will allow the • They are lowering the prices and promoting
message with dominant bit (0) to transmit the message first adoption in other devices.
if two nodes start the transmission at the same time. • There is flexibility in increasing number of
The CAN frame uses the 11 bit ID field which allows nodes without any problem.
2048 total number of nodes to be connected in a network[8]. • They make the system more reliable.
If more than this num out of 8 bytes of the data block 3 bytes
are used for sending temperature information and 3 bytes for
sending status of the relay. Two bytes for checksum and one 6. Applications
byte for indicating EOF (end of frame) are used. • The proposed system can be used in different
The flowchart in fig, 9 shows the working of the monitor industries to control manufacturing processes that
node. This node is assigned the highest priority by giving are continuous or batch-oriented, such as oil
the message id “0” to the message transmitted by this node. refining, petrochemicals, central station power
generation, pharmaceuticals, food & beverage
The network is initialized for transmission and reception manufacturing, cement production, steelmaking,
of data. UART is set at 9600 Baud. The data is collected and papermaking [3].
from the nodes periodically and analyzed, if it is reasonable • Multiple sensors and actuators can be added with
then send it to PC for further operations and stored. If it is the different nodes and they can be used to control
not valid then indicate abnormal situation and give alarm. If the flow of material through the plant [6].
some time we have to change the setpoint then using the • A recent trend in the automotive industry has
Keys available it can be increased or decreased and increased the complexity of applications [1]. As a
conveyed to the node accordingly.
112 (IJCNS) International Journal of Computer and Network Security,
Vol. 2, No. 5, May 2010

result, the number of nodes connected to the CAN


bus has increased. [2] Krishna Chaitanya Emani, Keong Kam, Maciej
• Safety and efficiency requirements such as latency, Zawodniok Yahong Rosa Zheng, Jagannathan
high data rate, immunity to noise, and error- Sarangapani, “Improvement of CAN Bus Performance
detection capability are challenging the current By Using Error-Correction Codes”, IEEE Region 5
CAN capabilities. Technical, Professional & Student conference 2007.
[3] Ian F. Akyildiz, Weilian Su, Yogesh
Sankarasubramaniam,“A Survey on Sensor
Networks”, Erdal Cayirci Georgia Instetude of
Technology. IEEE Communication Magazine- August
2002
[4] Kay R¨omer and Friedemann Mattern, “The Design
Space of Wireless Sensor Networks”, IEEE Wireless
Communications, Dec. 2004.
[5] Ping Ran, Baoqiang Wang, Wei Wang, “The Design of
Communication Convertor Based on CAN Bus”,
Proceedings of the 2008 IEEE/ASME International
Conference on Advanced Intelligent Mechatronics,
July 2 - 5, 2008.

[6] William Kaisar and Gregory Pottie, “Principles of


Embedded Network System Design”, First edition,
Cambridge University Press 2005.
[7] Xia Dong, Kedian Wang, Kai Zhao, “Design and
Implementation of an Automatic Weighing System
Based on CAN Bus”,,Proceedings of the 2008
IEEE/ASME International Conference on Advanced
Intelligent Mechatronics July 2 - 5, 2008...O

[8] Javier Diaz, Elias Rodriguez, Luis Hurtado, Hugo


Cacique, Nimrod Vazquez, Agustin Ramirez,,“CAN
Bus Embedded System for Lighting Network
Applications Proceedings of the 2008 IEEE/ASME
International Conference on Advanced Intelligent
Mechatronics, July 2 - 5, 2008.

Authors Profile
Figure 9. Flowchart for Controller node operation Rashmi Jain completed her B. E. (Computer
Technology) from Kavi Kulguru Institute of
Technology and Science, Nagpur University in
7. Conclusion 1997. Currently completing M.E. in Embedded
systems and Computing from G. H. Raisoni
The system developed with the help of sensor nodes and College of Engineering, Nagpur University.
CAN Bus improves the performance of the system and Meanwhile worked as a lecturer in Comp.
reliability of the system at lower costs as compared to the Tech. Dept. at KITS Ramtek, SSGMCE
presently applied system of distributed control systems using Shegaon and YCCE Nagpur.ET VOLUME 31
RS-232 based communication. Multimaster communication JULY 2008 ISSN 1307-6884 513 © 2008 WASET.ORG
allows any node to initiate communication when bus is free. Dr. Narendra G Bawane is Professor and
The intelligent nodes make proper utilization of the bus. Former Head of Computer Science and
Automobile industries and other industries are making use Engineering department at G. H. Raisoni
of it for better noise immunity and EMI. Along with the college of Engineering, Nagpur
(Maharashtra). Prior to this assignment, he
application in vehicle networks CAN bus is efficiently used
worked with B.D. College of Engineering
in industries also. In the Galvanization process also the Sewagram and Govt. Polytechnic, Nagpur
quality of the finished product will increase if all the phases for several years. He has total teaching
are completed in due course of stipulated time and at experience of more than 22 years. He has
controlled temperature and pH value of the solution. completed his B.E. from Nagpur University in 1987 and M. Tech.
in 1992 from IIT, New Delhi. He completed his Ph. D. in 2006 at
References VNIT, Nagpur.

[1] W. Xing, H. Chen, H. Ding, “The Application of


Controller Area Network on Vehicle”, Proc. IVEC,
1999, pp. 455 – 458.
(IJCNS) International Journal of Computer and Network Security, 113
Vol. 2, No. 5, May 2010

A Novel Architecture for QoS Management in


MANET using Mobile Agent
A.K.Vatsa1 and Gaurav Kumar2
1
Assistant Professor
School of Computer Engineering and Information Technology, SHOBHIT UNIVERSITY,
NH-58, MODIPURAM, MEERUT, UTTAR PRADESH, INDIA.
avimanyou@rediffmail.com
2
Bachelor of Technology
School of Computer Engineering and Information Technology, SHOBHIT UNIVERSITY,
NH-58, MODIPURAM, MEERUT, UTTAR PRADESH, INDIA.
kumar.22.gaurav@gmail.com

interest in this field and researches to be carried out for


Abstract: The wide availability of mobile devices equipped with betterment of the network functioning.
infrastructure-free wireless communication capabilities together
with the technical possibility to form ad-hoc networks paved the 1.2 Mobile Agent
path for building highly dynamic communities of mobile users. Mobile agents are programs that can migrate from host to
In many performance oriented applications like co-operative host in a network [11], at times and to places of their own
information sharing, defense applications, disaster choosing where this is mandatory for the host to posses’
management, mission critical applications and commercial agent hosting capability. The agent code should not have to
production applications needs QoS, which is, no doubt, a critical be installed on every machine the agent could visit
issue. In this paper, we propose a novel architecture using providing them platform independency [11]. Agents are able
hierarchical model to effectively manage the resources on and
to decide, based on their local knowledge, if, when and
attached with Mobile ad-hoc Network and provide robustness
with zero probability of fault. The dynamic clustering and the
where to migrate in the network. The ability of mobile
criteria for cluster formation causes adaptability to various agents to replicate themselves into many copies that travel to
situations and enhancement of load bearing capacity as well as different points across the network sounds promising.
an effective co-operation between several nodes to bear the During migration, the agent’s local state variables [7] are
responsibilities. The main focus is to minimize the overhead transferred to the new host to continue computation there.
transmission in the network for which a new approach of co- Mobile agents are chosen for many applications, due to
operative routing is implemented. several reasons [8], viz. improvements in latency and
bandwidth of client-server applications and reducing
Keywords: MANET, QoS, Mobile Agent, Cluster, Cluster vulnerability to network disconnection.
Head, co-operative Routing, Hierarchical model, Dynamic
Clustering, Hybrid Approach and Host. 1.3 Quality of Service
QoS support in MANET’s is a challenging task and it is
1. Introduction required to have a better management over parameters like
minimum bandwidth; minimum delay, jitter guarantee, dis-
1.1 MANET
connectivity and denial of services and contract based
Mobile Ad hoc network [9], is infrastructure less, dynamic enforced service agreements. Although, MANET’s are used
multi-hop wireless network, where each node acts as a for a variety of applications, but, the commercial one’s
mobile router. They are equipped with a wireless transceiver mainly multimedia applications require a predefined Quality
and by a group of mobile hosts formed on a shared wireless of Service [1]. This QoS is in the form of an agreed upon
channel by virtue of their proximity to each other [10]. service level agreement [1]. QoS means a guarantee of some
Routing protocols should adapt to such dynamics and parameters and their threshold value. We know that
continue to maintain connection between the different applications have different requirements of
communicating nodes. As a consequence of mobility and resources. QoS roughly means providing the applications
disconnection of mobile hosts, the dynamics of wireless ad with enough network resources, so that they can function
hoc networks, causes a lot of problems to emerge in within acceptable performance limits. Since the
designing proper routing algorithms for effective requirements of resources vary, the value of QoS parameters
communication [11]-[12]. Also the time of entering the node also varies for every application.
to the network and exiting from it be unpredictable. Work
on unipath routing has been proposed in many literatures 1.4 Problem Identification
[18]-[22]. There two main classes of routing protocols in The problem considered in this paper is to provide a routing
MANET, i.e., table-based or proactive and on demand or scheme for MANET’s so that the QoS can be provided to
reactive protocols [23]. Any suitable mix may give better the mobile nodes with decreasing the amount of overhead
results. Their varied scope and promising features cause transmission and providing such an architecture which
114 (IJCNS) International Journal of Computer and Network Security,
Vol. 2, No. 5, May 2010

properly manages the network with minimum probability of Equation 1. states that the path with banwidth left on them
error occurrence. Though the consumption of resources is a denoted by bwe(i,j) which is greater than bwmin are selected
problem, yet a bigger problem is that even after giving so and the one with min. value is decided to be assigned.
much of network capacity, protocols still lack in providing Equation 2. states that for delay the summation of all the
QoS strictly. Getting in a bit depth there is a strong delays on all the links is taken and the path where it is
requirement to make the updation of the topological found to be less than D is selected. Similarly other criterion
information to a defined level. The reason being frequent can be calculated.
updation may consume considerable amount of network
2.2 Clusters and Cluster Head
resources as well as delayed updation may cause delay in
detection of topology changes. Hence, this calls for the Among several approaches there are techniques which have
development, which finds a way solving both of these considered the network as a whole and others have used
problems. clustering to manage the network effectively. This clustering
is the technique which made it possible to deploy hybrid
1.5 Paper Organization approach of protocols in MANET’s. Since, the formation of
The rest of the paper is organized in such a way that the clusters is to be done carefully, previous works have done
second section describes previous works in the field of clustering on three main basis viz. fixed geographical
quality of Service management, clustering and formation of locations [3], based on numerousity of nodes in a cluster and
cluster heads. This section also describes the previously depending upon hop counts [4]. The GPS system provides
proposed architectures in this field along with a short the information about exact co-ordinate of the node in the
description of co-operative routing. The third section consist geographical location through which we can form fix size
of our proposed work with thorough description of how and fixed boundary clusters with a little dynamics. However,
clustering is to be done and how hierarchical modeling can in the second approach we formed the clusters depending
help in solving the problems. This provides with a upon the count of the nodes permissible in a cluster. The
comprehensive architecture for QoS management third approach uses the proximity of neighborhood of nodes
mechanism with detailed description. The fourth section in the network and other subjective values. Also, the
consists of the future work that can be done in this field. determination of cluster head should be done in a way
Finally, the paper is concluded in section five. keeping in mind the proper division of work on the nodes so
that no node would get overloaded with work. This
2. Related Work determination cannot be done with exact calculation and
without error but yet we have much data to calculate that
2.1 Quality of Service which node is free most of the time and hence which can
The QoS parameters are those properties of the network serve as cluster head. Although in current scenario we have
which plays important role in the delivery of required such advance devices which have extremely high processing
information over the network. The requirement of QoS is capability and hence the selection of cluster head may not be
that neither all applications require same network resources very strict but yet we try to keep cluster heads away from
nor from commercial point of view all users pay same for relaying the data.
services. So there is a need to make such distinctions. Now
2.3 Previously Defined Architecture
as many parameters are considered in the QoS related to the
network the transmission will become more effective. There Several architectures have been defined using hybrid of
are some parameters [1], identified to be considered proactive as well as reactive approach and tried to solve the
essential for the transmission viz. bandwidth, delay, jitter problem of MANETS’s. One of the most popular has used
and reliable delivery of data. There is also requirement to the same hybrid approach [1] and defined how the work is
pay attention to the way they are managed, about where and done in reactive way for path determination and reservation.
how. Some architecture effectively managed these in the
form of matrices and calculations are done with defined
formulas, [2]. The QoS matrix which is used to store the
values of parameters of links between every two nodes is
having the node id on both rows and columns. The values
filled in the matrix are the values for every link in the
network and looks like as given below:

(a) Contract enforcer

the equations are as follows:


bwp(s,d)= min bwe(i,j)>=bwmin …(1)
(i,j)έP(s,d)

delayP(s,d)= ∑ de(i,j) <= D …(2)


(i,j)έP(s,d)

These equations can be interpreted as follows:


(IJCNS) International Journal of Computer and Network Security, 115
Vol. 2, No. 5, May 2010

transmitted to the destination with their individual overhead


or they may be merged in a single packet destined to 15
where they may be reconstructed to form separate packets.
Hence the load on network from 18 to 15 is reduced on the
cost of processing on 18 and 15. Such places where this
merging is carried out are called Rendezvous points. Since it
cannot be assumed for packets to arrive these points at
exactly same time the packets face some waiting time at
these positions, the time for which these packets wait are
called rendezvous period and should be chosen such so that
(b) Design of QoS management in MANET they may not increase delay to unacceptable level. These
rendezvous points are mainly those from where traffic is
Figure 1. The architecture of contract enforcement and path considerably high i.e. in case of MANET’s they are mainly
determination/reservation. interfaces between clusters.
This is sown in figure 1(a) and 1(b). This architecture
divides the work in two main portions viz. contract 3. Proposed Work
enforcement and QoS management. The contract
3.1 Cluster Formation Criteria and Dynamics in
enforcement is done using four modules viz. shaper module,
Clustering
Packet Classifier module, packet scheduler module and
feedback module. The QoS management finds a path in The method of cluster formation in this work depends upon
reactive way to the destination following the defined service two conditions. Depending upon previous experiences we
level agreement. Another architecture defines how this have data about what amount of time some node is using the
traditional Ad-Hoc network can be interfaced with IP transmission medium. The sum of this value should not
network [5]. This architecture provides a well defined exceed a threshold value within a period of time. Hence as
separation of IP network and MANET. It tries to remove the soon as we reach this value we start the formation of new
misconceptions which most people have about IP links. It cluster. Though it may increase the performance but can
has defined the interaction well. Another model tells about cause non-symmetric structure of cluster. To keep it
Integrated Services [13], [14], Differentiated Service [15], symmetric we pose a limit on the maximum hops from the
FQMM [6],[13],[16] and SWAN [6],[17]. The Integrated cluster head permissible in the cluster. Now, these are two
Services (IntServ) model was the first standardized model criteria’s and whichever is met first can cause the start of
developed for the Internet. The Differentiated Services formation of new cluster. Till the dynamics of cluster is
(DiffServ) model was designed to overcome the inherent considered the changes in clusters may be triggered due to
demerits of the IntServ model by IETF (RFC 1633). A two reasons. First, if the usage value exceeds the maximum
Flexible QoS Model for MANET (FQMM) has been threshold value and secondly if any node moves out of
proposed which considers the characteristics of MANET’s neighbourhood of cluster, causing changes in many clusters.
and tries to take advantage of both the per-flow service This is shown in figure 3.
granularity in IntServ and the service differentiation in
DiffServ. SWAN model was developed by the Comet team
at Columbia University. The model divides the traffic into
real time UDP traffic and best effort TCP traffic.
2.4 Co-operative Routing
Since the motion of mobile agents is pure overhead and if
this could be minimized then it can save a considerable
amount of bandwidth and also the mobile nodes are quiet
sufficient to bear the overhead of merging packets if they
can be an approach of co-operative routing[3] was proposed
which reduces the overhead transmission.
Figure 3. Flow of Control for Cluster formation
Pseudo code for clustering:
Here usage_threshold maximum usage permitted,
hop_threshold maximum hops permitted from the cluster
head, passed as arguments to a function named
form_cluster(), pop() retrieves a node from the
neighbourhood list of head sent as argument and named
head_threshold, sum_cluster_usage is the sum of usage in
the cluster, node_usage is the individual usage of one node,
Figure 2. Cooperative Routing
hop_to_cluster is the hops taken by anode to reach the head,
It is shown in figure 2. The message from 22, 23 and 24 cluster_head_mamber[] is an array containing the id’s of
arrived 18 at three different times and are destined to 1, 2 nodes added in the cluster, node_id is the identification of
and 3. As in figure 1 either they could be individually nodes, node_cluster_head is a field with every node pointing
116 (IJCNS) International Journal of Computer and Network Security,
Vol. 2, No. 5, May 2010

to the cluster head of itself, current_cluster_head is the head 3.2 Architecture


of the cluster for which clustering is done presently and The architecture shown in the figure is just a more detailed
least_usage_value is a function finding the node with least and modified form a previously proposed architectures. This
usage among unassigned nodes kept in a list and passed as architecture mainly defines the way in which path
argument called list_unassigned_node. determination is done in case of multilevel hierarchical
form_cluster(usage_threshold,hop_threshold) model and reservation is done afterwards. The architecture
(1) pop(head_neighbourhood) can be referred in figure 5. This calls for generation of a
(2) if(sum_cluster_usage+node_usage < mobile agent on demand hence reactive in nature. The agent
usage_threshold || hop_to_cluster < hop_threshold) after finding the QoS path to the destination returns via
(3) then: cluster_head_member[next]= node_id; same path to the source reserving resources at each
(4) :node_cluster_head= cluster_head_id; intermediate cluster head. If the reservation fails due to
(5) else current_cluster_head = reservation of resources by some other agent meanwhile,
least_usage_value(list_unassigned_node) then again the path determination is done. However the path
(6) goto step(1); determination phase requires contract as well as the
3.3 Hierarchical Model information of network capacity left at that time which is
maintained by the cluster heads.
The hierarchy in the network means dividing the network in
smaller regions and managing the regions as if they are
small MANET’s. This is like the divide and conquers
approach in the algorithms which we use to divide the
problem in smaller parts. Initially it looks like the same
clustering approach. This gives us several benefits, as this
may divide the load between several nodes to maintain the
topology of the network. This hierarchy will also cause Figure 5. The Proposed Architecture for QoS management
effective path determination as well as routing and need not
to travel on any path which may not lead to the destination. 3.3 Working Principle and Explanation
This causes the QoS effectively managed. The hierarchy
which we use is rooted to several levels and taking an 3.3.1 Hybrid Approach
abstract view the functioning is similar. The cluster The previously defined problem of finding a way between
formation criterions which are previously described can be high bandwidth consumption for overhead transmission and
used to make upper layer clusters. Now consider a tree delayed updation can be better solved by the hybrid
where root is the complete MANET and the leaves are the approach where at each level the topological information is
lowest and most fundamental clusters. Each node on the n- updated by mobile agent for every cluster after certain time
1th level is a group of these fundamental clusters. All such and the path determination can be done in reactive way by
clusters on every level are on equivalent positions on the another mobile agent on demand. Before coming on to the
network. The formation and splitting criteria are same actual description of operation of mobile agents we must
except the values which will be different in every level. The discuss that there are several instances of same mobile agent
values will also be dynamically generated since there is no travelling in the network and hence to distinguish between
limitation over maximum Value of levels. This can be better them we need to give every instance a unique Id.
shown by figure below. The hierarchical model is
3.3.2 Topology Maintaining Mobile Agent
maintained by a mobile agent instances of which are
travelling in the network inside each cluster and instances The mode of operation can be described in following steps:
are also running on every level in proactive way updating • Every node performs the neighbouhood detection. Each
the information after every certain time intervals. Also this node must detect the neighbor nodes with which it has a
mobile agent waits for some time on every node. There are direct link. Neighbor Discovery Protocol (NDP) is used
nodes which act as interfaces between clusters acting as to discover the neighbors and update the neighbors
Rendezvous points where mobile agents co-operate to carry table. It periodically transmits HELLO message at
the information. It is illustrated in figure 4. regular intervals. The reception of NDP beacons
indicates "node found" or "node unreachable"
information, the node will respond as follows:
Node found NDP packet: upon receiving a beacon from a
new neighbor; the neighbor table is updated by adding this
neighbor information as a new record with a zero in the NV
field.
Unreachable NDP packet: NDP packet could be detected as
an unreachable neighbor node, so that neighbor record will
be deleted from the neighbors table.
• If any change is detected, it is communicated to mobile
agent when comes to the node. The motive of
communicating only changes is to minimize the amount
Figure 4. Cluster Formation and Hierarchical Model
(IJCNS) International Journal of Computer and Network Security, 117
Vol. 2, No. 5, May 2010

of load on network again on the cost of extra processing • The agent reaches back to the source. In this way a
on the side of nodes. quality of service path is reserved for the source.
• This mobile agent moves inside the cluster and collects The last packet of transmission moves on with setting
all such information as well as updates all such resources free. For this we need a special field value of
information on the node. This causes the maintenance which causes continuation of reservation or setting resources
of topology of the cluster on every node. The cluster free.
head calculates some figures about the paths and the
3.3.4 QoS Path Determination in detail
network capacity left with its cluster. This complete
information with the agent is updated when it reaches This process is done by reaching every cluster head and
the cluster head. It is later on communicated to the collecting the information for various parameters. The
higher level cluster head by another agent and the formulas in equation 1 and 2 are as it is followed in our
process of updation goes on to maintain the complete work and give a clear picture about how the calculations are
topological information. done to determine the paths fulfilling the criteria. However
This updation in upper level cluster is done in following from the side of cluster head the responsibilities are to
way: provide access to the data on the node about its cluster to the
• The information of cluster available at lower level is mobile agent. The rest is on the agent. Whenever the
calculated to generate some information for upper layer destination node is found in the cluster the head is
cluster head. responsible to tell the lowest level QoS path. In case of
• Every such lower level cluster head is travelled through failure of path determination an alternative path is chosen,
interfaces by agent and agent for this level takes which in our work, we try to prepare for, if it happens to
information from cluster heads only. occur. For this we maintain several such paths and choose
• This information is updated for upper level cluster head. alternative on the spot. However, choosing such alternative
An important point to be noted is that the generated path may constrain our future selections. If all such paths
information is not the info about each link but an abstract are not found then we move forward for second execution of
knowledge of the bandwidth available through that cluster, path determination. Another point which should be
delay through that cluster and similar information about considered is there are some QoS parameters which
other parameters. Also if some change in the node themselves depend upon other parameters such as delay or
membership is encountered. In this way the info is updated congestion, jitter and reliability on mobility of nodes etc.
at the highest cluster head. The guarantee for control of jitter is given by cashing of
packets i.e. in case a data packet is delayed due to excessive
3.3.3 Path Determining and Resource Reserving traffic load or caused due to new path selection then the
Mobile Agent packet already cashed in the memory is used to make up the
The process of path determination and reservation is done delivery gap. Another thing to be considered is the handoff
by another mobile agent who works in the following way: process. If handoff occurs frequently, it has adverse effect on
• Whenever any node needs to transmit the data, it every aspect of QoS. Hence several factors which could
generates the mobile agent and directs it to the cluster cause potential problems during handoff are also managed
head. under QoS. This management of QoS during handoff is
• At cluster head if the destination node is in the current considered differently. During handoff process, the data
cluster then the head tells a QoS path to the agent. available at the cluster head is to be transmitted to the new
• If the destination is not in the current cluster, the agent is cluster head. This transmission of data is always inter-
told the way for upper layer cluster head. cluster in cases when the handoff is due to head moving out
• The process is repeated till the cluster of some level tells of the cluster, since the indication of need of handoff is
that the node is available in its cluster. From here the received only at the motion of head out of the cluster. Also
agent takes the path from source to destination the handoff may occur if the load on the node is so increased
following the lowest level clusters. that it can no more bear the responsibility of cluster head in
• This movement of the mobile agent till it reaches such a that case the handoff is intra-cluster. To manage this
cluster head which has both the source and destination handoff process we divide the information available at the
in its region causes the agent to see from the highest cluster head to be divided into two parts:
level the topology of the required region. 1) Readily available
• The agent then reaches the destination’s lowest cluster 2) Calculated information
head following the told path by the cluster head. This readily available information is the one which can be
At this stage the path to the destination cluster is known. All gathered inside the cluster as and when it is required. The
the intermediate cluster heads of lowest level are then calculated info is very concentrated and calculated from a
travelled in reverse order to reserve the path resources for long time in the past. Now since the handoff process
the source in the following way: requires some transfer of information about the cluster if the
• The agent itself returns from the lowest level cluster cluster head is leaving the cluster this transferred info would
heads, intermediate in the path. be only the calculated info. The will be gathered by a
• At every cluster head it reaches intermediately it reserves request.
the required amount of resources which should strictly
follow the contract.
118 (IJCNS) International Journal of Computer and Network Security,
Vol. 2, No. 5, May 2010

4. Conclusion [6] John B. Oladosu, Akinwale O. Alao, Matthew O.


Adigun, Justice O. Emuoyibofarhe, Design and
The architecture proposed and the model used solves the Simulation of a Quality of Service (QoS) Guaranteed
problem of management of topology and providing QoS in a Model for Mobile Ad Hoc Networks.
better way than any other work proposed in this field [7] David Kotz and Robert S. Gray, Mobile Agents and the
however the practicality and implementation are no doubt Future of the Internet, ACM Operating Systems Review,
matter of molding the proposals and to change them the way August 1999, pp. 7-13
they fit. Higher load of processing is imposed on the nodes [8] Danny B. Lange and Mitsuru Oshima. Seven good
having ample amount of processing capacity and the load of reasons for mobile agents Communications of the ACM,
transmission is reduced thereby saving bandwidth. 42(3):88– 89, March 1999.
Reliability of the routing protocol depends on its [9] Corson, S., J.Macker, “Mobile ad hoc networking
performance within highly dynamic networks. Scalability is (MANET): routing protocol performance issues and
determined by the protocol's performance at crowded evaluation considerations,” RFC 2501, Jan.1999.
networks. QoS is expressed by the protocol resistance to the [10] Hakim Badis and Khaldoun Al Agha, An Efficient
network changes. Applying divide and conquer approach QOLSR Extension Protocol For QoS in Ad hoc
used in this design helps to effectively manage the network Networks.
in highly dynamic situations and decreases the probability of [11] Manal Abdullah, Helen Bakhsh, Agent-based Dynamic
fault on the network. Routing System for MANETs, ICGST-CNIR Journal,
Volume 9, Issue 1, July 2009.
5. Future Scope [12] K. A. H. Amin, “resource efficient and scalable routing
The architecture in view of its functioning provides a strict using,” university of north texas, 2003.
set of rules for effective management of QoS in MANET’s [13] Hannan Xiao, Winston K.G. Seah, Anthony L O and
yet it deserves thorough study and simulation on some test Kee Chaing Chua, A flexible Quality of service Model
bed to evaluate its practical results and feasibility. Still the For Mobile Ad-Hoc Networks, IEEE, 2000
work can be done to minimize the overhead transmission for [14] R. Braden, D. Clark, and S. Shenker, “Integrated
topology maintenance. If feasible to deploy in practical Services in the Internet Architecture – an Overview,”
environment GPS tracking can also be used to reduce load IETF RFC1663, June 1994.
on bandwidth. Also fixed geographical clustering has its [15] K. Nichols, V. Jacobson, and L. Zhang, “A Two-Bit
own advantages and hence can be modified in similar way Differentiated Services Architecture for the Internet,”
to reduce load. Consider agent's size, especially in scalable RFC2638, ftp://ftp.rfceditororg/in-notes/rfc2638.txt, July
networks. Minimizing agent size may benefit from the idea 1999.
of MPRs. Regulate TtM value depending on the network [16] K. Wu and J. Harms, “QoS Support in Mobile Ad Hoc
state to save the unnecessary fast updating. Adjust the agent Networks,” Crossing Boundaries – an interdisciplinary
population to maintain the optimal node-agent ratio in the journal, vol.1, no. 1, pp. 92-104.
network. [17] R. Sivakumar, P. Sinha, and V. Bharghavan, “CEDAR:
A Core-Extraction Distributed Ad Hoc Routing
Algorithm,” IEEE Journal on Selected Areas in
References Communication, vol. 17, no.8, pp. 1454-1465, August
[1] M.Sulleman Memon, Manzoor Hashmani and Niaz 1999.
A.Memon,A Framework for QoS Management and [18] S. Murthy and G. L. Aceves, “An Efficient Routing
Contract Enforced Services in MANETs for Prioritized Protocol for Wireless Networks,” Mobile Networks and
Traffic Environment, IJCSNS International Journal of Applications, 1996, Vol. 1, No. 2.
Computer Science and Network Security, VOL.9 No.4, [19] C. E. Perkins and P. Bhagwat, “Highly Dynamic
April 2009. Destination-Sequenced Distance-Vector Routing
[2] S.S.Manvi and P.Venkataram, Mobile agent based (DSDV) for Mobile Computers,” Proceedings of ACM
approach for QoS routing, The Institution of Engineering SIGCOMM, 1994, pp. 234-244.
and Technology 2007. [20] C. E. Perkins and E. M. Royer, “Ad-hoc On-Demand
[3] Parama Bhaumik, Somprokash Banyopadhyay, Mobile Distance Vector Routing,” Proceedings of the 2nd IEEE
Agent Based Message Communication in Large Ad hoc Workshop on Mobile Computing Systems and
Networks through Co-operative Routing using Inter- Applications, 1999.
Agent Negotiation at Rendezvous Points. [21] D. B. Johnson and D.A. Maltz, “Dynamic Source
[4] S.A.Hosseini-Seno, B.Pahlevanzadeh, T.C.Wan, R. Routing in Ad Hoc Wireless Networks,” Mobile
Budiarto, M.M.Kadhum, A DISTRIBUTED Computing, 1996, pp. 153-181.
RESOURCE-MANAGEMENT APPROACH IN [22] S. Mueller, R. P. Tsang and D. Ghosal, “Multipath
MANETS, Journal of Engineering Science and Routing in Mobile Ad Hoc Networks: Issues and
Technology Vol. 4, No. 2 (2009) 142 – 153,2009. Challenges,” In Performance Tools and Applications to
[5] Thomas Heide Clausen, A MANET Architecture Model, Networked Systems, Vol. 2965 of LNCS, 2004.
INSTITUT NATIONAL DE RECHERCHE EN
INFORMATIQUE ET EN AUTOMATIQUE, January
2007.
(IJCNS) International Journal of Computer and Network Security, 119
Vol. 2, No. 5, May 2010

[23] Muhammad Sulleman Memon, Manzoor Hashmani


and Niaz A. Memon, 2008, A review for uniqueness and
variations in throughput due to performance parameters
of simulators on MANETs routing protocols, presented
in 7th International Conference on EHAC’08, University
of Cambridge, UK Cambridge, 20-22 Feb, 2008, PP:
202-208.

Authors Profile

A.K.Vatsa is working as Assistant Professor


in the School of Computer Engineering and
Information Technology at Shobhit University,
Meerut (U.P.). He obtained his M-Tech(C.E.)
from Shobhit University and B-Tech(I.T.)
from V.B.S. Purvanchal University, Jaunpur
(U.P.). He has worked as software engineer in
software industry. He has been in teaching for
the past one decade. He has been member of
several academic and administrative bodies. During his teaching
he has coordinated several Technical fests and National
Conferences at Institute and University Level. He has attended
several seminars, workshops and conferences at various levels. His
several papers are published in various national and international
conferences across India. His area of research includes MANET
(Mobile Ad-Hoc network), Congestion Control and VOIP-SIP
(Voice over IP).

Gaurav Kumar is pursuing his Bachelor of


Technology in Computer Science and
Engineering from Shobhit University, Meerut
(Formally Shobhit Institute of Engineering
and Technology, Meerut) affiliated to Uttar
Pradesh Technical University and is likely to
complete in the June, 2010. He has published
several papers in National Conferences. He
has good organizing and leadership skills and has been a part of
several societies. He has organized several technical events at Inter
and Intra University and Institute level. He has keen interest in
research area related to MANET (Mobile Ad-Hoc Network) and
WSN (Wireless Sensor Network).
120 (IJCNS) International Journal of Computer and Network Security,
Vol. 2, No. 5, May 2010

A Critical Evaluation of Relational Database


Systems for OLAP Applications
Sami M. Halawani1, Ibrahim A. Albidewi2, Jahangir Alam3 and Zubair Khan4
1, 2,
Faculty of Computing and Information Technology,
Rabigh Campus,
King Abdulaziz University
Saudi Arabia
halawani@kau.edu.sa, zubair.762001@gmail.com
3
University Women’s Polytechnic, Faculty of Engineering & Technology
Aligarh Muslim University, Aligarh 202002, India
jahangir.uk786@yahoo.co.uk
4
Department of Computer Science and Engineering IIET, Bareilly, India
zubair.762001@gmail.com

Abstract: This paper analyses in detail various aspects of they handle and the subsequent I/Os. This classification
currently available Relational Database Management Systems leads to the following two types of database systems:
(RDBMS) and investigates why the performance of RDBMS (i) Online Transaction Processing (OLTP) Systems.
suffers even on the most powerful hardware when they support
OLAP, Data Mining and Decision Support Systems. A large (ii) Decision Support Transaction Processing (DSS)
number of data models and algorithms have been presented Systems.
during the past decade to improve RDBMS performance under
heavy workloads. We argue if the problems presented here will 1.1 OLTP Transactions
be taken care of in the future architectures of relational
An OLTP transaction is a unit of work that is usually
databases then RDBMS would be at least the moderate platform
expected to run in a very short duration of time because it
for OLAP, Data mining and Decision Support Systems.
deals with the database in real time or online mode. In other
Keywords: RDBMS, OLAP, Data Mining, Decision Support words these transactions constantly update the database
Systems based on the most current information available so, the next
1. Introduction user can rely on that information being the most current. An
Commercial server applications such as database services, example of this kind of system will be a Library Information
file services, media and email services are the dominant System. In this case, all the information pertaining to the
applications run on the server machines. Database system is kept in tables spread across a disk system, and the
applications occupied around 57% of the server volume and database is online. Any user in the community will have
the share is increasing [8]. Corporate profits and access to that information.
organizational efficiency are becoming increasingly 1.2 Decision Support Transactions:
dependent upon their database server systems, and those
systems are becoming so complex and diverse that they are A different type of application system that is currently in
difficult to maintain and control. With the advent of modern demand is the DSS (Decision Support System). This type of
Internet based tools for accessing the remote and local system is generally used to provide information to
databases, more emphasis is being placed on improving the management so decisions can be made about issues such as
performance of Computer Systems along with their business growth, levels of stock on hand etc. The challenge
functionality[7][12]. To monitor, predict and improve the is in deriving answers to business questions from the
performance of databases has always been a challenge for available data, so that decision makers at all levels can
database administrators. respond quickly to changes in the business climate. While a
standard transactional query might ask, "When did order
A database server performs only database
84305 ship?" a typical decision support might ask, "How do
functions. In terms of workload it performs only
sales in the Southwestern region for this quarter compare
transactions. When a SELECT/ UPDATE statement is
with sales a year ago? What can we predict for sales next
executed a database server interprets it as a series of reads/
quarter? What factors can we alter to improve the sales
writes. Considering that atomic level of anything is smallest
forecast?"
part i.e. it could be said that the atomic level of a transaction
consists of the reads or writes it generates. If broken down to In the OLTP system the rate of the throughput of
this level a database server processes I/Os. So, the database transaction is commonly measured in transactions per
systems can be classified based on the type of transactions second (TPS) or transactions per minute (TPS). With DSS,
throughput is usually measured in queries per hour (QPH).
(IJCNS) International Journal of Computer and Network Security, 121
Vol. 2, No. 5, May 2010

This unit itself indicates that these queries are of extreme Relatively
size and overwhelm the machine’s resource until they are standardized and
Often complex queries
complete. In almost all cases, the ratio between OLTP and Queries simple queries,
involving aggregations.
DSS transactions equals thousands (sometimes tens of Returning relatively
thousands) of OLTP transactions to one DSS transaction [6]. few records.
An OLTP system, even a large one, is usually not much Depends on the
more than 300 GB, whereas a large DSS system can be 2-5 amount of data
involved, batch data
TB in size. Examples of Decision Support Systems are On
Processing refreshers and complex
Line Analytical Processing (OLAP) and Data Mining. Typically very fast.
Speed queries may take many
1.2.1 On Line Analytical Processing: hours, Query speed
may be improved by
OLAP may be defined as “the interactive process of creating indexes
creating, managing, analyzing and reporting on data”. The Larger due to the
Can be relatively
first point is that analytical processing invariably requires Space existence of
small if historical
some kind of data aggregation, usually in many different Requirements aggregation structures
data is archived
ways (i.e. according to many different groupings. In fact, and history data
one of the fundamental problems of analytical processing is Typically de-
that the number of possible groupings becomes very large Database Highly normalized normalized with fewer
very quickly, and yet users need to consider all or most of Design with many tables tables for faster
processing
them. Relational languages do support such aggregations
but each individual query in such a language produces just Instead of regular
backups, some
one table as its result (and all rows in that table are of the Backup Religiously,
environments may
same form and have the same kind of interpretation). Thus, Backup and Operational data is
consider simply
to obtain n distinct groupings require n distinct queries and Recovery critical to run the
reloading the OLTP
produces n distinct result tables. In RDBMS the drawbacks business
data as a recovery
to approach is obvious. Formulating so many similar but method
distinct queries is a tedious job for the user. Executing those
1.2.2 Data Mining:
queries means passing over the same data over and over
again – is likely to be expensive in execution time. Thus the Data mining can be described as “exploratory data
challenges with OLAP are: analysis”. The aim is to look for interesting patterns in data,
patterns that can be used to set business strategy or to
 Requesting several levels of aggregation in a single
identify unusual behavior (e.g. a sudden change in credit
query.
card activity could mean a card has been stolen). Data
 Offering the implementation the opportunity to compute mining tools apply statistical techniques to large quantities
all those aggregations more efficiently (probably in a of stored data in order to look for such patterns. Data
single pass). mining databases are often very large. Data Mining is also
known as discovering knowledge form a very large database
Special SQL statements are provided to take up the above i.e. getting the interesting patterns from very large
challenges in RDBMS. Examples are the use of GROUPING databases. The process certainly involves thorough analysis
SETS, ROLLUP, and CUBE options available with the of data hence executing one Data Mining query means
GROUP BY clause. But, as far as efficiency is concerned, execution of several OLAP queries. Thus Data Mining may
almost all commercially available RDBMS exhibit poor also be referred as “repeated OLAP”. RDBMS don’t support
performance under OLAP workloads [1][5]. OLAP queries efficiently. Executing repeated OLAP on an
Following table [9] summarizes the major differences RDBMS means to bring the system on its knees.
between OLTP and OLAP systems.
2. Performance Issues of Relational Databases
Table 1: Differences between OLTP and OLAP
OLTP System OLAP System Most of the relational databases currently in use were
Operational data: Consolidation Data: developed during 1990s. Since then their architecture has
Source of OLTPs are the OLAP data comes rarely been revised. The design decisions made at that time
Data original Source of the from the various OLTP still influence the way RDBMS processes the transactions.
Data. Databases. For example designers at that time were not aware of the
To control and run To help with planning, exponential growth of Internet and nobody could expect that
Purpose of
fundamental business problem solving and one day databases would serve as the backbone of large
Data
tasks. decision support. Content Management and Decision Support Systems.
A snapshot of ongoing
Multi-dimensional The current RDBMS architecture was developed keeping in
What the
views of various kinds mind the OLTP, i.e. the architecture was optimized for the
Data Reveals business processes.
of business activities. Hardware, available at that time, to efficiently support
Short and fast inserts Periodic long-running OLTP. In the following sections we discuss some problems
Inserts and
and updates initiated batch jobs refresh the which affect the performance, efficiency and usage of
Updates
by end users. data. RDBMS for OLAP and Data Mining applications.
122 (IJCNS) International Journal of Computer and Network Security,
Vol. 2, No. 5, May 2010

2.1 Difficult/ Inefficient to Formulate the OLAP Queries: table (rows and columns) is stored in a single database file
as a sequence of bytes, representing each row, with some
Consider the following MANUFACTURER_PART (MP)
free space between two consecutive bytes (figure 1). The
table:
space is left to accommodate future updates.
Table 2: MANUFACTURER_PART (MP)
Table 3: Storage Scheme for Table 2
M_ID Item_No QTY
M101 A11 1000
M101 A11 1000 M101 A12 500 ----
M101 A12 500
M102 A11 800 Now consider the following query:
M102 A12 900 SELECT * FROM MP WHERE M_ID = ‘M101’;
M103 A12 700
We observe that all data of one row is consecutive
M104 A12 200
and thus can be found in the same disk block, hence a
Now, consider the following OLAP queries: minimum of I/O activity (i.e. one block read/ write) is
1: Get the total item quantity. necessary to execute a typical OLTP query.
Now consider the following query:
2: Get total item quantities by manufacturer.
“Draw a histogram representing total quantities of all items
3: Get total item quantities by item. manufactured by different Manufacturers”
4: Get total item quantities by manufacturer and item. To answer the query the RDBMS needs to analyze all
Following are the psudoSQL formulations of these queries: rows of which only one column (QTY) is used. As a portion
of all rows is required, the RDBMS has to analyze the
1. SELECT SUM(QTY) FROM MP GROUP BY ( ); complete table to execute such queries. It implies that a
2. SELECT M_ID, SUM(QTY) FROM MP GROUP BY heavy load in terms of I/O is generated.
(M_ID); In the large RDBMS applications like data warehousing
3. SELECT Item_No, SUM (QTY) FROM MP GROUP and Data Mining tables may contain several columns and
BY (Item_No); billions of rows. When an OLAP query is executed on such
tables it scans each row of the table and generates a heavy
4. SELECT M_ID, Item_No, SUM (QTY) FROM MP load of I/Os. Only few columns from the table are used but
GROUP BY (M_ID,Item_No); the process takes significant amount of time. Clearly, most
Drawbacks to this approach are obvious: Formulating of the part of the table scan processes is a wasted effort. This
so many similar but distinct queries is tedious for end user. phenomenon is the main reason for the poor performance of
Also, their execution requires passing over the same data RDBMS products under heavy workloads.
over and over again which is likely to be quite expensive in Someone may argue that the problem of wasted efforts
execution time. done in the scanning of large database files may be solved
using some index structures like bit map, but OLAP and
Some special SQL options on the GROUP BY clause Data Mining queries have low selectivity. The real benefits
may ease life, but up to some extent, e.g. GROUP SETS of any index structure come out a in selection process
option allows the user to specify exactly which particular because an indexing technique provides a list of selected
groupings are to be performed. The following SQL record identifiers quickly. In OLAP and Data Mining
statement represents a combination of Queries 2 and 3: applications selection is not the end of the query. The
SELECT M_ID,Item_No,SUM(QTY) FROM MP RDBMS has to perform some action on the selected tuples.
So, indexing is not the solution to this problem.
GROUP BY GROUPING SETS (M_ID,Item_No);
2.3 Trends in Hardware Technology
Solution seems to be acceptable but, firstly it requires Figures 1 – 9 show the advancements in the Hardware
a lot of analytical thinking at end user’s part and secondly technology during the past decade. The size and bandwidth
options like GROUP SETS are not universally supported of memory, size and bandwidth of hard disk, Network
across all