WO2014010023A1 - 抽出装置、抽出プログラムおよびシステム - Google Patents

抽出装置、抽出プログラムおよびシステム Download PDF

Info

Publication number
WO2014010023A1
WO2014010023A1 PCT/JP2012/067520 JP2012067520W WO2014010023A1 WO 2014010023 A1 WO2014010023 A1 WO 2014010023A1 JP 2012067520 W JP2012067520 W JP 2012067520W WO 2014010023 A1 WO2014010023 A1 WO 2014010023A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
servers
unit
address
server
Prior art date
Application number
PCT/JP2012/067520
Other languages
English (en)
French (fr)
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 PCT/JP2012/067520 priority Critical patent/WO2014010023A1/ja
Publication of WO2014010023A1 publication Critical patent/WO2014010023A1/ja

Links

Images

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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0617Improving the reliability of storage systems in relation to availability
    • 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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • 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 an extraction device, an extraction program, and a system.
  • HDFS Hadoop Distributed File System
  • each replica (replication) of a plurality of data blocks obtained by dividing a file is stored in a number of data servers for a predetermined number of replications. For example, when the number of replications is “3”, in HDFS, each replica of a plurality of data blocks obtained by dividing a file is stored in three data servers.
  • FIG. 13 is a diagram for explaining an example of HDFS.
  • the HDFS 50 has a name server 51 and a plurality of data servers 70a to 70d.
  • the name server 51 divides the file 60 into a plurality of data blocks having a data size of several tens MB (Mega Byte) to several hundred MB.
  • the name server 51 divides the file 60 into a data block 60a “a” and a data block 60b “b”. Note that other devices in the HDFS 50 may divide the file 60 into a plurality of data blocks.
  • the name server 51 generates a replica 61a of the data block 60a, and transmits the generated replica 61a to the number of data servers corresponding to the predetermined number of replications. Since the number of replications “3” is set by default in the name server 51 shown in the example of FIG. 13, the name server 51 transmits the replica 61a to the three data servers 70a, 70b, and 70c. Similarly, the name server 51 transmits the replica 61b to the three data servers 70b, 70c, and 70d.
  • the data server 70a that has received the replica 61a stores the replica 61a in the storage device 71a.
  • the data server 70b that receives the replica 61a stores the replica 61a in the storage device 71b
  • the data server 70c that receives the replica 61a stores the replica 61a in the storage device 71c.
  • the data server 70b that has received the replica 61b stores the replica 61b in the storage device 71b.
  • the data server 70c that receives the replica 61b stores the replica 61b in the storage device 71c
  • the data server 70d that receives the replica 61b stores the replica 61b in the storage device 71d.
  • the name server 51 has a table 51a in which information indicating the data server on which each of the replica 61a and the replica 61b is arranged is registered. That is, the name server 51 can grasp the data server in which the replica of the data block is stored by accessing the table 51a.
  • identification information “a” for identifying the replica 61a is associated with “# 1”, “# 2”, and “# 3”. be registered.
  • “# 1” indicates the IP (Internet Protocol) address of the data server 70a in which the replica 61a is stored.
  • “# 2” indicates the IP address of the data server 70b in which the replica 61a is stored.
  • “# 3” indicates the IP address of the data server 70c in which the replica 61a is stored.
  • identification information “b” for identifying the replica 61b is associated with “# 2”, “# 3”, and “# 4”. be registered.
  • “# 4” indicates the IP address of the data server 70d in which the replica 61b is stored.
  • Each of the data servers 70a to 70d can transfer a data block by the block transfer protocol of the HDFS 50.
  • Each of the data servers 70a to 70d can communicate with each other. For example, each of the data servers 70a to 70d can transfer the data block to another data server and cause the other data server to newly store the data block.
  • a storage device including two disk drive control devices separates a failed disk drive control device when a failure occurs in one of the disk drive control devices. In this case, the storage device continues processing using the other disk drive control device.
  • the HDFS described above has a problem that the load when the system is degenerated is large.
  • the number of replications is “R”
  • an administrator or the like degenerates HDFS, it is possible to separate (R ⁇ 1) data servers.
  • the data server holding the same data block as the data block held by the separated data server is transmitted to another data server, and the data block Is copied to another data server.
  • An administrator or the like can perform HDFS degeneration by facilitating restoration to the original file by repeatedly performing the processing described above.
  • FIGS. 14A to 14D are diagrams for explaining an example of the HDFS degeneration method.
  • FIG. 14A shows a case where the HDFS 50 has data servers 70a to 70d.
  • Each of the data servers 70a to 70d has a storage device 71a to 71d.
  • the storage device 71a stores a block data replica 61a "a”.
  • the storage device 71b stores a replica 61a and a replica 61b of block data “b”.
  • the storage device 71c stores a replica 61a and a replica 61b.
  • the storage device 71d stores the replica 61b.
  • the administrator who performs degeneration of the HDFS 50 arbitrarily shuts down two data servers among the data servers 70a to 70d, and disconnects the shut down data servers from the HDFS 50.
  • the administrator shuts down the data server 70b and the data server 70d, disconnects the data server 70b and the data server 70d from the HDFS 50, and applies a patch to the disconnected data server 70b and the data server 70d.
  • the data servers existing in the HDFS 50 are the data server 70a and the data server 70c as shown in the example of FIG. 14B.
  • the replica 61b is not stored in the storage device 71a of the data server 70a.
  • the administrator inputs an instruction to transmit the replica 61b to the data server 70a to the data server 70c via an operation reception unit such as a mouse or a keyboard (not shown).
  • the data server 70c transmits the replica 61b to the data server 70a, and the data server 70a that has received the replica 61b stores the received replica 61b in the storage device 71a as illustrated in the example of FIG. 14C.
  • the administrator shuts down one of the data server 70a and the data server 70c that holds the replica 61a and the replica 61b, disconnects it from the HDFS 50, and applies a patch to the disconnected data server.
  • the administrator shuts down the data server 70a, disconnects it from the HDFS 50, and applies a patch to the disconnected data server 70a.
  • the data server existing in the HDFS 50 becomes the data server 70c as shown in the example of FIG. 14D.
  • the administrator separates (R-1) data servers one by one, the load when degrading the HDFS 50 is large until the number of data servers reaches a predetermined number.
  • the number of data servers of the HDFS 50 is several tens or several hundreds, it takes a lot of time to degenerate before applying a patch. Therefore, the above-described technique has a problem that the load when the system is degenerated is large.
  • the disclosed technology aims to suppress an increase in load when the system is degenerated.
  • the extraction device disclosed in the present application includes a storage unit and an extraction unit.
  • the storage unit stores first identification information for identifying each of the plurality of servers and second identification information for identifying data held by the server indicated by the first identification information in association with each other.
  • the extraction unit extracts a set of servers such that the number of servers holding data for each data is a first predetermined value from a plurality of servers based on the storage contents of the storage unit.
  • FIG. 6A is a schematic diagram illustrating an example of a process executed by the management server according to the second embodiment.
  • FIG. 6B is a schematic diagram illustrating an example of a process executed by the management server according to the second embodiment.
  • FIG. 6C is a schematic diagram illustrating an example of a process executed by the management server according to the second embodiment.
  • FIG. 6D is a schematic diagram illustrating an example of a process executed by the management server according to the second embodiment.
  • FIG. 7A is a diagram for explaining another example of the process executed by the management server according to the second embodiment.
  • FIG. 7B is a diagram for explaining another example of the process executed by the management server according to the second embodiment.
  • FIG. 7C is a diagram for explaining another example of the process executed by the management server according to the second embodiment.
  • FIG. 7A is a diagram for explaining another example of the process executed by the management server according to the second embodiment.
  • FIG. 7B is a diagram for explaining another example of the process executed by the management server according to
  • FIG. 7D is a diagram for explaining another example of the process executed by the management server according to the second embodiment.
  • FIG. 7E is a diagram for explaining another example of the process executed by the management server according to the second embodiment.
  • FIG. 7F is a diagram for explaining another example of the process executed by the management server according to the second embodiment.
  • FIG. 7G is a diagram for explaining another example of the process executed by the management server according to the second embodiment.
  • FIG. 8A is a schematic diagram illustrating an example of a process executed by the management server according to the second embodiment.
  • FIG. 8B is a schematic diagram illustrating an example of a process executed by the management server according to the second embodiment.
  • FIG. 9A is a schematic diagram illustrating an example of a process executed by the management server according to the second embodiment.
  • FIG. 9B is a schematic diagram illustrating an example of a process executed by the management server according to the second embodiment.
  • FIG. 10 is a flowchart illustrating a degeneration process procedure according to the second embodiment.
  • FIG. 11 is a flowchart illustrating the procedure of the extraction process according to the second embodiment.
  • FIG. 12 is a diagram illustrating a computer that executes an extraction program.
  • FIG. 13 is a diagram for explaining an example of HDFS.
  • FIG. 14A is a diagram for explaining an example of the HDFS degeneration method.
  • FIG. 14B is a diagram for explaining an example of the HDFS degeneration method.
  • FIG. 14C is a diagram for describing an example of the HDFS degeneration method.
  • FIG. 14D is a diagram for describing an example of the HDFS degeneration method.
  • FIG. 1 is a diagram illustrating an example of a functional configuration of the extraction apparatus according to the first embodiment.
  • the extraction device 1 includes a storage unit 2 and an extraction unit 3.
  • the extraction device 1 extracts a set of servers that are not to be stopped when degenerating among a plurality of servers.
  • the storage unit 2 stores first identification information 2a for identifying each of the plurality of servers in association with second identification information 2b for identifying data held by the server indicated by the first identification information 2a. .
  • the extraction unit 3 extracts a set of servers such that the number of servers holding data for each data is a predetermined value from a plurality of servers based on the storage contents of the storage unit 2.
  • the extraction apparatus 1 extracts a set of servers such that the number of servers holding data for each data is a predetermined value from a plurality of servers. Therefore, according to the extraction apparatus 1 according to the present embodiment, when a system having a plurality of servers is degenerated, a set of servers that are not to be stopped can be extracted without causing the user to select. Therefore, according to the extraction device 1, it is possible to suppress an increase in load when the system is degenerated.
  • FIG. 2 is a diagram illustrating an example of an overall configuration diagram of HDFS to which the management server according to the second embodiment is applied.
  • the HDFS 10 includes a management server 4, a name server 20, data servers 11a, 11b, 11c, and 11d, and other data servers (not shown).
  • Each of the data servers 11a, 11b, 11c, and 11d includes a storage device 12a, 12b, 12c, and 12d.
  • other data servers each have a storage device.
  • the data servers 11a, 11b, 11c, 11d and other data servers not shown are collectively referred to as the data server 11 when not distinguished from each other.
  • the storage devices 12a, 12b, 12c, 12d, and the storage devices included in other data servers (not shown) are collectively referred to as the storage device 12 when not distinguished.
  • the management server 4, the data server 11, and the name server 20 are connected to each other via a network. Therefore, the management server 4, the data server 11, and the name server 20 can communicate with each other.
  • the number of servers of the management server 4 and the name server 20 is not limited to one, and any number can be adopted. Similarly, any number of data servers 11 can be adopted.
  • the name server 20 divides the file into a plurality of data blocks. Then, the name server 20 generates a replica of each of the plurality of data blocks. Subsequently, the name server 20 transmits each of the generated replicas to the number of data servers 11 corresponding to the predetermined number of replications. For example, when the default number of replications is “3”, the name server 20 transmits each of the generated replicas to three data servers. Since the data block and the replica of the data block are the same data, in the following description, the replica of the data block is simply referred to as a data block.
  • the name server 20 has a table 8a in which information indicating data blocks and information indicating the data servers 11 on which the data blocks are arranged are associated and registered.
  • the name server 20 can grasp the data server 11 in which the data block is stored by accessing the table 8a.
  • the data server 11 that has received the data block stores the data block in the storage device 12 included in the data server 11. Thereby, in the HDFS 10, a plurality of data blocks are distributed and stored in the data server 11.
  • the management server 4 is an example of the extraction device 1 according to the first embodiment.
  • the management server 4 associates and stores an IP address for identifying each of the plurality of data servers 11 and identification information for identifying a data block held by the data server 11 corresponding to the IP address. Then, the management server 4 extracts a set of data servers 11 such that the number of data servers holding data blocks for each data block is a predetermined value N from the plurality of data servers 11 based on the stored contents. To do. Therefore, according to the management server 4 according to the present embodiment, when the HDFS 10 having a plurality of data servers 11 is degenerated, a set of data servers 11 that are not to be stopped can be extracted without causing the user to select. Therefore, according to the management server 4, an increase in load when the HDFS 10 is degenerated can be suppressed.
  • FIG. 3 is a diagram illustrating an example of a functional configuration of the management server according to the second embodiment.
  • the management server 4 includes an input unit 5, an output unit 6, a communication unit 7, a storage unit 8, and a control unit 9.
  • the input unit 5 inputs various information to the control unit 9. For example, the input unit 5 receives an instruction to execute a later-described reduction process, and inputs the received instruction to the control unit 9. Further, the input unit 5 receives the number N1 of data servers 11 that can operate without being shut down as a result of the degeneration process, and inputs the received number N1 to the control unit 9.
  • the input unit 5 is a device such as a keyboard and a mouse, for example.
  • the output unit 6 outputs various information. For example, the output unit 6 displays an image indicating the extracted set of data servers 11, for example, an image indicating the extracted IP address of the data server 11 under the control of the display control unit 9 e described later. Further, the output unit 6 displays an image indicating the data server 11 that has not been shut down as a result of the degeneration of the HDFS 10 under the control of the display control unit 9e described later, for example, the IP address of the data server 11 that has not been shut down. The image shown is displayed.
  • the output unit 6 is a display device such as a display, for example.
  • the communication unit 7 is an interface for performing communication with the data server 11 and the name server 20. For example, when the communication unit 7 receives an instruction to execute shutdown from the control unit 9, the communication unit 7 transmits the instruction to the data server 11 indicated by the destination IP address included in the received instruction. When the communication unit 7 receives an instruction to transfer a data block from the control unit 9, the communication unit 7 transmits the instruction to the data server 11 indicated by the destination IP address included in the received instruction.
  • the storage unit 8 stores various types of information.
  • the storage unit 8 stores a table 8a, a first list 8a, a second list 8c, and a third list 8d.
  • IP addresses of a plurality of data servers 11 and identification information for identifying data blocks held by the data server 11 corresponding to the IP addresses are registered in association with each other.
  • the table 8a is acquired from the name server 20 by the extraction unit 9a described later and stored in the storage unit 8.
  • the table 8a is an example of the first identification information 2a and the second identification information 2b associated with each other in the first embodiment.
  • FIG. 4A and 4B are diagrams showing an example of the data structure of the table.
  • the table 8a illustrated in FIG. 4A includes an item 8e, an item 8f, and an item 8g.
  • the file name of the file input to the HDFS 10 is registered in the item 8e.
  • FIG. 4A shows a case where the file name “A” of the file input to the HDFS 10 is registered in the item 8e.
  • data block identification information obtained by dividing the file having the file name registered in the item 8e by the name server 20 is registered.
  • the identification information “a” of the data block “a” obtained by dividing the file with the file name “A” registered in the item 8e by the name server 20 in the item 8f, and “ The case where the identification information “b” of the data block “b” is registered is shown.
  • the IP address of the data server 11 that holds the data block indicated by the identification information registered in the item 8f is registered.
  • the IP address “# 1”, “# 2”, “# 3” of the data server 11 that holds the data block indicated by the identification information “a” registered in the item 8f is registered in the item 8g. The case where it was done is shown.
  • the IP address “# 2”, “# 3”, “# 4” of the data server 11 that holds the data block indicated by the identification information “b” registered in the item 8f is stored in the item 8g. Indicates the case where is registered. Note that “# 1” to “# 4” may be used as notation for indicating the IP address for convenience, but the item 8g actually has an IP address such as “192.168.1.1”. Is registered. The same applies hereinafter.
  • “# 1” indicates the IP address of the data server 11a.
  • “# 2” indicates the IP address of the data server 11b.
  • “# 3” indicates the IP address of the data server 11c.
  • “# 4” indicates the IP address of the data server 11d.
  • An example of the correspondence between the IP address notation such as “# 1” and the actual IP address will be described. “# 1” corresponds to “192.168.1.1” and “# 2”. Corresponds to “192.168.1.2”, and “# 3” corresponds to “192.168.1.3”. “# 4” corresponds to “192.168.1.4”.
  • the table 8a shown in FIG. 4B has an item 8e, an item 8f, and an item 8g.
  • the example of FIG. 4B shows a case where the file name “B” of the file input to the HDFS 10 is registered in the item 8e.
  • the identification information “a”, “a” of the data block “a” obtained by dividing the file with the file name “B” registered in the item 8 e by the name server 20 in the item 8 f.
  • the case where the identification information “b” of the data block “b” is registered is shown.
  • the IP address “# 1”, “# 2”, “# 3” of the data server 11 that holds the data block indicated by the identification information “a” registered in the item 8f in the item 8g. Indicates the case where is registered.
  • the IP address “# 2”, “# 3”, “# 4” of the data server 11 that holds the data block indicated by the identification information “b” registered in the item 8f in the item 8g. Indicates the case where is registered.
  • the IP address “# 4”, “# 5”, “# 6” of the data server 11 that holds the data block indicated by the identification information “c” registered in the item 8f in the item 8g. Indicates the case where is registered.
  • “# 5” indicates an IP address of a data server 11e described later.
  • “# 6” indicates an IP address of a data server 11f described later.
  • An example of a correspondence relationship between an IP address notation such as “# 5” and an actual IP address will be described.
  • “# 5” corresponds to “192.168.1.5” and “# 6”. Corresponds to “192.168.1.6”.
  • FIG. 5A is a diagram illustrating an example of the first list.
  • the IP addresses “192.168.1.1” and “192.168..1” are listed in ascending order of numbers registered in the “No” item. 1.2 ”or the like is registered.
  • the registered contents of the first list 8 a can be set by the user via the input unit 5.
  • the extraction unit 9a described later selects and processes IP addresses registered in the first list in order from the top
  • the data server that the user wants to shut down preferentially via the input unit 5 Eleven IP addresses may be registered at the top of the first list 8a.
  • the data server 11 corresponding to the IP address registered at the top of the first list 8a can be preferentially shut down.
  • FIG. 5B is a diagram illustrating an example of the second list.
  • the example of FIG. 5B shows a case where IP addresses “192.168.1.1”, “192.168.1.2”, and “192.168.1.4” are registered in the second list 8c. Show.
  • FIG. 5C is a diagram illustrating an example of the third list.
  • the example of FIG. 5C shows a case where the IP address “192.168.1.3” is registered in the third list 8d.
  • the storage unit 8 is, for example, a semiconductor memory device such as a flash memory, or a storage device such as a hard disk or an optical disk.
  • storage part 8 is not limited to said kind of memory
  • the control unit 9 has an internal memory for storing programs and control data that define various processing procedures, and executes various processes using these. As shown in FIG. 3, the control unit 9 includes an extraction unit 9a, a stop unit 9b, a holding control unit 9c, an update unit 9d, and a display control unit 9e.
  • the extraction unit 9a is a set of data servers 11 in which the number of data servers 11 that hold data blocks for each data block is “N” from among the plurality of data servers 11.
  • N is a numerical value set in the management server 4 via the input unit 5 by an administrator or the like.
  • N indicates the number of data servers 11 holding each data block.
  • the extraction unit 9a refers to the table 8a and identifies the data block corresponding to the IP address of the data server 11 to be processed. Then, the extraction unit 9a determines whether or not the number of other data servers 11 that hold at least one data block among the identified data blocks is “N ⁇ 1”. For any data block, if the number of other data servers 11 holding the data block is not “N ⁇ 1”, the number of other data servers 11 holding the specified data block is N or more. Therefore, the extraction unit 9a performs the following process. That is, the extraction unit 9a extracts the data server 11 to be processed as the data server 11 that shuts down. On the other hand, when the number of other data servers 11 holding at least one data block among the identified data blocks is “N ⁇ 1”, the extraction unit 9a shuts down the data server 11 to be processed. The data server 11 that is not allowed to be extracted is extracted.
  • the extraction unit 9a performs the following process when an instruction for executing the degeneration process is input from the input unit 5 to the control unit 9. That is, the extraction unit 9 a determines whether or not the number N1 of the data servers 11 described above is input to the control unit 9 from the input unit 5. Then, when the number N1 is input, or when the first list 8a is updated by the update unit 9d described later and all IP addresses are deleted from the second list 8c and the third list 8d. The extraction unit 9a performs the following processing. That is, the extraction unit 9a reads the first list 8a.
  • the extraction unit 9a acquires the table 8a from the name server 20, stores the acquired table 8a in the storage unit 8, and reads the table 8a stored in the storage unit 8. Thereafter, the extraction unit 9a selects one unselected IP address from the IP addresses registered in the first list 8a. For example, the extraction unit 9a selects “192.168.1.1” from the IP addresses registered in the first list 8a illustrated in FIG. 5A.
  • the extraction unit 9a selects in order from the IP address with the smallest number registered in the “No” item of the first list 8a, the data server 11 corresponding to the IP address with the smaller number has priority. Will be shut down.
  • the extraction unit 9a identifies the data block held by the data server 11 corresponding to the selected IP address from the registered contents of the read table 8a. For example, if the read table 8a is the table 8a shown in FIG. 4A and the selected IP address is “# 1” (“192.168.1.1”), the extraction unit 9a uses the identification information “ The data block “a” indicated by “a” is specified.
  • the extraction unit 9a selects the next IP address corresponding to the unselected IP address registered in the first list 8a and the IP address registered in the third list 8d, as follows: Perform the following process. That is, the extraction unit 9a identifies the number of data servers 11 that hold data blocks for each identified data block. For example, the extraction unit 9a performs the following process for each of the unselected IP addresses registered in the first list 8a and the IP addresses registered in the third list. That is, the extraction unit 9a determines, for each identified data block, whether or not it is the IP address of the data server that holds the data block from the registered content of the table 8a.
  • the extraction unit 9a selects the IP address of the data server that holds the data block for each data block identified from the unselected IP address of the first list 8a and the IP address of the third list 8d. Count the number of As a result, the extraction unit 9a stores the data block for each identified data block from the data server 11 corresponding to the unselected IP address of the first list 8a and the IP address of the third list 8d.
  • the number of servers 11 can be specified.
  • FIGS. 6A to 6D are diagrams for explaining an example of processing executed by the management server according to the second embodiment.
  • the data server 11 corresponding to the IP address registered in the second list 8c by the extraction unit 9a is shut down by processing by the stop unit 9b described later. Therefore, in FIGS. 6A to 6D, in order to facilitate the explanation, the data server 11 corresponding to the IP address registered in the second list 8c is deleted from the drawing by the extracting unit 9a.
  • "192.168.1.1”, “192.168.1.2”, “192.168.1.3”, "192.168.1.4" are registered in the first list 8a. The case where this is done will be described.
  • a case where “N” is “1” will be described.
  • FIG. 6A shows a case where the IP addresses corresponding to the data servers 11a to 11d are not registered in the second list 8c.
  • the extraction unit 9a selects the IP address “192.168.1.1” corresponding to the data server 11a from the unselected IP addresses registered in the first list 8a. Then, the extraction unit 9a identifies the data block “a” held by the data server 11a corresponding to the selected IP address “192.168.1.1” from the registered content of the table 8a illustrated in FIG. 4A. Subsequently, since the IP address is not yet registered in the third list 8d, the extraction unit 9a holds the identified data block for each unselected IP address registered in the first list 8a.
  • the extraction unit 9a is the IP address of the data server 11b that holds the data block “a” identified from the table 8a illustrated in FIG. 4A for the unselected IP address “192.168.1.2”. Recognize that. Further, the extraction unit 9a is the IP address of the data server 11c that holds the data block “a” identified from the table 8a illustrated in FIG. 4A for the unselected IP address “192.168.1.3”. Recognize that. Further, the extraction unit 9a is the IP address of the data server 11d that does not hold the data block “a” identified from the table 8a illustrated in FIG. 4A for the unselected IP address “192.168.1.4”. Recognize that.
  • the extraction unit 9a counts the number “2” of the IP addresses of the data servers 11b and 11c holding the identified data block “a” from these results. That is, the extraction unit 9a specifies the number “2” of data servers 11 that hold the specified data block “a”.
  • 7A to 7G are diagrams for explaining another example of processing executed by the management server according to the second embodiment.
  • the data server 11 corresponding to the IP address registered in the second list 8c is deleted from the drawing by the extracting unit 9a.
  • "192.168.1.1”, “192.168.1.2”, “192.168.1.3”, “192.168.1.4”, " A case where “192.168.1.5” and “192.168.1.6” are registered will be described.
  • a case where “N” is “1” will be described.
  • FIG. 7A shows a case where IP addresses corresponding to the data servers 11a to 11f are not registered in the second list 8c.
  • the extraction unit 9a selects the IP address “192.168.1.1” corresponding to the data server 11a from the unselected IP addresses registered in the first list 8a. Then, the extraction unit 9a specifies the data block “a” held by the data server 11a corresponding to the selected IP address “192.168.1.1” from the registered content of the table 8a illustrated in FIG. 4B. Subsequently, since the IP address is not yet registered in the third list 8d, the extraction unit 9a holds the identified data block for each unselected IP address registered in the first list 8a.
  • the extraction unit 9a is the IP address of the data server 11b that holds the data block “a” identified from the table 8a illustrated in FIG. 4B for the unselected IP address “192.168.1.2”. Recognize that. Further, the extraction unit 9a is the IP address of the data server 11c that holds the data block “a” identified from the table 8a illustrated in FIG. 4B for the unselected IP address “192.168.1.3”. Recognize that. Further, the extraction unit 9a is the IP address of the data server 11d that does not hold the data block “a” identified from the table 8a illustrated in FIG. 4B for the unselected IP address “192.168.1.4”. Recognize that.
  • the extraction unit 9a is the IP address of the data server 11e that does not hold the data block “a” identified from the table 8a illustrated in FIG. 4B for the unselected IP address “192.168.1.5”. Recognize that. Further, the extraction unit 9a is the IP address of the data server 11f that does not hold the data block “a” identified from the table 8a illustrated in FIG. 4B for the unselected IP address “192.168.1.6”. Recognize that. Then, the extraction unit 9a counts the number “2” of the IP addresses of the data servers 11b and 11c holding the identified data block “a” from these results. That is, the extraction unit 9a specifies the number “2” of data servers 11 that hold the specified data block “a”.
  • the extraction unit 9a determines whether or not the number of identified data blocks among the identified data blocks is “N ⁇ 1”.
  • the extraction unit 9a determines that the specified number “2” is not “N ⁇ 1”, that is, “0”. 7A, the extraction unit 9a determines that the specified number “2” is not “N ⁇ 1”, that is, “0”.
  • the extracting unit 9a can shut down the data server 11 corresponding to the selected IP address when the specified number of all the specified data blocks is not “N ⁇ 1”. Register in the second list 8c.
  • the extraction unit 9a registers the selected IP address “192.168.1.1” in the second list 8c. Thereby, as shown in FIG. 6B, the data server 11a is deleted.
  • the extraction unit 9a registers the selected IP address “192.168.1.1” in the second list 8c. Thereby, as shown in FIG. 7B, the data server 11a is deleted.
  • the extracting unit 9a registers the selected IP address in the third list 8d.
  • the extraction unit 9a determines whether there is an unselected IP address among the IP addresses registered in the first list 8a. If there is an unselected IP address, the extraction unit 9a selects an unselected IP address and performs the above-described process again using the selected IP address.
  • the extraction unit 9a selects the IP address “192.168.1.2” corresponding to the data server 11b from the unselected IP addresses registered in the first list 8a. To do. Then, the extraction unit 9a determines the data block “a” and “b” held by the data server 11b corresponding to the selected IP address “192.168.1.2” from the registered content of the table 8a illustrated in FIG. 4A. Is specified. Subsequently, the extraction unit 9a stores the newly specified data blocks “a” and “b” from the table 8a illustrated in FIG. 4A for the unselected IP address “192.168.1.3”. It recognizes that it is the IP address of the server 11c.
  • the extraction unit 9a selects the IP address of the data server 11d that holds the newly identified data block “b” from the table 8a illustrated in FIG. 4A for the unselected IP address “192.168.1.4”. Recognize that. Then, the extraction unit 9a counts the number of IP addresses “1” of the data server 11c that holds the newly specified data block “a” from these results. Further, the extraction unit 9a counts the number “2” of IP addresses of the data servers 11c and 11d that hold the newly identified data block “b”. That is, the extraction unit 9a specifies the number “1” of the data servers 11 that hold the newly specified data block “a”. The extraction unit 9a identifies the number “2” of data servers 11 that hold the newly identified data block “b”.
  • the extraction unit 9a determines that the specified number of all specified data blocks is not “N ⁇ 1”, that is, “0”. Subsequently, the extraction unit 9a registers the selected IP address “192.168.1.2” in the second list 8c. Thereby, as shown in FIG. 6C, the data server 11b is deleted.
  • the extraction unit 9a selects the IP address “192.168.1.3” corresponding to the data server 11c from the unselected IP addresses registered in the first list 8a. select. Then, the extraction unit 9a determines the data block “a” and “b” held by the data server 11c corresponding to the selected IP address “192.168.1.3” from the registered content of the table 8a illustrated in FIG. 4A. Is specified. Subsequently, the extraction unit 9a selects the IP of the data server 11d that holds the newly identified data block “b” from the table 8a illustrated in FIG. 4A for the unselected IP address “192.168.1.4”. Recognize that it is an address.
  • the extraction unit 9a counts the number “0” of the IP addresses of the data server 11 that holds the newly identified data block “a”. Further, the extraction unit 9a counts the number “1” of the IP addresses of the data server 11d that holds the newly identified data block “b”. That is, the extraction unit 9a specifies the number “0” of the data servers 11 that hold the newly specified data block “a”. Further, the extraction unit 9a specifies the number “1” of the data servers 11 that hold the newly specified data block “b”.
  • the extraction unit 9a determines that the number of identified data blocks among the identified data blocks is “N ⁇ 1”, that is, “0”. Subsequently, the extraction unit 9a registers the selected IP address “192.168.1.3” in the third list 8d. As a result, as shown in FIG. 6C, the data server 11c remains from the figure.
  • the extraction unit 9a selects the IP address “192.168.1.4” corresponding to the data server 11d from the unselected IP addresses registered in the first list 8a. select. Then, the extraction unit 9a specifies the data block “b” held by the data server 11d corresponding to the selected IP address “192.168.1.4” from the registered content of the table 8a illustrated in FIG. 4A. Subsequently, the extraction unit 9a holds a newly identified data block “b” from the table 8a illustrated in FIG. 4A for the IP address “192.168.1.3” registered in the third list 8d. It recognizes that it is the IP address of the data server 11c.
  • the extraction unit 9a counts the number “1” of the IP addresses of the data server 11c that holds the newly specified data block “b”. That is, the extraction unit 9a specifies the number “1” of data servers 11 that hold the newly specified data block “b”.
  • the extraction unit 9a determines that the specified number of all specified data blocks is not “N ⁇ 1”, that is, “0”. Subsequently, the extraction unit 9a registers the selected IP address “192.168.1.4” in the second list 8c. Thereby, as shown to FIG. 6D, the data server 11d is deleted from a figure. As a result, as shown in FIG. 6D, the data servers 11a, 11b, and 11d other than the data server 11c are shut down.
  • the extraction unit 9a determines that the specified number “2” is not “N ⁇ 1”, that is, “0”.
  • the extraction unit 9a registers the selected IP address “192.168.1.1” in the second list 8c. Thereby, as shown in FIG. 7B, the data server 11a is deleted.
  • the extraction unit 9a selects the IP address “192.168.1.2” corresponding to the data server 11b from among the unselected IP addresses registered in the first list 8a. Then, the extraction unit 9a determines the data block “a” and “b” held by the data server 11b corresponding to the selected IP address “192.168.1.2” from the registered content of the table 8a illustrated in FIG. 4B. Is specified. Subsequently, the extraction unit 9a stores data blocks “a” and “b” newly identified from the table 8a illustrated in FIG. 4B for the unselected IP address “192.168.1.3”. It recognizes that it is the IP address of the server 11c.
  • the extraction unit 9a extracts the IP address of the data server 11d that holds the newly identified data block “b” from the table 8a illustrated in FIG. 4B for the unselected IP address “192.168.1.4”. Recognize that. Subsequently, the extraction unit 9a stores, for the unselected IP address “192.168.1.5”, data that does not hold the newly identified data blocks “a” and “b” from the table 8a illustrated in FIG. 4B. It recognizes that it is the IP address of the server 11e. Further, the extraction unit 9a stores the newly specified data blocks “a” and “b” from the table 8a shown in FIG. 4B for the unselected IP address “192.168.1.6”. Recognize that the IP address is 11f.
  • the extraction unit 9a counts the number of IP addresses “1” of the data server 11c that holds the newly specified data block “a” from these results. Further, the extraction unit 9a counts the number “2” of IP addresses of the data servers 11c and 11d that hold the newly identified data block “b”. That is, the extraction unit 9a specifies the number “1” of the data servers 11 that hold the newly specified data block “a”. The extraction unit 9a identifies the number “2” of data servers 11 that hold the newly identified data block “b”.
  • the extraction unit 9a determines that the specified number of all specified data blocks is not “N ⁇ 1”, that is, “0”. Subsequently, the extraction unit 9a registers the selected IP address “192.168.1.2” in the second list 8c. Thereby, as shown in FIG. 7C, the data server 11b is deleted.
  • the extraction unit 9a selects the IP address “192.168.1.3” corresponding to the data server 11c from the unselected IP addresses registered in the first list 8a. select. Then, the extraction unit 9a determines the data block “a” and “b” stored in the data server 11c corresponding to the selected IP address “192.168.1.3” from the registered content of the table 8a illustrated in FIG. 4B. Is specified. Subsequently, the extraction unit 9a selects the IP of the data server 11d that holds the newly identified data block “b” from the table 8a illustrated in FIG. 4B for the unselected IP address “192.168.1.4”. Recognize that it is an address.
  • the extraction unit 9a stores, for the unselected IP address “192.168.1.5”, data that does not hold the newly identified data blocks “a” and “b” from the table 8a illustrated in FIG. 4B. It recognizes that it is the IP address of the server 11e. Further, the extraction unit 9a stores the newly specified data blocks “a” and “b” from the table 8a shown in FIG. 4B for the unselected IP address “192.168.1.6”. Recognize that the IP address is 11f. Then, the extraction unit 9a counts the number of IP addresses “0” of the data server 11 that holds the newly specified data block “a” from these results.
  • the extraction unit 9a counts the number “1” of the IP addresses of the data server 11d that holds the newly identified data block “b”. That is, the extraction unit 9a specifies the number “0” of the data servers 11 that hold the newly specified data block “a”. Further, the extraction unit 9a specifies the number “1” of the data servers 11 that hold the newly specified data block “b”.
  • the extraction unit 9a determines that the number of identified data blocks among the identified data blocks is “N ⁇ 1”, that is, “0”. Subsequently, the extraction unit 9a registers the selected IP address “192.168.1.3” in the third list 8d. As a result, as shown in FIG. 7C, the data server 11c remains from the figure.
  • the extraction unit 9a selects the IP address “192.168.1.4” corresponding to the data server 11d from the unselected IP addresses registered in the first list 8a. select. Then, the extraction unit 9a determines the data block “b” and “c” stored in the data server 11d corresponding to the selected IP address “192.168.1.4” from the registered content of the table 8a illustrated in FIG. 4B. Is specified. Subsequently, the extraction unit 9a holds a newly identified data block “b” from the table 8a illustrated in FIG. 4B for the IP address “192.168.1.3” registered in the third list 8d. It recognizes that it is the IP address of the data server 11c.
  • the extraction unit 9a selects the IP of the data server 11e that holds the newly identified data block “c” from the table 8a illustrated in FIG. 4B for the unselected IP address “192.168.1.5”. Recognize that it is an address. Further, the extraction unit 9a selects the IP address of the data server 11f that holds the newly identified data block “c” from the table 8a illustrated in FIG. 4B for the unselected IP address “192.168.1.6”. Recognize that. Then, the extraction unit 9a counts the number of IP addresses “1” of the data server 11c that holds the newly identified data block “b” from these results.
  • the extraction unit 9a counts the number “2” of IP addresses of the data servers 11e and 11f that hold the newly identified data block “c”. That is, the extraction unit 9a specifies the number “1” of data servers 11 that hold the newly specified data block “b”. Further, the extraction unit 9a specifies the number “2” of the data servers 11 that hold the newly specified data block “c”.
  • the extraction unit 9a determines that the specified number of all specified data blocks is not “N ⁇ 1”, that is, “0”. Subsequently, the extraction unit 9a registers the selected IP address “192.168.1.4” in the second list 8c. Thereby, as shown to FIG. 7D, the data server 11d is deleted from a figure.
  • the extraction unit 9a selects the IP address “192.168.1.5” corresponding to the data server 11e from the unselected IP addresses registered in the first list 8a. select. Then, the extraction unit 9a specifies the data block “c” held by the data server 11e corresponding to the selected IP address “192.168.1.5” from the registered content of the table 8a illustrated in FIG. 4B. Subsequently, the extraction unit 9a holds a newly identified data block “c” from the table 8a illustrated in FIG. 4B for the IP address “192.168.1.3” registered in the third list 8d. It recognizes that it is the IP address of the data server 11c that does not.
  • the extraction unit 9a selects the IP of the data server 11f that holds the newly identified data block “c” from the table 8a illustrated in FIG. 4B for the unselected IP address “192.168.1.6”. Recognize that it is an address. Then, the extraction unit 9a counts the number “1” of IP addresses of the data server 11f that holds the newly identified data block “c” from these results. That is, the extraction unit 9a specifies the number “1” of the data servers 11 that hold the newly specified data block “c”.
  • the extraction unit 9a determines that the specified number of all specified data blocks is not “N ⁇ 1”, that is, “0”. Subsequently, the extraction unit 9a registers the selected IP address “192.168.1.5” in the second list 8c. As a result, as shown in FIG. 7E, the data server 11e is deleted from the drawing.
  • the extraction unit 9a selects the IP address “192.168.1.6” corresponding to the data server 11f from the unselected IP addresses registered in the first list 8a. select. Then, the extraction unit 9a specifies the data block “c” held by the data server 11f corresponding to the selected IP address “192.168.1.6” from the registered content of the table 8a illustrated in FIG. 4B. Subsequently, the extraction unit 9a holds a newly identified data block “c” from the table 8a illustrated in FIG. 4B for the IP address “192.168.1.3” registered in the third list 8d. It recognizes that it is the IP address of the data server 11c that does not.
  • the extraction unit 9a counts the number “0” of the IP addresses of the data server 11 that holds the newly specified data block “c”. That is, the extraction unit 9a specifies the number “0” of the data servers 11 that hold the newly specified data block “c”.
  • the extraction unit 9a determines that the number of identified data blocks among the identified data blocks is “N ⁇ 1”, that is, “0”. Subsequently, the extraction unit 9a registers the selected IP address “192.168.1.6” in the third list 8d. As a result, as shown in FIG. 7E, the data server 11f remains from the figure. As a result, as shown in FIG. 7E, the data servers 11a, 11b, 11d, and 11e other than the data servers 11c and 11f are shut down.
  • the stopping unit 9b reads the second list 8c.
  • the stopping unit 9b reads the third list 8d. Then, the stopping unit 9b determines whether or not the number of IP addresses registered in the second list 8c is zero. If the number is not 0, the stopping unit 9b includes the IP address registered in the second list 8c in the shutdown execution instruction and transmits the shutdown execution instruction including the IP address to the communication unit 7. To do. As a result, the shutdown execution instruction is transmitted to the data server 11 indicated by the destination IP address included in the instruction. The data server 11 that has received such an instruction shuts down based on the instruction. In this way, the stopping unit 9b stops the data server 11 excluding the set of data servers 11 extracted by the extracting unit 9a from among the plurality of data servers 11.
  • FIG. 8A, FIG. 8B, FIG. 9A, and FIG. 9B are diagrams for explaining an example of processing executed by the management server according to the second embodiment.
  • the HDFS 10 includes data servers 11a to 11d.
  • the stop unit 9b includes the IP addresses of the data servers 11a, 11b, and 11d.
  • An instruction to execute shutdown is transmitted to the communication unit 7.
  • the management server 4 can degenerate the HDFS 10 with only one shutdown execution instruction.
  • the HDFS 10 includes n data servers 11a to 11n.
  • a case where there are two data blocks “a” and “b” obtained as a result of dividing the file in the HDFS 10 is shown.
  • the stop unit 9b when the IP address of the data server 11 other than the data server 11n is registered in the second list 8c, the stop unit 9b includes the IP address of the data server 11 other than the data server 11.
  • the shutdown execution instruction is transmitted to the communication unit 7.
  • FIG. 9B the data servers 11 other than the data server 11n are shut down.
  • the holding control unit 9c When the stop unit 9b determines that the number of IP addresses registered in the second list 8c is zero, the holding control unit 9c performs the following process. That is, the holding control unit 9 c includes the IP address registered in the third list 8 d in the data block transfer instruction, and transmits the data block transfer instruction including the IP address to the communication unit 7. As a result, the data block transfer instruction is transmitted to the data server 11 indicated by the destination IP address included in the instruction.
  • the data server 11 that has received the instruction transfers the data block stored in the storage device 12 to another data server 11 based on the instruction.
  • the other data server 11 that has received the data block stores the received data block in the storage device 12. In this way, the holding control unit 9c transfers the data blocks held by the data server 11 except for the data server 11 stopped by the stopping unit 9b to the other data servers 11 from among the plurality of data servers 11. Control to hold.
  • the holding control unit 9c performs the following process. That is, the holding control unit 9c includes the IP addresses “192.168.1.3” and “192.168.1.6” registered in the third list 8d in the data block transfer instruction. Then, the holding control unit 9 c transmits an instruction to transfer the data block including the IP address to the communication unit 7. Thereby, an instruction to transfer the data block is transmitted to the data servers 11c and 11f.
  • the data server 11c that receives the instruction transfers the data block “a” and the data block “b” stored in the storage device 12c to the other data server 11f based on the instruction.
  • the data server 11 f stores the data block “a” and the data block “b” in the storage device 12 f.
  • the data server 11f that has received the instruction transfers the data block “c” stored in the storage device 12f to the other data server 11c based on the instruction.
  • the data server 11c that has received the data block “c” stores the data block “c” in the storage device 12c.
  • the data block “a”, the data block “b”, and the data block “c” are stored in the storage device 12c and the storage device 12f.
  • the update unit 9d updates various types of information. For example, for the data server 11 that has been shut down, the update unit 9d updates the table 8a so that the association between the IP address corresponding to the data server 11 and the identification information of the data block held by the data server 11 is canceled. To do. In addition, when the data block is transferred between the data servers 11, the update unit 9 d can be consistent with the status of the data block held by each data server 11 after the data block is transferred. In addition, the registered contents of the table 8a are updated. For example, when the status of the data block held by each data server 11 after the transfer of the data block is the status shown in FIG. 7F, the update unit 9d performs the following update.
  • the update unit 9d associates the IP address of the data server 11c with the identification information “a”, “b”, and “c”, and also associates the IP address of the data server 11f with the identification information “a”, “
  • the table 8 is updated so that the contents in which “b” and “c” are associated with each other are registered.
  • the updating unit 9d calculates the number N2 of data servers that are not shut down by counting the number of IP addresses registered in the third list 8d. For example, in the example shown in FIG. 6D, the number “1” of the IP address “192.168.1.3” registered in the third list 8d is calculated as the number N2. 7F, the number “2” of the IP addresses “192.168.1.3” and “192.168.1.6” registered in the third list 8d is set to the number N2. Calculate as
  • the updating unit 9d determines whether or not the calculated number N2 is equal to or less than the number N1 described above. For example, when the value of the number N1 is “1” and the value of the calculated number N2 is “1”, the update unit 9d determines that the calculated number N2 is equal to or less than the number N1. When the value of the number N1 is “1” and the calculated number N2 is “2”, the update unit 9d determines that the calculated number N2 is not less than or equal to the number N1.
  • the updating unit 9d updates the first list 8a with the contents of the third list 8d. For example, when the IP addresses “192.168.1.3” and “192.168.1.6” are registered in the third list 8d, the update unit 9d performs the following process. . That is, the update unit 9d updates the first list 8a so that the registered contents are the IP addresses “192.168.1.3” and “192.168.1.6”. Then, the update unit 9d deletes all IP addresses from the second list 8c. In addition, the update unit 9d deletes all IP addresses from the third list 8d.
  • the extracting unit 9a uses the first list 8a. And the above-described processing is performed again. For example, in the case of FIG. 7F, the extraction unit 9a selects the IP address “192.168.1.3” corresponding to the data server 11c from the unselected IP addresses registered in the first list 8a. To do. And the extraction part 9a performs the following processes from the registration content of the table 8a shown to FIG. 4B. That is, the extraction unit 9a performs the data block “a”, the data block “b”, and the data “c” stored in the data server 11f corresponding to the selected IP address “192.168.1.3”.
  • the extraction unit 9a creates the newly identified data “a”, “b”, and “c” from the table 8a illustrated in FIG. 4B for the unselected IP address “192.168.1.6”. It recognizes that it is the IP address of the data server 11f holding the block. Then, from this result, the extraction unit 9a counts the number of IP addresses “1” of the data server 11 that holds the newly specified data blocks “a”, “b”, and “c”. To do. That is, the extraction unit 9a specifies the number “1” of the data servers 11 that hold the newly specified data blocks “a”, “b”, and “c”.
  • the extraction unit 9a determines that the specified number of all specified data blocks is not “N ⁇ 1”, that is, “0”. Subsequently, the extraction unit 9a registers the selected IP address “192.168.1.3” in the second list 8c. Thereby, as shown to FIG. 7G, the data server 11c is deleted from a figure. As a result, as shown in FIG. 7G, the data servers 11a to 11e other than the data server 11f are shut down.
  • the display control unit 9e performs control so that various types of information are displayed. For example, when the updating unit 9d determines that the number N2 is equal to or less than the number N1, the display control unit 9e performs the following process. That is, the display control unit 9e displays the output unit 6 so that the IP address registered in the second list 8c is displayed on the output unit 6 as the IP address of the data server 11 shut down as a result of the degeneration of the HDFS 10. Control. In addition, the display control unit 9e displays the IP address registered in the third list 8d on the output unit 6 as the IP address of the data server 11 that has not been shut down as a result of the degeneration of the HDFS 10. The output unit 6 is controlled.
  • the display control unit 9e when the stop unit 9b determines that the number of IP addresses registered in the second list 8c is 0, the output unit 6 so as to perform a predetermined error display. To control.
  • the control unit 9 is an integrated circuit such as Application Specific Integrated Circuit (ASIC). Further, the control unit 9 may be a field programmable gate array (FPGA). Further, the control unit 9 may be an electronic circuit such as a central processing unit (CPU). Further, the control unit 9 may be a micro processing unit (MPU).
  • ASIC Application Specific Integrated Circuit
  • FPGA field programmable gate array
  • CPU central processing unit
  • MPU micro processing unit
  • FIG. 10 is a flowchart illustrating a degeneration process procedure according to the second embodiment.
  • the reduction process is executed when an instruction for executing the reduction process is input from the input unit 5 to the control unit 9.
  • the extraction unit 9a determines whether or not the number N1 of data servers 11 has been input from the input unit 5 (S1). When the number N1 is not input (No in S1), the extraction unit 9a performs the determination of S1 again.
  • FIG. 11 is a flowchart illustrating the procedure of the extraction process according to the second embodiment.
  • the extraction unit 9a reads the first list 8a (S21). Subsequently, the extraction unit 9a acquires the table 8a from the name server 20, stores the acquired table 8a in the storage unit 8, and reads the table 8a stored in the storage unit 8 (S22). Thereafter, the extraction unit 9a selects one unselected IP address from the IP addresses registered in the first list 8a (S23).
  • the extraction unit 9a identifies the data block held by the data server 11 corresponding to the selected IP address from the registered contents of the read table 8a (S24). Subsequently, the extraction unit 9a selects the next IP address corresponding to the unselected IP address registered in the first list 8a and the IP address registered in the third list 8d, as follows: Perform the following process. That is, the extraction unit 9a identifies the number of data servers 11 that hold data blocks for each identified data block (S25).
  • the extracting unit 9a determines whether or not the number of identified data blocks among the identified data blocks is “N ⁇ 1” (S26).
  • the extraction unit 9a registers the selected IP address in the second list 8c (S28).
  • the extracting unit 9a selects the selected IP address from the third list 8d. (S27).
  • the extraction unit 9a determines whether there is an unselected IP address among the IP addresses registered in the first list 8a (S29). If there is an unselected IP address (Yes at S29), the extraction unit 9a returns to S23, selects an unselected IP address, and performs the above-described process again. On the other hand, when there is no unselected IP address (No in S29), the extraction unit 9a stores the processing result in the internal memory and returns.
  • the stopping unit 9b reads the second list 8c (S3). Then, the stopping unit 9b reads the third list 8d (S4). Subsequently, the stopping unit 9b determines whether or not the number of IP addresses registered in the second list 8c is zero (S5). When the number is zero (Yes in S5), the display control unit 9e controls the output unit 6 so as to perform a predetermined error display (S15), and ends the process.
  • the stopping unit 9b includes the IP address registered in the second list 8c in the shutdown execution instruction and the shutdown execution instruction including the IP address. Is transmitted to the communication unit 7 (S6).
  • the holding control unit 9c includes the IP address registered in the third list 8d in the data block transfer instruction, and transmits the data block transfer instruction including the IP address to the communication unit 7 ( S7).
  • the update unit 9d sets the table 8a so as to cancel the association between the IP address corresponding to the data server 11 and the identification information of the data block held by the data server 11. Update.
  • the updating unit 9d updates the registered content of the table 8a so as to be consistent with the status of the data block held by each data server 11 after the transfer of the data block (S8).
  • the update unit 9d calculates the number N2 of data servers that have not been shut down by counting the number of IP addresses registered in the third list 8d (S9). Then, the update unit 9d determines whether or not the calculated number N2 is equal to or less than the number N1 described above (S10).
  • the updating unit 9d updates the first list 8a with the contents of the third list 8d (S11). Then, the update unit 9d deletes all IP addresses from the second list 8c (S12). Subsequently, the update unit 9d deletes all IP addresses from the third list 8d (S13), and returns to S2.
  • the display control unit 9e performs the following process. That is, the display control unit 9e displays the output unit 6 so that the IP address registered in the second list 8c is displayed on the output unit 6 as the IP address of the data server 11 shut down as a result of the degeneration of the HDFS 10. Control. In addition, the display control unit 9e displays the IP address registered in the third list 8d on the output unit 6 as the IP address of the data server 11 that has not been shut down as a result of the degeneration of the HDFS 10. The output unit 6 is controlled (S14), and the process is terminated.
  • the management server 4 includes the IP address for identifying each of the plurality of data servers 11 and the identification information for identifying the data block held by the data server 11 corresponding to the IP address.
  • the data are stored in the storage unit 8 in association with each other.
  • the management server 4 is a data server in which the number of data servers 11 that hold data blocks for each data block is a predetermined value N among the plurality of data servers 11 based on the storage contents of the storage unit 8. Eleven sets are extracted. Therefore, according to the management server 4 according to the present embodiment, when the HDFS 10 having a plurality of data servers 11 is degenerated, a set of data servers 11 that are not to be stopped is extracted without causing a user such as an administrator to select the set. be able to. Therefore, according to the management server 4, an increase in load when the HDFS 10 is degenerated can be suppressed.
  • the management server 4 stops the data servers 11 excluding the set of extracted data servers 11 from the plurality of data servers 11. That is, when degrading the HDFS 10, the management server 4 uses the set of data servers 11 extracted without causing the user such as the administrator to select, and causes the user such as the administrator to select the data server 11 to be stopped. Without stopping the data server 11. For this reason, the management server 4 can suppress an increase in load when the HDFS 10 is degenerated.
  • the management server 4 causes the other data servers 11 to hold the data blocks held by the data servers 11 excluding the stopped data server 11 from the plurality of data servers 11. To control.
  • the management server 4 also causes other data servers 11 to hold data blocks held by the data servers 11 excluding the data servers 11 that are stopped from the plurality of data servers 11. Based on the controlled results, the following processing is performed. That is, the management server 4 updates the registered content of the table 8a stored in the storage unit 8. When the number N2 of data servers 11 excluding the data servers 11 stopped from the plurality of data servers 11 is larger than N1, the management server 4 is based on the updated registration contents of the table 8a. The following processing is performed. That is, the management server 4 has N data servers that hold data blocks for each data block among the data servers 11 excluding the stopped data server 11 among the plurality of data servers 11. A new set of data servers 11 is extracted.
  • the management server 4 repeatedly performs the above-described processing until the number N2 of the data servers 11 excluding the data servers 11 stopped from the plurality of data servers 11 becomes N1 or less. Therefore, according to the management server 4, the set of the data servers 11 is extracted so that the number N2 of the data servers 11 excluding the data servers 11 stopped from the plurality of data servers 11 is N1 or less. Can do.
  • all or part of the processes described as being automatically performed can be manually performed.
  • all or a part of the processes described as being performed manually can be automatically performed by a known method.
  • processing at each step of each processing described in each embodiment can be arbitrarily finely divided or combined according to various loads and usage conditions. Also, the steps can be omitted.
  • each component of each illustrated apparatus is functionally conceptual and does not necessarily need to be physically configured as illustrated.
  • the specific state of distribution / integration of each device is not limited to the one shown in the figure, and all or a part thereof may be functionally or physically distributed or arbitrarily distributed in arbitrary units according to various loads or usage conditions. Can be integrated and configured.
  • FIG. 12 is a diagram illustrating a computer that executes an extraction program.
  • the computer 300 includes an arithmetic device 310, a storage device 320, and an I / F 330.
  • the arithmetic device 310, the storage device 320, and the I / F 330 are connected via a bus.
  • the I / F 330 is connected to a keyboard, mouse, display, LAN (Local Area Network), and the like.
  • the storage device 320 stores a basic program such as an OS (Operating System).
  • the storage device 320 stores an extraction program 320a that performs the same functions as the extraction unit 3 or 9a, the stop unit 9b, the holding control unit 9c, the update unit 9d, and the display control unit 9e described in the above embodiments. .
  • the extraction program 320a may be separated as appropriate.
  • the storage device 320 is provided with a table, a first list, a second list, and a third list. The table, the first list, the second list, and the third list correspond to the table 8a, the first list 8b, the second list 8c, and the third list 8d described above.
  • the arithmetic device 310 reads the extraction program 320a from the storage device 320 and executes it.
  • extraction program 320a is not necessarily stored in the storage device 320 from the beginning.
  • the extraction program 320a is stored in a “portable physical medium” such as a flexible disk (FD), a CD-ROM, a DVD disk, a magneto-optical disk, or an IC card inserted into the computer 300. Then, the computer 300 may read out and execute the extraction program 320a from these.
  • a “portable physical medium” such as a flexible disk (FD), a CD-ROM, a DVD disk, a magneto-optical disk, or an IC card inserted into the computer 300.
  • the computer 300 may read out and execute the extraction program 320a from these.
  • the extraction program 320a is stored in “another computer (or server)” connected to the computer 300 via a public line, the Internet, a LAN, a WAN, or the like. Then, the computer 300 may read out and execute the extraction program 320a from these.

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)

