A channel allocation algorithm includes a channel acquisition algorithm and a channel selection algorithm. Most of the previous work concentrates on the channel selection algorithm since early channel acquisition algorithms are centralized and rely on a mobile switching center (MSC) to accomplish channel acquisition. Recently, distributed channel acquisition algorithms have received considerable attention due to their high reliability and scalability. However, in these algorithms, a borrower needs to consult with its interference neighbors in order to borrow a channel. Thus, the borrower fails to borrow channels when it cannot communicate with any interference neighbor. In real-life networks, under heavy traffic load, a cell has a large probability to experience an intermittent network congestion or even a communication link failure. In existing distributed algorithms, since a cell has to consult with a large number of interference neighbors to borrow a channel, the failure rate will be much higher under heavy traffic load. Therefore, previous distributed channel allocation algorithms are not suitable for real-life networks. In this paper, we first propose a fault-tolerant channel acquisition algorithm which tolerates communication link failures and node (MH or MSS) failures. Then, we present a channel selection algorithm and integrate it into the distributed acquisition algorithm. Detailed simulation experiments are carried out in order to evaluate our proposed methodology. Simulation results show that our algorithm significantly reduces the failure rate under network congestion, communication link failures, and node failures compared to nonfault-tolerant channel allocation algorithms. Moreover, our algorithm has low message overhead compared to known distributed channel allocation algorithms, and outperforms them in terms of failure rate under uniform as well as nonuniform traffic distribution.
All Science Journal Classification (ASJC) codes
- Computer Networks and Communications
- Electrical and Electronic Engineering