WO2013073005A1 - Computer system and duplication control method - Google Patents

Computer system and duplication control method Download PDF

Info

Publication number
WO2013073005A1
WO2013073005A1 PCT/JP2011/076283 JP2011076283W WO2013073005A1 WO 2013073005 A1 WO2013073005 A1 WO 2013073005A1 JP 2011076283 W JP2011076283 W JP 2011076283W WO 2013073005 A1 WO2013073005 A1 WO 2013073005A1
Authority
WO
WIPO (PCT)
Prior art keywords
computer
job
file
identifier
data
Prior art date
Application number
PCT/JP2011/076283
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 JP2013544017A priority Critical patent/JP5731665B2/en
Priority to PCT/JP2011/076283 priority patent/WO2013073005A1/en
Publication of WO2013073005A1 publication Critical patent/WO2013073005A1/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/2053Error 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 persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2094Redundant storage or storage space

Definitions

  • the present invention relates to a distributed shared file system constructed using a plurality of computers.
  • the present invention relates to a computer for managing duplicate data and a method for managing duplicate data.
  • the entire target processing may be divided into multiple jobs, and each job may be executed in parallel by multiple computers to speed up the processing. .
  • assignment of computer resources to each job is determined by the batch job system.
  • a failure of a computer executing a job may occur among the computers configuring the file system.
  • the alternative computer it is necessary for the alternative computer to access the information stored in the computer in which the failure has occurred and execute the job that was being executed on the computer again.
  • the alternative computer must re-execute the job after discarding all changes to the file until the failure of the computer occurs. This is to prevent problems such as the result of the job executed by the computer being overwritten before the failure occurs.
  • a general method for transferring data to an alternative computer is to store the duplicated data in the alternative computer.
  • Japanese Patent Application Laid-Open No. 2004-151867 discloses a job management that can prevent a file being changed from being referred to without performing a work for returning the file to a re-executable state even when the file is changed when a job abnormality occurs.
  • a method for providing a system is described.
  • the job management system generates, in a storage unit, a storage unit that stores at least a real directory, and a virtual directory that duplicates the real directory at the start of job processing execution.
  • a method including control means for controlling to perform file access by job processing is disclosed.
  • the alternative computer In order for the alternative computer to take over the functions of the distributed shared file system when a failure occurs in the computer executing the job, the alternative computer only needs to hold the replicated data, but there is a problem that the consumption of the disk is doubled.
  • the present invention has been made in view of the above-mentioned problems, and can improve the fault tolerance of the distributed shared file system while reducing the disk consumption, and can restore the file state when the job is re-executed.
  • An object is to provide a computer system and method.
  • a typical example of the invention disclosed in the present application is as follows. That is, a computer system in which a plurality of computers that execute a job in which one process is divided into a plurality is connected via a network, each of the plurality of computers including a processor and a memory connected to the processor A storage medium connected to the processor, and a network interface for connecting to another device, wherein the plurality of computers includes a first computer that executes the job, and the first computer. A second computer that holds duplicate data of data stored in the storage medium, and the computer system generates duplicate data of data written to the storage medium of the first computer by the job; A replication control unit that writes the replicated data to the storage medium of the second computer under a specific condition is provided.
  • the present invention it is possible to secure the fault tolerance of the computer system while suppressing the consumption of the storage capacity of the storage medium, and automatically restore the job to a re-executable state when a failure occurs in the computer executing the job. can do.
  • FIG. 1 is a block diagram showing a configuration of a computer system according to the first embodiment of this invention.
  • the computer system includes a scheduler computer 101, a server computer 102A, and a server computer 102B.
  • the scheduler computer 101, the server computer 102A, and the server computer 102B are connected to each other via the network 104.
  • the network 104 is, for example, a LAN (Local Area Network).
  • the present invention is not limited to the connection type of the network 104.
  • the server computer 102A and the server computer 102B are not distinguished, they are described as the server computer 102.
  • the server computer 102A operates as a computer that executes an assigned job
  • the server computer 102B operates as a substitute computer when a failure occurs in the server computer 102A.
  • FIG. 1 there are two server computers 102, but there may be three or more.
  • a computer that can execute a job is referred to as an execution computer
  • a computer that can operate as a substitute for another server computer 102 when a failure occurs is referred to as an alternative computer.
  • one distributed shared file system is constructed on a storage area in which the storage areas provided by the server computer 102 are integrated. Data is stored for each predetermined range in the storage area provided by each server computer 102, and each server computer 102 manages data in the range. Each server computer 102 executes processing (writing, reading, updating, etc.) as a master of data included in the range managed by itself. Each server computer 102 holds duplicate data of a predetermined range of data managed as a master by other server computers 102.
  • the scheduler computer 101 is a computer that assigns jobs to the server computer 102 and manages the execution status of each job.
  • the scheduler computer 101 includes a job scheduler 141.
  • the job scheduler 141 is a program for realizing a job management function, and includes a plurality of modules and information.
  • the job scheduler 141 includes an end notification unit 151, a scheduling unit 152, a start processing unit 153, an end processing unit 154, and job information 171.
  • the end notification unit 151 detects the end of the job and notifies the server computer 102 of the end of the job. Details of the process executed by the end notification unit 151 will be described later with reference to FIG.
  • the scheduling unit 152 determines a job to be started with reference to the job information 171 and the server computer 102 to which the job is assigned.
  • the start processing unit 153 instructs the server computer 102 determined by the scheduling unit 152 to start job execution.
  • the end processing unit 154 monitors the end of the job and, when detecting the end of the job, notifies the scheduling unit 152 that the server computer 102 in which the job has ended has a free space.
  • the job information 171 stores information related to job assignment.
  • the job information 171 includes at least the identifier of the job and the identifier of the server computer 102 to which the job is assigned.
  • scheduling unit 152 the start processing unit 153, the end processing unit 154, and the job information 171 are publicly known, and thus details thereof will not be described in this specification.
  • the server computer 102A is an execution computer that receives an access request to a file and executes various processes.
  • the server computer 102A includes a file system program 142 and a user application 143.
  • the user application 143 is a program started by the job scheduler 141, and the processing content is arbitrary. When executing the process, the user application 143 outputs an access request for the file to its own file system program 142 or transmits an access request to the file system program 142 of another server computer 102. The access request may be received via the network 104 from another computer (not shown).
  • the file system program 142 is a program that executes various processes using a file based on an access request input from the user application 143, and includes a plurality of modules and information.
  • the file system program 142 includes a file server unit 161, a delayed replication control unit 162, a disk driver 163A, a network disk driver 164A, a replication transmission setting unit 165, a recovery processing unit 166, a replication file list 180, a delayed writing.
  • Information 181 and duplicate transmission setting information 182 are included.
  • the file server unit 161 executes processing such as writing to a file and reading a file based on the access request. Details of processing executed by the file server unit 161 will be described later with reference to FIG.
  • the delayed replication control unit 162 temporarily suspends writing of the data written by the file server unit 161 to the alternative computer, and writes the replicated data to the server computer 102B, which is a standby computer, after the job ends. Details of the processing executed by the delayed replication control unit 162 will be described later with reference to FIGS.
  • the delayed replication control unit 162 suspends writing of replication data to the server computer 102B until the job is completed. As a result, even if the job ends abnormally due to a failure in the server computer 102A, the server computer 102B resumes the job from the state before the job start by using the file (duplicated data) held by itself. can do.
  • the disk driver 163A is a program that realizes access to the disk device 126A (see FIG. 2) that stores file data.
  • the network disk driver 164A is a program that realizes access to the disk device 126B (see FIG. 2) for storing file data via the network 104.
  • the network disk driver 164A may be iSCSI or the like.
  • the server computer 102A uses the disk driver 163A to access the disk device 126A (see FIG. 2).
  • the disk device 126B By executing the same process as the process for the network disk driver 164A, the disk device 126B (see FIG. 2) can be accessed.
  • the replication transmission setting unit 165 sets the server computer 102 that is the transmission destination of the replication data. Details of processing executed by the duplicate transmission setting unit 165 will be described later with reference to FIG.
  • the recovery processing unit 166 executes recovery processing after a failure has occurred in the server computer 102A. Details of the processing executed by the recovery processing unit 166 will be described later with reference to FIG.
  • the duplicate file list 180 stores information indicating the relationship between files and jobs.
  • the duplicate file list 180 is generated by the file server unit 161.
  • the file server unit 161 refers to the duplicate file list 180 and executes exclusive control on the file. Details of the duplicate file list 180 will be described later with reference to FIG.
  • the delayed write information 181 stores information related to replicated data.
  • the delayed writing information 181 is generated by the delayed replication control unit 162. Details of the delayed writing information 181 will be described later with reference to FIG.
  • the duplicate transmission setting information 182 stores information related to the server computer 102 that is the destination of the duplicate data. Specifically, the duplicate transmission setting information 182 includes a network address, a Mac address, and the like of the server computer 102. In this embodiment, it is assumed that the network address of the server computer 102B is stored.
  • the server computer 102B is a computer that operates as an alternative computer when a failure occurs in the server computer 102A.
  • the server computer 102B includes a copy receiving unit 144.
  • the copy receiving unit 144 is a program for executing writing of copy data transmitted from the server computer 102A and recovery processing when a failure occurs, and includes a plurality of modules. Specifically, the copy receiving unit 144 includes a disk driver 163B, a network disk driver 164B, a copy reception setting unit 169, and a failover processing unit 170.
  • the disk driver 163B and the network disk driver 164B are the same as the disk driver 163A and the network disk driver 164A.
  • the replication reception setting unit 169 sets whether or not to permit an access request from the server computer 102 that is an execution computer. Details of the process executed by the duplicate reception setting unit 169 will be described later with reference to FIG.
  • the failover processing unit 170 performs failover. Details of the processing executed by the failover processing unit 170 will be described later with reference to FIGS. 12A and 12B.
  • the server computer 102A operates as an execution computer and the server computer 102B operates as an alternative computer to the server computer 102A.
  • the present invention is not limited to the configuration described above.
  • the server computer 102A and the server computer 102B both include the file system program 142 and the copy receiving unit 144, operate as execution computers that perform jobs independently, and each of the server computers 102A and 102B is the other server computer 102. It may be configured to operate as an alternative computer.
  • the scheduler computer 101 and the server computer 102 are separate computers, but the present invention is not limited.
  • a configuration in which at least one of the plurality of server computers 102 includes the job scheduler 141 may be employed.
  • FIG. 2A is a block diagram showing a hardware configuration of the scheduler computer 101 in the first embodiment of the present invention.
  • FIG. 2B is a block diagram showing a hardware configuration of the server computer 102A in the first embodiment of the present invention.
  • FIG. 2C is a block diagram showing a hardware configuration of the server computer 102B in the first embodiment of the present invention.
  • the scheduler computer 101 includes a processor 111, a memory 112, a storage device 113, and a network interface 114.
  • the processor 111 executes a program stored in the memory 112.
  • the function of the scheduler computer 101 can be realized by the processor 111 executing the program. Note that when processing is described with the program as the subject, it indicates that the program is being executed by the processor 111.
  • the memory 112 stores a program executed by the processor 111 and data necessary to execute the program.
  • the memory 112 stores a job scheduler 141.
  • the memory 112 may be a semiconductor memory such as a DRAM, and can be accessed at a higher speed than the storage device 113.
  • the storage device 113 stores programs and data.
  • an HDD and an SSD can be considered.
  • the network interface 114 is an interface for connecting to other devices via the network 104.
  • the job scheduler 141 may be stored in the storage device 113 or an external device (not shown). In this case, the job scheduler 141 is read from the storage device 113, or the job scheduler 141 is read from an external device via the network 104 and stored in the memory 112.
  • the server computer 102A and the server computer 102B have the same hardware configuration.
  • the server computer 102A includes a processor 121A, a memory 122A, a storage device 123A, a network interface 124A, a storage interface 125A, and a disk device 126A.
  • the server computer 102B includes a processor 121B, a memory 122B, a storage device 123B, a network interface 124B, a storage interface 125B, and a disk device 126B.
  • the processors 121A and 121B execute programs stored in the memories 122A and 122B.
  • the function of the server computer 102A can be realized by the processor 121A executing the program, and the function of the server computer 102B can be realized by the processor 121B executing the program. Note that when processing is described with the program as the subject, it indicates that the program is being executed by the processors 121A and 121B.
  • the memories 122A and 122B store programs executed by the processors 121A and 121B and data necessary for executing the programs.
  • the user application 143 and the file system program 142 are stored in the memory 122A
  • the copy receiving unit 144 is stored in the memory 122B.
  • a semiconductor memory such as a DRAM can be considered, and can be accessed at a higher speed than the storage devices 123A and 123B.
  • Storage devices 123A and 123B store programs and data. As the storage devices 123A and 123B, for example, HDDs and SSDs can be considered.
  • the network interfaces 124 ⁇ / b> A and 124 ⁇ / b> B are interfaces for connecting to other devices via the network 104.
  • the storage interfaces 125A and 125B are interfaces for connecting to storage devices (disk devices 126A and 126B) that can store a large amount of data. In this embodiment, it is connected to the disk device 126A via the storage interface 125A, and is connected to the disk device 126B via the storage interface 125B.
  • the disk devices 126A and 126B store files necessary for processing executed by the user application 143. There may be a plurality of disk devices 126A and 126B. Also, a RAID may be configured using a plurality of disk devices 126A and 126B. Further, the disk device 126A may be in a format externally attached to the server computer 102A, and the disk device 126B may be in a format externally attached to the server computer 102B.
  • the user application 143 and the file system program 142 may be stored in the storage device 123A or an external device (not shown). In this case, each program is read from the storage device 123A, or each program is read from an external device via the network 104 and stored in the memory 122A. Further, the copy receiving unit 144 may be stored in the storage device 123B or an external device (not shown). In this case, each program is read from the storage device 123B, or each program is read from an external device via the network 104 and stored in the memory 122B.
  • FIG. 3 is an explanatory diagram showing an example of the duplicate file list 180 according to the first embodiment of this invention.
  • the duplicate file list 180 stores information in a list format indicating the correspondence between files and jobs.
  • the first entry 611 is stored.
  • the first entry 611 stores the address of the memory 122 indicating the storage destination of the first entry included in the list.
  • the entry 620 indicated by the first entry 611 stores the correspondence between the file and the job. Specifically, the entry 620 includes a file ID 621, a job ID 622, and then an entry 623.
  • the file ID 621 is an identifier that uniquely identifies the file.
  • the job ID 622 is an identifier of an application (job) that executes processing using a file corresponding to the file ID 621.
  • next entry 623 is an address of the memory 122 indicating the storage destination of the next entry 620.
  • “0x0” indicating that there is no next entry 620 is stored in the next entry 623, it indicates that the entry 620 is the end of the list.
  • duplicate file list 180 shown in FIG. 3 is an example, and the duplicate file list 180 may be configured by other methods as long as it includes a job identifier and a file identifier.
  • FIG. 4 is an explanatory diagram showing an example of the delayed writing information 181 in the first embodiment of the present invention.
  • the delayed writing information 181 stores information in a list format indicating the correspondence between a job and the position of data written by the job. Specifically, the delayed writing information 181 includes a job list and a block list.
  • the first entry 701 is stored.
  • the first entry 701 stores the address of the memory 122 indicating the storage location of the first entry in the job list.
  • the entry 710 indicated by the first entry 701 stores the correspondence between the job and the data position.
  • the entry 710 includes a job ID 711, a block list 712, and the next entry 713.
  • the job ID 711 is an identifier that uniquely identifies the job.
  • the block list 712 is an address of the memory 122 indicating the storage location of the first entry in the block list indicating the position of data written by the job.
  • the next entry 713 is an address of the memory 122 indicating the storage destination of the next entry 710 in the job list. When “0x0” indicating that there is no next entry 710 is stored in the next entry 713, this indicates that the entry 710 is the end of the list.
  • the entry 720 in the block list includes a block number 721 and the next entry 722.
  • Block number 721 is a block number indicating the position of a block that stores data written by a job.
  • the entry 722 is an address of the memory 122 indicating the storage destination of the next entry 720 in the block list.
  • delayed writing information 181 shown in FIG. 4 is an example, and the delayed writing information 181 may be configured by other methods as long as it includes a job identifier and a block number.
  • FIG. 5 is a flowchart for explaining processing executed by the end notification unit 151 according to the first embodiment of the present invention.
  • the end notification unit 151 starts processing upon receiving a job end notification from the end processing unit 154 (step S201).
  • the end notification includes at least a job identifier.
  • the end processing unit 154 can detect that the job has ended by receiving a notification that the job has ended from the server computer 102 that executes the job.
  • a notification indicating that the job has ended is received from the server computer 102A.
  • the completion notification unit 151 refers to the job information 171 based on the job identifier, and acquires the identifier of the server computer 102A to which the completed job is assigned (step S202). Here, the identifier of the server computer 102A in the network 104 is acquired.
  • the end notification unit 151 transmits end information notifying that the job has ended to the delayed replication control unit 162 of the server computer 102 corresponding to the acquired identifier (step S203). After the notification, the end notification unit 151 ends the process (step S204). Note that the end information includes at least a job identifier.
  • FIG. 6 is a flowchart for explaining processing executed by the file server unit 161 according to the first embodiment of the present invention.
  • the file server unit 161 When the file server unit 161 receives an access request from the user application 143 or the like, the file server unit 161 starts processing (step S301).
  • the access request includes an identifier (file ID) of the target file.
  • file ID file ID
  • the file that is the target of the access request is also referred to as the target file.
  • the file server unit 161 determines whether or not the target file information is recorded in the duplicate file list 180 (step S302). Specifically, the file server unit 161 determines whether an entry 620 that matches the file ID included in the access request is recorded in the duplicate file list 180.
  • the file server unit 161 proceeds to step S305.
  • the file server unit 161 When it is determined that the target file information is recorded in the duplicate file list 180, the file server unit 161 refers to the entry 620 recorded in the duplicate file list 180, and identifies the identifier of the job that is accessing the file. Determines whether or not the ID matches the identifier of the job that issued the access request (step S303).
  • step S304 If it is determined that the identifier of the job being accessed does not match the identifier of the job that issued the access request, the file server unit 161 ends in error (step S304). This is to indicate that the file is being accessed by another user application 143. This eliminates contention access in which different jobs access the same file at the same time.
  • step S305 If it is determined that the identifier of the job being accessed matches the identifier of the job that issued the access request, the file server unit 161 proceeds to step S305.
  • step S302 determines whether the access request is a write request (step S305).
  • the file server unit 161 calculates a block number on the disk device 126A in which the data of the target file to be read is stored ( Step S306).
  • the file server unit 161 outputs a read request including the calculated block number to the disk driver 163A (step S307).
  • the disk driver 163A Upon receiving the read request, the disk driver 163A reads the data of the target file from the predetermined disk device 126A. The read data is output from the disk driver 163A to the file server unit 161.
  • the file server unit 161 outputs the data read from the disk device 126A to the user application 143, and ends the process (steps S308 and S312).
  • step S305 When it is determined in step S305 that the access request is a write request, the file server unit 161 records the identifier of the file and the identifier of the job to be executed in the duplicate file list 180 (step S309). ). By this processing, an entry 620 as shown in FIG. 3 is generated. When the new entry 620 is generated, the address to the new entry 620 is added to the entry 623 next to the entry 620 generated before that.
  • the file server unit 161 calculates a block number indicating the storage destination of the data to be written on the disk device 126A (step S310).
  • the file server unit 161 outputs a write request to the delayed replication control unit 162 and ends the process (steps S311 and S312).
  • the write request includes a job identifier, a block number, and data.
  • the file server unit 161 refers to the duplicate file list 180 and controls each file to accept access from only one user application 143 at most.
  • This control has the effect of suppressing the influence on other user applications 143 even when the writing process by the user application 143 is canceled when the user application 143 terminates abnormally.
  • the delayed replication control unit 162 is activated when end information is received from the end notification unit 151 of the job scheduler 141 and when a write request is received from the file server unit 161.
  • FIG. 7 shows processing executed when a write request is received from the file server unit 161.
  • the delayed replication control unit 162 starts processing upon receiving a write request from the file server unit 161 (step S401).
  • the delayed write information 181 extracts the job identifier and block number included in the write request, and records the job identifier and block number in the delayed write information 181 in association with each other (step S402).
  • the delayed write information 181 outputs a write request to the disk device 126A including the block number and data to the disk driver 163A, and ends the process (steps S403 and S404).
  • the disk driver 163A that has received the write request writes data to a predetermined block of the disk device 126A.
  • FIG. 8 shows processing executed when the end information is received from the end notification unit 151.
  • the delayed replication control unit 162 starts the process when receiving the end information from the end notification unit 151 (step S501).
  • the end information includes a job identifier.
  • the delayed replication control unit 162 refers to the delayed writing information 181 based on the job identifier, and searches for a block list corresponding to the completed job (step S502). Specifically, an entry 720 in which the job ID 711 matches the job identifier is searched.
  • the delayed replication control unit 162 determines whether or not the block list is an empty set (step S503). That is, it is determined whether or not processing has been completed for all entries 720 in the block list.
  • the delayed replication control unit 162 reads the entry 720 included in the list, acquires the block number from the entry 720, and deletes the read entry 720 from the block list ( Step S506).
  • the delayed replication control unit 162 reads the data stored in the acquired block number (step S507). Specifically, the delayed replication control unit 162 outputs a read request including the acquired block number to the disk driver 163A.
  • the disk driver 163A that has received the read request reads data from the block on the disk device 126A corresponding to the block number, and outputs the data to the delayed replication control unit 162.
  • the read data is duplicated data.
  • the delayed replication control unit 162 outputs a write request including the block number and the read data (replicated data) to the network disk driver 164A, and returns to step S503 (step S508).
  • the network disk driver 164A that has received the write request transfers the write request to the server computer 102B, which is an alternative computer.
  • the server computer 102B stores the duplicate data in the disk device 126B based on the transferred write request.
  • a write request including duplicate data is set to be transferred to the server computer 102B.
  • the transferred data is stored in the disk device 126B via the network disk driver 164B and the disk driver 163B of the server computer 102B.
  • step S503 If it is determined in step S503 that the block list is an empty set, the delayed replication control unit 162 deletes the entry 710 corresponding to the job from the delayed writing information 181 and ends the process (step S504, Step S505).
  • the delayed replication control unit 162 receives the data and simultaneously writes the data to its own disk device 126A. On the other hand, the delayed replication control unit 162 suspends writing to the server computer 102B until it receives end information from the end notification unit 151. That is, the copy data creation process is suspended until the job scheduler 141 confirms the end of the job.
  • the data written by the user application 143 that has abnormally terminated is not reflected on the disk device 126B of the server computer 102B. Therefore, by referring to the disk device 126B of the server computer 102B, the user application 143 that has ended abnormally can be returned to the state before starting the job.
  • the server computer 102B not only operates as a substitute computer for the server computer 102A but also operates as an execution computer. That is, the server computer 102B includes the file system program 142 equivalent to the server computer 102A and executes the program. Accordingly, the server computers 102A and 102B are set to be the other alternative computers. Specifically, the duplicate reception setting unit 183 performs settings for receiving data as an alternative computer, and the duplicate transmission setting unit 165 performs settings for transmitting data as an execution computer.
  • FIG. 9 is a flowchart for explaining processing executed by the copy reception setting unit 169 according to the first embodiment of the present invention.
  • the copy reception setting unit 169 starts processing upon receiving an activation command from the administrator (step S1001).
  • the duplicate reception setting unit 169 acquires the network address set in its own network interface 124 (step S1002).
  • the acquired network address is, for example, an IP address.
  • the replication reception setting unit 169 determines whether or not the acquired network address is an even number (step S1003). If the IP address is an IPv4 IP address, it is determined whether or not the numerical value of the host address portion is an even number. For example, when the acquired IP address is “192.168.1.160”, it is determined that the IP address is an even number.
  • the copy reception setting unit 169 uses the server computer 102 to which the network address obtained by subtracting “1” as its own network address is assigned as the execution computer, from the server computer 102 to the network disk.
  • the setting is made such that access via the driver 164 is permitted, and the process is terminated (steps S1004 and S1006).
  • the access permission setting information is stored in the memory 122.
  • the copy reception setting unit 169 executes the server computer 102 to which the network address obtained by adding “1” to its own network address is assigned to the execution computer As described above, the server computer 102 is set to allow access via the network disk driver 164, and the process is terminated (steps S1005 and S1006).
  • FIG. 10 is a flowchart for describing processing executed by the duplicate transmission setting unit 165 according to the first embodiment of this invention.
  • the copy transmission setting unit 165 starts processing upon receiving an activation command from the administrator (step S1101).
  • the duplicate transmission setting unit 165 acquires the network address set in its own network interface 124 (step S1102).
  • the acquired network address is, for example, an IP address.
  • the duplicate transmission setting unit 165 determines whether or not the acquired network address is an even number (step S1103).
  • the process of step S1103 is the same process as step S1003.
  • the duplicate transmission setting unit 165 uses the server computer 102 assigned with the network address obtained by adding “1” to its network address as an alternative computer, and uses the server computer 102 as a network disk.
  • the access destination via the driver 164 is set, and the process proceeds to step S1106 (step S1104).
  • the duplicate transmission setting unit 165 replaces the server computer 102 to which the network address obtained by subtracting “1” from its own network address is an alternative computer. Then, the server computer 102 is set as an access destination via the network disk driver 164, and the process proceeds to step S1106 (step S1105).
  • the replication transmission setting unit 165 records the net address of the server computer 102 set as an alternative computer in the replication transmission setting information 182 and ends the process (steps S1006 and S1107).
  • 9 and 10 can automatically generate a pair of computers 102 each holding duplicate data from among a large number of server computers 102 having the same configuration.
  • each server computer 102 is assigned a continuous address that increases by one, but the present invention is not limited to this. That is, the present invention can be implemented as long as the data transmission destination and the data reception source can be set in the network disk driver 164.
  • FIG. 11 is a flowchart illustrating processing executed by the recovery processing unit 166 according to the first embodiment of this invention.
  • the recovery processing unit 166 starts processing upon restart, and then activates the duplicate transmission setting unit 165 to set the network disk driver 164 (steps S1201 and S1202).
  • the recovery processing unit 166 reads the duplicate transmission setting information 182 (step S1203).
  • the copy transmission setting information 182 records the network address of the server computer 102B.
  • the recovery processing unit 166 sets the network disk driver 164A so as to permit access to the disk device 126A from the server computer 102B, which is an alternative computer (step S1204).
  • the recovery processing unit 166 waits for processing until a completion notification is received from the failover processing unit 170 of the server computer 102B (step S1205).
  • the recovery processing unit 166 cancels the access permission setting set in the network disk driver 164A in step S1204, and ends the process (step S1206). Thereafter, the server computers 102A and 102B return to the normal state.
  • FIG. 12A and FIG. 12B are flowcharts for explaining processing executed by the failover processing unit 170 in the first embodiment of the present invention.
  • the server computer 102B When the server computer 102B detects the stop of the server computer 102A, the server computer 102B activates the failover processing unit 170 (step S1301). Thereafter, the failover processing unit 170 repeatedly executes the following processing until the server computer 102A recovers.
  • the server computer 102B can detect that the server computer 102A is stopped using a heartbeat or the like.
  • the failover processing unit 170 receives an access request instead of the file server unit 161 of the server computer 102A where the failure has occurred (step S1302). It is assumed that the server computer 102B also has a file system program 142 and is operating as an execution computer. Further, since the method for switching the access request reception destination is a known technique, a description thereof will be omitted.
  • the failover processing unit 170 determines whether or not the received access request is a write request (step S1303).
  • the failover processing unit 170 calculates a block number in which target data is recorded (step S1304).
  • the failover processing unit 170 outputs a read request including the calculated block number to the disk driver 163, returns to step S1302, and then waits for an access request (step S1305).
  • the disk driver 163B that has received the read request reads data from the disk device 126B. The read data is transmitted to the access request source.
  • step S1303 If it is determined in step S1303 that the received access request is a write request, the failover processing unit 170 performs the following processing in order to reflect the target data in both the server computer 102B and the server computer 102A. Execute.
  • the failover processing unit 170 determines whether or not the server computer 102A that has been stopped due to a failure has been restarted (step S1307).
  • the failover processing unit 170 checks the state of the server computer 102A (step S1309).
  • the failover processing unit 170 determines whether or not the restart of the server computer 102A has been detected based on the result of the confirmation described above (step S1310). For example, when a notification indicating that the server computer 102A has been restarted is received, and there is a response due to a heartbeat, it is determined that the restart of the server computer 102A has been detected.
  • the failover processing unit 170 sends a write request including the calculated block number and data to the disk device 126B to reflect the data.
  • the data is output to the driver 163B, and the process returns to step S1302 (step S1311).
  • the failover processing unit 170 starts copy processing for reflecting all the contents of the disk device 126B on the disk device 126A (step S1312). However, in the copy process, the process is skipped for a storage area in which data has already been reflected.
  • step S1307 If it is determined in step S1307 that the server computer 102A has been restarted, or after step S1312, the failover processing unit 170 sends the calculated block number and data to the disk driver 163B and the network disk driver 164B.
  • a write request including is output (step S1313).
  • the network disk driver 164B that has received the write request transfers the write request including the data to the server computer 102A.
  • the failover processing unit 170 confirms the progress status of the copy process, and determines whether or not the copy process is completed (step S1314).
  • the failover processing unit 170 returns to step S1302.
  • the failover processing unit 170 transmits a completion notification to the recovery processing unit 166 and ends the process (steps S1315 and S1316).
  • the recovery processing unit 166 and the failover processing unit 170 permit access from the server computer B, which is an alternative computer, to the disk device 126A via the network disk driver 164B.
  • the server computer 102B can continue processing as an execution computer, and at the same time, data written while the server computer 102A is stopped can be reflected in the disk device 126A of the server computer 102A.
  • the second embodiment differs from the first embodiment in that the server computer 102B, which is an alternative computer, delays the writing of replicated data to the disk device 126B.
  • the second embodiment will be described focusing on the differences from the first embodiment.
  • FIG. 13 is a block diagram showing a configuration of a computer system according to the second embodiment of this invention.
  • the configurations of the server computer 102A and the server computer 102B are different.
  • the file system program 142 includes a replication control unit 862 instead of the delayed replication control unit 162.
  • the copy receiving unit 144 newly includes a receiving side delayed copy control unit 871, delayed writing information 884, and a temporary writing area 890.
  • the process executed by the file server unit 861 is different from that of the file server unit 161. Specifically, in step S311, the file server unit 861 outputs a write request to the replication control unit 892. Other processes are the same as those in the first embodiment.
  • the server computer 102A always transmits data to the server computer 102B when writing data. Therefore, the server computer 102A does not include the delayed writing information 181. Further, the server computer 102B suspends data writing to the disk device 126B until receiving an end notification from the job scheduler 141.
  • the server computer 102B includes a receiving-side delayed replication control unit 871, delayed writing information 884, and a temporary writing area 890.
  • FIG. 14 is a flowchart illustrating processing executed by the replication control unit 892 according to the second embodiment of the present invention.
  • the replication control unit 892 When the replication control unit 892 receives a write request from the file server unit 861, the replication control unit 892 starts processing (step S1401).
  • the replication control unit 892 outputs the write request to the disk driver 163A and the network disk driver 164A without changing the information included in the received write request, and ends the processing (steps S1402 and S1403).
  • the receiving side delayed replication control unit 871 When the receiving side delayed replication control unit 871 receives a write request, it executes the same processing as in FIG.
  • step S401 the receiving-side delayed replication control unit 871 starts processing upon receiving a write request from the replication control unit 862.
  • the reception-side delayed replication control unit 871 records the job identifier and block number in the delayed writing information 884.
  • step S ⁇ b> 403 the receiving-side delayed replication control unit 871 stores data in the temporary write area 890.
  • the receiving side delayed replication control unit 871 may directly write the data to the temporary writing area 890, or may write the data to the temporary writing area 890 in the disk driver 163B.
  • a write request may be output.
  • the temporary writing area 890 is realized by, for example, a magnetic disk, a semiconductor disk, a virtual disk realized by software, or a combination of them, and the mounting format is arbitrary.
  • the receiving side delayed replication control unit 871 executes the same processing as in FIG. The difference from the process shown in FIG. 5 is that the process is executed based on the delayed write information 884, the data read source in step S507 is the temporary write area 890, and the output destination of the write request in step S508 is the disk driver. It is a point which becomes 163B.
  • the replicated data is divided and written in the server computer 102 which is a plurality of alternative computers.
  • the difference from the first embodiment will be mainly described.
  • FIG. 15 is a block diagram showing a configuration of a computer system according to the third embodiment of this invention.
  • the third embodiment is different in that the computer system includes a server computer 102C that is an alternative computer.
  • the server computer 102C has the same configuration as the server computer 102B and includes a disk device 126.
  • the server computer 102A further includes a replication division unit 1401.
  • the replication division unit 1401 divides the replication data generated by the delayed replication control unit 162 and stores it in each server computer 102B, 102C.
  • the process executed when the delayed replication control unit 162 receives the end information from the end notification unit 151 is different. Specifically, in step S508, the delayed replication control unit 162 outputs a replication data write request to the replication division unit 1401. Other processes are the same as those in the first embodiment.
  • FIG. 16 is a flowchart for explaining details of processing executed by the replication division unit 1401 according to the third embodiment of the present invention.
  • the replication division unit 1401 starts processing upon receiving a write request from the delayed replication control unit 162 (step S1501).
  • the replication division unit 1401 refers to the block number included in the write request and determines whether the block number is an even number (step S1502). Here, the first block number of data is targeted.
  • the replication dividing unit 1401 transmits a request for writing the replicated data to the server computer 102C via the network disk driver 164A, and ends the process (step S1503).
  • the replication division unit 1401 transmits a replication data write request to the server computer 102B via the network disk driver 164A, and ends the processing. (Step S1504).
  • two server computers 102 which are alternative computers are used, but there may be three or more.
  • a method of determining the transfer destination of the duplicate data based on the remainder obtained by dividing the write address by the number of server computers 102 can be considered.
  • a disk drive for storing duplicate data can be configured using a low-speed and inexpensive disk device.
  • the server computer 102 it is possible to cause a delay when writing replicated data to the server computer 102 as an alternative computer, and to reflect the replicated data to the alternative computer when the job ends. As a result, even if a failure occurs in the server computer 102 that is an execution computer, the server computer 102 that is an alternative computer can resume the job from the job start state.
  • each of the above-described configurations, functions, processing units, processing means, and the like may be realized using hardware by designing a part or all of them with, for example, an integrated circuit.
  • each of the above-described configurations, functions, and the like may be realized using software by the processor interpreting and executing a program that realizes each function.
  • Information such as programs, tables, and files that realize each function can be stored in a recording device such as a memory, a hard disk, and an SSD (Solid State Drive), or a recording medium such as an IC card, an SD card, and a DVD.
  • the control lines and information lines indicate what is considered necessary for the explanation, and not all the control lines and information lines on the product are necessarily shown. Actually, it may be considered that almost all the components are connected to each other.

