Presented - the 4th IEEE and IFIP International Conference on Wireless and Optical Communications Networks (WOCN 2007), July 2-4, 2007, pp. 1-5.
Cluster-based multi-channel scheduling algorithms for ad hoc networks Hyukjin Lee and Cheng-Chew Lim
Jinho Choi
School of Electrical and Electronic Engineering The University of Adelaide, Australia 5005 {hyukjin, cclim}@eleceng.adelaide.edu.au
Institute of Advanced Telecommunications University of Wales Swansea, UK SA2 8PP
[email protected]
Abstract— We propose cluster-based multi-channel scheduling algorithms for intra-cluster and inter-cluster communications in ad hoc networks. Depending on traffic demands of clusters, the proposed algorithms optimally distribute available nonoverlapping channels to proper clusters and schedule time slots of time division multiple access (TDMA) over the allocated channels. Simulation results show that the size of TDMA slots is efficiently minimised and end-to-end throughput is maximised on different cluster formations such as distance-based cluster formation and load-based cluster formation.
I. I NTRODUCTION Ad hoc networks dynamically adapt themselves into changing network configuration with no fixed infrastructure [1]. Due to the dynamic nature of ad hoc networks, efficient selforganising mechanisms are essentially needed [2]. As one of the self-organising mechanisms, clustering provides energy conservation, scalability, and robustness for the dynamic ad hoc networks. A clustering network consists of several small building blocks of nodes, so called clusters where each cluster has a cluster head and cluster members. As centralised coordinators, the cluster heads have responsibility for their intra-cluster and inter-cluster connectivity. This centralised clustering topology enables relatively simple and localised mechanisms for the ad hoc networks [3]. For ad hoc wireless communication, there are multiple non-overlapping communication channels supported by IEEE 802.11a [?] and IEEE 802.15.3 [5] standards. Due to limitation of wireless nodes equipped with a single transceiver (i.e., a wireless node cannot transmit or receive multiple packets at the same time slot), one of these communication channels is normally shared by the nodes. However, by multi-channel scheduling algorithms [6]-[14], simultaneous usage of multiple non-overlapping channels can be achieved, resulting in higher throughput than a single shared channel. In this paper, multi-channel scheduling algorithms are proposed by taking into account clustering topology in ad hoc networks. Due to the centralised clustering topology in ad hoc networks, the proposed algorithms can be simple and localised. Depending on traffic demands of clusters, the algorithms optimally distribute available non-overlapping channels to proper clusters and schedule time slots of time division multiple access (TDMA) over the allocated channels for maximising end-to-end throughput in the clustering topology.
Fig. 1. Two-level hierarchical clustering topology in ad hoc networks with regard to intra-cluster and inter-cluster communications
II. C LUSTER C OMMUNICATIONS Cluster communications can be classified into intra-cluster and inter-cluster communications in two-level hierarchical clustering topology shown in Fig. 1. In order to guarantee quality of service (QoS) and high throughput, TDMA is adapted for cluster communications by allocating a fixed time slot per a packet to each node over multiple channels. In the intra-cluster communication, packet transmission of each cluster member is processed within its cluster. Each cluster member has a packet to a random destination. If its packet destination is located within the same cluster, it transmits the packet to the destination directly (i.e., direct link). Otherwise, it forwards the packet to its own cluster head in order to save battery energy (i.e., uplink). On the other hand, in the intercluster communication, each cluster head broadcasts packets received from its members to their destination over specific channels of their destination similar to broadcast scheduling methods [6][7]. For the simultaneous usage of multiple non-overlapping channels, dynamic channel allocation algorithms [8][9] were proposed to allocate different number of channels to clusters in a distributed manner. With the allocated channels, slot scheduling algorithms [10]-[12] were also developed to minimise the
(a) Four clusters with various number of uplinks and direct links
(b) Slot scheduling with 4 default channels (each cluster has a default channel, Sintra = 11)
(d) Slot scheduling with 6 channels (Cluster 1 uses 1 additional channel, Sintra = 6)
(e) Slot scheduling with 7 channels (Cluster 2 uses 2 additional channels, Sintra = 6)
(c) Slot scheduling with 5 channels (Cluster 2 uses 1 additional channel, Sintra = 7)
(f) Slot scheduling with 8 channels (Cluster 4 uses 1 additional channel, Sintra = 5)
Fig. 2. Intra-cluster channel allocation and slot scheduling with various number of uplinks and direct links for 4 clusters, with #C denotes an identification number of a channel.
size of slots as a bin-packing problem where there are nonpreemptively scheduling M independent tasks on C identical, parallel processors. In ad hoc networks, M and C can denote numbers of nodes and of channels, respectively. However, the previous approaches are not suitable for the cluster communications because they did not consider the different traffic demands on clusters under the single transceiver constraints (i.e., the uplinks to each cluster head cannot be distributed over multiple channels even though there are more available channels in each cluster). In this paper, the channel allocation for the cluster communications takes into account different number of uplinks and direct links among clusters. Then, time slots are scheduled for intra-cluster communication as contiguous slot scheduling and for inter-cluster communication as non-contiguous slot scheduling [13][14]. III. P ROPOSED SCHEDULING ALGORITHMS The objective of cluster-based multi-channel scheduling algorithms is to maximise the end-to-end throughput by optimising the number of total TDMA slots in the cluster communications. Let Sintra denote the number of TDMA slots for the intracluster communication, and let Sinter be the number of TDMA
slots for the inter-cluster communication. The number of total TDMA slots, Stotal , is Sintra + Sinter . The optimal number of TDMA slots, denoted by Sopt , is obtained as follows Sopt = min Stotal = min(Sintra + Sinter ). A. Intra-cluster scheduling algorithm Intra-cluster scheduling algorithm maintains an optimal channel allocation and slot scheduling with consideration of various uplinks and direct links of each cluster. This algorithm is performed with default channels where each cluster has an own channel. Therefore, Sintra should be the maximum size of traffic demands among clusters, i.e., Sintra = max (Ui + Di ) i=1,...,H
where Ui and Di denote the number of uplinks and direct links in cluster i, respectively, and H denotes the number of clusters. To reduce Sintra , a cluster which has the maximum number of slots is investigated whether its traffic demands can be split over multiple available channels. Firstly, if the scheduled slots of the cluster consist of uplinks and direct links, they can be separated over two channels. For uplinks and direct links, a
(a) Channel allocation with 4 default channels and various number of uplinks Fig. 3.
(b) Slot scheduling with 4 default channels (Sinter = 10)
Inter-cluster channel allocation and slot scheduling with traffic demand matrix W for 4 clusters
default channel and an additional channel are used respectively. Hence, Sintra is reduced to the next largest number of slots among clusters. Secondly, if the scheduled slots of the cluster are only for direct links, an additional channel can also be applied to split them, reducing Sintra . These direct links share the additional channels. The above processes are repeated until there is no available channel or Sintra becomes the maximum number of uplinks. Although multiple channels are used, Sintra cannot be reduced under the size of maxi=1,...,H Ui as a lower bound due to the single transceiver constraints. Hence, when multiple channels is used, Sintra is expressed as follows max Ui ≤ Sintra ≤ max (Ui + Di ).
i=1,...,H
(c) Slot scheduling with 5 channels (Sinter = 7)
i=1,...,H
To explain the intra-cluster channel allocation and the slot scheduling, a clustering topology can be considered with 4 clusters. In Fig. 2(a), the clustering topology is presented with various numbers of uplinks and direct links of each cluster. Fig. 2(b) shows the contiguous slot scheduling is performed with 4 default channels. Since Cluster 2 has the maximum size of traffic demands among the clusters, Sintra is (U2 + D2 ) = 11. To reduce Sintra , one additional channel (#C = 5) is assigned to Cluster 2 as shown in Fig. 2(c). Cluster 2 separates the uplinks and the direct links over the default channel and the additional channel. Thereafter, Sintra becomes (U1 + D1 ) = 7, because Cluster 1 has the next largest size of traffic demands. Fig. 2(d) also shows that Cluster 1 can split traffic demands similar to Cluster 2. Now, Sintra is 6 because Cluster 2 and Cluster 4 have the maximum number of the slots. In Fig. 2(e), Cluster 2 is still able to split traffic demands over multiple channels because the traffic demands are only direct links. Hence, the direct links can be rescheduled over 2 additional channels. For the same reason, Cluster 4 can use an additional channel to reduce Sintra as shown in Fig. 2(f). However, Sintra cannot be reduced further because it reaches the lower bound as maxi=1,...,H Ui = U2 = 5.
B. Inter-cluster scheduling algorithm Inter-cluster scheduling algorithm takes into account simultaneous transmission of cluster heads and reception of cluster members to distribute multiple channels under the single transceiver constraints of nodes. Let W = (wij )H×H denote an inter-cluster traffic demand matrix, where wij denotes traffic demands transmitted by cluster head i to cluster j for broadcasting packets. The total number of traffic transmitted by cluster head i, Wi , is the column sum of cluster head i in W and the total number of traffic received in cluster j, denoted by Rj is the row sum of cluster j in W . The inter-cluster scheduling algorithm is explained as follows. Firstly, an inter-cluster scheduling table is initialised with W . Traffic demands of each cluster head are scheduled noncontiguously to specific clusters of the traffic destination over their default channels. Hence, Sinter depends on the maximum size of receiving packets of each cluster as follows Sinter = max Rj = max j=1,...,H
j=1,...,H
H X
wij .
i=1
Secondly, a cluster that has the largest number of slots in the scheduling table is examined whether the cluster can divide its slots into multiple channels or not. From the last slot of the cluster, a transmitting cluster head and a receiving cluster member of the slot is compared to find an available slot in the inter-cluster scheduling table. If there is a slot that is not used for the same receiving cluster member and the transmitting cluster head in other channels, the slot can be available by adding a new channel. Finally, if there is no available slot or the number of slots is the same as the maximum number of transmitting packets of cluster heads, the algorithm is terminated. Otherwise, the above processes are repeated until there is no available channel. Due to the single transceiver constraints of cluster heads, the maximum number of transmitting packets of cluster heads as a lower bound is required for terminating the inter-cluster communication. Hence, Sinter is expressed as max Wi ≤ Sinter ≤ max Rj
i=1,...,H
j=1,...,H
Intra−cluster communication with 4 cluster heads 90
90 Distance−based: total links Distance−based: uplinks Distance−based: direct links Load−based: total links Load−based: uplinks Load−based: direct links
Maximum number of links
70
80 70 Number of TDMA slots
80
60 50 40 30
60 50 40 30
20
20
10
10
0 40
60
80
100 120 140 Number of nodes
Distance−based: 4 default channels Distance−based: 4 + additional channels Load−based: 4 default channels Load−based: 4 + additional channels
160
180
0 40
200
Fig. 4. Link characteristics in the distance-based and the load-based cluster formations with 4 clusters
60
80
100 120 140 Number of nodes
160
180
200
Fig. 5. Intra-cluster scheduling in the distance-based and the load-based cluster formations with 4 default channels and additional channels Inter−cluster communication with 4 cluster heads
Fig. 3(a) shows the channel allocation with 4 default channels and various number of uplinks in each cluster. In Fig. 3(b), the inter-cluster scheduling table is initialised with 4 default channels. Slots are allocated non-contiguously by following W matrix. As a result, Sinter is obtained as maxj=1,...,4 Rj = 10 in Cluster 3. Fig. 3(c) shows the improved inter-cluster scheduling table where Sinter becomes 7 because Clusters 3 and 4 have the next largest number of slots. Since the slots rescheduled on the additional channel (#C = 5) do not have the same transmitting cluster heads and do not have the same receiving cluster members in the same time slots over the used channels, the slots in Cluster 3 are split over the additional channel. However, Sinter cannot be reduced further because it reaches the maximum number of transmitting packets of Cluster head 1 which is the lower bound. IV. S IMULATION E XPERIMENTS Our system is simulated by randomly locating N nodes on an area of 50 × 50m2 grid, and H cluster heads are randomly selected among N nodes where N ∈ {40, 80, 120, 160, 200} and H ∈ {4, 6, 8}. The total number of channels is 13 which is the same as that in IEEE 802.15.3 [5]. Channel reuse is not considered in this study. Each result in these simulations is an average of 100 runs. In order to measure the system performance, the end-to-end throughput is defined as the number of transmitted packets over the number of total TDMA slots in cluster communications. Moreover, we investigate the effectiveness of the algorithms on different cluster formations, by focusing on the distance-based cluster formation and the load-based cluster formation.
55 Distance−based: 4 default channels Distance−based: 4 + additional channels Load−based: 4 default channels Load−based: 4 + additional channels
50 45 Number of TDMA slots
Fig. 3 shows the channel allocation and the slot scheduling with various uplinks in 4 clusters for the inter-cluster communication. Let the given inter-cluster traffic demand matrix be: 0 3 2 2 1 0 4 0 W = 3 2 0 1 1 1 4 0
40 35 30 25 20 15 10 5 40
60
80
100 120 140 Number of nodes
160
180
200
Fig. 6. Inter-cluster scheduling in the distance-based and the load-based cluster formations with 4 default channels and additional channels
Fig. 4 shows the link characteristics in the distance-based and the load-based cluster formations with 4 clusters. The maximum number of direct links is smaller than the maximum number of uplinks because the possibility of having a destination of a packet located in the same cluster is lower than that in the other clusters. In addition, the maximum number of links in the distance-based cluster formation is larger than that in the load-based cluster formation because some of clusters have more members than other clusters in the distance-based cluster formation. In Fig. 5, the intra-cluster scheduling algorithm is performed in the distance-based and the load-based cluster formations. With only 4 default channels, the number of TDMA slots is obtained as the maximum number of total links among clusters. However, by splitting links over multiple additional channels, the number of TDMA slots is reduced to the maximum number of uplinks as the low bound. Furthermore, the number of TDMA slots in the distance-based cluster formation is significantly reduced because the number of direct links in the distance-based cluster formation is larger than that in the load-based cluster formation, and those direct links can be more
V. C ONCLUSION We have proposed the intra-cluster and the inter-cluster scheduling algorithms for ad hoc networks. Various uplinks and direct links of clusters were taken into account for splitting traffic demands over multiple channels in the intra-cluster scheduling algorithm. On the other hand, the inter-cluster scheduling algorithm considered simultaneous transmission of cluster heads and reception of cluster members to allocate the additional channels to the proper clusters based on the inter-cluster traffic demand matrix. Simulation results showed that the proposed algorithms minimise the number of TDMA slots by splitting the slots over the additional channels and maximise the end-to-end throughput. In addition, the load-based cluster formation overall achieved better throughput due to the smaller number of TDMA slots. However, the improvement of throughput in the distance-based cluster formation was greater than that in the load-based cluster formation. R EFERENCES [1] C-K. Toh, Ad Hoc Wireless Networks: Protocols and Systems, Englewood Cliffs, NJ: Prentice-Hall, 2001. [2] F. Dressler, “Self-organization in Ad Hoc Networks: Overview and Classification,” UNIV. OF ERLANGEN, DEPT. OF COMPUTER SCIENCE 7, TECHNICAL REPORT, Feb. 2006. [3] L. Bononi, M.D. Felice, L. Donatiello, D. Blasi, V. Cacace, L. Casone, and S. Rotolo , “Design and Performance Evaluation of Cross Layered MAC and Clustering Solution for Wireless Ad Hoc Networks,” Performance Evaluation, vol. 63, no. 11, pp. 1051-1073, 2006. [4] IEEE 802.11a. Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications: High-speed Physical Layer in the 5 GHz Band. Supplement to IEEE 802.11 Standard, Sep. 1999. [5] IEEE 802.15.3 Part 15: Wireless Medium Access Control (MAC) and Physical Layer (PHY) specifications for High Rate Wireless Personal Area Networks, Draft P802.15.3/D17, Feb. 2003.
8 clusters: 8 + additional channels 8 clusters: 8 default channels 6 clusters: 6 + additional channels 6 clusters: 6 default channels 4 clusters: 4 + additional channels 4 clusters: 4 default channels
3.4 3.2 3
Throughput
2.8 2.6 2.4 2.2 2 1.8 1.6 1.4 40
60
80
100 120 140 Number of nodes
160
180
200
Fig. 7. Throughput in the distance-based cluster formation with various number of nodes and cluster heads
5.5 8 clusters: 8 + additional channels 8 clusters: 8 default channels 6 clusters: 6 + additional channels 6 clusters: 6 default channels 4 clusters: 4 + additional channels 4 clusters: 4 default channels
5 4.5 4 Throughput
efficiently distributed by using additional channels. Fig. 6 shows the number of TDMA slots obtained by the inter-cluster scheduling in the distance-based and the loadbased cluster formation with 4 default channels and additional channels. The number of TDMA slots of the load-based cluster formation is smaller than that of the distance-based cluster formation because the number of TDMA slots depends on the maximum number of uplinks. On the other hand, unlike the intra-cluster scheduling, the inter-cluster scheduling algorithm has a smaller number of reduced TDMA slots by using the additional channels because the maximum number of transmitting packets as the lower bound can be achieved with relatively small difference of the number of TDMA slots by using default channels. In Fig. 7, the end-to-end throughput in the distance-based clusters is presented with 4, 6, and 8 clusters. When the number of clusters increases, the throughput is improved efficiently by splitting the slots over more default and additional channels. Moreover, due to the smaller number of total TDMA slots, the load-based cluster formation overall achieves better throughput shown in Fig. 8. However, the improvement of throughput in the distance-based cluster formation is greater than that in the load-based cluster formation because the distance-based cluster formation reduced the significant number of TDMA slots in the intra-cluster communication.
3.5 3 2.5 2 1.5 40
60
80
100 120 140 Number of nodes
160
180
200
Fig. 8. Throughput in the load-based cluster formation with various number of nodes and cluster heads
[6] B. Zheng, X. Wu, X. Jin, and D.L. Lee “TOSA: A Near-Optimal Scheduling Algorithm for Multi-Channel Data Broadcast,” in Proc. the 6th International Conference on Mobile Data Management (MDM’05), May 9-13, 2005. [7] S. Hameed and N.H. Vaidya “Efficient Algorithms for Scheduling Data Broadcast,” Wireless Networks, vol. 5, pp. 183-193, 1999. [8] T.C. Hou, C.M. Wu, and M.C. Chan “Dynamic Channel Assignment in Clustered Multihop CDMA/TDMA Ad Hoc Networks,” in Proc. IEEE 15th International Symposium on Personal, Indoor and Mobile Radio Communications , vol. 1, pp. 145-149, 2004 [9] R. Prakash, N.G, Shivaratri, and M. Singhal “Distributed Dynamic Channel Allocation for Mobile Computing,” in Proc. the 14th ACM Symposium on Principles of Distributed Computing, 1995. [10] E. Coffman, M.R. Graey, and D.S. Johnson, “An Application of Binpacking to Multiprocessor Scheduling,” SIAM Journal of Computing, vol. 7, no. 1, pp. 1-17, 1978. [11] J. Chen and S.T. Sheu “Distributed Multichannel MAC Protocol for IEEE 802.11 Ad Hoc Wireless LANs,” Computer Communications, vol. 28, pp. 1000-1013, 2005. [12] A. Rangnekar and K.M. Sivalingam, “QoS Aware Multi-Channel Scheduling for IEEE 802.15.3 Networks,” Mobile Networks and Applications, vol. 11, pp. 47-62, 2006. [13] S. Damodaran and K.M. Sivalingam, “Scheduling Algorithms for Multiple Channel Wireless Local Area Networks,” Computer Communications, vol. 25, no. 14, pp. 1305-1314, Sep. 2002. [14] C. Wang, B. Li, K.M. Sivalingam, and K. Sohraby “Scalable Multiple Channel Scheduling with Optimal Utility in Wireless Local Area Networks,” Wireless Networks, vol. 12, pp. 189-198, 2006.