Image processing apparatus and image processing system

The image processing device addresses the inconvenience of manual program data handling by using a communication interface and controller to access and execute instruction data from an information processing device, thereby simplifying the expansion of device functions.

JP2025074091AActive Publication Date: 2025-05-13BROTHER KOGYO KK
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
JP2025024650
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2025-02-19
Publication Date
2025-05-13
Estimated Expiration
2040-09-30

AI Technical Summary

Technical Problem

Existing image forming apparatuses require users to manually store and mount a recording medium with program data to expand functions, which is inconvenient.

Method used

An image processing device equipped with a communication interface, memory, and controller that can execute storage processing for location and timing information, allowing it to access an information processing device to retrieve instruction data and execute processing based on that data.

Benefits of technology

Enables easier expansion of image processing device functions without the need for manual media handling, allowing for more streamlined and automated operation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025074091000001_ABST
    Figure 2025074091000001_ABST
Patent Text Reader

Abstract

To provide a technique that can more easily expand functions of an image processing apparatus.SOLUTION: A CPU 110 executes detection processing of detecting a timing indicated by an activation period, in response to the detection of the timing through the detection processing, access processing of accessing an information processing apparatus indicated by an URL through a communication IF 180, reception processing of receiving, through the communication IF 180, definition data indicated by the URL and transmitted by a server 250 in response to the access processing, and execution processing of executing processing according to the definition data received in the reception processing.SELECTED DRAWING: Figure 6
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present application relates to a technique for accessing an information processing device and causing an image processing device to execute processing in accordance with instruction data stored in the information processing device. [Background technology]

[0002] Patent Document 1 describes an image forming apparatus that, upon detecting the attachment of a recording medium, reads a program from the recording medium and executes the read program to expand its functions. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] JP 2004-46802 A Summary of the Invention [Problem to be solved by the invention]

[0004] However, in the image forming device described in Patent Document 1, in order to expand the functions, a program for expanding the functions must be stored on a recording medium and the recording medium must then be attached to the image forming device, which is cumbersome.

[0005] An object of the present application is to provide a technique that enables the functions of an image processing device to be expanded more easily. [Means for solving the problem]

[0006] In order to achieve the above-mentioned object, the image processing device of the present application is an image processing device equipped with a communication interface, a memory, and a controller, wherein the controller is capable of executing a storage process for storing location information and timing information of instruction data in the memory, the instruction data is data instructing the controller to execute a process and is stored in an information processing device capable of communicating via the communication interface, the timing information is information indicating the timing of accessing the information processing device that stores the instruction data indicated by the location information, and the controller executes a detection process for detecting the timing indicated by the timing information, an access process for accessing the information processing device indicated by the location information via the communication interface in response to the timing being detected by the detection process, a reception process for receiving via the communication interface the instruction data indicated by the location information that was sent by the information processing device in response to the access process, and an execution process for executing a process in response to the instruction data received by the reception process. Effect of the Invention

[0007] According to the present application, it becomes possible to more easily expand the functions of an image processing device. [Brief description of the drawings]

[0008] [Figure 1] FIG. 1 is a block diagram of an image processing system according to an embodiment of the present application. [Diagram 2] 1A and 1B are diagrams showing an example of instruction data ((a)) and examples of warning displays ((b) and (c)). [Diagram 3] 13 is a flowchart showing a procedure for an external application registration process. [Figure 4] 13 is a flowchart showing a procedure for a timer monitoring process. [Diagram 5] 10 is a flowchart showing a procedure for processing when changing network settings. [Figure 6] 13 is a flowchart showing a procedure for an external application execution process. [Figure 7]7 is a flowchart showing a subsequent procedure of the external application execution process of FIG. 6. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0009] Hereinafter, an embodiment of the present application will be described in detail with reference to the drawings. Fig. 1 shows the control configuration of an image processing system 1 including an MFP 100 (an example of an "image processing device") according to an embodiment of the present application. The image processing system 1 includes the MFP 100, a PC 200, a router 220, and a server 250 (an example of an "information processing device"). Note that MFP is an abbreviation for multifunction peripheral.

[0010] The MFP 100 and the PC 200 are capable of communicating with each other via a router 220 and a communication network 240. A specific example of the communication network 240 is not particularly limited, and may be, for example, a wired LAN, a wireless LAN, or a combination of these. The router 220 and the server 250 are also capable of communicating with each other via the Internet 300. Therefore, the MFP 100, the PC 200, and the server 250 are capable of communicating with each other.

