Server device, usage status management method, and usage status management program
The server device addresses the challenge of managing job usage status in web systems by implementing a system to monitor and manage job execution status information, facilitating real-time system usage monitoring and maintenance.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- OBIC CO LTD
- Filing Date
- 2024-09-27
- Publication Date
- 2026-07-06
AI Technical Summary
Existing server devices struggle to effectively manage and monitor the usage status of jobs executed by client terminal devices, particularly in web systems where jobs are launched directly without going through a system menu, leading to difficulties in understanding system usage and maintaining system availability.
A server device equipped with a job execution status work storage control unit, date and time update processing unit, elapsed time detection unit, deletion processing unit, and output control unit to manage and monitor job execution status information, including job identification, start and last updated dates, and elapsed time, enabling real-time system usage monitoring and forced termination of jobs.
Enables real-time monitoring and management of system usage by jobs, allowing administrators to understand and maintain system status, even when jobs are registered or running asynchronously, and ensuring timely deletion of outdated job records.
Smart Images

Figure 0007885300000001 
Figure 0007885300000002 
Figure 0007885300000003
Abstract
Description
Technical Field
[0001] The present invention relates to a server device, a usage status management method, and a usage status management program.
Background Art
[0002] The server system disclosed in Patent Document 1 (Japanese Patent Application Laid-Open No. 2019-028756) is a server system that collects the operation information of a printer via a network, and includes a communication unit that receives the operation information, and a processing unit that causes a display screen based on the operation information to be displayed on a mobile terminal device connected via the network. This processing unit causes a display screen in which the remaining time information until printing completion or the printing completion time information of a plurality of printers is arranged within one screen to be displayed on the display unit of the mobile terminal device. Thereby, the operation information of a plurality of printers can be displayed in an appropriate display mode on the display unit of the mobile terminal device.
[0003] In paragraph 0072 of this Patent Document 1, a technique is disclosed in which a processing unit of an information processing device periodically acquires operation information from a plurality of printer devices connected via a network by polling.
[0004] Further, in paragraph 0080 of Patent Document 1, a technique is disclosed in which status information of any one of "printing", "standby", "warning", and "error" is transmitted to the server system.
Prior Art Documents
Patent Documents
[0005]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0006] In a server device that executes a job (an application program specified by a client terminal device via the network) and returns the execution results to the client terminal device via the network, there was a problem in that it was difficult for administrators to grasp the usage status of the jobs.
[0007] This invention has been made in view of the above-mentioned problems, and aims to provide a server device, a usage management method, and a usage management program that enable the understanding of usage status by job. [Means for solving the problem]
[0008] To solve the above-mentioned problems and achieve the objective, the server device according to the present invention is a server device that executes a job, which is an application program specified by a client terminal device via a network, and returns the execution result to the client terminal device via the network, and includes: a job execution status work storage control unit that stores job identification information for identifying a job specified by a client terminal device, and job execution status information including the job start date and time or the last updated date and time of the start date and time in a job execution status work; a date and time update processing unit that updates the job execution status information stored in the job execution status work to the current date and time at predetermined time intervals; an elapsed time detection unit that detects an elapsed date and time as the job start date and time or last updated date and time, by adding a time corresponding to a predetermined time interval and a margin time to the job start date and time or last updated date and time; a deletion processing unit that deletes job execution status information including the job start date and time or last updated date and time of a job for which an elapsed date and time that is less than or equal to the current date and time has been detected from the job execution status work; and an output control unit that outputs the job execution status information of the job execution status work to an output target device.
[0009] Furthermore, in order to solve the above-mentioned problems and achieve the objective, the usage status management method according to the present invention is a job usage status management method for jobs executed by a server device that executes a job, which is an application program specified by a client terminal device via a network, and returns the execution result to the client terminal device via the network, and comprises: a job execution status work storage control step in which a job execution status work storage control unit stores job identification information for identifying a job specified by a client terminal device, and job execution status information including the job start date and time or the last updated date and time of the start date and time in a job execution status work; a date and time update processing step in which a date and time update processing unit updates the job execution status information stored in the job execution status work to the current date and time at predetermined time intervals; an elapsed time detection step in which an elapsed time detection unit detects a date and time as the elapsed date and time obtained by adding a time corresponding to a predetermined time interval and a margin time to the job start date and time or the last updated date and time; a deletion processing step in which a deletion processing unit deletes job execution status information including the job start date and time or the last updated date and time of the job for which an elapsed date and time less than or equal to the current date and time has been detected from the job execution status work; and an output control step in which an output control unit outputs the job execution status information of the job execution status work to an output target device.
[0010] Furthermore, in order to solve the above-mentioned problems and achieve the objective, the usage status management program according to the present invention is a usage status management program that causes a computer in a server device to function, which executes a job, which is an application program specified by a client terminal device via a network, and returns the execution result to the client terminal device via the network, and the computer functions as a job execution status work storage control unit that stores job identification information for identifying a job specified by a client terminal device, and job execution status information including the job start date and time or the last updated date and time of the start date and time, in a job execution status work; a date and time update processing unit that updates the job execution status information stored in the job execution status work to the current date and time at predetermined time intervals; an elapsed time detection unit that detects an elapsed date and time as the job start date and time or last updated date and time, by adding a time corresponding to a predetermined time interval and a margin time to the job start date and time or last updated date and time; a deletion processing unit that deletes job execution status information including the job start date and time or last updated date and time of a job for which an elapsed date and time that is less than or equal to the current date and time has been detected from the job execution status work; and an output control unit that outputs the job execution status information of the job execution status work to an output target device. [Effects of the Invention]
[0011] This invention makes it possible to understand the usage status by job. [Brief explanation of the drawing]
[0012] [Figure 1] Figure 1 shows the hardware configuration of the server device according to the embodiment, and the system configuration of the Web application system to which the server device according to the embodiment is applied. [Figure 2] Figure 2 is a diagram illustrating the operational overview of a web application system equipped with a server device. [Figure 3] Figure 3 is a diagram illustrating how a client terminal device maintains a list of jobs currently running in its storage unit. [Figure 4]Figure 4 illustrates the operation by which the server device stores job execution status information, indicating the jobs that have been started, in the job execution status worksheet. [Figure 5] Figure 5 illustrates the process of updating the last modified date and time of each job using polling. [Figure 6] Figure 6 shows how the job execution status work record and the client terminal device's running job list record are deleted when a job is completed. [Figure 7] Figure 7 is a diagram illustrating the job liveness monitoring operation of the server device. [Figure 8] Figure 8 shows how, due to a network failure, the last update date and time exceeds a predetermined time, and the record for the corresponding job is deleted from the job execution status worksheet. [Figure 9] Figure 9 illustrates an example where a job is treated as having been terminated because its record is deleted when a network failure is resolved. [Figure 10] Figure 10 illustrates an example of directly starting a job without going through a menu by specifying the job ID and user ID in the request header information from an external system's groupware. [Figure 11] Figure 11 shows how the last update time of the job record stored in the job execution status worksheet is updated at the time the polling was performed, at each polling interval. [Figure 12] Figure 12 shows how, when a job is started directly without going through the menu, the job record is not deleted from the job execution status work when the job is completed. [Figure 13] Figure 13 shows how, when a job is started directly without going through a menu, the job record is deleted from the job execution status worksheet when the job's last update date and time exceeds a predetermined elapsed time. [Figure 14]FIG. 14 is a diagram showing a state in which an asynchronous instruction execution type job is started from a menu. [Figure 15] FIG. 15 is a diagram showing a state in which when an asynchronous instruction execution type job is started from a menu, the last update date and time of the job record stored in the job execution status work are updated to the time when polling is executed at each polling interval. [Figure 16] FIG. 16 is a diagram showing a state in which a queue for asynchronous execution (asynchronous execution instruction information) is registered in the asynchronous execution instruction work when an asynchronous instruction execution type job is started from a menu. [Figure 17] FIG. 17 is a diagram for explaining an update operation of the status of a newly registered queue for asynchronous execution (asynchronous execution instruction information) and an input operation of a process ID. [Figure 18] FIG. 18 is a diagram showing a state in which the last update date and time of the job execution status information in the job execution status work and the last update date and time of the new queue for asynchronous execution (asynchronous execution instruction information) in the asynchronous execution instruction work are updated to the current date and time by polling. [Figure 19] FIG. 19 is a diagram for explaining processing for the job execution status information in the job execution status work and the asynchronous execution instruction information in the asynchronous execution instruction work when the job is normally terminated during the execution of the asynchronous process. [Figure 20] FIG. 20 is a diagram showing an operation when the job is normally terminated after the asynchronous process ends. [Figure 21] FIG. 21 is a diagram for explaining a survival confirmation monitoring operation of the asynchronous execution instruction information. [Figure 22] FIG. 22 is a diagram showing a state in which when a desired asynchronous process is forcibly terminated, the status of the corresponding asynchronous execution instruction information is updated to "error". [Figure 23] FIG. 23 is a diagram showing an example of a usage status screen for forcibly terminating a job or an asynchronous process. [Figure 24]Figure 24 is a flowchart showing the flow of the job production confirmation monitoring operation and the asynchronous management operation of the server device in the embodiment. [Modes for carrying out the invention]
[0013] The following describes in detail, with reference to the drawings, a server device that is an embodiment to which the present invention is applied. However, the present invention is not limited to the following embodiments.
[0014] (overview) Today, client-server systems are known in which a computer that uses a service (client terminal device) and a computer that provides the service or data (server device) communicate and operate over a network.
[0015] In this client-server system, the entire process, from the execution to the completion of a job (an application program running on a web browser), can be detected within the job itself. Therefore, system administrators were able to monitor the usage of the management system.
[0016] In contrast, a web system is known in which a client terminal device with a web (World Wide Web) browser installed is connected to the internet, and application programs or services built on a server device are accessed via the network.
[0017] In this web system, there is a processing timeout. Therefore, the web system registers execution queues from the web browser screen of the client terminal device and operates by detecting the registered execution queues.
[0018] Furthermore, some web systems, such as groupware, allow jobs to be launched directly without going through a system menu (a list of jobs displayed on the job selection screen in a web browser).
[0019] For these reasons, it has been difficult to understand the system usage status through jobs in web systems.
[0020] Furthermore, when a web browser is closed, some types of web browsers make it difficult to detect the closure. In this case, it becomes difficult for system administrators to understand the system usage status by jobs in real time.
[0021] System administrators need to understand how the system is being used by jobs and perform maintenance, such as system updates, when the system is not being used.
[0022] The server device of this embodiment enables monitoring of system usage by jobs. Furthermore, it enables monitoring of system usage by jobs even when the execution queue is being registered.
[0023] Furthermore, the server device in this embodiment allows the system administrator to forcibly terminate running jobs or asynchronous processes, enabling maintenance, updates, and other management by leaving the system in an unused state.
[0024] (System Configuration) The server device 1 of this embodiment is applied to the Web application system shown in Figure 1. Thus, the Web application system is configured by connecting the server device 1 and one or more client terminal devices 51 to each other via a network 50 so that they can communicate with one another.
[0025] Server device 1 executes a job, which is an application program specified by client terminal device 51 via network 50, and returns the execution result to the client terminal device via network 50. Network 50 can be a wide area network such as the Internet or a private network such as a LAN (Local Area Network).
[0026] (Hardware configuration) As shown in Figure 1, the server device 1 of this embodiment includes a storage unit 2, a control unit 3, a communication interface unit 4, and an input / output interface unit 5.
[0027] An input / output interface unit 5 is connected to an input device 6 and an output device 7. The input device 6 can include a keyboard, mouse, and microphone, as well as a monitor device that works in conjunction with the mouse to provide a pointing device function.
[0028] Furthermore, the output device 7 can be a display unit of a monitor device (including a household television), a printing device, or a speaker device.
[0029] The communication interface unit 4 is connected to the aforementioned network 50 and enables communication with each client terminal device 51.
[0030] For the memory unit 2, a storage device such as ROM (Read Only Memory), RAM (Random Access Memory), HDD (Hard Disk Drive), or SSD (Solid State Drive) can be used. The memory unit 2 stores a usage management program that allows the usage status by job to be monitored.
[0031] Furthermore, the memory unit 2 is equipped with a polling setting master table 11, a job execution status worksheet 12, and an asynchronous execution instruction worksheet 13, which are memory areas.
[0032] The polling settings master table 11 stores polling information that indicates the time interval at which polling will be performed, as described later.
[0033] The Job Execution Status Worksheet 12 stores job execution status information, including the unique identification number (Job ID) of each job executed on each client device, the unique identification number (User ID) of the user, and the job's start date and time or the last updated date and time of the start date and time. Further details will be described later.
[0034] The asynchronous execution instruction worksheet 13 stores asynchronous execution instruction information, including the status indicating the execution status of the application program, the job ID, the user ID, the job start date and time or the last updated start date and time, and a forced termination flag. Further details will be described later.
[0035] (Server device functional configuration) Next, the control unit 3 executes the usage status management program stored in the storage unit 2, and functions as a job execution status work storage control unit 21, an elapsed time detection unit 22, a date and time update processing unit 23, a deletion processing unit 24, an output control unit 25, an asynchronous execution instruction work storage control unit 26, and a status update processing unit 27, as shown in Figure 1.
[0036] In this example, the Job Execution Status Work Storage Control Unit 21 to Status Update Processing Unit 27 are described as being implemented in software based on the usage status management program. However, all or part of the Job Execution Status Work Storage Control Unit 21 to Status Update Processing Unit 27 may be implemented in hardware. In either case, the same effects as described later can be obtained.
[0037] The job execution status work storage control unit 21 stores job identification information for identifying a job specified by the client terminal device 51, and job execution status information including the job start date and time or the last updated date and time of the start date and time, in the job execution status work 12.
[0038] The date and time update processing unit 23 updates the job execution status information stored in the job execution status worksheet 12 to the current date and time at predetermined time intervals (for example, the 300-second interval set in the polling setting master table 11 in Figure 5(b)).
[0039] The elapsed time detection unit 22 detects the elapsed time as the date and time obtained by adding a time corresponding to a predetermined time interval (for example, 300 seconds as described above) and a margin time (for example, 1 minute) to the job's start date and time or last update date and time.
[0040] The deletion processing unit 24 deletes job execution status information, including the start date and time or last update date and time of jobs for which an elapsed date and time less than or equal to the current date and time has been detected, from the job execution status worksheet 12.
[0041] The output control unit 25 outputs job execution status information of the job execution status work 12 to the output target device. The output target device corresponds to, for example, the output device 7, and can be a display device, a printer, or a speaker device. The output control unit 25 converts the job execution status information (and asynchronous execution instruction information) into display information, print information, or audio information and supplies it to the corresponding device. This makes it possible to obtain display output, print output, or audio output of the job execution status information (and asynchronous execution instruction information). In addition, the output target device can be the storage unit 2, an external storage device, or a server device on the network, and contract data may be output or transmitted to these devices for storage.
[0042] When a job for asynchronous processing is specified by the client terminal device 51, the asynchronous execution instruction work storage control unit 26 stores status information indicating the execution status of the job and asynchronous execution instruction information, including the job's start date and time or the last updated start date and time, in the asynchronous execution instruction work 13.
[0043] The status update processing unit 27 updates the status information of the asynchronous execution instruction information to at least one of the following statuses, depending on the execution status of the job: "Not Executed" indicating that the job is not being executed, "Executing" indicating that the job is in progress, or "Completed" indicating that the job has finished successfully.
[0044] The output control unit 25 outputs job execution status information and asynchronous execution instruction information for the asynchronous execution instruction work 13 to the output target device.
[0045] Furthermore, if the job completes successfully, the deletion processing unit 24 deletes the job execution status information corresponding to the successfully completed job from the job execution status worksheet 12. Also, if the job completes successfully, the status update processing unit 27 updates the status information of the asynchronous execution instruction information from "running" to "completed".
[0046] Furthermore, if a job terminates abnormally, the deletion processing unit 24 will not delete the job execution status information corresponding to the abnormally terminated job from the job execution status worksheet 12. Also, if a job terminates abnormally, the status update processing unit 27 will update the status information of the asynchronous execution instruction information to "Error" status information, indicating that the job terminated abnormally.
[0047] Furthermore, the elapsed time detection unit 22 detects the elapsed time of the job's start date and time or the last updated date and time of the start date and time stored in the asynchronous execution instruction work 13. The status update processing unit 27 updates the status information of the asynchronous execution instruction information, which includes "running" status information, to "error" status information, based on the elapsed time detection unit 22's detection that the elapsed time is equal to or greater than a predetermined date and time.
[0048] Furthermore, asynchronous execution instruction information includes a default termination flag indicating that the job has not been terminated (see Figure 22).
[0049] The asynchronous execution instruction work storage control unit 26 updates the forced termination flag information (e.g., FALSE) of the asynchronous execution instruction information to the forced termination flag information (e.g., TRUE) indicating that the job has been forcibly terminated. The status update processing unit 27 also updates the status information of the asynchronous execution instruction information, which has been updated to the forced termination flag information indicating that the job has been forcibly terminated, to "Error" if the status information is "Not executed" or "In progress" (see Figure 22).
[0050] (Operation overview) Next, we will explain the operation overview of a web application system equipped with such a server device 1 using Figure 2.
[0051] First, in Figure 2, a "job" is an application program that runs on a web browser. The "menu" is a list of jobs displayed on the job selection screen in the web browser of the client terminal device 51.
[0052] Server device 1 adds a record (job execution status information) containing the last update date and time of a job specified to be started from the menu of client terminal device 51, or a job specified directly from a job on client terminal device 51, to the job execution status work 12.
[0053] Server device 1 periodically (or irregularly) updates the job start date and time or last update date and time of the job in the job execution status worksheet 12 according to the time interval (polling interval) set in the polling setting master table 11.
[0054] Furthermore, the server device 1 adds an execution queue (record) for asynchronous processing execution for a specific job by the client terminal device 51 to the asynchronous execution instruction work 13.
[0055] Furthermore, server device 1 detects the completion of a job and deletes the corresponding record in the job execution status worksheet 12 at the time the job is completed.
[0056] Furthermore, as part of its "job liveness monitoring operation," server device 1 constantly acquires all records from the job execution status worksheet 12. If "last updated date and time + set time interval + 1 minute < current date and time," it determines that the job has finished and deletes the corresponding record from the job execution status worksheet 12.
[0057] Furthermore, as an "asynchronous execution operation," server device 1 performs actual processing according to the content provided from the execution queue, and updates the status and last updated date and time of the asynchronous execution instruction work 13 when processing has progressed.
[0058] Furthermore, as an "asynchronous management operation," server device 1 checks whether an execution queue for asynchronous processing execution from a job has been added. If an execution queue has been added, it executes the asynchronous execution operation according to its contents. Also, server device 1 periodically (or irregularly) updates the last update date and time of the asynchronous execution instruction work 13 according to the time interval set in the polling setting master table 11.
[0059] Furthermore, server device 1 constantly monitors all records of asynchronous execution instruction work 13, and if "last updated date and time + set time interval + 1 minute < current date and time", it determines that the asynchronous processing has stopped and updates the status of the corresponding record to "error".
[0060] The system administrator checks the usage status of the Web application system by jobs based on the job execution status worksheet 12 and asynchronous execution instruction worksheet 13 displayed on the usage status monitor device, which is the output device 7, via the output control unit 25. Then, the system administrator forcibly terminates the job or asynchronous process (forced termination flag) depending on the usage status.
[0061] (Behavior for each job startup pattern) (When starting a job from the menu) First, as shown in Figure 3(a), when a job is started from the menu in the client terminal device 51, the control unit of the client terminal device 51 stores and retains a list of jobs currently running in the storage unit of the client terminal device 51, as shown in Figure 3(b). The example in Figure 3(b) shows that the job IDs and unique identifiers (Guids) of jobs A and B started by user 001 are stored in the list of jobs currently running.
[0062] Next, as shown in Figure 4(a), when a job is initiated from the client terminal device 51, the job execution status work storage control unit 21 of the server device 1 adds a record (job execution status information) to the job execution status work 12, as shown in Figure 4(b). The example in Figure 4(b) shows that a record (job execution status information) including the initiation times of jobs A and B by user 001 (May 10, 2024, 15:00 and May 10, 2024, 15:01) is stored in the job execution status work 12.
[0063] Next, as shown in Figure 5(a), the server device 1 updates the last update date and time of the job execution status work record (job execution status information) corresponding to the job started from the client terminal device 51, using the time interval set in the polling setting master table 11 shown in Figure 5(b).
[0064] In other words, the date and time update processing unit 23 of server device 1 refers to the setting value (polling interval) stored in the polling setting master table 11 shown in Figure 5(b). The example in Figure 5(b) is an example where the polling interval is set to "300 seconds". Therefore, the date and time update processing unit 23 updates the last update date and time of the job at a date and time 300 seconds have elapsed from the start date and time (or last update date and time).
[0065] Specifically, in this example, as shown in Figure 5(c), the start date and time of Job A is "May 10, 2024, 15:05", and as shown in Figure 5(e), the polling date and time for Job A is "May 10, 2024, 15:10". In this case, as shown in Figure 5(e), the date and time update processing unit 23 updates the last update date and time of Job A to "May 10, 2024, 15:10", which is the polling date and time.
[0066] Similarly, in this example, as shown in Figure 5(c), the start date and time of job B is "May 10, 2024, 15:01", and as shown in Figure 5(d), the polling date and time for job B is "May 10, 2024, 15:06". Therefore, as shown in Figure 5(d), the date and time update processing unit 23 updates the last update date and time of job B to "May 10, 2024, 15:06", which is the polling date and time.
[0067] In this way, the date and time update processing unit 23 updates the start date and time or the last updated date and time for each job at the set polling interval.
[0068] Next, when the user with user ID "User001" completes job A, the client terminal device 51 detects the completion of the job and notifies the server device 1 (job completion notification), as shown in Figure 6(a). Based on the completion notification from the client terminal device 51, the deletion processing unit 24 of the server device 1 deletes the record of job A (job execution status information) stored in the job execution status worksheet 12, as shown in Figure 6(b).
[0069] Furthermore, the control unit of the client terminal device 51 deletes the record of Job A stored in the running job list (see Figure 3(b)) as shown in Figure 6(c). In other words, when a job is started, the control unit of the client terminal device 51 generates a unique WindowGuid as illustrated in Figure 6(c) and checks whether the job screen that was started remains active. If the job screen has completed successfully, the record is deleted from the job execution status worksheet 12 and also deleted from the running job list.
[0070] (Job status monitoring operation) Next, the control unit 3 of the server device 1 functions as a "liveness confirmation monitoring Exe" as shown in Figure 7(a), and the elapsed time detection unit 22 detects "last update date and time + set polling interval + 1 minute" as the elapsed date and time. The "1 minute" is a margin time, and other desired times such as "2 minutes", "5 minutes", or "30 minutes" may be used.
[0071] The deletion processing unit 24 determines that the job has finished if it detects an elapsed time that is less than or equal to the current time, and deletes the corresponding record (job execution status information) from the job execution status worksheet 12.
[0072] The examples in Figures 7(b) and 7(c) show cases where, by the user "User001", it was determined that Job A had finished, and that Job B was still alive (running) because "Elapsed time < Current time".
[0073] Furthermore, let's assume that a network failure occurs, as shown in Figure 8(a). In this case, let's assume that the last update time of Job B from the previous polling was "May 10, 2024, 15:06", as shown in Figure 8(b).
[0074] The elapsed time detection unit 22 detects the elapsed time by performing the calculation "Last updated time (15:06) + Set polling interval (300 seconds) + 1 minute = 15:12". The deletion processing unit 24 determines that Job B has terminated abnormally if "Last updated time + Set polling interval + 1 minute < Current time". Based on this determination, the deletion processing unit 24 deletes the corresponding record for Job B from the Job Execution Status Worksheet 12, as shown in Figure 8(c).
[0075] In this case, even if the network recovers from the failure, the record for Job B in the Job Execution Status Work 12 is deleted as shown in Figure 9(c). Therefore, the jobs on the client terminal device 51 shown in Figures 9(a) and 9(b) will terminate abnormally, treating Job B as a forced termination.
[0076] (When starting a job directly) Next, as shown in Figures 10(a) and 10(b), suppose that in the client terminal device 51, a job is started directly without going through a menu by specifying the job ID and user ID in the request header information from, for example, groupware of an external system.
[0077] In this case, the job execution status work storage control unit 21 adds a record (job execution status information) to the job execution status work 12, as shown in Figure 10(c). The example in Figure 10(c) shows that a record (job execution status information) including the start time of job C by user 002 (May 10, 2024, 15:00) is stored in the job execution status work 12.
[0078] Next, as shown in Figures 11(a) to 11(e), the server device 1 updates the last update date and time of each record (job execution status information) of the job execution status work 12 at time intervals set by the settings stored in the polling setting master table 11.
[0079] In other words, the date and time update processing unit 23 of the server device 1 refers to the setting value (polling interval) stored in the polling setting master table 11 shown in Figure 11(b). The example in Figure 11(b) is an example where the polling interval is set to "300 seconds". Therefore, the date and time update processing unit 23 updates the last update date and time of the job at a date and time 300 seconds have elapsed from the start date and time (or last update date and time).
[0080] Specifically, in this example, as shown in Figure 11(c), the start date and time of job C is "May 10, 2024, 15:05", and as shown in Figure 11(e), the polling date and time for job C is "May 10, 2024, 15:10". In this case, as shown in Figure 11(e), the date and time update processing unit 23 updates the last update date and time of job C to "May 10, 2024, 15:10", which is the polling date and time.
[0081] In this way, the date and time update processing unit 23 updates the job's start date and time or last updated date and time at the set polling interval.
[0082] Next, as shown in Figures 12(a) and 12(b), suppose a user with the user ID "User002" completes job C. However, since this example is one in which the job was started directly without going through a menu, the deletion processing unit 24 of server device 1 does not delete the record of the completed job C (job execution status information) from the job execution status work 12, as shown in Figure 12(b).
[0083] (Job status monitoring operation) Next, as part of the "job liveness monitoring operation," the server device 1, as shown in Figures 13(a) and 13(b), uses the elapsed time detection unit 22 to detect "last updated date and time + set polling interval + 1 minute" as the elapsed date and time based on the record of job C stored in the job execution status workpiece 12.
[0084] As shown in Figure 13(b), the deletion processing unit 24 determines that Job C is still running (Job C is alive) if the current date and time is less than the elapsed date and time (current date and time < elapsed date and time), and does not delete the record for Job C.
[0085] In response to this, as shown in Figure 13(c), if the current date and time is greater than or equal to the elapsed date and time (current date and time ≥ elapsed date and time), the deletion processing unit 24 determines that job C has terminated abnormally and deletes the record of job C from the job execution status worksheet 12, as shown in Figure 13(d).
[0086] (When launching an asynchronous job from the menu) Next, as shown in Figures 14(a) and 14(b), assume that an asynchronous command execution type job is initiated from the menu on the client terminal device 51.
[0087] In this case, the job execution status work storage control unit 21 of the server device 1 adds a record (job execution status information) to the job execution status work 12, as shown in Figure 14(c). The example in Figure 14(c) shows that a record (job execution status information) including the start time of job D by user 003 (May 10, 2024, 15:01) is stored in the job execution status work 12.
[0088] Next, as shown in Figures 15(a) to 15(e), the server device 1 updates the last update date and time of each record (job execution status information) of the job execution status work 12 at time intervals set by the settings stored in the polling setting master table 11.
[0089] In other words, the date and time update processing unit 23 of server device 1 refers to the setting value (polling interval) stored in the polling setting master table 11 shown in Figure 15(b). The example in Figure 15(b) is an example where the polling interval is set to "300 seconds". Therefore, the date and time update processing unit 23 updates the last update date and time of the job at a date and time 300 seconds have elapsed from the start date and time (or last update date and time).
[0090] Specifically, in this example, as shown in Figure 15(c), the start date and time of job D is "May 10, 2024, 15:01", and as shown in Figure 15(e), the polling date and time for job C is "May 10, 2024, 15:06". In this case, as shown in Figure 15(e), the date and time update processing unit 23 updates the last update date and time of job D to "May 10, 2024, 15:06", which is the polling date and time.
[0091] In this way, the date and time update processing unit 23 updates the start date and time or last update date and time of the job in the job execution status work 12 at the set polling interval.
[0092] Next, as shown in Figure 16(a), in response to a request from the client terminal device 51 to register an asynchronous execution queue (asynchronous execution instruction information) from a job, the asynchronous execution instruction work storage control unit 26 of the server device 1 registers (stores) an asynchronous execution queue (asynchronous execution instruction information) for the asynchronous execution instruction work 13, as shown in Figure 16(c). The example in Figure 16(c) shows an example where the user ID "User003", the job ID "Job D", and the last updated date and time "May 10, 2024, 15:07" are registered as an asynchronous execution queue. Figure 16(b) shows the job execution status information of the previously registered job execution status work 12.
[0093] At this point, the status update processing unit 27 registers the status of the asynchronous execution instruction information as "not executed". The process ID is also left blank.
[0094] Next, the status update processing unit 27 updates the status of the new queue from "Not Executed" to "Executing" according to the contents of the new asynchronous execution queue (asynchronous execution instruction information) for the asynchronous execution instruction work 13, as shown in Figures 17(a) to 17(d). In addition, the asynchronous execution instruction work storage control unit 26 adds its own process ID, such as "1001", to the process ID of the new queue.
[0095] (Last modified date and time update operation (polling operation)) Next, the date and time update processing unit 23 functions as an "asynchronous execution unit," and, at intervals of, for example, "300 seconds" set in the polling setting master table 11 (see Figure 15(b)), it updates the last update date and time of the job execution status information of the job execution status work 12 to the current date and time, as shown in Figures 18(a) to 18(e). At the same time, the date and time update processing unit 23 also updates the last update date and time of the new asynchronous execution queue (asynchronous execution instruction information) of the asynchronous execution instruction work 13 to the current date and time.
[0096] The example in Figure 18(b) → Figure 18(d) shows that the date and time update processing unit 23 updated the last updated date and time of the job execution status information of job execution status work 12, which was "May 10, 2024, 15:06", to the current date and time, "May 10, 2024, 15:11". Similarly, the example in Figure 18(c) → Figure 18(e) shows that the date and time update processing unit 23 updated the last updated date and time of the new asynchronous execution queue (asynchronous execution instruction information) of asynchronous execution instruction work 13, which was "May 10, 2024, 15:07", to the current date and time, "May 10, 2024, 15:12".
[0097] (If the job completes successfully while asynchronous processing is running) Next, if the job completes successfully during asynchronous processing, the deletion processing unit 24 deletes the record of the successfully completed job execution status information in the job execution status worksheet 12, as shown in Figures 19(a) and 19(b). At this time, the deletion processing unit 24 does not delete the asynchronous execution instruction information in the asynchronous execution instruction worksheet 13, as shown in Figure 19(c).
[0098] Next, as shown in Figure 19(d), once the asynchronous processing is complete, the status update processing unit 27 updates the status of the new asynchronous execution queue (asynchronous execution instruction information) for the asynchronous execution instruction work 13 from "In progress (see Figure 19(c))" to "Completed," as shown in Figure 19(e). Additionally, the date and time update processing unit 23 updates the last update date and time of the new asynchronous execution queue (asynchronous execution instruction information) for the asynchronous execution instruction work 13 from "May 10, 2024, 15:12 (see Figure 19(c))" to "May 10, 2024, 15:15," as shown in Figure 19(e).
[0099] If the asynchronous process terminates abnormally, the status update processing unit 27 updates the status of the new asynchronous execution queue (asynchronous execution instruction information) for the asynchronous execution instruction work 13 from "running (see Figure 19(c))" to "error," as shown in Figure 19(f). In addition, the date and time update processing unit 23 updates the last update date and time of the new asynchronous execution queue (asynchronous execution instruction information) for the asynchronous execution instruction work 13 from "May 10, 2024, 15:12 (see Figure 19(c))" to "May 10, 2024, 15:15," as shown in Figure 19(f).
[0100] (If any jobs running at the time of asynchronous processing have finished successfully) Next, we will explain the case where a job that was running when the asynchronous processing finished has completed successfully. In this case, the control unit 3 of the server device 1 functions as an "asynchronous Executor" as shown in Figure 20(a), and the date and time update processing unit 23 updates the last update date and time of the queue for asynchronous execution (asynchronous execution instruction information) of the successfully completed job of the asynchronous execution instruction work 13 from "May 10, 2024, 15:12 (see Figure 19(c))" to "May 10, 2024, 15:15" as shown in Figure 20(c). At the same time, the status update processing unit 27 updates the status of the queue for asynchronous execution (asynchronous execution instruction information) of the successfully completed job of the asynchronous execution instruction work 13 from "running (see Figure 19(c))" to "completed" as shown in Figure 20(c).
[0101] At this point, as shown in the job execution status work 12 in Figure 20(b), the job is in the process of starting.
[0102] Next, as shown in Figure 20(d), suppose a request is received from the client terminal device 51 to register a new queue (asynchronous execution instruction information) for the asynchronous execution of job D. As a result, the asynchronous execution instruction work storage control unit 26 registers the queue (asynchronous execution instruction information) for the asynchronous execution of job D in the asynchronous execution instruction work 13, as shown in Figure 20(f).
[0103] Specifically, as shown in Figure 20(f), the asynchronous execution instruction work storage control unit 26 registers (stores) a new asynchronous execution queue (asynchronous execution instruction information) for the asynchronous execution instruction work 13 as the next record (record with ID 2) after the record of the successfully completed job (record with ID 1). The example in Figure 20(f) shows that "Job D" was registered again at "15:16 on May 10, 2024" by a user with user ID "User003". As mentioned above, at the time of this registration, the status of the asynchronous execution instruction information is registered as "not executed". Also, the process ID is left blank.
[0104] At this point, as shown in the job execution status work 12 in Figure 20(e), the job is still running.
[0105] Next, suppose the newly registered asynchronous execution queue (the second asynchronous execution instruction information) terminates abnormally. In this case, the status update processing unit 27 updates the status of the new asynchronous execution queue (asynchronous execution instruction information) for the asynchronous execution instruction work 13 from "running" to "error," as shown in Figure 20(i). The date and time update processing unit 23 also updates the last update date and time of the new asynchronous execution queue (asynchronous execution instruction information) for the asynchronous execution instruction work 13 to the date and time of the abnormal termination, for example, "May 10, 2024, 15:20."
[0106] At this point, as shown in the job execution status work 12 in Figure 20(h), the job is still running.
[0107] Next, as shown in Figure 20(j), when Job D is terminated by the user with user ID "User003" from the menu of the client terminal device 51, the deletion processing unit 24 deletes the job execution status information of the job execution status work 12, as shown in Figure 20(k).
[0108] (Monitoring operation to confirm the existence of asynchronous execution instruction information) Next, the "asynchronous execution instruction information survival monitoring operation" will be explained using Figures 21(a) to 21(c). The elapsed time detection unit 22 detects the elapsed time as "last updated date and time + set polling interval + 1 minute" based on the asynchronous execution queue (asynchronous execution instruction information) stored in the asynchronous execution instruction work 13. In the example in Figure 21(b), the elapsed time is detected as "last updated date and time (15:12) + set polling interval (300 seconds) + 1 minute (predetermined margin) = 15:18".
[0109] The status update processing unit 27 compares the elapsed time, "15:18," with the current time, for example, "15:17." In this case, since the elapsed time is greater than or equal to the current time, the status update processing unit 27 determines that an asynchronous process is in progress and refrains from executing the status update process described below.
[0110] In contrast, if we compare the elapsed time of "15:18" with the current time, for example, "15:19," the elapsed time will be less than the current time. Therefore, the status update processing unit 27 determines that the asynchronous processing has finished and updates the status of the asynchronous execution instruction information from "running" to "error," as shown in Figure 21(c).
[0111] (Status update behavior based on forced termination flag) Next, when the asynchronous execution instruction work storage control unit 26 stores the asynchronous execution queue (asynchronous execution instruction information) in the asynchronous execution instruction work 13, it adds a "FALSE" forced termination flag to the asynchronous execution queue (asynchronous execution instruction information) by default, as shown in Figures 22(b) and 22(c), to indicate that forced termination has not occurred.
[0112] When the administrator of server device 1 specifies the display of the usage status screen via input device 6, the output control unit 25 displays the usage status screen illustrated in Figure 23 via output device 7. On this usage status screen, the output control unit 25 displays a list of currently running jobs in the job execution status display column, and a list of currently asynchronously running processes in the asynchronous execution status display column.
[0113] The example in Figure 23 shows a case where Job A, with user ID "User001" and last modified at "May 10, 2024, 15:12", and Job B, with user ID "User002" and last modified at "May 10, 2024, 15:12", are listed in the job execution status display column as currently running jobs.
[0114] Furthermore, the example in Figure 23 shows a list of jobs A, with user ID "User001", last updated at "May 10, 2024, 15:12", and status "Running", and job C, with user ID "User002", last updated at "May 10, 2024, 15:12", and status "Not Running", displayed in the asynchronous execution status display column.
[0115] The administrator of server device 1 selects the desired job to be forcibly terminated based on this usage status screen (by checking the checkboxes) and then operates the "Force Terminate Job" button.
[0116] When a desired job is selected and the "Force Terminate Job" button is pressed, the deletion processing unit 24 deletes the selected record from the job execution status information records stored in the job execution status worksheet 12.
[0117] As explained using Figure 8, if the job execution status information record is deleted, the job will be terminated. In other words, the example explained using Figure 8 is an example where a job record is deleted by the deletion processing unit 24 due to a network failure, but similarly, if there is no job execution status information record in the job execution status worksheet 12 that has been designated for forced termination, the job will be terminated.
[0118] Furthermore, the administrator of server device 1 can select the desired asynchronous process to be forcibly terminated based on this usage status screen (by checking the checkboxes) and then operate the "Force Terminate Asynchronous Process" button.
[0119] Based on this usage status screen, for example, if an asynchronous process for job D is selected and the "Force terminate asynchronous process" button is pressed, the asynchronous execution instruction work storage control unit 26 updates the forced termination flag of the asynchronous execution instruction information to "TRUE" to indicate that the asynchronous process has been forcibly terminated, as shown in Figures 22(a) to 22(c).
[0120] In addition, the status update processing unit 27 updates the status of the asynchronous execution instruction information from "running" to "error," as shown in Figure 22(b) → Figure 22(c).
[0121] This allows system administrators to forcibly terminate running jobs or asynchronous processes, leaving the system unused (not being used by anyone), enabling them to manage system maintenance, updates, and other related tasks.
[0122] (Job creation confirmation monitoring operation and asynchronous management operation) Finally, Figure 24 shows the flowchart illustrating the flow of the job production confirmation monitoring operation and the asynchronous management operation in the server device 1 of the embodiment described above. In this flowchart, the processing from steps S1 to S4 corresponds to the job production confirmation monitoring operation, and the processing from steps S6 to S11 corresponds to the asynchronous management operation.
[0123] In this explanation, the control unit 3 will perform job production confirmation monitoring and asynchronous management operations based on the usage status management program stored in the memory unit 2. However, some or all of the operations described below may be performed by hardware. In either case, the same effects as described later can be obtained.
[0124] (Job creation confirmation and monitoring operation) First, in step S1, the elapsed time detection unit 22 determines whether or not a record of job execution status information exists in the job execution status worksheet 12. If no record of job execution status information exists in the job execution status worksheet 12 (step S1: No), the process proceeds to step S4, and it is determined that there is no use of the system by the job.
[0125] If a record of job execution status information exists in the job execution status work 12 (step S1: Yes), the process proceeds to step S2, where the elapsed time detection unit 22 detects the job's elapsed time by performing the calculation "last updated date and time + polling interval + 1 minute". The deletion processing unit 24 also determines whether the current date and time is greater than or equal to the detected elapsed time and time.
[0126] If the current date and time are less than the detected elapsed date and time (Step S2: No), the process returns to Step S1, and the processes of Step S1 and Step S2 are repeated.
[0127] If the current date and time are greater than or equal to the detected elapsed date and time (Step S2: Yes), the process proceeds to Step S3. In Step S3, the deletion processing unit 24 deletes the corresponding job execution status information record from the job execution status worksheet 12. As a result, there are no jobs using the system (Step S4).
[0128] (asynchronous management operation) Next, in step S6, the status update processing unit 27 detects whether the status of the queue for asynchronous execution (asynchronous execution instruction information) of the asynchronous execution instruction work 13 is "running" or "not running". If the status of the queue for asynchronous execution (asynchronous execution instruction information) of the asynchronous execution instruction work 13 is neither "running" nor "not running" (step S6: No), the process proceeds to step S11, and it is determined that there is no use of the system by asynchronous processing.
[0129] In contrast, if the status of the queue for asynchronous execution (asynchronous execution instruction information) for the asynchronous execution instruction work 13 is "running" or "not running" (step S6: Yes), the process proceeds to step S9. In step S9, the asynchronous execution instruction work storage control unit 26 determines whether the forced termination flag for the queue for asynchronous execution (asynchronous execution instruction information) is "TRUE".
[0130] If the forced termination flag for the asynchronous execution queue (asynchronous execution instruction information) is determined to be "TRUE" (step S9: Yes), the process proceeds to step S10. In step S10, the status update processing unit 27 updates the status of the corresponding asynchronous execution queue (asynchronous execution instruction information) from "running" to "error". As a result, there is currently no system usage via asynchronous processing (step S11).
[0131] In contrast, if it is determined that the forced termination flag for the asynchronous execution queue (asynchronous execution instruction information) is not "TRUE" (step S9: No), the process proceeds to step S7. In step S7, the status update processing unit 27 determines whether the status of the corresponding asynchronous execution queue (asynchronous execution instruction information) is "running".
[0132] If the status of the corresponding asynchronous execution queue (asynchronous execution instruction information) is not "running" (step S7: No), the process returns to step S6.
[0133] If the status of the corresponding asynchronous execution queue (asynchronous execution instruction information) is "running" (step S7: Yes), the process proceeds to step S8. In step S8, the elapsed time detection unit 22 calculates the elapsed time by performing the calculation "last updated time + polling time + 1 minute". Then, the time update processing unit 23 determines whether the current time is equal to or greater than the elapsed time.
[0134] If it is determined that the current time is less than the elapsed time (step S8: No), the asynchronous process is "executing" normally, and the process returns to step S7.
[0135] If it is determined that the current time is equal to or greater than the elapsed time (Step S8: Yes), the process proceeds to Step S10. In Step S10, the status update processing unit 27 updates the status of the corresponding asynchronous execution queue (asynchronous execution instruction information) from "running" to "error". As a result, there is currently no use of the system by asynchronous processing (Step S11).
[0136] (Effects of the embodiment) As is clear from the above description, the server device 1 of this embodiment makes it possible to easily grasp the system usage status.
[0137] Furthermore, the system status can be understood by taking into account the status of queues that are currently being registered.
[0138] Furthermore, system administrators can forcibly terminate running jobs or asynchronous processes, leaving the system unused (not being used by anyone), which enables management of system maintenance, updates, and other related tasks.
[0139] [Contribution to the United Nations-led Sustainable Development Goals (SDGs)] This invention can contribute to improving operational efficiency and promoting appropriate management decisions by companies, and therefore can contribute to SDGs Goals 8 and 9.
[0140] Furthermore, this invention can contribute to reducing waste and promoting paperless and electronic processes, thereby contributing to SDGs Goals 12, 13, and 15.
[0141] Furthermore, this invention can contribute to strengthening control and governance, and therefore can contribute to achieving the 16 goals of the SDGs.
[0142] [Other embodiments] The present invention can be implemented in various different forms within the scope of the technical idea described in the claims, even in embodiments other than those described above.
[0143] For example, among the processes described in the embodiments, all or part of the processes described as being performed automatically may be performed manually. Alternatively, all or part of the processes described as being performed manually may be performed automatically by known methods or the like.
[0144] Furthermore, unless otherwise specified, the processing procedures, control procedures, specific names, registration data for each process, information including parameters such as search conditions, screen examples, and database configuration shown in the specification or drawings can be arbitrarily changed.
[0145] Furthermore, with respect to the server device 1, each component shown in the illustration is a functional concept and does not necessarily have to have the physical configuration shown. For example, the processing functions of the server device 1, particularly those performed by the control unit 3, may be implemented in whole or in part by a program interpreted and executed by the control unit 3 (CPU: Central Processing Unit), or by hardware using wired logic.
[0146] The program is recorded on a non-temporary, computer-readable recording medium containing programmed instructions for the information processing device to execute the processes described in the embodiment, and is mechanically read by the server device 1 as needed. In other words, the storage unit 2, such as ROM or HDD, records a computer program that works in cooperation with the OS (Operating System) to give instructions to the control unit 3 (CPU) and perform various processes. This computer program is loaded into RAM, unpacked, and executed by the control unit 3 as appropriate.
[0147] Furthermore, the usage management program for server device 1 may be stored on another server device connected to server device 1 via any network, and all or part of it may be downloaded and executed as needed.
[0148] Furthermore, the usage management program for executing the processes described in the embodiment may be stored on a non-temporary computer-readable recording medium, or it may be configured as a program product.
[0149] Here, any "portable physical medium" can be used as the "recording medium," such as memory cards, USB (Universal Serial Bus) memory, SD (Secure Digital) cards, flexible disks, magneto-optical disks, ROMs, EPROMs (Erasable Programmable Read Only Memory), EEPROMs (Registered Trademark) (Electrically Erasable and Programmable Read Only Memory), CD-ROMs (Compact Disk Read Only Memory), MOs (Magneto-Optical Disks), DVDs (Digital Versatile Disks), and Blu-ray (Registered Trademark) Discs.
[0150] Furthermore, "program" refers to a data processing method written in any language or writing method, regardless of whether it is source code or binary code.
[0151] Furthermore, the term "program" is not necessarily limited to a single, monolithic entity, but also includes those that are distributed as multiple modules or libraries, and those that work in cooperation with other programs, such as an operating system, to achieve their functions.
[0152] Furthermore, for the specific configuration, reading procedure, and post-reading installation procedure for the server device 1 of the embodiment, well-known configurations or procedures can be used.
[0153] The storage unit 2 is a storage means such as a memory device like RAM or ROM, a fixed disk device like a hard disk, a flexible disk, and an optical disk, and stores various programs, tables, databases, and web page files used for various processing or website provision.
[0154] Furthermore, the server device 1 may be composed of a known personal computer device or an information processing device such as a workstation, or it may be composed of an information processing device to which any peripheral devices are connected. In addition, the information processing device may be implemented by implementing software (including programs or data, etc.) that realizes the processing described in the embodiment.
[0155] Furthermore, the specific forms of distribution and integration of the devices are not limited to those shown in the figures, and all or part of them can be configured by functionally or physically distributing or integrating them in any unit according to various additions or functional loads. In other words, the embodiments described above can be selectively implemented by arbitrarily combining the embodiments described above. [Industrial applicability]
[0156] This invention is particularly suitable for managing the usage status of a system that executes jobs asynchronously. [Explanation of Symbols]
[0157] 1 Server device 2 Storage section 3. Control Unit 4. Communication Interface Section 5 Input / Output Interface Section 6 Input devices 7 Output device 11 Polling Settings Master Table 12 Job Execution Status Work 13 Asynchronous execution instruction work 21 Job Execution Status Work Memory Control Unit 22 Elapsed time detection unit 23. Date and Time Update Processing Unit 24 Deletion Processing Unit 25 Output control unit 26 Asynchronous Execution Instruction Work Storage Control Unit 27 Status Update Processing Unit 50 Networks 51 Client terminal device
Claims
1. A server device that executes a job, which is an application program specified by a client terminal device via a network, and returns the execution result to the client terminal device via the network, A job execution status work storage control unit stores job identification information for identifying the job specified by the client terminal device, and job execution status information including the job start date and time or the last update date and time of the start date and time in a job execution status work; A date and time update processing unit that updates the job execution status information stored in the job execution status worksheet to the current date and time at predetermined time intervals, An elapsed time detection unit detects the elapsed time as the time obtained by adding the time corresponding to the predetermined time interval and the time that constitutes the margin to the start date and time of the job or the last update date and time of the job, A deletion processing unit deletes the job execution status information, including the start date and time of the job or the last update date and time of the job for which the elapsed date and time that is less than or equal to the current date and time has been detected, from the job execution status work. An output control unit that outputs the job execution status information of the job execution status work to an output target device, A server device having the following features.
2. When a job for asynchronous processing is specified from the client terminal device, an asynchronous execution instruction work storage control unit stores status information indicating the execution status of the job and asynchronous execution instruction information including the job's start date and time or the last updated date and time of the start date and time in an asynchronous execution instruction work. The system further includes a status update processing unit that updates the status information of the asynchronous execution instruction information to at least "Not Executed" indicating that the job is not being executed, "Executing" indicating that the job is being executed, or "Completed" indicating that the job has finished successfully, depending on the execution status of the job. The output control unit outputs the job execution status information and the asynchronous execution instruction information of the asynchronous execution instruction work to the output target device. The server device according to claim 1, characterized by the following:
3. If the aforementioned job completes successfully, The deletion processing unit deletes the job execution status information corresponding to the job that has completed successfully from the job execution status worksheet. The status update processing unit updates the status information of the asynchronous execution instruction information from the "executing" status information to the "completed" status information. The server device according to claim 2, characterized by the following:
4. If the aforementioned job terminates abnormally, The deletion processing unit shall not delete the job execution status information corresponding to the job that terminated abnormally from the job execution status worksheet. The status update processing unit updates the status information of the asynchronous execution instruction information to "error" status information indicating abnormal termination of the job. The server device according to claim 3, characterized by the following:
5. The elapsed time detection unit detects the elapsed time of the start date and time of the job or the last update date and time of the start date and time stored in the asynchronous execution instruction work, The status update processing unit updates the status information of the asynchronous execution instruction information, which includes the "running" status information, to the "error" status information when the elapsed time detection unit detects that the elapsed time is equal to or greater than a predetermined time. The server device according to claim 4, characterized by the following:
6. The asynchronous execution instruction information includes, by default, a termination flag indicating that the job has not been terminated. If the aforementioned job is terminated, The asynchronous execution instruction work storage control unit updates the forced termination flag information of the asynchronous execution instruction information to forced termination flag information indicating that the job has been terminated. The status update processing unit updates the status information of the asynchronous execution instruction information, which has been updated with a forced termination flag information indicating that the job has been forcibly terminated, to "Error" status information if the status information is "Not executed" or "In progress". The server device according to claim 5, characterized by the following:
7. A method for managing the usage status of a job, which is an application program specified by a client terminal device via a network, and which is executed by a server device that returns the execution result to the client terminal device via the network, wherein the server device executes the job, which is an application program specified by the client terminal device via a network, A job execution status work storage control step involves the job execution status work storage control unit causing the job execution status work to store job identification information for identifying the job specified by the client terminal device, and job execution status information including the job start date and time or the last update date and time of the start date and time in the job execution status work; A date and time update processing unit updates the job execution status information stored in the job execution status workpiece to the current date and time at predetermined time intervals. The elapsed time detection unit detects the elapsed time as the date and time obtained by adding the time corresponding to the predetermined time interval and the time that will be the margin to the start date and time of the job or the last update date and time, A deletion processing step in which the deletion processing unit deletes the job execution status information, including the start date and time or the last update date and time of the job for which the elapsed date and time that is less than or equal to the current date and time has been detected, from the job execution status work; The output control unit performs an output control step in which it outputs the job execution status information of the job execution status work to the output target device, A usage management method that includes the following.
8. A usage management program that causes a server computer to function to execute a job, which is an application program specified by a client terminal device via a network, and to return the execution result to the client terminal device via the network, The aforementioned computer, A job execution status work storage control unit stores job identification information for identifying the job specified by the client terminal device, and job execution status information including the job start date and time or the last update date and time of the start date and time in a job execution status work; A date and time update processing unit that updates the job execution status information stored in the job execution status worksheet to the current date and time at predetermined time intervals, An elapsed time detection unit detects the elapsed time as the time obtained by adding the time corresponding to the predetermined time interval and the time that constitutes the margin to the start date and time of the job or the last update date and time of the job, A deletion processing unit deletes the job execution status information, including the start date and time of the job or the last update date and time of the job for which the elapsed date and time that is less than or equal to the current date and time has been detected, from the job execution status work. An output control unit outputs the job execution status information of the aforementioned job execution status workpiece to the output target device. A usage management program that functions as such.