US20020089687A1 - Methods and systems for print-processor-based printer status detection and print task distribution - Google Patents

Methods and systems for print-processor-based printer status detection and print task distribution Download PDF

Info

Publication number
US20020089687A1
US20020089687A1 US09/681,409 US68140901A US2002089687A1 US 20020089687 A1 US20020089687 A1 US 20020089687A1 US 68140901 A US68140901 A US 68140901A US 2002089687 A1 US2002089687 A1 US 2002089687A1
Authority
US
United States
Prior art keywords
print
printers
printing
status
available
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.)
Abandoned
Application number
US09/681,409
Inventor
Andrew Ferlitsch
Jerry Orleck
Mary Bourret
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.)
Sharp Laboratories of America Inc
Original Assignee
Sharp Laboratories of America Inc
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
Priority claimed from US09/681,208 external-priority patent/US20020113989A1/en
Application filed by Sharp Laboratories of America Inc filed Critical Sharp Laboratories of America Inc
Priority to US09/681,409 priority Critical patent/US20020089687A1/en
Assigned to SHARP LABORATORIES OF AMERICA, INC. reassignment SHARP LABORATORIES OF AMERICA, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: MARY LOUISE BOURRET, ANDREW RODNEY FERLITSCH, JERRY STEVEN ORLECK
Priority to US09/894,928 priority patent/US7480068B2/en
Priority to US09/964,985 priority patent/US8411298B2/en
Priority to US10/003,800 priority patent/US7180619B2/en
Priority to US09/683,162 priority patent/US20020089689A1/en
Priority to US09/683,667 priority patent/US7548331B2/en
Priority to US10/096,689 priority patent/US7190477B2/en
Publication of US20020089687A1 publication Critical patent/US20020089687A1/en
Priority to US10/208,122 priority patent/US20030007177A1/en
Priority to US10/396,201 priority patent/US7265860B2/en
Priority to US11/125,524 priority patent/US7706017B2/en
Priority to US11/548,683 priority patent/US7679770B2/en
Abandoned 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
    • 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/1229Printer resources management or printer maintenance, e.g. device status, power levels
    • 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/1229Printer resources management or printer maintenance, e.g. device status, power levels
    • G06F3/1234Errors handling and recovery, e.g. reprinting
    • 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/126Job scheduling, e.g. queuing, determine appropriate device
    • G06F3/1261Job scheduling, e.g. queuing, determine appropriate device by using alternate printing
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/503Resource availability

