WO2011099380A1 - Essential data management system, calculator, essential data management program, recording medium, and communication method - Google Patents

Essential data management system, calculator, essential data management program, recording medium, and communication method Download PDF

Info

Publication number
WO2011099380A1
WO2011099380A1 PCT/JP2011/051712 JP2011051712W WO2011099380A1 WO 2011099380 A1 WO2011099380 A1 WO 2011099380A1 JP 2011051712 W JP2011051712 W JP 2011051712W WO 2011099380 A1 WO2011099380 A1 WO 2011099380A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
computer
server
storage
essential
Prior art date
Application number
PCT/JP2011/051712
Other languages
French (fr)
Japanese (ja)
Inventor
英治 松尾
Original Assignee
三菱電機株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 三菱電機株式会社 filed Critical 三菱電機株式会社
Priority to JP2011553799A priority Critical patent/JP5355725B2/en
Publication of WO2011099380A1 publication Critical patent/WO2011099380A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/203Failover techniques using migration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2048Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant where the redundant components share neither address space nor persistent storage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2097Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements maintaining the standby controller/processing unit updated
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2035Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant without idle spare hardware

Definitions

  • the present invention relates to an essential data management system, a computer, an essential data management program, and a communication method for backing up essential data as a countermeasure against a failure of a server device.
  • preliminary data data groups to be arranged (data such as essential data and their differences, hereinafter referred to as preliminary data) must be properly managed prior to the failure. The problem of having to occur arises. This means that if the required data does not exist on the server that has taken over the processing, it is necessary to restore the required data on the server that takes over the processing. Because.
  • JP 2009-080695 A Synchronization in operation and standby systems
  • JP 2008-257576 A Quick storage by backup server
  • JP 2008-217302 A Determination of processing takeover destination
  • Patent Document 1 regarding the takeover of processing, the spare server and the active server are operated at 1: 1, and data is replicated by synchronizing the data of the spare server and the active server (FIG. 40).
  • the conventional technique operates at 1: 1, a spare server that matches the active server is required, which increases the cost.
  • Patent Document 2 it is possible to cope with data duplication by backing up data and restoring the data.
  • the network load at the time of backup and the disk capacity required for backup are reduced.
  • the conventional technique requires a dedicated server for backup, and the cost becomes a problem (FIG. 41). Further, the speed at the time of restoration is not taken into consideration, and there remains a problem that the processing cannot be taken over in a short time.
  • the essential data management system of this invention is A plurality of computers including a process execution unit that executes a predetermined process, a storage unit that stores information, and an essential data management unit are connected via a network, Any of the calculators A storage instruction for instructing storage of essential data that is partial data constituting part of execution use data used for execution of the process by the process execution unit of any of the computers, the essential data Input a storage instruction including the required data specifying information for specifying the stored computer specifying information for specifying the held computer that is the computer that holds the required data as a save instruction input computer,
  • the essential data management unit of the storage instruction input computer is: When the save instruction is input, a master for the save instruction is communicated with the essential data management unit of another computer by communicating with the essential data management unit of the other computer via the network.
  • the storage master management unit which is an essential data management unit of the computer determined as the master
  • a storage destination of the essential data specified by the essential data specifying information of the storage instruction is selected from the plurality of computers based on a predetermined selection rule, and the selected selection computer and the selection computer are stored Transmitting data allocation information indicating the correspondence with the essential data to the possessed computer specified by the retained computer specifying information of the storage instruction
  • the essential data management unit of the possessed computer is: When the data arrangement information is received from the storage master management unit, the essential data is transmitted to the selection computer indicated by the data arrangement information via the network,
  • the selection calculator is The essential data transmitted from the possessed computer is stored in the storage unit of the selected computer.
  • the essential data management system of the present invention it is possible to provide a data backup system that eliminates the need for a spare server, a backup dedicated server, and a shared disk.
  • FIG. 1 is a configuration diagram of a spare image management system 1000 according to Embodiment 1.
  • FIG. 6 is a flowchart showing an outline of operation of the spare image management system 1000 according to the first embodiment.
  • FIG. 3 is a diagram illustrating a configuration related to registration of a spare image of the spare image manager 100 according to the first embodiment.
  • 5 is a detailed flow of a preliminary image registration process in the first embodiment.
  • FIG. 10 shows a data table 10A in the first embodiment.
  • FIG. The figure which shows 30 A of data arrangement tables in Embodiment 1.
  • FIG. FIG. 3 is a diagram illustrating an example of a difference created by a data differentiator 110 in the first embodiment.
  • FIG. 3 is a diagram showing a configuration relating to the construction of a spare image of the spare image manager 100 in the first embodiment.
  • 4 is a detailed flow of a spare image construction process in the first embodiment.
  • FIG. 2 is a block diagram showing an internal configuration of a preliminary image manager 100 in the first embodiment.
  • FIG. 10 is a diagram illustrating a configuration related to registration of a spare image of the spare image manager 100 according to the second embodiment.
  • FIG. The processing flow in the registration process in Embodiment 2.
  • FIG. 10 is a diagram illustrating a configuration related to registration of a spare image in the third embodiment. 10 is a flow at the time of registration processing of the data placement destination determination device 120 in the third embodiment. The figure which shows the structure which incorporated the specific determination device in the data arrangement location determination device 120 in Embodiment 3. FIG. The flow at the time of incorporating the determination device of FIG. 22 into the process.
  • FIG. 10 is a diagram illustrating an operation example of a spare image management system 1000 according to the third embodiment.
  • produces in server Sk in the state of FIG. 10 is a flow showing a construction process of the spare image manager 100 in the fourth embodiment. 10 is a flow showing relocation processing of the spare image manager 100 in the fifth embodiment.
  • FIG. 18 shows a processing flow in the sixth embodiment.
  • FIG. 20 is an external view of an operational server S in a seventh embodiment.
  • FIG. 18 shows hardware resources of an active server S in the seventh embodiment. The figure which shows a prior art. Another figure which shows a prior art.
  • Embodiment 1 FIG. The meanings of main terms used in the following Embodiments 1 to 7 are as follows.
  • Operational server also simply referred to as a server: a computer provided with a CPU, a storage device and the like.
  • Essential data Data used by processing
  • Preliminary data Data saved by the spare image manager
  • Original Base data of difference when essential data is differentially processed (original data is included in the preliminary data) include) (5) Patch: Data of the difference portion when the essential data is differentially processed (the patch is included in the preliminary data) (6) Chunk: A piece of data obtained by dividing spare data (chunk is included in spare data) (7) Mandatory data consisting of spare data: Mandatory data used when restoring spare data (8) Processing related to spare data: Processing requiring essential data consisting of spare data (9) Resource: CPU performance required for processing , Memory capacity, required devices, I / O throughput performance, etc.
  • a spare image manager that manages data (hereinafter referred to as a VM image) required for starting a VM as essential data in an environment in which a virtual machine (hereinafter referred to as a VM) is started in each server as processing.
  • a VM image a spare image manager that manages data required for starting a VM as essential data in an environment in which a virtual machine (hereinafter referred to as a VM) is started in each server as processing.
  • FIG. 1 shows a configuration of a spare image management system 1000 (essential data management system) according to the first embodiment.
  • the spare image management system 1000 includes a plurality of operational servers S1 to SN.
  • Each active server S includes a spare image manager 100 (essential data management unit), a storage device 200 (storage unit) that stores information, and a process execution unit 300 that executes a plurality of processes.
  • the processes operating in the process execution unit 300 of each server are not the same, but are individual processes. That is, the processes operating on the active server S1, the active server S2,... Are different.
  • Each server is connected to the network 400 and communicates with other computers via the network 400.
  • each active server There are no restrictions on the number of processing and storage devices for each active server. As shown in FIG. 1, the configuration of each active server is the same, and each active server is equivalent. Note that there are resource differences between the servers.
  • FIG. 2 is a flowchart showing an outline of the operation of the spare image management system 1000. This flow is composed of two parts: steps S101 to S105, which are “registration of a spare image”, and steps S106 to S110, which are “construction of a spare image”.
  • FIG. 11 is a diagram showing the flow of FIG. 2 as a sequence.
  • the server that appears in the description of FIG. 2 is defined. In the description of FIG. 2, for simplicity, four systems of servers S1 to S4 are assumed.
  • Reception server a server that accepts user instructions (referred to as S1)
  • possessed server a server (referred to as S4) that possesses the essential data d to be stored
  • Storage destination server A server (referred to as S2) that is a storage destination of essential data to be stored (registered).
  • Construction destination server a server (referred to as S3) on which a spare image using the essential data d is constructed
  • Master server A server that is the main component of the registration operation of the spare image (assuming that S1 also serves).
  • the spare image manager 100 of the master server is called a master manager. For example, the master manager executes a selection process of a storage destination server.
  • the spare image manager 100 of the server S1 is distinguished by attaching “ ⁇ 1” as “spare image manager 100-1”. “-1” is also given to the constituent elements of the “preliminary image manager 100-1” appearing below.
  • the master spare image manager 100 controls the spare image manager 100 of each server, and executes processing related to the entire system, for example, determination of a storage destination server to be described later. (M) indicates a master.
  • the server S1 is set as the master as described above.
  • the server S1 also serves as a reception server.
  • step S ⁇ b> 101 the user inputs “registration instruction” (storage instruction) to the reception server using the server S ⁇ b> 1 as the reception server.
  • “registration instruction” storage instruction
  • Each server is equal, and the user may input a registration instruction to any server. If “registration instruction” is input to the server S2, the server S2 becomes a receiving server (storage instruction input computer).
  • “Registration instructions” (1) Information (owned computer specifying information) for specifying the owned server S4 (owned computer), (2) Information (essential data specifying information) for specifying essential data d (data to be registered), (3) Includes three registration instructions for essential data d.
  • the spare image manager 100-1 of the server S1 accepts an instruction to save essential data d (data necessary for processing itself or data that is different from other data).
  • the spare image manager 100-1 of the server S1 which is a reception server, functions as a master.
  • the reception server is a master server. Any server can be the master.
  • the spare image manager 100-1 of the receiving server communicates with the spare image manager 100 of the other server via the network 400 to thereby reserve the spare server of the other server.
  • a server serving as a master may be determined with respect to the storage instruction with the image manager 100, and a registration instruction may be transmitted via the network to the spare image manager 100 of the server determined as the master.
  • step S102 the spare image manager 100-1 (M) causes the holding server S4 (user input) to start storing the essential data d in accordance with an instruction from the user.
  • the spare image manager 100-1 (M) transmits a notification to start saving processing of the essential data d to the holding server S4 (user input).
  • Receiving server start notification, possession server S4 starts the preservation
  • This “save process” means a difference process or the like (described later) by the holding server S4.
  • the possessing server S4 communicates with the other servers S1 to S3 to acquire information about the difference, and performs the difference process.
  • step S103 the spare image manager 100-1 (M) selects a server suitable for the storage destination of the essential data d held by the server S4 from the servers S1 to S4 including its own server S1. Select based on selection rules.
  • the “predetermined selection rule” will be described in detail in the second and subsequent embodiments.
  • Embodiments 2 to 6 are embodiments of a specific determination method of the storage destination server.
  • spare image manager 100-1 (M) determines server S2 (selected computer) from the “predetermined selection rule” as the storage destination server.
  • step S104 Manager 100-4 stores data in selected server S2
  • the spare image manager 100-1 (M) communicates with the spare image managers 100-4 and 100-2 of the holding server S4 and the storage destination server S2. Through this communication, the backup image managers 100-4 and 100-2 are notified that the server S2 has been selected as the storage destination server.
  • the spare image manager 100-4 of the possessing server S4 transmits the difference data to the spare image manager 100-2 of the storage destination server S2.
  • the spare image manager 100-2 stores the received difference data.
  • step S105 the preliminary image manager 100-1 (M) notifies the user who issued the instruction in S101 of the completion of storage. This is triggered by the fact that the spare image manager 100-1 (M) receives a transmission completion notification from the spare image manager 100-4 or receives a reception completion notice from the spare image manager 100-2. To do. The above is the process up to registration of the spare image.
  • step S106 The user instructs the server S1
  • the user issues a construction instruction to the server S1 (receiving server).
  • each server is equivalent, and the user may instruct any server to construct.
  • the server that has received the construction instruction becomes the acceptance server (construction instruction input computer).
  • "Build instruction” (1) Information for specifying a preliminary image to be constructed (execution use data specifying information), (2) Information (construction computer identification information) for identifying a construction destination server (in this example, server S3), (3) Construction command, Of three.
  • the user does not need to recognize the storage destination server. What is necessary is to recognize the VM image to be constructed and the construction destination server to construct the VM image.
  • step S107 the preliminary image manager 100-1 starts the corresponding data construction process in accordance with the construction instruction from the user.
  • the spare image manager 100-1 notifies the construction destination server S3 of the contents of the construction instruction.
  • step S108 the spare image manager 100-3 of the construction destination server S3 that has received the notification is necessary for constructing data of the spare image to be constructed (in this example, VM (A) below) based on the notice.
  • the essential data d original data a0, difference data a1 and the like shown below
  • the storage destination server (server S2) where the essential data d is stored are specified.
  • the spare image manager 100-3 specifies essential data such as original data a0 and difference data a1 necessary for data construction from a data table 10A (FIG. 5) described later, and a data arrangement table 30A (FIG. 7) described later. From the above, specify the storage destination server of essential data.
  • VM (A) is constructed from original data a0, difference data a1, difference data a3, and difference data a11 as shown in FIG.
  • the original data a0 and the like are as follows.
  • Original data a0 Original data created when VM (A) was first registered
  • difference data a1 difference data from the original a0 created when the VM (A) is updated and registered again
  • Difference data a3 Difference data a3 from difference data a1 created when VM (A) is updated and registered again
  • Difference data a11 Difference data from difference data a3 created when VM (A) is updated and registered again Original data a0, difference data a1, etc. are the difference processing of holding server S4 in FIG.
  • the data stored in the storage destination server when the servers S1 to S3 are owned servers.
  • step S109 the spare image manager 100-3 of the spare image construction destination (server S3) communicates with the spare image manager between the servers, and the essential data necessary for construction is transferred to the server for storing the essential data ( Acquired from the server S2) and constructs data (VM (A)). That is, the construction destination server S3 acquires essential data storage destination server essential data from the identification results of the data table 10A and the data arrangement table 30A, and constructs a preliminary image (VM (A)) using the obtained essential.
  • step S110 the construction destination server S3 transmits a construction completion notification to the receiving server S1, and the spare image manager 100-1 notifies the construction completion to the user who issued the “construction instruction” (for example, the display device completes the display device). Display).
  • S106 to S110 are the preliminary image construction processing.
  • essential data (a0, a1, a3, a11, etc.) is stored in another operational server (server S2, etc.), and when a certain server (server S4) fails, a certain server (server S4) Data construction (for example, construction of the spare image VM (A) using the essential data d) is performed on the server (server S3) other than the server in which the failure has occurred, based on the essential data d serving as a backup of the processing executed in step S2. By doing so, it is possible to take over data in the system.
  • the VM When applied to a VM, the VM is activated as “processing” on each server, and the VM stores its actual VM data on a non-shared disk for each server.
  • the spare image manager of each server obtains a VM image (execution usage data) in the storage device according to an instruction from the system user, transfers it to another server, or similarly stores the stored VM image according to the instruction. Restore on the target server.
  • FIG. 12 is a block diagram showing an internal configuration of the preliminary image manager 100.
  • the preliminary image manager 100 includes a data differentiator 110, a data placement destination determiner 120, a data distributor 130, and a data compounder 140.
  • the data differentiator 110 When the data differentiator 110 is a holding server, the data differentiator 110 creates difference data for registration in the storage destination server.
  • the data placement destination determination unit 120 selects a storage destination server when it is a master server.
  • the data distributor 130 exchanges data with other preliminary image managers 100.
  • the data compounder 140 constructs a spare image when it is a construction destination server.
  • FIG. 3 shows components related to the registration of the spare image with respect to the internal configuration of the spare image manager 100 shown in FIG.
  • the data differentiator 110 and the data distributor 130 are mainly owned servers, and the data placement destination determiner 120 is mainly a master server.
  • FIG. 3 shows both the component part of the owned server and the component part of the master server. That is, FIG. 3 shows a state in which the master server selects a storage destination server, and the holding server transmits data to the selected storage destination server.
  • FIG. 3 shows a series of flow from generation of difference data stored in the storage destination server to distribution of difference data.
  • the data difference unit 110 of the owned server cooperates (communications) with the spare image manager 100 of another server, and refers to the data table 10A (FIG. 5) based on the input data 5 (VM image). Then, a difference is calculated with the existing registered data (information is acquired by cooperation), the result is reflected in the data table 10A, and the difference data 7 is output.
  • the master data location determination unit 120 (M) cooperates with the spare image manager 100 of another server, and based on the difference data 7, the data table 10A, and the data location table 30A created by the holding server.
  • a server suitable for storing the difference data 7 is selected, and the result is reflected in the data table 10A and the data arrangement table 30A (data arrangement information) (FIG. 7).
  • the data distributor 130 of the owned server transfers the difference data 7 to the storage destination server in accordance with the data arrangement table 30A (latest state).
  • the data table 10A and the data arrangement table 30A are synchronized with other servers by the spare image manager 100.
  • FIG. 4 shows a detailed processing flow in the preliminary image manager 100 in the registration processing (S101 to S105 in FIG. 1).
  • the server S1 is the accepting server
  • the server S2 is the storage destination server
  • the server S3 is the construction destination server
  • the server S4 is the holding server.
  • Steps S201 and S202 are processes performed in step S102
  • steps S203 and S204 are performed in step S103
  • step S205 is a process performed in step S104.
  • step S201 the data differentiator 110-4 of the possession server S4 performs difference data (for example, a1) of data (VM (A)) for which registration is instructed (the possession server S4, VM (A) is input by the user). ) Is generated.
  • difference data for example, a1 of data (VM (A)) for which registration is instructed (the possession server S4, VM (A) is input by the user).
  • step S202 the data differentiator 110-4 of the holding server S4 reflects the information regarding the difference in the data table 10A-4 (FIG. 5).
  • step S203 the data placement destination determination unit 120-1 (M) acquires a server group as a storage destination candidate from the server table 20A-1 (FIG. 6).
  • the server table 20A-1 in FIG. 6 is address information of each server.
  • step S204 the data placement destination determination unit 120-1 (M) selects a server suitable for storing the difference data 7 from the candidates, and reflects the result in the data placement table 30A-1 (FIG. 7).
  • the data allocation table 30A-1 is synchronized with other servers.
  • step S205 the data distributor 130-4 of the holding server S4 updates the difference data 7 in synchronization with the data arrangement table 30A-1 updated by the data arrangement destination determination unit 120-1 (M). The data is transferred to the storage destination server S2 according to the data arrangement table 30A-4.
  • FIG. 8 shows an example of the difference created by the data difference unit 110 of the owned server.
  • a0 is data (original) created when VM (A) is first registered.
  • a1 is difference data from the original a0 created when the VM (A) is updated and registered again.
  • a2 is difference data from the original a0 created when VM (D) was first registered as a derivative from VM (A).
  • a3 is difference data from the difference data a1 created when the VM (A) is again updated and registered again.
  • the spare image manager 100 performs management by dividing the data of a plurality of VMs into original data and differential data according to differences.
  • FIG. 9 shows a configuration relating to the construction of a preliminary image in the internal configuration of the preliminary image manager 100 in FIG.
  • FIG. 9 shows the configuration of the construction destination server.
  • the data distributor 130 receives specific difference data 13 from another server.
  • the construction destination server is the server 3.
  • the data compounder 140 combines the inputted difference data 13 to construct a preliminary image.
  • it is the construction destination server that performs data composition.
  • it is the server 3.
  • FIG. 10 shows a detailed processing flow in the spare image manager 100-3 of the construction destination server S3 in the construction processing.
  • Step S301 is processing performed in step S108
  • steps S302 to S304 are processing performed in step S109.
  • step S301 the spare image manager 100-3 of the construction destination server S3 performs the data group (a0, a1, a3, a11) necessary for constructing the “spare image instructed by the user” (for example, VM (A)). Is obtained from the data table 10A-3. Thereafter, in accordance with the tree structure of the data group, steps S302 to S304 are repeated for any difference data sequentially from the original.
  • step S302 the data distributor 130-3 of the construction destination server specifies a storage destination server in which the difference data of the data group acquired from the data arrangement table 30A is stored.
  • step S303 the data distributor 130-3 refers to the server table 20A (address information), cooperates with (communicates with) the data distributor 130 of another server, and is necessary for constructing the VM (A).
  • the difference data is acquired from the possession server having such data.
  • step S304 the data composite unit 140-3 of the construction server reflects the acquired difference data in the preliminary image to be constructed.
  • the construction process is completed.
  • the data compounder 140-3 reflects the difference data a1, a3, a11 in the original data a0, and constructs VM (A).
  • the same effect can be used in an environment where other processes are performed by replacing the portion corresponding to the VM with arbitrary processing and the portion corresponding to the VM image with arbitrary essential data. .
  • Embodiment 2 an example corresponding to the primary failure is shown by improving the first embodiment and judging the operation state of the VM.
  • the master spare image manager 100 (M) selects a storage destination server for essential data
  • the server in which the VM (A) related to the essential data d (A) is operating is excluded from the storage destination candidates.
  • the system of the servers S1 to S4 is the same as in the first embodiment, and the receiving server is the same.
  • Embodiments 2 to 6 are embodiments relating to selection of a storage destination server by the spare image manager 100 (M) as a master.
  • FIG. 13 shows a configuration relating to registration of a spare image in the second embodiment.
  • FIG. 14 is a diagram illustrating synchronization with other servers.
  • FIG. 14 shows a master spare image manager 100 (M).
  • the data difference unit 110 of the owned server cooperates with the spare image manager of another server, and creates an existing registration based on the input data 5 (VM image).
  • a difference is taken from the completed data (for example, a3 for a1), the result is reflected in the data table 10B (FIG. 18), and difference data 7 is output.
  • the data table 10B in addition to the data table 10A created by the data differentiator 110 of the first embodiment, a VM name related to the data 5 (VM image) is also registered. This is the operation of the holding server.
  • the data placement destination determination unit 120 (M) cooperates with the spare image management unit 100 of another server, and based on the information in the data table 10B, the difference data 7, the server table 20A, and the VM table 40A (FIG. 17). Then, a server suitable for storing the difference data 7 is selected, and the result is reflected in the data arrangement table 30B (FIG. 19) and the data table 10B. In addition, the data placement destination determination unit 120 (M) determines to provide a copy (described later) of the difference data 7 if necessary. When the data placement destination determination unit 120 (M) determines that a copy should be provided, the data difference unit 110 of the holding server creates the difference data 19 according to the determination.
  • This data location determination unit 120 (M) is the data location determination unit 120-1 (M) of the master server.
  • the data distributor 120-4 of the holding server transfers the difference data 7 to the storage destination server according to the data allocation table 30B-4.
  • the data allocation table 30B-4 in FIG. 19 has a replication number indicating the number of replications.
  • the copy number “0” is a case where no copy is made.
  • the difference data a3 is transmitted to one storage destination server.
  • the copy number “1” indicates that one copy should be created.
  • the data difference unit 110 of the holding server generates one copy of the difference data a3 and transmits the two difference data a3 to the storage destination server selected by the data placement destination determination unit 120-1 (M).
  • the operation VM determination unit 121 (M) exists in the data placement destination determination unit 120.
  • the operation VM determination unit 121 determines an arrangement destination of essential data based on the operation state of the VM.
  • the data table 10B and the data arrangement table 30B are synchronized with other servers by the spare image manager.
  • the VM table 40A is information acquired from the server's own VM monitor in a timely manner, and indicates the VMs operating on the server.
  • FIG. 15 shows a processing flow in the preliminary image manager in the registration process, and the contents are the same as those in FIG. 4 except for the step number.
  • FIG. 16 shows a detailed operation example of S404.
  • step S401 the data differentiator 110-4 of the owned server S4 generates a difference of the data d instructed to be registered.
  • step S402 the data differentiator 110-4 reflects the information regarding the difference in the data table 10B-4.
  • step S403 the data placement destination determination unit 120-1 (M) acquires a server group as a storage destination candidate from the server table 20A-1.
  • step S404 the data location determination unit 120-1 (M) selects a storage destination server (server S2) suitable for storing the difference data 7 from the storage destination candidates, and the result is stored in the data allocation table 30B-1. And reflected in the data table 10B-1.
  • server S2 a storage destination server
  • step S405 the data distributor 120-4 of the holding server S4 transfers the difference data 7 to another server according to the data arrangement table 30B-4 (after synchronization).
  • step S404 selection of storage destination server
  • step S411 the data location determination unit 120-1 (M) initializes the server candidate list.
  • steps S412 to S413 are performed for all servers in the server table 20A-1.
  • “OUT” indicates a server candidate list.
  • step S412 the operation VM determination unit 121-1 of the data placement destination determination unit 120-1 (M) is a VM table of VMs operating on the target server (in this case, all of the servers S1 to S4). 40 (processing operation information) is acquired. At this time, the operation VM determination unit 121-1 performs step S413 only when there is no VM related to the difference data 7 in the acquired VM table 40, and adds the target server to the server candidates. In other words, when the difference data 7 to be saved (essential data, for example, difference data a3) is related to the VM (A), only the server on which the VM (A) is not operating becomes the save destination candidate (outS). After S412 to S413 are completed for all the servers, in step S414, the data placement destination determination unit 120-1 (M) performs S415 and S416 only when the server candidate is empty.
  • the difference data 7 to be saved essential data, for example, difference data a3
  • the data placement destination determination unit 120-1 sets “data replication count” to “2” and sets all servers in the server table 20A-1 as server candidates.
  • the fact that the storage destination candidate (outS) is “none” in S414 means that the VM (A) is operating in all the servers S1 to S4 in the previous example.
  • the data location determination unit 120-1 (M) updates the data table 10B-1 and updates the number of data copies to 2.
  • the effect of the number of data replications being “2” is that the same difference data 7 regarding VM (A) is stored in “two” servers.
  • the number of copies “2” is an example. If the number of data replications is “k”, it is stored in “k” servers. In this sense, the phrase “number of copies” is used.
  • the data placement destination determination unit 120-1 selects servers for the number of replicas from the server candidates and reflects the selection result in the data placement table 30B-1.
  • the copy number in FIG. 18 when the number of copies is “2”, two difference data 7 of “0” and “1” are registered.
  • the data is stored on the server where the VM related to the data to be registered is not operating.
  • the difference data a3 related to the VM (A) is to be stored and the VM (A) is operating on any server, the difference data a3 is duplicated. Therefore, the replicated data is stored in separate servers. Therefore, data recovery can be reliably performed for a single failure.
  • the same effect can be used in an environment where other processes are performed by replacing the portion corresponding to the VM with arbitrary processing and the portion corresponding to the VM image with arbitrary essential data. .
  • Embodiment 3 Similar to the first embodiment, in the preliminary data management in which the VM image is essential data in the environment activated on the server with the VM as a process, optimal data storage is performed so that data transfer does not occur as much as possible when the VM is constructed. An example of determining the destination will be shown. In this example, the same data related to construction is collected on the same server, and data transfer is minimized.
  • the third embodiment also relates to selection of a storage destination server by the master, as in the second embodiment.
  • the system of the servers S1 to S4 is used, and the receiving server is the same.
  • FIG. 20 shows a configuration of the data placement destination determination unit 120 related to the registration of the spare image in the third embodiment.
  • the data placement destination determination unit 120 outputs placement candidates (in the case of a master) based on inputs such as the data table 10C, the server table 20A, the data placement table 30C, the VM table 40B, and placement data (difference data). Output the actual data to be placed (in case of owning server). In addition, the data placement destination determination unit 120 updates the input data.
  • the determination units 1 (first selection algorithm) to determination unit n (nth selection algorithm) existing in the data placement destination determination unit 120 are different from the operation VM determination unit 121 and have different indexes (selection criteria). Determine the location (storage destination server).
  • the data placement destination judging device 120 selects placement candidates by repeatedly making decisions while changing the judging device.
  • the data placement destination determination unit 120-1 (M) operates as a master.
  • FIG. 21 shows a processing flow at the time of registration processing in the data placement destination judging device 120-1 (M).
  • step S501 the data arrangement destination determination unit 120-1 (M) acquires an initial arrangement candidate using the operation VM determination unit 121-1.
  • This step S501 is the content of FIG. “OutS” (number of servers) and “OutCount” in S501 are the results obtained in S417.
  • the data placement destination determination unit 120-1 (M) repeats S502 to S506 while changing the determination units by the number of copies (the number of OutCounts) acquired in step S501. This repetition is repeated by the number of “OutCount”, that is, the number of copies (the number of storage destination servers). That is, one difference data storage destination server is selected in one loop.
  • step S502 the data arrangement destination determination unit 120-1 (M) copies the temporary candidate (TmpS (1)) from the candidate list OutS and initializes the division number (PartCount) to 1.
  • the “number of divisions” means the number of division of the difference data to be saved.
  • step S503 the determiner 1 set to operate next to the operation VM determiner 121-1 is selected based on the arrangement candidate (S501: OutS), the arrangement data, and the number of divisions (S502). Select the server.
  • step S504 the data placement destination determination unit 120-1 (M) performs S506 only when the number of candidate results (TmpS (2)) in S503 is the same as the “number of divisions” (NO in S504). , End and proceed. For example, when the number of candidates in S503 (the number of candidates for the storage destination server) is one and the “number of divisions” of the essential data d is “1”, the process proceeds to S506 and the end.
  • step S506 the data placement destination determination unit 120-1 (M) reflects the server of the temporary candidate (TempS (2)) in the data placement table 30B-1 as the storage destination, and the candidate “ The server that is a temporary candidate (TempS (out)) is deleted from “OutS”.
  • a determination device simple determination device 125 described later
  • FIG. 22 shows a configuration example in which several types of specific determiners are actually incorporated in addition to the operation VM determiner 121.
  • four determination units including a failure guarantee determination unit 122 to a simple determination unit 125 are incorporated.
  • the failure guarantee determination unit 122 selects a server capable of VM recovery when an unspecified server is stopped. If the failure guarantee determination unit 122 selects a storage destination server and assumes that another server is down, can the VM operating in the down server be constructed as a storage destination server? To simulate. However, the VM constructability related to the data stored in the server to be stored is simulated.
  • the data relation determination unit 123 selects a server in which a lot of essential data related to the same spare data is stored among the selected servers. For example, the original data a0 and the difference data a1, a3, and a11 are required to construct the VM (A) as the preliminary data.
  • the data relationship determination unit 123 includes the servers S1 and S2 as candidates, and when the difference data a11 is stored, the related data Is selected as the storage destination of the difference data a11.
  • the resource criterion determination unit 124 selects a server having the most free resources from the selected servers.
  • the simple determiner 125 selects servers for the appropriate number of divisions from the candidates. Therefore, in the determination by the simple determiner 125, S504 is always NO, and the process proceeds to S506.
  • FIG. 23 is a flow in the case where these four determiners are incorporated into the processing with respect to FIG. With reference to FIG. 23, a case where the determiners 121 to 125 are incorporated will be described.
  • the failure guarantee determination unit 122 performs processing.
  • the data relationship determination unit 123 performs processing.
  • the resource criterion determination unit 124 performs processing.
  • the simple determiner 125 performs processing.
  • the failure guarantee determination unit 122 and the data placement destination determination unit 120 perform processing in cooperation.
  • the processing outline of FIG. 23 is as follows. When a plurality of storage destination candidate numbers N5 are selected by the processing of the failure guarantee determination unit 122, the data relationship determination unit 123 further narrows down from the plurality of storage destination candidate numbers N5.
  • the resource reference determination unit 124 narrows down from the number of storage destination candidate numbers N4.
  • the simple determination unit 125 finally determines a predetermined number of storage destination candidates from the plurality of storage destination candidate numbers N3.
  • step S513 If the number of server candidates is greater than the “number of divisions”, the process proceeds to step S513.
  • the data relationship determination unit 123 selects, from the servers selected from the server candidates (TempS) passed from the failure guarantee determination unit 122, servers that have a lot of other data related to the data to be stored as candidates.
  • the resource criterion determination unit 124 uses the resources (CPU, memory, disk capacity, device, I / I) from the server candidates passed from the data relationship determination unit 123.
  • a server having an available computer resource such as O throughput is selected as a storage destination candidate server.
  • step S515 When the number of candidates processed in S514 is different from the number of divisions, in step S515, the simple determiner 125 appropriately selects servers for the number of divisions from the candidates passed from the resource criterion determiner 124.
  • FIG. 24 is a flowchart showing specific processing performed by the failure guarantee determination unit 122 in step S511 shown in FIG.
  • the failure guarantee determination unit 122 is an operation subject.
  • FIG. 24 is a flow for determining whether or not spare data can be constructed in the candidate server by the failure guarantee determination unit 122. That is, the failure guarantee determination unit 122 confirms whether the storage destination server can also be the construction destination server.
  • step S511 the failure guarantee determination unit 122 simulates that an unspecified server has stopped, and determines whether or not recovery can be supported even when data is stored.
  • step S521 the failure guarantee determination unit 122 acquires a VM related to data to be stored.
  • step S522 the failure guarantee determination unit 122 initializes the temporary candidate NewTempS.
  • step S523 the failure guarantee determination unit 122 covers combinations of the number of divisions (PartCount) from among the server candidates passed from the operation VM determination unit 121, and sets each as a storage destination candidate group C.
  • Steps S524 to S530 are performed. Specifically, for example, it is assumed that there are four server candidates passed and the number of divisions is two. In that case, two pieces of data are stored in two of the four servers. Therefore, as the candidate group C, “ 4 C 2 ways” can be combined.
  • step S524 the failure guarantee determination unit 122 covers all combinations when the VMs related to the data to be stored are divided into division numbers, and steps S525 to S530 are used as VM combination candidates D to be restored. I do.
  • steps S525 to S529 a case where a specific server sj is stopped is simulated.
  • step S525 the failure guarantee determination unit 122 acquires the VM list Va operating on the server sj.
  • step S526 the parameter cnt is initialized. Thereafter, steps S527 to S529 are repeated for the number of elements of D.
  • step S527 the failure guarantee determination unit 122 acquires a VM list Vs related to data stored in the cnt-th server of the candidate group C.
  • step S5228 among the sum of the cnt-th VM group of the candidate group D and Vs, the one included in Va is set as Vu.
  • step S530 the combination C in which vacancies exist for all the failure determinations of sj is added to the storage destination candidate to be output. After this is executed for all combinations of C and D, the output candidate thrives as a temporary candidate in step S531.
  • FIG. 25 shows a detailed flow of step S513. These are all processed by the data relationship determination unit 123.
  • the processing includes a first half (steps S541 to S545) for calculating the data relation level of each server and a second half (steps S547 to S551) for selecting a server having a high degree of relation from among the first half.
  • step S541 the data relationship determination unit 123 initializes the data relationship level (Rates) of each server, and stores VM groups related to data to be stored in Vd. Thereafter, Steps S542 to S545 are performed for all the candidate servers.
  • Step S542 to S545 are performed for all the candidate servers.
  • the data relationship determination unit 123 acquires a data group stored in the server si to be determined.
  • step S544 the data relationship determining unit 123 sets the degree of relationship to 0, and then performs step S545 on all Vd VMs as VMVs.
  • step S545 the data relationship determination unit 123 acquires the ratio that the data necessary for the construction of the VM V is stored in the server si, and adds it to the relationship level.
  • the data relationship determination unit 123 stores the previous relationship level as the relationship level of the server si.
  • step S546 selects a candidate server based on the calculated degree of relationship.
  • step S546 the data relationship determiner 123 initializes the number of candidates and candidate groups that have been output.
  • step S547 the data relationship determiner 123 acquires the largest candidate group from the relationship rate Ratings.
  • steps S548 and 549 the data relationship determiner 123 adds the previous candidate to the output candidate, and deletes the candidate from the relationship list in step S550.
  • step S551 the process returns to step S548.
  • FIG. 26 shows a detailed flow of step S514. These are all processing of the resource standard determination unit 124.
  • step S561 the resource criterion determination unit 124 initializes the number of candidates to be output and the candidates.
  • step S562 the resource criterion determination unit 124 obtains a server having the largest free resource amount from the input candidates in cooperation with the spare image manager of another server.
  • steps S563 and S564 the acquired server is added to the output candidates, and the candidates added from the candidates input in step S565 are deleted.
  • the process returns to step S548.
  • step S567 the output candidate is reflected in the final candidate.
  • data transfer is prevented by aggregating preliminary data necessary for constructing essential data so that data transfer does not occur as much as possible.
  • aggregation on the basis of whether there are enough resources to start the process to be taken over on that server, leaving the room for processing on each server, the relationship between the spare data that has been placed, Considering the relationship between the processes related to the data, the data placement destination is determined.
  • the data table and the data position table are as shown in FIGS. 27 and 28 in order to correspond to the division. Further, since it is necessary to determine the resources necessary for starting the VM, the VM table 40 is as shown in FIG.
  • FIG. 30 to 33 show the processing results of the operation VM determination unit 121, the failure guarantee determination unit 122, the data relationship determination unit 123, the resource reference determination unit 124, and the simple determination unit 125 described above.
  • VMs A to J are operating on servers i to l (FIG. 30). Further, it is assumed that VMs A to J are composed of preliminary data shown in FIG. In this example, spare data is stored one by one in the order from left to right in FIG. 8 (a0 ⁇ b0 ⁇ a1 ⁇ a2 ⁇ b1 ⁇ b2 ⁇ a3 ⁇ a4 ⁇ a5...)
  • the environment where the VM is already operating. Describe the case.
  • Each server is assumed to be a disk of 270 GB, a VM of 40 GB, a0 and b0 of 40 GB, a1 to 14, and b1 to b9 of 5 GB, and resource determination is performed on the disk capacity.
  • FIG. 31 In this case, determination of the arrangement of a0 to a14 and b0 to b9 is performed as shown in FIG.
  • a0 is collectively stored in one server, and b0 is divided and stored in two servers. From a1 and b1 onward, each server is assigned based on the degree of relevance of the data, and finally the configuration at the bottom of FIG. 31 is obtained.
  • “Si to Sl” in the upper part of FIG. 31 indicates the following. ⁇ Upper row>
  • there is still room for constructing three VMs at the present time even if all of the a0 groups are stored in the most free S1.
  • Si to S1 in the lower part of FIG. 31 indicates the following. ⁇ Lower row> When Si is stopped, when A, B, and C are reconstructed, data transfer does not occur when S1 is constructed. When Sk stops, when reconstructing G, H, and I, when G is constructed in Si and H and I are constructed in Sj, a total of 50 GB is transferred.
  • FIG. 32 In this configuration, when the VM is recovered with the data flow as shown in FIG. 32 for the failure of the server i and with the data flow as shown in FIG. 33 for the failure of the server k, the transfer amount is the highest. There are few and the start in the shortest becomes possible.
  • FIG. 32 when Si is stopped, if A, B, and C are reconstructed in S1, data transfer does not occur.
  • FIG. 33 when Sk is stopped, when reconstruction of G is performed by Si and reconstruction of B and C is performed by Sj, a total of 50 GB is transferred.
  • b0 / 1 in Sj is necessary for the construction of G in Si
  • b0 / 0 in Si is necessary for the construction of H and I in Sj.
  • the same effect can be used in an environment where other processes are performed by replacing the portion corresponding to the VM with arbitrary processing and the portion corresponding to the VM image with arbitrary essential data. .
  • Embodiment 4 As in the first embodiment, when an instruction is issued to restore a VM image at a specific server in the environment in which the VM image is processed as an indispensable data in an environment in which the VM is running as a process, the specification is performed. An example in which there is not enough disk space to construct a VM image on the server of FIG.
  • FIG. 34 shows a processing flow at the time of constructing the spare image manager in this example.
  • the data compounder 12 determines whether there are enough resources available for construction.
  • the spare image manager is improperly placed on its own server for data not related to the construction among the data stored in the construction destination server. Select some data.
  • the data arrangement destination determination unit 22 determines again an appropriate arrangement destination for all the target data, and treats data different from the server whose result is already stored as a candidate.
  • the preliminary image manager moves data to another server using the data distributor in step S603 by an appropriate number from the candidates. Thereafter, the process is repeated until the resource becomes available.
  • the same effect can be used in an environment where other processes are performed by replacing the portion corresponding to the VM with arbitrary processing and the portion corresponding to the VM image with arbitrary essential data. .
  • Embodiment 5 As in the first embodiment, the processing for optimizing the arrangement of data in the server when there is a margin in processing such as late at night in the spare data management in which the VM image is essential data in the environment in which the server is started with the VM as a process Show about.
  • the spare image manager performs data rearrangement using the data arrangement destination determination unit 22 and the data distributor 19 provided therein.
  • the spare image manager directly uses the failure guarantee determination unit 29 in the data arrangement destination determination unit 22.
  • the spare image manager passes a provisional table to the data placement destination judgment unit 22 and the failure guarantee judgment unit 29, and acquires the placement destination as provisional. Further, the result is reflected in the data arrangement table 30, and the data distributor 19 is instructed to redistribute.
  • the data placement destination determination unit 22 calculates a temporary placement destination from the input information passed as temporary.
  • the failure guarantee determination unit 29 returns whether or not the designated server is included in the selection candidate from the temporary input information passed from the spare image manager.
  • the data distributor 19 transfers data according to the data arrangement table 30 determined by the preliminary image manager.
  • FIG. 35 shows a processing flow at the time of rearrangement processing of the spare image manager in this example.
  • the flow consists of three steps, S701, S702, and S703.
  • step S701 the spare image manager activates the data placement destination judgment unit 22 using the placement patterns of all the data managed by the spare image manager as provisional input information, and moves the data at the most reconstruction time. Select an arrangement pattern with a small amount.
  • step S702 the spare image manager selects a combination of data that satisfies the conditions selected by the operation guarantee determination unit 29 and the optimal placement destination server from among the data that does not conform to the optimum placement. Data is transferred to the target server using the data distributor 19.
  • step S703 the spare image manager unconditionally transfers the remaining data that does not conform to the optimal arrangement to the target server using the data distributor 19.
  • Step S701 corresponds to steps S711 to S715.
  • Step S702 corresponds to steps S721 to S729.
  • Step S703 corresponds to steps S731 to S736.
  • step S711 the spare image manager determines whether the process has been resumed from the interrupted state or whether it is the initial start based on whether re-verification is necessary.
  • the preliminary image manager changes the forced movement flag force to false in step S712, and selects an optimum arrangement destination using the data arrangement destination determination unit 22 in step S713.
  • step S714 if the forced movement flag force is true, that is, if the previous forced movement was performed in the interruption process, the process jumps to step S732.
  • step S715 it is determined whether the current arrangement is equal to the optimum arrangement. If they are equal, the process ends. If not, the process jumps to step S721.
  • step S721 the preliminary image manager initializes the data movement flag flag to false, and then moves the data that satisfies the conditions of the failure guarantee determination unit 29 among the data that is not optimally arranged.
  • step S722 it is determined whether or not to interrupt, and only when not interrupted, the process jumps to step S723 to acquire the placement destination server sk of the data d that is a candidate for current movement verification.
  • step S725 only when the placement destination server is not equal to the current server, and jumps to step S726 only when the condition of the operation guarantee device is satisfied even if the data d is moved to the server sk.
  • step S726 the preliminary image manager updates the data arrangement table 30, instructs the data distributor 19 to move the data, and moves the data d to the server sk. If even one piece of data has been moved, in step S727, the spare image manager truly updates the data movement flag flag.
  • step S728 it is determined whether the current arrangement and the optimum arrangement are equal. If they are equal, the process ends. If not, the process jumps to step S729.
  • step S729 the spare image manager jumps to step S721 only when the data is moved under the condition of the failure guarantee determination unit 29 and tries again whether the data can be moved under the condition of the failure guarantee determination unit 29.
  • step S731 the spare image manager sets the forced movement flag force to true and shifts to the forced movement state.
  • the spare image manager determines in step S732 whether or not to interrupt, and jumps to step S733 only when not interrupted.
  • step S733 the preliminary image manager selects one of the data different from the optimum pattern, and in step S734, the data arrangement table 30 is updated, and the data distribution unit 19 moves the data to optimize the selected data. Move according to the arrangement pattern.
  • step S735 the spare image manager determines whether the current arrangement and the optimum arrangement are equal. If they are not equal, the process returns to step S732. If they are equal, the forcible movement flag is set to false in step S736 to force movement. The state is released and the process is terminated.
  • the same effect can be used in an environment where other processes are performed by replacing the portion corresponding to the VM with arbitrary processing and the portion corresponding to the VM image with arbitrary essential data. .
  • Embodiment 6 FIG. As in the first embodiment, an example will be described in which an index is shown to the user when data is restored in the spare data management in which the VM image is essential data in an environment where the VM is used as a process in the server.
  • FIG. The processing flow in this example is shown in FIG. The flow is when a presentation of an index for the construction of a specific VM is issued by the user.
  • size (D) total data size of data group D
  • ready (si) data group stored in the server si
  • src (A) data group necessary to construct VM A, It is.
  • the rate in which data necessary for building a specific VM is stored is calculated as a rate. .
  • step S802 when starting a specific VM on the server, the extent of resource excess or deficiency is calculated as res. Finally, the rate and res of all servers are returned to the user and the process is terminated. From the viewpoint of the user, rate indicates the transfer amount load at the time of construction, and res indicates the remaining capacity of the server after construction.
  • the same effect can be used in an environment where other processes are performed by replacing the portion corresponding to the VM with arbitrary processing and the portion corresponding to the VM image with arbitrary essential data. .
  • Embodiment 7 FIG.
  • the hardware configuration of the active server S1, which is a computer will be described.
  • FIG. 38 is a diagram illustrating an example of the appearance of the active server S1 that is a computer.
  • FIG. 39 is a diagram illustrating an example of hardware resources of the active server S1. Since the other active servers are the same as the active server S1, the active server S1 will be described.
  • the active server S1 includes a system unit 830, a display device 813 having a CRT (Cathode / Ray / Tube) or LCD (liquid crystal) display screen, and a keyboard 814 (Key / Board: K / B). And hardware resources such as a mouse 815, FDD 817 (Flexible Disk Drive), compact disk device 818 (CDD: Compact Disk Drive), and printer device 819, which are connected by cables and signal lines.
  • the system unit 830 is connected to another operational server S via a network.
  • the active server S1 includes a CPU 810 (Central Processing Unit) for executing a program.
  • the CPU 810 includes a ROM (Read Only Memory) 811, a RAM (Random Access Memory) 812, a display device 813, a keyboard 814, a mouse 815, a communication board 816, an FDD 817, a CDD 818, a printer device 819, and a magnetic disk device 820 via a bus 825. And control these hardware devices.
  • a storage device such as an optical disk device or a flash memory may be used.
  • the RAM 812 is an example of a volatile memory.
  • Storage media such as the ROM 811, the FDD 817, the CDD 818, and the magnetic disk device 820 are examples of nonvolatile memories. These are examples of a storage device or a storage unit, a storage unit, and a buffer.
  • the communication board 816, the keyboard 814, the FDD 817, and the like are examples of an input unit and an input device.
  • the communication board 816, the display device 813, the printer device 819, and the like are examples of an output unit and an output device.
  • the communication board 816 is connected to a network (such as a LAN).
  • the communication board 816 may be connected not only to the LAN but also to a WAN (wide area network) such as the Internet or ISDN.
  • the magnetic disk device 820 stores an operating system 821 (OS), a window system 822, a program group 823, and a file group 824.
  • the programs in the program group 823 are executed by the CPU 810, the operating system 821, and the window system 822.
  • the program group 823 stores programs that execute the functions described as “ ⁇ unit” or “ ⁇ device” in the description of the first to sixth embodiments.
  • the program is read and executed by the CPU 810.
  • the file group 824 includes, as described in the above embodiment, “determination result”, “calculation result”, “extraction result”, “generation result”, and “processing result”.
  • the described information, data, signal values, variable values, parameters, and the like are stored as items of “ ⁇ file” and “ ⁇ database”.
  • the “ ⁇ file” and “ ⁇ database” are stored in a recording medium such as a disk or a memory.
  • Information, data, signal values, variable values, and parameters stored in a storage medium such as a disk or memory are read out to the main memory or cache memory by the CPU 810 via a read / write circuit, and extracted, searched, referenced, compared, and calculated. Used for CPU operations such as calculation, processing, output, printing, and display.
  • Information, data, signal values, variable values, and parameters are temporarily stored in the main memory, cache memory, and buffer memory during the CPU operations of extraction, search, reference, comparison, operation, calculation, processing, output, printing, and display. Is remembered.
  • data and signal values are stored in the memory of the RAM 812, the flexible disk of the FDD 817, the compact disk of the CDD 818, the magnetic disk of the magnetic disk device 820, other optical disks, mini disks, DVDs (Digital).
  • -It records on recording media, such as Versatile and Disk.
  • Data and signals are transmitted on-line via the bus 825, signal lines, cables, and other transmission media.
  • the program is read by the CPU 810 and executed by the CPU 810.
  • the program causes the computer to function as the “ ⁇ unit” and “ ⁇ device” described above.
  • it causes a computer to execute the procedures and methods of “to part” and “to instrument” described above.
  • the spare image management system and the active server have been described.
  • the following (1) to (3) relate to the first, second and third embodiments.
  • essential data The technology related to the transfer of data used by the process (hereinafter referred to as essential data) has been described.
  • This technology relates to a spare data manager that takes over essential data even when a storage device (hereinafter referred to as a disk) is used for each server, instead of a shared storage device such as a SAN.
  • the spare data manager appropriately determines the server on which the essential data is to be arranged, reduces the transfer of the essential data at the time of takeover, and makes it possible to take over in a short time.
  • the spare data manager operates on the active server, eliminating the need for a server dedicated to takeover of processing, and eliminating the need for a server dedicated to data takeover when passing essential data.
  • the spare data manager operates in an operational server constituting the system, and the spare data manager exchanges data with each other. Indispensable data is copied to another server by the spare data manager in accordance with an instruction from the user.
  • the spare data manager uses a server that can actually take over the processing that requires the essential data (a server that has sufficient capacity to perform processing when takeover occurs) as a copy destination.
  • the essential data is pre-aggregated in a server that is preferentially handled and processed.
  • the transfer amount associated with the collection of essential data at the time of taking over the processing at the time of failure is reduced, and the time required for taking over is reduced.
  • the arranged replica data is referred to as spare data.
  • the update of the essential data corresponds to the update of the essential data by updating the stored data under the management of the preliminary data manager in accordance with the update of the original essential data.
  • a difference is taken between essential data, and data generated by the difference is used for saving, thereby reducing the amount of disk used for saving the copy.
  • the data generated by the difference consists of an original that is the source of the difference and a patch that is the difference from the original.
  • the preliminary data includes not only the essential data itself but also the original and the patch.
  • the preliminary data manager has a placement destination judgment device for judgment of the placement destination.
  • the placement destination determination unit determines the server on which the spare data is to be placed based on the information on the spare data to be placed, the information on the processing related to the essential data, and the information on the server, and outputs the index to others.
  • the information includes not only the data size but also server resources (hereinafter referred to as resources) such as CPU performance required for processing, memory capacity, required devices, and I / O throughput performance.
  • the spare data manager manages spare data based on the output result.
  • the determination of the placement destination in the placement destination judging device consists of an indispensable condition and an additional condition.
  • the essential conditions must satisfy the decision, and the additional conditions are further refined after the essential conditions. Additional conditions can be omitted.
  • an additional condition it carries out combining at least 1 and multiple. It should be noted that although there is selection, it is not determined that the choice is arranged / not arranged, but it is assumed that a weight of 0 to 1 is given to the server. ⁇ Requirement> (3 or 4 should satisfy either) 1.
  • a server on which processing related to a spare image that is a placement target is not currently operating is selected as a placement destination.
  • the spare image is a patch and there are a plurality of essential data that require the patch
  • a server that does not operate all of the plurality of processes that use the essential data is a candidate. If the corresponding server does not exist, the spare data is duplicated and distributed to the two servers. Each storage location is determined according to other criteria. 2. If the spare data is allocated, a server that can secure a resource sufficient to start all the processes related to the spare data allocated to the server is selected. 3. Temporarily, after the spare data is placed, the processing related to the spare data stored in the placement destination server in the processing group running on a certain server is targeted, and all the processing can be started. Select the server that has the resource.
  • resources that can continue processing when a certain server stops are secured in all servers. 4). For example, if a server is stopped for the purpose of placing spare data, the data placement destination server has enough resources to start at least one of the processes running in that server. In addition, a server that can start the remaining processing on another server is selected. ⁇ Additional conditions> 1. Similarly, for a process related to spare data to be arranged, a server having more related data is selected. In determining whether there is a lot of data, the target data group consisting of the preliminary data to be arranged is targeted, and the arrangement target server has all the necessary data for the total size of all the data required to construct the required data. The amount of data included in the data is used as an index. 2.
  • a process instructed to operate on the same server as a process a is defined as a process closely related to the process a.
  • a server having a large number of the processing is selected. 3.
  • a process instructed to operate on a server different from a process a is a process having a weak relationship with the process a.
  • processing related to the processing related to the spare data to be arranged is included in the processing related to data already arranged in the server, a server having a small number of processing is selected. 4). Select the server with the least resources. 5.
  • the placement destination determiner has a function of dividing data.
  • the timing at which the division is performed is when the determination destination is determined, and there are the following two. 1.
  • the server that satisfies the condition is generated by dividing the spare data, the data is divided and stored.
  • the divided data is equally stored in another server.
  • the determination of the storage destination server is made by making the following changes to the server determination in the determination methods 2 and 3.
  • the spare data management unit restores the next data among the spare data arranged in the server after the essential data is restored or the server process has a margin. At some point, move to another server. This addresses further obstacles.
  • the data to be transferred is data related to the processing that has been performed. Also, when processing is performed on a certain server, if data that does not satisfy the arrangement method determined in (4) above occurs in the data in that server, the data that does not satisfy that condition is moved to another server To do.
  • the destination server is determined in the same manner as (4) above.
  • the spare data manager moves the data stored in the server to another server when there is room in the server at midnight or the like. One of the following two is used as a data destination. 1.
  • a server suitable for storage is checked by means similar to (4) above, and if a server other than the server where the data is currently stored corresponds, the server moves to the corresponding server. 2. Simulates that when a server stops due to a failure, processing starts on another server. In the simulation, it is determined how quickly the entire process can be activated when the data is distributed. Data is moved based on this determination result, and the optimal arrangement is changed. In addition, instead of moving the data all at once, it is timely determined whether there is room to perform the movement process, and if there is no room, temporarily stop the movement process and restart at the next timing, Reduce the processing load. In addition, when preliminary data is newly registered or moved after the previous pause, the simulation is performed again.
  • data movement is performed within a range that satisfies the essential determination of (4) above.
  • the backup data manager moves the data to a server that does not have data that is the same as the chunk. Even when the chunks are combined and combined as one data, if there is a server that satisfies the above requirement (4), the chunks are combined and stored in that server.
  • the spare data manager saves the replica separately in a separate server when saving the spare data.
  • the data that is the basis of the replica is the master.
  • a storage destination server is determined by the same method as in (4) above.
  • the storage destination is stored in a server different from the master and other replicas that share the same master.
  • (11) When there is a replica and the required data is restored on a certain server, if the spare data manager does not have enough free space for the restoration, the spare data manager deletes as much data on the server as necessary. To do.
  • a replica by the master is set as a new master.
  • the data to be deleted is obtained as a server where each data is arranged, and the server is targeted for data different from the server currently stored.
  • the backup data manager restores the replica from the master or replica to another server immediately after deletion according to (11) above or when there is room in post-deletion processing.
  • the server to which the replica is restored is obtained in the same manner as (4) above.
  • the preliminary data manager presents the easiness of continuation in each server as an index for a certain process based on the data amount stored in each server and the resource amount of each server.
  • the preliminary data manager presents the ease of continuation of each process as an index for a certain server based on the data amount stored in each server and the resource amount of each server.
  • S-1, S-2, SN active server 10A, 10B, 10C data table, 20A server table, 30A, 30B, 30C data allocation table, 40A, 40B VM table, 100 spare image manager, 110 data Differentiator, 120 Data placement destination determiner, 121 Operation VM determiner, 122 Fault guarantee determiner, 123 Data relation determiner, 124 Resource criterion determiner, 125 Simple determiner, 130 Data distributor, 140 Data compounder, 200 Storage device, 300 processing execution unit, 400 network, 1000 spare image management system.

