Remote diagnostic system, remote diagnostic method, and computer program

The remote diagnostic system optimizes diagnostic operations in image forming apparatuses by storing and reusing diagnostic results, reducing unnecessary processing and maintaining functionality.

JP2026089200APending Publication Date: 2026-06-01CANON KK

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
CANON KK
Filing Date
2024-11-20
Publication Date
2026-06-01

Smart Images

  • Figure 2026089200000001_ABST
    Figure 2026089200000001_ABST
Patent Text Reader

Abstract

This invention provides a remote diagnostic system, method, and program that suppress unnecessary diagnostic processing in an image forming apparatus. [Solution] In a remote diagnostic system in which an image forming apparatus, a remote control instruction server, and a remote repair management server are connected by a network, the image forming apparatus has a history management unit that records the history of jobs performed in the image forming apparatus, a diagnostic unit that diagnoses the cause of job failures, and a diagnostic result management unit that stores the diagnostic results of the diagnostic unit. The remote control instruction server has an instruction management unit that instructs the image forming apparatus to perform a diagnosis using the diagnostic means. When the diagnostic unit receives an instruction from the instruction management unit to perform a diagnosis, if the diagnostic result for the latest job history is stored in the diagnostic result management unit, it returns the stored diagnostic result to the remote control instruction server, and if it is not stored, the diagnostic unit performs a diagnosis of the cause and returns the diagnostic result to the remote control instruction server.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a remote diagnosis system, a remote diagnosis method, a computer program, and the like.

Background Art

[0002] Generally, in an image forming apparatus having a maintenance contract, a customer administrator of the image forming apparatus contacts a call center that performs trouble shooting, and a business form is known in which a remote operator at the call center responds to the report.

[0003] At this time, when the remote operator determines that it is necessary to change the settings of the image forming apparatus to eliminate the trouble, it is necessary to respond by sending a service technician to the trouble site.

[0004] On the other hand, due to reasons such as suppression of dispatch costs and early resolution of troubles, there is a need for a remote operator to respond to troubles occurring in an image forming apparatus from a management apparatus at a remote location without going to the site.

[0005] Hereinafter, the case where a remote operator at a call center remotely performs information collection of an image forming apparatus, setting change of the image forming apparatus, etc. to solve a trouble report of the image forming apparatus is defined as "remote repair".

[0006] Here, consider a case where the cause of a trouble occurring in an image forming apparatus is separated by diagnostic logic incorporated in the image forming apparatus, the separation result is acquired from a management apparatus at a remote location, and the remote operator confirms the separation result and then instructs the content of the countermeasure.

[0007] For example, in Patent Document 1, a method is described in which the image forming apparatus itself executes a diagnostic operation for a defect detected in the image forming apparatus to identify a component that caused the defect.

Prior Art Documents

Patent Documents

[0008] [Patent Document 1] Japanese Patent Publication No. 2007-28457 [Overview of the Initiative] [Problems that the invention aims to solve]

[0009] Patent Document 1 describes performing a diagnostic operation each time a malfunction is detected. However, in remote repair, it is not necessary to perform a diagnostic operation for every malfunction that occurs in the image forming apparatus; it is sufficient to know the cause of the malfunction in the reporting process based on the configuration (settings, firmware version, etc.) at the time of notification.

[0010] In other words, in the method described in Patent Document 1, it is likely that the results of the diagnostic process are often not used for remote repair and are therefore wasted in the case of remote repair.

[0011] For example, in an image forming machine, if the same malfunction occurs multiple times when the same process is executed with the same settings, it is not necessary to perform a diagnostic operation for every malfunction; a single diagnostic operation is sufficient in the case of remote repair. This unnecessary diagnostic process leads to issues such as increased power consumption in the image forming machine and an increased possibility that essential jobs such as printing and scanning cannot be executed.

[0012] The present invention aims to provide a remote diagnostic system that can suppress unnecessary diagnostic processing in an image forming apparatus. [Means for solving the problem]

[0013] In a remote diagnostic system having an image forming apparatus and a server connected via a network, The image forming apparatus includes a history management means for recording the history of jobs performed within the image forming apparatus, a diagnostic means for diagnosing the cause of the job failure, and a diagnostic result management means for storing the diagnostic results of the diagnostic means. The server has diagnostic execution instruction means for instructing the image forming apparatus to perform a diagnosis using the diagnostic means, When the diagnostic means receives an instruction to perform a diagnosis from the diagnostic execution instruction means, if the diagnostic result for the latest job history is stored in the diagnostic result management means, it returns the diagnostic result to the server; otherwise, the diagnostic means performs a diagnosis of the cause and returns the diagnosis result to the server. It is characterized by the following: [Effects of the Invention]

[0014] This invention makes it possible to realize a remote diagnostic system that can suppress unnecessary diagnostic processing in an image forming apparatus. [Brief explanation of the drawing]

[0015] [Figure 1] This figure shows an example of the overall configuration of a remote diagnostic system for performing the remote diagnostic method according to Embodiment 1 of the present invention. [Figure 2] (A) and (B) are diagrams showing an example of the hardware configuration in Embodiment 1 of the present invention. [Figure 3A] This is a functional block diagram showing an example of the software configuration of a remote control instruction server, a remote repair management server, etc., in Embodiment 1 of the present invention. [Figure 3B] This is a functional block diagram showing an example of the software configuration of an image forming apparatus in Embodiment 1 of the present invention. [Figure 4A] This sequence diagram shows an example of the overall system processing sequence in Embodiment 1 of the present invention. [Figure 4B] This sequence diagram shows an example of the processing sequence following Figure 4A. [Figure 5] This flowchart shows an example of a processing flow for issuing diagnostic instructions in Embodiment 1 of the present invention. [Figure 6]FIG. is a diagram showing an example of a notification information list confirmation screen 600 generated by the display information generation unit 302 of the remote repair application 300 in Embodiment 1 of the present invention. [Figure 7] FIG. is a diagram showing an example of a remote repair consent screen 700 provided by the repair client application 320 in Embodiment 1 of the present invention. [Figure 8] FIG. is a flowchart showing an example of a processing flow for giving a diagnosis instruction in Embodiment 2 of the present invention. [Figure 9] FIG. is a flowchart showing an example of a processing flow for giving a diagnosis instruction in Embodiment 3 of the present invention.

Mode for Carrying Out the Invention

[0016] Hereinafter, embodiments of the present invention will be described with reference to the drawings. However, the present invention is not limited to the following embodiments. In each figure, the same members or elements are given the same reference numerals, and duplicate explanations are omitted or simplified.

[0017] <Embodiment 1>

[0018] FIG. 1 is a diagram showing a configuration example of an entire remote diagnosis system for executing a remote diagnosis method in Embodiment 1 of the present invention. The remote diagnosis system of Embodiment 1 includes an image forming apparatus 100, a remote repair management server 101, a remote control instruction server 102, and a PC (Personal Computer) 103 connected via a network 104. Note that the remote repair management server 101 and the remote control instruction server 102 may be a common server.

[0019] The image forming apparatus 100 is an apparatus that performs image processing such as an MFP or a printer, and has functions such as printing, FAX, and image transmission / reception. Further, the image forming apparatus 100 executes these functions in units of jobs. Hereinafter, a job of the image forming apparatus 100 that executes functions such as printing, FAX, and image transmission is referred to as a "device job".

[0020] A device job consists of a device job ID that uniquely identifies the device job itself, a device job type, the execution time when it was executed, an exit code that uniquely indicates the execution result, and information on the execution conditions, and this information is stored as historical information.

[0021] The device job type refers to information indicating the function of the executed job, such as a fax job (FAX), print job (PRINT), or send job (SEND). The execution conditions refer to the conditions under which the device job was executed, such as the print size and number of pages when executing a print job. By using these execution conditions, it is possible to re-execute the executed device job.

