Device management apparatus and information processing program

The device management apparatus optimizes remote device management by scheduling and executing jobs with precise timing control, addressing inefficiencies in existing systems and enhancing management efficiency.

JP2025158779APending Publication Date: 2025-10-17TOSHIBA TEC KK
View PDF 7 Cites 0 Cited by

Patent Information

Application Number
JP2024061653
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-04-05
Publication Date
2025-10-17

AI Technical Summary

Technical Problem

Existing device management systems lack effective control over communication timing and scheduling for remote management jobs, leading to inefficiencies and potential bottlenecks in managing multiple devices over a network.

Method used

A device management apparatus with an execution unit, registration unit, and scheduling unit that manages device communications by registering jobs with specified processing times and determining optimal transmission and response timings, using a processing time table and list data to schedule and execute jobs efficiently.

Benefits of technology

Enhances the efficiency of remote device management by optimizing communication timing, reducing bottlenecks, and improving the management of multiple devices through precise scheduling and execution of jobs.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025158779000001_ABST
    Figure 2025158779000001_ABST
Patent Text Reader

Abstract

To prevent communication involved in executing jobs for device management from concentrating.SOLUTION: A device management apparatus of an embodiment includes execution means, registration means, and scheduling means. The execution means executes jobs for managing a device, involving sending an instruction to the device via a communication network and receiving a response from the device via the communication network in accordance with the sent instruction. The registration means registers jobs to be executed by the execution means, along with the processing time specified for the jobs. The scheduling means determines, regarding the jobs registered by the registration means, the transmission timing of the instruction associated with the jobs and the reception timing of the response based on a time difference corresponding to the processing time specified for the jobs. The execution means sends the instruction to the device at the transmission timing determined by the scheduling means.SELECTED DRAWING: Figure 15
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to a device management apparatus and an information processing program. [Background technology]

[0002] Remote management via a communication network using a device management apparatus is already being used to quickly respond to failures in devices under management, such as POS equipment. This type of device management apparatus executes jobs that involve communication with the devices in order to manage them. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] Japanese Patent Application Publication No. 2019-101758 Summary of the Invention [Problem to be solved by the invention]

[0004] The problem to be solved by the present invention is to provide a device management apparatus and an information processing program that control communications accompanying the execution of a job for device management. [Means for solving the problem]

[0005] A device management apparatus according to an embodiment includes an execution unit, a registration unit, and a scheduling unit. The execution unit executes a job for managing a device by transmitting instructions to the device via a communication network and receiving a response from the device via the communication network in response to the transmitted instructions. The registration unit registers a job to be executed by the execution unit along with a processing time specified for the job. The scheduling unit determines, for a job registered by the registration unit, the timing for transmitting instructions and the timing for receiving a response associated with the job, with a time difference corresponding to the processing time specified for the job. The execution unit issues instructions to the device at the transmission timing determined by the scheduling unit. [Brief explanation of the drawings]

[0006] [Figure 1] 1 is a block diagram showing a main circuit configuration of a device management apparatus according to an embodiment, and a schematic configuration of a device management system configured using the device management apparatus. [Figure 2] FIG. 10 is a diagram illustrating an example of the contents of a processing time table. [Figure 3] FIG. 2 is a diagram schematically illustrating the data structure of one of the data records included in the list data. [Figure 4] FIG. 2 is a diagram schematically illustrating the data structure of one of the data records included in the history data. [Figure 5] 10 is a flowchart of a system administrator process. [Figure 6] 10 is a flowchart of a system administrator process. [Figure 7] FIG. 10 is a diagram illustrating an example of an upper limit number setting screen. [Figure 8] FIG. 10 is a diagram illustrating an example of a processing time setting screen. [Figure 9] 10 is a flowchart of a device administrator process. [Figure 10] 10 is a flowchart of a device administrator process. [Figure 11] 10 is a flowchart of a device administrator process. [Figure 12] FIG. 10 is a diagram illustrating an example of a registration screen. [Figure 13] FIG. 4 is a diagram schematically showing an example of the contents of list data. [Figure 14] 10 is a flowchart of an execution process. [Figure 15] 10 is a flowchart of a scheduling process. [Figure 16] 10 is a flowchart of a scheduling process. [Figure 17] FIG. 10 is a diagram illustrating an example of an initialized operation table. [Figure 18] FIG. 16 is a diagram showing an example of updating list data from the state shown in FIG. 15. [Figure 19] 19 is a diagram showing the state of the operation table after updating from the state shown in FIG. 17 in response to updating the list data as shown in FIG. 18. [Figure 20] FIG. 10 is a diagram showing the state of list data after update when job number "4" is the target job. [Figure 21] FIG. 10 is a diagram showing the state of the operation table after updating when job number "4" is the target job. [Figure 22] FIG. 10 is a diagram showing the state of list data after update when job number "5" is the target job. [Figure 23] FIG. 10 is a diagram showing the state of the operation table after updating when job number "5" is the target job. [Figure 24] FIG. 10 is a diagram showing the state of list data after update when job number "7" is the target job. [Figure 25] FIG. 10 is a diagram showing the state of the operation table after updating when the job numbered "7" is the target job. [Figure 26] FIG. 10 is a diagram showing the state of list data after updating when job number "10" is the target job. [Figure 27] FIG. 10 is a diagram showing a state of a part of the operation table when job number "11" is determined as the target job. [Figure 28] FIG. 10 is a diagram showing the state of list data after updating when job number "11" is the target job. [Figure 29] FIG. 10 is a diagram illustrating an example of a confirmation screen. [Figure 30] FIG. 10 is a diagram illustrating an example of a processing time change screen. [Figure 31] FIG. 10 is a diagram illustrating an example of a history screen in list format. [Figure 32] FIG. 10 is a diagram illustrating an example of a history screen in a graph format. [Figure 33] FIG. 10 is a diagram illustrating an example of a condition setting screen. DETAILED DESCRIPTION OF THE INVENTION

[0007] An example of an embodiment will be described below with reference to the drawings. FIG. 1 is a block diagram showing the main circuit configuration of a device management apparatus 10 according to this embodiment and the schematic configuration of a device management system 1 configured using the device management apparatus 10. The device management system 1 is configured to enable communication between a device management apparatus 10, multiple devices 20, and multiple administrator terminals 30 via a communication network 2. The communication network 2 may be the Internet, a virtual private network (VPN), a LAN, a public communication network, a mobile communication network, or the like, either alone or in appropriate combination. As an example of the communication network 2, the Internet is used.

[0008] The device management apparatus 10 is an information processing apparatus that executes information processing for remotely managing the device 20 while causing the device 20 to execute a job that involves communication with the device 20 via a communication network 2. The job includes a series of processes that instruct the device 20 to execute various processes for remote management via the communication network and receive responses to these instructions from the device 20 via the communication network 2. In other words, the job is performed with a pair of communications: sending an instruction and receiving a response. By executing the job, the device management apparatus 10 provides a remote management service as a web service for managing the device 20. The device management apparatus 10 is operated, for example, by a service provider that provides the remote management service to users of the device 20. The device management apparatus 10 is realized, for example, as a cloud server that provides the above-mentioned remote management service as a cloud service.

[0009] The device 20 is a device that is subject to management by the device management apparatus 10. The device 20 may be any type of device. For example, the device 20 may be a POS machine installed in a store. The device 20 has a function of executing processing in response to an instruction from the device management apparatus 10 and returning a response to the device management apparatus 10. As an example, a large number of devices 20 installed in a large number of stores are subject to management by the device management apparatus 10.

[0010] The administrator terminal 30 is an information processing device that can access the device management device 10 via the communication network 2. The administrator terminal 30 receives various specifications from an operator of the device management device 10 and notifies the device management device 10 of the specifications via the communication network 2. The operator of the administrator terminal 30 is an administrator (hereinafter referred to as a system administrator) who manages the remote management service provided by the device management device 10. The operator of the administrator terminal 30 is alternatively an administrator (hereinafter referred to as a device administrator) who manages the devices 20. The system administrator is assumed to be, for example, a person who belongs to a business that operates the device management device 10 and provides the remote management service. The device administrator is assumed to be, for example, a person who belongs to a business that provides a service for managing the devices 20 using the remote management service to users of the devices 20.

[0011] The device management apparatus 10 includes a processor 11, a main memory unit 12, an auxiliary memory unit 13, a communication unit 14, and a transmission path 15. The processor 11, the main memory unit 12, the auxiliary memory unit 13, and the communication unit 14 are connected via the transmission path 15.

[0012] The processor 11, the main storage unit 12, and the auxiliary storage unit 13 are connected via a transmission line 15 to form a computer that performs information processing for controlling the device management apparatus 10. The processor 11 corresponds to the central part of the computer. The processor 11 executes information processing for controlling each part to realize various functions of the device management apparatus 10 in accordance with information processing programs such as an operating system and application programs.

[0013] The main memory unit 12 corresponds to the main memory portion of the computer. The main memory unit 12 includes a read-only memory area and a rewritable memory area. The main memory unit 12 stores part of the information processing program in the read-only memory area. The main memory unit 12 may also store data necessary for the processor 11 to execute processes for controlling each part in the read-only memory area or the rewritable memory area. The main memory unit 12 uses the rewritable memory area as a work area for the processor 11.

[0014] The auxiliary storage unit 13 corresponds to the auxiliary storage portion of the computer. The auxiliary storage unit 13 may be, for example, an EEPROM (electric erasable programmable read-only memory), an HDD (hard disk drive), an SSD (solid state drive), or any other well-known storage device. The auxiliary storage unit 13 stores data used by the processor 11 when performing various processes and data generated by the processes performed by the processor 11. The auxiliary storage unit 13 may also store the information processing program. In this embodiment, the auxiliary storage unit 13 stores a management program PRA, which is one of the information processing programs. The management program PRA is an application program that describes various information processing procedures for realizing a remote management service. A portion of the storage area of ​​the auxiliary storage unit 13 is used as an area for storing a processing time table TAA, list data DAA, and history data DAB. The processing time table TAA, list data DAA, and history data DAB will be described later.

