United States Patent6606163
Suzuki , ; et al.August 12, 2003

Title

Job scheduling system for print processing

Abstract

A user equipment issues a job for a plurality of documents to a printing system by one operation. The user equipment assigns attributes to the job, the attributes including the specification of collation/uncollation, the designation of processing start instruction wait, the designation of exclusive processing, and the designation of password input wait. The printing system effects printing of the plurality of documents corresponding to attributes of the documents under control of a job scheduling device. The job scheduling device carries but the pausing of documents included in the job, the modification of attributes, addressing of document receiving failures, and search of a document whose format is to be converted, thereby making it possible to efficiently print the plurality of documents.


Inventors:Suzuki; Akihiro (Kanagawa, JP), Yamada; Kentaro  (Kanagawa, JP), Nishiyama; Koji  (Kanagawa, JP), Nakatani; Tooru  (Kanagawa, JP), Nakamura; Yoh  (Kanagawa, JP)
Assignee:Fuju Xerox Co., Ltd. (Tokyo, JP)
Appl. No.:364120
Filed:July 30, 1999
Foreign Application Priority Data

Apr 18, 1995 [JP] 7-92615
Apr 19, 1995 [JP] 7-93818
Apr 19, 1995 [JP] 7-93819
Apr 19, 1995 [JP] 7-93820
Apr 19, 1995 [JP] 7-117982
Apr 20, 1995 [JP] 7-95447
Apr 20, 1995 [JP] 7-95448
Apr 20, 1999 [JP] 7-95449

Current U.S. Class:358/1.15 358/1.16 
Current International Class:G06F 3/12 (20060101)
Field of Search:358/1.1-1.9,1.11-1.18

U.S. Patent Documents
4947345August 1990Paradise et al.
5179637January 1993Nardozzi
5206735April 1993Gauvonski et al.
5287434February 1994Bain et al.
5299296March 1994Padalino et al.
5303336April 1994Kageyama et al.
5422985June 1995Tanaka
5467434November 1995Hower, Jr. et al.
5535009July 1996Hansen
5566278October 1996Patel et al.
5623675April 1997Mizuki
Foreign Patent Documents
0 529 808Mar., 1993EP
0 588 513Mar., 1994EP
0479 494Apr., 1992EP
44 08 355Oct., 1994DE
Primary Examiner: Garcia; Gabriel
Assistant Examiner: Poon; King Y.
Attorney, Agent or Firm:Finnegan, Henderson, Farabow, Garrett & Dunner LLP

Parent Case Text



This is a division of application Ser. No. 08/544,076, filed Oct. 17, 1995--all of which are incorporated herein by reference.

Claims


What is claimed is:
1. A print processor which carries out printing upon receipt of a job processing request, including an instruction for processing print requests for a plurality of documents as one job and scheduling attributes, from a plurality of terminals through a network, said print processor comprising: timer means which, upon receipt of a job processing request from the terminal, checks whether or not a next print document was received within a predetermined period of time by monitoring a series of documents included in the job processing request; scheduling attribute judging means which, upon receipt of the job processing request, judges whether the scheduling attributes are after-complete attributes which carry out scheduling in such a way that the execution of a job is started upon receipt of all print documents related to the job or before-complete attributes which carry out scheduling in such a way that a job is executed with respect to a received print document every time each print document is received; final document processing means which, when said timer means has judged that the next print document could not be received within a predetermined period of time during the reception of the job processing request, handles a print document which was received immediately before this judgement as a final document of the current job, if the scheduling attributes are the after-complete attributes; and job completion processing means which, when said timer means has judged that the next print document could not be received within a predetermined period of time during the reception of the job processing request, completes the job by handling a print document which was received immediately before the judgement as the final document of the current job, if the scheduling attributes are the before-complete attributes.

2. The print processor as defined in claim 1, further comprising final document decision means for deciding the completion of the series of print documents upon receipt of the job processing request.

3. The print processor as defined in claim 2, further comprising printer selecting means which, if the scheduling attributes are the before-complete attributes, selects a printer when said final document judging means judges a received document to be the final print document in the case of the scheduling attributes of the after-complete type, and when said final document processing means deals the print document immediately before the judgement.

4. A print processing method for use in a print processor in the case where a receiving failure arises during receipt of a job processing request, which includes an instruction for processing print requests for a plurality of documents as one job and scheduling attributes, from a plurality of terminals through a network, said print processing method comprising the steps of: judging whether or not a next print document was received within a predetermined period of time by monitoring the time at which the next print document is received while a series of print documents included in the job processing request from the terminal are received; judging, from the received job processing request, whether the scheduling attributes are after-complete attributes which carry out scheduling in such a way that the execution of a received job is started upon receipt of all print documents related to this job or before-complete attributes which carry out scheduling in such a way that a job is executed with respect to a received print document every time a print document is received; executing a job by handling a print document received immediately before the judgement of the reception of the next print document as a final print document of this job when the next print document is not received within a predetermined period of time, if the scheduling attributes are the after-complete attributes; and completing the job by dealing a print document received immediately before the judgement of the reception of the next print document as the final document of this job when the next print document is not received within a predetermined period of time, if the scheduling attributes are the before-complete attributes.

Description

BACKGROUND OF THE INVENTION

1. Field of the Invention

This invention relates to a job scheduling system which schedules job requests issued from a terminal equipment using a queue and requests a job execution section to carry out print processing by passing the jobs to the job execution section.

2. Discussion of the Related Art

In the print processing executed by a conventional print processing system, a job scheduling device receives a job request delivered from a terminal equipment in a network, and this job is sent to a job execution section after the job request has been subjected to a predetermined scheduling operation, whereby print processing and conversion are executed. The job scheduling device sequentially stores print data, which forms the job request, and an aggregate of attribute groups of the print data (hereinafter referred to as a document) in the queue as one operation unit (hereinafter referred to as a job). The scheduling operation is carried out job by job. Hereinafter, such scheduling is called the scheduling of a one-job-multidocument.

When a user attempts to produce a plurality of outputs of jobs having the same contents, a corresponding number of job requests must be issued in a conventional job processing system. These jobs are handled as different jobs, and therefore output results corresponding to these job requests are mixed with output results for job requests from another user. It takes much time for the user to distinguish the user's output results from other results.

Although a plurality of jobs share the same print data, each of the jobs requires the print data when a plurality of job requests are issued. When the volume of data is large, an increased burden is imposed on a memory device such as a disk. Further, when a job includes documents which require conversion, conversion is executed job by job, thereby resulting in poor processing efficiency. Thus, the use of various resources becomes wasteful.

On the other hand, a job processing can be carried out using acceptance completion type sequential processing or non-acceptance completion type sequential processing. In the acceptance completion type sequential processing, a document processing request is not issued until all of the documents which form the job are received. In the non-acceptance completion type sequential processing, processing requests are issued in the order in which the documents are received. The non-acceptance completion type sequential processing is suitable for the case where a high-speed printer is used. The acceptance completion type sequential processing is suitable for the case where the collation and uncollation of a job are controlled. However, in the acceptance completion type sequential processing, it is necessary to wait the issue of a processing request until all of the documents are received, which in turn delays scheduling and renders the overall processing time longer.

The collation (collation is carried out) means that the pages of a document are collated and a specified number of documents are output, and the uncollation (collation is not carried out) means that a specified number of documents are output page by page.

An object of the present invention is to provide a job processing system capable of improving job processing efficiency when a plurality of jobs having the same contents are output.

In the case of the scheduling of the conventional one-job multidocument, the next job processing request is not issued to the job execution section until a job at the head end of a printer queue is completed. So long as a previous job remains in the queue, the next job processing request is not issued. For this reason, it is possible to easily perform a processing start wait operation, or a processing completion wait operation, and a password input wait operation by checking whether or not the job at the head end of the printer queue is designated for a processing start wait, a processing completion wait, or a password input wait.

The job execution section having high throughput can process a plurality of documents at one time. However, the job scheduling device can only issue a job processing request at limited timing, and hence it was sometimes impossible to effectively utilize the throughput of the job execution section.

FIG. 21 is an explanatory view showing the relationship between the state of a printer queue and a document which is processed by a job execution section. In FIG. 21, a job scheduling device (not shown) is interposed between a printer queue 5
and a job execution section 6, and this job scheduling device schedules jobs. Jobs 1 to 4 are queued in the printer queue 5. Processing request for all documents have already been issued with respect to a job 1 at the head end of the queue. On the other hand, the processing of the job shifts sequentially from step 1 to step 3 in the job execution section 6.

For the jobs in the queue, a large circle at the top of each column represents a queue object of a job, and smaller circles following the large circle in each column represent queue objects of a document.

The job execution section 6 advances the processing of the document to step 2 when the processing at step 1 is completed, and informs the job scheduling device that it can accept a processing request. Upon receipt of the acknowledgement from the job execution section 6, the job scheduling device issues a processing request to the job execution section 6 for a document subsequent to the currently completed job, and executes processing of step 1. After the processing of step 3 has been completed, the job execution section 6 informs the job scheduling device of the completion of the processing of that document. The job scheduling device considers the processing of the document for which the acknowledgement has been issued to have been completed, and the job is moved to a terminate (completion) queue (not shown) after the processing of the final document of the job has been completed. The job scheduling device issues a processing request to the job execution section 6 with respect to the next job 2 at the head end of the printer queue 5.

In some case, the job scheduling device cannot issue a document processing request to the job execution section 6 even when the job execution section 6 is liable to carry out processing, which results in an unprocessed document is in the printer queue 5.