[0022] The remote repair management server 101 is an information processing device that provides services for managing notification information of troubles that occur in the image forming apparatus 100 and for managing remote repair information.

[0023] The remote repair management server 101 receives remote repair requests for the image forming apparatus 100 from the PC 103 and enables remote repair by issuing control instructions for the image forming apparatus 100 to the remote control instruction server 102.

[0024] In this embodiment, a job that issues such control instructions for remote repair will be defined as a "remote repair job." The remote control instruction server 102 manages trouble reports that occur in the image forming apparatus 100 as notification information, issues a remote repair job linked to the notification information, and then transmits the notification information and remote repair job information to the PC 103.

[0025] The remote control instruction server 102 provides services for remotely controlling the image forming apparatus 100, such as changing the setting information of the image forming apparatus 100 and collecting the history of executed device jobs.

[0026] The remote control instruction server 102 receives a control instruction request for the image forming apparatus 100 from the remote repair management server 101 and remotely controls the image forming apparatus 100 by notifying the image forming apparatus 100 of a remote repair job in accordance with the request. It also receives the control instruction result, i.e., the execution result of the remote repair job, from the image forming apparatus 100 and transmits the execution result to the remote repair management server 101.

[0027] PC103 is an example of an information processing device on which a predetermined OS (not shown) is installed. Network 104 is, for example, a LAN such as the Internet, a WAN, a telephone line, a dedicated digital line, etc., or a communication network realized by a combination of these.

[0028] In this embodiment, it is assumed that the customer administrator of the image forming apparatus 100 notices an error in the device job of the image forming apparatus 100 and notifies the call center. At that time, it is assumed that the remote operator of the call center communicates with the remote repair management server 101 using the PC 103 and responds to the notification via remote repair.

[0029] Based on the above, from now on, the customer manager who made the notification for the image forming apparatus 100 will be defined as the "customer manager," and the remote operator who performs remote repairs at the call center will be defined as the "remote operator."

[0030] Figures 2(A) and 2(B) show examples of hardware configurations in Embodiment 1 of the present invention. Figure 2(A) shows an example of the hardware configuration of the remote repair management server 101, remote control instruction server 102, and PC 103 in the present invention. Figure 2(B) shows an example of the hardware configuration of the image forming apparatus 100 in the present invention.

[0031] 201 is the CPU, which directly or indirectly controls each device connected via the internal bus (ROM, RAM, etc., described later) and executes computer programs to realize the present invention. 202 is the ROM in which the BIOS is stored.

[0032] 203 is RAM that is used as a work area for CPU 201 or as temporary storage for loading software modules to realize the present invention.

[0033] 204 is the HDD (Hard Disk Drive) where the basic software, such as the OS and software modules, is stored. Note that HDD204 may also be an SSD (Solid State Drive) or other storage device.

[0034] Furthermore, the image forming apparatus 100 is assigned a serial number that uniquely identifies the image forming apparatus itself, and this serial number is stored in the HDD 204 in a unique ID format.

[0035] Hereafter, the unique serial number of the image forming apparatus 100 will be defined as the "device ID". 205 is an input device, such as a keyboard or pointing device (not shown). 206 is an output device to which a display is connected. 207 is an interface for connecting to the network 104.

[0036] In this hardware, after booting, the CPU201 executes the BIOS and loads the OS from the HDD204 into RAM203 in an executable state. The CPU201 loads various software modules, as described later, from the HDD204 into RAM203 in an executable state as the OS operates.

[0037] Various software modules are executed and operated by CPU 201 through the coordination of the above-mentioned devices. In addition, I / F 207 is connected to network 104 and is controlled by CPU 201 according to the operation of the OS, enabling communication using the communication means described above.

[0038] Figure 2(B) shows an example of the hardware configuration of the image forming apparatus 100 in the present invention, as described above. The image forming apparatus 100 has a controller unit 211, which controls the scanner 221, printer 222, and operation unit 217.

[0039] When a user uses the copy function, the controller unit 211 controls the scanner 221 to acquire image data of the original document and controls the printer 222 to print and output the image onto paper.

[0040] Furthermore, when a user utilizes the scanning function, the controller unit 211 controls the scanner 221 to acquire image data of the document, convert it into coded data, and transmit it to an external device (not shown) via the network interface 218.

[0041] The controller unit 211 includes a CPU 212, RAM 213, ROM 214, HDD 215, control interface 216, network interface 218, and device interface 219, which are connected by a system bus 220.

[0042] The CPU 212, acting as a computer, controls the entire system of the image forming apparatus 100. The RAM 213 is the system work memory for the operation of the CPU 212 and is image memory for temporarily storing image data.

[0043] RAM 213 also stores computer programs and data such as the operating system, system software, and application software. It also stores scanned image data read by scanner 221 and print data received via network 104.

[0044] ROM214 stores the system's boot program. HDD215 stores the operating system, system software, application software, print data, configuration data, etc.

[0045] The control unit I / F 216 is an interface unit with the control unit 217, and outputs information to be displayed on the control unit 217. It also receives information input by the user from the control unit 217.

[0046] The network interface 218 controls various communications with external devices via the network 104. The device interface 219 connects the scanner 221 and printer 222, which read and print image data, to the controller unit 211, and performs image data input and output.

[0047] The scanner 221 has a document glass and detects the paper size of the document placed on the document glass and reads the document placed on the document glass to generate image data. The printer 222 prints the instructed print data onto paper media or the like.

[0048] Figure 3A is a functional block diagram showing an example of the software configuration of a remote control instruction server, a remote repair management server, etc., in Embodiment 1 of the present invention. Figure 3B is a functional block diagram showing an example of the software configuration of an image forming apparatus in Embodiment 1 of the present invention.

[0049] Furthermore, some of the functional blocks shown in Figures 3A and 3B are realized by having the CPUs, etc., which are computers included in the image forming apparatus and servers respectively, execute computer programs stored in memory, which is a storage medium.

[0050] However, some or all of these may be implemented in hardware. Hardware options include dedicated circuits (ASICs) and processors (reconfigurable processors, DSPs). Furthermore, the functional blocks shown in Figures 3A and 3B do not necessarily have to be housed in the same enclosure; they may be composed of separate devices connected to each other via signal paths.

[0051] In Figure 3A, the remote repair application 300 is a web service application stored on the HDD 204 and executed by the CPU 201. The remote repair application 300 consists of a communication unit 301, a display information generation unit 302, a user authentication unit 303, a notification information management unit 304, a consent code generation unit 305, a repair job information management unit 306, a control instruction generation unit 307, and the like.

[0052] The communication unit 301 communicates with the image forming apparatus 100, the remote control instruction server 102, the PC 103, etc. The display information generation unit 302 generates screen display information for sending and receiving information related to remote repair. The screen display information is generated in a language that can be parsed by a web browser, such as HTML, and is transmitted via the communication unit 301.

[0053] The user authentication unit 303 manages user information for the remote repair application 300 and verifies through authentication operations whether user information exists that matches the user ID and authentication information transmitted from the communication unit 301. The authentication operation by the user authentication unit 303 is not limited to a specific authentication method; for example, it may be authentication by matching a user ID and password, or biometric authentication.

[0054] The notification information management unit 304 receives a request from the communication unit 301 to initiate remote repair, creates notification information, and manages it as notification information data table information on the HDD 204. An example of notification information data table information in this embodiment is shown in Table 1. [Table 1]

[0055] In Table 1, "Report Information ID" is an attribute that indicates a value used to uniquely identify the report information. "Status" is an attribute that indicates the status of the report information. If the report information is created, "Awaiting Consent" is stored.

