Printing device, method and computer readable medium for executing print job

There is provided a printing device, comprising: a data receiving unit configured to receive print job data; a buffer used to store the print job data; a judgment unit configured to judge whether the print job data received by the data receiving unit can be stored in available space of the buffer; and a deletion target extraction unit configured such that, in response to the judgment unit judging that the print job data received by the data receiving unit can not be stored in available space of the buffer, the deletion target extraction unit extracts deletion target print job data which can de deleted from the buffer, from among one or more pieces of print job data stored in the buffer.

CROSS-REFERENCE TO RELATED APPLICATION

This application claims priority under 35 U.S.C. §119 from Japanese Patent Application No. 2007-258935, filed on Oct. 2, 2007. The entire subject matter of the application is incorporated herein by reference.

BACKGROUND

1. Technical Field

Aspects of the present invention relate to a printing device having a reserved print function of executing a print job at a preliminary designated time.

2. Related Art

Print systems having a function of executing a print operation for print job data at a preliminary designated time have been proposed. An example of such a print system is disclosed in Japanese Patent Provisional Publication No. 2001-236184 (hereafter, referred to as JP 2001-236184A). The print system includes an information terminal and a printing device connected to each other via a network. In the print system, the information terminal transmits a print job to the printing device and the information terminal is allowed to set a print designation time at which the print job is to be subjected to the print operation by the printing device. Such a print function of executing a print job at a preliminary designated time is frequently called a reserved print function.

The printing device having the reserved print function is provided with a print data buffer for temporarily storing print job data transmitted from the information terminal. The printing device keeps the print job data in the print data buffer until the print designation time designated in the print job data is reached. When the print designation time is reached, the printing device executes a print operation for the print job data. After the print operation is finished, the printing device deletes the print job data from the print data buffer.

SUMMARY

However, the above described printing device having the reserved print function has the following drawbacks. Considering a situation where a date which is considerably ahead of the current time (e.g., one week, one month or one year ahead of the current time) is designated as the print designation time, the print job data remains in the print data buffer for a relatively long time period until the print designation time is reached. Since the size of the print data buffer is limited, available space of the print data buffer may become exhausted if a number of pieces of print job data to be remained in the print data buffer for a relatively long time period are stored.

If the space of the print data buffer is exhausted, the printing device becomes unable to accept new print job data even if the print designation time of the new print job data is close to the current time. Such a drawback may occur if the size of the print data buffer is small or the amount of the received print job data is large.

Aspects of the present invention are advantageous in that a printing device capable of smoothly execute the reserved print function by effectively using a print data buffer is provided.

According to an aspect of the invention, there is provided a printing device, comprising: a data receiving unit configured to receive print job data; a buffer used to store the print job data; a judgment unit configured to judge whether the print job data received by the data receiving unit can be stored in available space of the buffer; and a deletion target extraction unit configured such that, in response to the judgment unit judging that the print job data received by the data receiving unit can not be stored in available space of the buffer, the deletion target extraction unit extracts deletion target print job data which can de deleted from the buffer, from among one or more pieces of print job data stored in the buffer.

Since the deletion target extraction unit extracts the deletion target print job data to be deleted from the buffer, it becomes possible to secure available space in the buffer. Consequently, it becomes possible to prevent reception of the print job data requiring immediate execution of the print operation, from denied due to shortage of the available space of the buffer. Therefore, it becomes possible to effectively use the buffer and to perform the reserved print function smoothly.

In at least one aspect, the printing device further comprises a buffer controller that controls the buffer such that: in response to the judgment unit judging that the print job data received by the data receiving unit can not be stored in available space of the buffer, the deletion target print job data is deleted from the buffer; and in response to a fact that available space for storing the print job data received by the data receiving unit is secured in the buffer, the print job data received by the data receiving unit is stored in the buffer. In this case, the deletion target extraction unit extracts the print job data having a print designation time which is later than that of the print job data received by the data receiving unit, from the one or more pieces of print job data in the buffer.

