ory, and R is the most recently mea-
l
sured value of the reward. Suppose we
have made the lth decision that choos-
es the output link (neuron) j, where
the lth reward calculated for the QoS
information received from the network
is R . We first determine whether R is
ll
larger than or equal to the threshold
T . If it is, then to reward this success,
l− 1
we increase (significantly) the excit-
atory weights going into neuron j and
make a small increase in the inhibi-
tory weights leading to other neurons.
If the R is less than T , then we mod-
l l− 1
erately increase the excitatory weights
leading to all neurons other than j to
open up different decision options and
increase significantly the inhibitory
weight leading to neuron j in order to
punish it for not having provided a use-
ful prediction.
Finally, the excitation probabilities
of each neuron in the RNN are computed, and the SP is forwarded to the output link corresponding to the neuron
that is the most “excited.” The arrival
of an ACK to a node triggers the update of the weights of the RNN, while
the arrival of an SP to the node triggers
the execution of the RNN algorithm to
make the routing decision. Thus several weight updates can occur between
two successive updates of a routing decision. Similarly, if no ACKs arrive at a
given node between two successive arrivals of an SP, the successive SPs will
use the same routing decision.
Numerous experiments have been
run with CPN with both simulation
and actual network testbeds;
11, 13, 14
here, we report on three with real networks with 17, 25, and 46 nodes and
different topologies. All measurements we report used testbeds built
with off-the-shelf components running CPN. The routers were Pentium
IV-class machines with four-port Ethernet interfaces running Linux 2. 6. 15,
where CPN was implemented as a
loadable kernel module. All links were
full-duplex at 10MB/sec or 100MB/sec,
depending on the experiment.
We start with measurements made
in a wired testbed consisting of 17
nodes (see Figure 1) chosen because
it offers a large number of alternate
paths within a relatively small network;
adjacent nodes are connected with
10Mbps Ethernet links. All tests use a
flow of UDP packets entering the CPN
network with constant bit rate (CBR)
traffic and packet size of 1,024KB. For
each experiment, 10,000 packets were
sent out from source to the destination,
and each measurement point provided
averages or statistics for the 10,000
packets when background traffic is in-
troduced to each link. The average hop
count, forward delay, and packets loss
rate under different background traffic were reported. We used Algorithm-H, Algorithm-D, and Algorithm-HD to
denote the RNN routing algorithms
using hop, delay, and the combination
figure 5: use of routes with low traffic rate; delay is the Qos goal.
15
Route Length
10
5
0
200
400
600
800 1000 1200 1400 1600 1800 2000
Packet number
15
Percentage used (%)
10
5
0
0
5
10
15 20 25
Route number
30
35
40
45
figure 6: use of routes with high traffic rate; delay is the Qos goal.
15
Route Length
10
5
0
200
400
600
800 1000 1200 1400 1600 1800 2000
Packet number
14
Percentage used (%)
12
10
8
6
4
2
0
12345
6 7 8 9 10 11 12 13 14 15
Route number