# Patent

## Title
Scan and print processing in a network system having a plurality of devices

## Abstract

Digital processing of images (i.e. scanning or printing) in a network system including digital image processing devices provided with operating means and a display may be impeded or even be impossible, when a device selected for processing a job does not have the capabilities required for processing that job in accordance with the job settings. If such a situation arises, the selected device automatically checks if any of the other devices can process the job in accordance with the job settings and if so, it displays advice on at least one of such devices on its display, so that an operator is informed, where he can have his job done properly.

## Background
RELATED APPLICATIONS
This application is a continuation-in-part of application Ser. No. 09/729,352 filed on Dec. 5, 2000, which is a continuation-in-part of application Ser. No. 09/272,556 filed on Mar. 19, 1999 now U.S. Pat. No. 6,181,893, the entire contents of each of which are hereby incorporated by reference.


BACKGROUND OF THE INVENTION
1. Technical Field of the Invention
The invention relates to a method of and a device for digitally processing images in a network system including a plurality of such devices. The invention encompasses printing and scanning as embodiments for digitally processing images.
For instance, in a network system, personal workstations of users and printers and scanners are interconnected for printing digital print files that have been made in a workstation or scanning documents and transferring the digital scan data files to a workstation. Digital image reproduction apparatuses can advantageously be used as printers and scanners. Such a digital image apparatus includes a scanner unit, a print unit, a memory, and an operator control unit integrated in the apparatus, the operator control unit being provided with an input device and a display that permit a user to give operator control commands to the apparatus. Further, such a digital reproduction apparatus includes a network connection unit for coupling to a network for the purpose of communication with a digital external environment having at least a number of workstations of users, and a control unit connected to the scanner unit, printer unit, memory and network connection unit, and, via the network connection unit, to the workstations.
Digital print files include print image data describing the text to be printed and metadata specifying additional properties of the print file, such as the identity of the maker or owner of the print file and settings for finishing the prints in the print unit, for instance simplex or duplex printing, printing on coloured paper, stapling, etc.
Not every printer connected to the system may have the capabilities necessary for printing a print file in accordance with the preprogrammed settings of the print file. Also, the supply of the necessary material, such as staples or coloured paper, may be exhausted.
If a print job is sent to a printer that does not have the necessary capabilities, including sufficient supply of material, the print file may be printed in a different way, or the printer may stop and signal its incompetence by a message on the display in the operating panel. However, there may be printers in the system that would perfectly be able to print the print file according to its settings. And if the print file would be transferred to one of the latter printers, the user would still be satisfied.
A problem in that case is that it is not always easy to find out at the location of the printer (where the inability of the printer is perceived by an operator), which printers would be able to print the print file according to its settings. Primarily, this is determined by the static situation of installed capabilities of the other printers, but also the dynamic situation of supply and device status is relevant. The information as to printer capabilities of the printers, as well as their status, would be available at the operator's workstation, but then he would have to walk back to his workplace, which causes delay in processing his jobs.
In the case of scanning, the same situation arises, because a scanner may not have the capabilities to process a scan job in the way the operator wants to program it. For instance, a document to be scanned may be duplex, and the scanner only has a simplex document feeder. Or, the operator wants to scan a document with a high resolution, and the scanner does not support that resolution.
Again, one of the other scanners may be perfectly capable of processing the scan job according to the settings desired by the operator, but the problem arises as to which one of the other scanners can do the job. Finding the answer to this question is normally not possible at the location of the scanner, where that question arises.
2. Description of Related Art
U.S. Pat. No. 4,682,158 discloses a system of copiers connected to a digital network. The operating statuses of all connected copiers can be shown on a display in the operating panel of each copier. A copier x may be reserved from the operating panel of copier y, if the former is in the “stand-by” status. No information on the capabilities of the copiers is displayed.
EP-A 0 996 055 discloses a system of printers connected to a network. A “redirection” mode may be programmed for a printer, either by operating a dedicated key on the operating panel or by remote entry. In the “redirection” mode, waiting print jobs are automatically transferred to another printer when the printer on which they are waiting stops due to a print error. The particular printers to which the waiting print jobs may be transferred and the particular print errors for which the redirection is activated are programmed in advance. If the first-programmed alternative printer cannot do the job, the next one in the programmed sequence is tried. The entire redirection process is automatic, so that a user cannot interfere or choose another printer. Moreover, no information on the capabilities of the other printers is presented as a help for selection.
SUMMARY OF THE INVENTION
In relation to the above problems, the present invention provides a method and apparatus for digitally processing images in a network system including a plurality of such devices, wherein a lack of capabilities of a device can be dealt with in a simple and comfortable way.
To this end, according to the invention, a method of digitally processing images in a network system including digital image processing devices, at least a subset of said devices having an operating unit provided with operating means and a display, is provided. Such a method comprises:
storing, in each digital image processing device, information on capabilities and status of connected digital image processing devices;
receiving, at a first device, a command for starting a digital image processing job with job settings;
automatically analysing said digital image processing job as to device capabilities necessary for processing said job in accordance with the job settings of the job;
automatically checking if the first device can process the job in accordance with the job settings of the job; and
automatically advising, if said first device cannot process the job, at the first device, of at least one other device that can process the job in accordance with the job settings of the job.
Accordingly, if an operator sees that the job he wants to process cannot be processed according to his wishes, and also, which other devices may do the job properly, he may decide to process the job on one of the advised devices. Of course, he may also decide to change the job settings in order to process the job on the device of his first choice.
A device cannot process a specific digital image processing job in case it has a malfunction or it does not have the capabilities necessary for processing the job.
An example of a suitable way of advising on other possible devices is in the form of a message on the display of said first device.
In an embodiment of the invention, the digital image processing has the form of printing digital print files.
A further embodiment of the invention is directed to “interactive” printing, wherein a print file is always stored upon reception and not printed until an operator, using the operating means of the local operating unit of the printer, selects said print file and starts a print process for it. Applicants'U.S. Pat. No. 5,825,988 discloses this method of printing. According to the present invention, the advice on other printers is given in reaction to selection of a print file for printing.
In another embodiment, the digital image processing has the form of scanning a document. When the operator programs the scanner settings, which may be done by selecting a preprogrammed group of scan job settings, hereinafter called “scan profile”, the control unit of the scanner checks if the settings can be answered by the particular device. If not, it checks if any of the other scanners in the system have the capabilities required for the job, and if so, it advises the operator on the devices that can do the job.
Further scope of applicability of the present invention will become apparent from the detailed description given hereinafter. However, it should be understood that the detailed description and specific examples, while indicating preferred embodiments of the invention, are given by way of illustration only, since various changes and modifications will become apparent to those skilled in the art from this detailed description.



BRIEF DESCRIPTION OF THE DRAWINGS
The present invention will become more fully understood from the detailed description given hereinbelow and the accompanying drawings which are given by way of illustration only, and thus are not limitative of the present invention, and wherein:
FIG. 1 illustrates an apparatus according to the invention;
FIG. 2 is a diagram showing the constituent parts of an apparatus according to the invention;
FIGS. 3 and 4 illustrate an apparatus operator control panel, according to the invention, in various situations;
FIGS. 5A and 5B are flow diagrams to explain the operation of the inventive apparatus accounting and security unit;
FIG. 6 is a flow diagram of an inventive process for making a copy;
FIG. 7 is a flow diagram of an inventive reception process for print files;
FIG. 8 is a flow diagram of the initial procedure of an interactive printing process according to the invention;
FIG. 9 is a flow diagram of a printing process according to the invention;
FIG. 10 is a flow diagram of a scan process according to the invention;
FIG. 11 illustrates the operator control panel according to the invention;
FIG. 12 is a flow diagram of a scan process using a scan profile according to the invention;
FIGS. 13 and 14 are flow diagrams of a procedure for making a scan profile according to the invention;
FIG. 15 is a flow diagram of a procedure for fetching a scan profile from the apparatus according to the invention;
FIGS. 16-1 to 16-6 are flow charts describing the general process of an advanced embodiment of the invention, including a plurality of printers;
FIG. 17 is a general outline of a system corresponding to the advanced embodiment;
FIG. 18 is a diagram showing the constituent parts of an apparatus according to the advanced embodiment of the invention;
FIG. 19 is a diagram showing aspects of an unchained-printing server;
FIG. 20 is a flow diagram of a reception process for print files;
FIG. 21 is a flow diagram of a reception process for metadata of a print file;
FIG. 22 is a flow diagram of the initial procedure of an interactive printing process according to the advanced embodiment of the invention;
FIG. 22A-22D illustrate an apparatus operator control panel, according to the advanced embodiment of the invention, in various situations;
FIG. 23 is a flow diagram of a printing process;
FIGS. 24 and 25 are schematic diagrams of server/printer combinations for use in the system of the advanced embodiment of the invention; and
FIG. 26 is a flow chart showing the operation of the server/printer combination of FIG. 25.



DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS
FIG. 1 shows the apparatus according to the invention, on which the different parts are separately shown in diagram form.
The document feeder 110 is provided with an input tray 111 for the introduction of a stack of documents, a transport mechanism (not shown) for transporting the documents one by one along the scanner unit 120, and a delivery tray 112, in which the documents are placed after scanning.
The scanner unit 120 includes a flat bed scanner provided with a glass platen on which an original document can be placed, a CCD array and an imaging unit having a movable mirror and lens system for imaging the document on the CCD array. In these conditions, the CCD array generates electrical signals which are converted into digital image data in manner known per se.
The printer unit 130 includes an electro-photographic processing section known per se, in which a photoconductive medium is charged, exposed via an LED array in accordance with digital image data, and is developed with toner powder, whereafter the toner image is transferred and fixed on an image support, usually a sheet of paper.
A stock of image supports in different formats and orientations is available in the supply section 140.
The image supports with the toner image are transported to the finishing and delivery section 150, which if necessary collects them into sets and staples them and then deposits them in the delivery tray 151.
An operator control panel 160 is provided on the apparatus for operation thereof. It is provided with a display and keys and is connected to an operator control unit (not shown here).
The control electronics are shown diagrammatically by reference 170. A cable 171 connects this section of the apparatus to a local network 10 (not shown here).
FIG. 2 is a diagram showing the constituent parts of the apparatus according to the invention.
The apparatus 1 comprises a basic unit 2 which contains a scanner unit 3, a set memory 4, a printer unit 5 and a control unit 6 for these units, hereinafter termed the CopyController.
The basic unit 2 contains the units and functions required for making a simple copy. During the scanning of an original document, the scanner 3 generates digital image data and stores them in the set memory 4,whereafter the printer 5 reads out the image data from the set memory 4 and prints them on an image support, usually a sheet of paper. This process is controlled by the CopyController 6. The set memory 4 in this description also includes an image processing function, although this is not essential to the present invention and is therefore not explained further.
The apparatus 1 also includes a number of units required to print digital image data which are fed via a local network 10 from a digital environment, and for exporting digital image data generated by the scanner 3 to the digital environment via the same local network 10.
The term “digital environment” as used here denotes one or more workstations 11a, 11b, 11c, on which a program is operative for communication with the apparatus according to the invention, and which are also connected to the local network 10.
The apparatus 1 is provided with:

    a management unit 12, hereinafter referred to as the: JobManager, which manages the processing processes and also updates an administration system for all the copying, scanning and print jobs present,
    an operator control unit 13, also termed a: UserInterface (UI), provided with an operator control panel on the apparatus housing, with a display and keys for operation of the apparatus 1,
    an InputHandler 15 for receiving and transmitting digital data reaching the apparatus via the network 10 from the digital environment and an OutputHandler 16 for sending digital data via the network 10 to the digital environment,
    a storage unit 20 formed by a high-capacity hard disk, a unit 21 hereinafter referred to as a JobServer for managing the data files on the storage unit 20 and for controlling the processing processes,
    a control unit 25 hereinafter referred to as a PrintHandler, which is dedicated to providing a printing process, and a control unit 26 hereinafter referred to as a ScanHandler, which is dedicated to providing a scanning process,
    an accounting and security unit 27, which interalia manages the authorization of users and access codes,
    a conversion unit 28 for converting digital data files to different formats.