[0056] If the customer administrator agrees to remote repair in response to the report, "Agreed" is stored. If the remote repair response to the report is completed, "Response Completed" is stored. The "Agreement Code" is an attribute that indicates the value used to agree to remote repair in response to the report information. The agreement code is generated by the agreement code generation unit 305.

[0057] Furthermore, if a consent code is transmitted from the image forming apparatus 100, it is assumed that the customer administrator has given consent to the notification, and the "Status" is updated from "Waiting for consent" to "Consent given". The "Responding User ID" is an attribute that indicates the user ID of the remote repair application 300 that created the notification information.

[0058] The "Remote Repair Authorized Device ID" is an attribute that indicates the device ID of the image forming apparatus 100 that has agreed to remote repair in response to the notification information, and is described in JSON format, for example. Remote repair operations performed by the "Corresponding User ID" are permitted only for image forming apparatus 100 corresponding to the device ID listed in the "Remote Repair Authorized Device ID".

[0059] For example, for a notification with "Notice_000" as the "Notification Information ID," the remote repair operation will only target "DeviceA." It is also possible to set multiple device IDs for the "Remote Repair Authorized Device ID." For example, for a notification with "Notice_001" as the "Notification Information ID," the remote repair operation will target "DeviceB" and "DeviceC."

[0060] The consent code generation unit 305 receives an instruction from the notification information management unit 304 to generate a consent code and generates the "consent code" value in the notification information data table shown in Table 1. The consent code generated is a unique value that does not overlap with any other value in the notification information data table shown in Table 1.

[0061] The repair job information management unit 306 receives a request from the communication unit 301 to create a remote repair job, creates the remote repair job information, and manages it as remote repair job information data table information on the HDD 204. An example of the remote repair job information data table information in this embodiment is shown in Table 2. [Table 2]

[0062] In Table 2, "Remote Repair Job ID" is an attribute that indicates a value for uniquely identifying remote repair job information. "Remote Repair Job Type" is an attribute that indicates the type of control request to the image forming apparatus 100 by the remote repair job.

[0063] If the collection of device job history information for the image forming apparatus 100 is requested, "Collect" is stored. If the diagnosis of the cause of a malfunction in the execution result of a device job for the image forming apparatus 100 is requested, "Diagnose" is stored.

[0064] Furthermore, if a change in the settings of the image forming apparatus 100 is requested, "Action" is stored. If a re-execution of a device job for the image forming apparatus 100 is requested, "Verification" is stored. "Status" is an attribute that indicates the status of the remote repair job information.

[0065] In this embodiment, "Running" is stored when a remote repair job is created. "Completed" is stored when the execution of the remote repair job is completed. "Related notification information ID" is an attribute that indicates the notification information ID of the notification information corresponding to the remote repair job.

[0066] For example, the related notification information ID for remote repair job information with "Remote Repair Job ID" "Job_000" is the related notification information corresponding to the notification information ID "Notice_000" in Table 1.

[0067] "Control instruction information" is an attribute that indicates instructions that the image forming apparatus 100 can interpret in order to execute a remote repair job, and is written, for example, in JSON format. The "id" within the "script" element is an element that indicates a value for uniquely identifying the control information.

[0068] "deviceId" is an element that indicates the device ID of the image forming apparatus 100 to be controlled. "command" is an element in which "name" is a command indicating a control instruction. The "parameter" element contains elements that indicate the details of the control instruction described in "name" above.

[0069] For example, the "Control Instruction Information" for "Remote Repair Job ID" "Job_000" states that it instructs "DeviceA" to collect "2" device jobs of "SCAN".

[0070] The "Control Instruction Information" for "Remote Repair Job ID" "Job_001" states that it instructs "DeviceB" to diagnose the device job corresponding to "DeviceJob_100".

[0071] The "Control Instruction Information" for "Remote Repair Job ID" "Job_002" contains an instruction to change the "Destination Network Restriction" setting for "DeviceB" to OFF.

[0072] The "Control Instruction Information" for "Remote Repair Job ID" "Job_003" contains an instruction to re-execute the device job corresponding to "DeviceJob_100" for "DeviceB".

[0073] "Control instruction execution result information" is an attribute that indicates the result of the image forming apparatus 100 executing the control instruction, and is described in a format such as [format]. Specifically, the "control instruction execution result information" for "remote repair job ID" is "Job_000" contains the execution history information of the device job as the result of the device job history collection.

[0074] The "Control Instruction Execution Result Information" for the "Remote Repair Job ID" "Job_001" contains a code indicating the diagnostic result and recommended actions, as it represents the execution result of the device job diagnosis.

[0075] The "Control Instruction Execution Result Information" for "Remote Repair Job ID" "Job_002" contains information indicating that the configuration change was successful. The "Control Instruction Execution Result Information" for "Remote Repair Job ID" "Job_003" contains information indicating the execution result of the re-executed device job.

[0076] The control instruction generation unit 307 receives an instruction from the repair job information management unit 306 to generate control instruction information and generates the value of "control instruction information" in the remote repair job information data table in Table 2.

[0077] The remote control application 310 in Figure 3A is a web service application stored in the HDD 204 and executed by the CPU 201. The remote control application 310 consists of a communication unit 311, an instruction management unit 312, an instruction result management unit 313, and the like.

[0078] The communication unit 311 communicates with the image forming apparatus 100, the remote repair management server 101, etc. The instruction management unit 312 saves the control instruction information received from the communication unit 311 to the HDD 215.

[0079] Furthermore, when the instruction management unit 312 receives a request to acquire control instruction information from the image forming apparatus 100 via the communication unit 311, it acquires the control instruction information corresponding to the device ID of the image forming apparatus 100 and transmits it to the communication unit 311.

[0080] The instruction result management unit 313 saves the control instruction execution results transmitted via the communication unit 311 to the HDD 215. The instruction result management unit 313 also transmits the control instruction execution results to the remote repair application 300 via the communication unit 311.

[0081] The repair client application 320 in Figure 3B is an application stored on the HDD 215 and executed by the CPU 212. The repair client application 320 consists of a communication unit 321, a display information generation unit 322, a transmission information generation unit 323, and the like.

[0082] The communication unit 321 communicates with the remote repair management server 101. The display information generation unit 322 generates screen information to be displayed on the operation unit 217 and displays it on the screen via the operation unit I / F 216. In this embodiment, the display information generation unit 322 generates information for the remote repair consent screen (described later in Figure 7) for the customer administrator to enter a consent code.

[0083] The transmission information generation unit 323 generates information to be transmitted to the remote repair management server via the communication unit 321. In this embodiment, the transmission information generation unit 323 generates the consent code entered by the customer administrator on the operation unit 217 and the device ID of the image forming apparatus 100 as transmission information.

[0084] The control client application 330 shown in Figure 3B is an application stored in the HDD 215 and executed by the CPU 212. The control client application 330 consists of a communication unit 331, an instruction analysis unit 332, an acquisition instruction unit 333, a diagnostic instruction unit 334, a setting change instruction unit 335, an execution instruction unit 336, and the like.

[0085] The communication unit 331 communicates with the remote control instruction server 102. The communication unit 331 also periodically retrieves control instructions from the remote control instruction server 102 according to the control instruction confirmation cycle setting value configured in the HDD 215. If the communication unit 331 successfully retrieves a control instruction, it transmits it to the instruction analysis unit 332.

[0086] Furthermore, the instruction analysis unit 332 analyzes the control instruction transmitted via the communication unit 331 and issues instructions to the collection instruction unit 333, the diagnostic instruction unit 334, the setting change instruction unit 335, and the execution instruction unit 336. In addition, the instruction analysis unit 332 receives the execution result of the control instruction and transmits the execution result of the control instruction to the remote control instruction server 102 via the communication unit 331.

