Distributed Dynamic Channel Allocation for Mobile ... - Semantic Scholar

1 downloads 0 Views 209KB Size Report
Abstract. Mobile computers use wireless channels to communicate with other computers. Ef- cient channel allocation is at the heart of the design of an e cient ...
Distributed Dynamic Channel Allocation for Mobile Computing: Lessons from Load Sharing in Distributed Systems Ravi Prakash and Mukesh Singhal Department of Computer and Information Science The Ohio State University Columbus, OH 43210 Abstract

Mobile computers use wireless channels to communicate with other computers. Ef cient channel allocation is at the heart of the design of an ecient mobile computing system. The nite number of channels should be eciently allocated to maximize throughput and avoid co-channel interference. Temporal variations in channel demand require channel allocation to adapt dynamically to the changing demand. In this paper we present a probabilistic analysis of the temporal imbalance in channel demand. The results provide guidelines for the design of dynamic distributed channel allocation strategies. The analysis indicates that the presence of load imbalance does not necessarily imply the possibility for channel transfer. Also, the e ectiveness of channel transfer depends on the duration for which the imbalance persists. This duration is in uenced in part by the velocity of mobile units. The wide variance in velocities of the mobile units can be handled by using a hierarchical cellular layout. Bulk channel transfers can be employed to reduce the overheads of channel transfer and to enable the system to quickly adjust to spatial variations in channel demand.

mobile computing, channel allocation, load sharing, transfer potential, transfer window, bulk channel transfer.

Keywords:

1 Introduction

A mobile computing system consists of a set of mobile computers and xed computers [11]. The xed computers communicate with each other through a xed wireline network. The mobile computers, henceforth referred to as Mobile Hosts (MH ), communicate with other nodes in the network in two ways: 1. By plugging into a connection point of the xed wireline network for the duration of communication. 1

2. By employing wireless communication. In order to support wireless communication for the mobile hosts, the geographical area covered by the network is divided into smaller regions called cells. Each cell has a xed node, referred to as the Mobile Service Station (MSS ). The MSS is connected to the wireline network and can also communicate with the mobile hosts in its cell using wireless channels. A mobile host can have wireless communication with any other node in the network, xed or mobile, only through the MSS of the cell in which it is present [3]. If a particular wireless channel is used concurrently by more than one communication session in the same cell, or in neighboring cells, the signals of the communicating units will interfere with each other. Such an interference is called co-channel interference. However, the same wireless channel can be used to support communication sessions in geographically separated cells such that their signals do not interfere with each other. This is known as frequency reuse and the corresponding cells are called co-channel cells. The set of neighboring cells that are in the co-channel interference range of each other form a cluster. At any time, a channel can be used to support at most one communication session in a cluster. A 7-cell cluster for frequency reuse is shown in Figure 1. A cell and its six neighbors, each with a di erent label, belong to a cluster.

5

2

1

7

6 1

3

5

4

7 2

1 4

3

2

1

4 6

5 7

2

1 3

2

6

6

5 7

4

3

7 2

11

5

4

3 5

7

6

4 6

5

4

3

2

3

2

1

7

3

2

1

7

6

5

4

6

5 7

Figure 1: A 7-cell cluster of interfering cells with co-channel cells having identical labels. With the increasing popularity of mobile computing, the demand for wireless communication channels is on the rise. However, the communication bandwidth is limited. Therefore, ecient allocation of wireless channels to support communication sessions is of vital importance. 2

An ecient channel allocation algorithm should have the following properties: 1. 2. 3. 4.

minimize connection set-up time. maximize the number of communication sessions that can be supported simultaneously. ability to adapt to changing load distribution minimize computation and communication overheads for channel selection.

