Job management device, job management method, and job management program
Patent Information
- Application Number
- JP2022152675
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2022-09-26
- Publication Date
- 2026-09-01
- Estimated Expiration
- 2042-09-26
AI Technical Summary
【0013】 本発明は、情報処理が使用する外部から取得する情報の鮮度及び情報処理の実行完了時刻に関する要件を満たすように情報処理を自動で実行することができる。
Smart Images

Figure 0007913341000001 
Figure 0007913341000002 
Figure 0007913341000003
Abstract
Description
[Technical Field]
[0001] The present invention relates to a job management apparatus, a job management method, and a job management program. [Background Art]
[0002] Techniques for improving job execution efficiency and the like by appropriately managing jobs executed by a computer (also referred to as processes or tasks) are desired.
[0003] In relation to the above technique, Patent Document 1 discloses a job management apparatus that predicts the execution end timing of a job net with stable accuracy. This apparatus generates an execution time prediction model that predicts the execution time of a job net to be executed based on information about the execution time of each job net executed in the past. This apparatus calculates the prediction accuracy of the execution time of each job net by the generated execution time prediction model, respectively. This apparatus determines whether to predict the execution end time of a specified job net in a job net group that is a set including a plurality of currently running or subsequently executed job nets based on the execution time prediction model, based on the calculated prediction accuracy of the execution time of each job net. Then, when it is determined that prediction is to be performed, the apparatus displays information related to the execution end time of the specified job net predicted based on the execution time prediction model.
[0004] Further, Patent Document 2 discloses an information processing apparatus that performs flexible cache management according to the execution status of scheduled jobs. This apparatus predicts the future use time of each data used in a job. This apparatus executes a job and acquires the execution status of the job. This apparatus includes a cache, and stores, for each job, information associating a priority calculation algorithm that calculates priorities based on the future use time of each data in the cache with conditions for the execution status. This apparatus calculates priorities for data in the cache using the priority calculation algorithm associated with the condition satisfied by the execution status. Then, the apparatus selects and deletes data in the cache based on the priorities.
[0005] Furthermore, Patent Document 3 discloses a job management device that generates execution path information, which sets a series of execution sequences for multiple jobs, based on pre-configured input and output data for each job executed on a job execution server. This device generates an execution schedule so that the series of jobs in the execution path information are executed on a single job execution server according to the execution path information. This device then controls the job execution server so that the series of jobs in the execution path information are executed according to the execution schedule. [Prior art documents] [Patent Documents]
[0006] [Patent Document 1] Japanese Patent Publication No. 2021-189949 [Patent Document 2] Japanese Patent Publication No. 2012-059204 [Patent Document 3] Japanese Patent Publication No. 2020-177599 [Overview of the project] [Problems that the invention aims to solve]
[0007] When a computer performs a job (information processing) that depends on external data or services (hereinafter referred to as "external information"), there are often requirements regarding the freshness (newness) of the external information used by the job (for example, whether data up to the previous day is acceptable, or whether the latest data should be used as much as possible). Furthermore, there are often requirements regarding the time the job must be completed. Therefore, when having a computer perform such a job, it is necessary to set the job execution plan to satisfy the above requirements, but it is difficult for a user to do so. Patent documents 1 to 3 do not specifically address these problems.
[0008] The primary objective of the present invention is to enable the automatic execution of information processing in a manner that satisfies requirements regarding the freshness of information acquired from external sources used in the information processing and the time of completion of the information processing. [Means for solving the problem]
[0009] A job management device according to one aspect of the present invention includes: requirement acquisition means for acquiring requirements relating to the freshness of the external information and the completion time of the information processing in information processing using external information updated by an external device; freshness acquisition means for acquiring the freshness of the external information stored in an internal memory device before the information processing is executed; prediction means for predicting the freshness of the external information to be acquired and the completion time of the execution of the information processing from the start time of the execution of the information processing, with respect to cases where the external information is acquired from the external device and cases where it is acquired from the internal memory device at the time of execution of the information processing; generation means for generating an execution plan for the information processing that indicates the start time of the execution and whether the external information is acquired from the external device or the internal memory device, such that the predicted freshness of the external information and the completion time of the execution satisfy the requirements; and control means for controlling the execution of the information processing using the execution plan.
[0010] In addition to achieving the above objectives, a job management method according to one aspect of the present invention involves an information processing device that, in information processing using external information updated in an external device, acquires requirements regarding the freshness of the external information and the completion time of the information processing; acquires the freshness of the external information stored in an internal memory device before the information processing is executed; predicts the freshness of the external information to be acquired and the completion time of the information processing from the start time of the information processing, with respect to cases where the external information is acquired from the external device and cases where it is acquired from the internal memory device at the time of execution of the information processing; generates an execution start time and an execution plan for the information processing that indicates whether the external information is acquired from the external device or the internal memory device, such that the predicted freshness of the external information and the completion time of the information processing satisfy the requirements; and controls the execution of the information processing using the execution plan.
[0011] Furthermore, in order to achieve the above objectives, a job management program according to one aspect of the present invention causes a computer to execute the following in information processing using external information updated by an external device: a requirement acquisition process that acquires requirements regarding the freshness of the external information and the completion time of the information processing; a freshness acquisition process that acquires the freshness of the external information stored in an internal memory device before the information processing is executed; a prediction process that predicts the freshness of the external information to be acquired and the completion time of the execution of the information processing from the start time of the execution of the information processing, with respect to the case in which the external information is acquired from the external device and the internal memory device at the time of execution of the information processing; a generation process that generates an execution plan for the information processing that indicates the start time of the execution and whether the external information is acquired from the external device or the internal memory device, such that the predicted freshness of the external information and the completion time of the execution satisfy the requirements; and a control process that controls the execution of the information processing using the execution plan.
[0012] Furthermore, the present invention can also be realized using a computer-readable, non-volatile recording medium on which the job management program (computer program) is stored. [Effects of the Invention]
[0013] The present invention enables the automatic execution of information processing in a manner that satisfies requirements regarding the freshness of information acquired from external sources used in the information processing and the time of completion of the information processing. [Brief explanation of the drawing]
[0014] [Figure 1] This is a block diagram showing the configuration of the job management system 1 according to the first embodiment of the present invention. [Figure 2] This figure illustrates the data of the jobnet configuration information 161 according to the first embodiment of the present invention. [Figure 3] This figure illustrates the data for requirement 162 according to the first embodiment of the present invention. [Figure 4]FIG. 1 is a diagram illustrating an example of data of cache management information 163 according to the first embodiment of the present invention. [Figure 5] FIG. 3 is a diagram illustrating an example of data of execution performance information 164 according to the first embodiment of the present invention. [Figure 6] FIG. 6 is a diagram showing a first example of data of a prediction result 165 according to the first embodiment of the present invention. [Figure 7] FIG. 9 is a diagram showing a second example of data of the prediction result 165 according to the first embodiment of the present invention. [Figure 8] FIG. 12 is a diagram showing a third example of data of the prediction result 165 according to the first embodiment of the present invention. [Figure 9] FIG. 15 is a diagram showing a fourth example of data of the prediction result 165 according to the first embodiment of the present invention. [Figure 10] FIG. 18 is a diagram showing a fifth example of data of the prediction result 165 according to the first embodiment of the present invention. [Figure 11] FIG. 21 is a diagram showing a sixth example of data of the prediction result 165 according to the first embodiment of the present invention. [Figure 12] FIG. 24 is a diagram illustrating an example of data of an execution plan 166 according to the first embodiment of the present invention. [Figure 13A] FIG. 27 is a flowchart (1 / 2) showing the operation of the job management apparatus 10 according to the first embodiment of the present invention. [Figure 13B] FIG. 30 is a flowchart (2 / 2) showing the operation of the job management apparatus 10 according to the first embodiment of the present invention. [Figure 14] FIG. 33 is a block diagram showing the configuration of a job management apparatus 60 according to the second embodiment of the present invention. [Figure 15] FIG. 36 is a flowchart showing the operation of the job management apparatus 60 according to the second embodiment of the present invention. [Figure 16] FIG. 39 is a block diagram showing the configuration of an information processing apparatus 900 capable of implementing the job management apparatus according to each embodiment of the present invention. DESCRIPTION OF EMBODIMENTS
[0015] Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
[0016] <First Embodiment> Figure 1 is a block diagram showing the configuration of a job management system 1 according to a first embodiment of the present invention. The job management system 1 broadly comprises a job management device 10, an information processing device 20, a user terminal 30, and one or more external devices 40. The job management device 10, the information processing device 20, the user terminal 30, and the external devices 40 are connected to each other via a communication network 50. The communication network 50 is, for example, the Internet.
[0017] The job management device 10 manages the execution of jobs (an example of information processing) performed in the information processing device 20. The job management device 10 may be a device included in the information processing device 20, or it may be directly connected to the information processing device 20 without going through the communication network 50. The information processing device 20 has a configuration similar to the information processing device 900 described later with reference to Figure 16.
[0018] The user terminal 30 is an information processing device, such as a personal computer, tablet, or smartphone, used by users of the job management device 10. The user terminal 30 is equipped with a user interface, such as a keyboard, mouse, or a display screen with touch panel functionality. The user terminal 30 inputs information entered by the user via its user interface into the job management device 10, and presents the information output from the job management device 10 to the user via its user interface.
[0019] One or more external devices 40 are information processing devices such as servers, and manage external data 41 (an example of external information). The external data 41 is updated, for example, as needed by the external devices 40 and used by jobs executed by the information processing device 20. When executing a job, the information processing device 20 stores the external data 41 obtained from the external devices 40 in its cache 21 (an example of an internal storage device). In this embodiment, in the description that follows, different types of external data 41 may be distinguished and described as external data 41A, external data 41B, etc.
[0020] The job management device 10 comprises a requirements acquisition unit 11, a freshness acquisition unit 12, a prediction unit 13, a generation unit 14, a control unit 15, and a storage unit 16. The requirements acquisition unit 11, freshness acquisition unit 12, prediction unit 13, generation unit 14, and control unit 15 are examples of requirements acquisition means, freshness acquisition means, prediction means, generation means, and control means, respectively.
[0021] The memory unit 16 is a storage device such as a RAM (Random Access Memory) 903 or a hard disk 904, as described later with reference to Figure 16. The memory unit 16 stores job net configuration information 161, requirements 162, cache management information 163, execution performance information 164, prediction results 165, and execution plan 166. This information stored in the memory unit 16 will be described later.
[0022] Figure 2 is a diagram illustrating the data of the jobnet configuration information 161. The jobnet configuration information 161 is information representing a jobnet that defines the execution flow of multiple jobs that realize information processing such as the target business. In Figure 2, for the sake of explanation, the jobnet configuration information 161 is represented by a flowchart, but in reality, the jobnet configuration information 161 is composed of code that represents the flowchart illustrated in Figure 2. Furthermore, the jobs executed in the information processing device 20 are defined by, for example, a shell script (in the case of UNIX®) or a batch script (in the case of Windows®). The jobnet configuration information 161 is stored in the storage unit 16 in advance, for example, by an input operation via the user terminal 30 by a user of the job management device 10.
[0023] The job net configuration information 161 illustrated in Figure 2 represents a job net containing eight jobs, namely jobs 101 through 108. In this job net, first, job 101, which acquires external data 41A, is executed. Then, job 102, which acquires external data 41B, job 104, which acquires external data 41C, and job 106, which acquires external data 41D, are executed in parallel. In this job net, job 103, which performs data processing, is executed after job 102 is completed. After job 104 is completed, job 105, which performs data processing, is executed. After job 106 is completed, job 107, which performs data processing, is executed. In this job net, job 108, which performs data processing, is executed after jobs 103, 105, and 107 are completed. Note that the job net configuration information 161 illustrated in Figure 2 is just one example, and the job net configuration information 161 may represent a job net with a different configuration than that shown in Figure 2.
[0024] The requirements acquisition unit 11 acquires requirements 162 from the information processing device 20 or user terminal 30, etc., and stores the acquired requirements 162 in the storage unit 16.
[0025] Figure 3 is a diagram illustrating the data for requirement 162 according to this embodiment. Requirement 162 illustrated in Figure 3 represents the execution completion time of the job net represented by the job net configuration information 161, and the requirements for the freshness (newness) of the external data 41A to 41D used in the job net.
[0026] The requirement 162 illustrated in Figure 3 represents the following: the execution of the job net must be completed by 1:00; the external data 41A used must be newer data from 0:00 on the current day; the external data 41B used must be data from 0:00 on the previous day; the external data 41C used must be data from 12:00 on the previous day; and the external data 41D used must be data from 0:00 on the current day. Note that the requirement 162 illustrated in Figure 3 is just one example, and requirement 162 may represent different requirements than those shown in Figure 3.
[0027] The freshness acquisition unit 12 acquires cache management information 163 from the information processing device 20, etc., and stores the acquired cache management information 163 in the storage unit 16. The cache management information 163 represents the time when the external data 41, which is previously stored in the cache 21 of the information processing device 20, was stored in the cache 21. Since the external data 41 is updated as needed by the external device 40, the external data 41 stored in the cache 21 does not reflect any updates made after the time it was stored in the cache 21. Therefore, the cache management information 163 represents the freshness of the external data 41 stored in the cache 21 before the job net represented by the job net configuration information 161 is executed in the information processing device 20.
[0028] Figure 4 is a diagram illustrating the data of the cache management information 163 according to this embodiment. The cache management information 163 illustrated in Figure 4 indicates that external data 41A was stored in the cache 21 at 6:00 the previous day, external data 41B was stored in the cache 21 at 0:00 the previous day, external data 41C was stored in the cache 21 at 12:00 the previous day, and external data 41D was stored in the cache 21 at 9:00 the previous day.
[0029] Figure 5 is a diagram illustrating the data of the execution performance information 164 according to this embodiment. The execution performance information 164 is information representing the actual execution time (the time required from the start to the completion of execution for a given job) by the information processing device 20 for each of the jobs 101 to 108 included in the job net configuration information 161. The actual execution time may be, for example, the average of the actual values of multiple executions in the past. According to the execution performance information 164 illustrated in Figure 5, the actual execution times for jobs 101 to 108 are 20 minutes, 30 minutes, 20 minutes, 20 minutes, 10 minutes, 10 minutes, 10 minutes, and 10 minutes, respectively.
[0030] The prediction unit 13 predicts the freshness of the external data 41 to be acquired and the completion time of the job net, based on the execution start time of the job net, considering whether the external data 41 is acquired from an external device 40 or from the cache 21 when the job net represented by the job net configuration information 161 is executed. The prediction unit 13 stores the prediction result 165 in the storage unit 16.
[0031] The generation unit 14 generates a job net execution plan 166 that indicates the job net's execution start time and whether the external data 41 is obtained from either the external device 40 or the cache 21, such that the freshness of the external data 41 predicted by the prediction unit 13 and the job net's execution completion time satisfy the requirements 162. The generation unit 14 stores the generated execution plan 166 in the storage unit 16.
[0032] The operation by which the prediction unit 13 and the generation unit 14 described above work together to generate a job net execution plan 166 such that the freshness of the external data 41 and the job net execution completion time satisfy the requirements 162 will be explained with reference to Figures 6 to 12.
[0033] The prediction unit 13 extracts three execution paths from the job net configuration information 161, as illustrated in Figure 2: "Job 101 → Job 102 → Job 103 → Job 108" (execution path A), "Job 101 → Job 104 → Job 105 → Job 108" (execution path B), and "Job 101 → Job 106 → Job 107 → Job 108" (execution path C). However, the prediction unit 13 is provided with information indicating the procedure for extracting the execution paths from the job net configuration information 161. As shown by the execution results information 164, the prediction unit 13 calculates that the time required to execute execution path A is 80 minutes, based on the execution times of jobs 101, 102, 103, and 108 being 20 minutes, 30 minutes, 20 minutes, and 10 minutes, respectively. The prediction unit 13 similarly calculates, based on the execution performance information 164, that the time required to execute execution paths B and C is 60 minutes and 50 minutes, respectively. In other words, of the three execution paths included in the job net configuration information 161, execution path A is the critical path with the longest execution time. In this case, the prediction unit 13 first sets execution path A, which is the critical path, as the target for predicting the freshness of the external data 41 to be acquired and the completion time of the job net, based on the job net's execution start time.
[0034] Figure 6 is a diagram showing a first example of the data of the prediction result 165 according to this embodiment. The prediction result 165 illustrated in Figure 6 is the prediction result for the execution path A described above. The prediction unit 13, for example, takes into account that requirement 162 illustrated in Figure 3 indicates that the freshness of the external data 41A and 41D is data from 0:00 onwards on the current day, and sets the initial value of the job net execution start time to 0:00. The prediction unit 13 also sets the initial value of the acquisition destination for the external data 41 to the external device 40 so that the freshness of the acquired external data 41 can satisfy requirement 162.
[0035] The generation unit 14 determines that, in the prediction result 165 illustrated in Figure 6, the job net's execution completion time is 1:20, and therefore does not satisfy the requirement 162 of "by 1:00".
[0036] The generation unit 14 checks whether there is any external data 41 that can satisfy the freshness requirement 162 even if the acquisition source is changed from the external device 40 to the cache 21, since the prediction result 165 illustrated in Figure 6 does not satisfy requirement 162. In this embodiment, the time required to acquire the external data 41 from the cache 21 is shorter than the time required to acquire the external data 41 from the external device 40. Furthermore, the time required to acquire the external data 41 from the cache 21 is negligibly small. That is, if the acquisition source of a certain external data 41 is changed from the external device 40 to the cache 21, the freshness of the acquired external data 41 will decrease, but the execution time of the job net will be shortened.
[0037] Requirement 162, illustrated in Figure 3, indicates that the external data 41B is data from 0:00 AM on or after the previous day. The cache management information 163, illustrated in Figure 4, indicates that the storage time of the external data 41B in the cache 21 is 0:00 AM on the previous day. Therefore, the generation unit 14 determines that, in the prediction result 165 illustrated in Figure 6, even if the source of the external data 41B used by job 102 is changed from the external device 40 to the cache 21, the freshness of the external data 41B still satisfies requirement 162. Based on this determination, the generation unit 14 controls the prediction unit 13 to change the source of the external data 41B used by job 102 from the external device 40 to the cache 21 and calculate the prediction result 165 for execution path A.
[0038] Figure 7 shows a second example of the data for the prediction result 165 according to this embodiment. In the prediction result 165 illustrated in Figure 7, the source of the external data 41B used by the job 102 is changed from the external device 40 to the cache 21 by the control of the prediction unit 13 by the generation unit 14 described above.
[0039] The generation unit 14 determines that, in the prediction result 165 illustrated in Figure 7, the job net execution completion time is 0:50, and that requirement 162, "by 1:00," is met. The generation unit 14 also determines that the predicted job net execution completion time has a 10-minute buffer until 1:00 as indicated by requirement 162, and that there is room for improvement regarding the freshness of requirement 162, "data from 0:00 on the current day and newer data," as illustrated in Figure 3.
[0040] Based on this determination result, the generation unit 14 controls the prediction unit 13 to delay the job net execution start time by 10 minutes to 0:10 and calculate the prediction result 165 for execution path A. In other words, the generation unit 14 controls the prediction unit 13 to calculate the prediction result 165 in which the freshness of the external data 41A is most recent, under the condition that the job net execution completion time satisfies requirement 162.
[0041] Figure 8 shows a third example of the data for the prediction result 165 according to this embodiment. In the prediction result 165 illustrated in Figure 8, the execution start time of the job net is changed from 0:00 to 0:10 by the control of the prediction unit 13 by the generation unit 14 described above.
[0042] The generation unit 14 determines that, in the prediction result 165 illustrated in Figure 8, the job net execution completion time satisfies requirement 162 and is equal to 1:00 as indicated by requirement 162, and therefore there is no room for improvement regarding the freshness requirement 162 of the external data A. In other words, in this case, the freshness of the external data 41A is the most recent under conditions where the job net execution completion time satisfies requirement 162. Therefore, the generation unit 14 determines that the freshness of the external data 41 also satisfies requirement 162. Based on the above determination by the generation unit 14, the prediction unit 13 finishes predicting the freshness of the external data 41 to be acquired and the job net execution completion time for execution path A.
[0043] The prediction unit 13 then sets execution path B, which has the second longest execution time after execution path A, as the target for predicting the freshness of the acquired external data 41 and the completion time of the job net, based on the job net's execution start time.
[0044] Figure 9 is a diagram showing a fourth example of the data for the prediction result 165 according to this embodiment. The prediction result 165 illustrated in Figure 9 is a prediction result for execution path B. The prediction unit 13 sets the execution start time of the job net to 0:10, the same as the prediction result 165 for execution path A illustrated in Figure 8.
[0045] The generation unit 14 determines that, in the prediction result 165 illustrated in Figure 9, the job net's execution completion time is 1:10, and therefore does not satisfy the requirement 162 of "by 1:00".
[0046] Since the prediction result 165 illustrated in Figure 9 does not satisfy requirement 162, the generation unit 14 checks, as in the case of execution path A, whether there is external data 41 that can satisfy the freshness requirement 162 even if the acquisition source is changed from the external device 40 to the cache 21.
[0047] Requirement 162, illustrated in Figure 3, indicates that the external data 41C is data from 12:00 PM on or after the previous day. The cache management information 163, illustrated in Figure 4, indicates that the storage time of the external data 41C in the cache 21 is 12:00 PM on the previous day. Therefore, the generation unit 14 determines that, in the prediction result 165 illustrated in Figure 9, even if the source of the external data 41C used by job 104 is changed from the external device 40 to the cache 21, the freshness of the external data 41C still satisfies requirement 162. Based on this determination, the generation unit 14 controls the prediction unit 13 to change the source of the external data 41C used by job 104 from the external device 40 to the cache 21 and calculate the prediction result 165 for execution path B.
[0048] Figure 10 is a diagram showing a fifth example of the data for the prediction result 165 according to this embodiment. In the prediction result 165 illustrated in Figure 10, the source of the external data 41C used by the job 104 is changed from the external device 40 to the cache 21 by the control of the prediction unit 13 by the generation unit 14 described above.
[0049] The generation unit 14 determines that, in the prediction result 165 illustrated in Figure 10, the job net execution completion time is 1:00, and that requirement 162, "by 1:00," is met. The generation unit 14 also determines that requirement 162 is met regarding the freshness of the external data 41. Based on the above determination by the generation unit 14, the prediction unit 13 terminates its prediction of the freshness of the external data 41 to be acquired and the job net execution completion time for execution path B.
[0050] The prediction unit 13 then sets the execution path C as the target for predicting the freshness of the acquired external data 41 and the completion time of the job net, based on the job net's execution start time.
[0051] Figure 11 is a diagram showing a sixth example of the data for the prediction result 165 according to this embodiment. The prediction result 165 illustrated in Figure 11 is a prediction result for execution path C. The prediction unit 13 sets the execution start time of the job net to 0:10, the same as the prediction result 165 for execution path A illustrated in Figure 8 and the prediction result 165 for execution path B illustrated in Figure 10.
[0052] The generation unit 14 determines that, in the prediction result 165 illustrated in Figure 11, the job net's execution completion time is 1:00, and that requirement 162, "by 1:00," is met. The generation unit 14 also determines that requirement 162 is met regarding the freshness of the external data 41. Based on the above determination by the generation unit 14, the prediction unit 13 terminates its prediction of the freshness of the external data 41 to be acquired and the job net's execution completion time for the execution path C.
[0053] The generation unit 14 generates a job net execution plan 166 based on the prediction result 165 for execution path A illustrated in Figure 8, the prediction result 165 for execution path B illustrated in Figure 10, and the prediction result 165 for execution path C illustrated in Figure 11.
[0054] Figure 12 is a diagram illustrating the data of the job net execution plan 166 according to this embodiment. The execution plan 166 illustrated in Figure 12 shows that the job net execution start time is 0:10, and the sources of the external data 41A to 41D are, in order, external device 40, cache 21, cache 21, and external device 40.
[0055] The generation unit 14 performs exception processing if, in the processing performed by the prediction unit 13 and the generation unit 14 described above, there is no execution plan 166 that satisfies the requirements 162 for the freshness of the acquired external data 41 and the completion time of the job net. The generation unit 14 then notifies, for example, the user terminal 30, that it has performed exception processing indicating that it was not possible to generate an execution plan 166 that satisfies the requirements 162 for the freshness of the external data 41 and the completion time of the job net.
[0056] The control unit 15 uses the execution plan 166 generated by the generation unit 14 to control the execution of the job net represented by the job net configuration information 161 exemplified in Figure 2 by the information processing device 20. The information processing device 20 executes the job net in accordance with the control by the control unit 15.
[0057] Next, the operation (processing) of the job management device 10 according to this embodiment will be described in detail with reference to the flowcharts in Figures 13A and 13B.
[0058] The requirements acquisition unit 11 acquires requirements 162 from the information processing device 20 or user terminal 30, etc., and stores the acquired requirements 162 in the storage unit 16 (step S101). The freshness acquisition unit 12 acquires cache management information 163 from the information processing device 20, etc., and stores the acquired cache management information 163 in the storage unit 16 (step S102).
[0059] The prediction unit 13 extracts the execution paths of the job net from the job net configuration information 161 (step S103). The prediction unit 13 selects the execution path with the longest execution time among the execution paths for which the job execution start time and execution completion time have not been predicted, and generates a prediction result 165 based on the set job net execution start time (step S104). The generation unit 14 determines whether the execution completion time for the said execution path of the job net satisfies requirement 162 (step S105).
[0060] If the execution completion time for the execution path satisfies requirement 162 (Yes in step S106), the process proceeds to step S110. If the execution completion time for the execution path does not satisfy requirement 162 (No in step S106), the generation unit 14 determines whether there is external data 41 that can satisfy requirement 162 even if the acquisition destination is changed from the external device 40 to the cache 21 (step S107).
[0061] If no external data 41 exists that can satisfy requirement 162 (No in step S108), the generation unit 14 performs an exception to indicate that it cannot generate an execution plan 166 that satisfies requirement 162 in terms of the freshness of the external data 41 and the execution completion time of the job net, and notifies the user terminal 30 that the exception has been performed (step S116), and the entire process ends.
[0062] If external data 41 exists that can satisfy requirement 162 (Yes in step S108), the generation unit 14 controls the prediction unit 13 to change the source of the external data 41 that can satisfy requirement 162 from the external device 40 to the cache 21 and generate the prediction result 165 (step S109), and the process returns to step S105.
[0063] The generation unit 14 determines whether it is possible to adjust the start time of the job net to be delayed so as to satisfy the requirement 162 regarding the execution completion time of the job net, in order to satisfy the requirement 162 regarding the freshness of the external data 41 to be acquired (step S110). If it is not possible to adjust the start time of the job net to be delayed (No in step S111), the process proceeds to step S113. If it is possible to adjust the start time of the job net to be delayed (Yes in step S111), the prediction unit 13 generates a prediction result 165 with the job net execution start time adjusted (step S112).
[0064] If there are execution paths for which the start and end times of the job execution have not been predicted (Yes in step S113), the process returns to step S104. If there are no execution paths for which the start and end times of the job execution have not been predicted (No in step S113), the generation unit 14 generates an execution plan 166 based on the prediction result 165 and stores the generated execution plan 166 in the storage unit 16 (step S114). The control unit 15 uses the execution plan 166 generated by the generation unit 14 to control the execution of the job net represented by the job net configuration information 161 by the information processing device 20 (step S115), and the entire process ends.
[0065] The job management device 10 according to this embodiment can automatically execute information processing in a manner that satisfies the requirements regarding the freshness of information acquired from external sources used by the information processing and the completion time of the information processing. This is because the job management device 10 controls the execution of the job net by the information processing device 20 using an execution plan 166 that adjusts the source of the external data 41, which is either the external device 40 or the cache 21, and the start time of the job net, so that the freshness of the acquired external data 41 and the completion time of the job net satisfy the requirements 162.
[0066] The effects realized by the job management device 10 according to this embodiment will be described in detail below.
[0067] When a computer job (information processing) depends on external information such as external data or services, there are often requirements regarding the freshness (newness) of the external information used by the job. Furthermore, there are often requirements regarding the job's completion time. Therefore, when having a computer execute such a job, it is necessary to configure the job's execution plan to satisfy the aforementioned requirements. However, configuring such a job execution plan is difficult for, for example, a user.
[0068] To address these challenges, the job management device 10 according to this embodiment acquires requirements 162 regarding the freshness of the external data 41 and the execution completion time of the job net (information processing) using external data 41 updated in the external device 40. The job management device 10 acquires the freshness of the external data 41 stored in the cache 21 before the job net is executed. The job management device 10 predicts the freshness of the external data 41 to be acquired and the execution completion time from the job net's execution start time, considering whether the external data 41 is acquired from the external device 40 or the cache 21 at the time of job net execution. The job management device 10 generates an execution start time and a job net execution plan 166 that indicates whether the external data 41 is acquired from the external device 40 or the cache 21, such that the predicted freshness of the external data 41 and the execution completion time satisfy requirements 162. The job management device 10 then controls the execution of the job net using the execution plan 166. This allows the job management device 10 to automatically execute jobs in a manner that satisfies requirements regarding the freshness of information obtained from external sources used by the jobs and the time of job completion.
[0069] Furthermore, requirement 162 in this embodiment represents at least one of the following: the freshness of the external data 41 is newer than a predetermined time, and the execution completion time of the job net is earlier than a predetermined deadline. Requirement 162 also represents the freshest possible external data 41 under the condition that the execution completion time of the job net is earlier than the predetermined deadline. Requirement 162 also represents the execution completion time of the job net is equal to the predetermined deadline. The job management device 10 then generates an execution plan 166 for the job net that satisfies such requirements 162. This allows the job management device 10 to execute the job net in a way that yields the results desired by the user.
[0070] In this embodiment, the job management device 10 extracts job execution paths from jobnet configuration information 161 and predicts the execution time of each job included in the extracted execution path. The job management device 10 then determines whether the freshness of the external data 41 acquired by the jobs included in the execution path meets requirement 162. At that time, the job management device 10 selects the execution paths in order of the length of time required for execution and predicts the execution time of the jobs. As a result, the job management device 10 can efficiently generate an execution plan 166 for the jobnet that meets requirement 162.
[0071] <Second Embodiment> Figure 14 is a block diagram showing the configuration of a job management device 60 according to a second embodiment of the present invention.
[0072] The job management device 60 according to this embodiment includes a requirements acquisition unit 61, a freshness acquisition unit 62, a prediction unit 63, a generation unit 64, and a control unit 65. The requirements acquisition unit 61, freshness acquisition unit 62, prediction unit 63, generation unit 64, and control unit 65 are, in order, examples of requirements acquisition means, freshness acquisition means, prediction means, generation means, and control means.
[0073] The requirements acquisition unit 61 acquires requirements 610 regarding the freshness of the external information 71 and the completion time of the information processing in information processing using the external information 71 updated in the external device 70. The external device 70 is, for example, a device similar to the external device 40 in the first embodiment. The external information 71 is, for example, information similar to the external data 41 in the first embodiment. The requirements 610 is, for example, information similar to the requirements 162 in the first embodiment. The requirements acquisition unit 61 operates, for example, similarly to the requirements acquisition unit 11 in the first embodiment.
[0074] The freshness acquisition unit 62 acquires the freshness 620 of external information stored in the internal storage device 80 before the information processing is performed. The internal storage device 80 is, for example, a device similar to the cache 21 in the first embodiment. The freshness 620 of external information is, for example, information similar to the cache management information 163 in the first embodiment. The freshness acquisition unit 62 operates, for example, in the same way as the freshness acquisition unit 12 in the first embodiment.
[0075] The prediction unit 63 predicts the freshness 631 of the external information to be acquired and the completion time 632 of the execution of the information processing, based on the start time of the information processing, with respect to the cases in which the external information 71 is acquired from an external device 70 and from an internal storage device 80 at the time of execution of the information processing. The freshness 631 of the external information and the completion time 632 of the execution are, for example, similar to the information included in the prediction result 165 of the first embodiment. The prediction unit 63 operates, for example, in the same way as the prediction unit 13 of the first embodiment.
[0076] The generation unit 64 generates an execution plan 640 for the information processing, which indicates the execution start time and whether the external information 71 is obtained from either the external device 70 or the internal storage device 80, such that the predicted freshness 631 of the external information and the execution completion time 632 satisfy the requirements 610. The execution plan 640 contains information similar to, for example, the execution plan 166 in the first embodiment. The generation unit 64 operates similarly to, for example, the generation unit 14 in the first embodiment.
[0077] The control unit 65 controls the execution of the information processing using the execution plan 640. The control unit 65 operates, for example, in the same manner as the control unit 15 in the first embodiment.
[0078] Next, the operation (processing) of the job management device 60 according to this embodiment will be described in detail with reference to the flowchart in Figure 15.
[0079] The requirements acquisition unit 61 acquires requirements 610 regarding the freshness of the external information 71 and the completion time of the information processing (step S201). The freshness acquisition unit 62 acquires the freshness 620 of the external information stored in the internal storage device 80 before the information processing is executed (step S202).
[0080] The prediction unit 63 predicts the freshness 631 of the external information to be acquired and the completion time 632 of the acquisition, based on the start time of the information processing, for cases where the external information 71 is acquired from an external device 70 or from an internal storage device 80 at the time of execution of the information processing (step S203).
[0081] The generation unit 64 generates an execution plan 640 for the information processing, which indicates the start time of execution and whether the external information 71 is obtained from either the external device 70 or the internal storage device 80, such that the predicted freshness 631 of the external information and the execution completion time 632 satisfy the requirements 610 (step S204). The control unit 65 controls the execution of the information processing using the execution plan 640 (step S205), and the overall processing is completed.
[0082] The job management device 60 according to this embodiment can automatically execute information processing in a manner that satisfies the requirements regarding the freshness of information acquired from external sources used by the information processing and the completion time of the information processing. This is because the job management device 60 controls the execution of the information processing using an execution plan 640 that adjusts the source of the external information 71, which is either the external device 70 or the internal storage device 80, and the start time of the information processing, so that the freshness 631 of the acquired external information and the completion time 632 of the information processing satisfy the requirements 610.
[0083] <Example Hardware Configuration> In each of the embodiments described above, the parts of the job management device shown in Figures 1 and 14 can be realized by dedicated hardware (electronic circuits). Furthermore, in Figures 1 and 14, at least the following configuration can be considered as a functional (processing) unit (software module) of a software program that includes instructions executed by a processor. • Requirements acquisition units 11 and 61, • Freshness acquisition units 12 and 62, • Prediction units 13 and 63, • Generation units 14 and 64, • Control units 15 and 65, • Memory control function in memory unit 16.
[0084] However, the divisions of the parts shown in these drawings are for illustrative purposes only, and various configurations are possible during implementation. An example of such a hardware environment will be explained with reference to Figure 16.
[0085] Figure 16 is a diagram illustrating the configuration of an information processing device 900 (computer) capable of realizing the job management device according to each embodiment of the present invention. That is, Figure 16 is the configuration of a computer (information processing device) capable of realizing the job management device shown in Figures 1 and 14, and represents a hardware environment capable of realizing each function in the embodiments described above.
[0086] The information processing device 900 shown in Figure 16 comprises the following components: ·CPU(Central_Processing_Unit)901, ROM (Read-Only Memory) 902, ·RAM(Random_Access_Memory)903, • Hard disk (storage device) 904, • Communication interface 905, Bus 906 (communication line), A reader / writer 908 capable of reading and writing data stored on a recording medium 907 such as a CD-ROM (Compact Disc Read Only Memory). • Input / output interface 909 for monitors, speakers, keyboards, etc.
[0087] In other words, the information processing device 900 having the above components is a general-purpose computer in which these components are connected via a bus 906. The information processing device 900 may have multiple CPUs 901, or it may have a CPU 901 configured with multiple cores.
[0088] The present invention, as described using the above-described embodiment as an example, supplies a computer program capable of realizing the following functions to the information processing device 900 shown in Figure 16. These functions are those of the configuration described above in the block diagrams (Figures 1 and 14) referenced in the description of the embodiment, or the functions of the flowcharts (Figures 13A, 13B, and 15). The present invention is then achieved by reading, interpreting, and executing the computer program into the CPU 901 of the hardware. The computer program supplied to the device may be stored in a read / write volatile memory (RAM 903) or a non-volatile storage device such as a ROM 902 or a hard disk 904.
[0089] Furthermore, in the aforementioned case, the method for supplying the computer program to the hardware can employ currently common procedures. These procedures include, for example, installing the program into the device via various recording media 907 such as a CD-ROM, or downloading it from an external source via a communication line such as the Internet. In such a case, the present invention can be understood as consisting of the code constituting the computer program or the recording media 907 on which the code is stored.
[0090] The present invention has been described above using the embodiments described above as exemplary examples. However, the present invention is not limited to the embodiments described above. That is, the present invention can be applied in various forms that can be understood by those skilled in the art within the scope of the present invention. [Explanation of Symbols]
[0091] 1. Job Management System 10. Job management device 11 Requirements acquisition department 12 Freshness Acquisition Section 13 Prediction Section 14 Generation part 15 Control Unit 16 Memory section 161 Jobnet Configuration Information 162 Requirements 163 Cache Management Information 164 Execution Results Information 165 Prediction Results 166 Implementation Plan 20 Information Processing Devices 21 Cache 30 User terminals 40 External device 41 External data 50 Communication Networks 60 Job management device 61 Requirements acquisition department 610 Requirements 62 Freshness Acquisition Section 620 Freshness of external information 63 Prediction Section 631 Freshness of external information 632 Execution completion time 64 Generation part 640 Action Plan 65 Control Unit 70 External device 71 External Information 80 Internal storage 900 Information Processing Equipment 901 CPU 902 ROM 903 RAM 904 Hard disk (storage device) 905 Communication Interface 906 Bus 907 Recording media 908 Reader / Writer 909 Input / Output Interface
Claims
1. In information processing using external information updated by an external device, a requirement acquisition means for acquiring requirements regarding the freshness of the external information and the completion time of the information processing is provided, A freshness acquisition means for acquiring the freshness of the external information stored in the internal storage device before the aforementioned information processing is performed, Regarding the case in which the external information is acquired from the external device and the internal storage device at the time of execution of the information processing, a prediction means predicts the freshness of the external information to be acquired and the completion time of the execution from the start time of the information processing, A generation means for generating an execution plan for information processing that indicates the execution start time and whether to obtain the external information from the external device or the internal storage device, such that the predicted freshness of the external information and the execution completion time satisfy the requirements, A control means for controlling the execution of the information processing using the execution plan, A job management device equipped with the following features.
2. The above requirement means at least one of the following: the freshness of the external information is newer than a predetermined time, and the execution completion time is earlier than a predetermined deadline. The job management device according to claim 1.
3. The above requirement means that the time of completion of the execution is earlier than the predetermined deadline, and that the external information is as recent as possible. The job management device according to claim 2.
4. The above requirement means that the execution completion time is equal to the predetermined deadline. The job management device according to claim 2 or claim 3.
5. The prediction means predicts the freshness of the external information to be acquired and the completion time of the execution based on past execution results of the information processing. A job management device according to claim 1 or claim 2.
6. The aforementioned information processing is a job net that includes multiple jobs, The prediction means predicts the time at which each job will be executed based on information representing the configuration of the job net. A job management device according to claim 1 or claim 2.
7. The prediction means extracts the execution paths of the jobs from the information representing the configuration of the job net, and predicts the time at which the jobs included in each of the extracted execution paths will be executed. The generation means determines whether the freshness of the external information acquired by the job included in the execution path satisfies the requirements. The job management device according to claim 6.
8. The prediction means selects the execution paths in order of the length of time required for execution, and predicts the time when the job will be executed. The job management device according to claim 7.
9. By an information processing device, In information processing using external information updated by an external device, requirements regarding the freshness of the external information and the completion time of the information processing are obtained. Before the aforementioned information processing is performed, the freshness of the external information stored in the internal memory is obtained, Regarding the acquisition of the external information from the external device and the acquisition of the external information from the internal storage device during the execution of the information processing, the freshness of the acquired external information and the completion time of the execution are predicted from the start time of the information processing. An execution plan for the information processing is generated, which specifies the start time of the execution and whether the external information is obtained from the external device or the internal storage device, such that the predicted freshness of the external information and the execution completion time satisfy the requirements. The execution of the information processing is controlled using the aforementioned execution plan. Job management methods.
10. In information processing using external information updated by an external device, a requirements acquisition process is performed to acquire requirements regarding the freshness of the external information and the completion time of the information processing; A freshness acquisition process that acquires the freshness of the external information stored in the internal storage device before the aforementioned information processing is performed, Regarding the case in which the external information is acquired from the external device and the internal storage device at the time of execution of the information processing, a prediction process is performed to predict the freshness of the external information to be acquired and the completion time of the execution from the start time of the information processing. A generation process that generates an execution plan for the information processing, which includes the execution start time and whether to obtain the external information from the external device or the internal storage device, such that the predicted freshness of the external information and the execution completion time satisfy the requirements, A control process that controls the execution of the information processing using the execution plan, A job management program that causes a computer to execute a task.
Citation Information
Patent Citations
Information processing apparatus, information processing method and computer program
JP2012059204A
Job management method, job management device, job management system, program
JP2020177599A
Job management method and job management device
JP2021189949A
Optimal query scheduling according to data freshness requirements
US20210216547A1