1 Introduction

One of the major issues in wireless network is limited availability of transmission spectrum which therefore must be shared by several users. The wireless users within each other’s transmission range can cause significant mutual interference. To address the issue of spectrum reuse, the concept of cellular communications was introduced. The basic concept being that a given geographical area is divided into hexagons called cells. The available frequency spectrum is divided into non-overlapping channels where each channel is capable of supporting a communication session. The concept of cellular system allows different cells (that are at least separated by a minimum reuse distance [1]) to use the same channel simultaneously. The assignment of the channels to the cells are subjected to three different types of constraints; co-channel, adjacent and co-site interference. A channel allocation strategy should follow the principle of frequency reuse for better and effective communication. Many approaches have been used to resolve the problem of effective channel allocation. The major categories for assigning channel to cells are either fixed [2] or dynamic [39]. A combination of fixed and dynamic channel allocation has also been used termed as hybrid channel allocation [1012]. A comprehensive evaluation of some of these techniques have been presented in [1315]. Due to the non-uniform pattern of the traffic in the wireless network, fixed channel allocation scheme may not always provide the optimal solution. On the contrary, dynamic channel allocation attempts to alleviate the problem of non-uniform traffic in the network. For many years, centralized dynamic channel assigning scheme [10] was nurtured by researchers. In this case all available channels are maintained centrally (mobile switching station) and allocated to respective cells. But a failure in the central system can lead to a catastrophic effect. Our paper focuses on distributed dynamic channel allocation (DCA) technique [16]. To reduce the co-channel interference and utilizing the available bandwidth in an efficient way, effective resource sharing is required. The problem can be seen as a special case of mutual exclusion. In this case no two interfering cells can use the same channel at the same time but the channel can be shared between non-interfering cells.

1.1 Related work

Over the years many algorithms have been proposed for dynamic channel allocations which handle the non-uniform traffic issues. The authors [1] propose a general algorithm that ensures relaxed mutual exclusion for a single resource (in this case a channel). The study ensures that a given critical resource (channel) might be used simultaneously at different sites provided they are not mutually interfering. Though the work lowers the channel acquiring delay but it enhances the message complexity as the number of call requests increases. A Multi-Agent System proposed in [4] addresses the resource allocation problem through negotiation. But the work does not consider users mobility and their precedence. The authors [9] present an auction mechanism where each user(node) can bid for a channel and the second highest bidder wins. The authors [10] presents a hybrid channel allocation algorithm in which the base station sends a multi-level hot-spot notification to the Mobile Switching Station on each channel request that cannot be allotted locally at the base station. The Channel acquiring time is increased when channels are not available with the base station and the mode of channel allocation is centralized. The study [11] presents a hybrid channel assignment scheme where each cell is in charge of a group of local channels and shares a single pool of global channels with a traffic prediction module to calculate the possible number of local channels a cell will need in the subsequent time periods, taking into account recent traffic history of the cells in addition to their daily traffic periodicities. The algorithm uses centralized dynamic allocation which can prove to be unreliable if there is a problem in the global pool of channels. Another work [17] on distributed dynamic channel allocation (DDCA) algorithm proposed that heavily loaded regions acquiring a large number of communication channels, while their lightly loaded neighbours get assigned fewer channels. The algorithm distributed the responsibility for channel allocation among the mobile service stations of the network. The algorithm keeps the number of handoffs to a minimum as it did not induce any intra-cell handoffs. The proposed scheme has a low overhead but has higher message complexity. The paper [18] proposes a distributed channel acquisition algorithm by integrating the channel search and update algorithm into the channel acquisition algorithm. By retaining the borrowed channels, the algorithm adapts to the varied network traffic.

All the earlier techniques and work discussed above have considerably high message complexity resulting in greater channel allocation time. The message complexity is low and almost constant in the proposed technique reducing the overall channel acquisition delay.