[0015] The communication unit 14 executes communication processing for performing data communication via the communication network 2. The communication unit 14 can use, for example, an existing communication device for the Internet. The transmission path 15 includes an address bus, a data bus, and control signal lines, and transmits data and control signals exchanged between the connected components.

[0016] The basic hardware of the device management apparatus 10 may be, for example, a general-purpose server computer. The device management apparatus 10 is generally transferred with the management program PRA stored in the auxiliary storage unit 13. However, the hardware may be transferred separately from the management program PRA without the management program PRA stored in the auxiliary storage unit 13, or with a different version of the same application program stored in the auxiliary storage unit 13. The device management apparatus 10 may be configured by writing the management program PRA to the auxiliary storage unit 13 in response to an operator's operation. The management program PRA may be transferred by recording it on a removable recording medium such as a magnetic disk, magneto-optical disk, optical disk, or semiconductor memory, or by communication via a network.

[0017] FIG. 2 is a diagram showing an example of the contents of the processing time table TAA. The processing time table TAA indicates standard processing time values ​​for each of multiple types of jobs that can be executed for remote management. Here, processing time refers to the estimated time from when an execution instruction for a job is issued to the device 20 until a response based on this execution instruction is received from the device 20. In other words, FIG. 2 shows an example in which jobs such as "status acquisition," "restart," "log acquisition," and "custom command execution" can be executed for remote management. FIG. 2 also shows an example in which the standard processing time for the "status acquisition" job is set to "10 seconds."

[0018] The processing time table TAA is created as appropriate by any creator, such as the designer or administrator, of the device management apparatus 10, and is written to the auxiliary storage unit 13 before the device management apparatus 10 first starts providing the remote management service. Thereafter, the processing time table TAA can be updated as appropriate, as will be described later.

[0019] FIG. 3 is a diagram showing a typical data structure of one of the data records REA included in the list data DAA. The list data DAA is a collection of data records REA associated with jobs registered to be executed. The data records REA include multiple fields in which various data for managing the associated jobs is set.

[0020] A number is set in the field FAA as an identifier for distinguishing the associated job from other registered jobs. In this embodiment, the number is a number representing the order in which the job was registered. A device code is set in the field FAB as an identifier for identifying the device 20 that executes the associated job. All devices 20 that are targets of remote management are assigned a device code in advance so that they can be individually identified.

[0021] A job code is set in the field FAC as an identifier for identifying the type of the associated job. The job code is assigned in advance to identify each of the various jobs whose required times are described in the processing time table TAA. The field FAD is set with the processing time designated as the time required to execute the associated job.

[0022] In the field FAE, an order maintenance setting is set, which indicates whether or not the associated job is to be executed after the previously registered job is completed. Field FAF contains a setting regarding the execution timing of the associated job. In this embodiment, the setting can be set to "immediate" or "specified time" as appropriate. "Immediate" is a setting to execute as soon as possible. "Specified time" is a setting to execute as soon as possible after the specified time.

[0023] The field FAG is set with the scheduled start time frame of the associated job. In this embodiment, the scheduled start time frame is the time frame in which an execution instruction is issued to the device 20 in accordance with the associated job. Note that a time frame is a time period having a width of a predetermined unit time. In this embodiment, the unit time is assumed to be "1 second," and the time frame is defined, for example, as "12:00:00," "12:00:01," or "12:00:02." The unit time may be appropriately defined, for example, by the designer of the device management apparatus 10 or the creator of the management program PRA. The unit time may also be appropriately changed by a system administrator or the like.

[0024] The field FAH is set to the time frame in which the associated job is scheduled to end. In this embodiment, the time frame in which a response from the device 20 to an execution instruction issued in the time frame set in the field FAG is expected is set to the scheduled end time frame. The execution status of the associated job is set in the field FAI. In this embodiment, the execution status of a job is "not executed," "in execution," or "completed." The list data DAA is created by a management process described later, written to the auxiliary storage unit 13, and then updated.

[0025] FIG. 4 is a diagram showing a typical data structure of one of the data records REB included in the history data DAB. The history data DAB is a collection of data records REB associated with each executed job. The data records REB include multiple fields in which various data for managing the execution results of the associated jobs is set.

[0026] The field FBA is set to the number of the associated job. Field FBB contains the device code of the device 20 that is the target of the associated job. The field FBC is set with the required time as the time actually required from the execution instruction to the response associated with the associated job. The field FBD is set to the date on which the associated job was executed. The time when the associated job was executed is set in the field FBE. Field FBF is set to the day of the week on which the associated job was executed. The field FBG is set to the time period in which the associated job is executed. In this embodiment, the time periods are "morning," "afternoon," and "night." The history data DAB is created by a management process described later, written to the auxiliary storage unit 13, and then updated.

[0027] Next, the operation of the device management apparatus 10 configured as above will be described. When the device management apparatus 10 is started in an operational state to provide a remote management service, the processor 11 starts information processing based on the management program PRA (hereinafter referred to as management processing).

[0028] (Responding to access by system administrator) If the system administrator determines that the standard value of the processing time set in the processing time table TAA needs to be reset, or if the system administrator determines that the upper limit number needs to be reset, the system administrator operates one of the administrator terminals 30 to access the system administrator service. The upper limit number is the number of communications allowed per unit time between the device management apparatus 10 and the device 20 in connection with the execution of a job. In this embodiment, it is assumed that, in connection with the execution of one job, communications are performed for an execution instruction from the device management apparatus 10 to the device 20 and a response from the device 20 to the device management apparatus 10 in response to this execution instruction. The communication for the execution instruction and the communication for the response are each considered to be one communication.

[0029] When the device management apparatus 10 receives access from the administrator terminal 30 as described above, the processor 11 starts system administrator processing as part of the management processing. Note that in the following description of the system administrator processing, when the term "administrator terminal 30" is simply used, it refers to the administrator terminal 30 that is the source of the access.

[0030] 5 and 6 are flowcharts of system administrator processing. Note that the various flowcharts described below show characteristic operations in this embodiment, and some operations may not be shown. Furthermore, the contents of the various flowcharts described below are examples, and it is possible to change the order of some operations, omit some operations, or add other operations as appropriate.

[0031] 5, the processor 11 performs authentication processing to determine whether the accessing person is a system administrator. This authentication processing may be a well-known processing for authenticating the accessing person. In ACT12, the processor 11 checks whether the authentication in ACT11 was successful. If the processor 11 cannot confirm the relevant event, it determines NO and proceeds to ACT13.

[0032] As ACT13, the processor 11 performs error processing. This error processing is processing for notifying the accessing user that the system administrator service cannot be provided due to authentication failure. One example of the error processing is processing for instructing the administrator terminal 30 to display a prepared error screen. Once the error processing is completed, the processor 11 ends the system administrator processing.

[0033] If the authentication in ACT11 is successful, the processor 11 determines YES in ACT12 and proceeds to ACT14. As ACT 14, the processor 11 instructs the administrator terminal 30 to display a menu screen. The menu screen is an operation screen for receiving designations regarding a plurality of functions provided by the service for the system administrator.

[0034] In ACT 15, the processor 11 checks whether the setting of the upper limit number has been specified. If the processor 11 cannot confirm the event, it determines NO and proceeds to ACT 16. In ACT 16, the processor 11 checks whether a processing time setting has been specified. If the processor 11 cannot confirm the event, it determines NO and proceeds to ACT 17. In ACT 17, the processor 11 checks whether an end has been specified. If the processor 11 cannot confirm the event, it determines NO and returns to ACT 15. Thus, in ACT15 to ACT17, the processor 11 waits for any of the setting of the upper limit number, the setting of the processing time, and the end to be designated.

[0035] If the system administrator wishes to reset the upper limit number, the system administrator specifies the upper limit number setting by performing a predetermined operation on the menu screen displayed on the administrator terminal 30. If the system administrator wishes to reset the standard value of the processing time, the system administrator specifies the processing time setting by performing a predetermined operation on the menu screen displayed on the administrator terminal 30. If the system administrator wishes to end the use of the service for the system administrator, the system administrator specifies the end by performing a predetermined operation on the menu screen displayed on the administrator terminal 30. In response to these, the administrator terminal 30 notifies the device management apparatus 10 of the system administrator's specification.

[0036] If the processor 11 is notified that an upper limit number setting has been specified, it determines YES in ACT15 and proceeds to ACT18. As ACT 18, the processor 11 instructs the administrator terminal 30 to display an upper limit number setting screen. The upper limit number setting screen is an operation screen for receiving the specification of the upper limit number after the change.

[0037] 7 is a diagram showing an example of an upper limit number setting screen. Note that in the various screens described below, illustrations and descriptions of display objects shown on the screens may be omitted. The upper limit setting screen shown in FIG. 7 includes an area ARAA and buttons BUAA and BUAB. Area ARAA is an area for receiving input of the upper limit. The current upper limit is initially displayed in area ARAA. The administrator terminal 30 changes the upper limit displayed in area ARAA in response to an operation by the system administrator. Button BUAA is a soft key for receiving a command from the system administrator to set the upper limit displayed in area ARAA. Button BUAB is a soft key for receiving a command from the system administrator to cancel the setting of the upper limit.

[0038] The system administrator enters the changed upper limit number in area ARAA, and then performs a predetermined operation on the administrator terminal 30 to specify the setting, such as pressing button BUAA. In response, the administrator terminal 30 notifies the device management apparatus 10 that the setting has been specified, along with notifying the value entered in area ARAA. If the system administrator wishes to cancel the setting of the upper limit number, he or she performs a predetermined operation on the administrator terminal 30 to specify cancellation, such as pressing button BUAB. In response, the administrator terminal 30 notifies the device management apparatus 10 that cancellation has been specified.