Since the print job data having a print designation time which is later than that of the print job data received by the data receiving unit is targeted for deletion from the buffer, it becomes possible to print preferentially the print job data having the relatively late print designation time. Consequently, it becomes possible to prevent reception of the print job data requiring immediate execution of the print operation, from denied due to shortage of the available space of the buffer.

According to another aspect of the invention, there is provided a method to be implemented on a printing device performing a printing operation, comprising the steps of: receiving print job data; judging whether the received print job data can be stored in available space of a buffer for storing the print job data, and extracting deletion target print job data which can de deleted from the buffer, from among one or more pieces of print job data stored in the buffer in response to a judgment result that the received print job data can not be stored in available space of the buffer.

Since the deletion target extraction unit extracts the deletion target print job data to be deleted from the buffer, it becomes possible to secure available space in the buffer. Consequently, it becomes possible to prevent reception of the print job data requiring immediate execution of the print operation, from denied due to shortage of the available space of the buffer. Therefore, it becomes possible to effectively use the buffer and to perform the reserved print function smoothly.

In at least one aspect, the method further comprises the step of controlling the buffer such that: in response to the judgment result that the received print job data can not be stored in available space of the buffer, the deletion target print job data is deleted from the buffer; and in response to a fact that available space for storing the received print job data is secured in the buffer, the received print job data is stored in the buffer. In this case, in the step of extracting, the print job data having a print designation time which is later than that of the received print job data is extracted, as the deletion target print job data, from the one or more pieces of print job data in the buffer.

Since the print job data having a print designation time which is later than that of the print job data received by the data receiving unit is targeted for deletion from the buffer, it becomes possible to print preferentially the print job data having the relatively late print designation time. Consequently, it becomes possible to prevent reception of the print job data requiring immediate execution of the print operation, from denied due to shortage of the available space of the buffer.

According to another aspect of the invention, there is provided a computer readable medium having computer readable instruction stored thereon, which, when executed by a processor of a printing device, configures the processor to perform the steps of: receiving print job data; judging whether the received print job data can be stored in available space of a buffer for storing the print job data; and extracting deletion target print job data which can de deleted from the buffer, from among one or more pieces of print job data stored in the buffer in response to a judgment result that the received print job data can not be stored in available space of the buffer.

Since the deletion target extraction unit extracts the deletion target print job data to be deleted from the buffer, it becomes possible to secure available space in the buffer. Consequently, it becomes possible to prevent reception of the print job data requiring immediate execution of the print operation, from denied due to shortage of the available space of the buffer. Therefore, it becomes possible to effectively use the buffer and to perform the reserved print function smoothly.

In at least one aspect, the instruction further configures the processor to perform the step of controlling the buffer such that: in response to the judgment result that the received print job data can not be stored in available space of the buffer, the deletion target print job data is deleted from the buffer; and in response to a fact that available space for storing the received print job data is secured in the buffer, the received print job data is stored in the buffer. In this case, in the step of extracting, the print job data having a print designation time which is later than that of the received print job data is extracted, as the deletion target print job data, from the one or more pieces of print job data in the buffer.

Since the print job data having a print designation time which is later than that of the print job data received by the data receiving unit is targeted for deletion from the buffer, it becomes possible to print preferentially the print job data having the relatively late print designation time. Consequently, it becomes possible to prevent reception of the print job data requiring immediate execution of the print operation, from denied due to shortage of the available space of the buffer.

It is noted that various connections are set forth between elements in the following description. It is noted that these connections in general and unless specified otherwise, may be direct or indirect and that this specification is not intended to be limiting in this respect. Aspects of the invention may be implemented in computer software as programs storable on computer-readable media including but not limited to RAMs, ROMs, flash memory, EEPROMs, CD-media, DVD-media, temporary storage, hard disk drives, floppy drives, permanent storage, and the like.

DETAILED DESCRIPTION

Hereafter, an embodiment according to the invention will be described with reference to the accompanying drawings.

