Virtual print driver system and method
AssigneeSharp Laboratories of America, Inc.
InventorAndrew Rodney Ferlitsch
Life of this patent
Estimating the term…
Abstract
A computer-based printing system, comprised a client computing device, optionally one or more server computing devices, a virtual printer driver, one or more printer drivers, a print processor, print spooler, and one or more printers, means for initiating a print job(s), all or in part, or one or more copies of a document (s), in a local, network or remote, single or multi-user, printing environment, and a means to select the best fit printer based on printer capabilities, print quality and printer availability, without manually enumeration of each printer driver and printer status monitor.
Claims45
A computer-based printing system comprising:
- a computing device containing print data and capable of initiating a print job;
- one or more output devices accessible from said computing device, said output devices having one or more corresponding printer drivers in support thereof;
- means for initiating a print job, said means indicating that said print data is to be despooled to one or more of said output devices, said print job comprising said print data;
- a virtual printer driver supported by said printing system and called by said means for initiating said print job, wherein said virtual printer driver determines and selects which of said output devices to send said print job, said determination based upon a best fit analysis between said output devices and one or more options and requirements of said print job, without manual enumeration of each of said output devices;
- and
- a print control assembly in communication with said computing device, said print control assembly capable of storing, processing and directing a set of printing instructions as received from said virtual printer driver.
A method of initiating a print job within a computer-based printing system, said method comprising the steps of:
- generating print data within a client computing device, said client computing device connected to and in communication with said computer-based printing system;
- making accessible to said computer-based printing system one or more output devices, such that said output devices are in communication with said computer-based printing system and said client computing device;
- calling a virtual printer driver from said client computing device, said virtual printer driver supported on said computer-based printing system and performing the task of processing and sending said print data in a print data stream to one of said output devices for printing according to the method steps comprising:
- gathering information on the capabilities, locality, if any, and status of said one or more output devices, including corresponding printer drivers associated with said respective output devices, accessible from said client computing device;
- displaying to said user a dialog of a plurality of options and requirements pertaining to said print job;
- allowing said user to identify and select from said dialog which of said options and requirements are desired for said print job, said information on the capabilities, locality, and status of said one or more output devices and said options and requirements of said print job combining to define a set of printing instructions;
- selecting one or more of said output devices by which said virtual printer driver may direct said print job, said step of selecting being based upon and according to a best fit between said capabilities and status of said output devices and said options and requirements of said print job, said best fit based on one or more identified criteria of said plurality of output devices, without manual enumeration of each respective said plurality of output devices by said client computing device;
- causing said printing instructions to be communicated and rendered to the corresponding printer drivers of said selected output devices;
- causing said corresponding printer drivers of said selected output devices to write said printing instructions to the corresponding port managers of said selected output devices;
- and
- printing said print data on said selected output devices according to said printing instructions.
A computer program product comprising a virtual printer driver within a computer-based printing system, said virtual printer driver comprising code that directs a computer to:
- initiate a print job from a computing device as directed by a user, said print job comprising print data;
- gather information on the capabilities, locality, and status of one or more output devices accessible from said computing device, said output devices including corresponding print queues;
- display to said user a dialog of a plurality of options and requirements pertaining to said print job;
- allow said user to identify and select from said dialog which of said options and requirements are desired for said print job, said information on the capabilities and status of said one or more output devices and said options and requirements of said print job combining to define a set of printing instructions;
- select one or more of said output devices by which said virtual printer driver may direct said print job, said step of selecting being based upon and according to a best fit between said capabilities and status of said output devices and said options and requirements of said print job, said best fit based on one or more identified criteria of said plurality of output devices, without manual enumeration of each respective said plurality of output devices by said client computing device;
- render said printing instructions to said corresponding printer drivers of said selected output devices;
- and
- print said print data on said selected output devices according to said printing instructions.
A computer system for matching the best available printer with an outstanding print job, said system comprising:
- a gathering component that gathers information pertaining to the capabilities, locality, and status of each of one or more output devices accessible to a computing device;
- a dialog component that displays, and wherein a user may select, any requirements and options pertaining to said print job, said information pertaining to said capabilities, locality, and status of said output devices and said options and requirements pertaining to said print job combining to define a set of printing instructions;
- a selection component that selects one or more of said output devices to print said print job, said selection component basing said selection upon a best fit between said requirements and options of said print job and said capabilities, locality, and status of said output devices;
- and
- a rendering component for rendering said printing instructions to said selected output devices, wherein said print job is printed.
A computer readable medium containing a data structure for storing the capabilities and status of one or more output devices accessible to a computing device to be used in conjunction with requirements and options of a print job, based upon a best fit of such, to determine which of said computing devices is to be used to print said print job without manual enumeration of each of said output devices.
Dependencies are inferred from the claim text.