Definitions

  • Embodiments of the present invention relate to methods and systems for detecting printing devices and distributing print tasks to printers in a network. More particularly, these embodiments relate to methods and systems for detecting printer status and distributing print tasks in a network cluster printing environment through the use of novel print-processor-based applications. These embodiments provide increased print system performance and avoid failed print tasks without the use of additional hardware.
  • Cluster printing has been introduced to avoid this problem.
  • Cluster printing involves the use of multiple printers in a network.
  • print jobs can be sent to a multiple printer network with a capacity that rivals the capacity of expensive, high-throughput equipment.
  • this network is comprised of multiple lower-production printers that may already exist in an office environment making the cost of the network very manageable.
  • a user may choose to split a single print job among several printers to increase print job speed and decrease print time.
  • Print jobs that include multiple copies may be divided so that each printer in a network prints some of the copies.
  • Other variations of print job distribution may also be implemented.
  • Cluster printing may be implemented through specialized printers which contain cluster-enabling firmware. When these printers are interconnected via cables, they can share printing jobs. In some cases, the marking engines are connected to enable division of printing tasks between the connected printers.
  • Another problem that exists in single printer, cluster printing, network printing and other environments is that of printer status detection.
  • a user When a print job is initiated, a user typically selects a printer or printers based on the printers' location and/or capabilities. However, if one or more selected printers are offline, in an error state, busy, or for some other reason, unavailable, the print job may not be completed in an acceptable time period or may not be completed at all. Typically, an error message is returned to the user who must then select another printer or correct the problem preventing the selected printer from functioning. In some network printing cases involving print queues, no error message is returned and the user is left unaware of the printing problem. When a print job is time sensitive this process can be frustrating causing missed deadlines and tarnished reputations.
  • Printer status detection can be especially important in cluster printing environments where print tasks are divided among several printing devices.
  • a print task or portions thereof can be delayed, interrupted or lost.
  • Embodiments of the present invention comprise methods and systems which enable a user to detect printer status and distribute print tasks to a plurality of printing devices without the use of additional hardware or server software for this purpose. These systems and methods are typically used in conjunction with a computer network comprising at least one computing device and a plurality of printing devices. Printing tasks which are typically sent to a user-selected printing device may be distributed to available printing devices to increase printing speed, volume and/or capacity. This printer status detection, availability determination and distribution capability can be achieved without the use of additional hardware and firmware and without modification to software applications.
  • Embodiments of the present invention comprise a novel print processor which is capable of detecting the status of printing devices. This detection may take place when a print task is sent to the print processor, prior to print task transmission, during the printing process or at some other time. Typically, printing device status is detected at the time a print task is sent to the print processor. If a print task is initially directed to a printing device that is unavailable or otherwise unable to function for the current task, the print processor of the present invention may redirect the print task to another printing device that is available for use.
  • the printing device status may be used to determine cluster printing parameters.
  • a print task may be divided among the maximum number of available printing devices as determined by the status detection of embodiments of the present invention.
  • a print task may be divided among the maximum number of available printers within a given distance to a user.
  • Other embodiments may use printing device status information to customize these and other cluster printing parameters.
  • FIG. 1 is a diagram showing an embodiment of the present invention comprising printer availability detection for a local printer
  • FIG. 2 is a diagram showing an embodiment of the present invention comprising printer availability detection for networked printers
  • FIG. 3 is a diagram showing an embodiment of the present invention comprising printer availability detection for remote printers
  • FIG. 4 is a diagram showing an embodiment of the present invention wherein printer availability is detected
  • FIG. 5 is a diagram showing an embodiment of the present invention comprising printing device detection and a user selection interface
  • FIG. 6 is a diagram showing an embodiment of the present invention comprising printing device detection and task rollover;
  • FIG. 7 is a diagram showing an embodiment of the present invention comprising printing device detection and rollover to available or busy devices
  • FIG. 8 is a diagram showing an embodiment of the present invention comprising printing device detection and device group management.
  • FIG. 9 is a diagram showing an embodiment of the present invention comprising printing device detection and preferred and backup group management
  • FIGS. 1 through 5 The figures listed above are expressly incorporated as part of this detailed description. It will be readily understood that the components of the present invention, as generally described and illustrated in the figures herein, could be arranged and designed in a wide variety of different configurations. Thus, the following more detailed description of the embodiments of the systems and methods of the present invention, as represented in FIGS. 1 through 5 is not intended to limit the scope of the invention, as claimed, but it is merely representative of the presently preferred embodiments of the invention. The currently preferred embodiments of the present invention will be best understood by reference to the drawings, wherein like parts are designated by like numerals throughout.
  • print job may refer to any combination of data that can be printed.
  • a print job may comprise text and/or graphics and may comprise part of a page, a single page or many pages.
  • Print jobs may be rendered or unrendered.
  • a print job is generated by an application, such as a word processor, spread sheet, etc., however, a print job may also comprise a file or data in memory that may be sent directly to a print process.
  • print copy or “copy” may refer to data, code or commands which generate a single printing device output of a print job or may refer to the actual hard copy output of the print job.
  • print task may comprise any combination of print jobs and copies thereof.
  • a print task may comprise one or more print jobs and one or more copies of each print job.
  • copy splitting may refer to a process by which a print task comprising multiple copies is divided into multiple modified print tasks with each modified print task comprising a portion of the total number of copies.
  • job splitting may refer to a process by which a print task comprising at least one print job is split into multiple modified print tasks with each modified print task comprising a portion of a print job.
  • references to a Microsoft Windows® or Windows® operating system may refer to any version or variation of a Microsoft Windows® operating system comprising Windows 95®, Windows 98®, Windows NT®, Windows 2000®, Windows ME®, Windows XP® and others. While exemplary embodiments of the present invention may be directed to a Windows® operating system and environment, systems and methods directed to other operating systems such as Macintosh®, UNIX, DOS, Linux, MVS and others are to be contemplated within the scope of the present invention.
  • Embodiments of the present invention may be embodied in software, firmware, hardware and other forms that achieve the function described herein. As embodiments of the present invention may be adapted to many environments with varying computing devices, operating systems, printing devices, network hardware and software, applications and other variables, these embodiments may take many forms to achieve their function. Some embodiments may also be transmitted as signals, for example, and not by way of limitation, embodiments may be transmitted as analog or digital electrical signals or as light in a fiber-optic line. All of these embodiments are to be considered within the scope of the present invention.
  • Embodiments of the present invention may be used to achieve printing device status detection and analysis, print task modification, copy splitting, job splitting and various combinations of these concepts along with related distribution tasks that allow modified or unmodified print tasks to be distributed to one or more printing devices.
  • printer status is detected and analyzed to determine a print task destination or modified print task destination.
  • printer status and printer capabilities may be used to modify a print task to print on a specific printer.
  • Some embodiments of the present invention may detect the status of a local printing device.
  • a local printing device is a printing device that is directly connected to a communications port on a computing device and which is being used by a user of that computing device.
  • a printer connected to a USB port, a parallel port or a serial port on a desktop computer is a local printer when it is being used by that computer.
  • SDPP status detecting print processor
  • a status detecting print processor (SDPP) 10 of the present invention may be used to detect the status of the local printer. This may be done by querying a port manager 12 which can access information about the devices connected to the various ports on a computer.
  • the port manager 14 can communicate with the devices connected to its ports and determine their status.
  • a bidirectional communication 16 may be established between a port manager 12 and a printing device 14 .
  • This communication is generally carried out using a printing or communication protocol.
  • a printing device status may be determined by the port manager 12 and communicated back to the MPP 10 .
  • a port manager may typically determine printing device status such as conditions where a printing device is offline, busy, ready to print, or in an error state.
  • Other status conditions may also be determined according to the capabilities and limitations of the port manager, printing/communications protocol, printing device, operating system and other factors. Depending on these factors, an estimated time to current job completion, printer speeds (i.e., ppm) particular error state details and other status details may also be determined.
  • Embodiments of the present invention may also be used to detect printing device status on network printing devices. This may be done in several ways. Some of these methods are described in reference to FIG. 2.
  • a status detecting print processor (SDPP) 20 may communicate with a port manager 22 and access information regarding devices connected to its ports.
  • a port manager 22 may communicate with a print server 26 and obtain information about a network print queue 28 .
  • a port manager 22 may use an application program interface (API) to communicate with the print server 26 and obtain network queue 28 information.
  • API application program interface
  • Printer queue 28 information may comprise the number of print jobs in the queue which may be used to determine if the associated printer 24 is busy or idle.
  • a SDPP 20 may communicate directly with a network printer 24 by pinging 30 the printer 24 to determine its status. If a printer 24 responds to the ping 30 , the SDPP may determine that the printer 24 is online in a ready to print or busy state or offline in an error state (off.errorstate). If a printer 24 does not respond to a ping 30 , the SDPP may determine that the printer 24 is offline.
  • Some embodiments of the present invention may also comprise a SDPP 20 which employs a communication protocol 32 to communicate directly with a network printing device 24 .
  • a SDPP 20 may use the Simple Network Management Protocol (SNMP) to send protocol data units (PDUs) to network devices and gather information from device Management Information Bases (MIBs) to determine device status.
  • SNMP Simple Network Management Protocol
  • MIBs device Management Information Bases
  • a SDPP 20 may determine if a printing device is offline, busy, ready to print, in an error state and other status information. When a printing device 24 is busy, more detail can be obtained such as print job identification, job size, estimated time to completion and other details. When a printing device 24 is ready, more detail may also be obtained such as whether the printing device 24 is idle (cool) or warm.
  • a newer remote monitoring protocol may also be used to determine printing device status.
  • RMON embodiments utilize additional MIBs beyond those established for SNMP protocols.
  • RMON embodiments may also gather network traffic data to further refine a device's status.
  • Other embodiment may comprise an Internet Printing Protocol (IPP) and HTTP servers.
  • IPP Internet Printing Protocol
  • Embodiments of the present invention may also detect the status of remote printing devices as shown in FIG. 3.
  • Remote printing devices 44 may be connected to a computing device at a location that is not directly connected to the computing device and that is not directly connected to the network of the computing device. These printing devices are generally connected through an internet connection via an IP address 46 .
  • the status of remote printing devices 44 may be detected by methods similar to those used for network printing devices.
  • a SDPP 40 may ping 48 a remote printing device 44 directly via its IP address 46 and determine a ready or offline status based on a response or lack of response, respectively.
  • a SDPP 40 may also utilize communications protocols 50 such as SNMP and RMON to communicate directly with a printing device 44 and access status information contained in the device's MIBs. These communications protocol methods may be used to determine if a printing device is offline, busy, ready to print, in an error state or other status information. When a printing device 44 is busy, more detail can be obtained such as print job identification, job size, estimated time to completion and other details. When a printing device 44 is ready, more detail may also be obtained such as whether the printing device 24 is idle (cool) or warm.
  • a SDPP 40 may also communicate 52 with a remote printing device 44 through a port manager 42 .
  • an API may be used to communicate with the remote printing device 44 and ascertain the status of the printing device.
  • a Graphical Device Interface (GDI) API may be used to determine printing device status.
  • Some embodiments of the present invention enable a computing device to detect the status of printing devices and direct a print task according to device availability.
  • a print task is initiated 60 from an application program, an operating system command or some other method.
  • This initial procedure generally activates a print driver which may allow a user to select a print destination and format.
  • a user generally selects a destination device that is appropriate for the desired task. The capabilities and limitations of this selected destination device may be used by these embodiments to determine compatible devices parameters.
  • the task may create a print task spool file which is sent to a spooler.
  • the spooler then, sends the print task to a print processor for interpretation.
  • the print processor may detect 62 the status of printing devices to determine their availability and capacity to perform a print task. When an available printing device is detected, the print processor may direct 64 the print task to the available device.
  • This device to which the task is directed may be the device initially selected by a user, or another device selected by the print processor according to availability or some other parameter.
  • the initially selected device may also be a virtual device.
  • Embodiments of the present invention may switch or redirect tasks between any printing devices that are compatible.
  • Printing devices such as printers, are generally compatible when they share the same Page Description Language (PDL) and have marking engines that share a similar geometric format.
  • PDL Page Description Language
  • Other types of printing devices may be compatible when they share the same driver or description language.
  • FIG. 5 Other embodiments of the present invention may employ a user interface to prompt for user selection of available devices as shown in FIG. 5.
  • a print task is initiated 70 and the task is transmitted through the necessary drivers, spoolers and other processes until it arrives at a print processor.
  • the print processor checks 72 the status of printing devices in communication with it and compiles a list of available printing devices. This list of available devices is presented 74 to a user and the user is prompted to make a selection among the available devices.
  • Any form of user interface may be used to prompt the user, such as a dialog box, checkbox list or some other selection interface.
  • the user selects 76 a preferred device in the case of a single device task or, in the case of a cluster printing task, a user may select a group of available devices.
  • the print processor of the present invention directs 78 the print task to the selected printing device or devices.
  • FIG. 6 Further embodiments of the present invention may be used to accomplish a print task rollover process as illustrated in FIG. 6.
  • a print rollover process is used to prevent print task delays when a default or preferred printer or printers are busy, offline or otherwise unavailable or unusable.
  • a user In the print rollover process, a user generally selects a default printing device 80 which may be stored according to many known methods.
  • a user then initiates a print task 82 . This can be done in a variety of ways including, but not limited to, selecting a print option in an application, running a batch file and others.
  • a print driver is typically used to create a spool file that is sent to a spooler for spooling to a print processor.
  • the print processor is a SDPP which checks the status 84 of printing devices that are in communication with the SDPP. These may be local, network or remote printing devices. Among these printing devices is the default printing device previously selected 80 .
  • the SDPP of these embodiments checks the status of the default printing device 84 and determines its availability. When the default printer is available 86 , the print job is sent to the default printer 88 through typical printing channels. Once the print job has been sent, the SDPP or related code may notify 90 the user of the job destination. However, when the job is sent to the default printer 88 , as expected by the user, notification 90 is optional.
  • these embodiments check the status of other printing devices to determine if any of them are available 92 . If another printing device is available, the print task is “rolled over” 94 or directed to that available printing device instead of the default device. When this occurs, the user may be notified 96 of the new destination of the print task. If no printing devices are available 92 , other options may be executed. In some embodiments, the print task may be cancelled 98 and the user may be notified 100 of the unsuccessful attempt. In other embodiments, shown as alternative paths in FIG.
  • the print processor may wait 102 for a period of time, suspend until re-initiated by the user or wait for some other event to occur after which it may again check the status of printing devices 84 . If the default device or another device becomes available during the wait period, the print task may be directed to that device as if it were available before the wait period.
  • a default device is generally selected 110 at some time prior to initiating a print task 112 .
  • a print task follows typical print processes until it is routed to a print processor.
  • the print processor checks the status 114 of printing devices and determines whether the devices are available or busy.
  • a status of available or busy may depend on several parameters, but typically, an available printing device will be idle with no print tasks in its queue or memory and a busy printing device will be printing with or without print tasks in its queue.
  • the actual conditions defining a busy or available status may vary according to a user's needs. Variables such as the number of tasks in a print queue, task size, estimated time to completion and other factors may be used to determine a device status as available, busy or other states.
  • the print processor determines whether the default printing device is available 114 . If the default device is available, the print processor will direct the print task to the default device 118 . Optional notification to the user of the destination of the print task 120 may be performed. If the default device is not available, the print processor may determine if other printing devices are available 122 . If another printing device is available, the print processor may direct the task 124 to the available device and notify the user of the task destination 126 . Alternatively, the print processor may wait for a period of time to allow the default device to become available or prompt the user for input 138 .
  • these embodiments may wait for a period of time and re-check device status or prompt a user for input 138 .
  • Embodiments may also determine if the unavailable printing devices are simply in a busy state 128 . If a printing device is simply busy, the print job may be rolled over 130 to the busy printing device and the user is notified 132 of the final destination of the print job. When no printing devices are available and none are busy, the print job may be cancelled 134 and the user notified 136 that no printing devices are currently responding. Alternatively to task cancellation 134 , some embodiments may wait for a period of time 138 and re-check the status of the printing devices.
  • a wait period may be activated from any step in the device status detection and task direction processes. For example, and not by way of limitation, a wait period or user prompt 138 may be activated when default device is not available 116 , when another device is not available 122 , when a busy device cannot be found 128 or at some other point in these processes.
  • Some embodiments of the present invention are adapted for use in cluster printing environments as shown in FIG. 8.
  • a user may select one or more preferred printing devices 140 from a pool of printing devices in communication with the user's computing device.
  • Preferred printing devices may be ranked in an order of preference, have no preference or a combination of ranked and non-ranked devices. These devices may also be ranked in multiple ways according to criteria such as speed, availability, location or other criteria.
  • a group of printers may be selected for cluster printing tasks as a preferred set of printers while one of these printers or another printer may be designated as a preferred printer for a single-printer task.
  • a print task is initiated 142 in a typical manner as described above.
  • a cluster-enabled print processor (CPP) 143 of some embodiments of the present invention may modify a print task for cluster printing.
  • a multiple-printer task configured without a CPP may be directed to a status-detecting print processor (SDPP) print processor.
  • SDPP status-detecting print processor
  • a SDPP of embodiments of the present invention may check the status 144 of printing devices in communication with it.
  • the SDPP will check whether all printers in the preferred group are available 146 . If all the preferred printers are available 146 , the SDPP will direct the print tasks or modified print tasks to the preferred printers 148 and notify the user of the task destinations 150 .
  • the SDPP may prompt for user input or wait for a period of time for printers to become available 165 .
  • the SDPP may check to see if other printers are available 152 . If a sufficient number of other printers are available to make up for the lack of preferred printers, a new group 154 may be formed to which the print tasks may be directed 156 by the SDPP. When print tasks are redirected in this manner, a user may be notified 158 of the final destination of each print task or modified print task.
  • a SDPP may prompt for user input or wait for printers to become available 165 .
  • a SDPP may check for busy printers 160 . These may be printers which are printing at the time of the status check, printers which will be available within a given time period, printers which have only a given number of jobs in their queue or printers in some other situation that would indicate they will soon be available. Many algorythms may be used to determine a busy status. As a non-limiting example, the maximum time to complete the current load or queue combined with a printer's estimated time to start or load a task.
  • a new group will be formed 162 with the busy and available printers and the SDPP will direct the print tasks to this group 164 .
  • a user may again be notified 166 of the final destination of the print tasks.
  • the initial print task may be reconfigured as a cluster print task that requires fewer printers, such as the number of available printers 168 or the number of available and busy printers combined.
  • this reconfiguration can be performed, a new smaller group of printers is formed 170 and the SDPP directs the new modified print tasks to printers in this new printer group 172 . Again, users may be notified of the destination and configuration of the final modified print tasks 174 .
  • a SDPP may prompt for user input or wait for printer status changes 165 .
  • a print task may be cancelled 176 and the user notified 178 of the cancellation and printers' status.
  • a wait period or user prompt 165 may be added to these processes.
  • a wait period or user prompt may be activated from any point in these processes in order to allow user input to decision-making processes and to allow devices to become available or otherwise change status when a current situation is unacceptable.
  • the initial task or tasks may be re-initialized and printer status checking may begin anew as in some above-described embodiments.
  • a user may also select task cancellation from a user prompt.
  • a user may want to limit the printers accessed by the SDPP to one or more select groups. Other reasons may also motivate a user to limit accessible printers. Some embodiments of the present invention may accommodate these needs.
  • a user may select a preferred group of printers 180 to which print tasks will be sent when they are available.
  • a user may select a group of backup printers 182 which may be substituted into the preferred group when printers in that group are not available, busy or otherwise unusable.
  • Preferred and backup printing devices may be ranked in order of preference in some embodiments.
  • a user may designate printing devices which should not be used as preferred 180 or backup 182 printing devices thereby eliminating them from consideration by the SDPP.
  • These selection processes allow a user to eliminate printing devices from consideration which are not acceptable to a user by virtue of their location, capability or some other reason.
  • a user may initiate a cluster printing task or multiple-printer task 184 which is sent to a SDPP of embodiments of the present invention. This may be done through a CPP or my other means. In some embodiments, a CPP may be integrated with a SDPP to perform both cluster-enabling functions and status detection functions.
  • the SDPP upon receiving task or group of tasks, checks the status of printers in the preferred and backup printer groups 186 . If all printers in the preferred group are available 188 , the SDPP will direct the print tasks to the preferred group 190 and notify the user of the tasks' destinations.
  • the SDPP may determine whether backup printers are available 194 . If backup printers are available 194 , they may be added to the preferred printers which are available to form a new group of available printers 196 . The SDPP will then direct the print tasks to this new printer group 198 and notify the user of the destination of the print tasks 200 . In an alternative embodiment, a user prompt or wait period may be activated when preferred printers are not available 205 .
  • a SDPP may prompt for user input or wait for a change in printer status 205 .
  • the SDPP may add any busy printers in the preferred group 202 until the number of printers equals the number of preferred printers or the number of printers required for the particular task or tasks. If the addition of busy printers to a group creates a group of sufficient size, a new group is formed 204 and the SDPP may direct the print task or tasks to this new group 206 . As in other embodiments, a user may be notified of task destinations and modifications 208 .
  • a task may be cancelled 210 , and the user notified of the cancellation 212 .
  • a SDPP may prompt for user input or enter a wait period 205 and restart the status checking process after a period of time.
  • the SDPP may reconfigure a task or tasks for output on a smaller number of printers as described in relation to FIG. 8.
  • a wait period or user prompt 205 may be utilized in these embodiments an many others to allow devices to become available or otherwise change status or to solicit user input at different points in these processes.
  • embodiments of the present invention may reenter the steps illustrated in these flowcharts and equivalents at many points 84 , 86 , 92 , 98 , 114 , 116 , 122 , 128 , 134 , 144 , 146 , 152 , 160 , 168 , 176 , 186 , 188 , 194 , 202 or 210 in the process.
  • FIGS. 1 - 9 The methods and systems shown in FIGS. 1 - 9 are illustrative of exemplary embodiments of the present invention. Other embodiments may be derived through omission and addition of the illustrated steps and their equivalents.

