FR2853483A1 - Multimedia data e.g. video, packet transmission managing process, involves transmitting interruption message to client device, when size of data packet received from client device is greater than available memory space in server - Google Patents

Multimedia data e.g. video, packet transmission managing process, involves transmitting interruption message to client device, when size of data packet received from client device is greater than available memory space in server Download PDF

Info

Publication number
FR2853483A1
FR2853483A1 FR0304283A FR0304283A FR2853483A1 FR 2853483 A1 FR2853483 A1 FR 2853483A1 FR 0304283 A FR0304283 A FR 0304283A FR 0304283 A FR0304283 A FR 0304283A FR 2853483 A1 FR2853483 A1 FR 2853483A1
Authority
FR
France
Prior art keywords
transmission
data packets
source
data
size
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
FR0304283A
Other languages
French (fr)
Other versions
FR2853483B1 (en
Inventor
Lilian Labelle
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 FR0304283A priority Critical patent/FR2853483B1/en
Publication of FR2853483A1 publication Critical patent/FR2853483A1/en
Application granted granted Critical
Publication of FR2853483B1 publication Critical patent/FR2853483B1/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/436Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
    • H04N21/43615Interfacing a Home Network, e.g. for connecting the client to a plurality of peripherals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/23406Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving management of server-side video buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
    • H04N21/44004Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44231Monitoring of peripheral device or external card, e.g. to detect processing problems in a handheld device or the failure of an external recording device
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/637Control signals issued by the client directed to the server or network components
    • H04N21/6377Control signals issued by the client directed to the server or network components directed to server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Automation & Control Theory (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The process involves comparing a size of a data packet received from a client device with a size of available memory space in a server for storing the data packets. An interruption message to temporarily interrupt the transmissions of the data packets to the server is transmitted to the client device, when the size of the received data packet is greater than the available memory space in the server. Independent claims are also included for the following: (a) a communication apparatus including the device of management of multimedia data packets transmission between two communication apparatus (b) an information storage unit readable by a computer or a microprocessor comprising the instructions of computer program for executing the steps of the process of management of the transmission of multimedia data packets (c) a computer program loaded in a programmable apparatus and comprising a sequence of instructions or the logical code for executing the process of management of transmission of multimedia data.

Description

ii

La présente invention concerne un procédé et un dispositif de gestion des transmissions de paquets de données multimédia entre au moins deux appareils de communication connectés entre eux.  The present invention relates to a method and a device for managing transmissions of multimedia data packets between at least two communication devices connected to one another.

L'avancement technologique des appareils de communication numériques tels que les téléviseurs, les micro-ordinateurs de poche, les micro10 ordinateurs 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.  The technological advancement of digital communication devices such as television sets, pocket PCs, conventional PCs or any other miniaturized device is such that, in the coming years, it will most likely be possible to exchange data. multimedia type and, for example, audio and / or video between these different devices.

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 15 pas trop excessif et, surtout, que les services rendus soient de bonne qualité.  Market research shows, moreover, that users are ready to buy such communication devices provided that the price is not too excessive and, above all, that the services provided are of good quality.

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.  Following the identification of this new market, numerous studies have been conducted on the miniaturization of electronic components, in order to obtain devices having high memory and computing capacity.

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 oeuvre et la gestion du transfert des données via un réseau particulier.  In addition, many standardization bodies have established standards to unify the exchange of data between these devices with different characteristics. These standards, such as those of the IEEE 802 family, allow both the implementation and management of data transfer via a particular network.

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 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.  The IEEE 802.11 standard and its European counterpart HYPERLAN are dedicated to wireless LANs. They are particularly studied now because they are broadband networks for transmitting audio and / or video data between two machines that are geographically close.

Ces standards sont donc particulièrement adaptés pour développer des 30 réseaux locaux sans fil à l'intérieur des habitations.  These standards are therefore particularly suitable for developing wireless local area networks within homes.

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.  The technical solutions currently studied in the context of the aforementioned standards applied to the local home networks make it possible to transmit digital data either between a so-called server machine and a so-called client machine (point-to-point transmission), or between the server and a group of clients, again between the server and several clients (multi-point communication) without any wires.

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, camescope... ).  In this environment, the data is stored on the server that centralizes all communications with the client (s). This server can also serve as a gateway to the outside world (Internet, television, camcorder ...).

Il convient de noter que les réseaux locaux domestiques peuvent être de 10 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.  It should be noted that home LANs may be of a heterogeneous nature, i.e. they may, for example, consist partly of wireless links and partly of wired links.

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'lnternet, peu d'entre eux traitent des problèmes liés à la mise en oeuvre de réseaux locaux domestiques, à 15 savoir la mise en place de solutions permettant d'obtenir une qualité de services acceptable pour les utilisateurs.  While many projects are studying the implementation of interactive television services and the exchange of information on the lnternet, few of them deal with problems related to the implementation of local home networks, namely: the implementation of solutions to obtain a quality of services acceptable to users.

La transmission de données, par exemple, de type vidéo entre un serveur et une machine client à travers un réseau de communication local, de manière à permettre à la machine client de décoder et visualiser ces données vidéo 20 n'est pas un service aisé à mettre en place.  The transmission of data, for example, of video type between a server and a client machine through a local communication network, so as to allow the client machine to decode and visualize this video data is not an easy service to implement.

En effet, plusieurs problèmes se posent: - la vidéo qui a été réclamée par la machine client par l'intermédiaire d'une requête préalable doit être adaptée au contexte dans lequel la transmission s'effectue, à savoir, par exemple, la bande passante limitée du réseau de 25 communication, la possibilité de perte de paquets de données et que des bits soient erronés lors de cette transmission, les capacités de traitement et/ou de stockage réduites de la machine client... ; - il convient également de tenir compte du fait que plusieurs machines client peuvent demander simultanément la même vidéo, voire des vidéos 30 différentes; pour cette raison, en utilisant une stratégie dite de "meilleur effort" (connue en terminologie anglosaxonne sous le terme de "best effort") selon laquelle un paquet de données est envoyé à chaque machine client tour à tour, certaines de ces machines recevront un grand nombre de données à traiter (décodage et visualisation), tandis que d'autres machines n'en recevront pas assez pour assurer une visualisation correcte de la vidéo décodée: on parlera alors respectivement de machines client en avance et de machines client en retard; - il convient par ailleurs de noter que la machine client est en général un ordinateur ou, du moins, une machine possédant une capacité de calcul et une capacité de mémoire, la mémoire en question étant nécessaire pour stocker les programmes de réception, de décodage et de visualisation de la vidéo; en outre, il est nécessaire d'allouer une partie de cette mémoire au stockage temporaire des 10 paquets de données reçues du serveur dans l'attente de leur traitement; toutefois, lorsque l'on a affaire à des machines client de type portable, telles que des ordinateurs de poche, assistants numériques personnels et autres, la capacité mémoire de la machine est limitée et l'espace mémoire dédié à la réception des paquets de données est en général inférieur à la taille de la vidéo à recevoir, ce qui 15 pose le problème de dépassement de la capacité mémoire de la machine.  Indeed, several problems arise: - the video that has been requested by the client machine via a prior request must be adapted to the context in which the transmission takes place, namely, for example, the bandwidth limited communication network, the possibility of loss of data packets and that bits are erroneous during this transmission, reduced processing and / or storage capacity of the client machine ...; it should also be taken into account that several client machines may simultaneously request the same video or even different videos; for this reason, using a so-called "best effort" strategy (known in English terminology as the "best effort") in which a packet of data is sent to each client machine in turn, some of these machines will receive a large number of data to be processed (decoding and visualization), while other machines will not receive enough to ensure a correct visualization of the decoded video: then we will speak respectively of advance client machines and late client machines; it should also be noted that the client machine is generally a computer or, at least, a machine having a computing capacity and a memory capacity, the memory in question being necessary for storing the reception, decoding and viewing the video; furthermore, it is necessary to allocate a portion of this memory to the temporary storage of the data packets received from the server pending their processing; however, when dealing with portable type client machines, such as handheld computers, personal digital assistants, and the like, the memory capacity of the machine is limited and the memory space dedicated to receiving data packets is generally smaller than the size of the video to be received, which poses the problem of exceeding the memory capacity of the machine.

Compte tenu de ce qui précède, il serait par conséquent intéressant de pouvoir transmettre simultanément d'un appareil de communication plusieurs entités de données numériques multimédia, par exemple des vidéos, à différents autres appareils de communication et de pouvoir gérer le dépassement de mémoire 20 qui risque de se produire sur ces derniers lors de la réception des données.  In view of the foregoing, it would therefore be advantageous to be able to simultaneously transmit a plurality of multimedia digital data entities, for example videos, to various other communication devices and to be able to manage the memory overflow 20 which may occur on the latter when receiving data.

On connaît, d'après le document US 5 822 524, une méthode pour résoudre le problème de gestion de dépassement de la capacité mémoire dans une machine client.  Document US Pat. No. 5,822,524 discloses a method for solving the problem of management of exceeding the memory capacity in a client machine.

Dans ce document, il est prévu de transmettre des données vidéo en 25 utilisant un algorithme d'ordonnancement associé à chacune des machines client en considérant, au niveau du serveur, trois états: - l'état NORMAL selon lequel les paquets de données sont envoyés par le serveur selon une cadence déterminée, - l'état RUSH selon lequel les paquets de données sont envoyés par le 30 serveur selon une cadence accélérée, et - l'état qualifié de PAUSE selon lequel aucun paquet de données n'est envoyé par le serveur.  In this document, it is intended to transmit video data using a scheduling algorithm associated with each of the client machines by considering, at the server level, three states: - the NORMAL state in which the data packets are sent by the server at a determined rate, - the RUSH state in which the data packets are sent by the server at an accelerated rate, and - the PAUSE qualified state that no data packet is sent by the server. server.

Le changement de mode de fonctionnement de cet algorithme d'ordonnancement est piloté par le client en fonction de l'état de remplissage de la mémoire de la machine client allouée à la réception de paquets de données par rapport à deux seuils, l'un noté H, au-delà duquel la mémoire est considérée 5 comme pleine et l'autre noté L, en dessous duquel la mémoire est considérée comme vide.  The change in the operating mode of this scheduling algorithm is piloted by the client according to the state of filling of the memory of the client machine allocated to the reception of data packets with respect to two thresholds, one noted H, beyond which the memory is considered as full and the other noted L, below which the memory is considered empty.

Le serveur est dans l'état NORMAL lorsque le taux de remplissage de la mémoire de la machine client se situe entre les deux seuils précités, cet état NORMAL signifiant pour la machine client que les paquets de données reçus 10 peuvent être stockés dans la mémoire et que les paquets stockés peuvent être traités, c'est-à-dire décodés et visualisés.  The server is in the NORMAL state when the filling rate of the memory of the client machine is between the two aforementioned thresholds, this NORMAL state meaning for the client machine that the received data packets can be stored in the memory and that stored packets can be processed, i.e., decoded and viewed.

Lorsque le taux de remplissage de la mémoire est inférieur au seuil précité H, alors un message PAUSE est envoyé au serveur afin d'interrompre la transmission des paquets à la machine client considérée.  When the filling rate of the memory is below the aforementioned threshold H, then a PAUSE message is sent to the server in order to interrupt the transmission of the packets to the client machine in question.

Lorsque le taux de remplissage de la mémoire devient inférieur au seuil précité H, alors la machine client envoie un message RESTART au serveur afin qu'il reprenne la transmission de paquets de données à cette dernière.  When the filling rate of the memory falls below the aforementioned threshold H, then the client machine sends a RESTART message to the server so that it resumes the transmission of data packets to the latter.

Lorsque le taux de remplissage devient inférieur au seuil précité L, alors un message RUSH est envoyé au serveur, indiquant à ce dernier la nécessité de 20 transmettre rapidement des paquets de données.  When the fill rate falls below the aforementioned threshold L, then a RUSH message is sent to the server, indicating to the server the need to quickly transmit data packets.

L'inconvénient majeur de cette technique réside dans la définition des deux seuils H et L. En effet, lorsque l'on souhaite éviter que la mémoire soit vide, ce qui risquerait d'entraîner un blocage du décodeur et donc de l'algorithme de 25 visualisation (l'image risquerait alors d'être figée sur l'écran de visualisation), il est nécessaire que le seuil L soit suffisamment élevé pour que le temps de traitement des paquets de données restant dans la mémoire soit supérieur à celui nécessaire à l'envoi du message RUSH au serveur, temps auquel il faut ajouter le temps nécessaire pour recevoir un paquet de données.  The major disadvantage of this technique lies in the definition of the two thresholds H and L. Indeed, when it is desired to prevent the memory is empty, which could lead to a blocking of the decoder and therefore the algorithm of 25 display (the image might then be frozen on the display), it is necessary that the threshold L is high enough so that the processing time of the data packets remaining in the memory is greater than that required for sending the RUSH message to the server, time to add the time needed to receive a data packet.

Il convient également de noter que ce seuil L ne doit pas être trop bas car, en effet, la bande passante du réseau de communication serait alors gaspillée par l'envoi fréquent de messages RUSH, NORMAL et PAUSE par la machine client.  It should also be noted that this threshold L should not be too low because, indeed, the bandwidth of the communication network would be wasted by the frequent sending of messages RUSH, NORMAL and PAUSE by the client machine.

On s'aperçoit ainsi que le choix du seuil L n'est pas particulièrement aisé.  We thus realize that the choice of threshold L is not particularly easy.

La définition du seuil H pose, elle aussi, un problème dans la mesure o, dès que le taux de remplissage de la mémoire est supérieur au seuil H, alors la machine client envoie le message PAUSE au serveur mais continue encore à prendre en compte des paquets de données arrivant.  The definition of the threshold H also poses a problem insofar as, as soon as the filling rate of the memory is greater than the threshold H, then the client machine sends the message PAUSE to the server but still continues to take into account data packets arriving.

Etant donné que la machine client n'a pas une connaissance préalable 10 de la taille des paquets qu'elle va recevoir, il est a priori impossible de définir le seuil H en évitant de perdre des paquets de données qui arriveraient après l'envoi du message PAUSE.  Since the client machine does not have prior knowledge of the size of the packets that it will receive, it is a priori impossible to define the threshold H by avoiding losing data packets that would arrive after the sending of the packet. PAUSE message.

On s'aperçoit ainsi que ce genre de méthode utilisant deux seuils pour gérer le problème de dépassement de la capacité mémoire de la machine client 15 nécessite de transmettre des paquets de données de taille constante ou, en tout cas, des paquets de données dont la taille n'excède pas une certaine limite.  It can thus be seen that this type of method using two thresholds for managing the problem of exceeding the memory capacity of the client machine 15 requires transmitting data packets of constant size or, in any case, data packets whose size does not exceed a certain limit.

La présente invention vise à remédier à au moins un des inconvénients précités en proposant un procédé de gestion des transmissions de paquets de données multimédia entre au moins deux appareils de communication connectés 20 entre eux, l'un, dit premier appareil, recevant des paquets de données d'au moins un autre appareil, dit deuxième appareil, caractérisé en ce que le procédé comporte les étapes suivantes effectuées par le premier appareil: - comparaison de la taille du dernier paquet de données reçu du deuxième appareil avec la taille de l'espace mémoire disponible dans le premier 25 appareil pour son stockage, - en fonction du résultat de la comparaison, décision quant à la transmission, en direction du deuxième appareil, d'un message dit d'interruption (PAUSE) visant à interrompre de façon temporaire la transmission de paquets de données vers le premier appareil.  The present invention aims to remedy at least one of the aforementioned drawbacks by proposing a method for managing transmissions of multimedia data packets between at least two communication devices connected to each other, one of said first apparatus receiving packets of data from at least one other apparatus, said second apparatus, characterized in that the method comprises the following steps performed by the first apparatus: - comparing the size of the last data packet received from the second apparatus with the size of the space memory available in the first device for its storage, - depending on the result of the comparison, decision on the transmission, in the direction of the second device, a message called interruption (PAUSE) to interrupt temporarily the transmission of data packets to the first device.

Corrélativement, l'invention vise un dispositif de gestion des transmissions de paquets de données multimédia entre au moins deux appareils de communication connectés entre eux, l'un, dit premier appareil, recevant des paquets de données d'au moins un autre appareil, dit deuxième appareil, caractérisé en ce que premier appareil comporte: des moyens de comparaison de la taille du dernier paquet de données reçu du deuxième appareil avec la taille de l'espace mémoire disponible dans le premier appareil pour son stockage, - des moyens de décision quant à la transmission, en direction du deuxième appareil, d'un message dit d'interruption (PAUSE) visant à interrompre de façon temporaire la transmission de paquets de données vers le premier appareil, en fonction du résultat de la comparaison.  Correlatively, the invention relates to a device for managing transmissions of multimedia data packets between at least two communication devices connected to one another, said first device receiving data packets from at least one other device, said second apparatus, characterized in that the first apparatus comprises: means for comparing the size of the last data packet received from the second apparatus with the size of the memory space available in the first apparatus for its storage; transmitting, in the direction of the second apparatus, a so-called interrupt message (PAUSE) for temporarily interrupting the transmission of data packets to the first apparatus, depending on the result of the comparison.

Avantageusement, l'invention ne nécessite pas d'avoir à définir plusieurs seuils en rapport avec l'espace mémoire du premier appareil de communication pour gérer le problème de dépassement de la capacité mémoire de ce premier appareil.  Advantageously, the invention does not require having to define several thresholds related to the memory space of the first communication device to manage the problem of exceeding the memory capacity of this first device.

Grâce à l'invention, on gère ainsi l'espace mémoire du premier appareil 15 de façon transparente pour l'utilisateur de cet appareil dans la mesure o la qualité de service (par exemple, le taux d'image par seconde et la qualité de la vidéo dans le cas de données vidéo) reste inchangée.  Thanks to the invention, the memory space of the first device 15 is thus managed in a manner that is transparent to the user of this apparatus, insofar as the quality of service (for example, the image rate per second and the quality of the the video in the case of video data) remains unchanged.

Par ailleurs, une telle gestion occasionne un temps de calcul relativement réduit et une faible consommation de bande passante.  Moreover, such management causes a relatively short calculation time and low bandwidth consumption.

Selon une caractéristique, lorsque la taille du dernier paquet de données reçu est supérieure à la taille de l'espace mémoire disponible dans le premier appareil, alors le procédé comporte une étape de transmission, en direction du deuxième appareil, d'un message d'interruption temporaire de la transmission de paquets de données vers le premier appareil.  According to one characteristic, when the size of the last data packet received is greater than the size of the memory space available in the first device, then the method comprises a step of transmitting, in the direction of the second device, a message of temporary interruption of the transmission of data packets to the first device.

Selon une autre caractéristique, le message d'interruption inclut des informations indiquant au deuxième appareil le prochain paquet de données à transmettre au premier appareil.  According to another feature, the interrupt message includes information indicating to the second apparatus the next data packet to be transmitted to the first apparatus.

Ceci permet, lorsque la taille du dernier paquet reçu est supérieure à la taille de l'espace mémoire disponible dans le premier appareil, de ne pas perdre de 30 paquet, puisqu'alors le message d'interruption indiquera que le dernier paquet de données reçu par l'appareil et qui n'a pas pu être stocké sera à transmettre prochainement à cet appareil.  This allows, when the size of the last received packet is larger than the size of the available memory space in the first device, not to lose a packet, since the interrupt message will then indicate that the last received data packet by the device and that could not be stored will be forwarded to this device soon.

On notera que le message d'interruption peut alternativement indiquer le dernier paquet reçu.  Note that the interrupt message may alternatively indicate the last packet received.

Selon une caractéristique, le procédé comporte les étapes suivantes: comparaison de la taille de l'espace mémoire non lu par le premier 5 appareil pour le stockage de paquets de données vidéo avec un seuil TH défini de la façon suivante: TH = min (RF x FR x N, Kx BS), o RF désigne le rapport de la taille maximale de l'espace mémoire sur le nombre total d'images constituées par l'ensemble des paquets de données vidéo à 10 transmettre du deuxième appareil au premier appareil, FR est le nombre d'images par seconde, N et K sont des constantes et BS désigne la taille maximale de l'espace mémoire, - en fonction du résultat de la comparaison, décision quant à la transmission, en direction du deuxième appareil, d'un message de reprise de la 15 transmission de paquets de données vers le premier appareil.  According to one feature, the method comprises the following steps: comparing the size of the unread memory space by the first device for storing video data packets with a threshold TH defined as follows: TH = min (RF x FR x N, Kx BS), where RF denotes the ratio of the maximum size of the memory space to the total number of images constituted by all the packets of video data to be transmitted from the second device to the first device, FR is the number of frames per second, N and K are constants and BS is the maximum size of the memory space, - depending on the result of the comparison, decision on the transmission to the second device, a message for resuming the transmission of data packets to the first apparatus.

On remarquera qu'ici l'invention ne prévoit de définir qu'un seuil, contrairement à l'art antérieur qui en prévoit deux, afin de savoir à quel moment il est nécessaire d'envoyer un message de reprise de la transmission de paquets de données.  Note that here the invention provides for defining a threshold, unlike the prior art which provides for two, in order to know when it is necessary to send a message to resume the transmission of packets. data.

20, Selon une caractéristique, lorsque la taille de l'espace mémoire non lu dans le premier appareil est inférieure au seuil TH, alors le procédé comporte une étape de transmission, en direction du deuxième appareil, d'un message de reprise de la transmission de paquets de données (RESTART) vers le premier appareil.  According to one characteristic, when the size of the memory space not read in the first device is below the threshold TH, then the method comprises a step of transmitting, in the direction of the second device, a transmission resume message. data packets (RESTART) to the first device.

Selon un autre aspect, l'invention vise aussi un procédé de gestion des 25 transmissions de paquets de données multimédia 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 une étape, effectuée par la source, de réception en provenance d'un appareil d'un message dit d'interruption (PAUSE) visant à interrompre de façon temporaire la 30 transmission de paquets de données de la source vers cet appareil, ce message signifiant que la taille du dernier paquet de données reçu par cet appareil était supérieure à la taille de l'espace mémoire disponible dans cet appareil pour le stockage de paquets.  In another aspect, the invention also provides a method of managing multimedia data packet transmissions between a data source and a plurality of communication devices connected to that source via a communication network, characterized in that the method includes a step, performed by the source, of receiving from an apparatus an interrupt message (PAUSE) for temporarily interrupting the transmission of data packets from the source to that apparatus , this message signifying that the size of the last data packet received by this device was greater than the size of the available memory space in this device for the storage of packets.

Corrélativement, l'invention vise un dispositif de gestion des transmissions de paquets de données multimédia entre une source de données et 5 plusieurs appareils de communication connectés à cette source par l'intermédiaire d'un réseau de communication, caractérisé en ce que la source comporte des moyens de réception en provenance d'un appareil d'un message dit d'interruption (PAUSE) visant à interrompre de façon temporaire la transmission de paquets de données de la source vers cet appareil, ce message signifiant que la taille du 10 dernier paquet de données reçu par cet appareil était supérieure à la taille de l'espace mémoire disponible dans cet appareil pour le stockage de paquets.  Correlatively, the invention relates to a device for managing transmissions of multimedia data packets between a data source and several communication devices connected to this source via a communication network, characterized in that the source comprises receiving means from an apparatus of an interrupt message (PAUSE) for temporarily interrupting the transmission of data packets from the source to that apparatus, which message means that the size of the last packet data received by this device was greater than the size of the available memory space in this device for packet storage.

Ainsi, suite à l'analyse effectuée dans un ou plusieurs des appareils de communication connectés à la source de données, cette dernière prévoit d'interrompre la transmission de paquets de données vers un ou plusieurs de ces 15 appareils lorsqu'elle reçoit de ces derniers un message d'interruption.  Thus, following the analysis carried out in one or more of the communication devices connected to the data source, the latter provides for interrupting the transmission of data packets to one or more of these devices when it receives them. an interrupt message.

Selon une caractéristique, le procédé comporte une étape de décision de la transmission d'un paquet de données à l'appareil dont provient le message d'interruption et qui tient notamment compte du délai cumulé (OFFSET) pendant lequel l'appareil n'a pas reçu de paquets de données de la source suite à la 20 transmission par cet appareil d'un ou de plusieurs messages d'interruption.  According to one characteristic, the method comprises a step of deciding on the transmission of a data packet to the apparatus from which the interruption message originates and which notably takes into account the cumulative delay (OFFSET) during which the apparatus received no data packets from the source as a result of the transmission by this apparatus of one or more interrupt messages.

La connaissance par la source de données de ce délai cumulé pour un appareil de communication est très utile dans la mesure o ce délai reflète le taux d'occupation de l'espace mémoire de l'appareil réservé au stockage des paquets de données.  The knowledge by the data source of this cumulative delay for a communication device is very useful insofar as this delay reflects the occupancy rate of the memory space of the device reserved for the storage of the data packets.

Ainsi, si le délai cumulé pour un appareil est élevé, cela signifie que l'espace mémoire est plein ou souvent plein et que la machine client a transmis à la source un ou plusieurs messages d'interruption.  Thus, if the accumulated time for a device is high, it means that the memory space is full or often full and the client machine has transmitted one or more interrupt messages to the source.

Si le délai cumulé d'un appareil est relativement faible, cela signifie que la machine client a un espace mémoire de taille relativement grande par 30 comparaison avec la bande passante du réseau et/ou la taille totale de la vidéo.  If the cumulative time of a device is relatively small, it means that the client machine has relatively large memory space compared to the network bandwidth and / or the total size of the video.

Cependant, cela peut aussi signifier que la cadence à laquelle les paquets sont transmis est faible comparée à la bande passante et à l'espace mémoire. Enfin, cela peut aussi tout simplement signifier que les capacités de la machine client sont élevées, c'est-à-dire que les paquets reçus sont traités quasi- instantanément.  However, this may also mean that the rate at which packets are transmitted is small compared to bandwidth and memory space. Finally, it can also simply mean that the capabilities of the client machine are high, that is, the received packets are processed almost instantaneously.

Selon une autre caractéristique, le procédé comporte une étape préalable d'affectation à l'appareil concerné d'une priorité en fonction notamment du délai cumulé de cet appareil, l'étape de décision tenant compte de cette priorité.  According to another characteristic, the method comprises a prior step of assigning the apparatus concerned a priority as a function, in particular, of the cumulative delay of this apparatus, the decision step taking into account this priority.

Ainsi, la priorité affectée à un appareil reflète le taux d'occupation de l'espace mémoire de cet appareil réservé au stockage des paquets de données.  Thus, the priority assigned to a device reflects the occupancy rate of the memory space of this device reserved for storing data packets.

Selon une caractéristique, le procédé comporte une étape de détermination à l'instant courant (ta) d'un paramètre appelé marge (ta), représentatif 10 d'une qualité de services proposée à l'appareil, et qui s'écrit: marge (ta) = to + OFFSET + tp - ta, o to correspond à l'instant o l'appareil s'est connecté à la source de données et tp correspond à l'instant auquel au moins un paquet de données doit être visualisé par l'appareil.  According to one characteristic, the method comprises a step of determining, at the current instant (ta), a parameter called margin (ta), representative of a quality of services offered to the apparatus, and which is written: margin (ta) = to + OFFSET + tp - ta, where o corresponds to the moment at which the device connected to the data source and tp corresponds to the instant at which at least one data packet is to be viewed by the device.

La différence tp-ta est représentative de l'état de l'appareil: si tp-ta est positive, cela signifie que l'appareil est en avance (l'appareil dispose d'un nombre suffisant de données à traiter et on lui affecte donc une priorité basse), tandis que si tp-ta est négative, cela signifie que l'appareil est en retard (l'appareil dispose d'un nombre insuffisant de données à traiter, ce qui risque de pénaliser son 20 fonctionnement et on lui affecte donc une priorité haute).  The difference tp-ta is representative of the state of the device: if tp-ta is positive, it means that the device is in advance (the device has a sufficient number of data to process and it is affected therefore a low priority), while if tp-ta is negative, it means that the device is late (the device has insufficient data to process, which may penalize its operation and it is therefore assigns a high priority).

Lorsqu'un message d'interruption PAUSE est émis par l'appareil, la marge de cet appareil diminue. On est ainsi tenté de croire que l'appareil devient de moins en moins en avance, alors que cette diminution est en fait imputable au temps de pause, ce qui fausse l'estimation de l'état de l'appareil.  When a PAUSE interrupt message is output from the unit, the range of this unit decreases. One is thus tempted to believe that the apparatus becomes less and less in advance, whereas this decrease is in fact due to the pause time, which falsifies the estimate of the state of the apparatus.

Pour remédier à cela le paramètre OFFSET précédemment défini intervient pour décaler le temps de référence to afin que tp-ta continue à refléter l'état d'avance ou de retard de l'appareil.  To remedy this, the previously defined OFFSET parameter intervenes to shift the reference time to so that tp-ta continues to reflect the state of advance or delay of the apparatus.

Selon une autre caractéristique, le procédé comporte les étapes suivantes: - détermination 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 proposée à l'appareil à deux instants différents ta et tb, avec ta > tb, - affectation à l'appareil d'une priorité en fonction du paramètre variation précédemment déterminé.  According to another characteristic, the method comprises the following steps: - determination of a parameter called variation which is written: variation = margin (ta) - margin (tb), o margin (ta) and margin (tb) are the parameters representative of the quality of services offered to the device at two different times ta and tb, with ta> tb, - assignment to the device of a priority according to the previously determined variation parameter.

Le paramètre appelé variation permet ainsi d'estimer l'évolution entre l'estimation de la qualité de service actuelle (instant ta) et l'estimation d'une qualité de service précédente (instant tb).  The parameter called variation thus makes it possible to estimate the evolution between the estimation of the current quality of service (instant ta) and the estimate of a previous quality of service (instant tb).

En fonction de l'évolution de l'estimation de la qualité de service proposée, on choisit ou non de modifier la priorité affectée à un appareil de 1 0 communication.  Depending on the evolution of the estimation of the quality of service proposed, one chooses or not to change the priority assigned to a communication device.

Selon une caractéristique, un message d'interruption inclut des informations indiquant à la source le prochain paquet de données à transmettre à l'appareil qui a transmis ce message.  According to one characteristic, an interrupt message includes information indicating to the source the next packet of data to be transmitted to the device that transmitted this message.

Selon une autre caractéristique, la source comportant une mémoire pour 15 le stockage des paquets à transmettre et un pointeur visant le dernier paquet transmis, lorsque la source reçoit d'un appareil un message (RESTART) de reprise de la transmission de paquets de données de la source vers cet appareil, le pointeur est repositionné sur le paquet de données qui est à transmettre à l'appareil.  According to another characteristic, the source comprising a memory for storing the packets to be transmitted and a pointer for the last transmitted packet, when the source receives from a device a message (RESTART) for resuming the transmission of data packets to be transmitted. the source to this device, the pointer is repositioned on the data packet that is to be transmitted to the device.

Selon encore un autre aspect, l'invention vise un procédé de gestion des transmissions de paquets de données multimédia 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 une étape, effectuée par la source, de transmission de paquets de données à un ou 25 plusieurs appareils en tenant compte notamment, pour chaque appareil, du délai cumulé (OFFSET) pendant lequel l'appareil n'a pas reçu de paquets de données de la source suite à la transmission par cet appareil d'un ou de plusieurs messages d'interruption, de tels messages visant à interrompre de façon temporaire la transmission de paquets de données par la source.  According to yet another aspect, the invention is directed to a method for managing transmissions of multimedia data packets between a data source and a plurality of communication devices connected to this source via a communication network, characterized in that the method comprises a step, performed by the source, for transmitting data packets to one or more apparatus, taking into account, in particular for each apparatus, the accumulated delay (OFFSET) during which the apparatus has not received any packets of data from the source following the transmission by this device of one or more interrupt messages, such messages intended to temporarily interrupt the transmission of data packets by the source.

Corrélativement, l'invention vise un dispositif de gestion des transmissions de paquets de données multimédia entre une source de données et plusieurs appareils de communication connectés à cette source par l'intermédiaire il d'un réseau de communication, caractérisé en ce que la source comporte des moyens de transmission de paquets de données à un ou plusieurs appareils en tenant compte notamment, pour chaque appareil, du délai cumulé (OFFSET) pendant lequel l'appareil n'a pas reçu de paquets de données de la source suite à 5 la transmission par cet appareil d'un ou de plusieurs messages d'interruption, de tels messages visant à interrompre de façon temporaire la transmission de paquets de données par la source.  Correlatively, the invention is directed to a device for managing transmissions of multimedia data packets between a data source and a plurality of communication devices connected to this source via a communication network, characterized in that the source comprises means for transmitting data packets to one or more apparatus, taking into account, in particular for each apparatus, the cumulative delay (OFFSET) during which the apparatus has not received data packets from the source as a result of the transmission by this apparatus of one or more interrupt messages, such messages to temporarily interrupt the transmission of data packets by the source.

Ainsi, comme mentionné précédemment, la connaissance du délai cumulé d'un ou de plusieurs appareils connectés à la source de données permet de 10 gérer la reprise des transmissions à destination de ce ou ces appareils.  Thus, as mentioned above, knowledge of the cumulative delay of one or more devices connected to the data source makes it possible to manage the resumption of transmissions to this or these devices.

L'invention concerne également un appareil de communication comportant un dispositif tel que brièvement exposé ci-dessus.  The invention also relates to a communication apparatus comprising a device as briefly described above.

Selon un autre aspect, l'invention vise aussi: - un moyen de stockage d'informations lisible par un ordinateur ou 15 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 20 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.  According to another aspect, the invention also aims at: computer-readable information storage means or a microprocessor comprising code instructions of a computer program for carrying out the steps of the method according to the invention as briefly discussed above, and - a partially or fully removable computer-readable information storage medium or microprocessor including code instructions of a computer program for executing steps of the process according to the invention such as that briefly described above.

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 oeuvre des 25 é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.  According to yet another aspect, the invention is directed to a computer program loadable in a programmable apparatus, comprising sequences of instructions or portions of software code for carrying out the steps of the method according to the invention as briefly described herein. above, when said computer program is loaded and executed on the programmable apparatus.

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 30 concernant le procédé selon l'invention, ils ne seront pas rappelés ici.  The characteristics and advantages relating to the device, to the communication device comprising such a device, to the information storage means and to the computer program being the same as those described above concerning the method according to the invention, they will not be recalled here.

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 5 communication de type client-serveur dans laquelle l'invention est mise en oeuvre; - les figures 2a, 2b et 2c illustrent de façon schématique le fonctionnement d'une mémoire partagée dans le serveur de la figure 1; - les figures 3a, 3b, 3c et 3d illustrent de façon schématique le 10 fonctionnement d'une mémoire partagée dans la machine client de la figure 1 - la figure 3e représente un algorithme de gestion des transmissions selon l'invention qui est mis en oeuvre par une machine client; - la figure 4 représente un algorithme de traitement des requêtes provenant d'appareils de communication tels que celui de la figure 1 (machine 15 client) et demandant la transmission de données vidéo; - la figure 5 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 6 représente un algorithme d'affectation dynamique de 20 priorités à des appareils de communication selon l'invention et qui correspond à l'étape E503 de l'algorithme de la figure 5; - la figure 7 est un mode de réalisation d'un appareil programmable mettant en oeuvre l'invention.  Other characteristics and advantages of the present invention will emerge more clearly on reading the description which follows, made with reference to the appended drawings, in which: FIG. 1 schematically represents a client-type communication architecture; server in which the invention is implemented; FIGS. 2a, 2b and 2c schematically illustrate the operation of a shared memory in the server of FIG. 1; FIGS. 3a, 3b, 3c and 3d schematically illustrate the operation of a shared memory in the client machine of FIG. 1; FIG. 3e represents a transmission management algorithm according to the invention which is implemented by a client machine; FIG. 4 represents an algorithm for processing requests from communication devices such as that of FIG. 1 (client machine) and requesting the transmission of video data; FIG. 5 represents an algorithm for managing the transmission of data to different communication devices according to the priorities assigned to these devices; FIG. 6 represents an algorithm for dynamic assignment of priorities to communication devices according to the invention and which corresponds to step E503 of the algorithm of FIG. 5; - Figure 7 is an embodiment of a programmable apparatus embodying the invention.

Sur la figure 1 est représentée une architecture de communication 25 du type client-serveur dans laquelle l'invention est avantageusement mise en oeuvre.  FIG. 1 shows a communication architecture 25 of the client-server type in which the invention is advantageously implemented.

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, dont un seul référencé 2 et appelé 30 machine client est représenté.  In this figure, a first communication device constituting a multimedia digital data source 1 called server is connected to several communication devices, of which only one referenced 2 and called 30 client machine is shown.

La source 1 est reliée à cet appareil par l'intermédiaire d'un réseau de communication 3 et de connexions qui sont considérées comme étant établies pour cette machine.  Source 1 is connected to this apparatus via a communication network 3 and connections which are considered to be established for this machine.

Comme on le verra lors de la description des figures 5 et 6, 5 l'invention ne se limite pas à une configuration o un seul appareil de communication est connecté à la source de données.  As will be seen in the description of FIGS. 5 and 6, the invention is not limited to a configuration where only one communication apparatus is connected to the data source.

Dans le contexte de l'invention, l'appareil de communication requiert de la source 1 (serveur) des données numériques multimédia.  In the context of the invention, the communication apparatus requires from source 1 (server) digital multimedia data.

Le réseau est par exemple un réseau Ethernet 1 OObT filaire, Le réseau peut aussi être, par exemple, un réseau de communication local sans fil à l'intérieur d'une habitation.  The network is for example a wired 1 OObT Ethernet network. The network may also be, for example, a wireless local area communication network within a dwelling.

Plus particulièrement, ce réseau sans fil est conforme au standard IEEE802.11lb dans le cas d'un réseau dit Ad-Hoc, c'est-à-dire sans centralisation des échanges de données.  More particularly, this wireless network complies with the IEEE802.11lb standard in the case of a so-called Ad-Hoc network, that is to say without centralization of data exchanges.

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.  In this example, this is a point-to-point data transmission between the server 1 and the client machines 2, 3 and 4.

Pour mettre en oeuvre 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 20 versions adaptées des données demandées et, d'autre part, les accès multiples à la ou aux mémoires du serveur.  In order to implement these multiple transmissions, it is necessary to take into account, on the one hand, the management of the adaptation and transmission processes in parallel with the different client machines of the different adapted versions of the data requested and, on the other hand, , multiple accesses to the server memory (s).

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'lnternet.  It should be noted that the data stored in the server may have been received from the environment outside the dwelling, for example, by another communication network such as the lnternet.

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 30 des  The data grouped under the term multimedia data may be, in a nonlimiting manner, still images, videos, sound, text data (eg graphic documents ...), documents in HTML, signals from a fax machine or a printer ... In the exemplary embodiment considered, only 30 of the

données vidéo et celles-ci seront transmises sans perte sur le réseau 3 sous la forme de paquets de données qui sont transmis un par un.  video data and these will be transmitted without loss on the network 3 in the form of data packets that are transmitted one by one.

On partira également de l'hypothèse que le temps de transmission des données sur le réseau est négligeable.  It will also be assumed that the transmission time of the data on the network is negligible.

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.  It should be noted that the invention also applies when the transmission time on the network is determined or determinable.

Le serveur 1 (source de données) est un dispositif de gestion des transmissions au sens de la présente invention selon un premier aspect.  The server 1 (data source) is a transmission management device in the sense of the present invention according to a first aspect.

On notera cependant que le serveur et le dispositif de gestion selon l'invention peuvent être des éléments distincts.  Note however that the server and the management device according to the invention may be separate elements.

Dans ce cas, les différentes unités du serveur de la figure 1 qui 10 servent à mettre en oeuvre l'invention font alors partie du dispositif selon l'invention.  In this case, the different units of the server of FIG. 1 which serve to implement the invention then form part of the device according to the invention.

Le serveur 1 comprend une unité Il de stockage de façon temporaire des données vidéo à transmettre à l'appareil de communication 2.  The server 1 comprises a unit 11 temporarily storing video data to be transmitted to the communication apparatus 2.

Les informations utiles à transmettre pour reconstruire une vidéo au niveau d'un 15 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écompresser une ou plusieurs images de la vidéo.  Useful information to be transmitted for reconstructing a video at a communication apparatus is stored in packets in the unit 11. Each packet thus contains the data enabling the destination apparatus to uncompress one or more images. of the video.

Chacun des paquets contient également un numéro et une valeur tp qui représente l'instant auquel la ou les images contenues dans ce paquet 20 doivent être visualisées par l'appareil destinataire. La valeur de cet instant sera, par exemple, égale au rapport entre le numéro de la première image du paquet et le nombre d'images par seconde FR.  Each of the packets also contains a number and a value tp which represents the moment at which the image or images contained in this packet are to be viewed by the recipient apparatus. The value of this instant will be, for example, equal to the ratio between the number of the first frame of the packet and the number of frames per second FR.

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 25 sont transmises par un réseau de communication extérieur et sont stockées dans l'unité 11.  It should be noted that the videos are created, for example, by a digital video camera or any other means of data acquisition or are transmitted by an external communication network and are stored in the unit 11.

Le fonctionnement schématique de cette unité est représenté aux figures 2a, 2b et 2c qui seront décrites plus loin.  The schematic operation of this unit is shown in Figures 2a, 2b and 2c which will be described later.

En outre, les vidéos sont stockées soit sous forme non compressée, 30 par exemple suivant un format YUV, soit sous forme compressée.  In addition, the videos are stored either in uncompressed form, for example in a YUV format, or in compressed form.

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.  It should be noted that a YUV video format means that the video concerned has three components, the Y component for the luminance and the U and V components for the chrominance.

Le serveur 1 comprend une unité d'ordonnancement 12 (connue en 5 terminologie anglo-saxonne sous le terme "scheduling unit") des paquets de données qui a pour but de gérer les transmissions de paquets entre le dispositif 1 et les machines client.  The server 1 comprises a scheduling unit 12 (known in English terminology as the "scheduling unit") of the data packets which aims to manage the transmission of packets between the device 1 and the client machines.

La gestion des transmissions passe, par exemple, par une affectation dynamique des priorités aux différentes machines client en termes 10 de nécessité ou non d'une transmission de paquets de données.  The management of transmissions passes, for example, by a dynamic assignment of priorities to the different client machines in terms of whether or not a transmission of data packets.

Cette affectation est dynamique dans la mesure o elle est établie pour chaque paquet de données que le serveur 1 a préparé en vue de son éventuelle transmission à l'une des machines client.  This assignment is dynamic insofar as it is established for each data packet that the server 1 has prepared for possible transmission to one of the client machines.

Pour le paquet suivant destiné à la même machine client, la priorité 15 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 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.  For the next packet destined for the same client machine, the priority 15 assigned may indeed be different according to the circumstances. It should be noted that the dynamic character of the scheduling of the data packets has the advantage that new client machines can connect to the device 1 (server) while the scheduling of the packets intended for the client machines already connected is in progress.

Les différentes opérations exécutées par l'unité 12 seront détaillées ultérieurement lors de la description faite en référence aux figures 5 et 6.  The various operations performed by the unit 12 will be detailed later in the description made with reference to FIGS. 5 and 6.

Le serveur 1 comprend également une unité 13 de réception de messages provenant de la ou des différentes machines client connectées au serveur, cette unité recevant également des requêtes de ces dernières.  The server 1 also comprises a unit 13 for receiving messages from the one or more client machines connected to the server, this unit also receiving requests from the latter.

Le serveur 1 comprend aussi une unité 14 qui permet d'effectuer la transmission de paquets de données aux machines client à travers le réseau 3.  The server 1 also comprises a unit 14 which makes it possible to transmit data packets to the client machines through the network 3.

Le serveur 1 selon l'invention comporte en outre une unité de commande 15 des différentes opérations exécutées.  The server 1 according to the invention further comprises a control unit 15 of the various operations performed.

On considère que les différentes machines client connectées au 30 serveur 1 ont toutes la même structure et le même fonctionnement que ceux  It is considered that the different client machines connected to the server 1 all have the same structure and operation as those

de la machine 2 dont la description va suivre.  of the machine 2 whose description will follow.

La machine client 2 comporte une unité de réception de données numériques 20.  The client machine 2 comprises a digital data reception unit 20.

Cette unité 20 permet d'effectuer la réception de données provenant du serveur 1 et leur transmission à l'unité de stockage 23.  This unit 20 makes it possible to perform the reception of data coming from the server 1 and their transmission to the storage unit 23.

Le fonctionnement schématique de l'unité de stockage 23 est représenté aux figures 3a, 3b et 3c qui seront décrites plus loin.  The schematic operation of the storage unit 23 is shown in Figures 3a, 3b and 3c which will be described later.

La machine client 2 comporte également une unité 21 de transmission de messages et de requêtes à travers le réseau 3, et notamment à destination du serveur 1.  The client machine 2 also comprises a unit 21 for transmitting messages and requests through the network 3, and in particular to the server 1.

Cette unité est principalement utilisée pour transmettre au serveur 1, d'une part, des messages appelés PAUSE visant à interrompre de façon temporaire la transmission de paquets de données du serveur à la machine client et, d'autre part, des messages appelés RESTART qui visent à reprendre le processus de transmission des paquets par le serveur.  This unit is mainly used to transmit to the server 1, on the one hand, messages called PAUSE intended to temporarily interrupt the transmission of data packets from the server to the client machine and, on the other hand, messages called RESTART which aim to resume the process of packet transmission by the server.

La machine client 2 comporte en outre une unité 22 de traitement des paquets de données stockés dans l'unité 23 et une unité de commande 24 analogue à l'unité 15 du serveur.  The client machine 2 further comprises a unit 22 for processing the data packets stored in the unit 23 and a control unit 24 similar to the unit 15 of the server.

L'unité de traitement 22 récupère les données contenues dans les paquets stockés dans l'unité 23 au fur et à mesure qu'ils sont reçus par cette 20 dernière et sont décompressées avant d'être visualisées.  The processing unit 22 retrieves the data contained in the packets stored in the unit 23 as they are received by the latter and are decompressed before being viewed.

Il convient de noter que si l'unité de stockage 23 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.  It should be noted that if the storage unit 23 contains no data, the last image displayed is frozen, which makes it impossible to view all the video requested by the client machine.

Si, par contre, l'unité 23 contient des données, deux cas peuvent se 25 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.  If, on the other hand, the unit 23 contains data, two cases may occur: either the quantity of data present in the unit is sufficient to satisfy the constraints of the processing unit, or this quantity is insufficient.

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 à 30 quelle vitesse la vidéo doit être exécutée (par exemple, à 30 images par seconde).  The constraints of the processing unit 22 are expressed, for example, in the number of frames per second because, indeed, a given video format specifies at what speed the video must be executed (for example, at 30 frames per second). second).

