Embodiments are generally related to data-processing methods and systems. Embodiments are additionally related to computer networks. Embodiments are also related to rendering devices, such as printers, scanners, multi-function devices, photocopy machines, and the like. Embodiments are additionally related to rendering device drivers and driver configuration applications.
Two prominent network-printing models currently operate in conventional printing environments. The first is the client-server model, an example of which is the “print queue” commonly employed in client-server networked printing. In the client-server model, files can be stored on a centralized high-speed file server that is made available to client computers. A rendering device, such as a printer, for example, can communicate with the server. The advantage of the client-server model is that in many operating systems, an administrator can configure the default printer driver settings on an associated print server. The print server can be implemented as a workstation or other computer that is dedicated to managing printers on a network. The print server can be implemented as any computer or workstation on the network.
The second prominent model is peer-to-peer network printing, a type of printing that operates in so-called peer-to-peer networks. In the peer-to-peer network-printing model, users can print directly to the printer or other rendering device from their printer driver. Peer-to-peer networks are commonly employed in smaller networking environments, such as offices. In such environments, an administrator may not possess the option to install a print server, or may have access to a print server, but not a particular type of print server. The print server used may also form a part of the printer. The administrator or another user may, however, desire to configure the printing defaults. Currently, an automated method or system does not exist, which offers this feature as an option at printer installation time.
It is a feature of the present invention to provide improved data-processing methods and systems.
It is also a feature of the present invention to provide improved methods and systems for configuring rendering devices, such as printers, scanners, multi-function devices, photocopy machines, and the like.
It is also a feature of the present invention to provide improved printer driver methods and systems.
It is an additional feature of the present invention to provide improved printer driver installer methods and systems.
Aspects of the present invention relate to methods and systems for permitting the driver for a rendering device, such as a printer, to be automatically configured at the time of installation. In general, a rendering device driver (e.g., a printer driver) is associated with a rendering device. A driver default configuration differing from the default can be initially set in the rendering device via an embedded network server (e.g., an embedded web server). The embedded network server communicates with and/or forms a part of the rendering device. The driver can then query the rendering device for the driver default configuration stored on the rendering device. The driver configuration can then be automatically adjusted prior to the use of the driver configuration, in response to querying the driver default configuration settings on the rendering device by the driver installer. The rendering device can be implemented as a printer, a scanner, a multi-function device, a photocopy machine, and the like.
The method and systems discussed herein can therefore automatically configure a printer driver's default settings. Such default settings are those settings that are set when a user selects a printing option, but prior to the user customizing the settings for their print or rendering job. A device administrator can first specify the device driver's default configuration, which can also be referred to as the “driver default settings”. The driver configuration is generally kept on the device itself and is accessible and modifiable by the system administrator via the device's web page or local UI. During the driver installation process, the device's printer driver installer queries the device to acquire the default driver configuration. The installer then installs the driver with these settings as the driver default settings. The advantage of such embodiments is the ability to efficiently manage specifying the default settings of a printer driver in a multiple user environment.
The particular values and configurations discussed in these non-limiting examples can be varied and are cited merely to illustrate one or more embodiments and are not intended to limit the scope thereof.
The particular values and configurations discussed in these non-limiting examples can be varied and are cited merely to illustrate embodiments and are not intended to limit the scope of the invention.
An example of a shared resource that can be utilized via peer-to-peer network 100 is rendering device 104, which can be, for example, a photo copy machine, a scanner, a printer and the like. Note that the term “rendering device” as utilized herein can refer generally to rendering devices such as laser printers, ink-jet printers, photocopy machines, scanner, multi-function devices, and so forth. Note also that although a peer-to-peer network is illustrated in
In general, computers 102, 106 and 110 can each be connected to a network hub or switch 108. Computer 110 can also communicate with another network 114 utilizing a modem 112. Because memory storage units and/or drives can be shared between computers 102, 106, and/or 110 of network 100, applications only need to be installed on a single computer within network 100 rather than all of the computers. Thus, in peer-to-peer network 100 depicted in
In
Data-processing apparatus 198 includes a Read Only Memory (ROM) 201, which is a storage means that stores programs including a basic Input/Output (I/O) program as well as various data such as font data used for document processing and template data. RAM 202 functions as a temporary storage means, which functions as a main memory, work area, and the like for the CPU 200.
Data-processing apparatus 198 also can include a floppy (registered trademark) disk (FD) drive 203, which serves as a means for reading a storage medium. Programs and the like stored on an FD 204 which serves as a storage medium are loaded to this computer system through the FD drive 203 as described later with reference to
Floppy disk (FD) 204 functions as storage medium containing computer-readable programs. Data-processing apparatus 198 also includes a hard disk (HD) 205, an external storage means, which functions as a large-capacity memory and stores the application programs, printer driver programs, OS, network printer control program, and related programs. Furthermore, it can hold a spooler, which functions generally as a spooling mechanism. The spooling means here refers to a client spooler in the case of the client, and a server spooler in the case of the print server. On the print server, the external storage means also stores job information received from the client and a table generated for sequence control.
Data-processing apparatus 198 also includes a keyboard 206, a user input means which allows device control commands or other commands to be entered into the client computer by a user and into the print server by an operator or administrator. Data-processing apparatus 198 further includes a display 207, which is a display means that displays the commands entered on the keyboard 206, status of printers, multi-function rendering devices, scanners, etc. Data-processing apparatus 198 also includes a system bus 208 that manages flows of data in the Data-processing apparatus 198. An interface 209 can also be implemented, which functions as an input/output means through which data is exchanged with external devices.
As indicated next at block 306, the driver default configuration can be set up in the rendering device via an embedded network server, such as, for example, an embedded network server. As illustrated thereafter at block 308, the driver can query the driver default configuration and then, as indicated at block 310, automatically adjusts the driver, prior to the use of the driver configuration, in response to the query operation described at block 308. The process can then terminate, as indicated at block 312. Based on the foregoing, it can be appreciated that the methodology depicted in flow chart 300 depicts steps that can be utilized to implement a driver installer process.
The process described at flow chart 300 can be applied, for example, to the situation of a rendering device, such as a printer, and a driver, such as, for example, a printer driver. The methodology described herein allows the printer driver to be automatically configured upon initialization, regardless of the means utilized to install the printer. Thus, the printer driver default configuration can be set up in the printer through the printer's embedded web server, as depicted at block 306. Then, the printer driver, during the installation process, and prior to the completion of the installation thereof can query the printer driver default configuration, as indicated at block 308, and then make printer driver adjustments accordingly, as depicted at block 310.
Note that as indicated herein, the term “web server” refers generally to a server, typically a computer, which delivers or serves up “web pages”. A web server typically possesses a domain name and an IP (Internet Protocol) address. A computer or data-processing apparatus such as data-processing apparatus 198 of
Note that a “network server” or “web server” can also refer to a software module that runs on the server, which permits the server or data-processing apparatus to accept HTTP requests from web browsers and delivering the web pages and other files to them, as well as performing other interactive functions. Note that the term “HTTP” refers generally to HyperText Transfer Protocol, the underlying protocol utilized by the World Wide Web, often referred to simply as the “web”. HTTP defines how messages are formatted and transmitted, and what actions web servers and browsers should take in response to various commands. The embedded network server described herein can also be configured as a type of device other than a web server and may communicate the same information over a data communication method other than HyperText Transfer Protocol (HTTP), depending upon design considerations.
The advantage of such a process is that for organizations or offices where client/server methodologies for network printing administration are not being employed (e.g., network 100 of
It can be appreciated that the methodology disclosed in
Modules generally are composed of two parts. First, a software module may list the constants, data types, variable, routines and the like that that can be accessed by other modules or routines. Second, a software module can be configured as an implementation, which can be private (i.e., accessible perhaps only to the module), and that contains the source code that actually implements the routines or subroutines upon which the module is based. Thus, for example, the term module, as utilized herein generally refers to software modules or implementations thereof. Such modules can be utilized separately or together to form a program product that can be implemented through signal-bearing media, such as, for example, transmission media and/or recordable media.
Thus, a variety of modules can be implemented to implement the embodiments disclosed. One example of such a module is a module that associates the driver with the rendering device, wherein the driver includes a driver default configuration. Another module can be implemented for initially setting the driver default configuration in the rendering device via the embedded network server, wherein the embedded network server communicates with the rendering device. The driver can provide an additional module for querying the driver default configuration. Also, a module can be provided for automatically adjusting the driver prior to an installation of the driver, in response to querying the driver default configuration by the driver. The driver itself can be implemented, as for example, a printer driver module.
The third component of system 400 can be, for example, a configuration tool 410 that is in charge of downloading the file 406 from rendering device 404 and parsing it for the features that the driver 408 will need to pre-configure. The fourth component of system 400 is the driver 408 itself, which can parse to change the default settings accordingly and then complete the installation thereof.
Several example scenarios can be described, which implement the embodiments disclosed herein. In a first scenario, a user A can install printer 20 and prints a two-page document. To accomplish such a task, the user initially inserts a CD into his or her computer and initiates an “install” program. The user then selects printer 20 from the install program. The installer program or application then installs the driver and the configuration tool (e.g., configuration tool 410) for printer 20. Thereafter, prior to completion of the driver installation, the configuration tool contacts printer 20 to query for the default driver configuration settings. At this point, the default driver configuration is not configured on printer 20, therefore no settings are changed. The printer driver installation thus completes as normal. The user then “opens” up a two-page document to print, and initiates completion of the two-page document. The two-page document prints via rendering device 404 without being duplexed, without a separation page, and without color management.
In a second scenario, for example, assume that network 100 of
In continuing the previous scenario, for example, a user B installs a printer 10 and prints a two-page document. User B begins by inserting the CD into his or computer to begin the installation process. The user selects printer 10 from the installation program. The installation process or application (i.e., the installer) begins installing the driver and configuration tool (e.g., configuration tool 410) for printer 10. Prior to completion of the driver installation, however, the configuration tool can contact printer 10 to query for default driver configuration settings as set in the first scenario.
The Default driver configuration can be configured on printer 10, so the PostScript Printer Description (PPD) for the driver can be parsed and modified to account for the administrator's elections for the default driver configuration settings. The installation is thus completed. The user can then open up a two-page document to print. The user prints the two-page document. A separation page is printed first by the printer or rendering device. The two-page document can then be printed in a duplexed format and with color management handled by the printer or rendering device.
Note that although the PPD for the driver can be parsed and modified as indicated above during the installation process, it can be appreciated that the default driver configuration settings can be additionally modified after installation is complete. Such a modification of the default driver configuration settings can be independent of any PPD restrictions for the driver. Thus, an additional step of modifying the driver default configuration after the installation of said driver default configuration can be implemented, depending upon design considerations and the needs and goals of the user and/or administrator.
It is also important to note that although the PPD for the driver can be parsed and modified as indicated above during the installation process, it can be appreciated that the driver features can be additionally constrained after installation is complete. Such a constraint of the driver features would render such features unavailable from within the driver.
In general, the embodiments disclosed herein relate to methods and systems for automatically configuring a printer driver's settings. A device administrator can first specify the device driver's default configuration. The driver configuration is generally kept on the device itself and is accessible and modifiable by the system administrator via the device's web page. During the driver installation process, the device's printer driver installer queries the device to acquire the default driver configuration. The installer then installs the driver with these settings. The advantage of such embodiments is the ability to efficiently manage specifying the default settings of a printer driver in a multiple user environment, such as, for example, the peer-to-peer network 100 depicted in
It will be appreciated that variations of the above-disclosed and other features and functions, or alternatives thereof, may be desirably combined into many other different systems or applications. Also that various presently unforeseen or unanticipated alternatives, modifications, variations or improvements therein may be subsequently made by those skilled in the art which are also intended to be encompassed by the following claims.
Number | Name | Date | Kind |
---|---|---|---|
5566278 | Patel et al. | Oct 1996 | A |
5692111 | Marbry et al. | Nov 1997 | A |
6088120 | Shibusawa et al. | Jul 2000 | A |
6266693 | Onaga | Jul 2001 | B1 |
6301012 | White et al. | Oct 2001 | B1 |
6426798 | Yeung | Jul 2002 | B1 |
6542892 | Cantwell | Apr 2003 | B1 |
6612566 | Stoll | Sep 2003 | B2 |
6634820 | Kobayashi et al. | Oct 2003 | B2 |
6637876 | Hori | Oct 2003 | B2 |
6748183 | Edmonds | Jun 2004 | B2 |
6775019 | Sakurai et al. | Aug 2004 | B1 |
6967728 | Vidyanand | Nov 2005 | B1 |
7016740 | Nakamura et al. | Mar 2006 | B2 |
7177040 | Roosen et al. | Feb 2007 | B2 |
7213060 | Kemp et al | May 2007 | B2 |
7461375 | Kazumi et al. | Dec 2008 | B2 |
7640368 | Kim et al. | Dec 2009 | B2 |
7689673 | Kemp et al. | Mar 2010 | B2 |
7895609 | Inoue | Feb 2011 | B2 |
7903267 | Yasui et al. | Mar 2011 | B2 |
20020120792 | Blair et al. | Aug 2002 | A1 |
20030030664 | Parry | Feb 2003 | A1 |
20030046674 | Gentry et al. | Mar 2003 | A1 |
20030051011 | Schacht et al. | Mar 2003 | A1 |
20030103235 | Gomi | Jun 2003 | A1 |
20030120624 | Poppenga et al. | Jun 2003 | A1 |
20030160989 | Chapin et al. | Aug 2003 | A1 |
20030169444 | Kemp et al. | Sep 2003 | A1 |
20030184781 | Laughlin | Oct 2003 | A1 |
20030184782 | Perkins et al. | Oct 2003 | A1 |
20030184784 | Ferlitsch | Oct 2003 | A1 |
20030193687 | Parry | Oct 2003 | A1 |
20030200289 | Kemp et al. | Oct 2003 | A1 |
20030200291 | Kemp et al. | Oct 2003 | A1 |
20030217194 | Kazumi et al. | Nov 2003 | A1 |
20040057072 | Borchers et al. | Mar 2004 | A1 |
20040070640 | Ferlitsch | Apr 2004 | A1 |
20040105112 | Ishihara et al. | Jun 2004 | A1 |
20040114180 | Karaoguz et al. | Jun 2004 | A1 |
20050128501 | Choi et al. | Jun 2005 | A1 |
20050146731 | Mitani | Jul 2005 | A1 |
20060095924 | Inoue | May 2006 | A1 |
20070182978 | Nakamura et al. | Aug 2007 | A1 |
20080079975 | Ferlitsch et al. | Apr 2008 | A1 |
Number | Date | Country | |
---|---|---|---|
20060170943 A1 | Aug 2006 | US |