Landscapes

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

Abstract

Provided is a data backup system which does not require a shared disc or a designated server for backup. One server (S) functioning as a reception server inputs registration instructions which instruct to save data that is essential for the data processing executed by the processing execution unit (300) of said server (S). Once the registration instruction is entered, the reception server determines a server which acts as master in relation to the registration instruction between the other servers by means of communication, and transmits the registration instruction to the master server. The master server selects, on the basis of a predetermined selection rule and from among a plurality of servers, a server to which the essential data specified by the registration instruction is stored, and transmits data arrangement information indicating the correspondence between the selected server and the essential data to be stored to a retention server (for retaining the essential data) specified in the registration instruction. Upon receiving the data arrangement information from the master server, the retention server transmits the essential data to the selected server indicated in the data arrangement information.

Description

必須データ管理システム及び計算機及び必須データ管理プログラム及び記録媒体及び通信方法Essential data management system, computer, essential data management program, recording medium, and communication method
 この発明は、サーバ装置の障害対策として必須データをバックアップする必須データ管理システム、計算機、必須データ管理プログラム及び通信方法に関する。 The present invention relates to an essential data management system, a computer, an essential data management program, and a communication method for backing up essential data as a countermeasure against a failure of a server device.
 計算機(以下サーバ)において障害が生じた場合には、障害により停止したサーバ上で動作していた処理を予備のサーバで起動しなおすことで、処理の継続を行う。この構成を非共有ディスクで構築する場合は、予備サーバの処理に関するデータ(以下必須データ)を予め複製しておく必要がある。 When a failure occurs in a computer (hereinafter referred to as a server), the processing continued on the spare server is restarted by restarting the processing that was running on the server that was stopped due to the failure. When constructing this configuration with a non-shared disk, it is necessary to duplicate in advance data relating to the processing of the spare server (hereinafter, essential data).
 また、このような処理の引継ぎを短時間で行うためには、障害に先立ち、配置するデータ群(必須データやその差分などのデータ。以下予備データという)全ても、適切に管理しておかなければならないという課題が生じる。これは、処理を引き継いだサーバに必須データが存在しない場合、その必須データを処理引継ぎ先のサーバにて復元する必要が有り、その時のネットワーク転送にかかる帯域への負荷と転送時間が課題となるからである。 In addition, in order to take over such processing in a short time, all data groups to be arranged (data such as essential data and their differences, hereinafter referred to as preliminary data) must be properly managed prior to the failure. The problem of having to occur arises. This means that if the required data does not exist on the server that has taken over the processing, it is necessary to restore the required data on the server that takes over the processing. Because.