Ainsi, dans le cas d'une vidéo à 30 images par seconde, si chaque paquet reçu par l'unité de stockage 23 contient les données constitutives d'une image de la vidéo, alors l'unité 23 doit contenir au moins 30 paquets pour que la machine client 2 soit considérée comme étant en avance d'une seconde.  Thus, in the case of a video at 30 frames per second, if each packet received by the storage unit 23 contains the constituent data of an image of the video, then the unit 23 must contain at least 30 packets for that the client machine 2 is considered to be one second ahead.

Si l'unité 23 ne contient que 15 paquets, la machine client est considérée comme étant en avance de 0,5 seconde et ainsi de suite.  If the unit 23 contains only 15 packets, the client machine is considered to be in advance of 0.5 seconds and so on.

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 de la part du serveur 1. Le client s'attend 10 en retour à recevoir des paquets de 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.  The constraints of the processing unit of a client machine correspond, for this machine, to a quality of services that the client expresses when it requires data from the server 1. The client expects 10 in return for receive data packets whose quality of service associated with each packet is consistent with the requested quality or, at least, as close as possible to it.

D'autres contraintes que le nombre d'images par seconde peuvent être exprimées à travers la qualité de services demandée.  Other constraints than the number of images per second can be expressed through the requested quality of services.

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.  Thus, there may be mentioned, for example, the time after which the client machine must receive a data packet with respect to the instant of issue of the request from this machine.

