Page 1

A Self-Organising Network based on Lightweight

Agents

John Debenham and Ante Prodan

Faculty of Information Technology,

University of Technology, Sydney, Australia

{debenham, aprodan}@it.uts.edu.au

Abstract. A lightweight multiagent system is deployed at each node in a com-

munications network with the aim of self-organising the network as usage alters.

The distributed, light-weight, co-operative multiagent system guarantees scala-

bility of the approach. As the solution is distributed it is unsuitable to achieve

any global optimisation goal — it simply seeks to continually improve network

performance as demands change. Algorithms are described for adjusting the com-

munication channels and for adjusting the network links. Experiments show that

the method is robust and delivers good performance.

1Introduction

The work discussed is based on previous work in the area of mesh networking and in

particular in distributed algorithms at Columbia University, Microsoft Research, Uni-

versity of Maryland and Georgia Institute of Technology. In particular: [1], [2], [3] and

[4].

There are three principal inputs to this work that we assume are available to the

proposed methods:

– A load model. Given any contiguous set of nodes in a mesh, the load model speci-

fies the actual or desired level of traffic flowing into, or out of, nodes in that set.

– A load balancing algorithm. Given any contiguous set of nodes in a mesh and the

load model for that set, the load balancing algorithm determines how the traffic is

allocated to links in the mesh so as to reach its desired destination where it leaves

the mesh.

– An interference model. Given any contiguous set of nodes in a mesh, the interfer-

ence model stipulates the interference level that each node in the mesh gives to the

other nodes in the mesh given a known level of background interference due to

transmission devices that are external to the mesh.

The work described below makes no restrictions on these three inputs other than that

they are available to every node in the mesh. The load model, and so too the load

balancing algorithm, will only be of value to a method for self-organisation if together

they enable future load to be predicted with some certainty. We assume that the load is

predictable.

Page 2

Below we introduce some terms, concepts and notation. Section 2 describes the

role of the load balancing algorithm that our methods take as a given input. The mea-

surement of interference cost is discussed in Section 3. Methods for the adjusting the

channels in a multi-radio mesh networks for predictable load are described in Section 4,

and for adjusting the links in Section 5. Future plans are described in Section 6.

The discrete time intervals mentioned below, e.g. t, t + 1, are sufficiently spaced to

permit what has to be done to be done.

A node is a set of radio interfaces (or “antennae”) where each interface is associated

with a particular channel, together with a controller that (intelligently we hope) assigns

the channel on each interface. Interfaces that are part of the same node are assumed to

be ‘close’ topologically, but this is not important. We assume for simplicity that each

interface has its own, independent MAC layer.

A link is a pair of interfaces where each interface is assigned the same channel. The

idea is that two interfaces communicate through a shared link. That is, if an interface

is part of a link its state will be “listening and transmitting”, otherwise its state will be

“listening only”.

Notation: nodes are denoted by Latin letters: a, b, c,..., the interfaces for node a are

denoted by: a[i] for i = 1,..., and links are denoted by Greek letters: α, β, γ,.... The

interfaces communicate using an illocutionary communication language that is defined

informally (for the time being) with illocutions being encapsulated in quotation marks:

“·”.

For any node n, Snis the set of nodes in node n’s interference range. Likewise, for

any link α, Sαis the set of links that contain nodes n’s interference range ∀n ∈ α.

Given a node a, define Va= ∪n∈SaSn.

Γt

or a link.

f(·,·) is an interference cost function that is defined between two interfaces or two

links. It estimates the cost of interference to one interface caused by transmission from

the other interface. This function relies on estimates of the interference level and the

level of load (i.e.: traffic volume). So this function requires an interference model and a

load model. This function is described in Section 3.

An interface is either ‘locked’ or ‘unlocked’. A locked interface is either locked be-

cause it has committed to lock itself for a period of time on request from another inter-

face, or it is ‘self-locked’ because it has recently instigated one of the self-organisation

procedures in Section 4.

The abbreviation SNIR means “signal to noise plus interference ratio”.

xis channel used by x to communicate at time t where x may be either an interface

2The Load Balancing Algorithm

We assume that if the external demands on a set of nodes S are known and that there

is a load balancing algorithm — that may or may not be intelligent — that determines

how the load is routed through S. Figure 1 shows a set of twelve nodes connected by

a mesh that is shown as dashed lines. The load on the mesh is shown by the four solid

arrows. We assume that the load balancing algorithm will determine how the load is

allocated to the links in the mesh.

Page 3

Fig.1. The load balancing algorithm determines the allocation of load.

3x

x

x

x

3Measuring Interference Cost

Suppose that during some time interval ∆t two interfaces a and b are transmitting and

receiving on channels Γaand Γb. During ∆t, the interference limit that interface x

imposes on interface y, τy|x, is a ratio being the loss of traffic volume that interface y

could receive if interface x were to transmit persistently divided by the volume of traffic

that interface y could receive if interface x was silent:

τy|x=(my| interface x silent) − (my| interface x persistent)

my| interface x silent

where myis the mean SNIR observed by interface y whilst listening on channel Γy,

where as many measurements are made as is expedient in the calculation of this mean1.

The interference load of each interface, vaand vb, is measured as a proportion, or

percentage, of some time interval during which that interface is transmitting. Then the

observed interference caused by interface b transmitting on channel Γbas experienced

