Abstract

A virtual channels scheduling algorithm with broad applicability based on movable boundary is proposed. According to the types of date sources, transmission time slots are divided into synchronous ones and asynchronous ones with a movable boundary between them. During the synchronous time slots, the virtual channels are scheduled with a polling algorithm; during the asynchronous time slots, the virtual channels are scheduled with an algorithm based on virtual channel urgency and frame urgency. If there are no valid frames in the corresponding VC at a certain synchronous time slot, a frame of the other synchronous VCs or asynchronous VCs will be transmitted through the physical channel. Only when there are no valid frames in all VCs would an idle frame be generated and transmitted. Experiments show that the proposed algorithm yields much lower scheduling delay and higher channel utilization ratio than those based on unmovable boundary or virtual channel urgency in many kinds of sources. Therefore, broad applicability can be achieved by the proposed algorithm.

1. Introduction

To meet the requirements of new space systems and new space missions, Consultative Committee for Space Data Systems (CCSDS) expanded the contents of the conventional recommendations [1, 2] and put forward Advanced Orbiting Systems (AOS) recommendations [3, 4], which provide flexible and various data processing businesses. In AOS, a two-layer multiplexing mechanism, which includes packet multiplexing and virtual channel multiplexing mechanisms, is used to share one physical channel between multiusers. Packet channel multiplexing mechanism is a mechanism in which various data packets share one virtual channel (VC), and some achievements have been made in this respect [58]. Virtual channel multiplexing mechanism is a mechanism in which a number of virtual channels share one physical channel.

Virtual channels are a group of logic channels formed by dividing the physical channel into different time slots. Each VC transmits the user data with the same or similar properties. The specific algorithm used in this mechanism, namely, VC scheduling algorithm, decides the order of VCs occupying the physical channel as well as the transmission efficiency of the physical channel. Therefore, the way to design the VC scheduling algorithm will be the focus of AOS systems.

Some research conclusions on virtual channel scheduling algorithms have been achieved [911], most of which are designed for a certain satellite data source, so their application scopes are limited. Even the dynamic scheduling algorithm (DSA) [11], which provides good performance for some types of data sources, could hardly meet the transmission requirements of all types of satellite data sources. In addition, it pays little attention to the difference between VC urgency and frame urgency, which will cause performance reduction.

To address the problems above, a virtual channels scheduling algorithm with broad applicability based on movable boundary is proposed, in which the transmission time slots are divided into synchronous ones and asynchronous ones; furthermore, the boundary between them is movable. During the synchronous time slots, the virtual channels are scheduled with a polling algorithm. If there are no valid frames in the corresponding synchronous VC at a certain synchronous time slot, a frame of the other synchronous VCs or asynchronous VCs will be selected to occupy this time slot according to the scheduling mechanism; if there are no valid frames in all VCs, an idle frame is generated and transmitted. During the asynchronous time slots, the virtual channels are scheduled with an algorithm based on VC urgency and frame urgency. Simulation results show that the proposed algorithm produces much less scheduling delay and higher channel utilization ratio than the DSA algorithm.

2. Scheduling Algorithm with Broad Applicability Based on Movable Boundary

There are three kinds of virtual channels multiplexing modes [12]: the full synchronous multiplexing mode, the full asynchronous multiplexing mode, and the synchronous/asynchronous multiplexing mode. For the full synchronous multiplexing mode, the order of virtual channels occupying a physical channel is fixed and repetitive, so it is suitable for the case in which most business data are synchronous and data rates of all the VCs are equivalent. However, it is not suitable for handling burst business and cannot achieve high channel utilization ratio. For the full asynchronous multiplexing mode, when two or more virtual channels are waiting to be scheduled, they are scheduled according to the priority assigned or calculated; therefore, this mode is suitable for burst business and low data rate information. However, this mode usually results in the delay wobbling of synchronous data [12]. For the synchronous/asynchronous multiplexing mode, the virtual channels are divided into synchronous and asynchronous ones. Synchronous virtual channels are scheduled with the full synchronous multiplexing mode, while asynchronous virtual channels are scheduled with the full asynchronous multiplexing mode. Although the system complexity is increased in this mode, the shortcomings of the first two modes mentioned above can be avoided.

