Chapter 2 Mobility Protocols and Mobile Agents: THE...
Transcript of Chapter 2 Mobility Protocols and Mobile Agents: THE...
8
Chapter 2
Mobility Protocols and Mobile Agents: THE BACKGROUND
2.1 Introduction
This chapter discusses the fundamental issues involved in providing next-
generation wireless networks: network layer mobility in all-IP wireless networks and
role of Mobile Agents. Most retail wireless network users prefer seamless mobility so
that they can obtain access to their services anytime and anywhere. This work focuses
on the mobility aspect of intelligent agents where mobile agent is a program that acts
on behalf of a user or other program, migrating from host to host on a network under
its own control [7]. In fact, today most of applications in telecommunications and
mobile-computing are based on mobile agents. The chapter begins with the
motivation of carrying out the research work and presents the detailed description of
fundamentals required to carry out this research work.
2.2 Motivation
Mobile communication is developing very rapidly and with the passage of
time, new technologies are being introduced to facilitate mobile users more & more.
The past technologies are being replaced by new ones and needs for the new
technologies to be developed are emerging.
One such development is 4G networks also called Next Generation Networks.
The introduction of 4G has widened the scope of mobile communication. Now mobile
is more or less a portable computer that can serve different purposes. 4G offers higher
data rates with seamless roaming. The mobile user can communicate without any
disturbance while switching his coverage network.
4G is still passing through research and therefore there are some problems that
need to be fixed in order to benefit the users. In this chapter we will discuss various
9
challenges 4G is facing and the solutions that have been proposed. Next section
presents an overview of various generations of mobile network.
2.3 Generations of Mobile Network
As on date, there have been three generations of mobile cellular networks
defined by air interfaces and transport technologies. Each generation provided an
increase in functionality to the mobile user. Figure 2.1 depicts the evolution of mobile
communication system. The first generation (1G) was voice-centric and used analog
signaling. The real revolution began with the birth of second-generation (2G)
technologies in which the systems were digital with 10 kbps data transfer rate. Later
on 2G was enhanced to 2.5 G which provided Global Packet Radio Service (GPRS)
and Enhanced Data Rate for Global Evolution (EDGE) packet switching technologies.
Third-generation (3G) was designed to support integrated services such as video,
audio, high speed internet connection, and video conferencing etc.
The brief description of the generations of mobile communication is given in
the following sub sections.
1G
2G
2.5G
3G
4G
Analog
(GSM, CDMA)
(GPRS, EDGE)
(UMTS, 3GPP, WCDMA)
(All Over IP)
Figure 2.1: Evolution of Mobile Communication Systems
10
2.3.1 First Generation (1G)
First generation of network came into use in July 1978 in USA. 1G consisted
of distributed transceivers that helped in communicating with mobile phone. These
mobile phones were analogue and it could only be used for voice traffic. For the
transmission of signals frequency modulation was in use. There was one 25MHz
frequency band allocation from cell base station to the mobile phone and another
25MHz frequency band allocation for the signal from phone to the base station. In
order to accommodate more users to the network each channel was separated from the
other by a spacing of 30 KHz, but it was not effective enough in terms of the available
spectrum. 1G1 would use Frequency Division Multiple Access (FDMA) [155]
techniques where the user had to wait for the first user to hang up. The network
capacity in 1G was increased by implementing the frequency reuse [159]. The
examples of first generation services are American Mobile Phone Service (AMPS) in
the United States and the Nippon Telegraph and Telephone (NTT) Corporation in
Japan.
2.3.2 Second Generation (2G)
As the mobile communication gained publicity and more people started using
the technology, the existing technology couldn‟t fulfill the needs of the irresistible
majority of people. Therefore new techniques were applied to the existing system to
make it more useful and accommodative known as second generation (2G). The
characteristics of 2G were quiet evident that it would accommodate more users and
provide them good communication services with higher security. 2G was majorly
needed because of the interference and attenuation problems in 1G.
The first 2G system was introduced in Finland in 1991 by Radiolinja (now
part of Elisa Oyj)1. One of the major changes in 2G was to shift from analog to digital
encrypted communication. It also solved the problem of higher number of active
1 http://www.mobile-phone-directory.org/Technology/1G_-_First_Generation
11
customers in the network. By this more number of users could use the service
simultaneously. It also introduced additional data transfer service known as Short
Messages Services (SMS) rather than only voice data as in 1G.
2G system includes Global System for Mobile (GSM) [184] & it was
developed in 1980s and is currently under control of European Telecommunications
Standards Institute (ETSI) [164]. The GSM can utilize either 900, 1800 and 1900
MHz and started working in Europe in June 1991. Most of its cellular phones can
operate as dual and tri band handsets. Two frequency bands of 25 MHz are used
separately for uplink and downlink communication. Further each band is divided into
124 carrier frequencies separated by 200 KHz. Each of 124 frequencies is further
divided into 8 slots using Time Division Multiple Access (TDMA) [155] techniques
[159]. So each one of these slots represents one communication channel, and user get
992 simultaneous communication channels, which increases the network capacity.
2.3.3 Third Generation (3G) Network
Further considering the heavy demand of high-bandwidth multimedia
applications the need for advanced generation was felt and third generation (3G) was
introduced that could fulfill the growing needs of the mobile users. 3G provided large
amount of bandwidth and uses higher frequency band of 2.5 GHz. 3G can provide
higher data rates both in mobile and in fixed environments. It gives up to 2Mbps in
stationary and about 384 Kbps in mobile environments2. 3G has also provided cost
effective services to mobile users with additional features like video streaming and IP
telephony etc.
3G is the International Telecommunication Union (ITU) standard to represent
third generation mobile telephone system under the scope international mobile
telecommunication program (IMT2000) [35]. 3G can implement various network
technologies such as UMTS [133], GSM [184], WLAN [58], WiMAX [183] and
2 http://www.mobileinfo.com/3G/3G_Wireless.htm.
12
EDGE3. The first 3G was launched commercially in DoCoMo in Japan in October
2001. Japan along with South Korea implemented 3G rapidly with the generous
support from the government authorities and elsewhere it was slow because of the
expensive equipments of 3G. In Europe Manx Telecom in Isle of Man [159] launched
the first 3G network, but the first commercial 3G in Europe was launched by Telenor
in December 2001.
2.3.4 Fourth Generation (4G)
Fourth generation (4G) also called Next Generation Network (NGN) offers
one platform for different wireless networks. So it is apparent that 4G systems should
integrate all existing and newly developed wireless communication systems instead of
developing new uniform standard to replace all existing technologies. These networks
are connected through one IP core. As shown in figure 2.2, 4G integrates the existing
heterogeneous wireless technologies avoiding the need of new uniform standard for
different wireless systems like World Wide Interoperability for Microwave Access
(WiMAX), Universal Mobile Telecommunications System (UMTS), Wireless Local
Area Network (WLAN) and General Packet Radio Service (GPRS). 4G networks will
increase the data rates incredibly, by providing 100Mbps to 1Gbps in stationary and
mobile environment respectively.
3 http://www.mobileinfo.com/3G/3G_Wireless.htm.
4G
WLAN
???
GSM
CDMA
UMTS WiMAX
GPRS
EDGE
Figure 2.2: Integration of various technologies in 4G
13
4G uses all IP environments and reduces the latency considerably. 4G can be
considered as a global network where users can find voice, data and video streaming
at anytime and anywhere around the globe. In 4G the integration of network and its
applications is seamless therefore there is no risk of delay. With this feature, users can
access different services, enlarged coverage area, the convenience of a single device,
one bill with lesser total access cost, and more reliable wireless access even with the
failure or loss of one or more networks. Various desirable features of 4G wireless
network are listed as follows:
Full packet switched network
Anytime and anywhere communications based on MIPv6 technology
Integrated services
Higher data transmission with speed up to 100Mbps
Personalized service
Support for multimedia services at low per-bit transmission cost
In addition to various other desirable features, seamless mobility is one of the
most important characteristics [139]. Usually, continuous service is only achieved by
sustaining handoff (or handover) from one network to another which is discussed later
in detail. Next section presents the applications of 4G.
2.4 Applications of 4G
With the increase in the data rates, the mobile phones are made to execute
high performance applications. In 4G, the mobile phone is not only used for calling
but can also be used for variety of other purposes. One such application in 4G is
context awareness [86]. For example, if the mobile user is passing by an office where
he/she is having an appointment to meet someone and they have forgotten the
appointment. If the office location, address and geographical location matches the
one, user has already stored in the phone, he/she will receive information about the
appointment and will be reminded that you need to perform this activity.
Telemedicine is another application of 4G. Using telemedicine a patient can send
14
general reading like temperature, glucose level and blood pressure to the doctor
online. Moreover, if someone needs to know about their family member‟s health
continuously they can receive all the information through telemedicine by using 4G
technology.
2.5 Handover in 4G
Although the features listed in the previous sections are important but primary
& the most challenging research issue is anytime and anywhere communications
which is usually accomplished with handover procedure [139] where, handover is the
process of shifting the channel i.e. frequency, time slot, spreading code, or
combination of them, associated with the current network connection while data
transmission is in progress. It is often initiated either by crossing a network boundary
or by a drop in quality of the signal in the current channel. Handover has been divided
into two broad categories namely, Horizontal and Vertical Handover.
In Horizontal Handover, mobile node moves around from one access point to
another access point supporting the same network technology as shown in figure 2.3.
The handover decision mainly depends on the quality of channel and resources
available in the target cell and is finally executed if the Received Signal Strength
(RSS) from a neighboring base station exceeds the RSS from the current base station.
So, horizontal handover refers mobility on the same layer. Generally, it is referred to
Figure 2.3: Horizontal Handover
Mobile Node
Network
15
as the mobility within the same access technology or intra network handover. The
main concern of horizontal handover is to maintain on-going service although change
of IP address occurs due to the movement of a mobile node.
In contrast to horizontal handoff, the vertical handoff process allows the
mobility of mobile node among access points supporting different network
technologies as shown in figure 2.4. Generally it is referred to as inter-network
handover. Different from horizontal handover, in vertical handover in addition to used
access technology, IP address also changes, because the mobile node moves from one
network to another network which usually employs different access technologies.
The main concern of vertical handover is to maintain on-going service
although not only the change of IP addresses but also the change of network takes
place. There exist various factors such as offered bandwidth, RSS, price, power
consumption and speed etc. demanding vertical handover [97]. Table 2.1 shows the
comparison between horizontal and vertical handover.
In fact, in order to continue receiving services while roaming in heterogeneous
networks, each device shall be provided with a compatible Mobile IPv6 protocol and
the same is discussed in the upcoming section.
Network A
Network B
Network C
Figure 2.4: Vertical Handover
16
Table 2.1: Comparison between Horizontal and Vertical handover
Parameters Horizontal handover Vertical handover
Access technology Not changed Changed
Network interface Not changed Could be changed
QoS parameter Not changed Could be changed
Access technology Single technology Heterogeneous technology
Network interface Single interface Multiple interface
Actually used IP address at a time Single IP address Multiple IP address
QoS parameter Single value Multiple values
Network connection Single connection Multiple connections
2.6 Fundamental Protocols
The objective of 4G is to offer seamless multimedia service to users using All
IP-based infrastructures through heterogeneous access technologies. An All IP-based
4G wireless network has inherent advantages over its predecessors. It is not only
compatible but also independent of the underlying radio access technology4. An IP
wireless network replaces the old Signaling System 7 (SS7) telecommunications
protocol, which is considered massively redundant. This is because SS7 signal
transmission consumes a larger part of network bandwidth even in its ideal state for
the simple reason that it uses a call setup mechanism to reserve bandwidth rather than
time/frequency slots in the radio waves. In contrast, IP networks are connectionless
and use the slots only when they have data to send. Hence there is optimum usage of
the available bandwidth [178].
Even though studies indicate that growth in wireless data traffic is rising
exponentially relative to demand for voice traffic but still wireless communications
are heavily biased towards voice. Since, an All IP core layer is easily scalable; it is
ideally suited to meet the stated challenge. One of the major challenges in design and
implementation of 4G systems is the demand that it should support all the desired
features based on current communication systems and standards. As already mentioned,
the most important research issue is anytime and anywhere communications that too
4 http://labs.oracle.com/features/4g_wireless/
17
need to be accomplished with unbroken communication. The upcoming sections
explain various fundamental protocols of Internet Engineering Task Force (IETF).
The set of protocols includes the description about MIPv4 [68], MIPv6 [108],
HMIPv6 [162], FMIPv6 [142] and PMIPv6 [149].
2.6.1 Mobile IPv4 (MIPv4)
Internet Protocol version 4 (IPv4) is the fourth revision in the development of
the Internet Protocol (IP) and the first version of the protocol to be widely deployed.
IPv4 is a connectionless protocol for use on packet-switched Link Layer networks
(e.g., Ethernet). It operates on a best effort delivery model; in that it does not
guarantee delivery, nor does it assure proper sequencing or avoidance of duplicate
delivery and uses 32-bit (four-byte) addresses.
IPv4 was not built with the feature of mobility; Mobile IPv4 was designed as
an extension to IPv4 protocol to support mobility. Mobile IP resolves the issue of
mobility by assigning the mobile node a temporary address at each new location,
maintaining the MN‟s original IP address, and, creating and storing a binding between
the two addresses with a router in the mobile node‟s original network [165].
2.6.2 Mobile IPv6 (MIPv6)
MIPv6 is integrated into the base IPv6 protocol and not an add-on feature, as
is case of IPv4 and MIPv4. It is important that all devices are inherently designed to
be mobile and IPv6/MIPv6 allows this. This integrated aspect of IPv6 and MIPv6 also
makes MIPv6 more efficient and much easier to implement.
With the use of voice over IP (VOIP), it is impossible to talk continuously on
a mobile device because when mobile node moves from one location to another the IP
changes and hence communication is breaks. This problem of disconnection is solved
with the help of Mobile IP. Mobile IP detects the new wireless connection after it
loses the previous one and the ongoing communication state is not disturbed. Mobile
18
IPv6 enables an IPv6 node to be mobile to randomly change its location on an IPv6
network and still maintain existing connections. To maintain the connectivity of IPv6
node, address of the node also changes based on the updated link [108]. Mobile nodes
are made with a specific address through which these nodes are always reachable.
Due to roaming, a mobile device may change its network attachment each
time it moves to a new link. This might cause a trouble for the Internet data packets
that have to reach the mobile node. In order to overcome this issue, Mobile IPv6
protocol was introduced by the Mobile IP Internet Engineering Task Force (IETF)
[27] working group. Figure 2.5 demonstrates the basic working of Mobile IPv6.
When MN is within its home network it uses home address for
communication. When it moves from its home network to foreign network, its home
address is no longer valid.
The moment Mobile Node enters into foreign network its uses Care-of-
Address (CoA) [27]. CoA is a temporary address and it is bonded to the mobile node
Home Address (HA). This scheme hides the changed IP from the upper layers. The
IInntteerrnneett
Correspondent
Host/ Sender
Foreign Agent
Home
Agent
Mobile Host/ Receiver
Figure 2.5: Mobile IP routing
19
CoA is assigned by its Foreign Agent (FA). When a Correspondent Node (CN) sends
packets for the particular mobile node, the packet is received by Home Agent, Home
Agent forwards these packets to mobile nodes‟s CoA. If mobile node changes it CoA,
it sends a Binding Update (BU) message to Home Agent. Home Agent replies with
BU acknowledgment message [70]. BU updates MN‟s binding information, home
address and CoA. Table 2.2 lists the responsibilities of various components of MIPv6.
Table 2.2 Components used in MIPv6
Components Explanation
Home Link (HL) Home Link establishes link between mobile node and home address.
The home agent resides on this link. This is the link that
conceptually follows the mobile node.
Home Address
(HA)
A mobile node when it is attached to the home link is assigned a
home address. Mobile node is always reachable through this link.
When mobile node is away from home, packets addressed to the
mobile node‟s home address are intercepted by the home agent.
Mobile node is logically connected to the home link because it is
always assigned the home address.
Home Agent (HA)
Home agent acts like a router that maintains registration of mobile
nodes on the home link. When a mobile node is away from its home,
it is required to register its current address with the home agent.
Mobile Node (MN)
Mobile Node is an end user device connected on IPv6 network that
maintains its reachability using its home address. It is aware of its
home address and the global address (care-of-address).
Foreign Link (FL) Any other link to which a mobile node is connected other than its
home link is known as foreign link.
Care-of-Address
(CoA)
CoA is address used by a mobile node while it is attached to foreign
link. A mobile node can be assigned multiple care-of-addresses; but
only one care-of-address is registered as the primary address.
Correspondent
Node (CN)
A node that communicates with a mobile node is called
correspondent node.
20
On the other hand, MN sends packets to CN directly which makes a triangle
routing. MIPv6 can keep track of MN‟s CoA by timely BU between MN and its HA,
but the problem arises with the packets intended for MN before BU. All the processes
for establishing a new CoA and information exchange between mobile node and home
agent requires lot of time and signaling traffic [159] and hence causing latency and
packet loss. The worst case is when MN is roaming between two Access Routers
(ARs) several times creating a ping pong effect. In this case too many handovers and
location updates are experienced which causes interruption in MN‟s communication
with its CN [68]. So the packets that were intended for the old CoA are dropped.
Because of these reasons MIPv6 is not an efficient scheme that could perform in 4G
high speed data transfers. Further, in MIPv6, various messages are exchanged
between a mobile node and a home agent leading to unnecessary location updates and
handover occurrence in a short time. This frequent roaming causes latency, packet
loss, inefficient utilization of resources such as bandwidth, time and battery etc. In
order to address these issues Hierarchical MIPv6 (HMIPv6) was introduced which is
now discussed in the upcoming section.
2.6.3 Hierarchical Mobile IPv6 (HMIPv6)
Mobile IPv6 maintains reachability and on-going connections between mobile
node and correspondent node during its mobility. To achieve this, mobile node sends
Binding Updates (BU) to its Home Agent (HA) and all correspondent nodes (CNs).
This binding updates requires approximately 1.5 round trip times between mobile
node and to its each correspondent nodes. In addition to this, one more round-trip is
also required to it‟s HA for updation [162]. However, this can be done parallel. These
round trips are required every time when handover occurs to a new access router.
Reducing these round trips during handover was highly desired and also, it
significantly improves the performance of MIPv6. For this reason a new node called
Mobility Anchor Point (MAP) was used that can be located at any level in a
hierarchical network routers [162], including the access router. MAP reduces the
21
MIPv6 signaling outside the local domain. Table 2.3 lists & explains about various
components deployed in HMIPv6.
Table 2.3 Components used in HMIPv6
Components Explanation
Access Router (AR) An AR is the MN‟s default router. It aggregates the
outbound traffic.
Mobility Anchor Point
(MAP)
A MAP is a router located in a network visited by the
mobile node. This can be used as local home agent by
the mobile node.
Regional Care-of-Address
(RCoA)
A RCoA is an address obtained by the mobile node
from the visited network. A RCoA is an address on
the MAP‟s subnet.
On-Link Care-of-Address
(LCoA)
LCoA is simply referred to as the Care-of-Address.
Here LCoA is used to distinguish it from RCoA.
Local Binding Update (LBU) The mobile node sends a local binding update to the
MAP in order to establish a binding between the
RCoA and LCoA.
Correspondent Node (CN) A node that communicates with a mobile node is
called correspondent node.
In contrast to MIPv6, HMIPv6 had two additions. First, a new function called
Mobile Anchor Point (MAP) and second minor extensions to the mobile node
operation were incorporated. The correspondent node and home agent operation is
similar to MIPv6. MAP acts like a local home agent and will receive packets on
behalf of mobile node and forward them to the mobile node‟s current address as
shown in figure 2.6.
22
In HMIPv6 [19], number of messages exchanged for binding updates between
Mobile Nodes and its home agent were successfully minimized with MAP. It also
separates the issue of local mobility and global mobility, which means local handoffs
are managed locally without notifying home agent, while global mobility is managed
with the existing MIPv6 protocol.
Each mobile node has two care-of addresses [162] known as regional care-of
address and local care-of address. When mobile node moves into a new region or
domain, initially it gets a regional care-of address from MAP which is forwarded to
its home agent and its correspondents about its “regional location” as its raw location
information.
When the MN moves between two Access Routers (ARs) in the same region
covered by a same MAP, MN will perform the localization updates in the domain and
get a new local care-of address. Now, it sends local registration messages to the MAP,
instead of its home agent. Hence, the signal traffic and handoff latency are reduced
Figure 2.6: Hierarchical Mobile IPv6 (HMIPv6)
23
because each MN hides its movements in a region from its home agent and
correspondents, and the interim MN can keep uninterrupted communications with its
correspondents [27]. However, the burden of MAP increases since it handles too
many MNs in one domain. Moreover, if MAP died or worked abnormally, the MNs
would also hang up. This gap was bridged by adding few more MAPs per domain.
However, this protocol also posed certain problems such as dynamic load distribution
among MAPs.
2.6.4 Fast Mobile IPv6 (FMIPv6)
The “Fast Mobile IPv6” (FMIPv6) [34] protocol was designed to reduce the
duration of the handover. Moreover it also assists the mobile node to quickly recover
communications. Table 2.4 lists the components of FMIPv6.
Table 2.4 Components used in FMIPv6
Components Explanation
Access Point (AP) A Device connected to an IP subnet offers
wireless connectivity to a MN.
Access Point Identifier (AP-ID) It is the Address of an AP that can also known as
Basic Service Set Identifier (BSSID).
Previous Access Router (PAR) It is MN's default router prior to its handover.
New Access Router (NAR) It is MN's default router subsequent to its
handover.
Previous Care-of-Address (PCoA) The MN's Care of Address valid on PAR's subnet.
New Care-of-Address (NCoA) The MN's Care of Address valid on NAR's subnet.
Router solicitation for Proxy
Advertisement (RtSolPr)
A message from the MN to the PAR requesting
information for a potential handover.
Proxy Router Advertisement (PrRtAdv) A message from the PAR to the MN that provides
information about neighboring links facilitating
expedited movement detection. The message
also acts as a trigger for network-initiated
handover.
24
FMIPv6 is of two types, one is called predictive and other is called reactive
FMIPv6. When there is ample amount of time available to process the handoff then
predictive FMIPv6 is used, while the reactive FMIPv6 is used if there is insufficient
time to process the handovers. When a MN moves into a network it detects the signal
coming from the APs through its APID. MN sends router solicitation for proxy
advertisement (RtSolPr) message to Proxy Access Router (PAR), then PAR replies
with proxy router advertisement (PrRtAdv) message including new access router‟s
(nAR‟s) prefix value and IP address [55] as shown in figure 2.7.
MN can obtain its CoA from information of PrRtAdv [55]. In order to connect
to a NAR, MN sends an FBU message to its PAR. PAR sends a handover initiation
(HI) message along with MN‟s nCoA to NAR. Once nCoA is accepted NAR starts a
buffer. NAR sends packets to nCoA. NAR also sends handover acknowledgment
(HAcK) back to PAR. Then PAR sends an FBAck message to MN and NAR. PAR
IIPP NNeettwwoorrkk
Mobile Host/ Receiver
Figure 2.7: Fast Mobile IP routing
Previous Access
Router (PAR)
New Access
Router (NAR)
Correspondent
Host/ Sender
25
starts forwarding packets to NAR. During the time MN is engaged in handovers the
packets arriving are saved in the buffer of nAR which are forwarded to MN once the
handover is completed.
In order to reduce the Binding Update latency, FMIPv6 specifiy a binding
between the Previous CoA and New CoA. Mobile node sends Fast Binding Updates
message to its previous AR to establish tunnel. The mobile node should send FBU
from PAR‟s link or immediately after detecting attachment to NAR. This tunnel
remains active until the mobile node completes the binding update. In the opposite
direction, the mobile node should reverse tunnel packets to previous access router
until it completes binding update. This reverse tunnel ensures the drop in packet loss
due to filtering.
Although Mobile IP, supporting mobility management both in the IPv4 [68]
and IPv6 networks, is a mature standard and fast Mobile IPv6 [142] and hierarchical
Mobile IPv6 [162], have been proposed to improve its performance such as handover
delay and signaling cost, it has not been widely deployed in recent years. The main
cause is that it is a host-based mobility solution which requires the mobile node to
modify its protocol stack. PMIPv6 achieves the function of mobility management
without mobile node‟s participation. Therefore, it is believed to speed up the
deployment of IP mobility management and to be the solution for mobility
management in the future all-IP wireless networks [60]. Next section discusses the
basic functioning of PMIPv6 domain and related work done in this area.
2.7 Proxy Mobile IPv6 (PMIPv6)
Proxy Mobile IPv6 (PMIPv6) [149] is an only network-based mobility
management protocol standardized by IETF. The protocol accommodates various
access technologies such as WiMAX [183], 3GPP [48] and WLAN [58] based access
architectures. PMIPv6 extends signaling and reuses many functionalities of MIPv6.
Various components used in PMIPv6 are listed as follows:
26
Table 2.5 Components used in PMIPv6
Components Explanation
Local Mobility Anchor (LMA) LMA is act like a home agent for mobile node in
PMIPv6 domain. It manages the mobile node‟s
binding state with the additional capabilities
required for supporting PMIPv6 protocol.
Mobile Access Gateway (MAG) MAG is an access router that manages the
mobility related signaling for mobile node. It is
also responsible for tracking the mobile node‟s
movement.
LMA Address (LMAA) LMAA is the global address that is configured on
the interface of the LMA and is the transport
endpoint of the bi-directional tunnel established
between the LMA and MAG. On this address
MAG sends the PBU messages
Proxy Care-of Address (Proxy-CoA) Proxy CoA is the global address configured on the
egress interface of the MAG and is the transport
endpoint of the tunnel between the LMA and
MAG. LMA views this address as the care-of
address of the MN and registers it in the Binding
Cache entry for that MN.
Proxy Binding Update (PBU) PBU is a request message sent by a MAG to a
MN's LMA for establishing a binding between the
MN's home network prefix(es) assigned to a given
interface of a MN and its current care-of address
(Proxy-CoA).
Proxy Binding Acknowledgement
(PBA)
PBA is a reply message sent by a LMA in
response to a PBU message that it received from a
MAG.
In PMIPv6 the mobility management of a mobile node is handled by network.
In contrast to MIPv6 and HMIPv6 which followed host based mobility, PMIPv6 [158]
27
follows the network based mobility without requiring the participation of the Mobile
Node. Figure 2.8 depicts the architecture of PMIPv6. In host-based mobility, the
communication was direct between Home Agent and Mobile Node [88] whereas in
PMIPv6, Mobile Access Gateway (MAG) [149] was incorporated that took over the
responsibility of Mobile Node thereby overcoming the limitation of the link
bandwidth and terminal power [88].
Proxy Mobile IPv6 comprises of two core elements i.e. Local Mobility Anchor
(LMA) and the Mobile Access Gateway (MAG), which are responsible for mobility
management. Following subsections provides detailed working of PMIPv6.
2.7.1 Initial Attachment and Signal Flow
Figure 2.9 shows the initial attachment and signal flow operations in PMIPv6. The
interaction among various components is presented as follows:
a) Initially on attaching to MAG, MN-Identifier (MN-ID) of Mobile Node is
authenticated via access security protocols on the network to be accessed.
b) After successful access authentication MAG obtains the MN‟s profile.
c) MAG sends a Proxy Binding Update (PBU) to the LMA of Mobile Node
regarding its current location.
Home Agent
AR AR
Host based Mobility
Movement
Route Update
Home Agent
MAG-AR MAG-AR
Network based Mobility
Movement
Route Update
Figure 2.8 Architecture of PMIPv6
28
d) After receiving the PBU message, LMA assigns a MN-HNP (Home Network
Prefix) and creates a Binding Cache Entry (BCE) that binds the Proxy-Care of
Address of MAG with MN-HNP.
e) It also establishes a bi-directional tunnel to MAG and sends a Proxy Binding
Acknowledgement (PBA) message including the MN-HNP.
f) After receiving the PBA message, tunnel is being sets up between MAG and
LMA. After that it sends Router Advertisement (RA) message to MN on the
access link to advertise the MN-HNP as the hosted on-link-prefix.
g) On receiving RA messages Mobile Node configures the IP address. After
completion of configuration procedure, MN uses this address for all future
packets delivery.
2.7.2 Handover between two MAGs
When MN moves to another access network belonging to MAGnew as shown
in figure 2.10, MAGprev detects that it has moved away from its access link.
Therefore, it follows the following steps for handover.
LMA : Local Mobility Anchor
PBU : Proxy Binding Update
RA : Router Advertisement Msg.
MN MAG AAA & Policy Server LMA
MN Attachment AAA Query with MN-ID
Change in Network State
RA Bi-Directional Tunnel Setup
CN
Data Packets
Data Packets
PBA with MN-ID, Home Network Prefix
option, LMM
Tunneled Data Packets
PBU with MN-ID, Home Network Prefix
option, Proxy-CoA1
Figure 2.9: PMIPv6 Initial Attachment and Signal Flow
MN : Mobile Node
MAG : Mobile Access Gateway
AAA : Authentication, Authorization and Accounting
29
a) MAGprev sends a DeRegistration PBU (DeReg PBU) message to LMA with
lifetime value set to zero.
b) Once LMA received DeReg PBU, it sends a PBA message to MAGprev
c) On the other hand when MAGnew detects the attachment of MN, it obtains the
MN-profile using MN-ID. It uses similar authentication steps as performed
during initial attachment.
Unlike MIPv6, PMIPv6 established tunnel between LMA and MAG, and not
the MN. Once bidirectional tunnel is successfully set up, all traffic sent from the MN
gets routed to its LMA through tunnel [88].
PMIPv6 suffers from unacceptable handover latencies and packet losses [113],
where, handover latency means the maximum time interval in which mobile node
does not receive any packet due to the process of handover while on the other hand
packet loss means number of downstream packet lost at the mobile node during
handover period.
PMIPv6 offers a loose coordination of handover control and there is limited
coordination in the LMA, which replaces existing bindings with new ones based on
MN MAGprev AAA & Policy Server LMA
MN Detachment De-Registration PBU by setting lifetime value to 0
PBA
RA
Bi-Directional Tunnel Setup
Figure 2.10: Handover in PMIPv6
MAGnew
MN Attachment
AAA Query with MN-ID
AAA Reply with Profile
PBU
PBA
30
time-stamps provided in the proxy binding updates. An exhaustive comparison
between MIPv6, FMIPv6, HMIPv6 and PMIPv6 protocols is given in table 2.6.
Though PMIPv6 is able to reduce handover latency but is still suffering from
lots of other drawbacks, such as increase in frequency of packet loss, routing path of
data between two nodes becoming too complicated because of overlapping effect, and
overloading of MAG as the number of mobile nodes becomes large.
Table 2.6: Comparison between MIPv6, FMIPv6, HMIPv6 and PMIPv6
Category MIPv6 FMIPv6 HMIPv6 PMIPv6
Mobility Type Host Based Host Based Host Based Network
Based
Mobility Scope Global
Mobility
Global
Mobility
Local
Mobility
Local
Mobility
Buffering No Yes No Yes
Introduced Entity MN, HA,
FA NAR, PAR MAP LMA, MAG
Traffic Point Link Link MAP LMA
Signaling Overhead on
MH High High Medium Low
Location Registration
Message
Binding
Update
Message
Binding
Update
Message
Binding
Update
Message
Proxy Binding
Update
Message
Address Requirement CoA PCoA,
NCoA
LCoA,
RCoA pHoA
Handover Delay High High High Low
Multi Homing No No Yes Yes
Packet Loss Yes Yes/No Yes Yes
Air Interface Traffic
Overload High High High Low
Tunneling Overhead High High Low Low
31
The above mentioned issues clearly reflect that it is required to expand
PMIPv6 protocol. A very little time has been spent looking at the more recent work
from other fields. One example of this is the lack of agent-based frameworks within
the community of PMIPv6 networks. There are many properties of agents that make
them well suited to network environments. The adoption of mobile software agents as
architectural elements enables us to achieve the above delegated goals. The next
section explains the motivations behind using Intelligent Agents in PMIPv6 domain.
2.8 Software Agents
The term “Agent” is associated with various prospects and used in many
different perspectives. Agent is a self contained software element and responsible for
performing part of a process. Agents work on predefined rules and may also have the
capability of self learning [152]. Therefore, it may contain some level of intelligence
and are termed as Intelligent Agents. These Agents can be reactive, proactive,
autonomous and mobile. This work focuses on the mobility aspect of intelligent
agents where mobile agent is a program that acts on behalf of a user or other program,
migrating from host to host on a network under its own control [7]. In fact, today most
of applications in telecommunications and mobile-computing are based on mobile
agents. People have been always fascinated with the idea of non-human agencies.
Norman [125] observes that perhaps “the most relevant predecessors to today‟s
intelligent agents are servomechanisms and other control devices, including factory
control and the automated takeoff, landing, and flight control of aircraft.” Alan Kay
[66], provides a thumbnail sketch tracing the more recent roots of software agents:
“The idea of an agent originated with John McCarthy in the mid-1950‟s, and the
term was coined by Oliver G. Selfridge a few years later, when they were both at the
Massachusetts Institute of Technology. They had in view a system that, when given a
goal, could carry out the details of the appropriate computer operations and could
ask for and receive advice, offered in human terms, when it was stuck. An agent
32
would be a „soft robot‟ living and doing its business within the computer‟s world.”
(Kay 1984).
Software agents came into existence through distributed artificial intelligence
(DAI) in the year 1977. These agents worked on macro issues such as the interaction
and communication between agents, coordination and cooperation, the decomposition
and distribution of tasks etc. As “agent” can be of many flourish varieties, there has
been an explosion in the use, depending upon the functions they performed like data
abstraction and encapsulation [85], primitive or aggregate functions [109], distributed
intelligence computing [155], migrating themselves from host to host to collect
information [21]. The increased popularity of agents produced many different types of
agents such as weak or strong agents, distributed or multi-agent system [84], Belief
Desire Intention (BDI) agents [3], autonomous agents [53], and even emotional agents
[63].
A more specific definition of “Software Agent” is that a software entity which
functions continuously and autonomously in a particular environment, often inhabited
by other agents and processes. As specified in [36] every agent might be having a
varying degree of attributes and few of them are mentioned below:
Reactivity: the ability to selectively sense and act.
Autonomy: independent, proactive and self execution behavior.
Collaborative behavior: can work in collaborative behavior with other agents
to achieve a common goal.
Knowledge-level communication ability: the ability to communicate with
persons and other agents in human alike with language.
Inferential capability: act on task specification using prior knowledge of
general goals and ability to go beyond the information given depending upon
the situation.
Temporal continuity: persistence in nature.
33
Personality: the capability of manifesting the attributes of a “believable”
character such as emotion.
Adaptivity: being able to learn and improve with experience.
Mobility: being able to migrate in a self-directed way from one host to
another.
Software agents are termed as an Intelligent Agents, when it incorporates
knowledge-based technology and act proactively on perceiving the dynamic state of
its environment. Gilbert [47] describe intelligent agents in terms of three dimensions
of agency, intelligence, and mobility as shown in figure 2.11
Here, Agency is the degree of autonomy and authority in the agent and can be
measured by the nature of the interaction between agent for application, data and
service interactivity. Intelligence is the degree of learning, reasoning, planning and
adaptive behavior of the agent for the system. Mobility is the degree to which agents
themselves travel through the network to accomplish mobile scripts on one machine
to another. Next section provides an overview of evolution of intelligent agents.
2.8.1 Origin of Intelligent Agents
A framework of intelligent agent comprises of objects, components, active
documents and software agents as shown in figure 2.12.
Agency
Service interactivity
Application interactivity
Data interactivity
Representation of user
Asynchrony
Intelligence
Preferences
Reasoning
Planning
Learning
Expert Systems
Sta
tic
Mobil
e sc
ripts
Mobil
e obje
ct
Fix
ed-F
unct
ion A
gen
ts
Inte
llig
ent
Agen
ts
Mobility
Figure 2.11: Scope of Intelligent Agents [47]
34
In short, software components are the logical collection of homogeneous
objects. An object whose inner functionalities remain abstracted from the outside
world and it just provides an interface to the environment act as a component. It is an
independent entity that can perform a task autonomously by taking input from its
surroundings and further plays the role of an agent especially when it carries out an
action that only changes the state of environment, preserving the autonomous
behavior.
An individual component might not be able to achieve the desired goals and
hence a number of components may collectively work to achieve those goals. These
combinations of components form an active document. In fact, a strong agent is an
active document possessing mobility, autonomy, sociality, veracity etc. But all these
properties in single document is not feasible; therefore instead of referring it as a
weak agent, an active document is referred to as an Active Agent or an Intelligent
Agent.
2.8.2 Intelligent Agent Characteristics
The influx of various approaches under the banner of „agents‟ caused a need to
classify and define this term. However it quickly became apparent that everyone had
their own definition [53] due in part to the historical relationship with the AI
community and the vague notion of intelligence. Numerous definitions for the agents
have been proposed, but in core most have a set of defining characteristics that every
Figure 2.12: Origin of Intelligent Agents [3]
Agent
Active
Documents
Components
Objects
35
agent must demonstrate. For instance, BDI agents must show explicit beliefs
(knowledge perceived to be true), desires (goals) and intentions (plan to obtain goals)
[75], while Woodridge and Jennings‟ weak agents [101] should be autonomous,
reactive and social. A definition from Franklin & Graesser [163] lists autonomous,
reactive, communicative, adaptive, mobile, flexible, goal-oriented, continuous and
with some form of character or emotion. Using such definitions from the literature, it
has been possible to create a set of primary, secondary and tertiary agent
characteristics. Primary characteristics are inherent to most of the popular agent
definitions while secondary characteristics are the set of extended characteristics
usually associated with agents. The third set of characteristics contains more abstract,
desirable, human-like features.
(A) Primary Characteristics
Autonomous - An agent should be able to execute without the need for human
interaction, although intermittent interaction may be required.
Social / Communicative - An agent should have a high level of
communication with other agents. The most common protocol for agent
communication is the Knowledge Query and Manipulation Language (KQML)
[168].
Reactive / Responsive - An agent should be able to perceive its environment
and react to changes in it.
(B) Secondary Characteristics
Proactive - Proactive agents do not just react to their environment but can take
active steps to change that environment according to their own desires.
Adaptive - Adaptive agents have the ability to adjust their behavior over time
in response to internal knowledge or changes in the environment around them.
36
Goal-oriented / Intentions - These agents have an explicit internal plan of
action to accomplish a goal or set of objectives.
Persistence / Continuous - Persistent agents have an internal state that
remains consistent over time.
Mobility - Mobile agents can proactively decide to migrate to a different
machine or network while maintaining persistence.
(C) Tertiary Characteristics
Emotion - Agents with the ability to express human-like emotion or mood.
Such agents might also have some form of anthropomorphic character or
appearance.
Intelligence - Agents with the ability to reason, learn and adapt over time.
Honesty - Agents that believe in the truthful nature of the information they
pass on.
These agent characteristics lead to many advantageous features. The very
nature of agents as independent, social entities that can respond to and change their
environment provides a strong foundation for building reliable, robust, flexible,
extensible and scalable systems. Agents can help ease user tasks and adapt to user
requirements. Inspite of their many benefits, agents are not the solution to every
problem. One major disadvantage of building agent systems is that the complexity of
agent interactions and dynamic nature of the agents themselves make it difficult to
predict agent behavior. It can cause problems in safety critical environments where
outcomes need to be assured. However, as the computer world is becoming
increasingly networked and distributed, agents are likely to become the next
engineering paradigm for system development which is being justified by the
applications of intelligent agents as described in the next section.
37
2.8.3 Applications of Intelligent Agents
Agent technology is used to solve real-world problems in a range of industrial
and commercial applications. Agent-based systems find its applications in various
domains such air traffic control, e-commerce, transport management, process
management, telecommunication system etc. In [123] authors have categorized these
applications in four major areas namely Industrial Applications, Commercial
Applications, Entertainment Applications, and Medical Applications.
2.8.3.1 Industrial Applications
The industrial applications are one of oldest area where agents are used first
time. YAMS system (Yet Another Manufacturing System), which applies the
Contract Net Protocol [171] to manufacturing control. The goal of YAMS is to
efficiently manage the different plants located at different locations of a single
company. YAMS uses a multi-agent system approach. ARCHON [120] is a best
known multi-agent system for process control. Electricity transportation management,
power plants, climate control etc are application areas where process control system is
used. Another industrial application is Air Traffic Control. OASIS [93] is a
sophisticated agent-realized air traffic control system. Agent is instantiated with the
information and goals corresponding to the real-world aircraft. Traffic and
transportation management is well suited agent based application because of its
geographically distributed nature. Future car pooling [12] uses multi-agent system
using two types of agents one representing customers while other is transporter.
Telecommunication systems are also equipped with agent technology because of
distributed networks. These networks are interconnected and need to be monitored
and managed in real-time.
2.8.3.2 Commercial Applications
Commercial Applications generally includes information management, e-
commerce, business process management etc. A large volume of information is
38
available to us which needs to be managed to get the potential information at right
time and the same can be achieved by using information gathering and information
filtering. For instance, electronic mail system. Email filtering using intelligent agent
reduces the burden of user. It is capable of learning the priorities; delete, forward, sort
and archive mail messages on behalf of user. The WARREN financial portfolio
management system [76] is a multi-agent system that integrates information finding
and filtering in the context of supporting a user manage his financial portfolio. Kasbah
[1] describes “Electronic marketplace” for e-commerce wherein buying and selling is
done by agents. MAGMA [100] proposed a virtual marketplace for electronic
commerce. Business process management project ADEPT [120] proposed agents,
where each agent represents a distinct role or department in the enterprise and is
capable of providing one or more services. The other applications in this area include
supply chain management [96], managing heterogeneous workflows [95] and mobile
agents for inter-organisational workflow management [94].
2.8.3.3 Entertainment Applications
Entertainment Applications such as computer games can be extremely
challenging. Such application needs to be semi-autonomous animate character, which
can naturally be implemented as agents. Highly successful creature game using agent
technology are developed by Grand and Cliff [148]. Wavish et al., [102] also describe
several applications of agent technology to computer games. Interactive theatre and
cinema is another application of entertainment, believable agents that play the part of
humans in theatre-style are used in these applications.
2.8.3.4 Medical Applications
Agents are also used in the area of medical applications like Patient monitory
and Healthcare etc. The guardian system is intended to help manage patient care in
the Surgical Intensive Care Unit (SICU). A prototypical agent-based distributed
medical care system is described in [64]. This system is designed to integrate the
patient management process, which typically involves many individuals.
39
Next section throws light on various taxonomies given by eminent researchers.
2.8.4 Intelligent Agent Taxonomies
Researchers have proposed number of contemporary taxonomies of agents and
criteria required for being an intelligent software agent.
Nwana [51] identifies three primary attributes namely autonomy, learning and
cooperation. Autonomy refers to the principal that agent can operate on its own
without the need for human guidance. For an agent to be referred to as an intelligent
agent, it must have learning abilities as they interact with their external environment.
The software agents need to possess social ability i.e. the ability to interact with other
agents and possibly humans via some communication languages. The author further
classifies these agents as collaborative agents, reactive agents, interface agents,
information agents, hybrid agents, mobile agents and ants.
Wooldridge and Jennings [101] distinguish agents to be weak agents and
strong agents. A weak agent is an autonomous, social, reactive and proactive. To be
reactive, agents must perceive their environment, and respond in time to changes that
occur. To be proactive, agents just don‟t simply respond to their environment but they
can also take the initiative and carry the task with goal-directed behavior. A strong
agent follows Belief-Desire-Intention (BDI) model [153, 3] and have human
characteristics such as trust and competence.
Jennings et. al [143] defines agents as a computer system in an environment
that can take autonomous actions to meet the objectives. According to the author, the
agent receives sensory input from its environment and its actions affect the
environment. The agent in such an environment is flexible enough to be responsive,
pro-active and social.
Magedanz et. al. [169] divides agents as local agents, networked agents and
mobile agents for single- agent systems, DAI-based agents and MultiAgent Systems
40
(MAS) respectively. Still there exist advisory agents acting as personal assistants in
email management, web browsing, searching etc.
Number of researchers has classified agents as task-specific and performative
agents such as search agents [101], navigation agents [41], information agents,
softbots [101, 126, 127], knowbots [65], infobots [29] and so on. Depending upon the
responsibilities to be carried out and aims to be achieved, agents with different
attributes are being designed.
Various taxonomies discussed above indicate that agents work in groups
resulting into multiagent systems.
2.8.5 Multi-Agent Systems
Multiagent Systems (MAS) [177] evolves as a result of sociological
relationships among agents. An individual agent can achieve a goal either by using its
own capabilities or by successfully exploiting the capabilities of other agents. MAS
are defined as community of agents arranged in a predefined manner in which at least
one agent referred to as Coordinator or Parent Agent must have an ascribed set of
goals and other agents in the system may adopt the goal. The goal adopting agents are
called as Sociological Agents as shown in figure 2.13.
Interface
Objects Components
Figure 2.13: An Active Document
41
Once an agent adopts the goal of goal originating agent, a relationship is
created between the two. If the goal cannot be achieved at this level it may again be
forwarded to different homogeneous or heterogeneous adjunct agents. More
precisely, MAS can be defined as a loosely coupled network of problem solvers that
work together to solve problems that are beyond the individual capabilities of
knowledge of each problem solver as shown in Figure 2.14. The significant reasons
for having MAS are:
1. Incomplete viewpoint of the world for each agent.
2. Lack of global system control.
3. Decentralization of data
4. Asynchronous computation.
2.8.5.1 Characteristics of MultiAgent Systems
A MAS inherits most of the advantages of distributed intelligence over
centralized, sequential processing, since it is:
Reliable- MAS is more fault-tolerant and robust.
Coordinator/
Parent Agent Coordination
Rules, Goal Set,
Knowledge Base
Sociological Agents
(Goal Adoption)
Adjunct
Agents
Adjunct
Agents
Adjunct
Agents
Figure 2.14: Multi Agent System
42
Scalable- Agents can be added or deleted without greatly disrupting the
system.
Adaptive- Agents can re-configure themselves to suit system changes such as
noise, resource allocation and faults.
Concurrent- Agents can reason and perform system tasks in parallel and
asynchronously, resulting in faster and flexible execution of tasks.
Dynamic – Agents can collaborate to form dynamic groups to solve specific
problems, pooling together resources and disband after the problems are
solved releasing resources to local usage.
2.8.5.2 Classification of Agents In MAS
The invasion of various agents in MAS caused a need to classify the agents
according to the behavior these pose in a particular agent-based system. According to
the behavior being posed locally or globally and using definitions from the literature,
it has been possible to classify the agents as Internal Agents, External Agents and
Mediator Agents [101] as shown in figure 2.16.
Reliable
Scalable Adaptive
Concurrent Dynamic
MAS
Figure 2.15: Features of MAS
43
(A) Internal Agents
Internal Agents are local to a particular architecture and are classified
according to the role being played within the environment i.e. how they behave inside
the system and with each other. Internal Agents can be
Cooperative Agents: Share some common goals.
Self-Interested Agents: Possess distinct goals.
Competitive Agents: Possess mutually exclusive goals.
Destructive Agents: Direct co-agents off beam.
Interface Agents: Take the raw input and ultimately deliver the output by
delegating the task to other agents. Interface agents model human managers
and learn from them how to manage networks.
Informative Agents: Store and forward information to co-agents.
Self
Interested
Task-Oriented
Destructive Cooperative Mobile Ants
Interface Informative
Mediator Agents EXTERNAL
AGENTS
AGENTS
INTERNAL
AGENTS
Figure 2.16: Classification of Agents in MAS
44
Task-Oriented Agents: Responsible to carry out the main goal. These are the
actual workers.
Reactive Agents: Senses the input from environment and reacts as directed.
Proactive Agents: Senses the input and if not directed, decides on its own to
achieve the probability of success.
(B) External Agents
External Agents are referred to as dynamic agents as these possess the ability
to change their residing locations. These agents move out of a system to perform a
task and these may or may not return to the originating node. Those external agents
that move out to different locations to gather the desired information to carry out a
task and then return to originating node are referred to as Mobile Agents [135].
Mobile agents spread intelligence across networks. The mobility allows them to be
created, deployed and terminated without disrupting the network configuration.
External agents that originate at one node keep on changing their locations and may
die on any other node shall be referred to as Ants [91]. Ants follow the principle of
“STIGMERGY”. Stigmergy is a form of indirect communication through an
environment. The insect ants when move in search of food stimulate a hormone
named as pheromones, which attracts other surrounding ants. The routing of an ant-
based agent is pheromone distribution dependent where pheromone distribution
depends upon the environment in which the agent‟s properties are utilized. Swarm
intelligence stems from the work of ants in which unintelligent Internal and External
agents possibly belonging to heterogeneous platforms work independently or with
relatively small amount of collaboration to achieve a greater goal that requires
intelligence.
Internal Agents initially try to achieve the goal on their own but if they are not
able to make it, then the assistance of external agents may be desired and for this kind
of interaction, an interface between internal agents and external agents is required.
45
Such an interface is accomplished through Mediator Agents (MA) that also makes
service requester and provider compatible.
Table 2.7 classifies agents according to types, characteristics and their use
attributes. These categories are not mutually dependent and different types of agents
can have different combination of these characteristics. Some agent applications can
use more than one type of agent.
Table 2.7 Classification of Agents
Types Characteristics Use
Interface Agents Autonomy Process Control
Cooperative/Domain Agents Co-operation Manufacturing
Intelligent Agents Learning Ability Air Traffic Control
Information Agents Flexibility Internet Agents
Pro-active Agents Resource Provider Electronic Commerce
Behavior Agents Social Business Process
Management
Collaborative Agents Mobility Medical
Learning Agents Beliefs, desires & Intentions Finger-Print Recognition
Hybrid Agents Emergent Behavior Biometric Analysis
Reactive Agents Co-ordination Authentication
Self-Interested Mutually Exclusive Search Agents
Destructive Agents Directs off beam Viruses
Task-Oriented Workers Personal Assistants
Mobile Agents Emergent Behavior Intrusion-Detection
Ants Pheromones/ Stigmergy Swarm Intelligence
46
Next section presents details about mobile agents which is the main focus of
this research work.
2.9 Mobile Agents
Traditionally in a client / server architecture client request the server for a
particular service and server respond back the client with the requested service. As
opposed to this traditional approach, mobile agent is a special kind of software that
propagates over the network either periodically or on demand (when required by the
application). It performs data processing autonomously while migrating. The use of
mobile agents leads to a new computing paradigm, which is in marked contrast to the
traditional client/server based computing. In contrast to fixed agents, who remain in a
single location throughout life time, mobile agents may be transported to network in
order to perform specific tasks. Although, there exist various architectures
implementing mobile agents but there are four major implementations i.e. SMART
architecture, D‟Agent Architecture, Grasshopper Architecture, Aglet Architecture that
have played a vital role in the development and hence implementing this paradigm in
different domains.
Wong et al. developed Scalable Mobile and Reliable Technology (SMART)
[182] architecture as shown in figure 2.17.
Agent Proxy
Place
Agent System
Region Manager
User API
Execution
Create Mobility
Destroy
Security
Naming
Locating
Figure 2.17: SMART Architecture [182]
47
It consists of four layers based on Java Virtual Machine (JVM). These layers
are region manager, agent system, execution places and agent proxy [104]. Lowest
layer region manager uses a finder module to provide naming services and also
provides services to the layer above. Second-lowest layer is known as agent system;
mobile agents can create, migrate and destroy themselves in this layer. The third layer
from the bottom forms the execution environment and contains one or more places,
which may exists for different execution contexts. Topmost layer is known as agent
proxy and provides mobile agent API for application written in SMART.
D‟Agents were developed by Gray et al. [49] and is formerly known as Agent
Tcl, supports distributed information retrieval and characterizes the mobile agent
performance space. This system has five levels consisting of TCP/IP, Server Layer,
C++ Libraries, Virtual Machines which support Java, Tcl Scheme and Agent Layer
[104]. The bottom level, TCP/IP is used to provide transport mechanisms. Second
layer known as server layer allows the implementation of mobile agents on all hosts.
The server is multi-threaded process and executes multiple agents as threads inside a
single process, while each agent is executed inside its own process. The next layer
holds shared libraries i.e. C++ and implements agent functionality. The fourth layer
provides execution environment for supported languages (Java, Tcl and Scheme). The
agents themselves are defined on the top layer. Figure 2.18 is a simplified depiction of
the D‟Agents‟ architecture.
Figure 2.18: D‟ Agent Architecture [49]
Agents
Virtual Machines
Class Libraries
Server Layer
Create Mobility
Destroy
Support Java,
Tcl, Scheme
Implement
agent
Functionalities Execute Java
Threats
Transport Mechanisms
48
Grasshopper Architecture developed by Pavolu G. 2000 supports development
and execution of mobile agents. The architecture consists of two layers i.e. distributed
agent environment and distributed processing environment. Distributed agent
environment typically includes an agency supporting different services like
MASIFFinder, MAFAgentSystem, execution, management, communication, security
and naming mechanisms. On the other hand distributed processing environment is
structured into regions, agencies and places. Extended functionality includes adapter
interfaces for external hardware/software, task control functions (e.g. itinerary), and
application-specific GUIs. Figure 2.19 is a simplified depiction of Grasshopper.
Aglet developed by Lange D.B. 1997 is one of the best known mobile agent
architectures. It consists of two layers where top layer (runtime layer) supports core
framework and subcomponents for aglet execution, class loading and transfer,
reference management and garbage collection, persistence management etc. The
bottom layer (communication layer) defines methods for creating, transferring,
managing agents in an agent system and protocol independent way. The
communication API is derived from the MASIF standard. The Aglets architecture
Figure 2.19: Grasshopper Architecture [Pavolu 2000]
Distributed Agent Environment
Agency
MASIF
Create Destroy
Suspend
Activate
Locating
Execution
Transport
Management
Communication
Security
Naming
APIs GUIs task
Control
Communication Channel
Enhanced Services
Basic Services
Core Services
Distributed
Processing
Environment
49
uses the Agent Transfer Protocol (ATP), modelled on the HTTP protocol as the
default implementation of the communication layer as shown in figure 2.20.
2.10 Standardization efforts: The FIPA Standard
The Foundation for Intelligent Physical Agents (FIPA) [130] is a non-profit
standards organization established in 1996. These standards describe the basic
services, life cycle of an agent and agent communication language. This standard
intended to promote the interoperation of homogeneous or heterogeneous agents and
the services they represent. The aim of the standard is to bring commercial world a
step closer to true software components. The advantages of the standard are to provide
ease of upgrade and increased in reuse of software.
FIPA supports the interoperability of agents deployed on heterogeneous agent
frameworks [150]. FIPA is particularly used in the area of wireless network and
service providers to extend its approach to support mobile agents.
FIPA 97 (version 2.0) consists of two core components, where first component
defines the agent platform or agent reference model and second component specifies
the agent communication language. FIPA platforms define a standard protocol based
on speech acts and several standard ontologies. FIPA management ontology includes
registering, querying and deregistering services and various domain-specific ones;
Figure 2.20: Aglet Architecture [Lange D.B. 1997]
Create Destroy
Tracking
Transfer
Management
Serialiasation
Deserialiasation
Mobility
Naming
Locating
Persistence
Management
Security Communication Layer
Runtime Layer
50
there is no mandatory specific service encoding. Figure 2.21 explains the agent
reference model.
As explained in the figure 2.21 specific capability sets for agents are Agent
Management System (AMS), Directory Facilitator (DF) and Agent Communication
Channel (ACC) to support agent management. The AMS and ACC support the intra
agent communication and DF provides the „yellow pages‟ services to other agents.
The ACC also supports interoperability. The Internal Platform Message Transport
(IPMT) provides a message routing service for agents on a particular platform, which
must be reliable and orderly. Finally Agent Platform can be a combination of
mandatory, normative components of ACC, AMS, IPMT and DF. Depending upon
the developer requirement a single agent can also play the role of ACC, AMS and DF
or three different agents can do these specific tasks.
FIPA agent standards can be designed using FIPA-OS. The reference model
already explained defines the core components of FIPA-OS distribution. FIPA-OS
Figure 2.21: The FIPA 97 agent reference model [150]
Software
Agent FIPA Agent Platform
Agent
Management
System
Directory
Facilitator
Agent
Comms.
Channel
Internal Platform Message Transport
IIOP
IIOP
HTTP etc
ACL
51
includes implementations of the core components of the FIPA 97 reference model. In
addition, the FIPA-OS distribution includes [150]:
Shells for producing agents and communication between them.
Message and conversation management.
IPTMs supporting dynamic platform configuration.
Multi-layered support for agent communication.
Abstract interfaces and software design patterns.
The FIPA-OS architecture can be envisaged as a non-strict layered model,
supported by an underlying component model (figure 2.22). In a non-strict layered
model, entities in nonadjacent layers can access each other directly. The developer is
able to extend the architecture not only by appending value-added layers, such as
specialist service agents or facilitator agents, but in addition, lower or mid-layers can
be replaced, modified or deleted.
Figure 2.22: FIPA Component Model
Service and User Agents
FIPA Agent Platform DF AMS
IPTM ACL
FIPA - OS ACL parser
Conversation managers
Content parser
Ontologies
Visualisation
Configuration
Agent shells
Persistence
Diagnostics
Transport protocols Profiles
52
2.11 Agent Frameworks
According to the technical report by Nguyen & Dang [42] there are over 100
products in this category. This section will focus on elaborating most appealing &
promising three toolkits among the available choices. Each framework offers a unique
set of additional features such as standards compliance, mobility, interoperability,
knowledge-based ontologies, graphical interfaces etc.
2.11.1 Java Agent Development framework (JADE)
The Multi Agent architecture is designed and simulated using open source
Java Agent DEvelopment Framework (JADE) [39]. Each JADE program is FIPA-
compliant and must have three FIPA-mandatory subsystems: the AMS (Agent
Management System), the DF (Directory Facilitator), and the ACC (Agent
Communication Channel).
JADE programmers provide the high-level knowledge required for effective
parallel execution of a JADE program [105]. The programmer must specify three
things:
1. Decomposition of the data into the atomic units that the program will access
2. Decomposition of a sequential program into tasks, and
3. Description of how each task will access data when it runs.
JADE is based on shared objects, tasks, and access specifications [106].
(A) Shared Objects
In JADE all parts of the computation access single mutable memory for
abstraction. Every piece of data stored in this memory is called a shared object. The
programmer therefore implicitly aggregates the individual words of memory into
larger granularity objects by allocating data at a certain granularity. No piece of
memory can be part of more than one object.
53
(B) Tasks
JADE programmers divide each serial computation into blocks of code. These
blocks generate task when they in execution state. Programmers can create
hierarchically structured tasks by decomposing their computation into child class. In
many parallel programming languages tasking constructs explicitly generate parallel
computation. Because JADE is an implicitly parallel language with serial semantics,
JADE programmers ostensibly use tasks only to specify the granularity of the parallel
computation. The JADE implementation, then decides which tasks execute
concurrently.
(C) Access Specifications
In JADE, each task has an access specification that declares how it (and its
child tasks) will read and write individual shared objects. Programmer provides an
initial access specification for each task when that task is created. As the task runs, the
programmer may dynamically update its access specification to more precisely reflect
how the remainder of the task accesses shared objects.
(D) Parallel and Serial Execution
The JADE implementation can analyze which tasks can execute concurrently.
This analysis takes place at the granularity of individual shared objects. The
concurrency pattern can be determined by the dynamic data dependence. If one task is
ready to write an object and another will access the same object, there is dynamic data
dependence between the two tasks, and they must execute sequentially. The task that
would execute first in the serial execution of the program executes first in all parallel
executions. If there is no dynamic data dependence between two tasks, they can
execute concurrently.
54
(E) Execution Model
When a task runs, it executes its serial computation. It may also decompose its
computation into a set of sub-computations by serially creating child tasks to run each
sub-computation. When a task is created, the implementation executes a programmer-
provided piece of code that generates its access specification. As the program runs,
the implementation analyzes tasks' access specifications to determine when they can
legally execute.
2.11.1.1 Working with JADE
Three major components are used to facilitate the development of multi-agent
system.
1. Runtime environment where JADE agents can “live” and that must be active
on a given host before one or more agents can be executed on that host.
2. Library of classes that programmers have to/can use (directly or by
specializing them) to develop their agents.
3. Graphical tools that allows administrating and monitoring the activity of
running agents.
In JADE, runtime environment container is an instance of JADE. An active
containers form a Platform and a special container known as Main container must
always be active in a single platform and other containers will register with main
container as soon as they start. Each JADE agent runs as a single thread within an
agent container, and collections of containers run within a single JVM platform as
shown in figure 2.23. The distributed nature of JADE allows multiple JADE Agents
and other FIPA-compliant agent platforms to communicate via the Internet Inter-ORB
Protocol (IIOP). IIOP is a message transport protocol, allowing objects to be sent
across networks in a platform independent manner. An agent communication channel,
which is physically distributed across all JADE platforms, provides agents with a
transparent mechanism for converting incoming ACL messages from an external
55
platform into the ACLMessage format used internally in each JADE platform and
vica versa. Between containers, Java‟s Remote Method Invocation technology
operates as the transport mechanism and agents in the same container will
communicate directly with each other. When an agent communicates with another
agent, the JADE framework will select the most efficient communications method and
therefore appears transparent to the agent and the agent‟s programmer. Tests of the
JADE communications model have shown linear scalability, which mimics that of
RMI when agents are distributed across a network (Vitaglione,Quarta and Cortese
(2002)). The latest version of JADE conforms to the FIPA2000 specification and
currently has many international companies, projects and universities using the
framework
Each container has a dedicated directory facilitator that acts as yellow pages,
providing the other agents in the container with a means to look up agents based on
the services they offer. The JADE platform also contains a front-end container with a
graphical user interface agent that allows users to interact with the platform and
provide a mechanism for controlling each agent. The interface provides methods for
starting, suspending and stopping agents as well as debugging features such as
Agent
Management
System
Directory
facilitator
Agent
Communication
channel
Internal Platform Management
Agent Containers Primary Agent Container
Figure 2.23: Java Agent Development Environment
56
activating a sniffer to intercept communication packets, and sending custom messages
to agents.
2.11.2 IBM-Aglet or Aglet Software Development Kit (ASDK)
ASDK or IBM-Aglet [30, 132] is an environment for developing mobile
agents based application in JAVA. It is an open source freely available toolkit, with
latest version Aglet 2.5 alpha. It provides good graphical user interface for agent
development. It mainly comprises of two packages-The Aglet Building Environment
(ABE) and the Aglet Workbench. Aglet workbench aims at developing stand alone
mobile agents. The ABE (SDK) comprises of Aglet API, the Aglet Server known as
Tahiti and the Agent Web Launcher called Fiji along with documentation and sample
Aglets. Aglets are basically java objects comprising of two major components i.e.
Aglet Core & Aglet Proxy. Core is holder of all the internal variables and methods of
an agent whereas proxy acts as an interface to the core, shielding it from any
malicious interference from the outside world.
Aglet server Tahiti is an application program that works as agent server for
aglets. It provides users with a good GUI and allows users to create & dispatch an
agent, monitor it, dispose it off when required. It gives user the ability to set agent‟s
access privileges on the server. For an aglet to move to a remote host, it must have
Tahiti server installed on it, which solves some of the security problems. Fiji is an
applet in Java which can create Aglets or retract an existing aglet into client‟s web
browser. This applet accepts an agent‟s URL as parameter and can be embedded in a
web page using HTML, like any other applet. Aglets support both agent mobility as
well as predefined movement of the agent on the network also called as Itinerary.
Although aglet provides weak agent mobility but that too is restricted to its own
servers. Aglet works on Mobile Agent System Interoperability Facility (MASIF).
Agent migration is implemented using socket mechanism. Communication among
agents is achieved using synchronous and asynchronous message passing. Agent
Transfer Protocol (ATP) along with Java Agent Transfer and Communication
57
Interface (J-ATCI) also help achieve the same. Although Aglet platform has wide user
acceptance but it doesn‟t provide much security. Its security is knitted in the concept
of restricting transfer of aglets only to its own servers. Due to lack of security, state of
aglets can‟t be stored on any other host. No such method is provided by this tool.
Scalability is another problem, since aglets are not interoperable with other platforms
or their agents, due to their restriction of working with their own server. Figure 2.24
given below illustrates the structure of an aglet.
2.11.3 Voyager
Voyager [30] is an agent development tool developed by ObjectSpace, in mid-
1996. ObjectSpace has been taken over by Recursion Software Inc. since 2001 and
it‟s now their commercial product. Latest version available is Voyager 8.0. It‟s a
simple yet powerful technology for creating mobile agents in Java. It was an
improvement over already existing platforms like Aglets, Odyssey, Concordia etc.
which only allowed developers to create agents and launch them into a network to
fulfill its mission. But none allowed sending messages to a moving agent, which made
it difficult to communicate with an agent once it has been launched and also for
agents to communicate with other agents.
Voyager seamlessly integrated fundamental distributed computing with agent
technology. It treats an agent like a special kind of object which can move
independently and can continue its execution while moving around. The agents and
Figure 2.24: Structure of an Aglet [132]
Itinerary Identifier Aglet Core
Aglet Proxy
58
objects are different only because an agent can move autonomously whereas an object
can‟t. It allows an agent to send and receive Java messages to and from other agent,
even while traversing the network, irrespective of its position in the network. It
supports synchronous, one-way and future message modes. Whenever an agent
moves, it leaves behind a forwarder object which forwards the message to its new
location.
Voyager provides flexible life spans for agents, by supporting a variety of life
span methods:
An agent can live until it has none local or remote references (default life span
of an agent).
Agent can live for a certain amount of time (by default for a single day).
It can live for a particular point in time.
It can live until it remains inactive for a specified time.
An agent can live forever.
Moreover, an agent‟s life span can be changed flexibly as required. Another
attractive feature of this tool is its support for directory service, which is particularly
important in launching a mobile agent from one application to another and for
locating an agent after it moves to some other location in the network. Its directory
structure allows creating and connecting network directories together to generate a
large interlinked directory structure.
Voyager supports weak mobility of agents using RMI technique. It allows all
serializable objects to be mobile using Virtual Code Compiler (VCC) [30]. VCC
utility accepts any .class or .java file and produces a new remote enabled virtual class.
This virtual class is used in further communications with that agent/object. Agents use
moveTo() function and a callback function for migrating to a remote host. On
reaching new host, the agent retrieves the callback function that it sent and resumes its
execution.
59
Voyager has an associated server called „voyager‟ but it‟s not necessary to
have such server installed on all nodes in the network. Due to this reason agents
created using voyager are provided restricted access on the host servers. Thus,
provision of agent and host security is weak in this tool.
2.12 Conclusions
The chapter provided the motivation behind the research work being carried
out in this thesis. The chapter elaborated on various generations of mobile networks
and also the fundamental protocols. The work was initiated with the idea of injecting
intelligent mobile agents in 4G and hence the details about agents & their properties
had been presented. Various platforms that are in operation have been explored and it
was discovered that JADE is the most suitable platform to be implemented in mobile
network.
Next chapter presents the literature survey by exploring the contribution of
eminent researchers and the drawbacks of fundamentals protocols deployed in mobile
networks and also it aims to highlight the role of mobile agents in telecommunication.