Brevet FR2855694A1 — publié le 20041203

i PROCEDE ET DISPOSITIF DE DIFFUSION CYCLIQUE RADIO. DOMAINE TECHNIQUE GENERAL. L'invention concerne le domaine général des télécommunications. Plus précisément, I'invention concerne le domaine des diffusions radio cycliques de programmes multiplexés vers des utilisateurs. ETAT DE L'ART. Certains sites publics ou privés accueillent un grand nombre de visiteurs ou d'utilisateurs. De tels sites sont par exemple les grandes entreprises, les 1o musées, les hôtels, les aéroports et/ou les gares, etc. Les visiteurs peuvent souhaiter avoir accès à des informations lorsqu'ils sont sur le site, notamment grâce à un dispositif portable en leur possession, et ce sans une connexion du type câble. Le dispositif portable des utilisateurs peut être du type assistant numérique personnel ou Personal Digital Assistant (PDA) 15 selon la terminologie anglo- saxonne généralement utilisée par l'homme du métier, ordinateur portable ou téléphone mobile, etc. Les informations peuvent être des informations sur le site ou sur une entreprise, ou être des informations plus générales, comme par exemples les actualités, des annonces publicitaires ou une consultation d'une page ou d'un site du type 20 Internet par exemple. On connaît des serveurs de diffusion radio cyclique de programmes contenant des informations vers des dispositifs clients portables. Dans toute la suite de la description, on entend par " programme " un contenu d'information au sens large, comme par exemple une page ou un site 25 Internet, les fichiers vidéo ou audio, etc. Plusieurs méthodes sont possibles pour la transmission et la diffusion des programmes. Une des méthodes utilisées est la diffusion cyclique de programmes multiplexés - ou diffusion " Multicast " cyclique selon la terminologie anglo30 saxonne généralement utilisée par l'homme du métier. Un tel mode de diffusion permet la transmission radio d'un flux de programmes dédiés aux clients s'étant déclarés au serveur de diffusion. Il permet également une économie de bande passante du côté du serveur. On peut ainsi délivrer des informations vers un grand nombre de clients simultanément. Un tel mode de diffusion comporte cependant un certain nombre d'inconvénients. En effet, la diffusion multicast est mal adaptée à la 5 consultation de programmes multimedia comportant une agrégation de contenus graphiques et textuels, comme par exemple les programmes du type page Internet, les fichiers vidéo ou audio. Enfin, une des contraintes fortes d'une liaison radio du type multicast provient des pertes qu'occasionne la non homogénéité de l'environnement radio. Ainsi, 10 lorsqu'un problème de transmission survient dans un échange de données, c'est l'ensemble auquel correspondent ces données qui doit être intégralement retransmis. Le temps d'accès aux informations est donc considérablement augmenté pour l'utilisateur. De plus, les programmes sont souvent sous un seul format et ne sont pas adaptés pour une diffusion vers plusieurs types différents de dispositifs clients. PRESENTATION DE L'INVENTION. L'invention a pour but de pallier ces inconvénients. Un des buts de l'invention est de proposer un procédé et un dispositif 20 permettant d'optimiser l'accès aux programmes diffusés, notamment par une meilleure gestion de la bande passante de diffusion. Un des buts de l'invention est notamment de permettre un accès plus rapide aux programmes diffusés. Un des autres buts de l'invention est de proposer un procédé et un 25 dispositif plus adaptés à un accès aux programmes multimedia comportant une agrégation de contenus graphiques et textuels, notamment les programmes du type page Internet. Un des autres buts de l'invention est de proposer un procédé et un dispositif ne nécessitant pas l'installation d'un autre navigateur ou autre 30 logiciel de restitution sur le dispositif client, autre que celui déjà installé de façon standard sur le dispositif. Enfin, un des autres buts de l'invention est de proposer un procédé et un dispositif permettant de diffuser un programme pour un grand nombre de types différents de dispositifs clients. A cet effet, l'invention propose un procédé de diffusion cyclique de 5 programmes multiplexés et diffusés par un serveur vers au moins un dispositif client comportant les étapes selon lesquelles: - un utilisateur du dispositif client demande à avoir accès à un programme diffusé par le serveur, - le dispositif client donne accès au programme demandé, 10 caractérisé en ce qu'il comporte l'étape selon laquelle: - pour chaque programme accédé, on effectue une préfecture des programmes liés au programme accédé afin que l'accès auxdits programmes liés soit optimisé lors d'une demande de la part de l'utilisateur. L'invention est avantageusement complétée par les caractéristiques suivantes, prises seules ou en une quelconque de leur combinaison techniquement possible: - la prélecture est effectuée par le dispositif client et comporte d'une part une étape d'analyse syntaxique du programme accédé et des liens entre le 20 programme accédé et des programmes liés et d'autre part une étape de stockage des programmes liés dans des moyens mémoire du dispositif client; - on effectue une partie de l'analyse du côté du serveur; - on ajoute, au niveau du serveur, un en tête aux programmes diffusés indiquant au dispositif client les liens des programmes entre eux, réduisant ainsi l'analyse effectuée par le dispositif client à l'analyse de l'en tête; - I'en tête est ajouté une fois pour toute sur les programmes lors d'une phase d'initialisation avant leur diffusion cyclique; - I'en tête est ajouté en temps réel à chaque programme à chaque cycle de 30 la diffusion cyclique; - on effectue une préfecture de certains programmes liés, à au moins un niveau inférieur, aux programmes eux-mêmes directement liés au programme accédé; - le nombre de niveaux inférieurs de programmes soumis à une préfecture est paramétrable; -le dispositif client retire l'en tête du programme avant d'en donner l'accès à l'utilisateur; - chaque programme est sous plusieurs formats différents et destinés à plusieurs dispositifs clients de types différents, et en ce qu'il comporte l'étape selon laquelle, avant de diffuser chaque programme, on lui ajoute un en-tête indiquant aux dispositifs clients le type de dispositif client pour lequel le programme est destiné; - on publie chaque format à chaque cycle de diffusion, grâce à un serveur de multipublication; - on publie chaque format grâce à un serveur spécifique par format de programme; - on modifie l'ordre et/ou la fréquence des formats de programmes dans le cycle de diffusion en fonction en fonction de règles statiques ou dynamiques sur les types de dispositifs clients; - on déclare le type du dispositif client auprès du serveur lors de sa connexion au serveur; - la déclaration se fait grâce à un pseudo agent utilisateur; - on modifie l'ordre et/ou la fréquence des formats de programmes du cycle de diffusion en fonction des types de dispositifs clients déclarés connectés 25 au serveur; - lorsqu'un type de dispositif client est déclaré et qu'aucun format de programme diffusé ne lui correspond, on diffuse alors un format de programme adapté à ce type de dispositif client. - sur demande d'un utilisateur, le dispositif client sélectionne les 30 programmes requis dont le format correspond à son type et en donne l'accès. L'invention concerne également le serveur et le dispositif client permettant la mise en oeuvre du procédé. PRESENTATION DES FIGURES. D'autres caractéristiques, buts et avantages de l'invention ressortiront de la 5 description qui suit, qui est purement illustrative et non limitative, et qui doit être lue en regard des dessins annexés sur lesquels: - Les figures 1A et lB représentent schématiquement un premier mode de réalisation possible d'un ensemble comportant un serveur et un dispositif client selon l'invention; - La figure 2 représente schématiquement un diagramme de séquences d'un premier ensemble d'opérations s'effectuant dans l'ensemble serveur/dispositif client des figures 1A et 1 B; - La figure 3 représente schématiquement un diagramme de séquences d'une variante du procédé de la figure 2; - Les figures 4A et 4B représentent schématiquement une variante du mode de réalisation de la figure 1; - La figure 5 représente schématiquement un diagramme de séquences mettant en oeuvre un ensemble représenté aux figures 4A et 4B; La figure 6 représente un premier exemple de cycle de diffusion de 20 programmes; et - La figure 7 représente un second exemple de cycle de diffusion de programmes. DESCRIPTION DETAILLEE DE L'INVENTION. La figure 1A représente schématiquement un premier ensemble possible selon l'invention. L'ensemble comporte un serveur 1 de diffusion cyclique de 5 programmes multiplexés adapté pour fonctionner avec un dispositif client 2. Le serveur 1 et le dispositif 2 sont reliés entre eux par une connexion radio 3 de diffusion cyclique de programmes multiplexés - ou connexion multicast selon la terminologie anglo-saxonne généralement utilisée par l'homme du métier. Le dispositif 2 est portable et peut être du type assistant numérique personnel ou Personal Digital Assistant (PDA) selon la terminologie anglosaxonne généralement utilisée par l'homme du métier, ordinateur portable ou téléphone mobile, etc. Le serveur de diffusion I comporte un serveur 11 du type Web 15 contenant par exemple des programmes comportant par exemple des contenus textuels et graphiques, et notamment des pages et des sites du type Internet. Le serveur 1 comporte également un serveur de diffusion cyclique multicast 12 relié au serveur Web par une liaison utilisant un protocole de 20 contrôle de transmission - ou Le serveur 1 comporte également un serveur 13 comportant un analyseur syntaxique 131 - ou " parser" selon la terminologie anglosaxonne généralement utilisée par l'homme du métier - et 25 avantageusement un générateur 132 d'en têtes. De son côté, le dispositif client 2 comporte un bloc formant serveur mandataire 21 - ou " proxy " selon la terminologie anglo-saxonne généralement utilisée par l'homme du métier. Dans les modes de réalisation des figures 1A et lB, le serveur 21 est avantageusement un 30 serveur mandataire cache 21. Le dispositif 22 comporte avantageusement un navigateur 22 apte à demander l'accès à un programme diffusé par le serveur 1. Le bloc 21 formant serveur mandataire cache comporte un serveur mandataire 211 relié, par l'intermédiaire de la connexion multicast 3 au serveur multicast cyclique 12 du serveur 1. Le bloc 21 comporte également un analyseur syntaxique 212, ainsi que de moyens formant mémoire cache 5 213. Les moyens 211, 212 et 213 sont d'une part reliés entre eux et d'une part reliés au navigateur 22. On n'a représenté sur les figures 1A et lB qu'un seul type de dispositif client 2. Comme on l'a vu dans la présente description, plusieurs types de dispositifs clients 2 peuvent être connectés au serveur 1. l0 L'invention permet également de diffuser plusieurs formats de programmes correspondant aux différents types de dispositifs. Un tel mode de réalisation de l'invention est décrit dans la suite de la description. En référence de nouveau à la figure 1A, on remarque que le fait d'embarquer sur le dispositif client 2 un bloc mandataire cache 21 permet 15 au dispositif client 2 d'effectuer des opérations de traitement des programmes diffusés et d'optimiser l'accès aux informations des programmes. Il peut notamment s'agir d'une meilleure gestion de la bande passante de diffusion. L'embarquement du bloc mandataire 21 permet notamment d'accélérer l'accès aux informations des programmes. Par 20 exemple, on peut placer par anticipation un certain nombre d'informations sur les programmes diffusés par le serveur 1 du côté du dispositif client 2. Les moyens 21 permettent en effet au dispositif 2 d'effectuer une prélecture des programmes liés aux programmes accédés lors d'une requête. Une telle prélecture permet que l'accès auxdits programmes liés soient accéléré 25 lors d'une demande de la part de l'utilisateur. Une telle opération de prélecture - également appelé prefetching selon la terminologie anglo-saxonne généralement utilisée par l'homme du métierest possible dans la mesure o la capacité de la mémoire cache 213 est suffisante. 3 o On comprend que du fait de la prélecture la consultation des programmes liés au programme accédé, lors d'une demande de la part de l'utilisateur, est plus rapide. En effet, les requêtes listées ci-dessous, habituellement effectuées en série, sont effectuées en parallèle grâce à la prélecture. - Consultation d'un programme, - Requête d'un autre programme au bloc mandataire cache 21, - Requête, de la part du bloc mandataire cache, de l'autre programme vers le serveur 1, et - Retour des informations issues de l'autre programme vers le mandataire cache 21. Selon une première méthode, la prélecture des programmes est 10 effectuée par le dispositif client 2. Une telle préfecture comporte une première étape d'analyse du programme accédé afin de déterminer les liens entre le programme accédé et des programmes qui lui sont liés. Une telle étape est effectuée par les moyens analyseur syntaxique 212. Une deuxième étape de la prélecture est le stockage des programmes liés dans 15 les moyens mémoires 213 du dispositif client 2. La préfecture peut s'effectuer sur un o plusieurs niveaux inférieurs de programmes liés entre eux, en fonction des contraintes d'utilisation. Ces contraintes d'utilisation peuvent par exemple être la capacité de la mémoire 213 du dispositif client 2. Pour limiter la taille des moyens cache 213, le niveau de préfecture peut par exemple être limité à 1. Ainsi, un programme A1 peut-être lié à trois programmes B1, B2, B3 par trois liens. C'est le niveau 1. Des programmes Cl et C2 par exemple peuvent être liés au programme B1, on se situe alors au niveau 2 par rapport au programme A1. Ainsi, une requête de lecture du programme A1 entraîne la mise en cache automatique des programmes B1, B2, B3. Ainsi, une requête sur B2 restituera instantanément les contenus des programmes B2 sur le dispositif client 2. La préfecture s'effectuera sur les programmes Cl et C2 liés au programme B2, par une mise en cache qui se fait instantanément. On 30 comprend alors que le processus se déroule de proche en proche de la même manière sur tous les programmes accédés. La figure 2 permet d'illustrer cet exemple. Ainsi, on distingue sur la figure 2 le serveur 1 en communication avec le mandataire cache 21, lui-même relié au navigateur 22. Ainsi, lors d'une étape référencée par 300 sur la figure 2, on effectue la diffusion cyclique de l'ensemble des programmes, par exemple référencés par A1, 5 B1, B2, B3, Cl, C2. Les programmes sont diffusés par les moyens 12 du serveur 1. Lors de l'étape 301, les informations sont lues cycliquement par le mandataire cache 21. Lors d'une étape 302, un utilisateur effectue une demande d'accès au programme A1. Cette demande d'accès est transmise au navigateur 22 par l'utilisateur. Le navigateur 22 transmet lui-même cette 10 requête lors d'une étape 303 au mandataire cache 21. Lors de l'étape 304 le mandataire cache 21 recherche le programme demandé dans la mémoire cache 213. On suppose que, lors d'une première phase (lorsque le dispositif client 2 vient juste de se connecter au serveur 1 par exemple), le programme A1 n'est pas présent dans la mémoire cache 213. Dans ce 15 cas, lors de l'étape 305 le mandataire cache 21 effectue une lecture du flux diffusé de façon cyclique par le serveur 1. Il retrouve alors dans le cycle le programme A1, et le met dans la mémoire cache 213 lors d'une étape 306. L'étape 307 correspond à l'envoi des informations du programme A1 demandé vers le navigateur 22, afin que A1 puisse être consulté par 20 I'utilisateur. L'étape 308 consiste en une analyse syntaxique par l'analyseur 212 du programme A1. Lors de l'étape 309, on effectue une mise en cache des programmes liés au programme A1, à savoir les programmes B1, B2, B3. Ainsi, lorsque l'utilisateur envoie une requête pour l'accès au programme B2, et que le navigateur 22 répercute cette requête vers le 25 mandataire cache 21 lors de l'étape 311, l'étape 312 permet une recherche rapide du programme B2 dans la mémoire cache 213. L'étape 313 de renvoi du contenu du programme B2 vers le navigateur 22 est ainsi plus rapide. Lors de l'étape 314, on effectue une analyse syntaxique programme B2. On retrouve alors les liens de B2 vers d'autres programmes (par 30 exemple Cl et C2). L'étape 315 est une étape de lecture du flux multicasté (étape comprise dans l'étape 309 ci-dessus mentionnée également). L'étape 316 est une mise en cache des programmes Cl et C2 liés aux programmes B2. On comprend par ce diagramme que le gain de temps obtenu lors de la requête sur le programme B2 est égal à la somme du temps nécessaire à 5 la lecture du flux multicasté et du temps de mise en cache du programme B2 avant son envoi vers le navigateur 22. On vient de décrire un premier mode de réalisation selon lequel l'analyse syntaxique des programmes est effectuée par le mandataire cache 21. Il correspond au mode de réalisation représenté sur la figure 1A. 10 La prélecture des programmes est consommatrice de deux principales ressources machine. Premièrement, I'analyse des programmes afin de retrouver les liens existant nécessite un analyseur syntaxique - ou " parser " selon la terminologie généralement utilisée par l'homme du métier. Deuxièmement, la mise en cache des programmes liés nécessite 15 une mémoire cache. On ne souhaite pas réduire de façon trop importante le volume de la mémoire cache 213, afin que le dispositif client 2 puisse recevoir plusieurs formats de programmes, éventuellement relativement importants dans leur tailles. 2 o Par contre, selon une variante du mode de réalisation représenté à la figure lB, il est possible de limiter la taille de l'analyseur 212 en ajoutant du côté du serveur un bloc 13 comportant un analyseur syntaxique 131 et un générateur d'en têtes 132, le bloc 13 étant relié au bloc 12 de diffusion. Les autres éléments du système sont identiques et portent des références 25 numériques similaires. L'analyse syntaxique des programmes diffusés est ainsi effectuée du côté du serveur 1, ce qui permet de limiter l'utilisation des ressources machines du dispositif client 2. On scinde en deux le module d'analyse syntaxique, afin d'économiser au dispositif client 2 la charge de l'analyse des contenus des 30 programmes. L'analyseur 131 analyse syntaxiquement les programmes à diffuser. Le générateur d'en têtes 132 enrichit le contenu des programmes à diffuser en ajoutant un entête du type eXtendible Markup Language (XML) l1 selon la terminologie anglo-saxonne généralement utilisée par l'homme du métier, regroupant les liens présents sur le programme, et permettant d'indiquer au dispositif client 2 lesdits liens. L'en tête de la page AI peut être: B l.html B3.html B3.html ... Les opérations se déroulant du côté du dispositif client 2 sont donc désormais l'unique analyse de l'en tête ajouté par le module 132. L'analyseur 212 se limite donc à une fonction d'extraction du contenu de l'en tête, et non plus à une analyse de l'ensemble du programme comme s15 dans l'exemple de la figure 1A. Le stockage des programmes liés s'effectue également du côté du dispositif client 2. La figure 3 représente schématiquement les séquences se déroulant lors de l'utilisation d'un ensemble selon la figure 1 B. Lors d'une première étape 400, le serveur multicast 12 diffuse 20 cycliquement les programmes A1, B1, B2... vers le bloc 13 grâce à une liaison 4 utilisant un protocole de contrôle des transmissions TCP. Le bloc 13 effectue, lors d'une étape 401, l'analyse des programmes diffusés cycliquement grâce au bloc 131. Il y a également la création des en têtes regroupant les informations sur les liens grâce au bloc 132. Les étapes 400 25 et 401 sont effectuées soit une fois pour toutes sur tous les programmes lors d'une phase d'initialisation avant leur diffusion cyclique vers un dispositif client 2. Cette situation est représentée sur la figure 3. Selon une autre solution, I'en tête est ajouté en temps réel à chaque programme à chaque cycle de la diffusion cyclique. Bien entendu, la création des en têtes 3 0 et l'enrichissement des programmes par les en têtes peuvent s'effectuer en amont du serveur multicast. Ces étapes ne sont pas forcément effectuées par le bloc 13 dans le serveur 1. Lors d'une étape 402, les programmes enrichis sont diffusés de façon cyclique grâce à la connexion 3 vers le dispositif client 2, et notamment son serveur mandataire cache 21. Lors d'une étape 403, le serveur mandataire cache effectue une lecture cyclique des informations. Lors d'une étape 404, un utilisateur du dispositif client 2 5 veut consulter le programme A1 et envoie pour cela une requête vers le navigateur 22 qui transmet lors d'une étape 405 ladite requête vers le bloc 21. On suppose comme précédemment que la requête A1 s'effectue lors d'une première connexion du dispositif client 2, et par conséquent que la mémoire cache 213 est vide. Donc, lors de l'étape 406, le dispositif 2 10 cherche le programme A1 dans la mémoire cache 213, ne la trouve pas, et lit, lors de l'étape 407, le flux multicast enrichi. Lors de l'étape 408, le mandataire cache 21 effectue une mise en cache des informations du programme A1 et envoie lors de l'étape 409 le contenu du programme A1 vers le navigateur 22 afin que l'utilisateur puisse y avoir accès. L'étape 410 consiste en une analyse de l'en tête du programme A1 par l'analyseur 212 du dispositif 2. On rappelle que cette analyse consiste en l'extraction et au traitement du contenu de l'en tête. Lors de l'étape 411, on effectue une mise en cache 213 des programmes liée au programme A1, B1, B2, B3. Ainsi, lorsque l'utilisateur envoie une requête pour avoir accès au 20 programme B2 au navigateur 22, celui-ci répercute une requête vers le mandataire cache 21 lors de l'étape 413. L'étape 414 de recherche du programme B2 dans le cache 213 est donc effectuée plus rapidement. L'envoi du contenu du programme B2 lors de l'étape 415 est donc rapide également. L'étape 416 consiste en une analyse de l'en tête du programme 25 B2 par le dispositif 2. L'étape 417 correspond à une lecture du flux multicasté (étape qui est comprise lors de l'étape 411 citée plus haut), afin de pourvoir effectuer en 418 une mise en cache 213 des programmes liés à B2, par exemple C1 et C2. Le dispositif client 2 possède également préférentiellement des 30 moyens qui retirent l'en tête du programme accédé avant d'en donner l'accès à l'utilisateur. Dans tous les développements qui précèdent, on n'a considéré qu'un seul type de dispositif client 2. Le procédé peut ainsi n'être destiné qu'à un seul type de dispositif client. On rappelle cependant que le dispositif 2 peut être de plusieurs types, par exemple téléphone mobile, ordinateur portable ou assistant numérique personnel. Les figures 4A et 4B représentent des variantes des modes de réalisations des figures 1A et lB permettant de considérer et de diffuser vers plusieurs types de dispositifs clients 2. Sur les figures 4A et 4B, les éléments identiques aux figures 1A et 10 1 B portent des références numériques similaires. Plusieurs formats de programmes sont diffusés. Sur la figure 4A, la diffusion des différents formats est rendue possible par la présence d'un serveur Web spécifique par format de diffusion. Ainsi, pour un même programme, on a un serveur Web 111 pour 15 le format compatible avec les assistants numériques personnels, un serveur Web 112 pour le format compatible avec les téléphones mobiles, et un serveur Web 113 pour le format compatible avec les ordinateurs portables par exemple. Sur la figure 4B, la diffusion des différents formats est rendue 20 possible par la présence d'un serveur 11 Web de multipublication, capable de générer les différents formats de diffusion. Dans les deux cas, l'édition des différents formats pour les programmes est effectuée une fois pour toutes lors' d'une phase d'initialisation ou pour chaque programme pour chaque cycle de diffusion. Dans les deux modes de réalisation des figures 4A et 4B, le serveur 1 comporte un analyseur 131 permettant d'analyser les formats de chaque programme qui va être diffusé. Le serveur 1 comporte un générateur d'en têtes 132 qui va générer un en tête, I'en tête étant ajouté à chaque programme avant sa diffusion. L'en tête indique au dispositif client 2 le type 30 o de dispositif client pour lequel le programme diffusé est destiné. La figure 5 représente schématiquement les différentes étapes mettant en oeuvre l'ensemble selon les figures 4A ou 4B. Ainsi, lors d'une étape 500, on enrichit grâce au bloc 13 les programmes des différents serveur 111, 112, et 113 ou du serveur de multipublication 11, les en têtes indiquant le type du format du programme. Ainsi, chaque en tête peut être: PDA ... ou GSM 10 ... Lors d'une étape 502, le serveur multicast 12 effectue un algorithme de priorisation permettant de placer dans la chaîne du cycle à diffuser les différents formats des programmes. Plusieurs algorithmes de priorisation sont possibles et sont décrits dans la suite de la présente description. Lors 15 d'une étape 503, le serveur multicast 12 diffuse cycliquement les programmes enrichis grâce à la liaison 3 avec le bloc 21 mandataire. Une des différences avec les modes de réalisation des figures 1A et lB est que le bloc mandataire ne comporte pas forcément une mémoire cache, ce qu'indiquent les traits en pointillés sur la figure 4A. En d'autres termes, le 20 fait de placer un en tête de format à destination des dispositifs clients peut être indépendant du procédé de prélecture décrit plus haut. Dans le cadre du procédé de génération d'en têtes de formats dont les étapes 500 à 503 viennent d'être décrites, il n'est pas nécessaire d'effectuer une préfecture des programmes. Ainsi, les dispositifs clients peuvent se contenter de 25 reconnaître et de donner l'accès, sur requête de l'utilisateur, au programme dont le format est adapté à leur type, sans effectuer une prélecture des programmes liés aux programmes accédés. On comprend que le mandataire 21 peut cependant comporter une mémoire cache afin de pouvoir effectuer une préfecture des programmes 30 en plus d'une reconnaissance des formats des programmes. En référence de nouveau à la figure 5, lors d'une étape 504, un utilisateur d'un dispositif client 2 (par exemple PDA) effectue une requête sur le programme A1. Cette requête est transmise par le navigateur 22 vers le mandataire 21 lors d'une étape 505. Lors d'une étape 506, le mandataire 21 effectue une lecture de flux multicasté et affiche lors de l'étape 507 le format du programme A1 qui correspond au dispositif utilisé par l'utilisateur, 5 à savoir le format correspondant au PDA. Dans les modes de réalisation représentés aux figures 4A et 4B, I'analyseur 212 n'effectue qu'une sélection des programmes pour lesquels une requête a été lancée, et dont le format correspondant à son type. Il s'agit d'uneanalyse de l'en tête du programme enrichi, mais quant à son format. Il ne s'agit pas ici d'une 10 analyse syntaxique d'une en tête du programme pour déterminer des liens entre les programmes. Cependant comme on l'a déjà expliqué, l'analyseur 212 des figures 4A et 4B est apte à avantageusement effectuer une telle analyse syntaxique des en têtes pour déterminer les liens entre les programmes et 15 effectuer une prélecture desdits programmes. On rappelle que plusieurs algorithmes de priorisation sont possibles lors de l'étape 502. On peut imaginer un cycle de diffusion très simple o les différents formats pour chaque programme sont répétés les uns à la suite des autres, 2 0 comme le représente la figure 6. Les formats générés par les serveurs 111, 112 et 113 sont ainsi répétés successivement pour les différentes pages A1, B1, B2, B3 par exemple. On peut imaginer un procédé de priorisation o l'ordre et/ou la fréquence des formats de programmes dans le cycle de diffusion peut être 25 modifié en fonction de règles statiques ou dynamiques. Les règles statiques comprennent par exemple des décisions de l'administrateur du système ou des données statistiques ou marketing sur les types de dispositifs clients habituellement connectés au serveur. Par exemple, si on constate que statistiquement la population de dispositifs 30 clients 2 est répartie en 70% de téléphones mobiles, 20% d'ordinateurs portables, et 10% de PDA, les formats pour les téléphones mobiles seront répétés dans les proportions 7 par rapport aux formats des ordinateurs portables et PDA qui seront dans les proportions 2 et 1 respectivement. Les règles dynamiques tiennent compte en temps réel des types de dispositifs clients connectés au serveur. On peut ainsi également selon une 5 variante avantageuse déclarer au serveur le type du dispositif client 2 lors de sa connexion au serveur. Une telle déclaration peut s'effectuer grâce à un pseudo agent utilisateur- ou pseudo user-agent selon la terminologie anglo-saxonne généralement utilisée par l'homme du métier - compatible avec le flux unidirectionnel multicast et comportant par exemple une chaîne 10 de caractères précisant le type de dispositif client (assistant numérique personnel, téléphone mobile, ordinateur portable...). Dans ce cas, le serveur 1 a une connaissance du nombre de clients et du type de dispositifs clients (par exemple grâce à un système de compteurs). On augmente ainsi la fréquence et/ou l'ordre des formats correspondant au type de dispositif 15 client le plus nombreux. La figure 7 représente un cycle de diffusion dans lequel le nombre de clients utilisant un ordinateur portable est supérieur au nombre de clients utilisant un PDA, lui-même supérieur au nombre de clients utilisant un téléphone mobile. Le format généré par le serveur 113 est plus souvent répété pour chaque programme que le format généré par 2 0 le serveur 112 dédié aux téléphones portables. Dans ce dernier cas également, le serveur 1 peut avantageusement comporter des moyens permettant d'émettre dans le cycle de diffusion un format correspondant à un nouveau type de dispositif client si le format n'existait pas avant cette nouvelle déclaration dans le cycle de diffusion. Un autre critère pour la priorisation de certains formats par rapport aux autres serait par exemple la bande passante occupée par la diffusion pour un type de dispositif client donné. On peut ainsi imaginer que les programmes pour ordinateurs portables sont envoyés moins fréquemment, car ils sont plus consommateurs de bande passante que les programmes 30 pour les PDA par exemple. Le procédé consistant à placer un en tête de format sur les programmes avant leur diffusion peut être effectué sans le procédé de prélecture. Cependant, comme on l'aura compris, le procédé consistant à placer 5 un en tête de format sur les programmes avant leur diffusion se combine *4 avantageusement au procédé de préfecture des programmes liés à un programme qui est accédé par un utilisateur. Réciproquement, un procédé de préfecture des programmes liés à un programme accédé peut être effectué seul, mais se combine l0 avantageusement à un procédé d'indication de format des pages diffusées. REVENDICATIONS. 1. Procédé de diffusion cyclique de programmes multiplexés et diffusés par un serveur (1) vers au moins un dispositif client (2) comportant les étapes selon lesquelles: - un utilisateur du dispositif client (2) demande à avoir accès à un programme diffusé par le serveur (1), - le dispositif client (2) donne accès au programme demandé, caractérisé en ce qu'il comporte l'étape selon laquelle: - pour chaque programme accédé, on effectue une prélecture des programmes liés au programme accédé afin que l'accès auxdits programmes liés soit optimisé lors d'une demande de la part de l'utilisateur. 2. Procédé selon la revendication 1, caractérisé en ce que la préfecture est effectuée par le dispositif client (2) et comporte d'une part une étape d'analyse syntaxique du programme accédé et des liens entre le programme accédé et des programmes liés et d'autre part une étape de stockage des programmes liés dans des moyens mémoire 20 du dispositif client (2). 3. Procédé selon l'une des revendications I à 2, caractérisé en ce qu'on effectue une partie de l'analyse du côté du serveur (1). 4. Procédé selon la revendication 3, caractérisé en ce qu'on ajoute, au niveau du serveur (1), un en tête aux programmes diffusés indiquant au dispositif client (2) les liens des programmes entre eux, réduisant ainsi l'analyse effectuée par le dispositif client à l'analyse de l'en tête. 5. Procédé selon la revendication 4, caractérisé en ce que l'en tête est ajouté une fois pour toute sur les programmes lors d'une phase d'initialisation avant leur diffusion cyclique. 6. Procédé selon la revendication 4, caractérisé en ce que l'en tête est ajouté en temps réel à chaque programme à chaque cycle de la diffusion cyclique. 7. Procédé selon l'une des revendications 1 à 6, caractérisé en ce qu'on effectue une préfecture de certains programmes liés, à au moins un niveau inférieur, aux programmes eux-mêmes directement liés au programme accédé. 8. Procédé selon la revendication 7, caractérisé en ce que le nombre de niveaux inférieurs de programmes soumis à une prélecture est paramétrable. 9. Procédé selon l'une des revendications I à 8, caractérisé en ce que le dispositif client retire l'en tête du programme avant d'en donner l'accès à l'utilisateur. 10. Procédé selon l'une des revendications 1 à 9, caractérisé en ce que, 20 chaque programme est sous plusieurs formats différents et destinés à plusieurs dispositifs clients de types différents, et en ce qu'il comporte l'étape selon laquelle, avant de diffuser chaque programme, on lui ajoute un en-tête indiquant aux dispositifs clients le type de dispositif client pour lequel le programme est destiné. 11.Procédé selon la revendication 10, caractérisé en ce qu'on publie chaque format à chaque cycle de diffusion, grâce à un serveur de multipublication. 12.Procédé selon la revendication 10, caractérisé en ce qu'on publie chaque format grâce à un serveur spécifique par format de programme. 13.Procédé selon l'une des revendications 10 à 12, caractérisé en ce qu'on modifie l'ordre et/ou la fréquence des formats de programmes dans le cycle de diffusion en fonction de règles statiques ou dynamiques sur les types de dispositifs clients. 14. Procédé selon l'une des revendications 10 à 13, caractérisé en ce qu'on déclare le type du dispositif client auprès du serveur lors de sa connexion au serveur grâce à un pseudo agent utilisateur. 15.Procédé selon la revendication 14, caractérisé en ce qu'on modifie l'ordre et/ou la fréquence des formats de programmes du cycle de diffusion en fonction des types de dispositifs clients déclarés connectés au serveur. 16.Procédé selon l'une des revendications 14 à 15, caractérisé en ce que, lorsqu'un type de dispositif client est déclaré et qu'aucun format de programme diffusé ne lui correspond, on diffuse alors un format de programme adapté à ce type de dispositif client. 17.Procédé selon l'une des revendications 10 à 16, caractérisé en ce que, sur demande d'un utilisateur, le dispositif client sélectionne les programmes requis dont le format correspond à son type et en donne l'accès. 18. Dispositif client (2) adapté pour fonctionner avec un serveur (1) de diffusion cyclique de programmes multiplexés, le dispositif client comportant des moyens formant navigateur (22) aptes à demander l'accès à un programme diffusé, caractérisé en ce qu'il comporte des 3 0 moyens (21) aptes à, pour chaque programme accédé, effectuer une préfecture de certains programmes liés au programme accédé grâce à un en tête ajouté aux programmes diffusés indiquant au dispositif client les liens des programmes entre eux. 19. Dispositif selon la revendication 18, caractérisé en ce qu'il comporte des moyens formant serveur (21) mandataire cache aptes à effectuer la préfecture des programmes. 20.Dispositif selon la revendication 19, caractérisé en ce que le serveur mandataire cache comporte des moyens (212) aptes à analyser 10 syntaxiquement des liens entre le programme accédé et des programmes liés et des moyens (213) aptes à stocker des programmes liés. 21. Dispositif selon l'une des revendications 18 à 20, caractérisé en ce 15 qu'il comporte des moyens (21) aptes à effectuer une prélecture des programmes liés à au moins un niveau inférieur à des programmes eux-mêmes directement liés au programme accédé, ce niveau étant paramétrable. 22. Dispositif selon l'une des revendications 18 à 21, caractérisé en ce qu'il comporte des moyens aptes à retirer un en tête du programme indiquant les liens des programmes entre eux avant d'en donner l'accès à l'utilisateur. 23. Dispositif selon l'une des revendications 18 à 22, caractérisé en ce que, lorsque chaque programme diffusé est sous plusieurs formats différents correspondant à différents types de dispositifs clients, il comporte des moyens (21) aptes à sélectionner les programmes dont le format correspond à son type grâce à un en tête ajouté aux 30 programmes diffusés indiquant au dispositif client (2) le type de dispositif client pour lequel le programme est destiné. 24.Dispositif selon la revendication 23, caractérisé en ce qu'il est du type téléphone mobile, ordinateur portable ou assistant numérique personnel. 25.Serveur (1) de diffusion cyclique de programmes multiplexés adapté pour fonctionner avec un dispositif client (2) comportant des moyens formant navigateur (22) aptes à demander l'accès à un programme diffusé, caractérisé en ce que le serveur comporte des moyens (13) aptes à ajouter un en-tête aux programmes diffusés indiquant au 10 dispositif client (2) les liens des programmes entre eux, I'en tête permettant alors au dispositif client d'effectuer une prélecture de certains programmes liés au programme accédé. 26.Serveur selon la revendication 25, caractérisé en ce qu'il comporte des moyens (13) aptes à, avant la diffusion de chaque programme, ajouter un en tête indiquant aux dispositifs clients le type de dispositif client pour lequel le programme est destiné. 27.Serveur selon la revendication 26, caractérisé en ce qu'il comporte 20 un serveur (11) de multipublication apte à publier chaque format à chaque cycle de diffusion. 28.Serveur selon la revendication 26, caractérisé en ce qu'il comporte un serveur (111,112,113) spécifique par format de programme. 29.Serveur selon l'une des revendications 26 à 28, caractérisé en ce qu'il comporte des moyens aptes à déclarer le type du dispositif client auprès du serveur lors de sa connexion au système. 30.Serveur selon l'une des revendications 26 à 29, caractérisé en ce qu'il comporte des moyens aptes à modifier l'ordre et/ou la fréquence des formats de programmes du cycle de diffusion en fonction de règles statiques sur les types de dispositifs clients dans le système ou dynamiques sur les types de dispositifs clients déclarés dans le système. 31.Serveur selon l'une des revendications 26 à 30, caractérisé en ce qu'il comporte des moyens aptes à diffuser dans le cycle un format de programme adapté à un type de dispositif client venant de se déclarer et non déclaré jusqu'alors.