[0011] The MFP 100 mainly comprises a printer 130, a scanner 140, a FAX unit 150, a display 160, an input IF 170, a communication IF 180, a CPU 110, a memory 120, and a communication bus 190. Note that IF is an abbreviation of interface. The components constituting the MFP 100 are connected to each other via the communication bus 190.

[0012] The printer 130 executes a print operation to record an image indicated by image data on a sheet. The printer 130 may employ a known method such as an inkjet method or an electrophotographic method. The scanner 140 executes a scan operation to read an image recorded on an original and generate image data. The FAX unit 150 executes a FAX transmission operation to transmit the image data to an external device by FAX, and a FAX reception operation to receive the image data from the external device by FAX. The MFP 100 may include at least one of the printer 130, the scanner 140, and the FAX unit 150.

[0013] The input IF 170 is a user interface that accepts input operations by a user. Specifically, the input IF 170 has a button, and outputs various operation signals associated with a pressed button to the CPU 110. Furthermore, the input IF 170 may have a membrane-like touch sensor superimposed on the display surface of the display 160. An operation of designating an object displayed on the display surface of the display 160, and an operation of inputting a character string or a numeric string are examples of user operations. An "object" is, for example, a character string, an icon, a button, a link, a pull-down menu, etc. displayed on the display 160.

[0014] The input IF 170 realized as a touch sensor outputs position information indicating the position on the display surface touched by the user. In this specification, "touch" includes the general operation of bringing an input medium into contact with the display surface. In addition, the concept of "touch" may include "hover" or "floating touch" in which the input medium is brought close to a position where the distance between the input medium and the display surface is very small, even if the input medium is not touching the display surface. Furthermore, the input medium may be the user's finger or a touch pen. A user operation of tapping the position of an icon displayed on the display 160 is an example of a designation operation for designating the icon.

[0015] The communication IF 180 is for communicating with external devices via the communication network 240. That is, the MFP 100 transmits various types of information to the PC 200 and the server 250 via the communication IF 180, and receives various types of data or information from the PC 200 and the server 250 via the communication IF 180.

[0016] The CPU 110 controls the overall operation of the MFP 100. The CPU 110 retrieves from the memory 120 various programs, which will be described later with reference to Figures 3 to 7, and executes them based on various signals output from the input IF 170 and various information retrieved from external devices via the communication IF 180.

[0017] The memory 120 stores an OS 121 and a control program 122. The control program 122 may be a single program or a collection of multiple programs. The memory 120 also stores data or information required for executing the control program 122. The memory 120 is configured by, for example, a RAM, a ROM, an NVM, an EEPROM, an HDD, a portable storage medium such as a USB memory that is detachably attached to the MFP 100, a buffer provided in the CPU 110, or a combination of these. Note that NVM is an abbreviation for non-volatile memory.

[0018] The memory 120 may be a computer-readable storage medium. A computer-readable storage medium is a non-transitory medium. In addition to the above examples, non-transitory media also include recording media such as CD-ROMs and DVD-ROMs. Non-transitory media are also tangible media. On the other hand, an electrical signal carrying a program downloaded from a server 250 on the Internet is a computer-readable signal medium, which is a type of computer-readable medium, but is not included in non-transitory computer-readable storage media.

[0019] Control program 122 includes a program that causes MFP 100 to realize an external application. The external application is a program that causes CPU 110 to cause MFP 100 to execute an operation defined in definition data (an example of "instruction data"). Then, when a program record is registered in the program list, CPU 110 becomes able to cause MFP 100 to execute the operation defined in the definition data.

[0020] The memory 120 can store a program list, for example, as shown in Fig. 2(a). The program list includes one or more program records. When the control program 122 is installed, no program records are registered in the program list. However, for example, in response to a user's registration operation, a program record is registered in the program list.

[0021] The program record includes a program ID, address information corresponding to the program ID (an example of "location information"), whether or not the program is to be started periodically, and the start cycle (an example of "timing information"). The program ID is information for identifying definition data used in an external application. The definition data is described, for example, in XML. An XML file is an example of definition data in text format, but the definition data may be binary data or binarized text data. The address information may be, for example, information indicating the location of definition data used in an external application identified by the corresponding program ID. The address information may be, for example, a URL including a server address that identifies server 250 that stores the XML file.

[0022] In this specification, the term basically refers to the processing of the CPU 110 according to the instructions written in the program. In other words, the processing of "judgment," "extraction," "selection," "calculation," "decision," "identification," "acquisition," "acceptance," "control," "setting," and the like in the following description represents the processing of the CPU 110. The processing by the CPU 110 also includes hardware control via the OS. Note that "acquisition" is used as a concept that does not require a request. In other words, the processing of the CPU 110 receiving data without a request is also included in the concept of "the CPU 110 acquiring data." In addition, "data" in this specification is represented by a bit string that can be read by a computer. Data that has the same substantial meaning but different formats is treated as the same data. The same applies to "information" in this specification. In addition, the processing of "command," "response," "request," and the like is performed by communicating information indicating the "command," "response," "request," and the like. In addition, the words "command," "response," "request," and the like may be written to mean the information itself indicating the "command," "response," "request," and the like.

[0023] Fig. 3 shows the procedure of an external application registration process executed by MFP 100, particularly CPU 110. In the following description of each process procedure, steps are denoted as "S". The external application registration process in Fig. 3 is started, for example, when CPU 110 receives an instruction to register an external application from PC 200. Note that the external application registration process may also be started when CPU 110 receives an instruction to register an external application from input IF 170 of MFP 100.

[0024] In FIG. 3, first, the CPU 110 registers in the memory 120 the parameters included in the external application registration instruction received from the PC 200 (S2).

[0025] Next, the CPU 110 judges whether the registered parameter is a parameter indicating periodic startup (S4). If it is judged that the registered parameter is a parameter indicating periodic startup (S4: YES), the CPU 110 judges whether an external application that is to be periodically started has already been registered (S6). If it is judged that an external application that is to be periodically started has already been registered (S6: YES), the CPU 110 calculates the overlapping ratio between the startup period of the external application to be registered and the startup period of the external application already registered (S8). For example, in the program list of FIG. 2(a), when the program records of the program ID "Pull Print" and the program ID "Send Status" are registered and a program record of the program ID "Print from Server" is to be registered, when the external application indicated by the program ID "Print from Server" is started three times, it overlaps with the startup of the external application indicated by the program ID "Send Status" once. In this case, the CPU 110 calculates the overlapping ratio of the startup periods as 1 / 3×100≒33(%).

[0026] Next, CPU 110 judges whether the calculated ratio exceeds a threshold value (S10). If the threshold value is, for example, 80%, the calculated ratio does not exceed the threshold value in the example program list of FIG. 2(a). If it is judged in S10 that the calculated ratio exceeds the threshold value (S10: YES), CPU 110 displays a warning about the overlapping ratio on display 160 (S12). FIG. 2(b) shows an example of warning display 160a.

[0027] Next, CPU 110 judges whether or not, for example, "Yes" button 160a1 provided on warning display 160a has been operated (S14). In this judgment, if it is judged that "No" button 160a2 has been operated (S14: NO), CPU 110 executes registration failure processing (S16) and then terminates the external application registration processing. Here, the registration failure processing is specifically processing for notifying the user that the external application registration has failed together with the cause of the error, for example processing for displaying on display 160.

[0028] On the other hand, if it is determined in the above-mentioned S14 that the "Yes" button 160a1 has been operated (S14: YES), the CPU 110 executes a registration success process (S18) and then ends the external application registration process. Here, the registration success process is specifically a process of registering the program record to be registered in the program list and storing it in the memory 120, and starting the timer associated with the registered program record. Together with this process, a process of notifying the user that the external application registration has been successful, for example, a process of displaying the result on the display 160, may be performed.

[0029] On the other hand, if the calculated ratio does not exceed the threshold value in the judgment at S10 above (S10: NO), or if the external application that is launched periodically is determined to have not yet been registered in the judgment at S6 above (S6: NO), CPU 110 executes the registration success processing at S18 above.

[0030] On the other hand, if it is determined in the above S4 that the registered parameters are not parameters indicating periodical startup (S4: NO), CPU 110 executes normal registration processing (S20) and then terminates the external application registration processing. Here, the normal registration processing is processing for registering an external application that is not periodically started by a timer. Along with this processing, processing for notifying the user that the external application has been normally registered, for example, processing for displaying on display 160, may be performed. Note that the external application registered by the normal registration processing is started in response to, for example, receiving a startup instruction from input IF 170 of MFP 100.

[0031] In this way, in the external application registration process, when multiple external applications that are periodically started are registered, the percentage of overlapping periodic start cycles is calculated, and if the calculated percentage exceeds a predetermined threshold, a warning is displayed that the number of external applications that will fail to start periodically will increase. This allows the user of the MFP100 to know that the number of external applications that will fail to start periodically will increase before the external applications are actually started periodically, and allows the user to take effective measures such as changing the periodic start cycle.

[0032] 4 shows the procedure of the timer monitoring process. The timer monitoring process is always executed when the registration success process (S18 in FIG. 3) is executed by the external application registration process and one or more timers are validly registered.

[0033] 4, first, CPU 110 waits a certain period of time (S30), and then compares the current time with the time-up time of the timer (S32). Then, CPU 110 judges whether or not there is a timer whose time-up time has expired (S34). If it is judged that there is no timer whose time-up time has expired (S34: NO), CPU 110 returns the process to S30. On the other hand, if it is judged that there is a timer whose time-up time has expired (S34: YES), CPU 110 issues an instruction to start the corresponding external application (S36). This instruction to start the external application is used in the judgment in S60 of the external application execution process described later with reference to FIG. 6.

[0034] Then, the CPU 110 sets the next time that the timer will expire (S38), and then returns the process to S34.

[0035] FIG. 5 shows a procedure of the network setting change process. The network setting change process is started when the network setting for the communication IF 180 or the router 220 is changed. The network setting is the network setting for the MFP 100, and is stored in the memory 120. Examples of the network setting include an IP address and a proxy setting. An instruction to change the network setting is accepted from, for example, the input IF 170 or the PC 200. Then, in response to accepting the instruction to change the network setting, the CPU 110 executes the network setting change process and changes the network setting of the MFP 100 to the instructed setting. This network setting change process operates separately from the network setting change process. Then, when the network setting is changed by the network setting change process, the CPU 110 generates, for example, an event that starts the network setting change process. In response to the occurrence of this event, the CPU 110 starts the network setting change process.

[0036] In FIG. 5, first, the CPU 110 judges whether or not an external application that is periodically started is registered (S50). Taking the program list of FIG. 2(a) as an example, in S50, the CPU 110 judges whether or not there is a program record with a circle in the "periodically started" field. If it is judged that an external application that is periodically started is registered (S50: YES), the CPU 110 checks the connection to the server 250 (S52). Any method may be used for the connection check, but as an example, a method may be used in which a ping command is sent from the communication IF 180 to the server 250, and the connection is judged to have been successful when a response is received from the server 250. At this time, the CPU 110 sends the ping command to the server 250 indicated by the address information of the external application that is periodically started, for example, the URL of one of the program records in the program list of FIG. 2(a). Instead of the method of sending the ping command, the CPU 110 may check the connection depending on whether or not the definition data indicated by the URL of one of the program records has been acquired. In this case, CPU 110 does not perform processing according to the definition data, since the purpose is to check the connection.

[0037] Next, CPU 110 determines whether the connection was successful (S54). If it is determined that the connection was successful (S54: YES), CPU 110 ends the network setting change process. On the other hand, if it is determined that the connection was unsuccessful (S54: NO), CPU 110 notifies the user of a connection error (S56) and then ends the network setting change process. Figure 3(c) shows an example of a connection error displayed on display 160 as an example of a connection error notification.

[0038] On the other hand, if it is determined in the above step S50 that an external application that is to be started periodically is not registered (S50: NO), the CPU 110 ends the network setting change process.

[0039] In this manner, in the network setting change process, when the network settings are changed, a connection check to server 250 is performed before the external application is actually started periodically. As a result, if the connection to server 250 is successful, when the external application is started periodically, the definition data used in the external application can be correctly read from server 250. On the other hand, if the connection to server 250 has failed, the user of MFP 100 can know the cause in advance and can take effective measures such as correcting the network settings.

[0040] Fig. 6 shows the procedure of the external application execution process. The external application execution process starts in response to the start of the timer monitoring process in Fig. 4, and ends in response to the end of the timer monitoring process.

[0041] In FIG. 6, first, CPU 110 waits until a timer monitoring process instructs it to start the corresponding external application (S60: NO), and when the timer monitoring process instructs it to start the corresponding external application (S60: YES), CPU 110 starts the access process to the corresponding external application (S62).

[0042] Next, CPU 110 judges whether the access process to the relevant external application has been started normally (S64). If it is judged that the access process to the relevant external application has not been started normally (S64: NO), CPU 110 advances the process to S74. Here, the main reason why the access process to the relevant external application has not been started normally is conflict with other processes. For example, if a user of MFP 100 instructs periodic startup of an external application while printing using printer 130, the startup process of the external application is not executed. If the cause of the error can be acquired, CPU 110 stores the acquired cause of the error in memory 120.

[0043] On the other hand, if it is determined in S64 that the access process to the relevant external application has been executed (S64: YES), the CPU 110 accesses the server 250 (S66).

[0044] Next, CPU 110 judges whether or not server 250 has been accessed (S68). If it is judged that server 250 has not been accessed (S68: NO), CPU 110 advances the process to S74. Here, the main cause of the inability to access server 250 is a network error. If the cause of this error can be acquired, CPU 110 stores the acquired cause of the error in memory 120.

[0045] On the other hand, if it is determined in S68 that server 250 has been accessed (S68: YES), CPU 110 executes the corresponding external application (S70). For example, when the timer associated with program ID "Send Status" in the program list of FIG. 2(a) completes timing of the startup period "3 hours" after starting timing, startup of the external application identified by program ID "Send Status" is instructed in S36 of the timer monitoring process (FIG. 4), so CPU 110 reads out definition data in the location path of server 250 indicated by URL "http: / / serveraddress / sendstatus.xml". Then, based on this definition data "sendstatus.xml", CPU 110 causes MFP 100 to execute an operation of transmitting the current status of MFP 100 to server 250 via communication IF 180.

[0046] Next, CPU 110 judges whether the corresponding external application was executed normally (S72). If it is judged that the corresponding external application was executed normally (S72: YES), CPU 110 ends the external application execution process. On the other hand, if it is judged that the corresponding external application was not executed normally (S72: NO), CPU 110 advances the process to S74.

[0047] As an example, in the program list of FIG. 2(a), the program record identified by the program ID "Send Status" is definition data consisting of a plurality of XML files that causes MFP 100 to execute an operation of transmitting the current status of MFP 100 to server 250 via communication IF 180. The URL included in the program record indicates the XML file that should be processed first among the plurality of XML files. Each XML file also describes identification information of the XML file that should be processed next. CPU 110 processes the XML files in order according to this description. The XML file that is processed last may contain information indicating the success of application execution. Also, the information indicating the success of application execution may be contained in an XML file other than the XML file that is processed last.

[0048] As another example, a program record identified by the program ID “Print from Server” is definition data consisting of a single XML file that causes MFP100 to perform an operation in which printer 130 records on a sheet an image represented by image data received from the server via communication IF180.

[0049] In S72 above, CPU 110 may determine "YES" if the first XML file received from server 250 is successfully processed. Alternatively, CPU 110 may process the XML files received from server 250 in order, and determine "YES" if the XML file containing information indicating successful application execution is successfully processed.

[0050] The XML file used in the judgment in S72 may be an XML file for actually launching the external application, that is, an XML file indicated by a URL in the program list in Figure 2(a) above, or it may be an XML file created for the judgment purpose.

[0051] In S74, CPU 110 judges whether or not the number of consecutive failures has exceeded the designated number. If it is judged that the number of consecutive failures has not yet exceeded the designated number (S74: NO), CPU 110 returns the process to S60. The reason why the process is returned to S60 when the number of consecutive failures has not yet exceeded the designated number is that if the cause of the failure is not something that occurs constantly, the same external application may be successful when it is launched again periodically.

[0052] On the other hand, if it is determined in S74 that the number of consecutive failures exceeds the designated number (S74: YES), the CPU 110 advances the process to S76 in FIG.

[0053] If it is determined in steps S76 to S80 that the cause of the consecutive failures is a device error (S76: YES), a network error (S78: YES), or a conflict with another process (S80: NO), the CPU 110 proceeds to S82. On the other hand, if it is determined in steps S76 to S80 that the cause of the consecutive failures is not a device error (S76: NO), not a network error (S78: NO), or a conflict with another process (S80: YES), the CPU 110 proceeds to S86.

[0054] In S82, the CPU 110 judges whether the cause of the consecutive failures is a cause that may be resolved by rebooting. Specifically, among the error causes included in the device error, those that may be resolved by rebooting include an error in which the stack in the memory 120 exceeds the maximum layer and the function is locked, and an abnormal temperature rise in the MFP 100 main body. On the other hand, among the error causes included in the device error, those that may not be resolved by rebooting include paper jams and physical troubles (opening of the main body cover, damage to the drum / ADF, etc.). Furthermore, among the error causes included in the network error, those that may be resolved by rebooting include duplication of IP addresses and connection troubles with devices. On the other hand, among the error causes included in the network error, those that may not be resolved by rebooting include a disconnection of the LAN cable. Furthermore, among the error causes included in the collision with other processes, those that may be resolved by rebooting include during the operation of the MFP 100 by the user and overlapping of the startup cycle with other external applications that are periodically started.

[0055] If it is determined in the above S82 that the cause of the consecutive failures is not one that can be resolved by restarting (S82: NO), the CPU 110 proceeds to S86. On the other hand, if it is determined in the above S82 that the cause of the consecutive failures is one that can be resolved by restarting (S82: YES), the CPU 110 proceeds to S84.

[0056] In S84, CPU 110 judges whether or not the execution is not after reboot. If it is judged that the execution is after reboot (S84: NO), CPU 110 advances the process to S86. On the other hand, if it is judged that the execution is not after reboot (S84: YES), CPU 110 advances the process to S88.

[0057] In S86, CPU 110 ends the external application execution process after notifying the cause of the error. Examples of methods for notifying the cause of the error include sending the cause of the error to an administrator by email, displaying it on display 160, or printing it using printer 130. Examples of the notification content include the stage at which the error occurred (before or after starting the external application), the cause of the error (an error code indicating the cause of the error, conflicting processes, etc.), and a method of recovering from / avoiding the error (a method of resolving a device error, or, if there is an overlap in the startup cycle, a proposal for a cycle that does not overlap, etc.).

[0058] In S88, the CPU 110 executes the restart and then returns the process to S62 in Fig. 6. In other words, after the restart, the startup process of the external application is started immediately without waiting for the timer-based startup time to elapse in S60. This is because, if the startup cycle of the external application is set to, for example, one day, the startup process of the external application cannot be started until one day has elapsed after the restart, and it is not possible to immediately check whether the startup process of the external application has been successful after the restart.

[0059] Furthermore, if it is determined in the above S82 that the cause of the consecutive failures is one that may be resolved by restarting (S82: YES), the CPU 110 does not immediately execute restart, but before that, in the above S84, determines whether or not the execution is to be performed after restarting. This is because, if it is determined that the cause of the consecutive failures is one that may be resolved by restarting and restarting is executed, and the process proceeds to S82, the cause of the consecutive failures will be determined again in S82 as one that may be resolved by restarting, just as in the case where the process proceeded to S82 before that, and restarting will be executed repeatedly. To prevent this, the determination of S84 is inserted between S82 and S88.

[0060] In this way, in the external application execution process, if the failure occurs a certain number of times in succession and there is a possibility that the problem can be solved by restarting, the external application is restarted, so that the external application can be automatically restored to a state where it can be started periodically. This makes it possible to solve the situation where the periodic startup continues to fail.

[0061] Furthermore, if a certain number of consecutive failures occur and there is no possibility of resolving the problem by restarting the device, the device will not restart the device and will instead notify the user of the cause of the error, thereby preventing unnecessary restarts.

[0062] Furthermore, when it is determined in the above S80 that there is a conflict with other processes (S80: YES), the process does not proceed to the determination in S82, but proceeds to the process in S86. As described above, the cause of the error included in the conflict with other processes is during the user's operation of the MFP100, overlapping of the startup cycle with other external applications that are periodically started, and the like. If a restart is performed while the user is operating the MFP100, the user operation being performed is reset, which causes the user to feel uncomfortable. On the other hand, if the cause of the error is an overlapping startup cycle with other external applications that are periodically started, even if a restart is performed, it will fail again due to the same error cause, making the restart meaningless. For this reason, if the cause of the error is a conflict with other processes, the restart is not performed.

[0063] In this embodiment, if the determination in S84 is "YES", the restart is immediately performed, but the invention is not limited to this and it is also possible to configure settings related to the restart. Specifically, it is possible to configure settings for whether or not to restart, the number of failures before restarting, and the time period during which restart is permitted (e.g., outside business hours). If such settings can be configured, it is possible to prevent restarts that the user does not want to occur.

[0064] Also, server 250 may be configured to collect the implementation status of regular startup of external applications for a certain period of time, and the collected information may be reported or downloaded from server 250. This allows the user of MFP 100 to statistically grasp whether regular startup of external applications was successful or unsuccessful, making it possible to reduce the failure rate of regular startup in the medium to long term.

[0065] Furthermore, if a regular startup fails due to a device error, an error notification may be sent each time the regular startup fails, making it easier for the user to notice that a device error is the cause of the regular startup failure.

[0066] When starting such an external application using a conventional MFP, it was necessary to specify the external application to be started from an input IF provided in the MFP and then perform a user operation to instruct the execution of the external application. However, in the MFP100 of the present embodiment, the external application can be automatically started at a fixed interval by a timer, so that the user operation required to start an external application on a conventional MFP is no longer necessary, and it becomes possible to start the external application more easily. This makes it possible to more easily extend the functions of the MFP100 according to the external application.

[0067] In addition, whether or not to register a timer for an external application can be freely set (see S4 in FIG. 3 above), so it is possible to select between the conventional method of starting each external application in response to a user operation and the method of automatically starting each external application at regular intervals using a timer as in this embodiment. This allows for a variety of methods for starting each external application.

[0068] The present invention is not limited to the above-described embodiment, and various modifications are possible without departing from the spirit of the present invention. (1) In the above embodiment, the MFP 100 has been taken as an example of an image processing device. However, the image processing device is not limited to the MFP 100 and may be a standalone printer, scanner, or copier. (2) In the above embodiment, one CPU 110 is used as an example of a controller, but the present invention is not limited to this, and a controller consisting of multiple CPUs may be used, or a controller including a CPU consisting of multiple cores may be used. Also, the controller may have a CPU and a dedicated circuit. Examples of the dedicated circuit include an ASIC and an FPGA. (3) In the above embodiment, image processing system 1 includes only one MFP 100 and one server 250. However, the present invention is not limited to this, and image processing system 1 may include a plurality of MFPs 100 and a plurality of servers 250. [Explanation of symbols]

[0069] 1...image processing system, 100...MFP, 110...CPU, 120...memory, 121...OS, 122...control program, 130...printer, 140...scanner, 150...FAX unit, 160...display, 170...input IF, 180...communication IF, 190...communication bus, 200...PC, 220...router, 240...communication network, 250...server, 300...Internet.

Claims

1. A communication interface; Memory, A controller; An image processing device comprising: The controller: A storage process can be executed to store location information and timing information of instruction data in the memory, the instruction data being data instructing the controller to execute a process and stored in an information processing device communicable via the communication interface, and the timing information being information indicating the timing of accessing the information processing device storing the instruction data indicated by the location information, The controller: a detection process for detecting a timing indicated by the timing information; an access process for accessing an information processing device indicated by the location information via the communication interface in response to the timing being detected by the detection process; a receiving process of receiving, via the communication interface, the instruction data transmitted by the information processing device in response to the access process and indicated by the location information; an execution process for executing a process according to the instruction data received by the reception process; Execute Image processing device.

2. The instruction data is data instructing to obtain and print image data, The controller: In the execution process, printing is performed based on the instruction data. The image processing device according to claim 1 .

3. the instruction data is data for instructing the image processing device to transmit a setting status of the image processing device to the information processing device, The controller: In the execution process, the setting status of the device is transmitted to the information processing device via the communication interface. The image processing device according to claim 1 .

4. The controller: In the storage process, location information of a plurality of pieces of instruction data can be stored, and different timing information can be associated with each of the location information of the plurality of pieces of instruction data and stored; In response to the detection of a timing indicated by any one of the different timing information by the detection process, in the access process, an information processing device indicated by location information of instruction data associated with the timing information of the detected timing is accessed. The image processing device according to any one of claims 1 to 3.

5. The controller further comprises: a first determination process for determining whether or not the process from the start of the access process to the end of the execution process has been properly executed; a return execution process for executing a return process when it is determined that the process has not been properly executed by the first determination process; Execute The image processing device according to any one of claims 1 to 4.