FIG. 1illustrates a system configuration of a print system100according to an embodiment. As shown inFIG. 1, the print system100includes a print server1which manages print jobs, PCs (personal computers)2and3each of which functions as an information processing terminal for generating print jobs, and a printer4which executes a print operation for print jobs. In the print system100, the print server1, the PCs2and3and the printer4are connected to each other through a network.

More specifically, the PC2is connected to the print server1through the internet. A print job transmitted by the PC2is registered in the print server1at first, and thereafter is transmitted from the print server1to the printer4. On the other hand, the PC3is directly connected to the printer4through a LAN. A print job created by the PC3is transmitted directly to the printer4without intervention by the print server1.

Although inFIG. 1one PC is connected to the print server1and one PC is connected to the printer4, the number of PCs connected to the print server1or the printer4is not limited to one. Two or more PCs may be connected to the print server1, and two or more PCs may be connected to the printer4.

In addition to a print function, the printer4has a function of requesting delivery of print job data and a function of receiving print job data. The printer4periodically requests the print server1to deliver print job data, for example, at time intervals of ten minutes. That is, the printer4polls the print serve4to check whether the print server4has print job data to be delivered to the printer4. If more than one printer servers are provided in the print system100, the printer4polls each of the print servers. In response to receipt of the print job data from the print server1, the printer4executes a print operation for the received print job data.

In this embodiment, the print job data includes data of the type containing setting of a print designation time. In response to receipt of the print job data containing the print designation time, the printer4stores the received print job data in a look-ahead cache until the print designation time designated in the print job data is reached so that the print operation is started when the print designation time is reached. That is, the printer4has a reserved print function of subjecting the print job data to the print operation when the print designation time designated in the print job data is reached.

As described above, the printer4receives print job data transmitted from the print server1as well as print job data directly transmitted from the PC3. Therefore, the printer4also subjects the print job data to the print operation when the printer4receives the print job data from the PC3.

As shown inFIG. 2, the printer4includes a CPU41which controls internal components in the printer4and executes various operations, a ROM42storing programs (e.g., BIOS) executed by the CPU41, a RAM43used as a work memory for the CPU41, and an HDD44storing various types of data and programs. The HDD44stores application programs, such as an operating system (OS) and a data management application for print job data.

The printer4further includes an operation unit45having operation buttons and a touch panel, a display unit46having a display (e.g., an LCD), a serial interface47for communicating with an external device via a serial signal, and a network interface48which interfaces the printer4with a network (e.g., a LAN and the internet).

The printer4further includes an image formation unit49which executes the print operation. For example, a print unit which executes an electrophotographic process or a print unit which executes an inkjet print process may be employed as the image formation unit49. The image formation unit49may have a scanner to achieve a copying function.

As shown inFIG. 3, the printer4includes a data management application5, a look-ahead buffer51, and a job list52which is a registration list of print jobs. The data management application5is able to access the look-ahead buffer51and the job list52. The data management application5receives the print job data from the print server1to update the look-ahead buffer51and the job list52. The data management application5also receives the print job data directly transmitted from the PC3to update the look-ahead buffer51and the job list52.

The look-ahead buffer51is a memory area used for execution of the print operation. The look-ahead buffer51also serves as a memory area for storing in advance print job data for reserved printing. The look-ahead buffer51is secured as a memory area having a predetermined size in the RAM43or in the HDD44.

The print job data is accumulated in the look-ahead buffer51in the order in which the print job data was stored in the look-ahead buffer51. When execution of a print job is finished, the print job data of the finished print job is deleted from the look-ahead buffer51. When the look-ahead buffer51becomes full of data, the printer4executes a reshuffling process for print job data in the look-ahead buffer51. The reshuffling process is described in detail later.

