WO2022196104A1 - Information processing device, storage system, information processing method, and information processing program - Google Patents

Information processing device, storage system, information processing method, and information processing program Download PDF

Info

Publication number
WO2022196104A1
WO2022196104A1 PCT/JP2022/002457 JP2022002457W WO2022196104A1 WO 2022196104 A1 WO2022196104 A1 WO 2022196104A1 JP 2022002457 W JP2022002457 W JP 2022002457W WO 2022196104 A1 WO2022196104 A1 WO 2022196104A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
storage nodes
storage
information processing
server
Prior art date
Application number
PCT/JP2022/002457
Other languages
French (fr)
Japanese (ja)
Inventor
豊 大石
理貴 近藤
優子 宇野
美咲 大塚
Original Assignee
富士フイルム株式会社
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 富士フイルム株式会社 filed Critical 富士フイルム株式会社
Priority to JP2023506813A priority Critical patent/JPWO2022196104A1/ja
Publication of WO2022196104A1 publication Critical patent/WO2022196104A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • 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

Definitions

  • the technology disclosed relates to an information processing device, a storage system, an information processing method, and an information processing program.
  • Japanese Patent Laying-Open No. 2019-219954 describes a cluster storage system in which data is synchronized between each node constituting a pair in each of a plurality of sub-cluster pairs.
  • Japanese Patent Application Laid-Open No. 2009-289161 describes that in a node device of a cluster-type storage system in which content is redundantly stored in a plurality of devices, a device to which data is to be written is determined by referring to arrangement information. It is
  • Japanese Patent Application Laid-Open No. 2004-334739 describes a network storage device that distributes and stores original data and backup data of the original data.
  • This device comprises a storage device in which a plurality of logical storage divisions each consisting of a primary area for storing original data and a backup area for storing backup data are set, and a plurality of logical storage divisions associated with other network storage devices.
  • association information storage means for storing association information; primary area writing means for writing original data in a distributed manner to primary areas of a plurality of logical storage divisions; and original data written in the primary areas are associated by association information.
  • backup data transfer means for transferring as backup data to another network storage device connected to the network storage device; and backup area writing means for writing the backup data transferred from the other network storage device to the backup area of the logical storage division associated with the association information. and has.
  • N is an integer of 3 or more
  • M is an integer of 2 or more and M ⁇ N
  • the disclosed technology has been made in view of the above points, and when the same data is stored in some of the plurality of storage nodes, the location of the data stored in the storage nodes is determined.
  • the purpose is to easily grasp the
  • An information processing apparatus includes at least one processor, and transfers the same data to a plurality of some of the three or more storage nodes.
  • the processor performs association processing for associating a virtual storage area that stores data to be transferred with one of a plurality of groups each configured by a plurality of storage nodes that are part of the three or more storage nodes. This is performed for each storage area, and the data to be saved stored in the storage area is transferred to each of the plurality of storage nodes belonging to the group associated with the storage area.
  • the processor may perform association processing so that the number of accommodation areas associated with each of the three or more storage nodes is uniform.
  • the processor may perform the association processing so that the number of storage nodes forming the groups is uniform among the plurality of groups.
  • Three or more storage nodes may be located in different geographical locations.
  • An information processing method is an information processing method for transferring the same data to a plurality of storage nodes, which are a part of three or more storage nodes.
  • a process of associating an accommodation area with one of a plurality of groups respectively constituted by a plurality of some storage nodes out of three or more storage nodes is performed, and data to be transferred accommodated in the accommodation area is processed.
  • at least one processor included in the information processing apparatus executes the process of transferring to each of the plurality of storage nodes belonging to the group associated with the accommodation area.
  • the information processing program selects a virtual storage area that stores data to be transferred from any of a plurality of groups each configured by a plurality of storage nodes that are a part of three or more storage nodes.
  • At least one information processing apparatus having a process of performing association processing to associate with a storage area, and transferring data to be transferred stored in an accommodation area to each of a plurality of storage nodes belonging to a group associated with the accommodation area. It is a program to run on one processor.
  • a storage system includes three or more storage nodes, and stores the same data redundantly in some of the three or more storage nodes.
  • a virtual storage area that stores data to be saved is associated with one of a plurality of groups respectively configured by a plurality of storage nodes that are a part of the three or more storage nodes, and the storage area
  • the storage target data stored in the storage area is stored in each of the plurality of storage nodes belonging to the group associated with the storage area.
  • FIG. 1 is a diagram showing an example of a configuration of a storage system 1 according to an embodiment of technology disclosed herein;
  • FIG. 1 is a diagram illustrating an example of a hardware configuration of an information processing device according to an embodiment of technology disclosed herein;
  • FIG. 1 is a functional block diagram showing an example of a functional configuration of an information processing device according to an embodiment of technology disclosed herein;
  • FIG. 4 is a diagram showing an example of transfer destination designation information according to an embodiment of technology disclosed herein; 4 is a flow chart showing an example of the flow of processing performed by the CPU of the information processing device according to the embodiment of the disclosed technology executing an information processing program.
  • FIG. 5 is a diagram showing another example of transfer destination designation information according to an embodiment of the disclosed technique;
  • FIG. 1 is a diagram showing an example of the configuration of a storage system 1 according to an embodiment of technology disclosed herein.
  • the storage system 1 includes an information processing device 10, a server [1] 20A, a server [2] 20B, and a server [3] 20C.
  • the storage system 1 is connected to user terminals 50 via a network 40 .
  • a user terminal 50 is a computer used by a user who uses the storage system 1 .
  • the storage system 1 stores data for which a storage request has been made by the user terminal 50 . Further, when receiving a data read request from the user terminal 50 , the storage system 1 reads the requested data and transmits it to the user terminal 50 .
  • the storage system 1 may constitute an object storage system that handles data in units of objects.
  • An object includes a data body and metadata about the data body.
  • the server [1] 20A to server [3] 20C each constitute a storage node, and are located in geographical locations different from each other. Data requested to be stored by the user terminal 50 is duplicated by the information processing device 10, and the same data is stored in two servers out of the server [1] 20A to server [3] 20C with redundancy. Saved. In this way, by storing the same data with redundancy in multiple storage nodes located at each site, even if some storage nodes fail, data loss and service disruptions will occur. Stopping can be avoided.
  • the storage system 1 may include four or more servers (storage nodes).
  • the information processing device 10 is connected to each of the servers [1] 20A to [3] 20C.
  • the information processing apparatus 10 performs a process of transferring the same data to some of the servers among the servers [1] 20A to [3] 20C. More specifically, the information processing apparatus 10 duplicates the data to be saved transmitted from the user terminal 50, and stores the same data in two of the servers [1] 20A to [3] 20C. transfer.
  • the information processing apparatus 10 determines two servers to which the same data should be transferred, based on transfer destination designation information 120 (see FIG. 4), which will be described later.
  • FIG. 2 is a diagram showing an example of the hardware configuration of the information processing device 10.
  • the information processing device 10 includes a CPU (Central Processing Unit) 101 , a memory 102 as a temporary storage area, and a storage device 103 .
  • the information processing apparatus 10 also includes a network interface 104 and an external interface 105 that are connected to a network.
  • CPU 101 , memory 102 , storage device 103 , network interface 104 and external interface 105 are connected to bus 106 .
  • the storage device 103 is realized by a non-volatile storage medium such as a HDD (Hard Disk Drive), SSD (Solid State Drive), or flash memory.
  • the storage device 103 stores an information processing program 110 and transfer destination designation information 120 .
  • the CPU 101 reads the information processing program 110 from the storage device 103, develops it in the memory 102, and executes it. Note that the CPU 101 is an example of a processor in technology disclosed herein.
  • Access to the storage system 1 is performed, for example, via a management console displayed on a web browser running on the user terminal 50.
  • the user When storing data in the storage system 1, the user creates a bucket on the management console and arranges the data to be stored in the bucket.
  • a bucket is a virtual storage area that receives data to be saved.
  • a user can create multiple buckets.
  • the data is sent to the storage system 1 by the user arranging data in a bucket on the management console and instructing the data to be uploaded.
  • the data to be saved transmitted from the user terminal 50 is received by the information processing device 10 and saved in the storage system 1 .
  • FIG. 3 is a functional block diagram showing an example of the functional configuration of the information processing device 10.
  • the information processing device 10 includes an association processing section 11 and a transfer processing section 12 .
  • the information processing device 10 functions as the association processing unit 11 and the transfer processing unit 12 .
  • the association processing unit 11 assigns the , perform the matching process to match the created buckets.
  • Each server belonging to the server group associated with the bucket is the transfer destination of the data contained in the bucket.
  • the association processing unit 11 performs the above association processing each time a bucket is created in the user terminal 50 . That is, the association processing unit 11 performs the above-described association processing for each bucket.
  • the association processing unit 11 saves the result of the above association processing in the storage device 103 as the transfer destination designation information 120 .
  • FIG. 4 is a diagram showing an example of the transfer destination designation information 120 stored in the storage device 103 of the information processing device 10.
  • bucket [1] is associated with server group [1] including server [1] 20A and server [2] 20B
  • bucket [2] is associated with server [2].
  • bucket [3] is associated with server group [3] including server [1] 20A and server [3] 20C.
  • It is Buckets [1] to [3] may be created by the same user, or may be created by different users.
  • the association processing unit 11 adds a record to the transfer destination designation information 120 after performing the association processing for the newly created bucket.
  • the association processing unit 11 may perform association processing so that the number of buckets associated with each server is uniform.
  • two buckets are associated with each of server [1] 20A to server [3] 20C.
  • the loads on the servers [1] 20A to [3] 20C can be made uniform.
  • the number of buckets associated with each server may be uneven.
  • the association processing unit 11 may perform association processing so that the number of servers constituting the server groups is uniform among a plurality of server groups.
  • each of server groups [1] to [3] is composed of two servers. In this way, by uniformizing the number of servers constituting a server group, the loads on the servers [1] 20A to [3] 20C can be uniformed. Note that the number of servers forming a server group may be uneven among a plurality of server groups.
  • the data to be saved is sent to the storage system 1 .
  • the data to be saved is accompanied by the identification information of the bucket containing the data.
  • the transfer processing unit 12 receives data to be saved transmitted from the user terminal 50 .
  • the transfer processing unit 12 duplicates the data to be saved, and transfers the same data to two servers among the servers [1] 20A to [3] 20C that are specified based on the transfer destination designation information 120. do. That is, the transfer processing unit 12 transfers data to be stored (transferred) to each of the plurality of servers belonging to the server group associated with the bucket containing the data.
  • the server [1] 20A stores the data transferred from the information processing device 10 in a storage device (not shown) of its own node as, for example, primary data.
  • the server [2] 20B stores the data transferred from the information processing device 10 in a storage device (not shown) provided in its own node as sub data, for example.
  • the original data and sub data are the same data.
  • the transfer processing unit 12 transfers the data to the server [2] 20B and the server [2] 20B belonging to the server group [2] associated with the bucket [2]. Forward to each of Server[3] 20C. Further, when the transfer processing unit 12 receives the data to be stored stored in the bucket [3], the transfer processing unit 12 transfers the data to the server [1] 20A and the server [1] 20A belonging to the server group [3] associated with the bucket [3]. Forward to each of Server[3] 20C. In this way, the transfer processing unit 12 transfers the data to be saved to each of the plurality of servers belonging to the server group associated with the bucket containing the data, thereby making the data to be saved redundant. is stored with
  • FIG. 5 is a flowchart showing an example of the flow of processing executed by the CPU 101 executing the information processing program 110. As shown in FIG. The information processing program 110 is repeatedly executed, for example, every predetermined period (for example, several minutes). It is assumed that transfer destination designation information 120 is saved in the storage device 103 .
  • step S1 the association processing unit 11 determines whether or not a new bucket has been created in the user terminal 50.
  • bucket creation information indicating that the bucket has been created is transmitted to the information processing device 10 .
  • the association processing unit 11 determines that a new bucket has been created in the user terminal 50, and shifts the process to step S2.
  • step S2 the association processing unit 11 performs association processing for associating the newly created bucket with the server group.
  • the association processing unit 11 predefines and organizes three server groups [1] to [3] as illustrated in FIG. 4, and among the three server groups [1] to [3], One server group selected according to a predetermined order may be associated with the newly created bucket.
  • step S3 the association processing unit 11 adds the result of the association processing in step S2 to the transfer destination designation information 120 stored in the storage device 103.
  • step S4 the transfer processing unit 12 determines whether or not the data to be saved transmitted from the user terminal 50 has been received. When the transfer processing unit 12 determines that the data to be saved has been received, the process proceeds to step S5.
  • step S5 the transfer processing unit 12 duplicates the data to be saved received in step S4.
  • step S6 the transfer processing unit 12 identifies the bucket that contains the data to be saved received in step S4.
  • the data to be saved is accompanied by the identification information of the bucket containing the data.
  • the transfer processing unit 12 refers to this identification information to identify the bucket that stores the data to be saved.
  • step S7 the transfer processing unit 12 refers to the transfer destination designation information 120 to identify a plurality of servers belonging to the server group associated with the bucket identified in step S6, and The same data is transferred to each.
  • steps S1 to S3 performed by the association processing unit 11 and the processing of steps S4 to S7 performed by the transfer processing unit 12 are performed in parallel.
  • the storage system 1 includes three or more storage nodes, and stores the same data in some of the three or more storage nodes with redundancy. and save.
  • a bucket which is a virtual storage area that stores data to be saved, is associated with one of a plurality of storage groups each configured by a portion of a plurality of storage nodes out of three or more storage nodes. Data to be stored in a bucket is stored in each of the plurality of storage nodes belonging to the storage group associated with the bucket.
  • M storage nodes (M is an integer of 2 or more and M ⁇ N) form a storage group. If the same data is stored in M storage nodes inside, it becomes difficult to grasp which data is stored in which storage node.
  • a storage group configured by a plurality of storage nodes storing the same data is associated with a bucket containing the data. It is possible to easily grasp the location of the data.
  • FIG. 6 is a diagram showing another example of the transfer destination designation information 120 stored in the storage device 103 of the information processing device 10.
  • the transfer destination designation information 120 shown in FIG. 6 illustrates a case where the storage node has four servers and the same data is transferred to three of them.
  • bucket [1] is associated with server group [1] composed of servers [1], [2], and [3]
  • bucket [2] is associated with server [ 1]
  • [2] and [4] are associated with server group [2]
  • bucket [3] is associated with server group [3], which is configured with servers [1], [3] and [4].
  • bucket [4] is associated with server group [4] composed of servers [2], [3], and [4].
  • the transfer processing unit 12 when receiving data to be saved contained in bucket [1], stores the data in bucket [1]. 1] to each of the servers [1], [2], and [3] belonging to the server group [1] associated with [1].
  • the server [1] saves the data transferred from the information processing device 10, for example, as primary data in the storage device of its own node.
  • the server [2] stores the data transferred from the information processing device 10 in the storage device of its own node, for example, as sub data.
  • the server [3] stores the data transferred from the information processing device 10 in the storage device of its own node, for example, as preliminary data.
  • the original data, the sub data and the spare data are the same data.
  • the hardware structure of the processing unit that executes various processes includes the following various processors.
  • the various processors include, in addition to the CPU, which is a general-purpose processor that executes software (programs) and functions as various processing units, a processor such as an FPGA whose circuit configuration can be changed after manufacture.
  • One processing unit may be composed of one of these various processors, or a combination of two or more processors of the same type or different types (for example, a combination of multiple FPGAs, a combination of a CPU and an FPGA). combination). Also, a plurality of processing units may be configured by one processor.
  • a single processor is configured by combining one or more CPUs and software.
  • a processor functions as multiple processing units.
  • SoC System on Chip
  • the various processing units are configured using one or more of the above various processors as a hardware structure.
  • an electric circuit combining circuit elements such as semiconductor elements can be used.
  • the information processing program 110 has been pre-stored (installed) in the storage device 103, but the present invention is not limited to this.
  • the information processing program 110 is provided in a form recorded on a recording medium such as a CD-ROM (Compact Disc Read Only Memory), a DVD-ROM (Digital Versatile Disc Read Only Memory), and a USB (Universal Serial Bus) memory. good too. Further, the information processing program 110 may be downloaded from an external device via a network.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

