1 Introduction

In recent years, there has been explosive growth of users accessing large multimedia files (such as, high definition audio, video, images, etc.) over the Internet. Therefore, the bandwidth demand for mobile Internet access is increasing exponentially [1, 2]. To satisfy such a higher bandwidth requirement, today wireless routers are available commercially with simultaneous multi-band support of 2.4 and 5 GHz. Future IEEE 802.11ad (WiGig) tri-band enabled devices, operating in the 2.4, 5 and 60 GHz bands, are expected to deliver data transfer rates up to 7 Gbps [3, 4]. The benefit of using a multi-band in mobile router (MR) is less interference, higher capacity and better reliability.

The multi-band MR system is a heterogeneous multi-server system which means each server’s service rate is different than the other. Heterogeneity of a system raises a problem: which (arrived) packet should be distributed to which server (namely allocation policy) [5]. The problem becomes more complex when different classes of packets are considered since some of the traffic types (such as, real-time) have strict delay constraints [68]; some other signaling traffic (required for mobility management) is crucial for maintaining Internet connectivity of the mobile users. Therefore, flexibility of each class (i.e., which class can be served by which server), and priority of class (i.e., which class can be served first if a server can serve more than one class) can be taken into account.

Current simultaneous multi-band MRs make use of two (2.4 and 5 GHz) for different types of devices in a home network. Exploitation of rarely-used frequency bands in wireless networks reduces interference in heavily-used frequency band, e.g., 2.4 GHz, thereby increasing total capacity of the wireless network. However, they do not attempt to exploit the under-utilized frequency band when other one is flooded with data. Hence, current multi-band systems do not efficiently use bands to make systems more productive. Therefore, it is essential to propose an appropriate scheduling and queue management scheme for the multi-class traffic to ensure the maximum possible utilization of the system resources in multi-band MRs [9]. The aim of this work is to propose band sharing scheduling (BSS) to schedule multi class traffic in multi-band MR systems and compare single band and multi-band MRs with different allocation policies and find out under which circumstances, single band or multi-band in MRs system performs better.

There have been several research works [1, 3, 4, 1015] reported in the literature that attempt to extend single band technology through the use of multiple frequency bands, leading to increased bandwidth while reducing interference. Even though multi-band usage has been widely investigated in cell networks [11, 12, 14], it is a relatively new concept in wireless networks. In cell networks, services are provided for wide range area for many users and bandwidth is shared by multiple users while Wi-Fi only provide services for short range area for several users. Authors [13, 15] explain possible Wi-Fi architecture with multiple physical and link layers to support multiple frequency bands simultaneously. In [3, 4, 10], authors proposed the usage of 60 GHz frequency band to attain faster data transfer rate in wireless networks. Usage of high frequency band (e.g., 60 GHz) provides more bandwidth though coverage area is quite small. Singh et al. [1] proposed a method to assign different frequency bands to end-devices based on their distances from the access router by considering energy efficiency. However, multi type traffic and utilization are not taken into account. Infact, none of these works [1, 3, 4, 10, 13, 15] propose any scheduling algorithm for multi-band MRs considering multi-class traffic or perform any queuing analysis to measure difference performance metrics.

Other than our primary reports [16, 17], to the best of our knowledge, there have been no earlier works on scheduling and queue management for multi-band MRs that attempts to maximize utilization of available bands nor sharing of multiple bands to transmit different classes of traffic. In this paper, we have proposed a novel scheduling algorithm BSS, that aims at attaining maximum possible band utilization which exploits band sharing in multi-band systems and compared the performance of single band MRs with multi-band MRs by using both non-band sharing scheduling (NBSS) and proposed BSS.

The objective of this work is to analyze the performance of multi-band systems while ensuring maximum possible utilization through sharing of bands among different classes of traffic in order to increase performance of multi-band systems and determine the circumstances when multi-band systems or single band systems show better performance. The contributions of this work are: (1) proposing a novel scheduling algorithm BSS that aims at improved utilization of the multi-band systems and testing performance of BSS by using different allocation policies such as fastest server first, least utilization first, and slowest server first, (2) developing an analytical model to evaluate the performance (utilization of bands, average class occupancy, packet drop rate, average delay, and throughput) of the proposed BSS, (3) validating our analytical model by extensive simulations, (4) comparing the performance of multi-band and single band by using a developed realistic extensive simulation, and (5) analyzing the performance of single band and multi-band systems based on traffic conditions and class priority in order to find circumstances where each system shows better performance.

BSS considers multi-class Internet traffic and schedules them through alternate under-utilized frequency bands, thereby reducing packet loss and delay. The results of this work are: (1) the packet drop rate and throughput are significantly improved through proposed BSS, (2) the simulation results validate our analytical model, (3) low priority classes of traffics in single band systems can suffer long delay, and (4) multi-band systems can suffer low band utilization under light traffic. Our proposed scheduling algorithm and related analysis will help network engineers build next generation MRs with higher throughput and utilization, ensuring low packet loss of different classes of traffic.

The rest of the paper is organized as follows. In Sect. 2, scheduling model of single band systems is explained and followed by NBSS model in Sect. 3. In Sect. 4, the proposed BSS is explained. Section 5 consists of assumptions and notations for this paper. In Sect. 6, single band and multi-band with NBSS analyzed and followed by analysis of multi-band with proposed BSS in Sect. 7. In Sect. 9, we presents validation of the developed formulas with the simulation results. Then we investigate the performance of single band and multi-band. Finally, Sect. 10 has the concluding remarks.

2 Scheduling in Single Band Systems

Single band MRs use only one frequency band for all types of traffic. Figure 1 shows the scheduling model of a single band with arrival rates of different class of traffic: signaling traffic or binding update (\(C_B\)), non-real time (\(C_N\)), and real-time (\(C_R\)) traffic with \(\lambda ^{C_B}, \lambda ^{C_N}\) and \(\lambda ^{C_R}\) arrival rates. All the traffic are queued and served by the single server with rate (\(\mu _{Q_S}\)) based on the priority level of each class. Generally, \(C_B\) packets are given the highest priority, then \(C_N\) and \(C_R\) are served [1820]. A problem of priority scheduling (of different traffic classes) of single band is that one type of packet may be served continuously while others may suffer starvation. To prevent such starvation, a threshold is used for each class. However, identifying an optimum threshold is another problem. In this paper, absolutely non-preemptive priority is used for each class for single band scheduling.

Fig. 1
figure 1

Single band scheduling

3 Non-band Sharing Scheduling (NBSS) for Multi-band Systems

Commercial (simultaneous) multi-band MRs available today makes use of two different bands (2.4 and 5 GHz) for different types of devices in a home network. Laptops may connect to 2.4 GHz network while Wi-Fi-enabled TV and gaming devices may connect to 5 GHz network. This reduces interference with the heavily-used 2.4 GHz network (as cordless phones, microwave oven use similar band). In addition, video streaming can be done through the high frequency band. Future IEEE 802.11ad (WiGig) tri-band enabled devices, operating in 2.4, 5 and 60 GHz bands, are expected to deliver data at a much higher rate (up to 7 Gbps) [3, 4]. The main principle of today’s simultaneous multi-band MR is the non-sharing of bands among different flows of traffic. Moreover, some of the devices today (such as, IPTV) mostly deal with real-time traffic. Based on this fact, we have assumed that each of the band of current simultaneous multi-band MR only deals with one type of traffic. This might be a slight deviation from the real MR used today. However, we have assumed this to compare our BSS scheduling with current simultaneous multi-band MR scheduling.

