Systems, methods, and interfaces for scheduled migration and verification for distributed systems and mainframe systems

CN122953464APending Publication Date: 2026-10-20ELEVANCE HEALTH INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202480088429.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2023-12-26
Filing Date
2024-12-19
Publication Date
2026-10-20

AI Technical Summary

Technical Problem

分布式系统和大型机系统需要不同的调度,但是可能需要相同的工作流管理系统来跨这些系统调度作业

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure FT_1
    Figure FT_1
  • Figure FT_2
    Figure FT_2
  • Figure FT_3
    Figure FT_3
Patent Text Reader

Abstract

A system and method are provided for migrating and / or validating schedules for mainframe systems and / or distributed systems. The method may include interfacing with multiple schedulers, including a source scheduler and a target scheduler. Each scheduler may be configured to schedule jobs across one or more distributed systems and one or more mainframe systems. The method may include obtaining a source schedule generated by the source scheduler and a target schedule generated by the target scheduler for the same system in the one or more distributed systems and one or more mainframe systems. The method may include determining the validity of job migration between the source scheduler and the target scheduler. The method may include transmitting an instruction to the target scheduler to cause the target scheduler to correct the scheduler based on the determination that one or more jobs in the target scheduler are invalid.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Related applications This application claims priority to U.S. Provisional Application No. 63 / 614,777, filed December 26, 2023, entitled “Systems, Methods and Interfaces for Schedule Migration and Validation for Distributed Systems and Mainframe Systems,” the entire contents of which are incorporated herein by reference. Technical Field

[0002] This invention relates to systems, methods, and interfaces for managing information technology systems, and more specifically, but not in a limiting sense, to techniques for scheduling, migration, and verification for distributed systems and mainframe systems. Background Technology