Centralized channel allocation schemes have a single point of failure and are not robust [20]. Hence, distributed channel allocation schemes are preferred. Such schemes should be able to dynamically adjust to changes in load distribution. Load, in the context of channel allocation, stands for the demand for channels to support communication sessions. At the heart of a dynamic distributed channel allocation strategy is the channel transfer policy during periods of load imbalance: if a cell needs a channel to support a communication session and a neighbor has an idle channel, then it can be borrowed by the cell provided the borrowing does not lead to co-channel interference. Channel transfer may not be possible in all situations of load imbalance. Several issues need to be looked into: 1. If a cell needs an extra channel, what is the probability that load imbalance exists and a channel can be borrowed from a neighbor? 2. The demand for channels may go down in a cell, and may go up in the neighboring cells that were previously lightly loaded. So, given that load imbalance occurs, how long is it expected to last? Is it possible to accomplish channel transfer in this period of time? 3. How does the velocity of mobile units a ect the duration of load imbalance? How can velocity be accounted for or excluded from the probabilistic analysis of load imbalance duration? 4. How can the computation and communication costs of channel transfer be minimized or amortized without sacri cing the ability to dynamically adjust the distribution of allocated channels to meet changes in load distribution? The answer to all these questions should determine the choice of channel allocation strategies, and whether to pursue channel transfer aggressively or not. In this paper we analyze the probability of occurrence of load imbalance and the duration for which such an imbalance is expected is persist. We propose strategies to account for the varying degrees of mobility of 3

the nodes. We introduce the concept of bulk channel transfer to minimize channel transfer overheads. In Section 2 we describe the previous work done in the area of channel allocation. Section 3 compares the channel allocation problem with the problem of load balancing in distributed systems. The insights thus obtained are used in Sections 4.1 and 4.2 for a probabilistic analysis of the potential for channel transfer and the duration of the channel transfer window, respectively. Subsequently, node mobility is addressed and bulk channel transfer are described. Finally, the conclusions are presented in Section 5.

2 Previous Work Channel allocation to support cellular communication has been studied in [4, 5, 7, 8, 14, 16, 19, 21, 25, 27, 28]. These algorithms deal with the allocation of channels to support analog signal communication, like voice. The duration of a communication session (of the order of minutes) is signi cantly greater than the time to allocate a channel (fraction of a second). The system size, in terms of the number of cells and the mean number of nodes per cell is assumed to show little variation over time. However, the distribution of the nodes across the system may change with time. Channel allocation strategies for supporting microcellular communication [1, 6, 10, 18] and picocellular communication [12] have also been studied. A signi cant number of channel allocation algorithms proposed in the past are centralized in nature. A mobile host that needs a channel sends a request to its MSS . If the MSS cannot allocate a channel, it forwards the request to a central Mobile Telecommunication Switching Oce (MTSO). The MT SO has complete information about the system state. It makes the decision about channel allocation and conveys it to the MH through the corresponding MSS . If channels are not available to support a communication session, the request is dropped. The centralized algorithms are not robust. The MT SO is a single point of failure. If the MT SO goes down, it can bring down the entire network [20]. Also, during periods of high load, the MT SO and the communication subnet in its vicinity may become a bottleneck. Therefore, centralized algorithms are not scalable. Hence, a distributed channel allocation strategy is desirable. In a distributed channel allocation algorithm the MT SO is not needed. The MSS s collectively make decisions about channel allocation. The distributed channel allocation 4

algorithms can be of two kinds: 1. Fixed Channel Allocation (FCA) strategy: the set of channels allocated to a cell does not change with time. Mutually disjoint sets of wireless channels are assigned to neighboring cells. Each cell can use only its set of channels (the nominal channels of the cell) to support the communication sessions originating from and/or directed towards the mobile hosts in its region. 2. Dynamic Channel Allocation (DCA) strategy: the set of channels allocated to a cell varies with time [27, 28]. If a cell cannot support communication sessions using its own set of channels, the MSS s can communicate amongst themselves to determine if the cell can borrow channel(s) from neighboring cells. Channel borrowing should not lead to any co-channel interference. The DCA strategy intuitively appears to be more ecient than the FCA strategy because the former can dynamically adjust to changing load distribution. Decisions to borrow and lend channels should be based on the temporal uctuations in channel demand in a cell and its neighbors. Information about channel demand in neighboring cells can be obtained only through messages and the message propagation time between the MSS s over the wireline network is nite but unpredictable. So, at any instant of time an MSS does not have the latest state information about neighboring cells and has to make channel allocation/transfer decisions based on system information that may be outdated. The performance of a DCA strategy will depend on how outdated is the state information at the MSS s. A heavily loaded cell's decision to borrow a channel from a neighbor may not always lead to better utilization of resources if the state of the neighbor has changed signi cantly since the last time it sent state information to the cell. Due to temporal changes in load distribution, a signi cant amount of time and e ort may be wasted transferring a channel from one cell to another and back, resulting in channel thrashing.