Figure 2 shows NBSS of a simultaneous tri-band systems. Here, three bands are assumed to be used for three different classes of traffic: signaling traffic or binding update (\(C_B\)), real-time (\(C_R\)) and non-real time (\(C_N\)) traffic. Each class of traffic is solely assigned to each designated frequency band as shown in Fig. 2 and we name the corresponding queues as \(Q_B, Q_R\) and \(Q_N\). There will be absolutely no sharing of traffic among different bands even if one (or more) bands are under-utilized due to low traffic arrivals to those queues.

Fig. 2
figure 2

Non-band sharing scheduling (NBSS) for multi-band systems

4 Band Sharing Scheduling (BSS) for Multi-band Systems

In this section, we explain the proposed BSS of multi-band MRs that promotes sharing of bands to maximize system utilization. We have considered three different queues (shown in Fig. 3), each of which corresponds to a frequency band of a simultaneous tri-band systems. As illustrated in Fig. 2, we consider three classes of traffic and each queue is designated for each class of traffic. However, unlike NBSS, in BSS (see Fig. 3) traffic of one class can flow through other queues which have empty slots, thereby ensuring better utilization of buffer spaces available. For example, if the \(Q_B\) has some empty spaces available and a bursty \(C_R\) traffic comes in, the overflowed \(C_R\) traffic can be queued in the \(Q_B\) and subsequently served (or sent) through the \(Q_B\)-server (transmitter).

Fig. 3
figure 3

Band sharing scheduling (BSS) for multi-band systems

4.1 Time and Space Priority

The time and space priority for the three queues of BSS are explained in Figs. 4, 5 and 6.

Fig. 4
figure 4

Queue corresponding to \(Q_B\) band

Fig. 5
figure 5

Queue corresponding to \(Q_R\) band

Fig. 6
figure 6

Queue corresponding to \(Q_N\) band

4.1.1 \(Q_B\) Queue

For \(Q_B\), \(C_B\) packets have the highest priority; \(C_R\) and \(C_N\) packets have dynamic priority based on arrival rates [see Eqs. (1) and (2)]. Regarding space priority, \(C_B\) packets are queued in front of \(Q_B\) and if there are empty spaces available, other types (\(C_R\) and \(C_N\)) can be accommodated as shown in Fig. 4.

4.1.2 \(Q_R\) Queue

\(Q_R\) can have only \(C_R\) and \(C_N\) packets as shown in Fig. 5. \(C_R\) traffic has higher priority over \(C_N\) traffic. Therefore, \(Q_R\) can have \(C_N\) packets only if \(C_R\) packets cannot fill \(Q_R\) at any instant and there are \(C_N\) packets overflowed from \(Q_B\) or \(Q_N\).

4.1.3 \(Q_N\) Queue

Finally, Fig. 6 shows \(Q_N\) which is designated for \(C_N\) traffic. However, if there are empty spaces available in this queue, overflowed \(C_R\) traffic out of \(Q_B\) or \(Q_R\) can be enqueued in \(Q_N\) (see Fig. 3).

4.2 Priority

Priorities of different classes are taken into account while allowing traffic into \(Q_B\). Priority of \(C_B\) packets in \(Q_B\) is \( \sigma ^{C_B}_{Q_{B}} = 1\). Priorities of other classes of traffic in \(Q_B\) are measured as follows:

$$\begin{aligned} \sigma ^{C_N}_{Q_{B}} = \frac{\lambda ^{C_R}}{\lambda ^{C_B} + \lambda ^{C_R} + \lambda ^{C_N}} \end{aligned}$$
(1)
$$\begin{aligned} \sigma ^{C_R}_{Q_{B}} = \frac{\lambda ^{C_N}}{\lambda ^{C_B} + \lambda ^{C_R} + \lambda ^{C_N}} \end{aligned}$$
(2)

If there are space in \(Q_B\) and both \(C_N\) and \(C_R\) types packets are overflowed from \(Q_N\) and \(Q_R\), respectively, they will be enqueued to \(Q_B\) based on the priority Eqs. (1) and (2). If \(\sigma ^{C_N}_{Q_B} \ge \sigma ^{C_R}_{Q_B}, C_N\) packets will be enqueued after \(C_B\) packets. Otherwise, \(C_R\) packets will be enqueued after \(C_B\) packets. While \(Q_B\) is full and a \(C_B\) packet or higher priority packet is arrived, the lowest priority class packet is dropped. Similarly, \(C_N\) packets are queued to \(Q_R\) if there is a space in \(Q_R\). While \(Q_R\) is full and there are \(C_N\) packets in \(Q_R\), arrived \(C_R\) packets are enqueued by dropping \(C_N\) packets except \(C_N\) packet in service. Similar policy is used for \(Q_N\).

4.3 BSS Algorithm

We have considered the following two crucial factors to ensure improved performance of the multi-band systems:

  • The unused buffer space of one queue (or band) can be used for other traffic types, thereby reducing the idle time of the system.

  • Priorities of different traffic classes are also considered while selecting a particular type of packet over others.

Three types of allocation policies are used in BSS:

  • Fastest server first (FSF),

  • Least utilization first (LUF).

  • Slowest Server First (SSF).

Queue allocation policies are explained as follows: (1) Attempts are first made to send different class of traffic through the designated frequency band; (2) If there is overflow of \(C_R\) or \(C_N\) packets from \(Q_R\) or \(Q_N\), they are forwarded to other servers based on the two principles: faster server first and slowest server first (computed by comparing \(\mu _{Q_B}, \mu _{Q_N}\), and \(\mu _{Q_R}\)) or lower utilization server (computed by \(\lambda ^{C_B}/\mu _{Q_B}\) for \(Q_B, \lambda ^{C_N}/ \mu _{Q_N}\) for \(Q_N\), and \(\lambda ^{C_R}/\mu _{Q_R}\) for \(Q_R\)); (3) If there is no space available in the chosen queue, the packets are queued in the third queue (if there is space in it). Otherwise, packets are dropped from the system; (4) The race between different classes of traffics is resolved through the use of priority explained in Sect. 4.2; (5) A similar policy is enforced while dealing with each class of traffic.

5 Assumption and Notations

In this section, we list assumptions and notations which are used for this paper.

5.1 Assumptions

To make the scheduling models for single band and multi-band systems analytically tractable, the following assumptions have been made:

(1) Packet arrival follows Poisson distribution, (2) type of queue discipline is FIFO with non-preemptive priority among various traffic classes.

5.2 Notations

The notations used in the analysis are listed below. To simplify our notation, we use \(C\,\in \) {\(C_B, C_N, C_R\)} as the common notation for different traffic class types and \(Q\,\in \) {\(Q_B, Q_N, Q_R\)} as the common notation for different queue types.

\(N_{Q}\) :

Queue size of \(Q\),

\(\lambda ^{C}\) :

Total packet arrival rate of class \(C\),

\(\mu _{Q}\) :

Service rate at \(Q\),

\(\sigma ^{C}_{Q_{B}}\) :

Priority of class \(C\) traffic in \(Q_B\),

Common notations for class performance metrics in the system:

\(\delta ^C\) :

Average delay of class \(C\),