[0039] After issuing the display instruction in ACT18 in FIG. 5, the processor 11 proceeds to ACT19. In ACT 19, the processor 11 checks whether the setting of the upper limit number has been specified. If the processor 11 cannot confirm the event, it determines NO and proceeds to ACT 20. In ACT 20, the processor 11 checks whether cancellation has been specified. If the processor 11 cannot confirm the event, it determines NO and returns to ACT 19. Thus, in ACT19 and ACT20, the processor 11 waits for a setting or cancellation to be specified.

[0040] If the processor 11 is notified by the administrator terminal 30 that the setting has been specified as described above, the processor 11 determines YES in ACT19 and proceeds to ACT21. In ACT 21, the processor 11 changes the upper limit number to be applied in the scheduling process described later to the notified upper limit number. The upper limit number is stored in the auxiliary storage unit 13, for example.

[0041] In ACT22, the processor 11 enables the update flag. When the update flag is enabled, it indicates that the execution schedule needs to be updated. The update flag is stored in the main storage unit 12, for example. Then, the processor 11 repeats ACT18 and subsequent steps in the same manner as described above. If the processor 11 is notified that cancellation has been specified, it determines YES in ACT 20 and repeats ACT 14 and subsequent steps in the same manner as described above.

[0042] On the other hand, if the processor 11 is notified that a processing time setting has been specified while in the standby state of ACT15 to ACT17, the processor 11 determines YES in ACT16 and proceeds to ACT31 in FIG. The processor 11 as ACT 31 instructs the administrator terminal 30 to display a processing time setting screen. The processing time setting screen is an operation screen for receiving a specification to change the standard value of the processing time.

[0043] FIG. 8 is a diagram showing an example of the processing time setting screen. The processing time setting screen shown in Fig. 8 includes areas ARBA and ARBB and buttons BUBA and BUBB. Area ARBA is an area for selecting the job type to be changed. Area ARBA initially displays one of the job types for which processing times are set in the processing time table TAA. When the triangle mark displayed in area ARBA is pressed, the administrator terminal 30 displays a pull-down menu for selecting a job type, and the job type selected from this pull-down menu is displayed in area ARBA.

[0044] Area ARBB is an area for receiving input of the standard value of the processing time to be set for the job type represented in area ARBA. Area ARBB initially displays the standard value currently set for the job type represented in area ARBA, that is, the standard value described in processing time table TAA for the job type represented in area ARBA. The administrator terminal 30 then changes the standard value displayed in area ARBB in response to operations by the system administrator. Button BUBA is a soft key for receiving a designation by the system administrator to set the standard value displayed in area ARBB. Button BUBB is a soft key for receiving a designation by the system administrator to cancel the setting of the standard value.

[0045] The system administrator displays the job type to be changed in area ARBA, enters the standard value of the processing time to be set for that job type in area ARBB, and then performs a predetermined operation on the administrator terminal 30 to specify the setting, such as pressing button BUBA. In response, the administrator terminal 30 notifies the device management apparatus 10 that the setting has been specified, along with a notification of the job type selected in area ARBA and the value entered in area ARBB. If the system administrator wishes to cancel the setting of the standard value of the processing time, he or she performs a predetermined operation on the administrator terminal 30 to specify cancellation, such as pressing button BUBB. In response, the administrator terminal 30 notifies the device management apparatus 10 that cancellation has been specified.

[0046] After issuing a display instruction in ACT31 in FIG. 7, the processor 11 proceeds to ACT32. In ACT 32, the processor 11 checks whether the standard time setting has been specified. If the processor 11 cannot confirm the event, it determines NO and proceeds to ACT 33. In ACT 33, the processor 11 checks whether cancellation has been specified. If the processor 11 cannot confirm the event, it determines NO and returns to ACT 32. Thus, the processor 11 waits for a setting or cancellation to be specified as ACT32 and ACT33.

[0047] If the processor 11 is notified by the administrator terminal 30 that the setting has been specified as described above, the processor 11 determines YES in ACT 32 and proceeds to ACT 34. In ACT34, the processor 11 updates the processing time table TAA so that the notified standard value is represented as the standard value of the processing time for the notified job type. Then, the processor 11 returns to the standby state in ACT32 and ACT33. If the processor 11 is notified that cancellation has been specified, it determines YES in ACT 33 and repeats ACT 14 and subsequent steps in FIG. 5 in the same manner as described above. As described above, the upper limit number and the standard value of the processing time for each job type can be set appropriately by the system administrator.

[0048] (Support for access by device administrators) The device administrator operates one of the administrator terminals 30 to access a service for the device administrator. When this access is received, the processor 11 in the device management apparatus 10 starts device administrator processing as part of the management processing. Note that in the following description of the device administrator processing, when the term "administrator terminal 30" is simply used, it refers to the administrator terminal 30 that is the source of the access.

[0049] 9, 10 and 11 are flowcharts of the device administrator process. 9, the processor 11 performs authentication processing to determine whether the accessing person is a device administrator. This authentication processing may be a well-known processing for authenticating the accessing person.

[0050] In ACT42, the processor 11 checks whether the authentication in ACT41 was successful. If the processor 11 cannot confirm the relevant event, it determines NO and proceeds to ACT43. As ACT43, the processor 11 performs error processing. This error processing is processing for notifying the accessing user that the service for the device administrator cannot be provided due to authentication failure. One example of the error processing is processing for instructing the administrator terminal 30 to display a pre-prepared error screen. Once the error processing is completed, the processor 11 ends the device administrator processing.

[0051] If the authentication in ACT41 is successful, the processor 11 determines YES in ACT42 and proceeds to ACT44. The processor 11 as ACT 44 instructs the administrator terminal 30 to display a menu screen. The menu screen is an operation screen for receiving instructions relating to the execution of a plurality of functions provided by the service for the device administrator.

[0052] In ACT 45, the processor 11 checks whether the start of registration has been specified. If the processor 11 cannot confirm the event, it determines NO and proceeds to ACT 46. In ACT46, the processor 11 checks whether confirmation of the schedule has been specified. If the event cannot be confirmed, the processor 11 determines NO and proceeds to ACT47. In ACT 47, the processor 11 checks whether an end has been specified. If the processor 11 cannot confirm the event, it determines NO and returns to ACT 45. Thus, the processor 11 waits for any one of registration start, schedule confirmation, and end to be designated as ACT45 to ACT47.

[0053] If the device administrator wants to start registering jobs to be executed, the device administrator specifies start of registration by a predetermined operation or the like on the menu screen displayed on the administrator terminal 30. If the device administrator wants to check the job execution schedule created by the scheduling process described below, the device administrator specifies schedule check by a predetermined operation or the like on the menu screen displayed on the administrator terminal 30. If the device administrator wants to end use of the service for the device administrator, the device administrator specifies end by a predetermined operation or the like on the menu screen displayed on the administrator terminal 30. The system administrator's specification is notified to the device management apparatus 10.

[0054] If the processor 11 is notified that the start of registration has been designated, it determines YES in ACT45 and proceeds to ACT51 in FIG. As ACT51, the processor 11 instructs the administrator terminal 30 to display a registration screen. The registration screen is an operation screen for receiving designation by the device administrator regarding the content to be registered as a job to be executed.

[0055] FIG. 12 is a diagram showing an example of the registration screen. The registration screen shown in FIG. 12 includes areas ARCA, ARCB, ARCD, and ARCE and buttons BUCA and BUCB. Area ARCA is an area for selecting a device to be the target of a job. Area ARCA shows a list of devices 20 to be managed. Area ArCA also shows check boxes associated with each of the devices 20 shown in the list, for displaying a check mark indicating that the device 20 has been selected. Then, in response to an operation by the device administrator to specify whether to select or not select one of the devices 20 shown in the list, the administrator terminal 30 changes whether to display or hide the check mark in the check box associated with the corresponding device 20.

[0056] Area ARCB is an area for selecting a job type to be executed. Area ARCB initially displays one of multiple job types. When the triangle mark displayed in area ARCB is pressed, the administrator terminal 30 displays a pull-down menu for selecting a job type, and the job type selected from this pull-down menu is displayed in area ARCB.

[0057] Area ARCC is an area for receiving input of the predicted processing time for executing a job of the job type shown in area ARCB. Area ARCC initially displays the standard value of the processing time for the job type shown in area ARCB, i.e., the standard value described in the processing time table TAA for the job type shown in area ARCB. The administrator terminal 30 then changes the processing time displayed in area ARCC in response to an operation by the device administrator.

[0058] Area ARCD is an area for receiving the specification of the execution timing. Area ARCD shows a pair of radio buttons, each associated with "Immediate" and "Specify Date and Time." Area ARCD shows two input fields for inputting the job execution date and execution time, respectively. When one of the radio buttons is pressed, the administrator terminal 30 turns that radio button on and the other radio button off. When the radio button associated with "Specify Date and Time" is on, the administrator terminal 30 inputs the execution date and execution time into the respective input fields in accordance with the device administrator's operation.

[0059] Area ARCE is an area for receiving a designation of whether or not to maintain the job execution order. Area ARCE represents a pair of radio buttons, each corresponding to "Maintain" and "Do not maintain." When one of the radio buttons is pressed, the administrator terminal 30 turns that radio button on and the other radio button off.

[0060] The button BUCA is a soft key for receiving a command from the device administrator to register a job according to the settings in the areas ARCA, ARCB, ARCD, and ARCE. The button BUCB is a soft key for receiving a command from the device administrator to cancel the registration of a job.

[0061] The device administrator sets the conditions for the job to be executed by the device management apparatus 10 on the registration screen. That is, for example, the device administrator checks the checkbox associated with the device to be the target of the job in area ARCA. For example, the device administrator checks the checkbox associated with the device to be executed in area ARCB. For example, if the device administrator predicts that the actual processing time will differ from the standard processing time initially displayed in area ARCC, the device administrator enters the predicted processing time in area ARCC. For example, if the device administrator desires the job to be executed as soon as possible, the device administrator turns on the radio button associated with “Immediate” in area ARCD. For example, if the device administrator desires the job to be executed after a desired date and time, the device administrator turns on the radio button associated with “Specify Date and Time” in area ARCD and enters the desired date and time in the input field. For example, if the device administrator specifies “Immediate” as the execution timing and desires the job to be executed after the completion of the previously registered job, the device administrator turns on the radio button associated with “Keep” in area ARCE. Otherwise, the device administrator turns on the radio button associated with “Do not keep.”