特開2009-080695号公報(運用系・予備系での同期)JP 2009-080695 A (Synchronization in operation and standby systems) 特開2008-257576号公報(バックアップサーバによる迅速な保存)JP 2008-257576 A (Quick storage by backup server) 特開2008-217302号公報(処理引継ぎ先の決定)JP 2008-217302 A (Determination of processing takeover destination)
 特許文献1では、処理の引継ぎに関して、予備サーバと運用系を1:1にて動作させ、予備サーバと運用系サーバのデータを同期させることでデータの複製を行っている(図40)。しかし、従来技術は1:1で動作させるため、運用系サーバに合せた予備サーバが必要となり、コストが増加するといった課題がある。 In Patent Document 1, regarding the takeover of processing, the spare server and the active server are operated at 1: 1, and data is replicated by synchronizing the data of the spare server and the active server (FIG. 40). However, since the conventional technique operates at 1: 1, a spare server that matches the active server is required, which increases the cost.
 特許文献2の従来技術では、データをバックアップしておき、そのデータを復元することでデータの複製に対応できる。また、バックアップするデータを以前からの差分のみに制限することで、バックアップ時のネットワーク負荷とバックアップに必要なディスク容量を削減している。しかし、従来技術は、バックアップ専用のサーバが必要となり、コストが課題となる(図41)。また、復元時の速度については考慮されておらず、短時間で処理を引き継ぐことができないといった課題が残る。 In the prior art of Patent Document 2, it is possible to cope with data duplication by backing up data and restoring the data. In addition, by limiting the data to be backed up to only the difference from before, the network load at the time of backup and the disk capacity required for backup are reduced. However, the conventional technique requires a dedicated server for backup, and the cost becomes a problem (FIG. 41). Further, the speed at the time of restoration is not taken into consideration, and there remains a problem that the processing cannot be taken over in a short time.
 特許文献3の従来技術では、処理の引継ぎ先を選択することで、処理引継ぎそのものを短時間で完了する。しかし、共有ディスクが前提となっており、処理の引継ぎに伴うデータの引継ぎに関しては考慮されていない。そのため、非共有ディスク環境にて適用した場合、データの取り扱いに課題が残る。 In the prior art of Patent Document 3, the process takeover itself is completed in a short time by selecting a process takeover destination. However, a shared disk is assumed, and data takeover accompanying process takeover is not considered. Therefore, when applied in a non-shared disk environment, problems remain in handling data.
 この発明の必須データ管理システムは、
 所定の処理を実行する処理実行部と、情報を記憶する記憶部と、必須データ管理部とを備えた複数の計算機がネットワークで接続され、
 いずれかの前記計算機は、
 いずれかの前記計算機の前記処理実行部による前記処理の実行に利用される実行利用データの一部を構成する部分的なデータである必須データの保存を指示する保存指示であって、前記必須データを特定する必須データ特定情報と、前記必須データを保有する前記計算機である保有計算機を特定する保有計算機特定情報とを含む保存指示を保存指示入力計算機として入力し、
 前記保存指示入力計算機の前記必須データ管理部は、
 前記保存指示が入力されると、他の前記計算機の前記必須データ管理部と前記ネットワークを介して通信することにより他の前記計算機の前記必須データ管理部との間で前記保存指示に対してマスターとなる前記計算機を決定し、マスターとして決定された前記計算機の必須データ管理部である保存マスター管理部に前記保存指示を前記ネットワークを介して送信し、
 前記保存マスター管理部は、
 前記保存指示の前記必須データ特定情報で特定される前記必須データの保存先を所定の選択規則に基づいて前記複数の計算機の中から選択し、選択された選択計算機と、前記選択計算機を保存先とする前記必須データとの対応関係を示すデータ配置情報を前記保存指示の前記保有計算機特定情報で特定される前記保有計算機に送信し、
 前記保有計算機の必須データ管理部は、
 前記保存マスター管理部から前記データ配置情報を受信すると、前記データ配置情報の示す前記選択計算機に前記ネットワークを介して前記必須データを送信し、
 前記選択計算機は、
 前記保有計算機から送信された前記必須データを前記選択計算機の前記記憶部に記憶することを特徴とする。
The essential data management system of this invention is
A plurality of computers including a process execution unit that executes a predetermined process, a storage unit that stores information, and an essential data management unit are connected via a network,
Any of the calculators
A storage instruction for instructing storage of essential data that is partial data constituting part of execution use data used for execution of the process by the process execution unit of any of the computers, the essential data Input a storage instruction including the required data specifying information for specifying the stored computer specifying information for specifying the held computer that is the computer that holds the required data as a save instruction input computer,
The essential data management unit of the storage instruction input computer is:
When the save instruction is input, a master for the save instruction is communicated with the essential data management unit of another computer by communicating with the essential data management unit of the other computer via the network. Determine the computer to be, and transmit the storage instruction via the network to the storage master management unit which is an essential data management unit of the computer determined as the master,
The storage master management unit
A storage destination of the essential data specified by the essential data specifying information of the storage instruction is selected from the plurality of computers based on a predetermined selection rule, and the selected selection computer and the selection computer are stored Transmitting data allocation information indicating the correspondence with the essential data to the possessed computer specified by the retained computer specifying information of the storage instruction,
The essential data management unit of the possessed computer is:
When the data arrangement information is received from the storage master management unit, the essential data is transmitted to the selection computer indicated by the data arrangement information via the network,
The selection calculator is
The essential data transmitted from the possessed computer is stored in the storage unit of the selected computer.
 この発明の必須データ管理システムによれば、予備サーバ、バックアップ専用のサーバ及び共有ディスクを不要とするデータバックアップのシステムを提供できる。 According to the essential data management system of the present invention, it is possible to provide a data backup system that eliminates the need for a spare server, a backup dedicated server, and a shared disk.
実施の形態1における、予備イメージ管理システム1000の構成図。1 is a configuration diagram of a spare image management system 1000 according to Embodiment 1. FIG. 実施の形態1における、予備イメージ管理システム1000の動作概要を示すフローチャート。6 is a flowchart showing an outline of operation of the spare image management system 1000 according to the first embodiment. 実施の形態1における、予備イメージ管理器100の予備イメージの登録に関する構成を示す図。FIG. 3 is a diagram illustrating a configuration related to registration of a spare image of the spare image manager 100 according to the first embodiment. 実施の形態1における、予備イメージの登録処理の詳細フロー。5 is a detailed flow of a preliminary image registration process in the first embodiment. 実施の形態1における、データ表10Aを示す図。FIG. 10 shows a data table 10A in the first embodiment. 実施の形態1における、サーバ表20Aを示す図。The figure which shows server table 20A in Embodiment 1. FIG. 実施の形態1における、データ配置表30Aを示す図。The figure which shows 30 A of data arrangement tables in Embodiment 1. FIG. 実施の形態1における、データ差分器110によって作成される差分の例を示す図。FIG. 3 is a diagram illustrating an example of a difference created by a data differentiator 110 in the first embodiment. 実施の形態1における、予備イメージ管理器100の予備イメージの構築に関する構成を示す図。FIG. 3 is a diagram showing a configuration relating to the construction of a spare image of the spare image manager 100 in the first embodiment. 実施の形態1における、予備イメージの構築処理の詳細フロー。4 is a detailed flow of a spare image construction process in the first embodiment. 図2のフローチャートをシーケンス化とした図。The figure which made the flowchart of FIG. 2 a sequence. 実施の形態1における、予備イメージ管理器100の内部構成を示すブロック図。FIG. 2 is a block diagram showing an internal configuration of a preliminary image manager 100 in the first embodiment. 実施の形態2における、予備イメージ管理器100の予備イメージの登録に関する構成を示す図。FIG. 10 is a diagram illustrating a configuration related to registration of a spare image of the spare image manager 100 according to the second embodiment. 実施の形態2における、他のサーバとのデータ同期を示す図。The figure which shows data synchronization with the other server in Embodiment 2. FIG. 実施の形態2における、登録処理における処理フロー。The processing flow in the registration process in Embodiment 2. 図15のS404の内容を示すフロー。The flow which shows the content of S404 of FIG. 実施の形態2における、VM表40Aを示す図。The figure which shows VM table 40A in Embodiment 2. FIG. 実施の形態2における、データ表10Bを示す図。The figure which shows the data table 10B in Embodiment 2. FIG. 実施の形態2における、データ配置表30Bを示す図。The figure which shows the data arrangement table 30B in Embodiment 2. FIG. 実施の形態3における、予備イメージの登録に関する構成を示す図。FIG. 10 is a diagram illustrating a configuration related to registration of a spare image in the third embodiment. 実施の形態3における、データ配置先判断器120の登録処理時のフロー。10 is a flow at the time of registration processing of the data placement destination determination device 120 in the third embodiment. 実施の形態3における、データ配置先判断器120に具体的な判定器を組み込んだ構成を示す図。The figure which shows the structure which incorporated the specific determination device in the data arrangement location determination device 120 in Embodiment 3. FIG. 図22の判定器を処理に組み込んだ場合のフロー。The flow at the time of incorporating the determination device of FIG. 22 into the process. 図23のS511における障害保証判定器122の処理フロー。The processing flow of the failure guarantee determination unit 122 in S511 of FIG. 図23のS513におけるデータ関係判定器123の処理フロー。The processing flow of the data relationship determination device 123 in S513 of FIG. 図23のS514におけるリソース基準判定器124の処理フロー。The processing flow of the resource reference | standard determination device 124 in S514 of FIG. 実施の形態3における、データ表10Cを示す図。The figure which shows the data table 10C in Embodiment 3. FIG. 実施の形態3における、データ配置表30Cを示す図。The figure which shows the data arrangement | positioning table | surface 30C in Embodiment 3. FIG. 実施の形態3における、VM表40Bを示す図。The figure which shows VM table 40B in Embodiment 3. FIG. 実施の形態3における、予備イメージ管理システム1000の動作例を示す図。FIG. 10 is a diagram illustrating an operation example of a spare image management system 1000 according to the third embodiment. 図30を前提とする具体的な動作例を示す図。The figure which shows the specific operation example on the assumption of FIG. 図30の状態においてサーバSiに障害が発生した場合を示す図。The figure which shows the case where a failure generate | occur | produces in server Si in the state of FIG. 図30の状態においてサーバSkに障害が発生した場合を示す図。The figure which shows the case where a failure generate | occur | produces in server Sk in the state of FIG. 実施の形態4における、予備イメージ管理器100の構築処理を示すフロー。10 is a flow showing a construction process of the spare image manager 100 in the fourth embodiment. 実施の形態5における、予備イメージ管理器100の再配置処理を示すフロー。10 is a flow showing relocation processing of the spare image manager 100 in the fifth embodiment. 図35を詳細化したフロー。The flow which refined | miniaturized FIG. 実施の形態6における、処理フローを示す図。FIG. 18 shows a processing flow in the sixth embodiment. 実施の形態7における、運用系サーバSの外観を示す図。FIG. 20 is an external view of an operational server S in a seventh embodiment. 実施の形態7における、運用系サーバSのハードウェア資源を示す図。FIG. 18 shows hardware resources of an active server S in the seventh embodiment. 従来技術を示す図。The figure which shows a prior art. 従来技術を示す別の図。Another figure which shows a prior art.
 実施の形態1.
 以下の実施の形態1~7で使用する主な用語の意味は、以下のとおりである。
(言葉の定義)
(1)運用系サーバ(単にサーバともいう):CPU、記憶装置等を備えた計算機。
(2)必須データ:処理が利用するデータ
(3)予備データ:予備イメージ管理器によって保存されたデータ
(4)オリジナル:必須データを差分処理した際の差分の基データ(予備データにはオリジナルも含める)
(5)パッチ:必須データを差分処理した際の差分部分のデータ(予備データにはパッチも含める)
(6)チャンク:予備データを分割したデータ片(予備データにはチャンクも含める)
(7)予備データからなる必須データ:予備データをデータ復元時に用いる必須データ
(8)予備データに関する処理:予備データからなる必須データを必要とする処理
(9)リソース:処理に必要となるCPU性能、メモリ量、必要デバイス、I/Oスループット性能など。
Embodiment 1 FIG.
The meanings of main terms used in the following Embodiments 1 to 7 are as follows.
(Definition of words)
(1) Operational server (also simply referred to as a server): a computer provided with a CPU, a storage device and the like.
(2) Essential data: Data used by processing (3) Preliminary data: Data saved by the spare image manager (4) Original: Base data of difference when essential data is differentially processed (original data is included in the preliminary data) include)
(5) Patch: Data of the difference portion when the essential data is differentially processed (the patch is included in the preliminary data)
(6) Chunk: A piece of data obtained by dividing spare data (chunk is included in spare data)
(7) Mandatory data consisting of spare data: Mandatory data used when restoring spare data (8) Processing related to spare data: Processing requiring essential data consisting of spare data (9) Resource: CPU performance required for processing , Memory capacity, required devices, I / O throughput performance, etc.
 本実施の形態1では、処理として仮想計算機(以下VMという)が各サーバにて起動している環境において、VMの起動に必要なデータ(以下VMイメージ)を必須データとして管理する予備イメージ管理器について説明する。 In the first embodiment, a spare image manager that manages data (hereinafter referred to as a VM image) required for starting a VM as essential data in an environment in which a virtual machine (hereinafter referred to as a VM) is started in each server as processing. Will be described.
 図1は、実施の形態1の予備イメージ管理システム1000(必須データ管理システム)の構成を示す。予備イメージ管理システム1000は、複数の運用系サーバS1~SNから構成される。各運用系サーバSは、予備イメージ管理器100(必須データ管理部)、情報を記憶する記憶装置200(記憶部)、複数の処理を実行する処理実行部300を備える。各サーバの処理実行部300で動作している処理は同一ではなく、個別の処理である。つまり、運用系サーバS1、運用系サーバS2・・・で動作している処理は異なる。各サーバはネットワーク400に接続され、他の計算機とネットワーク400を介して通信する。 FIG. 1 shows a configuration of a spare image management system 1000 (essential data management system) according to the first embodiment. The spare image management system 1000 includes a plurality of operational servers S1 to SN. Each active server S includes a spare image manager 100 (essential data management unit), a storage device 200 (storage unit) that stores information, and a process execution unit 300 that executes a plurality of processes. The processes operating in the process execution unit 300 of each server are not the same, but are individual processes. That is, the processes operating on the active server S1, the active server S2,... Are different. Each server is connected to the network 400 and communicates with other computers via the network 400.
 各運用系サーバに関して、処理や記憶装置の個数に制限は無い。図1に示すように各運用系サーバの構成は同様であり、また、各運用系サーバは対等である。なお、各サーバ間では、リソースの違いは存在する。 There are no restrictions on the number of processing and storage devices for each active server. As shown in FIG. 1, the configuration of each active server is the same, and each active server is equivalent. Note that there are resource differences between the servers.
 図2は、予備イメージ管理システム1000の動作の概要を示すフローである。このフローは、「予備イメージの登録」であるステップS101~S105と、「予備イメージの構築」であるステップS106~S110の二つの部分からなる。
 図11は図2のフローを、シーケンス化とした図である。特に図2を参照して説明する。
FIG. 2 is a flowchart showing an outline of the operation of the spare image management system 1000. This flow is composed of two parts: steps S101 to S105, which are “registration of a spare image”, and steps S106 to S110, which are “construction of a spare image”.
FIG. 11 is a diagram showing the flow of FIG. 2 as a sequence. With particular reference to FIG.
(予備イメージの登録動作の概要:S101~S105)
 まず、図2、図11を参照して、予備イメージの登録動作の概要(S101~S105)を説明する。
(Overview of spare image registration operation: S101 to S105)
First, the outline (S101 to S105) of the preliminary image registration operation will be described with reference to FIGS.
(サーバの役割)
 図2の説明で登場するサーバを定義する。図2の説明では、簡単のためサーバS1~S4の4台のシステムを想定する。
(1)受付サーバ:ユーザの指示を受け付けるサーバ(S1とする)、
(2)保有サーバ:保存対象の必須データdを保有するサーバ(S4とする)、
(3)保存先サーバ:保存対象(登録対象)の必須データの保存先となるサーバ(S2とする)、
(4)構築先サーバ:必須データdを使用した予備イメージが構築されるサーバ(S3とする)、
(5)マスターサーバ:予備イメージの登録動作の主体になるサーバ(S1が兼ねるとする)。
 マスターサーバの予備イメージ管理器100を、マスター管理器と呼ぶ。マスター管理器は例えば、保存先サーバの選択処理を実行する。
(Server role)
The server that appears in the description of FIG. 2 is defined. In the description of FIG. 2, for simplicity, four systems of servers S1 to S4 are assumed.
(1) Reception server: a server that accepts user instructions (referred to as S1),
(2) possessed server: a server (referred to as S4) that possesses the essential data d to be stored;
(3) Storage destination server: A server (referred to as S2) that is a storage destination of essential data to be stored (registered).
(4) Construction destination server: a server (referred to as S3) on which a spare image using the essential data d is constructed,
(5) Master server: A server that is the main component of the registration operation of the spare image (assuming that S1 also serves).
The spare image manager 100 of the master server is called a master manager. For example, the master manager executes a selection process of a storage destination server.
(構成要素の区別)
 サーバS1の予備イメージ管理器100には「予備イメージ管理器100-1」のように「-1」を付けて区別する。以下に登場する「予備イメージ管理器100-1」の構成要素にも「-1」を付す。各サーバの予備イメージ管理器100は対等であるが、以下の実施の形態では、本システムの処理を実行する際に、いずれかの予備イメージ管理器100がマスターとして機能することとして説明する。どの予備イメージ管理器100がマスターとなるかは実装による。マスターの予備イメージ管理器100(M)は、各サーバの予備イメージ管理器100を制御し、システム全体にかかわる処理、例えば後述する保存先サーバの決定等を実行する。なお(M)はマスターを示す。
 以下の説明では、上記のように、サーバS1をマスターとした。なおサーバS1は、受付サーバ兼ねる。
(Difference between components)
The spare image manager 100 of the server S1 is distinguished by attaching “−1” as “spare image manager 100-1”. “-1” is also given to the constituent elements of the “preliminary image manager 100-1” appearing below. Although the spare image manager 100 of each server is the same, in the following embodiment, it is assumed that any one of the spare image managers 100 functions as a master when executing the processing of this system. Which spare image manager 100 becomes the master depends on the implementation. The master spare image manager 100 (M) controls the spare image manager 100 of each server, and executes processing related to the entire system, for example, determination of a storage destination server to be described later. (M) indicates a master.
In the following description, the server S1 is set as the master as described above. The server S1 also serves as a reception server.
(S101:ユーザが受付サーバに指示)
 ステップS101において、ユーザは、サーバS1を受付サーバとして、受付サーバに「登録指示」(保存指示)を入力する。各サーバは対等であり、ユーザはどのサーバに登録指示を入力してもよい。サーバS2に「登録指示」を入力すればサーバS2が受付サーバ(保存指示入力計算機)になる。
 「登録指示」は、
(1)保有サーバS4(保有計算機)を特定する情報(保有計算機特定情報)、
(2)必須データd(登録対象のデータ)を特定する情報(必須データ特定情報)、
(3)必須データdの登録指令
の3つを含む。
 「登録指示」により、サーバS1(受付サーバ)の予備イメージ管理器100-1は、必須データd(処理に必要なデータそのもの、もしくは他のデータとの差分のデータなど)の保存指示を受け付ける。この例では、受付サーバであるサーバS1の予備イメージ管理器100-1がマスターとして機能する。
 なお、受付サーバがマスターサーバとなるのは一例である。どのサーバがマスターになっても構わない。例えば、受付サーバ(サーバS1)の予備イメージ管理器100-1は、登録指示が入力されると、他のサーバの予備イメージ管理器100とネットワーク400を介して通信することにより他のサーバの予備イメージ管理器100との間で保存指示に対してマスターとなるサーバを決定し、マスターとして決定されたサーバの予備イメージ管理器100に登録指示をネットワークを介して送信してもよい。
