Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
MANAGEMENT OF DATA STORAGE IN A DISTRIBUTED STORAGE SPACE
Document Type and Number:
WIPO Patent Application WO/2011/045512
Kind Code:
A1
Abstract:
The invention relates to a method for selecting at least one device (RD, WR) for handling data, said at least one device (DSP2, DSP3) being selected from among a plurality of devices (DSP1-DSP4) forming a distributed storage space, characterised in that the selection of a device includes a step of considering at least one piece of technical information related to the device.

Inventors:
FOULONNEAU ANTHONY (FR)
DECHORGNAT ALAIN (FR)
Application Number:
PCT/FR2010/052139
Publication Date:
April 21, 2011
Filing Date:
October 11, 2010
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
FRANCE TELECOM (FR)
FOULONNEAU ANTHONY (FR)
DECHORGNAT ALAIN (FR)
International Classes:
G06F3/06; G06F1/32
Foreign References:
US20070101173A12007-05-03
US20090100216A12009-04-16
US20070208921A12007-09-06
Other References:
None
Attorney, Agent or Firm:
FRANCE TELECOM R&D/PIV/BREVETS (FR)
Download PDF:
Claims:
Revendications

1. Procédé de sélection d'au moins un dispositif pour la manipulation (RD,WR) de données, ledit au moins un dispositif (DSP2,DSP3) étant sélectionné parmi une pluralité de dispositifs (DSP1-DSP4) formant un espace de stockage distribué, caractérisé en ce que la sélection d'un dispositif comprend une étape de prise en compte d'au moins une information technique associée au dispositif.

2. Procédé selon la revendication 1, caractérisé en ce que les dispositifs ont un état électrique (VLL,ON,OFF) respectif impliquant une consommation en énergie respective lors d'une manipulation de données, et en ce que ladite au moins une caractéristique technique est l'état électrique du dispositif.

3. Procédé selon la revendication 2, caractérisé en ce qu'un dispositif est apte à se trouver dans plusieurs états dont un état prêt à l'emploi (ON), en ce que ledit au moins un dispositif sélectionné est celui dont l'état électrique est dans un état prêt à l'emploi (ON).

4. Procédé selon la revendication 1 ou 2, caractérisé en ce que les dispositifs réalisent une manipulation selon une vitesse d'exécution respective, et en ce que l'information technique est liée au temps d'exécution d'une manipulation par le dispositif concerné.

5. Module (MGT) apte à être installé dans un dispositif (DSP1), ledit module étant apte, lors d'une demande de manipulation de données, à sélectionner, pour la manipulation des données, au moins un dispositif parmi une pluralité de dispositifs formant un espace de stockage distribué, caractérisé en ce qu'il comprend des moyens de prise en compte d'au moins une information technique associées aux dispositifs lors de la sélection dudit au moins un dispositif.

6. Système informatique (SYS) comprenant une pluralité de dispositifs formant un espace de stockage distribué, au moins un dispositif étant apte à être sélectionné pour la manipulation de données, caractérisé en ce qu'il comprend des moyens de prise en compte d'au moins une information technique associées aux dispositifs lors de la sélection dudit au moins un dispositif. 7. Dispositif (DSP1) caractérisé en ce qu'il comprend un module tel que défini dans la revendication 4.

8. Programme d'ordinateur comprenant des instructions de code qui, lorsque le programme est exécuté, réalise les étapes du procédé défini à la revendication 1.

Description:
Gestion du stockage de données dans un espace de stockage distribué.

Domaine technique

L'invention se rapporte à une gestion du stockage de données dans un espace de stockage distribué. Rappelons qu'un système de stockage distribué comprend plusieurs dispositifs de traitement de données formant un espace de stockage unifié.

Les dispositifs de stockage sont par exemple un ordinateur, un radiotéléphone, un lecteur/enregistreur par exemple de type MP3 (acronyme du terme anglais "Windows Media Audio"), etc., et plus généralement tout dispositif apte à stocker des données.

Etat de la technique