[0062] Then, with the desired settings displayed in each area, the device administrator designates registration by a predetermined operation such as pressing button BUCA. In response, the administrator terminal 30 notifies the device management apparatus 10 that registration has been designated, along with a notification of the settings in each area. If the device administrator wishes to cancel the job registration, the device administrator performs a predetermined operation on the administrator terminal 30 to designate cancellation, such as pressing button BUCB. In response, the administrator terminal 30 notifies the device management apparatus 10 that cancellation has been designated.

[0063] After issuing a display instruction in ACT51 in FIG. 10, the processor 11 proceeds to ACT52. In ACT52, the processor 11 checks whether registration has been specified. If the processor 11 cannot confirm the event, it determines "NO" and proceeds to ACT53. In ACT 53, the processor 11 checks whether a change in processing time has been specified. If the processor 11 cannot confirm the event, it determines NO and proceeds to ACT 54. In ACT 54, the processor 11 checks whether cancellation has been specified. If the processor 11 cannot confirm the event, it determines NO and returns to ACT 52. Thus, in ACT52 to ACT54, the processor 11 waits for a registration, change, or cancellation to be designated.

[0064] If the processor 11 is notified by the administrator terminal 30 that registration has been designated as described above, the processor 11 determines YES in ACT52 and proceeds to ACT55. As ACT55, the processor 11 updates the list data so as to reflect the setting contents notified together with the notification of the registration designation.

[0065] FIG. 13 is a diagram showing an example of the contents of list data DAA. One row in Fig. 13 corresponds to one data record REA. That is, Fig. 13 shows an example of a state in which 11 jobs are registered. The following lists some data records REA and the state of the registration screen on which the data record REA was added to the list data DAA.

[0066] (Data record REA numbered "1") Area ARCA: A check mark is displayed in association with the device whose device code is "DA". Area ARCB: Displays job types with job code "JA". Area ARCC: Displays "10 [minutes]". The radio button associated with area ARCD: "Immediately" is in the on state. Area ARCE: The radio button associated with "Do not maintain" is in the on state.

[0067] (Data record REA numbered "5") Area ARCA: A check mark is displayed in association with the device whose device code is "DC". Area ARCB: Displays job types with the job code "JB". Area ARCC: Displays "5 [minutes]". Area ARCD: The radio button associated with "Specify time" is on, the current date is displayed in the execution date input field, and "12:00:10" is displayed in the execution time input field. Area ARCE: The radio button associated with "Do not maintain" is in the on state. The date shown in the execution date input field is also set in the field FAF of the corresponding data record REA, but is not shown in FIG.

[0068] (Data record REA numbered "8") Area ARCA: A check mark is displayed in association with the device whose device code is "DD". Area ARCB: Displays job types with the job code "JD". Area ARCC: Displays "16 [minutes]". The radio button associated with area ARCD: "Immediately" is in the on state. Area ARCE: The radio button associated with "Maintain" is in the on state. When adding any data record REA to list data DAA, the processor 11 sets fields FAG and FAH blank or a predetermined null value, and sets field FAI to "not executed."

[0069] Thus, by having the processor 11 execute information processing based on the management program PRA, the computer having the processor 11 as its central part can function as a registration means. As ACT56 in FIG. 10, the processor 11 enables the update flag. Then, the processor 11 thereafter repeats ACT51 and subsequent steps in the same manner as described above. If the processor 11 is notified that cancellation has been specified, it determines YES in ACT54 and repeats ACT44 and subsequent steps in Fig. 9 in the same manner as described above. At this time, any changes to settings made on the registration screen up to that point are invalidated.

[0070] (Scheduling and executing registered jobs) The processor 11 executes an execution process for executing a registered job during the management process. The processor 11 executes this execution process, for example, constantly while the remote management service is being provided. FIG. 14 is a flowchart of the execution process.

[0071] In ACT 81, the processor 11 checks whether the update flag is valid. If the processor 11 cannot check the relevant event, it determines NO and proceeds to ACT 82. In ACT 82, the processor 11 checks whether there is a job to be executed. If the processor 11 cannot confirm the relevant event, it determines NO and proceeds to ACT 83. In ACT83, the processor 11 checks whether there is a response from the device 20. If the processor 11 cannot confirm the event, it determines NO and returns to ACT81. Thus, the processor 11 waits in ACT81 to ACT83 until the update flag is enabled, a job to be executed occurs, or a response is received.

[0072] If the update flag is enabled in the system administrator processing or device administrator processing, the processor 11 determines YES in ACT81 and proceeds to ACT84. The processor 11 executes the scheduling process as the ACT 84. Thus, the processor 11 executes information processing based on the management program PRA, so that the computer with the processor 11 as its central part can function as a scheduling means.

[0073] ((Job Scheduling)) 15 and 16 are flowcharts of the scheduling process. As ACT91 in FIG. 15, the processor 11 creates an unexecuted list. The unexecuted list is a list of jobs registered in the list data DAA that have not yet been executed. For example, the processor 11 extracts all data records REA in which "unexecuted" is set in the field FAI from the data records included in the list data DAA, and creates data of the unexecuted list as a collection of these data records REA. The processor 11 stores the data of the created unexecuted list in, for example, the main memory unit 12. However, the data may also be stored in, for example, the auxiliary memory unit 13.

[0074] Thus, if the list data DAA is in the state shown in FIG. 13, the processor 11 will copy all of this list data DAA as data in the unexecuted list. However, as will be described later, jobs are executed sequentially, and the field FAI in the data record REA for a job whose execution has started or completed is set to "in execution" or "executed," so the data in the unexecuted list is created by omitting such data records REA.

[0075] In ACT 92, the processor 11 initializes the calculation table, which is a table for counting the number of transmissions, the number of receptions, and the total number for each time slot. FIG. 17 is a diagram showing an example of an initialized operation table. The calculation table shown in FIG. 17 is an example in which the base time is "12:00:00." The calculation table has columns for recording the number of transmissions, the number of receptions, and the total number for a time frame starting at the base time, in association with that base time. The length of a time frame is measured in units of time, and in this embodiment, the unit time is "1 second." Therefore, in the example of FIG. 17, the calculation table has columns for the time frame from "12:00:00" to just before "12:00:01." In this embodiment, time frames are represented by their start times. In other words, time frames are represented as "12:00:00," "12:00:01," "12:00:02," and so on.

[0076] The processor 11 determines the base time as a time that is later than the time required from the start to the completion of the scheduling process from the current time. For example, the processor 11 determines the base time as the time when a predetermined time long enough to complete the scheduling process has elapsed from the current time. In other words, Figure 17 shows an example in which the processor 11 executes ACT92 in Figure 15 at "11:59:59" if the time is one second.

[0077] In ACT 93, the processor 11 disables the search flag. The search flag is flag data that indicates whether a search related to "date and time specification," which will be described later, is being executed. The search flag is stored in the main storage unit 12, for example. In ACT94, processor 11 determines one of the unselected jobs included in the unexecuted list as the job to be scheduled (hereinafter referred to as the target job). If processor 11 has proceeded from ACT93 to ACT94, it determines the job with the smallest number among the jobs included in the unexecuted list as the target job. If the unexecuted list is in the state shown in Figure 15, processor 11 will determine the job related to data record REA in which field FAA is set to "1" as the target job.

[0078] In ACT95, processor 11 checks whether immediate execution is set for the target job. If, for example, "immediate" is set in field FAF of data record REA (hereinafter referred to as the target record) included in the unexecuted list for the target job, processor 11 determines that immediate execution is set and judges YES, and proceeds to ACT96. "Immediate" is set in field FAF of a data record REA in which field FAA is set to "1." Therefore, if the job associated with that data record REA is the target job, processor 11 will judge YES in ACT95.

[0079] In ACT96, the processor 11 checks whether the setting for the target job requires order maintenance. If, for example, the field FAE of the target record is set to "not required," the processor 11 determines that order maintenance is not required and proceeds to ACT97. The field FAE of the data record REA in which the field FAA is set to "1" is set to "not required." Therefore, if the target job is the job associated with the data record REA, the processor 11 determines "NO" in ACT96.

[0080] In ACT97, the processor 11 sets the first time slot in the operation table (hereinafter referred to as the first slot) as a candidate time slot (hereinafter referred to as the candidate slot) to be assigned as the execution timing of the target job. In ACT98, the processor 11 checks whether the candidate slot can be assigned a job. For example, if the total number of candidate slots shown in the operation table does not exceed the upper limit, the processor 11 determines that the job can be assigned and answers YES. When the processor 11 first proceeds to ACT98, the operation table is in an initialized state, so the processor 11 answers YES. If the processor 11 answers YES in ACT98, it proceeds to ACT99.

[0081] In ACT99, the processor 11 checks whether a time slot for receiving a response from the device 20 can be secured for the job when the job is assigned to the candidate slot. The processor 11 determines YES as a receiving slot can be secured, for example, if the time slot in which the processing time of the target job has elapsed since the candidate slot is not yet displayed in the operation table, or if the relevant time slot is displayed in the operation table but the total number of times displayed in the operation table for the relevant time slot does not exceed the upper limit. When the processor 11 first proceeds to ACT99, the processor 11 determines YES because the time slot in which the processing time of the target job has elapsed since the candidate slot is not yet displayed in the operation table. If the processor 11 determines YES in ACT99, the processor 11 proceeds to ACT111 in FIG. 16.

[0082] In ACT111, the processor 11 updates the list data DAA. For example, the processor 11 sets the start time of the candidate slot in the field FAG of the target record. The processor 11 also sets the start time of the time slot after the processing time of the target job has elapsed from the candidate slot in the field FAH of the target record.

