Patent ID: 8223363

Claim:
A computer-implemented method for a print driver to process print data, the computer-implemented method comprising: the print driver receiving settings data that indicates one or more user-specified settings to be used to process the print data; the print driver generating a graphical user interface that includes a search option; the print driver detecting a user selection of the search option; in response to the print driver detecting the user selection of the search option, the print driver discovering, over a network, a set of one or more printing devices that are available to process the print data, wherein the discovering of the set of one or more printing devices includes discovering installed options and current settings of each printing device in the set of one or more printing devices; the print driver selecting, from the set of one or more printing devices, a best fit printing device that is best able to process the print data, wherein the selecting is performed based upon the settings data that indicates the one or more user-specified settings to be used to process the print data and a weighting for each of the one or more user-specified settings to be used to process the print data and wherein the selecting includes determining a score for each printing device from the set of one or more printing devices, wherein each score is determined based upon the weighting for each of the one or more user-specified settings indicated by the settings data and wherein each score indicates whether the one or more user-specified settings indicated by the settings data is supported by each printing device from the set of one or more printing devices; the print driver updating the graphical user interface to identify both the set of one or more printing devices and the best fit printing device; the print driver detecting user input that indicates a user selection of a particular printing device from the set of one or more printing devices; in response to detecting the user selection of the particular printing device from the set of one or more printing devices, the print driver processing the print data and generating processed print data that conforms to a format supported by the particular printing device; and the print driver causing the processed print data to be transmitted over a network to the particular printing device.