FIG. 4illustrates an example of a data structure of the job list52. As shown inFIG. 4, the job list52stores, for each of records corresponding to print jobs, a job ID for identifying a print job, a URL representing a location of print target data, a buffer size of data stored in the look-ahead buffer51, data size of the print job data, a print designation time, a re-reading flag indicating whether re-reading of the print job data is possible, and a deletion flag used temporarily as a deletion list of print job data. In the job list52, the records are arranged in the order in which the print jobs of the records are executed.

Regarding each field of the “buffer size” in the job list52, the data size which is the same as that of the print job data stored in the look-ahead buffer51is written to the field of the buffer size if the look-ahead buffer51stores the corresponding print job data, while “zero” is written to the field of buffer size if the look-ahead buffer51does not store the corresponding print job data.

Assuming that the total size of the look-ahead buffer51is 8M bytes and a plurality of pieces of print job data having job IDs of AAA, BBB and CCC are registered in this order in the job list52, in this case the look-ahead buffer51stores the print job data of the job IDs AAA and BBB and the size of the available space of the look-ahead buffer51is 3M bytes (seeFIG. 5). Since the size of the next print job data to be stored in the look-ahead buffer51next is 5M bytes, the printer4does not store the print job data of the job ID CCC. After the print operation for the print job AAA is finished and the print job AAA is deleted from the look-ahead buffer51, the size of the available space of the look-ahead buffer51becomes 7M bytes. At this stage, the printer4stores the print job data CCC in the look-ahead buffer51.

The print server1has a function of managing the print job data and a function of delivering the print job data to the printer4. The print server1has a job list for managing the print job data.FIG. 6illustrates an example of a data structure of the job list of the print server1. As shown inFIG. 6, the job list stores, for each of records corresponding to print jobs, a job ID for identifying a print job, a URL representing a location of the print job data (i.e., a location of the print job data in the print server1), a print designation time, a flag indicating whether re-reading of the print job data is possible, and the data size of the print job data.

The PC2has a function of creating print job data to be registered in the print server1.FIG. 7illustrates a data structure of the print job data created by the PC2. As shown inFIG. 7, the print job data created by the PC2includes a job name, a URL representing a location of the print job data, a print designation time and print data. The PC2transmits the print job data to the print server1. The print designation time may be set by a user of the PC2. Since the user of the PC2is allowed to decide whether to designate a print designation time in the print job data, there is a possibility that the print job data for which a print designation time is not set is transmitted to the print server1.

The PC3also has the function of creating print job data. The PC3does not exchange data with the print server1, and transmits the print job data directly to the printer4. That is, the print job data output by the PC3is not accumulated in the print server1. Therefore, the print job data transmitted by the PC3is registered in a record of the job list52in the printer4such that re-reading of the print job data is disabled. Since as described above the user of the PC3does not necessarily set a print designation time for the print job data, the printer4may receive the print job data not having setting of a print designation time.

Hereafter, operations for achieving the reserved print function in the print system100are explained.FIG. 8is a flowchart illustrating a main process of the printer4. The main process is executed under control of the CPU41of the printer4. The main process is started, for example, when power of the printer4is turned on.

First, the CPU41judges whether print job data is received (step S101). The printer4obtains print job data by polling the print server1or print job data transmitted from an information processing device (e.g., the PC3) at irregular intervals. In step S101, the CPU41judges whether the print job data transmitted from an information processing device (e.g., the PC3) at irregular intervals is received.

If the print job data is received (S101: YES), a job reception process for updating the look-ahead buffer51and the job list52is executed (step S102). After step S102is processed, control returns to step S101. The job reception process is described in detail later. If the print job data is not received (S101: NO), control proceeds to step S103.

In step S103, the CPU41obtains the print designation time designated in the print job data registered in the job list52. Then, the CPU41judges whether the print job data whose print designation time is later than or equal to the current time is found (step S104). If the print job data whose print designation time has already reached is found (S104: YES), the CPU41executes a job print process for executing the print operation for the found print job data (step S105). With this configuration, the reserved print function is achieved. The job print process is explained in detail later.