Abstract

 抽出装置(1)は、記憶部(2)と、抽出部(3)とを有する。記憶部(2)は、複数のサーバのそれぞれを識別する第1の識別情報(2a)と、第1の識別情報(2a)が示すサーバが保持するデータを識別する第2の識別情報(2b)とを対応付けて記憶する。抽出部(3)は、記憶部(2)の記憶内容に基づいて、複数のサーバの中から、データごとのデータを保持するサーバの台数が所定値となるようなサーバの集合を抽出する。

Description

抽出装置、抽出プログラムおよびシステム
 本発明は、抽出装置、抽出プログラムおよびシステムに関する。
 近年、システムで扱うファイルのデータサイズが増大している。そして、データサイズが増大したファイルを扱うことができるように様々な技術が開発されている。かかる技術の一例としては、Hadoop分散ファイルシステム(Hadoop Distributed File System)がある。以下、Hadoop分散ファイルシステムを「HDFS」と略記する。HDFSは、数十TB(Tera Byte)から数PB(Pico Byte)の膨大なデータサイズのファイルを扱うことができる。
 HDFSでは、ファイルを分割した複数のデータブロックのそれぞれのレプリカ(複製)が、所定のレプリケーション数分の台数のデータサーバに格納される。例えば、レプリケーション数が「3」である場合、HDFSでは、ファイルを分割した複数のデータブロックのそれぞれのレプリカが、3台のデータサーバに格納される。
 図13は、HDFSの一例を説明するための図である。図13の例では、HDFS50は、ネームサーバ51と、複数のデータサーバ70a~70dとを有する。ネームサーバ51は、数十TBから数PBのデータサイズのファイル60が入力されると、ファイル60を、数十MB(Mega Byte)から数百MBのデータサイズの複数のデータブロックに分割する。図13の例では、ネームサーバ51は、ファイル60を「a」というデータブロック60aと、「b」というデータブロック60bに分割する。なお、HDFS50内の他の装置がファイル60を複数のデータブロックに分割する場合もある。
 そして、ネームサーバ51は、データブロック60aのレプリカ61aを生成し、生成したレプリカ61aを所定のレプリケーション数分の台数のデータサーバに送信する。図13の例に示すネームサーバ51には、デフォルトでレプリケーション数「3」が設定されているため、ネームサーバ51は、3台のデータサーバ70a、70b、70cにレプリカ61aを送信する。同様に、ネームサーバ51は、3台のデータサーバ70b、70c、70dにレプリカ61bを送信する。
 レプリカ61aを受信したデータサーバ70aは、記憶装置71aにレプリカ61aを格納する。同様に、レプリカ61aを受信したデータサーバ70bは、記憶装置71bにレプリカ61aを格納し、レプリカ61aを受信したデータサーバ70cは、記憶装置71cにレプリカ61aを格納する。
 また、レプリカ61bを受信したデータサーバ70bは、記憶装置71bにレプリカ61bを格納する。同様に、レプリカ61bを受信したデータサーバ70cは、記憶装置71cにレプリカ61bを格納し、レプリカ61bを受信したデータサーバ70dは、記憶装置71dにレプリカ61bを格納する。
 また、ネームサーバ51は、レプリカ61aおよびレプリカ61bのそれぞれが配置されているデータサーバを示す情報が登録されるテーブル51aを有する。すなわち、ネームサーバ51は、テーブル51aにアクセスすることで、データブロックのレプリカが格納されたデータサーバを把握することができる。
 例えば、テーブル51aには、図13の例に示すように、レプリカ61aを識別するための識別情報「a」と、「#1」、「#2」および「#3」とが対応付けられて登録される。ここで、「#1」は、レプリカ61aが格納されたデータサーバ70aのIP(Internet Protocol)アドレスを指す。また、「#2」は、レプリカ61aが格納されたデータサーバ70bのIPアドレスを指す。また、「#3」は、レプリカ61aが格納されたデータサーバ70cのIPアドレスを指す。
 また、テーブル51aには、図13の例に示すように、レプリカ61bを識別するための識別情報「b」と、「#2」、「#3」および「#4」とが対応付けられて登録される。ここで、「#4」は、レプリカ61bが格納されたデータサーバ70dのIPアドレスを指す。
 データサーバ70a~70dのそれぞれは、HDFS50のブロック転送プロトコルによりデータブロックを転送することができる。また、データサーバ70a~70dのそれぞれは、互いに通信を行うことができる。例えば、データサーバ70a~70dのそれぞれは、他のデータサーバにデータブロックを転送して、他のデータサーバにデータブロックを新たに格納させることができる。
 また、ブロックとブロックが記憶された記憶領域とが対応付けられて登録されたロケーションテーブルを用いて、ブロックが記憶された記憶領域を特定する技術がある。かかる技術では、複数のセカンダリシステムうちのいずれかのセカンダリシステムに障害が発生した場合に、障害が発生したセカンダリシステムを切り離す際に、プライマリシステムのデータを、障害が発生していないセカンダリシステムにコピーする。
 また、2つのディスクドライブ制御装置を備えた記憶装置が、一方のディスクドライブ制御装置に障害が発生した場合に、障害が発生したディスクドライブ制御装置を切り離す技術がある。この場合、記憶装置は、他方のディスクドライブ制御装置を用いて処理を継続する。
 また、障害が発生したノードを切り離して、他のノードの負荷が均等となるように制御する技術がある。