by interface a listening on channel Γais: τa|b× vb, and the observed interference cost

to interface a is2:

f(a | b) ? τa|b× vb× (1 − va)

and so to interface b:

f(b | a) = τb|a× va× (1 − vb)

Now consider the interference between one interface a and two other interfaces c

and d. Following the argument above, the observed interference caused by interfaces c

and d as experienced by interface a is3: τa|c×vc+τa|d×vd−τa|{c,d}×vc×vd. The

observed interference cost to interface a is:

f(a |{c,d}) = (1 − va) ×?τa|c× vc+ τa|d× vd− τa|{c,d}× vc× vd

ever, link throughput and SNIR are approximately proportional — see [5].

2We assume here that whether or not interfaces a and b are transmitting are independent random

events [6]. Then the probability that a is transmitting at any moment is va, and the probability

that b is transmitting and a is listening at any moment is: (1 − va) × vb.

3That is, the interference caused by either interface c or interface d.

?

1For τy|xto have the desired meaning, my should be a measurement of link throughput. How-

Page 4

Suppose that vβis the proportion of ∆t for which either interface c or interface d is

transmitting. Then for some κβ, 0 ≤ κβ≤ 1: vc= κβ× vβ, and vd= (1 − κβ) × vβ.

Thus:

f(a | β) = (1 − va) × vβ×?τa|c× κβ+ τa|d× (1 − κβ)?

Now suppose that interfaces a and b are linked, and that vαis the proportion of ∆t for

which either interface a or interface b is transmitting. Then for some κα, 0 ≤ κα≤ 1:

va= κα× vα, vb= (1 − κα) × vα. Then as a will only receive interference when it is

listening to b transmitting:

f(a | β) = vb× vβ×?τa|c× κβ+ τa|d× (1 − κβ)?

and so:

f(α | β) =(1 − κα) × vα× vβ×?τa|c× κβ+ τa|d× (1 − κβ)?

+ κα× vα× vβ×?τb|c× κβ+ τb|d× (1 − κβ)?

Note that vα, vβ, καand κβare provided by the load model, and the τx|yare provided

by the interference model.

(1)

4Adjusting the channels

Our solution is based on the distinction in multiagent systems between proactive and

reactive reasoning. Proactive reasoning is concerned with planning to reach some goal.

Reactive reasoning is concerned with dealing with unexpected changes in the agent’s

environment. So in the context of self-organising networks we distinguish between:

– a reactive logic that deals with problems as they occur. The aim of our reactive

module is simply to restore communication to a workable level that may be sub-

stantially sub-optimal.

– a proactive logic that, when sections of the network are temporarily stable, attempts

to adjust the settings on the network to improve performance.

The reactive logic provides an “immediate fix” to serious problems. The proactive logic,

that involves deliberation and co-operation of nearby nodes, is a much slower process.

Informally the proactive logic uses the following procedure:

– Elect a node a that will manage the process

– Choose a link α from a to another node — precisely a trigger criterion (see below)

permits node a to attempt to improve the performance of one of its links α ? a

with a certain priority level.

– Measure the interference

– Change the channel setting if appropriate

The following is a development of the ideas in [1].

Page 5

choose node a at time t − 2;

set Va= ∪n∈SaSn;

∀x ∈ Vatransmit “propose organise[a,x,p]”;

unless ∃x ∈ Vareceive “overrule organise[a,x,q]” in

[t − 2,t − 1] where q > p do {

∀x ∈ Vatransmit “propose lock[a,x,t,t + 1]”;

if ∀x ∈ Vareceive “accept lock[a,x,t,t + 1]” in [t − 1,t]

then {

unless ∃x ∈ Vareceive “reject lock[a,x,t,t + 1]”

do {improve a;}

}

}

where: improve a = {

choose link α ? a on channel Γt

set B ←?

for Γα= 1,...,K,Γα?= Γt

if?

selflock node a in [t + 1,t + k];

break;

};

};

∀x ∈ Vatransmit “α’s interference test signals”;

apply load balancing algorithm to Sa;

}

α;

β∈Sαf(β | α);

β∈Sαf(α | β) +?

β∈Sαf(α | β) +?

if (feasible) re-route α’s traffic;

αdo{

β∈Sαf(β | α) < B × ? then{

Γt+1

α

← Γα;

The statement selflock is to prevent a from having to activate the method too frequently.

The constant ? < 1 requires that the improvement be ‘significant’ both for node a and

for the set of nodes Sa. The stability of this procedure follows from the fact that it

produces a net improvement of the interference cost within Sa. If a change of channel

is effected then there will be no resulting change in interference outside Sa.

Interference model. We assume that each node, a, knows the channel of every node

in Va. We assume that each node is capable of measuring the strength of signals from

every node in Va. So if each node had access to all of this information from the point of

view of every node in Va, and, perhaps the level of background noise around Vathen a

can derive estimates for the τx|yfactors for all x and y in Va. In particular, a will be able

to estimate all these factors to evaluate Equation 1 as required by the above algorithm.

In addition, the procedure above suggests that if node a is involved in changing its

channel then at the end of this process — time permitting — it should transmit a ‘beep-

silence-beep-silence’ message to enable every other node in Vato observe the actual τ

values. Further, it is reasonable to suggest that this transmission of test signals could

be carried out periodically in any case when network load permits.