3 Dynamic Channel Allocation: Lessons from Load Balancing In a mobile computing and communication system the load distribution can exhibit high variance over time and space. For example, during the business hours, the downtown area may be heavily loaded. During the morning and evening commute periods, the load may 5

be heavy along the arterial roads. A xed channel allocation strategy lacks the exibility to cope with such wide uctuations in load distribution. Dynamic channel allocation strategies make decisions about channel distribution based on the latest information available about the existing load in various cells. An ecient channel allocation strategy should not only consider the present load, but also the load distribution in the recent past. Based on this information, it should be able to project the load distribution in the near future. A channel allocation strategy that takes into account projections of future load distribution will be able to adapt to changes in load distribution quicker than the strategies that do not. This is because the system is prepared for the changes in advance. As long as the predictions are within an acceptable accuracy range, this strategy will work well. For example, consider a usually heavily loaded cell Ci surrounded by lightly loaded cells. Due to channel transfers done in the past, Ci will have a large number of channels assigned to it. The lightly loaded neighbors will have fewer channels assigned to them. Due to statistical

uctuations in the load, there may be a short period of time during which Ci is lightly loaded and a neighboring cell Cj is heavily loaded. A naive dynamic channel allocation strategy will try to transfer a channel from Ci to Cj . It is possible that soon after the channel is transferred, load in Ci goes up and it needs the channel that was transferred out of it. If the channel is being used in Cj , the request is denied in Ci. Had the channel not been transferred to Cj , based on the history and projections of the future load of Ci and Cj , the channel request in Cj would have been denied. Thus, either way one request would have been denied. However, by refusing the channel transfer in the rst place, the channel transfer overheads would have been avoided. For lightly loaded systems, this saving may not have much impact. However, in highly loaded systems, susceptible to channel thrashing, this overhead can be high. By making channel transfer decisions based on future projections, thrashing can be avoided or reduced. Channel thrashing can also be avoided by using lower and upper thresholds on the number of available channels while making transfer decisions. A cell relinquishes a free channel to another cell only if the number of available channels is greater than the upper threshold. Channel transfer requests may be denied if the number of available channels is less than the lower threshold. The channel allocation problem is similar to the load balancing/sharing problem in distributed systems [9, 17, 22], with a few signi cant di erences. The communication sessions between MH s and MSS s are like the jobs in a distributed system. The channels needed 6

to support the sessions are analogous to the resources the jobs need to execute. In the load balancing problem, typically if there are more jobs than a threshold value at a node, some of the jobs are migrated to lightly loaded nodes. However, in a mobile communication system, the problem is complicated due to the following reasons: 1. The jobs (communication sessions) cannot be migrated to a cell with under-utilized resources. Instead, resources (channels) have to be migrated from lightly loaded cells to the cells where they are needed. 2. A job migrates on its own accord when a communicating mobile host moves out of its old cell into a new cell. Therefore, it is possible that by the time a channel is transferred into a cell to support a communication session for a mobile host in that cell, the mobile host has moved to another cell. 3. In the load balancing problem, the various jobs are independent of each other. The only requirement for the migration of jobs is the availability of lightly loaded nodes. However, in the channel allocation scenario, co-channel interference has to be considered. A cell may not be using all its allocated channels, yet the free channels of the lightly loaded cell cannot be transferred to a heavily loaded neighboring cell because this may lead to interference. 4. The actual layout of the cells in a region can also a ect the channel allocation decisions. Most of the previous work has considered a system model where the entire coverage area is divided into a set of non-overlapping cells. However, in a more realistic model, neighboring cells may overlap with each other. If a mobile node requesting a wireless channel lies in the overlapping region of a heavily loaded and a lightly loaded cell two options are available: (a) the MSS of the lightly loaded cell may relinquish control over a channel and the MSS of the heavily loaded cell may acquire control over the channel and use it to support the session. (b) instead of channel transfer, the mobile host connects to the MSS of the lightly loaded cell through the available channel. Even though option (a) appears counter-intuitive, it may improve the overall system performance for certain spatial distributions of the MH s, the spatial distribution of the channel in use in the neighboring cells, and the direction of movement of the mobile host. For example, consider the situation depicted in Figure 2. The mobile host lies in the region of overlap between cells Ci and Cj , and it is moving in the direction shown by the arrow. Assuming Cj is highly loaded and Ci is lightly loaded, exercising 7

mh

C i

C j