FIG. 2 shows control connections by means of thin arrows and data transport connections by means of thick arrows.
The JobManager 12 is connected to the operator control unit 13, the JobServer 21, the CopyController 6, the accounting and security unit 27 and, via the network 10 and the InputHandler 15 and OutputHandler 16, to the workstations 11a–c. The latter connection is indicated diagrammatically by direct broken-line arrows. Apart from being connected to the JobManager 12, the JobServer 21 is also connected to the storage unit 20, the InputHandler 15, the OutputHandler 16, the PrintHandler 25, the ScanHandler 26 and the conversion unit 28. The CopyController 6 is connected to the scanner unit 3, the set memory 4 and the printer unit 5, and also to the JobManager 12, the PrintHandler 25, the ScanHandler 26 and the accounting and security unit 27.
Digital data files which are sent to the apparatus 1 via the network for printing are either of a first type or a second type. Files of the first type are required to be printed directly, i.e. without further action on the part of an operator at the apparatus, while files of the second type are required only to be stored in the memory of the apparatus and not to be printed until an operator explicitly so requests at the apparatus by selecting via the operator control panel. The type of file involved is apparent from an attribute added to the file.
Processing of a data file of the first type is referred to in this description as automatic printing (AP).
Processing of a data file of the second type is referred to as interactive printing (IP). The procedure with this is as follows (see FIG. 2).
A second type data file for printing sent by a workstation via the network is received by the InputHandler 15. The latter extracts from the file a number of predetermined identification data and passes such data to JobServer 21, which in turn transmits the data to JobManager 12. In this example, the extracted identification data include the name of the owner and the name of the file itself. The file is then stored unchanged in the storage unit 20, whereafter the apparatus passes into the standby mode.
JobManager 12 manages an administration system in which the identification data of all the data files for printing stored in the storage unit 20 are entered. If a new file is supplied via the network, then the JobManager 12 adds the identification data thereof in connection with the name of the owner/sender to the administration system.
The storage unit 20 together with the administration system of the JobManager 12 form, as it were, a set of “logic storage spaces” for data files, each logic storage space being allocated to one user. Thus in actual fact storage in the user's logic storage space means that the file is stored in the storage unit 20 and entered in the administration system in connection with the name of that user. A logic storage space can be protected by a code specific to the owner/user, and in practice this means that an operator can only obtain information concerning the files stored in a specific logic storage space after he has input this code.
There can also be one or more logic storage spaces for general use which are not protected by a code, so that everyone has access to that logic storage space. All kinds of files used by numerous users, for example specific forms, can be stored in a public storage space of this kind.
The manager of the apparatus can set the JobManager 12 so that it does not accept any print jobs which are required to be printed immediately (files of the first type or AP). In that case, the JobManager automatically converts such jobs into interactive print jobs (IP) and stores the data file in storage unit 20 in the form of files of the second type.
When an operator wants to have a specific data file of the second type printed, he must give a command for this via the apparatus operator control panel 160. In response to this, the data file is brought out of the storage unit 20 and converted to printable data by the PrintHandler 25, and after intermediate storage in the set memory 4 the data are processed by the printer unit 5 to produce a print. A print file of the second type can be protected with a code by the sender. This code has the form of an attribute to the print file. If a user wants to print this file interactively, he must input the security code on the operator control panel before the file is printed.
When a data file of the second type has been printed, it remains in principle stored in the storage unit 20 until it is removed by the user himself or the manager of the apparatus. To this end, he gives a command for removal of a selected file. In response to this the JobManager 12 passes a command to the JobServer 21 to erase the intended file from the storage unit 20 and it removes the identification data of that file from its administration system.
The operator control panel 160 belonging to the operator control unit 13 is shown in FIG. 3 and includes a display screen 60, such as an LCD display, and a number of keys, namely a start key 61, number keys 62, correction key 63, storage key 67 and selection keys 64A E, 65A–D and the key cluster 66A–D. All these elements are connected to the operator control unit 13, which in response to operation of the keys passes signals to the JobManager 12 and which also controls the display screen 60 to display options and messages to the operator.
When the apparatus has been switched on, the display screen 60 displays an image formed by a number of vertical columns, each situated above one of the selection keys 64A E. Each column relates to a specific basic function of the apparatus and shows the different possible settings for that basic function. For example, the furthest left column is allocated to the choice between a copying function, in which a document is scanned by the scanner and then reproduced, a printer function for interactive printing, in which a print is made using a data file of the above-mentioned second type sent using the network for printing, a scanner function, in which a document is scanned while generating a scan file that can then be fetched by a workstation, and a deferred copying function (“scan now-print later”), in which a document is scanned while generating a print file of the second type which is stored in the storage unit of the apparatus and can be printed with the printer function. The setting selected at any time, the copying function in this case, is indicated by a marker, such as a dark dot, or by highlighting.
By actuating a selection key an operator can choose a different setting, e.g. in accordance with a cyclic pattern. As a result of a change of a setting the function of one or more of the other selection keys may change, because the old function is no longer relevant and other selection options are required. Different text relating to the new function then appears in the associated column of the display screen 60.
The selection keys 65A–D offer the possibility of bringing up a different set of functions which cannot be displayed by the restricted dimensions of the display screen 60. These are generally functions which are not required for a simple copying or print job, but which offer the operator more options to obtain special printing results. In this example, these functions comprise shifting the margin on the print, adding covers, and originals per copy. The meaning of the keys 65A–D is indicated in an associated field in the display screen 60 directly beneath each key. When one of the keys is actuated the corresponding set of functions is activated and the layout of the display screen 60 is adapted to the associated functions. At the same time, this selection is displayed by framing or otherwise making conspicuous that field on the display screen 60 which belongs to the actuated key of the group 65A–D.
The operator control panel 19 also contains a number display 70 to indicate the number of prints set, as is generally customary on copying machines.
If the printer function has been selected by key 64A in the “basic settings” group, the columns above the keys 64B (simplex or duplex, both in respect of the original document and the copy sheet), 64C (stapling) and 64D (the choice of format of the print paper) relate to the finishing of the copying job and the column above key 64E relates to light/dark control for the copy.
FIG. 4 shows the layout of the display screen 60 after the printer function for interactive printing of data files of the second type has been selected by key 64A in the group “basic settings”. In this case the keys 64D and 64E now have the function of specifying the data file for printing by selection of users and file name. Different files of the second type, from different users, may in fact be stored in the memory. All these files are entered in the administration system of the JobManager 12, as described above, and can be displayed on the display screen 60 for selection.
After actuation of key 64D, an operator can select a user name from the list of users who have sent one or more files, and after actuation of key 64E a file name can be selected from the list of files sent by the selected user.
In response to the actuation of key 64D the column on the display screen above this key is provided with a frame 90 and a star symbol 91 to show that a user name can be selected and the star keys 66A–D are active for that selection. As a preselection, the name of the user who last sent a file to the machine is automatically selected as the name.
The pair of keys 66A/B is used to proceed alphabetically through all the user names in the list, forwards with key 66A and backwards with key 66B. If there are more names than can be displayed simultaneously in the frame 90, then as many names as fit within the frame are displayed and the whole list is automatically scrolled through. A bar having text therein in reverse video indicates what name has been selected.
In response to actuation of key 64E, the column of the display screen above that key is provided with a frame and a star symbol in exactly the same way as the procedure on actuation of key 64D as described above, in order to indicate that a file name can be selected and that the star keys 66A–D are active for that selection. The selection with the star keys is exactly the same as to that involved in the selection of a user name. The last file sent is selected, for example, as a preselection.
After selection of a file, the printing process is started by actuating the start key 61.
The operation of the accounting and security unit 27 will now be explained by reference to FIG. 5A and FIG. 5B. This unit both controls access to the copying, scanning and printing, and the accounting for copies, scans and prints made. It has available a database in which an entry can be made for each user by the apparatus manager. For a user, a user code (hereinafter referred to as the “PIN” code) is stored at his user name and a total to which is added the copies and prints made. Each user name also has an authorization code stored to determine the authorization of the relevant user to make use of the apparatus. This can be set up by the apparatus manager, so that access can, for example, be occasionally denied. The authorization can also be automatically denied to a specific user if, for example, a predetermined credit has been used up.
FIG. 5A describes the case in which a user makes a copy or print at the apparatus. In that case he must first input his user code with the number keys on the operator control panel (5-1). If the code is correct (5-2), the accounting and security unit 27 checks the authorization (5-3). And if this is also in order then the relevant user may make his copies, scans or prints (5-4) and these are added to the user's total usage. If either the user code is incorrect or the user is not authorized, then the unit 27 refuses to release the apparatus for use and reports this on the display on the operator control panel (5-5).
FIG. 5B describes the case in which a user sends a digital data file from his workstation to the apparatus for immediate printing. The task of the accounting and security unit 27 then includes, first, checking whether the user name, which always forms part of the data file, occurs in the database (5-11).
If the database does not contain the user's name for a received print file, then the accounting and security unit 27 makes a new entry in the database (5-15) for this user's name, with an automatic authorization. The mode in which the accounting and security unit 27 does this is hereinafter referred to as the “dynamic mode”. It may be that the accounting and security unit 27 has been brought into a different mode, hereinafter referred to as the “static mode”, by the apparatus manager, in which case the user's name is not added to the database and the print job is automatically not carried out (5-16). This first treatment is indicated in FIG. 5B in a block I having a broken-line frame.
If the check in block I has a positive result, then the authorization is checked (5-12) and if it is also in order then the print file is processed further (5-13), the prints being added to the user's total usage.
The access system of the accounting and security unit 27 can also be switched off so that anyone can without difficulty copy, scan and, from a workstation, print. In relation to a print job from the operating control panel on the apparatus, the access system remains partially active, namely for protecting individual print files, as will be described hereinafter.
Copying
FIG. 6 shows the procedure for making a copy. It is assumed in this case that the access system of the accounting and security unit 27 is switched on.
At the start of the process (6-10), the apparatus is in the “copying” mode or the operator selects that mode with key 64A on the operator control panel 160. The operator control unit 13 now waits for a user code and when the operator inputs this passes it through to the JobManager 12 (6-20). By using the accounting and security unit 27 the JobManager 12 checks the authorization of the relevant user (6-30). If this is not in order, then the JobManager refuses to make a copy and reports this on the display on the operator control panel 160 (6-40).
If the authorization is in order, then the operator can start copying, by making settings for the process on the operator control panel, placing documents in the input tray 111 of the document feeder 110 and actuating the start key 61 (6-50). The settings and the start command are then transmitted by the operator control unit 13 to the JobManager 12.
If the access system of the accounting and security unit 27 was switched off, then step 6-50 immediately follows step 6-10.
The JobManager 12 then gives a command to the CopyController 6 to activate the various parts of the apparatus (6-60). On the command of the CopyController 6 the scanner unit 3, including the document feeder 110, is now started to scan documents one by one and pass the digital data thus generated to the set memory 4, and the printer unit 5 is started to read the digital data out of the set memory 4 and print them on sheets of paper (6-70 and 6-80).
When all the documents have been scanned and printed, the CopyController 6 reports the job finished to the JobManager 12 (6-90) and the copying action is completed.
Reception of a Print File
FIG. 7 is a description of the procedure on the arrival, via the network, of a data file of the first or second type for printing.
The relevant data file is received by InputHandler 15 (7-10). This extracts identification data (including the name of the user and of the file) and print specifications (e.g. printing and finishing parameters), determines whether it is a print file of the first (AP) or of the second (IP) type, reports the job to the JobServer 21 and stores the entire file, i.e. the print specifications and the image data for printing, in the storage unit 20 (7-20). The JobServer 21 in turn reports the job, with the relevant data, to the JobManager 12.
If the print file is of the second type, the JobManager enters the job as such in its job administration system (7-60), whereafter no further activities take place in respect of this job.
If the print file is of the first type, the further handling (7-25) thereof depends on whether the JobManager 12 is in the mode in which it accepts automatic print jobs (AP). If not, the JobManager enters the print job in its job administration system as being an interactive print job IP and does not pass to direct printing (7-65). A print-out can be made, however, giving the reasons why the job has not been carried out (7-70).
If the JobManager 12 is in the mode in which it does accept automatic print jobs, it calls in the accounting and security unit 27 to determine whether the job can be processed (7-30). The accounting and security unit 27 proceeds as described in connection with block I in FIG. 5B. If this check (7-40) shows that the file may not be printed, then the JobManager enters the print job (7-50) in its job administration system as being an interactive print job (IP) and does not pass to direct printing. A message can be printed out on a sheet of paper, however, giving the reasons why the job has not been carried out (7-55).
If the check by the accounting and security unit 27 proves positive, the JobManager includes the job in the print queue (7-35) for automatic print jobs (AP-queue), where it has to wait its turn for processing.
Interactive Printing
FIG. 8 shows the course of events when a user gives an interactive print order with the aid of the operator control means on the apparatus operator control panel.
The user will start by selecting the print function (8-5) with key 64A (FIG. 3/4). The operator control unit 13 then passes a request to theJobManager 12 to pass a list of all the users who have sent a print job of the second type that has not yet been processed. In response to that request, the JobManager makes up a current list and passes it to the operator control unit 13 (8-10).
The operator control unit displays this list on the display, in the column above key 64D (FIG. 4), whereafter the user can select his name. After the user has done this, he actuates key 64E to obtain an overview of his own print jobs. In response to this, the operator control unit 13 gives the selected user's name and a request for a list of print jobs of that user to the JobManager (8-15).
The JobManager now asks (8-20) the accounting and security unit 27 whether the relevant user's name occurs in its database. The unit 27 then proceeds as described in connection with block I in FIG. 5B. If the name really does occur in the database, the JobManager asks the accounting and security unit 27 whether there is a user's code for this user's name (8-25), and, if so, it conducts a dialogue with the user through the agency of the operator control unit 13 in order to check the user's code (8-30). If the result is positive, the JobManager makes up a current list of interactive print jobs (8-35) of the relevant user and passes it through to the operator control unit 13, which submits this list to the user for selection on display 60.
The user now selects a print file (8-40) the name of which is transmitted by the operator control unit 13 to the JobManager 12, which in turn asks (8-45) the JobServer 21 whether a security code was sent with the selected file. If so, then through the agency of the operator control unit theJobManager again carries out a dialogue (8-50) with the user to check the code. If the result is positive, the JobManager releases the file for printing, and the user can set finishing parameters on the operator control panel (8-55), whereafter the user can start the printing process (8-60) by actuating the start key 61.
If a user has sent a number of print files each provided with a security code and then wants them all printed interactively, then after a first print file the JobManager in the case of a subsequent print file tries out whether the security code of the preceding protected file is also valid for the current file and will start a new check dialogue with the user only when the current file has a different security code. In this way a user can work faster if he gives a series of print files the same security code. For printing he then only needs to input the code the first time. The use of a single security code is also convenient because the user does not then have to remember a number of different codes.
This procedure is explained by the following example. Let us assume that a user has sent the following series of print files to the apparatus for interactive printing:

    File 1, security code 123
    File 2, security code 123
    File 3, no security code
    File 4, security code 123
    File 5, security code 456
    File 6, security code 456
    File 7, security code 123


