Brevet FR2875985A1 — publié le 20060331

Domaine de l'invention La présente invention concerne un procédé de transmission de données selon lequel on répartit des données à transmettre en au moins deux paquets de données, les paquets de données étant transmis par au moins deux modes de transmission, une association existant entre les paquets de données, et les modes de transmission de façon à associer à chaque paquet de données un mode de transmission. L'invention concerne également un dispositif pour la mise en oeuvre de ce procédé, un programme d'ordinateur pour son exécution ainsi qu'un produit en tant que programme d'ordinateur. Etat de la technique On se référera ci-après principalement à l'optimisation de la transmission des données en temps réel selon Standard IEEE 1394 [IEEE Std 1394-1995, Standard for a High Performance Serial Bus] et ses extensions [IEEE Project P1394a, Draft Standard for a High Performance Serial Bus (Supplement) : IEEE Project P1394b, Draft Standard for a High Performance Serial Bus (Supplement)]. Toutefois le procédé n'est pas limité à cette application ou à ce standard. Le Standard IEEE 1394 qui implémente l'architecture CSR (Control and status register) [ISO/IEC 13213:1994, Control and Status Register (CSR) Architecture for Microcomputer Buses]. Le bus série selon le standard IEEE 1394b permet la communication entre les noeuds ou les participants au travers de milieux physiques différents à des vitesses allant de 100 à 3200Mbps (Mégabits par seconde). Le bus IEEE 1394 est un bus série dans lequel les bits de données sont transmis successivement dans le temps (c'est-à-dire en série). A la fois les applications d'électroniques domestiques tel-les que les caméras numériques, les appareils d'enregistrement vidéo et audio ou les téléviseurs ainsi que les applications traditionnelles sur ordinateur telles que les lecteurs de bandes, les imprimantes, les numérateurs ou les supports de mémoire offrent en partie des liaisons de données selon le standard IEEE 1394. Le bus IEEE 1394 forme une base reliant ces deux domaines. La couche de liaison IEEE 1394 permet la transmission de données par paquets à la fois avec accusé réception et aussi sous forme de paquets de données sans accusé réception. Dans le cas du transfert de données confirmé, on envoi des paquets qui comportent l'adresse de l'émetteur et celle du destina-taire ou récepteur. Le destinataire envoie un paquet de confirmation vers l'émetteur en retour après avoir reçu le paquet. Dans le cas d'un transfert non confirmé, il faut un canal de transmission entre l'émetteur et le récepteur ayant une certaine largeur de bande pour le gestionnaire de ressource isochrone [Isochron Ressource Manager (IRM)]. Une identité de canal ID est associée de manière univoque à ce canal. Lors d'une transmission de données, l'émetteur transmet les paquets de données avec l'information ID du canal et les données. Le récepteur n'accepte les paquets qu'avec cette information ID de canal. La transmission non confirmée de paquets permet de transmettre des paquets de données dans une fenêtre de temps prédéfinie; la transmission de paquets avec confirmation permet un envoi garanti indépendamment du temps nécessaire. La transmission des données se fait de manière cyclique. Dans chaque cycle, une phase de transmission isochrone est suivie par une phase de transmission asynchrone. Dans chaque cycle on transmet des paquets de données. Les paquets de données qui se correspondent même de plusieurs cycles, s'additionnent aux flux de données. Dans le mode de transmission de données asynchrone, la transmission peut commencer à n'importe quel moment. La taille des paquets de données peut être fixe ou variable. La transmission de données isochrone est une forme particulière de la transmission de données asynchrone. Ce type de transmission garantit la transmission à l'intérieur d'une période définie. Les paquets confirmés sont toujours transmis de manière asynchrone selon IEEE 1394; les paquets de données non confirmés sont transmis de manière asynchrone ou isochrone. En outre, dans le cas des paquets transmis en phase isochrone, il s'agit toujours de pa- guets non confirmés. Dans la phase isochrone d'une transmission selon IEEE1394, on transmet les données des canaux isochrones actifs (IC). Le nombre des données est défini par la quantité réelle de données se trouvant dans les tampons d'émission correspondants de l'émetteur. Cette quantité ne doit pas être par canal supérieure à la vitesse de données réservée dans IRM. Cela garantit que chaque appareil puisse échanger des données sans être interrompu. La phase isochrone ne doit pas occuper au maximum plus de 80 % du cycle respectif. Le reste de la largeur de bande non occupée par la phase isochrone est disponible en outre pour la phase asynchrone. En phase asynchrone, tous les noeuds de réseau qui souhaitent envoyer des données asynchrones accèdent au bus. Par des mécanismes d'arbitrage spéciaux, ces noeuds accèdent au bus. La phase asynchrone se termine après une durée fixe indépendamment de ce que tous les noeuds concernés aient pu envoyer leurs données asynchrones. Un exemple de paquets non confirmés qui sont transmis en phase asynchrone sont les paquets (GASP) c'est-à-dire des paquets de flux asynchrones global (Global Asynchronous Stream Packets) se faisant dans le cas de transfert IP (Protocole Internet) par un bus IEEE 1394. [The Internet Task Force, IPv4 over IEEE 1394 , Request for Comments (RFC) 2734]. Pour une telle transmission, un mode de transmission est associé à chaque paquet; dans l'exemple du standard IEEE 1394 c'est-à-dire le mode de transmission habituel non confirmé il s'agit du mode de transmission isochrone et pour le mode GASP et les paquets confirmés il s'agit du mode de transmission asynchrone utilisant un émetteur et un ou plusieurs récepteurs par (exemple émission). Les systèmes multimédias qui offrent des services à la demande (par exemple la radio par le Protocole Interner IP), il faut géné- rer pour chaque récepteur un flux de données particulier et le transmettre. Comme cela n'est possible que de façon limitée avec les capacités isochrones des bus IEEE 1394, on dispose de procédés reposant sur des paquets à base du protocole IP utilisant le protocole (UDP) (User Datagram Protocol) et le protocole (TCP) (Transmission Control Pro- tocol). Ensuite, on peut transmettre par le protocole (RTP) (Real Time Protocol) ou le protocole (RTSP) (Real Time Streaming). Il existe un grand nombre d'applications qui utilise les protocoles RTP ou RTSP. Si pour cette transmission de données on utilise un bus IEEE 1394, on transmet des datagrammes TCP sous forme de paquets isochrones et des data- grammes UDP sous forme de paquets GASP. Si d'autres appareils ou applications raccordés au bus IEEE 1394, et changent un grand nombre de données asynchrones, il peut arriver qu'on ne puisse transmettre tous les paquets GASP car il n'y a pas de réservation de largeur de bande pour ceux-ci. io But de l'invention Vis-à-vis de cet état de la technique, la présente invention se propose de développer un procédé de transmission de données ainsi qu'un dispositif utilisant ce procédé et enfin un programme d'ordinateur correspondant et un programme d'ordinateur en tant que produit. Exposé et avantages de l'invention A cet effet l'invention concerne un procédé de transmission de données du type défini ci-dessus, caractérisé en ce qu'au moins un paquet de données auquel est associé un premier mode de transmission est transmis en utilisant le second mode de transmission. Ainsi, selon le procédé de transmission de l'invention, les données transmises sont réparties en au moins deux paquets de don-nées. Les paquets de données sont transmis par au moins deux modes de transmission et il existe une association entre les paquets de don-nées et les modes de transmission de sorte qu'un mode de transmission est associé à chaque paquet de données. Selon l'invention, on transmet suivant un second mode de transmission, au moins un paquet auquel est associé un premier mode de transmission. De façon avantageuse le procédé de transmission de données comporte deux types de transmission de données par lesquels on transmet les paquets de données. Cela permet de limiter les moyens mis en oeuvre pour l'implémentation. De façon avantageuse, un type ou mode de transmission du procédé de transmission de données est le mode de transmission isochrone et l'autre mode de transmission est le mode de transmission asynchrone. Ces deux modes de transmission font partie des modes de transmission de données les plus importants et peuvent s'appliquer également au procédé présenté ici. Selon une forme préférentielle du procédé de l'invention, on transmet de manière isochrone un paquet de données associé au mode de transmission asynchrone. Selon un développement particulièrement avantageux du procédé de l'invention, on transmet au moins un paquet de données GASP dans un intervalle de temps ou cycle par transmission isochrone. La structure interne d'un paquet de données GASP correspond à un pa- quet de données habituellement non confirmé et peut être transmis sans mettre en oeuvre des moyens d'implémentation importants en phase isochrone avec les paquets non confirmés habituels. Selon un mode de réalisation préférentiel du procédé de l'invention pour la transmission des données au moins un paquet de données et notamment un paquet de données GASP contient des don-nées pour au moins deux récepteurs et/ou venant d'au moins deux émetteurs. De manière générale, à chaque paquet de données est associé un émetteur et/ou un récepteur et le nombre possible de paquets à transmettre par intervalle de temps est limité. Si un paquet de données contient des données pour plusieurs récepteurs et/ou venant de plu-sieurs émetteurs, cela permet de mieux utiliser la période de temps disponible. Selon un mode de réalisation particulièrement avantageux du procédé de l'invention, le procédé est effectué sur un bus de données selon le standard ou norme IEEE 1394. Pour la transmission des données vers un ou plusieurs récepteurs, un émetteur réserve un ou plusieurs canaux isochrones de largeur de bande nécessaire pour le protocole IRM et le nombre des récepteurs et le nombre des canaux ne sont pas nécessairement mis en corrélation. Il est également possible que plusieurs émetteurs se partagent un ou plusieurs canaux réservés. Il est également possible que plusieurs récepteurs se partagent un ou plusieurs canaux réservés. Les données utiles par exemple des données audio et/ou vidéo sont transmises par ces canaux isochrones en paquet de données GASP comme datagrammes UDP. Chaque récepteur reçoit alors l'ensemble du flux de données isochrone du canal qui lui est attribué. Le récepteur reconnaît dans les datagrammes UDP, à l'aide de l'adresse de récepteur, les datagrammes UDP ou de manière générale les paquets IP du paquet de données GASP qui lui sont destinés. La gestion de la transmission des données se fait par des datagrammes IP qui sont des paquets asynchrones transmis par le bus. Ce mode de réalisation particulièrement avantageux du procédé de l'invention permet une transmission de données de paquets de données GASP avec la largeur de bande garantie de la transmission isochrone. Un dispositif selon l'invention exécute toutes les étapes du procédé de l'invention. Le programme d'ordinateur selon l'invention avec des moyens de code de programme est conçu pour exécuter toutes les étapes du procédé de l'invention lorsque ce programme d'ordinateur est exécuté sur un ordinateur ou une unité de calcul appropriée notam- ment un dispositif selon l'invention. Le programme d'ordinateur selon l'invention en tant que produit avec les moyens de code de programme enregistré sur un support de données qui peut être lu par un ordinateur assure l'exécution du procédé de l'invention lorsque ce programme d'ordinateur est exécuté sur un ordinateur ou une unité de calcul appropriée notamment un dispositif selon l'invention. Dessins La présente invention sera décrite ci-après de manière plus détaillée à l'aide d'un exemple de réalisation représenté schématiquement dans les dessins annexés dans lesquels: - la figure 1 est une vue schématique d'un cycle de transmission de données selon un mode de réalisation préférentiel du procédé de l'invention, - la figure 2 est une vue schématique d'un envoi de données selon un mode de réalisation préférentiel du procédé de l'invention, - la figure 3 est une vue schématique d'une réception de données selon un mode de réalisation préférentiel du procédé de l'invention, - la figure 4 est une vue schématique d'un cycle de transmission de données selon un mode de réalisation préférentiel du procédé de l'invention. Description d'un mode de réalisation de l'invention Selon la figure 1, un cycle de transmission de données porte globalement la référence 100. La figure montre le déroulement de la transmission des données en fonction du temps (t). La transmission des données commence par la phase isochrone (phase iso) 101 suivie de la phase asynchrone (phase asynch) 102. Chaque cycle commence à un instant périodique c'est-à-dire de départ 103, 103'. Dans la première phase du cycle 100 c'est-à-dire la phase isochrone 101, on transmet avec une largeur de bande garantie tout d'abord des paquets de données sans confirmation par les canaux isochrones 104 portant les références IC 1...IC 6. Ensuite, dans la phase asynchrone 102, on transmet les paquets confirmés AP 106 et non confirmés GASP 105'. La somme des paquets correspondant de cycles successifs est appelée flux de données. Aucune largeur de bande réservée n'est attribuée à la phase asynchrone. Puis, dans la phase isochrone 101 du cycle 100 on transmet un paquet de données GASP 105. Cette transmission dans la phase isochrone 101 permet d'attribuer une largeur de bande réservée aux paquets de données GASP 105. Pour mieux utiliser la largeur de bande disponible, il est possible de regrouper plusieurs datagrammes UDP 107 dans un paquet de données GASP 105. Les datagrammes UDP 107 peuvent être destinés à un ou plusieurs récepteurs et/ou être émis par un ou plusieurs émetteurs. Cet exemple de réalisation montre la transmission préfé- rentielle d'un paquet de données GASP 105 dans la phase isochrone 101 ainsi que la transmission connue d'un datagramme UDP 105' dans la phase asynchrone 102. La figure 2 montre l'implémentation préférentielle du pro-cédé de l'invention dans un bus IEEE 1394. Le bus IEEE 1394 porte la référence 200. La figure montre les deux couches inférieures du proto- cole selon le modèle de référence de base de l'Organisation de Normalisation Internationale (ISO) Open Systems Interconnect Reference Model (OSI): den Physical Layer PHY 205 und den Linklayer (LLC) 204. La PHY 205 représente la liaison électrique et mécanique entre l'appareil et le bus IEEE 1394, 200. A côté des missions de transmission et de réception de données actuelles, la PHY 205 offre des décisions pour s'assurer que tous les appareils (non représentés) ont un accès approprié au bus IEEE 1394 200. La LLC 204 représente les deux modes de transmission de données c'est-àdire le mode asynchrone et le mode isochrone. Lors de la transmission des données on fournit un ou plusieurs paquets de données 201 appelées 1..n comme datagramme UDP au multiplexeur (MUX) 202. Le multiplexeur MUX 202 regroupe les datagrammes UDP en un paquet de données GASP 203. Ce paquet de données GASP 203 est transmis à la LLC 204. La LLC 204 représente pour le paquet de données GASP 203 une liaison isochrone. Le paquet de données GASP est transmis par la PHY 205 au bus IEEE 1394, 200. Pour une transmission préférentielle de données on regroupe un ou plusieurs paquets de données 201 en un paquet de don- nées GASP 203. Les paquets de données 201 peuvent 101 peuvent être dirigés vers plusieurs récepteurs (destinataires) différents (non représentés) et/ou venir de plusieurs émetteurs différents (non représentés). Ce développement du procédé de l'invention permet de mieux utiliser la largeur de bande disponible car il n'est pas nécessaire de réserver un canal propre pour chaque émetteur et/ ou chaque récepteur. La figure 3 montre un mode de réalisation avantageux d'une réception de données. La couche physique (PHY) 305 représente la liaison électrique et mécanique entre le récepteur et le bus IEEE 1394, 300. La liaison (LLC) 304 est reliée à cette couche et dans le cas présent elle assure les fonctions de réception de données. La LLC 304 reçoit entre autres les données du canal isochrone attribuées au récepteur. Ces données sont de préférence un paquet de données GASP 303 que la liaison LLC 304 transmet au démultiplexeur (DEMUX) 302. Le DEMUX 302 répartit le paquet de données GASP 303 en différents datagrammes UDP (non représentés). Parmi les différentes datagrammes UDP, ce multiplexeur recherche ceux des datagrammes 301 destinés au récepteur. Le démultiplexeur DEMUX 302 transmet ses datagrammes IP 301 à l'unité de traitement (PU) 307 du récepteur. D'autres récepteurs (non représentés) qui sont également attribués à ce canal isochrone reçoivent également toutes les données de ce canal isochrone et classent les datagrammes UDP qui leur sont destinés (non représentés). La figure 4 montre un cycle de transmission de données 400 en fonction du temps (t) composé de la phase isochrone (phase iso) 401 et de la phase asynchrone suivante (phase asynch) 402. Chaque cycle commence à un instant périodique de départ 403, 403'. Dans la première phase du cycle 400 c'est-à-dire la phase isochrone 401, on transmet tout d'abord les paquets de données non confirmés par les canaux isochrones 404; ces canaux portent les références IC 1...IC 6; ces paquets sont transmis avec une largeur de bande garantie. Ensuite, dans la phase asynchrone 402, on transmet les paquets confirmés AP 406 et non confirmés GASP 405'. Aucune largeur de bande réservée n'est attribuée à la phase asynchrone. On transmet ensuite un paquet de données GASP 405 dans la phase asynchrone 401 du cycle 400. Cette transmission dans la phase isochrone 401 permet d'attribuer une largeur de bande réservée au paquet de données GASP 405. Dans le mode de réalisation préférentiel représenté, on regroupe plusieurs datagrammes UDP 407, 407', 407" d'émetteurs différents dans un paquet de données GASP 405. A chaque émetteur associé comporte la couche physique (PHY) 415, 415', 415" et la liaison (LLC) 414, 414', 414". Les applications 412, 412', 412" exécutées dans les émetteurs respectifs représentent par cycles de transmission, les don-nées UDP 413, 413', 413" qu'il faut transmettre par les liaisons LLC et les couches PHY au bus IEEE 1394, 410. Lorsqu'on atteint l'instant de la transmission du canal réservé dans lequel on transmet les paquets de données GASP 405, le lo premier émetteur fournit ses datagrammes UDP 407 au bus IEEE1394, 410. Ensuite, le second émetteur fournit ses données 407'. Ce procédé est répété jusqu'à ce que le dernier émetteur associé ait fourni ses données 407". Lorsque l'un des émetteurs associés au cycle actuel n'a pas de données à transmettre, il n'en fournit pas. Ensuite, le canal isochrone IC 6 et la phase isochrone 402 sont traités. La figure 4 montre la transmission préférentielle d'un paquet de données GASP 405 dans la phase isochrone 401 ainsi que la transmission connue d'un paquet de données GASP 405' dans la phase asynchrone 402, les datagrammes UDP 407, 407', 407" composant le paquet de données GASP 405 venant d'émetteurs différents. REVENDICATIONS 1 ) Procédé de transmission de données selon lequel on répartit des données à transmettre en au moins deux paquets de données (105, 105', 106, 203, 303, 405, 405', 406), les paquets de données (105, 105', 106, 203, 303, 405, 405', 406), étant transmis par au moins deux modes de transmission (101, 102, 401, 402), une association existant entre les paquets de données (105, 105', 106, 203, 303, 405, 405', 406), et les modes de transmission (101, 102, 401, 402) de façon à associer à chaque paquet de données (105, 105', 106, 203, 303, 405, 405', 406), un mode de transmission (101, 102, 401, 402), caractérisé en ce qu' au moins un paquet de données (105, 203, 303, 405, 405', 406) auquel est associé un premier mode de transmission (102, 402) est transmis en utilisant le second mode de transmission (101, 401). 2 ) Procédé selon la revendication 1, caractérisé en ce que les paquets de données (105, 105', 106, 203, 303, 405, 405', 406) sont transmis exactement par deux modes de transmission (101, 102, 401, 402). 3 ) Procédé selon l'une quelconque des revendications 1 ou 2, caractérisé en ce qu' une transmission est un mode de transmission isochrone (101, 401) et l'autre mode de transmission est le mode de transmission asynchrone (102, 402). 4 ) Procédé selon la revendication 3, caractérisé en ce qu' au moins un paquet de données (105, 203, 303, 405) associé au mode de transmission asynchrone (102, 402) est transmis par le mode isochrone (101, 401). 5 ) Procédé selon la revendication 4, caractérisé en ce qu' au moins un paquet de données GASP (105, 203, 303, 405) est transmis de manière isochrone (101, 401). 6 ) Procédé selon la revendication 1, caractérisé en ce qu' au moins un paquet de données (105, 105', 106, 203, 303, 405, 405', 406) contient les données (107, 201, 301, 407, 407', 407") destinées à au moins deux récepteurs et/ou les données (107, 201, 301, 407, 407', 407") d'au moins deux émetteurs. 7 ) Procédé selon la revendication 1, caractérisé en ce qu' il est effectué sur un bus de données selon le standard IEEE 1394 (200, 300, 410) . 8 ) Dispositif pour effectuer toutes les étapes d'un procédé selon l'une quelconque des revendications 1 à 7. 9 ) Programme d'ordinateur comportant des moyens de code de pro-gramme pour effectuer toutes les étapes d'un procédé selon l'une quel-conque des revendications 1 à 7, lorsque le programme d'ordinateur est exécuté sur un ordinateur ou dans une unité de calcul correspondante. 10 ) Programme d'ordinateur en tant que produit comportant des moyens de code de programme enregistré sur un support de données que peut lire un ordinateur pour effectuer toutes les étapes d'un procédé selon l'une quelconque des revendications 1 à 7, lorsque le pro- gramme d'ordinateur en tant que produit est exécuté sur un ordinateur ou sur une unité de calcul correspondante.