CN100579060C - Method and apparatus for controlling admission in a communication system supporting IP applications - Google Patents
Method and apparatus for controlling admission in a communication system supporting IP applications Download PDFInfo
- Publication number
- CN100579060C CN100579060C CN200480010998A CN200480010998A CN100579060C CN 100579060 C CN100579060 C CN 100579060C CN 200480010998 A CN200480010998 A CN 200480010998A CN 200480010998 A CN200480010998 A CN 200480010998A CN 100579060 C CN100579060 C CN 100579060C
- Authority
- CN
- China
- Prior art keywords
- qos
- flow
- rate
- application process
- communication system
- 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
Images
Landscapes
- Mobile Radio Communication Systems (AREA)
- Telephonic Communication Services (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
根据35U.S.C.§119的优先权要求Priority claims under 35 U.S.C. §119
本专利申请要求转让给本发明受让人的于2003年3月17日提交的题为“System for Allocating Resources in a Communication System”的临时专利申请第60/455,906号的优先权,并因此这儿并入作参考。This patent application claims priority to Provisional Patent Application No. 60/455,906, filed March 17, 2003, entitled "System for Allocating Resources in a Communication System," assigned to the assignee of the present invention, and is therefore not hereby Enter for reference.
背景background
1.发明领域:1. Field of invention:
本发明涉及通信系统。特别地,这些实施例是针对在一个通信系统的多个用户之间分配通信资源。The present invention relates to communication systems. In particular, the embodiments are directed to allocating communication resources among users of a communication system.
2.有关技术:2. Related technologies:
已经给出了若干方案来解决在多个用户之间对通信系统中的单个节点所提供的有限通信资源进行分配的问题。此类系统的一个目标是在各个节点处提供足够的资源,以满足所有用户的需求并同时将成本最小化。由此,通常是以在各用户之间有效分配资源的目标来设计此类系统。Several solutions have been proposed to solve the problem of allocating the limited communication resources provided by a single node in a communication system among multiple users. One goal of such systems is to provide sufficient resources at each node to satisfy the needs of all users while minimizing cost. Thus, such systems are typically designed with the goal of efficiently allocating resources among users.
各种系统已经实现频分多址(FDMA)方案,该方案将资源并发地分配给每一个用户。此类系统中的通信节点通常在任何时间点向网络中的每个用户发送信息或从每个用户接收信息的带宽都是有限的。此方案通常涉及将总带宽的不同部分分配给单个用户。尽管对于用户要求与通信节点有不受干扰的通信的系统来说,这一方案可能是有效的,但是当此类持续的、不受干扰的通信并非必须时,对总带宽更好的利用是可以实现的。Various systems have implemented Frequency Division Multiple Access (FDMA) schemes that allocate resources to each user concurrently. Communication nodes in such systems typically have limited bandwidth to send information to or receive information from each user in the network at any point in time. This scenario usually involves allocating different parts of the total bandwidth to individual users. While this scheme may be effective for systems where users require uninterrupted communication with communicating nodes, when such continuous, uninterrupted communication is not necessary, better utilization of the overall bandwidth is achievable.
其它在多个用户之间分配单个通信节点的通信资源的方案包括时分多址(TDMA)方案。在用户不要求与单个通信节点有持续的、不受干扰的通信的情况下,这些TDMA方案于在多个用户之间分配单个通信节点的有限带宽资源时特别有效。TDMA方案通常按指定的时间间隔,使单个通信节点的全部带宽专供每一个用户使用。在使用码分多址(CDMA)方案的无线通信系统中,这可通过在时分复用基础上,按指定的时间间隔将所有代码信道分配给每一个用户来实现。通信节点实现与用户相关联的唯一的载波频率或通道代码以允许与该用户进行专有通信。TDMA方案还可使用物理接触中继交换或分组交换在陆线系统中实现。Other schemes for allocating the communication resources of a single communication node among multiple users include Time Division Multiple Access (TDMA) schemes. These TDMA schemes are particularly effective at allocating the limited bandwidth resources of a single communication node among multiple users where the users do not require continuous, undisturbed communication with the single communication node. The TDMA scheme usually makes the entire bandwidth of a single communication node dedicated to each user at specified time intervals. In a wireless communication system using a code division multiple access (CDMA) scheme, this can be achieved by allocating all code channels to each user at specified time intervals on a time division multiplex basis. A communication node implements a unique carrier frequency or channel code associated with a user to allow exclusive communication with that user. TDMA schemes can also be implemented in landline systems using physical contact relay switching or packet switching.
TDMA系统通常以循环方式将相等的时间间隔分配给每个用户。这可能导致某些用户对某些时间间隔的不充分利用。类似地,其它用户可能有超过所分配时间间隔的对通信资源的需求,使得这些用户不能得到满足。系统操作员可选择负担增加节点带宽的成本以确保没有用户得不到满足,或者允许得不到满足的用户继续保持得不到满足的状态。TDMA systems typically assign equal time intervals to each user in a round-robin fashion. This may lead to underutilization of certain time intervals by some users. Similarly, other users may have demands for communication resources that exceed the allotted time interval, such that these users cannot be satisfied. System operators can choose to incur the cost of increasing node bandwidth to ensure that no users are unsatisfied, or to allow unsatisfied users to remain unsatisfied.
由此,需要提供一种根据一种在用户之间分配通信资源的网络策略,在通信网络的用户之间有效和公平地分配通信资源的系统和方法。与之一致的是,需要将系统所服务的用户数量最大化,包括,但不限于,提供各种响应于系统的具体要求、限制、和/或目标,在每条流程的基础上和/或在合计的基础上进行资源分配的机制。此外还需要将资源分配最优化的允许进入控制和先占方法。Accordingly, there is a need to provide a system and method for efficiently and fairly allocating communication resources among users of a communication network according to a network policy for allocating communication resources among users. Consistent with this, there is a need to maximize the number of users served by the system, including, but not limited to, providing a variety of responses to the specific requirements, constraints, and/or goals of the system, on a per-process basis and/or A mechanism for resource allocation on an aggregate basis. There is also a need for admission control and preemption methods that optimize resource allocation.
附图简述Brief description of the drawings
图1示出根据本发明的一个实施例的一种通信网络。Fig. 1 shows a communication network according to an embodiment of the present invention.
图2A示出根据本发明的一个实施例配置的基站控制器和基站设备的框图。Figure 2A shows a block diagram of a base station controller and base station equipment configured in accordance with one embodiment of the present invention.
图2B示出根据本发明的一个实施例配置的远程站设备的框图。Figure 2B shows a block diagram of a remote station device configured in accordance with one embodiment of the present invention.
图3示出在图2A所示的信道调度器的实施例中执行一种调度算法的流程图。Fig. 3 shows a flowchart of a scheduling algorithm implemented in the embodiment of the channel scheduler shown in Fig. 2A.
图4是一种支持多媒体应用程序的通信系统,其中每个应用程序通信由一个应用程序流程表示。Figure 4 is a communication system supporting multimedia applications, where each application communication is represented by an application flow.
图5是一个应用程序流程队列。Figure 5 is an application process queue.
图6是一张时序图,描述一个应用程序流程的一部分的信号定时。Figure 6 is a timing diagram depicting signal timing for part of an application flow.
图7A是一张时序图,描述对一个应用程序流程的抖动测量。Figure 7A is a timing diagram depicting jitter measurements for an application flow.
图7B是一张时序图,描述为处理一个应用程序流程,在若干时隙期间发送连续的IP分组。Fig. 7B is a timing diagram depicting the flow of processing an application, sending successive IP packets during several time slots.
图8是一张流程图,描述在一种通信系统中对若干应用程序流程进行调度。Fig. 8 is a flowchart depicting the scheduling of several application processes in a communication system.
图9是一张流程图,描述对若干具有不同服务质量(QoS)要求的应用程序流程进行调度。Figure 9 is a flow chart depicting the scheduling of several application processes with different Quality of Service (QoS) requirements.
图10是一张根据一个实施例的体系结构图,示出应用程序流程与一种调度算法一致的每个应用程序流程的定义。Figure 10 is an architectural diagram showing the definition of each application process in accordance with a scheduling algorithm, according to one embodiment.
图11是根据一个实施例识别分类的类型的表。Figure 11 is a table identifying types of classifications, according to one embodiment.
图12A描述根据一个实施例的一种调度算法的一部分,包括对应用程序流程的初始化。Figure 12A depicts a portion of a scheduling algorithm, including initialization of the application process, according to one embodiment.
图12B描述根据一个实施例的一种调度算法的一部分,包括根据类的类型对应用程序流程的处理。Figure 12B depicts a portion of a scheduling algorithm, including processing of application processes according to class type, according to one embodiment.
图12C描述根据一个实施例的一种调度算法的一部分,包括对模式I的应用程序流程的处理、对模式II的应用程序流程的处理和对模式III的应用程序流程的处理。Figure 12C depicts a portion of a scheduling algorithm, including processing of Mode I application flows, processing of Mode II application flows, and processing of Mode III application flows, according to one embodiment.
图12D描述根据一个实施例的一种调度算法的一部分,包括对模式I的应用程序流程的处理。Figure 12D depicts a portion of a scheduling algorithm, including processing for Mode I application flows, according to one embodiment.
图12E描述根据一个实施例的一种调度算法的一部分,包括自适应加权和以其为基础的调度。Figure 12E depicts a portion of a scheduling algorithm, including adaptive weights and scheduling based thereon, according to one embodiment.
图13示出一种基站收发器系统(BTS),用于在无线通信系统中实现一种用自适应加权算法来调度应用程序流程的算法。Fig. 13 shows a base transceiver system (BTS) for implementing an algorithm for scheduling application program flows using an adaptive weighting algorithm in a wireless communication system.
图14是一张时序图,测绘诸如数据率(LMAX)、保留资源(Res(t))、和可用资源(Avail(t))等最大资源作为时间的函数。Figure 14 is a timing diagram plotting maximum resources such as data rate (L MAX ), reserved resources (Res(t)), and available resources (Avail(t)) as a function of time.
图15是一张时序图,测绘从高速率分组数据类型系统中的用户接收到的数据请求、和在时间t要保留的估算能力L(t)作为时间的函数。Figure 15 is a timing diagram plotting data requests received from users in a high rate packet data type system and the estimated capacity L(t) to be reserved at time t as a function of time.
图16是一张信息流程图,描述用于支持多个具有服务质量(QoS)要求的应用程序流程的高速率分组数据类型系统的调度器,其中这些流程是应用每条流程的补偿来调度的。Figure 16 is an information flow diagram depicting a scheduler for a high-rate packet data type system supporting multiple application flows with quality of service (QoS) requirements, where the flows are scheduled applying per-flow offsets .
图17是一张信息流程图,描述用于支持多个具有服务质量(QoS)要求的应用程序流程的高速率分组数据类型系统的调度器,其中这些流程是应用合计补偿来调度的。Figure 17 is an information flow diagram depicting a scheduler for a high rate packet data type system supporting multiple application processes with quality of service (QoS) requirements, where the processes are scheduled using aggregate offsets.
图18A到18E示出一种在支持多个具有服务质量(QoS)要求的应用程序流程的高速率分组数据类型系统中进行允许进入控制的算法。18A to 18E illustrate an algorithm for admission control in a high rate packet data type system supporting multiple application flows with quality of service (QoS) requirements.
图19示出一种在支持多个具有服务质量(QoS)要求的应用程序流程的高速率分组数据类型系统中进行先占的算法。Figure 19 shows an algorithm for preemption in a high rate packet data type system supporting multiple application flows with quality of service (QoS) requirements.
图20是支持多个具有服务质量(QoS)要求的应用程序流程的高速率分组数据类型系统中的一种接入网络(AN)的框图。Figure 20 is a block diagram of an access network (AN) in a high rate packet data type system supporting multiple application flows with quality of service (QoS) requirements.
具体描述specific description
本发明的各个实施例针对于一种在通信网络中由单个通信节点服务的多个用户之间分配资源的系统和设备。在单独的离散的传输间隔,或称“服务间隔”,单个用户排斥所有其它用户地占用通信节点的有限资源。基于与单个用户相关联的权值或得分,单个用户被选择以占用该有限资源。较佳的是,对与单个用户相关联的权值的改变是基于该单个用户能够消耗该有限资源的瞬时速率。Various embodiments of the invention are directed to a system and apparatus for allocating resources among multiple users served by a single communication node in a communication network. During individual discrete transmission intervals, or "service intervals," a single user occupies the limited resources of a communication node to the exclusion of all other users. Individual users are selected to occupy the limited resource based on weights or scores associated with the individual users. Preferably, changes to weights associated with an individual user are based on the instantaneous rate at which the individual user is able to consume the finite resource.
参考附图,图1表示一种示例性的可变速率的通信系统。一个此类系统在转让给Qualcomm有限公司的于1997年11月3日提交的题为“Method and Apparatusfor High Rate Packet Data Transmission”(高速率分组数据传输的方法和设备)的美国专利申请第08/963,386号(现为2003年6月3日公告的美国专利第6574211号)中描述,且这儿并入作为参考。可变速率通信系统包括多个单元2A-2G。每个单元2由一个对应的基站4服务。各个远程站分布遍及该通信系统。在该示例性实施例中,每个远程站6都以任意的数据传输间隔在前向链路上与至多一个基站4通信。例如,在时隙n在前向链路上,基站4A排他地向远程站6A传输数据,基站4B排他地向远程站6B传输数据,而基站4C排他地向远程站6C发送数据。如图1所示,较佳的是每个基站4在任意给定时刻向一个远程站6传输数据。在其它实施例中,基站4可在特定数据传输间隔与一个以上远程站6通信,同时排斥与基站4相关联的所有其它远程站6。此外,数据率是可变的,在一个实施例中,数据率是取决于接收远程站6所测得的载波干扰比(C/I),和要求的每比特能量噪声比(Eb/N0)。为简化起见,图1中未示出从远程站6到基站4的后向链路。根据一个实施例,远程站6是具有由无线数据服务用户操作的无线收发器的移动单元。Referring to the drawings, Figure 1 shows an exemplary variable rate communication system. One such system is described in U.S. Patent Application No. 08/11, filed November 3, 1997, entitled "Method and Apparatus for High Rate Packet Data Transmission," assigned to Qualcomm Incorporated. 963,386 (now US Patent No. 6,574,211 issued June 3, 2003), and incorporated herein by reference. The variable rate communication system includes a plurality of units 2A-2G. Each
示出一种示例性可变速率通信系统的基本子系统的框图在图2A-2B中示出。基站控制器10与分组网络接口24、公共交换电话网络(PSTN)30、和通信系统中的所有基站4(为简化起见,图2中仅示出一个基站4)相接。基站控制器10协调通信网络中的远程站6与连接到分组网络接口24和PSTN 30的其它用户之间的通信。PSTN 30通过标准电话网络(图2中未示出)与用户相接。Block diagrams illustrating the basic subsystems of an exemplary variable rate communication system are shown in Figures 2A-2B. The base station controller 10 interfaces with the packet network interface 24, the public switched telephone network (PSTN) 30, and all base stations 4 (only one
基站控制器10包含许多选择器元件14,尽管为简化起见,图2A中仅示出一个。每个选择器元件14都被指派以控制一个或多个基站4和一个远程站6之间的通信。如果选择器元件14未被指派给远程站6,则通知呼叫控制处理器16有寻呼远程站6的需要。呼叫控制处理器16随即指派基站4来寻呼远程站6。The base station controller 10 contains a number of selector elements 14, although for simplicity only one is shown in Figure 2A. Each selector element 14 is assigned to control communications between one or
数据源20包含要传输到远程站6的大量数据。数据源20将数据提供给分组网络接口24。分组网络接口24接收数据,并将数据发送到选择器元件14。选择器元件14将数据传输到每个与远程站6通信的基站4。在该示例性实施例中,每个基站4都维护一个数据队列40,它存储要传输到远程站6的数据。Data source 20 contains a large amount of data to be transmitted to remote station 6 . Data source 20 provides data to packet network interface 24 . Packet network interface 24 receives data and sends the data to selector element 14 . The selector element 14 transmits data to each
数据是以数据分组的形式从数据队列40传输到信道元件42。在该示例性实施例中,在前向链路上,“数据分组”指一定量的数据,它最多是1024位,并且要在一个“时隙”(诸如≈1.667毫秒)之内传输到目标远程站6。对于每个数据分组,信道元件42插入必需的控制字段。在该示例性实施例中,信道元件42将数据分组和控制字段进行CRC编码,并插入一组代码尾位。数据分组、控制字段、CRC奇偶校验位、和代码尾位组成格式化的分组。在该示例性实施例中,信道元件42随即对已格式化的分组进行编码,并将已编码的分组内的符号交错(或重新排序)。在该示例性实施例中,用Walsh代码覆盖交错处理分组、并用短PNI和PNQ代码对经交错处理的分组进行扩展。已扩展的数据被提供给RF单元44,它对信号进行正交调制、过滤和放大。前向链路信号是通过前向链路50上的天线46在空气中传输。Data is transferred from data queue 40 to channel element 42 in the form of data packets. In the exemplary embodiment, on the forward link, a "data packet" refers to a certain amount of data, which is at most 1024 bits, and is to be transmitted to the destination within one "slot" (such as ≈1.667 milliseconds) remote station6. For each data packet, channel element 42 inserts the necessary control fields. In the exemplary embodiment, channel element 42 CRC-encodes the data packet and control fields and inserts a set of code tail bits. Data packets, control fields, CRC parity bits, and code tail bits make up a formatted packet. In the exemplary embodiment, channel element 42 then encodes the formatted packet and interleaves (or reorders) the symbols within the encoded packet. In this exemplary embodiment, the interleaved packets are covered with Walsh codes and the interleaved packets are spread with short PNI and PNQ codes. The spread data is provided to RF unit 44 which quadrature modulates, filters and amplifies the signal. Forward link signals are transmitted through the air via antenna 46 on forward link 50 .
在远程站6,前向链路信号由天线60接收并发送到前端62内部的接收机。接收机对信号进行过滤、放大、正交解调和量化。数字化的信号被提供给解调器(DEMOD)64,在该处用短PNI和PNQ代码去扩展,并用Walsh代码去覆盖。已解调的数据被提供给解码器66,它执行在基站4处所作的信号处理功能的逆转功能,具体而言是去交错、解码、和CRC校验功能。已解码的数据被提供给数据接收机68。At remote station 6 , the forward link signal is received by
如以上所指出的硬件支持在前向链路上对数据、消息通信、语音、视频和其它通信进行可变速率的传输。从数据队列40传输的数据的速率变动以适应远程站6处的信号强度和噪音环境的变化。较佳的是,每个远程站6在每个时隙都向相关联的基站4传输一个数据率控制(DRC)信号。DRC指一种控制机制,远程站通过这种机制为前向链路确定合乎需要的数据率,即,在远程站处接收数据的数据率。远程站经由DRC消息,向基站发送如同数据率请求或指令的期望数据率。DRC信号向基站4提供信息,包括远程站6的身份,和该远程站要从其相关联的数据队列接收数据的速率。由此,远程站6处的电路测量信号强度并估计远程站6处的噪音环境,以确定要在DRC信号中传输的速率信息。The hardware as noted above supports variable rate transmission of data, messaging, voice, video and other communications on the forward link. The rate of data transmission from data queue 40 varies to accommodate changes in signal strength and noise environment at remote station 6 . Preferably, each remote station 6 transmits a data rate control (DRC) signal to the associated
每个远程站6所传输的DRC信号沿着后向链路信道52行进,并在基站4处通过天线46和RF单元44被接收。在该示例性实施例中,DRC信息在信道元件42中被解调,并被提供给位于基站控制器10中的信道调度器12A,或提供给位于基站4中的信道调度器12B。在第一示例性实施例中,信道调度器12B位于基站4中。在替换实施例中,信道调度器12A位于基站控制器10中,并连接到该基站控制器10内部的所有选择器元件14。The DRC signal transmitted by each remote station 6 travels along the
在一个实施例中,信道调度器12B从数据队列40接收指示为每个远程站所排队的数据量(亦称队列大小)的信息。信道调度器12B随即基于DRC信息和基站4所服务的每个远程站的队列大小进行调度。如果在替换实施例中使用的调度算法请求队列大小,则信道调度器12A可从选择器元件14接收队列大小的信息。In one embodiment, channel scheduler 12B receives information from data queue 40 indicating the amount of data queued for each remote station (also known as the queue size). The channel scheduler 12B then schedules based on the DRC information and the queue size of each remote station served by the
本发明的各个实施例适用于可能支持可变速率传输的其它硬件体系结构。可以很容易地扩展本发明以覆盖后向链路上的可变速率传输。例如,基站4不是基于来自远程站6的DRC信号来确定基站4处接收数据的速率,而是测量从远程站6所接收的信号的强度并估计噪音环境以确定从远程站6接收数据的速率。基站4随即向每个相关联的远程站6传输要从远程站6出发在后向链路中传输的数据的速率。基站4随即可以类似本文中就前向链路所描述的方式,基于后向链路上不同的数据率来对后向链路上的传输进行调度。Various embodiments of the invention are applicable to other hardware architectures that may support variable rate transmission. The invention can be easily extended to cover variable rate transmissions on the backward link. For example, instead of determining the rate at which data is received at
同样,以上所讨论的实施例的基站4用CDMA方案,向所选择的一个或数个远程站进行传输,同时排斥与该基站4相关联的其余远程站。在任何特定时间,基站4通过使用一种分配给该接收基站4的代码,对所选择的一个或数个远程站6进行传输。但是,本发明还可适用于其它系统,这些系统使用不同TDMA方法提供数据来选择若干基站4并同时排斥其它基站4,以对传输资源进行最优化的分配。Likewise, the
信道调度器12对前向链路上可变速率的传输进行调度。信道调度器12接收指示要向远程站6传输的数据量的队列大小,和来自远程站6的消息。较佳的是,信道调度器12对数据传输进行调度,以实现将数据吞吐量最大化并同时遵守公平性约束的系统目标。Channel scheduler 12 schedules variable rate transmissions on the forward link. Channel scheduler 12 receives a queue size indicating the amount of data to be transmitted to remote station 6 and a message from remote station 6 . Preferably, the channel scheduler 12 schedules data transmissions to achieve the system goal of maximizing data throughput while respecting fairness constraints.
如图1中所示,远程站6分布遍及通信系统,并可在前向链路上与零个或一个基站4通信。在该示例性实施例中,信道调度器12协调整个通信系统上的前向链路数据传输。一种用于高速数据传输的调度方法和设备在2002年1月1日授权的美国专利第6,335,922号中具体描述,该专利已转让给本发明的受让人,并这儿并入作为参考。As shown in Figure 1, remote stations 6 are distributed throughout the communication system and can communicate with zero or one
根据一个实施例,信道调度器12在计算机系统中实现,该系统包括处理器、随机存取存储器(RAM)、和用于存储要由处理器执行的指令的程序存储器(未图示)。处理器、RAM和程序存储器可由信道调度器12的各个功能占用。在其它实施例中,处理器、RAM和程序存储器可为用于执行基站控制器10处的其它功能的共享计算资源的一部分。According to one embodiment, channel scheduler 12 is implemented in a computer system that includes a processor, random access memory (RAM), and program memory (not shown) for storing instructions to be executed by the processor. Processor, RAM and program memory may be occupied by various functions of channel scheduler 12 . In other embodiments, the processor, RAM and program memory may be part of shared computing resources used to perform other functions at the base station controller 10 .
图3示出一种调度算法的实施例,该算法控制信道调度器12对从基站4到远程站6的传输进行调度。如以上所讨论的,一个数据队列40与每个远程站6相关联。信道调度器12使每个数据队列40与在步骤110处估值的“权值”相关联,用于选择与基站4相关联的特定远程站6,从在随后的服务间隔内接收数据。信道调度器12选择单个的远程站6,以在离散的服务间隔内接收数据传输。在步骤102,信道调度器为每个与基站4相关联的队列初始化权值。FIG. 3 shows an embodiment of a scheduling algorithm that controls channel scheduler 12 to schedule transmissions from
信道调度器12按传输间隔或服务间隔从步骤104到112进行循环。在步骤104,信道调度器12判定是否由于在前一个服务间隔中检测到的另一个远程站6与基站4之间的相关联,而有任何其它队列要添加。信道调度器12在步骤104还对与新队列相关联的权值进行初始化。如以上所讨论的,基站4按诸如时隙等规律的间隔,从与其相关联的每个远程站6接收DRC信号。The channel scheduler 12 cycles through
此DRC信号还提供信息供信道调度器在步骤106使用,以为与每个队列相关联的远程站确定消耗信息(或接收所传输数据)的瞬时速率。根据一个实施例,从任何远程站6传输的DRC信号指示该远程站6能够以多个有效数据率中的任何一个接收数据。This DRC signal also provides information for use by the channel scheduler at
基于远程站6的相关联接收数据的瞬时速率(如在最近接收到的DRC信号中所指示的),信道调度器12在步骤108确定服务间隔的长度,在该服务间隔期间,数据被发送到任何特定的远程站6。根据一个实施例,在步骤106,接收数据的瞬时速率Ri决定与特定数据队列相关联的服务间隔长度Li。Based on the instantaneous rate at which remote station 6 is associated with received data (as indicated in the most recently received DRC signal), channel scheduler 12 determines the length of the service interval during which data is sent to Any particular remote station6. According to one embodiment, at
信道调度器12在步骤110选择特定数据队列进行传输。所要发送的相关联数据量随即从数据队列40被检索,并被提供给信道元件42,用于传输给与该数据队列40相关联的远程站6。如以下所讨论的,信道调度器12在步骤110选择用于提供数据的队列,该队列在接下来的服务间隔中用包括与每个队列相关联的每个权值在内的信息来传输。与所传输的队列相关联的权值随即在步骤112得到更新。Channel scheduler 12 selects a particular data queue for transmission at
本领域技术人员可以理解,信道调度器12可用各种方法来实现,而不会偏离本发明。例如,信道调度器12可用包括处理器、随机存取存储器(RAM)和用于存储要由处理器执行的指令的程序存储器(未图示)的计算机系统来实现。在其它实施例中,信道调度器12的各个功能可并入共享的计算资源,该共享的计算资源还用于执行基站4或基站控制器10处的其它功能。此外,用于执行信道调度器功能的处理器可以是通用微处理器、数字信号处理器(DSP)、可编程逻辑设备、专用集成电路(ASIC)、或能够执行本文中所描述的各种算法的其它设备,而不会偏离本发明。Those skilled in the art will appreciate that the channel scheduler 12 can be implemented in various ways without departing from the invention. For example, channel scheduler 12 may be implemented with a computer system including a processor, random access memory (RAM), and program memory (not shown) for storing instructions to be executed by the processor. In other embodiments, the various functions of the channel scheduler 12 may be incorporated into shared computing resources that are also used to perform other functions at the
如图1的实施例中所示,远程站6是移动的,并且能够改变不同基站4之间的关联。例如,远程站6F起初从基站4F接收数据传输。远程站6F随后可能移出基站4F的单元并移入基站4G的单元。远程站6F随即可开始传输DRC信号来警告基站4G,而不是基站4F。通过不再从远程站6F收到DRC信号,基站4F处的逻辑推论远程站6F已经脱离且不准备再接收数据传输。与远程站6F相关联的数据队列随即可经由陆线或RF通信链路传输到基站4G。As shown in the embodiment of FIG. 1 , the remote station 6 is mobile and can change associations between
自适应加权调度算法Adaptive Weighted Scheduling Algorithm
此外,当在无线通信系统中传输多媒体服务或其它具有各种传输要求的服务时存在一个问题,其中称为“流程”的多媒体服务传输引起突发性的通信量。突发性的通信量的特征由若干变量描述,包括突发性的量度、和平均数据率。此外,需要满足系统中各条流程中每一个的服务质量(QoS)要求。诸如比例公平(PF)算法等当前的调度方法一般基于按被请求的数据率(称为数据率控制数据请求或“DRC”)对吞吐量(记为“T”)的比率给出的度量,来选择要服务的流程。此类计算可能无法确保所有用户所需的QoS。因此,纯粹的PF算法可能不能提供足够的复杂程度来满足访问多媒体或其它应用程序的用户的QoS要求。需要一种能够满足这些不同要求的调度器。Furthermore, there is a problem when transmitting multimedia services or other services having various transmission requirements in a wireless communication system, wherein transmission of multimedia services called "flows" causes bursty traffic. Bursty traffic is characterized by several variables, including a measure of burstiness, and average data rate. In addition, quality of service (QoS) requirements for each of the various processes in the system need to be met. Current scheduling methods, such as the proportional fair (PF) algorithm, are generally based on a metric given as the ratio of the requested data rate (called Data Rate Control Data Request or "DRC") to throughput (denoted "T"), to select the process to be served. Such calculations may not ensure the required QoS for all users. Therefore, pure PF algorithms may not provide enough complexity to meet the QoS requirements of users accessing multimedia or other applications. A scheduler that can meet these different requirements is needed.
注意以下讨论考虑支持如IS-856中所描述的高速率分组数据(HRPD)服务的cdma2000系统。此系统是作为示例使用。本发明适用于能根据调度算法选择要服务的用户的其它系统。Note that the following discussion considers a cdma2000 system supporting High Rate Packet Data (HRPD) service as described in IS-856. This system is used as an example. The invention is applicable to other systems that can select users to be served according to a scheduling algorithm.
在HRPD系统中,空中接口可支持多达4个并行的应用程序流。第一个流携带信令信息,其它三个流可用于携带具有不同服务质量(QoS)要求的应用程序或其它应用程序。In HRPD systems, the air interface can support up to 4 parallel application streams. The first flow carries signaling information and the other three flows can be used to carry applications or other applications with different Quality of Service (QoS) requirements.
为清楚理解下文所呈现的一个实施例起见,提供以下词汇表。以下词汇表并不试图穷举。以下词汇表并不试图将本发明限制于此,而是为就一种支持自适应加权调度算法的通信系统的实施例的清楚和理解而提供的。For a clear understanding of one embodiment presented below, the following glossary is provided. The following glossary is not intended to be exhaustive. The following glossary is not intended to limit the present invention thereto, but is provided for clarity and understanding of an embodiment of a communication system supporting an adaptive weighted scheduling algorithm.
词汇表Glossary
接入网络(AN)-提供蜂窝网络和分组交换数据网络(通常指因特网)和AT两两之间的数据连通性的网络设备。HRPD系统中的AN等效于蜂窝通信系统中的基站。Access Network (AN) - The network equipment that provides data connectivity between cellular networks and packet-switched data networks (commonly referred to as the Internet) and ATs. The AN in the HRPD system is equivalent to the base station in the cellular communication system.
接入终端(AT)-提供到用户的数据连通性的设备。HRPD系统中的AT对应于蜂窝通信系统中的移动站。AT可连接到诸如膝上个人计算机等计算设备,或者它可以是诸如个人数字助理(PDA)等自含式数据设备。Access Terminal (AT) - A device that provides data connectivity to a user. An AT in an HRPD system corresponds to a mobile station in a cellular communication system. The AT can be connected to a computing device such as a laptop personal computer, or it can be a self-contained data device such as a personal digital assistant (PDA).
应用程序流程-为给定应用程序流所指定的从源到AT的传输路径。每个应用程序流程由源、目的、通信量概况和服务质量概况来标识。Application Flow - The specified transmission path from source to AT for a given application flow. Each application process is identified by a source, destination, traffic profile, and quality of service profile.
应用程序流-对应于一个应用程序的数据通信。大多数应用程序流都有指定的服务质量要求。Application Flow - Corresponds to the data communication of an application. Most application flows have specified quality of service requirements.
自动重复请求(ARQ)-发射机基于一事件的发生或者不发生而初始化数据重新传输的机制。Automatic Repeat Request (ARQ) - mechanism by which a transmitter initiates data retransmission based on the occurrence or non-occurrence of an event.
可用资源(t):前向链路上在时间t无限制的带宽。Available resources (t): Unrestricted bandwidth on the forward link at time t.
平均数据率(r)-给定应用程序流程一段时间的平均输入数据率。Average Data Rate (r) - Average input data rate for a given application process over time.
平均延迟(AvgD)-从AN到AT的多个分组或比特上所承受的平均延迟。Average Delay (AvgD) - The average delay experienced over a number of packets or bits from AN to AT.
突发性(σ)-对应用程序流程中的数据分组的突发性或密度与时间关系的度量。Burstiness (σ) - A measure of the burstiness or density versus time of data packets in an application process.
数据率控制(DRC)-AT向AN传输所请求的数据率的机制。Data Rate Control (DRC) - The mechanism by which the AT transmits the requested data rate to the AN.
亏数分组(defpkts)-在时隙n的开始处为流程k所定义。亏数分组是还未在流程中传输的分组,且defpkts具体定义为在BTS停留时间超过流程k的延迟阈值的相等大小的分组(例如,诸如媒体访问控制(MAC)分组等中间处理分组)的个数。Deficit packets (defpkts) - defined for flow k at the beginning of slot n. Deficit packets are packets that have not yet been transmitted in a flow, and defpkts is specifically defined as the number of equal-sized packets (e.g., intermediate processing packets such as Media Access Control (MAC) packets) whose dwell time at the BTS exceeds the delay threshold for flow k number.
亏数位(defbits)-对应于亏数分组的位数。Deficit Bits (defbits) - The number of bits corresponding to the deficient grouping.
延迟边界-从AN到AT传输一个数据分组所允许的指定时间。Delay Boundary - The specified time allowed to transmit a data packet from AN to AT.
延迟阈值-延迟边界或抖动边界的函数,用于计算defpkts。delay_threshold - function of delay bounds or jitter bounds used to calculate defpkts.
延迟补偿因子(Φ)-用于补偿延迟违反的补偿因子。Delay Compensation Factor (Φ) - Compensation factor used to compensate for delay violations.
DRC补偿因子(β)-虑及与应用程序流程的用户相关联的数据请求要求的补偿因子。用于对应用程序进行恰当恢复。DRC Offset Factor (β) - An offset factor that takes into account the data request requirements associated with the user of the application process. Used for proper recovery of applications.
增强抖动阈值(dv)-用于在检测到流程的两个相继IP分组之间的抖动违反时对增强抖动补偿函数进行计算。Enhanced Jitter Threshold (dv) - Used for the calculation of the enhanced jitter compensation function when a jitter violation between two consecutive IP packets of a flow is detected.
流程权值(w)-适用于每个使用自适应加权调度算法的应用程序流程的初始权值。自适应权值(aw)是权值的自适应值。Process Weight (w) - The initial weight applied to each application process using the Adaptive Weighted Scheduling algorithm. The adaptive weight (aw) is the adaptive value of the weight.
前向链路(FL)-从AN到AT的传输空中链路。Forward Link (FL) - Transport air link from AN to AT.
排头(HOL)分组-队列中的第一个分组。Head of Line (HOL) Packet - The first packet in the queue.
高速率分组数据(HRPD)-以高数据率传输分组数据通信的数据服务。也称作高数据率(HDR),在题为“cdma2000 High Rate Packet Data Air InterfaceSpecification”(cdma2000高速率分组数据空中接口标准)的IS-856标准中详细说明。High Rate Packet Data (HRPD) - A data service that transports packet data communications at high data rates. Also known as High Data Rate (HDR), it is specified in the IS-856 standard entitled "cdma2000 High Rate Packet Data Air Interface Specification" (cdma2000 High Rate Packet Data Air Interface Specification).
抖动-所接收到的连续的分组两两之间的时间变化。Jitter - The variation in time between successive packets received.
抖动边界(j)-在给定应用程序流程的抖动上的边界。JitterBound(j) - Bound on the jitter for a given application flow.
增强抖动补偿因子(δ)-为流程补偿抖动违反的补偿因子。Enhanced Jitter Compensation Factor (δ) - Compensation factor to compensate for jitter violations for the process.
Lmax-BTS可在前向链路上传输数据的最大速率(例如,在cdma2000 1xEV-DO类型网络中为2.4兆比特/秒)。 Lmax - The maximum rate at which the BTS can transmit data on the forward link (eg, 2.4 Mbit/s in a cdma2000 1xEV-DO type network).
L(t)-基于先前的QoS违反的统计量和网络负荷有关的统计量对在时间t保留的前向链路容量的估计。L(t) - An estimate of the reserved forward link capacity at time t based on statistics of previous QoS violations and statistics related to network load.
归一化亏数分组(ndefpkts)-用亏数分组和该流程所请求的速率计算的归一化亏数分组。Normalized Deficit Packets (ndefpkts) - Normalized Deficit Packets computed using Deficit Packets and the rate requested by this process.
归一化亏数位(ndefbits)-对应于归一化亏数分组的归一化亏数位。Normalized Deficit Bits (ndefbits) - The normalized deficient bits corresponding to the normalized deficient grouping.
运动图像专家组(MPEG)-传输多媒体材料的协议。Moving Picture Experts Group (MPEG) - A protocol for the transmission of multimedia material.
未决分组-pendk,j[n]-时隙n中BTS和BSC中流程k的IP分组j的未决字节数。Pending Packets - pend k, j [n] - number of bytes pending for IP packet j of flow k in BTS and BSC in slot n.
比例公平(PF)算法-根据按所请求的数据率对吞吐量的比率为每个AT计算的选择因子对数据通信进行调度的调度算法。Proportional Fairness (PF) Algorithm - A scheduling algorithm that schedules data traffic according to a selection factor calculated for each AT as a ratio of requested data rate to throughput.
服务质量(QoS)-涉及分组数据通信传输的要求,包括但不限于,延迟、请求速率、和抖动。Quality of Service (QoS)-relates to requirements for packet data communication transmissions, including, but not limited to, latency, request rate, and jitter.
QoS和网络补偿函数(Φ,γ,α,β,δ)-如在自适应加权调度算法中使用的补偿函数。QoS and Network Compensation Functions (Φ, γ, α, β, δ) - Compensation functions as used in adaptive weighted scheduling algorithms.
服务质量组(QSG)-具有相似QoS要求的应用程序类型组。Quality of Service Group (QSG) - A group of application types with similar QoS requirements.
速率补偿因子(α)-为补偿速率违反而计算的补偿因子。Rate Compensation Factor (α) - Compensation factor calculated to compensate for rate violations.
服务速率(R)或所请求的速率(required_rate)-流程所请求的速率。Service Rate (R) or Requested Rate (required_rate) - The rate requested by the process.
Res(t):前向链路上在时间t保留的带宽。Res(t): bandwidth reserved on the forward link at time t.
重新发送队列(Rx)-存储为重新发送而调度的应用程序流程的重新发送队列。Resend Queue (Rx) - A resend queue that stores application processes scheduled for resend.
后向链路(RL)-从AT到AN的传输空中链路。Reverse Link (RL) - Transport air link from AT to AN.
选择度量(Y)-为调度决定而比较应用程序流程所用的度量。Selection Metric (Y) - The metric used to compare application processes for scheduling decisions.
交通量概况(σ,r)-涉及突发性和数据率的度量。Traffic Profile (σ, r) - a measure related to burstiness and data rate.
传输队列(Tx)-为给定BTS存储应用程序流程的传输队列。Transmit Queue (Tx) - Stores the Transmit Queue for the application process for a given BTS.
等待时间参数(γ)-AN内部排头IP分组的等待时间的度量。Latency parameter (γ) - A measure of the latency of the top IP packet inside the AN.
将自适应权值应用于比例公平调度算法Applying Adaptive Weights to Proportional Fair Scheduling Algorithms
为cdma2000 1xEV-DO网络的前向链路描述了比例公平(PF)调度算法,它基于度量DRC/T选择要服务的流程。PF算法被设计成向每个用户提供大约相同个数的传输时隙。为加强这一调度算法,本文中所描述的是一种自适应加权DRC/T算法,它扩展并优化DRC/T算法以满足不同类型的应用程序的不同QoS要求。每个多媒体应用程序分别有各自具体的QoS要求。调度算法的目标包括满足各种QoS要求。本文中所给出的自适应算法(也称作自适应w*DRC/T算法)为其中应用程序流程包括多媒体应用程序服务的cdma2000 1xEV-DO网络的前向链路,提供各种优于DRC/T算法的性能优势。使用自适应算法,满足cdma2000 1xEV-DO网络前向链路上延迟和抖动敏感应用程序的延迟和抖动边界要求。此外,自适应调度算法确保满足速率要求和减少多媒体应用程序的平均延迟。尽管提供多媒体应用程序作为示例来说明自适应调度算法的实现,但是本文中所描述的方法和设备可适用于其它具有QoS要求或与其相关联的可量化要求的应用程序。A proportional fair (PF) scheduling algorithm is described for the forward link of a cdma2000 1xEV-DO network, which selects the process to serve based on the metric DRC/T. The PF algorithm is designed to provide approximately the same number of transmission slots to each user. To enhance this scheduling algorithm, described in this paper is an adaptive weighted DRC/T algorithm that extends and optimizes the DRC/T algorithm to meet different QoS requirements of different types of applications. Each multimedia application has its own specific QoS requirements. The goals of the scheduling algorithm include satisfying various QoS requirements. The adaptive algorithm presented in this paper (also called adaptive w*DRC/T algorithm) provides various advantages over DRC The performance advantage of the /T algorithm. Using an adaptive algorithm, it meets the delay and jitter boundary requirements of delay and jitter sensitive applications on the forward link of cdma2000 1xEV-DO network. Additionally, an adaptive scheduling algorithm ensures rate requirements are met and average latency for multimedia applications is reduced. Although a multimedia application is provided as an example to illustrate the implementation of an adaptive scheduling algorithm, the methods and apparatus described herein are applicable to other applications that have QoS requirements or quantifiable requirements associated therewith.
对于诸如网络浏览和游戏等具有速率和等待时间要求的应用程序,自适应调度算法提供速率保证并减少平均延迟。对于其它仅具有速率要求的应用程序,可使用自适应加权调度算法来满足速率保证。提供这些QoS保证的同时,自适应加权调度算法还作用于将总吞吐量维持在合理高的等级,并实现接近于当使用纯粹PF调度算法时所达到的总吞吐量。纯粹PF调度算法指使用DRC/T计算的算法。在给予有QoS违反的流程额外资源的同时,自适应加权调度算法以公平方式分配可用资源。本文中提供了各种与其一致的补偿机制。For applications with rate and latency requirements such as web browsing and gaming, adaptive scheduling algorithms provide rate guarantees and reduce average latency. For other applications with only rate requirements, an adaptive weighted scheduling algorithm can be used to satisfy rate guarantees. While providing these QoS guarantees, the adaptive weighted scheduling algorithm also acts to maintain the aggregate throughput at a reasonably high level and achieve an aggregate throughput close to that achieved when using a pure PF scheduling algorithm. The pure PF scheduling algorithm refers to the algorithm using DRC/T calculation. While giving additional resources to processes with QoS violations, the adaptive weighted scheduling algorithm allocates available resources in a fair manner. Various compensation mechanisms consistent with this are provided herein.
图4示出支持多媒体应用程序的系统800。再次注意,本发明适用于具有QoS要求的其它系统。系统800包括耦合到分组数据服务节点(PDSN)806的多媒体源802。PDSN 806还耦合到基站控制器(BSC)804,基站控制器804可包括多个BSC。BSC 804经由基站收发器系统(BTS)808,810与各个AT 812、814、816、818等通信。系统800可包括比图示更多的BTS和AT。图示出三条流程:第一条流程从多媒体源802经由PDSN 806、BSC 804、和BTS 808、到AT 812;第二条流程从多媒体源802经由PDSN 806、BSC 804、和BTS 810、到AT 816;第三条流程从多媒体源802经由PDSN 806、BSC 804、和BTS 810、到AT 818。注意一个AT可以是多条流程的目的。在一个示例中,运动图像专家组(MPEG)类型应用程序的传输将音频和视频分成单独的流程。Figure 4 shows a system 800 that supports multimedia applications. Note again that the invention is applicable to other systems with QoS requirements. System 800 includes a multimedia source 802 coupled to a Packet Data Serving Node (PDSN) 806 . PDSN 806 is also coupled to base station controller (BSC) 804, which may include multiple BSCs. The BSC 804 communicates with various ATs 812, 814, 816, 818, etc. via base transceiver systems (BTS) 808, 810. System 800 may include more BTSs and ATs than shown. The figure shows three flows: the first flow is from multimedia source 802 via PDSN 806, BSC 804, and BTS 808, to AT 812; the second flow is from multimedia source 802 via PDSN 806, BSC 804, and BTS 810, to AT 816; The third flow is from multimedia source 802 via PDSN 806, BSC 804, and BTS 810, to AT 818. Note that one AT can be the target of multiple processes. In one example, the transmission of a Moving Picture Experts Group (MPEG) type application separates audio and video into separate streams.
系统800中要传输的每个应用程序流程具有:相关联的源地址;目的地址;和QoS要求。随即就从源到目的的传输对应用程序流程进行调度。应用程序流程穿过类似于图4中所示的路径。Each application flow to be transferred in system 800 has: an associated source address; destination address; and QoS requirements. The application flow is then scheduled for transfer from source to destination. Application flow follows a path similar to that shown in Figure 4.
每个BTS 808、810都适用于维护如图5中所示的流程队列。注意,每个BTS维护对应于其前向链路(FL)上的每个应用程序流程的一组队列。一个应用程序流程针对于一个AT。但是,注意多条流程可针对于一个AT。每条流程都具有一个与之相关联的服务质量组(QSG)类型。每个QSG由一组QoS参数定义。某一给定QSG的每条流程都有具体的值对应于组中每个参数。例如,一个QSG可由包括延迟和抖动的组来定义。具有这一QSG的哪些流程将指定对于延迟和抖动的要求。对于队列中的每条流程,BTS维护包括以下三个单独队列的组:(1)原始传输队列(Tx);(2)重新传输队列(Rx);和(3)自动重复请求队列(ARQ)。在一个实施例中,ARQ队列可对应于诸如先前决策ARQ等为在BTS和AT之间所执行的任何类型的重复机制存储流程的队列。多媒体应用程序可包括诸如视频会议等具有延迟边界要求的对延迟敏感的应用程序。延迟边界是从AN传输到AT接收所允许的指定时间。自适应加权算法致力于满足延迟边界要求和减少此类应用程序的IP分组所经受的平均延迟。对于同时具有速率和平均延迟要求的应用程序,自适应加权算法致力于满足速率要求和减少平均延迟。Each BTS 808, 810 is adapted to maintain a process queue as shown in FIG. 5 . Note that each BTS maintains a set of queues corresponding to each application flow on its forward link (FL). One application process is for one AT. However, note that multiple processes can be targeted to one AT. Each process has a Quality of Service Group (QSG) type associated with it. Each QSG is defined by a set of QoS parameters. Each process in a given QSG has specific values corresponding to each parameter in the group. For example, a QSG can be defined by the group consisting of delay and jitter. Which flows with this QSG will specify the requirements for latency and jitter. For each process in the queue, the BTS maintains a group consisting of the following three separate queues: (1) Original Transmission Queue (Tx); (2) Retransmission Queue (Rx); and (3) Automatic Repeat Request Queue (ARQ) . In one embodiment, the ARQ queue may correspond to a queue that stores processes for any type of repetition mechanism performed between the BTS and the AT, such as prior decision ARQ. Multimedia applications may include delay-sensitive applications such as video conferencing with delay-bound requirements. The delay bound is the specified time allowed from AN transmission to AT reception. Adaptive weighting algorithms aim to meet delay bound requirements and reduce the average delay experienced by IP packets for such applications. For applications with both rate and average latency requirements, the adaptive weighting algorithm works to meet rate requirements and reduce average latency.
对于诸如多媒体视频应用程序等某些类型的应用程序的另一个考虑事项是多媒体传输中连续的分组之间所经受的“抖动”。抖动指所接收的分组两两之间的时间变化。当连续波形稍早或稍迟到达接收机时,即发生抖动。在无线通信中,此类波形通常传递逻辑1或0,它们随即在接收机处被解码。定义为抖动的时间变化使所接收到的传输的视觉效果产生畸变。自适应加权调度算法降低最坏情况的延迟变化,以及对延迟敏感的应用程序的相继分组之间的延迟变化。Another consideration for certain types of applications, such as multimedia video applications, is the "jitter" experienced between successive packets in a multimedia transmission. Jitter refers to the time variation between two received packets. Jitter occurs when successive waveforms arrive at the receiver slightly earlier or later. In wireless communications, such waveforms typically convey logic 1s or 0s, which are then decoded at the receiver. Temporal variations, defined as jitter, distort the visual appearance of received transmissions. The adaptive weighted scheduling algorithm reduces worst-case delay variation, as well as delay variation between successive packets for delay-sensitive applications.
满足各用户的QoS要求的同时,自适应算法还被设计成当若干应用程序流程“一致”时满足那些流程的速率要求。如果应用程序流程根据预先指定的通信量概况发送数据,则称其为“一致的”。如果具有速率要求的流程不一致,即,它们发送的数据多于其通信量概况中所预先指定的,则该算法将较高的优先权给予具有较低数据率的流程。尽管本文中在cdma2000 1xEV-DO的上下文中描述自适应加权算法,但是这些概念和方法也可适用于其它类型的无线网络。While meeting the QoS requirements of individual users, the adaptive algorithm is also designed to meet the rate requirements of several application flows when those flows are "coincident". An application process is said to be "consistent" if it sends data according to a pre-specified traffic profile. If processes with rate requirements are inconsistent, ie they send more data than prespecified in their traffic profile, the algorithm gives higher priority to processes with lower data rates. Although the adaptive weighting algorithm is described herein in the context of cdma2000 1xEV-DO, the concepts and methods are applicable to other types of wireless networks as well.
就多媒体应用程序流程而言,每条流程由以下各项定义:(1)通信量概况;(2)QoS概况;(3)因特网协议(IP)源地址;和(4)IP目的地址。流程还可包括:(5)L4协议类型;(6)L4端口号;和(7)L4目的端口号,其中L4指协议栈中的传输控制协议(TCP)/用户数据报协议(UDP)层。例如,可将对应于一个MPEG应用程序的MPEG音频和MPEG视频视为两个单独的流程。In terms of multimedia application flows, each flow is defined by: (1) traffic profile; (2) QoS profile; (3) Internet Protocol (IP) source address; and (4) IP destination address. The process may also include: (5) L4 protocol type; (6) L4 port number; and (7) L4 destination port number, wherein L4 refers to the Transmission Control Protocol (TCP)/User Datagram Protocol (UDP) layer in the protocol stack . For example, MPEG audio and MPEG video corresponding to one MPEG application can be considered as two separate flows.
每条流程都由通信量概况指定,并受到监视或整形以确保其与该通信量概况一致。通信量概况由记为σ的表示突发性的度量的变量,和记为r的流程平均数据率定义。因此,每条流程由通信量概况(σ,r)描述。QoS概况由以下各参数中的至少一个定义:(1)记为“D”的延迟边界,它定义IP分组从传输到接收所允许的时间。对于多媒体应用程序流程,系统可指定延迟边界。对于诸如网络浏览等一些其它应用程序流程,系统可指定平均延迟(AvgD)来取代或补充延迟边界;(2)记为“j”的抖动边界,它定义在AT处所接收的分组两两之间最大可允许的时间变化;和(3)记为“R”或“req_rate”的服务速率(请求速率)。Each process is specified by a traffic profile and is monitored or shaped to ensure it conforms to that traffic profile. The traffic profile is defined by a variable denoted σ representing a measure of burstiness, and a process average data rate denoted r. Therefore, each process is described by a traffic profile (σ, r). The QoS profile is defined by at least one of the following parameters: (1) Delay boundary denoted "D", which defines the time allowed for an IP packet from transmission to reception. For multimedia application flows, the system can specify latency bounds. For some other application processes such as web browsing, the system can specify the average delay (AvgD) to replace or supplement the delay boundary; (2) the jitter boundary denoted as "j", which defines the time between two packets received at the AT. The maximum allowable time variation; and (3) the service rate (request rate) denoted "R" or "req_rate".
为定义延迟边界D,参考图6,它是包括各个AN元件和一个AT的时序图。多媒体流程从多媒体源(未图示)经由PDSN、BSC、和BTS传输到AT。一个IP分组在时间t0从PDSN发送,并在时间t3在AT处接收。参数D定义从时间t0到时间t3的最大可允许时间,即,D指定对t3-t0的限制。To define the delay boundary D, refer to FIG. 6, which is a timing diagram including various AN elements and an AT. Multimedia flows are transmitted from a multimedia source (not shown) to the AT via the PDSN, BSC, and BTS. An IP packet is sent from the PDSN at time t0 and received at the AT at time t3 . The parameter D defines the maximum allowable time from time t 0 to time t 3 , ie D specifies the limit for t 3 -t 0 .
为定义抖动边界j,参考图7A,它是包括若干AN元件和一个AT的时序图。第一个分组在时间t1从PDSN发出,并在时间t1’在AT处接收。第二个分组在时间t2从PDSN发出,并在时间t2’在AT处接收。抖动边界j定义连续分组两两之间最大可允许的变化,其中变化给定为(t2’-t1’)-(t2-t1)。图7B进一步详述在若干时隙上传输的若干连续IP分组。To define the jitter boundary j, refer to FIG. 7A, which is a timing diagram including several AN elements and an AT. The first packet is sent from the PDSN at time t1 and received at the AT at time t1 '. The second packet is sent from the PDSN at time t2 and received at the AT at time t2 '. The jitter bound j defines the maximum allowable variation between two consecutive packets, where the variation is given as (t 2 '-t 1 ')-(t 2 -t 1 ). Figure 7B further details several consecutive IP packets transmitted over several time slots.
在一个实施例中,QoS概况被归类成组,称为QoS调度组(QSG)。表1列出了这些类别。In one embodiment, QoS profiles are categorized into groups called QoS Scheduling Groups (QSGs). Table 1 lists these categories.
表1Table 1
图8示出根据自适应加权调度算法对流程的处理。流程900、902、904和906由标记为“S”的调度单元908处理。调度单元908应用一种自适应加权调度算法,其中为每条流程使用QSG概况。QSG概况识别用于如以下详述地计算自适应权值的变量。调度单元908随即将调度传输910输出到所选择的AT。Fig. 8 shows the processing of the flow according to the adaptive weighted scheduling algorithm.
描述称为DRC/T算法的PF调度算法,其中各分组被分类到m个队列,例如Q1、Q2、……、Qm。令DRC[k,n]为由移动站请求的DRC,对应于时隙n的流程k。调度器选择具有最高选择度量值的流程,其中:A PF scheduling algorithm called DRC/T algorithm is described, where packets are sorted into m queues, eg Q1, Q2, ..., Qm. Let DRC[k,n] be the DRC requested by the mobile station, corresponding to flow k of slot n. The scheduler selects the process with the highest selection metric, where:
Y[k,n+1]是时隙(n+1)中队列Qk的选择度量,并且Y[k,n+1] is the selection metric for queue Qk in slot (n+1), and
0<1/tc (3)0<1/t c (3)
如本文中所使用的,tc是计算平均值所用的时间常数。As used herein, tc is the time constant used to calculate the average.
自适应w*DRC/T算法Adaptive w*DRC/T algorithm
在一个实施例中,称为“自适应w*DRC/T”算法的自适应加权调度算法,向每条流程分配一个初始权值。假设分配给流程k的初始权值记为wk,由AT请求的对应于时隙n流程k的DRC是DRC[k,n]。自适应w*DRC/T算法在每个时隙n为每条流程k计算以下度量:In one embodiment, an adaptive weighted scheduling algorithm called the "adaptive w*DRC/T" algorithm assigns an initial weight to each process. Assuming that the initial weight allocated to process k is denoted as w k , the DRC requested by the AT corresponding to time slot n process k is DRC[k,n]. The adaptive w*DRC/T algorithm computes the following metrics for each process k at each time slot n:
Yk[n]=awk[n]*DRCk[n]/Tk[n] (4)Y k [n]=aw k [n]*DRC k [n]/T k [n] (4)
此处,流程k和时隙n的吞吐量Tk[n]是如PF算法中为DRC/T所定义的。如在自适应加权调度算法中所使用的,awk[n]是流程k在时隙n的自适应权值。自适应w*DRC/T调度算法以数种模式工作,其中模式是由QSG定义的。流程k在时隙n的自适应权值awk[n]是基于如下所述的调度器模式和一组所选择的策略或机制所计算的。注意要为每条流程计算等式(4),其中将根据专属于每条流程的公式来计算自适应权重。换言之,该调度算法考虑给定流程的QoS概况,并使用该QoS概况来构造对该流程的自适应权值的计算。以此方式,具有不同QoS要求的不同流程可具有不同地计算得到的自适应权值。该调度算法接下来选择具有最大Yk[n]值的流程以在时隙n中服务。Here, the throughput T k [n] of process k and slot n is as defined for DRC/T in the PF algorithm. As used in the adaptive weighted scheduling algorithm, aw k [n] is the adaptive weight of process k at slot n. The adaptive w*DRC/T scheduling algorithm works in several modes, where the modes are defined by the QSG. The adaptive weight aw k [n] of process k at time slot n is calculated based on the scheduler mode and a set of selected policies or mechanisms as described below. Note that equation (4) is calculated for each process, where the adaptive weights will be calculated according to a formula specific to each process. In other words, the scheduling algorithm takes into account the QoS profile of a given flow and uses this QoS profile to construct the calculation of adaptive weights for that flow. In this way, different flows with different QoS requirements can have differently calculated adaptive weights. The scheduling algorithm next selects the flow with the largest value of Yk [n] to serve in slot n.
自适应w*DRC/T调度器以以下模式工作:The adaptive w*DRC/T scheduler works in the following modes:
模式I[aw*DRC/T](r,d,j):为延迟和抖动敏感应用程序而设计对延迟和抖动边界具有严格要求并要求某个最小速率。Mode I[aw*DRC/T](r,d,j): Designed for delay and jitter sensitive applications with strict requirements on delay and jitter bounds and requiring a certain minimum rate.
模式II[aw*DRC/T](r,d):用于具有平均延迟和速率要求的应用程序。Mode II[aw*DRC/T](r,d): For applications with average latency and rate requirements.
模式III[aw*DRC/T](r):用于仅指定速率要求的应用程序。Mode III[aw*DRC/T](r): For applications that only specify rate requirements.
模式IV[DRC/T]:用于未指定任何QoS计划但由DRC/T算法服务的流程。基于QoS要求,可对给定流程使用特定模式的自适应w*DRC/T算法。还可对流程应用模式II以增加调度器给予该流程的吞吐量。例如,模式II可用于FTP应用程序,以潜在地增加对应应用程序流程的吞吐量。Mode IV[DRC/T]: for processes that do not specify any QoS plan but are served by the DRC/T algorithm. Based on QoS requirements, a specific mode of adaptive w*DRC/T algorithm can be used for a given flow. Mode II can also be applied to a process to increase the throughput given to that process by the scheduler. For example, Mode II can be used in FTP applications to potentially increase the throughput of the corresponding application process.
以下给出分组应用程序(即,QSG)的一个示例:An example of a grouping application (ie, QSG) is given below:
组I:对延迟边界和延迟变化具有严格要求类似于IP电话(VoIP)的应用程序。注意此类应用程序还常常具有速率要求。使用调度器模式I。Group I: Applications with strict requirements on delay bounds and delay variation similar to Voice over IP (VoIP). Note that such applications often also have rate requirements. Use scheduler pattern I.
组II:对延迟边界和延迟变化具有严格要求的多媒体会议应用程序。即时这些应用程序中的一些是自适应的,为一致的高质量起见确保服务速率仍然是合乎需要的。使用调度器模式I。Group II: Multimedia conferencing applications with strict requirements on latency bounds and latency variations. Even though some of these applications are adaptive, it is still desirable to ensure a service rate for consistent high quality. Use scheduler pattern I.
组III:对于延迟边界、速率和延迟变化具有要求的视频流应用程序。使用调度器模式I。Group III: Video streaming applications with requirements on latency bounds, rate and latency variation. Use scheduler pattern I.
组IV:具有速率和(平均)延迟要求的网络浏览应用程序——使用调度器模式II。Group IV: Web browsing applications with rate and (average) latency requirements - use scheduler mode II.
组V:具有速率要求的FTP应用程序——使用调度器模式III。或者,使用具有不严格的延迟限制的调度器模式II。Group V: FTP applications with rate requirements - use scheduler mode III. Alternatively, use Scheduler Mode II with a less strict latency bound.
组VI:尽力服务型应用程序——使用无自适应加权的PF算法,即,DRC/T算法。Group VI: Best-effort applications—using PF algorithms without adaptive weighting, ie, DRC/T algorithms.
注意,数据库事务、游戏和其它应用程序也可分别根据QoS要求分类到合适的组中。Note that database transactions, games, and other applications can also be sorted into appropriate groups based on QoS requirements, respectively.
图9示出具有多个等级的自适应加权调度器,多个等级包括,但不限于,等级I和等级II。等级I调度器具有多个调度器S1、S2、S3、……、Sm,其中m指组的总数。图9中的每个等级I调度器运行自适应w*DRC/T调度算法的一个特定操作模式,并从该组中选择一条流程。首先,等级I调度器计算Y的部分,具体而言是吞吐量T,以及速率补偿因子α。接下来,等级II调度器考虑各条流程,并向等级I调度器提供足够的输入,以由等级I调度器完成对选择度量Y的计算。一旦为所有未决流程完成完成对Y的计算,等级I调度器对Y值进行估值,并选择具有最高Y值的流程。每个等级I调度器对一组具有相似QoS要求的流程进行估值。每个等级I调度器所选择的流程随即被提供给等级II调度器,以供与来自其它组的流程进行比较。等级II调度器考虑每组一个所选择的流程,并选择具有最高度量(aw*DRC/T)或Y值的流程。当调度器需要选择一条流程进行服务时,为每个时隙重复此过程。替换实施例可使用单等级的调度器,或可使用比图9中所示更多的等级。替换实施例可包括不同个数的等级I调度器,其中等级I调度器对应于流程组织。Figure 9 illustrates an adaptive weighted scheduler having multiple levels including, but not limited to, level I and level II. A level I scheduler has a number of schedulers S1, S2, S3, ..., Sm, where m refers to the total number of groups. Each rank I scheduler in Figure 9 runs a specific mode of operation of the adaptive w*DRC/T scheduling algorithm and selects a process from this group. First, the class I scheduler computes the portion of Y, specifically the throughput T, and the rate compensation factor α. Next, the Tier II scheduler considers the individual flows and provides enough input to the Tier I scheduler to complete the computation of the selection metric Y by the Tier I scheduler. Once the computation of Y is complete for all pending processes, the Level I scheduler evaluates the Y value and selects the process with the highest Y value. Each class I scheduler evaluates a group of processes with similar QoS requirements. The flows selected by each level I scheduler are then provided to the level II scheduler for comparison with flows from other groups. A level II scheduler considers one selected process per group and chooses the process with the highest metric (aw*DRC/T) or Y value. This process is repeated for each slot when the scheduler needs to select a process to serve. Alternative embodiments may use a single level of schedulers, or may use more levels than shown in FIG. 9 . Alternative embodiments may include a different number of level I schedulers, where the level I schedulers correspond to process organizations.
一般而言,将自适应权值的计算是给定为若干参数的函数,并给定为:In general, the calculation of the adaptive weight is given as a function of several parameters, and is given as:
a=f(Φ,γ,α,β,δ)。 (5)a=f(Φ, γ, α, β, δ). (5)
延迟补偿函数记为Φ。等待时间常数记为γ。速率补偿函数记为α。DRC补偿函数记为β。增强抖动补偿因子记为δ。注意不是对于所有多媒体服务所有参数都具有实际的值。例如,当仅给定流程的QoS要求是指定的数据率时,那么变量α将被指定,(速率参数将有实际的值)而所有其它常数将被设为等于1。在此情形中,自适应权值计算中将仅包括速率参数。在一个实施例中,自适应权重按下式计算:The delay compensation function is denoted as Φ. The waiting time constant is denoted as γ. The rate compensation function is denoted as α. The DRC compensation function is denoted as β. The enhanced jitter compensation factor is denoted as δ. Note that not all parameters have actual values for all multimedia services. For example, when the only QoS requirement for a given flow is a specified data rate, then the variable α will be specified, (the rate parameter will have the actual value) and all other constants will be set equal to 1. In this case, only the rate parameter will be included in the adaptive weight calculation. In one embodiment, the adaptive weight is calculated as follows:
a=Φ*γ*α*β*δ (6)a=Φ*γ*α*β*δ (6)
其中算子为乘号。以下讨论提供自适应权值计算中可包括的各种补偿项的细节。The operator is the multiplication sign. The following discussion provides details of various compensation terms that may be included in the adaptive weight calculation.
对于模式I的应用程序,QoS概况指定等式(6)中所指示的所有参数。自适应权值计算考虑由于延迟阈值违反而产生的延迟补偿,由于等待时间阈值违反而产生的延迟补偿,由于速率违反而产生的速率补偿,和由于加强抖动阈值违反而产生的加强抖动补偿。此概念提高违反指定QoS要求的流程的权值。一旦被违反QoS要求所触发,此类流程即被给予信任分。信任分是通过将流程的权值乘以延迟补偿函数的合适的值来实现的。这个结果还要乘以速率补偿和加强抖动补偿。For Mode I applications, the QoS profile specifies all parameters indicated in equation (6). The adaptive weight calculation considers delay compensation due to delay threshold violations, delay compensation due to latency threshold violations, rate compensation due to rate violations, and enhanced jitter compensation due to enhanced jitter threshold violations. This concept increases the weight of processes that violate specified QoS requirements. Once triggered by a violation of QoS requirements, such processes are given credit points. The trust score is achieved by multiplying the weight of the process by the appropriate value of the delay compensation function. This result is also multiplied by rate compensation and enhanced jitter compensation.
相反,当流程表现为在接收超额的服务时,该流程可被处罚。可用各种方法中的任何一种来处罚流程。根据一种方法,可通过减少流程权值来直接处罚流程。根据另一种方法,可通过维持该流程权值并同时增加其它落后的(即,那些未达到所要求的QoS的流程)用户的权值来间接处罚流程。Conversely, a process can be penalized when it appears to be receiving excess service. Processes can be penalized in any of a variety of ways. According to one approach, a process can be penalized directly by reducing its weight. According to another approach, a process can be penalized indirectly by maintaining the process weight while increasing the weight of other lagging (ie, those processes not meeting the required QoS) users.
有各种计算延迟补偿以考虑违反延迟阈值的机制。假设流程k的延迟阈值记为dth_Φk,流程k在时隙n中由于延迟阈值违反而产生的延迟补偿记为Φk[n]。为计算延迟补偿Φk[n],考虑每条流程所有三个队列(即,Tx、RTx和ARQ)中的分组。There are various mechanisms for calculating latency compensation to account for latency threshold violations. Assume that the delay threshold of process k is denoted as dth_Φ k , and the delay compensation of process k due to violation of the delay threshold in time slot n is denoted as Φ k [n]. To calculate the delay compensation Φ k [n], consider packets in all three queues (ie, Tx, RTx and ARQ) for each flow.
对于每条流程,还对Φ指定最大和最小阈值,以确保一条流程不会消耗若干个相继的时隙而使其它流程匮乏时隙。这样设计还确保由于延迟阈值违反而产生的流程延迟补偿项至少和最小阈值一样好。令Φthres,min,k和Φthres,max,k是为每条流程k指定的最小和最大阈值。这(对于所有k和所有n)导致:For each process, maximum and minimum thresholds are also specified for Φ to ensure that one process does not consume several consecutive slots and starve other processes of slots. This design also ensures that the process delay compensation term due to delay threshold violations is at least as good as the minimum threshold. Let Φ thres,min,k and Φ thres,max,k be the minimum and maximum thresholds specified for each process k. This (for all k and all n) results in:
将使用以下定义来推导对延迟补偿的计算:The calculation for delay compensation will be derived using the following definitions:
D[n]:定义在时隙n的开始处经受延迟阈值违反的一组流程(即,每个此类流程在时隙n的开始处都至少有一个超过该流程延迟阈值的分组)。D[n]: Defines the set of flows that experience a delay threshold violation at the start of slot n (i.e., each such flow has at least one packet at the start of slot n that exceeds the delay threshold for that flow).
defpktsk[n]:定义在时隙n的开始处流程k的“亏数”分组。亏数分组是还未在流程中传输的分组,defpkts具体定义为在BTS中停留时间超过流程k的延迟阈值的同等大小的(MAC)分组的个数。defpkts k [n]: Defines the "deficit" packets for flow k at the start of slot n. Deficient packets are packets that have not been transmitted in the flow, and defpkts is specifically defined as the number of equal-sized (MAC) packets whose stay time in the BTS exceeds the delay threshold of flow k.
required_ratek:定义流程k的请求速率。required_rate k : Defines the request rate for process k.
ndefpktsk:定义流程k的归一化亏数分组个数,具体定义为:ndefpkts k : Define the number of normalized deficit groupings of process k, specifically defined as:
注意BTS、BSC和PDSN中的分组可能是不相等的大小,因此,这里计算亏数位而不是分组的个数是有好处的。Note that the packets in BTS, BSC and PDSN may be of unequal size, therefore, it is beneficial to count the number of deficit bits instead of the number of packets here.
如果流程的HOL分组在BTS队列中停留的时间段大于预先指定的阈值,则可用以下机制对该流程进行补偿。为此目的使用的等待时间阈值应当大于或等于为计算Φ所使用的阈值。对于流程k,等待时间阈值记为dth_γk,其中等待时间阈值受
根据一个实施例,当流程经受延迟阈值违反或等待时间阈值违反时应用延迟补偿。该机制将DRC数据率请求应用到自适应权值。令βk[n]为时隙n中流程k的DRC调整函数。为每条流程k指定最小阈值βmin,thres,k和最大阈值βmax,thres,k,满足βmin,thres,k≤βk[n]≤βmax,thres,k。According to one embodiment, delay compensation is applied when a process experiences a delay threshold violation or a latency threshold violation. This mechanism applies DRC data rate requests to adaptive weights. Let βk [n] be the DRC adjustment function for flow k in slot n. Specify minimum threshold β min, thres, k and maximum threshold β max, thres, k for each process k, satisfying β min, thres, k ≤ β k [n] ≤ β max, thres, k .
尽管对于诸如视频/音频会议等一些应用程序来说,上述补偿机制帮助减少流程中的延迟变化,包括更有效地延迟变化(抖动)控制并进一步减少延迟变化可能是合乎需要的。以下机制通过减少流程相继分组两两之间的延迟变化,来提供有效的延迟变化控制。具有较大IP分组大小的流程从此补偿机制中获益更多。Although for some applications such as video/audio conferencing, it may be desirable for the compensation mechanism described above to help reduce delay variation in the process, including more effective delay variation (jitter) control and further reduction of delay variation. The following mechanisms provide effective latency variation control by reducing the latency variation between pairs of successive packets of a process. Processes with larger IP packet sizes benefit more from this compensation mechanism.
假设at(k,j)为BSC入口处流程k的IP分组j的到达时间。令dt(k,j)为此IP分组从BTS离开的时间,即,到此时间为止此IP分组的所有分段都已由BTS处的前向链路调度器所传输。令pendk,j[n]为BTS和BSC处流程k的IP分组j的字节总长度。假设dvk,target为流程k相继IP分组两两之间的目标延迟变化(抖动),dvk,thres为此流程预先定义的增强抖动阈值,并使dvk,thres<dvk,target。在一个实施例中,当相继IP分组两两之间的延迟变化超过dvk,thres时,该算法即为流程k触发增强延迟变化补偿机制。Suppose at(k, j) is the arrival time of IP packet j of flow k at the entrance of BSC. Let dt(k, j) be the time when this IP packet leaves the BTS, ie, the time until which all fragments of this IP packet have been transmitted by the forward link scheduler at the BTS. Let pend k,j [n] be the total length in bytes of IP packet j of flow k at BTS and BSC. Assume that dv k,target is the target delay variation (jitter) between two successive IP packets of process k, dv k,thres is a pre-defined enhanced jitter threshold for this process, and make dv k,thres <dv k,target . In one embodiment, when the delay variation between two successive IP packets exceeds dv k,thres , the algorithm triggers an enhanced delay variation compensation mechanism for flow k.
图10提供对应于一个实施例的体系结构图。每个应用程序流程由通信量概况、QoS概况和DRC请求(即,请求数据率)描述。每个通信量概况包括突发性的度量和平均数据率。每个QoS概况包括类类型和参数边界。类类型可以是模式I、模式II、模式III或模式IV中的一种。边界指定延迟、抖动、和所请求的数据率的边界。诸如网络浏览等一些应用程序可指定平均延迟而不是延迟边界。选择模式I的延迟阈值小于抖动边界;对于模式II,选择延迟阈值小于平均延迟。选择增强抖动阈值小于抖动边界。替换实施例可将较多或较少信息应用于每个应用程序流程,其中QoS要求可专属于网络和配置。Figure 10 provides an architectural diagram corresponding to one embodiment. Each application flow is described by a traffic profile, a QoS profile, and a DRC request (ie, request data rate). Each traffic profile includes a measure of burstiness and average data rate. Each QoS profile includes class types and parameter boundaries. A class type can be one of schema I, schema II, schema III, or schema IV. bounds specifies the bounds for latency, jitter, and the requested data rate. Some applications, such as web browsing, specify average latency instead of latency bounds. Select mode I with a delay threshold smaller than the jitter bound; for mode II, select a delay threshold less than the average delay. Select Enhanced Jitter Threshold to be smaller than Jitter Boundary. Alternative embodiments may apply more or less information to each application flow, where QoS requirements may be network and configuration specific.
图11是为每个类类型指定QoS要求和QoS参数的表。如图所示,模式I对应于最严格的要求,而模式IV对应于不指定任何QoS要求的尽力服务型。替换实施例可包括其它QoS要求、QoS参数和/或模式。Figure 11 is a table specifying QoS requirements and QoS parameters for each class type. As shown, Mode I corresponds to the strictest requirements, while Mode IV corresponds to a best-effort type that does not specify any QoS requirements. Alternative embodiments may include other QoS requirements, QoS parameters and/or modes.
图12A到12E作为有效应用程序流程的一部分,示出对应用程序流程的处理和对该应用程序流程的调度。图12A所示是对单个应用程序流程进行初始化和设置的流程图。该过程在步骤1100开始以选择用于每个补偿参数的机制。补偿参数包括,但不限于:延迟(Φ);未决时间(γ);DRC(β)、抖动(δ)、和速率(α)。在步骤1102为适用的补偿参数选择阈值。注意补偿参数可包括对于AN具有重要性的应用程序流程的任何参数。在步骤1104选择用于计算中间权值的算法,其中中间权值用于计算调度所用的自适应权值。在步骤1106设置比例参数(C)和优先权因子(Z),这两者都用于计算自适应权值。在步骤1108为此应用程序流程设置初始权值。在步骤1110对该应用程序流程的QoS要求进行估值。如果除了DRC要求所标识的速率以外没有指定的QoS要求,则适用默认条件。默认条件为如上所述的“尽力服务型”。在此情形中,默认处理将用于此应用程序流程的所有补偿因子设为等于1。对于本实施例来说,在此情形中,对等式(6)的计算适用乘法算子,因此将各因子设为1有效地忽略那些因子,即,那些因子不影响加权。注意替换实施例可实现其它机制和函数,并因此适用其它机制来忽略具体或所有的补偿因子。12A to 12E illustrate the processing of an application flow and the scheduling of the application flow as part of an active application flow. Figure 12A shows a flowchart for initializing and setting up a single application process. The process begins at
尽力服务型处理在步骤1112和1116继续。所得的调度因子计算是与比例公平计算一致的。如果应用程序流程具有QoS要求,则处理前进至步骤1114。步骤1114和1116指示处理在接下来的附图中继续。Best effort processing continues at
图12B从步骤1114起继续图12A的处理。在步骤1120对当前时隙的处理开始。在步骤1122判定应用程序流程的类类型。在步骤1128处理模式I,在步骤1126处理模式II,在步骤1124处理模式III。在步骤1128监视模式I的QoS参数;在步骤1124监视模式III的QoS参数。随即在步骤1130、1140和1150处对QoS违反进行检查,这在图12C和12D中进一步详述。FIG. 12B continues the process of FIG. 12A from
对于模式I、II或III的应用程序,应用程序流程的处理在图12C的步骤1130继续。在步骤1132,该算法周期性地监视速率违反。注意周期性地进行速率补偿计算,并在其后的多个时隙中使用。如果在步骤1134检测到速率违反,则处理前进至步骤1138以计算速率补偿因子(α)。否则,在步骤1136将速率补偿因子(α)设为等于1。处理随即前进至步骤1160,这将在图12E中进一步详述。For Mode I, II or III applications, processing of the application flow continues at
对于模式I或II的应用程序,应用程序流程的处理在图12C的步骤1140继续。在步骤1142该方法在每个时隙对延迟和抖动违反进行监视。如果在步骤1144检测到延迟和/或抖动违反,则处理前进至1148以根据在初始化所选择机制计算延迟补偿因子(Φ)。对于具有请求的增强抖动补偿的模式I的流程,那么还计算增强抖动补偿因子(δ)。对于没有请求的增强抖动补偿的模式I流程和对于模式II的流程,δ设为1。否则,在步骤1146将延迟补偿因子(Φ)设为等于1,并将δ设为等于1。处理随即前进至步骤1160,这在图12E中进一步详述。注意对于模式I或模式II的应用程序流程,可一前一后地或并行地进行违反检查。换言之,可在时间上连续地或并行地进行速率违反和延迟/抖动违反检查。For Mode I or II applications, processing of the application flow continues at
对于模式I的应用程序,应用程序流程的处理在图12D的步骤1150继续。在步骤1152该方法对于等待时间违反进行监视。如果在步骤1154检测到等待时间违反,则处理前进至步骤1158以根据在初始化选择的机制来计算等待时间补偿因子(γ)。否则,在步骤1156将等待时间补偿因子(γ)设为等于1。处理随即前进至步骤1160,这在图12E中进一步详述。注意对于模式I的应用程序流程,可一前一后或并行地进行违反检查。换言之,可在时间上连续地或并行地进行速率违反、延迟/抖动违反和等待时间违反的检查,如步骤1170和1172所示。For Mode I applications, processing of the application flow continues at
图12E示出转自步骤1160和1116的处理。在步骤1162根据QoS参数和补偿因子,为应用程序流程计算自适应权值,给定为:FIG. 12E shows the processing from
aw=f(Φ,γ,α,β,δ) (9)aw=f(Φ, γ, α, β, δ) (9)
在步骤1164按下式计算调度因子或调度度量:In
调度因子=aw*(DRC)/T (10)Scheduling factor = aw*(DRC)/T (10)
在步骤1166,该调度算法随即根据为每个有效的应用程序流程计算所得的调度因子,对应用程序流程进行调度。In
图13根据一个实施例示出适合应用调度算法的BTS 1200。BTS 1200包括调度单元1202、应用程序流程处理器单元1206、QoS参数估值1204、自适应权值计算单元1212和CPU 1208,以上每一个都耦合到通信总线1210。调度单元1202通过为每个应用程序流程准备调度因子、随后根据这些调度因子在各个有效应用程序流程之间进行选择来进行调度。给定系统的策略和目标被结合到调度算法中。QoS参数估值1204对QoS违反进行监视,并向调度单元1202和权值计算单元1212提供信息。应用程序流程处理执行处理,包括,但不限于,将分组引导到目标AT,从目标AT接收用于调度的QoS信息、并将该信息提供给QoS参数估值1204。BTS1200还包括存储器1214,用于存储中间信息,和维护用于计算平均值、流程队列等的数据。违反检查是在BTS处进行的。一个实施例持续对为每条流程所发出的字节数进行计数,并将该信息用于速率违反的检查。当每个分组到达BSC处,它都被打上时间戳。只要分组仍停留在AN、BSC或BTS,时间就持续渐增。BTS将此时间用于检测阈值违反,并随即根据流程计算延迟、等待时间或增强抖动补偿函数。Figure 13 illustrates a
允许进入控制access control
允许进入控制指允许请求数据服务的用户进入中的决策过程。当新用户请求诸如具有QoS要求的应用程序等数据服务时,AN确定是否有可用资源来支持该使用。允许进入过程考虑所请求的应用程序、当前的使用、以及QoS和网络统计量。如果AN确定可支持该新用户,那么对应的应用程序流程即被允许。否则,如果当前没有可用资源,则应用程序流程被拒绝或放置在队列中以等待状态的改变。注意新用户实际上可以是具有请求额外服务的当前有效的应用程序流程,即,额外应用程序流程。Admission control refers to the decision-making process in the admission of users requesting data services. When a new user requests a data service such as an application with QoS requirements, the AN determines whether there are resources available to support the usage. The admission process takes into account the requested application, current usage, and QoS and network statistics. If the AN determines that the new user can be supported, then the corresponding application flow is allowed. Otherwise, if no resources are currently available, the application process is rejected or placed in a queue to wait for a change of state. Note that the new user may actually have a currently active application process requesting an additional service, ie an additional application process.
除了允许进入控制以外,并作为其一部分,可实现一种用于终止有效应用程序流程的先占过程,其中对当前操作情况进行估值来作出先占的决策。在此情形中,就QoS违反以及数据率对每个当前流程进行估值。In addition to, and as part of, admission control, a preemptive process for terminating active application flow can be implemented, where current operating conditions are evaluated to make preemptive decisions. In this case, each current flow is evaluated for QoS violation as well as data rate.
本节给出一种自适应的每个扇区的允许进入控制算法。该允许进入控制算法决定在给定无线多媒体网络中是否允许(或先占)一条流程。因此可能能够确定给定网络中可允许的(每个类的)流程数量。本文中所给出的允许进入控制算法的若干实施例包括同时执行用户间和用户内QoS两者监视、并随即将此信息应用于允许进入和/或先占决策的机制。这些实施例被设计成确保对于所允许进入的流程和用户,每条流程和每个用户的QoS要求得到满足。这些机制有助于协调允许进入控制算法和分层结构调度算法。This section presents an adaptive per-sector admission control algorithm. The admission control algorithm decides whether to admit (or preempt) a flow in a given wireless multimedia network. It may thus be possible to determine the allowable number of flows (of each class) in a given network. Several embodiments of the admission control algorithm presented herein include mechanisms to perform both inter-user and intra-user QoS monitoring, and then apply this information to admission and/or preemption decisions. These embodiments are designed to ensure that per-flow and per-user QoS requirements are met for admitted flows and users. These mechanisms help coordinate the admission control algorithm and the hierarchical scheduling algorithm.
调度和允许进入控制是无线网络中前向链路(FL)QoS管理的一部分,其中此类管理是一个复杂的问题。QoS管理是通信网络的设计和操作中一个重要的考虑因素。应用程序流程是根据如系统所定义的准则等来分类的。在一个实施例中,分类是根据QoS要求。首先,允许进入控制确定在当前操作情况下可允许进入的流程数量。该流程数量随即被分成每个类的流程数量。系统随即进行操作以满足每个所允许进入的流程的QoS要求。注意流程的数量可随时间并随应用程序的类型动态地改变。例如,在第一时间,接入网络(AN)可支持对每类应用程序准许具体数量流程的第一情形。在第二时间,AN可支持对各类应用程序中的至少一类允许不同数量流程的第二情形。Scheduling and admission control are part of forward link (FL) QoS management in wireless networks, where such management is a complex problem. QoS management is an important consideration in the design and operation of communication networks. Application processes are classified according to criteria such as defined by the system. In one embodiment, classification is based on QoS requirements. First, admission control determines the number of processes that can be admitted under the current operating conditions. The number of processes is then divided into the number of processes per class. The system then operates to meet the QoS requirements of each admitted flow. Note that the number of processes can change dynamically over time and with the type of application. For example, at a first time, the access network (AN) may support a first scenario where a specific number of flows are granted for each type of application. At a second time, the AN may support a second scenario that allows a different number of flows for at least one of the types of applications.
调度器(即,调度算法)在所允许的流程中实现一种公平策略。调度器还试图试图对有QoS违反的流程进行恰当恢复。操作者的收入和利益是取决于所用调度算法的有效性。更有效和特征丰富的算法提供增加这些利益的机会。The scheduler (ie, scheduling algorithm) implements a fairness policy among the allowed flows. The scheduler also attempts to properly recover processes with QoS violations. The operator's income and benefits depend on the effectiveness of the scheduling algorithm used. More efficient and feature-rich algorithms offer opportunities to increase these benefits.
就允许进入控制而言,一个实施例实现一种基于预订因素的方法。注意基于预订的方法常常用在有线网络的允许进入控制算法中。在无线网络中,每个用户的信道情况持续变化,因此如BTS调度器所见的前向链路容量也持续变化。基于有线预订因素的算法假设固定的链路容量,并因此不能直接适用于无线网络。As far as admission control is concerned, one embodiment implements a subscription based approach. Note that subscription-based methods are often used in admission control algorithms for wired networks. In a wireless network, the channel conditions for each user are constantly changing, and thus the forward link capacity as seen by the BTS scheduler is also constantly changing. Algorithms based on wired subscription factors assume a fixed link capacity and are therefore not directly applicable to wireless networks.
对于无线网络,一个实施例为FL管理提供一种自适应预订因素基(ASF)的允许进入控制算法,其中网络支持多个具有QoS要求的应用程序流程。无线网络中的ASF允许进入控制通过监视QoS统计量和网络统计量,来动态地更新预订因素。可使用各种机制来执行更新功能。因此能够利用自适应预订因素来采取纠正性的行动。此外,ASF还用于实现先占方法。For wireless networks, one embodiment provides an Adaptive Subscription Factor Base (ASF) admission control algorithm for FL management, where the network supports multiple application flows with QoS requirements. ASF admission control in wireless networks dynamically updates subscription factors by monitoring QoS statistics and network statistics. Various mechanisms may be used to perform the update function. Corrective action can thus be taken using adaptive booking factors. In addition, ASF is also used to implement preemptive methods.
在每个时间t计算ASF,AS(t)。该过程为AS(t)确定最小阈值ASmin_prespecified,和最大阈值ASmax_prespecified,以使
图14是一张时序图,测绘出作为时间函数的最大数据率、保留带宽、和可用带宽。BTS在前向链路上可传输数据的最大速率(Lmax)提供资源分配的上界。对有效应用程序流程进行估值以确定保留带宽Res(t)。使用QoS违反和网络负载有关的统计量,进行自适应预订因素的计算和对在时间t希望保留的前向链路容量L(t)估计。注意L(t)≤Res(t)是可能的。例如,假设所允许的流程在它们被允许进入的时候经历非常好的信道情况。现在,若干流程的信道情况变差并且一些流程没有达到相关联的QoS保证。在此情形中,系统可能希望在允许更多流程上变得更加保守,并设Avail(t)=0。另一方面,如果L(t)>Res(t),则系统可设Avail(t)=L(t)-Res(t)。值L(t)即为基于先前的QoS违反和网络负荷有关的统计量,对在时间t希望保留的前向链路容量的估计,并根据Lmax和ASF进行计算,如下:Figure 14 is a timing diagram plotting maximum data rate, reserved bandwidth, and available bandwidth as a function of time. The maximum rate at which a BTS can transmit data on the forward link (L max ) provides an upper bound on resource allocation. Evaluate the active application flow to determine the reserved bandwidth Res(t). The calculation of the adaptive reservation factor and the estimation of the forward link capacity L(t) desired to be reserved at time t are performed using the statistics related to the QoS violation and the network load. Note that it is possible that L(t) ≤ Res(t). For example, assume that the allowed processes experience very good channel conditions when they are admitted. Now, the channel conditions for several flows deteriorate and some flows do not achieve the associated QoS guarantees. In this case, the system may wish to be more conservative in allowing more flows, and set Avail(t)=0. On the other hand, if L(t)>Res(t), the system can set Avail(t)=L(t)-Res(t). The value L(t) is based on previous QoS violations and network load-related statistics, and estimates the forward link capacity that is expected to be reserved at time t, and is calculated according to Lmax and ASF, as follows:
其约束为:Its constraints are:
可用带宽Avail(t)按下式计算:The available bandwidth Avail(t) is calculated as follows:
Avail(t)=maximum(L(t)-Res(t),0) (14)Avail(t)=maximum(L(t)-Res(t), 0) (14)
如图14中所示的各种资源的度量是由从用户接收的数据率控制(DRC)数据请求来确定的。每个用户在后向链路上发送DRC数据请求。在cdma2000 1xEV-DO或其它HRPD类型的系统中,用户在每个RL传输的时隙上发送DRC数据请求。如图15所示的,来自用户1的数据请求(DRC 1)和来自用户2的数据请求(DRC2)随时间改变。这些数据请求和所要求的QoS确定保留带宽(Res)。注意提供该DRC值和Res之间的关系是作为示例。替换实施例和情形可能导致不同的关系。Metrics for various resources as shown in FIG. 14 are determined by data rate control (DRC) data requests received from users. Each user sends a DRC data request on the backward link. In cdma2000 1xEV-DO or other HRPD type systems, users send DRC data requests on each time slot transmitted by RL. As shown in Figure 15, the data request from User 1 (DRC1) and the data request from User 2 (DRC2) change over time. These data requests and the required QoS determine the reserved bandwidth (Res). Note that the relationship between the DRC value and Res is provided as an example. Alternative embodiments and situations may result in different relationships.
每个应用程序流程都具有平均速率和突发性方面的指定通信量概况,其中流程fk的通信量概况由(σk,rk)给定。此处,rk是流程fk的平均请求速率,σk是突发性的度量,其中流程fk的所请求速率给定为req_rate(fk)=rk。Each application process has a specified traffic profile in terms of average rate and burstiness, where the traffic profile of process f k is given by (σ k , r k ). Here, r k is the average request rate of flow f k and σ k is a measure of burstiness, where the requested rate of flow f k is given as req_rate(f k ) = r k .
根据一个实施例,允许进入控制就允许进入对流程fk进行估值。允许进入控制首先为用户应用对应于流程fk的观测到的DRC,u(fk)以满足所请求的速率,其中所观测到的DRC小于或等于该用户的平均DRC数据要求,如下所示:According to one embodiment, the admission control evaluates the flow f k on admission. Admission control first applies the observed DRC corresponding to the flow f k for the user, u(f k ), to satisfy the requested rate, where the observed DRC is less than or equal to the average DRC data requirement for that user, as follows :
req_rate(fk)≤Avg(DRC(u(fk)))。 (15)req_rate(f k )≦Avg(DRC(u(f k ))). (15)
随即进行ASF的计算AS(t),并将其用于按下式计算Avail(t):Immediately carry out ASF calculation AS(t), and use it to calculate Avail(t) according to the following formula:
最后,对于流程fk的允许进入决策在时间t考虑:Finally, the admission decision for flow f k is considered at time t:
req_rate(fk)≤Avail(t)。 (17)req_rate(f k )≦Avail(t). (17)
如果流程fk被允许进入,则如图14中所示的资源度量按下式更新:If the flow f k is allowed to enter, the resource metric as shown in Figure 14 is updated as follows:
Res(t)=Res(t)+req_rate(fk) 18)Res(t)=Res(t)+req_rate(f k ) 18)
Avail(t)=Avail(t)-req_rate(fk) (19)Avail(t)=Avail(t)-req_rate(f k ) (19)
AN继续为所有所允许进入的流程监视QoS统计量,并监视网络有关的统计量。监视为适应预订因素提供反馈。AN continues to monitor QoS statistics for all incoming flows and monitors network-related statistics. Monitoring provides feedback for adapting booking factors.
AS(t)的自适应方法:每个扇区的QoS和网络统计量An adaptive approach to AS(t): per-sector QoS and network statistics
图18A到18E提供一种支持多个具有QoS要求的应用程序流程的系统的允许进入控制的方法300的流程图。在图18A中,当在判定菱形框302AN接收到对新流程的请求时,在步骤304应用允许进入控制程序。否则,该过程等待新的流程请求。注意在此时间期间,AN继续监视当前的操作情况,来进行当前有效流程的QoS统计量和流程的网络统计量。允许进入控制程序确定是否有资源可用以支持该新流程。诸如图14中所示的资源度量在步骤305得到更新。如果在判定菱形框306,新的流程被允许进入,则处理前进至307以应用自适应调度过程。18A through 18E provide a flowchart of a method 300 of admission control for a system supporting multiple application processes with QoS requirements. In FIG. 18A , when a request for a new flow is received at decision diamond 302AN, an admission control procedure is applied at step 304 . Otherwise, the process waits for new process requests. Note that during this time, the AN continues to monitor the current operating conditions for QoS statistics for currently active flows and network statistics for flows. The admission control program determines whether resources are available to support the new process. Resource metrics such as those shown in FIG. 14 are updated at
步骤304的允许进入控制程序在图18B中进一步详述。在判定菱形框308,如果流程fk的请求速率大于流程fk的平均DRC数据要求,则处理前进至步骤312以拒绝流程fk进入。否则,处理返回判定菱形框312以确定流程fk的请求速率是否大于在时间t的可用资源Avail。如果所请求的速率小于Avail,那么在步骤314该流程被允许进入,否则在步骤312拒绝该流程。The admission control procedure of step 304 is further detailed in FIG. 18B. At decision diamond 308, if the request rate for flow fk is greater than the average DRC data requirement for flow fk , then processing proceeds to step 312 to deny entry for flow fk . Otherwise, processing returns to decision diamond 312 to determine whether the request rate of flow fk is greater than the available resource Avail at time t. If the requested rate is less than Avail, then at step 314 the flow is admitted, otherwise at step 312 the flow is denied.
步骤305对资源度量的更新在图18C中进一步详述。在步骤320,资源度量Avail和Res得到更新。在步骤322QoS统计量得到更新和监视。在步骤324,ASF基于步骤320和322的结果得到更新。在步骤326,估计的资源等级L被重新计算。如果在步骤328有新的流程被请求,则处理返回以在图18A的步骤304进行处理。如果在步骤328没有新的流程被请求,那么在步骤330为每个用户确定用户在该扇区中的存在。在步骤332确定采样持续周期。The updating of the resource metrics at
继续讨论图18D,在步骤340为每条流程选择QSG参数。考虑两个并行的处理路径,其中第一路径在步骤342在速率采样间隔上处理速率违反。注意该速率采样间隔大于在步骤332计算所得的采样持续时间。第二路径将每个有效流程的处理具体化。对于给定的流程,该过程在步骤344确定在采样持续时间期间有延迟违反的IP分组的比率。在步骤346,为所考虑的流程计算采样持续时间期间有抖动违反的IP分组的比率。随即在步骤348计算在采样持续时间期间流程所用时隙的分数。在步骤350该过程确定在采样持续时间期间给予具有QoS要求的流程的时隙的分数。在步骤352,该过程就QoS违反进行检查,并在步骤354确定QoS分组ID。Continuing with the discussion of FIG. 18D , at
处理前进至图18E,步骤360为每个QoS分组计算流程的数量。在步骤362该过程随即计算对应于每个QoS统计量的QoS流程的分数。随即在步骤364将步骤360和362的结果与预先确定的阈值相比较。注意阈值可在操作期间被动态更新。在步骤366据此调整ASF。Processing proceeds to Figure 18E, step 360 calculates the number of flows for each QoS packet. The process then calculates a score for the QoS flow corresponding to each QoS statistic at step 362 . The results of steps 360 and 362 are then compared at step 364 to a predetermined threshold. Note that thresholds can be dynamically updated during operation. In step 366 the ASF is adjusted accordingly.
图18A到18E提供允许进入控制方法的一个实施例。在下文讨论允许进入控制方法的其它细节。诸如BTS等AN元件为每条流程收集每个扇区的统计量,并将此信息用于每个扇区的允许进入控制和先占算法。仅在对应于流程的用户在该分区中的期间收集每个扇区的统计量。BTS周期性地收集QoS和网络有关的统计量。令T为收集这些信息之前的那个时间周期,其中Z是采样索引,t=Z*T。Figures 18A through 18E provide one embodiment of an access control method. Additional details of the admission control method are discussed below. AN elements such as BTS collect per-sector statistics for each process and use this information for per-sector admission control and preemption algorithms. Statistics for each sector are collected only during the period that the user corresponding to the process is in that partition. The BTS periodically collects QoS and network-related statistics. Let T be the period of time before this information is collected, where Z is the sample index, t=Z*T.
考虑扇区s中的流程fk,其中u(fk)是对应于流程fk的用户。该用户在时间tenter进入扇区s。在扇区s内部,在持续时间[treserve(fk,s),tfree(fk,s)]内为此流程保留资源,其中资源在时间treserve得到保留。在用户请求应用程序服务时,资源被保留。用户u(fk)在以上持续时间内,在tenter,j(fk,s)第j次进入扇区s,并在tleave,j(fk,s)第j次离开。因此,treserve(fk,s)≤tenter,first(fk,s)且tfree(fk,s)≥tleave,last(fk,s)。注意,出于预计该用户可能在某个未来的时间点移到此扇区,经由QoS信令协议AN会被告知要为流程保留资源是可能的。此处,tenter,first(fk,s)是用户u(fk)第一次进入此扇区s的时间,而tleave,last(fk,s)是在流程fk的生命期期间此用户最后一次离开扇区s的时间。Consider a flow fk in sector s, where u( fk ) is the user corresponding to flow fk . The user enters sector s at time t enter . Inside the sector s, resources are reserved for this process for the duration [t reserve (f k , s), t free (f k , s)], where the resources are reserved at time t reserve . Resources are reserved when users request application services. User u(f k ) enters sector s for the jth time at t enter, j (f k , s) within the above duration, and leaves for the jth time at t leave, j (f k , s). Therefore, t reserve (f k , s)≤t enter, first (f k , s) and t free (f k , s)≥t leave, last (f k , s). Note that, in anticipation that the user may move to this sector at some future point in time, it is possible for the AN to be informed via the QoS signaling protocol to reserve resources for the process. Here, t enter, first (f k , s) is the time when user u(f k ) enters this sector s for the first time, and t leave, last (f k , s) is the lifetime of process f k During the last time this user left sector s.
仅当在时间t以下三个条件都得到满足时,该算法在时间t将QoS和网络有关的性能统计量纳入考虑:The algorithm takes QoS and network-related performance statistics into consideration at time t only if the following three conditions are met at time t:
treserve(fk,s)≤t≤tfree(fk,s) (20)t reserve (f k , s)≤t≤t free (f k , s) (20)
tenter_latest(fk,s)+δ(fk)≤t≤tleave_latest(fk,s),并且 (21)t enter_latest (f k , s)+δ(f k )≤t≤t leave_latest (f k , s), and (21)
IN_IP_PKTS(fk,t,s)>θ(fk) (22)IN_IP_PKTS(f k , t, s)>θ(f k ) (22)
其中,δ(fk)和θ(fk)是为流程fk预先指定的,IN_IP_PKTS(fk,t,s)是在扇区s中在时间段(max(t-T,tenter_latest(fk,s)),t)期间由BTS前向链路调度器调度以供传输的流程fk的输入IP分组的个数。如果IP分组的最后一位在扇区s中被传输,则该位被计入该扇区的IN_IP_PKTS。变量δ(fk)指在该扇区中的出现被视为重要之前的时间。换言之,一旦用户在扇区s中停留了δ秒,则该过程开始对资源进行估值。注意,一旦得到允许,用户无须要求重新允许即刻离开和重新进入该扇区。where δ(f k ) and θ(f k ) are pre-specified for process f k , IN_IP_PKTS(f k , t, s) is in sector s at time period (max(tT, t enter_latest (f k , s)), the number of input IP packets of the flow f k scheduled by the BTS forward link scheduler for transmission during t). If the last bit of an IP packet is transmitted in sector s, that bit is counted in the IN_IP_PKTS for that sector. The variable δ(f k ) refers to the time before occurrences in this sector are considered significant. In other words, once the user stays in sector s for δ seconds, the process begins to value resources. Note that once permitted, the user does not need to request re-permission to leave and re-enter the sector immediately.
Qos和网络统计量随即被用于为每个请求应用程序服务的流程进行允许进入准则的估值。在时间段(max(t-T,tenter_latest(fk,s)),t)期间扇区s中对应于流程fk的延迟IP分组按下式计算:QoS and network statistics are then used to evaluate admission criteria for each process requesting application services. During the time period (max(tT, t enter_latest (f k , s)), t), the delayed IP packet corresponding to flow f k in sector s is calculated as follows:
其中DELAYED_IP_PKTS(fk,t,s)对应于到时间t为止在扇区s的BTS处延迟了超过流程fk对应的延迟边界的IP分组的个数。一旦在扇区s中检测到IP分组的延迟违反,即渐增该扇区延迟违反的计数。到时间t为止流程fk有抖动边界违反的IP分组对的分数按下式计算:Where DELAYED_IP_PKTS(f k , t, s) corresponds to the number of IP packets delayed beyond the delay boundary corresponding to flow f k at the BTS of sector s until time t. Once a delay violation of an IP packet is detected in sector s, the count of delay violations for that sector is incremented. The fraction of IP packet pairs with jitter boundary violations for flow f k up to time t is calculated as:
其中JTR_VIOL_PKT_PAIRS(fk,t,s)对应于到时隙t为止流程fk有抖动边界违反的(相继IP分组的)IP分组对的数量。当一条流程的两个相继IP分组在一扇区上传输时,为该扇区进行此计数。where JTR_VIOL_PKT_PAIRS(f k , t, s) corresponds to the number of IP packet pairs (of consecutive IP packets) for which flow f k has a jitter boundary violation up to time slot t. This count is done for a sector when two consecutive IP packets of a flow are transmitted on the sector.
在时间段(tenter_latest(fk,s),t)期间流程fk的速率违反,The rate violation of flow f k during time period (t enter_latest (f k , s), t),
其中req_rate(fk)>served_rate(fk,t,s)。否则当流程fk在时间t没有速率违反时,计算在(tenter_latest(fk,s),t)时间期间扇区s中流程fk的served_rate(fk,t,s)。where req_rate(f k )>served_rate(f k , t, s). Otherwise compute served_rate ( f k , t, s) of process f k in sector s during time (t enter_latest (f k , s), t) when process f k has no rate violation at time t.
注意,对于速率违反,该过程将时间段(tenter_latest(fk,s),t)作为采样持续时间应用,但是对于延迟和抖动违反,该过程将时间段(max(t-T,tenter_latest(fk,s)),t)作为采样持续时间应用。Note that for rate violations the procedure applies the time period (t enter_latest (f k , s), t) as the sample duration, but for delay and jitter violations the procedure applies the time period (max(tT, t enter_latest (f k , s)), t) are applied as sampling duration.
在时间段(max(t-T,tenter_latest(fk,s)),t)期间流程fk所使用的时隙分数按下式计算:The fraction of slots used by process f k during time period (max(tT, t enter_latest (f k , s)), t) is calculated as follows:
其中SERVEL_SLOTS(fk,t,s)是在由(max(t-T,tenter_latest(fk,s)),t)定义的时间段期间流程fk受到服务的时隙的数量,IN_SECTOR(fk,t,s)是(max(t-T,tenter_latest(fk,s)),t)期间时隙的总数。在时间段(t-T,t)期间给予扇区s中具有QoS要求的流程的时隙的分数由下式给出:where SERVEL_SLOTS(f k , t, s) is the number of slots in which process f k is served during the time period defined by (max(tT, t enter_latest (f k , s)), t), IN_SECTOR(f k , t, s) is the total number of slots during (max(tT, t enter_latest (f k , s)), t). The fraction of timeslots given to processes with QoS requirements in sector s during the time period (tT, t) is given by:
动态流程分类Dynamic Process Classification
对于每条流程fk,以下四个阈值是预先指定的,并用于执行每条流程的QoS和信道情况有关的检查:For each flow f k , the following four thresholds are pre-specified and used to perform QoS and channel condition related checks for each flow:
Frac_delayed_IP_pkts_thres(fk),(分数延迟IP分组阈值(fk))Frac_delayed_IP_pkts_thres(f k ), (fraction delayed IP packet threshold(f k ))
Frac_jitter_viol_IP_pkts_thres(fk),(分数抖动违反IP分组阈值(fk))Frac_jitter_viol_IP_pkts_thres(f k ), (fraction jitter violation IP packet threshold(f k ))
rate_viol_thres(fk),(速率违反阈值(fk))和rate_viol_thres(f k ), (rate violation threshold(f k )) and
Frac_slots_viol_thes(fk),(分数时隙违反阈值(fk))。Frac_slots_viol_thes(f k ), (fraction slot violation threshold(f k )).
系统在每个时间T之后周期性地适应ASF,其中T是预先指定的值。在给定时间t当第Z次(即,t=Z*T)进行自适应检查时,该过程考虑扇区s中有一些资源得到保留的那些流程,即,满足treverse(fk,s)≤t≤tfree(fk,s)的流程。对于来自此组流程的每一条流程fk,进行检查以对以下“每条流程的阈值检查”进行估值:The system periodically adapts the ASF after every time T, where T is a pre-specified value. At a given time t when the adaptive check is performed for the Zth time (i.e., t=Z*T), the process considers those flows in sector s that have some resource reserved, i.e., satisfying t reverse (f k , s )≤t≤t free (f k , s) process. For each flow f k from this set of flows, checks are made to evaluate the following "per-flow threshold checks":
Frac_delayed_IP_Pkts(fk,t,s)>Frac_delayed_IP_pkts_thres(fk) (28)Frac_delayed_IP_Pkts(f k , t, s) > Frac_delayed_IP_pkts_thres(f k ) (28)
(分数延迟IP分组(fk,t,s)>分数延迟IP分组阈值(fk))(Fractionally Delayed IP Packet (f k , t, s) > Fractionally Delayed IP Packet Threshold (f k ))
Frac_jitter_viol_IP_pkts(fk)>Frac_jitter_viol_IP_pkts_thres(fk,t,s) (29)Frac_jitter_viol_IP_pkts(f k )>Frac_jitter_viol_IP_pkts_thres(f k , t, s) (29)
(分数抖动违反IP分组(fk)>分数抖动违反IP分组阈值(fk,t,s))(Fractional Jitter Violation of IP Packet (f k ) > Fractional Jitter Violation of IP Packet Threshold (f k , t, s))
Rate_viol(fk,t,s)>rate_viok_thres(fk) (30)Rate_viol(f k , t, s) > rate_viok_thres(f k ) (30)
(速率违反(fk,t,s)>速率违反阈值(fk))(rate violation (f k , t, s) > rate violation threshold (f k ))
Frac_slots_flow(fk,t,s)>Frac_slots_viol_thes(fk) (31)Frac_slots_flow(f k , t, s) > Frac_slots_viol_thes(f k ) (31)
(分数时隙流程(fk,t,s)>分数时隙违反阈值(fk))(fractional slot flow (f k , t, s) > fractional slot violation threshold (f k ))
如果满足以下两个条件,则对流程fk进行以上四个检查:The above four checks are performed on the process f k if the following two conditions are met:
tenter_latest(fk,s)+δ(fk)≤t≤tleave_latest(fk,s),以及 (32)t enter_latest (f k , s)+δ(f k )≤t≤t leave_latest (f k , s), and (32)
IN_IP_PKTS(fk,t,s)>θ((fk)) (33)IN_IP_PKTS(f k , t, s)>θ((f k )) (33)
当对于一条流程,条件(32)、(33)中的至少一个没有满足,但treserve(fk,s)≤t≤tfree(fk,s)为真时,为该流程将每条流程的阈值检查的结果标记为NA。When at least one of the conditions (32) and (33) is not satisfied for a process, but t reserve (f k , s)≤t≤t free (f k , s) is true, each The result of the process's threshold check is marked as NA.
该过程计算在采样持续时间期间,为具有QoS要求的流程使用的时隙的分数,还计算此分数值的阈值,其中Frac_slot_thres_qos_flows(s)是扇区s中在时间段T内分配给具有QoS要求的流程的时隙的分数的上阈值。Frac_slot_thres_qos_flows(s)的值用来检查下式是否成立:This procedure calculates the fraction of slots used by flows with QoS requirements during the sampling duration, and also calculates the threshold value of this fraction, where Frac_slot_thres_qos_flows(s) is the number of slots allocated to flows with QoS requirements during time period T in sector s The upper threshold of the fraction of slots for the process. The value of Frac_slot_thres_qos_flows(s) is used to check whether the following formula holds true:
frac_slots_qos_flows(t,s)>Frac_slots_thres_qos_flows(s)。 (34)frac_slots_qos_flows(t, s)>Frac_slots_thres_qos_flows(s). (34)
该过程将当前的流程分类到以下QoS调度组(QSG)之一:This process classifies the current flow into one of the following QoS Scheduling Groups (QSG):
QSG I或Q_DJR:具有延迟、抖动和速率要求的流程,QSG I or Q_DJR: Processes with latency, jitter and rate requirements,
QSG II或Q_RavgD:具有速率和平均延迟要求的流程,QSG II or Q_RavgD: processes with rate and average latency requirements,
QSG III或Q_R:具有速率要求的流程。QSG III or Q_R: Processes with rate requirements.
考虑一组属于Q_DJR类的流程。如果给定流程fk对于NA类别是不合格的,并且或者满足:Consider a set of processes belonging to class Q_DJR. If a given flow f k is ineligible for the NA category and either:
Frac_delayed_IP_Pkts(fk,t,s)>Frac_delayed_IP_pkts_thres(fk), (35)Frac_delayed_IP_Pkts(f k , t, s) > Frac_delayed_IP_pkts_thres(f k ), (35)
或者满足or meet
Frac_jitter_viol_IP_pkts(fk,t,s)>Frac_jitter_viol_IP pkts_thres(fk), (36)Frac_jitter_viol_IP_pkts(f k , t, s) > Frac_jitter_viol_IP pkts_thres(f k ), (36)
此流程被指定为有delay_or_jitter_viol(fk,t,s)=Y(延迟或抖动违反(fk,t,s)=是)。否则,该过程为此流程设delay_or_jitter_viol(fk,t,s)=N(延迟或抖动违反(fk,t,s)=否)。另一方面,如果在NA类别中是合格的,那么delay_or_jitter_viol(fk,t,s)=NA。This flow is specified as having delay_or_jitter_viol(f k , t, s) = Y (delay or jitter violation (f k , t, s) = Yes). Otherwise, the procedure sets delay_or_jitter_viol(f k , t, s) = N (delay or jitter violation (f k , t, s) = No) for this flow. On the other hand, if qualified in the NA category, then delay_or_jitter_viol(f k , t, s)=NA.
表2Table 2
在每个时间t,当进行AS(t)的自适应检查时,该过程如表2中所示对QoS流程(即,具有QoS要求的流程)进行分类。每条流程都被分配一个QoS状态组ID(QS_GID)。At each time t, the process classifies QoS flows (ie, flows with QoS requirements) as shown in Table 2 when performing adaptive inspection of AS(t). Each flow is assigned a QoS state group ID (QS_GID).
QS_GID=1:有速率和延迟(或抖动)违反的Q_DJR类的流程。QS_GID=1: Q_DJR-like flow with rate and delay (or jitter) violations.
QS_GID=2:有延迟(或抖动)违反而没有速率违反的Q_DJR类的流程。QS_GID=2: Q_DJR-like flows with delay (or jitter) violations but no rate violations.
QS_GID=3:没有延迟和抖动违反、但有速率违反的Q_DJR类的流程。QS_GID=3: Flows of the Q_DJR class without delay and jitter violations, but with rate violations.
对于自适应应用程序可能产生此情形。并且,有速率违反的对应于Q_R和Q_RavgD类的流程被分配到此组中。This situation can arise for adaptive applications. Also, flows corresponding to Q_R and Q_RavgD classes with rate violations are assigned to this group.
QS_GID=4:没有QoS(速率、延迟和抖动)违反的流程。如上文所述的NA类别中的流程也被放到此组中。QS_GID=4: Flows without QoS (rate, delay and jitter) violations. Processes in the NA category as described above are also placed in this group.
预订因素的自适应Adaptation of booking factors
令Nk(t,s)为在时间t对应于QSG k的流程个数,N(t,s)为在时间t在扇区s中有一些资源得到保留的流程总数。Let N k (t, s) be the number of processes corresponding to QSG k at time t, and N(t, s) be the total number of processes that have some resources reserved in sector s at time t.
令M表示QoS状态组ID(QS_GID),结果为:Let M denote the QoS state group ID (QS_GID), the result is:
在时间t(在扇区s中)在QoS状态组M中,对应于流程k的QSG k的流程的分数由下式给出:In QoS state group M at time t (in sector s), the fraction of a flow in QSG k corresponding to flow k is given by:
在时间t有延迟(或抖动)和速率违反的流程的分数由下式给出:The fraction of processes with delay (or jitter) and rate violation at time t is given by:
Frac_flows_DJR_viol(t,s)=FQ_DJR(t,M=1,s) (42)Frac_flows_DJR_viol (t, s) = F Q_DJR (t, M = 1, s) (42)
在时间t有延迟(或抖动)违反,但没有速率违反的流程的分数由下式给出:The fraction of processes with delay (or jitter) violations but no rate violations at time t is given by:
Frac_flows_DJ_viol(t,s)=FQ_DJR(t,M=2,s) (43)Frac_flows_DJ_viol(t, s) = F Q_DJR (t, M = 2, s) (43)
在时间t仅有速率违反的流程的分数由下式给出:The fraction of only rate-violating processes at time t is given by:
没有QoS违反(或在NA类别中的)流程分数由下式给出:The score for a process with no QoS violation (or in the NA category) is given by:
S(t)的自适应是在每个时间段T之后周期性地进行的,T是预先指定的。出于自适应的目的,可如下考虑以上各个组。The adaptation of S(t) is performed periodically after each time period T, which is pre-specified. For the purpose of adaptation, the above groups can be considered as follows.
表3table 3
以下阈值是预先指定的,并在以下所示的自适应方法中使用。The following thresholds are pre-specified and used in the adaptive method shown below.
Frac_flows_thres_DJR:有延迟(或抖动)和速率违反的流程的分数上的阈值Frac_flows_thres_DJR: Threshold on fraction of flows with latency (or jitter) and rate violations
Frac_flows_thres_DJ:有延迟(或抖动)违反、且无速率违反的流程的分数上的阈值Frac_flows_thres_DJ: Threshold on the fraction of flows with delay (or jitter) violations and no rate violations
Frac_flows_thres_R:有速率违反(且无延迟或抖动违反)的流程的分数上的阈值Frac_flows_thres_R: Threshold on fraction of flows with rate violations (and no latency or jitter violations)
Frac_flows_thres_ok_qos:无QoS违反的流程的分数上的阈值Frac_flows_thres_ok_qos: Threshold on the fraction of flows with no QoS violations
每当为AS(t)进行自适应检查之后,该过程立即按以下顺序继续执行:Immediately after each adaptive check for AS(t), the process continues in the following order:
步骤1:如果Frac_flows_DJR_viol(t,s)≥Frac_flows_thres_DJR:Step 1: If Frac_flows_DJR_viol(t, s) ≥ Frac_flows_thres_DJR:
AS(t+)=fqos*AS(t)+xqos,从而AS(t+)≥AS(t)。此处,fqos和xqos是预先指定的。否则,AS(t + )=f qos *AS(t)+x qos , so that AS(t + )≧AS(t). Here, f qos and x qos are pre-specified. otherwise,
步骤2:如果Frac_flows_DJ_viol(t,s)≥Frac_flows_thres_DJ:Step 2: If Frac_flows_DJ_viol(t, s) ≥ Frac_flows_thres_DJ:
则AS(t+)=fdelay_jitter*AS(t)+xdelay_jitter,从而AS(t+)≥AS(t)。此处,fdelay_jitter和xdelay_jitter是预先指定的。否则,Then AS(t + )=f delay_jitter *AS(t)+x delay_jitter , so that AS(t + )≥AS(t). Here, f delay_jitter and x delay_jitter are pre-specified. otherwise,
步骤3:如果Frac_flows_R_only_viol(t,s)≥Frac_flows_thres_R:Step 3: If Frac_flows_R_only_viol(t, s) ≥ Frac_flows_thres_R:
则AS(t+)=frate*AS(t)+xrate,从而AS(t+)≥AS(t)。此处,frate和xrate是预先指定的。Then AS(t + )=f rate *AS(t)+x rate , so that AS(t + )≥AS(t). Here, f rate and x rate are pre-specified.
否则,otherwise,
步骤4:如果Frac_flows_no_na_viol(t,s)≥Frac_flows_thres_ok_qos:Step 4: If Frac_flows_no_na_viol(t, s) ≥ Frac_flows_thres_ok_qos:
则AS(t+)=fall_qos_flows*AS(t)+xall_qos_flows,从而AS(t+)≥AS(t)。此处,fall_qos_flows和xall_qos_flows是预先指定的。否则,Then AS(t + )= fall_qos_flows *AS(t)+x all_qos_flows , so AS(t + )≥AS(t). Here, f all_qos_flows and x all_qos_flows are pre-specified. otherwise,
步骤5:如果Frac_flows_no_na_viol(t,s)≥Frac_flows_thres_ok_qos,并且如果Step 5: If Frac_flows_no_na_viol(t, s) ≥ Frac_flows_thres_ok_qos, and if
Frac_slots_qos_flows(t,s)<Frac_thres_slots_qos_flows:Frac_slots_qos_flows(t, s) < Frac_thres_slots_qos_flows:
则AS(t+)=fok*AS(t)+xok,从而AS(t+)≤AS(t)。此处,fok和xok是预先指定的。否则,Then AS(t + )=f ok *AS(t)+x ok , so AS(t + )≦AS(t). Here, f ok and x ok are pre-specified. otherwise,
步骤6:如果Frac_flows_no_na_viol(t,s)≥Frac_flows_thres_ok_qos,并且如果Step 6: If Frac_flows_no_na_viol(t, s) ≥ Frac_flows_thres_ok_qos, and if
Frac_slots_qos_flows(t,s)≥Frac_thres_slots_qos_flows:Frac_slots_qos_flows(t, s) ≥ Frac_thres_slots_qos_flows:
则AS(t+)=AS(t)。Then AS(t + )=AS(t).
先占方案preemptive scheme
图19根据一个实施例示出一种先占方法400。方法400由在判定菱形框402确定ASF是否得到增加而开始。当检测到ASF的增加时,处理前进至步骤404以确定有最高速率违反次数的流程。换言之,当ASF增加时,先占方法400开始标识要先占的那些流程。在本实施例中,具有速率违反的流程被表示为先占的最佳候选。替换实施例可给予其它流程优先权,并可以动态改变优先权方案。Figure 19 illustrates a
如果在判定菱形框406达到先占的最大值PMAX(以下详述),则处理前进至步骤408以先占有最高延迟违反次数的流程。否则处理返回判定菱形框402。当在步骤408先占一条流程之后,处理前进至判定菱形框410以确定是否有多个具有最高延迟违反次数的流程。对于多条流程,处理前进至步骤412以先占使用最多时隙的流程。通常,此流程将具有很低的数据率,并因此在给定时间段期间消耗最多的时隙。处理随即返回判定菱形框402。If at decision diamond 406 a preempted maximum value P MAX (described in detail below) is reached, then processing proceeds to step 408 to preempt the flow of the highest number of delay violations. Otherwise processing returns to
在一个实施例中,应用该先占方法400,其中P_max是在任何给定时间点允许被先占的最大流程个数。考虑满足表3中所示的两个先占组的条件的流程子集。具体而言,先占组1包含属于QSG_R或QSG_RavgD的流程,并有In one embodiment, the
rate_viol(fk,t,s)>rate_viol_thres((fk),和 (46)rate_viol(f k , t, s)>rate_viol_thres((f k ), and (46)
Frac_slot_flow(fk,t,s)>frac_thres_slots_flow(fk)。(47)Frac_slot_flow(f k , t, s)>frac_thres_slots_flow(f k ). (47)
先占组2包含属于Q_DJR QSG的流程,并且所述流程含有Preempting
Frac_delayed_IP_Pkts(fk,t,s)>Frac_delayed_IP_pkts_thres(fk)和(48)Frac_delayed_IP_Pkts(f k , t, s) > Frac_delayed_IP_pkts_thres(f k ) and (48)
Frac_slots_flow(fk,t,s)>frac_thres_slots_flow(fk)。(49)Frac_slots_flow(f k , t, s)>frac_thres_slots_flow(f k ). (49)
表4Table 4
步骤1:如果在某个时间点,AS(t)得到增加(如在AS(t)的自适应方法中),则该过程查看是否有一个或数条流程是有资格先占的。注意,当AS(t)未得到增加时,没有流程被先占。Step 1: If at some point in time AS(t) is increased (as in the adaptive method of AS(t)), the process checks to see if one or several flows are eligible to preempt. Note that no flow is preempted when AS(t) is not incremented.
步骤2:考虑对应于先占组1的流程子集。从这些流程外,选择具有最大rate_viol值的P_max条流程。如果有平局,则先占具有较大Frac_slots_flow值的流程。如果P_max条流程被先占,那么不再为速率违反先占更多的流程。Step 2: Consider the subset of processes corresponding to
步骤3:考虑对应于先占组2的流程子集。这些流程具有延迟和抖动要求,并有Frac_delayed_IP_Pkts(fk,t,s)>Frac_delayed_IP_pkts_thres(fk)和Frac_slots_flow(fk,t,s)>frac_thres_slots_flow(fk)。从这些流程外,选择P_max减去步骤2中先占的具有最大Frac_delayed_IP_Pkts的流程个数。如果有平局,则先占具有较大Frac_slots_flow值的流程。Step 3: Consider the subset of processes corresponding to
用户内和用户间的QoSIntra-user and inter-user QoS
一个移动用户可能同时有多条流程,即,多个应用程序。如本文中所给出的,用户可指定以下各项:A mobile user may have multiple processes at the same time, that is, multiple applications. As presented in this article, the user may specify the following:
每条流程的关于其是否对延迟和抖动敏感的指示。如果它对延迟和抖动敏感,则要指定延迟和抖动边界。An indication of each process as to whether it is sensitive to latency and jitter. If it is sensitive to delay and jitter, specify delay and jitter bounds.
每个用户的总目标速率(ATR)。这是前向链路分层结构的调度器旨在给予此用户的目标速率。Total Target Rate (ATR) for each user. This is the target rate that the scheduler of the forward link hierarchy intends to give to this user.
允许进入控制access control
给定在时间t的R(t)个用户,记为U1、U2、……、UR(t),将num_flows(Uj,t)看作为在时间t用户Uj的流程个数。假设,在时间t用户Uj有(k-1)条流程被允许进入,即num_flows(Uj,t)=k-1。为决定在时间t允许用户Uj的一个新流程fk,j进入,该过程使用用户Uj的所观测的DRC来检查以下:Given R(t) users at time t, denoted as U 1 , U 2 ,..., U R(t) , regard num_flows(U j , t) as the number of flows of user U j at time t . Suppose, at time t, user U j has (k-1) flows allowed to enter, that is, num_flows(U j , t)=k-1. To decide to admit a new flow f k,j of user U j at time t, the process uses the observed DRC of user U j to check the following:
当进行如前所述的ASF的自适应时,流程所取的时隙数和其对应的DRC也被纳入考虑。该过程按下式计算AS(t)和Avail(t):When performing ASF adaptation as described above, the number of time slots taken by the process and its corresponding DRC are also taken into consideration. The process calculates AS(t) and Avail(t) as follows:
如果下式成立,则该过程在时间t允许流程fk,j进入:The process allows flow f k, j to enter at time t if the following holds:
req_rate(fk,j)≤Avail(t) (52)req_rate(f k, j )≤Avail(t) (52)
如果此流程被允许进入,则作如下更新:If the flow is allowed in, update as follows:
Res(t)=Res(t)+req_rate(fk,j), (53)Res(t)=Res(t)+req_rate(f k, j ), (53)
Avail(t)=Avail(t)-req_rate(fk,j), (54)Avail(t)=Avail(t)-req_rate(f k, j ), (54)
ATR(Uj,t)=ATR(Uj,t)+req_rate(fk,j),(55)ATR(U j , t)=ATR(U j ,t)+req_rate(f k,j ), (55)
该过程继续为所有被允许进入的流程和用户监视QoS统计量,并监视网络有关的统计量。使用这些信息来继续适应预订因素。随即计算并应用ASF AS(t)。The process continues to monitor QoS statistics for all admitted processes and users, and monitors network-related statistics. Use this information to continue to adapt booking factors. The ASF AS(t) is then calculated and applied.
分层结构的调度器Hierarchical Scheduler
每条流程和每个用户的补偿:Compensation per process and per user:
每个延迟和抖动敏感的流程都被分配一个抖动阈值。对于用户Uk的每个对延迟和抖动敏感的流程fx,该过程计算对应的延迟和抖动补偿Φ。如果流程在一个队列中没有任何超过延迟阈值的分组,那么Each latency- and jitter-sensitive process is assigned a jitter threshold. For each delay- and jitter-sensitive flow fx of user Uk , the process calculates the corresponding delay and jitter compensation Φ. If the process does not have any packets in a queue that exceed the latency threshold, then
φ(fx(Uk))=1。 (56)φ(fx(U k ))=1. (56)
否则,计算Otherwise, calculate
此处,here,
对于用户Uk的每条流程fx,For each flow fx of user U k ,
ndefpktsmin(n)=ndefpkts的最小值 (59)ndefpkts min (n) = minimum value of ndefpkts (59)
考虑在时隙n的(所有用户的)所有流程,Consider all flows (of all users) at time slot n,
defpkts(fx(Uk,n)=在时隙n用户Uk的流程fx违反其延迟阈值的未决MAC分组的个数。 (60)defpkts(fx(U k , n) = number of pending MAC packets whose flow fx of user U k violated its delay threshold at time slot n. (60)
对于在时隙n的用户Uk的速率补偿,定义,For rate compensation for user U k at slot n, define,
此处,here,
ASR(Uk,nprev(n))=时隙nprev中用户Uk的总服务速率,并且 (62)ASR(U k , n prev (n)) = total service rate of user U k in time slot n prev , and (62)
nprev≤n。 (63)n prev ≤ n. (63)
时隙号nprev是当出于调度算法的目的监视速率时n上或之前的最后一个时隙。Slot number n prev is the last slot on or before n when monitoring rates for scheduling algorithm purposes.
该过程为用户Uk定义在任意时隙n的总延迟补偿。考虑此用户具有延迟要求的所有流程,并查看每个这些延迟敏感的流程的排头(HOL)MAC分组。如果没有任何一个在系统中停留时间超过其延迟阈值,则:This procedure defines the total delay compensation for user U k at any time slot n. Consider all flows that this user has latency requirements, and look at the head-of-line (HOL) MAC packets for each of these latency-sensitive flows. If none have been in the system longer than their latency thresholds, then:
agg_delay_comp(Uk,n)=1。 (64)agg_delay_comp(U k , n)=1. (64)
否则,为此用户考虑有HOL分组在系统中停留时间长于延迟阈值的流程子集。对于此用户,为有HOL MAC分组在系统中停留时期超过这些流程的延迟阈值的用户Uk的所有流程fx,计算:Otherwise, the user considers for this the subset of processes that have HOL packets staying in the system longer than a latency threshold. For this user, for all the flows fx of the user U k whose HOL MAC packets stay in the system for a period exceeding the delay threshold of these flows, calculate:
此处,w(fx(Uk))是分配给用户Uk的流程fx的初始权值。Here, w(fx(U k )) is the initial weight assigned to the flow fx of user U k .
自适应权值计算Adaptive Weight Calculation
为了为此用户计算自适应权值,该过程在每个时隙为每个至少有一个延迟敏感流程的用户的每一条流程进行延迟阈值违反的检查。该过程为每个这样的用户Uk计算:In order to compute adaptive weights for this user, the procedure checks for delay threshold violations at each time slot for each process for each user with at least one delay-sensitive process. The procedure computes for each such user U k :
agg_delay_comp(Uk,n) (66)agg_delay_comp(U k , n) (66)
如果agg_delay_comp(Uk,n)>1,则该过程如下为用户Uk计算自适应权值:If agg_delay_comp(U k , n) > 1, the procedure calculates adaptive weights for user U k as follows:
awt(Uk,n)=agg_delay_comp(Uk,n)*awt(Uk,n-1) (67)aw t (U k , n)=agg_delay_comp(U k , n)*aw t (U k , n-1) (67)
另一方面,如果agg_delay_comp(Uk,n)=1,则该过程计算:On the other hand, if agg_delay_comp(U k ,n)=1, the process calculates:
awt(Uk,n)=α(Uk,nprev(n))*w(Uk) (68)aw t (U k , n)=α(U k , n prev (n))*w(U k ) (68)
此处,nprev,k(n)是当ASR(Uk,nprev(n))受到监视(并且因此α(Uk,nprev(n))被计算)时在n之上或之前的最后一个时隙。该过程继续按下式为此用户计算最终的自适应权值:Here, nprev ,k (n) is the value above or before n when ASR( Uk , nprev (n)) is monitored (and thus α( Uk , nprev (n)) is calculated) last time slot. The process continues to compute the final adaptive weights for this user as follows:
aw(Uk,n)=Z(Uk,n)*awt(Uk,n) (69)aw(U k , n)=Z(U k ,n)*aw t (U k ,n) (69)
此处,如果用户Uk任何延迟敏感流程的RTx或DARQ队列中没有任何分组,则Z(Uk,n)=1。否则,Z(Uk,n)=C(Uk)。此处,C(Uk)是预先指定的常数。Here, Z(U k , n)=1 if user U k does not have any packet in the RTx or DARQ queue of any delay-sensitive process. Otherwise, Z(U k , n)=C(U k ). Here, C(U k ) is a predetermined constant.
用户和流程选择方法User and Process Selection Methods
该过程为每个在其队列中至少有一个分组的用户计算以下时隙n中的度量,The procedure computes the following metric in slot n for each user that has at least one packet in its queue,
Y(Uk,n)=aw(Uk,n)*DRC(Uk,n)/T(Uk,n) (70)Y(U k ,n)=aw(U k ,n)*DRC(U k ,n)/T(U k ,n) (70)
此处,
考虑分到以下各组中的流程:Consider processes that fall into the following groups:
组1:QSG_延迟_抖动。VoIP流程。Group 1: QSG_DELAY_JITTER. VoIP process.
组2:QSG_延迟_抖动。视频会议流程。Group 2: QSG_DELAY_JITTER. Video conferencing process.
组3:QSG_延迟_抖动。视频流的流程。Group 3: QSG_DELAY_JITTER. The flow of video streaming.
组4:QSG_速率_平均_延迟。具有速率和平均延迟要求的流程。Group 4: QSG_RATE_AVERAGE_DELAY. A process with rate and average latency requirements.
组5:QSG_速率。仅具有速率要求的流程。Group 5: QSG_Rate. Processes with only rate requirements.
在执行本文中所描述的调度算法中,可遵循以下步骤。In performing the scheduling algorithm described herein, the following steps may be followed.
步骤1:考虑在该时隙中所选择用户的所有后备的流程。Step 1: Consider all backup flows for the selected user in that time slot.
步骤2:考虑该用户对应于组1和2的流程。选择HOL分组已违反其延迟阈值并且最接近该流程延迟边界的一条流程。如果找到流程,即服务此流程。否则,前进至步骤3。Step 2: Consider the process where this user corresponds to
步骤3:考虑对应于组3的且其中HOL分组已超过延迟阈值的流程,并选择其中HOL分组最接近延迟边界的流程。如果找到流程,即服务此流程。否则,前进至下一个步骤。Step 3: Consider the flows corresponding to
步骤4:考虑对应于组4的且其中HOL分组已超过延迟阈值的流程,并选择其中HOL分组最接近延迟边界的流程。如果找到流程,即服务此流程。否则,前进至下一个步骤。Step 4: Consider the flows corresponding to
步骤5:从组1到4中选出一个后备流程来服务。给予具有最小组号的流程以优先权。如果已选择了流程,则服务它。否则,前进至下一个步骤。Step 5: Select a backup process from
步骤6:考虑该用户对应于组5的后备流程。选择具有最大所请求速率/服务速率值的那一个。服务此流程。如果没有任何一个被选择,则前进至下一个步骤。Step 6: Consider the backup flow for this user corresponding to
步骤7:服务该用户的尽力服务型流程。如果有一个以上,选择具有最小服务速率值的那一个。Step 7: Best-effort process for serving the user. If there is more than one, choose the one with the smallest service rate value.
图16示出一种应用每条流程和每个用户的补偿的两级调度器。图16和图17中所示的调度器是用于如本文中所述的用户间和用户内QoS补偿的分层结构的调度器。如图16中所示,表示为等级1的第一级包括多个调度元件或节点S1、S2、……、SM,其中每个节点处理一个不同的QSG。在此例中,M是要处理的QSG分组数。例如,调度节点S1处理IP电话(VoIP)类型的应用程序流程。尽管给出IP电话作为示例,但是任何分类成QSG 1的应用程序流程将在S1处得到处理。这些流程具有指定用于评估QoS要求的延迟和抖动边界。多个应用程序IP电话类型的流程在调度元件S1处得到处理。类似地,每个调度元件为一个指定的QSG处理流程。注意,替换实施例可向一个调度元件提供多个QSG的应用程序流程。注意,处理同一个QSG组可使用多个调度元件。Figure 16 shows a two-level scheduler applying per-flow and per-user compensation. The schedulers shown in Figures 16 and 17 are hierarchical schedulers for inter-user and intra-user QoS compensation as described herein. As shown in Fig. 16, the first level, denoted
图16中所示的调度器的等级I计算每条流程的补偿的一部分。每个用户的多个应用程序流程在图16中示出。等级II调度元件完成每条流程的补偿的计算。Level I of the scheduler shown in Figure 16 calculates a portion of the compensation for each process. Multiple application flows per user are shown in FIG. 16 . Computation of compensation for each flow is performed by the Level II scheduling element.
图17示出具有调度节点S1、S2、……、Sz的调度器。在此步骤,z是用户的个数。注意,用户个数是动态的,因此当前调度节点的个数可动态改变。每个调度节点S1、S2、……、Sz都适用于从一个给定用户接收多条流程。调度节点S1为用户1(U1)接收流程F1到Fk。这里k是当前为用户1处理的应用程序流程的总数。使用由图16中的等级I和等级II调度器计算的每条流程的补偿,图17中的等级II调度器为每个用户计算总用户补偿。等级II调度器随即根据以上就用户选择方法所描述的自适应加权DRC/T算法来选择在时隙中要服务的用户。等级II调度器随后在从等级I调度器接收到的加权值之间进行选择。如所指示的,W(Uk)是分配给用户Uk的初始权值,ATR(Uk)是用户Uk的总目标速率。一旦选择了用户,对应于该用户的等级I调度器即根据上述的流程选择方法,为该用户选择该时隙中要服务的流程。Fig. 17 shows a scheduler with scheduling nodes S1 , S2 , ..., Sz . In this step, z is the number of users. Note that the number of users is dynamic, so the number of current scheduling nodes can be changed dynamically. Each scheduling node S1 , S2 , ..., Sz is adapted to receive multiple flows from a given user. Scheduling node S1 receives flows F1 to Fk for user 1 (U1). Here k is the total number of application processes currently processed for user1. Using the per-flow compensation calculated by the Level I and Level II schedulers in Figure 16, the Level II scheduler in Figure 17 calculates the total user compensation for each user. The Level II scheduler then selects the users to be served in the slots according to the adaptive weighted DRC/T algorithm described above for the user selection method. The Tier II scheduler then chooses between the weighted values received from the Tier I scheduler. As indicated, W(Uk) is the initial weight assigned to user Uk and ATR(Uk) is the total target rate for user Uk. Once a user is selected, the class I scheduler corresponding to the user selects the flow to be served in the time slot for the user according to the flow selection method described above.
一种前向链路调度器可允许每个用户在一个时隙中在给定的DRC值处为要服务的流程指定承受的价格。一旦指定了价格,自适应帧结构调度器运行以满足不同类型的应用程序的QoS要求。对应的调度机制允许服务供应商在增加利益和满足应用程序的QoS要求目标之间寻找很好的平衡。该调度机制还提供终端用户的动态成本控制,并可用于具有速率和/或平均延迟要求的应用程序或用于流应用程序,等等。一个实施例提供一种定价选择,其中每条流程指定当其被服务时每个时隙的价格。此价格依赖于在该时隙中用户为该流程所请求的DRC值。流程j(即,访问流程j的用户)在时隙m愿意支付的价格记为c[j,m,DRC[j,m]]。此处DRC[j,m]表示在时隙m中服务此用户的速率。用户可静态地指定价格,诸如为每个DRC值预先指定价格。或者,用户可动态地指定价格,诸如在应用程序的生命期期间改变价格。这允许用户对价格有某种程度的控制,以响应于变化的信道情况并达到期望的QoS。操作者可使用这样的一个调度器连同为用户间和用户内QoS所给出的调度器。这允许操作者指定至少两种类型的定价方案。对于用户间和用户内QoS调度器,操作员可指定静态定价方案(基于静态服务等级协议),并且在同时允许基于自适应帧结构的调度器的动态定价方案。用户可选择对不同流程使用不同的方案。A forward link scheduler may allow each user to specify a price to bear for a process to be served at a given DRC value in a time slot. Once the price is specified, the adaptive frame structure scheduler operates to meet the QoS requirements of different types of applications. The corresponding scheduling mechanism allows the service provider to find a good balance between increasing benefits and meeting the QoS requirements of the application. This scheduling mechanism also provides dynamic cost control for end users and can be used for applications with rate and/or average latency requirements or for streaming applications, etc. One embodiment provides a pricing option where each flow specifies a price per slot when it is served. This price depends on the DRC value requested by the user for the process in that time slot. The price that process j (that is, the user accessing process j) is willing to pay at time slot m is denoted as c[j, m, DRC[j, m]]. Here DRC[j,m] denotes the rate at which this user is served in slot m. A user may statically specify a price, such as pre-specifying a price for each DRC value. Alternatively, the user may specify the price dynamically, such as changing the price during the lifetime of the application. This allows the user some degree of control over the price to respond to changing channel conditions and achieve the desired QoS. Operators can use such a scheduler along with schedulers given for inter-user and intra-user QoS. This allows the operator to specify at least two types of pricing schemes. For the inter-user and intra-user QoS schedulers, the operator can specify a static pricing scheme (based on a static service level agreement), and at the same time allow a dynamic pricing scheme based on an adaptive frame structure based scheduler. Users can choose to use different schemes for different processes.
一个实施例将时间分成若干个帧,并根据DRC值、QoS要求、QoS违反统计量和每个用户所指定的价格为每个时隙作调度决策。帧结构基本上给出一轮中应服务的用户队列的次序。网络在每轮调度中决定在给定时隙要为该轮服务哪条流程/用户以达到所期望的目标。帧结构,即在每一轮服务流程的次序,持续变化,并被称为基于AFS的算法。One embodiment divides time into frames and makes scheduling decisions for each time slot based on DRC values, QoS requirements, QoS violation statistics, and prices specified by each user. The frame structure basically gives the order of the queue of users that should be served in a round. In each round of scheduling, the network decides which process/user to serve in a given time slot in order to achieve the desired goal. The frame structure, ie the order of the service flow in each round, changes continuously and is called based on the AFS algorithm.
以下定义对计算过程中使用的一些符号进行解释。给定N个队列(每条流程一个队列),假设如果以速率r[j]服务流程j,则其QoS要求得到满足。还为每条流程j预指定初始权值w[j]和时间标度ts[j]。该过程旨在为流程j提供速率保证,流程j在每个时间标度的整数倍的时隙(即,在每个m*ts[j]时隙,其中m是整数)受到监视。The following definitions explain some of the symbols used in the calculations. Given N queues (one queue per process), assume that if process j is served at rate r[j], its QoS requirements are satisfied. The initial weight w[j] and time scale ts[j] are also pre-specified for each process j. This procedure aims to provide rate guarantees for process j, which is monitored at timeslots that are integer multiples of each time scale (ie, at every m*ts[j] timeslots, where m is an integer).
令start[j]为当流程j最初开始受到考虑要在一轮中被服务的时隙。到时隙z结束时,系统希望服务S[j,z]=r[j]*(z-start[j])个比特,其中对于某个整数m有z=m*ts[j]。使用一种调度机制,该系统能够平衡所希望分配给一个给定流程的时隙数和所希望为该流服务的比特数。Let start[j] be the time slot when process j is initially considered to be serviced in a round. By the end of slot z, the system wishes to serve S[j, z] = r[j]*(z-start[j]) bits, where z = m*ts[j] for some integer m. Using a scheduling mechanism, the system is able to balance the number of slots desired to be allocated to a given flow with the number of bits desired to serve that flow.
此外,其它用于AFS调度器的参数如下:In addition, other parameters for the AFS scheduler are as follows:
slots_alloc[j,n]:在第n轮分配给队列(流程)j的时隙数。slots_alloc[j, n]: the number of time slots allocated to queue (process) j in round n.
slot_served[j,n]:当队列(流程)j在第n轮得到服务时的时隙数。slot_served[j, n]: the number of slots when queue (process) j is served in round n.
S_r[j,n]:到第n轮结束时为止要为流程j服务的比特数。S_r[j,n]: number of bits to serve flow j until the end of round n.
round_len[n]:第n轮时隙数长度。round_len[n]: The length of the nth round of time slots.
round_len_thres:一轮的长度以此阈值为上界。round_len_thres: The length of a round is bounded by this threshold.
B[n]:在时隙n的开始时后备队列的列表。B[n]: list of backup queues at the beginning of slot n.
Rout_round[j,n]:由调度器在第n轮为队列j服务的比特数。R out_round [j,n]: Number of bits served by the scheduler for queue j in round n.
Rout[j,n,g]:在时间间隔[n,g]期间为队列j服务的比特数,其中g≥n。R out [j, n, g]: number of bits served for queue j during time interval [n, g], where g ≥ n.
使用以上给出的描述,在第n轮开始队列j的亏数比特由下式给出:Using the description given above, the deficit bits of queue j at the beginning of round n are given by:
当亏数比特为正时,对应的流程在服务中落后,并要得到补偿。另一方面,流程所受到的额外服务不显示地受到处罚,但间接地受到处罚,因为此流程不会得到补偿,而在服务中落后的其它流程将得到补偿。When the deficit bit is positive, the corresponding process is behind in service and needs to be compensated. On the other hand, extra service received by a process is not explicitly penalized, but is penalized indirectly, since this process will not be compensated, while other processes falling behind in service will be.
此外,在第n轮的开始流程j的归一化亏数比特由下式给出:Furthermore, the normalized deficit bits for the beginning process j at round n is given by:
在第n轮的开始队列j的亏数时隙由下式给出:The deficit slot of start queue j in round n is given by:
该过程定义在第n轮的开始队列j的归一化亏数时隙如下:The process defines the normalized deficit slots of the starting queue j of the nth round as follows:
令lslot[n]为第n轮的最后一个时隙,fslot[n]为第n轮的第一个时隙。假设aw[j,n]表示第n轮分配给流程j的(自适应)权值。此权值决定在第n轮分配给流程j的时隙数。Let lslot[n] be the last slot of round n and fslot[n] be the first slot of round n. Let aw[j,n] denote the (adaptive) weight assigned to process j in round n. This weight determines the number of time slots allocated to process j in round n.
对用户所请求的DRC值进行排序。具体而言,如果DRC1[B,S]优于DRC2[B,S],那么(B/S)1>(B/S)2。这里B是每个分组的比特数,S是时隙数。Sort the DRC values requested by the user. Specifically, if DRC 1 [B, S] is better than DRC 2 [B, S], then (B/S) 1 >(B/S) 2 . Here B is the number of bits per packet and S is the number of slots.
对于AFS调度器的每轮调度,该过程都为每一轮计算以上给出的状态变量,随后在每一轮的开始为每条流程计算权值,以在该轮向此流程分配某个数量的时隙。出于此目的,该过程使用一种自适应权值计算机制,并用一种每一轮的服务规律来为每一轮计算帧结构。For each round of scheduling of the AFS scheduler, the process calculates the state variables given above for each round, and then calculates the weight for each process at the beginning of each round to allocate a certain amount to this process in this round time slot. For this purpose, the process uses an adaptive weight computation mechanism and computes the frame structure for each round with a round-by-round service law.
自适应权值计算机制Adaptive weight calculation mechanism
令ndef_bits_rthres,min为预先指定的ndef_bits_r的阈值。该过程在第n轮的开始定义一个数组ndefbits_set[n]如下:Let ndef_bits_r thres,min be the pre-specified ndef_bits_r threshold. The process defines an array ndefbits_set[n] at the beginning of round n as follows:
ndefbits_set[n]={k:ndef_bits_rk≥ndef_bits_rthres,min}。 (75)ndefbits_set[n] = {k: ndef_bits_r k ≥ ndef_bits_r thres, min }. (75)
令S_I[n]为在第n轮的开始该数组中的流程个数。类似地,ndef_slots_rthres,min是预先定义的ndef_slots_r的阈值。该过程定义在第n轮的开始的ndefslots_set[n]如下:Let S_I[n] be the number of processes in the array at the beginning of round n. Similarly, ndef_slots_r thres,min is the pre-defined ndef_slots_r threshold. The process defines ndefslots_set[n] at the beginning of round n as follows:
ndefslot_set[n]={k:ndef_slots_rk≥ndef_slots_rthres,min}。 (76)ndefslot_set[n] = {k: ndef_slots_r k ≥ ndef_slots_r thres, min }. (76)
令S_II[n]为在第n轮的开始此数组中的流程个数。Let S_II[n] be the number of processes in this array at the beginning of round n.
对于任意的流程j,在第n轮的开始,定义对应的时隙补偿函数如下:For any process j, at the beginning of the nth round, the corresponding slot compensation function is defined as follows:
如果ndef_bits_rj≥ndef_bits_rthres,min If ndef_bits_r j ≥ ndef_bits_r thres, min
则slot_comp[j,n]=slot_comp_I[j,n]*slot_comp_II[j,n], (77)Then slot_comp[j, n]=slot_comp_I[j, n]*slot_comp_II[j, n], (77)
如果ndef_bits_rj<ndef_bits_rthres,min,If ndef_bits_r j < ndef_bits_r thres,min ,
则,slot_comp[j,n]=1。 (78)Then, slot_comp[j, n]=1. (78)
此处,here,
如果ndef_bits_rj≥ndef_bits_rthres,min,if ndef_bits_r j ≥ ndef_bits_r thres,min ,
则
对于所有k:k∈ndefbits_set[n],
如果ndef_bits_rj<ndef_bits_rthres,min,If ndef_bits_r j < ndef_bits_r thres,min ,
则slot_comp_I[j,n]=1。 (81)Then slot_comp_I[j, n]=1. (81)
对于每条流程j,定义两个阈值,slot_comp_Ithres,min[j]和slot_comp_Ithres,max[j],以使:For each process j, define two thresholds, slot_comp_I thres, min [j] and slot_comp_I thres, max [j], so that:
使用这些阈值连通本文所描述的自适应权值计算机制对,可预防任何流程在一轮中不公平地消耗大量时隙,并且同时不对超过给定限制的该流程进行处罚。Using these thresholds in conjunction with the adaptive weight computation mechanism described here prevents any process from unfairly consuming a large number of slots in a round, while at the same time not penalizing that process for exceeding a given limit.
如果ndef_slots_rj≥ndef_slots_rthres,min,if ndef_slots_r j ≥ ndef_slots_r thres,min ,
则
如果ndef_slots_rj<ndef_slots_rthres,min,If ndef_slots_r j < ndef_slots_r thres,min ,
则slot_comp_II[j,n]=1。 (84)Then slot_comp_II[j, n]=1. (84)
对于每条流程j,定义两个阈值,slot_comp_IIthres,min[j]和slot_comp_IIthres,max[j],以使:For each process j, define two thresholds, slot_comp_II thres, min [j] and slot_comp_II thres, max [j], so that:
在每一轮的开始,流程被分成如表5中所给出的四组。At the beginning of each round, the processes are divided into four groups as given in Table 5.
表5table 5
在任意一轮n的开始,对于每个属于组II或IV的流程j,使用slot_comp[j,n]=1。在第n轮的开始,对于每个属于组I的流程j,应用下式:At the beginning of any round n, for each process j belonging to group II or IV, use slot_comp[j,n]=1. At the beginning of round n, for each process j belonging to group I, apply the following formula:
slot_comp[j,n]=slot_comp_I[j,n]。 (86)slot_comp[j,n]=slot_comp_I[j,n]. (86)
如果在第n轮的开始流程j属于组III,则应用下式:If the starting process j at round n belongs to group III, the following formula applies:
slot_comp[j,n]=slot_comp_I[j,n]*slot_comp_II[j,n] (87)slot_comp[j, n]=slot_comp_I[j, n]*slot_comp_II[j, n] (87)
该过程随即计算流程j的自适应权值,其中在第n轮非空队列的自适应权值如下:The process then calculates the adaptive weight of process j, where the adaptive weight of the non-empty queue in the nth round is as follows:
此处,rmin,n=min{r[k];k:k∈B[n]}。对于每条流程j,定义阈值awthres,max[j]并用这个阈值确保:Here, r min,n = min{r[k]; k: k∈B[n]}. For each flow j, define a threshold aw thres,max [j] and use this threshold to ensure:
接下来,这些自适应权值被应用于计算将分配给每条流程的时隙数和每轮的长度,以使:Next, these adaptive weights are applied to calculate the number of slots that will be allocated to each process and the length of each round such that:
每轮的调度规律Scheduling rules for each round
一旦已分配好每条流程,则已计算了一轮中的若干时隙和该轮的长度。下一步是要选择在任何给定时隙中要服务的流程。在第n轮的任意给定时隙m中,如果在先前的时隙之一所选择的分组仍在受到服务,则无需选择要服务的新流程。另一方面,如果在第n轮的此时隙m中,没有任何分组正在受到服务,则以如下方式选择要服务的流程。对于调度器需要选择要服务的新流程的每个时隙m,及对于每个流程j,计算以下流程j的第n轮的时隙m的选择度量,Once each process has been assigned, the number of slots in a round and the length of the round have been calculated. The next step is to select the processes to be served in any given time slot. In any given time slot m in round n, if a packet selected in one of the previous time slots is still being served, then there is no need to select a new flow to serve. On the other hand, if no packet is being served in this time slot m of round n, the flow to be served is selected as follows. For each slot m for which the scheduler needs to select a new process to serve, and for each process j, compute the selection metric for slot m of the nth round of process j as follows,
以使j∈B[n]和slots_served[j,n]<θ(j)*slots_alloc[j,n],此处,θ(j)是为每条流程j预先指定的,wait_comp是给予流程以改进其延迟边界的等待补偿。令wait[j,n,m]为在第n轮的时隙m的开始流程j的排头分组的等待时间。So that j∈B[n] and slots_served[j,n]<θ(j)*slots_alloc[j,n], here, θ(j) is pre-specified for each process j, and wait_comp is given to the process Improve wait compensation for its latency bounds. Let wait[j,n,m] be the waiting time of the top packet of the start flow j in the slot m of the nth round.
且在第n轮的时隙m的开始,流程j至少有一个分组未决。接下来,为流程k计算:And at the beginning of time slot m of round n, process j has at least one packet pending. Next, compute for process k:
以使k∈B[n],且这些流程的个数为wait_num[n,m]。对于每条流程j,对wait_compthres,min[j]和wait_compthres,max[f]这两个阈值进行赋值,并用于确保So that k∈B[n], and the number of these processes is wait_num[n, m]. For each process j, the two thresholds of wait_comp thres, min [j] and wait_comp thres, max [f] are assigned and used to ensure
具有选择度量YY的最大值的流程被选择由此AFS调度器在任何给定时隙中进行服务。The flow with the largest selection metric YY is selected by the AFS scheduler to serve in any given time slot.
根据一个实施例的AN元件在图20中示出。AN元件500接收应用程序流程数据并处理该数据以供向用户传输。AN元件500对多个应用程序流程进行调度,其中每条流程都具有QoS要求。注意,如上文所述,应用程序流程可包括尽力服务型流程。AN元件500包括流程分类单元502,适用于识别与流程相关联通信量概况和QoS概况、并将流程映射到类(或QSG)流程。流程分类器单元502耦合到调度器504、允许进入控制单元510和QoS监视器506。调度器504可实现各种调度算法中的任何一种,包括,但不限于,比例公平(PF)算法和自适应加权PF算法。允许进入控制单元510将一种允许进入控制方案应用到AN 500所接收到的应用程序流程。允许进入控制单元510基于QoS和网络统计量,对所请求的每个新流程进行估值,并确定是否有足够资源可用以支持该新流程。自适应单元耦合到允许进入控制单元,在那里ASF得到更新。自适应单元512适用于对当前有效的应用程序流程进行先占决策。先占考虑到某一给定流程有关数据率、所用时隙、和其它QoS和网络统计量流程的性能。QoS监视器适用于监视所接收的应用程序流程的QoS要求。注意,AN元件500通常接收多条流程,并在它们之间选择以供向用户传输。调度器504从允许进入控制单元510接收关于新流程是否被允许进入的信息。调度器504从QoS监视器506接收QoS统计量和其它信息,其中调度器504应用该QoS信息来选择传输的流程。An AN element according to one embodiment is shown in FIG. 20 . The AN
本文中所给出的是在无线通信系统中用于应用程序流程的允许进入控制、先占和调度的方法和设备。允许进入控制考虑新流程所请求的数据率,并将此与可用资源相比较。一旦被允许进入,流程即被提供给调度器,调度器适用于执行每条流程和每个用户的分析,来选择在每个时隙或指定的时间段中进行传输的用户。Presented herein are methods and apparatus for admission control, preemption and scheduling of application flows in a wireless communication system. Admission control takes into account the data rate requested by the new process and compares this to available resources. Once admitted, the flows are presented to the scheduler, which is adapted to perform per-flow and per-user analysis to select users for transmission in each time slot or specified time period.
本领域技术人员将能理解,信息和信号可用各种不同的方法和技术来表示。例如,贯穿以上描述可引用的数据、指令、命令、信息、信号、比特、符号、和芯片可由电压、电流、电磁波、磁场或磁粒子、光场或光粒子、或其任意组合来表示。Those of skill in the art would understand that information and signals may be represented in a variety of different ways and techniques. For example, data, instructions, commands, information, signals, bits, symbols, and chips that may be referenced throughout the above description may be represented by voltages, currents, electromagnetic waves, magnetic fields or particles, optical fields or particles, or any combination thereof.
此外,本领域技术人员还将理解,结合本文中所解释的各个实施例所描述的各种示例性逻辑框、模块、电路、和算法步骤可被实现为电子硬件、计算机软件、或两者的组合。为了清楚地说明硬件和软件的这一可交换性,以上就其功能一般描述了各种示例性组件、框、模块、电路、和步骤。此类功能实现为硬件还是软件是取决于特定的应用程序和制约整个系统的设计限制。本领域技术人员可为每个特定的应用程序以各种方式实现所描述的功能,但此类实现决定不应被解释成致使偏离本发明的范围。In addition, those skilled in the art would appreciate that the various illustrative logical blocks, modules, circuits, and algorithm steps described in connection with the various embodiments explained herein may be implemented as electronic hardware, computer software, or both. combination. To clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, modules, circuits, and steps have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints governing the overall system. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present invention.
结合本文中所揭示的各个实施例所描述的各种示例性逻辑框、模块、和电路可用通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、场可编程门阵列(FPGA)或其它可编程逻辑设备、分立门或晶体管逻辑、分立硬件组件、或其设计成执行本文中所描述的各种功能的任何组合来实现或执行。通用处理器可以是微处理器,但是,替换地,处理器可以是任何常规处理器、控制器、微控制器、或状态机。处理器可实现为若干计算设备的组合,例如DSP和微处理器、多个微处理器、结合DSP核心的一个或多个微处理器的组合,或任何其它此类配置。The various exemplary logical blocks, modules, and circuits described in connection with the various embodiments disclosed herein may be implemented with general purpose processors, digital signal processors (DSPs), application specific integrated circuits (ASICs), field programmable gate arrays (FPGAs), ) or other programmable logic devices, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the various functions described herein are implemented or performed. A general-purpose processor may be a microprocessor, but in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine. A processor may be implemented as a combination of several computing devices, eg, a combination of a DSP and a microprocessor, multiple microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration.
结合本文中所揭示的各个实施例所描述的方法或算法的步骤可直接在硬件中、在处理器执行的软件模块中、或这两者的组合中具体化。软件模块可驻留在RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动磁盘、CD-ROM、或现有技术中已知的任何其它形式的存储介质中。示例性存储介质被耦合到处理器,以使处理器可从该存储介质读取信息,并将信息写到该存储介质中。或者,存储介质可集成到处理器中。处理器和存储介质可驻留在ASIC中。ASIC可驻留在用户终端中。或者,处理器和存储介质可作为分立组件驻留在用户终端中。The steps of the methods or algorithms described in conjunction with the various embodiments disclosed herein may be embodied directly in hardware, in software modules executed by a processor, or in a combination of both. A software module may reside in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art. An exemplary storage medium is coupled to the processor such that the processor can read information from, and write information to, the storage medium. Alternatively, the storage medium may be integrated into the processor. The processor and storage medium can reside in an ASIC. The ASIC may reside in a user terminal. Alternatively, the processor and storage medium may reside in the user terminal as discrete components.
提供所揭示的实施例的以上描述,以使本领域中任何技术人员能够制造或使用本发明。对于本领域技术人员来说,对这些实施例的各种修改将是显而易见的,并且本文中所定义的普遍原理可适用于其它实施例,而不会偏离本发明的精神和范围。因此,并不试图将本发明限于本文中所示的实施例,而是要使其符合与本文中所揭示的原理和新颖特性相一致的最宽泛的范围。The above description of the disclosed embodiments is provided to enable any person skilled in the art to make or use the invention. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments without departing from the spirit and scope of the invention. Thus, the intention is not to limit the present invention to the embodiments shown herein but to accord it the widest scope consistent with the principles and novel features disclosed herein.
Claims (8)
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US45590603P | 2003-03-17 | 2003-03-17 | |
| US60/455,906 | 2003-03-17 | ||
| US10/425,854 | 2003-04-28 |
Related Child Applications (3)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN2008101691463A Division CN101414967B (en) | 2003-03-17 | 2004-03-17 | Admission control and resource allocation in a communication system supporting quality of service |
| CN200810169142.5A Division CN101582843B (en) | 2003-03-17 | 2004-03-17 | Admission control and resource allocation in communication system supporting quality of service |
| CN2008101691478A Division CN101414968B (en) | 2003-03-17 | 2004-03-17 | Method for managing resource in wireless communication system and device |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN1778080A CN1778080A (en) | 2006-05-24 |
| CN100579060C true CN100579060C (en) | 2010-01-06 |
Family
ID=36766716
Family Applications (4)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN2008101691478A Expired - Fee Related CN101414968B (en) | 2003-03-17 | 2004-03-17 | Method for managing resource in wireless communication system and device |
| CN2008101691463A Expired - Fee Related CN101414967B (en) | 2003-03-17 | 2004-03-17 | Admission control and resource allocation in a communication system supporting quality of service |
| CN200810169142.5A Expired - Fee Related CN101582843B (en) | 2003-03-17 | 2004-03-17 | Admission control and resource allocation in communication system supporting quality of service |
| CN200480010998A Expired - Fee Related CN100579060C (en) | 2003-03-17 | 2004-03-17 | Method and apparatus for controlling admission in a communication system supporting IP applications |
Family Applications Before (3)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN2008101691478A Expired - Fee Related CN101414968B (en) | 2003-03-17 | 2004-03-17 | Method for managing resource in wireless communication system and device |
| CN2008101691463A Expired - Fee Related CN101414967B (en) | 2003-03-17 | 2004-03-17 | Admission control and resource allocation in a communication system supporting quality of service |
| CN200810169142.5A Expired - Fee Related CN101582843B (en) | 2003-03-17 | 2004-03-17 | Admission control and resource allocation in communication system supporting quality of service |
Country Status (4)
| Country | Link |
|---|---|
| JP (1) | JP5204139B2 (en) |
| CN (4) | CN101414968B (en) |
| IL (1) | IL170840A (en) |
| UA (1) | UA90450C2 (en) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20130272121A1 (en) * | 2012-04-17 | 2013-10-17 | Cygnus Broadband, Inc. | Systems and methods for application-aware admission control in a communication network |
| CN104753812B (en) * | 2013-12-30 | 2019-12-10 | 台湾积体电路制造股份有限公司 | Application quality management in a communication system |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2001063849A2 (en) * | 2000-02-23 | 2001-08-30 | Microsoft Corporation | Quality of service over paths having a wireless-link |
| WO2002007388A2 (en) * | 2000-07-14 | 2002-01-24 | At & T Corp. | Frame classification for qos-driven wireless local area networks |
| CN1340279A (en) * | 1999-02-16 | 2002-03-13 | 诺基亚网络有限公司 | An admission control method |
| US20020061007A1 (en) * | 1999-01-13 | 2002-05-23 | Pankaj Rajesh K. | System for allocating resources in a communication system |
| WO2002056564A1 (en) * | 2001-01-16 | 2002-07-18 | Operax Ab | Network resource manager in a mobile telecommunication system |
Family Cites Families (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE69733129T2 (en) * | 1997-06-20 | 2006-03-09 | Alcatel | Method and device for transmitting data packets with priorities |
| JP3776573B2 (en) * | 1997-09-24 | 2006-05-17 | 富士通株式会社 | Stream bandwidth control method |
| US6236656B1 (en) * | 1998-03-19 | 2001-05-22 | Telefonaktiebolaget Lm Ericsson (Publ) | Link-efficiency based scheduling in radio data communications systems |
| JP3142268B2 (en) * | 1999-02-23 | 2001-03-07 | 株式会社エイ・ティ・アール環境適応通信研究所 | Communication service quality control method and apparatus |
| JP3676121B2 (en) * | 1999-06-01 | 2005-07-27 | 三菱電機株式会社 | Parameter determining apparatus, parameter determining method, and computer-readable recording medium storing a program for causing a computer to execute the method |
| GB2367716B (en) * | 2000-02-08 | 2002-05-29 | Marconi Comm Ltd | Communications system |
| US6493331B1 (en) * | 2000-03-30 | 2002-12-10 | Qualcomm Incorporated | Method and apparatus for controlling transmissions of a communications systems |
| JP3776308B2 (en) * | 2000-12-06 | 2006-05-17 | 日本電信電話株式会社 | COMMUNICATION CONTROL METHOD, COMMUNICATION CONTROL DEVICE, AND RECORDING MEDIUM CONTAINING CONTROL PROGRAM |
-
2004
- 2004-03-17 CN CN2008101691478A patent/CN101414968B/en not_active Expired - Fee Related
- 2004-03-17 UA UA2005009660A patent/UA90450C2/en unknown
- 2004-03-17 CN CN2008101691463A patent/CN101414967B/en not_active Expired - Fee Related
- 2004-03-17 CN CN200810169142.5A patent/CN101582843B/en not_active Expired - Fee Related
- 2004-03-17 CN CN200480010998A patent/CN100579060C/en not_active Expired - Fee Related
-
2005
- 2005-09-13 IL IL17084005A patent/IL170840A/en not_active IP Right Cessation
-
2010
- 2010-02-17 JP JP2010032612A patent/JP5204139B2/en not_active Expired - Fee Related
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20020061007A1 (en) * | 1999-01-13 | 2002-05-23 | Pankaj Rajesh K. | System for allocating resources in a communication system |
| CN1340279A (en) * | 1999-02-16 | 2002-03-13 | 诺基亚网络有限公司 | An admission control method |
| WO2001063849A2 (en) * | 2000-02-23 | 2001-08-30 | Microsoft Corporation | Quality of service over paths having a wireless-link |
| WO2002007388A2 (en) * | 2000-07-14 | 2002-01-24 | At & T Corp. | Frame classification for qos-driven wireless local area networks |
| WO2002056564A1 (en) * | 2001-01-16 | 2002-07-18 | Operax Ab | Network resource manager in a mobile telecommunication system |
Also Published As
| Publication number | Publication date |
|---|---|
| UA90450C2 (en) | 2010-05-11 |
| CN101414968A (en) | 2009-04-22 |
| CN101582843B (en) | 2014-11-26 |
| CN101414967B (en) | 2012-07-25 |
| CN101582843A (en) | 2009-11-18 |
| JP2010166582A (en) | 2010-07-29 |
| JP5204139B2 (en) | 2013-06-05 |
| CN1778080A (en) | 2006-05-24 |
| IL170840A (en) | 2010-11-30 |
| HK1088463A1 (en) | 2006-11-03 |
| CN101414967A (en) | 2009-04-22 |
| CN101414968B (en) | 2011-08-10 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US7453801B2 (en) | Admission control and resource allocation in a communication system supporting application flows having quality of service requirements | |
| US7406098B2 (en) | Resource allocation in a communication system supporting application flows having quality of service requirements | |
| CN101273586A (en) | Scheduling Priority Values for User Data Connections Based on Quality of Service Requirements | |
| CN100375467C (en) | Scheduler with fairness control and quality of service support | |
| US20050047343A1 (en) | Bandwidth management in wireless networks | |
| US20060227796A1 (en) | Method and apparatus to facilitate real-time packet scheduling in a wireless communications system | |
| JP2007521759A (en) | Flow authorization control for wireless systems | |
| CN100369524C (en) | CDMA system up-bag dispatching method | |
| CN104619034A (en) | Real-time service-oriented packet scheduling method for LTE communication system | |
| US20080205275A1 (en) | Communication Resource Scheduling | |
| CN101061681B (en) | Communication time fair transmission management without explicit traffic specifications for wireless networks | |
| CN100579060C (en) | Method and apparatus for controlling admission in a communication system supporting IP applications | |
| Rhee et al. | A wireless fair scheduling algorithm for 1/spl times/EV-DO system | |
| CN107070620B (en) | Method and device for allocating resources of wireless communication system | |
| HK1088463B (en) | Method and apparatus for admission control in a communication system supporting ip applications |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| C06 | Publication | ||
| PB01 | Publication | ||
| C10 | Entry into substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 1088463 Country of ref document: HK |
|
| C14 | Grant of patent or utility model | ||
| GR01 | Patent grant | ||
| REG | Reference to a national code |
Ref country code: HK Ref legal event code: GR Ref document number: 1088463 Country of ref document: HK |
|
| CF01 | Termination of patent right due to non-payment of annual fee | ||
| CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20100106 Termination date: 20190317 |
