Patent Description:
<CIT> discusses a mechanism where an image formation apparatus has a function of a hot folder application. In this mechanism, the image formation apparatus has a hot folder and also a print condition corresponding to the hot folder. When a file is stored in the hot folder, print execution processing is executed based on the stored print condition.

The hot folder in the image formation apparatus can be accessed using a general-purpose file sharing protocol. Thus, the file might be accessed by another user until execution of printing after the file has been stored in the hot folder. In <CIT>, after the storage of the file in the hot folder is detected, a print job is generated and the file is moved to another folder. For this reason, in a particular case where a plurality of files is stored in the hot folder, the generation of print jobs takes a longer time. Accordingly, for example, another user can access (write or delete) the files for a longer time.

<CIT> describes in a print instruction apparatus for giving a printing apparatus an instruction as to print conditions required for printing print data, a "Print Instruction" folder having folders of respective items of the print conditions below the "Print Instruction" folder, a "Print Status" folder for confirming the print status, and the print data are displayed on a screen of a display portion of the print instruction apparatus. The "Print Status" folder has a "Finished Print Job" folder, an "Ongoing Print Job" folder and a "Reserved Print Job" folder. When print data is moved or copied to any one of these folders, processing is executed in accordance with the contents of the folder to which the print data is moved or copied, while the respective statuses of ongoing print jobs, reserved print jobs and finished print jobs are displayed. <CIT> discloses multiple hot folders allocated to multiple users. Each user can have only partial access to the hot folders of other users. <CIT> discloses a plurality of folders and print job is transferred between folders based on its format.

The present invention is directed to reducing access to a file stored in a hot folder in an image formation apparatus further than a conventional technique.

According to a first aspect of the present invention, there is provided an image formation apparatus as specified in claims <NUM> to <NUM>.

According to a second aspect of the present invention, there is provided a control method for an image formation apparatus as specified in claims <NUM> to <NUM>.

According to a third aspect of the present invention, there is provided a non-transitory computer readable storage medium storing a program as specified in claim <NUM>.

Exemplary embodiments of the present invention are described below with reference to the drawings.

<FIG> is a diagram illustrating an example of a network configuration according to a first exemplary embodiment. A local area network (LAN) <NUM> is connected to a personal computer (PC) <NUM> and an image formation apparatus <NUM> that are communicable with each other. The PC <NUM> inputs a print job, and the image formation apparatus <NUM> processes the input print job. The number of PCs and image formation apparatuses to be connected to the LAN <NUM> is not limited to the number shown in this configuration. The image formation apparatus <NUM> and the PC <NUM> each have a file sharing function that enables mutual file transmission, reception, and sharing between apparatuses connected to the LAN <NUM>. The file sharing function is achieved by using a general-purpose protocol such as a Server Message Block (SMB) protocol or a Web Distributed Authoring and Versioning (WebDav) protocol. In the present exemplary embodiment, an input source of the print job is the PC <NUM>, but it can be a device other than the PC (for example, a mobile terminal, or another image formation apparatus).

<FIG> is a block diagram illustrating an entire configuration of the image formation apparatus <NUM>. In a controller unit <NUM> of the image formation apparatus <NUM>, a central processing unit (CPU) <NUM> is a computing unit that controls an entire system. A random access memory (RAM) <NUM> is a system work memory for an operation of the CPU <NUM>, and is an image memory for temporarily storing image data. Further, programs and data for an operating system, system software, and application software are also arranged in the RAM <NUM>. A read only memory (ROM) <NUM> stores a boot program of the system.

A hard disk drive (HDD) <NUM> stores an operating system, system software, application software, image data, setting data, etc. An operation unit interface (I/F) <NUM>, which is an interface unit with an operation unit <NUM>, outputs information to be displayed on the operation unit <NUM> to the operation unit <NUM>. Further, the operation unit I/F <NUM> receives information input by a user through the operation unit <NUM>.

A network I/F <NUM>, which is connected to the LAN <NUM>, receives and outputs information from and to the PC and another image formation apparatus connected to the identical LAN. A device I/F <NUM> connects a scanner <NUM> and a printer <NUM> as image input and output devices to the controller unit <NUM>, thus inputting and outputting image data. Such components are arranged on a system bus <NUM>.

