US20030002069A1 - Print manager having a user interface for specifying how documents are directed to print devices - Google Patents

Print manager having a user interface for specifying how documents are directed to print devices Download PDF

Info

Publication number
US20030002069A1
US20030002069A1 US09/895,093 US89509301A US2003002069A1 US 20030002069 A1 US20030002069 A1 US 20030002069A1 US 89509301 A US89509301 A US 89509301A US 2003002069 A1 US2003002069 A1 US 2003002069A1
Authority
US
United States
Prior art keywords
printer
print
print job
attributes
instructions
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
US09/895,093
Other versions
US7088462B2 (en
Inventor
Kulvir Bhogal
Nizam Ishmael
Javid Jameossanaie
Mandeep Sidhu
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
LinkedIn Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Priority to US09/895,093 priority Critical patent/US7088462B2/en
Assigned to INTERNATIONAL BUSINESS MACHINES CORPORATION reassignment INTERNATIONAL BUSINESS MACHINES CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: JAMEOSSANAIE, JAVID, ISHMAEL, NIZAM JR., SIDU, MANDEEP SINGH, BHOGAL, KULVIR SINGH
Publication of US20030002069A1 publication Critical patent/US20030002069A1/en
Application granted granted Critical
Publication of US7088462B2 publication Critical patent/US7088462B2/en
Assigned to LINKEDIN CORPORATION reassignment LINKEDIN CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: INTERNATIONAL BUSINESS MACHINES CORPORATION
Adjusted expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1204Improving or facilitating administration, e.g. print management resulting in reduced user or operator actions, e.g. presetting, automatic actions, using hardware token storing data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1205Improving or facilitating administration, e.g. print management resulting in increased flexibility in print job configuration, e.g. job settings, print requirements, job tickets
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1224Client or server resources management
    • G06F3/1226Discovery of devices having required properties
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1253Configuration of print job parameters, e.g. using UI at the client
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • G06F3/1288Remote printer device, e.g. being remote from client or server in client-server-printer device configuration

Definitions

  • This invention generally relates to improvements in operating system software for printing documents, namely the identification and handling of print jobs on the basis of color content in the print jobs.
  • a computer system generally includes one or more printing devices that are electrically connected to the computer system and controlled by it in order to generate a permanent image on a selected medium.
  • printing devices in common use are dot matrix, ink jet and laser printers that fix permanent images on paper under control of the computer. Although paper is the most common medium, other media are often used, such as photographic film.
  • Print characteristics such as resolution, number of colors and page size, may vary greatly from one print job to the next as a result of limitations of the application generating the print job, objectives of the user initiating the print job, and the capabilities of the available printers.
  • the print medium In order to print a document that is displayed on the monitor or stored within the memory, several actions must take place.
  • the printable information since the print medium generally has a fixed size, the printable information must be divided into pieces that are small enough to fit on the selected medium, a process that is called pagination.
  • the information may need to be reformatted from the format in that it is either displayed or stored into a format that is suitable for controlling the printing device to actually perform the printing on the medium.
  • the reformatting in this latter step may include the insertion of control commands into the printable information in order to control the printing device. These added commands may, for example, include such commands as carriage returns, line feeds, form feeds, spaces and font information, that format the printable information.
  • the reformatting may also include a conversion step in which a graphical display is converted into the form used by the printing device.
  • the pagination and reformatting necessary to convert the printable information into a form that can be printed on a given printing device is generally performed by software programs running within the computer system.
  • Software programs operating on a computing system generally can be categorized as either operating systems or application programs.
  • Operating systems are usually specific to a type of computer system and consist of a collection of utility programs that enable the computer system to perform basic operations, such as storing and retrieving information on a peripheral disk memory, displaying information on an associated video display, performing rudimentary file operations including the creation, naming and renaming of files and, in some cases, performing diagnostic operations in order to discover or recover from malfunctions.
  • the operating system generally provides only very basic functions and must be accompanied by an application program.
  • the application program interacts with the operating system to provide much higher-level functionality and a direct interface with the user.
  • the application program typically makes use of operating system functions by sending a series of task commands to the operating system that then performs the requested tasks.
  • the application program may request that the operating system store particular information on the computer disk memory or display information on the video display.
  • printer software Regardless of whether the printer software is provided by the application program, the operating system, or some combination, the functionality of the printer software, and consequently the functionality of the printer, has been limited.
  • printer software has been substantially limited to addressing the basic communications of formatting and pagination for a particular printer, or the notification of printer status or print job status to the user. While these basic functions are useful or necessary, they do not provide the user with some desired print management capabilities.
  • a modern computer network may have access to a plurality of different print resources, each print resource having its own print settings that establish the features and characteristics of the print resources. It can be difficult, if not impossible, for a user to determine which print resource is the optimal one to print a particular document without actually performing a print operation. In addition, when print data are to be distributed and printed, optimal distributed print processing of the print data cannot often be performed.
  • U.S. Pat. No. 5,906,442 discloses a method for automatically setting an optimal print environment for print data in a print control apparatus without making the user recognize it.
  • the method includes outputting data to a plurality of print control apparatuses via a network, analyzing test data on the basis of print setting information, obtaining analysis results of test data from a plurality of print control apparatuses, comparing each of the analysis results obtained, and selecting one of the plurality of print control apparatuses which is an optimal print control apparatus for printing the data to be outputted.
  • This “querying” process consumes valuable network resources, since at least a portion of each print job is sent to each print control apparatus accessible over the network and analysis results must be returned and compared before a print control apparatus can be selected.
  • a Xerox Disclosure Journal article to P. F. Morgan (vol. 16, No. 6, November/December 1991) entitled “Integration of Black Only and Color Printers” delivers portions of a job to a plurality of printers on the basis of page level information.
  • a job is separated on the basis of color so that the black/white part of the job is delivered to a black/white printing system and the color part of the job is delivered to a full process color machine.
  • the present invention provides a method for selecting a printer for printing a print job.
  • the method comprises identifying one or more attributes of the print job and directing, using user-defined instructions, the print job to a printer capable of handling the one or more attributes.
  • the print jobs are generated using one or more application programs running in a computer that is in communication with the printer.
  • the one or more attributes are selected from file type, application identity, color content, print resolution, page size and combinations thereof.
  • the method further comprises entering the user-defined instructions through a graphical user interface. More particularly, the method may further comprise identifying the available printers and assigning one or more of the available printers for use with print jobs having the one or more attributes.
  • the user-defined instructions are preferably then stored in memory, perhaps in the form of a table or database, for access by the printer handler.
  • FIG. 1 is a block diagram of a computer system on which the present invention may be carried out.
  • FIG. 2 is a block diagram of modified computer system in which the operating system controls operation of a print device.
  • FIG. 3 is a block diagram of the information paths by which a print job is channeled to a print device.
  • FIG. 4 is a flowchart illustrating the steps of pausing a first print job or advancing a second print job in accordance with a preferred embodiment.
  • FIG. 5 is a table illustrating an exemplary database file structure that the printer handler would utilize for routing print jobs to the available printers.
  • FIG. 6 is a flowchart illustrating the steps for associating the selected attribute bits in a print job with a printer identified as having the targeted capabilities in accordance with a preferred embodiment.
  • FIG. 1 is a block diagram of a personal computer, such as the IBM PS/ 2 or Macintosh computer, having a typical hardware configuration that is suitable for carrying out the present invention.
  • the computer 100 is controlled by a central processing unit 102 , which may be a conventional microprocessor; a number of other units, all interconnected via a system bus 108 , are provided to accomplish specific tasks.
  • a particular computer may only have some of the units illustrated in FIG. 1 or may have additional components not shown, most computers will include at least the units shown.
  • computer 100 includes a random access memory (RAM) 106 for temporary storage of information, a read only memory (ROM) 104 for permanent storage of the computer's configuration and basic operating commands and an input/output (I/O) adapter 110 for connecting peripheral devices such as a disk unit 113 and printer 114 to the bus 108 , via cables 112 and 115 , respectively.
  • a user interface adapter 116 is also provided for connecting input devices, such as a keyboard 120 , and other known interface devices including mice, speakers and microphones to the bus 108 .
  • Visual output is provided by a display adapter 118 that connects the bus 108 to a display device 122 such as a video monitor.
  • the workstation is controlled and coordinated by an operating system resident on the workstation. An example of this operating system is the Microsoft Windows® operating system.
  • FIG. 2 shows a schematic overview of a computer system, shown generally as a dotted box 200 , having an application program 202 and an operating system 206 to control and coordinate the operations of the computer.
  • Application program 202 communicates with operating system 206 as indicated by arrow 204 to print information.
  • This dual program system is used on many types of computers systems ranging from mainframes to personal computers. While the exact manner in which an operating system handles print jobs may vary between operating systems, the operating system illustrated in FIGS. 2 and 3 is a suitable example and should not be taken as limiting the scope of the invention.
  • the printing interface 224 responds to a series of simple commands generated by application program 202 in order to perform various formatting and pagination functions.
  • the formatted, printable information is then transmitted to a grafport 210 as indicated schematically by arrow 226 . While it is possible for application program 202 to communicate directly with grafport 210 , it is not contemplated that most applications will do this unless special procedures are needed.
  • printer handler 214 is similar to what is known in the art as a “printer driver”. However, the printer handler is “intelligent” and offers some additional capabilities that will be described herein. Essentially, printer handler 214 processes the incoming data stream indicated by arrow 212 and adds the necessary printer commands to control the associated printer schematically illustrated as printer 222 . The reformatted data is provided, as indicated by arrow 216 , to a printer port 218 that converts the data into electrical signals that are sent over cable 220 to printer 222 .
  • Printer 222 usually contains an “imaging engine” which is a hardware device or a ROM-programmed computer which takes the incoming information stream and converts it into the electrical signals necessary to drive the actual printing elements. The result is a “hard copy” output on the selected medium.
  • imaging engine is a hardware device or a ROM-programmed computer which takes the incoming information stream and converts it into the electrical signals necessary to drive the actual printing elements. The result is a “hard copy” output on the selected medium.
  • printing interface 224 (as will hereafter be described in detail) generates an entity called a document folio shown schematically as document folio 300 in FIG. 3.
  • the document folio may consist of text, graphics or a combination of the two, all formatted and arranged in a manner specified by the application program.
  • the document folio information is provided, as indicated by arrow 312 , to a print channel 302 .
  • Print channel 302 is an object that is created to transport the information to an appropriate printer. Print channel uses a print job description and a printer identification provided by the application program to transmit the printable information to the appropriate printer.
  • the print channel 302 After the print channel 302 receives a printing job, it transmits the printable information to a spooler program 318 as indicated by arrow 314 .
  • Spooler 318 receives the incoming information stream and stores it, in incoming order, in an intermediate storage location 322 as indicated by arrow 320 .
  • Print channel 302 then sends a notification to a print server program 306 via a link 304 , which notification informs print server program 306 that a new print job exists.
  • the print server program 306 is a standard program that monitors all print jobs that have been created and also checks the available printers to determine their status.
  • the print server 306 notifies a printer handler 310 by means of a link 308 .
  • the printer handler 310 is a type of printer driver that controls and drives a specific printer. The printer handler's purpose is to convert text and graphic information into printer readable form for any particular printer type. Typically, a printer handler can only process one print job and any other jobs that are created and directed towards the associated printer are queued for later processing.
  • the printer handler contains a despooler program 316 that retrieves the spooled data from intermediate storage 322 (as indicated by arrow 324 ) and provides the information, as indicated by arrow 326 , to an imaging engine 332 .
  • the imaging engine 332 converts the incoming data stream into the command signals that are necessary to drive the printing elements to produce the final printed document.
  • the commands, indicated schematically by arrow 330 are provided to the actual print device indicated by box 328 for printing.
  • the printer handler 310 checks its queue for another print job and, if a job is present, begins processing it. Alternatively, if there are no new print jobs to process, the printer handler becomes inactive. After a particular print job is completed, the information stored in intermediate storage in 322 is deleted and the storage is reclaimed. As an option, the storage can be retained until a user explicitly deletes the storage.
  • the desktop printer is the only user visible part of the printer. All user actions (commands) related to the printer are handled by the operating system. When a document is to be printed, it is dragged to the printer icon (or the Print item is selected from the system wide menu). This starts the printing process by first spooling the document by packaging it as a print job. Spooling is a process of streaming the graphic description of a document to the disk so it can be imaged later (possibly in a different task) to the actual printing device represented by the desktop printer. The spooled print job is stored in the printer's persistent data that consists mainly of the print job queue and the printer's dynamic configuration.
  • the printer handler After the print job is spooled, the printer handler is sent a message that there is a print job for it to process.
  • the printer handler picks up the print job, despools it, converts it to the printer's native imaging model and sends it to the printer.
  • the printer handler consists of a dispatcher and an imaging task.
  • the dispatcher is a task that handles requests to print jobs and sends them to the imaging task so that the server task is free to handle other requests (more print jobs, status queries, notification, etc.).
  • the printer handler architecture allows for more than one task working on print jobs. Instead of having only one imaging task, the printer handler dispatcher can have a pool of tasks that access the job queue and pick up a job to process. This way, the printer handler can be processing multiple jobs at the same time. If the target printer can accept only one job at a time, only one imaging task will be talking to it at a given time.
  • the multiple imaging tasks model works well when the destination is a spooler that can accept more than one job at a time. Each job in the queue knows the task that is processing it so that functions like “abort” and “pause” will operate properly.
  • the imaging engine 332 of the printer handler 310 for a particular printer receives one job at a time.
  • the printer handler uses the developer customizable imaging engine 332 to convert the source description of the document into a stream of data targeted for the particular print device 328 that the printer handler is associated with.
  • the imaging engine 332 obtains a spool stream from the print job and passes it to the printer device object 328 .
  • the printer device extracts individual pages out of the print run and converts the individual pages into the printer's imaging model.
  • the imaging objects also perform the task of mapping the attributes requested by the print job (page size, media, color, fonts, etc.) to features actually available on the printer. This processing is achieved by consulting the printer's dynamic state maintained by the printer handler 310 .
  • the printer handler is typically responsible for keeping track of the printer's persistent data, in particular, its job queue and dynamic state.
  • the dynamic state contains things like the current media/tray setting, current color mode (2, 3 or 4 colors), etc.
  • the printer state which is part of the printer model's store, is updated when the printer handler images a job to it and finds that the state has changed. This scheme works when the printer handler has two-way communication available with the printer. In cases when two-way communication is not available, the printer handler will rely on the printer's static configuration.
  • Networked printers are basically the same as a local printer except that the communications channel must use a specific network protocol.
  • the present invention can be implemented on printers using protocols based on NPA (Network Printing Architecture), TCP/IP, PAP protocol, and Novell IPX based print servers.
  • the operating system provides an interface, preferably a graphical user interface, which allows the user to custom assign printers for use when a print job having one or more specific attribute has been submitted.
  • the one or more specific attributes of a print job may include, without limitation, the identity of the application generating the print job, the file type being printed, one or more features of the print job, the presence or absence of color, the page size, the number of pages, the draft quality specified, the paper stock selected, and combinations thereof.
  • the attributes of the print job are identified by the operating system after receiving the print job, and the print jobs are directed to the appropriate printer by looking up the identified attributes in the user-customized printer assignments.
  • FIG. 4 is a flowchart illustrating steps executed by the operating system to select print job attributes that shall be used to select an available printer and to assign an available printer to each of the selected print job attributes.
  • the operating system determines whether the user or system administrator desires to setup printer assignments. If the user does not desire to setup printer assignments, then the process exits in state 402 .
  • state 404 identifies the printers that are available to the computing system, such as a network.
  • the operating system identifies a list of potential print job attributes, which list may be a standard list.
  • the customized printer assignments begin by allowing the user to select the print job attributes that are desired to be used as the basis for routing print jobs to the printers.
  • the user assigns an available printer to each of the selected print job attributes or combinations of attributes. The process of states 412 and 414 continues until the user indicates in state 416 that the attribute selections are complete.
  • the operating system then installs the custom attribute-printer assignments for use by the printer handler in routing print jobs to the available printers in a manner consistent with the user setup.
  • a special attribute bit such as a color bit, is generated, either by the application program or the printer handler, to indicate that the print job includes a particular print job attribute, such as color, that should determine a suitable printer or printer handler for assigning to the print job.
  • a particular print job attribute such as color
  • each printer can determine whether it is suitable to handle the print job without having to analyze large portions of the print job. While there may be more than one printer on a network that can print color pages and therefore will accept print jobs having the color bit, the invention assures that the print job is printed on a suitable printer rather than a printer that will only print black and white images.
  • the special attribute bit may be a color bit where the value (1) indicates that the print job contains color images and the value (0) indicates that the print job is merely black and white.
  • the print job is provided with a plurality of special attribute bits that each indicate the existence of a different print job attribute in the print job.
  • the first attribute bit could indicate color and the second attribute bit could indicate the resolution or dots per inch (dpi) required by the image.
  • dpi dots per inch
  • the identifiable print job attributes that the user has specified as providing the basis for assigning printers are collected in a look-up table or database.
  • Each record in the database will include a print job attribute, or combinations of print job attributes, that are intended to cause the relevant print job to be sent to a specific printer.
  • Each record in the database will also include a specific printer, or combination of printers, that may receive the relevant print job.
  • the resulting database is installed as part of the printer handler that routes print jobs to appropriate printers.
  • FIG. 5 is a table illustrating a one embodiment of a database file structure that the printer handler would utilize for routing print jobs to the available printers.
  • the database 500 includes four fields: field 502 for the attribute identification, optional field 504 for a secondary attribute identification, field 506 for the printer assigned to the attribute, and an optional field 508 for a secondary printer assignment.
  • the database table 500 is illustrated containing 5 records that primarily look for a color/no color attribute, but secondarily identifies if the color print job is a photo (possibly indicated by a special attribute bit) or exceeds a page size limitation and if the non-color print jobs have a resolution of greater than or less than a given dots per inch setpoint. For example, a print job identified as containing a color photo would be sent to the inkjet printer #2, unless it was offline, in which case the print job could be forwarded to the color laserjet #3.
  • the user interface of the present invention allows the user or system administrator to select the number of attribute bits to be used and the combination of attribute bits that will be utilized.
  • the attribute bits for a particular print job may be stored in the print queue in association with the print job.
  • the print manager will direct the print job to an appropriate printer on the basis of the attribute bits. Consequently, in one embodiment of the invention, the attribute bits form a temporary file that is deleted as soon as the print job has been sent on to a printer or printer handler. Accordingly, this process can take place entirely resident within the operating system, where the assignment of available printers to print jobs having certain attributes is preferably customizable by the user through a graphical user interface.
  • FIG. 6 is a flowchart illustrating the steps performed by the operating system.
  • the printer handler portion of the operating system receives a print job.
  • the print job is scanned or analyzed for selected print job attributes.
  • all of the selected attributes that are in the print job are identified.
  • attribute bits are generated for each of the identified attributes of the print job and these attribute bits are associated with the print job.
  • the printer handler performs a look-up in the installed attribute-printer assignments, which may be default assignments of or customized assignments.
  • the printer handler identifies the printer assigned to handle print jobs having the identified attributes.
  • the printer handler routes the print job to the identified printer.
  • the attribute bits, having served their purpose, are deleted or discharged.
  • a further optional feature of the invention is a notification sent to the computer from which the print job originated, notifying the user of that computer about what printer the printer handler has decided to send the print job to.
  • the notification may also include an acknowledgement button requiring that the user acknowledge the destination of the print job or an optional instruction button to override the printer destination selected by the printer handler in favor of a manually selected printer.

Abstract

An operating system provides an interface that allows the user to assign printers for use when a print job having one or more specific attributes has been submitted. The one or more specific attributes of a print job may include the identity of the application generating the print job, the file type being printed, one or more features of the print job, the presence or absence of color, the page size, the number of pages, the draft quality specified, the paper stock selected, and combinations thereof. The attributes of the print job are identified by the operating system after receiving the print job, and the print jobs are directed to the appropriate printer by looking up the identified attributes in the user-customized printer assignments.

Description

    BACKGROUND OF THE INVENTION
  • 1. Field of the Invention [0001]
  • This invention generally relates to improvements in operating system software for printing documents, namely the identification and handling of print jobs on the basis of color content in the print jobs. [0002]
  • 2. Description of the Related Art [0003]
  • One of the most important aspects of a modern computer system is the ability to generate a “hard” copy of textual information or graphics that can be manipulated by the computer, visually displayed and stored. In order to accomplish this task, a computer system generally includes one or more printing devices that are electrically connected to the computer system and controlled by it in order to generate a permanent image on a selected medium. Examples of printing devices in common use are dot matrix, ink jet and laser printers that fix permanent images on paper under control of the computer. Although paper is the most common medium, other media are often used, such as photographic film. [0004]
  • Print characteristics, such as resolution, number of colors and page size, may vary greatly from one print job to the next as a result of limitations of the application generating the print job, objectives of the user initiating the print job, and the capabilities of the available printers. [0005]
  • In order to print a document that is displayed on the monitor or stored within the memory, several actions must take place. First, since the print medium generally has a fixed size, the printable information must be divided into pieces that are small enough to fit on the selected medium, a process that is called pagination. In addition, the information may need to be reformatted from the format in that it is either displayed or stored into a format that is suitable for controlling the printing device to actually perform the printing on the medium. The reformatting in this latter step may include the insertion of control commands into the printable information in order to control the printing device. These added commands may, for example, include such commands as carriage returns, line feeds, form feeds, spaces and font information, that format the printable information. The reformatting may also include a conversion step in which a graphical display is converted into the form used by the printing device. [0006]
  • The pagination and reformatting necessary to convert the printable information into a form that can be printed on a given printing device is generally performed by software programs running within the computer system. Software programs operating on a computing system generally can be categorized as either operating systems or application programs. Operating systems are usually specific to a type of computer system and consist of a collection of utility programs that enable the computer system to perform basic operations, such as storing and retrieving information on a peripheral disk memory, displaying information on an associated video display, performing rudimentary file operations including the creation, naming and renaming of files and, in some cases, performing diagnostic operations in order to discover or recover from malfunctions. [0007]
  • By itself, the operating system generally provides only very basic functions and must be accompanied by an application program. The application program interacts with the operating system to provide much higher-level functionality and a direct interface with the user. During the interaction between the application program and the operating system, the application program typically makes use of operating system functions by sending a series of task commands to the operating system that then performs the requested tasks. For example, the application program may request that the operating system store particular information on the computer disk memory or display information on the video display. [0008]
  • Regardless of whether the printer software is provided by the application program, the operating system, or some combination, the functionality of the printer software, and consequently the functionality of the printer, has been limited. In particular, printer software has been substantially limited to addressing the basic communications of formatting and pagination for a particular printer, or the notification of printer status or print job status to the user. While these basic functions are useful or necessary, they do not provide the user with some desired print management capabilities. [0009]
  • Furthermore, a modern computer network may have access to a plurality of different print resources, each print resource having its own print settings that establish the features and characteristics of the print resources. It can be difficult, if not impossible, for a user to determine which print resource is the optimal one to print a particular document without actually performing a print operation. In addition, when print data are to be distributed and printed, optimal distributed print processing of the print data cannot often be performed. [0010]
  • U.S. Pat. No. 5,906,442 discloses a method for automatically setting an optimal print environment for print data in a print control apparatus without making the user recognize it. The method includes outputting data to a plurality of print control apparatuses via a network, analyzing test data on the basis of print setting information, obtaining analysis results of test data from a plurality of print control apparatuses, comparing each of the analysis results obtained, and selecting one of the plurality of print control apparatuses which is an optimal print control apparatus for printing the data to be outputted. This “querying” process consumes valuable network resources, since at least a portion of each print job is sent to each print control apparatus accessible over the network and analysis results must be returned and compared before a print control apparatus can be selected. [0011]
  • A Xerox Disclosure Journal article to P. F. Morgan (vol. 16, No. 6, November/December 1991) entitled “Integration of Black Only and Color Printers” delivers portions of a job to a plurality of printers on the basis of page level information. In particular, a job is separated on the basis of color so that the black/white part of the job is delivered to a black/white printing system and the color part of the job is delivered to a full process color machine. [0012]
  • Therefore, there is a need for a method or system providing more print management capabilities. It would be desirable to have a method or system that identifies one or more attributes of a print job or a portion of a print job and directs the print job to an appropriate print device. More particularly, it would be desirable to have an operating system that accommodates user preferences for determining how print jobs are distributed to a plurality of printers. It would be most desirable if the operating system allowed for document type instructions, file type instructions, and identification of color content. [0013]
  • SUMMARY OF THE INVENTION
  • The present invention provides a method for selecting a printer for printing a print job. The method comprises identifying one or more attributes of the print job and directing, using user-defined instructions, the print job to a printer capable of handling the one or more attributes. Preferably, the print jobs are generated using one or more application programs running in a computer that is in communication with the printer. The one or more attributes are selected from file type, application identity, color content, print resolution, page size and combinations thereof. Optionally, the method further comprises entering the user-defined instructions through a graphical user interface. More particularly, the method may further comprise identifying the available printers and assigning one or more of the available printers for use with print jobs having the one or more attributes. The user-defined instructions are preferably then stored in memory, perhaps in the form of a table or database, for access by the printer handler. [0014]
  • The foregoing and other objects, features and advantages of the invention will be apparent from the following more particular description of a preferred embodiment of the invention, as illustrated in the accompanying drawings wherein like reference numbers represent like parts of the invention.[0015]
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 is a block diagram of a computer system on which the present invention may be carried out. [0016]
  • FIG. 2 is a block diagram of modified computer system in which the operating system controls operation of a print device. [0017]
  • FIG. 3 is a block diagram of the information paths by which a print job is channeled to a print device. [0018]
  • FIG. 4 is a flowchart illustrating the steps of pausing a first print job or advancing a second print job in accordance with a preferred embodiment. [0019]
  • FIG. 5 is a table illustrating an exemplary database file structure that the printer handler would utilize for routing print jobs to the available printers. [0020]
  • FIG. 6 is a flowchart illustrating the steps for associating the selected attribute bits in a print job with a printer identified as having the targeted capabilities in accordance with a preferred embodiment. [0021]
  • DETAILED DESCRIPTION
  • FIG. 1 is a block diagram of a personal computer, such as the IBM PS/[0022] 2 or Macintosh computer, having a typical hardware configuration that is suitable for carrying out the present invention. The computer 100 is controlled by a central processing unit 102, which may be a conventional microprocessor; a number of other units, all interconnected via a system bus 108, are provided to accomplish specific tasks. Although a particular computer may only have some of the units illustrated in FIG. 1 or may have additional components not shown, most computers will include at least the units shown.
  • Specifically, [0023] computer 100 includes a random access memory (RAM) 106 for temporary storage of information, a read only memory (ROM) 104 for permanent storage of the computer's configuration and basic operating commands and an input/output (I/O) adapter 110 for connecting peripheral devices such as a disk unit 113 and printer 114 to the bus 108, via cables 112 and 115, respectively. A user interface adapter 116 is also provided for connecting input devices, such as a keyboard 120, and other known interface devices including mice, speakers and microphones to the bus 108. Visual output is provided by a display adapter 118 that connects the bus 108 to a display device 122 such as a video monitor. The workstation is controlled and coordinated by an operating system resident on the workstation. An example of this operating system is the Microsoft Windows® operating system.
  • FIG. 2 shows a schematic overview of a computer system, shown generally as a [0024] dotted box 200, having an application program 202 and an operating system 206 to control and coordinate the operations of the computer. Application program 202 communicates with operating system 206 as indicated by arrow 204 to print information. This dual program system is used on many types of computers systems ranging from mainframes to personal computers. While the exact manner in which an operating system handles print jobs may vary between operating systems, the operating system illustrated in FIGS. 2 and 3 is a suitable example and should not be taken as limiting the scope of the invention.
  • The [0025] printing interface 224 responds to a series of simple commands generated by application program 202 in order to perform various formatting and pagination functions. The formatted, printable information is then transmitted to a grafport 210 as indicated schematically by arrow 226. While it is possible for application program 202 to communicate directly with grafport 210, it is not contemplated that most applications will do this unless special procedures are needed.
  • In any case, the information flows through [0026] grafport 210, and as indicated by arrow 212, is provided to a printer handler 214. Printer handler 214 is similar to what is known in the art as a “printer driver”. However, the printer handler is “intelligent” and offers some additional capabilities that will be described herein. Essentially, printer handler 214 processes the incoming data stream indicated by arrow 212 and adds the necessary printer commands to control the associated printer schematically illustrated as printer 222. The reformatted data is provided, as indicated by arrow 216, to a printer port 218 that converts the data into electrical signals that are sent over cable 220 to printer 222. Printer 222 usually contains an “imaging engine” which is a hardware device or a ROM-programmed computer which takes the incoming information stream and converts it into the electrical signals necessary to drive the actual printing elements. The result is a “hard copy” output on the selected medium.
  • The actual mechanism by which a document generated by the [0027] printing interface 224 is transmitted to printer 222 is shown in more detail in FIG. 3. In particular, printing interface 224 (as will hereafter be described in detail) generates an entity called a document folio shown schematically as document folio 300 in FIG. 3. The document folio may consist of text, graphics or a combination of the two, all formatted and arranged in a manner specified by the application program. The document folio information is provided, as indicated by arrow 312, to a print channel 302. Print channel 302 is an object that is created to transport the information to an appropriate printer. Print channel uses a print job description and a printer identification provided by the application program to transmit the printable information to the appropriate printer.
  • More specifically, after the [0028] print channel 302 receives a printing job, it transmits the printable information to a spooler program 318 as indicated by arrow 314. Spooler 318 receives the incoming information stream and stores it, in incoming order, in an intermediate storage location 322 as indicated by arrow 320. Print channel 302 then sends a notification to a print server program 306 via a link 304, which notification informs print server program 306 that a new print job exists. The print server program 306 is a standard program that monitors all print jobs that have been created and also checks the available printers to determine their status.
  • Once a print job has been completely spooled or stored in [0029] intermediate storage 322, the print server 306 notifies a printer handler 310 by means of a link 308. The printer handler 310 is a type of printer driver that controls and drives a specific printer. The printer handler's purpose is to convert text and graphic information into printer readable form for any particular printer type. Typically, a printer handler can only process one print job and any other jobs that are created and directed towards the associated printer are queued for later processing. The printer handler contains a despooler program 316 that retrieves the spooled data from intermediate storage 322 (as indicated by arrow 324) and provides the information, as indicated by arrow 326, to an imaging engine 332. The imaging engine 332 converts the incoming data stream into the command signals that are necessary to drive the printing elements to produce the final printed document. The commands, indicated schematically by arrow 330, are provided to the actual print device indicated by box 328 for printing.
  • Once a print job is completely printed, the [0030] printer handler 310 checks its queue for another print job and, if a job is present, begins processing it. Alternatively, if there are no new print jobs to process, the printer handler becomes inactive. After a particular print job is completed, the information stored in intermediate storage in 322 is deleted and the storage is reclaimed. As an option, the storage can be retained until a user explicitly deletes the storage.
  • The desktop printer is the only user visible part of the printer. All user actions (commands) related to the printer are handled by the operating system. When a document is to be printed, it is dragged to the printer icon (or the Print item is selected from the system wide menu). This starts the printing process by first spooling the document by packaging it as a print job. Spooling is a process of streaming the graphic description of a document to the disk so it can be imaged later (possibly in a different task) to the actual printing device represented by the desktop printer. The spooled print job is stored in the printer's persistent data that consists mainly of the print job queue and the printer's dynamic configuration. After the print job is spooled, the printer handler is sent a message that there is a print job for it to process. The printer handler picks up the print job, despools it, converts it to the printer's native imaging model and sends it to the printer. [0031]
  • There is one printer handler task per physical printer. The printer handler consists of a dispatcher and an imaging task. The dispatcher is a task that handles requests to print jobs and sends them to the imaging task so that the server task is free to handle other requests (more print jobs, status queries, notification, etc.). The printer handler architecture allows for more than one task working on print jobs. Instead of having only one imaging task, the printer handler dispatcher can have a pool of tasks that access the job queue and pick up a job to process. This way, the printer handler can be processing multiple jobs at the same time. If the target printer can accept only one job at a time, only one imaging task will be talking to it at a given time. The multiple imaging tasks model works well when the destination is a spooler that can accept more than one job at a time. Each job in the queue knows the task that is processing it so that functions like “abort” and “pause” will operate properly. [0032]
  • Referring still to FIG. 3, the [0033] imaging engine 332 of the printer handler 310 for a particular printer receives one job at a time. The printer handler uses the developer customizable imaging engine 332 to convert the source description of the document into a stream of data targeted for the particular print device 328 that the printer handler is associated with. The imaging engine 332 obtains a spool stream from the print job and passes it to the printer device object 328. The printer device extracts individual pages out of the print run and converts the individual pages into the printer's imaging model. The imaging objects also perform the task of mapping the attributes requested by the print job (page size, media, color, fonts, etc.) to features actually available on the printer. This processing is achieved by consulting the printer's dynamic state maintained by the printer handler 310.
  • The printer handler is typically responsible for keeping track of the printer's persistent data, in particular, its job queue and dynamic state. The dynamic state contains things like the current media/tray setting, current color mode (2, 3 or 4 colors), etc. The printer state, which is part of the printer model's store, is updated when the printer handler images a job to it and finds that the state has changed. This scheme works when the printer handler has two-way communication available with the printer. In cases when two-way communication is not available, the printer handler will rely on the printer's static configuration. [0034]
  • Networked printers are basically the same as a local printer except that the communications channel must use a specific network protocol. The present invention can be implemented on printers using protocols based on NPA (Network Printing Architecture), TCP/IP, PAP protocol, and Novell IPX based print servers. [0035]
  • In accordance with the present invention, the operating system provides an interface, preferably a graphical user interface, which allows the user to custom assign printers for use when a print job having one or more specific attribute has been submitted. The one or more specific attributes of a print job may include, without limitation, the identity of the application generating the print job, the file type being printed, one or more features of the print job, the presence or absence of color, the page size, the number of pages, the draft quality specified, the paper stock selected, and combinations thereof. The attributes of the print job are identified by the operating system after receiving the print job, and the print jobs are directed to the appropriate printer by looking up the identified attributes in the user-customized printer assignments. [0036]
  • FIG. 4 is a flowchart illustrating steps executed by the operating system to select print job attributes that shall be used to select an available printer and to assign an available printer to each of the selected print job attributes. In [0037] state 400, the operating system determines whether the user or system administrator desires to setup printer assignments. If the user does not desire to setup printer assignments, then the process exits in state 402. To setup printer assignments, state 404 identifies the printers that are available to the computing system, such as a network. In state 406, the operating system identifies a list of potential print job attributes, which list may be a standard list. In state 408, it is determined if the user or system administrator desires to customize printer assignments or proceed to state 410 where default attribute-printer assignments are made or installed. In state 412, the customized printer assignments begin by allowing the user to select the print job attributes that are desired to be used as the basis for routing print jobs to the printers. In state 414, the user assigns an available printer to each of the selected print job attributes or combinations of attributes. The process of states 412 and 414 continues until the user indicates in state 416 that the attribute selections are complete. In state 418, the operating system then installs the custom attribute-printer assignments for use by the printer handler in routing print jobs to the available printers in a manner consistent with the user setup.
  • In a further embodiment, a special attribute bit, such as a color bit, is generated, either by the application program or the printer handler, to indicate that the print job includes a particular print job attribute, such as color, that should determine a suitable printer or printer handler for assigning to the print job. By monitoring print jobs for this color bit, each printer can determine whether it is suitable to handle the print job without having to analyze large portions of the print job. While there may be more than one printer on a network that can print color pages and therefore will accept print jobs having the color bit, the invention assures that the print job is printed on a suitable printer rather than a printer that will only print black and white images. By way of example, the special attribute bit may be a color bit where the value (1) indicates that the print job contains color images and the value (0) indicates that the print job is merely black and white. [0038]
  • In one embodiment of the invention, the print job is provided with a plurality of special attribute bits that each indicate the existence of a different print job attribute in the print job. For example, there were two special attribute bits associated with a print job, the first attribute bit could indicate color and the second attribute bit could indicate the resolution or dots per inch (dpi) required by the image. In this manner, drafts of spreadsheets using the color red to signify negative number values could be assigned to a low resolution, high-speed color printer, while digital photographs could be assigned to a high-resolution color printer loaded with special paper stock. [0039]
  • In one embodiment, the identifiable print job attributes that the user has specified as providing the basis for assigning printers are collected in a look-up table or database. Each record in the database will include a print job attribute, or combinations of print job attributes, that are intended to cause the relevant print job to be sent to a specific printer. Each record in the database will also include a specific printer, or combination of printers, that may receive the relevant print job. The resulting database is installed as part of the printer handler that routes print jobs to appropriate printers. [0040]
  • FIG. 5 is a table illustrating a one embodiment of a database file structure that the printer handler would utilize for routing print jobs to the available printers. The [0041] database 500 includes four fields: field 502 for the attribute identification, optional field 504 for a secondary attribute identification, field 506 for the printer assigned to the attribute, and an optional field 508 for a secondary printer assignment. The database table 500 is illustrated containing 5 records that primarily look for a color/no color attribute, but secondarily identifies if the color print job is a photo (possibly indicated by a special attribute bit) or exceeds a page size limitation and if the non-color print jobs have a resolution of greater than or less than a given dots per inch setpoint. For example, a print job identified as containing a color photo would be sent to the inkjet printer #2, unless it was offline, in which case the print job could be forwarded to the color laserjet #3.
  • It should be recognized that in a given business environment, a different combination of special attribute bits may be most desirable. Accordingly, the user interface of the present invention allows the user or system administrator to select the number of attribute bits to be used and the combination of attribute bits that will be utilized. [0042]
  • Once generated, the attribute bits for a particular print job may be stored in the print queue in association with the print job. In turn, the print manager will direct the print job to an appropriate printer on the basis of the attribute bits. Consequently, in one embodiment of the invention, the attribute bits form a temporary file that is deleted as soon as the print job has been sent on to a printer or printer handler. Accordingly, this process can take place entirely resident within the operating system, where the assignment of available printers to print jobs having certain attributes is preferably customizable by the user through a graphical user interface. [0043]
  • FIG. 6 is a flowchart illustrating the steps performed by the operating system. In [0044] state 600, the printer handler portion of the operating system receives a print job. In state 602, the print job is scanned or analyzed for selected print job attributes. In state 604, all of the selected attributes that are in the print job are identified. In state 606, attribute bits are generated for each of the identified attributes of the print job and these attribute bits are associated with the print job. In state 608, the printer handler performs a look-up in the installed attribute-printer assignments, which may be default assignments of or customized assignments. In state 610, the printer handler identifies the printer assigned to handle print jobs having the identified attributes. In state 612, the printer handler routes the print job to the identified printer. Finally, in state 614 the attribute bits, having served their purpose, are deleted or discharged.
  • A further optional feature of the invention is a notification sent to the computer from which the print job originated, notifying the user of that computer about what printer the printer handler has decided to send the print job to. The notification may also include an acknowledgement button requiring that the user acknowledge the destination of the print job or an optional instruction button to override the printer destination selected by the printer handler in favor of a manually selected printer. [0045]
  • It will be understood from the foregoing description that various modifications and changes may be made in the preferred embodiment of the present invention without departing from its true spirit. It is intended that this description is for purposes of illustration only and should not be construed in a limiting sense. The scope of this invention should be limited only by the language of the following claims. [0046]

Claims (14)

What is claimed is:
1. A method for selecting a printer for printing a print job, the method comprising:
identifying one or more attributes of the print job; and
directing, using user-defined instructions, the print job to a printer capable of handling the one or more attributes.
2. The method of claim 1, further comprising:
generating the plurality of print jobs using one or more application programs running in a computer that is in communication with one or more printers.
3. The method of claim 1, wherein the one or more attributes are selected from file type, application identity, color content, print resolution, page size and combinations thereof.
4. The method of claim 1, further comprising:
entering the user-defined instructions through a graphical user interface.
5. The method of claim 4, further comprising:
identifying the available printers; and
assigning one or more of the available printers for use with print jobs having the one or more attributes.
6. The method of claim 5, further comprising:
storing the user-defined instructions in memory for access by the printer handler.
7. The method of claim 1, wherein the user-defined instructions comprise a table of the one or more attributes and the printers.
8. A computer program product including instructions embodied on a computer readable medium, the instructions comprising:
identifying instructions for identifying one or more attributes of the print job; and
user-defined instructions for directing the print job to a printer capable of handling the one or more attributes.
9. The computer program product of claim 8, further comprising:
generating instructions for generating the plurality of print jobs, wherein the generating instructions are capable of running one or more application programs in communication with one or more printers.
10. The computer program product of claim 8, wherein the one or more attributes are selected from file type, application identity, color content, print resolution, page size and combinations thereof.
11. The computer program product of claim 8, further comprising:
entering instructions for entering the user-defined instructions.
12. The computer program product of claim 8, further comprising:
identifying instructions for identifying available printers; and
assigning instructions for assigning one or more of the available printers for use with jobs having the one or more attributes.
13. The computer program product of claim 11, further comprising:
data storage and retrieval instructions for enabling one or more printer handlers to access the user-defined instructions.
14. The computer program product of claim 11, wherein the user-defined instructions comprise a table of the one or more attributes and the printers.
US09/895,093 2001-06-29 2001-06-29 Print manager having a user interface for specifying how documents are directed to print devices Expired - Fee Related US7088462B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US09/895,093 US7088462B2 (en) 2001-06-29 2001-06-29 Print manager having a user interface for specifying how documents are directed to print devices

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US09/895,093 US7088462B2 (en) 2001-06-29 2001-06-29 Print manager having a user interface for specifying how documents are directed to print devices

Publications (2)

Publication Number Publication Date
US20030002069A1 true US20030002069A1 (en) 2003-01-02
US7088462B2 US7088462B2 (en) 2006-08-08

Family

ID=25403965

Family Applications (1)

Application Number Title Priority Date Filing Date
US09/895,093 Expired - Fee Related US7088462B2 (en) 2001-06-29 2001-06-29 Print manager having a user interface for specifying how documents are directed to print devices

Country Status (1)

Country Link
US (1) US7088462B2 (en)

Cited By (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020089691A1 (en) * 2001-01-11 2002-07-11 Andrew Fertlitsch Methods and systems for printing device load-balancing
US20020097424A1 (en) * 2001-01-11 2002-07-25 Sharp Laboratories Of America, Inc. Methods and systems for print system component-based remote printing
US20030007179A1 (en) * 2001-01-11 2003-01-09 Andrew Ferlitsch Methods and systems for page-independent spool file sheet assembly
US20030227644A1 (en) * 2001-01-11 2003-12-11 Sharp Laboratories Of America, Inc. Methods and systems for driver independent customized printing
US20040024728A1 (en) * 2002-08-01 2004-02-05 Toshiba Tec Kabushiki Kaisha System and method for data processing
US20050102442A1 (en) * 2003-11-12 2005-05-12 Ferlitsch Andrew R. Printer pool administration policy
US20050243361A1 (en) * 1997-12-11 2005-11-03 Canon Kabushiki Kaisha Printer, printing system, print control method, storage medium used to store print control program for controlling a printer, and transmission device for transmitting print control program for controlling a printer
EP1605394A2 (en) * 2004-06-09 2005-12-14 Printronix, Inc. Apparatus and method for controlling an RFID printer system
US7090417B2 (en) * 2002-10-29 2006-08-15 Eastman Kodak Company Method of programming pages within a document to be printed on different output devices
US20060279801A1 (en) * 2005-06-08 2006-12-14 Canon Kabushiki Kaisha Image processing apparatus and method
US20070091360A1 (en) * 2005-10-26 2007-04-26 Canon Kabushiki Kaisha Information processing apparatus and print control method
US20070208837A1 (en) * 2006-02-22 2007-09-06 Lifen Tian Device management system for processing client requests
US20080180721A1 (en) * 2007-01-31 2008-07-31 Sharp Laboratories Of America, Inc. Systems and methods for efficiently handling imaging job settings
WO2008118499A1 (en) * 2007-03-28 2008-10-02 Rr Donnelley Systems and methods for managing print jobs
US20090153905A1 (en) * 2007-12-18 2009-06-18 Cyman Jr Theodore F Systems and methods for processing of variable documents
US7679770B2 (en) 2001-01-11 2010-03-16 Sharp Laboratories Of America, Inc. Methods and systems for print-processor-based printer status detection and print task distribution
US20100110467A1 (en) * 2008-11-06 2010-05-06 Coniglio Paul A System and Method of Rasterizing PDF Files using Multiple Processors
US20100328703A1 (en) * 2009-06-29 2010-12-30 Konica Minolta Systems Laboratory, Inc. User-controlled color detection and optimization during document analysis prior to printing
US20120013927A1 (en) * 2010-07-15 2012-01-19 Brother Kogyo Kabushiki Kaisha Data-Processing Apparatus and Data-Processing Method
US8184304B2 (en) 2007-11-19 2012-05-22 Moore Wallace North America, Inc. System and method of operating a raster image processor
WO2012135368A1 (en) * 2011-04-01 2012-10-04 Ollivierre Arthur Austin System and method for displaying objects in a user interface based on a visual acuity of a viewer
US20120307268A1 (en) * 2011-06-05 2012-12-06 Apple Inc. Automatic generation of print data for print jobs based on available media attributes
US8456665B2 (en) 2001-01-11 2013-06-04 Sharp Laboratories Of America, Inc. Methods and systems for printing error recovery
US8881058B2 (en) 2011-04-01 2014-11-04 Arthur Austin Ollivierre System and method for displaying objects in a user interface based on a visual acuity of a viewer
US20150067022A1 (en) * 2002-07-15 2015-03-05 Hewlett-Packard Development Company, L.P. Network based software agent to allow dynamic resource access
US9569149B2 (en) * 2015-07-17 2017-02-14 Fuji Xerox Co., Ltd. Job processing system, job processing apparatus, and non-transitory computer readable medium
US11442670B2 (en) * 2014-12-15 2022-09-13 The Western Union Company Methods and systems for improving disclosure requirement compliance

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4254285B2 (en) * 2003-03-20 2009-04-15 富士ゼロックス株式会社 Data processing system and method
JP3793188B2 (en) * 2003-08-28 2006-07-05 キヤノン株式会社 Image processing device
US20050068563A1 (en) * 2003-09-30 2005-03-31 Truc Nguyen System and method for printing electronic files
US20050195425A1 (en) * 2004-01-24 2005-09-08 Bridges Amanda K. Email confirmation for specified task at print device
FR2883397B1 (en) * 2005-03-18 2007-09-14 Eastman Kodak Co METHODS FOR RECORDING AND READING DIGITAL DATA ON A PHOTOGRAPHIC MEDIUM
JP2007310877A (en) * 2006-05-22 2007-11-29 Oce Technologies Bv Automatic job submitter for submitting print job to printer
JP2010055559A (en) * 2008-08-29 2010-03-11 Canon Inc Document management device, document management method, and program
JP4661940B2 (en) * 2008-10-31 2011-03-30 ブラザー工業株式会社 Image processing system and image forming apparatus
WO2011090474A1 (en) 2010-01-20 2011-07-28 Hewlett-Packard Development Company, L.P. Cloud printer with a common user print experience
US8928911B2 (en) 2010-03-30 2015-01-06 Hewlett-Packard Development Company, L.P. Fulfillment utilizing selected negotiation attributes
WO2012112159A1 (en) 2011-02-17 2012-08-23 Hewlett-Packard Development Company, L.P. Systems and methods for managing a print job
US8970877B2 (en) 2011-03-31 2015-03-03 Hewlett-Packard Development Company, L.P. Using a generic email address of a server and a sender email address to determine a destination printer for print data
EP2702476A4 (en) 2011-04-29 2014-10-08 Hewlett Packard Development Co Method of managing print jobs using virtual print identity
JP5799698B2 (en) * 2011-09-14 2015-10-28 株式会社リコー Information processing apparatus and program
US9069501B2 (en) 2012-02-28 2015-06-30 Hewlett-Packard Development Company, L.P. Mechanism that allows initiating print without being aware of the printer email address
US8976388B2 (en) 2012-05-30 2015-03-10 Hewlett-Packard Development Company, L.P. Printer identification validation procedure on a cloud computer system to recognize the target printer
WO2014003712A1 (en) 2012-06-26 2014-01-03 Hewlett-Packard Development Company, L.P. Exposing network printers to wi-fi clients
US9588726B2 (en) * 2014-01-23 2017-03-07 Accenture Global Services Limited Three-dimensional object storage, customization, and distribution system
WO2015116174A1 (en) 2014-01-31 2015-08-06 Hewlett-Packard Development Company, L.P. Authentication of a print request
US10373237B2 (en) 2015-01-16 2019-08-06 Accenture Global Services Limited Three-dimensional object storage, customization, and procurement system
US9811076B2 (en) 2015-02-04 2017-11-07 Accenture Global Services Limited Method and system for communicating product development information
US10996909B2 (en) * 2017-02-24 2021-05-04 Hewlett-Packard Development Company, L.P. Document processing for printing

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5906442A (en) * 1995-06-20 1999-05-25 Canon Kabushiki Kaisha Print control apparatus, print control method, information processing apparatus, information processing method, and storage medium storing control program
US5978559A (en) * 1997-10-07 1999-11-02 Xerox Corporation User interface for distributed printing system
US6003069A (en) * 1997-12-16 1999-12-14 Lexmark International, Inc. Client/server printer driver system
US6064838A (en) * 1997-05-16 2000-05-16 Minolta Co., Ltd. Printing system that can identify printing cost beforehand
US6091509A (en) * 1997-06-30 2000-07-18 Hewlett-Packard Company Printer system and method for sending data hints of upcoming data
US6094276A (en) * 1993-05-18 2000-07-25 Canon Kabushiki Kaisha Printer server system and printout method
US6426798B1 (en) * 1999-03-04 2002-07-30 Canon Kabushiki Kaisha Data structure for printer description file
US6529286B1 (en) * 1998-12-22 2003-03-04 Canon Kabushiki Kaisha Dynamic printing interface for routing print jobs in a computer network
US6606165B1 (en) * 1995-08-07 2003-08-12 T/R Systems, Inc. Method and apparatus for routing pages to printers in a multi-print engine as a function of print job parameters
US6614549B1 (en) * 1999-03-26 2003-09-02 International Business Machines Corporation Print model that allows direct job submission to physical printer objects while preserving job defaulting, validation and scheduling

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6094276A (en) * 1993-05-18 2000-07-25 Canon Kabushiki Kaisha Printer server system and printout method
US5906442A (en) * 1995-06-20 1999-05-25 Canon Kabushiki Kaisha Print control apparatus, print control method, information processing apparatus, information processing method, and storage medium storing control program
US6606165B1 (en) * 1995-08-07 2003-08-12 T/R Systems, Inc. Method and apparatus for routing pages to printers in a multi-print engine as a function of print job parameters
US6064838A (en) * 1997-05-16 2000-05-16 Minolta Co., Ltd. Printing system that can identify printing cost beforehand
US6091509A (en) * 1997-06-30 2000-07-18 Hewlett-Packard Company Printer system and method for sending data hints of upcoming data
US5978559A (en) * 1997-10-07 1999-11-02 Xerox Corporation User interface for distributed printing system
US6003069A (en) * 1997-12-16 1999-12-14 Lexmark International, Inc. Client/server printer driver system
US6529286B1 (en) * 1998-12-22 2003-03-04 Canon Kabushiki Kaisha Dynamic printing interface for routing print jobs in a computer network
US6426798B1 (en) * 1999-03-04 2002-07-30 Canon Kabushiki Kaisha Data structure for printer description file
US6614549B1 (en) * 1999-03-26 2003-09-02 International Business Machines Corporation Print model that allows direct job submission to physical printer objects while preserving job defaulting, validation and scheduling

Cited By (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050243361A1 (en) * 1997-12-11 2005-11-03 Canon Kabushiki Kaisha Printer, printing system, print control method, storage medium used to store print control program for controlling a printer, and transmission device for transmitting print control program for controlling a printer
US7145683B2 (en) * 1997-12-11 2006-12-05 Canon Kabushiki Kaisha Printer, printing system, print control method, storage medium used to store print control program for controlling a printer, and transmission device for transmitting print control program for controlling a printer
US8411298B2 (en) * 2001-01-11 2013-04-02 Sharp Laboratories Of America, Inc. Methods and systems for printing device load-balancing
US7679770B2 (en) 2001-01-11 2010-03-16 Sharp Laboratories Of America, Inc. Methods and systems for print-processor-based printer status detection and print task distribution
US20020089691A1 (en) * 2001-01-11 2002-07-11 Andrew Fertlitsch Methods and systems for printing device load-balancing
US7548331B2 (en) 2001-01-11 2009-06-16 Sharp Laboratories Of America, Inc. Methods and systems for print system component-based remote printing
US20030007179A1 (en) * 2001-01-11 2003-01-09 Andrew Ferlitsch Methods and systems for page-independent spool file sheet assembly
US7480068B2 (en) 2001-01-11 2009-01-20 Sharp Laboratories Of America, Inc. Methods and systems for page-independent spool file sheet assembly
US20030227644A1 (en) * 2001-01-11 2003-12-11 Sharp Laboratories Of America, Inc. Methods and systems for driver independent customized printing
US8456665B2 (en) 2001-01-11 2013-06-04 Sharp Laboratories Of America, Inc. Methods and systems for printing error recovery
US20020097424A1 (en) * 2001-01-11 2002-07-25 Sharp Laboratories Of America, Inc. Methods and systems for print system component-based remote printing
US20150067022A1 (en) * 2002-07-15 2015-03-05 Hewlett-Packard Development Company, L.P. Network based software agent to allow dynamic resource access
US7746497B2 (en) 2002-08-01 2010-06-29 Kabushiki Kaisha Toshiba System and method for data processing
US20040024728A1 (en) * 2002-08-01 2004-02-05 Toshiba Tec Kabushiki Kaisha System and method for data processing
US7268898B2 (en) * 2002-08-01 2007-09-11 Kabushiki Kaisha Toshiba System and method for data processing
US7090417B2 (en) * 2002-10-29 2006-08-15 Eastman Kodak Company Method of programming pages within a document to be printed on different output devices
US7143210B2 (en) * 2003-11-12 2006-11-28 Sharp Laboratories Of America, Inc. User-defined printer selection administration policy
US20050102442A1 (en) * 2003-11-12 2005-05-12 Ferlitsch Andrew R. Printer pool administration policy
EP1605394A3 (en) * 2004-06-09 2006-11-02 Printronix, Inc. Apparatus and method for controlling an RFID printer system
EP1605394A2 (en) * 2004-06-09 2005-12-14 Printronix, Inc. Apparatus and method for controlling an RFID printer system
US8237727B2 (en) * 2005-06-08 2012-08-07 Canon Kabushiki Kaisha Image processing apparatus and method
US20060279801A1 (en) * 2005-06-08 2006-12-14 Canon Kabushiki Kaisha Image processing apparatus and method
US8553251B2 (en) * 2005-10-26 2013-10-08 Canon Kabushiki Kaisha Information processing apparatus and print control method
US20070091360A1 (en) * 2005-10-26 2007-04-26 Canon Kabushiki Kaisha Information processing apparatus and print control method
EP1826673A3 (en) * 2006-02-22 2009-07-29 Ricoh Company, Ltd. Device management system for processing client requests
US20070208837A1 (en) * 2006-02-22 2007-09-06 Lifen Tian Device management system for processing client requests
US8358436B2 (en) * 2007-01-31 2013-01-22 Sharp Laboratories Of America, Inc. Systems and methods for efficiently handling imaging job settings
US20080180721A1 (en) * 2007-01-31 2008-07-31 Sharp Laboratories Of America, Inc. Systems and methods for efficiently handling imaging job settings
WO2008118499A1 (en) * 2007-03-28 2008-10-02 Rr Donnelley Systems and methods for managing print jobs
US20080239366A1 (en) * 2007-03-28 2008-10-02 Cyman Theodore F Systems and methods for managing print jobs
US8289538B2 (en) 2007-03-28 2012-10-16 Moore Wallace North America, Inc. Systems and methods for managing print jobs
US8184304B2 (en) 2007-11-19 2012-05-22 Moore Wallace North America, Inc. System and method of operating a raster image processor
US20090153905A1 (en) * 2007-12-18 2009-06-18 Cyman Jr Theodore F Systems and methods for processing of variable documents
US8564808B2 (en) 2007-12-18 2013-10-22 R. R. Donnelley & Sons Company Systems and methods for processing of variable documents
US20100110467A1 (en) * 2008-11-06 2010-05-06 Coniglio Paul A System and Method of Rasterizing PDF Files using Multiple Processors
US20100328703A1 (en) * 2009-06-29 2010-12-30 Konica Minolta Systems Laboratory, Inc. User-controlled color detection and optimization during document analysis prior to printing
US20120013927A1 (en) * 2010-07-15 2012-01-19 Brother Kogyo Kabushiki Kaisha Data-Processing Apparatus and Data-Processing Method
US8810835B2 (en) * 2010-07-15 2014-08-19 Brother Kogyo Kabushiki Kaisha Data-processing apparatus that causes device to execute process
WO2012135368A1 (en) * 2011-04-01 2012-10-04 Ollivierre Arthur Austin System and method for displaying objects in a user interface based on a visual acuity of a viewer
US8881058B2 (en) 2011-04-01 2014-11-04 Arthur Austin Ollivierre System and method for displaying objects in a user interface based on a visual acuity of a viewer
US20120307268A1 (en) * 2011-06-05 2012-12-06 Apple Inc. Automatic generation of print data for print jobs based on available media attributes
US9282219B2 (en) * 2011-06-05 2016-03-08 Apple Inc. Automatic generation of print data for print jobs based on available media attributes
US11442670B2 (en) * 2014-12-15 2022-09-13 The Western Union Company Methods and systems for improving disclosure requirement compliance
US9569149B2 (en) * 2015-07-17 2017-02-14 Fuji Xerox Co., Ltd. Job processing system, job processing apparatus, and non-transitory computer readable medium

Also Published As

Publication number Publication date
US7088462B2 (en) 2006-08-08

Similar Documents

Publication Publication Date Title
US7088462B2 (en) Print manager having a user interface for specifying how documents are directed to print devices
US6874034B1 (en) Intelligent peer hybrid printing protocol
US8139500B2 (en) Information processing device and method thereof, and computer program product
US6965958B1 (en) Searching for printers over a network using intermediate print data
US6348971B2 (en) Printing system and printing method for selecting an optimum printing for printing
US8526041B2 (en) Efficiently controlling a print output destination in association with an information processing apparatus that has issued a print request
US8830500B2 (en) Print-job distribution program, a printer program and corresponding methods
US5483653A (en) Printing system with file specification parsing capability
JP5074665B2 (en) Coordinated parallel printing of print jobs that include pages that cannot be handled by a single printer
JP5402392B2 (en) Printer network system, server apparatus, printing method, program, and recording medium
US20040205621A1 (en) Method and apparatus for formatting documents
EP1662372A2 (en) Information processing apparatus, printing system, and control method therefor
US20070229895A1 (en) Print job management method and apparatus using virtual queues
JP5293035B2 (en) Data processing apparatus, data processing method, program, and recording medium
CN101615107B (en) Information processing apparatus, and control method of image processing system
JP2000165645A (en) Peripheral device, its control method and storage medium
WO2005124531A1 (en) Information processing device and job transfer control method
JP2000137590A (en) Information processor/procesing method/system, storage medium storing information processing program, transmission device transmitting information processing program and information processing program product
US7149826B2 (en) Peripheral device output job routing
US20030020944A1 (en) Printer pausing and reordering
US6525831B1 (en) Non-format violating PDL guessing technique to determine the page description language in which a print job is written
US6809841B2 (en) Marking print documents for visible ownership
US20040021906A1 (en) Peripheral device output job routing
US6275299B1 (en) Multiple spooler printing system
JPH11143661A (en) Printing system

Legal Events

Date Code Title Description
AS Assignment

Owner name: INTERNATIONAL BUSINESS MACHINES CORPORATION, NEW Y

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:BHOGAL, KULVIR SINGH;ISHMAEL, NIZAM JR.;JAMEOSSANAIE, JAVID;AND OTHERS;REEL/FRAME:011974/0512;SIGNING DATES FROM 20010611 TO 20010628

FPAY Fee payment

Year of fee payment: 4

REMI Maintenance fee reminder mailed
FPAY Fee payment

Year of fee payment: 8

SULP Surcharge for late payment

Year of fee payment: 7

AS Assignment

Owner name: LINKEDIN CORPORATION, CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:INTERNATIONAL BUSINESS MACHINES CORPORATION;REEL/FRAME:035201/0479

Effective date: 20140331

FEPP Fee payment procedure

Free format text: MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.)

LAPS Lapse for failure to pay maintenance fees

Free format text: PATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

STCH Information on status: patent discontinuation

Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362

FP Expired due to failure to pay maintenance fee

Effective date: 20180808