Brevet FR3023937A1 — publié le 20160122

Domaine technique L'invention se rapporte à un procédé de gestion du stockage de contenus dans un système informatique. Par contenu on entend toutes les données informatiques qu'un utilisateur peut souhaiter stocker, que ce soit tout ou partie de média (films, photos, etc.), de documents, de fichiers de travail, etc. Etat de la technique Les contenus multimédias sont accessibles sous plusieurs formes. La télévision diffusée, la télévision à la demande, la vidéo à la demande font partie des services les plus utilisés pour l'accès à ce type de contenus. Grâce à ces services, un utilisateur d'un terminal peut visualiser un contenu au travers d'un réseau de communication; l'utilisateur peut également enregistrer un contenu sur un ordinateur local, ou sur un ordinateur distant (un serveur) via un réseau de communication tel que le réseau Internet (technique plus connue sous l'appellation anglo-saxonne « cloud computing » par l'homme du métier) de manière à voir ou à revoir ce contenu. Les inventeurs ont constaté que les contenus sont enregistrés indépendamment les uns des autres. En conséquence, un même contenu peut être stocké plusieurs fois. Or, les contenus sont de plus en plus volumineux. L'espace mémoire alloué à un utilisateur, qu'il soit celui de l'ordinateur local ou distant, est limité en taille ; en conséquence, la taille maximale allouée est rapidement atteinte. Dans le cas où le stockage s'effectue sur un serveur distant, ce dernier voit son espace mémoire disponible diminuer très rapidement. Une solution consiste à ajouter des serveurs distants. Cependant, cette solution impose une multiplication exponentielle du nombre de serveurs pour contenir toutes les données. Le coût en argent résultant d'une telle solution n'est pas envisageable ; de plus, la consommation énergétique résultante serait alarmante. L'invention vient améliorer la situation.30 L'invention L'invention se rapporte à un procédé d'enregistrement d'un contenu, des demandes d'enregistrement étant aptes à provenir d'une pluralité de terminaux ayant respectivement des espaces mémoires alloués pour l'enregistrement de contenus, à une demande d'enregistrement d'un contenu étant associée un instant de début et un instant de fin, caractérisé en ce que plusieurs demandes d'enregistrement reçues relativement à un même contenu par différents terminaux, ledit contenu ayant été préalablement enregistré, font l'objet de références vers ce contenu enregistré, respectivement. L'invention tire profit du fait que les demandes d'enregistrement et les enregistrements réalisés par différents terminaux sont visibles depuis un module de gestion d'enregistrement ; en d'autres mots, le module de gestion a connaissance des demandes d'enregistrements et des enregistrements déjà réalisés, et peut à ce titre optimiser l'espace mémoire en réduisant l'espace de stockage effectif des contenus grâce au procédé de l'invention. En effet, selon le procédé de l'invention, plusieurs demandes d'enregistrement relatives à un même contenu font l'objet d'une référence vers le contenu enregistré. La taille d'une référence étant de l'ordre de quelques kilo-octets, le contenu pouvant atteindre quant à lui plusieurs giga-octets, l'invention réduit indéniablement l'espace occupé par l'enregistrement des contenus. A noter que des demandes d'enregistrement peuvent être groupées et que le principe de l'l'invention s'applique à tout ou partie des groupements. Idéalement, le contenu est enregistré une fois ; et les autres enregistrements de ce même contenu sont remplacés en mémoire par une référence apte à référencer ou pointer vers le contenu enregistré. Selon un premier mode de mise en oeuvre particulier de l'invention, qui pourra être mis en oeuvre alternativement ou cumulativement, les demandes d'enregistrement reçues relativement à un même contenu, incluent des instants de début et de fin respectifs. Dans cette configuration, une demande d'enregistrement est suivie d'un enregistrement réalisé avec un instant de début et un instant de fin choisis parmi lesdits instant de début et de fin des enregistrements réalisés pour ce contenu, respectivement. Selon un second mode de mise en oeuvre particulier de l'invention, qui pourra être mis en oeuvre alternativement ou cumulativement, l'instant de début choisi est le plus ancien, et l'instant de fin choisi est le plus récent. Dans cette configuration, la plage temporelle liée à l'enregistrement est la plus grande. Cette caractéristique augmente les chances que le contenu (une émission de télévision par exemple) soit enregistré avant son début et après sa fin. Selon un troisième mode de réalisation, qui pourra être mis en oeuvre alternativement ou cumulativement, une suppression d'un contenu enregistré implique une définition de nouveaux instants de début et de fin choisis parmi lesdits instant de début et de fin des enregistrements en cours pour ce contenu. On verra dans la suite que le contenu est proposé par un fournisseur de contenus. Selon un cinquième mode de réalisation, qui pourra être mis en oeuvre alternativement ou cumulativement, la référence est faite vers le contenu enregistré chez le fournisseur. Selon un sixième mode de réalisation, qui pourra être mis en oeuvre alternativement ou cumulativement, une première demande d'enregistrement est suivie d'un enregistrement du contenu dans l'espace mémoire alloué du terminal à l'origine de la demande ; une demande d'enregistrement ultérieure relativement au même contenu fait l'objet d'une référence vers ce contenu enregistré. Les deux derniers modes sont deux alternatives. Le cinquième évite un enregistrement de contenus dans les mémoires allouées aux utilisateurs. Seul le fournisseur stocke le contenu en question ; tous les enregistrements réalisés relativement à ce contenu font référence au contenu stocké chez le fournisseur. Le sixième mode peut aussi être avantageux notamment un souhait d'étanchéité entre le fournisseur et un gestionnaire des mémoires allouées est souhaité. Le gestionnaire est par exemple un opérateur de télécommunication. De cette manière, le fournisseur n'a aucune implication dans la gestion des enregistrements. Selon un aspect matériel, l'invention se rapporte à un dispositif comprenant un module de réception apte à recevoir des demandes d'enregistrement d'un contenu issues d'une pluralité de terminaux ayant respectivement des espaces mémoires alloués pour l'enregistrement de contenus, à une demande d'enregistrement d'un contenu étant associée un instant de début et un instant de fin, caractérisé en ce que le dispositif comprend en outre un module de gestion de l'enregistrement apte, lorsque plusieurs demandes d'enregistrement sont reçues relativement à un même contenu par différents terminaux, ledit contenu ayant été préalablement enregistré, à créer des références respectives vers ce contenu enregistré. Corollairement au premier mode de réalisation, qui pourra être mis en oeuvre alternativement ou cumulativement, les demandes d'enregistrement reçues relativement à un même contenu, incluent des instants de début et de fin respectifs. Dans cette configuration, le module gestionnaire à réaliser un enregistrement avec un instant de début et un instant de fin choisis parmi lesdits instant de début et de fin des enregistrements réalisés pour ce contenu, respectivement. Selon un autre aspect matériel, l'invention a trait à un module de gestion de l'enregistrement tel que défini ci-dessus. Selon un autre aspect matériel, l'invention se rapport à un programme d'ordinateur apte à être mis en oeuvre sur un dispositif tel que défini ci-dessus, ledit programme comprenant des instructions de code qui, lorsque le programme est exécuté par un processeur réalise un enregistrement d'un contenu selon le procédé tel que défini ci-dessus. Bien entendu, chacun de ces équipements à savoir les terminaux, le dispositif, comporte des moyens logiciels tels que des instructions du programme informatique précité, ces instructions étant exécutées par des moyens physiques tels qu'au moins un processeur et une mémoire de travail. L'invention sera mieux comprise à la lecture de la description qui suit, donnée à titre d'exemple et faite en référence aux dessins annexés sur lesquels : La figure 1 représente un système informatique sur lequel est illustré un exemple de réalisation de l'invention. Les figures 2 et 3 sont des algorithmes représentatifs de deux modes de réalisations de l'invention, l'un concernant un enregistrement de contenu, l'autre une suppression de contenu. Les figures 4a à 4c sont des vues schématiques des moyens de stockage alloués aux terminaux, respectivement. La figures 5a est une vue schématique des plages temporelles liés à trois enregistrements d'un même contenu selon un mode de réalisation. La figure 5b est une vue de la plage temporelle sélectionnée pour un contenu suite à un enregistrement, selon un mode de réalisation du procédé de l'invention. La figure 5c est une vue de la plage temporelle sélectionnée pour un contenu suite à une suppression, selon un mode de réalisation du procédé de l'invention. Description détaillée d'un exemple de réalisation illustrant l'invention La figure 1 représente un système informatique SYS comprenant une infrastructure d'un fournisseur de contenus comprenant un fournisseur de contenus FCNT, un lieu de stockage de données et des terminaux T1-T3. Les différentes entités sont aptes à communiquer via un réseau de communication RES par exemple le réseau Internet. Le fournisseur de contenus FCNT offre des contenus accessibles depuis les terminaux T1-T3. Les terminaux ont une structure similaire à un ordinateur ; il comprennent des mémoires M articulées autour de processeurs CPU respectifs. Les mémoires peuvent être de type ROM (de l'anglais Read Only Memory) ou RAM (de l'anglais Random Access Memory), amovibles ou fixes, etc. les terminaux ne seront pas davantage décrits ici car connus de l'homme du métier. Un terminal peut requérir un enregistrement d'un contenu. Le lieu de stockage est indifférent. Ce lieu peut être une mémoire d'un terminal ou dans une mémoire d'un dispositif distant tel qu'un serveur SRV accessible depuis le réseau RES. Dans la suite, on considérera uniquement le cas d'un stockage sur un serveur. A noter que le réseau peut désigner un seul réseau ou une combinaison de réseaux. Dans notre exemple, sur le serveur, à chaque terminal T1-T3 correspond un espace mémoire M1-M3 disponible pour le stockage de données. Précisons ici qu'un terminal peut désigner un ensemble de terminaux d'un même compte utilisateur ; un compte utilisateur pouvant désigner une personne voire plusieurs personnes par exemple une famille. Un module de gestion de l'enregistrement MNG gère le stockage des données. Dans notre exemple, le module de gestion est localisé sur le serveur. De cette manière, si le terminal T1 requiert le stockage d'un contenu Cl dans son espace alloué, le module de gestion MNG gère le stockage de ce contenu dans la mémoire Ml. Selon l'invention, en référence à la figure 2, le module de gestion MNG reçoit une demande d'enregistrement RQ-WR-C1 d'un contenu lors d'une première étape ET11. Cette demande inclut un instant de début et de fin relatifs au contenu Cl à enregistrer. Lors d'une deuxième étape ET12, Le module de gestion MNG vérifie si ce contenu a déjà fait l'objet d'un enregistrement par un autre utilisateur. Dans la négative, lors d'une troisième étape ET13, dans notre exemple, le contenu est enregistré dans l'espace mémoire concerné avec les instants de début et de fin spécifiés. Dans l'affirmative, lors d'une quatrième étape ET14, le module de gestion MNG crée pour le compte utilisateur concerné un pointeur PNT, également appelé référence par l'homme du métier ou index, vers le contenu déjà stocké et décide des instants de début td et de fin tf à prendre en compte pour ce contenu en fonction des instants de début et de fin associés aux enregistrements en cours pour ce même contenu. Rappelons qu'un pointeur, ou référence, ou index est généralement une suite d'octets pointant vers une zone mémoire ou adresse mémoire. Selon une variante, lors de la troisième étape, un pointeur est créé de manière à pointer vers un contenu stocké chez le fournisseur de contenus FCNT. Dans cette configuration, toute demande d'enregistrement est suivie d'une création d'un pointeur vers un contenu stocké dans une mémoire du fournisseur de contenus FCNT. Cette variante évite un stockage du contenu dans une mémoire M1-M3. Le choix des instants à prendre en compte lors de la décision (étape ET14 décrite ci-dessus) peut s'effectuer de plusieurs manières. Selon une première variante, l'instant de début choisi est le plus ancien et l'instant de fin est le plus récent. Selon une deuxième variante, l'instant de début choisi est le récent et l'instant de fin est le plus ancien. Selon une troisième variante, l'instant de début choisi est une moyenne des instants de début ; de la même manière, l'instant de fin est une moyenne des instants de fin. Selon une quatrième variante, l'instant de début et de fin sont déterminés grâce à un programme de détection de début et de fin d'émission. Ce type de programme permet d'enregistrer l'émission à l'heure exacte de début et de fin. Ce programme évite notamment l'enregistrement d'une publicité précédant le programme à enregistrer. La création d'un pointeur PNT implique une réduction en taille de l'espace mémoire d'une taille égale à celle du contenu qui aurait dû être enregistré dans l'espace ; cela implique un gain en espace mémoire pour un opérateur gestionnaire des espaces mémoires M1 à M3. En d'autres mots, un pointeur n'entraîne pas de changement pour l'utilisateur car son espace mémoire disponible est diminué d'une taille égale au contenu ; par contre, un opérateur gestionnaire des mémoires gagne en espace mémoire car un contenu enregistré plusieurs fois implique un enregistrement du contenu et un enregistrement de pointeurs vers ce contenu. Rappelons qu'un contenu du type vidéo peut atteindre une taille de 4 Go (Giga octets), alors qu'un index est de l'ordre de 64 octets. On voit ici que, pour l'opérateur, l'utilisation d'un pointeur va considérablement réduire l'espace mémoire occupé par les contenus, en particulier lorsque ceux-ci sont enregistrés plusieurs fois. Le module de gestion MNG peut aussi recevoir une demande de suppression d'un contenu enregistré issue d'un terminal d'un compte utilisateur donné. Dans cette configuration, en référence à la figure 3, une demande de suppression d'un enregistrement est reçue lors d'une première étape ET21. Lors d'une deuxième étape ET22, après suppression, le module de gestion MNG vérifie si le contenu supprimé est encore enregistré relativement à au moins un autre compte utilisateur. Si le contenu n'est pas enregistré relativement à un autre compte, le procédé est terminé (ET23). S'il est enregistré relativement à un autre compte, lors d'une étape ET24, le module de gestion MNG décide des nouveaux instants de début td et de fin tf à prendre en compte pour ce contenu compte tenu de la suppression. Le choix des instants à prendre en compte lors de la décision peut s'effectuer selon les variantes décrites ci-dessus. Aussi, après suppression, l'espace mémoire disponible, pour l'utilisateur de la mémoire, est augmentée d'une taille correspondant à la taille du contenu 20 supprimé. Les figures 4a à 4c sont des vues schématiques des espaces mémoires M1-M3 alloués aux terminaux T1-T3, respectivement. On considère qu'un contenu Cl va être enregistré par les trois terminaux T1-T3, par exemple successivement dans le temps. Dans notre 25 exemple, en référence à la figure 5a, les instants de début et de fin seront différents : - Pour le premier terminal le contenu Cl va être enregistré entre tu et t12 par un premier utilisateur UT1 ; - Pour le second terminal le contenu Cl va être enregistré entre t21 30 et t22 par un second utilisateur UT2 ; - Pour le troisième terminal le contenu Cl va être enregistré entre t31 et t32 par un troisième utilisateur UT3. Sur la figure 5a, les instants de début vérifie la relation mathématique suivante : t31>t32>t31, et les instants de début vérifie la relation mathématiques suivante : t32>t12>t22. Un mode de réalisation du procédé de l'invention va être décrit ci- dessous. On suppose dans notre exemple qu'un contenu Cl est stocké dans la mémoire M1 allouée au premier terminal Ti. On suppose aussi que le choix des instants de début et de fin sont sélectionnés selon la règle décrite dans la première variante visée ci-dessus, à savoir que l'instant de début choisi est le plus ancien et l'instant de fin est le plus récent parmi les instant de début et de fin existants, respectivement. Le module de gestion MNG reçoit une demande d'écriture RQ-WR-C1 d'un contenu Cl par le second terminal T2. Les instants de débuts et de fin choisis sont t21 et t22, respectivement. Un pointeur PNT est créé vers le contenu Cl pour le terminal T2 et l'espace alloué au deuxième terminal T2 est réduit d'une taille égale à la taille de Cl dans la mémoire M2. De plus, l'instant de début tu et de fin t12 sont choisis parmi les instants de début (t11,t21) et (t12,t22), respectivement, en application de la règle choisie ci-dessus. Le module de gestion reçoit une demande d'écriture RQ-WR-C1 du même contenu Cl par le troisième terminal T3. Les instants de débuts et de fin choisis sont t31 et t32, respectivement. Un pointeur est créé vers le contenu Cl pour le terminal T3 et l'espace alloué est réduit d'une taille égale à la taille du contenu Cl dans la mémoire M3 du terminal T3. Enfin, l'instant de début td=t11 et de fin tf= t32 sont choisis parmi les instants de début à savoir ((t11,t31) et (t12,T32)) en application de la règle choisie ci-dessus. La figure 5b est une vue schématique de la plage temporelle résultante td et tf pour le contenu Cl suite à l'enregistrement visé ci-dessus. Sur les figures 4a à 4c décrites précédemment, sont représentés : - Dans la mémoire Ml, le contenu enregistré Cl et la plage (td-tf) ; - Dans les mémoires M2 et M3, des pointeurs PNT vers le contenu Cl de la mémoire M1 (PNT->M1(C1)) respectivement. Supposons que le module de gestion reçoive ensuite une demande de suppression du contenu Cl par le premier terminal Ti. Le module de gestion supprime le pointeur concerné ; l'espace disponible est augmenté d'une taille égale au contenu supprimé. Lors d'une deuxième étape ET22, après suppression, le module de gestion MNG vérifie si le contenu supprimé est encore enregistré relativement à au moins un autre compte utilisateur. Dans notre exemple, ce même contenu est enregistré relativement aux comptes des terminaux T2 et T3. Le module de gestion décide des nouveaux instants de début et de fin à prendre en compte pour ce contenu compte tenu de la suppression. Selon la règle établie ci-dessus, les instants de début et de fin choisis sont t21 et t32. La figure 5b est une vue schématique de la plage temporelle résultante td et tf qui fait suite à la suppression de Cl visée ci-dessus. Précisons enfin ici que le terme module utilisé dans le présent texte peut correspondre aussi bien à un composant logiciel qu'à un composant matériel ou un ensemble de composants matériels et logiciels, un composant logiciel correspondant lui-même à un ou plusieurs programmes ou sous-programmes d'ordinateur ou de manière plus générale à tout élément d'un programme apte à mettre en oeuvre une fonction ou un ensemble de fonctions telles que décrites pour les modules concernés. De la même manière, un composant matériel correspond à tout élément d'un ensemble matériel (ou hardware) apte à mettre en oeuvre une fonction ou un ensemble de fonctions pour le module concerné (circuit intégré, carte à puce, carte à mémoire, etc.).30 REVENDICATIONS1. Procédé d'enregistrement d'un contenu (Cl), des demandes d'enregistrement (RQ-WR-C1) étant aptes à provenir d'une pluralité de terminaux (T1-T3) ayant respectivement des espaces mémoires alloués (M1-M3) pour l'enregistrement de contenus, à une demande d'enregistrement d'un contenu étant associée un instant de début et un instant de fin, caractérisé en ce que plusieurs demandes d'enregistrement reçues relativement à un même contenu par différents terminaux , ledit contenu ayant été préalablement enregistré, font l'objet de références vers ce contenu enregistré, respectivement. 2. Procédé selon la revendication 1, caractérisé en ce que les demandes d'enregistrement reçues relativement à un même contenu, incluent des instants de début et de fin respectifs, et en ce qu'une demande d'enregistrement est suivi d'un enregistrement réalisé avec un instant de début (td) et un instant de fin (tf) choisis parmi lesdits instant de début et de fin des enregistrements réalisés pour ce contenu, respectivement. 3. Procédé selon la revendication 2, caractérisé en ce que l'instant de début choisi est le plus ancien, et l'instant de fin choisi est le plus récent. 4. Procédé selon la revendication 1, caractérisé en ce qu'une suppression d'un contenu enregistré implique une définition de nouveaux instants de début et de fin choisis parmi lesdits instant de début et de fin des enregistrements en cours pour ce contenu. 5. Procédé selon la revendication 1, caractérisé en ce que le contenu à enregistrer est proposé par un fournisseur de contenus, et en ce que la référence est faite à ce contenu. 6. Procédé selon la revendication 1, caractérisé en ce qu'une première demande d'enregistrement est suivie d'un enregistrement du contenu dans l'espace mémoire alloué du terminal à l'origine de la demande, et en ce qu'une demande d'enregistrement ultérieure relativement au même contenu fait l'objet d'une référence vers ce contenu enregistré. 7. Dispositif (SRV) comprenant un module de réception apte à recevoir des demandes d'enregistrement (RQ-WR-C1) d'un contenu issues d'une pluralité de terminaux (T1-T3) ayant respectivement des espaces mémoires alloués (M1-M3) pour l'enregistrement de contenus, à une demande d'enregistrement d'un contenu étant associée un instant de début et un instant de fin, caractérisé en ce que le dispositif comprend en outre un module de gestion de l'enregistrement apte, lorsque plusieurs demandes d'enregistrement sont reçues relativement à un même contenu, avec des instants de début et de fin respectifs, à enregistrer un contenu avec un instant de début (td) et un instant de fin (tf) choisis parmi lesdits instant de début et de fin des enregistrements réalisés pour ce contenu, respectivement. 8. Module de gestion de l'enregistrement tel que défini dans la revendication 7. 9. Programme d'ordinateur apte à être mis en oeuvre sur un dispositif tel que défini dans la revendication 7, ledit programme comprenant des instructions de code qui, lorsque le programme est exécuté par un processeur réalise un enregistrement d'un contenu selon le procédé défini dans la revendication 1.20