特開2001-356945号公報 特開平8-335144号公報 特開2007-156679号公報
 しかしながら、上述したHDFSでは、システムを縮退させる場合の負荷が大きいという問題がある。
 システムを縮退させる場合の負荷が大きくなる理由の一例について説明する。以下、HDFSのデータサーバをシャットダウンさせ、シャットダウンされたデータサーバをHDFSから切り離し、切り離されたデータサーバにパッチを適用する保守作業を管理者などが行う場合について説明する。例えば、HDFSでは、デフォルトのレプリケーション数が「3」であるため、データブロックのレプリカを保持するデータサーバの台数も「3」となる。すなわち、HDFSでは、レプリカが3つしか存在しないため、レプリカが3つ同時に失われると、元のファイルを復旧させるのが困難となる。そのため、HDFSでは、元のファイルを復旧させるために、管理者などが任意に選択してシャットダウンさせることが可能なデータサーバの台数は、2台までとなる。すなわち、レプリケーション数を「R」とすると、管理者などがHDFSを縮退させる場合には、データサーバを(R-1)台ずつ切り離すことができる。そして、管理者などがHDFSを縮退させる場合には、切り離されたデータサーバが保持するデータブロックと同一のデータブロックを保持するデータサーバから、他のデータサーバにデータブロックを送信して、データブロックを他のデータサーバにコピーさせる。管理者などは、上述したような処理を繰り返し行うことで、元のファイルへの復元が容易となるようなHDFSの縮退を行うことができる。
 図14A~図14Dは、HDFSの縮退方法の一例を説明するための図である。図14Aは、HDFS50が、データサーバ70a~70dを有する場合を示す。また、データサーバ70a~70dのそれぞれは、記憶装置71a~71dのそれぞれを有する。図14Aの例では、記憶装置71aは、「a」というブロックデータのレプリカ61aを記憶する。また、記憶装置71bは、レプリカ61a、および、「b」というブロックデータのレプリカ61bを記憶する。また、記憶装置71cは、レプリカ61aおよびレプリカ61bを記憶する。また、記憶装置71dは、レプリカ61bを記憶する。
 図14Aの例において、HDFS50の縮退を行う管理者は、データサーバ70a~70dのうち、任意に2台のデータサーバをシャットダウンさせ、シャットダウンされたデータサーバをHDFS50から切り離す。例えば、管理者は、データサーバ70bおよびデータサーバ70dをシャットダウンさせ、データサーバ70bおよびデータサーバ70dをHDFS50から切り離し、切り離されたデータサーバ70bおよびデータサーバ70dにパッチを適用する。この結果、HDFS50に存在するデータサーバは、図14Bの例に示すように、データサーバ70aおよびデータサーバ70cとなる。
 ここで、図14Bの例に示すように、データサーバ70aの記憶装置71aには、レプリカ61bが記憶されていない。このため、管理者は、データサーバ70cに、レプリカ61bをデータサーバ70aに送信する指示を図示しないマウスやキーボードなどの操作受付部を介して入力する。すると、データサーバ70cは、レプリカ61bをデータサーバ70aに送信し、レプリカ61bを受信したデータサーバ70aは、図14Cの例に示すように、受信したレプリカ61bを記憶装置71aに格納する。
 そして、管理者は、レプリカ61aおよびレプリカ61bを保持するデータサーバ70aおよびデータサーバ70cのうち、いずれかのデータサーバをシャットダウンさせ、HDFS50から切り離し、切り離されたデータサーバにパッチを適用する。例えば、管理者は、データサーバ70aをシャットダウンさせ、HDFS50から切り離し、切り離されたデータサーバ70aにパッチを適用する。この結果、HDFS50に存在するデータサーバは、図14Dの例に示すように、データサーバ70cとなる。
 しかしながら、管理者は、データサーバを(R-1)台ずつ切り離していくため、データサーバの台数が所定の台数となるまで、HDFS50を縮退させる場合の負荷が大きい。特に、HDFS50のデータサーバの数が数十台あるいは数百台以上となった場合、パッチを適用する前の縮退に多くの時間がかかってしまう。そのため、上述した技術では、システムを縮退させる場合の負荷が大きいという問題がある。
 なお、かかる問題は、HDFSを縮退させる場合に限られず、複数のサーバのそれぞれがデータを保持するようなシステムを縮退させる場合においても同様に存在する。
 開示の技術は、システムを縮退させる場合の負荷の増大を抑制することを目的とする。
 本願の開示する抽出装置は、記憶部と、抽出部とを有する。記憶部は、複数のサーバのそれぞれを識別する第1の識別情報と、第1の識別情報が示すサーバが保持するデータを識別する第2の識別情報とを対応付けて記憶する。抽出部は、記憶部の記憶内容に基づいて、複数のサーバの中から、データごとのデータを保持するサーバの台数が第1の所定値となるようなサーバの集合を抽出する。
 システムを縮退させる場合の負荷の増大を抑制することができる。
