Mobile-Agent-Based Dynamic Channel Ailocation
with Waiting Queue
Zhang Yan-Mei
School of Computer Science
McGiil University, Montreal
January, 1999
A Thesis submitted to
the FacuIty of Graduate Studies and Research
in partial fulfillment of the cequirements for the degree of
Master of Science
QZhang Yan-Mei. 1999
"I uWbs and Acquisitions et 6b bgraphic Setvices s e n b s bibliognphiques
The author bas granteci a non- exciusive licence allowing the National Library of Canada to reproduce, loan, distn'bute or sel copies of tbis thesis in microform, paper or electronic formats.
The author retains ownership of the copy@ht in this thesis. Neither the thesis nor substantial extracts fiom it may be printed or othawise reproâuced without the author's pmnission.
L'auteur a accordé une iicence non exclusive permettant ii la Bibliothèque nationale du Canada de reproduire, prêter, disûi'buer ou vendre des copies de cette thèse sous la forme de microfiche/fihn, de reproduction sur papier ou sur format électronique.
L'auteur conserve la propridté du droit d'auteur qui protège cette thèse. Ni la thèse ni des extraits substantiels de celle-ci ne doivent être imprimés ou autrement reproduits sans son autorisation.
Abstract
The explosive growth of the wireless usea requires eficient channel utilization. In this
thesis, we present a new channel allocation strategy with waiting queue model instead
of the block-and-clear model so that the quality of service in celIufar network can be
improved.
From a computational and network nsource viewpoint, our model is based on the
Mobile Agent P d i g m that has mat advantages on reducing network traffic and
dynamic adaptation. We also show the possibility to implement our aigorithm on the
Grasshopper mobiie agent environment. which is cornpliant to the MASIF standard.
in order to evaluate the performance of our proposed model, a simulator is written in
lava, which shows that Our algonthm gives the lowest average blocking probability
under different mc load comparing with LP Scheme, Fit Available DCA Scheme
and Simple FCA Scheme. Specificaliy, our algonthm has a uemendous capability of
deviating congestion in the hot spots of a cellular system.
Our cesearch has been done within the group on "Advanced Shidies on Mobile
Environments" (ASME) as a part of the Consortium MIAMI (Mobile Intelligent Agents
for Managing the idormation infkastructuf~).
Key Words: moWc agent, côannel allocation, alliilu systnn
La croissance explosive des utilisateurs sans fil exige lbtilisation efficace de canal.
Dans ce memoire, nous présentons une nouvelle stratbgie d'allocation des canaux avec
le modèle de file d'attente au lieu du modèle block-and-clear de sorte que la qualité du
service dans le réseau cellulaire puisse être améliorée.
Du point de vue de calcul et ressource de réseau, notre modtle est basé sur le
Paradigme d'Agent Mobile qui a de grands avantages pour la rtduction du de
réseau et l'adaptation dynamique. Nous montrons également la possibilité d'application
de notre algorithme daas l'environnement d'agent mobile de Grasshopper qui est
conforme à la proposition de MASIF, en vue de devenir la norme.
Afin d'évaiuer I'exécution de notre modele proposé, un simulateur est écrit en Java, ce
qui prouve que notre algorithme donne la plus basse probabilité de blocage moyenne
sous des contraintes de traffic varié, rivaiisant avec LP Scheme, First Available DCA
Scheme et Simple FCA Scheme. Spécifiquement, notre algorithme a une capacit6 plus
grande d'aliéger l'encombrement dans les points achdaades d'un système cellulaire.
Notre recherche a Cté faite chez le groupe sur "Advanced Stdies on Mobile
Envirunments" (ASME) comme partie du consonium MIAMI (Mobile Intelligent
Agents for Managing the Infornation Infrastructure).
Mots Clés: mobiie d'agent, d'aüocation de canai, système cellulaire
Acknowledgements
I would foremost like to thank my Research Director, Dr. Pem Dini, for his direction
and guidance, and for showing me the pleasure one can get out of research. This
collaboration was for me a true enrichment.
I would aiso like to achowledge my co-supervisor Prof. Gerald Ratzer for his
understanding and helpN advice during my research period.
I would like to express my gratitude to the Computer Research Institute of Montreal
(CRIM) for its financial support and providing me with the facilities, which 1 needed to
carry out this nseûrch.
As 1 look back to remember the people 1 want to thank on a more personal level,
particularly, enthusiastic thanks must be given to my friends Bonnie Wu, Linda Gu,
Xiao-Bo Fan and Jane Fu for their fiiendship. Sincen thanks must aiso k given to the
secntaries in school of Cornputer Science of McGU University , especially to Ms.
Franca Cianci for her kind help and consideration.
Special th& go to my parents and three older sisters and bmther for their constant
Uisistence that 1 could accompiish anything that I set out to do. Their support sustained
me throughout my 2 1 years study iife, and 1 own more to hem than 1 cm repay.
Most of all, my husband Song Hu deserves much of the credit for king there for me al1
the time when 1 aeed bim, taking mat patience to listen to me and explain things 1
never understood 1 couldnt finish this thesis without a lot of support and
encouragement h m him.
Contents
Int d u c f ~ ~ ~ o m m m o m m m m m o m m m m o m m m m m m o m m o m o m m m o m m m m m o o m m m m m o o m m m m o m m m m m m m o m m m o m o o * 1
1.1 Structure of Cellular Communication System ................................................. 1
1.2 Motivation for Channel Allocation ..........................~...............~.~........................... 2
1.3 Objectives and Scope of the Thesis .................................................................. 3
Channel Allocation S~he~mmmmmmmmmmmmmoo.mmmmmommoommmmmmmmmmo.ooo.mmommmomooomoomooooommmmomoomooooommmmom 5
2.1 Channel Division Techniques ................. .. ......................................................... 5
2.2 Fixed Channel Allocation ...................................................................................... 6
2.2.1 Simple FCA Scheme ................... .. .............................................................. 6 2.2.2 Non-unifonn Compact Pattern Allocation .................................................... 6
2.2.3 Static Borrowing Schemes ............................................................................. 7
2.2.4 Channel Borrowing Schemes ........................................................................ 7
2.3 Dynamic Channel Allocation ................................................................................. 9
.......................................................................... 2.3.1 Centralized DCA Schemes 10 . . .
2.3.2 Distrrbuted DCA Schemes ........................o....g.................................... II
Mobk Agent T e ~ h l ~ m m ~ . m ~ m m m m w w m m m ~ ~ ~ w m o - ~ o ~ o o - o * o o o o m o o m o o o * - m o m o o m m o m ~ . ~ m m o m 13
3.1 Basic Concept ...................................................................................................... 13
3.1.1 Agent .................... ... .....~..................................................................... 1 3
RI2 Statio)~~ty Agent a d Mobite Agent ............................................................ 14
........................................................................................... 3.1.3 Agent System 14
3.1.4 Place .................. .. ............................................................................... 27
3.1.5 Region .................................. ....................................................................... 17
3.2 Mobile Agent Architecture .................................................................................. 17
3.2.1 Why Use an Agent Architecture .............................................................. 17
3.2.2 Structure of an Mobile Agent ................................................................... 19
3.2.3 Mobile Agent Environment ................................................................. .....21
3.3 Advantages of the Mobile Agent Paradip ........... ... .................................... 22
MobiIe-Agent-Bd D y d c Channel AUoc~tion Algorithm m ~ m w w m . ~ . ~ m ~ . m m m m m m ~ m m a * a a W
4.1 Motivation ................... ... ..................................................................................... 24
4.2 Main Idea of LP Algorithm ................................................................................. 26
........................ 4.2.1 Channel Assignment Procedure Based on LP Algo Bthm ... 27
............................... 4.2.2 Channel Release Procedure Based on LP Algorithm 28
4.3 Design of Our Algorithm ................................................................................... 30
............................................................... 4.3.1 Channel Assigrnent Procedure -31
4.3.2 Channel Release Procedure ....................................................................... 33
MASIF and G ~ h ~ p ~ ~ r ~ ~ . ~ ~ ~ ~ ~ ~ ~ ~ . ~ ~ ~ ~ ~ ~ ~ . ~ ~ m ~ ~ ~ m ~ m ~ m ~ ~ ~ ~ m ~ ~ m ~ ~ a m m m m m m m m m a m m m m m a m m m m m a a 37
5.1 MASIF .......................................................................................................... 3 7
5.1.1 Background .......................................... ..................... ................... 37
.......................... 5.1.2 Advantages Using Java in Mobile Agent ImpIementation 38
5.1.3 CûRBA Services .......................................................................................... 40
5J.4 MAF Module ......................................*. ......................... ....................... 42
5.1 4.1 MAFAgeniSystem Interface .......... ..................................... .................... 42
. *.....................*.................*...........................*...**..*...* 5 1 .4.2 MAFFinder Interface 42
......................................................................................................... 5.2 Grasshopper 43
5.2.1 Grasshopper Agent Environnient .........................~...................+.................. 43
5.2.2 Basic Components of Grosslopper Environment ....................................... 44
5.2.2.1 Agency ....................................................................................................... 44
5.2.2.2 Region Registry .......-..-....... ... .....................................
............................................................... 5.2.2.3 MASIF - Cornpliant Interfaces 47
5.2.5.4 Grasshopper - Specific Interfaces ............................................................ 48
5.2.3 Agent Progrurnming Guide On G r d o p p e r ................... ... ....... . . . 4 8
... 5.2.3.1 Agent Meth& ................... ., ............. .,, 48
5.2.3.2 Inter-Agent Communication ................................. .. Implemntation and P e r l o r m i n ~ - ~ - - m ~ ~ ~ H ~ ~ ~ m m m ~ ~ m m ~ ~ . ~ m ~ . m m ~ ~ - ~ ~ ~ - - - ~ - . m ~ - ~ m 51
6.1 ïmplementation of Our Aigorithm on Grasshopper ......... .. .............................. 51
6.1.1 BaseAgent Class .......................................................................................... 53
6.1.4 FinisMgent Class .................................................................................... 65
6.2 Performance of Our Algorithm ...................................... .. ................................ 67
6.2.1 Simulation ................................................................................................... 67
6.2.2 U n i f o n Tra@ ................ .......... .................................................... 6 9
............................................... 6.2.2.1 Performance under Different Traffic Load 69
........................... .............. 6.2.2.2 Performance under Different Waiting Time ,.,, 70
6.2.2.3 Performance under Different Average Duration Time ............................Ji
6.2.3 Trafic Hot Spots ................... ... ........................................................... 73
Conc~usion eoomeeeeemoemeeeoeeeemeemeeeooommmemmmooaemeae~meeememeee~ememmee~eeeemeeeeememememmmme~ameemeoeee~emeeeoeeeee 77
7.1 Contribution ......................................................................................................... 77
7.2 Future Work ......................................................................................................... 78
Appendix B Sm= C a d ~ ~ ~ ~ ~ ~ o m m ~ m ~ m ~ m e e m e e e e e e m e m e o o . e w e e o ~ m m m e e e e m m . e m e o o e e e e e e 82
................ 1 . Simple FCA Scheme .........................+....................................... 82
................................................................................ 2 . Fïrst Available DCA Scheme 85
............... 3 . Local Packing Scheme .................o...C....................................C....... 88
............................................................................................ 4 . Our Roposed Scheme 91
List of Figures Figure 1.1 Structure of Cellular Communication ........................................................... 2
Figure 3.1 Agent System ....................................... ...... ......................................... 15
Figure 3.2 Agent System to Agent System Interconneciion ................................... 16
.... .... Figure 3.3 Region io Region Interconnection .. ....... ................................... 18
Figure 3.4 Simple View of the Structure of a Mobile Agent ............................ .... ....... 20
Figure 4.1 The Aügmented Channel Occupancy Table ................... .... ........... 2 7
Figure 4.2 Chanml Assignment Procedure Based on LP Algorithm ........................... 28
Figure 4.3 Channel Release Rocedure Based on LP Algorithm .................................. 29
..................................... Figure 4.4 Structure of Mobile-Agent-Based Cellular S ystem 31
Figure 4.5 Chmel Assignment Procedue ............................. ............ ................... 3 2
Figure 4.6 Channel Release Procedure .................... ....... ............................. 3 4
Figure 5.1 CORBA Services and Facilities .................................... .............................. 41
Figure 5.2 Grasshopper Envuonment .................................................................. 4 4
................... Figue 5.3 The Usage of Proxy Objects for Dynamic Meihod Invocation 50
................. Figure 6.1 Diagram of Our Agent Classes Rehtionship in UML, ........ 52
...................................... Figure 6.2 The Simulated 144-Ceil Cellular Network Layout 68
Figure 6.3 Blocking Cornparison: Unifom T r a c ................... ... ......................... 70
Figure 6.4 Blocking Cornparison with Different Waiting Time ...........................+....... 71
Figwe 6.5 Effcct of Average Duration Tirne: Unifonn Trafic. ........... ......... . 72
Figure 6.6 Effect of Average Duation Time: DEerent Waiting Time ........................ 72
Figure 6.7 Trafnc Hot Spots: Giant Stadi ~ ~ l l ............................................................. 73 Figure 6.8 Trafic Hot Spots: Diagonal Highway ......... ............. ...........O...................... 74 Figure 6 9 Tdfic Hot Spots: City Beltway .................................................................. 74
....................... Figure 6.10 Blocking Probabüity for Tfic Hot Spot: Giant S tadium 75
Figure 6.1 1 Blocking Probability for Traffic Hot Spot: Diagonai Highway ................ 75
Figure 6.12 Blocking Robability for Tmc Hot Spot: City Beltway .............. ............ 75
viii
Chapter I Introduction I
Chapter 1
Introduction
Technological advances and rapid development of handheld wirpless terminais have
facilitated the rapid growth of wireless communications and mobile computing.
Cellular techwlogy is undoubtedly one of the most exciting and significant
technological developments of the late 2 0 ~ century. The number of cellular subscribea
world-wide has grown from zero to 40 million in about twelve years and a recent
forecast estimated that there would be 16û-200 million cellular subscnbers in over 120
countries by the year 2000 [URLI]. Already 40 per cent of new lines king installed in
developing countries are using cellular technology. Since 1992 growth in the
telecommunications industry was corne only from the cellular market, with the number
of new subscribers to the fixed PSTN (Public Switched Telephone Network) nmaining
static [URLl].
1.1 Structure of Cellular Communication System
A cellular communication system consists of mobile units linked via a radio network to
an ianasuucnirr of switcbing equipment interconnecting the diffecent parts of the
system, and ailowing access to the normal (fixed) PSTN. Numerous transceivea cailed
Base Stations (BS) are located at stmtegic places. and cover a given m a or ceii. A
number of cells grouped together form an "area" and aU its BS are in contact with a
Mobile Switching Center (MSC) which stores information and dincts calis to mobiles
within its area The MSCs of each area can c o d c a t e with each other, with a
Chapter I Introduction 2
special Gateway MSC that allows access to other cellular networks (e.g. the GSM
system) or to the PSTN. This hienuchical structure can be seen in Figw 1.1.
- PSTN
Figure 1.1 Structure of Cellular Communication
Motivation for Channel Allocation
A findamentai problem in wirelesslmobile communication is that the electromagnetic
spectnim is a scarce shared resotuce, and needs to k managed efficiently to provide an
acceptable quality of service to communication-intensive applications. Federal
Communications Commission (FCC) has allotted channels on the 824-849 MHz bands
for transmission fiom mobiles and on 869-894 MHz for transmission h m base station.
The channel spacing is 30 IMz. This fkquency band cm accommodate 832 duplex
channels. Among them. 21 channels are reserved for cail setup, and the rest are used
for voice communications @bhg89]. A duplex channel is also refemd to as a full-
duplex channeII It is used when data is to be exchanged between the two coanected
devices in both directions simuitaneously, for example, if for throughput reasons data
can flow in each dkection independentiy Pred961.
Chapter I Introduction 3
To satism the large demand of mobile telephone service. cesearchers at Bell Labs
presented the ingenious idea offiquency re-use [URLg]. Each ceil in the network uses
only a given subset of ail available charnels. which are different fmm those used by
adjacent cells. This ensures that interfennce does not occui between these celis. By
resuicüng the power of transmission. signals will not travel too far outside each ce11
(due to the inverse square law) m g ] . The same fnquencies can then be re-used by
cells that are sufficiently f a away. All such sets that use the same channel are refened
to as CO-channel sets. or simply CO-channels. The minimum distance at which co-
channels cm be reused with acceptable interference is called the "CO-channel reuse
distance" [Katzela96].
The tremendous growth of the wireless/mobile user population coupled with the
bandwidth requirement demands efficient reuse of the scarce radio specuum dlocated
to winlesslmobile communications. How the channels are to be assigned for
simultaneous use in different celis directly aFfects the throughput of such sysiems.
Efficient use of radio specuum is aiso important from a costsf-service point of view
[Kaizeia96]. A reduction in the number of base stations and hence, a reduction in the
cost-of-service cm be achieved by more efficient nuse of the radio spectrum.
Up to now many channel allocation strategies have been suggested. We wiil proceed to
briefly cüscuss different channel allocation algorithms in Chapter 2.
1.3 Objectives and Scope of the Thesis
The main purpose of this thesis is to design and implement efficient methods aud
algorithms in channel allocation. In our thesis. we present a new strategy in channel
allocation schemes. Instead of changing hardware connections between base stations
and MSC. we place the blodred caiis in a waiting queue for a limited amount of tim so
that to decrease the blocking probabilities of the cellular system. And we use Mobile
Agent approach to make dynamic decision and do the computation in the remote
Chapter 1 Introduction 4
destination in order to reduce the network naffc and improve the efficiency of resource
allocation.
The rest of the thesis includes the following: Chapter 2 reviews the existed channel
allocation schemes. Chapter 3 introduces the basic concept and architecture of Mobile
Agent. lists the advantages of using Mobile Agent in network and communication. In
Chapter 4, we present our new channel allocation algorithm and show how to use
Mobile Agent to manage efficientiy the resource in cellular communication network.
Chapter 5 gives a brief introduction to Mobile Agent Systern interoperability Facilities
Specification (MASIF), and the platform Grasshopper used in our impiementation that
is cornpliant to MASIF standard. The implementation details and the obtained results
are described in Chapter 6. Fiaily, we give a bnef summary of our study and make
recommendation for fiirther work in the 1 s t chapter.
Chapter 2 Channel Allocation Schemes 5
Chapter 2
Channel Allocation Schemes
A given radio spectnun (or bandwidth) can be divided into a
interfering radio channels. Al1 such channels cm k used
set of disjoint or non-
simultaneously, while
maintaining an acceptable nceived radio signal.
2.1 Channel Division Techniques
In order to divide a given radio specmirn into such channels, the following techniques
can be used [Fred96]:
Frequency division (FD): divide the spectmm into disjoint fkquency bands.
Time division ('Ml): divide the usage of the channel into disjoint time periods that
calied time dots.
Code division (CD): use diaennt modulation codes to achieve the channel separation.
Furthemiore. mon elaborate techniques cm be designed to divide a radio spectrum into
a set of disjoint channels based on the combination of the above techniques.
Channel allocation schemes can be divided into a number of different categories
dependhg on the cornparison basis. When ctiannei assignment dgorithms are
compared based on the manau in which cochaanels are separated, they can be divided
into F k d Channel Allocation (FCA). Dynamic Chunne1 All0c:ation (DCA), and
Hybrid Channel Allucun'on (HCA).
Chapter 2 Channel Allocation Schemes 6
2.2 Fixed Channel Allocation
In Fined Channel ~llocation (FCA) schemes. the m a is partitioned into a number of
cells, and a aumber of ~hmuds is assigned to each celi according to some reused
pattern depending on the desired signal quality [Katzela961. A defmite rrlationship is
asswned between each channei and each cell in accordance to CO-charinel reuse
constraints.
2.2.1 Simple FCA Scheme
In the Simple FCA Strategy, the same number of nominal channels is allocated to each
cell. Noininal channels are a set of channels. which an assigned to a given cell. This
uniform channel distribution is efficient if the traffc distribution of the system is also
uniform. in that case, the overail average blocking probability of the mobile system is
the same as the cal1 blocking probability in a cell. Since traffic in cellular systems can
be non-unifonn with temporal and spatial fluctuations, a uniform allocation of channels
to cells may result in high blocking in some cells while othen might have a sizeable
number of spare channels. This could nsult in poor channel utilization [Katzela96].
Therefore, many Non-unifom Channel Allocation Algorithm. which are variations of
FCA strategy. are adopted so that heaviiy loaded cells are assigned more channels than
lightly loaded ones.
2.2.2 Non-uniform Compact Pattern Allocation
Non-uni$iom Conpcct Pattm Allocation is proposed by allocating channels to cells
according to the traffic distribution in each of them mg9l]. Thus. heavily loaded
ceus are assigned more channels than lightly loaded ones. The algorithm atrcmpts to
minimize the average blocking probability as nominai channels are docated one at a
tirne.
Chapter 2 Channel Allocation Schemes 7
Let the= be N cells and M channels in the system. T'he allocation of a channel to the set
of co-channel ceiis forms a pattern that is refemd to as the Allocation Pattern. in
addition, the Compact Allocation Pattern of a channel is defmed as the pattern with
minimum average distance between cells. Given the -c loads in each of the N cells
and the possible compact pattern allocations for the M channels. the Non-unifonn
Compact Pattern Allocation algorithm attempts io tind the compatibie compact
patterns that minimize the average blocking probability in the en tk system as nominal
channels are assigned one at the time.
2.2.3 Static Borrowing Schemes
Static Borrowing Schernes proposed in Fwis731 re-assigns unused channels from
lightly loaded cells to heavily loaded ones at distance less than the minimum reuse
distance. Although in Static Bowowing Schemes channels are permanently assigned CO
cells. the number of nominal channels assigned in each celi may be reassigmd
periodically according to spatial inequities in the load. This can k done in a scheduled
or predictive manner, with changes in tmc known in advance in the former, or based
on measurements in the Iater.
2.2.4 Channel Bonowing Schemee
in Channel Borrowing Schemes, an acceptor ce11 that bas used al1 its nominal channels
can bomw f i e channels from its neighbonng cells to accommodate new calls. A
channel cm be borrowed by a cell, if the borrowed channel does not interfere with
existing calls.
When a channel is bonowed, severai other ceils are prohibited fiom using it. This is
called channel locking. In contrast to Static Borrowing Schemes, Chnnel Borrowing
Schemes deal with short term allocation of b w e d channels to ceils, and once a cal1
is cwipieted, the borrowed channel is retumed to its nominal ceil. According to the
different ways a fke channel selected from a donor celi, many channe1 bomwiag
Chapter 2 Channel Allocation Schemes 8
strategies have been proposed wwis73]wg89]. Nomally. the Channel Borrowing
Schemes can be divided into simple and hybnd.
Simple Channel Bomwing Stratesy
In the Simple Channel Borrowing Schentes mge173). a channel set is nominally
assigned to each cell. When a call Mves in a cell, a nominal channel is assigned to
serve the c d . If al1 nominal channels are busy, a nominal channel of the neighboring
cells is bonowed to serve the call if that bonowing does not interfen with existing
calls. Otherwise, the call is blocked.
The Simple Channel Borrowing strategy Oves lower blocking than the traditional FLX
Channel Allocation strategy under light and moderate traffic conditions. In heavy
traffic conditions. however, channel bonowings may prolifente to such an extent that
the channel usage efficiency cirops drastically, causing a rapid incnase in blocking
probability [Kahwa78].
In the Hybrid Assignment Strategy [Kahwa78], the set of nominal channels assigned to
each celi is divided into two subsets A and B. Subset A channek are used in the iocd
ce11 only, while subset B channels can be lent to the neighboring cells.
In Simple Hybrid Channel Borrowing Strategy (SHCB), the ratio #A to #B is
detemiined a priori, depending on an estimation of the uaffc conditions and it cm be
adapted dynamically in a scheduled or preciictive manner.
The Borrowing with Channel Ordering @CO) strategy inuoduced in [Elnoubi82],
outperforms SHCB by dynamïcally varying the local to bomwable channel ratio
according to chanpg mc conditions. In BCO strategy, aM nominal chanaels are
ordered such that the fm channel has the highest pnority to be assiped to the next
local call.-and the last cbannel is given the highest pnority to be bomwed by the
neighboring ceiis.
Chaoter 2 Channel Allocation Schemes 9
In BCO strategy. a channel is suitable for bomwing oaly if it is sirnultaneously fm in
the tbree nearby CO-channel cells. Tbis nquirement is too stnngent and decreases the
number of channels available for bomwing. So Mng89] presented a new strategy
called Borrowing with Directional Channel Lockr'ng (BDCL) in 1989. in this strategy.
when a channel is borrowed, the locking of this channel in the CO-channel cells is
resnicted only to those affected by this bomwing. Tbus the number of channels
available for borrowing is greater than that of the BCO strategy. To detemiine in which
case a "locked" channel can be borrowed, "lock directions" are specified for each
locked chanael. The scheme also incorporates nallocation of calls from borrowed to
nominal channels and between borrowed channels in order to minimize the channel
borrowing of future calls, and especially the multiple channel borrowing observed
during heavy uaffi~c.
2.3 Dynamic Channel Allocation
Due to short term temporal and spatial variations of traffic in cellular systerns, Fk
Channel Allocation (FCA) schemes are not able to attain a high channel efficiency. To
overcome this, Dynamic Channel Allocation (DCA) schemes have ken studied during
the put twenty years.
In contrast to FCA, a i l channels are potentially available to all cells and are assigned to
cells dynamicaliy as calls arrive. If this is done right, it can take advantage of temporary
changes in the spatial and temporal distribution of calls in order to serve more users.
For example. when c d s are concentrated in a few cells, these cells can be wigned
more channels without increasing the blocking rate in the Lightly used cells.
In DCA, a channel is eligüile for use in any ceIl provided that signal interference
constraints are satisfied. The main idea of di DCA schemes is to evaiuate the cost of
using a candidate channel. and select the one with the minimum cost provided that
certain interference constraints are satisfied. The seleetion of the cost fiinction is what
differentiatts DCA schernes [Cox72].
Chapter 2 Channel Allocation Schemes 10
The selected cost hinction might depend on the future blocking probability in the
vicinity of the celi, the usage fiequency of the candidate channel. the ceuse distance.
channel occupancy distribution under cunent traffic conditions, radio channel
measurements of individual mobile usea or the average blocking probability of the
system. DCA schemes can be divided into ceutraiized and distributed schemes with
respect to the type of control they employ. Several simulation and analysis resuits have
shown tha centralized DCA schemes cm produce near optimum channel allocation.
but at the expense of a high centraiization overhead [Nettleton89].
2.3.1 Centralizeâ DCA Schemer
in the centralized DCA schemes. a channel from the central pool is assigned to a cd1
for temporary use by a centralized controller. The ciifference between these schemes is
the specific cost fwiction used for selecting one of the candidate channels for
assigoment.
First Availuble strategy (FA) assigns the fint available channel within the Euse
distance encountered during a channel search to the cal1 [Cox72]. In the Locally
Optimized Dynamic Assignment (LODA) smtegy [MingBg], the concept of nominal
channels is not used. Instead, a panicular ce11 having a cal1 to serve evduates the cost
of using each candidate channel. The channel with the minimum cost is then assigmd.
The selected cost hioction is based on rninimizing the channel nuse distance. In other
words, the cells using the same channel are packed as compactly as possible so that the
charme1 could again be reused in the closest possible range. Channel R e w
Optirnizution Schemes attempt to maximize the efficiency of the system by optimizing
the reuse of a channel in the systern ami [ C o x 7 2 ] ~ 0 r i 9 2 1 . Chonnef
Rearrangement Schemes are to switch calls alrrady in process, whenever possible, h m
channels that these caiis are using. to other channels with the objective of keeping the
distance between ceiis using the same channel simultananisly to a minimum
@hnaid73]. Thus, the channeL muse is more concentrated and moE traffic can be
c&d pu channe1 at a givcn blocking rate.
Chapter 2 Channel Allocation Schemes
2.3.2 Dirtributed DCA Schemea
The proposed distributed DCA schemes use either local information about the cumnt
available channels in the cell's vicinity (ce11 based) schemes [Chih93] or signal strength
measurements [Mutsumu931[Furuya9 11.
In the Cell Based Schemes, a channel is allocated to a cal1 by the base station where the
cail is initiated. The difference with the cenvalized approach is that each base station
keeps information about the cumnt available channels in its vicinity. The channel
pattern information is updated by exchange of status information between base stations.
The Cefl Bused S c h e s provide near optimum channel allocation at the expense of
excessive exchanged of statu information between base stations. especially under
heavy traffic loads.
In the lnterfeence Adaptation Schemes which rely on signal strength measurements
[hfutsumu93]. a base station uses only local information, without the need to
comrnunicate with any other base station in the network. Thus, the system is self-
organizing, and channels can be placed or added everywhere. These schemes allow fast
real time processing and maximal channel packing at the expense of incnased co-
channel interference probabiiity with respect to ongoing calis in adjacent cells, which
may lead to undesirable effects such as interruption, deadlock and instability.
Local Packing aigorithm presented in [Chih93] can k implemented distributively at
the base stations with a simple Augmented Channel Occupancy (ACO) table, or
centrally at the Mobile Switching Center without the need of a distributed database.
[Chihg31 implemented this algorithm distributively and showed that, unlike some other
DCA algotiihms, even when the netwoik has a large number of channels, it maintains a
favorable performance over FCA under unifonn nanic in the region of interest. More
impoctantly, the LP algorithm has a tnmendous capability of alleviating congestion at
trafic hot spots.
Chapter 2 Channel Allocation Schemes IZ
in our thesis, we use the main idea of LP aigorithm because its higher performance over
o t k algorithm. But instead of keeping the database distributed in each base station,
we keep the database wbich contains the information of each base station in Mobile
Switchuig Center (MSC), and then using Mobile Agent Technology to analyze if there
is channel available during considend period. We wiii descnbe this algorithm in detail
in Chapter 4. In the next chapter, we wiii introduce the basic concept and architecnue
of Mobile Agent Technology.
Chapter 3 Mobile Agent Technology 13
Chapter 3
Mobile Agent Technology
With the ment explosive development of computer networking and the Intemet, a gap
bas developed between the sheer amount of information that is available and the ability
CO process or even locate the interesting pieces. This does not oniy apply to
"application-oriented data" such as scholarly publications, stock exchange quotes, or
weather satellite images, but also to the monitoring and operation of huge computer
networks. Agents show a possible way out of this dilemma [Anselm95]. Agent-based
systems have recently gained considerable attention in many areas of computer science
and information processing such as software engineering, human interfaces. and
network management. The incorporation of intelligence implies dealing in an adaptive
way with unforeseeable changes in the remote environment [ChessgS].
3.1 Basic Concept
3.1.1 Agent
An agent is a computationai entity, which afts on behalf of other entities in an
autonomous fashion, performs its actions with som level of prwctivity andlor
reactivity. For instance, an estate agent who simply places a "for sale" sign outside a
property for sale and waits for purchasers to corne into his shop is behaving in a much
more reactive fashion, than an agent who proactively advertises the property in the
local pms. The same agent can display high amounts of both proactivity and reactivity
Chapter 3 Mobile Agent Technology 14
at different time [URL2]. An agent also exhibits some level of the key attributes of
learning, CO-operation and mobility.
In the area of cornputhg and information systems. the notion of an agent implies a
remotely executing program with a certain degm of autonomy. usually helping with
the tasks of idonnation pmcessing or revieval [Hoswn96].
3.1.2 Stationary Agent and Mobile Agent
Conceivably, agents cm be stationary or mobile. A stationary agent executes only on
the system where it begins execution. if the agent needs information that is not on that
system. or needs to interact with an agent on a different system, the agent typically uses
a communications transport mechanism such as Remote Procedure Cal1 (WC)
[GMD97]. For example, in the Simple Network Management Rotocol ( S M ) which
is designed to give a user the capability to remotely manage a cornputer network by
poliing and setting temiinal values and monitoring network events, the stationary agent
is used to run off of each node on the network [URLlS]. Many UNIX software vendon
include this with their terminal software, It collects network and terminal information
as specified in the Management Information Base (MIB) [URLI O].
ui contrast to a stationary agent, a mobile agent is not bound to the system where it
begins execution, It has the unique ability to transport itself from one system in a
network to another. This submission is primarily concemed with mobile agents. The
abiiity to travel permits a mobile agent to move to a destination agent system that
contains an object with which the agent wants to interact. Monover, the agent may
utilize the object services of the destination agent system [GMD97].
3.1 .3 Agent System
An agent system is a platform ihat can mate, interpret, execute, transfer and terminate
agents. An agent system is associated with an authority that identifies the person or
Chapter 3 Mobile Agent Technology 15
organization for whom the agent system acts. An agent system is uniquely identified by
its name and address. A host can contain one or more agent systems. Figure 3.1
describes an agent system [GMD97].
System
Agent System
I Infrastructure I
Figure 3.1 Agent System
In above figure. when an agent tmnsfers itself, the agent travels between execution
environwnts cded places. We wili invoduce the place concept in Section 3.1.4.
An agent system type describes the profle of an agent. For example, if the agent system
type is Aglet, the agent system is implemented by IBM, supports Java as the Agent
Language. uses Iherary for travel, and uses Java Object Seriaikation for its
seriaüzation [GMD97]. This specification rccognizes agent system types that support
multiple languages, and languages that support multiple seriakation mthods.
Thercfore, a cknt requesting an agent system hinction must specify the agent profde
Chapter 3 Mobile Agent Technology 16
(agent systern type. language. and seriaiization method) to identify uniquely the âesired
fwictionaiity.
AN communication between the agent systems is through the Communication
Infkastnich>rr (0 which provides commuaications transport services. naming, and
secdty services for an agent system. The region administrator defuies communication
services for intra-region and inter-region communications. The region concept will be
introduced in section 3.1.5. Figure 3.2 describes agent system to agent system
interconnec tion [GMD97].
Opnting
System
Figwc 3.2 Agent System to Agent System Interconnection
In genetal. the core actions among agent systems are:
T d e m n g an agent
Creating an agent
0 Pmviding giobaiiy unique agent names and locations
0 Supporthg the concept of a region
Fiiding a mobile agent
0 Ensuring a secure environment for agent opefations
Chapter 3 Mobile Agent Technology 17
3.1.4 Place
A place is a context within an agent system in which an agent can execute. This context
can pmvide functions such as access control. The source place and the destination place
can reside on the same agent system. or on different agent systems that support the
same agent profile [GMD97].
A place is associated with a location, which consists of the place name and the address
of the agent system within which the place mides. An agent system can contain one or
more places and a place can contain one or mon agents. Wben a client requests the
location of an agent, it ceceives the addnss of the place where the agent is executing.
A region is a set of agent systems that have the same authority, but are not necessariiy
of the same agent system type. The concept of region dows more than one agent
system to represent the same person or organization.
Regions are interconnected via one or more networks and may share a naming service
based on an agreement between region authorities and the specific implementation of
these ngions. A non-agent system may also cornmunicate with the agent systems
within any region as long as the non-agent system has the auhorizaiion to do so. Figure
3.3 describes region to region interconnection [GMD97].
3.2 Mobile Agent Architecture
3.2.1 Why Use an Agent kchikcture
Agent arcbitechue provides a flexible alternative to ciientiserver and disuibuteci object
architectures. It contains many advantages. Thm of du most important advmtages are
[S teven97:
Chapter 3 Mobile Agent Technology 18
Non-Agent Systt m
Agent System
Agent Systt m
Figure 3.3 Region to Region Interconnection
1. Perfonns much processing at the server where local bandwidth is high. thus
nducing the arnount of network bandwidth consumed and increasing overall
performance.
2. Operates independently on the application h m which the agent was invoked. The
agent operates asynchronously, meaning that the client application does not need to
wait for the results. This is especiaily important for mobile users who are not
aiways connected to the network.
3. AUows for the injection of new fbnctionality into a system at nia time. An agent
system essentiaiîy contaias its own autormtic software distribution mchanism that
has built-in support for mobile code, new functionaîity generaüy can be installed
automaticaily at nui tirne.
Chapter 3 Mobile Agent Technology
3.2.2 Structure of an Mobile Agent
Because a mobile agent is a software entity that exists in a software environment. it
inherits some of the characteristics of an agent. A mobile agent must contain al1 of the
foîîowing models [Chess95] [White95]:
Agent model: defmes the intemal structure of the intelligent agent part of a mobile
agent. In essence. it defmes the autonomy, leaming and CO-operative characteristics of
an agent. Additioaally, it specifies the reactive and proactive nature of agents.
Life-cycle model: defmes the difierent execution States of a mobile agent and the events
that cause the movement from one state to another.
Computational model: defines how a mobile agent executes when it is in a running
state.
Securiry model: mobile agent security can be split into two broad ares. The fmt
involves the protection of host nodes from destructive mobile agents. while the second
invdves the protection of mobile agents from destructive hosts.
Communication model: communication is used when accessing services outside of the
mobile agent, during CO-operation and CO-ordination between mobile agents and other
entities. and finaMy to facilitate cornpetitive behûvior between self-intensted agents.
Nmigation mdek concems itself with ai i aspects of agent mobility h m the discovery
and cesolution of destination hosts to the manner in which a mobüe agent is
uansported.
Tase models are highly integrated and intedependent. Figure 3.4 gives a simple view
of the stmcnire of a mobile agent [URL2].
Chapter 3 Mobile Agent Technology
Figure 3.4 Simple View of the Structure of a Mobile Agent w] The core of the structure is based on the computational model. This has significant
impact on the other models. It defines how we address other agents, hosts and
resources, which is important to the security model. The type of life cycle model
adopted is dependent on the faciiities of the cornputational model.
Both the security and Me cycle models are structurally very close to the core. Security
issues pemeate every aspect of a mobile agent and therefoce must be provided for at
the most basic level. The life cycle model defines the valid States for an agent.
nie outer iayer contains the communication, navigation and agent models. The agent
model defines the "intelligent agent" aspects of a mobile agent such as leamhg and
collaboration huictions. The communication model is heaviiy dependent on the security
model so that agents are not compted by other agents or hosts. Finally, the navigation
mode1 is aiso depenâent on the secuflCty model as it han& itseif over to the host to k
transported to another node.
Chapter 3 Mobile Agent Technology 21
3.2.3 Mobile Agent Environment
A mobile agent environment is a software system, which is distributed over a network
of heterogeneous cornputers. Its primary task is to provide an environment in which
mobile agents can execute. The mobile agent environment implements the majority of
the models that appear in the mobile agent defintioa. 1t may also provide: support
services which relate to the mobile agent environment itself. support services pertaining
to the environments on which the mobile agent environment is buiit, support services
accessing to other mobile agent systems. and finally support for openness when
accessing non-agent-based software environments [URL2].
The basic mobile agent architecture is illustrated in Figure 3.5 The mobile
agent environment is built on top of a host system. The ;milhg faces are mobile agents
that travel between mobile agent environments. Communication between mobile agents
(local and remote) is represented by bi-directional anows. Communication cm also
takes place between a mobile agent and a host service.
Figure 3.5 Basic Mobile Agent Architecture -1
Chapter 3 Mobile Agent Technology
3.3 Advantages of the Mobile Agent Paradigm
Mobile agents have many advantages over the traditionai clientlserver model. In
[URL2], various claims related to mobile agent arr exarnined and its advantages are
summarized as foliowing:
Eflciency: Mobile agents consume fewer network resources since they move the
computation to the data rather than the data to the computation.
Reducfion of nenvork trafic: Most communication protocols involve several
interactions. especially when security measures are enabled. This causes a lot of
network With mobile agents, one cm package up a conversation and ship it
to a destination host where the interactions can take place locally.
Asynchronous autonomous interaction: Tasks cm be encoded into mobile agenis
and then dispatched. The mobile agent can operate asynchronously and independent
of the sending program. An example of this would be a mobile device dispatching
an autonomous search agent onto the fmed network, ciisconnecting, then
reconnecting some time later to collect the rrsults of the search.
Interaction with real-tirne entities: Real-time entities such as software controlling
an ATM switch or a safety system in a nuclear installation cequire immediate
responses to changes in their environment. Controlling these entities fiom across a
potentially large network WU incur signüicant latencies. For critical situations
(nuclear system control). such latencies are intolerable. Mobile agents offer an
alternative. They can be dispatched fiom a central system to control ml-tim
entities at a local level and aiso process directives fmm the central controller.
Dynantic adaptation: RelPted to the above topic, mobile agents have the ability to
autonomously nact to changes in their environment. However, such changes must
k communicated to mobile agents from the mobile agent environment.
Chapter 3 Mobile Agent Technology
Dealing with vast volumes of data: When vast volumes of data are stored at remote
locations, as in weathr information systems, the processing of this data should be
perfonned local to the data. instead of transmitting it over a network.
Robusmess und foult tulerance: The ability of mobile agents to react dynarnically to
adverse situations makes it easier to build fault tolerant behavior. especially in a
highly distributed system.
Support for heterogeneous environments: Both the cornputers and networks on
whicb a mobile agent system is built are heterogeneous in character. As mobile
agent systems are generally computer and network independent, they support
transparent operation.
Personalize semer behavior. In the intelligent networks. mobile agents are
proposed as a way to personaiize the behavior of network entities (e.g., routen) by
dynamically supplying new behavior.
Support for electronic commerce: Mobile agents can be used to build electronic
markets. Here mobile agents embody the intentions, desires. and resources of the
participants in such a market.
Convenient development paradigm: The design and construction of distributed
systems cm be made easier by the use of mobile agents. Mobile agents are
inherently distributed in nature and hence are a nanirai view of a distributed systern.
Since mobile agents have many advantages over the traditional client/server model, we
present a mobile-agent-based dynamic channel docation algocithm. In the next
chapter, we will descnbe our proposed algorithm in detail.
Chapter 4 Mobile-Agent-Based Dynamic Channel Allocation Algorithm 24
Chapter 4
Mobile-Agent-Based Dynamic Channel
Allocation Algorithm
4.1 Motivation
in Chapter 2, we reviewed the different channel allocation schemes. We found the
various techniques proposed in the literature made p a t effort on how to efficiently
nuse channels in the cellular system so that to minimize the blocking probabiiities for
network trafic. However. those algorithm use the block-and-clear model. that is, if a
cal1 cannot allocate a channel, then ihis call is blocked and simply cleared immediately
[Donald73]vng89][Chih93]. But in fact, in some cases. a short delay before being
connected could be acceptable. People would rather wait for a few seconds to get
connected than redial later.
h our research. we specifically consider this case where the mobiles may not need to
be connected immediately, mobile users might be able to tolerate a short delay befon
king connected. If the waiting time is chosen properly. the total blocking probability
of the netwodc can be reduced considerably [Reece96].
In our proposed new aigorithm. we place the blocked caüs in a waibg queue for a
limited amount of tirne. During tbis short period. if there is a charnel available for this
call. then we can assip this channel to the caii immediately. If there is stiii no channe1
available. then this caU is cleared. This algorithm caa giw people the choice to wait
Chapter 4 Mobile-Agent-Based Dynamic Channel Allocation Algorithm 25
for a connection so that it improves the quality of service (QoS) in cellular network.
QoS is a set of user-penxivable attributes of that which makes a service what it wants
[Race82]. Spcific QoS parametea take subjective or objective vaiues, expressed in
user-understandable language. Objective values are customer-verifable. which are
defmed and measured across particuiar service parameters. Those subjective values
represent the provider's opinion which are defmed and estimated with respect to user
surveys [Coch92].
In a customer-provider relation, QoS is defined by service parametea of the provider
(called the system performance at the QoS provider interface), which satisfy customer
requests (QoS customer interface) [Dini97]. Some major needs for QoS enhancements
were summarized as follows:
possibiiity to choose many values at a time between space values of panuneters
a transparent verification and validation of precoaditions between combined space
vdues
possibiiity to change dynamically the cardinality of value space
improving the trader with new services in order to monitor relations
Our algorithm is based on the main idea of Local Packing algorithm [Chih93], because
LP algorithm maintains a favorable performance over FCA undet unifom tfaffic in the
ngion of interest even when the network has a large number of channels. More
importmtly. it has a tremendous capability to alleviate congestion at uaffic hot pots.
Up to now. most cellular aetwork are using central conml. It can produce near
optimum channel allocation, but at the expense of a high ceniralization overbead
(Nettieton891. In our algorithrn, we keep a channel stptus table for assigning and
releasing charnels in the Mobile Switch Center (MSC). each channel assignment
procedure and charnel reluise procedure reqtire somc choice to be made dynamically.
These am arguably the hardest interactions to deal with h m a computationd
Chapter 4 Mobile-Agent-Based DyMmic Channel Allocation Algorithm za
viewpoint and if using the traditional way, it will c a w high network -c [MiLe95].
They are precisely the class of problems that our mode1 is based on Mobile Agent
addresses.
As we introduced befoce, Mobile Agent has ma t advantages on reducing network
uaffic. dealing with vast volumes of data and dynamic adaptation. Thenfore. our study
uses Mobile Agent to make dyaamic decision and do the computation when it is in the
remote destination (MSC). The Mobile Agent can select a proper channel for a call or
monitor when a channel is available for a waiting call. It makes our algorithm more
efficient and cornpetitive with respect to the traditional methods without using the
Mobile Agent.
In the following section, we will describe Our algorithm in detail. First. we give a bnef
introduction to the main idea of LP algorithm.
4.2 Main ldea of LP Algorithm
In the LP algorithm. each base station assigns channels to new or handsff calls using
the Augmented Channel Occupancy Matrix (ACO), which contains the necessary and
sufficient local information for each base station to select a channel.
Let M be the total numkr of available channels in the system and ki be the number of
neighboring cells to ceU i within the CO-channel interference distahce. The AC0 matrix.
as shown in Figure 4.1, bas M i l columns and Ri + I rows.
The fmt M columns comspond to the M channels. The fmt row indicates the chaanel
occupancy in ceU i and the cemainhg ki rows indicate charme1 occupancy pattern in the
neighborhood of i, as obtahed fiom neighbocing base stations. The last column of the
matrix corresponds to the number of cumnt available channels for eacb of the ki + I
CO-charnel cells.
Chapter 4 Mobile-Agent-BaFed Dynamic Channel Allocation Algorithm 27
F i p 4.1 The Augmented Channel Occupancy Table
4.2.1 Channel Auignment Procdure Based on LP Algorithm
When a base station receives an access request. it searches for an empty column in its
AC0 table. if successhil, it assigns that channel to the request. If the AC0 table
contains no empty column, the base station then looks for a column with a single check
mark. If found, it identifies the corresponding ce11 and checks to see whether that ceil
has charnels available (indicated by a nonzero entry in the last column). If that is the
case, it sen& a nquest to that cell to reassign the cal1 cmntly using chat channel to
another channel and it assigns the found channel to its access request. The Figure 4.2
descriis the procedure of channel assipent.
The content of the AC0 table is updated by coliecting channel occupancy information
h m aii interfering cells through a simple procedure: each base station, when seking or
releasing a chmei, sent ihis information to ail interfering celis' AC0 tables. A base
station should send out update information also if its owri entry in the augwnted
column has changed as a d t of another ceIi seizing or releasing channeis.
Chapter 4 Mobile-Agent-Based Dynamic Channel Allocation Algorithm ze
Figure 4.2 Channel Assignment Procedure Based on LP Algorithm
4.2.2 Channd Release Procedure 8 .d on LP Algorithm
In the iitetanuc [Chib93], only the channel assignment procedure is considered. But in
our pmpsed algorithm. we need to consider how to assign a released channel to a
waiting c d . According to the idea of the LP aigorithm. we present the channel dease
Chaprer 4 Mobile-Agent-Based Oynamic Channel Allocation Algorithm 29
procedure based on the LP algorithm. Figure 4.3 describes the procedure of channe!
rdease:
( a m the ialornrdon d AC0 taMe 1
Figure 4.3 Channel Release Procedure Based on LP Algorithm
Chapter 4 Mobile-Agent-Based Dynamic Channel Allocation Algorithm 30
When a call on charnel k of ce11 i teminates. if there is a cali waiting in the queue. fmt
check if the waiting call also cornes from base station i, if yes. this channel cm be
directly assigned to this cal1 and doesn't need update anything. If the waiting call is
not fiom base station i, Say it is from base station j. check if cell j is the in ter fe~g cell
of ce11 i. if yes. check to see if this channel cm be re-assigned to the waiting call. The
foilowing steps are executed:
1. First it searches for an empty column in ce11 j ' s AC0 table after clearing the check
mark of the k channel in ce1 i. If successful. it assigns that channel to the waiting
call.
2. If the AC0 table contaias no empty column. then looks for a column with a single
check mark after clearing the check mark of the k channel in ceIl i. If found, it
identifies the comsponding ce11 and checks to see whether that ce11 has channels
available (indicated by a nonzero entry in the last column). if that is the case, it
sends a request to that cell to reassign the call cumntly using that channel to
another channel and it assigns the found channel to the waiting call. If no channel is
available. then the channel k can't be assigned to this waiting call.
The content of the AC0 table is updated by the same way as the one used in channel
assignment procedure.
4.3 Design of Oui Algorithm
In our algorithm. instead of Unplementing distributively at the base stations with a
simple Augmenteci Channel ûccupancy table as Chih-Lin and Pi-Hui Chao [Chihg31
did we propose to keep a table which contains the Monnation of ali base stations in
the Mobile Switching Center (MSC).
Each base station is treated as an agency where a statioaary agent Base is residing to
provide secvices for the mobiles. Lf it meives a c d request h m a mobile, it will
Chapter 4 Mobile-Agent-Based Dynumic Channel Allocation Algorithm 31
mate a Stan agent and send it to the nmote location MSC to select a channel for this
c d . If it receives a call finished message h m a mobile. it will mate a Finish agent
and send it to MSC to release this channei. MSC is an agency where a stationary agent
Directory is residing to provide information needeâ by each base station and to update
the information in channef status table. Figure 4.4 shows this simple structure.
Msc
Figure 4.4 Structure of Mobile-Agent-Based Cellular System
4.3.1 Channel Asrignment Procedure
When the Base agent in ce11 i receives on access request from a mobile, the following
steps are executed (see Figure 4.5):
1. First. the B u e agent cceates a mobile agent Stan with ce11 r 's authority and gives it
the fixed amount of time it should wait for a channel.
2. Sends Start to the place whre the stationary agent Directory is nsiding in MSC.
3. The Stan agent mats the Directory agent and asks the service.
Chapter 4 Mobile-Agent-Based Dynumic Channel Allocation Algorithm 32
F i p 4.5 Channel Assignment Procedure
Chapter 4 Mobile-Agent-Based Dynurnic Channel Allocation Algorithm 33
The Directory agent fmt checks the authentication and authorization of the Stan
agent. if they are not valid then the Directory agent refuses to provide service. If
the authentication and authorization are valid, then the Directory agent extracts the
ce11 j.s AC0 table and gives it to the Stan agent. In the meantime, the fields in the
total channel status table, which ceiated to this AC0 table are locked. That means
they are aot allowed to be accessed by 0th agent.
The Start agent uses the LP algorithm to anaiyze the AC0 table.
0 if there is a channel available. then this channel is assigned to the Stan
agent. Meanwhile, the information in AC0 table is updated. Then the Start
agent meets the Directory agent and retums the updated AC0 table. If the
channel is available through cbannel-reassignment. the Directory agent
sends a cequest to the comsponding ceIl to reassign the call c m n t l y using
that channel to another channel. And the Start agent sends the result back
and then terminates itself. In the meantime. the Directory agent updates the
information in the total channel status table according to the updated AC0
table, and then, the fields related to this AC0 table are unlocked*
if there is no channel available, then the Stan agent meets the Directory
agent and rrtums the AC0 table. The Directory agent unlocks the fields
related to this AC0 table and no update is needed. The Srart agent goes
into a waiting queue and sleeps there until invoked by the Directory agent.
if in the given tirne. no channel is available, then the Stan agent sends a
signal back and terminates itseK In this case. the caii is blocked
4,3.2 Channel Release Procedure
When a call on channel k of ceU i terminates, the foilowing steps are executed (see
Figure 4.6):
Chapter 4 Mobile-Agent-Based Llynamic Channel Allocation Algorithm 34
Chapter 4 Mobile-Agent-Based Dynamic Channel Allocation Algorithm 35
1. Fit, the Buse agent in ceil i creates a mobile agent Fhish with celi i's authority
and gives it the chamel's number k.
2. Sends the Finish agent to the place where the stationary agent Direcrory is residing
in MSC.
3. The Finish agent meets the Directory agent and asks the service.
4. The Directory agent f i t checks the authentication and authorization of the Finish
agent. if they are not vaiid, then the Dinctory agent refuses to provide service. If
the authentication and authorization are valid, then the Directory agent gets the
nleased chamel number k and ceii nurnkr i from the Finish agent. Then the Finish
agent terminates itself.
5. After while, the Directory agent checks if the waiting queue is empty.
a) if the queue is empty. then the Directory agent updates the channel status table
according to the information the Finish agent gives.
b) If the queue is not empty, then the Directory agent checks the fmt mobile agent
Sturt in the queue.
O if ihis Stan agent also cornes from celi i. Directory agent invokes it and
assigns the channel k dirrctly to it and doesn't need update anything. Then
the Stun agent sends the result back and terminates itself.
if this Stan agent is not from ceii i, check if it is fiom the intedering ceii of
ceU i.
If the Start agent is not from the interfering ce11 of ceil i, then let the Sturt agent
continue sleeping and checks the second mobile agent in the queue. then
foUows the same procedure as the fmt one.
Chapter 4 Mobile-Agent-Bused Dynamic Channel Allocation Algorithm 36
If the Stan agent is fiom the interferhg cell of cell i. then the Direcm
agent invokes it and gives its AC0 table. The fields in the channel status
table which related to this AC0 table are locked. With the AC0 table, the
Sturt agent uses LP algorithm to analyze if the channel k can be assigned to
the c d . If yes, then the Start agent updates the AC0 table. Then the Stari
agent gots to meet the Directory agent and nturns the AC0 table. If the
channel is available through channel-ceassigament, the Directory agent
sends a request to the comsponding ce11 to reassign the cal1 cumntly using
that channel to another channel. And the Smn agent sends the result back
and then terminates itself. In the meantirne, the Directory agent updates the
information in the total channel status table according to the updated AC0
table and then the fields related to this AC0 table are unlocked.
if no channel cm be assigned to the Sun agent. then the Stan agent r e m s
the AC0 table to the Directory agent. And the fields related to ihis AC0
table are unlocked. Let the Star? agent skep in the queue again. if then
exists another mobile agent sleeping in the queue. Directory agent checks it
and follows the same procedure as the fiat one.
if the channel k cannot be assigmd to any mobile agent in the waiting
queue. then the Directory agent updates the channel status table according b
to the information the Finish agent gives.
Our implementation is based on the Grasshopper platform. in order to show how out
implementation is possible. in tbe next cbapter, we give a brief introduction to Mobile
Agent S ystem Iteroperability Facilities Specification (MASIF), and the p l a h
(Grasshopper) used in our implementation, which is cornpliant to MASIF standard
Chapter 5 MASIF and Grasshopper 37
Chapter 5
MASIF and Grasshopper
Mobile agents are a relativeiy new technology that is fueling a new industry. Up to
now, there exist many agent systems, which differ widely in architecture and
implementation. Our nscarch is carried out in the Grasshopper mobile agent
environment which is cornpliant to Mobile Agent System interoperability Facilities
Specification (MASD). In this chapter, we give a bief introduction to MASIF standard
and the Grasshopper pladorm.
5.1.1 Background
An important god in mobile agent technology is interoperabiiity between various
manufacturer's agent systems. The differences among mobile agent systerns prevent
interoperability and rapid proliferation of agent technology, and has probably impeded
the growth of the industry [GMD97], thus it would be nice to have a single standard
that is as univeaaily accepted.
Iust as CORBA defmes a standard for distributed object interoperability, standards are
needed for a universal agent pladorni that wouid allow any server to accept and execute
an agent from any vendor. Interoperability kcomes more achievable if actions such as
agent trausfer, class uaiisfer, and agent management an standardized. Object
Management Group (OMG) is currentiy workhg on an agent standard in the fonn of a
. CORBA common fàcility. The resuiting standard wiii specify language-independent
Chapter 5 MASIF and Grasshopper 38
interfaces for deaiing with agents, but will pmbably not go as far as specifying any
particular mobile code hplementation.
One of the most promising candidates for mobile agent standard is GMD FOKUS's
MASF proposal. The MASIF standardization is a joint submission of GMD FOKUS.
International Business Machines Corporation, Crystaliz, General Magic. and the Open
Group in 1997. It is based on Java and built on top of the OMG Common Object
Request Broker Architecm (CORBA). thus providing the integration of the traditional
client/server paradigm and mobile agent technology. Our platforni Grasshopper is the
f iat inteliigent mobile agent environment that is cornpliant to the MASIF standard. in
the next two subsections, we show the advantages using Java in mobile agent
implementation and the services provided by CORBA in MASD standardization. Mer
that. we describe two important interfaces contained in MAF module. Due to the
methods of these two MASIF-compliant interfaces are not optimized for the
Grasshopper environment, in Section 5.2.2.4, we will introduce two Grasshopper - speci fic interfaces.
5.1.2 Advrintages Using Java in Mobile Agent Implementation
Java is an interpreted, object-oriented language and library set. Its main features are
(URLl Il:
simple and familiar object-orienied language, which facilitates the definition of
clean interfaces to promote the design of reusable software modules.
architecture neuual, portable and robust system, which places emphasis on early
error checking. and eliminates use of error pione programming feanirrs.
inteqxeted and dynamic program execution, which pcrmits application to adapt to
an evolving enkonmeat by deferring binding of plug-in modules until runtime.
a compnhemive security system, which enables construction of virus-fke, iamper-
f ke systems for network envuoaments.
Chapter 5 MASIF and Grasshopper 39
multithreaded execution with synchronization between threads, which is usehil in a
multipmcessor system where threads nui concumntly on separate processors. and
improves program performance on single processor systems by pumitting the
overlap of input, output, or other slow operations with computational operations.
a support for distributed systems through the remote object invocation (RPIII) and
object serialkation (OS) facilities, and offer extensive library of routines for coping
with TCPlIP protocol.
A mobile agent is an active object that can move both data and hinctionality (code) to
multiple places within a distributed systern. A mobile agent should be able to execute
in any machine within a network. regardless of the processor type or operating system.
In addition. the agent code should not have to be installed on every machine that the
agent could potentially visit. It should move with the agent's data automatically.
Therefoce, it is desirable to implement agents on top of a mobile code system. such as
the Java virtual machine (JVM). The Iava Vinual Machine implements an abstraction
layer to hide the underlying operating system and hardware architecture [URLl 11. This
abstraction is what insulates the built Java application from whatever system is hosting
execution. This is unlike the tradition mode1 where the application is built for a
particular system. The built application is mapped directiy to the particular system
hosting execution. By shifting these system dependencies from the built application to
the Virtual Machine, Java applications once built are inherently portable. It is the
Vimiai Machine. which must be poned to the host system. not each particular Java
application. The dynamic nanue of Iava classes and abjects, combined with advanced
networkhg capabilities, make Java highly qualified for use as a mobile agent platfom
[S teven97].
Java and its mu-tirne system produce a flexible and powemil programming system
which supports dismbued computing. An agent's classes are loaded at runtime over
the netwock as it travels h m one location to another. So we can see tbat Java is a
Chapter 5 MASIF and Grasshopper 40
nahual choice for implementing agent system because it is a mobile code platform with
built-in support for networling.
5.1.3 CORBA Sewicea
CORBA (Common Object Request Broker Architecture) is a specification of an
architecture aad interface that aliows an application to make request of objects (secvers)
in a transparent, independent mamer, regardless of platform. operating system. or local
considerations. The CORBA ORB is an application fmework that provides
interoperabiiity between objects, built in (possibly) diffennt languages. mnning on
(possibly) different machines in heterogeneous distributed environments [URU].
The CORBA paradigm follows two existing methodologies: distributed client-semer
programming and object-onented programming. The distributed computing is based on
message-passing systems found in most UNIX systems. in CORBA. features of object-
oriented programming, such as encapsulation and inhentance, are used.
CORBA can provide the following services wbich are related to mobile agent
technology (Figure 5.1 ) [GMD97] :
Numing service: CORBA naming service binds names to CORBA objects. The
resulting name-to-object association is called a naming binding. which is always
reiated to a naming context. A naming coniext is an object that contains a set of
name binding in which each name is unique.
Lifcycle service: CORBA life cycle service defines services and conventions for
creating, dekting, copying and moving CORBA objects.
0 Errrmaliuztion service: CORBA extemalization service provides a standardized
mechanism for recoràing en object's state ont0 a data srnam. and for restoring an
object's state h m a data strcam. An agent system uses this service when it nec& to
seriaijze and deserializc an agent's state.
Chapter 5 MASIF and Grasshopper 41
Client O
ORB
Figure 5.1 CORBA Senrices and Facilities
Security sentice: although CORBA security does not cmently meet aü the needs of
mobile agent technology, the mobile agent facility (MAF) irnplementation must use
available CORBA security to satisfy its security needs. The security requincnents
for agents and agent systems in CORBA are:
Agent namùig
Client authentication for remote agent creation
Mutuai authentication of agent systems
Agent systern access to authentication &ts and credentiais
Chapter 5 MASIF and Grasshopper 32
Agent authentication and delegation
r Agent and agent system security policies
r Integrity, confidentiality, reply detection, and authentication
5.1.4 MAF Module
The Mobile Agent Facility (MN) is a collection of definitions and interfaces ihat
provide an interoperable interface for mobile agent systems. The MAF module contains
two interfaces:
MAFAgentSystem interface
MAFFinder interface
The interfaces have ôeen defined at the agent system level rather than at the agent level
to address interoperability concems.
5.1.4.1 MAFAgentSystem Interface
The MAFAgentSystem interf' defines methods and objects thrt support agent
management tasks such as fetching an agent system name and receiving an agent.
These methods and objects provide a basic set of operations for agent transfer,
including receive, creuse. suspend, and teminate.
5.1.4.2 MAFFinder Interface b
The MAFFinder interface is a naming service. It provides mthods for maintaining a
dynamic name and location &tabase of agents, places, and agent systems. The interfice
does not dictate what method a client uses to find an agent. lastead, it provides ways to
locatc agents, agent system, and places that support a wide range of location
technique. It defmes operations for cegistering, unngistering, and locathg agents.
places. and agent system.
Chapter 5 MASIF and Grasshopper 43
5.2 Grasshopper
Gnisshopper is the fmt intelligent mobile agent environment, which is compliant to the
MASIF standard. The standardization ensurcs that user's agent applications will be
opened towards other agent environments and save tbe investments for the fiitwe.
Grasshopper allows user to build agent-enabled disrn3,uted applications, which take
advantage of local high-sped communication and local high-speed data access. Thus
we chose to implement our algorithm in the Grasshopper platform.
5.2.1 Grasshopper Agent Environment
The Grasshopper environment consists of several agencies and a region registry.
remotely connected via an Object Request Broker (ORB). The advantage of
Grasshopper as an ORB-based agent platfonn is the integration of the traditional
clientlserver paradigrn and mobile agent technology. Due to the fact that Grasshopper is
built on top of an ORB, the platfonn capabilities can easily k enhanced by simply
accessing other (agent-based or non agent-based) ORB applications. For instance. a
CORBA vading service can be integrated for finding agencies. places, or agents
providing specific capabiiities, or an event service can be used to enhance the low-level
communication capabiiities.
Several interfaces are specified to enable remote interactions ktween the distinguished
distributed components. Apart fiom Grasshopper-specif ic in terfaces. the MASIF-
compliant interfaces (MAFAgentSystern and MAFFinder) are provided to enable
interoperability ktween Grasshopper platform and (MASIF-cornpliant) agent
systems of different vendors. Figure 5.2 shows the Grasshopper environment [URLA].
Chapter 5 MASIF and Grasshopper M
Figure 5.2 Grasshopper Environment [URLcl]
5.2.2 B r i c Componentr of Grarrhopper Environment
5m2m2m1 Agency
Agencies are the actual nintime environments for mobile agents. consisting of a core
agency and one or more places. Each agency runs on its own Java virmal machine.
Extemal interfaces are provided in order to enable the remote access of an agency via
an ORB. Interface MAFAgentSystem is provided in order to enabie a MASIF-
compliant access. and the Grasshopper-specific interface AgentSystem offers
sophisticated access to a Grasshopper agency.
The corn agency provides ody those capabilities that are inevitably required for the
execution of agents. Agents access this fimctionality in order to retrieve information
Chapter 5 MASIF and Grasshopper 45
about other agents, agencies or places, or in orcier to move to another location. Human
usea are able to monitor and control ail activities within an agency by amssing the
COR services. Optionally, a Graphitai User Interface (GUI) can k activated to faciiitate
user interactions. The entue content of an agency, io. the places as well as the agents
residing in each place. can be monitoced and controlled. The important core services
are described as following:
Communication Service
This service enables asynchronous messaging and method invocation, and thus
supports the communication between agents. Agents can contact each other in a
location-transparent way. By contacting the region cegistry, the communication service
is able to locate the agent to which a connection shall be established. If agents move
away during communication. the new location is automatically updated.
Registration Service
Each agency must be able to know about a l i cumntly hosted agents and places for
intemailextemal management purposes. The registration service is developed in order
to deliver information about registered entities to hosted agents. Besides, the
registration service of each agency is co~ected to the region registry which maintains
information of agents, agencies and places in the scope of a whole region.
Management Setvices
Management services are developed to monitor and control agents and places of an
agency by extemal (humaa) users. The following functionality is supponed:
0 create, remove, suspend. resume agents and places
r get information about specinc agents and seMces
0 list di agents residing in a specific place
0 list ail places of an agency
Chapter 5 MASIF and Grasshopper
Apart hom this, configuration management enables human users to speciQ system,
trace, secwity, and communication properties.
This service supports the migration of agents h m one agency to another. At the
destination agency, the agent continues its task processing at that point where it has
been intempted before the migration. The transport service handes the extemalization
and intemalkation of agents, the localization of the destination agency, the connection
establishment, and the transfer procedure itseif.
Security Service
The Security Service provides authentication, privacy and integrity of inter-agent
communication using Security Socket Layer (SSL) with Rernote Method invocation
(RMI) or SSL with plain sockets. SSL is a strong and secure cryptojpphic method and
state-of-the-art in many security-relevant applications, e.g. Web Browsea.
While the core services are tigbtly and statically integrated into the agency, additional
services rnay be reaiized either by static components or by special agents, called service
agents. In this way, the capabilities of the Grasshopper pladonn can be enhanced in a
very flexible and cornfortable way. The functionality realized by a service agent can be
offered to other agents, applications, or human users. Also mobile agents offer
hinctionality to other agents, services or human usen. However, in contrast to service
agents. mobile agents may move through the networlc in order to perfonn their task. For
instance, a &ce agent or human user wants to collect information that is distriiuted
throughout the network. In this case. a mobüe agent can k created, which migrates
h m agency to agency, coilects the desired mformation. and returns badc to the
Ùiitiator.
Chapter 5 MASIF and Grasshopper 47
The region concept facilitates the management of the distinguished components in the
Grasshopper environment. Agencies. as weii as their places. can k associated to a
specific region. Several agencies cm be grouped to one region represented by one
region registry. Each agency automatically registen each cumntly hosted service agent
and mobile agent within the ngion registry. If an agent moves to another location, the
comsponding registry information is automatically updated.
The region registry is realized by means of a Java program running on its own Vimial
Machine. Agents may contact the region registry in order to locate other agents,
services, places. or agencies. On the other hand, human users (administrators) are able
to irack their agents in the scope of the whole distributive environment by contacting
the region registry.
As an agency, dso a ngion registry provides interfaces that enable remote access to the
offered functionality. The MASIF-cornpliant interfafe MAFFinder is provided in order
to enable MASIF-cornpliant access, and the Grasshopper-specific interface
RegionRegisvation also cm be used to offer a sophisticated access.
5.2.2.3 MASIF - Cornpliant Interfaces
As we introduced in Section 5.1.4, MASIF contains two interfaces: interface
MAFAgentSystem and interface MAFFinder. The interfafe MAFAgentSptem is
associated to single agencies, and provides the foliowing methods:
createlsuspendlre~ume/remove agent
ceceiveagent
list hosted agents
list available services
get agent state
get MAFFindcr nference
Chapter 5 MASIF and Grasshopper 48
The interface MAFFiider aiiows the registration and de-registration of agencies.
places, and agents in the scope of a region. Additionally. methods are provided to
search for specific agencies, places, and agents.
Because the methods of these two MASIF-cornpliant interfaces are not optimized for
the Grasshopper environment, a Giasshopper agency also can be accessed via the
Grasshopper-specific interfaces whicb have been designed especially for this platform.
and therefon dows to access the offered hinctionality in the most efficient way.
5.2.2.4 Grasshoppui - SpecMc Interfaces
The Grasshopper-specific interfaces include interface AgentSystem and interface
RegionRegistration. In contrast to the interface MAFFinder and MAFAgentSystem,
these two interfaces have been especially designed for the Grasshopper platform.
Apart from the functionality offered by MAFAgentSystem, the AgentSystem interface
provides methods for sophisticated place management, Le. the creation, suspension,
nsumption. and removal of places within an agency.
Apart fiom the functionality offered by MAFFindcr, the RegionRegistration interface
provides mechanisms for "f~ezing" an agent within a specific agency. Additiondy,
sophisticated search operations are comprised. *
5.2.3 Agent Prognmming Guide On Grasshopper
The following two subsection comprise some information that is need b r the
implementation of a Grasshopper-cornpliant mobile agent
5.2.3.1 Agent Methoda
Grasshopper-compiiant mobile agents are entirely implemented ia Java, realized by
means of at least one Java class. Each concrete agent bas to be derived from the
a b s m class Agent which is part of the platfonn class library, and which has to be
provided by each agency during iis mtime. This abatract class comprises various
Chapter 5 MASIF and Grasshopper 49
methods that realw the oniy "bridge" between an agent and its environment. These
methods can be subdivided into two groups WJ:
M-able methods: Several methods of the absuact class Agent must or may be
re-implemented by the agent programmer. For instance. the method l ive has to be
re-implemented since it specifies the actual task of the agent. whereas the method
crea t eDescr ip t ion can optionaily be ovemddea in order &O specify a textuai
description of the agent's task*
Non-modifiable methods: During its execution, an agent must be able to access the
capabilities of the core agency. Thus. the class de . ikv . grasshopper . agency .Agent provides various methods. That means. a concrete agent does not
get a refennce of any component of the con agency. but instead invokes methods
of its own superclass. These methods are declared final which means that they
cannot be modified or re-irnplemented by agent progrmea.
Some modifiable and non-modifiable agent methods that will be re-implemented or
used in our algorithm will be inuoduced in the Section 6.1.
55.3.2 Inter-Agent Communication
Agents must be able to communicate with each other in order to exchange information.
Especially, mobile agents must be able to access the offered hinctionality of service
agents. The mechanism for inter-agent communication is provideci by the
communication service.
An agent that iikes to make use of the communication service fmt bas to mate a local
proxy object associated with the agent that should be contacted. AU communication
(method caiis on the contacted agent) is done via that proxy object thus achieving
location transpmncy. Once the proxy object is created, the agent cm use di public
methods of the associated agent. The communication service takes care of coniacting
the deshed agent itseff and detemines the underlying communication protocoi. The
Figure 5.3 iiiustrates this scenario where Agent A is contacting Agent B.
Chapter 5 MASIF and Grasshopper 50
Agency One 1
f \ %
Communication Service I I ' Communication Sewer
4 d
Figure 5.3 The Usage of Proxy Objects for Dynamic Method Invocation
in this chapter, we have introduced our plaiform - Grasshopper. We will show how to
nalize our algorithm on Grasshopper in the next chapter. And hirther more. we will
analyre the performance of our proposed mode1 through a simuiator written by Java.
Chapter 6 Implementation and Performance SI
Chapter 6
Implementation and Performance
in this chapter. the implement detail on Grasshopper will be given in Section 6.1. And
in Section 6.2. we will analyze the performance of our algorithm through a simulated
cellular network consisting of 144 hexagonal cells with equal size manged in a 12x 12
grid.
6.1 lmplementation of Our Algorithm on Grasshopper
In our dsorhhm7 we have two kinds of service agents named the Base agent and the
Directory agent. We also have two kinds of mobile agents named the Stan agent and
the Finish agent. Their tasks have been described in Section 4.3. In order to realize
these tasks. we need implement four agents class: BaseAgent. DirectoryAgent.
StartAgent and FinishAgent. Each agent has to be a subclass of the common
Agent class. For instance, with the BaseAgent class, we have:
public class BaseAgent extends de.ikv.grasshopper.agencyAgent
And as we introduced in Section 5.2.3, several methods of the abstraa class Agent
must or may be ce-implemented. in our implementation. we WU re-implement
live ( ) , ini t ( ) . createName ( ) . isMobileAgent ( ) (only for service agents)
methods.
Figure 6.1 shows the diagram of our agent classes relationship accoràing to Unifieci
Modehg Language (UML). UML is a general-purpose notational language for
specifying and visualking complut software, especially large, object-oriented pmjects
Chapter 6 Implementation and Performance 52
(URL131. A class is drawn as a solid-outlinè rectangle with t h e compamnents
sepmted by horizontal iines [URL14]. The behavior of a class is repnsentcd by its
operations. The structure of a class is represented by its attributes. Relationships
provide a pathway for communication between objects.
hamet& string agentid: String Qarc1,norbcr: String
Figure 6.1 Diagram of Our Agent Classes Relationship in UML
In the above figure, there exist two types of relationships betweea classes: inherhce
and association. labentance is a relationship between a superclass and its subclasses.
Association is a bi-directional coonection between cIasses which is shown as a line
connecting the related classes [URL14]. In order to show how these agent classes
cornmunicae with each other, in the following subsection, we will intrcxiuce each agent
class in detaii.
Chapter 6 Intplementation and Perjiorniance 53
6.1.1 BaseAgent Clasr
BaseAgent class is a subclass of common Agent. It declares the following objects:
private String home; //this base station's location
private String homeid; /Abe identifcation of this base station
private String place; //the currenr place of the BaseAgent
private String channel-numbec //contains the nuniber of the channel
private String agentid; //the identification of created mobile agent
private String location-MSC; //the location of MSC
private String host-MSC; //the host name which MSC is residing
private String place-MSC; //the place name which MSC is residing
It includes the following methods:
create.kgentName ( ) : This method defines an individual name for Base agent.
public String createAgentName(){
r e t m new String(" BaseAgen t ");
1
isMobileAgent ( ) : This method indicates whether an agent is a mobile agent or
a service agent. By default, agents are indicated as mobile agents (rrnun value
truc). Thus. this method has to k ovemddea for each service agent.
public boolean is MobileAgentO{
retum false:
I
r i n i t ( ) : This method aliows to initialize the Base agent before the actud ta&
processing is started.
public void inif(){
Chapter 6 Implententation and Performance 53
//nitiulize the channel-nuder to null at first
channel-nwnber=null:
&et this base station's location. getserviceinfo () method
returns information about the service represented by the agent */ home=getServicein /O(). getSe wiceRuntimeRelated().service~cation ;
//get the id of this base statiun
humeid=getAgencyrd);
//gel this Basulgent current place
pface=deoikv.gr~~hopper.utiIoLocationA~~i~tant.getPla~e(h~me~;
//get the MSC's location
l o c a t i o n ~ M S C = d e . i k v o g r a s ~ h o p p e r . u t i l . l o c
createLocation(hosttMSC, *' MSC ", place-MX);
I - live ( ) : This method is the most fundamental method of each agent. since it
specifies the agent's bebavior.
public void [ive(){
//initiulize the information of mobile agent which will be created
Agen tlnfo info =nu fi;
Pif BaseAgent receives a signal from a mobile, ge tsignal (mobil el
method analyzes the signal und retum the message.-*/
String message=getSignal(mubile);
//lf message is "CallArnived ". creates Stan agent and send to MSC
if (message== "C&m*ved ") {
tv( Pcreate a StaNLgent in the cumnt place. crea t dgen t method
eMMes an agent to create mother agent Ui the sume or another
place 4th current agency.*/
hfo=this.c~eatdgenr('~crim,ca.ynuiuag~StartAge~'~
'*jile:/T, place, nul&
Chapter 6 Implementation and Pe@wmance 5s
catch(&ception e)//;
//get the id of the created agent
agentid = info.getSewiceID(). toString;
Pcreute a proxy of the Stadgent so that any public methods in
StartAgent class con be accessed by BaseAgent class. */ Sta rvlgen tP stanagent =new StanAgentP(agentid. homeid);
//invoke its move() method, startagent will migrate to the MSC
tr f l
startagent.nove()(l~cation~MSC);
I catch(lrception el();
//end ~essage="CallAmved")
st mers sage is "CallFinished", creates Finish agent and send to MSC
else if (message= = " CallFin ished ")
rrv(
//create a FinisMgent in the current
info =this.createAgent( "crim.ca. ymzhang. FinishAgent ':
'%le://", place, null);
I catch(Exception e){];
//,et the id ofthe created agent
agentid=info.getServiceID(). tostring;
Pget the retumed channel number according the mobile ID. Here
Mobile [mobileid] is an Object which contuining the chaMcl
niabcr it is currently m g . */ String rele~~~e~channet=Mobile[m~&ileui].channel~n~r;
Pcreate a proxy of the FinisMgent so that Badgent cl- cm access
any public methods in FinisMgent cl~rs.*/
FinishAgentP finishognt=new FinisMgentP
Chapter 6 Implementation and Performance 56
(agentid, homeid, relea~e~channei);
//invoke ifs mow() method, finishagent will migrate to MSC
tvl finishagent.nove(ficationfinishasenrnovco;MSC);
1 catch(Exception e)(J;
//end else iflnessage== "CallFinished ")
else
System.out. printin( "in valid message! ");
I
0 getchannel ( String charnel-number ) : This method is used to nceive
the result from StartAgent in the remote place (MSC).
public void getChannel(String channel-number){
//if the chunne~number is null, the cal1 is blocked
flchanne~num&er==null)
Systern.out.println( " This cul1 is blocked "1;
//elset, let this cal1 use the chunnel indicated &y chunnel-nwnber
else
MobiIe[mobi1eid].chonneiCnum ber=chunnei-number;
DirectoryAgent class is a subclass of common Agent. It declares the foilowing
object:
private String home; /nhc home location
DataBase dutabuse; Pa r@erence of DataBase object. DataBase is an object
which contains ait the citunnels ' occupation information.
It oniy c m be accessed by Directory agent. */
Chapter 6 Implementution and Performance 57
ACOTable acotable; Pa refrrence of ACOTable object. ACOTable is an object
which contains the channel occupation information of
specijic interjèrence cells. */ Vector waitingqueue; //the lis? for waiting queue
The DirectoryAgent class includes many methods. Among hem, some methods
are used to deal with DataBase which is not a main issue in ow research. Thus, we wiii
not show the implementation details of these methods here. The implementation of
these methods can refer to our simulator (Appendix B). We oniy describe the following
important methods:
r creatagen-ame ( ) : This method defines an individual name for Directory
agent.
public String createAgentName()(
return new String(" DirectoryAgent "1;
I
r isMobileAgent ( ) : This method indicates whether an agent is a mobile agent or
a service agent.
public booleun is MobileAgen t()(
tetum false:
I r in i t ( ) : This merhoci allows to initialize the Base agent beforr the actuai task
processing is started.
public void init()(
î*initia&e chunnel status Datahe using i n t ial-DataRase ()
database=new DataBase();
initiat-DataBase();
Nget the h u m location
Chapter 6 Implementation and Performance 58
live ( ) : This method specifies the Directory agent's behavior.
public void live(){
//do nothing in this mrthod
I
authentication (String agentid) : This method is used to check if the
agents valid or not.
public boolean authentication(String agentid)(
/*We suppose in MSC, there exists a database containing al1 volid agent
ID. Checking agentid in ID database by using method check-ID-
Da taBase (Str ing) . i ffund, retum m e . eise return false. */ boulean found=check-ID-DataBase(agentid);
retum found;
I
getACOTable (String agentid, String homeid) : This method is used
to provide the reiated AC0 table for a specific Stun agent.
public ACOTable geulCOTable(Sting agentid, String homeidll
W s t check ifthe agent is vulid &y invoking authentication method. If the agent is vaiid, then providing the service to this agent. */ ÿluuthenticrilion(ugentid)){
/*check DataBase ifthefield relating to its AC0 table is locked. Wait
until the reluted fields are unlocked.*/
while(isbcked~Datdase(homeid)(~
PEitruct AC0 tabiefrom D o t ~ m e for this agent according to the
homeid by unicg methd ge tTable-Da taBase (String) .*/
Chapter 6 Iinplementation and Pe&mtance 59
acotubfe=getTabIeeDutaBase(horneid);
î*Then lock the /irlds which related to this AC0 table by using
1 ock-Da taBase (ACOTabl el, and return acotable. */ lock-DataBase(acotab1e);
retum acotable;
1 else
//if the agent is not valid, then refure to provide service
System.out.println("niis agent is not valid");
I
retusnACOTable (ACOTable acotable) : This method is used to modim
the channef status database according to the retumed acotable and unlock the fields
which related to this acotable.
public void retumACOTable(A COTable acotable){
//ifthe AC0 table is changed, then change the DataBase according1y
ij(ismodifed(ucotab1e))
mudifyy_DataBase(acotuble);
//unlock the fields in DataBase which related to this AC0 table
unlock-DataBase(acotab1e);
I
getReleasedChannel(String homeid, String agentid, String
chamel-number) : This method is used to get released channel from Finish
agent. Aad process our channel release procedure.
public void getReleasedChnef
(Stting homeid. Snuig agentid, String chanel-num&r)(
ryirst check Qthe agent is valid by i nvohg the authenticution methd.
r the agent is wlid, then providing the service to this agent. */ ~authentication(agentid))(
Chapter 6 Implementarion and Perfomnce 60
Pcheck ifthe waiting queue is empty. I f it is not empry, check ifthis
channel can be ussigned to the waiting cull. */ iflwaitingqueue isEmptyo==false)(
//check the elements in the waiting queue one by one
//get thefirst proxy of Stan agent
SturrAgen tP item =(StartAgentP)~aitingitem~nextElement();
Pif the item isfron the same ceil as FinishAgent, then awake
the item, set the flag in item equal to 1 so that this Start agent
can n tum the result. Then stop checking the waiting queue. */ flitern. homeid==horneid)l
notify(item);
//infom the item which chmnel is released
String item.releasedchannel=~hannel~numbec
item.flag = I :
break:
I Pif the item is from the interfcrence cell of FinishAgent, then
awuke it. and set theflag in this item to 2 so that this Stan
agent con procrrd the conrputatim. */ iflisNeighber(item. homeid. homeid)){
notifi(item);
/knfonn the item which channel is released
String item.rcleared~hannel=channel~number;
String item releasedhomeid=honicid;
item.fllrig=2;
/hait unfil item finish its cornputution
while(item.finished==faIse)(/;
W t h e c h n e t c m be assigned to the item, break; Othewisc,
Chapter 6 Implementation and Performance 61
continue to check next element in the queue.
iflitemchunne 1-number)
break;
) //end flisNeighber(item, honicid, homeid))
J //end checking the waiting queue
) //end flwairingqueue. isEmpty0 = =fuise)
/*ifthe waiting queue is empty atfirst or this channel can not be
assigned to uny waiting call, retum this channel to Dutabase. */ retum Channel-DataBuse(channe1-number, homeid);
//end ifluuthentication(agentid))
else
System out.println( "This agent is not valid");
1
6.1.3 StartAgent C lau
StartAgent class is a subclass of common Agent. We declare the following
variables in this class.
private String home; //the location of the ce11 which this start agent comes front
private String homeid; //denrification of the ceil where the Start agent comes
privote String agentid: //idntification of the Start agent
ptivate String channef-number; //the retumed channel nimber
private ACOTable acotable; //rhe AC0 table which the start agent will analyzc
private int WaitingTime; //the time for a call waiting in the waiting queue
Its constnictor defines as:
public StartAgent(SIring agentid, String homeid)/
this. homeid=hometd;
th is. agen tid=agentid;
1
Chapter 6 Implementation and Pe#omance 62
The class includes the following methods:
O createAgentName ( ) : This method defines an individual name for Start agent.
public String createAgen tName(){
retum new String("Sfarti4gent");
}
init 0 : This method allows to initialize the Stan agent befon the actual task
processing is started.
public void inif()(
//get home 's location
home=getServiceinfo().getServiceRun time Related().se wicebcation;
//set 3 sec& for a Stun agent waiting in the waiting queue
WaitingTime=3000:
I
live ( ) : This method specifies Stan agent's behavior.
public void liveO(
/hf this agent is Start agent, then get AC0 table frorn Directory agent
ifietNume()= "StartAgent "){
Pcreate a proxy of Directory agent so that Stan agent can access any
public niethoàs in Directory agent. */ DirectoryAgentP directoryagent=new DirectoryAgentPO;
acotable=directoryagent.getACOTabIe~agentid, homeid);
//analyre the AC0 table according to our algorithm
String channelInumber=a~lyte~ACO(acotable);
//rctun the AC0 table to Directory Agent
directoryagettt. retumACOTable(acotab1e);
Pgno c k e l a~ailitbk, steep in the waiting queue until invoked by
Chapter 6 Implementation and Performance 63
Directory agent. If waiting time is expired, then terminates itserf:
The cal1 iifinally blocked. */ flchannel~number==nuil)(
//a& the proxy of this Stan agent to waiting queue in Directory agent
directoryugent. waitingqueue.addElemenr(nw StartAgentP());
String releasedchannel; //the channel number which will be released
String releasedhomeid: //the ce11 ID which wifl release a channel
while(time< = Waiting lime){
t v l
java. fang. Thread.sleepO;
1 /*invu&ed by Directory agent when a released channel is from the
same or interference ce11 with Finish agent. */ catch(Exception e){
/*set u Jlag to decide if Start agent need to analyze AC0 table.
First setflag O. rfflag is changed to 1 by Directory agent, that
means the released channel is from the sanie ce11 as this Stan
agent. Directory agent can assign this chonnel directly tu this
Start agent, no need to modifl DataBase. Then the Start agent
sends the results buck and teminates itself: r f 'ag is changed to
2 by Directory agent, that rneans the channel is from the inter-
ference ceil, need to onalyze the AC0 table to decide ifthis
channel can be used. */ int flag=O;
boolean finished= false;
while(frag= =O){);
//Qflag= I , assign the released channel to this Start agent
iAfag==l)(
channel~nw&r=re~edchamel;
break;
Chapter 6 Implementation and Pe#ormance 64
1 //ïf'ag=2, then get AC0 tablefrom Directory agent
acotable=directoryagent.getAC0Tuble(agentid, homeid):
Panalyze the AC0 table according to our algorithm. The ntethoà
reanalyze-AC0 is used to analyze AC0 table afrer clearing
the released c h e l in the base station with releasedhomeid, */
(acotable, releasedchannel, releasedhomeid);
//infom Directory agent the analyzation isfinished
fin ished =truc;
//return the AC0 table to Directury Agent
directoryugent. retumACOTable(acotableJ;
//if there is channel available, break; Othenuise, conrinue to sleep
break;
J //end catch
J //end while. Waiting rime is expired.
) //end ifihannel-number= =nuII)
Pif the tinte is expired or there exists channel availuble, send the result
back and teminates itself. */ Pcreate a proxy of BaseAgent so that Stan agent c m access any public
methods in B d g e n t cluss. */ BaseAgentP baseugent=new BuseAgentP();
baseagent*getChannel(channel-nmber); //snd the result buck to home
remove(; Ithis method removes the ugentjhm agency
1 //end HgeNante== "StartAgent ")
else
Systemout.printin("This is not Start Agent "):
Chapter 6 Implenrentatim and Performance 65
6.1.4 FinishAgmt C k r
FinishAgent class is a subdass of common Agent. It declares the fouowing
O bjects:
privute String channel-number; //the released charnel nurnber
privare String homeid: //identifiutiun of the cell where the Finish agent cornes
private String agentid: //identification of the Finish agent
Its constructor is defined as:
public FinishAgent(String agentid, String homeid. String channel-number)[
this.channe1-nwnber=channelhanumber;
this. homeid=homeid:
this.agentid=agentid;
i
FinishAgent class includes the following methods:
createAgentName ( ) : This method defuies an individual name for Finish
agent.
public String crecrteAgentNanre()[
retum new String(" FiriishAgent "):
1
r init ( ) : This method ailows to initiaiize the Finish agent before the actuai task
pmcessing is stacted.
public voUI inif()(
#&et home 's location
String home=gctServiceinf~).
getServiceR~~rimeReiated().se~iceLocation;
Chapter 6 Tmplementation and Performance 66
1 ive ( ) : This method specifies Finish agent's tasks.
public void live(){
Pif this agent is Finish agent. then retum this channel tu Directov
agent, then Finish agent terminates itself. */ iflgetNameO= " FinishAgent ")(
/*create a proq of Directory agent so that Finish agent can access
any public methods of Directory agent. */ DirectoryAgentP directoryugent =new Director yAgentP():
//retum the channel to Directory agent
directoryagent.getRe1easeChannel
(honeid, agentid, channel-number);
remove(); //remove this agent front the agency
1 else
System.out.println( "This is not Finish Agent");
Chapter 6 Iiplementation and Performance 67
6.2 Performance of Our Algorithm
in this section, a simulation program is written to evaluate the cal1 blocking
performance of the proposed algorithm with dinerent waiting time. Specifically, in
addition to its performance under unifonn tmffic, we examine its ability to alleviate
congestion in the hot spots of a cellular system.
As reference cases. we use the performances of Simple FCA Scheme. Firsr Available
DCA Scheme and Locking Packing (LP) Scheme in the same situation. As we
introduced in the Chapter 2. the Simple FCA Scheme allocates the same number of
nominal channels to each cell. And the First Available DCA Schemes assigns the first
available channel within the reuse distance encountered during a channel search to the
c d . in the Section 4.2. we have described the main idea of LP algorithm in detail.
6.2.1 Simulation
Our study is based on the following assumptions [David93 1 [Ming891 :
Al1 base-station transmitter power levels are the same in the absence of power
control.
The radio link is assumed to be free from noise and fading. So there is only power
loss in the radio signal due to propagation. b
Al1 portables and base stations have ideal homogeneous omni-directional antennas.
The channel assignment is macle only for the radio links from mobiles to base
stations. Aiso the channel assignment is made for snapshots of the system, where a
snapshot is the set of mobiles in the systern h z e n in their positions, at some instant
of time.
Chapter 6 Implementation and Peflormance 68
5. In each cell. caUs originate at a random position. The simulation assigns the base
station nearest to the mobile m a h g a c d attempt to provide service using a
channel available at the base station.
6. The call arrives according to the Poisson distribution [Appendix A], and the call
duration is exponentiaily distnbuted.
For the cornparison purpose, our simulated cellular network is the same as the one in
[Chih93], which consists of 144 hexagonal celis with equd size arranged in a 12x12
grid. in order to avoid the boundary effect. the 144 celis in our simulation are organized
as a 12x12 anay with wrap-around in both dimensions. Thus, the resuits are
repnsentative of an infinite system, and therefo~ apply CO typical cells in a large
network [Chih93]. Figure 6.2 shows the layout of the simulated 144-cell cellular
network.
Figure 6.2 The Simuiated 144-Cell Cellular Network Layout
Chaprer 6 Implementation und Performance 69
Similar to curent cellular system, the reuse constraint takes the form of two-celi
buffecing [Chih93]. That is, cells that use the same channel can not be either immediate
or second-layer neighbors. Under ihis constralnt. the reuse factor would k 7 when
FCA is deployed.
In general, the total number of distinct channels available in the cellular system is
typically in the range of 300-400 [ C W 3 ] . In our study. we carry out the simulation of
out algorithrn. Simple FCA algocithm. First Avuilable DCA algorithm and LP algorithm
with 350 distinct channels in the cellular system. that is. for the Simple FCA system,
then are 350/7=50 channels per cell.
The simulation was started initially with no c d s in the system. The time requind for
stability was about 10 minutes. That means after 10 minutes. blocking probability in
the fiat half h o u (from 10 minutes to 40 minutes) almost equals the one in the second
half hou (from 40 minutes to 70 minutes). Data were collected after stabilization for
about 30 minutes.
Blocking is defined as the ratio of new cd1 attempts blocked to new cal1 attempts and
does not include channel changes or forced cal1 terminations at ce11 boundaries.
In this section, we consider the case when d l cells in the network have the same arriva1
rate. We simulate the performances under diffennt -c load. different waitiog tirne
for a cail in the waiting queue and the diffennt average duration time of calls. In the
following subsection, we wili analyre the effects nsulted by different f m .
6.2.2.1 Performance under Offferont T m c Load
The F i p 6 3 shows the average ceii blocking rate of Simple FCA Scheme, First
AvailabIe DCA Scheme, LP Scheme and out aigorithm with 3 seconds waiting tirne in
the queue as a fwiction of trafnc Ioad per celi (calldhour) when average duration tim
of calls is 1 minute.
Chapter 6 Implementation and Pefo formance 70
Simple FCA
Our aigorithm
Figure 6.3 Blocking Cornparison: Unifom Traf'fic
From the Figure 6.3, we can sec that. our algorithm gives the lowest blocking
probability under diffennt traffic load followed by LP Scheme. First Available DCA
Scheme and the Simple FCA Scheme. Under moderate traffic conditions ( 6 5 0
calls/hour), the blocking probabilities are 1.37%. 3.36%. 13.87% and 55.58%
respectively. That means our algorithm with 3 seconds waiting time can decrease about
40 times, 10 times and 2.5 times blocking rate with respect to Simple FCA Scheme,
First Available DCA Scheme and LP Scheme. From the Figure 6.3, we dso can see
that. under iight and moderate mffic load, our algorithm can decrease much more
blocking probabiiity with respect to another ihree schemes, and under heavy M c . our
algorithm oaly outpecforms LP Schem with a small decrease in blocking probability,
but it still prfomis much more better than Simple FCA Scheme and First Available
DCA Scheme.
6.2.2.2 Petformance under Dbmnt Waiang Time
In order to show how dinerent waiting tirne for a caii in the waiting queue affects the
performance of our algorithm, we made simulations with different waiting tum h m O
second to 10 seconds when the tranc load per ceii is 6 5 0 callshow when average
drnation t h e is 1 minute. Fgure 6.4 shows the simulated =suit.
Chamer 6 Implementation and Performance 71
Figure 6.4 Blocking Cornparison with Different Waiting Time
From the Figure 6.4. we cm see that the longer the waiting time. the less blocking
probabiiity is. From O second to LO seconds. the blocking probability decreases from
3.36 to 0.09, that means, with 10 seconds waiting time. the blocking rate can decrease
about 38 times with respect to the same algorithm without waiting queue. Regarding to
the tolerance a mobile user can have, in the Section 6.3, we fix the waiting time to be 3
seconds when the average duration t h e is 1 minute.
6.2.2.3 Performance under Diffennt Average Duratton Time
Tdiic (in Erlang) is a measunment of how "busy" a Line is dunng a period of
measurement. Traffic is calculated using the following formula [URLIZ]:
Tr@c(in Erlangs) = Number of calls/hour x Average duration rime
Thus, we can know that a large number of calls with a short average duration tirne will
produce the same resdt as a small numkr of calls with a long average duration tirne.
The Figure 6.5 shows the average blocking probabilities of different algorithm under
different tdc load per ceii (cailshow) with t h e seconds waiting cime for our
algorithm when average duration time of calls is 3 minutes.
T~c~lood(cIllr/hour)
Simpic FCA
1800
45.88%
2000
50.98%
2200
55.8 196
2400
59.38%
2600
6 1 -70%
Chapter 6 Implementation and Performance 72
Figure 6.5 Effect of Average Duration Time: Unifom Traffic
Comparing the Figure 6.3 to Figure 6.5. we can see that with the same blocking
probabilities. ail algonthms can cany about 3 times mon caiis per hou with 3 minutes
average duration time than with 1 minute average duration time.
25.69%
13 .27%
12.14%
In order to show the effects of average dmtion time on the waiting time for a call in
the waiting queue. we also simulate the pelformance of our algorithm with 3 minutes
average duration time under different waiting time from O second to 10 seconds when
the traffic load per ce11 is 2200 calldhour. The Figure 6.6 shows the result:
21.68%
8.78%
7.65%
Figure 6.6 Effect of Average Duration Time: Different Waiting Time
15.88%
3 50%
2.61%
From the Figure 6.6, we can see that the blocbg probability decreases from 3.60 to
1.43 when the waiting the for a c d in the waiting queue is chmged h m O second to
10 seconds, that means, with 10 seconds waiting time, the blocking rate can demase
about 2.5 times with rrspect to the same algorithm without waiting queue. Compared to
the Figm 6.4, in which the blocking rate cm decrease about 2 5 tims with ody 3
seconds waitiiig tim with respect to the same algorithm without waîting queue, we can
see that with the same blocking probabiiity, the longer the average duration the is, the
longer the waituig time for a call in the waiting caii shodd have.
8.90%
0.56%
O. 14%
h
~ m t A ~ P ~ M I ~ DCA 2.9 1 46 L
I LP dgorichm
~w olgoriihm
0.01 %
0.00%
Chavter 6 Implementation and Performance 73
6.2.3 TWic Hot Spots
Usudy there are temporal and spatial variations Ui local trafic àernaods. The DCA
Algocith have great advantage in these situations due to flexibility in their channel
assignment. Various patterns of naffic hot spots may be of practical interest [Chih93].
We particularly consider the isolated hot spots such as the Gimt Stadium after a bail
game (see Figure 6.7). the diagonal highway (set Figure 6.8) and the expressway
amund a metropditan area during rush hour (see Figure 6.9).
We simulate the performances of these thm layout by ushg Simple FCA Scheme. Fim
Available DCA Scheme, LP Scheme and our aigorithm with 1 minute average duration
time and 3 seconds waiting time in the queue as a huiction of traffic load per shadow
ceU (callslhour) while the MLC load in the o k cells is 6200 calls/hour. The Figure
6.10. Figure 6.1 1 and Figure 6.12 show the simuiated results.
Figure 6.7 Trafnc Hot Spots: Giant Siadiurn
Chapter 6 Implementation and Performance
Figure 6.8 T d c Hot Spots: Diagonal Highway
Figure 6.9 Traffic Hot Spots: City Beltway
Chapter 6 Implementation and Peflormonce 75
Sipk FCA
Our algorithm
Figure 6.10 Blocking Probability for Traffic Hot Spot: Giant Stadium
Our algorithm
Figure 6,11 Blocking Probability for Tnnic Hot Spot: Diagonal Highway
I Simple FCA
I ~ u r olgonthm 1 034% 1 1.63% - -- -
Figure 6.12 Bloclong Probability for Tranic Hot Spot: City BeItway
Chapter 6 Implementation and PerJomnce 76
From Figw 6.10, Figure 6.1 1 and Figure 6.12, we cm see that our aigorithm gives the
lowest blocking probability under various -c hot spots layout. followed by LP
Scheme. First Available Schene and Simple FCA Scheme. For example. in Diagonal
Highway, when the traffic load in hot spots is increased 3896 (8600 caiishour), the
blocking probabilities are 2.82%, 4.2596, 13.32% and 55.33% respectively. For Giant
Stadium (Figure 6-10}, Diagonal Highway (Figure 6.1 1) ami City Beltway (Figure 6.12)
layout. our algorithm can inmase 78%. 103% and 74% -c load in the hot spots
respectively with only about 10% blocking probability. We can see fiom the given data
that. with the light and moderate increase of the trafic load in the hot spots. our
aigorithm behaves much more better than another three algocithm. Under the heavy
incnase of trafTic load in the hot spots. o u algorithm only outperfonns LP Scheme
with a smdl decnase in blocking probability, but it still perfoms much better than
Simple FCA Scheme and First Available DCA Scheme.
In this chapter. we have talkcd about the implementation and performance of our
aigorithm. In mxt chapter, we will summary our work and give the recommendation
for future work.
Chaoter 7 conclusion
Chapter 7
Conclusion
7.1 Contribution
In this nsearch. a mobile-agent-based dynamic chanml allocation with waiting queue
algorithm was developed. This algorithm can give mobile users the choice to w i t for a
connection so that it impmves the quality of service (QoS) in cellular network. That is.
a user can accept some variations with respect to required QoS parametea.
From the viewpoint of computation and network resource, our model is based on
Mobile Agent Paradigm that has great advantages on reducing network trafic, dealing
with vast volumes of data and dynamic adaptation. Our study uses mobile agent to
. make dynamic decision and do the computation when it is in the remote destination.
Thus. it makes our algorithm more efficient and cornpetitive with respect to the
tradi tional client/sever model.
We considered the Grasshopper mobile agent e n v i m e n t as our platfom because it
allows user to build agent-enabled distributed applications, which take advantage of
local hi&-speed corqmunication and local high-speed data rcess . Grasshopper is
compliant to Mobile Agent System Interoperability Facilities Specification (MASIF)
which is b u d on Java and built on top of the CORBA.
A simulation program also bas been written to evaluate the performance of our
proposed algorithm. Our simulator consists 144 hexagonal cells w i h 350 distinct
channeis which is typical channei number in the cellular system. We simuiated the
Chapter 7 Conclusion 78
performances under different traffic load. different waiting t h e for a caü in the waiting
queue and the different average duration time of c d s . As refennce cases. we also
simulated the performances of Simple FCA Scheme, First Avaiiuble DCA Scheme and
Local Packhg Scheme in the same situation.
The simulations showed that even with a few seconds waiting time for a cd1 in the
waiting queue. it maintaias a favorable perfomiance over Simple FCA Schemc, First
Avuiluble DCA Scheme and Local Packng Scheme under uniform traffic load. The
longer the waiting thne for a cal1 in the waiting queue, the less the blocking probabiiity
our algonthm bas. The simulations also showed that with the same blocking probabiiity
under the sarne traffic load. the longer the average duration time is. the longer the
waiting time s hould have.
From the viewpoint of practical interest, three typical patterns of traffic hot spots such
as Gant stadium. Diagonal highway and City kltway were considered. Through the
simulation. we can x e that our algorithm also has lowest blocking rate with respect to
the other thme algorithms especially when the system has light or modemte uaffc load.
Under heavy traffic, our algorithm only outperforms LP algorithm with a s m d
decrease in blocking probability, but it still perfomis much more better than Simple
FCA Scheme and First Available DCA Scheme,
7.2 Future Work
The following recommenàations are suggested for future improvements and hiaber
developments of our proposed algonthm:
a The algorithm couid considet the priority of incoming calls. Each cail has a priority
factor, the c d with h i e r prionty should k served first if two calls corne
simultawwsly. in the waiting queue, we could sort the d s by their priority factors
and put the caii with highest priority in the head of queue. This strategy cm prevent
losing some important caüs and can let some urgent cds get connected as soon as
possible.
Chapter 7 Conclusion 79
The algorithm could set dynamic waiting t h e instead of fixed waiting t h e for
calls in the waiting queue. in this way, every mobile user can decide how long he
can wait to get connected. This hnprovernent can offer the mobile users more
chance to state their requirement.
In our proposcd algorithm, we make assumption that the set of mobiles in the
system is fiozen in their positions at s o w instant of time. But practically. some
mobiles can move from one ce1 to awther and any active cal1 needs to be allocated
a chamel in the destination cell. This event. termed the handover or handofi
deserves f i e r consideration.
Appendik A Poisson Distribution 80
Appendix A
Poisson Distribution
The Poisson distribution govems the occumnce of random events in space or time. It
assumes the distribution of the intervals elapsing between two consecutive requests is
exponential. Usually the pracess is said to consist of discrete events occhng (with an
exponential distribution) at a constant rate of L eventshime. Then the probability of
exactiy N events occurring within a t h e interval t is (ULR'I]:
Waiting time distributions are based on the exponential distribution. which in turn is
derived from the Poisson distribution.
Consider a problem such as the cd1 request in a cellular system. The numkr of calls
during any particular unit of tirne is governed by the Poisson distribution with mean L
per unit tirne. We WU consider the distribution of time intervals between successive
call cequests and €id the probability that there is a the-interval of length t between
successive call requests m l .
We divide t into increments dt in length such that there is a smali probability p of the
occurrence of a cal1 request during dt, q is the probability of no occurrence of a caIi
request in that interval, where p+q = 1. dt is assumed s d enough to make the
probabiiity of more than one c d request in dt negligible.
Appertdix A Poisson DismDbution 81
The probability, àenoted by dP, that there are n incremental intervals between
successive caii cequests is given by:
That is n intervais with no c d requests, and in the (n+l)th interval we have a cal1
nquest. So we bave:
Now if there are L cail requests per unit tirne, the mean number of cal1 nquest in time
dt is U t . So using the fonnula, mean = nwnber of trials x the probabiiity ofsuccess at
any trial, we get:
This gives us dt = p L Because we can write dt = ü'n. Equating expressions for dt we
have pLL = r/n , that is p = U n . Then we can get:
As n -> infinity, the expression in brackets tends to exp(-lr). We can get:
The righthand side is the exponential distribution, and is the probabüity density
huiction for the intend ktween successive events. i.e. it is the pmbabiiity that the
time intemal lies between t and t+dtD The probabüity that a given interval is less than
or equal to t is given by integrating. So we can get the cumulative distribution:
Appendix B Source Codes
Appendix B
Source Codes
In this section, we list the important classes for simulators of Simpie FCA Scheme, Fist
Available DCA Scheme, LP Scheme and out proposcd scheme.
1. Simple FCA Scheme
This program is written to calculate the blocking probability of Simple FCA Scheme. It
includes class MSC, class Basestation, class Cab and class MySuuig. The program
was tested using JDK 1.1.5 under Unix system.
This is the controUing c k usai 10 ulculatc the blocking pmbpbility uing Simpk FCA aigorithm. in ihis clius, m ody collcct ihc dotri benwecn Sm-cime anci End-timc which givcn by tht user.
Appendix B Source Codes
Source Codes
IîThis mcthod is uscd to dccidt if o cmpty ch~nnci am k found int FindNrwChand() {
for (int i=&~c chPnnnl,num;i++)( if( cti;uui;il~tonir(i)=aull)
nnun i; Ifif found rcsum the c h W numkr I
ccium -1 ; I l o t h ~ . mum - l 1
This clus defines a objcct Ca, whicfi only contains om porpmcccr d l i d .
*I c b cd(
int d i d ; public Cdltint dIidl(
this.uîliû=uilid; 1 I
AppendLx B Source Codes 85
//ni& rncthod is usaî ro d c u h t e the numkr of îïd& Md mum it. public smic int split~ium(Suing string, Saing dclimiot){
int ùiduf. indcxb; int coune 1 ; indtxf=indcxb=O: int Im=delimiru.Ien@O; whil~(indtxkmng.indarOt(&timiof.induf))!= 1 ){
couni++; indcx&indcxb+lcn:
1 rcturn count*;
1 I
2. First Available DCA Scheme
This program is written to calculate the blochg probability of Fit Available DCA
Scheme. It includes class MSC, class Basestation, class Cal1 and class MyString.
Among them, class Cd1 and class MyString are the same as the ones in Simple FCA
Scheme. Thus, we don? list these two class hem. The program was tested using JDK
1.1 .S under Unix system.
This is tht conuoUing ciass usai to cokuhe iht blocking prPbobility using Fint Avrriloble DCA algoriihm In ihis c k WC only colkct ihc &ta ktmtn Sipn,tim anâ End-tirnt which givcn by the user.
Appendik B Source Codes
A~vendUc B Source Codes
ImUs mcthod is uJcd to And o chonncl for the c;ill by Fint Awiloble DCA AIgariihm int FïnNNcwChPMolO(
Cd1 neighbtf,~~[]~=ncw CoU[6][choniipliiplnum]; fortint id;ic6;i+t)
nci~bct,c~[i1=b~1tPtion(i].GctChoniiPI 1; fortint i~,i~chonnd,num:i++) (
if (channal,stotus(i) = nuIl)( int j; fodj=O:jc6;j++)
if(ncighbtr,chonnd~][i] != null) break; if 0 4 ) nrum i; Ifif a chPnne1 is found. mum the cticuiml numkr
1 1 mum - 1; Ilothemisc. m m - 1
1
Appendix B Source Codes 88
3. Local Packing Scheme
This program is written to calculate the blocking probability of Local Packing Scheme.
It includes class MSC. class Basestation. class Cail and class MySuing. Among them,
class CaU and class MyString are the same as the ones in Simple FCA Scheme. Thus.
we donPt list these two classes hem. The program was tested using JDK 1.1.5 under
This is thc conmlling c b uscâ to dculnic the blocking probobility using LP dgoriûun. fn ib ciass. WC only collcct the data knuttn Sm-tirne and End-lime which giwn by iht user.
clas MSC( smtic int cumnt-tirne; stock BycStoiion[][) basesiaiion; smuc int blodt,nuW. Ilcounrcr for blocking d i s surtic int iotd,cdl=O. //counicr for t o d c;illz smuc int Sinrt,rimc+End,time: //set ihc s m cime and end tim for dota collccting
//This is the cunsuucror OC clais MSC. makc som initidimtion public MSC(inr toiPl,chon,num)(
b;iscstlltion=nw BwStorion[lt](l2]; for (int i=O5<13;iu)
for tint j=Qjc12j++) ~tnWon[i][i]=nnu BPscSt~tion(i. j, iot;il,~h;ui~num):
for tint i=O:icll.j.H) for (int j=O;j<E;j++) bwsmtion[i]~].initidO; currcnt-timt=û:
Appendii B Source Codes
This c h is used to calcuhu the blocking pmbpbility of L o d h k i n g Sckmr. b includcs Initiai(). MaltcNcwCdI(~I). GeiChonntlO. FindNewChmlO. bR#irgoniPbko, Switch,channcl(int.int), TokcNmrCdI(Cdl.ini) and RelCILKCdl~int) mcchods.
/tihis ir the consuuctor o fc lw BYeSiation. mpking somt initidintim public BascStation(int x, hi y. int c W - m m ) (
mlrix~x=%; mrilruJ=y. h is .~ -nu~~l= fhano;r l~nt tm; ch;uuiPIh;uuiPIs~us=nnw Cdl[chPMPlhPMPlnum];
I
Source Codes
Iiï'his mclod is used io deci& i f m cmpty & a n d am k found int finNNewChannaJO{
foflint i=01<6.i++) ~~krkrchannnl[i]=basEltoaon[i].GrtCharuirJO;
fortint i=Oej-~iwn;i++)( if (chonnolhonnolstpiiu(i] = null) (
int j; f&o:jcO;j++)
ifhcighbcr,chmnd~][i] != null) brwls; if [j==6) ntum i; Ilif find 9n cmpry ctwuicl, murn ihc chonnt1 n u m k
1 1 m m - 1 ; / / o i ~ r c n i m - 1
I
Imir mcthod is uscâ to &ci& i f o chonncl an k found by rcorgonizüion using LP dgorithm int isReorgPnizoblcOI
for tint i=O;i~ctioMol,nurn5++)( if(ctwuiPlgwitus[il=null){
;nt j; inc cmùuhm-boscrmtion=O; int k=O:
Ilfind the column which only b one check m;uk in the AC0 &le for(i=0pd:j+t)(
if(ncighbcrehberchMiti] [ i] !=null) ( cMdobic,bascsiruion=j; k++;
1 if( k> 1 ) b m k :
1 if(j=6 a& kd)(
int cmpty,chpnnnl=b~til~on[ei~n~~e~b~~~t~tion ].FindNewChnnnnl(); if(anpty-chand!=-1)( /Tif the mponding ceIl h a cmpty channc!. swiich the ch;uuiel
bos#miion[c;ui~~~b~~~tion].Switch,Chond(i.cmpry~~hYui;il): rtturn i; Ilrtturn the chpnncl numbcr i
l t
1 I
m m -1; /Tif canner reorgnnizable. rctum -1 1
Appendix B Source Codes PI
4. Our Proposed Scheme
This program is writtcn to calculate the blocking probabiliiy of our proposed scheme. It
includes class MSC. class Basestation, class WaitingCall, class WaitingQueue. class
Cal1 and class MyString. Arnong them. class Cd1 and class MyStnng are the same as
the ones in Simpie FCA Scheme. Thus, we don? Iist these two classes here. The
program was tested using JDK 1.1.5 under Unix system.
This h the conmUing c h ued CO dculate the blocking probobility using ow proposcd dgotiihm In this cl~~ss, wc only colleci the chia knwecri Sm-cime and End-timt which givcn by the W. And miiing tim of a dl in tht \miring queue is Plso givcn by user.
Appendix B Source Codes
Appendix B Source Codes 93
/i"ihù mcihod is uscd IO &ide if an cmpty chPnncl cyr k found int FinâNewChoruial(){
for(int i=kid:i++) ~ghkr ,c~ [ i ]=bpxs(~~ ion[ i ] .~ rChannol i ) :
fortint i=Qi<ctwinol~ium:i++)I if (chnd,sta~us[ij = nuIl)(
int j; fofi=(lj<a;jt+)
ifbeighkr,channol~][i] != nul11 brwk; if (jd) rcturn i; //if find an mpty chonncl, ntum the c b l numbcr
t 1 rctum - 1 : Iloihcmizc:. rctum - 1
1
Appendik B Source Codes
mhad is uscd to switch the chpnncl if rcorganirntion octua void Switch-ChPnnoliint fmm int to)( ctwinrii,saius[to]=~:hruuiol~s~~f~[fmrn]; cfi;uinal~smius[fmm]=null:
1
This c l a s is uscd IO kcep the identification of rr miting d I . It i n c l u b the ce11 numbtr which the miiing dl cornes h m the d l i d and the timc which this dl have d d y mitcd
Appendix B Source Codes 95
dw WoitingQucue Vcctor wpitingqucue; int woitingtimc=MSC.mitingJim.
Appendix B Source Codes M
Bibliography 97
Bibliography
[Anselm951 Anselm Lingnau and Oswaid Dmbnik. "An infiastructure for
mobile agents: Requirements and Architecnirr". Proc. 13th DIS
Workshop, Orlando, Horida, September 1995
[Chess95] D. Cheu et ai, "lttinerant Agents for Mobüe Cornputing". IBM
Research Report RC200 10, IBM Research Division, 1995
[Chihg31 Chih-Lin and Pi-Hui Chao, "Local Packing Distributed Dynamic
Channel Allocation at Cellular Base Station", EEE
GLOBECOM, 1 1,1993
Don Cochrane, "Quality of Service Mappings", The Management
and Telecommunications Netwocks, eds: R. Smith, E. H.
Mamdani, and J. G. Callagan. Mis Honnrood, 1992
D. C. Cox and D. O. Reudink, "Dynamic Channel Assignment in
two dimension large-scaie mobile radio systems". The Bell
System Technical Journal. 5 1 : 16 1 1-1628, 1972
Petre Dini, A. Hafîd, "Towards Automatic Trading of QoS
Parameters in Mdtimdia Distriiuted Applications", ûpen
Distniuted Rocessing and Dismbuted Platforms. 4: 166-179,
May, 1997
[Donald72] Donald C. Cox and D. O. Reudink. "A Cornparison of Some
Channel Assignment Strategies in LargeScale Mobile
Communication System", IEEE Transaction on Communications,
COM-2q2): 190- 1%. April, 1972
Donald731 Donald C. Cox and Douglas O. Reudink, "Increasing Channel
Occupancy in Large-Scaie Mobile Radio Systems: Dynamic
Channel Reassignnient", IEEE Transactions on Vehicular
Tecbnology, VT-22(4): 2 18-222. November. 1973
[Einoubi82] S. M. Elnoubi, R. Singh and S. C. Gupta. "A new f~quency
channel assignment algorithm in high capacity mobile
communication systems", IEEE Trans. Vech. Techwl. VT-3 1 (3),
August, 1982
J. S. Engel and M. Peritsky. "Statistically optimum dynamic sever
assignment in systems with interfering seven", lEEE Trans.
Vech. Technology. VT-22(4), November. 1973
Fred Haisali, "Data Communications. Computer Networks and
Open Systems", Addison-Wekley hblishing Company. ISBN O-
201-42293-X, 1996
[ F w Y ~ ~ 11 Fwya. Y. and Yoshibiko Akaiwa, "Channel Segregation : A
Distributed Channel AUocation Scheme for Mobile
Communication Systems". IEICE Transactions. 74: 153 1- 1537.
199 1
GMD FOKUS, "Mobile Agent System uiteropenbüity Facilities
Specifîcation", OMO TC Document orbos/97-10-05. November,
1997
Bibliography 99
[Hosoon96] Hosoon Ku and Gottfried W. R. Luderer, "An intelligent mobile
agent framewodc for disaibuted n e m k management", Network
S ystem Laboratory, Arizona S tate University, 1996
Hua Jiang and Stephen. S. Rappapon, "Prioritizcd Channel
Bonowing Without Locking: A Channel Sharing Strategy for
Cellular Communication", JEEE GLOBECOM, 1 :276-280, 1993
Jens Zander and Hakan Eriksson, "Asymptotic Bounds on the
Performance of a Class of Dynamic Channel Assignment
Algorichms'*, IEEE Journal on Selected Areas in
Communications, 1 1 (6):926- 933. August, 1993
[Kahwa78] T. J. Kahwa and N. D. Georganas. "A hybcid channe1 assignment
scheme in large scale", IEEE Trans. Communication, COM-
26(4), April. 1978
[Katzelagd] 1. Katzela and M. Naghshineh, "Channel Assignment Schemes
for Cellular Mobile Telecommunication Systems: A
Comprehensive Survey", IEEE Penonal Communications, pages
lû-31, June, 1996
[Kazunon92] Kaninori Okada and Fumito Kubota, "ûn Dynarnic Channel
Assignment Strategies in Cellular Mobile Radio Systems", EICE
Transactions Fundamentals, 75( 1634- 1641). 1992
Lewis. G. Anderson, "A Simulation Study of S o m Dynamic
Channel Assignment Algorithms in a Hi& Capacity Mobile
Telecommunications Syscem", IEEE Transactions on Vehicuiar
Technology, VT-22(4):2 10-2 17, November, 1973
Bibliography 100
M c hael951 Michael R. Genesereth and Steven. Ketchpel, "Sofiware Agents",
Cornputer Science Department. Stanford University, 1995
Mike Rivo and Ian A. Utting, "An Agent-based Mode1 for the
provision of Advanced Telecommunications Services".
Computing laboratory, University of Kent at Canterbury, U. K.,
1995
Ming P i a n g and TakShing P. Yum. "Cornparisons of Channel-
Assigrunent S trategies in Cellular Mobile Telephone S ys terns",
IEEE Transactions on Vehicular Technology, 38(4):2 1 1-2 15,
November, 1989
Ming Zhang and Tak-Shing P. Yum, ''The Nonuniform Compact
Pattern Allocation Algorithm for Cellular Mobile System", IEEE
Transactions on Vehicular Technology, 40(2):387-39 1, May,
1991
Mm Wan Kim, et ai, "Dual Agent System to htegrate Service
Control and Network Management", Fujitsu Laboratories Ltd.,
Japan, 19%
[Muuumu93] Mutsumu Sericawa and David J. Goodman, "Instability and
Deadlock of Distributcd Dynamic Channel Aliocation",
Proceedings of the 43rd lEEE Vech. Tcchnology Conference,
pages 52853 1,1993
[Nettleton89] R W. Netdeton, "A high capacity assignment method for cellular
mobile telephone systems", 39th IEEE VTC. pages 359-367,
1989
Bibliography IOI
[Partha971 Partha P. Bhattacharya and Leonidas Georgiadis, "Distributed
Channel AUocation for PCN with Variable Rate T&ic",
EEE/ACM Transaction on Networking, S(6):907-923,
December, 1997
Race Roject QOSMIC Deliverable 1.3C: "QoS and Performance
Relation", 8~T/LM/DS/BIO 13/b 1
C. S. Reece and A. Van De Liefvoortt "Performance Analysis of
Heterogeneous TMc on an Integrated Network Link with Finite
Waiting Room and Anticipated-Release Researvation Policy".
Cornputer Science Telecommunications. University of Missouri-
Kansas City, February, 1996
[Songwu97] Songwu Lu and Vaduwr Bharghavan, "Adaptive Resource
Management Algorithm for Indoor Mobile Computing
Environments", Coordinated Sciences Laboratory, University of
niinois at Urbana-Champaign, 1997
[Steven97] Steven R. Farley. 'Mobile agent system architecture", SES
Publications, bc. New York, NY, USA, 1997
~ s ~ g h ~ u n 9 6 1 Sunghyun Choi and Kang G. Shin, "A Cellular Wireless Local
Area Network with QoS Guarantees for Heterogeneous Traffic",
Real-the Computing Laboratory, The University of Michigan,
CSE-TR-300-96. A~gu~t . 1996
Bibliography 102
[URL 141
http://www .zdwebopedia.comfïERM/ü/UML. htmi 1 998
Vijay K. Jain and Bonchul Koo, 'TDMAIFDMA PCN System:
An Advanced Channel Bomwing Strategy".'iEEE GLOBECOM,
1:271-274, 1993
White J.. 'Telescript technology: The foudation of the electronic
market place", General Magic white paper. 1995
Wuyi Yue, "Analytical Methods to Calculate the Performance of a
Cellular Mobile Radio Communication System with Hybrid
Channel Assignment". IEEE Transactions on Vehicular
Technology, 40(2): 453-460. May, 199 1
[Yoshiyasu93] Yoshiyasu Nishibe, et al, "Distributed Channel AUocation il.
ATM Network", EEE GLOBECOM, 1 :4 l7-423,1993