(S101: The user instructs the reception server)
In step S <b> 101, the user inputs “registration instruction” (storage instruction) to the reception server using the server S <b> 1 as the reception server. Each server is equal, and the user may input a registration instruction to any server. If “registration instruction” is input to the server S2, the server S2 becomes a receiving server (storage instruction input computer).
"Registration instructions"
(1) Information (owned computer specifying information) for specifying the owned server S4 (owned computer),
(2) Information (essential data specifying information) for specifying essential data d (data to be registered),
(3) Includes three registration instructions for essential data d.
In response to the “registration instruction”, the spare image manager 100-1 of the server S1 (accepting server) accepts an instruction to save essential data d (data necessary for processing itself or data that is different from other data). In this example, the spare image manager 100-1 of the server S1, which is a reception server, functions as a master.
Note that the reception server is a master server. Any server can be the master. For example, when the registration instruction is input, the spare image manager 100-1 of the receiving server (server S1) communicates with the spare image manager 100 of the other server via the network 400 to thereby reserve the spare server of the other server. A server serving as a master may be determined with respect to the storage instruction with the image manager 100, and a registration instruction may be transmitted via the network to the spare image manager 100 of the server determined as the master.
(S102:管理器100-1(M)が処理開始)
 ステップS102において、予備イメージ管理器100-1(M)は、ユーザからの指示に従って、保有サーバS4(ユーザ入力)に必須データdの保存処理を開始させる。すなわち、予備イメージ管理器100-1(M)は、保有サーバS4(ユーザ入力)に必須データdの保存処理の開始通知を送信する。保有サーバS4は、開始通知を受信すると必須データdの保存処理を開始する。この「保存処理」とは、保有サーバS4による差分処理等(後述する)を意味する。差文処理では、保有サーバS4は、他のサーバS1~S3と通信して差分に関する情報を取得し、差分処理を実施する。
(S102: Manager 100-1 (M) starts processing)
In step S102, the spare image manager 100-1 (M) causes the holding server S4 (user input) to start storing the essential data d in accordance with an instruction from the user. In other words, the spare image manager 100-1 (M) transmits a notification to start saving processing of the essential data d to the holding server S4 (user input). Receiving server start notification, possession server S4 starts the preservation | save process of the essential data d. This “save process” means a difference process or the like (described later) by the holding server S4. In the difference sentence process, the possessing server S4 communicates with the other servers S1 to S3 to acquire information about the difference, and performs the difference process.
(S103:管理器100-1(M)が保存先サーバを決定)
 ステップS103において、予備イメージ管理器100-1(M)は、サーバS4の保有する必須データdの保存先に適したサーバを、自身のサーバS1も含めたサーバS1~S4の中から、所定の選択規則に基づいて選択する。なお、「所定の選択規則」については実施の形態2以降で詳述する。実施の形態2~6は、保存先サーバの具体的な決定方法の実施形態である。ここで、予備イメージ管理器100-1(M)は、保存先サーバとして、「所定の選択規則」からサーバS2(選択計算機)を決定したとする。
(S103: Manager 100-1 (M) determines storage destination server)
In step S103, the spare image manager 100-1 (M) selects a server suitable for the storage destination of the essential data d held by the server S4 from the servers S1 to S4 including its own server S1. Select based on selection rules. The “predetermined selection rule” will be described in detail in the second and subsequent embodiments. Embodiments 2 to 6 are embodiments of a specific determination method of the storage destination server. Here, it is assumed that spare image manager 100-1 (M) determines server S2 (selected computer) from the “predetermined selection rule” as the storage destination server.
(S104:管理器100-4が選択サーバS2へデータ保存)
 ステップS104において、予備イメージ管理器100-1(M)は、保有サーバS4、保存先サーバS2の予備イメージ管理器100-4、100-2と通信する。この通信により、サーバS2が保存先サーバとして選択されたことが、予備イメージ管理器100-4、100-2に通知される。保有サーバS4の予備イメージ管理器100-4は差分データを保存先サーバS2の予備イメージ管理器100-2に送信する。予備イメージ管理器100-2は、受信した差分データを保存する。
(S104: Manager 100-4 stores data in selected server S2)
In step S104, the spare image manager 100-1 (M) communicates with the spare image managers 100-4 and 100-2 of the holding server S4 and the storage destination server S2. Through this communication, the backup image managers 100-4 and 100-2 are notified that the server S2 has been selected as the storage destination server. The spare image manager 100-4 of the possessing server S4 transmits the difference data to the spare image manager 100-2 of the storage destination server S2. The spare image manager 100-2 stores the received difference data.
(S105:完了通知)
 ステップS105において、予備イメージ管理器100-1(M)は、S101にて指示を出したユーザに、保存完了を通知する。これは、予備イメージ管理器100-1(M)が、予備イメージ管理器100-4から送信完了通知を受信し、あるいは、予備イメージ管理器100-2から受信完了通知を受信することを契機とする。
 以上が予備イメージの登録までの処理となる。
(S105: Completion notification)
In step S105, the preliminary image manager 100-1 (M) notifies the user who issued the instruction in S101 of the completion of storage. This is triggered by the fact that the spare image manager 100-1 (M) receives a transmission completion notification from the spare image manager 100-4 or receives a reception completion notice from the spare image manager 100-2. To do.
The above is the process up to registration of the spare image.
(構築動作:S106~S110)
 次に、予備イメージの構築動作の概要(ステップS106~S110)を説明する。S106~S110では、保有サーバS4がダウンしたため、構築先サーバS3において、保存先サーバS2に保存されている必須データd(VM(A)のオリジナルデータあるいはVM(A)の差分データ)を用いて、予備イメージ(保有サーバS4で動作していたVM(A)の予備イメージ)を構築する場合を想定する。障害が発生したあるサーバ上(サーバS4)で動作していた処理を、他のサーバ上(サーバS3)にて再稼動させる動作(必須データdを用いた予備イメージの構築動作)を以下に説明する。
(Construction operation: S106 to S110)
Next, an outline (steps S106 to S110) of the preliminary image construction operation will be described. In S106 to S110, since the holding server S4 is down, the construction destination server S3 uses the essential data d (original data of VM (A) or difference data of VM (A)) stored in the storage destination server S2. Assume that a spare image (a spare image of the VM (A) operating on the owned server S4) is constructed. Described below is the operation of re-operating the processing that was running on the server where the failure occurred (server S4) on another server (server S3) (operation for constructing a spare image using the essential data d). To do.
(S106:ユーザがサーバS1に指示)
 ステップS106において、ユーザは、サーバS1(受付サーバ)に構築指示をする。登録処理と同じく各サーバは対等であり、ユーザはどのサーバに構築指示してもよい。構築指示を受け付けたサーバが受付サーバ(構築指示入力計算機)となる。
 「構築指示」は、
(1)構築したい予備イメージを特定する情報(実行利用データ特定情報)、
(2)構築先サーバ(この例ではサーバS3とする)を特定する情報(構築計算機特定情報)、
(3)構築指令、
の3つを含む。ユーザは保存先サーバを認識する必要はない。
 構築したいVMイメージと、VMイメージを構築したい構築先サーバを認識すればよい。
(S106: The user instructs the server S1)
In step S106, the user issues a construction instruction to the server S1 (receiving server). As with the registration process, each server is equivalent, and the user may instruct any server to construct. The server that has received the construction instruction becomes the acceptance server (construction instruction input computer).
"Build instruction"
(1) Information for specifying a preliminary image to be constructed (execution use data specifying information),
(2) Information (construction computer identification information) for identifying a construction destination server (in this example, server S3),
(3) Construction command,
Of three. The user does not need to recognize the storage destination server.
What is necessary is to recognize the VM image to be constructed and the construction destination server to construct the VM image.
(S107:構築処理を開始)
 ステップS107において、予備イメージ管理器100-1は、ユーザからの構築指示に従って、該当データの構築処理を開始する。予備イメージ管理器100-1は構築指示の内容を構築先サーバS3に通知する。
(S107: Start construction processing)
In step S107, the preliminary image manager 100-1 starts the corresponding data construction process in accordance with the construction instruction from the user. The spare image manager 100-1 notifies the construction destination server S3 of the contents of the construction instruction.
(S108:特定)
 ステップS108において、通知を受けた構築先サーバS3の予備イメージ管理器100-3は、通知に基づき、構築される予備イメージ(この例では下記のVM(A)とする)のデータ構築に必要な必須データd(下記に示すオリジナルデータa0,差分データa1等)と、必須データdが保存されている保存先サーバ(サーバS2)とを特定する。
 予備イメージ管理器100-3は、後述のデータ表10A(図5)から、データ構築に必要なオリジナルデータa0,差分データa1等の必須データを特定し、後述のデータ配置表30A(図7)から、必須データの保存先サーバを特定する。この場合のVM(A)と、VM(A)の構築に必要な必須データdとの関係を簡単に説明する。図8で後述するが、図8に示すように、VM(A)は、オリジナルデータa0,差分データa1,差分データa3,差分データa11から構築されるとする。
 ここでオリジナルデータa0等は以下である。
(1)オリジナルデータa0:VM(A)が最初に登録された際に作成されたオリジナルデータ、
(2)差分データa1:VM(A)が更新され再び登録された際に作成されたオリジナルa0からの差分データ,
(3)差分データa3:VM(A)が更新され再び登録された際に作成された差分データa1からの差分データa3,
(4)差分データa11:VM(A)が更新され再び登録された際に作成された差分データa3からの差分データ
 オリジナルデータa0、及び差分データa1等は、図11における保有サーバS4の差分処理あるいは、サーバS1~S3が保有サーバの場合に,保存先サーバに保存されたデータである。
(S108: specific)
In step S108, the spare image manager 100-3 of the construction destination server S3 that has received the notification is necessary for constructing data of the spare image to be constructed (in this example, VM (A) below) based on the notice. The essential data d (original data a0, difference data a1 and the like shown below) and the storage destination server (server S2) where the essential data d is stored are specified.
The spare image manager 100-3 specifies essential data such as original data a0 and difference data a1 necessary for data construction from a data table 10A (FIG. 5) described later, and a data arrangement table 30A (FIG. 7) described later. From the above, specify the storage destination server of essential data. The relationship between the VM (A) in this case and the essential data d necessary for the construction of the VM (A) will be briefly described. As will be described later with reference to FIG. 8, it is assumed that VM (A) is constructed from original data a0, difference data a1, difference data a3, and difference data a11 as shown in FIG.
Here, the original data a0 and the like are as follows.
(1) Original data a0: Original data created when VM (A) was first registered,
(2) difference data a1: difference data from the original a0 created when the VM (A) is updated and registered again,
(3) Difference data a3: Difference data a3 from difference data a1 created when VM (A) is updated and registered again
(4) Difference data a11: Difference data from difference data a3 created when VM (A) is updated and registered again Original data a0, difference data a1, etc. are the difference processing of holding server S4 in FIG. Alternatively, the data stored in the storage destination server when the servers S1 to S3 are owned servers.
(S109:構築)
 ステップS109において、予備イメージの構築先(サーバS3)の予備イメージ管理器100-3は、サーバ間の予備イメージ管理器で通信を行い、構築に必要な必須データを、必須データの保存先サーバ(サーバS2)から取得し、データ(VM(A))の構築を行う。
 すなわち構築先サーバS3は、データ表10A、データ配置表30Aによる特定結果から、必須データの保存先サーバ必須データを取得し、取得した必須を用いて予備イメージ(VM(A))を構築する。
(S109: Construction)
In step S109, the spare image manager 100-3 of the spare image construction destination (server S3) communicates with the spare image manager between the servers, and the essential data necessary for construction is transferred to the server for storing the essential data ( Acquired from the server S2) and constructs data (VM (A)).
That is, the construction destination server S3 acquires essential data storage destination server essential data from the identification results of the data table 10A and the data arrangement table 30A, and constructs a preliminary image (VM (A)) using the obtained essential.
(S110:管理器100-1が構築完了を通知)
 ステップS110において、構築先サーバS3が受付サーバS1に構築完了通知を送信し、予備イメージ管理器100-1は、「構築指示」を出したユーザに対し、構築完了を通知(例えば表示装置に完了を表示など)する。以上、S106~S110が予備イメージの構築処理である。
(S110: Manager 100-1 notifies completion of construction)
In step S110, the construction destination server S3 transmits a construction completion notification to the receiving server S1, and the spare image manager 100-1 notifies the construction completion to the user who issued the “construction instruction” (for example, the display device completes the display device). Display). As described above, S106 to S110 are the preliminary image construction processing.
 このようにして、必須データ(a0,a1,a3,a11等)を他の運用系サーバ(サーバS2等)に保存しておき、あるサーバ(サーバS4)の障害時に、あるサーバ(サーバS4)で実行されていた処理の予備となる必須データdを基に、障害が発生したサーバ以外のサーバ(サーバS3)でデータ構築(例えば必須データdを用いた予備イメージVM(A)の構築)を行うことで、システム内でのデータの引継ぎを行うことができる。 In this way, essential data (a0, a1, a3, a11, etc.) is stored in another operational server (server S2, etc.), and when a certain server (server S4) fails, a certain server (server S4) Data construction (for example, construction of the spare image VM (A) using the essential data d) is performed on the server (server S3) other than the server in which the failure has occurred, based on the essential data d serving as a backup of the processing executed in step S2. By doing so, it is possible to take over data in the system.
 VMに適用した場合は、各サーバ上で「処理」としてVMが起動しており、VMはサーバ毎の非共有ディスクにその実VMデータが保存されることとなる。各サーバの予備イメージ管理器は、システムの利用者からの指示に従って、記憶装置中のVMイメージ(実行利用データ)を取得し、他のサーバに転送したり、同じく指示に従って、保存したVMイメージを目的のサーバにて復元したりする。 When applied to a VM, the VM is activated as “processing” on each server, and the VM stores its actual VM data on a non-shared disk for each server. The spare image manager of each server obtains a VM image (execution usage data) in the storage device according to an instruction from the system user, transfers it to another server, or similarly stores the stored VM image according to the instruction. Restore on the target server.
(予備イメージの登録動作の詳細)
 次に、予備イメージの登録動作(図2のS101~S105)の詳細を説明する。
 図12は、予備イメージ管理器100の内部構成を示すブロック図である。予備イメージ管理器100は、図12に示すように、データ差分器110、データ配置先判断器120、データ配布器130、データ複合器140を備えている。
(1)データ差分器110は、保有サーバである場合に、保存先サーバに登録するための差分データを作成する。
(2)データ配置先判断器120は、マスターサーバである場合に、保存先サーバを選択する。
(3)データ配布器130は、他の予備イメージ管理器100とデータをやり取りする。
(4)データ複合器140は、構築先サーバである場合に、予備イメージを構築する。
(Details of spare image registration operation)
Next, details of the preliminary image registration operation (S101 to S105 in FIG. 2) will be described.
FIG. 12 is a block diagram showing an internal configuration of the preliminary image manager 100. As shown in FIG. 12, the preliminary image manager 100 includes a data differentiator 110, a data placement destination determiner 120, a data distributor 130, and a data compounder 140.
(1) When the data differentiator 110 is a holding server, the data differentiator 110 creates difference data for registration in the storage destination server.
(2) The data placement destination determination unit 120 selects a storage destination server when it is a master server.
(3) The data distributor 130 exchanges data with other preliminary image managers 100.
(4) The data compounder 140 constructs a spare image when it is a construction destination server.
 図3は、図1に示した予備イメージ管理器100の内部構成に関し、予備イメージの登録に関する構成要素を示した。なお、図3のうちデータ差分器110、データ配布器130は保有サーバが主体となり、データ配置先判断器120はマスターサーバが主体となる。
 図3は、保有サーバの構成部分と、マスターサーバの構成部分との両方を示した。すなわち図3は、マスターサーバが保存先サーバを選択し、その選択された保存先サーバに、保有サーバがデータを送信する状態を示している。
FIG. 3 shows components related to the registration of the spare image with respect to the internal configuration of the spare image manager 100 shown in FIG. In FIG. 3, the data differentiator 110 and the data distributor 130 are mainly owned servers, and the data placement destination determiner 120 is mainly a master server.
FIG. 3 shows both the component part of the owned server and the component part of the master server. That is, FIG. 3 shows a state in which the master server selects a storage destination server, and the holding server transmits data to the selected storage destination server.
 図3は、保存先サーバに保存される差分データの生成から、差分データの配布までの一連の流れを示している。
(1)保有サーバのデータ差分器110は、他のサーバの予備イメージ管理器100と連携(通信)し、入力されたデータ5(VMイメージ)を基に、データ表10A(図5)を参照して既存の登録済みデータ(連携により情報を取得する)との間で差分を取り、その結果をデータ表10Aに反映し、差分データ7を出力する。
(2)マスターのデータ配置先判断器120(M)は、他のサーバの予備イメージ管理器100と連携し、保有サーバによって作成された差分データ7、データ表10Aとデータ配置表30Aとを基に、差分データ7の保存に適したサーバを選択し、その結果をデータ表10A、データ配置表30A(データ配置情報)(図7)に反映する。
(3)保有サーバのデータ配布器130は、データ配置表30A(最新の状態)に従って、差分データ7を保存先のサーバへ転送する。
FIG. 3 shows a series of flow from generation of difference data stored in the storage destination server to distribution of difference data.
(1) The data difference unit 110 of the owned server cooperates (communications) with the spare image manager 100 of another server, and refers to the data table 10A (FIG. 5) based on the input data 5 (VM image). Then, a difference is calculated with the existing registered data (information is acquired by cooperation), the result is reflected in the data table 10A, and the difference data 7 is output.
(2) The master data location determination unit 120 (M) cooperates with the spare image manager 100 of another server, and based on the difference data 7, the data table 10A, and the data location table 30A created by the holding server. Then, a server suitable for storing the difference data 7 is selected, and the result is reflected in the data table 10A and the data arrangement table 30A (data arrangement information) (FIG. 7).
(3) The data distributor 130 of the owned server transfers the difference data 7 to the storage destination server in accordance with the data arrangement table 30A (latest state).
(データ表10A、データ配置表30Aの同期)
 なお、データ表10Aとデータ配置表30Aとは、予備イメージ管理器100によって他のサーバと同期が行われる。
(Synchronization of data table 10A and data arrangement table 30A)
The data table 10A and the data arrangement table 30A are synchronized with other servers by the spare image manager 100.
(登録の具体的処理)
 図4は、登録処理(図1のS101~S105)における予備イメージ管理器100内での詳細な処理フローを示す。図2、図11の場合と同様に、サーバS1が受付サーバ、サーバS2が保存先サーバ、サーバS3が構築先サーバ、サーバS4が保有サーバとする。ステップS201、S202はステップS102において、ステップS203、S204はステップS103において、ステップS205はステップS104において行う処理である。
(Specific processing of registration)
FIG. 4 shows a detailed processing flow in the preliminary image manager 100 in the registration processing (S101 to S105 in FIG. 1). As in FIGS. 2 and 11, the server S1 is the accepting server, the server S2 is the storage destination server, the server S3 is the construction destination server, and the server S4 is the holding server. Steps S201 and S202 are processes performed in step S102, steps S203 and S204 are performed in step S103, and step S205 is a process performed in step S104.
(S201)
 まず、ステップS201において、保有サーバS4のデータ差分器110-4は、登録が指示(保有サーバS4、VM(A)はユーザが入力)されたデータ(VM(A))の差分データ(例えばa1)を生成する。
(S201)
First, in step S201, the data differentiator 110-4 of the possession server S4 performs difference data (for example, a1) of data (VM (A)) for which registration is instructed (the possession server S4, VM (A) is input by the user). ) Is generated.
(S202)
 次に、ステップS202において、保有サーバS4のデータ差分器110-4は、差分に関する情報をデータ表10A-4(図5)に反映する。
(S202)
Next, in step S202, the data differentiator 110-4 of the holding server S4 reflects the information regarding the difference in the data table 10A-4 (FIG. 5).
(S203:マスターによる選択)
 ステップS203において、データ配置先判断器120-1(M)は、サーバ表20A-1(図6)から保存先候補となるサーバ群を取得する。図6のサーバ表20A-1は、各サーバのアドレス情報である。
(S203: Selection by master)
In step S203, the data placement destination determination unit 120-1 (M) acquires a server group as a storage destination candidate from the server table 20A-1 (FIG. 6). The server table 20A-1 in FIG. 6 is address information of each server.
(S204)
 ステップS204において、データ配置先判断器120-1(M)は、候補から差分データ7の保存に適したサーバを選択し、その結果をデータ配置表30A-1(図7)に反映する。データ配置表30A-1は他のサーバと同期される。
(S204)
In step S204, the data placement destination determination unit 120-1 (M) selects a server suitable for storing the difference data 7 from the candidates, and reflects the result in the data placement table 30A-1 (FIG. 7). The data allocation table 30A-1 is synchronized with other servers.
(S205)
 最後に、ステップS205において、保有サーバS4のデータ配布器130-4は、差分データ7を、データ配置先判断器120-1(M)によって更新されたデータ配置表30A-1に同期して更新されたデータ配置表30A-4に従って、保存先サーバS2へ転送する。
(S205)
Finally, in step S205, the data distributor 130-4 of the holding server S4 updates the difference data 7 in synchronization with the data arrangement table 30A-1 updated by the data arrangement destination determination unit 120-1 (M). The data is transferred to the storage destination server S2 according to the data arrangement table 30A-4.
 図8は、保有サーバのデータ差分器110によって作成される差分の例を示す。
 a0はVM(A)が最初に登録された際に作成されたデータ(オリジナル)である。
 a1は、VM(A)が更新され再び登録された際に作成された、オリジナルa0からの差分データである。
 a2は、VM(D)がVM(A)からの派生物として最初に登録された際に作成された、オリジナルa0からの差分データである。
 a3は、再度VM(A)が更新され再び登録された際に作成された、差分データa1からの差分データである。
 このように、予備イメージ管理器100では、差分によって複数のVMのデータをオリジナルと差分データに分け管理を行う。
FIG. 8 shows an example of the difference created by the data difference unit 110 of the owned server.
a0 is data (original) created when VM (A) is first registered.
a1 is difference data from the original a0 created when the VM (A) is updated and registered again.
a2 is difference data from the original a0 created when VM (D) was first registered as a derivative from VM (A).
a3 is difference data from the difference data a1 created when the VM (A) is again updated and registered again.
As described above, the spare image manager 100 performs management by dividing the data of a plurality of VMs into original data and differential data according to differences.
(予備イメージの構築動作の詳細)
 次に予備イメージの構築動作の詳細を述べる。
(Details of spare image construction operation)
Next, the details of the preliminary image construction operation will be described.
 図9は、図1中の予備イメージ管理器100の内部構成において、予備イメージの構築に関する構成を示す。図9は構築先サーバの構成である。
(1)データ配布器130は、特定の差分データ13を他のサーバから受け取る。なお、この例では、構築先サーバはサーバ3である。
(2)データ複合器140は、入力された差分データ13を複合し予備イメージを構築する。構築処理に関し、データ複合を行うのは構築先サーバである。この例ではサーバ3である。
FIG. 9 shows a configuration relating to the construction of a preliminary image in the internal configuration of the preliminary image manager 100 in FIG. FIG. 9 shows the configuration of the construction destination server.
(1) The data distributor 130 receives specific difference data 13 from another server. In this example, the construction destination server is the server 3.
(2) The data compounder 140 combines the inputted difference data 13 to construct a preliminary image. Regarding the construction process, it is the construction destination server that performs data composition. In this example, it is the server 3.
 図10は、構築処理における構築先サーバS3の予備イメージ管理器100-3における詳細な処理フローを示す。ステップS301は、ステップS108において、ステップS302~S304はステップS109において行う処理である。 FIG. 10 shows a detailed processing flow in the spare image manager 100-3 of the construction destination server S3 in the construction processing. Step S301 is processing performed in step S108, and steps S302 to S304 are processing performed in step S109.
(S301)
 ステップS301において、構築先サーバS3の予備イメージ管理器100-3は、「ユーザから指示された予備イメージ」(例えばVM(A))の構築に必要なデータ群(a0,a1,a3,a11)を、データ表10A-3から取得する。以降、データ群のツリー構造に従い、オリジナルから順次、任意の差分データを対象にステップS302~S304を繰り返す。
(S301)
In step S301, the spare image manager 100-3 of the construction destination server S3 performs the data group (a0, a1, a3, a11) necessary for constructing the “spare image instructed by the user” (for example, VM (A)). Is obtained from the data table 10A-3. Thereafter, in accordance with the tree structure of the data group, steps S302 to S304 are repeated for any difference data sequentially from the original.
(S302)
 まず、ステップS302において、構築先サーバのデータ配布器130-3は、データ配置表30Aから取得したデータ群の差分データが保存されている保存先サーバを特定する。
(S302)
First, in step S302, the data distributor 130-3 of the construction destination server specifies a storage destination server in which the difference data of the data group acquired from the data arrangement table 30A is stored.
(S303)
 次に、ステップS303において、データ配布器130-3は、サーバ表20A(アドレス情報)を参照して、他のサーバのデータ配布器130と連携(通信)し、VM(A)の構築に必要なデータを有する保有サーバから、差分データを取得する。
(S303)
Next, in step S303, the data distributor 130-3 refers to the server table 20A (address information), cooperates with (communicates with) the data distributor 130 of another server, and is necessary for constructing the VM (A). The difference data is acquired from the possession server having such data.
(S304)
 その後、ステップS304において、構築サーバのデータ複合器140-3は、構築する予備イメージに、取得された差分データを反映する。全ての差分データの反映が終了した段階で、構築処理の完了となる。VM(A)の例であれば、データ複合器140-3はオリジナルデータa0に差分データa1,a3,a11を反映し、VM(A)を構築する。
(S304)
Thereafter, in step S304, the data composite unit 140-3 of the construction server reflects the acquired difference data in the preliminary image to be constructed. When all the difference data has been reflected, the construction process is completed. In the example of VM (A), the data compounder 140-3 reflects the difference data a1, a3, a11 in the original data a0, and constructs VM (A).
 なお、VM以外の処理についても、VMに相当する部分を任意の処理に、VMイメージに相当する部分を任意の必須データに置き換えることにより、同様の効果を他の処理を行う環境においても利用できる。 For processes other than the VM, the same effect can be used in an environment where other processes are performed by replacing the portion corresponding to the VM with arbitrary processing and the portion corresponding to the VM image with arbitrary essential data. .
 実施の形態2.
 実施の形態2では、実施の形態1を改良し、VMの動作状況を判断することで一次障害に対応する例を示す。マスターの予備イメージ管理器100(M)が、必須データの保存先サーバを選択する際に、必須データd(A)に係るVM(A)が動作しているサーバを保存先候補から除外する場合を示す。例えば、VM(A)の差分データa3の保存先サーバを選択する際に、VM(A)の動作中のサーバを保存先サーバから除外する場合である。これは、VM(A)の動作中のサーバがダウンした場合に、動作中のVM(A)と、VM(A)の構築に必要な差分データa3との共倒れを回避するためである。実施の形態1と同様にサーバS1~S4のシステムとし、受付サーバ等も同様とする。
 実施の形態2~6は、マスターである予備イメージ管理器100(M)による保存先サーバの選択に関する実施形態である。
