+ All Categories
Home > Documents >  · 2005-02-10 · "I uWbs and Acquisitions et 6b bgraphic Setvices senbs bibliognphiques The...

 · 2005-02-10 · "I uWbs and Acquisitions et 6b bgraphic Setvices senbs bibliognphiques The...

Date post: 23-Jun-2020
Category:
Upload: others
View: 0 times
Download: 0 times
Share this document with a friend
113
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
Transcript
Page 1:  · 2005-02-10 · "I uWbs and Acquisitions et 6b bgraphic Setvices senbs bibliognphiques The author bas granteci a non- exciusive licence allowing the National Library of Canada

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

Page 2:  · 2005-02-10 · "I uWbs and Acquisitions et 6b bgraphic Setvices senbs bibliognphiques The author bas granteci a non- exciusive licence allowing the National Library of Canada

"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.

Page 3:  · 2005-02-10 · "I uWbs and Acquisitions et 6b bgraphic Setvices senbs bibliognphiques The author bas granteci a non- exciusive licence allowing the National Library of Canada

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

Page 4:  · 2005-02-10 · "I uWbs and Acquisitions et 6b bgraphic Setvices senbs bibliognphiques The author bas granteci a non- exciusive licence allowing the National Library of Canada

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

Page 5:  · 2005-02-10 · "I uWbs and Acquisitions et 6b bgraphic Setvices senbs bibliognphiques The author bas granteci a non- exciusive licence allowing the National Library of Canada

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.

Page 6:  · 2005-02-10 · "I uWbs and Acquisitions et 6b bgraphic Setvices senbs bibliognphiques The author bas granteci a non- exciusive licence allowing the National Library of Canada

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

Page 7:  · 2005-02-10 · "I uWbs and Acquisitions et 6b bgraphic Setvices senbs bibliognphiques The author bas granteci a non- exciusive licence allowing the National Library of Canada

........................................................................................... 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 .......-..-....... ... .....................................

Page 8:  · 2005-02-10 · "I uWbs and Acquisitions et 6b bgraphic Setvices senbs bibliognphiques The author bas granteci a non- exciusive licence allowing the National Library of Canada

............................................................... 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

Page 9:  · 2005-02-10 · "I uWbs and Acquisitions et 6b bgraphic Setvices senbs bibliognphiques The author bas granteci a non- exciusive licence allowing the National Library of Canada

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

Page 10:  · 2005-02-10 · "I uWbs and Acquisitions et 6b bgraphic Setvices senbs bibliognphiques The author bas granteci a non- exciusive licence allowing the National Library of Canada

....................... 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

Page 11:  · 2005-02-10 · "I uWbs and Acquisitions et 6b bgraphic Setvices senbs bibliognphiques The author bas granteci a non- exciusive licence allowing the National Library of Canada

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

Page 12:  · 2005-02-10 · "I uWbs and Acquisitions et 6b bgraphic Setvices senbs bibliognphiques The author bas granteci a non- exciusive licence allowing the National Library of Canada

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.

Page 13:  · 2005-02-10 · "I uWbs and Acquisitions et 6b bgraphic Setvices senbs bibliognphiques The author bas granteci a non- exciusive licence allowing the National Library of Canada

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

Page 14:  · 2005-02-10 · "I uWbs and Acquisitions et 6b bgraphic Setvices senbs bibliognphiques The author bas granteci a non- exciusive licence allowing the National Library of Canada

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.

Page 15:  · 2005-02-10 · "I uWbs and Acquisitions et 6b bgraphic Setvices senbs bibliognphiques The author bas granteci a non- exciusive licence allowing the National Library of Canada

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).

Page 16:  · 2005-02-10 · "I uWbs and Acquisitions et 6b bgraphic Setvices senbs bibliognphiques The author bas granteci a non- exciusive licence allowing the National Library of Canada

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.

Page 17:  · 2005-02-10 · "I uWbs and Acquisitions et 6b bgraphic Setvices senbs bibliognphiques The author bas granteci a non- exciusive licence allowing the National Library of Canada

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