Abstract

Embodiments of the present invention comprise methods and systems which enable a user to detect the status of printing devices without the use of additional hardware or application program modification for this purpose. These systems and methods are typically used in conjunction with a computer network comprising at least one computing device and a plurality of printing devices. When a print task is sent for printing it will activate a print processor for interpreting the print task. In addition to a print processor's interpretation function, the print processors of the present invention may detect the status of printing devices. Some embodiments may use this information to redirect or otherwise modify a print task for improved printing performance.

Description

    CROSS REFERENCE TO RELATED APPLICATIONS
  • This application claims the benefit of Provisional Application Serial No. 60/261,132, entitled “Methods and Systems for Print-Processor Modified Printing” filed Jan. 11, 2001 by inventors Ferlitsch et al. This application further claims the benefit of U.S. Patent Application Serial No. 09/681,208, entitled “Methods and Systems for Print-Processor Modified Printing” filed Feb. 22, 2001 by inventors Ferlitsch et al.[0001]
  • BACKGROUND OF INVENTION
  • Embodiments of the present invention relate to methods and systems for detecting printing devices and distributing print tasks to printers in a network. More particularly, these embodiments relate to methods and systems for detecting printer status and distributing print tasks in a network cluster printing environment through the use of novel print-processor-based applications. These embodiments provide increased print system performance and avoid failed print tasks without the use of additional hardware. [0002]
  • Many offices can generate a high volume of printer output or require high print rates to meet deadlines. When these needs are fairly constant, large, high-production printers and associated hardware may be required. These high-production units are expensive to procure and maintain and, generally, are only made economically feasible by a constant high demand for printer output. When printer requirements fluctuate, the costs of these high-production printers are difficult to justify. However, when sporadic, high printer throughput is a necessity, some offices are forced to bear the costs of expensive printer equipment that runs at well below its capacity most of the time. [0003]
  • Cluster printing has been introduced to avoid this problem. Cluster printing involves the use of multiple printers in a network. With cluster printing, print jobs can be sent to a multiple printer network with a capacity that rivals the capacity of expensive, high-throughput equipment. Generally, this network is comprised of multiple lower-production printers that may already exist in an office environment making the cost of the network very manageable. [0004]
  • Through the use of cluster printing, a user may choose to split a single print job among several printers to increase print job speed and decrease print time. Print jobs that include multiple copies may be divided so that each printer in a network prints some of the copies. Other variations of print job distribution may also be implemented. [0005]
  • Cluster printing may be implemented through specialized printers which contain cluster-enabling firmware. When these printers are interconnected via cables, they can share printing jobs. In some cases, the marking engines are connected to enable division of printing tasks between the connected printers. [0006]
  • Other methods of implementing cluster printing functions require the use of additional hardware or application software. Typically, a specialized print server is used. This server is generally a high-performance general purpose computer to which print jobs are directed by the network. Specialized software on the server allows print jobs or copies thereof to be distributed among multiple printers that are managed by the server. [0007]
  • These known cluster printing implementations require specialized printer or server hardware or software to provide cluster printing functions. [0008]
  • Another problem that exists in single printer, cluster printing, network printing and other environments is that of printer status detection. When a print job is initiated, a user typically selects a printer or printers based on the printers' location and/or capabilities. However, if one or more selected printers are offline, in an error state, busy, or for some other reason, unavailable, the print job may not be completed in an acceptable time period or may not be completed at all. Typically, an error message is returned to the user who must then select another printer or correct the problem preventing the selected printer from functioning. In some network printing cases involving print queues, no error message is returned and the user is left unaware of the printing problem. When a print job is time sensitive this process can be frustrating causing missed deadlines and tarnished reputations. [0009]
  • Printer status detection can be especially important in cluster printing environments where print tasks are divided among several printing devices. When a user or the user's computing device is not aware of the status of the printing devices selected for printing, a print task or portions thereof can be delayed, interrupted or lost. [0010]
  • SUMMARY OF INVENTION
  • Embodiments of the present invention comprise methods and systems which enable a user to detect printer status and distribute print tasks to a plurality of printing devices without the use of additional hardware or server software for this purpose. These systems and methods are typically used in conjunction with a computer network comprising at least one computing device and a plurality of printing devices. Printing tasks which are typically sent to a user-selected printing device may be distributed to available printing devices to increase printing speed, volume and/or capacity. This printer status detection, availability determination and distribution capability can be achieved without the use of additional hardware and firmware and without modification to software applications. [0011]
  • Embodiments of the present invention comprise a novel print processor which is capable of detecting the status of printing devices. This detection may take place when a print task is sent to the print processor, prior to print task transmission, during the printing process or at some other time. Typically, printing device status is detected at the time a print task is sent to the print processor. If a print task is initially directed to a printing device that is unavailable or otherwise unable to function for the current task, the print processor of the present invention may redirect the print task to another printing device that is available for use. [0012]
  • In some cluster printing embodiments, the printing device status may be used to determine cluster printing parameters. For example, and not by way of limitation, a print task may be divided among the maximum number of available printing devices as determined by the status detection of embodiments of the present invention. As another non-limiting example, a print task may be divided among the maximum number of available printers within a given distance to a user. Other embodiments may use printing device status information to customize these and other cluster printing parameters.[0013]
  • BRIEF DESCRIPTION OF DRAWINGS
  • In order that the manner in which the above-recited and other advantages and objects of the invention are obtained, a more particular description of the invention briefly described above will be rendered by reference to specific embodiments thereof which are illustrated in the appended drawings. Understanding that these drawings depict only typical embodiments of the invention and are not therefore to be considered to be limiting of its scope, the invention will be described and explained with additional specificity and detail through the use of the accompanying drawings in which: [0014]
  • FIG. 1 is a diagram showing an embodiment of the present invention comprising printer availability detection for a local printer; [0015]
  • FIG. 2 is a diagram showing an embodiment of the present invention comprising printer availability detection for networked printers; [0016]
  • FIG. 3 is a diagram showing an embodiment of the present invention comprising printer availability detection for remote printers; [0017]
  • FIG. 4 is a diagram showing an embodiment of the present invention wherein printer availability is detected; [0018]
  • FIG. 5 is a diagram showing an embodiment of the present invention comprising printing device detection and a user selection interface; [0019]
  • FIG. 6 is a diagram showing an embodiment of the present invention comprising printing device detection and task rollover; [0020]
  • FIG. 7 is a diagram showing an embodiment of the present invention comprising printing device detection and rollover to available or busy devices; [0021]
  • FIG. 8 is a diagram showing an embodiment of the present invention comprising printing device detection and device group management; and [0022]
  • FIG. 9 is a diagram showing an embodiment of the present invention comprising printing device detection and preferred and backup group management[0023]
  • DETAILED DESCRIPTION
  • The figures listed above are expressly incorporated as part of this detailed description. It will be readily understood that the components of the present invention, as generally described and illustrated in the figures herein, could be arranged and designed in a wide variety of different configurations. Thus, the following more detailed description of the embodiments of the systems and methods of the present invention, as represented in FIGS. 1 through 5 is not intended to limit the scope of the invention, as claimed, but it is merely representative of the presently preferred embodiments of the invention. The currently preferred embodiments of the present invention will be best understood by reference to the drawings, wherein like parts are designated by like numerals throughout. [0024]
  • The definitions in this and subsequent paragraphs apply throughout this specification and related claims. The term “print job” may refer to any combination of data that can be printed. A print job may comprise text and/or graphics and may comprise part of a page, a single page or many pages. Print jobs may be rendered or unrendered. Generally, a print job is generated by an application, such as a word processor, spread sheet, etc., however, a print job may also comprise a file or data in memory that may be sent directly to a print process. [0025]
  • The term “print copy” or “copy” may refer to data, code or commands which generate a single printing device output of a print job or may refer to the actual hard copy output of the print job. [0026]
  • The term “print task” may comprise any combination of print jobs and copies thereof. A print task may comprise one or more print jobs and one or more copies of each print job. [0027]
  • The term “copy splitting” may refer to a process by which a print task comprising multiple copies is divided into multiple modified print tasks with each modified print task comprising a portion of the total number of copies. [0028]
  • The term “job splitting” may refer to a process by which a print task comprising at least one print job is split into multiple modified print tasks with each modified print task comprising a portion of a print job. [0029]
  • References to a Microsoft Windows® or Windows® operating system may refer to any version or variation of a Microsoft Windows® operating system comprising Windows 95®, [0030] Windows 98®, Windows NT®, Windows 2000®, Windows ME®, Windows XP® and others. While exemplary embodiments of the present invention may be directed to a Windows® operating system and environment, systems and methods directed to other operating systems such as Macintosh®, UNIX, DOS, Linux, MVS and others are to be contemplated within the scope of the present invention.
  • Embodiments of the present invention may be embodied in software, firmware, hardware and other forms that achieve the function described herein. As embodiments of the present invention may be adapted to many environments with varying computing devices, operating systems, printing devices, network hardware and software, applications and other variables, these embodiments may take many forms to achieve their function. Some embodiments may also be transmitted as signals, for example, and not by way of limitation, embodiments may be transmitted as analog or digital electrical signals or as light in a fiber-optic line. All of these embodiments are to be considered within the scope of the present invention. [0031]
  • Embodiments of the present invention may be used to achieve printing device status detection and analysis, print task modification, copy splitting, job splitting and various combinations of these concepts along with related distribution tasks that allow modified or unmodified print tasks to be distributed to one or more printing devices. In some embodiments, printer status is detected and analyzed to determine a print task destination or modified print task destination. In other embodiments, printer status and printer capabilities may be used to modify a print task to print on a specific printer. [0032]
  • Some embodiments of the present invention may detect the status of a local printing device. A local printing device is a printing device that is directly connected to a communications port on a computing device and which is being used by a user of that computing device. For example, and not by way of limitation, a printer connected to a USB port, a parallel port or a serial port on a desktop computer is a local printer when it is being used by that computer. When a local printer is used, as shown in FIG. 1, a status detecting print processor (SDPP) [0033] 10 of the present invention may be used to detect the status of the local printer. This may be done by querying a port manager 12 which can access information about the devices connected to the various ports on a computer. The port manager 14 can communicate with the devices connected to its ports and determine their status. In some cases, a bidirectional communication 16 may be established between a port manager 12 and a printing device 14. This communication is generally carried out using a printing or communication protocol. Using this protocol or a similar process, a printing device status may be determined by the port manager 12 and communicated back to the MPP 10. In this way, a port manager may typically determine printing device status such as conditions where a printing device is offline, busy, ready to print, or in an error state. Other status conditions may also be determined according to the capabilities and limitations of the port manager, printing/communications protocol, printing device, operating system and other factors. Depending on these factors, an estimated time to current job completion, printer speeds (i.e., ppm) particular error state details and other status details may also be determined.
  • Embodiments of the present invention may also be used to detect printing device status on network printing devices. This may be done in several ways. Some of these methods are described in reference to FIG. 2. A status detecting print processor (SDPP) [0034] 20 may communicate with a port manager 22 and access information regarding devices connected to its ports. In a network environment, a port manager 22 may communicate with a print server 26 and obtain information about a network print queue 28. A port manager 22 may use an application program interface (API) to communicate with the print server 26 and obtain network queue 28 information. As a non-limiting example, in a Microsoft Windows® environment the “(GetPrinter)” call may be used to obtain printer queue 28 information. Printer queue 28 information may comprise the number of print jobs in the queue which may be used to determine if the associated printer 24 is busy or idle.
  • A [0035] SDPP 20 may communicate directly with a network printer 24 by pinging 30 the printer 24 to determine its status. If a printer 24 responds to the ping 30, the SDPP may determine that the printer 24 is online in a ready to print or busy state or offline in an error state (off.errorstate). If a printer 24 does not respond to a ping 30, the SDPP may determine that the printer 24 is offline.
  • Some embodiments of the present invention may also comprise a SDPP [0036] 20 which employs a communication protocol 32 to communicate directly with a network printing device 24. A SDPP 20 may use the Simple Network Management Protocol (SNMP) to send protocol data units (PDUs) to network devices and gather information from device Management Information Bases (MIBs) to determine device status. Using this technique, a SDPP 20 may determine if a printing device is offline, busy, ready to print, in an error state and other status information. When a printing device 24 is busy, more detail can be obtained such as print job identification, job size, estimated time to completion and other details. When a printing device 24 is ready, more detail may also be obtained such as whether the printing device 24 is idle (cool) or warm. A newer remote monitoring protocol (RMON) may also be used to determine printing device status. RMON embodiments utilize additional MIBs beyond those established for SNMP protocols. In addition to printing device information, RMON embodiments may also gather network traffic data to further refine a device's status. Other embodiment may comprise an Internet Printing Protocol (IPP) and HTTP servers.
  • Embodiments of the present invention may also detect the status of remote printing devices as shown in FIG. 3. [0037] Remote printing devices 44 may be connected to a computing device at a location that is not directly connected to the computing device and that is not directly connected to the network of the computing device. These printing devices are generally connected through an internet connection via an IP address 46.
  • The status of [0038] remote printing devices 44 may be detected by methods similar to those used for network printing devices. A SDPP 40 may ping 48 a remote printing device 44 directly via its IP address 46 and determine a ready or offline status based on a response or lack of response, respectively. A SDPP 40 may also utilize communications protocols 50 such as SNMP and RMON to communicate directly with a printing device 44 and access status information contained in the device's MIBs. These communications protocol methods may be used to determine if a printing device is offline, busy, ready to print, in an error state or other status information. When a printing device 44 is busy, more detail can be obtained such as print job identification, job size, estimated time to completion and other details. When a printing device 44 is ready, more detail may also be obtained such as whether the printing device 24 is idle (cool) or warm.
  • A SDPP [0039] 40 may also communicate 52 with a remote printing device 44 through a port manager 42. Through the port manager 42, an API may be used to communicate with the remote printing device 44 and ascertain the status of the printing device. In some embodiments, a Graphical Device Interface (GDI) API may be used to determine printing device status.
  • Some embodiments of the present invention, as shown diagrammatically in FIG. 4, enable a computing device to detect the status of printing devices and direct a print task according to device availability. Typically, a print task is initiated [0040] 60 from an application program, an operating system command or some other method. This initial procedure generally activates a print driver which may allow a user to select a print destination and format. A user generally selects a destination device that is appropriate for the desired task. The capabilities and limitations of this selected destination device may be used by these embodiments to determine compatible devices parameters.
  • Once the task is defined by the driver, it may create a print task spool file which is sent to a spooler. The spooler, then, sends the print task to a print processor for interpretation. In these embodiments of the present invention, the print processor may detect [0041] 62 the status of printing devices to determine their availability and capacity to perform a print task. When an available printing device is detected, the print processor may direct 64 the print task to the available device.
  • This device to which the task is directed may be the device initially selected by a user, or another device selected by the print processor according to availability or some other parameter. The initially selected device may also be a virtual device. [0042]
  • Embodiments of the present invention may switch or redirect tasks between any printing devices that are compatible. Printing devices, such as printers, are generally compatible when they share the same Page Description Language (PDL) and have marking engines that share a similar geometric format. Other types of printing devices may be compatible when they share the same driver or description language. [0043]
  • Other embodiments of the present invention may employ a user interface to prompt for user selection of available devices as shown in FIG. 5. In these embodiments, a print task is initiated [0044] 70 and the task is transmitted through the necessary drivers, spoolers and other processes until it arrives at a print processor. The print processor, then, checks 72 the status of printing devices in communication with it and compiles a list of available printing devices. This list of available devices is presented 74 to a user and the user is prompted to make a selection among the available devices. Any form of user interface may be used to prompt the user, such as a dialog box, checkbox list or some other selection interface. The user selects 76 a preferred device in the case of a single device task or, in the case of a cluster printing task, a user may select a group of available devices. Once a device or devices has been selected, the print processor of the present invention directs 78 the print task to the selected printing device or devices.
  • Further embodiments of the present invention may be used to accomplish a print task rollover process as illustrated in FIG. 6. A print rollover process is used to prevent print task delays when a default or preferred printer or printers are busy, offline or otherwise unavailable or unusable. In the print rollover process, a user generally selects a [0045] default printing device 80 which may be stored according to many known methods. A user then initiates a print task 82. This can be done in a variety of ways including, but not limited to, selecting a print option in an application, running a batch file and others. Once the print task is initiated 82, or during initiation, a print driver is typically used to create a spool file that is sent to a spooler for spooling to a print processor. In embodiments of the present invention, the print processor is a SDPP which checks the status 84 of printing devices that are in communication with the SDPP. These may be local, network or remote printing devices. Among these printing devices is the default printing device previously selected 80. The SDPP of these embodiments checks the status of the default printing device 84 and determines its availability. When the default printer is available 86, the print job is sent to the default printer 88 through typical printing channels. Once the print job has been sent, the SDPP or related code may notify 90 the user of the job destination. However, when the job is sent to the default printer 88, as expected by the user, notification 90 is optional.
  • When the default printer is not available [0046] 86, these embodiments check the status of other printing devices to determine if any of them are available 92. If another printing device is available, the print task is “rolled over” 94 or directed to that available printing device instead of the default device. When this occurs, the user may be notified 96 of the new destination of the print task. If no printing devices are available 92, other options may be executed. In some embodiments, the print task may be cancelled 98 and the user may be notified 100 of the unsuccessful attempt. In other embodiments, shown as alternative paths in FIG. 6, the print processor may wait 102 for a period of time, suspend until re-initiated by the user or wait for some other event to occur after which it may again check the status of printing devices 84. If the default device or another device becomes available during the wait period, the print task may be directed to that device as if it were available before the wait period.
  • Other embodiments of the present invention, illustrated diagrammatically in FIG. 7, may consider printing devices in a busy state. In these embodiments, a default device is generally selected [0047] 110 at some time prior to initiating a print task 112. After print task initiation 112, a print task follows typical print processes until it is routed to a print processor. When the task arrives at the print processor, the print processor checks the status 114 of printing devices and determines whether the devices are available or busy. A status of available or busy may depend on several parameters, but typically, an available printing device will be idle with no print tasks in its queue or memory and a busy printing device will be printing with or without print tasks in its queue. The actual conditions defining a busy or available status may vary according to a user's needs. Variables such as the number of tasks in a print queue, task size, estimated time to completion and other factors may be used to determine a device status as available, busy or other states.
  • Once the status of devices has been determined, the print processor determines whether the default printing device is available [0048] 114. If the default device is available, the print processor will direct the print task to the default device 118. Optional notification to the user of the destination of the print task 120 may be performed. If the default device is not available, the print processor may determine if other printing devices are available 122. If another printing device is available, the print processor may direct the task 124 to the available device and notify the user of the task destination 126. Alternatively, the print processor may wait for a period of time to allow the default device to become available or prompt the user for input 138.
  • When no printing devices are available [0049] 122, these embodiments may wait for a period of time and re-check device status or prompt a user for input 138. Embodiments may also determine if the unavailable printing devices are simply in a busy state 128. If a printing device is simply busy, the print job may be rolled over 130 to the busy printing device and the user is notified 132 of the final destination of the print job. When no printing devices are available and none are busy, the print job may be cancelled 134 and the user notified 136 that no printing devices are currently responding. Alternatively to task cancellation 134, some embodiments may wait for a period of time 138 and re-check the status of the printing devices. After a wait period these embodiments may re-evaluate device status and direct the print task to any available or busy devices which have changed status during the wait period as displayed in FIG. 7. Other embodiments may prompt for user input 138 to determine whether a wait period is desired, to determine the duration of a wait period, to offer task cancellation options or some other user choice. A wait period of user prompt 138 may be activated from any step in the device status detection and task direction processes. For example, and not by way of limitation, a wait period or user prompt 138 may be activated when default device is not available 116, when another device is not available 122, when a busy device cannot be found 128 or at some other point in these processes.
  • Some embodiments of the present invention are adapted for use in cluster printing environments as shown in FIG. 8. In these embodiments, a user may select one or more [0050] preferred printing devices 140 from a pool of printing devices in communication with the user's computing device. Preferred printing devices may be ranked in an order of preference, have no preference or a combination of ranked and non-ranked devices. These devices may also be ranked in multiple ways according to criteria such as speed, availability, location or other criteria. In some embodiments, a group of printers may be selected for cluster printing tasks as a preferred set of printers while one of these printers or another printer may be designated as a preferred printer for a single-printer task.
  • Once printers have been selected [0051] 140, a print task is initiated 142 in a typical manner as described above. When cluster printing options are desired, a cluster-enabled print processor (CPP) 143 of some embodiments of the present invention may modify a print task for cluster printing. Alternatively, a multiple-printer task configured without a CPP may be directed to a status-detecting print processor (SDPP) print processor.
  • When a SDPP of embodiments of the present invention receives a print task or set of print tasks, the SDPP may check the [0052] status 144 of printing devices in communication with it. When, in this example, a multiple-printer task or cluster print task is sent to the SDPP, the SDPP will check whether all printers in the preferred group are available 146. If all the preferred printers are available 146, the SDPP will direct the print tasks or modified print tasks to the preferred printers 148 and notify the user of the task destinations 150.
  • If all the preferred printers are not available [0053] 146, the SDPP may prompt for user input or wait for a period of time for printers to become available 165. Alternatively, the SDPP may check to see if other printers are available 152. If a sufficient number of other printers are available to make up for the lack of preferred printers, a new group 154 may be formed to which the print tasks may be directed 156 by the SDPP. When print tasks are redirected in this manner, a user may be notified 158 of the final destination of each print task or modified print task.
  • When a sufficient number of printers are not available to match the number in the [0054] preferred group 152, a SDPP may prompt for user input or wait for printers to become available 165. Alternatively, a SDPP may check for busy printers 160. These may be printers which are printing at the time of the status check, printers which will be available within a given time period, printers which have only a given number of jobs in their queue or printers in some other situation that would indicate they will soon be available. Many algorythms may be used to determine a busy status. As a non-limiting example, the maximum time to complete the current load or queue combined with a printer's estimated time to start or load a task. If enough busy printers are found such that when combined with all available printers they are as numerous as the preferred printer group, a new group will be formed 162 with the busy and available printers and the SDPP will direct the print tasks to this group 164. A user may again be notified 166 of the final destination of the print tasks.
  • If a sufficient number of available and busy printers cannot be found to make up a group equal in size to the initial [0055] preferred printer group 160, the initial print task may be reconfigured as a cluster print task that requires fewer printers, such as the number of available printers 168 or the number of available and busy printers combined. When this reconfiguration can be performed, a new smaller group of printers is formed 170 and the SDPP directs the new modified print tasks to printers in this new printer group 172. Again, users may be notified of the destination and configuration of the final modified print tasks 174. Alternative to print task reconfiguration 168, a SDPP may prompt for user input or wait for printer status changes 165.
  • When a sufficient number of printers is simply not available or otherwise unusable, a print task may be cancelled [0056] 176 and the user notified 178 of the cancellation and printers' status. Alternatively or additionally, a wait period or user prompt 165 may be added to these processes. A wait period or user prompt may be activated from any point in these processes in order to allow user input to decision-making processes and to allow devices to become available or otherwise change status when a current situation is unacceptable. After a wait period, the initial task or tasks may be re-initialized and printer status checking may begin anew as in some above-described embodiments. A user may also select task cancellation from a user prompt.
  • When the number of printers in a network is large and the printers are geographically diverse, a user may want to limit the printers accessed by the SDPP to one or more select groups. Other reasons may also motivate a user to limit accessible printers. Some embodiments of the present invention may accommodate these needs. In some embodiments, illustrated in FIG. 9, a user may select a preferred group of [0057] printers 180 to which print tasks will be sent when they are available. Further, a user may select a group of backup printers 182 which may be substituted into the preferred group when printers in that group are not available, busy or otherwise unusable. Preferred and backup printing devices may be ranked in order of preference in some embodiments. Optionally, a user may designate printing devices which should not be used as preferred 180 or backup 182 printing devices thereby eliminating them from consideration by the SDPP. These selection processes allow a user to eliminate printing devices from consideration which are not acceptable to a user by virtue of their location, capability or some other reason.
  • Once preferred and backup printers have been selected, a user may initiate a cluster printing task or multiple-[0058] printer task 184 which is sent to a SDPP of embodiments of the present invention. This may be done through a CPP or my other means. In some embodiments, a CPP may be integrated with a SDPP to perform both cluster-enabling functions and status detection functions. The SDPP, upon receiving task or group of tasks, checks the status of printers in the preferred and backup printer groups 186. If all printers in the preferred group are available 188, the SDPP will direct the print tasks to the preferred group 190 and notify the user of the tasks' destinations.
  • When some of the preferred printers are not available [0059] 188, the SDPP may determine whether backup printers are available 194. If backup printers are available 194, they may be added to the preferred printers which are available to form a new group of available printers 196. The SDPP will then direct the print tasks to this new printer group 198 and notify the user of the destination of the print tasks 200. In an alternative embodiment, a user prompt or wait period may be activated when preferred printers are not available 205.
  • When enough backup printers are not available to fill out the [0060] preferred group 194, a SDPP may prompt for user input or wait for a change in printer status 205. Alternatively, the SDPP may add any busy printers in the preferred group 202 until the number of printers equals the number of preferred printers or the number of printers required for the particular task or tasks. If the addition of busy printers to a group creates a group of sufficient size, a new group is formed 204 and the SDPP may direct the print task or tasks to this new group 206. As in other embodiments, a user may be notified of task destinations and modifications 208.
  • If a sufficient number of available or busy printers cannot be found [0061] 202, a task may be cancelled 210, and the user notified of the cancellation 212. Alternatively, a SDPP may prompt for user input or enter a wait period 205 and restart the status checking process after a period of time. As an additional alternative to cancellation 210, the SDPP may reconfigure a task or tasks for output on a smaller number of printers as described in relation to FIG. 8.
  • As in some above-described embodiments, a wait period or [0062] user prompt 205 may be utilized in these embodiments an many others to allow devices to become available or otherwise change status or to solicit user input at different points in these processes. Once status changes are detected or user input is accepted 205, embodiments of the present invention may reenter the steps illustrated in these flowcharts and equivalents at many points 84, 86, 92, 98, 114, 116, 122, 128, 134, 144, 146, 152, 160, 168, 176, 186, 188, 194, 202 or 210 in the process.
  • The methods and systems shown in FIGS. [0063] 1-9 are illustrative of exemplary embodiments of the present invention. Other embodiments may be derived through omission and addition of the illustrated steps and their equivalents.
  • The present invention may be embodied in other specific forms without departing from its spirit or essential characteristics. The described embodiments are to be considered in all respects only as illustrative and not restrictive. The scope of the invention is, therefore, indicated by the appended claims rather than by the foregoing description. All changes which come within the meaning and range of equivalency of the claims are to be embraced within their scope. [0064]