<FIG> is a block diagram illustrating a functional configuration of the system software of the image formation apparatus <NUM> in the present exemplary embodiment.

System software <NUM> is stored in storage units such as the RAM <NUM>, the ROM <NUM>, and the HDD <NUM>, and is executed by the CPU <NUM>.

A folder management unit <NUM> manages folders stored in the HDD <NUM>. The folders include a hot folder where a file can be transmitted to, and received from, an external apparatus such as the PC <NUM> via the LAN <NUM>. The hot folder has a function for detecting reception of the file to execute print execution processing. The folder management unit <NUM> manages such hot folder. Further, the folder management unit <NUM> manages also print setting information to be reflected in print data at execution of printing for the hot folder.

A folder control unit <NUM> detects reception of a file in a hot folder, and moves a file received before the print execution processing to a print folder (for example, a print folder that is not referable by the external apparatus).

A print job list generation unit <NUM> receives information about the hot folder that has received a file (hereinafter referred to as hot folder information) and information about the received file (hereinafter referred to as file information) from the folder control unit <NUM> to generate a print job list.

A network control unit <NUM> receives a request from the PC <NUM> or another image formation apparatus connected to the LAN <NUM>, via the network I/F <NUM>. In a case where the received request is to store the file in a folder managed by the folder management unit <NUM>, the network control unit <NUM> stores the file in the folder.

Upon the generation of the print job list by the print job list generation unit <NUM>, a print job generation unit <NUM> acquires print setting information managed by the folder management unit <NUM> from the hot folder information in the print job list. The print job generation unit <NUM> generates a print job based on the acquired print setting information and the file information in the print job list to transmit the print job to a print execution unit <NUM>.

The print execution unit <NUM> receives the print job from the print job generation unit <NUM>, transmits the print job to the printer <NUM> via the device I/F <NUM>, and controls the printer <NUM>. Thus, the printer <NUM> executes print processing.

<FIG> is a diagram illustrating an example of the folder information managed by the folder management unit <NUM>.

A folder <NUM> is a root folder of the image formation apparatus <NUM>. In the example of <FIG>, a folder <NUM> named "share" and a folder <NUM> named "local" are located below the folder <NUM>. In the present exemplary embodiment, the folder <NUM> and folders below the folder <NUM> are public folders having files sharable by an external apparatus. The folder <NUM> and folders below the folder <NUM> are private folders hidden from an external apparatus, namely, processing folders in the image formation apparatus <NUM>. Further, a folder <NUM> named "hotfolderA", a folder <NUM> named "hotfolderB", and a folder <NUM> named "folder" are arranged below the folder <NUM>. A folder <NUM> named "print" is arranged below the folder <NUM>, and is used as an internal work folder during the printing for a hot folder.

The folder <NUM> and the folder <NUM> are managed by the folder management unit <NUM> to have a hot folder function. Specifically, the folder management unit <NUM> detects reception (copying) of files in the folders, and prints the detected files based on predetermined print settings. The print settings are, for example, as illustrated in <FIG>. The print settings described in a hotfolderA <NUM> are set for the folder <NUM>, and the print settings described in a hotfolderB <NUM> are set for the folder <NUM>. The folders having the hot folder function can be generated by, and the print settings corresponding to the folders can be set by, operations using the operation unit <NUM>. Alternatively, such generation and print settings can be performed by a method of accessing the image formation apparatus <NUM> from the PC <NUM> via the LAN <NUM> to issue a generation instruction.

A print job list generation processing flow in the image formation apparatus <NUM> according to the first exemplary embodiment is described with reference to <FIG>. The CPU <NUM> of the image formation apparatus <NUM> executes the system software <NUM> to execute the print job list generation processing flow in <FIG>.