If the user now selects the files consecutively for printing at the apparatus, he must input the code 123 at file 1, whereafter the JobManager releases the document for printing. File 2 is automatically released because the code of file 1 is also valid for this. File 3 has no security code and is therefore printed without checking. File 4 has the same security code as the preceding protected file, and is therefore automatically released also. File 5 has a different security code, and here the user must again input a code, whereafter file 6 is automatically released. Finally, another code has to be input for file 7, because although this security code was used previously, it is not the code of the preceding protected file.
Printing Process
FIG. 9 shows the progress of the printing process started either by the JobManager 12 when a print job of the first type (AP) reaches the head of the AP queue (9-5), or by the user as an interactive print job (IP) (9-10). It should be noted here that the JobManager is so programmed as to be able to start an automatic print job only if no activity has been observed on the operator control panel for a predetermined time, e.g. 30 seconds. This prevents a user occupied in a job at the operator control panel from being disturbed by the sudden start of an automatic print job.
If the access system of the accounting and security unit 27 is switched on, the JobManager now first checks the authorization (9-15) of the relevant user (the owner of the print job). If the authorization is not in order, the process is interrupted (9-20). If the print job is an automatic print job, the JobManager records the print file as being of the second type (9-25) and does not print it (9-30). It is possible to make a print giving the reasons why the job has not been carried out. In the case of an interactive print job, the JobManager refuses the order and displays (9-35) a report thereof on the display at the operator control unit 13.
If the user is authorized, the JobManager reports the print job to the CopyController 6 and gives a start command (9-40) for this order to the JobServer, which in turn starts up (9-45) the PrintHandler 25, so that the latter reads the relevant print file from the storage unit 20, rasterizes it, and stores it (9-50) in the set memory 4. On a report from the PrintHandler to the CopyController 6 to the effect that sufficient image data are stored in the set memory, the CopyController starts (9-55) the printer unit 5 to make a print.
In this connection (9-55) the CopyController first checks whether the print specifications belonging to the print job have been satisfied, for example if there is a stock of the required type of image supports (format, orientation, color). If these specifications have not been met, then the job is stopped. The CopyController reports (9-60) this to the PrintHandler, which passes the report through to the JobServer, the latter in turn passes (9-65) it to the JobManager, and the latter reports (9-70), in the case of an interactive print job, the impossibility for printing to be carried out, to the user by a message on the display of the operator control unit 13 or, in the case of an automatic print job, alters (9-75) the description of the job in its administration system to an interactive print job, so that a user can consequently still start the job from the operator control panel at a later moment. Once again a print can be made (9-80) showing the reasons why the job has not been carried out.
If the print job can be processed, the printer unit 5 reads the image data out of the set memory 4, prints them (9-85), and reports (9-90) this to the CopyController 6. When the complete print job has been carried out, the CopyController reports (-92) this to the PrintHandler 25, which passes this to the JobServer 21, and the latter in turn to the JobManager 12, which then removes (9-94) the job from its administration system, thus completing (9-96) the printing process.
Scanning
FIG. 10 shows the procedure when a user wishes to have a document scanned by the apparatus in order that the digital data generated in these conditions, hereinafter referred to as the scan file, may be further used for processing or storage at his workstation. The scan file in this case is not transmitted to a predetermined address over the network immediately after generation as is usually the case, but is stored in the storage unit 20 of the apparatus, whereafter it must be called up from a workstation. The procedure with this is as follows.
Using the key 64A on the operator control panel of the operator control unit 13 the user selects (10-5) the “scanner” option. In response to this the operator control unit asks (10-5) the JobManager 12 for a list of all the names of users known to the JobManager, i.e.: all the user names in the database of the accounting and security unit 27. As already stated previously, these user names can be entered in the database by the apparatus manager or be automatically added by the accounting and security unit 27 on receipt of a print order from a workstation. Also, when a program intended for communication with the apparatus is started at a workstation this program can automatically be reported to the apparatus JobManager which then ensures that an entry for the user of the workstation is made in the database.
In an alternative embodiment, the user names in the database are provided with an attribute which indicates whether they are authorized to make use of the scan function. In that case the list contains only the names of the authorized users.
The JobManager passes (10-10) the list of the user names through to the operator control unit 13, which displays (10-15) this on the display 60 for selection by the operator. This is shown in FIG. 11, which illustrates the display 60 after selection of the scanner function.
After the user has selected his name, the operator control unit passes this through to the JobManager 12, which by means of the accounting and security unit 27 then checks (10-20) whether a user code is necessary to obtain access to the scanner function. If that is the case, then by means of the operator control unit 13 it conducts a dialogue (10-25) with the user in order to check his code. In the case of a positive result (10-30), the JobManager releases the scanner function and automatically generates a name for the data file to be made during scanning, and this is passed to the operator control unit 13, which in turn displays (10-35) this file name on the display 60, so that the user subsequently knows the name by which he can find the scan file. This automatically generated name can, for example, have the form:
YYYYMMDDhhmmssxxx, which successively shows the year, month, date, hour, minute and second of the scan action, and the serial number of the document in the scanned set.
In addition, the operator control unit now displays in a form similar to the form for selection (10-40) of settings for a copying or printing process (cf. FIGS. 3 and 4), a possible choice for parameters of the scan process, such as the resolution, the format (e.g. TIFF, BMP, etc.), the magnification factor, and whether the original document is to be scanned on one side or both sides. The user can select his settings from this or he can leave the preselected values as they are. The user then places his original documents in the input tray 111 of the document feeder 110 and actuates the start key 61. In response to this the operator control unit 13 transmits a start command with all the data to the JobManager 12.
The JobManager now reports (10-45) the job to the CopyController 6 and sends a start command to the JobServer 21, which in turns starts (10-50) the ScanHandler 26. The latter transmits (10-55) a start command to the CopyController 6, which controls the scanner unit 3 in order to transport the original documents one by one to the scanner, scan them, and generate scan files. In these conditions the scanner unit counts the number of original pages scanned. The scan files are stored in the set memory 4 and then transmitted (10-60) to the ScanHandler, which stores (10-65) them in the storage unit 20. In addition, the image processing function of the set memory also makes a file with a reduced image of the scanned image, known as a “thumbnail”, and this is also stored in the storage unit 20. Thumbnails of this kind are used later for identification in the selection of a scan file.
When all the documents have been scanned, the ScanHandler 26 reports the job as finished to the JobServer, which in turn transmits (10-70) this to the JobManager. The latter passes the finished report (10-75) to the operator control unit 13, which displays it on the display 60 of the operator control panel, together with the number of pages scanned, so that the user can check whether any documents have been skipped. That concludes the scan job.
Scanning with Scan Profile
In a specific embodiment of the apparatus according to the invention, a user can also keep for other scan jobs, settings of scan parameters hereinafter referred to jointly as the scan profile. These parameters are then stored in the storage unit 20 under the user's name in the administration system of the JobManager 12. A scan profile can be brought up later, so that scan jobs can be programmed more quickly. This is described in FIG. 12. The scan profile can also contain an individual name for the scan file made, this name being respected by the JobManager 12 and being used instead of the automatically generated file name, or be combined therewith. This facilitates identification of the file by a user.
FIG. 12 shows the procedure in carrying out a scan job using a scan profile. This differs only in a limited number of points from the procedure described above with reference to FIG. 10. After the JobManager 12 by means of the accounting and security unit 27 has established the fact that a user is authorized (12-5→12-25) to make use of the scanner function and has generated a file name for the job that has just started, it also checks in its administration system whether scan profiles are stored under the name of this user. If so, it makes a list thereof and passes (12-30) it, together with the generated file name, to the operator control unit 13, which displays (12-35) both on the display. Apart from a default profile, one or more profiles for general use can also be added to this list, stored in a public set in the storage unit 20. The reproduction of scan profiles has the same form as that of files for printing in FIG. 4. The default settings have been selected as a preference. The user can now select (12-40, 12-45) a profile from the displayed list. The selection should be confirmed by actuating the key beneath the selection column, whereafter the operator control unit 13 displays the settings of the selected profile on the display. Starting from the settings which are then applicable the user can then change (12-50) one or more thereof. If he then actuates the start key 61 (or if he actuates (12-55) the start key without selecting a different profile from the preselected default profile), the operator control unit 13 transmits (12-60) a start command with the applicable settings to the JobManager 12, and the remainder of the procedure is as described with reference to FIG. 10.
Making and Storing the Scan Profile
FIG. 13 shows the procedure for making and storing a scan profile from the apparatus operator control panel. The storage key 67 is used for this.
In response to actuation (13-10) of the storage key 67, the operator control unit 13 asks the JobManager 12 for a list of all the user names it knows, i.e., all the user names in the database of the accounting and security unit 27.
The JobManager passes (13-20) the list of user names to the operator control unit 13, which displays (13-30) it on the display 60 for selection by the operator. The operator control unit 13 also asks the operator, by a message in the message window on the top left of the display 60, whether the operator wants to make a scan or a print profile. The operator must respond to this by selecting the required function in the left-hand column above key 64A, i.e. in this case “scanner”. On this latter selection the selection screen of the chosen function is displayed on the display and the operator can make his settings. If required, he can also use the other sets of parameters, which can be called up with the keys 65A–D.
The operator then again actuates storage key 67 and in response to this the operator control unit 13 sends the user name, function and chosen settings to the JobManager 12, which automatically generates (13-40) a name for the profile, enters (13-60) the profile under that name in its administration system in connection with the user's name and passes the received profile together with the profile name to the JobServer 21 for storage (13-70) in the storage unit 20.
The JobManager 12 then sends the generated profile name to the operator control unit 13, which displays (13-50) it on the display 60, where it subsequently disappears either by the start of a new operation or after expiry of a predetermined interval of time.
The automatically generated file name always has the extension “.pro” and if required can be replaced by a “rename” mechanism from the user's workstation by another more usable name. A standard form can be required, e.g. “sc_XXXXXX.pro”, where XXXXXX has a logical text.
FIG. 14 shows the procedure in making a scan profile or changing an existing scan profile from a workstation. This requires a program specially intended to communicate with the apparatus. This program, which will hereinafter be referred to as the “WS program” has its own user identification and authorization procedure so that the JobManager 12 does not need to repeat this check.
In the WS program a user selects (14-5) a “scan profile editor”. Within this sub-program the user can select (14-10) a “new” function, by means of which a new profile is prepared. On the screen at his workstation the user then has a window in which he can set (14-15) all the scan parameters. This can, for example, be an image identical to the image on the display 60 of the apparatus operator control unit 13, with an image of the operator control keys, which can then be operated by means of a cursor, although some other representation can be given.
If the user has made the settings and given a name for the profile, then on his command (“save”) the profile is transmitted (14-20) via the network to the InputHandler 15, which stores (14-25) it in the storage unit 20 and reports it to the JobServer 21. This passes information concerning the profile to the JobManager 12, which enters (14-30) it in its administration system.
The user can also amend an existing scan profile, both in respect of the scan parameter settings and the name. This is possible by selecting (14-35) a “recall” function in the scan profile editor. The WS program then asks (14-40) the JobManager 12 for the scan profiles stored under the name of the relevant user, and the JobManager 12 gives (14-45) an overview, which is then displayed on the workstation screen for selection. After the user has selected (14-50) a specific scan profile, the WS program asks the JobServer 21 for the contents of that profile, and the JobServer 21 brings it from the storage device 20 and sends (14-55) it via the OutputHandler 16, whereafter it is displayed on the workstation screen. The user can now make changes (14-60) and use the “save” command to save them, whereupon the WS program sends (14-65) the new contents of the profile to the apparatus, where it is again stored (14-70) in the storage device 20 and reported to the JobManager 12.
The name of a scan profile always has the extension “.pro”.
Fetching a Scan File Using Workstation
FIG. 15 shows the procedure when a user wishes to fetch a scan file stored there under his name, using his workstation.
The WS program for communication with the apparatus is also required for this operation. As already stated, this program is provided with its own user identification and authorization procedure.
In the WS program, the user now selects a presentation function for all the scan files stored under his name in the storage unit 20. The WS program then asks (15-10) for the list of these from theJobManager 12, which compiles the list from its own administration system and sends (15-15) it back. In addition, the JobManager 12 by means of the JobServer 21 and OutputHandler 16 sends to the workstation the thumbnail belonging to each scan file. This can, for example, also be the thumbnail of the first page of a multi-page document.
The WS program now displays (15-20) on the workstation screen the list of scan files with the associated thumbnails for selection by the user. The user is also offered a choice for the transport mode (encrypted or not), the required format of the file, and the name under which the file is to be imported (note that the file still has an automatically generated name which contains no information as to the contents). After making the settings, the user selects the function “upload”, whereupon the WS program sends a request to the JobManager 12 to forward the selected file. The JobManager passes (15-30) the order to the JobServer 21, which compares (15-40) the required file format with the current format in which the file is stored in the storage unit 20. If the two formats are different (15-50), the JobServer 21 gives the conversion unit 28 an order to read out the file, convert it, and store it again in the storage unit 20.
The JobServer then starts (15-60) the OutputHandler 16 to transmit (15-70) the file to the workstation. When it has completed its task, it reports (15-80) this to the JobServer 21, which erases the file from the storage unit 20 and passes it on to the JobManager 12, which in turn removes (15-90) the file from its administration system. Alternatively, the scan file can be kept until the user removes it actively.
Print Profile
The use of a profile having previously prepared settings can also be used for interactive printing of print files (described with reference to FIG. 8). In that case, in the step in which the print files are displayed for selection, the profiles, now referred to as print profiles, are also displayed. Prior to selection of a print file, the user can now first select a print profile, whereafter the operator control unit 13 adapts the settings thereto. The user then selects a print file, whereupon everything progresses as already described with reference to FIG. 8. If the user does not select a profile, then the default settings remain operative.
The making and storing of print profiles is completely similar to the making and storing of scan profiles. In this connection reference should be made to the descriptions of FIGS. 13 and 14. A print profile will have the general name “p_XXXXXX.pro”, where XXXXXX has a logical content.
Deferred Copying
A “deferred copying” function is also supported by means of the described embodiments of scanning and printing. In this function an original document or a set of documents is scanned, whereafter the digital image data thus generated are stored in the storage unit 20 under the user's name, and can then, at a later time, be brought up for printing. This progresses as follows.
The function is started by selecting the option “deferred copying” (scan now—print later) in the column above key 64A on the operator control panel. This is then followed by exactly the same procedure as described with reference to FIG. 10 or FIG. 12 for the scanning of documents, in which case the file of generated image data is now so administered by the JobManager that when the interactive print function is called up it is included in the list of files for selection for printing. The process is completed on completion of the scan job.
In order then to print the file, a user should select the option “printer” in the column above key 64A on the operator control panel, in which case as already described the scan files of “deferred copying” jobs are now also displayed for selection in the column above key 64E. The printing process is fully identical to that described with reference to FIG. 8.
In an alternative embodiment, in the case of “deferred printing”, after completion of the scanning process the scan file is not stored as an interactive print job, but is added by the JobManager 12 to the print queue for automatic print jobs (AP queue) and automatically printed when it comes to the head of the queue. This embodiment is suitable particularly for situations in which the apparatus is placed in a central reprographic department, in which jobs are processed in a continuous series.
Special Applications
A print file of the second type (IP) can be provided with an extra attribute by the WS program, so that when received in the apparatus according to the invention it is stored in the storage unit 20 under the name of a user other than the sender. In this way, a specific file can also be distributed over a group of users. The recipients, who can be warned by e-mail, then have the opportunity of having the file actually printed for their own use. If required, the recipients can also first bring up the intended print file to their workstation, in exactly the same way as described with reference to FIG. 15 in connection with scan files. After inspection of the file and the decision that it should really be printed, they then send the file, optionally as a file of the first or second type, back to the apparatus for printing there.
The possibility of receiving print files from other users can be programmed for a specific user by means of the JobManager, there being added to the entry of that user in the database of the accounting and security unit 27 a data item which either authorizes the receipt of such files or not. This data item can if required be so extended that it authorizes only the receipt of files from specific other users referred to in the data item, and hence obstructs those of other users.
Advanced Embodiment for a Plurality of Printers
In an advanced embodiment of the invention, a plurality of printers as described herein can be combined into a system and a user may freely choose one of the printers for printing his print jobs of the second kind (IP jobs). In this system, print files are submitted in the very same way as described above. The jobs can then be selected and printed on any of the printers of the system. This embodiment will hereinafter be called “unchained-printing”. It may encompass all printers that are connected to the system, but also a sub-set thereof. Indeed, the sub-set may be different for different users, for instance depending on their physical location. The said sub-set may be programmed into the workstation program for submitting jobs or it may be administered at system level.
In the following description, the terms “print file” and “print job” are used indifferently. They are meant to relate to the same entity, although stressing different aspects of it, namely the data file aspect and the administrational aspect, respectively.
Generally, the advanced embodiment includes a server function and a print data storage function, both of them processes which may be implemented in one of several ways and in different physical locations in the system, to be described below.
The general process is shown in FIG. 16-1 to 16-6.
FIG. 16-1: A print file is received by the server function. The server function stores the print data in the print data storage function and extracts identification data of the print file (which include the name of the user and the name of the file, the security code (if present), the time of arrival of the print file in the system and the print settings) which herein will be called “metadata”. Then, the server function sends the metadata to all connected printers.
FIG. 16-2: The printers all include the jobs in their administration systems and make them selectable for printing, even though they may not have the actual print data stored on their disks. When a user now selects a job at the console of one of the printers, the latter downloads the print data from the print data storage function and prints the job.
FIGS. 16-3 and 16-4: After having printed the job, the printer sends a message to that effect to the server function, which instructs all printers to mark the print job as “printed” in their administration systems and selection lists. Marking a job as “printed” may be effected by displaying a mark (a “tick sign”) next to the file name in the list.
FIGS. 16-5 and 16-6: When a print job is deleted by a user at the console of any of the printers, that printer sends a message to that effect to the server function, which deletes the print data of that job from the print data storage function and instructs all printers to delete the job metadata from their administration systems. A “time-out” function may be included within the server function to automatically erase the print data of a print job from the storage function and to instruct the printers to delete that print job from their administration systems, after a predetermined time interval since the time of arrival of the print file in the system.
Unchained-printing can be implemented in several ways. Three implementation examples are described below. Reference is made to FIG. 17 for a general outline of the system, including a plurality of workstations 11A, 11B, 11C and printers 1A, 1B, 1C, and an Unchained Printing Server UPS, all connected to the network 10. Printers 1A and 1B are dedicated printers having full functionality for unchained printing, while printer 1C is a normal network printer 96 provided with a server 90 having full or limited functionality for unchained printing.
In a first implementation, the UPS performs both the server function and the storage function. The UPS may be a PC having a high capacity hard disk. The UPS receives and stores all print files, extracts the metadata and sends the metadata to all connected printers. In operation, the dedicated printers 1A, 1B include the jobs in their administration systems and make them selectable for printing, although they have not stored the actual print data on their disks. When a user now selects a job at the console of one of the printers, the latter downloads the print data from the UPS and prints the job.
In a second implementation, of which the hardware is similar to that of the first implementation, print files are submitted to a particular printer, at the choice of the user (or as programmed in his printer driver). Upon reception of the print file, the addressed printer stores the file internally, extracts the job metadata and sends them to the UPS, which fulfills the rest of the server function. Thus, the UPS transmits the metadata to the other printers. The other printers all include the jobs in their administration systems and make them selectable for printing. When a user now selects a job at the console of one of the printers, and the print data of that job are not stored locally in that printer, the latter downloads the print data from the printer that has stored them and prints the job.
In a third implementation, the server function and the print data storage function are fully distributed. Therefore, a physical server device is not needed. Print files are submitted to one of the printers in the very same way as described above. Upon reception of the print file, the addressed printer stores the file internally, extracts the metadata and sends them to the other printers. The other printers all include the jobs in their administration systems and make them selectable for printing. When a user now selects a job at the console of one of the printers, and the print data of that job are not stored locally in that printer, the latter downloads the print data from the printer that has stored them and prints the job.
Where, in any of these implementations, data are sent to a plurality of printer devices, it would be advantageous to do so by “multicasting”. In multicasting, data are entered on the network only once. Analoguous to radio and TV the devices tuned to the right ‘Multicast’ channel fetch the data from the network. This method of distributing data results in a lower network loading.
The processes for handling a print job will now be described with reference to FIGS. 18–26. It should be noted that the variant of the invention enabling a user to make use of any of a plurality of connected printers is in principle intended for interactive print jobs. Automatic print jobs may still be submitted, but they will normally be processed by the particular printer to which they have been submitted, unless that printer's JobManager is in the mode in which it does not accept automatic print jobs. In the latter case, it converts the print file into one of the second kind (IP), and further proceeds as described below. However, a printer receiving an automatic print job also reports it to the UPS, which in turn informs the other printers. The other printers then make the job selectable for printing.
The following description is applicable to the second embodiment mentioned above (print files submitted to and stored in one of the printers, and metadata distributed via a UPS), except as indicated otherwise. The skilled person will have no difficulty in devising the modifications necessary for the other implementations.
FIG. 18 is a diagram showing the constituent parts of a dedicated printer device 1A for unchained-printing according to the advanced embodiment of the invention. Although being almost identical to the apparatus of FIG. 2, the device of FIG. 18 has an additional unchained-printing client (UPC) 29 connected between the JobManager 12 and the network 10 for communicating with the unchained-printing server (UPS). Further, it includes a fetch module 30 for fetching a print data file from the print data storage function, in this case another printer, via the network 10, under the control of the JobServer 21. The administration system for jobs, maintained by the JobManager 12, is shown as element 12a. 
FIG. 19 is a diagram showing aspects of the Unchained-Printing Server UPS. This includes the UPS module proper 31, which controls all processes, and a Virtual Printer Server 32. The UPS module 31 maintains three databases, one (33) including accounting and security information, a.o. permissions of users, one (34) including the list of the metadata of all jobs in the system and one (35) including information on the printers connected, such as processing capabilities and status. Further, the UPS includes a time server 36 for synchronizing the workstations, the printers and the UPS, e.g. by using the well-known SNTP protocol.
The Virtual Printer Server (VPS) 32 manages the communication between the printers and the UPS module 31. It exchanges messages with the printers when:

    a new print file is received (IP or AP) at any of the printers
    printing of a print file finishes (IP or AP)
    a print file is deleted by a user (IP or AP) at any of the printers
    accounting and security data (e.g. permissions) are changed
    a printer issues a request for the metadata of all jobs in the job list 34 (necessary for updating the job administration 12a of the printer)
    a printer issues a request for the device identifiers of the connected printers (necessary for fetching print data of a remotely stored print job)
    a printer issues a request for an update of its accounting & security information
    the status or processing capabilities of a printer change.