On notera que, selon un deuxième aspect, la machine client 2 est également un dispositif de gestion des transmissions au sens de la présente 20 invention.  It should be noted that, in a second aspect, the client machine 2 is also a transmission management device within the meaning of the present invention.

Les figures 2a, 2b et 2c dont la description va suivre illustrent le fonctionnement de l'unité de stockage 11 du serveur 1 de la figure 1.  FIGS. 2a, 2b and 2c, the description of which follows, illustrate the operation of the storage unit 11 of the server 1 of FIG. 1.

Le transcodage effectué dans le serveur génère des paquets de données qui sont écrits dans la mémoire partagée des figures 2a et 2b, comme 25 indiqué par la flèche représentée sur la gauche de la figure 2b.  Transcoding performed in the server generates data packets that are written in the shared memory of Figs. 2a and 2b, as indicated by the arrow shown on the left of Fig. 2b.

En effet, dans cette représentation, des paquets de données sont stockés dans la mémoire 11 de la gauche vers la droite.  Indeed, in this representation, data packets are stored in the memory 11 from left to right.

La mémoire fonctionne comme une pile et l'indicateur Pa agit comme un pointeur qui représente le numéro du prochain paquet de données à 30 transmettre à la machine client 2 de la figure 1.  The memory functions as a stack and the flag Pa acts as a pointer which represents the number of the next data packet to be transmitted to the client machine 2 of FIG.

Comme représenté sur la figure 2a, la mémoire 11 comprend plusieurs zones 30 à 34 qui contiennent respectivement des paquets de données Pi, P2, P3, P4, P5, et une zone 35 destinée à stocker de nouveaux paquets.  As shown in FIG. 2a, the memory 11 comprises several zones 30 to 34 which respectively contain data packets Pi, P2, P3, P4, P5, and a zone 35 for storing new packets.