In order to reduce the scheduling delay and improve the channel utilization ratio, a virtual channels scheduling algorithm based on movable boundary is proposed. In the proposed algorithm, the synchronous/asynchronous multiplexing mode is adopted. Time slots are divided into synchronous and asynchronous ones, which are used to schedule synchronous and asynchronous virtual channels, respectively. The system distributes the number of synchronous and asynchronous time slots according to the VC data rates and the number of VCs [12]. In terms of the scheduling strategy, the polling scheduling strategy is used for synchronous virtual channels, while the virtual channel scheduling strategy based on VC urgency and frame urgency is used for asynchronous virtual channels. The flowchart of the proposed scheduling algorithm is shown in Figure 1.

2.1. Synchronous Virtual Channel Scheduling Algorithm

For synchronous virtual channels, the polling scheduling algorithm is used. The so-called polling scheduling algorithm is that each virtual channel occupies the physical channel exactly according to the order assigned before. If there are no valid frames in the corresponding VC at a certain synchronous time point, the frame with the longest waiting time from the other synchronous VCs will be transmitted; if two or more frames from the other synchronous VCs have the longest waiting time, the first frame in the synchronous VC with the smallest VC serial number among them is transmitted; if there are no valid frames in all synchronous VCs, a valid asynchronous frame will be selected and transmitted according to the asynchronous scheduling mechanism. Otherwise, an idle frame will be generated and transmitted through the physical channel.

Define the waiting time of the current first frame in the ith VC (), , as: where   is the current scheduling time point, and    is the arrival time of the current first frame in  .

2.2. Asynchronous Virtual Channel Scheduling Algorithm

For asynchronous virtual channels, the scheduling algorithm based on VC urgency and frame urgency is exploited. First, the VC urgency and frame urgency are calculated, respectively, and then they are balanced with a weighting coefficient to form a new urgent degree function of VCs. VCs are scheduled according to the values of the function.

2.2.1. VC Urgency

Define the transmission urgency of  , , as where     is the Boolean function, and it decides whether can participate in the competition of the physical channel. The values of are shown as is the urgency base of , and it calculates the delay from the last time point when is scheduled to the current time point. The values of are shown as  is the static priority of . If requests higher real-time performance, a larger value of is assigned to it; otherwise, a smaller one is assigned.

2.2.2. Frame Urgency

Frame urgency can be calculated by the time that the current first frame has been waiting for. Define the frame urgency of   as where is the arrival time of the current first frame in . Obviously, the smaller the value of is, the longer the waiting time of the current first frame is, which results in a larger value of  .

2.2.3. Urgent Degree Function of Virtual Channel

Define the urgent degree function of at the kth scheduling time point as where   is the weighting coefficient, .

Substituting (5) into (6), we can get

As is shown in (7), both the VC urgency and the frame urgency are estimated when calculating the urgent degree functions of VCs. On one hand, this will prevent the VC with large amount of data from monopolizing the physical channel; on the other hand, it overcomes the problem in the literature [1114] that the waiting time of the other data frames in a VC are reset when the first frame in this VC is transmitted, which will result in the decline of the VC urgency.

At any asynchronous scheduling time point, the VC with the largest value of is scheduled; if there are two or more VCs with the largest value of , the VC with the largest values of and is scheduled; if there are two or more VCs with the largest values of and , the VC with the smallest VC serial number among them is scheduled. Otherwise, an idle frame is generated and transmitted through the physical channel. The flowchart of asynchronous VCs scheduling algorithm is shown in Figure 2.

2.2.4. Strategy of Selecting Weighting Coefficient

For different types of satellite data sources, we can select an appropriate by computer simulation to get good urgent degree functions of VCs so as to achieve good scheduling performance. Therefore, the proposed algorithm can be applied to diverse satellite data sources.