[0083] FIG. 18 is a diagram showing an example of updating the list data DAA from the state shown in FIG. In the example of Figure 18, the field FAG of the data record REA, in which the number "1" is set in the field FAA, has the base time "12:00:00" set, and the processing time "10 seconds" has elapsed since "12:00:00" and "12:00:10" has been set in the field FAH.

[0084] 16, the processor 11 updates the calculation table in ACT112. That is, the processor 11 updates the calculation table so as to record the number of transmissions and the number of receptions related to the time slot to be used for communication accompanying the execution of the job by updating the list data DAA in ACT111.

[0085] FIG. 19 is a diagram showing the state of the operation table after updating from the state shown in FIG. 17 in response to updating the list data DAA as shown in FIG. 18, the time slot "12:00:00" is newly assigned as the time slot for sending instructions (hereinafter referred to as the "sending slot"), and the time slot "12:00:10" is newly assigned as the time slot for receiving responses (hereinafter referred to as the "receiving slot"). Therefore, as shown in FIG. 19, the processor 11 adds each of the time slots from "12:00:01" to "12:00:10" to the calculation table, and sets the number of transmissions and the total number for the time slot "12:00:00" to "1", and also sets the number of receptions and the total number for the time slot "12:00:10" to "1".

[0086] In ACT 113 in Fig. 16, the processor 11 checks whether there is an available time slot at the end of the operation table. If the total number of times related to the time slot at the end of the operation table has not reached the upper limit, the processor 11 determines YES and proceeds to ACT 115. In other words, if the operation table is in the state shown in Fig. 19, for example, the number of times for the last time slot "12:00:10" is "1" and has not reached the upper limit, so the processor 11 proceeds to ACT 115.

[0087] In ACT 115, the processor 11 checks whether the search flag is valid. Since the search flag is not valid as will be described later, the processor 11 determines the answer as NO and proceeds to ACT 116. In ACT 116, the processor 11 sets the candidate slot as the final allocated slot. That is, the final allocated slot is the time slot that was last allocated as a transmission slot.

[0088] In ACT 118, the processor 11 checks whether all jobs included in the unexecuted list have been determined as target jobs. If the unexecuted list contains jobs that have not yet been determined as target jobs, the processor 11 determines the answer as NO and returns to ACT 114 in FIG. 15.

[0089] When the processor 11 returns to ACT 114 in this way, it determines the job with the smallest number among the jobs included in the unexecuted list that have not yet been determined as the target job as the target job. As a result, the processor 11 repeats ACT 115 and subsequent steps while determining the jobs included in the unexecuted list as the target job in order from the lowest number. If the unregistered list is as shown in Figure 13, jobs numbered "2" through "4" all have the same execution timing and order maintenance settings as job numbered "1", so the same processing as described above for job numbered "1" will be repeated.

[0090] FIG. 20 is a diagram showing the state of list data DAA after update when job number "4" is the target job. FIG. 21 is a diagram showing the state of the operation table after updating when job number "4" is the target job. Up to this point, the total number of time slots "12:00:00" has not exceeded the upper limit, so processor 11 assigns this time slot "12:00:00" as the sending slot for jobs numbered "2" through "4." In addition, processor 11 assigns time slot "12:00:05" as the receiving slot for job numbered "2," and time slot "12:00:10" as the receiving slot for jobs numbered "3" and "4."

[0091] As shown in Figure 21, processor 11 updates the calculation table to show the number of transmissions and total number for the time frame "12:00:00" to "4", the number of receptions and total number for the time frame "12:00:05" to "1", and the number of receptions and total number for the time frame "12:00:10" to "3". In this way, for jobs for which the execution timing is set to "immediate" and the order maintenance is set to "not required," the processor 11 assigns as a transmission slot the earliest possible time slot after the base time, provided that the total number of assignments for the transmission slots and reception slots for each time slot does not exceed the upper limit number.

[0092] On the other hand, if the target job is a job for which "time specification" is specified as the execution timing, the processor 11 determines NO in ACT95 and proceeds to ACT101. In ACT101, the processor 11 sets a time slot corresponding to the specified date and time as a candidate slot. For example, if the processor 11 determines that the job numbered "5" is the target job in ACT94 in Fig. 15, the processor 11 proceeds to ACT101 because "time specification" is specified as the execution timing of the job, and sets the time slot "12:00:10" as a candidate slot. In other words, for jobs for which "time specification" is specified as the execution timing, the time slot corresponding to the specified date and time is set as the first time slot in the search for time slots to assign as transmission slots. In ACT 102, the processor 11 sets the search flag to an enabled state, and then executes ACT 98 and subsequent steps in the same manner as described above.

[0093] The time slot "12:00:10" is a candidate slot, and if the operation table is in the state shown in Figure 21, the candidate slot can be allocated as a sending slot. Furthermore, since the processing time of job number "5" is "5 seconds," the time slot in which a response is predicted to be received is "12:00:15," and this time slot can be secured as a receiving slot if the operation table is in the state shown in Figure 21. Thus, the processor 11 determines YES in both ACT98 and ACT99 in Figure 15, proceeds to ACT111 and ACT112 in Figure 16, and updates the list data DAA and the operation table in the same manner as described above.

[0094] FIG. 22 is a diagram showing the state of list data DAA after update when job number "5" is the target job. FIG. 23 is a diagram showing the state of the operation table after updating when job number "5" is the target job. The processor 11 updates the list data DAA and the calculation table to the states shown in FIGS. 22 and 23 so as to reflect the results of assigning the time slot "12:00:10" as the sending slot and "12:00:15" as the receiving slot.

[0095] In this way, when the target job is a job for which "time specification" is specified as the execution timing, the processor 11 makes a determination of YES in ACT 115 in Fig. 16 because the search flag is enabled in ACT 102 in Fig. 15. In this case, the processor 11 proceeds to ACT 117. The processor 11 disables the search flag in ACT 117. Then, the processor 11 performs ACT 118 and subsequent steps in the same manner as described above.

[0096] If the total number of time slots corresponding to the specified time has already reached the upper limit, the processor 11 searches for transmission slots and reception slots to be assigned by sequentially selecting each time slot after the specified time as a candidate slot in ACT103 of Figure 15. In this way, for jobs for which "date and time specification" is set as the execution timing, the processor 11 assigns as a transmission slot the earliest possible time slot after the specified date and time, provided that the total number of assignments as transmission slots and reception slots for each time slot does not exceed the upper limit number.

[0097] As the allocation of transmission slots and reception slots progresses in this manner, there will be time slots whose total number reaches the upper limit. If the total number of candidate slots has reached the upper limit, or if the total number of time slots predicted as reception slots has reached the upper limit, the processor 11 determines NO in ACT98 or ACT99 in Figure 15, and proceeds to ACT103. In ACT 103, the processor 11 updates the candidate frame to the time frame next to the current candidate frame, and then repeats ACT 98 and subsequent steps in the same manner as described above.

[0098] FIG. 24 is a diagram showing the state of list data DAA after update when job number "7" is the target job. FIG. 25 is a diagram showing the state of the operation table after updating when job number "7" is the target job. Since the processor 11 has assigned the time slot "12:00:00" as the transmission slot for job number "6," when job number "7" is the target job, the total number of time slots "12:00:00" has already reached the upper limit as shown in Fig. 25. Therefore, the processor 11 determines "NO" in ACT98 in Fig. 15 and updates the candidate slot to the time slot "12:00:01" in ACT103.

[0099] The time slot "12:00:01" can be assigned as a sending slot, and the time slot "12:00:14", after which "13 seconds" of processing time for job number "7" has elapsed, can be reserved as a receiving slot, so processor 11 assigns the time slots "12:00:01" and "12:00:14" to job number "7" as sending and receiving slots.

[0100] If the order maintenance for the target job is set to "necessary", the processor 11 determines YES in ACT96 in FIG. 15 and proceeds to ACT100. In ACT 100, the processor 11 sets, as a candidate slot, the time slot (hereinafter referred to as the succeeding slot) next to the time slot assigned as the receiving slot to the job as the target job one time ago. Note that the processor 11 may set, as the succeeding slot, a time slot that is a predetermined time, such as a few seconds, after the time slot assigned as the receiving slot to the job as the target job one time ago. Then, the processor 11 then executes ACT98 and subsequent steps in the same manner as described above.

[0101] FIG. 26 is a diagram showing the state of list data DAA after updating when job number "10" is the target job. Since the receiving slot for job number "7" is time slot "12:00:10", processor 11 assigns the succeeding time slot, time slot "12:00:11", as the sending slot for job number "8". Then, as the receiving slot for job number "8", processor 11 assigns time slot "12:00:27", which is the time slot after "16 seconds" of processing time has elapsed.

[0102] Since the receiving slot for job number "8" is time slot "12:00:27," processor 11 assigns the subsequent time slot, time slot "12:00:28," as the sending slot for job number "9." Then, as the receiving slot for job number "9," processor 11 assigns time slot "12:01:28," which is the time slot after "60 seconds" of processing time has elapsed.

[0103] Since the time slot for receiving job number "9" is "12:01:28," processor 11 assigns the subsequent time slot, "12:01:29," as the sending slot for job number "10." Then, as the receiving slot for job number "10," processor 11 assigns the time slot "12:01:34," which is the time slot after "5 seconds" of processing time has elapsed.

[0104] In the above specific example, since allocation is possible for the subsequent slot and a receiving slot can also be secured, when processor 11 proceeds from ACT100 to ACT98 in Fig. 15, it determines YES in both ACT98 and ACT99 and allocates the subsequent slot as a transmitting slot as is. However, if processor 11 determines NO in ACT98 or ACT99 when the subsequent slot is a candidate slot, it changes the candidate slot to the next time slot.

[0105] Thus, for a job for which "immediate" is set as the execution timing and "order maintenance required," the processor 11 allocates the earliest possible time slot after the succeeding slot as a transmission slot, within the range where the total number of allocations of transmission slots and reception slots for each time slot does not exceed the upper limit. In other words, for a job for which "order maintenance required," the processor 11 schedules the job so that an instruction is sent after receiving a response for the previous job.