After the job print process is finished, control proceeds to step S107where the CPU41obtains the print job data by polling a print server on the internet (e.g., the print server1). Information concerning locations of print servers to be polled has been stored in advance in the printer4.

If the print job data of which print designation time is later than or equal to the current time is not found (S104: NO), control proceeds to step S106.

In step S106, the CPU41judges whether a predetermined time has elapsed from immediately preceding transmission of the print job data. That is, the CPU41judges whether the time when polling of the print server1should be executed is reached. If the predetermined time period has elapsed (S106: YES), the CPU41executes a job obtaining process for transmitting a request for delivery of the print job to obtain the print job data. The job obtaining process is explained in detail later.

After the job obtaining process is finished or the predetermined time has not elapsed (S106: NO), control returns to step S101to repeat the main process.

The print job data for which the print operation is finished in the job print process of step S105is deleted from the look-ahead buffer51. Therefore, available space can be secured in the look-ahead buffer51. Since the main process is configured such that a request for delivery of the print job data is transmitted to the print server1in step S107which follows step S105, it is possible to secure the available space in the look-ahead buffer51. In this case, it becomes possible to check whether new print job data is stored in print server1, and to obtain new print job data if the new print job data is stored in the print server1.

Hereafter, the job reception process is explained with reference toFIG. 9.

First, the CPU41judges whether the received print job data has a print designation time (step S201). If the print job data does not have the print designation time (S201: NO), the printer4prints the print job data preferentially while receiving the print job data (step S202). When the printer4executes the print operation, the printer4uses the available space of the look-ahead buffer51.

If the received print job data has a print designation time (S201: YES), the CPU41stores temporality the print job data in the look-ahead buffer51while receiving the print job data (step S203).

There is a possibility that the look-ahead buffer51becomes short of available space while the CPU41writes the print job data in the look-ahead buffer51. That is, if the printer4judges that the size of the received print job data is larger than the available space of the look-ahead buffer51by comparing the size of the received print job data with the available space of the look-ahead buffer51, the printer4judges that the look-ahead buffer51has become short of available space. In such a case, the printer4executes a buffer securing process shown inFIG. 10. The buffer securing process corresponds to the reshuffling process for the stored print job data.

When the buffer securing process is started, the CPU41resets all of the deletion flags in the records of the print jobs registered in the job list52(S211). Then, the CPU41extracts the print jobs in the reverse chronological order of the print designation time, and repeatedly executes a loop process starting from step S212. That is, the CPU41preferentially extracts the print job data having the latest print designation time from among one or more pieces of print job data not extracted. Hereafter, the print job picked up in step S212is called a check print job.

In step S212, the CPU41judges whether re-reading of the print job data of the check print job is possible (step S213). If the re-reading of the print job data is not possible (S213: NO), the following steps are skipped to extract a next check print job. If the re-reading of the print job data is possible (S213: YES), the CPU41sets the deletion flag of the print job data corresponding to the check print job (step S214).

Next, the CPU41judges whether it is possible to secure a sufficient space for storing the print job data in the look-ahead buffer51(step S215). More specifically, the CPU41judges whether a following condition is satisfied.
(required space)≦(total size of all of the pieces print job data whose deletion flags are set)+(available space in the look-ahead buffer)  (1)

If it is possible to secure the available space in the look-ahead buffer52(S215: YES), control exits the loop process. Then, the CPU41deletes, from the job list52, the record corresponding to the print job data deleted from the look-ahead buffer51(step S216). By this configuration, space sufficient for storing the received print job data can be secure in the look-ahead buffer51. After step S216is processed, the buffer securing process terminates.

On the other hand, if it is not possible to secure space sufficient for storing the received print job data (S215: NO), control returns to step S212to extract a next check print job. If the CPU41is not able to secure space sufficient for storing the received print job data after all the check print jobs are checked in the loop process, the CPU41judges that no available space remains in the look-ahead buffer51, and then the buffer securing process terminates.