Abstract

In order to provide a function with which it is possible to reduce the amount of storage capacity consumed when a duplicate is saved in a substitute computer in preparation for malfunctions in a computer that executes jobs, and with which the job can be restored in a re-executable state when a malfunction occurs, a computer system, wherein multiple computers that execute jobs formed by dividing one process into multiple parts are connected via a network, is characterized in that the multiple computers include a first computer that executes jobs, and a second computer that saves duplicate data of the data stored in the first computer, and in that the computer system is equipped with a duplication control unit that creates duplicate data for the data that is written to a storage medium of the first computer by means of a job, and that writes the duplicate data to a storage medium of the second computer under prescribed conditions.

Description

計算機システム及び複製制御方法Computer system and replication control method
 本発明は、複数の計算機を用いて構築された分散共有ファイルシステムに関する。特に、複製データを管理する計算機及び複製データの管理方法に関する。 The present invention relates to a distributed shared file system constructed using a plurality of computers. In particular, the present invention relates to a computer for managing duplicate data and a method for managing duplicate data.
 計算機を利用して大量のデータ処理を実行する場合に、目的とする処理全体を複数のジョブに分割し、各ジョブを複数の計算機に並列に実行させることによって処理の高速化を図ることがある。このような場合にはバッチジョブシステムによって、各ジョブに対する計算機資源の割り当てが決定される。 When performing a large amount of data processing using a computer, the entire target processing may be divided into multiple jobs, and each job may be executed in parallel by multiple computers to speed up the processing. . In such a case, assignment of computer resources to each job is determined by the batch job system.
 バッチジョブシステムは処理の進捗を監視しながら動的に計算機を割り当てるため、各ジョブが割り当てられる計算機は各ジョブの実行開始直前まで確定しない。そのため、ジョブの入出力データを格納するファイルは分散共有ファイルシステム上に配置し、すべての計算機から同じファイルが利用できるようにすることがある。 Since the batch job system dynamically assigns computers while monitoring the progress of processing, the computer to which each job is assigned is not fixed until immediately before the execution of each job. For this reason, files that store job input / output data may be placed on a distributed shared file system so that the same file can be used by all computers.
 複数の計算機が内蔵するディスクドライブから構成される分散供給ファイルシステムにおいて、当該ファイルシステムを構成する計算機のうち、ジョブを実行する計算機の障害が発生する場合がある。 In a distributed supply file system composed of disk drives built in a plurality of computers, a failure of a computer executing a job may occur among the computers configuring the file system.
 この場合、代替計算機は障害が発生した計算機に格納される情報にアクセスし、当該計算機上で実行されていたジョブを再び実行する必要がある。すなわち、代替計算機は、計算機に障害が発生するまでのファイルに対する変更をすべて破棄した後、ジョブを再実行しなければならない。これは、障害発生までに計算機によって実行されたジョブの結果が上書きされる等の問題を防止するためである。 In this case, it is necessary for the alternative computer to access the information stored in the computer in which the failure has occurred and execute the job that was being executed on the computer again. In other words, the alternative computer must re-execute the job after discarding all changes to the file until the failure of the computer occurs. This is to prevent problems such as the result of the job executed by the computer being overwritten before the failure occurs.
 代替計算機にデータを引き継ぐための一般的な方法は、代替計算機に複製されたデータを保存することである。また、特許文献1には、ジョブの異常発生時にファイルが変更されている場合でも、ファイルを再実行できる状態に戻す作業を行わずに、変更中のファイルが参照されるのを防止できるジョブ管理システムを提供するための方法が記載されている。 A general method for transferring data to an alternative computer is to store the duplicated data in the alternative computer. Japanese Patent Application Laid-Open No. 2004-151867 discloses a job management that can prevent a file being changed from being referred to without performing a work for returning the file to a re-executable state even when the file is changed when a job abnormality occurs. A method for providing a system is described.
 具体的には、特許文献1には、ジョブ管理システムが、少なくとも実ディレクトリが記憶された記憶手段と、ジョブ処理の実行開始とともに実ディレクトリを複製した仮想ディレクトリを記憶手段に生成し、仮想ディレクトリに対してジョブ処理によるファイルアクセスを行うように制御する制御手段を備える方法が開示されている。 Specifically, in Patent Document 1, the job management system generates, in a storage unit, a storage unit that stores at least a real directory, and a virtual directory that duplicates the real directory at the start of job processing execution. On the other hand, a method including control means for controlling to perform file access by job processing is disclosed.