[0106] FIG. 27 is a diagram showing a part of the operation table when job number "11" is determined as the target job. When the job numbered "11" is the target job, the initial value of the candidate slot is "12:00:00," which corresponds to the specified time. Therefore, the processor 11 determines "NO" for this candidate time in ACT98 in FIG. 15. Then, in ACT103, the processor 11 updates the candidate slot to "12:00:01." Because the total number of times for the time slot "12:00:01" has not reached the upper limit, the processor 11 determines "YES" when returning to ACT118. For the time slot "12:00:10," which is the time slot "12:00:01" after "9 seconds" of processing time has elapsed, the total number has reached the upper limit, so a receiving slot cannot be secured. Therefore, the processor 11 determines "NO" in ACT99 and further updates the candidate slot to "12:00:02" in ACT103. Since the total number of times for both the time slots "12:00:02" and "12:00:11" has not reached the upper limit, processor 11 judges YES in both ACT98 and ACT99 and assigns the time slots "12:00:02" and "12:00:11" to the transmission slot and reception slot.

[0107] FIG. 28 is a diagram showing the state of list data DAA after updating when job number "11" is the target job. In the specific example described above, when the list data DAA is updated to the state shown in Fig. 28, all jobs included in the unexecuted list have been determined as target jobs. Thus, if the processor 11 proceeds to ACT 118 in Fig. 16 in this state where all jobs included in the unexecuted list have been determined as target jobs, the processor 11 determines YES and proceeds to ACT 119. In ACT 119, the processor 11 invalidates the update flag, and with this, the processor 11 ends the current scheduling process and returns to the standby state of ACT 81 to ACT 83 in FIG.

[0108] Note that if the total number of time slots at the end of the calculation table reaches a specified number after allocating sending and receiving slots for one job, it may be impossible to find sending and receiving slots to allocate to the next job by the above process. Therefore, if the processor 11 confirms in ACT 113 in Figure 16 that there are no available time slots at the end, that is, that the total number of relevant time slots has reached the upper limit, it determines NO and proceeds to ACT 114. In ACT 114, the processor 11 adds a new time slot next to the last time slot in the calculation table. Then, the processor 11 performs ACT 115 and subsequent steps as described above.

[0109] In this way, the execution schedule is created so that the total number of sending slots and receiving slots assigned to one time slot does not exceed the upper limit. Therefore, if a job is executed according to the execution schedule as described below, the number of communications per unit time associated with the job will not exceed the upper limit. Thus, by having the processor 11 execute information processing based on the management program PRA, the computer with the processor 11 as its central part can function as control means.

[0110] ((Job execution)) Now, a job that is associated with a data record included in list data DAA, has the time slot to which the current time belongs assigned as its transmission slot, and has an execution status of "not executed" is a job that should be executed at this time.

[0111] 14, the processor 11 searches, for example, for a data record REA included in the list data DAA, in which the time frame to which the current time belongs is set in the field FAG and the execution status set in the field FAI is "not executed." If the corresponding data record REA is found, the processor 11 determines YES and proceeds to ACT85.

[0112] As ACT85, the processor 11 transmits an execution instruction corresponding to the job type identified by the job code set in field FAC of the data record REA found by the above search to the device 20 identified by the device code set in field FAB. Specifically, the processor 11 causes, for example, the communication unit 14 to send predetermined instruction data including the job code to the communication network 2, addressed to the device 20 identified by the device code set in field FAB. If multiple data records REA are found by the above search, the processor 11 sequentially issues execution instructions for each of the multiple data records REA.

[0113] As ACT86, the processor 11 updates the execution status set in the field FAI of the data record REA found by the above search to "running". In ACT87, the processor 11 updates the history data DAB. That is, the processor 11 adds the data record REB associated with the job with the execution instruction performed as described above to the history data DAB. The processor 11 sets the number and device code set in the fields FAA and FAB of the data record REA found by the above search to the fields FBA and FBB of the data record REB added here. The processor 11 leaves the field FBC of the data record REB added here blank or sets a predetermined null value. The processor 11 sets the current date and time to the fields FBD and FBE of the data record REB added here. The processor 11 sets the current day of the week and time zone to the fields FBF and FBG of the data record REB added here. Then, the processor 11 returns to the standby state of ACT81 to ACT83.

[0114] When the instruction data is transmitted to the device 20 via the communication network 2, the device 20 performs a predetermined process according to the job type identified by the job code included in the instruction data. The device 20 then sends response data according to the processing result to the device management apparatus 10 over the communication network 2. For example, if the job type identified by the job code included in the instruction data is "log acquisition," the device 20 reads log data from its internal memory and then sends response data including the read log data. The device 20 also includes the job code of the executed job in the response data.

[0115] When this response data is transmitted to the device management apparatus 10 via the communication network 2, it is received by the communication unit 14 in the device management apparatus 10. Then, in response to the response data being received by the communication unit 14 in this manner, the processor 11 determines YES in ACT83 as a response has been received, and proceeds to ACT88. The processor 11 executes processing according to the response data as the ACT 88. For example, if the response data includes log data, the processor 11 stores the log data in the auxiliary storage unit 13.

[0116] In ACT89, the processor 11 searches the list data DAA for the data record REA that was the target of the response. That is, the processor 11 searches for a data record REA in which the device code of the device that sent the response data is set in field FAB and the job code included in the response data is set in field FAC. The processor 11 then updates the execution status set in field FAI of the corresponding data record REA to "executed." In ACT90, processor 11 updates the history data DAB. That is, processor 11 sets the time required for the current response in field FBC of data record REB associated with the job that has been executed as described above. For example, processor 11 searches the history data DAB for a data record REB whose field FBA has the same number as the number set in field FAA of the data record REA found in ACT89. Next, processor 11 calculates, for example, the elapsed time from the date and time represented by the execution date and time set in fields FBD and FBE of the corresponding data record REB to the present. Then, processor 11 sets, for example, the calculated elapsed time as the required time in field FBC of the corresponding data record REB. Thus, by processor 11 executing information processing based on the management program PRA, a computer with processor 11 as its core can function as a determination means. Then, the processor 11 returns to the standby state of ACT81 to ACT83.

[0117] Thus, the processor 11 executes the registered jobs in accordance with the schedule determined by the scheduling process and expressed in the list data DAA. Thus, the processor 11 executes information processing based on the management program PRA, so that the computer with the processor 11 as its central part can function as an execution means.

[0118] (Checking the scheduling results) If the device administrator wants to check the execution schedule of a job that he or she has registered, the device administrator performs a predetermined operation to specify "check schedule" on the menu screen displayed on the administrator terminal 30 when accessing a service for the device administrator. In response, the administrator terminal 30 notifies the device management apparatus 10 that "check schedule" has been specified.

[0119] In response to the above notification, the processor 11 determines YES in ACT46 in FIG. 9 and proceeds to ACT48. The processor 11 as the ACT 48 creates a confirmation screen based on the list data DAA, and instructs the manager terminal 30 to display this confirmation screen. The confirmation screen is a screen that allows the device manager to confirm the job execution schedule.

[0120] FIG. 29 is a diagram showing an example of the confirmation screen. The confirmation screen shown in FIG. 29 includes an area ARDA and a button BUDA. Area ARDA represents the execution schedule of jobs that have not yet been executed. The content displayed in area ARDA in Fig. 29 is an example when list data DAA is in the state shown in Fig. 28. Button BUDA is a soft key that the operator uses to terminate the display of the confirmation screen and return to the state in which the menu screen is displayed.

[0121] When the device administrator has finished checking the execution schedule on the confirmation screen, the device administrator performs a predetermined operation to specify the end of the check, such as pressing a button BUDA, on the administrator terminal 30. In response, the administrator terminal 30 notifies the device management apparatus 10 that the end of the check has been specified.

[0122] After issuing the display instruction in ACT48 in FIG. 9, the processor 11 proceeds to ACT49. In ACT 49, the processor 11 waits for the end of confirmation to be specified. If the processor 11 is notified that the end of confirmation has been specified as described above, it determines YES and repeats ACT 44 and the following steps in the same manner as described above.

[0123] As described above, the device management apparatus 10 controls the execution of jobs so that the amount of communication traffic stays within an allowable range by executing the jobs according to an execution schedule that is determined so that the number of communications with the device 20 associated with the execution of the jobs does not exceed the upper limit per unit time. This makes it possible to keep the amount of communication traffic associated with the execution of jobs for managing the device 20 within a limited communication capacity. In other words, the device management apparatus 10 counts the number of communications (number of transmissions + number of receptions) for each time slot, anticipating that a response will occur after a specified processing time has elapsed since the execution command was issued, and can schedule the count so that this does not exceed the upper limit. Additionally, when a large number of jobs are executed at the same time, the amount of communication between the device management apparatus and the devices increases, so it is necessary to ensure that the communication network has sufficient available communication capacity to handle this. In response to this situation, the device management apparatus 10 according to this embodiment can keep the amount of communication required for executing jobs for device management within a limited communication capacity.

[0124] (Change the processing time applied to the job you are registering) The time required from an execution instruction to a response can vary depending on various circumstances, even for the same job type. Therefore, the standard processing time value set in the processing time table TAA is not necessarily appropriate as the processing time applied to a job registered in the list data DAA. Therefore, the device administrator can appropriately change the processing time applied to a job registered in the list data DAA (hereinafter referred to as the application time). If the device administrator wants to apply a processing time different from the standard value, the device administrator can specify the change in processing time by a predetermined operation, such as clicking or tapping within area ARCC on the registration screen shown in FIG. 12. In response, the administrator terminal 30 notifies the device management apparatus 10 that the change has been specified.

[0125] If the processor 11 is notified by the administrator terminal 30 that a change has been designated as described above, the processor 11 determines YES in ACT53 in FIG. 10 and proceeds to ACT57. As ACT 57, the processor 11 instructs the administrator terminal 30 to display a processing time change screen. The processing time change screen is an operation screen for receiving the specification of the processing time after the change.

