Method of creating and managing packages, including multiple documents, in a printing system

Abstract: A method for managing a plurality of print jobs, including a step of creating, in memory, a package, the package including a first reference (286a) and a second reference (286b) with a first print job being operatively linked with the package by way of the first reference and a second print job being operatively linked with the package by way of the second reference. The method further includes programming the first print job with a first set of instructions and the second print job with a second set of instructions, the first set of instructions including a finishing instruction. In response to the creating and programming steps, a collated print set of the package is produced. The collated package print set includes a finished print set of the first print job, produced in accordance with the first set of instructions and a print set of the second print job, produced in accordance with the second set of instructions.

Description: The present invention relates generally to a technique for creating and managing documents in a printing system and, more particularly, to a method for electronically handling "packages", which permits the printing of collated sets of the documents in a given package. Electronic printing systems typically include an input section, sometimes referred to as an input image terminal ("IIT"), a controller, sometimes referred to as an electronic subsystem ("ESS") and an output section or print engine, sometimes referred to as an image output terminal ("IOT"). In one type of electronic printing system, manufactured by Xerox® Corporation, known as the DocuTech® electronic printing system, a job can be inputted to the IIT from, among other sources, a network or a scanner. One of the advantageous features of an electronic printing system resides in its ability to compile a plurality of segments, from a variety of sources, into a single document. For instance, in its press release of September 13, 1990 for a printing system referred to as "Lionheart", Kodak indicated that Lionheart provided a "value added printing application" in that final document assembly from multiple sources could be obtained with the system. Indeed, Xerox Corporation, in the textbook by Harrington, S. J. and Buckley, R. R., entitled "Interpress: The Source Book", published by Simon & Schuster, Inc., 1988, teaches a technique for compiling sequence insert files or masters into a single document. In particular, as discussed at pp. 371-378 of this textbook, a plurality of masters, written in the page description language referred to as Interpress, can be electronically bound together by a suitable program. Another technique, which exploits object oriented design to electronically assemble the components of a document is discussed in US-A-5,181,162. This patent discloses a document management and production system in which documents are represented as collections of logical components or objects, which objects may be combined and physically mapped onto a page-by-page layout. Objects may also contain further data ("attributes") specifying (a) logical or physical relationships to other objects or to the document as a whole, (b) characteristics relating to the appearance of the content, or (c) access restrictions. US-A-5,243,381 also relates to a method of compiling previously stored segments of a printing system. This patent discloses a method which facilitates "demand printing" by use of one or more control sheets. In one example, a control sheet, including machine readable code, such as bar code, can be developed to reference a location at which each segment is stored in an electronic printing machine with a scanner. To form a document of the segments, the control sheets are scanned, in a predetermined order and read by the scanner. In response to the reading, the segments are retrieved from their respective storage locations and printed in the predetermined order. The concept of electronically storing a plurality of segments in a single folder, and printing those segments from the folder, has been used in both distributed and centralized printing systems. For example, a Xerox® 6085 workstation is adapted to store a plurality of documents in a folder for printing at a suitable network printer. Additionally, a DocuTech printer, manufactured by Xerox Corporation, is capable of printing two segments from a single print file. In operation, the first segment is delivered to a first output area and the second segment is delivered to a second output area so that hand collation is required. Various observations regarding the above-discussed references are in order. First, US-A-5,181,162 does not contemplate that the attribute of an object would include an instruction regarding a finishing operation to be performed on the object. Second, the above-mentioned book-making programs, such as the chapter compiling program of the Interpress book, do not contemplate a technique in which each chapter would include finishing instructions that could be modified on a chapter-by-chapter basis. Finally, the DocuTech does not contemplate a system in which the segments are delivered to the same output area in a collated set of segments. It would be desirable to provide a technique in which a plurality of documents would be stored together, as a package, and the documents would be printed and outputted as a collated group of sets where at least one of the sets possesses its own unique set of finishing characteristics. In accordance with one aspect of the present invention as claimed in claim 1 there is provided a method for managing a plurality of print jobs, in a printing system having a memory, the plurality of print jobs being associated with a package, wherein each print job includes a set of instructions so that, upon printing the package, each print job is printed in accordance with a preprogrammed set of characteristic printing properties the method comprising: creating, in the memory, a first package, the first package including a first reference and a second reference, a first print job being operatively linked with the package by way of the first reference and a second print job being respectively linked with the first package by way of the second reference; programming the first print job with a first set of instructions and the second print job with a second set of instructions, wherein at least one of the print jobs is finished in accordance with a finishing instruction and wherein the first set of instructions includes the finishing instruction; and producing a print set of the first package, the first package print set including a finished print set of the first print job, produced in accordance with the first set of instructions and a print set of the second print job, produced in accordance with the second set of instructions. There is further disclosed a method for managing a plurality of print jobs, associated with a package, wherein each print job includes a set of instructions so that, upon printing the package, each print job is printed in accordance with a preprogrammed set of characteristic printing properties and at least one of the print jobs is finished in accordance with a finishing instruction, comprising: creating, in memory, a first package, the first package including a first reference and a second reference, a first print job being operatively linked with the first package by way of the first reference and a second print job being operatively linked with the package by way of the second reference; programming the first print job with a first set of instructions, having a first instruction, and the second print job with a second set of instructions having a second instruction; automatically substituting a third instruction for both the first instruction and the second instruction; and producing a print set of the first package, the first package print set including a print set of the first print job, produced in accordance with the first set of instructions and a print set of the second print job, produced in accordance with the second set of instructions. In accordance with another aspect of the present invention as claimed in claim 5 there is provided a method for managing a plurality of jobs, stored in a first package the plurality of jobs including a first job and a second job, with a printing system having a printing machine communicating with both a first memory section and a second memory section, the second memory section being disposed remotely of the printing machine, each job in the package being outputted in accordance with a preprogrammed set of characteristic printing properties, comprising: creating, in the first memory section, the first package, the first package including a first reference and a second reference, the first job being operatively linked with the first package by way of the first reference and the second job being operatively linked with the first package by way of the second reference; programming the first job with a first set of instructions and the second job with a second set of instructions, wherein at least one of the print jobs is finished in accordance with a finishing instruction and wherein the first set of instructions includes the finishing instruction; storing the first job in the second memory section; transmitting a copy of the first job, with a copy of the first set of instructions, from the second memory to the printing machine; and, in response to said transmitting step, producing a representation of the first package, the first package representation including a representation of the first job copy, produced in accordance with the first set of instructions, and a representation of a copy of the second job, produced in accordance with the second set of instructions. According to the present invention there are further provided two printing systems as claimed in claims 6 and 9. Further preferred embodiments of the present invention are claimed in the dependent claims. These and other aspects of the invention will become apparent from the following description, the description being used to illustrate a preferred embodiment of the invention when read in conjunction with the accompanying drawings, in which: Figure 1 is a perspective view an electronic printing system incorporating the printing materials cost estimating approach; Figure 2 is a block diagram depicting the major elements of the printing system shown in Figure 1; Figure 3 is an elevational view illustrating the principal mechanical components of the printing system shown in Figure 1; Figure 4 is a schematic view showing certain construction details of the document scanner for the printing system shown in Figure 1; Figures 5-7 comprise a schematic block diagram showing the major parts of the control section for the printing system shown in Figure 1; Figure 8 is a block diagram of the Operating System, together with Printed Wiring Boards and shared line connections for the printing system shown in Figure 1; Figure 9 is a view depicting an exemplary job programming ticket and job scorecard displayed on the User Interface (UI) touchscreen of the printing system shown in Figure 1; Figure 10 is a block diagram depicting a network printing system including the printing system of Figure 2; Figure 11 is an elevational view of a screen in which a plurality of packages, with attendant information, is shown; Figure 12 is an elevational view of a screen in which a package ticket, for one of the packages of Figure 11, is shown; Figure 13 is a view of the screen of Figure 11 in which a selection template is applied to one of the packages; Figure 14 is an elevational view of a screen in which a plurality of jobs, associated with one of the packages of Figure 11, is shown; Figure 15 is a view of the screen of Figure 14 in which a selection template is applied to one of the jobs; Figure 16 is a view of the screen of Figure 11 in which a selection template is applied to one of the packages; Figure 17 is an elevational view of a screen in which a plurality of jobs, associated with one of the packages of Figure 11, is shown; Figure 18 is a view of the screen of Figure 17 in which a selection template is applied to one of the jobs; Figure 19 is an elevational view of a screen in which the jobs, associated with the packages of Figure 11, are shown; Figure 20 is a view of the screen of Figure 19 is which a selection template is applied to one of the jobs; Figure 21 is a view of the screen of Figure 19 in which a selection template is applied to one of the jobs; Figure 22 is an elevational view of a screen in which all of the packages, associated with one of the jobs of Figure 19, is shown; Figure 23 is a schematic view of a job database; Figures 24 and 25 represent a schematic view of a package database; Figure 26 is a schematic view of a job/package correlation database; Figure 27 is schmatic view representing an exemplary arrangement including the databases of Figures 23-26; Figure 28 is a flow diagram illustrating a technique for creating a package; Figure 29 is a flow diagram illustrating a technique for copying a package; and Figures 30-33 represent a flow diagram illustrating a manner in which a package is prepared for output. Referring to Figures 1 and 2, there is shown an exemplary laser based printing system 2 for processing print jobs in accordance with the teachings of the present invention. Printing system 2 for purposes of explanation is divided into a scanner section 6, controller section 7, and printer section 8. While a specific printing system is shown and described, the present invention may be used with other types of printing systems such as ink jet, ionographic, etc. Referring particularly to Figures 2-4, scanner section 6 incorporates a transparent platen 20 on which the document 22 to be scanned is located. One or more linear arrays 24 are supported for reciprocating scanning movements below platen 20. Lens 26 and mirrors 28, 29, 30 cooperate to focus array 24 on a line like segment of platen 20 and the document being scanned thereon. Array 24 provides image signals or pixels representative of the image scanned which after suitable processing by processor 25, are output to controller section 7. Processor 25 converts the analog image signals output by array 24 to digital and processes the image signals as required to enable system 2 to store and handle the image data in the form required to carry out the job programmed. Processor 25 also provides enhancements and changes to the image signals such as filtering, thresholding, screening, cropping, reduction/enlarging, etc. Following any changes and adjustments in the job program, the document must be rescanned. Referring to Figures 2 and 3, printer section 8 comprises a laser type printer and for purposes of explanation is separated into a Raster Output Scanner (ROS) section 87, Print Module Section 95, Paper Supply section 107, and Finisher 120 Referring to Figures 1, and 5, controller section 7 is, for explanation purposes, divided into an image input controller 50, User Interface (UI) 52, system controller 54, 'main memory 56, image manipulation section 58, and image output controller 60. Referring particularly to Figures 5-7, control section 7 includes a plurality of Printed Wiring Boards (PWBs) 70, PWBs 70 being coupled with one another and with System Memory 61 by a pair of memory buses 72, 74. Memory controller 76 couples System Memory 61 with buses, 72, 74. PWBs 70 include system processor PWB 70-1 having plural system processors 78; low speed I/O processor PWB 70-2 having UI communication controller 80 for transmitting data to and from UI 52; PWBs 70-3, 70-4, 70-5 having disk drive controller/processor 82 for transmitting data to and from disks 90-1, 90-2, 90-3 respectively of main memory 56 (image compressor/processor 51 for compressing the image data is on PWB 70-3); image manipulation PWB 70-6 with image manipulation processors of image manipulation section 58; image generation processor PWBs 70-7, 70-8 with image generation processors 86 for processing the image data for printing by printer section 8; dispatch processor PWB 70-9 having dispatch processors 88, 89 for controlling transmission of data to and from printer section 8; and boot control-arbitration-scheduler PWB 70- 10. The scanned image data input from processor 25 of scanner section 6 to controller section 7 is compressed by image compressor/processor 51 of image input controller 50 on PWB 70-3. As the image data passes through compressor/processor 51, it is segmented into slices N scanlines wide, each slice having a slice pointer. The compressed image data together with slice pointers and any related image descriptors providing image specific information (such as height and width of the document in pixels, the compression method used, pointers to the compressed image data, and pointers to the image slice pointers) are placed in an image file. The image files, which represent different print jobs, are temporarily stored in system memory 61 which comprises a Random Access Memory or RAM pending transfer to main memory 56 where the data is held pending use. As best seen in Figure 1, UI 52 includes a combined operator controller/CRT display consisting of an interactive touchscreen 62, keyboard 64, and mouse 66. UI 52 interfaces the operator with printing system 2, enabling the operator to program print jobs and other instructions, to obtain system operating information, instructions, programming information, diagnostic information, etc. Items displayed on touchscreen 62 such as files and icons are actuated by either touching the displayed item on screen 62 with a finger or by using mouse 66 to point cursor 67 (Figure 9) to the item selected and keying the mouse. Main memory 56 has plural hard disks 90-1, 90-2, 90-3 for storing machine Operating System software, machine operating data, and the scanned image data currently being processed. When the compressed image data in main memory 56 requires further processing, or is required for display on touchscreen 62 of UI 52, or is required by printer section 8, the data is accessed in main memory 56. Where further processing other than that provided by processor 25 is required, the data is transferred to image manipulation section 58 on PWB 70-6 where the additional processing steps such as collation, make ready, decomposition, etc. are carried out. Following processing, the data may be returned to main memory 56, sent to UI 52 for display on touchscreen 62, or sent to image output controller 60. Image data output to image output controller 60 is decompressed and readied for printing by image generating processors 86 of PWBs 70-7, 70-8 (seen in Figure 5A). Following this, the data is output by dispatch processors 88, 89 on PWB 70-9 to printer section 8. Image data sent to printer section 8 for printing is normally purged from memory 56 to make room for new image data. Referring particularly to Figure 8, system control signals are distributed via a plurality of printed wiring boards (PWBs). These include EDN core PWB 130, Marking Imaging core PWB 132, Paper Handling core PWB 134, and Finisher Binder core PWB 136 together with various Input/Output (I/O) PWBs 138. A system bus 140 couples the core PWBs 130, 132, 134, 136 with each other and with controller section 7 while local buses 142 serve to couple the I/O PWBs 138 with each other and with their associated core PWB. Referring to Figure 9, jobs are programmed in a Job Program mode in which there is displayed on touchscreen 62 a Job Ticket 150 and a Job Scorecard 152 for the job being programmed. Job Ticket 150 displays various job selections programmed while Job Scorecard 152 displays the basic instructions to the system for printing the job. The account 154 for the print job is the default account in Figure 9. Thus, the preprogrammed billing rates for the various functions will be tabulated for the specific print job, unless a particular account with corresponding billing rates is specified by the system operator. Referring to Figure 10, the controller 7 is coupled with a network arrangement 170 by way of a network interface 172. The network interface 172 includes all of the hardware and software necessary to relate the hardware/software components of the controller 7 with the hardware/software components of the network arrangement 170. For instance, to interface various protocols between the server and the network arrangement, the network interface could be provided with, among other software, Netware® from Novell Corp. In the network arrangement 170, various I/O and storage devices are interconnected with a bus 174. In particular, the devices include, among others, I/O Apparatuses 176 and Print Services 178. In the present example a given I/O Apparatus includes a workstation, such as any suitable PC compatible apparatus or a 6085 workstation manufactured by Xerox Corporation. In one embodiment, the printing system 2 is a DocuTech® Network Printing System ("Network Printer") which prints jobs transmitted from one of the I/O apparatuses 176. In one embodiment, the- Network Printer processes network jobs written in a page description language ("PDL") known as "Interpress" and as a prerequisite to printing the network job, the Network Printer decomposes the job from a high level primitive form to a lower level primitive form. In another embodiment the Network Printer is used, in conjunction with a DocuTech® Network Server, see Print Services 178, to print jobs written in, among other PDLs, Postscript®. Decomposed jobs are commonly stored, for output, in a job file of the Network Printer and later transferred to a print queue for printing. Further discussion of a printing system with a job file and a print queue is provided in US-A-5,206,735. Referring to Figures 11-22, a general overview of a method for managing multiple jobs, with packages, is described. As should be recognized, each of Figures 11-22 represents a dialog (or screen) which is preferably, selectively displayed on the display 62 (Figure 1). Referring specifically to Figure 11, to access a list of packages in the printing controller 7, a job manager screen is brought up on the UI display 62. When a package file icon 200 is selected, with a cursor 202, a list of all packages (Figure 12) is displayed. Each package entry, designated by a package icon 203, preferably indicates the number of paper stocks required to print the package, the number of embedded documents or jobs in the package and the quantity of packages to be produced. Additionally, each icon 203 itself imparts information regarding the origin of the embedded documents associated therewith. More particularly, if the icon is drawn with solid black lines, then all of the embedded documents of the corresponding package reside in mass memory 56, i.e. on disk. On the other hand, if the icon is drawn with gray dashed lines, then at least one of the embedded documents of the corresponding package is disposed at a location remote from the controller 7, e.g. at a remote file/print server. Referring to Figures 13 and 16, when one of the package icons 203 is selected, a property selection template 204 or 210 is displayed. By selecting a "Show Package Ticket" section with the cursor 202, various properties associated with the package/job managing method are shown (Figure 12). The following discussion briefly describes the significance of each property shown in Figure 12: Package Identification: The unique name and version which identifies the package. Package Quantity: The number of packages desired to be produced. Output Options: Normally "Collated" is enabled, and this causes a complete package to be produced at a time. It is potentially much easier to run "Uncollated" when, for example, multiple stocks are present. Additionally, enablement of the uncollated option is useful when multiple jobs are to be delivered to separate finishing destinations. Packing List Report; Packing List Labeling: When desired, a packing list report can be generated, which lists the names and quantities of the documents provided in a package. When desired, each package's packing list report can have unique data applied thereto, such as a mailing address. This is roughly equivalent to set labeling the first page of a job. Not available when the packing list report is disabled. Number of Required Paper Stocks: The number of different paper stocks required to print a selected package. Embedded Document Count: The number of embedded documents in a selected package. Embedded Document Quantity Override: When enabled, this allows a parameter for a selected package, referred to as 'Embedded Documents' Quantity" (referred to as just "Quantity" in, for example, Figure 14) to be ignored; instead a parameter known as "Override Quantity" is substituted for each job in the selected package. One would expect a single copy of each document in the package (using the override feature), but there are applications where the customer would want different quantities of the individual documents in a package. An example of this would be a college course package which would have a single instructor's document and multiple student documents. First Page Label Override: When selected, this allows all the documents' first page labeling, for a given package, to be ignored; instead all the documents' first page labeling would originate from the same source label document. The conceptual framework, underlying set labeling, will be discussed in further detail below. Last Page Label Override: Similar in concept to First Page Override except that the override feature applies to labels applied to the last pages of a plurality of jobs. A warning will be issued if there are any single page embedded documents in the given package and the First Page Label Override is enabled. Embedded Document First Page Merge Item: Similar in concept to the First Page Label Override except that a selected merge item, rather than a label, is positioned at a selected position on the first page of each embedded document. Embedded Document Last Page Merge Item: Similar in concept to the Embedded Document First Page Merge Item. Embedded Document Cover Stock Override: When enabled, this allows all the documents' Cover Stock properties (Type and color) to be ignored; instead, the Embedded Document Cover Stock is substituted. This allows the operator to cut down on the number of paper stocks needed to produce a package, without tediously changing the cover stocks on each embedded document. Preferably, for each cover stock size in a package, the Type and Color to be used in place of the embedded documents' cover stock is programmed Referring specifically to Figures 13-15, the dialogs associated with managing a local package, i.e. a package whose respective embedded documents are all stored locally at the controller 7 (preferably in mass memory 56 (Figures 2 and 7)), will be discussed in further detail. The Property Selection Template 204 includes the Show Package Ticket section as well as "Show Embedded Documents", "Summary", "Proof", "Copy", "Proof" and "Delete" sections. The function of the Show Package Ticket section has been discussed above and the Delete section permits the deletion of a selected package, with its attendant embedded documents. The Summary section provides pertinent read only information regarding a selected package, such information being generated from, among other sources, the package properties discussed above. The significance of the Copy section will become clear from a discussion of related software below. The Proof section uses the functionality of the Copy section, in part, to produce a proof copy of a selected package. Referring to Figure 14, embedded documents of a given package are provided when the Show Embedded Documents section (Figure 13) is selected with the cursor 202. Each of the documents associated with the package known as "Printing applications ideas!1" (see Figures 12 and 13) are shown. As will be noted, each job is represented by a job icon 206, i.e. 206a, 206b, ... 206n, each of which icon preferably indicates information regarding history of a corresponding embedded document, i.e. whether the source of the job is from, among other places, the scanner 6 (see Job 206a), the network 170 (see Job 206b), a system queue (not shown) (see Job 206c), a magnetic tape source 182 (see Job 206d) or a magneto-optical disk ("MOD") (not shown) (see Job 206e). When all of the documents for a given package cannot be fitted on a screen, a scrolling section 208 can be used to vary the information displayed on the screen. Each job or embedded document for a given package preferably includes a job name, with it version number e.g. "Printing Applications Announcement!1, an account listing (e.g. "Default"), a date/time indicator relating to when the embedded document was generated and a quantity indicator, designating the number of sets to be produced for the particular job. Referring to Figure 15, the options available for handling local documents are exactly the same as for documents in a DocuTech® Job File, including "Show Ticket", "Cut & Paste" and "Delete". However, once a local document is altered in any way, the icon loses its ability to show history (i.e. whether it is from Tape, MOD or Remote FileServer) and revert to either a Scanned Job or Network Job. Additionally, if the local document's history indicates that the document came from a remote source, the option to delete the local copy is available. Deleting the local copy of a document, with a remote source, from the package, would not actually delete the document from the package, but, would instead, merely restore the document's history to the remote source. Referring to Figure 16, the package icon 203c (see Figure 11), corresponding with a package including one or more embedded documents from a remote source, is shown as being selected with a Property Selection Template 210. The Template 210 includes the same sections as Template 204 except that Template 210 does not include a proof section and does include a "Retrieve Remote Documents" section. The purpose of the Retrieve Remote Documents Section, which should become clear from the discussion below, is to retrieve one or more documents from a remote source to complete the package for purposes of printing the same at the local printer. Referring to both Figures 16 and 17, upon selecting the Show Embedded Documents section of Property Selection Template 210, the attendant embedded documents are displayed. The screen of Figure 17 includes the same type of information that is provided by the screen of Figure 14, except that some of the documents in Figure 17 are shown with dashed lines to indicate that certain documents exist at remote sources. As shown in the illustrated embodiment of Figure 18, the options available for handling remote documents are much more limited than for local documents (Figure 15). Preferably,only "Summary", "Copy", "Move", "RetrieveToLocalCopy" and "Delete" are available. By selecting the "Show All Documents" button 212 of Figure 11, information regarding all of the embedded documents of the packages of Figure 13 is combined for display in the screen of Figure 19. If identical documents are embedded in two or more packages, the corresponding document appears only once. Additionally, a "Package Count" value is provided for each job or embedded document. This Package Count, which may also be referred to as "Embedded Document Package Reference Count" indicates how many packages refer to a particular embedded document. The manner in which this feature is implemented will appear from the discussion below. Referring generally to Figures 20 and 21, when an embedded document is selected, a Property Selection Template 214 or 215 is displayed. As shown in the illustrated embodiments of Figures 20 and 21, each Template permits a system operator to access a screen referred to as "List Package Membership". Referring to Figure 22, a screen resulting from the selection of List Package Membership for the job "Printer Manual Vol. One!1" of Figure 19 is shown. The List Package. Membership function causes the names of all packages associated with a selected embedded document, by reference, to be displayed. The manner in which this feature is implemented will appear from the discussion below. The package/job managing method of the presently disclosed embodiment is implemented, at a location of the printing system of Figure 10, with an arrangement of three databases, namely a job database ("db") 216 (Figure 23), package db 218 (Figures 24 and 25) and job/package correlation db 220 (Figure 26), as well as various attendant procedural routines(Figures 28-33). As will be appreciated by those skilled in the art, the technique described below could just as easily be implemented at a file/print service as at an electronic printer. Referring to Figure 23, the job db, having various layers, is shown. A layer 222, includes a job entry count sublayer 224, indicating the number of jobs (embedded documents) in the job db, and a list of job entries sublayer 225 which lists the jobs 226a, 226b, ... 226n in the job db. Referring still to Figure 23, job 226b, as with the other jobs in the job db, is characterized by a layer 228, the layer 228 including a group of job level items sublayer 230 and a list of pages sublayer 232 having a list of pages 234a, 234b, ... 234n for the job 226b. The job level items comprise a list of properties for, among other things, facilitating the printing/finishing of the job 226b. The page 2 of job 226b, as with all of the pages of the job, is characterized by a layer 238, the layer 238 including a group of page level items or properties sublayer 240 for, among other things, facilitating the printing of the pages, as well as sublayers 242 and 244 for storing a set of back images 246a, ... 246n and a set of front images 248a, 248b, ... 248n, respectively. Each image, in the sublayers 242, 244 is mapped to a set of items or properties for, among other things, facilitating printing of the images. Referring to Figures 24 and 25, the package db, having various layers, is shown. A layer 250, includes a package entry count sublayer 252, indicating the number of packages in the package db, and a list of package entries sublayer 254 which lists the packages 256a, 256b,. .. 256n of the package db. The package 256b, as with the other packages in the package db, is characterized by a layer 260, the layer 260 including a group of package level items 262, a group of package job override items 264, a group of package first/last page override items 266 and a list of jobs sublayer 268 having a list of jobs 270a, 270b, ... 270n for a given package. The groups of package level items and package first/last page override items include properties of the type shown in Figure 12 and discussed in accompanying text. While the package job override items group includes selected properties shown in Figure 12, and discussed in accompanying text, the group further includes other override features. For example, an override finishing operation can be imposed on each job in a given package. Moreover, among other operations, pages of each job in a package can be reordered and/or reoriented. As will be noted in Figure 25, a substantial portion of the package db employs concepts of the job db. The package first/last page override items relate to "set labeling" or "bitmap merging' features, which features are available, currently, on the DocuTech® Printing System. Moreover, a detailed description of set labeling or addressing (which is equivalent conceptually to bitmap merging) is provided in US-A-5,309,558 and in copending European Patent Application No. 95 302 378.5. The technique of set labeling, as disclosed by these references and described in summary form, includes the steps of: 1) storing multiple destination jobs and one or more source jobs, with labels, in memory, e.g. the job file of the DocuTech® Printing System; 2) mapping the labels, to be applied to the destination jobs, with selected pages of the destination jobs, respectively; 3) using a print outline and an appropriate template to designate the position(s) of the labels on the selected pages; 4) forming a command list, with segments, for merging the labels with the selected pages of the destination jobs, wherein each segment corresponds with the merging of a label and a page of a set; and 5) for each segment, printing a predesignated number of sets. Referring to Figure 26, the job/package correlation db 220 is discussed in further detail. Essentially, the job/package correlation db uses entries to correlate jobs with packages. The job/package correlation includes a layer 274, the layer 274 including an entry count 276 sublayer, which sublayer maintains a count of the entries in the job/package correlation db, and a list of entries sublayer 278 which includes a list of entries 280a, 280b, ... 280n. The entry 280b, as with all of the entries, includes a layer 282, the layer 282 including a job identifier 284, a package reference count, which indicates the number of packages in which the job, identified by the job identifier, appears, and a list of package references 285 which includes a list of packages 286a, 286b, ... 286n. The packages include pointers which respectively link them to a package identifiers. Referring to Figure 27, an example of the manner in which the databases 216, 218 and 220 are used in the presently disclosed package/job managing method is shown. Two implementory aspects of the disclosed embodiment, among others, are emphasized by the example of Figure 27. First, it will be recognized that the package quantity (or count) of Figure 19 can be obtained by reference to the Job db 216. Second, it will be recognized that the package membership list of Figure 22 can be obtained by reference to the job/package correlation db 220. For instance, entry #1 provides the system with the fact that job 1 is in packages 1 and 2, entry #2 provides the system with the fact that job 2 is in package 2, and so on. In the discussion of pertinent procedures below, the example of Figure 27 will be used to clarify steps appropriately. Additionally, as mentioned above, in the discussion of the override properties of Figure 12, for one embodiment, each job of a package possesses a preset embedded document quantity (or "copy count") and, for multiple jobs in a package, this property may be overriden collectively. Alternatively, as illustrated in the database 218 of Figure 27, for another embodiment, the copy quantity of each job would be programmable, on an individual basis. In this other embodiment, an override option would not be required since the copy count of each job, for a given package in the database, could be adjusted by those users with access to the database 218. It should be appreciated that this other embodiment permits copy count to be reprogrammed without affecting a corresponding job in the job file. Referring to Figures 28 and 29, basic operations for creating/copying a package are discussed. Referring specifically to Figure 28, which relates to creating a package, at step 300 a system user activates a "Create Blank Package" button (Figure 11) to create a blank package. If a limit for package count has been reached in the system (step 302) then a warning, indicating that package count limit has been reached, is displayed (step 303). Subsequently, at step 304, a display, of the type shown in Figure 11, is provided. If, on the other hand, the system limit for package count has not been reached, then, at step 306, a package ticket screen, of the type shown in Figure 12, is brought forth. During step 308, the system user makes a selection on the package ticket screen. Provided the system user is not finished making selections (step 310), modified items are saved via step 312. As soon as the system user is finished making selections, s/he is given a chance to confirm his or her selections (step 314). If no confirmation is made, then the process returns to step 304 where the screen of Figure 11 is provided; otherwise, the package is prepared, by way of step 316, for insertion into package db 218. After the package is entered into the package db, the list of Figure 11 is displayed by way of steps 318 and 304. Referring specifically to Figure 29, a technique for copying a package is discussed in further detail. At step 322, the operator selects a copy option as shown in Figure 13 or 16. It is then determined, at step 324, whether the destination of the copy is the printer queue. If the destination is the printer queue, then a check is performed, at step 326, to determine if all of the jobs in the package to be copied are resident at the printing system 2. If all of the jobs are not resident, then a warning message and a list of all packages are displayed sequentially, via steps 328 and 330. The warning message of step 328 is provided since, preferably, the image data for remote jobs is not maintained at the printer. Assuming all of the jobs are resident at the printer or the copy is not destined for the print queue, the process proceeds to step 332 where a check is performed to determine if the system limit for package count has been reached. If the limit has been reached, then a warning is issued at step 334, otherwise appropriate steps are taken, at step 336, to develop basic parameters/information for the package copy. It will be appreciated by those skilled in the art that the copy could be copied for eventual storage at, among other locations, the printer or a remote storage area (See Figure 10). To initiate copying of a package, a counter PJC (see package job count of Figure 27) is developed (step 340) and set to "Job Count", i.e. the embedded document count of the package to be copied. A condition is checked at step 342 and, provided all of the jobs in the package have not been copied, the process proceeds to step 344 where the next indicated job of the package being copied, with its attendant image data and instructions, is read. For this next indicated job, the package reference count of the job db 216 (See e.g. Figure 27) is incremented. At step 346, the job/package correlation is updated for the copied job. More particularly, referring to the example of Figure 27, for a given copied job, a reference and job identifier can be appended to an existing entry, if appropriate, or a new entry can be developed for the given copied job. Subsequent to step 346, the value of PJC is decremented (step 348) and the resulting value of PJC is checked at step 342. Once PJC reaches 0, it is again determined, at step 350, whether the copy package is headed for storage or the printer queue. If the copy package is headed toward the print queue, then a designated number of copies of the package copy are produced (step 352), otherwise a new list of packages is retrieved from the package database 218 (step 354) for display, by way of step 330. Figures 30-33 relate to a technique of formatting a package for printing. Referring specifically to the illustrated embodiment of Figure 30, a copy package is examined, at step 358, to determine if any override properties exist. If no override properties are present, the process proceeds to Figure 31 for print formatting, otherwise the steps of Figure 30 are employed to prepare the package for programming with the override properties. Referring still to Figure 30, at step 360, a check is performed to determine if the capacity of the system has been exceeded. If the capacity of the system has been exceeded, a warning message is, via step 362, displayed, otherwise PJC is set to the value of "Job Count" at step 364. For the first job of the copy package, the package reference count of the job db 216 (See e.g. Figure 27) is decremented (step 366). The job/package correlation db 220 is then searched, at step 368, for decrementing the package reference entry count, associated with the first job, and removing the package reference for the first job. At step 370, the first job is copied to a new job and assigned a new job identifier. Additionally, the package reference count for the new first job is set to one. To accommodate for the new first job, in job/package correlation db 220, a new entry, with a corresponding new package reference, are inserted into the db 220 by way of steps 372, 374. PJC is then decremented, at step 376, and the process returns to step 365 where the routine of steps 366, 368, 370, 372 and 374 is repeated until each job in the copy package is processed. Once a package has been prepared to be programmed with override properties, the process proceeds to the routine of Figure 32 where the package is programmed with job override properties and then first/last page override properties. At step 378 (Figure 32), it is decided whether any job override properties are active. Assuming at least one job override property is active, PJC is set to "Job Count" (step 380), i.e. the number of embedded documents in the prepared package, and a check of PJC is performed at step 382. With the first job requiring job (Figure 33) override properties, a change of associated job level items to specified override values is performed at step 384. Steps 386 and 388 are used to check for finishing conflicts in the first job, and, if a finishing conflict exists, an object fault is logged, at step 390, against the first job. Subsequently, the value of PJC is decremented (step 392) and steps 382, 384, 386, 388, 390 (if necessary) and 392 are performed for each remaining job having job override properties is processed. After each job with job override properties has been processed, the package is examined, at step 394 (Figure 32), for finishing conflicts. If there are any package finishing conflicts, a fault message is displayed, via step 396, otherwise the process proceeds to step 398 for determining if any first/last page override properties are active. If no first/last page override properties are active, then the process proceeds to the routine of Figure 31, otherwise PJC is set to "Job Count", at step 400 (Figure 32), and a condition is checked at step 402. At step 404, first page override items are developed, if appropriate, by copying the current label/bitmap of the first page to a scratch page and replacing the first page. If the job is a single page job (step 406), then a check is performed, at step 408, for a last page override property conflict, of the type described above in the discussion of Figure 12. Assuming no last page override property conflict exists, at step 410, last page override items are developed, if appropriate, by use of the same principles as applied for the first page override items. The value of PJC is decremented, at step 411, and further first/last page override operations are performed for remaining Jobs, if necessary. Referring to Figure 31, the print formatting procedure is discussed in further detail. At step 414, PJC is set to "Job Count" and, at step 416, the value of PJC is checked. With the identifier of the first job of the package, a corresponding first page is retrieved (step 418). For this page (step 420), the corresponding stock is recorded at a package level. Similarly, the stock type of the remaining pages of the first job is recorded by way of steps 420, 422 and 424. After the processing of each job, PJC is decremented (step 426), and upon processing all of the jobs of the package have been processed, it is determined, at step 430, whether the package is collated. If the job is collated, then a check is performed, at step 432, to determine if the paper trays of the printer can support all of the required stock types. As will be appreciated, all of the stock types required to print the package were obtained through the procedure described immediately above. If there are too many stock types, a warning is displayed at step 434. Referring still to Figure 31, for collated or uncollated formatted Jobs, at step 436, PJC is set to "Job Count" for the first job and the condition, at step 438, is checked. Step 440 is used in conjunction with steps 438 and 442, to format the jobs of a package so that they print either 1-N or N-1. Once all of the jobs have been processed, for printing order, the formatted package is returned to memory for eventual printing. As should be appreciated by reference to Figure 31, certain packages, particularly those with a wide variety of stock are preferably formatted as uncollated. In this way, frequent changing of paper trays is not-required. As should be further appreciated, there are other circumstances in which uncollated formatting is preferred. For example, a package, with a plurality of jobs calling for many different types of finishing operations, can require frequent, undesirable servicing of attendant finishing devices during operation. Accordingly for ease of operation, a package requiring many different types of finishing operations may best be formatted as uncollated. Numerous features of the above-disclosed embodiment will be appreciated by those skilled in the art: One feature of the disclosed embodiment is that jobs, each of which may include one or more finishing instructions, are linked to a package by way of references or pointers. In turn, a collated package, having at least one finished job is produced. Another feature of the disclosed embodiment is that multiple packages with common jobs may be developed. Yet another feature of the disclosed embodiment, is that a list, indicating the package membership of a given job, can be displayed. With this membership information, changes in the packages, as a result of editing the given job, are trackable. Yet another feature of the disclosed embodiment is that optimal control is obtained over the packages through use of override capabilities. Yet another feature of the disclosed embodiment is a package that includes jobs stored remotely of the printing machine. This remote storage capability is particularly advantageous in that not all jobs of the package need be stored at the printing machine and, at the same time, the printing machine is provided with a wide range of job sources. Another feature of the disclosed embodiment is that a package can be stored out to a remote location for use by others besides those with access to the printing machine.

