Information processing apparatus and control method therefor

Abstract: A server machine receives a printing job, including information to be printed, and a first print parameter, and based on that information, sets a second print parameter that is suitable for the information and also alters the first print parameter. A printer prints the received information based on the printing parameters that are set or changed. Further, users who submit information that is received are identified and the printed results are stored at storage locations that differ for each user. In addition, information may be requested from an external device, and the requested information printed when it is received. Furthermore, information that is input may be transmitted to external devices to request that those devices process that information. Moreover, when an output device that is designated by a received output instruction is a locally owned apparatus, the apparatus performs the processing as instructed. When a designated output device is another device, external transmission of the output instruction is performed.

Description: BACKGROUND OF THE INVENTION Field of the Invention The present invention relates to an information processing apparatus for outputting information, and a control method therefor. In particular, the present invention pertains to an information processing apparatus that is one of a plurality of apparatuses that communicate with each other, one apparatus outputting information in response to the receipt of an instruction from another apparatus, or requesting a required process from another apparatus, and a control method therefor. Related Background Art A conventional printing apparatus can perform printing in consonance with an objective by altering the setups for various printing parameters, such as the paper size, the number of printed copies, the printing speed and the printing quality. However, among the factors involved in the setting up of printing parameters, there are certain elements, such as urgency, economy and print quality, that in some cases may be in conflict, and as the number of parameters to be set is therefore increased, it is difficult for a user to set the appropriate parameters. Even when a user knows which parameter values are appropriate, for the user it is inconvenient to set the parameters one after another. And while a complex setup operation will not be required when default values are employed, it is not possible to establish optimal parameter values for individual documents. A single printer on a network can be used in a plurality of users. In this case, a document submitted by one user is mixed with a document submitted by another user. Therefore, when, for example, two users submit a plurality of documents, the results obtained as the output must be sorted. When a document is left on an output tray, the contents of the document must be examined in order to determine who submitted the document. An information processing apparatus, called a personal computer (hereinafter referred to as a PC), handles electronic data. Therefore, physical information, such as information written on paper or a printed document that exists in real space is converted into electronic information by an input device, such as a scanner or a digital camera, so that a PC can process the information. When a person is to process electronic information stored in a PC, the electronic information must be converted into physical information by an output device, such as a printer or a display. Based on the fact that the output device is one of the peripheral devices attached to a PC, it can be controlled by the PC, not by another peripheral device. The information required for such control must be stored in the PC in an appropriate form. A user is to perform the following operation on a PC and a printer to convert electronic information stored in a PC into printed physical information, as is shown in Fig. 1. In this case, the PC must hold, in the form of a printer driver, information concerning the operating procedures for the printer. First, a user employs a printer driver held in the PC to send a printing instruction. Then, the PC sends a printing command to the printer. Upon the receipt of the printing command, the printer, unless it is busy, immediately initiates the printing of the instructed information. Following this, the user collects the printed document. The printing command includes the document data that is the printing target. The printing target must be described in a form that the printer can process. A PC can be used as a server terminal, as is shown in Fig. 2. In this case, the PC receives from a server each select data that is to be displayed on a screen in accordance with the transmission protocol, such as X Window System, and displays the data as prescribed by the instructions. Information read by a scanner can be transmitted to a printer for printing via a PC, as is shown in Fig. 3. Therefore, a scanner and a printer can together be employed as a pseudo copier. It should be noted, however, that a scanner driver and a printer driver must be installed in the PC in advance, and the joint employment of the two devices must be specified. If conversion of the image format of the scanner into a format that the printer can process is required, the PC must perform such format conversion before transmitting the data. Further, the format conversion must be performed, as needed, at the discretion of a user. A printing command for a specific printer must be directly transmitted to that printer. In addition, printing target information must also be transmitted to the printer with the printing command from the PC. If the printing target information is to be transmitted to a device other than a PC, or to a printer in some cases, first the PC must acquire the information by communicating with another device, and must then transmit the information to the printer. The received printing target document is immediately printed if printing is enabled. JP-A-08286848 discloses a computer network including a number of work stations and a server. The work stations are utilised to generate print data which is sent to the server where the data is registered in a number of queues installed in a spool file. The data is associated with a wait sequence and then output in accordance with a discrimination of the wait sequence. In accordance with aspects of the present invention there are provided information processing apparatus and an information processing method in accordance with claims 1 and 12. Other aspects and advantages those discussed above shall be apparent to those skilled in the art from the description of a preferred embodiment of the invention which follows. In the description, reference is made to accompanying drawings, which form a part thereof, and which illustrate an example of the invention. Such example, however, is not exhaustive of the various embodiments of the invention, and therefore reference is made to the claims which follow the description for determining the scope of the invention. BRIEF DESCRIPTION OF THE DRAWINGS Fig. 1 is a diagram illustrating an example wherein a PC transmits a printing instruction to a printer; Fig. 2 is a diagram for explaining an example wherein a PC is employed as a server terminal; Fig. 3 is a diagram for explaining an example wherein a scanner and a printer are controlled by a PC; Fig. 4 is a diagram showing a relationship between a print job status change and a process associated with each status; Fig. 5 which is composed of Figs. 5A and 5B are flowcharts showing printing processing; Fig. 6 is a diagram showing a relationship between a print job and its processing, and a user's operation; and Fig. 7 is a diagram showing an example display screen for a user for operating a print job. A preferred embodiment of the present invention will now be described while referring to the accompanying drawings. Fig. 4 is a diagram showing the relationship between the change to three statuses of a print job and processes corresponding to the individual statuses. An output device (printer), which serves as the information processing apparatus 411, receives a print job that includes a document for which a user instructed printing. First, an input job determination unit 391 determines whether a received print job should be immediately printed or should be held until a print execution condition is established. The result is transmitted to a hold job management unit 392 or an output wait job management unit 394. The hold job management unit 392 stores the received print job as a job in a hold job table 393. The hold job management unit 392 examines the hold job table 393 for the job for which print execution condition is established. If such a job is found, it is extracted from the hold job table 393. The job for which the print condition is established is transmitted to the output wait job management unit 394. The output wait job management unit 394 stores a received print job as an output wait job in an output wait job table 395. When printing at the output unit 396 is enabled, the output wait job is extracted from the output wait job table 395 and transmitted to the output unit 396. The output unit 396 prints the received job. When printing is successful, the print job is transmitted to an output job management unit 397 to store the print job that has been output. The output job management unit 397 stores, as an output job, the received print job that has been output in an output job table 398. As is described above, the received print job is changed into three statues and processed. The print execution condition of a job in the hold job table 383 is not only a condition where the job is held until the user instructs printing, but also a condition where printing is initiated at a designated time, or a condition where, if the main printer is other than printer A that serves as the information processing apparatus 411, the main printer is ready for printing. Figs. 5A and : 5B are flowcharts showing the printing processing for this embodiment. The processing of a print task "PRINT (A, 'abc. doc')" or "PRINT (not A, 'abc.doc')" is performed when an instruction is issued to the printer A, which is the information processing apparatus 411, to print document "abc.doc" by the printer A and by a printer other than the printer A. When the print task PRINT is activated, at step S4001 a check is performed to determine whether or not a document to be printed is included in a print job. When there is no document to be printed, program control moves to step S4002. At step S4002 a check is performed to determine whether the document is included among the documents in the print jobs that are entered in the hold job table 393, the output wait job table 395 or the output job table 398. When, at step S4003, the document is not found, program control advances to step S4004. At step S4004 the information acquisition task PULL is performed in order to acquire the document from another information processing apparatus 412. If, at step S4005, it is ascertained that the document is successfully acquired, program control advances to step S4006. If the acquisition of the document fails, program control moves to step S4016, whereat an error is displayed and another necessary process is performed. The processing is thereafter terminated. At step S4006 a check is performed to determine whether the document to be printed can be printed by the printer A, which is the information processing apparatus 411, or by a printer other than the printer A. If the conversion of the document into a printer description language is required, program control moves to step S4007. At step S4007 a check is performed to determine whether or not the printer A, which is the information processing apparatus 411, can convert the document form. If the conversion is possible, program control goes to step S4008, whereat the document to be printed is converted into a suitable form. When the conversion is impossible, program control goes to step S4009, whereat instruction INDICATE is issued to another information processing apparatus 412 to convert the document to be printed. According to the instruction INDICATE, the information processing apparatus 412 may immediately perform the conversion and return the result, or may return only an acknowledgement and perform conversion after printing is instructed later. At step S4010 a check is performed to determine whether or not the conversion result is successful. If it is successful, program control advances to step S4011. If the conversion fails, program control moves to step S4016, whereat an error is displayed and another required process is performed. The processing is thereafter terminated. At step S4011 a check is performed to determine whether or not the printer A, which is the information processing apparatus 411, should print a document. When it is determined the printer A should print the document, program control advances to step S4012, and the document is printed. When the information processing apparatus 412 should print the document, program control goes to step S4013, and the information storage task PUSH and print task PRINT for the information processing apparatus 412 are performed. At step S4014, whether or not the printing is successful is determined. When the printing is successful, program control advances to step S4015, and the print job is regarded as the output job, which is then stored in the output job table 398. The other necessary process is performed, and the processing is terminated. When the printing fails, program control moves to step S4016, whereat an error is displayed and another required process is performed. The processing is thereafter terminated. The conversion of the document at step S4008 includes a conversion of a normal text document into a document in a printer description language; a conversion of a document in a specific printer language into another printer language that the employed printer can understand; a conversion of an image format document read by a scanner or a digital camera into a document in a printer language; or a conversion of a document in the common language in WWW into a printer language. The conversion instruction INDICATE at step S4009 may be an instruction to the information processing apparatus 412 that has a specific application to convert a document in a language inherent to the corresponding application into a document in a printer language that can be printed; or an instruction to the information processing apparatus 412 that has a specific printing function to convert a document in a language inherent to a specific printer into a document in a printer language that can be printed. Fig. 6 is a diagram showing the relationship between the print job and the processing, which are explained while referring to Figs. 4 and 5, and the user's operation. When a user permits the scanner A411, which serves as the information processing apparatus 412, to read document "abc.doc" 144 and issues an instruction "Send 'abc.doc' to printer B" the printer B 412, which serves as the information processing apparatus 411 that receives the print job, does not print "abc-doc" immediately, but regards it as a job for later processing and stores it in the hold job table 393. When the user sends an instruction "Show hold documents" the document "abc-doc" is displayed on the operation panel of the printer B. Furthermore, when the user designates the document "abc.doc" and issues an erasure instruction "Delete document" the designated document is deleted from the hold job table 393. When the user designates the document "abc.doc" and issues an instruction "Print document" the document "abc.doc" is changed to a print wait job, which is then stored in the output wait job table 395. When the printing is enabled, it is printed (415). When the printing is successful, the document "abc.doc" is changed to the output job, which is then stored in the output job table 395. In addition, when the user designates the output document "abc.doc" and issues an erasure instruction "Delete printed document" the designated document is deleted from the output job table 398. Fig. 7 is a diagram showing an example display screen that is used by a user to operate a print job in the three statues as explained in Fig. 4. In accordance with the operation by a user, an instruction from the information processing apparatus 412, or the result obtained by the process performed by the information processing apparatus 411, the print jobs in the three statuses are operated arbitrarily, and are added as a new task to the task table 399. For example, a user utilizes the operation screen in Fig. 7 to delete (4209) a print job stored in the hold job table 393 (4201), to send (4208) the print jot to print using another printer, or to print it immediately. It is also possible to instruct to increase the priority (4210) of a print job stored in the output wait job table 395 (4202) so that it will be printed first, or a print job, or to print (4204) again the print job stored in the output job table 398 (4203). The present invention can be applied either for a system that is constructed by a plurality of apparatuses (e.g., a host computer, an interface device, a display) or for an apparatus including a single device. The following is also included within the scope of the present invention: in order to operate various devices to implement functions in the above embodiments, software program code for implementing the functions in the previous embodiments are supplied to a computer in an apparatus or in a system that is connected to various devices, and in consonance with the program, the computer (or a CPU or an MPU) in the system or the apparatus operates the devices to accomplish the functions in the above embodiments. In this case, the program code read from a memory medium accomplishes the functions of the above described embodiments. And the program code and means for supplying the program code to the computer, e.g., a memory medium on which such program code is recorded, constitute the present invention. A memory medium for supplying such program code can be, for example, a floppy disk, a hard disk, an optical disk, a magneto optical disk, a CD-ROM, a CD-R, a magnetic tape, a nonvolatile memory card, or a ROM. In addition, not only for a case where the functions in the previous embodiments can be performed when program code is read and executed by the computer, but also for a case where, according to an instruction in the program code, an OS (Operating System) running on the computer, or another application software program, interacts with the program code to accomplish the functions in the above embodiments, this program code can be included in the embodiments of the present invention. Furthermore, the present invention includes a case where program code, read from a memory medium, is written in a memory that is mounted on a function expansion board inserted into a computer, or in a function expansion unit connected to a computer, and in consonance with a program code instruction, a CPU mounted on the function expansion board or the function expansion unit performs one part, or all of the actual processing in order to implement the functions in the above described embodiments. When the present invention is applied for the above memory medium, program code corresponding to the previously described flowcharts is stored in the memory medium.