Aujourd'hui, un utilisateur dispose de différents dispositifs de stockage pour stocker un contenu. Il dispose de dispositifs électroniques fixes tels qu'un ordinateur personnel, un disque dur de type NAS (acronyme de Network Attached Storage), etc. Il dispose aussi de dispositifs électroniques mobiles tels qu'un radiotéléphone, un appareil photo, etc. Enfin, il dispose de dispositifs électroniques, le plus souvent des serveurs, offrant des espaces de stockages en ligne (flickR, box.net, ...) accessibles via un réseau Internet.

Chaque dispositif est équipé de ressources physiques et logicielles permettant de manipuler localement des données, une manipulation incluant une lecture et une écriture de données.

Un système de stockage distribué est formé d'une pluralité de dispositifs pour constituer un espace de stockage unifié. En d'autres mots, un utilisateur souhaitant écrire ou lire un contenu dans un système de stockage distribué peut le faire sur un dispositif choisi parmi les dispositifs du système de stockage distribué.

A cet effet, un module de gestion a pour fonction la gestion de l'accès à un contenu. Pour cela, le module stocke une liste de contenus et le ou les emplacements respectifs des contenus dans les dispositifs du système de stockage distribué.

Ensuite, un utilisateur souhaitant manipuler un contenu dans le système de stockage unifié, visualise la ou les localisations du contenu grâce au module de gestion, et sélectionne un emplacement au hasard.

L'invention

Les inventeurs ont constaté qu'aucune information sur les dispositifs formant le système de stockage distribué n'était disponible pour sélectionner judicieusement un ou plusieurs dispositifs qui serviront à la manipulation des données.

En effet, un dispositif peut par exemple être éteint et dans ce cas les données ne peuvent pas être manipulées par ce dispositif, à moins de le redémarrer. Or le redémarrage en question entraîne une latence et une consommation d'énergie qui n'est pas souhaitable. Le dispositif peut aussi être alimenté en électricité mais à l'état de veille. La mise en veille des équipements électroniques est largement utilisée aujourd'hui pour limiter la consommation en énergie. La mise en veille consiste à ne plus alimenter en énergie des ressources du dispositif concerné, les ressources pouvant être un disque dur, un ventilateur, un écran, etc. Le problème est que le redémarrage d'un dispositif dans un état de veille entraîne, tout comme un dispositif éteint, une latence et une consommation d'énergie non souhaitable.

L'invention vient améliorer la situation.

A cet effet, l'invention a pour objet un procédé de sélection d'au moins un dispositif pour la manipulation de données, ledit au moins un dispositif étant sélectionné parmi une pluralité de dispositifs formant un espace de stockage distribué, caractérisé en ce que la sélection d'un dispositif comprend une étape de prise en compte d'au moins une information technique associée au dispositif. La sélection d'un dispositif se base donc sur des informations techniques relatives aux dispositifs composant le système de stockage distribué. Ces informations techniques donnent une indication sur la capacité et/ou la performance d'un dispositif à réaliser une manipulation. Ainsi, lorsqu'un utilisateur souhaite manipuler des données, c'est-à-dire lire ou écrire des données, l'utilisateur, ou le module de gestion décrit ci-dessus, ne choisit plus un dispositif aveuglément mais judicieusement en fonction de l'effet recherché.

L'effet recherché peut être une réduction de la consommation d'énergie liée à une manipulation de données, ou la diminution des latences dues à un redémarrage d'un dispositif éteint ou à l'état de veille, ou les deux effets à la fois.

Nous avons vu dans ce qui précède que des dispositifs du système de stockage distribué peuvent être dans plusieurs états électriques respectifs impliquant une consommation en énergie respective lors d'une manipulation de données. Une première variante du procédé de l'invention consiste à prendre en compte l'état électrique du dispositif. Ainsi, si le système de stockage comprend deux dispositifs et que l'un des dispositifs est à l'état de veille et que l'autre dispositif est prêt à l'emploi, l'invention privilégiera une manipulation de données sur le dispositif dont l'utilisation entraîne la consommation en énergie la plus faible, c'est-à-dire le plus souvent le dispositif prêt à l'emploi. Aussi, si un même contenu est stocké sur deux dispositifs distincts, le dispositif le moins consommateur d'énergie sera utilisé pour la lecture du contenu. Des exemples ci- dessous illustreront des dispositifs associés à un état électrique respectif et la sélection d'un ou plusieurs dispositifs en fonction de l'état électrique. Un dispositif est apte à se trouver dans plusieurs états dont un état prêt à l'emploi. Aussi, en référence à cette première variante, ledit au moins un dispositif sélectionné est celui dont l'état électrique est dans un état prêt à l'emploi. En effet, on verra dans les exemples de réalisation décrits ci-dessous que lorsqu'un dispositif dans l'état prêt à l'emploi est sélectionné, la consommation globale en énergie du système de stockage distribué sera plus faible que lorsque le dispositif sélectionné est dans un état de veille ou éteint. Chaque dispositif est plus ou moins performant du fait de ses capacités matérielles et logicielles ; chaque dispositif est donc apte à réaliser une manipulation selon une vitesse d'exécution respective. Selon une deuxième variante, qui peut être utilisée seule ou en association avec la première variante, l'information technique est une information liée au temps d'exécution d'une manipulation par le dispositif concerné. Cette caractéristique permet de privilégier un dispositif apte à manipuler des données le plus rapidement possible.