\(n^C\) :

Average occupancy of class \(C\),

\(D^C\) :

Drop probability of class \(C\),

\(\gamma ^{C}\) :

Throughput of class \(C\),

Common notations for queue performance metrics in the system:

\(\delta _Q\) :

Average delay of packets in \(Q\),

\(n_Q\) :

Average occupancy of packets in \(Q\),

\(D_Q\) :

Drop probability of packets from \(Q\),

\(\gamma _{Q}\) :

Throughput of \(Q\),

Common notations for class performance metrics in each queue:

\(\delta ^{C}_{Q}\) :

Average delay of class \(C\) in \(Q\),

\(n^{C}_{Q}\) :

Average occupancy of class \(C\) in \(Q\),

\(D^{C}_{Q}\) :

Drop probability of class \(C\) from \(Q\),

\(\chi ^{C}_{Q}\) :

Total dropped packets of class \(C\) from \(Q\),

\(\gamma ^{C}_{Q}\) :

Throughput of class \(C\) in \(Q\),

Common notations for the system performance metrics:

\(\delta \) :

Average delay of packets in the system,

\(n\) :

Average occupancy of packets in the system,

\(D\) :

Packet drop rate of the system,

\(\gamma \) :

Throughput of the system.

6 Analysis of Single Band Scheduling and NBSS

In this section, we explain computation of various performance metrics in single band scheduling and NBSS.

We could have used M/M/1/N [21] formula rather than simulations to derive the performance metrics of NBSS by using the total arrival rate of each class, the total service rate and total buffer size of each band. The analytical formulas will closely approximate the real scenario because each class can only use one type queue in multi-band systems which use NBSS (see Fig. 2).

Standard equations of M/M/1/N [21] are listed as follows;