Returning back to the job reception process shown inFIG. 9, in step S202, the CPU41executes the buffer securing process when the look-ahead buffer51becomes short of the available space so that the print operation can be executed while securing the available space in the look-ahead buffer51.

Similarly, in step S203, the CPU41executes the buffer securing process when the look-ahead buffer51becomes short of the available space so that the print job data can be stored while securing the available space in the look-ahead buffer51.

After step S203is processed, the CPU41judges whether storing of the received print job data is finished (step S204). If the storing of the print job data has been finished (S204: YES), the CPU41adds a record for the newly stored print job data to the job list52(step S205). When the CPU41adds the record to the job list52, the CPU41sets the rereading flag to a disabled state indicating that the re-reading of the print job data is not possible. The reason is that the PC3may delete the print job data created in the PC3after the PC3transmits the print job data to the printer4. Blank data is written to a filed of the item “URL” of the record of the newly added print job data because a location of the print job data does not exist for the newly added print job data.

If the storing of the print job data has not been finished (S204: NO), the CPU41deletes partly received print job data from the look-ahead buffer51, and provides a notification that the look-ahead buffer becomes short of the available space through the display unit46(step S206). After step S205or S206is finished, the job reception process terminates.

FIG. 11is a flowchart illustrating the job print process executed in step S105under control of the CPU41of the printer4.

When the job print process is started, the CPU41judges whether the print job data of which print designation time is reached is found in the look-ahead buffer51by referring to the job list52(step S301). If the print job data of which print designation time is reached is stored in the look-ahead buffer51(S301: YES), the CPU31executes the print operation for the found print job data (step S302).

On the other hand, if no print job data of which print designation time is reached is found (S301: NO), the CPU41executes the print operation while obtaining the print job data to be subjected to the print operation from the print server1(step S303). Each time the look-ahead buffer51becomes short of the available space during the obtaining of the print job data, the CPU41calls the buffer securing process shown inFIG. 10to continue the print operation while deleting the stored data from the look-ahead buffer51.

After step S302or S303is processed, the CPU41deletes the print job data for which the print operation is finished, from the look-ahead buffer51. Next, the CPU41notifies the print server1of the completion of printing. More specifically, the CPU41sends a command to the print server1to instruct the print server1to delete the print job data which is stored in the print server1and corresponds to the print job data for which the print operation has been finished on the printer4(step S304). After receiving such a command from the printer4, the print server1deletes the print job data stored in the print server4.

By such a configuration, it is possible to prevent the print job data for which the print operation has been finished from being obtained again and from being subjected to the print operation again. In other words, it is possible to prevent the print job data for which the print operation has been finished, from occupying the look-ahead buffer51or from being subjected to the print operation again.

Next, the CPU41deletes, from the job list52, the record corresponding to the print job data for which the print operation has been finished (step S305). Then, the job print process terminates.

FIG. 12is a flowchart illustrating the job obtaining process executed in step S107under control of the CPU41.

First, the CPU41transmits a request for delivery of a print job to a registered print server (i.e., the print server1in this embodiment) to start obtaining pint job data (step S401). When the print server1receives the request for delivery of a print job, the print server1transmits print job data registered in the job list of the print server1to a requesting source (e.g., the printer4in this embodiment).

Next, the CPU41extracts the print job data of which print designation time is reached, from the obtained print job data. Then, the CPU41executes the print operation while obtaining the print job data of which print designation time is reached (step S402). Furthermore, when the CPU41receives the print job data for which the print designation time is not set, the CPU41executes the print operation while obtaining such print job data. When the look-ahead buffer51becomes short of the available space during execution of the print operation, the CPU41calls the buffer securing process shown inFIG. 10to execute the print operation while deleting the stored data from the look-ahead buffer51.

Next, the CPU41merges the obtained print job data with the record in the job list52(step S403). More specifically, if the obtained print job data has not been registered in the job list52, the CPU41registers the print job data in the job list52and sets the re-reading flag of the record corresponding to the obtained print job data to an enabled state indicating that the re-reading of the print job data is possible. If the obtained print job data has been already recorded in the job list52, the CPU41executes no operation. If the print job data registered in the job list52is not transmitted from the print server1, the CPU41sets the re-reading flag of such print job data to the disabled state.