Embodiment 2. FIG.
In the second embodiment, an example corresponding to the primary failure is shown by improving the first embodiment and judging the operation state of the VM. When the master spare image manager 100 (M) selects a storage destination server for essential data, the server in which the VM (A) related to the essential data d (A) is operating is excluded from the storage destination candidates. Indicates. For example, when selecting the storage destination server of the difference data a3 of VM (A), the server in operation of VM (A) is excluded from the storage destination server. This is to avoid collapsing between the operating VM (A) and the difference data a3 necessary for constructing the VM (A) when the server operating the VM (A) goes down. The system of the servers S1 to S4 is the same as in the first embodiment, and the receiving server is the same.
Embodiments 2 to 6 are embodiments relating to selection of a storage destination server by the spare image manager 100 (M) as a master.
 以下、予備イメージの登録時における処理を中心に述べる。 Hereafter, the processing at the time of registration of the spare image will be mainly described.
 図13は、本実施の形態2における予備イメージの登録に関する構成を示す。
 図14は、他のサーバとの同期を示す図である。図14はマスターの予備イメージ管理器100(M)を示す。
FIG. 13 shows a configuration relating to registration of a spare image in the second embodiment.
FIG. 14 is a diagram illustrating synchronization with other servers. FIG. 14 shows a master spare image manager 100 (M).
(1)保有サーバのデータ差分器110は、実施の形態1の場合と同様に、他のサーバの予備イメージ管理器と連携し、入力されたデータ5(VMイメージ)を基に、既存の登録済みデータとの間で差分を取り(例えばa1に対してa3)、その結果をデータ表10B(図18)に反映し、差分データ7を出力する。データ表10Bでは、実施の形態1のデータ差分器110が作成するデータ表10Aに加え、データ5(VMイメージ)に関するVM名も登録される。これは保有サーバの動作である。
(2)データ配置先判断器120(M)は、他のサーバの予備イメージ管理器100と連携し、データ表10B、差分データ7、サーバ表20A、VM表40A(図17)の情報を基に、差分データ7の保存に適したサーバを選択し、その結果をデータ配置表30B(図19)とデータ表10Bに反映する。また、データ配置先判断器120(M)は、必要があれば、差分データ7の複製(後述する)を設けるべき決定をする。データ配置先判断器120(M)が複製を設けるべき決定した場合、保有サーバのデータ差分器110は、決定に応じた差分データ19を作成する。差分データ7の「複製」については後述する。このデータ配置先判断器120(M)は、マスターサーバのデータ配置先判断器120-1(M)である。保有サーバのデータ配布器120-4は、差分データ7をデータ配置表30B-4に従い、保存先サーバへ転送する。図19のデータ配置表30B-4は、複製数を示す複製番号を有する。複製番号「0」は複製しない場合である。例えば差分データa3を1台の保存先サーバに送信する。複製番号「1」は、複製を一つ作成すべきことを示す。保有サーバのデータ差分器110は、差分データa3の複製を一つ生成し、2つの差分データa3を、データ配置先判断器120-1(M)によって選択された保存先サーバに送信する。(3)動作VM判定器121(M)は、データ配置先判断器120に存在する。動作VM判定器121は、VMの動作状況を基に、必須データの配置先を判断する。
(1) As in the case of the first embodiment, the data difference unit 110 of the owned server cooperates with the spare image manager of another server, and creates an existing registration based on the input data 5 (VM image). A difference is taken from the completed data (for example, a3 for a1), the result is reflected in the data table 10B (FIG. 18), and difference data 7 is output. In the data table 10B, in addition to the data table 10A created by the data differentiator 110 of the first embodiment, a VM name related to the data 5 (VM image) is also registered. This is the operation of the holding server.
(2) The data placement destination determination unit 120 (M) cooperates with the spare image management unit 100 of another server, and based on the information in the data table 10B, the difference data 7, the server table 20A, and the VM table 40A (FIG. 17). Then, a server suitable for storing the difference data 7 is selected, and the result is reflected in the data arrangement table 30B (FIG. 19) and the data table 10B. In addition, the data placement destination determination unit 120 (M) determines to provide a copy (described later) of the difference data 7 if necessary. When the data placement destination determination unit 120 (M) determines that a copy should be provided, the data difference unit 110 of the holding server creates the difference data 19 according to the determination. The “duplication” of the difference data 7 will be described later. This data location determination unit 120 (M) is the data location determination unit 120-1 (M) of the master server. The data distributor 120-4 of the holding server transfers the difference data 7 to the storage destination server according to the data allocation table 30B-4. The data allocation table 30B-4 in FIG. 19 has a replication number indicating the number of replications. The copy number “0” is a case where no copy is made. For example, the difference data a3 is transmitted to one storage destination server. The copy number “1” indicates that one copy should be created. The data difference unit 110 of the holding server generates one copy of the difference data a3 and transmits the two difference data a3 to the storage destination server selected by the data placement destination determination unit 120-1 (M). (3) The operation VM determination unit 121 (M) exists in the data placement destination determination unit 120. The operation VM determination unit 121 determines an arrangement destination of essential data based on the operation state of the VM.
(同期)
 なお、データ表10Bとデータ配置表30Bは、予備イメージ管理器によって他のサーバと同期が行われる。
(Synchronized)
The data table 10B and the data arrangement table 30B are synchronized with other servers by the spare image manager.
 VM表40Aは、サーバ自身のVMモニタから適時取得している情報であり、サーバで動作しているVMを示す。 The VM table 40A is information acquired from the server's own VM monitor in a timely manner, and indicates the VMs operating on the server.
 図15は、登録処理における予備イメージ管理器内での処理フローを示し、ステップ番号以外、内容は図4と同様である。
 図16はS404の詳細動作例を示す。
FIG. 15 shows a processing flow in the preliminary image manager in the registration process, and the contents are the same as those in FIG. 4 except for the step number.
FIG. 16 shows a detailed operation example of S404.
(S401)
 ステップS401において、保有サーバS4のデータ差分器110-4は、登録が指示されたデータdの差分を生成する。
(S401)
In step S401, the data differentiator 110-4 of the owned server S4 generates a difference of the data d instructed to be registered.
(S402)
 ステップS402において、データ差分器110-4は、差分に関する情報をデータ表10B-4に反映する。
(S402)
In step S402, the data differentiator 110-4 reflects the information regarding the difference in the data table 10B-4.
(S403)
 ステップS403において、データ配置先判断器120-1(M)は、サーバ表20A-1から保存先候補となるサーバ群を取得する。
(S403)
In step S403, the data placement destination determination unit 120-1 (M) acquires a server group as a storage destination candidate from the server table 20A-1.
(S404)
 ステップS404において、データ配置先判断器120-1(M)は、その保存先候補から差分データ7の保存に適した保存先サーバ(サーバS2)を選択し、その結果をデータ配置表30B-1とデータ表10B-1に反映する。
(S404)
In step S404, the data location determination unit 120-1 (M) selects a storage destination server (server S2) suitable for storing the difference data 7 from the storage destination candidates, and the result is stored in the data allocation table 30B-1. And reflected in the data table 10B-1.
(S405)
 ステップS405において、保有サーバS4のデータ配布器120-4は、データ配置表30B-4(同期後)に従い、差分データ7を他のサーバへ転送する。
(S405)
In step S405, the data distributor 120-4 of the holding server S4 transfers the difference data 7 to another server according to the data arrangement table 30B-4 (after synchronization).
 次に図16を参照して、ステップS404(保存先サーバの選択)における詳細動作(S411~S417)を説明する。 Next, detailed operations (S411 to S417) in step S404 (selection of storage destination server) will be described with reference to FIG.
(S411)
 ステップS411において、データ配置先判断器120-1(M)は、サーバ候補リストを初期化する。次にサーバ表20A-1内の全サーバに対しステップS412~S413を行う。図16のS411において「OUT」はサーバ候補リストを示す。
(S411)
In step S411, the data location determination unit 120-1 (M) initializes the server candidate list. Next, steps S412 to S413 are performed for all servers in the server table 20A-1. In S411 of FIG. 16, “OUT” indicates a server candidate list.
(S412)
 ステップS412において、データ配置先判断器120-1(M)の動作VM判定器121-1は、対象となるサーバ(この場合はサーバS1~S4全部のサーバ)で動作しているVMのVM表40(処理動作情報)を取得する。この時、動作VM判定器121-1は、取得したVM表40内に差分データ7に関するVMが存在しない場合のみ、ステップS413を行い、サーバ候補に対象のサーバを追加する。すなわち、保存対象の差分データ7(必須データ、例えば差分データa3)がVM(A)に関係する場合、VM(A)が動作していないサーバのみが保存先候補(outS)となる。
 全てのサーバに対しS412~S413が終了した後、ステップS414において、データ配置先判断器120-1(M)は、サーバ候補が空の場合のみS415、S416を行う。
(S412)
In step S412, the operation VM determination unit 121-1 of the data placement destination determination unit 120-1 (M) is a VM table of VMs operating on the target server (in this case, all of the servers S1 to S4). 40 (processing operation information) is acquired. At this time, the operation VM determination unit 121-1 performs step S413 only when there is no VM related to the difference data 7 in the acquired VM table 40, and adds the target server to the server candidates. In other words, when the difference data 7 to be saved (essential data, for example, difference data a3) is related to the VM (A), only the server on which the VM (A) is not operating becomes the save destination candidate (outS).
After S412 to S413 are completed for all the servers, in step S414, the data placement destination determination unit 120-1 (M) performs S415 and S416 only when the server candidate is empty.
(S415)
 S415において、データ配置先判断器120-1(M)は、「データ複製数」を「2」とし、サーバ表20A-1内の全サーバをサーバ候補に設定する。S414において保存先候補(outS)が「なし」ということは、先の例で、全部のサーバS1~S4でVM(A)が動作していることを意味する。
(S415)
In S415, the data placement destination determination unit 120-1 (M) sets “data replication count” to “2” and sets all servers in the server table 20A-1 as server candidates. The fact that the storage destination candidate (outS) is “none” in S414 means that the VM (A) is operating in all the servers S1 to S4 in the previous example.
(S416)
 S416において、データ配置先判断器120-1(M)は、データ表10B-1を更新し、データの複製数を2に更新する。データの複製数が「2」となった効果は、VM(A)に関する同一の差分データ7を、「2台」のサーバに保存することである。複製数の「2」は一例である。データの複製数が「k」であれば、「k台」のサーバに保存する。この意味で「複製数」という字句を用いている。
(S416)
In S416, the data location determination unit 120-1 (M) updates the data table 10B-1 and updates the number of data copies to 2. The effect of the number of data replications being “2” is that the same difference data 7 regarding VM (A) is stored in “two” servers. The number of copies “2” is an example. If the number of data replications is “k”, it is stored in “k” servers. In this sense, the phrase “number of copies” is used.
(S417)
 S417において、データ配置先判断器120-1(M)は、サーバ候補から複製数分のサーバを選択し、選択結果をデータ配置表30B-1に反映する。図18の複製番号は、複製数が「2」の場合、「0」、「1」の2つの差分データ7が登録される。
(S417)
In S417, the data placement destination determination unit 120-1 (M) selects servers for the number of replicas from the server candidates and reflects the selection result in the data placement table 30B-1. As for the copy number in FIG. 18, when the number of copies is “2”, two difference data 7 of “0” and “1” are registered.
 これにより、登録しようとするデータに関係するVMが動作していないサーバ上にデータが保存されることとなる。もしくは、例えばVM(A)に関する差分データa3を保存しようとする場合に、どのサーバでもVM(A)が動作しているときには、差分データa3は複製される。よって、複製されたデータが、別々のサーバに保存されることとなる。従って、単一障害に対しデータ復旧が確実に可能となる。 As a result, the data is stored on the server where the VM related to the data to be registered is not operating. Alternatively, for example, when the difference data a3 related to the VM (A) is to be stored and the VM (A) is operating on any server, the difference data a3 is duplicated. Therefore, the replicated data is stored in separate servers. Therefore, data recovery can be reliably performed for a single failure.
 なお、VM以外の処理についても、VMに相当する部分を任意の処理に、VMイメージに相当する部分を任意の必須データに置き換えることにより、同様の効果を他の処理を行う環境においても利用できる。 For processes other than the VM, the same effect can be used in an environment where other processes are performed by replacing the portion corresponding to the VM with arbitrary processing and the portion corresponding to the VM image with arbitrary essential data. .
 実施の形態3.
 実施の形態1と同様に、VMを処理としてサーバにて起動している環境においてVMイメージを必須データとする予備データ管理について、VM構築時にデータの転送がなるべく生じないよう、最適なデータの保存先を定める例を示す。この例は構築に関する同じデータを同じサーバに集めて、データ転送を極力なくす例である。
 実施の形態3も、実施の形態2と同様に、マスターによる保存先サーバの選択に関する。
Embodiment 3 FIG.
Similar to the first embodiment, in the preliminary data management in which the VM image is essential data in the environment activated on the server with the VM as a process, optimal data storage is performed so that data transfer does not occur as much as possible when the VM is constructed. An example of determining the destination will be shown. In this example, the same data related to construction is collected on the same server, and data transfer is minimized.
The third embodiment also relates to selection of a storage destination server by the master, as in the second embodiment.
 実施の形態1と同様にサーバS1~S4のシステムとし、受付サーバ等も同様とする。 As in the first embodiment, the system of the servers S1 to S4 is used, and the receiving server is the same.
 図20は、本実施の形態3における予備イメージの登録に関するデータ配置先判断器120の構成を示す。データ配置先判断器120は、データ表10C、サーバ表20A、データ配置表30C、VM表40B、配置データ(差分データ)などの入力を基に、配置候補を出力(マスターの場合)し、また実際に配置するデータを出力(保有サーバの場合)する。また、データ配置先判断器120は入力データを更新する。 FIG. 20 shows a configuration of the data placement destination determination unit 120 related to the registration of the spare image in the third embodiment. The data placement destination determination unit 120 outputs placement candidates (in the case of a master) based on inputs such as the data table 10C, the server table 20A, the data placement table 30C, the VM table 40B, and placement data (difference data). Output the actual data to be placed (in case of owning server). In addition, the data placement destination determination unit 120 updates the input data.
(各判定器)
 データ配置先判断器120の内部に存在する判定器1(第1選択アルゴリズム)~判定器n(第n選択アルゴリズム)は、動作VM判定器121とは別の、それぞれ異なる指標(選択基準)で配置先(保存先サーバ)を判断する。データ配置先判断器120は、判定器を換えつつ繰返し判定を行うことで、配置候補を選別する。この例でマスターとして動作するのは、データ配置先判断器120-1(M)である。
(Each judger)
The determination units 1 (first selection algorithm) to determination unit n (nth selection algorithm) existing in the data placement destination determination unit 120 are different from the operation VM determination unit 121 and have different indexes (selection criteria). Determine the location (storage destination server). The data placement destination judging device 120 selects placement candidates by repeatedly making decisions while changing the judging device. In this example, the data placement destination determination unit 120-1 (M) operates as a master.
(登録処理Aのフロー)
 図21は、データ配置先判断器120-1(M)における登録処理時の処理フローを示す。
(Registration process A flow)
FIG. 21 shows a processing flow at the time of registration processing in the data placement destination judging device 120-1 (M).
(S501)
 まず、ステップS501において、データ配置先判断器120-1(M)は、動作VM判定器121-1を用いて初期の配置候補を取得する。このステップS501は、図16の内容である。S501の「OutS」(サーバ数)、「OutCount」は、S417で得られた結果である。
(S501)
First, in step S501, the data arrangement destination determination unit 120-1 (M) acquires an initial arrangement candidate using the operation VM determination unit 121-1. This step S501 is the content of FIG. “OutS” (number of servers) and “OutCount” in S501 are the results obtained in S417.
 その後、データ配置先判断器120-1(M)は、ステップS501で取得した複製数(OutCount数)分、判定器を換えつつ、S502~S506を繰り返す。この繰り返しは「OutCount」の数だけ、すなわち、複製数(保存先サーバの数)だけ繰り返される。つまり1回のループで、一つの差分データの保存先サーバを選択する。 Thereafter, the data placement destination determination unit 120-1 (M) repeats S502 to S506 while changing the determination units by the number of copies (the number of OutCounts) acquired in step S501. This repetition is repeated by the number of “OutCount”, that is, the number of copies (the number of storage destination servers). That is, one difference data storage destination server is selected in one loop.
(S502)
 まず、ステップS502にて、データ配置先判断器120-1(M)は、一時候補(TmpS(1))を候補リストOutSから複製し、分割数(PartCount)を1に初期化する。ここで「分割数」とは、保存対象の差分データを分割する数を意味する。分割数=1とは、差分データを分割しないことを意味し、分割数=2とは、差分データを2個に分割することを意味し、分割数=kとは、必須データをk個に分割することを意味する。
(S502)
First, in step S502, the data arrangement destination determination unit 120-1 (M) copies the temporary candidate (TmpS (1)) from the candidate list OutS and initializes the division number (PartCount) to 1. Here, the “number of divisions” means the number of division of the difference data to be saved. The number of divisions = 1 means that the difference data is not divided, the number of divisions = 2 means that the difference data is divided into two, and the number of divisions = k means that the essential data is k pieces. It means to divide.
(S503)
 次に、ステップS503において、動作VM判定器121-1の次に動作するよう設定された判定器1は、配置候補(S501:OutS)、配置するデータ、分割数(S502)を基に、候補のサーバを選択する。
(S503)
Next, in step S503, the determiner 1 set to operate next to the operation VM determiner 121-1 is selected based on the arrangement candidate (S501: OutS), the arrangement data, and the number of divisions (S502). Select the server.
(S504)
 その後、ステップS504において、データ配置先判断器120-1(M)は、S503の結果の候補数(TmpS(2))が「分割数」と同じ個数である場合(S504でNO)のみ、S506、終了と進む。例えば、S503の候補数(保存先サーバの候補数)が1台であり、必須データdの「分割数」が「1」の場合は、S506、終了と進む。
(S504)
Thereafter, in step S504, the data placement destination determination unit 120-1 (M) performs S506 only when the number of candidate results (TmpS (2)) in S503 is the same as the “number of divisions” (NO in S504). , End and proceed. For example, when the number of candidates in S503 (the number of candidates for the storage destination server) is one and the “number of divisions” of the essential data d is “1”, the process proceeds to S506 and the end.
(S505)
 条件が満たされなかった場合(S504でYES)、ステップS505において、データ配置先判断器120-1(M)は、判定器を切換え(サーバ選択アルゴリズムを変更)、再度S502に戻る。すなわち、データ配置先判断器120-1(M)は、別の判定器(サーバ選択アルゴリズム)で、「分割数」=「サーバ候補数」となるかどうかを判定する。
(S505)
If the condition is not satisfied (YES in S504), in step S505, the data placement destination determination unit 120-1 (M) switches the determination unit (changes the server selection algorithm) and returns to S502 again. That is, the data placement destination determination unit 120-1 (M) determines whether or not “number of divisions” = “number of server candidates” by another determination unit (server selection algorithm).
(S506)
 最後にステップS506において、データ配置先判断器120-1(M)は、一時候補(TempS(2))のサーバを保存先としてデータ配置表30B-1に反映し、ステップS501で取得した候補「OutS」から一時候補(TempS(out))となったサーバを削除する。なお最後の判定器nは、S504でNOとなる判定器(後述の単純判定器125)を用意する。
(S506)
Finally, in step S506, the data placement destination determination unit 120-1 (M) reflects the server of the temporary candidate (TempS (2)) in the data placement table 30B-1 as the storage destination, and the candidate “ The server that is a temporary candidate (TempS (out)) is deleted from “OutS”. As the final determination device n, a determination device (simple determination device 125 described later) that is NO in S504 is prepared.
 図22は、動作VM判定器121に加え、数種類の具体的な判定器を実際に組み入れた構成例を示す。図22では、動作VM判定器121の他、障害保証判定器122~単純判定器125の4つの判定器を組み入れている。
(1)障害保証判定器122は、不特定サーバの停止に伴うVM復旧が可能なサーバを選択する。
 障害保証判定器122は、保存先サーバを選択する際に、他のサーバがダウンしたと仮定した場合に、ダウンしたサーバ内で動作していたVMが、保存先とすべきサーバで構築できるかをシミュレーションする。ただし、保存先とすべきサーバに保存されているデータに関係するVMの構築性をシミュレーションする。
(2)データ関係判定器123は、選択したサーバのうち、同一予備データに関係する必須データが多く保存されているサーバを選択する。例えば、予備データとしてVM(A)を構築するのに、元データa0と、差分データa1,a3,a11とを必要とする。サーバS1にa0が保存されおり、サーバS2にa1,a3,が保存されている場合、データ関係判定器123は、候補としてサーバS1、S2があり、差分データa11を保存する場合、関連するデータが多く保存されているサーバS2を差分データa11の保存先として選択する。
(3)リソース基準判定器124は、選択したサーバのうち、リソースが最も空いているサーバを選択する。
(4)単純判定器125は、候補から適当に分割数分のサーバを選択する。よって、単純判定器125による判定ではS504は必ずNOとなり、処理はS506に進む。
FIG. 22 shows a configuration example in which several types of specific determiners are actually incorporated in addition to the operation VM determiner 121. In FIG. 22, in addition to the operation VM determination unit 121, four determination units including a failure guarantee determination unit 122 to a simple determination unit 125 are incorporated.
(1) The failure guarantee determination unit 122 selects a server capable of VM recovery when an unspecified server is stopped.
If the failure guarantee determination unit 122 selects a storage destination server and assumes that another server is down, can the VM operating in the down server be constructed as a storage destination server? To simulate. However, the VM constructability related to the data stored in the server to be stored is simulated.
(2) The data relation determination unit 123 selects a server in which a lot of essential data related to the same spare data is stored among the selected servers. For example, the original data a0 and the difference data a1, a3, and a11 are required to construct the VM (A) as the preliminary data. When a0 is stored in the server S1 and a1, a3 are stored in the server S2, the data relationship determination unit 123 includes the servers S1 and S2 as candidates, and when the difference data a11 is stored, the related data Is selected as the storage destination of the difference data a11.
(3) The resource criterion determination unit 124 selects a server having the most free resources from the selected servers.
(4) The simple determiner 125 selects servers for the appropriate number of divisions from the candidates. Therefore, in the determination by the simple determiner 125, S504 is always NO, and the process proceeds to S506.
 図23は、図21について、これら4つの判定器を処理に組み込んだ場合のフローである。図23を参照して、判定器121~125を組み込んだ場合を説明する。 FIG. 23 is a flow in the case where these four determiners are incorporated into the processing with respect to FIG. With reference to FIG. 23, a case where the determiners 121 to 125 are incorporated will be described.
 ステップS511、S512は、障害保証判定器122が処理を行う。ステップS513は、データ関係判定器123が処理を行う。ステップS514は、リソース基準判定器124が処理を行う。ステップS515は単純判定器125が処理を行う。この例のステップS512では、障害保証判定器122とデータ配置先判断器120とが連携して処理を行う。
 図23の処理概要は以下の様である。
 障害保証判定器122の処理により複数の保存先候補数N5が選択された場合には、データ関係判定器123が、さらに複数の保存先候補数N5から絞りこむ。データ関係判定器123の処理により複数の保存先候補数N4が選択された場合には、リソース基準判定器124が数の保存先候補数N4から絞り込む。
 リソース基準判定器124により複数の保存先候補数N3が選択された場合には、最後に単純判定器125が、複数の保存先候補数N3から所定数の保存先候補を決定する。
In steps S511 and S512, the failure guarantee determination unit 122 performs processing. In step S513, the data relationship determination unit 123 performs processing. In step S514, the resource criterion determination unit 124 performs processing. In step S515, the simple determiner 125 performs processing. In step S512 of this example, the failure guarantee determination unit 122 and the data placement destination determination unit 120 perform processing in cooperation.
The processing outline of FIG. 23 is as follows.
When a plurality of storage destination candidate numbers N5 are selected by the processing of the failure guarantee determination unit 122, the data relationship determination unit 123 further narrows down from the plurality of storage destination candidate numbers N5. When a plurality of storage destination candidate numbers N4 are selected by the processing of the data relationship determination unit 123, the resource reference determination unit 124 narrows down from the number of storage destination candidate numbers N4.
When a plurality of storage destination candidate numbers N3 are selected by the resource criterion determination unit 124, the simple determination unit 125 finally determines a predetermined number of storage destination candidates from the plurality of storage destination candidate numbers N3.
(S511)
 ステップS511において、障害保証判定器122は動作VM判定器121から渡された候補(TmpS(1))から、不特定のサーバの停止に伴うVM復旧が可能なサーバのみ一時候補(TempS(2))として選択する。この結果(サーバの一時候補)が分割数(S502)より少ない場合、障害保証判定器122は、ステップS512において「分割数」を一つ増やしステップS511をやり直す。例えば、out(TempS)=0の場合、「分割数」は1から1インクリメントされ、2になる。
(S511)
In step S511, the failure guarantee determination unit 122 is a temporary candidate (TempS (2)) from the candidate (TmpS (1)) passed from the operation VM determination unit 121 only for a server that can recover the VM when an unspecified server is stopped. ) To select. If the result (temporary server candidate) is smaller than the number of divisions (S502), the failure guarantee determination unit 122 increments the “number of divisions” by 1 in step S512 and repeats step S511. For example, when out (TempS) = 0, the “number of divisions” is incremented by 1 from 1 and becomes 2.
(S513)
 サーバ候補数の方が「分割数」よりも多い場合、処理はステップS513に進む。ステップS513において、データ関係判定器123は、障害保証判定器122から渡されたサーバ候補(TempS)から選択したサーバのうち、保存するデータに関係する他のデータが多いサーバを候補として選択する。
(S513)
If the number of server candidates is greater than the “number of divisions”, the process proceeds to step S513. In step S513, the data relationship determination unit 123 selects, from the servers selected from the server candidates (TempS) passed from the failure guarantee determination unit 122, servers that have a lot of other data related to the data to be stored as candidates.
(S514)
 S514において、S513で選択されたサーバ候補数が分割数と異なる場合、リソース基準判定器124は、データ関係判定器123から渡されたサーバ候補からリソース(CPU、メモリ、ディスク容量、デバイス、I/Oスループットなどの計算機リソース)が空いているサーバを保存先候補のサーバとして選択する。
(S514)
In S514, when the number of server candidates selected in S513 is different from the number of divisions, the resource criterion determination unit 124 uses the resources (CPU, memory, disk capacity, device, I / I) from the server candidates passed from the data relationship determination unit 123. A server having an available computer resource such as O throughput is selected as a storage destination candidate server.
(S515)
 S514で処理された候補数が分割数と異なる場合、ステップS515において、単純判定器125は、適当に、リソース基準判定器124から渡された候補から分割数分のサーバを選択する。
