Brevet FR2797543A1 — publié le 20010216

PROCÉDÉ POUR FAIRE COMMUNIQUER UN UTILISATEUR AVEC AU MOINS UNE BASE DE DONNÉES L'invention est relative à un procédé pour faire communiquer un utilisateur avec au moins une base de données par l'intermédiaire d'un réseau. Elle concerne également une installation d'utilisateur ainsi que des moyens de gestion du réseau permettant de mettre en oeuvre le procédé. L'évolution des technologies dans le domaine des télécommunications per met une augmentation des débits d'informations qui devrait permettre un accès plus aisé aux bases de données se trouvant dans les réseaux existants, par exemple le réseau Internet. A titre d'exemple de moyen technologique permettant des débits élevés, on citera ici les communications par satellite(s). Cependant, on a constaté que le haut débit n'assure pas obligatoirement un accès rapide aux bases de données, et ne permet pas d'éviter les engorgements du réseau. En effet, l'accès à un réseau de bases de données est, en général, effectué à l'aide d'un protocole assurant la fiabilité des communications. Ce protocole implique des échanges d'informations entre les "clients" et le "serveur" qui peuvent ralentir cette communication. De façon plus précise quand l'information, notamment sous forme de cellules ou de paquets, est émise d'un émetteur vers un récepteur, le récepteur renvoie un accusé de réception afin que l'émetteur s'assure que l'informa tion transmise a été reçue correctement. Si l'information n'a pas été reçue correcte ment, l'émetteur reçoit un accusé de réception indiquant ce défaut, ou il ne reçoit pas d'accusé de réception du tout. Dans les deux cas, l'information est réémise par l'émetteur. L'information est également réémise si l'émetteur ne reçoit pas d'accusé de réception dans un temps déterminé suivant l'émission. Les performances des réseaux traversés et de leurs nceuds de communi cation (les routeurs) et l'engorgement de ces réseaux ont pour conséquences que des paquets parviennent au récepteur en un temps tel que l'accusé de réception arrive à l'émetteur après l'écoulement du temps déterminé. Ils sont donc considérés comme perdus et sont de nouveau envoyés par l'émetteur, ce qui entraîne une transmission inutile d'informations et donc une dégradation de la capacité de trans mission du réseau et, éventuellement, de ses performances. Un protocole de ce type est par exemple le protocole dit "TCP" ("Transmis sion Control Protocol") qui est couramment utilisé, en particulier dans le réseau Internet. L'incompatibilité, dans les réseaux de bases de données, entre les commu nications à haut débit et les communications fiables est particulièrement nette quand on utilise une communication à haut débit qui introduit un retard de transmission non négligeable. Il en est ainsi dans les systèmes de transmission par satellite(s) qui sont, ou seront, utilisés pour transmettre des grands débits d'informations, notamment pour des applications dites "multimédia". II est cependant possible, pour effectuer une transmission rapide, à haut débit, d'utiliser un protocole moins fiable, sans accusé de réception. A titre d'exem ple, on peut citer ici le protocole UDP (User Datagram Protocol). Mais l'utilisation systématique de ce protocole n'est pas compatible avec la transmission dans un réseau de bases de données, car la transmission d'une proportion importante de données, notamment les programmes, exige une grande fiabilité. L'invention fournit un procédé d'accès à des bases de données par l'inter médiaire de moyens de communication à haut débit sans engorgement sensible du réseau tout en permettant de conserver une qualité satisfaisante de transmission des informations. L'invention concerne, selon un premier de ses aspects, un procédé d'accès à des bases de données qui est caractérisé en ce qu'on choisit une transmission, soit avec un protocole avec accusé de réception, soit avec un protocole sans accusé de réception. Ainsi, certaines données, notamment la plupart des images et des sons, n'exige pas le plus grand degré de fiabilité possible de transmission et il est alors possible de choisir un protocole sans accusé de réception qui privilégie la rapidité, ce qui est d'autant plus intéressant que ces données sont, en général, de grand volume. Par ailleurs, la transmission d'un programme exige un grand degré de fia bilité et on choisira alors un protocole avec accusé de réception. Dans un mode de réalisation, pour une même communication, certaines parties sont transmises avec un protocole du type à accusé de réception, ces par ties étant par exemple des programmes, des sources de scripts ou de pages d'Inter faces Homme-machine (pages Web) et d'autres parties, telles que des images, ou parties d'images, sont transmises avec un protocole ne faisant pas appel à des ac cusés de réception. On notera ici que la transmission d'images ou de sons ne sera pas obliga toirement toujours effectuée avec un protocole sans accusé de réception. Ce choix de protocole est laissé à l'utilisateur ou à l'application (programme de gestion). En effet, certaines images nécessitent un degré élevé de fiabilité, par exemple des images à haute définition, notamment pour des applications médicales. Le choix du protocole peut être effectué à volonté par l'utilisateur ou être effectué de façon automatique en fonction du type de données à transmettre et, éventuellement, de la taille de ces données. En effet, si, dans une communication, la proportion des données pouvant être transmises avec un degré de fiabilité relat ivement faible est peu importante par rapport aux données devant être transmises avec une grande fiabilité, il n'est pas indispensable de changer de protocole pour ces données en faible proportion, car, dans ce cas, le gain en rapidité serait peu important. L'application décidant de la nature du protocole se trouve dans la base de données émettrice ou dans un serveur intermédiaire disposé entre le client et les bases de données. Dans cette dernière situation, ce serveur contrôlera la communi cation qu'il émet vers le client. L'invention concerne, selon un autre de ses aspects, qui peut être utilisé indépendamment des précédents, ou en combinaison avec ces derniers, un procédé d'accès à des bases de données qui est caractérisé en ce qu'on fait appel à un pro tocole avec accusé de réception avec fenêtre d'acquittement de longueur variable. On rappelle ici que la longueur de la fenêtre d'acquittement d'un protocole d'accusé de réception est le nombre de bits, d'octets, ou de cellules qui doivent être reçus par le récepteur avant qu'il émette un signal d'accusé de réception. La variation de la fenêtre d'acquittement est, par exemple, décidée au niveau de l'émetteur (base de données ou serveur intermédiaire) en fonction du taux de paquets réémis. Si ce taux est élevé, on diminuera la fenêtre d'acquittement de façon que chaque réémission de données représente un plus faible volume de données à transmettre, ce qui augmente également la probabilité de transmission correcte dans un intervalle de temps donné. La variation de la fenêtre d'acquittement peut également être déterminée au niveau du récepteur en fonction du débit reçu. Si on constate un faible débit de réception, alors le récepteur enverra à l'émetteur un signal lui demandant une fenê tre d'acquittement plus faible. Le procédé selon l'invention trouve une application particulièrement utile dans le cas d'un système de transmission par satellite(s) dans lequel toutes les communications d'un abonné ou client de ce système passent par l'intermédiaire d'une station .de connexion, notamment de type terrestre. On prendra ici comme exemple un système de transmission par satellites à orbites basses ou moyennes dans lequel la terre est divisée en zones dont chacune comprend une station de connexion. Par exemple, chaque zone a un diamètre de l'ordre de 700 kilomètres et est telle qu'à chaque instant, un satellite d'une constellation est présent pour relier un client dans la zone à la station de connexion et, quand ce satellite ne peut plus relayer la communication entre l'abonné et la station, un autre satellite prend immé diatement le relais. Dans ce cas, le procédé de transmission selon l'invention peut être aisé ment utilisé entre la station de connexion et les abonnés. En effet, c'est sur cette partie du réseau, entre la station et les abonnés, que les temps de transmission sont les plus importants et donc que le mécanisme d'accusé de réception peut être le plus pénalisant. Cependant, le procédé selon l'invention n'est pas limité à un système à satellites à orbites basses ou moyennes ; il peut également s'appliquer à un sys tème à satellite géostationnaire. La liaison des abonnés au réseau de base de données se fait par l'intermé diaire d'un serveur dans la station de connexion ou lié à la station de connexion. Dans le cas où le réseau de bases de données est le réseau Internet ou un réseau analogue, on sait que les interrogations de bases de données des clients peuvent être interceptées par des serveurs dits "proxy", l'interception s'effectuant dans les deux sens, du client vers les bases de données et des bases de données vers les clients. Dans ces serveurs proxy, les réponses transmises par les bases de données sont conservées pendant un certain temps dans les moyens de stockage du serveur proxy et les pages chargées dans ce serveur sont transmises au client sans qu'il soit besoin d'effectuer une nouvelle connexion avec la base de données. Ainsi, le procédé selon l'invention peut être commandé à partir d'un tel serveur proxy dans une station de connexion ou liée à cette station. L'invention concerne donc, selon un autre de ses aspects, un serveur pour un accès à un réseau de bases de données qui est caractérisé en ce qu'il com prend, pour sélectionner le type - avec ou sans accusé de réception - de protocole de transmission des données à transmettre vers le client, ce type étant choisi auto- matiquement dans le serveur en fonction de la nature des données à transmettre et/ou des indications fournies par le client et/ou du volume des données. Quand on utilise un protocole avec accusé de réception, le serveur com porte, de préférence, des moyens de réglage de la taille de la fenêtre d'acquitte ment. En effet, l'invention englobe un serveur destiné à communiquer avec un ou plusieurs clients par l'intermédiaire d'un protocole de transmission à accusé de réception qui est caractérisé en ce qu'il comporte des moyens pour faire varier la taille de la fenêtre d'acquittement, par exemple en fonction des débits de transmis sion de ce serveur vers le client. L'invention concerne, selon encore un autre de ses aspects, un organe client, c'est-à-dire un organe d'interrogation de base de données. Cet organe est caractérisé en ce qu'il comporte un moyen pour choisir entre une transmission avec accusé de réception et une transmission sans accusé de réception, ce choix se tra duisant au niveau des moyens à disposition de l'utilisateur, par exemple par un choix entre une transmission fiable et une transmission rapide. Dans un mode de réalisation, l'organe client peut recevoir des données sur deux canaux différents, l'un dédié à un protocole avec accusé de réception, et l'au tre à un protocole sans. accusé de réception et il comporte des moyens pour remet tre en ordre les données reçues sur ces deux canaux. De préférence, on affiche ces données, dans un navigateur de l'organe client, après remise en ordre. Le moyen de sélection peut être associé à un ordinateur classique. II est constitué, par exemple, par un script ou une applet JAVA constituant une interface du navigateur. Le moyen de sélection peut aussi fonctionner de façon automatique dans le serveur de bases de données ou dans le serveur intermédiaire ("proxy") ; dans ce cas, le choix entre les protocoles s'effectue en fonction du type de fichier à télé- charger, par exemple, en fonction du suffixe dans son nom, tels que imagel.bmp, imagel.jpeg ou page.html. A titre d'exemples encore, si la base de données inter rogée est destinée à fournir des images à haute résolution, le protocole de trans mission demandé sera aussi à accusé de réception, et si la base de données inter rogée fournit du son, tel que de la musique, le protocole demandé pourra être du type sans accusé de réception. Le moyen de sélection peut également fonctionner de façon automatique dans l'organe client, le choix entre les protocoles s'effectuant en fonction de la ques tion posée ou requête adressée aux bases de données. La présente invention prévoit un procédé de transmission d'informations d'une base de données vers un client demandeur. A chaque communication, on choisit entre un protocole de transmission (TCP) avec accusé de réception et un protocole de transmission (UDP) sans accusé de réception. Selon un mode de réalisation, pour une requête donnée d'un client, cer taines données sont transmises avec un protocole de transmission avec accusé de réception et d'autres données sont transmises avec un protocole sans accusé de réception. Selon un mode de réalisation, le protocole de transmission est choisi en fonction de la nature de la requête exprimée par l'utilisateur. Selon un mode de réalisation, le choix du protocole est effectué en fonction de la nature des données à transmettre et/ou de leur volume. Selon un mode de réalisation, lorsqu'on fait appel à un protocole de trans mission avec accusé de réception, on choisit, à chaque communication, la longueur de la fenêtre d'acquittement. Selon un mode de réalisation, on diminue la fenêtre d'acquittement quand on constate un taux de données défectueuses transmises dépassant une valeur prédéterminée. La présente invention prévoit en outre un terminal pour la connexion à une base de données comportant deux canaux de réception, l'un pour des données reçues avec un protocole de transmission avec accusé de réception et l'autre pour des données reçues avec un protocole sans accusé de réception. Selon un mode de réalisation, le terminal comporte une interface actionna- ble par l'utilisateur de façon à indiquer un choix entre une transmission fiable et une transmission rapide. Selon un mode de réalisation, le terminal comporte un moyen de sélection automatique entre une transmission fiable et une transmission rapide en fonction de la requête adressée à la base de données. Selon un mode de réalisation, le terminal comporte un moyen pour remet tre en ordre les fichiers reçus sur les deux canaux différents. Selon un mode de réalisation, les fichiers remis en ordre sont exploités dans le navigateur du terminal. La présente invention prévoit encore un serveur destiné à être interposé dans un réseau entre un ou plusieurs utilisateurs et des bases de données, ce ser veur ayant pour but d'interpréter les requêtes de l'utilisateur et/ou de stocker des données reçues de la base de données. II comporte un moyen pour sélectionner le protocole de transmission des données de ce serveur vers l'utilisateur, cette sélec tion s'effectuant entre un protocole de transmission avec accusé de réception et un protocole de transmission sans accusé de réception. Selon un mode de réalisation, le serveur comporte un moyen pour faire varier la fenêtre d'acquittement (N) en cas d'utilisation d'un protocole avec accusé de réception. Selon un mode de réalisation, la fenêtre d'acquittement diminue quand le taux d'erreurs de transmission augmente. La présente invention prévoit enfin une application du serveur à un sys tème de transmission par satellite(s) dans lequel les communications de chaque uti lisateur sont relayées par une station de connexion, les communications entre les utilisateurs et la station de connexion s'effectuant par l'intermédiaire de moyens à bord d'un satellite, le serveur étant disposé dans la station de connexion ou étant lié à cette station. D'autres caractéristiques et avantages de l'invention apparaîtront avec la description de certains de ses modes de réalisation, celle-ci étant effectuée en se référant aux dessins ci-annexés sur lesquels la figure 1 est un schéma d'un système utilisant le procédé conforme à l'in vention, et la figure 2 est un schéma expliquant un aspect du procédé conforme à l'in vention. Le système représenté à titre d'exemple sur la figure 1 comprend un certain nombre d'installations client, dont une seule, de référence 10, a été représentée, un serveur proxy, ou serveur de proximité, 12 se trouvant dans une station de connexion d'un système de télécommunication par satellites, et le réseau Internet de bases de données, un seul serveur 14 ayant été représenté sur la figure. L'installation client 10 comporte, de façon classique, un navigateur 16 qui envoie une requête 18 vers un serveur distant 14 et cette requête 18 est interceptée par le serveur 12 dont le but est d'interpréter la question transmise par le client afin de limiter le temps de connexion au serveur distant 14. Le réseau utilisé étant du type Internet, la communication 20 entre les serveurs 12 et 14 est du type TCP, c'est-à-dire avec accusé de réception pour chaque groupe de données. Les données reçues du serveur 14 par le serveur 12 sont retransmises vers l'installation 10 d'utilisateur ou client. Selon l'invention, la liaison entre le serveur 12 et l'installation 10 s'effectue selon l'un et/ou l'autre de deux canaux distincts, respectivement 22 et 24. Le canal 22 utilise un protocole TCP (avec accusé de réception), tandis que le canal 24 fait appel à un protocole de transmission de type UDP, sans accusé de réception. Le canal 22 est utilisé principalement pour des transmissions pour lesquelles un grand degré de fiabilité est nécessaire, tandis que le canal 24 est utilisé principalement pour transmettre des données pour lesquelles la rapidité est le critère principal. Le navigateur 16 de l'installation utilisateur 10 comporte une interface tel qu'une applet JAVA permettant à l'utilisateur de déterminer la qualité souhaitée de la transmission, c'est-à-dire soit s'il souhaite une transmission fiable, soit s'il sou haite une transmission rapide. Cette décision de l'utilisateur est interprétée par le serveur 12 et est mise en oeuvre en fonction, d'une part, de l'occupation du réseau entre ce serveur 12 et l'utilisateur 10 et, d'autre part, des données à transmettre du serveur 12 vers l'utilisateur 10. Ainsi, une transmission multimédia comportant un mélange de programmes et d'images pourra être transmise en parallèle sur les canaux 22 et 24. Le canal 22 transmettra avec le protocole TCP les données de programme et le canal 24 transmettra avec le protocole UDP les données d'images. Par ailleurs, le serveur 12 comporte un moyen pour faire varier la fenêtre d'acquittement des données transmises par le canal 22 TCP. La figure 2 est un schéma illustrant le principe d'une fenêtre d'acquittement. Quand un récepteur R envoie une requête 30 vers un émetteur E, l'émetteur E envoie des données au récepteur R et ce dernier, quand il a reçu un nombre déter miné N d'octets, renvoie un accusé de réception 32 vers l'émetteur. Si l'émetteur E n'a pas reçu correctement l'accusé de réception, il renvoie de nouveau les N octets. Cette réémission augmente la densité du trafic dans une proportion d'autant plus importante que le nombre N d'octets est élevé. Ainsi, quand, par exemple, le ser veur 12 constate que la qualité de transmission est défectueuse, il diminue la lon gueur N de la fenêtre d'acquittement de façon à limiter la quantité de données à réémettre. Ainsi, on peut diminuer le risque d'engorgement du réseau. Le fonctionnement est le suivant En réponse à la requête 18, l'organe client 10 reçoit une page html qu'il analyse et charge (flèche 40) dans une mémoire, telle que celle du disque dur 42 d'un ordinateur. Les données enregistrées sur le disque dur 42 sont les adresses d'objets et les noms des fichiers. Ensuite (flèches 181, 182), chaque adresse d'objet et nom de fichier est transféré de la mémoire 42 vers le navigateur 16 (flèche 44) de façon que l'applet 26 envoie des requêtes 181, 182, etc. pour chaque objet. Le canal choisi 22 ou 24 sera déterminé par le serveur proxy 12. Après le chargement en séquence des divers objets, l'organe client remet en ordre les fichiers ou objets reçus qui sont en général des données de divers types, tels que des fichiers hypermedia ou hypertexte. Ces données remises en ordre sont exploitables, ou affichables, dans le navigateur 16 de l'organe client. Dans l'exemple, le serveur 12 se trouve dans une station de connexion d'un système de transmission par satellite, la station 10 constituant un abonné de ce système de transmission. II est à noter que le choix du protocole ou canal de transmission a un inté rêt pratique, surtout dans le sens de la base de données 14, ou du serveur 12, vers une installation client 10, car le volume des données à transmettre est plus impor tant dans ce sens que dans l'autre. Cependant, le principe de choix du protocole peut être généralisé, par exemple pour la transmission d'informations entre deux abonnés. REVENDICATIONS 1. Procédé de transmission d'informations d'une base de données vers un client demandeur, caractérisé en ce qu'à chaque communication, on choisit entre un protocole de transmission (TCP) avec accusé de réception et un protocole de transmission (UDP) sans accusé de réception. 2. Procédé selon la revendication 1, caractérisé en ce que, pour une requête don née d'un client, certaines données sont transmises avec un protocole de trans mission avec accusé de réception et d'autres données sont transmises avec un protocole sans accusé de réception. 3. Procédé selon la revendication 1 ou 2, caractérisé en ce que le protocole de transmission est choisi en fonction de la nature de la requête exprimée par l'uti lisateur. 4. Procédé selon l'une quelconque des revendications 1 à 3, caractérisé en ce que le choix du protocole est effectué en fonction de la nature des données à trans mettre et/ou de leur volume. 5. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que, lorsqu'on fait appel à un protocole de transmission avec accusé de réception, on choisit, à chaque communication, la longueur (N) de la fenêtre d'acquittement. 6. Procédé selon la revendication 5, caractérisé en ce qu'on diminue la fenêtre d'acquittement quand on constate un taux de données défectueuses transmises dépassant une valeur prédéterminée. 7. Terminal pour la connexion à une base de données, caractérisé en ce qu'il comporte deux canaux de réception (22, 24), l'un pour des données reçues avec un protocole de transmission (22) avec accusé de réception et l'autre (24) pour des données reçues avec un protocole sans accusé de réception. 8. Terminal selon la revendication 7, caractérisé en ce qu'il comporte une interface actionnable par l'utilisateur de façon à indiquer un choix entre une transmission fiable et une transmission rapide. 9. Terminal selon la revendication 7 ou 8, caractérisé en ce qu'il comporte un moyen de sélection automatique entre une transmission fiable et une trans mission rapide en fonction de la requête adressée à la base de données. 10. Terminal selon l'une quelconque des revendications 7 à 9, caractérisé en ce qu'il comporte un moyen pour remettre en ordre les fichiers reçus sur les deux canaux différents. 11. Terminal selon la revendication 10, caractérisé en ce que les fichiers remis en ordre sont exploités dans le navigateur (16) du terminal. 12. Serveur (12) destiné à être interposé dans un réseau entre un ou plusieurs uti lisateurs et des bases de données, ce serveur ayant pour but d'interpréter les requêtes de l'utilisateur et/ou de stocker des données reçues de la base de données, caractérisé en ce qu'il comporte un moyen pour sélectionner le pro tocole de transmission des données de ce serveur vers l'utilisateur, cette sélection s'effectuant entre un protocole de transmission avec accusé de récep tion et un protocole de transmission sans accusé de réception. 13. Serveur selon la revendication 12, caractérisé en ce qu'il comporte un moyen pour faire varier la fenêtre d'acquittement (N) en cas d'utilisation d'un protocole avec accusé de réception. 14. Serveur selon la revendication 13, caractérisé en ce que la fenêtre d'acquitte ment diminue quand le taux d'erreurs de transmission augmente. 15. Application du serveur selon l'une quelconque des revendications 12 à 14, à un système de transmission par satellite(s) dans lequel les communications de chaque utilisateur sont relayées par une station de connexion, les communica tions entre les utilisateurs et la station de connexion s'effectuant par l'intermé diaire de moyens à bord d'un satellite, le serveur étant disposé dans la station de connexion ou étant lié à cette station.