[0003] Application workflow orchestration platforms allow enterprises to run hundreds of thousands of batch jobs and use data to optimize complex business operations. Workload management software can define, monitor, and manage scheduled and event-based workloads for enterprise applications across different operating systems, hybrid, and multi-cloud environments. Tools and systems can provide access to enterprise batch jobs through graphical interfaces. Some workflow management software can integrate with distributed storage systems. Distributed systems and mainframe systems require different scheduling, but may need the same workflow management system to schedule jobs across these systems. Workflow automation systems (e.g., BMC Control-M (CTM), Broadcom's ESP) offer varying capabilities and cost advantages. Summary of the Invention

[0004] Therefore, tools, systems, methods, and interfaces are needed for migrating and / or validating schedules generated by different workflow automation systems used for mainframes and / or distributed systems. Some implementations ensure that job links between different schedulers are properly configured with appropriate predecessor and successor relationships. To facilitate efficient validation of migrated schedules, schedule validators can be provided to application owners.

[0005] One or more embodiments of the present invention relate to a method and system for migrating and / or validating improved scheduling for mainframe systems and / or distributed systems. The method can be performed at a server having one or more processors, memory, one or more displays, and one or more programs stored in memory and configured to be executed by the one or more processors, the one or more programs including instructions for performing the steps described herein. The method may include interfacing with multiple schedulers, including a source scheduler and a target scheduler. Each scheduler may be configured to schedule jobs across one or more distributed systems and one or more mainframe systems. The method may include obtaining a source schedule generated by the source scheduler and a target schedule generated by the target scheduler for the same system in one or more distributed systems and one or more mainframe systems. The method may include determining the validity of job migration between the source scheduler and the target scheduler. The method may include transmitting an instruction to the target scheduler to cause the target scheduler to correct the target scheduler based on the determination that one or more jobs in the target scheduler are invalid.

[0006] In some implementations, the method may also include cleaning up and preprocessing the source and target schedules before determining the validity of job migration.

[0007] In some implementations, cleaning up and preprocessing source and destination schedules includes eliminating predetermined or invalid schedules.

[0008] In some implementations, determining the validity of job migration may include identifying the correct predecessor for each job based on whether a particular predecessor job is listed as a successor in the definition of any other job.

[0009] In some implementations, determining the validity of job migration between a source scheduler and a target scheduler may include using a first set of rules for scheduling one or more distributed systems and a second set of rules for scheduling one or more mainframe systems.

[0010] In some implementations, (i) the source scheduler generates schedules with job names having at least a predetermined number of characters, and the target scheduler generates schedules using application identifiers of a predetermined size, or (ii) the target scheduler generates schedules with job names having at least a predetermined number of characters, and the source scheduler generates schedules using application identifiers of a predetermined size.

[0011] In some implementations, determining the validity of job migration may include using a distributed system scheduling verification pattern based on determining that the source and target schedules correspond to one or more distributed systems. In some implementations, determining the validity of job migration may include using a mainframe system scheduling verification pattern based on determining that the source and target schedules correspond to one or more mainframe systems.

[0012] In some implementations, determining the validity of job migration may include using one or more pattern matching techniques to identify one or more mismatches between the source scheduler and the target scheduler.

[0013] In some implementations, determining the validity of a job migration may include identifying one or more source scheduling matching parameters and one or more target scheduling matching parameters. In some implementations, determining the validity of a job migration may include identifying matching schedules from one or more source scheduling matching parameters and one or more target scheduling matching parameters. In some implementations, determining the validity of a job migration may include identifying non-matching schedules from one or more source scheduling matching parameters and one or more target scheduling matching parameters. In some implementations, determining the validity of a job migration may include identifying non-matching schedules from one or more target scheduling matching parameters. In some implementations, determining the validity of a job migration may include identifying non-matching schedules from one or more source scheduling matching parameters and one or more target scheduling matching parameters.

[0014] In some implementations, determining the validity of job migration may include extracting a first list of predecessors of the source scheduler and a second list of predecessors of the target scheduler, and comparing the first and second lists to generate a comparison report.

[0015] In some implementations, the method may also include generating reports based on predecessor jobs with disconnected source and / or target schedules.

[0016] In some implementations, the method may further include providing an interface for querying job names to retrieve scheduling details of source and target schedules, and / or, in response to receiving a job name, returning scheduling details of the source or target schedule corresponding to the job name.

[0017] In some implementations, the computer system has one or more processors, memory, and a display. One or more programs include instructions for performing any of the methods described herein.

[0018] In some embodiments, a non-transitory computer-readable storage medium stores one or more programs configured for execution by a computer system having one or more processors, memory, and a display. The one or more programs include instructions for performing any of the methods described herein.

[0019] This application discloses subject matter corresponding to the following numbered clauses: (A1) A method for migrating and validating schedules, the method comprising: interfacing with a plurality of schedulers including a source scheduler and a target scheduler, each scheduler being configured to schedule jobs across one or more distributed systems and one or more mainframe systems; obtaining, for the same system in the one or more distributed systems and the one or more mainframe systems, a source schedule generated by the source scheduler and a target scheduler generated by the target scheduler; determining the validity of job migration between the source scheduler and the target scheduler; and, based on determining that one or more jobs in the target scheduler are invalid, transmitting an instruction to the target scheduler to cause the target scheduler to correct the target scheduler.

[0020] (A2) The method according to clause (A1) further includes: cleaning and preprocessing the source schedule and the target schedule before determining the validity of the job migration.

[0021] (A3) The method according to clause (A2), wherein cleaning and preprocessing the source schedule and the target schedule includes eliminating predetermined schedules or invalid schedules.

[0022] (A4) The method according to any one of the clauses (A1)-(A3), wherein determining the validity of job migration includes: identifying the correct predecessor of each job based on whether a particular predecessor job is listed as a successor in the definition of any other job.

[0023] (A5) The method according to any one of the clauses (A1)-(A4), wherein determining the validity of job migration between the source scheduler and the target scheduler includes using a first set of rules for scheduling of the one or more distributed systems and a second set of rules for scheduling of the one or more mainframe systems.

[0024] (A6) The method according to any one of clauses (A1)-(A5), wherein (i) the source scheduler generates a schedule with a job name having at least a predetermined number of characters, and the target scheduler generates a schedule using an application identifier having a predetermined size, or (ii) the target scheduler generates a schedule with a job name having at least a predetermined number of characters, and the source scheduler generates a schedule using an application identifier having a predetermined size.

[0025] (A7) The method according to any one of clauses (A1)-(A6), wherein determining the validity of job migration includes: using a distributed system scheduling verification mode based on determining that the source schedule and the target schedule correspond to the one or more distributed systems; and using a mainframe system scheduling verification mode based on determining that the source schedule and the target schedule correspond to the one or more mainframe systems.

[0026] (A8) The method according to any one of the clauses (A1)-(A7), wherein determining the validity of job migration includes using one or more pattern matching techniques to identify one or more mismatches between the source schedule and the target schedule.

[0027] (A9) The method according to any one of clauses (A1)-(A8), wherein determining the validity of job migration comprises: identifying one or more source scheduling matching parameters and one or more target scheduling matching parameters; identifying matching schedules from the one or more source scheduling matching parameters and the one or more target scheduling matching parameters; identifying non-matching schedules from the one or more source scheduling matching parameters and the one or more target scheduling matching parameters; identifying non-matching schedules from the one or more target scheduling matching parameters; and identifying non-matching schedules from the one or more source scheduling matching parameters and the one or more target scheduling matching parameters.

[0028] (A10) The method according to any one of clauses (A1)-(A9), wherein determining the validity of job migration comprises: extracting a first list of predecessors of the source scheduler and a second list of predecessors of the target scheduler; and comparing the first list and the second list to generate a comparison report.

[0029] (A11) The method according to any one of the clauses (A1)-(A10) further includes: generating a report based on a predecessor job with a disconnected source schedule and / or target schedule.

[0030] (A12) The method according to any one of clauses (A1)-(A11) further includes: providing an interface for querying a job name to retrieve scheduling details of the source schedule and the target schedule; and returning scheduling details of the source schedule or the target schedule corresponding to the job name in response to receiving the job name.

[0031] (B1) A system for migrating and verifying schedules, the system comprising: a display; one or more processors; and a memory storing one or more programs, the one or more programs including instructions for: interfacing with a plurality of schedulers including a source scheduler and a target scheduler, each scheduler being configured to schedule jobs across one or more distributed systems and one or more mainframe systems; obtaining a source schedule generated by the source scheduler and a target scheduler generated by the target scheduler for the same system in the one or more distributed systems and the one or more mainframe systems; determining the validity of job migration between the source scheduler and the target scheduler; and transmitting an instruction to the target scheduler to cause the target scheduler to correct the target scheduler based on the determination that one or more jobs in the target scheduler are invalid.

[0032] (B2) The system according to clause (B1), wherein the one or more programs further include instructions for cleaning and preprocessing the source schedule and the target schedule before determining the validity of job migration.

[0033] (B3) The system according to clause (B2), wherein cleaning and preprocessing the source schedule and the target schedule includes eliminating predetermined or invalid schedules.

[0034] (B4) A system according to any one of the clauses (B1)-(B3), wherein determining the validity of job migration includes: identifying the correct predecessor of each job based on whether a particular predecessor job is listed as a successor in the definition of any other job.

[0035] (B5) A system pursuant to any one of clauses (B1)-(B4), wherein determining the validity of job migration between the source scheduler and the target scheduler comprises using a first set of rules for scheduling of the one or more distributed systems and a second set of rules for scheduling of the one or more mainframe systems.

[0036] (B6) A system according to any one of clauses (B1)-(B5), wherein (i) the source scheduler generates a schedule with a job name having at least a predetermined number of characters, and the target scheduler generates a schedule using an application identifier having a predetermined size, or (ii) the target scheduler generates a schedule with a job name having at least a predetermined number of characters, and the source scheduler generates a schedule using an application identifier having a predetermined size.

[0037] (B7) A system according to any one of clauses (B1)-(B6), wherein determining the validity of job migration includes: using a distributed system scheduling verification mode based on determining that the source schedule and the target schedule correspond to the one or more distributed systems; and using a mainframe system scheduling verification mode based on determining that the source schedule and the target schedule correspond to the one or more mainframe systems.

[0038] (B8) The method according to any one of the clauses (B1)-(B7), wherein determining the validity of job migration includes using one or more pattern matching techniques to identify one or more mismatches between the source schedule and the target schedule.

[0039] (B9) The method according to any one of clauses (B1)-(B8), wherein determining the validity of job migration comprises: identifying one or more source scheduling matching parameters and one or more target scheduling matching parameters; identifying matching schedules from the one or more source scheduling matching parameters and the one or more target scheduling matching parameters; identifying non-matching schedules from the one or more source scheduling matching parameters and the one or more target scheduling matching parameters; identifying non-matching schedules from the one or more target scheduling matching parameters; and identifying non-matching schedules from the one or more source scheduling matching parameters and the one or more target scheduling matching parameters.

[0040] (B10) A system according to any one of clauses (B1)-(B9), wherein determining the validity of job migration comprises: extracting a first list of predecessors of the source scheduler and a second list of predecessors of the target scheduler; and comparing the first list and the second list to generate a comparison report.

[0041] (B11) A system according to any one of the provisions (B1)-(B10), wherein the one or more programs further include instructions for generating a report based on a predecessor job having a disconnected source schedule and / or target schedule.

[0042] (B12) A system according to any one of the provisions (B1)-(B11), wherein the one or more programs further include instructions for: providing an interface for querying a job name to retrieve scheduling details of a source schedule and a target schedule; and, in response to receiving a job name, returning scheduling details of the source schedule or the target schedule corresponding to the job name.

[0043] (C1) A non-transitory computer-readable storage medium storing one or more programs configured to be executed by a computer system having a display, memory, and one or more processors, the one or more programs including instructions for: interfacing with a plurality of schedulers including a source scheduler and a target scheduler, each scheduler being configured to schedule jobs across one or more distributed systems and one or more mainframe systems; obtaining a source schedule generated by the source scheduler and a target schedule generated by the target scheduler for the same system in the one or more distributed systems and the one or more mainframe systems; determining the validity of job migration between the source scheduler and the target scheduler; and transmitting an instruction to the target scheduler to cause the target scheduler to correct the target scheduler based on the determination that one or more jobs in the target scheduler are invalid.

[0044] (C2) The non-transitory computer-readable storage medium as described in clause (C1), wherein the one or more programs further include instructions for: cleaning and preprocessing the source schedule and the target schedule before determining the validity of job migration.

[0045] (C3) The non-transitory computer-readable storage medium as described in clause (C2), wherein cleaning and preprocessing the source schedule and the target schedule includes eliminating predetermined schedules or invalid schedules.

[0046] (C4) A non-transitory computer-readable storage medium pursuant to any one of the clauses (C1)-(C3), wherein determining the validity of a job migration comprises: identifying the correct predecessor of each job based on whether a particular predecessor job is listed as a successor in the definition of any other job.

[0047] (C5) A non-transitory computer-readable storage medium according to any one of the provisions (C1)-(C4), wherein determining the validity of job migration between the source schedule and the target schedule includes using a first set of rules for scheduling of the one or more distributed systems and a second set of rules for scheduling of the one or more mainframe systems.

[0048] (C6) A non-transitory computer-readable storage medium according to any one of clauses (C1)-(C5), wherein (i) the source scheduler generates a schedule having a job name having at least a predetermined number of characters, and the target scheduler generates a schedule using an application identifier having a predetermined size, or (ii) the target scheduler generates a schedule having a job name having at least a predetermined number of characters, and the source scheduler generates a schedule using an application identifier having a predetermined size.

[0049] (C7) A non-transitory computer-readable storage medium according to any one of the provisions (C1)-(C6), wherein determining the validity of a job migration includes: using a distributed system scheduling verification mode based on determining that the source schedule and the target schedule correspond to the one or more distributed systems; and using a mainframe system scheduling verification mode based on determining that the source schedule and the target schedule correspond to the one or more mainframe systems.

[0050] (C8) A non-transitory computer-readable storage medium according to any one of the provisions (C1)-(C7), wherein determining the validity of job migration includes using one or more pattern matching techniques to identify one or more mismatches between the source schedule and the target schedule.

[0051] (C9) A non-transitory computer-readable storage medium according to any one of the provisions (C1)-(C8), wherein determining the validity of a job migration comprises: identifying one or more source scheduling matching parameters and one or more target scheduling matching parameters; identifying a matching schedule from the one or more source scheduling matching parameters and the one or more target scheduling matching parameters; identifying a non-matching schedule from the one or more source scheduling matching parameters and the one or more target scheduling matching parameters; identifying a non-matching schedule from the one or more target scheduling matching parameters; and identifying a non-matching schedule from the one or more source scheduling matching parameters and the one or more target scheduling matching parameters.

[0052] (C10) A non-transitory computer-readable storage medium according to any one of clauses (C1)-(C9), wherein determining the validity of a job migration comprises: extracting a first list of predecessors of the source scheduler and a second list of predecessors of the target scheduler; and comparing the first list and the second list to generate a comparison report.

[0053] (C11) A non-transitory computer-readable storage medium according to any one of the provisions (C1)-(C10), wherein the one or more programs further include instructions for generating a report based on a predecessor job having a disconnected source schedule and / or target schedule.

[0054] (C12) A non-transitory computer-readable storage medium according to any one of the provisions (C1)-(C11), wherein the one or more programs further include instructions for: providing an interface for querying a job name to retrieve scheduling details of the source schedule and the target schedule; and, in response to receiving a job name, returning scheduling details of the source schedule or the target schedule corresponding to the job name. Attached Figure Description

[0055] Figure 1 This is a schematic diagram of an example system for verifying and / or merging scheduling for mainframe systems and / or distributed systems, based on some implementation schemes. Figure 2 A flowchart is shown as an example process for verifying and / or merging schedules for distributed systems and / or mainframe systems, according to some implementation schemes; Figure 3A An example list of job lists according to some implementation schemes is shown; Figure 3B Example source scheduling for mainframe systems is shown according to some implementation schemes; Figure 3C Example target scheduling for mainframe or distributed systems is shown according to some implementation schemes.

[0056] Figure 4A and Figure 4B Examples of scheduling preprocessing according to some implementation schemes are shown; Figures 5A to 5D Example verification reports based on some implementation schemes are shown; Figure 6A and Figure 6B Example verification reports based on some implementation schemes are shown; Figure 6C An example of invalid scheduling is shown according to some implementation schemes; Figure 7A and Figure 7B Example graphs of jobs successfully migrated over a period of time according to some implementation schemes are shown; and Figure 8 A flowchart is shown illustrating an example method for migrating and / or validating scheduling for mainframe systems and / or distributed systems, according to some implementation schemes. Detailed Implementation

[0057] The following description of embodiments of the present invention is exemplary and not restrictive, and many variations and modifications are within the scope and spirit of the invention. While numerous specific details are set forth to provide a thorough understanding of the invention, it will be apparent to those skilled in the art that embodiments of the invention can be practiced without these specific details. In other instances, well-known features have not been described in detail to avoid unnecessarily obscuring the invention.

[0058] One or more embodiments of the present invention relate to an improved method and system for migrating and / or validating scheduling for distributed and / or mainframe systems. Some embodiments demonstrate that job links between different schedulers are correctly configured with appropriate predecessor and successor relationships. Some embodiments facilitate efficient validation of migration scheduling by providing a scheduling validator to the application owner. Some embodiments determine whether a particular predecessor job is listed as a successor in the definition of any other job. Some embodiments use multiple validation iterations instead of text parsing, which can be error-prone in identifying job predecessors.

[0059] Some implementations facilitate migration and / or verification of mainframe and distributed systems. These systems may have different prerequisites. For example, for distributed systems, some schedulers may use job names with a predetermined number of characters (e.g., more than 55 characters), while others may use application identifiers (e.g., 8-byte application identifiers). Some implementations compare source and destination schedules with different formats. Some implementations verify all jobs scheduled by the scheduler to identify differences. Some implementations identify broken links on transformed (or migrated) schedules. Some implementations utilize knowledge of job links defined in different schedulers. In some implementations, the platform features a user-friendly interface that enables end-users to provide the necessary input to identify job-level differences, thereby minimizing the need for verification intervention. Some implementations allow users to provide highly granular job dependencies, thereby improving the accuracy and efficiency of verification and migration.

[0060] Figure 1This is a schematic diagram of an example system 100 for validating and / or merging schedules for mainframe and / or distributed systems, according to some implementation schemes. The diagram illustrates various components that can be implemented in a single cycle of a continuous improvement process for validating and / or migrating schedules. User 102 can input one or more inputs 104 for schedule validation. In some implementations, user 102 can be an interface to schedulers that generate schedules for distributed and / or mainframe systems. User 102 can be an automated system that docks with and / or obtains the required user input. User 102 can control the scheduler to correct incorrect or invalid schedules. A job list can be entered and may contain a comprehensive list of jobs for which the user expects comparison reports between different schedulers (e.g., CTM and ESP scheduler software). The job list can be in spreadsheet form or have a tabular format. Source schedule definitions can be entered, which may contain job definition reports for source schedulers for a specific region or system; the source schedule definitions can be provided as a text file. This file can be used as a reference for obtaining predecessors and successors for a given job. Target schedule definitions can be entered. This definition can contain a job definition report for a target scheduler used in a specific region / system. This definition can be provided as another text file. This file can be used as a reference to obtain the predecessors and successors of a given job. A validator process can be performed against a given input file. Validation can be performed simultaneously against different input files. Validation can be performed when the schedule is queued or used by different systems and / or when batch jobs are executed on different or the same systems.

[0061] A mainframe scheduler validator 106 and / or a distributed system validator 108 may be provided. The scheduler validator may have different requirements, capabilities, and / or outputs, as described below. After obtaining the source schedule (e.g., a schedule generated by the current system or scheduler) and the target schedule (e.g., a schedule generated by the target system or scheduler to which the schedule is migrated), the scheduler performs schedule preprocessing (112). Preprocessing may include cleaning the input schedule (114), data preprocessing of the schedule (116), performing pattern matching on the schedule (118), and generating (120) the schedule (e.g., using SQLite). Data preprocessing may include formatting the source dump file and / or the target dump file (e.g., XML formatted files) to prepare files for merging and / or verification. For each job, the system may extract a predecessor list for both the source scheduler and the target scheduler. Some implementations reconcile format differences (e.g., CTM jobs use more than 55 bytes, while ESP jobs use 8 bytes) by converting the job to its corresponding job name and / or by performing a matching process.

[0062] For illustration, consider a cleanup / preprocessing process that may require cross-system normalization. Assume the migration is from the CTM to the ESP scheduler for both mainframe and distributed systems. In the mainframe system case, source (e.g., CTM) schedulers may each have 8-byte job names, and target (e.g., ESP) schedulers may each have 8-byte job names. However, in the distributed system case, source (e.g., CTM) schedulers may have job names ranging from 8 to 55 bytes, and target (e.g., ESP) schedulers may each have 8-byte job names. Due to the different formats of the source and target, the target (ESP) scheduler can be converted from 55-byte job names to 8-byte job names to normalize job names across schedulers.

[0063] The scheduler verifier 124 can use scheduling information extracted from scheduler 120 to compare the predecessor list and / or generate a comparison report 126. The scheduler verifier 124 can compare source schedule matching parameters and target schedule matching parameters to generate a matching schedule 128 based on the source and target schedules, a non-matching schedule 130 based on the source and target schedules, a non-matching schedule in the source schedule based on the target schedule 132, and / or a non-matching schedule in the target schedule based on the source schedule 134. Matching parameters may include the source predecessor (e.g., CTM predecessor), the target predecessor (e.g., ESP predecessor), and / or the job start and end times of the source and target. Comparison parameters may include CTM predecessors versus ESP predecessors, CTM job start and end times versus ESP job start and end times, etc. The result set may include predecessor or time matches between schedulers. For example, this may include CTM-mismatched predecessor times (e.g., available in CTM but not in ESP), and ESP-mismatched predecessor times (e.g., available in ESP but not in CTM).

[0064] Some implementations generate comparative reports for scheduling verification and / or migration, as shown in the following references. Figures 5A to 5D As described, any type of report and / or format that can be processed by the automatic scheduling correction module can be used for comparison reports.

[0065] Figure 2A flowchart of an example process 200 for verifying and / or merging schedules for distributed systems and / or mainframe systems, according to some implementations, is shown. A user can provide one or more input files. The process can read (202) the input files (e.g., a list of jobs). The process can read (204 and 206, for different schedulers) dump files (e.g., CTM dump files, ESP dump files). The process can preprocess and / or format (steps 208 and 210 for the source scheduler and target scheduler, respectively) the dump files and / or store them in one or more lists. The process can iterate (212) as long as the input file (e.g., the list of jobs) is not at the end of the file. The process can retrieve (216) predecessors from the stored formatted list and determine if a job has a predecessor. The process can then store (218) the job in the final predecessor list. The process can also retrieve (220) predecessors for the target scheduler from the stored formatted list and determine if a job has a valid predecessor. The process can then store (224) the predecessors into a target predecessor list. After identifying the predecessors, the process can perform a matching process (222) by comparing the source and target predecessors of a given job to identify any broken links. The process can then store (228) the results in a matching container. Some implementations can perform (212) one or more of the preceding steps until the end of one or more input files is reached. The process can then use the information parsed from the input files to generate (226) a report. In this way, the process makes validation and / or merging more efficient than manual processes. The average processing time for analyzing each job can be improved. Some implementations provide job-specific information from the scheduler, thereby facilitating analysis by application teams and / or automated scheduling correction modules.

[0066] Some implementations generate comparative reports between different schedulers (e.g., CTM and ESP) and / or reports for predecessor jobs with disconnected links from ESP after the transformation. Some implementations can identify mismatches between schedulers. Some implementations reduce the risk of scheduling inconsistencies across systems, mitigating adverse effects on downstream processes. Each schedule verification may take several seconds (e.g., 40 seconds). Multiple executions of the schedule verifier can improve accuracy. For example, verification can be performed in stages, whereby the first stage provides initial and / or rapid verification of the schedule, followed by subsequent stages that perform verification more exhaustively. In some cases, an exhaustive verification process may be required so that a complete migration can be performed. Verification can be performed in stages when applied to different parts of a schedule and / or different parts of different schedules. Some implementations facilitate the retrieval of job scheduling dependencies, thereby allowing the application of owner and / or automatic schedule corrections to verify and / or migrate job execution.

[0067] Figure 3A Example list 300 of job lists according to some implementation schemes is shown. Users (or automatic retrieval modules can interface with the scheduler) obtain a list of job names (e.g., a spreadsheet with appropriate headings).

[0068] Figure 3B An example source schedule 302 for a mainframe system is shown according to some implementation schemes. The source schedule can be provided in text format or any format suitable for automatic and / or parallel processing.

[0069] Figure 3C Example target scheduling 304 for mainframe or distributed systems is shown according to some implementation schemes. Target scheduling can be provided in text format or any format suitable for automatic and / or parallel processing.

[0070] Figure 4A and Figure 4B An example of scheduling preprocessing according to some implementation schemes is shown. Figure 4A An example source schedule 400 for a scheduler such as CTM is shown. Job name 402, resource flag input condition 404, predecessor job 406, and resource flag output condition 408 are shown. Figure 4B Example target scheduling 410 for a scheduler such as ESP is shown. Precursor job names 412 and 414 are shown.

[0071] Figures 5A to 5D Example verification reports based on some implementation schemes are shown. Figure 5A Example verification report 500 is shown for matching schedules from the source scheduler and the target scheduler. Figure 5B Example verification report 502 shows a non-matching schedule from the source scheduler and the target scheduler. For example, a schedule from a CTM predecessor may not match a schedule from an ESP predecessor. Figure 5C Example verification report 504 is shown for a non-matching schedule in the source schedule from the target schedule. For example, this could include instances that exist in the CTM schedule but not in the ESP schedule. Figure 5D Example verification report 506 is shown for a non-matching schedule in the target schedule from the source schedule. For example, this could include a schedule or job available in the ESP scheduler but not in the CTM scheduler. The application owner and / or automatic schedule correction module can check for mismatches and / or report them to the target scheduler to fix the schedule.

[0072] Figure 6A and Figure 6B Example verification reports based on some implementation schemes are shown. Figure 6AA sample mainframe scheduler validator report 600, based on some implementation schemes, is shown. Based on the input, the techniques described herein can be used to preprocess and format both CTM and ESP dump files to prepare them for the comparison process. For each job, some implementations can extract the predecessor lists for both CTM and ESP. The validator can then compare the two predecessor lists and generate a comparison report, with an example format shown in [example format not provided]. Figure 6A As shown in the image. Figure 6B Sample report 602 of an example distributed system scheduler validator is shown according to some implementations. Based on the input, the techniques described herein can be used to preprocess and format both CTM dump files (e.g., XML format dump files) and ESP dump files to prepare them for the comparison process. For each job, some implementations can retrieve a list of predecessors for both CTM and ESP. Some implementations generate comparison reports, examples of which are shown in... Figure 6B As shown in the image.

[0073] Figure 6C Example processing 604 of invalid scheduling is shown according to some implementation schemes. Invalid scheduling (e.g., the crossed-out information in the example) can be filtered or removed during the verification process; the verification process may not require such information. Job scheduling definitions can include input conditions and output conditions. A scheduling may only be valid if its input condition flag (e.g., TEST14ID_predjOB1_OK) is found in the output condition (e.g., TEST14ID_predjOB1_OK) of any job definition in its job definition. Otherwise, the scheduling may be invalid. By using this logic, some implementation schemes can filter out invalid scheduling and only consider valid scheduling. During the initial analysis, the application team or system 100 can identify a list of jobs that are no longer in use or deactivated. These jobs may be part of the invalid scheduling that will be excluded from the verification process.

[0074] Figure 7A and Figure 7B Example graphs 700 and 702 show examples of jobs that have successfully migrated over a period of time according to some implementation schemes. Figure 7A This is a trend chart showing the successful migration of jobs from CT5 (source scheduler) to ES5M (target scheduler). Figure 7B This is a trend chart of jobs successfully migrating from CT8 (the source scheduler) to ES8M (the target scheduler). As the graph indicates, the percentage of successful migrations may initially increase, stabilize, and then decrease over time. In this case, the scheduler validator can be updated (e.g., using new rules or patterns).

[0075] Figure 8A flowchart of an example method 800 for migrating and / or validating scheduling for mainframe systems and / or distributed systems, according to some implementation schemes, is shown. The method may be executed by system 100 and / or at a server having one or more processors, memory, one or more displays, and one or more programs stored in memory and configured to be executed by the one or more processors, the one or more programs including instructions for performing the steps described herein.

[0076] The method may include (e.g., via user 102) interfacing with multiple schedulers, including a source scheduler and a target scheduler (802). Each scheduler may be configured to schedule jobs across one or more distributed systems and one or more mainframe systems.

[0077] This method may include obtaining (804) a source schedule generated by a source scheduler and a target schedule generated by a target scheduler for the same system in one or more distributed systems and one or more mainframe systems. For example, in Figure 1 In some implementation schemes, user 102 (or any automatic interface of the scheduler) can obtain input 104, an example of which is referenced above. Figures 3A to 3C The following is described. In some implementations, (i) the source scheduler generates schedules with job names having at least a predetermined number of characters, and the target scheduler generates schedules using application identifiers of a predetermined size, or (ii) the target scheduler generates schedules with job names having at least a predetermined number of characters, and the source scheduler generates schedules using application identifiers of a predetermined size.

[0078] The method may include determining (806) the validity of a job migration between a source scheduler and a target scheduler. In some embodiments, the method may further include cleaning up and preprocessing the source and target schedulers before determining the validity of the job migration. In some embodiments, cleaning up and preprocessing the source and target schedulers includes eliminating pre-determined or invalid schedules. In some embodiments, determining the validity of a job migration may include identifying the correct predecessor for each job based on whether a particular predecessor job is listed as a successor in the definition of any other job. In some embodiments, determining the validity of a job migration between a source and target scheduler may include using a first set of rules for scheduling one or more distributed systems and a second set of rules for scheduling one or more mainframe systems.

[0079] In some implementations, determining the validity of job migration may include using a distributed system scheduling verification pattern based on determining that the source and target schedules correspond to one or more distributed systems. In some implementations, determining the validity of job migration may include using a mainframe system scheduling verification pattern based on determining that the source and target schedules correspond to one or more mainframe systems.

[0080] In some implementations, determining the validity of job migration may include using one or more pattern matching techniques to identify one or more mismatches between the source and target schedules. Pattern matching may include regular expressions.

[0081] In some implementations, determining the validity of a job migration may include identifying one or more source scheduling matching parameters and one or more target scheduling matching parameters. In some implementations, determining the validity of a job migration may include identifying matching schedules from one or more source scheduling matching parameters and one or more target scheduling matching parameters. In some implementations, determining the validity of a job migration may include identifying non-matching schedules from one or more source scheduling matching parameters and one or more target scheduling matching parameters. In some implementations, determining the validity of a job migration may include identifying non-matching schedules from one or more target scheduling matching parameters. In some implementations, determining the validity of a job migration may include identifying non-matching schedules from one or more source scheduling matching parameters and one or more target scheduling matching parameters.

[0082] In some implementations, determining the validity of job migration may include extracting a first list of predecessors of the source scheduler and a second list of predecessors of the target scheduler, and comparing the first and second lists to generate a comparison report.

[0083] Some implementations compare and / or validate datasets between source and target schedules. For example, validation can be performed during the execution of an application job that runs when files are created / received from different systems / sources. Some implementations compare and / or validate cyclical jobs between source and target schedules. For example, validation can be performed during the execution of an application job that runs multiple times a day (e.g., every 15 or 30 minutes, depending on the definition).

[0084] To verify accuracy, in some implementations, the source scheduler and target scheduler can be executed in parallel in separate test environments. Job logs from each of these environments can be captured and compared to identify differences between pre-migration and post-migration processing. After the comparison results are consistently successful, the target scheduler can be installed in the production environment. The source scheduler can be deactivated after installation.

[0085] This method may include transmitting (808) an instruction to the target scheduler to correct the target scheduler based on the determination that one or more jobs in the target schedule are invalid. In some implementations, the target scheduling team may use the previously described comparison report to fix disconnections to align with the source schedule definition. For example, suppose there are 10 disconnection issues between the CTM (source) and ESP (target). The comparison report may be shared with the ESP to fix the issues in the ESP, thereby aligning the schedule with the CTM schedule.

[0086] In some implementations, the method may further include generating a report based on a predecessor job with a disconnected source schedule and / or target schedule. In some implementations, the method may further include generating a report identifying mismatches between the source and target schedules.

[0087] In some implementations, the method may further include providing an interface for querying job names to retrieve scheduling details of source and / or target schedules, and / or, in response to receiving a job name, returning scheduling details of the source or target schedule corresponding to that job name. The query interface allows developers to directly access scheduling definitions without accessing the mainframe system. Developers can view a defined set of input and output conditions for end-to-end application analysis purposes.

[0088] Some implementations handle different application groups across multiple servers. Applications can be hosted on different servers, which can add an extra layer of complexity. The dependencies and configurations of each application group may need to be preserved and need to be compatible with the target environment. The performance and functionality of each application group may need to be centrally validated to prevent any impact.

[0089] In some implementations, job status information can be used to monitor the progress and results of the migration. This information can be used to troubleshoot any runtime issues that may arise. Job status information can also be used to verify that the migrated jobs are running as expected and producing the desired results.

[0090] Some implementation schemes ensure that the events that trigger jobs (for event-based workloads) are consistent and reliable across different environments.

[0091] Some implementations are validated across enterprise applications, different operating systems, and / or hybrid and / or multi-cloud environments. The technologies described herein are flexible and can be applied across different environments and simultaneously across such platforms or systems. For mainframe systems, the scheduler (e.g., CTM, ESP) can operate within the mainframe system, while for distributed systems, the scheduler (e.g., CTM) can operate outside the mainframe, and the scheduler (e.g., ESP) can operate within the mainframe system.

[0092] Although embodiments and alternatives have been disclosed and discussed, the invention herein is not limited to the specific disclosed embodiments or alternatives, but rather covers the full breadth and scope of the invention (including equivalents), and is not limited except as set forth and covered in the full breadth and scope of the claims.

Claims

1. A method for migration and verification scheduling, the method comprising: It interfaces with multiple schedulers, including source schedulers and target schedulers, each of which is configured to schedule jobs across one or more distributed systems and one or more mainframe systems. For the same system in the one or more distributed systems and the one or more mainframe systems, obtain the source schedule generated by the source scheduler and the target schedule generated by the target scheduler; as well as Determine the effectiveness of job migration between the source scheduler and the target scheduler; as well as Based on the determination that one or more jobs in the target schedule are invalid, an instruction is transmitted to the target scheduler to cause the target scheduler to correct the target scheduler.

2. The method according to claim 1, further comprising: Before determining the validity of the job migration: Clean up and preprocess the source schedule and the target schedule.

3. The method of claim 2, wherein cleaning and preprocessing the source schedule and the target schedule includes eliminating predetermined schedules or invalid schedules.

4. The method of claim 1, wherein determining the validity of job migration includes: The correct predecessor for each task is identified based on whether a particular predecessor task is listed as a successor in the definition of any other task.

5. The method of claim 1, wherein determining the validity of job migration between the source scheduler and the target scheduler comprises using a first set of rules for scheduling of the one or more distributed systems and a second set of rules for scheduling of the one or more mainframe systems.

6. The method of claim 1, wherein (i) the source scheduler generates a schedule with a job name having at least a predetermined number of characters, and the target scheduler generates a schedule using an application identifier having a predetermined size, or (ii) the target scheduler generates a schedule with a job name having at least a predetermined number of characters, and the source scheduler generates a schedule using an application identifier having a predetermined size.

7. The method of claim 1, wherein determining the validity of job migration includes: Based on the determination that the source scheduler and the target scheduler correspond to one or more distributed systems, a distributed system scheduling verification mode is used; as well as Based on the determination that the source scheduler and the target scheduler correspond to one or more mainframe systems, a mainframe system scheduling verification mode is used.

8. The method of claim 1, wherein determining the validity of job migration includes: One or more pattern matching techniques are used to identify one or more mismatches between the source schedule and the target schedule.

9. The method of claim 1, wherein determining the validity of job migration includes: Identify one or more source scheduling matching parameters and one or more target scheduling matching parameters; Identify matching schedules from the one or more source schedule matching parameters and the one or more target schedule matching parameters; Identify non-matching schedules from the one or more source schedule matching parameters and the one or more target schedule matching parameters; Identify non-matching schedules from the one or more source schedule matching parameters from the one or more target schedule matching parameters; as well as Identify non-matching schedules from the one or more source schedule matching parameters among the one or more target schedule matching parameters.

10. The method of claim 1, wherein determining the validity of job migration comprises: Extract the first list of predecessors of the source scheduler and the second list of predecessors of the target scheduler; as well as Compare the first list and the second list to generate a comparison report.

11. The method according to claim 1, further comprising: Reports are generated based on the predecessor jobs of the source schedule and / or the target schedule that are disconnected.

12. The method according to claim 1, further comprising: Provides an interface for querying job names to retrieve scheduling details of the source and target schedules; as well as In response to receiving a job name, return the scheduling details of the source schedule or the target schedule corresponding to the job name.

13. A system for migration and verification scheduling, the system comprising: monitor; One or more processors; as well as A memory that stores one or more programs, the one or more programs including instructions for the following operations: It interfaces with multiple schedulers, including source schedulers and target schedulers, each of which is configured to schedule jobs across one or more distributed systems and one or more mainframe systems. For the same system in the one or more distributed systems and the one or more mainframe systems, obtain the source schedule generated by the source scheduler and the target schedule generated by the target scheduler; Determine the effectiveness of job migration between the source scheduler and the target scheduler; as well as Based on the determination that one or more jobs in the target schedule are invalid, an instruction is transmitted to the target scheduler to cause the target scheduler to correct the target scheduler.

14. The system of claim 13, wherein the one or more programs further include instructions for performing the following operations: Before determining the validity of the job migration: Clean up and preprocess the source schedule and the target schedule.

15. The system of claim 14, wherein cleaning and preprocessing the source schedule and the target schedule includes eliminating predetermined schedules or invalid schedules.

16. The system of claim 13, wherein determining the validity of job migration includes: The correct predecessor for each task is identified based on whether a particular predecessor task is listed as a successor in the definition of any other task.

17. The system of claim 13, wherein determining the validity of job migration between the source scheduler and the target scheduler includes using a first set of rules for scheduling of the one or more distributed systems and a second set of rules for scheduling of the one or more mainframe systems.

18. The system of claim 13, wherein (i) the source scheduler generates a schedule with a job name having at least a predetermined number of characters, and the target scheduler generates a schedule using an application identifier having a predetermined size, or (ii) the target scheduler generates a schedule with a job name having at least a predetermined number of characters, and the source scheduler generates a schedule using an application identifier having a predetermined size.

19. The system of claim 13, wherein determining the validity of job migration includes: Based on the determination that the source scheduler and the target scheduler correspond to one or more distributed systems, a distributed system scheduling verification mode is used; as well as Based on the determination that the source scheduler and the target scheduler correspond to one or more mainframe systems, a mainframe system scheduling verification mode is used.

20. A non-transitory computer-readable storage medium storing one or more programs configured to be executed by a computer system having a display, memory, and one or more processors, the one or more programs including instructions for: It interfaces with multiple schedulers, including source schedulers and target schedulers, each of which is configured to schedule jobs across one or more distributed systems and one or more mainframe systems. For the same system in the one or more distributed systems and the one or more mainframe systems, obtain the source schedule generated by the source scheduler and the target schedule generated by the target scheduler; Determine the effectiveness of job migration between the source scheduler and the target scheduler; as well as Based on the determination that one or more jobs in the target schedule are invalid, an instruction is transmitted to the target scheduler to cause the target scheduler to correct the target scheduler.