Sur la figure 2a, on a représenté l'écriture d'un nouveau paquet P6 dans une zone mémoire 36, laissant ainsi vide une zone mémoire 37 pour y stocker de nouveaux paquets.  FIG. 2a shows the writing of a new packet P6 in a memory zone 36, thus leaving a memory area 37 empty to store new packets.

On accède à cette mémoire en mode lecture, c'est-à-dire en se déplaçant de la droite vers la gauche, lorsque l'algorithme d'ordonnancement de la figure 5, qui sera décrit ultérieurement, est mis en oeuvre.  This memory is accessed in read mode, that is to say by moving from the right to the left, when the scheduling algorithm of FIG. 5, which will be described later, is implemented.

Comme on le verra par la suite, en fonction de la priorité affectée à 10 un appareil de communication distant, l'algorithme d'ordonnancement prévoit au cours d'une étape E505 d'envoyer le paquet de données Pa à la machine client considérée et, pour ce faire, vient lire la mémoire 11 de la figure 2c comme indiqué par la flèche "envoi".  As will be seen later, depending on the priority assigned to a remote communication apparatus, the scheduling algorithm provides during a step E505 to send the data packet Pa to the considered client machine and to do this, read the memory 11 of Figure 2c as indicated by the arrow "sending".

Dès lors que le paquet a été transmis à la machine client considérée, 15 l'indicateur Pa est incrémenté d'une unité, comme le montre la comparaison des figures 2b et 2c.  Once the packet has been transmitted to the client machine under consideration, the flag Pa is incremented by one unit, as shown in the comparison of FIGS. 2b and 2c.

On notera qu'un certain nombre de paquets de données qui ont été envoyés, à savoir les paquets PI, P2, P3, sont toujours stockés dans des zones mémoire respectives 30, 31, 32 de la mémoire 11 afin de pouvoir être 20 retransmis en cas de besoin, par exemple, si l'un de ces paquets de données n'a pas été reçu par la machine client à laquelle il était destiné.  Note that a certain number of data packets that have been sent, namely the packets P1, P2, P3, are always stored in respective memory areas 30, 31, 32 of the memory 11 in order to be retransmitted in if necessary, for example, if one of these data packets was not received by the client machine for which it was intended.

Le serveur 1 sera informé du paquet à retransmettre ultérieurement en recevant le message d'interruption provenant de la machine client considérée.  The server 1 will be informed of the packet to retransmit later by receiving the interrupt message from the client machine considered.

On peut, par exemple, considérer qu'après l'envoi du prochain paquet de données P4, les paquets précédents seront successivement supprimés au fur et à mesure de l'écriture de nouveaux paquets dans la zone mémoire 37.  It can, for example, be considered that after sending the next data packet P4, the previous packets will be successively deleted as new packets are written in the memory zone 37.

On notera que l'on peut envoyer n'importe quel paquet de données 30 stocké dans la mémoire 11.  Note that any data packet 30 stored in the memory 11 can be sent.

La taille de cette mémoire est, par exemple, égale à la taille d'une séquence vidéo compressée qui est, par exemple, de l'ordre de 2 à 3 Mbits.  The size of this memory is, for example, equal to the size of a compressed video sequence which is, for example, of the order of 2 to 3 Mbits.

Cette mémoire est, par exemple, une mémoire tampon qui peut être de type circulaire.  This memory is, for example, a buffer memory which can be of circular type.

Les figures 3a à 3d illustrent le fonctionnement d'une partie de l'unité de stockage 23 de la machine client 2 de la figure 1 qui vont être décrites parallèlement à la figure 3e.  FIGS. 3a to 3d illustrate the operation of a part of the storage unit 23 of the client machine 2 of FIG. 1 which will be described in parallel with FIG. 3e.

L'algorithme de la figure 3e comporte différentes instructions ou portions de code logiciel correspondant à des étapes du procédé de gestion des transmissions selon l'invention mis en oeuvre par la machine client.  The algorithm of FIG. 3e comprises different instructions or portions of software code corresponding to steps of the transmission management method according to the invention implemented by the client machine.

Le programme informatique noté "ProgO" qui est basé sur cet 10 algorithme est mémorisé dans l'unité de stockage 23 et exécuté par l'unité 22 sous le contrôle de l'unité de commande 24.  The computer program noted "ProgO" which is based on this algorithm is stored in the storage unit 23 and executed by the unit 22 under the control of the control unit 24.

Lorsque la machine client 2 prend la forme de l'appareil de la figure 7, alors ce programme y est stocké, par exemple, dans la mémoire morte de cet appareil.  When the client machine 2 takes the form of the apparatus of FIG. 7, then this program is stored therein, for example, in the read-only memory of this apparatus.

La partie de l'unité de stockage 23 est, par exemple, une mémoire circulaire partagée à laquelle l'unité de réception de données 20 accède en écriture à partir de la gauche, comme représenté sur la figure 3a.  The portion of the storage unit 23 is, for example, a shared circular memory to which the data receiving unit 20 reads from the left as shown in Fig. 3a.

Sur cette figure, on a représenté une zone mémoire remplie notée 40 sur la droite de la figure et une zone mémoire 42 laissée vide pour y stocker de 20 nouveaux paquets réceptionnés (espace mémoire disponible).  In this figure, there is shown a filled memory area marked 40 on the right of the figure and a memory area 42 left empty to store 20 new packets received (available memory space).

On notera, à la différence de la structure de la mémoire représentée sur les figures 2a à 2c, qu'ici la mémoire ne conserve pas la structure des paquets dans des zones mémoire spécifiques.  It will be noted, unlike the structure of the memory shown in FIGS. 2a to 2c, that here the memory does not maintain the structure of the packets in specific memory areas.

Cependant, tout comme la mémoire des figures 2a à 2c, la mémoire 25 23 fonctionne également comme une pile.  However, like the memory of FIGS. 2a to 2c, the memory 23 also functions as a stack.

Lorsque de nouveaux paquets sont réceptionnés par l'unité de réception 20 de la machine client 2, les données du paquet reçu sont écrites dans la mémoire 23, comme indiqué par la flèche gauche sur la figure 3a.  When new packets are received by the receiving unit 20 of the client machine 2, the received packet data is written to the memory 23, as indicated by the left arrow in Fig. 3a.

De plus, le numéro du paquet correspondant est mémorisé dans la 30 mesure o la taille de ce paquet est inférieure ou égale à l'espace mémoire disponible 42.  In addition, the corresponding packet number is stored to the extent that the size of this packet is less than or equal to the available memory space 42.

On a représenté sur la figure 3b la mémoire venant de stocker les dernières données reçues.  FIG. 3b shows the memory that has just stored the last data received.

Dans cet état, l'espace mémoire occupé 44 occupe la quasi totalité de l'espace mémoire total et l'espace mémoire disponible 46 se trouve être fortement réduit.  In this state, the occupied memory space 44 occupies almost all of the total memory space and the available memory space 46 is greatly reduced.

Dans un tel cas de figure, lorsque le prochain paquet de données est reçu (étape E300) par la machine client 2 et que sa taille (étape E301) est considérée comme étant supérieure (étape de comparaison E303) à la taille de l'espace mémoire disponible 46 (étape E302), alors la mémoire est considérée 10 comme pleine (taux élevé d'occupation de la mémoire).  In such a case, when the next data packet is received (step E300) by the client machine 2 and its size (step E301) is considered to be greater (comparison step E303) than the size of the space available memory 46 (step E302), then the memory is considered as full (high rate of memory occupancy).

Dans cette hypothèse, les données du paquet reçu (étape de décision E304) ne sont pas écrites et la machine client 2 transmet le message d'interruption PAUSE (étape E305) au serveur 1 par l'intermédiaire de l'unité de transmission 21.  In this case, the data of the received packet (decision step E304) is not written and the client machine 2 transmits the interrupt message PAUSE (step E305) to the server 1 via the transmission unit 21.

Ce message contient le numéro du dernier paquet qui a été écrit en mémoire, ce qui permet au serveur de savoir quel est le prochain paquet à retransmettre à la machine client concernée.  This message contains the number of the last packet that was written in memory, which allows the server to know which is the next packet to retransmit to the client machine concerned.

Au contraire, lorsque la taille du paquet reçu est supérieure à celle de l'espace mémoire disponible, alors il est décidé (E304) de stocker le paquet 20 (E306), avant de le lire (E307) puis de le traiter (E308).  On the contrary, when the size of the received packet is greater than that of the available memory space, then it is decided (E304) to store the packet (E306), before reading it (E307) and then processing it (E308) .

Cette mémoire fonctionne comme une mémoire de type FIFO, c'està-dire "premier entré, premier sorti" (connue en terminologie anglosaxonne sous le terme "First In First Out").  This memory functions as a FIFO type memory, that is to say "first in, first out" (known in English terminology under the term "First In First Out").

L'unité de traitement 22 de la machine client accède à cette mémoire 25 en mode lecture par la droite sur les figures en procédant par la lecture d'un nombre B d'octets.  The processing unit 22 of the client machine accesses this memory 25 in reading mode on the right in the figures by reading a number B bytes.

Lorsqu'un nombre B d'octets ont été lus, l'indicateur ou pointeur d est incrémenté d'une valeur B (d = d + B), comme représenté sur la figure 3c.  When a number B of bytes has been read, the indicator or pointer d is incremented by a value B (d = d + B), as represented in FIG. 3c.

On notera que lorsque l'unité de traitement qui veut procéder au 30 décodage et à la visualisation des données vidéo demande à lire B octets et que la mémoire ne contient pas un nombre suffisant d'octets non lus, alors cette unité de traitement attend jusqu'à ce qu'un nombre B d'octets non lus soit disponible en mémoire.  Note that when the processing unit which wants to decode and display the video data needs to read B bytes and the memory does not contain a sufficient number of unread bytes, then this processing unit waits until a number B of unread bytes is available in memory.

Il s'agit toutefois là d'un cas extrême qui ne doit pas être rencontré en pratique car il pénaliserait, en effet, la cadence à laquelle la séquence vidéo doit être visualisée.  However, this is an extreme case that should not be encountered in practice because it penalizes, indeed, the rate at which the video sequence is to be viewed.

Lorsqu'un message d'interruption a été précédemment émis par la machine client consécutivement à la constatation du taux d'occupation élevé de la mémoire représentée à la figure 3b, alors aucun paquet nouvellement reçu par la machine n'est écrit en mémoire.  When an interrupt message has been previously sent by the client machine following the observation of the high occupancy rate of the memory shown in FIG. 3b, then no packet newly received by the machine is written in memory.

Dans la mesure o l'unité de traitement 22 continue à lire des données dans celle-ci (E307), l'espace mémoire occupé 44 de la figure 3b se réduit à l'espace mémoire 48 de la figure 3c et l'espace mémoire disponible, au contraire, s'agrandit pour passer de l'espace mémoire 46 de la figure 3b à l'espace mémoire 50 de la figure 3c.  Since the processing unit 22 continues to read data therein (E307), the occupied memory space 44 of FIG. 3b is reduced to the memory space 48 of FIG. 3c and the memory space available, on the contrary, expands to move from the memory space 46 of Figure 3b to the memory space 50 of Figure 3c.

Comme représenté sur la figure 3d, un seuil TH est défini (étape E309) de la façon suivante: TH = min (RF x FR x N, K x BS), o RF désigne le rapport de la taille maximale de la mémoire sur le nombre total d'images constituées par l'ensemble des paquets de données vidéo constitutifs de 20 la séquence vidéo considérée, FR est le nombre d'images par seconde, N et K sont des constantes et BS désigne la taille maximale de la mémoire.  As shown in FIG. 3d, a threshold TH is defined (step E309) as follows: TH = min (RF x FR x N, K × BS), where RF denotes the ratio of the maximum size of the memory on the total number of images constituted by all the video data packets constituting the video sequence in question, FR is the number of frames per second, N and K are constants and BS denotes the maximum size of the memory.

On notera par ailleurs que FR et le nombre total d'images de la séquence vidéo ont été préalablement envoyés à la machine client lors de l'envoi du premier paquet de données de la séquence vidéo.  It should also be noted that FR and the total number of images of the video sequence have previously been sent to the client machine when sending the first data packet of the video sequence.

Ainsi, lorsque le message d'interruption PAUSE a été précédemment émis, alors on compare la taille de l'espace mémoire occupé 48 dans la mémoire 23 par rapport à ce seuil et, plus particulièrement, on compare (étape E311) le nombre d'octets non lus dans l'espace mémoire 48 (E310) par rapport à ce seuil.  Thus, when the interrupt message PAUSE has been previously sent, then the size of the occupied memory space 48 in the memory 23 is compared with this threshold and, more particularly, the number of the memory space (step E311) is compared. Unread bytes in memory space 48 (E310) with respect to this threshold.

Lorsque le nombre d'octets non lus est inférieur au seuil TH, alors il est décidé (E312) de transmettre (E313) un message de reprise de la transmission de paquets de données RESTART au serveur 1 par l'intermédiaire de l'unité de transmission 21 de la machine client 2.  When the number of unwanted bytes is less than the threshold TH, then it is decided (E312) to transmit (E313) a message of resumption of the transmission of RESTART data packets to the server 1 via the communication unit. transmission 21 of the client machine 2.

L'algorithme se met alors en attente de réception d'un nouveau paquet (E300).  The algorithm then starts waiting to receive a new packet (E300).

On notera que la comparaison avec le seuil TH (étape E31 1) est effectuée par rapport au nombre de données non lues dans l'espace mémoire.  It will be noted that the comparison with the threshold TH (step E31 1) is performed with respect to the number of unread data in the memory space.

Les données qui, quant à elles, ont été lues peuvent être toujours stockées dans cet espace mémoire ou être supprimées.  Data that has been read can always be stored in this memory space or deleted.

Au contraire, lorsque le nombre d'octets non lus est supérieur au 10 seuil TH, alors il n'est pas nécessaire de transmettre au serveur un message de reprise de la transmission de paquets et l'algorithme se met en attente (E314) le temps que les données soient lues.  On the contrary, when the number of unread bytes is greater than the threshold TH, then it is not necessary to transmit to the server a message of resumption of the transmission of packets and the algorithm goes on standby (E314) the time that the data is read.

On peut également concevoir que le nombre d'octets non lus dans l'espace mémoire 48 devienne inférieur au seuil TH sans pour autant envoyer le 15 message de reprise de transmission.  It is also conceivable that the number of unread bytes in the memory space 48 becomes smaller than the threshold TH without sending the transmission resume message.

Toutefois on peut, dans certaines circonstances, bloquer la visualisation de la séquence vidéo, faute de données pour alimenter le décodeur.  However, in certain circumstances, it is possible to block the visualization of the video sequence, because of the lack of data to feed the decoder.

On notera par ailleurs que la mémoire tampon 23 représentée sur les 20 figures 3a à 3d constitue une mémoire de réseau qui sert à stocker les paquets de données reçus du réseau. Il existe une autre mémoire tampon propre au décodeur et qui est utilisée pour les données décodées en attente de leur visualisation.  Note also that the buffer memory 23 shown in Figs. 3a to 3d constitutes a network memory which serves to store the data packets received from the network. There is another buffer specific to the decoder and which is used for the decoded data waiting to be viewed.

La figure 4 illustre un algorithme comportant différentes instructions 25 ou portions de code logiciel correspondant à des étapes du procédé de traitement des requêtes provenant de machines client, telles que la machine 2 de la figure 1, et de génération de paquets de données à transmettre.  FIG. 4 illustrates an algorithm comprising different instructions or portions of software code corresponding to steps of the method of processing requests from client machines, such as machine 2 of FIG. 1, and generating data packets to be transmitted.

Cet algorithme illustre le comportement du serveur dès qu'une machine client se connecte et qu'une séquence vidéo est demandée.  This algorithm illustrates the behavior of the server as soon as a client machine connects and a video sequence is requested.

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é 12 sous le contrôle de l'unité de commande 15, ce qui permet ainsi de mettre en oeuvre le procédé selon l'invention.  The computer program noted "Prog1" which is based on this algorithm is stored in the temporary data storage unit 11 of Figure 1 and executed by the unit 12 under the control of the control unit 15, which allows thus to implement the method according to the invention.

Ce programme est également stocké dans l'appareil de la figure 7.  This program is also stored in the apparatus of Figure 7.

L'algorithme de la figure 4 comporte une première étape notée E400 5 au cours de laquelle le serveur 1 de la figure 1 et, plus particulièrement, l'unité de réception 13 reçoit une requête émise par la machine client 2 à partir de son unité de transmission 21.  The algorithm of FIG. 4 comprises a first step denoted E400 5 during which the server 1 of FIG. 1 and, more particularly, the reception unit 13 receives a request sent by the client machine 2 from its unit. transmission 21.

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 10 mémorisées dans l'unité de stockage 11 du serveur 1 et qui sont nécessaires à la machine client 2.  For example, this request is in the form of a character string for uniquely identifying video data stored in the storage unit 11 of the server 1 and necessary for the client machine 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.  The request further specifies the quality of services requested by the client machine 2 and which must accompany the required data.