[0087] The data collection instruction unit 333 receives a device job history collection instruction from the instruction analysis unit 332 and collects device job history information managed by the history management unit 351. The history management unit 351 functions as a history management means for recording the history of jobs performed within the image forming apparatus, and records jobs performed within the image forming apparatus 100 along with the execution time, job type, and completion code.

[0088] Table 3 shows an example of a device job history table managed by the history management unit 351 and stored in the HDD 215 in this embodiment. [Table 3]

[0089] In Table 3, "Device Job ID" is an attribute used to uniquely identify a device job. "Job Type" is an attribute that represents the type of device job identified by the Device Job ID, such as PRINT / SCAN / SEND / FAX.

[0090] "Completion Date and Time" is an attribute that represents the completion date and time of the device job identified by the device job ID. "Exit Code" is an attribute that represents the exit code of the device job identified by the device job ID, where 0 indicates successful completion.

[0091] "Counter" is an attribute that represents a counter value indicating the cumulative number of prints in the image forming apparatus 100 at the time of completion of the device job identified by the device job ID.

[0092] When collecting device job history, the collection instruction unit 333 collects device job history information that matches the collection conditions received from the instruction analysis unit 332. The collection instruction unit 333 then transmits the collected device job history information to the instruction analysis unit 332 as the result of executing a control instruction.

[0093] The diagnostic instruction unit 334 sends a device job diagnostic instruction from the instruction analysis unit 332 to the diagnostic application 350, requesting a diagnosis of the device job. The diagnostic instruction unit 334 also sends the diagnostic result from the diagnostic application 350 to the instruction analysis unit 332 as the control instruction execution result.

[0094] The setting change instruction unit 335 receives a device setting change instruction from the instruction analysis unit 332 and changes the setting information of the image forming apparatus 100 stored in the HDD 215. The setting information of the image forming apparatus 100 refers to settings related to the operation of the image forming apparatus 100, such as network restriction settings and destination restrictions when sending faxes.

[0095] Furthermore, the setting change instruction unit 335 transmits the result of the setting change execution as a control instruction execution result to the instruction analysis unit 332. The execution instruction unit 336 receives a device job execution instruction from the instruction analysis unit 332 and re-executes the specified device job.

[0096] For re-execution, the device job information corresponding to the device job ID received from the instruction analysis unit 332 is obtained from the history management unit 351, and the device job is re-executed based on the execution conditions. The execution instruction unit 336 also transmits the information of the re-executed device job to the instruction analysis unit 332 as the control instruction execution result.

[0097] The diagnostic application 350 in Figure 3B is an application stored on the HDD 215 and executed by the CPU 212. The diagnostic application 350 consists of a diagnostic unit 341, a diagnostic result management unit 342, an automatic diagnostic instruction unit 343, and the like.

[0098] The diagnostic unit 341 diagnoses the cause of failure in the device job history according to diagnostic instructions from the automatic diagnostic instruction unit 343 or the diagnostic instruction unit 334. The diagnostic unit 341 functions as a diagnostic means for diagnosing the cause of job failure. The instruction management unit 312 functions as a diagnostic execution instruction means for instructing the image forming apparatus to perform a diagnosis by the diagnostic unit 341 as a diagnostic means.

[0099] The automatic diagnostic instruction unit 343 issues a diagnostic instruction to the diagnostic unit 341 for a device job at any time when the image forming apparatus 100 is idle, that is, when the image forming apparatus 100 is not executing a device job.

[0100] At this time, the automatic diagnostic instruction unit 343 identifies the device job history to be automatically diagnosed from the information in the device job history table managed by the history management unit 351, in accordance with the flowchart in Figure 5 described later, and issues a diagnostic instruction to the diagnostic unit 341 for the device job.

[0101] Here, the diagnostic instruction to the diagnostic unit 341 includes the exit code, device job type, and device job ID. The diagnostic unit 341 performs a diagnosis based on the exit code and device job type received from the automatic diagnostic instruction unit 343 and records the diagnosis result in the diagnostic result management unit 342.

[0102] Furthermore, the diagnostic result management unit 342 functions as a diagnostic result management unit that stores the diagnostic results of the diagnostic unit 341 as a diagnostic means, and stores the diagnostic result codes of the diagnostic means in association with the execution time for each pair of job type and exit code.

[0103] Table 4 shows an example of a diagnostic result table managed by the diagnostic result management unit 342 and stored in the HDD 215 in this embodiment.

[0104] [Table 4]

[0105] In Table 4, "Job Type" and "Exit Code" are attributes representing the device job type and exit code, respectively, of the device being diagnosed. Each record in the diagnostic results table in Table 4 is unique due to the combination of "Job Type" and "Exit Code".

[0106] The "Completion Date and Time" corresponds to the "Completion Date and Time" of the record in the device job history table (Table 3) identified by the diagnostic unit 341 from the device job ID included in the diagnostic instruction from the automatic diagnostic instruction unit 343. The "Diagnostic Result Code" is an attribute that corresponds to a code representing the result of the diagnosis at the time of diagnosis, according to the "Job Type" and "Completion Code".

[0107] When the diagnostic unit 341 receives a diagnostic instruction from the diagnostic instruction unit 334, it checks whether the diagnostic result corresponding to the received exit code and device job type "exists in the diagnostic result management unit 342".

[0108] Here, the condition for determining that "it exists in the diagnostic result management unit 342" is that the "completion date and time of the diagnostic target job" of the diagnostic result, which is identified from the received exit code and device job type, and the "completion date and time" in the history management unit 351 are the same as the latest record.

[0109] If it is determined that a diagnostic result exists, the diagnostic unit 341 returns the corresponding diagnostic result to the diagnostic instruction unit 334. On the other hand, if it is determined that no diagnostic result exists, the diagnostic unit 341 takes the received exit code and device job type as input, performs the diagnostic process on the spot, stores the diagnostic result in the diagnostic result management unit 342, and then returns the result to the diagnostic instruction unit 334.

[0110] In this way, the diagnostic unit 341, acting as a diagnostic means, takes the job type and exit code as input and performs a diagnosis of the cause of job failure against the job history managed by the history management means.

[0111] Furthermore, as described above, when the diagnostic means receives an instruction to perform a diagnosis from the diagnostic execution instruction means, if the diagnostic results for the latest job history are stored in the diagnostic result management means, it returns the diagnostic results to the server. If the diagnostic results are not stored in the diagnostic result management means, the diagnostic means performs a diagnosis of the cause of the job failure and returns the diagnostic results to the server.

[0112] Browser 340 is a web browser stored on HDD 204 and executed by CPU 201, and is intended to be operated by a remote operator. Browser 340 communicates with the remote repair management server 101 to request the start of remote repairs and the creation of remote repair jobs.

[0113] Figure 4A is a sequence diagram showing an example of the overall system processing sequence in Embodiment 1 of the present invention, and Figure 4B is a sequence diagram showing an example of the processing sequence following Figure 4A.

[0114] Furthermore, the CPUs and other components within each application and server in the system execute computer programs stored in memory, sequentially performing the multiple steps shown in the sequence diagrams of Figures 4A and 4B. Figures 4A and 4B also include processing by customer administrators and remote operators.

[0115] In step S401, if a problem occurs, such as a failure to execute a device job on the image forming apparatus 100, the customer administrator makes an inquiry by phone or other means, and a remote operator begins to respond.

[0116] In step S402, the remote operator who received the inquiry confirms the device ID and details of the problem with the image forming apparatus 100 in question through a telephone conversation with the customer administrator.

[0117] Simultaneously with step S402, the remote operator operates the browser 340 to access the remote repair application 300 in step S403 and requests login to the remote repair application.