Further, the VPS 32 senses when:

    a printer goes down
    a printer comes up.


The accounting and security database 33 of the UPS and those of the printers (27) are synchronized in order to assure that they contain the same information. Any changes in permissions and credits are entered by the system administrator in the database of the UPS and are then automatically distributed by the UPS to the corresponding databases in the printers. Also, when a print file of an as yet unknown user arrives at a printer, and the JobManager 12 of that printer extracts the user name and updates its accounting and security database 27, the said JobManager also informs the UPS, which updates its database 33 accordingly and informs the other printers.
A mechanism for keeping the job lists consistent at any time is described now. When a printer goes down or gets disconnected, this is detected by the VPS and reported to the UPS, which reacts by deleting all jobs from that printer from its job list 34 and instructing the other printers to do the same. When the connection is restored, the VPS establishes a new communication with the printer, and the latter reports all its jobs as new jobs to theVPS. The VPS then reports these jobs to the UPS module 31, which inserts the jobs in its job list 34 and instructs the other printers to do the same.
When a printer does not receive a clear response from the UPS on a request, it presumes that the connection has been broken and in reaction deletes all jobs that are not locally stored from its job administration system 12a. However, it keeps sending requests for all job metadata. When a request is successful again, the printer updates its job administration system and again makes all jobs available for user selection.
Reception of a Print File
FIG. 20 is a description of the procedure followed upon the reception at one of the printers 1A, via the network, of a print file of the first or second type.
The print file is received by InputHandler 15 (20-10). This extracts identification data (including the name of the user and of the file) and print specifications (e.g. printing and finishing parameters), determines whether it is a print file of the first (AP) or of the second (IP) type, reports the job to the JobServer 21 and stores the entire file, i.e. the print specifications and the image data for printing, in the storage unit 20 (20-20). TheJobServer 21 in turn reports the job, with the relevant data, to the JobManager 12.
The JobManager passes the metadata of the print file and a code identifying the printer itself to the UPS via its UPC 29 (20-25). If the print file is of the second type (IP), the JobManager enters the job as such in its job administration system (20-40) and ends its activities in respect of this job. If the print file is a file of the first type (AP), it is handled (20-30) in much the same way as described herein with respect to FIG. 7. After it has been printed, however, the file is not deleted, but reported as printed to the UPS (20-35). The UPS then instructs all printers to mark the file as printed, which will be explained hereinafter.
The UPS receives the metadata of a newly received print file (AP or IP) via Virtual Printer Server 32 and stores them in the job list 34. Then, the UPSsends the metadata and the device identifier code to the other dedicated printers (e.g., 1B) through the VPS 32. In this way, even a print file of the first type (AP) can also be printed by any of the other connected printers. This has the advantage, that if a user walks to the addressed printer for collecting his (automatically printed) prints, and he finds a line of other users waiting for their turn while his own print job is still in the queue, he may go to another printer and print his job there. When the printing of an automatic print file is started elsewhere in this way, the starting of the print process is communicated to the UPS, which instructs the originally addressed printer, to remove the job from its automatic print queue and instead convert it into an IP job, because automatic printing of the job is no longer necessary and, in fact, undesirable.
FIG. 21 shows the procedure on the arrival, from the UPS, of a metadata file of a new job at a printer 1B, different from the printer (1A) that initially received the print file from a user workstation.
The metadata file is received by UPC 29 (21-10). This recognizes the file and reports the job to the JobManager 12 (21-20), which enters the job as such in its job administration system 12a (21-30), so that it becomes selectable for printing for an operator through the UserInterface 13. Thereafter no further activities take place in respect of this job.
Interactive Printing
FIG. 22 shows the course of events when a user gives an interactive print order with the aid of the operator control means on the apparatus control panel.
First, the print function is selected (22-5) with key 64A (FIG. 3/4). The operator control unit 13 then passes a request to theJobManager 12 to pass a list of all the active user names (names of users having at least one print job of the second type in the system). In response to that request, theJobManager makes up a current list and passes it to the operator control unit 13 (22-10). It will be understood that the list includes not only the jobs that are completely stored in the storage unit 20, but also the jobs of which the print data are stored in the storage units of other printers and of which the JobManager 12 only has the metadata plus information in which printer the print data are actually stored.
The operator control unit displays the user list on the display, in the column above key 64D (FIG. 4), whereafter the user can select his name. The display image is shown in FIG. 22A. If the list is too long to be displayed completely, a part of it is shown on the display and scrolling is possible using the star keys 66. The display focus is on the user who has last submitted a print job to the particular printer (in this example “Evertsen”). After the user has selected his name, he actuates key 64E to obtain an overview of his own print jobs. In response to this, the operator control unit 13 forwards the selected user's name and a request for a list of print jobs of that user to the JobManager (22-15).
The JobManager now checks with the accounting and security unit 27 if the user is authorized for printing (22-20), and, if so, whether there is a user's code for this user's name (22-25). In the latter case, it conducts a dialogue with the user through the agency of the operator control unit 13 in order to check the user's code (22-30). If the result is positive, theJobManager makes up a current list of interactive and automatic print jobs of the current user and passes it through to the operator control unit 13, which displays this list to the user for selection on display 60. The display image is shown in FIG. 22B. The submission time of each job is shown at the side of the file name. A“tick” sign is shown at the left of a file name in the list after the file has been printed. If the list is too long to be displayed completely, a part of it is shown on the display and scrolling is possible using the star keys 66. The display focus, including a preselection, is on the print job submitted last to the particular printer (in this example“INTERNAL REPORT”). In this embodiment, the keys 64 C–E have functions for file management. Key 64C is for selecting all print jobs of the current user, key 64D is for selecting the newly-arrived print jobs only, and key 64E is for deleting any selected jobs.
It is possible that a print job shown in the list is at that moment running at another printer. Since the start of printing of a print job is reported to the other printers via the UPS, the JobManager is aware of the job status and shows this to the user, e.g. in the message window 67 on the display. The user may interfere with the running print process, as will be explained later.
Since the connected printers may differ in functionality, it is possible that a print job cannot be processed at the printer where it has been selected, e.g. a job may have the setting “duplex printing” and the printer may only be capable of simplex printing. The JobManager 12 checks the metadata of every selected job and determines whether printing according to the job settings is possible or not.
The user may now confirm the preselected print file or select another print file (22-40). The name of the selected print file is transmitted by the operator control unit 13 to the JobManager 12. The JobManager then checks whether a security code was sent with the metadata file. If indeed a security code was sent with the selected file, then through the agency of the operator control unit the JobManager again carries out a dialogue (22-50) with the user to check the code. If the result is positive, the JobManager releases the file for printing.
If the job is running on one of the other printers, this is communicated to the user by a warning message in the message window 67 on the display 60, as shown in FIG. 22C. The user now has the opportunity to stop the printing by actuating key 64 C, in which case the print process is aborted but the print file remains to be stored and may afterwards be selected for printing on any of the printers. The user may also start the print process at his printer by actuating the start key 61, while the job continues to be printed at the other printer.
If it was found in step 22-40 that printing according to the job settings is not possible, a warning message is now shown in the message window 67 in the display image 60, saying that printing of the selected print job according to its predefined settings is not possible and why (22-52). The corresponding display image is shown in FIG. 22D.
Also, since the JobManager has information about the capabilities of the other printers, it checks if printing according to the settings is possible at one of the other printers. If this is the case, this will be shown in the warning message. If more than one other printer can do the job, the JobManager uses a list of the locations of the other printers to find the most closely located other printer therefor. Of course, other criteria for selecting an alternative printer may be used as well, such as, for instance, degree of occupation.
The user can check the job settings including the finishing parameters on the operator control panel using the keys 65 A, B and C, and may change them (22-55). In this way, the user may also adapt the settings to the capabilities of the printer in order to make the job printable after all. Finally, the user can start the printing process (22-60) by actuating the start key 61.
If the user has selected more than one print job, all selected jobs are handled and printed successively.
Print profiles, as described herein for a single-printer system, may also be supported in the multi-device system. Print profiles for each respective user are stored in one of the printers or, alternatively, in the UPS. Additionally, print profiles for general use may also be stored. When a user selects his name at the console of a printer, not only his print jobs, but also his print profiles (and possibly the profiles for general use) are displayed in the file list. The user may now select one of the profiles, whereupon the operator control unit 13 takes over the settings in the print profile, showing them in the display 60. Next, the user selects a print job, and the operator control unit 13 passes the selection of the print job and the settings to the JobManager 12, step 22-40.
Printing Process
FIG. 23 shows the progress of the printing process started by a user for an interactive print job (IP) (23-10) or started by the JobManager 12 when an automatic print job reaches the top of the AP print queue (23-15). It should be noted here that the JobManager is so programmed as to be able to start an automatic print job only if no activity has been observed on the operator control panel for a predetermined time, e.g. 30 seconds. This prevents a user occupied in a job at the operator control panel from being disturbed by the sudden start of an automatic print job.
The JobManager 12 reports the print job to the CopyController 6 and gives a start command (23-40) for this order to the JobServer. It also reports to the UPS that the job has been started, and the UPS in turn informs the other printers thereof.
The JobServer starts up (23-25) the PrintHandler 25, which reads the relevant print file from the storage unit 20, rasterizes it, and stores it (23-50) in the set memory 4.
The print data of the job may in fact be stored in another printer. In that case (23-30), the JobManager 12 informs the JobServer 21 in which printer the print data are stored. The JobServer then starts up the fetch module 30 (23-40), which fetches the print data file from the relevant printer and stores the file in the storage unit 20 (23-45). The PrintHandler then processes the print data and stores the resulting image data in the set memory 4. The PrintHandler may in fact start processing the print data when enough print data have been fetched and stored, and does not have to wait until the fetch process has been completed.
On a report from the PrintHandler to the CopyController 6 to the effect that sufficient image data are stored in the set memory, theCopyController starts (23-55) the printer unit 5 to make a print.
In this connection (23-55) the CopyController first checks whether the print specifications belonging to the print job have been satisfied, for example if there is a stock of the required type of image supports (format, orientation, color). If these specifications have not been met, then the job is stopped. The CopyController reports (23-60) this to the PrintHandler, which passes the report through to the JobServer, the latter in turn passes (23-65) it to the JobManager, and the latter reports (23-70) the impossibility for printing to be carried out, to the user by a message on the display of the operator control unit 13.
If the print job can be processed, the printer unit 5 reads the image data out of the set memory 4, prints them (23-85), and reports (23-90) this to the CopyController 6. When the complete print job has been carried out, the CopyController reports (23-92) this to the PrintHandler 25, which passes this to the JobServer 21, which in turn passes this to the JobManager 12, and the latter reports the job printed to the UPS. In reaction, the UPS marks the job as “printed” in its job list 34 and informs the printers thereof. These in turn then mark the job as printed (23-94) in their administration systems, thus completing (23-96) the printing process.
Print by Reference Implementation
The printing of a remotely stored print file may also be implemented in the following way. A print file is received at one of the printers (printer A), which extracts the metadata and sends the metadata to the UPS which in turn distributes the metadata to the other printers in the form of an IP job. This particular kind of IP job, however, does not include print data, but only a reference code. The other printers store the reference code in their storage units 20, in the same way as if it were print data. When a user now wants to print the job at another printer (printer B), the PrintHandler of printer B tries to read the print data from the storage unit, finds (and recognizes) the reference and has the actual print data fetched from the storage location specified in the reference code. The reference code may also refer to a storage location in the UPS in which the actual storage location of the data (an address in one of the other printers) is stored.
Solution for Non-Dedicated Printers
The above-described embodiment makes use of dedicated printers, i.e. printers that have been suitably programmed and are provided with the necessary operating means. However, it is possible to include other printers, e.g. normal network printers, into the system by connecting them to the network via a dedicated server device. Two implementations of such devices are described below.
FIG. 24 shows the constituent parts of a server/printer-combination as denominated 1C in FIG. 17. The server 90 includes all basic functions of the dedicated printer device 1A, 1B as described with reference to FIG. 18, with the exception of the PrintHandler 25, which is incorporated in the printer 96 (further, all parts related to scanning are not present). The interrelation and cooperation of the shown parts in the server 90 are closely similar to those of the dedicated printer device 1A, so that a further explanation of the printing processes is considered superfluous.
FIG. 25 shows a server/printer-combination for connection to an unchained-printing system, as a printer 1C′ having a limited functionality. The server 90′ of this combination includes a spool function which is accessible for the UPS and the other printers, but does not include means for printing print files stored in another printer. This configuration is particularly suitable for extending the unchained-printing advantages to normal printers connected to the same network, without interfering with the normal operation of such printers. Thus, such printers can continue to operate in a normal way, but print jobs submitted to them become available for printing with dedicated unchained-printing printers at other locations.
The server 90′ includes an InputHandler 91 connected to the network 10 for receiving print files from user workstations, a storage unit (hard disk) 93 and a SpoolServer 92 for managing the print process and the storage unit 93. Further, the SpoolServer 92 is connected to an Unchained-Printing Client (UPC) 94, which keeps contact with the UPS via the network 10. The storage unit 93 is connected to the external printer 96 for delivering print data thereto. Also, the storage unit 93 is connected to a fetch module 95 which is connected to the network 10 for uploading files from the storage unit 93 to other printers upon request. An accounting database 97 is connected to the external printer 96 for accounting of produced prints, and to the UPC 94 for exchanging accounting information with the UPS.
The operation of the server/printer combination of FIG. 25 is shown in FIG. 26.
Upon reception of a new print job (26-10), the InputHandler 91 stores the print file in the storage unit 93 (26-20) and reports the job to theSpoolServer 92.
The SpoolServer 92 extracts metadata from the print file and sends the metadata via the UPC 94 (26-40) to the UPS (26-50), which distributes the information to the other printers, that in turn make the corresponding print files selectable for local printing. The SpoolServer enters the new job in a print queue for the printer 96 (26-30/60). Each time the printer 96 finishes a print job, the SpoolServer sends a copy of the print data of the job at the top of the queue to the printer 96 (26-65), which processes the job (26-70). As long as a print file is still in the queue, another printer can request upload of the corresponding print data through the fetch module 95, but when a particular job has been printed completely (26-75), the print data are deleted and a “delete” message is sent to the UPS (26-80), which in turn orders the other printers to delete the job from their selection lists. If another printer requests the print data of a print job that is still in the queue (26-100), the SpoolServer 92 starts up the fetch module 95 (26-105), that transfers the data to the requesting printer, and then the SpoolServer removes the print job from the print queue (26-110), because obviously this job will no longer be expected to be printed at the original destination printer.
The concept of unchained printing may also be applied to scanning. In that case, a scan session is performed locally in one of the connected digital copier devices, and the scan data file is reported to a central server function, e.g. implemented in the UPS, but stored locally in the storage unit of the device, where it waits to be fetched by a workstation. It is also possible to print the scan data file at any of the connected printers via the scheme described above.
When the operator programs the scanner settings, which may be done by selecting a preprogrammed group of scan job settings, also called “scan profile”, the control unit of the scanner checks if the settings can be answered by the particular device. If not, it checks if any of the other scanners in the system has the capabilities required for the job, and if so, it advises the operator on the devices that can do the job.
For printers and scanners alike, the situation may arise that the print or scan unit is out of order, but the operator control unit 13 is still active. In that case, the present invention has the advantage, that an operator can still be advised at the location of the inactive device on devices that can handle the job instead.
The invention being thus described, it will be obvious that the same may be varied in many ways. Such variations and modifications as would be obvious to one skilled in the art are intended to be included within the scope of the following claims.

## Claims

1. A method of processing digital print files in a network system including a plurality of printers, each of said plurality of printers having a local operating unit provided with operating means and a display and a memory for storing print files, each print file comprising metadata specifying job information including process settings, and print image data, the method comprising the steps of:
receiving a print file from a remote location and storing the print file, while not automatically printing the print file;
distributing at least the metadata of each received print file to all of said plurality of printers;
each of said plurality of printers making each print file available for selection and printing, through respective local operating units of said plurality of printers, but not printing any print files without an explicit command from the printer; and
storing, in each printer, information on capabilities and status of connected printers,
wherein each of said plurality of printers performs the steps of:
automatically analysing each print file metadata as to printer capabilities necessary for printing the print file;
automatically checking if that printer can print the print file in accordance with the settings included in the metadata; and
upon receiving from the local operating unit a selection and an associated print start command for a print file:
if the printer cannot print the print file in accordance with the settings, automatically advising, through a display of the local operating unit, of at least one other printer that can print said print file in accordance with the settings, but not issuing a print command to said other printers; and
if the printer can print the print file in accordance with the settings, starting printing the file.

2. The method according to claim 1, wherein the advice is given if another printer having said capabilities needed for processing said job is available.

3. The method according to claim 1, wherein, if more than one other printer can process the job, the advice indicates the one other printer on the basis of the walking distance from the first printer.

