Adaptive graphical user-interface for a network peripheral

Abstract: A printer controller system includes a process for generating and displaying an adaptive graphical user interface of a current configuration and current capabilities of a networked digital copier connected to a local area network. The process includes the process steps of requesting from a user's work station a current configuration and current capabilities of a digital copier, transmitting, in response to the request, an interrogation command to the digital copier over the local area network, receiving from the digital copier current configuration and capabilities information of the digital copier, retrieving digital copier configuration and capability libraries based on the received information and generating a graphical user interface using data within the retrieved libraries, displaying a graphical user interface including a representative graphical image of the digital copier in its current configuration and with its current capabilities, displaying at least one user-selectable menu of job options for selecting job options which are appropriate for the current configuration and current capabilities of the digital copier based on the received configuration and capabilities information, storing, upon entering a user-selected option from the menu of options, at least one user-selected option, re-displaying the image of the digital copier set to perform at least one specific job option based on the stored at least one user-selected option, downloading to the digital copier job option information of the digital copier based on at least one user-selected job option and a configuration of the re-displayed representative image of the digital copier, and setting the job options of the digital copier based on the downloaded job option information.

Description: The present invention concerns a networked peripheral in which the functionality of the networked peripheral is made available to users of a computerized local or a wide area network. More particularly, the present invention concerns improvements in controlling networked peripherals, such as a digital copier, over a computerized local area network by permitting a user to interrogate the networked peripheral to determine its current configuration, to display the current configuration of the networked peripheral, its capabilities and options, and to permit the user to preview the configuration and capabilities of the networked peripheral prior to sending a job to the networked peripheral. With increasing popularity of computerized local and wide area networks (hereinafter "LAN"), the computer industry has concentrated on providing a wide variety of peripherals with direct access to the LAN. Thus, for example, it is possible to interface a facsimile machine directly to the network, to interface a printer directly to a network, and to interface a scanner directly to a network. Recently, it has also been possible to connect a digital copier directly to a LAN so as to provide functionality of the copier directly to users of the LAN. More particularly, a digital copier includes both a scanner and a printer and, it has therefore been considered to provide that functionality in the digital copier directly to users of the LAN. For example, U.S. Patent No. 5,353,399 discloses a method and system for displaying an image of all peripheral devices connected to a LAN, such as printers, facsimile machines, scanners, etc., and displaying an image representing the type of device, its job status, location and model so that the user can discern what device is available for a particular task. However, the image that is displayed is static and does not change based on a physical configuration change such as when removing a paper cassette of a printer. The physical configuration change is not reflected in the image which is displayed and, accordingly, a user may try to use paper from the removed paper cassette. Despite the advantages of knowing the status and where the device is connected in the LAN, users encounter the problem of not being co-located with the peripheral and therefore the user cannot visually observe the peripheral to determine its current configuration. This is particularly troublesome for complicated network peripherals such as printers with attached sorters, collators and staplers which can support many different operational configurations. In addition, while the prior art may provide job status and model of a particular peripheral device connected to the LAN, the prior art system mentioned above does not display the current configuration of that peripheral device at a specific moment in time when the user wishes to utilize that peripheral device. In addition, there also exists a need for the user to examine remotely the current configuration of a peripheral device and be able to reconfigure remotely the peripheral device from the user's work station such that the peripheral device will be in an appropriate configuration for the user's required task. These needs are addressed by the present invention which is a peripheral driver which includes an adaptive graphical user-interface for a networked peripheral device. The graphical user-interface is customized each time to display current configuration and capabilities of the network peripheral device. Specifically, based on current configuration and capabilities, the peripheral driver generates a graphical user interface which is customized to reflect the current configuration and current capabilities of the peripheral device at a specific moment in time. In addition, the graphical user interface provides a listing of only those job options which are currently available to the user based on the capabilities of the peripheral device. US-A-5353399 discloses a method of controlling the use of a number of shared printers connected to a local area network. A display is arranged to display an indication of the location, type and operating state of each printer. WO-A-93 17379 discloses a copier which may also function as a laser beam printer or a facsimile machine. A display screen displays a number of options of use of the copier, a user then being able to select which function of the copier is to be used. WO-A-94 11804 discloses a printer connected to a computer system. The computer system has a display which displays a graphical representation of the status of the printer, thus avoiding the necessity of a user having to inspect the printer itself. According to one aspect of the present invention, there is provided a method for generating and displaying an adaptive graphical user interface of the current configuration and current capabilities of a networked peripheral device connected to a local area network, the method comprising the steps of: requesting the current configuration and current capabilities of a networked peripheral device; and displaying a graphical user interface including a representative graphical image of the networked peripheral device in its current configuration and with its current capabilities, characterized by: transmitting, in response to the request, an interrogation command to the networked peripheral device over the local area network; receiving, from the networked peripheral device, information corresponding to a current configuration and current capabilities of the networked peripheral device; retrieving peripheral device configuration and capabilities from libraries based on the received information and generating a graphical user interface using data within the retrieved libraries; generating and displaying at least one user-selectable menu of job options for selecting job options which are appropriate for the current configuration and current capabilities of the networked peripheral device based on the received configuration and capabilities information; and storing, upon entering a user-selected option from the menu of options, at least one user-selected option. According to another aspect of the present invention, there is provided a method for previewing a configuration of a peripheral device interfaced to a local area network (LAN) and for reconfiguring the peripheral device over the LAN prior to sending a job to the peripheral device in the case that the peripheral device is not configured appropriately for the job, the method comprising the steps of: generating and displaying an adaptive graphical user interface of the current configuration and current capabilities of the peripheral device using a method according to the first aspect of the invention; re-displaying, in response to a user selecting at least one user-selectable job option, the representative graphical image of the peripheral device set to perform at least one specific job option based on the at least one user-selectable job option selected by the user; and downloading to the peripheral device job option data in accordance with the user-selectable job option selected. According to another aspect of the present invention, there is provided a peripheral device controller for interrogating a networked peripheral device for its current configuration and current capabilities, and for generating and displaying an adaptive graphical user interface based on returned configuration and capabilities information, the peripheral device controller comprising: a local area network interface which interfaces between the peripheral device controller and a local area network; input means for inputting a request for a peripheral configuration and capabilities; and memory means for storing process steps and a peripheral device driver for the networked peripheral device, characterized by: process means for invoking, in response to an input request for a peripheral configuration and capabilities, the peripheral device driver using the stored process steps wherein, the peripheral device driver, upon being invoked by the process means, 1) interrogates the networked peripheral device as to its current configuration and current capabilities by sending an inquiry to the peripheral device via the local area network interface, 2) receives current configuration and current capabilities information from the networked peripheral device, 3) generates, based on the received current configuration and current capabilities information, a graphical user interface which includes a representative graphical image of the networked peripheral device, 4) displays on a monitor the graphical user interface including the representative graphical image which represents the current configuration and current capabilities of the networked peripheral device, 5) displays at least one menu of user-selectable job options for setting job options of the networked peripheral, 6) responds to a selection of the user-selectable job options by re-displaying the representative graphical image of the networked peripheral device based on the selected user-selectable option, and 7) transmits job option data to the networked peripheral device based on the selected user-selectable job option. BRIEF DESCRIPTION OF THE DRAWINGS Figure 1 is an overall system view of a multi-user local area network system which includes a printer/facsimile driver for controlling a digital copier and for transmitting facsimile outputs; Figure 2 is a block diagram of the internal structure of the computing equipment used with the present invention; Figure 3 is a cut-away perspective view of the MDC for showing individual option boards mounted therein; Figure 4 is a block diagram showing the relationship between software applications and dynamic link libraries and programs contained in the printer/facsimile driver; Figure 5 is a representational view of a graphical user interface display which shows the current configuration and capabilities of the digital copier; Figures 6A-6F are representational views of sub-dialog boxes which are windows displayed to the user in order to select job options for a particular job to be sent to the digital copier; Figure 7 is a flow diagram describing the method for generating and displaying a graphical user interface which includes a representative graphical image of a current configuration and capabilities of the digital copier; Figures 8A and 8B are flow diagrams describing how to print a document to the digital copier or how to prepare a facsimile cover sheet and facsimile document prior to transmission; Figure 9 is a representational view of a graphical user interface display which is displayed to a user for sending a facsimile transmission; Figure 10 is a representational view of a graphical user interface display which is displayed to a user in order to create/edit a facsimile cover sheet; Figure 11 is a representational view of a graphical user interface display for designating facsimile options; Figure 12 is a representational view of a graphical user interface display of an address book which is displayed to a user in order to create and edit address book entries; Figures 13A and 13B are representational views of sub-dialog boxes which are windows displayed to a user in order to create/edit individual address information; and Figures 14A and 14B are representational views of sub-dialog boxes which are windows displayed to a user for the purpose of previewing a facsimile cover sheet prior to transmission. Figure 1 is an overall view of a typical multi-user local area network in which the present invention operates. As seen in Figure 1, local area network 10 is connected to computing equipment 11, laptop computer 12, and multi-device controller 13. Multi-device Controller (hereinafter MDC) 13 is also connected to telephone line 15 and digital copier 16. A suitable digital copier for use in the present invention is a Canon GP55, a digital copier which has the capability of operating as a scanner, printer, and, of course, a copier. MDC 13 accesses an interface bus of digital copier 16 so as to break out the functionality of the scanner section and the printer section. The function and operation of MDC 13 and digital copier 16 will be discussed in greater detail hereinbelow. The present invention can be embodied in any one of computers 11 or 12. However, for the purpose of simplicity, the present invention will be described with respect to computing equipment 11, which can be a MacIntosh or an IBM PC or PC compatible computer having a windowing environment, such as Microsoft Windows. Provided with computing equipment 11 is a display screen, such as a color monitor or a monochromatic monitor, keyboard for entering text data and user commands, and pointing device such as a mouse for pointing and manipulating objects displayed on the screen. Computing equipment 11 may include a mass storage device such as a computer disk drive for storing data files which can include document text files and image files, in compressed or uncompressed format, and for storing application program files which can include Windows applications, DOS, Novell Netware®, printer/facsimile driver, and local device drivers. Alternatively, some or all of these applications can be stored on a networked file server (not shown) accessible to computing equipment 11 via local area network 10. In addition, computing equipment 11 can include desktop publishing programs or other information processing programs which contain stored program instructions by which computing equipment 11 manipulates data files and presents data in those files to a user via the display screen or which can be sent across local area network 10. Figure 2 is a detailed block diagram showing the internal construction of computing equipment 11. As shown in Figure 2, computing equipment 11 includes a central processing unit (CPU) 21 interfaced with computer bus 22. Also interfaced with computer bus 22 is local scanner interface 23, local printer interface 24, network interface 25, local facsimile/modem interface 26, display interface 27, keyboard interface 28, mouse interface 29, main memory 30, and disk 31. Main memory 30 interfaces with computer bus 22 so as to provide random access memory storage for use by CPU 21 when executing stored program instructions such as a Windows desktop publishing program or any one of the local device drivers. More specifically, CPU 21 loads those programs from disk 31 into main memory 30 and executes those stored programs out of main memory 30. In accordance with user instructions, stored application programs are activated which permit processing and manipulating of data. For example, a desktop publishing program such as Wordperfect® for Windows may be activated by a user to create, manipulate, view documents, and print or facsimile documents. Likewise, a device driver may be activated to permit the user to access functionality of the local peripheral devices or the network peripheral devices. Disk 31 stores Windows applications, DOS applications, network interface software, such as Novell Netware® and local peripheral device drivers. A description of these applications will be omitted since their functionality is well known. Disk 31 also contains printer/facsimile driver 40, which will be explained below in greater detail. Most typically, the applications stored on computer disk 11, including printer/facsimile driver 40, have been stored on disk 31 by downloading the application from a computer readable medium, such as a floppy disk or CD-ROM. Now, a brief explanation will be provided as to how MDC 13 accesses the functionality of digital copier 16 and sets up the operations of digital copier 16 for use by computing equipment 11 and 12. A more detailed description of MDC 13 and its operation and functionality are provided in copending application Serial No. 08/409,034 filed March 23, 1995, (European Application 96301994.8 corresponds). As shown in Figure 3, MDC 13 includes core board 41 which accesses the interface bus of digital copier 16 and which provides access to that interface bus by plural option boards which are connectable to core board 41. The option boards communicate with core board 41 via communication through a dual port ram on each option board. Typically, one of the option boards will include an interface board such as printer interface board 42 which permits connection to digital copier 16. Option boards may also include facsimile board 43 which permits direct output to a telephone line 15 shown in Figure 1. Another of the option boards, according to the present invention, is network interface board 45 which permits core board 41 and MDC 13 to access local area network 10 shown in Figure 1. In operation, digital copier 16 is operable in a stand-alone mode as a standard digital copier. In addition, it as operable as a scanner or as a printer to local users via computing equipment 11 and 12. Most typically, via network interface board 45, and in coordination with MDC 13, digital copier 16 is operable as a multi-functional network device accessible by any of multiple network users who may desire concurrent use of the scanner capability of copier 16, printing capability of copier 16, or one of the option boards in MDC 13, such as the aforementioned facsimile option board 43. Figure 4 is a block diagram showing the relationship between software applications and dynamic link libraries and programs contained in printer/facsimile driver 40. As shown in Figure 4, printer/facsimile driver 40 is used with conventional software application 50, such as Word for Windows or Wordperfect® for Windows which allows a user to prepare, edit and print documents. When a user enters a print document request, application 50 invokes a standard Graphics Device Interface (GDI) 52 which, in turn, invokes core printer driver 53 which operates in accordance with the present invention. If printing is desired, core printer driver 53 simply assembles the print job from application 50 and spools the print job to Windows spooler 55. In a conventional manner, Windows spooler 55 then outputs the print job over the network using conventional means between the Windows operating system and the network software and hardware installed on the network. On the other hand, where a facsimile output is desired, core printer driver 53 invokes facsimile user interface dynamic link library (fax UIDLL) 60. Generally speaking, fax UIDLL 60 generates the facsimile user interface and pre-fixes a facsimile cover sheet at the beginning of the facsimile job. However, since the facsimile cover sheet needs to include the number of pages being faxed, and since such information is not available until the remainder of the facsimile job is processed, the following steps are taken. First, fax UIDLL 60 invokes core printer driver 53 in order to create the body of the facsimile document (the facsimile job) by setting a fax flag which indicates to core printer driver 53 that the document is to be spooled to a specific location in disk 31. This time, however, core printer driver 53 does not spool through Windows spooler 55, but rather spools the body of the facsimile document to disk 31. In addition, after the body of the facsimile document has been spooled to disk 31, core printer driver 53 reports to fax UIDLL 60 that it has completed its output and provides fax UIDLL 60 with the number of pages in the facsimile document. Next, in response to notification from core printer driver 53, that the output has been spooled to disk 31, fax UIDLL 60 again invokes core printer driver 53, but this time with facsimile cover sheet information and another fax flag which indicates to core printer driver 53 to spool the document to disk 31 and to return operation to fax UIDLL 60. In this regard, the manner by which the facsimile cover sheet information is obtained will be discussed in greater detail below. Once again, core printer driver 53 does not spool the facsimile cover sheet to Windows spooler 55, but rather spools it to disk 31. Fax UIDLL 60 retrieves the cover sheet file and the facsimile body file from disk 31 and spools both, in proper order, and with appropriate headers obtained from MDC header code DLL 62 to Windows spooler 55. Upon obtaining the MDC header information, the facsimile cover sheet and the facsimile document are spooled to network 57 to MDC 13 which routes the facsimile document files to the appropriate destination based on the MDC header information. Typically, the facsimile document will be sent directly over telephone line 15 if MDC 13 includes a facsimile option board. In either case of printing or faxing, the user must set-up the necessary channel by which the document will be output prior to printing or faxing a document. In the present invention, digital copier 16 or MDC 13 will output a print job or a facsimile job, respectively. [Generating And Displaying A Graphical User Interface For The Digital Copier] According to the present invention, printer/facsimile driver 40 includes a software program, copier user interface dynamic link library (copier UIDLL) 65 shown in Figure 4, which includes process steps to interrogate digital copier 16 for its current configuration, status and capabilities. Copier UIDLL 65 also includes libraries of copier configuration graphical images and commands, copier capabilities graphical images and commands, and libraries of user-selectable job options corresponding to configuration and capabilities of digital copier 16. Based on these libraries, copier UIDLL 65 generates and displays the current configuration and status of digital copier 16 in a graphical user interface display (to be discussed below in greater detail). The graphical user interface display not only contains a graphical representation of digital copier 16 in its current configuration, but also displays the appropriate job options which can be selected based on the current configuration and current capabilities of digital copier 16. Thus, upon instruction from the user at the user's work station, such as computing equipment 11, copier UIDLL 65 sends a request to dynamic configuration dynamic link library (dynamic config DLL) 56 to interrogate digital copier 16 to obtain a current configuration of digital copier 16 and to obtain information relating to the capabilities of digital copier 16 at that specific time and to return that information to copier UIDLL 65. In this regard, dynamic config DLL 56 returns information or data regarding current configuration and capabilities of digital copier 16, but it is also to be understood that dynamic config DLL 56 could also return instructions to copier UIDLL 65 as to how copier UIDLL 65 should create, build and display the graphical user interface, i.e., vector graphic commands, fill patterns, geometric positional commands, bitmap identifications of bitmaps to be used, etc. When the user needs to access digital copier 16, such as when printing or scanning, copier UIDLL 65 displays to the user a graphical user interface which includes a representative graphical image of digital copier 16 with the graphical image indicating the current configuration at the specific moment the interrogation was answered by digital copier 16. One example of such a graphical user interface of digital copier 16 is shown in Figure 5 which shows copier-configuration window 70 which includes representative graphical image 71 of digital copier 16. As mentioned above, graphical user interface 70 is generated based on the information returned from digital copier 16 regarding its current capabilities and current configuration. Specifically, copier UIDLL 65 retrieves specific copier configuration libraries and copier capabilities from libraries based on the returned configuration and capabilities information in order to generate a customized graphical user interface such as that shown in Figure 5. That is, copier UIDLL 65 includes various libraries which include graphical display information and commands for each possible configuration and capabilities of digital copier 16. In this manner, upon receiving information from digital copier 16 regarding its current capabilities and current configuration, copier UIDLL 65 retrieves the configuration and capabilities based on that information and customizes a graphical user interface based on the current configuration and current capabilities of digital copier 16. It is to be understood that only configuration libraries and capabilities libraries which correspond to the returned current configuration and current capabilities of digital copier 16 are retrieved to create an appropriate graphical user interface. Based on the configuration and the capability libraries retrieved, copier UIDLL 65 also retrieves associated job option menus and dialog boxes to be displayed to a user. As a result, only the job options which are appropriate for the current configuration and the current capabilities of digital copier 16 are provided to the user for selection. For example, copier UIDLL 65 includes sub-dialog boxes which permit the user to select new job options, if desired, by pointing and clicking on job options within the sub-menu or the sub-dialog box provided in copier configuration window 70. For example, Figures 6A and 6B illustrate two types of sub-dialog windows. In Figure 6A, sorter window 85 pops-up when the user clicks on the graphical representation of sorter bin 72. Sorter window 85 permits the user to select how the output document is to be sorted, stapled, grouped, etc. And, in Figure 6B, duplex window 95 pops-up when the user clicks on the graphical representation of duplex unit 73 and permits the user to select a type of duplex printing. Other job options displayed in sub-menus or sub-dialog boxes such as those discussed above, are dictated by the list of capabilities and configuration of digital copier 16 during a specific interrogation. Through interaction with the sub-menus or sub-dialog boxes, the user can select new job options for a particular job which is to be sent to digital copier 16. For example, the user can select from many job options such as sorter options, paper tray options, duplexing options, graphics options, print-type options, font-type options, document orientation options, resolution options, transparency interleaving options, and magnification options. Once the selections have been set, copier UIDLL 65, with the newly selected job options, redisplays graphical image 71 of digital copier 16. Upon reviewing graphical image 71, the user can either again select new job options via the menus or sub-dialog boxes or accept the job options which are displayed by clicking on OK button 78 in copier-configuration window 70. Depending on the capabilities and options of digital copier 16, the user can select various types of copying operations such as reverse and forward printing, duplexing, color elimination, pattern matching, etc. In addition, the user can select which paper cassette based on type of paper contained within each cassette. And, of course, as noted above, the user has the option of selecting how the print job is to be output whether to a sorter tray or to an individual tray, and whether the output document is to be stapled. The method of generating and displaying a graphical user interface of digital copier 16 will now be discussed in greater detail with respect to flow diagram 7. Referring to Figure 7, upon completing a document in a word processing application such as Wordperfect or upon retrieving a document to be printed, a print request sent via the currently running word processing application causes device options to be displayed for the print job in step S702. In step S703, it is determined whether networked digital copier 16 is selected. In the case that the digital copier is not selected in step S703, in step S705, GDI 42 invokes an appropriate peripheral device driver, such as the device driver for the local scanner or local facsimile machine based on the user's selection. However, if, in step S702, the network digital copier 16 is selected, flow proceeds to step S706 at which point GDI 42 invokes copier UIDLL 65. Upon invoking copier UIDLL 65, the status of the configuration of digital copier 16 is immediately requested by sending a configuration and capabilities interrogation via dynamic config DLL 56 over LAN 10 to digital copier 16 (step S707). Upon a return of the requested configuration and capabilities information from digital copier 16, copier UIDLL 65 generates a graphical user interface which reflects the current configuration and the current capabilities of digital copier 16 at the specific instance the interrogation was received by digital copier 16. In step S709, if digital copier setup is requested; digital copier graphical image 71 which represents digital copier 16 as it is currently configured and with its current capabilities is displayed to the user. In addition, copier UIDLL 65 generates and displays only job option menus and job-option dialog boxes which are applicable to that current configuration and capabilities of digital copier 16. For example, as shown in Figure 5, digital copier 16 is shown as having 20-bin staple sorter 72, two cassettes 74 and 75, paper deck 76, and duplex unit 73. By using the mouse to point and click on graphical image 71, current copier-configuration window 70 becomes an interactive graphical user interface which responds to user selections when the user clicks on any portion of the digital copier in graphical image 71. For example, if the user points and clicks on sorter tray 72, the sub-dialog box 85 shown in Figure 6A will appear overlaid onto copier-configuration window 70. Utilizing the sub-dialog box 85 for the sorter, the user can alter or reconfigure how the documents are to be sorted upon being printed. Similarly, sub-dialog box 95 shown in Figure 6B will appear if the user points and clicks anywhere on duplex unit 73 of digital copier 16 shown in window 78. As mentioned previously, if digital copier 16 does not include, for example, a sorter, the sorter will not be displayed. Likewise, job option sub-dialog boxes for the sorter will not be displayed. Thus, only job options which can be carried out by digital copier 16 based on its current configuration and current capabilities will be provided to the user. In this manner, the user cannot try to select a job option which is not available or cannot physically be performed based on the current capabilities of digital copier 16. In step S710, it is determined whether the user has pointed and clicked on any of the sub-dialog boxes or option menus. By pointing and clicking on any number of new job options, the user can select job options for digital copier 16 to perform. For example, if the user clicks on "configuration" icon 79, the dialog box shown in Figure 6C is overlaid over window 70. Figure 6C displays to the user the correct set-up of digital copier 16 and the options available to a network user. If communication could not be established with digital copier 16, the selections in the displayed dialog boxes will change to allow the user to manually enter the options in Figure 6D. The "set to manual configuration" button will allow permanent disabling of any network detection. Nevertheless, using the various sub-dialog boxes shown there, the user can review configuration settings and capabilities of digital copier 16 in Figure 6C. If the user wishes to change printing options of digital copies 16, the user clicks on "option" icon 80. Upon clicking on option icon 80, the dialog box shown in Figure 6E is overlaid over window 70. By resetting job options in various sub-dialog boxes provided therein, the user can change a graphics mode, graphics quality, gray scale, font and printer memory capacity. Once the user has set various job options for a specific job, copier UIDLL 65 redisplays copier-configuration window 70 which shows the selected job options in step S711. In this manner, in step S711, the user can determine if the newly selected job options are acceptable for the user's particular task. If the job options are not acceptable, the user can select new job options for digital copier 16. If the new job options are not to be selected, flow proceeds to step S713 at which point all job option data are sent across the network to digital copier 16 via MDC 13. In this regard, all job option settings which are the same as the settings of the current job options are downloaded even though no changes to the settings were made. Likewise, if the user has reset all job options of digital copier 16, all job option data, including newly selected job option settings as well as job option settings which were not changed, are downloaded with the print job across the network to digital copier 16 via MDC 13 in step S716 as well. Preferably, job option settings are selected at the time a print job is requested and, in this manner, the job option data is output to the printer queue as a header file of the print file when it is downloaded to digital copier 16. It is noted that it is possible to set job option selections for digital copier 16 at any time and not necessarily at the time a print job is requested. On the other hand, if the document to be output is not to be printed to digital copier 16, but rather transmitted as a facsimile output, the user clicks on facsimile button 77 in window 70. This action prompts the set-up of the facsimile document body and cover sheet by fax UIDLL 60 which in turn outputs both files to MDC 13 for output. This operation and the printing operation will be discussed in greater detail below. [Printing/Faxing] Figures 8A and 8B illustrate the method by which a document prepared at computing equipment 11 can be output, via local area network 10, to either a printed document or a facsimile transmission. The process steps shown in Figures 8A and 8B are executed by CPU 21 by loading various software programs of printer/facsimile driver 40 into main memory 30 and executing process steps in those programs from main memory 30. The process steps in Figures 8A and 8B illustrate operation of CPU 21, which retrieves programs from disk 31, executes those programs, then in turn invokes various user interface dynamic link libraries which operate to send data and receive data across local area network 10. In addition, the process steps provide for access to digital copier 16, via MDC 13 which also directs data files from computing equipment 11 to the appropriate destination such as a facsimile job which is sent out over telephone line 15. If the document is to be printed (step S800), GDI 52 invokes core printer driver 53 which operates to retrieve the print job from the currently operating word processing application in step S801. After retrieving the print job core printer driver 53 spools the print job to Windows spooler 55 in step S802. In a known manner, Windows spooler 55 outputs the print job to digital copier 16 via the network interface and MDC 13 which directs the print file to digital copier 16 for printing in step S803. On the other hand, if the document is to be a facsimile output (step S804), core printer driver 53 invokes fax UIDLL 60 in step S805. In step S808, fax UIDLL 60 displays send-fax window 90 which provides the user by way of option menus and sub-dialog boxes the following options: addressing of an outgoing facsimile, editing the address book, creating/editing the cover sheet layout, and setting the facsimile options. For example, by pointing and clicking on a name in "address book" 91, a fax recipient name is highlighted. By "double" clicking on the same name, the name and corresponding fax number will be automatically entered into the "recipient" field of the cover sheet in send-fax dialog box 90. On the other hand, if an individual name does not appear in address book 91, the user can manually enter the recipients name and fax number in "Name" field and "Number" field. Most typically, the user will define the data to be inserted into a cover sheet prior to sending a facsimile transmission. Thus, in step S809, by clicking on "cover sheet" icon 92 in send-fax window 90, a sub-dialog box entitled "fax-cover-sheet" appears as shown in Figure 10. Fax coversheet dialog box 93 includes alterable settings to edit a cover sheet layout for the facsimile as well as to preview the cover sheet upon its completion. As described above, upon clicking on cover sheet icon 92, fax-cover-sheet sub-dialog box 93 pops up. As discussed above, fax-cover-sheet sub-dialog box 93 shown in Figure 10 allows the user to create and edit a cover sheet. The cover sheet which can be created by using the options shown in facsimile-cover-sheet dialog box 93 permits the user to enter the following information: sender's name, sender's facsimile number, recipient('s) name(s), recipient('s) phone number(s), page count, priority, logo, and signature. The user can enter all this information by pointing and clicking on the appropriate function in fax-cover-sheet sub-dialog box 93 shown in Figure 10. For example, by clicking on "sender-information" box 94, the user can enter a new sender "Name" and "Number", or modify the existing sender Name and Number. In sub-dialog box 95, the user can enter a cover sheet note to be printed on the front of the cover sheet. Upon completing the cover sheet, the user can set the facsimile options. Thus, by clicking on "options" icon 104 in step S810, fax UIDLL 50 displays fax-options sub-dialog box 100 shown in Figure 11 to the user. As shown in Figure 11, fax-options sub-dialog box 100 allows the user to select the priority of the facsimile output, the orientation of the facsimile document, i.e., portrait or landscape, a resolution, and appropriate paper size for the document. If the user points and clicks on "address-book" icon 105, address-book sub-dialog box 106 pops-up as shown in Figure 12 (step S814). Address-book sub-dialog box 106 allows a user to create/edit entries in the address book by inputting names, addresses, and facsimile information into the address book. To create or edit an entry, the user clicks either a "new-individual" button 107 or "edit" button 108,.respectively. That is, in steps S815 and S816, in the case that a recipient's name and fax number are not in the address book or the recipient information has changed, the user can enter the individual's name and telephone number by clicking on new-individual button 107 or edit button 108 in address-book sub-dialog box 106. Upon clicking on new-individual button 107 in address-book sub-dialog box 106, "create-individual" sub-dialog box shown in Figure 13A will appear. Create-individual sub-dialog box 115 permits the user to enter the individual's name, company, facsimile numbers, and a brief note. The entry will be added to the address book listing shown in create-individual sub-dialog box 115 upon clicking on "OK" button 116 in create-individual sub-dialog box 115. In addition, a user can change information of an entry in the address book by clicking on "edit" button 108 which causes "edit-individual" sub-dialog box 120 to pop-up. In sub-dialog box 120, an entry which is highlighted in address-book sub-dialog box 106 is reproduced in the "edit-individual" sub-dialog box 120 at which point the user can edit any of the individual's personal information and then add the changes back into the address book by clicking on "OK" button 121. Address-book sub-dialog box 106 also permits the user to create/edit entries of a group much in the same manner as an individual's entry as described above. Upon completing steps S815-S819, the user can return to fax-cover-sheet sub-dialog box 93 at which point the user can click on "preview" button 130 to preview the facsimile cover sheet. As shown in Figures 14A and 14B, the user can preview the facsimile cover sheet in "facsimile-cover-sheet-preview" window 140. As shown in Figure 14B, the user has the option to preview the cover sheet by zooming in and zooming out in order to preview specific portions of the cover sheet. If the facsimile cover sheet is not completed, the user simply re-enters the necessary information in same manner as described above by returning flow to step S809. On the other hand, if no entries are being created or edited, upon completing the cover sheet and clicking on the OK button, flow proceeds to step S821 at which point fax UIDLL 60 has gathered all of the information for the cover sheet and calls core printer driver 53. Thus, in step S821, fax UIDLL 60 invokes core printer driver 53 and sets a facsimile flag so that core printer driver 53 knows that the document which is to be retrieved from the currently operating word processing application is to be a facsimile output. Fax UIDLL controls core printer 53 to retrieve and rasterize the document prepared by the word processing apparatus. In step S822, core printer driver 53 rasterizes the document and outputs the rasterized document file to a specific memory location in disk 31 which has been designated by the fax flag. In step S823, core printer driver 53 calls fax UIDLL 60 to inform it that it has completed the rendering of the document to disk 31 and, most importantly, provides fax UIDLL 60 with the number of rendered pages of the document. In step S823, core printer driver 53 releases control back to fax UIDLL 60, at which point fax UIDLL 60 compiles the data necessary for forming the cover sheet. In step S824, fax UIDLL 60 recalls core printer driver 53 with the facsimile cover sheet information. At this time, fax UIDLL 60 also sends a fax flag to core printer driver 53 so that the information is not sent to Window spooler 55, but rather the cover sheet file is sent to a specified memory location in disk 31. That is, core printer driver 53 acknowledges the facsimile flag sent from fax UIDLL 60 so it does not try to call fax UIDLL 60 again as it would upon receiving a request to send a facsimile transmission, but rather spools the facsimile cover sheet to disk 31 in step S825. In step S826, fax UIDLL 60 controls MDC header DLL 52 to spool an appropriate MDC header to Windows spooler 55. After the MDC header information has been spooled, fax UIDLL 60 retrieves the facsimile cover sheet file and the facsimile body file from disk 31 and spools both in proper order to Window spooler 55. To complete the facsimile output, fax UIDLL 60 again controls MDC header DLL 52 to spool MDC header end-of-file information to Windows spooler 55. Finally, in step S827, windows spooler 55 upon receiving all of the facsimile output information transmits the facsimile output across the local area network 10 to MDC 13 which routes the output based on the MDC header information to its appropriate destination. The invention has been described with respect to a particular illustrated embodiment. It is to be understood that the invention is not limited to the above-described digital copier embodiment and that various changes and modifications may be made by those of ordinary skill in the art in order to utilize the adaptive graphical user-interface for any type of network peripheral such as a scanner, facsimile machine, printer, etc., without departing from the scope of the invention.

Claims: A method for generating and displaying an adaptive graphical user interface of the current configuration and current capabilities of a networked peripheral device connected to a local area network, the method comprising the steps of: requesting (S701) the current configuration and current capabilities of a networked peripheral device; and displaying a graphical user interface (S709) including a representative graphical image (71) of the networked peripheral device in its current configuration and with its current capabilities, characterized by : transmitting (S706), in response to the request, an interrogation command to the networked peripheral device over the local area network; receiving, from the networked peripheral device, information corresponding to a current configuration and current capabilities of the networked peripheral device; retrieving peripheral device configuration and capabilities from libraries based on the received information and generating a graphical user interface using data within the retrieved libraries; generating and displaying at least one user-selectable menu (85) of job options for selecting job options which are appropriate for the current configuration and current capabilities of the networked peripheral device based on the received configuration and capabilities information; and storing, upon entering a user-selected option from the menu of options, at least one user-selected option. A method according to Claim 1, further comprising the step of re-displaying (S711) the graphical interface for the networked peripheral device together with at least one specific job option setting based on the stored at least one user-selected job option. A method according to Claim 2, further comprising: downloading (S713) to the networked peripheral device job option information of the networked peripheral device based on at least one user-selected option; and setting the job options of the networked peripheral device based on the downloaded job option information. A method according to Claim 3, wherein in the downloading step (S713), the job option information is provided as a header to a data file downloaded with the job option information. A method according to Claims 1, wherein, in the receiving step, the information received from the networked peripheral device includes instructions as to how to create, build and display a graphical user interface for the current configuration and current capabilities of the networked peripheral device. A method according to claim 1 wherein said peripheral device is a networked digital copier connected to a local area network (LAN), wherein said requesting step (S701) comprises requesting from a user's work station the current configuration and current capabilities of the digital copier over the LAN; and the method includes the steps of: re-displaying (S711) the image of the digital copier set to perform at least one specific job option based on the stored at least one user-selected option; downloading (S713) to the digital copier over the LAN job option information of the digital copier based on at least one user-selected job option and a configuration of the re-displayed representative image of the digital copier; and setting the job options of the digital copier based on the downloaded job option information. A method according to Claim 6, further comprising sending to a multi-device controller the interrogation over the local area network which addresses the interrogation to the networked copier and receives from the networked copier the current status information and addresses that information back to the work station via the local area network. A method according to Claim 6 or 7, wherein, in the step of displaying the representative graphical image of the digital copier (S709), the representative graphical image of the digital copier is an interactive graphical user display which is responsive to a user's input selection within the interactive display and which in response to a user's input selection displays at least one additional display. A method according to Claim 8, wherein the step of displaying includes displaying at least one additional display which includes at least one sub-dialog box which provides a menu of user-definable job option entries. A method according to any of Claims 6 to 9, wherein the step of displaying at least one user-selectable menu of job options (S709) includes displaying sorter options, paper tray options, duplexing options, graphics options, print-type options, font-type options, document orientation options, resolution options, transparency interleaving options, magnification options and networking options. A method according to any of Claims 6 to 10, wherein the downloading step includes retrieving the stored at least one user-selected job option, creating a header file based on the stored at least one user-selected job option and outputting to the digital copier the header file together with the specific job. A method for previewing a configuration of a peripheral device interfaced to a local area network (LAN) and for reconfiguring the peripheral device over the LAN prior to sending a job to the peripheral device in the case that the peripheral device is not configured appropriately for the job, the method comprising the steps of: generating and displaying an adaptive graphical user interface of the current configuration and current capabilities of the peripheral device using a method according to claim 1; re-displaying (S711), in response to a user selecting at least one user-selectable job option, the representative graphical image of the peripheral device set to perform at least one specific job option based on the at least one user-selectable job option selected by the user; and downloading (S713) to the peripheral device job option data in accordance with the user-selectable job option selected. A peripheral device controller for interrogating a networked peripheral device for its current configuration and current capabilities, and for generating and displaying an adaptive graphical user interface (70) based on returned configuration and capabilities information, the peripheral device controller comprising: a local area network interface (25) which interfaces between the peripheral device controller and a local area network; input means (28) for inputting a request for a peripheral configuration and capabilities; and memory means (30) for storing process steps and a peripheral device driver for the networked peripheral device, characterized by : process means (21) for invoking, in response to an input request for a peripheral configuration and capabilities, the peripheral device driver (40) using the stored process steps wherein, the peripheral device driver, upon being invoked by the process means, 1) interrogates the networked peripheral device as to its current configuration and current capabilities by sending an inquiry to the peripheral device via the local area network interface, 2) receives current configuration and current capabilities information from the networked peripheral device, 3) generates, based on the received current configuration and current capabilities information, a graphical user interface which includes a representative graphical image of the networked peripheral device, 4) displays on a monitor the graphical user interface including the representative graphical image which represents the current configuration and current capabilities of the networked peripheral device, 5) displays at least one menu of user-selectable job options for setting job options of the networked peripheral, 6) responds to a selection of the user-selectable job options by re-displaying the representative graphical image of the networked peripheral device based on the selected user-selectable option, and 7) transmits job option data to the networked peripheral device based on the selected user-selectable job option. A peripheral device controller according to Claim 13, further comprising a multi-device controller which receives the interrogation over the local area network and addresses the interrogation to the networked peripheral device and receives from the networked peripheral device the current status information and addresses that information back to the peripheral device controller via the local area network. A peripheral device controller according to Claim 13 or 14, wherein the networked peripheral device is a copier. A network system comprising: a networked peripheral device (16) which stores current configuration information and which has defined current capabilities; and a peripheral device controller (13) according to claim 13 or 14, connected to the networked peripheral device and to a local area network, for interrogating the networked peripheral for its current configuration and current capabilities, and for generating and displaying an adaptive graphical user interface based on returned configuration information and capabilities information. A network system according to claim 16, wherein the networked peripheral device is a digital copier. A computer program product carrying computer-readable program code for causing a processor means to become operable to perform all the steps of a method according to any one of claims 1 to 12. A computer program comprising computer-implementable steps for causing a computer to perform all the steps of a method according to any one of claims 1 to 12. A computer program according to claim 19 when dependent on claim 3, wherein the job option information is provided as a header to a data file downloaded with the job option information. A computer program according to claim 20, wherein the information received from the networked peripheral device includes instructions as to how to create, build and display a graphical user interface for the current configuration and current capabilities of the networked peripheral device. A computer-readable medium storing a computer program according to any one of claims 19 to 21.

Inventors: HILDRETH MARK S, MAHAJAN RAKESH, MAN CHIU MING, SANCHEZ GEORGE A, HILDRETH, MARK S., MAHAJAN, RAKESH, MAN, CHIU MING, SANCHEZ, GEORGE A.
Applicants: CANON KK, CANON KABUSHIKI KAISHA
Application year: 1996
Main classification: G06F3
IPC codes: G06F3, G06F13, G03G21, H04N1, B41J29