[0118] In step S404, the user authentication unit 303 of the remote repair application 300, which received a login request via the communication unit 301, performs the login process and responds with the login result.

[0119] After logging in, the remote operator requests the remote repair application 300 to initiate a remote repair in step S405. The remote repair initiation request also includes a request for the device ID information identified in step S402.

[0120] The notification information management unit 304 of the remote repair application 300, which received a remote repair start request in step S405 via the communication unit 301, creates notification information in step S406 and adds it to the notification information data table in Table 1. Then, in step S407, it responds with display information as shown in Figure 6.

[0121] Figure 6 shows an example of a notification information list confirmation screen 600 generated by the display information generation unit 302 of the remote repair application 300 in Embodiment 1 of the present invention, and is provided to the remote operator via the browser 340.

[0122] In Figure 6, the notification information list 601 is an area that displays the information from the notification information data table in Table 1. In Figure 6, only the notification data related to the device ID (in this embodiment, DeviceA) included in step S405 (request to start remote repair) from the information in Table 1 is displayed.

[0123] The repair job creation buttons 610, 611, and 612 in Figure 6 are buttons that request the creation of a remote repair job related to the notification information. Note that the repair job creation buttons 610, 611, and 612 can only be clicked if the "Status" of the notification information is "Agreed".

[0124] Therefore, the repair job creation buttons 611 and 612 cannot be clicked. Furthermore, only consent code 622, corresponding to the notification information generated in step S406, has a value displayed in the consent code column; the other consent codes 620 and 621 are masked.

[0125] In step S410, the remote operator requests the customer administrator to enter a consent code, for example, by phone or email. Specifically, they request that the customer administrator enter the consent code 622, which corresponds to the notification information generated in step S406, into the repair client application 320.

[0126] Figure 7 shows an example of a remote repair consent screen 700 provided by the repair client application 320 in Embodiment 1 of the present invention.

[0127] In step S411, the customer administrator enters the consent code 622 into the text box 701 in Figure 7 and clicks the consent button 702. Then, in step S412, the transmission information generation unit 323 of the repair client application 320 transmits the consent code 622 entered into the text box 701 and the device information (device ID) to the notification information management unit 304 of the remote repair application 300 via the communication unit 321.

[0128] Furthermore, in step S413, the remote repair application 300 performs a consent process and responds to the repair client application 320 that the consent process is complete.

[0129] In addition, following step S412, the notification information management unit 304 of the remote repair application 300 changes the status of the corresponding notification information to "agreemented," and in step S417, the display information generation unit 302 sends a message indicating that agreement is complete to the remote operator.

[0130] In other words, the remote operator is notified that the customer administrator's consent for remote repair has been obtained by changing the status 632 from "awaiting consent" to "consented". Once the status 632 changes to "consented", the repair job creation button 612 in Figure 6 becomes clickable.

[0131] Furthermore, following step S413, in step S414, the repair client application 320 requests the control client application 330 to update the control instruction confirmation cycle to be shorter.

[0132] Furthermore, in step S415, the control client application 330 updates and shortens the control instruction confirmation cycle, and in step S416, it notifies (responds) that the update of the control instruction confirmation cycle is complete.

[0133] These processing steps enable the control client application 330 to quickly process notifications from the remote control application 310.

[0134] Next, by repeating steps S420 to S437 in Figure 4B, only the necessary remote repair jobs are repeated for the image forming apparatus 100. That is, the remote operator sends a control instruction to the control client application 330, and the instruction analysis unit 332 executes processing according to the control instruction to realize remote repair.

[0135] Specifically, the remote operator generates the necessary remote repair jobs from among the "Collection," "Diagnosis," "Action," and "Verification" remote repair jobs by clicking, for example, the repair job creation button 612 in Figure 6, in order to perform remote repair. Then, they send that job to the control client application 330.

[0136] Typically, a remote operator "collects" the device job history performed by the image forming apparatus 100, identifies the device job that is the subject of the report, and performs a "diagnosis." Then, they "perform an action" according to the diagnosis results and "verify" whether the device job in question was successful as a result of the action. This is the general flow of remote repair.

[0137] In step S420, a request is made to the remote repair application 300 to create a remote repair job. If the job is a collection instruction, the repair job information management unit 306 of the remote repair application 300 generates a remote repair job (collection job) in step S421.

[0138] Then, in step S422, the control instruction generation unit 307 creates a control instruction document for the collection job, and in step S423, the instruction management unit 312 is notified of the control instruction document. Also, in step S424, the remote operator is notified that the remote repair job has been created.

[0139] In step S425, the instruction management unit 312 holds the received instruction. Next, in step S430, the communication unit 331 of the control client application 330 sends a request to the remote control application 310 to retrieve the instruction held by the instruction management unit 312. Then, in step S431, the remote control application 310 responds by sending the control instruction it holds to the control client application 330.

[0140] In step S432, the control client application 330 sends a control instruction to the collection instruction unit 333 and executes the control instruction. That is, the collection instruction unit 333 collects device job history information managed by the history management unit 351.

[0141] In step S434, the execution result of the control instruction (device job history) is sent to the instruction result management unit 313 of the remote control application 310. Then, in step S435, the remote control application 310 responds (replies) that the transmission of the execution result of the control instruction has been completed.

[0142] In step S436, the remote repair application 300 is notified that the execution of the control instruction has been completed. Specifically, the instruction result management unit 313 of the remote control application 310 sends the device job history received by the communication unit 301 to the remote repair application 300.

[0143] Then, in step S437, the completion of the remote repair job is displayed. That is, the display information generation unit 302 of the remote repair application 300 presents the device job history to the remote operator. In this way, the job for "collection" is executed.

[0144] Next, for "diagnosis," in step S420, the remote operator requests the remote repair application 300 to create a remote repair job (diagnostic job). That is, from the device job history obtained as a result of the above collected jobs, the cause of the trouble reported in step S401 is identified through the conversation with the customer manager conducted in step S402, and a diagnostic instruction is given.

[0145] In step S421, the repair job information management unit 306 of the remote repair application 300 generates a remote repair job (diagnostic job) according to the diagnostic instructions. Then, in step S422, the control instruction generation unit 307 of the remote repair application 300 creates a control instruction document for the diagnostic job, and in step S423, it sends the control instruction document to the instruction management unit 312 of the remote control application 310.

[0146] In step S425, the instruction management unit 312 of the remote control application 310 holds the received control instruction.

[0147] Next, in step S430, the communication unit 331 of the control client application 330 sends a request to the remote control application 310 to retrieve the instruction document held by the instruction management unit 312. Then, in step S431, the remote control application 310 responds by sending the held control instruction document to the diagnostic instruction unit 334 of the control client application 330.

[0148] In step S432, the control client application 330 sends a control instruction to the diagnostic instruction unit 334 and executes the diagnostic job specified in the control instruction. Then, in step S434, the diagnostic instruction unit 334 sends the diagnostic result of the diagnostic instruction unit 334 to the instruction result management unit 313 of the remote control application 310 as the execution result of the control instruction. Then, in step S435, the remote control application 310 responds (replies) that it has completed sending the execution result of the control instruction.

[0149] In step S436, the instruction result management unit 313 of the remote control application 310 transmits the received diagnostic result to the communication unit 301 of the remote repair application 300. Then, in step S437, the display information generation unit 302 of the remote repair application 300 presents the diagnostic result to the remote operator. In this way, the "diagnosis" job is executed.

[0150] Next, the diagnostic results include information on possible error causes and suggested solutions. The remote operator selects a solution from the suggested solutions that can resolve the cause of the problem in step S401 and issues a corrective action instruction. That is, in step S420, the remote operator requests the remote repair application 300 to create a remote repair job (corrective action job).