4. The method according to claim 1, wherein, if more than one other printer can process the job, the advice indicates the one other printer on the basis of degree of occupation.

5. The method according to claim 1, wherein said advising has the form of a message on the display of said printer.

6. The method according to claim 1, wherein the network system further includes a plurality of scanners, each of said scanners having a local operating unit provided with operating means and a display, and each of the scanners being capable of generating a print file to be printed by the plurality of printers, the method further comprising the steps of:
storing, in each scanner, information on capabilities and status of connected scanners; and
locally initiating a scan job through the local operating unit of a first scanner, said scan job including scan job settings,
wherein said first scanner performs the steps of:
automatically analysing said scan job as to scanner capabilities necessary for processing the scan job in accordance with the scan job settings of the job;
automatically checking if said first scanner can process the scan job in accordance with said scan job settings, and
if the first scanner cannot process the scan job in accordance with the scan job settings, automatically advising, through a display of the local operating unit, of at least one other scanner that can process the scan job in accordance with the scan job settings of the job; and
if the first scanner can process the scan job in accordance with the scan job settings, starts processing the job.

7. A printer for printing digital print files, for use in a network system including a plurality of printers, each of said printers comprising:
a network connection unit for communicating with the system and for receiving print files having preprogrammed settings, each print file comprising metadata specifying job information and print image data;
a print unit;
an operating unit provided with operating means and a display;
a control unit including:
a maintaining mechanism for maintaining information on capabilities and status of connected printers;
an analysing mechanism for analysing a received print file as to printer capabilities necessary for printing the print file in accordance with the preprogrammed settings of the print file;
a checking mechanism for checking if the printer can print the print file in accordance with said preprogrammed settings; and
an advising mechanism for advising, in the case that the printer cannot print the print file, of at least one other printer that has the capabilities needed for printing said print file in accordance with said preprogrammed settings, but not issuing a print command to said other printers;

an extracting module for extracting at least part of the metadata of a received print file and storing the same in a local memory dedicated to the control unit; and
a storing module for storing the print image data of said received print file in a logical storage space allocated to said user,
wherein said control unit further includes:
a print file selection mechanism for presenting print files, based on the metadata extracted by the extracting module, that can be selected via the operating means; and
a print file releasing mechanism for releasing a print file for printing by the print unit only after selection of that print file and an associated print command entered via the operating means;
wherein the control unit operates said advising mechanism upon selection of a print file, if the printer cannot print the print file in accordance with its preprogrammed settings.

8. The printer according to claim 7, wherein said control unit decides if a printer can print a specific print file on the basis of whether that printer has the capabilities necessary for printing the print file.

9. The printer according to claim 7, wherein said control unit gives the advice if another printer having said capabilities needed for printing said print file is available.

10. The printer according to claim 7, wherein the information on capabilities and status of connected printers, maintained in each printer, includes the physical locations of said printers, and
wherein, if more than one other printer can print the print file, the control unit advises one other printer on the basis of the walking distance from the first printer.

11. The printer according to claim 10, further including:
a metadata exchange module for exchanging metadata of print files directly or indirectly with another printer,
wherein said control unit is operable to receive metadata from said metadata exchange module.

12. The printer according to claim 7, wherein, if more than one other printer can print the print file, the control unit advises one other printer on the basis of degree of occupation.

13. The printer according to claim 7, wherein the network system further includes a plurality of scanners for processing digital scan jobs, each of said plurality of scanners comprising:
a network connection unit, for communicating with the network system;
a scan unit;
an operating unit provided with operating means and a display for entering a scan job command with scan job settings;
a control unit including:
a maintaining mechanism for maintaining information on capabilities and status of connected scanners;
an analysing mechanism for analysing an entered scan job command as to scanner capabilities necessary for processing the scan job in accordance with the scan job settings of the scan job;
a checking mechanism for checking if the scanner can process the scan job in accordance with said scan job settings; and
an advising mechanism for advising, in the case that the scanner cannot process the scan job, of at least one other scanner that has the capabilities needed for processing said scan job in accordance with said scan job settings.

14. The scanner according to claim 13, wherein said control unit decides if a scanner can process a specific scan job on the basis of whether that scanner has the capabilities necessary for processing the scan job.

15. The scanner according to claim 13, wherein said control unit gives the advice if another scanner having said capabilities needed for processing said scan job is available.