AUTOMATIC DETECTION OF USER PREFERENCE FOR PRINTER SETTING
A method is described for automatically predicting user-preferred printer settings based on past user behavior. A driver service module maintains an application/driver/user (ADU) settings database that stores printer settings associated with the application that initiated the print job, the printer driver and versions thereof, and (in a multiple user environment) the user's identity. Each time a print job is initiated, the driver service module analyzes the ADU database to determine a predicted user-preferred setting. The user may manually change the setting and confirm it, and the driver service module stores the user confirmed setting in the ADU database for future use. The method can transfer user-preferred settings associated with one application or one printer driver (or a version thereof) to another application or another printer driver (or another version thereof). It further allows user preference information to be accessed or transferred over a network.
1 . A method implemented on a data processing apparatus for controlling a print job, comprising:
(a) determining a predicted user-preferred setting for a first application and a first printer driver by analyzing a settings database, the settings database containing one or more printer settings each associated with an application and a printer driver;
(b) allowing a user to optionally change and confirm the predicted user-preferred setting;
(c) updating the settings database using the confirmed setting; and
(d) utilizing the confirmed setting to control the print job.
2 . The method of claim 1 , further comprising: before step (a), creating the settings database.
3 . The method of claim 1 , wherein in step (a) the predicted user-preferred setting is determined based on information indicative of frequencies of past use of the printer settings contained in the settings database or based on correlations among setting parameters.
4 . The method of claim 1 , further comprising:
(e) before step (a), determining whether the settings database contains one or more settings associated with the first application and the first printer driver;
wherein if the determination in step (e) is affirmative, step (a) includes analyzing the one or more settings associated with the first application and the first printer driver.
5 . The method of claim 1 , further comprising:
(e) before step (a), determining whether the settings database contains any settings associated with the first application;
wherein if the determination in step (e) is negative, step (a) includes:
(a1) identifying a second application having a common characteristic as the first application, the second application being associated with one or more settings in the settings database;
(a2) analyzing the one or more settings associated with the second application to obtain a predicted user-preferred setting for the second application; and
(a3) using the predicted user-preferred setting for the second application as the predicted user-preferred setting for the first application.
6 . The method of claim 1 , further comprising:
(e) before step (a), determining whether the settings database contains no settings associated with the first printer driver but contains one or more settings associated with another version of the first printer driver;
(f) if the determination in step (e) is affirmative, creating one or more settings in the settings database associated with the first printer driver by copying information from the one or more settings associated with the other version of the first printer driver; and
wherein step (a) includes analyzing the one or more settings associated with the first printer driver created in step (f).
7 . The method of claim 1 , further comprising:
(e) before step (a), determining whether the settings database contains no settings associated with the first printer driver or another version thereof but contains one or more settings associated with a second printer driver;
wherein if the determination in step (e) is affirmative, step (a) includes:
(a1) analyzing the one or more settings associated with the second printer driver to determine a user-preferred setting for the second printer driver; and
(a2) interpreting parameters in the user-preferred setting for the second printer driver into setting parameters for the first printer driver to obtain the predicted user-preferred setting for the first printer driver.
8 . The method of claim 1 , wherein each setting in the settings database is further associated with a user ID, the method further comprising:
before step (a), determining the user ID associated with the print job, and wherein step (a) includes analyzing one or more settings associated with the user ID.
9 . A data processing system comprising a printer connected to a client computer, the client computer including a printer driver configured to perform the method of claim 1 .
10 . A data processing system comprising a printer connected to a client computer, the client computer including a driver service module configured to perform the method of claim 1 .
11 . A data processing system comprising a printer connected to a server, the server including a driver service module configured to perform the method of claim 1 .
12 . A printer comprising a driver service module configured to perform the method of claim 1 .
13 . A computer program product comprising a computer usable medium having a computer readable code embodied therein for controlling a data processing apparatus, the computer readable program code configured to cause the data processing apparatus to execute a process for controlling a print job, the process comprising the steps of:
(a) determining a predicted user-preferred setting for a first application and a first printer driver by analyzing a settings database, the settings database containing one or more printer settings each associated with an application and a printer driver;
(b) allowing a user to optionally change and confirm the predicted user-preferred setting;
(c) updating the settings database using the confirmed setting; and
(d) utilizing the confirmed setting to control the print job.
14 . The computer program product of claim 13 , wherein the process further comprises: before step (a), creating the settings database.
15 . The computer program product of claim 13 , wherein in step (a) the predicted user-preferred setting is determined based on information indicative of frequencies of past use of the printer settings contained in the settings database or based on correlations among setting parameters.
16 . The computer program product of claim 13 , wherein the process further comprises:
(e) before step (a), determining whether the settings database contains one or more settings associated with the first application and the first printer driver;
wherein if the determination in step (e) is affirmative, step (a) includes analyzing the one or more settings associated with the first application and the first printer driver.
17 . The computer program product of claim 13 , wherein the process further comprises:
(e) before step (a), determining whether the settings database contains any settings associated with the first application;
wherein if the determination in step (e) is negative, step (a) includes:
(a1) identifying a second application having a common characteristic as the first application, the second application being associated with one or more settings in the settings database;
(a2) analyzing the one or more settings associated with the second application to obtain a predicted user-preferred setting for the second application; and
(a3) using the predicted user-preferred setting for the second application as the predicted user-preferred setting for the first application.
18 . The computer program product of claim 13 , wherein the process further comprises:
(e) before step (a), determining whether the settings database contains no settings associated with the first printer driver but contains one or more settings associated with another version of the first printer driver;
(f) if the determination in step (e) is affirmative, creating one or more settings in the settings database associated with the first printer driver by copying information from the one or more settings associated with the other version of the first printer driver; and
wherein step (a) includes analyzing the one or more settings associated with the first printer driver created in step (f).
19 . The computer program product of claim 13 , wherein the process further comprises:
(e) before step (a), determining whether the settings database contains no settings associated with the first printer driver or another version thereof but contains one or more settings associated with a second printer driver;
wherein if the determination in step (e) is affirmative, step (a) includes:
(a1) analyzing the one or more settings associated with the second printer driver to determine a user-preferred setting for the second printer driver; and
(a2) interpreting parameters in the user-preferred setting for the second printer driver into setting parameters for the first printer driver to obtain the predicted user-preferred setting for the first printer driver.
20 . The computer program product of claim 13 , wherein each setting in the settings database is further associated with a user ID, the process further comprising:
before step (a), determining the user ID associated with the print job, and
wherein step (a) includes analyzing one or more settings associated with the user ID.