[0151] In step S421, the repair job information management unit 306 of the remote repair application 300 generates a remote repair job (treatment job). Then, in step S422, the control instruction generation unit 307 of the remote repair application 300 generates a control instruction for the treatment job. Then, in step S423, the generated control instruction for the treatment job is sent to the instruction management unit 312 of the remote control application 310.

[0152] In step S425, the instruction management unit 312 of the remote control application 310 holds the received instruction. Subsequently, in step S430, the communication unit 331 of the control client application 330 sends a request to the remote control application 310 to retrieve the control instruction held by the instruction management unit 312.

[0153] Then, in step S431, the remote control application 310 responds by sending the control instruction it holds to the setting change instruction unit 335 of the control client application 330.

[0154] In step S432, the control client application 330 sends a control instruction to the setting change instruction unit 335 and executes the setting change specified in the control instruction. Then, in step S434, the setting change instruction unit 335 sends the result of the setting change to the instruction result management unit 313 of the remote control application 310 as the execution result of the control instruction. Then, in step S435, the remote control application 310 responds (replies) that it has completed sending the execution result of the control instruction.

[0155] In step S436, the instruction result management unit 313 of the remote control application 310 transmits the received setting change result to the communication unit 301 of the remote repair application 300. Then, in step S437, the display information generation unit 302 of the remote repair application 300 informs the remote operator that the setting change has been applied. In this way, the job for "action" (setting change) is executed.

[0156] Finally, in step S420, to perform "verification," the remote operator requests the remote repair application 300 to create a remote repair job (verification job). In other words, a verification instruction is given to confirm that the problem has been resolved as a result of the configuration change.

[0157] Furthermore, since the verification instructions involve executing device jobs, which could potentially lead to issues such as duplicate fax transmissions, they may be skipped through a conversation with the customer administrator, or the customer administrator may perform the verification by directly operating the image forming apparatus 100.

[0158] In step S421, the repair job information management unit 306 of the remote repair application 300 generates a remote repair job (verification job) in accordance with the verification instructions. Then, in step S422, the control instruction generation unit 307 of the remote repair application 300 creates a control instruction document for the verification job, and in step S423, it sends the control instruction document to the instruction management unit 312 of the remote control application 310.

[0159] In step S425, the instruction management unit 312 of the remote control application 310 holds the received instruction. Subsequently, in step S430, the communication unit 331 of the control client application 330 sends a request to the remote control application 310 to retrieve the instruction held by the instruction management unit 312.

[0160] Then, in step S431, the remote control application 310 responds by sending the control instruction it holds to the execution instruction unit 336 of the control client application 330. That is, the instruction management unit 312, acting as a diagnostic execution instruction means, instructs the image forming apparatus 100 to execute the diagnostic means by sending the job type and completion code.

[0161] In step S432, the control client application 330 sends a control instruction to the execution instruction unit 336 and executes a verification job for the control instruction. Then, in step S434, the execution instruction unit 336 sends the diagnostic result of the execution instruction unit 336 as the execution result of the control instruction to the instruction result management unit 313 of the remote control application 310. Then, in step S435, the remote control application 310 responds (replies) that it has completed sending the execution result of the control instruction.

[0162] In step S436, the instruction result management unit 313 of the remote control application 310 transmits the received verification result to the communication unit 301 of the remote repair application 300. Then, in step S437, the display information generation unit 302 of the remote repair application 300 presents the verification result to the remote operator.

[0163] If the verification fails at this stage, it may indicate that the problem has not been resolved or that another problem has occurred. In such cases, you should try to resolve the problem by repeating the "collection" or "diagnosis" process, or by taking "actions" to change other settings.

[0164] Once the problem is resolved, in step S440, the repair client application 320 requests the control client application 330 to update the control instruction confirmation cycle so that it returns to the value it was at before it was changed in step S415.

[0165] Then, in step S441, the control client application 330 updates the control instruction confirmation cycle, and in step S442, it sends a message to the repair client application 320 indicating that the update of the control instruction confirmation cycle is complete, thereby ending the remote repair.

[0166] Step S440 may be executed after a sufficiently long time has elapsed since the communication unit 331 last received an instruction, or it may be executed when the remote repair application 300 issues an instruction to the image forming apparatus 100 via the remote control application 310.

[0167] Figure 5 is a flowchart showing an example of a processing flow for issuing diagnostic instructions in Embodiment 1 of the present invention, illustrating an example of a processing flow in which the automatic diagnostic instruction unit 343 issues diagnostic instructions to the diagnostic unit 341 according to the device job history.

[0168] Furthermore, the CPU and other components within the image forming apparatus execute computer programs stored in memory, sequentially performing the operations of each step in the flowchart shown in Figure 5.

[0169] In this embodiment, when the device job history table and the diagnostic result table are in the state shown in Tables 3 and 4, respectively, the automatic diagnostic instruction unit 343 detects that the image forming apparatus 100 has entered an idle state and starts the diagnostic processing step S501 in Figure 5.

[0170] The diagnostic means performs a diagnosis for all job type and exit code combinations when the image forming apparatus is idle. However, it is also acceptable to perform a diagnosis for at least several job type and exit code combinations, rather than all combinations.

[0171] In step S502, the automatic diagnostic instruction unit 343 retrieves the device job history DeviceJob001~006 from the device job history table shown in Table 3 of the history management unit 351.

[0172] Next, in step S503, the automatic diagnostic instruction unit 343 extracts pairs of "job type" and "exit code" that the diagnostic unit 341 can diagnose from the acquired device job history, and groups the pairs of "job type" and "exit code".

[0173] In this embodiment, if the "job type" is "PRINT", the diagnostic unit 341 cannot diagnose it, and as a result of step S503, the automatic diagnostic instruction unit 343 extracts the following pairs of (1) to (3) ("job type", "exit code").

[0174] (1) (SEND, EXXX-0123) (2) (FAX, EYYY-0213) (3) (SEND, EZZZ-0012)

[0175] Next, in step S504, it is determined whether there is a group among (1) to (3) that contains unprocessed device job history. In Table 4, the diagnostic result identified as "Job Type" = SEND and "Exit Code" = EXXX-0123 has a "Completion Date and Time of Job to be Diagnosed" of "2024 / 04 / 23 08:21:11". Therefore, it indicates that the diagnosis up to DeviceJob001 has been completed.

[0176] In other words, after the device jobs DeviceJob004 and DeviceJob005 were executed, no diagnosis was performed for jobs with "Job Type" = SEND and "Exit Code" = EXXX-0123. That is, in Table 4, there is no "Completion Date and Time of Jobs to be Diagnosed" for DeviceJob004 and DeviceJob005.

[0177] On the other hand, the diagnostic result identified as job type = FAX, exit code = EYYY-0213 indicates that the diagnostics up to DeviceJob002 have been completed, as the "Completion Date and Time of the Job to be Diagnosed" is "2024 / 04 / 23 10:04:30". In other words, there is no need to perform a diagnostic for job type = FAX, exit code = EYYY-0213.

[0178] Similarly, the diagnostic result identified as job type=SEND, exit code=EZZZ-0012 indicates that the diagnostics up to DeviceJob003 have been completed, as the "Completion Date and Time of the Job to be Diagnosed" is "2024 / 04 / 24 08:10:10". In other words, in this case as well, there is no need to perform a diagnostic for job type=SEND, exit code=EZZZ-0012.

[0179] In other words, for (2) and (3), there is no unprocessed device job history, so there is no need to perform a diagnosis. However, for (1), Table 4 does not show a "Completion Date and Time of Job to be Diagnosed" for DeviceJob004 and DeviceJob005, so it is determined to be Yes in step S504.

[0180] Next, in step S505, the automatic diagnostic instruction unit 343 determines whether the latest device job history among the device job history of the group determined to be an unprocessed group has not been diagnosed.