Then, the CPU41extracts a target print job in the chronological order, from the print jobs registered in the job list52(step S404) to subject the extracted print job to a loop process starting from step S404.

In step S405, the CPU41judges whether the print job data corresponding to the target print job has been stored in the look-ahead buffer51. If the target print job has already been stored (S405: YES), the CPU41skips step S406and extracts a next target print job. On the other hand, if the target print job has not been stored (S405: NO), the CPU41executes a buffer updating process in step S406. The buffer updating process is explained in detail later. When all of the print jobs in the job list52have been subjected to the loop process, the job obtaining process terminates.

FIG. 13is a flowchart illustrating the buffer updating process executed under control of the CPU41of the printer4. The buffer updating process also corresponds to the reshuffling process for the stored print job data. When the buffer updating process is started, the CPU41judges whether the data size of the target print job is smaller than or equal to the available space of the look-ahead buffer51(step S411). If the data size of the target print job is smaller than or equal to the available space of the look-ahead buffer51(S411: YES), the CPU41stores the target print job in the look-ahead buffer51(step S418). Then, the buffer updating process terminates.

If the data size of the target print job is not smaller than or equal to the available space of the look-ahead buffer51(S411: NO), the CPU411resets the deletion flags of the records of all of the print jobs registered in the job list52(step S412). Then, the CPU41extracts the print job from the print jobs registered in the job list52in reverse chronological order. Hereafter, a targeted print job in a loop process from S413is referred to as a check print job.

The CPU41judges whether the re-reading of the print job data corresponding to the check print job is possible (step S414). If the re-reading of the print job data corresponding to the check print job is not possible (S414: NO), steps S415-S416are skipped to extract a next check print job.

If the re-reading of the print job data corresponding to the check print job is possible (S414: YES), the CPU41sets the deletion flag of the print job data corresponding to the check print job (step S415). Then, the CPU41judges whether it is possible to secure space for storing the print job data to be received (step S416). More specifically, the CPU41judges whether the available space for storing the print job data to be received satisfies the above described condition (1).

If it is possible to secure space for storing the print job data to be received (S416: YES), control exits the loop process and proceeds to step S417. In step S417, the CPU41deletes, from the look-ahead buffer51, all the print job data of which deletion flags are set. Then, the CPU41deletes, from the job list52, the records corresponding to the print job data deleted from the look-ahead buffer51. By this configuration, space for storing the print job data to be received can be secured in the look-ahead buffer51.

Next, the CPU41stores the target print job in the look-ahead buffer51(step S418). Since at this stage the space for storing the print job data to be received is secured in the look-ahead buffer51, the target print job is stored reliably.

On the other hand, if it is not possible to secure space for storing the print job data to be received (S416: NO), control returns to step S413to extract a next check print job. If the available space for storing the print job data to be received can not be secured after all of the print jobs having the print designation time later than the print designation time of the target print job are checked, control exits the loop process. Then, the buffer updating process terminates.

According to the above described buffer updating process, the print job data having the print designation time closer to the current time than another print job data is preferentially stored in the look-ahead buffer51. Therefore, it is possible to smoothly execute the reserved print function.

As described above, the printer4has the reserved print function of executing the print operation in accordance with the print designation time. In the printer4, the print job data is stored in the look-ahead buffer51. The CPU41judges whether it is possible to store the print job data in the look-ahead buffer51by judging whether it is possible to store the print job data in the available space of the look-ahead buffer51. If it is not possible to store the print job data (i.e., if the data size of the print job data is larger than the available space of the look-ahead buffer51), the CPU41deletes the print job data having the print designation time later than that of the print job data to be stored (a storage target print job data). By this configuration, it becomes possible to store the print target print job data in the look-ahead buffer51.