Page 18:  · 2005-02-10 · "I uWbs and Acquisitions et 6b bgraphic Setvices senbs bibliognphiques The author bas granteci a non- exciusive licence allowing the National Library of Canada

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.

Page 19:  · 2005-02-10 · "I uWbs and Acquisitions et 6b bgraphic Setvices senbs bibliognphiques The author bas granteci a non- exciusive licence allowing the National Library of Canada

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].

Page 20:  · 2005-02-10 · "I uWbs and Acquisitions et 6b bgraphic Setvices senbs bibliognphiques The author bas granteci a non- exciusive licence allowing the National Library of Canada

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.

Page 21:  · 2005-02-10 · "I uWbs and Acquisitions et 6b bgraphic Setvices senbs bibliognphiques The author bas granteci a non- exciusive licence allowing the National Library of Canada

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.

Page 22:  · 2005-02-10 · "I uWbs and Acquisitions et 6b bgraphic Setvices senbs bibliognphiques The author bas granteci a non- exciusive licence allowing the National Library of Canada

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.

Page 23:  · 2005-02-10 · "I uWbs and Acquisitions et 6b bgraphic Setvices senbs bibliognphiques The author bas granteci a non- exciusive licence allowing the National Library of Canada

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

Page 24:  · 2005-02-10 · "I uWbs and Acquisitions et 6b bgraphic Setvices senbs bibliognphiques The author bas granteci a non- exciusive licence allowing the National Library of Canada

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

Page 25:  · 2005-02-10 · "I uWbs and Acquisitions et 6b bgraphic Setvices senbs bibliognphiques The author bas granteci a non- exciusive licence allowing the National Library of Canada

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

Page 26:  · 2005-02-10 · "I uWbs and Acquisitions et 6b bgraphic Setvices senbs bibliognphiques The author bas granteci a non- exciusive licence allowing the National Library of Canada

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

Page 27:  · 2005-02-10 · "I uWbs and Acquisitions et 6b bgraphic Setvices senbs bibliognphiques The author bas granteci a non- exciusive licence allowing the National Library of Canada

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:

Page 28:  · 2005-02-10 · "I uWbs and Acquisitions et 6b bgraphic Setvices senbs bibliognphiques The author bas granteci a non- exciusive licence allowing the National Library of Canada

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.

Page 29:  · 2005-02-10 · "I uWbs and Acquisitions et 6b bgraphic Setvices senbs bibliognphiques The author bas granteci a non- exciusive licence allowing the National Library of Canada

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].

Page 30:  · 2005-02-10 · "I uWbs and Acquisitions et 6b bgraphic Setvices senbs bibliognphiques The author bas granteci a non- exciusive licence allowing the National Library of Canada

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.

Page 31:  · 2005-02-10 · "I uWbs and Acquisitions et 6b bgraphic Setvices senbs bibliognphiques The author bas granteci a non- exciusive licence allowing the National Library of Canada

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

Page 32:  · 2005-02-10 · "I uWbs and Acquisitions et 6b bgraphic Setvices senbs bibliognphiques The author bas granteci a non- exciusive licence allowing the National Library of Canada

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.

Page 33:  · 2005-02-10 · "I uWbs and Acquisitions et 6b bgraphic Setvices senbs bibliognphiques The author bas granteci a non- exciusive licence allowing the National Library of Canada

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.

Page 34:  · 2005-02-10 · "I uWbs and Acquisitions et 6b bgraphic Setvices senbs bibliognphiques The author bas granteci a non- exciusive licence allowing the National Library of Canada

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

Page 35:  · 2005-02-10 · "I uWbs and Acquisitions et 6b bgraphic Setvices senbs bibliognphiques The author bas granteci a non- exciusive licence allowing the National Library of Canada

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

Page 36:  · 2005-02-10 · "I uWbs and Acquisitions et 6b bgraphic Setvices senbs bibliognphiques The author bas granteci a non- exciusive licence allowing the National Library of Canada

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.

Page 37:  · 2005-02-10 · "I uWbs and Acquisitions et 6b bgraphic Setvices senbs bibliognphiques The author bas granteci a non- exciusive licence allowing the National Library of Canada

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.