Selon un aspect matériel, l'invention se rapporte à un module apte à être installé dans un dispositif, ledit module étant apte, lors d'une demande de manipulation de données, à sélectionner, pour la manipulation des données, au moins un dispositif parmi une pluralité de dispositifs formant un espace de stockage distribué, caractérisé en ce qu'il comprend des moyens de prise en compte d'au moins une information technique associées aux dispositifs lors de la sélection dudit au moins un dispositif.

Selon un autre aspect matériel, l'invention a trait à un système informatique comprenant une pluralité de dispositifs formant un espace de stockage distribué, au moins un dispositif étant apte à être sélectionné pour la manipulation de données, caractérisé en ce qu'il comprend des moyens de prise en compte d'au moins une information technique associées aux dispositifs lors de la sélection dudit au moins un dispositif.

L'invention a trait aussi à un dispositif caractérisé en ce qu'il comprend un module tel que défini ci-dessus.

Enfin, l'invention se rapporte aussi à un programme d'ordinateur comprenant des instructions de code qui, lorsque le programme est exécuté, réalise les étapes du procédé défini ci-dessus à savoir une étape de prise en compte d'au moins une information technique associée à un dispositif lors de la sélection d'un dispositif pour la manipulation de données.

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. Les figures:

La figure 1 représente un système informatique sur lequel est illustré un premier exemple de réalisation illustrant un procédé de gestion du stockage de données selon l'invention. La figure 2 représente un système informatique sur lequel est illustré un deuxième exemple de réalisation illustrant un procédé de lecture de données selon l'invention.

Description détaillée d'un exemple de réalisation illustrant l'invention

La figure 1 représente un système de stockage de données distribué SYS comprenant une pluralité de dispositifs DSP1-DSP4 sur lesquels des données peuvent être manipulées.

Précisons qu'une manipulation inclut l'écriture, la lecture de données dans une mémoire et qu'une écriture inclut la création et la modification de données. Dans notre exemple de réalisation, le système SYS comprend quatre dispositifs reliés entre eux par l'intermédiaire d'un réseau, dit deuxième réseau dans la suite de la description, formant un espace de stockage distribué. Rappelons qu'u système de stockage distribué offre la possibilité de répartir le stockage de données sur un ou une pluralité de dispositifs de stockage. Rappelons à titre d'information que le stockage d'un même contenu sur une pluralité de dispositifs permettant d'améliorer la disponibilité des données.

Dans notre exemple, le premier dispositif DSP1 correspond à une passerelle domestique de type Livebox (Marque déposée par la demanderesse) ; le deuxième dispositif DSP2 correspond à un lecteur/enregistreur de type MP3 apte à lire et à enregistrer des données de type MP3 ; le troisième dispositif DSP3 correspondant à un radiotéléphone ; et le quatrième dispositif DSP4 correspondant à un ordinateur personnel. Dans notre exemple, chaque dispositif comprend au moins un processeur et au moins une mémoire apte à stocker des données. En l'espèce, la passerelle DSPl comprend un processeur PROl, dit premier processeur, relié à une mémoire MEM1, dite première mémoire, par l'intermédiaire d'un bus BUS1, dit premier bus. Dans notre exemple, la passerelle DSPl ne sera pas utilisée comme moyen de stockage pour la manipulation de données selon le procédé de l'invention.