特開2009-251764号公報JP 2009-251764 A
 ジョブを実行する計算機の障害発生時に代替計算機が分散共有ファイルシステムの機能を引き継ぐためには、代替計算機が複製データを保持すればよいが、ディスクの消費量を倍増させるという問題点がある。 In order for the alternative computer to take over the functions of the distributed shared file system when a failure occurs in the computer executing the job, the alternative computer only needs to hold the replicated data, but there is a problem that the consumption of the disk is doubled.
 さらに、前述した公知技術を用いた場合、代替計算機にジョブを再実行させるために実行前のファイル状態に復元する必要があるが、これを実現するためにはジョブの実行前後の2つの異なるバージョンのファイルを管理することになり、ディスクの消費量が実ファイルサイズの2倍となるという問題点がある。 Furthermore, when the above-described known technology is used, it is necessary to restore the file state before execution in order to cause the alternative computer to re-execute the job. In order to realize this, two different versions before and after the job execution are executed. There is a problem that the amount of disk consumption becomes twice the actual file size.
 したがって、公知技術及び特許文献1に記載の技術の二つを組み合わせて使用すると実ファイルサイズの4倍の記憶領域を消費することとなり、ディスクの利用効率が悪い。 Therefore, when a combination of the known technology and the technology described in Patent Document 1 is used, a storage area that is four times the actual file size is consumed, and the disk utilization efficiency is poor.
 本発明は、前述した問題点に鑑みてなされてものであり、ディスクの消費量を抑えつつ、分散共有ファイルシステムの耐故障性を向上させ、ジョブの再実行時にファイル状態を復元することが可能な計算機システム及び方法を提供することを目的とする。 The present invention has been made in view of the above-mentioned problems, and can improve the fault tolerance of the distributed shared file system while reducing the disk consumption, and can restore the file state when the job is re-executed. An object is to provide a computer system and method.
 本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、一つの処理が複数に分割されたジョブを実行する複数の計算機がネットワークを介して接続される計算機システムであって、前記複数の計算機の各々は、プロセッサと、前記プロセッサに接続されるメモリと、前記プロセッサに接続される記憶媒体と、他の装置と接続するためのネットワークインタフェースとを有し、前記複数の計算機は、前記ジョブを実行する第1の計算機、及び、前記第1の計算機の前記記憶媒体に格納されるデータの複製データを保持する第2の計算機を含み、前記計算機システムは、前記ジョブによって前記第1の計算機の記憶媒体に書き込まれたデータの複製データを生成し、特定の条件下において前記複製データを前記第2の計算機の前記記憶媒体に書き込む複製制御部を備えることを特徴とする。 A typical example of the invention disclosed in the present application is as follows. That is, a computer system in which a plurality of computers that execute a job in which one process is divided into a plurality is connected via a network, each of the plurality of computers including a processor and a memory connected to the processor A storage medium connected to the processor, and a network interface for connecting to another device, wherein the plurality of computers includes a first computer that executes the job, and the first computer. A second computer that holds duplicate data of data stored in the storage medium, and the computer system generates duplicate data of data written to the storage medium of the first computer by the job; A replication control unit that writes the replicated data to the storage medium of the second computer under a specific condition is provided.
 本発明によれば、記憶媒体の記憶容量の消費量を抑えつつ、計算機システムの耐故障性を確保でき、かつ、ジョブを実行する計算機の障害発生時に自動的にジョブを再実行可能な状態に復元することができる。 According to the present invention, it is possible to secure the fault tolerance of the computer system while suppressing the consumption of the storage capacity of the storage medium, and automatically restore the job to a re-executable state when a failure occurs in the computer executing the job. can do.
