WO2015173857A1 - 情報処理方法及び情報処理装置 - Google Patents

情報処理方法及び情報処理装置 Download PDF

Info

Publication number
WO2015173857A1
WO2015173857A1 PCT/JP2014/062578 JP2014062578W WO2015173857A1 WO 2015173857 A1 WO2015173857 A1 WO 2015173857A1 JP 2014062578 W JP2014062578 W JP 2014062578W WO 2015173857 A1 WO2015173857 A1 WO 2015173857A1
Authority
WO
WIPO (PCT)
Prior art keywords
job
file
checkpoint
unit
copy
Prior art date
Application number
PCT/JP2014/062578
Other languages
English (en)
French (fr)
Inventor
健介 田井
Original Assignee
株式会社日立製作所
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社日立製作所 filed Critical 株式会社日立製作所
Priority to US15/122,794 priority Critical patent/US20170068603A1/en
Priority to PCT/JP2014/062578 priority patent/WO2015173857A1/ja
Publication of WO2015173857A1 publication Critical patent/WO2015173857A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • G06F9/526Mutual exclusion algorithms
    • G06F9/528Mutual exclusion algorithms by using speculative mechanisms
    • 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1471Saving, restoring, recovering or retrying involving logging of persistent data for recovery
    • 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/14Error detection or correction of the data by redundancy in operation
    • 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1438Restarting or rejuvenating
    • 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1479Generic software techniques for error detection or fault masking
    • G06F11/1492Generic software techniques for error detection or fault masking by run-time replication performed by the application software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/176Support for shared access to files; File sharing support
    • G06F16/1767Concurrency control, e.g. optimistic or pessimistic approaches
    • G06F16/1774Locking methods, e.g. locking methods for file systems allowing shared and concurrent access to files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/178Techniques for file synchronisation in file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • G06F9/522Barrier synchronisation
    • 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/805Real-time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/82Solving problems relating to consistency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/84Using snapshots, i.e. a logical point-in-time copy of the data