On considère qu'un paquet de données constituant une partie de la 15 séquence vidéo demandée est présente dans l'unité de stockage 11 dès lors qu'il doit être transmis.  It is considered that a data packet constituting part of the requested video sequence is present in the storage unit 11 as soon as it has to be transmitted.

Au cours de l'étape suivante E401, on initialise plusieurs compteurs de données, dont un compteur de paquets de données Pa qui est initialisé à la valeur 1.  In the next step E401, several data counters are initialized, including a data packet counter Pa which is initialized to a value of 1.

Sont également initialisés un compteur de valeurs de priorité Pr qui seront ultérieurement affectées aux différentes machines client (Pr = PRIOMAX o PRIOMAX est la valeur maximale de priorité), un indicateur de PAUSE (PAUSE = faux) et une variable OFFSET (OFFSET = 0).  Also set is a priority value counter Pr which will subsequently be assigned to the different client machines (Pr = PRIOMAX where PRIOMAX is the highest priority value), a PAUSE indicator (PAUSE = false) and an OFFSET variable (OFFSET = 0) .

On notera que la priorité affectée aux différentes machines client 25 varie entre une priorité basse PRIOMIN et une priorité haute PRIOMAX qui sont, par exemple, respectivement égales à 1 et 30.  It should be noted that the priority assigned to the various client machines 25 varies between a PRIOMIN low priority and a PRIOMAX high priority which are, for example, respectively equal to 1 and 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.  The value of the priority that is assigned to each client machine translates, for the latter, the need to receive from the device 1 (server) data packets.

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.  As will be seen later, the decision to assign a priority value to a client machine depends on a dynamic analysis of the quality of services proposed for each data packet to be transmitted to this machine.

L'indicateur de PAUSE est une valeur binaire qui peut prendre les valeurs "vrai" ou "faux" et qui évolue selon les messages reçus par l'unité de réception 13 du serveur.  The PAUSE indicator is a binary value which can take the values "true" or "false" and which changes according to the messages received by the reception unit 13 of the server.

A l'initialisation, la variable PAUSE prend la valeur "faux" et prend la valeur "vrai" dès qu'un message PAUSE est reçu par le serveur 1.  At initialization, the PAUSE variable takes the value "false" and takes the value "true" as soon as a message PAUSE is received by the server 1.

Il convient de noter que chaque message d'interruption PAUSE inclut des informations indiquant au serveur le prochain paquet de données qu'il 10 devra transmettre à la machine client à l'origine du message.  It should be noted that each PAUSE interrupt message includes information informing the server of the next packet of data to be transmitted to the client machine at the origin of the message.

Par exemple, le message PAUSE contient le numéro du dernier paquet de données écrit dans l'unité de stockage 23 de la machine client 2.  For example, the message PAUSE contains the number of the last data packet written in the storage unit 23 of the client machine 2.

Ainsi, dès la réception d'un message PAUSE, l'indicateur Pa est repositionné à la valeur du dernier paquet de données écrit dans l'unité 23.  Thus, upon receipt of a PAUSE message, the flag Pa is repositioned to the value of the last packet of data written in the unit 23.

De cette façon, le serveur sait que le prochain paquet à transmettre à la machine client sera le paquet dont l'indicateur est Pa + 1, et le pointeur sera ainsi repositionné lors de la réception d'un message de reprise des transmissions.  In this way, the server knows that the next packet to be transmitted to the client machine will be the packet whose flag is Pa + 1, and the pointer will be repositioned when receiving a transmission resume message.

Par ailleurs, dès la réception d'un message PAUSE, un compteur de 20 temps est initialisé et la valeur de temps d'horloge du serveur Ts est mémorisée.  Moreover, upon receipt of a PAUSE message, a timer is initialized and the timer time value of the server Ts is stored.

Lorsqu'un message RESTART de reprise des transmissions de paquets de données du serveur à la machine client est reçu par le serveur, l'instant correspondant Te de réception de ce message est mémorisé et le délai 25 OFFSET est alors calculé.  When a RESTART message for resuming transmission of data packets from the server to the client machine is received by the server, the corresponding instant Te of reception of this message is stored and the delay OFFSET is then calculated.

Cette variable, qui sera utilisée à la figure 6, comptabilise le délai cumulé pendant lequel la machine client est en mode PAUSE et donc ne reçoit pas de paquets.  This variable, which will be used in Figure 6, counts the cumulative delay during which the client machine is in PAUSE mode and therefore does not receive packets.

Le délai OFFSET s'écrit: OFFSET = OFFSET + Te-Ts. 30 A l'étape E401, OFFSET = 0.  The OFFSET delay is written as: OFFSET = OFFSET + Te-Ts. In step E401, OFFSET = 0.

En outre, dès que le message RESTART est reçu, la variable PAUSE prend la valeur "faux" et la conserve jusqu'à la prochaine réception d'un message PAUSE.  In addition, as soon as the RESTART message is received, the PAUSE variable is set to "false" and held until the next time a PAUSE message is received.

L'étape E401 est ensuite suivie d'une étape E402 au cours de 5 laquelle on met à jour la liste L des machines clients connectées au serveur 1 de la figure 1 en ajoutant le nouveau client dont on vient de recevoir la requête (étape E400) et pour lequel un premier paquet de données a été mémorisé dans l'unité de stockage 11 de la figure 1.  The step E401 is then followed by a step E402 during which the list L of the client machines connected to the server 1 of FIG. 1 is updated by adding the new client whose request has just been received (step E400 ) and for which a first data packet has been stored in the storage unit 11 of Figure 1.

La liste L précitée contient l'énumération de toutes les machines 10 (clients) qui sont connectées au serveur 1 ainsi que la priorité affectée à chacune d'entre elles.  The above-mentioned list L contains the enumeration of all the machines 10 (clients) that are connected to the server 1 as well as the priority assigned to each one of them.

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).  As soon as a client machine o, in other words, a client is added to this list, it is assigned the highest priority (PRIOMAX).

Il convient de noter qu'à chaque machine client de la liste L sont 15 associées les quatre variables précitées: Pa, Pr, OFFSET et PAUSE.  It should be noted that for each client machine in the list L are associated the four aforementioned variables: Pa, Pr, OFFSET and PAUSE.

L'utilisation de cette liste sera également détaillée ultérieurement lors de la description faite en référence aux figures 5 et 6.  The use of this list will also be detailed later in the description made with reference to FIGS. 5 and 6.

L'étape suivante E403 indique la réception par le serveur d'un message PAUSE ou RESTART transmis par une ou plusieurs machines clients 20 connectées.  The next step E403 indicates the receipt by the server of a PAUSE or RESTART message transmitted by one or more connected client machines.

Au cours de l'étape suivante E404, la variable PAUSE change de valeur selon le message reçu, la valeur Ts ou Te est mémorisée, l'indicateur Pa change ou le délai OFFSET est calculé selon le cas.  During the next step E404, the variable PAUSE changes its value according to the message received, the value Ts or Te is stored, the indicator Pa changes or the delay OFFSET is calculated as appropriate.

On notera que les étapes E403 et E404 peuvent intervenir à tout 25 moment lors de la connexion du serveur aux machines client.  It should be noted that steps E403 and E404 may occur at any time during connection of the server to the client machines.

Au cours d'une étape suivante E405, le serveur transmet le ou les paquets mémorisés dans l'unité de stockage 11 suivant l'algorithme d'ordonnancement représenté à la figure 5.  In a subsequent step E405, the server transmits the packet or packets stored in the storage unit 11 according to the scheduling algorithm shown in FIG. 5.

Lorsque le ou tous les paquets ont été transmis à la machine client 2, 30 il est mis fin à la transmission et la machine client 2 est déconnectée du serveur 1 (étape E406).  When the or all packets have been transmitted to the client machine 2, the transmission is terminated and the client machine 2 is disconnected from the server 1 (step E406).

L'étape suivante E407 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 E406, ce qui met fin à l'algorithme de la figure 4.  The next step E407 provides an update of the list of client or client machines during which the client machine that has just been disconnected in step E406 is deleted, which terminates the algorithm of FIG. 4.

On notera que l'algorithme de la figure 4 est exécuté pour chaque nouvelle machine client connectée au serveur 1.  It will be noted that the algorithm of FIG. 4 is executed for each new client machine connected to the server 1.

Dans la mesure o plusieurs machines clients peuvent être connectées en même temps, l'algorithme de la figure 4 est exécuté de façon parallèle pour générer des paquets de données destinés à une machine client 10 donnée.  Since several client machines can be connected at the same time, the algorithm of FIG. 4 is executed in parallel to generate data packets for a given client machine.

Il convient également de noter que lorsqu'une machine client est connectée au serveur 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 5 comme on le verra ultérieurement.  It should also be noted that when a client machine is connected to the server 1, it is necessary to always have at least one data packet to be transmitted, when such a transmission is decided by the algorithm of FIG. we will see later.

La figure 5 illustre un algorithme comportant différentes instructions ou portions de code logiciel correspondant à des étapes du procédé selon l'invention.  FIG. 5 illustrates an algorithm comprising different instructions or portions of software code corresponding to steps of the method according to the invention.

Le programme informatique noté "Prog2" qui est basé sur cet algorithme est mémorisé dans l'unité de stockage temporaire de données 11 de 20 la figure 1 et exécuté par l'unité d'ordonnancement 12 de cette figure, sous le contrôle de l'unité de commande 15, ce qui permet ainsi de mettre en oeuvre le procédé selon l'invention.  The computer program noted "Prog2" which is based on this algorithm is stored in the temporary data storage unit 11 of FIG. 1 and executed by the scheduling unit 12 of this figure, under the control of the control unit 15, which thus allows the method according to the invention to be implemented.

Ce programme est également stocké dans l'appareil de la figure 7.  This program is also stored in the apparatus of Figure 7.

Lors de l'exécution de l'algorithme de la figure 5, le serveur 1 de la 25 figure 1 gère les transmissions de données entre ce dispositif et les différentes machines clients qui lui sont connectées, en fonction des priorités qui sont affectées à ces machines.  When executing the algorithm of FIG. 5, the server 1 of FIG. 1 manages the data transmissions between this device and the different client machines connected to it, according to the priorities that are assigned to these machines. .

On notera que le processus d'ordonnancement des paquets de données dont l'algorithme est représenté à la figure 5 est mis en oeuvre dès que 30 le serveur 1 de la figure 1 fonctionne.  It should be noted that the scheduling process of the data packets whose algorithm is shown in FIG. 5 is implemented as soon as the server 1 of FIG. 1 operates.

Le processus dont l'algorithme est représenté à la figure 4, quant à lui, est mis en oeuvre à la réception d'une requête provenant d'une machine client.  The process whose algorithm is shown in Figure 4, meanwhile, is implemented on receipt of a request from a client machine.

Ainsi, ces deux processus sont exécutés parallèlement et le 5 processus dont l'algorithme est représenté à la figure 5 fait appel à celui de la figure 4 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.  Thus, these two processes are executed in parallel and the process of which the algorithm is represented in FIG. 5 uses that of FIG. 4 to recover a data packet generated by the latter and intended for a client machine, when is decided to make such a transmission to said client machine.

L'algorithme de la figure 5 débute par une étape E500 d'initialisation 10 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 E501 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'étape suivante E502 prévoit d'effectuer un test afin de tester la valeur de l'indicateur de PAUSE de la machine client courante c et de vérifier si elle est égale à la valeur "vrai".  The algorithm of FIG. 5 starts with an initialization step E500 during which the PRIOMAX maximum priority value is assigned to a loop index noted p. During the next step noted E501, a variable c of the list L of the client or client machines referred to above is initialized to the value 1, which corresponds to the first element of the list L. The following step E502 provides for performing a test to test the value of the PAUSE indicator of the current client machine c and check whether it is equal to the value "true".

Dans l'affirmative, cela signifie qu'un message d'interruption PAUSE a été reçu de cette machine et l'étape E502 est suivie de l'étape E507. 20 Aucun paquet ne sera plus transmis à la machine considérée.  If so, this means that a PAUSE interrupt message has been received from this machine and step E502 is followed by step E507. No packet will be transmitted to the machine in question.

Dans la négative, l'algorithme se poursuit par une étape E503 au cours de laquelle on met à jour la priorité Pc associée à la machine client courante.  If not, the algorithm continues with a step E503 in which the priority Pc associated with the current client machine is updated.

On reviendra plus en détail ultérieurement, lors de la description faite25 en référence à la figure 6, sur le contenu de cette étape E503.  The description of this step E503 will be discussed in more detail later in the description made with reference to FIG.

Selon cette étape, on affecte de manière dynamique à la machine client courante une priorité adaptée aux résultats de l'analyse effectuée par le dispositif de gestion selon l'invention.  In this step, the current client machine is dynamically assigned a priority adapted to the results of the analysis performed by the management device according to the invention.

L'étape suivante E504 consiste en un test au cours duquel on 30 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é.  The next step E504 consists of a test in which it is determined whether the priority assigned to the current client machine, Pc, is greater than or equal to the value of the aforementioned p-loop index.

Dans l'affirmative, l'étape E504 est suivie d'une étape E505 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 11 de la figure 1 le paquet de données Pa qui a été généré lors de l'exécution de l'algorithme de la figure 4 en vue d'être transmis à la machine client courante, par exemple la machine 2 de la figure 1.  If so, step E504 is followed by a step E505 in which unit 12 of FIG. 1 retrieves the data packet from the storage space 11 of FIG. Pa which was generated during the execution of the algorithm of FIG. 4 in order to be transmitted to the current client machine, for example the machine 2 of FIG. 1.

Ce paquet est alors transféré à l'unité de transmission 14 de la figure 1 et est ensuite transmis par l'intermédiaire du réseau de communication 3 à la machine client considérée.  This packet is then transferred to the transmission unit 14 of FIG. 1 and is then transmitted via the communication network 3 to the client machine in question.

L'indicateur Pa de la mémoire 11 est alors incrémenté d'une unité 10 (figures 2b et 2c).  The indicator Pa of the memory 11 is then incremented by one unit 10 (FIGS. 2b and 2c).

L'étape E505 est alors suivie de l'étape E506.  Step E505 is then followed by step E506.

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 15 client courante considérée et l'étape E504 est alors suivie de l'étape E506.  Thus, a high priority has been assigned to the current client machine so that no data packet is transmitted to the latter, following the analysis of the connection between the device 1 and the current client machine 15 considered and the step E504 is then followed by step E506.

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.  During the next analysis of this same connection, the result of this analysis can change and the current client machine can then be assigned a priority such that a data packet will be transmitted to it.

Au cours de l'étape E506, un test est pratiqué sur la valeur de la 20 variable c par rapport à la liste L (c = Cmax ?, o Cmax représente le dernier élément de la liste L) afin de déterminer si toutes les machines client connectées au serveur 1 ont été traitées lors de l'exécution de la boucle de l'algorithme de la figure 5.  In step E506, a test is performed on the value of the variable c with respect to the list L (c = C max, where C max represents the last element of the list L) to determine whether all the machines client connected to the server 1 were processed during the execution of the loop of the algorithm of FIG.

Dans la négative, l'étape E506 est suivie d'une étape E507 au cours 25 de laquelle la variable c est incrémentée d'une unité afin que la boucle de l'algorithme de la figure 5 constituée des étapes E503, E504, E505, E506 soit de nouveau exécutée pour la machine client suivante de la liste L. Au contraire, lorsque le résultat du test pratiqué à l'étape E506 est positif, alors cette dernière est suivie de l'étape E508.  If not, step E506 is followed by step E507 in which variable c is incremented by one so that the loop of the algorithm of FIG. 5 consists of steps E503, E504, E505, E506 is again executed for the next client machine of the list L. On the contrary, when the result of the test practiced in step E506 is positive, then the latter is followed by step E508.

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.  During this step, another test is performed to determine if the loop index p has reached the minimum value PRIOMIN.

Dans la négative, l'étape E508 est suivie d'une étape E509 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 serveur en partant de la première (c = 1) et en exécutant la boucle.constituée des étapes E502 à E506.  If not, the step E508 is followed by a step E509 in which the p-loop index is decremented by one unit and then all the client machines connected to the server are processed again from the first one (c = 1) and executing the loop formed by steps E502 to E506.

Si le test pratiqué au cours de l'étape E508 conduit à un résultat positif, cette dernière est alors suivie de l'étape E509 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 5 est de nouveau exécuté.  If the test performed in the step E508 leads to a positive result, the latter is then followed by the previously described step E509 during which the loop index is reset to the PRIMPAX high priority value and the The algorithm of FIG. 5 is again executed.