Claims: Information processing apparatus (411) comprising: means for receiving data to be processed; wait status association means (394,395) for associating data received by said receiving means with a wait status indicative of the eligibility of said data for immediate processing; and processing means (396) for processing data associated with a wait status by said wait status association means (394,395), characterised by said information processing apparatus (411) further comprising: hold status association means (392,393) for associating data received by said receiving means with a hold status indicative of said data requiring an execution condition to be fulfilled before said data is eligible for processing by said processing means (396); and judgement means (391) operable to determine whether data received by said receiving means should be associated with a hold status by said hold status association means (392,393) or associated with a wait status by said wait status association means (394,395). Information processing apparatus (411) in accordance with claim 1 further comprising processed status association means (397,398) for associating data received by said receiving means processed by said processing means (396) with a processed status. Information processing apparatus (411) in accordance with claim 2, wherein said processed status association means (397,398) comprises an output job management unit (397) operable to cause data associated with a wait status by said wait status association means (394,395) to become associated with a processed status when said processing unit (396) has processed said data. Information processing apparatus (411) in accordance with claim 1, 2 or 3, wherein said judgement means (391) comprises: determination means for ascertaining whether data received by said receiving means is to be processed immediately; and decision means for causing said wait status association means (394,395) or said hold status association means (392,393) to associate received data with a status based on the results determined by said determination means. Information processing apparatus (411) in accordance with any preceding claim wherein said hold status association means (392,393) comprises a hold job management unit (392) operable to determine whether execution conditions for data associated with a hold status has been fulfilled and responsive to the determination that an execution condition for data associated with a hold status has been fulfilled to cause said wait status association means (392,393) to associate said data with a wait status indicative of the eligibility of said data for immediate processing. Information processing apparatus (411) according to any preceding claim, further comprising: setup means for associating data associated with a wait status by said wait status association means (394,395) with priority data, wherein said processing means (396) is operable to process data associated with a wait status in an order dependent upon the priority data associated with said data. Information processing apparatus (411) according to any preceding claim, wherein said processing means (396) is capable of performing a deletion, a search or an output processing on data that is to be processed. Information processing apparatus (411) according to claim 7, wherein said output processing includes the display, printing or transmission of data. Information processing apparatus (411) according to any preceding claims further comprising: means for associating data to be processed with data indicative of an execution condition, a main processing device or a priority; and means for updating data indicative of an execution condition, a main processing device or a priority associated with data to be processed. Information processing apparatus (411) according to any preceding claim, wherein said information processing apparatus associates an execution condition with received data to be processed by adding data indicative of said execution condition to said data to be processed. Information processing apparatus (411) in accordance with claim 10, wherein said data indicative of an execution condition added to data to be processed comprises data indicative of an instruction by a user, an expiration period for processing or a status of another device. An information processing method performed by a processing apparatus the method comprising the steps of: receiving data to be processed; characterised by further comprising the steps of: determining whether received data is suitable for immediate processing and either associating said data with a wait status indicative of the eligibility of said data for immediate processing or with a hold status indicative of said data requiring an execution condition to be fulfilled before said data is eligible for processing; and processing data associated with a wait status. An information processing method in accordance with claim 12 further comprising the steps of associating processed data with a processed status. An information processing method in accordance with claim 12 or 13, further comprising the steps of: determining whether an execution condition for data associated with a hold status has been fulfilled and in response to the determination that an execution condition for data associated with a hold status has been fulfilled, associating said data with a wait status indicative of the eligibility of said data for immediate processing. An information processing method according to any of claims 12 to 14 further comprising the steps of: associating data associated with a wait status with priority data; and processing data associated with a wait status in an order dependent upon the priority data associated with said data. An information processing method in accordance with any of claims 12 to 15, further comprising causing data associated with a wait status to become associated with a processed status when said data has been processed data. An information processing method according to any one of claims 12 to 16, wherein said processing comprises performing a deletion, a search or an output processing on data that is to be processed. An information processing method according to claim 17, wherein said output processing includes the display, printing or transmission of data. An information processing method according to any one of claims 12 to 18 further comprising the steps of: associating data to be processed with data indicative of an execution condition, a main processing device or a priority; and updating data indicative of an execution condition, a main processing device or a priority associated with data to be processed. An information processing method according to any of claims 12 to 19 comprising: associating an execution condition with received data to be processed by adding data indicative of said execution condition to said data to be processed. An information processing method in accordance with claim 20, wherein said data indicative of an execution condition added to data to be processed comprises data indicative of an instruction by a user, an expiration period for processing or a status of another device. A computer-readable storage medium storing a program for causing a programmable computer to perform an information processing method in accordance with any of claims 12 to 21.

Inventors: FUJII KENICHI, IBARAKI SHOICHI, JEYACHANDRAN SURESH, SUDA ARUNA ROHRA, TAKAYAMA MASAYUKI, WAKAI MASANORI, FUJII, KENICHI, IBARAKI, SHOICHI, JEYACHANDRAN, SURESH, SUDA, ARUNA ROHRA, TAKAYAMA, MASAYUKI, WAKAI, MASANORI
Applicants: CANON KK, CANON KABUSHIKI KAISHA
Application year: 1997
Main classification: G06K15
IPC codes: G06F3, G06K15