Comparative Analysis of Job Scheduling for Grid Environment ............................................................1
Neeraj Pandey, Ashish Arya and Nitin Kumar Agrawal
Hackers Portfolio and its Impact on Society ........................................................................................1
Dr. Adnan Omar and Terrance Sanchez, M.S.
Ontology Based Multi-Viewed Approach for Requirements Engineering ..............................................1
R. Subha and S. Palaniswami
Modified Colonial Competitive Algorithm: An Approach for Graph Coloring Problem ..........................1
Hojjat Emami and Parvaneh Hasanzadeh
Security and Privacy in E-Passport Scheme using Authentication Protocols and Multiple Biometrics
Technology ........................................................................................................................................1
V. K. Narendira Kumar and B. Srinivasan
Comparative Study of WLAN, WPAN, WiMAX Technologies ................................................................1
Prof. Mangesh M. Ghonge and Prof. Suraj G. Gupta
A New Method for Web Development using Search Engine Optimization ............................................1
Chutisant Kerdvibulvech and Kittidech Impaiboon
A New Design to Improve the Security Aspects of RSA Cryptosystem ..................................................1
Sushma Pradhan and Birendra Kumar Sharma
A Hybrid Model of Multimodal Approach for Multiple Biometrics Recognition ...................................1
P. Prabhusundhar, V.K. Narendira Kumar and B. Srinivasan
1. ISSN: 1694-2507 (Print)
ISSN: 1694-2108 (Online)
International Journal of Computer Science
and Business Informatics
(IJCSBI.ORG)
VOL 3, NO 1
JULY 2013
2. Table of Contents VOL 3, NO 1 JULY 2013
Comparative Analysis of Job Scheduling for Grid Environment ............................................................1
Neeraj Pandey, Ashish Arya and Nitin Kumar Agrawal
Hackers Portfolio and its Impact on Society ........................................................................................1
Dr. Adnan Omar and Terrance Sanchez, M.S.
Ontology Based Multi-Viewed Approach for Requirements Engineering..............................................1
R. Subha and S. Palaniswami
Modified Colonial Competitive Algorithm: An Approach for Graph Coloring Problem ..........................1
Hojjat Emami and Parvaneh Hasanzadeh
Security and Privacy in E-Passport Scheme using Authentication Protocols and Multiple Biometrics
Technology........................................................................................................................................1
V. K. Narendira Kumar and B. Srinivasan
Comparative Study of WLAN, WPAN, WiMAX Technologies ................................................................1
Prof. Mangesh M. Ghonge and Prof. Suraj G. Gupta
A New Method for Web Development using Search Engine Optimization............................................1
Chutisant Kerdvibulvech and Kittidech Impaiboon
A New Design to Improve the Security Aspects of RSA Cryptosystem ..................................................1
Sushma Pradhan and Birendra Kumar Sharma
A Hybrid Model of Multimodal Approach for Multiple Biometrics Recognition ...................................1
P. Prabhusundhar, V.K. Narendira Kumar and B. Srinivasan
IJCSBI.ORG
3. CBR Based Performance Analysis of OLSR Routing Protocol in MANETs ...............................................1
Jogendra Kumar
4. International Journal of Computer Science and Business Informatics
IJCSBI.ORG
ISSN: 1694-2108 | Vol. 3, No. 1. JULY 2013 1
Comparative Analysis of Job
Scheduling for Grid Environment
Neeraj Pandey
Department of Computer Science & Engineering
G. B. Pant Engineering College Ghurdauri
Uttarakhand, India.
Ashish Arya
Department of Computer Science & Engineering
G. B. Pant Engineering College Ghurdauri
Uttarakhand, India
Nitin Kumar Agrawal
Department of Computer Science & Engineering
G. B. Pant Engineering College Ghurdauri
Uttarakhand, India
ABSTRACT
Grid computing is a continuous growing technology that alleviates the executions of large-
scale resource intensive applications on geographically distributed computing resources.
For a computational grid environment, there are number of scheduling policies available to
address the scheduling and load balancing problem. Scheduling techniques applied in grid
systems are primarily based on the concept of queuing systems, and deals with the
allocation of job to computing node. The scheduler, that schedules the incoming job can be
based on global vs. local i.e. what information will be used to make a load balancing
decision, centralized vs. de-centralized i.e. where load balancing decisions are made, and
static vs. dynamic i.e. when the distribution of load is made. The primary objective of all
load balancing algorithm is minimization of the makespan value, maximum load balanced
and to gain more desirable performance. In this paper, we present the various load
balancing strategies of job scheduling for grid computing environment. We also analyze the
efficiency and limitations of the various approaches
Keywords
Computing, Load Balancing, Scheduling, Genetic Algorithm, Fuzzy logic, Job Replication.
1. INTRODUCTION
In the last several years grid computing has emerged as an weighty field,
distinguished from conventional distributed computing by its focus on large-
scale resource sharing, innovative applications, and in some cases, high-
performance orientation [1]. These enable sharing, selection and aggregation
of suitable computational and data resources for solving large-scale data
intensive problems in science, engineering, and commerce [5]. A grid
computing environment comprises combination of various homogeneous
and heterogeneous resources such as computing nodes, and workstations
5. International Journal of Computer Science and Business Informatics
IJCSBI.ORG
ISSN: 1694-2108 | Vol. 3, No. 1. JULY 2013 2
which are virtually aggregated to serve as a unified computing resource.
Grid middleware provide users with seamless computing ability and
uniform access to resources in the heterogeneous grid environment. In order
to provide user with a seamless computing environment, the Grid
middleware system need to solve several challenges originating from the
inherent features of the grid [2].
In distributed systems, every node has different processing speed and
system resources, so in order to enhance the utilization of each node and
shorten the consumption of time, “Load Balancing” will play a critical role
[15]. The performance of load balancing algorithms is strongly related to the
number of computing node. Since each computing node has its own
inimitable computing capabilities and the pattern of the job arrival to the
computing node is imbalanced, thus the grid system may be overloaded. The
main objective of load balancing is improved the performance of grid
system through its distribution of load among the computing nodes, and
minimize the execution time of job. In general, load-balancing algorithms
can be categorized as centralized or decentralized in terms of where the load
balancing decisions are made. A centralized load balancing approach can
function either based on averages scheme or instantaneous scheme
according to the type of information on which the load balancing decisions
are made [4].
The rest of paper is organized into 6 sections. Section 2 presents the
overview of the system model including the grid and mathematical model
with load balancing architecture Section. The load balancing approaches for
grid system are presented in Section 3. The analysis and comparisons of
some grid load balancing algorithms are described in section 4. Section 5
presents some challenges and key issues related to load balancing And
finally, the conclusion is given in section 6.
2. SYSTEM MODEL
2.1 Grid Model
The grid under study consist a central resource management unit (RMU), to
which every computing node (CN) connects and grid clients send their job
to RMU for further processing. The RMU is responsible for scheduling jobs
among CN. The role of dispatcher is the job management, including
maintenance of the load balancing, monitoring node status, node selection,
execution, and assignment of jobs for each node. An agent provides a
simple and uniform abstraction of the functions in the grid management.
The CNs in the grid can be either homogeneous or heterogeneous and a
queue is associated with every computing node. The arrived jobs will be
placed in a job queue in the RMU from which they are assigned to CNs. The
grid agent monitors the waiting job. Upon arrival, jobs must be assigned
6. International Journal of Computer Science and Business Informatics
IJCSBI.ORG
ISSN: 1694-2108 | Vol. 3, No. 1. JULY 2013 3
either to exactly one CN for processing immediately by the instantaneous
scheduling or wait to be scheduled by the averages-based scheme [4]. In a
Grid system, the composition of nodes is dynamic, every node is likely to
enter a busy state at any time and thus lower its performance, so in selecting
nodes, all factors should be considered. At the global grid level, each agent
is a representative of a grid resource and acts as a service provider of high
performance computing power [14].
2.2 Mathematical Model
A computational grid system model [21] consisting p set of the CNs, is
shown in figure 1. It consists of Ni computing nodes (CNs) such that:
i 1 2 3 n 1 n
N { (N ,N ,N , ................ ,N ,N ), | N| n }
(1)
The nodes are connected to each other via a communication network. The
nodes of grid system possibly could be either an individual machine or a
cluster. The nature of the node is combination of both homogeneous and
heterogeneous, and modeled as M/M/1 queuing system. The inter arrival
time and service time of the system follows exponentially distributed. The
notations and assumptions used are as follows:
∅i : External job arrival rate at node i.
μi : Mean service rate of node i.
𝜆 : Total traffic through the network.
A job arriving at node i may be either processed at node i or transferred to
another node j through the communication network for computation. The
performance of load balancing policies are closely related to the number of
node involves in a computational grid system.
Figure 1. Grid System Model
Φ : Total external job arrival rate of the system and given as:
7. International Journal of Computer Science and Business Informatics
IJCSBI.ORG
ISSN: 1694-2108 | Vol. 3, No. 1. JULY 2013 4
1
Φ
n
i
i
(2)
ri : Mean service time of a job at node i (i.e. the average time to
service (process) a job at node i).
βi : Mean job processing rate (load) at node i (i.e. the average
number of jobs processed at node i per unit interval of time). This is
the load for node i assigned by the job allocation scheme.
t : Mean communication time for sending or/and receiving a job
from one node to another node.
ρ : Utilization of the communication network and given as:
*t (3)
3. GRID LOAD BALANCING APPROACH
In this section, four algorithms are considered for grid load balancing. A
grid is a huge collection of multiple grid resources (local or global) that are
distributed geographically in a wide area. Load balancing is an important
system function destined to distribute the workload among available
computing nodes to improve throughput and/or execution times of parallel
computer programs either uniform or non-uniformly [19]. There are various
load balancing algorithms are projected in past several years. Various
approaches such as fuzzy logic, genetic algorithm, and job replication are
used to implement load balancing algorithms.
3.1 FCFS Approach
The FCFS algorithm [4,14] is proved to be efficient under some conditions.
Consider a grid environment G with n CNs as given in equation 1, where
each CNs Ni has its own capability to process the job. Let m be the total
number of job J, which is considered to be run on G.
1 2 3 1
J {J , J ,J , ................., J , J }i m m
(4)
The arrival time of each job Jj is tj and execution time is txj. Each job has
two scheduled attributes: a start time and an end time denoted by ts, te,
respectively. Upon arrival, jobs are allocated to a certain CN Nx ∈ N by the
central resource management unit using first-come-first-served algorithm.
The function of the agent is to find the earliest possible time for each job to
complete, according to the sequence of the job arrivals. A job probably
allocated to any of the CN. So, the function of FCFS to consider all these
possibilities and identify which CN will finish the job earliest. Therefore,
8. International Journal of Computer Science and Business Informatics
IJCSBI.ORG
ISSN: 1694-2108 | Vol. 3, No. 1. JULY 2013 5
( )j jtx min tx (5)
The completion time of jobs is always equal to the earliest possible start
time plus the execution time, which is described as:
j j jtc ts tx (6)
The earliest possible start time for Job Jj on a CN is the latest free time of
the chosen CN if there are still jobs running on it. if there is no job running
on the chosen CN ahead of job Jj's arrival. Jj can be executed on this CN
immediately.
{ , , , ( ) ( ), }j j p
ts max t max te p P p P j p j (7)
3.2 Job Replication Approach
Menno Dobber et al. [11] analyze and compare the effectiveness of the
dynamic load balancing and job replication approach. The two main
techniques that are most suitable with the dynamic nature of the grid are
Dynamic Load Balancing (DLB) and job replication (JR) [11]. Consider a
grid system P with n computing node; a set J of jobs Ji (as given in equation
1, and 8) is considered to be run on P. As the name implies a JR scheme
creates several replica of an individual job and schedule them to run into
different nodes. The node that finish the job first, send a message to other
node involve in a grid system to finish the execution of current job and start
the execution of next job available in the queue.
Figure 2. Job Replication (2JR) Scheme
A m-JR scheme creates m-1 precise copies of each job and these jobs are
considered to be run on P. The same data set and the parameters are
provided to the two copies of a job, to perform exactly the same
computation so the calculations are completely the same. The JR approach
consists of I iteration and one iteration takes total R-steps. N copies of all
jobs have been spread out to P. As soon as the computing node finished one
of the copies of the job, it sends a message to other computing nodes to kill
9. International Journal of Computer Science and Business Informatics
IJCSBI.ORG
ISSN: 1694-2108 | Vol. 3, No. 1. JULY 2013 6
the current job execution and start the processing of the next job. A 2-JR
scheme is show in fig. 2, consisting 4 CN and 4 jobs. Firstly 2 copies of
each job each job is created after then each job with its copy are distributed
to n =2 CN. In figure 3, one copy (A2) of job A1 is created and then
distributed to CN1 and CN2. CN1 finished job A1 first, so it send a finalize
message “fin” to CN2. Sending a message between CN take some network
delay, therefore scheduling of next job by a CN can takes some time.
Duration of a specific job is defined as:
Job-Time = min {all its job time} + possible send time (8)
3.3 Genetic algorithm Based Approach
Genetic algorithms (GA) [4, 7, 8, 22] are increasingly popular for solving
optimization, search and machine learning problems. It is basically a well-
known and robust search heuristics. It search optimal solution from entire
search space In grid environment scheduling is a type of be NP complete
problem, i.e. there is no known polynomial time algorithm to optimally
solve this problem. The main objective to use GA for load balancing is to
achieve the minimum of makespan (the latest completion time among all the
jobs processed in CN), maximum node utilization and a well-balanced load
across all the CNs. Genetic algorithms are well suited to solving scheduling
problems, because unlike heuristic methods GA operate on a population of
solutions rather than a single solution. A combination of intelligent agents
and multi-agent approaches is applied to both local grid resource scheduling
and global grid load balancing. GA is basically used to generate solutions
related to optimization problems using various techniques such as selection,
mutation, and crossover. Let P be a set, then the cost function CF, is given
as:
: P IRCF (9)
GA start with an initial set of random solutions called population. Each
individual in a population is called a chromosome, represents a solution to
the problem. The evaluation of chromosomes is done through generations.
During each generation, the chromosomes are evaluated, using some fitness
function. For creation of the next generation, new chromosomes, called
offspring, are formed. The offspring is created by either using a crossover
operator or using a mutation operator. The new generation is formed by
selecting the individual using fitness values. After several generations, best
chromosome is chooses, which represents the optimum or suboptimal
solution to the problem [4]. The GA concentrates on an overall performance
over a list of jobs and aims at a more desirable load balance across all the
nodes in a computational grid.
10. International Journal of Computer Science and Business Informatics
IJCSBI.ORG
ISSN: 1694-2108 | Vol. 3, No. 1. JULY 2013 7
3.4 Fuzzy Based Approach
This section introduces the fuzzy method used in the fuzzy load balancing
algorithm. Fuzzy logic [9, 10, 12, 13, 23] deals with reasoning that is
approximate rather than fixed and precise. It is a superset of conventional
Boolean logic that has been extended to handle the concept of partial truth-
values between “completely-truth”, and “completely-false”. In a more
extensive sense, fuzzy logic is associated with the concept of fuzzy sets.
Terms in the fuzzy set are given linguistic variables. Using fuzzy logic, one
can specify the degrees of overload or otherwise with linguistic labels such
as lightly loaded, normal, overloaded, heavily overloaded etc.. The fig 3(a)
Show the use of fuzzy logic to represent degree of truth. The fuzzy expert
system makes scheduling decisions based on a fuzzy logic. As shown in fig
3(b), if processor load is regarded as a linguistic variable, it may have the
following terms as its values: light, moderate, and heavy. If „light‟ is
interpreted as a load below about one job, „moderate‟ as a load between
about 3 and 5 jobs and „heavy„ as a load above about 7 jobs, these terms
may be described as fuzzy sets, where p represents the grade of membership
[9]. A given fuzzy rule Ri consists of two differentiated parts, namely,
antecedent and consequent parts, related to fuzzy concepts [12]. Rules
activation conditions are reflected in the antecedent part of the rule. A rule
within this is represented by the following expression:
1 1
R if ω is A and / or . . .ω is A then y is Bi n m mn n
(14)
Where ωm represents a system feature, y depicts the output variable and Amn
and Bn correspond to the fuzzy sets associated to feature m and output,
respectively.
Processor Load
Light Moderate Heavy
Load Status
Load
OverloadNot Overload
1
0
1.0 1 3 5 7
Figure 3. (a) Degree of truth representation (b) A linguistic variable, processor load
4. COMPARATIVE ANALYSIS
This section This section examine various characteristic of load balancing
policies. Genetic algorithms are applicable to a wide variety of application
[8]. It works better when we have to schedule a large number of jobs. The
sliding windows technique [4,7] is generally used to trigger the GA. Sliding
window consist a series of job for node assignment to schedule. The main
11. International Journal of Computer Science and Business Informatics
IJCSBI.ORG
ISSN: 1694-2108 | Vol. 3, No. 1. JULY 2013 8
focused is about the size of sliding window and when these jobs have been
assigned to appropriate node, the update of window is take place.
Table 1. Comparative analysis of load balancing policies
Approach Factors to consideration Advantages
Genetic
Algorithm
1. Windows size and their
update.
2. String selection for search
node in search space.
3. Fitness function for
measure the performance of
string.
4. Population Size.
5. Processing overhead.
1. Minimum execution
time.
2. Minimize
Communication cost.
3. Maximum utilization of
node.
4. Maximum throughput
value.
5. Minimize makespan
value.
Fuzzy Logic
1. Interference Engine.
2. Decision Making
3. Load Assignment.
4. State Update Decision.
1. Better Performance and
throughput.
2. Response time is
significantly better.
Job
Replication
1. No. of copies of Job.
2. Communication between
Nodes.
3. Processing overhead.
1. Consistently perform
better when measure
statistic is less than
threshold value.
FCFS
1. Instantaneous decision.
2. Sequence of Job arrival.
1. Reduce the system
response time.
2. Shorter Makespan.
Table 1 shows the comparative analysis of some load balancing policies.
The measurement of GA is based on the quality of solution it produced after
several generations. The measurements of input variables of a fuzzy
controller must be properly combined with relevant fuzzy information rules
to make inferences regarding the system Load State. The job replication
scheme consist multiple copies of each job so it gives extra overhead to the
computing node. To make an instantaneous decision, the FCFS approach is
preferred. The primary focus of all the load balancing approaches is spread
the workload to each node in such a manner that, the makespan is
minimized and a well-balanced load among all the nodes in grid system
therefore the current workload in the system must be considered to schedule
the job to appropriate node.
12. International Journal of Computer Science and Business Informatics
IJCSBI.ORG
ISSN: 1694-2108 | Vol. 3, No. 1. JULY 2013 9
5. CHALLENGES AND KEY ISSUE
5.1 Challenges in Load Balancing
There are various strategies have been developed for solving load balancing
problem but it is not yet solved completely. Data partitioning and load
balancing are weighty components of parallel computations. For static and
dynamic load balancing various strategies have been developed, such as
recursive bisection (RB) methods, space-filling curve (SFC) partitioning and
graph partitioning [20]. A computation grid system consists of various
components such as computing node and workstations, etc. There exist a
heterogeneity between the various factors of a node such hardware
architecture, physical memory, CPU speed and node capacity which affect
the processing result. The dynamic behavior, and node failure can decrease
the performance of grid, while the selection of resources (or node) for jobs
could also be a factor.
5.2 Key Issues in Load Balancing
Load balancing is very crucial issue for the efficient operation of
computational grid environments for sharing of heterogeneous resources,
hence affect quality of service and scheduling. In dynamic load balancing,
load sharing and task migration are some of the widely researched issues
[7]. In a networked environment, interoperability (common protocols) is the
central issue to be addressed. How to select efficient nodes is one of the
issues of further investigation. As Grid is a distributed system utilizing idle
nodes scattered in every region, the most critical issue pertaining to
distributed systems is how to integrate and apply every computer resource
(node) into a distributed system, so as to achieve the goals of enhancing
performance, resource sharing, extensibility, and increase availability [15].
In order to make optimal balancing and work distribution decisions in Grid
environment, a load balancer needs to take some or all of the following
information into consideration:
The capacity on each node (CPU, memory, and disk space, etc.)
Current workload of each node
Required capacity for each task
Network connectivity and delay
The assignment of processes to processors
The use of multiprogramming on individual processors
The actual dispatching of a process.
The choice of parameter and state information should also be considered.
For various software engineering related issues, there are some software
toolkit exists to provide effective solution. The distribution of load among
the CN in an optimal way is not easy task, as it requires complete analysis
of available resources and job. A load balancing policy can either be static
13. International Journal of Computer Science and Business Informatics
IJCSBI.ORG
ISSN: 1694-2108 | Vol. 3, No. 1. JULY 2013 10
or dynamic. The major concern in static load balancing policy is to
determine the execution time of the job, communication delays, and the
resources used by computing node. Since an accurate estimation is not
possible earlier in time, so emphasis can be done on to estimation of such
quantities closer to accurate values.
6. CONCLUSIONS
In this paper, we discussed few contemporary load balancing strategies
based on various approaches for computational grid environment. With the
rapid development of technology, grid computing have increasingly
becomes an attractive computing platform for a variety of applications. In a
computational grid environment, load balancing is the process of improving
the performance of system through re-distribution of load among the
computing nodes. When the newly created jobs arbitrary arrive into the
system, the node can become heavily loaded while other become either ideal
or lightly loaded, therefore the job assignment and load sharing must be
done carefully. The problem of load balancing is closely related to
scheduling and allocation of job to computing node. For efficient utilization
of grid resource and maximum node utilization, special scheduling policy is
needed. Load balancing methods will vary greatly between different grid
environment depending on the needs and the availability of computing node
to perform the task. There are various factors which affects the performance
of grid application such as load balancing, resource sharing, and resource
heterogeneity therefore it must be considered for making decision.
REFERENCES
[1] I. Foster, C. Kesselman, and S. Tuecke, The anatomy of the grid: Enabling scalable
virtual organizations, The International Journal of High Performance Computing
Applications, 15 (3) (2001) 200-222.
[2] Rajkumar Buyya, and Srikumar Venugopal, A Gentle Introduction to Grid Computing
and Technologies, Computer Socity of India, CSI Communication, July (2005).
[3] C. Gary Rommel, The Probability of Load Balancing Success in a Homogeneous
Network, IEEE transactions on Software Engineering, 17(9), Sept. (1991) 922-933.
[4] Yajun Li, Yuhang Yang, Maode Ma, and Liang Zhoy, A hybrid load balancing
strategy of sequential tasks for grid computing environments, Future Generation
Computer Systems, 25 (2009) 819-828.
[5] Rajkumar Buyya and Manzur Murshed, GridSim: A Toolkit for the Modeling and
Simulation of Distributed Resource Management and Scheduling for Grid Computing,
The Journal of Concurrency and Computation: Practice and Experience (CCPE),
Volume 14, Issue 13-15, Wiley Press, Nov.-Dec., (2002).
[6] Vandy Berten, Joel Goossens, and Emmanuel Jeannot, On the Distribution of
Sequential Jobs in Random Brokering for Heterogeneous Computational Grids, IEEE
Transections on Parallel and Distributed System 17 (2) (2006) 1-12.
14. International Journal of Computer Science and Business Informatics
IJCSBI.ORG
ISSN: 1694-2108 | Vol. 3, No. 1. JULY 2013 11
[7] Albert Y. Zomaya, Yee-Hwei Teh, Observations on Using Genetic Algorithms for
Dynamic Load-Balancing, IEEE Transections on Parallel and Distributed System,
12(9), Sept. (2001) 899-911.
[8] Carlos Alberto Gonzalez Pico, Roger L. Wainwright, Dynamic Scheduling of
Computer Tasks Using Genetic Algorithms, Proc. of the First IEEE Conference on
Evolutionary Computation - IEEE World Congress on Computational Intelligence,
Orlando, Florida June, (1994) 829-833.
[9] Chulhye Park, Jon G. Kuhl, A Fuzzy-Based Distributed Load Balancing Algorithm for
Large Distributed Systems, IEEE (1995) 266-273.
[10]Kaveh Abani, Kiumi Akingbehh, Adnan Shaout, Fuzzy Decision Making for Load
Balancing in a Distributed System, IEEE, (1993) 500-502.
[11]Menno Dobber, Rob van der Mei, Ger Koole, Dynamic Load Balancing and Job
Replication in a Global-Scale Grid Environment: A Comparison, IEEE Transections
on Parallel and Distributed System, 20( 2), Feb. (2009) 207-218.
[12]Yu-Kwong Kwok, Lap-Sun Cheung, A new fuzzy-decision based load balancing
system for distributed object computing, Journal of Parallel and Distributed
Computing, 64 (2004) 238–253.
[13]Mika Rantonen, Tapio Frantti, Kauko Leiviska, Fuzzy expert system for load balancing
in symmetric multiprocessor systems, Expert Systems with Applications, 37 (2010)
8711–8720.
[14]Junwei Caoa, Daniel P. Spooner, Stephen A. Jarvis and Graham R. Nudd, Grid load
balancing using intelligent agents, Future Generation Computer Systems, 21 (2005).
[15]K.Q. Yan, S.C. Wang, C.P. Chang, J.S. Lin, A hybrid load balancing policy underlying
grid computing environment, Computer Standards & Interfaces 29 (2007) 161–173.
[16]Jun Wang, Jian-Wen Chen, Yong-Liang Wang, Di Zheng, Intelligent Load Balancing
Strategies for Complex Distributed Simulation Applications, 2009 International
Conference on Computational Intelligence and Security, 2009 (182-186).
[17]Kuo-Qin Yan, Shun-Sheng Wang, Shu-Ching Wang, Chiu-Ping Chang, Towards a
hybrid load balancing policy in grid computing system, Expert Systems with
Applications 36 (2009), 12054–12064.
[18]Brighten Godfrey, Karthik Lakshminarayanan, Sonesh Surana, Richard Karp, Ion
Stoica, Load Balancing in Dynamic Structured P2P Systems, IEEE INFOCOM (2004).
[19]Luis Miguel Campos, Isaac D. Scherson, Rate of change load balancing in distributed
and parallel systems, Parallel Computing 26 (2000), 1213-1230.
[20]Karen D. Devine, Erik G.Boman, Robert T. Heaphy, Bruce A. Hendrickson, James D.
Teresco, Jamal Faik, Joseph E. Flaherty, Luis G. Gervasio, New challenges in dynamic
load balancing, Applied Numerical Mathematics 52 (2005) 133–152.
[21]Satish Penmatsa, and Anthony T. Chronopoulos, Comparison of Price-based Static
and Dynamic Job Allocation Schemes for Grid Computing Systems, Eighth IEEE
International Symposium on Network Computing and Applications, (2009) 66-73.
[22]In Lee, Riyaz Sikora, and Michael J. Shaw, A Genetic Algorithm-Based Approach to
Flexible Flow-Line Scheduling with Variable Lot Sizes, IEEE Transactions On
Systems, Man, a Cybernetics-Part B: Cybernetics, 27(1), Feb. (1997).
[23]S.Salleh, and A.Y.Zomaya, Using Fuzzy Logic for Task Scheduling in Multiprocessor
Systems, Proc. 8th ISCA International Conference on Parallel and Distributed
Computing Systems, Orlando, Florida, (1995) 45-51.
15. International Journal of Computer Science and Business Informatics
IJCSBI.ORG
ISSN: 1694-2108 | Vol. 3, No. 1. JULY 2013 1
Hackers Portfolio and its Impact on
Society
Dr. Adnan Omar & Terrance Sanchez, M.S.
6400 Press Drive
Southern University at New Orleans
ABSTRACT
Currently, a hacker is defined as a person using computers to explore a network to which he
or she did not belong. Hackers find new ways to harass people, defraud corporations, steal
information and maybe even destroy valuable information by infiltrating private and non-
private organizations. According to recent research, bad hackers make up only a small
minority of the hacker community. In today’s society, we depend on more technology than
ever and that increases the likelihood of hackers having more control over cyberspace.
Hackers work by collecting information on the intended target, figuring out the best plan of
attack and then exploiting vulnerabilities in the system. Programs such as Trojan horses and
Flame viruses are designed and used by hackers to get access to computer networks. This
paper describes how hacker behavior is aimed at information security and what measures
are being taken to combat them.
Keywords
Types of Hacker, Security, Technology, Cyberspace.
1. INTRODUCTION
Hacking is a very serious problem that can severely compromise your
computer. If your computer is connected to the Internet, you are vulnerable
to cyber-attacks from viruses and spyware. It is virtually impossible to stop
a determined and skilled hacker from breaching most home network
security measures commercially available [1]. The primary objective of
hacking is to gather information and documents that could compromise the
security of governments, corporations or other organizations and agencies.
In addition to focusing on diplomatic and governmental agencies around the
world, the hackers also attack individuals as well as groups.
The computer term “hacker” can refer to a good or bad reputation according
to the mass media. Hackers have developed new ways to use computers
since their invention, and create programs that no one else can, to utilize
their potential. Hackers are motivated by various reasons which may range
from bold ideas, lofty goals, great expectations or simple deviation from the
norm as well as the excitement of intrusion into a complicated computer
system. In the past, hacking has been used to hassle an intended victim, steal
information, or spread viruses. Not all hacking results from premeditated
malicious intent. Most hackers are interested in how computer networks
function and barriers between them and that knowledge is considered a
16. International Journal of Computer Science and Business Informatics
IJCSBI.ORG
ISSN: 1694-2108 | Vol. 3, No. 1. JULY 2013 2
challenge to their intelligence. However, some use their knowledge to help
corporations and governments construct better security measures. Although
we have heard about mischievous hackers sabotaging computers, networks,
and spreading viruses, most of the time hackers are just driven by the
curiosity they have about how different systems and programs work.
Although malicious and intrusive methods may be representative of what
hackers do, many of the methods and tools used by them are constructive in
fixing glitches in software as well as focusing on the vulnerability of
computer technology. It is through exposure of these vulnerabilities that
new ideas and better security measures are created.
When someone hears the word "hacker" one might immediately conjure
images in the mind’s eye of a criminal; more specifically, a criminal sitting
at a computer typing away with a screen reading "Access Denied." That
image in mind, one has the mainstream image of a modern day hacker. In
today’s society, hacking is just as prevalent as it has been in years past.
Viruses are still coded every day, worms still crawl the internet, and Trojan
horses continue to allow back door access into computer systems [2].
Even within hacker society, the definitions range from socially very positive
to criminal. In [3], there are two basic principles hackers live by: first, is
that information sharing is a powerful good and that it is the ethical duty of
hackers to share their expertise by writing free software and facilitating
access to information and to computing resources whenever possible.
Second, is that system cracking for fun and exploitation is ethically OK as
long as the cracker commits no theft, vandalism or breach of confidentiality.
It differentiates between benign and malicious hackers based on whether
damage is performed, though in reality all hacking involves intrusion and a
disregard for the efforts, works and property of others.
This research has reviewed the literature on hackers and it identifies
countries, reasoning, and type of penalties that are most likely to be
involved in hacking activities. In addition, it will address the steps that are
needed to put in place in order to reduce hacking and the type of penalties.
2. LITERATURE REVIEW
Electronic information is a critical part of our culture. Yet no matter where
the technology has taken us, the fact remains that what happens in
cyberspace has tangible impacts on each of our lives. Therefore, it is as
important for us to be secure in cyberspace as it is in our physical world [4].
According to a report from McAfee based on a survey conducted globally
on more than 800 IT company CEO's in 2009, data hacking and related
cybercrimes have cost multinational companies one trillion U.S. dollars [5].
17. International Journal of Computer Science and Business Informatics
IJCSBI.ORG
ISSN: 1694-2108 | Vol. 3, No. 1. JULY 2013 3
The media often presents hackers as having a thrilling reputation.
Adolescents who are lacking the social skills required to be accepted by
others may fantasize about their degree of technological skills, and move
online in search of those who profess to have technological skills the student
desires. A simple search using the term "hacker" with any search engine,
results in hundreds of links to illegal serial numbers, ways to download and
pirate commercial software, etc. Showing this information off to others may
result in the students being considered a "hacker" by their less
technologically savvy friends, further reinforcing antisocial behavior. In
some cases, individuals move on to programming and destruction of other
individuals programs through the writing of computer viruses and Trojan
horses; programs which include computer instructions to execute a hacker's
attack. If individuals can successfully enter computers via a network, they
may be able to impersonate an individual with high level security clearance
access to files, modifying or deleting them or introducing computer viruses
or Trojan horses. As hackers become more sophisticated, they may begin
using sniffers to steal large amounts of confidential information, become
involved in burglary of technical manuals, larceny or espionage [6].
The British government released evidence that foreign intelligence agencies,
possibly in China, Korea and some former Soviet states, were hacking
computers in the United Kingdom. "Economic espionage" was believed to
be one reason behind the attacks. Economic espionage involves attempting
to undermine the economic activity of other countries, sometimes by
passing on stolen industry and trade secrets to friendly or state-owned
companies. Key employees; those who have access to sensitive information
or government secrets, can be targeted through virus-laden e-mails, infected
CD-ROMS or memory sticks, or by hacking their computers. To respond to
these threats, the European Union, G8 and many other organizations have
set up cybercrime task forces. In the United States, some local law
enforcement organizations have electronic crime units and the FBI shares
information with these units through its InfraGard program [7].
Cyber security is becoming an important issue, as emphasized in an article
by Jacob Silverman titled “Could hackers devastate the U.S. economy?”
He discloses the fact that many media organizations and government
officials rank it just as grave a threat as terrorist attacks, nuclear
proliferation and global warming. With so many commercial, government
and private systems connected to the Internet, the concern seems warranted.
To add to the concern, consider that today's hackers are more organized and
powerful than ever. Many of them work in groups; and networks of black-
market sites exist where hackers exchange stolen information and illicit
programs. Credit-card data is sold in bulk by "carders" and phishing scams
are a growing concern. Malware -- viruses, Trojan horse programs and
18. International Journal of Computer Science and Business Informatics
IJCSBI.ORG
ISSN: 1694-2108 | Vol. 3, No. 1. JULY 2013 4
worms -- generates more money than the entire computer security industry,
according to some experts. He further reveals that hackers are also
distributed all over the world, many in countries like Romania that have lots
of Internet connectivity and loose enforcement of laws [8].
In 2008 Security experts said Chinese hackers began targeting Western
journalists as part of an effort to identify and intimidate their sources and
contacts, and to anticipate stories that might damage the reputations of
Chinese leaders. In a December 2012 over the course of several
investigations it found evidence that Chinese hackers had stolen e-mails,
contacts and files from more than 30 journalists and executives at Western
news organizations, and had maintained a “short list” of journalists whose
accounts they repeatedly attack. Based on a forensic analysis, it appears the
hackers broke into New York Times computers on Sept. 13, when the
reporting for the Wen articles was nearing completion. They set up at least
three back doors into users’ machines that they used as a digital base camp.
From there they snooped around New York Times‟ systems for at least two
weeks before they identified the domain controller that contains user names
and hashed, or scrambled, passwords for every Times employee [9].
In 2009, dubbed, “Operation: Aurora” by security firm McAfee,
sophisticated hackers based in China breached the corporate networks of
Google, Yahoo! Juniper Networks, Adobe Systems, and dozens of other
prominent technology companies and tried to access their source codes.
China's hackers seemed narrowly focused on military technology and
telecommunications companies as early as 2000. In 2011 Wiley Rein, a
prominent Washington Law firm working on a trade case against China was
hacked, and the White House was targeted last year. The hackers also
breached the website of the Council on Foreign Relations and rigged it to
deliver malware to anyone who visited it. Hacking groups with ties to the
Chinese government have also aggressively targeted Western oil and gas
companies and their law firms and investment banks [10].
In 2011, U.S. computer security firm McAfee reported that hackers
operating from China stole sensitive information from Western oil
companies in the United States, Taiwan, Greece and Kazakhstan, beginning
in November 2009. Citizen Lab and the SecDev Group discovered
computers at embassies and government departments in 103 countries,
including the Dalai Lama's office and India, were compromised by an attack
originating from servers in China. They dub the network involved
"GhostNet". Google claims cyber-attacks from China have hit it and at least
20 other companies. Google shut down its China operations. A top-secret
memo by the Canadian Security Intelligence Service warns that cyber-
attacks on government, university and industry computers have been
19. International Journal of Computer Science and Business Informatics
IJCSBI.ORG
ISSN: 1694-2108 | Vol. 3, No. 1. JULY 2013 5
growing "substantially. Quebec provincial police say they dismantled a
computer hacking network that targeted unprotected computers around the
world, including government computers [11].
In 2011, NASA reported it was the victim of 47 APT attacks, 13 of which
successfully compromised Agency computers. In one of the successful
attacks, intruders stole user credentials for more than 150 NASA employees
– credentials that could have been used to gain unauthorized access to
NASA systems. An ongoing investigation of another such attack at Jet
Propulsion Laboratories JPL involving Chinese-based Internet protocol (IP)
addresses has confirmed that the intruders gained full access to key JPL
systems and sensitive user accounts. With full system access the intruders
could: (1) modify, copy, or delete sensitive files; (2) add, modify, or delete
user accounts for mission-critical JPL systems; (3) upload hacking tools to
steal user credentials and compromise other NASA systems; and (4) modify
system logs to conceal their actions. In other words, the attackers had full
functional control over these networks [12].
NASA is a prestigious target for hackers because of its seat atop the United
States' broader technology incubation apparatus, and because of that
position it is also a strategic target for foreign state actors and
cybercriminals looking to steal information they can profit from. And while
the agency reportedly spends about a third of its $1.5 billion IT budget on
security, things aren’t looking so secure. Securing a huge bureaucracy like
NASA is difficult, no doubt. But according to Martin’s testimony, as of
February 2012 only one percent of NASA’s portable devices and laptops
were encrypted [12].
According to Bloomberg BusinessWeek, the executive order called for the
U.S. Department of Homeland Security to identify which critical
infrastructure is vulnerable to a cyber-attack that would be catastrophic to
the economy and public safety. According to Apple a week after Obama
issued the order, Apple’s employees computers were attacked by malicious
software after they visited a website aimed at iPhone developers. Shortly
afterward Microsoft announced that similar malware has infected some of
his company computers. According to trade groups representing tech
manufacturers and Web companies, the cables and fibers that information
travels over are more critical than the devices and programs their members
make, although Tech Companies argue other countries might take a cue
from the U.S. and set up their own cyber security guidelines. Multiple sets
of regulations might mean manufacturers and Web companies would have
to create different products and services for different countries, for further
increasing cost [13].
20. International Journal of Computer Science and Business Informatics
IJCSBI.ORG
ISSN: 1694-2108 | Vol. 3, No. 1. JULY 2013 6
Security experts hired by the New York Times to detect and block the
computer attacks gathered digital evidence that Chinese hackers, using
methods that some consultants have associated with the Chinese military in
the past, breached The Times’ network. They broke into the e-mail accounts
of its Shanghai bureau chief, David Barboza, who wrote the reports on Mr.
Wen’s relatives, and Jim Yardley, The Times’ South Asia bureau chief in
India, who previously worked as bureau chief in Beijing. Security experts
found evidence that the hackers stole the corporate passwords for every
Times employee and used those to gain access to the personal computers of
53 employees, most of them outside New York Times’ newsroom [9].
For three straight years, a group of Chinese hackers waged a cyber-war
against a family-owned, eight-person software firm in California, according
to court records. It started when Solid Oak Inc. founder Brian Milburn
claims he discovered that China was stealing his company's parental
filtering software, CYBERsitter. The theft hurt their business and sales,
which was bad enough. But twelve days after he publicly accused Chinese
hackers, he says he was inundated by attempts to bring down his Santa
Barbara-based business. Hackers broke into the company's system, shut
down its email and web servers, spied on employees using their own
webcams and gained access to sensitive company files, according to court
records. Apple Inc. reported it was hacked by the same group that hit social-
networking monster Facebook in January 2013. The security breaches are
the latest in a string of high-profile attacks on companies including The
Wall Street Journal and New York Times. Cyber security firm Mandiant
also came out with a report in early 2013 that accused a secret Chinese
military unit in Shanghai of years of systematic cyber-espionage against
more than 140 U.S. companies. Adam Levin, co-founder and chairman of
Identity Theft 911, says that for most companies it's not a matter of if they
will have a breach but when Levin told FoxBusiness.com that no company
is ultimately immune to this [14].
Members of Congress have published proposals that could result in longer
prison sentences for hackers. The House Judiciary committee is looking to
expand the Computer Fraud and Abuse Act (CFAA), an anti-hacking bill
dating back to 1984. Under the new proposals, damaging a computer after
accessing it without authorization would carry a maximum 10-year prison
term, double the current punishment. "Trafficking" passwords would also
carry a 10-year penalty. Hacking and damaging a "critical infrastructure
computer" would become the most serious crime, with a maximum 30-year
sentence. That would cover any machine that plays a vital role in areas such
as power, transportation, and finance [15].
21. International Journal of Computer Science and Business Informatics
IJCSBI.ORG
ISSN: 1694-2108 | Vol. 3, No. 1. JULY 2013 7
3.METHODOLOGY
Developing a psychological profile of a likely attacker is an attractive goal.
Because of variation among human motivations, and limitations in the
knowledge of psychology, such a profile may prove elusive [16]. There are
a number of recent and growing trends in the hacking activity landscape that
were observed by the Cybercrime division in the past decade dealing with
not only the state and local government aspects but with other national
governments across the world. Recently, cyber-attacks have no details given
to the attackers’ identity.
3.1 Data Gathering
In this research study, data was collected from several Department of Justice
(DOJ) Cybercrime press releases. However, the bulk of the data was
extracted from their department since 2009. DOJ generates reports from
cybercrime activity and people across the world. In the United States, more
than 35 million dollars in damage has been done to targeted companies.
Table 1 consists of 97 hackers listed by nationality, age, job status, reasons
for hacking, damage to company, money to judicial system, and punishment
from the DOJ for a period of 4 years. A shortlist of hackers is shown in
Table 1 as an example. Tables 2 through 4 were constructed from the data
collected from the aforementioned references.
Table 1. Computer Cybercrime Portfolio 2009-2013
Source: U.S. Department of Justice (2009-2012). Computer Crime and
Intellectual Property Section Press Releases [17].
National Age
Job
Status Reason for Hacking
Damage
to
Business
Money to
Judicial
Sys. Punish
Sweden 37 N/A Steal info N/A $650,000 Pending
Malaysia N/A N/A Bank fraud N/A N/A 10 Y
Romania N/A N/A Steal info N/A N/A 7 Y
Russia 55 N/A Steal info N/A $1,000,000 3 Y
America 46 N/A Personal gain N/A N/A 18 Y
America 36 N/A Destroy company data N/A N/A 10 Y
America 49 N/A Personal gain $100,000 $250,000 10 Y
America N/A Emp Steal info $5,000 N/A 40 Y
America 45 N/A Confidential info N/A $1,000,000 15 Y
America 22 N/A Confidential info N/A $350,000 21 Y
America 27 N/A Personal gain $9,481.03 $187,659 17 Y
America 28 N/A Confidential info N/A $500,000 5 Y/ 1 Y Pro
Russia 29 N/A N/A N/A $3.5 million
dollarsMoldova 29 N/A N/A N/A
America 25 N/A Steal info N/A 171.6 mil 2Y
20 Y
22. International Journal of Computer Science and Business Informatics
IJCSBI.ORG
ISSN: 1694-2108 | Vol. 3, No. 1. JULY 2013 8
Table 2 represents the percentage of the number of hackers by nationality.
Table 2. Hacking by Nationality
Nationality % Nationality %
Unknown 30 Malaysian 2
Russian 3 American 34
Latvian 1 Estonian 11
Romanian 9 Venezuelan 1
Sweden 1 Moldova 1
Albanian 1 Dublin 1
Hungarian 1 Blaine 1
Table 3 indicates the percentage of the type of motivation behind hacking.
Table 3. Motivation behind Hacking
Reasoning %
Steal Information 34
Intentional Damage to
Companies 11
Bank fraud 25
Need employment 1
Personal gain 11
Steal Money 3
Commit Multiple Fraud 7
Steal Intellectual Property 5
Table 4 shows the percentage of the type of penalties applied to hackers by
the judicial system.
Table 4. Type of Penalty
Category %
Pending 42
Probation 3
Supervised release 2
Cyber warfare 15
Prison 41
23. International Journal of Computer Science and Business Informatics
IJCSBI.ORG
ISSN: 1694-2108 | Vol. 3, No. 1. JULY 2013 9
3.2 Ways to Minimize Potential for Hacking
In order to minimize hacking, several techniques are required. The
following procedures need to be implemented to help limit the possibility of
hacking:
It is quite essential that organizations proactively introduce
guidelines of standard use and outline the consequences for
inappropriate actions.
People should be informed and have adequate knowledge of
hacking. They must be educated of certain commonalities and
characteristics connected with this activity, as well as the
significant penalties for hacking and the repercussions online
networking with other characters claiming to be skillful in
raiding others.
Outside the business perspective, people need to be educated as
to not post any sensitive information on social networks such as
Facebook, Twitter, YouTube, etc.
The organizations can use filters which can prohibit its
members from accessing unauthorized software serial numbers,
hacking-related materials such as newsgroups, chat-rooms and
hacking organizations.
Organizational staff should monitor activities in the working
environment and be proactive when information is obtained
about hacking activities.
There is a need for cooperation between private, public, as well
as governments to reduce hacking activities.
Recognizing good hackers that report vulnerable security
weaknesses to companies.
Lawmakers need to address the seriousness of cyber hacking by
establishing several special centers across the nation where they
can recruit the minds of our skilled youth as early as 15 years of
age and provide them the proper training, financial means, and
support them through college to those who have the passion and
commitment to continue in the field of cyber security.
Global corporations between nations are needed to reduce
hacking.
In summary, people need to be aware of incidents regarding hacking, the
mentality associated with it, the consequences of various hacking actions
and possible consequences of interacting and forming online relationships
with anonymous individuals who claim to be proficient in invading others'
privacy. Many organizations have engaged in enabling employees to
collaborate with technology-oriented staffs who demonstrate several
physiognomies that can result in hacking activities.
24. International Journal of Computer Science and Business Informatics
IJCSBI.ORG
ISSN: 1694-2108 | Vol. 3, No. 1. JULY 2013 10
4. FINDINGS
The hacking became more serious beyond the extent of individual/groups
and it is now at a government level between nations. From the data
collected, Tables 2-4 have been analyzed and illustrated as a graphical
representation shown in Figure 1-3.
Figure 1 illustrates the number of hacking by nationality. The highest
percentage comes from America (35%) and second to it is unknown (31%).
Thirdly, it is Estonian (12%).
Figure 1. Hacking by Nationality
Figure 2 represents the drive behind hacking; 35% would steal information,
26% is Bank Fraud, and 12% is intentional damage to companies.
25. International Journal of Computer Science and Business Informatics
IJCSBI.ORG
ISSN: 1694-2108 | Vol. 3, No. 1. JULY 2013 11
Figure 2. Motivation behind Hacking
Figure 3 shows that 41% of their penalties are still pending which states that
their punishments have yet been decided by the courts and 40% are serving
a prison sentence. However, 14% are included in cyber warfare which
means that their punishment has not been published due to their crime
involving the government. Monitoring behavior and motivation of hackers
can help improve awareness of their danger and underscores the importance
of maintaining robust security, including up-to-date cyber security and anti-
virus software.
Figure 3. Types of Penalty
Figure 4 shows an example illustrating the seriousness of cyber-attacks in
today’s society. Chevron, the U.S. headquartered international oil and gas
company, has admitted that Stuxnet infected its IT network. Stuxnet is
known for destroying centrifuges used in Iran uranium enrichment program.
It was designed by a nation state with the intention of targeting Siemens
supervisory control and data acquisition systems (SCADA) which
controlled the industrial processes inside the enrichment facilities. Industrial
Safety and Security Source is reporting that the Stuxnet virus was planted
by an Iranian double agent via a memory stick. The Stuxnet malware is
widely believed to have caused damage to Iran nuclear program by breaking
the motors on 1,000 centrifuges at the Natanz uranium enrichment facility.
Kaspersky Lab reported that a new virus dubbed Gauss has attacked
computers in the Middle East spying on financial transactions, emails and
picking passwords to all kind of pages. The virus resembles Stuxnet and
Flame malware which was used to target Iran. Gauss has infected hundreds
of personal computers across the Middle East – most of them in Lebanon,
26. International Journal of Computer Science and Business Informatics
IJCSBI.ORG
ISSN: 1694-2108 | Vol. 3, No. 1. JULY 2013 12
but also in Israel and Palestinian territories. Kaspersky Lab has classified
the virus, named after one of its major components, as “a cyber-espionage
toolkit” [18].
Figure 4. Flame Wars
Source: Cyber Security Helping secure one network at a time, 2013
Recent hacker IT attacks could be catastrophic for global business and even
cost lives. According to Alicia Buller [19], the three points to note in cyber
war are: Companies could become collateral victims in the war between
superpowers. Ideas from state nation cyber weapons could be repurposed
and copied by amateurs. Cyber criminals may start using weapons gleaned
from governments and nation states. Depending on the severity of the latest
hacks, establishing a framework to protect the country becomes top priority
of the Obama Administration as well as other countries around the world.
5. CONCLUSION
While computer hackers constitute a major security concern for individuals,
businesses, and governments across the globe, hacking and hackers’
underground culture remains secretive and difficult to identify for both
lawmakers and those vulnerable to hacker attacks. The mystery that
surrounds much of hacking prevents us from arriving at definitive solutions
to the security problem it poses; but our analysis provides at least tentative
insights for dealing with this problem. Hacking became a serious problem
affecting all levels of business activities from individuals, corporations, as
well as governmental agencies. The bulk of the hacking is initiated from
Americans about 35%. The type of penalty ranges from jail time to
monetary fines. Although there are laws against hacking, the courts cannot
27. International Journal of Computer Science and Business Informatics
IJCSBI.ORG
ISSN: 1694-2108 | Vol. 3, No. 1. JULY 2013 13
persecute these crimes fast enough to deter people from committing them.
From the literature review, the maximum jail penalty is 62 years and fines
are $171.6 million dollars.
Results show that hackers continue to engage in illegal hacking activities
despite the perception of severe judicial punishment. A closer look shows
that hackers perceive a high utility value from hacking, little informal
sanctions, and a low likelihood of punishment. These observations
combined with their disengagement from society, partially explains the
hacker's illegal behavior. Whatever their reason, it is a learning experience
through which they hope to gain anonymity. Future effort to minimize
hacking will undoubtedly include a combination of aggressive legislation,
new technological solutions, and increased public awareness and education.
Existing laws should be reviewed and amended periodically to allow for
appropriate evolution. The international community for online security
should respond with collaborative efforts globally towards this terrorist act
of hacking in order to manage this predicament.
6. REFERENCES
[1] Callwood, K. (2013). “How to Reduce Hacking” eHow.com Retrieved from:
http://www.ehow.com/how_8663856_reduce-hacking.html#ixzz2Of7JZqMC
[2] Wooten, D. (2009). “Hacking: modern day threat or hobby? (pt. 1)”. Retrieved from:
http://www.examiner.com/x-13831-Computer-Security-Examiner~y2009m6d22-
Hacking-modern-day-threat-or-hobby-pt-1#
[3] Parker, D. (1998). “Fighting Computer Crime: A New Framework for Protecting
Information” Retrieved from: http://education.illinois.edu/wp/crime/hacking.htm
[4] Shoemaker, D. & Conklin A. (2012). “Cyber security: The Essential Body of
Knowledge 1st
edition” Cengage Learning.
[5] Loganathan, M. & Kirubakaran, E. (2011). “A Study on Cyber Crimes and protection”
IJCSI International Journal of Computer Science Issues, Vol. 8, Issue 5, No 1.
[6] Stone, D. (1999). “Computer Hacking”, University Laboratory High School,
Retrieved from: http://www.ed.uiuc.edu/wp/crime/hacking.htm
[7] Computer Weekly (2006). “Act on foreign spy risk, firms urged” Retrieved from:
http://www.computerweekly.com/articles/2006/12/01/220307/act-on-foreign-spy-risk
firms-urged.htm
[8] Silverman, J. (2007). "Could hackers devastate the
U.S.economy?” HowStuffWorks.com. Retrieved from:
http://computer.howstuffworks.com/die-hard-hacker.htm
[9] Perlroth, N. (2013). “Hacker in China Attacked the Times for last 4 months” The New
York Times. Retrieved from:
http://www.nytimes.com/2013/01/31/technology/chinese- hackers- infiltrate-new-york-
times-computers.html?pagewanted=all&_r=0
[10]Canter, D. (2013). “Fighting an Order to fight cybercrime” Bloomberg BusinessWeek.
March 11-17, 2013.
[11]New Orleans Business News (2011). “Hackers in China hit Western oil companies,
security firm reports” The Associated Press. Retrieved from:
http://www.nola.com/business/index.ssf/2011/02/hackers_in_china_hit_
western_o.html
28. International Journal of Computer Science and Business Informatics
IJCSBI.ORG
ISSN: 1694-2108 | Vol. 3, No. 1. JULY 2013 14
[12]Dillow, C. (2012). “In the last year, hackers gained „Full Functional Control‟ of NASA
networks, stole the control codes for the is” POPSCI. Retrieved from:
http://www.popsci.com/technology/article/2012-03/hackers-gained-full-functional-
control-nasa-networks-stole-control-codes-iss-last-year
[13]Engleman, E. (2013).“Hacked? Who Ya Gonna Call?” Bloomberg Business Week.
February 11- February 17, 2013.
[14]Chakraborty, B. (2013). “Small firm hit by 3-year hacking campaign puts face on
growing cyber problem” Foxnews.com Retrieved from:
http://www.foxnews.com/politics/2013/02/22/small-businesses-big-targets-for-cyber-
snoops/#ixzz2Ngj7XMli
[15]Peters, J. (2013). “America's Awful Computer-Crime Law Might Be Getting a Whole
LotWorse” Retrieved from:
http://www.slate.com/blogs/crime/2013/03/25/computer_fraud_and_abuse_act_the_cfa
a_america_s_awful_computer_crime_law.html
[16]Stolfo, S. (2008) “Insider Attack and Cyber Security: Beyond the Hacker” Vol.39,
Springer.
[17]U.S. Department of Justice (2009-2012). Computer Crime and Intellectual Property
Section Press Releases. Retrieved from:
http://www.justice.gov/criminal/cybercrime/pr.html
[18]Hatcher, W. (2013). “Cyber Security helping secure one network at a time”
Information Systems Audit and Control Association – Greater New Orleans Chapter –
2013.
[19]Buller, A. (2013). “The Coming of Cyber War I” Retrieved from:
http://gulfbusiness.com/2013/03/the-coming-of-cyber-world-war-i/
29. International Journal of Computer Science and Business Informatics
IJCSBI.ORG
ISSN: 1694-2108 | Vol. 3, No. 1. JULY 2013 1
Ontology Based Multi-Viewed
Approach for Requirements
Engineering
R. Subha
Assistant Professor
Sri Krishna College of Technology,
Kovaipudur, Coimbatore-641 042,
Tamil Nadu, India
S. Palaniswami
Principal
Government College of Engineering,
Bodinayakanur,
Tamil Nadu, India
ABSTRACT
Software requirement engineering is an important process in software development. When
considered software development as a whole, 75% of software failures are due to impaired
software requirements. The proposed technique involves a multi viewed approach
comprising of Controlled Natural language and ontologies that can be used for representing
the requirements. Ontology is an explicit information modelling method which can be used
to model applications and their interactions. Controlled natural languages are subsets of
natural languages, obtained by restricting the grammar and vocabulary in order to reduce or
eliminate ambiguity and complexity that enable reliable automatic semantic analysis of a
language. The ontologies are constructed based upon the semantic similarities between the
domain and requirement models. The CNL is developed by restricting the vocabulary based
on certain rules. The similarity between the two representations can be defined by a
program that extracts the extracts the objects and relationship between them. Tool based
verification of the similarities is performed. This approach is applicable in software
development areas and many official applications such as banking system, currency
conversion, weather reports, transport, and sports.
Keywords
Requirements Engineering , Ontology , Controlled Natural Language
1. INTRODUCTION
Software engineering (SE) is the engineering discipline through which
software is developed. Commonly the process involves finding out what the
client wants, composing this in a list of requirements, designing an
architecture capable of supporting all of the requirements, designing,
coding, testing and integrating the separate parts, testing the whole,
30. International Journal of Computer Science and Business Informatics
IJCSBI.ORG
ISSN: 1694-2108 | Vol. 3, No. 1. JULY 2013 2
deploying and maintaining the software. Programming is only a small part
of software engineering.
Requirements engineering (RE) being the first phase of software
engineering deals with the process of discovering, eliciting, documenting
and maintaining the requirements for a particular computer-based system.
Computer systems are designed, and anything that is designed has an
intended purpose. If a computer system is unsatisfactory, it is because the
system was designed without an adequate understanding of its purpose, or
the purpose is deviated from the intended one. Both problems can be
mitigated by careful analysis of purpose throughout a system’s life.
Requirements Engineering provides a framework for understanding the
purpose of a system and the contexts in which it will be used. The
requirements engineering bridges the gap between an initial vague
recognition that there is some problem to which there is a computer
technology, and the task of building a system to address the problem.
Ontology formally represents knowledge as a set of concepts within
a domain, and the relationships between pairs of concepts[3]. It can be used
to model a domain and support reasoning about entities. An ontology
renders shared vocabulary and taxonomy which models a domain with the
definition of objects/concepts, as well as their properties and relations.
Ontologies are the structural frameworks for organizing information and are
used in artificial intelligence, the Semantic Web, systems
engineering, software engineering, informatics, library, enterprise
bookmarking, and information architecture as a form of knowledge
representation about the world or some part of it [5]. The creation of domain
ontologies is also fundamental to the definition and use of an enterprise
architecture framework. Model for describing the world that consists of a set
of types, properties, and relationship types. There is also generally a view
that the feature of the model in an ontology closely resembles the real world.
There are many problems associated with requirements engineering. The
nature of problems includes defining the system scope, problems of
understanding and problems of volatility. The major problems are sharing
equal understanding among the different communities involved in the
development of a given system, and problems in dealing with the volatile
nature of requirements. Problems of understanding during elicitation can
lead to requirements which are ambiguous, incomplete, inconsistent, and
even incorrect .If changes are not accommodated, the original requirements
set will become incomplete, inconsistent with the new situation, and
potentially unusable because they capture information that has since become
obsolete. The requirement traceability issue is also a major factor concerned
with the requirement engineering. These problems may lead to poor
31. International Journal of Computer Science and Business Informatics
IJCSBI.ORG
ISSN: 1694-2108 | Vol. 3, No. 1. JULY 2013 3
requirements and the cancellation of system development, or else the
development of a system that is later judged unsatisfactory or unacceptable,
has high maintenance costs, or undergoes frequent changes. By improving
requirements elicitation, the requirements engineering process can be
improved, resulting in enhanced system requirements and potentially a
much better system. In order to overcome these issues, a model integrating
controlled natural language and ontology providing a multi-viewed
approach is proposed to represent requirements from different perspectives
of all the stakeholders and the development team.
2. RELATED WORK
2.1 A scenario-driven approach to trace dependency analysis
Egyed et al. proposed an approach to trace dependency analysis. Software
development artifacts such as model descriptions, diagrammatic languages,
abstract (formal) specifications, and source code are highly interrelated
where changes in some of them affect others [2]. Trace dependencies
characterize such relationships abstractly. The research area focused on an
automated approach to generating and validating trace dependencies. The
research addressed the severe problem that the absence of trace information
or the uncertainty of its correctness limits the usefulness of software models
during software development. This is considered to be an important issue
affecting requirements engineering. This approach also proposed a method
that automates what is normally a time consuming and costly activity due to
the quadratic explosion of potential trace dependencies between
development artifacts.
2.2 Issues in requirement elicitation
Christel M and Kang k, in their research paper titled “Issues in requirements
elicitation”, clearly listed all the issues that affect the requirement elicitation
phase of software development. According to their research, the requirement
elicitation phase suffers from issues dealing with the improper detailing of
scope of the system. The communication between the various people
involved in developing the system also is causing major problems, since
requirement elicitation highly involves with collection of information
related to the system. The next major issue listed deals with the volatile
nature of the requirements. The paper implies that if these problems are not
taken seriously, it might lead to a poor requirement and also the end result
may be a failure.
2.3 Communication problems in requirements engineering
Al-Rawas et al. explains about the problems of communication between
disparate communities involved in the requirements specification activities
[1]. The requirements engineering phase of software development projects is
characterized by the intensity and importance of communication activities.
During this phase, the various stakeholders must be able to communicate
32. International Journal of Computer Science and Business Informatics
IJCSBI.ORG
ISSN: 1694-2108 | Vol. 3, No. 1. JULY 2013 4
their requirements to the analysts, and the analysts need to be able to
communicate the specifications they generate back to the stakeholders for
validation. The results of this study are discussed in terms of their relation to
three major communication barriers ineffectiveness of the current
communication channels, restrictions on expressiveness imposed by
notations, social and organizational barriers. The results confirm that
organizational and social issues have great influence on the effectiveness of
communication. They also show that in general, end-users find the notations
used by software practitioners to model their requirements difficult to
understand and validate.
2.4 Revisiting ontology-based requirements engineering in the age of
the semantic web systems
Dobson G, Sawyer P , in “Revisiting ontology-based requirements
engineering in the age of the semantic web”, propose usage of
dependability ontology compliant with the IFIP Working Group 10.4
taxonomy and discuss how this, and other ontologies, must interact in the
course of Dependability Requirements Engineering. In particular usage of
the links between the dependability ontology, ontology for requirements and
domain ontologies, identifying the advantages and difficulties involved are
discussed in detail. Ontology is generally based upon some logical
formalism, and has the benefits for requirements of explicitly modeling
domain knowledge in a machine interpretable way, e.g. allowing
requirements to be traced and checked for consistency by an inference
engine, and software specifications to be derived. With the emergence of the
semantic web, the interest in ontologies for Requirements Engineering is on
the increase. Lots of research has been concentrated upon re-interpreting
software engineering techniques for the semantic web. Usage of ontology is
proved to be highly beneficial for requirement engineering processes.
3. METHODOLOGY
In software development requirement refinement is an important process. It
has a tremendous impact on all its software development phases. Though a
lot of research is involved in the area of solving the various issues affecting
the requirement engineering, few issues remain unsolved. The common
issues that haunt the requirement elicitation phase include problems
concerned with areas of scope, volatility, communication, traceability [4].
Defining the scope of the system plays the major role in developing any new
system. Hence solving the scope issues is highly necessary. The
requirements of the customers are prone to changes throughout the
development of the system which is generally referred as the volatility issue.
Developing a system involves a wide class of people and hence
33. International Journal of Computer Science and Business Informatics
IJCSBI.ORG
ISSN: 1694-2108 | Vol. 3, No. 1. JULY 2013 5
communication plays a major role. Any fault that arises in developing the
system as a result of mistaken communication is referred as communication
issues. Any issues that affect describing and following a requirement in both
forward and backward direction are referred as traceability issues. In order
to overcome these issues a system consisting of a multi-viewed approach is
proposed. The system integrates two views for representing the perspective
of different stakeholders. Ontologies and controlled natural languages are
used for this purpose. Thus, the proposed technique provides a way for
dealing with the various issues affecting requirement engineering.
In this paper , we propose a comprehensive approach for dealing with the
various issues affecting the requirement elicitation process. The requirement
document is analyzed and split in to individual tokens. The tokens are used
to extract only the required relevant terms involved in the document. The
tokens are used as a base for construction of the ontology. The requirement
document is next represented in terms of controlled natural language .The
controlled natural language representation also extracts only the key terms
involved. Both the representations show the relationship among the objects
that are extracted. The similarities between the two representations are
measured to verify the level of accuracy.
Figure 1. Overall process of integrating ontology and CNL
Figure 1 represents the process involved in designing the multi viewed
approach consisting of ontology and control natural language.
The ontological view of requirements document involves representing the
requirement document in terms of concepts and relations among them. The
process also involves tagging of the requirement in prior to the construction
of the ontology.
34. International Journal of Computer Science and Business Informatics
IJCSBI.ORG
ISSN: 1694-2108 | Vol. 3, No. 1. JULY 2013 6
The CNL view of requirements involves representing the document through
restricted vocabulary. This representation enables to clearly establish the
relationships among the identified objects through a restricted vocabulary.
The mapping of the ontology representation and the CNL representation is
performed with the help of v-doc and GMO algorithm. The level of
similarity is noted.
3.1 Ontological view of requirement
The requirement document is represented in terms of ontology.
Ontology formally represents knowledge as a set of concepts within
a domain, and the relationships between pairs of concepts. Ontologies are
used to model a domain and support reasoning about entities. Ontology
provides shared vocabulary and taxonomy which models a domain with the
definition of objects/concepts, as well as their properties and relations.
Ontologies are the structural frameworks for organizing information and are
used in artificial intelligence, the Semantic Web, systems
engineering, software engineering, informatics, library, enterprise
bookmarking, and information architecture as a form of knowledge
representation about the world or some part of it. The creation of domain
ontologies is also fundamental to the definition and use of an enterprise
architecture framework. Model for describing the world that consists of a set
of types, properties, and relationship types. There is also generally a view
that the feature of the model in ontology closely resembles the real world.
The first step in representing the requirement document as ontology may
require tagging the parts of speech in the document. The tagging is
performed with the help of a tool called POS Tagger.
The POS Tagger does the process of marking up a word in a text (corpus) as
corresponding to a particular part of speech. Once the tagging is completed,
the ontology can be constructed. Formally it can be said that ontology is a
statement of a logical theory. Ontologies are often equated with taxonomic
hierarchies of classes without class definition and the subsumption relation.
Ontologies need not to be limited to these forms. Ontologies are also not
limited to conservative definitions, that is, definitions in the traditional logic
sense that only introduce terminology and do not add any knowledge about
the world. To specify a conceptualization, one needs to state axioms that do
constrain the possible interpretations for the defined terms. The construction
of ontology starts with identifying the concepts. Concept represents a set of
entities within a domain. Relations are constructed next and it specifies the
interaction among concepts involved.
Ontology of a program is obtained by defining a set of representational
terms. In such ontology, definitions associate the names of entities in the
universe of discourse (e.g. classes, relations, functions, or other objects)
35. International Journal of Computer Science and Business Informatics
IJCSBI.ORG
ISSN: 1694-2108 | Vol. 3, No. 1. JULY 2013 7
with human readable text describing what the names mean, and formal
axioms that constraint the interpretation and well-formed use of these terms.
The ontologies can be designed on the basis of domain document. This
consists of 3 steps:
1. Tokenization is done by Stanford pos tagger which reads the text
document and assign the parts of speech to each word such as noun, verb,
adjectives, etc.(figure 2)
2. The isolation of individual tokens shows the number of nouns, verbs,
adjectives in the domain document.
3. Based on the Nouns, verbs and adjectives, the concepts involved are
identified.
4. Ontology can be created by using the protégé tool based on the concepts
identified. (figure 3)
Figure 2. Tokenization
36. International Journal of Computer Science and Business Informatics
IJCSBI.ORG
ISSN: 1694-2108 | Vol. 3, No. 1. JULY 2013 8
Figure 3. Construction of ontology
3.2 CNL view of requirements
A sample requirement document is considered. The requirement document
will be in ordinary English which has no rules and semantics to make it
understandable by the system we convert that into controlled natural
language. CNL refers to controlled natural language that are subsets of
natural languages, obtained by restricting the grammar and vocabulary in
order to reduce or eliminate ambiguity and complexity that enable reliable
automatic semantic analysis of a language A tool called Fluent Editor is
used to provide a platform for constructing the required CNL.
We use Controlled English as the knowledge modeling language. Supported
by a suitable Editor, it prohibits one from entering any sentence that is
grammatically or morphologically incorrect and actively helps in correcting
any error. The Controlled English is a subset of Standard English with
restricted grammar and vocabulary; in order to reduce the ambiguity and
complexity inherent in full English. The relationships between the various
objects involved in the domain are established.
A taxonomy tree is also displayed representing the objects hierarchically. A
taxonomy tree is constructed with four important parts. They are “thing”
which shows “is a” relationship between concepts and relations. The
“nothing” shows concepts that cannot have any instances. The “relations”
that shows hierarchy of information about the relation between concepts
and/or the instances. And finally “attributes” that shows the hierarchy of
attributes. Modal expressions are constructed using must, should, can, must
not, should not, and cannot. Similarly complex expressions can also be
constructed. There are 4 steps:
37. International Journal of Computer Science and Business Informatics
IJCSBI.ORG
ISSN: 1694-2108 | Vol. 3, No. 1. JULY 2013 9
1. The domain document is represented in terms of Controlled English
which is a subset of Standard English with restricted grammar and
vocabulary in order to reduce the ambiguity and complexity inherent
in full English.(Fig 4)
2. The CNL phrases for every corresponding OWL statements are
created using a CNL editor.
3. Modality is enabled to create modal expressions that are used to
express relationship in CNL.
4. Complex sentences as well as simple sentences can be created using
the CNL editor.
Figure 4. Construction of CNL
3.3 Mapping of ontology and CNL
The mapping of the CNL and ontology are performed, after both
representations are constructed completely. The objective of this module is
to measure the level of similarity that is established between the two forms
of representation. The obtained CNL is extracted as objects and
relationships. The obtained objects are written on to a separate file. The
objects obtained from ontology are kept on a separate file manually. The
mapping of the two representations are performed through a program as
well as verified by a tool. The program is used to extract the objects and the
relationship that exist between them. The first part of program deals the
extraction of the objects and relationship between the objects. The program
38. International Journal of Computer Science and Business Informatics
IJCSBI.ORG
ISSN: 1694-2108 | Vol. 3, No. 1. JULY 2013 10
consists of pre defined relationships. The extracted objects and relationships
from the OWL file is compared with the pre defined relationships that are
already entered. After extraction, the mapping of the extracted data is
performed. If the objects and relationship match, a positive output is
obtained stating “ontology matching”. If the objects and relationships don’t
match, a similar output stating “ontology not matching” is obtained. The
mapping involves the usage of V-Doc algorithm and the GMO algorithm.
The v-doc constructs virtual documents for each entity in the ontologies and
use Vector Space Model to compute similarities between the virtual
documents. The GMO algorithm is a novel graph matching algorithm. The
mapping of the ontology representation and the CNL representation is
performed with the help of v-doc and GMO algorithm. The level of
similarity is noted. The steps are
1. Relationship and objects that exists in the ontological view of
representation is extracted.
2. Relationship and objects that exists in the CNL view of
representation is extracted.
3. The extracted relationships and objects are placed in individual
files.
4. A program is used to check the level of similarity between the
objects that are extracted.
5. Tool based verification is further performed.
Figure 5. Matching OWL files
39. International Journal of Computer Science and Business Informatics
IJCSBI.ORG
ISSN: 1694-2108 | Vol. 3, No. 1. JULY 2013 11
Thus, the tool based verification of matching is shown if Figure 5. The
ontology1 column shows the list of objects in OWL file for ontology .The
ontology2 column shows the list of objects in OWL file for CNL. The
similarity column shows the level of similarity between the two OWL files.
4. CONCLUSION
As for as software development is concerned, requirement elicitation is an
important process. The existing system used single view approach, thus
failing to deal with the lot of issues affecting requirements engineering.
Therefore a technique is proposed to refine the requirements by integrating
ontology and controlled natural language, thus providing a multi viewed
approach. The ontological view is mapped with the controlled natural
language view to calculate the level of similarity. Thus, usage of a multi
viewed approach helps in resolving most of the issues affecting the
requirement elicitation process. The proposed process provides a simple and
useful Traceability scheme. Refining the requirements provides a lot of
advantages and reduces a lot of cost in building the system. The research on
the area of RE has grown fast in the last few years. In spite of this fact, there
are still open issues. In our work we initially identified such issues and
investigated the main existent initiatives that are addressing them. Further,
the work can be improvised by exploring the full potential of ontologies,
thus improving quality of the knowledge base.
5. REFERENCES
[1] Al-Rawas, A., Easterbrook, S. Communication problems in requirements engineering-
a field study.(1996)
[2] Egyed, A., A scenario-driven approach to trace dependency analysis. IEEE trans
software engineering., 29(2) (2003), 11632.
[3] Denny Vrandecic., York Sure. An approach to the automatic evaluation of ontologies.
Journal of Applied Ontology, 3, (1-2), (2008), seiten 41-62.
[4] Christel, M., Kang, K. Issues in requirement elicitation. IEEE trans software
engineering., 78(2) (2005), 156-198
[5] Dobson, G., Sawyer, P. Revisiting ontology-based requirements engineering in the age
of the semantic web. Dependable requirements engineering of computerised systems at
NPPs, (2006)
[6] Mellor, S. MDA distilled: principles of model driven Architecture. Addison-Wesley
Professional, (2004)
[7] http://www.protege.com.
[8] http://xobjects.seu.edu.cn/project/falcon/falcon.html
40. International Journal of Computer Science and Business Informatics
IJCSBI.ORG
ISSN: 1694-2108 | Vol. 3, No. 1. JULY 2013 1
Modified Colonial Competitive
Algorithm: An Approach for
Graph Coloring Problem
Hojjat Emami
Computer Engineering Department, Islamic Azad University, Miyandoab Branch
Miyandoab, Iran
Parvaneh Hasanzadeh
Computer Engineering Department, Islamic Azad University, Miyandoab Branch
Miyandoab, Iran
ABSTRACT
This paper describes a modified version of colonial competitive algorithm and how it is
used to solve graph coloring problem (GCP). Colonial competitive algorithm (CCA) is a
meta-heuristic optimization and stochastic search technique that is inspired from socio-
political phenomenon of imperialistic competition. CCA has high convergence rate and in
optimization problems can reach to global optimum. Graph coloring problem is the process
of finding an optimal coloring for any given graph so that adjacent vertices have different
colors. Graph coloring problem is an optimization problem.The original CCA algorithm is
designed for continuous problems whereas graph coloring problem is a discrete problem.
So in this paper we applied some changes in the assimilation and revolution operators of the
original CCA algorithm and presented a modified CCA which is called MCCA. The
performance of the MCCA algorithm is evaluated on five well-known graph coloring
benchmarks. Simulation results demonstrate that MCCA is a feasible and capable
algorithm.
Keywords
Colonial competitive algorithm, graph coloring problem, modified colonial competitive
algorithm.
1. INTRODUCTION
Graph coloring is a special case of graph labeling. Coloring a graph involves
assigning colors for each vertex of graph, so that any two adjacent vertices
have different colors. One of the main challenges in the graph coloring
problem (GCP) is to find the least number of colors for which there is a
valid coloring of the vertices of the graph. Graph coloring problem provides
a useful test bed for representing many real world problems including time
scheduling, frequency assignment, register allocation, and circuit board
testing [1]. The graph coloring problem is a complex and NP-hard problem
[2]; therefore many methods have been presented for solving the graph
coloring problem. The most common and successful methods that are
41. International Journal of Computer Science and Business Informatics
IJCSBI.ORG
ISSN: 1694-2108 | Vol. 3, No. 1. JULY 2013 2
introduced for solving graph coloring problem use a conflict minimizing
approach as its goals. i.e., given k colors, a coloring is sought which
minimizes the number of adjacent vertices bearing the same color.
Researchers used various methods for solving graph coloring problem that
some of them include meta-heuristic algorithms (such as genetic algorithm
[3], particle swarm optimization [4, 5], ant colony optimization [6, 7], and
differential evolution [8]), scatter search [9], variable space search [10],
learning automata [11], distributed algorithms [12], and some hybrid
algorithms [5, 13, 14]. In this paper, we used another meta-heuristic
algorithm ⎯colonial competitive algorithm [15] ⎯ to solve graph coloring
problem.
Colonial competitive algorithm (CCA) is an optimization and search
algorithm. This socio-politically algorithm is inspired from imperialistic
competition among imperialists and colonies. CCA is a population based
evolutionary algorithm and contains two main steps: the movement of the
colonies toward their relevant imperialists and the imperialistic competition.
CCA has been used in many engineering and optimization tasks. Original
CCA is inherently designed for continuous problems whereas graph
coloring problem is a discrete problem [15]. So in this paper, a modified
discrete version of CCA is proposed to deal with the solution of graph
coloring problem. The success of the new proposed method is shown by
evaluating its performance on the well-known graph coloring benchmarks.
This paper proceeds as follows. Section 2 describes the graph coloring
problem. Colonial competitive algorithm is explained in Section 3. Section
4 presents the proposed modified colonial competitive algorithm and how it
is used to solve graph coloring problem. Section 5 presents our empirical
results and Section 6 concludes the paper and gives an outlook of the future
works.
2. GRAPH COLORING PROBLEM (GCP)
Graph coloring is an NP-hard problem and is still a very hot research field
of topic. Graph coloring problem is a practical method of representing many
real world problems such as pattern matching, scheduling, frequency
assignment, register allocation, and circuit board testing [1].
In graph theory, graph coloring involves an assignment of labels to elements
of a graph subject to certain constraints. In other words, coloring a graph is
a way of coloring the vertices of graph so that adjacent vertices have
different colors. Generally this process called vertex coloring. There are
other forms of graph coloring including edge coloring or face coloring that
can be transformed into a vertex coloring problem. A coloring that uses K
colors is called a K-coloring. The smallest number of colors required to
42. International Journal of Computer Science and Business Informatics
IJCSBI.ORG
ISSN: 1694-2108 | Vol. 3, No. 1. JULY 2013 3
color a graph G is called its chromatic number. A minimum coloring of a
graph is a coloring that uses as few different colors as possible.
Formally the graph coloring problem can be stated as follows: Given an
undirected graph G with a set of vertices V, and a set of edges E, (G=(V,E)),
a K-Coloring of G consists of assigning a color to each vertex of V such that
no two adjacent vertices share the same color. One of the most interesting
challenges in the graph coloring problem is to find a correctly coloring that
uses exactly the predefined chromatic number of graph [1, 16]. In other
words, in coloring process all vertices of graph must be colored with
minimal number of colors. Figure 1 shows the coloring process of a simple
graph. This graph has 4 vertices and 4 edges. The chromatic number of this
graph is 3.
(a) (b)
Figure 1. A simple example of graph coloring process.
(a) Graph G before coloring, (b) Graph G after coloring.
3. COLONIAL COMPETITIVE ALGORITHM (CCA)
Colonial competitive algorithm (CCA) was developed by Atashpaz-gargari
and et al., and has been applied in various optimization and engineering
tasks [15]. CCA is a global search and optimization meta-heuristic that is
inspired by the social-political competition. Like other evolutionary
algorithms, CCA begins its work with an initial population. In CCA agents
in the population are called countries. After computing the cost of these
countries by using a cost function, some of the best countries are selected to
be the imperialist states and the remaining countries form the colonies of the
mentioned imperialists. All colonies of the population are divided among
imperialists based on imperialist’s power. The power of countries is
conversely related to their cost. The imperialist together with their colonies
form some empires. After forming initial empires, the colonies in each
empire are start moving toward their relevant imperialist state. This process
is a simple simulation of assimilation policy that was pursued by some of
the imperialist countries. This movement is shown in Figure 2. In this
movement, a colony goes toward the imperialist by a random value which is
randomly distributed between 0 and β×d. Where d is the distance between
imperialist and the colony, β is a control parameter. θ and x are random
numbers with uniform distribution [15].
1
3
2
4
1
3
2
4
43. International Journal of Computer Science and Business Informatics
IJCSBI.ORG
ISSN: 1694-2108 | Vol. 3, No. 1. JULY 2013 4
𝑥~𝑈(0, 𝛽 × 𝑑) (1)
𝜃~𝑈(−𝜑, 𝜑) (2)
In equation (2), 𝜑 is a random number with uniform distribution. In this
paper, 𝛽 and 𝜑 are set to 2 and 𝜋/4 (Rad) respectively.
All empires try to take the possession of colonies of other empires and
control them. The imperialistic competition gradually brings about an
increase in the power of powerful empires and a decrease in the power of
weaker empires. In the original CCA, the imperialistic competition is
modeled just by picking one of the weakest colonies of the weakest empire
and then making a competition among all other empires in order to possess
this colony.
Figure 2. Motion of a colony toward its relevant imperialist [15]
In CCA solution space is modeled as a search space. Each position in the
search space is a potential solution of the problem. Moving colonies toward
their relevant imperialists and imperialistic competition are the two
important operators of the CCA and causes the countries in the solution
space converge to a state that is the global optimum and satisfies the
problem constraints. CCA has high convergence rate and can often achieve
to global optimum. Figure 3 shows the pseudo code of the original CCA.
4. GRAPH COLORING USING MODIFIED COLONIAL
COMPETITIVE ALGORITHM
The original CCA is designed to solve continuous problems whereas graph
coloring problem is a discrete problem. Hence a discrete version of CCA is
needed for solving graph coloring problem. This section describes how
modified colonial competitive algorithm (MCCA) is used to solve graph
coloring problem. The goal of using MCCA to solve graph coloring
problem is to find reliable and optimal colorings for graph coloring problem
instances.
44. International Journal of Computer Science and Business Informatics
IJCSBI.ORG
ISSN: 1694-2108 | Vol. 3, No. 1. JULY 2013 5
1. Initialize the empires.
2. Move the colonies toward their relevant imperialist (Assimilation).
3. Randomly change the position of some colonies (Revolution).
4. If there is a colony in an empire which has lower cost than the imperialist,
exchange the positions of that colony and the imperialist.
5. Unite the similar empires.
6. Compute the total cost of all empires.
7. Pick the weakest colony (colonies) from the weakest empires and give it
(them) to one of the empires (Imperialistic Competition).
8. Eliminate the powerless empires.
9. If termination conditions satisfied, stop, if not go to 2.
Figure 3. Pseudo code of the CCA [15]
At the beginning, a population of popN countries is generated. If the graph
coloring problem instance has n vertices then each country in the initial
population will consist of a random permutated list of the integers {1, 2, …,
n}. After forming the initial population, the countries have to be assessed
according to the cost function explained later. Some of the best countries
(countries with least cost value) are selected to be imperialist states and the
remaining form the colonies of the mentioned imperialists. Within the main
loop of the MCCA, imperialist in each empire, try to attract their colonies
toward themselves. Then imperialistic competition begins among empires.
During this competition process the weaker imperialists are collapsed
whereas powerful imperialists increase their power. The MCCA executes
for a fixed number of iterations, where iteration is defined as a cycle of
assimilation, revolution, uniting and competition stages. Following
subsections describe the attributes of the proposed MCCA method.
4.1 Forming Initial Population
The first step in the MCCA as any other population based algorithm, is to
create an initial population. This population consists of countries. Each
country consists of a permutated list of the integers and indicates a potential
solution to the problem. Each integer number in the country denotes a color
used for coloring the graph coloring problem instance. In fact if a graph
coloring problem instance has n vertices then a country will be a vector of
integer numbers with size 1×n.
Figure 4.a illustrates the process of creation of initial population using a
sample graph with 4 vertices and 4 edges. The chromatic number of this
graph is 3. Also Figure 4.b indicates a population of size 4 created for
solving the graph indicated in Figure 4.a. In the graph coloring problem, the
input is an undirected graph and the output is an optimal coloring (i.e. a
permutated list of colors assigned to the vertices of the graph).
45. International Journal of Computer Science and Business Informatics
IJCSBI.ORG
ISSN: 1694-2108 | Vol. 3, No. 1. JULY 2013 6
Figure 4. Graph Coloring process (creating initial population)
4.2 Cost Function
A cost function is used to evaluate the cost of the countries in the
population. From optimization viewpoint, a country with lowest cost value
is preferable. Here the cost of a country is equal to the total number of color
conflicts in it. In other words if two vertices of the graph be adjacent and in
the coloring process have the same color then there is a conflict. A simple
criterion for cost function can be stated as follows:
,
,
1 1 ,
1 ( ) ( )
( ) ,
0 ( ) ( )
V V i j
i j
N N
i j
i j
i j i i j
C if Color n Color n
Cost Country C
C if Color n Color n
(3)
Where V
N is the total number of vertices, ,i jC is a counter variable that
keeps the number of conflicts, and ( )i
Color n indicates the color of the
vertex i.
4.3 Modified Assimilation Operator
In the original CCA assimilation operator was designed for continuous
problems whereas in the graph coloring problem we deal with a discrete
problem. So a modified discrete version of this operator is needed. The goal
of assimilation policy is that the colony countries are similar to their
relevant imperialists. In this paper this fact is modeled by conveying some
random portions of imperialist country to its colonies. Figure 5 shows
country
1 3 2 1 2
2country 2 2 1 1
3country 2 3 2 3
4country 1 2 2 3
1
3
2
4
1
1
1
3
2
3
2
2
2
1
1
2
3
3
1
4Vertice
s
Colors
a) Graph with 4 vertices
and 4 edges
b) Initial population