Il convient de noter que l'exécution du processus dont l'algorithme est représenté à la figure 5 dépend du contenu de la liste L de machines client (ou clients) connectées au dispositif 1 de la figure 1: dès 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.  It should be noted that the execution of the process whose algorithm is represented in FIG. 5 depends on the content of the list L of client machines (or clients) connected to the device 1 of FIG. 1: as soon as a client machine is connected the process is executed and it stops when no client machine is connected.

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 5.  We will now describe the dynamic priority assignment process for a current client machine marked by the variable c in the list L defined above, the connection of this client machine with the device 1 of FIG. execution of the algorithm of FIG.

L'algorithme de la figure 6 fait partie de l'algorithme de la figure 5 et 20 comporte à cet effet différentes instructions ou portions de code logiciel correspondant à des étapes du procédé de gestion des transmissions selon l'invention.  The algorithm of FIG. 6 is part of the algorithm of FIG. 5 and comprises for this purpose different instructions or portions of software code corresponding to steps of the transmission management method according to the invention.

L'algorithme de la figure 6 débute par une étape E600 qui prévoit d'estimer la qualité de services proposée à la machine client courante c pour un 25 paquet de données que le dispositif 1 de la figure 1 se propose de lui transmettre.  The algorithm of FIG. 6 starts with a step E600 which plans to estimate the quality of services offered to the current client machine c for a data packet that the device 1 of FIG. 1 proposes to transmit to it.

On notera que pour les besoins de la mise à jour de la priorité Pc affectée à l'étape E502 de la figure 5, il est nécessaire de connaître le contenu du paquet à transmettre.  Note that for the purposes of updating the priority Pc assigned to step E502 of Figure 5, it is necessary to know the contents of the packet to be transmitted.

On notera également que cette étape d'estimation tient compte du temps tp au bout duquel le paquet doit parvenir à la machine client courante.  Note also that this estimation step takes into account the time tp after which the packet must reach the current client machine.

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.  This information is known from the device 1 according to the invention (server) through the quality of services expressed in the request from this client machine.

On notera également que le temps tp est en quelque sorte 5 représentatif du taux de remplissage de l'unité de stockage de la machine client considérée.  It will also be noted that the time tp is somewhat representative of the filling rate of the storage unit of the client machine under consideration.

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.  This time depends on the quality of services expressed in the request from the client machine considered, as well as the content of the data packet to be transmitted to this 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.  Indeed, when, for example, the requested quality of services is expressed in the number of images per second, according to whether the images are coded in Intra or Inter mode, for the same packet size, the number of images contained in a packet is higher in the case of an image coded in Inter mode.

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é.  Thus, knowing the quality of services expressed by the client machine (eg number of frames per second) and taking into account the content of the packet (number of images per packet), the device 1 according to the invention is able to determine the time above mentioned.

Plus particulièrement, au cours de l'étape E600, on détermine à un 20 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.  More particularly, during step E600, a parameter called margin (ta), which is representative of the quality of services offered to the current client machine considered for the data packet, is determined at a time ta, called the current time. concerned which will eventually be transmitted.

Ce paramètre s'exprime sous la forme suivante: 25 marge (ta) = to + OFFSET + tp - ta, o to correspond à l'instant o la machine client courante s'est connectée au dispositif 1.  This parameter is expressed as: margin (ta) = to + OFFSET + tp - ta, where o corresponds to the instant when the current client machine has connected to device 1.

Une fois cette étape d'estimation effectuée, l'étape suivante E601 prévoit la détermination de l'évolution, au cours du temps, de l'estimation de la 30 qualité de services proposée à la machine client courante.  Once this estimation step has been performed, the next step E601 provides the determination of the evolution, over time, of the estimation of the quality of services offered to the current client machine.

* Cette détermination est effectuée pour les paquets de données à transmettre à des instants différents.* This determination is made for data packets to be transmitted at different times.

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.  For example, one can be interested in the transmission of two successive data packets over time, or even determine this evolution for data packets to be transmitted spaced apart from several packets in time.

Plus particulièrement, au cours de l'étape E601, 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 10 paquets de données différents.  More particularly, during step E601, a parameter called "variation" is determined which is written as follows: variation = margin (ta) - margin (tb), where the parameters margin (ta) and margin ( tb) are representative of the service quality estimated at two different times ta and tb with ta> tb and for two different data packets.

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.  The variation thus makes it possible to estimate the evolution between the estimate of the quality of current services and the estimate of a previous quality of services.

L'étape E601 est ensuite suivie d'une étape E602 au cours de laquelle un test est effectué afin de déterminer si la variation précédemment 15 déterminée est nulle.  Step E601 is then followed by step E602 in which a test is performed to determine if the previously determined variation is zero.

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 6.  If so, the quality of services proposed has therefore not changed since the last estimate, it is chosen not to change the priority assigned to the current client machine c whose connection with the device 1 is being analyzed, which ends the algorithm of Figure 6.

Au contraire, lorsque le résultat du test pratiqué à l'étape E602 est négatif, alors l'étape suivante E603 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 E600.  On the contrary, when the result of the test performed in step E602 is negative, then the next step E603 provides for another test to determine whether the previously determined variation is greater than or equal to the margin determined in step E600.

Ce test permet en effet de détecter une forte variation dans 25 l'estimation de la qualité de services proposée pour un paquet de données à transmettre à la machine client courante.  This test makes it possible to detect a large variation in the estimation of the quality of services proposed for a data packet to be transmitted to the current client machine.

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 en train de diminuer et qu'il convient donc d'anticiper afin de ne pas dégrader la 30 qualité de services proposée à la machine client considérée.  Thus, when the result of this test is positive, the management device according to the invention is informed that the margin determined at the current time ta is decreasing and that it is therefore necessary to anticipate so as not to degrade the quality of services offered to the client machine considered.

L'étape E603 est alors suivie d'une étape E607 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.  The step E603 is then followed by a step E607 in which a high priority and, moreover, a maximum priority, PRIOMAX, is assigned to the current client machine whose connection with the device 1 of FIG. 1 is in progress. analysis.

Ceci signifie qu'il est urgent de prévoir une transmission d'un paquet de données à destination de cette machine client.  This means that it is urgent to provide a transmission of a data packet to this client machine.

Ceci met alors fin à l'exécution de l'algorithme de la figure 6.  This then puts an end to the execution of the algorithm of FIG.

Au contraire, lorsque le résultat du test pratiqué à l'étape E603 est négatif, l'étape suivante E604 prévoit d'effectuer un test supplémentaire.  On the contrary, when the result of the test performed in step E603 is negative, the next step E604 provides for an additional test.

Au cours de ce test, on détermine, d'une part, si la marge précédemment déterminée à l'étape E600 est supérieure ou égale à un seuil 10 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).  During this test, it is determined, on the one hand, if the margin previously determined in step E600 is greater than or equal to a predetermined threshold and, on the other hand, if there is at least one client machine for which a negative margin has been detected (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é 15 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.  The predetermined threshold corresponds, for example, to one second and makes it possible to detect whether the current client machine will be considered to be sufficiently far in advance, that is to say that the filling rate of its storage unit is sufficient to not interrupt the process of decoding and viewing the video data requested by this machine.

Il convient de noter que l'on aurait pu se contenter de détecter si la marge déterminée à l'étape E600 était positive pour s'assurer que la qualité de services estimée par le dispositif 1, pour un paquet de données à transmettre à 20 cette machine client, était conforme à la qualité de services demandée par cette dernière.  It should be noted that it would have been sufficient to detect whether the margin determined in step E600 was positive to ensure that the quality of services estimated by the device 1, for a data packet to be transmitted to this device. machine client, was consistent with the quality of services requested by the latter.

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 25 donc traduire une dégradation de la qualité de services proposée à cette machine.  However, this one verification alone is not enough to determine whether a client machine needs a data packet, since a positive margin at one instant may become negative at the next instant and thus translate a degradation. the quality of services offered to this machine.

Lorsque le résultat du test pratiqué à l'étape E604 est positif, c'estàdire lorsque l'estimation de la qualité de services proposée à une machine client courante pour un paquet de données est conforme à la qualité de services 30 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 E605.  When the result of the test practiced in step E604 is positive, that is to say when the estimation of the quality of services offered to a current client machine for a data packet is in accordance with the quality of services requested by the latter and when, for at least one other client machine, the estimation of the quality of services proposed for a data packet to be transmitted to the latter does not comply with the quality of services requested, then this step is followed by a step E605.

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.  During this last step, it is planned to assign to the current client machine a minimum priority Pc which is equal to 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.  The assignment of this minimum priority indicates to the device 1 according to the invention that it is not necessary to transmit a data packet to the current client machine c.

Cette information est utilisée dans l'algorithme de la figure 5 lors du test pratiqué à l'étape E504 qui conduit, dans ce cas précis, directement à 10 l'exécution de l'étape E506, sans transmettre un paquet de données comme prévu par l'étape E505.  This information is used in the algorithm of FIG. 5 during the test performed in step E504 which leads, in this specific case, directly to the execution of step E506, without transmitting a data packet as provided by step E505.

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 15 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.  The priority thus assigned to the current client machine excludes any transmission of data packet to this machine. This is of course valid only for the estimate which has just been made of the connection established between the device 1 and the current client machine considered and is likely to be called into question during the new estimation, for a new data packet to transmit.

Au contraire, lorsque le résultat du test pratiqué à l'étape E604 est négatif, alors cette étape est suivie d'une étape E606.  On the contrary, when the result of the test practiced in step E604 is negative, then this step is followed by a step E606.

Ce cas de figure apparaît, soit lorsque la marge déterminée à l'étape E600 n'est pas supérieure au seuil fixé soit lorsqu'aucune marge négative n'a été détectée pour d'autres machines client.  This case occurs either when the margin determined in step E600 is not greater than the threshold set or when no negative margin has been detected for other client machines.

Au cours de l'étape E606 on effectue un test afin de déterminer si la marge de la machine client courante dont la connexion avec le dispositif 1 selon 25 l'invention est en cours d'analyse est positive.  In step E606 a test is made to determine if the margin of the current client machine whose connection to the device 1 according to the invention is being analyzed is 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.  This amounts, in other words, to determine whether the quality of service offered to this client machine in relation to a data packet to be transmitted is consistent with the quality of services requested by this machine.

Lorsque le résultat du test pratiqué à l'étape E606 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 E607.  When the result of the test practiced in step E606 is negative, which corresponds to a nonconformity of the quality of services proposed, as it was estimated, with the quality of services requested by the current client machine, then this step is followed by step E607.

Au cours de cette dernière étape, il est prévu d'affecter à la machine client courante la valeur de priorité Pc maximale (PRIOMAX).  During this last step, it is planned to assign the current client machine the priority value Pc maximum (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 5.  This informs the management device according to the invention that it is necessary to perform a transmission of a packet for this client machine when executing the algorithm of FIG. 5.

On notera que les étapes E602, E603, E604 et E606 sont des étapes au cours desquelles la qualité de services estimée à l'étape E600 ou sa 10 variation déterminée à l'étape E601 sont comparées avec la qualité de services demandée par la machine client courante.  It should be noted that steps E602, E603, E604 and E606 are steps in which the quality of services estimated at step E600 or its variation determined in step E601 are compared with the quality of services requested by the client machine. common.

Lorsque le résultat du test pratiqué à l'étape E606 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, 15 alors cette étape est suivie d'une étape E608.  When the result of the test practiced in step E606 is positive, which means that the estimate of the quality of services offered to the current client machine is in accordance with the quality of services requested by the latter, then this step is followed of a step E608.

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. 20 Au cours de cette étape E608 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)) l, o | x | désigne la fonction mathématique "valeur absolue de x" et E (x) désigne la fonction mathématique "partie entière de x".  During this last step a value called "step" is determined which corresponds to the step, also called priority jump, whose current priority assigned to the current client machine must be varied in order to take into account the estimation of the quality. previously performed. In this step E608, the increment of the priority to be applied to the current priority is determined as follows: step = | E (PRIOMAX (variation / margin)) l, o | x | denotes the mathematical function "absolute value of x" and E (x) denotes the mathematical function "integer part of x".

Au cours de l'étape suivante E609 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.  In the next step E609 the value of the priority to be assigned to the current client machine is determined as follows: Pc = Pc - sign (not), where o sign (x) denotes the mathematical function "sign" of x.

L'exécution des étapes E608 et 609 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 E600.  The execution of steps E608 and 609 thus makes it possible to adjust the value of the priority assigned to the current client machine according to the estimate of the quality of services performed previously in step E600.

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.  This makes it possible to refine the value of the priority assigned to the current client machine rather than systematically assigning an extreme value of the PRIOMAX or PRIOMIN type.

Il est mis fin à l'algorithme de la figure 6 après l'exécution de l'étape E609.  The algorithm of FIG. 6 is terminated after execution of step E609.

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 10 machine client 2 avant que toutes les données vidéo ne soient codées.  Note that the transmission of coded video data is "on the fly" (known in English terminology under the term "streaming"), that is to say that the information needed by the user to reconstruct an image are stored in the storage unit 11, then are transmitted to the client machine 2 before all the video data is coded.

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.  Thus, the user receives at the level of the client machine 2 the packet information, in each of which are information allowing this user to decode a current image.

Il convient de noter que l'invention s'applique également lorsque la 15 source de données (serveur) 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.  It should be noted that the invention also applies when the data source (server) which is connected to the communication apparatus does not receive requests from them and specifying a requested quality of service.

En effet, le serveur estime, à partir des seules informations dont il dispose, la qualité de services qu'il est susceptible d'offrir à un appareil en lui 20 transmettant un ou plusieurs paquets de données.  Indeed, the server estimates, from the only information available to it, the quality of services it is likely to offer a device by transmitting one or more data packets.

En fonction de cette estimation, le serveur 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.  Based on this estimate, the server is then able to evaluate the future workload of the device, to do the same with other devices and assign priorities accordingly to the devices concerned.

Ceci peut être fait sans que le serveur ne connaisse la qualité de services demandée par chaque appareil.  This can be done without the server knowing the quality of services requested by each device.

Dans ce cas de figure, les algorithmes des figures 4 à 6 doivent être modifiés en conséquence.  In this case, the algorithms of FIGS. 4 to 6 must be modified accordingly.

En référence à la figure 7, est décrit un exemple d'appareil de 30 communication programmable mettant en oeuvre l'invention.  Referring to Figure 7, an example of a programmable communication apparatus embodying the invention is described.

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 à 6. Selon un aspect de l'invention, l'appareil programmable est connecté à plusieurs appareils de communication jouant le rôle de machines client, de façon identique au dispositif 1 de la figure 1.  This apparatus comprises the transmission management device according to the invention shown in FIG. 1 and the operation of which is described with reference to FIGS. 2 to 6. According to one aspect of the invention, the programmable device is connected to several communication devices. communication playing the role of client machines, identical to the device 1 of Figure 1.

Selon un autre aspect, l'appareil programmable est une machine client connectée au dispositif 1 de la figurel.  In another aspect, the programmable apparatus is a client machine connected to the device 1 of the figurel.

Selon le mode de réalisation choisi et représenté à la figure 7, un appareil mettant en oeuvre l'invention est par exemple un microordinateur 700 ou une station de travail connecté à différents périphériques, par exemple une caméra numérique 701 (ou un scanner, ou tout moyen d'acquisition ou de 10 stockage d'image) reliée à une carte graphique et fournissant à l'appareil des données multimédia à traiter et à transmettre à un ou plusieurs autres appareils selon l'aspect de l'invention considéré.  According to the embodiment chosen and shown in FIG. 7, an apparatus embodying the invention is for example a microcomputer 700 or a workstation connected to different peripherals, for example a digital camera 701 (or a scanner, or any other device). acquisition means or image storage) connected to a graphics card and providing the device with multimedia data to be processed and transmitted to one or more other devices according to the aspect of the invention in question.

L'appareil 700 comporte un bus de communication 702 auquel sont reliés: une unité centrale de traitement 703 (microprocesseur), qui exerce la fonction de l'unité de commande 15 de la figure 1, - une mémoire morte 704, pouvant comporter les programmes "ProgO", "Prog 1" et "Prog2", - une mémoire vive 706, comportant des registres 707 adaptés à 20 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, Pr, Pa, Cmax, PAUSE, PRIOMAX, PRIOMIN, marge, variation, seuil, Nb, pas, TH 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 des figures 4 et 5.  The apparatus 700 comprises a communication bus 702 to which are connected: a central processing unit 703 (microprocessor), which performs the function of the control unit 15 of FIG. 1, a read-only memory 704, which can comprise the programs "ProgO", "Prog 1" and "Prog2", - a RAM 706, having registers 707 adapted to record variables and parameters created and modified during the execution of the aforementioned programs, in particular, p, c, Pr, Pa, Cmax, PAUSE, PRIOMAX, PRIOMIN, margin, variation, threshold, Nb, not, TH mentioned with reference to the preceding figures, as well as the data packets generated during the execution of the algorithm of FIGS. and 5.