Consider the following three kinds of satellite data sources.(a)Sources with large difference among VC loads. For this kind of sources, there is usually one or more VCs with large amount of data, whose number of data frames is much larger than the others. For VCs with large amount of data, the values of frame urgency are relatively large and the values of VC urgency are relatively small at most scheduling time points; for VCs with little amount of data, whose time of occupying physical channel is limited, the values of VC urgency are relatively large and the values of frame urgency are relatively small at most scheduling time points. In order to prevent VCs with large amount of data from monopolizing the physical channel, we can select large values for .(b)Sources with moderate difference among VC loads. For this kind of sources, there are no VCs with enough data to monopolize physical channel, so the value of should be smaller than that of the first kind of sources. For the VCs with high data rates, the data frame urgency is dominant, so the smaller the value of is, the better the delay performance is; for the VCs with low data rates, the VC urgency is dominant, so the larger the value of is, the better the delay performance is. The right value of can be determined by VC loads and real-time requirements.(c)Sources with little difference among VC loads. For this kind of sources, data rates of various VCs are relatively equivalent. Neither the VC urgency nor the frame urgency is dominant in the urgent degree function of VC, so the value of has little effect on the performance of VCs scheduling delay, which makes it easy to be selected.

3. Simulation Results

Simulation is performed to compare the performance of the novel algorithm we proposed with those of the SAUB algorithm and the DSA algorithm. It is worth mentioning that the SAUB algorithm is the algorithm in which the same scheduling strategies as those used in the proposed algorithm are adopted, except that the boundary between the synchronous time slots and asynchronous ones is unmovable. Performance parameters include mainly the average scheduling delay of each VC, the maximum scheduling delay of each VC, the average scheduling delay of system, and the maximum scheduling delay of system and the channel utilization ratio.

3.1. Simulation on Sources with Large Difference among VC Loads

For this kind of sources, a source is selected whose VCs’ division and parameter settings are shown in Table 1. VC1~VC6 are asynchronous VCs as that in the literature [15]. VC7 and VC8 are synchronous VCs. In addition, VC9 is used to generate and transmit idle frames. The highest data rate (VC1) is 300 times as large as the lowest data rate (VC6). The other simulation parameters are set as follows: the length of data frame is 6000 bits; downlink rate ranges from  bps to  bps; the static priority values of VCs are , , , , , and , respectively.

Simulation results are shown in Figures 3, 4, 5, 6, and 7.

It is shown from the previous figures that for all the VCs, performance of the scheduling delay and the channel utilization ratio achieved by the proposed algorithm are better than those achieved by the SAUB algorithm, no matter what the value of is. For example, when the downlink rate is 2.46 Mbps and   is 0.98, the average scheduling delay of VC3, the maximum scheduling delay of VC3, and the channel utilization ratio achieved by the SAUB algorithm are  s,  s, and 0.9432, respectively, while those achieved by the proposed algorithm are  s,  s, 0.9447, respectively. Therefore, the average scheduling delay and the maximum scheduling delay of VC3 achieved by the proposed algorithm are 5.26% and 2.15% lower than those achieved by the SAUB algorithm, respectively, and the channel utilization ratio achieved by the proposed algorithm is 0.15% higher than that achieved by the SAUB algorithm. It is also shown that for most of the VCs, when the value of is large, performance achieved by the proposed algorithm is better than that achieved by the DSA algorithm. For example, when the downlink rate is 2.46 Mbps and   is 0.98, the average scheduling delay of VC3, the maximum scheduling delay of VC3, and the channel utilization ratio achieved by the DSA algorithm are  s,  s, and 0.9442, respectively. Therefore, the average scheduling delay and the maximum scheduling delay of VC3 achieved by the proposed algorithm are 25.56% and 15.25% lower than those achieved by the DSA algorithm, respectively, and the channel utilization ratio achieved by the proposed algorithm is 0.05% higher than that achieved by the DSA algorithm.

When the value of is small, the performance of the proposed algorithm declines. This is consistent with our theoretical analysis. For all the VCs, scheduling delay varies with the change of . In practice, we can select an appropriate value of to meet the delay requirements of all VCs without increasing the downlink rate. Obviously, such an advantage cannot be achieved by the DSA algorithm.

3.2. Simulation on Sources with Moderate Difference among VC Loads

For this kind of sources, manned spacecraft source model [16] is used, whose VCs’ division and parameter settings are shown in Table 2. VC1~VC6 are asynchronous VCs. VC7 and VC8 are synchronous VCs. In addition, VC9 is used to generate and transmit idle frames. The highest data rate (VC6) is 47.5 times as large as the lowest data rate (VC4). The other simulation parameters are set as follows: the length of data frame is 8000 bits; downlink rate ranges from  bps to  bps; the static priority values of VCs are , , , , , and , respectively.

Simulation results are shown in Figures 8, 9, 10, 11, and 12.