(S515)
When the number of candidates processed in S514 is different from the number of divisions, in step S515, the simple determiner 125 appropriately selects servers for the number of divisions from the candidates passed from the resource criterion determiner 124.
 次に図24~図26を参照して、障害保証判定器122、データ関係判定器123、リソース基準判定器124のそれぞれの動作を説明する。 Next, the operations of the failure guarantee determination unit 122, the data relationship determination unit 123, and the resource reference determination unit 124 will be described with reference to FIGS.
(障害保証判定器122の具体的な処理)
 図24は、図23に示したステップS511の障害保証判定器122による具体的な処理を示すフローチャートである。図24は、障害保証判定器122が動作主体である。図24は、障害保証判定器122によって、候補サーバで、予備データの構築が可能かどうかを判断するフローである。すなわち、障害保証判定器122は、保存先サーバが構築先サーバともなり得るかどうかを確認する。
(Specific processing of the fault guarantee determination unit 122)
FIG. 24 is a flowchart showing specific processing performed by the failure guarantee determination unit 122 in step S511 shown in FIG. In FIG. 24, the failure guarantee determination unit 122 is an operation subject. FIG. 24 is a flow for determining whether or not spare data can be constructed in the candidate server by the failure guarantee determination unit 122. That is, the failure guarantee determination unit 122 confirms whether the storage destination server can also be the construction destination server.
 処理は入れ子となった4つのループからなる。
 ステップS511では、障害保証判定器122は、不特定のサーバが停止したことをシミュレーションし、データを保存した場合でも、その復旧に対応可能かを判断する。
The process consists of four nested loops.
In step S511, the failure guarantee determination unit 122 simulates that an unspecified server has stopped, and determines whether or not recovery can be supported even when data is stored.
(1)まず、ステップS521において、障害保証判定器122は、保存するデータに関係するVMを取得する。
(2)次にステップS522において、障害保証判定器122は、仮候補NewTempSを初期化する。
(3)その後、ステップS523において、障害保証判定器122は、動作VM判定器121から渡されたサーバ候補中から分割数分(PartCount)の組み合わせを網羅し、それぞれ保存先の候補群CとしてステップS524~S530を行う。具体的には、例えば、渡されたサーバ候補が4台あり、分割数が2であるとする。その場合、2つのデータを4台のサーバのうち2台に保存する。よって、候補群Cとして、「通り」の組み合わせができる。
(4)また、ステップS524において、障害保証判定器122は、保存するデータに関係するVMを分割数に分けた場合の全組み合わせについて網羅し、それぞれ復元するVMの組合せ候補DとしてステップS525~S530を行う。ステップS525~S529までは、ある特定のサーバsjが停止した場合をシミュレーションしている。
(5)まず、ステップS525において、障害保証判定器122は、サーバsjにて動作しているVMリストVaを取得する。
(6)次に、ステップS526においてパラメータcntを初期化する。その後、Dの要素数分ステップS527~S529を繰り返す。
(7)ステップS527において、障害保証判定器122は、候補群Cのcnt番目のサーバに保存されているデータに関係するVMリストVsを取得する。
(8)次に、ステップS528において、候補群Dのcnt番目のVM群とVsの和のうち、Vaに含まれるものをVuとする。
(9)その後、候補群Cのcnt番目のサーバにVM群Vuを全て構築できるリソースの空きがあるかを判定する。このsjの障害判定全てに対して空きが存在した組み合わせCをステップS530において、出力する保存先候補に追加する。これをC,D全組み合わせにおいて実行した後、ステップS531において、出力候補を一時候補に繁栄する。
(1) First, in step S521, the failure guarantee determination unit 122 acquires a VM related to data to be stored.
(2) Next, in step S522, the failure guarantee determination unit 122 initializes the temporary candidate NewTempS.
(3) After that, in step S523, the failure guarantee determination unit 122 covers combinations of the number of divisions (PartCount) from among the server candidates passed from the operation VM determination unit 121, and sets each as a storage destination candidate group C. Steps S524 to S530 are performed. Specifically, for example, it is assumed that there are four server candidates passed and the number of divisions is two. In that case, two pieces of data are stored in two of the four servers. Therefore, as the candidate group C, “ 4 C 2 ways” can be combined.
(4) In step S524, the failure guarantee determination unit 122 covers all combinations when the VMs related to the data to be stored are divided into division numbers, and steps S525 to S530 are used as VM combination candidates D to be restored. I do. In steps S525 to S529, a case where a specific server sj is stopped is simulated.
(5) First, in step S525, the failure guarantee determination unit 122 acquires the VM list Va operating on the server sj.
(6) Next, in step S526, the parameter cnt is initialized. Thereafter, steps S527 to S529 are repeated for the number of elements of D.
(7) In step S527, the failure guarantee determination unit 122 acquires a VM list Vs related to data stored in the cnt-th server of the candidate group C.
(8) Next, in step S528, among the sum of the cnt-th VM group of the candidate group D and Vs, the one included in Va is set as Vu.
(9) After that, it is determined whether or not there is an available resource in the cnt-th server of the candidate group C that can build all the VM groups Vu. In step S530, the combination C in which vacancies exist for all the failure determinations of sj is added to the storage destination candidate to be output. After this is executed for all combinations of C and D, the output candidate thrives as a temporary candidate in step S531.
(データ関係判定器123の具体的な処理)
 図25は、ステップS513の詳細なフローを示す。これらは全てデータ関係判定器123の処理となる。処理は、各サーバのデータ関係度を算出する前半部(ステップS541~S545)と、その中から関係度の大きいサーバを選択する後半部(ステップS547~ステップS551)からなる。
(1)まず、ステップS541において、データ関係判定器123は、各サーバのデータ関係度(Rates)を初期化し、保存するデータに関係するVM群をVdに保存する。
 その後、候補中の全サーバに対してステップS542~S545を行う。
(2)ステップS542では、データ関係判定器123は、判定するサーバsiに保存されているデータ群を取得する。
(3)次に、ステップS544において、データ関係判定器123は、関係度を0にし、その後、Vdの全VMを対象にVM VとしてステップS545を行う。
(4)S545においては、データ関係判定器123は、VM Vの構築に必要なデータがサーバsiに保存されている割合を取得し関係度に加算する。
(5)その後、S546において、データ関係判定器123は、サーバsiの関係度として、先ほどの関係度を保存する。
(6)次に、データ関係判定器123は、算出した関係度を基に、候補サーバを選択する。まず、ステップS546において、データ関係判定器123は、出力した候補数と候補群を初期化する。
(7)ステップS547において、データ関係判定器123は、関係度Ratesから最も大きい候補群を取得する。
(8)その後、ステップS548、549において、データ関係判定器123は、先ほどの候補を出力候補に加え、ステップS550において関係度リストから候補を削除する。(9)その後ステップS551において分割数より出力する候補数が少ない場合、ステップS548に処理を戻す。
(Specific processing of the data relationship determination unit 123)
FIG. 25 shows a detailed flow of step S513. These are all processed by the data relationship determination unit 123. The processing includes a first half (steps S541 to S545) for calculating the data relation level of each server and a second half (steps S547 to S551) for selecting a server having a high degree of relation from among the first half.
(1) First, in step S541, the data relationship determination unit 123 initializes the data relationship level (Rates) of each server, and stores VM groups related to data to be stored in Vd.
Thereafter, Steps S542 to S545 are performed for all the candidate servers.
(2) In step S542, the data relationship determination unit 123 acquires a data group stored in the server si to be determined.
(3) Next, in step S544, the data relationship determining unit 123 sets the degree of relationship to 0, and then performs step S545 on all Vd VMs as VMVs.
(4) In S545, the data relationship determination unit 123 acquires the ratio that the data necessary for the construction of the VM V is stored in the server si, and adds it to the relationship level.
(5) Thereafter, in S546, the data relationship determination unit 123 stores the previous relationship level as the relationship level of the server si.
(6) Next, the data relationship determination unit 123 selects a candidate server based on the calculated degree of relationship. First, in step S546, the data relationship determiner 123 initializes the number of candidates and candidate groups that have been output.
(7) In step S547, the data relationship determiner 123 acquires the largest candidate group from the relationship rate Ratings.
(8) Thereafter, in steps S548 and 549, the data relationship determiner 123 adds the previous candidate to the output candidate, and deletes the candidate from the relationship list in step S550. (9) Thereafter, when the number of candidates to be output is smaller than the number of divisions in step S551, the process returns to step S548.
(リソース基準判定器124の具体的な処理)
 図26は、ステップS514の詳細なフローを示す。これらは全てリソース基準判定器124の処理である。
(1)まず、ステップS561において、リソース基準判定器124は、出力する候補数と候補を初期化する。
(2)次にステップS562において、リソース基準判定器124は、他のサーバの予備イメージ管理器と連携し、入力されている候補から空きリソース量の最も大きいサーバを取得する。
(3)その後ステップS563、S564において、取得したサーバを出力の候補に加え、ステップS565において入力された候補から加えた候補を削除する。
(4)その後ステップS566において分割数より出力する候補数が少ない場合、ステップS548に処理を戻す。
(5)最後に、ステップS567において、出力候補を最終的な候補に反映する。
(Specific processing of the resource criterion determiner 124)
FIG. 26 shows a detailed flow of step S514. These are all processing of the resource standard determination unit 124.
(1) First, in step S561, the resource criterion determination unit 124 initializes the number of candidates to be output and the candidates.
(2) Next, in step S562, the resource criterion determination unit 124 obtains a server having the largest free resource amount from the input candidates in cooperation with the spare image manager of another server.
(3) Thereafter, in steps S563 and S564, the acquired server is added to the output candidates, and the candidates added from the candidates input in step S565 are deleted.
(4) After that, if the number of candidates to be output is smaller than the number of divisions in step S566, the process returns to step S548.
(5) Finally, in step S567, the output candidate is reflected in the final candidate.
 これら判断器の組み合わせにより、本実施の形態3では、データ転送が極力生じることが無い様に、必須データ構築に必要な予備データを集約することでデータの転送を防ぐ。集約においては、そのサーバで引継ぎ対象となる処理が起動できるほどリソースが余っているのかを基準に、処理を行うだけの余地を各サーバに残しつつ、配置してある予備データ同士の関係、そのデータに関係する処理同士の関係を加味し、データの配置先を定める。 With the combination of these determiners, in the third embodiment, data transfer is prevented by aggregating preliminary data necessary for constructing essential data so that data transfer does not occur as much as possible. In aggregation, on the basis of whether there are enough resources to start the process to be taken over on that server, leaving the room for processing on each server, the relationship between the spare data that has been placed, Considering the relationship between the processes related to the data, the data placement destination is determined.
 この例においては、分割に対応するためにデータ表、データは位置表が図27、図28のようになる。また、VMの起動に必要なリソースを判断する必要があるため、VM表40は図29のようになる。 In this example, the data table and the data position table are as shown in FIGS. 27 and 28 in order to correspond to the division. Further, since it is necessary to determine the resources necessary for starting the VM, the VM table 40 is as shown in FIG.
 次に本例の実動作例を示す。
 図30~図33は、以上に述べた、動作VM判定器121、障害保証判定器122、データ関係判定器123、リソース基準判定器124及び単純判定器125の処理結果を示している。
 VM A~Jがサーバi~lにて動作しているものとする(図30)。また、VM A~Jは図8で示される予備データから構成されるものとする。本例では、既にVMが動作している環境において予備データを図8の左から右の順番で(a0→b0→a1→a2→b1→b2→a3→a4→a5...)ひとつずつ格納する場合について述べる。なお、各サーバは270GBのディスク、VMが40GB、a0、b0を40GB、a1~14、b1~b9を5GBとし、リソースの判定はディスク容量について行うものとする。
Next, an actual operation example of this example is shown.
30 to 33 show the processing results of the operation VM determination unit 121, the failure guarantee determination unit 122, the data relationship determination unit 123, the resource reference determination unit 124, and the simple determination unit 125 described above.
Assume that VMs A to J are operating on servers i to l (FIG. 30). Further, it is assumed that VMs A to J are composed of preliminary data shown in FIG. In this example, spare data is stored one by one in the order from left to right in FIG. 8 (a0 → b0 → a1 → a2 → b1 → b2 → a3 → a4 → a5...) In the environment where the VM is already operating. Describe the case. Each server is assumed to be a disk of 270 GB, a VM of 40 GB, a0 and b0 of 40 GB, a1 to 14, and b1 to b9 of 5 GB, and resource determination is performed on the disk capacity.
(図31)
 この場合のa0~a14、b0~b9の配置の判断は図31のように行われる。この例では、a0は一つのサーバにまとめて保存され、b0は2つのサーバに分割して保存される。a1、b1以降は、データの関連度を基に、各サーバに振り分けられ、最終的に図31の最下段の構成となる。
 図31の上段の「Si~Sl」は次のことを示している。
<上段>
 加えて格納時の空きスペースとデータ関係を考慮した場合、a0群を保存するにあたり、最も空いているSlに全て保存としても、現時点ではVMを3台構築する余裕が残る。Sjにa0を全て集約した場合、b0群を保存するにあたり、b0に関係するVMが動作していないSiとSjとなる。b0に関するVMの復旧には150GBが必要であるが、b0格納時点で満たすサーバはない。複数のサーバで起動が行われる。起動時必要な最小のサーバの数だけ均等に配置する。
 図31の中段の「Si~Sl」は次のことを示している。
<中段>
 a1の保存においては、関係の強いa0があるSlに格納後も150GB空きがあるため、サーバlに保存する。a2も同様である。b1の保存においては、関係するデータ量、空き容量が同量となるため適当にSiに保存する。b2の保存においてはb2とb1は関係がなく、関係するデータ量が等しいが、Sjの空き容量が多いため、Sjに保存する。以下、同様に、VM起動の可否、関係するデータ量、空き容量などを基に保存先を判断する。
 図31の下段の「Si~Sl」は次のことを示している。
<下段>
 Siが停止した場合、A、B、Cの再構築において、Slにて構築する場合、データ転送は発生しない。Skが停止した場合、G、H、Iの再構築において、SiにてGを、SjにてHとIを構築する場合、計50GBを転送することとなる。
(Fig. 31)
In this case, determination of the arrangement of a0 to a14 and b0 to b9 is performed as shown in FIG. In this example, a0 is collectively stored in one server, and b0 is divided and stored in two servers. From a1 and b1 onward, each server is assigned based on the degree of relevance of the data, and finally the configuration at the bottom of FIG. 31 is obtained.
“Si to Sl” in the upper part of FIG. 31 indicates the following.
<Upper row>
In addition, when considering the free space at the time of storage and the data relationship, there is still room for constructing three VMs at the present time, even if all of the a0 groups are stored in the most free S1. When all of a0 are aggregated in Sj, when the b0 group is stored, the VMs related to b0 are Si and Sj that are not operating. 150GB is required to recover the VM related to b0, but no server is satisfied at the time of storing b0. Startup is performed on multiple servers. Equally distribute the minimum number of servers required at startup.
“Si to S1” in the middle of FIG. 31 indicates the following.
<Middle stage>
In the storage of a1, since there is 150 GB of free space after storing in Sl having a strongly related a0, it is stored in the server l. The same applies to a2. In the storage of b1, since the related data amount and the free capacity are the same amount, it is appropriately stored in Si. In the storage of b2, b2 and b1 are irrelevant and the related data amount is the same, but since the free capacity of Sj is large, it is stored in Sj. Hereinafter, similarly, the storage destination is determined based on the availability of VM activation, the amount of related data, the free capacity, and the like.
“Si to S1” in the lower part of FIG. 31 indicates the following.
<Lower row>
When Si is stopped, when A, B, and C are reconstructed, data transfer does not occur when S1 is constructed. When Sk stops, when reconstructing G, H, and I, when G is constructed in Si and H and I are constructed in Sj, a total of 50 GB is transferred.
(図32)
 この構成においては、サーバiの障害に対しては図32のようなデータの流れで、サーバkの障害に対しては図33のようなデータの流れでVMを復旧した場合、転送量が最も少なく、最短での起動が可能となる。図32では、Siが停止した際に、A、B、Cの再構築をSlにて行う場合、データの転送は発生しない。図33では、Skが停止した際に、Gの再構築をSiにて、B、Cの再構築をSjにて行う場合、データ計50GBを転送することとなる。図33では、SiでのGの構築にはSj内のb0/1が必要であり、SjでのH、Iの構築にはSi内のb0/0が必要である。
(Fig. 32)
In this configuration, when the VM is recovered with the data flow as shown in FIG. 32 for the failure of the server i and with the data flow as shown in FIG. 33 for the failure of the server k, the transfer amount is the highest. There are few and the start in the shortest becomes possible. In FIG. 32, when Si is stopped, if A, B, and C are reconstructed in S1, data transfer does not occur. In FIG. 33, when Sk is stopped, when reconstruction of G is performed by Si and reconstruction of B and C is performed by Sj, a total of 50 GB is transferred. In FIG. 33, b0 / 1 in Sj is necessary for the construction of G in Si, and b0 / 0 in Si is necessary for the construction of H and I in Sj.
 なお、VM以外の処理についても、VMに相当する部分を任意の処理に、VMイメージに相当する部分を任意の必須データに置き換えることにより、同様の効果を他の処理を行う環境においても利用できる。 For processes other than the VM, the same effect can be used in an environment where other processes are performed by replacing the portion corresponding to the VM with arbitrary processing and the portion corresponding to the VM image with arbitrary essential data. .
 実施の形態4.
 実施例1同様、VMを処理としてサーバにて起動している環境においてVMイメージを必須データとする予備データ管理について、特定のサーバにてVMイメージを復元するように指示が生じた際、その特定のサーバにてVMイメージを構築するだけのディスクスペースがない場合の例を示す。
Embodiment 4 FIG.
As in the first embodiment, when an instruction is issued to restore a VM image at a specific server in the environment in which the VM image is processed as an indispensable data in an environment in which the VM is running as a process, the specification is performed. An example in which there is not enough disk space to construct a VM image on the server of FIG.
 本例では、処理引継ぎ時に伴うデータの再移動を行うことで、実際の起動時のリソース不足解消や、次の障害への対応を行う。本構成は、図9、ならびに図20に則る。 In this example, by re-moving the data that accompanies the process takeover, the resource shortage at the actual startup is resolved and the next failure is dealt with. This configuration conforms to FIGS. 9 and 20.
 本例での予備イメージ管理器の構築処理時の処理フローを図34に示す。
(1)まず、ステップS601において、データ複合器12は、構築するだけのリソースの空きがあるのかを判断する。
(2)余地が無い場合、ステップS602において、予備イメージ管理器は、その構築先サーバに保存されているデータの内、構築に関係のないデータを対象に、自サーバへの配置が不適切であるデータを選択する。
(3)この選択においては、データ配置先判断器22によって対象データ全てに対して再度適切な配置先を判断し、その結果が既に保存されているサーバと異なるデータを候補として扱う。
(4)候補が出次第、その候補から適切な数だけ、ステップS603において、予備イメージ管理器は、データ配布器を用いてデータを他のサーバに移動させる。
 以降、リソースが空くまで繰り返す。
FIG. 34 shows a processing flow at the time of constructing the spare image manager in this example.
(1) First, in step S601, the data compounder 12 determines whether there are enough resources available for construction.
(2) If there is no room, in step S602, the spare image manager is improperly placed on its own server for data not related to the construction among the data stored in the construction destination server. Select some data.
(3) In this selection, the data arrangement destination determination unit 22 determines again an appropriate arrangement destination for all the target data, and treats data different from the server whose result is already stored as a candidate.
(4) As soon as candidates are found, the preliminary image manager moves data to another server using the data distributor in step S603 by an appropriate number from the candidates.
Thereafter, the process is repeated until the resource becomes available.
 なお、VM以外の処理についても、VMに相当する部分を任意の処理に、VMイメージに相当する部分を任意の必須データに置き換えることにより、同様の効果を他の処理を行う環境においても利用できる。 For processes other than the VM, the same effect can be used in an environment where other processes are performed by replacing the portion corresponding to the VM with arbitrary processing and the portion corresponding to the VM image with arbitrary essential data. .
 実施の形態5.
 実施例1同様、VMを処理としてサーバにて起動している環境においてVMイメージを必須データとする予備データ管理について、深夜など処理に余裕がある際にサーバにあるデータの配置を最適化する処理について示す。
Embodiment 5 FIG.
As in the first embodiment, the processing for optimizing the arrangement of data in the server when there is a margin in processing such as late at night in the spare data management in which the VM image is essential data in the environment in which the server is started with the VM as a process Show about.
 本例では、予備イメージ管理器が、内部に持つデータ配置先判断器22やデータ配布器19を用いてデータの再配置を行う。また、予備イメージ管理器は、データ配置先判断器22内にある障害保証判定器29を直接利用する。 In this example, the spare image manager performs data rearrangement using the data arrangement destination determination unit 22 and the data distributor 19 provided therein. The spare image manager directly uses the failure guarantee determination unit 29 in the data arrangement destination determination unit 22.
 予備イメージ管理器は、データ配置先判断器22と障害保証判定器29に対し仮の表を渡し、配置先を仮として取得する。また、その結果をデータ配置表30に反映し、データ配布器19に再配布を命令する。データ配置先判断器22は、仮の配置先を、仮として渡された入力情報から算出する。障害保証判定器29は、予備イメージ管理器から渡された仮の入力情報から、指定のサーバが選択候補に含まれるかを返す。データ配布器19は、予備イメージ管理器が定めたデータ配置表30に従い、データの転送を行う。 The spare image manager passes a provisional table to the data placement destination judgment unit 22 and the failure guarantee judgment unit 29, and acquires the placement destination as provisional. Further, the result is reflected in the data arrangement table 30, and the data distributor 19 is instructed to redistribute. The data placement destination determination unit 22 calculates a temporary placement destination from the input information passed as temporary. The failure guarantee determination unit 29 returns whether or not the designated server is included in the selection candidate from the temporary input information passed from the spare image manager. The data distributor 19 transfers data according to the data arrangement table 30 determined by the preliminary image manager.
 図35は、本例での予備イメージ管理器の再配置処理時の処理フローを示す。フローは、S701、S702、S703の三つのステップからなる。
(1)ステップS701において、予備イメージ管理器は、予備イメージ管理器が管理しているデータ全ての配置パターンを仮の入力情報としてデータ配置先判断器22を起動し、最も再構築時のデータ移動量が少ない配置パターンを選択する。
(2)次に、ステップS702において、予備イメージ管理器は、最適配置に沿っていないデータの内、動作保証判定器29の選定による条件を満たすデータと最適配置先のサーバの組み合わせを選び、そのデータを対象のサーバにデータ配布器19を用いて転送する。
(3)最後に、ステップS703において、予備イメージ管理器は、最適配置に沿っていない残ったデータを対象のサーバにデータ配布器19を用いて無条件で転送する。
FIG. 35 shows a processing flow at the time of rearrangement processing of the spare image manager in this example. The flow consists of three steps, S701, S702, and S703.
(1) In step S701, the spare image manager activates the data placement destination judgment unit 22 using the placement patterns of all the data managed by the spare image manager as provisional input information, and moves the data at the most reconstruction time. Select an arrangement pattern with a small amount.
(2) Next, in step S702, the spare image manager selects a combination of data that satisfies the conditions selected by the operation guarantee determination unit 29 and the optimal placement destination server from among the data that does not conform to the optimum placement. Data is transferred to the target server using the data distributor 19.
(3) Finally, in step S703, the spare image manager unconditionally transfers the remaining data that does not conform to the optimal arrangement to the target server using the data distributor 19.
 図36のフローは、図35のフローを停止再開可能な処理に改変し詳細化したものである。ステップS701は、ステップS711~S715に相当する。ステップS702は、ステップS721~S729に相当する。ステップS703は、ステップS731~S736に相当する。 The flow in FIG. 36 is a detailed modification of the flow in FIG. Step S701 corresponds to steps S711 to S715. Step S702 corresponds to steps S721 to S729. Step S703 corresponds to steps S731 to S736.
 まず、ステップS711において、予備イメージ管理器は、処理が中断状態から再開されたのか、初期開始なのかを再検証が必要か否かを基に判定する。判定が必要となった場合、予備イメージ管理器は、ステップS712において強制移動フラグforceを偽に変更し、ステップS713において、データ配置先判断器22を用いて最適な配置先を選択する。ステップS714では、強制移動フラグforceがtrueの場合、つまり、中断処理において前回強制移動を行っていた場合、ステップS732に飛ぶ。ステップS715では、現在の配置と最適配置が等しいかを判定し、等しければ終了、等しくなければステップS721に飛ぶ。 First, in step S711, the spare image manager determines whether the process has been resumed from the interrupted state or whether it is the initial start based on whether re-verification is necessary. When the determination is necessary, the preliminary image manager changes the forced movement flag force to false in step S712, and selects an optimum arrangement destination using the data arrangement destination determination unit 22 in step S713. In step S714, if the forced movement flag force is true, that is, if the previous forced movement was performed in the interruption process, the process jumps to step S732. In step S715, it is determined whether the current arrangement is equal to the optimum arrangement. If they are equal, the process ends. If not, the process jumps to step S721.
 ステップS721において、予備イメージ管理器は、データ移動フラグflagを偽に初期化し、その後、最適配置となっていないデータの内、障害保証判定器29の条件に満たすデータを移動する。 In step S721, the preliminary image manager initializes the data movement flag flag to false, and then moves the data that satisfies the conditions of the failure guarantee determination unit 29 among the data that is not optimally arranged.
 まず、ステップS722において、中断すべきかを判定し、中断しない場合のみ、ステップS723に飛び、現在移動検証の候補となるデータdの配置先サーバskを取得する。次に、その配置先サーバが現在のサーバと等しくない場合のみステップ、S725に飛び、データdをサーバskに移動しても動作保証器での条件を満たす場合のみステップS726に飛ぶ。ステップS726において、予備イメージ管理器は、データ配置表30を更新し、データ配布器19にデータの移動を命令し、データdをサーバskに移動する。一つでもデータを移動した場合、ステップS727において、予備イメージ管理器はデータ移動フラグflagを真に更新する。その後、ステップS728において、現在の配置と最適配置が等しいかを判定し、等しい場合は終了を、等しくない場合はステップS729に飛ぶ。ステップS729において、予備イメージ管理器は、障害保証判定器29の条件下でデータを移動させた場合のみステップS721に飛び、再度障害保証判定器29の条件下でデータを移動可能か試みる。 First, in step S722, it is determined whether or not to interrupt, and only when not interrupted, the process jumps to step S723 to acquire the placement destination server sk of the data d that is a candidate for current movement verification. Next, the process jumps to step S725 only when the placement destination server is not equal to the current server, and jumps to step S726 only when the condition of the operation guarantee device is satisfied even if the data d is moved to the server sk. In step S726, the preliminary image manager updates the data arrangement table 30, instructs the data distributor 19 to move the data, and moves the data d to the server sk. If even one piece of data has been moved, in step S727, the spare image manager truly updates the data movement flag flag. Thereafter, in step S728, it is determined whether the current arrangement and the optimum arrangement are equal. If they are equal, the process ends. If not, the process jumps to step S729. In step S729, the spare image manager jumps to step S721 only when the data is moved under the condition of the failure guarantee determination unit 29 and tries again whether the data can be moved under the condition of the failure guarantee determination unit 29.
 ステップS726において移動させたデータが無い場合、ステップS731において、予備イメージ管理器は、強制移動フラグforceをtrueにし、強制移動状態に移行する。強制移動状態では、まず、ステップS732において、予備イメージ管理器は、ステップS732において、中断すべきかを判定し、中断しない場合のみ、ステップS733に飛ぶ。ステップS733において、予備イメージ管理器は、最適パターンと異なるデータから一つを選択し、ステップS734において、データ配置表30を更新し、データ配布器19にデータを移動させることで選択したデータを最適配置パターンに従って移動させる。その後、ステップS735において、予備イメージ管理器は、現在の配置と最適配置が等しいかを判定し、等しくない場合はステップS732に戻り、等しい場合は、ステップS736において強制移動フラグforceをfalseにし強制移動状態を解除し処理を終了する。 If there is no data moved in step S726, in step S731, the spare image manager sets the forced movement flag force to true and shifts to the forced movement state. In the forced movement state, first, in step S732, the spare image manager determines in step S732 whether or not to interrupt, and jumps to step S733 only when not interrupted. In step S733, the preliminary image manager selects one of the data different from the optimum pattern, and in step S734, the data arrangement table 30 is updated, and the data distribution unit 19 moves the data to optimize the selected data. Move according to the arrangement pattern. Thereafter, in step S735, the spare image manager determines whether the current arrangement and the optimum arrangement are equal. If they are not equal, the process returns to step S732. If they are equal, the forcible movement flag is set to false in step S736 to force movement. The state is released and the process is terminated.
 なお、VM以外の処理についても、VMに相当する部分を任意の処理に、VMイメージに相当する部分を任意の必須データに置き換えることにより、同様の効果を他の処理を行う環境においても利用できる。 For processes other than the VM, the same effect can be used in an environment where other processes are performed by replacing the portion corresponding to the VM with arbitrary processing and the portion corresponding to the VM image with arbitrary essential data. .
 実施の形態6.
 実施例1同様、VMを処理としてサーバにて起動している環境において、VMイメージを必須データとする予備データ管理について、利用者にデータ復元時の指標を示す例について述べる。
