FR2996656A1 - Processing system i.e. cloud computing system, for deporting storage and data processing operations, has communication units storing data to be perennialized when auto-scaling module controls suppression of server instances - Google Patents

Processing system i.e. cloud computing system, for deporting storage and data processing operations, has communication units storing data to be perennialized when auto-scaling module controls suppression of server instances Download PDF

Info

Publication number
FR2996656A1
FR2996656A1 FR1259502A FR1259502A FR2996656A1 FR 2996656 A1 FR2996656 A1 FR 2996656A1 FR 1259502 A FR1259502 A FR 1259502A FR 1259502 A FR1259502 A FR 1259502A FR 2996656 A1 FR2996656 A1 FR 2996656A1
Authority
FR
France
Prior art keywords
server
server instance
data
storage unit
processing system
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
FR1259502A
Other languages
French (fr)
Inventor
Jean-Thomas Ferreri
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sagemcom Documents SAS
Original Assignee
Sagemcom Documents SAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sagemcom Documents SAS filed Critical Sagemcom Documents SAS
Priority to FR1259502A priority Critical patent/FR2996656A1/en
Publication of FR2996656A1 publication Critical patent/FR2996656A1/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

The system has a set of server instances (210-212), and an auto-scaling module (201) that is adapted for dynamically creating and removing one server instance according to requirements in capacity for processing purposes. Each server instance has a local storage unit (220-222) such as hard disk drive. A set of communication units is arranged for storing data i.e.file, to be perennialized on the local storage units or on the server instances when the auto-scaling module controls a suppression of the server instances. An independent claim is also included for a method for implementing a processing system.

Description

La présente invention concerne un système de traitement comportant une pluralité d'instances de serveur et un module de mise à l'échelle automatique adapté pour dynamiquement créer et supprimer au moins une instance de serveur en fonction de besoins en capacité de traitement dudit système.The present invention relates to a processing system comprising a plurality of server instances and an automatic scaling module adapted to dynamically create and delete at least one server instance according to the processing capacity requirements of said system.