This information processing device is provided with at least one processor and transfers the same data to some of a plurality of storage nodes among three or more storage nodes. The processor performs, for each accommodation area, a mapping process of mapping a virtual accommodation area that accommodates the data to be transferred to one of a plurality of groups, each of which is constituted by some of the plurality of storage nodes among the three or more storage nodes, and transfers the data to be preserved that is accommodated in an accommodation area to each of the plurality of storage nodes that belongs to the group mapped to the accommodation area.

Description

情報処理装置、ストレージシステム、情報処理方法、及び情報処理プログラムInformation processing device, storage system, information processing method, and information processing program
 開示の技術は、情報処理装置、ストレージシステム、情報処理方法、及び情報処理プログラムに関する。 The technology disclosed relates to an information processing device, a storage system, an information processing method, and an information processing program.
 複数のストレージのノードに同一のデータを、冗長性を持たせて保存する技術として、以下の技術が知られている。例えば特開2019-219954号公報には、複数のサブクラスタペアのそれぞれにおいて、ペアを構成する各ノード間でデータが同期されるクラスタストレージシステムが記載されている。 The following technologies are known as technologies for saving the same data in multiple storage nodes with redundancy. For example, Japanese Patent Laying-Open No. 2019-219954 describes a cluster storage system in which data is synchronized between each node constituting a pair in each of a plurality of sub-cluster pairs.
 特開2009-289161号公報には、コンテンツを複数のデバイスに冗長化して保存するクラスタ型ストレージシステムのノード装置において、データの書き込み先となるデバイスを、配置情報を参照して決定することが記載されている。 Japanese Patent Application Laid-Open No. 2009-289161 describes that in a node device of a cluster-type storage system in which content is redundantly stored in a plurality of devices, a device to which data is to be written is determined by referring to arrangement information. It is
 特開2004-334739号公報には、原データとその原データのバックアップデータとを分散させて蓄積するネットワーク蓄積装置が記載されている。この装置は、原データを記憶するプライマリ領域と、バックアップデータを記憶するバックアップ領域とからなる複数の論理記憶区分を設定した蓄積装置と、複数の論理記憶区分と他のネットワーク蓄積装置とを関連付けた関連付け情報を記憶した関連付け情報記憶手段と、原データを、複数の論理記憶区分のプライマリ領域に分散して書き込むプライマリ領域書き込み手段と、プライマリ領域に書き込まれた原データを、関連付け情報で関連付けられている他のネットワーク蓄積装置にバックアップデータとして転送するバックアップデータ転送手段と、他のネットワーク蓄積装置から転送されるバックアップデータを、関連付け情報で関連付けられている論理記憶区分のバックアップ領域に書き込むバックアップ領域書き込み手段と、を備えている。 Japanese Patent Application Laid-Open No. 2004-334739 describes a network storage device that distributes and stores original data and backup data of the original data. This device comprises a storage device in which a plurality of logical storage divisions each consisting of a primary area for storing original data and a backup area for storing backup data are set, and a plurality of logical storage divisions associated with other network storage devices. association information storage means for storing association information; primary area writing means for writing original data in a distributed manner to primary areas of a plurality of logical storage divisions; and original data written in the primary areas are associated by association information. backup data transfer means for transferring as backup data to another network storage device connected to the network storage device; and backup area writing means for writing the backup data transferred from the other network storage device to the backup area of the logical storage division associated with the association information. and has.
 ストレージシステムにおいては、障害発生時におけるデータの消失及びサービス停止のリスクを低減するために、複数のストレージノードを互いに異なる地理的位置に配置し、各拠点に配置された複数のストレージノードに同一のデータを、冗長性を持たせて保存することが行われる。データの消失リスクを最小化するためには、複数の拠点に配置された全てのストレージノードに同一のデータを保存することが好ましい。しかしながら、この場合、高コストになってしまう。 In the storage system, in order to reduce the risk of data loss and service outage in the event of a failure, multiple storage nodes are placed in different geographical locations, and the same storage nodes are installed at each location. Data is stored with redundancy. In order to minimize the risk of data loss, it is preferable to store the same data in all storage nodes located at multiple bases. However, in this case, the cost becomes high.
 そこで、例えば、N台(Nは3以上の整数)のストレージノードを備えたシステムにおいて、M台(Mは2以上の整数であり且つM<N)のストレージノードによってグループを形成し、グループ内のM台のストレージノードに同一のデータを保存することが考えられる。ストレージシステム内において、グループを構成するストレージノードの組み合わせが互いに異なる複数のグループが形成され、あるグループに属するストレージノードは、他のグループに属することも想定される。この場合、どのストレージノードにどのデータが保存されているかを把握することが困難となる。 Therefore, for example, in a system having N storage nodes (N is an integer of 3 or more), a group is formed by M storage nodes (M is an integer of 2 or more and M<N). It is conceivable to store the same data in M storage nodes. In the storage system, it is assumed that a plurality of groups with different combinations of storage nodes forming the groups are formed, and storage nodes belonging to one group belong to another group. In this case, it becomes difficult to grasp which data is stored in which storage node.
 開示の技術は、上記した点に鑑みてなされたものであり、複数のストレージノードのうちの一部の複数のストレージノードに同一のデータを保存する場合において、ストレージノードに保存されたデータの所在を簡便に把握することを目的とする。 The disclosed technology has been made in view of the above points, and when the same data is stored in some of the plurality of storage nodes, the location of the data stored in the storage nodes is determined. The purpose is to easily grasp the
 開示の技術に係る情報処理装置は、少なくとも1つのプロセッサを備え、3台以上のストレージノードのうちの一部の複数のストレージノードに同一のデータを転送する。プロセッサは、転送対象のデータを収容する仮想的な収容領域を、3台以上のストレージノードのうちの一部の複数のストレージノードによってそれぞれ構成される複数のグループのいずれかに対応付ける対応付け処理を収容領域毎に行い、収容領域に収容された保存対象のデータを、当該収容領域に対応付けられたグループに属する複数のストレージノードの各々に転送する。 An information processing apparatus according to the disclosed technology includes at least one processor, and transfers the same data to a plurality of some of the three or more storage nodes. The processor performs association processing for associating a virtual storage area that stores data to be transferred with one of a plurality of groups each configured by a plurality of storage nodes that are part of the three or more storage nodes. This is performed for each storage area, and the data to be saved stored in the storage area is transferred to each of the plurality of storage nodes belonging to the group associated with the storage area.
 プロセッサは、3台以上のストレージノードの各々に対応付けられる収容領域の数が均一となるように対応付け処理を行ってもよい。プロセッサは、複数のグループ間おいて、グループを構成するストレージノードの数が均一となるように対応付け処理を行ってもよい。3台以上のストレージノードは、互いに異なる地理的位置に配置されていてもよい。 The processor may perform association processing so that the number of accommodation areas associated with each of the three or more storage nodes is uniform. The processor may perform the association processing so that the number of storage nodes forming the groups is uniform among the plurality of groups. Three or more storage nodes may be located in different geographical locations.
 開示の技術に係る情報処理方法は、3台以上のストレージノードのうちの一部の複数のストレージノードに同一のデータを転送する情報処理方法であって、転送対象のデータを収容する仮想的な収容領域を、3台以上のストレージノードのうちの一部の複数のストレージノードによってそれぞれ構成される複数のグループのいずれかに対応付ける対応付け処理を行い、収容領域に収容された転送対象のデータを、当該収容領域に対応付けられたグループに属する複数のストレージノードの各々に転送する処理を情報処理装置が備える少なくとも1つのプロセッサが実行する、というものである。 An information processing method according to the technology disclosed herein is an information processing method for transferring the same data to a plurality of storage nodes, which are a part of three or more storage nodes. A process of associating an accommodation area with one of a plurality of groups respectively constituted by a plurality of some storage nodes out of three or more storage nodes is performed, and data to be transferred accommodated in the accommodation area is processed. , at least one processor included in the information processing apparatus executes the process of transferring to each of the plurality of storage nodes belonging to the group associated with the accommodation area.
 開示の技術に係る情報処理プログラムは、転送対象のデータを収容する仮想的な収容領域を、3台以上のストレージノードのうちの一部の複数のストレージノードによってそれぞれ構成される複数のグループのいずれかに対応付ける対応付け処理を行い、収容領域に収容された転送対象のデータを、当該収容領域に対応付けられたグループに属する複数のストレージノードの各々に転送する処理を情報処理装置が備える少なくとも1つのプロセッサに実行させるためのプログラムである。 The information processing program according to the disclosed technique selects a virtual storage area that stores data to be transferred from any of a plurality of groups each configured by a plurality of storage nodes that are a part of three or more storage nodes. At least one information processing apparatus having a process of performing association processing to associate with a storage area, and transferring data to be transferred stored in an accommodation area to each of a plurality of storage nodes belonging to a group associated with the accommodation area. It is a program to run on one processor.
 開示の技術に係るストレージシステムは、3台以上のストレージノードを備え、3台以上のストレージノードのうちの一部の複数のストレージノードに同一のデータを、冗長性を持たせて保存する。保存対象のデータを収容する仮想的な収容領域が、3台以上のストレージノードのうちの一部の複数のストレージノードによってそれぞれ構成される複数のグループのいずれかに対応付けられており、収容領域に収容された保存対象のデータが、当該収容領域に対応付けられたグループに属する複数のストレージノードの各々に保存される。 A storage system according to the disclosed technology includes three or more storage nodes, and stores the same data redundantly in some of the three or more storage nodes. A virtual storage area that stores data to be saved is associated with one of a plurality of groups respectively configured by a plurality of storage nodes that are a part of the three or more storage nodes, and the storage area The storage target data stored in the storage area is stored in each of the plurality of storage nodes belonging to the group associated with the storage area.
 開示の技術によれば、複数のストレージノードのうちの一部の複数のストレージノードに同一のデータを保存する場合において、ストレージノードに保存されたデータの所在を簡便に把握することが可能となる。 According to the disclosed technique, when storing the same data in some of the plurality of storage nodes, it is possible to easily ascertain the location of the data stored in the storage nodes. .
