Brevet FR3100627A1 — publié le 20210312

L’invention porte sur un procédé de gestion d’un groupe de données dans un système informatique comprenant : - au moins un serveur de calcul (4) pour accueillir une session informatique (2) s’exécutant à l’aide d’un système d’exploitation disposant d’un index de déduplication (UD) et gérant l’accès à un espace de stockage de session (HDD); - un espace de stockage partagé (DBE) ; - un serveur d’administration (ADM) de l’espace de stockage partagé (DBE) exécutant un programme de gestion de données (DM); la session informatique (2) exécutant un programme d’interception (INT) mettant en œuvre les étapes suivantes : - intercepter un appel en lecture d’au moins un groupe de données émis dans la session (2) ; - accéder à l’index de déduplication (UD) et déterminer si le groupe de données est enregistré dans l’espace de stockage partagé (DBE) ; - dans un tel cas, lire dans l’index de déduplication (UD) l’adresse du groupe de données dans l’espace de stockage partagé (DBE) et rediriger l’appel en lecture vers cette adresse ; - dans le cas contraire, laisser passer l’appel en lecture pour qu’il soit traité par le système d’exploitation. Figure à publier avec l’abrégé : Fig. 1 Procédé de gestion d’un groupe de donnees dans un système informatique La présente invention concerne un procédé de gestion d’un groupe de données dédupliqué dans un réseau informatique. ARRIERE PLAN TECHNOLOGIQUE DE L’INVENTION Dans un réseau informatique, les utilisateurs peuvent être amenés à manipuler dans leur session respective un même fichier informatique, par exemple une application ou un fichier de données. Généralement, cette situation conduit à enregistrer le fichier informatique dans l'espace de stockage associé à chaque session, et donc à le dupliquer, ce qui tend à occuper un espace de stockage important. Pour rationaliser cela, on peut prévoir de rendre le fichier informatique disponible dans un espace de stockage partagé, auquel chaque session peut accéder. Toutefois cette solution n'est pas toujours pratique, car elle impose à l'utilisateur d'accéder par lui-même à l'espace de stockage partagé, ce qui lui impose des contraintes. De plus, un accès à un espace de stockage partagé peut introduire une latence d'accès ce qui pénalise l'utilisateur. La gestion de l'espace de stockage de données et de la vitesse d'accès à ces données se pose tout particulièrement dans une architecture informatique du type « cloud » (traduit parfois en français par le terme « infonuagique »). Dans une telle architecture, un administrateur met à disposition et mutualise un grand nombre de ressources informatiques, telles que des serveurs de calculs et des dispositifs de stockage, qu’il maintient en service dans un centre de données centralisé. Les utilisateurs accèdent à ces ressources à partir d'un client distant. Il est important dans un tel contexte de pouvoir éviter la duplication des données afin de limiter l'espace de stockage nécessaire et la consommation énergétique du centre de données. De préférence, la gestion de la déduplication des données doit pouvoir s'effectuer sans affecter notablement la performance du système et sans que cela ne modifie les usages des utilisateurs. OBJET DE L’INVENTION Un but de l’invention est de proposer une solution au moins partielle à ce problème. BREVE DESCRIPTION DE L’INVENTION En vue de la réalisation de ce but, l’objet de l’invention propose un procédé de gestion d’un groupe de données dans un système informatique comprenant : - au moins un serveur de calcul pour accueillir une session informatique s’exécutant à l’aide d’un système d’exploitation disposant d’un index de déduplication et gérant l’accès à un espace de stockage de session ; - un espace de stockage partagé ; - un serveur d’administration de l’espace de stockage partagé exécutant un programme de gestion de données. La session informatique exécute un programme d’interception mettant en œuvre les étapes suivantes : - intercepter un appel en lecture d’au moins un groupe de données émis dans la session ; - accéder à l’index de déduplication et déterminer si le groupe de données est enregistré dans l’espace de stockage partagé ; - dans un tel cas, lire dans l’index de déduplication l’adresse du groupe de données dans l’espace de stockage partagé et rediriger l’appel en lecture vers cette adresse ; - dans le cas contraire, laisser passer l’appel en lecture pour qu’il soit traité par le système d’exploitation. Selon d’autres caractéristiques avantageuses et non limitatives de l’invention, prises seules ou selon toute combinaison techniquement réalisable : la session informatique exécute également un programme de synchronisation mettant en œuvre les étapes suivantes : - identifier une écriture d’au moins un groupe de données émis dans la session ; - adresser une requête de synchronisation du groupe de données au programme de gestion de données du serveur d’administration ; - le cas échéant, recevoir du programme de gestion de données une adresse de stockage du groupe de données dans l’espace de stockage partagé et accéder à l’index de déduplication pour y enregistrer l’adresse du groupe de données dans l’espace de stockage partagé ; le programme de synchronisation met en œuvre également les étapes suivantes : - recevoir du programme de gestion de données une acceptation de synchronisation du groupe de données ; - fournir au programme de gestion de données le groupe de données ; le serveur d’administration héberge un index de métadata et le programme de gestion de données met en œuvre les étapes suivantes : - recevoir d’une session informatique une requête de synchronisation d’un groupe de données ; - consulter l’index de métadata pour déterminer si le groupe de données est stocké dans l’espace de stockage partagé ; - dans l’affirmative, retourner à la session informatique une adresse de stockage du groupe de données dans l’espace de stockage partagé ; le programme de gestion de données met également en œuvre les étapes suivantes, lorsque le groupe de données n’est pas stocké dans l’espace de stockage partagé : - incrémenter un compteur de requête de synchronisation du groupe de données et si le compteur excède un seuil déterminé ; - adresser à au mois une session informatique une acceptation de synchronisation du groupe de données ; - recevoir de la session informatique le groupe de données et enregistrer le groupe de données dans une adresse de l’espace de stockage partagé ; - accéder à l’index de métadata pour enregistrer l’adresse du groupe de données dans l’espace de stockage partagé. le programme d’interception met également en œuvre les étapes suivantes : - identifier un échec de lecture du groupe de données dans l’espace de stockage partagé ; - requérir au serveur d’administration une nouvelle adresse du groupe de données dans l’espace de stockage partagé ; - recevoir la nouvelle adresse du groupe de données et accéder à l’index de déduplication pour enregistrer la nouvelle adresse du groupe de données ; - rediriger l’appel en lecture vers la nouvelle adresse du groupe de données dans l’espace de stockage partagé (DBE). D’autres caractéristiques et avantages de l’invention ressortiront de la description détaillée de l’invention qui va suivre en référence aux figures annexées sur lesquels : La figure 1 représente une architecture d’un système informatique compatible avec un procédé conforme à l'invention ; La figure 2 représente les étapes mises en œuvre par un programme d’interception d’un procédé conforme à l'invention ; La figure 3 représente les étapes mises en œuvre par un programme de synchronisation d’un procédé conforme à l'invention. Procédé de gestion d’un groupe de données (DB) dans un système informatique comprenant : - au moins un serveur de calcul (4) pour accueillir une session informatique (2) s’exécutant à l’aide d’un système d’exploitation disposant d’un index de déduplication (UD) et gérant l’accès à un espace de stockage de session (HDD); - un espace de stockage partagé (DBE) ; - un serveur d’administration (ADM) de l’espace de stockage partagé (DBE) exécutant un programme de gestion de données (DM) ; la session informatique (2) exécutant un programme d’interception (INT) mettant en œuvre les étapes suivantes : - intercepter un appel en lecture d’au moins un groupe de données (DB) émis dans la session (2) ; - accéder à l’index de déduplication (UD) et déterminer si le groupe de données (DB) est enregistré dans l’espace de stockage partagé (DBE) ; - dans un tel cas, lire dans l’index de déduplication (UD) l’adresse du groupe de données (IP) dans l’espace de stockage partagé (DBE) et rediriger l’appel en lecture vers cette adresse (IP) ; - dans le cas contraire, laisser passer l’appel en lecture pour qu’il soit traité par le système d’exploitation. Procédé de gestion selon la revendication précédente dans lequel la session informatique (2) exécute également un programme de synchronisation (SYNC) mettant en œuvre les étapes suivantes : - identifier une écriture d’au moins un groupe de données (DB) émis dans la session (2) ; - adresser une requête de synchronisation du groupe de données (BD) au programme de gestion de données (DM) du serveur d’administration (ADM) ; - le cas échéant, recevoir du programme de gestion de données (DM) une adresse de stockage du groupe de données (IP) dans l’espace de stockage partagé (DBE) et accéder à l’index de déduplication (UD) pour y enregistrer l’adresse du groupe de données (IP) dans l’espace de stockage partagé (DBE). Procédé de gestion selon la revendication précédente dans lequel le programme de synchronisation (SYNC) met en œuvre également les étapes suivantes : - recevoir du programme de gestion de données (DM) une acceptation de synchronisation du groupe de données (DB); - fournir au programme de gestion de données (DM) le groupe de données (DB). Procédé de gestion selon l’une des revendications 2 et 3 dans lequel le serveur d’administration (ADM) héberge un index de métadata (MD) et le programme de gestion de données (DM) met en œuvre les étapes suivantes : - recevoir d’une session informatique (2) une requête de synchronisation d’un groupe de données (DB) ; - consulter l’index de métadata (MD) pour déterminer si le groupe de données (DB) est stocké dans l’espace de stockage partagé (DBE) ; - dans l’affirmative, retourner à la session informatique (2) une adresse de stockage du groupe de données (IP) dans l’espace de stockage partagé (DBE). Procédé de gestion selon la revendication précédente dans lequel le programme de gestion de données (DM) met également en œuvre les étapes suivantes, lorsque le groupe de données (DB) n’est pas stocké dans l’espace de stockage partagé (DBE) : - incrémenter un compteur de requête de synchronisation du groupe de données (DB) et si le compteur excède un seuil déterminé ; - adresser à au moins une session informatique (2) une acceptation de synchronisation du groupe de données (DB) ; - recevoir de la session informatique le groupe de données (DB) et enregistrer le groupe de données (DB) dans une adresse (IP) de l’espace de stockage partagé (DBE) ; - accéder à l’index de métadata (MD) pour enregistrer l’adresse du groupe de données (IP) dans l’espace de stockage partagé. Procédé de gestion selon l’une des revendications précédentes dans lequel le programme d’interception (INT) met également en œuvre les étapes suivantes : - identifier un échec de lecture du groupe de données (DB) dans l’espace de stockage partagé (DBE) ; - requérir au serveur d’administration (ADM) une nouvelle adresse du groupe de données dans l’espace de stockage partagé (DBE); - recevoir la nouvelle adresse du groupe de données et accéder à l’index de déduplication (UD) pour enregistrer la nouvelle adresse du groupe de données ; - rediriger l’appel en lecture vers la nouvelle adresse du groupe de données (DB) dans l’espace de stockage partagé (DBE).