Abstract:
A method for providing a menu for a device, by providing a GUI for an administrator to select and lock-down device driver setting profiles, and providing a GUI for displaying to a user the locked-down profiles and permitting the user to select only from the listed profiles. Allowing a user to choose only from the pre-defined profiles makes for convenience and avoids waste from setting errors by novice users. The computer system detects the current system and job information (time, date, printer status, application, user information, etc.) using WMI and SNMP, applies mapping rules defined by an administrator, and displays only those profiles that are applicable to the current system and job status. Methods also include defining new profiles; alerting the user when no profiles are available, with mapping explanation and suggestion; profile detail display; and printer support.

Description:
CROSS-REFERENCES TO RELATED APPLICATIONS  
       [0001]     Not Applicable  
       FEDERALLY SPONSORED RESEARCH  
       [0002]     Not Applicable  
       SEQUENCE LISTING OR PROGRAM  
       [0003]     Not Applicable  
       FIELD OF THE INVENTION  
       [0004]     This invention relates to the field of graphical user interfaces (GUI) for device drivers, and more particularly to providing methods for locking-down and displaying device driver setting profiles.  
       BACKGROUND OF THE INVENTION  
       [0005]     Device drivers are generally known, including a printer driver. Typically, printing from a computer occurs through the use of a printer driver. Upon either an application launch or during a print command load time, the application will call an instance of the printer driver. As devices become more complex and the number of settings increases, selecting the correct settings becomes a more complicated task. A novice user is especially likely to make device setting errors, causing waste of resources. The present invention arose out of the above concerns associated with providing an improved GUI (graphical user interface) for device drivers.  
       SUMMARY OF THE INVENTION  
       [0006]     Methods, computer program products, computing and printing systems for locking-down and displaying device driver setting profiles are described. The present invention provides a GUI for an administrator to select and lock-down device driver setting profiles, and a GUI for displaying to a user the locked-down profiles and permitting the user to select only from the listed profiles. A profile (device driver setting profile) is a customizable collection or set of setting values, optionally associated with a mnemonic name and icon. Allowing a user to choose only from the pre-defined profiles makes for convenience and avoids waste from setting errors by novice users. The computer system detects the current system and job information (time, date, printer status, application, user information, etc.) using WMI and SNMP, applies mapping rules defined by an administrator, and displays only those profiles that are applicable to the current system and job status.  
         [0007]     As the number of settings for a device increases, it becomes more and more cumbersome to change settings and to confirm that the correct settings are currently in effect. A goal of the present invention is to simplify this process by allowing the user to conveniently choose from a set of profiles, where a profile is a set of pre-defined device setting values. In an embodiment of the present invention, this process is further simplified by letting the computer system detect the current system and job information, and according to the pre-defined mapping rules, presenting the user with only a subset of profiles that are applicable to the current system and job status. For example, the applicable set of profiles may depend on the user, application name (word processor or Internet browser, etc.), and the number of pages in the print job.  
         [0008]     Manually changing or selecting setting values may be especially difficult for a novice user, such as a part-time employee of a large organization. Another benefit of the present invention is that making the profiles to be locked-down and allowing a user to choose only from the presented profiles avoids setting errors by a novice user. In an embodiment of the present invention, a user belonging to a certain user group will be allowed to choose only from certain profiles. This avoids wasting of expensive paper (costly media type such as glossy paper), ink, toner, and other resources caused by setting errors by a novice user.  
         [0009]     An embodiment of the invention provides a menu for a device, comprising a GUI for an administrator to select and lock-down device driver setting profiles, and a GUI for displaying to a user the locked-down profiles and permitting the user to select only from the locked-down profiles.  
         [0010]     In a further embodiment of the invention, the GUI for an administrator to select and lock-down profiles further comprises a method for defining new profiles: a GUI for the administrator to define a profile comprising: selecting at least one setting value, specifying a profile name and icon, and registering the at least one setting value as a profile.  
         [0011]     In a further embodiment of the invention, an association (or a mapping) can be defined by an administrator, so that only a subset of the profiles is presented in a given situation (system and job informnation). The GUI for an administrator to select and lock-down profiles further comprises a GUI for the administrator to define a mapping from system and job information to the profiles. The GUI for displaying to the user the locked-down profiles and permitting the user to select only from the locked-down profiles comprises obtaining current system and job information, and displaying to the user the locked-down profiles resulting from applying the mapping from system and job information to the profiles to the current system and job information. Examples of system and job information are time and date information, device status informations application information, and user information. Obtaining the current system and job information may involve obtaining local information by WMI and remote information by SNMP.  
         [0012]     In a further embodiment of the invention, a user is specially alerted when there are no profiles to choose from. Displaying to the user the locked-down profiles (resulting from applying the mapping from system and job information to the profiles to the current system and job information) comprises: alerting the user when zero profiles result from applying the mapping, and displaying explanation of the mapping and suggestion.  
         [0013]     In a further embodiment of the invention, the GUI provides explanatory details of the profiles, wherein the GUI for displaying to a user the locked-down profiles and permitting the user to select only from the locked-down profiles further comprises a GUI for selecting a profile and displaying profile detail information in a separate display window.  
         [0014]     In a further embodiment of the invention, the device driver setting profiles are for a printing device. In this case, driver settings include paper type, duplex printing, N-up settings, etc.  
         [0015]     The invention will be more fully understood upon consideration of the detailed description below, taken together with the accompanying drawings. 
     
    
     DESCRIPTION OF THE DRAWINGS  
       [0016]      FIG. 1  is a simplified block diagram showing connection of a computing system to a printer.  
         [0017]      FIG. 2  is a flowchart showing the overall profile lock-down procedure by an administrator, in accordance with a preferred embodiment of the present invention.  
         [0018]      FIG. 3  is a flowchart showing the procedure of defining a profile, in accordance with a preferred embodiment of the present invention.  
         [0019]      FIG. 4  is a flowchart showing the procedure of defining a mapping from system and job information to a set of profiles, in accordance with a preferred embodiment of the present invention.  
         [0020]      FIG. 5  is a flowchart showing the procedure while a user prints from an application, in accordance with a preferred embodiment of the present invention.  
         [0021]      FIG. 6  is a view of the GUI for selecting a profile and displaying profile details, in accordance with a preferred embodiment of the present invention.  
         [0022]      FIG. 7  is a view of the GUI for selecting a profile and displaying profile details, in accordance with a preferred embodiment of the present invention.  
         [0023]      FIG. 8  is a view of the GUI for displaying that the job cannot be printed because there are no available profiles, in accordance with a preferred embodiment of the present invention.  
     
    
     DETAILED DESCRIPTION OF THE INVENTION  
       [0024]     In the following detailed description, numerous specific details are set forth in order to provide a thorough understanding of the present invention. However, it will be apparent to one of ordinary skill in the art that these specific details need not be used to practice the present invention. In other instances, well known structures, interfaces, and processes have not been shown in detail in order not to unnecessarily obscure the present invention.  
         [0025]      FIG. 1  shows a general printing system setup  100  that includes a host computer  110  and a printer  150 . Here, the printer  150  may be any device that can-act as a printer, e.g. an inkjet printer, a laser printer, a photo printer, or an MFP (Multifunction Peripheral or Multi-Functional Peripheral) that may incorporate additional functions such as faxing, facsimile transmission, scanning, and copying.  
         [0026]     The host computer  110  includes an application  120  and a printer driver  130 . The application  120  refers to any computer program that is capable of issuing any type of request, either directly or indirectly, to print information. Examples of an application include, but are not limited to, commonly used programs such as word processors, spreadsheets, browsers and imaging programs. Since the invention is not platform or machine specific, other examples of application  120  include any program written for any device, including personal computers, network appliance, handheld computer, personal digital assistant, handheld or multimedia devices that is capable of printing.  
         [0027]     The printer driver  130  is a software interfacing with the application  120  and the printer  150 . Printer drivers are generally known. They enable a processor, such as a personal computer, to configure an output data from an application that will be recognized and acted upon by a connected printer. The output data stream implements necessary synchronizing actions required to enable interaction between the processor and the connected printer. For a processor, such as a personal computer, to operate correctly, it requires an operating system such as DOS (Disk Operating System) Windows, Unix, Linux, Palm OS, or Apple OS.  
         [0028]     A printer I/O (Input/Output) interface connection  140  is provided and permits host computer  110  to communicate with a printer  150 . Printer  150  is configured to receive print commands from the host computer and, responsive thereto, render a printed media. Various exemplary printers include laser printers that are sold by the assignee of this invention. The connection  140  from the host computer  110  to the printer  150  may be a traditional printer cable through a parallel interface connection or any other method of connecting a computer to a printer used in the art, e.g., a serial interface connection, a remote network connection, a wireless connection, or an infrared connection. The varieties of processors, printing systems, and connection between them are well known.  
         [0029]     The present invention is suited for printer driver settings, and it is also suited for other device drivers. The above explanations regarding  FIG. 1  used a printer driver rather than a general device driver for concreteness of the explanations, but they also apply to other device drivers. Similarly, the following descriptions of the preferred embodiments generally use examples pertaining to printer driver settings, but they are to be understood as similarly applicable to other kinds of device drivers.  
         [0030]      FIG. 2  is a flowchart showing the overall profile lock-down procedure by an administrator, in accordance with a preferred embodiment of the present invention.  
         [0031]     In step  210 , the administrator begins profile lock-down using GUI. This can be initiated while the user is already logged on in an administrator status. Otherwise, the administrator would certify the administrator status in step  250 . Profile lock-down can be started from a menu in the GUI. In an embodiment of the invention, this is entered from the “Device Settings” tab of a particular printer within the “Printers and Faxes” menu.  
         [0032]     In step  220 , a new profile is defined. This step is optional and described further in a later figure.  
         [0033]     In step  230 , a set of profiles is selected. Typically, a list of all available profiles is displayed and the desired profiles are selected from the list. The selected set may include exactly one profile. As described later, the set of profiles selected may consist of zero profiles.  
         [0034]     In step  240 , the administrator defines a set of mappings from application and context to a set of profiles. This step is optional and described further in a later figure.  
         [0035]     In step  250 , the administrator locks down the profiles. To lock down the profiles means that user attempting to print will be confmed to selection only from these profiles, and that the profiles thus registered can only be changed by another administrator operation. If the administrator is not already logged on using an administrator status, it is at this time that the administrator certifies the administrator status by typing in a password, etc. to verify privilege to execute this administrative operation. In an embodiment of the invention, locking-down is achieved by the administrator placing a check mark in the checkbox labeled “Lock these settings” or “Lock down these profiles” and entering the administrator password. Unlocking or changing the locked-down profiles follows a similar procedure.  
         [0036]      FIG. 3  is a flowchart showing the procedure of defining a profile, in accordance with a preferred embodiment of the present invention.  
         [0037]     In step  310 , the user begins definition of a new profile. The procedure of defining a new profile is the same for administrators and other users. That is, defining a new profile per se is not a privileged procedure, and an ordinary user is typically given the ability to define a profile for convenience.  
         [0038]     In step  320 , a set of setting values are selected. An example of a set of setting values in a profile is as follows: No duplex, 2-Up, Print text as black, while all the other settings are the same as the factory default.  
         [0039]     In step  330 , optionally a name and icon are specified for the new profile. If a new name is not selected by the user, an automatically-generated name such as “Profile3” can be assigned to the new profile. An icon can be selected and assigned to the new profile for easy recognition.  
         [0040]     In step  340 , the set of selected setting values is registered as a profile, along with the optional name and icon. This step is typically accomplished by clicking on an OK or Register button.  
         [0041]      FIG. 4  is a flowchart showing the procedure of defining a mapping from system and job information to a set of profiles, in accordance with a preferred embodiment of the present invention.  
         [0042]     In step  410 , the administrator begins to define a mapping from system and job information to a set of profiles. This is a part of the options in the overall process of locking down profiles.  
         [0043]     In step  420 , using GUI the administrator specifies the applicable system information and job information. Examples of system and job information are time and date information, device status information, application information, and user information. Typical system information items are time of day, amount of paper remaining in the printer, etc. Typical job information items are application type and name, user name, user group, number of pages in the job, etc.  
         [0044]     In step  430 , a set of profiles is selected. This step is similar to step  230 . Typically, a list of all available profiles is displayed and the desired profiles are selected from the list. The selected set may include exactly one profile. As described later, the set of profiles selected may consist of zero profiles.  
         [0045]     In step  440 , the administrator registers the mapping specified above. Typically, this is done by clicking on a Register or OK button. If this step is the final step in the overall lock-down process, this step may involve administrator certification using a password, similarly to step  250 .  
         [0046]      FIG. 5  is a flowchart showing the procedure while a user prints from an application, in accordance with a preferred embodiment of the present invention. In step  510 , the user begins to print from an application, by initiating printing by clicking on the Print icon, from the Print menu or by another interface provided for by the application.  
         [0047]     In step  520 , a set of applicable available profiles is obtained. If mapping from system and job information to a set of profiles is enabled and activated, then current system and job information is obtained by querying local information via WMI (Windows Management Instrumentation) and remote information via SNMP (Simple Network Management Protocol). This information is then used to apply the mapping rules to obtain the set of profiles available for the current system and job information. In an embodiment of the present invention, application of the mapping rules occurs by testing a sequence of conditionals. If the current system and job information satisfies the conditions of the first mapping rule, then that mapping rule is applied. Otherwise, if the current system and job information satisfies the conditions of the second mapping rule, then that mapping rule is applied, and so on.  
         [0048]     In step  530 , the set of available profiles is displayed. In an embodiment of the present invention, this can be a simple textual list. In other embodiments of the present invention, this display may employ graphical interfaces, described below.  
         [0049]     In step  540 , the current and applicable system and job information, as well as, the relevant mapping rules are optionally displayed in addition to the set of available profiles.  
         [0050]     In step  550 , details of the available profiles are optionally displayed. In an embodiment of the present invention, this can be a simple textual list of the profile details. In other embodiments of the present invention, this display may employ graphical interfaces involving more user-friendly layouts, described below.  
         [0051]     In step  560 , the user selects a profile from the list of available profiles, and initiates printing. There may be a default profile selection presented by the system, which can be accepted or the user, or otherwise the user selects another profile choice by a mouse click or other means.  
         [0052]      FIG. 6  is a view of the GUI for selecting a profile and displaying profile details, in accordance with a preferred embodiment of the present invention.  
         [0053]     The GUI is divided into an upper section and a lower section. In the upper section the list of available profiles is displayed using icons accompanying the names of the profiles. The icon for the profile “Fax document” is highlighted to show that it is currently selected. In the upper section some system and job information is optionally displayed.  FIG. 6  shows the current application name and the job information that the document being printed is less than 10 pages long.  
         [0054]     In the lower section of the GUI the details of the selected profile is displayed. The profile name “Fax document” is accompanied by a brief description “(for documents to be FAXed)” which was optionally supplied to the defined profile. In addition, the detailed setting values of the profile are displayed: No duplex, Print text as black, etc.  
         [0055]      FIG. 7  is a view of the GUI for selecting a profile and displaying profile details, in accordance with a preferred embodiment of the present invention. It shows an alternative display method for showing the same information as in  FIG. 6 . The differences are as follows. Smaller icons are listed vertically instead of horizontally, and accompanied by radio buttons. The selected profile is accompanied by a radio button showing that it has been selected. In an embodiment of the present invention, the profiles details are shown in a balloon-like pop-up menu, which can be activated by a mouse right-click, a keyboard shortcut, or another means. The pop-up menu enables the computer screen from being too cluttered by having detail information that is always shown.  
         [0056]      FIG. 8  is a view of the GUI for displaying that the job cannot be printed because there are no available profiles, in accordance with a preferred embodiment of the present invention. When the mapping rules are applied to the current system and job infornation, the result may be that no profiles are available. In that event, the fact that no profiles are available may be shown prominently with a message “Can not print” or the like, together with some explanation as in the figure or with an icon. In this figure, the applicable current job information of document size (153 pages) is shown, along with classification information (More than 100 pages) which may have been applied. In an embodiment of the present invention, an explanation of applied mapping rule can be displayed in a descriptive format (“Max. 20 pages can be printed by the user.”) as well as a suggestion such as duplex printing or 2-up printing may be used to reduce the number of sheets required for printing.  
         [0057]     Although this invention has been largely described using terminology pertaining to printer drivers, one skilled in this art could see how the disclosed methods can be used with other device drivers. The foregoing descriptions used printer drivers rather than general device drivers for concreteness of the explanations, but they also apply to other device drivers. Similarly, the foregoing descriptions of the preferred embodiments generally use examples pertaining to printer driver settings, but they are to be understood as similarly applicable to other kinds of device drivers.  
         [0058]     Although this invention has been largely described using Windows terminology, one skilled in this art could see how the disclosed methods can be used with other operating systems, such as DOS, Unix, Linux, Palm OS, or Apple OS, and in a variety of devices, including personal computers, network appliance, handheld computer, personal digital assistant, handheld and multimedia devices, etc. One skilled in this art could also see how the user could be provided with more choices, or how the invention could be automated to make one or more of the steps in the methods of the invention invisible to the end user.  
         [0059]     While this invention has been described in conjunction with its specific embodiments, it is evident that many alternatives, modifications and variations will be apparent to those skilled in the art. There are changes that may be made without departing from the spirit and scope of the invention.  
         [0060]     Any element in a claim that does not explicitly state “means for” performing a specific function, or “step for” performing a specific fuinction, is not to be interpreted as a “means” or “step” clause as specified in 35 U.S.C. 112, Paragraph 6. In particular, the use of “step(s) of” or “method step(s) of” in the claims herein is not intended to invoke the provisions of 35 U.S.C. 112, Paragraph 6.