Figure 2: Channel allocation based on direction of mobile host's movement option (a) will be preferable. This is because of the following reason: Once a channel is transferred from Ci to Cj , that channel can be used for supporting the communication of the mobile host at least as long as it is in Cj . If option (b) is employed instead, the communication is controlled by the MSS of cell Ci. In a short while the mobile host leaves the region of overlap and is only in Cj . As soon as this happens, a hand-o from Ci to Cj will be needed. At the same time, Cj will have to borrow a channel from a lightly loaded neighboring cell to support the communication session. Thus using option (b) has the additional cost incurred in communication hand-o . 5. For load balancing in distributed systems, the processing overhead and the communication time needed for job transfer is small as compared to the job processing time [23]. The same does not hold for mobile communication. It may be true for voice communication over the cellular network where the link set-up time is of the order of fractions of a second and the subsequent duration of link usage is of the order of minutes. However, in the case of mobile computing, there may be a great variance in the duration of communication sessions. Typically, the duration of communication sessions has a bimodal distribution. The overheads involved in channel transfer may be insigni cant compared to the duration of the resultant communication session if a large le is to be downloaded or uploaded. However, sometimes, the transferred channel may be used to support a communication session of a fraction of a second during which a short burst of control signals is sent or received. Thus the overheads of channel transfer can signi cantly a ect system performance.

8

4 Temporal Analysis of Load Imbalance As described in Section 3, there are several similarities between the problems of dynamic distributed channel allocation for mobile computing and load balancing for distributed systems. However, the di erences mentioned above imply that load balancing strategies proposed in the past cannot be directly used for channel allocation. Hence, the issues enumerated in Section 1 need to be analyzed to obtain guidelines for the design of dynamic distributed channel allocation strategies. 4.1

Potential for Channel Transfer

A channel can be transferred to a cell by its neighboring cell if the cell needs more than its allocated set of channels to satisfy channel requests in its region and the neighbor has an idle channel that will not lead to co-channel interference. The probability of occurrence of such a situation is referred to as the potential for channel transfer. Let us assume a C-cell cluster system, with a total of N communication channels. Assuming that the channels are equally distributed among the C cells, the number of channels available in every cluster is equal to N=C = n. Let the expected arrival rate of channel requests for each cell be , and the expected channel use time for each communication session be 1=. As there are n channels in a cell, at most n communication sessions can be simultaneously supported in the cell. The state transitions due to the arrival and departure of channel requests can be modeled as the birth-death system shown in Figure 3. Each state denotes the number of simultaneous communication sessions in progress in a cell during that state. The steady-state probability of state i (i simultaneous communication sessions in

0

1

2 2

3 3

4

(n-1)

Figure 3: State transition diagram for a cell. progress), represented by Pi, can be expressed as [15]:  P Pi = ( )i  i!

0

9

n

n-1 n

Let  = =(n  ). As the probabilities must sum to 1, the probability of state i is equal to: (n)i Pi = Pn n i! j j (

=0

)j

!

Hence, the probability that the system is in a state where a cell has all its n channels in use and among all the neighboring cells in its cluster there is at least one idle channel, can be expressed as Pn(1 ? Pnc? ), which when expanded can be written as: 1

(n)n

P n! n

j =0

(n)j

j!

?

(n)N

(n!)N=n(Pn

j =0

)

n)j N=n j!