For example, FIG. 21 shows that processing requests for all jobs have already been issued with respect to the job 1, and that a job 1-4, i.e., a document 4 of the job 1, is being processed in the job execution section 6. When the job 1-4 is shifted to step 2 after having been subjected to the processing at step 1, it becomes possible to carry out the processing of step 1. The job execution section 6 informs the job scheduling device that it can accept processing. However, the job scheduling device has not yet received the acknowledgement of the completion of the processing of jobs 1-2, 1-3, and 1-4 from the job execution section 6. Accordingly, the job scheduling device can neither shift the job 1 from the head end of the printer queue 5 nor issue a processing request for a job 2-1. In other words, in spite of the fact that the job execution section 6 informs the job scheduling device that it can accept processing, the job execution section 6 cannot receive a processing request for the job 2-1 from the job scheduling device until the processing of the job 1-4 is finished. Hence, the job execution section 6 is idle for a waiting time, and it takes a long time to execute job processing. As a result of this, even if the job execution section 6 can process a plurality of documents at one time, it becomes impossible to effectively utilize the throughput of the job execution section.

As previously mentioned, the job scheduling device controls jobs by checking whether or not a job at the head end of the printer queue 5 is set to the processing start wait, or the processing completion wait, and the password input wait. If processing requests for documents were issued with respect to jobs other than the job at the head end of the queue when the job scheduling device received the acknowledgement from the job execution section 6, it will become impossible for the job scheduling device to control these jobs.

Another object of the present invention is to provide a job processing system capable of continuously issuing document processing requests without obstructing job control such as a processing start wait.

When print processing is conventionally carried out using a print server connected to a network system, it is necessary to send the print server print data described in a print format which a printer to be connected to the server can interpret. For this reason, a local user in the network system has to send print data after confirming the printer format of a printer which accepts a print processing request. If the print data were sent together with a wrong print format for that printer, the print data might not be printed.

A print server is put forward which converts the print format of received print data to another print format which a printer connected to the print server can interpret when the print data described in a print format which the printer cannot interpret. The print format is a PDL format such as PostScript or Interpress.

Japanese Patent Unexamined Publication No. Hei. 3-251915 discloses a print server, wherein a printer name corresponding to a print command is sent to a print server before the transmission of print data, the print server selects print command converter means corresponding to the received print command, and the thus selected print command converter means control a printer connected to the print server.

However, in the case of the above mentioned conventional print server, the print format of the print data is converted immediately before the printer processes the print data. Hence, the printer comes to a standstill during the conversion of the print format, which in turn deteriorates the throughput of the printer. Particularly in the case of a completion type job, the conversion of a print format is not carried out until all documents are received, and hence the printer stops for a longer period of time.

Similarly, the print server disclosed in Japanese Patent Unexamined Publication No. Hei. 3-251915 converts the print format of print data to a data format of a printer connected to the server immediately before print processing is carried out. Therefore, the printer has to stop during the conversion of the print format.

Still another object of the present invention is to provide a print processing device designed to reduce the idle time of a printer and improve the throughput of the printer by previously converting a job including documents which need conversion processing.

In the scheduling of a conventional one-job multidocument, when it is necessary to process a plurality of documents as one job, an instruction to that effect is sent from terminal equipment together with a schedule attribute. This schedule attribute basically comprises two types of attribute; namely, an after-complete attribute and a before-complete attribute. The after-complete attribute means that a print processing device carries out scheduling in such a way as to execute a job upon receipt of all print documents related to that job. The before-complete attribute means that a print processing device carries out scheduling in such a way as to execute a job with respect to a received print document every time receiving each of print documents of that job.

By the way, document data to be transmitted might be interrupted as a result of a network failure while print requests for a plurality of print documents are being processed as one job. If such a receiving failure arises, the print processing device has to wait until the last document arrives in the case of the after-complete attribute, so that the print processing is interrupted for a long period of time. On the other hand, in the case of the before-complete attribute, previously received print documents are printed one by one, and therefore the printer is occupied for a long period of time until the current print processing is cancelled.

The present invention is conceived to solve these drawbacks in the conventional system, and the object of the invention is to provide print processing device and method wherein if the next document of a job is not received because of a failure, print processing will not be interrupted for a long period of time and a printer will not be occupied for a long period of time.

Generally, in a conventional network system, each of a number of subscriber workstations (client workstations) in the network issues a job processing request to each type of server, and the server which received that job processing request temporarily puts the job in a queue in the form of FIFO (First-In First-Out) and processes jobs in a stand-by state one by one. For example, in a print system, a print server which accepted print jobs from a client workstation stores the print jobs in a printer queue one after another and outputs the jobs in a stand-by state to a printer one by one every time the printer completes print processing. For this reason, a user who wants to quickly obtain a print output has to issue a print request to the print server as soon as possible, which might cause the user to erroneously specify print attributes such as a paper size and a tray number.

In addition, some of the current print systems can effect the print processing of a one-job multidocument in which a plurality of documents are handled as one job, as well as the print processing of a one-job one-document in which one job simply comprises one document. Therefore, an unwanted document often gets mixed in with a job.

In such a case, according to the conventional technology, it is necessary for the user to delete the job held in a queue which corresponds to the print request and to reissue a print request with modified attributes

However, as a result of the deletion of and re-registration of the job retained in the queue, it takes a long time to obtain a print result, and an increased burden is imposed on the user. Further, the reissue of the print request results in increased network traffic, and might bring about competition for the print server by print requests from a plurality of clients. For this reason, it becomes more important to develop a technology of temporarily interrupting the processing of a job and resuming the job.processing after the modification of attributes of a job retained in a queue of a print server and the cancellation of a specific document included in a one-job multidocument have been effected. On the assumption that a job is processed in the order in which the print server accepts a job, if a job which takes a massive amount of time is being processed, it will become impossible to start to process a subsequent job so long as the processing of the current job continues.

Therefore, the manner of implementing a technique for temporarily interrupting the processing of a job and resuming the job processing after the modification of attributes of a job retained in a queue of a print server and the cancellation of a specific document included in a one-job multidocument have been effected, becomes important.

According to the conventional technology, job processing is neither interrupted nor resumed on a job-by-job basis, and only the operation of the print server is interrupted and resumed. For example, Japanese Patent Unexamined Publication No. Sho. 63-276569 discloses an off-line printer, wherein information relating to a print position when printing is terminated during the course of the printing operation is output to a permanent recording medium such as print paper or a non-volatile storing medium such as a magnetic disk, so that printing can be reliably and easily resumed from an accurate print position. Even in this printer, print processing is not interrupted and resumed on a job-by-job basis, but only the printer is interrupted and resumed.

The object of the present invention is to solve the above drawbacks in the conventional technology and to provide a job processor capable of improving processing efficiency by effecting the interruption and resumption of print processing on a job-by-job basis as well as easily modifying attributes of a job retained in a queue and cancelling a specific document included in a one-job multidocument.

There is a technology conventionally known as a remedy for a network system failure, wherein information relating to failures occurred with respect to subscribers on the network is temporarily stored in a log file, and causes of the failures are identified based on the information relating to the failures stored in the log file. For example, Japanese Patent Unexamined Publication No. Sho. 61-75463 discloses an information processing system configured in such a way that each information processor collects status information, representing an internal state of the processor itself, under control of an abnormal processing program which is executed in response to the occurrence of an external interruption or the detection of an abnormality, and sends the collected status information to each of the information processors having a display, whereby status information for each information processor is displayed. In other words, this conventional technology makes it easy to increase the speed of identification of failures by collecting status information using the detection of abnormality as a trigger, and displaying the status information on a display.

However, according to this conventional technology, it is necessary to collect information about failures and store the information in a log file. Further, a system manager has to analyze and restore the information held in the log file, and hence it takes a long time to restore the information to its original state immediately before the occurrence of the failure. For example, on the assumption that a plurality of print jobs are received from a plurality of terminals through a network, and that a job scheduling device which prints the plurality of print jobs one after another using a job execution section (a printer) is used, if any failures occurred in the job scheduling device or the printer, the state of the job scheduling device or the printer will be temporarily stored in a log file, and thereafter attempts to recover the job scheduling device or the printer from the failure will be made based on an analysis of the failures by a system manager.

In other words, once such failures have occurred, the failures affect each of the jobs held in the job scheduling device, and therefore it often takes a long time to recover the jobs from the influence of the failures. For example, if a failure arises during the course of deletion of a job held in the job scheduling device, print data relating to that job will be deleted, but attributes of that print data will remain undeleted. For this reason, the system manager has to delete the attributes later.

For these reasons, a degree of improvement in an operating efficiency attained as a result of reducing the influence of failures exerted on a job if the above mentioned failures arise, becomes important. Particularly, in a system which carries out parallel processing such as multiprocessing, one failure affects all other portions in the system.

The object of the present invention is to solve the above mentioned drawbacks in the conventional technology and to provide a job scheduling device capable of reducing the influence of system failures if they arise in a system and executing job processing according to an instruction from a user.

A conventional printing system, such as a so-called print system and a copying system, employs a known technology in which print attributes (hereinafter referred to as attribute information) consisting of a paper size, a tray number, and the availability of double-sided printing are added to print data, and printing is carried out based on the attribute information. For example, when print data or copying data are output, attribute information consisting of, for example, a paper size, the number of pages, and the availability of double-sided printing, necessary for printing is set. As a result of sending the attribute information to an output device together with document data or copying data, the print data or the copying data are output in a desired format. In this way, when a print request is issued, printing is carried out based on the attribute information, and therefore the handling of the attribute information becomes important.

However, according to such a conventional technology, the user who issues a print request or a terminal equipment which the user uses, added the attribute information to print data. For this reason, if a print server, or the like, accepted the print request as a print job, it would not have been allowed to change the attribute information. Hence, if the user erroneously specified the attribute information or if the terminal added the attribute information to the print data because the user had forgot to specify the attribute information, it would have become necessary to temporarily cancel the print job once and to issue a new print request given desired attribute information. This imposes an increased burden on the user, as a result of the re-registration of a print request, and brings about a drop in the efficiency of use of a network. Further, a time lag arises before a print output is obtained. Namely, the increased burden on the user, a drop in the efficiency of use of the network, and a print waiting time becomes important.

