This application relates to and claims the benefit of priority from Japanese Patent Application number 2021-67737, filed on Apr. 13, 2021 the entire disclosure of which is incorporated herein by reference.
The present invention generally relates to a technology for migration support.
There is a known technology of related art for migration of a computer program from a mainframe system to an open system (Patent Literature 1, for example).
Patent Literature 1: Japanese Patent Laid-Open No. 2019-109584
There is a case where the target of the migration from a mainframe system to an open system is a job, such as a batch job. Once the migration is complete, it is desirable to make the mainframe system, which is the source of the migration, unnecessary (remove mainframe system, for example) to reduce the hardware operation cost.
To complete the migration of the job, it is necessary to verify that the migrated job operates correctly in the open system. The job verification takes a long time depending on the scale of the job (the number of job steps that form the job, for example) and the time required to execute the job steps contained in the job (for example, the verification takes a long time for a job formed of a large number of job steps, such as thousands to tens of thousands of job steps, or a job containing a job step executed for a long time). An abnormal end of a job step or inconsistency in the final result of the execution causes reverification of the entire job from the beginning, resulting in large overhead. The large overhead delays the completion of the job migration, resulting in an increase in the period for which the mainframe system cannot be made unnecessary.
As a function equivalent to a first check point restart (CPR) section (CPR function) of the mainframe system, a second CPR section is implemented in the open system. When the mainframe system executes each of job steps that form a job to be migrated from the mainframe system to the open system, the first CPR section outputs a job journal, and when the open system executes the job step migrated from the mainframe system, the second CPR section outputs a job journal, followed by comparison between the outputted job journals.
The present invention can eliminate the need for the reverification of a migrated job from the beginning.
In the following description, the “interface apparatus” may be one or more interface devices. The one or more interface devices may be at least one of the following devices:
In the following description, the “memory” is one or more memory devices that are an example of one or more storage devices, and may typically be a primary storage device. The at least one memory device in the memory may be a volatile memory device or a nonvolatile memory device.
In the following description, the “permanent storage apparatus” may be one or more permanent storage devices that are an example of the one or more storage devices. The permanent storage devices may each typically be a nonvolatile storage device (auxiliary storage device, for example), specifically, for example, a hard disk drive (HDD), a solid state drive (SSD), a nonvolatile memory express (NVME) drive, or a storage class memory (SCM).
In the following description, the “storage apparatus” may be a memory and a permanent storage apparatus, at least a memory.
In the following description, the “processor” may be one or more processor devices. The at least one processor device may typically be a microprocessor device, such as a CPU (central processing unit), and may instead be another type of processor device, such as a GPU (graphics processing unit). The at least one processor device may be a single-core or multi-core device. The at least one processor device may be a processor core device. The at least one processor device may be a processor device in a broad sense, such as a circuit that is a collection of gate arrays that perform part or entirety of a process by using a hardware description language (for example, field-programmable gate array (FPGA), complex programmable logic device (CPLD), or application specific integrated circuit (ASIC)).
In the following description, a function is described by the expression of “section yyy”, and the function may be achieved by a processor through execution of one or more computer programs, may be achieved by one or more hardware circuits (FPGA or ASIC, for example), or may be achieved by a combination thereof. When a function is achieved by a processor through execution of a program, a specified process is carried out by using, for example, a storage apparatus and/or an interface apparatus as appropriate, so that the function may be at least part of the processor. A process described with a function used as the subject may be a process carried out by a processor or an apparatus including the processor. The program may be installed from a program source. The program source may, for example, be a program distribution computer or a computer-readable recording medium (non-transitory recording medium, for example). The description of each function is made by way of example, and a plurality of functions may be combined into one function, or one function may be divided into a plurality of functions.
In the following description, information that allows an input to provide an output is described in some cases by an expression, such as a “table xxx”, and the information may be data having any structure (may, for example, be structured data or unstructured data), a neural network that allows an input to generate an output, or a learning model represented by a genetic algorithm or a random forest. The “table xxx” can therefore be referred to as “information xxx”. In the following description, the configuration of each table is presented by way of example, and one table may be divided into two or more tables, or entirety or part of two or more tables may be integrated into one table.
In the following description, a name is employed as “identification information” that identifies each element, and another kind of information (ID, for example) may instead be employed in place of or in addition to the name.
In the following description, when elements of the same kind are not distinguished from one another in the description thereof, a common character out of the reference characters is used in some cases, and when the elements of the same kinds are distinguished from one another in the description thereof, the reference characters are used in some cases. In the following description, an element XX having a name “xxx” is referred to as ‘XX “xxx”’ in some cases in place of or in addition to the reference character of the element.
In the following description, the “dataset” is a logical electronic data block seen from a program, such as an application program, and may, for example, be any of a record, a file, a key value pair, and a tuple.
Several embodiments will be described below.
The job “JOB01” is migrated from a mainframe system 100 to an open system 150. The job “JOB01” is formed of a plurality of job steps. One or more computer programs are associated with the job steps. In the present embodiment, a job step may be associated with a computer program in a one-to-one correspondence. The plurality of job steps are executed in a sequential order in the present embodiment. Instead, part of or two or more of the plurality of job steps may be executed at the same stage.
To complete the migration of the job “JOB01” from the mainframe system 100 to the open system 150, it is necessary to verify the job “JOB01” migrated to the open system 150. In the following description, the plurality of job steps that form the job “JOB01” in the mainframe system 100 (example of first job) are each referred to as a “first job step”, and the plurality of job steps that form the job “JOB01” in the open system 150 (example of second job) are each referred to as a “second job step” in some cases. The first job step and the second job step correspond to each other in a one-to-one correspondence. The second job step is the first job step migrated from the mainframe system 100 to the open system 150.
The mainframe system 100 includes a first job execution section 111, a first CPR (check point restart) section 112, and a first data management section 113. The first job execution section 111 executes the job “JOB01” on a first job step basis. The first CPR section 112 corresponds to the CPR function of the mainframe system 100. The first data management section 113 manages a dataset inputted to and outputted from the mainframe system 100. The first data management section 113 includes a first current-new comparison section 116 and a first data conversion section 117. The first current-new comparison section 116 and the first data conversion section 117 will be described later in detail. The first current-new comparison section 116 may be provided in the open system 150 in place of the mainframe system 100. One of the first data conversion section 117 and a second data conversion section 167, which will be described later, may be omitted.
The open system 150 includes a second job execution section 161, a second CPR section 162, and a second data management section 163. The second job execution section 161 executes the job “JOB01” on a second job step basis. The second CPR section 162 is a function equivalent to the CPR function. That is, the function equivalent to the CPR function is implemented in the open system 150 in the present embodiment. The second data management section 163 manages a dataset inputted to and outputted from the open system 150. The second data management section 163 includes a second current-new comparison section 166 and the second data conversion section 167. The second current-new comparison section 166 and the second data conversion section 167 will be described later in detail.
A console 190 (computer as input/output apparatus, for example) is coupled to the mainframe system 100 and the open system 150. The console 190 may be notified of a failed second job step in the migration. A repaired second job step may be inputted via the console 190.
The mainframe system 100 and the open system 150 are provided with volumes 120, 170, and 180. The “Volume” is an abbreviation for a logical volume (example of storage space).
The volume 120 is a volume for storing a dataset that is inputted or outputted in the execution of the job “JOB01” in the mainframe system 100. The volume 120 may be a volume that is accessible to the mainframe system 100 but is not accessible to the open system 150.
The volume 170 is a volume for storing a dataset that is inputted or outputted in the execution of the job “JOB01” in the open system 150. The volume 170 may be a volume that is accessible to the open system 150 but is not accessible to the mainframe system 100.
The volume 180 is an example of a storage space shared by the mainframe system 100 and the open system 150. In the following description, the “volume 180” is referred to as a “shared disk 180” for convenience. The shared disk 180 is configured to store a current-new comparison management table 181, a job journal 183A for the mainframe system 100, a job journal 183B for the open system 150, a memory register management table 185A of the mainframe system 100, and a memory register management table 185B of the open system 150. The memory register management table 185 stores memory register information (information containing memory information and register information). Out of the job journal 183 and the memory register management table 185, at least the job journal 183 may be stored in a storage space other than the shared disk 180. For example, the job journal 183A may be stored in the volume 120, and the job journal 183B of the second job step may be stored in the volume 170.
The current-new comparison management table 181 has an entry on a job step pair basis, as illustrated in
The job journal 183 is a journal for each job step in which a restart is specified. The job journal 183A is the job journal for the first job step, and the job journal 183B is the job journal for the second job step. The job journal 183 has an entry for each dataset under data manipulation (input and output, for example) performed when the job step is executed, as illustrated in
An example of processes carried out in the present embodiment will be described below. It is assumed in the present embodiment that a character code interpretable by the open system 150 is also interpretable by the mainframe system 100. Furthermore, in the present embodiment, character code conversion, which is conversion of a character code interpretable by the mainframe system 100 into a character code interpretable by the open system 150, is performed as required by at least one of the first data conversion section 117 and the second data conversion section 167.
A duplicate of data referred to by the job “JOB01” in the mainframe system 100 is inputted to the open system 150, and the job “JOB01” in the mainframe system 100 and the job “JOB01” in the open system 150 are executed in parallel to each other. In the present embodiment, the mainframe system 100 is an example of an actually used system, and data inputted to the job “JOB01” in the mainframe system 100 is an example of actually used data. The open system 150 is an example of a verification system, and data (duplicate of actually used data) inputted to the job “JOB01” in the open system 150 is an example of dummy data (verification data).
When a first job step to be executed is a first job step “STEP02”, which is an example of the first job step in which “RESTART” is specified in the RD operand, the following processes are carried out.
When the second job step to be executed is the second job step “STEP02”, which is the job step that is the migrated first job step “STEP02”, the second job step “STEP02” also has a RD operand, as in the mainframe system 100, and “RESTART” is specified in the RD operand. When such a second job step “STEP02” is the job step to be executed, the following processes are carried out:
The first current-new comparison section 116 carries out the following processes in response to the current-new comparison instruction from the open system 150.
When all the entries of the job journal 183Ab and all the entries of the job journal 183Bb match each other, the result of the current-new match determination is true. In this case, the following processes are carried out:
The mainframe system 100 and the open system 150 then start executing the following job step “STEP03”. Execution of the following first job step “STEP03” in the mainframe system 100 has been described in <1-1. Execution of job step in mainframe system 100>, and the execution of the following second job step “STEP03” in the open system 150 has been described in <1-2. Execution of job step in open system 150>.
<2-2. Case where Result of Current-New Match Determination is False>
When there is even one non-matching entry between the job journal 183Ab and the job journal 183Bb, the result of the current-new match determination is false. According to the example shown in
The mainframe system 100 and the open system 150 then start executing the following job step “STEP03”.
The user of the console 190 repairs the program of the notified failed second job step “STEP02”, and registers the repaired program in the open system 150.
When the repaired program is registered in the open system 150, the second current-new comparison section 166 changes the repair flag corresponding to a target PGM name (name of repaired program) in the current-new comparison management table 181 to “OFF”.
After the processes described above, when the match determination flags and the repair flags of all the entries in the current-new comparison management table 181 are “ON” and “OFF”, respectively, the migration is completed, whereby the mainframe system 100 (and permanent storage apparatus for mainframe system 100, on which volume 120 is based) can be removed.
The present embodiment will be described below in more detail.
The mainframe system 100, the open system 150, and an external storage apparatus 50 are coupled to a network 390. The network 390 is, for example, a WAN (wide area network) or a LAN (local area network).
The mainframe system 100 is a computer system (one or more computers) and includes an interface apparatus 21, a storage apparatus 22, and a processor 23 coupled to the interface apparatus 21 and the storage apparatus 22. The interface apparatus 21 is coupled to the network 390. The storage apparatus 22 includes a memory. The processor 23 executes an OS (operating system) 114 and other pieces of software. Executing the OS 114 and the other pieces of software achieves the first job execution section 111, the first CPR section 112, the first data management section 113 (first current-new comparison section 116 and first data conversion section 117), and other functions.
The open system 150 is a computer system (one or more computers) and includes an interface apparatus 71, a storage apparatus 72, and a processor 73 coupled to the interface apparatus 71 and the storage apparatus 72. The interface apparatus 71 is coupled to the network 390. The storage apparatus 72 includes a memory. The processor 73 executes an OS 164 and other pieces of software. Executing the OS 164 and the other pieces of software achieves the second job execution section 161, the second CPR section 162, the second data management section 163 (second current-new comparison section 166 and second data conversion section 167), and other functions.
The external storage apparatus 50 is an apparatus that includes a permanent storage apparatus and provides the volumes 120, 170, and 180 based on the permanent storage apparatus. The volume 120 is accessible at least to the mainframe system 100, the volume 170 is accessible at least to the open system 150, and the volume 180 (shared disk 180) is accessible both to the mainframe system 100 and the open system 150. The volumes may each be provided, for example, in the form of a cloud computing service.
An example of the details of processes carried out in the present embodiment will be described below. In the description, the job “JOB01” exemplifies a job to be migrated. Data (actually used data) referred to by the job “JOB01” is inputted to the mainframe system 100, a duplicate (dummy data) of the data is inputted to the open system 150, and the job “JOB01” in the mainframe system 100 and the job “JOB01” in the open system 150 are executed in parallel to each other.
The first job execution section 111 determines a first job step to be executed (S401). The job step determined in S401 is hereinafter referred to as a “target first job step” for convenience.
The first job execution section 111 checks the RD operand in the target first job step (S402). When the RD operand is not “RESTART” (NO in S403), the process proceeds to the process in S413.
When the RD operand is “RESTART” (YES in S403), the first job execution section 111 instructs the first CPR section 112 to acquire the job journal for the target first job step (S404). In response to the instruction, the first CPR section 112 acquires (stores) the job journal for the target first job step in the shared disk 180 (S405). Furthermore, the first CPR section 112 records the job name “JOB01”, the step name (name of target first job step), and the journal name (A) (name of the job journal) in the current-new comparison management table 181 (S406). In the target first job step, the current-new match flag is “OFF”, and the repair flag is also “OFF”.
The first current-new comparison section 116 determines whether or not execution of a target second job step, which is the second job step corresponding to the target first job step (migrated target first job step) has been initiated (S407). The target first job step is not executed but is idle until the result of the determination in 5407 becomes true. The result of the determination in 5407 becomes true when a notification of the start of execution of the target second job step is received from the open system 150 (when 5608 in
When the result of the determination in 5407 is true (YES in S407), the first job execution section 111 instructs the first job execution section 111 (that is, internally) to execute the target first job step (S408).
In response to the instruction, the first job execution section 111 executes the target first job step. With the execution, on a data manipulation basis, for example, when the data manipulation is “update” (YES in S409), the first job execution section 111 updates the actually used data (to be exact, dataset in actually used data) (S410), and the first CPR section 112 updates the job journal for the target first job step (S411). When the data manipulation is not “update” (NO in S409), S410 is skipped and S411 is carried out. As described above, on a data manipulation basis, an entry is present in the job journal for the target first job step. When the target first job step is not completed (NO in S412), S409 is carried out on the rest of the target first job step.
When the target first job step is completed (YES in S412), the first job execution section 111 determines whether or not the process in S401 and the following processes have been carried out on all the first job steps of the job “JOB01” (S413). When the result of the determination in S413 is false (NO in S413), S401 is carried out on the unprocessed first job steps. When the result of the determination in S413 is true (YES in S413), the overall procedure ends.
The first current-new comparison section 116 identifies the job journals 183A and 183B under comparison (S501). For example, the current-new comparison verification process is carried out in response to the current-new comparison instruction (instruction transmitted in S703 in
The first current-new comparison section 116 determines whether or not the character codes or the like in the job journals 183A and 183B identified in S501 differ from each other (S502). When the result of the determination in S502 is true (YES in S502), the first current-new comparison section 116 instructs the first data conversion section 117 to carry out a conversion process (S503). In response to the instruction, the first data conversion section 117 converts the character code or the like in the job journal 183A into the character code or the like for the open system. The data save format, the character code, and the like may differ between the mainframe system 100 and the open system 150, but the first data conversion section 117 converts the character code and the like for the mainframe system 100 into the character code and the like for the open system 150. The first current-new comparison section 116 refers to the job journal 183A as a result of the conversion of the character code and the like (S504), and compares the job journal 183A with the job journal 183B. That is, the current-new match determination of whether or not the job journal 183A and the job journal 183B match each other is made (S505).
When the result of the current-new match determination is true (YES in S506), the first current-new comparison section 116 updates the match determination flags corresponding to the job journals 183A and 183B identified in S501 to “ON” (S507). The first current-new comparison section 116 deletes the job journals 183A and 183B identified in S501 from the shared disk 180 (S508).
When the result of the current-new match determination is false (NO in S506), the first current-new comparison section 116 outputs information on the failed second job step and corresponding to the job journal 183B identified in S501 (information containing job name and step name, for example) to the console 190 (S509). The first current-new comparison section 116 updates the repair flag corresponding to the failed second job step to “ON” (S510). The first current-new comparison section 116 transmits a state restoration instruction of restoring the state at the start of the failed second job step to the open system 150 (S511).
The second job execution section 161 determines a second job step to be executed (S601). It is assumed in the description that a target second job step that is the second job step corresponding to the target first job step has been determined.
The second job execution section 161 determines whether or not the repair flag corresponding to the target second job step is “OFF” (S602).
When the result of the determination in S602 is true (YES in S602), the second job execution section 161 checks the RD operand in the target second job step (S602). When the RD operand is not “RESTART” (NO in S604), the process proceeds to the process in S705.
When the RD operand is “RESTART” (YES in S604), the second job execution section 161 instructs the second CPR section 162 (that is, internally) to acquire the job journal for the target second job step (S605). In response to the instruction, the second CPR section 162 acquires (stores) the job journal for the target second job step in the shared disk 180 (S606). Furthermore, the second CPR section 162 records the job name “JOB01”, the step name (name of target second job step), and the journal name (B) (name of job journal) in the current-new comparison management table 181 (S607). The second current-new comparison section 166 transmits a notification of the start of execution of the target second job step (notification containing job name and step name of target second job step, for example) to the mainframe system 100 (S608). The second data management section 163 instructs the second job execution section 161 to execute the target second job step (S609).
In response to the instruction, the second job execution section 161 executes the target second job step. With the execution, on a data manipulation basis, for example, when the data manipulation is “update” (YES in S610), the second job execution section 161 updates the dummy data (to be exact, dataset in dummy data) (S611), and the second CPR section 162 updates the job journal for the target second job step (S612). When the data manipulation is not “update” (NO in S610), S611 is skipped and S612 is carried out. As described above, on a data manipulation basis, an entry is present in the job journal for the target second job step. When the target second job step is not completed (NO in S613), S610 is carried out on the rest of the target second job step.
When the target second job step is completed (YES in S613), the second current-new comparison section 166 determines whether or not the match determination flag corresponding to the target second job step is “OFF” (S701). When the result of the determination in S701 is false (NO in S701), the process proceeds to the process in S704.
When the result of the determination in S701 is true (YES in S701), the second current-new comparison section 166 determines whether or not the journal name (A) corresponding to the target second job step is present (whether or not job journal for target first job step is present) (S702). When the result of the determination in S702 is false (NO in S702), S702 is carried out again after a fixed period.
When the result of the determination in S702 is true (YES in S702), the second current-new comparison section 166 transmits the current-new comparison instruction (instruction associated with job name and step name corresponding to target second job step) to the mainframe system 100 (S703).
The second job execution section 161 determines whether or not the process in S601 and the following processes have been carried out on all the second job steps of the job “JOB01” (S704). When the result of the determination in S704 is false (NO in S704), S601 is carried out on the unprocessed second job steps.
When the result of the determination in S704 is true (YES in S704), the second data management section 163 (second current-new comparison section 166, for example) determines whether or not the match determination flags of all the entries in the current-new comparison management table 181 are “ON” (S705). When the result of the determination in S705 is false (NO in S705), the second data management section 163 returns to the process in S601. When the result of the determination in S705 is true (YES in S705), the mainframe system 100 may be removed (S706). For example, the second current-new comparison section 166 may output information representing completion of the migration to the console 190, and the user who has been informed of the completion of the migration may remove the mainframe system 100. The determination in S705 may be made by the mainframe system 100 (first current-new comparison section 116, for example) in place of the open system 150.
When the open system 150 receives the state restoration instruction transmitted in S511 in
The second CPR section 162 identifies the failed second job step (under state restoration) from the state restoration instruction, and identifies the job journal for the identified second job step from the current-new comparison management table 181 (S801).
The second CPR section 162 carries out a dataset reconstruction process by using the job journal identified in S801 (S802). The second CPR section 162 then carries out a state construction process (S803).
The second CPR section 162 determines one dataset from the datasets for which S901 has not yet been carried out from the job journal identified in S801 (S901), and identifies the DS state of the determined dataset (S902).
The second CPR section 162 maintains the dataset determined in S901 (S904) when the DS state identified in S902 is “MOD”, “OLD”, or “SHR” (YES in S903). On the other hand, when the DS state identified in S902 is “NEW” (or not specified) (NO in S903), the second CPR section 162 deletes the dataset determined in S901 (S905).
The second CPR section 162 determines whether or not the process in S901 and the following processes have been carried out on all the datasets indicated by the job journal identified in S801 (S906). When the result of the determination in S906 is false (NO in S906), the second CPR section 162 returns to the process in S901. When the result of the determination in S906 is true (YES in S906), the dataset restoration process ends.
The second CPR section 162 determines whether or not the mainframe system 100 has acquired the job journal for a first job step following the first job step corresponding to the failed second job step (whether or not there is value of journal name (A) corresponding to job step following failed second job step) (S1001).
When the result of the determination in S1001 is true (YES in S1001), the second CPR section 162 identifies the job journal 183A for the following first job step described above from the shared disk 180 (S1002). The second CPR section 162 determines whether or not the character code or the like in the job journal 183A identified in S1002 differs from the character code or the like in the job journal 183B in the open system 150 (S1003). When the result of the determination in S1003 is true (YES in S1003), the second CPR section 162 instructs the second data conversion section 167 to perform a conversion process (S1004). In response to the instruction, the second data conversion section 167 converts the character code or the like in the job journal 183A identified in S1002 into the character code or the like for the open system. The second CPR section 162 refers to the job journal 183A in which the character code or the like has been converted (job journal 183A identified in S1002) (S1005), and constructs a dataset in the state at the start of the second job step corresponding to the following first job step described above (state at the time when aforementioned failed second job step is normally completed) based on the job journal 183A and the state (dataset) at the start of the aforementioned failed second job step (S1006).
When the repaired program (program having been repaired) of the failed second job step is registered, the second data management section 163 (second current-new comparison section 166, for example) updates the match determination flag corresponding to the second job step to “OFF” and updates the repair flag corresponding to the second job step to “OFF” (S1101).
The user who sees the information displayed on the console 190 (notification of failed second job step) repairs the program of the failed second job step (S1201), and registers the repaired program in the open system 150.
The first embodiment has been described above.
A second embodiment will be described. In the description, differences from the first embodiment will be primarily described, and description of points common to the first embodiment will be omitted or simplified.
In the second embodiment, after the mainframe system 100 acquires the job journal 183A for all the first job steps, the open system 150 starts actual operation. That is, the open system 150 is an example of an actually used system in the second embodiment.
When the open system 150 fails to execute the second job step, the mainframe system 100 executes the first job step corresponding to the failed second job step. That is, when the open system 150 fails to execute a job step, the mainframe system 100 takes over the job step.
In the second embodiment, the current-new comparison verification process may be carried out by either the mainframe system 100 or the open system 150, but the mainframe system 100 may carry out the current-new comparison verification process to prioritize the actual operation of the open system 150.
Until the current-new match determination is completed on the job journal for the second job step, the open system 150 may wait for the start of execution of a second job step following the second job step.
The second embodiment has been described above.
The aforementioned description can, for example, be summarized as follows. It should be noted that the following summary may contain a supplement to the aforementioned description or a description of variations.
The migration support system includes a first current-new comparison section 116 and a second CPR section 162. The first current-new comparison section 116 may be provided in either the mainframe system 100 or the open system 150. The second CPR section 162 is a function equivalent to the first CPR section 112 (CPR function) of the mainframe system 100. For each of the first job steps that form the first job (job “JOB01”, for example), when restart is specified in the first job step (RD operand, for example), the mainframe system 100 is configured to output a job journal representing data manipulation in the first job step and a dataset on a data manipulation basis via the first CPR section 112. For each of the second job steps that form the second job (job “JOB01”, for example) that is the migrated first job, when restart is specified in the second job step, the second CPR section 162 outputs a job journal representing data manipulation in the second job step and a dataset on a data manipulation basis. The first current-new comparison section 116 performs the current-new match determination, which is the determination of whether or not the job journals for the first job step and the second job step coincide with each other, for each of the job step pairs that are pairs of the corresponding first job step and second job step in each of which restart is specified, and carries out a process according to the result of the current-new match determination.
Since the second CPR section 162 is provided in the open system 150, the open system 150 also outputs a job journal on a job step basis, as the mainframe system 100 does. In general, the job journal is used to recover the state (dataset) at the start of the job step. In the embodiment described above, however, the job journal is used to perform the current-new comparison verification of the input/output to and from the job step. Verification on a job step basis can thus be performed, eliminating the need for reverification of a migrated job from the beginning. As a result, the period required to complete the migration is short, whereby the cost of the mainframe system 100 can be reduced.
When the result of the current-new match determination is false (NO in S506 in
When the result of the current-new match determination is false (NO in S506 in
Jobs may be executed in parallel in the mainframe system 100 and the open system 150, and on job step pair basis in the parallel execution, when the second current-new comparison section 166 acquires a job journal for a second job step that belongs to the job step pair, the second current-new comparison section 166 may notify the mainframe system 100 of the start of execution of the second job step (S608 in
The storage space shared by the mainframe system 100 and the open system 150 (shared disk 180, for example) stores on a job step pair basis repair information (repair flag, for example), which is information representing whether or not the second job step that belongs to the job step pair needs to be repaired, and match determination information (match determination flag, for example), which is information representing whether or not the current-new match determination has been performed. Whether or not the current-new match determination has been completed for the job step pair and the result of the determination can thus be identified by referring to the shared storage space.
The following may be performed on a job step pair basis. The migration support can thus be performed based on the value of the match determination information or the value of the repair information.
When the result of the current-new match determination is true (YES in S506 in
Some embodiments have been described above, and the embodiments are examples for describing the present invention, and it is not intended that the scope of the present invention is limited only to the embodiments. The present invention can also be implemented in a variety of other forms.
Number | Date | Country | Kind |
---|---|---|---|
2021-067737 | Apr 2021 | JP | national |