In this paper we present a modified token based mutual exclusion technique which solves the channel assignment problem. This paper shows the token based mutual exclusion algorithm, if used under some special consideration, can perform better than message passing counterparts. The conflicts arising due to two cells requesting for the same channel is solved with a Fuzzy rule-based system. The Fuzzy rule-based system categorizes the requests as “high”, “medium” and “low” priority.

The paper is organized as follows: Preliminaries are presented in Sect. 2. Section 3 presents problem formulation. Section 4 gives an overview about the performance of the proposed algorithm. The work is concluded in Sect. 5.

2 Preliminaries

The distributed mutual exclusion algorithms have been categorized as permission based, token based and quorum based.

2.1 Permission based algorithms

In these algorithms [1, 1720], each process (nodes in case of channel allocation problem) maintains a list of requests. Whenever a process tries to use a shared resource (channel) it sends request to all processes. The processes receiving the request give permission if it is not using the resource or does not intend to use the resource. The process generating the request can only use the resource once it receives permission from all the other processes.

2.2 Token based algorithms

In these algorithms a process possesses a token. The presence of the exclusive token ensures mutual exclusion. The possession of a system-wide unique token gives a process the right to access a shared resource in mutual exclusion [21].

2.3 Quorum based algorithms

Each site requests for permission to capture the critical resource from a subset of sites (called a quorum). Any two quorums contain a common site. This common site is responsible to make sure that only one request possesses the critical resource at any time [22].

Since token based mutual exclusion algorithm has not been used in channel allocation and shows promise in this field we have proposed a distributed dynamic channel allocation technique using the concept of token based mutual exclusion.

3 Problem formulation

In this section, we formally describe in details the system model and the formulation of the channel allocation problem.

3.1 System model

A distributed algorithm is presented that realizes mutual exclusion among N users in a cellular network. We are going to develop a model which is token-based and use multiple tokens to support the concept of reusability of channels among non-interfering cells. We consider a wireless communication system with 2D structure of 7 × 7 cells (7 rows and 7 columns) with each cell having 6 neighbours as shown in Fig. 1. It has been assumed that there are 410 channels in the system. The minimum reuse distance Dmin is considered as 3. At present uniform distribution of traffic load has been considered. The presence of thermal noise and power interference from neighbouring cells may actually reduce the number of available channels to approximately 400.

Fig. 1
figure 1

A 7 × 7 cellular system

In this system we use multiple tokens instead of 1 since there are multiple channels (which acts as the critical resource) which can be simultaneously acquired (in a non-interfering way) by all the cells. The channels are represented by an individual token Tk, k ϵ all channels.

Ci :

Cell with number i

TCi :

Stores the list of tokens currently being used by cell Ci

Si :

Maintains the status of Token Ti (locked or unlocked)

TempCi :

Temporary list of tokens hold by Ci and INCi

LCi :

Lamport’s logical clock for each cell Ci

T:

Array of tokens

A single token can be acquired by multiple cells provided they do not cause any co-channel interference. The term co-channel interference means crosstalk from two different radio transmitters using the same frequency. The co-channel interference can be reduced when same channel is assigned to two different cells simultaneously if and only if the said cells are separated by minimum reuse distance. Reuse distance is defined as the distance between the centers of the cells that use the same channel. Each cell maintains a list of tokens being used currently. To support a newly originated call or a handoff call (an ongoing call travelling from one cell to other) the cell requests for a new channel. In order to procure a channel when a cell tries to acquire a new token it checks the list of tokens used by the interfering neighbours. A conflict occurs if two cells which can cause co-channel interference to one another tries to grab the same token simultaneously. In this case the one with higher priority gets the channel. The priority is set based on a set of fuzzy rules. A channel failure may occur due to synchronization problem. The channel failure should be resolved immediately by allocating another available channel on a high priority basis. The problem of adjacent interference is reduced by using substantial band between two successive spectrums.

3.2 The algorithm

Input: Call requests

Output: Calls permitted and blocked

3.2.1 Data structure

3.2.2 Initialization

3.2.3 Computing the interfering neighbours