The present invention is conceived to solve the above mentioned drawbacks in the conventional technology, and the object of the invention is to provide a job scheduling device capable of easily modifying attribute information by reducing a user's burden, a drop in the efficiency of the use of a network, and a print waiting time.

SUMMARY OF THE INVENTION

A first object of the present invention is to provide a job processing system capable of improving the processing efficiency of a job when a plurality of jobs having the same contents are output.

A second object of the present invention is to provide a job processing system designed so as to be able to continuously output document processing requests without obstructing job control such as a processing start wait.

A third object of the present invention is to provide a print processing equipment designed so as to reduce idle time of a printer and to improve a throughput of the printer by previously converting a job including documents which need conversion.

A fourth object of the present invention is to provide a job processing system which prevents the interruption of processing for a long period of time and the occupying of a printer for a long period of time even if the processing system cannot accept the next document of a job for reasons of failures.

A fifth object of the present invention is to provide a job processing equipment capable of solving the previously mentioned drawbacks in the conventional technology, modifying attributes of a job retained in a queue, easily cancelling a specific document included in a one-job multidocument, and improving processing efficiency by effecting the interruption and resumption of processing on a job-by-job basis.

A sixth object of the present invention is to provide a job scheduling device capable of reducing the influence of system failures and carrying out job processing according to a user's instruction even when failures arise in a system.

A seventh object of the present invention is to provide a job scheduling device capable of easily modifying attribute information by reducing a user's burden, a drop in the efficiency of use of a network, and print waiting time even if the attribute information is erroneously specified.

According to a first aspect of the present invention, there is provided a job processing system comprising a terminal equipment for issuing a job request by handling a plurality of documents as one job, and a job scheduling device which sequentially processes jobs by storing the jobs, received from the terminal equipment through a network, in a queue and sending a job execution section a processing request relating to a document specified by the job stored in the queue, the terminal equipment comprising: attribute information adding means for adding information which specifies a job output method to a job request as attribute information of the job, and the job scheduling device comprising: attribute information setting means for acquiring attribute information included in the received job and sets the attribute information to information which specifies a job and a document; a queue for storing, as a job, a group of items of the information which specify a job and a document; and output result control means which, upon reference to the information items which specify a job and a document with respect to the job stored in the queue, controls the processing request issued to the job execution section in such a way that a specified number of copies of the job are output using the information which specifies a job output method.

According to a second aspect of the present invention, there is provided a job processing system comprising a terminal equipment for issuing a job request by handling a plurality of documents as one job, and a job scheduling device which sequentially processes jobs by storing the jobs, received from the terminal equipment through a network, in a queue and sending a job execution section a processing request relating to a document specified by the job stored in the queue, the terminal equipment comprising: attribute information adding means for adding information relating to the number of copies of the job and information relating to a job output result to the job request as job attribute information, and the job scheduling device comprising: attribute information setting means for acquiring attribute information included in the received job and sets the attribute information to information which specifies a job and a document; a queue for storing, as a job, a group of items of the information for specifying a job and a document; and output result control means which, upon reference to the information for specifying a job and a document with respect to the job stored in the queue, controls the processing request issued to the job execution section in such a way that a specified number of copies of the job are only output in a collated manner if collation processing is specified in the information relating to a job output result using the information which specifies a job and a document, or in such a way that a specified number of copies of the job are only output in an uncollated manner if uncollation processing is specified in the information relating to the job output result using the information which specifies a job and a document.

According to a third aspect of the present invention, there is provided a job processing system comprising a terminal equipment for issuing a processing request by handling a plurality of documents as one job, a job execution section for printing the documents, and a job scheduling device which accepts a document input from the terminal equipment through a network and issues a processing request relating to that document to the job execution section, the terminal equipment comprising: control information specifying means for specifying a processing start wait for a leading document among the plurality of documents, and the job scheduling device comprising: preparation means for preparing information which specifies a received document; queuing means for storing the prepared information which specifies the document by associating the information on a job-by-job basis; control information setting means which, if a processing start wait is specified for the leading document among a plurality of received documents, sets the processing start wait to information for specifying this leading document; and control state setting means which, if the processing start wait is set to information which specifies the leading document of the job stored in the queuing means, renders that job in a processing start wait state, and wherein the job scheduling device sequentially retrieves jobs stored in the queuing means when the job execution section becomes enabled to accept processing, issues a processing request for a corresponding document when there is information specifying a document to which a processing request can be issued, and when a job is placed in the processing start wait state, prevents the issue of processing requests with respect to a document-for that job and documents for subsequent jobs until that job is released from the processing start wait state by a user's instruction or a timeout.

According to a fourth aspect of the present invention, there is provided a job processing system comprising a terminal equipment for issuing a processing request by handling a plurality of documents as one job, a job execution section for printing the documents, and a job scheduling device which accepts a document input from the terminal equipment through a network and issues a processing request relating to that document to the job execution section, the terminal equipment comprising: control information specifying means for specifying a processing completion wait for a leading document among the plurality of documents, and the job scheduling device comprising: preparation means for preparing information which specifies a received document; queuing means for storing the prepared information which specifies the document by associating the information on a job-by-job basis; control information setting means which, if a processing completion wait is specified for the leading document among a plurality of received documents, sets the processing completion wait to information for specifying this leading document; and control state setting means which, if the processing completion wait is set to information which specifies the leading document of the job stored in the queuing means, renders that job in a processing completion wait state, and wherein the job scheduling device sequentially retrieves jobs stored in the queuing means when the job execution section becomes enabled to accept processing, issues a processing request for a corresponding document when there is information specifying a document to which a processing request can be issued, and when a job is placed in the processing completion wait state, prevents the issue of processing requests with respect to a document for that job and documents for subsequent jobs until that job is released from the processing completion wait state by a user's instruction or a timeout.

According to a fifth aspect of the present invention, there is provided a job processing system comprising a terminal equipment for issuing a processing request by handling a plurality of documents as one job, a job execution section for printing the documents, and a job scheduling device which accepts a document input from the terminal equipment through a network and issues a processing request relating to that document to the job execution section, the terminal equipment comprising: control information setting means for specifying a password input wait for a leading document among the plurality of documents, and the job scheduling device comprising: preparation means for preparing information which specifies a received document; queuing means for storing the information which specifies the document by associating the information on a job-by-job basis; control information setting means which, if a password input wait is set for the leading document among a plurality of received documents, sets the password input wait to information which specifies that leading document; and control state setting means which, if the password input wait state is set to information which specifies the leading document of the job stored in the queuing means, renders that job in a password input wait state, wherein the job scheduling device sequentially retrieves jobs stored in the queuing means when the job execution section becomes enabled to accept processing, issues a processing request for a corresponding document when there is information specifying a document to which a processing request can be issued, and when a job is placed in the password input wait state, prevents the issue of processing requests with respect to a document of that job and documents of subsequent jobs until that job is released from the password input wait state by a user's instruction or a timeout.

According to a sixth aspect of the present invention, there is provided a job processing system comprising a terminal equipment for issuing a processing request, and a job scheduling device which sequentially processes jobs by storing the jobs received from the terminal equipment in a queue and issuing a processing request, relating to a document specified by the job stored in the queue, to a job execution section, the terminal equipment comprising: attribute information adding means for adding information relating to job wait control and message information relating to the wait control to the job request as attribute information, and the scheduling device comprising: job information preparing means for preparing job information which specifies a received job; attribute information setting means for setting attribute information included in the received job in the job information; a queue for storing the prepared job information in order; control state setting means which, if wait control is set to the job information stored in the queue, renders a job associated with that job information in a wait control state when processing of that job is started or completed; and message information informing means which, when the job enters the wait control state, informs the terminal equipment of message information set with respect to that job.

According to a seventh aspect of the present invention, there is provided a print processor which prints a document in response to a job request received through a network, the print processor comprising: job accepting means for accepting the job request; queuing means for storing the accepted jobs in sequential order; output means for printing a document specified by the job stored in the queuing means; converting means for converting the document into a format which the output means can interpret; and conversion control means for causing the converting means to convert a document which needs to be converted when being printed by the output means, wherein the converting means informs the conversion control means that it can carry out conversion when conversion processing becomes available, and wherein the conversion control means retrieves a document in a format which the output means cannot interpret from among the documents specified by the job stored in the queuing means, and causes the converting means to convert the format of that document.

According to an eighth aspect of the present invention, there is provided a print processor which carries out printing upon receipt of a job processing request, including an instruction for processing print requests for a plurality of documents as one job and scheduling attributes, from a plurality of terminals through a network, the print processor comprising: timer means which, upon receipt of a job processing request from the terminal, checks whether or not a next print document was received within a predetermined period of time by monitoring a series of documents included in the job processing request; scheduling attribute judging means which, upon receipt of the job processing request, judges whether the scheduling attributes are after-complete attributes which carry out scheduling in such a way that the execution of a job is started upon receipt of all print documents related to the job or before-complete attributes which carry out scheduling in such a way that a job is executed with respect to a received print document every time each print document is received; final document processing means which, when the timer means has judged that the next print document could not be received within a predetermined period of time during the reception of the job processing request, handles a print document which was received immediately before this judgement as a final document of the current job, if the scheduling attributes are the after-complete attributes; and job completion processing means which, when the timer means has judged that the next print document could not be received within a predetermined period of time during the reception of the job processing request, completes the job by handling a print document which was received immediately before the judgement as the final document of the current job, if the scheduling attributes are the before-complete attributes.