Claims (26)

1. A method for detecting the status of printers on a network using a print processor, said method comprising the acts of:
sending a signal to a print processor; and
detecting the status of printers on a network from said print processor to determine the availability of said printers.
2. The method of claim 1 wherein said signal is a print task.
3. The method of claim 1 wherein said detecting comprises obtaining network print queue information.
4. The method of claim 1 wherein said detecting comprises bidirectional communication between a print processor, a port manager and a printing device.
5. The method of claim 1 wherein said detecting comprises accessing data from a Management Information Base (MIB).
6. The method of claim 1 wherein said detecting comprises communication with a printing device using a protocol selected from the group consisting of Simple Network Management Protocol (SNMP), Remote Management (RMON) and Internet Printing Protocol (IPP).
7. The method of claim 1 wherein said detecting comprises the use of an Application Program Interface (API) call.
8. A method of improving the probability of successful print task completion using a status detecting print processor, said method comprising:
sending a print task to a print processor;
detecting, from said print processor, the status of a plurality of printing devices; and
directing said print task to an available printing device among said plurality of printing devices.
9. The method of claim 8 wherein said status of a plurality of printing devices is presented to a user for selection of one or more available devices and said directing directs said print task to a device selected by said user.
10. The method of claim 8 wherein a default printing device is selected by a user prior to said detecting and said directing directs said print task to said default device when said default device is available.
11. The method of claim 8 wherein said print processor may also modify a print task to enable cluster printing functions.
12. The method of claim 11 wherein said modifying said cluster printing functions comprise job splitting.
13. The method of claim 11 wherein said modifying said cluster printing functions comprise copy splitting.
14. The method of claim 11 wherein said detecting determines a number of available printing devices and said modifying divides said initial print task into a number of modified print tasks equal to said number of available printing devices.
15. A method for improving printing system capability and performance without addition of hardware or modification of application software, said method comprising:
removing a non-status-detecting print processor (NPP) from a printing system; and
replacing said NPP with a status-detecting print processor (SDPP).
16. The method of claim 15 wherein said SDPP is also cluster enabling.
17. A computer readable medium comprising instructions for performing functions within a print processor, said instructions comprising the acts of:
interpreting print task data; and
detecting the status of printing devices.
18. The computer readable medium of claim 17 further comprising instructions for the act of redirecting a print task from its original destination to at least one other destination.
19. A computer data signal embodied in an electronic transmission, said signal having the function of detecting printing device status with a print processor, said signal comprising instructions for:
interpreting print task data; and
detecting the status of printing devices.
20. A print processor comprising:
instructions for interpreting print task data; and
instructions for detecting the status of printing devices.
21. A method of printing using a status detecting print processor, said method comprising:
selecting a preferred printer group;
modifying said print task to enable cluster printing thereby creating a plurality of modified print tasks;
detecting, from said print processor, the status of a plurality of printing devices comprising said preferred printer group;
directing said modified print tasks to said preferred printer group when all of the printers within said preferred printer group are available; and
forming a second group of printers comprising the available printers within said preferred group and other available printers and sending said modified tasks to said second group when said second group comprises a sufficient number of printers to print said modified print tasks.
22. The method of claim 21 further comprising selecting a group of backup printers from which said other available printers may be chosen.
23. The method of claim 21 further comprising reconfiguring said modified print tasks to require fewer printers when a sufficient number of available printers cannot be found.
24. The method of claim 21 further comprising forming a third group of printers comprising any available printers from said preferred group, any other available printers and any busy printers and directing said modified print tasks to said third group.
25. The method of claim 21 further comprising entering a wait period when a sufficient number of printers are not available and rechecking for available printers after said wait period.
26. The method of claim 21 further comprising activating a user prompt to solicit user input.
US09/681,409 2001-01-11 2001-03-30 Methods and systems for print-processor-based printer status detection and print task distribution Abandoned US20020089687A1 (en)