[0126] FIG. 30 is a diagram showing an example of the processing time change screen. The processing time change screen includes an area AREA and buttons BUEA, BUEB, and BUEC. Area AREA is an area for receiving the specification of the applicable time by the device administrator. Area AREA represents a pair of radio buttons, each associated with "standard time" and "custom setting." When one of the radio buttons is pressed, the administrator terminal 30 turns that radio button on and the other radio button off. Area AREA represents an input field associated with "custom setting." When the radio button associated with "custom setting" is on, the administrator terminal 30 inputs a numerical value into the input field in accordance with the device administrator's operation.

[0127] The button BUEA is a soft key for receiving a command from the device administrator to set the processing time specified in the area AREA as the application time. The button BUEB is a soft key for receiving a command from the device administrator to cancel the change in the application time. The button BUEC is a soft key for receiving a command from the device administrator to check the job execution history.

[0128] After issuing the display instruction in ACT57 in FIG. 10, the processor 11 proceeds to ACT58. In ACT 58, the processor 11 checks whether history confirmation has been specified. If the processor 11 cannot confirm the relevant event, it determines NO and proceeds to ACT 59. In ACT 59, the processor 11 checks whether the setting has been specified. If the processor 11 cannot confirm the event, it determines "NO" and proceeds to ACT 60. In ACT 60, the processor 11 checks whether cancellation has been specified. If the processor 11 cannot confirm the event, it determines "NO" and returns to ACT 58. Thus, in ACT58 to ACT60, the processor 11 waits for history confirmation, setting, or cancellation to be designated.

[0129] The device administrator turns on the radio button associated with "Optional Setting" and then enters the value they want to use as the application time in the input field. At this time, if the device administrator wants to check the history of jobs that have already been executed in order to determine the value to be set as the application time, they specify "Check History" by a predetermined operation such as pressing the button BUEC. In response, the administrator terminal 30 notifies the device management apparatus 10 that "Check History" has been specified.

[0130] If the processor 11 is notified by the administrator terminal 30 that history confirmation has been specified as described above, the processor 11 determines YES in ACT59 and proceeds to ACT61. The processor 11 as ACT61 instructs the administrator terminal 30 to display a history screen. The history screen is a screen that displays the history of job execution.

[0131] FIG. 31 is a diagram showing an example of a history screen in list format. The list-format history screen shown in FIG. 31 includes an area ARFA and buttons BUFA, BUFB, and BUFC. Area ARFA shows a list of the execution status of jobs that have been executed. The list shows the job type, device, date, time, required time, deviation rate, time difference, and standard time for one executed job, arranged in columns 1 to 8 of one line.

[0132] The processor 11 creates one row of the list based on one of the data records REB included in the history data DAB and the data record REA in which the same number as the number set in field FBA of that data record REB is set in field FAA. For example, the processor 11 displays in the first column the name of the job type identified by the job code set in field FAC of the corresponding data record REB. For example, the processor 11 displays in the second column the device code set in field FBB of the corresponding data record REB. For example, the processor 11 displays in the third column the date set in field FBD of the corresponding data record REB. For example, the processor 11 displays in the fourth column the time set in field FBE of the corresponding data record REB. For example, the processor 11 displays in the fifth column the required time set in field FBC of the corresponding data record REB. For example, processor 11 displays the deviation rate between the processing time set in field FAD of the corresponding data record REA and the required time set in field FBC of the corresponding data record REB in column 6. For example, processor 11 displays the time difference between the processing time set in field FAD of the corresponding data record REA and the required time set in field FBC of the corresponding data record REB in column 7. For example, processor 11 displays the processing time set in field FAD of the corresponding data record REA in column 8.

[0133] The button BUFA is a soft key for receiving a command from the device administrator to display a graph-format history screen (described later). The button BUFB is a soft key for receiving a command from the device administrator to execute a calculation process for a recommended time (described later). The button BUFC is a soft key for receiving a command from the device administrator to end the display of the history screen.

[0134] FIG. 32 is a diagram showing an example of a history screen in graph format. The graph-format history screen shown in FIG. 32 includes an area ARGA and buttons BUGA, BUGB, and BUGC. Area ARGA shows a graph in which the deviation rates shown in the sixth column of the list shown in area ARFA on the list-format history screen are aggregated for each job type.

[0135] The button BUGA is a soft key for receiving a command from the device administrator to display a list-format history screen. The button BUGB is a soft key for receiving a command from the device administrator to execute the calculation process for the recommended time, which will be described later. The button BUGC is a soft key for receiving a command from the device administrator to end the display of the history screen.

[0136] If a display switch is specified by a predetermined operation such as pressing button BUFA while the list-format history screen is displayed, the administrator terminal 30 changes the display to a graph-format history screen. Also, if a display switch is specified by a predetermined operation such as pressing button BUGA while the graph-format history screen is displayed, the administrator terminal 30 changes the display to a list-format history screen. Thus, the device administrator can check the deviation between the application time and the actual required time for a job that has already been executed while appropriately checking the list-format history screen and the graph-format history screen.

[0137] Once the device administrator has determined the application time based on the history screen, the device administrator specifies that the display of the history screen should be terminated by a predetermined operation, such as pressing button BUFC or button BUGC. If the device administrator wishes to have a recommended time presented as the application time, the device administrator specifies that the recommended time should be calculated by a predetermined operation, such as pressing button BUFB or button BUGB. In response to this, the administrator terminal 30 notifies the device management apparatus 10 that the display termination has been specified or that the calculation of the recommended time has been specified.

[0138] After issuing the display instruction in ACT61 in FIG. 10, the processor 11 proceeds to ACT71 in FIG. In ACT 71, the processor 11 checks whether calculation of the recommended time has been specified. If the processor 11 cannot confirm the event, it determines NO and proceeds to ACT 72. In ACT 72, the processor 11 checks whether the end of display has been specified. If the processor 11 cannot confirm the event, it determines NO and returns to ACT 71. Thus, in ACT71 and ACT72, the processor 11 waits for a command to calculate the recommended time or to end the display.

[0139] Then, if the processor 11 is notified by the administrator terminal 30 as described above that the display termination has been specified, the processor 11 determines YES in ACT72 and proceeds to ACT73. In ACT73, the processor 11 instructs the administrator terminal 30 to display a processing time change screen. However, the processor 11 makes the processing time change screen displayed thereby the same screen as that displayed on the administrator terminal 30 before the history screen was displayed on the administrator terminal 30 in response to the instruction in ACT61 in Fig. 10. In other words, the processor 11 returns the display on the administrator terminal 30 to the state before the history screen was displayed. Then, the processor 11 then returns to the standby state of ACT58 to ACT60.

[0140] On the other hand, if the processor 11 is notified by the administrator terminal 30 as described above that calculation of the recommended time has been designated, the processor 11 determines YES in ACT71 and proceeds to ACT74. The processor 11 as ACT 74 instructs the administrator terminal 30 to display a condition setting screen. The condition setting screen is an operation screen for setting conditions for calculating the recommended time.

[0141] FIG. 33 is a diagram showing an example of the condition setting screen. The condition setting screen shown in FIG. 33 includes check boxes CBHA, areas ARHA and ARHB, and buttons BUHA and BUHB. The check box CBHA receives a designation as to whether or not the conditions changed on the condition setting screen need to be saved, and indicates the designation status.

[0142] Area ARHA receives a designation as to which data to use for calculating the recommended time and indicates the status of that designation. Area ARHA represents check boxes associated with "same device information," "same day of the week," and "same time period." The check box associated with "same device information" receives a designation as to whether or not to use the execution results of past jobs for the same device as the device being registered for calculating the recommended time and indicates the status of that designation. The check box associated with "same day of the week" receives a designation as to whether or not to use the execution results of past jobs executed on the same day of the week as the execution date of the job being registered for calculating the recommended time and indicates the status of that designation. The check box associated with "same time period" receives a designation as to whether or not to use the execution results of past jobs executed in the same time period as the time period during which the job being registered is executed for calculating the recommended time and indicates the status of that designation.

[0143] Area ARHB receives a designation of the calculation method for the recommended time and indicates the designation status. Area ARHB represents a group of radio buttons, each associated with "average value," "final value," and "median value," and a checkbox associated with "exclude outliers." When one of the radio buttons is pressed, the administrator terminal 30 turns that radio button on and the other two radio buttons off. The checkbox associated with "exclude outliers" receives a designation of whether or not to exclude outliers from the data used to calculate the recommended time and indicates the designation status. For example, an outlier is defined as a value that is more than three times the median of the required time to be used to calculate the recommended time. However, the specific value that is defined as an outlier may be determined as appropriate, for example, by the creator of the management program PRA.

[0144] The button BUHA is a soft key for receiving a command from the device administrator to execute the calculation process for the recommended time according to the settings on the condition setting screen. The button BUHB is a soft key for receiving a command from the device administrator to cancel the calculation of the recommended time.

[0145] The device administrator sets the conditions for calculating the recommended time on the condition setting screen as appropriate. The condition setting screen shown in Fig. 33 is an example of a situation where the execution results of past jobs executed on the same day of the week and in the same time period as the execution date of the job to be registered are used to calculate the recommended time, and the recommended time is calculated as the average of all the required times for those jobs.

[0146] If the device administrator decides to execute the calculation process for the recommended time in accordance with the settings on the condition setting screen, the device administrator specifies execution by a predetermined operation, such as pressing button BUHA. If the device administrator decides to cancel the calculation of the recommended time, the device administrator specifies cancellation by a predetermined operation, such as pressing button BUHB. In response to this, the administrator terminal 30 notifies the device management apparatus 10 that execution has been specified or that cancellation has been specified. When notifying the device management apparatus 10 that execution has been specified, the administrator terminal 30 notifies the device management apparatus 10 of the settings made on the condition setting screen.

