Brevet FR2860381A1 — publié le 20050401

PROCEDE D'ALLOCATION DE RESSOURCES DANS UN SYSTEME DE RADIOCOMMUNICATION ET STATION DE BASE POUR METTRE EN OEUVRE LE PROCEDE La présente invention concerne l'allocation de ressources dans un système de communication. Elle concerne plus particulièrement l'allocation de ressources parmi un ensemble de ressources partagées dans un système de radiocommunication. De nombreux procédés d'allocation de ressources sont connus. Parmi ceuxci, on peut citer, à titre d'exemple, le procédé de "Round Robin" (tourniquet), dans lequel des ressources sont allouées pour servir différents utilisateurs à tour de rôle. Un procédé d'allocation tel que le "Round Robin" peut permettre de répartir les ressources de façon équitable entre les différents utilisateurs, en affectant à ces derniers un même niveau de priorité. Ainsi, la même quantité de données sera transmise à chaque utilisateur sur une période de temps de transmission. Un tel procédé, bien adapté aux réseaux filaires, ne peut cependant pas s'appliquer de façon satisfaisante dans un réseau de radiocommunication. Dans un tel réseau en effet, les canaux de propagation varient en permanence, en fonction des conditions radio, si bien qu'il est très difficile d'assurer un débit constant pour un utilisateur, et a fortiori une équité dans la quantité de données transmises aux différents utilisateurs sur une période de temps de transmission. En effet, si le lien radio d'un utilisateur donné est très dégradé, les données transmises sur ce lien ne pourront pas être décodées correctement à leur réception par cet utilisateur. L'équité ne sera alors plus respectée. En outre, des ressources de communication auront été utilisées inutilement, alors qu'elles auraient pu être mises à profit pour transmettre des données à destination d'un utilisateur disposant d'un lien radio de meilleure qualité. D'autres procédés d'allocation de ressources sont également connus et sont utilisés dans des réseaux de radiocommunication. Ces procédés prennent 2860381 -2- en compte la qualité des liens radio, en se basant par exemple sur un rapport signal sur interférence (C/D. La figure 1 illustre un exemple d'allocation selon un tel procédé. La partie supérieure de la figure fait apparaître des paquets de données DID4 à transmettre à quatre utilisateurs UI-U4 respectifs. Ainsi, les données D1 devront être transmises au premier utilisateur U1, les données D2 au deuxième utilisateur U2, D3 à U3 et D4 à U4. Le même niveau de priorité est affecté à chaque utilisateur. En revanche, les utilisateurs ont des liens radio de qualité différente. Pour simplifier l'exemple, on considère que la qualité d'un lien radio est traduite par un paramètre indiquant le nombre de paquets de données pouvant être reçus par l'utilisateur correspondant lors d'un intervalle de temps de transmission. On considère, dans cet exemple, que ce paramètre a une valeur Q1=5 pour l'utilisateur U1, ce qui signifie que U1 pourra recevoir cinq paquets de données DI au maximum, à chaque intervalle de temps de transmission. De même, les paramètres Q2-Q4 correspondant respectivement à la qualité des liens radio associés aux utilisateurs U2-U4, ont les valeurs suivantes: Q2=2, Q3=6 et Q4=3. La partie inférieure de la figure 1 représente les données transmises, en fonction des ressources allouées, pour chaque intervalle de temps de transmission. Le nombre de paquets de données pouvant être transmis à chaque intervalle a été fixé à 8 dans cet exemple. U3 a le lien radio de meilleure qualité, 6 ressources de communication vont donc lui être allouées en priorité, lors du premier intervalle de temps de transmission t1, pour qu'il puisse lui être transmis 6 paquets de données D3, c'est-àdire le nombre maximum de paquets pour cet utilisateur, en vertu de la qualité sur le lien correspondant (Q3=6). Les 2 ressources restantes pour cet intervalle tl vont être allouées à U1 qui a le second lien de meilleure qualité (Q1=5). Lors des intervalles de temps de transmission suivants t2, t3..., la même allocation des ressources sera faite, comme illustré sur la figure 1, tant que les paramètres Q1-Q4 resteront inchangés et que des données resteront à transmettre aux utilisateurs U1 et U3. 2860381 -3- On constate donc, sur cet exemple, que seuls les utilisateurs U1 et U3, qui bénéficient d'un lien radio de bonne qualité, peuvent recevoir des données sur une certaine période de temps. En outre, bien que la qualité des liens associés aux utilisateurs U1 et U3 diffère peu (Q1=5 et Q3=6), U3 reçoit trois fois plus de données que U1 sur la même période de temps. Un tel procédé d'allocation des ressources, qui privilégie les utilisateurs disposant d'un lien radio de bonne qualité, n'est pas non plus satisfaisant, car il lèse fortement certains utilisateurs, qui seraient pourtant en mesure de recevoir une quantité substantielle de données, au profit d'un nombre restreint d'autres utilisateurs. En outre, d'autres contraintes sont parfois négligées dans certains procédés connus d'allocation des ressources. Il s'agit par exemple du nombre de ressources effectivement disponibles au niveau de l'émetteur radio, du type de données transmises (un traitement identique des premières transmissions et des retransmissions peut être dommageable dans certains cas), ou encore des capacités de réception des terminaux utilisateurs (certains terminaux ne peuvent recevoir des données à chaque intervalle de temps de transmission par exemple). Un but de la présente invention est de limiter les inconvénients susmentionnés, en allouant les ressources selon un compromis efficace entre un certain niveau d'équité entre les utilisateurs et la prise en compte des conditions radio existant sur les liens radio correspondants. Un autre but de l'invention est de proposer une allocation des ressources bien adaptée aux systèmes de radiocommunication comprenant un 25 ensemble de ressources à partager entre différents utilisateurs. Un autre but encore de l'invention est d'améliorer l'efficacité de l'allocation des ressources, en tenant compte d'autres contraintes négligées dans les procédés d'allocation connus actuellement. L'invention propose ainsi un procédé d'allocation de ressources dans 30 un système de radiocommunication comprenant au moins une station de base agencée pour transmettre, dans des intervalles de temps de transmission 2860381 -4- successifs, des paquets de données à destination de terminaux radio, sur des ressources de communication partagées entre les terminaux radio, dans le cadre de sessions de transmission, chaque session étant relative à un terminal radio parmi lesdits terminaux radio, dans lequel on prévoit un ensemble de files d'attente agencées pour que les paquets de données à transmettre dans le cadre de chaque session de transmission soient placés dynamiquement dans une des files d'attente. Le procédé comprend les étapes suivantes: /al on affecte un poids respectif à chaque file d'attente; lb/ on classe les files d'attente en fonction au moins des poids qui leur o sont affectés respectivement; /c/ on sélectionne la première file d'attente selon le classement de l'étape lb/ ; /d/ pour un nouvel intervalle de temps de transmission, on calcule pour chaque session dans le cadre de laquelle doivent être transmis des paquets de données placés dans la file d'attente sélectionnée, une quantité dépendant au moins des conditions radio pour le terminal radio auquel ladite session radio est relative et d'un nombre de paquets déjà transmis dans le cadre de ladite session; le/ on alloue des ressources de communication à certaines au moins des sessions dans le cadre desquelles doivent être transmis des paquets de données placés dans la file d'attente sélectionnée, pour transmettre un nombre de paquets de données placés dans la file d'attente sélectionnée, ledit nombre de paquets de données dépendant du poids affecté à la file d'attente sélectionnée, lesdites sessions auxquelles des ressources de communication sont allouées étant déterminées en fonction au moins des quantités calculées à l'étape /d/ ; et /f/ tant que les files d'attente n'ont pas toutes été sélectionnées et qu'il reste des ressources disponibles pour ledit intervalle de temps de transmission, on sélectionne la file d'attente suivant la file d'attente précédemment sélectionnée dans le classement établi à l'étape /bl, et on répète les étapes /dl à /f/. 2860381 -5- Cette allocation en deux étages (un pour la sélection d'une file d'attente et l'autre pour la sélection des paquets de données à transmettre à l'intérieur d'une file d'attente sélectionnée) des ressources partagées permet de prendre en compte les conditions radio existant sur les liens radio correspondants, tout en assurant un certain niveau d'équité. Elle permet en outre de prendre en compte d'autres contraintes parfois négligées dans certains allocateurs de ressources classiques, comme un temps minimum à respecter pour un terminal entre deux réceptions de paquets de données transmis sur des intervalles de temps de transmission respectifs, un nombre de codes appliqués aux données pouvant être décodés sur un intervalle de temps de transmission, ou un type de modulation appliquée aux données pouvant être démodulées. Les retransmissions peuvent faire l'objet d'un traitement différencié des premières transmissions dans l'allocation des ressources. L'invention propose en outre une station de base agencée pour mettre en oeuvre le procédé ci-dessus. D'autres particularités et avantages de la présente invention apparaîtront dans la description ci-après d'exemples de réalisation non limitatifs, en référence aux dessins annexés, dans lesquels: - la figure 1, déjà commentée, est un schéma représentant un mode d'allocation des ressources selon un procédé d'allocation classique; - la figure 2 est un schéma illustrant un mécanisme adaptatif mis en oeuvre dans un premier étage de l'allocateur de ressources selon l'invention; - la figure 3 est un schéma représentant certaines opérations effectuées 25 par un second étage de l'allocateur de ressources selon l'invention. La présente invention trouve une application notamment dans les systèmes de radiocommunication comprenant un ensemble de ressources à partager entre différents utilisateurs. Elle sera décrite ci-après dans le contexte de la fonctionnalité HSDPA ( High Speed Downlink Packet Access ), disponible dans le système de radiocommunication UMTS ( Universal Mobile Telecommunication System ), sans toutefois restreindre la généralité de son objet. Une description d'ensemble de la fonctionnalité HSDPA peut être 2860381 -6- trouvée dans la spécification technique TS 25.308, Release 5, version 5.4. 0, publiée en mars 2003 par le 3GPP. Le HSDPA permet la transmission, par une station de base, de données à haut débit pour un ensemble de terminaux radio situés dans la zone de couverture de la station de base. Il s'appuie sur un canal de transport descendant à haut débit partagé en temps et en codes: le HS-DSCH ( High Speed Downlink Shared Channel ). Dans le mode FDD ( Frequency Division Duplex ), ce canal a notamment pour caractéristiques: (i) un intervalle de temps de transmission (TTI) de 2 millisecondes correspondant à 3 tranches temporelles de 666 ps; (ii) des processus hybrides de requête de retransmission des données de type HARQ ( Hybrid Automatic Repeat reQuest ) ; et (iii) un mécanisme adaptatif de codage et de modulation. Au niveau du réseau d'accès, une sous-couche spécifique du protocole de contrôle d'accès au médium, MAC-hs ( Medium Access Control high speed ), est localisée dans la station de base. Cette couche reçoit des données provenant de la sous-couche dite MAC-d localisée, quant à elle, dans le contrôleur de réseau radio RNC ( Radio Network Controller ) dont dépend la station de base. Ainsi, on fait en sorte d'offrir un débit optimum sur le canal HS-DSCH. Pour la même raison, le HS-PDSCH utilise un facteur d'étalement relativement faible, égal à 16. Dans une cellule donnée et pour un code de brouillage donné, il peut être établi jusqu'à 15 canaux HS-PDSCH utilisant des codes de channelisation orthogonaux. Des précisions sur le contrôle d'accès au médium peuvent être trouvées dans la spécification technique TS 25.321, Release 5, version 5.5.0, publiée en juin 2003 par le 3GPP. Pour un canal HS-DSCH, il doit être prévu un ou plusieurs canaux physiques de contrôle partagés spécifiques appelés HS-SCCH ( High Speed Shared Control CHannel ). Les informations de signalisation portées par les HS-SCCH identifient les terminaux destinataires des blocs transmis sur les HS-PDSCH, et leur fournissent un certain nombre d'indications utiles à la réception de ces blocs: un indicateur de format de transport et de ressources (TFRI, Transport Format and Resource Indicator ), donnant les 2860381 -7- informations concernant le format de la partie dynamique du canal HS-DSCH, notamment pour le schéma de modulation employé, et les ressources physiques allouées (codes de channelisation ) ; les informations liées au protocole HARQ, notamment la version de 5 redondance, un identifiant de processus HARQ, et un indicateur de nouveaux blocs de données. Des informations de contre-réaction sont par ailleurs retournées par le terminal, notamment pour les acquittements du protocole HARQ, pour les mesures utiles à l'adaptation de lien. Ces informations sont transmises par une ressource montante dédiée, sur un canal nommé HS-DPCCH ( High Speed - Dedicated Physical Control Channel ). A titre illustraiif, l'adaptation de lien permet de modifier le format de mise en forme des données à transmettre en fonction de la qualité de la liaison radio. A cet effet, le terminal renvoie périodiquement à la station de base une requête de mise en forme, basée sur une estimation du rapport signal sur interférence de la liaison descendante, appelée CQI ("Channel Quality Indicator"). Le paramètre CQI est codé sur 30 niveaux, l'écart entre deux niveaux correspondant à un écart de 1 dB dans le rapport signal sur interférence. A chaque valeur de CQI est associé un format de mise en forme des données, comprenant un schéma de modulation, un nombre de codes pouvant être reçus simultanément par le terminal dans un TTI, la taille du bloc d'information. Le mécanisme d'adaptation de lien a alors pour objet de choisir, en fonction des valeurs de CQI remontées, un format de transmission sur le canal HS-DSCH, de manière à assurer, avec un certain niveau de probabilité, un décodage des données par le terminal (on vise typiquement un taux d'erreur de 10% dans le décodage). Par ailleurs, chaque terminal peut fournir à la station de base sous la couverture radio de laquelle il se trouve, par l'intermédiaire du RNC, des informations concernant ses capacités de réception. Il indique ainsi à la station de base notamment: - s'il supporte les deux modulations prévues dans le système; à savoir la modulation QPSK ("Quadrature Phase Shift Keying") et la modulation 16-QAM ("16-Quadrature Amplitude Modulation"), ou -8-bien une seule d'entre elles; si sa mémoire lui permet de recevoir des données à tous les TTI, ou bien tous les n TTI seulement, avec n entier; si sa mémoire lui permet de mettre en oeuvre tous les modes possibles du protocole HARQ (mode de répétition, mode de redondance incrémentale totale ou partielle), ou bien certains d'entre eux seulement. A l'établissement des HS-DSCH et HS-SCCH, le contrôleur de réseau radio qui supervise la station de base (CRNC, Controlling RNC ) lui alloue o les ressources de code correspondantes, par cellule. A titre d'exemple, on peut prévoir de réserver une liste de L = 16 codes de facteur d'étalement 128 pour les canaux HS-SCCH. A chaque TTI, ces ressources sont réparties entre les différents utilisateurs pour lesquels des données sont à transmettre. Pour ce faire, une allocation des ressources va être effectuée par la sous-couche MAC-hs de la station de base considérée. Plusieurs sessions HSDPA impliquant un même terminal radio peuvent être actives simultanément. Dans ce cas, l'allocation des ressources sera effectuée sur la base des sessions plutôt que des terminaux radio. Dans la suite, on considère, pour simplifier le propos, sans en restreindre la portée, qu'une seule session de transmission peut avoir lieu simultanément pour chaque terminal radio, si bien que l'allocation sera considérée comme une allocation de ressources aux terminaux radio eux- mêmes. Selon l'invention, l'allocation des ressources est réalisée à l'issue de deux séries d'opérations: un premier étage de l'allocateur effectue une répartition des paquets de données à transmettre dans des files d'attente pondérées selon des niveaux de priorité, ainsi qu'une sélection d'une file d'attente parmi l'ensemble des files d'attente, et un second étage de l'allocateur détermine, à l'intérieur de la file d'attente sélectionnée, les utilisateurs à servir en priorité, ainsi que le nombre de paquets de données à transmettre à ces utilisateurs. 2860381 -9- On considère tout d'abord le premier étage de l'allocateur. Celui-ci effectue des opérations au niveau des paquets de données ou MAC-d PDU (par la suite notés PDU ("Packet Data Units")), et non au niveau des éléments binaires ou des octets comme le font de nombreux allocateurs classiques. Par la suite, on fait l'hypothèse que les PDU ont une taille unique. Pour les besoins du premier étage de l'allocateur, les paquets de données ayant des tailles différentes sont alors considérés comme autant de PDU avec cette taille unique. Le premier étage de l'allocateur s'appuie sur un certain nombre de files o d'attente indépendantes, typiquement 16 files d'attente. Il affecte à chacune des files d'attente des poids correspondants, qu'il peut ajuster à tout moment, par exemple en fonction de leur occupation. Les poids correspondent sensiblement à un nombre de PDU à transmettre. Ainsi, plus une file d'attente a un poids élevé, plus grand est le nombre paquets de données qu'elle pourra transmettre sur un ou plusieurs intervalles de temps de transmission. La somme des poids affectés aux différentes files d'attente peut être constante. A titre d'exemple, si ce total cumulé est de 272, on peut affecter aux files d'attente des poids respectifs selon la suite arithmétique: 2, 4, 6, 8, ..., 28, 30, 32. Toutefois, l'allocateur peut répartir les poids différemment. En particulier, si certaines files d'attente sont vides, c'est-à-dire qu'elles n'ont aucun PDU susceptible d'être transmis lors d'un prochain intervalle de temps de transmission, elles se verront avantageusement affecter un poids nul, de manière à privilégier les files d'attente actives contenant des PDU à transmettre: les poids sont alors affectés de façon à ce que le total cumulé de 272 soit réparti entre les files d'attente actives. Le premier étage de l'allocateur place dynamiquement les différents PDU à transmettre dans les files d'attente. Cette répartition peut être faite selon différents critères. Avantageusement, elle peut être effectuée en tenant compte d'un niveau de service ou de priorité, par exemple prévu par l'abonnement de l'utilisateur d'un terminal radio, ou associé à la session active de l'utilisateur. Le réseau dispose en effet d'informations concernant un niveau de priorité (paramètre "CmCH-PI" dans le standard UMTS), pouvant être lié à 2860381 -10- l'abonnement souscrit par l'utilisateur du terminal radio, qu'il transmet à la station de base. Un utilisateur ayant souscrit un abonnement de haut niveau bénéficiera d'un niveau de priorité élevé. L'allocateur pourra alors avantageusement placer les PDU à destination du terminal d'un tel utilisateur, dans la file d'attente ayant le poids le plus fort. De cette façon, l'utilisateur en question pourra écouler son trafic de façon prioritaire lors de l'intervalle de temps de transmission à venir, et bénéficier ainsi d'un débit généralement élevé. Inversement, un abonné ayant souscrit un abonnement minimal aura ses PDU orientés de préférence vers des files d'attente de poids moindres. Ainsi, chaque file d'attente recevra les PDU à destination d'un ou plusieurs utilisateurs bénéficiant d'un niveau de priorité correspondant. De façon avantageuse, l'affectation des poids aux files d'attente est telle que les poids affectés soient de valeur relativement faible, de façon à éviter qu'une file d'attente ayant un poids très supérieur aux autres, monopolise à elle seule les ressources radio disponibles, pour ne servir qu'un nombre restreint de terminaux au détriment des autres. On a vu plus haut que le nombre de PDU à transmettre pour chaque file d'attente était fixé par l'allocateur et qu'il servait notamment à pondérer la file d'attente correspondante. Selon un mode de réalisation avantageux de l'invention, ce nombre peut en fait varier entre des bornes pour autoriser la transmission d'un nombre légèrement supérieur ou inférieur à ce nombre théorique, afin de tenir compte de la qualité des liens radio entre le Node B et les terminaux radio auxquels les PDU sont destinés. Ce mécanisme permet par exemple de transmettre un nombre de paquets conforme à ce qu'un terminal radio est capable de recevoir en raison des conditions radio dont il bénéficie, alors que la file d'attente correspondante possède un poids légèrement inférieur à ce nombre de paquets. Une telle augmentation ou limitation ponctuelle du nombre de PDU transmis pour une file d'attente est ensuite prise en compte en sens inverse, pour se rapprocher du nombre théorique de PDU à transmettre lors de l'allocation des ressources pour l'intervalle de temps de transmission suivant. Ce mécanisme d'adaptation du nombre de paquets à transmettre 2860381 -11autour du poids prédéterminé peut se dérouler avantageusement de la façon suivante. Soit N le nombre théorique de paquets à transmettre pour une file d'attente donnée, qui correspond au poids affecté à cette file d'attente. On définit une borne supérieure Bs et une borne inférieure Bi autour de N. Une fenêtre glissante de largeur 2M, avec M entier inférieur ou égal à N12, est par ailleurs définie, de façon centrée ou non, autour de N. Cette fenêtre glissante comprend les valeurs possibles du nombre de PDU pouvant être transmis pour la file d'attente considérée lors d'un ou plusieurs intervalles de temps de transmission. La fenêtre glisse en fonction du nombre de PDU effectivement transmis à chaque intervalle de temps de transmission. Ainsi, si un nombre N+n de PDU est transmis à un instant donné, la fenêtre glissante sera décalée pour prendre des valeurs plus faibles de n lors de l'intervalle de temps de transmission suivant pour la file d'attente considérée. On prend ainsi en compte les déficits ou les avances consentis dans la transmission des paquets de données pour une file d'attente. Le décalage de la fenêtre glissante est cependant limité : sa valeur inférieure ne peut passer en dessous de N-2M et sa valeur supérieure ne peut dépasser N+2M. On limite ainsi l'adaptation du nombre de paquets à transmettre autour de la valeur théorique prédéterminée. La figure 2 illustre ce principe pour une file d'attente donnée. Les bornes Bs et Bi sont initialement fixées aux valeurs N+M et N-M respectivement dans cet exemple. La fenêtre glissante est donc bien contenue dans la plage comprise entre les valeurs extrêmes N+2M et N-2M. Lors du premier intervalle de temps de transmission représenté, to, le nombre de PDU effectivement transmis pour cette file d'attente est de N+ no, ce qui correspond à une avance de no par rapport au nombre théorique N. Lors de l'intervalle de temps de transmission suivant pour cette file d'attente, la fenêtre glissante est alors décalée vers le bas pour prendre en compte l'avance no, ce qui est représenté, sur la figure 2, par les expressions Bs(tt)=Bs(to)-no et Bi(ti)=Bi(to)-no. On a ainsi Bs(t1)=N+M-no et Bi(ti) =N-M-no. Lors de l'intervalle de temps de transmission suivant, t2, la fenêtre glissante est décalée vers le bas d'une valeur de n1, si bien que sa borne inférieure Bi coïncide avec la valeur minimale N-2M. Une nouvelle avance dans le nombre de PDU transmis dans l'intervalle t2 est donc exclue. Sur l'exemple illustré, un déficit de n2 apparaît 2860381 -12- dans la transmission (soit une "avance" de -n2 si n2 est positif). Lors de l'intervalle suivant t3, la fenêtre glissante est alors décalée vers le haut pour compenser ce déficit. Ce mécanisme se poursuit de la même façon par la suite. Il s'applique également à toutes les autres files d'attente actives. Par ailleurs, le premier étage de l'allocateur effectue, en plus de la répartition dynamique des PDU dans les files d'attente, une sélection d'une file d'attente donnée parmi les différentes files d'attente. L'indication de la file sélectionnée est fournie au second étage de l'allocateur, afin que ce dernier établisse un classement des PDU de cette file d'attente sélectionnée, en vue de leur transmission. La sélection d'une file d'attente par le premier étage de l'allocateur peut être effectuée selon différents critères. On peut par exemple sélectionner la file d'attente ayant le poids le plus élevé au moment de la sélection. Selon un autre mode de réalisation avantageux de l'invention, on sélectionne une file d'attente en fonction d'une part du poids affecté à chaque file d'attente, et d'autre part d'un nombre de PDU précédemment transmis à partir de chaque file d'attente. On privilégie alors de préférence la sélection d'une file d'attente ayant transmis peu de PDU lors de sa précédente période de transmission, mais à laquelle un fort poids a été affecté. A titre d'exemple, on peut sélectionner la file d'attente pour laquelle le rapport NpDulpoids est le plus faible, où NPDU désigne le nombre de PDU transmis à partir de la file d'attente considérée lors de sa dernière sélection. De façon avantageuse, un classement des files d'attente est effectué par le premier étage de l'allocateur sur la base d'un des critères susmentionnés (par exemple dans selon un ordre croissant du rapport NpDulpoids calculé pour chaque file d'attente), la sélection d'une file d'attente se limitant alors au choix de la file d'attente selon le classement établi. Ainsi, on sélectionne dans un premier temps la file d'attente en tête du classement, c'est-à-dire par exemple celle qui possède le rapport NpDulpoids le plus faible. Puis, lorsque l'allocation des ressources aura été complétée pour les terminaux radio à destination desquels des PDU étaient placées dans la première file d'attente du classement (ou les sessions relatives à ces terminaux), on sélectionnera alors 2860381 -13- la seconde file d'attente du classement, c'est-à-dire par exemple la file d'attente avec le second rapport NpDulpoids le plus faible, et ainsi de suite, jusqu'à ce que toutes les files d'attente actives aient été sélectionnées ou que toutes les ressources disponibles pour ce TTI aient été utilisées. On considère désormais le second étage de l'allocateur de ressources. Cet étage a pour but de définir, pour la file d'attente sélectionnée par le premier étage de l'allocateur, lesquels parmi les utilisateurs ayant des PDU classés dans la file d'attente sélectionnée, vont pouvoir disposer de ressources pour écouler du trafic, lors de l'intervalle de temps de transmission suivant. Il a également pour but de définir le nombre de PDU que ces utilisateurs vont pouvoir recevoir lors de l'intervalle de temps de transmission à venir. C'est dans ce second étage que les conditionsradio sont prises en compte pour chaque utilisateur. D'autres paramètres liés aux terminaux des utilisateurs sont également pris en compte dans cet étage. Dans le second étage de l'allocateur, une fonction de coût est associée à chaque terminal radio (ou à chaque session de transmission) susceptible de recevoir des PDU. Le terminal radio, dans une file d'attente donnée, pour lequel le coût calculé sera le plus faible, sera sélectionné en priorité pour recevoir les PDU qui lui sont destinés dans ladite file d'attente. La fonction de coût est choisie pour favoriser les utilisateurs bénéficiant de bonnes conditions radio, de manière à leur offrir un débit élevé. Elle respecte cependant également un certain niveau d'équité entre les différents utilisateurs, de manière à éviter une situation où seuls les utilisateurs bénéficiant de bonnes conditions radio pourraient recevoir des données, au détriment des autres. La fonction de coût réalise donc un compromis entre ces deux contraintes. On se place désormais au niveau d'une file d'attente donnée, préalablement sélectionnée par le premier étage de l'allocateur, et dans laquelle des PDU destinés à des terminaux ont été placés. La mise à jour des coûts pour chacun de ces terminaux a de préférence lieu à l'issue de la répartition des PDU effectuée par le premier étage de l'allocateur. La fonction de coût prend en compte plusieurs paramètres. Un premier 2860381 - 14 - paramètre est relatif aux conditions radio. De façon avantageuse, ce paramètre peut être le CQI remonté à la station de base par chaque terminal, comme mentionné plus haut. Toutefois, d'autres paramètres relatifs aux conditions radio peuvent également être utilisés, comme par exemple des commandes d'augmentation ou de diminution de la puissance d'émission, des estimations de la vitesse des terminaux, etc. La fonction de coût prend en compte en outre un paramètre permettant d'assurer un certain niveau d'équité entre les utilisateurs, en termes de débit écoulé. A cet effet, elle tient compte du nombre de PDU transmis lors du précédent intervalle de temps de transmission. Un moyennage exponentiel peut avantageusement être appliqué à cette fonction de coût. Cela permet de prendre en compte les paramètres précités sur une période de temps significative et pertinente. La fonction de coût peut alors s'exprimer sous la forme: COSti = p*COSti_1 + (1- p)*f( Npdu_transmis, CQI) (1) où costi représente le coût calculé pour l'intervalle de temps de transmission i, f est une fonction permettant d'assurer le compromis entre l'équité, basée sur le nombre Npdu_transmis de PDU transmis lors de l'intervalle de temps de transmission précédent, et la qualité du lien radio, basée dans cet exemple sur le paramètre CQI. Dans l'équation (1), p est un réel tel que 0 Dans un mode de réalisation de l'invention, on cherche à transmettre à chaque terminal radio un nombre de PDU en fonction des conditions radio mesurées pour ce terminal. On note Npdu _opt(CQI) ce nombre. Pour un terminal radio, le nombre de PDU transmis sera donc d'autant plus élevé que les conditions radio dont bénéficie ce terminal seront bonnes. On peut par exemple choisir de transmettre systématiquement le nombre de PDU maximum que le terminal considéré est capable de recevoir correctement, dans la limite, bien sûr, des poids associés à la file d'attente correspondante et des ressources -15-disponibles. La fonction de coût résultant de cette hypothèse peut alors s'écrire selon l'équation suivante, avec les notations introduites plus haut: costi = p*costi_1 + (1- p)*Npdu_transmis/Npdu_opt(CQI) (2) Une telle fonction de coût réalise bien un compromis entre une optimisation du débit radio et un certain niveau d'équité entre les utilisateurs. On illustre ci-après le fonctionnement du second étage de l'allocateur sur un exemple. On suppose, dans cet exemple, que des PDU destinés aux terminaux de trois utilisateurs distincts sont classés dans la file d'attente considérée. Parmi ces trois utilisateurs, le premier U1 possède un bon COI et peut recevoir jusqu'à 8 PDU par intervalle de temps de transmission (TTI), le deuxième U2 a un CQI plus faible que U1 et peut recevoir jusqu'à 5 PDU par TTI, et le troisième U3 possède le moins bon CQI des trois utilisateurs et ne peut recevoir que 3 PDU au maximum par TTI. On considère par ailleurs que 10 PDU peuvent être transmis par TTI. En outre, la fonction de coût utilisée par le second étage de l'allocateur est celle de l'équation (2), dans laquelle on a fixé p à la valeur 0,9. On prend enfin comme hypothèse de départ une valeur de coût de 0,625 à l'instant i-1, pour chacun des utilisateurs U1 à U3. La figure 3 illustre cet exemple. Pour le i-ème tour, on choisit l'utilisateur ayant la plus faible valeur de coût, déterminée selon l'équation (2). Les trois valeurs étant identiques dans ce cas, on choisit alors l'utilisateur présentant le meilleur COI, c'est-à-dire U1 dans cet exemple, pour recevoir en priorité les PDU qui lui sont destinés. L'allocation des ressources sera donc telle que le nombre maximum de PDU pouvant être reçus par U1, c'est-à-dire 8 PDU, lui soient transmis à l'instant i. Comme un total de 10 PDU peut être transmis à l'instant i pour la file d'attente considérée, les 2 (=10-8) ressources restantes vont être allouées aux PDU destinés à U2 qui a la seconde priorité, puisque les coûts sont les mêmes pour U2 et U3 et que U2 dispose d'un CQI meilleur que U3. En résumé, pour le i-ème tour, l'allocation est donc telle qu'elle réserve des ressources d'abord pour 8 PDU destinés à U1, puis pour 2 PDU destinés à U2. 2860381 -16- Les valeurs de coûts sont alors remises à jour pour le tour suivant i+1, selon l'expression (2). On obtient ainsi les coûts suivants: 0,662 pour U1, 0,602 pour U2 et 0,562 pour U3. C'est donc U3 qui possède le coût le plus faible, et qui sera à ce titre servi en premier lors de la prochaine transmission. Trois ressources seront donc allouées en priorité à la transmission de 3 PDU à destination de U3, ce qui correspondant au nombre maximum de PDU que U3 peut recevoir. Pour l'allocation des 7 (=10-3) ressources restantes, on détermine le second utilisateur a servir en priorité : il s'agit de U2 qui dispose du deuxième coût mis à jour le plus faible. Des ressources seront donc allouées pour que U2 puisse recevoir les 5 PDU qu'il est capable de recevoir. Les 2 (=7-5) ressources restantes seront allouées aux PDU destinés à ut comme illustré sur la figure 3. Les coûts sont alors à nouveau mis à jour pour le tour suivant. Puis l'allocation se poursuit de la même façon pour chaque intervalle de temps de 15 transmission. Dans l'exemple exposé ci-dessus, on peut montrer qu'après cinq tours d'allocation des ressources, le nombre de PDU transmis est de 27 pour U1, de 14 pour U2 et de 9 pour U3. Ainsi, les utilisateurs sont bien servis en fonction des conditions radio dont ils bénéficient: le débit offert à ut qui dispose du meilleur CQI, est en effet supérieur à celui des autres utilisateurs. En outre, un certain niveau d'équité a été respecté puisqu'aucun utilisateur n'a été lésé au point de ne pas de recevoir de PDU du tout: après cinq tours d'allocation, U3 a bénéficié de 18% des transmissions, malgré ses conditions radio défavorables. Comme indiqué plus haut, d'autres contraintes sur l'allocation des ressources peuvent apparaître. Ces contraintes sont avantageusement prises en compte dans le second étage de l'allocateur. Parmi ces contraintes, on peut citer un intervalle de temps minimum nécessaire entre deux transmissions de données à destination d'un terminal, selon les capacités de réception et de traitement dudit terminal. Cette information est transmise au Node B responsable de la communication HSDPA, comme décrit plus haut. Le second étage de l'allocateur la prend alors en compte de façon à respecter un nombre minimum de TTI entre deux allocations de ressources pour écouler du trafic à -17-destination du terminal considéré. De la même façon, des paramètres tels que le type de modulation supporté par un terminal, ou le nombre de codes qu'il est capable de décoder sur un intervalle de temps de transmission, sont fournis au Node B, par l'intermédiaire du RNC, et sont pris en compte dans le mécanisme d'allocation des ressources. Le second étage de l'allocateur est avantageusement chargé de cette prise en compte. Bien d'autres paramètres encore peuvent d'ailleurs faire l'objet d'une prise en compte par le second étage de l'allocateur de ressources selon la présente invention, comme par exemple le fait que les PDU présents dans une file d'attente ont déjà été transmis précédemment ou non. Un traitement particulier peut en effet être accordé aux retransmissions, par exemple pour les rendre prioritaires par rapport aux transmissions de PDU effectuées pour la première fois. A cet effet, l'allocateur se basera sur la réception des messages d'acquittement positifs ou négatifs reçus depuis les terminaux, comme décrit plus haut. L'allocation des ressources sur le canal HS-DSCH, selon l'allocateur proposé par la présente invention, se base donc sur les opérations préalables effectuées par les premier et second étages de l'allocateur. Elle consiste à utiliser successivement l'ensemble des ressources disponibles au niveau du Node B pour écouler des PDU respectifs à transmettre dans l'ordre suivant: pour une file d'attente sélectionnée par le premier étage de l'allocateur selon un mécanisme de sélection tel que décrit plus haut, on détermine les terminaux à destination desquels des PDU vont être transmis ainsi que le nombre de PDU à transmettre à chacun de ces terminaux, dans l'ordre croissant des coûts préalablement obtenus, pour chaque terminal, par le second étage de l'allocateur. Cette allocation est effectuée pour chaque intervalle de temps de transmission successivement. Lorsque la file d'attente sélectionnée par le premier étage ne contient 3o plus de PDU à transmettre ou bien a atteint le nombre de PDU maximum qu'elle peut transmettre (correspondant sensiblement à son poids), le premier étage sélectionne une nouvelle file d'attente parmi l'ensemble des files 2860381 -18- d'attente à l'exclusion de la file d'attente précédemment sélectionnée, puis on alloue alors des ressources pour les PDU classés dans cette nouvelle file d'attente sélectionnée selon un ordre déterminée par le second étage de l'allocateur. Une fois que toutes les files d'attente actives ont été successivement sélectionnées par le premier étage de l'allocateur et que les PDU qu'elles contenaient ont été transmis à l'issue d'une allocation de ressources tenant compte en outre d'un ordre déterminé par le second étage de l'allocateur, le premier étage de l'allocateur reprend alors son processus de sélection d'une file d'attente parmi l'ensemble des files d'attente, en tenant compte par exemple des poids remis à jour pour chacune des files et éventuellement du nombre de PDU transmis depuis chaque file lors d'une précédente transmission, comme cela a été décrit précédemment. Dans une variante préférée, on n'attend pas d'avoir sélectionné toutes les files pour refaire un classement avec le premier étage de l'allocateur. Le premier étage de l'allocateur reprend son processus de classement et de sélection d'une file d'attente à chaque nouvel intervalle de temps de transmission. -19-REVENDICATIONS, 1. Procédé d'allocation de ressources dans un système de radiocommunication comprenant au moins une station de base agencée pour transmettre, dans des intervalles de temps de transmission successifs, des paquets de données à destination de terminaux radio, sur des ressources de communication partagées entre les terminaux radio, dans le cadre de sessions de transmission, chaque session étant relative à un terminal radio parmi lesdits terminaux radio, dans lequel on prévoit un ensemble de files d'attente agencées pour que les paquets de données à transmettre dans le cadre de chaque session de transmission soient placés dynamiquement dans une des files d'attente, le procédé comprenant les étapes suivantes: la/ on affecte un poids respectif à chaque file d'attente; Ibl on classe les files d'attente en fonction au moins des poids qui leur sont affectés respectivement; /cl on sélectionne une file d'attente en fonction de son rang dans le classement de l'étape /bl; /dl pour un nouvel intervalle de temps de transmission, on calcule pour chaque session dans le cadre de laquelle doivent être transmis des paquets de données placés dans la file d'attente sélectionnée, une quantité dépendant au moins des conditions radio pour le terminal radio auquel ladite session radio est relative et d'un nombre de paquets déjà transmis dans le cadre de ladite session; /e/ on alloue des ressources de communication à certaines au moins des sessions dans le cadre desquelles doivent être transmis des paquets de données placés dans la file d'attente sélectionnée, pour transmettre un nombre de paquets de données placés dans la file d'attente sélectionnée, ledit nombre de paquets de données dépendant du poids affecté à la file d'attente sélectionnée, lesdites sessions auxquelles des ressources de communication sont allouées étant 20 - déterminées en fonction au moins des quantités calculées à l'étape Id/ ; et If/ tant que les files d'attente n'ont pas toutes été sélectionnées et qu'il reste des ressources disponibles pour ledit intervalle de temps de transmission, on sélectionne la file d'attente suivant la file d'attente précédemment sélectionnée dans le classement établi à l'étape Ibl, et on répète les étapes Id/ à If/. 2. Procédé selon la revendication 1, dans lequel l'étape lb/ comprend un classement des files d'attente selon un ordre décroissant des poids o respectivement affectés aux files d'attente. 3. Procédé selon la revendication 1, dans lequel l'étape /b/ comprend un classement des files d'attente selon un ordre croissant du rapport, calculé pour certaines au moins des files d'attente, d'un nombre de paquets de données déjà transmis depuis la file d'attente sur le poids respectivement affecté à la file d'attente. 4. Procédé selon l'une quelconque des revendications précédentes, dans lequel l'étape /cl comprend la sélection de la première file d'attente dans le classement des files d'attente effectué à l'étape /bl, et dans lequel la répétition de l'étape /cl, prévue à l'étape /f/, comprend la sélection de la file d'attente ayant un rang immédiatement supérieur à la file d'attente précédemment sélectionnée, selon le classement des files d'attente effectué à l'étape lb/. 5. Procédé selon l'une quelconque des revendications précédentes, dans lequel, lors de l'étape /el, le nombre de ressources allouées à chaque session dans le cadre de laquelle doivent être transmis des paquets de données placés dans la file d'attente sélectionnée dépend des conditions radio pour le terminal radio auquel ladite session radio est relative. 6. Procédé selon l'une quelconque des revendications précédentes, dans lequel la file d'attente parmi l'ensemble de files d'attente dans laquelle les 2860381 - 21 - paquets de données à transmettre dans le cadre d'une session de transmission sont placés dépend d'un niveau de priorité alloué à la session. 7. Procédé selon l'une quelconque des revendications précédentes, dans lequel les poids respectivement affectés aux files d'attente varient entre des bornes dont les valeurs respectives fluctuent selon un nombre de paquets de données déjà transmis, depuis la file d'attente correspondante. 8. Procédé selon l'une quelconque des revendications précédentes, dans lequel la quantité dépendant au moins des conditions radio pour le terminal radio auquel ladite session radio est relative et d'un nombre de paquets déjà transmis dans le cadre de ladite session tient compte de la quantité calculée pour l'intervalle de temps de transmission précédant le nouvel intervalle de temps de transmission. 9. Procédé selon l'une quelconque des revendications précédentes, dans lequel la quantité dépendant au moins des conditions radio pour le terminal radio auquel ladite session radio est relative et d'un nombre de paquets déjà transmis dans le cadre de ladite session est décroissante en fonction de la qualité du lien radio entre la station de base et ledit terminal radio, et croissante en fonction du nombre de paquets déjà transmis dans le cadre de ladite session, et dans lequel lesdites sessions auxquelles des ressources de communication sont allouées sont déterminées selon un ordre croissant de ladite quantité. 10. Procédé selon l'une quelconque des revendications précédentes, dans lequel lesdites sessions auxquelles des ressources de communication sont allouées sont déterminées en outre à partir d'une capacité de réception des terminaux radio auxquelles lesdites sessions sont relatives, telle qu'un temps minimum entre deux réceptions de paquets de données transmis sur des intervalles de temps de transmission respectifs, un nombre de codes appliqués aux données pouvant être décodés sur un intervalle de temps de transmission, ou un type de modulation appliquée aux données pouvant être démodulée. - 22 - 11. Procédé selon l'une quelconque des revendications précédentes, dans lequel lesdites sessions auxquelles des ressources de communication sont allouées dépendent en outre du fait que des paquets de données à transmettre à des terminaux radio auxquelles lesdites sessions sont relatives ont déjà été transmis précédemment ou non. 12. Procédé selon l'une quelconque des revendications précédentes, dans lequel les étapes /al à If/ sont exécutées pour chaque nouvel intervalle de temps de transmission. 13. Procédé selon l'une quelconque des revendications précédentes, o dans lequel la somme des poids affectés aux files d'attente à l'étape /a/ est constante. 14. Station de base dans un système de radiocommunication, agencée pour mettre en oeuvre le procédé selon l'une quelconque des revendications 1 à 13.