Traffic management while rendering and transmitting data for network computer (client and server side)
Original Publication Date: 2000-Aug-01
Included in the Prior Art Database: 2003-Jun-18
AbstractTraffic management while rendering and transmitting data for network computer (client and server side)
Traffic management while rendering and transmitting data for network
computer (client and server side)
This article discloses a program that is a print queue capable of handling multiple, synchronous print jobs from many Java * applications for use in a multi-threaded JVM operating system. Since multiple print jobs stream data can not be sent to the printer at the same time, the print subsystem must have a single area where print jobs are handled and/or stored until the printer is ready to take them. Printing is already a complex, CPU intensive, error prone process. Multiple, coexistent, print jobs increases the probability of errors on current and future print jobs. User intervention again increases the change of error. Resetting print resources must not be done blindly. The Print Traffic Manager (PTM) takes all of these events and handles them in a single location. It is used to maintain a queue of print jobs and a queue of print threads that render the print job as well send the print stream data to the printer when the printer is available. In addition, the PTM integrates user events, local device hardware events and remote system events; handles the multi-step process of rendering and then sending the print data; provides the ability to move from a single thread, single print job to a multithreaded, multi-job print process; and provides the ability to restart failed jobs or reroute jobs from failed printers.
By running a separate process (thread) in the system to manage all print jobs in the system the chance of error is lowered significantly and the ability to queue print jobs is added. In addition the control of the print hardware is in one place. On a printer or system error, subsequent jobs will not fail or enter an infinite wait because problems can be corrected before the next job is submitted to the printer.
This system (on both the client side and boot server side) requires print jobs to register themselves upon initialization and update their status. When multiple print jobs are present in the system, PTM controls the flow of those jobs. User events, local device hardware events, system events, and remote systems events can all be handled from one location. PTM allows us to move from a single threaded, single print job to a multithreaded, multi-job print system. Print jobs are now rendered, stored (if necessary), queued (if necessary), retrieved (if necessary), and finally transmitted to the output device. By watching each thread in this process (see Threadwatcher) errors can be detected and user events processed from a central location. PTM has the ability to restart failed print jobs, cancel active or queued jobs, or reroute failed or queued print jobs.
PTM will also enable the Print Subsystem to generate status messages related to power management. For example, if a remote device has been powered off, then remote print job is paused while w...