Definitions

  • the present invention relates to an information processing method and an information processing apparatus, and is particularly suitable for application to an information processing apparatus that executes a job net including a plurality of jobs executed in parallel using a shared file.
  • a job net is a collection of one or more jobs that specify the execution order.
  • recovery is performed by a method in which a file used by each job is returned to the state before the job execution and the job is re-executed.
  • Patent Document 1 in a batch use system using a job net, a file is used for the purpose of automating file failure recovery processing that does not require operator intervention and shortening failure recovery time by quick failure recovery processing.
  • a re-execution job determination means for determining a necessary re-execution job
  • a job re-execution means for job re-execution for job re-execution
  • an execution JCL library in which an execution job control statement is stored It is disclosed that an access history file storing file information processed in a job and a re-execution job management file storing job names that need to be re-executed are disclosed.
  • Patent Document 1 the recovery method from the file failure disclosed in Patent Document 1 is for a job net in which jobs are executed serially, and a plurality of jobs are executed in parallel while using the same file. It is not intended for job nets.
  • Patent Document 1 when the recovery method disclosed in Patent Document 1 is applied as a recovery method from a job net failure in which a plurality of jobs are executed in parallel while using the same file, the shared file is used in parallel. There is a problem that it is necessary to re-execute all of the plurality of executed jobs from the beginning, and the time required to complete processing of the job net increases.
  • the present invention has been made in consideration of the above points, and in particular, reduces the operator's workload related to recovery from a failure when a failure occurs in a plurality of jobs executed in parallel using a shared file.
  • An information processing method and an information processing apparatus to be obtained are to be proposed.
  • the shared file determination unit determines whether the file used by the job is a shared file, and the checkpoint management unit Set a checkpoint when the job writes data to a file determined to be a shared file, the file copy processing unit creates a copy of the shared file used by the job, and the process copy processing unit
  • the copy of the shared file created at the time of setting the checkpoint determined by the job execution control unit is determined by creating a copy, determining a checkpoint for restarting the job processing again when an abnormal state of the job being executed is detected The job is resumed using the process replication.
  • FIG. 1 shows a configuration example of a job net.
  • job B and job C are executed in parallel after job A ends, and then job D is executed.
  • job B and the job C share a part of the file 2, and the process proceeds while reading and writing data in the file as necessary.
  • a file shared by a plurality of jobs is called a shared file.
  • checkpoints (hereinafter referred to as CP) are sequentially set as required during the execution of job B and job C as shown in FIG. If a failure occurs in one job C, the process is returned to a CP that is older than the point in time when the failure occurs, and job B and job C are resumed.
  • FIG. 3 shows more detailed contents of the process surrounded by the broken line K in FIG.
  • the point in time is set as a CP at an arbitrary timing different from this.
  • the setting of the CP is performed by registering necessary information in a management file 33 described later with reference to FIG. 8 and a CP information 34 described later with reference to FIG.
  • the CP is traced back by the number specified in advance by the user from the point of time when the failure has occurred, and the process is returned to the corresponding CP.
  • the process is returned to the oldest CP among the CPs set by the job B after the return destination CP of the job C.
  • a copy of each business file (including the shared file 2S) used by that job B or job C and a copy of the process at that time are created and stored. .
  • a copy of the created process is temporarily stopped.
  • a copy of a business file created as described above is referred to as a copy business file, and a copy of a process created as described above is referred to as a copy process.
  • the job C is processed by a user or the like in advance, such as a CP set when the job last writes data to the shared file 2S.
  • the process is returned to the CP set as the return destination (hereinafter, the CP that is the return destination of the process is called the rewind destination CP).
  • the CP that is the return destination of the process is called the rewind destination CP.
  • the oldest CP among the CPs set by job B after the rewind destination CP of job C is the winding of job B.
  • the process is returned to the rewind destination CP.
  • processing is resumed using each copy business file and copy process created when setting the rewind destination CP.
  • the job failure recovery processing can be performed in a shorter time compared to the conventional failure recovery method described above with reference to FIG. There is an advantage that recovery can be performed in a short time.
  • the information processing apparatus according to the present embodiment in which such a failure recovery method is employed will be described.
  • reference numeral 10 denotes the information processing device according to this embodiment as a whole.
  • the information processing apparatus 10 is a computer apparatus provided with information processing resources such as a CPU (Central Processing Unit) 11, a memory 12, and a storage device 13, and includes a personal computer, a workstation, a mainframe computer, and the like.
  • a CPU Central Processing Unit
  • the CPU 11 is a processor that controls operation of the entire information processing apparatus 10.
  • the memory 12 is composed of, for example, a nonvolatile semiconductor memory, and is used to hold various programs and data.
  • the storage device 13 is composed of a hard disk device, for example, and is used for storing programs and data for a long period of time.
  • the programs stored in the storage device 13 are read into the memory 12 when the information processing device 10 is started up or when necessary, and the CPU 11 executes these programs read into the memory 12 to perform various processes as described below. Is executed.
  • FIG. 5 shows a logical configuration of the information processing apparatus 10.
  • the information processing apparatus 10 includes a job scheduler 20 and a plurality of job execution units 21.
  • the job scheduler 20 is a program that generates a job net, and includes a job net information transmission unit 22.
  • the job net information transfer unit 22 assigns each job execution unit 21 with various information related to the job net generated by the job net scheduler 20 (hereinafter referred to as job net information) and the job execution unit 21.
  • job net information various information related to the job net generated by the job net scheduler 20
  • job execution unit 21 The execution instruction of the given job is transmitted.
  • the job execution unit 21 is a program that executes a job specified by the job net information transmission unit 22 of the job scheduler 20.
  • the job execution unit 21 includes a job definition file 23, a management file processing unit 24, a common file determination unit 25, a CP management unit 26, a file copy processing unit 27, a file recovery processing unit 28, an abnormal state detection unit 29, and a process copy process.
  • a plurality of modules such as a unit 30, a process management unit 31, an inter-process communication processing unit 32, and a job execution control unit 35.
  • the job definition file 23 is a file in which the contents of various jobs to be executed by the job execution unit 21 are defined. As shown in FIG. 6, the job name of the job to be executed by the job execution unit 21 (FIG. 6). And various information such as a path to a business file to be used when the job is executed (“business file path” in FIG. 6). The job execution unit 21 executes a job for processing the user program UP according to the contents defined in the job definition file 23. A setting (“number of rewinding CPs” in FIG. 6) of how many times the previous CP is returned when a failure occurs in the job is also registered in advance in the job definition file 23.
  • the management file processing unit 24 is a module having a function of managing a management file 33 (FIG. 8) described later. In practice, the management file processing unit 24, based on the above-described job net information given from the job net information transmission unit 22, as shown in FIG. When the job executed by the section 21 is the head job of the job net, the management file 33 is created on the storage device 13 at the start of the job.
  • the management file processing unit 24 When the management file processing unit 24 receives an instruction from the CP management unit 26 to set the CP (FIG. 2) (hereinafter referred to as a CP setting instruction), the management file processing unit 24 sets the point in time as the CP. Necessary information is registered in the management file 33. Further, when the job executed by the job execution unit is a job at the end of the job net, the management file processing unit 24 deletes the management file 33 created for the job net after the job is completed.
  • a CP setting instruction an instruction from the CP management unit 26 to set the CP (FIG. 2) (hereinafter referred to as a CP setting instruction)
  • the management file processing unit 24 sets the point in time as the CP. Necessary information is registered in the management file 33. Further, when the job executed by the job execution unit is a job at the end of the job net, the management file processing unit 24 deletes the management file 33 created for the job net after the job is completed.
  • the management file processing unit 24 searches the management file 33 for a record (row) including the key specified in the search instruction, and the search result ( If the corresponding record exists, the CP management unit 26 is notified of the content of the record).
  • the shared file determination unit 25 has a function of determining whether or not the business file 2 used by the job executed by the job execution unit 21 is the shared file 2S, and notifying the determination result to the CP management unit 26 It is.
  • the shared file determination unit 25 locks the business file 2 so that other job execution units 21 cannot access it. In this case, it is determined that the business file 2 is the shared file 2S, and the determination result is notified to the CP management unit 26. Further, when the job executed by the job execution unit 21 does not lock the business file 2 when the job executed by the job execution unit 21 writes data to the business file 2, the shared file determination unit 25 selects the non-shared file 2NS (see FIG. 5) and the determination result is notified to the CP management unit 26.
  • the CP management unit 26 is a module that has a function of setting a CP and managing the set CP.
  • the CP management unit 26 writes a job executed by its own job execution unit 21 to the business file 2 determined as the shared file 2S by the shared file determination unit 25, or at an arbitrary timing different from this. Then, a CP setting instruction is given to the management file processing unit 24. As a result, necessary information is registered in the management file 33 by the management file processing unit 24 as described above, and the point in time is set as the CP.
  • the CP management unit 26 informs the file copy processing unit 27 that a copy of the current contents of all business files 2 used by the job (copy business file 2C) should be created when the CP is set.
  • An instruction hereinafter referred to as a file copy instruction
  • an instruction to the process copy processing unit 28 that a copy of the process of the own job execution unit 21 at that time (copy process 21C) should be created ( This is hereinafter referred to as a process copy instruction).
  • the CP management unit 26 registers and manages information regarding each copy business file 2C and copy process 21C created as a result in CP information 34 described later with reference to FIG.
  • an abnormal state detection notification when the CP management unit 26 is notified by the abnormal state detection unit 29 that an abnormal state has been detected (hereinafter referred to as an abnormal state detection notification), the job execution is performed as described below. A function for returning the job executed by the unit 21 to the default rewinding destination CP set in the job definition file 23 and restarting the processing is also installed.
  • the CP management unit 26 transmits the rewind destination CP detection notification to the management file processing unit 24, thereby rewinding the own job execution unit 21.
  • the destination CP is searched on the management file 33.
  • the CP management unit 26 issues a file recovery instruction including information on the notified rewind destination CP to the file recovery processing unit. 30 and a process recovery instruction including information on the rewind destination CP is transmitted to the process management unit 31.
  • the job executed by the own job execution unit 21 is resumed from the rewind destination CP.
  • the CP management unit 26 instructs the management file processing unit 24 to search for a CP set by another job that shares the shared file 2S with the job being executed by the own job execution unit 21. Then, the CP management unit 26 selects all the CPs created after the rewinding destination CP of the job executed by the own job execution unit 21 among the CPs detected by this search from the rewinding destination CP of the other job. The management file processing unit 24 is requested to set it as a candidate (hereinafter, this request is referred to as a rewind request). Then, the CP management unit 26 then sends the job execution unit 21 executing the job that shares the shared file 2C with the job executed by the own job execution unit 21 via the inter-process communication processing unit 32. A notification that a failure has occurred (hereinafter referred to as a failure occurrence notification) is transmitted.
  • a failure occurrence notification A notification that a failure has occurred
  • the CP management unit 26 executes the own job execution unit 21 set in the management file 33 by the other job execution unit 21.
  • the management file processing unit 24 is inquired about the oldest CP.
  • the CP management unit 26 specifies the CP notified from the management file processing unit 24 in response to this inquiry as its own rewinding destination CP, and issues a file recovery instruction including information on this rewinding destination CP to the file recovery processing unit. 30 and a process recovery instruction including information on the rewind destination CP is transmitted to the process management unit 31.
  • the job executed by the own job execution unit 21 is resumed from the rewind destination CP.
  • the file copy processing unit 27 is a module having a function of creating a necessary copy of the business file 2 (copy business file 2C) under the control of the CP management unit 26.
  • the file copy processing unit 27 stores the job file 2 used by the job execution unit 21 in the job currently being executed on the job definition file 23. And copies of all business files 2 detected by the search are created and stored in the storage device 13 (FIG. 4).
  • the process copy processing unit 28 is a module having a function of creating a necessary process copy (copy process 21C) under the control of the CP management unit 26.
  • copy process 21C a necessary process copy
  • the process copy processing unit 28 creates a copy of the process being executed by the own job execution unit 21 at that time and creates a memory 12 ( 4), and the copy process 21C created at this time is set to a paused state.
  • the abnormal state detection unit 29 is a module having a function of detecting an abnormal state of a job being executed by the own job execution unit 21.
  • the abnormal state detection unit 29 determines that an abnormality has occurred, for example, when a certain process takes a time longer than a threshold, or when the data size of the created data is greater than the threshold, and sends an abnormal state detection notification to the CP.
  • the setting unit 26 is notified.
  • the CP management unit 26 gives a file recovery instruction and a process recovery instruction specifying the rewind destination CP to the file recovery processing unit 30 and the process management unit 31.
  • the file recovery processing unit 30 stores each business file 2 used when the job execution unit 21 executes the job with the file recovery instruction given from the CP management unit 26.
  • This is a module having a function of replacing with the copied business file 2 (copy business file 2C) at the time of setting the rewinding destination CP designated in FIG.
  • the copy process 2C whose suspended state has been released by the inter-process communication processing unit 32 uses the replaced copy business file 2C to execute post-resumption processing.
  • the process management unit 31 specifies the process designated by the job execution unit 21 in the process recovery instruction given from the CP management unit 26 in response to the process recovery instruction from the CP management unit 26.
  • This is a module having a function of replacing the process copied at the time of setting the rewind destination CP (copy process 21C).
  • the process management unit 31 instructs the inter-process communication processing unit 32 to resume processing from the copy process 21C created when the rewinding destination CP designated by the process recovery instruction from the CP management unit 26 is set. give.
  • the inter-process communication processing unit 32 is a module having a function of replacing the process executed by the job execution unit 21 with the copy process 21C designated by the process management unit 31.
  • the inter-process communication processing unit 32 replaces the process executed by the own job execution unit 21 with the copy process 21C created in the rewind destination CP. Then, the copy process 21C is started by releasing the temporary suspension state of the copy process 21C.
  • the inter-process communication processing unit 32 is also equipped with a function for performing communication with other job execution units 21.
  • the inter-process communication processing unit 32 when an abnormality occurs in the own job execution unit 21, in response to an instruction from the CP management unit 26, the job executed by the own job execution unit 21 and any business file 2 (shared The above-described abnormality occurrence notification is transmitted to the other job execution units 21 sharing the file 2S).
  • FIG. 8 shows a configuration example of the management file 33 created in the storage device 13 by the management file processing unit 24.
  • the management file 33 is a file used for managing the CP set by the CP management unit 26 and is shared by all the job execution units 21.
  • the management file 33 has a table structure including an update order column 33A, a process ID column 33B, a shared file path column 33C, a CP name column 33D, and a rewind request presence / absence column 33E.
  • one record (row) corresponds to one CP.
  • the update order column 33A stores the order in which the corresponding CP is set, and the process ID column 33B stores the identifier of the process that the corresponding job execution unit 21 was executing at the time when the CP was set ( Process ID) is stored.
  • the shared file path column 33C stores the path to the business file 2 (shared file 2C) to which data was written at that time, and the CP name column 33D is automatically assigned to the corresponding CP.
  • the name (CP name) of the obtained CP is stored.
  • rewind request presence / absence column 33E information indicating whether or not the corresponding CP has been set as a rewind destination CP candidate of another job execution unit 21 by the job execution unit 21 in which an abnormality has occurred as described above. ("Yes” if set as a candidate for the rewinding destination CP, "No" otherwise) is stored.
  • FIG. 9 shows checkpoint information 34 created on the memory 12 (FIG. 4) by the CP management unit 26.
  • the check point information 34 is information used for managing the correspondence between the CP, the copy business file 2C, and the copy process 21C, and is created for each job.
  • the checkpoint information 34 has a table structure including a checkpoint name field 34A, a copy process ID field 34B, a business file path field 34C, and a copy business file path field 34D. In the checkpoint information 34, one row corresponds to one CP.
  • the CP name column 34A stores the CP name of each set CP
  • the copy process ID column 34B stores the process ID of the process executed by the job execution unit 21 when the CP is set. Is done.
  • the business file path column 34C stores the paths to all the business files 2 used by the process (job), and the copy business file path column 34D stores each business created when setting the corresponding CP. The path of the file 2 to the copy business file 2C is stored.
  • the job execution control unit 35 is a module that controls execution of the user program UP. Specifically, the job execution control unit 35 performs activation of the user program UP, waiting for termination of the user program UP, forced termination of the user program UP, and the like.
  • the shared file determination processing unit 25 starts the shared file determination processing when the job execution unit 21 should write data to the business file 2 when executing the job.
  • the execution unit 21 determines whether the business file 2 has been locked so that other job execution units 21 cannot access it.
  • the shared file determination unit 25 ends the shared file determination process.
  • the shared file determination unit 25 transmits a notification that the business file 2 to which data is written is a shared file (hereinafter referred to as a shared file write notification) to the CP management unit 26, and this shared file The determination process ends.
  • FIG. 10 shows the procedure of the CP setting process executed by the CP management unit 26 that has received the shared file write notification from the shared file determination unit 25 in the shared file determination process described above.
  • the CP management unit 26 sets the point in time according to the processing procedure shown in FIG.
  • the CP management unit 26 starts this CP setting process.
  • the paths to all the business files 2 used by the job execution unit 21 at that time (hereinafter referred to as the following) And these are called file paths) from the job definition file 23 (SP10).
  • the CP management unit 26 instructs the file copy processing unit 27 to create a copy (copy business file 2C) of each business file 2 accessed by each file path acquired in step SP10 (file copy command). (SP11).
  • the file copy processing unit 27 creates a copy of each business file 2 designated in the file copy instruction on the storage device 13 in accordance with the file copy instruction.
  • the CP management unit 26 gives an instruction (process copy instruction) to the process copy processing unit 28 so as to create a copy of the process currently being executed by the own job execution unit 21 (copy process 21C) (SP12).
  • process copy processing unit 28 creates a copy of the process designated in the process copy instruction on the memory 12 or the storage device 13 in accordance with the process copy instruction, and sets the created copy process 2C to a paused state. .
  • the CP management unit 26 gives an instruction (CP registration instruction) to the management file processing unit 24 to set the CP (SP13).
  • CP registration instruction an instruction to the management file processing unit 24 to set the CP (SP13).
  • the management file processing unit 24 sets the processing point as a CP by registering necessary information in the management file 33 in accordance with the CP registration instruction.
  • the CP management unit 26 determines the CP name of the CP set at that time, the copy process ID of the copy process 21C, and all the business files 2 used by the own job execution unit 21. And the path to the copy business file 2C of the business file 2 are newly registered in the CP information 34 (FIG. 9) on the memory 12 (SP14), and then the CP setting process is terminated.
  • the CP management unit 26 appropriately sets the CP at an arbitrary timing, separately from the case where the shared file write notification is received from the shared file determination unit 25. In this case, the CP management unit 26 manages the CP by registering necessary information regarding the CP only in the CP information 34 without registering the created CP in the management file 33.
  • FIG. 11 shows the abnormal state detection notification received from the abnormal state detection unit 29 or a failure from another job execution unit 21 via the inter-process communication processing unit 32.
  • the processing procedure of the job rewinding process executed by the CP management unit 26 that has received the notification of occurrence of failure (failure occurrence notification) is shown.
  • the CP management unit 26 When the CP management unit 26 receives the abnormal state detection notification from the abnormal state detection unit 29 or the failure occurrence notification from the other job execution unit 21, the CP management unit 26 first prevents the other job execution unit 21 from accessing the management file 33. Is given to the management file processing unit 24 to lock (hereinafter referred to as a lock instruction) (SP20). Thus, the management file processing unit 24 locks the management file 33 in accordance with this lock instruction so that other job execution units 21 cannot access it.
  • a lock instruction hereinafter referred to as a lock instruction
  • the CP management unit 26 gives a search instruction to the management file processing unit 24 to search the management file 33 using the process ID of the process currently executed by the own job execution unit 21 as a key (SP21).
  • the management file processing unit 24 searches for a record on the management file 33 (FIG. 8) in which the designated process ID is stored in the process ID column 33B (FIG. 8), and the search result (such as that If there is such a record, the information of that record is included) to the CP management unit 26.
  • the CP management unit 26 stores the process ID of the process currently executed by the own job execution unit 21 in the process ID column 33 based on the search result notified from the management file processing unit 24 in step SP21. It is determined whether the recorded record exists on the management file 33 (SP22).
  • step SP26 If a negative result is obtained in this determination, it means that the shared file 2S is not used in the job executed by the job execution unit 21 at that time. Thus, at this time, the CP management unit 26 proceeds to step SP26.
  • obtaining a positive result in the determination in step SP22 means that the job being executed by the job execution unit 21 at that time uses the shared file 2S.
  • the CP management unit 26 determines that the process ID stored in the process ID column 33B is the process ID of the management file 33 based on the search result of the management file processing unit 24 acquired in step SP21. It is determined whether or not there is a record that matches “” and stores “Yes” in the rewind request presence / absence column 33E (FIG. 8) (SP23).
  • the CP management unit 26 performs the rewind job pre-processing for specifying the rewind destination CP of another job that shares the job file 2 (shared file 2S) with the job being executed by the job execution unit 21. Execute (SP24).
  • this rewind job pre-processing deletes a CP record newer than the rewind destination CP of the job executed by the own job execution unit 21 from the management file 33, while the other job execution unit 21 executes it.
  • candidates for the rewinding destination CP of the job to be set are set in the management file 33.
  • the job execution unit 21 in which the failure has occurred is the rewind destination CP of another job that shares the business file 2 (shared file 2S) with the job being executed by the own job execution unit 21. Set candidates.
  • obtaining a positive result in the determination in step SP23 means that a failure has occurred in the job executed by the own job execution unit 21 and another job sharing the business file 2.
  • the job execution unit 21 that executes the job in which the failure has occurred has already set the rewind destination CP candidate of the own job execution unit 21 in the management file 33 (see step SP37 in FIG. 12).
  • the CP management unit 26 updates based on the search result of the management file processing unit 24 acquired in step SP21 in the record in which “Yes” is stored in the rewind request presence / absence column 33E of the management file 33.
  • the rewind destination CP of the job executed by the own job execution unit is specified as one and set (SP25).
  • the CP management unit 26 releases the lock on the management file 33 by giving an instruction to the management file processing unit 24 to release the lock on the management file 33 (SP26), and then actually executes the own job.
  • a job rewind common process for returning the process of the unit 21 and the other job execution part 21 to the rewind destination CP is executed (SP27). Then, the CP management unit 26 thereafter ends this job rewinding process.
  • FIG. 12 shows the specific processing contents of the rewinding job preprocessing executed by the CP management unit 26 in step SP24 of the job rewinding process.
  • This rewind destination job pre-process is a process executed by the CP management unit 26 of the job execution unit 21 that executes a job in which a failure has occurred as described above.
  • the CP management unit 26 sets a rewind destination CP of a job executed by the own job execution unit 21 or a job executed by another job execution unit 21 according to the processing procedure shown in FIG.
  • the CP management unit 26 When proceeding to step SP24 of the job rewinding process, the CP management unit 26 starts the rewinding job preprocessing shown in FIG. 12, and firstly, is newer than the job rewinding destination CP of the job executed by the own job executing unit 21.
  • a search instruction is given to the management file processing unit 24 to search for the CP (SP30).
  • the management file processing unit 24 searches the management file 33 for the corresponding CP in accordance with the search instruction, and notifies the CP management unit 26 of the search result (including information on each corresponding record).
  • the CP management unit 26 has not yet processed the processes in steps SP32 to SP35 among the CPs newer than the rewind destination CP of the job executed by the own job execution unit 21 detected by the management file processing unit 24.
  • One CP is selected (SP31).
  • the CP management unit 26 enters the process ID column 33B (FIG. 8) of the record of the management file 33 corresponding to the CP selected in step SP31 based on the search result notified from the management file processing unit 24 in step SP30. It is determined whether or not the stored process ID 33B is the process ID of the process being executed by the own job execution unit 21 (SP32).
  • the CP selected in step SP31 is a CP set after the rewind destination CP of the job among the CPs set by the job executed by the own job execution unit 21.
  • the CP management unit 26 gives an instruction to the management file processing unit 24 to delete the record of the CP from the management file 33 in order to set the rewinding destination CP as the processing rewinding destination (SP33). Thereafter, the process proceeds to step SP35.
  • step SP32 obtaining a negative result in the determination in step SP32 is that the CP selected in step SP31 is a CP set by a job executed by the own job execution unit 21 and another job sharing the shared file 2S.
  • the CP is set after the rewind destination CP of the job executed by the job execution unit 21 (that is, the CP that can be a candidate for the rewind destination CP of the other job).
  • the CP management unit 26 winds the management file processing unit 24 so that the information stored in the rewind request presence / absence column 33E (FIG. 8) of the record corresponding to the CP in the management file 33 is set to “present”.
  • a return request is given (SP34).
  • the CP management unit 26 executes the processing of steps SP32 to SP34 for all CPs newer than the rewind destination CP of the own job execution unit 21 detected by the search processing of the management file processing unit 24 in step SP30. It is determined whether or not the processing has been completed (SP35).
  • step SP31 If the CP management unit 26 obtains a negative result in this determination, it returns to step SP31, and thereafter repeats the processing of step SP31 to step SP35 while sequentially switching the CP selected in step SP31 to another unprocessed CP. .
  • step SP35 When the CP management unit 26 eventually obtains a positive result in step SP35 by completing the processing of step SP32 to step SP35 for all the CPs detected by the search processing of the management file processing unit 24 in step SP30,
  • the management file processing unit 24 is inquired of the process ID registered in the management file 33 in association with the rewinding destination CP of the execution unit 21, and as a result, the process ID notified from the management file processing unit 24 is assigned to the own job.
  • the process ID of the process executed by the execution unit 21 is updated (SP36).
  • the CP management unit 26 processes the process ID field of the record corresponding to the CP that has transmitted the rewind request to the management file processing unit 24 so as to update the information stored in the rewind request presence / absence field 33E in step SP34.
  • the inter-process communication processing unit 32 is instructed to transmit a failure occurrence notification to the job execution unit 21 that executes the process with the process ID stored in 33B (SP37). Then, the CP management unit 26 thereafter ends this rewind job preprocessing.
  • step SP34 There may be a plurality of CPs in which the information stored in the rewind request presence / absence column 33E is updated to “present” in step SP34.
  • step SP25 information of records other than the record with the smallest update order is deleted from the management file 33 among the records in which “Yes” is stored in the rewind request presence / absence column 33E of the management file 33.
  • the job execution unit 21 that has received the failure occurrence notification transmitted from the inter-communication processing unit 32 returns the process to the last set CP.
  • FIG. 13 shows the specific processing contents of the job rewind common process executed by the CP management unit 26 in step SP27 of the job rewind process (FIG. 11).
  • the CP management unit 26 actually rewinds the job according to the processing procedure shown in FIG.
  • the job rewinding common process shown in FIG. 13 is started.
  • the job rewinding destination CP of the job executed by the own job execution unit 21 is started. Is specified (SP40).
  • the CP management unit 26 specifies the rewind destination CP preset by the user or the like as the rewind destination of the job executed by the own job execution unit 21.
  • the job management unit 26 executes the job and the business file 2 (shared file) 2S), it is recognized that a failure has occurred in the other job execution unit 21 sharing. Therefore, in such a case, the CP management unit 26 stores the process ID of the process executed by the own job execution unit 21 in the management file 33 in the process ID column 33B (FIG. 8), and the rewind request column.
  • the management file processing unit 24 is instructed to search for the CP name stored in the CP name column 33D (FIG. 8) of the record in which “present” is stored in 33E (FIG. 8). Then, the CP management unit 26 specifies the CP assigned with the CP name detected by the search notified from the management file processing unit 24 as the rewinding destination CP of the job executed by the own job execution unit 21.
  • the CP management unit 26 obtains a negative result at step SP22 of the job rewinding process (FIG. 11) and then proceeds to step SP27 via step SP26, the job executed by its own job execution unit 21 is another job.
  • the job executed by the job execution unit 21 is not shared with the business file 2 and the job executed by the own job execution unit 21 recognizes that a failure has occurred.
  • the CP management unit 26 refers to the CP information 34 stored in the memory 12, and the job executed by the own job execution unit 21 is arbitrarily different from the timing at which data is written to the shared file 2S.
  • the CPs created at the timing the CP set before the point where such a failure has occurred and the newest CP is identified as the rewinding destination CP.
  • the CP management unit 26 executes its own job by searching the CP information 34 (FIG. 9) on the memory 12 (FIG. 4) using the CP name of the rewinding destination CP identified in step SP40 as a key. All paths (business file paths) to each business file 2 used by the job executed by the unit 21 are detected (SP41).
  • the CP management unit 26 selects a path to one business file 2 from the paths to the business file 2 detected in step SP41, and uses the path to the selected business file 2 as a key to the business file.
  • the management file processing determines whether the path to the file is stored in the shared file path column 33C (FIG. 8) of any record of the management file 33 and “Yes” is stored in the rewind request column 33E of the record.
  • the unit 24 is inquired (SP43).
  • the CP management unit 26 specifies the path to the copy of the business file 2 selected in step SP42 (copy business file 2C) as the CP information 34.
  • the job used by the job is replaced by replacing the path to the job file 2 used by the job executed by the job execution unit 21 with the above search with the path to the copy job file 2C detected by the search. Rewind the file 2 to the copy business file 2C (SP44). Then, the CP management unit 26 proceeds to step SP45.
  • the business file 2 is stored in the job when the job rewind destination CP to be executed by the job execution unit 21 is set. Means that the shared file 2S has been written. In this case, the shared file 2S is rewound to the state of the rewind destination CP of the job by executing the step SP44 of the job in which the failure has occurred. Thus, in this case, the CP management unit 26 proceeds to step SP45 and determines whether or not the processing of step SP43 and step SP44 has been executed for all the business file 2 paths detected in step SP41 (SP45). .
  • step SP42 the CP management unit 26 returns to step SP42, and then sequentially switches the path of the business file 2 selected in step SP42 to the path of the corresponding business file 2 that has not been processed. The processing from SP42 to step SP45 is repeated.
  • the CP management unit 26 eventually returns all the business files 2 whose paths are detected in step SP41 to the state of the job rewind destination CP of the job executed by the own job execution unit 21, and thereby gives a positive result in step SP45. If it is obtained, the copy business file 2C and the copy process 21C created when the CP set after the job rewind destination CP of the job executed by the own job execution unit 21 is deleted (SP46).
  • the CP management unit 26 acquires the process ID of the copy process created when setting the rewind destination CP from the CP information 34, specifies the corresponding copy process based on the acquired process ID, and temporarily stores the copy process. By canceling the stopped state, the job executed by the own job execution unit 21 is resumed (SP47).
  • the CP management unit 26 waits for the copy process resumed in step SP47 to end (SP48).
  • the job executed by its own job execution unit 21 is ended (SP49). Thereafter, the job rewind common processing is terminated.
  • the information processing apparatus 10 even when a job net does not end normally or when a failure occurs during the execution of the job net, the operator It is necessary to perform a series of recovery operations such as checking the process flow, deleting unnecessary history files created during job net execution, finding where to re-execute the job net, and restarting the device. Therefore, it is possible to reduce an operator's work load related to recovery from a job net failure.
  • the information processing apparatus 10 even when a failure occurs in any of a plurality of jobs performed in parallel using the shared file 2S, it is not necessary to re-execute these jobs from the beginning. Compared with the case where each job is re-executed from the beginning, it is possible to shorten the time required to recover from a failure of the job net, and thus to shorten the time required to complete the job net processing.
  • FIG. 5 the case where the information processing apparatus 9 is configured as shown in FIG. 5 has been described.
  • the present invention is not limited to this, and for example, FIG. A part of the plurality of modules described above may be configured as one module, and various other configurations can be widely applied as the logical configuration of the information processing apparatus 10.
  • the management file 33 is stored and managed in the storage device 13, and the CP information 34 created by each job execution unit 21 is stored and managed in the memory 12.
  • the management file 33 may be stored and managed in the memory 12 or the CP information 34 may be stored and managed in the storage device 13. However, it is better to store the CP information 34 in the memory 12, and it can be expected to speed up the processing.
  • whether the job execution unit (job execution unit 21) that executes different jobs and the business file 2 used by the job being executed by the job execution unit 21 is the shared file 2S.
  • a shared file determination unit 25 that determines whether or not, a CP management unit 26 that sets a CP when the job writes data to the business file 2 determined as the shared file 2S by the determination unit,
  • a file copy processing unit 27 that creates a copy of all business files 2 used by the job
  • a process copy processing unit 28 that creates a copy of the process of its own job execution unit 21 when setting the CP, and a job that occurred
  • the abnormal state detection unit 29 that detects the abnormal state and the abnormal state detection unit 29 detects the abnormal state
  • the shared file 2S A communication processing unit (inter-process communication processing unit) that transmits an abnormality occurrence notification to another job execution unit (job execution unit 21) that uses and executes jobs in parallel, and job execution control that controls execution of the user program UP
  • the unit 35 and the like are configured as a
  • the case where the user setting is made so that the rewind destination CP of the job in which the failure has occurred is set to the last set CP.
  • a CP other than the last set CP may be used as a job rewind destination CP, such as a CP set immediately before or three times before.
  • the CP set when the job finally writes data to the shared file 2S may be set as the rewind destination CP.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

 共有ファイルを使用してパラレルに実行される複数のジョブに障害が発生したとき、再実行に関するオペレータの作業負荷を軽減する。 共有ファイルを使用しパラレルに実行される複数のジョブを含むジョブネットを実行するときに、共有ファイル判定部がジョブが使用するファイルが共有ファイルであるか否かを判定し、チェックポイント管理部が共有ファイルと判定されたファイルに当該ジョブがデータを書き込むときにチェックポイントを設定し、ファイルコピー処理部がジョブが使用する共有ファイルの複製を作成し、プロセスコピー処理部がジョブのプロセスの複製を作成し、異常状態検出部が実行中ジョブの異常状態を検出したとき、チェックポイント管理部が再ジョブの処理を再開するチェックポイントを決定し、決定したチェックポイントの設定時に作成された共有ファイルの複製と、プロセスの複製とを用いてジョブを再開する。

