Image Processing Apparatus, Cooperative Processing Execution Method, and Cooperative Processing Execution Program
By setting the substitution process in the image processing device and executing the substitution process, the problem that the MFP cannot perform the cooperative process when the server cannot be communicated with the server is solved, and the cooperative process can be performed while the server instruction cannot be received, which shortens the user's waiting time.
Patent Information
- Application Number
- CN202211354328.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2021-11-05
- Filing Date
- 2022-11-01
- Publication Date
- 2025-06-27
- Estimated Expiration
- 2042-11-01
AI Technical Summary
In the case where the MFP cannot communicate with the server, the collaboration process cannot be performed, resulting in the user having to wait until the communication resumes, especially in the case where the cooperative process is controlled by the server, the MFP cannot receive the processing execution instructions.
After setting the cooperative process, the image processing device detects that the instruction cannot be received, generates a substitution process instead of the first process, and executes a substitution process. The device includes a first setting unit, an instruction receiving unit, a replacement processing generation unit, and an alternative processing execution unit to realize that a cooperative processing can be performed when a server instruction cannot be received.
By executing the substitution processing, the image processing device can still perform cooperative processing without receiving the server instruction, shortening the user's waiting time, and improving the reliability and user experience of the system.
Smart Images

Figure CN116095244B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to an image processing apparatus, a cooperative processing execution method, and a cooperative processing execution program. In particular, the present invention relates to an image processing apparatus capable of executing cooperative processing in cooperation with a server, a cooperative processing execution method executed by the image processing apparatus, and a cooperative processing execution program that causes a computer controlling the image processing apparatus to execute the cooperative processing execution method. Background Art
[0002] In recent years, techniques for controlling a multifunction peripheral device (hereinafter referred to as "MFP") to cooperate with a server have been known. For example, Japanese Patent Application Laid-Open No. 2011-119939 discloses an image processing apparatus capable of executing at least one image processing function, characterized by comprising: an HTTP communication unit that communicates via HTTP; a request unit that requests HTML data of an operation screen from a Web server via the HTTP communication unit; and a display control unit that receives the HTML data of the operation screen transmitted by the Web server in response to a request issued by the request unit, draws the HTML data of the operation screen, and displays it on an operation unit. When the HTML data of the operation screen cannot be received due to a communication error, the display control unit displays a substitute operation screen on the operation unit, and the substitute operation screen is used to perform operations related to the at least one image processing function.
[0003] In the image processing apparatus described in Japanese Patent Application Laid-Open No. 2011-119939, when communication with the server is impossible, a substitute operation screen for performing operations related to the image processing function is displayed on the operation unit. Therefore, even when the MFP is in a state where communication with the server is impossible, the MFP can execute processing.
[0004] On the other hand, sometimes services provided by a service providing server connected to the Internet are used, and a series of cooperative processing including processing executed in the MFP and processing executed in the service providing server is executed in cooperation between the MFP and the service providing server. In this case, there is a problem that cooperative processing cannot be executed when the MFP is in a state where communication with the server is impossible, and the user has to wait until communication between the MFP and the server can be restored. In particular, in the case where the server controls the cooperative processing, the MFP cannot execute the cooperative processing because it cannot receive an execution instruction for the processing borne by the MFP.
[0005] Prior Art Documents
[0006] Patent Documents
[0007] Patent Document 1: Japanese Patent Application Laid-Open No. 2011-119939 Summary of the Invention
[0008] The present invention is made to solve the above problems, and one object of the present invention is to provide an image processing apparatus capable of shortening the waiting time of a user during the execution of a process in cooperation with a server.
[0009] Another object of the present invention is to provide a cooperative processing execution method capable of shortening the waiting time of a user during the execution of a process in cooperation with a server.
[0010] Still another object of the present invention is to provide a cooperative processing execution program capable of shortening the waiting time of a user during the execution of a process in cooperation with a server.
[0011] To achieve the above object, according to one aspect of the present invention, an image processing apparatus includes: a first setting unit that sets a cooperative process including a first process and a second process that cooperate with each other in a server that provides a service for determining the cooperative process; an instruction receiving unit that receives an instruction to execute the first process; a substitute process generation unit that generates a substitute process for the first process when it is detected that an instruction cannot be received after the cooperative process is set; and a substitute process execution unit that executes the substitute process.
[0012] According to this aspect, when it is detected that an instruction to execute the first process cannot be received after the cooperative process is set, a substitute process for the first process is generated and the substitute process is executed. Therefore, since the substitute process that substitutes for the first process of the cooperative process set in the server is executed, the cooperative process can be executed even when an instruction from the server cannot be received. Therefore, the user does not need to wait until an instruction from the server is received. As a result, an image processing apparatus capable of shortening the waiting time of a user during the execution of a process in cooperation with a server can be provided.
[0013] Preferably, it further includes: a first communication control unit that establishes a first communication path for the first setting unit to communicate with the server; a second communication control unit that establishes a second communication path different from the first communication path for receiving an instruction; and a monitoring unit that monitors the state of the second communication path, and when the monitoring unit detects a state in which communication cannot be performed using the second communication path, the substitute process generation unit determines that an instruction cannot be received.
[0014] According to this aspect, since the first communication path established for communicating with the server is different from the second communication path established for receiving an instruction, an instruction for executing the first process of the cooperative process set in the server can be received from the server.
[0015] Preferably, an execution result sending unit is further provided, which corresponds to the instruction received by the instruction receiving unit and sends the execution result obtained by executing the alternative process instead of the process execution unit to the server.
[0016] According to this aspect, since the execution result obtained by executing the alternative process is sent to the server, the second process of the collaborative process is executed in the server. Therefore, it is possible to execute the collaborative process even if no instruction is received from the server.
[0017] Preferably, after the monitoring unit detects the restoration of the state where communication can be performed using the second communication path, the execution result sending unit sends the execution result according to the instruction received by the instruction receiving unit.
[0018] According to this aspect, since the execution result obtained by executing the alternative process is sent to the server, the collaborative process is executed. Therefore, it is possible to execute the collaborative process even if no instruction is received from the server.
[0019] Preferably, an execution result sending unit is further provided, which sends the execution result obtained by the alternative process execution unit executing the alternative process via a communication path different from the second communication path.
[0020] According to this aspect, since the execution result obtained by executing the alternative process is sent to the server, the collaborative process is executed. Therefore, the collaborative process can be executed.
[0021] Preferably, a second setting unit is further provided, which accepts the setting for determining the alternative process, and the alternative process generation unit generates the alternative process according to the setting accepted by the second setting unit.
[0022] According to this aspect, since the alternative process is generated according to the accepted setting, if the same setting as the first process is accepted, the same process as the collaborative process can be executed.
[0023] Preferably, when it is detected that an instruction cannot be received after the collaborative process is set, the alternative process generation unit generates the alternative process when all of a predetermined one or more states are detected, otherwise, the alternative process generation unit does not generate the alternative process.
[0024] According to this aspect, when it is detected that an instruction cannot be received after the collaborative process is set, the alternative process is generated when a predetermined one or more states are detected. Therefore, it is possible to accurately detect the situation where an instruction cannot be received.
[0025] Preferably, a detection unit is further provided, which detects the operator, and the predetermined one or more states include the state where the operator who sets the collaborative process continues to operate.
[0026] Preferably, one or more of the predetermined states include a state in which a communication path used in the setting of the cooperation process performed by the first setting unit is established.
[0027] Preferably, a setting screen display unit is further provided to display side by side a substitution process setting screen for setting a substitution process and a cooperation setting screen for setting a cooperation process.
[0028] According to this aspect, it is easy to perform an operation of setting the same settings as those of the first process in the substitution process.
[0029] According to another aspect of the present invention, in a cooperation process execution method, an image processing apparatus executes: a first setting step of setting, in a server, a cooperation process including a first process and a second process that cooperate with each other, the server providing a service for determining the cooperation process; an instruction reception step of receiving an instruction to execute the first process; a substitution process generation step of generating a substitution process for substituting the first process when it is detected that an instruction cannot be received after the cooperation process is set; and a substitution process execution step of executing the substitution process.
[0030] According to this aspect, it is possible to provide a cooperation process execution method that can shorten the waiting time of a user in the process of executing a process in cooperation with a server.
[0031] According to still another aspect of the present invention, a cooperation process execution program causes a computer that controls an image processing apparatus to execute: a first setting step of setting, in a server, a cooperation process including a first process and a second process that cooperate with each other, the server providing a service for determining the cooperation process; an instruction reception step of receiving an instruction to execute the first process; a substitution process generation step of generating a substitution process for substituting the first process when it is detected that an instruction cannot be received after the cooperation process is set; and a substitution process execution step of executing the substitution process.
[0032] According to this aspect, it is possible to provide a cooperation process execution program that can shorten the waiting time of a user in the process of executing a process in cooperation with a server. BRIEF DESCRIPTION OF THE DRAWINGS
[0033] Figure 1 is a diagram showing an example of an outline of an information processing system according to one embodiment of the present invention.
[0034] Figure 2 is a block diagram showing an example of an outline of the hardware configuration of an MFP.
[0035] Figure 3 is a diagram showing an outline of the flow of an interlocking process.
[0036] Figure 4 is a diagram showing an example of a message sent from a management server to an MPF.
[0037] Figure 5 It is a diagram showing an outline of a cooperation process when a communication failure occurs.
[0038] Figure 6 It is a block diagram showing an example of functions of a CPU included in an MFP.
[0039] Figure 7 It is a diagram showing an example of a connection error notification screen.
[0040] Figure 8 It is a diagram showing an example of a display state of a connection error notification screen.
[0041] Figure 9 It is a diagram showing an example of a substitute processing setting screen.
[0042] Figure 10 It is a flowchart showing an example of a process of executing a cooperation process.
[0043] Figure 11 It is a flowchart showing an example of a process of non-receivable confirmation processing.
[0044] Figure 12 It is a flowchart showing an example of a process of executing result sending processing.
[0045] (Reference Signs)
[0046] 1: Information processing system; 100, 100A: MFP; 200: Service providing server; 300: Management server; 5: Internet; 7: Gateway device; 111: CPU; 112: Communication I / F unit; 113: ROM; 114: RAM; 115: HDD; 116: Fax unit; 117: External storage device; 118: CD-ROM; 120: Automatic document feeder; 130: Document reading unit; 140: Image forming unit; 150: Paper feeding unit; 155: Post-processing unit; 160: Operation panel; 161: Display unit; 163: Operation unit; 165: Touch panel; 167: Hard key unit; 51: First communication control unit; 53: Second communication control unit; 55: First setting unit; 57: Substitute processing generation unit; 59: Processing execution unit; 61: Monitoring unit; 63: Execution result sending unit; 65: Instruction receiving unit; 71: Second setting unit; 73: Non-receivable confirmation unit; 75: Substitute processing execution unit; 77: First task execution unit. Detailed Embodiments
[0047] Hereinafter, embodiments of the present invention will be described with reference to the accompanying drawings. In the following description, the same reference signs are assigned to the same components. Their names and functions are also the same. Therefore, detailed descriptions thereof will not be repeated.
[0048] Figure 1 This is an example of a diagram showing an overview of an information processing system according to one embodiment of the present invention. Refer to Figure 1 , the information processing system 1 includes: MFPs (Multi Function Peripherals) 100 and 100A that function as image processing devices; a management server 300 that manages the MFPs 100 and 100A; a service providing server 200 that provides services; and a gateway (G / W) device 7.
[0049] The management server 300, the service providing server 200, and the gateway device 7 are respectively connected to the Internet 5 and can communicate with each other via the Internet 5.
[0050] The gateway device 7 is also connected to a local area network (LAN) 3. The MFPs 100 and 100A are respectively connected to the LAN 3. The gateway device 7 can communicate with the MFPs 100 and 100A connected to the LAN 3. Furthermore, the gateway device 7 and the MFPs 100 and 100A can respectively communicate with other computers connected to the LAN 3.
[0051] The gateway device 7 has a firewall function that connects the internal LAN 3 of the firewall to the external Internet 5 of the firewall. The gateway device 7 restricts access from computers connected to the Internet 5 to the MFPs 100 and 100A connected to the LAN 3. Therefore, access to the MFPs 100 and 100A implemented by the management server 300 and the service providing server 200 is restricted. The firewall function of the gateway device 7 is not particularly limited and is a packet filtering type firewall function that determines whether to permit or not permit communication based on the address included in the packet. Incidentally, the firewall can also be an application type that controls communication with the outside instead of at the level of the application layer protocol.
[0052] The management server 300 and the service providing server 200 are each ordinary computers. Therefore, the hardware structures of the service providing server 200 and the management server 300 are well-known and will not be repeated here. In addition, since the hardware structures and functions of the MFPs 100 and 100A are the same, the MFP 100 will be described as an example here.
[0053] Figure 2 This is an example of a block diagram showing an overview of the hardware structure of the MFP. Refer to Figure 2, the MFP 100 includes: a main circuit 110; an original document reading unit 130 for reading an original document; an automatic document feeder 120 for feeding the original document to the original document reading unit 130; an image forming unit 140 for forming an image on a sheet of paper or the like based on the image data output by reading the original document by the original document reading unit 130; a paper feeding unit 150 for supplying paper to the image forming unit 140; a post-processing unit 155 for processing the sheet of paper on which the image is formed; and an operation panel 160 as a user interface.
[0054] The post-processing unit 155 performs: a collating process of sorting and discharging one or more sheets of paper on which the image is formed by the image forming unit 140, a punching process of performing punching, and a binding process of driving binding pins.
[0055] The main circuit 110 includes a central processing unit (CPU) 111, a communication interface (I / F) unit 112, a ROM (Read-Only Memory) 113, a RAM (Random Access Memory) 114, an HDD (Hard-Disk Drive) 115 as a mass storage device, a facsimile unit 116, and an external storage device 117 equipped with a CD-ROM (Compact Disk-ROM). The CPU 111 is connected to the automatic document feeder 120, the original document reading unit 130, the image forming unit 140, the paper feeding unit 150, the post-processing unit 155, and the operation panel 160 to control the overall MFP 100.
[0056] The ROM 113 stores programs executed by the CPU 111 or data required to execute the programs. The RAM 114 is used as a work area when the CPU 111 executes programs. In addition, the RAM 114 temporarily stores the read data (image data) continuously sent from the original document reading unit 130.
[0057] The operation panel 160 is provided on the upper surface of the MFP 100 and includes a display unit 161 and an operation unit 163. The display unit 161 is a display device such as a liquid crystal display device (LCD) or an organic ELD (Electro-Luminescence Display), and displays an instruction menu for the user, information related to the acquired image data, and the like. The operation unit 163 includes a hard key unit 167 including a plurality of keys, and accepts input of various instructions, characters, numbers, and other data corresponding to the keys through user operations. The operation unit 163 also includes a touch panel 165 provided on the display unit 161.
[0058] The communication I / F unit 112 is an interface for connecting the MFP 100 to the LAN 3. The CPU 111 communicates with devices connected to the LAN 3 via the communication I / F unit 112, sending and receiving data. Furthermore, the communication I / F unit 112 can communicate with computers connected to the Internet 5, such as the management server 300 and the service providing server 200, via the gateway device 7.
[0059] The fax unit 116 is connected to the public switched telephone network (PSTN), sending fax data to the PSTN or receiving fax data from the PSTN. The fax unit 116 stores the received fax data in the HDD 115 or outputs it to the image forming unit 140. The image forming unit 140 prints the fax data received by the fax unit 116 onto paper. Additionally, the fax unit 116 converts the data stored in the HDD 115 into fax data and sends it to a fax device connected to the PSTN.
[0060] The external storage device 117 mounts the CD-ROM 118. The CPU 111 can access the CD-ROM 118 via the external storage device 117. The CPU 111 loads the program recorded in the CD-ROM 118 mounted on the external storage device 117 into the RAM 114 and executes it. Incidentally, as the medium for storing the program executed by the CPU 111, it is not limited to the CD-ROM 118, and can also be an optical disc (MO (Magnetic Optical Disk) / MD (Mini Disc) / DVD (Digital Versatile Disc)), an IC card, an optical card, a mask ROM, a semiconductor memory such as an EPROM (Erasable Programmable ROM), etc.
[0061] In addition, the CPU 111 can also load the program stored in the HDD 115 into the RAM 114 and execute it. In this case, the program stored in the HDD 115 of the MFP 100 can also be rewritten by another computer connected to the LAN 3 or the Internet 5, or a new program can be appended and written. Furthermore, the MFP 100 can also download a program from another computer connected to the LAN 3 or the Internet 5 and store the program in the HDD 115. The program mentioned here not only includes programs that the CPU 11 can directly execute, but also includes source programs, compressed programs, encrypted programs, etc.
[0062] In the information processing system 1 of the present embodiment, the service providing server 200 is accessed from the MFP 100 connected to the LAN 3 inside the firewall, and performs processing for providing services in accordance with instructions issued by the user operating the MFP 100. Incidentally, the service providing server 200 may also be accessed from a PC connected to the Internet 5 outside the firewall, and performs processing for providing services in accordance with instructions issued by the user operating the PC.
[0063] The services provided by the service providing server 200 include services for performing collaborative processing in cooperation with the MFPs 100 and 100A, respectively. The collaborative processing includes a first process executed by the MFPs 100 and 100A and a second process executed by the service providing server 200. The second process is not a specific process and includes file management processing for saving data, image processing performed on image data, translation processing performed on character data, speech recognition processing performed on voice data, speech synthesis processing for converting character data into voice, and the like.
[0064] When the service providing server 200 provides a service for performing collaborative processing, it sends API (Application Programming Interface) commands to the MFPs 100 and 100A in order to cause the MFPs 100 and 100A to execute the first process. The MFPs 100 and 100A each execute processing in accordance with the API commands.
[0065] In the information processing system 1, the service providing server 200 connected to the Internet 5 outside the firewall can control any one of the MFPs 100 and 100A connected to the LAN 3 inside the firewall. Specifically, the management server 300 mediates between the service providing server 200 and the MFP 100.
[0066] Figure 3 It is a diagram showing an outline of the flow of the interlocking process. Figure 3An example of the processes executed in the MFP 100, the management server 300, and the service providing server 200, and the data transmitted and received is shown in a time series manner. Here, as an example, the case where the first process included in the collaborative process determines the scanning process for reading the original document, the data transmission process for sending back the image data obtained by the scanning process, and the second process determines the process for saving the image data will be described. In this case, the MFP 100 receives the API sent from the service providing server 200 via the management server 300. The MFP 100 executes the API and sends the image data obtained by reading the original document to the service providing server 200 via the management server 300. The service providing server 200 saves the image data when it receives the image data from the management server 300.
[0067] Refer to Figure 3 , the MFP 100 pre-stores the network address of the management server 300 and uses this network address to request a connection for communicating with the management server 300.
[0068] The management server 300 establishes a communication session for communicating with the MFP 100 in response to the connection request from the MFP 100. Hereinafter, the communication session established between the management server 300 and the MFP 100 is referred to as the second communication path. The MFP 100 is inside the firewall, and the management server 300 is outside the firewall. Therefore, the second communication path is a communication session that passes through the firewall. Incidentally, in the MFP 100A different from the MFP 100, a second communication path is also established with the management server 300. Therefore, the management server 300 can communicate via the second communication paths established between the MFP 100 and 100A respectively.
[0069] The second communication path is a communication session for communicating between the MFP 100 and the management server 300. The second communication path uses a communication protocol such as MQTT (Message Queueing Telemetry Transport). In addition, messages can also be transmitted and received between the management server 300 and the MFP 100 in a format such as json (JavaScript (registered trademark) Object Notation).
[0070] Figure 4 is a diagram showing an example of a message sent from the management server to the MPF. Refer to Figure 4The type of the message sent from the management server 300 to the MPF100 is "job", indicating a scanning task for determining a scanning process. In addition, color and single-sided reading are specified as setting values, and pdf is specified as the output format. Therefore, the following process is determined: The single side of the original document is read in color, and the read image data is converted into the pdf format.
[0071] Return Figure 3 The MFP100 connects to the service providing server 200 corresponding to the URL of the service providing server 200 input by the user and sets up collaborative processing. The communication protocol used here is HTML. Hereinafter, the communication session between the MFP100 and the service providing server 200 is referred to as the first communication path. Since the MFP100 inside the firewall requests to connect to the external service providing server 200, the communication session for communication between the MFP100 and the service providing server 200 passes through the firewall.
[0072] The setting of the collaborative processing includes the setting of the first process executed in the MFP100 and the setting of the second process executed in the service providing server 200. The service providing server 200 generates an API for causing the MFP100 to execute the first process in accordance with the setting of the first process, and sends the API to the management server 300. The technique for determining the management server 300 as the transmission destination of the API uses a well-known technique. For example, since the service providing server 200 accepts the setting of the collaborative processing from the MFP100, the management server 300 is determined according to the MFP100 that is the setting source of the collaborative processing. It is also possible to notify the service providing server 200 of the output destination of the API at the stage of setting the collaborative processing in the MFP100.
[0073] When the management server 300 receives the API sent to the MFP100 from the service providing server 200, the management server 300 sends the API to the MFP100 via the second communication path. The MFP100 executes the first process in accordance with the API, and sends the execution result to the management server 300 via the second communication path. The management server 300 sends the execution result to the service providing server 200. When the service providing server 200 receives the execution result, the service providing server 200 executes the second process using the execution result as the processing object.
[0074] For example, as an example of linked processing, there is a process of saving data obtained by reading a document using the MFP 100 to the service-providing server 200. In this linked processing, the first process includes a scanning process of reading a document and a process of sending back the image data obtained by executing the scanning process. The second process is a process of saving the image data. When a user sets an instruction for executing this linked processing in the service-providing server 200, the service-providing server 200 sends an API command for causing the MFP 100 to execute the scanning process of reading a document and an API command for sending back the image data obtained by executing the scanning process to the MFP 100 in order to cause the MFP 100 and 100A to execute the first process. When the service-providing server 200 receives the image data from the MFP 100, it executes the second process of saving the image data.
[0075] Figure 5 It is a diagram showing an outline of the flow of cooperative processing when a communication failure occurs. In Figure 5 it shows a state where a failure has occurred in the communication between the MFP 100 and the management server 300 and the second communication path cannot be established. Referring to Figure 5 , the MFP 100 does not establish the second communication path with the management server 300, but establishes the first communication path with the service-providing server 200. Specifically, the MFP 100 corresponds to the URL of the service-providing server 200 input by the user and establishes the first communication path with the service-providing server 200. Moreover, according to the operation input by the user to the MFP 100, cooperative processing is set in the service-providing server 200. The communication protocol used here is HTML. Since a connection to the external service-providing server 200 is requested from the MFP 100 inside the firewall, the communication session for communicating between the MFP 100 and the service-providing server 200 passes through the firewall.
[0076] The setting of the cooperative processing includes the setting of the first process executed in the MFP 100 and the setting of the second process executed in the service-providing server 200. The service-providing server 200 generates an API for causing the MFP 100 to execute the first process according to the setting of the first process and sends the API to the management server 300. When the management server 300 receives the API command sent to the MFP 100 from the service-providing server 200, since the second communication path is not established with the MFP 100, it cannot send the API command.
[0077] In the MFP 100, a situation where an API command is not received is detected, and a substitute task is generated and executed. The substitute task is generated by a user inputting settings for executing the first process in the MFP 100. When the user sets collaborative processing in the service providing server 200, the user inputs settings for executing the first process, so the same settings are input again in the MFP 100. Incidentally, it is also possible to display side by side on the operation unit 163 the setting screen when collaborative processing is set in the service providing server 200 and the setting screen for accepting input of settings for executing the first process.
[0078] Moreover, the MFP 100 executes the substitute task. The execution result of the substitute task is temporarily stored in the RAM 114 until a second communication path is established between the MFP 100 and the management server 300. Corresponding to the establishment of the second communication path, the execution result is sent to the management server 300 via the second communication path.
[0079] The management server 300 sends the execution result to the service providing server 200. When the service providing server 200 receives the execution result, the service providing server 200 executes the second process using the execution result as the processing object. Hereinafter, the operation of the MFP 100 will be described in detail.
[0080] Figure 6 It is a block diagram showing an example of the functions of the CPU included in the MFP. Figure 6 The functions shown are functions implemented by the CPU 111 of the MFP 100 by executing a collaborative processing execution program stored in the ROM 113, the HDD 115, or the CD-ROM 118. Refer to Figure 6 The CPU 111 included in the MFP 100 includes a first communication control unit 51, a second communication control unit 53, a first setting unit 55, a substitute processing generation unit 57, a processing execution unit 59, a monitoring unit 61, an execution result sending unit 63, and an instruction receiving unit 65.
[0081] The first communication control unit 51 establishes a first communication path with the service providing server 200. Specifically, the first communication control unit 51 controls the communication I / F unit 112, uses a URL (Uniform Resource Locator) for the service provided by the service providing server 200, sends a signal requesting the start of communication to the service providing server 200, and establishes a first communication path with the service providing server 200. The first communication control unit 51 outputs a first communication path ID for identifying the first communication path to the first setting unit 55.
[0082] The second communication control unit 53 establishes a second communication path with the management server 300. Specifically, the second communication control unit 53 controls the communication I / F unit 112 to send a signal requesting the establishment of the second communication path to the management server 300 using the address of the management server 300, and establishes the second communication path with the management server 300. The second communication control unit 53 obtains the address of the management server 300 stored in the HDD 115. After establishing the second communication path, the second communication control unit 53 outputs a second communication path ID for identifying the second communication path to the monitoring unit 61, the execution result sending unit 63, and the instruction receiving unit 65.
[0083] The first setting unit 55 is a task in which the CPU 111 executes a browsing program. The browsing program determines the process of communicating with a computer on the Internet and displaying the Web page stored in the computer, and the process of sending back the operations input by the user to the Web page. Incidentally, as long as it is a program installed in the MFP 100 for receiving the services provided by the service providing server 200, it is not limited to the browsing program.
[0084] The first setting unit 55 controls the communication I / F unit 112 to communicate with the service providing server 200 using the first communication path determined by the first communication path ID, and receives an operation screen from the service providing server 200. The operation screen is a collaboration setting screen for accepting the setting of collaboration processing. The first setting unit 55 displays the collaboration setting screen on the display unit 161, and accepts the setting of collaboration processing according to the operations input by the user to the operation unit 163. The first setting unit 55 controls the communication I / F unit 112 to send the setting of collaboration processing to the service providing server 200 using the first communication path determined by the first communication path ID. Thereby, the collaboration processing is set in the service providing server 200. The collaboration processing includes a first process and a second process.
[0085] When setting the collaboration processing, the service providing server 200 sends an API command for causing the MFP 100 to execute the first process to the management server 300. The management server 300 corresponds to the received API command sent to the MFP 100, and sends the API command to the MFP 100 via the second communication path established with the MFP 100.
[0086] The instruction receiving unit 65 receives an instruction from the service providing server 200 via the second communication path. Specifically, the instruction receiving unit 65 controls the communication I / F unit 112 to receive the API command sent by the management server 300 via the second communication path. The API command received from the management server 300 is an instruction output from the service providing server 200 to the MFP 100. The instruction receiving unit 65 outputs the API command to the process execution unit 59.
[0087] The processing execution unit 59 controls the hardware resources of the MFP 100 to execute processing. The hardware resources include the automatic document feeder 120, document reading unit 130, image forming unit 140, paper feeding unit 150, communication I / F unit 112, HDD 115, and facsimile unit 116. Therefore, the processing executed by the processing execution unit 59 includes: the scanning processing of reading a document by the document reading unit 130, the image forming processing of forming an image on the paper supplied from the paper feeding unit 150 by the image forming unit 140, the data processing of saving data to the HDD 115, and the data transmission / reception processing of transmitting and receiving data by controlling the communication I / F unit 112 or the facsimile unit 116. In addition, the image processing includes the processing of the CPU 111 to transform image data. The image processing includes: the sharpening processing of emphasizing the edges of the image, the smoothing processing of smoothing the edges of the image, the color transformation processing of transforming the color, and the format transformation processing of transforming the format of the image data.
[0088] The processing execution unit 59 includes a substitution processing execution unit 75 and a first task execution unit 77. The first task execution unit 77 corresponds to an API command input from the instruction receiving unit 65 and executes processing according to the API command. Incidentally, the case where an API command is input to the first task execution unit 77 is after the user operates the operation unit 163 and logs in to the service provided by the service providing server 200.
[0089] There is a case where the second communication control unit 53 requests the establishment of the second communication path from the management server 300 but the second communication path is not established. For example, sometimes the second communication path is not established due to communication errors or the like. The monitoring unit 61 monitors the communication I / F unit 112 and determines whether the second communication path is established. In the case where the second communication path is not established or the established second communication path is cut off, the monitoring unit 61 outputs an unconnected signal indicating that the second communication path is not established to the substitution processing generation unit 57.
[0090] When the substitution processing generation unit 57 inputs an unconnected signal from the monitoring unit 61 after the collaborative processing is set by the first setting unit 55, it generates substitution processing. In the case where the monitoring unit 61 detects that the second communication path is not established, the instruction receiving unit 65 receives an instruction from the service providing server 200 without passing through the second communication path. Therefore, the first processing is not executed by using the first task execution unit 77. The substitution processing generation unit 57 generates substitution processing to replace the first processing.
[0091] The substitution processing generation unit 57 includes a second setting unit 71 and a non-receivable confirmation unit 73. The non-receivable confirmation unit 73 confirms the state where an API command cannot be received. The non-receivable confirmation unit 73 outputs a setting instruction to the second setting unit 71 corresponding to confirming the state where an API command cannot be received.
[0092] When the non-receivable confirmation unit 73 detects that an unconnected signal is input from the monitoring unit 61 after the cooperation process is set by the first setting unit 55, it confirms the state where the API command cannot be received. Furthermore, when the non-receivable confirmation unit 73 detects a predetermined state in addition to the unconnected signal input from the monitoring unit 61, it confirms the state where the API command cannot be received. The predetermined states include the first state where the user logs in to the MFP 100. In addition, the predetermined states include the second state where the browsing program is started and a communication session is established between the communication I / F unit 112 and an external computer. In addition, the predetermined states include the third state where the service provided by the external computer of the communication destination is a service of a predetermined type. The service of the predetermined type is a service that sends an API command. In addition, the predetermined states include the fourth state where the operation screen for accepting settings for using the hardware resources of the MFP 100 is not displayed on the display unit 161. The non-receivable confirmation unit 73 determines that it is a state where the API command cannot be received when it detects all the states of at least one or more groups of the first to fourth states. The combination of the first to fourth states is determined in advance.
[0093] Incidentally, in the services provided by the service providing server 200, there is a case where the first process includes a scanning process. In this case, the predetermined states further include the fifth state where the original document is placed on the original document tray. The non-receivable confirmation unit 73 determines that it is a state where the API command cannot be received when it detects all the states of at least one or more groups of the first to fifth states. The combination of the first to fifth states is determined in advance.
[0094] The second setting unit 71 sets a substitute process in response to a setting instruction input from the non-receivable confirmation unit 73. Specifically, the second setting unit 71 displays a substitute setting screen for setting the substitute process on the display unit 161 and accepts the setting according to the operation input by the user to the operation unit 163. The second setting unit 71 includes a setting screen display unit, and when the cooperation setting screen received by the first setting unit 55 from the service providing server 200 is displayed on the display unit 161, the setting screen display unit displays the substitute setting screen side by side with the cooperation setting screen. Preferably, the setting input to the substitute setting screen is the same as the setting for executing the first process set in the cooperation setting screen. Therefore, the user can set the substitute process in the area where the substitute setting screen is displayed while viewing the settings for executing the first process displayed in the cooperation setting screen.
[0095] The substitute process generation unit 57 inputs the setting of the substitute process set by the second setting unit 71 to the substitute process execution unit 75 of the process execution unit 59. The substitute process execution unit 75 executes the substitute process according to the setting of the substitute process set by the second setting unit 71.
[0096] In the case where it is determined that it is a state where an API command cannot be received only based on the state of the unconnected signal input from the monitoring unit 61, sometimes a substitute setting screen is displayed on the display unit 161 even though the service providing server 200 has not sent an API command. Since it is determined that it is a state where an API command cannot be received when all the states of at least one or more groups of the first to fifth states are detected by the non-receivable confirmation unit 73, even though the service providing server 200 has sent an API command, the state where the API command cannot be received is confirmed. Therefore, it is possible to avoid displaying a substitute setting screen on the display unit 161 when the service providing server 200 has not sent an API command.
[0097] The execution result sending unit 63 sends the execution result obtained by the substitute process execution unit 75 executing the substitute process. Specifically, the execution result sending unit 63 controls the communication I / F unit 112 and sends the execution result to the management server 300 using the second communication path established by the second communication control unit 53. Sometimes the second communication control unit 53 restores the second communication path that has been in a communication failure state once. The execution result sending unit 63 sends the execution result to the management server 300 using the second communication path restored by the second communication control unit 53.
[0098] Incidentally, the execution result sending unit 63 may also control the communication I / F unit 112 and send the execution result to the service providing server 200 via the first communication path. Sometimes the state of the first communication path continues, and in this case, the execution result sending unit 63 can send the execution result via the first communication path without waiting for the restoration of the second communication path. In addition, the execution result sending unit 63 may establish a third communication path different from the first communication path and the second communication path between itself and the management server 300, and send the execution result to the management server 300 via the third communication path. In this case, the execution result sending unit 63 can also send the execution result via the third communication path without waiting for the restoration of the second communication path. In addition, a third communication path may be established between itself and the service providing server 200. In this case, the execution result sending unit 63 can also send the execution result via the third communication path without waiting for the restoration of the second communication path.
[0099] When a setting instruction is input from the non-receivable confirmation unit 73, the second setting unit 71 displays a connection error notification screen on the display unit 161.
[0100] Figure 7 It is a figure showing an example of the connection error notification screen. Refer to Figure 7, the connection error notification screen includes a message for notifying a connection error and three buttons for selecting categories of alternative processes. The message for notifying a connection error includes "It seems to be in a state where tasks from the cloud cannot be received." In addition, the connection error notification screen includes a message prompting the input of an alternative task. The message prompting the input of an alternative task includes "When generating an alternative task, please select the category of the desired task."
[0101] The three buttons for selecting categories of alternative processes include a button displaying the character "Scan" for selecting scan processing, a button displaying the character "Print" for selecting print processing, and a button displaying the character "Fax" for selecting fax transmission. After the button displaying the character "Scan" is indicated, a setting screen for setting scan processing is displayed. After the button displaying the character "Print" is indicated, a setting screen for setting print processing is displayed. After the button displaying the character "Fax" is indicated, a setting screen for setting fax transmission processing is displayed.
[0102] Figure 8 is a diagram showing an example of the display state of the connection error notification screen. In Figure 8 , in a state where the collaboration processing setting screen is displayed in the display unit 161, the displayed connection error notification screen is shown. A window of the collaboration processing setting screen and a window of the connection error notification screen shown in Figure 7 are arranged in the display unit 161. In the window of the collaboration processing setting screen, the URL of the service provided by the service providing server 200 is HTTP: / / www.abc.com, and the service name is ABC collaboration processing. In addition, it is shown that scan processing is set as the first process and save processing is set as the second process. As the setting value of the scan processing, color is set in the item for setting the reading mode, single-sided is set in the item for setting the reading surface of the original document, and pdf is set in the data format. Therefore, it is shown that the first process is set to output image data obtained by reading the single-sided original document in color in the pdf data format. In addition, as the setting value of the save processing, "¥¥Meeting Materials" is set in the item for setting the folder of the save destination. Therefore, it is shown that the following processing is set: saving the data in pdf format obtained by executing the first process to the folder named Meeting Materials.
[0103] Since the user can observe the window of the collaboration processing setting screen and confirm the setting content of the first process, the user can know that scan processing should be set as the alternative process. After the button displaying the character "Scan" included in the window of the connection error notification screen is indicated, a setting screen for setting scan processing is displayed as the alternative processing setting screen. In this case, the window of the connection error notification screen is switched to the window of the alternative processing setting screen.
[0104] Figure 9 This is a diagram showing an example of a substitution processing setting screen. Corresponding to the button for displaying the scanned characters in the Figure 7 connection error notification screen shown or Figure 8 the connection error notification screen shown is indicated, the Figure 9 substitution processing setting screen shown is displayed. Refer to Figure 9 , instead of Figure 8 the connection error notification screen shown, the substitution processing setting screen is displayed. Therefore, the user can set the scanning process in the substitution processing setting screen while viewing the collaboration processing setting screen.
[0105] Figure 10 This is a flowchart showing an example of the process flow of the collaboration processing execution process. The collaboration processing execution process is a process executed by the CPU 111 by executing the collaboration processing execution program stored in the ROM 113, HDD 115, or CD-ROM 118 provided in the MFP 100. Refer to Figure 10 , the CPU 111 provided in the MFP 100 controls the communication I / F unit 112 to establish a second communication path with the management server 300 (step S01), and the process proceeds to step S02. Incidentally, sometimes the second communication path cannot be established due to a communication failure or the like. In this case, an attempt is made to establish the second communication path in such a way that the establishment of the second communication path is requested from the management server 300 at a predetermined time interval.
[0106] In step S02, it is judged whether the service provided by the service providing server 200 has been selected by the user. A selection screen for selecting the service provided by the service providing server 200 is displayed on the display unit 161. When no instruction to select a service made by the user is received through the operation unit 163, the process enters the standby state until a service is selected ( "No" in step S02), and if a service is selected, the process proceeds to step S03. Selecting a service is, for example, an operation of indicating the URL assigned to the service.
[0107] In step S03, the service is started, and the process proceeds to step S04. Specifically, the browsing program is started, and the task executing the browsing program accesses the URL assigned to the service. In step S04, the first communication path is established, and the process proceeds to step S05. The first communication path is a communication path established between the MFP 100 and the service providing server 200.
[0108] In step S05, collaborative processing is set. The user operates the service providing server 200 via the task of executing a browsing program, and collaborative processing is set in the service providing server 200. The collaborative processing includes a first process executed by the MFP 100 and a second process executed by the service providing server 200. In step S06, the operator is determined, and the process proceeds to step S07. The operator who has set the collaborative processing in the service providing server 200 is set. In the stage before executing the collaborative processing execution process, when the user operating the MFP 100 is determined through authentication processing and the like executed by the MFP 100, this user is determined as the operator.
[0109] In step S07, the state of the second communication path is monitored. If the state of the second communication path is established, the process proceeds to step S08; otherwise, the process proceeds to step S11. Sometimes the second communication path is not established due to communication failures or the like, and sometimes the once-established second communication path is cut off.
[0110] In step S08, it is judged whether an instruction output by the service providing server 200 is received. The instruction output by the service providing server 200 is received via the second communication path through the management server 300. If an instruction output by the service providing server 200 is received, the process proceeds to step S09; otherwise, the process returns to step S07. In step S09, the first process is executed in accordance with the instruction output by the service providing server 200, and the process proceeds to step S10. The instruction output by the service providing server 200 is received via the second communication path as an API. In step S10, the execution result obtained by executing the first process result is sent back, and the process ends. The execution result is sent to the management server 300 via the second communication path.
[0111] The situation where the process proceeds to step S11 is when the second communication path is not established. In step S11, an unreceivable confirmation process is executed, and the process proceeds to step S12. The details of the unreceivable confirmation process will be described later. It is a process for confirming that the instruction output by the service providing server 200 cannot be received. By executing the unreceivable confirmation process, it is decided whether there is a collaboration instruction.
[0112] In step S12, the process branches according to whether there is a collaboration instruction. When it is determined in step S11 that there is a collaboration instruction, the process proceeds to step S13; when it is determined that there is no collaboration instruction, the process ends. In step S13, a substitute setting screen is displayed on the display unit 161, and the process proceeds to step S14. The substitute setting screen is different from the first user interface provided by the browsing program and is the second user interface provided by the MFP 100. The first user interface is a user interface for setting the process to be executed by the service providing server 200. In contrast, the second user interface is a user interface for setting the process to be executed by the MFP 100.
[0113] In step S14, a substitution process is generated, and the process proceeds to step S15. The substitution process is set in accordance with the operation input by the user to the operation unit 163 via the second user interface, thereby generating the substitution process. In step S15, the generated substitution process is executed, and the process proceeds to step S16. In step S16, a transmission process for transmitting the execution result is executed, and the process ends. The details of the execution result transmission process will be described later.
[0114] Figure 11 is a flowchart showing an example of the process of the non-reception confirmation process. The reception confirmation process is a process executed in step S11 of the collaborative process execution process. Before executing the reception confirmation process, the user who sets the collaborative process is determined as the operator. Refer to Figure 11 , the CPU 111 provided in the MFP 100 determines whether the operator who sets the collaborative process is logged in (step S21). If the operator is logged in, the process proceeds to step S22, otherwise, the process proceeds to step S26.
[0115] In step S22, it is determined whether the first communication path is being established. If the first communication path is being established, it is confirmed that the state is to receive the service provided by the service providing server 200. If the first communication path is being established, the process proceeds to step S23, otherwise, the process proceeds to step S26.
[0116] In step S23, it is determined whether the service provided by the service providing server 200 includes the execution of the collaborative process. If the service includes the execution of the collaborative process, the process proceeds to step S24, otherwise, the process proceeds to step S26. This is because if it is not a collaborative process, the execution of the first process is not instructed.
[0117] In step S24, it is determined whether a setting screen for operating the MFP is displayed on the display unit 161. This is because when the user is operating the second user interface for operating the MFP, the probability that the user sets the collaborative process in the service provided by the service providing server 200 is low.
[0118] In step S25, a collaboration instruction is set in the return value, and the process returns to the collaborative process execution process. In step S26, a non-collaboration instruction is set in the return value, and the process returns to the collaborative process execution process.
[0119] Figure 12 is a flowchart showing an example of the process of the execution result transmission process. The execution result transmission process is a process executed in step S16 of the collaborative process execution process. Refer to Figure 12, the CPU 111 of the MFP 100 determines whether the second communication path has been restored (step S31). If the second communication path is restored and established, the process proceeds to step S32; otherwise, the process proceeds to step S33. In step S32, the execution result is sent via the second communication path, and the process returns to the collaborative processing execution process.
[0120] In step S33, it is determined whether the first communication path is established. If the first communication path is established, the process proceeds to step S34; otherwise, the process proceeds to step S35. In step S34, the execution result is sent via the first communication path, and the process returns to the collaborative processing execution process.
[0121] In step S35, the third communication path is established, and the process proceeds to step S36. The third communication path is a communication path established between the management server 300 or the service providing server 200. It can be pre-determined which of the management server 300 and the service providing server 200 the third communication path is established with. In step S36, the execution result is sent via the third communication path, and the process returns to the collaborative processing execution process.
[0122] <Variant Example>
[0123] In this embodiment, the case where the first process executed by the MFP 100 in the collaborative process set in the service providing server 200 is the scanning process is described as an example, but the first process is not limited to the scanning process. For example, the first process may also be a process of transforming the format of the data stored in the HDD 115. For example, sometimes a format transformation process is set as the first process to match the data format of the data to be processed in the second process.
[0124] In addition, the first process may also be an image process performed on the image data stored in the HDD 115. For example, when it is determined that the second process is a character recognition process, sometimes an image process such as an edge enhancement process is set as the first process to facilitate the extraction of characters from the image data.
[0125] As described above, the MFP 100 of the present embodiment functions as an image processing apparatus, sets cooperative processing in the service providing server 200, and executes the first process in response to receiving an instruction to execute the first process. The service providing server 200 provides a service for determining the cooperative processing, and the cooperative processing includes a first process and a second process that cooperate with each other. When it is detected that an instruction cannot be received after the cooperative processing is set, the MFP 100 generates a substitute process for the first process and executes the substitute process. Therefore, since the substitute process that substitutes the first process of the cooperative processing set in the service providing server 200 is executed in the MFP 100, the cooperative processing can be executed even when an instruction from the service providing server 200 is not received. Therefore, the user does not need to wait until an instruction from the service providing server 200 is received. Therefore, the processing that cooperates with the service providing server 200 can be executed without user waiting time.
[0126] In addition, the MFP 100 establishes a first communication path for communicating with the service providing server 200, establishes a second communication path different from the first communication path for receiving an instruction, monitors the state of the second communication path, and determines that an instruction cannot be received when it is detected that communication using the second communication path is not possible. Therefore, since the first communication path established for communicating with the service providing server 200 is different from the second communication path established for receiving an instruction, an instruction for executing the first process of the cooperative processing set in the service providing server 200 can be received from the service providing server 200.
[0127] In addition, in response to receiving an instruction, the MFP 100 sends the execution result obtained by executing the substitute process to the service providing server 200. Therefore, since the execution result obtained by executing the substitute process is sent to the service providing server 200, the cooperative processing is executed. Therefore, the service providing server 200 can be made to execute the cooperative processing.
[0128] In addition, after detecting the recovery of the state in which communication using the second communication path is possible, the MFP 100 sends the execution result in accordance with the received instruction. Therefore, since the execution result obtained by executing the substitute process is sent to the service providing server 200, the cooperative processing is executed. Therefore, it is possible to execute the cooperative processing even without receiving an instruction from the service providing server 200.
[0129] In addition, the MFP 100 sends the execution result obtained by executing the substitute process via a third communication path different from the second communication path. Therefore, since the execution result obtained by executing the substitute process is sent to the service providing server 200, the cooperative processing is executed. Therefore, it is possible to execute the cooperative processing even without receiving an instruction from the service providing server 200.
[0130] In addition, for the setting of the substitute process in place of the acceptance decision by MFP100, a substitute process is generated in accordance with the accepted setting. Therefore, if the same setting as the first process is accepted, the same process as the collaborative process can be executed.
[0131] In addition, when MFP100 detects that an instruction cannot be received after the collaborative process is set, a substitute process is generated when all of more than one predetermined states are detected, otherwise, no substitute process is generated. Therefore, the situation where an instruction cannot be received can be accurately detected.
[0132] In addition, the more than one predetermined states include the state where the operator who set the collaborative process continues to operate. When the operator who set the collaborative process is operating MFP100, the possibility of setting the collaborative process is high, so the situation where an instruction cannot be received can be accurately determined.
[0133] In addition, the more than one predetermined states include the state where the first communication path used for setting the collaborative process is established. When the first communication path is established, the probability of setting the collaborative process is high, so the situation where an instruction is not received can be accurately determined.
[0134] In addition, MFP100 displays the substitute process setting screen and the collaborative setting screen side by side. Therefore, since the substitute process can be set while observing the collaborative setting screen, it is easy to perform the operation of setting the same setting as the first process of the collaborative process in the substitute process.
[0135] It should be understood that the embodiments disclosed herein are illustrative in all respects and not restrictive. The scope of the present invention is shown not by the above description but by the claims, and is intended to include the claims and all modifications within the meaning and scope equivalent to the claims.
[0136] <Note>
[0137] (0) A method for executing a collaborative process, which causes an image processing apparatus to execute:
[0138] A first setting step of setting a collaborative process including a first process and a second process that cooperate with each other in a server that provides a service for determining the collaborative process;
[0139] An instruction receiving step of receiving an instruction to execute the first process;
[0140] A substitute process generating step of generating a substitute process for the first process when it is detected that the instruction cannot be received after the collaborative process is set; and
[0141] A substitute process execution step of executing the substitute process.
[0142] (1) The collaborative processing execution method described in (0) further includes:
[0143] A first communication control step of establishing a first communication path for communicating with the server in the first setting step;
[0144] A second communication control step of establishing a second communication path different from the first communication path for receiving the instruction; and
[0145] A monitoring step of monitoring the state of the second communication path,
[0146] The alternative processing generation step includes the following steps: when it is detected in the monitoring step that communication cannot be performed using the second communication path, it is determined that the instruction cannot be received.
[0147] (2) The collaborative processing execution method described in (1) further includes an execution result sending step of sending, corresponding to receiving the instruction in the instruction receiving step, the execution result obtained by executing the alternative processing in the alternative processing execution step to the server.
[0148] (3) In the collaborative processing execution method described in (2), the execution result sending step includes the following steps: after it is detected in the monitoring step that the state of being able to communicate using the second communication path is restored, the execution result is sent according to the instruction received in the instruction receiving step.
[0149] (4) In the collaborative processing execution method described in (2), it further includes an execution result sending step of sending the execution result obtained by executing the alternative processing in the alternative processing execution step via a communication path different from the second communication path.
[0150] (5) In the collaborative processing execution method described in any one of (0) to (4), it further includes a second setting step of accepting the setting for determining the alternative processing, and the alternative processing generation step includes the step of generating the alternative processing according to the setting accepted in the second setting step.
[0151] (6) In the collaborative processing execution method described in any one of (0) to (5), in the alternative processing generation step, when it is detected that the instruction cannot be received after the collaborative processing is set, the alternative processing is generated when all of a predetermined one or more states are detected, otherwise, the alternative processing is not generated.
[0152] (7) In the collaborative processing execution method described in (6), it further includes a detection step of detecting an operator, and the predetermined one or more states include the state in which the operator who sets the collaborative processing continues to operate.
[0153] (8) In the collaborative processing execution method described in (6) or (7), the one or more predetermined states include a state in which a communication path used for the collaborative processing is established in the first setting step.
Claims
1. An image processing apparatus, comprising: a first setting unit that sets a collaborative process including a first process and a second process that cooperate with each other in a server that provides a service for determining the collaborative process; an instruction receiving unit that receives an instruction to execute the first process; a substitute process generation unit that generates a substitute process for the first process when it is detected that the instruction cannot be received after the collaborative process is set; a substitute process execution unit that executes the substitute process; a first communication control unit that establishes a first communication path for the first setting unit to communicate with the server; a second communication control unit that establishes a second communication path different from the first communication path for receiving the instruction; and a monitoring unit that monitors the state of the second communication path, wherein when the monitoring unit detects a state in which communication cannot be performed using the second communication path, the substitute process generation unit determines that the instruction cannot be received.
2. The image processing apparatus according to claim 1, wherein the image processing apparatus further includes an execution result sending unit that, in response to the instruction received by the instruction receiving unit, sends the execution result obtained by the substitute process execution unit executing the substitute process to the server.
3. The image processing apparatus according to claim 2, wherein after the monitoring unit detects the restoration of a state in which communication can be performed using the second communication path, the execution result sending unit sends the execution result in accordance with the instruction received by the instruction receiving unit.
4. The image processing apparatus according to claim 1, wherein the image processing apparatus further includes an execution result sending unit that sends the execution result obtained by the substitute process execution unit executing the substitute process via a communication path different from the second communication path.
5. The image processing apparatus according to any one of claims 1 to 4, wherein the image processing apparatus further includes a second setting unit that accepts a setting for determining the substitute process, and the substitute process generation unit generates the substitute process in accordance with the setting accepted by the second setting unit.
6. The image processing apparatus according to any one of claims 1 to 4, wherein when it is detected that the instruction cannot be received after the collaborative process is set, the substitute process generation unit generates the substitute process when all of a predetermined one or more states are detected, otherwise, the substitute process generation unit does not generate the substitute process.
7. The image processing apparatus according to claim 6, wherein the image processing apparatus further includes a detection unit that detects an operator, and the predetermined one or more states include a state in which the operator who set the collaborative process continues to operate.
8. The image processing apparatus according to claim 6, wherein The above-mentioned one or more predetermined states include a state in which a communication path used in the setting of the cooperation process performed by the first setting unit is established.
9. The image processing apparatus according to any one of claims 1 to 4, wherein the image processing apparatus further includes a setting screen display unit that displays a substitution process setting screen for setting the substitution process and a cooperation setting screen for setting the cooperation process side by side.
10. A method for executing a cooperation process, which causes an image processing apparatus to execute: a first setting step of setting a cooperation process including a first process and a second process that cooperate with each other in a server that provides a service for determining the cooperation process; an instruction reception step of receiving an instruction to execute the first process; a substitution process generation step of generating a substitution process for substituting the first process when it is detected that the instruction cannot be received after the cooperation process is set; a substitution process execution step of executing the substitution process; a first communication control step of establishing a first communication path for communicating with the server in the first setting step; a second communication control step of establishing a second communication path different from the first communication path for receiving the instruction; and a monitoring step of monitoring the state of the second communication path, in the substitution process generation step, when it is detected by the monitoring step that communication cannot be performed using the second communication path, it is determined that the instruction cannot be received.
11. The method for executing a cooperation process according to claim 10, wherein the method for executing a cooperation process further includes an execution result sending step, in which, corresponding to receiving the instruction through the instruction reception step, the execution result obtained by executing the substitution process in the substitution process execution step is sent to the server.
12. The method for executing a cooperation process according to claim 11, wherein in the execution result sending step, after the restoration of the state in which communication can be performed using the second communication path is detected in the monitoring step, the execution result is sent in accordance with the instruction received in the instruction reception step.
13. The method for executing a cooperation process according to claim 10, wherein the method for executing a cooperation process further includes an execution result sending step, in which the execution result obtained by executing the substitution process in the substitution process execution step is sent through a communication path different from the second communication path.
14. The method for executing a cooperation process according to any one of claims 10 to 13, wherein the method for executing a cooperation process further includes a second setting step, in which the setting for determining the substitution process is accepted, and in the substitution process generation step, the substitution process is generated in accordance with the setting accepted in the second setting step.
15. The method for executing a cooperation process according to any one of claims 10 to 13, wherein In the replacement process generation step, when it is detected that the instruction cannot be received after the collaborative process is set, the replacement process is generated when all of a predetermined one or more states are detected, otherwise, the replacement process is not generated.
16. The collaborative process execution method according to claim 15, wherein, the collaborative process execution method further includes a detection step in which an operator is detected, the predetermined one or more states include a state in which the operator who sets the collaborative process continues to operate.
17. The collaborative process execution method according to claim 15, wherein, the predetermined one or more states include a state in which a communication path used in the setting of the collaborative process in the first setting step is established.
18. The collaborative process execution method according to any one of claims 10 to 13, wherein, the collaborative process execution method further includes a setting screen display step in which a replacement process setting screen for setting the replacement process and a collaborative setting screen for setting the collaborative process are displayed side by side.
19. A computer-readable recording medium storing a collaborative process execution program, wherein, the collaborative process execution program causes a computer that controls an image processing device to execute: a first setting step of setting a collaborative process including a first process and a second process that cooperate with each other in a server that provides a service for determining the collaborative process; an instruction reception step of receiving an instruction to execute the first process; a replacement process generation step of generating a replacement process that replaces the first process when it is detected that the instruction cannot be received after the collaborative process is set; a replacement process execution step of executing the replacement process; a first communication control step of establishing a first communication path for communicating with the server in the first setting step; a second communication control step of establishing a second communication path different from the first communication path for receiving the instruction; and a monitoring step of monitoring the state of the second communication path, in the replacement process generation step, when a state in which communication cannot be performed using the second communication path is detected by the monitoring step, it is determined that the instruction cannot be received.
20. The computer-readable recording medium storing a collaborative process execution program according to claim 19, wherein, the collaborative process execution program causes the computer to further execute an execution result sending step in which, in response to receiving the instruction by the instruction reception step, the execution result obtained by executing the replacement process in the replacement process execution step is sent to the server.
21. The computer-readable recording medium storing a collaborative process execution program according to claim 20, wherein, in the execution result sending step, after the restoration of the state in which communication can be performed using the second communication path is detected by the monitoring step, the execution result is sent in accordance with the instruction received in the instruction reception step.
22. The computer-readable recording medium storing the cooperative processing execution program according to claim 19, wherein the cooperative processing execution program further causes the computer to execute an execution result sending step, in which the execution result obtained by executing the alternative processing in the alternative processing execution step is sent via a communication path different from the second communication path.
23. The computer-readable recording medium storing the cooperative processing execution program according to any one of claims 19 to 22, wherein the cooperative processing execution program further causes the computer to execute a second setting step, in which the setting for determining the alternative processing is received, and in the alternative processing generation step, the alternative processing is generated in accordance with the setting received in the second setting step.
24. The computer-readable recording medium storing the cooperative processing execution program according to any one of claims 19 to 22, wherein in the alternative processing generation step, when it is detected that the instruction cannot be received after the cooperative processing is set, the alternative processing is generated when all of a predetermined one or more states are detected, otherwise, the alternative processing is not generated.
25. The computer-readable recording medium storing the cooperative processing execution program according to claim 24, wherein the cooperative processing execution program further causes the computer to execute a detection step, in which an operator is detected, and the predetermined one or more states include a state in which the operator who set the cooperative processing continues to operate.
26. The computer-readable recording medium storing the cooperative processing execution program according to claim 24, wherein the predetermined one or more states include a state in which the communication path used in the setting of the cooperative processing in the first setting step is established.
27. The computer-readable recording medium storing the cooperative processing execution program according to any one of claims 19 to 22, wherein the cooperative processing execution program further causes the computer to execute a setting screen display step, in which an alternative processing setting screen for setting the alternative processing and a cooperative setting screen for setting the cooperative processing are displayed side by side.
Citation Information
Patent Citations
Image processing apparatus, and control method thereof
JP2011119939A
Image processing apparatus, method of controlling image processing apparatus, and computer readable medium
US20170024168A1