図1は、実施例1に係る抽出装置の機能構成の一例を示す図である。 図2は、実施例2に係る管理サーバが適用されたHDFSの全体構成図の一例を示す図である。 図3は、実施例2に係る管理サーバの機能構成の一例を示す図である。 図4Aは、テーブルのデータ構造の一例を示す図である。 図4Bは、テーブルのデータ構造の一例を示す図である。 図5Aは、第1のリストの一例を示す図である。 図5Bは、第2のリストの一例を示す図である。 図5Cは、第3のリストの一例を示す図である。 図6Aは、実施例2に係る管理サーバが実行する処理の一例を説明するための図である。 図6Bは、実施例2に係る管理サーバが実行する処理の一例を説明するための図である。 図6Cは、実施例2に係る管理サーバが実行する処理の一例を説明するための図である。 図6Dは、実施例2に係る管理サーバが実行する処理の一例を説明するための図である。 図7Aは、実施例2に係る管理サーバが実行する処理の他の例を説明するための図である。 図7Bは、実施例2に係る管理サーバが実行する処理の他の例を説明するための図である。 図7Cは、実施例2に係る管理サーバが実行する処理の他の例を説明するための図である。 図7Dは、実施例2に係る管理サーバが実行する処理の他の例を説明するための図である。 図7Eは、実施例2に係る管理サーバが実行する処理の他の例を説明するための図である。 図7Fは、実施例2に係る管理サーバが実行する処理の他の例を説明するための図である。 図7Gは、実施例2に係る管理サーバが実行する処理の他の例を説明するための図である。 図8Aは、実施例2に係る管理サーバが実行する処理の一例を説明するための図である。 図8Bは、実施例2に係る管理サーバが実行する処理の一例を説明するための図である。 図9Aは、実施例2に係る管理サーバが実行する処理の一例を説明するための図である。 図9Bは、実施例2に係る管理サーバが実行する処理の一例を説明するための図である。 図10は、実施例2に係る縮退処理の手順を示すフローチャートである。 図11は、実施例2に係る抽出処理の手順を示すフローチャートである。 図12は、抽出プログラムを実行するコンピュータを示す図である。 図13は、HDFSの一例を説明するための図である。 図14Aは、HDFSの縮退方法の一例を説明するための図である。 図14Bは、HDFSの縮退方法の一例を説明するための図である。 図14Cは、HDFSの縮退方法の一例を説明するための図である。 図14Dは、HDFSの縮退方法の一例を説明するための図である。
 以下に、本願の開示する抽出装置、抽出プログラムおよびシステムの各実施例を図面に基づいて詳細に説明する。なお、各実施例は開示の技術を限定するものではない。そして、各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