Description

情報処理方法及び情報処理装置
 本発明は、情報処理方法及び情報処理装置に関し、特に、共有ファイルを使用してパラレルに実行される複数のジョブを含むジョブネットを実行する情報処理装置に適用して好適なものである。
 ジョブネットとは、実行順序を指定した1つ以上ジョブの集まりのことを言う。従来、ジョブネットの実行中に障害が発生した場合、それぞれのジョブが使用したファイルをジョブ実行前の状態に戻し、ジョブを再実行するという方法により復旧が行われていた。
 なお下記特許文献1には、ジョブネットを使用したバッチ使用システムにおいて、オペレータの介在を不要としたファイル障害回復処理の自動化と迅速な障害復旧処理による障害回復時間の短縮化とを目的として、ファイル障害時のジョブネット再実行装置に、必要な再実行ジョブを決定する再実行ジョブ決定手段と、ジョブ再実行のためのジョブ再実行手段と、実行ジョブ制御文が格納されている実行JCLライブラリと、ジョブ内で処理されたファイル情報を格納するアクセス履歴ファイルと、再実行が必要なジョブ名が格納された再実行ジョブ管理ファイルとを設けることが開示されている。
特開2001-229033号公報
 ところが、かかる特許文献1に開示されたファイル障害からの復旧方式は、ジョブがシリアルに実行されるジョブネットを対象としたものであり、複数のジョブが同じファイルを使用しながらパラレルに実行されるジョブネットを対象としたものではない。
 このため複数のジョブが同じファイルを使用しながらパラレルに実行されるジョブネットの障害からの復旧方法としてかかる特許文献1に開示された復旧方法を適用した場合、その共有ファイルを利用してパラレルに実行された複数のジョブをすべて最初から再実行する必要があり、ジョブネットの処理完了までに要する時間が増加する問題がある。
 また、通常、ジョブネットが正常に終了しなかった場合や、ジョブネットの実行途中で障害が発生した場合、オペレータは、ジョブネットを構成するジョブや、ジョブネットの処理の流れを調べ、ジョブネットの実行中に作成した不要な履歴ファイルを削除し、ジョブネットのどこから再実行すべきかを見つけ出し、装置の再起動を行う必要があった。
 このため、このようなジョブネットの障害からの復旧作業は、ジョブネットの再実行までに時間を要するだけでなく、ジョブやジョブネットの内容を十分に理解していないオペレータにとっては、負荷が大きい困難な作業であった。
 本発明は以上の点を考慮してなされたもので、特に、共有ファイルを使用してパラレルに実行される複数のジョブに障害が発生したときの障害からの復旧に関するオペレータの作業負荷を軽減し得る情報処理方法及び情報処理装置を提案しようとするものである。
 共有ファイルを使用しパラレルに実行される複数のジョブを含むジョブネットを実行するときに、共有ファイル判定部が、ジョブが使用するファイルが共有ファイルであるか否かを判定し、チェックポイント管理部が共有ファイルと判定されたファイルに当該ジョブがデータを書き込むときにチェックポイントを設定し、ファイルコピー処理部がジョブが使用する前記共有ファイルの複製を作成し、プロセスコピー処理部がジョブのプロセスの複製を作成し、実行中ジョブの異常状態を検出したとき再前記ジョブの処理を再開するチェックポイントを決定し、ジョブ実行制御部が決定した前記チェックポイントの設定時に作成された前記共有ファイルの複製と、前記プロセスの複製とを用いてジョブを再開するようにした。
 本発明によれば、共有ファイルを使用してパラレルに実行される複数のジョブに障害が発生したときの障害からの復旧に関するオペレータの作業負荷を軽減できる。
