Brevet FR3146736A1 — publié le 20240920

Procédé et s ystème de placement automatique de données Procédé de placement automatique de données au sein d’un système de stockage (40) disposant de différents types de support de stockage selon au moins une catégorie de données, comportant au moins l’étape de classifier les données selon leur catégorie, cette classification s’effectuant par une technique d’apprentissage automatique en ligne utilisant des informations relatives auxdites données. Figure pour l’abrégé : Fig. 1 Procédé et système de placement automatique de données La présente invention concerne le domaine du placement de données pour les systèmes de stockage, et concerne plus particulièrement un procédé et un système de placement automatique de données. Un système de stockage de données peut disposer de différents types de supports de stockage. Chaque support peut avoir des caractéristiques particulières de coût, de rapidité d’accès ou de capacité de stockage. Ces systèmes peuvent, par exemple, utiliser à la fois des disques SSD (Solid State Drive), NVMe (Non-Volatile Memory express), HDD (Hard Disk Drive), des disques optiques, des bandes magnétiques, etc. Par « placement de données », on entend l’association ou l’affectation d’une donnée à un support de stockage. Dans les systèmes de stockage, la température des données (« data temperature » en anglais) qui renvoie à la fréquence d’accès aux données, est souvent utilisée pour distinguer les données chaudes (« hot data » en anglais), très fréquentes d’accès, des données froides (« cold data » en anglais), peu accessibles. Les données chaudes peuvent, par exemple, être placées sur des supports de stockage à faible latence comme les disques SSD et NVMe, souvent coûteux. Les données classées froides peuvent être sauvegardées sur des supports de stockage moins rapides, mais peu coûteux comme les disques HDD, Blu-ray ou bandes magnétiques. La plupart des systèmes de stockage de données supportent des solutions de migration d’un type d’accès (hot) à un autre (cold). Cela induit la consommation d’importantes ressources (déplacement des données d’une localisation à une autre, nécessitant d’importantes ressources de réseau et de traitement de données), et requiert des tâches de contrôle des données, ainsi qu’une configuration manuelle par les administrateurs du système. Les systèmes de stockage de données utilisent différentes techniques qui permettent de déplacer les données d’un support de stockage vers un autre (par exemple de supports de stockage à coût élevé vers des supports à faible coût). Avec ces techniques, le déplacement, s’il est automatique, il se base sur des politiques statiques configurées par l’administrateur du système. Un administrateur peut définir des politiques de déplacement pour chaque donnée ou groupe de données. La politique peut inclure ou exclure des données d’un certain type ou en fonction de leur âge ou de leur taille. Les prédictions récentes concernant les volumes de données stockées tablent sur une production mondiale de 163 zettaoctets par an d’ici 2025 (source IDC). Devant ces volumes colossaux de données à stocker, la tendance actuelle de l’industrie du stockage est de faire appel à des techniques d’apprentissage automatique (« Machine Learning » en anglais) et de l’Intelligence Artificielle (IA) pour développer des méthodes d’apprentissage qui facilitent l’automatisation des tâches de gestion. Aujourd’hui, ces techniques sont appliquées pour la détection d’anomalies, l’analyse prédictive (prévision des capacités), l’aide à l’administration, la détection de pannes de disques, la migration de machines virtuelles, entre autres. Dans l’article de Cheng, Peng, et al. " Optimizing Data Placement on Hierarchical Storage Architecture via Machine Learning ", IFIP International Conference on Network and Parallel Computing, Springer, Cham, 2019., des algorithmes d’apprentissage automatique sont utilisés pour effectuer un placement optimal des données en se basant sur les caractéristiques d’une série de commandes (« workflow » en anglais) en entrée pour optimiser les performances du système en termes de lecture/écriture disque. Ce travail a cependant été développé pour le Big Data, se basant sur les caractéristiques de séries de commandes et vise à optimiser le temps d’exécution des tâches et les performances du système en termes d’entrée/sortie. L’algorithme Gradient boosting avec la méthode CART (Classification and Regression Tree) est utilisé pour entraîner le modèle de prédiction/classification. Le placement de données dans cette publication ne considère pas les caractéristiques des données mais celles de séries de commande, sans tenir compte de la relocalisation des données et utilise des algorithmes d’apprentissage « Offline » et non « Online ». Les auteurs Kale, R. V., et al. dans “ A Practicable Machine Learning Solution for Security- Cognizant Data Placement on Cloud Platforms ”, in handbook of computer networks and cyber security, Springer, ont utilisé le placement de données basé sur les réseaux de neurones pour garantir la disponibilité des données en cas de menaces de sécurité ou de cyberattaques. Une technique basée sur les réseaux de neurones a également été utilisée par Ren, J., et al. " Archivist : a machine learning assisted data placement mechanism for hybrid storage systems ", IEEE 37th International Conference on Computer Design (ICCD), pour assister le placement de données et réduire la latence d'accès aux fichiers. Leur solution repose sur l'estimation du modèle d'accès aux fichiers et d’une utilisation hors ligne (Offline) des réseaux de neurones. Une telle méthode ne peut détecter les changements brusques dans la classification des données. L’apprentissage étant effectué hors ligne (Offline), la sauvegarde de volumes de données importants est nécessaire pour entraîner les algorithmes. Il existe donc un besoin pour perfectionner les procédés de placement automatique des données, notamment en termes de réduction du coût de stockage. Procédé de placement automatique L’invention vise à répondre à cet objectif et a pour objet, selon l’un de ses aspects, un procédé de placement automatique de données au sein d’un système de stockage disposant de différents types de support de stockage, selon au moins une catégorie de données, comportant au moins l’étape de classifier les données selon leur catégorie, cette classification s’effectuant par une technique d’apprentissage automatique en ligne utilisant des informations collectées relatives auxdites données. Par « placement de données », on entend l’association ou l’affectation d’une donnée à un support de stockage. L’invention est adaptée aux différents changements du système de stockage, nécessite moins de puissance de calcul par rapport aux méthodes basées sur les réseaux de neurones et consomme peu de ressources de stockage. L’invention permet de réduire les coûts de stockage en fournissant un placement proactif et approprié des données dès leur entrée dans le système de stockage, en se basant à la fois sur leurs caractéristiques et sur leur catégorie préalablement apprise. Cela permet d’éviter d’effectuer des migrations a posteriori offrant ainsi une réduction des coûts en termes de bande passante et de ressources de calcul. L’optimisation des coûts de l’infrastructure de stockage permettrait aux fournisseurs de stockage d’offrir des services à des tarifs compétitifs avec une qualité d’expérience des utilisateurs améliorée (délais d’accès aux données optimisés). L’apprentissage automatique en ligne, s’opérant à la volée, offre plus de flexibilité dans le sens où l’administrateur est déchargé des tâches de configurations manuelles et fastidieuses. Un comportement plus dynamique est possible (par rapport à des configurations statiques). En outre, l’apprentissage automatique en ligne permet d’optimiser les coûts de relocalisation et d’améliorer les délais de réponse. L’invention peut être vue comme un moyen supplémentaire pour faire face à la complexité des systèmes de gestion du stockage, complexité accentuée par la variété des types de supports de stockage aujourd’hui déployés, les besoins variés (faible latence, accès rapide, débit important, etc.) des services de stockage à offrir et les gros volumes de données à gérer. Catégorie de données Les données peuvent être des fichiers. De préférence, ladite au moins une catégorie de données est définie par les caractéristiques de ladite donnée, notamment la fréquence d’accès aux données. En plaçant correctement les données dans les espaces idoines, les données fréquemment accessibles auront des délais d’accès rapides. Dans un mode de réalisation, ladite au moins une catégorie de données est le type de support de stockage. Dans un autre mode de réalisation, ladite au moins une catégorie de données est un service de stockage Cela peut être par exemple un stockage en ligne, un stockage en réseau (NAS : Network Attached Storage)), ou un stockage défini logiciel (SDS : Software Defined Storage). Dans un autre mode de réalisation, ladite au moins une catégorie de données est la localisation de stockage. Technique d’apprentissage automatique De préférence, la technique d’apprentissage automatique en ligne est basée sur des arbres de décision « Online Decision Trees », et est en particulier choisie parmi : la technique « Online Random Forest », une technique d’« Hoeffding Tree » et une technique de « Stochastic Gradient Tree ». La technique d’« Online Random Forest » est adaptée pour résoudre les problèmes de classification multi-classes, permettant de prédire la catégorie à laquelle appartiennent les données. La technique « Online Random Forest » a l’avantage de consommer peu de ressources au niveau du processeur. Elle présente aussi l’avantage d’avoir une précision élevée tout en offrant une rapidité d’exécution par rapport à d’autres techniques supervisées. De plus, “Online Random Forest“ est un algorithme simple à mettre en œuvre, robuste et permet de gérer des données non équilibrées. Il peut s'adapter au déséquilibre de classe que l’on peut rencontrer dans un système de stockage distribué, ce qui assurera une plus grande précision par rapport aux autres modèles d'apprentissage automatique. Par exemple, dans les systèmes de stockage distribués chaud/froid à deux niveaux, il est habituel d'avoir plus de données froides que de données chaudes. Ce déséquilibre entre la proportion de données chaudes et froides peut affecter le processus de formation du modèle d'apprentissage automatique, entraînant un apprentissage biaisé et des prédictions erronées. En outre, la technique « Online Random Forest » peut être rendue parallèle, ce qui permet de répartir les besoins de calcul pour la construction du modèle d'apprentissage automatique entre plusieurs nœuds, le procédé selon l’invention pouvant alors fonctionner sans affecter les processus principaux. De surcroît, cette technique est interprétable, ce qui signifie qu’on peut utiliser le modèle d'apprentissage automatique non seulement pour la prédiction, mais aussi pour révéler des modèles cachés dans les données. Ces modèles peuvent être rapportés à une équipe de gestion des données pour aider à la surveillance et aux actions futures, sans nécessiter de configurations préalables significatives. Par ailleurs, « Online Random Forest » ne nécessite pas d’importantes configurations, comme cela est le cas pour la méthode “ gradient boosting ” ou les méthodes basées sur les réseaux de neurones qui exigent une étape de configuration préalable. Le recours à d’autres techniques d’apprentissage automatique en ligne basées sur des arbres de décision est également possible, telles que par exemple, les techniques d’Hoeffding Tree. Le Hoeffding Tree Classifier et le Hoeffding Tree Regressor sont deux autres algorithmes d'arbre en ligne qui peuvent être utilisés dans le cadre du procédé selon l’invention. Ils utilisent la limite de Hoeffding pour contrôler les décisions fractionnées et s'appuient sur le calcul de la réduction de la variance dans l'espace cible pour décider parmi les candidats fractionnés. Pour ces deux techniques, l’apprentissage est plus rapide, mais moins précis que la forêt aléatoire en ligne (Online Random Forest). La technique Stochastic Gradient Trees peut également être utilisée. C’est un algorithme en ligne qui minimise une fonction de perte au lieu de la variance de l'espace cible. Il a l’avantage de nécessiter moins de mémoire que les arbres Hoeffding et la forêt aléatoire en ligne, il ne peut cependant pas évoluer en parallèle. L’historique et les caractéristiques des données Lesdites informations collectées comprennent de préférence au moins des métadonnées et un historique de la donnée à placer. L’historique de la donnée comporte des informations sur les caractéristiques de ladite donnée et extraites des fichiers de trace du système, encore appelés « fichiers log ». On entend par « fichier log du système » un fichier contenant un historique des événements survenus sur le système. Les métadonnées peuvent comporter au moins le type de la donnée, sa taille et les informations sur l’utilisateur. La technique d’apprentissage automatique utilise préférentiellement l’historique et les caractéristiques des données. Les caractéristiques de la donnée comportent de préférence au moins le type de la donnée, son nom, sa taille, son chemin d’accès, sa fréquence d’accès, les informations sur l’utilisateur. D’autres étapes du procédé Dans un mode de réalisation, le procédé comporte une étape préalable à la classification, consistant à préparer les données à placer en leur affectant des catégories prédéfinies à partir des informations relatives auxdites données. Le procédé comporte préférentiellement la détection d’un changement brusque de catégorie. Le procédé selon l’invention est mis en œuvre par ordinateur. Par ordinateur, on entend tout système électronique, pouvant comprendre un ensemble de plusieurs machines, et ayant des capacités de traitement informatique. Classiquement, un ordinateur comprend un processeur, une mémoire, une interface homme-machine, par exemple un clavier, une souris ou un écran tactile, un écran et un module de communication, notamment Ethernet, WIFI, Bluetooth® ou utilisant une technologie de téléphonie mobile, par exemple une technologie fonctionnant avec les protocoles GSM, GPRS, EDGE, LTE ou UMTS. Le procédé peut être mis en œuvre sous la forme d’un logiciel (software ou programme informatique). Système de placement automatique L’invention a encore pour objet, selon un autre de ses aspects, un système de placement automatique de données, au sein d’un système de stockage selon au moins une catégorie de données, pour la mise en œuvre du procédé selon l’invention, le système de placement comportant un module de classification configuré pour prédire la catégorie de données en utilisant une technique d’apprentissage automatique en ligne utilisant des informations relatives auxdites données Le système peut comporter un module de préparation des données en amont du module de classification, configuré pour préparer les données à placer en leur affectant des catégories prédéfinies à partir des informations relatives auxdites données. Le module de classification comporte préférentiellement un sous-module de prédiction d’un changement brusque de catégorie. L’invention pourra être mieux comprise à la lecture de la description détaillée qui va suivre, d’exemples non limitatifs de mise en œuvre de celle-ci, et à l’examen du dessin annexé, sur lequel : La représente schématiquement un exemple de système de placement automatique de données selon l’invention. Description détaillée On a illustré schématiquement à la un exemple de système 1 de placement automatique de données selon l’invention. Ce système 1 comporte un module de préparation de données 20 et un module d’apprentissage et de classification 30. Le module de préparation de données 20 comporte un extracteur de données 21 configuré pour collecter des informations relatives aux données à classer à partir d’un système de stockage 10. Le système 10 peut comporter des fichiers de trace 11 du système (fichiers log) et des caractéristiques des données 12 (comprenant notamment des métadonnées, par exemple le type de la donnée, son nom, sa taille, son chemin d’accès, sa fréquence d’accès, les informations sur l’utilisateur, etc.), D'autres informations sont possibles en fonction de l'architecture de stockage sous-jacente. En se basant sur ces informations, le module de préparation 20 affecte aux données des catégories prédéfinies. Par exemple, l’étiquette « cold » est attribuée aux données auxquelles on accède rarement, et l’étiquette « hot » est attribuée aux données fréquemment sollicitées. Les informations sur les données et leurs catégories (étiquettes) prédéfinies vont ensuite en entrée du module d’apprentissage et de classification 30. Ce module comprend un moteur d’apprentissage 31 et un classifieur 32, et a pour objectif principal de pouvoir prédire la catégorie d’une donnée en fonction de son activité d’accès. Le moteur d’apprentissage 31 utilise une technique d’apprentissage automatique en ligne, étant dans l’exemple décrit la technique dite « Online Random Forest » telle que présentée plus haut. Le classifieur 32 est configuré pour prédire la catégorie d’accès à la donnée en se basant sur la sortie du moteur d’apprentissage 31. Le module d’apprentissage et de classification 30 peut en outre comprendre un sous-module 33 de prédiction de la stabilité du modèle d’accès aux données. Le concept de « drift » dans l’apprentissage automatique fait référence au changement brusque de la relation entre les données d’entrée et la sortie du modèle d’apprentissage. Dans le modèle d’apprentissage de la présente invention, un module de « drift detection » peut être intégré afin d’identifier les changements brusques des catégories de données. Un tel sous-module 33 serait utilisé par exemple pour déterminer quand les données passent brusquement d’une catégorie donnée à une catégorie différente (en l’occurrence une donnée qui était considérée peu demandée pendant longtemps et qui devient brusquement très demandée par les utilisateurs). Chaque donnée est alors placée dans un support de stockage 40 selon sa catégorie prédite. qui peut être « cold » ou « hot ». Les données « cold » sont placées dans un support 42 moins rapide d’accès et moins coûteux et les données « hot » sont placées dans un support 41 performant et coûteux. Le résultat du placement automatique est renvoyé par une boucle de rétroaction vers le système de stockage 10 pour une mise à jour des fichiers log 11 et des métadonnées 12, dans le but d’améliorer la précision du système de stockage 10 et donc la qualité de l’apprentissage automatique. Les systèmes HSM (Hierarchical Storage Management), le Tiering storage, les systèmes de stockage objet, les systèmes de fichiers, le Cloud Storage ou Multi-cloud sont des systèmes où cette invention peut s’appliquer. L’invention peut être intégrée dans des logiciels professionnels de stockage de données ou du cloud ainsi que des systèmes de gestion et de surveillance de ces systèmes. Elle peut être également appliquée, d’une façon plus générale, à tout système où les données doivent être placées dans des localisations particulières pourvu que ces données soient caractérisées par des attributs spécifiques. Le Big Data peut être considéré comme une autre application. Plusieurs acteurs du marché du stockage peuvent être des clients potentiels pour l’application de cette invention : - les fournisseurs de services de stockage et du cloud ; - les entreprises qui gèrent et optimisent leur propre infrastructure de stockage ; - les éditeurs de logiciels de systèmes de stockage, ou de logiciels de gestion/surveillance de systèmes de stockage qui pourraient se positionner de manière intermédiaire et intégrer la solution. L’invention n’est pas limitée à l’exemple de réalisation décrit ci-dessus. D’autres techniques d’apprentissage automatique et d’autres catégories de données sont tout à fait envisageables. Procédé de placement automatique de données au sein d’un système de stockage (40) disposant de différents types de support de stockage, selon au moins une catégorie de données, comportant au moins l’étape de classifier les données selon leur catégorie, cette classification s’effectuant par une technique d’apprentissage automatique en ligne utilisant des informations collectées relatives auxdites données. Procédé selon la revendication précédente, lesdites informations collectées comprenant au moins des métadonnées (12) et un historique (11) de la donnée à placer. Procédé selon l'une des deux revendications précédentes, ladite au moins une catégorie de données est définie par les caractéristiques de ladite donnée, notamment la fréquence d’accès aux données. Procédé selon l'une quelconque des revendications précédentes, ladite au moins une catégorie de données étant le type de support de stockage (40). Procédé selon la revendication 1, ladite au moins une catégorie de données étant un service de stockage (40). Procédé selon la revendication 1, ladite au moins une catégorie de données étant la localisation de stockage. Procédé selon l'une quelconque des revendications précédentes, la technique d’apprentissage automatique en ligne étant basée sur des arbres de décision « Online Decision Trees ». Procédé selon la revendication précédente, la technique d’apprentissage automatique en ligne basée sur des arbres de décision étant la technique de « Online Random Forest » ou une technique d'« Hoeffding Tree » ou une technique de « Stochastic Gradient Tree ». Procédé selon l'une quelconque des revendications précédentes, la technique d’apprentissage automatique utilisant l’historique et les caractéristiques des données. Procédé selon l'une quelconque des revendications précédentes, les caractéristiques des données comportant au moins le type de la donnée, son nom, sa taille, son chemin d’accès, sa fréquence d’accès, les informations sur l’utilisateur. Procédé selon l'une quelconque des revendications précédentes, comportant une étape préalable à la classification, consistant à préparer les données à placer en leur affectant des catégories prédéfinies à partir des informations relatives auxdites données (11, 12). Procédé selon l'une quelconque des revendications précédentes, comportant la détection d’un changement brusque de catégorie. Système (1) de placement automatique de données au sein d’un système de stockage (40) disposant de différents types de support de stockage selon au moins une catégorie de données, pour la mise en œuvre du procédé selon l'une quelconque des revendications précédentes, le système de placement comportant un module de classification (30) configuré pour prédire la catégorie de données en utilisant une technique d’apprentissage automatique en ligne utilisant des informations relatives auxdites données Système selon la revendication précédente, comportant un module de préparation des données (20) en amont du module de classification, configuré pour préparer les données à placer en leur affectant des catégories prédéfinies à partir des informations relatives auxdites données. Système selon la revendication 13 ou 14, le module de classification comportant un sous-module (33) de prédiction d’un changement brusque de catégorie.