Priority Applications (11)

Application Number Priority Date Filing Date Title
US09/681,409 US20020089687A1 (en) 2001-01-11 2001-03-30 Methods and systems for print-processor-based printer status detection and print task distribution
US09/894,928 US7480068B2 (en) 2001-01-11 2001-06-28 Methods and systems for page-independent spool file sheet assembly
US09/964,985 US8411298B2 (en) 2001-01-11 2001-09-26 Methods and systems for printing device load-balancing
US10/003,800 US7180619B2 (en) 2001-01-11 2001-10-23 Methods and systems for recovering a failed print job
US09/683,162 US20020089689A1 (en) 2001-01-11 2001-11-27 Methods and systems for print system component-generated job separator pages
US09/683,667 US7548331B2 (en) 2001-01-11 2002-01-31 Methods and systems for print system component-based remote printing
US10/096,689 US7190477B2 (en) 2001-02-22 2002-03-12 System and method for managing and processing a print job using print job tickets
US10/208,122 US20030007177A1 (en) 2001-01-11 2002-07-29 Scan-to-cluster printing
US10/396,201 US7265860B2 (en) 2001-01-11 2003-03-25 Load balancing print jobs across multiple printing devices
US11/125,524 US7706017B2 (en) 2001-01-11 2005-05-10 Systems and methods for providing load balance rendering for direct printing
US11/548,683 US7679770B2 (en) 2001-01-11 2006-10-11 Methods and systems for print-processor-based printer status detection and print task distribution

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US26113201P 2001-01-11 2001-01-11
US09/681,208 US20020113989A1 (en) 2001-01-11 2001-02-22 Methods and systems for print-processor modified printing
US09/681,409 US20020089687A1 (en) 2001-01-11 2001-03-30 Methods and systems for print-processor-based printer status detection and print task distribution

Related Parent Applications (5)

Application Number Title Priority Date Filing Date
US09/681,208 Continuation-In-Part US20020113989A1 (en) 2001-01-11 2001-02-22 Methods and systems for print-processor modified printing
US09/681,208 Continuation US20020113989A1 (en) 2001-01-11 2001-02-22 Methods and systems for print-processor modified printing
US09/681,416 Continuation US7046384B2 (en) 2001-01-11 2001-03-30 Methods and systems for print-processor-based print task error recovery
US09/681,416 Continuation-In-Part US7046384B2 (en) 2001-01-11 2001-03-30 Methods and systems for print-processor-based print task error recovery
US09/683,667 Continuation-In-Part US7548331B2 (en) 2001-01-11 2002-01-31 Methods and systems for print system component-based remote printing

Related Child Applications (6)

Application Number Title Priority Date Filing Date
US09/894,928 Continuation-In-Part US7480068B2 (en) 2001-01-11 2001-06-28 Methods and systems for page-independent spool file sheet assembly
US09/683,162 Continuation-In-Part US20020089689A1 (en) 2001-01-11 2001-11-27 Methods and systems for print system component-generated job separator pages
US09/683,667 Continuation-In-Part US7548331B2 (en) 2001-01-11 2002-01-31 Methods and systems for print system component-based remote printing
US10/096,689 Continuation-In-Part US7190477B2 (en) 2001-02-22 2002-03-12 System and method for managing and processing a print job using print job tickets
US11/548,683 Continuation US7679770B2 (en) 2001-01-11 2006-10-11 Methods and systems for print-processor-based printer status detection and print task distribution
US09894928 Continuation-In-Part 2011-06-28

Publications (1)

Publication Number Publication Date
US20020089687A1 true US20020089687A1 (en) 2002-07-11

Family

ID=38118417

Family Applications (2)

Application Number Title Priority Date Filing Date
US09/681,409 Abandoned US20020089687A1 (en) 2001-01-11 2001-03-30 Methods and systems for print-processor-based printer status detection and print task distribution
US11/548,683 Expired - Fee Related US7679770B2 (en) 2001-01-11 2006-10-11 Methods and systems for print-processor-based printer status detection and print task distribution

Family Applications After (1)

Application Number Title Priority Date Filing Date
US11/548,683 Expired - Fee Related US7679770B2 (en) 2001-01-11 2006-10-11 Methods and systems for print-processor-based printer status detection and print task distribution

Country Status (1)

Country Link
US (2) US20020089687A1 (en)