In the proposed algorithm, when a cell Ci requests for a channel, the interfering neighbours of Ci is computed. The distance between two cells is defined as the Euclidean distance between the centres of the two cells. The distance between two cells C1(x1, y1) and C2(x2, y2) is :

$$ {\text{dist}}({\text{C}}_{1} ,{\text{C}}_{2} ) = \sqrt {\left( {{\text{x}}1 - {\text{x}}2} \right)^{2} + \left( {{\text{y}}1 - {\text{y}}2} \right)^{2} } $$
(1)

A number Dmin specifies the minimum reuse distance. A channel can be shared by various cells provided that the distance between each pair of cell is equal or greater than Dmin. Thus each cell Ci has a set of interfering neighbours INCi which is a set of cells whose distance to Ci is smaller than Dmin.

$$ {\text{IN}}_{\text{Ci}} = \left\{ {{\text{ C}}_{\text{j}}{:}{\text{ dist }}\left( {{\text{C}}_{\text{i}} ,{\text{C}}_{\text{j}} } \right) < {\text{D}}_{ \hbox{min} } ,{\text{ i}} \ne {\text{j}}} \right\} $$
(2)

3.2.4 Call request-searching and acquiring a token

A call request is raised by a cell Ci. The Cell looks for the most-recent token usage information before initiating a search. The list of tokens already in use by the interfering neighbours is noted and a free token is identified. The tokens used by Ci should also be eliminated to avoid co-site channel interference. The token Tk is locked by Ci and the token list used by Ci is updated by adding Tk to the list. As soon as Ci finishes the use of Tk, Tk is released and removed from the token usage list of Ci. If at any point when Ci makes a request and no free token is available, the request of Ci is dropped.

3.2.5 Resolving conflicts

If there is a situation when two interfering cells try to grab the same token, the cell which raised the first request (based on logical time stamping) will lock and use the first free token. The other cell will be allocated the next available token if the cells are interfering. When the logical time stamp of two conflicting cells does not differ, fuzzy rules are used to set the priority of the request in each cell. A request with higher priority is allowed to grab the said token.

  1. (1)

    If two cells try to grab a token at the same time then the logical timestamp LCi and LCj is checked to identify the cell which has raised the request first. That cell gets the chance to grab and lock the first available free token.

If LCi < LCj, Ci blocks the token and Cj continues the search.

  1. (2)

    If two cells try to grab a token at the same time and their logical timestamps LCi and LCj are identical, the following Fuzzy rules are applied to set the priority and identify the cell which will lock the said token.

If (LCi == LCj)

  1. (i)

    If the call request in any cell is made to emergency number the priority of request is set to high.

  2. (ii)

    If the request is for handoff the priority of request is set to medium.

  3. (iii)

    If the request is for new call to trivial number the priority of request is set to low.

μc = Type of Call/Emergency Call ν 0.5 × Type of Call/Hand-off//If the call is to an emergency number μc ≈ 1 and if the call is ordinary μc ≈ 0.

The priority of the request determines which cell will grab the token.

3.2.6 Terminating a call-releasing a token

  1. (1)

    When the call terminates

$$ {\text{C}}\left[ {\text{m}} \right].{\text{T}}_{\text{c}} \left[ {\text{k}} \right] \leftarrow - 1//\,{\text{C}}\left[ {\text{m}} \right].{\text{T}}_{\text{C}} = {\text{C}}\left[ {\text{m}} \right].{\text{T}}_{\text{C}} - {\text{T}}\left[ {\text{k}} \right] $$

3.2.7 Failure of a channel

If at any instant of time a single channel fails, the call using the channel is handed over to some new channel (token). The channel(s) which failed is temporary removed from the list before a channel acquisition request is serviced. This might lead to higher blocking probability.

3.2.8 Algorithm overview

Lemma 1

Let T be the communication time between mobile host and Base Station, then the message complexity of the channel allocation technique is 2 × T.

Proof

In the first step of the proposed technique the mobile host (at the arrival of a call request) requests for a channel from the Base station. The time taken for this is T. The Base station uses the recent token usage history and identifies a free token which is not used by an interfering neighbour. At this point of time the base station does not need to communicate with other any other base station.