本発明の第一の実施形態の計算機システムの構成を示すブロック図である。It is a block diagram which shows the structure of the computer system of 1st embodiment of this invention. 本発明の第一の実施形態におけるスケジューラ計算機のハードウェア構成を示すブロック図である。It is a block diagram which shows the hardware constitutions of the scheduler computer in 1st embodiment of this invention. 本発明の第一の実施形態におけるサーバ計算機のハードウェア構成を示すブロック図である。It is a block diagram which shows the hardware constitutions of the server computer in 1st embodiment of this invention. 本発明の第一の実施形態におけるサーバ計算機のハードウェア構成を示すブロック図である。It is a block diagram which shows the hardware constitutions of the server computer in 1st embodiment of this invention. 本発明の第一の実施形態における複製ファイルリストの一例を示す説明図である。It is explanatory drawing which shows an example of the replication file list | wrist in 1st embodiment of this invention. 本発明の第一の実施形態における遅延書込情報の一例を示す説明図である。It is explanatory drawing which shows an example of the delayed writing information in 1st embodiment of this invention. 本発明の第一の実施形態における終了通知部が実行する処理を説明するフローチャートである。It is a flowchart explaining the process which the completion | finish notification part in 1st embodiment of this invention performs. 本発明の第一の実施形態におけるファイルサーバ部が実行する処理を説明するフローチャートである。It is a flowchart explaining the process which the file server part in 1st embodiment of this invention performs. 本発明の第一の実施形態における遅延複製制御部が実行する処理を説明するフローチャートである。It is a flowchart explaining the process which the delay replication control part in 1st embodiment of this invention performs. 本発明の第一の実施形態における遅延複製制御部が実行する処理を説明するフローチャートである。It is a flowchart explaining the process which the delay replication control part in 1st embodiment of this invention performs. 本発明の第一の実施形態における複製受信設定部が実行する処理を説明するフローチャートである。It is a flowchart explaining the process which the replication reception setting part in 1st embodiment of this invention performs. 本発明の第一の実施形態における複製送信設定部が実行する処理を説明するフローチャートである。It is a flowchart explaining the process which the replication transmission setting part in 1st embodiment of this invention performs. 本発明の第一の実施形態における回復処理部が実行する処理を説明するフローチャートである。It is a flowchart explaining the process which the recovery process part in 1st embodiment of this invention performs. 本発明の第一の実施形態におけるフェイルオーバー処理部が実行する処理を説明するフローチャートである。It is a flowchart explaining the process which the failover process part in 1st embodiment of this invention performs. 本発明の第一の実施形態におけるフェイルオーバー処理部が実行する処理を説明するフローチャートである。It is a flowchart explaining the process which the failover process part in 1st embodiment of this invention performs. 本発明の第二の実施形態の計算機システムの構成を示すブロック図である。It is a block diagram which shows the structure of the computer system of 2nd embodiment of this invention. 本発明の第二の実施形態における複製制御部が実行する処理を説明するフローチャートである。It is a flowchart explaining the process which the replication control part in 2nd embodiment of this invention performs. 本発明の第三の実施形態の計算機システムの構成を示すブロック図である。It is a block diagram which shows the structure of the computer system of 3rd embodiment of this invention. 本発明の第三の実施形態における複製分割部が実行する処理の詳細を説明するフローチャートである。It is a flowchart explaining the detail of the process which the replication division part in 3rd embodiment of this invention performs.
 以下、本発明の実施の形態について、図面を用いて詳細に説明する。 Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
 [第一の実施形態] [First embodiment]
 図1は、本発明の第一の実施形態の計算機システムの構成を示すブロック図である。 FIG. 1 is a block diagram showing a configuration of a computer system according to the first embodiment of this invention.
 計算機システムは、スケジューラ計算機101、サーバ計算機102A及びサーバ計算機102Bから構成される。スケジューラ計算機101、サーバ計算機102A及びサーバ計算機102Bは、ネットワーク104を介して互いに接続される。ネットワーク104は、例えば、LAN(Local Area Network)である。ただし、本発明はネットワーク104の接続形式に限定されない。以下では、サーバ計算機102A及びサーバ計算機102Bを区別しない場合、サーバ計算機102と記載する。 The computer system includes a scheduler computer 101, a server computer 102A, and a server computer 102B. The scheduler computer 101, the server computer 102A, and the server computer 102B are connected to each other via the network 104. The network 104 is, for example, a LAN (Local Area Network). However, the present invention is not limited to the connection type of the network 104. Hereinafter, when the server computer 102A and the server computer 102B are not distinguished, they are described as the server computer 102.
 本実施形態では、サーバ計算機102Aは割り当てられたジョブを実行する計算機として稼動し、サーバ計算機102Bはサーバ計算機102Aに障害が発生した場合に代替えの計算機として稼動するものとする。なお、図1では、サーバ計算機102は2台であるが、3台以上あってもよい。以下では、ジョブが実行可能な計算機を実行計算機と記載し、障害発生時に他のサーバ計算機102の代替えとして稼動可能な計算機を代替計算機と記載する。 In this embodiment, it is assumed that the server computer 102A operates as a computer that executes an assigned job, and the server computer 102B operates as a substitute computer when a failure occurs in the server computer 102A. In FIG. 1, there are two server computers 102, but there may be three or more. Hereinafter, a computer that can execute a job is referred to as an execution computer, and a computer that can operate as a substitute for another server computer 102 when a failure occurs is referred to as an alternative computer.
 また、本実施形態では、サーバ計算機102が提供する記憶領域を統合した記憶領域上に一つの分散共有ファイルシステムが構築される。各サーバ計算機102が提供する記憶領域には所定の範囲毎にデータが格納され、各サーバ計算機102は当該範囲のデータを管理する。各サーバ計算機102は、自身が管理する範囲に含まれるデータのマスタとして処理(書き込み、読み出し、更新等)を実行する。また、各サーバ計算機102は、他のサーバ計算機102がマスタとして管理する所定の範囲のデータの複製データを保持する。 In this embodiment, one distributed shared file system is constructed on a storage area in which the storage areas provided by the server computer 102 are integrated. Data is stored for each predetermined range in the storage area provided by each server computer 102, and each server computer 102 manages data in the range. Each server computer 102 executes processing (writing, reading, updating, etc.) as a master of data included in the range managed by itself. Each server computer 102 holds duplicate data of a predetermined range of data managed as a master by other server computers 102.
 以下の説明では、前述した構成の下、各サーバ計算機102上でジョブが実行されるものとする。 In the following description, it is assumed that a job is executed on each server computer 102 under the configuration described above.
 スケジューラ計算機101は、サーバ計算機102にジョブを割り当て、また、各ジョブの実行状態を管理する計算機である。スケジューラ計算機101は、ジョブスケジューラ141を備える。ジョブスケジューラ141は、ジョブの管理機能を実現するためのプログラムであり、複数のモジュール及び情報から構成される。 The scheduler computer 101 is a computer that assigns jobs to the server computer 102 and manages the execution status of each job. The scheduler computer 101 includes a job scheduler 141. The job scheduler 141 is a program for realizing a job management function, and includes a plurality of modules and information.
 具体的には、ジョブスケジューラ141は、終了通知部151、スケジューリング部152、開始処理部153、終了処理部154及びジョブ情報171を含む。 Specifically, the job scheduler 141 includes an end notification unit 151, a scheduling unit 152, a start processing unit 153, an end processing unit 154, and job information 171.
 終了通知部151は、ジョブの終了を検出し、ジョブの終了をサーバ計算機102に通知する。なお、終了通知部151が実行する処理の詳細については、図5を用いて後述する。スケジューリング部152は、ジョブ情報171を参照して開始すべきジョブと、当該ジョブを割り当てるサーバ計算機102とを決定する。 The end notification unit 151 detects the end of the job and notifies the server computer 102 of the end of the job. Details of the process executed by the end notification unit 151 will be described later with reference to FIG. The scheduling unit 152 determines a job to be started with reference to the job information 171 and the server computer 102 to which the job is assigned.
 開始処理部153は、スケジューリング部152によって決定されたサーバ計算機102にジョブの実行の開始を指示する。終了処理部154は、ジョブの終了を監視し、ジョブの終了を検出した場合に、当該ジョブが終了したサーバ計算機102に空きがあることをスケジューリング部152に通知する。 The start processing unit 153 instructs the server computer 102 determined by the scheduling unit 152 to start job execution. The end processing unit 154 monitors the end of the job and, when detecting the end of the job, notifies the scheduling unit 152 that the server computer 102 in which the job has ended has a free space.
 ジョブ情報171は、ジョブの割り当てに関する情報を格納する。ジョブ情報171には、少なくとも、ジョブの識別子及びジョブが割り当てられたサーバ計算機102の識別子が含まれる。 The job information 171 stores information related to job assignment. The job information 171 includes at least the identifier of the job and the identifier of the server computer 102 to which the job is assigned.
 なお、スケジューリング部152、開始処理部153、終了処理部154及びジョブ情報171は公知であるため、本明細書では詳細については説明しない。 Note that the scheduling unit 152, the start processing unit 153, the end processing unit 154, and the job information 171 are publicly known, and thus details thereof will not be described in this specification.
 サーバ計算機102Aは、ファイルへのアクセス要求を受け付け、各種処理を実行する実行計算機である。サーバ計算機102Aは、ファイルシステムプログラム142及びユーザーアプリケーション143を備える。 The server computer 102A is an execution computer that receives an access request to a file and executes various processes. The server computer 102A includes a file system program 142 and a user application 143.
 ユーザーアプリケーション143は、ジョブスケジューラ141によって起動されるプログラムであり、処理内容は任意である。ユーザーアプリケーション143は、処理の実行に際して、自身のファイルシステムプログラム142に対してファイルに対するアクセス要求を出力し、又は、他のサーバ計算機102のファイルシステムプログラム142に対してアクセス要求を送信する。なお、アクセス要求は、他の計算機(図示省略)からネットワーク104を介して受信したものでもよい。 The user application 143 is a program started by the job scheduler 141, and the processing content is arbitrary. When executing the process, the user application 143 outputs an access request for the file to its own file system program 142 or transmits an access request to the file system program 142 of another server computer 102. The access request may be received via the network 104 from another computer (not shown).
 ファイルシステムプログラム142は、ユーザーアプリケーション143から入力されたアクセス要求に基づいて、ファイルを用いて各種処理を実行するプログラムであり、複数のモジュール及び情報から構成される。 The file system program 142 is a program that executes various processes using a file based on an access request input from the user application 143, and includes a plurality of modules and information.
 具体的には、ファイルシステムプログラム142は、ファイルサーバ部161、遅延複製制御部162、ディスクドライバ163A、ネットワークディスクドライバ164A、複製送信設定部165、回復処理部166、複製ファイルリスト180、遅延書込情報181及び複製送信設定情報182を含む。 Specifically, the file system program 142 includes a file server unit 161, a delayed replication control unit 162, a disk driver 163A, a network disk driver 164A, a replication transmission setting unit 165, a recovery processing unit 166, a replication file list 180, a delayed writing. Information 181 and duplicate transmission setting information 182 are included.
 ファイルサーバ部161は、アクセス要求に基づいて、ファイルへの書き込み、ファイルの読み出し等の処理を実行する。なお、ファイルサーバ部161が実行する処理の詳細については、図6を用いて後述する。 The file server unit 161 executes processing such as writing to a file and reading a file based on the access request. Details of processing executed by the file server unit 161 will be described later with reference to FIG.
 遅延複製制御部162は、ファイルサーバ部161によって書き込まれたデータの代替計算機への書き込みを一時的に保留し、ジョブの終了後に複製データを待機計算機であるサーバ計算機102Bに書き込む。遅延複製制御部162が実行する処理の詳細に付いては、図7及び図8を用いて後述する。 The delayed replication control unit 162 temporarily suspends writing of the data written by the file server unit 161 to the alternative computer, and writes the replicated data to the server computer 102B, which is a standby computer, after the job ends. Details of the processing executed by the delayed replication control unit 162 will be described later with reference to FIGS.
 前述したように遅延複製制御部162は、ジョブが終了するまで、サーバ計算機102Bへの複製データの書き込みを保留する。これによって、サーバ計算機102Aに障害が発生するこることによってジョブが異常終了した場合でも、サーバ計算機102Bは、自身が保持するファイル(複製データ)を用いることによって、ジョブ開始前の状態からジョブを再開することができる。 As described above, the delayed replication control unit 162 suspends writing of replication data to the server computer 102B until the job is completed. As a result, even if the job ends abnormally due to a failure in the server computer 102A, the server computer 102B resumes the job from the state before the job start by using the file (duplicated data) held by itself. can do.
 ディスクドライバ163Aは、ファイルのデータを格納するディスク装置126A(図2参照)へのアクセスを実現するプログラムである。 The disk driver 163A is a program that realizes access to the disk device 126A (see FIG. 2) that stores file data.
 ネットワークディスクドライバ164Aは、ネットワーク104を介して、ファイルのデータを格納するディスク装置126B(図2参照)へのアクセスを実現するプログラムである。ネットワークディスクドライバ164Aは、iSCSIなどが考えられる。 The network disk driver 164A is a program that realizes access to the disk device 126B (see FIG. 2) for storing file data via the network 104. The network disk driver 164A may be iSCSI or the like.
 例えば、ネットワークディスクドライバ164Bに対して、ネットワークディスクドライバ164Aからのアクセスを許可するように設定した場合、サーバ計算機102Aは、ディスクドライバ163Aを用いてディスク装置126A(図2参照)にアクセスするための処理と同一の処理をネットワークディスクドライバ164Aに対して実行することによって、ディスク装置126B(図2参照)にアクセスできる。 For example, when the network disk driver 164B is set to permit access from the network disk driver 164A, the server computer 102A uses the disk driver 163A to access the disk device 126A (see FIG. 2). By executing the same process as the process for the network disk driver 164A, the disk device 126B (see FIG. 2) can be accessed.
 複製送信設定部165は、複製データの送信先となるサーバ計算機102を設定する。複製送信設定部165が実行する処理の詳細については、図10を用いて後述する。 The replication transmission setting unit 165 sets the server computer 102 that is the transmission destination of the replication data. Details of processing executed by the duplicate transmission setting unit 165 will be described later with reference to FIG.
 回復処理部166は、サーバ計算機102Aに障害が発生した後の回復処理を実行する。回復処理部166が実行する処理の詳細については、図11を用いて後述する。 The recovery processing unit 166 executes recovery processing after a failure has occurred in the server computer 102A. Details of the processing executed by the recovery processing unit 166 will be described later with reference to FIG.
 複製ファイルリスト180は、ファイルとジョブとの関連性を示す情報を格納する。複製ファイルリスト180は、ファイルサーバ部161によって生成される。ファイルサーバ部161は、複製ファイルリスト180を参照して、ファイルに対する排他制御を実行する。なお、複製ファイルリスト180の詳細については、図3を用いて後述する。 The duplicate file list 180 stores information indicating the relationship between files and jobs. The duplicate file list 180 is generated by the file server unit 161. The file server unit 161 refers to the duplicate file list 180 and executes exclusive control on the file. Details of the duplicate file list 180 will be described later with reference to FIG.
 遅延書込情報181は、複製データに関する情報を格納する。遅延書込情報181は、遅延複製制御部162によって生成される。遅延書込情報181の詳細については、図4を用いて後述する。 The delayed write information 181 stores information related to replicated data. The delayed writing information 181 is generated by the delayed replication control unit 162. Details of the delayed writing information 181 will be described later with reference to FIG.
 複製送信設定情報182は、複製データの送信先となるサーバ計算機102に関する情報を格納する。具体的には、複製送信設定情報182には、サーバ計算機102のネットワークアドレス、マックアドレス等が含まれる。本実施形態では、サーバ計算機102Bのネットワークアドレスが格納されるものとする。 The duplicate transmission setting information 182 stores information related to the server computer 102 that is the destination of the duplicate data. Specifically, the duplicate transmission setting information 182 includes a network address, a Mac address, and the like of the server computer 102. In this embodiment, it is assumed that the network address of the server computer 102B is stored.
 サーバ計算機102Bは、サーバ計算機102Aに障害が発生した場合に代替計算機として稼動する計算機である。サーバ計算機102Bは、複製受信部144を備える。 The server computer 102B is a computer that operates as an alternative computer when a failure occurs in the server computer 102A. The server computer 102B includes a copy receiving unit 144.
 複製受信部144は、サーバ計算機102Aから送信された複製データの書き込み、及び、障害発生時の復旧処理を実行するためのプログラムであり、複数のモジュールから構成される。具体的には、複製受信部144は、ディスクドライバ163B、ネットワークディスクドライバ164B、複製受信設定部169及びフェイルオーバー処理部170を含む。 The copy receiving unit 144 is a program for executing writing of copy data transmitted from the server computer 102A and recovery processing when a failure occurs, and includes a plurality of modules. Specifically, the copy receiving unit 144 includes a disk driver 163B, a network disk driver 164B, a copy reception setting unit 169, and a failover processing unit 170.
 ディスクドライバ163B及びネットワークディスクドライバ164Bは、ディスクドライバ163A及びネットワークディスクドライバ164Aと同一のものである。 The disk driver 163B and the network disk driver 164B are the same as the disk driver 163A and the network disk driver 164A.
 複製受信設定部169は、実行計算機であるサーバ計算機102からのアクセス要求を許可するか否かを設定する。複製受信設定部169が実行する処理の詳細については、図9を用いて後述する。 The replication reception setting unit 169 sets whether or not to permit an access request from the server computer 102 that is an execution computer. Details of the process executed by the duplicate reception setting unit 169 will be described later with reference to FIG.
 フェイルオーバー処理部170は、フェイルオーバーを実行する。フェイルオーバー処理部170が実行する処理の詳細については、図12A及び図12Bを用いて後述する。 The failover processing unit 170 performs failover. Details of the processing executed by the failover processing unit 170 will be described later with reference to FIGS. 12A and 12B.
 なお、図1に示す例では、サーバ計算機102Aは実行計算機として稼動し、サーバ計算機102Bはサーバ計算機102Aの代替計算機として稼動するものとして説明したが、本発明は前述した構成に限定されない。例えば、サーバ計算機102A及びサーバ計算機102Bが共にファイルシステムプログラム142及び複製受信部144を備え、それぞれ独立してジョブを行う実行計算機として稼動し、かつ、各サーバ計算機102A、102Bが他方のサーバ計算機102の代替計算機としても稼動する構成でもよい。 In the example shown in FIG. 1, the server computer 102A operates as an execution computer and the server computer 102B operates as an alternative computer to the server computer 102A. However, the present invention is not limited to the configuration described above. For example, the server computer 102A and the server computer 102B both include the file system program 142 and the copy receiving unit 144, operate as execution computers that perform jobs independently, and each of the server computers 102A and 102B is the other server computer 102. It may be configured to operate as an alternative computer.
 また、本実施形態では、スケジューラ計算機101と、サーバ計算機102とを別々の計算機としたが、本発明は限定されない。複数のサーバ計算機102の少なくとも1台がジョブスケジューラ141を備える構成であってもよい。 In the present embodiment, the scheduler computer 101 and the server computer 102 are separate computers, but the present invention is not limited. A configuration in which at least one of the plurality of server computers 102 includes the job scheduler 141 may be employed.
 次に、スケジューラ計算機101、サーバ計算機102A及びサーバ計算機102Bのハードウェア構成について説明する。 Next, the hardware configuration of the scheduler computer 101, the server computer 102A, and the server computer 102B will be described.
 図2Aは、本発明の第一の実施形態におけるスケジューラ計算機101のハードウェア構成を示すブロック図である。図2Bは、本発明の第一の実施形態におけるサーバ計算機102Aのハードウェア構成を示すブロック図である。図2Cは、本発明の第一の実施形態におけるサーバ計算機102Bのハードウェア構成を示すブロック図である。 FIG. 2A is a block diagram showing a hardware configuration of the scheduler computer 101 in the first embodiment of the present invention. FIG. 2B is a block diagram showing a hardware configuration of the server computer 102A in the first embodiment of the present invention. FIG. 2C is a block diagram showing a hardware configuration of the server computer 102B in the first embodiment of the present invention.
 図2Aに示すように、スケジューラ計算機101は、プロセッサ111、メモリ112、記憶装置113及びネットワークインタフェース114を備える。 As shown in FIG. 2A, the scheduler computer 101 includes a processor 111, a memory 112, a storage device 113, and a network interface 114.
 プロセッサ111は、メモリ112に格納されたプログラムを実行する。プロセッサ111がプログラムを実行することによってスケジューラ計算機101の機能を実現できる。なお、プログラムを主語に処理を説明する場合、プロセッサ111によってプログラムが実行されていることを示す。 The processor 111 executes a program stored in the memory 112. The function of the scheduler computer 101 can be realized by the processor 111 executing the program. Note that when processing is described with the program as the subject, it indicates that the program is being executed by the processor 111.
 メモリ112は、プロセッサ111が実行するプログラム及び当該プログラムを実行するために必要なデータを格納する。本実施形態では、メモリ112には、ジョブスケジューラ141が格納される。メモリ112は、例えば、DRAMのような半導体メモリが考えられ、記憶装置113に比べ高速にアクセスすることができる。 The memory 112 stores a program executed by the processor 111 and data necessary to execute the program. In the present embodiment, the memory 112 stores a job scheduler 141. The memory 112 may be a semiconductor memory such as a DRAM, and can be accessed at a higher speed than the storage device 113.
 記憶装置113は、プログラム及びデータを格納する。記憶装置113は、例えば、HDD及びSSDなどが考えられる。ネットワークインタフェース114は、ネットワーク104を介して、他の装置と接続するためのインタフェースである。 The storage device 113 stores programs and data. As the storage device 113, for example, an HDD and an SSD can be considered. The network interface 114 is an interface for connecting to other devices via the network 104.
 なお、ジョブスケジューラ141は記憶装置113又は外部の装置(図示省略)に格納されていてもよい。この場合、記憶装置113からジョブスケジューラ141が読み出され、又は、ネットワーク104を介して外部の装置からジョブスケジューラ141が読み出され、メモリ112に格納される。 Note that the job scheduler 141 may be stored in the storage device 113 or an external device (not shown). In this case, the job scheduler 141 is read from the storage device 113, or the job scheduler 141 is read from an external device via the network 104 and stored in the memory 112.
 図2B及び図2Cに示すように、サーバ計算機102A及びサーバ計算機102Bは同一のハードウェア構成である。サーバ計算機102Aは、プロセッサ121A、メモリ122A、記憶装置123A、ネットワークインタフェース124A、ストレージインタフェース125A及びディスク装置126Aを備える。また、サーバ計算機102Bは、プロセッサ121B、メモリ122B、記憶装置123B、ネットワークインタフェース124B、ストレージインタフェース125B及びディスク装置126Bを備える。 As shown in FIG. 2B and FIG. 2C, the server computer 102A and the server computer 102B have the same hardware configuration. The server computer 102A includes a processor 121A, a memory 122A, a storage device 123A, a network interface 124A, a storage interface 125A, and a disk device 126A. The server computer 102B includes a processor 121B, a memory 122B, a storage device 123B, a network interface 124B, a storage interface 125B, and a disk device 126B.
 プロセッサ121A、121Bは、メモリ122A、122Bに格納されたプログラムを実行する。プロセッサ121Aがプログラムを実行することによってサーバ計算機102Aの機能を実現でき、プロセッサ121Bがプログラムを実行することによってサーバ計算機102Bの機能を実現できる。なお、プログラムを主語に処理を説明する場合、プロセッサ121A、121Bによってプログラムが実行されていることを示す。 The processors 121A and 121B execute programs stored in the memories 122A and 122B. The function of the server computer 102A can be realized by the processor 121A executing the program, and the function of the server computer 102B can be realized by the processor 121B executing the program. Note that when processing is described with the program as the subject, it indicates that the program is being executed by the processors 121A and 121B.
 メモリ122A、122Bは、プロセッサ121A、121Bが実行するプログラム及び当該プログラムを実行するために必要なデータを格納する。本実施形態では、メモリ122Aにはユーザーアプリケーション143及びファイルシステムプログラム142が格納され、メモリ122Bには複製受信部144が格納される。メモリ122A、122Bは、例えば、DRAMのような半導体メモリが考えられ、記憶装置123A、123Bに比べ高速にアクセスすることができる。 The memories 122A and 122B store programs executed by the processors 121A and 121B and data necessary for executing the programs. In the present embodiment, the user application 143 and the file system program 142 are stored in the memory 122A, and the copy receiving unit 144 is stored in the memory 122B. As the memories 122A and 122B, for example, a semiconductor memory such as a DRAM can be considered, and can be accessed at a higher speed than the storage devices 123A and 123B.
 記憶装置123A、123Bは、プログラム及びデータを格納する。記憶装置123A、123Bは、例えば、HDD及びSSDなどが考えられる。ネットワークインタフェース124A、124Bは、ネットワーク104を介して、他の装置と接続するためのインタフェースである。 Storage devices 123A and 123B store programs and data. As the storage devices 123A and 123B, for example, HDDs and SSDs can be considered. The network interfaces 124 </ b> A and 124 </ b> B are interfaces for connecting to other devices via the network 104.
 ストレージインタフェース125A、125Bは、大容量のデータが格納可能なストレージ装置(ディスク装置126A、126B)に接続するためのインタフェースである。本実施形態では、ストレージインタフェース125Aを介してディスク装置126Aに接続され、ストレージインタフェース125Bを介してディスク装置126Bに接続される。 The storage interfaces 125A and 125B are interfaces for connecting to storage devices ( disk devices 126A and 126B) that can store a large amount of data. In this embodiment, it is connected to the disk device 126A via the storage interface 125A, and is connected to the disk device 126B via the storage interface 125B.
 ディスク装置126A、126Bは、ユーザーアプリケーション143によって実行される処理に必要なファイルを格納する。なお、ディスク装置126A、126Bは、複数あってもよい。また、複数のディスク装置126A、126Bを用いてRAIDを構成してもよい。また、ディスク装置126Aはサーバ計算機102Aに外付けされた形式でもよいし、また、ディスク装置126Bはサーバ計算機102Bに外付けされた形式でもよい。 The disk devices 126A and 126B store files necessary for processing executed by the user application 143. There may be a plurality of disk devices 126A and 126B. Also, a RAID may be configured using a plurality of disk devices 126A and 126B. Further, the disk device 126A may be in a format externally attached to the server computer 102A, and the disk device 126B may be in a format externally attached to the server computer 102B.
 なお、ユーザーアプリケーション143及びファイルシステムプログラム142は記憶装置123A又は外部の装置(図示省略)に格納されていてもよい。この場合、記憶装置123Aから各プログラムが読み出され、又は、ネットワーク104を介して外部の装置から各プログラムが読み出され、メモリ122Aに格納される。また、複製受信部144は記憶装置123B又は外部の装置(図示省略)に格納されていてもよい。この場合、記憶装置123Bから各プログラムが読み出され、又は、ネットワーク104を介して外部の装置から各プログラムが読み出され、メモリ122Bに格納される。 The user application 143 and the file system program 142 may be stored in the storage device 123A or an external device (not shown). In this case, each program is read from the storage device 123A, or each program is read from an external device via the network 104 and stored in the memory 122A. Further, the copy receiving unit 144 may be stored in the storage device 123B or an external device (not shown). In this case, each program is read from the storage device 123B, or each program is read from an external device via the network 104 and stored in the memory 122B.
 次に、サーバ計算機102Aに格納される情報について説明する。 Next, information stored in the server computer 102A will be described.
 図3は、本発明の第一の実施形態における複製ファイルリスト180の一例を示す説明図である。 FIG. 3 is an explanatory diagram showing an example of the duplicate file list 180 according to the first embodiment of this invention.
 複製ファイルリスト180は、ファイルとジョブとの対応関係を示すリスト形式の情報を格納する。 The duplicate file list 180 stores information in a list format indicating the correspondence between files and jobs.
 最初の情報610には、最初のエントリ611が格納される。最初のエントリ611には、リストに含まれる最初のエントリの格納先を示すメモリ122のアドレスが格納される。 In the first information 610, the first entry 611 is stored. The first entry 611 stores the address of the memory 122 indicating the storage destination of the first entry included in the list.
 最初のエントリ611が示すエントリ620には、ファイルとジョブとの対応関係が格納される。具体的には、エントリ620は、ファイルID621、ジョブID622及び次にエントリ623を含む。 The entry 620 indicated by the first entry 611 stores the correspondence between the file and the job. Specifically, the entry 620 includes a file ID 621, a job ID 622, and then an entry 623.
 ファイルID621は、ファイルを一意に識別する識別子である。ジョブID622は、ファイルID621に対応するファイルを用いて処理を実行するアプリケーション(ジョブ)の識別子である。 The file ID 621 is an identifier that uniquely identifies the file. The job ID 622 is an identifier of an application (job) that executes processing using a file corresponding to the file ID 621.
 また、次のエントリ623は、次のエントリ620の格納先を示すメモリ122のアドレスである。次のエントリ623に、次のエントリ620がないことを示す「0x0」が格納される場合、当該エントリ620がリストの終端であることを示す。 Also, the next entry 623 is an address of the memory 122 indicating the storage destination of the next entry 620. When “0x0” indicating that there is no next entry 620 is stored in the next entry 623, it indicates that the entry 620 is the end of the list.
 なお、図3に示す複製ファイルリスト180は一例であって、ジョブの識別子とファイルの識別子とを含むものであれば、他の方式で複製ファイルリスト180が構成されてもよい。 Note that the duplicate file list 180 shown in FIG. 3 is an example, and the duplicate file list 180 may be configured by other methods as long as it includes a job identifier and a file identifier.
 図4は、本発明の第一の実施形態における遅延書込情報181の一例を示す説明図である。 FIG. 4 is an explanatory diagram showing an example of the delayed writing information 181 in the first embodiment of the present invention.
 遅延書込情報181は、ジョブと、当該ジョブによって書き込まれたデータの位置との対応関係を示すリスト形式の情報が格納される。具体的には、遅延書込情報181には、ジョブリストとブロックリストとが含まれる。 The delayed writing information 181 stores information in a list format indicating the correspondence between a job and the position of data written by the job. Specifically, the delayed writing information 181 includes a job list and a block list.
 最初の情報700には、最初のエントリ701が格納される。最初のエントリ701には、ジョブリストにおける最初のエントリの格納先を示すメモリ122のアドレスが格納される。 In the first information 700, the first entry 701 is stored. The first entry 701 stores the address of the memory 122 indicating the storage location of the first entry in the job list.
 最初のエントリ701が示すエントリ710には、ジョブとデータの位置との対応関係が格納される。エントリ710は、ジョブID711、ブロックリスト712及び次のエントリ713を含む。 The entry 710 indicated by the first entry 701 stores the correspondence between the job and the data position. The entry 710 includes a job ID 711, a block list 712, and the next entry 713.
 ジョブID711は、ジョブを一意に識別する識別子である。ブロックリスト712は、ジョブによって書き込まれたデータの位置を示すブロックリストにおける最初のエントリの格納先を示すメモリ122のアドレスである。 The job ID 711 is an identifier that uniquely identifies the job. The block list 712 is an address of the memory 122 indicating the storage location of the first entry in the block list indicating the position of data written by the job.
 次のエントリ713は、ジョブリストにおける次にエントリ710の格納先を示すメモリ122のアドレスである。次のエントリ713に、次のエントリ710がないことを示す「0x0」が格納される場合、当該エントリ710がリストの終端であることを示す。 The next entry 713 is an address of the memory 122 indicating the storage destination of the next entry 710 in the job list. When “0x0” indicating that there is no next entry 710 is stored in the next entry 713, this indicates that the entry 710 is the end of the list.
 ブロックリストにおける最初のエントリ720には、ジョブID711に対応するジョブによって書き込まれたデータの位置を示す情報が格納される。エントリ720は、ブロック番号721及び次のエントリ722を含む。 In the first entry 720 in the block list, information indicating the position of data written by the job corresponding to the job ID 711 is stored. The entry 720 includes a block number 721 and the next entry 722.
 ブロック番号721は、ジョブによって書き込まれたデータを格納するブロックの位置を示すブロック番号である。次にエントリ722は、ブロックリストにおける次にエントリ720の格納先を示すメモリ122のアドレスである。 Block number 721 is a block number indicating the position of a block that stores data written by a job. Next, the entry 722 is an address of the memory 122 indicating the storage destination of the next entry 720 in the block list.
 なお、図4に示す遅延書込情報181は一例であって、ジョブの識別子とブロック番号とを含むものであれば、他の方式で遅延書込情報181が構成されてもよい。 Note that the delayed writing information 181 shown in FIG. 4 is an example, and the delayed writing information 181 may be configured by other methods as long as it includes a job identifier and a block number.
 次に、各プログラムによって実行される処理について説明する。まず、ジョブスケジューラ141の処理について説明する。 Next, processing executed by each program will be described. First, the processing of the job scheduler 141 will be described.
 図5は、本発明の第一の実施形態における終了通知部151が実行する処理を説明するフローチャートである。 FIG. 5 is a flowchart for explaining processing executed by the end notification unit 151 according to the first embodiment of the present invention.
 終了通知部151は、終了処理部154からジョブの終了通知を受け付けると処理を開始する(ステップS201)。終了通知には、少なくともジョブの識別子が含まれる。 The end notification unit 151 starts processing upon receiving a job end notification from the end processing unit 154 (step S201). The end notification includes at least a job identifier.
 なお、終了処理部154は、ジョブを実行するサーバ計算機102からジョブが終了した旨の通知を受信することによってジョブが終了したことを検出できる。ここでは、サーバ計算機102Aからジョブが終了した旨の通知を受信したものとする。 The end processing unit 154 can detect that the job has ended by receiving a notification that the job has ended from the server computer 102 that executes the job. Here, it is assumed that a notification indicating that the job has ended is received from the server computer 102A.
 終了通知部151は、ジョブの識別子に基づいてジョブ情報171を参照して、終了したジョブが割り当てられたサーバ計算機102Aの識別子を取得する(ステップS202)。ここでは、ネットワーク104におけるサーバ計算機102Aの識別子が取得される。 The completion notification unit 151 refers to the job information 171 based on the job identifier, and acquires the identifier of the server computer 102A to which the completed job is assigned (step S202). Here, the identifier of the server computer 102A in the network 104 is acquired.
 終了通知部151は、取得された識別子に対応するサーバ計算機102の遅延複製制御部162に、ジョブが終了した旨を通知する終了情報を送信する(ステップS203)。当該通知の後、終了通知部151は、処理を終了する(ステップS204)。なお、終了情報には、少なくともジョブの識別子が含まれる。 The end notification unit 151 transmits end information notifying that the job has ended to the delayed replication control unit 162 of the server computer 102 corresponding to the acquired identifier (step S203). After the notification, the end notification unit 151 ends the process (step S204). Note that the end information includes at least a job identifier.
 次に、ファイルシステムプログラム142の処理について説明する。 Next, processing of the file system program 142 will be described.
 図6は、本発明の第一の実施形態におけるファイルサーバ部161が実行する処理を説明するフローチャートである。 FIG. 6 is a flowchart for explaining processing executed by the file server unit 161 according to the first embodiment of the present invention.
 ファイルサーバ部161は、ユーザーアプリケーション143などからアクセス要求を受け付けると処理を開始する(ステップS301)。なお、アクセス要求には、対象となるファイルの識別子(ファイルID)が含まれる。以下では、アクセス要求の対象となるファイルを対象ファイルとも記載する。 When the file server unit 161 receives an access request from the user application 143 or the like, the file server unit 161 starts processing (step S301). The access request includes an identifier (file ID) of the target file. Hereinafter, the file that is the target of the access request is also referred to as the target file.
 ファイルサーバ部161は、複製ファイルリスト180に対象ファイルの情報が記録されているか否かを判定する(ステップS302)。具体的には、ファイルサーバ部161は、アクセス要求に含まれるファイルIDに一致するエントリ620が複製ファイルリスト180に記録されている否かを判定する。 The file server unit 161 determines whether or not the target file information is recorded in the duplicate file list 180 (step S302). Specifically, the file server unit 161 determines whether an entry 620 that matches the file ID included in the access request is recorded in the duplicate file list 180.
 複製ファイルリスト180に対象ファイルの情報が記録されていないと判定された場合、ファイルサーバ部161は、ステップS305に進む。 If it is determined that the target file information is not recorded in the duplicate file list 180, the file server unit 161 proceeds to step S305.
 複製ファイルリスト180に対象ファイルの情報が記録されていると判定された場合、ファイルサーバ部161は、複製ファイルリスト180に記録されたエントリ620を参照して、当該ファイルにアクセス中のジョブの識別子がアクセス要求を発行したジョブの識別子と一致するか否かを判定する(ステップS303)。 When it is determined that the target file information is recorded in the duplicate file list 180, the file server unit 161 refers to the entry 620 recorded in the duplicate file list 180, and identifies the identifier of the job that is accessing the file. Determines whether or not the ID matches the identifier of the job that issued the access request (step S303).
 アクセス中のジョブの識別子がアクセス要求を発行したジョブの識別子と一致しないと判定された場合、ファイルサーバ部161は、エラー終了する(ステップS304)。これは、他のユーザーアプリケーション143によってアクセスされているファイルであることを示すためである。これによって、異なるジョブが同一ファイルに同時にアクセスするような競合アクセスを排除している。 If it is determined that the identifier of the job being accessed does not match the identifier of the job that issued the access request, the file server unit 161 ends in error (step S304). This is to indicate that the file is being accessed by another user application 143. This eliminates contention access in which different jobs access the same file at the same time.
 アクセス中のジョブの識別子がアクセス要求を発行したジョブの識別子と一致すると判定された場合、ファイルサーバ部161は、ステップS305に進む。 If it is determined that the identifier of the job being accessed matches the identifier of the job that issued the access request, the file server unit 161 proceeds to step S305.
 ステップS302の判定結果がNO、又は、ステップS303の判定結果がYESの場合、ファイルサーバ部161は、アクセス要求が書込要求であるか否かを判定する(ステップS305)。 When the determination result of step S302 is NO or the determination result of step S303 is YES, the file server unit 161 determines whether the access request is a write request (step S305).
 アクセス要求が書込要求でない、すなわち、アクセス要求が読出要求であると判定された場合は、ファイルサーバ部161は、読み出す対象ファイルのデータが格納されるディスク装置126A上のブロック番号を算出する(ステップS306)。 If it is determined that the access request is not a write request, that is, the access request is a read request, the file server unit 161 calculates a block number on the disk device 126A in which the data of the target file to be read is stored ( Step S306).
 次に、ファイルサーバ部161は、ディスクドライバ163Aに対して、算出されたブロック番号を含む読出要求を出力する(ステップS307)。読出要求を受け付けたディスクドライバ163Aは、所定のディスク装置126Aから対象ファイルのデータを読み出す。読み出されたデータは、ディスクドライバ163Aからファイルサーバ部161に出力される。 Next, the file server unit 161 outputs a read request including the calculated block number to the disk driver 163A (step S307). Upon receiving the read request, the disk driver 163A reads the data of the target file from the predetermined disk device 126A. The read data is output from the disk driver 163A to the file server unit 161.
 次に、ファイルサーバ部161は、ディスク装置126Aから読み出されたデータをユーザーアプリケーション143に出力し、処理を終了する(ステップS308、ステップS312)。 Next, the file server unit 161 outputs the data read from the disk device 126A to the user application 143, and ends the process (steps S308 and S312).
 ステップS305において、アクセス要求が書込要求であると判定された場合、ファイルサーバ部161は、複製ファイルリスト180に、ファイルの識別子と実行されるジョブの識別子とを対応づけて記録する(ステップS309)。当該処理によって、図3に示すようなエントリ620が生成される。新たなエントリ620が生成されると、その前に生成されていたエントリ620には、次にエントリ623に、新たなエントリ620へのアドレスが追加される。 When it is determined in step S305 that the access request is a write request, the file server unit 161 records the identifier of the file and the identifier of the job to be executed in the duplicate file list 180 (step S309). ). By this processing, an entry 620 as shown in FIG. 3 is generated. When the new entry 620 is generated, the address to the new entry 620 is added to the entry 623 next to the entry 620 generated before that.
 なお、複製ファイルリスト180に同一の情報がすでに記録されている場合、重複して記録は行わないように制御される。 Note that when the same information is already recorded in the duplicate file list 180, control is performed so as not to duplicately record.
 次に、ファイルサーバ部161は、書き込むデータのディスク装置126A上の格納先を示すブロック番号を算出する(ステップS310)。 Next, the file server unit 161 calculates a block number indicating the storage destination of the data to be written on the disk device 126A (step S310).
 次に、ファイルサーバ部161は、遅延複製制御部162に対して書込要求を出力し、処理を終了する(ステップS311、ステップS312)。なお、書込要求には、ジョブの識別子、ブロック番号及びデータが含まれる。 Next, the file server unit 161 outputs a write request to the delayed replication control unit 162 and ends the process (steps S311 and S312). The write request includes a job identifier, a block number, and data.
 以上で説明したように、ファイルサーバ部161は、複製ファイルリスト180を参照して、各ファイルに高々一個のユーザーアプリケーション143からのみアクセスを受け付けるように制御する。 As described above, the file server unit 161 refers to the duplicate file list 180 and controls each file to accept access from only one user application 143 at most.
 このように制御することによって、ユーザーアプリケーション143が異常終了した時に、当該ユーザーアプリケーション143による書き込み処理をすべて取り消した場合であっても、他のユーザーアプリケーション143への影響を抑制する効果がある。 This control has the effect of suppressing the influence on other user applications 143 even when the writing process by the user application 143 is canceled when the user application 143 terminates abnormally.
 複数のユーザーアプリケーション143が同時に読出処理を実行する場合には、ユーザーアプリケーション143の異常終了によるファイルへの影響はないため、前述したような制御を行う必要がない。したがって、複製ファイルリスト180に情報は登録されない。 When a plurality of user applications 143 simultaneously execute read processing, there is no influence on the file due to abnormal termination of the user applications 143, and thus it is not necessary to perform the control as described above. Therefore, no information is registered in the duplicate file list 180.
 図7及び図8は、本発明の第一の実施形態における遅延複製制御部162が実行する処理を説明するフローチャートである。遅延複製制御部162は、ジョブスケジューラ141の終了通知部151から終了情報を受信した場合、及び、ファイルサーバ部161から書込要求を受け付けた場合に起動する。 7 and 8 are flowcharts for explaining processing executed by the delayed replication control unit 162 according to the first embodiment of the present invention. The delayed replication control unit 162 is activated when end information is received from the end notification unit 151 of the job scheduler 141 and when a write request is received from the file server unit 161.
 図7は、ファイルサーバ部161から書込要求を受け付けた場合に実行される処理を示す。 FIG. 7 shows processing executed when a write request is received from the file server unit 161.
 遅延複製制御部162は、ファイルサーバ部161から書込要求を受け付けると処理を開始する(ステップS401)。 The delayed replication control unit 162 starts processing upon receiving a write request from the file server unit 161 (step S401).
 遅延書込情報181は、書込要求に含まれるジョブの識別子及びブロック番号を抽出して、遅延書込情報181に、ジョブの識別子とブロック番号とを対応づけて記録する(ステップS402)。 The delayed write information 181 extracts the job identifier and block number included in the write request, and records the job identifier and block number in the delayed write information 181 in association with each other (step S402).
 遅延書込情報181は、ディスクドライバ163Aに、ブロック番号及びデータを含む、ディスク装置126Aへの書込要求を出力し、処理を終了する(ステップS403、ステップS404)。当該書込要求を受け付けたディスクドライバ163Aは、ディスク装置126Aの所定のブロックにデータを書き込む。 The delayed write information 181 outputs a write request to the disk device 126A including the block number and data to the disk driver 163A, and ends the process (steps S403 and S404). The disk driver 163A that has received the write request writes data to a predetermined block of the disk device 126A.
 図8は、終了通知部151から終了情報を受信した場合に実行される処理を示す。 FIG. 8 shows processing executed when the end information is received from the end notification unit 151.
 遅延複製制御部162は、終了通知部151から終了情報を受信すると処理を開始する(ステップS501)。なお、終了情報には、ジョブの識別子が含まれる。 The delayed replication control unit 162 starts the process when receiving the end information from the end notification unit 151 (step S501). Note that the end information includes a job identifier.
 遅延複製制御部162は、ジョブの識別子に基づいて遅延書込情報181を参照し、終了したジョブに対応するブロックリストを検索する(ステップS502)。具体的には、ジョブID711がジョブの識別子と一致するエントリ720が検索される。 The delayed replication control unit 162 refers to the delayed writing information 181 based on the job identifier, and searches for a block list corresponding to the completed job (step S502). Specifically, an entry 720 in which the job ID 711 matches the job identifier is searched.
 その後、ブロックリストの全エントリに対して以下の処理が繰り返し実行される。 After that, the following processing is repeatedly executed for all entries in the block list.
 まず、遅延複製制御部162は、ブロックリストが空集合であるか否かを判定する(ステップS503)。すなわち、ブロックリストの全てのエントリ720について処理が終了したか否かが判定される。 First, the delayed replication control unit 162 determines whether or not the block list is an empty set (step S503). That is, it is determined whether or not processing has been completed for all entries 720 in the block list.
 ブロックリストが空集合でないと判定された場合、遅延複製制御部162は、リストに含まれるエントリ720を読み出し、エントリ720からブロック番号を取得し、読み出されたエントリ720をブロックリストから削除する(ステップS506)。 When it is determined that the block list is not an empty set, the delayed replication control unit 162 reads the entry 720 included in the list, acquires the block number from the entry 720, and deletes the read entry 720 from the block list ( Step S506).
 次に、遅延複製制御部162は、取得されたブロック番号に格納されたデータを読み出す(ステップS507)。具体的には、遅延複製制御部162は、取得されたブロック番号を含む読出要求をディスクドライバ163Aに出力する。当該読む出し要求を受け付けたディスクドライバ163Aは、ブロック番号に対応するディスク装置126A上のブロックからデータを読み出し、遅延複製制御部162に出力する。ここでは、読み出されたデータが複製データとなる。 Next, the delayed replication control unit 162 reads the data stored in the acquired block number (step S507). Specifically, the delayed replication control unit 162 outputs a read request including the acquired block number to the disk driver 163A. The disk driver 163A that has received the read request reads data from the block on the disk device 126A corresponding to the block number, and outputs the data to the delayed replication control unit 162. Here, the read data is duplicated data.
 遅延複製制御部162は、ブロック番号及び読み出されたデータ(複製データ)を含む書込要求をネットワークディスクドライバ164Aに出力し、ステップS503に戻る(ステップS508)。書込要求を受け付けたネットワークディスクドライバ164Aは、代替計算機であるサーバ計算機102Bに当該書込要求を転送する。サーバ計算機102Bは、転送された書込要求に基づいて、複製データをディスク装置126Bに格納する。 The delayed replication control unit 162 outputs a write request including the block number and the read data (replicated data) to the network disk driver 164A, and returns to step S503 (step S508). The network disk driver 164A that has received the write request transfers the write request to the server computer 102B, which is an alternative computer. The server computer 102B stores the duplicate data in the disk device 126B based on the transferred write request.
 図10で後述するように、複製データを含む書込要求はサーバ計算機102Bに転送されるよう設定されている。転送されたデータは、サーバ計算機102Bのネットワークディスクドライバ164B及びディスクドライバ163Bを介してディスク装置126Bに格納される。 As will be described later with reference to FIG. 10, a write request including duplicate data is set to be transferred to the server computer 102B. The transferred data is stored in the disk device 126B via the network disk driver 164B and the disk driver 163B of the server computer 102B.
 ステップS503において、ブロックリストが空集合であると判定された場合、遅延複製制御部162は、遅延書込情報181から当該ジョブに対応するエントリ710を削除して、処理を終了する(ステップS504、ステップS505)。 If it is determined in step S503 that the block list is an empty set, the delayed replication control unit 162 deletes the entry 710 corresponding to the job from the delayed writing information 181 and ends the process (step S504, Step S505).
 遅延複製制御部162は、データを受信すると同時に自身のディスク装置126Aに当該データを書き込む。一方、遅延複製制御部162は、終了通知部151から終了情報を受信するまで、サーバ計算機102Bへの書き込みを保留する。すなわち、ジョブスケジューラ141がジョブの終了を確認するまで、複製データの作成処理が保留される。 The delayed replication control unit 162 receives the data and simultaneously writes the data to its own disk device 126A. On the other hand, the delayed replication control unit 162 suspends writing to the server computer 102B until it receives end information from the end notification unit 151. That is, the copy data creation process is suspended until the job scheduler 141 confirms the end of the job.
 これによって、ジョブを実行するユーザーアプリケーション143が異常終了した場合であっても、サーバ計算機102Bのディスク装置126Bには、異常終了したユーザーアプリケーション143によって書き込まれたデータが反映されない。したがって、サーバ計算機102Bのディスク装置126Bを参照することによって、異常終了したユーザーアプリケーション143がジョブを開始する前の状態に戻すことが可能となる。 Thus, even when the user application 143 that executes the job is abnormally terminated, the data written by the user application 143 that has abnormally terminated is not reflected on the disk device 126B of the server computer 102B. Therefore, by referring to the disk device 126B of the server computer 102B, the user application 143 that has ended abnormally can be returned to the state before starting the job.
 次に、サーバ計算機102における複製データの送受信の設定方法の一例を説明する。 Next, an example of a setting method for transmission / reception of replicated data in the server computer 102 will be described.
 以下で説明する例では、サーバ計算機102Bはサーバ計算機102Aの代替計算機として稼動するだけでなく、実行計算機としても稼動するものとする。すなわち、サーバ計算機102Bは、サーバ計算機102Aと同等にファイルシステムプログラム142を備え、当該プログラムを実行するものとする。したがって、サーバ計算機102A、102Bのお互いに他方の代替計算機となるように設定される。具体的に、複製受信設定部183が代替計算機としてデータを受信するための設定を行い、複製送信設定部165が実行計算機としてデータを送信するための設定を行う。 In the example described below, it is assumed that the server computer 102B not only operates as a substitute computer for the server computer 102A but also operates as an execution computer. That is, the server computer 102B includes the file system program 142 equivalent to the server computer 102A and executes the program. Accordingly, the server computers 102A and 102B are set to be the other alternative computers. Specifically, the duplicate reception setting unit 183 performs settings for receiving data as an alternative computer, and the duplicate transmission setting unit 165 performs settings for transmitting data as an execution computer.
 図9は、本発明の第一の実施形態における複製受信設定部169が実行する処理を説明するフローチャートである。 FIG. 9 is a flowchart for explaining processing executed by the copy reception setting unit 169 according to the first embodiment of the present invention.
 複製受信設定部169は、管理者からの起動命令を受け付けると処理を開始する(ステップS1001)。 The copy reception setting unit 169 starts processing upon receiving an activation command from the administrator (step S1001).
 まず、複製受信設定部169は、自身のネットワークインタフェース124に設定されたネットワークアドレスを取得する(ステップS1002)。取得されるネットワークアドレスは、例えばIPアドレスである。 First, the duplicate reception setting unit 169 acquires the network address set in its own network interface 124 (step S1002). The acquired network address is, for example, an IP address.
 複製受信設定部169は、取得されたネットワークアドレスが偶数であるか否かを判定する(ステップS1003)。IPアドレスがIPv4のIPアドレスである場合、ホストアドレス部分の数値が偶数か否かが判定される。例えば、取得されたIPアドレスが「192.168.1.160」の場合、当該IPアドレスは、偶数であると判定される。 The replication reception setting unit 169 determines whether or not the acquired network address is an even number (step S1003). If the IP address is an IPv4 IP address, it is determined whether or not the numerical value of the host address portion is an even number. For example, when the acquired IP address is “192.168.1.160”, it is determined that the IP address is an even number.
 ネットワークアドレスが偶数であると判定された場合、複製受信設定部169は、自身のネットワークアドレスに「1」を減じたネットワークアドレスが割り当てられるサーバ計算機102を実行計算機として、当該サーバ計算機102からネットワークディスクドライバ164を介したアクセスを許可するように設定し、処理を終了する(ステップS1004、ステップS1006)。なお、アクセス許可の設定情報はメモリ122に格納される。 When it is determined that the network address is an even number, the copy reception setting unit 169 uses the server computer 102 to which the network address obtained by subtracting “1” as its own network address is assigned as the execution computer, from the server computer 102 to the network disk. The setting is made such that access via the driver 164 is permitted, and the process is terminated (steps S1004 and S1006). The access permission setting information is stored in the memory 122.
 ネットワークアドレスが偶数でない、すなわち、ネットワークアドレスが奇数であると判定された場合、複製受信設定部169は、自身のネットワークアドレスに「1」を加えたネットワークアドレスが割り当てられたサーバ計算機102を実行計算機として、当該サーバ計算機102からネットワークディスクドライバ164を介したアクセスを許可するように設定し、処理を終了する(ステップS1005、ステップS1006)。 If it is determined that the network address is not an even number, that is, the network address is an odd number, the copy reception setting unit 169 executes the server computer 102 to which the network address obtained by adding “1” to its own network address is assigned to the execution computer As described above, the server computer 102 is set to allow access via the network disk driver 164, and the process is terminated (steps S1005 and S1006).
 図10は、本発明の第一の実施形態における複製送信設定部165が実行する処理を説明するフローチャートである。 FIG. 10 is a flowchart for describing processing executed by the duplicate transmission setting unit 165 according to the first embodiment of this invention.
 複製送信設定部165は、管理者からの起動命令を受け付けると処理を開始する(ステップS1101)。 The copy transmission setting unit 165 starts processing upon receiving an activation command from the administrator (step S1101).
 まず、複製送信設定部165は、自身のネットワークインタフェース124に設定されたネットワークアドレスを取得する(ステップS1102)。取得されるネットワークアドレスは、例えばIPアドレスである。 First, the duplicate transmission setting unit 165 acquires the network address set in its own network interface 124 (step S1102). The acquired network address is, for example, an IP address.
 複製送信設定部165は、取得されたネットワークアドレスが偶数であるか否かを判定する(ステップS1103)。ステップS1103の処理は、ステップS1003と同一の処理である。 The duplicate transmission setting unit 165 determines whether or not the acquired network address is an even number (step S1103). The process of step S1103 is the same process as step S1003.
 ネットワークアドレスが偶数であると判定され場合、複製送信設定部165は、自身のネットワークアドレスに「1」を加えたネットワークアドレスが割り当てられたサーバ計算機102を代替計算機として、当該サーバ計算機102をネットワークディスクドライバ164を介したアクセス先に設定し、ステップS1106に進む(ステップS1104)。 When it is determined that the network address is an even number, the duplicate transmission setting unit 165 uses the server computer 102 assigned with the network address obtained by adding “1” to its network address as an alternative computer, and uses the server computer 102 as a network disk. The access destination via the driver 164 is set, and the process proceeds to step S1106 (step S1104).
 ネットワークアドレスが偶数でない、すなわち、ネットワークアドレスが奇数であると判定された場合、複製送信設定部165は、自身のネットワークアドレスから「1」を減じたネットワークアドレスが割り当てられたサーバ計算機102を代替計算機として、当該サーバ計算機102をネットワークディスクドライバ164を介したアクセス先に設定し、ステップS1106に進む(ステップS1105)。 When it is determined that the network address is not an even number, that is, the network address is an odd number, the duplicate transmission setting unit 165 replaces the server computer 102 to which the network address obtained by subtracting “1” from its own network address is an alternative computer. Then, the server computer 102 is set as an access destination via the network disk driver 164, and the process proceeds to step S1106 (step S1105).
 複製送信設定部165は、代替計算機として設定したサーバ計算機102のネットアドレスを複製送信設定情報182に記録し、処理を終了する(ステップS1006、ステップS1107)。 The replication transmission setting unit 165 records the net address of the server computer 102 set as an alternative computer in the replication transmission setting information 182 and ends the process (steps S1006 and S1107).
 図9及び図10において説明した処理によって、同様の構成である多数のサーバ計算機102の中から、互いに複製データを保持する計算機102のペアを自動的に生成することができる。 9 and 10 can automatically generate a pair of computers 102 each holding duplicate data from among a large number of server computers 102 having the same configuration.
 本実施形態では、各サーバ計算機102に1ずつ増える連続的なアドレスが割り当てられていることを仮定したが、本発明はこれに限定されない。すなわち、データの送信先及びデータの受信元をネットワークディスクドライバ164に設定できるものであれば、本発明は実施可能である。 In this embodiment, it is assumed that each server computer 102 is assigned a continuous address that increases by one, but the present invention is not limited to this. That is, the present invention can be implemented as long as the data transmission destination and the data reception source can be set in the network disk driver 164.
 次に、実行計算機であるサーバ計算機102Aに障害が発生した場合の処理について説明する。以下では、サーバ計算機102Aはシステム管理者によって障害原因が取り除かれ再起動されるものとする。回復処理部166は、再起動を契機に起動する。 Next, processing when a failure occurs in the server computer 102A that is an execution computer will be described. In the following, it is assumed that the server computer 102A is restarted after the cause of the failure is removed by the system administrator. The recovery processing unit 166 is activated upon restart.
 図11は、本発明の第一の実施形態における回復処理部166が実行する処理を説明するフローチャートである。 FIG. 11 is a flowchart illustrating processing executed by the recovery processing unit 166 according to the first embodiment of this invention.
 回復処理部166は、再起動を契機に処理を開始した後、複製送信設定部165を起動させ、ネットワークディスクドライバ164を設定する(ステップS1201、ステップS1202)。 The recovery processing unit 166 starts processing upon restart, and then activates the duplicate transmission setting unit 165 to set the network disk driver 164 (steps S1201 and S1202).
 回復処理部166は、複製送信設定情報182を読み出す(ステップS1203)。本実施形態では、複製送信設定情報182には、サーバ計算機102Bのネットワークアドレスが記録されている。 The recovery processing unit 166 reads the duplicate transmission setting information 182 (step S1203). In the present embodiment, the copy transmission setting information 182 records the network address of the server computer 102B.
 回復処理部166は、代替計算機であるサーバ計算機102Bからディスク装置126Aへのアクセスを許可するようにネットワークディスクドライバ164Aを設定する(ステップS1204)。 The recovery processing unit 166 sets the network disk driver 164A so as to permit access to the disk device 126A from the server computer 102B, which is an alternative computer (step S1204).
 その後、回復処理部166は、サーバ計算機102Bのフェイルオーバー処理部170からの完了通知を受信するまで処理を待つ(ステップS1205)。 Thereafter, the recovery processing unit 166 waits for processing until a completion notification is received from the failover processing unit 170 of the server computer 102B (step S1205).
 回復処理部166は、ステップS1204においてネットワークディスクドライバ164Aに設定されたアクセス許可の設定を解除し、処理を終了する(ステップS1206)。その後、サーバ計算機102A、102Bは、通常の状態に戻る。 The recovery processing unit 166 cancels the access permission setting set in the network disk driver 164A in step S1204, and ends the process (step S1206). Thereafter, the server computers 102A and 102B return to the normal state.
 図12A及び図12Bは、本発明の第一の実施形態におけるフェイルオーバー処理部170が実行する処理を説明するフローチャートである。 FIG. 12A and FIG. 12B are flowcharts for explaining processing executed by the failover processing unit 170 in the first embodiment of the present invention.
 サーバ計算機102Bは、サーバ計算機102Aの停止を検知すると、フェイルオーバー処理部170を起動する(ステップS1301)。その後、フェイルオーバー処理部170は、サーバ計算機102Aが回復するまで、以下の処理を繰り返し実行する。なお、サーバ計算機102Bは、ハートビート等を用いてサーバ計算機102Aが停止していることを検出できる。 When the server computer 102B detects the stop of the server computer 102A, the server computer 102B activates the failover processing unit 170 (step S1301). Thereafter, the failover processing unit 170 repeatedly executes the following processing until the server computer 102A recovers. The server computer 102B can detect that the server computer 102A is stopped using a heartbeat or the like.
 まず、フェイルオーバー処理部170は、障害が発生したサーバ計算機102Aのファイルサーバ部161の代わりアクセス要求を受信する(ステップS1302)。なお、サーバ計算機102Bもファイルシステムプログラム142を備え、実行計算機として稼動しているものとする。また、アクセス要求の受信先の切り替え方法については、公知の技術であるため説明を省略する。 First, the failover processing unit 170 receives an access request instead of the file server unit 161 of the server computer 102A where the failure has occurred (step S1302). It is assumed that the server computer 102B also has a file system program 142 and is operating as an execution computer. Further, since the method for switching the access request reception destination is a known technique, a description thereof will be omitted.
 次に、フェイルオーバー処理部170は、受信したアクセス要求が書込要求であるか否かを判定する(ステップS1303)。 Next, the failover processing unit 170 determines whether or not the received access request is a write request (step S1303).
 受信したアクセス要求が書込要求でない、すなわち、読出要求であると判定された場合、フェイルオーバー処理部170は、対象データが記録されるブロック番号を算出する(ステップS1304)。 When it is determined that the received access request is not a write request, that is, a read request, the failover processing unit 170 calculates a block number in which target data is recorded (step S1304).
 さらに、フェイルオーバー処理部170は、ディスクドライバ163に算出されたブロック番号を含む読出要求を出力し、その後、ステップS1302に戻り、次にアクセス要求を待つ(ステップS1305)。読出要求を受け付けたディスクドライバ163Bは、ディスク装置126Bからデータを読み出す。読み出されたデータは、アクセス要求の送信元に送信される。 Further, the failover processing unit 170 outputs a read request including the calculated block number to the disk driver 163, returns to step S1302, and then waits for an access request (step S1305). The disk driver 163B that has received the read request reads data from the disk device 126B. The read data is transmitted to the access request source.
 ステップS1303において、受信したアクセス要求が書込要求であると判定された場合、フェイルオーバー処理部170は、対象データをサーバ計算機102B及びサーバ計算機102Aの両方に反映させるために以下のような処理を実行する。 If it is determined in step S1303 that the received access request is a write request, the failover processing unit 170 performs the following processing in order to reflect the target data in both the server computer 102B and the server computer 102A. Execute.
 まず、フェイルオーバー処理部170は、障害が発生して停止していたサーバ計算機102Aが再起動しているか否かを判定する(ステップS1307)。 First, the failover processing unit 170 determines whether or not the server computer 102A that has been stopped due to a failure has been restarted (step S1307).
 サーバ計算機102Aが再起動していないと判定された場合、フェイルオーバー処理部170は、サーバ計算機102Aの状態を確認する(ステップS1309)。 When it is determined that the server computer 102A has not been restarted, the failover processing unit 170 checks the state of the server computer 102A (step S1309).
 次に、フェイルオーバー処理部170は、前述した確認の結果に基づいて、サーバ計算機102Aの再起動を検出したか否かを判定する(ステップS1310)。例えば、サーバ計算機102Aから再起動した旨の通知を受けた場合、ハートビートによる応答があった場合には、サーバ計算機102Aの再起動を検出したと判定される。 Next, the failover processing unit 170 determines whether or not the restart of the server computer 102A has been detected based on the result of the confirmation described above (step S1310). For example, when a notification indicating that the server computer 102A has been restarted is received, and there is a response due to a heartbeat, it is determined that the restart of the server computer 102A has been detected.
 サーバ計算機102Aの再起動が検出されていないと判定された場合、フェイルオーバー処理部170は、ディスク装置126Bにのみデータを反映させるために、算出されたブロック番号及びデータを含む書込要求をディスクドライバ163Bに出力し、ステップS1302に戻る(ステップS1311)。 If it is determined that the restart of the server computer 102A has not been detected, the failover processing unit 170 sends a write request including the calculated block number and data to the disk device 126B to reflect the data. The data is output to the driver 163B, and the process returns to step S1302 (step S1311).
 サーバ計算機102Aの再起動が検出されたと判定された場合、フェイルオーバー処理部170は、ディスク装置126Bの内容をすべてディスク装置126Aに反映させるためのコピー処理を開始する(ステップS1312)。ただし、コピー処理では、すでにデータが反映された記憶領域については処理をスキップする。 When it is determined that the restart of the server computer 102A has been detected, the failover processing unit 170 starts copy processing for reflecting all the contents of the disk device 126B on the disk device 126A (step S1312). However, in the copy process, the process is skipped for a storage area in which data has already been reflected.
 ステップS1307において、サーバ計算機102Aが再起動していると判定された場合、又は、ステップS1312の後、フェイルオーバー処理部170は、ディスクドライバ163B及びネットワークディスクドライバ164Bに、算出されたブロック番号及びデータを含む書込要求を出力する(ステップS1313)。書込要求を受信したネットワークディスクドライバ164Bは、データを含む書込要求をサーバ計算機102Aに転送する。 If it is determined in step S1307 that the server computer 102A has been restarted, or after step S1312, the failover processing unit 170 sends the calculated block number and data to the disk driver 163B and the network disk driver 164B. A write request including is output (step S1313). The network disk driver 164B that has received the write request transfers the write request including the data to the server computer 102A.
 当該処理によって、ディスク装置126A及びディスク装置126Bの両方に同一のデータが書き込まれる。 By this processing, the same data is written to both the disk device 126A and the disk device 126B.
 次に、フェイルオーバー処理部170は、コピー処理の進捗状況を確認し、当該コピー処理が終了したか否かを判定する(ステップS1314)。 Next, the failover processing unit 170 confirms the progress status of the copy process, and determines whether or not the copy process is completed (step S1314).
 コピー処理が終了していないと判定された場合、フェイルオーバー処理部170は、ステップS1302に戻る。 If it is determined that the copy process has not ended, the failover processing unit 170 returns to step S1302.
 コピー処理が終了したと判定された場合、フェイルオーバー処理部170は、回復処理部166に完了通知を送信し、処理を終了する(ステップS1315、ステップS1316)。 If it is determined that the copy process has been completed, the failover processing unit 170 transmits a completion notification to the recovery processing unit 166 and ends the process (steps S1315 and S1316).
 回復処理部166及びフェイルオーバー処理部170は、代替計算機であるサーバ計算機Bからネットワークディスクドライバ164Bを介したディスク装置126Aへのアクセスを許可している。この操作によって、サーバ計算機102Bが実行計算機として処理を継続すると同時に、サーバ計算機102Aの停止中に書き込まれたデータをサーバ計算機102Aのディスク装置126Aに反映させることができる。 The recovery processing unit 166 and the failover processing unit 170 permit access from the server computer B, which is an alternative computer, to the disk device 126A via the network disk driver 164B. By this operation, the server computer 102B can continue processing as an execution computer, and at the same time, data written while the server computer 102A is stopped can be reflected in the disk device 126A of the server computer 102A.
 [第二の実施形態] [Second embodiment]
 第二の実施形態では、代替計算機であるサーバ計算機102Bがディスク装置126Bへの複製データの書き込みを遅延させる点が第一の実施形態と異なる。以下、第一の実施形態との差異を中心に、第二の実施形態について説明する。 The second embodiment differs from the first embodiment in that the server computer 102B, which is an alternative computer, delays the writing of replicated data to the disk device 126B. Hereinafter, the second embodiment will be described focusing on the differences from the first embodiment.
 図13は、本発明の第二の実施形態の計算機システムの構成を示すブロック図である。 FIG. 13 is a block diagram showing a configuration of a computer system according to the second embodiment of this invention.
 第二の実施形態では、サーバ計算機102A及びサーバ計算機102Bの構成が異なる。 In the second embodiment, the configurations of the server computer 102A and the server computer 102B are different.
 具体的には、ファイルシステムプログラム142は遅延複製制御部162の代わりに複製制御部862を含む。また、複製受信部144は、新たに受信側遅延複製制御部871、遅延書込情報884及び一時書込領域890を含む。 Specifically, the file system program 142 includes a replication control unit 862 instead of the delayed replication control unit 162. In addition, the copy receiving unit 144 newly includes a receiving side delayed copy control unit 871, delayed writing information 884, and a temporary writing area 890.
 また、第二の実施形態では、ファイルサーバ部861が実行する処理が、ファイルサーバ部161と異なる。具体的には、ステップS311において、ファイルサーバ部861は、複製制御部892に書込要求を出力する。その他の処理は第一の実施形態と同一である。 In the second embodiment, the process executed by the file server unit 861 is different from that of the file server unit 161. Specifically, in step S311, the file server unit 861 outputs a write request to the replication control unit 892. Other processes are the same as those in the first embodiment.
 本実施形態では、サーバ計算機102Aはデータを書き込み場合、常にデータをサーバ計算機102Bにも送信する。したがって、サーバ計算機102Aは、遅延書込情報181を備えていない。また、サーバ計算機102Bは、ジョブスケジューラ141からの終了通知を受信するまでディスク装置126Bへのデータの書き込みを保留する。前述した処理を実現するため、サーバ計算機102Bは、受信側遅延複製制御部871、遅延書込情報884及び一時書込領域890を備える。 In this embodiment, the server computer 102A always transmits data to the server computer 102B when writing data. Therefore, the server computer 102A does not include the delayed writing information 181. Further, the server computer 102B suspends data writing to the disk device 126B until receiving an end notification from the job scheduler 141. In order to implement the above-described processing, the server computer 102B includes a receiving-side delayed replication control unit 871, delayed writing information 884, and a temporary writing area 890.
 以下、第一の実施形態とは異なる構成部によって実行される処理について説明する。 Hereinafter, processing executed by a component different from the first embodiment will be described.
 図14は、本発明の第二の実施形態における複製制御部892が実行する処理を説明するフローチャートである。 FIG. 14 is a flowchart illustrating processing executed by the replication control unit 892 according to the second embodiment of the present invention.
 複製制御部892は、ファイルサーバ部861から書込要求を受け付けると処理を開始する(ステップS1401)。 When the replication control unit 892 receives a write request from the file server unit 861, the replication control unit 892 starts processing (step S1401).
 複製制御部892は、受け付けた書込要求に含まれる情報を変更することなく、当該書込要求をディスクドライバ163A及びネットワークディスクドライバ164Aに出力し、処理を終了する(ステップS1402、ステップS1403)。 The replication control unit 892 outputs the write request to the disk driver 163A and the network disk driver 164A without changing the information included in the received write request, and ends the processing (steps S1402 and S1403).
 受信側遅延複製制御部871は、書込要求を受信した場合に、図7と同様の処理を実行する。 When the receiving side delayed replication control unit 871 receives a write request, it executes the same processing as in FIG.
 具体的には、ステップS401において、受信側遅延複製制御部871は、複製制御部862からの書込要求を受信すると処理を開始する。ステップS402において、受信側遅延複製制御部871は、ジョブの識別子及びブロック番号を遅延書込情報884に記録する。また、ステップS403において、受信側遅延複製制御部871は、一時書込領域890にデータを格納する。 Specifically, in step S401, the receiving-side delayed replication control unit 871 starts processing upon receiving a write request from the replication control unit 862. In step S <b> 402, the reception-side delayed replication control unit 871 records the job identifier and block number in the delayed writing information 884. In step S <b> 403, the receiving-side delayed replication control unit 871 stores data in the temporary write area 890.
 ここで、受信側遅延複製制御部871は、一時書込領域890へのデータの書き込む場合、直接、一時書込領域890にデータを書き込んでもよいし、ディスクドライバ163Bに一時書込領域890への書込要求を出力してもよい。 Here, when writing data to the temporary writing area 890, the receiving side delayed replication control unit 871 may directly write the data to the temporary writing area 890, or may write the data to the temporary writing area 890 in the disk driver 163B. A write request may be output.
 なお、一時書込領域890は、例えば、磁気ディスク、半導体ディスク、ソフトウェアによって実現された仮想的なディスク、又はそれらを併用したものによって実現され、実装の形式は任意である。 The temporary writing area 890 is realized by, for example, a magnetic disk, a semiconductor disk, a virtual disk realized by software, or a combination of them, and the mounting format is arbitrary.
 また、受信側遅延複製制御部871は、ジョブスケジューラ141の終了通知部151から終了情報を受信した場合に、図5と同様の処理を実行する。図5に示す処理との差異は、遅延書込情報884に基づいて処理が実行され、ステップS507におけるデータの読み出し元が一時書込領域890となり、ステップS508における書込要求の出力先がディスクドライバ163Bとなる点である。 Further, when receiving the end information from the end notification unit 151 of the job scheduler 141, the receiving side delayed replication control unit 871 executes the same processing as in FIG. The difference from the process shown in FIG. 5 is that the process is executed based on the delayed write information 884, the data read source in step S507 is the temporary write area 890, and the output destination of the write request in step S508 is the disk driver. It is a point which becomes 163B.
 その他の処理は第一の実施形態と同一であるため説明を省略する。 Other processing is the same as that of the first embodiment, and thus description thereof is omitted.
 [第三の実施形態] [Third embodiment]
 第三の実施形態では、第一の実施形態に加え、複数の代替計算機であるサーバ計算機102に複製データを分割して書き込む。以下、第一の実施形態との差異を中心に説明する。 In the third embodiment, in addition to the first embodiment, the replicated data is divided and written in the server computer 102 which is a plurality of alternative computers. Hereinafter, the difference from the first embodiment will be mainly described.
 図15は、本発明の第三の実施形態の計算機システムの構成を示すブロック図である。 FIG. 15 is a block diagram showing a configuration of a computer system according to the third embodiment of this invention.
 第三の実施形態では、計算機システムが、代替計算機であるサーバ計算機102Cを含む点が異なる。なお、サーバ計算機102Cは、サーバ計算機102Bと同一の構成であり、ディスク装置126を備える。また、サーバ計算機102Aは、さらに、複製分割部1401を備える。 The third embodiment is different in that the computer system includes a server computer 102C that is an alternative computer. The server computer 102C has the same configuration as the server computer 102B and includes a disk device 126. The server computer 102A further includes a replication division unit 1401.
 本実施形態では、複製分割部1401が、遅延複製制御部162によって生成された複製データを分割して、各サーバ計算機102B、102Cに格納する。 In this embodiment, the replication division unit 1401 divides the replication data generated by the delayed replication control unit 162 and stores it in each server computer 102B, 102C.
 以下、第三の実施形態における処理について説明する。 Hereinafter, processing in the third embodiment will be described.
 第三の実施形態では、遅延複製制御部162が、終了通知部151から終了情報を受信した場合に実行する処理が異なる。具体的には、ステップS508において、遅延複製制御部162は、複製分割部1401に複製データの書込要求を出力する。他の処理は第一の実施形態と同一である。 In the third embodiment, the process executed when the delayed replication control unit 162 receives the end information from the end notification unit 151 is different. Specifically, in step S508, the delayed replication control unit 162 outputs a replication data write request to the replication division unit 1401. Other processes are the same as those in the first embodiment.
 図16は、本発明の第三の実施形態における複製分割部1401が実行する処理の詳細を説明するフローチャートである。 FIG. 16 is a flowchart for explaining details of processing executed by the replication division unit 1401 according to the third embodiment of the present invention.
 複製分割部1401は、遅延複製制御部162から書込要求を受け付けると処理を開始する(ステップS1501)。 The replication division unit 1401 starts processing upon receiving a write request from the delayed replication control unit 162 (step S1501).
 複製分割部1401は、書込要求に含まれるブロック番号を参照して、当該ブロック番号が偶数であるか否かを判定する(ステップS1502)。ここでは、データの最初のブロック番号を対象とする。 The replication division unit 1401 refers to the block number included in the write request and determines whether the block number is an even number (step S1502). Here, the first block number of data is targeted.
 ブロック番号が偶数であると判定された場合、複製分割部1401は、ネットワークディスクドライバ164Aを介して、サーバ計算機102Cに複製データの書込要求を送信し、処理を終了する(ステップS1503)。 If it is determined that the block number is an even number, the replication dividing unit 1401 transmits a request for writing the replicated data to the server computer 102C via the network disk driver 164A, and ends the process (step S1503).
 ブロック番号が偶数でない、すなわち、ブロック番号が奇数であると判定された場合、複製分割部1401は、ネットワークディスクドライバ164Aを介してサーバ計算機102Bに複製データの書込要求を送信し、処理を終了する(ステップS1504)。 When it is determined that the block number is not an even number, that is, the block number is an odd number, the replication division unit 1401 transmits a replication data write request to the server computer 102B via the network disk driver 164A, and ends the processing. (Step S1504).
 なお、第三の実施形態では、代替計算機であるサーバ計算機102を2台としたが、3台以上あってもよい。この場合、書き込みアドレスをサーバ計算機102の台数で除算した余りに基づいて、複製データの転送先を決定する方法が考えられる。 In the third embodiment, two server computers 102 which are alternative computers are used, but there may be three or more. In this case, a method of determining the transfer destination of the duplicate data based on the remainder obtained by dividing the write address by the number of server computers 102 can be considered.
 代替計算機であるサーバ計算機を複数台配置することによって、複製データの書き込むに必要な時間を短縮できる。したがって、複製データを保存するディスクドライブを低速かつ安価なディスク装置を用いて構成できる。 配置 By placing multiple server computers that are alternative computers, the time required to write replicated data can be shortened. Therefore, a disk drive for storing duplicate data can be configured using a low-speed and inexpensive disk device.
 本発明によれば、代替計算機であるサーバ計算機102に対する複製データの書き込む場合に遅延を生じさせ、ジョブの終了を契機に複製データを代替計算機に反映することができる。これによって、実行計算機であるサーバ計算機102に障害が発生しても、代替計算機であるサーバ計算機102はジョブ開始の状態から当該ジョブを再開することができる。 According to the present invention, it is possible to cause a delay when writing replicated data to the server computer 102 as an alternative computer, and to reflect the replicated data to the alternative computer when the job ends. As a result, even if a failure occurs in the server computer 102 that is an execution computer, the server computer 102 that is an alternative computer can resume the job from the job start state.
 なお、本発明は前述した実施形態に限定されるものではなく、様々な変形例が含まれる。例えば、前述した実施形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施形態の構成の一部を他の実施形態の構成に置き換えることが可能であり、また、ある実施形態の構成に他の実施形態の構成を加えることも可能である。また、各実施形態の構成の一部について、他の構成の追加、削除、置換をすることが可能である。 In addition, this invention is not limited to embodiment mentioned above, Various modifications are included. For example, the above-described embodiments have been described in detail for easy understanding of the present invention, and are not necessarily limited to those having all the configurations described. Further, a part of the configuration of an embodiment can be replaced with the configuration of another embodiment, and the configuration of another embodiment can be added to the configuration of an embodiment. Moreover, it is possible to add, delete, and replace other configurations for a part of the configuration of each embodiment.
 また、前述の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によってハードウェアを用いて実現してもよい。また、前述の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによってソフトウェアを用いて実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリ、ハードディスク及びSSD(Solid State Drive)等の記録装置、又は、ICカード、SDカード及びDVD等の記録媒体に格納することができる。また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際にはほとんど全ての構成が相互に接続されていると考えてもよい。 In addition, each of the above-described configurations, functions, processing units, processing means, and the like may be realized using hardware by designing a part or all of them with, for example, an integrated circuit. In addition, each of the above-described configurations, functions, and the like may be realized using software by the processor interpreting and executing a program that realizes each function. Information such as programs, tables, and files that realize each function can be stored in a recording device such as a memory, a hard disk, and an SSD (Solid State Drive), or a recording medium such as an IC card, an SD card, and a DVD. Further, the control lines and information lines indicate what is considered necessary for the explanation, and not all the control lines and information lines on the product are necessarily shown. Actually, it may be considered that almost all the components are connected to each other.