[抽出装置1の機能構成の一例]
 実施例1に係る抽出装置について説明する。図1は、実施例1に係る抽出装置の機能構成の一例を示す図である。図1に示すように、抽出装置1は、記憶部2と、抽出部3とを有する。抽出装置1は、例えば、複数のサーバのうち、縮退する際に停止させないサーバの集合を抽出する。
 記憶部2は、複数のサーバのそれぞれを識別する第1の識別情報2aと、第1の識別情報2aが示すサーバが保持するデータを識別する第2の識別情報2bとを対応付けて記憶する。
 抽出部3は、記憶部2の記憶内容に基づいて、複数のサーバの中から、データごとのデータを保持するサーバの台数が所定値となるようなサーバの集合を抽出する。
 上述したように、実施例1に係る抽出装置1は、複数のサーバの中から、データごとのデータを保持するサーバの台数が所定値となるようなサーバの集合を抽出する。したがって、本実施例に係る抽出装置1によれば、複数のサーバを有するシステムを縮退する場合に、停止させないサーバの集合を、ユーザに選択させることなく、抽出することができる。そのため、抽出装置1によれば、システムを縮退させる場合の負荷の増大を抑制することができる。
 次に、実施例2に係る管理サーバについて説明する。図2は、実施例2に係る管理サーバが適用されたHDFSの全体構成図の一例を示す図である。図2に示すように、HDFS10は、管理サーバ4と、ネームサーバ20と、データサーバ11a、11b、11c、11dおよび図示しない他のデータサーバとを有する。データサーバ11a、11b、11c、11dのそれぞれは、記憶装置12a、12b、12c、12dのそれぞれを有する。また、図示しない他のデータサーバについても同様にそれぞれ記憶装置を有する。以下の説明では、データサーバ11a、11b、11c、11dおよび図示しない他のデータサーバを区別しない場合には、データサーバ11と総称する。また、記憶装置12a、12b、12c、12d、および、図示しない他のデータサーバが有する記憶装置についても、区別しない場合には、記憶装置12と総称する。
 管理サーバ4と、データサーバ11と、ネームサーバ20とは、互いにネットワークを介して接続されている。そのため、管理サーバ4と、データサーバ11と、ネームサーバ20とは、互いに通信可能である。
 管理サーバ4およびネームサーバ20の各サーバの台数は、1台に限られず、任意の台数を採用することができる。また、データサーバ11の台数についても同様に任意の複数の台数を採用することができる。
 ネームサーバ20は、ファイルが入力されると、ファイルを複数のデータブロックに分割する。そして、ネームサーバ20は、複数のデータブロックのそれぞれのレプリカを生成する。続いて、ネームサーバ20は、生成したレプリカのそれぞれを所定のレプリケーション数分の台数のデータサーバ11に送信する。例えば、デフォルトのレプリケーション数が「3」である場合には、ネームサーバ20は、生成したレプリカのそれぞれを3台のデータサーバに送信する。データブロックと、データブロックのレプリカとは同一のデータであるため、以下の説明においては、データブロックのレプリカを、単に、データブロックと表記する。
 また、ネームサーバ20は、データブロックを示す情報およびデータブロックが配置されているデータサーバ11を示す情報が対応付けられて登録されるテーブル8aを有する。ネームサーバ20は、テーブル8aにアクセスすることで、データブロックが格納されたデータサーバ11を把握することができる。
 データブロックを受信したデータサーバ11は、データサーバ11が有する記憶装置12にデータブロックを格納する。これにより、HDFS10において、複数のデータブロックが分散されてデータサーバ11に格納される。
 管理サーバ4は、実施例1に係る抽出装置1の一例である。管理サーバ4は、複数のデータサーバ11のそれぞれを識別するIPアドレスと、IPアドレスに対応するデータサーバ11が保持するデータブロックを識別する識別情報とを対応付けて記憶する。そして、管理サーバ4は、記憶内容に基づいて、複数のデータサーバ11の中から、データブロックごとのデータブロックを保持するデータサーバの台数が所定値Nとなるようなデータサーバ11の集合を抽出する。したがって、本実施例に係る管理サーバ4によれば、複数のデータサーバ11を有するHDFS10を縮退する場合に、停止させないデータサーバ11の集合を、ユーザに選択させることなく、抽出することができる。そのため、管理サーバ4によれば、HDFS10を縮退させる場合の負荷の増大を抑制することができる。
[管理サーバ4の機能構成の一例]
 図3は、実施例2に係る管理サーバの機能構成の一例を示す図である。図3に示すように、管理サーバ4は、入力部5、出力部6、通信部7、記憶部8、制御部9を有する。
 入力部5は、制御部9に各種の情報を入力する。例えば、入力部5は、後述の縮退処理を実行するための指示を受け付けて、受け付けた指示を制御部9に入力する。また、入力部5は、縮退処理を行った結果、シャットダウンされずに動作することが可能なデータサーバ11の台数N1を受け付けて、受け付けた台数N1を制御部9に入力する。入力部5は、例えば、キーボードやマウスなどのデバイスである。
 出力部6は、各種の情報を出力する。例えば、出力部6は、後述の表示制御部9eの制御により、抽出したデータサーバ11の集合を示す画像、例えば、抽出したデータサーバ11のIPアドレスを示す画像を表示する。また、出力部6は、後述の表示制御部9eの制御により、HDFS10の縮退が行われた結果、シャットダウンされていないデータサーバ11を示す画像、例えば、シャットダウンされていないデータサーバ11のIPアドレスを示す画像を表示する。出力部6は、例えば、ディスプレイなどの表示装置である。
 通信部7は、データサーバ11およびネームサーバ20との通信を行うためのインターフェースである。例えば、通信部7は、制御部9からシャットダウンの実行の指示を受信した場合には、受信した指示に含まれる送信先のIPアドレスが示すデータサーバ11へ指示を送信する。また、通信部7は、制御部9からデータブロックの転送の指示を受信した場合には、受信した指示に含まれる送信先のIPアドレスが示すデータサーバ11へ指示を送信する。
 記憶部8は、各種の情報を記憶する。例えば、記憶部8は、テーブル8a、第1のリスト8a、第2のリスト8c、第3のリスト8dを記憶する。
 テーブル8aには、複数のデータサーバ11のIPアドレスと、IPアドレスに対応するデータサーバ11が保持するデータブロックを識別する識別情報とが対応付けて登録される。テーブル8aは、後述の抽出部9aによって、ネームサーバ20から取得され、記憶部8に格納される。なお、テーブル8aは、実施例1において、対応付けられた第1の識別情報2aおよび第2の識別情報2bの一例である。
 図4Aおよび図4Bは、テーブルのデータ構造の一例を示す図である。例えば、図4Aに示すテーブル8aは、項目8eと、項目8fと、項目8gとを有する。項目8eには、HDFS10に入力されたファイルのファイル名が登録される。図4Aの例は、項目8eに、HDFS10に入力されたファイルのファイル名「A」が登録された場合を示す。
 また、項目8fには、項目8eに登録されたファイル名のファイルがネームサーバ20により分割されて得られたデータブロックの識別情報が登録される。図4Aの例は、項目8fに、項目8eに登録されたファイル名「A」のファイルがネームサーバ20により分割されて得られた「a」というデータブロックの識別情報「a」、および、「b」というデータブロックの識別情報「b」が登録された場合を示す。
 また、項目8gには、項目8fに登録された識別情報が示すデータブロックを保持するデータサーバ11のIPアドレスが登録される。図4Aの例は、項目8gに、項目8fに登録された識別情報「a」が示すデータブロックを保持するデータサーバ11のIPアドレス「#1」、「#2」、「#3」が登録された場合を示す。また、図4Aの例は、項目8gに、項目8fに登録された識別情報「b」が示すデータブロックを保持するデータサーバ11のIPアドレス「#2」、「#3」、「#4」が登録された場合を示す。なお、IPアドレスを示す表記として、便宜的に「#1」~「#4」などを用いる場合があるが、項目8gには、実際には「192.168.1.1」などのIPアドレスが登録される。以下、同様である。
 ここで、例えば、「#1」は、データサーバ11aのIPアドレスを指す。また、「#2」は、データサーバ11bのIPアドレスを指す。また、「#3」は、データサーバ11cのIPアドレスを指す。また、「#4」は、データサーバ11dのIPアドレスを指す。また、「#1」などのIPアドレスの表記と、実際のIPアドレスとの対応関係の一例について説明すると、「#1」は「192.168.1.1」に対応し、「#2」は「192.168.1.2」に対応し、「#3」は「192.168.1.3」に対応する。また、「#4」は「192.168.1.4」に対応する。
 また、図4Bに示すテーブル8aは、項目8eと、項目8fと、項目8gとを有する。図4Bの例は、項目8eに、HDFS10に入力されたファイルのファイル名「B」が登録された場合を示す。また、図4Bの例は、項目8fに、項目8eに登録されたファイル名「B」のファイルがネームサーバ20により分割されて得られた「a」というデータブロックの識別情報「a」、「b」というデータブロックの識別情報「b」が登録された場合を示す。これに加えて、図4Bの例は、項目8fに、項目8eに登録されたファイル名「B」のファイルがネームサーバ20により分割されて得られた「c」というデータブロックの識別情報「c」が登録された場合を示す。
 また、図4Bの例は、項目8gに、項目8fに登録された識別情報「a」が示すデータブロックを保持するデータサーバ11のIPアドレス「#1」、「#2」、「#3」が登録された場合を示す。また、図4Bの例は、項目8gに、項目8fに登録された識別情報「b」が示すデータブロックを保持するデータサーバ11のIPアドレス「#2」、「#3」、「#4」が登録された場合を示す。また、図4Bの例は、項目8gに、項目8fに登録された識別情報「c」が示すデータブロックを保持するデータサーバ11のIPアドレス「#4」、「#5」、「#6」が登録された場合を示す。ここで、例えば、「#5」は、後述するデータサーバ11eのIPアドレスを指す。また、「#6」は、後述するデータサーバ11fのIPアドレスを指す。また、「#5」などのIPアドレスの表記と、実際のIPアドレスとの対応関係の一例について説明すると、「#5」は「192.168.1.5」に対応し、「#6」は「192.168.1.6」に対応する。
 図3の説明に戻り、第1のリスト8aには、HDFS10のデータサーバ11のそれぞれのIPアドレスが登録される。第1のリスト8aに登録されたIPアドレスは、後述の抽出部9aによって選択されて処理に用いられる。図5Aは、第1のリストの一例を示す図である。図5Aの例は、第1のリスト8aに、「No」の項目に登録された番号が小さい順、すなわち、上から順に、IPアドレス「192.168.1.1」、「192.168.1.2」などが登録された場合を示す。第1のリスト8aの登録内容は、ユーザが入力部5を介して設定することができる。例えば、後述の抽出部9aが、第1のリストに登録されたIPアドレスを上から順に選択して処理を行う場合には、ユーザは入力部5を介して、優先的にシャットダウンさせたいデータサーバ11のIPアドレスを第1のリスト8aの上位に登録するとよい。これにより、第1のリスト8aの上位に登録されたIPアドレスに対応するデータサーバ11を優先的にシャットダウンさせることができる。
 第2のリスト8cには、後述の抽出部9aにより、シャットダウンさせるデータサーバ11のIPアドレスが登録される。図5Bは、第2のリストの一例を示す図である。図5Bの例は、第2のリスト8cに、IPアドレス「192.168.1.1」、「192.168.1.2」、「192.168.1.4」が登録された場合を示す。
 第3のリスト8dには、後述の抽出部9aにより、シャットダウンさせないデータサーバ11のIPアドレスが登録される。図5Cは、第3のリストの一例を示す図である。図5Cの例は、第3のリスト8dに、IPアドレス「192.168.1.3」が登録された場合を示す。
 図3の説明に戻り、記憶部8は、例えば、フラッシュメモリなどの半導体メモリ素子、または、ハードディスク、光ディスクなどの記憶装置である。なお、記憶部8は、上記の種類の記憶装置に限定されるものではなく、Random Access Memory(RAM)、Read Only Memory(ROM)であってもよい。
 制御部9は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する。図3に示すように、制御部9は、抽出部9aと、停止部9bと、保持制御部9cと、更新部9dと、表示制御部9eとを有する。
 抽出部9aは、テーブル8aの登録内容に基づいて、複数のデータサーバ11の中から、データブロックごとのデータブロックを保持するデータサーバ11の台数が「N」となるようなデータサーバ11の集合を抽出する。ここで、「N」は、管理者などによって入力部5を介して管理サーバ4に設定される数値である。「N」は、データブロックごとのを保持するデータサーバ11の台数を示す。
 例えば、抽出部9aは、テーブル8aを参照し、処理対象のデータサーバ11のIPアドレスに対応するデータブロックを特定する。そして、抽出部9aは、特定したデータブロックのうち、少なくとも1つのデータブロックを保持する他のデータサーバ11の台数が「N-1」台であるか否かを判定する。いずれのデータブロックについても、データブロックを保持する他のデータサーバ11の台数が「N-1」台でない場合には、特定したデータブロックを保持する他のデータサーバ11の台数がN台以上であるため、抽出部9aは、次の処理を行う。すなわち、抽出部9aは、処理対象のデータサーバ11をシャットダウンさせるデータサーバ11として抽出する。一方、特定したデータブロックのうち、少なくとも1つのデータブロックを保持する他のデータサーバ11の台数が「N-1」台である場合には、抽出部9aは、処理対象のデータサーバ11をシャットダウンさせないデータサーバ11として抽出する。
 一態様としては、抽出部9aは、入力部5から縮退処理を実行するための指示が制御部9に入力された場合には、次のような処理を行う。すなわち、抽出部9aは、入力部5から、上述した、データサーバ11の台数N1が制御部9に入力されたか否かを判定する。そして、台数N1が入力された場合、または、後述の更新部9dにより、第1のリスト8aが更新され、第2のリスト8cおよび第3のリスト8dから全てのIPアドレスが削除された場合には、抽出部9aは、次のような処理を行う。すなわち、抽出部9aは、第1のリスト8aを読み込む。
 続いて、抽出部9aは、テーブル8aをネームサーバ20から取得し、取得したテーブル8aを記憶部8に格納し、記憶部8に格納したテーブル8aを読み込む。その後、抽出部9aは、第1のリスト8aに登録されたIPアドレスの中から、未選択のIPアドレスを1つ選択する。例えば、抽出部9aは、図5Aに示す第1のリスト8aに登録されたIPアドレスの中から、「192.168.1.1」を選択する。ここで、抽出部9aが、第1のリスト8aの「No」の項目に登録された番号が小さいIPアドレスから順に選択する場合には、番号が小さいIPアドレスに対応するデータサーバ11ほど優先的にシャットダウンされることとなる。
 次に、抽出部9aは、読み込んだテーブル8aの登録内容から、選択したIPアドレスに対応するデータサーバ11が保持するデータブロックを特定する。例えば、読み込んだテーブル8aが、図4Aに示すテーブル8aであり、選択したIPアドレスが「#1」(「192.168.1.1」である場合には、抽出部9aは、識別情報「a」が示す「a」というデータブロックを特定する。
 続いて、抽出部9aは、第1のリスト8aに登録された未選択のIPアドレス、および、第3のリスト8dに登録されたIPアドレスに対応する全てのデータサーバ11の中から、次のような処理を行う。すなわち、抽出部9aは、特定したデータブロックごとに、データブロックを保持するデータサーバ11の台数を特定する。例えば、抽出部9aは、第1のリスト8aに登録された未選択のIPアドレスおよび第3のリストに登録されたIPアドレスのそれぞれについて、次のような処理を行う。すなわち、抽出部9aは、特定したデータブロックごとに、データブロックを保持するデータサーバのIPアドレスであるか否かをテーブル8aの登録内容から判別する。そして、抽出部9aは、第1のリスト8aの未選択のIPアドレス、および、第3のリスト8dのIPアドレスの中から、特定したデータブロックごとに、データブロックを保持するデータサーバのIPアドレスの個数を計数する。これにより、抽出部9aは、第1のリスト8aの未選択のIPアドレス及び第3のリスト8dのIPアドレスに対応するデータサーバ11の中から、特定したデータブロック毎にデータブロックを保持するデータサーバ11の台数を特定することができる。
 図6A~6Dは、実施例2に係る管理サーバが実行する処理の一例を説明するための図である。後述するが、抽出部9aによって第2のリスト8cに登録されたIPアドレスに対応するデータサーバ11は、後述する停止部9bによる処理によってシャットダウンされることとなる。そのため、図6A~6Dにおいては、説明を容易にするために、抽出部9aによって第2のリスト8cに登録されたIPアドレスに対応するデータサーバ11が図中から削除されることとする。ここで、第1のリスト8aに「192.168.1.1」、「192.168.1.2」、「192.168.1.3」、「192.168.1.4」が登録されている場合について説明する。また、「N」が「1」である場合について説明する。
 図6Aの例は、データサーバ11a~11dのそれぞれに対応するIPアドレスが第2のリスト8cに登録されていない場合を示す。図6Aの場合において、抽出部9aは、第1のリスト8aに登録された未選択のIPアドレスの中から、データサーバ11aに対応するIPアドレス「192.168.1.1」を選択する。そして、抽出部9aは、図4Aに示すテーブル8aの登録内容から、選択したIPアドレス「192.168.1.1」に対応するデータサーバ11aが保持する「a」というデータブロックを特定する。続いて、抽出部9aは、第3のリスト8dにはまだIPアドレスが登録されていないので、第1のリスト8aに登録された未選択のIPアドレスのそれぞれについて、特定したデータブロックを保持するデータサーバ11のIPアドレスであるか否かを判別する。例えば、抽出部9aは、未選択のIPアドレス「192.168.1.2」について、図4Aに示すテーブル8aから、特定した「a」というデータブロックを保持するデータサーバ11bのIPアドレスであることを認識する。また、抽出部9aは、未選択のIPアドレス「192.168.1.3」について、図4Aに示すテーブル8aから、特定した「a」というデータブロックを保持するデータサーバ11cのIPアドレスであることを認識する。また、抽出部9aは、未選択のIPアドレス「192.168.1.4」について、図4Aに示すテーブル8aから、特定した「a」というデータブロックを保持しないデータサーバ11dのIPアドレスであることを認識する。そして、抽出部9aは、これらの結果から、特定した「a」というデータブロックを保持するデータサーバ11b、11cのIPアドレスの個数「2」を計数する。すなわち、抽出部9aは、特定した「a」というデータブロックを保持するデータサーバ11の台数「2」を特定する。
 図7A~図7Gは、実施例2に係る管理サーバが実行する処理の他の例を説明するための図である。図7A~図7Gにおいても、説明を容易にするために、抽出部9aによって第2のリスト8cに登録されたIPアドレスに対応するデータサーバ11が図中から削除されることとする。ここで、第1のリスト8aに「192.168.1.1」、「192.168.1.2」、「192.168.1.3」、「192.168.1.4」、「192.168.1.5」、「192.168.1.6」が登録されている場合について説明する。また、「N」が「1」である場合について説明する。
 図7Aの例は、データサーバ11a~11fのそれぞれに対応するIPアドレスが第2のリスト8cに登録されていない場合を示す。図7Aの場合において、抽出部9aは、第1のリスト8aに登録された未選択のIPアドレスの中から、データサーバ11aに対応するIPアドレス「192.168.1.1」を選択する。そして、抽出部9aは、図4Bに示すテーブル8aの登録内容から、選択したIPアドレス「192.168.1.1」に対応するデータサーバ11aが保持する「a」というデータブロックを特定する。続いて、抽出部9aは、第3のリスト8dにはまだIPアドレスが登録されていないので、第1のリスト8aに登録された未選択のIPアドレスのそれぞれについて、特定したデータブロックを保持するデータサーバ11のIPアドレスであるか否かを判別する。例えば、抽出部9aは、未選択のIPアドレス「192.168.1.2」について、図4Bに示すテーブル8aから、特定した「a」というデータブロックを保持するデータサーバ11bのIPアドレスであることを認識する。また、抽出部9aは、未選択のIPアドレス「192.168.1.3」について、図4Bに示すテーブル8aから、特定した「a」というデータブロックを保持するデータサーバ11cのIPアドレスであることを認識する。また、抽出部9aは、未選択のIPアドレス「192.168.1.4」について、図4Bに示すテーブル8aから、特定した「a」というデータブロックを保持しないデータサーバ11dのIPアドレスであることを認識する。また、抽出部9aは、未選択のIPアドレス「192.168.1.5」について、図4Bに示すテーブル8aから、特定した「a」というデータブロックを保持しないデータサーバ11eのIPアドレスであることを認識する。また、抽出部9aは、未選択のIPアドレス「192.168.1.6」について、図4Bに示すテーブル8aから、特定した「a」というデータブロックを保持しないデータサーバ11fのIPアドレスであることを認識する。そして、抽出部9aは、これらの結果から、特定した「a」というデータブロックを保持するデータサーバ11b、11cのIPアドレスの個数「2」を計数する。すなわち、抽出部9aは、特定した「a」というデータブロックを保持するデータサーバ11の台数「2」を特定する。
 そして、抽出部9aは、特定したデータブロックのうち、少なくとも1つのデータブロックについて特定した台数が「N-1」台であるか否かを判定する。
 例えば、図6Aの例の場合では、抽出部9aは、特定した台数「2」が「N-1」すなわち「0」ではないと判定する。また、図7Aの例の場合においても、抽出部9aは、特定した台数「2」が「N-1」すなわち「0」ではないと判定する。
 そして、抽出部9aは、特定した全てのデータブロックについて特定した台数が「N-1」台ではない場合には、選択したIPアドレスに対応するデータサーバ11をシャットダウンできるため、選択したIPアドレスを第2のリスト8cに登録する。
 例えば、図6Aの例において、抽出部9aは、選択したIPアドレス「192.168.1.1」を第2のリスト8cに登録する。これにより、図6Bに示すように、データサーバ11aが削除される。また、図7Aの例においても、抽出部9aは、選択したIPアドレス「192.168.1.1」を第2のリスト8cに登録する。これにより、図7Bに示すように、データサーバ11aが削除される。
 また、抽出部9aは、特定したデータブロックのうち、少なくとも1つのデータブロックについて特定した台数が「N-1」台である場合には、選択したIPアドレスを第3のリスト8dに登録する。
 そして、抽出部9aは、第1のリスト8aに登録されたIPアドレスのうち、未選択のIPアドレスがあるか否かを判定する。未選択のIPアドレスがある場合には、抽出部9aは、未選択のIPアドレスを選択し、選択したIPアドレスを用いて、上述した処理を再び行う。
 例えば、図6Bの場合において、抽出部9aは、第1のリスト8aに登録された未選択のIPアドレスの中から、データサーバ11bに対応するIPアドレス「192.168.1.2」を選択する。そして、抽出部9aは、図4Aに示すテーブル8aの登録内容から、選択したIPアドレス「192.168.1.2」に対応するデータサーバ11bが保持する「a」というデータブロックおよび「b」というデータブロックを特定する。続いて、抽出部9aは、未選択のIPアドレス「192.168.1.3」について、図4Aに示すテーブル8aから、新たに特定した「a」および「b」というデータブロックを保持するデータサーバ11cのIPアドレスであることを認識する。また、抽出部9aは、未選択のIPアドレス「192.168.1.4」について、図4Aに示すテーブル8aから、新たに特定した「b」というデータブロックを保持するデータサーバ11dのIPアドレスであることを認識する。そして、抽出部9aは、これらの結果から、新たに特定した「a」というデータブロックを保持するデータサーバ11cのIPアドレスの個数「1」を計数する。また、抽出部9aは、新たに特定した「b」というデータブロックを保持するデータサーバ11c、11dのIPアドレスの個数「2」を計数する。すなわち、抽出部9aは、新たに特定した「a」というデータブロックを保持するデータサーバ11の台数「1」を特定する。抽出部9aは、新たに特定した「b」というデータブロックを保持するデータサーバ11の台数「2」を特定する。
 この場合、抽出部9aは、特定した全てのデータブロックについて特定した台数が「N-1」すなわち「0」ではないと判定する。続いて、抽出部9aは、選択したIPアドレス「192.168.1.2」を第2のリスト8cに登録する。これにより、図6Cに示すように、データサーバ11bが削除される。
 続いて、図6Cの場合において、抽出部9aは、第1のリスト8aに登録された未選択のIPアドレスの中から、データサーバ11cに対応するIPアドレス「192.168.1.3」を選択する。そして、抽出部9aは、図4Aに示すテーブル8aの登録内容から、選択したIPアドレス「192.168.1.3」に対応するデータサーバ11cが保持する「a」というデータブロックおよび「b」というデータブロックを特定する。続いて、抽出部9aは、未選択のIPアドレス「192.168.1.4」について、図4Aに示すテーブル8aから、新たに特定した「b」というデータブロックを保持するデータサーバ11dのIPアドレスであることを認識する。そして、抽出部9aは、この結果から、新たに特定した「a」というデータブロックを保持するデータサーバ11のIPアドレスの個数「0」を計数する。また、抽出部9aは、新たに特定した「b」というデータブロックを保持するデータサーバ11dのIPアドレスの個数「1」を計数する。すなわち、抽出部9aは、新たに特定した「a」というデータブロックを保持するデータサーバ11の台数「0」を特定する。また、抽出部9aは、新たに特定した「b」というデータブロックを保持するデータサーバ11の台数「1」を特定する。
 この場合、抽出部9aは、特定したデータブロックのうち、少なくとも1つのデータブロックについて特定した台数が「N-1」すなわち「0」であると判定する。続いて、抽出部9aは、選択したIPアドレス「192.168.1.3」を第3のリスト8dに登録する。これにより、図6Cに示すように、データサーバ11cが図中から残ったままとなる。
 続いて、図6Cの場合において、抽出部9aは、第1のリスト8aに登録された未選択のIPアドレスの中から、データサーバ11dに対応するIPアドレス「192.168.1.4」を選択する。そして、抽出部9aは、図4Aに示すテーブル8aの登録内容から、選択したIPアドレス「192.168.1.4」に対応するデータサーバ11dが保持する「b」というデータブロックを特定する。続いて、抽出部9aは、第3のリスト8dに登録されたIPアドレス「192.168.1.3」について、図4Aに示すテーブル8aから、新たに特定した「b」というデータブロックを保持するデータサーバ11cのIPアドレスであることを認識する。そして、抽出部9aは、この結果から、新たに特定した「b」というデータブロックを保持するデータサーバ11cのIPアドレスの個数「1」を計数する。すなわち、抽出部9aは、新たに特定した「b」というデータブロックを保持するデータサーバ11の台数「1」を特定する。
 この場合、抽出部9aは、特定した全てのデータブロックについて特定した台数が「N-1」すなわち「0」ではないと判定する。続いて、抽出部9aは、選択したIPアドレス「192.168.1.4」を第2のリスト8cに登録する。これにより、図6Dに示すように、データサーバ11dが図中から削除される。この結果、図6Dに示すように、データサーバ11c以外のデータサーバ11a、11b、11dがシャットダウンされることとなる。
 実施例2に係る管理サーバ4の抽出部9aが実行する処理の他の例についても説明する。上述したように、図7Aの例の場合において、抽出部9aは、特定した台数「2」が「N-1」すなわち「0」ではないと判定する。そして、図7Aの例において、抽出部9aは、選択したIPアドレス「192.168.1.1」を第2のリスト8cに登録する。これにより、図7Bに示すように、データサーバ11aが削除される。
 図7Bの場合において、抽出部9aは、第1のリスト8aに登録された未選択のIPアドレスの中から、データサーバ11bに対応するIPアドレス「192.168.1.2」を選択する。そして、抽出部9aは、図4Bに示すテーブル8aの登録内容から、選択したIPアドレス「192.168.1.2」に対応するデータサーバ11bが保持する「a」というデータブロックおよび「b」というデータブロックを特定する。続いて、抽出部9aは、未選択のIPアドレス「192.168.1.3」について、図4Bに示すテーブル8aから、新たに特定した「a」および「b」というデータブロックを保持するデータサーバ11cのIPアドレスであることを認識する。また、抽出部9aは、未選択のIPアドレス「192.168.1.4」について、図4Bに示すテーブル8aから、新たに特定した「b」というデータブロックを保持するデータサーバ11dのIPアドレスであることを認識する。続いて、抽出部9aは、未選択のIPアドレス「192.168.1.5」について、図4Bに示すテーブル8aから、新たに特定した「a」および「b」というデータブロックを保持しないデータサーバ11eのIPアドレスであることを認識する。また、抽出部9aは、未選択のIPアドレス「192.168.1.6」について、図4Bに示すテーブル8aから、新たに特定した「a」および「b」というデータブロックを保持しないデータサーバ11fのIPアドレスであることを認識する。そして、抽出部9aは、これらの結果から、新たに特定した「a」というデータブロックを保持するデータサーバ11cのIPアドレスの個数「1」を計数する。また、抽出部9aは、新たに特定した「b」というデータブロックを保持するデータサーバ11c、11dのIPアドレスの個数「2」を計数する。すなわち、抽出部9aは、新たに特定した「a」というデータブロックを保持するデータサーバ11の台数「1」を特定する。抽出部9aは、新たに特定した「b」というデータブロックを保持するデータサーバ11の台数「2」を特定する。
 この場合、抽出部9aは、特定した全てのデータブロックについて特定した台数が「N-1」すなわち「0」ではないと判定する。続いて、抽出部9aは、選択したIPアドレス「192.168.1.2」を第2のリスト8cに登録する。これにより、図7Cに示すように、データサーバ11bが削除される。
 続いて、図7Cの場合において、抽出部9aは、第1のリスト8aに登録された未選択のIPアドレスの中から、データサーバ11cに対応するIPアドレス「192.168.1.3」を選択する。そして、抽出部9aは、図4Bに示すテーブル8aの登録内容から、選択したIPアドレス「192.168.1.3」に対応するデータサーバ11cが保持する「a」というデータブロックおよび「b」というデータブロックを特定する。続いて、抽出部9aは、未選択のIPアドレス「192.168.1.4」について、図4Bに示すテーブル8aから、新たに特定した「b」というデータブロックを保持するデータサーバ11dのIPアドレスであることを認識する。続いて、抽出部9aは、未選択のIPアドレス「192.168.1.5」について、図4Bに示すテーブル8aから、新たに特定した「a」および「b」というデータブロックを保持しないデータサーバ11eのIPアドレスであることを認識する。また、抽出部9aは、未選択のIPアドレス「192.168.1.6」について、図4Bに示すテーブル8aから、新たに特定した「a」および「b」というデータブロックを保持しないデータサーバ11fのIPアドレスであることを認識する。そして、抽出部9aは、これらの結果から、新たに特定した「a」というデータブロックを保持するデータサーバ11のIPアドレスの個数「0」を計数する。また、抽出部9aは、新たに特定した「b」というデータブロックを保持するデータサーバ11dのIPアドレスの個数「1」を計数する。すなわち、抽出部9aは、新たに特定した「a」というデータブロックを保持するデータサーバ11の台数「0」を特定する。また、抽出部9aは、新たに特定した「b」というデータブロックを保持するデータサーバ11の台数「1」を特定する。
 この場合、抽出部9aは、特定したデータブロックのうち、少なくとも1つのデータブロックについて特定した台数が「N-1」すなわち「0」であると判定する。続いて、抽出部9aは、選択したIPアドレス「192.168.1.3」を第3のリスト8dに登録する。これにより、図7Cに示すように、データサーバ11cが図中から残ったままとなる。
 続いて、図7Cの場合において、抽出部9aは、第1のリスト8aに登録された未選択のIPアドレスの中から、データサーバ11dに対応するIPアドレス「192.168.1.4」を選択する。そして、抽出部9aは、図4Bに示すテーブル8aの登録内容から、選択したIPアドレス「192.168.1.4」に対応するデータサーバ11dが保持する「b」というデータブロックおよび「c」というデータブロックを特定する。続いて、抽出部9aは、第3のリスト8dに登録されたIPアドレス「192.168.1.3」について、図4Bに示すテーブル8aから、新たに特定した「b」というデータブロックを保持するデータサーバ11cのIPアドレスであることを認識する。続いて、抽出部9aは、未選択のIPアドレス「192.168.1.5」について、図4Bに示すテーブル8aから、新たに特定した「c」というデータブロックを保持するデータサーバ11eのIPアドレスであることを認識する。また、抽出部9aは、未選択のIPアドレス「192.168.1.6」について、図4Bに示すテーブル8aから、新たに特定した「c」というデータブロックを保持するデータサーバ11fのIPアドレスであることを認識する。そして、抽出部9aは、これらの結果から、新たに特定した「b」というデータブロックを保持するデータサーバ11cのIPアドレスの個数「1」を計数する。また、抽出部9aは、新たに特定した「c」というデータブロックを保持するデータサーバ11e、11fのIPアドレスの個数「2」を計数する。すなわち、抽出部9aは、新たに特定した「b」というデータブロックを保持するデータサーバ11の台数「1」を特定する。また、抽出部9aは、新たに特定した「c」というデータブロックを保持するデータサーバ11の台数「2」を特定する。
 この場合、抽出部9aは、特定した全てのデータブロックについて特定した台数が「N-1」すなわち「0」ではないと判定する。続いて、抽出部9aは、選択したIPアドレス「192.168.1.4」を第2のリスト8cに登録する。これにより、図7Dに示すように、データサーバ11dが図中から削除される。
 続いて、図7Dの場合において、抽出部9aは、第1のリスト8aに登録された未選択のIPアドレスの中から、データサーバ11eに対応するIPアドレス「192.168.1.5」を選択する。そして、抽出部9aは、図4Bに示すテーブル8aの登録内容から、選択したIPアドレス「192.168.1.5」に対応するデータサーバ11eが保持する「c」というデータブロックを特定する。続いて、抽出部9aは、第3のリスト8dに登録されたIPアドレス「192.168.1.3」について、図4Bに示すテーブル8aから、新たに特定した「c」というデータブロックを保持しないデータサーバ11cのIPアドレスであることを認識する。続いて、抽出部9aは、未選択のIPアドレス「192.168.1.6」について、図4Bに示すテーブル8aから、新たに特定した「c」というデータブロックを保持するデータサーバ11fのIPアドレスであることを認識する。そして、抽出部9aは、これらの結果から、新たに特定した「c」というデータブロックを保持するデータサーバ11fのIPアドレスの個数「1」を計数する。すなわち、抽出部9aは、新たに特定した「c」というデータブロックを保持するデータサーバ11の台数「1」を特定する。
 この場合、抽出部9aは、特定した全てのデータブロックについて特定した台数が「N-1」すなわち「0」ではないと判定する。続いて、抽出部9aは、選択したIPアドレス「192.168.1.5」を第2のリスト8cに登録する。これにより、図7Eに示すように、データサーバ11eが図中から削除される。
 続いて、図7Eの場合において、抽出部9aは、第1のリスト8aに登録された未選択のIPアドレスの中から、データサーバ11fに対応するIPアドレス「192.168.1.6」を選択する。そして、抽出部9aは、図4Bに示すテーブル8aの登録内容から、選択したIPアドレス「192.168.1.6」に対応するデータサーバ11fが保持する「c」というデータブロックを特定する。続いて、抽出部9aは、第3のリスト8dに登録されたIPアドレス「192.168.1.3」について、図4Bに示すテーブル8aから、新たに特定した「c」というデータブロックを保持しないデータサーバ11cのIPアドレスであることを認識する。そして、抽出部9aは、この結果から、新たに特定した「c」というデータブロックを保持するデータサーバ11のIPアドレスの個数「0」を計数する。すなわち、抽出部9aは、新たに特定した「c」というデータブロックを保持するデータサーバ11の台数「0」を特定する。
 この場合、抽出部9aは、特定したデータブロックのうち、少なくとも1つのデータブロックについて特定した台数が「N-1」すなわち「0」であると判定する。続いて、抽出部9aは、選択したIPアドレス「192.168.1.6」を第3のリスト8dに登録する。これにより、図7Eに示すように、データサーバ11fが図中から残ったままとなる。この結果、図7Eに示すように、データサーバ11c、11f以外のデータサーバ11a、11b、11d、11eがシャットダウンされることとなる。
 図3の説明に戻り、停止部9bは、第2のリスト8cを読み込む。また、停止部9bは、第3のリスト8dを読み込む。そして、停止部9bは、第2のリスト8cに登録されたIPアドレスの数が0個であるか否かを判定する。0個でない場合には、停止部9bは、シャットダウンの実行の指示に、第2のリスト8cに登録されたIPアドレスを含め、IPアドレスが含まれたシャットダウンの実行の指示を通信部7へ送信する。これにより、シャットダウンの実行の指示が、指示に含まれる送信先のIPアドレスが示すデータサーバ11へ送信される。かかる指示を受信したデータサーバ11は、指示に基づいて、シャットダウンを行う。このようにして、停止部9bは、複数のデータサーバ11の中から、抽出部9aにより抽出されたデータサーバ11の集合を除いたデータサーバ11を停止させる。
 図8A、図8B、図9Aおよび図9Bは、実施例2に係る管理サーバが実行する処理の一例を説明するための図である。図8Aの例では、HDFS10にデータサーバ11a~11dが含まれる場合が示されている。図8Aの例において、データサーバ11a、11b、11dのIPアドレスが第2のリスト8cに登録されている場合には、停止部9bは、データサーバ11a、11b、11dのIPアドレスが含まれたシャットダウンの実行の指示を通信部7へ送信する。この結果、図8Bに示すように、データサーバ11a、11b、11dがシャットダウンする。図8A、図8Bに示すように、本実施例に係る管理サーバ4によれば、1回のシャットダウンの実行の指示だけで、HDFS10の縮退を行うことができる。
 また、図9Aの例では、HDFS10にn台のデータサーバ11a~11nが含まれる場合が示されている。また、図9Aの例では、HDFS10においてファイルが分割された結果得られたデータブロック「a」、「b」が2つである場合が示されている。図9Aの例で、データサーバ11n以外のデータサーバ11のIPアドレスが第2のリスト8cに登録されている場合には、停止部9bは、データサーバ11以外のデータサーバ11のIPアドレスが含まれたシャットダウンの実行の指示を通信部7へ送信する。この結果、図9Bに示すように、データサーバ11n以外のデータサーバ11がシャットダウンする。
 従来の縮退方法、すなわち、(R-1)台ずつデータサーバ11をシャットダウンし、切り離し、シャットダウンしていないデータサーバ11間でデータブロックをコピーし、切り離したデータサーバ11にパッチを適用する方法では、次のような問題がある。すなわち、n台のデータサーバ11に対しては、(n÷2)(小数点以下切り下げ)回も、データサーバ11のシャットダウン、データブロックのコピーを繰り返し行うこととなる。しかしながら、図9A、図9Bに示すように、本実施例に係る管理サーバ4によれば、1回のシャットダウンの実行の指示だけで、HDFS10の縮退を行うことができる。
 保持制御部9cは、停止部9bによって、第2のリスト8cに登録されたIPアドレスの数が0個であると判定された場合には、次のような処理を行う。すなわち、保持制御部9cは、データブロックの転送の指示に、第3のリスト8dに登録されたIPアドレスを含め、IPアドレスが含まれたデータブロックの転送の指示を通信部7へ送信する。これにより、データブロックの転送の指示が、指示に含まれる送信先のIPアドレスが示すデータサーバ11へ送信される。かかる指示を受信したデータサーバ11は、指示に基づいて、記憶装置12に記憶されたデータブロックを他のデータサーバ11に転送する。データブロックを受信した他のデータサーバ11は、受信したデータブロックを記憶装置12に格納する。このようにして、保持制御部9cは、複数のデータサーバ11の中から、停止部9bにより停止させられたデータサーバ11を除いたデータサーバ11が保持するデータブロックを他のデータサーバ11にも保持させるように制御する。
 例えば、図7Eに示すように、データサーバ11c、11f以外のデータサーバ11a、11b、11d、11eが停止部9bによりシャットダウンされた場合には、保持制御部9cは、次のような処理を行う。すなわち、保持制御部9cは、データブロックの転送の指示に、第3のリスト8dに登録されたIPアドレス「192.168.1.3」および「192.168.1.6」を含める。そして、保持制御部9cは、IPアドレスが含まれたデータブロックの転送の指示を通信部7へ送信する。これにより、データブロックの転送の指示が、データサーバ11c、11fへ送信される。かかる指示を受信したデータサーバ11cは、指示に基づいて、記憶装置12cに記憶された「a」というデータブロックおよび「b」というデータブロックを他のデータサーバ11fに転送する。「a」というデータブロックおよび「b」というデータブロックを受信したデータサーバ11fは、記憶装置12fに、「a」というデータブロックおよび「b」というデータブロックを格納する。また、指示を受信したデータサーバ11fは、指示に基づいて、記憶装置12fに記憶された「c」というデータブロックを他のデータサーバ11cに転送する。「c」というデータブロックを受信したデータサーバ11cは、記憶装置12cに、「c」というデータブロックを格納する。この結果、図7Fに示すように、記憶装置12cおよび記憶装置12fには、「a」というデータブロック、「b」というデータブロック、および、「c」というデータブロックが記憶される。
 図3の説明に戻り、更新部9dは、各種の情報を更新する。例えば、更新部9dは、シャットダウンされたデータサーバ11については、データサーバ11に対応するIPアドレスと、データサーバ11が保持するデータブロックの識別情報との対応付けを解消するようにテーブル8aを更新する。これに加えて、更新部9dは、データサーバ11間でデータブロックの転送が行われた場合には、データブロックの転送後における各データサーバ11が保持するデータブロックの状況と整合性がとれるように、テーブル8aの登録内容を更新する。例えば、データブロックの転送後における各データサーバ11が保持するデータブロックの状況が、図7Fに示す状況である場合には、更新部9dは、次のような更新を行う。すなわち、更新部9dは、データサーバ11cのIPアドレスと、識別情報「a」、「b」、「c」とを対応付け、かつ、データサーバ11fのIPアドレスと、識別情報「a」、「b」、「c」とを対応付けた内容が登録されるように、テーブル8を更新する。
 次に、更新部9dは、第3のリスト8dに登録されたIPアドレスの個数を計数することで、シャットダウンしていないデータサーバの台数N2を算出する。例えば、図6Dの例に示す場合には、第3のリスト8dに登録されたIPアドレス「192.168.1.3」の個数「1」を台数N2として算出する。また、図7Fの例に示す場合には、第3のリスト8dに登録されたIPアドレス「192.168.1.3」、「192.168.1.6」の個数「2」を台数N2として算出する。
 そして、更新部9dは、算出した台数N2が上述した台数N1以下であるか否かを判定する。例えば、台数N1の値が「1」であり、算出した台数N2の値が「1」である場合には、更新部9dは、算出した台数N2が台数N1以下であると判定する。また、台数N1の値が「1」であり、算出した台数N2の値が「2」である場合には、更新部9dは、算出した台数N2が台数N1以下でないと判定する。
 算出した台数N2が台数N1以下でないと判定した場合には、更新部9dは、第3のリスト8dの内容で、第1のリスト8aを更新する。例えば、第3のリスト8dにIPアドレス「192.168.1.3」、「192.168.1.6」が登録されている場合には、更新部9dは、次のような処理を行う。すなわち、更新部9dは、登録内容がIPアドレス「192.168.1.3」、「192.168.1.6」となるように、第1のリスト8aを更新する。そして、更新部9dは、第2のリスト8cから全てのIPアドレスを削除する。また、更新部9dは、第3のリスト8dから全てのIPアドレスを削除する。
 そして、上述したように、第1のリスト8aが更新され、第2のリスト8cおよび第3のリスト8dから全てのIPアドレスが削除された場合には、抽出部9aは、第1のリスト8aを読み込んで、上述した処理を再び行う。例えば、図7Fの場合において、抽出部9aは、第1のリスト8aに登録された未選択のIPアドレスの中から、データサーバ11cに対応するIPアドレス「192.168.1.3」を選択する。そして、抽出部9aは、図4Bに示すテーブル8aの登録内容から、次のような処理を行う。すなわち、抽出部9aは、選択したIPアドレス「192.168.1.3」に対応するデータサーバ11fが保持する「a」というデータブロック、「b」というデータブロック、および、「c」というデータブロックを特定する。続いて、抽出部9aは、未選択のIPアドレス「192.168.1.6」について、図4Bに示すテーブル8aから、新たに特定した「a」、「b」および「c」という各データブロックを保持するデータサーバ11fのIPアドレスであることを認識する。そして、抽出部9aは、この結果から、新たに特定した新たに特定した「a」、「b」および「c」という各データブロックを保持するデータサーバ11のIPアドレスの個数「1」を計数する。すなわち、抽出部9aは、新たに特定した「a」、「b」および「c」という各データブロックを保持するデータサーバ11の台数「1」を特定する。
 この場合、抽出部9aは、特定した全てのデータブロックについて特定した台数が「N-1」すなわち「0」ではないと判定する。続いて、抽出部9aは、選択したIPアドレス「192.168.1.3」を第2のリスト8cに登録する。これにより、図7Gに示すように、データサーバ11cが図中から削除される。この結果、図7Gに示すように、データサーバ11f以外のデータサーバ11a~11eがシャットダウンされることとなる。
 図3の説明に戻り、表示制御部9eは、各種の情報が表示されるように制御する。例えば、更新部9dにより台数N2が台数N1以下であると判定された場合には、表示制御部9eは、次のような処理を行う。すなわち、表示制御部9eは、第2のリスト8cに登録されたIPアドレスを、HDFS10の縮退の結果、シャットダウンされたデータサーバ11のIPアドレスとして出力部6に表示されるように出力部6を制御する。これに加えて、表示制御部9eは、第3のリスト8dに登録されたIPアドレスを、HDFS10の縮退の結果、シャットダウンされなかったデータサーバ11のIPアドレスとして出力部6に表示されるように出力部6を制御する。
 また、表示制御部9eは、停止部9bにより第2のリスト8cに登録されたIPアドレスの数が0個であると判定された場合には、所定のエラー表示を行うように、出力部6を制御する。
 制御部9は、Application Specific Integrated Circuit(ASIC)などの集積回路である。また、制御部9は、Field Programmable Gate Array(FPGA)であってもよい。また、制御部9は、Central Processing Unit(CPU)などの電子回路であってもよい。さらに、制御部9は、Micro Processing Unit(MPU)であってもよい。
 次に、本実施例に係る管理サーバ4が実行する処理の流れを説明する。図10は、実施例2に係る縮退処理の手順を示すフローチャートである。例えば、縮退処理は、縮退処理を実行するための指示が入力部5から制御部9に入力された場合に、実行される。
 図10に示すように、抽出部9aは、入力部5から、データサーバ11の台数N1が入力されたか否かを判定する(S1)。台数N1が入力されていない場合(S1否定)には、抽出部9aは、再び、S1の判定を行う。
 一方、台数N1が入力された場合(S1肯定)には、抽出部9aは、抽出処理を実行する(S2)。図11は、実施例2に係る抽出処理の手順を示すフローチャートである。図11に示すように、抽出部9aは、第1のリスト8aを読み込む(S21)。続いて、抽出部9aは、テーブル8aをネームサーバ20から取得し、取得したテーブル8aを記憶部8に格納し、記憶部8に格納したテーブル8aを読み込む(S22)。その後、抽出部9aは、第1のリスト8aに登録されたIPアドレスの中から、未選択のIPアドレスを1つ選択する(S23)。
 次に、抽出部9aは、読み込んだテーブル8aの登録内容から、選択したIPアドレスに対応するデータサーバ11が保持するデータブロックを特定する(S24)。続いて、抽出部9aは、第1のリスト8aに登録された未選択のIPアドレス、および、第3のリスト8dに登録されたIPアドレスに対応する全てのデータサーバ11の中から、次のような処理を行う。すなわち、抽出部9aは、特定したデータブロックごとに、データブロックを保持するデータサーバ11の台数を特定する(S25)。
 そして、抽出部9aは、特定したデータブロックのうち、少なくとも1つのデータブロックについて特定した台数が「N-1」台であるか否かを判定する(S26)。
 特定した全てのデータブロックについて特定した台数が「N-1」台ではない場合(S26否定)には、抽出部9aは、選択したIPアドレスを第2のリスト8cに登録する(S28)。
 一方、特定したデータブロックのうち、少なくとも1つのデータブロックについて特定した台数が「N-1」台である場合(S26肯定)には、抽出部9aは、選択したIPアドレスを第3のリスト8dに登録する(S27)。
 そして、抽出部9aは、第1のリスト8aに登録されたIPアドレスのうち、未選択のIPアドレスがあるか否かを判定する(S29)。未選択のIPアドレスがある場合(S29肯定)には、抽出部9aは、S23に戻って、未選択のIPアドレスを選択し、上述した処理を再び行う。一方、未選択のIPアドレスがない場合(S29否定)には、抽出部9aは、処理結果を内部メモリに格納し、リターンする。
 図10の説明に戻り、停止部9bは、第2のリスト8cを読み込む(S3)。そして、停止部9bは、第3のリスト8dを読み込む(S4)。続いて、停止部9bは、第2のリスト8cに登録されたIPアドレスの数が0個であるか否かを判定する(S5)。0個である場合(S5肯定)には、表示制御部9eは、所定のエラー表示を行うように、出力部6を制御し(S15)、処理を終了する。
 一方、0個でない場合(S5否定)には、停止部9bは、シャットダウンの実行の指示に、第2のリスト8cに登録されたIPアドレスを含め、IPアドレスが含まれたシャットダウンの実行の指示を通信部7へ送信する(S6)。
 そして、保持制御部9cは、データブロックの転送の指示に、第3のリスト8dに登録されたIPアドレスを含め、IPアドレスが含まれたデータブロックの転送の指示を通信部7へ送信する(S7)。
 続いて、更新部9dは、シャットダウンされたデータサーバ11については、データサーバ11に対応するIPアドレスと、データサーバ11が保持するデータブロックの識別情報との対応付けを解消するようにテーブル8aを更新する。これに加えて、更新部9dは、データブロックの転送後における各データサーバ11が保持するデータブロックの状況と整合性がとれるように、テーブル8aの登録内容を更新する(S8)。
 次に、更新部9dは、第3のリスト8dに登録されたIPアドレスの個数を計数することで、シャットダウンしていないデータサーバの台数N2を算出する(S9)。そして、更新部9dは、算出した台数N2が上述した台数N1以下であるか否かを判定する(S10)。
 算出した台数N2が台数N1以下でないと判定した場合(S10否定)には、更新部9dは、第3のリスト8dの内容で、第1のリスト8aを更新する(S11)。そして、更新部9dは、第2のリスト8cから全てのIPアドレスを削除する(S12)。続いて、更新部9dは、第3のリスト8dから全てのIPアドレスを削除し(S13)、S2へ戻る。
 一方、台数N2が台数N1以下である場合(S10肯定)には、表示制御部9eは、次のような処理を行う。すなわち、表示制御部9eは、第2のリスト8cに登録されたIPアドレスを、HDFS10の縮退の結果、シャットダウンされたデータサーバ11のIPアドレスとして出力部6に表示されるように出力部6を制御する。これに加えて、表示制御部9eは、第3のリスト8dに登録されたIPアドレスを、HDFS10の縮退の結果、シャットダウンされなかったデータサーバ11のIPアドレスとして出力部6に表示されるように出力部6を制御し(S14)、処理を終了する。
 上述してきたように、本実施例に係る管理サーバ4は、複数のデータサーバ11のそれぞれを識別するIPアドレスと、IPアドレスに対応するデータサーバ11が保持するデータブロックを識別する識別情報とを対応付けて記憶部8に記憶する。そして、管理サーバ4は、記憶部8の記憶内容に基づいて、複数のデータサーバ11の中から、データブロックごとのデータブロックを保持するデータサーバ11の台数が所定値Nとなるようなデータサーバ11の集合を抽出する。したがって、本実施例に係る管理サーバ4によれば、複数のデータサーバ11を有するHDFS10を縮退する場合に、停止させないデータサーバ11の集合を、管理者などのユーザに選択させることなく、抽出することができる。そのため、管理サーバ4によれば、HDFS10を縮退させる場合の負荷の増大を抑制することができる。
 また、本実施例に係る管理サーバ4は、複数のデータサーバ11の中から、抽出されたデータサーバ11の集合を除いたデータサーバ11を停止させる。すなわち、管理サーバ4は、HDFS10を縮退する場合に、管理者などのユーザに選択させることなく抽出されたデータサーバ11の集合を用いて、管理者などのユーザに停止させるデータサーバ11を選択させることなくデータサーバ11を停止させる。このため、管理サーバ4は、HDFS10を縮退させる場合の負荷の増大を抑制することができる。
 また、本実施例に係る管理サーバ4は、複数のデータサーバ11の中から、停止させられたデータサーバ11を除いたデータサーバ11が保持するデータブロックを他のデータサーバ11にも保持させるように制御する。
 また、本実施例に係る管理サーバ4は、複数のデータサーバ11の中から停止させられたデータサーバ11を除いたデータサーバ11が保持するデータブロックを他のデータサーバ11にも保持させるように制御された結果に基づいて、次の処理を行う。すなわち、管理サーバ4は、記憶部8に記憶されたテーブル8aの登録内容を更新する。そして、管理サーバ4は、複数のデータサーバ11の中から停止させられたデータサーバ11を除いたデータサーバ11の台数N2がN1より大きい場合には、更新されたテーブル8aの登録内容に基づいて、次のような処理を行う。すなわち、管理サーバ4は、複数のデータサーバ11のうち停止させられたデータサーバ11を除いたデータサーバ11の中から、データブロックごとのデータブロックを保持するデータサーバの台数がNとなるようなデータサーバ11の集合を新たに抽出する。すなわち、管理サーバ4は、複数のデータサーバ11の中から停止させられたデータサーバ11を除いたデータサーバ11の台数N2がN1以下となるまで、繰り返し上述した処理を行う。したがって、管理サーバ4によれば、複数のデータサーバ11の中から停止させられたデータサーバ11を除いたデータサーバ11の台数N2がN1以下となるように、データサーバ11の集合を抽出することができる。
 さて、これまで開示のシステムに関する実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、本発明に含まれる他の実施例を説明する。
 例えば、実施例において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともできる。また、本実施例において説明した各処理のうち、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。
 また、各種の負荷や使用状況などに応じて、各実施例において説明した各処理の各ステップでの処理を任意に細かくわけたり、あるいはまとめたりすることができる。また、ステップを省略することもできる。
 また、各種の負荷や使用状況などに応じて、各実施例において説明した各処理の各ステップでの処理の順番を変更できる。
 また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的状態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
[抽出プログラム]
 また、上記の実施例で説明した抽出装置1、管理サーバ4の各種の処理は、あらかじめ用意された抽出プログラムをパーソナルコンピュータやワークステーションなどのコンピュータシステムで実行することによって実現することもできる。そこで、以下では、図12を用いて、上記の各実施例で説明した抽出装置1、管理サーバ4と同様の機能を有する抽出プログラムを実行するコンピュータの一例を説明する。図12は、抽出プログラムを実行するコンピュータを示す図である。
 図12に示すように、コンピュータ300は、演算装置310、記憶装置320、I/F330を有する。演算装置310、記憶装置320、I/F330は、バスを介して接続される。I/F330は、キーボードやマウス、ディスプレイ、LAN(Local Area Network)などに接続される。
 記憶装置320は、OS(Operating System)などの基本プログラムを記憶する。また、記憶装置320は、上記の各実施例で示す抽出部3または9a、停止部9b、保持制御部9c、更新部9d、表示制御部9eと同様の機能を発揮する抽出プログラム320aを記憶する。なお、抽出プログラム320aについては、適宜分離しても良い。また、記憶装置320には、テーブル、第1のリスト、第2のリスト、第3のリストが設けられる。テーブル、第1のリスト、第2のリスト、第3のリストは、上述したテーブル8a、第1のリスト8b、第2のリスト8c、第3のリスト8dに対応する。
 そして、演算装置310が、抽出プログラム320aを記憶装置320から読み出して実行する。
 なお、上記した抽出プログラム320aについては、必ずしも最初から記憶装置320に記憶させておく必要はない。
 例えば、コンピュータ300に挿入されるフレキシブルディスク(FD)、CD-ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に抽出プログラム320aを記憶させておく。そして、コンピュータ300がこれらから抽出プログラム320aを読み出して実行するようにしてもよい。 
 さらには、公衆回線、インターネット、LAN、WANなどを介してコンピュータ300に接続される「他のコンピュータ(またはサーバ)」などに抽出プログラム320aを記憶させておく。そして、コンピュータ300がこれらから抽出プログラム320aを読み出して実行するようにしてもよい。
   1    抽出装置
   2    記憶部
   2a   第1の識別情報
   2b   第2の識別情報
   3    抽出部
   4    管理サーバ
   8    記憶部
   8a   テーブル
   8b   第1のリスト
   8c   第2のリスト
   8d   第3のリスト
   9    制御部
   9a   抽出部
   9b   停止部
   9c   保持制御部
   9d   更新部
   9e   表示制御部
   10   HDFS
   11   データサーバ
   20   ネームサーバ

