US7817660B2 - High capacity scheduler - Google Patents

High capacity scheduler Download PDF

Info

Publication number
US7817660B2
US7817660B2 US12/093,266 US9326608A US7817660B2 US 7817660 B2 US7817660 B2 US 7817660B2 US 9326608 A US9326608 A US 9326608A US 7817660 B2 US7817660 B2 US 7817660B2
Authority
US
United States
Prior art keywords
data
memory partition
scheduling
memory
parameter data
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.)
Active, expires
Application number
US12/093,266
Other versions
US20080279099A1 (en
Inventor
Rikard Thomasson
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Telefonaktiebolaget LM Ericsson AB
Original Assignee
Telefonaktiebolaget LM Ericsson AB
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Telefonaktiebolaget LM Ericsson AB filed Critical Telefonaktiebolaget LM Ericsson AB
Publication of US20080279099A1 publication Critical patent/US20080279099A1/en
Application granted granted Critical
Publication of US7817660B2 publication Critical patent/US7817660B2/en
Active legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/13Flow control; Congestion control in a LAN segment, e.g. ring or bus
    • H04L47/135Flow control; Congestion control in a LAN segment, e.g. ring or bus by jamming the transmission media
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W72/00Local resource management
    • H04W72/50Allocation or scheduling criteria for wireless resources
    • H04W72/56Allocation or scheduling criteria for wireless resources based on priority criteria
    • H04W72/566Allocation or scheduling criteria for wireless resources based on priority criteria of the information or information source or recipient
    • H04W72/569Allocation or scheduling criteria for wireless resources based on priority criteria of the information or information source or recipient of the traffic information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2441Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/6215Individual queue per QOS, rate or priority

Definitions

  • the present invention relates to scheduling of data being transmitted over the air interface. More particular, the invention relates to a method and an apparatus for HSDPA scheduling.
  • a packet scheduler is needed for scheduling the packets at given time instants, or transmission opportunities.
  • the task of the scheduler is to select a user or a plurality of users that shall be allowed for having a transmission performed during a certain transmission time interval (TTI).
  • TTI transmission time interval
  • data queues pertaining to individual users are consecutively evaluated.
  • Various selections shall be done at every scheduling instant, e.g. at every sub-frame for HSDPA, and according to a certain scheduling strategy.
  • FIG. 1 shows different entities required for the traffic data handling in the MAC-hs layer.
  • a user given access to the HSDPA service comprises a number of MAC-d flows, sent on the Iub interface, each one containing packets of one or several priorities. These packets are buffered in MAC-hs in different priority queues via the priority queue distribution entity. Furthermore, as can be seen, there exists a scheduling/priority handling routine that considers all priority queues and selects which one shall transmit for each transmission opportunity. The priority queue selected for transmission is allocated resources in the so called HARQ (Hybrid Automatic repeat Request) entity, where the scheduled packet is stored for transmission and possibly one or more retransmissions.
  • HARQ Hybrid Automatic repeat Request
  • TFRC Transport Format and Resource Combination selection routine running that decides, for each transmitted package how much physical resources shall be allocated in terms of transmission power (W), number of HS-PDSCH codes and modulation (QPSK/16QAM (Quadrature Phase Shift Keying/16 Quadrature Amplitude Modulation)).
  • W transmission power
  • QPSK/16QAM Quadrature Phase Shift Keying/16 Quadrature Amplitude Modulation
  • a known network comprising a content server, a core network (CN), a radio network controller (RNC), a radio base station (RBS) and a plurality of user entities (UE1 . . . UEn).
  • Downlink Traffic data pertaining to each user entity is transmitted through the RNC and further on to the RBS, whereby data is buffered in queues residing in the RNC, index QN, respectively and in the RBS, index QB, respectively.
  • Prior art document WO2005/034418 shows a medium access control (MAC) priority queue based scheduling pertaining to HSDPA.
  • the scheduling unit is based on hybrid automatic repeat request (HARQ) entity and a TFRC entity.
  • HARQ hybrid automatic repeat request
  • Each user entity may require various scheduling priorities for various data streams, depending on the service.
  • Voice over IP may e.g. require 2 scheduling priorities, while web surfing only a single scheduling priority reflecting the best effort nature of the service. For this reason, a number of specific queues are set up in both the RNC and the RBS, pertaining to a given user entity and data stream.
  • data queue QB(1, 2) corresponds to packets for user entity UE1, second scheduling priority.
  • Data pertaining to each user entity is transmitted from the content server over the core network, further on over the Iu Interface to the RNC where various data corresponding to various respective data streams are stored in priority queues.
  • the data of queues in the RNC in FIG. 2 may be identified by QN(UE, DS), where UE is the user entity number and DS is the identifier for the particular data stream. Since a service typically consists of several parallel data streams, there may be several priority queues for a given user entity, or there may be only one queue of traffic data, in the RNC or in the RBS respectively.
  • the priority queues may contain one or more packets or no packets at all. However, once a user is allocated to the HSPDA service of the network, data could be expected for that particular user.
  • FIG. 1 shows a known MAC model pertaining to standard 3GPP TS 25.321,
  • FIG. 2 shows components of a known 3G radio network
  • FIG. 3 shows a user and priority queue representation according to a preferred embodiment of the invention
  • FIG. 4 shows a user and priority queue indexing and memory partitioning according to the preferred embodiment of the invention
  • FIG. 5 shows a radio base station (RBS) according to a preferred embodiment of the invention
  • FIG. 6 shows a first alternative for arranging a priority subset in memory according to the invention
  • FIG. 7 shows a second alternative for arranging a priority subset in memory according to the invention
  • FIG. 8 shows a data detect routine used in the RBS of FIG. 5 .
  • FIG. 9 shows a transfer routine used in the RBS of FIG. 5 .
  • FIG. 10 shows a scheduling selection routine used in the RBS of FIG. 5 .
  • FIG. 11 shows an exemplary outcome of the invention.
  • a given user entity UEX may require a number of priority queues, PQ(X,Y) PQ(X, Z) relating to the data of incoming packets for different priorities. Accordingly, in the radio base station, knowledge is established for buffering, managing and transmitting the data streams to be delivered to the individual user entities.
  • the structure of this data as well as the used notation for each individual user entity has been illustrated in FIG. 3 .
  • the data relates to the specified MAC-hs handling seen in FIG. 1 .
  • the figure comprises a representation of a UE granted service to HSDPA. It consists of a HARQ entity (HE) and also a number of priority queues (c.f. FIG. 1 ).
  • QB(X,Z) is representing the buffered traffic data (packets) of the priority queue
  • QB_PAR(X,Z) representing the parameter subset of the priority queue
  • DI(X,Z) representing the delay of each priority queue.
  • FIG. 4 the indexing employed for an exemplary situation of a preferred embodiment of the invention is illustrated.
  • the ensemble of all priority queues PQ for all users UE are arranged in one array with index 1 , . . . , A+B.
  • A+B is the maximum number of priority queues that can be set up in a particular cell.
  • the users that each one of the priority queues belong to is simply denoted X and could range from 1, . . . , Nue, where Nue is the maximum number of users (UE) that can be set up in the very same cell, see FIG. 3 .
  • the priority queues are denoted PQ(X, 1, . . . , A+B) in this description.
  • the index X represents any user (in range 1, . . . , Nue) which happens to be connected to the priority queue in question.
  • the UE with index 8 has one priority queue residing in priority set S1 and another residing in S2. This situation is allowed.
  • a radio base station RBS comprising a first Interface (Iub) for receiving downlink data packets from a core network CN, a second Interface (Uu) for transmitting data packets to user entities, a processor CPU comprising or running a scheduling selection routine SSR, implementing the scheduling/priority handling in FIG. 1 , a transfer routine TR, and a data detect routine DDR, implementing the priority queue distribution mechanism in FIG. 1 .
  • the standardized TFRC selection routine TFR is provided for allocation physical resources for the selected packet and transmit it on the Uu interface.
  • the processor carries out a data detect routine DDR is shown in FIG. 8 , the transfer routine TR is shown in FIG. 9 , and the scheduling selection routine SSR is shown in FIG. 10 .
  • the processor receives data on the Iub Interface and communicates data to the first and second memories. Finally, the processor transmits scheduled packets over the Uu interface,
  • the specific scheduling selection scheme makes use of what shall be denoted as at least two memory partitions, PRT 1 and PRT 2 .
  • Respective parameter data QB_PAR(X,Y) relating to respective subsets of priority queues, S1 and S2, are stored in respective memory partitions, PRT 1 and PRT 2 .
  • the radio base station of FIG. 5 allows for A+B priority queues to be allocated for the service in the cell.
  • the priority queues of the first subset S1 are not considered for scheduling, whereas the priority queues in the second subset S2 are considered.
  • a maximum of B priority queues are considered in the scheduler at any given time.
  • not all priority queues that are granted access to the service are considered for scheduling at each transmission opportunity.
  • the data detect routine DDR detects incoming data.
  • the processor CPU is transferring parameter data between the first PRT 1 and the second PRT 2 memory partition, and vice versa, by means of the transfer routine TR and the scheduling selection routine SSR, respectively.
  • the processor takes into account traffic data, or packets, which are buffered for all users in QB(X, 1), . . . , QB(X, A+B).
  • the packet data of a priority queue remains in the first memory partition PRT 1 until it is scheduled for transmission by the scheduling selection routine (SSR), as will be described in more detail later.
  • Parameter data of a priority queue should preferably only exist in one partition at a time, that is, redundant copies of parameter data should advantageously be avoided.
  • parameter data pertaining to the first subset S1 is arranged in slow access memory partition PRT 1
  • parameter data pertaining to the second subset S2 is arranged in fast access memory partition PRT 2
  • M 1 is a so-called fast memory and M 2 which may have the same or less efficient read access.
  • both subsets are arranged in the same memory M 1 , but the scheduling selection routine (SSR) is aware to which set S1 or S2 a particular priority queue belongs. As mentioned above, consideration is restricted to priority queues belonging to set S2.
  • the memory can be arranged so as to have different physical partitions of the memory for storing the set S1 and S2 respectively (PRT 1 , PRT 2 ).
  • the first memory partition PRT 1 resides in an external memory while the second memory partition PRT 2 resides in an internal memory.
  • Traffic data packets P may be stored in respective buffers QB(X,Y) for corresponding priority queues PQ(X,Y) in the memory partition PRT 1 .
  • Parameter data relating to queue status e.g, channel quality average data rate etc, are divided into the first memory partition and the second memory partition, so that there is provided parameter data QB_PAR(X,1)-QB_PAR(X,A) relating to a first subset of the traffic data queues are stored in the PRT 1 memory partition and parameter data QB_PAR(X,A+1)-QB_PAR(X, A+B) relating to a second subset of the traffic data queues are stored in the PRT 2 memory partition.
  • Delay indicator measures DI(X,1) through DI(X,A+B) for priority queues QB(X,1) through QB(X,A+B) are provided in the second memory partition PRT 2 .
  • the data detect routine DDR maintains and updates the information whether data exists in queue and how long data has existed in queue without being transferred from PRT 1 to PRT 2 .
  • This information is denoted DI(X, 1), . . . , DI(X, A+B).
  • Parameter data of users are transferred from the first subset to the second subset by the data detect routine, when new data packets are received for an empty queue ( 55 ).
  • the data detect routine DDR carried out by the processor is illustrated.
  • the data detect routine continuously monitors all incoming data packets over the Iub Interface and determines, for each received data packet step 41 , which user and priority queue the data packet is belonging to among the totality of queues being provided in buffers QB (X,1) through QB (X,A+B), step 42 .
  • the corresponding queue for the individual detected packet P will be denoted PQ(X,Y), for user entity X of priority queue Y.
  • step 43 it is examined whether buffer QB(X,Y), related to PQ(X,Y), already contains previous data. If yes, step 45 , the packet is placed in the queue, and if no, step 44 , the delay indicator DI(X,Y) is set to 1.
  • step 51 for each transmission opportunity, for each priority queue PQ(X,Y) with a delay value DI(X,Y)>0, step 52 , the parameter subset QB_PAR(X,Y), belonging to PQ(X,Y), with the highest delay value is identified, step 53 . Subsequently, step 54 , it is resolved whether the number of priority queues in PRT 2 is lower than B.
  • step 55 the routine proceeds to step 56 .
  • step 53 for all QB_PAR(X,Y) related to priority queues PQ(X,Y) that do not have empty buffers QB(X,Y).
  • step 53 The parameter values having the highest delays, step 53 , are transferred to the PRT 2 as long as the number of parameter values in PRT 2 is below B, step 54 , i.e. if it is acknowledged there is space available in PRT 2 .
  • step 56 those queues having a value greater than 0, step 57 , are all incremented, step 58 , by 1, and the routine returns to step 51 , in which the routine is iterated for the next transmission opportunity.
  • the latter scheduling selection routine SSR is responsible for selecting which priority queue(s) should be granted resources on the air interface at every transmission opportunity for TFRC selection, for example.
  • any known scheduling routine known from HSPDA or elsewhere may be utilized for the actual scheduling on the air interface.
  • the scheduling selection routine SSR is provided for selection and scheduling data packets pertaining to users in a cell.
  • the routine considers parameter data for queues of individual users (QB_PAR(X,A+1)-QB_PAR(X,A+B)).
  • Such parameter data could contain anything forming a basis for scheduling, e.g, momentary channel quality, momentary data rate, average data rate, delay, scheduling frequency, scheduling priority etc.
  • Parameter data of users are transferred by the scheduling selection routine SSR from the second memory partition to the first memory partition when the corresponding traffic data queues are emptied ( 66 ).
  • the scheduling selection routine SSR according to the invention is shown. Also this routine is commenced for each transmission opportunity, step 61 .
  • step 62 a selection is carried out for which priority queue that shall transmit, e.g. PQ(X,Y).
  • the transmission is carried out according to the appropriate scheduling routine (TFR) which takes into account various factors, signal strength conditions, etc CQI Channel Quality Indicator (Measurement of the channel quality that is transmitted from UE to UTRAN).
  • TFR scheduling routine
  • the scheduling selection routine of FIG. 10 can be seen as providing the basis for which the actual scheduling (e.g. TFR) is performed; confer the denotation scheduling selection routine.
  • step 63 still according to an appropriate scheduling routine, it is determined how much data shall be transmitted for PQ(X,Y).
  • step 64 data is fetched from QB(X,Y) residing in PRT 2 and transmitted.
  • step 65 it is resolved whether the buffer QB(X,Y) is empty after the recent transmission, if no, the routine proceeds to step 61 waiting for the next scheduling interval, if yes the corresponding parameter value QB_PAR(X,Y) is moved from PRT 2 to PRT 1 and proceeds to step 66 . If no the routine goes to step 61 .
  • step 66 the delay indicator is set to zero and the parameter data QB_PAR(X,Y) is moved from the first to the second memory partition.
  • the bursty nature of packet data traffic is exploited so that during periods where a given user has no data in queue, the given user is removed from being considered for scheduling, thus liberating the scheduler from CPU load and memory consumption.
  • the first memory is an external memory
  • the second memory is an internal memory co-located with the processor (CPU), as illustrated in FIG. 7 .
  • the first and second memory partition may reside in the same monolithic chip, whereby the first memory partition is providing less fast access than the second memory partition.
  • FIG. 11 shows the situation for one particular PQ(X,Z) for a number of TTIs, sub frames, or transmission opportunities, numbered from 1 to 14.
  • TTI 1 and 2 the PQ has no data and resides in memory partition PRT 1 .
  • the scheduling selection routine (SSR) does not consider the PQ for transmission, denoted by “-” in the corresponding SSR field.
  • the data indicator DI is 0 indicating that no data is present in this buffer QB.
  • TTI 3 a packet P 1 arrives via its MAC-d flow and is put in the buffer QB(X,Z) via the DDR routine.
  • DI(X,Z) is set to 1 indicating that it is the first TTI with data in queue, and queue still residing in PRT 1 .
  • TTI 3 - 5 the queue still contains data but is not moved to PRT 2 due to lack of memory in PRT 2 .
  • the DI(X,Z) increments each TTI indicating that the waiting time for the PQ with data in buffer QB increases.
  • a new packet P 2 arrives to the priority queue buffer QB.
  • memory is supposedly liberated in PRT 2 and the PQ is moved from PRT 1 to PRT 2 .
  • the scheduling selection routine SSR selects the PQ, and its packet P 1 for transmission, denoted P 1 in corresponding SSR field.
  • P 1 in corresponding SSR field.
  • the scheduler considers the PQ(X,Z) for scheduling, but it does not select it, denoted by 0 in the SSR field.
  • the scheduler scheduling selection routine once again selects the PQ(X,Z) for transmission and decides to transmit the remaining packet P 2 .
  • the buffer QB is thus emptied by scheduler and moved from PRT 2 to PRT 1 .
  • DI is set to 1.
  • the PQ cannot be moved to PRT 2 due to lack of memory and hence, DI is incremented.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Radio Relay Systems (AREA)

Abstract

A first interface for receiving downlink data packets from a core network, a second interface for transmitting data packets to user entities, a processor comprising a scheduler, a first memory partition comprising and parameter data pertaining to a first subset of allocated priority queues, a second memory partition comprising parameter data pertaining to a second subset of allocated priority queues, is provided. The processor is transferring parameter data between the first and second memory partitions, and vice versa, whereby parameter data for priority queues having no data packets in corresponding buffers is prioritized for being transferred to the first memory partition, parameter data for priority queues having data packets in corresponding buffers is prioritized for being transferred to the second memory partition, the processor performing scheduling based on a selection of priority queues whose parameter data is residing in the second memory partition.

Description

FIELD OF THE INVENTION
The present invention relates to scheduling of data being transmitted over the air interface. More particular, the invention relates to a method and an apparatus for HSDPA scheduling.
BACKGROUND OF THE INVENTION
In HSDPA (High Speed Data Packet Access), where many users utilize physical resources on a specific shared channel, a packet scheduler is needed for scheduling the packets at given time instants, or transmission opportunities. The task of the scheduler is to select a user or a plurality of users that shall be allowed for having a transmission performed during a certain transmission time interval (TTI). In a cellular system, data queues pertaining to individual users are consecutively evaluated. Various selections shall be done at every scheduling instant, e.g. at every sub-frame for HSDPA, and according to a certain scheduling strategy.
Packet schedulers and scheduling strategies for HSDPA are widely known in the art. For HSDPA, the packet scheduler is located in the MAC-hs sub layer of layer 2, on the UT-RAN side. This is standardized according to 3GPP TS 25.321, Medium Access Control (MAC) protocol specification, c.f. FIG. 1.
FIG. 1 shows different entities required for the traffic data handling in the MAC-hs layer. A user given access to the HSDPA service comprises a number of MAC-d flows, sent on the Iub interface, each one containing packets of one or several priorities. These packets are buffered in MAC-hs in different priority queues via the priority queue distribution entity. Furthermore, as can be seen, there exists a scheduling/priority handling routine that considers all priority queues and selects which one shall transmit for each transmission opportunity. The priority queue selected for transmission is allocated resources in the so called HARQ (Hybrid Automatic repeat Request) entity, where the scheduled packet is stored for transmission and possibly one or more retransmissions. Finally there is a TFRC (Transport Format and Resource Combination) selection routine running that decides, for each transmitted package how much physical resources shall be allocated in terms of transmission power (W), number of HS-PDSCH codes and modulation (QPSK/16QAM (Quadrature Phase Shift Keying/16 Quadrature Amplitude Modulation)).
In FIG. 2, a known network is shown comprising a content server, a core network (CN), a radio network controller (RNC), a radio base station (RBS) and a plurality of user entities (UE1 . . . UEn). Downlink Traffic data pertaining to each user entity is transmitted through the RNC and further on to the RBS, whereby data is buffered in queues residing in the RNC, index QN, respectively and in the RBS, index QB, respectively.
Prior art document WO2005/034418 shows a medium access control (MAC) priority queue based scheduling pertaining to HSDPA. The scheduling unit is based on hybrid automatic repeat request (HARQ) entity and a TFRC entity.
Each user entity may require various scheduling priorities for various data streams, depending on the service. Voice over IP may e.g. require 2 scheduling priorities, while web surfing only a single scheduling priority reflecting the best effort nature of the service. For this reason, a number of specific queues are set up in both the RNC and the RBS, pertaining to a given user entity and data stream. By way of example, data queue QB(1, 2) corresponds to packets for user entity UE1, second scheduling priority.
Data pertaining to each user entity is transmitted from the content server over the core network, further on over the Iu Interface to the RNC where various data corresponding to various respective data streams are stored in priority queues. The data of queues in the RNC in FIG. 2 may be identified by QN(UE, DS), where UE is the user entity number and DS is the identifier for the particular data stream. Since a service typically consists of several parallel data streams, there may be several priority queues for a given user entity, or there may be only one queue of traffic data, in the RNC or in the RBS respectively. The priority queues may contain one or more packets or no packets at all. However, once a user is allocated to the HSPDA service of the network, data could be expected for that particular user.
In known solutions, all priority queues of all users are considered for transmission in a scheduler in each sub-frame. Thus, in the hardware implementation, for each priority queue that is allowed, the HSDPA service in a cell demands a certain amount of clock cycle capacity and memory consumption. This puts a fundamental limit on scheduler capacity.
SUMMARY OF THE INVENTION
It is a first object to set forth a scheduler unit, which can manage an enhanced level of end user traffic more efficiently for given hardware resources.
This object has been accomplished by the subject matter defined in claim 1.
It is a second object to set forth a method for selection and scheduling that can manage an enhanced level of end user traffic more efficiently for given hardware resources.
This object has been accomplished by the subject matter set forth in claim 14.
Further objects and advantages will appear from the detailed description of preferred embodiments of the invention.
BRIEF DESCRIPTION OF THE FIGURES
FIG. 1 shows a known MAC model pertaining to standard 3GPP TS 25.321,
FIG. 2 shows components of a known 3G radio network,
FIG. 3 shows a user and priority queue representation according to a preferred embodiment of the invention,
FIG. 4 shows a user and priority queue indexing and memory partitioning according to the preferred embodiment of the invention,
FIG. 5 shows a radio base station (RBS) according to a preferred embodiment of the invention,
FIG. 6 shows a first alternative for arranging a priority subset in memory according to the invention,
FIG. 7 shows a second alternative for arranging a priority subset in memory according to the invention,
FIG. 8 shows a data detect routine used in the RBS of FIG. 5,
FIG. 9 shows a transfer routine used in the RBS of FIG. 5,
FIG. 10 shows a scheduling selection routine used in the RBS of FIG. 5, and
FIG. 11 shows an exemplary outcome of the invention.
DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS OF THE INVENTION Notation
A given user entity UEX according may require a number of priority queues, PQ(X,Y) PQ(X, Z) relating to the data of incoming packets for different priorities. Accordingly, in the radio base station, knowledge is established for buffering, managing and transmitting the data streams to be delivered to the individual user entities. The structure of this data as well as the used notation for each individual user entity has been illustrated in FIG. 3. The data relates to the specified MAC-hs handling seen in FIG. 1. The figure comprises a representation of a UE granted service to HSDPA. It consists of a HARQ entity (HE) and also a number of priority queues (c.f. FIG. 1). Each priority queue PQ(X,Z), in turn, has been further broken down into three different entities. Namely, QB(X,Z) is representing the buffered traffic data (packets) of the priority queue, QB_PAR(X,Z) representing the parameter subset of the priority queue, and DI(X,Z) representing the delay of each priority queue. These three representations will be described in detail later.
In FIG. 4, the indexing employed for an exemplary situation of a preferred embodiment of the invention is illustrated. The ensemble of all priority queues PQ for all users UE are arranged in one array with index 1, . . . , A+B. Where A+B is the maximum number of priority queues that can be set up in a particular cell. The users that each one of the priority queues belong to is simply denoted X and could range from 1, . . . , Nue, where Nue is the maximum number of users (UE) that can be set up in the very same cell, see FIG. 3.
The priority queues are denoted PQ(X, 1, . . . , A+B) in this description. The index X represents any user (in range 1, . . . , Nue) which happens to be connected to the priority queue in question.
Furthermore, with regard to FIGS. 3-5, the array of priority queues are divided into two different subsets, whereby S1={PQ(X, 1), . . . , PQ(X, A)} and S2={PQ(X, A+1), . . . , PQ(X, A+B)}. The subset S=S1 U S2 is the totality of all priority queues in the cell. In the example outlined in FIG. 4, it can be seen that the UE with index 8 has one priority queue residing in priority set S1 and another residing in S2. This situation is allowed.
Base Station
In FIG. 5, a preferred embodiment of a radio base station RBS is shown comprising a first Interface (Iub) for receiving downlink data packets from a core network CN, a second Interface (Uu) for transmitting data packets to user entities, a processor CPU comprising or running a scheduling selection routine SSR, implementing the scheduling/priority handling in FIG. 1, a transfer routine TR, and a data detect routine DDR, implementing the priority queue distribution mechanism in FIG. 1. Finally, the standardized TFRC selection routine TFR is provided for allocation physical resources for the selected packet and transmit it on the Uu interface.
The processor carries out a data detect routine DDR is shown in FIG. 8, the transfer routine TR is shown in FIG. 9, and the scheduling selection routine SSR is shown in FIG. 10.
The processor receives data on the Iub Interface and communicates data to the first and second memories. Finally, the processor transmits scheduled packets over the Uu interface,
According to the invention, the specific scheduling selection scheme makes use of what shall be denoted as at least two memory partitions, PRT1 and PRT2.
Respective parameter data QB_PAR(X,Y) relating to respective subsets of priority queues, S1 and S2, are stored in respective memory partitions, PRT1 and PRT2.
The radio base station of FIG. 5, allows for A+B priority queues to be allocated for the service in the cell. The priority queues of the first subset S1 are not considered for scheduling, whereas the priority queues in the second subset S2 are considered. Thus, a maximum of B priority queues are considered in the scheduler at any given time. Hence, according to the invention, not all priority queues that are granted access to the service are considered for scheduling at each transmission opportunity.
According to preferred embodiment of the invention, the data detect routine DDR detects incoming data. The processor CPU is transferring parameter data between the first PRT1 and the second PRT2 memory partition, and vice versa, by means of the transfer routine TR and the scheduling selection routine SSR, respectively. The processor takes into account traffic data, or packets, which are buffered for all users in QB(X, 1), . . . , QB(X, A+B). Preferably, the packet data of a priority queue remains in the first memory partition PRT1 until it is scheduled for transmission by the scheduling selection routine (SSR), as will be described in more detail later.
Parameter data of a priority queue should preferably only exist in one partition at a time, that is, redundant copies of parameter data should advantageously be avoided.
Memory
Advantageously, parameter data pertaining to the first subset S1 is arranged in slow access memory partition PRT1, while parameter data pertaining to the second subset S2, is arranged in fast access memory partition PRT2. Since stricter hardware limitations typically apply to the fast memory PRT2, liberating resources in the fast memory from the parameter data of the first subset will considerably increase the capacity of the scheduler. This has been illustrated in FIG. 7, whereby M1 is a so-called fast memory and M2 which may have the same or less efficient read access. Alternatively, both subsets are arranged in the same memory M1, but the scheduling selection routine (SSR) is aware to which set S1 or S2 a particular priority queue belongs. As mentioned above, consideration is restricted to priority queues belonging to set S2. The memory can be arranged so as to have different physical partitions of the memory for storing the set S1 and S2 respectively (PRT1, PRT2).
According to the preferred embodiment of the invention, the first memory partition PRT1 resides in an external memory while the second memory partition PRT2 resides in an internal memory. Traffic data packets P may be stored in respective buffers QB(X,Y) for corresponding priority queues PQ(X,Y) in the memory partition PRT1. Parameter data relating to queue status, e.g, channel quality average data rate etc, are divided into the first memory partition and the second memory partition, so that there is provided parameter data QB_PAR(X,1)-QB_PAR(X,A) relating to a first subset of the traffic data queues are stored in the PRT1 memory partition and parameter data QB_PAR(X,A+1)-QB_PAR(X, A+B) relating to a second subset of the traffic data queues are stored in the PRT2 memory partition. Delay indicator measures DI(X,1) through DI(X,A+B) for priority queues QB(X,1) through QB(X,A+B) are provided in the second memory partition PRT2.
DDR
The data detect routine DDR maintains and updates the information whether data exists in queue and how long data has existed in queue without being transferred from PRT1 to PRT2. This information is denoted DI(X, 1), . . . , DI(X, A+B). Parameter data of users are transferred from the first subset to the second subset by the data detect routine, when new data packets are received for an empty queue (55).
In FIG. 8, the data detect routine DDR carried out by the processor is illustrated. The data detect routine continuously monitors all incoming data packets over the Iub Interface and determines, for each received data packet step 41, which user and priority queue the data packet is belonging to among the totality of queues being provided in buffers QB (X,1) through QB (X,A+B), step 42. In the following, the corresponding queue for the individual detected packet P will be denoted PQ(X,Y), for user entity X of priority queue Y.
In step 43, it is examined whether buffer QB(X,Y), related to PQ(X,Y), already contains previous data. If yes, step 45, the packet is placed in the queue, and if no, step 44, the delay indicator DI(X,Y) is set to 1.
TR
    • In FIG. 9, the transferring routine TR is shown being operated in parallel to the data detect routine of FIG. 8. The transfer routine monitors delays, identifies priority queues for which packets delays are positive, moves parameter data from the first to the second memory partition and accounts for delays.
In step 51, for each transmission opportunity, for each priority queue PQ(X,Y) with a delay value DI(X,Y)>0, step 52, the parameter subset QB_PAR(X,Y), belonging to PQ(X,Y), with the highest delay value is identified, step 53. Subsequently, step 54, it is resolved whether the number of priority queues in PRT2 is lower than B.
If yes, the parameter subset QB_PAR(X,Y), belonging to PQ(X,Y), is moved from PRT1 to PRT2 and the corresponding delay value DI(X,Y) is set to 0, step 55. If no, the routine proceeds to step 56. This continues, cf. step 52, for all QB_PAR(X,Y) related to priority queues PQ(X,Y) that do not have empty buffers QB(X,Y). The parameter values having the highest delays, step 53, are transferred to the PRT2 as long as the number of parameter values in PRT2 is below B, step 54, i.e. if it is acknowledged there is space available in PRT2.
Still, for the same transmission opportunity (TTI), for each queue, step 56, those queues having a value greater than 0, step 57, are all incremented, step 58, by 1, and the routine returns to step 51, in which the routine is iterated for the next transmission opportunity.
SSR
The latter scheduling selection routine SSR is responsible for selecting which priority queue(s) should be granted resources on the air interface at every transmission opportunity for TFRC selection, for example. Alternatively any known scheduling routine known from HSPDA or elsewhere may be utilized for the actual scheduling on the air interface. According to a preferred embodiment of the invention, the scheduling selection routine SSR is provided for selection and scheduling data packets pertaining to users in a cell. The routine considers parameter data for queues of individual users (QB_PAR(X,A+1)-QB_PAR(X,A+B)). Such parameter data could contain anything forming a basis for scheduling, e.g, momentary channel quality, momentary data rate, average data rate, delay, scheduling frequency, scheduling priority etc. Parameter data of users are transferred by the scheduling selection routine SSR from the second memory partition to the first memory partition when the corresponding traffic data queues are emptied (66).
In FIG. 10, the scheduling selection routine SSR according to the invention is shown. Also this routine is commenced for each transmission opportunity, step 61.
In step 62, a selection is carried out for which priority queue that shall transmit, e.g. PQ(X,Y). The transmission is carried out according to the appropriate scheduling routine (TFR) which takes into account various factors, signal strength conditions, etc CQI Channel Quality Indicator (Measurement of the channel quality that is transmitted from UE to UTRAN). Hence the scheduling selection routine of FIG. 10 can be seen as providing the basis for which the actual scheduling (e.g. TFR) is performed; confer the denotation scheduling selection routine.
In step 63, still according to an appropriate scheduling routine, it is determined how much data shall be transmitted for PQ(X,Y).
In step 64 data is fetched from QB(X,Y) residing in PRT2 and transmitted.
In step 65 it is resolved whether the buffer QB(X,Y) is empty after the recent transmission, if no, the routine proceeds to step 61 waiting for the next scheduling interval, if yes the corresponding parameter value QB_PAR(X,Y) is moved from PRT2 to PRT1 and proceeds to step 66. If no the routine goes to step 61.
In step 66, the delay indicator is set to zero and the parameter data QB_PAR(X,Y) is moved from the first to the second memory partition.
According to the invention, the bursty nature of packet data traffic is exploited so that during periods where a given user has no data in queue, the given user is removed from being considered for scheduling, thus liberating the scheduler from CPU load and memory consumption.
Since the nature of packet data traffic is exploited, the above advantage is not present for services in which data flows exclusively continuously, e.g, streaming services.
According to a preferred embodiment of the invention, the first memory is an external memory, while the second memory is an internal memory co-located with the processor (CPU), as illustrated in FIG. 7.
Alternatively, the first and second memory partition may reside in the same monolithic chip, whereby the first memory partition is providing less fast access than the second memory partition.
Packet Handling—an Example
FIG. 11 shows the situation for one particular PQ(X,Z) for a number of TTIs, sub frames, or transmission opportunities, numbered from 1 to 14. In TTI 1 and 2 the PQ has no data and resides in memory partition PRT1. The scheduling selection routine (SSR) does not consider the PQ for transmission, denoted by “-” in the corresponding SSR field. Also the data indicator DI is 0 indicating that no data is present in this buffer QB. In TTI 3 a packet P1 arrives via its MAC-d flow and is put in the buffer QB(X,Z) via the DDR routine. At the same time DI(X,Z) is set to 1 indicating that it is the first TTI with data in queue, and queue still residing in PRT1. In TTI 3-5 the queue still contains data but is not moved to PRT2 due to lack of memory in PRT2. Hence, the DI(X,Z) increments each TTI indicating that the waiting time for the PQ with data in buffer QB increases. Also in TTI 5, a new packet P2 arrives to the priority queue buffer QB. In TTI 6 memory is supposedly liberated in PRT2 and the PQ is moved from PRT1 to PRT2. In the very same TTI the scheduling selection routine SSR selects the PQ, and its packet P1 for transmission, denoted P1 in corresponding SSR field. Hence, in TTI 7, only P2 is left in buffer QB. Also in TTI 7 the scheduler considers the PQ(X,Z) for scheduling, but it does not select it, denoted by 0 in the SSR field. In TTI 8 the scheduler scheduling selection routine once again selects the PQ(X,Z) for transmission and decides to transmit the remaining packet P2. The buffer QB is thus emptied by scheduler and moved from PRT2 to PRT1. In TTI 10 a new packet arrives and DI is set to 1. In TTI 11 through 14 the PQ cannot be moved to PRT2 due to lack of memory and hence, DI is incremented.

Claims (19)

1. A radio base station comprising:
a first interface for receiving downlink data packets from a core network;
a second interface for transmitting data packets to user entities;
a processor further comprising:
a scheduler;
a first memory partition comprising for storing, parameter data pertaining to a first subset of allocated priority queues;
a second memory partition for storing parameter data pertaining to a second subset of allocated priority queues, whereby the processor is configured to transfer parameter data between the first memory partition and second memory partitions partition, and vice versa;
whereby parameter data for priority queues having no data packets in corresponding buffers is prioritized for being transferred to the first memory partition, parameter data for priority queues having data packets in corresponding buffers is prioritized for being transferred to the second memory partition, the processor configured to perform scheduling based on a selection of priority queues whose parameter data is residing in the second memory partition.
2. The radio base station according to claim 1, wherein transferring of traffic data between the first memory partition corresponds to a selection scheduling routine and wherein the transmitting of the packets is according to a scheduling routine.
3. The radio base station according to claim 1, wherein the first memory partition moreover comprises traffic data packets in buffers pertaining to all priority queues.
4. The radio base station according to claim 1, wherein the first and second memory partitions form part of a same memory.
5. The radio base station according to claim 1, wherein the first and second memory partitions constitute at least two respective separate memories.
6. The radio base station according to claim 1, wherein the transferring of data to/from the processor to/from the first memory partition is slower than transferring of data to/from the second memory partition.
7. The radio base station according to claim 5, wherein the first memory partition is an external memory, while the second memory partition is an internal memory sharing location with the processor.
8. The radio base station according to claim 1, wherein the parameter data comprises information forming a basis for scheduling, such as momentary channel quality, momentary data rate, average data rate, delay, scheduling frequency, or scheduling priority.
9. The radio base station according to claim 1, wherein the parameter data are transferred from the second memory partition to the first memory partition when the corresponding traffic data queues are emptied.
10. The radio base station according to claim 1, wherein priority queues with highest delays are identified and moved from the first partition to the second partition.
11. The radio base station according to claim 1, wherein priority queues are moved in so far the number of parameter values in the second memory partition is smaller than a predetermined number.
12. A method for selection and scheduling data packets pertaining to users in a cell, comprising the steps of:
buffering incoming packet data relating to users in queues and establishing parameter data for queues of individual users, wherein use is made of a first memory partition having parameter data pertaining to a first subset of allocated priority queues, a second memory partition having parameter data pertaining to a second subset of allocated priority queues; and
transferring parameter data between the first and second memory partitions, and vice versa, whereby parameter data for priority queues having no data packets in corresponding buffers is prioritized for being transferred to the first memory partition, parameter data for priority queues having data packets in corresponding buffers is prioritized for being transferred to the second memory partition, and whereby scheduling is based on a selection of priority queues whose parameter data is residing in the second memory partition.
13. The method according to claim 12, comprising the further step of scheduling selection routine, for scheduling/priority handling, a transfer routine, and a data detect routine for priority queue distribution.
14. The method according to claim 13, wherein the data detect routine:
continuously monitors all incoming data packets and determines, for each received data packet, to which user and priority queue data packets belong, among the totality of queues being provided;
maintains and updates whether data exists in queue and, if so, how long data has existed in queue without being transferred from the first memory partition to the second memory partition; and
transfers parameter data of users from the first memory partition to the second memory partition when new data packets are received for an empty queue.
15. The method according to claim 13, wherein the scheduling selection routine selects which priority queue(s) should be granted resources on an air interface at every transmission opportunity and whereby the scheduling selection routine considers parameter data for queues of individual users.
16. The method according to claim 15, wherein the parameter data is a basis for scheduling, such as momentary channel quality, momentary data rate, average data rate, delay, scheduling frequency, and scheduling priority.
17. The method according to claim 15, wherein parameter data of users are transferred by the scheduling selection routine from the second memory partition to the first memory partition when the corresponding traffic data queues are emptied.
18. The method according to claim 13, wherein the transfer routine (TR) monitors delays, identifies priority queues for which packets delays are positive, moves parameter data from the first to the second memory partition and accounts for delays.
19. The method according to claim 13, wherein the transferring routine is operated in parallel to the data detect routine and the scheduling selection routine.
US12/093,266 2005-11-18 2005-11-18 High capacity scheduler Active 2026-04-26 US7817660B2 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/IB2005/053814 WO2007057728A1 (en) 2005-11-18 2005-11-18 A method and base station for schedulin hsdpa

Publications (2)

Publication Number Publication Date
US20080279099A1 US20080279099A1 (en) 2008-11-13
US7817660B2 true US7817660B2 (en) 2010-10-19

Family

ID=38048325

Family Applications (1)

Application Number Title Priority Date Filing Date
US12/093,266 Active 2026-04-26 US7817660B2 (en) 2005-11-18 2005-11-18 High capacity scheduler

Country Status (7)

Country Link
US (1) US7817660B2 (en)
EP (1) EP1952586B1 (en)
JP (1) JP4778067B2 (en)
CN (1) CN101310483B (en)
AT (1) ATE553576T1 (en)
AU (1) AU2005338260B2 (en)
WO (1) WO2007057728A1 (en)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8432911B2 (en) 2010-01-15 2013-04-30 Alcatel Lucent Method and apparatus for reducing effects of lost packets on redundancy reduction in communication networks
US8548012B2 (en) * 2010-01-15 2013-10-01 Alcatel Lucent Method and apparatus for reducing redundant traffic in communication networks
US9083708B2 (en) * 2010-05-17 2015-07-14 Microsoft Technology Licensing, Llc Asymmetric end host redundancy elimination for networks
CN102387551B (en) * 2010-08-30 2014-03-26 普天信息技术研究院有限公司 Scheduling method
JP5500747B2 (en) * 2010-10-12 2014-05-21 サムスン エレクトロニクス カンパニー リミテッド Method and apparatus for communicating machine type communication data via an IU interface in a universal mobile communication system
US9619330B2 (en) * 2013-10-08 2017-04-11 Seagate Technology Llc Protecting volatile data of a storage device in response to a state reset
CN105868218B (en) * 2015-01-23 2019-08-30 ***通信集团河北有限公司 A kind of data processing method and electronic equipment
CN105992375A (en) * 2015-02-12 2016-10-05 普天信息技术有限公司 User scheduling method and device in private network wireless communication system
US9871610B2 (en) * 2015-10-30 2018-01-16 Citrix Systems, Inc. Method for packet scheduling using multiple packet schedulers
US11954518B2 (en) 2019-12-20 2024-04-09 Nvidia Corporation User-defined metered priority queues

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040258070A1 (en) * 2002-08-30 2004-12-23 Takenobu Arima Packet transmission scheduling method and base station device
US20050213587A1 (en) * 2004-03-26 2005-09-29 Samsung Electronics Co., Ltd. Apparatus and method for scheduling packets in a wireless communication system
US20060114936A1 (en) * 2004-12-01 2006-06-01 Analog Devices, Inc. Enhanced processing methods for wireless base stations
US7631247B2 (en) * 2002-08-13 2009-12-08 Panasonic Corporation Method of process configuration for multiple HARQ processes

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5752193A (en) * 1995-09-01 1998-05-12 Motorola, Inc. Method and apparatus for communicating in a wireless communication system
DE60115108T2 (en) * 2001-08-01 2006-07-27 Nokia Corp. DEVICE AND METHOD FOR FLOW CONTROL BASED ON PRIORITIES IN A MOBILE NETWORK
CA2393373A1 (en) * 2002-07-15 2004-01-15 Anthony Gerkis Apparatus, system and method for the transmission of data with different qos attributes.
SE0302685D0 (en) 2003-10-07 2003-10-07 Ericsson Telefon Ab L M Method and arrangement in a telecommunication system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7631247B2 (en) * 2002-08-13 2009-12-08 Panasonic Corporation Method of process configuration for multiple HARQ processes
US20040258070A1 (en) * 2002-08-30 2004-12-23 Takenobu Arima Packet transmission scheduling method and base station device
US20050213587A1 (en) * 2004-03-26 2005-09-29 Samsung Electronics Co., Ltd. Apparatus and method for scheduling packets in a wireless communication system
US20060114936A1 (en) * 2004-12-01 2006-06-01 Analog Devices, Inc. Enhanced processing methods for wireless base stations

Also Published As

Publication number Publication date
JP4778067B2 (en) 2011-09-21
EP1952586B1 (en) 2012-04-11
CN101310483B (en) 2012-02-08
ATE553576T1 (en) 2012-04-15
JP2009516453A (en) 2009-04-16
AU2005338260B2 (en) 2010-12-23
EP1952586A1 (en) 2008-08-06
CN101310483A (en) 2008-11-19
AU2005338260A1 (en) 2007-05-24
WO2007057728A1 (en) 2007-05-24
EP1952586A4 (en) 2011-04-06
US20080279099A1 (en) 2008-11-13

Similar Documents

Publication Publication Date Title
US7817660B2 (en) High capacity scheduler
EP2041928B1 (en) Compressed delay packet transmission scheduling
JP4397928B2 (en) A method for allocating resources of a wireless communication network to traffic to be transmitted to user equipment over a network channel
KR101169594B1 (en) Method for priority based queuing and assembling of packets
CN100586220C (en) Method of packet scheduling in high speed downlink packet access network
CN1921444B (en) Method for classified package dispatching and resource distributing based on service quality, and communication device
CN100431362C (en) Packet service scheduling method in mobile communication system
EP2589190B1 (en) Prioritization of data packets
CN101123622B (en) A method and device for Iub interface traffic control
EP2068505A1 (en) Method and device for reporting the uplink scheduling request and the emergency status in the wireless networks
CN1981489A (en) Mapping of shared physical channels depending on the quality of service class
JP2011509535A (en) Trigger optimization method for transmission of buffer status report (BSR) information
CN110808920B (en) Satellite communication flow control method with coexistence of CCSDS frame and IP message
KR20090047739A (en) Apparatus and method for reporting priority of mobile terminal
US20090103438A1 (en) Grant Based Adaptive Media Access Control Scheduling
EP1376948A1 (en) Quality of service scheduling for packet switched data services
CN100479421C (en) User apparatus and method for carrying out resource scheduling in wireless network
KR100788891B1 (en) Method and device for scheduling resources of packet level for integrated traffic
US8130713B2 (en) System and method for credit-based channel transmission scheduling (CBCTS)
KR101756434B1 (en) Transmission Device for Providing Voice and Data Service in Mobile Telecommunication System and Method for Providing Service Thereby
US20080049772A1 (en) Method of managing multiple traffic flows
Falconio et al. Design and performance evaluation of packet scheduler algorithms for video traffic in the high speed downlink packet access
Le et al. An improved scheduling algorithm for rtPS services in IEEE 802.16
CN114390589A (en) BSR (buffer status report) sending method, device, equipment and storage medium
Li et al. Performance of enhanced proportional fair scheduling in HSDPA for multimedia service streaming

Legal Events

Date Code Title Description
STCF Information on status: patent grant

Free format text: PATENTED CASE

CC Certificate of correction
FPAY Fee payment

Year of fee payment: 4

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552)

Year of fee payment: 8

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 12TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1553); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 12