開示の技術の実施形態に係るストレージシステム1の構成の一例を示す図である。1 is a diagram showing an example of a configuration of a storage system 1 according to an embodiment of technology disclosed herein; FIG. 開示の技術の実施形態に係る情報処理装置のハードウェア構成の一例を示す図である。1 is a diagram illustrating an example of a hardware configuration of an information processing device according to an embodiment of technology disclosed herein; FIG. 開示の技術の実施形態に係る情報処理装置の機能的な構成の一例を示す機能ブロック図である。1 is a functional block diagram showing an example of a functional configuration of an information processing device according to an embodiment of technology disclosed herein; FIG. 開示の技術の実施形態に係る転送先指定情報の一例を示す図である。FIG. 4 is a diagram showing an example of transfer destination designation information according to an embodiment of technology disclosed herein; 開示の技術の実施形態に係る情報処理装置のCPUが、情報処理プログラムを実行することによって実施される処理の流れの一例を示すフローチャートである。4 is a flow chart showing an example of the flow of processing performed by the CPU of the information processing device according to the embodiment of the disclosed technology executing an information processing program. 開示の技術の実施形態に係る転送先指定情報の他の例を示す図である。FIG. 5 is a diagram showing another example of transfer destination designation information according to an embodiment of the disclosed technique;
 以下、開示の技術の実施形態の一例を、図面を参照しつつ説明する。なお、各図面において同一または等価な構成要素及び部分には同一の参照符号を付与し、重複する説明は省略する。 An example of an embodiment of the disclosed technology will be described below with reference to the drawings. In each drawing, the same or equivalent constituent elements and parts are given the same reference numerals, and overlapping descriptions are omitted.
 図1は、開示の技術の実施形態に係るストレージシステム1の構成の一例を示す図である。ストレージシステム1は、情報処理装置10及びサーバ[1]20A、サーバ[2]20B、サーバ[3]20Cを含んで構成されている。ストレージシステム1は、ネットワーク40を介してユーザ端末50に接続されている。ユーザ端末50は、ストレージシステム1を利用するユーザによって使用されるコンピュータである。ストレージシステム1は、ユーザ端末50から保存要求があったデータを保存する。また、ストレージシステム1は、ユーザ端末50からデータの読み出し要求があった場合、要求されたデータを読み出してユーザ端末50に送信する。なお、ストレージシステム1は、データをオブジェクト単位で扱うオブジェクトストレージシステムを構成するものであってもよい。オブジェクトは、データ本体と、データ本体に関するメタデータとを含んで構成される。 FIG. 1 is a diagram showing an example of the configuration of a storage system 1 according to an embodiment of technology disclosed herein. The storage system 1 includes an information processing device 10, a server [1] 20A, a server [2] 20B, and a server [3] 20C. The storage system 1 is connected to user terminals 50 via a network 40 . A user terminal 50 is a computer used by a user who uses the storage system 1 . The storage system 1 stores data for which a storage request has been made by the user terminal 50 . Further, when receiving a data read request from the user terminal 50 , the storage system 1 reads the requested data and transmits it to the user terminal 50 . Note that the storage system 1 may constitute an object storage system that handles data in units of objects. An object includes a data body and metadata about the data body.
 サーバ[1]20A~サーバ[3]20Cは、それぞれ、ストレージノードを構成するものであり、互いに異なる地理的位置に配置されている。ユーザ端末50から保存要求があったデータは、情報処理装置10によって複製され、同一のデータが、冗長性を有してサーバ[1]20A~サーバ[3]20Cのうちの2台のサーバに保存される。このように、各拠点に配置された複数のストレージノードに同一のデータを、冗長性を持たせて保存することで、一部のストレージノードに障害が発生した場合でも、データの消失及びサービスの停止を回避することができる。なお、ストレージシステム1は、4台以上のサーバ(ストレージノード)を備えていてもよい。 The server [1] 20A to server [3] 20C each constitute a storage node, and are located in geographical locations different from each other. Data requested to be stored by the user terminal 50 is duplicated by the information processing device 10, and the same data is stored in two servers out of the server [1] 20A to server [3] 20C with redundancy. Saved. In this way, by storing the same data with redundancy in multiple storage nodes located at each site, even if some storage nodes fail, data loss and service disruptions will occur. Stopping can be avoided. Note that the storage system 1 may include four or more servers (storage nodes).
 情報処理装置10は、サーバ[1]20A~サーバ[3]20Cの各々に接続されている。情報処理装置10は、サーバ[1]20A~サーバ[3]20Cのうちの一部の複数のサーバに同一のデータを転送する処理を行う。より具体的には、情報処理装置10は、ユーザ端末50から送信された保存対象のデータを複製し、サーバ[1]20A~サーバ[3]20Cのうちの2台のサーバに、同一のデータを転送する。情報処理装置10は、同一のデータを転送すべき2台のサーバを、後述する転送先指定情報120(図4参照)に基づいて定める。 The information processing device 10 is connected to each of the servers [1] 20A to [3] 20C. The information processing apparatus 10 performs a process of transferring the same data to some of the servers among the servers [1] 20A to [3] 20C. More specifically, the information processing apparatus 10 duplicates the data to be saved transmitted from the user terminal 50, and stores the same data in two of the servers [1] 20A to [3] 20C. transfer. The information processing apparatus 10 determines two servers to which the same data should be transferred, based on transfer destination designation information 120 (see FIG. 4), which will be described later.
 図2は、情報処理装置10のハードウェア構成の一例を示す図である。情報処理装置10は、CPU(Central Processing Unit)101、一時記憶領域としてのメモリ102及び記憶装置103を含む。また、情報処理装置10は、ネットワークに接続されるネットワークインターフェース104及び外部インターフェース105を含む。CPU101、メモリ102、記憶装置103、ネットワークインターフェース104及び外部インターフェース105はバス106に接続される。 FIG. 2 is a diagram showing an example of the hardware configuration of the information processing device 10. As shown in FIG. The information processing device 10 includes a CPU (Central Processing Unit) 101 , a memory 102 as a temporary storage area, and a storage device 103 . The information processing apparatus 10 also includes a network interface 104 and an external interface 105 that are connected to a network. CPU 101 , memory 102 , storage device 103 , network interface 104 and external interface 105 are connected to bus 106 .
 記憶装置103は、HDD(Hard Disk Drive)、SSD(Solid State Drive)、又はフラッシュメモリ等の不揮発性の記憶媒体によって実現される。記憶装置103には、情報処理プログラム110及び転送先指定情報120が記憶される。CPU101は、情報処理プログラム110を記憶装置103から読み出し、メモリ102に展開し、実行する。なお、CPU101は、開示の技術におけるプロセッサの一例である。 The storage device 103 is realized by a non-volatile storage medium such as a HDD (Hard Disk Drive), SSD (Solid State Drive), or flash memory. The storage device 103 stores an information processing program 110 and transfer destination designation information 120 . The CPU 101 reads the information processing program 110 from the storage device 103, develops it in the memory 102, and executes it. Note that the CPU 101 is an example of a processor in technology disclosed herein.
 ストレージシステム1へのアクセスは、例えば、ユーザ端末50上で動作するウェブブラウザ上に表示される管理コンソールを介して行う。ユーザは、ストレージシステム1にデータを保存する場合、管理コンソール上でバケットを作成し、バケット内に保存対象のデータを配置する。バケットとは、保存対象のデータを受け入れる仮想的な収容領域である。ユーザは、複数のバケットを作成することが可能である。ユーザが、管理コンソール上で、データをバケット内に配置し、データのアップロードを指示することで、そのデータがストレージシステム1に送信される。ユーザ端末50から送信された保存対象のデータは、情報処理装置10によって受け付けられ、ストレージシステム1に保存される。 Access to the storage system 1 is performed, for example, via a management console displayed on a web browser running on the user terminal 50. When storing data in the storage system 1, the user creates a bucket on the management console and arranges the data to be stored in the bucket. A bucket is a virtual storage area that receives data to be saved. A user can create multiple buckets. The data is sent to the storage system 1 by the user arranging data in a bucket on the management console and instructing the data to be uploaded. The data to be saved transmitted from the user terminal 50 is received by the information processing device 10 and saved in the storage system 1 .
 図3は、情報処理装置10の機能的な構成の一例を示す機能ブロック図である。図3に示すように、情報処理装置10は、対応付け処理部11及び転送処理部12を含む。CPU101が情報処理プログラム110を実行することにより、情報処理装置10は、対応付け処理部11及び転送処理部12として機能する。 FIG. 3 is a functional block diagram showing an example of the functional configuration of the information processing device 10. As shown in FIG. As shown in FIG. 3 , the information processing device 10 includes an association processing section 11 and a transfer processing section 12 . By executing the information processing program 110 by the CPU 101 , the information processing device 10 functions as the association processing unit 11 and the transfer processing unit 12 .
 対応付け処理部11は、ユーザ端末50において新たにバケットが作成されると、サーバ[1]20A~サーバ[3]20Cのうちの2台のサーバを含んで構成されるサーバグループのいずれかに、作成されたバケットを対応付ける対応付け処理を行う。バケットに対応付けられたサーバグループに属する各サーバは、当該バケットに収容されたデータの転送先となる。対応付け処理部11は、ユーザ端末50においてバケットが作成される度に上記の対応付け処理を行う。すなわち、対応付け処理部11は、上記の対応付け処理をバケット毎に行う。対応付け処理部11は、上記の対応付け処理の結果を転送先指定情報120として記憶装置103に保存する。 When a new bucket is created in the user terminal 50, the association processing unit 11 assigns the , perform the matching process to match the created buckets. Each server belonging to the server group associated with the bucket is the transfer destination of the data contained in the bucket. The association processing unit 11 performs the above association processing each time a bucket is created in the user terminal 50 . That is, the association processing unit 11 performs the above-described association processing for each bucket. The association processing unit 11 saves the result of the above association processing in the storage device 103 as the transfer destination designation information 120 .
 図4は、情報処理装置10の記憶装置103に保存される転送先指定情報120の一例を示す図である。図4に例示する転送先指定情報120において、バケット[1]にサーバ[1]20A及びサーバ[2]20Bによって構成されるサーバグループ[1]が対応付けられ、バケット[2]にサーバ[2]20B及びサーバ[3]20Cによって構成されるサーバグループ[2]が対応付けられ、バケット[3]にサーバ[1]20A及びサーバ[3]20Cによって構成されるサーバグループ[3]が対応付けられている。なお、バケット[1]~[3]は、同一のユーザによって作成されたものであってもよいし、互いに異なるユーザによって作成されたものであってもよい。対応付け処理部11は、新たに作成されたバケットについて対応付け処理を行うと、転送先指定情報120にレコードを追加する。 FIG. 4 is a diagram showing an example of the transfer destination designation information 120 stored in the storage device 103 of the information processing device 10. As shown in FIG. In the transfer destination designation information 120 illustrated in FIG. 4, bucket [1] is associated with server group [1] including server [1] 20A and server [2] 20B, and bucket [2] is associated with server [2]. ] 20B and server [3] 20C, and bucket [3] is associated with server group [3] including server [1] 20A and server [3] 20C. It is Buckets [1] to [3] may be created by the same user, or may be created by different users. The association processing unit 11 adds a record to the transfer destination designation information 120 after performing the association processing for the newly created bucket.
 対応付け処理部11は、図4に例示するように、各サーバに対応付けられるバケットの数が均一となるように対応付け処理を行ってもよい。図4に示す例では、サーバ[1]20A~サーバ[3]20Cには、それぞれ2つのバケットが対応付けられている。このように、各サーバに対応付けられるバケットの数を均一とすることで、サーバ[1]20A~サーバ[3]20Cの負荷を均一にすることができる。なお、各サーバに対応付けられるバケットの数は不均一であってもよい。 As illustrated in FIG. 4, the association processing unit 11 may perform association processing so that the number of buckets associated with each server is uniform. In the example shown in FIG. 4, two buckets are associated with each of server [1] 20A to server [3] 20C. By making the number of buckets associated with each server uniform in this way, the loads on the servers [1] 20A to [3] 20C can be made uniform. Note that the number of buckets associated with each server may be uneven.
 また、対応付け処理部11は、複数のサーバグループ間において、サーバグループを構成するサーバの数が均一となるように対応付け処理を行ってもよい。図4に示す例では、サーバグループ[1]~[3]は、それぞれ2台のサーバによって構成されている。このように、サーバグループを構成するサーバの数を均一とすることで、サーバ[1]20A~サーバ[3]20Cの負荷を均一にすることができる。なお、複数のサーバグループ間において、サーバグループを構成するサーバの数が不均一であってもよい。 Further, the association processing unit 11 may perform association processing so that the number of servers constituting the server groups is uniform among a plurality of server groups. In the example shown in FIG. 4, each of server groups [1] to [3] is composed of two servers. In this way, by uniformizing the number of servers constituting a server group, the loads on the servers [1] 20A to [3] 20C can be uniformed. Note that the number of servers forming a server group may be uneven among a plurality of server groups.
 上記したように、ユーザがバケット内に保存対象のデータを配置してアップロードを指示すると、保存対象のデータがストレージシステム1に送信される。保存対象のデータには、そのデータを収容するバケットの識別情報が付随している。転送処理部12は、ユーザ端末50から送信された保存対象のデータを受け付ける。転送処理部12は、保存対象のデータを複製し、サーバ[1]20A~サーバ[3]20Cのうち、転送先指定情報120に基づいて特定される2台のサーバに、同一のデータを転送する。すなわち、転送処理部12は、保存対象(転送対象)のデータを、そのデータが収容されたバケットに対応付けられたサーバグループに属する複数のサーバの各々に転送する。 As described above, when the user arranges the data to be saved in the bucket and instructs to upload it, the data to be saved is sent to the storage system 1 . The data to be saved is accompanied by the identification information of the bucket containing the data. The transfer processing unit 12 receives data to be saved transmitted from the user terminal 50 . The transfer processing unit 12 duplicates the data to be saved, and transfers the same data to two servers among the servers [1] 20A to [3] 20C that are specified based on the transfer destination designation information 120. do. That is, the transfer processing unit 12 transfers data to be stored (transferred) to each of the plurality of servers belonging to the server group associated with the bucket containing the data.
 例えば、図4に例示する転送先指定情報120が記憶装置103に保存されている場合において、転送処理部12は、バケット[1]に収容された保存対象のデータを受信した場合、当該データをバケット[1]に対応付けられたサーバグループ[1]に属するサーバ[1]20A及びサーバ[2]20Bの各々に転送する。サーバ[1]20Aは、情報処理装置10から転送されたデータを、例えば正データとして自ノードが備える記憶装置(図示せず)に保存する。サーバ[2]20Bは、情報処理装置10から転送されたデータを、例えば副データとして自ノードが備える記憶装置(図示せず)に保存する。正データと副データは、同じデータである。 For example, when the transfer destination designation information 120 illustrated in FIG. Transfer to each of server [1] 20A and server [2] 20B belonging to server group [1] associated with bucket [1]. The server [1] 20A stores the data transferred from the information processing device 10 in a storage device (not shown) of its own node as, for example, primary data. The server [2] 20B stores the data transferred from the information processing device 10 in a storage device (not shown) provided in its own node as sub data, for example. The original data and sub data are the same data.
 また、転送処理部12は、バケット[2]に収容された保存対象のデータを受信した場合、当該データをバケット[2]に対応付けられたサーバグループ[2]に属するサーバ[2]20B及びサーバ[3]20Cの各々に転送する。また、転送処理部12は、バケット[3]に収容された保存対象のデータを受信した場合、当該データをバケット[3]に対応付けられたサーバグループ[3]に属するサーバ[1]20A及びサーバ[3]20Cの各々に転送する。このように、転送処理部12が、保存対象のデータを、そのデータが収容されたバケットに対応付けられたサーバグループに属する複数のサーバの各々に転送することで、保存対象のデータが冗長性を有して保存される。 Further, when the transfer processing unit 12 receives the data to be stored stored in the bucket [2], the transfer processing unit 12 transfers the data to the server [2] 20B and the server [2] 20B belonging to the server group [2] associated with the bucket [2]. Forward to each of Server[3] 20C. Further, when the transfer processing unit 12 receives the data to be stored stored in the bucket [3], the transfer processing unit 12 transfers the data to the server [1] 20A and the server [1] 20A belonging to the server group [3] associated with the bucket [3]. Forward to each of Server[3] 20C. In this way, the transfer processing unit 12 transfers the data to be saved to each of the plurality of servers belonging to the server group associated with the bucket containing the data, thereby making the data to be saved redundant. is stored with
 以下に、情報処理装置10の作用について説明する。図5は、CPU101が、情報処理プログラム110を実行することによって実施される処理の流れの一例を示すフローチャートである。情報処理プログラム110は、例えば、所定期間(例えば数分)毎に繰り返し実行される。なお、記憶装置103には、転送先指定情報120が保存されているものとする。 The operation of the information processing device 10 will be described below. FIG. 5 is a flowchart showing an example of the flow of processing executed by the CPU 101 executing the information processing program 110. As shown in FIG. The information processing program 110 is repeatedly executed, for example, every predetermined period (for example, several minutes). It is assumed that transfer destination designation information 120 is saved in the storage device 103 .
 ステップS1において、対応付け処理部11は、ユーザ端末50において新たにバケットが作成されたか否かを判断する。ユーザ端末50においてバケットが新たに作成されると、バケットが作成されたことを示すバケット作成情報が情報処理装置10に送信される。対応付け処理部11は、バケット作成情報を受信するとユーザ端末50において新たにバケットが作成されたものと判断し、処理をステップS2に移行する。 In step S1, the association processing unit 11 determines whether or not a new bucket has been created in the user terminal 50. When a new bucket is created in the user terminal 50 , bucket creation information indicating that the bucket has been created is transmitted to the information processing device 10 . Upon receiving the bucket creation information, the association processing unit 11 determines that a new bucket has been created in the user terminal 50, and shifts the process to step S2.
 ステップS2において、対応付け処理部11は、新たに作成されたバケットについて、サーバグループを対応付ける対応付け処理を行う。対応付け処理部11は、例えば、図4に例示されるような3つのサーバグループ[1]~[3]を予め定め編成しておき、3つのサーバグループ[1]~[3]のうち、予め定められた順序に従って選択される1つのサーバグループを、新たに作成されたバケットに対応付けてもよい。 In step S2, the association processing unit 11 performs association processing for associating the newly created bucket with the server group. For example, the association processing unit 11 predefines and organizes three server groups [1] to [3] as illustrated in FIG. 4, and among the three server groups [1] to [3], One server group selected according to a predetermined order may be associated with the newly created bucket.
 ステップS3において、対応付け処理部11は、ステップS2における対応付け処理の結果を、記憶装置103の保存されている転送先指定情報120に追加する。 In step S3, the association processing unit 11 adds the result of the association processing in step S2 to the transfer destination designation information 120 stored in the storage device 103.
 ステップS4において、転送処理部12は、ユーザ端末50から送信された保存対象のデータを受信したか否かを判断する。転送処理部12は、保存対象のデータを受信したものと判断すると処理をステップS5に移行する。 In step S4, the transfer processing unit 12 determines whether or not the data to be saved transmitted from the user terminal 50 has been received. When the transfer processing unit 12 determines that the data to be saved has been received, the process proceeds to step S5.
 ステップS5において、転送処理部12は、ステップS4において受信した保存対象のデータを複製する。 In step S5, the transfer processing unit 12 duplicates the data to be saved received in step S4.
 ステップS6において、転送処理部12は、ステップS4において受信した保存対象のデータを収容するバケットを特定する。保存対象のデータには、そのデータを収容するバケットの識別情報が付随している。転送処理部12は、この識別情報を参照することで、保存対象のデータを収容するバケットを特定する。 In step S6, the transfer processing unit 12 identifies the bucket that contains the data to be saved received in step S4. The data to be saved is accompanied by the identification information of the bucket containing the data. The transfer processing unit 12 refers to this identification information to identify the bucket that stores the data to be saved.
 ステップS7において、転送処理部12は、転送先指定情報120を参照することで、ステップS6において特定されたバケットに対応付けられたサーバグループに属する複数のサーバを特定し、特定した複数のサーバの各々に、同一のデータを転送する。 In step S7, the transfer processing unit 12 refers to the transfer destination designation information 120 to identify a plurality of servers belonging to the server group associated with the bucket identified in step S6, and The same data is transferred to each.
 なお、対応付け処理部11によって実施されるステップS1~S3の処理と、転送処理部12によって実施されるステップS4~S7の処理は、並行して行われる。 The processing of steps S1 to S3 performed by the association processing unit 11 and the processing of steps S4 to S7 performed by the transfer processing unit 12 are performed in parallel.
 以上のように、本実施形態に係るストレージシステム1は、3台以上のストレージノードを備え、3台以上のストレージノードのうちの一部の複数のストレージノードに同一のデータを、冗長性を持たせて保存する。保存対象のデータを収容する仮想的な収容領域であるバケットが、3台以上のストレージノードのうちの一部の複数のストレージノードによってそれぞれ構成される複数のストレージグループのいずれかに対応付けられており、バケットに収容された保存対象のデータが、当該バケットに対応付けられたストレージグループに属する複数のストレージノードの各々に保存される。 As described above, the storage system 1 according to this embodiment includes three or more storage nodes, and stores the same data in some of the three or more storage nodes with redundancy. and save. A bucket, which is a virtual storage area that stores data to be saved, is associated with one of a plurality of storage groups each configured by a portion of a plurality of storage nodes out of three or more storage nodes. Data to be stored in a bucket is stored in each of the plurality of storage nodes belonging to the storage group associated with the bucket.
 ここで、N台(Nは3以上の整数)のストレージノードを備えたシステムにおいて、M台(Mは2以上の整数であり且つM<N)のストレージノードによってストレージグループを形成し、ストレージグループ内のM台のストレージノードに同一のデータを保存する場合、どのストレージノードにどのデータが保存されているかを把握することが困難となる。本実施形態に係るストレージシステム1によれば、同一のデータが保存される複数のストレージノードによって構成されるストレージグループが、当該データが収容されたバケットに対応付けられるので、ストレージノードに保存されたデータの所在を簡便に把握することが可能となる。 Here, in a system having N storage nodes (N is an integer of 3 or more), M storage nodes (M is an integer of 2 or more and M<N) form a storage group. If the same data is stored in M storage nodes inside, it becomes difficult to grasp which data is stored in which storage node. According to the storage system 1 according to this embodiment, a storage group configured by a plurality of storage nodes storing the same data is associated with a bucket containing the data. It is possible to easily grasp the location of the data.
 なお、本実施形態においては、ストレージノードと機能するサーバが3台であり、そのうちの2台に同一のデータを転送する場合を例示したが、開示の技術は、この態様に限定されるものではない。 In this embodiment, there are three servers that function as storage nodes, and the same data is transferred to two of them. However, the technology disclosed herein is not limited to this aspect. do not have.
 図6は、情報処理装置10の記憶装置103に保存される転送先指定情報120の他の例を示す図である。図6に示す転送先指定情報120は、ストレージノードを構成するサーバが4台であり、そのうちの3台に同一のデータを転送する場合を例示したものである。図6に例示する転送先指定情報120において、バケット[1]にサーバ[1]、[2]、[3]によって構成されるサーバグループ[1]が対応付けられ、バケット[2]にサーバ[1]、[2]、[4]によって構成されるサーバグループ[2]が対応付けられ、バケット[3]にサーバ[1]、[3]、[4]によって構成されるサーバグループ[3]が対応付けられ、バケット[4]にサーバ[2]、[3]、[4]によって構成されるサーバグループ[4]が対応付けられている。 FIG. 6 is a diagram showing another example of the transfer destination designation information 120 stored in the storage device 103 of the information processing device 10. As shown in FIG. The transfer destination designation information 120 shown in FIG. 6 illustrates a case where the storage node has four servers and the same data is transferred to three of them. In the transfer destination designation information 120 illustrated in FIG. 6, bucket [1] is associated with server group [1] composed of servers [1], [2], and [3], and bucket [2] is associated with server [ 1], [2], and [4] are associated with server group [2], and bucket [3] is associated with server group [3], which is configured with servers [1], [3] and [4]. , and bucket [4] is associated with server group [4] composed of servers [2], [3], and [4].
 図6に例示する転送先指定情報120が記憶装置103に保存されている場合において、転送処理部12は、バケット[1]に収容された保存対象のデータを受信した場合、当該データをバケット[1]に対応付けられたサーバグループ[1]に属するサーバ[1]、[2]、[3]の各々に転送する。サーバ[1]は、情報処理装置10から転送されたデータを、例えば正データとして自ノードが備える記憶装置に保存する。サーバ[2]は、情報処理装置10から転送されたデータを、例えば副データとして自ノードが備える記憶装置に保存する。サーバ[3]は、情報処理装置10から転送されたデータを、例えば予備データとして自ノードが備える記憶装置に保存する。正データ、副データ及び予備データは、互いに同じデータである。 When the transfer destination designation information 120 illustrated in FIG. 6 is saved in the storage device 103, the transfer processing unit 12, when receiving data to be saved contained in bucket [1], stores the data in bucket [1]. 1] to each of the servers [1], [2], and [3] belonging to the server group [1] associated with [1]. The server [1] saves the data transferred from the information processing device 10, for example, as primary data in the storage device of its own node. The server [2] stores the data transferred from the information processing device 10 in the storage device of its own node, for example, as sub data. The server [3] stores the data transferred from the information processing device 10 in the storage device of its own node, for example, as preliminary data. The original data, the sub data and the spare data are the same data.
 上記の実施形態において、例えば、対応付け処理部11及び転送処理部12といった各種の処理を実行する処理部(processing unit)のハードウェア的な構造としては、次に示す各種のプロセッサ(processor)を用いることができる。上記各種のプロセッサには、前述したように、ソフトウェア(プログラム)を実行して各種の処理部として機能する汎用的なプロセッサであるCPUに加えて、FPGA等の製造後に回路構成を変更可能なプロセッサであるプログラマブルロジックデバイス(Programmable Logic Device:PLD)、ASIC(Application Specific Integrated Circuit)等の特定の処理を実行させるために専用に設計された回路構成を有するプロセッサである専用電気回路等が含まれる。 In the above embodiment, for example, the hardware structure of the processing unit that executes various processes such as the association processing unit 11 and the transfer processing unit 12 includes the following various processors. can be used. As described above, the various processors include, in addition to the CPU, which is a general-purpose processor that executes software (programs) and functions as various processing units, a processor such as an FPGA whose circuit configuration can be changed after manufacture. Programmable Logic Device (PLD), ASIC (Application Specific Integrated Circuit), which is a processor with a circuit configuration specially designed to execute specific processing, such as a dedicated electric circuit.
 1つの処理部は、これらの各種のプロセッサのうちの1つで構成されてもよいし、同種又は異種の2つ以上のプロセッサの組み合わせ(例えば、複数のFPGAの組み合わせや、CPUとFPGAとの組み合わせ)で構成されてもよい。また、複数の処理部を1つのプロセッサで構成してもよい。 One processing unit may be composed of one of these various processors, or a combination of two or more processors of the same type or different types (for example, a combination of multiple FPGAs, a combination of a CPU and an FPGA). combination). Also, a plurality of processing units may be configured by one processor.
 複数の処理部を1つのプロセッサで構成する例としては、第1に、クライアント及びサーバ等のコンピュータに代表されるように、1つ以上のCPUとソフトウェアの組み合わせで1つのプロセッサを構成し、このプロセッサが複数の処理部として機能する形態がある。第2に、システムオンチップ(System on Chip:SoC)等に代表されるように、複数の処理部を含むシステム全体の機能を1つのIC(Integrated Circuit)チップで実現するプロセッサを使用する形態がある。このように、各種の処理部は、ハードウェア的な構造として、上記各種のプロセッサの1つ以上を用いて構成される。 As an example of configuring a plurality of processing units with a single processor, first, as represented by computers such as clients and servers, a single processor is configured by combining one or more CPUs and software. There is a form in which a processor functions as multiple processing units. Second, as typified by System on Chip (SoC), etc., there is a form of using a processor that realizes the functions of the entire system including multiple processing units with a single IC (Integrated Circuit) chip. be. In this way, the various processing units are configured using one or more of the above various processors as a hardware structure.
 更に、これらの各種のプロセッサのハードウェア的な構造としては、より具体的には、半導体素子などの回路素子を組み合わせた電気回路(circuitry)を用いることができる。 Furthermore, as the hardware structure of these various processors, more specifically, an electric circuit combining circuit elements such as semiconductor elements can be used.
 また、上記実施形態では、情報処理プログラム110が記憶装置103に予め記憶(インストール)されている態様を説明したが、これに限定されない。情報処理プログラム110は、CD-ROM(Compact Disc Read Only Memory)、DVD-ROM(Digital Versatile Disc Read Only Memory)、及びUSB(Universal Serial Bus)メモリ等の記録媒体に記録された形態で提供されてもよい。また、情報処理プログラム110は、ネットワークを介して外部装置からダウンロードされる形態としてもよい。 Also, in the above embodiment, the information processing program 110 has been pre-stored (installed) in the storage device 103, but the present invention is not limited to this. The information processing program 110 is provided in a form recorded on a recording medium such as a CD-ROM (Compact Disc Read Only Memory), a DVD-ROM (Digital Versatile Disc Read Only Memory), and a USB (Universal Serial Bus) memory. good too. Further, the information processing program 110 may be downloaded from an external device via a network.
 なお、2021年3月15日に出願された日本国特許出願2021-041756の開示は、その全体が参照により本明細書に取り込まれる。また、本明細書に記載された全ての文献、特許出願および技術規格は、個々の文献、特許出願、および技術規格が参照により取り込まれることが具体的かつ個々に記された場合と同程度に、本明細書中に参照により取り込まれる。 The disclosure of Japanese Patent Application 2021-041756 filed on March 15, 2021 is incorporated herein by reference in its entirety. In addition, all publications, patent applications and technical standards mentioned herein are to the same extent as if each individual publication, patent application and technical standard were specifically and individually noted to be incorporated by reference. , incorporated herein by reference.