$$\begin{aligned} n_{MM1N}&= \left\{ \begin{array}{ll} \frac{\rho - (N + 1) {\rho ^{N + 1}} + N {\rho ^{(N + 2) }} }{\Big (1 - \rho \Big ) \Big (1 - \rho ^{N + 1} \Big )} &{}\quad \text{ if } \rho \ne 1 \\ \frac{N}{2} &{}\quad \text{ if } \rho = 1 \end{array} \right. \end{aligned}$$
(3)
$$\begin{aligned} D_{MM1N}&= \left\{ \begin{array}{ll} \frac{\rho ^{N} ( 1 - \rho ) }{ 1 - \rho ^{N+1} } &{}\quad \text{ if } \rho \ne 1 \\ \frac{N + 1}{2} &{}\quad \text{ if } \rho = 1 \end{array} \right. \end{aligned}$$
(4)

where the service rate, arrival rate and buffer size denoted by \(\mu , \lambda \) and \(N\), respectively, and \(\rho = \lambda /\mu \). It can be noted that all the system performance metrics (e.g., average occupancy, packet delay, drop rate, throughput) can be obtained (or approximated) for NBSS when multi-band system are under heavily loaded traffics. The required parameters can be computed as follows:

$$\begin{aligned} \lambda ^{All}&= \lambda ^{C_B} + \lambda ^{C_N} + \lambda ^{C_R}, \quad \mu _{All} = \mu _{Q_B} + \mu _{Q_N} + \mu _{Q_R}\\ N_{All}&= N_{Q_B} + N_{Q_N} + N_{Q_R},\quad \rho _{All} = \lambda ^{All} / \mu _{All}.\\ \end{aligned}$$

Therefore, the estimated occupancy of multi-band system can be obtained using the standard equation of M/M/1/N [21] by substituting \(N = N_{All}, \rho = \rho _{All}\) into Eqs. (3) and (4) to obtain n and D, respectively.

However, the performance metrics for each class and the system which are under lightly loaded traffics cannot be approximated in a similar way because the system can only be heavily loaded by one type packet, or one server can be idle while other servers are busy. By using a similar approach as above, it is not possible to understand which type of packet has more influence on the system. To resolve that problem, each queue can be thought as of a single queue and each performance metrics can be found by using basic M/M/1/N Eqs. (3) and (4) [21] in NBSS because each class of traffic uses different bands (see Fig. 2 and assumption in Sect. 3). Moreover, the average occupancy, delay, drop rate and throughput of each priority class can be measured by using approximation formulas for the single band systems. There are some previous works [22, 23] in the literature regarding such formulas where the drop rate of each class [22], average class occupancy and delay [23] have been analytically formalized for non-preemptive priority classes by considering randomized push out mechanism and the packet in the server as a part of queue. However, none of the works has been justified by simulations. Therefore, extensive simulations have been used in this work to compare single and multi-band systems to obtain credible results.

We can also consider the performance of queues such as, what the average occupancy of \(Q_N\) is in multi band system which use NBSS. Indeed, the queue performance metric of a single band is equal to the overall performance of single band system and can be found by substituting \(N = N_{All}, \rho = \rho _{All}\) into Eqs. (3) and (4) to obtain n and D, respectively. On the other hand, queue performances are equal to class performances in NBSS because each queue is used for different classes of traffics such as \(C_B\) traffic only is transferred over \(Q_B\) and not other queues. Therefore, \(n^{C_B} = n_{Q_B}, \delta ^{C_B} = \delta _{Q_B}, D^{C_B} = D_{Q_B}\) and \(\gamma ^{C_B} = \gamma _{Q_B}\) in NBSS. The values are also equal for other classes with the corresponding queues.

7 Analysis of BSS

In this section, we explain computation of various performance metrics in multi bands which uses proposed BSS.

7.1 Performance Analysis of BSS

We could also have used M/M/1/N [21] formulas rather than simulations to derive metrics of BSS by using the total arrival rate of each class, the total service rate and total buffer size of each band similar to NBSS. However, the analytical formulas will not reflect the real scenario. This is because in heterogeneous multi-server system packets may remain in the slower server queue, thereby increasing the packet delay and queue occupancy in BSS.

It can be noted that all of the system performance metrics (e.g., average occupancy, packet delay, drop rate, throughput) can be obtained (or approximated) for BSS which are under heavily loaded traffics. This cannot be approximated when the servers remain idle. For the system which are under heavily loaded traffic, the required parameters and performance metrics are similar to NBSS. Therefore, the estimated occupancy of BSS can be obtained using the standard equation of M/M/1/N [21] by substituting \(N = N_{All}, \rho = \rho _{All}\) into Eqs. (3) and (4) to obtain n and D, respectively.

However, the performance metrics for each class cannot be approximated in a similar way because the system can only be heavily loaded by one type packet. By using similar approach as above, it is not possible to understand which type packet has more influence on the system. Indeed, the performance metrics cannot be approximated by considering each queue as a single queue as is done in NBSS because of sharing model (see Fig. 3). To resolve that problem, we will going to explain the formulas for class traffics in BSS case by case which are similar to our previous works [16, 17]. We present some alternative approximate results for the following cases in FSF allocation policy (similar manner can be used for SSF allocation policy):

Case 0::

\(C_B\) packets are not overflowed at any time (general assumption).

Case 1::

Only \(C_N\) type packets are overflowed.

Case 2::

Both \(C_N\) and \(C_R\) types packets are overflowed.

Case 3::

Only \(C_R\) type packets are overflowed.

We present the analysis for only two cases (Case 1 and 2). Similar methodology can be used to approximate the performance metrics of other cases based on allocation policies.

7.2 Case 1: Only \(C_N\) Overflowed

In this case, only \(C_N\) type packets are overflowed and assuming \(\mu _{Q_R} > \mu _{Q_B}\). Hence, following approximations can be used to evaluate the performances of BSS for each class.

$$\begin{aligned} n^C&= n^C_Q = \left\{ \begin{array}{ll} \frac{\rho _{T} - (N_{Q} + 1) {\rho _{T}^{N_{Q} + 1}} + N_{Q} {\rho _{T}^{(N_{Q} + 2) }} }{\Big (1 - \rho _{T}\Big ) \Big (1 - \rho _{T}^{N_{Q} + 1} \Big )} &{}\quad \text{ if } \rho _{T} \ne 1 \\ \frac{N_{Q} }{2} &{}\quad \text{ if } \rho _{T} = 1 \end{array} \right. \end{aligned}$$
(5)
$$\begin{aligned} D^C&= D^{C}_{Q} = \left\{ \begin{array}{ll} \frac{\rho _{T}^{N_{Q}} ( 1 - \rho _{T} ) }{ 1 - \rho _{T}^{N_{Q}+1} } &{}\quad \text{ if } \rho _{T} \ne 1 \\ \frac{N_{Q} + 1}{2} &{}\quad \text{ if } \rho _{T} = 1 \end{array} \right. \end{aligned}$$
(6)

Using \(n^C\) and \(D^C\), the average delay and throughput for \(C_B\) and \(C_R\) types packets can be obtained as follows;

$$\begin{aligned} \delta ^C&= \delta ^C_{Q} = \frac{n^C}{\lambda ^C}\end{aligned}$$
(7)
$$\begin{aligned} \gamma ^C&= \gamma ^{C}_{Q} = \lambda ^{C}(1 - D^C) \end{aligned}$$
(8)

where \(\rho _{T} = \lambda ^{C}/\mu _{Q}\) where \(T\) can be \(B\) and \(R\), \(C\) can be \(C_B\) and \(C_R\), and \(Q\) can be \(Q_B\) and \(Q_R\) respectively, without considering the packet in service. (If we consider the packet in service, we need to use the similar approximation with [22] by considering \(C_N\) type packets in \(Q_B\) and \(Q_R\).) However, the performance evaluation for \(C_N\) type is different from \(C_B\) and \(C_R\) types because the overflowed \(C_N\) packets are forwarded to \(Q_B\) and \(Q_R\). Therefore, the overflowed \(C_N\) packets should be considered while deriving the performance metrics of \(C_N\) type packets. The average occupancy and drop rate of \(C_N\) type packets from \(Q_N\) can be found as;

$$\begin{aligned} n^{C_N}_{Q_N}&= n_{Q_N} = \left\{ \begin{array}{ll} \frac{\rho _{N} - (N_{Q_N} + 1) {\rho _{N}^{N_{Q_N} + 1}} + N_{Q_N} {\rho _{N}^{(N_{Q_N} + 2) }} }{\Big (1 - \rho _{N}\Big ) \Big (1 - \rho _{N}^{N_{Q_N} + 1} \Big )} &{}\quad \text{ if } \rho _{N} \ne 1 \\ \frac{N_{Q_N} }{2} &{}\quad \text{ if } \rho _{N} = 1 \end{array} \right. \end{aligned}$$
(9)
$$\begin{aligned} D^{C_N}_{Q_N}&= D_{Q_N} = \left\{ \begin{array}{ll} \frac{\rho _{N}^{N_{Q_N}} ( 1 - \rho _{N} ) }{ 1 - \rho _{N}^{N_{Q_N}+1} } &{}\quad \text{ if } \rho _{N} \ne 1 \\ \frac{N_{Q_N} + 1}{2} &{}\quad \text{ if } \rho _{N} = 1 \end{array} \right. \end{aligned}$$
(10)

where \(\rho _{N} = \lambda ^{C_N}/\mu _{Q_N}\). Equations (9) and (10) are also be considered the occupancy and drop rate of \(Q_N\). To find \(C_N\) packet occupancy and drop rate in the proposed multi-band system, we have to know the average occupancy of \(C_N\) packets in \(Q_R\) and \(Q_B\). From the assumption (FSF allocation policy with \(\mu _{Q_R} > \mu _{Q_B}\)), it is known that the overflowed \(C_N\) packets are forwarded to \(Q_R\) first and then \(Q_B\) (The overflowed \(C_N\) packets are forwarded to \(Q_B\) first and then \(Q_R\) for SSF allocation policy). Therefore, the overflowed \(C_N\) packets from \(Q_N\) can be measured as follows:

$$\begin{aligned} \chi ^{C_N}_{Q_N} = \lambda ^{C_N}D_{Q_N} \end{aligned}$$
(11)

To find the average occupancy of \(C_N\) type packets in \(Q_R\), the average occupancy of \(Q_R\) including \(C_R\) and \(C_N\) types packets is measured as follows;

$$\begin{aligned} n_{Q_R}= \left\{ \begin{array}{ll} \frac{\rho ^{\prime }_{R} - (N_{Q_R} + 1) {{\rho ^{\prime }_{R}}^{N_{Q_R} + 1}} + N_{Q_R} {{\rho ^{\prime }_{R}}^{(N_{Q_R} + 2) }} }{\Big (1 - \rho ^{\prime }_{R}\Big ) \Big (1 - {\rho ^{\prime }_{R}}^{N_{Q_R} + 1} \Big )} &{}\quad \text{ if } \rho ^{\prime }_{R} \ne 1 \\ \frac{N_{Q_R} }{2} &{}\quad \text{ if } \rho ^{\prime }_{R} = 1 \end{array} \right. \end{aligned}$$
(12)

where \(\rho ^{\prime }_R = \frac{\chi ^{C_N}_{Q_N} + \lambda ^{C_R}}{\mu _{Q_R}}\). Hence, the average occupancy of \(C_N\) type packets in \(Q_R\) is \(n^{C_N}_{Q_R} = n_{Q_R} - n^{C_R}\). To find the occupancy of \(C_N\) type packets in \(Q_B\), the overflowed \(C_N\) packets from \(Q_R\) should be measured by considering non-preemptive priority since \(C_N\) type packets have the second priority in \(Q_R\). By using formula in [22], \(D^{C_N}_{Q_R}\) can be measured by considering packet in service. However, we can also approximate without considering the packet in service. Therefore, the drop rate of \(C_N\) packets from \(Q_R\) can be obtained by subtracting the drop rate of \(C_R\) type packet from the drop rate of \(Q_R\) including \(C_R\) and \(C_N\) types packets. Therefore, \(D^{C_N}_{Q_R} = D_{Q_R} - D^{C_R}_{Q_R}\) where \(D_{Q_R}\) is the drop rate of \(Q_R\) measured by substituting \(\rho = \rho ^{\prime }_R = \frac{\chi ^{C_N}_{Q_N} + \lambda ^{C_R}}{\mu _{Q_R}}\) and \(N=N_{Q_R}\) in Eq. (4). Hence, the overflowed \(C_N\) packets from \(Q_R\) can be calculated as follows:

$$\begin{aligned} \chi ^{C_N}_{Q_R} = \chi ^{C_N}_{Q_N} D^{C_N}_{Q_R} \end{aligned}$$
(13)

To find the average occupancy of \(C_N\) type packets in \(Q_B\), the average occupancy of \(Q_B\) including \(C_B\) and \(C_N\) types packets is measured as follows;

$$\begin{aligned} n_{Q_B} = \left\{ \begin{array}{ll} \frac{\rho ^{\prime }_{B} - (N_{Q_B} + 1) {{\rho ^{\prime }_{B}}^{N_{Q_B} + 1}} + N_{Q_B} {{\rho ^{\prime }_{B}}^{(N_{Q_B} + 2) }} }{\Big (1 - \rho ^{\prime }_{B}\Big ) \Big (1 - {\rho ^{\prime }_{B}}^{N_{Q_B} + 1} \Big )} &{} \text{ if } \rho ^{\prime }_{B} \ne 1 \\ \frac{N_{Q_B} }{2} &{} \text{ if } \rho ^{\prime }_{Q_B} = 1 \end{array} \right. \end{aligned}$$
(14)

where \(\rho ^{\prime }_B = \frac{\chi ^{C_N}_{Q_R} + \lambda ^{C_B}}{\mu _{Q_B}}\). Hence, the average occupancy of \(C_N\) type packets in \(Q_B\) is \(n^{C_N}_{Q_B} = n_{Q_B} - n^{C_B}\). Therefore,

$$\begin{aligned} n^{C_N} = n_{Q_N} + n^{C_N}_{Q_R} + n^{C_N}_{Q_B} \end{aligned}$$
(15)

The drop rate of \(C_N\) type packets from \(Q_B\) (\(D^{C_N}_{Q_B}\)) can be measured in a similar manner as is done in \(Q_R\). Therefore, the drop rate of \(C_N\) packets from \(Q_B\) is:

$$\begin{aligned} D^{C_N} = D^{C_N}_{Q_B} = D_{Q_B} - D^{C_B}_{Q_B} \end{aligned}$$
(16)

The drop rate of \(C_N\) type packets (\(D^{C_N}\)) is equal to the drop rate of \(C_N\) type packets from \(Q_B\) (\(C^{C_N}_{Q_B}\)) since \(C_N\) packets dropped from \(Q_N\) forwarded firstly \(Q_R\) and then \(Q_B\). By using \(n^{C_N}\) in Eq. (15) and the Little’s Law formula, the delay of \(C_N\) cannot be calculated because the delay of \(C_N\) packets in \(Q_R\) and \(Q_B\) are needed to be considered by taking into account the high priority classes. Therefore, the delay and throughput can be calculated as follow by using modified Little’s Law:

$$\begin{aligned} \delta ^{C_N}= \frac{\chi ^{C_N}_{Q_N} {\left( \delta ^{C_R}_{Q_R} + \frac{n^{C_N}_{Q_R}}{\chi ^{C_N}_{Q_N}}\right) + \chi ^{C_N}_{Q_R}\left( \delta ^{C_B}_{Q_B} + \frac{n^{C_N}_{Q_B}}{\chi ^{C_N}_{Q_R}}\right) + \lambda ^{C_N}\left( \frac{n_{Q_N}}{\lambda ^{C_N}}\right) }}{\lambda ^{C_N}} \end{aligned}$$
(17)

Therefore,

$$\begin{aligned} \delta ^{C_N}= \frac{\chi ^{C_N}_{Q_N} \delta ^{C_R}_{Q_R} + \chi ^{C_N}_{Q_R}\delta ^{C_B}_{Q_B} + n^{C_N}}{\lambda ^{C_N}} \end{aligned}$$
(18)

The throughput of \(C_N\) traffic in the system will be as follow:

$$\begin{aligned} \gamma ^{C_N} = \lambda ^{C_N}(1 - D^{C_N}) \end{aligned}$$
(19)

As a result, we have developed the average occupancy, drop rate, average delay, and throughput for \(C_B, C_N\), and \(C_R\) classes and \(Q_B, Q_N\) and \(Q_R\) of BSS for Case 1: Only \(C_N\) type packets are overflowed..

7.3 Case 2: Both \(C_N\) and \(C_R\) Overflowed

For \(Q_B\) queue, the number of packets overflowed from \(Q_N\) and \(Q_R\) goes to \(Q_B\). Thus, the arrival rates of \(C_N\) and \(C_R\) types packets to \(Q_B\) which are equal to \(\chi ^{C_N}_{Q_N}\) and \(\chi ^{C_R}_{Q_R}\), respectively can be obtained as follows:

$$\begin{aligned} \chi ^{C_N}_{Q_N} = \lambda ^{C_N} D^{C_N}_{Q_N} \end{aligned}$$
(20)
$$\begin{aligned} \chi ^{C_R}_{Q_R} = \lambda ^{C_R} D^{C_R}_{Q_R} \end{aligned}$$
(21)

where \(D^{C_N}_{Q_N} = D_{Q_N}\) and \(D^{C_R}_{Q_R}=D_{Q_R}\) are the drop probabilities of \(C_N\) packets from \(Q_N\) and \(C_R\) packets from \(Q_R\), respectively and can be measured by substituting \(N=N_{Q_N}\) and \(\rho = \frac{\lambda ^{C_N}}{\mu _{Q_N}}\), and \(N=N_{Q_R}\) and \(\rho = \frac{\lambda ^{C_R}}{\mu _{Q_R}}\) in Eq. (4). Now, the total (effective) arrival rate of all class of traffic in \(Q_B\) can be obtained as follows:

$$\begin{aligned} \lambda _{Q_B} = \lambda ^{C_B} + \chi ^{C_N}_{Q_N} + \chi ^{C_R}_{Q_R} \end{aligned}$$
(22)

Let us assume that the priority of \(C_R\) packets is higher than that of \(C_N\) packets in \(Q_B\). Therefore, while computing the drop rate and average occupancy of \(C_R\) packet in \(Q_B\), we can safely consider only \(C_B\) and \(C_R\) packets in \(Q_B\). Let us define utilization in \(Q_B\) considering only \(C_B\) and \(C_R\) types packets be \(\rho _{BR} = \frac{\lambda ^{C_B} + \chi ^{C_R}_{Q_R}}{\mu _{Q_B}}\). Thus, the drop rate of \(C_B\) packet from \(Q_B\) (\(D^{C_B}_{Q_B}\)) and the average occupancy of \(C_B\) packet in \(Q_B\) (\(n^{C_B}_{Q_B}\)) can be obtained by substituting \(N=N_{Q_B}\) and \(\rho = \rho _{B} = \frac{\lambda ^{C_B}}{\mu _{Q_B}}\) in Eqs. (4) and (3), respectively. The total \(C_B\) and \(C_R\) packets drop rate (\(D^{C_{BR}}_{Q_B}\)) and average occupancy (\(n^{C_{BR}}_{Q_B}\)) in \(Q_B\) can be obtained by substituting \(N=N_{Q_B}\) and \(\rho = \rho _{BR}\) in Eqs. (4) and (3), respectively. Therefore, \(D^{C_R}_{Q_B} = D^{C_{BR}}_{Q_B} - D^{C_B}_{Q_B}\) and \(n^{C_R}_{Q_B} = n^{C_{BR}}_{Q_B} - n^{C_B}_{Q_B}\). Hence, the total drop rate and average occupancy of \(C_R\) type will be

$$\begin{aligned} n^{C_R}&= n_{Q_R} + n^{C_R}_{Q_B} \end{aligned}$$
(23)
$$\begin{aligned} D^{C_R}&= D^{C_R}_{Q_B} = D^{C_{BR}}_{Q_B} - D^{C_B}_{Q_B} \end{aligned}$$
(24)

\(D^{C_R} = D^{C_R}_{Q_B}\) since the only dropped \(C_R\) packet from \(Q_B\) will be dropped from the system. Following a similar approach as the drop rate and average occupancy of \(C_N\) in \(Q_B\) by considering \(C_B, C_R\), and \(C_N\) types packets in \(Q_B\), we can compute the average occupancy and drop rate of \(C_N\) packets as follow;

$$\begin{aligned} n^{C_N}&= n_{Q_N} + n^{C_N}_{Q_B} \end{aligned}$$
(25)
$$\begin{aligned} D^{C_N}&= D^{C_N}_{Q_B} = D_{Q_B} - D^{C_{BR}}_{Q_B} \end{aligned}$$
(26)

where \(D_{Q_B}\) is the drop rate of \(Q_B\) including dropped \(C_B\), \(C_R\), and \(C_N\) types packets and can be obtained by substituting \(N=N_{Q_B}\) and \(\rho = \rho _{BRN} = \frac{\lambda ^{C_B} + \chi ^{C_R}_{Q_R} + \chi ^{C_N}_{Q_N}}{\mu _{Q_B}}\) in Eq. (4). The average \(C_R\) and \(C_N\) packets delays can be calculated as in Case 1 by considering priority as follows:

$$\begin{aligned} \delta ^{C_R}= \frac{\chi ^{C_R}_{Q_R} \left(\delta ^{C_B}_{Q_B} + \frac{n^{C_R}_{Q_B}}{\chi ^{C_R}_{Q_R}} \right) + \lambda ^{C_R}(\frac{n_{Q_R}}{\lambda ^{C_R}})}{\lambda ^{C_R}} \end{aligned}$$
(27)

Therefore;

$$\begin{aligned} \delta ^{C_R}= \frac{\chi ^{C_R}_{Q_R} \delta ^{C_B}_{Q_B} + n^{C_R}}{\lambda ^{C_R}} \end{aligned}$$
(28)

and

$$\begin{aligned} \delta ^{C_N}= \frac{\chi ^{C_N}_{Q_N} \delta ^{C_{BR}}_{Q_B} + n^{C_N}}{\lambda ^{C_N}} \end{aligned}$$
(29)

where \(\delta ^{C_{BR}}_{Q_B} = \frac{n^{C_{BR}}_{Q_B}}{\lambda ^{C_B} + \chi ^{C_R}_{Q_R}} \). By using Eqs. (24) and (26) as in Case 1, the throughput of \(C_N\) and \(C_R\) types packet can be measured.

8 System Performance Metrics

In this section, system performance metrics calculation for multi band systems (applied to both NBSS and BSS) are presented.

8.1 Band Utilization

Utilization is the percentage of time the server is busy. We have computed the band utilization through simulations by using the ratio of the amount of time the server was found busy to the total time of simulation in each run.

8.2 Average Occupancy

We have taken the total of the average class occupancies of three classes of multi-band systems in order to compare multi-band systems with single band systems. The total average occupancy of multi-band system (in all queues) can be computed as follows:

$$\begin{aligned} n = n^{C_B} + n^{C_N} + n^{C_R} \end{aligned}$$
(30)

8.3 Drop Probability

After finding the drop rate of each class traffic, we have computed the packet drop rate of multi-band systems as follows:

$$\begin{aligned} D = \frac{\lambda ^{C_B}D^{C_B} + \lambda ^{C_N}D^{C_N} + \lambda ^{C_R}D^{C_R} }{\lambda ^{C_B} + \lambda ^{C_N} + \lambda ^{C_R} } \end{aligned}$$
(31)

8.4 Throughput

The total throughput of multi-band systems can be obtained as follows:

$$\begin{aligned} \gamma = \gamma ^{C_B} + \gamma ^{C_N} + \gamma ^{C_R} \end{aligned}$$
(32)

8.5 Average Packet Delay

The average delay of each packet in multi-band systems can be obtained as follows;

$$\begin{aligned} \delta = \frac{ \lambda ^{C_B} \delta ^{C_B} + \lambda ^{C_N} \delta ^{C_N} + \lambda ^{C_R} \delta ^{C_R} }{ \lambda } \end{aligned}$$
(33)

where \(\lambda = \lambda ^{C_B} + \lambda ^{C_N} + \lambda ^{C_R}\).

9 Results

We have written discrete event simulation programs in MATLAB environment by taking into account all the assumptions and scheduling policies mentioned in Sects. 2, 3 and 4. We have followed M/M/1/N and M/M/3/N [21] procedures for the implementation of simulation programs. We have kept equal buffer lengths (of 50 packets) for each multi-band queue. Buffer lengths are kept small [24], similar to real routers to reduce packet delay. However, to have fair comparison with the single band, total buffer length for single band is used to hold 150 packets which is three times of the length of multi-band buffers. \(C_R\) and \(C_N\) packets are assumed to be 512 bytes [4, 25] whereas \(C_B\) packets are assumed to be 64 bytes. The service rates of \(Q_B, Q_N\) and \(Q_R\) are kept 27, 75 and 132 packets/s which is proportional to service rates of multi-band routers [4]. Single band MRs can only have one band; therefore, the highest service rate in multi-band MRs (i.e., 132 packets/s) is used for the service rate of single band MRs. We ran each simulation with 100,000 samples for 20 trials having different traffic class arrival rates as follows:

$$\begin{aligned} \lambda ^{C_B} = (i) = \{ i \},\quad \lambda ^{C_N} = \{ 3 \lambda ^{C_B} \},\quad \lambda ^{C_R} = \{ 10 \lambda ^{C_B} \}\,\quad \hbox{where}\,\, \hbox{i} = 1, 2, 3, \ldots , 20. \end{aligned}$$

We ran simulations with increased arrival rates of all types of traffic to observe the impact of heavy traffic on the multi-band system. The arrival rate of \(C_B\) and \(C_N\) types packets are increased slowly in each trial whereas \(C_R\) traffic arrival rate is increased at a much higher rate. This will saturate \(Q_R\) and we explain the impact of this overflow on different performance parameters of single band and multi-band systems.

9.1 Validation of Developed Analytical Formulas

In this subsection, we show the simulation performance metrics results for multi-band which uses BSS and compare them with those produced by the analytical expressions derived in Sect. 7 to validate our model. Both simulation and analytical expressions are results of SSF allocation policy.

9.1.1 Average Queue Occupancy

Figure 7 represents the average queue occupancy of multi-band system obtained through simulations and analytical model. The simulation and analytical approximation results are very close to each other. The occupancy of all queues are very low because of lower arrival rate. When the arrival of \(C_B\) and \(C_N\) packets are increased slowly whereas the arrival rate of \(C_R\) increased sharply. Therefore, \(C_R\) packets are distributed to \(Q_B\) and \(Q_N\). Hence, all bands occupancy is higher. \(Q_B\) occupancy is higher because the overflowed \(C_R\) packets are forwarded first \(Q_B\) then \(Q_N\) and the waiting time of \(C_R\) packets in \(Q_B\) is higher than \(Q_B\). For \(\lambda ^{C_B}\) = 18, 19, and 20, the queues occupancies reach their maximum capacity.

Fig. 7
figure 7

Average queue occupancy of multi-band system which uses BSS obtained through simulations and analytical model

9.1.2 Queue Throughput

Figure 8 represents the queues throughput for multi-band system which uses BSS. Again the simulation results closely match the analytical ones. The throughput of queues are slowly increased while increasing the arrival rates of the classes. After reaching the maximum throughput capacity, they are fixed. The throughput of \(Q_B\) and \(Q_N\) are lower than \(Q_R\) throughput due to the lower service rates of \(Q_B\) and \(Q_N\).

Fig. 8
figure 8

Queue throughput of multi-band system which uses BSS obtained through simulations and analytical model

9.1.3 Average Class Occupancy

Figure 9 shows the average class occupancy of multi-band system which uses BSS obtained through simulations and analytical model. The simulation and analytical results are very close to each other. The class occupancy of \(C_N\) and \(C_B\) classes are very low as their service rate is higher than their arrival rates. However, this is not the case for \(C_R\) class where its arrival rate is higher than \(Q_R\) service rate; hence, the excessive \(C_R\) packets are enqueued in other two queues, thereby increasing the average occupancy of \(C_R\) class.

Fig. 9
figure 9

Average class occupancy of multi-band system which uses BSS obtained through simulations and analytical model

9.1.4 Class Throughput

Figure 10 shows the class throughput for multi-band system which uses BSS. Again the simulation results closely match the analytical ones. The throughput of \(C_B\) and \(C_N\) classes are lower than the throughput of \(C_R\) due to the low arrival rate of \(C_B\) and \(C_N\). However, the throughput of \(C_R\) rises as we use very high arrival rates in subsequent trials.

Fig. 10
figure 10

Class throughput of multi-band system which uses BSS obtained through simulations and analytical model

9.2 Comparison of Single Band Scheduling, NBSS and BSS

In this subsection, we have used SSF allocation policy in BSS to compare multi-band system which uses BSS with single band and multi-band system which uses NBSS because SSF allocation in BSS represents the worst case scenario of multi-band system which uses BSS.

9.2.1 Band Utilization

Utilization is a performance measurement that indicates how efficiently bands are used and whether there is any unused capacity of the system. Figure 11 shows the band utilization for single band system and multi-band system which uses NBSS. The single band utilization is lower than all the bands of the multi-band system for low arrival traffics. Gradually increasing arrival rates saturates the single band and makes it reach its maximum capacity. Then all arrived new packets are dropped. However, the multi-band system uses multiple queues to serve different packet types. In spite of some improvement comparing to the single band by considering high arrival rates, \(Q_R\) of the multi-band can be saturated by high \(C_R\) packets arrival. Therefore, \(Q_B\) utilization and \(Q_N\) utilization are lower than \(Q_R\) utilization.

Fig. 11
figure 11

Band utilization of single band system and multi-band system which uses NBSS

On the other hand, BSS distributed \(C_R\) type packets to \(Q_B\) and \(Q_N\) as showed in Fig. 12. When the arrival rates are low (in \(\lambda ^{C_B}\) = 1,...,13) compared to the capacity of each queue, all the queues have similar utilization for BSS and NBSS. However, for \(\lambda ^{C_B}\) = 14,...,20, the utilization of \(Q_B\) and \(Q_N\) are higher for BSS than NBSS. This is because increased number of \(C_R\) packets are dropped in NBSS whereas in BSS, they are accommodated in \(Q_B\) and \(Q_N\), thereby improving their utilization and maximizing the system performance.

Fig. 12
figure 12

Band utilization of multi-band systems obtained using BSS and NBSS

9.2.2 Average Class Occupancy

Figure 13 shows the average packet occupancy of each class of traffic for the single band system and multi-band system which uses NBSS. \(C_B\) and \(C_N\) traffic occupancies are low for both the single and multi-band system because of low arrival rates and the priority order of classes in the single band system. When \(C_R\) arrival rates are increased, \(C_R\) occupancy sharply increases in the single band. However, it slowly increases in the multi-band system because of higher total service rate of the multi-band system and using a different queue to process only \(C_R\) traffic rather than process \(C_B\) and \(C_N\) then \(C_R\) type packets as in the single band.

Fig. 13
figure 13

Average class occupancy of single band system and multi-band system which uses NBSS

Figure 14 shows the average packet occupancy of each class of traffic for multi-band system obtained using BSS and NBSS. The occupancy for \(C_R\) traffic (\(\lambda ^{C_B}\) = 14,...,20) in BSS is higher than NBSS. This is because excessive \(C_R\) packets are immediately dropped from the system in NBSS and these lost packets do not come into account in occupancy calculations. On the contrary, in BSS the overflowed \(C_R\) packets get chances to be enqueued in \(Q_B\) and \(Q_N\) before being dropped. \(C_R\) packets are the second priority packets in \(Q_B\) and \(Q_N\) and they have to wait for \(C_B\) and \(C_N\) packets, respectively before being scheduled for service. Hence, it increases the occupancy of \(C_R\) packets.

Fig. 14
figure 14

Average class occupancy of multi-band system obtained using BSS and NBSS

9.2.3 Class Throughput

Figure 15 shows the throughput of each class of traffic for the single band system and multi-band system which uses NBSS. \(C_B\) and \(C_N\) traffic throughput are increasing for both single band and multi-band systems while the arrival rates increased until \(\lambda ^{C_B}\) = 10. When \(C_N\) and \(C_B\) arrival rates are increased, \(C_R\) traffic throughput is going to be lower for the single band due to the fact that the priority level of \(C_B\) and \(C_N\) type packets are higher than \(C_R\) type packets. However, \(C_R\) traffic throughput in the multi-band has higher throughput and increasing until \(C_R\) traffic reaches the service rate of \(Q_R\) while it does not affect the throughput of \(C_B\) and \(C_N\) type packets because of distinct queues and higher total service rate. In single band systems, it is expected to have lower throughput for \(C_N\) and \(C_R\) type packets while increasing \(C_B\) traffic arrival rate because \(C_B\) has the highest priority.

Fig. 15
figure 15

Class throughput of single band system and multi-band system which uses NBSS

Figure 16 shows the throughput of each class for multi-band system obtained using BSS and NBSS. The throughput of \(C_N\) and \(C_B\) classes are increased with the increase of their arrival rates for both BSS and NBSS. However, throughput of \(C_R\) class for NBSS is saturated at \(\mu _{Q_R}\) (= 132 pkts/s) when the \(C_R\) arrival rate reaches this value. However, \(C_R\) class throughput for BSS gets much higher (due to sharing of other under-utilized bands) and reaches its peak value at \(\lambda ^{C_B}=18\). After that, it starts to decrease slowly due to the impact of the increased arrival rates of other classes (\(C_B\) and \(C_N\) classes) that results in less available space for the overflowed \(C_R\) packets in BSS.

Fig. 16
figure 16

Class throughput of multi-band system obtained using BSS and NBSS

According to above results, the following observations are obtained: (1) the performance of multi-band which uses BSS is better than the performance of single band and multi-band which uses NBSS, (2) though improved band utilization in BSS, the both NBSS and BSS do not use band efficiently as the single band while system is under low traffic, (3) the highest priority class of traffic in single band can have less delay than same class traffic in multi-band for both BSS and NBSS, (4) under heavy traffic, the lower priority class of traffic in single band has longer waiting time (in queue) than the same class traffic in multi-band for both BSS and NBSS, and (5) BSS significantly improves the throughput of the system while causing small amount of delay for the overflowed packets of classes.

9.3 Comparison of Single Band System and Multi Band System Obtained by Using FSF, LUF, and SSF Allocations in BSS

In this subsection, we also observe the performance of FSF, LUF, and SSF allocation policies of multi-band system which uses BSS with the single band system by comparing class of traffic and the systems performances. Because of our inputs for simulation, performance of SSF is exactly matched with LUF performances. We have realized that overflow \(C_R\) packets firstly enqueued to \(Q_B\) for LUF as it is in SSF because \(\lambda ^{C_B}/\mu _{Q_B}\) is always smaller than \(\lambda ^{C_N}/\mu _{Q_N}\) for our realistic experiment inputs. We have also tested LUF for other inputs when the overflowed \(C_R\) packets are first enqueued to sometimes \(Q_B\) or \(Q_N\). However, these inputs do not represent the real case scenario that was discussed at the beginning of Sect. 9. Therefore, we have kept input as realistic as possible and we have used LUF/SSF to represent both LUF and SSF allocations in the following figures because their performances are equal under these circumstances.

9.3.1 Band Utilization, Packet Delay, and Drop Rate of Single Band System and Multi-band System Which Uses BSS

The band utilization results for each trial are shown in Fig. 17. The single band utilization is lower than all queues of FSF and LUF/SSF under light traffic. However, under heavy traffic, the multi-band utilization increases gradually but not as fast as the single band utilization. \(Q_B\) utilization of FSF is the lowest because of the low arrival rates of \(C_B\) packets and forwarding of the overflowed \(C_R\) packets to \(Q_N\) first, then \(Q_B\) when the system overwhelming with \(C_R\) type packets. The bands utilization of LUF varies because forwarding \(C_R\) class packet to other queues depends on the rate of \(\lambda / \mu \) (here every time forwarding \(C_R\) class packet to \(Q_B\) first than \(Q_N\) as in SSF). Therefore, \(Q_B\) utilization of FSF is lower than \(Q_N\) utilization and it reverse for LUF and SSF after \(\lambda ^{C_B}\) = 15. When the system reaches the maximum capacity in multi-band, the utilization of bands is similar for both FSF and LUF/SSF allocations. However, it is hard to understand whether FSF band utilization is better than LUF/SSF band utilization.

Fig. 17
figure 17

Band utilization of single band system and multi band system obtained by using FSF, LUF and SSF in BSS

The average queue delay and drop rate results for each trial are given in Figs. 18 and 19, respectively. Packet delay and drop rate in single band and multi-band are significantly low while system is under light traffic. However, under heavy traffic, the delay of the single band sharply increases and saturates at its maximum capacity. While there is no significant differences between the average delay of FSF and LUF/SSF in the multi-band system, average delay of FSF and LUF/SSF is at least two times lower than delay of single band.

Fig. 18
figure 18

Packet delay of single band system and multi band system obtained by using FSF, LUF and SSF in BSS

In Fig. 19, the average drop rate of the multi-band for FSF and LUF/SSF is found to be lower than the single band because the total service rate of the multi-band is almost two times of that of the single band. It is also interesting to see that FSF drop rate are similar to LUF/SSF drop rate.

Fig. 19
figure 19

Packet drop rate of single band system and multi band system obtained by using FSF, LUF and SSF in BSS

9.3.2 Average Class Delays and Throughput

The average class delays for each trial are given in Figs. 20, 21, and 22. \(C_B\) and \(C_N\) class delays in the single band are low. Under heavy \(C_R\) traffic, \(C_R\) class delay sharply increases in the single band because of priority order of the single band (\(C_B, C_N\), then \(C_R\)). Interestingly, the total service rate of the proposed multi-band is almost two times higher than the service rate of the single band, \(C_R\) class delay of the single band is at least three times higher than \(C_R\) class delay of the multi-band (see Figs. 20, 21). Although LUF/SSF allocation in BSS for multi-band shows notable performance for \(C_R\) traffic, FSF is found to be better than LUF/SSF (see Fig. 22).

Fig. 20
figure 20

Average class delay of FSF and single

Fig. 21
figure 21

Average class delay of LUF, SSF and single

Fig. 22
figure 22

Average class delay of FSF, LUF, and SSF

The class throughput results for each experiment are given in Figs. 23, 24, and 25. \(C_B\) and \(C_N\) traffic throughput are increasing in both the single band and multi-band systems while arrival rates are increased. When \(C_R, C_B\) and \(C_N\) traffic arrival rates are increased, \(C_R\) traffic throughput is going to be lower for the single band because \(C_B\) and \(C_N\) traffics get all band for themselves after \(\lambda ^{C_B} = 10\). However, \(C_R\) traffic throughput in the multi-band has higher throughput and increasing until \(Q_R, Q_N\) and \(Q_B\) have spaces to serve \(C_R\) traffics. After \(C_B\) and \(C_N\) traffic arrival passed the service rate of \(Q_B\) and \(Q_N\), respectively, \(C_R\) throughput is decreased after \(\lambda ^{C_B}=17\) and will be a constant after some point. It is also interesting that there is not much performance differences between FSF and LUF/SSF.

Fig. 23
figure 23

Class throughput of FSF and single

Fig. 24
figure 24

Class throughput of LUF, SSF, and single

Fig. 25
figure 25

Class throughput of FSF, LUF, and SSF

According to systems and class-wise analysis results, the following observations are obtained: (1) the performance of multi-band system which uses BSS (for three allocation policies) is better than the single band architecture under heavy traffic, (2) the FSF, LUF and SSF allocations do not use bands efficiently as single band while system is under low traffic, (3) the LUF allocation can be show similar performance with SSF or FSF, and (4) FSF allocation policy in multi-band system shows the best performance. (5) Although FSF has less delay than LUF and SSF for \(C_R\) class, there is no significant difference between throughput of FSF, LUF, and SSF allocation policies.

9.4 Summary of Results

After analyzing both the systems based on class-wise and queue-wise and system-wise performances, following results are obtained: (1) Proposed BSS scheduling can ensure maximum possible utilization in order to increase performance through the sharing of capacities among the bands in the multi-band systems, (2) single band system usage is recommended when systems are under lower traffic arrivals, (3) multi-band system usage is recommended when systems are under heavy traffic arrivals, (4) class priority in single band plays a crucial role in class performance, (5) slowest server first and least utilization first allocation policies in the multi-band system which uses BSS show similar affect on the system performances, and (6) class priority in multi-band system which uses BSS has significant impact on the system performance.

10 Conclusion

In this paper, we have proposed a novel scheduling algorithm for multi-band mobile routers that exploits band sharing. Analytical model of the proposed scheduling algorithm is presented through two cases based on class priorities. Developed analytical performance metrics have been validated by extensive simulations. In addition, performance of single and multi-band systems under realistic scenarios have been compared by using extensive simulation. Results show that proposed scheduling model can ensure maximum possible utilization in order to increase performance through the sharing of capacities among the bands in the multi-band systems. The results obtained in this paper can help network engineers to develop efficient routers, and also end-users to identify suitable routers to fulfill their needs.