Brevet FR2865332A1 — publié le 20050722

La présente invention concerne un procédé de transfert de données entre un premier et un second terminal, et un terminal de télécommunication. Plus précisément l'invention concerne un procédé de transfert de données au cours d'une session de communication entre un premier et un second terminal reliés à un réseau de transmission de données. Un procédé du type précité est généralement utilisé en visioconférence, pour assurer une communication audio et vidéo entre deux terminaux distants reliés entre eux au moyen d'un réseau de transmission de données. Les données audio et vidéo sont transmises par le biais d'un canal de transmission ouvert entre les deux terminaux à l'occasion de l'établissement de la session de communication entre les deux terminaux. Classiquement, le canal de transmission de données audio et vidéo utilise un protocole de transmission de données en temps réel comme par exemple le protocole RTP. En effet, les protocoles connus de visioconférence privilégient généralement le délai de transmission des données audio et vidéo, parfois au détriment de la qualité de la transmission. Outre des données audio et vidéo, les utilisateurs des terminaux de visioconférence peuvent avoir besoin de se transmettre d'autres types de données numériques comme par exemple des fichiers informatiques. Contrairement aux données audio et aux données vidéo, les fichiers informatiques ne tolèrent pas de perte de données au cours de la transmission entre deux terminaux. En effet, ces fichiers informatiques doivent parvenir au terminal récepteur dans leur intégrité sous peine de ne pas être utilisables par ces terminaux. Un procédé de transfert de données du type précité n'est donc pas adapté au transfert simultané de données numériques audio, vidéo et de fichiers informatiques. Une première solution connue consiste à transmettre les fichiers informatiques en utilisant un protocole de transmission fiable mais différent du protocole de transmission des fichiers audio et/ou vidéo. On connaît par exemple des logiciels de visioconférence qui utilisent le protocole RTP pour transmettre des données audio et vidéo, et le protocole T120, qui est un protocole fiable, pour transmettre des données autres. Un des inconvénients de cette solution est que parfois, les équipements intermédiaires de visioconférence comme les pare-feux n'autorisent pas les communications utilisant d'autres protocoles que le protocole de transmission des fichiers audio et/ou vidéo pour lesquels ils sont conçus. Une autre solution connue consiste à utiliser un protocole utilisant une redondance des paquets émis pour limiter le risque d'erreurs de transmission. Cependant, ce type de protocole n'est jamais totalement fiable et nécessite un haut débit de transmission. L'invention a pour but de remédier à ces inconvénients en fournissant un procédé de transfert de données compatible avec la majorité des terminaux de visioconférence existants et permettant de transmettre de manière simple et fiable des données numériques audio et vidéo ainsi que des données numériques autres que des données numériques audio ou vidéos ne tolérant aucune erreur de transmission. A cet effet, l'invention a pour objet un procédé de transfert de données au cours d'une session de communication entre un premier et un second terminal reliés à un réseau de transmission de données, caractérisé en ce qu'on ouvre au moins un canal de transmission de données numériques autres que des données numériques audio et/ou vidéo entre les deux terminaux selon un premier protocole de transmission de données en temps réel et selon un second protocole de contrôle de fiabilité de la transmission, différent du premier protocole. Le procédé de transfert de données selon l'invention permet de transmettre de manière simple et fiable des données autres que des données audio et vidéo. En effet, le procédé est simple car il utilise un protocole de transmission de données en temps réel couramment utilisé en visioconférence, et ce procédé est fiable car il utilise en outre un protocole de contrôle de la fiabilité de la transmission des données numériques autres que des données numériques audio et vidéo. De façon optionnelle, on ouvre en outre au moins un canal supplémentaire de transmission de données numériques audio et/ou vidéo entre les deux terminaux selon le premier protocole de transmission de données en temps réel. Selon un mode de réalisation particulier, le procédé comporte une étape d'établissement de la session de communication au cours de laquelle on ouvre le canal de transmission de données numériques. Certains équipements utilisés en visioconférence comme par exemple des pare-feux, n'autorisent pas les connexions entre terminaux qui utilisent des protocoles de transmission complexes et lourds à mettre en oeuvre. Il est donc avantageux que le premier protocole de transmission de données en temps réel soit un protocole de transmission simple, sans contrôle de fiabilité de la transmission. De manière optionnelle, le premier protocole de transmission de données en temps réel utilisé est le protocole RTP. Ce protocole RTP qui est basé sur un protocole UDP est 35 couramment utilisé pour la visioconférence. C'est un protocole de transmission en temps réel non fiable. Selon un mode de réalisation particulier, le protocole de contrôle de fiabilité de la transmission utilise des acquittements et des retransmissions. De manière optionnelle, on ouvre deux canaux unidirectionnels de transmission de données numériques entre les deux terminaux, l'un des deux canaux étant prévu pour le transfert de données depuis l'un des terminaux vers l'autre terminal, et l'autre canal étant prévu pour le transfert d'acquittements en sens inverse. De manière optionnelle, le procédé de transfert de données comporte les étapes suivantes: - le premier terminal transmet via un premier canal unidirectionnel un paquet comportant des données numériques autres que des données numériques audio et/ou vidéo à transférer au second terminal, - le premier terminal déclenche une temporisation, - au bout d'une durée prédéterminée de la temporisation, si le premier terminal n'a pas reçu un message d'acquittement émis par le second terminal via un second canal unidirectionnel, il retransmet via le premier canal unidirectionnel le paquet de données numériques au second terminal. L'invention a également pour objet un terminal de télécommunication adapté pour la transmission de données vers un autre terminal au cours d'une session de communication avec l'autre terminal, caractérisé en ce qu'il comporte des moyens d'ouverture d'au moins un canal de transmission de données numériques autres que des données numériques audio et/ou vidéo entre les deux terminaux selon un premier protocole de transmission de données en temps réel et selon un second protocole de contrôle de fiabilité de la transmission, différent du premier protocole. De manière optionnelle, le terminal comporte en outre des moyens d'ouverture d'au moins un canal supplémentaire de transmission de données numériques audio et/ou vidéo entre les deux terminaux selon le premier protocole de transmission de données en temps réel. L'invention sera mieux comprise à la lecture de la description qui va suivre, donnée uniquement à titre d'exemple et faite en se référant aux dessins annexés dans lesquels: - la figure 1 représente schématiquement une installation pour la mise en oeuvre du procédé selon l'invention; et la figure 2 représente les étapes successives d'un procédé de transfert de données selon l'invention. L'installation représentée sur la figure 1 comporte deux terminaux 10 et 12 adaptés pour l'établissement d'une communication entre ces deux terminaux. La communication est une communication visiophonique permettant l'échange de données audio, vidéo et de données autres, par exemple des fichiers informatiques. Les terminaux 10 et 12 sont reliés entre eux de façon classique, par l'intermédiaire d'un réseau 14 de transmission de données, tel que le réseau Internet. L'installation comprend également un serveur 16 d'établissement de sessions de communication relié à chacun des terminaux 10 et 12 par l'intermédiaire du réseau Internet 14. La fonction du serveur 16 d'établissement de sessions est d'autoriser ou non la création de canaux de communication entre les deux terminaux 10 et 12. Le serveur 16 permet également la localisation des terminaux 10 et 12 en fonction d'identifiants des utilisateurs de ces terminaux. Pour cela, le serveur 16 comprend par exemple une table de conversion entre les adresses IP des terminaux 10 et 12 et les identifiants des utilisateurs. Lors de l'établissement de la session de communication visiophonique, chaque terminal 10 et 12 crée de manière classique un canal d'émission audio, un canal d'émission vidéo, un canal de réception audio et un canal de réception vidéo. Bien entendu, le canal d'émission du terminal 10 est confondu avec le canal de réception du terminal 12 et inversement. Nous noterons CA1 et CA2 les deux canaux audio créés entre les terminaux 10 et 12 et CV1 et CV2 les deux canaux vidéo créés entre les deux terminaux. Les canaux CA1, CA2, CV1 et CV2 utilisent un protocole de transmission de données en temps réel classique par exemple le protocole RTP. Le protocole RTP permet d'établir une transmission de données en temps réel dont la qualité de transmission n'est pas assurée. Le protocole RTP est un protocole de transmission accepté par la majorité des équipements visiophoniques. Par conséquent, il est le plus couramment utilisé. L'invention propose qu'au cours de l'établissement de la session chaque terminal ouvre en outre un canal d'émission de données et un canal de réception de données supplémentaires selon le protocole RTP. Comme pour les canaux audio et vidéo, le canal d'émission de données du terminal 10 est le même que le canal de réception de données du terminal 12 et inversement. Par la suite nous noterons CD1 et CD2 les deux canaux unidirectionnels adaptés pour la transmission de données entre les terminaux 10 et 12. Le canal CD1 est adapté pour la transmission de données depuis le terminal 12 vers le terminal 10 alors que le canal CD2 est adapté pour la transmission de données depuis le terminal 10 vers le terminal 12. Ces deux nouveaux canaux CD1 et CD2 ne sont pas standard mais reposent sur le protocole RTP. Leur création est donc autorisée par le serveur 16 d'établissement de sessions qui n'autorise les transmissions que selon le protocole RTP. Bien entendu, un canal audio, vidéo ou de données peut être créé lors de l'établissement de la session de communication ou bien au cours d'une session déjà établie. De plus, chaque type de canal audio, vidéo ou de données peut être créé indépendamment du type des canaux déjà créés ou en cours de création. Par conséquent, il est possible qu'au cours d'une session de communication visiophonique, seuls des canaux de transmission de données autres que audio et vidéo soient créés. Pour que la transmission de données sur les canaux de transmission CD1 et CD2 soit de bonne qualité, on utilise en outre un protocole de contrôle de fiabilité de la transmission. Le procédé de transfert de données entre les deux terminaux 10 et 12, va maintenant être détaillé en référence à la figure 2. Le protocole de contrôle de la fiabilité de la transmission qui va être décrit est un exemple simple utilisant des retransmissions et des acquittements. Considérons le cas dans lequel le terminal 10 envoie un fichier informatique au terminal 12 par l'intermédiaire des canaux de transmission de données CD1 et CD2. Le fichier informatique est classiquement envoyé sous forme de plusieurs paquets. Pour permettre de reconstituer le fichier informatique à l'aide de tous les paquets, chaque paquet est associé à un numéro de séquence. Lors d'une première étape 20 le terminal 10 envoie par l'intermédiaire du canal CD1 un paquet RTP et son numéro de séquence au terminal 12. Simultanément à cet envoi, le terminal 10 déclenche une temporisation tO associée au numéro de séquence du paquet RTP envoyé. Dans le cas où la transmission s'est correctement déroulée, le terminal 12 reçoit au cours d'une étape 22 le paquet RTP transmis par le terminal 10. A la réception de ce message, le terminal 12 confirme au terminal 10 la bonne réception du paquet RTP. Il envoie pour cela au cours d'une étape 24 un paquet RTP contenant le numéro de séquence du paquet reçu ainsi qu'une commande d'acquittement par l'intermédiaire du canal CD2. A la réception de cette commande d'acquittement, le terminal 10 stoppe, lors d'une étape 26, la temporisation tO du paquet qui a été correctement transmis. Considérons maintenant le cas dans lequel le terminal 12 envoie un autre fichier informatique au terminal 10 en utilisant les canaux CD1 et CD2 de transmission de données. Au cours d'une étape 28, le terminal 12 envoie, via le canal CD2, un paquet RTP relatif au fichier informatique à transmettre ainsi qu'un numéro de séquence. Simultanément à cet envoi, le terminal 12 démarre une temporisation t1. Etant donné que le protocole RTP est un protocole non fiable, il peut arriver que le paquet RTP à transmettre ne parvienne pas à son destinataire. Le cas échéant, au bout d'une durée prédéterminée de la temporisation tl, le terminal 12 n'a pas reçu de message d'acquittement associé au numéro de séquence du paquet envoyé. Le terminal 12 envoie donc à nouveau ce paquet RTP sur le canal CD2 au cours d'une étape 30. Simultanément à cet envoi, il déclenche une nouvelle fois la temporisation t1. Si la transmission est correcte, le terminal 10 reçoit lors d'une étape 32 le paquet RTP envoyé par le terminal 12. Il envoie alors au cours d'une étape 34 un message d'acquittement via le canal CD1. A la réception de ce message d'acquittement, le terminal 12 interrompt la temporisation t1 au cours d'une étape 36. Bien entendu, le protocole de contrôle de fiabilité de la transmission décrit est un exemple et tout protocole assurant un contrôle de la fiabilité de la transmission peut être appliqué à l'invention. II apparaît clairement qu'un procédé de transfert de données selon l'invention permet de transmettre de manière simple des données numériques audio et vidéo ainsi que des données numériques autres que des données numériques audio ou vidéo entre deux terminaux reliés à un réseau de transmission de données. REVENDICATIONS 1. Procédé de transfert de données au cours d'une session de communication entre un premier (10) et un second (12) terminal reliés à un réseau (14) de transmission de données, caractérisé en ce qu'on ouvre au moins un canal (CD1, CD2) de transmission de données numériques autres que des données numériques audio et/ou vidéo entre les deux terminaux selon un premier protocole de transmission de données en temps réel et selon un second protocole de contrôle de fiabilité de la transmission, différent du premier protocole. 2. Procédé de transfert de données selon la revendication 1, dans lequel on ouvre en outre au moins un canal supplémentaire (CA1, CA2, CV1, CV2) de transmission de données numériques audio et/ou vidéo entre les deux terminaux selon le premier protocole de transmission de données en temps réel. 3. Procédé de transfert de données selon la revendication 1 ou 2, comportant une 15 étape d'établissement de la session de communication au cours de laquelle on ouvre le canal (CD1, CD2) de transmission de données numériques. 4. Procédé de transfert de données selon l'une quelconque des revendications 1 à 3, dans lequel le premier protocole de transmission de données en temps réel est un protocole de transmission sans contrôle de fiabilité de la transmission. 5. Procédé de transfert de données selon l'une quelconque des revendications 1 à 4, dans lequel le premier protocole de transmission de données en temps réel utilisé est le protocole RTP. 6. Procédé de transfert de données selon l'une quelconque des revendications 1 à 5, dans lequel le protocole de contrôle de fiabilité de la transmission utilise des 25 acquittements et des retransmissions. 7. Procédé de transfert de données selon la revendication 6, dans lequel on ouvre deux canaux (CD1, CD2) unidirectionnels de transmission de données numériques entre les deux terminaux, l'un (CD1) des deux canaux étant prévu pour le transfert de données depuis l'un (10) des terminaux vers l'autre terminal (12), et l'autre (CD2) canal étant prévu pour le transfert d'acquittements en sens inverse. 8. Procédé de transfert de données selon la revendication 7, comportant les étapes suivantes: le premier terminal (10) transmet, via un premier canal unidirectionnel (CD1) un paquet comportant des données numériques autres que des données numériques audio et/ou vidéo à transférer au second terminal (12), - le premier terminal (10) déclenche une temporisation (t0), - au bout d'une durée prédéterminée de la temporisation, si le premier terminal (10) n'a pas reçu un message d'acquittement émis par le second terminal (12) via un second canal unidirectionnel (CD2), il retransmet via le premier canal unidirectionnel (CD1) le paquet de données numériques au second terminal (12). 9. Terminal de télécommunication (10) adapté pour la transmission de données vers un autre terminal (12) au cours d'une session de communication avec l'autre terminal (12), caractérisé en ce qu'il comporte des moyens d'ouverture d'au moins un canal (CD1) de transmission de données numériques autres que des données numériques audio et/ou vidéo entre les deux terminaux selon un premier protocole de transmission de données en temps réel et selon un second protocole de contrôle de fiabilité de la transmission, différent du premier protocole. 10. Terminal de télécommunication (10) selon la revendication 9, comportant en outre des moyens d'ouverture d'au moins un canal supplémentaire (CA1, CV1) de transmission de données numériques audio et/ou vidéo entre les deux terminaux selon le premier protocole de transmission de données en temps réel.