[0147] After issuing the display instruction in ACT74 in FIG. 11, the processor 11 proceeds to ACT75. In ACT 75, the processor 11 checks whether execution has been specified. If the processor 11 cannot confirm the event, it determines NO and proceeds to ACT 76. In ACT 76, the processor 11 checks whether cancellation has been specified. If the processor 11 cannot confirm the event, it determines NO and returns to ACT 75. Thus, in ACT75 and ACT76, the processor 11 waits for execution or cancellation to be specified.

[0148] Then, when the processor 11 is notified by the administrator terminal 30 that cancellation has been designated as described above, it returns to ACT71 and repeats the subsequent steps in the same manner as described above. On the other hand, if the processor 11 is notified by the administrator terminal 30 that execution has been designated as described above, the processor 11 determines YES in ACT75 and proceeds to ACT77. In ACT 77, the processor 11 checks whether the conditions need to be saved. If the settings notified from the administrator terminal 30 require saving, the processor 11 determines YES and proceeds to ACT 78.

[0149] In ACT78, the processor 11 stores condition data representing the calculation conditions included in the setting contents notified from the administrator terminal 30, for example, in the auxiliary storage unit 13. If condition data has already been saved by executing ACT78 when registering a previous job, the processor 11 overwrites the saved condition data with the new condition data. Note that when the processor 11 executes ACT74 when registering another job in a case where the condition data has been saved in the auxiliary storage unit 13 in this way, it instructs the display of a condition setting screen showing the setting status according to the conditions represented by the saved condition data. In other words, if the device administrator intends to repeatedly use the saved conditions in the future, he or she can simply confirm the conditions displayed on the condition setting screen and instruct execution.

[0150] After completing ACT 78, the processor 11 proceeds to ACT 79. If the setting contents notified from the administrator terminal 30 do not require saving, the processor 11 determines NO in ACT 77, skips ACT 78, and proceeds to ACT 79. In ACT79, processor 11 calculates a recommended time according to the conditions specified in the settings notified by administrator terminal 30. Processor 11 extracts data records REB associated with jobs recorded in history data DAB that have the same job type as the job being registered and that meet the conditions specified in the settings notified by administrator terminal 30. Processor 11 then calculates a recommended time for the required times set in fields FBC of the extracted data records REB according to the calculation method notified by administrator terminal 30. For example, if a change is specified on the registration screen shown in FIG. 12 and the conditions specified on the condition setting screen shown in FIG. 33 are notified, processor 11 calculates the recommended time as the average required time recorded in history data DAB for jobs with a job type of "restart" that have been executed on the same day of the week and during the same time period as the execution timing of the job being registered. Here, processor 11 determines the recommended time by calculation. Thus, by having the processor 11 execute information processing based on the management program PRA, the computer having the processor 11 as its central part can function as a determination means. Note that the recommended time may be determined by processing other than calculation, such as by referring to table data.

[0151] In ACT80, processor 11 instructs administrator terminal 30 to display a processing time change screen showing the calculated recommended time in the input field shown in area AREA in FIG. 30. If processor 11 is unable to calculate the recommended time in ACT79 for some reason, such as not finding any jobs that match the conditions, processor 11 displays, for example, a standard value described in processing time table TAA in the input field shown in area AREA. If processor 11 is unable to calculate the recommended time in ACT79, processor 11 may display, in the input field shown in area AREA on the processing time change screen displayed on administrator terminal 30 at the time of instructing display of the history screen in ACT61 in FIG. 10, the applicable time displayed in the input field shown in area AREA on the processing time change screen displayed in ACT80. Alternatively, if processor 11 is unable to calculate the recommended time in ACT79, processor 11 may instruct administrator terminal 30 to display a screen informing the administrator that the recommended time could not be calculated. Then, the processor 11 thereafter returns to the standby state of ACT58 to ACT60 in FIG.

[0152] If the processor 11 is notified that a setting has been specified from the administrator terminal 30 that is displaying the processing time change screen, the processor 11 determines YES in ACT59 and proceeds to ACT62. In ACT62, the processor 11 instructs the administrator terminal 30 to display a registration screen. If the radio button associated with "Standard Time" in the area AREA in FIG. 30 is turned on, the processor 11 displays the standard value displayed in the processing time table TAA in the area ARCC in FIG. 12 on the registration screen. If the radio button associated with "Optional Setting" in the area AREA in FIG. 30 is turned on, the processor 11 displays the time displayed in the input field in the area AREA in FIG. 30 in the area ARCC in FIG. 12 on the registration screen. Thus, if the device administrator inputs an arbitrary time in the area ARCC on the processing time change screen, that time is displayed in the area AREA on the registration screen. If the recommended time is displayed in the area ARCC, that time is displayed in the area AREA on the registration screen. The processor 11 then returns to the standby state of ACT52 to ACT54 in FIG. 10. In this way, the processing time designated by the device administrator through the operation on the processing time change screen is set as the application time.

[0153] On the other hand, if the processor 11 is notified that cancellation has been designated from the administrator terminal 30 that is displaying the processing time change screen, the processor 11 determines YES in ACT60 and proceeds to ACT63. In ACT 63, the processor 11 instructs the administrator terminal 30 to display a registration screen. The registration screen displayed by the processor 11 here is the same as the screen that was displayed on the administrator terminal 30 when the processor 11 instructed the administrator terminal 30 to display the processing time change screen in ACT 57. Then, the processor 11 then returns to the standby state of ACT 52 to ACT 54 in FIG. 10. In this case, the operation by the device administrator on the processing time change screen is invalid.

[0154] As described above, the device management apparatus 10 sets a schedule for issuing execution instructions in consideration of the timing at which a response from the device 20 is received after a specified processing time has elapsed since issuing an execution instruction associated with a job to the device 20, and issues the execution instructions according to this schedule. This makes it possible to prevent communication congestion associated with the execution of jobs for device management. In particular, when referring to the actual processing times of past jobs to automatically calculate the recommended time, if the deviation rate of these processing times is large, the above-mentioned processing can appropriately control communication associated with job execution. Additionally, communication associated with a job includes sending execution instructions to a device and receiving responses to the execution instructions from the device. Therefore, if jobs to be executed are executed unplanned, there is a risk that the sending of execution instructions and the receiving of responses will be concentrated in a short period of time. In response to this situation, the device management apparatus 10 according to this embodiment can prevent communication associated with the execution of jobs for device management from concentrating.

[0155] The device management apparatus 10 also records the actual time required from issuing an execution instruction to receiving a response as a history, and calculates and presents to the device administrator a recommended time to specify as the processing time, taking this required time into consideration. This allows the device administrator to easily specify a processing time based on past performance.

[0156] Furthermore, the device management apparatus 10 calculates the recommended time based on conditions specified by the device administrator, and therefore can present the device administrator with a recommended time that meets the needs of the device administrator.

[0157] This embodiment can be modified in various ways as follows. Some or all of the functions realized by the processor 11 through information processing can be realized by hardware that executes information processing not based on a program, such as a logic circuit, etc. Each of the above functions can also be realized by combining the above hardware, such as the logic circuit, with software control.

[0158] Although several embodiments of the present invention have been described, these embodiments are presented as examples and are not intended to limit the scope of the invention. These novel embodiments can be embodied in various other forms, and various omissions, substitutions, and modifications can be made without departing from the spirit of the invention. These embodiments and their modifications are included within the scope and spirit of the invention, and are also included in the scope of the invention and its equivalents as defined in the claims. [Explanation of symbols]

[0159] 1...device management system, 2...communication network, 10...device management apparatus, 11...processor, 12...main memory unit, 13...auxiliary memory unit, 14...communication unit, 15...transmission path, 20...device, 30...administrator terminal

Claims

1. an execution means for executing a job for managing a device by transmitting an instruction to the device via a communication network and receiving a response from the device via the communication network in response to the transmitted instruction; a registration means for registering a job to be executed by the execution means together with a processing time designated for the job; a scheduling means for determining, for a job registered by the registration means, the timing of sending instructions and the timing of receiving responses associated with the job with a time difference corresponding to a processing time designated for the job; Equipped with the execution means issues an instruction to the device at the transmission timing determined by the scheduling means. Device management equipment.

2. a determination means for determining the elapsed time from when the execution means transmits an instruction at the transmission timing determined by the scheduling means until when the execution means receives a response from the device in response to the instruction; a determining unit that determines a recommended processing time for a job to be newly registered by the registering unit based on the elapsed times determined by the determining unit for a plurality of jobs; The device management apparatus according to claim 1 , comprising:

3. the determining means determines the recommended time in accordance with a specified condition from among a plurality of conditions; The device management apparatus according to claim 2 .

4. the determining means determines a recommended time for one type of job among a plurality of job types based on the elapsed time determined by the determining means for the same job type; The device management apparatus according to claim 2 .

5. the scheduling means allocates the two time slots as the transmission timing and the reception timing when the total number of jobs already allocated as the transmission timing and the reception timing does not reach the upper limit for either a time slot that meets a predetermined condition among the time slots that can be allocated as the transmission timing or a time slot after which the processing time has elapsed from the time slot; The device management apparatus according to claim 1 .

6. a computer that controls a device management apparatus that has a communication means for communicating via a communication network; an execution means for executing a job for managing a device by transmitting an instruction to the device via a communication network by the communication means and receiving a response from the device via the communication network in response to the transmitted instruction by the communication means; a registration means for registering a job to be executed by the execution means together with a processing time designated for the job; a scheduling means for determining, for a job registered by the registration means, the timing of sending instructions and the timing of receiving responses associated with the job with a time difference corresponding to a processing time designated for the job; An information processing program that makes it function as such.

Citation Information

Patent Citations

  • Remote information collecting apparatus and program

    JP2012205278A

  • Power management device and communication control method

    JP2016010196A

  • Communication event processing device, communication event processing program and communication event processing method

    JP2017220046A

  • Data collection device and data collection method

    JP2019079268A

  • Remote information collecting device and computer readable medium

    US20120254350A1