If the printer4does not have sufficient space for storing print job data, the printer4deletes the print job data having the print designation time later than the print designation of the storage target print job data. Therefore, when the size of the look-ahead buffer51becomes short, the print4reshuffles the look-ahead buffer51so that the print job data having an earlier print designation time is subjected to the print operation preferentially. In addition, it is possible to prevent reception of the print job data related to a print job requiring immediate execution of the print operation from being denied due to shortage of the available space of the look-ahead buffer51.

The reshuffle of the print job data is executed automatically. Therefore, it is possible to effectively use the print data buffer, and to achieve a printing device configured to execute smoothly the reserved print function.

The job list52in the printer4stores, for each of the print jobs, information indicating whether the re-reading of the print job data from the print server1is possible. When the printer4reshuffles the print job data, the printer4targets, for deletion, only the print job data for which the re-reading is possible. Such a configuration makes it possible to prevent the print job data for which re-reading is not possible, from being deleted from the printer4.

Therefore, even if both of the print job data for which re-reading is possible and the print job data for which re-reading is not possible exist in the look-ahead buffer51, only the print job data for which the re-reading is possible is deleted. Consequently, it becomes possible to prevent the print job data for which re-reading is not possible, from being deleted from the printer4.

When the print job data for which re-reading is not possible is received in a state where the available space of the look-ahead buffer51is at a low level, the printer4is able to continue to receive such print job data without stopping to receive the print job data. Therefore, the print job data for which re-reading is not possible can be printed with reliably. That is, even if both of the print job data for which re-reading is possible and the print job data for which re-reading is not possible exist in the look-ahead buffer51, the reliability of the reserved print function can be maintained.

The printer4selects the print job data having setting of a print designation time as targets for deletion rather than selecting the print job data not having setting of a print designation time as targets for deletion. Therefore, even if the printer4receives the print job data not having the print designation time, the printer4does not stop the print operation for the print job data not having the print designation time. Therefore, it is possible to reliably print the print job data not having the print designation time. Even if both of the print job data having the print designation time and the print job data not having the print job data exist in the look-ahead buffer51, reliability of the reserved print function can be maintained.

Although the present invention has been described in considerable detail with reference to certain preferred embodiments thereof, other embodiments are possible.

In the above described print system100, the various functions according to the embodiment are implemented on a printer (i.e., the printer40). However, the above described various functions may be implemented on various types of printing devices, such as a facsimile device or a multifunction peripheral.

In the above described print system100, a PC (i.e., the PC2and PC3) is used as a device for registering print jobs. However, various types of devices, such as a mobile phone, may be employed as a device for registering print jobs.

In the above described embodiment, the print job data is delivered to the printer4in response to polling from the printer4. However, delivery of the print job data to the printer4may be achieved in a different way. For example, a destination e-mail address to which the print job data is to be delivered may be registered in the print server1. In this case, the print server1actively transmits the print job data to the printer4.

Before the printer4obtains the print job data from the print server1in step S401ofFIG. 12, the printer4may obtain the job list from the print server1. In this case, the printer4is able to obtain the print job data which the printer4does not have, by comparing the job list52stored therein with the job list obtained from the print server1. In this case, the network traffic can be decreased because unnecessary poling can be omitted. In addition, the processing load applied to the printer4for discarding the print job data stored in the printer4can be reduced.

The PC2may be configured such that if the print designation time is not set to the print job data to be transmitted to the print server1, the PC2sets the current time to the print job data as the print designation time. That is, in this case, the PC2sets the time at which the print job data is transmitted to the print server1as the print designation time. When such print job data arrives at the print server1, the print designation time of the print job data has been already reached. Therefore, when the print job data is transmitted from the print server1to the printer4, the printer4immediately starts the print operation for the received print job data. Therefore, the print job data for which the print designation time is not set by the user is treated as print job data to be subjected to the print operation immediately. Such a configuration enhances the usability of the printing device having the reserved plant function.