WO2010052440A1 - Procede et systeme de stockage virtualise d'un ensemble de donnees numeriques - Google Patents

Procede et systeme de stockage virtualise d'un ensemble de donnees numeriques Download PDF

Info

Publication number
WO2010052440A1
WO2010052440A1 PCT/FR2009/052157 FR2009052157W WO2010052440A1 WO 2010052440 A1 WO2010052440 A1 WO 2010052440A1 FR 2009052157 W FR2009052157 W FR 2009052157W WO 2010052440 A1 WO2010052440 A1 WO 2010052440A1
Authority
WO
WIPO (PCT)
Prior art keywords
storage
level
virtual
data
space
Prior art date
Application number
PCT/FR2009/052157
Other languages
English (en)
Inventor
Dominique Vinay
Loïc LAMBERT
Philippe Motet
Original Assignee
Active Circle
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 Active Circle filed Critical Active Circle
Priority to EP09768165A priority Critical patent/EP2353076A1/fr
Priority to JP2011535155A priority patent/JP2012508411A/ja
Priority to US13/128,576 priority patent/US20110238776A1/en
Publication of WO2010052440A1 publication Critical patent/WO2010052440A1/fr

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0665Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]

Definitions

  • the present invention relates to a method for virtualized storage of a set of digital data in a computer system comprising a plurality of interconnected networked storage hardware resources.
  • the invention relates to a virtualized storage method comprising the generation of a set of virtual storage spaces, in which each virtual storage space is associated with a portion of the storage hardware resources and with characteristic parameters related to this part of the material storage resources.
  • a virtual disk allocation module able to reserve a virtual space starts by selecting a part of the resources according to their comparative performance. with constraints formulated in a storage request, then creates a virtual disk dedicated to the dataset and associated with that part of the selected resources.
  • this method as many virtual disks as sets of data to be stored are generated and the distribution of the data of a set in the storage hardware resources is managed by the corresponding virtual disk, according to what has been allocated to it. as resources by the allocation module.
  • This method works well on a static network, but has limited flexibility as the network evolves by adding, removing, failing, or replacing hardware resources. For example, in the event of a hardware resource failure, the data stored by this resource must be moved and the virtual disks associated with that data, which can come from multiple data sets, must be redefined. It may thus be desirable to provide a virtualized storage method that makes it possible to overcome these problems and constraints.
  • the invention therefore relates to a method of virtualized storage of a set of digital data in a computer system comprising a plurality of networked interconnected storage hardware resources, comprising the generation of a set of virtual storage spaces of the first level, in which each first-level storage virtual space is associated with a portion of the storage hardware resources and with characteristic parameters related to this part of the storage hardware resources, characterized in that it comprises the following steps: - creation of a a second-level virtual storage space associated with a service class parameterized according to storage constraints of the data set and assigning this second-level storage virtual space to the set of data,
  • the virtual storage of the data set is independent of the management of the storage hardware resources.
  • hardware resources are associated with first-level virtual spaces that are therefore affected by additions, deletions, failures or replacements of resources.
  • the virtual spaces assigned to the data sets to be stored or stored are of a second level and their resources are the virtual spaces of the first level. They therefore have no direct visibility on the hardware storage resources, which makes the process more flexible in the event of evolution of the network comprising these resources.
  • the first-level storage virtual spaces are designed to store predetermined common-size data packets, and there is provided a step of transforming the data set into one or more packets of this predetermined common size. depending on the overall size of the dataset. This makes it possible to further decorrelate the virtual storage spaces of the first level, and therefore the resources, nature, and size, of the set of data to be stored.
  • the transformation of the data set into one or more packets comprises the following steps: - division of the data set into several subsets, compression and / or encryption of the data of each subset, and
  • the storage step comprising a distribution of the data set in the hardware resources associated with the selected first-level storage virtual space
  • the virtualized storage method according to the invention further comprises a step storing this distribution in relation to the created second level storage virtual space.
  • the digital data set is a digital file or a digital data stream.
  • each first-level storage virtual space is associated with a portion of the storage hardware resources using a single storage technology chosen from the elements of the set consisting of hard disk storage technology and magnetic tape storage technology.
  • the invention also relates to a computer program downloadable from a communication network and / or recorded on a computer readable medium and / or executable by a processor, characterized in that it comprises program code instructions for performing the steps of a virtualized storage method as previously defined when said program is run on a computer.
  • the invention also relates to a virtualized storage system of a set of digital data, comprising a plurality of interconnected network storage hardware resources, means for generating a set of first-level storage virtual spaces in which each first-level virtual storage space is associated with a portion of the storage hardware resources and with characteristic parameters related to this part of the storage hardware resources, characterized in that it furthermore comprises:
  • a virtualized storage system comprises a plurality of interconnected storage servers in a network, each storage server being further locally connected to a portion of the storage hardware resources and comprising said means for generating a set of storage resources.
  • first-level virtual storage spaces, said means for creating a second level virtual storage space, said selection means and said storage means are further locally connected to a portion of the storage hardware resources and comprising said means for generating a set of storage resources.
  • the virtualized storage service can be provided from multiple servers of a distributed system.
  • the virtual storage spaces of first and second levels being stored in memory in the form of descriptive data distributed between the storage servers and replicated on several servers for at least a portion of them, it comprises means synchronization, between the storage servers, actions acting on these description data.
  • FIG. 1 schematically represents the general structure of an example of a data storage computer system distributed in several interconnected networked servers
  • FIG. 2 illustrates an example of distribution of description data in the storage computer system of FIG. 1;
  • FIG. 3 schematically represents the structure of a set of two-level virtual storage spaces generated for the application of a virtualized storage method according to the invention
  • FIG. 4 illustrates the successive steps of a virtualized storage method according to one embodiment of the invention.
  • the computer system 10 shown in Figure 1 comprises several servers 12 1; 12 2 , 12 3 , 12 4 and 12 5 provided with material storage resources. These Servers are spread across multiple domains or geographies. Each server is of a classic type and will not be detailed. Its storage resources are for example locally connected in the form of peripherals or internal hard disks. In an exemplary distributed service management architecture, at least one specific software and hardware module 14 1; 14 2 , 14 3 , 14 4 and 14 5 management of a data storage service is installed on each server 12 13 12 2 , 12 3 , 12 4 and 12 5 .
  • FIG. 1 Five storage servers and two domains are represented in FIG. 1 for illustrative purposes only, but any other computer system structure with interconnected storage hardware resources may be suitable for implementing a virtualized storage method according to the invention. .
  • the example illustrated in this figure relates to a distributed storage system between several storage servers all a priori able to manage the data storage service, it could also, alternatively and in another example architecture, be managed centrally by a single server with access to all storage hardware resources locally or remotely.
  • the software and hardware module 14i of the storage server 12 ! is detailed in Figure 1. It comprises a first software layer 16i consisting of a server operating system 12 ⁇ II comprises a second software layer 18i data management description of the data storage service provided by the computer system 10. It comprises a third layer software and hardware 2Oi performing at least two functions: a first storage function, on an internal hard disk of the server 12 1; storage service description data and a second cache function, also on this hard disk, data stored on storage hardware resources connected to the server 12i. Finally, it comprises a fourth layer of software and hardware 22 1 s 24i of first-level data warehouses, comprising at least one hard disk data warehouse 22i and / or at least one tape data warehouse 24i.
  • a first-level data warehouse designates a virtual data storage space consisting of one or more partitions of one or more hard disks, or one or more memory devices. storage on tapes, among the hardware storage resources of the server with which it is associated.
  • the software and hardware modules 14 2 , 14 3 , 14 4 and 14 5 of the servers 12 2 , 12 3 , 12 4 and 12 5 will not be detailed because they are similar to the software and hardware module " U 1 .
  • the servers 12 13 12 2 and 12 3 are interconnected by a first LAN-type network 26 to create a first subset or domain 28.
  • This first domain 28 corresponds, for example, to a localized geographic organization, such as a geographical site, a building or a computer room.
  • the servers 12 4 and 12 5 are interconnected by a second network 30 of the LAN type to create a second subset or domain 32.
  • This second domain 28 also corresponds for example to another localized geographical organization, such as a site geographical area, a building or a computer room.
  • These two domains are interconnected by a WAN type network 34, such as the Internet network.
  • this clustered computer system distributed over several geographical sites makes it possible to envisage data storage all the more secure since they can be replicated on software and hardware modules located on different geographical sites.
  • the storage service provided by this computer system 10, including in particular the virtual storage spaces generated to fill this service, and the data actually stored are advantageously completely defined and described by a set of description data which will be presented in their general principles. 2.
  • the management of this description data by the software layer 18, of any of the software and hardware modules 14, manages the storage service of the computer system 10.
  • the description data are for example grouped into several sets structured according to their nature and possibly linked together.
  • a structured set which will be called "catalog” in the following description, may be in the form of a directory tree containing themselves other directories and / or description data files.
  • the representation of the description data according to a tree of directories and files has the advantage of being simple and therefore economical to design and manage. In addition, this representation is often sufficient for the service in question. It is It is also possible for more complex applications to represent and manage the description data in relational databases.
  • a catalog of description data may be global, that is to say relate to description data useful to the entire computer system 10, or local, that is to say relate to description data specific to one or more software modules and hardware 14 15 14 2 , 14 3 , 14 4 or 14 5 of service management.
  • each catalog is replicated on several servers or software and hardware modules. When it is global, it is preferably replicated on all software and hardware modules. When it is local, it is replicated on a predetermined number of software and hardware modules, including at least those it concerns.
  • FIG. 2 represents a possible distribution of descriptive data catalogs between the five software and hardware modules 14 1s 14 2 , 14 3 , 14 4 and 14 5 .
  • a first global C A catalog is replicated on the five software and hardware modules 14 15 14 2 , 14 3 , 14 4 and 14 5 .
  • It comprises, for example, data describing the general infrastructure and the general operation of the computer system 10 for the provision of the storage service, in particular the tree of the domains and the software and hardware modules of the computer system 10. It may also comprise data describing potential users of the data storage service and their access rights, for example previously registered users, as well as the sharing areas, the structure or the storage mode and the replication of stored data.
  • catalogs are local, such as for example the catalog C B i, containing descriptive data specific to the software and hardware module M 1 such as the local infrastructure and the local operation of the server 12i and its storage hardware resources. or the organization in first-level warehouses of the software and hardware module 14i. This catalog is replicated in triplicate, including one on the software and hardware module 14i. To improve the security and robustness of the computer system 10, the catalog C B i can be replicated in several different fields. Here, the complete system comprising two domains 28 and 32, the catalog C B i is for example saved on the modules 14i and 14 2 of the domain 28 and on the module 14 5 of the domain 32.
  • the software and hardware modules 14 2 , 14 3 , 14 4 and 14 5 are associated with respective local catalogs C 62 , C 63 , C 64 and C B 5-
  • the catalog C 62 is saved on the modules 14 2 and 14 3 of the domain 28 and on the module 14 4 of the domain 32;
  • the catalog C 63 is saved on the module 14 3 of the domain 28 and on the modules 14 4 and 14 5 of the domain 32;
  • the catalog C 64 is saved on the module 14 4 of the domain 32 and on the modules 14i and 14 3 of the domain 28;
  • the catalog C 65 is saved on the module 14 5 of the domain 32 and on the modules 14i and 1A 2 of the domain 28.
  • the software layer of each software and hardware module of the computer system 10 comprises, for example: means for transmitting a synchronization message, identifying an action acting on a description datum, towards all the other modules software of the computer system comprising a replication of this description data, following the execution of this action on this software module, and - means for executing an action acting on a description data item and identified in a synchronization message , in order to act on the replication of the description data located on this software module, in response to the receipt of a synchronization message from another software module.
  • synchronization as well as the replication of catalogs described above, are not necessary in the case where the management of the storage service is centralized on a single server.
  • first and second level data warehouses are defined.
  • the first-level warehouses are defined in the fourth software and hardware layer of each storage server 12 13 12 2 , 12 3 , 12 4 and 12 5 . They are each associated with a portion of the hardware storage resources of the computer system 10. More specifically, they are each associated with at least a portion of the storage hardware resources of the storage server on which they are generated.
  • at least a first first-level storage warehouse is for example defined in the software portion of the fourth software and hardware layer 22i of the server 12 13 in association with storage hardware resources consisting of a or multiple external hard drives.
  • At least one second first-level storage warehouse is for example defined in the software portion of the fourth software and hardware layer 24i of the server 12 13 in association with storage hardware resources consisting of one or more tape storage devices. .
  • Each first-level warehouse is also associated with a service class that includes characteristic parameters related to the storage hardware resources of that warehouse.
  • each first-level warehouse is for this purpose associated with hardware resources using a single storage technology, that is to say in practice, either a hard disk storage technology or a tape storage technology. magnetic.
  • the characteristic parameters of a first-level warehouse therefore include, for example, the choice of a storage technology, storage data access time parameters, storage capacity, the accessibility of its various hardware resources, a cost to the byte of an elementary storage space, a location of hardware resources, etc.
  • the characteristic parameters of a first level warehouse include performance parameters (for example the data access time), but also more generally other characteristics (for example localization, technology, the byte cost) allowing a better consideration of constraints and / or storage facilities.
  • a storage technology has an impact on the service class of a first-level warehouse: a warehouse using tape storage technology thus has specific characteristics, such as the ability to easily move data stored off-site, the ease of increasing capacity, good storage performance, but longer data access.
  • some first-level warehouses are local, others are global.
  • a local warehouse is based on a particular server (one that has the storage hardware resources to which that warehouse is associated) and is accessible only from that server. This can be for example agreed upon when a certain technology is used, such as hard disk storage technology.
  • a global warehouse is accessible from several storage servers of the computer system 10.
  • such a first-level warehouse is represented on several servers and the service class with which it is associated is the even regardless of the access server. From the moment a tape storage device is accessible from any server, if there is a compatible drive, we can consider as global any warehouse using this storage technology.
  • the first level warehouses can be designed to store common sized data packets at a predetermined storage granularity. These data packets can further be optimized and secured by being compressed and encrypted according to a required level of service. A first-level warehouse, whatever it may be, can then be seen as containing several containers of fixed size able to each receive a packet of data.
  • the set of first level warehouses represents the storage capacity offered by the computer system 10, this capacity being able to evolve as additions, deletions, replacements, modifications of the material storage resources are made.
  • second-level warehouses are defined as virtual spaces for storing data sets.
  • Each second level warehouse is thus assigned to a particular data set, whether this set is a digital file or a digital data stream to be stored. For example, it is dynamically created when a request for storage of this data set is received.
  • a set of second-level warehouses represents at every moment a request for storage of data sets applying to the computer system 10.
  • the second-level warehouses are for example defined in the second software layer 18, description data management server 12,. Like first level warehouses, they can be defined locally or globally. On the other hand, they are not associated with any hardware storage resource of the computer system 10. Their potential resources are the first-level warehouses that they are able to select according to their characteristic parameters.
  • Each second-level warehouse is further associated with a defined service class based on constraints and storage capabilities for the corresponding data set. For example, these constraints and storage functionalities may be partially formulated in a query for storing the corresponding data set.
  • the constraints are more particularly conditions to be fulfilled and can be linked to a start date and an end date.
  • Additional services offered by the warehouse such as compression, encryption, time stamping, electronic signature, use of antivirus for reading, complete deletion of data when freeing memory space etc.
  • the service class of a second-level warehouse thus defines, for example: - a number of copies of the data set to be stored,
  • the computer system 10 when a second-level warehouse is created for the storage of a data set, the computer system 10 is designed to ensure regularly, or permanently, that the associated class of service, parameterized according to the constraints of storage of this dataset, is well respected. Indeed, if the class of service is modified, if a first level warehouse selected for the storage of at least a part of the data set is deleted or if its characteristics change, the computer system 10 may have to modify the selection of first-level warehouses for this second-level warehouse, so that the characteristic parameters of the selected first-level warehouses are at all times compatible with the constraints and functionalities required by the service class of the second-level warehouse.
  • Figure 3 illustrates the structure and operation of a set of two-level virtual storage spaces such as those previously described for implementing a virtualized digital data storage method.
  • a data set 40 for example a digital file or a data bit stream, is associated with storage constraint information 42. These storage constraints can be gathered in the form of a file, a query. They can also exist implicitly, by default or according to a context.
  • a second level warehouse 44 is created to manage the storage of the data set 40. It fulfills the function of virtual storage space directly assigned to the set 40. It is associated, as indicated previously, with a class of service 46, being in the form of one or more files, parameterized in particular according to storage constraints 42.
  • a constraint may for example be in the following form: "keep three copies, one on hard disk on the site of Paris for five weeks ".
  • this constraint is reflected in the service class 46 by a start date (that of the storage of all the data in the resources of the computer system 10), an end date (the start date + five weeks ), a number of copies to be stored set to three and a geographical area imposed for one of the copies (the material storage resources of the Paris site).
  • Another constraint may, for example, specify the previous constraint as follows: "keep a copy in disk RAID 5 type resources at the Paris site for five weeks, keep a copy in RAID 5 disk resources on the Vannes site for five weeks, keep two copies on tapes for ten years ".
  • This clarification means that since the dataset is intended to be accessed often during the first five weeks but less often thereafter, rapid but expensive storage is preferred and limited in volume for five weeks and then transferred to magnetic tapes for a period of five weeks. ten years. Beyond ten years, the data will be deleted and the storage space released, unless this has been done before by a specific request from the owner of that dataset.
  • Many other constraints can be imagined. They are each translated into parameters in service class 46.
  • the first level warehouses are designed to store predetermined common size data packets.
  • the data set 40 is converted into one or more packets 40i, ..., 40 ,, ..., 4O n of the same size. The number of packets obtained therefore depends on this predetermined common size.
  • the transformation of the data set 40 into one or more packets 40i, ..., 40 ,, ..., 4O n comprises, for example, the following steps:
  • first level warehouses 50, 52 and 54 are selected according to their characteristic parameters.
  • a first selected first level warehouse 50 is for example associated with three material storage resources 5O 1 , 5O 2 and 5O 3 of the same type and homogeneous characteristics. These are, for example, three external hard drives, three partitions of the same hard drive, and so on. Each of these resources has storage containers capable of receiving packets. There are three represented by resource for the warehouse 50, for the sake of simplification. In reality, the number of containers per resource is much larger.
  • a second selected warehouse 52 first level is for example associated with two hardware storage resources 52 ! and 52 2 of the same type and homogeneous characteristics. Each of these resources also includes storage containers capable of receiving packets. There are three represented by resource for the warehouse 52.
  • a third selected warehouse 54 first level is for example associated with four hardware storage resources 54i, 54 2 , 54 3 and 54 4 of the same type and homogeneous characteristics .
  • Each of these resources also includes storage containers capable of receiving packets. It is represented two by resource for the warehouse 54.
  • the packets 40i, ..., 40 ,, ..., 4O n are then distributed (in one or more copies depending on the storage constraints) in the hardware resources of storage of the selected warehouses 50, 52 and 54 according to the parameters of the service class 46. This distribution is stored in memory in relation to the warehouse second level 44 created.
  • a virtualized storage method such as that illustrated in FIG. 4 can be implemented. artwork.
  • a first step 100 that can be executed at any time, from the design of the computer system 10 to any modification of its infrastructure by the addition, deletion, replacement or modification of any server or any hardware resource storage, a set of first-level virtual spaces, that is, all first-level warehouses, is created or modified. Depending on the storage hardware resources assigned to each of these first-level warehouses, characteristic parameters such as those defined above are also attributed to them during this step.
  • a set of data to be stored for example the set 40, is received by the computer system 10 via one of its servers 12 2 , 12 3 , 12 4 or 12 5 .
  • a second level virtual storage space in this case the second level warehouse 44, is created.
  • Its service class 46 is parameterized in particular according to the storage constraints 42 of the data set 40. It is assigned to the storage management of the data set 40.
  • the set data 40 is transformed into subsets of the same size.
  • each of these subsets is compressed and encrypted, then a header is added to each subset compressed and encrypted to form a predetermined size packet.
  • the packets 40 1,..., 40..., 40 n are thus obtained.
  • a selection step 1 10 among all the existing first level warehouses, some (50, 52 and 54) are selected according to their accessibility from the server that received the data set 40 but also by comparing the service class 46 of the second-level warehouse 44 with the characteristic parameters of each first-level storage virtual space.
  • the packets 40i, ..., 40 ,, ..., 4O n are divided into the physical resources associated with the selected first level storage 50, 52 and 54. Then, at a step 1 14, the distribution of the packets in the various storage hardware resources associated with the selected first level warehouses 50, 52 and 54 is stored in memory in relation to the second level warehouse 44.
  • step 1 16 is a step of waiting for events likely to modify the distribution of the packets stored and relating to the data set 40.
  • events notably comprise a modification of the parameters of the class of service 46, an action provided in Service Class 46, a change in the characteristic parameters of one of the selected Tier 1 warehouses, the addition, deletion or modification of a Tier 1 warehouse, etc. If any of these events occur, then return to step 1 to re-allocate the data packets 40i, ..., 40 ,, ..., 40 n . Otherwise, we go to a last step 1 18 end of storage of the data set 40, when the storage period defined in the service class 46 expires. In this last step, the data packets 40i, ..., 40 ,, ..., 4O n are deleted and the corresponding memory space is released.
  • a method and / or system as described above allows greater flexibility in the event of evolution of storage resources. Indeed, a first level of virtual storage spaces manages the storage hardware resources while a second level, having the resources of the virtual storage spaces of the first level, manages the virtualized storage of the data sets. Thus, it is possible to make the virtual storage of the data sets independent of the management of the storage hardware resources.
  • the infrastructure of the storage computer system 10 can therefore evolve without disrupting the virtualized storage service.
  • a first-level warehouse loses a hard drive as a result of a failure, it can report it with an alarm for all affected data packets.
  • the affected second-tier warehouses will then be assigned a new selection of first-level warehouses for a new distribution of data packets, without the data set being assigned a new second-tier warehouse. This last is perennial during all the contractual duration of the storage.
  • the virtualized storage method described above is not incompatible with a storage service for archiving data in a standard format such as the format TAR (English "Tape ARchiver").
  • TAR English "Tape ARchiver”
  • the class of service of a data set to be archived in this format can indicate it so that a distribution in data packets on different resources is not carried out, or is carried out in addition to this archiving.
  • the invention is not limited to the embodiment described above. Indeed, it has been presented in a distributed architecture in several servers able to provide the same virtualized storage service, thus requiring synchronization between these servers. But it could also be implemented in a centralized architecture and would no longer be subject to these synchronization constraints.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