According to a ninth aspect of the present invention, there is provided a print processing method for use in a print processor in the case where a receiving failure arises during receipt of a job processing request, which includes an instruction for processing print requests for a plurality of documents as one job and scheduling attributes, from a plurality of terminals through a network, the print processing method comprising the steps of: judging whether or not a next print document was received within a predetermined period of time by monitoring the time at which the next print document is received while a series of print documents included in the job processing request from the terminal are received; judging, from the received job processing request, whether the scheduling attributes are after-complete attributes which carry out scheduling in such a way that the execution of a received job is started upon receipt of all print documents related to this job or before-complete attributes which carry out scheduling in such a way that a job is executed with respect to a received print document every time a print document is received; executing a job by handling a print document received immediately before the judgement of the reception of the next print document as a final print document of this job when the next print document is not received within a predetermined period of time, if the scheduling attributes are the after-complete attributes; and completing the job by dealing a print document received immediately before the judgement of the reception of the next print document as the final document of this job when the next print document is not received within a predetermined period of time, if the scheduling attributes are the before-complete attributes.

According to a tenth aspect of the present invention, there is provided a job processing device which sequentially executes jobs for which processing requests were accepted, the job processing device comprising: first queuing means for sequentially storing jobs for which processing requests were accepted; second queuing means for sequentially storing jobs whose processing is to be interrupted from among the jobs stored in the first queuing means; queue control means which moves the job stored in the first queuing means from the first queuing means to the second queuing means in response to a job processing interruption request and moves the jobs stored in the second queuing means from the second queuing means to the first queuing means in response to a job resumption request; and job execution means for sequentially executing the jobs stored in the first queuing means.

According to an eleventh aspect of the present invention, there is provided a job scheduling device which sequentially stores jobs, for which processing requests were received from terminals, in a queue and sequentially processes the jobs held in the queue using a job execution section, the job scheduling device comprising: a plurality of queues provided corresponding to states of the jobs; scheduling means for scheduling the jobs using the plurality of queues; and recovery means for recovering previous state of each of the jobs being held in the plurality of queues, at the time of recovery from a failure, if any failure occurred while the jobs are being scheduled by the scheduling means.

According to a twelfth aspect of the present invention, there is provided a job scheduling device for storing, in a queue, print jobs which include print data and attribute information and for which processing requests were received from terminals, and for sequentially printing the print jobs held in the queue based on the attribute information using a job execution section, the job scheduling device comprising: a plurality of queues provided corresponding to print job states; scheduling means for scheduling the print jobs using the plurality of queues; and attribute modifying means for modifying the attribute information only when a print job can be changed at the time that an instruction for modifying the attribute information of the print job is received, and when instruction is free from errors.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram showing the overall configuration of a job processing system according to a first embodiment of the present invention;

FIG. 2 is a schematic representation showing a queue object prepared in a request control section of the first embodiment;

FIG. 3 is a flowchart showing the overall flow of job processing in the job processing system of the first embodiment;

FIG. 4 is a flowchart showing procedures for issue of a processing request when a job is output in a collated or uncollated manner in the first embodiment;

FIG. 5 is a flowchart showing procedures for completion of processing when a job is output in a collated or uncollated manner in the first embodiment;

FIG. 6 is a schematic representation showing queue objects stored in a printer queue and information retained within the queue objects (collated) in the first embodiment;

FIG. 7 is an explanatory view showing output results when a job is output in a collated manner in the first embodiment;

FIG. 8 is a schematic representation showing queue objects stored in a printer queue and information retained therein (uncollated);

FIG. 9 is an explanatory view showing output results when a job is output in an uncollated manner in the first embodiment;

FIG. 10 is a schematic representation showing queue objects in a second embodiment of the present invention;

FIG. 11 is flowchart showing processing procedures when a document is accepted in the second embodiment;

FIG. 12 is a flowchart showing processing procedures when document processing requests are continuously issued in the second embodiment;

FIG. 13 is a flowchart showing the continuous issue of document processing procedures, and processing procedures when a job processing start wait is controlled in the second embodiment;

FIG. 14 is a flowchart showing the continuous issue of document processing procedures, and processing procedures when a job processing completion wait is controlled in the second embodiment;

FIG. 15 is a flowchart showing the flow of acceptance of a processing completion acknowledgement from a job execution section in the second embodiment;

FIG. 16 is a flowchart showing the continuous issue of document processing procedures, and processing procedures when a password input wait is controlled in the second embodiment;

FIG. 17 is an explanatory view showing the relationship between a printer queue and a terminate queue in which jobs waiting for processing start are queued in the second embodiment;

FIG. 18 is an explanatory view showing the relationship between a printer queue and a terminate queue in which jobs waiting for processing completion are queued in the second embodiment (part 1);

FIG. 19 is an explanatory view showing the relationship between a printer queue and a terminate queue in which jobs waiting for processing completion are queued according to the second embodiment (part 2);

FIG. 20 is an explanatory view showing the relationship between a printer queue, a terminate queue, and a wait queue in which jobs waiting for password input are queued in the second embodiment;

FIG. 21 is an explanatory view showing the relationship between the state of a printer queue and a document to be processed in a job execution section in the second embodiment;

FIG. 22 is a block diagram showing the detailed configuration of a job scheduling section in a.third embodiment of the present invention;

FIG. 23 is a block diagram showing the overview of a print processing system in the third embodiment;

FIG. 24 is a flowchart showing the flow of processing from the receipt of a document to the queuing of the document in a printer queue in the third embodiment;

FIG. 25 is a flowchart showing the flow of conversion processing when a conversion section becomes possible to process in the third embodiment;

FIG. 26 is a functional block diagram showing one example of configuration of a job scheduling section used in a fourth embodiment of the present invention;

FIG. 27 is a block diagram showing one example of the configuration of a print processing device of the fourth embodiment;

FIG. 28 is a block diagram showing one example of a job control elementary section in the fourth embodiment;

FIG. 29 is a block diagram showing one example of a queuing management section in the fourth embodiment;

FIGS. 30a to 30c are schematic representations showing one example of data structure of a document printing request in the fourth embodiment;

FIG. 31 is a flowchart showing the flow of processing of a job scheduling section in the fourth embodiment;

FIG. 32 is a flowchart showing the flow of timeout processing at the time of after-complete processing in the fourth embodiment;

FIG. 33 is a flowchart showing the flow of timeout processing at the time of before-complete processing in the fourth embodiment;

FIG. 34 is a block diagram showing the configuration of a job control elementary section in a fifth embodiment of the present invention;

FIG. 35 is a schematic representation showing the configuration of a job processing system of the fifth embodiment;

FIG. 36 is a schematic diagram showing the configuration of a pausing section shown in FIG. 34;

FIG. 37 is a flowchart showing processing procedures carried out by the pausing section shown in FIG. 36;

FIG. 38 is a schematic representation showing the configuration of a resuming section shown in FIG. 34;

FIG. 39 is a flowchart showing processing procedures executed by the resuming section shown in FIG. 38;

FIGS. 40a to 40c are schematic representations showing one example of the states of a printer queue and a pause queue when pausing processing and resuming processing are executed in the fifth embodiment;

FIG. 41 is a view showing a processing sequence between the job scheduling section and the job execution section shown in FIG. 34;

FIG. 42 is a block diagram showing the overall configuration of a job processing system and the detailed configuration of a job scheduling device according to a sixth embodiment of the present invention;

FIG. 43 is a flowchart showing processing procedures the moment when the job scheduling device shown in FIG. 42 received a job and the moment when printing is carried out;

FIG. 44 is an explanatory view showing the configuration of job information queued in each of the queues shown in FIG. 42;

FIG. 45 is a block diagram showing the overall configuration of a job processing system and the detailed configuration of a job scheduling device used in a seventh embodiment of the present invention;

FIG. 46 is a flowchart showing procedures for confirmation of a job status which is carried out by an attribution modification section shown in FIG. 45;

FIG. 47 is a flowchart showing procedures for confirmation of attribute information which is carried out by the attribute modification section shown in FIG. 45;

FIG. 48 is a flowchart showing processing procedures when the attribute modification section shown in FIG. 45 modifies attribute information;

FIG. 49 is a block diagram showing the overall configuration of a job processing system used in a modified example of the seventh embodiment;

FIGS. 50a and 50b are schematic representations showing one example of the case where the attribute modification section shown in FIG. 49 modifies attributes without the use of default attribute information and the case where the attribute modification section modifies attributes using the default attribute information; and

FIG. 51 is a flow chart showing attribute modification processing carried out by the attribute modification section shown in FIG. 49.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

With reference to FIGS. 1 to 9, a job processing system according to a first embodiment of the present invention will now be described. The job processing system of the first embodiment efficiently carries out job processing when a plurality of jobs having the same contents are output.

FIG. 1 is a block diagram showing the overall configuration of a job processing system used in this embodiment. A job processing system 10 is made up of a terminal 11, a job scheduling device 12, and a job execution section 13.

The terminal 11 is a user device and is connected to the job scheduling device 12 through a network (not shown). This terminal 11 generates one job as a plurality of documents, and issues a job request and various types of control request including these documents to the job scheduling device 12.

In compliance with an instruction input from a user, the terminal 11 adds various types of attribute values, which include those relating to the number of job outputs and information relating to a job output result, to the job request as job attribute information of the job.

The job scheduling device 12 is a module which sequentially stores job requests delivered from the terminal 11 in a queue, schedules the job requests allowing for an assignment and processing conditions of the job execution section 13, and prints the job by transferring a job stored in the queue to the job execution section 13.

This job scheduling device 12 is made up of a request control section 14, a job scheduling section 15, a job execution section control section 16, and a queue management section 17.