- un écran 708 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 710 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 712 pouvant comporter les programmes "ProgO", "ProgI" et "Prog2" précités, - un lecteur de disquette 714 adapté à recevoir une disquette 716 et à y lire ou à y écrire des données traitées ou à traiter selon l'invention, - une interface de communication 718 reliée à un réseau de communication 720, par exemple le réseau Internet, l'interface étant apte à transmettre et à recevoir des données.  a screen 708 making it possible to display data and / or to act as a graphical interface with the user who can interact with the programs according to the invention, using a keyboard 710 or any other means such as a pointing device, not shown, such as for example a mouse or an optical pencil, a hard disk 712 which may comprise the aforementioned "ProgO", "ProgI" and "Prog2" programs, a floppy disk drive 714 adapted to receive a floppy disk. 716 and to read or write data processed or to be processed according to the invention, - a communication interface 718 connected to a communication network 720, for example the Internet, the interface being able to transmit and receive Datas.

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.  In the case of audio data, the apparatus further comprises an input / output card connected to a microphone which are both unrepresented.

Le bus de communication permet la communication et 10 l'interopérabilité entre les différents éléments inclus dans le micro-ordinateur 700 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 700 directement ou par l'intermédiaire d'un autre élément du micro-ordinateur 700.  The communication bus enables communication and interoperability between the various elements included in the microcomputer 700 or connected thereto. The representation of the bus is not limiting and, in particular, the central unit is able to communicate instructions to any element of the microcomputer 700 directly or through another element of the microcomputer 700.

Le code exécutable de chaque programme permettant à l'appareil programmable de mettre en oeuvre le processus de gestion des transmissions de la figure 3e, les processus de traitement des requêtes et de génération de paquets (figure 4), d'affectation dynamique des priorités aux machines client connectées (figures 5 et 6) selon l'invention, peut être stocké par exemple dans 20 le disque dur 712 ou en mémoire morte 704 comme représenté sur la figure 7.  The executable code of each program allowing the programmable apparatus to implement the transmission management process of Figure 3e, the request processing and packet generation processes (Figure 4), dynamic assignment of priorities to Connected client machines (FIGS. 5 and 6) according to the invention can be stored for example in the hard disk 712 or in the read-only memory 704 as shown in FIG.

Selon une variante, la disquette 716, peut contenir des données ainsi que le code exécutable des programmes précités qui, une fois lu par l'appareil 700, sera stocké dans le disque dur 712.  According to one variant, the diskette 716 may contain data as well as the executable code of the aforementioned programs which, once read by the apparatus 700, will be stored in the hard disk 712.

En seconde variante, le code exécutable des programmes pourra 25 être reçu par l'intermédiaire du réseau de communication 720, via l'interface 718, pour être stocké de façon identique à celle décrite précédemment.  In the second variant, the executable code of the programs may be received via the communication network 720, via the interface 718, to be stored in the same manner as that described previously.

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 30 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 oeuvre du procédé selon l'invention.  Floppies can be replaced by any information medium such as, for example, a compact disc (CD-ROM) or a memory card. In general terms, computer-readable or microprocessor-readable information storage means, whether or not integrated into the device, possibly removable, is adapted to store one or more programs whose execution allows the implementation to be carried out. of the process according to the invention.

De manière plus générale, le ou les programmes pourront être chargés dans un des moyens de stockage de l'appareil 700 avant d'être exécutés.  More generally, the program or programs may be loaded into one of the storage means of the device 700 before being executed.

L'unité centrale 703 va commander et diriger l'exécution des 5 instructions ou portions de code logiciel du ou des programmes selon l'invention, instructions qui sont stockées dans le disque dur 712 ou la mémoire morte 704 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 712 ou la mémoire ROM 704, sont 10 transférés dans la mémoire vive RAM 706 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 oeuvre de l'invention.  The central unit 703 will control and direct the execution of the instructions or portions of software code of the program or programs according to the invention, which instructions are stored in the hard disk 712 or the read-only memory 704 or in the other elements of aforementioned storage. When powering on, the program or programs that are stored in a non-volatile memory, for example the hard disk 712 or the ROM 704, are transferred into the RAM 706 which will then contain the executable code of the one or more programs according to the invention, as well as registers for storing the variables and parameters necessary for the implementation of the invention.

Il convient de noter que l'appareil de communication comportant le 15 dispositif selon l'invention peut également être un appareil programmé.  It should be noted that the communication apparatus comprising the device according to the invention may also be a programmed apparatus.

Cet appareil contient alors le code du ou des programmes informatiques par exemple figé dans un circuit intégré à application spécifique (ASIC).  This device then contains the code of the computer program or programs for example frozen in a specific application integrated circuit (ASIC).

Claims (38)

REVENDICATIONS 1. Procédé de gestion des transmissions de paquets de données multimédia entre au moins deux appareils de communication connectés entre eux, 5 l'un, dit premier appareil, recevant des paquets de données d'au moins un autre appareil, dit deuxième appareil, caractérisé en ce que le procédé comporte les étapes suivantes effectuées par le premier appareil: comparaison de la taille du dernier paquet de données reçu du deuxième appareil avec la taille de l'espace mémoire disponible dans le premier 10 appareil pour son stockage, - en fonction du résultat de la comparaison, décision quant à la transmission, en direction du deuxième appareil, d'un message dit d'interruption (PAUSE) visant à interrompre de façon temporaire la transmission de paquets de données vers le premier appareil.  1. A method of managing transmissions of multimedia data packets between at least two communication devices connected to one another, said first device, receiving data packets from at least one other device, said second device, characterized in that the method comprises the following steps performed by the first apparatus: comparing the size of the last data packet received from the second apparatus with the size of the available memory space in the first apparatus for storage, - depending on the result of the comparison, decision to transmit, in the direction of the second device, an interrupt message (PAUSE) to temporarily interrupt the transmission of data packets to the first device. 2. Procédé selon la revendication 1, caractérisé en ce que, lorsque la taille du dernier paquet de données reçu est supérieure à la taille de l'espace mémoire disponible dans le premier appareil, alors le procédé comporte une étape de transmission, en direction du deuxième appareil, d'un message d'interruption temporaire de la transmission de paquets de données vers le premier appareil.  2. Method according to claim 1, characterized in that, when the size of the last received data packet is greater than the size of the available memory space in the first device, then the method comprises a transmission step, in the direction of the second apparatus, a message of temporary interruption of the transmission of data packets to the first device. 3. Procédé selon la revendication 2, caractérisé en ce que le message d'interruption inclut des informations indiquant au deuxième appareil le prochain paquet de données à transmettre au premier appareil.  3. Method according to claim 2, characterized in that the interrupt message includes information indicating to the second device the next packet of data to be transmitted to the first device. 4. Procédé selon l'une des revendications 1 à 3, caractérisé en ce qu'il comporte les étapes suivantes: - comparaison de la taille de l'espace mémoire non lu par le premier appareil pour le stockage de paquets de données vidéo avec un seuil TH défini de la façon suivante: TH = min (RFx FRxN, KxBS), o RF désigne le rapport de la taille maximale de l'espace mémoire sur le nombre 30 total d'images constituées par l'ensemble des paquets de données vidéo à transmettre du deuxième appareil au premier appareil, FR est le nombre d'images par seconde, N et K sont des constantes et BS désigne la taille maximale de l'espace mémoire, - en fonction du résultat de la comparaison, décision quant à la transmission, en direction du deuxième appareil, d'un message de reprise de la transmission de paquets de données vers le premier appareil.  4. Method according to one of claims 1 to 3, characterized in that it comprises the following steps: - comparison of the size of the memory space unread by the first device for storing video data packets with a threshold TH defined as follows: TH = min (FRx FRxN, KxBS), where RF denotes the ratio of the maximum size of the memory space to the total number of images constituted by all the video data packets to transmit the second device to the first device, FR is the number of frames per second, N and K are constants and BS is the maximum size of the memory space, - depending on the result of the comparison, decision on the transmitting, in the direction of the second apparatus, a message for resuming the transmission of data packets to the first apparatus. 5. Procédé selon la revendication 4, caractérisé en ce que, lorsque la taille de l'espace mémoire non lu dans le premier appareil est inférieure au seuil TH, alors le procédé comporte une étape de transmission, en direction du deuxième appareil, d'un message de reprise de la transmission de paquets de données 10 (RESTART) vers le premier appareil.  5. Method according to claim 4, characterized in that, when the size of the memory space not read in the first device is below the threshold TH, then the method comprises a step of transmission, towards the second device, of a message for resuming the transmission of data packets (RESTART) to the first apparatus. 6. Procédé de gestion des transmissions de paquets de données multimédia 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 la source comporte des moyens de réception en provenance 15 d'un appareil d'un message dit d'interruption (PAUSE) visant à interrompre de façon temporaire la transmission de paquets de données de la source vers cet appareil, ce message signifiant que la taille du dernier paquet de données reçu par cet appareil était supérieure à la taille de l'espace mémoire disponible dans cet appareil pour le stockage de paquets.  6. A method of managing transmissions of multimedia data packets between a data source and several communication devices connected to this source via a communication network, characterized in that the source comprises receiving means from 15 of a device of an interrupt message (PAUSE) for temporarily interrupting the transmission of data packets from the source to this device, this message meaning that the size of the last packet of data received by this device was greater than the size of the available memory space in this device for packet storage. 7. Procédé selon la revendication 6, caractérisé en ce qu'il comporte une étape de décision de la transmission d'un paquet de données à l'appareil dont provient le message d'interruption et qui tient notamment compte du délai cumulé (OFFSET) pendant lequel l'appareil n'a pas reçu de paquets de données de la source suite à la transmission par cet appareil d'un ou de plusieurs messages 25 d'interruption.  7. Method according to claim 6, characterized in that it comprises a step of deciding the transmission of a data packet to the apparatus from which the interruption message comes and which takes into account in particular the cumulative delay (OFFSET). during which the apparatus did not receive data packets from the source as a result of the transmission by this apparatus of one or more interrupt messages. 8. Procédé selon la revendication 7, caractérisé en ce qu'il comporte une étape préalable d'affectation à l'appareil concerné d'une priorité (Pc) en fonction notamment du délai cumulé (OFFSET) de cet appareil, l'étape de décision tenant compte de cette priorité.  8. A method according to claim 7, characterized in that it comprises a prior step of assigning to the apparatus concerned a priority (Pc) as a function in particular of the cumulative delay (OFFSET) of this apparatus, the step of decision taking into account this priority. 9. Procédé selon la revendication 7 ou 8, caractérisé en ce qu'il comporte une étape de détermination à l'instant courant (ta) d'un paramètre appelé marge (ta), représentatif d'une qualité de services proposée à l'appareil, et qui s'écrit: marge (ta) = to + OFFSET + tp - ta, o to correspond à l'instant o l'appareil s'est connecté à la source de données et tp correspond à l'instant auquel au moins un paquet de données doit être visualisé par l'appareil.  9. Method according to claim 7 or 8, characterized in that it comprises a step of determination at the current time (ta) of a parameter called margin (ta), representative of a quality of services proposed to the device, and which is written: margin (ta) = to + OFFSET + tp - ta, where o corresponds to the moment when the device connected to the data source and tp corresponds to the moment at which least one data packet must be viewed by the device. 10. Procédé selon la revendication 9, caractérisé en ce qu'il comporte les étapes suivantes: - détermination 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 proposée à l'appareil à deux instants différents ta et tb, avec ta > tb, affectation à l'appareil d'une priorité en fonction du paramètre variation précédemment déterminé.  10. Method according to claim 9, characterized in that it comprises the following steps: - determination of a parameter called variation which is written: variation = margin (ta) - margin (tb), o margin (ta) and margin (tb) are the parameters representative of the quality of services offered to the apparatus at two different times ta and tb, with ta> tb, assignment to the apparatus of a priority according to the previously determined variation parameter. 11. Procédé selon l'une des revendications 6 à 10, caractérisé en ce qu'un message d'interruption inclut des informations indiquant à la source le prochain paquet de données à transmettre à l'appareil qui a transmis ce message. 15  11. Method according to one of claims 6 to 10, characterized in that an interrupt message includes information indicating to the source the next data packet to be transmitted to the device that transmitted this message. 15 12. Procédé selon l'une des revendications 6 à 11, caractérisé en ce que la source comportant une mémoire pour le stockage des paquets à transmettre et un pointeur visant le dernier paquet transmis, lorsque la source reçoit d'un appareil un message (RESTART) de reprise de la transmission de paquets de données de la source vers cet appareil, le pointeur est repositionné sur le paquet de 20 données qui est à transmettre à l'appareil.12. Method according to one of claims 6 to 11, characterized in that the source comprising a memory for storing the packets to be transmitted and a pointer to the last transmitted packet, when the source receives from a device a message (RESTART ) of resuming the transmission of data packets from the source to this apparatus, the pointer is repositioned on the data packet to be transmitted to the apparatus. 13. Procédé de gestion des transmissions de paquets de données multimédia 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 une étape, effectuée par la source, de 25 transmission de paquets de données à un ou plusieurs appareils en tenant compte notamment, pour chaque appareil, du délai cumulé (OFFSET) pendant lequel l'appareil n'a pas reçu de paquets de données de la source suite à la transmission par cet appareil d'un ou de plusieurs messages d'interruption, de tels messages visant à interrompre de façon temporaire la transmission de paquets de données 30 par la source.  13. A method of managing transmissions of multimedia data packets between a data source and several communication devices connected to this source via a communication network, characterized in that the method comprises a step, performed by the source, of transmission of data packets to one or more devices, taking into account, in particular for each apparatus, the cumulative delay (OFFSET) during which the apparatus has not received any data packets from the source as a result of the transmission by this apparatus of one or more interrupt messages, such messages to temporarily interrupt the transmission of data packets 30 by the source. 14. Dispositif de gestion des transmissions de paquets de données multimédia entre au moins deux appareils de communication connectés entre eux, l'un, dit premier appareil, recevant des paquets de données d'au moins un autre appareil, dit deuxième appareil, caractérisé en ce que le premier appareil comporte - des moyens de comparaison de la taille du dernier paquet de 5 données reçu du deuxième appareil avec la taille de l'espace mémoire disponible dans le premier appareil pour son stockage, des moyens de décision quant à la transmission, en direction du deuxième appareil, d'un message dit d'interruption (PAUSE) visant à interrompre de façon temporaire la transmission de paquets de données vers le premier appareil, 10 en fonction du résultat de la comparaison.  14. Device for managing transmissions of multimedia data packets between at least two communication devices connected to one another, said first device receiving data packets from at least one other device, said second device, characterized in that the first apparatus comprises - means for comparing the size of the last data packet received from the second apparatus with the size of the memory space available in the first apparatus for storage, means for deciding on the transmission, in the direction of the second apparatus, an interrupt message (PAUSE) for temporarily interrupting the transmission of data packets to the first apparatus, depending on the result of the comparison. 15. Dispositif selon la revendication 14, caractérisé en ce que le premier appareil comporte des moyens de transmission, en direction du deuxième appareil, d'un message d'interruption temporaire de la transmission de paquets de données vers le premier appareil, lorsque la taille du dernier paquet de données reçu est 15 supérieure à la taille de l'espace mémoire disponible dans le premier appareil  15. Device according to claim 14, characterized in that the first apparatus comprises means for transmitting, in the direction of the second apparatus, a message temporarily interrupting the transmission of data packets to the first apparatus, when the size of the last received data packet is greater than the size of the available memory space in the first device 16. Dispositif selon la revendication 15, caractérisé en ce que le message d'interruption inclut des informations indiquant au deuxième appareil le prochain paquet de données à transmettre au premier appareil.Apparatus according to claim 15, characterized in that the interrupt message includes information indicating to the second apparatus the next data packet to be transmitted to the first apparatus. 17. Dispositif selon l'une des revendications 14 à 16, caractérisé en ce 20 que le premier appareil comporte: - des moyens de comparaison de la taille de l'espace mémoire non lu par le premier appareil pour le stockage de paquets de données vidéo avec un seuil TH défini de la façon suivante: TH=min(RFxFRxN,KxBS), o RF désigne le rapport de la taille maximale de l'espace mémoire sur le nombre total d'images constituées par l'ensemble des paquets de données vidéo à transmettre du deuxième appareil au premier appareil, FR est le nombre d'images par seconde, N et K sont des constantes et BS désigne la taille maximale de l'espace mémoire, - des moyens de décision quant à la transmission, en direction du deuxième appareil, d'un message de reprise de la transmission de paquets de données vers le premier appareil, en fonction du résultat de la comparaison.  17. Device according to one of claims 14 to 16, characterized in that the first apparatus comprises: means for comparing the size of the memory space not read by the first apparatus for storing video data packets with a threshold TH defined in the following way: TH = min (RFxFRxN, KxBS), where RF denotes the ratio of the maximum size of the memory space to the total number of images constituted by all the video data packets to transmit the second device to the first device, FR is the number of frames per second, N and K are constants and BS is the maximum size of the memory space, - means of decision as to the transmission, in the direction of second apparatus, a message for resuming the transmission of data packets to the first device, depending on the result of the comparison. 18. Dispositif selon la revendication 17, caractérisé en ce que le premier appareil comporte des moyens de transmission, en direction du deuxième appareil, d'un message de reprise de la transmission de paquets de données (RESTART) vers le premier appareil, lorsque la taille de l'espace mémoire non lu dans le premier appareil est inférieure au seuil TH.  18. Device according to claim 17, characterized in that the first apparatus comprises means for transmitting, in the direction of the second apparatus, a message for resuming the transmission of data packets (RESTART) to the first apparatus, when the Unread memory space size in the first device is below TH threshold. 19. Dispositif de gestion des transmissions de paquets de données multimédia 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 la source comporte des moyens de réception en provenance 10 d'un appareil d'un message dit d'interruption (PAUSE) visant à interrompre de façon temporaire la transmission de paquets de données de la source vers cet appareil, ce message signifiant que la taille du dernier paquet de données reçu par cet appareil était supérieure à la taille de l'espace mémoire disponible dans cet appareil pour le stockage de paquets.  19. Device for managing transmissions of multimedia data packets between a data source and several communication devices connected to this source via a communication network, characterized in that the source comprises receiving means from 10 of a device of an interrupt message (PAUSE) for temporarily interrupting the transmission of data packets from the source to this device, this message meaning that the size of the last packet of data received by this device was greater than the size of the available memory space in this device for packet storage. 20. Dispositif selon la revendication 19, caractérisé en ce que la source comporte des moyens de décision de la transmission d'un paquet de données à l'appareil dont provient le message d'interruption et qui tiennent notamment compte du délai cumulé (OFFSET) pendant lequel l'appareil n'a pas reçu de paquets de données de la source suite à la transmission par cet appareil d'un ou de plusieurs 20 messages d'interruption.  20. Device according to claim 19, characterized in that the source comprises means for deciding the transmission of a data packet to the apparatus from which the interrupt message is derived and which notably take into account the cumulative delay (OFFSET). during which the apparatus has not received any data packets from the source as a result of transmission by this apparatus of one or more interrupt messages. 21. Dispositif selon la revendication 20, caractérisé en ce que la source comporte des moyens d'affectation préalable à l'appareil concerné d'une priorité (Pc) en fonction notamment du délai cumulé (OFFSET) de cet appareil, les moyens de décision tenant compte de cette priorité.  21. Device according to claim 20, characterized in that the source comprises means for prior assignment to the concerned apparatus of a priority (Pc) depending in particular on the cumulative delay (OFFSET) of this apparatus, the decision means taking into account this priority. 22. Dispositif selon la revendication 20 ou 21, caractérisé en ce que la source comporte des moyens de détermination à l'instant courant (ta) d'un paramètre appelé marge (ta), représentatif d'une qualité de services proposée à l'appareil, et qui s'écrit: marge (ta) = to + OFFSET + tp - ta, o to correspond à l'instant o l'appareil s'est connecté à la source de données et tp correspond à 30 l'instant auquel au moins un paquet de données doit être visualisé par l'appareil.  22. Device according to claim 20 or 21, characterized in that the source comprises means for determining at the current time (ta) a parameter called margin (ta), representative of a quality of services offered to the user. device, and which is written: margin (ta) = to + OFFSET + tp - ta, where o corresponds to the moment when the device has connected to the data source and tp corresponds to the instant at which at least one data packet must be viewed by the device. 23. Dispositif selon la revendication 22, caractérisé en ce que la source comporte: - des moyens de détermination 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 proposée à l'appareil à deux instants différents ta et tb, avec ta > tb, - des moyens d'affectation à l'appareil d'une priorité en fonction du paramètre variation précédemment déterminé.  23. Device according to claim 22, characterized in that the source comprises: - means for determining a parameter called variation which is written: variation = margin (ta) - margin (tb), o margin (ta) and margin (tb) are the parameters representative of the quality of services offered to the device at two different times ta and tb, with ta> tb, - means for assigning the device a priority according to the parameter variation previously determined. 24. Dispositif selon l'une des revendications 19 à 23, caractérisé en ce qu'un message d'interruption inclut des informations indiquant à la source le 10 prochain paquet de données à transmettre à l'appareil qui a transmis ce message.  24. Apparatus according to one of claims 19 to 23, characterized in that an interrupt message includes information indicating to the source the next data packet to be transmitted to the apparatus which transmitted this message. 25. Dispositif selon l'une des revendications 19 à 24, caractérisé en ce que la source comporte: - des moyens de stockage des paquets de données à transmettre, un pointeur visant le dernier paquet transmis, - des moyens de réception, en provenance d'un appareil, d'un message (RESTART) de reprise de la transmission de paquets de données de la source vers cet appareil, - des moyens de repositionnement du pointeur sur le paquet de données qui est à transmettre à l'appareil.  25. Device according to one of claims 19 to 24, characterized in that the source comprises: - storage means of data packets to be transmitted, a pointer to the last transmitted packet, - receiving means, from an apparatus, a message (RESTART) for resuming the transmission of data packets from the source to this apparatus, - means for repositioning the pointer to the data packet to be transmitted to the apparatus. 26. Dispositif de gestion des transmissions de paquets de données multimédia 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 la source comporte des moyens de transmission de paquets de données à un ou plusieurs appareils en tenant compte notamment, pour chaque 25 appareil, du délai cumulé (OFFSET) pendant lequel l'appareil n'a pas reçu de paquets de données de la source suite à la transmission par cet appareil d'un ou de plusieurs messages d'interruption, de tels messages visant à interrompre de façon temporaire la transmission de paquets de données par la source.  Device for managing the transmission of multimedia data packets between a data source and a plurality of communication devices connected to this source via a communication network, characterized in that the source comprises means for transmitting packets. to one or more devices, taking into account, in particular for each device, the cumulative delay (OFFSET) during which the device did not receive data packets from the source following the transmission by this apparatus of a or several interrupt messages, such messages to temporarily interrupt the transmission of data packets by the source. 27. Appareil de communication, caractérisé en ce qu'il comporte un 30 dispositif de gestion des transmissions selon l'une des revendications 14 à 18.  27. Communication device, characterized in that it comprises a transmission management device according to one of claims 14 to 18. 28. Appareil de communication, caractérisé en ce qu'il comporte un dispositif de gestion des transmissions selon l'une des revendications 19 à 25.  28. Communication device, characterized in that it comprises a transmission management device according to one of claims 19 to 25. 29. Appareil de communication, caractérisé en ce qu'il comporte un dispositif de gestion des transmissions selon la revendication 26.  29. Communication device, characterized in that it comprises a transmission management device according to claim 26. 30. Moyen de stockage d'informations lisible par un ordinateur ou un microprocesseur comportant des instructions de code d'un programme d'ordinateur 5 pour l'exécution des étapes du procédé de gestion des transmissions selon l'une des revendications 1 à 5.  A computer-readable or microprocessor-readable information storage means having code instructions of a computer program for carrying out the steps of the transmission management method according to one of claims 1 to 5. 31. 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 10 des revendications 6 à 12.  31. A computer-readable or microprocessor-readable information storage means having code instructions of a computer program for performing the steps of the transmission management method according to one of claims 6 to 12. 32. 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 la revendication 13.  32. A computer-readable or microprocessor-readable information storage means having code instructions of a computer program for performing the steps of the transmission management method according to claim 13. 33. 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 à 5.  33. Removable, partially or completely readable information storage medium by a computer or a microprocessor comprising code instructions of a computer program for carrying out the steps of the transmission management method according to one of the claims. 1 to 5. 34. Moyen de stockage d'informations amovible, partiellement ou 20 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 6 à 12.  34. Removable, partially or fully readable information storage medium by a computer or microprocessor including code instructions of a computer program for executing the steps of the transmission management method according to one of the Claims 6 to 12. 35. Moyen de stockage d'informations amovible, partiellement ou totalement lisible par un ordinateur ou un microprocesseur comportant des 25 instructions de code d'un programme d'ordinateur pour l'exécution des étapes du procédé de gestion des transmissions selon la revendication 13.  35. Removable, partially or fully computer readable information medium or microprocessor comprising code instructions of a computer program for performing the steps of the transmission management method according to claim 13. 36. 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 oeuvre les étapes du procédé de 30 gestion des transmissions selon l'une des revendications 1 à 5, lorsque ce programme d'ordinateur est chargé et exécuté par l'appareil programmable.  36. Computer program loadable in a programmable apparatus, characterized in that it comprises sequences of instructions or portions of software code to implement the steps of the transmission management method according to one of claims 1 at 5, when this computer program is loaded and executed by the programmable device. 37. 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 oeuvre les étapes du procédé de gestion des transmissions selon l'une des revendications 6 à 12, lorsque ce programme d'ordinateur est chargé et exécuté par l'appareil programmable.  37. Computer program loadable in a programmable apparatus, characterized in that it comprises sequences of instructions or portions of software code to implement the steps of the transmission management method according to one of claims 6 to 12, when this computer program is loaded and executed by the programmable apparatus. 38. 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 oeuvre les étapes du procédé de gestion des transmissions selon la revendication 13, lorsque ce programme 10 d'ordinateur est chargé et exécuté par l'appareil programmable.  38. Computer program loadable in a programmable apparatus, characterized in that it comprises sequences of instructions or portions of software code to implement the steps of the transmission management method according to claim 13, when this program 10 computer is loaded and executed by the programmable device.
FR0304283A 2003-04-07 2003-04-07 METHOD AND DEVICE FOR MANAGING TRANSMISSIONS OF DATA PACKETS BETWEEN AT LEAST TWO COMMUNICATION DEVICES Expired - Fee Related FR2853483B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR0304283A FR2853483B1 (en) 2003-04-07 2003-04-07 METHOD AND DEVICE FOR MANAGING TRANSMISSIONS OF DATA PACKETS BETWEEN AT LEAST TWO COMMUNICATION DEVICES

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0304283A FR2853483B1 (en) 2003-04-07 2003-04-07 METHOD AND DEVICE FOR MANAGING TRANSMISSIONS OF DATA PACKETS BETWEEN AT LEAST TWO COMMUNICATION DEVICES