Ce procédé de stockage virtualisé d'un ensemble (40) de données numériques dans un système informatique comprenant plusieurs ressources matérielles de stockage (5O1, 5O2, 5O3, 521, 522, 541, 542, 543, 544) interconnectées, comporte la génération d'un ensemble d'espaces virtuels de stockage de premier niveau (50, 52, 54), dans lequel chaque espace virtuel est associé à une partie des ressources matérielles de stockage et à des paramètres caractéristiques. Il comporte les étapes suivantes : création d'un espace virtuel de stockage de second niveau (44) associé à une classe de service (46) paramétrée en fonction de contraintes de stockage (42) de l'ensemble de données (40) et affectation de cet espace virtuel de stockage (44) à l'ensemble de données (40); sélection d'au moins un espace virtuel de stockage de premier niveau (50, 52, 54) par comparaison de la classe de service (46) de l'espace virtuel de stockage de second niveau avec les paramètres caractéristiques de chaque espace virtuel de stockage de premier niveau; stockage de l'ensemble de données (40) dans les ressources matérielles associées à l'espace virtuel de stockage de premier niveau sélectionné.

Description

PROCEDE ET SYSTEME DE STOCKAGE VIRTUALISE D'UN ENSEMBLE DE DONNEES NUMERIQUES
La présente invention concerne un procédé de stockage virtualisé d'un ensemble de données numériques dans un système informatique comprenant plusieurs ressources matérielles de stockage interconnectées en réseau.
Plus précisément, l'invention concerne un procédé de stockage virtualisé comportant la génération d'un ensemble d'espaces virtuels de stockage, dans lequel chaque espace virtuel de stockage est associé à une partie des ressources matérielles de stockage et à des paramètres caractéristiques liés à cette partie des ressources matérielles de stockage.
Un tel procédé est par exemple décrit dans la demande de brevet internationale publiée sous le numéro WO 2006/077215. Dans ce document, lorsqu'un ensemble de données doit être stocké dans le réseau considéré de ressources matérielles de stockage, un module d'allocation de disque virtuel apte à réserver un espace virtuel commence par sélectionner une partie des ressources en fonction de leurs performances comparées avec des contraintes formulées dans une requête de stockage, puis crée un disque virtuel dédié à l'ensemble de données et associé à cette partie des ressources sélectionnée. Selon ce procédé, on génère autant de disques virtuels que d'ensembles de données à stocker et la répartition des données d'un ensemble dans les ressources matérielles de stockage est gérée par le disque virtuel correspondant, en fonction de ce qui lui a été alloué comme ressources par le module d'allocation.
Ce procédé fonctionne bien sur un réseau statique, mais présente une flexibilité limitée lorsque le réseau évolue par l'ajout, la suppression, la défaillance ou le remplacement de ressources matérielles. Par exemple, en cas de panne d'une ressource matérielle de stockage, les données stockées par cette ressource doivent être déplacées et les disques virtuels associés à ces données, pouvant provenir de plusieurs ensembles de données, doivent être redéfinis. II peut ainsi être souhaité de prévoir un procédé de stockage virtualisé qui permette de s'affranchir de ces problèmes et contraintes.
L'invention a donc pour objet un procédé de stockage virtualisé d'un ensemble de données numériques dans un système informatique comprenant plusieurs ressources matérielles de stockage interconnectées en réseau, comportant la génération d'un ensemble d'espaces virtuels de stockage de premier niveau, dans lequel chaque espace virtuel de stockage de premier niveau est associé à une partie des ressources matérielles de stockage et à des paramètres caractéristiques liés à cette partie des ressources matérielles de stockage, caractérisé en ce qu'il comporte les étapes suivantes : - création d'un espace virtuel de stockage de second niveau associé à une classe de service paramétrée en fonction de contraintes de stockage de l'ensemble de données et affectation de cet espace virtuel de stockage de second niveau à l'ensemble de données,
- sélection d'au moins un espace virtuel de stockage de premier niveau par comparaison de la classe de service de l'espace virtuel de stockage de second niveau avec les paramètres caractéristiques de chaque espace virtuel de stockage de premier niveau, et
- stockage de l'ensemble de données dans les ressources matérielles associées à l'espace virtuel de stockage de premier niveau sélectionné. Ainsi, grâce à la présence de deux niveaux d'espaces virtuels de stockage, il est possible de rendre le stockage virtuel de l'ensemble de données indépendant de la gestion des ressources matérielles de stockage. En effet, les ressources matérielles sont associées à des espaces virtuels de premier niveau qui sont donc concernés par les ajouts, suppressions, défaillances ou remplacements de ressources. En revanche, les espaces virtuels affectés aux ensembles de données à stocker ou stockés sont d'un deuxième niveau et leurs ressources sont les espaces virtuels du premier niveau. Ils n'ont donc pas de visibilité directe sur les ressources matérielles de stockage, ce qui rend le procédé plus flexible en cas d'évolution du réseau comprenant ces ressources. De façon optionnelle, les espaces virtuels de stockage de premier niveau sont conçus pour stocker des paquets de données de taille commune prédéterminée, et il est prévu une étape de transformation de l'ensemble de données en un ou plusieurs paquets de cette taille commune prédéterminée en fonction de la taille globale de l'ensemble de données. Cela permet de décorréler encore un peu plus les espaces virtuels de stockage de premier niveau, et donc les ressources, de la nature, et de la taille, de l'ensemble de données à stocker.
De façon optionnelle également, la transformation de l'ensemble de données en un ou plusieurs paquets comporte les étapes suivantes : - découpage de l'ensemble de données en plusieurs sous-ensembles, - compression et/ou cryptage des données de chaque sous-ensemble, et
- ajout d'un en-tête à chaque sous-ensemble comprimé et crypté pour former un paquet de ladite taille commune prédéterminée.
De façon optionnelle également, l'étape de stockage comportant une répartition de l'ensemble de données dans les ressources matérielles associées à l'espace virtuel de stockage de premier niveau sélectionné, le procédé de stockage virtualisé selon l'invention comporte en outre une étape de mémorisation de cette répartition en relation avec l'espace virtuel de stockage de second niveau créé.
De façon optionnelle également, l'ensemble de données numériques est un fichier numérique ou un flux de données numériques.
De façon optionnelle également, chaque espace virtuel de stockage de premier niveau est associé à une partie des ressources matérielles de stockage utilisant une unique technologie de stockage choisie parmi les éléments de l'ensemble constitué d'une technologie de stockage par disque dur et d'une technologie de stockage par bande magnétique.
L'invention a également pour objet un programme d'ordinateur téléchargeable depuis un réseau de communication et/ou enregistré sur un support lisible par ordinateur et/ou exécutable par un processeur, caractérisé en ce qu'il comprend des instructions de code de programme pour l'exécution des étapes d'un procédé de stockage virtualisé tel que défini précédemment lorsque ledit programme est exécuté sur un ordinateur.
L'invention a également pour objet un système de stockage virtualisé d'un ensemble de données numériques, comportant plusieurs ressources matérielles de stockage interconnectées en réseau, des moyens de génération d'un ensemble d'espaces virtuels de stockage de premier niveau dans lequel chaque espace virtuel de stockage de premier niveau est associé à une partie des ressources matérielles de stockage et à des paramètres caractéristiques liés à cette partie des ressources matérielles de stockage, caractérisé en ce qu'il comporte en outre :
- des moyens de création d'un espace virtuel de stockage de second niveau associé à une classe de service paramétrée en fonction de contraintes de stockage de l'ensemble de données et d'affectation de cet espace virtuel de stockage de second niveau à l'ensemble de données,
- des moyens de sélection d'au moins un espace virtuel de stockage de premier niveau par comparaison de la classe de service de l'espace virtuel de stockage de second niveau avec les paramètres caractéristiques de chaque espace virtuel de stockage de premier niveau, et
- des moyens de stockage de l'ensemble de données dans les ressources matérielles associées à l'espace virtuel de stockage de premier niveau sélectionné.
De façon optionnelle, un système de stockage virtualisé selon l'invention comprend plusieurs serveurs de stockage interconnectés en réseau, chaque serveur de stockage étant en outre connecté localement à une partie des ressources matérielles de stockage et comprenant lesdits moyens de génération d'un ensemble d'espaces virtuels de stockage de premier niveau, lesdits moyens de création d'un espace virtuel de stockage de second niveau, lesdits moyens de sélection et lesdits moyens de stockage.
Dans ce cas, le service de stockage virtualisé peut être assuré à partir de plusieurs serveurs d'un système distribué. De façon optionnelle également, les espaces virtuels de stockage de premier et second niveaux étant conservés en mémoire sous forme de données de description réparties entre les serveurs de stockage et répliquées sur plusieurs serveurs pour au moins une partie d'entre elles, il comporte des moyens de synchronisation, entre les serveurs de stockage, d'actions agissant sur ces données de description.
L'invention sera mieux comprise à l'aide de la description qui va suivre, donnée uniquement à titre d'exemple et faite en se référant aux dessins annexés dans lesquels :
- la figure 1 représente schématiquement la structure générale d'un exemple de système informatique de stockage de données distribué en plusieurs serveurs interconnectés en réseau,
- la figure 2 illustre un exemple de répartition de données de description dans le système informatique de stockage de la figure 1 ,
- la figure 3 représente schématiquement la structure d'un ensemble d'espaces virtuels de stockage à deux niveaux générés pour l'application d'un procédé de stockage virtualisé selon l'invention, et
- la figure 4 illustre les étapes successives d'un procédé de stockage virtualisé selon un mode de réalisation de l'invention.
Le système informatique 10 représenté sur la figure 1 comporte plusieurs serveurs 121 ; 122, 123, 124 et 125 munis de ressources matérielles de stockage. Ces serveurs sont répartis sur plusieurs domaines ou sites géographiques. Chaque serveur est de type classique et ne sera pas détaillé. Ses ressources de stockage sont par exemple connectées localement sous forme de périphériques ou de disques durs internes. Dans un exemple d'architecture distribuée de gestion de service, au moins un module logiciel et matériel spécifique 141 ; 142, 143, 144 et 145 de gestion d'un service de stockage de données est installé sur chaque serveur 1213 122, 123, 124 et 125.
Cinq serveurs de stockage et deux domaines sont représentés sur la figure 1 à titre purement illustratif mais toute autre structure de système informatique à ressources matérielles de stockage interconnectées en réseau peut convenir pour la mise en œuvre d'un procédé de stockage virtualisé selon l'invention. En particulier, bien que l'exemple illustré sur cette figure porte sur un système de stockage distribué entre plusieurs serveurs de stockage tous a priori aptes à gérer le service de stockage de données, celui-ci pourrait aussi, de façon alternative et dans un autre exemple d'architecture, être géré de façon centralisée par un unique serveur ayant accès à toutes les ressources matérielles de stockage localement ou à distance.
Par souci de simplification également, il est représenté un module logiciel et matériel par serveur, de sorte que les modules et leurs serveurs respectifs pourront être confondus dans la suite de la description, sans pour autant devoir être confondus dans une mise en œuvre plus générale de l'invention.
Le module logiciel et matériel 14i du serveur de stockage 12! est détaillé sur la figure 1 . Il comporte une première couche logicielle 16i constituée d'un système d'exploitation du serveur 12^ II comporte une deuxième couche logicielle 18i de gestion de données de description du service de stockage de données fourni par le système informatique 10. Il comporte une troisième couche logicielle et matérielle 2Oi remplissant au moins deux fonctions : une première fonction de stockage, sur un disque dur interne du serveur 121 ; des données de description du service de stockage et une deuxième fonction de mémoire cache, sur ce disque dur également, de données stockées sur des ressources matérielles de stockage connectées au serveur 12i. Enfin, il comporte une quatrième couche logicielle et matérielle 221 s 24i d'entrepôts de données de premier niveau, comportant au moins un entrepôt de données sur disque dur 22i et/ou au moins un entrepôt de données sur bandes magnétiques 24i. Pour la suite de la description, un entrepôt de données de premier niveau désigne un espace virtuel de stockage de données constitué d'une ou plusieurs partitions d'un ou plusieurs disques durs, ou d'un ou plusieurs dispositifs de stockage sur bandes magnétiques, parmi les ressources matérielles de stockage du serveur auquel il est associé.
Les modules logiciels et matériels 142, 143, 144 et 145 des serveurs 122, 123, 124 et 125 ne seront pas détaillés parce qu'ils sont similaires au module logiciel et matériel "U1.
Dans l'exemple illustré par la figure 1 , les serveurs 1213 122 et 123 sont interconnectés entre eux par un premier réseau 26 de type LAN pour créer un premier sous-ensemble ou domaine 28. Ce premier domaine 28 correspond par exemple à une organisation géographique localisée, telle qu'un site géographique, un bâtiment ou une salle informatique. Les serveurs 124 et 125 sont interconnectés entre eux par un second réseau 30 de type LAN pour créer un second sous-ensemble ou domaine 32. Ce second domaine 28 correspond également par exemple à une autre organisation géographique localisée, telle qu'un site géographique, un bâtiment ou une salle informatique. Ces deux domaines sont reliés entre eux par un réseau de type WAN 34, tel que le réseau Internet.
Ainsi ce système informatique en grappe de serveurs répartis sur plusieurs sites géographiques permet d'envisager un stockage de données d'autant plus sûr que celles-ci peuvent être répliquées sur des modules logiciels et matériels situés sur des sites géographiques différents. Le service de stockage fourni par ce système informatique 10, comprenant notamment les espaces virtuels de stockage générés pour remplir ce service, et les données effectivement stockées sont avantageusement complètement définis et décrits par un ensemble de données de description qui vont être présentées dans leurs principes généraux en référence à la figure 2. De la sorte, la gestion de ces données de description par la couche logicielle 18, de l'un quelconque des modules logiciels et matériels 14, assure la gestion du service de stockage du système informatique 10.
Les données de description sont par exemple regroupées en plusieurs ensembles structurés selon leur nature et éventuellement liés entre eux. Un ensemble structuré, qui sera appelé « catalogue » dans la suite de la description, peut se présenter sous la forme d'une arborescence de répertoires contenant eux- mêmes d'autres répertoires et/ou des fichiers de données de description. La représentation des données de description selon une arborescence de répertoires et de fichiers comporte l'avantage d'être simple et donc économique à concevoir et à gérer. De plus cette représentation est souvent suffisante pour le service visé. Il est aussi possible, pour des applications plus complexes, de représenter et gérer les données de description en bases de données relationnelles.
Un catalogue de données de description peut être global, c'est-à-dire concerner des données de description utiles à l'ensemble du système informatique 10, ou bien local, c'est-à-dire concerner des données de description propres à un ou plusieurs modules logiciels et matériels 1415 142, 143, 144 ou 145 de gestion du service. Avantageusement, chaque catalogue est répliqué sur plusieurs serveurs ou modules logiciels et matériels. Lorsqu'il est global, il est de préférence répliqué sur l'ensemble des modules logiciels et matériels. Lorsqu'il est local, il est répliqué sur un nombre prédéterminé de modules logiciels et matériels dont au moins celui ou ceux qu'il concerne.
A titre d'exemple, la figure 2 représente une répartition possible de catalogues de données de description entre les cinq modules logiciels et matériels 141 s 142, 143, 144 et 145. Un premier catalogue CA global est répliqué sur les cinq modules logiciels et matériels 1415 142, 143, 144 et 145. Il comporte par exemple des données décrivant l'infrastructure générale et le fonctionnement général du système informatique 10 pour la fourniture du service de stockage, notamment l'arborescence des domaines et des modules logiciels et matériels du système informatique 10. Il peut aussi comporter des données décrivant des utilisateurs potentiels du service de stockage de données et leurs droits d'accès, par exemple des utilisateurs préalablement inscrits, ainsi que les zones de partage, la structure ou le mode de stockage et la réplication de données stockées.
D'autres catalogues sont locaux, comme par exemple le catalogue CBi , contenant des données de description propres au module logiciel et matériel M1 telles que l'infrastructure locale et le fonctionnement local du serveur 12i et de ses ressources matérielles de stockage, ou l'organisation en entrepôts de premier niveau du module logiciel et matériel 14i. Ce catalogue est répliqué en trois exemplaires, dont un sur le module logiciel et matériel 14i. Pour améliorer la sécurité et la robustesse du système informatique 10, le catalogue CBi peut être répliqué dans plusieurs domaines différents. Ici, le système complet comportant deux domaines 28 et 32, le catalogue CBi est par exemple sauvegardé sur les modules 14i et 142 du domaine 28 et sur le module 145 du domaine 32.
De même, les modules logiciels et matériels 142, 143, 144 et 145 sont associés à des catalogues locaux respectifs C62, C63, C64 et CB5- Par exemple, le catalogue C62 est sauvegardé sur les modules 142 et 143 du domaine 28 et sur le module 144 du domaine 32 ; le catalogue C63 est sauvegardé sur le module 143 du domaine 28 et sur les modules 144 et 145 du domaine 32 ; le catalogue C64 est sauvegardé sur le module 144 du domaine 32 et sur les modules 14i et 143 du domaine 28 ; et le catalogue C65 est sauvegardé sur le module 145 du domaine 32 et sur les modules 14i et 1 A2 du domaine 28.
La liste précitée de catalogues de données de description n'est pas exhaustive et n'est fournie qu'à titre d'exemple, de même que le nombre de réplications de chaque catalogue. Par cette réplication des catalogues, ici sur au moins trois modules logiciels et matériels pour chaque catalogue, on remarque que même si un module logiciel et matériel, voire deux, est (sont) hors d'état de fonctionnement, le système dans son ensemble est capable d'accéder à l'ensemble des données de description de sorte que la gestion du service de stockage de données n'est pas nécessairement interrompue.
En pratique, cette continuité de service maintenue est efficace à partir du moment où une synchronisation des catalogues est assurée.
Pour cela, la couche logicielle de chaque module logiciel et matériel du système informatique 10 comporte par exemple : - des moyens d'émission d'un message de synchronisation, identifiant une action agissant sur une donnée de description, vers l'ensemble des autres modules logiciels du système informatique comportant une réplication de cette donnée de description, suite à l'exécution de cette action sur ce module logiciel, et - des moyens d'exécution d'une action agissant sur une donnée de description et identifiée dans un message de synchronisation, de manière à agir sur la réplication de la donnée de description située sur ce module logiciel, en réponse à la réception d'un message de synchronisation provenant d'un autre module logiciel. On notera en revanche qu'une telle synchronisation, ainsi que la réplication des catalogues précédemment décrite, ne sont pas nécessaires dans le cas où la gestion du service de stockage est centralisée sur un seul serveur.
Parmi les données de description pouvant être réparties en catalogues de données, conformément à l'invention, des entrepôts de données de premier et second niveaux sont définis. Comme indiqué précédemment, les entrepôts de premier niveau sont définis dans la quatrième couche logicielle et matérielle de chaque serveur de stockage 1213 122, 123, 124 et 125. Ils sont chacun associés à une partie des ressources matérielles de stockage du système informatique 10. Plus précisément, ils sont chacun associés à au moins une partie des ressources matérielles de stockage du serveur de stockage sur lequel ils sont générés. En particulier, sur la figure 1 , au moins un premier entrepôt de stockage de premier niveau est par exemple défini dans la partie logicielle de la quatrième couche logicielle et matérielle 22i du serveur 1213 en association avec des ressources matérielles de stockage constituées d'un ou plusieurs disques dur externes. Au moins un second entrepôt de stockage de premier niveau est par exemple défini dans la partie logicielle de la quatrième couche logicielle et matérielle 24i du serveur 1213 en association avec des ressources matérielles de stockage constituées d'un ou plusieurs dispositifs de stockage sur bandes magnétiques. Chaque entrepôt de premier niveau est en outre associé à une classe de service reprenant des paramètres caractéristiques liés aux ressources matérielles de stockage de cet entrepôt. De préférence, chaque entrepôt de premier niveau est à cet effet associé à des ressources matérielles utilisant une unique technologie de stockage, c'est-à-dire en pratique, soit une technologie de stockage par disque dur, soit une technologie de stockage par bande magnétique.
Les paramètres caractéristiques d'un entrepôt de premier niveau comportent donc par exemple le choix d'une technologie de stockage, des paramètres de temps d'accès aux données stockées, une capacité de stockage, l'accessibilité de ses différentes ressources matérielles, un coût à l'octet d'un espace élémentaire de stockage, une localisation des ressources matérielles, etc. En d'autres termes, les paramètres caractéristiques d'un entrepôt de premier niveau comportent des paramètres de performance (par exemple le temps d'accès aux données), mais aussi plus généralement d'autres caractéristiques (par exemple la localisation, la technologie, le coût à l'octet) permettant une meilleure prise en compte de contraintes et/ou fonctionnalités de stockage.
Il apparaît clairement qu'une technologie de stockage a un impact sur la classe de service d'un entrepôt de premier niveau : un entrepôt utilisant une technologie de stockage par bande magnétique a ainsi des caractéristiques spécifiques, telles que la possibilité de déplacer facilement des données stockées hors site, la facilité d'augmenter sa capacité, de bonnes performances de stockage, mais un accès aux données plus long.
Par ailleurs, par application des propriétés des catalogues énoncées précédemment, certains entrepôts de premier niveau sont locaux, d'autres sont globaux. Par exemple, il peut être établi qu'un entrepôt local est basé sur un serveur en particulier (celui qui est muni des ressources matérielles de stockage auxquelles cet entrepôt est associé) et n'est accessible qu'à partir de ce serveur. Cela peut être par exemple convenu à partir du moment où une certaine technologie est utilisée, telle que la technologie de stockage sur disque dur. Il peut être établi au contraire qu'un entrepôt global est accessible depuis plusieurs serveurs de stockage du système informatique 10. Dans ce cas, un tel entrepôt de premier niveau est représenté sur plusieurs serveurs et la classe de service à laquelle il est associé est la même quel que soit le serveur d'accès. A partir du moment où un dispositif de stockage par bandes magnétiques est accessible depuis n'importe quel serveur, pour peu qu'il y ait un lecteur compatible, on peut considérer comme global tout entrepôt utilisant cette technologie de stockage.
De façon optionnelle, les entrepôts de premier niveau peuvent être conçus pour stocker des paquets de données de taille commune, selon une granularité de stockage prédéterminée. Ces paquets de données peuvent en outre être optimisés et sécurisés en étant comprimés et cryptés selon un niveau de service requis. Un entrepôt de premier niveau, quel qu'il soit, peut alors être vu comme contenant plusieurs conteneurs de taille fixe aptes à recevoir chacun un paquet de données.
En conclusion, l'ensemble des entrepôts de premier niveau représente la capacité de stockage offerte par le système informatique 10, cette capacité pouvant évoluer au gré des ajouts, suppressions, remplacements, modifications des ressources matérielles de stockage.
Conformément à l'invention, des entrepôts de second niveau sont définis en tant qu'espaces virtuels de stockage d'ensembles de données. Chaque entrepôt de second niveau est ainsi affecté à un ensemble de données particulier, que cet ensemble soit un fichier numérique ou un flux de données numériques à stocker. Il est par exemple dynamiquement créé, lors de la réception d'une requête de stockage de cet ensemble de données.
Par conséquent, un ensemble d'entrepôts de second niveau représente à chaque instant une demande en stockage d'ensembles de donnée s'appliquant au système informatique 10. Les entrepôts de second niveau sont par exemple définis dans la deuxième couche logicielle 18, de gestion de données de description des serveurs 12,. De même que les entrepôts de premier niveau, ils peuvent être définis de façon locale ou globale. En revanche, ils ne sont associés à aucune ressource matérielle de stockage du système informatique 10. Leurs ressources potentielles sont les entrepôts de premier niveau qu'ils sont aptes à sélectionner en fonction de leurs paramètres caractéristiques.
Chaque entrepôt de second niveau est en outre associé à une classe de service définie en fonction de contraintes et fonctionnalités de stockage relatives à l'ensemble de données correspondant. Par exemple ces contraintes et fonctionnalités de stockage peuvent être en partie formulées dans une requête de stockage de l'ensemble de données correspondant. Les contraintes sont plus particulièrement des conditions à remplir et peuvent être liées à une date de début et une date de fin. Les fonctionnalités sont des services supplémentaires proposés par l'entrepôt, tels qu'une compression, un cryptage, un horodatage, une signature électronique, une utilisation d'antivirus en lecture, une suppression complète des données lors d'une libération d'espace mémoire, etc.
La classe de service d'un entrepôt de second niveau définit ainsi par exemple : - un nombre d'exemplaires de l'ensemble de données devant être stockés,
- d'éventuelles contraintes concernant une localisation des entrepôts de premier niveau à sélectionner,
- la désignation a priori d'un ou plusieurs entrepôts de premier niveau en particulier, - d'éventuelles contraintes concernant le type de technologie de stockage à utiliser,
- un niveau de sécurité requis,
- une première durée pendant laquelle un premier type de stockage est requis, une deuxième durée pendant laquelle un deuxième type de stockage est requis, etc.,
- une durée au-delà de laquelle l'ensemble de données peut être supprimé et l'espace de stockage correspondant libéré,
- une séquence de traitements à appliquer à l'ensemble de données (fonctionnalités précitées), au moment du stockage ou plus tard, - etc. Avantageusement, lorsqu'un entrepôt de second niveau est créé pour le stockage d'un ensemble de données, le système informatique 10 est conçu pour s'assurer régulièrement, voire en permanence, que la classe de service associée, paramétrée en fonction des contraintes de stockage de cet ensemble de données, est bien respectée. En effet, si la classe de service est modifiée, si un entrepôt de premier niveau sélectionné pour le stockage d'au moins une partie de l'ensemble de données est supprimé ou si ses caractéristiques changent, le système informatique 10 peut être amené à modifier la sélection d'entrepôts de premier niveau pour cet entrepôt de second niveau, afin que les paramètres caractéristiques des entrepôts de premier niveau sélectionnés soient à chaque instant compatibles avec les contraintes et fonctionnalités requises par la classe de service de l'entrepôt de second niveau.
La figure 3 illustre la structure et le fonctionnement d'un ensemble d'espaces virtuels de stockage à deux niveaux tels que ceux décrits précédemment pour la mise en œuvre d'un procédé de stockage virtualisé de données numériques. Sur cette figure, un ensemble de données 40, par exemple un fichier numérique ou un flux binaire de données, est associé à des informations 42 de contraintes de stockage. Ces contraintes de stockage peuvent être rassemblées sous la forme d'un fichier, d'une requête. Elles peuvent aussi exister implicitement, par défaut ou selon un contexte. Un entrepôt de second niveau 44 est créé pour gérer le stockage de l'ensemble de données 40. Il remplit la fonction d'espace de stockage virtuel directement affecté à l'ensemble 40. Il est associé, comme indiqué précédemment, à une classe de service 46, se présentant sous la forme d'un ou plusieurs fichiers, paramétrée notamment en fonction des contraintes de stockage 42. Une contrainte peut par exemple se présenter sous la forme suivante : « conserver trois exemplaires dont un sur disque dur sur le site de Paris pendant cinq semaines ». Dans ce cas, cette contrainte se traduit dans la classe de service 46 par une date de début (celle du stockage de l'ensemble des données dans les ressources du système informatique 10), une date de fin (la date du début + cinq semaines), un nombre d'exemplaires devant être stockés établi à trois et un domaine géographique imposé pour l'un des exemplaires (les ressources matérielles de stockage du site de Paris).
Une autre contrainte peut par exemple préciser la contrainte précédente de la façon suivante : « conserver un exemplaire dans des ressources de type RAID 5 sur disques sur le site de Paris pendant cinq semaines, conserver un exemplaire dans des ressources de type RAID 5 sur disques sur le site de Vannes pendant cinq semaines, conserver deux exemplaires sur bandes magnétiques pendant dix ans ». Cette précision signifie que, l'ensemble de données étant destiné à être consulté souvent pendant les cinq premières semaines mais moins souvent par la suite, on privilégie un stockage rapide mais cher et limité en volume pendant cinq semaines pour ensuite le transférer sur bandes magnétiques pendant dix ans. Au-delà de dix ans, les données seront supprimées et l'espace de stockage libéré, à moins que cela n'ait été fait avant par une requête spécifique du propriétaire de cet ensemble de données. Bien d'autres contraintes peuvent être imaginées. Elles sont chaque fois traduites en paramètres dans la classe de service 46.
De façon optionnelle, les entrepôts de premier niveau sont conçus pour stocker des paquets de données de taille commune prédéterminée. Dans ce cas, l'ensemble de données 40 est transformé en un ou plusieurs paquets 40i, ..., 40,, ..., 4On de cette même taille. Le nombre de paquets obtenus dépend donc de cette taille commune prédéterminée.
La transformation de l'ensemble de données 40 en un ou plusieurs paquets 40i, ..., 40,, ..., 4On comporte par exemple les étapes suivantes :
- découpage de l'ensemble de données 40 en plusieurs sous-ensembles, - compression et cryptage des données de chaque sous-ensemble, et
- ajout d'un en-tête à chaque sous-ensemble comprimé et crypté pour former un paquet de la taille commune prédéterminée.
Pour stocker les paquets 40i, ..., 40,, ..., 4On obtenus, et conformément aux contraintes et fonctionnalités paramétrées dans la classe de données 46, des entrepôts de premier niveau 50, 52 et 54 sont sélectionnés en fonction de leurs paramètres caractéristiques.
On notera que pour vérifier les contraintes et fonctionnalités paramétrées dans la classe de données 46, plusieurs méthodes de sélection, notamment séquentielles, peuvent être imaginées par l'homme du métier et ne seront donc pas détaillées. A titre d'exemple, si parmi les contraintes une duplication des données est exigée sur deux sites distants bien particuliers et qu'au cours de la sélection un entrepôt de premier niveau localisé sur le premier site est déjà déterminé à un instant donné, la sélection ne va alors s'intéresser qu'aux entrepôts de premier niveau localisés sur le second site et choisir finalement un entrepôt de premier niveau du second site répondant à un maximum des contraintes restantes. Trois entrepôts sélectionnés de premier niveau sont représentés sur la figure 3, à titre purement illustratif et non limitatif.
Un premier entrepôt sélectionné 50 de premier niveau est par exemple associé à trois ressources matérielles de stockage 5O1, 5O2 et 5O3 de même type et de caractéristiques homogènes. Ce sont par exemple trois disques durs externes, trois partitions d'un même disque dur, etc. Chacune de ces ressources comporte des conteneurs de stockage aptes à recevoir des paquets. Il en est représenté trois par ressource pour l'entrepôt 50, par souci de simplification. En réalité, le nombre de conteneurs par ressource est beaucoup plus important. Un deuxième entrepôt sélectionné 52 de premier niveau est par exemple associé à deux ressources matérielles de stockage 52! et 522 de même type et de caractéristiques homogènes. Chacune de ces ressources comporte également des conteneurs de stockage aptes à recevoir des paquets. Il en est représenté trois par ressource pour l'entrepôt 52. Enfin, un troisième entrepôt sélectionné 54 de premier niveau est par exemple associé à quatre ressources matérielles de stockage 54i, 542, 543 et 544 de même type et de caractéristiques homogènes. Chacune de ces ressources comporte également des conteneurs de stockage aptes à recevoir des paquets. Il en est représenté deux par ressource pour l'entrepôt 54. Les paquets 40i, ..., 40,, ..., 4On sont alors répartis (en un ou plusieurs exemplaires selon les contraintes de stockage) dans les ressources matérielles de stockage des entrepôts sélectionnés 50, 52 et 54 en fonction des paramètres de la classe de service 46. Cette répartition est conservée en mémoire en relation avec l'entrepôt de second niveau 44 créé. Au moyen par exemple de l'infrastructure illustrée sur la figure 1 et grâce à la structure en deux niveaux d'espaces de stockage virtuels illustrée sur la figure 3, un procédé de stockage virtualisé tel que celui illustré sur la figure 4 peut être mis en œuvre.
Au cours d'une première étape 100 qui peut être exécutée à tout moment, de la conception du système informatique 10 à toute modification de son infrastructure par l'ajout, la suppression, le remplacement ou la modification de tout serveur ou de toute ressource matérielle de stockage, un ensemble d'espaces virtuels de premier niveau, autrement dit l'ensemble des entrepôts de premier niveau, est créé ou modifié. En fonction des ressources matérielles de stockage affectées à chacun de ces entrepôts de premier niveau, des paramètres caractéristiques tels que ceux définis précédemment leur sont également attribués au cours de cette étape.
Lors d'une étape 102, un ensemble de données à stocker, par exemple l'ensemble 40, est reçu par le système informatique 10, via l'un de ses serveurs 122, 123, 124 ou 125.
Ensuite, à une étape 104, un espace virtuel de stockage de second niveau, en l'occurrence l'entrepôt de second niveau 44, est créé. Sa classe de service 46 est paramétrée en fonction notamment des contraintes de stockage 42 de l'ensemble de données 40. Il est affecté à la gestion du stockage de l'ensemble de données 40. A l'étape 106 optionnelle suivante, l'ensemble de données 40 est transformé en sous-ensembles de même taille.
Ensuite, lors d'une étape 108 également optionnelle, chacun de ces sous- ensembles est comprimé et crypté, puis un en-tête est ajouté à chaque sous- ensemble comprimé et crypté pour former un paquet de taille prédéterminée. Les paquets 40i, ..., 40,, ..., 4On sont ainsi obtenus.
Au cours d'une étape de sélection 1 10, parmi l'ensemble des entrepôts de premier niveau existant, certains (50, 52 et 54) sont sélectionnés en fonction de leur accessibilité depuis le serveur ayant reçu l'ensemble de données 40 mais aussi par comparaison de la classe de service 46 de l'entrepôt de second niveau 44 avec les paramètres caractéristiques de chaque espace virtuel de stockage de premier niveau.
A l'étape 1 12 suivante, les paquets 40i, ..., 40,, ..., 4On sont répartis dans les ressources matérielles associées aux entrepôts de premier niveau sélectionnés 50, 52 et 54. Ensuite, lors d'une étape 1 14, la répartition des paquets dans les différentes ressources matérielles de stockage associées aux entrepôts de premier niveau sélectionnés 50, 52 et 54 est conservée en mémoire en relation avec l'entrepôt de second niveau 44.
L'étape 1 16 suivante est une étape d'attente d'événements susceptibles de modifier la répartition des paquets stockés et relatifs à l'ensemble de données 40. Ces événements comportent notamment une modification de paramètres de la classe de service 46, une action prévue dans la classe de service 46, un changement des paramètres caractéristiques de l'un des entrepôts de premier niveau sélectionnés, l'ajout, la suppression ou la modification d'un entrepôt de premier niveau, etc. Si l'un de ces événements se produit, on retourne alors à l'étape 1 10 pour effectuer une nouvelle répartition des paquets de données 40i, ..., 40,, ..., 4On. Sinon, on passe à une dernière étape 1 18 de fin de stockage de l'ensemble de données 40, lorsque la durée de stockage définie dans la classe de service 46 expire. Lors de cette dernière étape, les paquets de données 40i, ..., 40,, ..., 4On sont supprimés et l'espace mémoire correspondant est libéré.
Il apparaît clairement qu'un procédé et/ou système tel que décrit précédemment permet une meilleure flexibilité en cas d'évolution des ressources de stockage. En effet, un premier niveau d'espaces virtuels de stockage gère les ressources matérielles de stockage tandis qu'un second niveau, ayant pour ressources les espaces virtuels de stockage du premier niveau, gère le stockage virtualisé des ensembles de données. Ainsi, il est possible de rendre le stockage virtuel des ensembles de données indépendant de la gestion des ressources matérielles de stockage. L'infrastructure du système informatique de stockage 10 peut donc évoluer sans perturber le service de stockage virtualisé.
Par exemple, si un entrepôt de premier niveau perd un disque dur suite à une panne, il peut le signaler par une alarme pour tous les paquets de données concernés. Les entrepôts de second niveau concernés se verront alors affecter une nouvelle sélection d'entrepôts de premier niveau pour une nouvelle distribution des paquets de données, sans que l'ensemble de données ne se voie affecter un nouvel entrepôt de second niveau. Ce dernier est pérenne pendant toute la durée contractuelle du stockage.
En cas d'obsolescence d'une ressource matérielle de stockage liée à un entrepôt de premier niveau, il est possible d'ajouter une nouvelle ressource matérielle plus performante, de recopier les paquets stockés dans la ressource obsolète vers la nouvelle ressource, puis de référencer les paquets de données sur cette nouvelle ressource. Tout cela se fait en totale transparence pour les entrepôts de second niveau ayant cet entrepôt de premier niveau comme ressource. Cela concerne en particulier les ressources matérielles de stockage sur bandes magnétiques. Lors d'un changement de technologie de stockage, il suffit de déclarer un nouvel entrepôt de premier niveau exploitant la nouvelle technologie. Lorsque des renouvellements de stockage d'ensembles de données sont requis ou programmés pour des données dont certains paquets sont stockés dans un entrepôt concerné par ce changement de technologie, ces paquets sont recopiés dans le nouvel entrepôt. L'ancien entrepôt pourra être supprimé lorsque tous les paquets qu'il contient auront été soit déplacés soit supprimés. Il est possible aussi de modifier les classes de service des entrepôts de second niveau concernés pour que les paquets destinés initialement à être stockés dans l'ancien entrepôt le soient dans le nouvel entrepôt. Ainsi, le changement de technologie de stockage se déroule de manière simple et fiable.
Il est à noter par ailleurs que le procédé de stockage virtualisé précédemment décrit n'est pas incompatible avec un service de stockage permettant l'archivage de données selon un format standard tel que le format TAR (de l'Anglais « Tape ARchiver »). En effet, la classe de service d'un ensemble de données devant être archivé selon ce format peut l'indiquer de sorte qu'une répartition en paquets de données sur différentes ressources ne soit pas réalisée, ou soit réalisée en plus de cet archivage.
Enfin, on notera que l'invention n'est pas limitée au mode de réalisation décrit précédemment. En effet, elle a été présentée dans une architecture distribuée en plusieurs serveurs aptes à fournir un même service de stockage virtualisé, nécessitant alors une synchronisation entre ces serveurs. Mais elle pourrait aussi être mise en œuvre dans une architecture centralisée et ne serait alors plus soumise à ces contraintes de synchronisation.

Claims

REVENDICATIONS
1. Procédé de stockage virtualisé d'un ensemble (40) de données numériques dans un système informatique comprenant plusieurs ressources matérielles de stockage (5O1, 5O2, 5O3, 52! , 522, 54! , 542, 543, 544) interconnectées en réseau, comportant la génération (100) d'un ensemble d'espaces virtuels de stockage de premier niveau (50, 52, 54), dans lequel chaque espace virtuel de stockage de premier niveau est associé à une partie des ressources matérielles de stockage et à des paramètres caractéristiques liés à cette partie des ressources matérielles de stockage, caractérisé en ce qu'il comporte les étapes suivantes :
- création (104) d'un espace virtuel de stockage de second niveau (44) associé à une classe de service (46) paramétrée en fonction de contraintes de stockage (42) de l'ensemble de données (40) et affectation de cet espace virtuel de stockage de second niveau (44) à l'ensemble de données (40),
- sélection (1 10) d'au moins un espace virtuel de stockage de premier niveau (50, 52, 54) par comparaison de la classe de service (46) de l'espace virtuel de stockage de second niveau (44) avec les paramètres caractéristiques de chaque espace virtuel de stockage de premier niveau, et
- stockage (1 12) de l'ensemble de données (40) dans les ressources matérielles associées à l'espace virtuel de stockage de premier niveau sélectionné (50, 52, 54).
2. Procédé de stockage virtualisé selon la revendication 1 , dans lequel les espaces virtuels de stockage de premier niveau (50, 52, 54) sont conçus pour stocker des paquets de données de taille commune prédéterminée, et dans lequel il est prévu une étape (106, 108) de transformation de l'ensemble de données (40) en un ou plusieurs paquets (40i , -- -, 40,, ..., 4On) de cette taille commune prédéterminée en fonction de la taille globale de l'ensemble de données.
3. Procédé de stockage virtualisé selon la revendication 2, dans lequel la transformation (106, 108) de l'ensemble de données en un ou plusieurs paquets (40i, ..., 40,, ..., 4On) comporte les étapes suivantes :
- découpage (106) de l'ensemble de données en plusieurs sous- ensembles, - compression et/ou cryptage (108) des données de chaque sous- ensemble, et
- ajout (108) d'un en-tête à chaque sous-ensemble comprimé et crypté pour former un paquet de ladite taille commune prédéterminée.
4. Procédé de stockage virtualisé selon l'une quelconque des revendications
1 à 3, dans lequel l'étape de stockage (1 12) comportant une répartition de l'ensemble de données (40) dans les ressources matérielles (50i, 5O2, 5O3, 52! , 522, 54! , 542, 543, 544) associées à l'espace virtuel de stockage de premier niveau sélectionné (50, 52, 54), il comporte en outre une étape (1 14) de mémorisation de cette répartition en relation avec l'espace virtuel de stockage de second niveau créé (44).
5. Procédé de stockage virtualisé selon l'une quelconque des revendications 1 à 4, dans lequel l'ensemble de données numériques (40) est un fichier numérique ou un flux de données numériques.
6. Procédé de stockage virtualisé selon l'une quelconque des revendications 1 à 5, dans lequel chaque espace virtuel de stockage de premier niveau (50, 52, 54) est associé à une partie des ressources matérielles de stockage (5Oi , 5O2, 5O3, 52i, 522, 54! , 542, 543, 544) utilisant une unique technologie de stockage choisie parmi les éléments de l'ensemble constitué d'une technologie de stockage par disque dur (22i) et d'une technologie de stockage par bande magnétique (24!).
7. Programme d'ordinateur téléchargeable depuis un réseau de communication et/ou enregistré sur un support lisible par ordinateur et/ou exécutable par un processeur, caractérisé en ce qu'il comprend des instructions de code de programme pour l'exécution des étapes d'un procédé de stockage virtualisé selon l'une quelconque des revendications 1 à 6 lorsque ledit programme est exécuté sur un ordinateur.
8. Système (10) de stockage virtualisé d'un ensemble de données numériques (40), comportant plusieurs ressources matérielles de stockage (5Oi , 5O2, 5O3, 52i, 522, 54i, 542, 543, 544) interconnectées en réseau (26, 30, 34), des moyens (14i, 142, 143, 144, 145) de génération d'un ensemble d'espaces virtuels de stockage de premier niveau (50, 52, 54) dans lequel chaque espace virtuel de stockage de premier niveau est associé à une partie des ressources matérielles de stockage et à des paramètres caractéristiques liés à cette partie des ressources matérielles de stockage, caractérisé en ce qu'il comporte en outre:
- des moyens (141 s 142, 143, 144, 145) de création d'un espace virtuel de stockage de second niveau (44) associé à une classe de service (46) paramétrée en fonction de contraintes de stockage (42) de l'ensemble de données (40) et d'affectation de cet espace virtuel de stockage de second niveau (44) à l'ensemble de données (40),
- des moyens (1415 142, 143, 144, 145) de sélection d'au moins un espace virtuel de stockage de premier niveau (50, 52, 54) par comparaison de la classe de service (46) de l'espace virtuel de stockage de second niveau (44) avec les paramètres caractéristiques de chaque espace virtuel de stockage de premier niveau, et
- des moyens (141 s 142, 143, 144, 145) de stockage de l'ensemble de données dans les ressources matérielles associées à l'espace virtuel de stockage de premier niveau sélectionné (50, 52, 54).
9. Système de stockage virtualisé (10) selon la revendication 8, comprenant plusieurs serveurs de stockage (121 ; 122, 123, 124, 125) interconnectés en réseau (26, 30, 34), chaque serveur de stockage (1213 122, 123, 124, 125) étant en outre connecté localement à une partie des ressources matérielles de stockage (22! , 24^ et comprenant lesdits moyens de génération d'un ensemble d'espaces virtuels de stockage de premier niveau, lesdits moyens de création d'un espace virtuel de stockage de second niveau, lesdits moyens de sélection et lesdits moyens de stockage.
10. Système de stockage virtualisé (10) selon la revendication 9, dans lequel, les espaces virtuels de stockage de premier (50, 52, 54) et second (44) niveaux étant conservés en mémoire sous forme de données de description réparties entre les serveurs de stockage (121 ; 122, 123, 124, 125) et répliquées sur plusieurs serveurs pour au moins une partie d'entre elles, il comporte des moyens (1415 142, 143, 144, 145) de synchronisation, entre les serveurs de stockage, d'actions agissant sur ces données de description.
PCT/FR2009/052157 2008-11-10 2009-11-10 Procede et systeme de stockage virtualise d'un ensemble de donnees numeriques WO2010052440A1 (fr)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP09768165A EP2353076A1 (fr) 2008-11-10 2009-11-10 Procede et systeme de stockage virtualise d'un ensemble de donnees numeriques
JP2011535155A JP2012508411A (ja) 2008-11-10 2009-11-10 デジタルデータ集合の仮想ストレージ方法および仮想ストレージシステム
US13/128,576 US20110238776A1 (en) 2008-11-10 2009-11-10 Method and system for the virtualized storage of a digital data set

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0806251A FR2938355B1 (fr) 2008-11-10 2008-11-10 Procede et systeme de stockage virtualise d'un ensemble de donnees numeriques
FR0806251 2008-11-10

Publications (1)

Publication Number Publication Date
WO2010052440A1 true WO2010052440A1 (fr) 2010-05-14

Family

ID=40626840

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR2009/052157 WO2010052440A1 (fr) 2008-11-10 2009-11-10 Procede et systeme de stockage virtualise d'un ensemble de donnees numeriques

Country Status (5)

Country Link
US (1) US20110238776A1 (fr)
EP (1) EP2353076A1 (fr)
JP (1) JP2012508411A (fr)
FR (1) FR2938355B1 (fr)
WO (1) WO2010052440A1 (fr)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108804235B (zh) * 2017-04-28 2022-06-03 阿里巴巴集团控股有限公司 数据的分级方法、装置、存储介质和处理器

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006077215A1 (fr) 2005-01-18 2006-07-27 International Business Machines Corporation Procede, dispositif et systeme de stockage de donnees destines a l'optimisation de performances automatique dune affectation de stockage virtualisee dans un sous-systeme de stockage virtualise
EP1840721A2 (fr) * 2006-03-29 2007-10-03 Hitachi, Ltd. Appareil de stockage et procédé d'attribution d'une zone de stockage
EP1903428A2 (fr) * 2006-08-24 2008-03-26 Hitachi, Ltd. Appareil de contrôle de stockage et procédé de contrôle de stockage
US7383381B1 (en) * 2003-02-28 2008-06-03 Sun Microsystems, Inc. Systems and methods for configuring a storage virtualization environment

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6466832B1 (en) * 1998-08-24 2002-10-15 Altec Lansing R & D Center Israel High quality wireless audio speakers
US7373506B2 (en) * 2000-01-21 2008-05-13 Sony Corporation Data authentication system
US7330859B2 (en) * 2003-09-10 2008-02-12 International Business Machines Corporation Database backup system using data and user-defined routines replicators for maintaining a copy of database on a secondary server

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7383381B1 (en) * 2003-02-28 2008-06-03 Sun Microsystems, Inc. Systems and methods for configuring a storage virtualization environment
WO2006077215A1 (fr) 2005-01-18 2006-07-27 International Business Machines Corporation Procede, dispositif et systeme de stockage de donnees destines a l'optimisation de performances automatique dune affectation de stockage virtualisee dans un sous-systeme de stockage virtualise
EP1840721A2 (fr) * 2006-03-29 2007-10-03 Hitachi, Ltd. Appareil de stockage et procédé d'attribution d'une zone de stockage
EP1903428A2 (fr) * 2006-08-24 2008-03-26 Hitachi, Ltd. Appareil de contrôle de stockage et procédé de contrôle de stockage

Also Published As

Publication number Publication date
JP2012508411A (ja) 2012-04-05
FR2938355A1 (fr) 2010-05-14
FR2938355B1 (fr) 2010-11-26
US20110238776A1 (en) 2011-09-29
EP2353076A1 (fr) 2011-08-10

Similar Documents

Publication Publication Date Title
US8694564B2 (en) Method and system for providing on-demand services through a virtual file system at a computing device
US9836244B2 (en) System and method for resource sharing across multi-cloud arrays
US8930423B1 (en) Method and system for restoring encrypted files from a virtual machine image
US20080077622A1 (en) Method of and apparatus for managing data utilizing configurable policies and schedules
US9189493B2 (en) Object file system
WO2006016085A1 (fr) Procede de sauvegarde distribuee sur des postes clients dans un reseau informatique
FR2932289A1 (fr) Procede et systeme de synchronisation de modules logiciels d'un systeme informatique distribue en grappe de serveurs, application au stockage de donnees.
WO2021043599A1 (fr) Migration d'une chaîne de blocs de données
WO2010052440A1 (fr) Procede et systeme de stockage virtualise d'un ensemble de donnees numeriques
EP3506110B1 (fr) Accès multiples à un fichier de données stocké dans un système de stockage de données associé à un espace mémoire tampon
EP3239851B1 (fr) Gestion de l'accès a des données dans un système de stockage
FR3073061B1 (fr) Procede de communication entre processus, programme d’ordinateur et installation informatique correspondants
EP3080968A1 (fr) Procédé de synchronisation de données entre un ensemble de terminaux
FR2938356A1 (fr) Procede et systeme de synchronisation d'un ensemble de modules logiciels d'un systeme informatique distribue en grappe de serveurs
FR3100351A1 (fr) connexion à chaîne de blocs de données
EP4167070A1 (fr) Procédé hybride de stockage d'information numérique et architecture hybride de stockage d'information numérique
Hancock Middleware framework for distributed cloud storage
WO2009047397A2 (fr) Système informatique amélioré comprenant plusieurs noeuds en réseau

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 09768165

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2011535155

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 13128576

Country of ref document: US

Ref document number: 2009768165

Country of ref document: EP