Upon receipt of a job request from the terminal 11, the request control section 14 issues a request for scheduling such as print processing to the job scheduling section 15 by preparing a queue object corresponding to that job, and delivering this queue object to the job scheduling section 15.

FIG. 2 is a schematic representation of the queue object prepared by the request control section 14. Upon receipt of the leading job request, the request control section 14 prepares a queue object for that job (which retains information common to all documents) and sets a job information section. In this job information section, information which specifies that job (hereinafter referred to as job information) is prepared on the basis of the attribute information set for the leading job request.

Job ID: Job identifier which is an identifier to identify a job.

Job Copy Count: Job copy number count which designates the number of copies of the current job.

Copy Count: Copy count which shows the number of a page which is currently copied, and an initial value of this count is 0.

Collate Flag: Collation identifier, and collation is available when TRUE, but not available when FALSE.

Current Doc Num: Processing request document identifier which represents a document sequence number, and an initial value is 0.

On the other hand, upon receipt of the leading job request and a following job request, the request control section 14 prepares a queue object of each document (which holds information for each document) and sets the document information section. In this document information section, information which specifies that document (hereinafter referred to as document information) on the basis of the attribute information set to a received document.

Job ID: Job Identifier for identifying a job.

Doc Seq Num: Document identifier which is a number used for identifying documents.

Request Count: Processing request count which represents the number of processing requests issued to the job execution section 13, and the value of the Job Copy Count of the job information is set as an initial value of this request counter. The counter decrements from the initial value by one every time a processing request is issued.

Complete Count: Processing completion count which represents the number of acknowledgements of processing completion output from the job execution section 13. This counter is set to zero when document information of the current job information is prepared.

Complete: Final document identifier which represents the final document when TRUE.

These queue objects are stored in predetermined queues depending on the state of the job. In other words, a queue object of a corresponding job is stored in a queue. Practical documents are stored in memory (not shown) associated with queues. Throughout the following description, queue objects stored in queues are simply called documents.

The job scheduling section 15 transfers the job delivered from the request control section 14 to a queue management section 17, and queues corresponding to the job execution section 13 and queues necessary for scheduling are managed using the queue management section 17. Scheduling is carried out allowing for an assignment and processing conditions of the job execution section 13, and a print processing request is issued to the job execution section 13 by transferring a job stored in the queue management section 17 to the job execution section 13. A queue object of the job transferred from the request control section 14 is stored in a printer queue 22 if the job is a non-acceptance completion type sequential processing job; is stored in a spool queue 18 if the job is an acceptance completion type sequential processing job; and is stored in a hold queue 19 if the job is an unscheduled job. If another document follows that job request, information is set in the document information section of that document upon reference to job information of another job having the same job identifier, and that document is added to a queue object with the same job identifier using the queue management section 17.

Of the jobs stored in queues other than the hold queue 19 and a terminate queue 23, jobs including documents which need conversion are converted at the time when the job execution section 13 which carries out corresponding conversion becomes enabled.

A collation control unit 15a refers to job information and document information of the jobs stored in the printer queue 22 of the queue management section 17. If the collation identifier (Collate Flag) is set to TRUE. (collation), a processing request issued to the job execution section 13 is controlled in such a way that the job is output in a specified number in a collated manner using the job information and the document information. If the collation identifier is set to FALSE (uncollation), the processing request issued to the job execution section 13 is controlled in such a way that the job is output in a specified number in an uncollated manner using the job information and the document information. Upon receipt of an acknowledgement representing that the job execution section 13 can accept processing from the job execution section 13, the job scheduling section 15 sequentially fetches jobs from the leading end of the printer queue 22, and issues a document processing request to the job execution section 13 via the job execution section control section 16, with the use of the collation control unit 15a, in such a way that the job is output in a collated or uncollated manner as specified by a user. The job scheduling section 15 then receives a status acknowledgement of the document, to which the processing request was issued, from the job execution section 13 via the job execution section control section 16, and executes the scheduling of another job.

The job execution section control section 16 issues a request for print processing to the job execution section 13 by transferring the document processing request obtained from the job scheduling section 15 to the job execution section 13. Further, the job execution section control section 16 transfers a status acknowledgement relating to the job processing which was obtained from the job execution section 13 to the job scheduling section 15.

The queue management section 17 prepares various types of queue in compliance with an instruction from the job scheduling section 15, and stores a series of queue objects having the common job identifier as one job by associating them with each other. The spool queue 18 is a queue in which acceptance-completion type sequential processing jobs are stored, and a job is managed within this queue until all documents of that job are completely obtained. The hold queue 19 temporarily holds a document. If a job hold is specified for a job request, the job request is stored in this hold queue 19 regardless of whether the job is an acceptance-completion type sequential processing job or a nonacceptance-completion type sequential processing job. The job stored in the hold queue 19 is released from its held state according to the user's instruction. If the job is acceptance-completion type sequential processing job, the job is transferred to the spool queue 18. On the other hand, if the job is nonacceptance-completion type sequential processing job, the job is transferred to the printer queue 22. A wait queue 20 is a kind of processing wait queue. When a job waiting for a password input from the user has timed out, the job is transferred from the printer queue 22 to this queue 20. When a password is input by the user, the job returns to the printer queue 22. A pause queue 21 is a queue in which a job subjected to temporal interruption of processing is stored. If a system manager performs a predetermined operation through a server manager (not shown), the job moves to the pause queue 21 from the printer queue 22 or returns from this pause queue 21 to the printer queue 22. The printer queue 22 (1 to N) is provided corresponding to job outputs (not shown) of the job execution section 13. A job waiting for print processing is stored in this queue 22. A terminate queue 23 (1 to N) is provided corresponding to the printer queue 22. (1 to N). The job, the job processing of which was completed with respect to all documents of that job in the job execution section 13, is stored in the terminate queue 23.

The job execution section 13 is made up of more than one job processing sections or job outputs (neither being shown in the drawings). The job processing section is a converter which converts a print format of a job, and the job output section outputs a job. In other words, the job output section is a printer which prints a job on the printer. The job output section and the printer queue 22 (1 to N) are provided in a one-to-one correspondence with each other. A job is stored in the printer queue 22 corresponding to the job output section which was selected by the job scheduling section 15, and is further transferred from this printer queue to a corresponding job output section.

Upon completion of one job, the job execution section 13 issues an acknowledgement of the completion of the processing to the job scheduling section 15 via the job execution section control section 16. When the job execution section 13 becomes enabled, the job execution section 13 issues an acknowledgement of enabled processing to the job scheduling section 15 via the job execution section control section 16.

With reference to a flowchart shown in FIG. 3, the overall flow of job processing in the previously mentioned job processing system 10 will be described. An explanation will now be given of the case where a plurality of documents are accepted as one job.

Upon receipt of a job request (step S101), the request control section 14 judges whether or not a job identifier (ID) is set to the job request (step S102). If the job identifier is not set to that job request, that job is judged as the leading job. The job request control section 14 sets a job identifier common to a plurality of job requests from this leading job request to the final job request, and prepares a queue object of the job relating these job requests. Thus, a job information section is set. Simultaneously, the request control section 14 acquires attribute information included in the received job request and sets this attribute information as job information (step S103). Subsequently, queue objects of the document of that job request are prepared, and a document information section is set. Concurrently, the attribute information included in the received job request is acquired, and this attribute information is set as document information (step S104).

On the other hand, when the job identifier is set in the received job request, a series of job requests which have already been received are judged as one job, and the job information is acquired based on the job identifier (step S105). It is judged from the attribute information of that job request whether or not this document is the final document (step S106). If the document is the final document, the number of documents is written into the job information of the job identifier of this final document (step S107).

When the processing in step S104 is completed, a newly provided job identifier is sent back to the terminal 11 which sent that job request (step S108).

The job scheduling section 15 judges whether or not the received job request has the designation of job hold (step S109). When the received job request has the designation of job hold, the document of that job request is stored in the hold queue
19 (step S110). If the job scheduling section received a user's instruction, the document will be released from its stored state (step S11). Further, if the job request has no designation of job hold in step S109, the job scheduling section 15 judges whether or not the job is an acceptance-completion type sequential processing job (step S112). If the job is the acceptance-completion type sequential processing job, the document of that job request is stored in the spool queue 18 (step S113), and the document is retained until all of the other documents are completely received (step S114).

Subsequently, the job scheduling section 15 selects a printer which is suitable for processing in the job execution section 13, and stores the job in a corresponding printer queue 22 (step S115). The job scheduling section 15 issues a processing request for the document included in that job to the job execution section 13 via the job execution section 16 (step S116). When processing requests were issued with respect to all of the documents (step S117), the job is stored in a corresponding terminate queue 23 (step S118).

Procedures of the issue of a processing request in the job scheduling section 15 when a job with a job identifier XX is output in a collated or uncollated manner will be explained with reference to the flowchart shown in FIG. 4.

To begin with, the job scheduling section 15 obtains job information with respect to a job identifier XX (Job ID) at the leading end of the printer queue 22 (step S201). The collation control unit 15a judges whether or not the collation identifier (Collate Flag) is TRUE (step S202). When the collation identifier is TRUE (collation is available), the collation control unit 15a acquires document information with respect of a processing request document identifier (Current Doc Num)+1 of the job identifier XX (step S203). Assuming processing request count (Request Count)=processing request count -1, a processing request is issued to the job execution section 13 through the job execution section control section 16 (step S204). Subsequently, it is judged whether or not the final document identifier (Complete) of this document information is TRUE (step S205). If it is not TRUE, the processing returns to step S203. If it is TRUE, it will be judged whether or not the processing request count (Request Count) of the document information is zero (step S206). If the processing request count is not zero, the processing will return to step S203 by resetting the processing request document identifier to zero (step S207).

On the other hand, if the processing request count in step S206 is zero, the issue of the processing request of the job identifier XX will be terminated.

For example, if the number of copies of the job is two, the processing request count will also be set to two. Hence, if the processing request count in step S206 is not zero, the same job processing will be executed from the start. To avoid this, the processing request document identifier is reset to zero, and processing requests are again issued with respect to all of the documents. The processing is repeated until the processing request count becomes zero. It becomes possible to output a specified number of copies of the documents in order by carrying out the above processing in correspondence to the specified number of copies.

If the collation identifier in step S202 is not TRUE (collation is not available), the collation control unit 15 acquires document information with respect to a processing request document identifier (Current Doc Num)=1 of the job identifier XX (step S208). On the assumption that the processing request count (Request Count)=processing request count -1, a processing request is issued to the job execution section 13 through the job execution section control section 16 (step S209). Subsequently, it is judged whether or not the processing request count (Request Count) of the document information is zero (step S210). If the processing request count is not zero, the processing will return to step S209, and a processing request for the same document will be issued. On the other hand, if the processing request count is zero, it is judged whether or not the final document identifier (Complete) of this document information is TRUE (step S211). If the final document identifier is not TRUE, document information with respect to the processing request document identifier +1 of the job identifier XX will be obtained (step S212), and the processing will return to step S209.

If the final document identifier is TRUE in step S211, the issue of the processing request of the job identifier XX will be terminated.

For example, if the number of copies of the job is two, the processing request count will also be set to two. If the processing request count in step S210 is not zero, a processing request will be again issued to the same document. This processing will be repeated with respect to all documents, whereby a specified number of copies of a document will be separately output for each document.

Processing completion procedures in the job scheduling section 15 when a job with a job identifier XX was output in collated or uncollated manner will be described with reference to a flowchart shown in FIG. 5.

Upon receipt of an acknowledgement of the completion of the processing of a job identifier XX (Job ID) from the job execution section 13 via the job execution section control section 16 (step S301), the job scheduling section 15 acquires document information of the document which was subjected to processing completion (step S303) as well as job information of the job identifier XX (step S302). On the assumption that a processing completion count (Complete Count) is +1 (step S304), it is judged whether or not the processing completion count is equal to a job copy number count (Job Copy Count) (step S305). If these two values are not identical with each other, the processing will return to step S301. On the other hand, if these two values are equal to each other, the processing of that document will be terminated (step S306), and it is judged whether or not the final document identifier is TRUE (step S307). If the final document identifier is not TRUE, the processing will return to step S301. However, if it is TRUE, the processing of the job identifier XX will be terminated.

An explanation will then be given of a specific example where the non-acceptance completion type sequential job is output in collated or uncollated manner. Initially, an explanation will be given of the case where a one-job/two-document job is output in a collated manner with a job copy number 2.

FIG. 6 is a diagrammatic representation showing queue objects stored in a printer queue and information retained therein. Reference symbol j1 designates job information of an object job, d1 is document information of a document identifier (Doc Seq Num), and d2 is document information of a document identifier 2.

In an initial state represented by "1", a copy count (Copy Count) of the job information j1 is zero, and a processing request count (Request Count) of the document identifier (Doc Seq Num) 1 and a job copy number count (Job Copy Count) are equal to each other. This shows that a processing request for the first lap of the first document is not issued yet.

If the job execution section 13 becomes enabled, the collation control unit 15a of the job scheduling section 15 issues a processing request with respect to a document of a job with the document identifier 1 ("2"). At this time, the copy count (Copy Count) of the job information j1 is 1, and hence the job processing request count (Request Count) of the document information d1 becomes 1.

When the job execution section 13 becomes enabled, the collation unit 15a issues a processing request with respect to a document with a document identifier 2 ("3"). A processing request with respect to a document subsequent to the document with the document identifier 2 is issued when a processing request count of document information of this document is larger than the processing request count of the document with the document identifier 1. In "3", the processing request count of the document information d2 changes from 2 to 1, and therefore the processing request document identifier (Current Doc Num)=the document identifier (which is 2 in this example).

A processing request for the second lap of the document (the first document) with the document identifier 1 is issued when the processing request count of the final document (Complete Count=TRUE) is equal to the processing request count of the document (second document) with the document identifier 2. In other words, when the job execution section 13 becomes enabled after "3", the collation control unit 15a issues a processing request for the second lap of the document with the document identifier 1 ("4"). At this time, the copy count of the document identifier 1 becomes two, and the processing request count becomes zero. If the final document of the object job is not in the printer queue, a processing request will not be issued. In subsequent "5", processing for the first lap of the document with the document identifier 1 is completed, and processing for the first lap of the document with the document identifier 2 is completed in "6".

When the job execution section 13 becomes enabled after "6", the collation control unit 15a issues a processing request for the second lap of a document with a document identifier d2 ("7"). Here, the processing request count of the document identifier 2 becomes zero. In subsequent "8", processing for the second lap of the document with the document identifier 1 is completed, and processing for the second lap of the document with the document identifier 2 is completed in "9".

In the example shown in FIG. 6, the processing of the documents is completed with the timing of "5".fwdarw."6".fwdarw."8".fwdarw."9". At this time, the copies of the first and second documents are output in a collated manner in the order of
1.fwdarw.2.fwdarw.1.fwdarw.2 as shown in FIG. 7.

An explanation will be given of the case where one-job/two-document job is output in an uncollated manner with a job copy number 2.

FIG. 8 is a diagrammatic representation showing queue objects stored in a printer queue and information held therein. In FIG. 8, j1 designates job information of an object job, d1 designates document information of a document identifier (Doc Seq Num) 1, and d2 designates document information of a document identifier 2 in the same manner as in FIG. 6.

In the initial state "1", if the job execution section 13 becomes enabled, the collation control unit 15a of the job scheduling section 15 issues a processing request with respect to a document of a job with the document identifier 1 ("2"). At this time, the copy count (Copy Count) of the job information j1 is 1, and hence the job processing request count (Request Count) of the document information d1 becomes 1.

When the job execution section 13 becomes enabled, the collation unit 15a also issues a processing request with respect to a document with a document identifier 2 ("3"). As a result of this, processing requests for the first and second laps of the document (the first document) with the document information d1 are issued. In "3", the copy count of the job information j1 becomes two, and the processing request count of the document information d1 becomes zero. On the other hand, the final document identifier (Complete) is not TRUE, the collation control unit 15a issues a processing request for the first lap of the document (the second document) with the document information d2 ("4"). At this time, the copy count of the document identifier 2 becomes one, and the processing request count becomes one. In subsequent "5", processing for the first lap of the document with the document identifier 1 is completed, and processing for the second lap of the document with the same document identifier 1 is completed in "6".

When the job execution section 13 becomes enabled after "6", the collation control unit 15a issues a processing request for the second lap of a document with the document identifier d2 ("7"). Here, the processing request count of the document identifier 2 becomes zero. In subsequent "8", processing for the first lap of the document with the document identifier 2 is completed, and processing for the second lap of the document with the document identifier 2 is completed in "9".

In the example shown in FIG. 8, the processing of the documents is completed with the timing of "5".fwdarw."6".fwdarw."8".fwdarw."9". At this time, the copies of the first and second documents are output in an uncollated manner in the order of
1.fwdarw.1.fwdarw.2.fwdarw.2 as shown in FIG. 9.

In the case of the acceptance-completion type sequential processing job, the job is transferred to the printer queue after all documents of that job are completely obtained. Hence, the previously mentioned collated/uncollated output control can be directly applied to the acceptance-completion type sequential processing job.

Further, print results may be collectively output to one sorter or may be divisionally output to a bin-sorter.

As described above, according to the first embodiment of the present invention, information representing the availability of collation is added to a job request issued from a terminal equipment. If a received job has the designation of collation, the job scheduling device controls a processing request issued to the job execution section in such a way that only a specified number of this job is output in a collated manner. On the other hand, if the received job has the designation of uncollation, the job scheduling device controls the processing request issued to the job execution section in such a way that only a specified number of this job is output in an uncollated manner. By virtue of such a configuration, it is possible to output a plurality of jobs having the same contents by the issue of one job request.

According to this embodiment, output results related to a plurality of job requests are not mixed with output results related to job requests of another user, and hence it becomes possible to reduce time required to distinguish the output results of the users.

Moreover, print processing is carried out utilizing print data included in the first job request. For this reason, if a job is divisionally issued, it becomes unnecessary to send print data for each job, which in turn reduces the burden of a memory device such as a disk. Similarly, if a document which needs conversion is included in the job, it is not necessary to carry out conversion more than twice, which makes it possible to carry out efficient processing. For this reason, it is possible to effectively utilize various resources in the system.

Furthermore, the control of collation/uncollation can be applied to non-acceptance completion sequential processing jobs, and therefore the scheduling of jobs can be carried out promptly. This makes it possible to reduce the overall processing time.

Therefore, it becomes possible to improve job processing efficiency when a plurality of jobs having the same contents are output.

With reference to FIG. 1 and FIGS. 22 to 25, a job processing system according to a second embodiment of the present invention will now be described. The job processing system of this embodiment is arranged in such a way that job control, such as a processing start wait, a processing completion wait, and a password input wait, is carried out even in the case of a job other than a job at the leading end of a queue when a one-job multidocument is scheduled. Since the overall configuration of the job processing system is the same as that of the first embodiment (shown in FIG. 1), and hence the explanation thereof will be omitted here for brevity.