ジョブネットの構成例を示す概念図である。 本実施の形態による障害復旧方法の説明に供する概念図である。 本実施の形態による障害復旧方法の説明に供する概念図である。 本実施の形態による情報処理装置のハードウェア構成を示すブロック図である。 本実施の形態による情報処理装置の論理構成を示すブロック図である。 ジョブ定義ファイルの概略構成を示す概念図である。 本実施の形態による管理ファイル処理部の構成説明に供する概念図である。 本実施の形態による管理ファイルの構成例を示す概念図である。 本実施の形態によるCP情報の構成例を示す概念図である。 本実施の形態によるCP設定処理の処理手順を示すフローチャートである。 本実施の形態によるジョブ巻戻し処理の処理手順を示すフローチャートである。 本実施の形態による巻戻しジョブ前処理の処理手順を示すフローチャートである。 本実施の形態によるジョブ巻戻し共通処理の処理手順を示すフローチャートである。
 以下図面について、本発明の一実施の形態を詳述する。
(1)本実施の形態による障害復旧方法の概要
 図1は、ジョブネットの構成例を示す。このジョブネット1では、ジョブAの終了後にジョブB及びジョブCがパラレルに実行され、その後、ジョブDが実行される。図1の例では、ジョブB及びジョブCは、一部のファイル2を共有しており、当該ファイルに必要に応じてデータを読み書きしながら処理を進める。以下、このように複数のジョブに共有されるファイルを共有ファイルと呼ぶ。
 従来、図1のようなジョブネット1において、ジョブB又はジョブCの実行中に障害が発生した場合の障害復旧方法として、図2(A)に示すように、ジョブB及びジョブCの終了後にこれらジョブB及びジョブCを最初から再実行する方法が用いられていた。このため、このような従来の障害復旧方法によると、ジョブBやジョブCが終了しなければ障害復旧処理を開始することができず、障害からの復旧に相応の時間を要する問題があった。
 これに対して本実施の形態の障害復旧方式では、図2(B)に示すように、ジョブB及びジョブCの実行途中で適宜チェックポイント(以下、これをCPと呼ぶ)を順次設定する。そして一方のジョブCに障害が発生した場合には、障害が発生した時点よりも古いCPまで処理を戻してジョブB及びジョブCを再開する。
 図3は、図2において破線Kで囲まれた処理のより詳細な内容を示す。本実施の形態の障害復旧方式では、ジョブBやジョブCの途中で共有ファイル2Sにデータを書き込む際や、これと異なる任意のタイミングでその時点をCPとしてそれぞれ設定する。このCPの設定は、必要な情報を図8について後述する管理ファイル33や図9について後述するCP情報34に登録することにより行われる。障害が発生したジョブCでは、障害が発生した時点から、予めユーザが指定した数の分だけCPをさかのぼり、該当するCPに処理を戻す。障害が発生していないジョブBでは、ジョブCの戻り先のCPよりも後にジョブBが設定したCPのうち、最も古いCPに処理を戻す。
 さらにCPを設定するごとに、そのジョブB又はジョブCが使用するその時点における各業務ファイル(共有ファイル2Sを含む)の複製と、その時点におけるプロセスの複製とをそれぞれ作成して保存しておく。この際、作成したプロセスの複製については、一時停止の状態にしておく。以下、上述のように作成された業務ファイルの複製をコピー業務ファイル、上述のように作成されたプロセスの複製をコピープロセスと呼ぶものとする。
 そして、共有ファイル2Sを使用するジョブCに障害が発生した場合、そのジョブCについては、例えば、そのジョブが最後に共有ファイル2Sにデータを書き込む際に設定されたCPなど、予めユーザ等により処理の戻り先として設定されたCP(以下、処理の戻り先となるCPを巻戻し先CPと呼ぶ)にまで処理を戻す。具体的には、ジョブCについては、巻戻し先CPの設定時に作成した各コピー業務ファイル及びコピープロセスを用いて処理を再開する。
 また共有ファイル2Sを共有し、ジョブCとパラレルに実行されるジョブBについては、ジョブCの巻戻し先CPよりも後にそのジョブBが設定したCPのうち、最も古いCPを当該ジョブBの巻戻し先CPとして、当該巻戻し先CPにまで処理を戻す。具体的には、ジョブBについては、その巻戻し先CPの設定時に作成した各コピー業務ファイル及びコピープロセスを用いて処理を再開する。
 このような本実施の形態による障害復旧方法によれば図1について上述した従来の障害復旧方法と比べてジョブの障害復旧処理を短時間で実施することができ、その分ジョブネット1全体としての復旧を短時間で行い得る利点がある。以下、このような障害復旧方法が採用された本実施の形態の情報処理装置について説明する。
(2)本実施の形態による情報処理装置の構成
 図4において、10は全体として本実施の形態の情報処理装置を示す。この情報処理装置10は、CPU(Central Processing Unit)11、メモリ12及び記憶装置13等の情報処理資源を備えたコンピュータ装置であり、パーソナルコンピュータやワークステーション、メインフレームコンピュータなどから構成される。
 CPU11は、情報処理装置10全体の動作制御を司るプロセッサである。またメモリ12は、例えば不揮発性の半導体メモリから構成され、各種プログラムやデータを保持するために利用される。記憶装置13は、例えばハードディスク装置等から構成され、プログラムやデータを長期間保管するために利用される。
 記憶装置13に格納されたプログラムが情報処理装置10の起動時や必要時にメモリ12に読み出され、メモリ12に読み出されたこれらのプログラムをCPU11が実行することにより、後述のような各種処理が実行される。
 図5は、かかる情報処理装置10の論理構成を示す。本実施の形態による情報処理装置10には、ジョブスケジューラ20と、複数のジョブ実行部21とが実装される。
 ジョブスケジューラ20は、ジョブネットを生成するプログラムであり、ジョブネット情報伝達部22を備えて構成される。ジョブネット情報伝達部22は、各ジョブ実行部21に対して、ジョブネットスケジューラ20により生成されたジョブネットに関する各種情報(以下、これをジョブネット情報と呼ぶ)と、そのジョブ実行部21に割り当てられたジョブの実行指示とをそれぞれ伝達する。
 ジョブ実行部21は、それぞれジョブスケジューラ20のジョブネット情報伝達部22により指定されたジョブを実行するプログラムである。ジョブ実行部21は、ジョブ定義ファイル23と、管理ファイル処理部24、共通ファイル判定部25、CP管理部26、ファイルコピー処理部27、ファイル回復処理部28、異常状態検出部29、プロセスコピー処理部30、プロセス管理部31、プロセス間通信処理部32及びジョブ実行制御部35などの複数のモジュールとを備えて構成される。
 ジョブ定義ファイル23は、そのジョブ実行部21が実行すべき各種ジョブの内容が定義されたファイルであり、図6に示すように、そのジョブ実行部21が実行すべきジョブのジョブ名(図6の「ジョブ名」)や、そのジョブの実行時に使用すべき業務ファイルへのパス(図6の「業務ファイルパス」)などの各種情報が格納される。ジョブ実行部21は、ジョブ定義ファイル23に規定された内容に従って、ユーザプログラムUPを処理するジョブを実行する。ジョブに障害が発生した場合に幾つ前のCPまで処理を戻すかという設定(図6の「巻戻しCP数」)もこのジョブ定義ファイル23に予め登録される。
 管理ファイル処理部24は、後述する管理ファイル33(図8)を管理する機能を有するモジュールである。実際上、管理ファイル処理部24は、ジョブネット情報伝達部22から与えられる上述のジョブネット情報に基づいて、図7に示すように、自己を含むジョブ実行部21(以下、これを自ジョブ実行部21と呼ぶ)により実行されるジョブがジョブネットの先頭のジョブである場合には、当該ジョブの開始時に管理ファイル33を記憶装置13上に作成する。
 また管理ファイル処理部24は、CP管理部26からCP(図2)を設定すべき旨の指示(以下、これをCP設定指示と呼ぶ)が与えられると、その時点をCPとして設定するために必要な情報を管理ファイル33に登録する。さらに管理ファイル処理部24は、自ジョブ実行部により実行されるジョブがジョブネットの終端のジョブである場合には、当該ジョブの完了後にそのジョブネットについて作成した管理ファイル33を削除する。
 さらに管理ファイル処理部24は、CP管理部26からキーを指定した検索指示が与えられると、当該検索指示において指定されたキーを含むレコード(行)を管理ファイル33上で検索し、検索結果(該当するレコードが存在する場合には、そのレコードの内容を含む)をCP管理部26に通知する。
 共有ファイル判定部25は、自ジョブ実行部21により実行されるジョブが使用する業務ファイル2が共有ファイル2Sであるか否かを判定し、判定結果をCP管理部26に通知する機能を有するモジュールである。
 具体的に、共有ファイル判定部25は、自ジョブ実行部21により実行されるジョブが業務ファイル2にデータを書き込む際に、その業務ファイル2を他のジョブ実行部21がアクセスできないようにロックする場合には、その業務ファイル2が共有ファイル2Sであると判定して判定結果をCP管理部26に通知する。また共有ファイル判定部25は、自ジョブ実行部21により実行されるジョブが業務ファイル2にデータを書き込む際にその業務ファイル2をロックしない場合には、その業務ファイル2が非共有ファイル2NS(図5)であると判定して判定結果をCP管理部26に通知する。
 CP管理部26は、CPを設定したり、設定したCPを管理する機能を有するモジュールである。実際上、CP管理部26は、自ジョブ実行部21により実行されるジョブが、共有ファイル判定部25により共有ファイル2Sと判定された業務ファイル2にデータを書き込む際や、これと異なる任意のタイミングで管理ファイル処理部24に対してCP設定指示を与える。これにより、上述のように管理ファイル処理部24により必要な情報が管理ファイル33に登録されてその時点がCPとして設定される。
 またCP管理部26は、CPの設定時に、ファイルコピー処理部27に対して、そのジョブが使用するすべての業務ファイル2のその時点の内容の複製(コピー業務ファイル2C)を作成すべき旨の指示(以下、これをファイルコピー指示と呼ぶ)を与えると共に、プロセスコピー処理部28に対して、その時点における自ジョブ実行部21のプロセスの複製(コピープロセス21C)を作成すべき旨の指示(以下、これをプロセスコピー指示と呼ぶ)を与える。またCP管理部26は、この結果として作成された各コピー業務ファイル2C及びコピープロセス21Cなどに関する情報を図8について後述するCP情報34に登録して管理する。
 加えて、CP管理部26には、後述のように異常状態検出部29から異常状態を検出した旨の通知(以下、これを異常状態検出通知と呼ぶ)が与えられた場合に、自ジョブ実行部21が実行するジョブを、ジョブ定義ファイル23に設定された既定の巻戻し先CPにまで戻させて処理を再開させる機能も搭載されている。
 実際上、CP管理部26は、異常状態検出部29からの異常状態検出通知を受信すると、管理ファイル処理部24に巻戻し先CP検出通知を送信することにより、自ジョブ実行部21の巻戻し先CPを管理ファイル33上で検索させる。そしてCP管理部26は、かかる検索により検出された既定の巻戻し先CPが管理ファイル処理部24から通知されると、通知された巻戻し先CPの情報を含むファイル回復指示をファイル回復処理部30に送信すると共に、当該巻戻し先CPの情報を含むプロセス回復指示をプロセス管理部31に送信する。この結果、後述のように、自ジョブ実行部21が実行するジョブがこの巻戻し先CPから再開される。
 またCP管理部26は、自ジョブ実行部21が実行しているジョブと共有ファイル2Sを共有する他のジョブが設定したCPの検索を管理ファイル処理部24に指示する。そしてCP管理部26は、この検索により検出されたCPのうち、自ジョブ実行部21が実行するジョブの巻戻し先CPよりも後に作成されたすべてのCPを当該他のジョブの巻戻し先CPの候補として設定するよう管理ファイル処理部24に要求(以下、この要求を巻戻し要求と呼ぶ)する。そしてCP管理部26は、この後、自ジョブ実行部21が実行しているジョブと共有ファイル2Cを共有するジョブを実行しているジョブ実行部21に対してプロセス間通信処理部32を介して障害が発生した旨の通知(以下、これを障害発生通知と呼ぶ)を送信する。
 なお、CP管理部26は、他のジョブ実行部21から上述の障害発生通知が与えられた場合には、当該他のジョブ実行部21が管理ファイル33に設定した自ジョブ実行部21が実行するジョブの巻戻し先CPの候補のうち、最も古いCPを管理ファイル処理部24に問い合わせる。そしてCP管理部26は、この問合せに対して管理ファイル処理部24から通知されたCPを自己の巻戻し先CPとして特定し、この巻戻し先CPの情報を含むファイル回復指示をファイル回復処理部30に送信すると共に、当該巻戻し先CPの情報を含むプロセス回復指示をプロセス管理部31に送信する。この結果、後述のように、自ジョブ実行部21が実行するジョブがこの巻戻し先CPから再開される。
 ファイルコピー処理部27は、CP管理部26の制御の下に、必要な業務ファイル2の複製(コピー業務ファイル2C)を作成する機能を有するモジュールである。実際上、ファイルコピー処理部27は、CP管理部26から上述のファイルコピー指示が与えられた場合に、自ジョブ実行部21が現在実行中のジョブで使用する業務ファイル2をジョブ定義ファイル23上で検索し、当該検索により検出したすべての業務ファイル2の複製を作成して記憶装置13(図4)に格納する。
 またプロセスコピー処理部28は、CP管理部26の制御の下に、必要なプロセスの複製(コピープロセス21C)を作成する機能を有するモジュールである。実際上、プロセスコピー処理部28は、CP管理部28から上述のプロセスコピー指示が与えられた場合に、その時点で自ジョブ実行部21が実行しているプロセスの複製を作成してメモリ12(図4)に格納すると共に、このとき作成したコピープロセス21Cを一時停止の状態に設定する。
 異常状態検出部29は、自ジョブ実行部21により実行中のジョブの異常状態を検出する機能を有するモジュールである。異常状態検出部29は、例えば、ある処理に閾値以上の時間を要した場合や、作成されたデータのデータサイズが閾値以上の場合などに異常が発生したと判定し、異常状態検出通知をCP設定部26に通知する。この結果、上述のようにCP管理部26からファイル回復処理部30やプロセス管理部31に対して巻戻し先CPを指定したファイル回復指示やプロセス回復指示が与えられる。
 ファイル回復処理部30は、CP管理部26からのファイル回復指示に応じて、ジョブ実行部21がジョブを実行する際に使用する各業務ファイル2を、CP管理部26から与えられたファイル回復指示において指定された巻戻し先CPの設定時にそれぞれ複製した業務ファイル2(コピー業務ファイル2C)に置き換える機能を有するモジュールである。後述のようにプロセス間通信処理部32により一時停止状態が解除されたコピープロセス2Cは、置き換えられたコピー業務ファイル2Cを利用して再開後の処理を実行する。
 またプロセス管理部31は、CP管理部26からのプロセス回復指示に応じて、ジョブ実行部21が実行するプロセスを指定されたプロセスを、CP管理部26から与えられたプロセス回復指示において指定された巻戻し先CPの設定時に複製したプロセス(コピープロセス21C)に置き換える機能を有するモジュールである。具体的に、プロセス管理部31は、CP管理部26からのプロセス回復指示により指定された巻戻し先CPの設定時に作成されたコピープロセス21Cから処理を再開するようプロセス間通信処理部32に指示を与える。
 プロセス間通信処理部32は、ジョブ実行部21が実行するプロセスをプロセス管理部31により指定されたコピープロセス21Cに置き換える機能を有するモジュールである。実際上、プロセス間通信処理部32は、CP管理部26から上述のプロセス回復指示が与えられると、自ジョブ実行部21が実行するプロセスを巻戻し先CPにおいて作成されたコピープロセス21Cに置き換えると共に、当該コピープロセス21Cの一時停止状態を解除することにより、コピープロセス21Cの処理を開始させる。
 またプロセス間通信処理部32には、他のジョブ実行部21との間の通信を行う機能も搭載されている。そしてプロセス間通信処理部32は、自ジョブ実行部21に異常が発生した場合に、CP管理部26の指示に応じて、自ジョブ実行部21が実行するジョブといずれかの業務ファイル2(共有ファイル2S)を共有する他のジョブ実行部21に対して上述の異常発生通知を送信する。
 図8は、管理ファイル処理部24により記憶装置13内に作成される管理ファイル33の構成例を示す。管理ファイル33は、CP管理部26により設定されたCPを管理するために利用されるファイルであり、すべてのジョブ実行部21に共有される。この管理ファイル33は、図8に示すように、更新順序欄33A、プロセスID欄33B、共有ファイルパス欄33C、CP名欄33D及び巻戻し要求有無欄33Eから構成されるテーブル構造を有する。管理ファイル33では、1つのレコード(行)が1つのCPに対応する。
 そして更新順序欄33Aには、対応するCPが設定された順位が格納され、プロセスID欄33Bには、そのCPが設定された時点で対応するジョブ実行部21が実行していたプロセスの識別子(プロセスID)が格納される。また共有ファイルパス欄33Cには、そのときデータの書き込みが行われた業務ファイル2(共有ファイル2C)へのパスが格納され、CP名欄33Dには、対応するCPに対して自動的に付与されたそのCPの名称(CP名)が格納される。
 さらに巻戻し要求有無欄33Eには、対応するCPが、上述のように異常が発生したジョブ実行部21により他のジョブ実行部21の巻戻し先CPの候補として設定された否かを表す情報(巻戻し先CPの候補として設定された場合には「有」、そうでない場合には「無」)が格納される。
 一方、図9は、CP管理部26によりメモリ12(図4)上に作成されるチェックポイント情報34を示す。このチェックポイント情報34は、CPと、コピー業務ファイル2C及びコピープロセス21Cとの対応関係を管理するために利用される情報であり、ジョブごとに作成される。チェックポイント情報34は、図9に示すように、チェックポイント名欄34A、コピープロセスID欄34B、業務ファイルパス欄34C及びコピー業務ファイルパス欄34Dから構成されるテーブル構造を有する。チェックポイント情報34は、1つの行が1つのCPに対応する。
 そしてCP名欄34Aには、設定された各CPのCP名が格納され、コピープロセスID欄34Bには、そのCPを設定したときにジョブ実行部21が実行していたプロセスのプロセスIDが格納される。また業務ファイルパス欄34Cには、かかるプロセス(ジョブ)が使用するすべての業務ファイル2へのパスがそれぞれ格納され、コピー業務ファイルパス欄34Dには、対応するCPの設定時に作成された各業務ファイル2のコピー業務ファイル2Cへのパスがそれぞれ格納される。
 ジョブ実行制御部35は、ユーザプログラムUPの実行を制御するモジュールである。具体的に、ジョブ実行制御部35は、ユーザプログラムUPの起動、ユーザプログラムUPの終了待ち、ユーザプログラムUPの強制終了などを行う。