Le lecteur/enregistreur DSP2 comprend un processeur PR02, dit deuxième processeur, relié à une mémoire MEM2, dite deuxième mémoire, par l'intermédiaire d'un bus BUS2, dit deuxième bus. Le radiotéléphone DSP3 comprend un processeur PR03, dit troisième processeur, relié à une mémoire MEM3, dite troisième mémoire, par l'intermédiaire d'un bus BUS3, dit troisième bus. L'ordinateur DSP4 comprend un processeur PR04, dit quatrième processeur, relié à une mémoire MEM4, dite quatrième mémoire, par l'intermédiaire d'un bus BUS4, dit quatrième bus.

La passerelle DSPl est relié à la fois à un premier réseau RES1 et au deuxième réseau RES2. Le premier réseau RES1 est par exemple le réseau Internet. Le deuxième réseau RES2 utilisé dans notre exemple est un réseau sans fil de type Wifi. Chaque dispositif DSPl à DSP4 est donc équipé de moyens d'émission et de réception de données pour l'émission et la réception de données selon le standard 802.11.

Dans notre exemple de réalisation, un dispositif peut se trouver dans trois états. Un premier état ON dans lequel le dispositif est prêt à l'emploi, un deuxième état VLL dans lequel le dispositif est dans un état de veille et un troisième état OFF dans lequel le dispositif est éteint. L'exemple de réalisation se limite à trois états électriques cependant d'autres états peuvent naturellement être pris en compte pour la mise en œuvre de l'invention. Le nombre d'états pourrait être inférieur ou supérieur à trois. Aussi, nous ne rentrerons pas dans le détail de chaque état car sans intérêt pour l'exposé de l'invention. Précisons aussi qu'un dispositif prêt à l'emploi est un dispositif alimenté en énergie, prêt à fonctionner et ne comportant pas de ressources matérielles et/logicielles à l'état de veille.

Le procédé de l'invention requiert de préférence un bilan de consommation énergétique de chaque dispositif formant le système de stockage distribué.

Généralement, un dispositif dans l'état ON c'est-à-dire prêt à l'emploi consomme plus d'énergie qu'un dispositif à l'état de veille VLL qui consomme lui- même plus d'énergie qu'un dispositif à l'état OFF. Considérons, dans la suite de la description, que

Conso(ON) représente la consommation d'un dispositif à l'état prêt à l'emploi ON,

Conso(VLL) la consommation d'un dispositif à l'état de veille,

Conso(OFF) la consommation d'un dispositif éteint. Dans notre exemple, On peut écrire la relation suivante:

Conso (ON) > Conso(VLL) > Conso (OFF)

">" étant le symbole mathématique "supérieur".

Cette considération n'est pas vraie dans tous les cas mais servira de base à l'exemple de réalisation. En effet, un contre-exemple est celui d'un serveur à l'état de veille et d'un lecteur/enregistreur de type MP3 à l'état prêt à l'emploi ; dans cette configuration, le serveur en question à l'état de veille peut consommer plus d'énergie qu'un lecteur/enregistreur prêt à l'emploi.

Considérons un système à un instant t = tO incluant (X+Y+Z) dispositifs et les états respectifs suivants : - X dispositifs dans un état prêts à l'emploi ON, - Y dispositif à l'état de veille VLL

- et Z dispositifs éteints OFF.

Χ,Υ,Ζ sont des nombres entiers et le symbole "+" désignant une addition. Dans la configuration qui précède, si un dispositif prêt à l'emploi est choisi pour une manipulation, c'est-à-dire une lecture ou une écriture, le système comportera, suite à la sélection, toujours le même nombre de dispositifs dans l'état prêt à l'emploi ON, le même nombre de dispositifs dans l'état de veille VLL et le même nombre de dispositifs éteints OFF. Dans cette configuration, la consommation globale, dite première consommation notée ci-après Consl, peut être écrite au moyen de la relation mathématique suivante

Consl = X (Conso(ON)) + Y(Conso(VLL)) + Z(Conso(OFF))