Similar to model 1, for most of the VCs, the performance of the proposed algorithm is better than that of the SAUB algorithm and that of the DSA algorithm, no matter what the value of is. For example, when the downlink rate is 2.91 Mbps and   is 0.5, the average scheduling delay of VC3, the maximum scheduling delay of VC3, and the channel utilization ratio achieved by the SAUB algorithm are  s,  s, and 0.9691, respectively, those achieved by the DSA algorithm are  s,  s, and 0.9680, respectively, and those achieved by the proposed algorithm are  s,  s, and 0.9692, respectively. Therefore, compared with those achieved by the SAUB algorithm, the average scheduling delay and the maximum scheduling delay of VC3 achieved by the proposed algorithm are 17.30% and 20.63% lower, respectively, and the channel utilization ratio achieved by the proposed algorithm is 0.01% higher; compared with those achieved by the DSA algorithm, the average scheduling delay and the maximum scheduling delay of VC3 achieved by the proposed algorithm are 30.64% and 48.63% lower, respectively, and the channel utilization ratio achieved by the proposed algorithm is 0.12% higher.

For the VCs with high data rates (e.g., VC6), the smaller the value of is, the shorter the scheduling delay is; for the VCs with lower data rates (e.g., VC3), the larger the value of is, the shorter the scheduling delay is, which is consistent with theoretical analysis.

3.3. Simulation on Sources with Little Difference among VC Loads

For this kind of sources, a source is selected whose VCs’ division and parameter settings are shown in Table 3. VC1~VC6 are asynchronous VCs as shown in the literature [17]. VC7 and VC8 are synchronous VCs. In addition, VC9 is used to generate and transmit idle frames. In order to make the experimental results reflect balanced loads in general sense, the data rates of VC1–VC8 are set around 20 Mbps, but they are slightly different. The other simulation parameters are set as follows: the data frame length is 6000 bits; downlink rate ranges from bps to  bps; the static priority values of VCs are , , , , , and , respectively.

Simulation results are shown in Figures 13, 14, 15, 16, and 17.

Similar to source model 1 and model 2, for most of the VCs, the performance of the proposed algorithm is better than that of the SAUB algorithm and the DSA algorithm, no matter what the value of is. For example, when the downlink rate is 1.63 Mbps and   is 0.1, the average scheduling delay of VC3, the maximum scheduling delay of VC3, and the channel utilization ratio achieved by the SAUB algorithm are  s,  s, and 0.9833, respectively; those achieved by the DSA algorithm are  s,  s, and 0.9827, respectively, and those achieved by the proposed algorithm are  s, , and 0.9833, respectively. Therefore, compared with those achieved by the SAUB algorithm, the average scheduling delay and the maximum scheduling delay of VC3 achieved by the proposed algorithm are 13.89% and 4.50% lower, respectively; compared with those achieved by the DSA algorithm, the average scheduling delay and the maximum scheduling delay of VC3 achieved by the proposed algorithm are 50.21% and 68.21% lower, respectively, and the channel utilization ratio achieved by the proposed algorithm is 0.06% higher. Because data rates of all the VCs are equivalent, the value of has relatively little effect on the performance of scheduling delay.

4. Conclusions

We proposed a novel algorithm for virtual channel scheduling based on movable boundary, in which time slots are divided into synchronous ones and asynchronous ones. During the synchronous time slots, the polling scheduling algorithm is used, while during the asynchronous ones, the VC scheduling algorithm based on VC urgency and frame urgency is used. When there are no valid synchronous data frames in the corresponding VC at a certain synchronous time slot, a frame of the other synchronous VC or asynchronous VCs will be transmitted. If there are no valid frames in all VCs, an idle frame will be generated and transmitted. Compared with the SAUB algorithm, the proposed algorithm can reduce the scheduling delay and improve the channel utilization ratio, while compared with the DSA algorithm, the proposed algorithm is much better as far as the time delay and applicability scope are concerned. In addition, the proposed algorithm is suitable for the scheduling of diverse data sources.

Acknowledgments

This work was supported by the Natural Science Foundation of China (61101116), the Outstanding Young Scholar Plan of Liaoning Province (LJQ2012018), the Innovative Team Project of Liaoning (LT2011T005), and the Open Foundation of Key Laboratory of Shenyang Ligong University (4771004kfs06).