(3)ジョブ実行部における各種処理
 次に、ジョブ実行部21において実行される各種処理の具体的な処理内容について説明する。なお、以下においては、各種処理の処理主体をモジュールとして説明するが、実際上は、そのモジュールに基づいてCPU11(図4)によりその処理が実行されることは言うまでもない。
(3-1)共有ファイル判定処理
 共有ファイル判定処理部25は、ジョブ実行部21がジョブの実行時に業務ファイル2にデータを書き込むべきタイミングとなると、共有ファイル判定処理を開始し、まず、自ジョブ実行部21がその業務ファイル2を、他のジョブ実行部21がアクセスできないようにロックしたか否かを判断する。
 ロックしていないと判断されたとき、その業務ファイル2が共有ファイルでないことを意味する。かくして、このとき共有ファイル判定部25は、この共有ファイル判定処理を終了する。
 これに対して、ロックしたと判断されたとき、その業務ファイル2が共有ファイルであることを意味する。かくして、このとき共有ファイル判定部25は、データ書き込み先の業務ファイル2が共有ファイルである旨の通知(以下、これを共有ファイル書込み通知と呼ぶ)をCP管理部26に送信し、この共有ファイル判定処理を終了する。
(3-2)CP設定処理
 図10は、上述の共有ファイル判定処理において共有ファイル判定部25からの共有ファイル書込み通知を受信したCP管理部26により実行されるCP設定処理の処理手順を示す。CP管理部26は、この図10に示す処理手順に従って、その時点をCPに設定する。
 実際上、CP管理部26は、かかる共有ファイル書込み通知を受信すると、このCP設定処理を開始し、まず、そのとき自ジョブ実行部21が使用しているすべての業務ファイル2へのパス(以下、これらをそれぞれファイルパスと呼ぶ)をジョブ定義ファイル23から取得する(SP10)。
 続いて、CP管理部26は、ステップSP10において取得した各ファイルパスによりアクセスされる各業務ファイル2の複製(コピー業務ファイル2C)をそれぞれ作成するようファイルコピー処理部27に指示(ファイルコピー指示)を与える(SP11)。かくして、ファイルコピー処理部27は、このファイルコピー指示に従って、ファイルコピー指示において指定された各業務ファイル2の複製を記憶装置13上にそれぞれ作成する。
 またCP管理部26は、自ジョブ実行部21がその現時点で実行しているプロセスの複製(コピープロセス21C)を作成するようプロセスコピー処理部28に指示(プロセスコピー指示)を与える(SP12)。かくして、プロセスコピー処理部28は、このプロセスコピー指示に従って、プロセスコピー指示において指定されたプロセスの複製をメモリ12又は記憶装置13上に作成すると共に、作成したコピープロセス2Cを一時停止状態に設定する。
 次いで、CP管理部26は、CPを設定するよう管理ファイル処理部24に指示(CP登録指示)を与える(SP13)。かくして、管理ファイル処理部24は、このCP登録指示に従って、必要な情報を管理ファイル33に登録することにより、その処理ポイントをCPとして設定する。
 さらにCP管理部26は、ステップSP10~ステップSP13における処理結果に基づいて、そのとき設定されたCPのCP名、コピープロセス21CのコピープロセスID、自ジョブ実行部21が使用するすべての業務ファイル2へのパス及びこれら業務ファイル2のコピー業務ファイル2Cへのパスをメモリ12上のCP情報34(図9)に新規登録し(SP14)、この後、このCP設定処理を終了する。
 なおCP管理部26は、共有ファイル判定部25からの共有ファイル書込み通知を受信した場合とは別に、任意のタイミングでCPを適宜設定する。この場合、CP管理部26は、そのとき作成したCPを管理ファイル33には登録せず、当該CPに関する必要な情報をCP情報34にのみ登録することにより当該CPを管理する。
(3-3)ジョブ巻戻し処理
 一方、図11は、異常状態検出部29からの異常状態検出通知を受信し、又は、プロセス間通信処理部32を介して他のジョブ実行部21からの障害が発生した旨の通知(障害発生通知)を受信したCP管理部26により実行されるジョブ巻戻し処理の処理手順を示す。
 CP管理部26は、かかる異常状態検出部29からの異常状態検出通知又は他のジョブ実行部21からの障害発生通知を受信すると、まず、他のジョブ実行部21がアクセスできないように管理ファイル33をロックするよう管理ファイル処理部24に指示(以下、これをロック指示と呼ぶ)を与える(SP20)。かくして、管理ファイル処理部24は、このロック指示に従って、他のジョブ実行部21がアクセスできないように管理ファイル33をロックする。
 続いて、CP管理部26は、自ジョブ実行部21が現在実行しているプロセスのプロセスIDをキーとして管理ファイル33を検索するよう管理ファイル処理部24に検索指示を与える(SP21)。かくして管理ファイル処理部24は、この検索指示に従って、指定されたプロセスIDがプロセスID欄33B(図8)に格納された管理ファイル33(図8)上のレコードを検索し、検索結果(そのようなレコードが存在する場合には、そのレコードの情報を含む)をCP管理部26に通知する。
 次いで、CP管理部26は、ステップSP21において管理ファイル処理部24から通知された上述の検索結果に基づいて、自ジョブ実行部21が現在実行しているプロセスのプロセスIDがプロセスID欄33に格納されたレコードが管理ファイル33上に存在するか否かを判断する(SP22)。
 この判断で否定結果を得ることは、そのとき自ジョブ実行部21が実行しているジョブでは共有ファイル2Sを使用していないことを意味する。かくして、このときCP管理部26は、ステップSP26に進む。
 これに対して、ステップSP22の判断で肯定結果を得ることは、そのとき自ジョブ実行部21が実行しているジョブは共有ファイル2Sを使用していることを意味する。かくして、このときCP管理部26は、ステップSP21で取得した管理ファイル処理部24の検索結果に基づいて、管理ファイル33のレコードのうち、プロセスID欄33Bに格納されたプロセスIDが自身のプロセスIDと一致するレコードであって、巻戻し要求有無欄33E(図8)に「有」が格納されたレコードが存在するか否かを判断する(SP23)。
 この判断で否定結果を得ることは、自ジョブ実行部21が実行するジョブにおいて障害が発生したことを意味する。かくして、このときCP管理部26は、自ジョブ実行部21が実行しているジョブと業務ファイル2(共有ファイル2S)を共有する他のジョブの巻戻し先CPを特定する巻戻しジョブ前処理を実行する(SP24)。
 この巻戻しジョブ前処理は、後述のように、自ジョブ実行部21が実行するジョブの巻戻し先CPよりも新しいCPのレコードを管理ファイル33から削除する一方、他のジョブ実行部21が実行するジョブの巻戻し先CPの候補を管理ファイル33に設定する処理である。つまり本実施の形態においては、障害が発生したジョブ実行部21が、自ジョブ実行部21が実行しているジョブと業務ファイル2(共有ファイル2S)を共有する他のジョブの巻戻し先CPの候補を設定する。
 これに対してステップSP23の判断で肯定結果を得ることは、自ジョブ実行部21が実行するジョブと業務ファイル2を共有する他のジョブにおいて障害が発生したことを意味する。そして、この場合、障害が発生したジョブを実行するジョブ実行部21が、既に自ジョブ実行部21の巻戻し先CPの候補を管理ファイル33に設定している(図12のステップSP37を参照)。かくして、このときCP管理部26は、ステップSP21で取得した管理ファイル処理部24の検索結果に基づいて、管理ファイル33の巻戻し要求有無欄33Eに「有」が格納されたレコードの中で更新順序が最も小さいレコード以外のレコードの情報を管理ファイル33から削除することにより、自ジョブ実行部が実行するジョブの巻戻し先CPを1つに特定し、設定する(SP25)。
 続いて、CP管理部26は、管理ファイル33のロックを解除するよう管理ファイル処理部24に指示を与えることにより、管理ファイル33に対するロックを解除させ(SP26)、この後、実際に自ジョブ実行部21や必要に応じて他のジョブ実行部21の処理を巻戻し先CPにまで戻させるジョブ巻戻し共通処理を実行する(SP27)。そしてCP管理部26は、この後、このジョブ巻戻し処理を終了する。
(3-4)巻戻しジョブ前処理
 図12は、かかるジョブ巻戻し処理のステップSP24においてCP管理部26により実行される巻戻しジョブ前処理の具体的な処理内容を示す。この巻戻し先ジョブ前処理は、上述のように障害が発生したジョブを実行するジョブ実行部21のCP管理部26により実行される処理である。かかるCP管理部26は、この図12に示す処理手順に従って、自ジョブ実行部21が実行するジョブや、他のジョブ実行部21が実行するジョブの巻戻し先CPを設定する。
 CP管理部26は、ジョブ巻戻し処理のステップSP24に進むと、この図12に示す巻戻しジョブ前処理を開始し、まず、自ジョブ実行部21が実行するジョブの巻戻し先CPよりも新しいCPを検索するよう管理ファイル処理部24に検索指示を与える(SP30)。かくして、管理ファイル処理部24は、この検索指示に従って該当するCPを管理ファイル33上で検索し、検索結果(該当する各レコードの情報を含む)をCP管理部26に通知する。
 続いて、CP管理部26は、管理ファイル処理部24により検出された自ジョブ実行部21が実行するジョブの巻戻し先CPよりも新しいCPの中からステップSP32~ステップSP35の処理が未処理のCPを1つ選択する(SP31)。
 次いで、CP管理部26は、ステップSP30において管理ファイル処理部24から通知された検索結果に基づいて、ステップSP31で選択したCPに対応する管理ファイル33のレコードのプロセスID欄33B(図8)に格納されているプロセスID33Bが自ジョブ実行部21が実行しているプロセスのプロセスIDであるか否かを判断する(SP32)。
 この判断で肯定結果を得ることは、ステップSP31で選択したCPが、自ジョブ実行部21が実行するジョブが設定したCPのうち、当該ジョブの巻戻し先CPよりも後に設定されたCPであることを意味する。かくして、このときCP管理部26は、巻戻し先CPを処理の巻戻し先とすべく、そのCPのレコードを管理ファイル33から削除するよう管理ファイル処理部24に指示を与え(SP33)、この後、ステップSP35に進む。
 これに対して、ステップSP32の判断で否定結果を得ることは、ステップSP31で選択したCPが、自ジョブ実行部21が実行するジョブと共有ファイル2Sを共有する他のジョブが設定したCPであって、かつ自ジョブ実行部21が実行するジョブの巻戻し先CPよりも後に設定されたCP(つまり、かかる他のジョブの巻戻し先CPの候補となり得るCP)であることを意味する。かくして、このときCP管理部26は、管理ファイル33におけるそのCPに対応するレコードの巻戻し要求有無欄33E(図8)に格納された情報を「有」とするよう管理ファイル処理部24に巻戻し要求を与える(SP34)。
 この後、CP管理部26は、ステップSP30における管理ファイル処理部24の検索処理により検出した自ジョブ実行部21の巻戻し先CPよりも新しいCPのすべてについて、ステップSP32~ステップSP34の処理を実行し終えたか否かを判断する(SP35)。
 そしてCP管理部26は、この判断で否定結果を得るとステップSP31に戻り、この後、ステップSP31で選択するCPを未処理の他のCPに順次切り替えながら、ステップSP31~ステップSP35の処理を繰り返す。
 そしてCP管理部26は、やがてステップSP30における管理ファイル処理部24の検索処理により検出したすべてのCPについてステップSP32~ステップSP35の処理を実行し終えることによりステップSP35で肯定結果を得ると、自ジョブ実行部21の巻戻し先CPと対応付けて管理ファイル33に登録されているプロセスIDを管理ファイル処理部24に問い合わせ、その結果として管理ファイル処理部24から通知されたかかるプロセスIDに、自ジョブ実行部21が実行するプロセスのプロセスIDを更新する(SP36)。
 さらにCP管理部26は、ステップSP34において巻戻し要求有無欄33Eに格納された情報を「有」に更新するよう管理ファイル処理部24に巻戻し要求を送信したCPに対応するレコードのプロセスID欄33Bに格納されたプロセスIDのプロセスを実行するジョブ実行部21に対して障害発生通知を送信するようプロセス間通信処理部32に指示を与える(SP37)。そしてCP管理部26は、この後、この巻戻しジョブ前処理を終了する。
 なおステップSP34において巻戻し要求有無欄33Eに格納された情報が「有」に更新されるCPは複数存在する場合があるが、この場合には、図11について上述したようにジョブ巻戻し処理のステップSP25において管理ファイル33の巻戻し要求有無欄33Eに「有」が格納されたレコードの中で更新順序が最も小さいレコード以外のレコードの情報が管理ファイル33から削除されるため、ステップSP37においてプロセス間通信処理部32から送信された障害発生通知を受信したジョブ実行部21は、結果的に最後に設定されたCPに処理を戻すことになる。