The base communicates back to the mobile host in time T. The total message complexity of the technique is 2 × T.

Once the base station identifies and allocates a channel it updates the token usage history.

Lemma 2

Let T be the communication time between mobile host and Base Station, then the Channel acquisition time of the channel allocation technique for uniform and non-uniform traffic is 2 × T.

Proof

Let us consider non-uniform load distribution throughout the network.

Then the channel acquisition delay can be calculated as 2 × T(RTT between mobile host and base station) + dl(latency involved in searching non-interfering channels)

For Dmin = 3 :

$$ \begin{aligned} {\text{The number of interfering neighbours for Cell C}}_{\text{i}} = & \varSigma_{\text{i}} {\text{IN}}_{\text{Ci}} = \left\{ {{\text{ C}}_{\text{j}}{:}{\text{ dist }}\left( {{\text{C}}_{\text{i}} ,{\text{C}}_{\text{j}} } \right) \, < {\text{D}}_{ \hbox{min} } ,{\text{ i }} \ne {\text{ j}};{\text{ i}},{\text{j }} = 0: 4 8} \right\} \\ = & {\text{The number of boundary edges }} \times {\text{ D}}_{ \hbox{min} } \\ = & 1 8\\ \end{aligned} $$

If content addressable memory is used for the token list the latency is reduced to maximum number of token used by any interfering cells.

Hence the lists of tokens used by INCi are searched simultaneously.

Let tj = number of tokens used by Cj where Cj ∈ INCi

Therefore dl = max(tj) × search time of each token

It is assumed that let T = 1 ms and each search for token entry requires less than 0.75 ns.

If content addressable memory is used for the token list the latency is reduced to maximum number of token used by any interfering cells.

For uniform traffic:

$$ \begin{aligned} {\text{Maximum number of tokens possessed by any cell}} = & {\text{The maximum no}}.{\text{ of alive calls in the cell}} \\ = & \lfloor \left( {{\text{No}}.{\text{ of channels}}/{\text{ No}}.{\text{ of interfering neighbours}}} \right)\rfloor \\ \approx & 2 1\\ \end{aligned} $$

Now dl = 21 × .75 (in ns)therefore, 2 × T (in ms) ≫ Searching Time for free tokens (in ns).hence, the channel acquisition delay is reduced to 2 × T for uniform traffic.

For non-uniform traffic:the number of tokens to be searched by any cell Ci = number of tokens possessed by the interfering + number of tokens possessed by the cell itself < 400Since, the total number of tokens is 400.

Now, for any highly loaded cell Cj (with maximum number of alive calls and Cj ∈ INCi)–let the number of tokens used be a × 400 where a is the fraction of total tokens and 0 ≤ a < 1(Since a = 1 implies no free token available.)

Since the tokens used by all interfering neighbors are searched simultaneously

dl(searching time delay) = (0.75 × a × 400)ns = (300 × a) ns < 3 × 10−1 ms (since a < 1)

Therefore, 2 × T (in ms) > dl.

For practical scenario ‘a’ should be less than 0.6.

4 Simulation

In Sect. 3, we described the system model, and subsequently presented a token based distributed channel allocation algorithm for the system. We have used NS-2 for the simulation. The wireless model supports simulations of wireless cellular network. For simulation the entire topology is divided into 7 × 7 grid each of 70 sqm. The algorithm works for non-uniform traffic. The propagation delay of the wireless link is set to 1 ms and for the wired link (between Base Station and MSS) has a delay of 10 ms. The message complexity of the algorithm is low making it energy efficient. To review the performance of a resource allocation technique, two other vital factors are the delay between request generated and actual allocation and the number of call blocks and call drops. The proposed channel allocation scheme is evaluated and compared with some existing techniques in terms of these three different criteria and plotted using xgraph utility with NS-2.

  1. (i)

    Message Complexity

  2. (ii)

    Channel Acquisition Delay

  3. (iii)

    Call Blocking Rate

