Embodiments are generally related to data-processing methods and systems. Embodiments are also related to rendering devices, such as printers, scanners, multi-function devices, photocopy machines, fax machines, and the like. Embodiments are also to methods and systems for installing rendering devices.
The ability to install and configure a rendering device connected to a computer network can present a variety of challenges to both users and administrators. Device drivers, for example, must be installed and configured properly. Drivers can be employed in computer system configurations to interface between devices and software applications. Each device typically employs its own set of specialized commands that are known only to the driver corresponding to the device. In contrast, software applications typically access a device by using generic commands. Thus, in order to perform a task, a driver typically accepts a generic command from a software application and translates it into a specialized command that is understood by the device used to perform the task.
A printer driver can be configured to selectively provide text and/or graphics on paper. A printer may utilize one of a variety of techniques, including striking a hammer or pins against an ink ribbon, spraying ink at a sheet of paper, providing a chain of characters or pins that print a line at a time, pushing heated pins against heat sensitive paper, or utilizing laser beams, liquid crystals, or light-emitting diodes to produce an image on a drum. Each type of printer utilizes a particular printer driver, which feeds data to the printer with the use of specialized control commands established for the printer.
A user installs/updates printer drivers that are accessible by the computer system. In one technique, a printer driver is installed manually by employing an install program to transfer a copy of the printer driver from a storage medium (e.g., floppy diskette, compact disk, etc.) to the computer system. While this technique allows for the installation or updating of a printer driver, the technique suffers in that the user must know where to locate the printer driver, manually install the driver, be aware that an updated version of the printer driver exists, and reboot the computer system. Further, the installation/update of a printer driver may not be performed while the computer system is printing.
Another technique utilizes a web site as a common location for obtaining a printer driver in the performance of an installation/update of the printer driver. Typically, the website is provided by the manufacturer of the printer driver to enable a user to visit the website and download an updated version of the printer driver. Once downloaded, the user may invoke an installation program and manually install the updated version of the printer driver. While this technique facilitates the ability of a user to locate a printer driver, the user must still manually install the driver, be aware that an updated version of the printer driver exists, and possibly reboot the computer system. Moreover, the installation/update of a printer driver through the utilization of a website cannot be performed while the printer driver is locked in memory (e.g. while printing).
Based on the foregoing, it can be appreciated that enabling computer network users the ability to selectively install rendering devices, such as printers, onto their client computer has always been a problem for network or system administrators. Traditionally, the user is forced to work with the rending device already installed on his or client computer. Installing a new rendering device can prove to be a technical and time-consuming challenge. The user typically must input many parameters, match drivers and attempt varying installation methods.
Driver files generally differ according to make or model of the particular rendering device (e.g., a printer, scanner, fax, etc) and the particular type of Operating System (OS) in use. One problem with this arrangement is that a person searching for a driver file must pair the make and model of their rendering device with that of the driver file make model, while also similarly pairing the OS type.
Another common problem encountered in such configurations is that when a user locates the driver file, the user may also in fact locate files that have not been “blessed” by the network administrator; that is, such files may have not been tested for their appropriateness to the user's environment or computer type. The workstation, computer and/or rendering device at issue thus may not perform optimally.
Printer driver installation for a new computer is therefore an involved situation that either requires an explanation to the user of how to install a printer driver, including the use of the installation program, or the administrators must perform the installation themselves. Often, installation programs are not user friendly in software deployments, and providing information to the user on how to install the program may actually be more painful than the administrators simply performing the installation themselves due to the complexity of the task involved.
The solution described herein with respect to particular embodiments therefore removes the “guess work” involved in the printer and driver installation process, and also enabling a network or system administrator to control which files are utilized for the printer installations
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, fax machines, and the like.
It is also a feature of the present invention to provide improved methods and systems for installing rendering devices.
Aspects of the present invention relate to methods and systems for configuring, organizing and installing rendering devices in communication with a computer network. In generally, rendering device installation settings can be configured by an administrator utilizing an administration tool for automatically configuring a rendering device associated with a computer network in response to input by an administrator, wherein the computer network includes one or more client computers and one or more servers. A displayable icon and/or a queue can be automatically created in one or more of the client computers, in response to launching the administration tool.
Thereafter, an attempt can be automatically made to install the particular rendering device on one or more of the client computers based on the rendering device installation settings previously configured by the administrator via the administration tool, thereby permitting the administrator to control and organize rendering device installation options. The administration tool for automatically configuring a rendering device can be launched in response to a user selection of a particular rendering device from among a plurality of rendering devices comprising one or more rendering devices.
The display icon and queue can be automatically appended to an electronic folder dedicated to information associated with one or more of the rendering devices connected to the computer network. The queue itself can be automatically created and thereafter mapped to one or more client computers. TCP/IP rendering can be enabled via the one or more of the rendering devices utilizing a driver available locally on the client computer. TCP/IP rendering can also be enabled via one or more rendering devices utilizing a drive available in a central repository within the computer network.
Additionally, a network interface can be established within a rendering device that permits the administrator to configure an installation of the rendering device, wherein the rendering device communicates with a computer network. The installation of the rendering device can be automatically configured utilizing the network interface, in response to a user input by the administrator, thereby permitting the administrator to a particular user installation configuration experience and installation features associated with a rendering device with the computer network. The rendering device can be automatically contacted, in response to a selection of a rendering device by a user, and the particular user installation configuration and installation features downloaded. Thereafter, installation defaults can be generated and set based on the downloaded particular user installation configuration and installation features.
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.
With reference now to the figures and in particular with reference to
Processing unit 112 receives input data from input devices such as keyboard 116, pointing device 118, and local area network interfaces (not illustrated) and presents output data to a user via display device 114, printer 120, and speakers 126. Because processing unit 112 can be networked into a computer network, devices such as rendering device 120 can function as a network device such as a network scanner or multifunction device. Data-processing system 110 thus can function not only as a stand-alone desktop personal computer, but can also function as a networked data-processing system with multifunction capabilities such as printing, scanning, copying and so forth.
Keyboard 116 is that part of data-processing system 110 that resembles a typewriter keyboard and that enables a user to control particular aspects of the computer. Because information flows in one direction, from keyboard 114 to processing unit 112, keyboard 116 functions as an input-only device. Functionally, keyboard 116 represents half of a complete input/output device, the output half being video display terminal 114. Keyboard 116 includes a standard set of printable characters presented in a “QWERTY” pattern typical of most typewriters. In addition, keyboard 116 includes a calculator-like numeric keypad at one side. Some of these keys, such as the “control,” “alt,” and “shift” keys can be utilized to change the meaning of another key. Other special keys and combinations of keys can be utilized to control program operations or to move either text or cursor on the display screen of video-display terminal 114.
Video-display terminal 114 generally operates as the visual output of data-processing system 110. As indicated herein, video-display terminal 114 can be a cathode-ray tube (CRT) based video display well known in the art of computer hardware. But, with a portable or notebook-based computer, video-display terminal 114 can be replaced with a liquid crystal display (LCD) based or gas, plasma-based, flat-panel display.
Pointing device 118 is preferably utilized in conjunction with a graphical user-interface (GUI) in which hardware components and software objects are controlled through the selection and the manipulation of associated, graphical objects displayed within display device 114. Although data-processing system 110 is illustrated with a mouse for pointing device 118, other graphical-pointing devices such as a graphic tablet, joystick, track ball, touch pad, or track pad could also be utilized. Pointing device 118 features a casing with a flat bottom that can be gripped by a human hand. Pointing device 118 can include buttons on the top, a multidirectional-detection device such as a ball on the bottom, and cable 129 that connects pointing device 118 to processing unit 112.
To support storage and retrieval of data, processing unit 112 further includes diskette drive 122, hard-disk drive 123, and CD-ROM drive 124, which are interconnected With other components of processing unit 112, and which are further described below under the description for
Referring to
Processing unit 112 includes central processing unit (CPU) 226, which executes instructions. CPU 226 includes the portion of data-processing system 110 that controls the operation of the entire computer system, including executing the arithmetical and logical functions contained in a particular computer program. Although not depicted in
CPU 226 can be implemented, for example, as any one of a number of processor chips, or any other type of processor, which are available from a variety of vendors. Although data-processing system 110 is shown to contain only a single CPU and a single system bus, the present invention applies equally to computer systems that have multiple CPUs and to computer systems that have multiple buses that each performs different functions in different ways.
RAM 258 can be composed of a number of individual, volatile-memory modules that store segments of operating system and application software while power is supplied to data-processing system 110. For example, the methodology depicted in
Hard-disk drive 123 and diskette drive 122 are electromechanical devices that read from and write to disks. The main components of a disk drive are a spindle on which the disk is mounted, a drive motor that spins the disk when the drive is in operation, one or more read/write heads that perform the actual reading and writing, a second motor that positions the read/write heads over the disk, and controller circuitry that synchronizes read/write activities and transfers information to and from data-processing system 110.
A disk itself is typically a round, flat piece of flexible plastic (e.g., floppy disk) or inflexible metal (e.g. hard disk) coated with a magnetic material that can be electrically influenced to hold information recorded in digital form. A disk is, in most computers, the primary method for storing data on a permanent or semi permanent basis. Because the magnetic coating of the disk must be protected from damage and contamination, a floppy disk (e.g., 5.25 inch) or microfloppy disk (e.g., 3.5 inch) is encased in a protective plastic jacket. But, any size of disk could be used. A hard disk, which is very finely machined, is typically enclosed in a rigid case and can be exposed only in a dust free environment. Keyboard/pointing-device controller 284 interfaces processing unit 112 with keyboard 116 and graphical-pointing device 118. In an alternative embodiment, keyboard 116 and graphical-pointing device 118 may possess separate controllers. Display adapter 270 can translate graphics data from CPU 226 into video signals utilized to drive display device 114.
Finally, processing unit 112 includes network adapter 285, modem 287, and parallel-port adapter 276, which facilitate communication between data-processing system 110 and peripheral devices or other computer systems. Parallel-port adapter 276 transmits printer-control signals to printer 120 through a parallel port. Network adapter 285 connects data-processing system 110 to an un-illustrated local area network (LAN). A LAN provides a user of data-processing system 110 with a means of electronically communicating information, including software, with a remote computer or a network logical-storage device. In addition, a LAN supports distributed processing, which enables data-processing system 110 to share a task with other computer systems linked to the LAN, which can also be implemented in the context of a wireless local area network (WLAN).
Modem 287 supports communication between data-processing system 110 and another computer system over a standard telephone line. Furthermore, through modem 287, data-processing system 110 can access other sources such as a server, an electronic bulletin board, and the Internet or the well-known World Wide Web.
The configuration depicted in
As will be described in detail below, aspects of the embodiments disclosed herein pertain to specific method steps implementable on computer systems. Embodiments can also be implemented as a computer program-product for use with a computer system, which can be implemented as devices such as networked computer workstations, computer desktop and peripheral devices, servers and the like. The programs defining the functions of the embodiment disclosed herein can be delivered to a computer via a variety of signal-bearing media, which include, but are not limited to: (a) information permanently stored on non-writable storage media (e.g., read-only memory devices within a computer such as CD-ROM disks readable by CD-ROM drive 124); (b) alterable information stored on writable storage media (e.g., floppy disks within diskette drive 122 or hard-disk drive 123); or (c) information conveyed to a computer by a communications media, such as through a computer or telephone network, including wireless communications. Such signal-bearing media, when carrying computer-readable instructions that direct the functions of one or more embodiments, and/or represent alternative embodiments.
Note that computer 302 and computer workstations 314/315 are generally analogous to data-processing system 110. Digital copiers 308 and 310 have the capability to scan documents. Thus, documents scanned via copiers 308 and 310 can be saved as computer files (e.g., JPEG, PDF, TIFF, etc) and transmitted to computer 302 for storage within a memory location thereof.
The documents stored within a memory location of computer 302 can then be retrieved via computer 302 and rendered via, for example, rendering devices 304 and/or 306, or copiers 308 and/or 310. Note that documents and data can also be stored within a database 316 that functions as a central repository within network 300. An example of an MRP database is disclosed in further detail herein with respect to
Note that a variety of different types of rendering devices can be adapted for utilization with one or more embodiments. For example, different types of copiers can be utilized to implement copiers 308 and 310. An example of such a copier is disclosed in U.S. Pat. No. 6,636,899, “Architecture for Software for Remote Maintenance of a Machine Such as a Copier,” which is assigned to the Xerox Corporation and issued to Rabb, et al on Oct. 21, 2003. Another example of a copier, which can be utilized in accordance with an alternative embodiment, is disclosed in U.S. Pat. No. 6,587,227, “Copier Having Contoured Track Guides,” which is also assigned to the Xerox Corporation and issued to Jack K. Fullerton on Jul. 1, 2003.
A further example of a copier, which can be utilized in accordance with an alternative embodiment, is disclosed in U.S. Pat. No. 6,175,714, “Document Control System and Method for Digital Copiers,” which is assigned to the Xerox Corporation and issued to Peter A. Crean on Jan. 16, 2001. Another example of a copier, which can be utilized in accordance with an alternative embodiment, is disclosed in U.S. Pat. No. 6,057,930, “Architecture for a Digital Copier and Printer for Handling Print Jobs Associated with a Network,” which is assigned to the Xerox Corporation and issued to Blossey et al on May 2, 2000. U.S. Pat. Nos. 6,636,899, 6,587,227, 6,175,714 and 6,057,930 are incorporated herein by reference.
Server 408 can perform a variety of processing and information storage operations. Based upon one or more user requests, server 408 can present the electronic information as server responses 406 to the client process. The client process may be active in a first computer system, and the server process may be active in a second computer system, communicating with one another over a communications medium, thus providing distributed functionality and allowing multiple clients to take advantage of information processing and storage capabilities of the server, including information retrieval activities such as retrieving documents from a managed service environment.
Client 402 and server 408 communicate utilizing the functionality provided by HTTP. Active within client 402 can be a first process, browser 410, which establishes connections with server 408, and presents information to the user. Any number of commercially or publicly available browsers can be utilized in various implementations in accordance with one or more embodiments. For example, a browser can provide the functionality specified under HTTP. A customer administrator or other privileged individual or organization can configure authentication policies, as indicated herein, using such a browser.
Server 408 can execute corresponding server software, such as a gateway, which presents information to the client in the form of HTTP responses 508. A gateway is a device or application employed to connect dissimilar networks (i.e., networks utilizing different communications protocols) so that electronic information can be passed or directed from one network to the other. Gateways transfer electronic information, converting such information to a form compatible with the protocols used by the second network for transport and delivery. Embodiments can employ Common Gateway Interface (CGI) 504 for such a purpose.
The HTTP responses 508 generally correspond with “Web” pages represented using HTML, or other data generated by server 408. Server 408 can provide HTML 502. The Common Gateway Interface (CGI) 504 can be provided to allow the client program to direct server 408 to commence execution of a specified program contained within server 408. Through this interface, and HTTP responses 508, server 408 can notify the client of the results of the execution upon completion.
Each of the clients 602-612 can operate a browser to access one or more servers 614-620 via the access providers. Each server 614-620 can operate a so-called “Web site” that supports files in the form of documents and web pages. A network path to servers 614-620 can be generally identified by a Universal Resource Locator (URL) having a known syntax for defining a network collection. Computer network 600 can thus be considered a “Web-based” computer network.
The process can be initiated, as indicated at block 702. Thereafter, as depicted at block 704, an operation can be performed in which an installation “wizard” is installed on a client computer of a network, such as, for example, network 600 depicted in
Such an installation wizard operates as an administration tool for automatically configuring a rendering device associated with a computer network in response to input by an administrator. The installation wizard generally automates the process of rendering device installation/configuration on a user's machine or client computer, thereby shielding the user from the usual installation complexity. The user need not worry about locating the appropriate driver or having specific knowledge about the rendering device's make-model specifications.
The installation wizard can be installed on the client machine and activated when the user searches for a particular rendering device (e.g., printer, copier, scanner, multi-function device, etc.), as indicated at block 706. Next, as indicated at block 708, the installation wizard can thereafter create a rendering device icon/queue in a client computer, such as, for example, one or more of clients 602-612 depicted in
Thereafter, as depicted at block 712, the central repository (e.g., a central server) can be contacted for rendering device description and installation policy information, which can be retrieved as, indicated at block 714 and utilized as depicted at block 716 to install the driver (e.g., a printer driver) with a minimum amount of user intervention. The process can then terminate, as indicated at block 718.
The installation wizard therefore takes into account rendering device installation options enabled by the administrator and its order. It then attempts to install the rendering device on the client computer without any input from the user. It locates the best-fit driver either on the client machine or the central repository (e.g., a central driver repository, using an algorithm that maps the driver to a printer make-model (i.e., a particular printer). The rendering device queue can thus be configured, permitting the user to render documents via the selected rendering device.
The installation wizard or rendering device administration tool described above can support a numbering of installation techniques. For example, such an administration tool can support print server based queues, and can map network queues to the client machine or client computer. Additionally, such an administration tool can enable direct TCP/IP rendering utilizing drivers located locally on a client computer. Note that although TCP/IP is discussed herein with respect to particular embodiments, it can be appreciated that the embodiments disclosed herein are not limited To TCP/IP, but can be implemented utilizing any number of communication protocols. TCP/IP is thus disclosed and discussed herein for general illustrative and edification purposes only.
Note that administration tool discussed herein can enable direct TCP/IP (i.e., or another communication protocol) rendering utilizing drivers available in the central repository described above, which can function as a central enterprise driver repository. Finally, such an administration tool can enable direct TCP/IP rendering utilizing a generic PostScript driver or by utilizing mobile rendering device components. Thus, the administrator can control which of the aforementioned installation techniques are made available to the client computers, and also in which order such installations can be attempted.
A number of advantages can accrue from the use of the installation wizard or administration tool described above. For example, a single click rendering device installation can be implemented so that the user does not have to worry about rendering device configuration settings, make-model specifications, and drivers. Because such an administration tool supports multiple rendering device installation techniques (e.g., network print server queue, direct printing using client/repository/generic driver), one of these installation techniques is bound to function properly, thereby enabling the user to render a document to the rendering device of their choice. Such an administration tool can also minimize support calls and increase user and administrator productivity.
As indicated at block 802, the process can be initiated. Next, as depicted at block 804, a rendering device can be initiated and selected through any means available (e.g., smart web install, command line, user selection, etc.). Following printer initiation and selection, the install can contact the rendering device, as indicated at block 806, to download the installation configuration file, as depicted thereafter at block 808. Next as depicted at block 810, installation defaults can be set based on the installation configuration file, rather than posting questions to the user for installation purposes. The process can then terminate, as indicated at block 812. Such a methodology therefore allows the administrator to set-up, for each rendering device, a custom installation experience to streamline the installation process and standardize the installation of a rendering device, such as, for example, a printer, scanner, fax machine, photocopy machine, multi-function rendering device, and the like. Such a methodology readily lends itself to automatic installation through login scripts.
In order to further explain the methodology depicted in
In a second scenario, a user A installs printer 20 by first inserting a CD into his or her client computer to begin the installation process. The user selects printer 20 from the installation program, which then contacts printer 20 and checks for installation configuration settings. In this scenario, the setting is not enabled. The installer prompts user A to select installation options. The user opts not to install the manuals, but does opt to install the bookmarks and videos. The installation is then complete. User A has therefore selected the opposite of what the Administrator chose earlier, as described above with respect to the first scenario.
In a third scenario, a user B desires to install printer 10. User B inserts the CD into his or her client computer (i.e., which differs from the client computer associated with user A) in order to initiation the installation process. User B selects printer 10 from the installation program, which then contacts printer 10 and checks for installation configuration settings. The installation configuration is now enabled. The installation program downloads the installation configuration settings and makes installation decisions based on the settings in the installation configuration file. The installation is now complete and the settings are as the administrator has dictated.
In a fourth scenario, a user C desires to install printer 10 from a hard drive associated with and/or integrated with printer 10. First, the administrator e-mails to user C, a URL (Uniform Resource Locator) to printer 10 with instructions to click the “Install Printer Drivers” URL, and then click the windows printer driver installer and thereafter click “run from source” instructions. User C then clicks the URL, followed by the “Install Printer Drivers” URL, and then clicks the windows printer driver installer URL and clicks “run from source.” The installer detects the printer and contacts printer 10 to check for installation configuration settings. The installation configuration is now enabled. The installation program downloads the installation configuration settings and makes installation decisions based on the settings in the installation configuration file. The installation process is now complete, and the settings are as the administrator has dictated.
Note that the methodology disclosed above with respect to
Software 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. The term module, as utilized herein can therefore refer 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, including transmission media and recordable media.
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.