Claims: A method for managing a plurality of print jobs in a printing system (2) having a memory (56), the plurality of print jobs being associated with a package, wherein each print job includes a set of instructions so that, upon printing the package, each print job is printed in accordance with a preprogrammed set of characteristic printing properties, the method including the steps of: creating, in the memory, a first package, the first package including a first reference and a second reference, a first print job being operatively linked with the first package by way of the first reference and a second print job being operatively linked with the first package by way of the second reference; programming the first print job with a first set of instructions and the second print job with a second set of instructions, wherein at least one of the print jobs is finished in accordance with a finishing instruction, and wherein the first set of instructions includes the finishing instruction; and producing a print set of the first package, the first package print set including a finished print set of the first print job, produced in accordance with the first set of instructions and a print set of the second print job, produced in accordance with the second set of instructions. The method of claim 1, wherein the printing system includes: a system controller (7) operatively connected to the memory (56), and a remote file print server (178) operatively connected to the system controller and disposed at a location that is remote from the system controller, wherein a portion of the print jobs associated with one of the first and second packages includes a plurality of documents embedded in said one of the first and second packages, and wherein a portion of the embedded documents is disposed at the remote location on the remote file print server, further including, preceding the producing step, the step of retrieving from the remote location at least one of the embedded documents disposed at the remote location, for completing the print set of the first package. The method of claim 1, wherein the printing system includes: a system controller (7) operatively connected to the memory (56), and a remote file print server (178) operatively connected to the system controller and disposed at a location that is remote from the system controller, wherein a portion of the print jobs associated with one of the first and second packages includes a plurality of documents embedded in said one of the first and second packages, and wherein a portion of the embedded documents is disposed at the remote location on the remote file print server and wherein the remainder of the embedded documents reside in the memory, further including, preceding the producing step, the step of retrieving from the remote location at least one of the embedded documents disposed at the remote location as well as the remainder of the embedded documents residing in the memory, for completing the print set of the first package. The method of claim 2 or claim 3, wherein the printing system further includes a local printer (8) operatively connected to the system controller (7) and disposed at a location that is proximate to the system controller, and wherein the producing step further includes the step of printing the retrieved embedded documents disposed at the remote location as well as the retrieved embedded documents residing in the memory. A method for managing a plurality of jobs, stored in a first package, the plurality of jobs including a first job and a second job, with a printing system (2) having a printing machine communicating with both a first memory section and a second memory section (8), the second memory section being disposed remotely of the printing machine, each job in the first package being outputted in accordance with a preprogrammed set of characteristic printing properties, the method including the steps of: creating, in the first memory section, the first package, the first package including a first reference and a second reference, the first job being operatively linked with the first package by way of the first reference and the second job being operatively linked with the first package by way of the second reference; programming the first job with a first set of instructions and the second job with a second set of instructions, wherein at least one of the print jobs is finished in accordance with a finishing instruction, and wherein the first set of instructions includes the finishing instruction; storing the first job in the second memory section; transmitting a copy of the first job, with a copy of the first set of instructions, from the second memory section to the printing machine; and in response to said transmitting step, producing a representation of the first package, the first package representation including a representation of the first job copy, produced in accordance with the first set of instructions, and a representation of a copy of the second job, produced in accordance with the second set of instructions. A printing system (2) with a memory (56), for processing and printing a package of print jobs, wherein each print job includes a set of instructions so that, upon printing the package, each print job is printed in accordance with a preprogrammed set of characteristic printing properties, the printing system including: a system controller (54) for creating a first package, the first package residing in said memory and including a first reference and a second reference, a first print job being operatively linked with the first package by way of the first reference and a second print job being operatively linked with the first package by way of the second reference; a user interface (52), communicating with said system controller, for programming the first print job with a first set of instructions and the second print job with a second set of instructions, wherein at least one of the print jobs is finished in accordance with a finishing instruction, and wherein the first set of instructions includes the finishing instruction; and a printing machine (8), communicating with the memory, for producing a print set of the first package, the first package print set including a finished print set of the first print job, produced in accordance with the first set of instructions and a print set of the second print job, produced in accordance with the second set of instructions. The printing system of claim 6, wherein: a second package is created in memory; a third print job is programmed with a third set of instructions; the second package is provided with a third reference so that the third print job is operatively linked to the second package; and the second package is provided with the first reference so that the first print job is operatively linked to both the first package and the second package, and so that a change to the first print job of the second package automatically causes a corresponding change to the first print job of the first package. The printing system of claim 7, wherein an electronic copy of the first print job of the second package is generated; the electronic copy is edited so that the first print job of the first package is not corrupted by changes made to the first print job of the second package; the second package is provided with a reference that operatively links the electronic copy with the second package; and the first reference of the second package is deleted. A printing system (2) with a first memory section and a second memory section, for printing a plurality of jobs, stored in a first package, the plurality of jobs including a first job and a second job, each job in the first package being outputted in accordance with a preprogrammed set of characteristic printing properties, the printing system including: a system controller (54) for creating, in the first memory section, the first package, the first package including a first reference and a second reference, the first job being stored in the second memory section and operatively linked with the first package by way of the first reference, and the second job being operatively linked with the first package by way of the second reference; a user interface (52) for programming the first job with a first set of instructions and the second job with a second set of instructions, wherein at least one of the print jobs is finished in accordance with a finishing instruction, and wherein the first set of instructions includes the finishing instruction; a connection (72), operatively coupling said first memory section and said second memory section, for transmitting a copy of the first job, with a copy of the first set of instructions, from the second memory section to the first memory section; and a printing machine (178), disposed remotely of the second memory section and communicating with the first memory section, for producing a representation of the first package, the first package representation including a representation of the first job copy, produced in accordance with the first set of instructions, and a representation of a copy of the second job, produced in accordance with the second set of instructions. The printing system of claim 9, wherein one or both of the first job and the second job are generated at a location disposed remotely of the printing machine, the remote location being in communication with the second memory section. The method of claim 5, further including, preceding the creating step, the step of generating either the first job or the second job or both the first and second jobs at a location disposed remotely of the printing machine, wherein the remote location is in communication with the second memory section. The method of claim 5 or claim 11, wherein the first set of instructions includes an instruction regarding a finishing operation to be performed on the first job, wherein the second set of instructions includes an instruction regarding a finishing operation to be performed on the second job, and wherein the producing step includes outputting finished first and second package representations, each of which possesses its own unique set of finishing characteristics.

Inventors: HAMILTON ROBERT S, HAMILTON, ROBERT S.
Applicants: XEROX CORP, XEROX CORPORATION
Application year: 1995
Main classification: G06F3
IPC codes: G06F3, B41J29, G06F17, G06F9, G03G21