Claims (6)

  1.  複数のサーバのそれぞれを識別する第1の識別情報と、該第1の識別情報が示すサーバが保持するデータを識別する第2の識別情報とを対応付けて記憶する記憶部と、
     前記記憶部の記憶内容に基づいて、前記複数のサーバの中から、前記データごとの前記データを保持するサーバの台数が第1の所定値となるようなサーバの集合を抽出する抽出部と、
     を有することを特徴とする抽出装置。
  2.  前記複数のサーバの中から、前記抽出部により抽出されたサーバの集合を除いたサーバを停止させる停止部
     をさらに有することを特徴とする請求項1に記載の抽出装置。
  3.  前記複数のサーバの中から、前記停止部により停止させられたサーバを除いたサーバが保持するデータを他のサーバにも保持させるように制御する保持制御部
     をさらに有することを特徴とする請求項1または2に記載の抽出装置。
  4.  前記保持制御部による制御の結果に基づいて、前記記憶部の記憶内容を更新する更新部をさらに有し、
     前記抽出部は、前記複数のサーバの中から前記停止部により停止させられたサーバを除いたサーバの台数が第2の所定値より大きい場合には、前記更新部により更新された前記記憶部の記憶内容に基づいて、前記複数のサーバのうち前記停止部により停止させられたサーバを除いたサーバの中から、前記データごとの前記データを保持するサーバの台数が前記第1の所定値となるようなサーバの集合を新たに抽出する
     ことを特徴とする請求項3に記載の抽出装置。
  5.  コンピュータに、
     複数のサーバのそれぞれを識別する第1の識別情報と、該第1の識別情報が示すサーバが保持するデータを識別する第2の識別情報とを対応付けて記憶する記憶部の記憶内容を参照し、
     参照した前記記憶部の記憶内容に基づいて、前記複数のサーバの中から、前記データごとの前記データを保持するサーバの台数が所定値となるようなサーバの集合を抽出する、
     各処理を実行させることを特徴とする抽出プログラム。
  6.  データを記憶する第1の記憶部を有する複数のサーバと、
     前記複数のサーバのそれぞれを識別する第1の識別情報と該第1の識別情報が示すサーバが有する前記第1の記憶部に記憶されたデータを識別する第2の識別情報とを対応付けて記憶する第2の記憶部と、前記第2の記憶部の記憶内容に基づいて、前記複数のサーバの中から、前記データごとの前記データを保持するサーバの台数が所定値となるようなサーバの集合を抽出する抽出部と、を有する情報処理装置と、
     を有することを特徴とするシステム。
PCT/JP2012/067520 2012-07-09 2012-07-09 抽出装置、抽出プログラムおよびシステム WO2014010023A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2012/067520 WO2014010023A1 (ja) 2012-07-09 2012-07-09 抽出装置、抽出プログラムおよびシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2012/067520 WO2014010023A1 (ja) 2012-07-09 2012-07-09 抽出装置、抽出プログラムおよびシステム

Publications (1)

Publication Number Publication Date
WO2014010023A1 true WO2014010023A1 (ja) 2014-01-16

Family

ID=49915526

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2012/067520 WO2014010023A1 (ja) 2012-07-09 2012-07-09 抽出装置、抽出プログラムおよびシステム

Country Status (1)

Country Link
WO (1) WO2014010023A1 (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005215735A (ja) * 2004-01-27 2005-08-11 Hitachi Ltd ファイル入出力制御装置
JP2008304982A (ja) * 2007-06-05 2008-12-18 Konica Minolta Holdings Inc 情報の管理方法及び情報処理装置
JP2010146067A (ja) * 2008-12-16 2010-07-01 Fujitsu Ltd データ処理プログラム、サーバ装置およびデータ処理方法
JP2010250656A (ja) * 2009-04-17 2010-11-04 Dainippon Printing Co Ltd データ保管システムおよびデータ保管方法
JP2012008854A (ja) * 2010-06-25 2012-01-12 Hitachi Ltd ストレージ仮想化装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005215735A (ja) * 2004-01-27 2005-08-11 Hitachi Ltd ファイル入出力制御装置
JP2008304982A (ja) * 2007-06-05 2008-12-18 Konica Minolta Holdings Inc 情報の管理方法及び情報処理装置
JP2010146067A (ja) * 2008-12-16 2010-07-01 Fujitsu Ltd データ処理プログラム、サーバ装置およびデータ処理方法
JP2010250656A (ja) * 2009-04-17 2010-11-04 Dainippon Printing Co Ltd データ保管システムおよびデータ保管方法
JP2012008854A (ja) * 2010-06-25 2012-01-12 Hitachi Ltd ストレージ仮想化装置

Similar Documents

Publication Publication Date Title
US10120924B2 (en) Quarantine and repair of replicas in a quorum-based data storage system
RU2712815C1 (ru) Защита сетевых устройств посредством межсетевого экрана
US8892514B2 (en) Multi-path replication in databases
US20100299447A1 (en) Data Replication
US20180165258A1 (en) Methods for improved auditing of web sites and devices thereof
US10949395B2 (en) Cross objects de-duplication
US9378078B2 (en) Controlling method, information processing apparatus, storage medium, and method of detecting failure
US10956450B2 (en) Dense subset clustering
WO2017032170A1 (zh) 镜像文件的导入方法及装置
US20130124916A1 (en) Layout of mirrored databases across different servers for failover
US10180898B2 (en) Test device, network system, and test method
JP5874828B2 (ja) 制御対象フロー特定プログラム、制御対象フロー特定方法および制御対象フロー特定装置
CN105335223A (zh) 源主机和目的主机上的虚拟机内存迁移装置、方法及系统
US20170286259A1 (en) Information processing apparatus, information processing system, and computer-readable recording medium
EP2913771A1 (en) Cluster license server
CN104182296A (zh) 数据处理系统、数据处理设备以及存储介质
US20180219739A1 (en) Configuration replication system
CN101410804A (zh) 管理多个接口的方法和数据处理系统
US20160212068A1 (en) Information processing system and method for controlling information processing system
JP2009230584A (ja) ジョブ処理システムおよびジョブ管理方法
CN103019847A (zh) 对虚拟机数据进行迁移的方法及系统
US9519527B1 (en) System and method for performing internal system interface-based communications in management controller
WO2014010023A1 (ja) 抽出装置、抽出プログラムおよびシステム
US9600271B2 (en) System, method, and computer-readable medium
US9830230B1 (en) Systems and methods for storing updated storage stack summaries

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 12880901

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP