Image reading system in which an apparatus accepts an instruction to start reading a document by using setting information in a scan job received from an information processing apparatus, image reading apparatus, and image reading method of image reading system

In an image reading system that includes an information processing apparatus and an image reading apparatus which can communicate with the information processing apparatus, the image reading apparatus receives, from the information processing apparatus, a scan job and causes a reader to read a document in response to a user instruction, transmits an execution status of the scan job to the information processing apparatus, and transmits the image data obtained by the reading to the information processing apparatus. The information processing apparatus transmits the scan job, makes a request to the image reading apparatus to obtain the image data of the document based on the execution status of the scan job, and receives the image data from the image reading apparatus.

BACKGROUND OF THE INVENTION

Field of the Invention

The present invention relates to an image reading system, an image reading apparatus, and an image reading method of the image reading system.

Description of the Related Art

Conventionally, between an image reading apparatus and a personal computer (to be referred to as a PC hereinafter) that are connected to a network, there is known a function to directly load, via a scanner driver on the PC side, image data read by the image reading apparatus to an application on the PC side. Japanese Patent Laid-Open No. 2005-277564 discloses that this function is called a pull scan (a network scan or a remote scan).

In a pull scan, a user first sets a reading-target document on the image reading apparatus, returns to the location of the PC, and instructs the execution of the scan by using the PC. After the execution of the scan has been instructed, the PC transmits a scan execution instruction to the image reading apparatus. The PC receives image data that has been generated by the image reading apparatus by scanning the document in accordance with the execution instruction. Subsequently, the user goes to the location of the image reading apparatus again and collects the read document. In this case, since the user must temporarily leave the location of the image reading apparatus on which the document has been set, there is a possibility that a third party may erroneously take the document set on the image reading apparatus during this period.

SUMMARY OF THE INVENTION

An aspect of the present invention is to eliminate the above-mentioned problem with conventional technology.

According to a first aspect of the present invention, there is provided an image reading system that includes an image reading apparatus and an information processing apparatus, wherein the image reading apparatus comprising: a first memory storing a set of instructions; and one or more first processors that execute instructions of the set of the instructions and cause the image reading apparatus to function as: a first reception unit configured to receive, from the information processing apparatus, a scan job which includes setting information used to read a document; an accepting unit configured to accept a user instruction for instruction to start reading of the document by using the setting information included in the scan job received by the first reception unit; a reading unit configured to cause a reader to read the document and execute the scan job in accordance with the user instruction accepted by the accepting unit; and a first transmission unit configured to transmit an execution status of the scan job received by the first reception unit to the information processing apparatus, wherein the first reception unit further receives, from the information processing apparatus, a request for image data generated by reading the document by the reader, and wherein the first transmission unit transmits the image data to the information processing apparatus in accordance with the received request, wherein the information processing apparatus comprising: a second memory storing a set of instructions; and one or more second processors that execute instructions of the set of the instructions and cause the information processing apparatus to function as: a second transmission unit configured to transmit the scan job which includes the setting information used for the reading of the document by the reader; and a second reception unit configured to receive the execution status of the scan job transmitted by the first transmission unit, wherein the second transmission unit further transmits the request to the image reading apparatus in accordance with the execution status of the scan job received by the second reception unit, and wherein the second reception unit further receives the image data transmitted from the first transmission unit.

According to a second aspect of the present invention, there is provided an image reading apparatus comprising: a memory storing a set of instructions; and one or more processors that execute instructions of the set of the instructions and cause the image reading apparatus to function as: a reception unit configured to receive, from an information processing apparatus, a scan job which includes setting information used to read a document; an accepting unit configured to accept an user instruction for instructing to start reading of the document by using the setting information included in the scan job received by the reception unit; a reading unit configured to cause a reader to read the document by accepting the user instruction by the accepting unit; and a transmission unit configured to transmit an execution status of the scan job to the information processing apparatus, wherein the reception unit further receives an image data obtainment request from the information processing apparatus which received the execution status of the scan job transmitted by the transmission unit, and wherein the transmission unit further transmits, to the information apparatus, the image data obtained by reading the document by the reader in accordance with the image data obtainment request.

DESCRIPTION OF THE EMBODIMENTS

First Embodiment

FIG. 1is a block diagram for explaining the arrangement of a multi-function peripheral (MFP)100that functions as an image reading apparatus according to the first embodiment described in this specification.

A control unit110is connected to a scanner130, which is an image input device configured to read a document and input image data, and to a printer140, which is an image output device configured to print an image based on image data, and controls input and output of image data between the devices. On the other hand, the control unit110is connected to a LAN and receives a print job from a PC160or the like via the LAN. A console unit150includes a display unit and a keyboard and accepts user operation. The display unit may have a touch panel function, and a user operation is accepted through this touch panel in this case.

Here, by a user instruction, the MFP100can execute a pull scan or a push scan in which the image data from a document read and obtained by the scanner130is transmitted to the PC160as an information processing apparatus. The MFP100and the PC160can communicate with each other via the LAN and form an information processing system by being connected to a device, a printer, an information terminal, a PC and the like (all not shown) via the LAN. Note that the connection of these devices is not limited to a wired connection and may also be a wireless connection. Here, assume that the MFP100and the PC160are apart from each other by, for example, several tens of meters.

The arrangement of the control unit110will be described next.

A CPU111executes a boot program stored in a ROM113, deploys a program stored in a storage unit114to a RAM112, executes the deployed program, and controls the operation of the MFP100. The ROM113is a boot ROM and stores the boot program and various kinds of setting information. The storage unit114stores system software, image data, programs for controlling the operation of the MFP100, and the like. A network I/F115is connected to the LAN and controls input/output of various kinds of information by communicating with an external apparatus such as the PC160via a network. A device I/F116connects the scanner130, the printer140, and the control unit110to each other and converts between synchronous and asynchronous image data. A console unit I/F117is an interface connecting the console unit150and the control unit110and outputs, to the console unit150, image data to be displayed on the console unit150. The console unit I/F117also transmits, to the CPU111, information input by a user via the console unit150. An image processing unit118performs image processing on print data received via the LAN and on image data input to and output from the device I/F116. An image memory119is a memory used to temporarily render image data which is to be processed by the image processing unit118.

FIG. 2depicts a sectional view of a structure for explaining the arrangement of the scanner130according to the first embodiment.

The scanner130includes a document feeder200. A document placed on a document tray205is drawn into a separation unit203by a feeding unit of the document feeder200, each topmost sheet of the document bundle is separated and conveyed to conveyance rollers204and205. A registration roller206is not rotating at the time of the arrival of the leading edge of the document and conveys the document to a reading unit after forming a loop by the conveyance of the document by the rotation of the conveyance rollers204and205and performing skew correction of the document. The reading unit conveys the document, which was conveyed by the aforementioned feeding unit, to a position R1by the registration roller206and the reading belt208at a predetermined speed. When the leading edge of the document arrives at the reading position R1, a reading operation is performed by performing an operation to expose the document at the reading position R1by a fixed optical unit222and conveying the document. This reading method is referred to as a flow-reading mode.

On the other hand, it is also possible to perform the reading operation by stopping the document when the trailing edge of the document arrives at the reading position R1, performing scanning by exposing the document by the optical unit222, and further moving the optical unit222in the sub-scanning direction. This reading method is called a fixed-reading mode. When the reading of the document is completed in this manner, the document is conveyed to the document discharge unit by the reading belt208. The document discharge unit discharges the document to a discharge tray210by the rotation of a discharge roller209. Note that various sensors S1to S6and VR1are arranged in the document feeder200inFIG. 2.

The large-size detection sensor S1and the small-size detection sensor S2that detect the length of the document have been provided on the document tray205. In a document width guide207, the width detection volume VR1and the width detection sensor S3(both not shown) have also been provided. Also, the size detection sensor S4that measures the length of a document in addition to detecting the document to be separated and fed by detecting the leading edge and the trailing edge of the document, and the read sensor S5that detects the leading edge of the document and make a notification of a reading signal are provided on the document conveyance path. Furthermore, the discharge sensor S6and a document set sensor (not shown) that determines whether a document (not shown) has been set on the document tray205have been provided.

Open/close sensors S8and S9that detect the opening and closing angles of the document feeder200are arranged on the scanner130. When a document is placed on a platen glass221by the user, the size of the document placed on the platen glass221is specified by the open/close sensors S8and S9, the size sensor (not shown), and the exposure operation. Note that when the document is placed on the platen glass221by the user, the document is read in the same manner as the fixed-reading mode by scanning and exposing the document by the optical unit222while moving the optical unit222. This method is a well-known technique, and a detailed explanation thereof will be omitted.

FIG. 3is a block diagram for explaining the hardware arrangement of the PC160according to the first embodiment.

A CPU301deploys, on a RAM303, various kinds of programs stored in a storage unit302and executes various kinds of processing by executing corresponding programs to implement various functions. The storage unit302stores various kinds of programs and setting data. The RAM303provides a deployment area for programs executed by the CPU301as well as a temporary work area for the CPU301. An input/output interface305transmits data to a display unit310connected to this PC160and receives data from a keyboard and pointing device311. A NIC (Network Interface Card)306connects the PC160to the network and controls the interfaces with the network. Each unit described above is connected to the CPU301via a bus307and exchanges data, control signals, and addresses via the bus307. Note that the display unit310may have a touch panel function.

FIG. 4is a functional block diagram for explaining the functions implemented by software operating on the PC160according to the first embodiment. A program corresponding to this software is stored in the storage unit302, and each function shown in the block diagram is implemented by the CPU301deploying and executing a program on the RAM303.

A scan application410is installed in the PC160and has a function by which image data such as a photograph, a document, or the like is obtained by accessing the MFP100via a scanner driver400. The scanner driver400is a scanner driver complying with a predetermined API (Application Program Interface) standard such as TWAIN (Tool Without An Interesting Name). The scanner driver400communicates with the MFP100in response to a request from the scan application410and has a function by which image data obtained by scanning a document using the scanner130of the MFP100or image data stored in the storage unit114of the MFP100is obtained. The scan application410receives the image data obtained by the scanner driver400.

The scanner driver400includes a UI module401, a scan control module402, a communication module403, a scan setting management module404, scanner driver settings405, and obtained data406. The UI module401provides a user interface related to the scan settings of the scanner driver400. The scan control module402executes scanning or image data obtainment processing in accordance with the designated scan setting. The communication module403communicates with the MFP100by using the NIC306. The scan setting management module404presents, via the UI module401, a scan setting screen to the user and manages the setting information related to the execution of the scan. The scanner driver settings405are pieces of setting information that are to be stored in the storage unit302and saved by the scan setting management module404. The obtained data406is the list information of data obtained from the MFP100and is referred to and updated when a scan is executed by the scan control module402.

FIG. 5depicts a view showing an example of a UI screen displayed by the scanner driver400and the scan application410of the PC160according to the first embodiment.

FIG. 5shows an example of a UI screen500displayed by the scan application410. This UI screen500includes a menu501, an image data display region502, and an image data loading button503. The menu501displays various kinds of settings for the scan application410and a UI screen to select a scanner driver which is to be an image loading target. The image data display region502displays a list of image data obtained by the scan application410. The image data loading button503issues an image data obtainment request by a predetermined API to the scanner driver selected on the menu501.

A general pull scan will be described next with reference toFIG. 6.

FIG. 6is a sequence chart for explaining a general pull scan between a general MFP and a PC. Here, an example in which the PC makes a pull-scan request to the MFP and the MFP reads a document in response to the request and transmits the obtained image data to the PC will be described.

In601, the user presses the network button on the console unit of the MFP. Accordingly, in602, the MFP shifts to a network mode which allows the execution of a pull scan. The user places a document on the scanner of the MFP and moves to the location where the PC has been placed.

In603, the user activates the scanner driver by activating the scan application in the PC. In604, a scan start instruction is transmitted from the PC to the MFP.

The MFP set to the network mode receives, in605, the scan start instruction transmitted from the PC and executes the reading (scanning) of set document. In606, the image data obtained by the scan is stored in the storage unit of the MFP.

On the other hand, after transmitting a scan start instruction in604, the scanner driver of the PC periodically transmits an image data request to the MFP in607. Accordingly, in608, the MFP responds to the image data request from the scanner driver and transfers the image data stored in the storage unit to the PC.

Upon detecting that the document has run out in the scanner in609, the MFP transmits a scan completion notification to the scanner driver in610.

As a result, the scanner driver executes, in611, the scan completion processing in response to the scan completion notification and transfers, in612, the image data transferred from the MFP to the scan application.

In this sequence, the user needs to move to the location where the PC has been placed after he/she has set the document on the scanner of the MFP. Hence, it temporarily creates a state in which the document may be seen by another person.

An operation (to be referred to as a push scan hereinafter) to load image data, which has been obtained by scanning a document without the user having to leave the document, by the PC scan application will be described next as a feature of the first embodiment.

FIG. 7is a sequence chart for explaining a push scan performed between the MFP100and the PC160according to the first embodiment.

The user activates the scanner driver400by activating the scan application410by the PC160and transmits, in701and702, a scan request from the PC160to the MFP100. Here, the scan request is a scan job that includes settings (reading resolution, reading color mode, and the like) for scanning.

Upon receiving this scan request, the MFP100registers, in703, the scan request and transmits, in704, a reception notification indicating the reception of the scan request to the scanner driver400. In705, the MFP100displays the scan request received from the PC160on the console unit150. Also, upon receiving the reception notification of the scan request, the scanner driver400displays, in706, a scan standby dialogue on the display unit of the PC160. Next, in707, the scanner driver400periodically transmits a request to the MFP100for information of the status of the scan request transmitted to the MFP100and receives, in708, the status of the scan request from the MFP100. During this period, the user takes the reading target document and moves from the location of the PC160to the location of the MFP100.

In709, having arrived at the location of the MFP100, the user selects the scan request he/she wants to execute from the scan request list displayed on the console unit150of the MFP100. In710, the MFP100displays, on the console unit150, the scan settings of the scan request selected by the user. After confirming the displayed scan settings and setting the document on the scanner130, the user presses the scan execution button. Accordingly, in711, the MFP100starts the reading processing of the document which has been placed on the scanner130and stores the image data obtained from the scanning of the document in the storage unit114. At this time, the MFP100executes the scanning operation until all of the document sheets set on the scanner130have been read.

After the scanning operation is started in this manner, the MFP100updates the status information of the scan request to “scanning” in712. The MFP responds, in713, to the request from the scanner driver400of the PC160for the scan-request status information and transmits, in714, the current status (“scanning” in this case) of the scan request to the PC160. Accordingly, in715, the scanner driver400detects that the status information of the scan request transmitted in702has been changed to “scanning” and transmits an image data request (scan data request). As a result, in716, the MFP100responds to the image data request by reading out the image data stored in the storage unit114and transmitting the image data to the scanner driver400of PC160. In717, this image data transmission is repetitively executed until the image data of all of the document sheets corresponding to the scan request has been transmitted.

In this manner, in718, after reading all of the document sheets set in the scanner130, the MFP100displays on the console unit150a screen to make the user confirm whether or not to continue the execution of the scanning operation. Here, if the execution of the scanning operation is to be continued, the user sets the next document on the scanner130and presses the scan start button. Otherwise, the user presses the scan complete button. Here, when the user presses the scan complete button, the status information of the scan request is changed to “scan complete” in719, and the scan request that had been displayed on the console unit150is deleted in720. The MFP responds to the request for the status information of the scan request which it receives from the scanner driver400of the PC160in721, and transmits the status (“scan complete” in this case) of the request to the PC160in722. As a result, the scanner driver400transmits an image data transfer request in723. When the transfer of the image data is completed in724, the scanner driver400stops the display of the scan standby dialogue and ends the scan processing in725. In726, the scanner driver400notifies the MFP100of the completion of the scan. In727, the scanner driver400transfers, to the scan application410, the image data received from the MFP100and ends this processing.

As described above, in the first embodiment, the user takes the document to the location of the MFP after activating the scan application from the PC, sets the document on the MFP, and causes the MFP to read the document. Since the image data is automatically transmitted from the MFP to the PC, the user can execute the push scan from the MFP to PC without leaving the location of the document.

FIG. 8is a flowchart for describing the push scan processing performed by the scanner driver400of the PC160according to the first embodiment. Note that although the processing shown in this flowchart is implemented by the CPU301deploying and executing a program on the RAM303, it will be described as processing performed by the scanner driver400ofFIG. 4here.

First, in step S801, the scanner driver400receives a scan request from the scan application410. Next, the process advances to step S802, and the scanner driver400transmits the scan request to the MFP100. Next, the process advances to step S803, and the scanner driver400determines whether or not it has received a registration completion notification of this scan request from the MFP100. When the scanner driver receives the registration completion notification, the process advances to step S804. In step S804, the scanner driver400displays the scan standby dialogue on the display unit310of the PC160.

Next, the process advances to step S805, and the scanner driver400transmits a request for the status of the scan request to the MFP100. In step S806, the scanner driver400receives the status information of the scan request from the MFP100. The process advances to step S807, and the scanner driver400determines whether the status indicates “scanning”. Here, if the status does not indicate “scanning”, the process returns to step S805. Otherwise, the process advances to step S808. In step S808, the scanner driver400transmits a request to the MFP100for the image data obtained from the reading of the document by the scan. In step S809, the scanner driver400receives the image data transmitted from the MFP100as a response to the request and stores the received image data in the storage unit302. Next, the process advances to step S810, and the scanner driver400transmits a request for the status of the scan request to the MFP100, and the scanner driver400receives, from the MFP100, the status information transmitted in response to the status request in step S811. In step S812, the scanner driver400determines whether or not the received status information indicates “scan complete”. If the scanner driver determines that the status does not indicate “scan complete”, the process advances to step S808, and the scanner driver400continues to receive the image data obtained by the scan until the scanning ends. When the reading of the document in the MFP100has ended and the status information has changed to “scan complete”, the process advances from step S812to step S813.

In step S813, the scanner driver400transmits an image data request to the MFP100. In step S814, the scanner driver400receives the image data in response to the request and saves the received image data in the storage unit302. Next, the process advances to step S815, and the scanner driver400stops display of the scan standby dialogue that had been displayed on the display unit310of the PC160. Next, the process advances to step S816, and the scanner driver400executes the scan completion processing. The process then advances to step S817, and the scanner driver400transmits the scan completion notification to the MFP100. Subsequently, the process advances to step S818, and the scanner driver400transfers, to the scan application410, all of the image data stored in the storage unit302by this scan request and ends the processing.

In this manner, the user can make the MFP read the document after activating the scan application on the PC160, and the image data obtained by reading the document is automatically transmitted from the MFP100to the PC160.

FIGS. 9A and 9Bare flowcharts for describing the push scan processing performed by the MFP100according to the first embodiment. Note that the processing shown in this flowchart is implemented by the CPU111executing a program deployed from the storage unit114to the RAM112.

First, in step S901, the CPU111receives a scan request from the PC160, and the process advances to step S902. The CPU111registers the received scan request in a scan request list. Next, the process advances to step S903, and the CPU111transmits, to the scanner driver400of the PC160, a scan request reception notification indicating that the scan request has been received and registered in the MFP100.

Next, the process advances to step S904, and the CPU111displays the scan request list on the console unit150, and the CPU111determines, in step S905, whether or not a scan request has been selected by the user via the console unit150. Here, if the scan request has not been selected, the process advances to step S904. Otherwise, the process advances to step S906. In step S906, the CPU111displays the scan settings of the selected scan request on the console unit150. Next, the process advances to step S907, and the CPU111determines whether or not scan execution has been instructed by the user via the console unit150. Here, if it is determined that the execution of a scan has been instructed, the process advances to step S908. Otherwise, the process returns to step S906.

In step S908, the CPU111updates the status of the scan request to “scanning”, notifies the status to the PC160, and advances the process to step S909. The CPU111controls the scanner130to execute the reading of the document. Next, the CPU receives the image data obtained by causing the scanner130to read the document and stores the received image data in the storage unit114. In step S910, the CPU111determines whether or not all of the document sheets placed on the scanner130have been read. If it is determined that all of the document sheets have been read, the process advances to step S913. Otherwise, the process advances to step S911. In step S911, the CPU111determines whether or not it has received an image data request from the PC160. If the CPU determines that it has received the image data request, the process advances to step S912. Otherwise, the process advances to step S909. In step S912, the CPU111reads out the image data that it had obtained from the scanner130and had been stored in the storage unit114and transmits the image data to the scanner driver400of the PC160. This process is repetitively executed until all of the document sheets placed on the scanner130have been read.

When the reading of all of the document sheets has been completed, the process advances to step S913and the CPU111determines whether or not there is an image data request from the PC160. If it is determined that there is the image data request from the PC160, the process advances to step S914, and the image data is transmitted to the PC160. On the other hand, if it is determined that there is no image data request in step S913, the process advances to step S915. In step S915, the CPU111displays a screen on the console unit150to confirm, with the user, as to whether or not the scanning operation is to be continued. In step S916, if the CPU111determines that an instruction indicating the continuation of the scan has been input, the process advances to step S909and executes the next scanning operation in the manner as previously described. On the other hand, if the CPU111determines that there is no instruction indicating the continued execution of the scan in step S916, the process advances to step S917, and the CPU111updates the status of the scan request to “scan complete” and notifies the PC160of it. The process advances to step S918, and the CPU111deletes the executed scan request from the scan request list.

Next, the process advances to step S919, and the CPU111updates the scan request list displayed on the console unit150. The process advances to step S920, and the CPU111determines whether or not an image data request has been received from the PC160. If it is determined that the image data request has been received, the process advances to step S921. The image data stored in the storage unit114is transmitted to the PC160, and the process advances to step S922. On the other hand, if it is determined that no image data request has been received in step S920, the process advances to step S922. In step S922, the CPU111determines whether or not a scan completion notification has been received from the PC160. If the CPU111determines that the scan completion notification has been received, the processing ends. On the other hand, if it is determined that the scan completion notification has not been received in step S922, the process advances to step S920and the CPU stands by for the next image data request.

As described above, according to the first embodiment, it is possible for the scan application of the PC to load image data which has been obtained by performing a scan operation in the MFP. As a result, the user can cause the MFP to read a document and load the image data of the read document to the PC without having to leave the document.

Second Embodiment

The above first embodiment has described an example in which the user first operates the PC to transmit a scan request to the MFP, takes the document to the MFP to have the MFP perform reading of the document, and causes the image data obtained from the reading to be transmitted from the MFP to the PC. In contrast, the second embodiment will describe an example in which a document is scanned first by an MFP100without a scan request from a PC, and the obtained image data is subsequently loaded to the PC. Note that the arrangements and the configurations of the MFP100and a PC160according to the second embodiment are the same as those of the above-described first embodiment, and a description thereof will be omitted.

First, a box function used by a user to cause a scanner130of the MFP100to read a document and store the obtained image data in a storage unit114will be described. An operation to store image data, obtained from the reading of a three-sheet document set in the scanner130of the MFP100, in a box named “BOX1” will be described. At this time, the user sets a set of three sheets of documents on the scanner130and presses a box button on a console unit150to cause the MFP100to shift to a box mode for performing box settings. At this time, the setting contents at that point are displayed on the console unit150. Here, since the name of the box to be used for storage is “BOX1”, the user designates a box “BOX1” as the storage destination and presses the start button via the console unit150. As a result, a box start instruction is issued, and the MFP100causes the scanner130to read the document sheets and stores the respective sets of image data in the storage location “BOX1” of the storage unit114.

More specifically, when the box start instruction is issued, the CPU111receives the box start instruction and transmits a read instruction and an image processing instruction to the scanner130and an image processing unit118, respectively. Accordingly, the scanner130reads the document set on a feeder (ADF), and the image processing unit118performs image processing on the image data obtained by the reading of the document and stores the image data in the box “BOX1” region of the storage unit114. After the image data of the first sheet of the document has been stored in the storage unit114, the CPU111issues the box start instruction to successively store the image data of the second sheet of the document in the same box as the image data of the first sheet of the document. This operation is repetitively performed for the third sheet of the document, and the processing ends when the CPU111is notified from the scanner130that there are no remaining document sheets in the feeder. This is the box scan of the box function.

In the second embodiment, the user uses the box function in advance to save the image data of the document in the storage unit114of the MFP100.

FIGS. 10A and 10Bare flowcharts for describing processing performed by the PC160to load the image data stored in the box of the MFP100into the PC according to the second embodiment. Note that although the processing shown in this flowchart is implemented by a CPU301executing a program deployed on a RAM303, it will be described as processing executed by a scanner driver400ofFIG. 4here.

First, in step S1001, the scanner driver400receives a scan request from the scan application410. Next, the process advances to step S1002, and the scanner driver400inquires of the MFP100whether the image data can be pulled up from the box. In step S1003, the scanner driver400determines whether or not it is possible to pull up the image data from the box. If it is determined that the image data can be pulled up, the process advances to step S1004. Otherwise, the processing ends.

In step S1004, the scanner driver400displays on a display unit310of the PC160that it has been set to a box access mode. Next, the process advances to step S1005, and the scanner driver400obtains a list of files of image data stored in the box from the MFP100. Next, the process advances to step S1006, and the scanner driver400obtains the metadata of each file stored in the box from the MFP100. Here, the metadata of each file is image data information such as the file name, the sheet size of the image, the resolution, and the like. The process advances to step S1007, and the scanner driver400displays, on the display unit310, the list of files stored in the box that has been obtained from the MFP100. The process advances to step S1008, and the scanner driver400determines whether or not the user has selected a desired file from the displayed list of box files. If it is determined that a file has been selected, the process advances to step S1009. On the other hand, if it is determined that a file has not been selected in step S1007, the process advances to step S1007.

In step S1009, the scanner driver400displays the metadata information of the file selected by the user on the display unit310. Next, the process advances to step S1010, and the scanner driver400determines whether or not an obtainment request of the image data of the selected file has be input. If the obtainment request has been input, the process advances to step S1011. Otherwise, the process returns to step S1009.

In step S1011, the scanner driver400transmits a request to the MFP100to obtain the image data of the selected file. In step S1012, the scanner driver400receives the image data transmitted from the MFP100and stores the image data in a storage unit302. At this time, if a plurality of items of image data of a plurality of document sheets are stored in the file, all items of the image data of the plurality of document sheets are received and stored in the storage unit302. The process advances to step S1013, and the scanner driver400transmits a scan completion notification to the MFP100. The process advances to step S1014, and the scanner driver400transfers, to the scan application410, the image data received and stored in the storage unit302in step S1012, and the processing ends.

FIG. 11is a flowchart for describing the processing in which the MFP100transmits, in response to a request from the PC160, the image data stored in the box to the PC160according to the second embodiment. Note that the processing shown in this flowchart is implemented by a CPU111executing a program deployed from the storage unit114on a RAM112.

First, in step S1101, the CPU111receives an inquiry from the scanner driver400of the PC160as to whether the image data of the box can be pulled up. Next, the process advances to step S1102, and the CPU111determines whether or not transmission of the image data of the box to the PC160is possible. If it is determined that the transmission is possible, the process advances to step S1103. Otherwise, the process advances to step S1104. In step S1104, the CPU111notifies the scanner driver400of the PC160that the pulling up of the image data of the box has been rejected, and the processing ends. In step S1103, the CPU111notifies the scanner driver400of the PC160that the pulling up of the image data of the box has been permitted, and the process advances to step S1105.

Note that the determination as to whether or not transmission of the image data of the box to the PC160is possible in step S1102may be determined by, for example, whether or not the image data has been stored in the box or whether or not the box pull-up mode is settable in the MFP100and the mode has been turned on. Alternatively, a push-scan box may be arranged in the box and a determination may be made by whether or not the image data is in the box. Also, authentication information may be added to the box, and a determination may be made by whether or not the pull-up request is from a user who has a permission to access the box of the access request.

In step S1105, the CPU111receives a request, from the scanner driver400of the PC160, to obtain the list of files stored in the box. The process advances to step S1106, and the CPU111transmits the list of files stored in the requested box. Next, the process advances to step S1107, and the CPU111receives a metadata obtainment request for each file on the transmitted list of files. Next, the process advances to step S1108, and the CPU111transmits the metadata of each file stored in the box to the scanner driver400of the PC160.

The process advances to step S1109, and the CPU111determines whether or not an image data request has been received from the PC160. If the image data request has been received, the process advances to step S1110. Otherwise, the process of step S1109is executed. In step S1110, the CPU111transmits the requested image data to the PC160. Next, the process advances to step S1111, and the CPU111determines whether or not the scan completion notification has been received from the scanner driver400of the PC160. If the scan completion notification has been received, the processing ends. On the other hand, in step S1111, if the scan completion notification has not been received, the process advances to step S1109, and the CPU stands by for the image data request from the PC160.

As described above, according to the second embodiment, a PC can obtain image data that has been stored in a box of an MFP in advance. Hence, the user can make the MFP read and store the document in a state in which the user is constantly by the side of the document and subsequently load the image data obtained by reading the document from a remote PC.

Third Embodiment

A pull-scan dedicated region is allocated in a storage unit114of an MFP100for a pull scan performed from a PC160, and the MFP100scans, in response to a scan request from a scanner driver of the PC160, a document and stores the obtained image data in the dedicated region. When the image data is requested by the scanner driver of the PC160, the image data which is stored in the dedicated region may be read out and transmitted to the PC160. Also, in order to have a common arrangement as the above-described second embodiment, it may be arranged so that the scanned image data will be stored in the same dedicated region even in the case of a push scan.

In the case of the pull scan, since the PC160and the MFP100are in a state of one-to-one connection at the time of job execution, a pull-scan job will not be input from another PC. However, in the case of a push scan, while a user is moving to the location of the PC160after executing a scan by the MFP100in advance, another user may execute a push scan or a pull scan on the MFP100. Hence, there is a possibility that another image data will be written in the dedicated region before the user who executed the preceding push scan can obtain the image data by using his/her PC. In such a case, there is a possibility that the image data will be erroneously overwritten and that another PC may erroneously pull up the image data stored in the dedicated region of the MFP100. Therefore, the third embodiment will describe an example to prevent the occurrence of such a problem. Note that the arrangements and the configurations of an MFP100and a PC160according to the third embodiment are the same as those of the above-described first embodiment, and a description thereof will be omitted.

FIGS. 12A and 12Bare flowcharts for describing the push scan processing performed by the MFP100according to the third embodiment. Note that the processing shown by this flowchart is implemented by a CPU111executing a program deployed from the storage unit114on a RAM112.

Here, an example in which, after the reading of a document for a push scan and the storage of the image data in the dedicated region have been executed on the MFP100by a user, the MFP rejects the pulling up of the image data by a user other than the user who executed the push scan and prohibits writing in the dedicated region will be described.

First, in step S1201, the CPU111causes a scanner130to read a document. The process advances to step S1202, and the CPU111stores the image data obtained by the reading of the document in a pull-scan/push-scan dedicated region. In step S1203, the CPU111determines whether or not all of the document sheets set on the scanner130have been read. If it is determined that all of the document sheets have been read, the process advances to step S1204. Otherwise, the process advances to step S1201.

In step S1204, the CPU111enables the settings to restrict access to the dedicated region where the image data has been stored. Next, the process advances to step S1205, and the CPU111determines whether or not there is a pull-scan execution instruction from an external device such as a PC. If it is determined that there is a pull-scan execution instruction, the process advances to step S1206to register the instructed pull-scan job as a pending job, and the process advances to step S1207. Also, if it is determined in step S1205that there is no pull-scan execution instruction, the process advances to step S1207. In step S1207, the CPU111determines whether or not there is an image-data pull-up request from a PC or the like. If it is determined that there is the pull-up request, the process advances to step S1208. Otherwise, the process advances to step S1205. In step S1208, the CPU111determines whether or not the user who issued the pull-up request is the same user who executed the push scan in step S1201. Here, this is determined by whether or not the same PC has been used. If it is determined that the user is the user who executed the push scan, the process advances to step S1210. Otherwise, the process advances to step S1209. In step S1209, the CPU111transmits a pull-up rejection notification to the external device that issued the pull-up request, and the process advances to step S1205.

In step S1210, the CPU111reads out the image data stored in the dedicated region and transmits the image data to the scanner driver400of the PC160that issued the pull-up request. The process advances to step S1211, and the CPU111determines whether or not all items of the image data stored in the dedicated region by the user have been transmitted. If it is determined that all items of the image data have been transmitted, the process advances to step S1212. Otherwise, the process advances to step S1210. In step S1212, the CPU111disables the settings restricting access to the dedicated region. Next, the process advances to step S1213, and the CPU111determines whether or not a pending pull-scan job that was put on hold in step S1206is present. If it is determined that the pending pull-scan job is present, the process advances step S1214. In step S1214, the CPU111executes the pending pull-scan job, and ends the processing. If it is determined in step S1214that the pending pull-scan job is not present, the processing ends.

As described above, according to the third embodiment when image data is stored in a pull-scan or push-scan dedicated region, an access restriction is set to the dedicated region to prevent the execution of a pull scan by a user other than the user who stored the image data. In addition, it is possible to prevent the image data that is stored in the dedicated region from being overwritten or pulled up by a third party.

In the third embodiment, if a pull-scan execution instruction is issued after the access restriction to the dedicated region has been set, the pull scan is put on hold. However, it may be set so as to execute the pull scan whose execution has been instructed, temporarily store the image data obtained by the scanning in a region of the storage unit114other than the dedicated region, and move the image data to the dedicated region after the access restriction is canceled. Also, it may be set so as to reject the pull-scan-job execution request without putting the request itself on hold.

Additionally, in the third embodiment, the cancellation of the access restriction of the dedicated region is performed after the transmission of all items of the image data has been completed. However, the present invention is not limited to this, and it may be set so as to cancel the access restriction before the transmission of all items of the image data is completed by, for example, ending the transmission processing when a completion notification is received from the scanner driver.

Fourth Embodiment

The above-described third embodiment has described an example in which, after the storage of the image data in the dedicated region, the MFP100rejects the pulling up of image data from the dedicated region by a user other than the user who stored the image data and prohibits writing in the dedicated region. In contrast, the fourth embodiment will describe an example in which erroneous pull-up and writing of image data are prevented by not allowing a network button (console button) to be pressed after the image data has been stored in the dedicated region. Note that the arrangements and the configurations of an MFP100and a PC160according to the fourth embodiment are the same as those of the first embodiment, and a description thereof is omitted.

FIG. 13is a flowchart for describing the push-scan processing performed by the MFP100according to the fourth embodiment. Note that the processing shown in this flowchart is implemented by a CPU111executing a program deployed from a storage unit114on a RAM112.

First in step S1301, the CPU111causes a scanner130to read a document. The process advances to step S1302, and the CPU111stores the image data obtained from the scanning in a pull-scan/push-scan dedicated region of the storage unit114. In step S1303, the CPU111determines whether or not all of the document sheets set on the scanner130have been read. If it is determined that all of the document sheets have been read, the process advances to step S1304. Otherwise, the process advances to step S1301.

In step S1304, the CPU111disables the network button of a console unit150. As a result, the MFP100will not be able to shift to a network mode in which a pull scan can be executed by an instruction via the console unit150. Next, the process advances to step S1305, and the CPU111determines whether or not there is an image-data pull-up request from an external device such as a PC. If it is determined that there is the pull-up request, the process advances to step S1306. Otherwise, the process advances to step S1305. In step S1306, the CPU111determines whether or not a user of the PC that issued the pull-up request is the user who executed the push scan in steps S1301to S1303. Here, this is determined by whether the same PC has been used. If it is determined that the user is the user who executed the push scan, the process advances to step S1307. Otherwise, the process advances to step S1308. In step S1308, the CPU111transmits a pull-up rejection notification to a scanner driver of the PC, and the process advances to step S1305.

In step S1307, the CPU111reads out the image data stored in the dedicated region and transmits the scanner driver400of the PC160. In step S1309, the CPU111determines whether or not all items of the image data stored in the dedicated region have been transmitted. If it is determined that all items of the image data have been transmitted, the process advances to step S1310. Otherwise, the process advances to step S1307. In step S1310, the CPU111enables the network button of the console unit150, and the processing ends.

As described above, according to the fourth embodiment, when a user executes a push scan, the MFP disables the network button of the console unit. This can prevent an input of a pull-scan job by another user before the push scan has ended. As a result, it is possible to prevent the image data stored by the push scan from being overwritten or erroneously pulled up.

Other Embodiments

According to the embodiments of the present invention, a document can be read by an image reading apparatus and loaded into an information processing apparatus without a user having to leave the location of the document.

This application claims the benefit of Japanese Patent Application No. 2016-251922, filed Dec. 26, 2016, which is hereby incorporated by reference herein in its entirety.