Brevet FR2819139A1 — publié le 20020705

PROCEDE ET DISPOSITIF DE GESTION D'INFORMATIONS DANS UN SYSTEME DE COMMUNICATION INTERACTIF. Domaine technique La présente invention concerne un procédé et un dispositif de gestion d'informations dans un système de communication interactif. On entend par système de communication interactif tout système d'échange de données entre au moins un centre de diffusion et un utilisateur, dans lequel l'utilisateur dispose d'une possibilité de choix entre différentes informations qui sont mises à sa disposition par le centre de diffusion. Le domaine d'application typique de l'invention, o un tel échange a lieu, est la diffusion numérique de programmes télévisuels, ou la diffusion d'autres prestations de service, fournis par un distributeur à un certain nombre d'abonnés. Les prestations dont il est question ici peuvent être très variables. A titre d'exemple elles peuvent comporter, comme indiqué ci-dessus, des programmes de télévision, mais aussi des pages de magazine, des jeux vidéo, des sommaires de services offerts à l'utilisateur, des calendriers, ou toute autre information quelconque. Tous ces services, à l'exception des diffusions vidéo et audio, sont désignés dans la suite du texte par "applications interactives". SP 18880/EW Etat de la technique antérieure Avant d'examiner l'état de la technique relatif au domaine de l'invention, il convient de préciser le sens du terme "information" utilisé tout au long de l'exposé. Le terme information désigne indifféremment deux types de données diffusés à l'utilisateur. Le premier type de données comprend des données simples c'est-à-dire des données susceptibles de véhiculer des images, du son, ou des messages. Ces images ou messages peuvent s'afficher sur un téléviseur, ou sur un écran associé à un dispositif de réception et de traitement de l'information, couramment désigné par "décodeur", dont est équipé l'utilisateur. Le deuxième type de données comprend des données de programmes, il s'agit de données de logiciel permettant au dispositif de traitement de l'information d'effectuer un certain nombre d'opérations. Ces opérations peuvent comporter notamment le traitement des données simples. La transmission des informations depuis un centre de diffusion vers l'utilisateur a lieu généralement par voie hertzienne et par l'intermédiaire d'un satellite de télédiffusion. Elle peut aussi avoir lieu par l'intermédiaire d'un réseau câblé ou du numérique hertzien. Les informations sont transmises par paquets. Les satellites sont équipés de plusieurs transpondeurs capables chacun de transmettre des paquets d'informations. Or, le volume d'informations que les transpondeurs sont capables de transmettre est limité par la bande passante allouée à la diffusion hertzienne. SP 18880/EW Ainsi, afin de ne pas restreindre le flux d'informations disponible aux limites physiques de la bande passante, les informations sont multiplexées et, certaines d'entre elles, sont diffusées non pas de façon continue mais de façon cyclique selon des cycles plus ou moins longs. Ceci est vrai notamment pour les informations concernant les applications interactives. Selon le contenu ou le type d'information considéré, le cycle de transmission des paquets d'information peut être plus ou moins long. Il peut varier, par exemple de msec pour des informations à récurrence rapide, à sec, voire beaucoup plus, pour les informations à récurrence lente. Lors d'une commande de l'utilisateur visant au téléchargement d'une certaine information, ou lors d'une demande de téléchargement d'une information, résultant de l'exécution d'un programme d'application interactive dans le dispositif de traitement de l'utilisateur, il est nécessaire d'attendre le prochain cycle de transmission de l'information souhaitée, avant de procéder à son traitement ou à son affichage. Cette attente, plus ou moins longue selon le cycle de transmission de l'information souhaitée, peut s'avérer inconfortable pour l'utilisateur et éventuellement être interprétée comme une avarie du dispositif de traitement. Pour améliorer la disponibilité des informations, il est connu d'équiper le dispositif de traitement d'une mémoire dans laquelle un certain nombre d'informations peuvent être stockées. Ainsi, lors de demandes d'informations par l'utilisateur ou SP 18880/EW par l'application interactive en cours d'exécution, il est possible de puiser les informations dans la mémoire dans laquelle elles sont immédiatement disponibles, sans attendre un prochain cycle de diffusion. Cette solution permet, dans une large mesure, d'éviter des temps d'attente intempestifs. Toutefois, une nouvelle difficulté apparaît. Il s'agit de celle de la péremption des informations stockées. Une information stockée dans la mémoire lors de son premier téléchargement risque en effet d'être périmée lors d'une prochaine utilisation, lorsqu'elle est chargée depuis la mémoire. A titre d'exemple, une information concernant un programme de diffusion d'émissions télévisées devient périmée dès que la diffusion a eu lieu. Une solution à ce problème consisterait, par exemple à rafraîchir continuellement le contenu de la mémoire. Ii convient à cet effet de vérifier si toutes les informations en stock sont encore valables ou non. Ceci peut avoir lieu, par exemple, en comparant les informations stockées en mémoire à de nouvelles informations diffusées. Et de les rafraîchir si nécessaire. Il s'avère que cette surveillance des informations stockées et leur rafraîchissement continuel demande un équipement important dans le dispositif de l'utilisateur. En particulier, la mise à jour des informations requiert des moyens de démultiplexeur et de filtre importants et coûteux. De plus, les décodeurs existants seraient incapables d'exécuter une telle tâche. SP 18880/EW Une illustration des techniques et des difficultés mentionnées ci-dessus est donnée par exemple par le document (1) dont la référence complète est donnée à la fin de la description. Exposé de l'invention. La présente invention a pour but de proposer un procédé de gestion d'information dans un système de communication interactif ne présentant pas les limitations mentionnées ci-dessus. Un but est en particulier de ne pas accro-ître le nombre de filtres et de composants nécessaires à la réception des flux d'information. Un autre but est de réduire au minimum les temps d'attente lors de l'exécution d'une application interactive, et d'augmenter le confort d'utilisation du dispositif de traitement. Encore un autre but est de proposer un procédé permettant de garantir à tout moment la validité des informations disponibles. Un but de l'invention est enfin de proposer un dispositif de communication permettant la mise en ouvre du procédé. Pour atteindre ces buts, l'invention a plus précisément pour objet un procédé de gestion d'informations dans un système de communication interactif comprenant: a) suite à une demande d'une information par un utilisateur ou résultant de l'exécution d'un programme, la vérification si ladite information est disponible dans une mémoire dite mémoire SP 18880/EW cache, le chargement de l'information depuis la mémoire cache lorsqu'elle est disponible, et le chargement de l'information depuis une source de diffusion lorsqu'elle est indisponible dans la mémoire cache, et comprenant en outre: b) l'association à au moins une partie des informations de la mémoire cache d'une donnée de date ou de durée ou de la date de validité, la vérification de la durée de validité d'une information contenue dans la mémoire cache, en réponse à la demande de ladite information, et le chargement de l'information depuis la source de diffusion lorsque la durée, ou la date de validité de l'information disponible dans la mémoire cache sont révolues. Grâce à l'attribution d'une donnée de durée de validité aux informations, il est possible d'éviter le rafraîchissement du contenu de la mémoire cache, sans pour autant risquer l'utilisation d'une information périmée. En effet s'il s'avérait, qu'au moment o le chargement d'une information est sollicité, la durée ou la date de validité de cette information, stockée dans la mémoire cache, étaient échues ou révolues, l'information ne serait pas chargée depuis la mémoire cache mais ferait l'objet d'un nouveau chargement depuis la source de diffusion. La nouvelle information provenant de la source de diffusion peut également, dans ce cas, être enregistrée dans la mémoire cache. Le même principe peut encore être appliqué pour enregistrer toute SP 18880/EW nouvelle information qui était indisponible dans la mémoire cache au moment ou elle est sollicitée. La durée ou la date de validité qui sont affectées à une information, de préférence lors de son enregistrement en mémoire, peut être fixée de différentes façons. La façon la plus simple consisterait à fixer de façon arbitraire la durée de validité à une valeur prédéterminée indépendante du type et du contenu de l'information. Cette solution est cependant risquée dans la mesure o, lorsque la durée de validité arbitraire est relativement grande,:el1le peut éventuellement excéder la durée réelle de validité de l'information. Ceci réduit donc le choix des durées de validité arbitraires à des valeurs très courtes. Une autre possibilité, permettant d'éviter ce risque, consiste à choisir la durée de validité d'une information en fonction du type d'information en question. A titre d'exemple, pour des informations de données simples ou des informations pour lesquelles des cycles de diffusion courts sont disponibles, il est possible de prévoir des durées de validité brèves. En revanche, pour des informations du type données de programme (logiciel) une durée de validité longue, voire infinie, peut être attribuée. Une information de durée de validité infinie ne sera effacée de la mémoire que lorsque la capacité maximum de cette mémoire est atteinte. Le renouvellement des informations stockées peut alors être du type "premier entré, premier sorti" ("first in, first out"). SP 18880/EW Une troisième possibilité pour l'affectation de la durée ou de la date de validité consiste à fixer cette durée ou date en fonction du contenu même de l'information considérée. A titre d'illustration, une information de donnée simple relative à la date et à l'heure de programmation d'une émission de télévision, devient obsolète dès que cette date et cette heure sont révolus. La donnée de validité peut donc retenir, par exemple, cette date et cette heure, comme limite de péremption. Les informations peuvent être mises en mémoire, notamment sous la forme de tables ou de sections aux normes MPEG (Moving Picture Experts Group, normes de diffusion d'images animées). Dans ce cas, une donnée de durée de validité peut être associée, par exemple, à chaque table ou section. La donnée de validité, peut se présenter sous la forme d'une date ou marque temporelle de limite de validité. Dans ce cas, la vérification de l'échéance de la donnée de validité se résume, par exemple, à la simple comparaison de la date ou de la marque temporelle à la date ou indication temporelle actuelle donnée par une horloge. Selon une mise en oeuvre particulière du procédé de l'invention on peut également associer à chaque information de la mémoire cache un identifiant. L'identifiant permet de faciliter ultérieurement la recherche de cette information dans la mémoire. L'identifiant peut être une donnée liée au contenu de l'information, sous la forme, par exemple d'une signature formée à partir de différentes composantes de l'information. SP 18880/EW Dans le cas particulier o l'information se présente sous la forme de tables MPEG, l'identifiant peut être une signature codée sur 16 bits et désignée par MD5. Cette signature est représentative du contenu d'une table de données de programme exécutable dans le dispositif de traitement de l'utilisateur. La même signature peut aussi être utilisée pour l'identification d'information de données simples associées aux programmes et utilisables pour l'exécution de ces derniers. L'invention concerne également un dispositif, de communication interactive comprenant: - une unité de traitement des informations, - un système de téléchargement d'informations depuis une source de diffusion, en réponse à une commande de l'unité de traitement, - au moins une mémoire supplémentaire (cache) de réception des informations, pour leur conservation en association avec une donnée de durée de validité, - un système de gestion de mémoire pour charger, en réponse à une commande de l'unité de traitement, des informations depuis la mémoire supplémentaire lorsque ces informations, avec une donnée de validité non révolue sont présentes dans la mémoire supplémentaire (cache). La commande de l'unité de traitement indiquée ci-dessus peut être une commande résultant de l'exécution d'un programme ou une commande résultant d'un choix de l'utilisateur transmis à l'unité de traitement. SP 18880/EW Les informations en provenance de la mémoire supplémentaire peuvent être chargées directement dans l'unité de traitement ou transiter éventuellement par une mémoire tampon. D'autres caractéristiques et avantages de l'invention ressortiront de la description qui va suivre en référence aux figures des dessins annexés. Cette description est donnée à titre purement illustratif et non limitatif. Brève description des figures. - La figure 1, est une illustration très schématique, et simplifiée, d'un système de communication utilisant un dispositif conforme à l'invention. Pour des raisons de clarté, les différentes parties de la figure 1 ne sont pas représentées selon une échelle uniforme. La figure 2, est un organigramme montrant des étapes possibles d'un procédé de gestion d'informations conforme à l'invention. Description détaillée de modes de mise en oeuvre de l'invention. La référence 10 de la figure 1 indique de façon générale un centre de diffusion numérique. Ce centre de diffusion émet, par voie hertzienne, par câble électrique, ou optique, un certain nombre d'informations. Parmi celles-ci, on peut relever des informations audio, des informations vidéo et d'autres informations liées à des applications interactives (jeux, journal, programme TV etc.). Comme évoqué SP 18880/EW précédemment les informations sont multiplexées et émises de façon cyclique en paquets d'informations. Dans l'exemple de la figure, les informations sont retransmises vers un grand nombre d'utilisateurs potentiels par l'intermédiaire de transpondeurs 12 d'un satellite 14. Les utilisateurs sont équipés de dispositifs de réception et de traitement de l'information repérés avec la référence générale 20. Le dispositif 20 représenté à la figure 1 comprend un certain nombre de moyens 22 permettant. de recevoir les informations transmises depuis le centre de diffusion 10. Ces moyens comportent notamment une antenne, un démodulateur, et des filtres pour sélectionner un canal de multiplexage d'un ou de plusieurs transpondeurs. Une unité de traitement 24, pourvue d'une mémoire tampon 25, peut recevoir des informations sous la forme de données de programmes à exécuter ou de données simples, utilisées dans le cadre de l'exécution des programmes, pour la production d'images et de son. Un téléviseur 26 relié à l'unité de traitement représente symboliquement un moyen de restitution d'images et de son. Une commande donnée par un utilisateur activant une interface de commande 28, ou une commande résultant de l'exécution d'un programme d'une application interactive par l'unité de traitement, permet de provoquer le chargement de nouvelles informations dans la mémoire tampon 25. Ces informations peuvent provenir de deux sources distinctes: soit une mémoire 30, dite mémoire SP 18880/EW cache, soit les moyens 22 de réception des informations télédiffusées. Un système de gestion de la mémoire cache, indiqué sommairement avec la référence 31, permet d'affecter à chaque information stockée en mémoire une donnée de durée de validité selon le principe précédemment exposé. Le système de gestion de la mémoire cache, représenté ici séparément pour des raisons de clarté, peut, bien entendu, faire partie de l'unité de traitement. Le procédé de gestion des informations par. le dispositif 20 est rappelé par la figure 2. Une première étape 100 correspond à la demande d'une information. Celleci est sollicitée, comme indiqué ci-dessus, par l'unité de traitement en réponse à un programme exécuté, ou en réponse à une demande de l'utilisateur. Une étape de recherche d'information 102 est alors effectuée par le système de gestion de la mémoire pour identifier l'information dans la mémoire cache 30. Une étape de décision 104 dépend du résultat de la recherche. Si l'information recherchée est trouvée dans la mémoire, on effectue, dans une étape 106, une comparaison entre une donnée indiquant une durée ou une date de validité de l'information en question et une date actuelle fournie par une horloge. On entend ici par "date" toute empreinte temporelle exprimée en unité de temps quelconque. La comparaison de la date de validité et de la date actuelle donne lieu à une deuxième étape de décision 108. SP 18880/EW Lorsque la donnée de validité est reconnue comme n'étant pas encore révolue, l'information est chargée dans la mémoire tampon de l'unité de traitement et utilisée pour le traitement de données ou pour leur affichage. Ceci correspond à l'étape 110. Si lors de l'une des étapes de décision 104 ou 108 il est reconnu que l'information recherchée est introuvable dans la mémoire cache ou que celle-ci est obsolète, l'information est obtenue par téléchargement. Le téléchargement correspond à l'étape 112. Il est clair que, dans ce cas -particulier,,-un éventuel temps de retard risque d'affecter le fonctionnement du dispositif dans la mesure ou le prochain cycle de transmission de l'information souhaitée doit éventuellement être attendu plus ou moins longtemps. Cette attente n'existe cependant que lors du premier chargement ou lorsque deux demandes successives de la même information sont espacées dans le temps d'une durée supérieure à la durée de validité. Cette situation est assez rare dans la mesure o un utilisateur sélectionne souvent les mêmes informations, au gré de son choix usuel des applications interactives proposées, ou au gré de ses habitudes. Elles ne pénalisent donc pas le fonctionnement général. De plus, les attentes subies par l'utilisateur peuvent être réduites lorsque les durées de vie courtes des informations sont affectées à des informations dont le cycle de récurrence est également court. Le téléchargement permet, d'une part, de mettre en place l'information dans la mémoire tampon, et, d'autre part, de la stocker dans la mémoire cache. SP 18880/EW Une fois stockée dans la mémoire cache, l'information peut être supprimée de la mémoire tampon. Pour des raisons de clarté, le chargement de l'information dans la mémoire tampon est indiquée de façon séparée avec la référence 112a. Il est cependant concomitant au téléchargement. Le chargement de la même information dans la mémoire cache, est précédé par une étape préliminaire 114 d'affectation d'une date ou d'une durée de validité. Comme indiqué précédemment, les informa-tions peuvent être repérées par un identifiant représentatif du contenu de l'information. Dans ce cas, une information nouvelle, qui n'a pas été trouvée dans la mémoire cache, ou dont la donnée de date ou de durée de validité est différente de celle d'une information existant dans la mémoire cache, se voit attribuer un nouvel identifiant et ne peut donc pas être confondue avec une information obsolète demeurant dans la mémoire. Une information reconnue obsolète peut ainsi soit être effacée de la mémoire lors de l'étape de comparaison 106 soit y être conservée jusqu'à un effacement automatique selon le principe déjà évoqué du premier entré, premier sorti. Si toutes les informations obsolètes ont déjà été supprimées, des informations encore valides peuvent également être supprimées si nécessaire, pour libérer de la place de mémoire. Les informations supprimées sont alors les plus anciennes, toujours selon le principe du premier entré-premier sorti. SP 18880/EW Lorsqu'une information de données est associée à une information de programme, par exemple, une application interactive, il est possible d'utiliser, pour l'information de données, un identifiant fonction de celui utilisé pour l'information de programme correspondante. A titre d'exemple, la "signature" d'une information du programme peut être utilisé pour localiser dans la mémoire cache les informations de données correspondantes. Il s'agit là, de façon générale, d'une facilité pour la recherche ultérieure de l'information dans la mémoire.. . DOCUMENT CITE (1) EP-A-0 823 798 SP 18880/EW REVENDICATIONS 1. Procédé de gestion d'informations dans un système de communication interactif comprenant: a) suite à une demande d'une information (106) par un utilisateur ou résultant de l'exécution d'un programme, - la vérification (102, 104) si ladite information est disponible dans une mémoire dite mémoire cache, - le chargement (110) de l'information depuis. . la mémoire cache lorsqu'elle est disponible, et - le chargement de l'information depuis une source de diffusion lorsqu'elle est indisponible dans la mémoire cache, b) et comprenant en outre: - l'association (114) à au moins une partie des informations de la mémoire cache d'une donnée de validité, - la vérification de la durée de validité d'une information contenue dans la mémoire cache, en réponse à la demande de ladite information, et - le chargement de l'information depuis la source de diffusion lorsque la donnée de validité de l'information disponible dans la mémoire cache est révolue. 2. Procédé selon la revendication 1, comprenant en outre, suite à la demande d'une information par l'utilisateur, la mise en mémoire de ladite information SP 18880/EW chargée depuis la source de diffusion, lorsque celle-ci est préalablement indisponible dans la mémoire. 3. Procédé selon la revendication 1, dans lequel on affecte à l'information la donnée de validité lors de sa mise en mémoire. 4. Procédé selon la revendication 1, dans lequel on affecte à l'information une donnée de validité en fonction du contenu de ladite information. 5. Procédé selon la revendication 1, dans lequel on affecte à l'information une donnée de validité fonction d'un type d'information auquel l'information correspond. 6. Procédé selon la revendication 1, dans lequel on affecte à l'information une donnée de validité arbitraire prédéterminée. 7. Procédé selon la revendication 1, dans lequel on affecte, dans la mémoire cache, à chaque information un identifiant. 8. Procédé selon la revendication 7, dans lequel l'identifiant de l'information est fonction du contenu de celle-ci. 9. Procédé selon la revendication 7, pour la gestion d'informations de données associées à des informations de programme, dans lequel on affecte à une SP 18880/EW information de données un identifiant qui est fonction de l'identifiant affecté à une information de programme associée. 10. Procédé selon la revendication 1, dans lequel l'information est mise en mémoire sous la forme de tables ou de sections MPEG. 11. Dispositif de communication interactive comprenant: - une unité (24) de traitement des informations, - un système (10, 14, 22) de téléchargement d'informations depuis une source de diffusion, en réponse à une commande de l'unité de traitement, - au moins une mémoire supplémentaire (30) (cache) de réception des informations, pour leur conservation en association avec une donnée de durée de validité, - un système de gestion (31) de mémoire pour charger, en réponse à une commande de l'unité de traitement des informations depuis la mémoire supplémentaire (30) lorsque ces informations, avec une donnée de validité non révolue, sont présentes dans la mémoire supplémentaire. SP 18880/EW