Message complexity is the number of messages exchanged at the time of acquiring a channel.

On the other hand channel acquisition delay defines the total time taken to acquire a channel after a call request is raised. The call blocking probability refers to the number of channels allocated to the actual number of requests generated.

For analysing the above mentioned criteria we assumed a wireless communication system with 2D structure of 7 × 7 cells (the entire topology spread is restricted to 490 × 490 m #$topo load_flatgrid 490 490 70) with each cell having 6 neighbours as shown in Fig. 1. It has been assumed there are 410 channels in the system. The propagation delay of the wireless link is set to 1 ms. The rate of call arrival is assumed to be the Poisson distribution and the life time of a call is assumed to be 180 s on an average. The distance between any two cells is calculated using the Euclidean distance between the centres of the two cells and Dmin = 3. Hence, the number of interfering neighbours is 18. The presence of thermal noise and power interference may reduce the actual number of channels to 400 (approximately). The xgraph utility is used to plot the simulation results. The message complexity, channel acquisition delay and call blocking rate is considered as follows:

  1. (i)

    Message Complexity: The message complexity is measured in terms of the communication time between the mobile host and the Base Station. Let the communication latency on each direction be measured as T, then the total time for all call requests (irrespective of the no. of calls in the system) is 2 × T and the number of messages exchanged is 2. The message complexity as described in [18] is 2 × m (in time T; where m is the number of interfering neighbours i.e. 18 for this case). The messages exchanged for channel acquisition [1] (TSDP-Mercedes) is (6 × n + 9) × d (in time T; d = \( \left| \!{\underline {\, {} \,}} \right. {{\rm{D}}_{\min}}\left. {\underline {\, {} \,}}\! \right| \) and 0 ≤ n ≤ 1; n + 1 is the number of searches; assuming second search is successful) which is more than the proposed algorithm (shown in Fig. 2).

    Fig. 2
    figure 2

    Simulation result of proposed algorithm showing message complexity for non-uniform traffic

  2. (ii)

    Channel Acquisition Delay: Considering both uniform and non-uniform load distribution in the network the channel acquisition delay can be calculated as 2 × T (T is the communication time between mobile host and Base Station). The channel acquisition delay as shown in Fig. 3, when compared with [1] was found to be much less since the latency involved was mainly due to the message transmission between mobile service station and base station (Considering memory searching time to be insignificant) whereas the algorithm [1] (TSDP-Mercedes) has a delay of 2 × (n + 1) × TT where 0 ≤ n ≤ 1; n + 1 is number of searches; TT = Communication time between two cells + Delay to search and generate appropriate reply for a channel acquisition request (with the assumption that the second search will be successful).

    Fig. 3
    figure 3

    Simulation result of proposed algorithm showing channel acquisition delay for non-uniform traffic

  3. (iii)

    Call Blocking Rate: Assuming uniform distribution of traffic and equal availability of tokens for all cells, the blocking rate is insignificant till 1000 calls (assuming equal load distribution among all cells with Dmin = 3). The blocking rate appreciates as the number of calls shoot over 2,000.

The call blocking rate of our algorithm (for non-uniform traffic) when evaluated against [1] performed better (shown in Fig. 4).

Fig. 4
figure 4

Simulation result of proposed algorithm showing Call Blocking Rate for non-uniform traffic

5 Conclusion

The paper proposed an approach of token based distributed mutual exclusion for solving the channel allocation problem. The simulation results show that without downgrading the channel acquisition delay the message complexity has largely been reduced. The message complexity plays an important role since a large overhead can be reduced if no. of messages exchanged per channel request can be reduced. The use of Fuzzy rule ensures that a hand off call is always allocated a channel provided the cell requesting has provision for acquiring new channel without causing any interference. The system requires basic information structure and use of content addressable memory for searching tokens to reduce the channel acquisition delay. The algorithm has been tested with non-uniform load distribution and the performance did not show any significant degradation. The concept of load balancing can be considered for future work.