(3-5)ジョブ巻戻し共通処理
 図13は、かかるジョブ巻戻し処理(図11)のステップSP27においてCP管理部26により実行されるジョブ巻戻し共通処理の具体的な処理内容を示す。CP管理部26は、この図13に示す処理手順に従って、実際にジョブの巻き戻しを行う。
 実際上、CP管理部26は、ジョブ巻戻し処理のステップSP27に進むと、この図13に示すジョブ巻戻し共通処理を開始し、まず、自ジョブ実行部21が実行するジョブの巻戻し先CPを特定する(SP40)。
 例えば、CP管理部26は、ジョブ巻戻し処理において、ステップSP22、ステップSP23、ステップSP24及びステップSP26を経てステップSP27に進んできた場合、自ジョブ実行部21が実行するジョブに障害が発生し、かつそのジョブが他のジョブ実行部21が実行するジョブと業務ファイル2を共有していることを認識している。このため、このような場合、CP管理部26は、自ジョブ実行部21が実行するジョブの巻戻し先として、ユーザ等により予め設定された巻戻し先CPと特定する。
 またCP管理部26は、ジョブ巻戻し処理において、ステップSP22、ステップSP23、ステップSP25及びステップSP26を経てステップSP27に進んできた場合、自ジョブ実行部21が実行するジョブと業務ファイル2(共有ファイル2S)を共有する他のジョブ実行部21に障害が発生したことを認識している。このため、このような場合、CP管理部26は、管理ファイル33において自ジョブ実行部21が実行しているプロセスのプロセスIDがプロセスID欄33B(図8)に格納され、かつ巻戻し要求欄33E(図8)に「有」が格納されているレコードのCP名欄33D(図8)に格納されているCP名の検索を管理ファイル処理部24に指示する。そしてCP管理部26は、管理ファイル処理部24から通知されるかかる検索により検出されたCP名が付与されたCPを、自ジョブ実行部21が実行するジョブの巻戻し先CPとして特定する。
 さらにCP管理部26は、ジョブ巻戻し処理(図11)のステップSP22において否定結果を得、その後、ステップSP26を経てステップSP27に進んできた場合、自ジョブ実行部21が実行するジョブが他のジョブ実行部21が実行するジョブと業務ファイル2を共有しておらず、かつ自ジョブ実行部21が実行するジョブに障害が発生したことを認識している。このため、このような場合、CP管理部26は、メモリ12に格納しているCP情報34を参照して、自ジョブ実行部21が実行するジョブが共有ファイル2Sにデータを書き込むタイミングと異なる任意のタイミングで作成したCPのうち、かかる障害が発生したポイントよりも前に設定されたCPであって、最も新しいCPを巻戻し先CPと特定する。
 続いて、CP管理部26は、ステップSP40で特定した巻戻し先CPのCP名をキーにしてメモリ12(図4)上のCP情報34(図9)で検索を行うことにより、自ジョブ実行部21が実行するジョブが使用する各業務ファイル2へのパス(業務ファイルパス)をすべて検出する(SP41)。
 続いて、CP管理部26は、ステップSP41で検出した業務ファイル2へのパスの中から1つの業務ファイル2へのパスを選択し、選択した業務ファイル2へのパスをキーとして、その業務ファイルへのパスが管理ファイル33のいずれかのレコードの共有ファイルパス欄33C(図8)に格納され、かつ当該レコードの巻戻し要求欄33Eに「有」が格納されているか否かを管理ファイル処理部24に問い合わせる(SP43)。
 そしてCP管理部26は、この問合せに対する管理ファイル処理部24の回答が否定結果であった場合には、ステップSP42で選択した業務ファイル2の複製(コピー業務ファイル2C)へのパスをCP情報34上で検索し、自ジョブ実行部21が実行するジョブが使用する業務ファイル2へのパスを、かかる検索により検出したそのコピー業務ファイル2Cへのパスに置き換えるようにして、当該ジョブが使用する業務ファイル2をコピー業務ファイル2Cに巻き戻す(SP44)。そしてCP管理部26は、この後、ステップSP45に進む。
 これに対して、ステップSP43の問合せに対する管理ファイル処理部24の回答が肯定結果であった場合、その業務ファイル2は、自ジョブ実行部21が実行するジョブの巻戻し先CPの設定時に当該ジョブによりデータ書き込みが行われた共有ファイル2Sであることを意味する。そして、この場合、この共有ファイル2Sについては、障害が発生したジョブがステップSP44を実行することにより当該ジョブの巻戻し先CPの状態にまで巻き戻されることになる。かくして、この場合、CP管理部26は、ステップSP45に進んで、ステップSP41で検出したすべての業務ファイル2のパスについてステップSP43及びステップSP44の処理を実行し終えたか否かを判断する(SP45)。
 そしてCP管理部26は、この判断で否定結果を得るとステップSP42に戻り、この後、ステップSP42で選択する業務ファイル2のパスを未処理の該当する業務ファイル2のパスに順次切り替えながら、ステップSP42~ステップSP45の処理を繰り返す。
 そしてCP管理部26は、やがてステップSP41でパスを検出したすべての業務ファイル2を、自ジョブ実行部21が実行するジョブの巻戻し先CPの状態に巻き戻し終えることによりステップSP45で肯定結果を得ると、自ジョブ実行部21が実行するジョブの巻戻し先CPよりも後に設定されたCPの設定時に作成されたコピー業務ファイル2C及びコピープロセス21Cを削除する(SP46)。
 さらにCP管理部26は、巻戻し先CPの設定時に作成されたコピープロセスのプロセスIDをCP情報34から取得し、取得したプロセスIDに基づいて対応するコピープロセスを特定し、そのコピープロセスの一時停止状態を解除することにより自ジョブ実行部21が実行するジョブを再開させる(SP47)。
 この後、CP管理部26は、ステップSP47で再開させたコピープロセスが終了するのを待ち受け(SP48)、やがてこのコピープロセスが終了すると、自ジョブ実行部21が実行するジョブを終了させ(SP49)、この後、このジョブ巻戻し共通処理を終了する。
(4)本実施の形態の効果
 以上のように本実施の形態の情報処理装置10では、各ジョブが共有ファイル2Sにデータを書き込む際にそのポイントをCPとして設定し、当該CPの設定時点における各業務ファイル2やプロセスの複製を作成し、ジョブに障害が発生した場合には、その障害が発生した時点よりも前に設定したCPの中から適切なCPを巻戻し先CPとして、当該巻戻し先CPの設定時に作成した各業務ファイル2及びプロセスの複製を利用してジョブを再開する。
 従って、本情報処理装置10によれば、ジョブネットが正常に終了しなかった場合や、ジョブネットの実行途中で障害が発生した場合にも、オペレータが、ジョブネットを構成するジョブや、ジョブネットの処理の流れを調べ、ジョブネットの実行中に作成した不要な履歴ファイルを削除し、ジョブネットのどこから再実行すべきかを見つけ出し、装置の再起動を行うといった、一連の復旧作業を実行する必要がなく、ジョブネットの障害からの復旧に関するオペレータの作業負荷を軽減することができる。
 また本情報処理装置10によれば、共有ファイル2Sを使用してパラレルに行われる複数のジョブのいずれかに障害が発生した場合においてもこれらのジョブを最初から再実行する必要がなく、その分、各ジョブをすべて最初から再実行する場合と比べて、ジョブネットの障害からの復旧に要する時間を短縮化させ、ひいてはジョブネットの処理完了までに要する時間を短縮化させることができる。
(5)他の実施の形態
 なお上述の実施の形態においては、情報処理装置9を図5のように構成するようにした場合について述べたが、本発明はこれに限らず、例えば図5について上述した複数のモジュールの中の一部のモジュール群を1つのモジュールとして構成するようにしても良く、情報処理装置10の論理構成としては、この他種々の構成を広く適用することができる。
 また上述の実施の形態においては、CPに関する情報を図8について上述した管理ファイル33と、図9について上述したCP情報34とに分けて管理するようにした場合について述べたが、本発明はこれに限らず、これらの情報を1つにまとめて管理するようにしても良い。
 さらに上述の実施の形態においては、管理ファイル33を記憶装置13に格納して管理し、個々のジョブ実行部21がそれぞれ作成したCP情報34をメモリ12に格納して管理するようにした場合について述べたが、本発明はこれに限らず、管理ファイル33をメモリ12に格納して管理したり、CP情報34を記憶装置13に格納して管理するようにしても良い。ただし、CP情報34については、メモリ12に格納しておく方がアクセス性が良く、処理の迅速化を期待できる。
 さらに上述の実施の形態においては、それぞれ異なるジョブを実行するジョブ実行部(ジョブ実行部21)と、自己のジョブ実行部21が実行中のジョブが使用する業務ファイル2が共有ファイル2Sであるか否かを判定する共有ファイル判定部25と、判定部により共有ファイル2Sと判定された業務ファイル2に当該ジョブがデータを書き込む際にCPを設定するCP管理部26と、CPの設定時に、当該ジョブが使用するすべての業務ファイル2の複製を作成するファイルコピー処理部27と、CPの設定時における自己のジョブ実行部21のプロセスの複製を作成するプロセスコピー処理部28と、ジョブに発生した異常状態を検出する異常状態検出部29と、異常状態検出部29が異常状態を検出した場合に、共有ファイル2Sを使用してパラレルにジョブを実行する他のジョブ実行部(ジョブ実行部21)に異常発生通知を送信する通信処理部(プロセス間通信処理部)と、ユーザプログラムUPの実行を制御するジョブ実行制御部35などをソフトウェア構成とするようにした場合について述べたが、本発明はこれに限らず、これらのソフトウェアやモジュールを専用のハードウェアとして構成するようにしても良い。
 さらに上述の実施の形態においては、障害が発生したジョブの巻戻し先CPを、最後に設定したCPとするようユーザ設定がなされた場合について述べたが、本発明はこれに限らず、例えば2つ前、又は3つ前に設定したCPを巻戻し先CPとするなど、最後に設定したCP以外のCPをジョブの巻戻し先CPとするようにしても良い。例えば、共有ファイル2Sを利用するジョブについては、そのジョブが共有ファイル2Sにデータを書き込む際に設定されたCP以外の任意のタイミングで設定されたCPに処理を巻戻すのを防止するため、単に最後に設定されたCPを巻戻し先CPとせずに、例えば、そのジョブが最後に共有ファイル2Sにデータを書き込む際に設定されたCPを巻戻し先CPとするようにしても良い。
 1……ジョブネット、2……業務ファイル、2S……共有ファイル、2C……コピー業務ファイル、10……情報処理装置、11……CPU、12……メモリ、13……記憶装置、20……ジョブスケジューラ、21……ジョブ実行部、21C……コピープロセス、23……ジョブ定義ファイル、24……管理ファイル処理部、25……共有ファイル判定部、26……CP管理部、27……ファイルコピー処理部、28……プロセスコピー処理部、29……異常状態検出部、30……ファイル回復処理部、31……プロセス管理部、32……プロセス間通信処理部、33……管理ファイル、34……CP情報、35……ジョブ実行制御部、CP……チェックポイント。