In the second embodiment, the terminal 11 adds an undesignated identifier to the leading document among a plurality of documents previously prepared in this terminal. A job identifier delivered to the leading document from the job scheduling device 12 is added to the second and later documents, and the information which represents the end of the plurality of documents is added to the final document. Then, the plurality of documents are sent, and a processing start wait, a processing completion wait, and a password input wait are respectively set to the leading document of the plurality of documents. Further, message information may be set in accordance with the setting of the processing start wait, the processing completion wait, and the password input wait.

During the processing start wait, it is checked whether or not the document is set to a processing start wait when the processing of the job is started. If the document is set to the processing start wait, the processing of a job will not be started. The processing of that job is started when the processing start wait is cancelled by a start instruction from the user or a timeout. The terminal 11 adds the designation of processing start wait to the job request as information relating to the processing start wait control of the job. Further, a message, for example, "Waiting for processing start" or "Replace paper with OHP film" may be added to the job request as the message information relating to wait control.

During the processing completion wait, it is checked whether or not the document is set to a processing completion wait when the processing of the job was completed. If the document is set to the processing completion wait, the job will not be output. The output of that job is started when the processing completion wait is cancelled by a start instruction from the user or a timeout. The terminal 11 adds the instruction of processing completion wait to the job request as information relating to the processing completion wait control of the job. Further, a message, for example, "Waiting for processing completion" or "Replace tray" may be added to the job request as the message information relating to wait control.

During the password input wait, it is checked whether or not the document is set to a password input wait when the processing of the job was completed. If the document is set to the password input wait, the processing of the job will not be started. The processing of that job is started only when a valid password is input. If a valid password is not input after the passage of a predetermined period of time, that job is transferred to another queue, and the processing of the following job moves up and is started. Further, when the password is input, the previous job is returned to the original queue, and the processing of that job is started subsequent to the job which is currently processed. The terminal 11 adds, the designation of password input wait and password data for use in judging whether or not the input password is valid, to the job request as information relating to the password input wait control of the job. Further, a message, for example, "Waiting for password input" or "Input password" may be added to the job request as the message information relating to wait control.

Information relating to the control wait of a job and the message information can be specified individually or in combination. For example, when a job is output in the form of an OHP film by manually feeding the film, a processing start wait and a processing completion wait are designated. Upon receipt of an acknowledgement of processing start wait, the user inserts paper during the processing of the job is interrupted. Thereafter, upon receipt of an acknowledgement of processing completion wait, the user attaches an ordinary tray to the printer while the printer is in an output wait state after the completion of the job processing.

The job scheduling device 12 is a module which schedules documents sent from the terminal 11 using queues, and sends the documents to the job execution section 13 for print processing. The job scheduling device 12 includes the request control section 14, the job scheduling section 15, the job execution section 16, and the queue management section 17.

The request control section 14 judges, upon receipt of a document including an unspecified identifier from the terminal 11, that the document is the leading document, and judges, upon receipt of a document including information which indicates the final, that the document is the final document among a plurality of documents. Further, the request control section 14 sets a job identifier which is an identifier common to the plurality of documents (from the leading document to the final document), and sends the job identifier back to the terminal 11.

FIG. 10 is a schematic representation showing queue objects which are prepared in the request control section 14. The request control section 14, upon receipt of the leading document, prepares a queue object (which stores information common to all of documents) of a job including the documents, and sets a job information section. In the job information section, information identifying the job (hereinafter referred to as job information) is prepared based on the information set to the leading document.

JobID: Job identifier for identifying a job.

Startwait: Processing start wait in which Start-wait is set when TRUE.

End wait: Processing completion wait in which End-wait is set when TRUE.

Pass word wait: Password input wait in which Password-wait is set when TRUE.

In addition to them, information such as the number of documents which form a job is also prepared in the job information section.

When the leading document or the following document are received, a queue object for each document (which retains information for each document) is prepared, and a document information section is set. In this document information section, information which specifies a document (hereinafter referred to as document information) is prepared based on information which was set with respect to a received document.

Job ID: Job identifier for identifying a job.

Doc Seq Num: Document identifier which is a number for identifying a document.

Status: Status (Processing state) in which "pending" represents processing wait, "requesting" represents processing requesting, printing represents processing, and "completed" represents processing completed.

Complete: Final document identifier which represents the final document when TRUE.

In addition to them, inherent information is formed for each document in the document information section.

With reference to a flowchart shown in FIG. 11, processing procedures in the request control section 14 when the request control section accepts a received document will now be described. An explanation will be given of the case where one job is accepted as a plurality of documents.

Upon receipt of a document (step S1101), the request control section 14 judges whether or not a job identifier is set to that document (step S1102). If the job identifier is not set to that document, the document is judged as the leading document. The job request control section 14 sets a job identifier common to a plurality of documents from this leading document to the final document, and prepares a queue object of the job as shown in FIG. 10. Thus, a job information section is set. Simultaneously, the request control section 14 prepares job information in this job information section (step S1103). Subsequently, queue objects of that document are prepared, and a document information section is set. Concurrently, a document information section is prepared in this document information section (step S1104). A newly provided job identifier is sent back to the terminal 11 which sent the document to the request control section (step S1105).

On the other hand, when the job identifier is set to the received document in step S1102, that document is judged as a document relating to a series of accepted jobs. The queue objects are examined based on a job request (step S1106). It is judged whether or not this document is the final document by examining the setting of the final document identifier (Complete) of the document information (step S1107). If the final document identifier (Complete) is not TRUE, the processing proceeds to step S1104, and queue objects of that document are prepared. On the other hand, if the final document identifier (Complete) is TRUE, that is, if the document is the final document, the number of documents is written as job information of queue objects (step S1108). Thereafter, the processing proceeds to step S1104, and queue objects of that document are prepared.

The job scheduling section 15 manages queues corresponding to the job execution section 13 and queues necessary for scheduling using the queue management section 17. Moreover, the job scheduling section 15 schedules a job made of the documents transferred from the request control section.

Further, upon receipt of an acknowledgement of enabled processing acceptance from the job execution section 13, the job scheduling section 15 sequentially retrieves queue objects of the job queued in the queue management section 17 and examines the contents of each document information. When a document processing wait is set to the queue objects, a processing request for a document which corresponds to the queue objects is issued to the job execution section 13 via the job execution section control section 16. When the processing request was issued, the fact that the document is in the course of issuing a processing request is set to the status of the document information section of the queue objects.

It is judged from the final document identifier (Complete) of the document information section whether or not the document which issued the processing request is the final document of that job. If it is TRUE, the document is considered as the final document. Subsequently, it is judged from the status of the document information section whether or not the processing request has already been issued to the job execution section 13. If the status is not in a processing wait, the processing request has already been issued.

If the final document has already issued the processing request, the processing of the next job will be executed. If the next job has a queue object which can issue a processing request, that is, a queue object in a processing wait state, a processing request for a document which corresponds to that queue object is issued to the job execution section 13. Such processing is executed with respect to all of the jobs queued in the printer queue 22 of the queue management section 17, and a document processing request is continuously issued from one job to another job.

When a document processing request is continuously issued, a processing request is issued even for the next job so long as the job execution section 13 is enabled and there is a document which can issue a processing request. For this reason, it is necessary to control a processing start wait, a processing completion wait, and a password input wait while maintaining the order of jobs. Therefore, the job scheduling section 15 performs the following control with respect to jobs queued in the printer queue of the queue management section 17, that is, a job in a processing start wait state, a job in a processing completion wait state, and a job in a password input wait state.

(1) Job in processing start wait state

It is checked whether or not this job is set to a processing start wait before it is checked whether or not a processing request is issuable with respect to the leading document of that job. If the processing start wait is set in the job information section of queue objects, that job is rendered in a processing start wait state. No processing request is issued with respect to a document of this job and documents of subsequent jobs until the job is released from the processing start wait state by the user's instruction input from the terminal 11 or a timeout.

(2) Job in processing completion wait state

It is checked whether or not the job is set to a processing completion wait before it is checked whether or not a processing request is issuable to the leading document of that job. If the processing completion wait is set in the job information section of queue objects, a job identifier of this job is set to a printer queue. In this case, the job identifier is set in such a way that each printer queue retains a job identifier of the job which is in a job completion wait state. Hereafter, a processing request is issuable only for this job. After the completion of the processing of all documents of this job, this job is rendered in a processing completion wait state. No processing request is issued with respect to documents of subsequent jobs until this current job is released from the processing completion state by a user's instruction input from the terminal 11 or a timeout.

(3) Job in password input wait state

It is checked whether or not the job is set to a password input wait before it is checked whether or not a processing request is issuable to the leading document of that job. If the password input wait is set in the job information section of queue objects, this job is rendered in a password input wait state. No processing request is issued with respect to a document of this job and documents of subsequent jobs until this current job is released from the processing completion state by a user's instruction input from the terminal 11 or a timeout.

The job execution section control section 16 issues a request for print processing to the job execution section 13 by moving the processing request from the job scheduling section 15 to the job execution section 13. Further, the job execution section control section 16 transfers a status acknowledgement relating to the job delivered from the job execution section 13 to the job scheduling section 15.

The queue management section 17 prepares various types of queue in accordance with an instruction from the job scheduling section 15, and queues a series of queue objects having a common job identifier as one job.

The spool queue 18 queues documents of a completion type job, and manages the job until all documents of that job are completely obtained. The completion type job is characterized in that print processing is not started until all documents which form a job are completely obtained. On the other hand, a noncompletion type job is characterized in that print processing is started in the order in which the processing of a received document is accepted.

The hold queue 19 temporarily holds a document. If a document has the designation of job hold, the job is queued by this hold queue 19 regardless of whether the job is of completion or noncompletion type. The document queued in the hold queue
19 is released from the queued state by the user's instruction. If the job is a completion type job, the document is moved to the spool queue 18, whereas if the job is a noncompletion type job, the document is moved to the printer queue 22.