Dans le système qui précède, si un dispositif à l'état de veille VL est sélectionné pour la manipulation, il en résulte, suite à la sélection, (X+l) dispositifs dans l'état prêt à l'emploi ON, (Y-1) dispositifs à l'état de veille VLL et un même nombre Z de dispositifs éteints OFF. Dans cette configuration, en appliquant l'hypothèse émise ci-dessus, à savoir qu'un dispositif à l'état ON consomme plus d'énergie qu'un dispositif à l'état VLL, la consommation globale Cons2 du système, dite deuxième consommation, est supérieure à la première consommation Consl. Cette deuxième consommation peut être écrite au moyen de la relation mathématique suivante :

Cons2 = (X+l) (Conso(ON)) + (Y-l)(Conso(VLL)) + Z (Conso(OFF))

Dans la configuration qui précède, si un dispositif à l'état éteint OFF est sélectionné pour la manipulation, il en résulte, suite à la sélection, (X+l) dispositifs dans l'état prêt à l'emploi ON, Y dispositifs dans l'état de veille VLL et (Z-l) dispositifs éteints OFF. Dans cette configuration, en appliquant l'hypothèse indiquée ci-dessus, la consommation globale Cons3 du système, dite troisième consommation, est supérieure aux deux consommations précédentes à savoir la première consommation Consl et la deuxième consommation Cons2. Cette troisième consommation Cons3 peut notée au moyen de la relation mathématique suivante :

Cons3 = (X+l) (Conso(ON)) + Y(Conso(VLL)) + (Z-l) (Conso(OFF))

Il en résulte la relation mathématique suivante : Consol < Conso2 < Conso3

Selon l'invention, la sélection d'un dispositif pour la manipulation de données comprend une étape de prise en compte d'au moins une information technique associée au dispositif. Dans notre exemple, le dispositif qui est choisi pour la manipulation des données est sélectionné en fonction de la consommation en énergie dudit dispositif pour la réalisation d'une manipulation de données.

A cet effet, un module de gestion MOT a pour fonction de gérer cette sélection.

Ainsi, dans notre exemple, un dispositif dans un état prêt à l'emploi sera privilégié par rapport à des dispositifs dans un état de veille ou éteint. Aussi, si le système SYS ne comprend pas de dispositifs à l'état prêt à l'emploi ON, sera privilégié un dispositif à l'état de veille VLL par rapport à un dispositif éteint OFF. On a considéré dans ce qui précède qu'un dispositif restant dans le même état consommera moins d'énergie qu'un dispositif changeant d'état pour passer de l'état de veille ou éteint à l'état prêt à l'emploi.

Dans notre exemple de réalisation, ce module MOT est situé dans le premier dispositif DSP1 sous la commande du premier processeur PROl; cependant, la localisation de ce dispositif peut être quelconque.

Deux exemples vont être décrits en référence aux figures 1 et 2, respectivement. Un premier exemple correspondant à une première phase au cours de laquelle des données vont être stockées selon le procédé de l'invention et un deuxième exemple correspondant à une deuxième phase ultérieure à la première phase, au cours de laquelle les données stockées en référence au premier exemple vont être accédées depuis l'ordinateur personnel DSP4 selon le procédé de l'invention.

Dans le premier exemple, on suppose qu'à l'instant t = tl, le lecteur/enregistreur DSP2 est dans un état de veille, que le radiotéléphone DSP3 dans un état prêt à l'emploi ON, et que l'ordinateur est éteint OFF. Dans ce premier exemple, X=l, Y=l, Z=l.

Lors d'une première étape, des données issues du premier réseau RES1 sont reçues par la passerelle DSP1. La nature des données peut être quelconque. Supposons que ces données soient un contenu musical CNT. Sur la figure 1, le signal reçu inclut donc au moins deux paramètres à savoir une commande d'écriture WR et le contenu CNT, (...,WR,CNT,...), les points de suspension indiquant que d'autres paramètres peuvent être ajoutés comme l'identifiant de la passerelle, etc. Ces autres paramètres sont sans importance pour l'exposé de l'invention. Lors d'une deuxième étape, le premier processeur PROl reçoit le signal incluant la commande d'écriture WR et le contenu CNT, et transmet une commande au module MGT pour déterminer le ou les dispositifs sur lesquels le contenu CNT peut être stocké.

Lors d'une troisième étape, le module MGT, connaissant l'état électrique dans lequel se trouve chaque dispositif, détermine le ou les dispositifs de stockage à utiliser qui consommeront le moins d'énergie.