[0181] Here, in step S505, the automatic diagnostic instruction unit 343 determines Yes for the latest device job history DeviceJob005 in the unprocessed group (1). Then, in step S506, the automatic diagnostic instruction unit 343 issues a diagnostic instruction to the diagnostic unit 341 for the unprocessed group (1), namely "job type" = SEND, "completion code" = EXXX-0123. After that, the process returns to step S504.

[0182] At this time, the automatic diagnostic instruction unit 343 includes, in addition to the job type and exit code, DeviceJob005, which is the device job ID of the latest device job history, in the diagnostic instruction to the diagnostic unit 341. If it is determined in step S504 that there are no more groups containing unprocessed device job history, the processing flow shown in Figure 5 is terminated in step S507.

[0183] This embodiment reduces the number of diagnostics by performing diagnostics only on the most recent job when a diagnosis has not been completed for a given combination of job type and exit code, rather than performing diagnostics on every anomaly that occurs.

[0184] <Embodiment 2> The method described in Embodiment 1 reduces the number of diagnostics by performing diagnostics only on the most recent job if the diagnostics for a given job type and exit code combination have not yet been completed.

[0185] However, the remote operator issues diagnostic instructions in steps S420 to S437 of Figure 4B only after a consent code has been sent from the customer administrator in steps S410 to S412, and the customer administrator has consented to the remote repair.

[0186] Therefore, diagnoses performed before the consent code is sent may not be used and may be wasted. In addition, when the image forming apparatus 100 is registered with the remote repair application 300, it is linked to a unit that virtually identifies, for example, the customer's organization (company or business office, etc.) in the cloud (defined as a customer tenant in this embodiment).

[0187] In addition to consenting to remote repair, customer administrators can also configure "Remote Repair Usage Settings" on a per-customer tenant basis. Specifically, if "Remote Repair Usage Settings" are set to "Do not use" for a customer tenant, the notification information list 601 will not be displayed after step S407, and a message indicating that the device is not eligible for remote repair will be displayed (not shown).

[0188] As described above, even if the "Remote Repair Usage Settings" of the customer tenant to which the image forming apparatus 100 belongs are set to "Do not use," the diagnostic results will not be used and will inevitably be wasted.

[0189] In this embodiment, we will explain the method for determining whether or not to perform a diagnosis based on the remote repair usage settings and the consent status for remote repair, focusing on the differences from Embodiment 1.

[0190] Figure 8 is a flowchart showing an example of a processing flow for issuing a diagnostic instruction in Embodiment 2 of the present invention. Figure 8 shows an example of a processing flow in which the automatic diagnostic instruction unit 343 issues a diagnostic instruction to the diagnostic unit 341 according to the device job history, and performs step S805 (diagnostic processing) only when a diagnosis is necessary.

[0191] Furthermore, the CPU and other components within the image forming apparatus execute computer programs stored in memory, sequentially performing the actions shown in the flowchart of Figure 8.

[0192] In step S801, the automatic diagnostic instruction unit 343 starts the diagnostic process only if a diagnosis is necessary. In step S802, the automatic diagnostic instruction unit 343 checks the control instruction confirmation cycle in the control client application 330 to determine whether the consent code has been sent. If the consent code has not been sent, i.e., if the control instruction confirmation cycle in the control client application 330 is, for example, at the default value, the process flow shown in Figure 8 is terminated.

[0193] If it is determined in step S802 that the consent code has been sent, that is, if the control instruction confirmation cycle in the control client application 330 is shorter than the default value, the automatic diagnostic instruction unit 343 proceeds to step S803.

[0194] Then, in step S803, the automatic diagnostic instruction unit 343 inquires whether the tenant to which the device belongs is eligible for remote repair. That is, it checks the "remote repair usage settings" of the customer tenant to which the device belongs with the remote repair application 300.

[0195] To this end, the automatic diagnostic instruction unit 343 includes the device ID in the confirmation request in step S803. Furthermore, the customer tenant and the image forming apparatus 100 are linked and registered in the remote repair application 300. Note that the method for setting and managing the "remote repair usage settings" for the customer tenant is not limited to any particular method.

[0196] Note that the device ID to be included in the confirmation request in step S803 does not need to be a device ID, as long as it is an ID that allows the remote repair application 300 to uniquely identify the image forming apparatus 100. In step S804, it is determined whether the tenant to which the image forming apparatus 100 belongs is eligible for remote repair. If the "Remote Repair Usage Settings" of the tenant to which the image forming apparatus 100 belongs is set to "Do not use", then step S804 is determined to be No, and the processing flow in Figure 8 is terminated.

[0197] On the other hand, if the result in step S804 is Yes, that is, if the "Remote Repair Usage Settings" for the tenant to which the image forming apparatus 100 belongs is set to "Use", the automatic diagnostic instruction unit 343 performs diagnostic processing in step S805. The diagnostic processing in step S805 is the same as the processing in the flowchart shown in Figure 5.

[0198] In step S802 of this embodiment, the determination of whether the consent code has been sent was made based on the value of the control instruction confirmation cycle in the control client application 330. However, a flag indicating whether the code has been sent or not may also be maintained, and the determination may be made based on the information from that flag.

[0199] As described above, in this embodiment, the diagnostic processing described in Embodiment 1 is performed only when the customer administrator has consented to remote repair and the "Remote Repair Usage Settings" are set to "Use". Therefore, the burden of executing unnecessary diagnostic processing that is not used for remote repair in the image forming apparatus 100 can be reduced.

[0200] <Embodiment 3> The diagnostics performed by the diagnostic unit 341 are based on the device job type, the device job's exit code, and the current configuration of the image forming apparatus 100.

[0201] The configuration of the image forming apparatus 100, as used here, refers to things like the firmware version installed on the image forming apparatus, whether or not an extended application is installed, and the settings of the configuration items that are set for the image forming apparatus 100.

[0202] Changes in the configuration of these image forming apparatuses 100 can alter the diagnostic results of device jobs. For example, the diagnostic results of a device job that transmits scanned image data from the image forming apparatus 100 to an external source (a device job with the device job type set to SEND) will change depending on the settings for destination domain restrictions.

[0203] In other words, even if a device job fails to run because it was configured to restrict destination domains, the diagnostic results will show no problems after the destination domain restriction is removed.

[0204] In the method described in Embodiment 1, even if a preliminary diagnosis is performed using the automatic diagnostic instruction unit 343 as a trigger before a diagnostic instruction is issued from the diagnostic instruction unit 334, the results of the preliminary diagnosis may be incorrect if the configuration of the image forming apparatus 100 changes afterward.

[0205] Therefore, Embodiment 3 will explain the differences from Embodiment 1, focusing on an example in which, when the configuration of the image forming apparatus 100 changes, past diagnostic results are cleared before performing a diagnosis.

[0206] Figure 9 is a flowchart showing an example of a processing flow for issuing a diagnostic instruction in Embodiment 3 of the present invention. In Figure 9, in Embodiment 3, the automatic diagnostic instruction unit 343 determines whether to clear the diagnostic results before issuing a diagnostic instruction to the diagnostic unit 341 according to the device job history.

[0207] Furthermore, the CPU and other components within the image forming apparatus execute computer programs stored in memory, sequentially performing the operations of each step in the flowchart shown in Figure 9.

[0208] In step S901, the automatic diagnostic instruction unit 343 starts the process of clearing the diagnostic results and then performing the diagnosis. In step S902, it determines whether or not a configuration change has occurred since the last time the automatic diagnostic instruction unit 343 activated the diagnostic unit 341 and performed the diagnostic process. Furthermore, the HDD 215 of the image forming apparatus 100 stores an event log in which events that occurred in the image forming apparatus 100 are recorded in chronological order, and the automatic diagnostic instruction unit 343 makes a determination based on the above event log when making the determination in step S902. However, this embodiment is not limited to the method of recording the event log.