The wait queue 20 is one type of processing wait queue. When the job which is waiting for a user's password input timed out, the job is moved from the printer queue 22 to this wait queue 20. If a password is input by the user, the job returns to the printer queue 22.

The pause queue 21 holds queues subjected to temporal interruption of processing. If the system manager performs predetermined operation through a server manager (not shown), a job will move from the printer queue, which will be described later, to this pause queue 21, and vice versa.

The printer queue 22 (22-1 to 22-N) is provided corresponding to job output sections (not shown) of the job execution section 13. Jobs waiting for print processing are queued in this queue.

Jobs whose all documents were subjected to processing completion are queued in the terminate queue 23 (23-1 to 23-N).

The job execution section 13 is made up of more than one job processing sections or job output sections (neither being shown in the drawings). The job processing section converts a print format of a job, and the job output section outputs a job, that is, prints a job. The job output section and the printer queue (22-1 to 22-N) are provided in a one-to-one correspondence with each other. A job is queued in the printer queue corresponding to a selected job output section. Further, upon completion of one job, the job execution section 13 issues an acknowledgement of the completion of the processing to the job scheduling device 12. When the job execution section 13 becomes enabled, the job executions section 13 issues an acknowledgment of enabled processing to the job scheduling device 12.

With reference to a flowchart shown in FIG. 12, processing procedures in the job scheduling device 12 of this embodiment when document processing requests are continuously issued will be described.

Upon receipt of a document delivered from the terminal 11, the request control section 14 accepts this document (step S1201). In addition to the acceptance of a document which was previously described upon reference to the flowchart shown in FIG. 3, the request control section 14 accepts an acknowledgement of enabled processing issued from the job execution section 13. N representing a printer queue number is set to one (step S1202), and the request control section 14 judges whether or not the job execution section 13 is enabled (step S1203). This judgement is made based on the presence or absence of the acknowledgement of enabled processing from the job execution section 13. If the job execution section 13 becomes enabled, and if a job identifier (a job ID) can be obtained from the job information of an Nth job in the printer queue (step S1204), M representing a document number of that job is set to one (step S1205). It is judged whether or not Mth document information of a job having the job identifier can be obtained (step S1206). If the Mth document information is obtainable, it is judged whether or not the document information is in a state of requesting processing (step S1207) If it is not in that state, it is then judged whether or not the document information is waiting for processing (step S1208). If the document information is waiting for processing, a processing request for that document is issued to the job execution section 13, and the document information is placed in a state of requesting processing (step S1209). If the document information is the state of requesting processing in step S1207, or if the document information is not in the state of waiting for processing in step S1208, it is judged whether or not the final document identifier of the document information is set to TRUE (step S1210). If the final document identifier is not set to TRUE, M=M+1 (step S1211). The processing proceeds to step S1206, and the next document will be processed. If the final document identifier is set to TRUE in step S1210, N=N+1 (step S1211). The processing proceeds to step S1203, and the next job will be processed.

In this way, jobs queued in the printer queue 22 are sequentially examined. If a document to which a processing request is issuable is included in the jobs, a processing request for that document is issued to the job execution section 13. Further, If this processing is executed for all of the jobs queued in the printer queue 22, it becomes possible to continuously issue processing requests for documents from one job to another job without interruption. Therefore, compared with the conventional case where scheduling is effected on a job-by-job basis, scheduling corresponding to the throughput of the job execution section 13 can be carried out. In this case, since it is not necessary to hold the issue of a processing request until one job is completely finished, which eliminates useless idle time and makes it possible to reduce job processing time.

In the job scheduling device 12 of the second embodiment, processing procedures for the continuous issue of document processing requests and the control of a job processing start wait will now be described using the flowchart shown in FIG. 13. Here, the explanation of overlaps between this flowchart and the flowchart shown in FIG. 12 will be omitted as needed.

To begin with, upon receipt of a document delivered from the terminal 11, the request control section 14 accepts this document (step S1301). Subsequently, it is judged whether or not the printer queue includes a job waiting for the initiation of processing (step S1302). If the printer queue does not include any job waiting for processing start, N representing a printer queue number is set to one (step S1303), and it is judged whether or not the job execution section 13 becomes enabled (step S1304). If the job execution section 13 is enabled, and if a job identifier (a job ID) can be obtained from the job information of an Nth job in the printer queue (step S1305), it is judged whether or not a processing start wait is set to the job information of that job before it is checked whether or not the leading document of the job can issue a processing request (step S1306). If the processing start wait is set to the job information of that job, the job is rendered in a processing start wait state (step S1307). No processing request is issued to a document of this job and documents of subsequent jobs until the job is released from this wait state.

If another job is still waiting for processing start after step S1307, or if there is a job waiting for processing start in step S1302, the processing returns to step S1301 when the job is released from the processing start wait state by the user's instruction input from the terminal 11 or a timeout (step S1308).

On the other hand, if the processing start wait was not set to the job information of the job in step S1306, M representing a document number of that job is set to one (step S1309), and it is judged whether or not Mth document information of a job having the previously mentioned job identifier is obtainable (step S1310). If the Mth document information is obtainable, it is judged whether or not the document information is in a state of requesting processing (step S1311). If it is not in that state, it is then judged whether or not the document information is waiting for processing (step S1312). If the document information is waiting for processing, a processing request for that document is issued to the job execution section 13, and the document information is placed in the state of requesting processing (step S1313). If the document information is the state of requesting processing in step S1311, or if the document information is not in the state of waiting for processing in step S1313, it is judged whether or not the final document identifier of the document information is set to TRUE (step 51314). If the document identifier is not set to TRUE, M=M+1 (step S1315). The processing proceeds to step S1310, and the next document will be processed. If the final document identifier is set to TRUE in step 1314, N=N+1 (step S1316), the processing proceeds to step S1304, and the next job will be processed.

In this processing, it is checked whether or not the processing start wait is set to a job, before it is checked whether or not the leading document of the job can issue a processing request. If the processing start wait is set to the job, the job is rendered in a processing start wait state. No processing request is issued to a document of that job and documents of subsequent jobs until the job is released from the processing start wait state by the user's instruction or a timeout. As a result of this, it becomes possible to control a job processing start wait in parallel with the continuous issue of document processing requests.

In the job scheduling device 12 of the second embodiment, processing procedures for the continuous issue of document processing requests and the control of a job processing completion wait will now be described using a flowchart shown in FIG. 14. Here, the explanation of overlaps between this flowchart and the flowchart shown in FIG. 12 will be omitted as needed.

To begin with, upon receipt of a document delivered from the terminal 11, the request control section 14 accepts this document (step S1401) and accepts an acknowledgement of processing completion from the job execution section 13 (step S1402).

The flow of the acceptance of the processing completion acknowledgement issued from the job execution section 13 which is executed in step S1402 will be described using a flowchart shown in FIG. 15.

Upon receipt of an acknowledgement of processing completion from the job execution section 13 (step S1402-1), the job scheduling section 15 acquires document information of a document whose processing was completed (step S1402-2), and the document is placed in a processing completed state (step S1402-3). Subsequently, it is judged whether or not the final document identifier of that document information is TRUE (step S1402-4). If the final document identifier is not TRUE, the processing returns to step S1402-1. If the final document identifier is TRUE, that is, if the document whose processing was completed is the final document, the job information of that document is obtained (step S1402-5). Then, it is judged whether or not a processing completion wait is set to the job information (step S 1402-6). If the processing completion wait is set to the job information, the job is rendered in a processing completion wait state (step S1402-7). On the other hand, the processing completion wait is not set to the job information, the processing of that job is completed (step S1402-8).

In the flowchart shown in FIG. 14, it is judged whether or not the printer queue includes a job waiting for processing completion (step S1403). If the queue does not include any job waiting for processing completion, N representing a printer queue number is set to one (step S1404), and it is judged whether or not the job execution section 13 becomes enabled (step S1405). If the job execution section 13 is enabled, and if a job identifier (a job ID) is obtainable from the job information of an Nth job in the printer queue (step S1406), it is judged whether or not a job identifier of the job waiting for processing is set to the printer queue (step S1407). If the job identifier of the job waiting for processing is set to the printer queue, or if there is a job waiting for the completion of processing in step S1403, the processing returns to step S1401 when the job is released from the processing completion wait state by the user's instruction delivered from the terminal 11 or a timeout (step S1408).

If the job identifier of the job waiting for processing is not set to the printer queue in step S1407, it is judged whether or not a processing completion wait is set to the job information of that job (step S1409). If the job completion wait is set to the job information, the job is rendered in a processing completion wait state, and the job identifier of this job waiting for the completion of processing is set to the printer queue (step S1410).

On the other hand, if the processing completion wait was not set to the job information of the job in step S1409, or if the job identifier of the job waiting for the completion of processing was set to the printer queue in step S1410, M representing a document number of that job is set to one (step S1411), and it is judged whether or not Mth document information of a job having the previously mentioned job identifier is obtainable (step S1412). If the Mth document information is not obtainable, the processing will return to step S1401. However, if the Mth document information is obtainable, it is judged whether or not the document information is in a state of requesting processing (step S1413). If it is not in that state, it is then judged whether or not the document information is waiting for processing (step S1414). If the document information is waiting for processing, a processing request for that document is issued to the job execution section 13, and the document information is placed in the state of requesting processing (step S1415).

If the document information is the state of requesting processing in step S1413, or if a document processing request was issued in step S1415, it is judged whether or not the final document identifier of the document information is set to TRUE (step S1416). If the document identifier is not set to TRUE, M=M+1 (step S1417), the processing proceeds to step S1412, and the next document will be processed. If the final document identifier is set to TRUE in step S1416, N=N+1 (step S1418). The processing proceeds to step S1405, and the n