(

Henceforth, it will be referred to as the channel transfer potential. It is an upper bound on the probability that a channel transfer can be carried out to support communication sessions. In reality, the availability of an idle channel in a neighboring cell does not necessarily imply that the channel can be borrowed to support a communication session. For example, in Figure 1, suppose cell 1 (highlighted in the gure) needs a channel and cell 7 to its left has an idle channel. The channel cannot be borrowed by cell 1 if the same channel is being used in any of the two co-channel cells of cell 7 close to cell 1. These cells are also highlighted in the gure. However, this restriction can be relaxed if intra-cell hando s are allowed: a cell may switch some of the communication sessions it is supporting to di erent channels, so that it can facilitate channel borrowing without interference. However, such hando s have some overheads associated with them. Figure 4 shows the channel transfer potential for a 5-cell cluster and a 7-cell cluster with varying number of channels in a cluster. In a 5-cell cluster, if there are 25 channels/cluster, it implies that on an average, the number of channels allocated to a cell (n) is equal to 5. For the system to be stable  = =(n  ) < 1:0. The potential for channel transfer (which is a probabilistic measure) is plotted against  which can be interpreted as a measure of the utilization of the channels in the cluster. The potential for channel transfer monotonically increases with increasing . This indicates that as the utilization increases, the chances of a cell having all its channels in use and at least a neighboring cell having an idle channel increase. At low utilizations, all the cells in a cluster are lightly loaded and the need for channel transfer is low. For a xed value of utilization, the channel transfer potential decreases with increase in the number of channels per cluster. This is because with the cluster size remaining xed the number of channels per cell increases as the number of channels per cluster increases. So, the probability of all the channels in a cell being busy decreases. 10

Channel Transfer Potential vs. Utilization 5 cell cluster 0.40

0.40

10 channels/cluster 25 channels/cluster

0.36

14 channels/cluster 35 channels/cluster

0.36

50 channels/cluster

0.32

Channel transfer potential

Channel transfer potential

Channel Transfer Potential vs. Utilization 7 cell cluster

0.28 0.24 0.20 0.16 0.12 0.08 0.04

70 channels/cluster

0.32 0.28 0.24 0.20 0.16 0.12 0.08 0.04

0.00

0.00 0.00 0.10 0.20 0.30 0.40 0.50 0.60 0.70 0.80 0.90 1.00

0.0

Utilization -->

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

Utilization -->

Figure 4: Variation in channel transfer potential with utilization for di erent number of channels in a cluster. This is unlike the probability of load imbalance in distributed systems obtained by Livny and Melman in [17] where the transfer potential increases with increasing utilization until it reaches a peak at 65% utilization and then decreases. Figure 4 indicates that as the utilization of channels increases a more aggressive channel transfer strategy should be pursued to minimize the number of channel requests that are denied. However, all attempts at channel transfer will not be productive and may lead to channel thrashing which will degrade the system performance. This leads to two interesting question: (a) Given that there exists a potential for channel transfer, how much time is available for carrying out such a transfer before the system state changes rendering such a transfer unnecessary or counter productive? (b) Is it possible to transfer more than one idle channel from lightly loaded neighbors to a heavily loaded cell? If so, what are the constraints and what are the advantages? 4.2

Channel Transfer Window

Let there exist a pair of neighboring cells Ci and Cj such that Ci is highly loaded and needs to borrow a channel to support a communication session, while Cj is lightly loaded and has at least one idle channel that can be transferred to Ci. Due to temporal uctuations in 11

1.0

8 < 1 ? (1 ? P (t; H; L; Ci))(1 ? P 0(t; L; H; Cj )) if t  Ttransfer P rob(t; H; L) = : 1 if t > Ttransfer Figure 5: Probability distribution function for the Channel Transfer Window. channel demand, it is possible that after a period of time Ci no longer needs to borrow the channel and/or Cj can no longer lend the channel due to its own internal demand. Moreover, a channel request arriving at the MSS of a cell will time-out if the request is not satis ed within a particular period of time Ttransfer . Under such a situation, we de ne a random variable, the Channel Transfer Window, W (Ci; Cj ), between Ci and Cj as follows: MinfT (H; L; Ci ); T (L; H; Cj ); Ttransfer g

where T(H,L,Ci ) and T(L,H,Cj ) represent the rst passage times [13] from high load to low load and low load to high load states of cells Ci and Cj , respectively. Let P(t; H,L,Ci) and P 0(t; L,H,Cj ) correspond to the probability distributions of the rst passage times from high load to low load, and low load to high load for cells Ci and Cj , respectively. Then the probability distribution function of the Channel Transfer Window Prob(t,H,L) is equal to P robfW (Ci; Cj )  tg, for t  0. Its value is equal to the expression shown in Figure 5. The probability distribution function of the Channel Transfer Window makes no assumptions about the arrival rate and service rate and distributions of channel requests at the cells Ci and Cj . So, two neighboring cells can have di erent number of channels allocated to them and di erent arrival rates. Still the expression derived above will continue to hold. The ability to transfer a channel from one cell to its neighbor depends on the relation between the time needed to transfer a channel and the expected duration of the Channel Transfer Window. The neighboring MSS s are connected to each other by a wired network. When Ci needs to borrow a channel from a neighbor, Ci has to broadcast a probe to all the neighboring MSS s. Only when a neighboring MSS responds to the probe indicating that it has a channel to lend does the transfer take place. Therefore, the time needed for the transfer has three components: 1. time taken for probes to return from neighboring cells indicating their channel load at the time of responding to the probe. 12

2. time for Ci to determine a neighbor Cj from which it can borrow a channel and send a request. 3. time for Cj to lend a channel to Ci in response to the request. If the sum of the three components is greater than the expected Channel Transfer Window, the channel transfer is either not needed, or not possible, or both. In such situations, attempts to transfer channel(s) are likely to degrade the overall performance of the system. Hence, channel transfers should be attempted only if the total time needed for channel transfer is likely to be less than the Channel Transfer Window. However, as the Channel Transfer Window is a random variable, the condition can be expressed as follows: transfer a channel from a lightly loaded cell Cj to a highly loaded neighbor Ci only if the probability of the Channel Transfer Window, W(Ci ,Cj ), being greater than the time for channel transfer is above a threshold value. The threshold can be selected as a system tuning parameter. 4.3

Node Mobility and Channel Transfer Window

As described in Section 4.2, the duration of the Channel Transfer Window depends on the rst passage times of the cells with high load and low load situations. The channel demand (load) in a cell depends on two factors: 1. arrival rate of channel requests and expected channel use time for a communication session. 2. rate of migration of partially completed communication sessions into/out of cells due to the mobility of the communicating mobile nodes. Hence, the intrinsic mobility of the communication sessions adds a new dimension to the problem of determining the Channel Transfer Window. The situation is complicated by the fact that di erent mobile units move at di erent speeds: there is an order of magnitude di erence between the velocity of personal data assistants (PDAs) carried by pedestrians and their counterparts inside cars. The problem can be handled in two possible ways: (a) analyzing the velocity of the mobile units and its impact on the rst passage times between high and low load conditions of the cells, (b) minimizing the impact of node mobility on the Channel Transfer Window by appropriate cell planning. In heavily built-up urban areas, the Channel Transfer Window and hando time for communication sessions can be extremely small when a mobile unit turns around a building block from one street to another. The 13

shadowing e ects of buildings can sometimes require rapid migration of a communication session from one cell to another even for a low speed mobile unit. Constantly monitoring the velocity of all the mobile units in a mobile computing system and predicting their future locations is dicult. It will get more dicult in the future because the number of mobile units is increasing rapidly. Hence, the second option of cell planning looks more promising. Umbrella cells overlaying smaller microcells in urban areas [2] are one solution. Faster moving units can be connected to the umbrella cells and slower moving units can be connected to the smaller microcells. Sung and Wong [24] extend the solution by proposing a hierarchical organization of cells and MSS s. Equal sized cells are grouped into layers, with cell size increasing from lower layers to higher layers. The channel demands are partitioned into categories depending on the velocity of the mobile unit from which they emanate.

 Channel requests from slow moving mobile units are handled by smaller cells and those

from faster mobile units are handled by larger cells.  As long as the ratio between the velocity of the mobile unit and the diameter of the cell handling the mobile unit's communication is within a prespeci ed range, the impact of mobility on the Channel Transfer Window is small and can be ignored. If the ratio goes above or below the range, the communication session can be handed over to a cell at a higher or a lower layer, respectively.  As it is dicult to accurately measure the velocity of a mobile unit, the velocity is indirectly determined by measuring the time that the unit stays in a cell. The velocity is inversely proportional to the duration of stay in the cell.

4.4

Bulk Channel Transfer

A channel allocation strategy can quickly respond to changes in load distribution by employing bulk channel transfer. Existing channel allocation strategies borrow only one channel at a time from the neighbors to support a communication session. However, the time required for bulk channel transfer is likely to be greater than the time for a single channel transfer. The time for a heavily loaded node to broadcast a probe, and for the probes to return is the same as in the case of single channel transfer. But, the cell that wishes to borrow multiple channels has to carry out some additional computation to 14

determine the set of channels as opposed to just one channel that can be borrowed. Finally, the transfer is complete when the last borrowed channel is received from a lending neighbor. The additional computation for bulk channel transfer can be minimized by storing the availability status of channels as boolean vectors. Selection of appropriate channels will then require a small number of boolean operations on these vectors. The cost of these operations in terms of time is small. The time for the last borrowed channel to be received in response to a borrow request has the same upper bound as the time for a single borrowed channel to be received for the single channel borrow situation. Hence, bulk channel transfer should be carried out only if the probability of the Channel Transfer Window being greater than the time taken for the bulk transfer is greater than the threshold, mentioned in Section 4.2. 4.5

Channel Transfer vs. Channel Borrowing

In the existing dynamic channel allocation algorithms, the borrowed channel is relinquished to its previous owner at the end of the communication session. The borrowing is implemented by simulating dummy calls in the cells from which the channels are borrowed and by employing directional locking or cell sectoring [26, 28]. The impact of channel transfers can be increased if a channel acquired through transfer is not relinquished at the end of the communication session it was supporting in the new cell. Thus, a channel is not borrowed from a neighbor just for a single communication session. Instead, it is transferred for future use as well. Over a period of time the number of channels allocated to di erent cells in a cluster will be proportional to the channel demand in the cells { highly loaded cell will acquire a large number of channels and cells with low load will have fewer channels allotted to them. This will reduce the number of transfer attempts and the resultant network trac as it exploits the temporal and spatial locality of channel demand. A channel transfer algorithm that exploits the locality of demand has been presented in [20].

5 Conclusions Dynamic distributed channel allocation was advocated for mobile computing due to its exibility, robustness and scalability. Dynamically changing the channels allocated to various cells enables the system to adapt to changes in the temporal and spatial distribution of communication channel demand. 15

The channel allocation problem has some interesting similarities with the load balancing problem studied in the context of distributed computing. However, the two problems have some fundamental di erences. In the classic load balancing problem, the resources (processing nodes) are xed while the jobs (processes) can be migrated between nodes. In the case of channel allocation, both the resources (channels) and the jobs (nodes involved in mobile computing) exhibit mobility. The mobility of the resources is constrained by co-channel interference while the mobility of the jobs is dependent on the geometric layout of the cells, and the velocity of the mobile nodes. Dynamic distributed channel allocation algorithms transfer channels from lightly loaded cells to heavily loaded neighboring cells. These algorithms improve the overall utilization of the channels, increase the number of communication sessions that can be supported simultaneously, and decrease the number of blocked communication sessions. However, channel transfers have computational and communication overheads. Moreover, in certain situations of load imbalance, channel transfer is not feasible. We derived an expression for the potential for channel transfer in a cellular mobile computing system. We also presented a probabilistic analysis for the feasibility of channel transfer, given the overheads for the transfer and the temporal uctuations in channel demand distribution. We proposed bulk channel transfer as a strategy to minimize the channel transfer overheads and to amortize the overheads over several network communication sessions. Bulk channel transfers enable the system to quickly adjust to sudden changes in the channel demand distribution. Channel demand exhibits spatial and temporal locality. Therefore, the impact of channel transfers can be made long lasting if a borrowed channel is not returned by the borrower at the end of the communication session it was supporting. By keeping the borrowed channel until it is requested by a neighbor, the number of channel transfer attempts can be reduced. This is because the channel demand distribution usually changes slowly over a period of time. The variance in the relative speeds of the di erent mobile units, and the frequency with which they switch from one MSS to another can be handled by using a hierarchy of cells with the cell size increasing from lower layers of the hierarchy towards the higher layers.

References

[1] Y. Akaiwa and H. Andoh. Channel Segregation { A Self-Organized Dynamic Channel Allocation Method: Application to TDMA/FDMA Microcellular System. IEEE Journal 16

[2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14]

on Selected Areas in Communications, 11(6):949{954, August 1993. M. D. Austin and G. L. Stuber. Direction Biased Hando Algorithms for Urban Microcells. In Proceedings of the 44th Vehicular Technology Conference, pages 101{105. IEEE, 1994. B. R. Badrinath, A. Acharya, and T. Imielinski. Structuring Distributed Algorithms for Mobile Hosts. In Proceedings of the 14th International Conference on Distributed Computing Systems, June 1994. J. C.-I. Chuang. Performance Issues and Algorithms for Dynamic Channel Assignment. IEEE Journal on Selected Areas in Communications, 11(6):955{963, August 1993. I. A. Cimet. How to Assign Service Areas in a Cellular Mobile Telephone System. In Proceedings of the IEEE International Conference on Communications, pages 197{200, 1994. L. J. Cimini, Jr., G. J. Foschini, and C.-L. I. Distributed Dynamic Channel Allocation Algorithms for Microcellular Systems. In J.M. Holtzman and D.J. Goodman, editors, Wireless Communications | Future Directions, pages 219{241. Kluwer Academic Publishers, 1993. D. D. Dimitrijevic and J. Vucetic. Design and Performance Analysis of the Algorithms for Channel Allocation in Cellular Networks. IEEE Transactions on Vehicular Technology, 42(4):526{534, November 1993. M. Duque-Anton, D. Kunz, and B. Ruber. Channel Assignment for Cellular Radio Using Simulated Annealing. IEEE Transactions on Vehicular Technology, 42(1):14{21, February 1993. D. L. Eager, E. D. Lazowska, and J. Zahorjan. Adaptive Load Sharing in Homogeneous Distributed Systems. IEEE Transactions on Software Engineering, SE12(5):662{675, May 1986. S.A. El-Dolil, W.C. Wong, and R. Steele. Teletrac Performance of Highway Microcells with Overlay Macrocell. IEEE Journal on Selected Areas in Communications, 7:71{78, January 1989. G. H. Forman and J. Zahorjan. The Challenges of Mobile Computing. IEEE Computer, 27(4):38{47, April 1994. R. Ghai and S. Singh. A Protocol for Seamless Communication in a Picocellular Network. In Proceedings of the IEEE International Conference on Communications, pages 192{196, 1994. D. P. Heyman and M. J. Sobel. Stochastic Models in Operations Research, volume 1. McGraw-Hill, New York, 1982. T. J. Kahwa and N. D. Georganas. A Hybrid Channel Assignment Scheme in Large Scale, Cellular Structured Mobile Communication Systems. IEEE Transactions on Communication, 26(4), April 1978.

17

[15] N. Kleinrock. Queueing Systems, volume 1. Wiley, New York, 1976. [16] W. C. Y. Lee. New Cellular Schemes for Spectral Eciency. IEEE Transactions on Vehicular Technology, VT-36, November 1987. [17] M. Livny and M. Melman. Load Balancing in Homogeneous Broadcast Distributed Systems. In Proceedings of the ACM Computer Network Performance Symposium, pages 47{55, 1982. [18] K. Madani and H. A. Aghvami. Performance of Distributed Control Channel Allocation (DCCA) Under Non-Uniform Trac Condition in Microcellular Radio Communications. In Proceedings of the IEEE International Conference on Communications, pages 206{ 210, 1994. [19] R. Mathar and J. Mattfeldt. Channel Assignment in Cellular Radio Networks. IEEE Transactions on Vehicular Technology, 42(4):647{656, November 1993. [20] R. Prakash, N. Shivaratri, and M. Singhal. Distributed Dynamic Channel Allocation for Mobile Computing. In Proceedings of the 14th ACM Symposium on Principles of Distributed Computing (to appear), August 1995. [21] S. S. Rappaport. The Multiple-Call Hand-O Problem in High-Capacity Cellular Communications Systems. IEEE Transactions on Vehicular Technology, 40(3):546{557, August 1991. [22] N. G. Shivaratri, P. Krueger, and M. Singhal. Load Distributing in Locally Distributed Systems. IEEE Computer, 25:33{44, December 1992. [23] M. G. Sriram and M. Singhal. Temporal analysis of load imbalance in distributed computing systems. Technical Report OSU-CISRC-2/95-TR05, Computer and Information Science Research Center, The Ohio State University, 1995. [24] C. W. Sung and W. S. Wong. User Speed Estimation and Dynamic Channel Allocation in Hierarchical Cellular System. In Proceedings of the 44th Vehicular Technology Conference, pages 91{95. IEEE, 1994. [25] W. Yue. Analytical Methods to Calculate the Performance of a Cellular Mobile Radio Communication System with Hybrid Channel Assignment. IEEE Transactions on Vehicular Technology, 40(2):453{460, May 1991. [26] T.-S. P. Yum and W.-S. Wong. Hot-Spot Trac Relief in Cellular Systems. IEEE Journal on Selected Areas in Communications, 11(6):934{940, August 1993. [27] M. Zhang and T.-S. P. Yum. Comparisons of Channel-Assignment Strategies in Cellular Mobile Telephone Systems. IEEE Transactions on Vehicular Technology, 38(4):211{215, November 1989. [28] M. Zhang and T.-S. P. Yum. The Nonuniform Compact Pattern Allocation Algorithm for Cellular Mobile Systems. IEEE Transactions on Vehicular Technology, 40(2):387{ 391, May 1991. 18