Claims (10)

  1.  共有ファイルを使用しパラレルに実行される複数のジョブを含むジョブネットを実行する情報処理装置における情報処理方法であって、
     共有ファイル判定部が、ジョブが使用するファイルが共有ファイルであるか否かを判定し、
     チェックポイント管理部が共有ファイルと判定されたファイルに当該ジョブがデータを書き込むときにチェックポイントを設定し、ファイルコピー処理部がジョブが使用する前記共有ファイルの複製を作成し、
     プロセスコピー処理部がジョブのプロセスの複製を作成し、
     実行中ジョブの異常状態を検出したとき、前記ジョブの処理を再開するチェックポイントを決定し、ジョブ実行制御部が決定した当該チェックポイントの設定時に作成された前記共有ファイルの複製と、前記プロセスの複製とを用いてジョブを再開することを特徴とする情報処理方法。
  2.  前記共有ファイル判定部は、
     前記ジョブが前記ファイルにアクセスする際、他のジョブがアクセスできないように当該ファイルをロックするか否かに基づいて、当該ファイルが共有ファイルであるか否かを判定する
     ことを特徴とする請求項1に記載の情報処理方法。
  3.  前記チェックポイント管理部はチェックポイント設定時チェックポイントを設定するジョブのプロセスIDをチェックポイントと対応づけて管理ファイルに登録し、
     実行するジョブが前記ジョブネットの最初に起動するジョブである場合は前記管理ファイルを作成し、実行するジョブが前記ジョブネットで最後に終了するジョブである場合に当該ジョブの終了後に前記管理ファイルを削除することを特徴とする請求項2に記載の情報処理方法。
  4.  実行するジョブの異常状態を検出したとき前記決定されたチェックポイントをジョブ再開のチェックポイントとして、当該チェックポイントの設定時に作成された前記ファイルの複製と、前記プロセスの複製とを用いて当該ジョブ実行部に前記ジョブを再開し、
     他のジョブで異常状態が発生したとき、前記他のジョブのジョブ再開のチェックポイントよりも後にジョブに設定したチェックポイントのうち、最も古いチェックポイントをジョブ再開のチェックポイントとすることを特徴とする請求項3に記載の情報処理方法。
  5.  他のジョブで異常状態が発生したとき、前記他のジョブと共有する共有ファイルについては、前記他のジョブの再開時に使用するチェックポイントの設定時に作成された当該共有ファイルの複製を用いて前記ジョブを再開することを特徴とする請求項4に記載の情報処理方法。
  6.  共有ファイルを使用しパラレルに行われる複数のジョブを含むジョブネットを実行する情報処理装置であって、
     実行中のジョブが使用するファイルが他のジョブと共有する共有ファイルであるか否かを判定する共有ファイル判定部と、
     前記共有ファイル判定部により前記共有ファイルと判定されたファイルにジョブがデータを書き込むときにチェックポイントを設定するチェックポイント管理部と、
     前記チェックポイントの設定時に、ジョブが使用する前記共有ファイルの複製を作成するファイルコピー処理部と、
     前記チェックポイントの設定時にジョブのプロセスの複製を作成するプロセスコピー処理部とを備え、
     前記チェックポイント管理部は、
     実行中ジョブの異常状態を検出したとき、前記ジョブの処理を再開するチェックポイントを特定し、当該チェックポイントの設定時に作成された前記共有ファイルの複製と、前記プロセスの複製とを用いて前記特定されたチェックポイントからジョブを再開させるジョブ実行制御部を備えることを特徴とする情報処理装置。
  7.  前記共有ファイル判定部は、
     ジョブがファイルにアクセスする際、他のジョブがアクセスできないように当該ファイルをロックするか否かに基づいて、当該ファイルが共有ファイルであるか否かを判定することを特徴とする請求項6に記載の情報処理装置。
  8.  さらに前記ジョブ実行部が実行するジョブが前記ジョブネットの最初に実行するジョブである場合、チェックポイント情報を格納する管理ファイルを作成し、
     前記チェックポイント管理部が設定するチェックポイント情報を受け取り、チェックポイント情報を格納する管理ファイルへ格納し、
     前記ジョブ実行部が実行するジョブが前記ジョブネットの最後に実行を完了するジョブである場合、チェックポイント情報を格納する管理ファイルを削除する管理ファイル処理部を備えることを特徴とする請求項7に記載の情報処理装置。
  9.  前記チェックポイント管理部は、
     異常状態が検出された場合には、予め定められた前記チェックポイントを処理の戻り先のチェックポイントとして、チェックポイントの設定時に作成された前記ファイルの複製と、前記プロセスの複製とを用いて当該ジョブ実行部に前記ジョブを再開させ、
     他のジョブ実行部から他のジョブの異常発生通知を受信した場合、前記他のジョブ実行部が実行する他のジョブの処理の戻り先チェックポイントよりも後に設定されたチェックポイントのうち、最も古いチェックポイントを処理の戻り先のチェックポイントとして、最も古いチェックポイントの設定時に作成された前記ファイルの複製と、前記プロセスの複製とを用いてジョブを再開させることを特徴とする請求項7に記載の情報処理装置。
  10.  前記チェックポイント管理部は、
     他のジョブ実行部から異常発生通知を受信した場合、前記他のジョブ実行部が実行するジョブと共有する共有ファイルは、前記他のジョブ実行部が実行するジョブの処理の戻り先のチェックポイント設定時に作成された共有ファイルの複製を用いて前記ジョブを再開させることを特徴とする請求項9に記載の情報処理装置。
PCT/JP2014/062578 2014-05-12 2014-05-12 情報処理方法及び情報処理装置 WO2015173857A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US15/122,794 US20170068603A1 (en) 2014-05-12 2014-05-12 Information processing method and information processing apparatus
PCT/JP2014/062578 WO2015173857A1 (ja) 2014-05-12 2014-05-12 情報処理方法及び情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2014/062578 WO2015173857A1 (ja) 2014-05-12 2014-05-12 情報処理方法及び情報処理装置

Publications (1)

Publication Number Publication Date
WO2015173857A1 true WO2015173857A1 (ja) 2015-11-19

Family

ID=54479431

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2014/062578 WO2015173857A1 (ja) 2014-05-12 2014-05-12 情報処理方法及び情報処理装置

Country Status (2)

Country Link
US (1) US20170068603A1 (ja)
WO (1) WO2015173857A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112579214A (zh) * 2020-12-10 2021-03-30 腾讯科技(深圳)有限公司 即时通讯应用中的工具共享方法、装置及电子设备

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11194591B2 (en) 2019-01-23 2021-12-07 Salesforce.Com, Inc. Scalable software resource loader
US10747551B2 (en) 2019-01-23 2020-08-18 Salesforce.Com, Inc. Software application optimization
US10802944B2 (en) 2019-01-23 2020-10-13 Salesforce.Com, Inc. Dynamically maintaining alarm thresholds for software application performance management
US10922062B2 (en) 2019-04-15 2021-02-16 Salesforce.Com, Inc. Software application optimization
US10922095B2 (en) * 2019-04-15 2021-02-16 Salesforce.Com, Inc. Software application performance regression analysis
CN110507373B (zh) * 2019-07-08 2024-08-06 江苏省肿瘤医院 一种医用封堵系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04330531A (ja) * 1991-05-02 1992-11-18 Toshiba Corp チェックポイント処理方式
JPH07168794A (ja) * 1993-12-14 1995-07-04 Hitachi Ltd 計算機システムのジョブ管理方法
JP2001273157A (ja) * 2000-03-24 2001-10-05 Nec Corp ジョブのチェックポイント処理方式
JP2004252686A (ja) * 2003-02-20 2004-09-09 Hitachi Ltd 情報処理システム
JP2008502953A (ja) * 2003-11-17 2008-01-31 ヴァージニア テック インテレクチュアル プロパティーズ,インコーポレイテッド 分散システムにおけるトランスペアレントなチェックポインティング及びプロセス移行
JP2008293358A (ja) * 2007-05-25 2008-12-04 Fujitsu Ltd 分散処理プログラム、分散処理方法、分散処理装置、および分散処理システム

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04330531A (ja) * 1991-05-02 1992-11-18 Toshiba Corp チェックポイント処理方式
JPH07168794A (ja) * 1993-12-14 1995-07-04 Hitachi Ltd 計算機システムのジョブ管理方法
JP2001273157A (ja) * 2000-03-24 2001-10-05 Nec Corp ジョブのチェックポイント処理方式
JP2004252686A (ja) * 2003-02-20 2004-09-09 Hitachi Ltd 情報処理システム
JP2008502953A (ja) * 2003-11-17 2008-01-31 ヴァージニア テック インテレクチュアル プロパティーズ,インコーポレイテッド 分散システムにおけるトランスペアレントなチェックポインティング及びプロセス移行
JP2008293358A (ja) * 2007-05-25 2008-12-04 Fujitsu Ltd 分散処理プログラム、分散処理方法、分散処理装置、および分散処理システム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112579214A (zh) * 2020-12-10 2021-03-30 腾讯科技(深圳)有限公司 即时通讯应用中的工具共享方法、装置及电子设备

Also Published As

Publication number Publication date
US20170068603A1 (en) 2017-03-09

Similar Documents

Publication Publication Date Title
WO2015173857A1 (ja) 情報処理方法及び情報処理装置
JP5422298B2 (ja) 階層管理ストレージシステムおよびストレージシステムの運用方法
US9563636B2 (en) Allowing writes to complete without obtaining a write lock to a file
EP3724764B1 (en) Write-ahead style logging in a persistent memory device
US9063894B2 (en) Cascade ordering
CN106951345B (zh) 一种虚拟机磁盘数据的一致性测试方法及装置
US8285679B2 (en) Creating a buffer point-in-time copy relationship for a point-in-time copy function executed to create a point-in-time copy relationship
US11531594B2 (en) Data recovery method and apparatus, server, and computer-readable storage medium
US9128881B2 (en) Recovery for long running multithreaded processes
JP5984151B2 (ja) データの復旧方法、プログラムおよびデータ処理システム
JPH11134117A (ja) コンピュータシステム
BR112015019280B1 (pt) Método para recuperar dados específicos de aplicativo e sistema
US10055307B2 (en) Workflows for series of snapshots
CN106528338B (zh) 一种远程数据复制方法、存储设备及存储系统
US6944635B2 (en) Method for file deletion and recovery against system failures in database management system
JP6293709B2 (ja) ストレージシステムおよびストレージシステム用プログラム
US9507657B2 (en) Investigation program, information processing apparatus, and information processing method
US9430485B2 (en) Information processor and backup method
CN115729749A (zh) 一种数据备份方法及系统
US20200012450A1 (en) Storage system, storage control method and storage control device
US20110131181A1 (en) Information processing device and computer readable storage medium storing program
KR102184841B1 (ko) 하이브리드 트랜잭셔널 메모리 시스템에서의 트랜잭션 복구 방법 및 트랜잭션 복구 장치
KR101969799B1 (ko) 전자 장치 및 제어 방법
US7934067B2 (en) Data update history storage apparatus and data update history storage method
CN116257531B (zh) 一种数据库空间回收方法

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

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 15122794

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14891743

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP