Virtual printer

Facsimile and static presentation processing – Static presentation processing – Communication

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C358S001120, C358S001130

Reexamination Certificate

active

06266150

ABSTRACT:

COPYRIGHT NOTICE
Contained herein is material that is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction of the patent disclosure by any person as it appears in the Patent and Trademark Office patent files or records, but otherwise reserves all rights to the copyright whatsoever.
BACKGROUND OF THE INVENTION
1. Field of the Invention
The invention relates generally to driving heterogeneous devices from an output server. More particularly, the invention relates to a flexible mechanism which allows jobs containing formatted data, such as image data, to be submitted to arbitrary devices.
2. Description of the Related Art
Print servers, such as the IBM® InfoPrint® Manager, traditionally provide for central management of a printing environment. A simplified printing scenario in a local area network (LAN) environment will briefly be described with reference to FIG.
1
. In this example, a personal computer workstation
100
is coupled to a print server
120
via a LAN
110
. The print server
120
includes a spooler
130
for controlling the spooling of data files and presentation services
140
for generating appropriate commands to drive an attached printer. The print server
120
may also include other components that are not shown for performing basic tasks, such as monitoring and configuring attached printers, and providing print job management. At any rate, when the PC workstation
100
has data to print, it sends print data to the print server
120
. Among the functions typically provided by a print server is the conversion of the data stream containing the print data to a data stream supported by the printer to which the print data is destined. In this example, the print server
120
is coupled to a first printer
150
and a second printer
160
. The two printers
150
and
160
may each respond to different data streams. For instance, the first printer
150
may accept the Intelligent Printer Data Stream (IPDS) and the second printer
160
may accept PostScript. Therefore, the print server
120
must provide a means for converting between the various input data streams that may be received and the two data streams accepted by the printers
150
and
160
. While in this simplified example only two types of printers have been shown, it should be appreciated that real world printing environments may include many different types of printers.
Increasingly, this is the case in professional printing environments, such as commercial and production printing environments which are becoming more and more diverse. While print servers typically support diverse printing environments, such support is costly in terms of the development effort required to modify the print server software in existing inflexible architectures. For example, in order to accommodate a new data stream, it is common to add a new complex printer driver to the print server. In existing print server architectures, these print drivers must typically be developed from scratch to incorporate the rich set of features that users have come to expect. This rewriting of code is required because typically the print server's capabilities and transforms are coded for a particular type of data stream and for a particular path through the print server. Also impacting the development efforts, is the inherent difficulty in manipulating the complex data streams that are received by print servers and transforming them into equally complex data streams required by printers. In view of the foregoing, it is desirable to provide a flexible and extensible architecture that allows support for new output devices to be added easily and inexpensively.
Another problem associated with existing print servers is the limited range of output devices supported. It is often desirable to present or deliver information in a form other than printer hard copy. Therefore, it would be advantageous to provide a mechanism to support output to destinations including fax and email, for example.
Prior art output servers also have other significant limitations which perplex end users. Fax servers report the fact that they have successfully transmitted a fax job. However, there is no indication of the success or failure of the job being received and/or handled at the destination. Often, unwary end users are surprised to discover that their “successful” job was not successful at the receiving end. Similar limitations exist in printer control protocols that only report the success or failure of a print job being converted to image. Therefore, it is desirable to provide a mechanism by which additional job and device status may be provided to the end user.
BRIEF SUMMARY OF THE INVENTION
A flexible and extensible virtual printer architecture is described. According to one aspect of the present invention, a mechanism is provided for driving multiple heterogeneous presentation devices. A presentation job is received on behalf of a presentation device, the presentation job includes a data stream which contains source data in the form of text, image, graphics, and/or other embedded objects. The source data is then reduced to an intermediate format. Based upon the intermediate format and control information associated with the data stream, device-specific data and device-specific control information are generated for the presentation device. Finally, the presentation device is driven by providing the device-specific data and device-specific control information to the presentation device.
According to another aspect of the present invention, a device independent data stream corresponding to a presentation job is received and transformed into a data stream which may be used to drive a particular presentation device. The device independent data stream includes data that is formatted according to a widely supported format. The data is converted to a device dependent format. One or more presentation units capable of containing device-specific data and device-specific control information are generated for the presentation device and the presentation device is driven with a natively supported data stream that includes the one or more presentation units.
Other features of the present invention will be apparent from the accompanying drawings and from the detailed description which follows.


REFERENCES:
patent: 5050100 (1991-09-01), Damon et al.
patent: 5157765 (1992-10-01), Birk et al.
patent: 5402527 (1995-03-01), Bigby et al.
patent: 5537550 (1996-07-01), Russell et al.
patent: 5550957 (1996-08-01), Davidson, Jr. et al.
patent: 5566278 (1996-10-01), Patel et al.
patent: 5583933 (1996-12-01), Mark
patent: 5611046 (1997-03-01), Russell et al.
patent: 5615314 (1997-03-01), Schoenzeit et al.
patent: 5727220 (1998-03-01), Hohensee et al.
patent: 5828863 (1998-10-01), Barrett et al.
patent: 5859956 (1999-01-01), Sugiyama et al.
J.R. Carlock and M.G. Lotz, “Kernel API Approach To Driving IPDS Printers”, IBM Technical Disclosure Bulletin, vol. 35. No. 6, Nov. 1992.
T.C. Aden, B.C. Goodson, J.B. K, McMonale, J.M. Prusaitis and B.E. Trede, “Use Of Page Records To Synchronize Printing While Converting”, IBM Technical Disclosure Bulleting, vol. 35, No. 6, Nov. 1992.

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Virtual printer does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Virtual printer, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Virtual printer will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2442328

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.