Claims (18)

  1.  一つの処理が複数に分割されたジョブを実行する複数の計算機がネットワークを介して接続される計算機システムであって、
     前記複数の計算機の各々は、プロセッサと、前記プロセッサに接続されるメモリと、前記プロセッサに接続される記憶媒体と、他の装置と接続するためのネットワークインタフェースとを有し、
     前記複数の計算機は、前記ジョブを実行する第1の計算機、及び、前記第1の計算機の前記記憶媒体に格納されるデータの複製データを保持する第2の計算機を含み、
     前記計算機システムは、
     前記ジョブによって前記第1の計算機の記憶媒体に書き込まれたデータの複製データを生成し、特定の条件下において前記複製データを前記第2の計算機の前記記憶媒体に書き込む複製制御部を備えることを特徴とする計算機システム。
    A computer system in which a plurality of computers that execute a job in which one process is divided into a plurality are connected via a network,
    Each of the plurality of computers has a processor, a memory connected to the processor, a storage medium connected to the processor, and a network interface for connecting to another device,
    The plurality of computers includes a first computer that executes the job, and a second computer that holds duplicate data of data stored in the storage medium of the first computer,
    The computer system is
    A replication control unit that generates replication data of data written to the storage medium of the first computer by the job and writes the replication data to the storage medium of the second computer under a specific condition; A featured computer system.
  2.  請求項1に記載の計算機システムであって、
     前記複製制御部は、前記ジョブが終了した旨の通知を受信した後に前記複製データを前記第2の計算機の記憶媒体に書き込むことを特徴とする計算機システム。
    The computer system according to claim 1,
    The computer system, wherein the duplication control unit writes the duplication data in a storage medium of the second computer after receiving a notification that the job is finished.
  3.  請求項2に記載の計算機システムであって、
     前記計算機システムは、さらに、前記ジョブの終了を検出し、前記ジョブが終了した旨の通知を送信する終了通知部を備えることを特徴とする計算機システム。
    The computer system according to claim 2,
    The computer system further includes an end notification unit that detects the end of the job and transmits a notification that the job has ended.
  4.  請求項3に記載の計算機システムであって、
     前記計算機システムは、前記複数の計算機が有する前記記憶媒体によって提供される記憶領域を統合したストレージ上に構成されるファイルシステムを備え、
     前記ファイルシステムは、前記ジョブの実行時に用いられる複数のファイルのデータを管理し、
     前記ストレージを構成する前記記憶領域を提供する前記複数の計算機の各々には、所定の範囲毎に前記ファイルのデータが分散して配置され、
     前記複数の計算機は、さらに、前記ジョブの実行スケジュールを管理するスケジューラ計算機を含み、
     前記スケジューラ計算機は、前記終了通知部を有し、
     前記第1の計算機は、第1の複製制御部を有し、
     前記終了通知部は、
     前記ジョブの終了を検出した場合に、前記終了したジョブを実行していた前記第1の計算機の識別子を取得し、
     前記取得された第1の計算機の識別子が含まれる前記通知を、前記第1の複製制御部に送信し、
     前記第1の複製制御部は、
     前記第1の計算機の記憶媒体に書き込まれたデータの書き込み先を示す情報と、前記ジョブの識別子とを対応づけた書込情報を生成し、
     前記通知を受信した場合、前記書込情報を参照して前記第1の計算機の記憶媒体からデータを読み出し、
     前記読み出されたデータを前記複製データとして前記第2の計算機に送信することを特徴とする計算機システム。
    The computer system according to claim 3,
    The computer system includes a file system configured on a storage in which storage areas provided by the storage medium included in the plurality of computers are integrated,
    The file system manages data of a plurality of files used when the job is executed,
    In each of the plurality of computers that provide the storage area constituting the storage, the data of the file is distributed and arranged for each predetermined range,
    The plurality of computers further includes a scheduler computer that manages an execution schedule of the job,
    The scheduler computer has the end notification unit,
    The first computer has a first replication control unit,
    The end notification unit
    If the end of the job is detected, the identifier of the first computer that was executing the ended job is acquired;
    Transmitting the notification including the acquired identifier of the first computer to the first replication control unit;
    The first replication control unit includes:
    Generating write information in which information indicating a write destination of data written to the storage medium of the first computer is associated with an identifier of the job;
    When the notification is received, the data is read from the storage medium of the first computer with reference to the write information,
    The computer system, wherein the read data is transmitted to the second computer as the duplicate data.
  5.  請求項4に記載の計算機システムであって、
     前記第1の計算機は、
     前記ジョブの実行時に、前記ファイルシステムが管理する前記ファイルへのアクセス要求を処理するファイルサーバ部を有し、
     実行中の前記ジョブの識別子と、前記ジョブがアクセスするファイルの識別子とを対応づけたファイル情報を格納し、
     前記ファイルサーバ部は、
     前記ジョブによって出力されたアクセス要求を受け付けた場合、前記ファイル情報を参照して前記アクセス要求の対象となる前記ファイルの識別子に一致する情報が登録されているか否かを判定し、
     前記アクセス要求の対象となるファイルの識別子に一致する情報が登録されている場合、前記登録されている情報を参照して、前記アクセス要求の対象となるファイルと対応づけられる前記ジョブの識別子が、当該アクセス要求を出力した前記ジョブの識別子と一致するか否かを判定し、
     前記アクセス要求の対象となるファイルと対応づけられる前記ジョブの識別子が、当該アクセス要求を出力した前記ジョブの識別子と一致しない場合、前記アクセス要求の対象となるファイルへのアクセスを拒否し、
     前記アクセス要求の対象となるファイルと対応づけられる前記ジョブの識別子が、当該アクセス要求を出力した前記ジョブの識別子と一致する場合、前記アクセス要求の対象となるファイルへのアクセスを許可することを特徴とする計算機システム。
    A computer system according to claim 4, wherein
    The first calculator is:
    A file server unit that processes an access request to the file managed by the file system when the job is executed;
    Storing file information in which the identifier of the job being executed is associated with the identifier of the file accessed by the job;
    The file server unit
    When an access request output by the job is received, it is determined whether or not information matching the identifier of the file that is the target of the access request is registered with reference to the file information,
    When information that matches the identifier of the file that is the target of the access request is registered, the identifier of the job that is associated with the file that is the target of the access request with reference to the registered information is Determine whether it matches the identifier of the job that output the access request,
    When the identifier of the job associated with the file that is the target of the access request does not match the identifier of the job that has output the access request, the access to the file that is the target of the access request is denied,
    When the identifier of the job associated with the file that is the target of the access request matches the identifier of the job that has output the access request, access to the file that is the target of the access request is permitted. A computer system.
  6.  請求項5に記載の計算機システムであって、
     前記ファイルサーバ部は、
     前記ファイルへのアクセスが許可され、かつ、前記アクセス要求が書込要求である場合に、前記書込要求に含まれる前記ファイルの識別子及び前記ジョブの識別子を抽出して、前記ファイル情報に登録し、
     前記データの書き込み先を示す情報を算出し、
     前記ジョブの識別子、前記算出されたデータの書き込み先を示す情報及び前記データを含む書込要求を前記第1の複製制御部に送信し、
     前記第1の複製制御部は、
     前記ファイルサーバ部から前記書込要求を受信した場合に、前記書込要求に基づいて前記書込情報を生成し、
     前記書込要求に含まれるデータを前記第1の計算機の記憶媒体に書き込むことを特徴とする計算機システム。
    The computer system according to claim 5,
    The file server unit
    When access to the file is permitted and the access request is a write request, the file identifier and the job identifier included in the write request are extracted and registered in the file information. ,
    Calculating information indicating the destination of the data;
    Sending a write request including the job identifier, information indicating the calculated data write destination and the data to the first replication control unit;
    The first replication control unit includes:
    When the write request is received from the file server unit, the write information is generated based on the write request,
    A computer system, wherein data included in the write request is written to a storage medium of the first computer.
  7.  請求項3に記載の計算機システムであって、
     前記計算機システムは、前記複数の計算機が有する前記記憶媒体によって提供される記憶領域を統合したストレージ上に構成されるファイルシステムを備え、
     前記ファイルシステムは、前記ジョブの実行時に用いられる複数のファイルのデータを管理し、
     前記ストレージを構成する前記記憶領域を提供する前記複数の計算機の各々には、所定の範囲毎に前記ファイルのデータが分散して配置され、
     前記複数の計算機は、さらに、前記ジョブの実行スケジュールを管理するスケジューラ計算機を含み、
     前記スケジューラ計算機は、前記終了通知部を有し、
     前記第1の計算機は、第1の複製制御部を有し、
     前記第2の計算機は、第2の複製制御部及び一時書込領域を有し、
     前記終了通知部は、
     前記ジョブの終了を検出した場合に、前記終了したジョブを実行していた前記第1の計算機の識別子を取得し、
     前記取得された第1の計算機の識別子が含まれる前記通知を、前記第2の複製制御部に送信し、
     前記第1の複製制御部は、
     前記第1の計算機の記憶媒体に書き込まれたデータを前記複製データとして前記第2の計算機に送信し、
     前記第2の複製制御部は、
     前記第1の計算機の記憶媒体に書き込まれたデータの書き込み先を示す情報と、前記ジョブの識別子とを対応づけた書込情報を生成し、
     前記受信した複製データを前記一時書込領域に書き込み、
     前記通知を受信した場合、前記書込情報を参照して前記一時書込領域に格納される前記複製データを前記第2の計算機の記憶媒体に書き込むことを特徴とする計算機システム。
    The computer system according to claim 3,
    The computer system includes a file system configured on a storage in which storage areas provided by the storage medium included in the plurality of computers are integrated,
    The file system manages data of a plurality of files used when the job is executed,
    In each of the plurality of computers that provide the storage area constituting the storage, the data of the file is distributed and arranged for each predetermined range,
    The plurality of computers further includes a scheduler computer that manages an execution schedule of the job,
    The scheduler computer has the end notification unit,
    The first computer has a first replication control unit,
    The second computer has a second replication control unit and a temporary writing area,
    The end notification unit
    If the end of the job is detected, the identifier of the first computer that was executing the ended job is acquired;
    Transmitting the notification including the acquired identifier of the first computer to the second replication control unit;
    The first replication control unit includes:
    Sending the data written in the storage medium of the first computer to the second computer as the duplicate data;
    The second replication control unit includes:
    Generating write information in which information indicating a write destination of data written to the storage medium of the first computer is associated with an identifier of the job;
    Write the received duplicate data to the temporary write area,
    When the notification is received, the computer system is characterized in that the duplicate data stored in the temporary writing area is written to a storage medium of the second computer with reference to the writing information.
  8.  請求項7に記載の計算機システムであって、
     前記第1の計算機は、
     前記ジョブの実行時に、前記ファイルシステムが管理する前記ファイルへのアクセス要求を処理するファイルサーバ部を有し、
     実行中の前記ジョブの識別子と、前記ジョブがアクセスするファイルの識別子とを対応づけたファイル情報を格納し、
     前記ファイルサーバ部は、
     前記ジョブによって出力されたアクセス要求を受け付けた場合、前記ファイル情報を参照して前記アクセス要求の対象となる前記ファイルの識別子に一致する情報が登録されているか否かを判定し、
     前記アクセス要求の対象となるファイルの識別子に一致する情報が登録されている場合、前記登録されている情報を参照して、前記アクセス要求の対象となるファイルと対応づけられる前記ジョブの識別子が、当該アクセス要求を出力した前記ジョブの識別子と一致するか否かを判定し、
     前記アクセス要求の対象となるファイルと対応づけられる前記ジョブの識別子が、当該アクセス要求を出力した前記ジョブの識別子と一致しない場合、前記アクセス要求の対象となるファイルへのアクセスを拒否し、
     前記アクセス要求の対象となるファイルと対応づけられる前記ジョブの識別子が、当該アクセス要求を出力した前記ジョブの識別子と一致する場合、前記アクセス要求の対象となるファイルへのアクセスを許可することを特徴とする計算機システム。
    The computer system according to claim 7,
    The first calculator is:
    A file server unit that processes an access request to the file managed by the file system when the job is executed;
    Storing file information in which the identifier of the job being executed is associated with the identifier of the file accessed by the job;
    The file server unit
    When an access request output by the job is received, it is determined whether or not information matching the identifier of the file that is the target of the access request is registered with reference to the file information,
    When information that matches the identifier of the file that is the target of the access request is registered, the identifier of the job that is associated with the file that is the target of the access request with reference to the registered information is Determine whether it matches the identifier of the job that output the access request,
    When the identifier of the job associated with the file that is the target of the access request does not match the identifier of the job that has output the access request, the access to the file that is the target of the access request is denied,
    When the identifier of the job associated with the file that is the target of the access request matches the identifier of the job that has output the access request, access to the file that is the target of the access request is permitted. A computer system.
  9.  請求項8に記載の計算機システムであって、
     前記ファイルサーバ部は、
     前記ファイルへのアクセスが許可され、かつ、前記アクセス要求が書込要求である場合に、前記書込要求に含まれる前記ファイルの識別子及び前記ジョブの識別子を抽出して、前記ファイル情報に登録し、
     前記データの書き込み先を示す情報を算出し、
     前記ジョブの識別子、前記算出されたデータの書き込み先を示す情報及び前記データを含む書込要求を前記第1の複製制御部に送信し、
     前記第1の複製制御部は、
     前記書込要求に含まれるデータを前記第1の計算機の記憶媒体に書き込み、
     前記書込要求を前記第2の複製制御部に転送し、
     前記第2の複製制御部は、前記書込要求を受信した場合に、前記書込情報を生成し、
     前記受信した書込要求に含まれるデータを前記複製データとして前記一時書込領域に書き込むことを特徴とする計算機システム。
    A computer system according to claim 8, wherein
    The file server unit
    When access to the file is permitted and the access request is a write request, the file identifier and the job identifier included in the write request are extracted and registered in the file information. ,
    Calculating information indicating the destination of the data;
    A write request including the job identifier, information indicating the calculated data write destination, and the data is transmitted to the first replication control unit;
    The first replication control unit includes:
    Writing data included in the write request to a storage medium of the first computer;
    Transferring the write request to the second replication control unit;
    The second replication control unit generates the write information when the write request is received,
    A computer system, wherein data included in the received write request is written into the temporary write area as the duplicate data.
  10.  一つの処理が複数に分割されたジョブを実行する複数の計算機がネットワークを介して接続される計算機システムにおける複製制御方法であって、
     前記複数の計算機の各々は、プロセッサと、前記プロセッサに接続されるメモリと、前記プロセッサに接続される記憶媒体と、他の装置と接続するためのネットワークインタフェースとを有し、
     前記複数の計算機は、前記ジョブを実行する第1の計算機、及び、前記第1の計算機の前記記憶媒体に格納されるデータの複製データを保持する第2の計算機を含み、
     前記方法は、
     前記複数の計算機のうち少なくとも一つの前記計算機が、前記ジョブによって前記第1の計算機の記憶媒体に書き込まれたデータの複製データを生成する第1のステップと、
     前記複数の計算機のうち少なくとも一つの前記計算機が、特定の条件下において前記複製データを前記第2の計算機の前記記憶媒体に書き込む第2のステップと、
     を含むことを特徴とする複製制御方法。
    A replication control method in a computer system in which a plurality of computers that execute a job in which one process is divided into a plurality are connected via a network,
    Each of the plurality of computers has a processor, a memory connected to the processor, a storage medium connected to the processor, and a network interface for connecting to another device,
    The plurality of computers includes a first computer that executes the job, and a second computer that holds duplicate data of data stored in the storage medium of the first computer,
    The method
    A first step in which at least one of the plurality of computers generates duplicate data of data written to the storage medium of the first computer by the job;
    A second step in which at least one of the plurality of computers writes the duplicated data to the storage medium of the second computer under a specific condition;
    A replication control method comprising:
  11.  請求項10に記載の複製制御方法であって、
     前記第2のステップでは、前記ジョブが終了した旨の通知を受け取った後に前記複製データを前記第2の計算機の記憶媒体に書き込むことを特徴とする複製制御方法。
    The replication control method according to claim 10, comprising:
    In the second step, the copy control method is characterized in that the copy data is written in a storage medium of the second computer after receiving a notification that the job has ended.
  12.  請求項11に記載の複製制御方法であって、
     前記方法は、さらに、前記ジョブの終了を検出し、ジョブが終了した旨の通知を送信する第3のステップを含むことを特徴とする複製制御方法。
    The replication control method according to claim 11, comprising:
    The method further includes a third step of detecting the end of the job and transmitting a notification that the job has ended.
  13.  請求項12に記載の複製制御方法であって、
     前記計算機システムは、前記複数の計算機が有する前記記憶媒体によって提供される記憶領域を統合したストレージ上に構成されるファイルシステムを備え、
     前記ファイルシステムは、前記ジョブの実行時に用いられる複数のファイルのデータを管理し、
     前記ストレージを構成する前記記憶領域を提供する前記複数の計算機の各々には、所定の範囲毎に前記ファイルのデータが分散して配置され、
     前記複数の計算機は、さらに、前記ジョブの実行スケジュールを管理するスケジューラ計算機を含み、
     前記第3のステップは、
     前記スケジューラ計算機が、前記ジョブの終了を検出した場合に、前記終了したジョブを実行していた前記第1の計算機の識別子を取得するステップと、
     前記スケジューラ計算機が、前記取得された第1の計算機の識別子が含まれる前記通知を、前記第1の計算機に送信するステップと、
     を含み、
     前記第1のステップは、前記第1の計算機が、前記第1の計算機の記憶媒体に書き込まれたデータの書き込み先を示す情報と、前記ジョブの識別子とを対応づけた書込情報を生成するステップを含み、
     前記第2のステップは、
     前記第1の計算機が、前記通知を受信した場合、前記書込情報を参照して前記第1の計算機の記憶媒体からデータを読み出すステップと、
     前記第1の計算機が、前記読み出されたデータを前記複製データとして前記第2の計算機に送信するステップと、
     を含むことを特徴とする複製制御方法。
    The replication control method according to claim 12, comprising:
    The computer system includes a file system configured on a storage in which storage areas provided by the storage medium included in the plurality of computers are integrated,
    The file system manages data of a plurality of files used when the job is executed,
    In each of the plurality of computers that provide the storage area constituting the storage, the data of the file is distributed and arranged for each predetermined range,
    The plurality of computers further includes a scheduler computer that manages an execution schedule of the job,
    The third step includes
    Obtaining an identifier of the first computer that was executing the completed job when the scheduler computer detects the end of the job;
    The scheduler computer transmitting the notification including the acquired identifier of the first computer to the first computer;
    Including
    In the first step, the first computer generates write information in which information indicating a write destination of data written to a storage medium of the first computer is associated with an identifier of the job. Including steps,
    The second step includes
    When the first computer receives the notification, reading the data from the storage medium of the first computer with reference to the write information;
    The first computer sending the read data as the duplicate data to the second computer;
    A replication control method comprising:
  14.  請求項13に記載の複製制御方法であって、
     前記第1の計算機は、
     前記ジョブの実行時に、前記ファイルシステムが管理する前記ファイルへのアクセス要求を処理するファイルサーバ部を有し、
     実行中の前記ジョブの識別子と、前記ジョブがアクセスするファイルの識別子とを対応づけたファイル情報を格納し、
     前記方法は、さらに、
     前記第1の計算機が、前記ジョブによって出力されたアクセス要求を受け付けた場合、前記ファイル情報を参照して前記アクセス要求の対象となる前記ファイルの識別子に一致する情報が登録されているか否かを判定するステップと、
     前記第1の計算機が、前記アクセス要求の対象となるファイルの識別子に一致する情報が登録されている場合、前記登録されている情報を参照して、前記アクセス要求の対象となるファイルと対応づけられる前記ジョブの識別子が、当該アクセス要求を出力した前記ジョブの識別子と一致するか否かを判定するステップと、
     前記第1の計算機が、前記アクセス要求の対象となるファイルと対応づけられる前記ジョブの識別子が、当該アクセス要求を出力した前記ジョブの識別子と一致しない場合、前記アクセス要求の対象となるファイルへのアクセスを拒否するステップと、
     前記第1の計算機が、前記アクセス要求の対象となるファイルと対応づけられる前記ジョブの識別子が、当該アクセス要求を出力した前記ジョブの識別子と一致する場合、前記アクセス要求の対象となるファイルへのアクセスを許可するステップと、
     を含むことを特徴とする複製制御方法。
    The replication control method according to claim 13, comprising:
    The first calculator is:
    A file server unit that processes an access request to the file managed by the file system when the job is executed;
    Storing file information in which the identifier of the job being executed is associated with the identifier of the file accessed by the job;
    The method further comprises:
    When the first computer receives an access request output by the job, whether or not information matching the identifier of the file that is the target of the access request is registered with reference to the file information. A determining step;
    When the first computer registers information that matches the identifier of the file that is the target of the access request, the first computer refers to the registered information and associates it with the file that is the target of the access request. Determining whether the identifier of the job to be matched with the identifier of the job that has output the access request;
    When the identifier of the job associated with the file that is the target of the access request does not match the identifier of the job that has output the access request, the first computer Deny access,
    When the identifier of the job that is associated with the file that is the target of the access request matches the identifier of the job that has output the access request, the first computer Granting access, and
    A replication control method comprising:
  15.  請求項14に記載の複製制御方法であって、
     前記方法は、さらに、
     前記第1の計算機が、前記ファイルへのアクセスが許可され、かつ、前記アクセス要求が書込要求である場合に、前記書込要求に含まれる前記ファイルの識別子及び前記ジョブの識別子を抽出して、前記ファイル情報に登録するステップと、
     前記第1の計算機が、前記データの書き込み先を示す情報を算出するステップと、
     前記第1の計算機が、前記ジョブの識別子、前記算出されたデータの書き込み先を示す情報及び前記データを含む書込要求を出力するステップと、
     を含み、
     前記第1のステップは、
     前記第1の計算機が、前記出力された書込要求を受信した場合に、前記書込要求に基づいて前記書込情報を生成するステップと、
     前記第1の計算機が、前記出力された書込要求に含まれるデータを前記第1の計算機の記憶媒体に書き込むステップと、
     を含むことを特徴とする複製制御方法。
    The replication control method according to claim 14, wherein
    The method further comprises:
    The first computer extracts an identifier of the file and an identifier of the job included in the write request when access to the file is permitted and the access request is a write request. Registering in the file information;
    The first computer calculating information indicating a write destination of the data;
    The first computer outputting a write request including the identifier of the job, information indicating a write destination of the calculated data, and the data;
    Including
    The first step includes
    When the first computer receives the output write request, generating the write information based on the write request;
    The first computer writing the data included in the output write request to a storage medium of the first computer;
    A replication control method comprising:
  16.  請求項12に記載の複製制御方法であって、
     前記計算機システムは、前記複数の計算機が有する前記記憶媒体によって提供される記憶領域を統合したストレージ上に構成されるファイルシステムを備え、
     前記ファイルシステムは、前記ジョブの実行時に用いられる複数のファイルのデータを管理し、
     前記ストレージを構成する前記記憶領域を提供する前記複数の計算機の各々には、所定の範囲毎に前記ファイルのデータが分散して配置され、
     前記複数の計算機は、さらに、前記ジョブの実行スケジュールを管理するスケジューラ計算機を含み、
     前記第2の計算機は、一時書込領域を有し、
     前記第3のステップは、
     前記スケジューラ計算機が、前記ジョブの終了を検出した場合に、前記終了したジョブを実行していた前記第1の計算機の識別子を取得するステップと、
     前記スケジューラ計算機が、前記第2の計算機に、前記取得された第1の計算機の識別子が含まれる前記通知を送信するステップと、
     を含み、
     前記第1のステップは、
     前記第1の計算機が、前記第1の計算機の記憶媒体に書き込まれたデータを前記複製データとして前記第2の計算機に送信するステップと、
     前記第2の計算機が、前記第1の計算機の記憶媒体に書き込まれたデータの書き込み先を示す情報と、前記ジョブの識別子とを対応づけた書込情報を生成するステップと、
     前記第2の計算機が、前記受信した複製データを前記一時書込領域に書き込むステップと、
     を含み、
     前記第2のステップは、前記第2の計算機が、前記通知を受信した場合、前記書込情報を参照して前記一時書込領域に格納される前記複製データを前記第2の計算機の記憶媒体に書き込むステップを含むことを特徴とする複製制御方法。
    The replication control method according to claim 12, comprising:
    The computer system includes a file system configured on a storage in which storage areas provided by the storage medium included in the plurality of computers are integrated,
    The file system manages data of a plurality of files used when the job is executed,
    In each of the plurality of computers that provide the storage area constituting the storage, the data of the file is distributed and arranged for each predetermined range,
    The plurality of computers further includes a scheduler computer that manages an execution schedule of the job,
    The second computer has a temporary writing area;
    The third step includes
    Obtaining an identifier of the first computer that was executing the completed job when the scheduler computer detects the end of the job;
    The scheduler computer sends the notification to the second computer including the acquired identifier of the first computer;
    Including
    The first step includes
    The first computer sending the data written in the storage medium of the first computer to the second computer as the duplicate data;
    The second computer generates write information in which information indicating a write destination of data written to the storage medium of the first computer is associated with an identifier of the job;
    The second computer writing the received replicated data to the temporary write area;
    Including
    In the second step, when the second computer receives the notification, the copy data stored in the temporary write area with reference to the write information is stored in the storage medium of the second computer. A copy control method comprising the step of writing to
  17.  請求項16に記載の複製制御方法であって、
     前記第1の計算機は、
     前記ジョブの実行時に、前記ファイルシステムが管理する前記ファイルへのアクセス要求を処理するファイルサーバ部を有し、
     実行中の前記ジョブの識別子と、前記ジョブがアクセスするファイルの識別子とを対応づけたファイル情報を格納し、
     前記方法は、さらに、
     前記第1の計算機が、前記ジョブによって出力されたアクセス要求を受け付けた場合、前記ファイル情報を参照して前記アクセス要求の対象となる前記ファイルの識別子に一致する情報が登録されているか否かを判定するステップと、
     前記第1の計算機が、前記アクセス要求の対象となるファイルの識別子に一致する情報が登録されている場合、前記登録されている情報を参照して、前記アクセス要求の対象となるファイルと対応づけられる前記ジョブの識別子が、当該アクセス要求を出力した前記ジョブの識別子と一致するか否かを判定するステップと、
     前記第1の計算機が、前記アクセス要求の対象となるファイルと対応づけられる前記ジョブの識別子が、当該アクセス要求を出力した前記ジョブの識別子と一致しない場合、前記アクセス要求の対象となるファイルへのアクセスを拒否するステップと、
     前記第1の計算機が、前記アクセス要求の対象となるファイルと対応づけられる前記ジョブの識別子が、当該アクセス要求を出力した前記ジョブの識別子と一致する場合、前記アクセス要求の対象となるファイルへのアクセスを許可するステップと、
     を含むことを特徴とする複製制御方法。
    The replication control method according to claim 16, wherein
    The first calculator is:
    A file server unit that processes an access request to the file managed by the file system when the job is executed;
    Storing file information in which the identifier of the job being executed is associated with the identifier of the file accessed by the job;
    The method further comprises:
    When the first computer receives an access request output by the job, whether or not information that matches the identifier of the file that is the target of the access request is registered with reference to the file information. A determining step;
    When the first computer registers information that matches the identifier of the file that is the target of the access request, the first computer refers to the registered information and associates it with the file that is the target of the access request. Determining whether the identifier of the job to be matched with the identifier of the job that has output the access request;
    When the identifier of the job associated with the file that is the target of the access request does not match the identifier of the job that has output the access request, the first computer Deny access,
    When the identifier of the job that is associated with the file that is the target of the access request matches the identifier of the job that has output the access request, the first computer Granting access, and
    A replication control method comprising:
  18.  請求項17に記載の複製制御方法であって、
     前記方法は、さらに、
     前記第1の計算機が、前記ファイルへのアクセスが許可され、かつ、前記アクセス要求が書込要求である場合に、前記書込要求に含まれる前記ファイルの識別子及び前記ジョブの識別子を抽出して、前記ファイル情報に登録するステップと、
     前記第1の計算機が、前記データの書き込み先を示す情報を算出するステップと、
     前記第1の計算機が、前記ジョブの識別子、前記算出されたデータの書き込み先を示す情報及び前記データを含む書込要求を出力するステップと、
     前記第1の計算機が、前記出力された書込要求に含まれるデータを前記第1の計算機の記憶媒体に書き込むステップと、
     前記第1の計算機が、前記出力された書込要求を前記第2の複製制御部に転送するステップと、
     を含み、
     前記第1のステップは、
     前記第2の計算機が、前記書込要求を受信した場合に、前記書込情報を生成するステップと、
     前記第2の計算機が、前記受信した書込要求に含まれるデータを前記複製データとして前記一時書込領域に書き込むステップと、
     を含むことを特徴とする複製制御方法。
    The replication control method according to claim 17, wherein
    The method further comprises:
    The first computer extracts an identifier of the file and an identifier of the job included in the write request when access to the file is permitted and the access request is a write request. Registering in the file information;
    The first computer calculating information indicating a write destination of the data;
    The first computer outputting a write request including the identifier of the job, information indicating a write destination of the calculated data, and the data;
    The first computer writing the data included in the output write request to a storage medium of the first computer;
    The first computer transferring the output write request to the second replication control unit;
    Including
    The first step includes
    Generating the write information when the second computer receives the write request;
    The second computer writing the data included in the received write request as the duplicate data in the temporary write area;
    A replication control method comprising:
PCT/JP2011/076283 2011-11-15 2011-11-15 Computer system and duplication control method WO2013073005A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013544017A JP5731665B2 (en) 2011-11-15 2011-11-15 Computer system and replication control method
PCT/JP2011/076283 WO2013073005A1 (en) 2011-11-15 2011-11-15 Computer system and duplication control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2011/076283 WO2013073005A1 (en) 2011-11-15 2011-11-15 Computer system and duplication control method

Publications (1)

Publication Number Publication Date
WO2013073005A1 true WO2013073005A1 (en) 2013-05-23

Family

ID=48429117

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2011/076283 WO2013073005A1 (en) 2011-11-15 2011-11-15 Computer system and duplication control method

Country Status (2)

Country Link
JP (1) JP5731665B2 (en)
WO (1) WO2013073005A1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04124743A (en) * 1990-09-17 1992-04-24 Toshiba Corp Data duplicating system
JPH07114514A (en) * 1993-10-19 1995-05-02 Hitachi Ltd Method for data transfer between computers
JPH10161915A (en) * 1996-11-29 1998-06-19 Hitachi Ltd Data inheriting method for realizing exclusive control giving priority to subsequent job
JP2002169718A (en) * 2000-10-13 2002-06-14 Miosoft Corp Continuous data storage technology

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04124743A (en) * 1990-09-17 1992-04-24 Toshiba Corp Data duplicating system
JPH07114514A (en) * 1993-10-19 1995-05-02 Hitachi Ltd Method for data transfer between computers
JPH10161915A (en) * 1996-11-29 1998-06-19 Hitachi Ltd Data inheriting method for realizing exclusive control giving priority to subsequent job
JP2002169718A (en) * 2000-10-13 2002-06-14 Miosoft Corp Continuous data storage technology

