Image processing system, control method for image processing system, and program
The image processing system addresses memory overflow by notifying users of transmission failures and guiding data to an information processing device, ensuring seamless job execution.
Patent Information
- Application Number
- JP2021084037
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-05-18
- Publication Date
- 2025-08-12
- Estimated Expiration
- 2041-05-18
AI Technical Summary
When an image processing device fails to transmit image data to a designated destination, the internal memory becomes overwhelmed, restricting the execution of other jobs.
An image processing system that includes an information processing device and an image processing device, where the information processing device notifies the user of the failure and provides a first screen with a send button to instruct the transmission of image data to a specified destination, and after failure, displays a second screen without a send button to prevent further input, ensuring data is transmitted to the information processing device.
The system effectively transmits image data to the information processing device when the original destination fails, preventing memory overflow and allowing other jobs to proceed.
Smart Images

Figure 0007721321000001 
Figure 0007721321000002 
Figure 0007721321000003
Abstract
Description
[Technical Field]
[0001] The present invention relates to an image processing system, a control method for an image processing system, and a program. [Background technology]
[0002] An image processing device is known that executes a scan job in accordance with a job command received from a communication terminal. In the scan job, the image processing device reads an original document based on scan settings set in the job command, generates image data, and transmits the generated image data to a destination set in the job command.
[0003] In such a scan job, if the transmission of image data fails due to a destination authority error or a size error, a technology has been disclosed in which the image data is saved in the internal memory of the image processing device and the transmission of the image data is retried (see Patent Document 1). [Prior art documents] [Patent documents]
[0004] [Patent Document 1] Japanese Patent Application Laid-Open No. 2008-109479 Summary of the Invention [Problem to be solved by the invention]
[0005] However, if image data is stored in the internal memory of the image processing apparatus when transmission fails, the internal memory will be overwhelmed until the error is resolved, which will restrict the execution of other jobs in the image processing apparatus.
[0006] An object of the present invention is to provide a method for transmitting image data to an information processing apparatus when an image processing apparatus fails to transmit image data to a destination designated by a user. succeeded in After that, the information processing device notifies the user of the cause of the failure in transmitting the image data. 1stscreen a first screen including a send button for receiving an instruction to send image data; is displayed, and the user is not allowed to input the address. By the submit button According to instructions received from a user, the image data received from the image processing device is sent to a destination specified by the user. After the image processing device fails to transmit the image data to the destination specified by the user and fails to transmit the image data to the information processing device, the information processing device displays a second screen that does not include a send button. The purpose of this invention is to provide a mechanism that can [Means for solving the problem]
[0007] In order to achieve the above object, an image processing system of the present invention is an image processing system including an information processing device and the image processing device, wherein the information processing device includes a receiving unit that receives from a user an instruction to execute a job of reading an original document, generating image data of the original document, and transmitting the image data to a destination specified by the user, a command generating unit that generates a command to execute the job, and a command transmitting unit that transmits the command to the image processing device, and the image processing device includes a control unit that controls execution of the job based on the command received from the information processing device, and an image data transmitting unit that transmits the image data to the information processing device when transmission of the image data to the destination specified by the user fails, and the image data transmitting unit of the image processing device fails to transmit the image data to the destination specified by the user and transmits the image data to the information processing device. succeeded in After that, the information processing device notifies the user of the cause of the failure in transmitting the image data. 1st screen a first screen including a send button for receiving an instruction to send the image data; and does not accept input of the destination from the user. By clicking the submit button According to an instruction received from the user, the image data received from the image processing device is transmitted to a destination designated by the user. and after the image data transmission means of the image processing device fails to transmit the image data to the destination specified by the user and fails to transmit the image data to the information processing device, the information processing device displays a second screen that does not include the send button. It is characterized by: [Effects of the Invention]
[0008] According to the present invention, when an image processing device fails to transmit image data to a destination designated by a user, the image data is transmitted to an information processing device. succeeded inAfter that, the information processing device notifies the user of the cause of the failure in transmitting the image data. 1st screen a first screen including a send button for receiving an instruction to send image data; is displayed, and the user is not allowed to input the address. By the submit button According to instructions received from a user, the image data received from the image processing device is sent to a destination specified by the user. After the image processing device fails to transmit the image data to the destination specified by the user and fails to transmit the image data to the information processing device, the information processing device displays a second screen that does not include a send button. It is possible. [Brief explanation of the drawings]
[0009] [Figure 1] 1 is a configuration diagram illustrating a schematic configuration of an image processing system according to an embodiment of the present invention; [Figure 2] FIG. 2 is a block diagram illustrating a hardware configuration of the image forming apparatus of FIG. 1. [Figure 3] 2 is a block diagram schematically illustrating a hardware configuration of the communication terminal of FIG. 1. [Figure 4] FIG. 2 is a block diagram illustrating a schematic hardware configuration of the cloud server of FIG. [Figure 5] 3 is a block diagram showing the functional configuration of a device control program executed by a CPU shown in FIG. 2. FIG. [Figure 6] FIG. 4 is a block diagram showing the functional configuration of a scan application executed by the CPU of FIG. 3. [Figure 7] 5 is a block diagram showing the functional configuration of a storage service program executed by the CPU of FIG. 4. [Figure 8] 2A to 2C are diagrams for explaining screen transitions of a scan application executed by the communication terminal of FIG. 1. [Figure 9] 1. FIG. 4 is a sequence diagram for explaining processing when an image forming apparatus fails to transmit a scanned image in the image processing system of FIG. [Figure 10] 2 is a diagram showing an example of a job command generated by the communication terminal of FIG. 1. FIG. [Figure 11] 1. FIG. 4 is a diagram showing an example of HTTP response data transmitted by the image forming apparatus of FIG. [Figure 12]1. FIG. 4 is a diagram showing an example of HTTP response data transmitted by the image forming apparatus of FIG. [Figure 13] 1. FIG. 4 is a diagram illustrating an example of a transmission error response transmitted by the cloud server of FIG. [Figure 14] 10 is a flowchart showing the procedure of a job execution result storage process executed by the image forming apparatus of FIG. [Figure 15] 10 is a flowchart showing a procedure of communication terminal post-processing executed by the communication terminal of FIG. [Figure 16] 2 is a diagram showing an example of a POST request transmitted by the communication terminal of FIG. 1; [Figure 17] 10A to 10C are diagrams illustrating screen transitions of a scan application executed by a communication terminal in the second embodiment. [Figure 18] FIG. 11 is a sequence diagram for explaining a process when an image forming apparatus having spooling capability fails to transmit a scanned image in the second embodiment. [Figure 19] 1. FIG. 4 is a diagram showing an example of a device capability response transmitted by the image forming apparatus of FIG. [Figure 20] FIG. 10 is a diagram illustrating an example of a job command generated by a communication terminal in the second embodiment. [Figure 21] FIG. 11 is a sequence diagram for explaining a process when an image forming apparatus that does not have spooling capability fails to transmit a scanned image in the second embodiment. [Figure 22] 10 is a flowchart showing the procedure of a job command generation process executed by a communications terminal in the second embodiment. [Figure 23] 10 is a flowchart showing the procedure of a job execution result storage process executed by an image forming apparatus according to a second embodiment. [Figure 24] 10 is a flowchart showing a procedure of communication terminal post-processing executed by a communication terminal in the second embodiment. DETAILED DESCRIPTION OF THE INVENTION
[0010] Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. Note that the image forming apparatus in the present embodiments is an example of an image processing apparatus. Furthermore, the following embodiments do not limit the invention according to the claims, and not all of the combinations of features described in the embodiments are necessarily essential to the solution of the invention.
[0011] First, an image processing system and a control method thereof according to a first embodiment of the present invention will be described.
[0012] FIG. 1 is a diagram showing a schematic configuration of an image processing system 100 according to an embodiment of the present invention.
[0013] 1, image processing system 100 is composed of image forming apparatus 101, communication terminal 102, and cloud server 103. Image forming apparatus 101 and communication terminal 102 can communicate with each other via network 104. Furthermore, image forming apparatus 101 and communication terminal 102 can communicate with cloud server 103 via network 104 and gateway 105. Note that, in this embodiment, a configuration in which image processing system 100 includes one image forming apparatus 101 and one communication terminal 102 will be described, but the configuration is not limited to this. For example, image processing system 100 may include a plurality of image forming apparatuses 101 and a plurality of communication terminals 102.
[0014] The image forming apparatus 101 is, for example, a multifunction peripheral having multiple functions such as copying, scanning, printing, and faxing. The image forming apparatus 101 may also be a device having a single function such as a printer or scanner. The communication terminal 102 is, for example, a personal computer (PC) used by a user. For example, the communication terminal 102 generates a job command for executing a scan job and transmits the job command to the image forming apparatus 101. Upon receiving the job command, the image forming apparatus 101 scans a paper document, generates image data of the document (hereinafter referred to as a "scanned image"), and stores the scanned image in storage 205 of the image forming apparatus 101 (see FIG. 2, which will be described later). The image forming apparatus 101 also transmits the scanned image to a destination set in the job command, such as the communication terminal 102, the cloud server 103, or a device (not shown) on the network 104.
[0015] Cloud server 103 is configured with one or more cloud servers and performs file management of electronic files including scanned images and the like. For example, cloud server 103 stores and manages electronic files received from communication terminal 102 and image forming apparatus 101. Network 104 interconnects image forming apparatus 101, communication terminal 102, and gateway 105. Gateway 105 is, for example, a wireless LAN router conforming to the IEEE 802.11 standard series. The IEEE 802.11 standard series is a series of standards belonging to IEEE 802.11, such as IEEE 802.11a and IEEE 802.11b. Gateway 105 may also be capable of operating according to other wireless communication methods. Instead of a wireless LAN router, gateway 105 may also be a wired LAN router conforming to Ethernet standards such as 10BASE-T, 100BASE-T, and 1000BASE-T, and may also be capable of operating according to other wired communication methods.
[0016] Fig. 2 is a block diagram schematically showing the hardware configuration of the image forming apparatus 101 of Fig. 1. In Fig. 2, the image forming apparatus 101 includes a control unit 200, an operation panel 209, a print engine 211, and a scanner 213. The control unit 200 is connected to the operation panel 209, the print engine 211, and the scanner 213. The control unit 200 also includes a CPU 202, a RAM 203, a ROM 204, a storage 205, a network I / F 206, a display controller 207, an operation I / F 208, a print controller 210, and a scan controller 212. These components of the control unit 200 are connected to one another via a system bus 201. Note that CPU is an abbreviation for Central Processing Unit.
[0017] The CPU 202 controls the overall operation of the image forming apparatus 101. The CPU 202 reads control programs stored in the ROM 204 and storage 205 and performs various control operations, such as scanning control and printing control. The RAM 203 is the CPU 202's main memory. The RAM 203 is used as a work area and as a temporary storage area for loading the various control programs stored in the ROM 204 and storage 205. The ROM 204 stores multiple control programs executed by the CPU 202, such as the device control program 500 shown in FIG. 5 (described later). The storage 205 stores image data, including print data and scanned images, various programs, and various setting information. In this embodiment, one CPU 202 uses one memory (RAM 203) to execute each process shown in the flowcharts described below, but other configurations are also possible. For example, multiple CPUs, RAMs, ROMs, and storages may cooperate to execute each process shown in the flowcharts described below. Furthermore, some of the processing may be performed using hardware circuits such as an application specific integrated circuit (ASIC) or a field-programmable gate array (FPGA).
[0018] The network I / F 206 is an interface that enables the image forming apparatus 101 to communicate with external devices via the network 104. For example, the network I / F 206 transmits a scanned image generated by the scanner 213 to the cloud server 103 or a device on the network 104. The display controller 207 and the operation I / F 208 are connected to an operation panel 209. A screen controlled by the operation I / F 208 is displayed on the operation panel 209. When a user operates the operation panel 209, the CPU 202 acquires an event corresponding to the user operation via the display controller 207.
[0019] The print controller 210 is connected to the print engine 211. The print controller 210 transfers control commands and image data instructing printing to the print engine 211. The print engine 211 forms an image on paper based on the received control commands and image data. The printing method of the print engine 211 may be electrophotographic or inkjet. When the printing method is electrophotographic, the image forming apparatus 101 forms an electrostatic latent image on a photosensitive member (not shown) of the image forming apparatus 101, develops the image with toner, transfers the toner image to paper, and fixes the transferred toner image to form an image on paper. On the other hand, when the printing method is inkjet, the image forming apparatus 101 ejects ink to form an image on paper.
[0020] The scan controller 212 is connected to the scanner 213. The scanner 213 reads an original document and generates a scanned image. The scanned image generated by the scanner 213 is stored in the storage 205. The image forming apparatus 101 can also form the scanned image generated by the scanner 213 on paper. The scanner 213 includes a document feeder (not shown) and can read documents placed on the document feeder while transporting the documents one by one.
[0021] Fig. 3 is a block diagram showing a schematic hardware configuration of the communication terminal 102 shown in Fig. 1. In Fig. 3, the communication terminal 102 includes a CPU 302, a RAM 303, a ROM 304, a storage 305, a network I / F 306, an operation unit I / F 307, and a display unit I / F 308. These components are connected to one another via a system bus 301.
[0022] The CPU 302 is a central processing unit that controls the overall operation of the communication terminal 102. The RAM 303 is a volatile memory. The ROM 304 is a non-volatile memory that stores a startup program for the CPU 302 and the like. The storage 305 is a storage device with a larger storage capacity than the RAM 303, such as a hard disk drive (HDD). The storage 305 stores a control program executed by the CPU 302, such as the scan application 600 shown in FIG. 6, which will be described later. The storage 305 may be another storage device that has the same functions as a hard disk drive, such as a solid state drive (SSD).
[0023] When the communication terminal 102 is started, such as when the power is turned on, the CPU 302 executes a startup program stored in the ROM 304. This startup program is a program for reading a control program stored in the storage 305 and loading the control program onto the RAM 303. After executing the startup program, the CPU 302 subsequently executes the control program loaded onto the RAM 303 to perform control. The CPU 302 also stores data used when executing the control program in the RAM 303 and reads and writes the data. In the communication terminal 102, setting values required for executing the control program are stored in the storage 305, and the CPU 302 reads and writes the setting values. The communication terminal 102 communicates with other devices on the network 104 via the network I / F 306. The communication terminal 102 is also connected to an operation unit 309, such as a keyboard and a mouse, via an operation unit I / F 307, and can accept instructions input by a user using the operation unit 309. Furthermore, the communication terminal 102 is connected to a display unit 310 via a display unit I / F 308, and can display various screens on the display unit 310. In this embodiment, the IP address of the image forming apparatus 101 is It is assumed that "192.168.1.101" and "192.168.1.100", which is an example of the IP address of the communication terminal 102, are already stored in the storage 305. It is also assumed that information previously registered on a destination registration screen (not shown) is already saved in the storage 305. The information previously registered on the destination registration screen includes a request URI " / scanJob", which is a URI for the image forming apparatus 101 to accept a scan job via HTTP, the URI of each destination, and authentication information corresponding to the destination, such as a "user name" and a "password". Note that HTTP is an abbreviation for HyperText Transfer Protocol. URI is an abbreviation for Uniform Resource Identifier.
[0024] Fig. 4 is a block diagram showing a schematic hardware configuration of cloud server 103 in Fig. 1. In Fig. 4, cloud server 103 includes a CPU 402, a RAM 403, a ROM 404, a storage 405, and a network I / F 406. These are connected to each other via a system bus 401.
[0025] The CPU 402 is a central processing unit that controls the overall operation of the cloud server 103. The RAM 403 is a volatile memory. The ROM 404 is a non-volatile memory that stores programs such as a startup program for the CPU 402. The storage 405 is a storage device with a larger storage capacity than the RAM 403, such as a hard disk drive (HDD). The storage 405 stores a plurality of control programs executed by the CPU 402, such as the storage service program 700 in FIG. 7, which will be described later. The storage 405 may also be another storage device that has the same functions as a hard disk drive, such as a solid state drive (SSD).
[0026] When the cloud server 103 is started, such as when the power is turned on, the CPU 402 executes a startup program stored in the ROM 404. This startup program is a program for reading out a control program stored in the storage 405 and loading the control program onto the RAM 403. After executing the startup program, the CPU 402 subsequently executes the control program loaded onto the RAM 403 to perform control. The CPU 402 also stores data used when executing the control program onto the RAM 403 and reads and writes the data. In the cloud server 103, setting values required when executing the control program are stored on the storage 405, and the reading and writing of these setting values is performed by the CPU 402. The cloud server 103 communicates with other devices on the network 104 via the network I / F 406.
[0027] Fig. 5 is a block diagram showing the functional configuration of a device control program 500 executed by the CPU 202 in Fig. 2. As described above, the device control program 500 is stored in the ROM 204, and when the image forming apparatus 101 is started up, the CPU 202 loads and executes the device control program 500 on the RAM 203. In Fig. 5, the device control program 500 is made up of a data transmission / reception unit 501, a data analysis unit 502, a job control unit 503, a data management unit 504, a display unit 505, an operation target determination unit 506, a scan unit 507, and a printer unit 508.
[0028] The data transmission / reception unit 501 is a module that enables the image forming apparatus 101 to transmit and receive data via TCP / IP with other devices on the network 104 via the network I / F 206. For example, the image forming apparatus 101 receives device operation data generated by the cloud server 103 through the data transmission / reception unit 501. The image forming apparatus 101 also transmits to the cloud server 103 the results of job execution, a screen update notification indicating that the screen display content of the response to the device operation result has been updated, a job execution status notification indicating the status of the job, and the like.
[0029] The data analysis unit 502 converts the received device operation data into commands that can be interpreted by each module in the device control program 500 and sends the converted commands to each module. The job control unit 503 issues control instructions to the print engine 211 via the print controller 210 and also issues control instructions to the scanner 213 via the scan controller 212. For example, when detecting that a user has pressed the start key while a copy function screen (not shown) is displayed on the display unit 505, the job control unit 503 receives copy job parameters and a job start instruction from the operation target determination unit 506. The job control unit 503 executes the copy job based on the received parameters. In the copy job, the scanner 213 generates a scanned image based on the received parameters, and the print engine 211 prints the scanned image on paper based on the parameters.
[0030] The data management unit 504 stores and manages work data generated by execution of the device control program 500, setting parameters required for controlling each device, and the like in predetermined areas on the RAM 203 and the storage 205. For example, the data management unit 504 manages job data consisting of combinations of setting items and setting values for a job executed by the job control unit 503, and language settings, which are information indicating the language to be displayed on the operation panel 209. The data management unit 504 also manages authentication information required for communication with the gateway 105 and authentication information required for communication with the cloud server 103. The data management unit 504 also manages image data to be subjected to image formation processing by the image forming apparatus 101. The data management unit 504 also manages screen display control information used by the display unit 505 for screen display control and operation target determination information used by the operation target determination unit 506 to determine the operation target, for each screen displayed by the display unit 505.
[0031] The display unit 505 controls the operation panel 209 via the display controller 207. More specifically, the display unit 505 displays UI components operable by the user, such as buttons, pull-down lists, and check boxes, on the operation panel 209. The screen displayed on the operation panel 209 is updated based on screen display control information. The operation target determination unit 506 acquires coordinates indicating the position touched by the user on the operation panel 209 from the operation panel 209 via the operation I / F 208. When the operation target determination unit 506 detects a touch operation by the user, it determines a UI component operable by the user and displayed on the operation panel 209 as an operation target. The operation target determination unit 506 reads screen display control information corresponding to the UI component determined as an operation target and determines the processing content to be performed when the touch operation is accepted based on the screen display control information. For example, the operation target determination unit 506 outputs an instruction to the display unit 505 to update the display content on the screen, and also outputs an instruction to the job control unit 503 to start a job using parameters set by the user operation.
[0032] The scanning unit 507 causes the scanner 213 to execute scanning via the scan controller 212 based on the scan job parameter settings of the job control unit 503, and stores the scanned image obtained by reading it in the data management unit 504. The printer unit 508 causes the print engine 211 to execute printing via the print controller 210 based on the print job parameter settings of the job control unit 503.
[0033] Fig. 6 is a block diagram showing the functional configuration of a scan application 600 executed by the CPU 302 in Fig. 3. As described above, the scan application 600 is stored in the storage 305, and when the communication terminal 102 is started up, the CPU 302 loads and executes the scan application 600 on the RAM 303. In Fig. 6, the scan application 600 is made up of a data transmission / reception unit 601, a data management unit 602, a command analysis unit 603, a command generation unit 604, a display screen generation unit 605, and a port control unit 606.
[0034] The data transmission / reception unit 601 is a module that enables the communication terminal 102 to transmit and receive data via HTTP to and from other devices on the network 104 via the network I / F 306. For example, the data transmission / reception unit 601 allows the communication terminal 102 to receive commands and image data from the image forming apparatus 101 or the cloud server 103. The communication terminal 102 also transmits commands generated by a command generation unit 604 and image data stored in the storage 305 to a destination indicated by destination information stored in the data management unit 602.
[0035] The data management unit 602 stores and manages the URI indicating the image forming device 101, the URI indicating the destination of the image data, authentication information for the destination of the image data, image data received from the image forming device 101, etc. in a predetermined area on the storage 305.
[0036] The command analysis unit 603 analyzes commands received by the data transmission / reception unit 601. As an example, the analysis by the command analysis unit 603 when HTTP response data shown in FIG. 12B (described later) is received from the image forming apparatus 101 will be described. In this case, the command analysis unit 603 determines that the state of the scanner 213 is "standby" because the value of the "State" element in this HTTP response data is "Idle." Furthermore, the command analysis unit 603 determines that the number of scanned original pages is five because the value of the "ScanPage" element is "5." Furthermore, the command analysis unit 603 determines that the job execution result is "successful transmission from the local terminal" because the value of the "JobResult" element is "HostSendSuccess." Furthermore, the command analysis unit 603 determines that the reason the scanned image could not be transmitted to the cloud server 103 is "access permissions" because the value of the "Reason" element is "Permissions." The command analysis unit 603 saves these analysis results in the RAM 303.
[0037] The command generation unit 604 generates data in XML format to be sent to the image forming apparatus 101 or the cloud server 103. As an example, the generation of data by the command generation unit 604 when issuing a scan instruction to the image forming apparatus 101 using the settings on a scan setting screen 803 in FIG. 8 (to be described later) will be described. In this case, since the setting in the color mode specification list box 804 is "color," the command generation unit 604 generates " <colormode> Color< / colormode> Furthermore, since the setting of the resolution specification list box 805 is "300 dpi", the command generation unit 604 generates " <resolution> 300< / resolution> Furthermore, since the input method specification list box 806 is "feeder", the command generation unit 604 generates " <input> The command generating unit 604 generates these character strings as " <scanjob>" tag.
[0038] Next, the command generating unit 604 generates a first character string because the setting in the destination specification list box 807 is "https: / / aaa.com / Storage1". <uri> https: / / aaa.com / Storage1< / uri> ". The command generating unit 604 also references the authentication information for "https: / / aaa.com / User1" stored in the storage 305, and generates a second character string from this authentication information. The second character string is " <password> dXNlcjE6cGFzc3dvcmQx< / password> The command generating unit 604 converts the first character string and the second character string into " <destination>" tag element. The third string is generated as follows: <destination> <uri> https: / / aaa.com / Storage1< / uri> <password> dXNlcjE6cGFzc3dvcmQx< / password> < / destination> "
[0039] Next, the command generating unit 604 combines the generated third character string and the destination information of the communication terminal 102 into <scanjob>" tag element, and generates a message body part by combining the character string of the XML declaration. <destinationmyself> <uri> https: / / 192.168.1.100 / scan< / uri> <username> Owner< / username> <password> b3duZXI6cGFzc3dvcmQy< / password> < / destinationmyself> < / scanjob> < / destination> ". The string in the XML declaration is, for example, "<?xml version="1.0” encoding="UTF-8”?> "
[0040] Next, the command generation unit 604 generates a message header section from the request URI " / scanJob" of the image forming apparatus 101, which is the destination, the IP address "192.168.1.100" of the communication terminal 102, and the number of characters in the message body section, "514." The message header section is "POST / scanJob HTTP / 1.1," "Host:192.168.1.100," "Content-Type:text / xml," and "Content-Length:514." The command generation unit 604 combines the generated message header section and message body section to generate a job command shown in FIG. 10, which will be described later.
[0041] The display screen generation unit 605 generates various screens to be displayed on the display unit 310 of the communication terminal 102. For example, when a user issues an instruction to launch the scan application 600, the display screen generation unit 605 generates a device selection screen 800 shown in Fig. 8, which will be described later. Furthermore, when the user presses an OK button 802 on the device selection screen 800, which will be described later, the display screen generation unit 605 generates a scan setting screen 803, which will be described later.
[0042] The port control unit 606 performs the process of opening a specified port on the communication terminal 102 so that the communication terminal 102 can perform POST communication with other devices connected to the network 104, and the process of closing the port so that it cannot be accessed from outside when communication is not required.
[0043] Fig. 7 is a block diagram showing the functional configuration of a storage service program 700 executed by the CPU 402 in Fig. 4. As described above, the storage service program 700 is stored in the storage 405, and the CPU 402 loads and executes the storage service program 700 on the RAM 403 when the cloud server 103 is started. In Fig. 7, the storage service program 700 is made up of a data transmission / reception unit 701, a data management unit 702, a command analysis unit 703, a command generation unit 704, and an authentication unit 705.
[0044] Data transmission / reception unit 701 is a module that enables cloud server 103 to transmit and receive data via HTTP to and from other devices on network 104 via network I / F 406. For example, data transmission / reception unit 701 allows cloud server 103 to receive commands and image data from image forming apparatus 101 and communication terminal 102. Cloud server 103 also transmits commands generated by command generation unit 704 and image data stored in storage 405 to destinations stored in data management unit 702. Data management unit 702 stores and manages various data, such as image data received by data transmission / reception unit 701 and authentication information for cloud server 103, in a predetermined area on storage 405.
[0045] The command analysis unit 703 analyzes the command received by the data transmission / reception unit 701 and performs processing corresponding to the analysis result. As an example, the analysis by the command analysis unit 703 when the image data transmission command shown in FIG. 16 (described later) is received as response data when the job status is obtained will be described. In this case, the command analysis unit 703 determines that a POST request has been received from "POST / Storage1 HTTP1 / 1" in the message header. Furthermore, the command analysis unit 703 determines that an image file in PDF (Portable Document Format) format has been received from "Content-Type:application / pdf" in the message header. The command analysis unit 703 saves the data in the message body as a PDF file in a memory area on the storage 405 corresponding to the request URI "Storage1".
[0046] The command generation unit 704 generates data in XML format to be sent to the image forming apparatus 101 or the communication terminal 102. As an example, we will explain the generation of data by the command generation unit 704 when the user identified from the authentication information included in the image data transmission command does not have write authority. In this case, the command generation unit 704 generates a message body portion that combines a character string indicating an error as the command result, a character string indicating that the reason for the error is an "authority error", and an XML declaration character string. The character string indicating the error is " <result> Error< / result> ". The string indicating that the error reason is "Permission error" is " <reason> Permissions< / reason> ". The XML declaration string is "<?xml version="1.0” encoding="UTF-8”?> Next, the command generation unit 704 generates a message header section including the number of characters in the message body section, "88." The message header section is "HTTP / 1.1 403 Forbidden," "Content-Type: text / xml," and "Content-Length: 88." The command generation unit 704 combines the message header section and the message body section to generate a transmission error response shown in FIG. 13, which will be described later.
[0047] The authentication unit 705 determines whether the authentication information received by the data transmission / reception unit 701 matches the authentication information stored in the storage 405, and transmits the authentication result to the sender of the data.
[0048] FIG. 8 is a diagram illustrating screen transitions of the scan application 600 executed by the communication terminal 102 of FIG. 1. When the CPU 302 of the communication terminal 102 starts the scan application 600 in accordance with a user instruction, the CPU 302 causes the display unit 310 to display a device selection screen 800 of FIG. 8 via the display unit I / F 308. The device selection screen 800 is a screen for instructing another device from the communication terminal 102 to execute a scan job. The device selection screen 800 includes a product name specification list box 801 and an OK button 802. In the product name specification list box 801, the user specifies a destination of a job command to execute a scan job. In the following description, it is assumed, as an example, that the image forming device 101 is specified in the product name specification list box 801. When the user presses the OK button 802, the CPU 302 of the communication terminal 102 stores information about the image forming device 101 specified in the product name specification list box 801 in the RAM 303. Next, the CPU 302 of the communication terminal 102 causes the display unit 310 to display the scan setting screen 803 of FIG.
[0049] The scan setting screen 803 is a screen for setting the setting values required to execute a scan job. The scan setting screen 803 includes a color mode specification list box 804, a resolution specification list box 805, an input method specification list box 806, a destination specification list box 807, and a scan start button 808. The color mode specification list box 804 sets the color mode when executing the scan job. The resolution specification list box 805 sets the resolution of the scanned image. The input method specification list box 806 sets the image reading method, such as "pressure plate" or "ADF." The destination specification list box 807 sets the destination of the scanned image. Here, the destination of the scanned image may be storage located within the same network, or may be cloud storage such as Google Drive or OneDrive.
[0050] When the user presses the start scan button 808, the CPU 302 of the communication terminal 102 generates a job command based on the scan settings specified in each of the list boxes described above. The CPU 302 of the communication terminal 102 transmits the generated job command to the image forming apparatus 101 specified in the product name specification list box 801. Next, the CPU 302 of the communication terminal 102 causes the display unit 310 to display a scanning screen 809 of FIG. 8.
[0051] A message indicating that a scan job is being executed and a scan cancel button 810 are displayed on the scan in progress screen 809. When the user presses the scan cancel button 810, the CPU 302 of the communication terminal 102 transmits a job cancel command to the image forming apparatus 101 to cancel the scan job. While the scan in progress screen 809 is displayed on the display unit 310, the CPU 302 of the communication terminal 102 sends a status acquisition request to the image forming apparatus 101 at 100 msec intervals and acquires information indicating the job status from the image forming apparatus 101. The CPU 302 of the communication terminal 102 switches the screen of the display unit 310 based on the acquired information. For example, if the job execution result indicated by the acquired information is "transmission successful at own terminal," which will be described later, the CPU 302 of the communication terminal 102 causes the display unit 310 to display a resend screen 811 of FIG. 8 via the display unit I / F 308. If the job execution result indicated by the acquired information is "failed," CPU 302 of communication terminal 102 causes display unit 310 to display error screen 815 of Fig. 8 via display unit I / F 308. If the job execution result indicated by the acquired information is "successful transmission," CPU 302 of communication terminal 102 causes display unit 310 to display successful transmission screen 817 of Fig. 8 via display unit I / F 308.
[0052] Resend screen 811 includes an error message 812 indicating the details of the error that occurred when sending the scanned image to the destination specified in destination specification list box 807 failed, a send button 813, and a close button 814. When the user presses send button 813, CPU 302 of communication terminal 102 sends the scanned image received from image forming apparatus 101 to the destination specified in destination specification list box 807. If sending of this scanned image fails, CPU 302 of communication terminal 102 causes display unit 310 to display resend screen 811 with an updated error message via display I / F 308. On the other hand, if sending of the scanned image is successful, CPU 302 of communication terminal 102 causes display unit 310 to display transmission success screen 817 via display I / F 308.
[0053] The error screen 815 includes a close button 816. When the user presses the close button 816, the CPU 302 of the communication terminal 102 terminates the scan application 600. The transmission success screen 817 includes a close button 818. When the user presses the close button 818, the CPU 302 of the communication terminal 102 terminates the scan application 600.
[0054] FIG. 9 is a sequence diagram illustrating processing performed when the image forming apparatus 101 fails to transmit a scanned image in the image processing system 100 of FIG. 1 . In FIG. 9 , as an example, a case is described in which the image forming apparatus 101 fails to transmit a scanned image to the cloud server 103 because write permission is not granted to a specific storage area of the cloud server 103 specified in the destination specification list box 807. Note that the cause of the image forming apparatus 101 failing to transmit a scanned image is not limited to the write permission error described above. For example, the image forming apparatus 101 failing to transmit a scanned image may be due to other causes, such as an authentication error in which authentication by the destination device fails, a destination error, a server down, a file size error in the scanned image, or a storage capacity error at the destination. In FIG. 9 , the communication terminal 102, the image forming apparatus 101, and the cloud server 103 each communicate using HTTP, and the communication terminal 102 and the cloud server 103 perform authentication using Basic authentication.
[0055] 9, first, the user gives an instruction to execute a scan job (step S901). In step S901, the user sets image forming apparatus 101 in product name designation list box 801 on device selection screen 800 displayed on display unit 310 of communication terminal 102 and presses enter button 802. Furthermore, in accordance with the depression of enter button 802, the user sets setting values in each list box on scan setting screen 803 displayed on display unit 310 and presses start scan button 808. In the following, it is assumed that a predetermined storage area of cloud server 103 is set in destination designation list box 807 as the destination of the scanned image.
[0056] Upon receiving an instruction to execute a scan job from the user, CPU 202 of communication terminal 102 opens a predetermined port number, for example, "443," in communication terminal 102 so that POST requests can be received via HTTPS (step S902). Next, CPU 302 generates a job command as shown in Fig. 10. The job command includes the scan settings set in step S901, destination information for communication terminal 102, and destination information for the destination set in destination designation list box 807 in step S901 (hereinafter referred to as "user-designated destination").
[0057] The destination information of the communication terminal 102 is destination information required when the image forming apparatus 101 transmits a scanned image to the communication terminal 102 in step S913, which will be described later. The destination information of the communication terminal 102 includes an image transmission destination URI of the communication terminal 102 and image transmission destination authentication information of the communication terminal 102. The image transmission destination URI of the communication terminal 102 is a URI indicating a predetermined storage area of the communication terminal 102, for example, "https: / / 192.168.1.100 / scan". The image transmission destination authentication information of the communication terminal 102 is a password used for authentication to permit access to the communication terminal 102, for example, "b3duZXI6cGFzc3dvcmQy".
[0058] The destination information of the user-specified destination includes the URI of the user-specified destination and user-specified destination authentication information. The URI of the user-specified destination is a URI indicating the destination set in the destination specification list box 807 in step S901, for example, "https: / / aaa.com / Storage1". The user-specified destination authentication information is a password used for authentication to permit access to the user-specified destination, for example, "dXNlcjE6cGFzc3dvcmQx". The CPU 302 transmits the generated job command to the image forming apparatus 101 (step S903) (command transmission means).
[0059] When the CPU 202 of the image forming apparatus 101 receives the job command from the communication terminal 102, it transmits the user-specified destination authentication information to the cloud server 103 corresponding to the URI of the user-specified destination in the job command (step S904). Specifically, the CPU 202 transmits an HTTP GET request including the user-specified destination authentication information in the job command to the cloud server 103.
[0060] When the CPU 402 of the cloud server 103 receives the HTTP GET request, the authentication unit 705 performs authentication based on the user-specified destination authentication information included in the received HTTP GET request. If the authentication is successful, the CPU 402 notifies the image forming apparatus 101 of this fact (step S905). Specifically, the CPU 402 transmits to the image forming apparatus 101 an HTTP response in which an HTTP response status code indicating that the authentication was successful is set.
[0061] The CPU 202 of the image forming apparatus 101 determines whether authentication has been successful based on the HTTP response status code set in the received HTTP response. If authentication has been successful, the CPU 202 generates scan job data for executing a scan job based on the scan settings included in the job command received in step S903 (step S906). If generation of the scan job data has been successful, the CPU 202 executes the scan job based on the scan job data. The CPU 202 also notifies the communication terminal 102 that generation of the scan job data has been successful (step S907). Specifically, the CPU 202 transmits the HTTP response data shown in FIG. 11 to the communication terminal 102. This HTTP response data includes an HTTP response status code indicating that generation of the scan job data has been successful, and a status acquisition request URI used in step S909, which will be described later. The status acquisition request URI is a URI that indicates the image forming apparatus 101.
[0062] When the CPU 302 of the communication terminal 102 receives the HTTP response data from the image forming apparatus 101, it causes the display unit 310 to display a scanning screen 809 (step S908). The CPU 302 also starts a status monitoring process for monitoring the status of the image forming apparatus 101, and makes a status acquisition request for the image forming apparatus 101 (step S909). Specifically, the CPU 302 of the communication terminal 102 transmits an HTTP GET request, which is a status acquisition request for the image forming apparatus 101, to the image forming apparatus 101 indicated by the status acquisition request URI set in the received HTTP response data. In the status monitoring process, the CPU 302 makes a status acquisition request for the image forming apparatus 101 at 100 msec intervals.
[0063] When the CPU 202 of the image forming apparatus 101 receives this HTTP GET request, it notifies the communication terminal 102 of "in progress" as the job execution result, indicating that a scanned image is being generated (step S910). Specifically, the CPU 202 transmits HTTP response data to the communication terminal 102. The message body of this HTTP response data is composed of the status information of the scanner 213 stored in the RAM 203, the number of scanned pages in the scan job corresponding to the job ID specified in the query string of the status acquisition request URI, and the job result. For example, when scanning of three of the five originals to be scanned has been completed, the CPU 202 transmits the HTTP response data shown in FIG. 12(a) to the communication terminal 102. The scan status " <state> Scanning< / state> ", CPU 302 of communication terminal 102 can determine that a scanned image is being generated. When CPU 202 completes generation of the scanned image, it transmits the scanned image to the user-specified destination (step S911). Specifically, the authentication information "dXNlcjE6cGFzc3dvcmQx" set in the job command is added to the HTTP header, and an HTTPS POST request with the binary data of the scanned image as the message body is transmitted to cloud server 103.
[0064] Because the user's write permission corresponding to the authentication information set in the HTTPS POST request has not been granted to the predetermined storage area indicated by the URI of the user-specified destination, the CPU 402 of the cloud server 103 performs the process of step S912. In step S912, the CPU 402 transmits a transmission error response to the image forming apparatus 101. Specifically, the CPU 402 transmits the transmission error response shown in FIG. 13 to the image forming apparatus 101, with a message indicating "access permission error" in the message body.
[0065] Upon receiving the transmission error response, the CPU 202 of the image forming apparatus 101 transmits the scanned image to the communication terminal 102 (step S913). Specifically, the CPU 202 of the image forming apparatus 101 transmits an HTTPS POST request to the image destination URI "https: / / 192.169.1.100 / scan" of the communication terminal 102 included in the job command. This HTTPS POST request is data in which the image destination authentication information "b3duZXI6cGFzc3dvcmQy" of the communication terminal 102 included in the job command is added to the HTTP header and the binary data of the scanned image is included in the message body. Upon completing transmission of the scanned image to the communication terminal 102, the CPU 202 deletes the scanned image from the storage 205. As described above, in this embodiment, if the image forming apparatus 101 fails to transmit the scanned image to the user-specified destination, the scanned image is not stored in the storage 205 but is transmitted to the communication terminal 102, which is the sender of the job command.
[0066] Meanwhile, the CPU 302 of the communication terminal 102 makes a request to obtain the status of the image forming device 101 (step S914). In step S914, similar to step S909, the CPU 302 transmits an HTTP GET request, which is a request to obtain the status of the image forming device 101, to the image forming device 101 indicated by the status obtainment request URI.
[0067] When the CPU 202 of the image forming apparatus 101 receives the HTTP GET request after completing transmission of the scanned image to the communication terminal 102, it notifies the communication terminal 102 of "Own terminal transmission successful" (job result notification) described later as the job execution result (step S915). Specifically, the CPU 202 transmits the HTTP response data shown in Fig. 12(b) to the communication terminal 102, in which a setting value indicating "Own terminal transmission successful" is set as the job execution result.
[0068] When the CPU 302 of the communication terminal 102 receives this HTTP response data, it identifies a character string corresponding to the job execution result from the HTTP response data. <jobresult> HostSendSuccess< / jobresult> ", the CPU 302 determines that transmission of the scanned image to the communication terminal 102 has been completed. Next, the CPU 302 closes the predetermined port number, for example, "443", of the communication terminal 102 that was opened in step S902 (step S916). Next, the CPU 302 of the communication terminal 102 causes the display unit 310 to display a resend screen 811 (step S917).
[0069] Thereafter, the user instructs cloud server 103 via a web browser or the like to grant the user write permission to the user-specified destination (step S918). CPU 402 of cloud server 103 grants the user write permission corresponding to the user-specified destination authentication information "b3duZXI6cGFzc3dvcmQy" to the user-specified destination. Next, the user instructs communication terminal 102 to send the scanned image (step S919). Specifically, the user presses send button 813 on resend screen 811 displayed on display unit 310 of communication terminal 102.
[0070] The CPU 302 of the communication terminal 102 transmits the scanned image to the cloud server 103 (step S920). Specifically, the CPU 302 adds the user-specified destination authentication information “dXNlcjE6cGFzc3dvcmQx” to the HTTP header, and transmits an image data transmission command to the cloud server 103, with the binary data of the scanned image as the message body.
[0071] When the CPU 402 of the cloud server 103 completes reception of the scanned image, it notifies the communication terminal 102 that the scanned image has been successfully received (step S921). Specifically, the CPU 402 transmits to the communication terminal 102 an HTTP response in which an HTTP response status code indicating that the scanned image has been successfully received is set.
[0072] When the CPU 302 of the communication terminal 102 receives this HTTP response, it determines that the transmission of the scanned image was successful based on the HTTP response status code set in the HTTP response. The CPU 302 of the communication terminal 102 then displays a transmission success screen 817 on the display unit 310 and ends this process.
[0073] FIG. 14 is a flowchart showing the procedure of the job execution result save process executed by the image forming apparatus 101 in FIG. 1. The job execution result save process of FIG. 14 is realized by the CPU 202 of the image forming apparatus 101 executing a program stored in the ROM 204 or the storage 205. The job execution result save process of FIG. 14 is executed after a scan job is executed based on the scan job data generated in step S906 described above and a scanned image is generated. At the start of the job execution result save process, the scanned image, destination information of the communication terminal 102, and destination information of the user-specified destination are stored in the RAM 203. Also, the image forming apparatus 101 is assumed to have stored in the RAM 203 the maximum number of retries for sending the scanned image, for example, "5." The retry count is initialized to "0" at the start of the next job.
[0074] 14, CPU 202 transmits a scanned image to cloud server 103 corresponding to a user-specified destination (step S1401). Specifically, CPU 202 transmits the HTTPS POST request described in step S911 above to cloud server 103. Next, CPU 202 acquires an HTTPS response to this POST request from cloud server 103, and stores the transmission result included in the HTTP response in RAM 203 (step S1402). Next, CPU 202 determines whether the transmission result stored in RAM 203 in step S1402 is "successful" (step S1403).
[0075] If it is determined in step S1403 that the transmission result stored in RAM 203 in step S1402 is "success", CPU 202 stores "success" as the job execution result in RAM 203 (step S1404), and ends this process.
[0076] If it is determined in step S1403 that the transmission result stored in RAM 203 in step S1402 is not "successful," CPU 202 transmits the scanned image to communication terminal 102 (step S1405). Specifically, CPU 202 transmits the HTTPS POST request described in step S913 above to communication terminal 102. Next, CPU 202 acquires an HTTPS response to this POST request from communication terminal 102, and stores the transmission result included in the HTTP response in RAM 203 (step S1406). Next, CPU 202 determines whether the transmission result stored in RAM 203 in step S1405 is "successful" (step S1407).
[0077] If the result of the determination in step S1407 is that the transmission result is "successful," CPU 202 saves "Own-terminal transmission successful" as the job execution result in RAM 203 (step S1408). "Own-terminal transmission successful" is a job execution result indicating that transmission of the scanned image has been completed not to a user-specified destination but to the sender of the job command. Thereafter, the job execution result saving process ends.
[0078] If it is determined in step S1407 that the transmission result is not "successful," the CPU 202 determines whether the number of retries stored in the RAM 203 is less than the upper limit (step S1409).
[0079] If the result of determination in step S1409 is that the number of retries is less than the upper limit, the job execution result save process returns to step S1405. If the result of determination in step S1409 is that the number of retries is not less than the upper limit, CPU 202 saves "Failed" as the job execution result in RAM 203 (step S1410) and terminates this process. Thereafter, upon receiving a status acquisition request from communication terminal 102, CPU 202 transmits HTTP response data including the job execution result saved in RAM 203 to communication terminal 102.
[0080] Fig. 15 is a flowchart showing the procedure of communication terminal post-processing executed by communication terminal 102 in Fig. 1. The communication terminal post-processing in Fig. 15 is realized by CPU 302 of communication terminal 102 executing a program stored in ROM 304 or storage 305. The communication terminal post-processing in Fig. 15 is executed when communication terminal 102 starts status monitoring processing. At the start of communication terminal post-processing, the status acquisition request URI and destination information of the user-specified destination are saved in RAM 303, and the scanned image sent from image forming apparatus 101 in the job execution result saving processing described above is saved in storage 305.
[0081] 15, first, CPU 302 acquires the job execution result included in the HTTP response data transmitted from image forming apparatus 101 (step S1500). Next, CPU 302 determines whether the acquired job execution result is "in progress" (step S1501).
[0082] If the result of determination in step S1501 is that the acquired job execution result is "in progress", the communication terminal post-processing returns to step S1500. If the result of determination in step S1501 is that the acquired job execution result is not "in progress", CPU 302 determines whether the acquired job execution result is "successful transmission" (step S1502).
[0083] If the result of determination in step S1502 is that the acquired job execution result is "successful transmission", the communication terminal post-processing proceeds to step S1509, which will be described later. If the result of determination in step S1502 is that the acquired job execution result is not "successful transmission", CPU 302 determines whether the acquired job execution result is "successful transmission at own terminal" (step S1503).
[0084] If it is determined in step S1503 that the job execution result included in the HTTP response data is "successful transmission to local terminal," CPU 302 acquires destination information for the user-specified destination from RAM 303 (step S1504). Next, CPU 302 causes display unit 310 to display resend screen 811 via display unit I / F 308 (step S1505). Next, CPU 302 determines whether or not the user has pressed send button 813 on resend screen 811 (step S1506).
[0085] If it is determined in step S1506 that the user has pressed send button 813 on resend screen 811, CPU 302 transmits the scanned image to cloud server 103 via network I / F 306 (step S1507). Specifically, the image data transmission command shown in FIG. 16 is transmitted to cloud server 103, with user-specified destination authentication information "dXNlcjE6cGFzc3dvcmQx" added to the HTTP header and binary data of the scanned image as the message body. Next, CPU 302 acquires a transmission response to the transmission in step S1507 from cloud server 103. CPU 302 determines whether the transmission result included in the received transmission response is "successful," indicating that the transmission of the scanned image was successful (step S1508).
[0086] If it is determined in step S1508 that the transmission result included in the transmission response is not "successful," the communication terminal post-processing returns to step S1505. If it is determined in step S1508 that the transmission result included in the transmission response is "successful," CPU 302 displays a transmission success screen 817 on display unit 310 via display unit I / F 308 (step S1509). CPU 302 waits until the user presses the close button 818 on transmission success screen 817. When the user presses the close button 818 on transmission success screen 817 (YES in step S1510), CPU 302 executes termination processing (step S1511). In the termination processing, CPU 302 deletes the destination information of the user-specified destination from RAM 303. Also, in the termination processing, if a scanned image has been acquired from image forming apparatus 101, CPU 302 deletes the scanned image from storage 305. Thereafter, the communication terminal post-processing ends.
[0087] If it is determined in step S1503 that the acquired job execution result is not "transmission successful at own terminal," CPU 302 causes display unit 310 to display error screen 815 via display unit I / F 308 (step S1512). CPU 302 waits until the user presses close button 816 on error screen 815. When the user presses close button 816 on error screen 815 (YES in step S1513), communication terminal post-processing proceeds to step S1511.
[0088] If it is determined in step S1506 that the user has not pressed the send button 813 on the resend screen 811, the CPU 302 determines whether the user has pressed the close button 814 on the resend screen 811 (step S1514).
[0089] If it is determined in step S1514 that the user has not pressed the close button 814 on the resend screen 811, the communication terminal post-processing returns to step S1506. If it is determined in step S1514 that the user has pressed the close button 814 on the resend screen 811, the communication terminal post-processing proceeds to step S1511.
[0090] According to the first embodiment described above, when image forming apparatus 101 fails to send a scanned image to a user-specified destination, image forming apparatus 101 sends the scanned image to communication terminal 102. Communication terminal 102 sends the scanned image received from image forming apparatus 101 to the user-specified destination in accordance with an instruction to send the scanned image received from the user. This allows communication terminal 102 to retry sending the scanned image without storing the scanned image in storage 205 of image forming apparatus 101. As a result, it is possible to retry sending the scanned image without restricting the execution of other jobs in image forming apparatus 101.
[0091] Furthermore, in the above-described embodiment, the job command includes destination information of the user-specified destination and destination information of the communication terminal 102. This allows the image forming apparatus 101 to easily transmit the scanned image to the communication terminal 102 that is the sender of the job command when the image forming apparatus 101 fails to transmit the scanned image to the user-specified destination.
[0092] In the first embodiment described above, after communication terminal 102 receives a scanned image from image forming apparatus 101, communication terminal 102 displays resend screen 811 on display unit 310 in response to receiving HTTP response data including "Own terminal transmission successful" from image forming apparatus 101. This allows communication terminal 102 to receive an instruction to send the scanned image from the user in a state where communication terminal 102 is ready to retry sending the scanned image. As a result, after receiving an instruction to send the scanned image from the user, communication terminal 102 can send the scanned image to the user-specified destination without delay.
[0093] Furthermore, in the first embodiment described above, the resend screen 811 displays the details of the error that occurred when the image forming apparatus 101 failed to send the scanned image to the user-specified destination, thereby informing the user of the reason why the scan image transmission needs to be retried.
[0094] In the first embodiment described above, "Own terminal transmission successful" differs from "Transmission successful" which indicates that transmission of the scanned image to the user-specified destination has been completed. This allows the communication terminal 102 to easily control whether or not to display the resend screen 811.
[0095] Next, an image processing system and a control method thereof according to a second embodiment of the present invention will be described. The second embodiment is basically the same as the first embodiment described above in terms of configuration and operation, but differs from the first embodiment in that the control of scanned image transmission differs depending on whether the image forming apparatus 101 has spooling capability. Therefore, a description of the overlapping configuration and operation will be omitted, and only the different configuration and operation will be described below. In this embodiment, an image forming apparatus that restricts execution of other jobs when all scanned images generated by a scan job are stored in the storage 205 is referred to as an image forming apparatus without spooling capability. An image forming apparatus without spooling capability is, for example, an image forming apparatus equipped with a storage 205 having a memory area small enough to store all scanned images generated by a scan job. On the other hand, an image forming apparatus that does not restrict execution of other jobs even when all scanned images generated by a scan job are stored is referred to as an image forming apparatus with spooling capability. An image forming apparatus with spooling capability is, for example, an image forming apparatus equipped with a storage 205 having a memory area large enough to store not only all scanned images generated by a scan job but also other data.
[0096] FIG. 17 is a diagram illustrating screen transitions of the scan application 600 executed by the communication terminal 102 in the second embodiment. When the CPU 302 of the communication terminal 102 launches the scan application in accordance with a user instruction, the CPU 302 causes the display unit 310 to display a device selection screen 1700 of FIG. 17 via the display I / F 308. The function and configuration of the device selection screen 1700 are the same as those of the device selection screen 800. In the following description, it is assumed, as an example, that the image forming device 101 is specified in a product name specification list box 1701 on the device selection screen 1700. Next, when the user presses an enter button 1702 on the device selection screen 1700, the CPU 302 stores information about the image forming device 101 specified in the product name specification list box 1701 in the RAM 303. Next, the CPU 302 causes the display unit 310 to display a scan setting screen 1703 of FIG. 17 via the display I / F 308. The functions and configuration of scan setting screen 1703 are the same as those of scan setting screen 803. When the user presses start scan button 1708 on scan setting screen 1703, CPU 302 generates a job command based on the scan settings specified in each list box on scan setting screen 1703. CPU 302 transmits the generated job command to the image forming apparatus 101 specified in product name specification list box 1701. Next, CPU 302 displays scanning screen 1709 of FIG. 17 on display unit 310. The functions and configuration of scanning screen 1709 are the same as those of scanning screen 809.
[0097] When the user presses a scan cancel button 1710 on the scanning screen 1709, the CPU 302 transmits a job cancel command to the image forming apparatus 101. While the scanning screen 1709 is displayed, the CPU 302 sends a status acquisition request to the image forming apparatus 101 at 100 msec intervals and acquires information indicating the job status from the image forming apparatus 101. The CPU 302 switches the screen on the display unit 310 based on the acquired information. For example, if the acquired information is "failed," the CPU 302 displays an error screen 1715 shown in FIG. 17 on the display unit 310 via the display I / F 308. The function and configuration of the error screen 1715 are the same as those of the error screen 815. Furthermore, in this embodiment, if the image forming apparatus 101 has "no spooling capability," the communication terminal 102 acquires a scanned image from the image forming apparatus 101 and transmits the scanned image to a user-specified destination. If transmission of the scanned image from communication terminal 102 to cloud server 103 fails, CPU 302 causes display unit 310 to display resend screen 1711 of FIG. 17 via display unit I / F 308. The function and configuration of resend screen 1711 are the same as the function and configuration of resend screen 811. If the acquired information is "transmission successful," or if transmission of the scanned image from communication terminal 102 to cloud server 103 is successful, CPU 302 causes display unit 310 to display transmission success screen 1717 of FIG. 17 via display unit I / F 308. The function and configuration of transmission success screen 1717 are the same as the function and configuration of transmission success screen 817.
[0098] Fig. 18 is a sequence diagram for explaining the processing when image forming apparatus 101 with spooling capability fails to send a scanned image in the second embodiment. Fig. 18 illustrates, as an example, a case where transmission of a scanned image from image forming apparatus 101 to cloud server 103 fails because write permission is not granted to a predetermined storage area of cloud server 103 specified in destination specification list box 1707. Note that, also in Fig. 18, communication terminal 102, image forming apparatus 101, and cloud server 103 each communicate using HTTP, and communication terminal 102 and cloud server 103 perform authentication using Basic authentication.
[0099] 18, first, the user starts the scan application 600 of the communication terminal 102 (step S1801). The CPU 302 of the communication terminal 102 makes a device capability acquisition request to the image forming apparatus 101 connected to the network 104 (step S1802). In step S1802, the CPU 302 uses a capability acquisition URI for making the device capability acquisition request to send an HTTP GET request to the image forming apparatus 101 connected to the network 104. The capability acquisition URI is, for example, "http: / / 192.168.1.100 / getDeviceCap".
[0100] When the CPU 202 of the image forming apparatus 101 receives the HTTP GET request, it notifies the communication terminal 102 of the spooling capability of the image forming apparatus 101 (step S1803). Specifically, the CPU 202 notifies the communication terminal 102 of the spooling capability of the image forming apparatus 101 by sending " <spool>19(a) including "True" to the communication terminal 102. The CPU 202 of the communication terminal 102 then transmits the device capability response shown in FIG. 19(a) including "True" to the communication terminal 102. <spool>Based on the setting value "True," the CPU 202 determines that the image forming apparatus 101 has spooling capability. The CPU 202 stores "True" in the RAM 303 as the spooling capability setting value of the image forming apparatus 101.
[0101] Thereafter, similar to step S901, the user operates communication terminal 102 to instruct execution of a scan job (step S1804). CPU 302 of communication terminal 102 generates a job command shown in FIG. 20A that includes the scan settings set in step S1804 and the destination information of the user-specified destination set in step S1804. Next, CPU 302 transmits the generated job command to image forming apparatus 101 (step S1805). That is, the job command transmitted in step S1805 differs from the job command transmitted in step S903 of FIG. 9 in the first embodiment in that it does not include destination information of communication terminal 102, which is the source of the job command.
[0102] When the CPU 202 of the image forming apparatus 101 receives the job command from the communication terminal 102, it transmits the user-specified destination authentication information to the cloud server 103 (step S1806), similar to step S904.
[0103] The CPU 402 of the cloud server 103 performs authentication based on the received user-specified destination authentication information using the authentication unit 705. If the authentication is successful, the CPU 402 notifies the image forming apparatus 101 of the success of the authentication, similar to step S905 (step S1807).
[0104] Based on this notification, CPU 202 of image forming apparatus 101 determines whether authentication has been successful. If authentication has been successful, CPU 202 generates scan job data based on the scan settings included in the job command received in step S1806, similar to step S906 (step S1808). If generation of scan job data has been successful, CPU 202 executes the scan job based on the scan job data. Furthermore, CPU 202 notifies communication terminal 102 that generation of scan job data has been successful, similar to step S907 (step S1809).
[0105] Upon receiving this notification, CPU 302 of communication terminal 102 causes display unit 310 to display scanning screen 1709 (step S1810), similar to step S908. CPU 302 also starts a status monitoring process for monitoring the status of image forming device 101 at 100 msec intervals, and issues a status acquisition request for image forming device 101, similar to step S909 (step S1811).
[0106] If the generation of the scanned image has not been completed when the CPU 202 of the image forming apparatus 101 receives the status acquisition request from the communication terminal 102, the CPU 202 notifies the communication terminal 102 of "in progress" (step S1812), as in step S910. When the generation of the scanned image has been completed, the CPU 202 transmits the scanned image to the cloud server 103, which is the user-specified destination, as in step S911 (step S1813).
[0107] Since the user does not have write permission for the predetermined storage area indicated by the URI of the user-specified destination, CPU 402 of cloud server 103 transmits a transmission error response to image forming apparatus 101 (step S1814), similar to step S912. Here, in the second embodiment, if image forming apparatus 101 has spooling capability, processing equivalent to step S913 in FIG. 9 in the first embodiment is not performed. In other words, upon receiving the transmission error response from cloud server 103, image forming apparatus 101 does not transmit the scanned image to communication terminal 102.
[0108] Meanwhile, the CPU 302 of the communication terminal 102 makes a request to the image forming apparatus 101 to obtain the status of the image forming apparatus 101, similar to step S914 (step S1815).
[0109] When CPU 202 of image forming apparatus 101 receives a status acquisition request from communication terminal 102 after receiving a transmission error response from cloud server 103, CPU 202 notifies communication terminal 102 that transmission of the scanned image to the user-specified destination has failed (step S1816). Specifically, CPU 202 transmits HTTP response data shown in FIG. 12(c) including a job execution result indicating the contents of the transmission error response from image forming apparatus 101 to cloud server 103 to communication terminal 102.
[0110] The CPU 302 of the communication terminal 102 receives the job result " <jobresult> SendError< / jobresult> ", CPU 302 determines that transmission of the scanned image to cloud server 103 has failed. Based on this determination, CPU 302 causes display unit 310 to display resend screen 1711 (step S1817).
[0111] Thereafter, the user instructs cloud server 103 via a web browser or the like to grant the user write permission to the user-specified destination, as in step S918 (step S1818). Next, the user instructs communication terminal 102 to send the scanned image, as in step S919 (step S1819).
[0112] When receiving an instruction to transmit a scanned image from the user, the CPU 302 of the communication terminal 102 requests the image forming apparatus 101 to transmit the scanned image via the network I / F 306 (step S1820).
[0113] Similar to step S1813, CPU 202 of image forming apparatus 101 transmits the scanned image to cloud server 103, which is the user-specified destination (step S1821).
[0114] When the CPU 402 of the cloud server 103 completes reception of the scanned image, it notifies the image forming apparatus 101 that reception of the scanned image was successful (step S1822). Specifically, the CPU 402 transmits to the image forming apparatus 101 an HTTP response in which an HTTP response status code indicating that reception of the scanned image was successful is set.
[0115] Meanwhile, the CPU 302 of the communication terminal 102 makes a request to the image forming apparatus 101 to obtain the status of the image forming apparatus 101, similar to step S1815 (step S1823).
[0116] When CPU 202 of image forming apparatus 101 receives a status acquisition request from communication terminal 102 after being notified by cloud server 103 that the scanned image has been successfully received, CPU 202 notifies communication terminal 102 that the scanned image has been successfully transmitted (step S1824). Specifically, CPU 202 transmits to communication terminal 102 HTTP response data shown in Fig. 12(d) including an HTTP response status code indicating that the scanned image has been successfully transmitted to the user-specified destination.
[0117] Based on the HTTP response status code set in the received HTTP response, the CPU 302 of the communication terminal 102 determines that the transmission of the scanned image to the user-specified destination was successful. Based on this determination, the CPU 302 of the communication terminal 102 causes the display unit 310 to display a transmission success screen 1717 (step S1825), and ends this process.
[0118] 21 is a sequence diagram for explaining the processing performed when image forming apparatus 101, which does not have spooling capability, fails to send a scanned image in the second embodiment. In FIG. 21, as an example, a case is described in which transmission of a scanned image from image forming apparatus 101 to cloud server 103 fails because write permission is not granted to a predetermined storage area of cloud server 103 specified in destination specification list box 1707. In FIG. 21 as well, communication terminal 102, image forming apparatus 101, and cloud server 103 each communicate using HTTP, and communication terminal 102 and cloud server 103 perform authentication using Basic authentication. Note that the processing in FIG. 21 is similar to the processing in FIG. 18 described above, and the following describes processing that differs from the processing in FIG. 18 in particular.
[0119] 21, steps S2101 and S2102 are performed, which are the same processes as steps S1801 and S1802 described above. Next, when the CPU 202 of the image forming apparatus 101 receives the HTTP GET request from the communication terminal 102, it notifies the communication terminal 102 of its spooling capability (step S2103). Specifically, the CPU 202 notifies the communication terminal 102 of its spooling capability by sending " <spool>19(b) including "False" to the communication terminal 102. The CPU 202 of the communication terminal 102 then transmits the device capability response shown in FIG. 19(b) including "False" to the communication terminal 102. <spool>False,” the CPU 202 determines that the image forming apparatus 101 has “no spooling capability.” The CPU 202 stores “False” in the RAM 303 as the spooling capability setting value of the image forming apparatus 101.
[0120] Thereafter, similar to step S1804, the user operates communication terminal 102 to instruct execution of a scan job (step S2104). CPU 302 of communication terminal 102 transmits user-specified destination authentication information to cloud server 103, which is the user-specified destination set in step S2104 (step S2105). Specifically, CPU 302 obtains the user-specified destination authentication information from storage 305, and transmits an HTTP GET request including the user-specified destination authentication information to cloud server 103.
[0121] When CPU 402 of cloud server 103 receives the HTTP GET request, authentication unit 705 performs authentication based on the user-specified destination authentication information included in the received HTTP GET request. If the authentication is successful, CPU 402 notifies communication terminal 102 of that fact (step S2106). Specifically, CPU 402 transmits an HTTP response to communication terminal 102, in which an HTTP response status code indicating that the authentication was successful is set.
[0122] Upon receiving the HTTP response, the CPU 302 of the communication terminal 102 opens a predetermined port number, for example, "443," in the communication terminal 102 so that the communication terminal 102 can receive a POST request via HTTPS (step S2107). Next, the CPU 302 of the communication terminal 102 generates the job command shown in FIG. 20B (step S2108). This job command includes the scan settings set by the user in step S2104 and the destination information of the communication terminal 102. The destination information of the communication terminal 102 includes the image destination URI of the communication terminal 102, "https: / / 192.168.1.100 / scan," and the image destination authentication information of the communication terminal 102, "b3duZXI6cGFzc3dvcmQy." As described above, in the second embodiment, when the image forming apparatus 101 does not have spooling capability, user-specified destination information is not set in the job command, and the destination information of the communication terminal 102, which is the sender of the job command, is set. Next, the CPU 302 transmits the generated job command to the image forming apparatus 101 (step S2108).
[0123] CPU 202 of image forming apparatus 101 generates scan job data based on the scan settings included in the received job command (step S2109). Upon completing generation of the scan job data, CPU 202 executes the scan job based on the scan job data. Similarly to step S1809, CPU 202 notifies communication terminal 102 that generation of the scan job data was successful (step S2110).
[0124] When CPU 302 of communication terminal 102 receives this notification from image forming apparatus 101, it causes display unit 310 to display scanning screen 1709 (step S2111), similar to step S1810. CPU 302 also starts a status monitoring process for monitoring the status of image forming apparatus 101 at 100 msec intervals, and makes a status acquisition request for image forming apparatus 101, similar to step S1811 (step S2112).
[0125] If generation of the scanned image has not been completed when CPU 202 of image forming apparatus 101 receives a status acquisition request from communication terminal 102, CPU 202 notifies communication terminal 102 of "in progress" as in step S1812 (step S2113). When generation of the scanned image is completed, CPU 202 transmits the scanned image to communication terminal 102, which is the sender of the job command (step S2114). Thus, in the second embodiment, image forming apparatus 101, which does not have a spooling function, transmits the scanned image not to cloud server 103 but to communication terminal 102, which is the sender of the job command.
[0126] Meanwhile, the CPU 302 of the communication terminal 102 makes a request to obtain the status of the image forming apparatus 101, similar to step S2112 (step S2115).
[0127] When the CPU 202 of the image forming apparatus 101 receives the status acquisition request after completing transmission of the scanned image to the communication terminal 102, the CPU 202 notifies the communication terminal 102 that transmission of the scanned image has been completed (step S2116).
[0128] Upon receiving this notification from the image forming apparatus 101, the CPU 302 of the communication terminal 102 closes the predetermined port number, for example, "443," of the communication terminal 102 that was opened in step S2107 (step S2117). Next, the CPU 302 transmits the scanned image transmitted from the image forming apparatus 101 in step S2114 to the cloud server 103, which is the user-specified destination (step S2118). Specifically, the authentication information "dXNlcjE6cGFzc3dvcmQx" set in the job command is added to the HTTP header, and an HTTPS POST request with the binary data of the scanned image as the message body is transmitted to the cloud server 103.
[0129] The CPU 402 of the cloud server 103 sends a transmission error response to the communication terminal 102 because the user corresponding to the authentication information set in the HTTPS POST request does not have write permission in the specified storage area (step S2119).
[0130] When the CPU 302 of the communication terminal 102 receives the transmission error response, it causes the display unit 310 to display a retransmission screen 1711 via the display unit I / F 308 (step S2120).
[0131] Thereafter, the user instructs cloud server 103 via a web browser or the like to grant the user write permission to the user-specified destination, as in step S1818 (step S2121). Next, the user instructs communication terminal 102 to send the scanned image, as in step S1819 (step S2122).
[0132] When CPU 302 of communication terminal 102 receives an instruction from the user to transmit the scanned image, CPU 302 transmits the scanned image to cloud server 103, which is the user-specified destination, in the same manner as in step S2118 (step S2123).
[0133] When CPU 402 of cloud server 103 has completed reception of the scanned image, it notifies communication terminal 102 of that fact (step S2124). Specifically, CPU 402 of cloud server 103 transmits to communication terminal 102 an HTTP response in which an HTTP response status code indicating that reception of the scanned image has been completed is set.
[0134] Based on the HTTP response status code set in the received HTTP response, CPU 302 of communication terminal 102 determines that transmission of the scanned image was successful. Based on this determination, CPU 302 causes display unit 310 to display transmission success screen 1717 (step S2125), and ends this process.
[0135] 22 is a flowchart showing the procedure of job command generation processing executed by the communication terminal 102 in the second embodiment. The job command generation processing of FIG. 22 is realized by the CPU 302 of the communication terminal 102 executing a program stored in the ROM 304 or the storage 305. The job command generation processing of FIG. 22 is executed when the user issues an instruction to execute a scan job (see, for example, steps S1804 and S2104), that is, when the user presses the scan start button 1708 on the scan setting screen 1703. Note that, at the start of the job command generation processing, the spooling capability setting value of the image forming apparatus 101 is stored in the RAM 303 of the communication terminal 102 based on the response to the device capability acquisition request in step S1802 or S2102. As described above, the spooling capability setting value of the image forming apparatus 101 is either "True," which indicates that the image forming apparatus 101 has "spooling capability," or "False," which indicates that the image forming apparatus 101 does not have "spooling capability."
[0136] 22, CPU 302 generates a job setting character string based on the values selected in color mode specification list box 1704, resolution specification list box 1705, and input method specification list box 1706 (step S2201). CPU 302 saves the generated job setting character string in RAM 303. Next, CPU 302 determines whether image forming apparatus 101 has spooling capability based on the spooling capability setting value of image forming apparatus 101 saved in RAM 303 (step S2202).
[0137] If the result of the determination in step S2202 is that the image forming apparatus 101 does not have spooling capability, that is, if the image forming apparatus 101 does not have spooling capability, the job command generation process proceeds to step S2203. In step S2203, the CPU 302 generates a destination character string based on the destination information of the communication terminal 102 and saves the generated destination character string in RAM 303. Next, the CPU 302 saves the destination information of the user-specified destination in RAM 303 (step S2204). Next, the CPU 302 generates a job command shown in FIG. 20B based on the job setting character string and the destination character string saved in RAM 303 (step S2205). That is, in this job command, the destination information indicating the destination of the scanned image is set to the destination information of the communication terminal 102, not the destination information of the user-specified destination. Next, the CPU 302 transmits a job command to the image forming apparatus 101 via the network I / F 306 (step S2206) (see, for example, steps S1805 and S2108 described above), and ends this process.
[0138] If the result of the determination in step S2202 is that the image forming apparatus 101 has spooling capability, the CPU 302 generates a destination character string based on the destination information of the user-specified destination and saves this destination character string in RAM 303 (step S2207). Next, the CPU 302 generates a job command shown in FIG. 20(a) based on the job setting character string and the destination character string saved in RAM 303 (step S2208). That is, in this job command, the destination information of the user-specified destination is set as the destination information indicating the destination of the scanned image. Next, the job command generation process proceeds to step S2206.
[0139] FIG. 23 is a flowchart showing the procedure of a job execution result save process executed by the image forming apparatus 101 in the second embodiment. The job execution result save process of FIG. 23 is realized by the CPU 202 of the image forming apparatus 101 executing a program stored in the ROM 204 or storage 205. The job execution result save process of FIG. 23 is executed after a scanned image is generated based on the scan job data generated in step S1808 or S2109 described above. When the job execution result save process starts, binary data of the scanned image is stored in the RAM 203. Furthermore, when the job execution result save process starts, destination information set in the job command received from the communication terminal 102 is stored in the RAM 203. This destination information includes a destination URI indicating the destination of the scanned image and destination authentication information used to access this destination. Furthermore, the image forming apparatus 101 stores in the RAM 203 a maximum number of retries for sending the scanned image, for example, "5." Note that the retry count is initialized to "0" when the next job starts.
[0140] 23, CPU 202 transmits the scanned image to the destination indicated by the destination information set in the job command received from communication terminal 102 (step S2301). Specifically, an HTTPS POST request is transmitted to the destination URI stored in RAM 203, with the destination authentication information stored in RAM 203 added to the HTTP header and the binary data of the scanned image stored in RAM 203 as the message body. For example, if image forming apparatus 101 has spooling capability, the destination information of cloud server 103, which is the user-specified destination, is set in the job command by the above-described job command generation process. In this case, in step S2301, CPU 202 transmits the scanned image to cloud server 103. On the other hand, if image forming apparatus 101 does not have spooling capability, the destination information of communication terminal 102 is set in the job command by the above-described job command generation process. In this case, in step S2301, CPU 202 transmits the scanned image to communication terminal 102.
[0141] Next, CPU 202 acquires an HTTPS response to the POST request from the destination of the scanned image, and stores the transmission result included in the HTTP response in RAM 203 (step S2302). Next, CPU 202 determines whether the transmission result stored in RAM 203 in step S2302 is "successful" (step S2303).
[0142] If it is determined in step S2303 that the transmission result stored in RAM 203 in step S2302 is "success", CPU 202 stores "success" as the job execution result in RAM 203 (step S2304), and ends this process.
[0143] If it is determined in step S2303 that the transmission result stored in RAM 203 in step S2302 is not "success", CPU 202 determines whether the number of retries stored in RAM 203 is less than the upper limit number (step S2305).
[0144] If the result of determination in step S2305 is that the number of retries is less than the upper limit, the job execution result save process returns to step S2301. If the result of determination in step S2305 is that the number of retries is not less than the upper limit, CPU 202 saves "Failed" as the job execution result in RAM 203 (step S2306) and terminates this process. Thereafter, upon receiving a status acquisition request from communication terminal 102, CPU 202 transmits HTTP response data including the job execution result saved in RAM 203 to communication terminal 102.
[0145] 24 is a flowchart showing the procedure of communication terminal post-processing executed by communication terminal 102 in the second embodiment. The communication terminal post-processing in FIG. 24 is realized by CPU 302 of communication terminal 102 executing a program stored in ROM 304 or storage 305. The communication terminal post-processing in FIG. 24 is executed when HTTP response data including a job execution result is transmitted from image forming apparatus 101 in response to a status acquisition request issued by communication terminal 102. At the start of communication terminal post-processing, a status acquisition request URI for issuing a status acquisition request to image forming apparatus 101 and destination information of cloud server 103, which is a user-specified destination, are stored in RAM 303. Furthermore, at the start of communication terminal post-processing, a spooling capability setting value of image forming apparatus 101 is stored in RAM 303 of communication terminal 102 based on the response to the device capability acquisition request issued in step S1802 or S2102.
[0146] 24, the CPU 302 acquires the job execution result included in the HTTP response data transmitted from the image forming apparatus 101 (step S2401). Next, the CPU 302 determines whether the acquired job execution result is "in progress" (step S2402).
[0147] If the result of determination in step S2402 is that the acquired job execution result is "in progress", the communication terminal post-processing returns to step S2401. If the result of determination in step S2402 is that the acquired job execution result is not "in progress", CPU 302 determines whether the acquired job execution result is "success" (step S2403).
[0148] If the result of determination in step S2403 is that the acquired job execution result is "success," communication terminal post-processing proceeds to step S2404. In step S2404, CPU 302 determines whether image forming apparatus 101 has "spooling capability" based on the spooling capability setting value of image forming apparatus 101 stored in RAM 302.
[0149] If the determination result in step S2404 indicates that the image forming apparatus 101 has spooling capability, the communication terminal post-processing proceeds to step S2408, which will be described later. If the determination result in step S2404 indicates that the image forming apparatus 101 does not have spooling capability, the scanned image transmitted from the image forming apparatus 101 in step S2114 described above is stored in storage 305. In this case, CPU 302 acquires destination information of the user-specified destination, for example, destination information of the cloud server 103, from RAM 303 (step S2405). Next, CPU 302 transmits the scanned image stored in storage 305 to the cloud server 103 via network I / F 306 (step S2406) (see, for example, step S2118 described above). Next, CPU 302 acquires a response to the transmission of the scanned image from cloud server 103. Based on the acquired response, CPU 302 determines whether the transmission result is "successful" (step S2407).
[0150] If the result of the determination in step S2407 is that the transmission result is "successful," CPU 302 causes display unit 310 to display transmission success screen 1717 via display unit I / F 308 (step S2408). Next, CPU 302 waits until the user presses close button 1718 on transmission success screen 1717. When close button 1718 on transmission success screen 1717 is pressed by the user (YES in step S2409), CPU 302 executes termination processing, which is the same processing as step S1511 (step S2410). Thereafter, communication terminal post-processing ends.
[0151] If it is determined in step S2407 that the transmission result is not "successful," CPU 302 causes display unit 310 to display resend screen 1711 via display unit I / F 308 (step S2411). Next, CPU 302 determines whether or not the user has pressed send button 1713 on resend screen 1711 (step S2412).
[0152] If it is determined in step S2412 that the user has pressed send button 1713 on resend screen 1711, communication terminal post-processing proceeds to step S2406. If it is determined in step S2412 that the user has not pressed send button 1713 on resend screen 1711, CPU 302 determines whether or not the user has pressed close button 1714 on resend screen 1711 (step S2413).
[0153] If it is determined in step S2413 that the user has not pressed the close button 1714 on the resend screen 1711, the communication terminal post-processing returns to step S2412. If it is determined in step S2413 that the user has pressed the close button 1714 on the resend screen 1711, the communication terminal post-processing proceeds to step S2410.
[0154] If it is determined in step S2403 that the acquired job execution result is not "success", CPU 302 causes display unit 310 to display error screen 1715 via display unit I / F 308 (step S2414). Next, CPU 302 waits until the user presses close button 1716 on error screen 1715. When the user presses close button 1716 on error screen 1715 (YES in step S2415), communication terminal post-processing proceeds to step S2410.
[0155] In the above-described embodiment, when the image forming apparatus 101 does not have spooling capability, the communication terminal 102 transmits to the image forming apparatus 101 a job command that does not include destination information for the user-specified destination, but includes destination information for the communication terminal 102. This allows the communication terminal 102 to retry sending the scanned image without storing the scanned image in the storage 205 of the image forming apparatus 101 that does not have spooling capability. As a result, the image forming apparatus 101 can retry sending the scanned image without restricting the execution of other jobs.
[0156] In the above-described embodiment, the image forming apparatus 101 that does not have spooling capability is an image forming apparatus that has a storage 205 with a capacity that is too small to store all of the scanned images generated by the execution of a job. As a result, in an image forming apparatus that has a storage 205 with a capacity that is too small to store all of the scanned images generated by the execution of a job, a retry of sending the scanned images can be performed from the communication terminal 102.
[0157] The present invention can also be realized by supplying a program that realizes one or more functions of the above-described embodiments to a system or device via a network or a storage medium, and having one or more processors in the computer of the system or device read and execute the program. The present invention can also be realized by a circuit (e.g., ASIC) that realizes one or more functions. [Explanation of symbols]
[0158] 100 Image Processing System 101 Image forming device 102 Communication terminal 202 CPU 206 Network I / F 302 CPU 306 Network I / F 309 Operation section 501 Data transmission and reception unit 503 Job control section 601 Data transmission and reception unit 604 Command Generation Unit 811,1711 Retransmission screen< / spool> < / spool> < / spool> < / spool> < / scanjob>
Claims
1. An image processing system including an information processing device and an image processing device, The information processing device includes: a receiving unit for receiving, from a user, an instruction to execute a job in which an original document is read, image data of the original document is generated, and the image data is transmitted to a destination designated by the user; a command generating means for generating a command for executing the job; a command sending means for sending the command to the image processing device; The image processing device includes: a control unit that controls execution of the job based on a command received from the information processing device; an image data transmitting means for transmitting the image data to the information processing device when transmission of the image data to the destination designated by the user fails; An image processing system characterized in that, after the image data sending means of the image processing device fails to send the image data to the destination specified by the user and succeeds in sending the image data to the information processing device, the information processing device displays a first screen notifying the user of the cause of the failure to send the image data, the first screen including a send button for receiving instructions to send the image data, and sends the image data received from the image processing device to the destination specified by the user in accordance with the instructions received from the user via the send button without accepting input of the destination from the user, and after the image data sending means of the image processing device fails to send the image data to the destination specified by the user and fails to send the image data to the information processing device, the information processing device displays a second screen that does not include the send button.
2. 2. The image processing system according to claim 1, wherein the accepting unit further accepts destination information of the information processing device.
3. 3. The image processing system according to claim 2, wherein the destination information is a URI indicating a storage area of the information processing device.
4. An image processing system according to any one of claims 1 to 3, characterized in that the command includes first destination information required when sending the image data to a destination specified by the user, and second destination information required when sending the image data to the information processing device.
5. the information processing device displays the first screen for accepting the instruction by the send button; The image processing system according to any one of claims 1 to 4, characterized in that after receiving the image data from the image processing device, the information processing device displays the first screen in response to receiving a job result notification from the image processing device indicating that the image data has been sent from the image processing device to the information processing device.
6. 6. The image processing system according to claim 5, wherein the first screen displays the content of an error that occurs when the image processing device fails to transmit the image data to the destination specified by the user.
7. An image processing system as described in any one of claims 2 to 6, characterized in that when the image processing device successfully sends the image data to the destination specified by the user, it sends another job result notification to the information processing device indicating that the sending of the image data to the destination specified by the user has been completed.
8. A control method for an image processing system including an information processing device and an image processing device, a receiving step of receiving, from a user, an instruction to execute a job of reading an original document, generating image data of the original document, and transmitting the image data to a destination designated by the user; a command generation step of generating a command for executing the job by the information processing device; a command transmission step of transmitting the command to the image processing device; a control step of causing the image processing device to execute the job based on the command; a first image data transmission step of transmitting the image data from the image processing device to the information processing device when the image processing device fails to transmit the image data to the destination specified by the user; a second image data transmission step of displaying a first screen including a send button for receiving an instruction to transmit the image data to the destination specified by the user after the image processing device has failed to transmit the image data to the destination specified by the user in the first image data transmission step and the image data has been successfully transmitted from the image processing device to the information processing device, and transmitting the image data from the information processing device to the destination specified by the user in accordance with the instruction received from the user via the send button without receiving an input of the destination from the user; a display step of displaying a second screen that does not include the send button after the first image data sending step fails to send the image data to the destination specified by the user and the image data has failed to be sent to the information processing device.
9. A program for causing a computer to execute the control method according to claim 8.
Citation Information
Patent Citations
Image input / output system, control method, and program
JP2008066988A
Communication device
JP2008109479A
Information processing system, program, and history information displaying method
JP2009124315A
Scan image transmitting apparatus and scan image transmitting system
JP2011087226A
Image processing system, image processing apparatus, information processing apparatus, and image processing method
JP2015186208A