Embodiment 6 FIG.
As in the first embodiment, an example will be described in which an index is shown to the user when data is restored in the spare data management in which the VM image is essential data in an environment where the VM is used as a process in the server.
 本例における処理フローを図37に示す。フローは、利用者から特定のVMの構築に対する指標の提示が発行された際のものである。
 図37において、
 size(D)=データ群Dのデータサイズの合計、
 ready(si)=サーバsiに保存されているデータ群、
 src(A)=VM Aを構築するのに必要なデータ群、
である。本例では、予備イメージ管理器ご動作している全てのサーバに対し、まずステップS801において、そのサーバ内において、特定のVMの構築に必要なデータが保存されている割内をrateに算出する。
The processing flow in this example is shown in FIG. The flow is when a presentation of an index for the construction of a specific VM is issued by the user.
In FIG.
size (D) = total data size of data group D,
ready (si) = data group stored in the server si,
src (A) = data group necessary to construct VM A,
It is. In this example, for all servers operating as the spare image manager, first, in step S801, the rate in which data necessary for building a specific VM is stored is calculated as a rate. .
 次に、ステップS802において、そのサーバで特定のVMを起動する際に、リソースの過不足がどの程度かをresに算出する。最後に、全てのサーバのrateとresをユーザに返却し終了する。なお、ユーザから見た場合、rateは構築時の転送量負荷、resは構築後のサーバの余力を示す。 Next, in step S802, when starting a specific VM on the server, the extent of resource excess or deficiency is calculated as res. Finally, the rate and res of all servers are returned to the user and the process is terminated. From the viewpoint of the user, rate indicates the transfer amount load at the time of construction, and res indicates the remaining capacity of the server after construction.
 なお、VM以外の処理についても、VMに相当する部分を任意の処理に、VMイメージに相当する部分を任意の必須データに置き換えることにより、同様の効果を他の処理を行う環境においても利用できる。 For processes other than the VM, the same effect can be used in an environment where other processes are performed by replacing the portion corresponding to the VM with arbitrary processing and the portion corresponding to the VM image with arbitrary essential data. .
 実施の形態7.
 実施の形態7は、コンピュータである運用系サーバS1のハードウェア構成を説明する。図38は、コンピュータである運用系サーバS1の外観の一例を示す図である。図39は、運用系サーバS1のハードウェア資源の一例を示す図である。他の運用系サーバも運用系サーバS1と同様であるので、運用系サーバS1について説明する。
Embodiment 7 FIG.
In the seventh embodiment, the hardware configuration of the active server S1, which is a computer, will be described. FIG. 38 is a diagram illustrating an example of the appearance of the active server S1 that is a computer. FIG. 39 is a diagram illustrating an example of hardware resources of the active server S1. Since the other active servers are the same as the active server S1, the active server S1 will be described.
 外観を示す図38において、運用系サーバS1は、システムユニット830、CRT(Cathode・Ray・Tube)やLCD(液晶)の表示画面を有する表示装置813、キーボード814(Key・Board:K/B)、マウス815、FDD817(Flexible・Disk・ Drive)、コンパクトディスク装置818(CDD:Compact Disk Drive)、プリンタ装置819などのハードウェア資源を備え、これらはケーブルや信号線で接続されている。システムユニット830はネットワークを介して、他の運用系サーバSと接続している。 In FIG. 38 showing the appearance, the active server S1 includes a system unit 830, a display device 813 having a CRT (Cathode / Ray / Tube) or LCD (liquid crystal) display screen, and a keyboard 814 (Key / Board: K / B). And hardware resources such as a mouse 815, FDD 817 (Flexible Disk Drive), compact disk device 818 (CDD: Compact Disk Drive), and printer device 819, which are connected by cables and signal lines. The system unit 830 is connected to another operational server S via a network.
 またハードウェア資源を示す図39において、運用系サーバS1は、プログラムを実行するCPU810(Central Processing Unit)を備えている。CPU810は、バス825を介してROM(Read Only Memory)811、RAM(Random Access Memory)812、表示装置813、キーボード814、マウス815、通信ボード816、FDD817、CDD818、プリンタ装置819、磁気ディスク装置820と接続され、これらのハードウェアデバイスを制御する。磁気ディスク装置820の代わりに、光ディスク装置、フラッシュメモリなどの記憶装置でもよい。 In FIG. 39 showing hardware resources, the active server S1 includes a CPU 810 (Central Processing Unit) for executing a program. The CPU 810 includes a ROM (Read Only Memory) 811, a RAM (Random Access Memory) 812, a display device 813, a keyboard 814, a mouse 815, a communication board 816, an FDD 817, a CDD 818, a printer device 819, and a magnetic disk device 820 via a bus 825. And control these hardware devices. Instead of the magnetic disk device 820, a storage device such as an optical disk device or a flash memory may be used.
 RAM812は、揮発性メモリの一例である。ROM811、FDD817、CDD818、磁気ディスク装置820等の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置あるいは記憶部、格納部、バッファの一例である。通信ボード816、キーボード814、FDD817などは、入力部、入力装置の一例である。また、通信ボード816、表示装置813、プリンタ装置819などは、出力部、出力装置の一例である。 The RAM 812 is an example of a volatile memory. Storage media such as the ROM 811, the FDD 817, the CDD 818, and the magnetic disk device 820 are examples of nonvolatile memories. These are examples of a storage device or a storage unit, a storage unit, and a buffer. The communication board 816, the keyboard 814, the FDD 817, and the like are examples of an input unit and an input device. The communication board 816, the display device 813, the printer device 819, and the like are examples of an output unit and an output device.
 通信ボード816は、ネットワーク(LAN等)に接続されている。通信ボード816は、LANに限らず、インターネット、ISDN等のWAN(ワイドエリアネットワーク)などに接続されていても構わない。 The communication board 816 is connected to a network (such as a LAN). The communication board 816 may be connected not only to the LAN but also to a WAN (wide area network) such as the Internet or ISDN.
 磁気ディスク装置820には、オペレーティングシステム821(OS)、ウィンドウシステム822、プログラム群823、ファイル群824が記憶されている。プログラム群823のプログラムは、CPU810、オペレーティングシステム821、ウィンドウシステム822により実行される。 The magnetic disk device 820 stores an operating system 821 (OS), a window system 822, a program group 823, and a file group 824. The programs in the program group 823 are executed by the CPU 810, the operating system 821, and the window system 822.
 上記プログラム群823には、以上の実施の形態1~6の説明において「~部」、あるいは「~器」として説明した機能を実行するプログラムが記憶されている。プログラムは、CPU810により読み出され実行される。 The program group 823 stores programs that execute the functions described as “˜unit” or “˜device” in the description of the first to sixth embodiments. The program is read and executed by the CPU 810.
 ファイル群824には、以上の実施の形態の説明において、「~の判定結果」、「~の算出結果」、「~の抽出結果」、「~の生成結果」、「~の処理結果」として説明した情報や、データや信号値や変数値やパラメータなどが、「~ファイル」や「~データベース」の各項目として記憶されている。「~ファイル」や「~データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU810によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示などのCPUの動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示のCPUの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。 The file group 824 includes, as described in the above embodiment, “determination result”, “calculation result”, “extraction result”, “generation result”, and “processing result”. The described information, data, signal values, variable values, parameters, and the like are stored as items of “˜file” and “˜database”. The “˜file” and “˜database” are stored in a recording medium such as a disk or a memory. Information, data, signal values, variable values, and parameters stored in a storage medium such as a disk or memory are read out to the main memory or cache memory by the CPU 810 via a read / write circuit, and extracted, searched, referenced, compared, and calculated. Used for CPU operations such as calculation, processing, output, printing, and display. Information, data, signal values, variable values, and parameters are temporarily stored in the main memory, cache memory, and buffer memory during the CPU operations of extraction, search, reference, comparison, operation, calculation, processing, output, printing, and display. Is remembered.
 また、以上に述べた実施の形態の説明において、データや信号値は、RAM812のメモリ、FDD817のフレキシブルディスク、CDD818のコンパクトディスク、磁気ディスク装置820の磁気ディスク、その他光ディスク、ミニディスク、DVD(Digital・Versatile・Disk)等の記録媒体に記録される。また、データや信号は、バス825や信号線やケーブルその他の伝送媒体によりオンライン伝送される。 In the description of the embodiment described above, data and signal values are stored in the memory of the RAM 812, the flexible disk of the FDD 817, the compact disk of the CDD 818, the magnetic disk of the magnetic disk device 820, other optical disks, mini disks, DVDs (Digital). -It records on recording media, such as Versatile and Disk. Data and signals are transmitted on-line via the bus 825, signal lines, cables, and other transmission media.
 また、以上の実施の形態の説明において、「~部」、「~器」として説明したものは、「~手段」、「~回路」、「~機器」であってもよく、また、「~ステップ」、「~手順」、「~処理」であってもよい。すなわち、「~部」、「~器」として説明したものは、ROM811に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVD等の記録媒体に記憶される。プログラムはCPU810により読み出され、CPU810により実行される。すなわち、プログラムは、以上に述べた「~部」、「~器」としてコンピュータを機能させるものである。あるいは、以上に述べた「~部」、「~器」の手順や方法をコンピュータに実行させるものである。 In the above description of the embodiment, what has been described as “to part” and “to instrument” may be “to means”, “to circuit”, and “to device”. It may be “step”, “˜procedure”, “˜processing”. That is, what has been described as “˜unit” and “˜device” may be realized by firmware stored in the ROM 811. Alternatively, it may be implemented only by software, only hardware such as elements, devices, substrates, wirings, etc., or a combination of software and hardware, and further a combination of firmware. Firmware and software are stored as programs in a recording medium such as a magnetic disk, a flexible disk, an optical disk, a compact disk, a mini disk, and a DVD. The program is read by the CPU 810 and executed by the CPU 810. In other words, the program causes the computer to function as the “˜unit” and “˜device” described above. Alternatively, it causes a computer to execute the procedures and methods of “to part” and “to instrument” described above.
 以上の実施の形態では、予備イメージ管理システム、運用系サーバを説明したが、運用系サーバの動作をコンピュータに実行させる必須データ管理プログラムとして把握することも可能である。あるいは、必須データ管理プログラムを記録したコンピュータ読み取り可能な記録媒体として把握することも可能である。さらに、運用系サーバSの動作を通信方法として把握することも可能である。 In the above embodiment, the spare image management system and the active server have been described. However, it is also possible to grasp the operation of the active server as an essential data management program that causes the computer to execute. Alternatively, it can be grasped as a computer-readable recording medium in which the essential data management program is recorded. Furthermore, it is possible to grasp the operation of the active server S as a communication method.
 以上の実施の形態では運用系サーバSにおけるVMの場合を説明したが、これは一例であり、予備データを保存するすべての処理を対象とする。 In the above embodiment, the case of the VM in the active server S has been described. However, this is an example, and all processes for storing spare data are targeted.
 以上の実施の形態では、以下のA~Eの大項目に関して、(1)~(14)の事項を説明した。 In the above embodiment, the items (1) to (14) have been described for the following major items A to E.
<A.システム全体>
 以下の(1)~(3)は、実施の形態1、2、3に関連する。
(1)何らかの障害により計算機(以下サーバ)が停止し処理の継続が困難になった際に、他の運用系サーバにてそれらの処理の継続を図る様な環境において、処理の引継ぎにおいて必要となるデータであって、処理が利用するデータ(以下必須データ)の引継ぎに関する技術を説明した。この技術は、SANなどの共有記憶装置ではなく、各サーバ個別の記憶装置(以下ディスク)を用いた場合にでも必須データの引継ぎを行う予備データ管理器に関する。予備データ管理器は、必須データを配置すべきサーバを適切に判断し、引継ぎ時の必須データの転送を少なくし、引継ぎが短時間で行えるように図る。予備データ管理器は、通常のバックアップ装置とは異なり、運用系サーバにて動作し、処理の引継ぎ専用のサーバを不要にし、また、必須データの引渡しにおいても、データ引継ぎ専用のサーバを不要にする。予備データ管理器は、システムを構成する運用系サーバにおいて動作し、予備データ管理器が相互にデータのやり取りを行う。必須データは、利用者からの指示に従い、予備データ管理器によって他のサーバに複製が配置される。この時、予備データ管理器は、その必須データを必要とする処理自体も実際に引継ぎ可能なサーバ(引継ぎが生じた際に、処理を行うだけの余力が存在するサーバ)を複製の配置先として優先的に扱い、処理が行われるサーバに予め必須データを集約しておく。これにより、障害時の処理の引継ぎ時における必須データの収集に伴う転送量を削減し、引継ぎに要する時間を短縮する。なお、配置された複製のデータを以降、予備データとする。
(2)上記(1)において、元となる必須データの更新に伴い、予備データ管理器の管理下にある保存データも更新を行うことで、必須データの更新に対応する。
(3)上記(1)において、必須データ間で差分をとり、保存にはその差分により生じたデータを用いることで複製の保存に使用するディスク使用量を削減する。差分により生じたデータは、差分の元となるオリジナルと、それからの差分であるパッチからなる。この時、必須データの登録時に差分を取り、差分により生じたデータを予備データとして配置する。また、必須データが必要となった場合、処理の起動に先立ち、処理が起動する先のサーバにて必須データを復元する。特に明言しない限り、以降、予備データには、必須データそのものだけではなく、オリジナルとパッチを含める。
<A. Entire system>
The following (1) to (3) relate to the first, second and third embodiments.
(1) Necessary to take over processing in an environment where the processing (continuous processing) becomes difficult due to some failure, and when it becomes difficult to continue processing on other active servers The technology related to the transfer of data used by the process (hereinafter referred to as essential data) has been described. This technology relates to a spare data manager that takes over essential data even when a storage device (hereinafter referred to as a disk) is used for each server, instead of a shared storage device such as a SAN. The spare data manager appropriately determines the server on which the essential data is to be arranged, reduces the transfer of the essential data at the time of takeover, and makes it possible to take over in a short time. Unlike normal backup devices, the spare data manager operates on the active server, eliminating the need for a server dedicated to takeover of processing, and eliminating the need for a server dedicated to data takeover when passing essential data. . The spare data manager operates in an operational server constituting the system, and the spare data manager exchanges data with each other. Indispensable data is copied to another server by the spare data manager in accordance with an instruction from the user. At this time, the spare data manager uses a server that can actually take over the processing that requires the essential data (a server that has sufficient capacity to perform processing when takeover occurs) as a copy destination. The essential data is pre-aggregated in a server that is preferentially handled and processed. As a result, the transfer amount associated with the collection of essential data at the time of taking over the processing at the time of failure is reduced, and the time required for taking over is reduced. Hereafter, the arranged replica data is referred to as spare data.
(2) In the above (1), the update of the essential data corresponds to the update of the essential data by updating the stored data under the management of the preliminary data manager in accordance with the update of the original essential data.
(3) In (1) above, a difference is taken between essential data, and data generated by the difference is used for saving, thereby reducing the amount of disk used for saving the copy. The data generated by the difference consists of an original that is the source of the difference and a patch that is the difference from the original. At this time, a difference is taken when the essential data is registered, and data generated by the difference is arranged as spare data. Further, when the essential data is required, the essential data is restored on the server where the process is started before the process is started. Unless otherwise stated, the preliminary data includes not only the essential data itself but also the original and the patch.
<B.配置先判断器における判断>
 以下の(4)は実施の形態2,3に関連し、(5)は実施の形態3に関連する。
(4)予備データ管理器は、配置先の判断のために配置先判断器を有する。配置先判断器は、配置すべき予備データの情報、必須データに関する処理の情報、サーバの情報を基に、その予備データを配置すべきサーバを判定し、その指標を他に出力する。情報は、データサイズだけではなく、処理に必要となるCPU性能、メモリ量、必要デバイス、I/Oスループット性能といったサーバリソース(以下リソース)も含める。予備データ管理器はこの出力結果を基に、予備データの管理を行う。配置先判断器における配置先の決定は、必須条件と追加条件からなる。必須条件は必ずその決定を満たす必要があり、追加条件は必須条件後のさらなる絞込みとなる。追加条件は省略できる。また、追加条件を利用する場合は、少なくとも1つ、また、複数を組み合わせて行う。なお、選択とあるが、配置する/配置しないと2択に決定するのではなく、0~1といった重みをサーバに付けるものとする。
<必要条件>(3,4はどちらかを満たせばよい)
 1.配置対象である予備イメージに関する処理が現在動作してないサーバを配置先として選択する。例えば、予備イメージがパッチであり、そのパッチを必要とする必須データが複数ある場合、その必須データを利用する複数の処理全てが動作していないサーバが候補となる。該当するサーバが存在しない場合、予備データを複製し2つのサーバに分配する。個々の保存先については、他の判定基準に則って判断を行う。
 2.仮に予備データを配置した後を対象に、そのサーバに配置されている予備データに関する処理全ての起動が可能なほどのリソースを確保できるサーバを選択する。
 3.仮に予備データを配置した後を対象に、あるサーバ上で動作している処理群の内、配置先サーバで保存されている予備データに関する処理を対象とし、その処理全ての起動が可能なほどのリソースを有するサーバを選択する。これにより、あるサーバが停止した際の処理の継続が可能な程のリソースを全サーバにおいて確保する。
 4.仮に予備データを配置した後を対象に、あるサーバが停止した際に、そのサーバ内で動作していた処理のうち、少なくとも一つを起動可能なほどリソースをデータ配置先のサーバが有しており、また、残りの処理を他のサーバで起動可能なサーバを選択する。
<追加条件>
 1.配置対象である予備データに関係する処理に対し、同様に関係するデータが多くするサーバを選択する。データが多く存在するかの判断においては、配置する予備データからなる必須データ群を対象に、その必須データの構築に必要な全データの総サイズに対し、配置対象のサーバにはそれら必要な全データのうちどの程度のデータ量が含まれているのかを指標とする。
 2.ある処理aと同じサーバで動作するのを指示された処理を、処理aと関係の強い処理と定義する。配置する予備データに関する処理と関係の強い処理が、既にそのサーバに配置されているデータに関する処理に含まれる場合、その処理の数が多いサーバを選択する。
 3.ある処理aと別のサーバで動作するのを指示された処理を、処理aと関係の弱い処理とする。配置する予備データに関する処理と関係の弱い処理が、既にそのサーバに配置されているデータに関する処理に含まれる場合、その処理の数が少ないサーバを選択する。
 4.リソースが最も空いているサーバを選択する。
 5.利用者により、処理をどのサーバで起動させるか(サーバ毎の処理の起動率など)が入力されている場合、その値を基にサーバを選択する。
(5)上記4において、配置先判断器は、データを分割する機能を備える。分割が行われるタイミングは、決定先を定める場合であり、次の二つが存在する。
 1.上記(4)の必須条件を満たすサーバが存在しない時、予備データを分割することで条件を満たすサーバが生ずる場合はデータを分割して保存する。分割したデータは均等に別のサーバに保存される。なお、保存先のサーバの判断は、決定法2、3におけるサーバの判断に次のような変更を加える。サーバ一台で予備データに関する処理を起動できるか否かを判断するのではなく、分割して保存した先のサーバ全てを合せた場合に、それら処理を起動できるか否かを判断基準とする。
 2.上記(4)において、他のサーバで起動させる処理が、自身に配置したデータに同じく関係している場合、データを分割して、他のサーバに分ける。分割したデータはチャンクとして扱われる。
<B. Judgment at the placement destination judging device
The following (4) relates to the second and third embodiments, and (5) relates to the third embodiment.
(4) The preliminary data manager has a placement destination judgment device for judgment of the placement destination. The placement destination determination unit determines the server on which the spare data is to be placed based on the information on the spare data to be placed, the information on the processing related to the essential data, and the information on the server, and outputs the index to others. The information includes not only the data size but also server resources (hereinafter referred to as resources) such as CPU performance required for processing, memory capacity, required devices, and I / O throughput performance. The spare data manager manages spare data based on the output result. The determination of the placement destination in the placement destination judging device consists of an indispensable condition and an additional condition. The essential conditions must satisfy the decision, and the additional conditions are further refined after the essential conditions. Additional conditions can be omitted. Moreover, when using an additional condition, it carries out combining at least 1 and multiple. It should be noted that although there is selection, it is not determined that the choice is arranged / not arranged, but it is assumed that a weight of 0 to 1 is given to the server.
<Requirement> (3 or 4 should satisfy either)
1. A server on which processing related to a spare image that is a placement target is not currently operating is selected as a placement destination. For example, when the spare image is a patch and there are a plurality of essential data that require the patch, a server that does not operate all of the plurality of processes that use the essential data is a candidate. If the corresponding server does not exist, the spare data is duplicated and distributed to the two servers. Each storage location is determined according to other criteria.
2. If the spare data is allocated, a server that can secure a resource sufficient to start all the processes related to the spare data allocated to the server is selected.
3. Temporarily, after the spare data is placed, the processing related to the spare data stored in the placement destination server in the processing group running on a certain server is targeted, and all the processing can be started. Select the server that has the resource. As a result, resources that can continue processing when a certain server stops are secured in all servers.
4). For example, if a server is stopped for the purpose of placing spare data, the data placement destination server has enough resources to start at least one of the processes running in that server. In addition, a server that can start the remaining processing on another server is selected.
<Additional conditions>
1. Similarly, for a process related to spare data to be arranged, a server having more related data is selected. In determining whether there is a lot of data, the target data group consisting of the preliminary data to be arranged is targeted, and the arrangement target server has all the necessary data for the total size of all the data required to construct the required data. The amount of data included in the data is used as an index.
2. A process instructed to operate on the same server as a process a is defined as a process closely related to the process a. When processing related to the processing related to the spare data to be arranged is included in the processing related to data already arranged in the server, a server having a large number of the processing is selected.
3. A process instructed to operate on a server different from a process a is a process having a weak relationship with the process a. When processing related to the processing related to the spare data to be arranged is included in the processing related to data already arranged in the server, a server having a small number of processing is selected.
4). Select the server with the least resources.
5. When the user inputs which server the process is to be activated (such as the activation rate of the process for each server), the server is selected based on that value.
(5) In 4 above, the placement destination determiner has a function of dividing data. The timing at which the division is performed is when the determination destination is determined, and there are the following two.
1. When there is no server that satisfies the essential condition (4), if the server that satisfies the condition is generated by dividing the spare data, the data is divided and stored. The divided data is equally stored in another server. The determination of the storage destination server is made by making the following changes to the server determination in the determination methods 2 and 3. Rather than determining whether or not the processing related to the spare data can be started by one server, whether or not the processing can be started when all the servers that are divided and stored are combined is used as a criterion.
2. In the above (4), when the process activated on the other server is also related to the data arranged in itself, the data is divided into other servers. Divided data is treated as a chunk.
<C.配置したデータの移動(非計画的移動と計画的移動)>
 下記(6)は実施の形態4に関連し、下記(7)~(9)は実施の形態5に関連する。(6)あるサーバで処理を行う際に、その処理に関する必須データを構築するのに必要なディスクの空き容量がそのサーバに存在しない場合、予備データ管理器は、そのサーバ内の予備データを必要なだけ他のサーバに転送し、移動することで空き容量を確保する。この時、移動すべき予備データの選択には、サーバを対象に上記(4)と同様の手法で、サーバに保存されている各データに対し、配置先となるサーバを求め、そのサーバが現在保存されているサーバと異なるデータを選択する。また、その時決定された保存すべきサーバへ移動する。
(7)予備データ管理器は、あるサーバで処理が行われた際に、そのサーバ内に配置してある予備データのうち次のデータを、必須データ復元後、もしくは、サーバの処理に余裕がある時に、他のサーバに移転する。これにより、さらなる障害に対応する。移転するデータは、動作した処理に関するデータとなる。また、あるサーバで処理が行われた際に、それにより、そのサーバ内のデータにおいて上記(4)において決定した配置方法を満たさないデータが生じる場合、その条件を満たさないデータを他サーバに移動する。移動先サーバに関しては上記(4)と同様に定める。
(8)予備データ管理器は、深夜などのサーバに処理の余裕がある時に、そのサーバに保存されているデータを他のサーバに移動する。
 データの移動先には次の2つのいずれかを用いる。
 1.データの移動には、上記(4)と同様の手段で保存に適したサーバを調べ、自そのデータが現在保存されているサーバ以外が該当した場合に、その該当したサーバに移動を行う。
 2.あるサーバが障害により停止した場合に他のサーバにて処理が起動することをシミュレーションする。そのシミュレーションにおいては、データがどのように分散していた場合が最も迅速に全処理を起動させることが可能かを判断する。この判断結果を基にデータを移動し、最適な配置に変更する。なお、データを一括して移動するのではなく、移動処理を行う余裕があるかを適時判断し、余裕がなくなった場合は、移動処理を一時停止し、次回のタイミングにて再開することで、移動処理の負荷を軽減する。また、以前一時停止した後に、新しく予備データが登録、もしくは移動さされた際は、再度シミュレーションを行う。データの移動先決定2においても、データの移動は、上記(4)の必須決定を満たす範囲でのデータ移動を行う。