De nos jours, des systèmes de traitement, généralement dits en nuage (« coud computing systems » en anglais), permettent à un utilisateur de déporter sur des serveurs distants des stockages et des traitements informatiques traditionnellement localisés sur des serveurs locaux ou sur des postes utilisateurs. L'utilisateur n'a alors pas à gérer de serveurs informatiques ni d'infrastructure coordonnant ces serveurs informatiques, et peut cependant accéder de manière évolutive à des services via lesquels l'utilisateur peut faire exécuter des applications de traitement de données. La Fig. 1 illustre schématiquement un système de traitement en nuage selon l'état de la technique. Le système de traitement en nuage comporte un module de mise à l'échelle automatique (« auto-scaling module » en anglais) 101 dont la fonction principale est de dynamiquement créer et supprimer des instances de serveur 110, 111, 112, en fonction de besoins en capacité de traitement simultané dudit système. Le module de mise à l'échelle automatique 101 dispose typiquement d'une liste d'instances de serveur actives dans le système de traitement en nuage. Le module de mise à l'échelle automatique 101 communique avec ces instances de serveur 110, 111, 112 dans le cadre d'une mise en oeuvre de dimensionnement (« provisioning » en anglais) du système de traitement en nuage. On citera par exemple le système EC2 (« Elastic Compute Cloud » en anglais) de la société Amazon Web Services LLC. Les instances de serveur 110, 111, 112 disposent d'unités de stockage local 120, 121, 122 respectives. Ces unités de stockage local 120, 121, 122 permettent aux instances de serveur 110, 111, 112 respectives de stocker des valeurs temporaires de données, ou des fichiers temporaires, obtenus et utilisés au cours des traitements que les instances de serveur 110, 111, 112 effectuent. Chaque unité de stockage 120, 121, 122 est dite de stockage local car elle appartient à la plateforme matérielle sur laquelle l'instance de serveur 110, 111, 112 respective est implémentée. Chaque unité de stockage local 120, 121, 122 correspond typiquement à un système de fichiers sur une portion prédéterminée d'un disque dur (« hard disk drive » en anglais) de ladite plateforme matérielle. Afin de pérenniser les résultats des traitements effectués par les instances de serveur 110, 111, 112, notamment à la suppression d'au moins une instance de serveur, les instances de serveur 110, 111, 112 disposent d'une unité commune de stockage distant 130. Cette unité commune de stockage distant 130 permet en outre aux instances de serveur 110, 111, 112 de partager des fichiers communs. Par exemple, dans le cadre d'un service de dématérialisation de documents, l'instance de serveur 110 peut être amenée à effectuer un premier traitement sur un fichier représentatif d'un document numérisé, comme par exemple un traitement de reconnaissance de caractères, et l'instance de serveur 111 peut être amenée à effectuer un second traitement sur ce fichier, comme par exemple un traitement de tatouage numérique (« digital watermarking » en anglais). Les instances de serveur 110, 111 accèdent alors audit fichier à partir de l'unité commune de stockage distant 130 et stockent sur l'unité commune de stockage distant 130 le résultat de leurs traitements respectifs. Une telle architecture pose un problème de performance. En effet, la multitude d'accès à l'unité commune de stockage distant 130 effectués par les instances de serveur 110, 111, 112 engendre un trafic de données fortement consommateur en bande passante entre chaque plateforme implémentant une telle instance de serveur 110, 111, 112 et l'unité commune de stockage distant 130. De plus, une telle architecture nécessite la mise en place d'une plateforme matérielle distante comportant l'unité commune de stockage distant 130, ce qui pose des problèmes de coûts et de complexité de mise en oeuvre. Il est donc souhaitable de pallier ces inconvénients de l'état de la technique, et notamment de fournir une solution plus efficace en termes de performance et de coût matériel, et qui soit plus simple de mise en oeuvre. L'invention concerne un système de traitement comportant une pluralité d'instances de serveur et un module de mise à l'échelle automatique adapté pour dynamiquement créer et supprimer au moins une instance de serveur en fonction de besoins en capacité de traitement dudit système, chaque instance de serveur disposant d'une unité de stockage local. Le système est tel que chaque instance de serveur comporte des moyens de communication avec au moins une autre instance de serveur, lesdits moyens de communication étant adaptés pour stocker sur l'unité de stockage local de ladite ou desdites autre(s) instance(s) de serveur des données à pérenniser lorsque le module de mise à l'échelle automatique ordonne une suppression de ladite instance de serveur. Ainsi, les performances sont accrues, la mise en oeuvre est simplifiée et à coût réduit du fait de reposer sur les unités de stockage local des instances de serveur. Selon un mode de réalisation particulier, chaque unité de stockage d'instance de serveur est adaptée pour exporter un système de fichiers, et en ce que lesdites données à pérenniser sont sous la forme de fichiers. L'identification et l'organisation des données sont ainsi facilitées. Selon un mode de réalisation particulier, le module de mise à l' échelle automatique comporte des moyens de transmission aux instances de serveur d'une liste identifiant chacune desdites instances de serveur. Ainsi, les instances de serveur ont dynamiquement connaissance des instances de serveur effectivement présentes dans le système de traitement. Selon un mode de réalisation particulier, chaque instance de serveur comporte un module d'interface de communication avec chacune des autres instances de serveur identifiées dans ladite liste. Ainsi, un maximum de flexibilité est apporté pour pérenniser les données. Selon un mode de réalisation particulier, chaque instance de serveur comporte une application adaptée pour effectuer un traitement dans le cadre d'un service mis en oeuvre par ledit système de traitement et un module de gestion de stockage rendant transparent le stockage de données manipulées par ladite application au cours dudit traitement. Ainsi, les applications pour la mise en oeuvre du service peuvent être développées en faisant abstraction de l'implémentation effective du stockage de données. Selon un mode de réalisation particulier, chaque instance de serveur comporte : des moyens d'ordonner le stockage par l'unité de stockage local de ladite instance de serveur de chaque donnée manipulée par ladite application au cours dudit traitement ; des moyens de détection d'un ordre de suppression d'instance de serveur ; des moyens d'identification de chaque donnée stockée par l'unité de stockage local de ladite instance de serveur et qui est à pérenniser après la suppression de ladite instance de serveur, lesdits moyens d'identification étant mis en oeuvre sur détection dudit ordre de suppression ; des moyens de transfert à au moins une autre instance de serveur de chaque donnée identifiée. Ainsi, la pérennité des données est assurée de manière simple et les temps d'accès aux données sont globalement réduits. Selon un mode de réalisation particulier, les unités de stockage local des instances de serveur forment, en ce qui concerne lesdites données à pérenniser, un regroupement redondant de disques indépendants. Ainsi, les données sont pérennisées même en cas de dysfonctionnement ou de disparition d'une instance de serveur. Selon un mode de réalisation particulier, chaque unité de stockage d'instance de serveur comporte un premier espace mémoire dédié au stockage desdites données à pérenniser, et un second espace mémoire dédié au stockage uniquement local de données temporaires. Ainsi, la gestion des données est simplifiée. L'invention concerne également un procédé mis en oeuvre par un système de traitement comportant une pluralité d'instances de serveur et un module de mise à l'échelle automatique, ledit module de mise à l'échelle automatique créant et supprimant dynamiquement au moins une instance de serveur en fonction de besoins en capacité de traitement dudit système, chaque instance de serveur disposant d'une unité de stockage local. Le procédé est tel que chaque instance de serveur communique avec au moins une autre instance de serveur pour stocker sur l'unité de stockage local de ladite ou desdites autre(s) instance(s) de serveur des données à pérenniser lorsque le module de mise à l'échelle automatique ordonne une suppression de ladite instance de serveur. Les caractéristiques de l'invention mentionnées ci-dessus, ainsi que d'autres, apparaîtront plus clairement à la lecture de la description suivante d'un exemple de réalisation, ladite description étant faite en relation avec les dessins joints, parmi lesquels : - la Fig. 1 illustre schématiquement un système de traitement en nuage selon l'état de la technique ; - la Fig. 2 illustre schématiquement un système de traitement selon la présente invention ; - la Fig. 3 illustre schématiquement une architecture d'instance de serveur dans le système de traitement de la Fig. 2 ; - la Fig. 4 illustre schématiquement un exemple d'architecture matérielle supportant au moins une instance de serveur de la Fig. 3 ; - la Fig. 5 illustre schématiquement un algorithme, mis en oeuvre par un module de mise à l'échelle automatique, de diffusion d'une liste d'instances de serveur actives dans le système de traitement de la Fig. 2 ; - la Fig. 6 illustre schématiquement un algorithme de traitement d'un ordre de lecture de fichier, mis en oeuvre par un module de gestion de stockage ; - la Fig. 7 illustre schématiquement un algorithme de traitement d'un ordre d'effacement de fichier, mis en oeuvre par le module de gestion de stockage ; - la Fig. 8 illustre schématiquement un algorithme de traitement d'un ordre de suppression d'instance de serveur.Nowadays, generally "coud computing systems" ("coud computing systems") processing systems allow a user to deport to remote servers storages and computer processing traditionally located on local servers or on user stations. . The user does not have to manage computer servers or infrastructure coordinating these computer servers, and can however access scalable services through which the user can run data processing applications. Fig. 1 schematically illustrates a cloud processing system according to the state of the art. The cloud processing system comprises an automatic scaling module 101 whose main function is to dynamically create and delete server instances 110, 111, 112, as a function of need for simultaneous processing capacity of said system. The automatic scaling module 101 typically has a list of active server instances in the cloud processing system. The automatic scaling module 101 communicates with these server instances 110, 111, 112 as part of a provisioning implementation ("provisioning" in English) of the cloud processing system. For example, the EC2 system ("Elastic Compute Cloud") of the company Amazon Web Services LLC. The server instances 110, 111, 112 have respective local storage units 120, 121, 122. These local storage units 120, 121, 122 allow the respective server instances 110, 111, 112 to store temporary data values, or temporary files, obtained and used during processing as the server instances 110, 111, 112 perform. Each storage unit 120, 121, 122 is called local storage because it belongs to the hardware platform on which the respective server instance 110, 111, 112 is implemented. Each local storage unit 120, 121, 122 typically corresponds to a file system on a predetermined portion of a hard disk drive ("hard disk drive" in English) of said hardware platform. In order to sustain the results of the processing carried out by the server instances 110, 111, 112, in particular the deletion of at least one server instance, the server instances 110, 111, 112 have a common remote storage unit 130. This common remote storage unit 130 further allows the server instances 110, 111, 112 to share common files. For example, in the context of a document dematerialization service, the server instance 110 may be required to perform a first processing on a representative file of a scanned document, such as a character recognition process, and the server instance 111 may be required to perform a second processing on this file, such as for example a digital watermarking treatment ("digital watermarking"). The server instances 110, 111 then access said file from the common remote storage unit 130 and store on the remote storage common unit 130 the result of their respective processes. Such an architecture poses a performance problem. Indeed, the multitude of accesses to the common remote storage unit 130 made by the server instances 110, 111, 112 generates bandwidth-intensive data traffic between each platform implementing such a server instance 110, 111 , 112 and the common remote storage unit 130. In addition, such an architecture requires the establishment of a remote hardware platform comprising the common remote storage unit 130, which poses problems of cost and complexity of Implementation. It is therefore desirable to overcome these disadvantages of the state of the art, and in particular to provide a more efficient solution in terms of performance and material cost, and which is simpler to implement. The invention relates to a processing system comprising a plurality of server instances and an automatic scaling module adapted to dynamically create and delete at least one server instance according to the processing capacity requirements of said system, each server instance that has a local storage unit. The system is such that each server instance comprises means of communication with at least one other server instance, said communication means being adapted to store on the local storage unit of said other instance (s) of data server to perpetuate when the automatic scaling module orders a deletion of said server instance. Thus, the performance is increased, the implementation is simplified and low cost by relying on the local storage units server instances. According to a particular embodiment, each server instance storage unit is adapted to export a file system, and in that said data to be perpetuated are in the form of files. The identification and organization of the data is thus facilitated. According to a particular embodiment, the automatic scaling module comprises means for transmitting to server instances a list identifying each of said server instances. Thus, the server instances have dynamically knowledge of server instances actually present in the processing system. According to a particular embodiment, each server instance comprises a communication interface module with each of the other server instances identified in said list. Thus, a maximum of flexibility is brought to perpetuate the data. According to a particular embodiment, each server instance comprises an application adapted to perform a processing as part of a service implemented by said processing system and a storage management module making transparent the storage of data manipulated by said application during said treatment. Thus, the applications for the implementation of the service can be developed by disregarding the actual implementation of the data storage. According to a particular embodiment, each server instance comprises: means for ordering storage by the local storage unit of said server instance of each data item manipulated by said application during said processing; means for detecting a server instance delete order; means for identifying each piece of data stored by the local storage unit of said server instance and which is to be perpetuated after the deletion of said server instance, said identification means being implemented on detection of said deletion order ; means for transferring to at least one other server instance of each identified data item. Thus, the durability of the data is ensured in a simple manner and the access times to the data are reduced overall. According to a particular embodiment, the local storage units of the server instances form, with respect to said data to be perpetuated, a redundant grouping of independent disks. Thus, the data is maintained even in case of malfunction or disappearance of a server instance. According to a particular embodiment, each server instance storage unit comprises a first memory space dedicated to storing said data to be perpetuated, and a second memory space dedicated to the only local storage of temporary data. Thus, data management is simplified. The invention also relates to a method implemented by a processing system comprising a plurality of server instances and an automatic scaling module, said automatic scaling module dynamically creating and deleting at least one server instance according to the processing capacity requirements of said system, each server instance having a local storage unit. The method is such that each server instance communicates with at least one other server instance for storing on the local storage unit of said one or more other server instance (s) data to be perpetuated when the staging module at automatic scale orders a deletion of said server instance. The characteristics of the invention mentioned above, as well as others, will emerge more clearly on reading the following description of an exemplary embodiment, said description being given in relation to the attached drawings, among which: Fig. 1 schematically illustrates a cloud processing system according to the state of the art; FIG. 2 schematically illustrates a processing system according to the present invention; FIG. 3 schematically illustrates a server instance architecture in the processing system of FIG. 2; FIG. 4 schematically illustrates an example of a hardware architecture supporting at least one server instance of FIG. 3; FIG. 5 schematically illustrates an algorithm, implemented by an automatic scaling module, of broadcasting a list of active server instances in the processing system of FIG. 2; FIG. 6 schematically illustrates an algorithm for processing a file reading order, implemented by a storage management module; FIG. 7 schematically illustrates an algorithm for processing a file erasure command, implemented by the storage management module; FIG. 8 schematically illustrates an algorithm for processing a server instance deletion order.

Afin d'améliorer les performances d'un système de traitement, typiquement dit en nuage (« cloud computing » en anglais), il est proposé de s'appuyer sur des unités de stockage local d'instances de serveur, qui sont habituellement utilisées pour stocker des valeurs temporaires de données ou des fichiers temporaires lors de traitements mis en oeuvre par ces instances de serveur. Chaque instance de serveur communique alors avec au moins une autre instance de serveur pour stocker sur l'unité de stockage local de cette autre instance de serveur des données à pérenniser lorsqu'une suppression de ladite instance de serveur est ordonnée. La Fig. 2 illustre schématiquement un système de traitement selon la présente invention. Le système de traitement comporte un module de mise à l'échelle automatique 201 dont la fonction principale est de dynamiquement créer et supprimer des instances de serveur 210, 211, 212, en fonction de besoins en capacité de traitement simultané dudit système. Le système de traitement comporte une pluralité d'instances de serveur. Le module de mise à l'échelle automatique 201 dispose typiquement d'une liste d'instances de serveur actives dans le système de traitement.In order to improve the performance of a processing system, typically called cloud computing, it is proposed to rely on local storage units of server instances, which are usually used to store temporary data values or temporary files during processing implemented by these server instances. Each server instance then communicates with at least one other server instance to store on the local storage unit of this other server instance data to be maintained when a deletion of said server instance is ordered. Fig. 2 schematically illustrates a processing system according to the present invention. The processing system comprises an automatic scaling module 201 whose main function is to dynamically create and delete server instances 210, 211, 212, as a function of the simultaneous processing capacity requirements of said system. The processing system has a plurality of server instances. The automatic scaling module 201 typically has a list of active server instances in the processing system.

Le module de mise à l'échelle automatique 201 communique avec ces instances de serveur 210, 211, 212 dans le cadre d'une mise en oeuvre de dimensionnement du système traitement. Les instances de serveur 210, 211, 212 disposent respectivement d'unités de stockage local 220, 221, 222. Ces unités de stockage local 220, 221, 222 permettent aux instances de serveur 210, 211, 212 de stocker des données, ou des fichiers, obtenus et/ou utilisés au cours des traitements que les instances de serveur 210, 211, 212 effectuent. Chaque unité de stockage 220, 221, 222 est dite de stockage local car elle appartient à la plateforme matérielle sur laquelle l'instance de serveur 210, 211, 212 respective est implémentée. Chaque unité de stockage local 220, 221, 222 est préférentiellement adaptée pour exporter un système de fichiers implémenté sur une portion prédéterminée d'un disque dur de ladite plateforme matérielle, et les données qui y sont stockées le sont sous forme de fichiers. Les unités de stockage 220, 221, 222 étant locales du point de vue respectivement des instances de serveur 210, 211, 212, les données et fichiers peuvent y être rapidement stockés et rapidement récupérés, comparativement à une unité de stockage d'une plateforme distante. Les instances de serveur 210, 211, 212 mettent en oeuvre un mécanisme distribué de pérennisation de données, reposant sur une utilisation des unités de stockage locales 220, 221, 222. La Fig. 3 illustre schématiquement une architecture de chacune des instances de serveur 210, 211, 212. Prenons l'exemple de l'instance de serveur 210. L'instance de serveur 210 comporte une application 301, un module de gestion de stockage 302, un module d'interface 310 de communication avec le module de mise à l'échelle automatique 201, un module d'interface 320 de communication avec au moins une des autres instances de serveur du système de traitement, i.e. les instances de serveur 211, 212 dans le système de la Fig. 2, et un module d'interface 330 de communication avec l'unité de stockage local 220. Préférentiellement, le module d'interface de communication 330 permet à l'instance de serveur 210 de communiquer avec chacune des autres instances de serveur 211, 212 identifiées dans la liste d'instances de serveur fournie par le module de mise à l'échelle automatique 201. L'application 301 est adaptée pour effectuer des traitements sur des données, ou des fichiers, dans le cadre d'un service mis en oeuvre par le système de traitement. Par exemple, dans le cadre d'un service de dématérialisation comme déjà mentionné, l'application 301 met en oeuvre le traitement de reconnaissance de caractère ou de tatouage numérique. Le module d'interface de communication 310 permet au module de mise à l'échelle automatique 201 d'ordonner une mise en place de ressources pour établir un contexte d'exécution du traitement, à la création de l'instance de serveur 210, et d'ordonner une libération des ressources pour ce contexte, à la suppression de l'instance de serveur 210. Les ordres y afférant sont transmis par le module d'interface de communication 310 à l'application 301. Le module d'interface de communication 310 permet en outre au module de mise à l'échelle automatique 201 de fournir à l'instance de serveur 210 une liste identifiant chacune des instances de serveur actives dans le système de traitement. Cette liste est transmise par le module d'interface de communication 310 au module de gestion de stockage 302. Un algorithme de diffusion de cette liste d'instances de serveur actives est décrit ci-après en relation avec la Fig. 5.The automatic scaling module 201 communicates with these server instances 210, 211, 212 as part of a sizing implementation of the processing system. The server instances 210, 211, 212 respectively have local storage units 220, 221, 222. These local storage units 220, 221, 222 allow the server instances 210, 211, 212 to store data, or files, obtained and / or used during the processing that the server instances 210, 211, 212 perform. Each storage unit 220, 221, 222 is called local storage because it belongs to the hardware platform on which the respective server instance 210, 211, 212 is implemented. Each local storage unit 220, 221, 222 is preferably adapted to export a file system implemented on a predetermined portion of a hard disk of said hardware platform, and the data stored therein are in the form of files. Since the storage units 220, 221, 222 are local from the point of view of the server instances 210, 211, 212 respectively, the data and files can be quickly stored and quickly recovered, compared to a storage unit of a remote platform. . The server instances 210, 211, 212 implement a distributed data sustaining mechanism, based on use of the local storage units 220, 221, 222. FIG. 3 schematically illustrates an architecture of each of the server instances 210, 211, 212. Take the example of the server instance 210. The server instance 210 comprises an application 301, a storage management module 302, a module communication interface 310 with the automatic scaling module 201, an interface module 320 for communication with at least one of the other server instances of the processing system, ie the server instances 211, 212 in the system of FIG. 2, and an interface module 330 for communication with the local storage unit 220. Preferably, the communication interface module 330 enables the server instance 210 to communicate with each of the other server instances 211, 212 identified in the list of server instances provided by the automatic scaling module 201. The application 301 is adapted to perform processing on data, or files, as part of a service implemented by the treatment system. For example, in the context of a dematerialization service as already mentioned, the application 301 implements the character recognition or digital tattoo processing. The communication interface module 310 enables the automatic scaling module 201 to order a set up of resources to establish a context for execution of the processing, the creation of the server instance 210, and to order a release of the resources for this context, to the deletion of the server instance 210. The orders relating thereto are transmitted by the communication interface module 310 to the application 301. The communication interface module 310 further allows the automatic scaling module 201 to provide the server instance 210 with a list identifying each of the active server instances in the processing system. This list is transmitted by the communication interface module 310 to the storage management module 302. An algorithm for broadcasting this list of active server instances is described below in relation to FIG. 5.

Le module de gestion de stockage 302 a pour fonctions principales de rendre transparent pour l'application 301 le mécanisme de pérennisation de données et de mettre en oeuvre ce mécanisme de pérennisation de données. Pour ce faire, le module de gestion de stockage 302 et le module d'interface 320 sont adaptés pour stocker sur l'unité de stockage local d'au moins une autre instance de serveur des données à pérenniser lorsque le module de mise à l'échelle automatique 201 ordonne une suppression de l'instance de serveur 210. Le module de gestion de stockage 302 interagit avec le module d'interface 330 de communication avec l'unité de stockage local 220 pour : obtenir des données, ou des fichiers, stockées sur l'unité de stockage local 220 ; écrire des données, ou des fichiers, à stocker sur l'unité de stockage local 220 ; et ordonner que soient effacées des données, ou des fichiers, stockées sur l'unité de stockage local 220. Le module de gestion de stockage 302 interagit avec le module d'interface 320 de communication avec au moins une autre instance de serveur du système de traitement pour : obtenir des données, ou des fichiers, stockées sur l'unité de stockage local de cette autre instance de serveur ; transférer des données, ou des fichiers, à stocker sur l'unité de stockage local de cette autre instance de serveur ; et ordonner que soient effacées des données, ou des fichiers, stockées sur l'unité de stockage local de cette autre instance de serveur.The main function of the storage management module 302 is to make the mechanism for perpetuating data transparent for the application 301 and to implement this mechanism for perpetuating data. To do this, the storage management module 302 and the interface module 320 are adapted to store on the local storage unit of at least one other server instance data to be maintained when the setting module automatic scale 201 orders a deletion of the server instance 210. The storage management module 302 interacts with the communication interface module 330 for communication with the local storage unit 220 to: obtain data, or files, stored on the local storage unit 220; write data, or files, to be stored on the local storage unit 220; and ordering the erasure of data, or files, stored on the local storage unit 220. The storage management module 302 interacts with the communication interface module 320 with at least one other server instance of the storage system. processing for: obtaining data, or files, stored on the local storage unit of that other server instance; transfer data, or files, to be stored on the local storage unit of that other server instance; and ordering the erasure of data, or files, stored on the local storage unit of that other server instance.

Le comportement du module de gestion de stockage 302, dans un mode de réalisation particulier, est décrit ci-après en relation avec les Figs. 6 et 7, en ce qui concerne respectivement des opérations de lecture et d'écriture de fichiers. Le comportement du module de gestion de stockage 302, en ce qui concerne la suppression de l'instance de serveur 210 dans ce mode de réalisation particulier, est décrit ci-après en relation avec la Fig. 8. Dans un autre mode de réalisation particulier, les unités de stockage local 220, 221, 222 des instances de serveur 210, 211, 212 forment, en ce qui concerne les données à pérenniser, un regroupement redondant de disques indépendants RAID (« Redundant Array of Independent Disks » en anglais). Selon un premier exemple, un mécanisme de type RAID 0 peut être mis en oeuvre de manière à ce que le module de gestion de stockage 302 utilise au moins l'unité de stockage local d'au moins une autre instance de serveur comme miroir de stockage des données à pérenniser. Selon un second exemple, un mécanisme de type RAID 5 peut être mis en oeuvre de manière à ce que le module de gestion de stockage 302 utilise au moins l'unité de stockage local d'au moins une autre instance de serveur pour introduire dans le système de traitement des données de redondance permettant, après suppression de l'instance de serveur 210, de récupérer les données qui étaient à pérenniser. Dans un mode de réalisation particulier, chaque unité de stockage local d'instance de serveur comporte un premier espace mémoire dédié au stockage des données à pérenniser, et un second espace mémoire dédié au stockage uniquement local de données temporaires. Cela facilite la mise en oeuvre du mécanisme de type RAID. La Fig. 4 illustre schématiquement un exemple d'architecture d'une plateforme matérielle sur laquelle le module de mise à l'échelle automatique 201 et/ou au moins une instance de serveur 210, 211, 212 est implémenté. La plateforme matérielle comporte, reliés par un bus de communication 410 : un processeur ou CPU (« Central Processing Unit » en anglais) 400 ; une mémoire vive RAM (« Random Access Memory » en anglais) 401 ; une mémoire morte ROM (« Read Only Memory » en anglais) 402 ; une unité de stockage, tel qu'un disque dur HDD 403 ; une interface 404 permettant de communiquer avec d'autres plateformes matérielles du système de traitement via un réseau de communication. Le processeur 400 est capable d'exécuter des instructions chargées dans la RAM 401 à partir de la ROM 402, d'une mémoire externe (non représentée), d'un support de stockage, ou d'un réseau de communication. Lorsque la plateforme matérielle est mise sous tension, le processeur 400 est capable de lire de la RAM 401 des instructions et de les exécuter. Ces instructions forment au moins un programme d'ordinateur causant la mise en oeuvre, par le processeur 400, des algorithmes et étapes décrits ci-après. Les algorithmes et étapes décrits ci-après sont ainsi implémentés sous forme logicielle par exécution d'un ensemble d'instructions par une machine programmable, tel qu'un DSP (« Digital Signal Processor » en anglais) ou un microcontrôleur. La Fig. 5 illustre schématiquement un algorithme, mis en oeuvre par le module de mise à l'échelle automatique 201, de diffusion d'une liste d'instances de serveur actives dans le système de traitement de la Fig. 2.The behavior of the storage management module 302, in a particular embodiment, is described below in relation to FIGS. 6 and 7 respectively with respect to read and write operations of files. The behavior of the storage management module 302, with respect to the deletion of the server instance 210 in this particular embodiment, is described below in connection with FIG. 8. In another particular embodiment, the local storage units 220, 221, 222 of the server instances 210, 211, 212 form, with respect to the data to be perpetuated, a redundant grouping of independent RAID disks ("Redundant Array of Independent Disks ". According to a first example, a RAID 0 type mechanism can be implemented so that the storage management module 302 uses at least the local storage unit of at least one other server instance as a storage mirror data to perpetuate. According to a second example, a mechanism of the RAID 5 type can be implemented so that the storage management module 302 uses at least the local storage unit of at least one other server instance to introduce into the redundancy data processing system allowing, after deleting the server instance 210, to recover the data that was to be perpetuated. In a particular embodiment, each server instance local storage unit comprises a first memory space dedicated to storing the data to be perpetuated, and a second memory space dedicated to the only local storage of temporary data. This facilitates the implementation of the RAID type mechanism. Fig. 4 schematically illustrates an example architecture of a hardware platform on which the automatic scaling module 201 and / or at least one server instance 210, 211, 212 is implemented. The hardware platform comprises, connected by a communication bus 410: a processor or CPU ("Central Processing Unit" in English) 400; Random Access Memory (RAM) 401; a ROM (Read Only Memory) 402; a storage unit, such as a HDD 403 hard disk; an interface 404 for communicating with other hardware platforms of the processing system via a communication network. The processor 400 is capable of executing instructions loaded into the RAM 401 from the ROM 402, an external memory (not shown), a storage medium, or a communication network. When the hardware platform is turned on, the processor 400 is able to read RAM 401 instructions and execute them. These instructions form at least one computer program causing the processor 400 to implement the algorithms and steps described hereinafter. The algorithms and steps described below are thus implemented in software form by executing a set of instructions by a programmable machine, such as a DSP ("Digital Signal Processor" in English) or a microcontroller. Fig. 5 schematically illustrates an algorithm, implemented by the automatic scaling module 201, for broadcasting a list of active server instances in the processing system of FIG. 2.

Dans une étape 501, le module de mise à l'échelle automatique 201 détecte un besoin de création ou de suppression d'une instance de serveur. Le module de mise à l'échelle automatique 201 procède alors, ou ordonne, à la création ou à la suppression de l'instance de serveur. Dans le cadre de la création d'une instance de serveur, le module de mise à l'échelle automatique 201 communique à l'instance de serveur créée un ordre de mise en place de ressources pour établir un contexte d'exécution du ou des traitement(s) à effectuer par l'application 301 de l'instance de serveur créée. Dans le cadre de la suppression d'une instance de serveur, le module de mise à l'échelle automatique 201 communique à l'instance de serveur à supprimer un ordre de libération de ressources dudit contexte. Dans une étape 502 suivante, le module de mise à l'échelle automatique 201 met à jour une liste d'instances de serveur actives dans le système de traitement, suite à l'opération de création ou de suppression de ladite instance de serveur. Dans une étape 503 suivante, le module de mise à l'échelle automatique 201 transmet à chacune des instances de serveur actives dans le système de traitement liste des instances de serveur actives, après mise à jour. La diffusion de cette liste permet à chacune des instances de serveur d'avoir la connaissance des autres instances de serveur dans le système de traitement, afin de mettre en place des transferts de données à pérenniser.In a step 501, the automatic scaling module 201 detects a need to create or delete a server instance. The automatic scaling module 201 then proceeds, or orders, the creation or deletion of the server instance. In the context of creating a server instance, the automatic scaling module 201 communicates to the created server instance a resource set-up order to establish a context for executing the processing (s). (s) to be performed by the application 301 of the created server instance. As part of the deletion of a server instance, the automatic scaling module 201 communicates to the server instance to delete a resource release order from said context. In a next step 502, the automatic scaling module 201 updates a list of active server instances in the processing system, following the operation of creating or deleting said server instance. In a next step 503, the automatic scaling module 201 transmits to each of the active server instances in the processing system list of active server instances, after updating. The distribution of this list allows each server instance to have knowledge of the other server instances in the processing system, in order to set up data transfers to perpetuate.

La Fig. 6 illustre schématiquement un algorithme de traitement d'un ordre de lecture de fichier, mis en oeuvre par le module de gestion de stockage 302, dans un mode de réalisation particulier. Considérons l'instance de serveur 210. Dans une étape 601, le module de gestion de stockage 302 reçoit un ordre de lecture de fichier, en provenance de l'application 301. D'une manière plus générale, le module de gestion de stockage 302 reçoit un ordre de lecture de données stockées. L'application 301 envoie un tel ordre au module de gestion de stockage 302 lorsque l'application 301 doit obtenir un fichier, ou des données, dans le cadre d'un traitement effectué dans le cadre du service mis en oeuvre par le système de traitement. Par exemple, dans le cadre d'un service de dématérialisation comme déjà mentionné, l'application 301 requiert d'obtenir un document numérisé dans le cadre du traitement de reconnaissance de caractère, ou l'application 301 requiert d'obtenir des données de marquage à insérer dans un document dans le cadre du traitement de tatouage numérique. Dans une étape 602 suivante, le module de gestion de stockage 302 détermine si le fichier, ou plus généralement les données, est stocké par l'unité de stockage local 220 ou par une unité de stockage local d'une des autres instances de serveur du système de traitement. Si le fichier, ou les données, est stocké localement, une étape 603 est effectuée ; sinon, une étape 604 est effectuée.Fig. 6 schematically illustrates an algorithm for processing a file read command, implemented by the storage management module 302, in a particular embodiment. Consider the server instance 210. In a step 601, the storage management module 302 receives a file read command from the application 301. More generally, the storage management module 302 receives a read command of stored data. The application 301 sends such an order to the storage management module 302 when the application 301 must obtain a file, or data, as part of a processing performed as part of the service implemented by the processing system. . For example, in the context of a dematerialization service as already mentioned, the application 301 requires to obtain a document scanned as part of the character recognition process, or the application 301 requires to obtain marking data. to be inserted into a document as part of the digital tattoo treatment. In a next step 602, the storage management module 302 determines whether the file, or more generally the data, is stored by the local storage unit 220 or by a local storage unit of one of the other server instances of the server. treatment system. If the file, or data, is stored locally, a step 603 is performed; otherwise, a step 604 is performed.

Dès que le module de gestion de stockage 302 doit déterminer si un fichier, ou des données, est stocké par l'unité de stockage local 220 ou par une unité de stockage local d'une autre instance de serveur, le module de gestion de stockage 302 peut requérir auprès de l'unité de stockage local 220 une recherche du fichier, ou des données, concernées. En variante, le module de gestion de stockage 302 peut garder une trace de tout fichier, ou données, que le module de gestion de stockage 302 ordonne d'écrire sur l'unité de stockage local 220 ou d'effacer de l'unité de stockage local 220. Dans l'étape 603, le module de gestion de stockage 302 obtient le fichier, ou plus généralement les données, via l'interface de communication 330, c'est-à-dire à partir de l'unité de stockage local 220. Le fichier, ou les données, obtenu est transmis à l'application 301. Il est alors mis fin à l'algorithme. Dans l'étape 604, le module de gestion de stockage 302 obtient le fichier, ou plus généralement les données, via l'interface de communication 320, c'est-à-dire à partir de l'unité de stockage local d'une autre instance de serveur. Pour ce faire, le module de gestion de stockage 302 sélectionne une instance de serveur active dans la liste d'instances de serveur actives reçues à l'étape 503 déjà décrite, puis requiert le fichier, ou les données, auprès de cette instance de serveur par le biais d'un message dédié. Le module de gestion de stockage 302 de cette instance de serveur sélectionnée reçoit ledit message via l'interface de communication 320 et vérifie si le fichier, ou les données, requis est stocké sur l'unité de stockage local. Si tel est le cas, le module de gestion de stockage 302 de cette instance de serveur sélectionnée obtient le fichier, ou les données, via l'interface de communication 330, c'est-à-dire à partir de l'unité de stockage local de cette instance de serveur sélectionnée, et transmet le fichier, ou les données, en réponse au message reçu ; sinon, le module de gestion de stockage 302 de cette instance de serveur sélectionnée retourne un message d'erreur. Le module de gestion de stockage 302 sélectionne alors une autre instance de serveur active dans la liste d'instances de serveur actives, puis réitère la requête, et ce jusqu'à ce qu'une instance de serveur fournisse le fichier, ou les données, requis.As soon as the storage management module 302 has to determine whether a file, or data, is stored by the local storage unit 220 or by a local storage unit of another server instance, the storage management module 302 may request from the local storage unit 220 a search for the file, or data, concerned. Alternatively, the storage management module 302 can keep track of any file, or data, that the storage management module 302 orders to write to the local storage unit 220 or to erase from the storage unit. local storage 220. In step 603, the storage management module 302 obtains the file, or more generally the data, via the communication interface 330, that is to say from the storage unit local 220. The file, or data, obtained is transmitted to the application 301. It is then terminated the algorithm. In step 604, the storage management module 302 obtains the file, or more generally the data, via the communication interface 320, that is to say from the local storage unit of a computer. another server instance. To do this, the storage management module 302 selects an active server instance from the list of active server instances received in step 503 already described, and then requests the file, or data, from that server instance. through a dedicated message. The storage management module 302 of this selected server instance receives said message via the communication interface 320 and checks whether the file, or data, required is stored on the local storage unit. If so, the storage management module 302 of this selected server instance obtains the file, or data, via the communication interface 330, i.e. from the storage unit local of this selected server instance, and transmits the file, or data, in response to the received message; otherwise, the storage management module 302 of this selected server instance returns an error message. The storage management module 302 then selects another active server instance from the list of active server instances, then repeats the request, until a server instance provides the file, or the data, required.

Dans une étape 605 suivante, le module de gestion de stockage 302 transmet le fichier, ou les données, à l'application 301, ainsi qu'au module de communication 320 pour stockage du fichier, ou des données, sur l'unité de stockage local 220. Dans une étape 606 suivante, le module de gestion de stockage 302 ordonne à l'instance de serveur qui a fourni le fichier, ou les données, d'effacer ce fichier, ou ces données. Le module de gestion de stockage 302 de l'instance de serveur qui a fourni le fichier, ou les données, procède alors à l'effacement du fichier, ou des données, de son unité de stockage local. Le module de gestion de stockage 302 de l'instance de serveur qui a fourni le fichier, ou les données, peut aussi procéder de lui-même à cet effacement, une fois le fichier, ou les données, transféré. Il est alors mis fin à l' algorithme. Lorsque l'application 301 requiert l'écriture d'un fichier, ou plus généralement de données, le module de gestion de stockage 302 ordonne l'écriture de ce fichier, ou de ces données, sur l'unité de stockage local 220 via l'interface de communication 330. Ainsi, en conjonction avec l'algorithme de la Fig. 6, chaque donnée manipulée par l'application 301 est stockée sur l'unité de stockage local 220. La Fig. 7 illustre schématiquement un algorithme de traitement d'un ordre d'effacement de fichier, mis en oeuvre par le module de gestion de stockage 302, dans le cadre du mode de réalisation particulier de la Fig. 6. Considérons l'instance de serveur 210. Dans une étape 701, le module de gestion de stockage 302 reçoit un ordre d'effacement de fichier, en provenance de l'application 301. D'une manière plus générale, le module de gestion de stockage 302 reçoit un ordre d'effacement de données stockées.In a next step 605, the storage management module 302 transmits the file, or the data, to the application 301, as well as to the communication module 320 for storing the file, or data, on the storage unit Local 220. In a subsequent step 606, the storage management module 302 instructs the server instance that provided the file, or the data, to delete that file, or that data. The storage management module 302 of the server instance that supplied the file, or the data, then deletes the file, or data, from its local storage unit. The storage management module 302 of the server instance which provided the file, or the data, can also proceed to this erasure, once the file, or the data, has been transferred. It is then terminated the algorithm. When the application 301 requires the writing of a file, or more generally of data, the storage management module 302 orders the writing of this file, or of these data, on the local storage unit 220 via the Thus, in conjunction with the algorithm of FIG. 6, each data handled by the application 301 is stored on the local storage unit 220. FIG. 7 schematically illustrates an algorithm for processing a file erasure command, implemented by the storage management module 302, in the context of the particular embodiment of FIG. 6. Consider the server instance 210. In a step 701, the storage management module 302 receives a file deletion command from the application 301. More generally, the management module storage 302 receives an erase command of stored data.

Dans une étape 702 suivante, le module de gestion de stockage 302 détermine si le fichier, ou plus généralement les données, est stocké par l'unité de stockage local 220 ou par une unité de stockage d'une des autres instances de serveur actives du système de traitement. Si le fichier, ou les données, est stocké localement, une étape 703 est effectuée ; sinon, une étape 704 est effectuée.In a next step 702, the storage management module 302 determines whether the file, or more generally the data, is stored by the local storage unit 220 or by a storage unit of one of the other active server instances of the server. treatment system. If the file, or data, is stored locally, a step 703 is performed; otherwise, a step 704 is performed.

Dans l'étape 703, le module de gestion de stockage 302 ordonne l'effacement du fichier, ou plus généralement des données, via l'interface de communication 330, c'est-à-dire à l'unité de stockage local 220. Il est alors mis fin à l'algorithme. Dans l'étape 704, le module de gestion de stockage 302 ordonne l'effacement du fichier, ou plus généralement des données, via l'interface de communication 320, c'est-à-dire à une autre instance de serveur. Pour ce faire, le module de gestion de stockage 302 sélectionne une instance de serveur active dans la liste d'instances de serveur actives reçues à l'étape 503 déjà décrite, puis ordonne l'effacement du fichier, ou des données, auprès de cette instance de serveur par le biais d'un message dédié. Le module de gestion de stockage 302 de cette instance de serveur sélectionnée reçoit ledit message via l'interface de communication 320 et vérifie si le fichier, ou les données, requis est stocké sur l'unité de stockage local. Si tel est le cas, le module de gestion de stockage 302 de cette instance de serveur sélectionnée ordonne l'effacement du fichier, ou des données, via l'interface de communication 330, c'est- à-dire à l'unité de stockage local de cette instance de serveur sélectionnée ; sinon, le module de gestion de stockage 302 de cette instance de serveur sélectionnée retourne un message d'erreur. Le module de gestion de stockage 302 sélectionne alors une autre instance de serveur active dans la liste d'instances de serveur actives, puis réitère la requête, et ce jusqu'à effacement du fichier, ou des données. En variante, le module de gestion de stockage 302 peut ordonner l'effacement du fichier, ou des données, à l'ensemble des autres instances de serveur de la liste d'instances de serveur actives. L'instance de serveur pour laquelle le fichier, ou les données, est stocké localement procède alors à l'effacement effectif du fichier, ou des données. Il est alors mis fin à l' algorithme.In step 703, the storage management module 302 orders the deletion of the file, or more generally data, via the communication interface 330, that is to say the local storage unit 220. It is then terminated the algorithm. In step 704, the storage management module 302 orders the deletion of the file, or more generally data, via the communication interface 320, that is to say to another server instance. For this purpose, the storage management module 302 selects an active server instance from the list of active server instances received in the step 503 already described, and then orders the deletion of the file, or data, from this server. server instance through a dedicated message. The storage management module 302 of this selected server instance receives said message via the communication interface 320 and checks whether the file, or data, required is stored on the local storage unit. If this is the case, the storage management module 302 of this selected server instance orders the deletion of the file, or data, via the communication interface 330, that is to say, the data storage unit. local storage of this selected server instance; otherwise, the storage management module 302 of this selected server instance returns an error message. The storage management module 302 then selects another active server instance from the list of active server instances, then repeats the request, until the file or data is erased. Alternatively, the storage management module 302 may order the deletion of the file, or data, to all other server instances of the list of active server instances. The server instance for which the file, or data, is stored locally then performs the actual deletion of the file, or data. It is then terminated the algorithm.

La Fig. 8 illustre schématiquement un algorithme de traitement d'un ordre de suppression d'instance de serveur, dans le cadre du mode de réalisation particulier des Figs. 6 et 7. Considérons l'instance de serveur 210. Dans une étape 801, l'application 301 reçoit un ordre de suppression d'instance de serveur via le module d'interface 310, c'est-à-dire en provenance du module de mise à l'échelle automatique 201. L'application 301 transmet cet ordre au module de gestion de stockage 302. Dans une étape 802 suivante, sur détection dudit ordre de suppression, le module de gestion de stockage 302 identifie chaque fichier, ou plus généralement chaque donnée, stocké par l'unité de stockage local 220, et qui doit être pérennisé à la suppression de l'instance de serveur 210. Dans une étape 803 suivante, le module de gestion de stockage 302 transfère via l'interface de communication 320 chaque fichier, ou chaque donnée, identifié. Chaque fichier, ou chaque donnée, à pérenniser est alors transféré à une autre instance de serveur pour stockage sur l'unité de stockage local de cette autre instance de serveur.Fig. 8 schematically illustrates an algorithm for processing a server instance deletion order, in the context of the particular embodiment of FIGS. 6 and 7. Consider the server instance 210. In a step 801, the application 301 receives a server instance deletion command via the interface module 310, that is to say from the module The application 301 transmits this command to the storage management module 302. In a subsequent step 802, upon detection of said delete command, the storage management module 302 identifies each file, or more typically each data stored by the local storage unit 220, which must be perpetuated to the deletion of the server instance 210. In a next step 803, the storage management module 302 transfers via the communication interface 320 each file, or each data, identified. Each file, or each piece of data, to be perpetuated is then transferred to another server instance for storage on the local storage unit of this other server instance.

Le module de gestion de stockage 302 peut mettre en place un mécanisme de balance de charge, de manière à répartir équitablement, ou selon les capacités des unités de stockage locales des autres instances de serveur, la consommation d'espace mémoire liée au stockage des fichiers, ou des données, à pérenniser. Pour effectuer ce transfert, le module de gestion de stockage 302 utilise la liste des instances de serveur actives reçue à l'étape 503 déjà décrite. Dans une étape 804 suivante, l'application 301 procède à la suppression de l'instance de serveur, c'est-à-dire à la libération des ressources qui avaient été allouées au contexte d'exécution du ou des traitement(s) mis en oeuvre par l'application 301.The storage management module 302 can set up a load balancing mechanism, so as to equitably distribute, or according to the capacities of the local storage units of the other server instances, the consumption of memory space related to the storage of the files. , or data, to perpetuate. To perform this transfer, the storage management module 302 uses the list of active server instances received in step 503 already described. In a next step 804, the application 301 deletes the server instance, that is to say the release of the resources that had been allocated to the execution context of the processing (s) put implemented by the application 301.

Claims (9)

REVENDICATIONS1) Système de traitement comportant une pluralité d'instances de serveur (210, 211, 212) et un module de mise à l'échelle automatique (201) adapté pour dynamiquement créer et supprimer au moins une instance de serveur en fonction de besoins en capacité de traitement dudit système, chaque instance de serveur disposant d'une unité de stockage local (220, 221, 222), caractérisé en ce que chaque instance de serveur comporte des moyens de communication (302, 320) avec au moins une autre instance de serveur, lesdits moyens de communication étant adaptés pour stocker sur l'unité de stockage local de ladite ou desdites autre(s) instance(s) de serveur des données à pérenniser lorsque le module de mise à l'échelle automatique ordonne une suppression de ladite instance de serveur.CLAIMS1) A processing system comprising a plurality of server instances (210, 211, 212) and an automatic scaling module (201) adapted to dynamically create and delete at least one server instance according to the needs of the server. processing capacity of said system, each server instance having a local storage unit (220, 221, 222), characterized in that each server instance comprises communication means (302, 320) with at least one other instance server, said communication means being adapted to store on the local storage unit of said one or more other server instance (s) data to be maintained when the automatic scaling module orders a deletion of said server instance. 2) Système de traitement selon la revendication 1, caractérisé en ce que chaque unité de stockage d'instance de serveur est adaptée pour exporter un système de fichiers, et en ce que lesdites données à pérenniser sont sous la forme de fichiers.2) Processing system according to claim 1, characterized in that each server instance storage unit is adapted to export a file system, and in that said data to be perpetuated are in the form of files. 3) Système de traitement selon l'une quelconque des revendications 1 et 2, caractérisé en ce que le module de mise à l'échelle automatique comporte des moyens de transmission aux instances de serveur d'une liste identifiant chacune desdites instances de serveur.3) processing system according to any one of claims 1 and 2, characterized in that the automatic scaling module comprises means for transmitting to the server instances of a list identifying each of said server instances. 4) Système de traitement selon la revendication 3, caractérisé en ce que chaque instance de serveur comporte un module d'interface de communication (320) avec chacune des autres instances de serveur identifiées dans ladite liste.4) Processing system according to claim 3, characterized in that each server instance comprises a communication interface module (320) with each of the other server instances identified in said list. 5) Système de traitement selon la revendication 4, caractérisé en ce que chaque instance de serveur comporte une application (301) adaptée pour effectuer un traitement dans le cadre d'un service mis en oeuvre par ledit système de traitement et un module de gestion de stockage (302) rendant transparent le stockage de données manipulées par ladite application au cours dudit traitement.5) processing system according to claim 4, characterized in that each server instance comprises an application (301) adapted to perform a treatment in the context of a service implemented by said processing system and a management module of storage (302) rendering transparent the storage of data manipulated by said application during said processing. 6) Système de traitement selon la revendication 5, caractérisé en ce que chaque instance de serveur comporte :- des moyens d'ordonner le stockage par l'unité de stockage local de ladite instance de serveur de chaque donnée manipulée par ladite application au cours dudit traitement ; - des moyens de détection (801) d'un ordre de suppression d'instance de serveur ; - des moyens d'identification (802) de chaque donnée stockée par l'unité de stockage local de ladite instance de serveur et qui est à pérenniser après la suppression de ladite instance de serveur, lesdits moyens d'identification étant mis en oeuvre sur détection dudit ordre de suppression ; des moyens de transfert (803) à au moins une autre instance de serveur de chaque donnée identifiée.6) Processing system according to claim 5, characterized in that each server instance comprises: means for ordering the storage by the local storage unit of said server instance of each piece of data handled by said application during said treatment ; means for detecting (801) a server instance deletion order; means for identifying (802) each piece of data stored by the local storage unit of said server instance and which is to be perpetuated after the deletion of said server instance, said identification means being implemented on detection said deletion order; transfer means (803) to at least one other server instance of each identified data item. 7) Système de traitement selon la revendication 5, caractérisé en ce que les unités de stockage local des instances de serveur forment, en ce qui concerne lesdites données à pérenniser, un regroupement redondant de disques indépendants.7) Processing system according to claim 5, characterized in that the local storage units of the server instances form, with respect to said data to perpetuate, a redundant grouping of independent disks. 8) Système de traitement selon la revendication 7, caractérisé en ce que chaque unité de stockage d'instance de serveur comporte un premier espace mémoire dédié au stockage desdites données à pérenniser, et un second espace mémoire dédié au stockage uniquement local de données temporaires.8) Processing system according to claim 7, characterized in that each server instance storage unit comprises a first memory space dedicated to storing said data to be perpetuated, and a second memory space dedicated to the storage only local temporary data. 9) Procédé mis en oeuvre par un système de traitement comportant une pluralité d'instances de serveur (210, 211, 212) et un module de mise à l'échelle automatique (201), ledit module de mise à l'échelle automatique créant et supprimant dynamiquement au moins une instance de serveur en fonction de besoins en capacité de traitement dudit système, chaque instance de serveur disposant d'une unité de stockage local (220, 221, 222), caractérisé en ce que chaque instance de serveur communique avec au moins une autre instance de serveur pour stocker sur l'unité de stockage local de ladite ou desdites autre(s) instance(s) de serveur des données à pérenniser lorsque le module de mise à l'échelle automatique ordonne une suppression de ladite instance de serveur.9) Process implemented by a processing system comprising a plurality of server instances (210, 211, 212) and an automatic scaling module (201), said self-scaling module creating and dynamically deleting at least one server instance based on processing capacity requirements of said system, each server instance having a local storage unit (220, 221, 222), characterized in that each server instance communicates with at least one other server instance for storing on the local storage unit of said one or more other server instance (s) data to be maintained when the automatic scaling module orders a deletion of said instance server.
FR1259502A 2012-10-05 2012-10-05 Processing system i.e. cloud computing system, for deporting storage and data processing operations, has communication units storing data to be perennialized when auto-scaling module controls suppression of server instances Pending FR2996656A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR1259502A FR2996656A1 (en) 2012-10-05 2012-10-05 Processing system i.e. cloud computing system, for deporting storage and data processing operations, has communication units storing data to be perennialized when auto-scaling module controls suppression of server instances

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR1259502A FR2996656A1 (en) 2012-10-05 2012-10-05 Processing system i.e. cloud computing system, for deporting storage and data processing operations, has communication units storing data to be perennialized when auto-scaling module controls suppression of server instances

Publications (1)

Publication Number Publication Date
FR2996656A1 true FR2996656A1 (en) 2014-04-11

Family

ID=47258019

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1259502A Pending FR2996656A1 (en) 2012-10-05 2012-10-05 Processing system i.e. cloud computing system, for deporting storage and data processing operations, has communication units storing data to be perennialized when auto-scaling module controls suppression of server instances

Country Status (1)

Country Link
FR (1) FR2996656A1 (en)

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
AARTHI RAVEENDRAN ET AL: "A Framework for Elastic Execution of Existing MPI Programs", PARALLEL AND DISTRIBUTED PROCESSING WORKSHOPS AND PHD FORUM (IPDPSW), 2011 IEEE INTERNATIONAL SYMPOSIUM ON, IEEE, 16 May 2011 (2011-05-16), pages 940 - 947, XP031934818, ISBN: 978-1-61284-425-1, DOI: 10.1109/IPDPS.2011.240 *
SRIKUMAR VENUGOPAL ET AL: "Auto-scaling emergency call centres using cloud resources to handle disasters", QUALITY OF SERVICE (IWQOS), 2011 IEEE 19TH INTERNATIONAL WORKSHOP ON, IEEE, 6 June 2011 (2011-06-06), pages 1 - 9, XP031951072, ISBN: 978-1-4577-0104-7, DOI: 10.1109/IWQOS.2011.5931344 *

Similar Documents

Publication Publication Date Title
US10209910B2 (en) Copy-redirect on write
US9609345B2 (en) Scalable image distribution in virtualized server environments
US10521447B2 (en) Container application execution using image metadata
JP2018531445A6 (en) Copy redirection on write
US9122531B2 (en) Resource configuration for a network data processing system
US10372433B2 (en) Caching and analyzing images for faster and simpler cloud application deployment
US10834226B2 (en) Live migration of containers based on geo-location
FR2865817A1 (en) MEMORIZATION SYSTEM HAVING A PLURALITY OF INTERFACES
US9886349B2 (en) Point-in-time copy on write for golden image
US11132210B2 (en) Dynamic parallelism adjustment
CN103154911A (en) Systems and methods for managing an upload of files in a shared cache storage system
US11003658B2 (en) Selectively retrieving data from remote share nothing computer clusters
US10747458B2 (en) Methods and systems for improving efficiency in cloud-as-backup tier
US10838767B2 (en) Distributed computing utilizing a recovery site
US20220317912A1 (en) Non-Disruptively Moving A Storage Fleet Control Plane
CN111598575A (en) Business process control method and device, electronic equipment and readable storage medium
US20200301689A1 (en) Smart deploy ai
US11416176B2 (en) Function processing using storage controllers for load sharing
CN106657182B (en) Cloud file processing method and device
FR3017222A1 (en) APPARATUS, METHOD, AND PROGRAM FOR PROCESSING INFORMATION
CN115336237A (en) Predictive provisioning of remotely stored files
US10511656B1 (en) Log information transmission integrity
FR2996656A1 (en) Processing system i.e. cloud computing system, for deporting storage and data processing operations, has communication units storing data to be perennialized when auto-scaling module controls suppression of server instances
WO2013110816A2 (en) Method of using a shared memory
US9942351B2 (en) Enabling and disabling execution environments