6. The controller: In the recovery execution process, a process of rebooting the image processing device is executed as the recovery process. The image processing device according to claim 5 .

7. The controller further comprises: a second determination process for determining whether or not a process for restarting the image processing device has been properly executed in response to the execution of the process; Run In the second determination process, a plurality of pieces of instruction data each to be executed in sequence are received from the information processing device, and when a first piece of instruction data among the received pieces of instruction data to be executed in sequence has been processed, it is determined that the process has been properly executed. The image processing device according to claim 6.

8. The controller further comprises: a third determination process for determining whether or not a process for restarting the image processing device has been properly executed in response to the execution of the process; Run In the third determination process, a plurality of pieces of instruction data each to be executed in sequence are received from the information processing device, and a predetermined piece of instruction data includes information indicating proper execution, and it is determined that the process has been executed properly in response to processing the instruction data including the information indicating proper completion among the plurality of pieces of instruction data to be executed in sequence that have been received. The image processing device according to claim 6.

9. The controller further comprises: an acquisition process for acquiring information for identifying a cause of the process not being properly executed when the process is determined to have been not properly executed by the first determination process; a fourth determination process for determining whether or not there is a possibility of restoring the image processing device based on the information acquired by the acquisition process when executing a process for restarting the image processing device; Run the command, When it is determined that there is a possibility of restoring the image processing device in the fourth determination process, a process of restarting the image processing device is executed. The image processing device according to any one of claims 6 to 8.

10. The controller further comprises: A setting process for setting whether or not the image processing device is to be restored for each cause of the inappropriate execution of the process. Run In the fourth determination process, it is determined whether or not there is a possibility of restoring the image processing device based on whether or not there is a possibility of restoring the image processing device set by the setting process. The image processing device according to claim 9 .

11. The controller further comprises: a first notification process for performing a notification based on information determined by the determination process when it is determined by the fourth determination process that there is no possibility of restoring the image processing device; Execute 12. The image processing device according to claim 9 or 11.

12. The controller: when the process of restarting the image processing device is executed, the access process is executed immediately without waiting for the next timing to be detected by the detection process. The image processing device according to any one of claims 6 to 11.

13. The controller further comprises: a fifth determination process for determining whether or not there is a possibility that a process from the start of the access process to the end of the execution process will not be properly executed when the location information of the instruction data and the timing information are stored in the memory by the storage process and the information processing device is accessed at the timing indicated by the stored timing information; a second notification process for notifying the user that the process may not be executed properly when the fifth determination process determines that the process may not be executed properly; Execute The image processing device according to any one of claims 1 to 12.

14. The controller further comprises: A detection process for detecting that a setting change has been made to the communication interface; a third notification process for notifying the user that the setting has been changed when the detection process detects that the setting has been changed while the location information of the instruction data and the timing information are stored in the memory; Execute The image processing device according to any one of claims 1 to 13.

15. An image processing system including an image processing device and an information processing device connected to the image processing device, The image processing device includes: A first communication interface, a first memory, and a first controller; Equipped with The first controller is A storage process can be executed to store location information of instruction data and timing information in the memory, the instruction data being data instructing the controller to execute a process and stored in a second memory of the information processing device communicable via the first communication interface, and the timing information being information indicating a timing to access the information processing device storing the instruction data indicated by the location information, The first controller is a detection process for detecting a timing indicated by the timing information; an access process for accessing an information processing device indicated by the location information via the first communication interface in response to the timing being detected by the detection process; a receiving process of receiving, via the first communication interface, the instruction data transmitted by the information processing device in response to the access process and indicated by the location information; an execution process for executing a process according to the instruction data received by the reception process; Run The information processing device includes: A second communication interface; a second controller; Equipped with The second controller is a transmission process of transmitting, from the second communication interface to the image processing device, the instruction data indicated by the location information received from the image processing device via the second communication interface; Execute Image processing system.

Citation Information

Patent Citations

  • Image processing apparatus, software distribution system, install processing method, and program

    JP2010237840A

  • Image forming apparatus and program

    JP2011207218A

  • Image processing apparatus, system, control method for image processing apparatus, control method for system, and program

    JP2017016393A

  • Communication device and computer program

    JP2019067009A

  • Image_forming apparatus, program addition method and recording medium

    JP2004046802A