Procédé et système de stockage réparti d'informations à gestion de ressources optimisée 1. Domaine de l'invention L'invention concerne un procédé de stockage par répartition d'ensembles d'informations au sein d'une pluralité d'équipements munis de moyens de mémorisation. De tels dispositifs sont couramment utilisés pour stocker d'importantes quantités d'informations, soit dans le cadre d'applications d'archivage, soit dans le cadre d'autres applications plus spécifiques qui font usage desdites informations. 2. Art antérieur Dans l'état actuel de la technique, les ensembles d'informations à stocker sont généralement liés à une application donnée et sont alors tous de même nature, de sorte que leur répartition au sein des différents équipements est réalisée au moyen d'un suivi des quantités de données mémorisées dans ces équipements. En cas de saturation d'un équipement, c'est-à-dire lorsque cet équipement ne dispose plus de suffisamment de volume de stockage pour accueillir un nouvel ensemble d'informations, un transfert d'ensembles d'informations depuis cet équipement vers un ou plusieurs autres équipements est automatiquement réalisé, en vue de répartir les informations à stocker de façon sensiblement homogène tout en limitant autant que faire se peut le nombre d'équipements nécessaires au stockage de la totalité des ensembles d'informations. 3. Objectifs de l'invention Le secteur des télécommunications est présentement en train de vivre une mutation depuis un mode de fonctionnement dans lequel les utilisateurs finaux, qu'il s'agisse d'humains ou de machines, conservent par devers eux des informations et des applications qui leurs sont propres, vers un autre mode de fonctionnement dans lequel les informations des utilisateurs finaux seront stockées non plus localement, dans des équipements qui leur sont propres, mais de façon déportée, dans des équipements distants situés au sein d'infrastructures de communication permettant aux utilisateurs de communiquer entre eux. Cet autre mode de fonctionnement est appelé aujourd'hui «l'informatique en nuage », de l'expression anglaise «Cloud Computing» bien connue de l'homme du métier. Les inventeurs ont observé que cet autre mode de fonctionnement faisait apparaître des difficultés que les procédés de stockage par répartition connus de l'état de la technique ne peuvent surmonter de façon entièrement satisfaisante. En effet, le stockage déporté des informations des utilisateurs nécessite de répartir sur différents équipements des ensembles d'informations hétérogènes, comme par exemple des images, des séquences audiovisuelles, des fichiers de texte ou encore des programmes exécutables. Il est ainsi apparu qu'une gestion de répartition uniquement basée sur un suivi des volumes de stockage disponibles dans les divers équipements pouvait ne pas permettre d'obtenir une qualité de service satisfaisante pour les utilisateurs. En particulier, les inventeurs ont remarqué qu'il pouvait arriver que, bien qu'un équipement donné dispose encore de suffisamment de volume de stockage pour accueillir un ou plusieurs ensembles d'informations supplémentaires, il se trouve en réalité en situation de saturation du fait qu'une restitution des informations déjà stockées nécessite un débit de transmission supérieur à celui que cet équipement est effectivement capable de produire. Ceci peut par exemple arriver si une proportion importante des informations déjà stockées est constituée par des données de type vidéo. La présente invention propose une solution qui ne présente pas cet inconvénient, en proposant un procédé dans lequel la gestion de la répartition des ensembles d'informations à stocker n'est plus réalisée exclusivement sur la base d'un suivi des volumes de stockage disponibles dans les divers équipements. 4. Exposé de l'invention En effet, selon un aspect fonctionnel, l'invention concerne un procédé conforme au paragraphe introductif, caractérisé en ce qu'il inclut une étape de détermination d'une valeur de débit de transmission propre à chacun desdits équipements, et une étape de répartition desdits ensembles d'informations parmi lesdits équipements en fonction des valeurs de débit de transmission propres à ces équipements. En prévoyant un suivi des valeurs de débit de transmission des différents équipements, l'invention permet de prendre en compte une capacité instantanée de chaque équipement à restituer les ensembles d'informations qu'il contient, et assure donc une répartition qui n'est plus exécutée sur la seule base des capacités de stockage de ces équipements, mais aussi sur leur aptitude à assurer une certaine qualité de service attendue par les utilisateurs. Une répartition basée sur un suivi des deux ressources essentielles que sont le volume de données disponible dans chaque équipement et le débit de transmission disponible au niveau de cet équipement permettra d'optimiser l'exploitation de ces deux ressources et donc potentiellement de diminuer le nombre d'équipements nécessaires au stockage de tous les ensembles d'informations. Diverses implémentations sont envisageables pour exploiter les valeurs de débit de transmission offerts par les différents équipements. Selon un mode de mise en oeuvre de l'invention, un procédé tel que décrit ci-dessus inclut une étape d'évaluation d'un paramètre de diagnostic propre à chaque équipement et simultanément représentatif d'un volume de données stockées dans cet équipement et du débit de transmission disponible au niveau de cet équipement.
L'utilisation d'un tel paramètre de diagnostic est avantageuse en ce que ce paramètre est à la fois représentatif du volume de stockage disponible au sein d'équipement donné, et du débit instantané qu'il est capable de fournir, de sorte qu'une gestion de répartition basé sur le suivi de ce paramètre de diagnostic unique permettra de simultanément prendre en compte les deux aspects essentiels que sont le volume de stockage disponible et le débit disponible. Le paramètre de diagnostic pourra être défini de diverses manières, pourvu qu'il permette d'observer des variations de débit et de volume de stockage disponibles. Il pourrait ainsi être formé par une différence ou un produit entre ces deux grandeurs. Dans un mode de mise en oeuvre particulier de l'invention, l'étape d'évaluation du paramètre de diagnostic propre à un équipement inclut une étape de calcul d'un quotient entre le volume de données stockées dans cet équipement et le débit de transmission disponible au niveau de cet équipement. En vue d'optimiser le nombre d'équipements nécessaires à un stockage d'informations réparti, un mode de mise en oeuvre avantageux de l'invention prévoit une étape d'identification d'une ressource critique par comparaison d'un paramètre de diagnostic propre à l'ensemble des équipements avec un paramètre de diagnostic propre à une union de tous les ensembles d'informations à stocker, ladite ressource critique pouvant être un volume de stockage ou un débit de transmission disponibles. L'identification de la ressource critique permettra de réaliser une détection de situations de saturation de certains équipements, qui auront alors vocation non plus à accueillir de nouveaux ensembles d'informations, mais au contraire à servir de source pour alimenter d'autres équipements identifiés comme qui non-encore saturés. Dans un tel mode de mise en oeuvre, lorsque aucune pénurie de ressource critique n'est détectée au niveau de l'un des équipements, un ensemble supplémentaire d'informations est transmis à cet équipement depuis un équipement au niveau duquel une pénurie de ressource critique a été préalablement identifiée. Pour optimiser la répartition, on aura avantage à identifier le genre d'informations présentes dans un équipement qui sera arrivé à saturation. En effet, s'il s'agit par exemple majoritairement d'informations nécessitant un important volume de stockage mais peu de débit de transmission, il sera souhaitable de soulager l'équipement saturé en transférant une partie de telles informations vers un équipement disposant encore d'une grande capacité de stockage mais n'ayant plus qu'une faible disponibilité en termes de débit de transmission instantané. A cette fin, lorsqu'une pénurie de ressource critique est détectée au niveau de l'un des équipements, une comparaison est effectuée entre la valeur du paramètre de diagnostic propre à cet équipement et une valeur de référence représentative d'un quotient entre le volume total de données correspondant à une union de tous les ensembles d'informations à stocker et un débit de transmission associé à une qualité de service prédéterminée attendue par au moins un utilisateur du procédé. Un équipement qui se trouve en situation de pénurie de ressource critique pourra ainsi être qualifié de « stable » Si la valeur de son paramètre de diagnostic est proche de la valeur de référence, de « source d'informations à paramètre de diagnostic faible» si une différence ou un rapport entre la valeur de référence et la valeur du paramètre de diagnostic de l'équipement est supérieure à un premier seuil, ou de « source d'informations à paramètre de diagnostic élevé» si une différence ou un rapport entre la valeur du paramètre de diagnostic de l'équipement et la valeur de référence est supérieure à un deuxième seuil, qui pourra d'ailleurs être identique au premier seuil. Ainsi, un équipement en situation de pénurie de ressource critique pourra être qualifié de « source d'informations à paramètre de diagnostic faible» si un quotient entre la valeur de référence et la valeur du paramètre de diagnostic de cet équipement est inférieur à 80%, et de « source d'informations à paramètre de diagnostic élevé» si un quotient entre la valeur de son paramètre de diagnostic et la valeur de référence est supérieur à 120%. Sur la base de telles qualifications des équipements en situation de pénurie, il sera alors possible d'optimiser la répartition des ensembles d'informations à stocker en faisant en sorte que, lorsque la valeur du paramètre de diagnostic propre à l'équipement qui doit recevoir l'ensemble supplémentaire d'informations est supérieure à la valeur de référence, ledit ensemble supplémentaire d'informations est prélevé depuis un autre équipement qui aura été identifié en tant que « source d'informations à paramètre de diagnostic faible». Inversement, lorsque la valeur du paramètre de diagnostic propre à l'équipement qui doit recevoir l'ensemble supplémentaire d'informations est inférieure à la valeur de référence, ledit ensemble supplémentaire d'informations sera de préférence prélevé depuis un autre équipement qui aura été identifié en tant que « source d'informations à paramètre de diagnostic élevé». Afin de permettre un recensement exact des types d'équipements qui sont en situation de pénurie de ressource critique et peuvent à ce titre servir de source aux autres équipements, tout prélèvement d'un ensemble d'informations depuis un équipement est suivi de l'exécution d'une nouvelle étape d'évaluation du paramètre de diagnostic propre à cet équipement. Les principes d'optimisation décrits ci-dessus seront avantageusement transposés aux situations dans lesquelles de nouveaux ensembles d'informations devront être mémorisés au sein de la pluralité d'équipements. Une telle situation provoquera alors avantageusement l'exécution des étapes suivantes : . une étape de détermination d'une valeur de paramètre de diagnostic correspondant à un nouvel ensemble d'informations qui doit être ajouté aux ensembles déjà mémorisés, . une étape de comparaison de la valeur de ce paramètre de diagnostic avec une valeur de référence représentative d'un quotient entre le volume total de données correspondant à une union de tous les ensembles d'informations à stocker et un débit de transmission associé à une qualité de service prédéterminée attendue par au moins un utilisateur du procédé, et, si le paramètre de diagnostic est supérieur à la valeur de référence, . une étape de recherche d'au moins un équipement au niveau duquel aucune pénurie de ressource critique n'a été détectée, dont la valeur du paramètre de diagnostic est inférieure à la valeur de référence, en vue d'y transférer le nouvel ensemble d'informations, ou si le paramètre de diagnostic est inférieur à la valeur de référence, . une étape de recherche d'au moins un équipement au niveau duquel aucune pénurie de ressource critique n'a été détectée, dont la valeur du paramètre de diagnostic est supérieure à la valeur de référence, en vue d'y transférer le nouvel ensemble d'informations. Enfin, dans l'hypothèse où l'étape de recherche n'aura révélé au sein de la pluralité d'équipements déjà utilisés aucun équipement tel que recherché, un nouvel équipement sera ajouté à ladite pluralité en vue d'y mémoriser le nouvel ensemble d'informations. Un tel processus d'ajout d'équipements, conditionné à un constat d'incapacité des équipements inclus dans la pluralité existante à respecter des conditions garantes d'une répartition optimale des informations, permet de limiter le nombre d'équipements nécessaires à la mise en ouvre de l'invention tout en offrant aux utilisateurs finaux une qualité de service conforme à leurs attentes. Selon un premier de ses aspects matériels, l'invention concerne également un système de communication apte à assurer un stockage par répartition d'ensembles d'informations au sein d'une pluralité d'équipements munis de moyens de mémorisation destinés à recevoir, caractérisé en ce qu'il inclut des moyens de détermination d'une valeur de débit de transmission propre à chacun desdits équipements, et des moyens de répartition desdits ensembles d'informations parmi lesdits équipements en fonction des valeurs de débit de transmission propres à ces équipements.
Selon un autre de ses aspects matériels, l'invention concerne également, en tant que moyen essentiel à sa mise en ouvre, un programme d'ordinateur caractérisé en ce qu'il comprend des instructions de code de programme pour la mise en ouvre d'un procédé conforme à la description qui précède lorsque ce programme est exécuté par un processeur. 5. Liste des figures D'autres caractéristiques et avantages de l'invention apparaîtront plus clairement à la lecture de la description suivante d'un mode de réalisation particulier, donné à titre de simple exemple illustratif et non-limitatif, en relation avec la FIG.1 qui représente sous forme d'un diagramme fonctionnel un système de communication dans lequel l'invention est mise en oeuvre. 6. Description d'un mode de réalisation de l'invention 6.1 Principe général Le principe général de l'invention repose sur une gestion de la répartition des ensembles d'informations à stocker qui n'est plus réalisée exclusivement sur la base d'un suivi des volumes de stockage disponibles dans les divers équipements. En prévoyant un suivi des valeurs de débit que les différents équipements sont aptes à produire, l'invention permet de prendre en compte une capacité instantanée de chaque équipement à restituer les ensembles d'informations qu'il contient, et assure donc une répartition qui n'est plus exécutée sur la seule base des capacités de stockage de ces équipements, mais aussi sur leur aptitude à assurer une certaine qualité de service attendue par les utilisateurs. Une répartition basée sur un suivi des deux ressources essentielles que sont le volume de données disponible dans chaque équipement et le débit de transmission disponible au niveau de cet équipement permettra d'optimiser l'exploitation de ces deux ressources et donc potentiellement de diminuer le nombre d'équipements nécessaires au stockage de tous les ensembles d'informations. 6.2 Description d'un mode de réalisation La FIG.1 illustre un système de communication SYST apte à assurer un stockage par répartition d'ensembles d'informations (Cl, C2,...Cj,...Cn) au sein d'une pluralité d'équipements (S1,...Sm,...Sp) munis de moyens de mémorisation (MM1,...MMm,...MMp) et implantés au sein d'un réseau de communication NWK. Ces ensembles d'informations pourront être issus d'un terminal UT1, par exemple un terminal téléphonique détenu par un utilisateur UT1 et dont le contenu est destiné à être stocké de façon déportée dans le réseau NWK.
Le système SYST inclut en outre un gestionnaire de stockage STMN comprenant un processeur CPU apte à exécuter un programme de suivi extrait d'une mémoire centrale non-représentée sur la présente figure. A intervalles de temps réguliers, le processeur CPU émet des requêtes (DrtRq(SI),...DrtRq(Sm),...DrtRq(Sp)) à destination de moyens d'entrée/sortie (I01,...I0m,...I0p) dont sont munis les équipements (S1,...Sm,...Sp), en vue d'en obtenir des valeurs de débit de transmission (Drt1,...Drtm,...Drtp) que sont capables de produire chacun desdits équipements (S1,...Sm,...Sp). En réponse à ces requêtes, les équipements (S1,...Sm,...Sp) produisent des valeurs instantanées de débit de transmission (Drt1,...Drtm,...Drtp) qui sont mémorisées par le processeur CPU dans une table TAB en association avec les volumes de stockage (Sd1,...Sdm,...Sdp) encore disponibles au sein desdits équipements (S1,...Sm,...Sp) et les volumes de données (V1,...,V2,...Vj,...Vn) correspondant respectivement aux ensembles d'informations (Cl, C2,...Cj,...Cn). Le processeur CPU recense en outre de façon dynamique dans ladite table TAB les équipements (S1, S1,...Sm,...Sp) dans lesquels sont respectivement stockés les ensembles d'informations (Cl, C2,...Cj,...Cn). Il est à noter que, bien que dans l'exemple illustré par la FIG.1, le gestionnaire de stockage STMN et la table TAB soient implémentés de façon centralisée au sein du réseau NWK, ces éléments pourront être distribués dans le réseau NWK dans d'autres modes de mise en ouvre de 1' invention. Diverses implémentations sont envisageables pour exploiter les valeurs de débit de transmission (Drt1,...Drtm,...Drtp) offerts par les différents équipements. Selon un mode de mise en ouvre de l'invention, le processeur CPU calcule pour chaque équipement Si (pour i=1 à p) la valeur R(Si) d'un paramètre de diagnostic propre à chaque équipement et simultanément représentatif d'un volume de données stockées dans cet équipement et du débit de transmission disponible au niveau de cet équipement. Dans le présent exemple, le paramètre de diagnostic R(Si) est défini comme étant un quotient entre le volume de données stockées Sdi dans l'équipement Si et le débit de transmission Drti disponible au niveau de cet équipement Si, et s'écrit donc R(Si)=Sdi/Drti. En vue d'optimiser le nombre d'équipements nécessaires à un stockage d'informations réparti, un mode de mise en ouvre avantageux de l'invention prévoit une étape d'identification d'une ressource critique par comparaison d'un paramètre de diagnostic R(S) propre à l'ensemble des équipements avec une valeur de référence R(C) propre à une union de tous les ensembles d'informations à stocker. La valeur du paramètre R(S) est donnée par un quotient entre la somme des volumes de stockage des équipements utilisés et la somme de leurs débits de transmission. La valeur de la valeur de référence R(C) est donnée par un quotient entre la somme des volumes de données des différents ensembles d'informations à stocker et une valeur de débit prédéterminée DrtO correspondant à la qualité de service attendue par l'utilisateur. Cette valeur de débit DrtO sera par exemple issue d'une grandeur appelée « Service Level Agreement », qui est usuellement précisée par l'utilisateur à un opérateur du service de stockage. Dans une situation où R(S)>R(C), c'est le débit de transmission qui sera considéré comme étant la ressource critique, alors que, dans une situation où R(S)<R(C), c'est la capacité de stockage qui sera considérée comme étant la ressource critique L'identification de la ressource critique permet de réaliser une détection de situations de saturation de certains équipements, qui auront alors vocation non plus à accueillir de nouveaux ensembles d'informations, mais au contraire à servir de source pour alimenter d'autres équipements identifiés comme non-encore saturés.
Lorsqu'une pénurie de ressource critique est détectée au niveau de l'un des équipements Si (pour i=1 à p), une comparaison est effectuée entre la valeur du paramètre de diagnostic R(Si)=Sdi/Drti propre à cet équipement Si et la valeur de référence R(C). Un équipement Si qui se trouve en situation de pénurie de ressource critique pourra ainsi être qualifié de « stable » Si la valeur de son paramètre de diagnostic R(Si) est proche de la valeur de référence, de « source d'informations à paramètre de diagnostic faible» si une différence ou un rapport entre la valeur de référence R(C) et la valeur du paramètre de diagnostic R(Si) de l'équipement Si est supérieure à un premier seuil, ou de « source d'informations à paramètre de diagnostic élevé» si une différence ou un rapport entre la valeur du paramètre de diagnostic R(Si) de l'équipement Si et la valeur de référence R(C) est supérieure à un deuxième seuil, qui pourra d'ailleurs être identique au premier seuil. Ainsi, un équipement en situation de pénurie de ressource critique pourra être qualifié de « source d'informations à paramètre de diagnostic faible» si un quotient entre la valeur de référence et la valeur du paramètre de diagnostic de cet équipement est inférieur à 80%, et de « source d'informations à paramètre de diagnostic élevé» si un quotient entre la valeur de son paramètre de diagnostic et la valeur de référence est supérieur à 120%. Lorsque aucune pénurie de ressource critique n'est détectée au niveau de l'un des équipements, un ensemble supplémentaire d'informations est transmis à cet équipement depuis un équipement au niveau duquel une pénurie de ressource critique a été préalablement identifiée.
Sur la base des qualifications précédemment décrites appliquées aux équipements en situation de pénurie, il sera alors possible d'optimiser la répartition des ensembles d'informations à stocker en faisant en sorte que, lorsque la valeur du paramètre de diagnostic propre à l'équipement qui doit recevoir l'ensemble supplémentaire d'informations est supérieure à la valeur de référence R(C), ledit ensemble supplémentaire d'informations soit prélevé depuis un autre équipement qui aura été identifié en tant que « source d'informations à paramètre de diagnostic faible». Inversement, lorsque la valeur du paramètre de diagnostic propre à l'équipement qui doit recevoir l'ensemble supplémentaire d'informations est inférieure à la valeur de référence R(C), ledit ensemble supplémentaire d'informations sera de préférence prélevé depuis un autre équipement qui aura été identifié en tant que « source d'informations à paramètre de diagnostic élevé».
Un tel fonctionnement du procédé selon l'invention peut être illustré par un exemple simple dans lequel les équipements S1, Sm et Sp sont trois serveurs identiques disposant chacun de 10 TeraOctets de capacité de stockage et d'une interface réseau de 1 Gigabit/seconde. Si, par hypothèse, le serveur S1 stocke les contenus d'un service de streaming vidéo, tandis que les serveurs Sm et Sp sont des serveurs qui stockent des contenus d'un service d'archivage, la ressource critique sera le débit de transmission. Il pourra donc se produire que l'équipement S1 se trouve en situation de pénurie de ressource critique du fait d'une limitation en débit disponible plaçant cet équipement S1 dans l'incapacité de restituer suffisamment rapidement les contenus qui y sont mémorisés. Dans un tel cas de figure, le paramètre de diagnostic R(S1) sera plus grand que la valeur de référence R(C) et l'équipement S1 sera considéré comme une « source d'informations à paramètre de diagnostic élevé ». Par contre, les équipements Sm et Sp étant principalement utilisés à des fins d'archivage et n'utilisant de ce fait qu'une faible part des capacités de transmission de leurs moyens d'entrée sortie IOm et IOp, leurs valeurs de débits disponibles Drtm et Drtp seront relativement élevées tandis que leur volume de stockage disponible sera plutôt faible, de sorte que les valeurs de leurs paramètres de diagnostic seront inférieures à la valeur de référence R(C). Dans cette situation, le processeur CPU émettra une requête de transfert TrRq(C1,Sm) à destination de l'équipement S1, en vue de lui intimer de procéder au transfert d'au moins un ensemble d'informations, dans cet exemple l'ensemble Cl, vers l'équipement Sm. Le prélèvement de l'ensemble d'informations Cl depuis l'équipement S1 sera suivi de l'exécution d'une nouvelle étape d'évaluation du paramètre de diagnostic R(S1) propre à cet équipement S1, afin de permettre un recensement exact des types d'équipements qui sont en situation de pénurie de ressource critique et peuvent à ce titre servir de source aux autres équipements. Les principes d'optimisation décrits ci-dessus seront avantageusement transposés aux situations dans lesquelles de nouveaux ensembles d'informations devront être mémorisés au sein de la pluralité d'équipements (Sl,...Sm,...Sp). Une telle situation provoquera alors avantageusement l'exécution des étapes suivantes : . une étape de détermination d'une valeur de paramètre de diagnostic R(Cn+1) correspondant à un nouvel ensemble d'informations Cn+1 qui doit être ajouté aux ensembles (Cl, C2,...Cj,...Cn) déjà mémorisés, . une étape de comparaison de la valeur de ce paramètre de diagnostic R(Cn+1) avec la valeur de référence R(C), et, si le paramètre de diagnostic R(Cn+1) est supérieur à la valeur de référence R(C), . une étape de recherche d'au moins un équipement Si (pour i=1 à p) au niveau duquel aucune pénurie de ressource critique n'a été détectée, dont la valeur du paramètre de diagnostic R(Si) est inférieure à la valeur de référence R(C), en vue d'y transférer le nouvel ensemble d'informations Cn+1, ou si le paramètre de diagnostic R(Cn+1) est inférieur à la valeur de référence R(C), . une étape de recherche d'au moins un équipement Si (pour i=1 à p) au niveau duquel aucune pénurie de ressource critique n'a été détectée, dont la valeur du paramètre de diagnostic R(Si) est supérieure à la valeur de référence R(C), en vue d'y transférer le nouvel ensemble d'informations Cn+l. Enfin, dans l'hypothèse où l'étape de recherche n'aura révélé au sein de la pluralité d'équipements (S1,...Sm,...Sp) déjà utilisés aucun équipement Si tel que recherché, un nouvel équipement Sp+1 sera ajouté à ladite pluralité (S1,...Sm,...Sp) en vue d'y mémoriser le nouvel ensemble d'informations Cn+l.