CN100389580C - Network packet scheduling method applicable to wireless high-speed adaptive channels - Google Patents
Network packet scheduling method applicable to wireless high-speed adaptive channels Download PDFInfo
- Publication number
- CN100389580C CN100389580C CNB2006100240797A CN200610024079A CN100389580C CN 100389580 C CN100389580 C CN 100389580C CN B2006100240797 A CNB2006100240797 A CN B2006100240797A CN 200610024079 A CN200610024079 A CN 200610024079A CN 100389580 C CN100389580 C CN 100389580C
- Authority
- CN
- China
- Prior art keywords
- queue
- lag
- channel
- current
- lagging
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 35
- 230000003044 adaptive effect Effects 0.000 title claims abstract description 18
- 230000001360 synchronised effect Effects 0.000 claims abstract description 16
- 230000015556 catabolic process Effects 0.000 claims description 5
- 238000006731 degradation reaction Methods 0.000 claims description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 230000007774 longterm Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000006735 deficit Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
一种适用于无线高速自适应信道的网络分组调度方法,属于网络技术领域。步骤为:(1)初始化;(2)确定当前要服务的队列;(3)为队列分配本轮的发送额度,超前队列补偿滞后或同步队列,并调整相应队列的超前/滞后量;(4)调整差额计数器的值;(5)取队列的头分组,并计算此分组的长度;(6)判断分组长度和差额计数器值的大小;(7)调度器发送该分组;(8)判断当前队列是否为空;(9)把当前队列的索引从轮询链表中删除,令差额计数器值为零,并调整各队列超前/滞后量的值,然后转步骤(2);(10)把队列的索引添加到轮询链表的尾部,转步骤(2)。本发明可适用于不定分组长度、复杂度低。
The invention relates to a network packet scheduling method suitable for wireless high-speed adaptive channels, which belongs to the technical field of networks. The steps are: (1) Initialize; (2) Determine the current queue to be served; (3) Assign the current round of sending quota to the queue, the advanced queue compensates the lagging or synchronous queue, and adjusts the leading/lagging amount of the corresponding queue; (4) ) to adjust the value of the balance counter; (5) get the head grouping of the queue, and calculate the length of the group; (6) judge the size of the packet length and the difference counter value; (7) the scheduler sends the grouping; (8) judge the current Whether the queue is empty; (9) delete the index of the current queue from the polling linked list, make the difference counter value zero, and adjust the value of the lead/lag amount of each queue, then go to step (2); (10) put the queue The index of is added to the end of the polling linked list, go to step (2). The present invention is applicable to variable packet length and low complexity.
Description
技术领域 technical field
本发明涉及一种网络技术领域的方法,更具体的,涉及一种适用于无线高速自适应信道的网络分组调度方法。The present invention relates to a method in the field of network technology, more specifically, to a network packet scheduling method suitable for wireless high-speed adaptive channels.
背景技术 Background technique
无线网络分组调度是由有线网络的分组调度衍生而来,目前有线网络的分组调度方法主要有两种类型:基于GPS(通用处理机共享)和RR(基于轮询)调度方法。无线网络的分组调度也相应以以上两种调度方法为基础结合无线网络物理层的特点发展而来。典型的基于GPS的方法,包括S.Lu等在《IEEE/ACMTransactions on Networking》(IEEE/ACM网络会刊)(1999年第7卷第4期473-489页)上发表的Fair Scheduling in Wireless Packet Networks(无线分组网络的公平调度)中提出的IWFQ;T.S.E.Ng等在《INFOCOM′98,Proceedings.IEEE》(IEEE INFOCOM′98会议论文集)(1998年3月第3卷1103-1111页)上发表的Packet fair queuing algorithms for wireless networks withlocation-dependent errors(基于位置错误的无线网络分组公平排队算法)中提出的CIF-Q;S.Lu等在《Wireless Networks》(无线网络)(2000年第6卷第4期323-343页)上发表的Design and Analysis of an Algorithm for Fair Service inError-prone Wireless Channels(一种无线差错信道下的公平服务算法的设计与分析)中提到的WFS。为了逼近GPS调度的特性,以上方法的无差错模型都采用了虚拟时间的方法,这种方法的缺点是时间和空间复杂度过高,不适用于高速网络的环境。Wireless network packet scheduling is derived from wired network packet scheduling. At present, there are two main types of wired network packet scheduling methods: GPS-based (general processor sharing) and RR (round-robin based) scheduling methods. The packet scheduling of the wireless network is also correspondingly developed based on the above two scheduling methods combined with the characteristics of the physical layer of the wireless network. Typical GPS-based methods include Fair Scheduling in Wireless Packet published by S.Lu et al. in "IEEE/ACM Transactions on Networking" (IEEE/ACM Network Journal) (1999, Vol. IWFQ proposed in Networks (Fair Scheduling of Wireless Packet Networks); T.S.E.Ng et al. in "INFOCOM'98, Proceedings.IEEE" (Proceedings of IEEE INFOCOM'98 Conference) (
经对现有技术文献的检索发现,基于RR的网络分组调度方法包括WRR(加权轮询)(Weighted Round Robin,);M.Shreedhar等在《IEEE/ACMTransactions on Networking》(IEEE/ACM网络会刊)(1996年第4卷第3期375-385页)上发表的Efficient Fair Queuing Using Deficit Round-Robin(使用差额轮询的高效公平排队),该文中提出的DRR方法。WRR和DRR方法是基于有线网络的分组调度方法,无法直接应用于高速无线自适应信道。其特点是复杂度低,但是提供的QoS保证相对于基于GPS的方法要差一些。由于高速网络要求调度器在处理分组时要使用尽量少的时间,所以基于轮询的方法在高速网络中得到了很好的应用。Through the retrieval of prior art documents, it is found that RR-based network packet scheduling methods include WRR (Weighted Round Robin); M.Shreedhar et al. ) (
自适应调制技术使链路速率动态可变从而使得链路速率不再是常数,而是一个随着信道质量随机变化的随机变量。它使得无线信道成为速率自适应信道。目前(包括上述的)的无线网络分组调度方法的信道模型主要是基于两状态马尔可夫链的GE(Gillbert Elliott)模型,该模型把信道分为两个状态:信道好(G)和信道坏(B),但自适应信道的信道状态为多状态,在信道最优和最差之间还存在中间状态,所以GE模型已经不能适用于当前的无线信道特性。Adaptive modulation technology makes the link rate dynamically variable so that the link rate is no longer a constant, but a random variable that changes randomly with the channel quality. It makes the wireless channel a rate adaptive channel. The channel model of the current (including the above) wireless network packet scheduling method is mainly based on the GE (Gillbert Elliott) model of the two-state Markov chain, which divides the channel into two states: channel good (G) and channel bad (B), but the channel state of the adaptive channel is multi-state, and there is still an intermediate state between the best channel and the worst channel, so the GE model can no longer be applied to the current wireless channel characteristics.
发明内容 Contents of the invention
针对现有技术的不足和自适应信道的特性,本发明提出了一种适用于无线高速自适应信道的网络分组调度方法。使其摈弃了不符合当前自适应信道特性的GE模型,采用了新的具有更多实际意义的多状态无线网络信道模型,每个状态代表一个信道速率,并基于多状态模型提出了可以适用于不定分组长度、复杂度低、并能保证长期和短期公平性、具有良好降级性能、良好的隔离性能、可为不同移动站点提供区分服务的基于轮询的无线网络分组调度方法。Aiming at the deficiencies of the prior art and the characteristics of the adaptive channel, the present invention proposes a network packet scheduling method suitable for the wireless high-speed adaptive channel. It discards the GE model that does not conform to the current adaptive channel characteristics, adopts a new multi-state wireless network channel model with more practical significance, each state represents a channel rate, and proposes a multi-state model that can be applied to Indefinite packet length, low complexity, long-term and short-term fairness guaranteed, good degradation performance, good isolation performance, polling-based wireless network packet scheduling method that can provide differentiated services for different mobile stations.
本发明是通过以下技术方案实现的,包括以下步骤:The present invention is achieved through the following technical solutions, comprising the following steps:
(1)初始化,完成对所有变量的初始化赋值。(1) Initialization, complete the initialization and assignment of all variables.
(2)从轮询链表的头取一个队列的索引,确定当前要服务的队列。(2) Take the index of a queue from the head of the polling list to determine the current queue to be served.
(3)根据当前队列所对应的信道状态和本队列的超前/滞后状况为队列分配本轮的发送额度,超前队列补偿滞后或同步队列,并调整相应队列的超前/滞后量。(3) According to the channel state corresponding to the current queue and the lead/lag status of the queue, the queue is allocated the sending quota of the current round, the lead queue compensates the lagging or synchronous queue, and adjusts the lead/lag amount of the corresponding queue.
(4)调整差额计数器DCi的值。把本轮新分配的发送额度累加到差额计数器上去,差额计数器保存队列在本轮的发送额度。(4) Adjust the value of the difference counter DC i . Add the newly allocated sending quota of this round to the difference counter, and the difference counter saves the sending quota of the queue in this round.
(5)取队列的头(HOL,Head of Line)分组,并计算此分组的长度。(5) Take the head (HOL, Head of Line) grouping of the queue, and calculate the length of this grouping.
(6)判断分组长度和差额计数器值的大小,如果分组的长度小于等于差额计数器的值则转步骤(7),否则转步骤(10)。(6) Judge the size of the grouping length and the difference counter value, if the length of the grouping is less than or equal to the value of the difference counter then turn to step (7), otherwise turn to step (10).
(7)调度器发送该分组。(7) The scheduler sends the packet.
(8)判断当前队列是否为空,如果空则转步骤(9),如果非空则转步骤(5)。(8) Determine whether the current queue is empty, if empty then go to step (9), if not empty then go to step (5).
(9)把当前队列的索引从轮询链表中删除,令差额计数器值为零,并调整各队列超前/滞后量的值,然后转步骤(2)。(9) Delete the index of the current queue from the polling linked list, make the difference counter value zero, and adjust the value of the lead/lag amount of each queue, and then go to step (2).
(10)把队列的索引添加到轮询链表的尾部,转步骤(2)。一直重复以上步骤直到系统中轮询链表空为止。(10) Add the index of the queue to the end of the polling linked list, and turn to step (2). Repeat the above steps until the polling list in the system is empty.
在以上步骤中,步骤(3)是本发明的重点,对队列发送额度的分配和惩罚补偿量的多少都由该步骤决定,下面详细介绍步骤(3)。Among the above steps, step (3) is the key point of the present invention, and the distribution of queue sending quota and the amount of penalty compensation are all determined by this step. Step (3) will be described in detail below.
在步骤(3)中队列的超前/滞后是根据变量lagi来确定的。(lagi的值为队列i应该得到的服务量减去实际得到的服务量)。在本发明中超前队列定义为:在某时刻当某个队列i得到了多于其最优信道状态下预约额度的服务,此时lagi<0。同步队列定义为:在某时刻当队列i得到的服务等于其最优信道状态下预约额度的服务,此时lagi=0。滞后队列定义为:在某时刻当队列i得到的服务少于其最优信道状态下预约额度的服务,此时lagi>0。The lead/lag of the queue in step (3) is determined according to the variable lag i . (The value of lag i is the amount of service that queue i should receive minus the actual amount of service received). In the present invention, the leading queue is defined as: at a certain moment, when a certain queue i has received more services than its reserved quota in the optimal channel state, lag i <0 at this time. A synchronous queue is defined as: at a certain moment, when the service obtained by queue i is equal to the service of its reserved quota under the optimal channel state, lag i =0 at this time. The lagging queue is defined as: at a certain moment, when the service received by the queue i is less than the service reserved in the optimal channel state, lag i >0 at this time.
在步骤(3)中,对队列发送额度的分配是动态进行的。根据当前队列所处的信道状态和队列的超前/滞后状态对队列的发送额度进行惩罚或补偿,惩罚或补偿的原则如下:In step (3), the allocation of the queue sending quota is performed dynamically. Penalize or compensate the sending quota of the queue according to the channel status of the current queue and the advanced/lag status of the queue. The principles of punishment or compensation are as follows:
①惩罚处于非最优信道的队列,使得其在一轮服务中发送的数据量减少,从而减少其占用信道的时间,把额度让给具有最优信道的流传输,使得系统吞吐量最大化。① Punish the queue in the non-optimal channel to reduce the amount of data it sends in a round of service, thereby reducing the time it occupies the channel, giving the quota to the stream transmission with the optimal channel, and maximizing the system throughput.
②按照队列所处的信道状态确定惩罚量的大小,即信道状态越差惩罚量越多。② Determine the size of the penalty amount according to the channel state of the queue, that is, the worse the channel state, the more the penalty amount.
③为了提高系统的吞吐量只对处于最优信道的队列进行补偿,因为只有当信道处于最优时系统的吞吐量最大、信道速率最快,才能使补偿在最短的时间内完成。当系统中没有队列处于最优信道时,放弃补偿。③ In order to improve the throughput of the system, only the queues in the optimal channel are compensated, because only when the channel is optimal, the system throughput is the largest and the channel rate is the fastest, so that the compensation can be completed in the shortest time. When no queue in the system is on the optimal channel, the compensation is abandoned.
④补偿时按照优先补偿滞后队列、同步队列、超前队列的顺序进行。④ Compensation shall be performed in the order of prioritizing lagging queue, synchronous queue, and leading queue.
⑤在补偿滞后队列或超前队列时按照队列的lagi降序加权方式进行,即优先补偿具有最大滞后量的队列,以使得其尽快赶上:假如系统中没有滞后队列存在则补偿同步队列;假如以上两种队列都不存在则优先补偿具有最小超前量的队列。⑤When compensating for lagging queues or leading queues, it is carried out according to the weighting method of lag i descending order of the queues, that is, the queue with the largest lagging amount is compensated first, so that it can catch up as soon as possible: if there is no lagging queue in the system, then compensate the synchronous queue; if the above If neither queue exists, the queue with the smallest lead is compensated preferentially.
⑥为了使超前队列具有良好的降级性能,本发明定义补偿系数μ,μ∈(0,1),使超前队列在补偿滞后队列时不全部放弃其在本轮的发送额度而只是部分释放,从而使得队列可以在领先情况下得到μQi的服务量。在补偿时为了不使得超前队列释放过多超前量而变成滞后队列,规定其释放的超前量最多为min[(1-μ)Qi,|lagi|]。⑥In order to make the advanced queue have good degradation performance, the present invention defines compensation coefficient μ, μ∈(0, 1), so that the advanced queue does not completely give up its sending quota in the current round but only partially releases it when compensating the lagging queue, so that The queue can get the service volume of μQ i in the leading situation. In order to prevent the advanced queue from releasing too much advanced amount and becoming a lagging queue during compensation, it is stipulated that the released advanced amount is at most min[(1-μ)Q i , |lag i |].
在步骤(9)中,为了保证系统的公平性,整个系统保证
①假如i队列在本轮得到部分服务后而变为空队列,但是其依然属于滞后(lagi>0)的状况下,其滞后量要按照权重按比例分配到其他滞后积压队列中去,
②如果队列i在得到部分服务后变为空,但是此时仍为领先(lagi<0),则要把超前量分配到其他超前队列中去,
本发明提出的适用于无线自适应信道网络分组调度方法以轮询为基础,克服了以GPS为基础的方法的时间复杂度和空间复杂度过高的缺点,具有复杂度低、容易实现的优点。本发明最大的创新之处在于以无线自适应多速率信道为基础,更符合当前无线信道物理层的特点。本调度方法由于采用了惩罚/补偿机制,对处于非最优信道的站点进行处罚,减少其数据发送量,把带宽让给具有最优信道的站点,从而大幅度的提高了系统的吞吐量。由于补偿机制的采用可以满足系统的长期公平性和短期公平性。在补偿时采用部分补偿机制,保证了超前队列具有良好的降级性能。站点接入系统时可以按照自身对服务质量的要求确定预约发送额度,从而使本发明可以保证对不同站点提供区分服务,满足了当前多业务环境下对带宽的不同要求。The packet scheduling method suitable for wireless adaptive channel network proposed by the present invention is based on polling, overcomes the shortcomings of high time complexity and space complexity of the GPS-based method, and has the advantages of low complexity and easy implementation . The biggest innovation of the present invention is that it is based on the wireless self-adaptive multi-rate channel, which is more in line with the characteristics of the physical layer of the current wireless channel. Due to the adoption of the penalty/compensation mechanism in this scheduling method, the stations in the non-optimal channel are punished, the amount of data sent is reduced, and the bandwidth is given to the station with the optimal channel, thereby greatly improving the throughput of the system. The adoption of the compensation mechanism can satisfy the long-term fairness and short-term fairness of the system. A partial compensation mechanism is used in the compensation to ensure that the advanced queue has good degradation performance. When a station accesses the system, it can determine the scheduled sending quota according to its own requirements for service quality, so that the present invention can guarantee different services for different stations, and meet the different requirements for bandwidth in the current multi-service environment.
附图说明 Description of drawings
图1为本发明可应用于无线通信系统下行链路分组数据调度的结构示意图。FIG. 1 is a schematic structural diagram of the present invention applicable to downlink packet data scheduling in a wireless communication system.
图2为本发明实施时的流程图。Fig. 2 is a flow chart when the present invention is implemented.
图3为本发明实施时为队列分配发送额度的流程图。Fig. 3 is a flow chart of allocating sending quotas for queues when the present invention is implemented.
具体实施方式 Detailed ways
本发明提出的分组调度方法适用的网络模型为:假设有N个移动终端通过AP或基站接入系统,本发明提出的调度方法运行于AP(接入点)或基站之中,为每个移动终端创建一个队列(共N个队列),所有发向特定终端的数据全部按照FIFO(先入先出)的方式放入相应的队列。无线信道至少有两个信道状态,每个信道状态对应不同的信道速率,信道状态是时变的随机变量。本发明按照轮询的方式服务每个积压(即队列中有等待传输的分组)队列,在开始服务前,调度器可以通过信道状态检测器/预估器准确预估当前积压队列所对应的信道状态并以当前信道状态对应的速率服务队列,在本次服务中服务速率不变。The applicable network model of the grouping scheduling method proposed by the present invention is as follows: assuming that there are N mobile terminals accessing the system through APs or base stations, the scheduling method proposed by the present invention operates in APs (access points) or base stations, The terminal creates a queue (a total of N queues), and all data sent to a specific terminal is put into the corresponding queue in a FIFO (first-in, first-out) manner. The wireless channel has at least two channel states, each channel state corresponds to a different channel rate, and the channel state is a time-varying random variable. The present invention serves each backlog (that is, there are packets waiting to be transmitted in the queue) queues in a polling manner. Before starting the service, the scheduler can accurately estimate the channel corresponding to the current backlog queue through the channel state detector/estimator state and serve the queue at the rate corresponding to the current channel state, and the service rate remains unchanged in this service.
为了更具体说明本发明的内容,文中所用到的符号如表1所示。In order to describe the content of the present invention more specifically, the symbols used in the text are shown in Table 1.
表1Table 1
本发明所采用的信道模型为多状态的自适应信道,自适应信道的速率是时变的随机变量。本发明所适用的信道状态变迁如下:调度器在服务队列期间该队列所对应的信道状态不发生变化(即保持某个信道速率不变),以保证调度器在服务该队列期间服务速率不变,信道状态的变迁只发生在其他时刻。信道状态共有M(1~M)个,所对应的信道传输速率从大到小为(V1,V2…Vm-1,Vm)其中(V1>V2>v3…Vm-2>Vm-1>Vm)。V1对应于最优信道,这时信道的传输速率最快,系统以这个速率传输是最优情况,可以获得最大的吞吐量。Vm对应于最差信道状态,这时信道为“最坏”信道(Vm=0),系统不能传输数据。(V2…Vm-1)表示中间信道状态的信道速率。The channel model adopted in the present invention is a multi-state adaptive channel, and the rate of the adaptive channel is a time-varying random variable. The applicable channel state transition of the present invention is as follows: the channel state corresponding to the queue during the service queue of the scheduler does not change (that is, a certain channel rate is kept constant), so as to ensure that the service rate of the scheduler is constant during the service of the queue , channel state transitions only occur at other times. There are M (1~M) channel states, and the corresponding channel transmission rates from large to small are (V 1 , V 2 ...V m-1 , V m ) where (V 1 >V 2 >v 3 ...V m -2 >V m-1 >V m ). V 1 corresponds to the optimal channel. At this time, the transmission rate of the channel is the fastest. It is the optimal situation for the system to transmit at this rate, and the maximum throughput can be obtained. V m corresponds to the worst channel state, when the channel is the "worst" channel (V m =0), the system cannot transmit data. (V 2 . . . V m-1 ) represents the channel rate of the intermediate channel state.
下面将参考附图详细说明本发明的实施例。Embodiments of the present invention will be described in detail below with reference to the accompanying drawings.
图1表示了本发明提出的分组调度方法所能应用的无线通信系统的一个具体实施例。它用简化框图的形式示出了本发明和无线通信系统各部分之间的关系。FIG. 1 shows a specific embodiment of a wireless communication system to which the packet scheduling method proposed by the present invention can be applied. It shows the present invention and the relationship between various parts of the wireless communication system in the form of a simplified block diagram.
如图1所示,本发明所示的调度方法位于无线通信系统的接入点(AP)或基站当中,用来调度由AP或基站传向移动终端的分组,以满足站点的公平性、时延等QoS指标。假设由N个移动站点接入系统,在调度器内为N个站点维持相应的N个队列。传向终端的数据源首先通过分类器,分类器的作用是把传向不同移动站点的数据进行分类,然后数据分别以FIFO的方式放入相应的队列。轮询调度器以轮询的方式逐个服务非空的积压队列。信道状态检测器/预估器利用无线发送器发送数据的当前和历史情况来判断当前信道所处的状态,信道状态信息反馈到轮询调度器为调度器提供必要的信道信息。调度器服务队列时,首先利用信道状态检测器/预估器提供的当前队列所处信道的信息决定当前队列数据发送额度的大小,然后从队列的头取出分组,如果该分组满足调度条件则分组被发送到无线发送器上完成分组的传输。调度器完成一个队列的服务后,转向服务下一个队列。As shown in Figure 1, the scheduling method shown in the present invention is located in the access point (AP) or base station of the wireless communication system, and is used to schedule the packets transmitted from the AP or base station to the mobile terminal, so as to meet the fairness of the site, time Delay and other QoS indicators. Assuming that there are N mobile stations accessing the system, corresponding N queues are maintained for the N stations in the scheduler. The data source transmitted to the terminal first passes through the classifier. The function of the classifier is to classify the data transmitted to different mobile stations, and then put the data into corresponding queues in FIFO mode. The round-robin scheduler services non-empty backlog queues one by one in a round-robin fashion. The channel state detector/estimator uses the current and historical data sent by the wireless transmitter to judge the state of the current channel, and the channel state information is fed back to the polling scheduler to provide the scheduler with necessary channel information. When the scheduler serves the queue, it first uses the information of the channel where the current queue is located provided by the channel state detector/estimator to determine the size of the current queue data sending quota, and then takes out the packet from the head of the queue, and if the packet meets the scheduling condition, the packet will be is sent to the wireless transmitter to complete the transmission of the packet. After the scheduler finishes servicing one queue, it moves on to serving the next queue.
图2表示了本发明提出的分组调度方法具体实施时的流程图。通过流程图可以看出本发明可以通过10个步骤完成分组的调度工作。FIG. 2 shows a flow chart of the specific implementation of the packet scheduling method proposed by the present invention. It can be seen from the flow chart that the present invention can complete group scheduling through 10 steps.
步骤1:step 1:
如图2所示,在步骤1完成系统的初始化。为接入系统的每个移动站点分配相对应的队列;根据各站点的QoS要求确定每个队列对应的变量,具体为分配发送额度Qi、Qi k、令DCi=0,lagi=0;根据系统环境确定补偿系数μ、信道状态函数f(k)(这里确定函数
步骤2:Step 2:
在步骤2调度器开始工作,从轮询链表A的头中取出某个队列i的索引,用以确定当前所要服务的队列。In step 2, the scheduler starts to work, and takes out the index of a certain queue i from the head of the polling list A to determine the current queue to be served.
步骤3:Step 3:
在步骤3中为由步骤2确定的队列分配发送额度并调整相应队列的超前/滞后量。额度的分配是本发明中相对比较复杂的部分,为了更清楚的对本步骤的实施进行说明,额度分配的流程图表示在图3中,上接图2步骤2。在图3中用3个方框表示了当队列i分别处于3种不同信道状态下的额度分配情况,即处于最优信道(具有最高的信道速率,步骤301至305)、最差信道状态(信道坏无法发送数据,步骤306至311)和中间信道状态(信道速率位于最大和最小之间,步骤312至318)。In
步骤301:Step 301:
判断当前队列i对应的信道状态是否为最优,如果是则转步骤302,否则转步骤306。Judging whether the channel state corresponding to the current queue i is optimal, if yes, go to step 302, otherwise go to step 306.
步骤302:Step 302:
判断当前队列是否处于滞后或同步状态,即根据lagi的值来确定队列状态,如果lagi>0则表示队列滞后,如果lagi=0则表示队列同步。如果i滞后或同步则转步骤304,否则转步骤303。Judging whether the current queue is in a lagging or synchronous state, that is, determining the queue state according to the value of lag i , if lag i > 0, it means the queue is lagging, and if lag i = 0, it means the queue is synchronous. If i is lagging or synchronous, go to step 304, otherwise go to step 303.
步骤303:Step 303:
判断当前积压队列中是否存在处于最优信道且滞后的队列j,如果存在则转步骤305,否则转步骤304。进入本步骤表明队列i处于超前状态,如果在系统中存在处于最优信道的滞后的流要对其进行补偿,队列i要释放部分超前量补偿滞后的队列。Judging whether there is a lagging queue j in the optimal channel in the current backlog queue, if yes, go to step 305, otherwise go to step 304. Entering this step indicates that the queue i is in the leading state. If there is a lagging flow in the optimal channel in the system, it needs to be compensated, and the queue i needs to release part of the leading queue to compensate the lagging queue.
步骤304:Step 304:
为当前队列i分配发送额度Qi,然后转图2步骤4。Allocate the sending quota Q i for the current queue i, and then go to
步骤305:Step 305:
由于队列i处于超前状态且系统中存在处于最优信道的滞后队列j,队列i释放min[(1-μ)Qi,|lagi|]的超前量,lagi和lagj的值按公式1调整,队列i得到μQi的发送额度,保证了i的良好的降级性能,然后转图2步骤4。Since the queue i is in the leading state and there is a lagging queue j in the optimal channel in the system, the queue i releases the leading amount of min[(1-μ)Q i , |lag i |], and the values of lag i and lag j are given by the
步骤306:Step 306:
判断当前队列i所处的信道是否为最差信道,如果是则转307,否则转312。当处于最差信道时本队列内的数据不能得到服务,只能将额度分配给其他队列。补偿按照滞后、同步、超前的优先顺序进行。Judging whether the channel where the current queue i is located is the worst channel, if so, go to 307, otherwise go to 312. When in the worst channel, the data in this queue cannot be served, and the quota can only be allocated to other queues. Compensation is performed in the priority order of lagging, synchronizing, and leading.
步骤307:Step 307:
判断系统中是否存在处于最优信道且滞后的队列j,如果存在则转310,否则转308。如果存在多个滞后队列则按照超前/滞后量lagj的大小优先选择滞后量大的队列j。Judging whether there is an optimal channel and delayed queue j in the system, if so, go to 310 , otherwise go to 308 . If there are multiple lagging queues, the queue j with the largest lagging amount is preferentially selected according to the size of the leading/lagging amount lag j .
步骤308:Step 308:
判断系统中是否存在处于最优信道且同步的队列j,如果存在则转310,否则转309。Determine whether there is an optimal channel and synchronized queue j in the system, if yes, go to 310, otherwise go to 309.
步骤309:Step 309:
判断系统中是否存在处于最优信道且超前的队列j,如果存在则转310,否则转311。如果存在多个超前队列则按照超前/滞后量lagj的大小优先选择超前量小的队列j(注意:当队列超前时,lagj<0)。Judging whether there is an advanced queue j in the optimal channel in the system, if yes, go to 310, otherwise go to 311. If there are multiple leading queues, the queue j with a small leading amount is preferentially selected according to the leading/lagging amount lag j (note: when the queue is leading, lag j <0).
步骤310:Step 310:
由于队列i处于最差信道在本轮不能传输数据,所以把本轮的发送额度分配给队列j,并按照公式2调整变量,然后转图2步骤4。Since queue i is in the worst channel and cannot transmit data in this round, allocate the sending quota of this round to queue j, adjust the variable according to formula 2, and then go to
步骤311:Step 311:
进入本步骤表明系统中不存在处于最优信道的队列,所以发送额度被浪费,没有任何队列得到发送额度,然后转图2步骤4。Entering this step indicates that there is no queue in the optimal channel in the system, so the sending quota is wasted, and no queue gets sending quota, and then go to
步骤312:Step 312:
判断i的队列状态是否为滞后或同步,如果是转步骤314,否则转313。进入本步骤表明队列i处于中间信道状态,信道速率没有达到最大值,要对该队列进行惩罚。Determine whether the queue status of i is lagging or synchronous, if yes go to step 314, otherwise go to step 313. Entering this step indicates that the queue i is in the middle channel state, and the channel rate has not reached the maximum value, and the queue should be punished.
步骤313:Step 313:
进入本步骤表明队列i为超前队列,要释放部分超前量。判断系统中是否存在处于最优信道的滞后队列j,如果存在转305,否则转步骤315。Entering this step indicates that queue i is an advanced queue, and part of the advanced amount needs to be released. Judging whether there is a delay queue j in the optimal channel in the system, if there is, go to 305 , otherwise go to step 315 .
步骤314:Step 314:
为队列i分配额度Qi k,其中
步骤315:Step 315:
判断系统中是否存在处于最优信道的同步或超前的队列j,如果存在则转步骤317,否则转311。当存在处于最优信道的队列时,补偿的优先顺序为先同步后超前。Judging whether there is a synchronous or advanced queue j in the optimal channel in the system, if yes, go to step 317, otherwise go to step 311. When there is a queue in the optimal channel, the priority order of compensation is synchronization first and then advance.
步骤316:Step 316:
判断系统中是否存在处于最优信道的的滞后、同步、超前流,如果存在转步骤318,否则转311。在本步骤中,队列j的选择顺序是,优先选择滞后重大的队列,然后是同步的队列,其次才是具有最小超前量的队列。Judging whether there are lagging, synchronous, and leading streams in the optimal channel in the system, if there is, go to step 318; otherwise, go to step 311. In this step, the selection order of the queue j is that the queue with a large lag is selected first, then the synchronized queue, and then the queue with the smallest lead.
步骤317:Step 317:
为队列i分配额度Qi k,其中
步骤318:Step 318:
进入本步骤表明系统中有队列i释放了部分发送额度且有队列j可以得到补偿。为队列j分配(Qi-Qi k)额度,并按照公式3调整超前/滞后量。然后转图2步骤4。Entering this step indicates that there is a queue i in the system that has released part of the sending quota and that there is a queue j that can be compensated. Allocate (Q i -Q i k ) quota for queue j, and adjust the lead/lag amount according to
步骤4:Step 4:
本步骤完成差额计数器的调整工作,在对队列i的一次服务中所能发送数据的多少取决于差额计数器DCi的值。这里不只完成队列i对应的差额计数器的调整,还包括由图3中确定的补偿队列j的差额计数器的调整。调整原则是把为队列分配的发送额度累加到差额计数器上去,即DCi=DCi+Q′i,DCj=DCj+Q′j。这里Q′i和Q′j有三个来源,具体可参照图3。这三个来源为:(1)为队列分配的Qi或者Qi k;(2)其他队列释放的发送额度(Qi-Qi k);(3)由本队列lagi释放的额度(本队列超前,释放μQi)。本步骤完成后转步骤5。This step completes the adjustment of the difference counter, and the amount of data that can be sent in one service to queue i depends on the value of the difference counter DC i . Here, not only the adjustment of the balance counter corresponding to the queue i is completed, but also the adjustment of the balance counter of the compensation queue j determined in FIG. 3 is included. The adjustment principle is to add the sending quota allocated for the queue to the balance counter, that is, DC i =DC i +Q' i , DC j =DC j +Q' j . There are three sources of Q′ i and Q′ j here, see Figure 3 for details. These three sources are: (1) Q i or Q i k allocated for the queue; (2) sending quota (Q i -Q i k ) released by other queues; (3) quota released by this queue lag i (this Queue advances, releasing μQ i ). Go to step 5 after this step is completed.
步骤5:Step 5:
取队列i的头分组,并计算该分组的长度Li P,然后转步骤6。计算分组的长度是要和本队列的差额计数器进行比较以确定是否发送该分组。Take the header group of queue i, and calculate the length L i P of the group, and then go to step 6. The calculation of the length of the packet is to compare with the balance counter of this queue to determine whether to send the packet.
步骤6:Step 6:
比较Li P和差额计数器DCi的大小,如果
步骤7:Step 7:
发送分组。这里指调度器服务该分组,把分组交给无线发送器发送到信道上。Send packets. Here it means that the scheduler serves the packet and hands the packet to the wireless transmitter to send on the channel.
步骤8:Step 8:
判断当前队列是否空,如果空则转步骤9,否则转步骤5,表示调度器可以尝试服务本队列的下一个分组。Determine whether the current queue is empty, if it is empty, go to step 9, otherwise go to
步骤9:Step 9:
进入本步骤表明当前队列i在得到服务后变成空队列,不再积压,下一轮不用在轮询该队列了,所以把队列i对应的索引从轮询链表A中删除。当队列i的lagi≠0时,为了保证系统中
步骤10:Step 10:
把队列i对应的索引添加到轮询链表的尾部。进入本步骤表明队列i用尽其本轮发送额度后仍然积压,需要在下一轮继续轮询。Add the index corresponding to queue i to the end of the polling list. Entering this step indicates that queue i still has a backlog after exhausting its sending quota for this round, and needs to continue polling in the next round.
本发明的实施例按图2的流程图所示步骤重复工作,直到轮询链表空为止,即系统中没有数据要发送。The embodiment of the present invention repeats the work according to the steps shown in the flowchart of FIG. 2 until the polling linked list is empty, that is, there is no data to be sent in the system.
Claims (5)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2006100240797A CN100389580C (en) | 2006-02-23 | 2006-02-23 | Network packet scheduling method applicable to wireless high-speed adaptive channels |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2006100240797A CN100389580C (en) | 2006-02-23 | 2006-02-23 | Network packet scheduling method applicable to wireless high-speed adaptive channels |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1809034A CN1809034A (en) | 2006-07-26 |
CN100389580C true CN100389580C (en) | 2008-05-21 |
Family
ID=36840727
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2006100240797A Expired - Fee Related CN100389580C (en) | 2006-02-23 | 2006-02-23 | Network packet scheduling method applicable to wireless high-speed adaptive channels |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100389580C (en) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101242341B (en) * | 2007-02-07 | 2015-07-29 | 华为技术有限公司 | A kind of method for dispatching message and device |
GB2452913B (en) * | 2007-09-18 | 2011-06-15 | Virtensys Ltd | Queuing method |
CN101971578B (en) * | 2007-12-28 | 2014-07-30 | 茨特里克斯系统公司 | Tcp packet spacing |
CN102340453B (en) * | 2011-10-31 | 2014-01-15 | 航天恒星科技有限公司 | A Scheduling Method for Variable Length Data Stream |
CN105915468B (en) * | 2016-06-17 | 2019-03-29 | 北京邮电大学 | A kind of dispatching method and device of business |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1290092A (en) * | 2000-11-03 | 2001-04-04 | 国家数字交换系统工程技术研究中心 | Queue state-based schedule method for length-variable packets by accumulated compensation and cyclic polling |
WO2005048614A1 (en) * | 2003-11-14 | 2005-05-26 | Zte Corporation | A packet scheduling method for wireless communication system |
US20050197162A1 (en) * | 2004-03-03 | 2005-09-08 | Kenzaburo Fujishima | Radio communication apparatus and packet scheduling method |
CN1669280A (en) * | 2002-06-26 | 2005-09-14 | 诺基亚公司 | Programmable Scheduling for IP Routers |
-
2006
- 2006-02-23 CN CNB2006100240797A patent/CN100389580C/en not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1290092A (en) * | 2000-11-03 | 2001-04-04 | 国家数字交换系统工程技术研究中心 | Queue state-based schedule method for length-variable packets by accumulated compensation and cyclic polling |
CN1669280A (en) * | 2002-06-26 | 2005-09-14 | 诺基亚公司 | Programmable Scheduling for IP Routers |
WO2005048614A1 (en) * | 2003-11-14 | 2005-05-26 | Zte Corporation | A packet scheduling method for wireless communication system |
US20050197162A1 (en) * | 2004-03-03 | 2005-09-08 | Kenzaburo Fujishima | Radio communication apparatus and packet scheduling method |
Non-Patent Citations (6)
Title |
---|
一种CDMA蜂窝网中业务相关的公平调度算法. 廖丹,李乐民.电子科技大学学报,第34卷第6期. 2005 |
一种CDMA蜂窝网中业务相关的公平调度算法. 廖丹,李乐民.电子科技大学学报,第34卷第6期. 2005 * |
无线网络中的分组调度算法. 宋舰,李乐民.通信学报,第24卷第3期. 2003 |
无线网络中的分组调度算法. 宋舰,李乐民.通信学报,第24卷第3期. 2003 * |
集成服务网络中具有QoS支持的分组公平调度算法的研究与实现. 张伟,全文. 2004 |
集成服务网络中具有QoS支持的分组公平调度算法的研究与实现. 张伟,全文. 2004 * |
Also Published As
Publication number | Publication date |
---|---|
CN1809034A (en) | 2006-07-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10523458B2 (en) | Multicast to unicast conversion technique | |
CN101964758A (en) | Differentiated service-based queue scheduling method | |
Nisar et al. | A comprehensive survey on scheduler for VoIP over WLAN | |
CN101621457A (en) | Multi-service scheduling method and system | |
CN102448147A (en) | Wireless service access method and device | |
US6920120B2 (en) | System and method of scheduling radio resources in a wireless communications network | |
CN112714417B (en) | Cellular Internet of vehicles C-V2X service flow control method | |
CN101286949A (en) | MAC Layer Resource Scheduling Strategy of Wireless Mesh Network Based on IEEE802.16d Standard | |
CN111371701B (en) | MAC layer queue scheduling method based on TDMA | |
CN110808920A (en) | A satellite communication flow control method with coexistence of CCSDS frame and IP message | |
CN100389580C (en) | Network packet scheduling method applicable to wireless high-speed adaptive channels | |
CN109728927A (en) | Delay optimization method, service scheduling method and storage medium | |
CN101272349B (en) | Priority level analog queue control method and device of quality service | |
CN100459582C (en) | Group dispatching and channel distributing method for HSDPA system | |
CN101808324B (en) | MAC layer architecture design of wireless Mesh network | |
CN103442446A (en) | Dynamic and semi-static combined dispatching method in LTE system | |
CN115915149A (en) | 5G-TSN fusion network resource allocation method based on weighted polling scheduling | |
CN1972462A (en) | Packet service scheduling method in mobile communication system | |
CN103200682B (en) | A kind of based on the cross-layer resource allocation method in limited queue situation | |
CN101848494B (en) | Dispatching method of real-time business and device thereof | |
CN100525245C (en) | Device and method for multi-service grouping data dispatching | |
Soni et al. | Integrating offset in worst case delay analysis of switched ethernet network with deficit round robbin | |
CN107277932B (en) | A method for user scheduling in a multi-user MIMO system | |
CN103533579B (en) | The scheduling processing method and dispatch server of data flow in streaming media service | |
CN102547992B (en) | Hybrid signaling data transmission method based on orthogonal frequency-division multi-access system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20080521 Termination date: 20110223 |