FR2838588A1 - Procede et dispositif de gestion des transmissions de donnees et des appareils de communication - Google Patents

Procede et dispositif de gestion des transmissions de donnees et des appareils de communication Download PDF

Info

Publication number
FR2838588A1
FR2838588A1 FR0204463A FR0204463A FR2838588A1 FR 2838588 A1 FR2838588 A1 FR 2838588A1 FR 0204463 A FR0204463 A FR 0204463A FR 0204463 A FR0204463 A FR 0204463A FR 2838588 A1 FR2838588 A1 FR 2838588A1
Authority
FR
France
Prior art keywords
quality
data
services
priority
packet
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.)
Granted
Application number
FR0204463A
Other languages
English (en)
Other versions
FR2838588B1 (fr
Inventor
Lilian Labelle
Marc Despland
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to FR0204463A priority Critical patent/FR2838588B1/fr
Publication of FR2838588A1 publication Critical patent/FR2838588A1/fr
Application granted granted Critical
Publication of FR2838588B1 publication Critical patent/FR2838588B1/fr
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5003Managing SLA; Interaction between SLA and QoS
    • H04L41/5019Ensuring fulfilment of SLA
    • H04L41/5022Ensuring fulfilment of SLA by giving priorities, e.g. assigning classes of service
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5003Managing SLA; Interaction between SLA and QoS
    • H04L41/5019Ensuring fulfilment of SLA
    • H04L41/5025Ensuring fulfilment of SLA by proactively reacting to service quality change, e.g. by reconfiguration after service quality degradation or upgrade
    • 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/20Traffic policing
    • 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/2425Traffic characterised by specific attributes, e.g. priority or QoS for supporting services specification, e.g. SLA
    • H04L47/2433Allocation of priorities to traffic types
    • 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/2458Modification of priorities while in transit
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/74Admission control; Resource allocation measures in reaction to resource unavailability
    • H04L47/748Negotiation of resources, e.g. modification of a request
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/76Admission control; Resource allocation using dynamic resource allocation, e.g. in-call renegotiation requested by the user or requested by the network in response to changing network conditions
    • H04L47/762Admission control; Resource allocation using dynamic resource allocation, e.g. in-call renegotiation requested by the user or requested by the network in response to changing network conditions triggered by the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/80Actions related to the user profile or the type of traffic
    • H04L47/805QOS or priority aware
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q11/00Selecting arrangements for multiplex systems
    • H04Q11/04Selecting arrangements for multiplex systems for time-division multiplexing
    • H04Q11/0428Integrated services digital network, i.e. systems for transmission of different types of digitised signals, e.g. speech, data, telecentral, television signals
    • H04Q11/0478Provisions for broadband connections
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W72/00Local resource management
    • H04W72/50Allocation or scheduling criteria for wireless resources
    • H04W72/54Allocation or scheduling criteria for wireless resources based on quality criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5638Services, e.g. multimedia, GOS, QOS
    • H04L2012/5646Cell characteristics, e.g. loss, delay, jitter, sequence integrity
    • H04L2012/5649Cell delay or jitter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5638Services, e.g. multimedia, GOS, QOS
    • H04L2012/5646Cell characteristics, e.g. loss, delay, jitter, sequence integrity
    • H04L2012/5651Priority, marking, classes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5678Traffic aspects, e.g. arbitration, load balancing, smoothing, buffer management
    • H04L2012/5679Arbitration or scheduling
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

L'invention est relative à un procédé de gestion des transmissions de données numériques multimédia sous la forme de paquets de données entre une source de données (1) et plusieurs appareils de communication (2, 3, 4) connectés à cette source par l'intermédiaire d'un réseau de communication (5), caractérisé en ce que le procédé comporte les étapes suivantes effectuées au niveau de la source de données :- estimation (E400) d'une qualité de services proposée à un appareil de communication, l'estimation tenant compte de l'instant (tp) auquel au moins un paquet parviendra à l'appareil de communication- affectation (E407, E409) à l'appareil de communication d'une priorité (Pc) qui est adaptée au moins en fonction du résultat de l'estimation.

Description

<Desc/Clms Page number 1>
La présente invention concerne un procédé et un dispositif de gestion des transmissions de données entre une source de données et des appareils de communication connectés à la source par un réseau de communication.
L'avancement technologique des appareils de communication numériques tels que les téléviseurs, les micro-ordinateurs de poche, les microordinateurs classiques ou tout autre appareil miniaturisé est tel que, dans les années à venir, il sera très probablement possible d'échanger des données de type multimédia et, par exemple, audio et/ou vidéo entre ces différents appareils.
Des études de marché montrent, par ailleurs, que les utilisateurs sont prêts à acheter de tels appareils de communication à condition que le prix ne soit pas trop excessif et, surtout, que les services rendus soient de bonne qualité.
Suite à l'identification de ce nouveau marché, de nombreuses études ont été menées concernant la miniaturisation des composants électroniques, de manière à obtenir des appareils ayant des capacités de mémoire et de calcul élevées.
En outre, de nombreux organismes de normalisation ont mis en place des standards permettant d'unifier les échanges de données entre ces appareils aux caractéristiques différentes. Ces standards, tels que ceux de la famille IEEE 802, permettent à la fois la mise en #uvre et la gestion du transfert des données via un réseau particulier.
Le standard IEEE 802. 11 et son homologue européen HYPERLAN sont dédiés aux réseaux locaux sans fil. Ils sont particulièrement étudiés actuellement
<Desc/Clms Page number 2>
car ce sont des réseaux larges bandes permettant de transmettre des données audio et/ou vidéo entre deux machines qui sont géographiquement proches.
Ces standards sont donc particulièrement adaptés pour développer des réseaux locaux sans fil à l'intérieur des habitations.
Les solutions techniques étudiées actuellement dans le cadre des standards susvisés appliqués aux réseaux locaux domestiques permettent de transmettre des données numériques soit entre une machine dite serveur et une machine dite client (transmission point à point), soit entre le serveur et un groupe de clients, soit encore entre le serveur et plusieurs clients (communication multi-points) et ce, sans aucun fil.
Dans cet environnement, les données sont stockées sur le serveur qui centralise toutes les communications avec le ou les clients. Ce serveur peut également servir de passerelle avec le monde extérieur (Internet, télévision, caméscope ...).
Il convient de noter que les réseaux locaux domestiques peuvent être de nature hétérogène, c'est-à-dire qu'ils peuvent, par exemple, être pour partie constitués de liaisons sans fil et pour partie de liaisons filaires.
Si de nombreux projets étudient la mise en oeuvre de services autour de la télévision interactive et l'échange d'informations sur l'Intemet, peu d'entre eux traitent des problèmes liés à la mise en #uvre de réseaux locaux domestiques, à savoir la mise en place de solutions permettant d'obtenir une qualité de services acceptable pour les utilisateurs
Lorsque plusieurs utilisateurs sont connectés au serveur par l'intermédiaire de plusieurs appareils de communication (machines client) et transmettent au serveur des requêtes en vue de recevoir des données, alors se pose un problème pour le serveur qui ne peut transmettre simultanément les données demandées aux différents appareils.
Pour gérer cette situation, de nombreux algorithmes d'ordonnancement des tâches (connus en terminologie anglo-saxonne sous le terme "scheduling algorithms") ont été étudiés, particulièrement pour la transmission de données sur des réseaux de communication filaires.
<Desc/Clms Page number 3>
Ces algorithmes s'inspirent de l'algorithme d'ordonnancement connu sous la dénomination GPS signifiant "Partage de Processeur Généralisé" (connu en terminologie anglo-saxonne sous le terme "Generalized Processor Sharing") et dont la description va suivre.
Supposons que N clients c soient connectés et considérons qu'une session est définie comme étant une connexion entre le serveur et un client utilisateur.
Pour chaque session, le serveur associe une liste qui contient les paquets à transmettre à un client. Si la liste contient au moins un paquet, la session est dite prête à transmettre (connu en terminologie anglo-saxonne sous le terme "backlogged"). Dans le cas contraire, la session ne participe pas à l'algorithme d'ordonnancement.
A un instant t, les paquets des sessions prêtes sont transmis simultanément aux clients selon la bande passante allouée à chaque session.
En terme mathématique, cela se traduit par l'équation suivante dans le cas où le serveur transmet les paquets aux différentes sessions selon une bande passante globale r : Wi(t1 ,t2) #ri(t2-t1) avec =#irle minimum de la bande passante garantie pour la session i, Wi(t1,t2) l'ensemble des paquets transmis à la session i pendant l'intervalle de temps [t1,t2) et #ila proportion de la bande passante allouée pour cette session.
L'algorithme d'ordonnancement GPS est basé sur le fait que dès qu'un paquet est dans une liste, il est transmis. Ainsi, si plusieurs paquets sont prêts, ils sont transmis simultanément.
Cependant, il est nécessaire de séquencer la transmission des paquets, ce qui entraîne des délais de transmission et certaines sessions seront donc privilégiées au détriment d'autres.
Le but des algorithmes d'ordonnancement est donc de définir une politique de séquencement des paquets à transmettre qui soit équitable, c'est à dire une politique qui n'introduise pas des délais de transmission trop importants pour certaines sessions.
Avant de présenter les différentes familles d'algorithmes d'ordonnancement, il est nécessaire d'introduire la notion de temps virtuel.
<Desc/Clms Page number 4>
Cette notion de temps virtuel de début d'un paquet k de la session i, S,k ou de temps virtuel de fin Fik est décrite dans le document intitulé "Hierarchical Packet Fair Queuing Algorithms", de J. C.R. Bennett et H. Zhang, Proc. ACM SIGCOMM' 96, pp. 143-156,1996. Ces temps virtuels sont définis en terme de bits par les équations suivantes :
Figure img00040001

où aik désigne l'instant où le paquet k de longueur Lik est arrivé dans la liste de la session i ,B(#) désigne l'ensemble des sessions prêtes à transmettre à l'instant z- et r(#)est la bande passante disponible à l'instant z .
Pour illustrer les différents algorithmes d'ordonnancement, on se placera dans le cas, non restrictif, où, r(t) = #t et où toutes les sessions sont prêtes à transmettre, ce qui simplifie l'écriture des équations comme suit :
Figure img00040002
On considérera également le cas de onze sessions avec #i = 0,5 et#i = 0,05 i = 2,...,11.
Pour la session 1, 11 paquets sont prêts à être transmis tandis que pour les autres sessions un seul paquet est à transmettre à l'instant t=0.
Dans ce cas, à t=0, pour la session 1 les valeurs des temps virtuels de début sont 0, 2,4,6,8,10,,... et pour les autres sessions, ces temps sont : 0,20,40,60,...
On connaît une famille d'algorithmes d'ordonnancement dénommés WFQ (connus en terminologie anglo-saxonne sous le terme "Weighted Fair Queuing") qui mettent en #uvre une méthode d'ordonnancement basée soit sur les temps virtuels de fin de paquet, on parle alors de méthode SFF, soit sur les temps virtuels de début de paquet, on parle alors de méthode SSF.
De tels algorithmes sont décrits dans les documents intitulés "Analysis and simulation of a fair queuing algorithm" de A. Demers et al., Journal of Internetworking Research and Experience, pages 3-26, Oct. 1990 et Proc. of ACM SIGCOMM'89, p. 3-12, ainsi que "Start-time fair queuing :
<Desc/Clms Page number 5>
Ascheduling algorithm for integrated services" de P. Goyal et al., Proc. of ACM SIGCOMM'96, pp. 157-168, Palo Alto, CA, August 96.
Le principe de fonctionnement des algorithmes d'ordonnancement de type WFQ utilisant la méthode SFF (connue en terminologie anglosaxone sous le terme "Smallest virtual Finish time First") est le suivant : quand l'algorithme doit choisir un paquet à transmettre à l'instant t, il sélectionne celui qui a le plus petit temps virtuel de fin Fik.
Lorsque les algorithmes d'ordonnancement de type WFQ utilisent la méthode SSF (connue en terminologie anglosaxone sous le terme "Smallest virtuel Start time First"), le choix du paquet se fait de la même manière selon les temps de début S,k .
Les algorithmes WFQ et tous leurs dérivés présentent l'inconvénient que certaines sessions reçoivent des paquets après un délai non négligeable.
En effet, dans l'exemple précité avec onze sessions, en appliquant l'algorithme d'ordonnancement basé sur une méthode de type SFF, les sessions 2,...,11 doivent attendre que les 10 premiers paquets de la session 1 soient transmis avant de pouvoir transmettre chacune leur premier paquet, alors qu' à l'instant t=0, les 11 sessions étaient toutes prêtes à transmettre un paquet.
De manière similaire, pour l'algorithme d'ordonnancement basé sur une méthode de type SSF, la session 1 doit attendre que les 10 autres sessions transmettent chacune leur premier paquet avant de pouvoir transmettre son premier paquet.
Pour éviter ces déséquilibres, l'algorithme d'ordonnancement de type WF2Q a été étudié et est décrit dans le document intitulé "Hierarchical Packet Fair Queuing Algorithms", de J. C.R. Bennett et H. Zhang, Proc. ACM SIGCOMM'96, pp. 143-156,1996.
Cet algorithme utilise une variante de la méthode SFF en introduisant la notion de paquets éligibles : un paquet est dit éligible à un temps t, si son temps virtuel de départ n'est pas supérieur au temps virtuel du système. Le temps virtuel du système ts part de 0 et est incrémenté d'une unité à chaque transmission de paquet pour l'une quelconque des sessions.
<Desc/Clms Page number 6>
Ensuite, la méthode SFF est utilisée pour sélectionner le paquet à transmettre parmi les paquets éligibles.
Dans l'exemple considéré, les temps virtuels de fin sont les suivants : 2,4,6,8,...22 pour les paquets de la session 1, et 20,30,40 pour les paquets des autres sessions.
Les temps virtuels de départ, calculés à partir de l'équation (1) précitée sont 0,2,4,6,...20 pour les paquets de la session 1 et 0 pour les paquets des autres sessions.
L'ordonnancement des paquets se fera donc de la manière suivante : à ts=O, les premiers paquets de toutes les sessions sont éligibles. Le premier paquet de la session 1 est transmis car c'est celui qui a le temps de fin le plus petit. A ts=1, les premiers paquets des sessions 2,...11 sont éligibles. Par contre, le temps de départ du second paquet de la session 1 étant supérieur à ts, ce paquet n'est donc pas éligible et l'algorithme décide de transmettre le premier paquet d'une des sessions 2,...,11. On supposera que le paquet de la session 2 est transmis. A ts=2, le second paquet de la session 2 est éligible, ainsi que le premier paquet des sessions 3,...11 et le second paquet de la session 1 est transmis car son temps de fin est le plus petit.
Il convient de noter que les temps virtuels de début et de fin de paquet sont déterminés à partir des coefficients #i représentant la proportion de bande passante allouée à la session i et qui sont fixés avant de mettre en oeuvre l'algorithme d'ordonnancement.
Il est donc possible de favoriser une session par rapport à une autre en modifiant les coefficients précités avant la mise en oeuvre de l'algorithme.
Cependant, dès lors que l'algorithme d'ordonnancement est en cours d'utilisation, il n'est plus possible de modifier ces coefficients pour favoriser une session par rapport aux autres sessions.
La demanderesse s'est aperçue qu'il serait intéressant de disposer d'un nouveau procédé et d'un nouveau dispositif qui puissent gérer de façon dynamique les transmissions de paquets entre une source de données et des appareils de communication connectés à la source par un réseau.
<Desc/Clms Page number 7>
La présente invention a ainsi pour objet un procédé de gestion des transmissions de données numériques multimédia sous la forme de paquets de données entre une source de données et plusieurs appareils de communication connectés à cette source par l'intermédiaire d'un réseau de communication caractérisé en ce que le procédé comporte les étapes suivantes effectuées au niveau de la source de données : - estimation d'une qualité de services proposée à un appareil de communication, l'estimation tenant compte de l'instant tp auquel au moins un paquet de données parviendra à l'appareil de communication, - affectation à l'appareil de communication d'une priorité Pc qui est adaptée au moins en fonction du résultat de l'estimation.
Corrélativement, l'invention a également pour objet un dispositif de gestion des transmissions de données numériques multimédia sous la forme de paquets de données entre une source de données et plusieurs appareils de communication connectés à cette source par l'intermédiaire d'un réseau de communication, caractérisé en ce que le dispositif comporte : - des moyens d'estimation d'une qualité de services proposée à un appareil de communication, l'estimation tenant compte de l'instant tp auquel au moins un paquet de données parviendra à l'appareil de communication, - des moyens d'affectation à l'appareil de communication d'une priorité Pc qui est adaptée au moins en fonction du résultat de l'estimation.
L'invention permet de gérer dynamiquement les transmissions au niveau de la source de données ou de tout dispositif qui y est associé.
En effet, en estimant une telle qualité de services associée à un ou plusieurs paquets à transmettre à un appareil de communication, la source de données ou tout dispositif qui y est associé est apte à évaluer la future charge de travail de l'appareil destinataire.
Ainsi, disposant de ces informations, la source de données ou tout dispositif qui y est associé décide de réguler de manière dynamique les transmissions de paquets en affectant une priorité adaptée à l'appareil.
<Desc/Clms Page number 8>
On notera que l'estimation de la qualité de services proposée à un appareil de communication en transmettant un paquet de données passe par la détermination de l'instant auquel le paquet atteindra l'appareil destinataire.
Cet instant dépend du contenu du paquet (par exemple, le nombre d'images contenues dans le paquet) et du temps de transmission sur le réseau qui est connu de la source par hypothèse.
La gestion proposée par l'invention est destinée à permettre à des appareils de communication de recevoir un ou plusieurs paquets de données au moment où ils en ont besoin.
Il est en effet opportun de ne pas transmettre un paquet trop en avance à un appareil car cela risque de pénaliser un autre appareil qui a davantage besoin de paquet.
De même, transmettre un paquet trop tardivement à un appareil risque de pénaliser fortement celui-ci.
Il convient de noter que la source peut être informée des qualités de services demandées par les appareils qui y sont connectés dès la constitution du réseau de communication. Il n'est ainsi pas nécessaire que les appareils transmettent par la suite de requêtes à la source. Dans ce cas, il est possible de comparer la qualité de services estimée à la qualité de services demandée par un appareil et d'affecter une priorité à cet appareil en fonction du résultat de cette comparaison.
Selon une caractéristique, le procédé comporte les étapes suivantes : - réception d'au moins une requête provenant d'au moins un appareil de communication, la requête spécifiant, d'une part, les données qui sont nécessaires à l'appareil concerné et, d'autre part, une qualité de services demandée par cet appareil, - comparaison de la qualité de services estimée qui est proposée à un appareil de communication avec la qualité de services demandée par cet appareil, - affectation à l'appareil de communication d'une priorité Pc adaptée au résultat de cette comparaison.
En estimant, pour un ou plusieurs paquets de données à transmettre à un appareil de communication, la qualité de services associée et,
<Desc/Clms Page number 9>
en fonction de la comparaison de cette dernière à la qualité de services demandée par l'appareil, on affecte à l'appareil concerné une priorité adaptée en termes de nécessité de transmission de paquets de données, par rapport aux besoins exprimés par l'appareil.
Cette priorité est adaptée dans la mesure où elle permet de réduire autant que possible l'écart entre la qualité de services demandée et celle proposée dans le cadre de la transmission d'un paquet.
Ainsi, lorsque l'écart est important, on affecte une priorité haute en termes de nécessité de transmission, afin d'essayer d'atteindre la qualité de services demandée par l'appareil de communication concerné. Au contraire, si l'écart est faible, voire nul, on peut décider d'affecter une priorité basse en termes de nécessité de transmission pour l'appareil concerné, afin de pouvoir affecter une priorité plus haute pour d'autres appareils.
En outre, l'adaptation d'une priorité à un appareil de communication tient compte des données contenues dans le paquet à transmettre à cet appareil.
Par ailleurs, la gestion des transmissions est effectuée au niveau de la source de données à partir des informations contenues dans les requêtes préalablement reçues des appareils de communication, ce qui ne nécessite pas d'échanges supplémentaires d'informations entre la source et les appareils.
Par conséquent, on évite ainsi tout risque supplémentaire de congestion du réseau de communication.
L'invention permet, de plus, de prendre en compte des qualités de services hétérogènes d'un appareil de communication à l'autre.
On notera également que l'invention permet de gérer des transmissions entre la source et des appareils de communication nouvellement connectés à la source.
Selon une caractéristique, l'instant tp dépend du contenu du paquet de données à transmettre à l'appareil de communication et de la qualité de services demandée par cet appareil.
Selon une autre caractéristique, le procédé comporte une étape de décision quant à la transmission de paquets de données aux appareils de
<Desc/Clms Page number 10>
communication, en fonction des priorités affectées de manière dynamique aux appareils.
Ainsi, en fonction des priorités préalablement affectées, on décide ou non de transmettre des paquets de données de la source vers les appareils.
Toutefois, cette décision est prise de façon dynamique à chaque fois que l'on se propose de transmettre un paquet à un appareil et que les étapes précédentes d'estimation éventuellement de comparaison et d'affectation de priorité sont effectuées.
Par exemple, d'un paquet à l'autre, la priorité affectée à un appareil de communication peut varier considérablement et passer d'une priorité basse à une priorité élevée.
Selon une caractéristique, le procédé comporte une étape de détermination de l'évolution au cours du temps de l'estimation de la qualité de services proposée à un appareil de communication pour des paquets de données à transmettre à des instants différents.
La gestion dynamique des transmissions selon l'invention permet en effet de prendre en compte l'évolution temporelle de la qualité de services estimée. Ceci permet, en fonction de la nature de cette évolution, d'anticiper sur l'affectation des priorités en termes de nécessité de transmission, alors que la seule comparaison de la qualité de services estimée à la qualité demandée ne le permet pas toujours.
Par exemple, lorsque l'évolution au cours du temps de l'estimation fait apparaître une diminution de l'estimation de la qualité de services proposée à l'appareil de communication pour un paquet de données à transmettre, le procédé comporte une étape d'affectation à cet appareil d'une priorité haute PRIOMAX en termes de nécessité de transmission de paquets de données.
Selon une autre caractéristique, lorsque l'estimation de la qualité de services proposée à au moins un premier appareil de communication pour un paquet est conforme à la qualité de services demandée par cet appareil et lorsque l'estimation de la qualité de services proposée à au moins un deuxième appareil de communication pour un paquet n'est pas conforme à la qualité de services demandée par cet appareil, le procédé comporte une étape d'affectation au premier
<Desc/Clms Page number 11>
appareil d'une priorité PRIOMIN-1 minimale en termes de nécessité de transmission de paquets de données.
La gestion dynamique selon l'invention permet ainsi de décider de ne pas transmettre un paquet de données au premier appareil en lui affectant une priorité adaptée (PRIOMIN-1) et donc de favoriser la transmission d'un paquet de données à un deuxième appareil qui, lui, en a davantage besoin.
Ceci est valable avant une nouvelle étape d'estimation de la qualité de services proposée au premier appareil pour un nouveau paquet.
Selon une caractéristique, lorsque l'estimation courante de la qualité de services proposée à l'appareil de communication pour un paquet de données à transmettre est conforme à la qualité de services demandée, le procédé comporte une étape d'ajustement de la priorité à affecter à l'appareil en fonction de la qualité de services estimée.
Ainsi, en fonction de la qualité de services estimée, on peut ajuster, de manière relativement fine, une priorité à affecter un appareil au lieu de lui affecter de manière "grossière" une priorité haute ou basse selon le cas envisagé.
L'invention concerne également un appareil de communication comportant un dispositif tel que brièvement exposé ci-dessus.
Selon un autre aspect, l'invention vise aussi : - un moyen de stockage d'informations lisible par un ordinateur ou un microprocesseur comportant des instructions de code d'un programme d'ordinateur pour l'exécution des étapes du procédé selon l'invention tel que celui exposé brièvement ci-dessus, et - un moyen de stockage d'informations amovible, partiellement ou totalement, lisible par un ordinateur ou un microprocesseur comportant des instructions de code d'un programme d'ordinateur pour l'exécution des étapes du procédé selon l'invention tel que celui brièvement exposé ci-dessus.
Selon encore un autre aspect, l'invention vise un programme d'ordinateur chargeable dans un appareil programmable, comportant des séquences d'instructions ou portions de code logiciel pour mettre en #uvre des
<Desc/Clms Page number 12>
étapes du procédé selon l'invention tel que brièvement exposé ci-dessus, lorsque ledit programme d'ordinateur est chargé et exécuté sur l'appareil programmable.
Les caractéristiques et avantages relatifs au dispositif, à l'appareil de communication comportant un tel dispositif, aux moyens de stockage d'informations et au programme d'ordinateur étant les mêmes que ceux exposés ci-dessus concernant le procédé selon l'invention, ils ne seront pas rappelés ici.
D'autres caractéristiques et avantages de la présente invention apparaîtront plus clairement à la lecture de la description qui va suivre, faite en référence aux dessins annexés, sur lesquels : - la figure 1 représente de manière schématique une architecture de communication de type client-serveur dans laquelle l'invention est mise en #uvre ; - la figure 2 représente un algorithme de traitement des requêtes provenant des appareils de communication de la figure 1 et demandant la transmission de données vidéo ; - la figure 3 représente un algorithme de gestion des transmissions de données à différents appareils de communication en fonction des priorités affectées à ces appareils ; - la figure 4 représente un algorithme d'affectation dynamique de priorités à des appareils de communication selon l'invention et qui correspond à l'étape E302 de l'algorithme de la figure 3 ; - la figure 5 est un mode de réalisation d'un appareil programmable mettant en #uvre l'invention.
Sur la figure 1 est représenté une architecture de communication du type client-serveur dans laquelle l'invention est avantageusement mise en #uvre.
Sur cette figure, un premier appareil de communication constituant une source données numériques multimédia 1 appelée serveur est relié à plusieurs appareils de communication 2,3 et 4 qui sont appelées machines client, par l'intermédiaire d'un réseau de communication 5 et de connexions qui sont considérées comme étant établies pour toutes les machines.
<Desc/Clms Page number 13>
Dans le contexte de l'invention, les appareils de communication 2 à 4 requièrent de la source 1 (serveur) des données numériques multimédia.
Le réseau est par exemple un réseau de communication local sans fil à l'intérieur d'une habitation.
Plus particulièrement, ce réseau est conforme au standard IEEE802.11b dans le cas d'un réseau dit Ad-Hoc, c'est-à-dire sans centralisation des échanges de données.
Il s'agit dans l'exemple considéré de transmissions point à point de données entre le serveur 1 et les machines client 2,3 et 4.
Pour mettre en #uvre ces multiples transmissions, il convient de prendre en compte, d'une part, la gestion des processus d'adaptation et de transmission en parallèle aux différentes machines client des différentes versions adaptées des données demandées et, d'autre part, les accès multiples à la ou aux mémoires du serveur.
On notera que les données stockées dans le serveur peuvent avoir été reçues de l'environnement extérieur à l'habitation, par exemple, par un autre réseau de communication tel que l'Internet.
Les données regroupées sous le terme données multimédia peuvent être, de manière non limitative, des images fixes, des vidéos, du son, des données de type texte (ex : documents graphiques ...), des documents en langage HTML, des signaux issus d'un télécopieur ou d'une imprimante ...
Dans l'exemple de réalisation considéré, on considérera uniquement des données vidéo et celles-ci seront transmises sans perte sur le réseau 5 sous la forme de paquets de données qui sont transmis un par un.
On partira également de l'hypothèse que le temps de transmission des données sur le réseau est négligeable.
Il convient de noter que l'invention s'applique également lorsque le temps de transmission sur le réseau est déterminé ou déterminable.
Le serveur 1 (source de données) est un dispositif de gestion des transmissions au sens de la présente invention.
On notera cependant que le serveur et le dispositif de gestion selon l'invention peuvent être des éléments distincts.
<Desc/Clms Page number 14>
Dans ce cas, les différentes unités du serveur de la figure 1 qui servent à mettre en #uvre l'invention font alors partie du dispositif selon l'invention.
Le dispositif 1 (serveur) comprend une unité 11 de stockage de façon temporaire des données vidéo à transmettre à l'un des appareils de communication 2,3, 4 ou à plusieurs d'entre eux. Les informations utiles à transmettre pour reconstruire une vidéo au niveau d'un appareil de communication sont mémorisées sous forme de paquets dans l'unité 11.
Chaque paquet contient ainsi les données permettant, à l'appareil destinataire, de décoder une ou plusieurs images de la vidéo.
On notera que les vidéos sont créées, par exemple, par un caméscope numérique ou tout autre moyen d'acquisition de données ou bien sont transmises par un réseau de communication extérieur et sont stockées dans l'unité 11.
Cette unité peut être, par exemple, une base de données locale ou distribuée.
En outre, les vidéos sont stockées soit sous forme non compressée, par exemple suivant un format YUV, soit sous forme compressée.
On notera qu'un format vidéo de type YUV signifie que la vidéo concernée possède trois composantes, la composante Y pour la luminance et les composantes U et V pour la chrominance.
Le dispositif 1 comprend une unité 12 de récupération des données vidéo à partir de l'unité 11de stockage.
Les données récupérées par l'unité 12 sous forme de paquets sont, soit les valeurs associées à chacun des pixels de chaque image d'une vidéo, soit les informations propres à cette vidéo, à savoir la taille du fichier vidéo, le chemin permettant d'accéder à cette vidéo et, dans le cas où la vidéo est stockée sous forme compressée, les paramètres de codage qui ont été utilisés pour coder cette vidéo.
Le dispositif 1 comprend une unité d'ordonnancement 13 (connue en terminologie anglo-saxonne sous le terme "scheduling unit") des paquets de
<Desc/Clms Page number 15>
données qui a pour but de gérer les transmissions de paquets entre le dispositif 1 et les machines client 2 à 4.
La gestion des transmissions passe par une affectation dynamique des priorités aux différentes machines client 2 à 4 en termes de nécessité ou non d'une transmission de paquets de données.
Cette affectation est dynamique dans la mesure où elle est établie pour chaque paquet de données que le dispositif 1 a préparé en vue de son éventuelle transmission à l'une des machines client.
Pour le paquet suivant destiné à la même machine client, la priorité affectée peut en effet être différente selon les circonstances. On notera que le caractère dynamique de l'ordonnancement des paquets de données selon l'invention présente l'avantage que de nouvelles machines client peuvent se connecter au dispositif 1 (serveur) alors que l'ordonnancement des paquets destinés aux machines clients déjà connectées est en cours.
Les différentes opérations exécutées par l'unité 13 seront détaillées ultérieurement lors de la description faite en référence aux figures 3 et 4.
Le dispositif 1 comprend également une unité 14 qui permet d'effectuer la transmission de paquets de données récupérés par l'unité 12, aux machines client à travers le réseau 5, ainsi que la réception de données provenant des différentes machines client.
Le dispositif 1 selon l'invention comporte également une unité de commande 15 des différentes opérations exécutées.
On considère que les machines client 2,3 et 4 ont toutes la même structure et le même fonctionnement que celle de la machine 2 dont la description va suivre.
La machine client 2 comporte une unité de transmission/réception de données numériques 20.
Cette unité 20 permet d'effectuer la transmission de données au dispositif 1, à travers le réseau 5, et la réception de données provenant du dispositif.
<Desc/Clms Page number 16>
La machine client 2 comporte également une unité 21 de stockage des paquets de données et une unité 22 de traitement des paquets de données reçus du dispositif 1.
L'unité de traitement 22 récupère les données contenues dans les paquets stockés dans l'unité 21 au fur et à mesure qu'ils sont reçus par cette dernière et sont décodées avant d'être visualisées.
Il convient de noter que si l'unité de stockage 21 ne contient aucune donnée, la dernière image visualisée est figée, ce qui rend impossible la visualisation de toute la vidéo demandée par la machine client.
Si, par contre, l'unité 21 contient des données, deux cas peuvent se produire : soit la quantité de données présentes dans l'unité est suffisante pour satisfaire aux contraintes de l'unité de traitement, soit cette quantité est insuffisante.
Les contraintes de l'unité de traitement 22 s'expriment, par exemple, en nombre d'images par seconde car, en effet, un format vidéo donné spécifie à quelle vitesse la vidéo doit être exécutée (par exemple, à 30 images par seconde).
Ainsi, dans le cas d'une vidéo à 30 images par seconde, si chaque paquet reçu par l'unité de stockage 21 contient les données constitutives d'une image de la vidéo, alors l'unité 21 doit contenir au moins 30 paquets pour que la machine client 2 soit considérée comme étant en avance d'une seconde.
Si l'unité 21 ne contient que 15 paquets, la machine client est considérée comme étant en avance de 0,5 seconde et ainsi de suite.
Les contraintes de l'unité de traitement d'une machine client correspondent, pour cette machine, à une qualité de services que le client exprime lorsqu'il requiert des données la part du dispositif 1 (serveur). Le client s'attend en retour à recevoir des paquets données dont la qualité de services associée à chaque paquet est conforme à la qualité demandée ou, du moins, aussi proche que possible de celle-ci.
D'autres contraintes que le nombre d'images par seconde peuvent être exprimées à travers la qualité de services demandée.
<Desc/Clms Page number 17>
Ainsi, on peut citer, par exemple, le temps au bout duquel la machine client doit recevoir un paquet de données par rapport à l'instant d'émission de la requête provenant de cette machine.
La figure 2 illustre un algorithme comportant différentes instructions ou portions de code logiciel correspondant à des étapes du procédé de traitement des requêtes provenant des machines client et de génération de paquets de données à transmettre.
Le programme informatique noté "Prog1" qui est basé sur cet algorithme est mémorisé dans l'unité de stockage temporaire de données 11 de la figure 1 et exécuté par l'unité 14 sous le contrôle de l'unité de commande 15, ce qui permet ainsi de mettre en oeuvre le procédé selon l'invention.
Ce programme est également stocké dans l'appareil de la figure 5.
L'algorithme de la figure 2 comporte une première étape notée E200 au cours de laquelle le dispositif 1 de la figure 1 et, plus particulièrement, l'unité de réception 14 reçoit une requête émise par la machine client 2 à partir de son unité de transmission 20.
Par exemple, cette requête se présente sous la forme d'une chaîne de caractères permettant d'identifier de façon unique des données vidéo mémorisées dans l'unité de stockage 11 du dispositif 1 et qui sont nécessaires à la machine client 2.
La requête spécifie en outre la qualité de services demandée par la machine client 2 et qui doit accompagner les données requises.
Au cours de l'étape suivante E201, on initialise un compteur de données.
L'étape E201 est suivie d'une étape E202 au cours de laquelle un premier paquet de données est généré par l'unité 12 en fonction du contenu de la requête.
Lorsqu'un paquet de données est généré lors de l'exécution de l'algorithme de la figure 2, il est par exemple mémorisé dans un espace mémoire d'une mémoire partagée et qui est réservé à la machine client considérée.
<Desc/Clms Page number 18>
L'étape E202 est suivie d'une étape E203 au cours de laquelle le paquet ainsi généré et comprenant une partie des données vidéo demandées est mémorisé dans l'unité 11en attendant son éventuelle transmission.
L'algorithme de la figure 2 comporte une étape suivante E204 au cours de laquelle un test est effectué afin de déterminer si le paquet généré constitue le premier paquet concernant les données vidéo demandées par la machine client 2.
Dans l'affirmative, l'étape E204 est suivie d'une étape E205 au cours de laquelle on met à jour la liste L des machines clients connectées au dispositif 1 de la figure 1 en ajoutant le nouveau client dont on vient de recevoir la requête (étape E200) et pour lequel un premier paquet de données a été généré.
La liste L précitée contient l'énumération de toutes les machines (clients) qui sont connectées au dispositif 1 de la figure 1 ainsi que la priorité affectée à chacune d'entre elles.
Dès qu'une machine client où, en d'autres termes, un client est ajouté à cette liste, on lui affecte la priorité la plus élevée qui soit (PRIOMAX).
On notera que la priorité affectée aux différentes machines clients varie entre une priorité basse PRIOMIN et une priorité haute PRIOMAX qui sont, par exemple, respectivement égales à 1 et 30.
La valeur de la priorité qui est affectée à chaque machine client traduit, pour cette dernière, la nécessité de recevoir de la part du dispositif 1 (serveur) des paquets de données.
Comme on le verra ultérieurement, la décision d'affecter une valeur de priorité à une machine client dépend d'une analyse dynamique de la qualité de services proposée pour chaque paquet de données à transmettre à cette machine.
L'utilisation de cette liste sera également détaillée ultérieurement lors de la description faite en référence aux figures 3 et 4.
Consécutivement à l'étape E205, ou à l'étape E204 lorsque le résultat du test pratiqué au cours de cette dernière étape est négatif, l'algorithme comporte une étape E206.
<Desc/Clms Page number 19>
Au cours de cette étape on effectue un test afin de déterminer si toutes les données vidéo spécifiées dans la requête provenant de la machine client 2 ont été utilisées pour générer des paquets de données.
Dans la négative, l'étape E206 est suivie de l'étape E207 au cours de laquelle on s'intéresse aux données non encore traitées par l'algorithme de la figure 2 et l'on exécute ensuite les étapes précédemment décrites E202 à E206.
Lorsque le résultat du test pratiqué à l'étape 206 est positif, cette dernière est suivie d'une étape E208 au cours de laquelle la machine client 2 est déconnectée du dispositif 1 de la figure 1.
L'étape suivante E209 prévoit une mise à jour de la liste des machines clients ou clients au cours de laquelle on supprime la machine client qui vient d'être déconnectée à l'étape 208, ce qui met fin à l'algorithme de la figure 2.
On notera que l'algorithme de la figure 2 est exécuté pour chaque nouvelle machine client connectée au dispositif 1.
Dans la mesure où plusieurs machines clients peuvent être connectées en même temps, l'algorithme de la figure 2 est exécuté de façon parallèle pour générer des paquets de données destinés à une machine client donnée.
Il convient également de noter que lorsqu'une machine client est connectée au dispositif 1, il est nécessaire de toujours disposer d'au moins un paquet de données à transmettre, lorsqu'une telle transmission est décidée par l'algorithme de la figure 3 comme on le verra ultérieurement.
La figure 3 illustre un algorithme comportant différentes instructions ou portions de code logiciel correspondant à des étapes du procédé selon l'invention.
Le programme informatique noté "Prog2" qui est basé sur cet algorithme est mémorisé dans l'unité de stockage temporaire de données 11de la figure 1 et exécuté par l'unité d'ordonnancement 13 de cette figure, sous le contrôle de l'unité de commande 15, ce qui permet ainsi de mettre en #uvre le procédé selon l'invention.
<Desc/Clms Page number 20>
Ce programme est également stocké dans l'appareil de la figure 5.
Lors de l'exécution de l'algorithme de la figure 3, le dispositif 1 de la figure 1 gère les transmissions de données entre ce dispositif et les différentes machines clients de la figure 1 qui lui sont connectées, en fonction des priorités qui sont affectées à ces machines.
On notera que le processus d'ordonnancement des paquets de données dont l'algorithme est représenté à la figure 3 est mis en #uvre dès que le dispositif 1 de la figure 1 fonctionne.
Le processus dont l'algorithme est représenté à la figure 2 , quant à lui, est mis en #uvre à la réception d'une requête provenant d'une machine client.
Ainsi, ces deux processus sont exécutés parallèlement et le processus dont l'algorithme est représenté à la figure 3 fait appel à celui de la figure 2 pour récupérer un paquet de données généré par ce dernier et destiné à une machine client, lorsqu'il est décidé d'effectuer une telle transmission à ladite machine client.
L'algorithme de la figure 3 débute par une étape E300 d'initialisation au cours de laquelle on affecte la valeur de priorité maximale PRIOMAX à un indice de boucle noté p.
Au cours de l'étape suivante notée E301 on initialise une variable c de la liste L des machines clients ou clients précitée à la valeur 1, ce qui correspond au premier élément de la liste L.
L'algorithme se poursuit par une étape E302 au cours de laquelle on met à jour la priorité Pc associée à la machine client courante ou client c.
On reviendra plus en détail ultérieurement, lors de la description faite en référence à la figure 4, sur le contenu de cette étape E302.
Selon cette étape, on affecte de manière dynamique à la machine client courante une priorité adaptée aux résultats de l'analyse effectués par le dispositif de gestion selon l'invention.
L'étape suivante E303 consiste en un test au cours duquel on détermine si la priorité affectée à la machine client courante, Pc, est supérieure ou égale à la valeur de l'indice de boucle p précité.
<Desc/Clms Page number 21>
Dans l'affirmative, l'étape E303 est suivie d'une étape E304 au cours de laquelle l'unité 12 de la figure 1 récupère dans l'espace mémoire réservé de l'unité de stockage 11de la figure 1 un paquet de données qui a été généré lors de l'exécution de l'algorithme de la figure 2 en vue d'être transmis à la machine client courante, par exemple la machine 2 de la figure 1.
Ce paquet est alors transféré à l'unité 14 de la figure 1 et est ensuite transmis par l'intermédiaire du réseau de communication 5 à la machine client considérée.
L'étape E304 est alors suivie de l'étape E305, de même que pour l'étape E303, lorsque le résultat du test pratiqué à l'étape E303 est négatif.
Cette dernière situation correspond, par exemple, au cas où, lors de l'exécution de l'étape E302, la priorité Pc affectée à la machine client courante c a été choisie de manière adaptée en fonction du résultat de l'analyse pratiquée lors de l'exécution de l'algorithme de la figure 4, afin d'exclure la transmission d'un paquet.
Ainsi, une priorité haute a été affectée à la machine client courante afin qu'aucun paquet de données ne soit transmis à cette dernière, consécutivement à l'analyse de la connexion entre le dispositif 1 et la machine client courante considérée et l'étape E303 est alors suivie de l'étape E305.
Lors de l'analyse suivante de cette même connexion, le résultat de cette analyse peut changer et la machine client courante peut alors se voir affecter une priorité telle qu'un paquet de données lui sera transmis.
Au cours de l'étape E305, un test est pratiqué sur la valeur de la variable c par rapport à la liste L (c = Cmax ? Cmax représente le dernier élément de la liste L) afin de déterminer si toutes les machines client connectées au dispositif 1 (serveur) ont été traitées lors de l'exécution de la boucle de l'algorithme de la figure 3.
Dans la négative, l'étape E305 est suivie d'une étape E306 au cours de laquelle la variable c est incrémentée d'une unité afin que la boucle de l'algorithme de la figure 3 constituée des étapes E302, E303, E304, E305 soit de nouveau exécutée pour la machine client suivante de la liste L.
<Desc/Clms Page number 22>
Au contraire, lorsque le résultat du test pratiqué à l'étape E305 est positif, alors cette dernière est suivie de l'étape E307.
Au cours de cette étape, un autre test est pratiqué afin de déterminer si l'indice de boucle p a atteint la valeur basse minimale PRIOMIN.
Dans la négative, l'étape E307 est suivie d'une étape E308 au cours de laquelle l'indice de boucle p est décrémenté d'une unité et l'on traite alors une nouvelle fois toutes les machines client connectées au dispositif 1 de la figure 1 en partant de la première (c = 1 ) et en exécutant la boucle constituée des étapes E302 à E306.
Si le test pratiqué au cours de l'étape E307 conduit à un résultat positif, cette dernière est alors suivie de l'étape E308 précédemment décrite au cours de laquelle l'indice de boucle est réinitialisé à la valeur de priorité haute maximale PRIOMAX et l'algorithme de la figure 3 est de nouveau exécuté.
Il convient de noter que l'exécution du processus dont l'algorithme est représenté à la figure 3 dépend du contenu de la liste L de machines client (ou clients) connectées au dispositif 1 de la figure 1 : qu'une machine client est connectée le processus est exécuté et il s'arrête lorsque aucune machine clients n'est connectée.
On va maintenant décrire le processus d'affectation dynamique de priorité à une machine client courante repérée par la variable c dans la liste L définie ci-dessus, la connexion de cette machine client avec le dispositif 1 de la figure 1 étant analysée lors de l'exécution de l'algorithme de la figure 3.
L'algorithme de la figure 4 fait partie de l'algorithme de la figure 3 et comporte à cet effet différentes instructions ou portions de code logiciel correspondant à des étapes du procédé de gestion des transmissions selon l'invention.
L'algorithme de la figure 4 débute par une étape E400 qui prévoit d'estimer la qualité de services proposée à la machine client courante c pour un paquet de données que le dispositif 1 de la figure 1 se propose de lui transmettre.
<Desc/Clms Page number 23>
On notera que pour les besoins de la mise à jour de la priorité Pc affectée à l'étape E302 de la figure 3, il est nécessaire de connaître le contenu du paquet à transmettre.
On notera également que cette étape d'estimation tient compte du temps tp au bout duquel le paquet doit parvenir à la machine client courante.
Cette information est connue du dispositif 1 selon l'invention (serveur) à travers la qualité de services exprimée dans la requête provenant de cette machine client.
On notera également que le temps tp est en quelque sorte représentatif du taux de remplissage de l'unité de stockage de la machine client considérée.
Ce temps dépend de la qualité de services exprimée dans la requête provenant de la machine client considérée, ainsi que du contenu du paquet de données à transmettre à cette machine.
En effet, lorsque, par exemple, la qualité de services demandée est exprimée en nombre d'images par seconde, selon que les images sont codées en mode Intra ou Inter, pour une même taille de paquets, le nombre d'images contenues dans un paquet est supérieur dans le cas d'une image codée en mode Inter.
Ainsi, connaissant la qualité de services exprimée par la machine client (ex : nombre d'images par seconde) et tenant compte du contenu du paquet (nombre d'images par paquet) le dispositif 1 selon l'invention est capable de déterminer le temps tp précité.
Plus particulièrement, au cours de l'étape E400, on détermine à un instant ta, appelé instant courant, un paramètre appelé marge (ta) qui est représentatif de la qualité de services proposée à la machine client courante considérée pour le paquet de données concerné qui sera éventuellement transmis.
Ce paramètre s'exprime sous la forme suivante : marge (ta) = to + tp - ta, où to correspond à l'instant où la machine client courante s'est connectée au dispositif 1.
<Desc/Clms Page number 24>
Une fois cette étape d'estimation effectuée, l'étape suivante E401 prévoit la détermination de l'évolution, au cours du temps, de l'estimation de la qualité de services proposée à la machine client courante.
Cette détermination est effectuée pour les paquets de données à transmettre à des instants différents.
Par exemple, on peut s'intéresser à la transmission de deux paquets de données successifs au cours du temps, ou bien même déterminer cette évolution pour des paquets de données à transmettre espacés de plusieurs paquets dans le temps.
Plus particulièrement, au cours de l'étape E401, on détermine un paramètre appelé "variation" qui s'écrit de la façon suivante : variation = marge (ta) - marge (tb), où les paramètres marge (ta) et marge (tb) sont représentatifs de la qualité de services estimée à deux instants différents ta et tb avec ta > tb et pour deux paquets de données différents.
La variation permet ainsi d'estimer l'évolution entre l'estimation de la qualité de services actuelle et l'estimation d'une qualité de services précédente.
L'étape E401 est ensuite suivie d'une étape E402 au cours de laquelle un test est effectué afin de déterminer si la variation précédemment déterminée est nulle.
Dans l'affirmative, la qualité de services proposée n'ayant donc pas évolué depuis la dernière estimation, on choisit de ne pas modifier la priorité affectée à la machine client courante c dont la connexion avec le dispositif 1 est en cours d'analyse, ce qui met fin à l'algorithme de la figure 4.
Au contraire, lorsque le résultat du test pratiqué à l'étape E402 est négatif, alors l'étape suivante E403 prévoit d'effectuer un autre test afin de déterminer si la variation précédemment déterminée est supérieure ou égale à la marge déterminée à l'étape E400.
Ce test permet en effet de détecter une forte variation dans l'estimation de la qualité de services proposée pour un paquet de données à transmettre à la machine client courante.
Ainsi, lorsque le résultat de ce test est positif, le dispositif de gestion selon l'invention est informé que la marge déterminée à l'instant courant ta est
<Desc/Clms Page number 25>
en train de diminuer et qu'il convient donc d'anticiper afin de ne pas dégrader la qualité de services proposée à la machine client considérée.
L'étape E403 est alors suivie d'une étape E407 au cours de laquelle une priorité haute et d'ailleurs maximale, PRIOMAX, est affectée à la machine client courante dont la connexion avec le dispositif 1 de la figure 1 est en cours d'analyse.
Ceci signifie qu'il est urgent de prévoir une transmission d'un paquet de données à destination de cette machine client.
Ceci met alors fin à l'exécution de l'algorithme de la figure 4.
Au contraire, lorsque le résultat du test pratiqué à l'étape E403 est négatif, l'étape suivante E404 prévoit d'effectuer un test supplémentaire.
Au cours de ce test, on détermine, d'une part, si la marge précédemment déterminée à l'étape E400 est supérieure ou égale à un seuil prédéterminé et, d'autre part, s'il existe au moins une machine client pour laquelle une marge négative a été détectée (Nb > 0).
Le seuil prédéterminé correspond, par exemple, à une seconde et permet de détecter si la machine client courante sera considérée comme étant suffisamment en avance, c'est-à-dire que le taux de remplissage de son unité de stockage est suffisant pour ne pas interrompre le processus de décodage et de visualisation des données vidéo demandées par cette machine.
Il convient de noter que l'on aurait pu se contenter de détecter si la marge déterminée à l'étape E400 était positive pour s'assurer que la qualité de services estimée par le dispositif 1, pour un paquet de données à transmettre à cette machine client, était conforme à la qualité de services demandée par cette dernière.
Toutefois, cette seule vérification ne suffit pas en soi pour déterminer si une machine client a besoin d'un paquet de données, dans la mesure où une marge positive à un instant donné peut devenir négative à l'instant suivant et donc traduire une dégradation de la qualité de services proposée à cette machine.
Lorsque le résultat du test pratiqué à l'étape E404 est positif, c'est-àdire lorsque l'estimation de la qualité de services proposée à une machine client
<Desc/Clms Page number 26>
courante pour un paquet de données est conforme à la qualité de services demandée par cette dernière et lorsque, pour au moins une autre machine client, l'estimation de la qualité de services proposée pour un paquet de données à transmettre à cette dernière n'est pas conforme avec la qualité de services demandée, alors cette étape est suivie d'une étape E405.
Au cours de cette dernière étape, il est prévu d'affecter à la machine client courante une priorité Pc minimale qui est égale à PRIOMIN -1.
L'affectation de cette priorité minimale indique au dispositif 1 selon l'invention qu'il n'est pas nécessaire de transmettre un paquet de données à la machine client courante c.
Cette information est utilisée dans l'algorithme de la figure 3 lors du test pratiqué à l'étape E303 qui conduit, dans ce cas précis, directement à l'exécution de l'étape E305, sans transmettre un paquet de données comme prévu par l'étape 304.
La priorité ainsi affectée à la machine client courante exclut toute transmission de paquet de données à cette machine. Ceci n'est bien entendu valable que pour l'estimation qui vient d'être effectuée de la connexion établie entre le dispositif 1 et la machine client courante considérée et est susceptible d'être remis en question lors de la nouvelle estimation, pour un nouveau paquet de données à transmettre.
Au contraire, lorsque le résultat du test pratiqué à l'étape E404 est négatif, alors cette étape est suivie d'une étape E406.
Ce cas de figure apparaît, soit lorsque la marge déterminée à l'étape E400 n'est pas supérieure au seuil fixé soit lorsque aucune marge négative n'a été détectée pour d'autres machines client.
Au cours de l'étape E406 on effectue un test afin de déterminer si la marge de la machine client courante dont la connexion avec le dispositif 1 selon l'invention est en cours d'analyse est positive.
Ceci revient, en d'autres termes, à déterminer si la qualité de service proposée à cette machine client en relation avec un paquet de données à transmettre est conforme avec la qualité de services demandée par cette machine.
<Desc/Clms Page number 27>
Lorsque le résultat du test pratiqué à l'étape E406 est négatif, ce qui correspond à une non conformité de la qualité de services proposée, telle qu'elle a été estimée, avec la qualité de services demandée par la machine client courante, alors cette étape est suivie d'une étape E407.
Au cours de cette dernière étape, il est prévu d'affecter à la machine client courante la valeur de priorité Pc maximale égale à PRIOMAX.
Ceci informe le dispositif de gestion selon l'invention qu'il est nécessaire d'effectuer une transmission d'un paquet pour cette machine client lors de l'exécution de l'algorithme de la figure 3.
On notera que les étapes E402, E403, E404 et E406 sont des étapes au cours de laquelle la qualité de services estimée à l'étape E400 ou sa variation déterminée à l'étape E401 sont comparées avec la qualité de services demandée par la machine client courante.
Lorsque le résultat du test pratiqué à l'étape E406 est positif, ce qui signifie que l'estimation de la qualité de services proposée à la machine client courante est conforme à la qualité de services demandée par cette dernière, alors cette étape est suivie d'une étape E408.
Au cours de cette dernière étape on détermine une valeur appelée "pas" qui correspond au pas, également appelé saut de priorité, dont il convient de faire varier la priorité courante affectée à la machine client courante pour tenir compte de l'estimation de la qualité de services effectuée précédemment.
Au cours de cette étape E408 on détermine ainsi l'incrément de la priorité qu'il convient d'appliquer à la priorité courante de la façon suivante : pas = E (PRIOMAX (variation/marge 1, où 1 xdésigne la fonction mathématique "valeur absolue de x" et E (x) désigne la fonction mathématique "partie entière de x".
Au cours de l'étape suivante E409 on détermine la valeur de la priorité qu'il convient d'affecter à la machine client courante de la façon suivante :
Pc = Pc - sign (pas), où sign (x) désigne la fonction mathématique "signe" de x.
<Desc/Clms Page number 28>
L'exécution des étapes E408 et 409 permet ainsi d'ajuster la valeur de la priorité affectée à la machine client courante en fonction de l'estimation de la qualité de services effectuée précédemment à l'étape E400.
Ceci permet en effet d'affiner la valeur de la priorité affectée à la machine client courante plutôt que d'affecter systématiquement une valeur extrême du type PRIOMAX ou PRIOMIN.
Il est mis fin à l'algorithme de la figure 4 après l'exécution de l'étape E409.
On notera que la transmission des données vidéo codées se fait à la volée (connu en terminologie anglo-saxonne sous le terme "streaming"), c'est-à-dire que les informations nécessaires à l'utilisateur pour reconstruire une image sont mémorisées dans l'unité de stockage 11, puis sont transmises à la machine client 2 avant que toutes les données vidéo ne soient codées.
Ainsi, l'utilisateur reçoit au niveau de la machine client 2 les informations par paquets, dans chacun desquels se trouvent des informations permettant à cet utilisateur de décoder une image courante.
Il convient de noter que l'invention s'applique également lorsque la source de données (serveur1 ) qui est connectée aux appareils de communication ne reçoit pas de requêtes provenant de ces derniers et spécifiant une qualité de services demandée.
En effet, le dispositif de gestion selon l'invention estime, à partir des seules informations dont il dispose, la qualité de services qu'il est susceptible d'offrir à un appareil en lui transmettant un ou plusieurs paquets de données.
En fonction de cette estimation, le dispositif est alors en mesure d'évaluer la charge de travail future de l'appareil, de faire de même avec d'autres appareils et d'affecter en conséquence des priorités aux appareils concernés.
Ceci peut être fait sans que le dispositif selon l'invention ne connaisse la qualité de services demandée par chaque appareil.
Dans ce cas de figure, les algorithmes des figures 2 à 4 doivent être modifiés en conséquence.
<Desc/Clms Page number 29>
En référence à la figure 5, est décrit un exemple d'appareil de communication programmable mettant en #uvre l'invention.
Cet appareil comprend le dispositif de gestion des transmissions selon l'invention représenté à la figure 1 et dont le fonctionnement est décrit en référence aux figures 2 à 4. L'appareil est connecté, de façon identique au dispositif 1 de la figure 1, à plusieurs appareils de communication jouant le rôle de machines client.
Selon le mode de réalisation choisi et représenté à la figure 5, un appareil mettant en #uvre l'invention est par exemple un micro-ordinateur 500 ou une station de travail connecté à différents périphériques, par exemple une caméra numérique 501 (ou un scanner, ou tout moyen d'acquisition ou de stockage d'image) reliée à une carte graphique et fournissant à l'appareil des données multimédia à traiter et à transmettre à différentes machines client.
L'appareil 500 comporte un bus de communication 502 auquel sont reliés : - une unité centrale de traitement 503 (microprocesseur), qui exerce la fonction de l'unité de commande 15 de la figure 1, - une mémoire morte 504, pouvant comporter les programmes "Prog1 et Prog2", - une mémoire vive 506, comportant des registres 507 adaptés à enregistrer des variables et paramètres créés et modifiés au cours de l'exécution des programmes précités, notamment, p, c, Pc, Cmax, PRIOMAX, PRIOMIN, marge, variation, seuil, Nb, pas, mentionnés en référence aux figures précédentes, ainsi que les paquets de données générés au cours de l'exécution de l'algorithme de la figure 2.
- un écran 508 permettant de visualiser des données et/ou de servir d'interface graphique avec l'utilisateur qui pourra interagir avec les programmes selon l'invention, à l'aide d'un clavier 510 ou de tout autre moyen tel qu'un dispositif de pointage non représenté, comme par exemple une souris ou un crayon optique, - un disque dur 512 pouvant comporter les programmes "Prog1" et "Prog2" précités,
<Desc/Clms Page number 30>
- un lecteur de disquette 514 adapté à recevoir une disquette 516 et à y lire ou à y écrire des données traitées ou à traiter selon l'invention, - une interface de communication 518 reliée à un réseau de communication 520, par exemple le réseau Internet, l'interface étant apte à transmettre et à recevoir des données.
Dans le cas de données audio, l'appareil comprend en outre une carte d'entrée/sortie reliée à un microphone qui sont tous deux non représentés.
Le bus de communication permet la communication et l'interopérabilité entre les différents éléments inclus dans le micro-ordinateur 500 ou reliés à lui. La représentation du bus n'est pas limitative et, notamment, l'unité centrale est susceptible de communiquer des instructions à tout élément du micro-ordinateur 500 directement ou par l'intermédiaire d'un autre élément du micro-ordinateur 500.
Le code exécutable de chaque programme permettant à l'appareil programmable de mettre en #uvre les processus de traitement des requêtes et de génération de paquets (figure 2), d'affectation dynamique des priorités aux machines client connectées (figures 3 et 4) selon l'invention, peut être stocké par exemple dans le disque dur 512 ou en mémoire morte 504 comme représenté sur la figure 5.
Selon une variante, la disquette 516, peut contenir des données ainsi que le code exécutable des programmes précités qui, une fois lu par l'appareil 500, sera stocké dans le disque dur 512.
En seconde variante, le code exécutable des programmes pourra être reçu par l'intermédiaire du réseau de communication 520, via l'interface 518, pour être stocké de façon identique à celle décrite précédemment.
Les disquettes peuvent être remplacées par tout support d'information tel que, par exemple, un disque compact (CD-ROM) ou une carte mémoire. De manière générale, un moyen de stockage d'information, lisible par un ordinateur ou par un microprocesseur, intégré ou non à l'appareil, éventuellement amovible, est adapté à mémoriser un ou plusieurs programmes dont l'exécution permet la mise en #uvre du procédé selon l'invention.
<Desc/Clms Page number 31>
De manière plus générale, le ou les programmes pourront être chargés dans un des moyens de stockage de l'appareil 500 avant d'être exécutés.
* L'unité centrale 503 va commander et diriger l'exécution des instructions ou portions de code logiciel du ou des programmes selon l'invention, instructions qui sont stockées dans le disque dur 512 ou la mémoire morte 504 ou bien dans les autres éléments de stockage précités. Lors de la mise sous tension, le ou les programmes qui sont stockés dans une mémoire non volatile, par exemple le disque dur 512 ou la mémoire ROM 504, sont transférés dans la mémoire vive RAM 506 qui contiendra alors le code exécutable du ou des programmes selon l'invention, ainsi que des registres pour mémoriser les variables et paramètres nécessaires à la mise en #uvre de l'invention.
Il convient de noter que l'appareil de communication comportant le dispositif selon l'invention peut également être un appareil programmé.
Cet appareil contient alors le code du ou des programmes informatiques par exemple figé dans un circuit intégré à application spécifique (ASIC).

Claims (30)

REVENDICATIONS
1. Procédé de gestion des transmissions de données numériques multimédia sous la forme de paquets de données entre une source de données (1) et plusieurs appareils de communication (2,3,4) connectés à cette source par l'intermédiaire d'un réseau de communication (5), caractérisé en ce que le procédé comporte les étapes suivantes effectuées au niveau de la source de données : - estimation (E400) d'une qualité de services proposée à un appareil de communication, l'estimation tenant compte de l'instant (tp) auquel au moins un paquet parviendra à l'appareil de communication, - affectation (E407, E409) à l'appareil de communication d'une priorité (Pc) qui est adaptée au moins en fonction du résultat de l'estimation.
2. Procédé selon la revendication 1, caractérisé en ce qu'il comporte les étapes suivantes effectuées à la source de données : - réception (E200) d'au moins une requête provenant d'au moins un appareil de communication, la requête spécifiant, d'une part, les données qui sont nécessaires à l'appareil concerné et, d'autre part, une qualité de services demandée par cet appareil, - comparaison (E402, E403, E404, E406) de la qualité de services estimée qui est proposée à un appareil de communication avec la qualité de services demandée par cet appareil, - affectation (E407, E409) à l'appareil de communication d'une priorité (Pc) adaptée au résultat de cette comparaison.
3. Procédé selon la revendication 2, caractérisé en ce que l'instant (tp) dépend du contenu du paquet de données à transmettre à l'appareil de communication et de la qualité de services demandée par cet appareil.
4. Procédé selon l'une des revendications 1 à 3, caractérisé en ce qu'il comporte une étape de décision (E303) quant à la transmission de paquets de données aux appareils de communication, en fonction des priorités affectées de manière dynamique aux appareils.
<Desc/Clms Page number 33>
5. Procédé selon l'une des revendications 1 à 4, caractérisé en ce qu'il comporte une étape (E401, E402, E403) de détermination de l'évolution au cours du temps de l'estimation de la qualité de services proposée à un appareil de communication pour des paquets de données à transmettre à des instants différents.
6. Procédé selon la revendication 5, caractérisé en ce que, lorsque l'évolution au cours du temps de l'estimation fait apparaître une diminution de l'estimation de la qualité de services proposée à l'appareil de communication pour un paquet de données à transmettre, le procédé comporte une étape d'affectation (E407) à cet appareil d'une priorité haute (PRIOMAX) en termes de nécessité de transmission de paquets de données.
7. Procédé selon les revendications 2 et 5, caractérisé en ce que, lorsque l'estimation de la qualité de services proposée à au moins un premier appareil de communication pour un paquet est conforme à la qualité de services demandée par cet appareil et lorsque l'estimation de la qualité de services proposée à au moins un deuxième appareil de communication pour un paquet n'est pas conforme à la qualité de services demandée par cet appareil, le procédé comporte une étape d'affectation (E405) au premier appareil d'une priorité (PRIOMIN-1) minimale en termes de nécessité de transmission de paquets de données.
8. Procédé selon la revendication 7, caractérisé en ce que la priorité (PRIOMIN-1) affectée au premier appareil de communication exclut toute transmission de paquets de données à cet appareil avant une nouvelle étape d'estimation de la qualité de services proposée à l'appareil pour un nouveau paquet de données à transmettre.
9. Procédé selon les revendications 2 et 5, caractérisé en ce que, lorsque l'estimation courante de la qualité de services proposée à l'appareil de communication pour un paquet de données à transmettre est conforme à la qualité de services demandée (E406), le procédé comporte une étape d'ajustement (E409) de la priorité à affecter à l'appareil en fonction de la qualité de services estimée.
10. Procédé selon l'une des revendications 1 à 9, caractérisé en ce que l'étape d'estimation comprend la détermination à l'instant courant (ta) d'un
<Desc/Clms Page number 34>
paramètre représentatif de la qualité de services appelé marge (ta) et qui s'écrit : marge (ta) = to + tp - ta, où to correspond à l'instant où l'appareil de communication concerné s'est connecté à la source de données.
11. Procédé selon les revendications 5 et 10, caractérisé en ce que la détermination de l'évolution de l'estimation au cours du temps comprend la détermination (E401) d'un paramètre appelé variation qui s'écrit : variation = marge (ta) - marge (tb), où marge (ta) et marge (tb) sont les paramètres représentatifs de la qualité de services à deux instants différents ta et tb, avec ta > tb.
12. Procédé selon les revendications 9 et 11, caractérisé en ce que, préalablement à l'étape d'ajustement (E409), le procédé comporte une étape (E408) de détermination du pas de la priorité dont il convient de faire varier la priorité affectée à un appareil de communication pour tenir compte de la qualité de services estimée, le pas s'écrivant : pas = 1 E (PRIOMAX (variation / marge où 1 xdésigne la fonction mathématique "valeur absolue de x" et E (x) désigne la fonction mathématique "partie entière de x".
13. Procédé selon l'une des revendications 1 à 12, caractérisé en ce que les données numériques multimédia sont des données vidéo.
14. Dispositif de gestion des transmissions de données numériques multimédia sous la forme de paquets de données entre une source de données (1) et plusieurs appareils de communication (2,3,4) connectés à cette source par l'intermédiaire d'un réseau de communication (5), caractérisé en ce que le dispositif comporte : - des moyens d'estimation d'une qualité de services proposée à un appareil de communication, l'estimation tenant compte de l'instant (tp) auquel au moins un paquet de données parviendra à l'appareil de communication, - des moyens d'affectation à l'appareil de communication d'une priorité (Pc) qui est adaptée au moins en fonction du résultat de l'estimation.
15. Dispositif selon la revendication 14, caractérisé en ce qu'il comporte : - des moyens de réception d'au moins une requête provenant d'au moins un appareil de communication, la requête spécifiant, d'une part, les données
<Desc/Clms Page number 35>
qui sont nécessaires à l'appareil concerné et, d'autre part, une qualité de services demandée par cet appareil, - des moyens de comparaison de la qualité de services estimée qui est proposée à un appareil de communication avec la qualité de services demandée par cet appareil, - des moyens d'affectation à l'appareil de communication d'une priorité (Pc) adaptée au résultat de cette comparaison.
16. Dispositif selon la revendication 15, caractérisé en ce que l'instant (tp) dépend du contenu du paquet de données à transmettre à l'appareil de communication et de la qualité de services demandée par cet appareil.
17. Dispositif selon l'une des revendications 14 à 16, caractérisé en ce qu'il comporte des moyens de décision quant à la transmission de paquets de données aux appareils de communication, en fonction des priorités affectées de manière dynamique.
18. Dispositif selon l'une des revendications 14 à 17, caractérisé en ce qu'il comporte des moyens de détermination de l'évolution au cours du temps de l'estimation de la qualité de services proposée à un appareil de communication pour des paquets de données à transmettre à des instants différents.
19. Dispositif selon la revendication 18, caractérisé en ce que le dispositif comporte des moyens d'affectation à un appareil de communication d'une priorité haute (PRIOMAX) en termes de nécessité de transmission de paquets de données, lesdits moyens agissant lorsque l'évolution au cours du temps de l'estimation fait apparaître une diminution de l'estimation de la qualité de services proposée à l'appareil de communication pour un paquet de données à transmettre.
20. Dispositif selon les revendications 15 et 18, caractérisé en ce que le dispositif comporte des moyens d'affectation à un appareil de communication d'une priorité (PRIOMIN-1) minimale en termes de nécessité de transmission de paquets de données.
21. Dispositif selon la revendication 20, caractérisé en ce que la priorité (PRIOMIN-1) affectée à l'appareil de communication exclut toute transmission de paquets de données à cet appareil avant une nouvelle estimation de la qualité de services proposée à l'appareil pour un nouveau paquet de données à transmettre.
<Desc/Clms Page number 36>
22. Dispositif selon les revendications 15 et 18, caractérisé en ce que le dispositif comporte des moyens d'ajustement (E409) de la priorité à affecter à l'appareil en fonction de la qualité de services estimée, lesdits moyens agissant lorsque l'estimation courante de la qualité de services proposée à l'appareil de communication pour un paquet de données à transmettre est conforme à la qualité de services demandée.
23. Dispositif selon l'une des revendications 14 à 22, caractérisé en ce que les moyens d'estimation sont aptes à déterminer l'instant courant (ta) d'un paramètre représentatif de la qualité de services appelé marge (ta) et qui s'écrit : marge (ta) = to + tp - ta, où to correspond à l'instant où l'appareil de communication concerné s'est connecté à la source de données.
24. Dispositif selon les revendications 18 et 23, caractérisé en ce que les moyens de détermination de l'évolution de l'estimation au cours du temps sont aptes à déterminer un paramètre appelé variation qui s'écrit : variation = marge (ta) - marge (tb), où marge (ta) et marge (tb) sont les paramètres représentatifs de la qualité de services à deux instants différents ta et tb, avec ta > tb.
25. Dispositif selon les revendications 22 et 24, caractérisé en ce que le dispositif comporte des moyens de détermination du pas de la priorité dont il convient de faire varier la priorité affectée à un appareil de communication pour tenir compte de la qualité de services estimée, le pas s'écrivant : pas = 1 E (PRIOMAX (variation / marge 1, où x 1 désigne la fonction mathématique "valeur absolue de x" et E (x) désigne la fonction mathématique "partie entière de x".
26. Dispositif selon l'une des revendications 14 à 25, caractérisé en ce que les données sont des données vidéo.
27. Appareil de communication, caractérisé en ce qu'il comporte un dispositif de gestion des transmissions selon l'une des revendications 14 à 26.
28. Moyen de stockage d'informations lisible par un ordinateur ou un microprocesseur comportant des instructions de code d'un programme d'ordinateur pour l'exécution des étapes du procédé de gestion des transmissions selon l'une des revendications 1 à 13.
<Desc/Clms Page number 37>
29. Moyen de stockage d'informations amovible, partiellement ou totalement lisible par un ordinateur ou un microprocesseur comportant des instructions de code d'un programme d'ordinateur pour l'exécution des étapes du procédé de gestion des transmissions selon l'une des revendications 1 à 13.
30. Programme d'ordinateur chargeable dans un appareil programmable, caractérisé en ce qu'il comporte des séquences d'instructions ou des portions de code logiciel pour mettre en #uvre les étapes du procédé de gestion des transmissions selon l'une des revendications 1 à 13, lorsque ce programme d'ordinateur est chargé et exécuté par l'appareil programmable.
FR0204463A 2002-04-10 2002-04-10 Procede et dispositif de gestion des transmissions de donnees et des appareils de communication Expired - Fee Related FR2838588B1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR0204463A FR2838588B1 (fr) 2002-04-10 2002-04-10 Procede et dispositif de gestion des transmissions de donnees et des appareils de communication

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0204463A FR2838588B1 (fr) 2002-04-10 2002-04-10 Procede et dispositif de gestion des transmissions de donnees et des appareils de communication

Publications (2)

Publication Number Publication Date
FR2838588A1 true FR2838588A1 (fr) 2003-10-17
FR2838588B1 FR2838588B1 (fr) 2004-06-18

Family

ID=28459715

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0204463A Expired - Fee Related FR2838588B1 (fr) 2002-04-10 2002-04-10 Procede et dispositif de gestion des transmissions de donnees et des appareils de communication

Country Status (1)

Country Link
FR (1) FR2838588B1 (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8490107B2 (en) 2011-08-08 2013-07-16 Arm Limited Processing resource allocation within an integrated circuit supporting transaction requests of different priority levels

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
LIANG S T ET AL: "REALIZATION OF EARLIEST-DUE-DATE SCHEDULING DISCIPLINE FOR ATM SWITCHES", IEICE TRANSACTIONS ON COMMUNICATIONS, INSTITUTE OF ELECTRONICS INFORMATION AND COMM. ENG. TOKYO, JP, vol. E81-B, no. 2, 1 February 1998 (1998-02-01), pages 363 - 372, XP000778275, ISSN: 0916-8516 *
NEIR L A ET AL: "Time-to-delivery queuing: a multi-purpose resource allocation and congestion control technique", GLOBAL TELECOMMUNICATIONS CONFERENCE, 1993, INCLUDING A COMMUNICATIONS THEORY MINI-CONFERENCE. TECHNICAL PROGRAM CONFERENCE RECORD, IEEE IN HOUSTON. GLOBECOM '93., IEEE HOUSTON, TX, USA 29 NOV.-2 DEC. 1993, NEW YORK, NY, USA,IEEE, 29 November 1993 (1993-11-29), pages 1395 - 1400, XP010109814, ISBN: 0-7803-0917-0 *
ROSADO-SOSA C ET AL: "Jitter compensation scheduling schemes for the support of real-time communications", COMMUNICATIONS, 1998. ICC 98. CONFERENCE RECORD. 1998 IEEE INTERNATIONAL CONFERENCE ON ATLANTA, GA, USA 7-11 JUNE 1998, NEW YORK, NY, USA,IEEE, US, 7 June 1998 (1998-06-07), pages 885 - 890, XP010284699, ISBN: 0-7803-4788-9 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8490107B2 (en) 2011-08-08 2013-07-16 Arm Limited Processing resource allocation within an integrated circuit supporting transaction requests of different priority levels

Also Published As

Publication number Publication date
FR2838588B1 (fr) 2004-06-18

Similar Documents

Publication Publication Date Title
FR2874472A1 (fr) Procede, article de fabrication et dispositif destines a mettre a jour un logiciel dans un dispositif individuel
FR2851389A1 (fr) Procede et dispositif de gestion de requetes dans une architecture du type client-serveur
EP2947888A1 (fr) Procédé de téléchargement adaptatif de contenus numériques pour plusieurs écrans
FR2849736A1 (fr) Dispositif et procede d&#39;acquisition de fichiers par accumulation de points et produits associes
FR2893470A1 (fr) Procede et dispositif de creation d&#39;une sequence video representative d&#39;une sequence video numerique et procedes et dispositifs de transmission et reception de donnees video associes
EP3229483B1 (fr) Extraction de flux video
EP3780632A1 (fr) Systeme de distribution d&#39;un contenu audiovisuel
EP2273786A1 (fr) Contrôle d&#39;accès à un contenu numérique
WO2019220034A1 (fr) Gestion du téléchargement progressif adaptatif d&#39;un contenu numérique au sein d&#39;un terminal de restitution d&#39;un réseau de communication local
EP2589202B1 (fr) Procédé et système de gestion de sessions de communication
FR2838588A1 (fr) Procede et dispositif de gestion des transmissions de donnees et des appareils de communication
WO2021089942A1 (fr) Procédé de gestion de zapping de contenus multimédias numériques obtenu par téléchargement progressif adaptatif (has), dispositif de gestion, lecteur de flux multimédia et programme d&#39;ordinateur correspondants
WO2021058910A1 (fr) Gestion du téléchargement progressif adaptatif d&#39;un contenu numérique sur réseau mobile avec sélection d&#39;un débit d&#39;encodage maximum autorisé en fonction d&#39;un godet de données
WO2011128574A1 (fr) Reception d&#39;un contenu numerique en mode truque
WO2023208688A1 (fr) Gestion de la restitution d&#39;un contenu multimédia
EP3926929B1 (fr) Procédé de gestion de la lecture d&#39;un contenu numérique au sein d&#39;un terminal lecteur de contenus multimédias connecté à un dispositif de restitution
WO2021209706A1 (fr) Gestion de l&#39;accès à des contenus numériques accessibles en téléchargement progressif adaptatif et encodés selon une méthode d&#39;encodage à débit variable, en fonction d&#39;une charge réseau
FR3069996B1 (fr) Procede de lecture d&#39;un flux multimedia chiffre avec acces rapide au contenu en clair et dispositif d&#39;utilisation
FR2853483A1 (fr) Procede et dispositif de gestion des transmissions de paquets de donnees entre au moins deux appareils de communication
EP3840391A1 (fr) Gestion de la restitution d&#39;un contenu multimédia et d&#39;une interface de navigation sur un écran
FR3114719A1 (fr) Procédé de gestion de la lecture d’un contenu numérique au sein d’un terminal lecteur de contenus multimédias connecté à un dispositif de restitution
WO2024013463A1 (fr) Streaming vidéo adaptatif hybride amélioré
FR3093605A1 (fr) Procédé de navigation accélérée dans un contenu numérique obtenu par téléchargement progressif adaptatif (HAS), gestionnaire, lecteur de flux multimédia et programme d’ordinateur correspondants.
EP4346216A1 (fr) Gestion de la lecture d&#39;un contenu multimédia
FR3093603A1 (fr) Procédé de navigation accélérée dans un contenu numérique obtenu par téléchargement progressif adaptatif (HAS), gestionnaire, lecteur de flux multimédia et programme d’ordinateur correspondants.

Legal Events

Date Code Title Description
ST Notification of lapse

Effective date: 20131231