Claims (7)

  1.  少なくとも1つのプロセッサを備え、3台以上のストレージノードのうちの一部の複数のストレージノードに同一のデータを転送する情報処理装置であって、
     前記プロセッサは、
     転送対象のデータを収容する仮想的な収容領域を、前記3台以上のストレージノードのうちの一部の複数のストレージノードによってそれぞれ構成される複数のグループのいずれかに対応付ける対応付け処理を収容領域毎に行い、
     前記収容領域に収容された保存対象のデータを、当該収容領域に対応付けられたグループに属する複数のストレージノードの各々に転送する
     情報処理装置。
    An information processing device comprising at least one processor and configured to transfer the same data to a plurality of storage nodes selected from among three or more storage nodes,
    The processor
    A storage area that associates a virtual storage area that stores data to be transferred with one of a plurality of groups respectively configured by a plurality of storage nodes that are a part of the three or more storage nodes. every time,
    An information processing device that transfers data to be stored that is stored in the storage area to each of a plurality of storage nodes that belong to a group associated with the storage area.
  2.  前記プロセッサは、前記3台以上のストレージノードの各々に対応付けられる前記収容領域の数が均一となるように前記対応付け処理を行う
     請求項1に記載の情報処理装置。
    2. The information processing apparatus according to claim 1, wherein the processor performs the association process so that the number of storage areas associated with each of the three or more storage nodes is uniform.
  3.  前記プロセッサは、前記複数のグループ間おいて、グループを構成するストレージノードの数が均一となるように前記対応付け処理を行う
     請求項1又は請求項2に記載の情報処理装置。
    3. The information processing apparatus according to claim 1, wherein the processor performs the association processing so that the number of storage nodes forming the groups is uniform among the plurality of groups.
  4.  前記3台以上のストレージノードは、互いに異なる地理的位置に配置されている
     請求項1から請求項3のいずれか1項に記載の情報処理装置。
    4. The information processing apparatus according to any one of claims 1 to 3, wherein the three or more storage nodes are arranged at different geographical locations.
  5.  3台以上のストレージノードのうちの一部の複数のストレージノードに同一のデータを転送する情報処理方法であって、
     転送対象のデータを収容する仮想的な収容領域を、前記3台以上のストレージノードのうちの一部の複数のストレージノードによってそれぞれ構成される複数のグループのいずれかに対応付ける対応付け処理を行い、
     前記収容領域に収容された転送対象のデータを、当該収容領域に対応付けられたグループに属する複数のストレージノードの各々に転送する
     処理を情報処理装置が備える少なくとも1つのプロセッサが実行する情報処理方法。
    An information processing method for transferring the same data to a plurality of some storage nodes out of three or more storage nodes,
    performing an association process for associating a virtual storage area that stores data to be transferred with one of a plurality of groups respectively configured by a plurality of storage nodes that are a part of the three or more storage nodes;
    An information processing method in which at least one processor included in an information processing apparatus executes a process of transferring data to be transferred that is contained in the accommodation area to each of a plurality of storage nodes belonging to a group associated with the accommodation area. .
  6.  転送対象のデータを収容する仮想的な収容領域を、3台以上のストレージノードのうちの一部の複数のストレージノードによってそれぞれ構成される複数のグループのいずれかに対応付ける対応付け処理を行い、
     前記収容領域に収容された転送対象のデータを、当該収容領域に対応付けられたグループに属する複数のストレージノードの各々に転送する
     処理を情報処理装置が備える少なくとも1つのプロセッサに実行させるための情報処理プログラム。
    performing an association process for associating a virtual storage area that stores data to be transferred with one of a plurality of groups respectively constituted by a plurality of storage nodes that are a part of the three or more storage nodes,
    Information for causing at least one processor included in an information processing device to execute a process of transferring data to be transferred that is contained in the accommodation area to each of a plurality of storage nodes belonging to a group associated with the accommodation area processing program.
  7.  3台以上のストレージノードを備え、前記3台以上のストレージノードのうちの一部の複数のストレージノードに同一のデータを、冗長性を持たせて保存するストレージシステムであって、
     保存対象のデータを収容する仮想的な収容領域が、前記3台以上のストレージノードのうちの一部の複数のストレージノードによってそれぞれ構成される複数のグループのいずれかに対応付けられており、
     前記収容領域に収容された保存対象のデータが、当該収容領域に対応付けられたグループに属する複数のストレージノードの各々に保存される
     ストレージシステム。
    A storage system comprising three or more storage nodes, and storing the same data redundantly in a plurality of some of the three or more storage nodes,
    a virtual storage area that stores data to be saved is associated with one of a plurality of groups respectively configured by a plurality of storage nodes that are a part of the three or more storage nodes;
    A storage system in which data to be stored that is stored in the storage area is stored in each of a plurality of storage nodes belonging to a group associated with the storage area.
