Information processing device, information processing method, program
The information processing device and method address high costs and labor in resource conflict avoidance by grouping programs based on resource access times and planning execution to prevent conflicts, enhancing processing efficiency.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-09-30
- Publication Date
- 2026-04-09
AI Technical Summary
Existing methods for avoiding resource conflicts in computer programs, such as distributing programs across multiple servers, incur high costs and labor due to the need for additional infrastructure and distribution functions.
An information processing device and method that acquires and stores resource access information, groups programs accessing the same resource during overlapping times, and plans execution to avoid conflicts, thereby reducing costs and effort.
This approach effectively reduces resource contention and improves overall processing performance while minimizing costs and labor.
Smart Images

Figure 2026061476000001_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to an information processing apparatus, an information processing method, and a program.
Background Art
[0002] In a computer, a plurality of programs that are executed at a preset execution time for a predetermined resource, such as a batch job, can be set. At this time, when a plurality of programs access the same resource, a resource conflict occurs. As an example for eliminating such a resource conflict, an exclusive process can be incorporated and waiting can be performed until the resource becomes available. On the other hand, when waiting until the resource becomes available, there is a problem that the execution of the program is delayed and, in some cases, it is not executed due to a timeout. In order to avoid such a situation, Patent Document 1 describes, as an example of resource conflict avoidance, associating the processing time of a resource with a program and distributing and operating the program to a plurality of servers when a resource conflict is determined.
Prior Art Documents
Patent Documents
[0003]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0004] However, when distributing a program to a plurality of servers as described in Patent Document 1, it is necessary to install a plurality of servers and implement a distribution function, which causes problems of high cost and labor.
[0005] Therefore, one of the objects of this disclosure is to solve the problem of high cost and labor when avoiding resource conflicts of a program, which is the above-described problem.
Means for Solving the Problems
[0006] An information processing device, which is one form of this disclosure, A data acquisition unit that acquires and stores the resources accessed by a program configured to run on a computer during execution, as well as the time taken to access those resources. A grouping unit that stores multiple programs that access the same resource during access times that overlap for at least a portion of their durations, in the same group; A planning unit that plans how the program will access the resources while avoiding conflicts based on the group, Equipped with, This is the structure it takes. Furthermore, the information processing method, which is one form of this disclosure, A program configured to run on a computer retrieves and stores the resources it accesses at runtime and the time it spends accessing those resources. Multiple programs that access the same resource during the access times that overlap for at least a portion of the time are stored in the same group. Based on the group, the program plans to access the resource while avoiding contention. This is the structure it takes. Furthermore, one form of this disclosure is a program, A program configured to run on a computer retrieves and stores the resources it accesses at runtime and the time it spends accessing those resources. Multiple programs that access the same resource during the access times that overlap for at least a portion of the time are stored in the same group. Based on the group, the program plans to access the resource while avoiding contention. To have the computer perform the process. This is the structure it takes. [Effects of the Invention]
[0007] By being configured as described above, this disclosure can reduce costs and effort and avoid resource contention in the program. [Brief explanation of the drawing]
[0008] [Figure 1] This block diagram shows an example of the configuration of the information processing system related to this disclosure. [Figure 2] This figure shows an example of the configuration of the information processing system related to this disclosure. [Figure 3] This figure shows an example of the configuration of the information processing system related to this disclosure. [Figure 4] This figure shows an example of the configuration of the information processing system related to this disclosure. [Figure 5] This flowchart shows an example of the processing operation of the information processing system related to this disclosure. [Figure 6] This flowchart shows an example of the processing operation of the information processing system related to this disclosure. [Figure 7] This block diagram shows an example of the hardware configuration of the information processing device related to this disclosure. [Figure 8] This is a block diagram showing an example of the configuration of the information processing device related to this disclosure. [Modes for carrying out the invention]
[0009] <First Embodiment> A first embodiment of this disclosure will be described with reference to the drawings. The drawings may be relevant to any embodiment.
[0010] [composition] The information processing system of the present disclosure is used to avoid resource competition for a plurality of programs that execute predetermined business processes on a computer. In particular, as shown in FIG. 1, the information processing system in this embodiment includes an execution order processing device 10, and such a device examines the resource competition of program P executed on a computer and plans the execution of program P so that resource competition does not occur. Hereinafter, the configuration and operation of the information processing system will be described in detail.
[0011] Program P is a program such as a batch job that executes a predetermined business process on a predetermined computer, and the resources of the computer accessed during execution and the access time to the resources, which is the execution time, are set. There are a plurality of programs P executed on the computer, and hereinafter, they will be described with numbers such as Program 1, 2, 3, ···. In FIG. 1, it is assumed that program P is executed on a computer not shown. However, program P may be set to be executed by the execution order processing device 10.
[0012] The execution order processing device 10 is composed of one or more information processing devices including an arithmetic device and a storage device. And as shown in FIG. 1, the execution order processing device 10 includes an execution timing confirmation unit 11, an access information recording processing unit 12, a grouping unit 13, and a planning unit 14. Each function of the execution timing confirmation unit 11, the access information recording processing unit 12, the grouping unit 13, and the planning unit 14 can be realized by the arithmetic device executing a program for realizing each function stored in the storage device. In addition, an access information storage unit 15, a grouping storage unit 16, and a planning storage unit 17 are connected to the execution order processing device 10. The access information storage unit 15, the grouping storage unit 16, and the planning storage unit 17 are composed of storage devices.
[0013] The execution timing confirmation unit 11 (acquisition unit) checks the resources accessed by the program P during execution and the access time to the resources. Specifically, the execution timing confirmation unit 11 executes the program P in advance using input data to acquire the resources accessed by the program P during execution and the access time. In the present embodiment, the resources accessed by the program P may be, for example, a specific range within the memory area as shown in FIG. 2 (2-1) or a specific record in the file area as shown in FIG. 2 (2-2). And each resource shall not conflict with other resources. For example, in the example of FIG. 2, the specific range of the memory area shall not conflict with other ranges, and the specific record in the file area shall not conflict with other records. And hereinafter, each resource will be described by assigning numbers such as resource 1, 2, 3, ··· for distinction. However, the resources accessed by the program P are not limited to the memory area and file area described above, and may be any computer resources such as a processor and a network. Also, the execution timing confirmation unit 11 acquires the start time and end time of access from the start time of execution of the program P as the access time to the resources during execution of the program P.
[0014] The access information recording processing unit 12 (acquisition unit) stores the resources accessed by each program P during execution and the access time acquired as described above in the access information recording file in the access information storage unit 15. At this time, the access information recording processing unit 12 first associates the information such as the program number identifying the "program" with the "input data" used during execution of the program, and records the combination of "program" and "input data". Then, the combination of "program" and "input data" is associated and stored with information such as the resource number identifying the "resource" accessed by the program during execution and the "start time and end time of access" which is the access time to each resource from the start time of the program.
[0015] Figure 3 shows how access information is recorded in the access information log file. As an example, the pair "Program 1" and "Input Data a" is associated with "Resource 1" and "Access Time 00:05-00:10", and "Resource 2" and "Access Time 00:35-00:45". In this example, when "Program 1" is executed using "Input Data a", "Resource 1" is accessed from the program start time, from the access start time "00:05" to the access end time "00:10", and "Resource 2" is accessed from the access start time "00:35" to the access end time "00:45". As another example, the pair "Program 1" and "Input Data d" is associated with "Resource 1" and "Access Time 00:10-00:15", and "Resource 2" and "Access Time 00:40-00:50". In this example, when "Program 1" is executed using "Input Data d", it accesses "Resource 1" from access start time "00:10" to access end time "00:15", and further accesses "Resource 2" from access start time "00:40" to access end time "00:50". In another example, the pair "Program 2" and "Input Data b" is associated with "Resource 1" and "Access Time 00:15-00:20", and "Resource 2" and "Access Time 00:20-00:30", respectively. In this example, when "Program 2" is executed using "Input Data b", it accesses "Resource 1" from access start time "00:15" to access end time "00:20", and further accesses "Resource 2" from access start time "00:20" to access end time "00:30". Furthermore, as another example, the pair of "Program 3" and "Input Data c" is associated with "Resource 2" and "Access Time 00:30-00:4015". In this example, it indicates that when "Program 3" is executed using "Input Data c", "Resource 2" will be accessed from the access start time "00:30" to the access end time "00:40".
[0016] In this embodiment, the pairs of "program" and "input data" recorded as described above are assumed to be programs that access resources independently. In other words, any pairs of "program" and "input data" that differ in at least one of them are assumed to be programs that access resources independently. For this reason, in the example in Figure 3, as an example, the pair of "program 1" and "input data a" and the pair of "program 1" and "input data d" are treated as independent programs that access resources, and the pair of "program 1" and "input data a" and the pair of "program 3" and "input data c" are treated as independent programs that access resources.
[0017] In the above description, the information stored in the access information record file within the access information storage unit 15 is obtained by executing a program, but it is not necessarily limited to obtaining it by executing a program. For example, the information may be obtained in advance from another device, as shown in Figure 3, or obtained by accepting input, and then recorded in the access information record file within the access information storage unit 15.
[0018] As described above, the grouping unit 13 groups the "programs" recorded in the access information record file and stores them in the grouping storage table in the grouping storage unit 16 (step S3 in Figure 5). Specifically, the grouping unit 13 examines the "resource" and "access time" accessed for each pair of "program" and "input data" (step S11 in Figure 6), and assigns pairs of "program" and "input data" that access the same resource at the same time to the same group (Yes in steps S12, S13, and S14 in Figure 6). In other words, the grouping unit 13 groups pairs of "program" and "input data" whose start and end times for accessing the same resource overlap by including them in the same group. On the other hand, the grouping unit 13 also groups pairs of "program" and "input data" whose start and end times for accessing the same resource do not overlap with others by including them in a new group (Yes in steps S15 and S16 in Figure 6). In other words, it checks for duplicate access to the same resource across all programs, and adds any non-overlapping "program" and "input data" pairs to a new group.
[0019] As a result, for the access information log file shown in Figure 3, as shown in Figure 4, the pairs of "Program 1" and "Input Data a", "Program 1" and "Input Data d", and "Program 3" and "Input Data c" are included in the same "Group 1" and stored in the grouping storage table as pairs whose access times to "Resource 2" overlap. On the other hand, the pair of "Program 2" and "Input Data b" is included in a separate "Group 2" that does not include the other pairs and stored in the grouping storage table. Consequently, groups are set up that contain programs with conflicting access to the same resource, and groups that contain programs with non-conflicting access.
[0020] The planning unit 14 plans the execution of the program in a way that avoids conflicts in accessing resources, based on the information of each group recorded in the grouping storage table (step S4 in Figure 5). Specifically, for multiple "programs" that conflict over resources, that is, pairs of "programs" and "input data" included in the same group, the planning unit 14 examines the start and end times of access to the same resource and sets an execution plan so that the access times do not overlap with other groups. For example, it sets the program execution plan by changing the program start times so that the access times of each pair in the target group do not completely overlap. Then, the planning unit 14 stores the planned execution plan in the planning storage unit 17.
[0021] In the examples shown in Figures 3 and 4, the planning unit 14 sets execution plans for each program, targeting the programs in "Group 1" and "Group 2," where "Group 1" contains multiple pairs of "programs" and "input data." For example, it sets the execution plans so that the start times of the pair of "Program 1" and "Input Data a" and the pair of "Program 2" and "Input Data b" are the same. This allows the execution plans to be set so that the access times of "Resource 1" and "Resource 2" by the pairs of "Program 1" and "Input Data a" and "Program 2" and "Input Data b" within "Group 1" and "Group 2" do not overlap. In addition, in "Group 1," which contains multiple pairs of "programs" and "input data," the settings are configured so that the included pairs of "programs" and "input data" are executed sequentially. This ensures that the pairs of "programs" and "input data" access each resource sequentially, preventing overlapping access times to "Resource 1" and "Resource 2." In addition, in "Group 1," it may be configured so that each "Program" and "Input Data" pair accesses each resource sequentially as it becomes available, including resources from other groups.
[0022] The computer is then configured as described above and executes the processing of each program, i.e., each pair of "program" and "input data," according to the execution plan stored in the planning memory unit 17. This avoids conflicts in program access to each resource. As a result, resource conflicts between programs can be avoided while suppressing costs and effort, and furthermore, the overall processing performance of the program can be improved.
[0023] <Second Embodiment> Next, a second embodiment of the present disclosure will be described with reference to the drawings. This embodiment shows an outline of the information processing device, etc., described in the above-described embodiment. Note that the drawings may be relevant to any embodiment.
[0024] First, the hardware configuration of the information processing device 100 in this disclosure will be described. The information processing device 100 is composed of a general information processing device, and as an example, it is equipped with the following hardware configuration as shown in Figure 7. ·CPU(Central Processing Unit)101(Arithmetic unit) ROM (Read Only Memory) 102 (Storage Device) • RAM (Random Access Memory) 103 (Storage Device) • Program group 104 loaded into RAM 103 • Storage device 105 for storing the program group 104 • Drive device 106 for reading and writing to external storage medium 110 of the information processing device. • Communication interface 107 connecting to a communication network 111 outside the information processing device. • Input / output interface 108 for data input and output. • Bus 109 connecting each component
[0025] Figure 7 shows an example of the hardware configuration of the information processing device 100, and the hardware configuration of the information processing device is not limited to the case described above. For example, the information processing device may consist of only a part of the configuration described above, such as not having a drive device 106. In addition, the information processing device may use a GPU (Graphic Processing Unit), DSP (Digital Signal Processor), MPU (Micro Processing Unit), FPU (Floating point number Processing Unit), PPU (Physics Processing Unit), TPU (Tensor Processing Unit), quantum processor, microcontroller, or a combination thereof instead of the CPU described above.
[0026] The information processing device 100 can be equipped with the acquisition unit 121, grouping unit 122, and planning unit 123 shown in Figure 8 by having the CPU 101 acquire the program group 104 and execute it. The program group 104 is stored in a storage device 105 or ROM 102 in advance, and the CPU 101 loads it into RAM 103 and executes it as needed. The program group 104 may also be supplied to the CPU 101 via a communication network 111, or it may be stored in a storage medium 110 in advance, and the drive device 106 reads the program and supplies it to the CPU 101. However, the acquisition unit 121, grouping unit 122, and planning unit 123 described above may be constructed with dedicated electronic circuits to realize such means.
[0027] The acquisition unit 121 acquires and stores the resources accessed by a program configured to run on the computer during execution, as well as the access time to those resources. The grouping unit 122 stores multiple programs that access the same resource during access times that overlap for at least a portion of the time, grouping them together. The planning unit 123 plans, based on the group, how the programs will access the resource while avoiding conflicts.
[0028] This disclosure, when configured as described above, can avoid program resource contention while suppressing costs and effort.
[0029] Furthermore, at least one of the functions of the acquisition unit 121, grouping unit 122, and planning unit 123 described above may be performed on an information processing device installed and connected at any location on the network, that is, it may be performed using so-called cloud computing.
[0030] Furthermore, the aforementioned programs can be stored and supplied to a computer using various types of non-transitory computer-readable media. Non-transitory computer-readable media include various types of tangible storage media. Examples of non-transitory computer-readable media include magnetic recording media (e.g., flexible disks, magnetic tapes, hard disk drives), magneto-optical recording media (e.g., magneto-optical disks), CD-ROMs (Read Only Memory), CD-Rs, CD-R / Ws, and semiconductor memory (e.g., mask ROMs, PROMs (Programmable ROMs), EPROMs (Erasable PROMs), flash ROMs, and RAMs (Random Access Memory)). Programs may also be supplied to a computer using various types of transient computer-readable media. Examples of transient computer-readable media include electrical signals, optical signals, and electromagnetic waves. Transitory computer-readable media can be supplied to a computer via wired communication channels such as electric wires and optical fibers, or via wireless communication channels.
[0031] Although the present disclosure has been described above with reference to embodiments, the present disclosure is not limited to the embodiments described above. Various modifications to the structure and details of the present disclosure are possible, as can be understood by those skilled in the art within the scope of the present disclosure. Furthermore, each of the embodiments described above can be combined with other embodiments as appropriate.
[0032] <Note> Some or all of the above embodiments may also be described as follows. The general configuration of the information processing apparatus, information processing method, and program in this disclosure is described below. However, this disclosure is not limited to the configurations described below. Furthermore, some or all of the configurations and functions described in Appendices 2 to 8, which are dependent on Appendice 1 below, may also be dependent on Appendices 9 and 10 in the same way as Appendices 2 to 8. Moreover, not limited to Appendices 1, 9, and 10, some or all of the configurations and functions described as appendices may also be dependent on similar hardware, software, various recording means for recording software, or systems, without departing from the embodiments described above. (Note 1) A data acquisition unit that acquires and stores the resources accessed by a program configured to run on a computer during execution, as well as the time taken to access those resources. A grouping unit that stores multiple programs that access the same resource during access times that overlap for at least a portion of their durations, in the same group; A planning unit that plans how the program will access the resources while avoiding conflicts based on the group, Equipped with an information processing device. (Note 2) The information processing device described in Appendix 1, The acquisition unit executes the program in advance and acquires and stores the program, the resources accessed during the execution of the program, and the access time consisting of the start time and end time of access to the resources. The grouping unit stores multiple programs whose access times to the same resource overlap, grouping them together. Information processing device. (Note 3) The information processing device described in Appendix 2, The grouping unit stores multiple programs whose access times to the same resource overlap in the same group, and stores programs whose access times to the same resource do not overlap with other programs in a new group. The planning unit plans how the programs included in different groups access the resources in a way that avoids conflicts. Information processing device. (Note 4) The information processing device described in Appendix 3, The planning unit plans that, in different groups, the start times of the programs included in each group will be the same, and that the programs will access the resources in a way that avoids conflicts. Information processing device. (Note 5) The information processing device described in Appendix 4, The planning unit plans that, in the group which includes multiple programs, the multiple programs will sequentially access the resources. Information processing device. (Note 6) The information processing device described in Appendix 5, The planning unit plans to execute the programs sequentially in the group, which includes multiple programs, such that the time at which the multiple programs access the same resource does not overlap. Information processing device. (Note 7) The information processing device described in Appendix 1, The acquisition unit executes the program in advance using the input data and acquires and stores the program and the input data set, the resources accessed during the execution of the program, and the access time consisting of the start time and end time of access to the resources. The grouping unit stores multiple sets of programs and input data whose access times to the same resource overlap, grouping them together. Information processing device. (Note 8) The information processing device described in Appendix 7, The grouping unit stores multiple sets of programs and input data whose access times to the same resource overlap in the same group, and stores sets of programs and input data whose access times to the same resource do not overlap with other programs in a new group. The planning unit plans that the programs in the sets of programs and input data included in different groups access the resources in a way that avoids conflicts. Information processing device. (Note 9) A program configured to run on a computer retrieves and stores the resources it accesses at runtime and the time it spends accessing those resources. Multiple programs that access the same resource during the access times that overlap for at least a portion of the time are stored in the same group. Based on the group, the program plans to access the resource while avoiding contention. Information processing methods. (Note 10) A program configured to run on a computer retrieves and stores the resources it accesses at runtime and the time it spends accessing those resources. Multiple programs that access the same resource during the access times that overlap for at least a portion of the time are stored in the same group. Based on the group, the program plans to access the resource while avoiding contention. A program that instructs a computer to perform a process. [Explanation of Symbols]
[0033] 10 Execution sequence processing unit 11 Execution timing confirmation unit 12 Access Information Recording Processing Unit 13 Grouping section 14 Planning Department 15 Access Information Storage Unit 16 Grouping memory unit 17. Planning Memory Unit 100 Information Processing Devices 101 CPU 102 ROM 103 RAM 104 Program Groups 105 Storage device 106 Drive unit 107 Communication Interface 108 Input / Output Interfaces 109 Bus 110 Storage medium 111 Communication Network 121 Acquisition Department 122 Grouping section 123 Planning Department
Claims
1. A data acquisition unit that acquires and stores the resources accessed by a program configured to run on a computer during execution, as well as the time taken to access those resources. A grouping unit that stores multiple programs that access the same resource during access times that overlap for at least a portion of their durations, in the same group; A planning unit that plans how the program will access the resources while avoiding conflicts based on the group, Equipped with an information processing device.
2. An information processing apparatus according to claim 1, The acquisition unit executes the program in advance and acquires and stores the program, the resources accessed during the execution of the program, and the access time consisting of the start time and end time of access to the resources. The grouping unit stores multiple programs whose access times to the same resource overlap, grouping them together. Information processing device.
3. An information processing apparatus according to claim 2, The grouping unit stores multiple programs whose access times to the same resource overlap in the same group, and stores programs whose access times to the same resource do not overlap with other programs in a new group. The planning unit plans how the programs included in different groups access the resources in a way that avoids conflicts. Information processing device.
4. An information processing apparatus according to claim 3, The planning unit plans that, in different groups, the start times of the programs included in each group will be the same, and that the programs will access the resources in a way that avoids conflicts. Information processing device.
5. An information processing apparatus according to claim 4, The planning unit plans that, in the group which includes multiple programs, the multiple programs will sequentially access the resources. Information processing device.
6. An information processing device according to claim 5, The planning unit plans to execute the programs sequentially in the group, which includes multiple programs, such that the access times of the multiple programs to the same resource do not overlap. Information processing device.
7. An information processing apparatus according to claim 1, The acquisition unit executes the program in advance using the input data and acquires and stores the program and the input data set, the resources accessed during the execution of the program, and the access time consisting of the start time and end time of access to the resources. The grouping unit stores multiple sets of programs and input data whose access times to the same resource overlap, grouping them together. Information processing device.
8. An information processing apparatus according to claim 7, The grouping unit stores multiple sets of programs and input data whose access times to the same resource overlap in the same group, and stores sets of programs and input data whose access times to the same resource do not overlap with other programs in a new group. The planning unit plans that the programs in the sets of programs and input data included in different groups access the resources in a way that avoids conflicts. Information processing device.
9. A program configured to run on a computer retrieves and stores the resources it accesses at runtime and the time it spends accessing those resources. Multiple programs that access the same resource during the access times that overlap for at least a portion of the time are stored in the same group. Based on the group, the program plans to access the resource while avoiding contention. Information processing methods.
10. A program configured to run on a computer retrieves and stores the resources it accesses at runtime and the time it spends accessing those resources. Multiple programs that access the same resource during the access times that overlap for at least a portion of the time are stored in the same group. Based on the group, the program plans to access the resource while avoiding contention. A program that instructs a computer to perform a process.
Citation Information
Patent Citations
Job distribution device, job distribution program, and job distribution method
JP2011123817A