Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
SYSTEM AND METHOD FOR PROVIDING DATA
Document Type and Number:
WIPO Patent Application WO/2007/045736
Kind Code:
A1
Abstract:
The invention concerns a system for providing data derived from a storage device (12) via a communication network (4) and using at least one cache memory (8), the system comprising at least one data manager (10) co-operating with the storage device. The invention is characterized in that the data manager comprises: means (16) for analyzing the content of data derived from the storage device; and means (18) for determining a data storage duration in the cache memory based on the analyzed content.

Inventors:
CAMPION SEBASTIEN (FR)
GUITOT CATHERINE (FR)
ROQUIN PHILIPPE (FR)
Application Number:
PCT/FR2006/002221
Publication Date:
April 26, 2007
Filing Date:
October 02, 2006
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
FRANCE TELECOM (FR)
CAMPION SEBASTIEN (FR)
GUITOT CATHERINE (FR)
ROQUIN PHILIPPE (FR)
International Classes:
G06F17/30
Domestic Patent References:
WO2002071191A22002-09-12
Foreign References:
US6038601A2000-03-14
Attorney, Agent or Firm:
LOISEL, Bertrand et al. (52 rue de la Victoire, Paris Cedex 09, FR)
Download PDF:
Claims:
REVENDICATIONS

1. Système de mise à disposition de données issues d'un dispositif de stockage (12) à travers un réseau (4) de communication et au moyen d'au moins une mémoire cache (8, 52), le système comprenant au moins un gestionnaire de données (10) coopérant avec le dispositif de stockage, caractérisé en ce que le gestionnaire de données comprend :

- des moyens (16) d'analyse du contenu de données issues du dispositif de stockage ; et

- des moyens (18) de détermination d'un paramètre de durée de stockage des données dans la mémoire cache en fonction du contenu analysé.

2. Système selon la revendication 1 , caractérisé en ce que lesdites données sont des données descriptives de contenus applicatifs dont la durée de vie est délimitée.

3. Système selon la revendication 2, caractérisé en ce que lesdits moyens d'analyse sont adaptés pour extraire du contenu des données une information relative à la fin de vie du contenu applicatif correspondant, lesdits moyens de détermination étant adaptés pour déterminer le paramètre de durée de stockage en fonction de cette information de fin de vie.

4. Système selon l'une quelconque des revendications 1 à 3, caractérisé en ce que lesdites données comportent des données executives destinées à permettre une utilisation de contenus applicatifs.

5. Système selon l'une quelconque des revendications 1 à 4, caractérisée en ce qu'il comporte une pluralité de mémoires caches (8, 52),

lesdites données étant mémorisées dans au moins plusieurs de ces mémoires caches pendant la durée de stockage déterminée.

6. Système selon l'une quelconque des revendications 1 à 5, caractérisé en ce que le gestionnaire de données comprend des moyens d'émission d'un message contenant à la fois les données et le paramètre de durée de stockage associé vers un client, ce message commandant la mise en mémoire cache des données pendant la durée déterminée.

7. Système selon l'une quelconque des revendications 1 à 6, caractérisé en ce qu'il comporte en outre un serveur (60) de gestion de droits associé à une base de données (62) de droits de clients, ce serveur comprenant des moyens d'émission vers un client et en réponse à une requête spécifique, de données relatives aux droits personnels de ce client.

8. Procédé de mise à disposition de données, caractérisé en ce qu'il comprend les étapes suivantes :

- analyser (28, 88) le contenu de données issues d'un dispositif de stockage (12) ; - attribuer (30, 90) auxdites données un paramètre de durée de stockage ; et

- stocker (34 ; 96, 98) les données dans au moins une mémoire cache (8, 52) pendant cette durée déterminée.

9. Procédé selon la revendication 8, caractérisé en ce que lesdites données sont des données descriptives de contenus applicatifs dont la durée de vie est délimitée.