In step S601, the folder control unit <NUM> waits for copying (reception) of a file into a hot folder. In a case where the folder control unit <NUM> detects the copying of the file into the hot folder (Yes in step S601), in step S602, the folder control unit <NUM> acquires information about the hot folder in which the copying of the file has been detected (information for making the hotfolderA or the hotfolderB in <FIG> identifiable). In a case where the folder control unit <NUM> does not detect the copying of the file into the hot folder (No in step S601), in step S608, the folder management unit <NUM> determines whether this processing flow is terminated. This processing flow is to be executed when a hot folder is generated. If the hot folder is deleted and no hot folder is present, the processing flow is terminated. Alternatively, the folder management unit <NUM> can determine that the processing flow is terminated in a case where the copying of a file in a hot folder is not detected for a certain length of time.

In step S603, the folder control unit <NUM> moves the file, the copying of which has been detected in step S601, from the hot folder to a private folder (in the example of <FIG>, the print folder <NUM>: storage area).

In step S604, the print job list generation unit <NUM> checks whether printing is possible for the hot folder. Specifically, the print job list generation unit <NUM> checks whether the printing for the hot folder is permitted or whether the file moved to the private folder has a format (i.e., page description language (PDL)) of a print target. The determination as to whether the file has the format of the print target can be made based on an extension (if Portable Document Format (PDF) data is supported, the extension is ". Alternatively, the determination can be made based on a byte file identifier at the top of the file (if PDF data is supported, the top of the file indicates "%PDF"). In a case where the printing is determined to be possible (Yes in step S604), the processing proceeds to step S605. In a case where the printing is determined to be impossible (No in step S604), the processing proceeds to step S606.

In step S605, the print job list generation unit <NUM> generates or updates the print job list based on the hot folder information acquired in step S602 and the information about the file moved to the private folder. The print job list is as illustrated in <FIG>, for example. In a case where a file named "fileA. pdf" as PDF data is copied in a hotfolderB <NUM>, a list <NUM> is saved. Error information <NUM> indicates "not included", a file name <NUM> indicates "fileA. pdf", and a hot folder name <NUM> indicates "hotfolderB". The information in the print job list illustrated in <FIG> is shared between this processing flow and a print job generation processing flow, described below, (in <FIG>). The information in the print job list can be shared between the two processing flows using a shared memory. Alternatively, the information can be passed between the flows using a queue system. When the generation of the print job list is completed, the processing returns to step S601. In other words, in a case where a plurality of files is continuously copied, the processing flow is executed on the file in order of detecting the copying of the files. Just after the generation or updating of the print job list is completed, the processing flow is immediately executed on the next file, the copying of which is detected.

In step S606, the print job list generation unit <NUM> generates or updates the print job list based on the information determined as an error in step S604 and the information about the file moved to the private folder. The print job list is as illustrated in <FIG>, for example. In a case where a file named "fileB. txt" that is not a print target is copied in a hot folder, a list <NUM> is saved. The error information <NUM> indicates "included", the file name <NUM> indicates "fileB. txt", and the hot folder name <NUM> indicates "-- (no information)". The error information <NUM> includes information about "included" or "not included", but can include information that can minutely identify error information. Such error information includes an error of a file format or an error indicating that printing capability is not provided. In the hot folder name <NUM>, the information acquired in step S602 is input and can be left as additional information for a case where a history, described below, is left.

In step S607, the print job list generation unit <NUM> deletes the file moved to the private folder when the generation of the print job list is completed, and the processing again returns to step S601.

In the above-described print job list generation processing flow, after the copying of the file in the hot folder is detected, the file is immediately moved to the private folder. Further, after the print job list is generated, the processing is immediately executed on a next file. Thus, even in a case where a plurality of files is continuously copied, a length of time during which the file in the hot folder is referable can be shortened as much as possible. Moreover, the print job generation processing flow, described below, can be executed based on the information in the print job list illustrated in <FIG>. Thus, a storage quantity of information is less than a storage quantity of information in the processing including generation of a print job.

The print job generation processing flow in the image formation apparatus <NUM> according to the present exemplary embodiment is described below with reference to <FIG>. The print job generation processing flow in <FIG> is executed by the CPU <NUM> of the image formation apparatus <NUM> executing the system software <NUM>.

In step S801, the print job generation unit <NUM> waits for generation of a print job list or acquires print job information at the top of the print job list in a case where the print job list has been already generated. In the example of <FIG>, in a case where the list <NUM>, the list <NUM>, and a list <NUM> are generated in this order, the print job generation unit <NUM> acquires print job information about the list <NUM> generated first. In a case where the print job generation unit <NUM> can acquire a print job list (Yes in step S801), the processing proceeds to step S802. If not (No in step S801), in step S810, the print job generation unit <NUM> determines whether the processing flow is terminated. A termination determining method is similar to that in step S608.

In step S802, the print job generation unit <NUM> determines whether the print job information acquired in step S801 includes error information. In a case where the print job information includes error information (Yes in step S802), the processing proceeds to step S804, but if not (No in step S802), the processing proceeds to step S803.

In step S803, the print job generation unit <NUM> generates a print job based on hot folder information and file information in the print job information acquired in step S801. Specifically, the print job generation unit <NUM> acquires a hot folder name introduced from the hot folder information, and acquires related print settings from print setting information (in <FIG>) held in the folder management unit <NUM>. In a case of the print job in the list <NUM>, the print job generation unit <NUM> can acquire print setting information described in the hotfolderB <NUM>. The print job generation unit <NUM> provides the acquired print setting information to the file and generates a print job. After the generation of the print job, in step S805, the print job generation unit <NUM> deletes the print job list. In the example of <FIG>, in a case where the print job in the list <NUM> is generated, the list <NUM> is deleted and the list <NUM> and the list <NUM> remain.

In step S804, the print job generation unit <NUM> generates an error job based on error information and file information in the print job information acquired in step S801. Specifically, the print job generation unit <NUM> generates an error job that includes the acquired error information and file name information but does not include entity of print data. This error job is generated only for a case where an error is left in history information. The example of the list <NUM> includes only the error information, namely, information representing that an error occurs due to any factor. In a case where error information about the file format described for step S606 is present, the list <NUM> includes information indicating a file format error. In step S805, the print job generation unit <NUM> deletes the print job list after the error job has been generated. In the example of <FIG>, in a case where the error job in the list <NUM> is generated, the list <NUM> is deleted and the list <NUM> remains (the list <NUM> has been already deleted in step S803).

In step S806, the print execution unit <NUM> acquires the job generated in step S803 or step S804 and determines whether the job is a print job or an error job. In a case where the acquired job is a print job (No in step S806), the processing proceeds to step S807. In a case where the acquired job is an error job (Yes in step S806), the processing proceeds to step S809.

In step S807, the print execution unit <NUM> prints the generated print job, and deletes related print data in step S808 after the execution of the printing. This processing is executed on the file moved to the private folder in step S603. The processing again returns to step S801, and continues if information about a print job list is still present.

In step S809, the print execution unit <NUM> displays the error information and the related file name information, which have been acquired from the generated error job information, on the print history displayable on the operation unit <NUM>. The processing again returns to step S801, and continues if information in the print job list is still present.

As shown in <FIG> and <FIG> according to the present exemplary embodiment, the print job list generation processing flow and the print job generation processing flow share the information in the print job list, and thus can be executed in parallel. For this reason, if the print job list generation processing flow is preferentially executed, the length of time during which a file exists in the hot folder can be shortened.

As described above, according to the present exemplary embodiment, after storage of a file in the hot folder in the image formation apparatus <NUM> is detected, the file is moved to an externally inaccessible folder in the image formation apparatus <NUM> before generation of a print job which takes time. For this reason, in the present exemplary embodiment, external access to a file can be further reduced in comparison with conventional techniques.

Further, after the file has been moved to the externally inaccessible folder, the print job list is generated before the generation of a print job which takes time. Thus, an upper limit number or more of files can be stored in the hot folder regardless of an upper limit number of print job queues in the image formation apparatus <NUM>. A specific effect is described as follows. In a case where a file is moved to another folder after the generation of a print job, upon storage of a large number of files in the hot folder, print jobs of the stored files are generated. As a result, the number of the print jobs reaches the upper limit number of the print job queues in the image formation apparatus <NUM>. Thus, a print job cannot be generated until the generated print jobs are executed, and further a file cannot be moved to another folder. On the contrary, in the present exemplary embodiment, after a file has been moved to an externally inaccessible folder, a print job list is generated. For this reason, the generation of a print job that takes time can be delayed. Further, a larger number of files can be stored in the hot folder regardless of the upper limit number of print job queues in the image formation apparatus <NUM>.

In a second exemplary embodiment, another exemplary embodiment of the print job list generation processing described with reference to <FIG> in the first exemplary embodiment is described. Hereinafter, description about the configuration identical to in the first exemplary embodiment is omitted, and parts different from the description in the first exemplary embodiment are described.

The print job list generation processing flow in the image formation apparatus <NUM> according to the second exemplary embodiment is described with reference to <FIG>. In <FIG>, the print job list generation processing flow is executed by the CPU <NUM> of the image formation apparatus <NUM> executing the system software <NUM>.

The processing in steps S901 and S908 is similar to the processing in steps S601 and S608 respectively, and thus description thereof is omitted.

In step S902, the folder control unit <NUM> checks whether printing can be performed for a hot folder. Specifically, the folder control unit <NUM> checks whether the printing for the hot folder is permitted or whether a file, the copying of which has been detected in step S901, has a format (i.e., PDL) of a print target. The determination of whether the file has the format of the print target is similar to the determination in step S604. In a case where the determination is made that the printing is possible (Yes in step S902), the processing proceeds to step S903, but if not (No in step S902), the processing proceeds to step S906.

The processing in steps S903 and S904 is similar to the processing in steps S602 and S603 respectively, but the processing in step S902 is executed before step S903 unlike the first exemplary embodiment.

The processing in step S905 is similar to the processing in step S605, and thus description thereof is omitted.

In step S906, the print job list generation unit <NUM> generates or updates a print job list based on the information determined as an error in step S902 and information about the file, the copying of which has been detected in step S901. Contents to be generated in the print job list are similar to those in step S606, and thus description thereof is omitted.

In step S907, the print job list generation unit <NUM> deletes the file, the copying of which has been detected in step S901, when the generation of the print job list is completed. The processing then returns to step S901.

As described above, in the second exemplary embodiment, after the copying of the file into the hot folder is detected, a check is made as to whether the printing for the hot folder is possible, and the file is moved to another folder. As a result, a file which has been determined to be unprintable is not moved to a private folder. Thus, only a print job list is generated and the file is deleted. For this reason, unnecessary file movement processing is omitted, and thus processing efficiency is improved. A length of time for checking the possibility of the printing is shorter than a length of time for generating a print job. Also in the second exemplary embodiment, the access to a file stored in a hot folder can be further reduced in comparison with the conventional techniques.

According to the above-described exemplary embodiments, the access to a file stored in the hot folder in the image formation apparatus can be further reduced in comparison with the conventional techniques.

Claim 1:
An image formation apparatus communicable with an external apparatus, the image formation apparatus (<NUM>) comprising:
storage means (<NUM>) including a first folder (<NUM>, <NUM>) referable by the external apparatus (<NUM>) and an externally inaccessible second folder (<NUM>), which is inaccessible by the external apparatus, and the storage means configured to store a print settings (<NUM>, <NUM>) corresponding to the first folder (<NUM>, <NUM>);
detection means (<NUM>, <NUM>) configured to detect that a file is stored in the first folder (<NUM>, <NUM>);
movement means (<NUM>) configured to move the file detected by the detection means (<NUM>, <NUM>) to the externally inaccessible second folder (<NUM>);
first generation means (<NUM>) configured to generate a print job list (<NUM>, <NUM>, <NUM>) based on information about the moved file and information about the first folder (<NUM>, <NUM>) in which the file is detected by the detection means (<NUM>, <NUM>);
second generation means (<NUM>) configured to acquire the information about the print settings (<NUM>, <NUM>) stored in the storage means (<NUM>) from the information about the first folder (<NUM>, <NUM>) included in the print job list (<NUM>, <NUM>, <NUM>) generated by the first generation means (<NUM>), and generates the print job based on the acquired information about the print settings (<NUM>, <NUM>) and the moved file; and
processing means (<NUM>) configured to execute print processing based on the generated print job.