[0209] If the result in step S902 is determined to be "No," that is, if it is determined that the configuration has not changed since the last diagnosis, the diagnostic process in step S905 is executed, and then the process flow in Figure 9 is terminated. Note that the diagnostic process in step S905 is the same as the process in the flowchart shown in Figure 5.

[0210] On the other hand, if the result in step S902 is determined to be Yes, then in step S903, it is determined whether a preliminary diagnosis has already been performed, that is, whether a diagnosis result like the one described in Table 4 of Embodiment 1 exists in the diagnosis result management unit 342.

[0211] If the result in step S903 is determined to be No, i.e., if no diagnostic result exists, the diagnostic process in step S905 is executed and the process is terminated. On the other hand, if the result in step S903 is determined to be Yes, i.e., if a diagnostic result exists, a request is made in step S904 to clear the pre-diagnosis result to the diagnostic result management unit 342.

[0212] Upon receiving a request to clear the pre-diagnosis results, the diagnostic result management unit 342 deletes all records from the diagnostic result table described in Table 4 of Embodiment 1. Subsequently, the automatic diagnosis instruction unit 343 executes the diagnostic results in step S905 and terminates the processing flow shown in Figure 9.

[0213] Thus, according to Embodiment 3, even when the image forming apparatus 100 undergoes a configuration change that alters the diagnostic result, it becomes possible to return an accurate diagnostic result in response to a diagnostic instruction from the diagnostic instruction unit 334.

[0214] Although the present invention has been described in detail above based on its preferred embodiments, the present invention is not limited to the above embodiments, and various modifications and combinations of the above embodiments are possible in accordance with the spirit of the present invention, and these are not excluded from the scope of the present invention. Furthermore, some of the above embodiments may be combined as appropriate.

[0215] Furthermore, the present invention includes, for example, a system that implements the functions of the above embodiment using at least one processor such as a CPU, memory, and circuitry (e.g., an ASIC). Alternatively, multiple processors may be used for distributed processing.

[0216] Furthermore, in order to implement some or all of the control in the above embodiment, a computer program that implements the functions of the above embodiment may be supplied to a remote diagnostic system, etc., via a network or various storage media.

[0217] Furthermore, the computer (or CPU, MPU, etc.) in the remote diagnostic system may read and execute the program. In that case, the program and the storage medium in which the program is stored constitute the present invention. The present invention includes the following combinations.

[0218] (Configuration 1) A remote diagnostic system having an image forming apparatus and a server connected to a network, wherein the image forming apparatus has a history management means for recording the history of jobs performed in the image forming apparatus, a diagnostic means for diagnosing the cause of a job failure, and a diagnostic result management means for storing the diagnostic results of the diagnostic means, the server has a diagnostic execution instruction means for instructing the image forming apparatus to perform a diagnosis by the diagnostic means, and when the diagnostic means receives an instruction to perform a diagnosis from the diagnostic execution instruction means, if the diagnostic results for the latest job history are stored in the diagnostic result management means, it returns the diagnostic results to the server, and if they are not stored, it performs a diagnosis of the cause by the diagnostic means and returns the diagnostic results to the server, characterized in that

[0219] (Configuration 2) The remote diagnostic system according to Configuration 1, characterized in that the history management means records the jobs performed in the image forming apparatus along with the execution time, job type, and completion code.

[0220] (Configuration 3) The remote diagnostic system according to Configuration 2, characterized in that the diagnostic means takes the job type and the completion code as input and diagnoses the cause of the job failure with respect to the job history managed by the history management means.

[0221] (Configuration 4) The remote diagnostic system according to Configuration 3, characterized in that the diagnostic result management means stores the diagnostic result code of the diagnostic means in association with the execution time for each pair of the job type and the completion code.

[0222] (Configuration 5) The remote diagnostic system according to Configuration 4, characterized in that the diagnostic execution instruction means instructs the image forming apparatus to execute the diagnostic means by transmitting the job type and the completion code.

[0223] (Configuration 6) The remote diagnostic system according to Configuration 5, characterized in that the diagnostic means performs the diagnosis on a plurality of combinations of job types and exit codes when the image forming apparatus is in an idle state.

[0224] (Method) A remote diagnostic method using an image forming apparatus and a server connected via a network, wherein the image forming apparatus includes a history management means for recording the history of jobs performed within the image forming apparatus, a diagnostic means for diagnosing the cause of a job failure, and a diagnostic result management means for storing the diagnostic results of the diagnostic means, and the server includes a diagnostic execution instruction means for instructing the image forming apparatus to perform a diagnosis by the diagnostic means, and when the diagnostic means receives an instruction to perform a diagnosis from the diagnostic execution instruction means, if the diagnostic results for the latest job history are stored in the diagnostic result management means, the diagnostic means returns the diagnostic results to the server, and if they are not stored, the diagnostic means performs a diagnosis of the cause and returns the diagnostic results to the server, characterized in that

[0225] (Program) A computer program for controlling each of the means of one of the remote diagnostic systems configured in configurations 1 to 6. [Explanation of Symbols]

[0226] 100: Image forming apparatus 101: Remote Repair Management Server 102: Remote control instruction server 103: PC 104: Network

Claims

1. In a remote diagnostic system having an image forming apparatus and a server connected via a network, The image forming apparatus includes a history management means for recording the history of jobs performed within the image forming apparatus, a diagnostic means for diagnosing the cause of the job failure, and a diagnostic result management means for storing the diagnostic results of the diagnostic means. The server has diagnostic execution instruction means for instructing the image forming apparatus to perform a diagnosis using the diagnostic means, When the diagnostic means receives an instruction to perform a diagnosis from the diagnostic execution instruction means, if the diagnostic result for the latest job history is stored in the diagnostic result management means, it returns the diagnostic result to the server; otherwise, the diagnostic means performs a diagnosis of the cause and returns the diagnosis result to the server. A remote diagnostic system characterized by the following features.

2. The remote diagnostic system according to claim 1, characterized in that the history management means records the jobs performed in the image forming apparatus, along with the execution time, job type, and completion code.

3. The remote diagnostic system according to claim 2, characterized in that the diagnostic means takes the job type and the exit code as input and diagnoses the cause of the job failure with respect to the job history managed by the history management means.

4. The remote diagnostic system according to claim 3, characterized in that the diagnostic result management means stores the diagnostic result code of the diagnostic means in association with the execution time for each pair of the job type and the completion code.

5. The remote diagnostic system according to claim 4, characterized in that the diagnostic execution instruction means instructs the image forming apparatus to execute the diagnostic means by transmitting the job type and the completion code.

6. The remote diagnostic system according to claim 5, characterized in that the diagnostic means performs the diagnosis on a plurality of combinations of job types and exit codes when the image forming apparatus is in an idle state.

7. In a remote diagnostic method using an image forming apparatus and a server connected via a network, The image forming apparatus includes a history management means for recording the history of jobs performed within the image forming apparatus, a diagnostic means for diagnosing the cause of the job failure, and a diagnostic result management means for storing the diagnostic results of the diagnostic means. The server has diagnostic execution instruction means for instructing the image forming apparatus to perform a diagnosis using the diagnostic means, When the diagnostic means receives an instruction to perform a diagnosis from the diagnostic execution instruction means, if the diagnostic result for the latest job history is stored in the diagnostic result management means, the diagnostic means returns the diagnostic result to the server; otherwise, the diagnostic means performs a diagnosis of the cause and returns the diagnosis result to the server. A remote diagnostic method characterized by the following features.

8. A computer program for controlling each means of a remote diagnostic system according to any one of claims 1 to 6 by computer.