Publications (2)

Publication Number Publication Date
FR2853483A1 true FR2853483A1 (en) 2004-10-08
FR2853483B1 FR2853483B1 (en) 2005-07-15

Family

ID=32982280

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0304283A Expired - Fee Related FR2853483B1 (en) 2003-04-07 2003-04-07 METHOD AND DEVICE FOR MANAGING TRANSMISSIONS OF DATA PACKETS BETWEEN AT LEAST TWO COMMUNICATION DEVICES

Country Status (1)

Country Link
FR (1) FR2853483B1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5822524A (en) * 1995-07-21 1998-10-13 Infovalue Computing, Inc. System for just-in-time retrieval of multimedia files over computer networks by transmitting data packets at transmission rate determined by frame size
US6292834B1 (en) * 1997-03-14 2001-09-18 Microsoft Corporation Dynamic bandwidth selection for efficient transmission of multimedia streams in a computer network
WO2002045372A2 (en) * 2000-11-29 2002-06-06 British Telecommunications Public Limited Company Transmitting and receiving real-time data

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5822524A (en) * 1995-07-21 1998-10-13 Infovalue Computing, Inc. System for just-in-time retrieval of multimedia files over computer networks by transmitting data packets at transmission rate determined by frame size
US6292834B1 (en) * 1997-03-14 2001-09-18 Microsoft Corporation Dynamic bandwidth selection for efficient transmission of multimedia streams in a computer network
WO2002045372A2 (en) * 2000-11-29 2002-06-06 British Telecommunications Public Limited Company Transmitting and receiving real-time data

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
CHANG E ET AL: "MEDIC: a memory and disk cache for multimedia clients", MULTIMEDIA COMPUTING AND SYSTEMS, 1999. IEEE INTERNATIONAL CONFERENCE ON FLORENCE, ITALY 7-11 JUNE 1999, LOS ALAMITOS, CA, USA,IEEE COMPUT. SOC, US, 7 June 1999 (1999-06-07), pages 493 - 499, XP010342783, ISBN: 0-7695-0253-9 *
SCHULZRINNE H ET AL: "Real Time Streaming Protocol (RTSP)", INTERNET ENGINEERING TASK FORCE INTERNET DRAFT, XX, XX, 2 February 1998 (1998-02-02), pages 1 - 74, XP002254587 *
ZIMMERMANN, FU,SHAHABI, YAO, ZHU: "Yima: Design and evaluation of a streaming media system for residential broadband services", PROCEEDINGS VLDB01 WORKSHOP DATABASES IN TELECOMMUNICATION, 10 September 2001 (2001-09-10) - 14 September 2001 (2001-09-14), Roma, Italy, XP002268318 *

Also Published As

Publication number Publication date
FR2853483B1 (en) 2005-07-15

Similar Documents

Publication Publication Date Title
EP3949434A1 (en) Method for broadcasting streaming content in a peer-to-peer network
FR2851389A1 (en) Multimedia queries managing process for use in client server type architecture, involves dynamically allocating priority at every valid query, and making decision based on priority allocated to query for transmitting valid query
EP2947888A1 (en) Adaptive method for downloading digital content for a plurality of screens
FR2893470A1 (en) METHOD AND DEVICE FOR CREATING A VIDEO SEQUENCE REPRESENTATIVE OF A DIGITAL VIDEO SEQUENCE AND METHODS AND DEVICES FOR TRANSMITTING AND RECEIVING VIDEO DATA THEREOF
WO2019220034A1 (en) Management of adaptive progressive download of a digital content within a restoration terminal of a local communication network
FR2853483A1 (en) Multimedia data e.g. video, packet transmission managing process, involves transmitting interruption message to client device, when size of data packet received from client device is greater than available memory space in server
WO2021089942A1 (en) Method for managing zapping of digital multimedia contents obtained by http adaptive streaming (has), and corresponding management device, multimedia stream reader and computer program
FR3005386A1 (en) METHOD AND DEVICE FOR PROVIDING A PART ALREADY DIFFUSED FROM A MULTIMEDIA STREAM, USER TERMINAL, CORRESPONDING COMPUTER PROGRAM AND MEDIUM STORAGE MEDIUM
EP4035408A1 (en) Management of adaptive streaming of an item of digital content over a mobile network with selection of a maximum authorized encoding rate on the basis of a data bucket
EP3987820A1 (en) Method for managing adaptive progressive downloading (has) of digital content which is broadcast in real time, corresponding administrator, multimedia stream player terminal and computer program
EP3926929B1 (en) Process for managing the playback of digital content within a multimedia content player terminal connected to a restitution device
EP2077017A1 (en) Method of memory management in a client terminal, corresponding signal, computer program and terminal
EP3092777B1 (en) Method of processing the restitution error in respect of a digital content
FR3069996B1 (en) METHOD FOR READING A DIGITAL MULTIMEDIA STREAM WITH QUICK ACCESS TO THE CLEAR CONTENT AND USE DEVICE
WO2023208688A1 (en) Management of the rendering of an item of multimedia content
FR2838588A1 (en) Communications network digital word transmission management having service quality estimated time packet appearing and priority assigned following estimation function.
WO2021209706A1 (en) Management of access to digital content available via progressive and adaptive streaming and encoded using a variable bit rate encoding method, depending on a network load
FR3093603A1 (en) A method of accelerated browsing of digital content obtained by adaptive progressive download (HAS), manager, media player and corresponding computer program.
FR3093605A1 (en) A method of accelerated browsing of digital content obtained by adaptive progressive download (HAS), manager, media player and corresponding computer program.
EP4109905A1 (en) Management of the adaptive progressive downloading of digital content in screen saver mode
WO2020234030A1 (en) Rendering of background or insertion content as part of an adaptive progressive download (has)
FR3103668A1 (en) Management of the adaptive progressive download of digital content over the mobile network with determination of a maximum encoding rate allowed over a session based on a bucket of data
EP3840391A1 (en) Management of the reproduction of multimedia content and a navigation interface on a screen
FR3114719A1 (en) Method for managing the reading of digital content within a multimedia content player terminal connected to a rendering device
FR3128084A1 (en) method for managing the playback of multimedia content.

Legal Events

Date Code Title Description
ST Notification of lapse

Effective date: 20131231