PCT/JP2022/002457 2021-03-15 2022-01-24 Information processing device, storage system, information processing method, and information processing program WO2022196104A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2023506813A JPWO2022196104A1 (en) 2021-03-15 2022-01-24

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2021-041756 2021-03-15
JP2021041756 2021-03-15

Publications (1)

Publication Number Publication Date
WO2022196104A1 true WO2022196104A1 (en) 2022-09-22

Family

ID=83320251

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/002457 WO2022196104A1 (en) 2021-03-15 2022-01-24 Information processing device, storage system, information processing method, and information processing program

Country Status (2)

Country Link
JP (1) JPWO2022196104A1 (en)
WO (1) WO2022196104A1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07262201A (en) * 1994-03-18 1995-10-13 Fujitsu Ltd Distributed data base control system
JP2019101703A (en) * 2017-11-30 2019-06-24 株式会社日立製作所 Storage system and control software arrangement method

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07262201A (en) * 1994-03-18 1995-10-13 Fujitsu Ltd Distributed data base control system
JP2019101703A (en) * 2017-11-30 2019-06-24 株式会社日立製作所 Storage system and control software arrangement method

Also Published As

Publication number Publication date
JPWO2022196104A1 (en) 2022-09-22

Similar Documents

Publication Publication Date Title
US11188269B2 (en) Configuration for multiple logical storage arrays
US11500552B2 (en) Configurable hyperconverged multi-tenant storage system
US20230376379A1 (en) Storage system accommodating differing types of storage
US20230308512A1 (en) Independent communication pathways
CN106663054B (en) Non-volatile RAM and flash memory in non-volatile solid-state storage
CN107408074B (en) Storage system architecture
US10496295B2 (en) Representing a storage array as two or more logical arrays with respective virtual local area networks (VLANS)
US11734186B2 (en) Heterogeneous storage with preserved addressing
US20160328162A1 (en) Logical arrays running on physical hardware where reserve physical capacity is available
CN109416620B (en) Storage cluster
US20230275965A1 (en) Multilevel Load Balancing
WO2022196104A1 (en) Information processing device, storage system, information processing method, and information processing program
CN107851117B (en) Efficient distribution of large directories

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: 22770866

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2023506813

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 22770866

Country of ref document: EP

Kind code of ref document: A1