(9)予備データ管理器は、データの移動においてそのデータがチャンクである場合、そのチャンクと同位のデータが存在しないサーバにデータを移動する。また、チャンクを合成し一つのデータとしてまとめた場合でも上記(4)の必須条件を満たすサーバが存在する場合、そのサーバにチャンクを合成して保存する。
<C. Movement of arranged data (unplanned movement and planned movement)>
The following (6) relates to the fourth embodiment, and the following (7) to (9) relate to the fifth embodiment. (6) When processing is performed on a certain server, the spare data manager needs the spare data in the server if the server does not have enough free disk space to construct the essential data related to the processing. Transfer as much as possible to another server and move to secure free space. At this time, in selecting the spare data to be moved, a server to be arranged is obtained for each data stored in the server by the same method as in the above (4), and the server is currently selected. Select data different from the saved server. Further, the server moves to the server to be stored determined at that time.
(7) When a process is performed on a certain server, the spare data management unit restores the next data among the spare data arranged in the server after the essential data is restored or the server process has a margin. At some point, move to another server. This addresses further obstacles. The data to be transferred is data related to the processing that has been performed. Also, when processing is performed on a certain server, if data that does not satisfy the arrangement method determined in (4) above occurs in the data in that server, the data that does not satisfy that condition is moved to another server To do. The destination server is determined in the same manner as (4) above.
(8) The spare data manager moves the data stored in the server to another server when there is room in the server at midnight or the like.
One of the following two is used as a data destination.
1. For data movement, a server suitable for storage is checked by means similar to (4) above, and if a server other than the server where the data is currently stored corresponds, the server moves to the corresponding server.
2. Simulates that when a server stops due to a failure, processing starts on another server. In the simulation, it is determined how quickly the entire process can be activated when the data is distributed. Data is moved based on this determination result, and the optimal arrangement is changed. In addition, instead of moving the data all at once, it is timely determined whether there is room to perform the movement process, and if there is no room, temporarily stop the movement process and restart at the next timing, Reduce the processing load. In addition, when preliminary data is newly registered or moved after the previous pause, the simulation is performed again. Also in data movement destination determination 2, data movement is performed within a range that satisfies the essential determination of (4) above.
(9) When the data is a chunk in the movement of data, the backup data manager moves the data to a server that does not have data that is the same as the chunk. Even when the chunks are combined and combined as one data, if there is a server that satisfies the above requirement (4), the chunks are combined and stored in that server.
<D.レプリカによる二次障害対策>
 下記(10)~(12)は実施の形態2、3に関連する。
(10)予備データ管理器は、予備データの保存においてはレプリカを別途、別のサーバに保存する。レプリカの基となるデータをマスタとする。レプリカの保存においては、上記(4)と同様の方法で保存先のサーバを定める。なお、保存先はマスタや、マスタを同じくする他のレプリカと別のサーバに保存する。
(11)予備データ管理器は、レプリカが存在する場合において、あるサーバで必須データを復元する際に、そのサーバに復元に必要な空き容量が無い場合、そのサーバ内のデータを必要なだけ削除する。なお、削除するデータがマスタの場合、そのマスタによるレプリカを新しいマスタとする。削除すべきデータは、上記(6)と同様に、各データの配置先となるサーバを求め、そのサーバが現在保存されているサーバと異なるデータを対象とする。
(12)予備データ管理器は、上記(11)による削除直後に、もしくは、削除後処理に余裕がある時に、マスタ、もしくはレプリカから、別のサーバにレプリカを復旧する。レプリカの復元先のサーバは、上記(4)と同様に求める。
<D. Countermeasures for secondary failures using replicas>
The following (10) to (12) relate to the second and third embodiments.
(10) The spare data manager saves the replica separately in a separate server when saving the spare data. The data that is the basis of the replica is the master. In storing a replica, a storage destination server is determined by the same method as in (4) above. The storage destination is stored in a server different from the master and other replicas that share the same master.
(11) When there is a replica and the required data is restored on a certain server, if the spare data manager does not have enough free space for the restoration, the spare data manager deletes as much data on the server as necessary. To do. When the data to be deleted is a master, a replica by the master is set as a new master. As in the above (6), the data to be deleted is obtained as a server where each data is arranged, and the server is targeted for data different from the server currently stored.
(12) The backup data manager restores the replica from the master or replica to another server immediately after deletion according to (11) above or when there is room in post-deletion processing. The server to which the replica is restored is obtained in the same manner as (4) above.
<E.処理の継続のし易さを提示>
 下記(13)、(14)は実施の形態6に関連する。
(13)予備データ管理器は、各サーバに保存しているデータ量と各サーバのリソース量を基に、ある処理に関して、各サーバでの継続のし易さを指標として提示する。
(14)予備データ管理器は、各サーバに保存しているデータ量と各サーバのリソース量を基に、あるサーバに関して、各処理の継続のし易さを指標として提示する。
<E. Presenting ease of continuation of processing>
The following (13) and (14) relate to the sixth embodiment.
(13) The preliminary data manager presents the easiness of continuation in each server as an index for a certain process based on the data amount stored in each server and the resource amount of each server.
(14) The preliminary data manager presents the ease of continuation of each process as an index for a certain server based on the data amount stored in each server and the resource amount of each server.
 S-1,S-2,S-N 運用系サーバ、10A,10B,10C データ表、20A サーバ表、30A,30B,30C データ配置表、40A,40B VM表、100 予備イメージ管理器、110 データ差分器、120 データ配置先判断器、121 動作VM判定器、122 障害保証判定器、123 データ関係判定器、124 リソース基準判定器、125 単純判定器、130 データ配布器、140 データ複合器、200 記憶装置、300 処理実行部、400 ネットワーク、1000 予備イメージ管理システム。 S-1, S-2, SN active server, 10A, 10B, 10C data table, 20A server table, 30A, 30B, 30C data allocation table, 40A, 40B VM table, 100 spare image manager, 110 data Differentiator, 120 Data placement destination determiner, 121 Operation VM determiner, 122 Fault guarantee determiner, 123 Data relation determiner, 124 Resource criterion determiner, 125 Simple determiner, 130 Data distributor, 140 Data compounder, 200 Storage device, 300 processing execution unit, 400 network, 1000 spare image management system.

Claims (11)

  1.  所定の処理を実行する処理実行部と、情報を記憶する記憶部と、必須データ管理部とを備えた複数の計算機がネットワークで接続され、
     いずれかの前記計算機は、
     いずれかの前記計算機の前記処理実行部による前記処理の実行に利用される実行利用データの一部を構成する部分的なデータである必須データの保存を指示する保存指示であって、前記必須データを特定する必須データ特定情報と、前記必須データを保有する前記計算機である保有計算機を特定する保有計算機特定情報とを含む保存指示を保存指示入力計算機として入力し、
     前記保存指示入力計算機の前記必須データ管理部は、
     前記保存指示が入力されると、他の前記計算機の前記必須データ管理部と前記ネットワークを介して通信することにより他の前記計算機の前記必須データ管理部との間で前記保存指示に対してマスターとなる前記計算機を決定し、マスターとして決定された前記計算機の必須データ管理部である保存マスター管理部に前記保存指示を前記ネットワークを介して送信し、
     前記保存マスター管理部は、
     前記保存指示の前記必須データ特定情報で特定される前記必須データの保存先を所定の選択規則に基づいて前記複数の計算機の中から選択し、選択された選択計算機と、前記選択計算機を保存先とする前記必須データとの対応関係を示すデータ配置情報を前記保存指示の前記保有計算機特定情報で特定される前記保有計算機に送信し、
     前記保有計算機の必須データ管理部は、
     前記保存マスター管理部から前記データ配置情報を受信すると、前記データ配置情報の示す前記選択計算機に前記ネットワークを介して前記必須データを送信し、
     前記選択計算機は、
     前記保有計算機から送信された前記必須データを前記選択計算機の前記記憶部に記憶することを特徴とする必須データ管理システム。
    A plurality of computers including a process execution unit that executes a predetermined process, a storage unit that stores information, and an essential data management unit are connected via a network,
    Any of the calculators
    A storage instruction for instructing storage of essential data that is partial data constituting part of execution use data used for execution of the process by the process execution unit of any of the computers, the essential data Input a storage instruction including the required data specifying information for specifying the stored computer specifying information for specifying the held computer that is the computer that holds the required data as a save instruction input computer,
    The essential data management unit of the storage instruction input computer is:
    When the save instruction is input, a master for the save instruction is communicated with the essential data management unit of another computer by communicating with the essential data management unit of the other computer via the network. Determine the computer to be, and transmit the storage instruction via the network to the storage master management unit which is an essential data management unit of the computer determined as the master,
    The storage master management unit
    A storage destination of the essential data specified by the essential data specifying information of the storage instruction is selected from the plurality of computers based on a predetermined selection rule, and the selected selection computer and the selection computer are stored Transmitting data allocation information indicating the correspondence with the essential data to the possessed computer specified by the retained computer specifying information of the storage instruction,
    The essential data management unit of the possessed computer is:
    When the data arrangement information is received from the storage master management unit, the essential data is transmitted to the selection computer indicated by the data arrangement information via the network,
    The selection calculator is
    The essential data management system, wherein the essential data transmitted from the possessed computer is stored in the storage unit of the selected computer.
  2.  いずれかの前記計算機は、
     いずれかの前記計算機の前記処理実行部による前記処理の実行に利用される前記実行利用データの構築を指示する構築指示であって、前記実行利用データを特定する実行利用データ特定情報と、前記複数の計算機の中から前記実行利用データの構築先として指定された構築計算機を特定する構築計算機特定情報とを含む構築指示を構築指示入力計算機として入力し、
     前記構築指示入力計算機の前記必須データ管理部は、
     入力された前記構築指示に含まれる前記構築計算機特定情報で特定される前記構築計算機に、前記構築指示に含まれる前記実行利用データ特定情報で特定される前記実行利用データを構築するべきことを指令する構築指令情報を前記ネットワークを介して送信し、
     前記構築計算機の前記必須データ管理部は、
     前記構築指令情報を受信すると、前記選択計算機である他の前記計算機と前記ネットワークを介して通信することにより前記構築指令情報によって指令される前記実行利用データの構築に必要な前記必須データを取得し、取得された前記必須データを使用して前記実行利用データを構築することを特徴とする請求項1記載の必須データ管理システム。
    Any of the calculators
    A construction instruction for instructing construction of the execution usage data used for execution of the processing by the processing execution section of any one of the computers, execution usage data specifying information for specifying the execution usage data, and the plurality A construction instruction including construction computer specifying information for identifying a construction computer designated as a construction destination of the execution use data from among the computers is input as a construction instruction input computer,
    The essential data management unit of the construction instruction input computer is:
    Command that the construction computer specified by the construction computer specification information included in the input construction instruction should construct the execution usage data specified by the execution usage data specification information included in the construction instruction Sending construction command information to the network,
    The essential data management unit of the construction computer is
    When the construction command information is received, the essential data necessary for construction of the execution use data commanded by the construction command information is acquired by communicating with the other computer as the selection computer via the network. 2. The essential data management system according to claim 1, wherein the execution use data is constructed using the acquired essential data.
  3.  前記保存マスター管理部は、
     前記保存指示の前記必須データ特定情報で特定される前記必須データの保存先を前記複数の計算機の中から選択する場合に、前記複数の計算機の各計算機から動作中の前記処理を示す処理動作情報を収集し、保存しようとする前記必須データに係る前記処理の動作をしていない前記計算機を特定し、特定した計算機の中から前記選択計算機を選択することを特徴とする請求項1または2のいずれかに記載の必須データ管理システム。
    The storage master management unit
    Processing operation information indicating the processing in operation from each computer of the plurality of computers when the storage destination of the essential data specified by the essential data specifying information of the storage instruction is selected from the plurality of computers. The computer according to claim 1 or 2, wherein the computer that does not perform the processing operation related to the essential data to be collected and stored is selected, and the selected computer is selected from the specified computers. The mandatory data management system described in any one.
  4.  前記保存マスター管理部は、
     保存しようとする前記必須データに係る前記処理の動作していない前記計算機を特定できない場合には、前記複数の計算機の中から少なくも2台の計算機を前記選択計算機として選択し、選択されたすべての選択計算機と、前記選択計算機を保存先とする前記必須データとの前記データ配置情報を前記保存指示の前記保有計算機特定情報で特定される前記保有計算機に送信することを特徴とする請求項3記載の必須データ管理システム。
    The storage master management unit
    If it is not possible to identify the computer that does not operate the processing related to the essential data to be stored, select at least two computers as the selected computer from the plurality of computers, and select all the selected computers. 4. The data allocation information of the selected computer and the essential data having the selected computer as a storage destination is transmitted to the possessed computer specified by the retained computer specifying information of the storage instruction. The required data management system described.
  5.  前記保存マスター管理部は、
     前記保存指示の前記必須データ特定情報で特定される前記必須データの保存先を前記複数の計算機の中から選択する場合に、互いに選択基準の異なる第1選択アルゴリズムから第n選択アルゴリズム(nは2以上の整数)の順に、いずれかの前記選択アルゴリズムによって選択計算機が選択されるまで前記選択アルゴリズムを切り替えながら前記選択計算機の選択処理を実行することを特徴とする請求項1または2のいずれかに記載の必須データ管理システム。
    The storage master management unit
    When selecting the storage destination of the essential data specified by the essential data specifying information of the storage instruction from the plurality of computers, the first selection algorithm to the nth selection algorithm (n is 2) with different selection criteria. The selection process of the selection computer is executed while switching the selection algorithm until a selection computer is selected by any of the selection algorithms in the order of the integers above. The required data management system described.
  6.  前記保有計算機の必須データ管理部は、
     前記保存マスター管理部から前記データ配置情報を受信すると、前記データ配置情報の示す前記選択計算機に前記ネットワークを介して前記必須データとして前記実行利用データの差分データを送信することを特徴とする請求項1記載の必須データ管理システム。
    The essential data management unit of the possessed computer is:
    The difference data of the execution use data is transmitted as the essential data via the network to the selection computer indicated by the data arrangement information when the data arrangement information is received from the storage master management unit. 1. The essential data management system according to 1.
  7.  前記構築計算機の前記必須データ管理部は、
     前記構築指令情報を受信すると、前記選択計算機である他の前記計算機と前記ネットワークを介して通信することにより前記構築指令情報によって指令される前記実行利用データの構築に必要な前記必須データとして、前記実行利用データの差分データを取得することを特徴とする請求項2記載の必須データ管理システム。
    The essential data management unit of the construction computer is
    When receiving the construction command information, as the essential data necessary for construction of the execution utilization data commanded by the construction command information by communicating with the other computer that is the selected computer via the network, 3. The essential data management system according to claim 2, wherein difference data of execution use data is acquired.
  8.  他の複数の計算機と共にネットワークに接続され、所定の処理を実行する他の複数の計算機と前記ネットワークを介して通信する計算機において、
     前記他の複数の計算機のうちのいずれかの前記計算機の処理の実行に利用される実行利用データの一部を構成する部分的データである必須データの保存を指示する保存指示であって、前記必須データを特定する必須データ特定情報と、前記必須データを保有する前記計算機である保有計算機を特定する保有計算機特定情報とを含む保存指示が入力された前記計算機から前記ネットワークを介して前記保存指示を受信し、受信された前記保存指示の前記必須データ特定情報で特定される前記必須データの保存先を所定の選択規則に基づいて自身と他の複数の計算機との中から選択し、選択された選択計算機と、前記選択計算機を保存先とする前記必須データとの対応関係を示すデータ配置情報を前記保存指示の前記保有計算機特定情報で特定される前記保有計算機に送信する必須データ管理部
    を備えたことを特徴とする計算機。
    In a computer that is connected to a network together with a plurality of other computers and communicates with the other plurality of computers that execute predetermined processing via the network,
    A storage instruction for instructing storage of essential data that is partial data constituting a part of execution use data used for execution of processing of any one of the other computers. The storage instruction via the network from the computer to which the storage instruction including the required data specifying information for specifying the required data and the storage computer specifying information for specifying the held computer that is the computer that holds the required data is input. And the storage destination of the required data specified by the required data specifying information of the received storage instruction is selected from among itself and a plurality of other computers based on a predetermined selection rule. Data allocation information indicating a correspondence relationship between the selected computer and the essential data with the selected computer as a storage destination is specified by the possessed computer specifying information of the storage instruction. Computer and comprising the required data management unit to be transmitted to the held computer that.
  9.  他の複数の計算機と共にネットワークに接続され、所定の処理を実行する他の複数の計算機と前記ネットワークを介して通信するコンピュータを、
     前記他の複数の計算機のうちのいずれかの前記計算機の処理の実行に利用される実行利用データの一部を構成する部分的データである必須データの保存を指示する保存指示であって、前記必須データを特定する必須データ特定情報と、前記必須データを保有する前記計算機である保有計算機を特定する保有計算機特定情報とを含む保存指示が入力された前記計算機から前記ネットワークを介して前記保存指示を受信し、受信された前記保存指示の前記必須データ特定情報で特定される前記必須データの保存先を所定の選択規則に基づいて自身と他の複数の計算機との中から選択し、選択された選択計算機と、前記選択計算機を保存先とする前記必須データとの対応関係を示すデータ配置情報を前記保存指示の前記保有計算機特定情報で特定される前記保有計算機に送信する必須データ管理部
    として機能させることを特徴とする必須データ管理プログラム。
    A computer connected to a network together with a plurality of other computers and communicating with the plurality of other computers executing predetermined processing via the network,
    A storage instruction for instructing storage of essential data that is partial data constituting a part of execution use data used for execution of processing of any one of the other computers. The storage instruction via the network from the computer to which the storage instruction including the required data specifying information for specifying the required data and the storage computer specifying information for specifying the held computer that is the computer that holds the required data is input. And the storage destination of the required data specified by the required data specifying information of the received storage instruction is selected from among itself and a plurality of other computers based on a predetermined selection rule. Data allocation information indicating a correspondence relationship between the selected computer and the essential data with the selected computer as a storage destination is specified by the possessed computer specifying information of the storage instruction. The holdings required data management program for causing to function as an essential data management unit to be transmitted to the computer that.
  10.  請求項8記載の必須データ管理プログラムを記録したコンピュータ読取可能な記録媒体。 A computer-readable recording medium on which the essential data management program according to claim 8 is recorded.
  11.  他の複数の計算機と共にネットワークに接続され、所定の処理を実行する他の複数の計算機と前記ネットワークを介して通信する計算機が行う通信方法において、
     必須データ管理部が、
     前記他の複数の計算機のうちのいずれかの前記計算機の処理の実行に利用される実行利用データの一部を構成する部分的データである必須データの保存を指示する保存指示であって、前記必須データを特定する必須データ特定情報と、前記必須データを保有する前記計算機である保有計算機を特定する保有計算機特定情報とを含む保存指示が入力された前記計算機から前記ネットワークを介して前記保存指示を受信し、受信された前記保存指示の前記必須データ特定情報で特定される前記必須データの保存先を所定の選択規則に基づいて自身と他の複数の計算機との中から選択し、選択された選択計算機と、前記選択計算機を保存先とする前記必須データとの対応関係を示すデータ配置情報を前記保存指示の前記保有計算機特定情報で特定される前記保有計算機に送信することを特徴とする通信方法。
    In a communication method performed by a computer that is connected to a network together with a plurality of other computers and communicates with the other plurality of computers that execute predetermined processing via the network,
    Mandatory data management department
    A storage instruction for instructing storage of essential data that is partial data constituting a part of execution use data used for execution of processing of any one of the other computers. The storage instruction via the network from the computer to which the storage instruction including the required data specifying information for specifying the required data and the storage computer specifying information for specifying the held computer that is the computer that holds the required data is input. And the storage destination of the required data specified by the required data specifying information of the received storage instruction is selected from among itself and a plurality of other computers based on a predetermined selection rule. Data allocation information indicating a correspondence relationship between the selected computer and the essential data with the selected computer as a storage destination is specified by the possessed computer specifying information of the storage instruction. Communication method and transmits the that the held computer.
PCT/JP2011/051712 2010-02-10 2011-01-28 Essential data management system, calculator, essential data management program, recording medium, and communication method WO2011099380A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011553799A JP5355725B2 (en) 2010-02-10 2011-01-28 Essential data management system, computer, essential data management program, recording medium, and communication method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2010-027879 2010-02-10
JP2010027879 2010-02-10

Publications (1)

Publication Number Publication Date
WO2011099380A1 true WO2011099380A1 (en) 2011-08-18

Family

ID=44367659

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2011/051712 WO2011099380A1 (en) 2010-02-10 2011-01-28 Essential data management system, calculator, essential data management program, recording medium, and communication method

Country Status (2)

Country Link
JP (1) JP5355725B2 (en)
WO (1) WO2011099380A1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014021754A (en) * 2012-07-19 2014-02-03 Ntt Data Corp Virtual machine management system, virtual machine management method, and program
JP2014041550A (en) * 2012-08-23 2014-03-06 Nippon Telegr & Teleph Corp <Ntt> Data migration processing system and data migration processing method
JP2015204025A (en) * 2014-04-15 2015-11-16 日本電気株式会社 Information processing system, arrangement device, arrangement method and program
JP2016122481A (en) * 2016-04-07 2016-07-07 株式会社エヌ・ティ・ティ・データ Virtual machine management system, virtual machine management method, and program

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005196683A (en) * 2004-01-09 2005-07-21 Hitachi Ltd Information processing system, information processor and control method of information processing system
JP2007042083A (en) * 2005-06-30 2007-02-15 Hitachi Ltd Database management system construction method, device, program and recording medium
JP2007041763A (en) * 2005-08-02 2007-02-15 Nec Corp Management system and its management method
JP2008269462A (en) * 2007-04-24 2008-11-06 Hitachi Ltd Management device and method for node
JP2009129409A (en) * 2007-11-28 2009-06-11 Hitachi Ltd Failure recovery method, computer, cluster system, management computer, and failure recovery program
JP2009199197A (en) * 2008-02-20 2009-09-03 Hitachi Ltd Computer system, data matching method and data matching program
JP2009265973A (en) * 2008-04-25 2009-11-12 Nec Corp Data synchronization system, failure recovery method, and program

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11317745A (en) * 1998-05-01 1999-11-16 Fujitsu Ltd Network system
JP2001067188A (en) * 1999-08-26 2001-03-16 Hitachi Ltd Data duplication system
JP4611922B2 (en) * 2006-03-28 2011-01-12 富士通株式会社 Control program, control method, and control apparatus

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005196683A (en) * 2004-01-09 2005-07-21 Hitachi Ltd Information processing system, information processor and control method of information processing system
JP2007042083A (en) * 2005-06-30 2007-02-15 Hitachi Ltd Database management system construction method, device, program and recording medium
JP2007041763A (en) * 2005-08-02 2007-02-15 Nec Corp Management system and its management method
JP2008269462A (en) * 2007-04-24 2008-11-06 Hitachi Ltd Management device and method for node
JP2009129409A (en) * 2007-11-28 2009-06-11 Hitachi Ltd Failure recovery method, computer, cluster system, management computer, and failure recovery program
JP2009199197A (en) * 2008-02-20 2009-09-03 Hitachi Ltd Computer system, data matching method and data matching program
JP2009265973A (en) * 2008-04-25 2009-11-12 Nec Corp Data synchronization system, failure recovery method, and program

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014021754A (en) * 2012-07-19 2014-02-03 Ntt Data Corp Virtual machine management system, virtual machine management method, and program
JP2014041550A (en) * 2012-08-23 2014-03-06 Nippon Telegr & Teleph Corp <Ntt> Data migration processing system and data migration processing method
JP2015204025A (en) * 2014-04-15 2015-11-16 日本電気株式会社 Information processing system, arrangement device, arrangement method and program
JP2016122481A (en) * 2016-04-07 2016-07-07 株式会社エヌ・ティ・ティ・データ Virtual machine management system, virtual machine management method, and program

Also Published As

Publication number Publication date
JPWO2011099380A1 (en) 2013-06-13
JP5355725B2 (en) 2013-11-27

Similar Documents

Publication Publication Date Title
US9904599B2 (en) Method, device, and system for data reconstruction
US9047331B2 (en) Scalable row-store with consensus-based replication
US8108634B1 (en) Replicating a thin logical unit
US8060714B1 (en) Initializing volumes in a replication system
US9009112B2 (en) Reorganization of data under continuous workload
US20070234342A1 (en) System and method for relocating running applications to topologically remotely located computing systems
CN102652423A (en) Cluster families for cluster selection and cooperative replication
CN108351860A (en) The distributed storage devices based on RDMA of low latency
US20100023564A1 (en) Synchronous replication for fault tolerance
JP4920248B2 (en) Server failure recovery method and database system
US7882061B1 (en) Multi-thread replication across a network
CN112507023A (en) Replicated database distribution for workload balancing after cluster reconfiguration
TW201314470A (en) Distributed storage system management device and method
US10445295B1 (en) Task-based framework for synchronization of event handling between nodes in an active/active data storage system
US11614879B2 (en) Technique for replicating oplog index among nodes of a cluster
JP5355725B2 (en) Essential data management system, computer, essential data management program, recording medium, and communication method
CN110825543B (en) Method for quickly recovering data on fault storage device
JP2015005037A (en) Information processing device, control program of information processing device, and control method of information processing device
JP5124237B2 (en) Storage system and storage subsystem
US20160036653A1 (en) Method and apparatus for avoiding performance decrease in high availability configuration
US20160274793A1 (en) Storage apparatus, storage control method, and computer-readable recording medium for recording storage control program
US11675523B2 (en) Remote copy of compressed journal data and corresponding metadata
Lin et al. ReHRS: A hybrid redundant system for improving MapReduce reliability and availability
US10884881B2 (en) Scale-out storage system and configuration information control method for implementing high-availability, high-speed failover
JP2008276281A (en) Data synchronization system, method, and program

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

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2011553799

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 11742126

Country of ref document: EP

Kind code of ref document: A1