Partant des considérations énoncées précédemment, le module MGT va privilégier une écriture sur le radiotéléphone PSP3 car celui-ci se trouve dans un état prêt à l'emploi ON. Dans la suite, on admet qu'une écriture est toujours réalisée sur deux dispositifs de façon à améliorer la disponibilité des données par la suite. Le radiotéléphone ayant été sélectionné, il reste deux dispositifs pouvant être sélectionnées à savoir le deuxième dispositif et le quatrième dispositif. Or, en appliquant les considérations énoncées précédemment, le module va privilégier une manipulation sur le lecteur/enregistreur DSP3 car se trouvant à l'état de veille.

Ainsi, lors d'une quatrième étape, le module MOT sélectionne le radiotéléphone DSP3 et le lecteur/enregistreur DSP2. Lors d'une cinquième étape, le premier processeur PROl reçoit la sélection faite par le module MOT.

Lors d'une sixième étape, le premier processeur PROl transmet une commande d'écriture à la fois vers le radiotéléphone DSP3 et vers le lecteur/enregistreur DSP2, respectivement Lors d'une septième étape, le radiotéléphone DSP3 et le lecteur/enregistreur DSP2 exécutent la commande d'écriture respective.

Lors d'une huitième étape, une table de correspondance TAB est créée dans laquelle est stockée un identifiant du contenu CNT et la localisation du contenu CNT dans le système de stockage distribué. Dans notre exemple, la table comprend l'identifiant du contenu, l'identifiant du radiotéléphone DSP3 et l'identifiant du lecteur/enregistreur DSP2.

Dans notre exemple de réalisation, cette première phase est suivie d'une deuxième phase de lecture du même contenu. Dans ce nouvel exemple, on considère qu'à l'instant t = t2, l'ordinateur DSP4 est allumé et que c'est depuis cet ordinateur que la demande de lecture du contenu va être émise. Dans cet exemple, on considère aussi que le lecteur/enregistreur DSP2 et le radiotéléphone DSP3 sont dans le même état que dans le précédent exemple à savoir à l'état de veille et à l'état de marche, respectivement. Dans cet exemple, X=2, Y=l et Z=0. Cette deuxième phase comprend les étapes suivantes :

Lors d'une première étape, un utilisateur requiert un accès au contenu CNT. La requête en question est transmise au module MOT gérant l'accès au contenu. Lors d'une deuxième étape, le module MGT reçoit un signal incluant une commande de lecture RD ainsi qu'un identifiant du contenu CNT pour lequel un accès en lecture est demandé, sur la figure 2, le signal en question est référencé (...,RD,CNT,...). Lors d'une troisième étape, le module MGT consulte la table de correspondance TAB, et identifie le ou les dispositifs sur lesquels est stocké le contenu CNT. Dans notre exemple, les dispositifs concernés sont le lecteur/enregistreur DSP2 et le radiotéléphone DSP3.

Lors d'une quatrième étape, le module MGT consulte l'état des dispositifs identifiés lors de la troisième étape et sélectionne un dispositif en fonction de son état. Partant des considérations énoncées précédemment, le module MGT va privilégier une lecture par le biais du radiotéléphone PSP3 car celui-ci se trouve dans un état prêt à l'emploi ON.

Dans les exemples qui précèdent, le module MGT dispose en permanence d'un état de chaque dispositif. Cet état est mis à jour périodiquement soit sur requête du module MGT ou soit sur réception d'une information issue d'un dispositif ayant changé d'état ou sur le point de changer d'état. Par exemple, le module peut émettre périodiquement des signaux à destination des dispositifs composant le système de stockage distribué et si le module ne reçoit pas de réponse d'un dispositif, le module considère que le dispositif en question est à l'état de veille VLL ou éteint OFF. Chaque dispositif peut aussi être équipé d'un module logiciel apte à transmettre au module de gestion un changement d'état ou une prévision de changement d'état..

Les exemples de réalisation qui précèdent sont liés à la consommation d'énergie. Un autre exemple de réalisation pourrait consister à sélectionner un dispositif en fonction du temps d'exécution estimé d'une manipulation par le dispositif concerné. Cela permet de privilégier un dispositif apte à manipuler des données plus rapidement que d'autres dispositifs du système de stockage distribué.