Cited By (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020186393A1 (en) * 2001-06-11 2002-12-12 Pochuev Denis A. Document printing using format-specific translation modules
US20030041145A1 (en) * 2001-08-23 2003-02-27 Frederiksen Dellas G. Compute cycle brokering apparatus and method
US20030206313A1 (en) * 2002-05-06 2003-11-06 Ferlitsch Andrew Rodney Peer-to-peer, plural-computing-device rendering/rasterizing structure and methodology for grid-distrubuted printing
US20030233468A1 (en) * 2002-06-07 2003-12-18 Samsung Electronics, Co., Ltd. Transmission packet for performing multic-functions over network and communication method and apparatus using the transmission packet
US20030236811A1 (en) * 2002-06-20 2003-12-25 Brett Green System and method for process management
US20040179230A1 (en) * 2002-12-27 2004-09-16 Naruhide Kitada Distributed printing system, method, program, printer and printer management server
US20040263896A1 (en) * 2003-06-26 2004-12-30 Oki Data Corporation Printer
US20050027659A1 (en) * 2003-07-31 2005-02-03 Rajnish Kumar Fortuitous combinations of ad-hoc available sets of different electronic devices to respond to user jobs
US20050068546A1 (en) * 2003-09-30 2005-03-31 Min Kuo A system and method for optimized routing of print jobs
US20050275852A1 (en) * 2004-06-15 2005-12-15 Ferlitsch Andrew R Method and apparatus for selecting printing devices according to resource availability
US20060055952A1 (en) * 2004-09-14 2006-03-16 Ferlitsch Andrew R Continuous raster image processing control across print jobs
WO2006077246A2 (en) 2005-01-21 2006-07-27 OCé PRINTING SYSTEMS GMBH Method, computer program, and system for processing several document processing jobs
US20060256373A1 (en) * 2005-03-28 2006-11-16 Seiko Epson Corporation Client computer, printer driver generation method, and printer driver retrieval method
EP1821192A2 (en) * 2006-02-20 2007-08-22 Canon Kabushiki Kaisha Information processing apparatus, peripheral apparatus control method, and computer readable medium
US20080278517A1 (en) * 2007-05-10 2008-11-13 Poirier Arthur J System and method for manipulation of document data intercepted through port redirection
US20110075192A1 (en) * 2009-09-29 2011-03-31 Konica Minolta Systems Laboratory, Inc. Method for managing re-assignment of print jobs in case of printer errors
EP2426594A3 (en) * 2010-09-06 2012-10-10 Seiko Epson Corporation Distribution processing method, distribution processing device, print data processing method, print data processing device, and recording medium
US8526045B2 (en) 2010-09-06 2013-09-03 Seiko Epson Corporation Expanding application functionality without changing the existing application
US20140111825A1 (en) * 2012-10-24 2014-04-24 Cal-Comp Electronics & Communications Company Limited Data printing method and system using the same
US8861016B2 (en) 2010-09-22 2014-10-14 Seiko Epson Corporation Method of adding value to print data, a value-adding device, and a recording medium
US20170103359A1 (en) * 2015-10-12 2017-04-13 Microsoft Technology Licensing, Llc Identifying and assigning microtasks
US20170126908A1 (en) * 2015-10-29 2017-05-04 MyQ spol. s.r.o. Robust mesh printer network with distributed queue management
CN109542367A (en) * 2018-10-26 2019-03-29 森大(深圳)技术有限公司 Print speed matching method, device and the print system of mainboard optical-fibre communications
US20190317705A1 (en) * 2018-04-17 2019-10-17 Kyocera Document Solutions Inc. Image Forming System and Image Forming Method
CN111142813A (en) * 2019-12-20 2020-05-12 口碑(上海)信息技术有限公司 Method and device for detecting connection state of printer
US10755296B2 (en) 2015-10-12 2020-08-25 Microsoft Technology Licensing, Llc Providing rewards and metrics for completion of microtasks
CN111813351A (en) * 2020-05-29 2020-10-23 厦门汉印电子技术有限公司 Dynamic management method and device for printing tasks, main printer and system

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4125173B2 (en) 2003-04-23 2008-07-30 キヤノン株式会社 Information processing apparatus connection control method, information processing apparatus, and computer program
JP4136771B2 (en) * 2003-04-23 2008-08-20 キヤノン株式会社 COMMUNICATION SYSTEM, COMMUNICATION DEVICE, ITS CONTROL METHOD, AND COMPUTER PROGRAM
JP4411271B2 (en) * 2005-12-20 2010-02-10 キヤノン株式会社 Printing system, printing apparatus and control apparatus
US8645514B2 (en) * 2006-05-08 2014-02-04 Xerox Corporation Method and system for collaborative self-organization of devices
US8054490B2 (en) * 2006-11-30 2011-11-08 Oce-Technologies B.V. Automatic job routing for wide format print distribution
CN101901125B (en) * 2007-04-20 2012-05-30 夏普株式会社 Print control apparatus and print apparatus
JP5213474B2 (en) * 2008-02-12 2013-06-19 キヤノン株式会社 Network device, control method thereof, and program
JP5284011B2 (en) * 2008-08-29 2013-09-11 キヤノン株式会社 Printing system, printing control method and program
JP5599021B2 (en) * 2009-06-16 2014-10-01 キヤノン株式会社 Printing apparatus, printing control apparatus, printing apparatus control method, and program
US20110194123A1 (en) * 2010-02-09 2011-08-11 Apple Inc. Printer that supports driverless printing
US8610928B2 (en) * 2010-02-09 2013-12-17 Apple Inc. Framework that supports driverless printing
JP5501052B2 (en) * 2010-03-24 2014-05-21 キヤノン株式会社 COMMUNICATION DEVICE, COMMUNICATION DEVICE CONTROL METHOD, PROGRAM
US9036200B2 (en) 2010-09-14 2015-05-19 Hewlett-Packard Development Company, L.P. Job processing by dividing a job into sub-jobs for rendering and streaming
US9134930B2 (en) * 2011-03-30 2015-09-15 Hewlett-Packard Development Company, L.P. Delayed content production
US9323483B2 (en) 2011-10-28 2016-04-26 Hewlett-Packard Development Company, L.P. Location-based print notifications
US8675215B2 (en) 2012-01-31 2014-03-18 Apple Inc. Using regions of interest to scale print data for print jobs
US9298401B2 (en) 2012-02-03 2016-03-29 Apple Inc. Configuring print jobs associated with unsupported document formats
US8891115B2 (en) 2012-02-03 2014-11-18 Apple Inc. Configuration of print data for print jobs based on document-processing capabilities of printers
US9378437B2 (en) 2013-02-27 2016-06-28 Hewlett-Packard Development Company, L.P. Sending print jobs using trigger distances
US9311027B2 (en) 2013-03-28 2016-04-12 Hewlett-Packard Development Company, L.P. Document generation based on target device availability
JP6079492B2 (en) * 2013-07-26 2017-02-15 ブラザー工業株式会社 Inkjet recording device
JP6458881B2 (en) * 2018-01-04 2019-01-30 株式会社リコー Remote device management system
JP6677293B2 (en) * 2018-12-27 2020-04-08 株式会社リコー Electronic device management system, communication device, communication method, and program

Citations (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5241397A (en) * 1990-12-11 1993-08-31 Minolta Camera Kabushiki Kaisha Image forming apparatus in which the order of printing in duplex-printing is controlled in accordance with memory storage capacity
US5287194A (en) * 1992-11-25 1994-02-15 Xerox Corporation Distributed printing
US5528734A (en) * 1994-05-31 1996-06-18 Canon Information Systems, Inc. Printer control system with copier type document handling
US5699495A (en) * 1994-07-27 1997-12-16 Microsoft Corporation Point-and-print in a distributed environment
US5845058A (en) * 1994-10-05 1998-12-01 Microsoft Corporation Device independent spooling in a print architecture
US5859711A (en) * 1995-08-07 1999-01-12 T/R Systems, Inc. Multiple print engine with virtual job routing
US5897260A (en) * 1995-06-17 1999-04-27 Man Roland Druckmaschinen Print job allocation system
US5978650A (en) * 1997-01-21 1999-11-02 Adc Telecommunications, Inc. System and method for transmitting data
US5982996A (en) * 1997-03-13 1999-11-09 Hewlett-Packard Company Mechanism for printer driver switching in windows operating systems to allow distribution of print jobs to an output device from a single print request within an application
US5995721A (en) * 1996-10-18 1999-11-30 Xerox Corporation Distributed printing system
US5995723A (en) * 1997-11-18 1999-11-30 Xerox Corporation Client subsystem for changing document/job attributes in a network printing system
US6088120A (en) * 1996-03-27 2000-07-11 Fuji Xerox Co., Ltd. Printer managing apparatus, printer system and printer setting method
US6157465A (en) * 1996-12-26 2000-12-05 Canon Kabushiki Kaisha System for transferring jobs between processing units based upon content of job and ability of unit to perform job
US6229622B1 (en) * 1996-03-05 2001-05-08 Canon Kabushiki Kaisha Printer apparatus and method of controlling same
US6248996B1 (en) * 1999-07-12 2001-06-19 Hewlett-Packard Company Single-scan transmission of documents to multiple heterogeneous receivers
USRE37258E1 (en) * 1993-08-24 2001-07-03 Object Technology Licensing Corp. Object oriented printing system
US6266150B1 (en) * 1998-08-24 2001-07-24 International Business Machines Corporation Virtual printer
US20010038462A1 (en) * 1998-03-19 2001-11-08 Teeuwen Peter Johannes Hendrikus Maria Interactive printing with a plurality of printer devices
US6337745B1 (en) * 1996-03-01 2002-01-08 Fmr Corp. Routing print jobs
US20020027673A1 (en) * 1998-03-19 2002-03-07 Roosen Monica Maria Wilhelmina Mathea Scan and print processing in a network system having a plurality of devices
US20020042798A1 (en) * 2000-10-06 2002-04-11 Hajime Takei Printing system, and print server and computer program used in said printing system
US6397245B1 (en) * 1999-06-14 2002-05-28 Hewlett-Packard Company System and method for evaluating the operation of a computer over a computer network
US20020101604A1 (en) * 1997-09-12 2002-08-01 Yoshiaki Mima Method for causing printer system to perform printing, printing method, computer, and printer system
US6552813B2 (en) * 1996-06-11 2003-04-22 Sun Microsystems, Inc. Directing print jobs in a network printing system
US6584503B1 (en) * 1999-07-07 2003-06-24 International Business Machines Corporation Method, system and program for establishing network contact
US6697165B2 (en) * 1996-12-26 2004-02-24 Canon Kabushiki Kaisha Information processing system and method therefor
US20040042042A1 (en) * 1998-07-21 2004-03-04 Canon Kabushiki Kaisha Image data processing for printing by a plurality of image printing apparatuses
US20040105122A1 (en) * 2000-03-20 2004-06-03 Schaeffer Richard J. Printer control and document management system

Family Cites Families (87)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0527065Y2 (en) 1987-07-15 1993-07-09
JPH03282727A (en) 1990-03-30 1991-12-12 Nec Corp Universal print control system in distributed processing
JP2878445B2 (en) 1990-11-26 1999-04-05 株式会社リコー Data printing method
US5128878A (en) 1990-11-28 1992-07-07 Micron Technology, Inc. Remote plotting of integrated circuit layout in a network computer-aided design system
JPH04217550A (en) 1990-12-13 1992-08-07 Nec Corp Cut paper page printer control system
JP2911666B2 (en) * 1991-11-07 1999-06-23 キヤノン株式会社 Image forming device
JPH05270064A (en) 1992-03-25 1993-10-19 Toppan Printing Co Ltd Printing machine
JPH064239A (en) 1992-06-19 1994-01-14 Ricoh Co Ltd Printer server system for lan
US5467434A (en) 1992-08-28 1995-11-14 Xerox Corporation Apparatus and method for determining printer option availability and representing conflict resolution in a combination of print job selections
JP3043541B2 (en) * 1993-06-23 2000-05-22 キヤノン株式会社 Image forming apparatus, image forming system and image forming method thereof
US5596416A (en) 1994-01-13 1997-01-21 T/R Systems Multiple printer module electrophotographic printing device
JPH07219731A (en) 1994-02-07 1995-08-18 Canon Inc Information processor and processing method thereof
US5550954A (en) * 1994-05-04 1996-08-27 Hewlett-Packard Company Image processing load balancing for a host processor with a connected binary level image printer
JPH08101754A (en) 1994-09-30 1996-04-16 Canon Inc Printer system and printer determination processing method for printer system
US5881213A (en) * 1994-10-05 1999-03-09 Microsoft Corporation Deferred printing
NL9402088A (en) 1994-12-09 1996-07-01 Oce Nederland Bv Printing device for carrying out print jobs.
US5547178A (en) 1995-02-23 1996-08-20 Xerox Corporation Printer mailbox split jobs overflow banner sheet indicator system
JPH08286857A (en) 1995-04-19 1996-11-01 Fuji Xerox Co Ltd Printer and its method
US5784177A (en) 1995-05-30 1998-07-21 Canon Kabushiki Kaisha Printer/facsimile driver
JP3710518B2 (en) * 1995-06-01 2005-10-26 東芝テック株式会社 Network printing system
GB2309558A (en) * 1996-01-26 1997-07-30 Ibm Load balancing across the processors of a server computer
US6172765B1 (en) 1996-06-12 2001-01-09 Canon Kabushiki Kaisha Printing system
US6148346A (en) * 1996-06-20 2000-11-14 Peerless Systems Imaging Products, Inc. Dynamic device driver
US5697040A (en) * 1996-07-10 1997-12-09 Xerox Corporation Print job intermixing within marking machine
CN1156146C (en) 1996-07-31 2004-06-30 富士写真胶片株式会社 Printer system and method of controlling operation of the same
US6452692B1 (en) 1996-12-02 2002-09-17 Sun Microsystems, Inc. Networked printer server
US6320667B1 (en) 1996-12-27 2001-11-20 Canon Kabushiki Kaisha Information processing apparatus and method for transmitting printing information, and recording medium readable by a computer storing a program for transmitting printing information
JPH111029A (en) 1997-04-18 1999-01-06 Ricoh Co Ltd Color print system, color printer, and computer readable recording medium storing computer executable program
US6348971B2 (en) * 1997-06-20 2002-02-19 Seiko Epson Corporation Printing system and printing method for selecting an optimum printing for printing
JP4054444B2 (en) 1997-07-30 2008-02-27 キヤノン株式会社 Print control apparatus, print control method, and storage medium
US6101508A (en) * 1997-08-01 2000-08-08 Hewlett-Packard Company Clustered file management for network resources
US6173295B1 (en) 1997-09-15 2001-01-09 International Business Machines Corporation Method, system, and program for creating a job ticket inlcuding information on components and print attributes of a print job
US5978560A (en) 1997-11-07 1999-11-02 Xerox Corporation Load balancing of distributed printing systems using enhanced printer attributes
US6055063A (en) 1997-11-07 2000-04-25 Xerox Corporation Dynamic extension of print capabilities
US6476927B1 (en) 1998-01-21 2002-11-05 Electronics For Imaging, Inc. Job token printer assignment system
JP3278394B2 (en) * 1998-02-25 2002-04-30 キヤノン株式会社 Information processing apparatus, information processing method, and storage medium
JP2000003258A (en) 1998-06-11 2000-01-07 Casio Comput Co Ltd Printing system
JP2000083161A (en) 1998-07-01 2000-03-21 Canon Inc Image processing unit, its method and image processing system
US6078960A (en) * 1998-07-03 2000-06-20 Acceleration Software International Corporation Client-side load-balancing in client server network
US6219151B1 (en) * 1998-08-24 2001-04-17 Hitachi Koki Imaging Solutions, Inc. Network printing system
US6327050B1 (en) 1999-04-23 2001-12-04 Electronics For Imaging, Inc. Printing method and apparatus having multiple raster image processors
US6057930A (en) 1998-09-09 2000-05-02 Xerox Corporation Architecture for a digital copier and printer for handling print jobs associated with a network
JP2000132354A (en) 1998-10-23 2000-05-12 Canon Inc Managing device/method for printer
JP4463892B2 (en) 1998-12-15 2010-05-19 キヤノン株式会社 Data transfer control method, data processing apparatus, and storage medium
US6529286B1 (en) 1998-12-22 2003-03-04 Canon Kabushiki Kaisha Dynamic printing interface for routing print jobs in a computer network
JP4124898B2 (en) 1999-01-28 2008-07-23 キヤノン株式会社 Information processing system, information processing apparatus and method
JP3733259B2 (en) * 1999-03-05 2006-01-11 キヤノン株式会社 Information processing apparatus, information processing method, and storage medium storing computer-readable program
US6816270B1 (en) 1999-03-25 2004-11-09 International Business Machines Corporation Method and apparatus for supporting application and device independent print support
US6631976B2 (en) 1999-04-14 2003-10-14 Canon Kabushiki Kaisha Control of ink jet nozzle prefiring
JP2000357138A (en) 1999-06-16 2000-12-26 Canon Inc Device and method for managing network device, and storage medium
JP3639772B2 (en) * 1999-06-30 2005-04-20 キヤノン株式会社 Information processing apparatus, printing system, printing control method, and storage medium storing computer-readable program
JP2001071590A (en) 1999-09-02 2001-03-21 Fuji Xerox Co Ltd Printing apparatus and control method therefor
US7081969B1 (en) * 1999-10-19 2006-07-25 Electronics For Imaging, Inc. Automatic print load balancing
JP4240690B2 (en) * 1999-10-28 2009-03-18 キヤノン株式会社 Information processing apparatus, information processing method, information processing system, and recording medium
EP1098243A3 (en) * 1999-11-02 2002-07-24 Canon Kabushiki Kaisha Image processing apparatus system and method. Image data forming method, apparatus, controller and storage medium
US6707568B1 (en) * 1999-11-02 2004-03-16 Ricoh Company, Ltd. Printer driver filter and method of printing with the same
US6724494B1 (en) * 1999-11-03 2004-04-20 Toshiba Tech Corp Error management for a tandem printing system
US6956664B1 (en) 1999-11-03 2005-10-18 Toshiba Tec Kabushiki Kaisha Generation of cover sheets by networked printer
US6757071B1 (en) 1999-11-09 2004-06-29 Xerox Corporation Intelligent printer driver and user interface and method to recommend and/or automatically modify a document for printing, and a method therefore
US6825943B1 (en) 1999-11-12 2004-11-30 T/R Systems Method and apparatus to permit efficient multiple parallel image processing of large jobs
US6618167B1 (en) 1999-12-17 2003-09-09 Xerox Corporation Apparatus and method for document scheduling in order to improve the productivity of a networked printer
WO2001077808A1 (en) 2000-04-07 2001-10-18 Seiko Epson Corporation Control of decentralized printing by printers
US6700678B1 (en) 2000-04-14 2004-03-02 Hewlett-Packard Development Company, L.P. Methods and systems for increasing the likelihood of print job completions
US6509974B1 (en) * 2000-05-17 2003-01-21 Heidelberger Druckmaschinen Ag Automated job creation for job preparation
JP4541586B2 (en) * 2000-05-30 2010-09-08 キヤノン株式会社 Image forming system and jig used in image forming system
JP2002023978A (en) * 2000-07-03 2002-01-25 Fujitsu Ltd Printing system, method and device
US7072057B1 (en) * 2000-10-10 2006-07-04 Nexpress Digital Llc System and method for interfacing with a production scanner
US6748471B1 (en) * 2000-10-16 2004-06-08 Electronics For Imaging, Inc. Methods and apparatus for requesting and receiving a print job via a printer polling device associated with a printer
US20020059489A1 (en) 2000-11-14 2002-05-16 Davis Ray Charles Remote printing
US6661531B1 (en) 2000-11-15 2003-12-09 Lexmark International, Inc. Method for adaptively matching print quality and performance in a host based printing system
US20020113989A1 (en) 2001-01-11 2002-08-22 Ferlitsch Andrew Rodney Methods and systems for print-processor modified printing
US7046384B2 (en) * 2001-01-11 2006-05-16 Sharp Laboratories Of America, Inc. Methods and systems for print-processor-based print task error recovery
US7471405B2 (en) 2001-01-29 2008-12-30 Xerox Corporation Augmented operating system printing architecture
US7219168B2 (en) 2001-02-13 2007-05-15 Sharp Laboratories Of America, Inc. Method and system for a generic document processing device client
US7084998B2 (en) * 2001-02-13 2006-08-01 Ariba, Inc. Method and system for processing files using a printer driver
US7031014B2 (en) 2001-03-12 2006-04-18 Kabushiki Kaisha Toshiba Image forming system for tandem printing and user notification
US20020138564A1 (en) 2001-03-21 2002-09-26 Treptow Jay A. Universal printing and document imaging system and method
US20020186407A1 (en) * 2001-06-12 2002-12-12 Laughlin John David Printer-embedded service to allow for fail-over operation through automatic rerouting of print jobs to comparable printers
US7088462B2 (en) 2001-06-29 2006-08-08 International Business Machines Corporation Print manager having a user interface for specifying how documents are directed to print devices
US7054021B2 (en) 2001-07-13 2006-05-30 Hewlett-Packard Development Company, L.P. System and method for printing multiple print jobs in a single action
US7365870B2 (en) 2001-08-17 2008-04-29 Sharp Laboratories Of America, Inc Methods and systems for page-independent spool file face-up emulation
US7040820B2 (en) 2001-09-12 2006-05-09 Xerox Corporation Print line segmentation
JP3984890B2 (en) * 2001-09-14 2007-10-03 キヤノン株式会社 Printing control apparatus and method, computer program, and storage medium
US7239411B2 (en) 2001-09-18 2007-07-03 International Business Machines Corporation Method and apparatus for controlling printing of electronic applications
US20030184782A1 (en) 2002-03-27 2003-10-02 Perkins Gregory E. Printer driver configured to dynamically receive printer self-description
US6981632B2 (en) * 2003-02-25 2006-01-03 Weyerhaeuser Company Display box
US7751079B2 (en) * 2004-08-11 2010-07-06 Xerox Corporation Method and system for managing print job files for a shared printer

Patent Citations (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5241397A (en) * 1990-12-11 1993-08-31 Minolta Camera Kabushiki Kaisha Image forming apparatus in which the order of printing in duplex-printing is controlled in accordance with memory storage capacity
US5287194A (en) * 1992-11-25 1994-02-15 Xerox Corporation Distributed printing
USRE37258E1 (en) * 1993-08-24 2001-07-03 Object Technology Licensing Corp. Object oriented printing system
US5528734A (en) * 1994-05-31 1996-06-18 Canon Information Systems, Inc. Printer control system with copier type document handling
US5699495A (en) * 1994-07-27 1997-12-16 Microsoft Corporation Point-and-print in a distributed environment
US5845058A (en) * 1994-10-05 1998-12-01 Microsoft Corporation Device independent spooling in a print architecture
US5897260A (en) * 1995-06-17 1999-04-27 Man Roland Druckmaschinen Print job allocation system
US5859711A (en) * 1995-08-07 1999-01-12 T/R Systems, Inc. Multiple print engine with virtual job routing
US6337745B1 (en) * 1996-03-01 2002-01-08 Fmr Corp. Routing print jobs
US6229622B1 (en) * 1996-03-05 2001-05-08 Canon Kabushiki Kaisha Printer apparatus and method of controlling same
US6088120A (en) * 1996-03-27 2000-07-11 Fuji Xerox Co., Ltd. Printer managing apparatus, printer system and printer setting method
US6552813B2 (en) * 1996-06-11 2003-04-22 Sun Microsystems, Inc. Directing print jobs in a network printing system
US5995721A (en) * 1996-10-18 1999-11-30 Xerox Corporation Distributed printing system
US6697165B2 (en) * 1996-12-26 2004-02-24 Canon Kabushiki Kaisha Information processing system and method therefor
US6157465A (en) * 1996-12-26 2000-12-05 Canon Kabushiki Kaisha System for transferring jobs between processing units based upon content of job and ability of unit to perform job
US5978650A (en) * 1997-01-21 1999-11-02 Adc Telecommunications, Inc. System and method for transmitting data
US5982996A (en) * 1997-03-13 1999-11-09 Hewlett-Packard Company Mechanism for printer driver switching in windows operating systems to allow distribution of print jobs to an output device from a single print request within an application
US20020101604A1 (en) * 1997-09-12 2002-08-01 Yoshiaki Mima Method for causing printer system to perform printing, printing method, computer, and printer system
US5995723A (en) * 1997-11-18 1999-11-30 Xerox Corporation Client subsystem for changing document/job attributes in a network printing system
US20010038462A1 (en) * 1998-03-19 2001-11-08 Teeuwen Peter Johannes Hendrikus Maria Interactive printing with a plurality of printer devices
US20020027673A1 (en) * 1998-03-19 2002-03-07 Roosen Monica Maria Wilhelmina Mathea Scan and print processing in a network system having a plurality of devices
US20040042042A1 (en) * 1998-07-21 2004-03-04 Canon Kabushiki Kaisha Image data processing for printing by a plurality of image printing apparatuses
US6266150B1 (en) * 1998-08-24 2001-07-24 International Business Machines Corporation Virtual printer
US6397245B1 (en) * 1999-06-14 2002-05-28 Hewlett-Packard Company System and method for evaluating the operation of a computer over a computer network
US6584503B1 (en) * 1999-07-07 2003-06-24 International Business Machines Corporation Method, system and program for establishing network contact
US6248996B1 (en) * 1999-07-12 2001-06-19 Hewlett-Packard Company Single-scan transmission of documents to multiple heterogeneous receivers
US20040105122A1 (en) * 2000-03-20 2004-06-03 Schaeffer Richard J. Printer control and document management system
US20020042798A1 (en) * 2000-10-06 2002-04-11 Hajime Takei Printing system, and print server and computer program used in said printing system

Cited By (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020186393A1 (en) * 2001-06-11 2002-12-12 Pochuev Denis A. Document printing using format-specific translation modules
US20030041145A1 (en) * 2001-08-23 2003-02-27 Frederiksen Dellas G. Compute cycle brokering apparatus and method
US7102796B2 (en) * 2001-08-23 2006-09-05 Hewlett-Packard Development Company, L.P. Network printing system using a process power broker for directing print job from busy machines to idle machines for processing only before printing
US20030206313A1 (en) * 2002-05-06 2003-11-06 Ferlitsch Andrew Rodney Peer-to-peer, plural-computing-device rendering/rasterizing structure and methodology for grid-distrubuted printing
US7218409B2 (en) * 2002-05-06 2007-05-15 Sharp Laboratories Of America, Inc. Peer-to-peer, plural-computing-device rendering/rasterizing structure and methodology for grid-distributed printing
US20030233468A1 (en) * 2002-06-07 2003-12-18 Samsung Electronics, Co., Ltd. Transmission packet for performing multic-functions over network and communication method and apparatus using the transmission packet
US7660907B2 (en) * 2002-06-07 2010-02-09 Samsung Electronics Co., Ltd. Transmission packet for performing multi-functions over network and communication method and apparatus using the transmission packet
US7100162B2 (en) * 2002-06-20 2006-08-29 Hewlett-Packard Development Company, L.P. System and method for process management
US20030236811A1 (en) * 2002-06-20 2003-12-25 Brett Green System and method for process management
US20040179230A1 (en) * 2002-12-27 2004-09-16 Naruhide Kitada Distributed printing system, method, program, printer and printer management server
US20040263896A1 (en) * 2003-06-26 2004-12-30 Oki Data Corporation Printer
US7791749B2 (en) * 2003-06-26 2010-09-07 Oki Data Corporation Printer having a communication section for obtaining print information necessary to print
US7826907B2 (en) * 2003-07-31 2010-11-02 Hewlett-Packard Development Company, L.P. Fortuitous combinations of ad-hoc available sets of different electronic devices to respond to user jobs
US20050027659A1 (en) * 2003-07-31 2005-02-03 Rajnish Kumar Fortuitous combinations of ad-hoc available sets of different electronic devices to respond to user jobs
US7656547B2 (en) 2003-09-30 2010-02-02 Toshiba Corporation System and method for optimized routing of print jobs
US20050068546A1 (en) * 2003-09-30 2005-03-31 Min Kuo A system and method for optimized routing of print jobs
US20050275852A1 (en) * 2004-06-15 2005-12-15 Ferlitsch Andrew R Method and apparatus for selecting printing devices according to resource availability
US8164785B2 (en) 2004-06-15 2012-04-24 Sharp Laboratories Of America, Inc. Method and apparatus for selecting printing devices according to resource availability
US20060055952A1 (en) * 2004-09-14 2006-03-16 Ferlitsch Andrew R Continuous raster image processing control across print jobs
US7821657B2 (en) 2004-09-14 2010-10-26 Sharp Laboratories Of America, Inc. Continuous raster image processing control across print jobs
US8503007B2 (en) * 2005-01-21 2013-08-06 OCé PRINTING SYSTEMS GMBH Method, computer program, and system for processing several document processing jobs
US20080072233A1 (en) * 2005-01-21 2008-03-20 Steux Jean-Marc C A Method, Computer Program, and System for Processing Several Document Processing Jobs
WO2006077246A2 (en) 2005-01-21 2006-07-27 OCé PRINTING SYSTEMS GMBH Method, computer program, and system for processing several document processing jobs
WO2006077246A3 (en) * 2005-01-21 2007-06-28 Oce Printing Systems Gmbh Method, computer program, and system for processing several document processing jobs
US7791753B2 (en) * 2005-03-28 2010-09-07 Seiko Epson Corporation Client computer, printer driver generation method, and printer driver retrieval method
US20060256373A1 (en) * 2005-03-28 2006-11-16 Seiko Epson Corporation Client computer, printer driver generation method, and printer driver retrieval method
EP1821192A3 (en) * 2006-02-20 2011-09-14 Canon Kabushiki Kaisha Information processing apparatus, peripheral apparatus control method, and computer readable medium
EP1821192A2 (en) * 2006-02-20 2007-08-22 Canon Kabushiki Kaisha Information processing apparatus, peripheral apparatus control method, and computer readable medium
US20080278517A1 (en) * 2007-05-10 2008-11-13 Poirier Arthur J System and method for manipulation of document data intercepted through port redirection
US20110075192A1 (en) * 2009-09-29 2011-03-31 Konica Minolta Systems Laboratory, Inc. Method for managing re-assignment of print jobs in case of printer errors
US9395939B2 (en) 2009-09-29 2016-07-19 Konica Minolta Laboratory U.S.A., Inc. Method for managing re-assignment of print jobs in case of printer errors
EP2306295A3 (en) * 2009-09-29 2013-02-13 Konica Minolta Systems Laboratory, Inc Method for managing re-assignment of print jobs in case of printer errors
US9030704B2 (en) 2010-09-06 2015-05-12 Seiko Epson Corporation Function expansion method using print data for a point-of-sale terminal
US8526045B2 (en) 2010-09-06 2013-09-03 Seiko Epson Corporation Expanding application functionality without changing the existing application
US10248944B2 (en) 2010-09-06 2019-04-02 Seiko Epson Corporation Function expansion method in a point-of-sale system using print data
EP2426594A3 (en) * 2010-09-06 2012-10-10 Seiko Epson Corporation Distribution processing method, distribution processing device, print data processing method, print data processing device, and recording medium
US8861009B2 (en) 2010-09-06 2014-10-14 Seiko Epson Corporation Function expansion method using print data for a point-of-sale terminal
US8693036B2 (en) 2010-09-06 2014-04-08 Seiko Epson Corporation Distribution processing method, distribution processing device, print data processing method, print data processing device, and recording medium
US9262106B2 (en) 2010-09-22 2016-02-16 Seiko Epson Corporation Method of adding value to print data, a value-adding device, and a recording medium
US9030706B2 (en) 2010-09-22 2015-05-12 Seiko Epson Corporation Method of adding value to print data, a value-adding device, and a recording medium
US8861016B2 (en) 2010-09-22 2014-10-14 Seiko Epson Corporation Method of adding value to print data, a value-adding device, and a recording medium
US8891105B2 (en) * 2012-10-24 2014-11-18 Kinpo Electronics, Inc. Data printing method and system using the same
CN103777909A (en) * 2012-10-24 2014-05-07 金宝电子工业股份有限公司 Data printing method and data printing system
US20140111825A1 (en) * 2012-10-24 2014-04-24 Cal-Comp Electronics & Communications Company Limited Data printing method and system using the same
US20170103359A1 (en) * 2015-10-12 2017-04-13 Microsoft Technology Licensing, Llc Identifying and assigning microtasks
US10755296B2 (en) 2015-10-12 2020-08-25 Microsoft Technology Licensing, Llc Providing rewards and metrics for completion of microtasks
US20170126908A1 (en) * 2015-10-29 2017-05-04 MyQ spol. s.r.o. Robust mesh printer network with distributed queue management
CN110389727A (en) * 2018-04-17 2019-10-29 京瓷办公信息系统株式会社 Image formation system and image forming method
US20190317705A1 (en) * 2018-04-17 2019-10-17 Kyocera Document Solutions Inc. Image Forming System and Image Forming Method
CN109542367A (en) * 2018-10-26 2019-03-29 森大(深圳)技术有限公司 Print speed matching method, device and the print system of mainboard optical-fibre communications
CN111142813A (en) * 2019-12-20 2020-05-12 口碑(上海)信息技术有限公司 Method and device for detecting connection state of printer
CN111813351A (en) * 2020-05-29 2020-10-23 厦门汉印电子技术有限公司 Dynamic management method and device for printing tasks, main printer and system

Also Published As

Publication number Publication date
US7679770B2 (en) 2010-03-16
US20070127063A1 (en) 2007-06-07

Similar Documents

Publication Publication Date Title
US7679770B2 (en) Methods and systems for print-processor-based printer status detection and print task distribution
US8456665B2 (en) Methods and systems for printing error recovery
US7143210B2 (en) User-defined printer selection administration policy
US6658498B1 (en) Method, system, program, and data structures for reconfiguring output devices in a network system
US6762852B1 (en) Print feature selection based on combined features of several printers
US7061635B1 (en) Information processing apparatus, distributed printing method, and storage medium
US7253915B2 (en) Creating a locally managed instance of a network printer
US7046384B2 (en) Methods and systems for print-processor-based print task error recovery
EP1357467B1 (en) Remote creation of printer instances on a workstation
US7327482B2 (en) Integrated printer monitoring
US9274736B2 (en) Information processing apparatus, output system, information processing method, and recording medium storing information processing program
US8493591B2 (en) Job-submission-request apparatus and method for making a request from a plurality of apparatuses
US20080174810A1 (en) Fault tolerant printing system
US8649030B2 (en) Controlling an information processing apparatus on which a plurality of printer drivers are installed
US7580146B2 (en) Hierarchical architecture for a distributed and scalable network printing system
US7548331B2 (en) Methods and systems for print system component-based remote printing
EP0917058A2 (en) Dynamic plug and play interface for output device
US8059294B2 (en) Image forming based on operation mode
CN112445433A (en) File printing method, device, equipment and system
JP2007164480A (en) Printing system and method
US20030210417A1 (en) Driverless network EMF printing solution
JPH11296333A (en) Method for distributing print job
JP2004094311A (en) Notification method, information processor and control program
US20190235810A1 (en) Image forming system and image forming method in which plural image forming apparatuses, plural user terminals, management server, and directory server are connected via network
US20040223179A1 (en) Network printing mode automation

Legal Events

Date Code Title Description
AS Assignment

Owner name: SHARP LABORATORIES OF AMERICA, INC., WASHINGTON

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:ANDREW RODNEY FERLITSCH;JERRY STEVEN ORLECK;MARY LOUISE BOURRET;REEL/FRAME:011489/0232;SIGNING DATES FROM 20010322 TO 20010323

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION