Pervasive and Mobile Computing 83 (2022) 101596
Contents lists available at ScienceDirect
Pervasive and Mobile Computing
journal homepage: www.elsevier.com/locate/pmc
GANCSA: A novel approach for finding the best path for
migration of mobile-agents
Rafid Qahtan Allawi
a
, Ayad Tareq Imam
b,∗
, Aysh Alhroob
a
, Faiz Al-Shrouf
a
a
Department of Software Engineering, Faculty of IT, Isra University, Amman 11622, Jordan
b
Department of Computer Science, Faculty of IT, Isra University, Amman 11622, Jordan
article info
Article history:
Received 15 December 2021
Received in revised form 9 March 2022
Accepted 22 April 2022
Available online 5 May 2022
Keywords:
Migration of mobile agent
Genetic algorithm
Node Compression-based Search Algorithm
Master–Slave Design pattern
Push all-data strategy
abstract
A mobile agent is a mobile object, whose movement requires a wise determination of
the best path, as this path is applied to migrate a mobile agent from a source node to a
destination node in an interconnected network of computers. Usually, the choice of the
best path is made using optimization algorithms, which use the minimum time as a key
measure for choosing the best path.
This work proposes a new complex approach, which is called The Genetic Algorithm
with Node Compression-based Search Algorithm (GANCSA). This approach utilizes a
mathematical process and an optimization technique to achieve the finding of the best
migration path in minimal time (sequential nodes in a time frame) for migrating a
mobile agent in an interconnected network of computers. GANCSA encompasses the
Genetic Algorithm (GA) as an optimization technique, and the Node Compression-based
Search Algorithm (NCSA) to minimize the number of nodes.
The testing of the proposed GANCSA shows that the combination of GA and NCSA
reduces the time of selecting the best path from 336.448 ms to 286.29 ms after
10 iterations, believing that more time reduction can be achieved by increasing the
iterations.
© 2022 Elsevier B.V. All rights reserved.
1. Introduction
A software agent is an object that performs autonomously delegated tasks of the user, and it has autonomy and
executability properties. There are two types of software agents, namely, ordinary software agent, which is a stationary
object [1], and mobile agent, which is an on-move object that is capable of moving autonomously from a host to a host
within a network that includes its execution state, to continue its execution [2].
As a mobile agent is a structured and systematic approach that comes as a class object, which encompasses data
and software. The structured and systematic approaches of Software Engineering, which are known as the software
development process, are used to manage the development of mobile agents [3]. A mobile agent is designed by using
design patterns; and implemented by using – usually – Java programming language. For mobile agents, a design pattern
is an effective approach to enhancing the development process of applications and identifying the best reusable designs.
It also improves the collaboration between components in software designs. Design patterns also raise the level of
programming activities, thus helping to improve team productivity [4]. There are many advantages of using mobile
∗
Corresponding author.
E-mail addresses: rafid_lav@yahoo.com (R.Q. Allawi), alzobaydi_ayad@iu.edu.jo (A.T. Imam), aysh@iu.edu.jo (A. Alhroob), fayez.shrouf@iu.edu.jo
(F. Al-Shrouf).
https://doi.org/10.1016/j.pmcj.2022.101596
1574-1192/© 2022 Elsevier B.V. All rights reserved.