10. Procédé selon la revendication 9, caractérisé en ce que ladite étape (28, 88) d'analyse du contenu des données, comprend l'extraction dans le contenu des données d'une information de fin de vie du contenu applicatif correspondant et en ce que ladite étape de détermination du paramètre de durée de stockage est réalisée en fonction de cette information de fin de vie.

11. Procédé selon la revendication 10, caractérisé en ce que ladite étape de détermination du paramètre de durée de stockage comprend la détermination de la durée séparant l'instant courant de l'instant de fin de vie du contenu applicatif.

12. Procédé selon l'une quelconque des revendications 8 à 11, caractérisé en ce que lesdites données comportent des données executives destinées à permettre une utilisation de contenus applicatifs.

13. Procédé selon l'une quelconques des revendications 8 à 12, caractérisé en ce que le stockage des données pendant la durée déterminée est réalisée sur une pluralité de mémoires caches (8, 52).

14. Procédé selon l'une quelconque des revendications 8 à 13, caractérisé en ce qu'il comporte en outre les étapes suivantes :

- l'interrogation (70) par un client d'un serveur (60) de gestion de droits ; et

- l'émission (72) en retour par ce serveur et vers ce client, de données relatives à ses droits personnels.

15. Gestionnaire de données issues d'un dispositif de stockage (12), caractérisé en ce qu'il comporte :

- des moyens (16) d'analyse du contenu desdites données ; et

- des moyens (18) de détermination d'un paramètre de durée de stockage de ces données dans au moins une mémoire cache (8, 52) en fonction du contenu analysé.

16. Programme d'ordinateur pour un gestionnaire (10) de données issues d'un dispositif de stockage (12), caractérisé en ce qu'il comporte des instructions qui, lorsqu'elles sont exécutées sur un calculateur de ce gestionnaire de données, commandent la mise en œuvre du procédé selon l'une des revendications 8 à 14.

Description:

A

SYSTEME ET PROCEDE DE MISE A DISPOSITION DE DONNEES

La présente invention concerne la mise à disposition de données issues d'un dispositif de stockage, notamment au moyen de mémoires caches. De manière classique, dans les réseaux de communication tels que le réseau Internet, des mémoires caches sont utilisées pour stocker temporairement des données et permettre un accès plus rapide que lorsque les données sont dans des dispositifs de stockage permanent tels que des bases de données mémorisées sur des disques durs.

En particulier, en réponse à une requête d'un client, un serveur extrait des données d'une base de données puis les mémorise en mémoire cache. Ainsi, lors de requêtes ultérieures provenant du même client ou d'un autre client, les données sont extraites de la mémoire cache sans nécessiter d'interrogation de la base de données.

étant donné que le temps d'accès aux mémoires caches est plus court que celui d'accès aux bases de données sur disque, les échanges de données sont plus rapides. Toutefois, les mémoires caches étant de taille plus réduite que les bases de données, les données n'y sont stockées que de manière temporaire. Les données dans ces mémoires caches sont souvent gérées en fonction de l'ancienneté, les données les plus récentes remplaçant les données les plus anciennes selon le principe du « premier entré - premier sorti » ("First In - First Out").

Certaines techniques plus récentes visent à stocker les données pendant une durée déterminée en fonction de paramètres du système ou de paramètres des données, tels que par exemple la taille des données, la fréquence des accès, où la charge des équipements. Dans de tels modes de réalisation, ce sont donc les paramètres relatifs au transport des données qui sont utilisés pour déterminer la durée du stockage en mémoire cache. Un exemple d'une telle technique est décrit dans le document de brevet EP 1 139 232.

Les techniques existantes ne sont toutefois pas adaptées à certaines applications qui donnent lieu à des pics brutaux de requêtes auprès des serveurs.

C'est le cas par exemple dans la transmission de programmes de télévision sur le réseau Internet. Dans une telle application, la fin d'un programme sur un canal entraîne une multitude de requêtes visant à connaître la nature des programmes en cours sur les autres canaux.

Les serveurs doivent alors interroger plusieurs fois les bases de données pour obtenir des données descriptives des programmes en cours sur chacun des autres canaux et ce sur une période de temps très courte.

De plus, si le service prévoit des droits différents en fonction des clients, liés par exemple à des abonnements différents, il faut en outre collecter ces données de droit sur d'autres bases de données pour constituer des réponses personnalisées vers chacun des clients. Les serveurs risquent de saturer et de provoquer une baisse sensible de la qualité de service.

Le but de présente invention est de proposer un système et une méthode de mise à disposition de données au moyen de mémoires caches, apte à supporter d'importants pics de requêtes d'accès, notamment dans le cadre de la diffusion de données descriptives de contenus applicatifs, tels que des contenus audio, vidéos ou multimédia.

A cet effet, l'invention a pour objet un système de mise à disposition de données issues d'un dispositif de stockage à travers un réseau de communication et au moyen d'au moins une mémoire cache, le système comprenant au moins un gestionnaire de données coopérant avec le dispositif de stockage, caractérisé en ce que le gestionnaire comprend :

- des moyens d'analyse du contenu des données issues du dispositif de stockage ; et

- des moyens de détermination d'un paramètre de durée de stockage des données dans la mémoire cache en fonction du contenu analysé.

L'invention a également pour objet un procédé de mise à disposition de données, caractérisé en ce qu'il comprend les étapes suivantes :

- analyser le contenu de données issues d'un dispositif de stockage ;

- attribuer auxdites données un paramètre de durée de stockage ; et - stocker les données dans au moins une mémoire cache pendant cette durée déterminée.

En conséquence, le système et le procédé de l'invention permettent d'adapter la durée de stockage au contenu des données issues du dispositif de stockage. Il ne s'agit pas de considérer que des informations de formatage ou de transport des données, mais de faire porter l'analyse sur le contenu des données c'est-à-dire sur l'information qu'elles véhiculent.

Selon d'autres caractéristiques de l'invention :

- lesdites données sont des données descriptives de contenus applicatifs dont la durée de vie est délimitée ; - l'analyse est adaptée pour extraire du contenu des données une information relative à la fin de vie du contenu applicatif correspondant, et la détermination du paramètre de durée de stockage est réalisé en fonction de cette information de fin de vie ;

- lesdites données sont mémorisées dans au moins plusieurs mémoires caches pendant la durée de stockage déterminée ;

- le gestionnaire de données comprend des moyens d'émission d'un message contenant à la fois les données sélectionnées et le paramètre de durée de stockage associé vers un client, ce message commandant la mise en mémoire cache des données pendant la durée déterminée ; - avantageusement, l'invention peut comporter un serveur de gestion de droits associé à une base de données de droits de clients, ce serveur comprenant des moyens d'émission vers un client et en réponse à une requête spécifique, de données relatives aux droits personnels de ce client.

L'invention porte également sur un gestionnaire de données issues d'un dispositif de stockage, caractérisé en ce qu'il comporte :

- des moyens d'analyse du contenu desdites données ; et

- des moyens de détermination d'un paramètre de durée de stockage de ces données dans au moins une mémoire cache en fonction du contenu analysé.

Enfin, l'invention porte sur un programme d'ordinateur pour un gestionnaire de données issues d'un dispositif de stockage, caractérisé en ce qu'il comporte des instructions qui, lorsqu'elles sont exécutées sur un calculateur de ce gestionnaire de données, lui font :

- analyser le contenu desdites données ; et

- déterminer en fonction du contenu analysé un paramètre de durée de stockage de ces données dans au moins une mémoire cache.

L'invention sera mieux comprise à la lumière de la description faite à titre d'exemple et en référence aux figures sur lesquelles :

- les figures 1 et 2 représentent respectivement un schéma bloc et un diagramme de flux d'un premier mode de réalisation de l'invention ; et

- les figures 3 et 4 représentent respectivement un schéma bloc et un diagramme de flux d'un second mode de réalisation de l'invention.

La présente invention va être décrite dans le cadre de la diffusion de programmes audiovisuels sur le réseau Internet. Plus précisément, l'invention est décrite pour la mise à disposition de données descriptives des programmes de télévision qui sont également appelées métadonnées. Le contenu de ces données descriptives regroupe des informations relatives au programme de télévision correspondant, telles que les horaires de début et de fin du programme ainsi que le titre et diverses autres informations.

Dans la suite on appelle « contenu des données descriptives » les informations utiles transportées par ces données par distinction avec les

informations de service qui sont notamment les paramètres de transport tel que la taille du paquet formé par les données descriptives.

Dans un premier mode de réalisation de l'invention, représenté en référence aux figures 1 et 2, le système comprend plusieurs clients 2i à 2 N reliés par le réseau de type Internet 4 à un serveur Internet 6. Dans ce mode de réalisation, tous les clients ont les mêmes droits et les mêmes capacités et sont par exemples des équipements de téléphonie mobile aptes à recevoir des flux de télévision transmis sur le réseau Internet selon le protocole IP ou sur un réseau hertzien selon le protocole DVB-H. Le serveur 6 est associé à une mémoire cache 8 ainsi qu'à un gestionnaire de données 10 qui, dans ce mode de réalisation, contrôle les accès à une base de données 12 distante formée par exemple d'un ensemble de disques durs qui contiennent des données descriptives des programmes de télévision. Le gestionnaire de données 10 comprend par exemple, un microprocesseur 13 comportant des logiciels formant des moyens de sélection 14 de données dans la base de données 12 ainsi que des moyens 16 d'analyse du contenu de ces données et des moyens 18 de détermination de leur durée de stockage. Le microprocesseur 13 est en outre associé à des mémoires telles qu'une mémoire RAM 19 par des bus de données non de manière classique.

En référence à la figure 2, on va maintenant décrire le mode de fonctionnement du système de l'invention.

Le procédé débute par une étape 20 d'émission d'une requête par un client 2i vers le serveur 6 qui demande la nature des programmes en cours sur un canal donné.

Le serveur 6 interroge la mémoire cache 8 au cours d'une étape 22 et, dans le cas où les données ne sont pas disponibles dans la mémoire cache, il transmet la requête au gestionnaire de données 10 lors d'une étape 24. Le gestionnaire 10 à l'aide des moyens 14 de sélection, extrait de la base 12 les données requises lors d'une étape 26.

Le gestionnaire 10 analyse alors le contenu de ces données afin de déterminer l'horaire de fin du programme lors d'une étape 28. Ainsi, les moyens

16 du gestionnaire accèdent au contenu des données descriptives pour le lire, l'analyser et extraire de la description du programme, l'information relative à l'horaire de fin.

Les moyens 18 déterminent alors un paramètre de durée de stockage lors d'une étape 30 qui est fonction de l'analyse réalisée précédemment. Dans le mode de réalisation décrit, les données descriptives d'un programme sont stockées jusqu'à l'instant de fin de ce programme et le paramètre de durée correspond à la durée entre l'instant courant et l'instant de fin du programme.

L'ensemble formé des données descriptives et du paramètre de durée est transmis au serveur 6 lors d'une étape 32. Le serveur place dans la mémoire cache 8 les données descriptives où elles seront maintenues pendant la durée déterminée précédemment, c'est-à-dire jusqu'à la fin du programme correspondant.

Simultanément, le serveur 6 transmet ces données descriptives au client 2i lors d'une étape 36.

Ultérieurement, lors d'une étape 40, un autre client 2N émet vers le serveur 6 la même requête que celle émise précédemment lors de l'étape 20. Le serveur 6 interroge la mémoire cache 8 lors d'une étape 42 et reçoit en retour les données descriptives constituant la réponse à cette requête. Le serveur 6 peut alors directement répondre au client 2N lors d'une étape 44 sans interroger le gestionnaire de données 10 et la base de données 12.

Une fois la durée déterminée écoulée, les données descriptives sont automatiquement effacées de la mémoire cache. En effet, le programme auquel ces données étaient associées est terminé de sorte que ces données descriptives ne seront plus émises en réponse aux requêtes des clients.

Ainsi, du fait de l'analyse du contenu des données descriptives sélectionnées dans la base de données, l'invention permet d'adapter la durée de stockage dans la mémoire cache à la durée du programme correspondant.

En conséquence, un seul accès à la base de données est nécessaire pour mettre à la disposition les données descriptives d'un programme.

Cette solution est particulièrement adaptée aux cas des programmes de télévision. En effet, il existe sur chaque canal de l'ordre de 20 à 50 programmes et le nombre de requêtes relatives aux données descriptives de ces programmes est très important. En référence aux figures 3 et 4, on va maintenant décrire un autre mode de réalisation de l'invention.

Dans ce mode de réalisation, les terminaux 2i à 2N sont reliés au réseau Internet 4 par l'intermédiaire d'un équipement de raccordement appelé serveur Proxy 50 lequel dispose d'une mémoire cache associée 52. De même, le serveur Internet 6 est relié au réseau 4 par l'intermédiaire d'un autre serveur

Proxy 54 qui contrôle la mémoire cache 8.

Enfin, dans ce mode de réalisation, le système comprend également un serveur 60 de gestion de droits associé à une base de données 62 contenant des données relatives aux droits de chacun des clients du service. Dans ce mode de réalisation, chacun des clients 2i à 2N est amené à interroger le serveur de droits 60 lors d'une étape 70, pour obtenir les données relatives à ses droits personnels lors d'une étape 72.

Ainsi, les droits personnels des clients sont transmis au cours d'un échange dédié. Par exemple, les clients disposent d'une liste des canaux dont ils sont autorisés à visualiser les programmes.

Ultérieurement, un client 2i émet, lors d'une étape 80, une requête relative à des données descriptives du programme en cours sur un canal. Cette requête est relayée jusqu'au serveur 6 via les proxys 50 et 54. Chacun de ces proxys vérifie lors de la réception de la requête s'il dispose des données dans sa mémoire cache associée, soit respectivement dans les mémoires 52 et 80.

Dans l'exemple, aucun des deux Proxys 50 et 54 ne dispose de la réponse à la requête, de sorte que cette requête est transmise jusqu'au serveur 6 qui, comme précédemment, la répercute au gestionnaire de données

10 lors d'une étape 82. Le gestionnaire 10 accède à la base de données 12 lors d'une étape 84 pour extraire les données requises.

De manière similaire au mode de réalisation décrit en référence aux figures 1 et 2, ces données descriptives comportent une information relative à

la fin de vie du programme correspondant. Le gestionnaire de données 10 analyse le contenu des données extraites de la base de données lors d'une étape 88 et détermine le paramètre de durée de stockage lors d'une étape 90.

Lors d'une étape 92, les données descriptives ainsi que le paramètre de durée de stockage sont transmis au serveur 6 qui envoie au client 2i la réponse à la requête lors d'une étape 94.

Cette réponse est transmise par les serveurs Proxys 50 et 54 chacun d'entre eux l'interceptant puis la relayant afin de mettre les données dans sa mémoire cache associée. Ainsi, le serveur Proxy 54 stocke les données descriptives dans la mémoire cache 8 lors d'une étape 96 et le serveur Proxy 50 stocke ces données descriptives dans la mémoire cache 52, lors d'une étape 98.

Le paramètre de durée de stockage étant transmis avec la réponse lors de l'étape 94, chacun des serveurs Proxys dispose de ce paramètre de durée et peut gérer sa mémoire cache en fonction afin de stocker les données pendant la durée déterminée.

La propagation du contenu d'une mémoire cache sur différents serveurs Proxys reliant des clients à un serveur de contenu est réalisé grâce à l'utilisation de moyens techniques classiques dans le domaine de l'Internet, tel que le protocole HTTP/IP.

Ultérieurement, un autre client 2 N émet une requête 100 relative aux mêmes données descriptives que la requête 70, c'est-à-dire portant sur les données descriptives du même programme sur le même canal.

Cette requête 100 est interceptée par le serveur Proxy 50 qui accède à la mémoire cache lors d'une étape 102 et retourne directement à les données lors d'une étape 104, sans relayer la requête aux autres équipements.

éventuellement, un autre client directement relié au réseau, et qui ne dispose pas de serveur Proxy, verra sa requête interceptée par le serveur

Proxy 54 qui accédera à la mémoire cache 8 pour lui retourner les données requises, sans relayer la requête aux autres équipements et notamment sans relayer cette requête au gestionnaire de données 10.

Une fois la durée déterminée écoulée, les données pourront être effacées de toutes les mémoires caches. En particulier, lorsqu'un serveur souhaite mémoriser de nouvelles données, le paramètre de durée de stockage associé aux données descriptives indique que ces données peuvent être écrasée par d'autres.

Dans ce mode de réalisation, la séparation des données personnelles relatives aux droits des clients et des données descriptives permet de rendre mutualisables les données descriptives issues de la base de données 12.

En effet, grâce à cette séparation, les données descriptives des programmes sont identiques pour tous les clients. Toutefois, en fonction de leurs droits respectifs, les clients ne peuvent émettre des requêtes que relatives à des données descriptives de programmes auxquels ils ont accès.

De plus, la propagation des données descriptives avec l'attribut de durée de stockage correspondant dans les différentes mémoires caches du réseau permet de diminuer sensiblement la charge des équipements associés au serveur Internet 6.

Bien entendu, d'autres modes de réalisation de l'invention sont également possibles.

Notamment, il est possible de propager les données descriptives de programmes dans les mémoires caches spontanément sans attendre de requête émanant d'un client. Par exemple, périodiquement, les données descriptives de tous les programmes en cours sont propagées dans les mémoires caches.

Par ailleurs, il est également possible de compiler les données descriptives de plusieurs programmes pour les transmettre à un client tout en attribuant à chacune ou à des groupes de ces données descriptives, un paramètre de durée de stockage commandant la mise en mémoire cache.

Les différents éléments permettant la diffusion du service peuvent être distribuées différemment. Dans un mode de réalisation particulier, le serveur Internet est confondu avec le gestionnaire de données et le serveur Proxy formant un unique équipement gérant la mémoire cache et la base de données.

Dans d'autres modes de réalisation, ces fonctionnalités sont réparties dans des entités différentes.

Dans encore un autre mode de réalisation, le serveur de gestion de droits et le serveur de diffusion de données descriptives sont confondus et les bases de données de droits et les bases de données descriptives utilisent les mêmes ressources matérielles. Dans un tel mode de réalisation, les données relatives aux droits et les données de contenu descriptif sont toutefois considérées séparément et transmises lors d'échanges distincts.

En variante, le gestionnaire de données est un dispositif qui ne fait qu'analyser le contenu des données et déterminer le paramètre de stockage, sans réaliser la sélection des données. Dans un tel mode de réalisation, le gestionnaire fonctionne sous le contrôle d'un autre équipement, comme par exemple un serveur, qui reçoit les requêtes, extrait les données et renvoie les réponses. Selon un mode de réalisation, le gestionnaire de données comporte différents modules logiciels comprenant des instructions qui, lorsqu'elles sont exécutées entraînent la mise en œuvre du procédé de l'invention.

Par ailleurs, l'invention peut également être mise en œuvre avec d'autres types d'applications et de contenus applicatifs que des programmes de télévision diffusés sur le réseau Internet.

Par exemple, les données mémorisées en mémoire cache peuvent également inclure des données executives, c'est-à-dire des données formant un programme qui peut être exécuté par un calculateur, telles que des applications logicielles, et notamment, des applications dites « Javascript », utiles pour l'accès aux contenus applicatifs.

Dans un tel mode de réalisation, l'analyse du contenu de ces données executives permet de déterminer le paramètre de durée de stockage.

Avantageusement, les données mémorisées en mémoire cache comprennent des données descriptives et des données executives. Enfin, le réseau utilisé peut être un réseau de communication étendu ou un réseau local ou encore un réseau domestique.