Resource allocation in communications networks using market-based agents
The work in this thesis describes a system that allocates the end-to-end bandwidth, in a meshed communications network, to set up calls. The solution makes use of market-based software agents that compete in a number of decentralised market-places in order to buy and sell bandwidth. The network is partitioned into regions, where each has a separate market server from where the bandwidth resources are allocated. Agents perform a distributed search with decentralised markets in order to allocate routes for calls. The approach relies on a resource reservation and commit mechanism in the network. Results show that for a typical network given a light load, the system sets up 95% of calls and is comparable in performance to an instantaneous global search, which assumes complete knowledge of resource availability and sets up 97% of calls at the same load. As the network load is increased to a typical intermediate level, the system gives an average call success rate which is 76% of that given by the instantaneous global search. Furthermore, under all network loads, the system performs significantly better than a random strategy. We also consider issues associated with scalability and robustness in our multi-agent system. Specifically, an empirical evaluation was carried out to assess the system performance under a variety of design configurations in order to provide an insight into network deployment issues. This took place using networks that were fixed in size but which were scaled up with respect to the number of regions and, hence, market servers. We investigated two main measures: the average call success rate and average message load per market server, as the number of markets were increased in the network. The same investigations were performed in the presence of single market failures. For both the failure and non-failure cases, a trade-off was found between the two measures to find an optimum number of regions to deploy in the network. In general, results showed that in the absence of failures, fewer regions gave a higher average call success rate and more regions meant that, on average, market servers received less messages per market server, when searching for resources across a single regional route. With a single market failure, we saw that when more regions were deployed, in general, the average call success rate was higher up to a certain point and the number of messages received per market server was lower, when also using a single regional route. In the final part of this thesis, we make a change to part of our original algorithm in order to try and improve upon the system performance. To overcome the need for receiving fewer messages per market server and having quicker call set up times, we allow buyer agents to bid for resource bundles that lead to several boundary nodes in a region, in a single auction, rather than the possibility of using multiple auctions. Thus, we introduce a multi-destination buyer strategy. By constraining the amount of resource searching in this way, we can see that there are performance trade-offs where call set up times decrease, average call success rates increase in general, but that the system allocates a smaller proportion of longer distance calls than when using the original strategy. We also show that, in general, it is better to search across a single regional route instead of searching across multiple regional routes, particularly when the network load is high. However, at much lighter network loads, searching for resources by means of traversing alternative regions can give a better overall average call success rate.