Also Published As

Publication number Publication date
JPWO2013073005A1 (en) 2015-04-02
JP5731665B2 (en) 2015-06-10

Similar Documents

Publication Publication Date Title
US7971011B2 (en) Remote copy method and storage system
US8468133B2 (en) Workload learning in data replication environments
US8074222B2 (en) Job management device, cluster system, and computer-readable medium storing job management program
US7461201B2 (en) Storage control method and system for performing backup and/or restoration
US10191685B2 (en) Storage system, storage device, and data transfer method
US8639898B2 (en) Storage apparatus and data copy method
JP2019101703A (en) Storage system and control software arrangement method
KR101410596B1 (en) Information processing apparatus, computer program, and copy control method
JP5391277B2 (en) Storage system and storage system processing efficiency improvement method
WO2014080492A1 (en) Computer system, cluster management method, and management computer
WO2018076633A1 (en) Remote data replication method, storage device and storage system
CN113360082A (en) Storage system and control method thereof
KR101427535B1 (en) Information processing apparatus, recording medium, and area release control method
JP7192388B2 (en) Parallel processing device, parallel operation execution program and backup method
JP5967073B2 (en) Processor management method
US10007467B2 (en) Storage system
JP5731665B2 (en) Computer system and replication control method
US10846012B2 (en) Storage system for minimizing required storage capacity during remote volume replication pair duplication
CN107515723B (en) Method and system for managing memory in a storage system
US8930485B2 (en) Information processing apparatus and non-transitory computer-readable recording medium having program stored thereon
JPWO2019003416A1 (en) Storage system and storage control method
JP6802304B2 (en) Storage control device, storage control system, storage control method, and storage control program
JP7050707B2 (en) Storage control device, storage system, storage control method, and storage control program
JP2013120463A (en) Information processing method, information processing system, information processing apparatus, and program
JP2013012258A (en) Storage device, storage device control method, and storage device control 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: 11875678

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2013544017

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 11875678

Country of ref document: EP

Kind code of ref document: A1