Page 38:  · 2005-02-10 · "I uWbs and Acquisitions et 6b bgraphic Setvices senbs bibliognphiques The author bas granteci a non- exciusive licence allowing the National Library of Canada

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

Page 39:  · 2005-02-10 · "I uWbs and Acquisitions et 6b bgraphic Setvices senbs bibliognphiques The author bas granteci a non- exciusive licence allowing the National Library of Canada

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

Page 40:  · 2005-02-10 · "I uWbs and Acquisitions et 6b bgraphic Setvices senbs bibliognphiques The author bas granteci a non- exciusive licence allowing the National Library of Canada

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

Page 41:  · 2005-02-10 · "I uWbs and Acquisitions et 6b bgraphic Setvices senbs bibliognphiques The author bas granteci a non- exciusive licence allowing the National Library of Canada

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.

Page 42:  · 2005-02-10 · "I uWbs and Acquisitions et 6b bgraphic Setvices senbs bibliognphiques The author bas granteci a non- exciusive licence allowing the National Library of Canada

Chapter 4 Mobile-Agent-Based Dynumic Channel Allocation Algorithm 32

F i p 4.5 Channel Assignment Procedure

Page 43:  · 2005-02-10 · "I uWbs and Acquisitions et 6b bgraphic Setvices senbs bibliognphiques The author bas granteci a non- exciusive licence allowing the National Library of Canada

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):

Page 44:  · 2005-02-10 · "I uWbs and Acquisitions et 6b bgraphic Setvices senbs bibliognphiques The author bas granteci a non- exciusive licence allowing the National Library of Canada

Chapter 4 Mobile-Agent-Based Llynamic Channel Allocation Algorithm 34

Page 45:  · 2005-02-10 · "I uWbs and Acquisitions et 6b bgraphic Setvices senbs bibliognphiques The author bas granteci a non- exciusive licence allowing the National Library of Canada

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.

Page 46:  · 2005-02-10 · "I uWbs and Acquisitions et 6b bgraphic Setvices senbs bibliognphiques The author bas granteci a non- exciusive licence allowing the National Library of Canada

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

Page 47:  · 2005-02-10 · "I uWbs and Acquisitions et 6b bgraphic Setvices senbs bibliognphiques The author bas granteci a non- exciusive licence allowing the National Library of Canada

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

Page 48:  · 2005-02-10 · "I uWbs and Acquisitions et 6b bgraphic Setvices senbs bibliognphiques The author bas granteci a non- exciusive licence allowing the National Library of Canada

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.

Page 49:  · 2005-02-10 · "I uWbs and Acquisitions et 6b bgraphic Setvices senbs bibliognphiques The author bas granteci a non- exciusive licence allowing the National Library of Canada

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

Page 50:  · 2005-02-10 · "I uWbs and Acquisitions et 6b bgraphic Setvices senbs bibliognphiques The author bas granteci a non- exciusive licence allowing the National Library of Canada

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.

Page 51:  · 2005-02-10 · "I uWbs and Acquisitions et 6b bgraphic Setvices senbs bibliognphiques The author bas granteci a non- exciusive licence allowing the National Library of Canada

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

Page 52:  · 2005-02-10 · "I uWbs and Acquisitions et 6b bgraphic Setvices senbs bibliognphiques The author bas granteci a non- exciusive licence allowing the National Library of Canada

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.

Page 53:  · 2005-02-10 · "I uWbs and Acquisitions et 6b bgraphic Setvices senbs bibliognphiques The author bas granteci a non- exciusive licence allowing the National Library of Canada

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].

Page 54:  · 2005-02-10 · "I uWbs and Acquisitions et 6b bgraphic Setvices senbs bibliognphiques The author bas granteci a non- exciusive licence allowing the National Library of Canada

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

Page 55:  · 2005-02-10 · "I uWbs and Acquisitions et 6b bgraphic Setvices senbs bibliognphiques The author bas granteci a non- exciusive licence allowing the National Library of Canada

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

Page 56:  · 2005-02-10 · "I uWbs and Acquisitions et 6b bgraphic Setvices senbs bibliognphiques The author bas granteci a non- exciusive licence allowing the National Library of Canada

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.

Page 57:  · 2005-02-10 · "I uWbs and Acquisitions et 6b bgraphic Setvices senbs bibliognphiques The author bas granteci a non- exciusive licence allowing the National Library of Canada

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

Page 58:  · 2005-02-10 · "I uWbs and Acquisitions et 6b bgraphic Setvices senbs bibliognphiques The author bas granteci a non- exciusive licence allowing the National Library of Canada

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

Page 59:  · 2005-02-10 · "I uWbs and Acquisitions et 6b bgraphic Setvices senbs bibliognphiques The author bas granteci a non- exciusive licence allowing the National Library of Canada

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.

Page 60:  · 2005-02-10 · "I uWbs and Acquisitions et 6b bgraphic Setvices senbs bibliognphiques The author bas granteci a non- exciusive licence allowing the National Library of Canada

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.

Page 61:  · 2005-02-10 · "I uWbs and Acquisitions et 6b bgraphic Setvices senbs bibliognphiques The author bas granteci a non- exciusive licence allowing the National Library of Canada

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

Page 62:  · 2005-02-10 · "I uWbs and Acquisitions et 6b bgraphic Setvices senbs bibliognphiques The author bas granteci a non- exciusive licence allowing the National Library of Canada

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.

Page 63:  · 2005-02-10 · "I uWbs and Acquisitions et 6b bgraphic Setvices senbs bibliognphiques The author bas granteci a non- exciusive licence allowing the National Library of Canada

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(){

Page 64:  · 2005-02-10 · "I uWbs and Acquisitions et 6b bgraphic Setvices senbs bibliognphiques The author bas granteci a non- exciusive licence allowing the National Library of Canada

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&

Page 65:  · 2005-02-10 · "I uWbs and Acquisitions et 6b bgraphic Setvices senbs bibliognphiques The author bas granteci a non- exciusive licence allowing the National Library of Canada

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

Page 66:  · 2005-02-10 · "I uWbs and Acquisitions et 6b bgraphic Setvices senbs bibliognphiques The author bas granteci a non- exciusive licence allowing the National Library of Canada

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. */

Page 67:  · 2005-02-10 · "I uWbs and Acquisitions et 6b bgraphic Setvices senbs bibliognphiques The author bas granteci a non- exciusive licence allowing the National Library of Canada

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

Page 68:  · 2005-02-10 · "I uWbs and Acquisitions et 6b bgraphic Setvices senbs bibliognphiques The author bas granteci a non- exciusive licence allowing the National Library of Canada

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) .*/

Page 69:  · 2005-02-10 · "I uWbs and Acquisitions et 6b bgraphic Setvices senbs bibliognphiques The author bas granteci a non- exciusive licence allowing the National Library of Canada

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))(

Page 70:  · 2005-02-10 · "I uWbs and Acquisitions et 6b bgraphic Setvices senbs bibliognphiques The author bas granteci a non- exciusive licence allowing the National Library of Canada

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,

Page 71:  · 2005-02-10 · "I uWbs and Acquisitions et 6b bgraphic Setvices senbs bibliognphiques The author bas granteci a non- exciusive licence allowing the National Library of Canada

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

Page 72:  · 2005-02-10 · "I uWbs and Acquisitions et 6b bgraphic Setvices senbs bibliognphiques The author bas granteci a non- exciusive licence allowing the National Library of Canada

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

Page 73:  · 2005-02-10 · "I uWbs and Acquisitions et 6b bgraphic Setvices senbs bibliognphiques The author bas granteci a non- exciusive licence allowing the National Library of Canada

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;

Page 74:  · 2005-02-10 · "I uWbs and Acquisitions et 6b bgraphic Setvices senbs bibliognphiques The author bas granteci a non- exciusive licence allowing the National Library of Canada

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 "):

Page 75:  · 2005-02-10 · "I uWbs and Acquisitions et 6b bgraphic Setvices senbs bibliognphiques The author bas granteci a non- exciusive licence allowing the National Library of Canada

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;

Page 76:  · 2005-02-10 · "I uWbs and Acquisitions et 6b bgraphic Setvices senbs bibliognphiques The author bas granteci a non- exciusive licence allowing the National Library of Canada

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");

Page 77:  · 2005-02-10 · "I uWbs and Acquisitions et 6b bgraphic Setvices senbs bibliognphiques The author bas granteci a non- exciusive licence allowing the National Library of Canada

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.

Page 78:  · 2005-02-10 · "I uWbs and Acquisitions et 6b bgraphic Setvices senbs bibliognphiques The author bas granteci a non- exciusive licence allowing the National Library of Canada

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

Page 79:  · 2005-02-10 · "I uWbs and Acquisitions et 6b bgraphic Setvices senbs bibliognphiques The author bas granteci a non- exciusive licence allowing the National Library of Canada

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.

Page 80:  · 2005-02-10 · "I uWbs and Acquisitions et 6b bgraphic Setvices senbs bibliognphiques The author bas granteci a non- exciusive licence allowing the National Library of Canada

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.

Page 81:  · 2005-02-10 · "I uWbs and Acquisitions et 6b bgraphic Setvices senbs bibliognphiques The author bas granteci a non- exciusive licence allowing the National Library of Canada

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%

Page 82:  · 2005-02-10 · "I uWbs and Acquisitions et 6b bgraphic Setvices senbs bibliognphiques The author bas granteci a non- exciusive licence allowing the National Library of Canada

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%

Page 83:  · 2005-02-10 · "I uWbs and Acquisitions et 6b bgraphic Setvices senbs bibliognphiques The author bas granteci a non- exciusive licence allowing the National Library of Canada

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

Page 84:  · 2005-02-10 · "I uWbs and Acquisitions et 6b bgraphic Setvices senbs bibliognphiques The author bas granteci a non- exciusive licence allowing the National Library of Canada

Chapter 6 Implementation and Performance

Figure 6.8 T d c Hot Spots: Diagonal Highway

Figure 6.9 Traffic Hot Spots: City Beltway

Page 85:  · 2005-02-10 · "I uWbs and Acquisitions et 6b bgraphic Setvices senbs bibliognphiques The author bas granteci a non- exciusive licence allowing the National Library of Canada

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

Page 86:  · 2005-02-10 · "I uWbs and Acquisitions et 6b bgraphic Setvices senbs bibliognphiques The author bas granteci a non- exciusive licence allowing the National Library of Canada

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.

Page 87:  · 2005-02-10 · "I uWbs and Acquisitions et 6b bgraphic Setvices senbs bibliognphiques The author bas granteci a non- exciusive licence allowing the National Library of Canada

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

Page 88:  · 2005-02-10 · "I uWbs and Acquisitions et 6b bgraphic Setvices senbs bibliognphiques The author bas granteci a non- exciusive licence allowing the National Library of Canada

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.

Page 89:  · 2005-02-10 · "I uWbs and Acquisitions et 6b bgraphic Setvices senbs bibliognphiques The author bas granteci a non- exciusive licence allowing the National Library of Canada

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.

Page 90:  · 2005-02-10 · "I uWbs and Acquisitions et 6b bgraphic Setvices senbs bibliognphiques The author bas granteci a non- exciusive licence allowing the National Library of Canada

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.

Page 91:  · 2005-02-10 · "I uWbs and Acquisitions et 6b bgraphic Setvices senbs bibliognphiques The author bas granteci a non- exciusive licence allowing the National Library of Canada

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:

Page 92:  · 2005-02-10 · "I uWbs and Acquisitions et 6b bgraphic Setvices senbs bibliognphiques The author bas granteci a non- exciusive licence allowing the National Library of Canada

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.

Page 93:  · 2005-02-10 · "I uWbs and Acquisitions et 6b bgraphic Setvices senbs bibliognphiques The author bas granteci a non- exciusive licence allowing the National Library of Canada

Appendix B Source Codes

Page 94:  · 2005-02-10 · "I uWbs and Acquisitions et 6b bgraphic Setvices senbs bibliognphiques The author bas granteci a non- exciusive licence allowing the National Library of Canada

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

Page 95:  · 2005-02-10 · "I uWbs and Acquisitions et 6b bgraphic Setvices senbs bibliognphiques The author bas granteci a non- exciusive licence allowing the National Library of Canada

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.

Page 96:  · 2005-02-10 · "I uWbs and Acquisitions et 6b bgraphic Setvices senbs bibliognphiques The author bas granteci a non- exciusive licence allowing the National Library of Canada

Appendik B Source Codes

Page 97:  · 2005-02-10 · "I uWbs and Acquisitions et 6b bgraphic Setvices senbs bibliognphiques The author bas granteci a non- exciusive licence allowing the National Library of Canada

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

Page 98:  · 2005-02-10 · "I uWbs and Acquisitions et 6b bgraphic Setvices senbs bibliognphiques The author bas granteci a non- exciusive licence allowing the National Library of Canada

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=û:

Page 99:  · 2005-02-10 · "I uWbs and Acquisitions et 6b bgraphic Setvices senbs bibliognphiques The author bas granteci a non- exciusive licence allowing the National Library of Canada

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

Page 100:  · 2005-02-10 · "I uWbs and Acquisitions et 6b bgraphic Setvices senbs bibliognphiques The author bas granteci a non- exciusive licence allowing the National Library of Canada

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

Page 101:  · 2005-02-10 · "I uWbs and Acquisitions et 6b bgraphic Setvices senbs bibliognphiques The author bas granteci a non- exciusive licence allowing the National Library of Canada

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.

Page 102:  · 2005-02-10 · "I uWbs and Acquisitions et 6b bgraphic Setvices senbs bibliognphiques The author bas granteci a non- exciusive licence allowing the National Library of Canada

Appendix B Source Codes

Page 103:  · 2005-02-10 · "I uWbs and Acquisitions et 6b bgraphic Setvices senbs bibliognphiques The author bas granteci a non- exciusive licence allowing the National Library of Canada

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

Page 104:  · 2005-02-10 · "I uWbs and Acquisitions et 6b bgraphic Setvices senbs bibliognphiques The author bas granteci a non- exciusive licence allowing the National Library of Canada

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

Page 105:  · 2005-02-10 · "I uWbs and Acquisitions et 6b bgraphic Setvices senbs bibliognphiques The author bas granteci a non- exciusive licence allowing the National Library of Canada

Appendix B Source Codes 95

dw WoitingQucue Vcctor wpitingqucue; int woitingtimc=MSC.mitingJim.

Page 106:  · 2005-02-10 · "I uWbs and Acquisitions et 6b bgraphic Setvices senbs bibliognphiques The author bas granteci a non- exciusive licence allowing the National Library of Canada

Appendix B Source Codes M

Page 107:  · 2005-02-10 · "I uWbs and Acquisitions et 6b bgraphic Setvices senbs bibliognphiques The author bas granteci a non- exciusive licence allowing the National Library of Canada

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

Page 108:  · 2005-02-10 · "I uWbs and Acquisitions et 6b bgraphic Setvices senbs bibliognphiques The author bas granteci a non- exciusive licence allowing the National Library of Canada

[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

Page 109:  · 2005-02-10 · "I uWbs and Acquisitions et 6b bgraphic Setvices senbs bibliognphiques The author bas granteci a non- exciusive licence allowing the National Library of Canada

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

Page 110:  · 2005-02-10 · "I uWbs and Acquisitions et 6b bgraphic Setvices senbs bibliognphiques The author bas granteci a non- exciusive licence allowing the National Library of Canada

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

Page 111:  · 2005-02-10 · "I uWbs and Acquisitions et 6b bgraphic Setvices senbs bibliognphiques The author bas granteci a non- exciusive licence allowing the National Library of Canada

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

Page 112:  · 2005-02-10 · "I uWbs and Acquisitions et 6b bgraphic Setvices senbs bibliognphiques The author bas granteci a non- exciusive licence allowing the National Library of Canada

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

Page 113:  · 2005-02-10 · "I uWbs and Acquisitions et 6b bgraphic Setvices senbs bibliognphiques The author bas granteci a non- exciusive licence allowing the National Library of Canada

[Yoshiyasu93] Yoshiyasu Nishibe, et al, "Distributed Channel AUocation il.

ATM Network", EEE GLOBECOM, 1 :4 l7-423,1993


Recommended