USRE39801E1 - Automatic installation of printers in a distributed environment - Google Patents

Automatic installation of printers in a distributed environment Download PDF

Info

Publication number
USRE39801E1
USRE39801E1 US10/425,679 US42567903A USRE39801E US RE39801 E1 USRE39801 E1 US RE39801E1 US 42567903 A US42567903 A US 42567903A US RE39801 E USRE39801 E US RE39801E
Authority
US
United States
Prior art keywords
printer
workstation
configuration information
network
operating system
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
US10/425,679
Inventor
Jonathan E. Marbry
Samuel J. McKelvie
David H. Tryon
Lin Fon-Shaw
Chia-Chi Teng
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Priority to US10/425,679 priority Critical patent/USRE39801E1/en
Application granted granted Critical
Publication of USRE39801E1 publication Critical patent/USRE39801E1/en
Anticipated expiration legal-status Critical
Assigned to MICROSOFT TECHNOLOGY LICENSING, LLC reassignment MICROSOFT TECHNOLOGY LICENSING, LLC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: MICROSOFT CORPORATION
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • G06F3/1288Remote printer device, e.g. being remote from client or server in client-server-printer device configuration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1297Printer code translation, conversion, emulation, compression; Configuration of printer parameters
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1204Improving or facilitating administration, e.g. print management resulting in reduced user or operator actions, e.g. presetting, automatic actions, using hardware token storing data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1224Client or server resources management
    • G06F3/1225Software update, e.g. print driver, modules, plug-ins, fonts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1293Printer information exchange with computer

Definitions

  • the present invention relates generally to data processing systems and, more particularly, to the automatic installation of printers in a distributed environment.
  • the Microsoft WINDOWS NT operating system sold by Microsoft Corporation of Redmond, Wash., provides a point and print capability.
  • a user of the workstation that runs the operating system merely needs to identify a target printer on the network (such as by pointing a mouse cursor at an icon for the printer) and then request to print a document in order to print on the target printer.
  • Critical printer configuration information (such as the printer driver and other printer configuration data) is stored on the print servers for network printers.
  • Each print server is a dedicated machine that runs the same operating system and is responsible for controlling a grouped of one or more printers.
  • the print server stores the critical printer configuration information for the printers that are associated with it.
  • the print server retrieves a copy of printer driver for the printer to the requesting workstation and carries out the print request via a remote procedure call (“RPC”) mechanism.
  • RPC remote procedure call
  • a method is practiced in a distributed system that has a workstation and a remote network.
  • the remote network includes a printer and a network server.
  • a database of printer configuration information is provided in shared memory at the network server.
  • the printer configuration information stored at the network server includes printer configuration information for the printer in the network.
  • the printer configuration information for the printer in the remote network is retrieved from the shared memory of the network server in response to request from the workstation. This retrieved information is used to install the printer for use by the workstation.
  • the preferred embodiment may be practiced in an environment with multiple workstations and multiple servers.
  • the servers and workstations may be running different platforms.
  • a method is practiced in a distributed system having a workstation and a network with printers and a network server.
  • configuration information for the printers is provided at the network server.
  • printer configuration information for the selected printer is copied from the network server to the workstation.
  • the printer configuration information is installed at the workstation and the selected printer is then used to service the print request.
  • a database of printer configuration information and printer drivers is provided at a network server.
  • a database of printer configuration information and printer drivers for installable printers is provided at a server. Available printer configuration information is retrieved from the network server for one of the printers in the network. This available printer configuration information is provided to the workstation. It is determined that the provided printer configuration information is incomplete and in response, the locally maintained database is accessed to retrieve the complete configuration information and a printer driver for the selected printer.
  • a distributed system includes a network that has at least one printer for executing print jobs and a network server for regulating access to the network.
  • the network server includes a database of printer configuration information for the printer.
  • the distributed system also includes a workstation that is interfaced with the network. The workstation may issue a request to execute a print job on the printer in the network.
  • the workstation runs an operating system that includes a retrieval mechanism and an installer.
  • the retrieval mechanism retrieves the printer configuration information for the network server in response to a request or execute a print job.
  • the installer installs the printer configruaoin information that is retrieved by the retrieval mechanism so that the workstation may use the printer.
  • FIG. 1 is a block diagram of a distributed system that is suitable for practicing a preferred embodiment of the present invention.
  • FIGS. 2A and 2B illustrate a user interface that is used to select a printer for printing in the preferred embodiment of the present invention.
  • FIG. 3 is a flowchart illustrating the steps that are performed to facilitate a point-and-print capability in accordance with the preferred embodiment of the present invention.
  • FIG. 4 is a flowchart illustrating the steps that are performed to retrieve printer configuration information and install a printer in the preferred embodiment of the present invention.
  • FIG. 5 is a flowchart illustrating the steps that are performed to attempt to obtain complete printer configuration information in the preferred embodiment of the present invention.
  • FIGS. 6A-6G show user interface elements used to install a printer using an installation wizard of the preferred embodiment of the present invention.
  • the preferred embodiment of the present invention provides a point and print capability within an operating system.
  • This point and print capability allows a user to initiate a print job on a printer within a distributed system by merely identifying the printer and making the request to print. Any installation and configuration that is required for the document to be printed on the printer is performed automatically and transparently by the operating system.
  • FIG. 1 is a block diagram of a distributed system 10 that is suitable for practicing the preferred embodiment of the present invention.
  • the distributed system 10 includes a workstation 12 that is interfaced with different networks.
  • Network server 18 serves as a server for gaining access to a first type of network
  • network server 20 is a network server for gaining access to a second type of network.
  • network server 18 is a Microsoft network server that runs a network operating system from Microsoft Corporation
  • network server 20 is a Netware server that runs a copy of the Netware network operating system, version 3.11, sold by Novell Corporation of Provo, Utah.
  • the network served by network server 20 includes printers 22 .
  • the workstation 12 includes a memory 26 that holds a copy of an operating system 28 .
  • This operating system 28 includes client code for acting as a client of the network server 20 .
  • the operating system 28 also includes a number of graphical device interface (GDI) functions that help to configure and install printers.
  • GDI graphical device interface
  • the operating system 28 is an embellished version of the Microsoft WINDOWS operating system.
  • the operating system 28 provides a user interface that allows the user to select a printer that the user wishes to employ to print a document.
  • the list of printers available to a user may include printers that are part of a network served by the network servers 18 or 20 .
  • a user interface 29 provides a user with a list of servers that are available in a network neighborhood.
  • server “Lins2” When a user selects one of the servers, such as server “Lins2,” a list of printers (e.g., “hp” in FIG. 2B ) on the server is displayed.
  • a difficulty arises when the user requests to print a document on a printer in a network for which the configuration information and printer driver are not locally installed.
  • the referred embodiment of the present invention overcomes this difficulty by transparently copying the requisite configuration information and printer driver to a location that is local to the workstation so that the workstation may access the printer configuration data and printer driver to print the document on the remote printer.
  • the Netware server 20 holds an object-oriented database known as the “bindery” that contains definitions for users, groups, security and other objects of the associated network.
  • the bindery 24 is like the bindery found in the Netware network operating system, version 3.11.
  • the bindery 24 is used in the preferred embodiment of the present invention to hold the printer configuration and driver information for the printers of the network server 20 .
  • FIG. 3 is a flowchart illustrating the steps that are performed in the preferred embodiment of the present invention to support the point and print functionality.
  • the printer configuration information including information about the printer driver, is stored within the bindery 24 (step 30 in FIG. 3 ).
  • the Netware network operating system provides a number of functions that can be used to add such information to the bindery 24 .
  • the operation system 28 acts as a client of the Netware server 20 and requests that the configuration information be stored in the network bindery when the system is booted.
  • the operating system 28 receives a request from a program running on a workstation 12 to print to a printer 22 within the network of the Netware server 20 (step 32 in FIG. 3 ).
  • the operating system 28 (acting as a client) requests the configuration information to be copied from the bindery 24 to memory, such as memory 26 (step 34 ).
  • the information gets installed in the local registry which is used to hold configuration information.
  • the registry is much like the registry found in the Microsoft WINDOWS NT operating system. This copied configuration information and printer driver are then used to print on the printer 22 (step 36 ).
  • the operating system provides an implementation of the WIN 32 API as specified by Microsoft Corporation.
  • the WIN 32 API provides a number of functions for manipulating printers to configure and install printers. Some of these functions will be described in more detail below.
  • FIG. 4 is a flowchart showing in more detail how functions in the WIN 32 API are utilized to configure and install the requested printer 22 .
  • the operating system 28 calls the OpenPrinter( ) function.
  • the name of the desired target printer is passed as a parameter of the OpenPrinter( ) function call.
  • the OpenPrinter( ) function returns a “handle” for the target printer (step 38 ).
  • the handle is a unique numerical identifier for the printer that will be used to later identify the printer in other function calls.
  • the handle to the printer that was returned by the OpenPrinter( ) function is passed as a parameter to the GetPrinter( ) function to identify the target printer.
  • the GetPrinter function returns a PRINTER_INFO_ 2 structure that holds data about the target printer.
  • the PRINTER_INFO_ 2 data structure is of the following form:
  • the GetPrinterDriver( ) function is called to obtain printer driver data for the given printer from the bindery of the print server (step 42 ).
  • a DRIVER_INFO_ 3 A or a DRIVER_INFO_ 2 structure is returned in response to this function call.
  • the operating system first tries to get a DRIVER_INFO_ 3 A structure, but if cannot get a complete DRIVER_INFO_ 3 A structure, it tries to get a DRIVER_INFO_ 2 structure.
  • An error message is returned in response to the GetPrinterDriver( ) function call, if a complete DRIVER_INFO_ 3 A structure is not available.
  • the DRIVER_INFO_ 3 A structure has the following format:
  • the DRIVER_INFO —2 structure has the following format:
  • a list of dependent files is then built and these files are copied to the workstation 10 , wherein the printer is configured (step 44 ).
  • the list of dependent files is obtained from the DRIVER_INFO_ 3 A structure, if one is available and if the structure includes a list of dependent files. If, however, the DRIVER_INFO_ 3 A structure is not available or if the available structure does not include a list of dependent files, the heuristic approach must adopted as described below.
  • the list of dependent files is printer model dependent. When a printer is installed on a print server, a list of files that is needed for the printer model is determined by the printer installation program. This information may be stored within the DRIVER INFO 3 A structure.
  • the requisite configuration information is then added to the local database of configuration information (i.e., the registry) to install the printer (step 46 ).
  • the AddPrinterDriver( ), AddPrintProcessor( ), AddMonitor( ), and AddPrinter( ) functions are called to add the print driver, print processor, monitor and printer configuration information to the registry.
  • the print processor is a dynamic link library (DLL) that interprets data types to convert data from one data type to another data type, and the print monitor monitors a port associated with the printer. Print processor and monitors are known in the art.
  • the application program that prints a document may then begin printing.
  • the installation that adds the printer driver, print processor monitor and printer information to the local memory space is performed by the network client portion of the operating system 28 .
  • FIG. 5 is a flowchart illustrating the steps that are performed by this heuristic.
  • the operating system 28 maintains a local database of printers that it can install (step 50 in FIG. 5 ). This local database includes appropriate configuration parameters and printer drivers.
  • the available information on the printer is retrieved as described above (step 52 ).
  • the operating system 28 then checks whether the retrieved information is complete (step 54 ). If the information is not complete, it is likely that the information specifies the type of printer the target printer is.
  • This name of the type of printer is then used to access the local database to retrieve configuration information and a printer driver for that type of printer (step 56 ).
  • the retrieved information is then used to install the printer (step 58 ). If the information that is retrieved is complete, as checked in step 54 , the retrieved information is used to install the printer (see step 58 ).
  • FIG. 6A shows an example of the printers folder that is provided by the operating system 28 .
  • the open printers window 60 includes icons for installed printers, like icon 62 in FIG. 6A , and an icon 64 for invoking the printer installation wizard.
  • the printer installation wizard window 66 ( FIG. 6B ) is displayed.
  • the printer installation wizard window 66 asks the user to select whether he wishes to install a local printer or a network printer. In the example shown in FIG. 6B , the user has selected a network printer.
  • the printer installation window displays an edit box 68 , as shown in FIG. 6C , which requests the user to provide a network path or queue name. Alternatively, the user may select the browse button 70 to see what printers are available for installation.
  • FIG. 6D shows an example of what is displayed when a user selects the browse button 70 in FIG. 6C.
  • a window 72 displays servers that are visible within a network neighborhood.
  • a separate icon, like icon 74 is displayed for each server within the network neighborhood.
  • a window 76 FIG. 6E ) for the server is displayed.
  • the server window 76 includes icons, like icon 78 , for printers that are controlled by the server.
  • edit box 68 ( FIG. 6F ) is updated to automatically hold the network path name for the selected printer.
  • the user then presses the next button 71 , and the type of printer is determined by the system.
  • the type of printer is displayed as a suggested printer name within edit box 80 ( FIG. 6G ) in the printer installation wizard.
  • a user may choose instead a different or more friendly name for the printer using the edit box 80 .
  • the user selects the finish button 82 to complete the installation.

Abstract

An operating system provides a point-and-print capability to users of the workstation. The point-and-print capability allows a user to print on any printer available within a distributed system by simply selecting a printer and requesting to print on the printer. The retrieval of configuration information and installation of the printer is performed transparently relative to the user of the workstation. The required printer configuration information is retrieved from a database that is maintained at a network server for the network that includes the target printer. A heuristic technique is employed to obtain complete printer configuration information when such printer configuration is not fully available from the network server.

Description

CROSS-REFERENCE TO RELATED APPLICATION
This application is a continuation of U.S. patent application Ser. No. 08/318,070, filed Oct. 5, 1994, now abandoned.
TECHNICAL FIELD
The present invention relates generally to data processing systems and, more particularly, to the automatic installation of printers in a distributed environment.
BACKGROUND OF THE INVENTION
The Microsoft WINDOWS NT operating system, sold by Microsoft Corporation of Redmond, Wash., provides a point and print capability. In other words, a user of the workstation that runs the operating system merely needs to identify a target printer on the network (such as by pointing a mouse cursor at an icon for the printer) and then request to print a document in order to print on the target printer. Critical printer configuration information (such as the printer driver and other printer configuration data) is stored on the print servers for network printers. Each print server is a dedicated machine that runs the same operating system and is responsible for controlling a grouped of one or more printers. The print server stores the critical printer configuration information for the printers that are associated with it. When an application requests to initiate a print job, the print server retrieves a copy of printer driver for the printer to the requesting workstation and carries out the print request via a remote procedure call (“RPC”) mechanism. The retrieval of the printer configuration information and the installation of the printer are transparent to the user.
SUMMARY OF THE INVENTION
In accordance with a first aspect of the present invention, a method is practiced in a distributed system that has a workstation and a remote network. The remote network includes a printer and a network server. In this method, a database of printer configuration information is provided in shared memory at the network server. The printer configuration information stored at the network server includes printer configuration information for the printer in the network. The printer configuration information for the printer in the remote network is retrieved from the shared memory of the network server in response to request from the workstation. This retrieved information is used to install the printer for use by the workstation. The preferred embodiment may be practiced in an environment with multiple workstations and multiple servers. The servers and workstations may be running different platforms.
In accordance with another aspect of the present invention, a method is practiced in a distributed system having a workstation and a network with printers and a network server. In this method, configuration information for the printers is provided at the network server. In response to a request from the workstation to print on a selected one of the printers, printer configuration information for the selected printer is copied from the network server to the workstation. The printer configuration information is installed at the workstation and the selected printer is then used to service the print request.
In accordance with a further aspect of the present invention, a database of printer configuration information and printer drivers is provided at a network server. A database of printer configuration information and printer drivers for installable printers is provided at a server. Available printer configuration information is retrieved from the network server for one of the printers in the network. This available printer configuration information is provided to the workstation. It is determined that the provided printer configuration information is incomplete and in response, the locally maintained database is accessed to retrieve the complete configuration information and a printer driver for the selected printer.
In accordance with yet another aspect of the present invention, a distributed system includes a network that has at least one printer for executing print jobs and a network server for regulating access to the network. The network server includes a database of printer configuration information for the printer. The distributed system also includes a workstation that is interfaced with the network. The workstation may issue a request to execute a print job on the printer in the network. The workstation runs an operating system that includes a retrieval mechanism and an installer. The retrieval mechanism retrieves the printer configuration information for the network server in response to a request or execute a print job. The installer installs the printer configruaoin information that is retrieved by the retrieval mechanism so that the workstation may use the printer.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a block diagram of a distributed system that is suitable for practicing a preferred embodiment of the present invention.
FIGS. 2A and 2B illustrate a user interface that is used to select a printer for printing in the preferred embodiment of the present invention.
FIG. 3 is a flowchart illustrating the steps that are performed to facilitate a point-and-print capability in accordance with the preferred embodiment of the present invention.
FIG. 4 is a flowchart illustrating the steps that are performed to retrieve printer configuration information and install a printer in the preferred embodiment of the present invention.
FIG. 5 is a flowchart illustrating the steps that are performed to attempt to obtain complete printer configuration information in the preferred embodiment of the present invention.
FIGS. 6A-6G show user interface elements used to install a printer using an installation wizard of the preferred embodiment of the present invention.
DETAILED DESCRIPTION OF THE INVENTION
The preferred embodiment of the present invention provides a point and print capability within an operating system. This point and print capability allows a user to initiate a print job on a printer within a distributed system by merely identifying the printer and making the request to print. Any installation and configuration that is required for the document to be printed on the printer is performed automatically and transparently by the operating system.
FIG. 1 is a block diagram of a distributed system 10 that is suitable for practicing the preferred embodiment of the present invention. The distributed system 10 includes a workstation 12 that is interfaced with different networks. Network server 18 serves as a server for gaining access to a first type of network, and network server 20 is a network server for gaining access to a second type of network. For illustrative purposes below, it is assumed that network server 18 is a Microsoft network server that runs a network operating system from Microsoft Corporation and network server 20 is a Netware server that runs a copy of the Netware network operating system, version 3.11, sold by Novell Corporation of Provo, Utah. The network served by network server 20 includes printers 22.
The workstation 12 includes a memory 26 that holds a copy of an operating system 28. This operating system 28 includes client code for acting as a client of the network server 20. The operating system 28 also includes a number of graphical device interface (GDI) functions that help to configure and install printers. In the preferred embodiment of the present invention, the operating system 28 is an embellished version of the Microsoft WINDOWS operating system.
The operating system 28 provides a user interface that allows the user to select a printer that the user wishes to employ to print a document. The list of printers available to a user may include printers that are part of a network served by the network servers 18 or 20. For example, as shown in FIG. 2A, a user interface 29 provides a user with a list of servers that are available in a network neighborhood. When a user selects one of the servers, such as server “Lins2,” a list of printers (e.g., “hp” in FIG. 2B) on the server is displayed. A difficulty arises when the user requests to print a document on a printer in a network for which the configuration information and printer driver are not locally installed. The referred embodiment of the present invention overcomes this difficulty by transparently copying the requisite configuration information and printer driver to a location that is local to the workstation so that the workstation may access the printer configuration data and printer driver to print the document on the remote printer.
The Netware server 20 holds an object-oriented database known as the “bindery” that contains definitions for users, groups, security and other objects of the associated network. The bindery 24 is like the bindery found in the Netware network operating system, version 3.11. The bindery 24 is used in the preferred embodiment of the present invention to hold the printer configuration and driver information for the printers of the network server 20.
FIG. 3 is a flowchart illustrating the steps that are performed in the preferred embodiment of the present invention to support the point and print functionality. Initially, the printer configuration information, including information about the printer driver, is stored within the bindery 24 (step 30 in FIG. 3). The Netware network operating system provides a number of functions that can be used to add such information to the bindery 24. The operation system 28 acts as a client of the Netware server 20 and requests that the configuration information be stored in the network bindery when the system is booted. The operating system 28 then receives a request from a program running on a workstation 12 to print to a printer 22 within the network of the Netware server 20 (step 32 in FIG. 3). The operating system 28 (acting as a client) requests the configuration information to be copied from the bindery 24 to memory, such as memory 26 (step 34). In particular, the information gets installed in the local registry which is used to hold configuration information. The registry is much like the registry found in the Microsoft WINDOWS NT operating system. This copied configuration information and printer driver are then used to print on the printer 22 (step 36).
As mentioned above, the operating system provides an implementation of the WIN32 API as specified by Microsoft Corporation. The WIN32 API provides a number of functions for manipulating printers to configure and install printers. Some of these functions will be described in more detail below.
FIG. 4 is a flowchart showing in more detail how functions in the WIN32 API are utilized to configure and install the requested printer 22. Initially, the operating system 28 calls the OpenPrinter( ) function. The name of the desired target printer is passed as a parameter of the OpenPrinter( ) function call. The OpenPrinter( ) function returns a “handle” for the target printer (step 38). The handle is a unique numerical identifier for the printer that will be used to later identify the printer in other function calls.
A call is then made of the GetPrinter( ) function, which retrieves data stored in the bindery for the target printer. The handle to the printer that was returned by the OpenPrinter( ) function is passed as a parameter to the GetPrinter( ) function to identify the target printer. The GetPrinter function returns a PRINTER_INFO_2 structure that holds data about the target printer. In the preferred embodiment of the present invention, the PRINTER_INFO_2 data structure is of the following form:
typedef struct _PRINTER INFO_2 { /* pri2 */
LPTSTR pServerName;
LPTSTR pPrinterName;
LPTSTR pShareName;
LPTSTR pPortName;
LPTSTR pDriverName;
LPTSTR pComment;
LPTSTR pLocation;
LPTDEVMODE PDevMode;
LPTSTR pSepFile;
LPTSTR pPrintProcessor;
LPTSTR pDatatype;
LPTSTR pParameters;
PSECURITY_DESCRIPTOR pSecurityDescriptor;
DWORD Attributes;
DWORD Priority;
DWORD DefaultPriority;
DWORD StartTime;
DWORD UntilTime;
DWORD Status;
DWORD cJobs;
DWORD AveragePPM;
} PRINTER INFO 2;
At this point in the process, the operating system knows the handle to the printer and has received data about the printer. The GetPrinterDriver( ) function is called to obtain printer driver data for the given printer from the bindery of the print server (step 42). A DRIVER_INFO_3A or a DRIVER_INFO_2 structure is returned in response to this function call. The operating system first tries to get a DRIVER_INFO_3A structure, but if cannot get a complete DRIVER_INFO_3A structure, it tries to get a DRIVER_INFO_2 structure. An error message is returned in response to the GetPrinterDriver( ) function call, if a complete DRIVER_INFO_3A structure is not available. The DRIVER_INFO_3A structure has the following format:
typedef struct DRIVER_INFO_3A {
DWORD cversion;
LPSTR pName; //QMS 810
LPSTR pEnvironment; //Win32 × 86
LPSTR pDriverPath; //c:\drivers\pscript.dll
LPSTR pDataFile; //c:\drivers\QMS810.PPD
LPSTR pConfigFile; //c:\drivers\PSCRPTUI.DLL
LPSTR pHelpFile; //c:\drivers\PSCRPTUI.HLP
LPSTR pDependentFiles;
//PSCRIPT.DLL\0QMS810.PPD\OPSCRIPTUI.DLL
LPSTR pMonitorName; //“PostScript monitor”
LPSTR p/DefaultDataType; //“EMF”
}DRIVER_INFO_3A, *PDRIVER_INFO_3A,
*LPDRIVER_INFO_3A;
The DRIVER_INFO—2 structure has the following format:
typedef struct_DRIVER INFO_2 { /* dri2 */
DWORD cVersion;
LPTSTR pName;
LPTSTR pEnvironment;
LPTSTR pDriverPath;
LPTSTR pDataFile;
LPTSTR pConfigFile;
} DRIVER INFO 2;
A list of dependent files is then built and these files are copied to the workstation 10, wherein the printer is configured (step 44). The list of dependent files is obtained from the DRIVER_INFO_3A structure, if one is available and if the structure includes a list of dependent files. If, however, the DRIVER_INFO_3A structure is not available or if the available structure does not include a list of dependent files, the heuristic approach must adopted as described below. The list of dependent files is printer model dependent. When a printer is installed on a print server, a list of files that is needed for the printer model is determined by the printer installation program. This information may be stored within the DRIVER INFO 3A structure.
The requisite configuration information is then added to the local database of configuration information (i.e., the registry) to install the printer (step 46). In particular, the AddPrinterDriver( ), AddPrintProcessor( ), AddMonitor( ), and AddPrinter( ) functions are called to add the print driver, print processor, monitor and printer configuration information to the registry. The print processor is a dynamic link library (DLL) that interprets data types to convert data from one data type to another data type, and the print monitor monitors a port associated with the printer. Print processor and monitors are known in the art.
Once the printer is successfully installed by completing the steps described above, the application program that prints a document may then begin printing. The installation that adds the printer driver, print processor monitor and printer information to the local memory space is performed by the network client portion of the operating system 28.
In some instances, the operating system 28 will be unsuccessful in retrieving complete information for the target printer. In such instances, the preferred embodiment of the present invention employs a heuristic to attempt to discern the appropriate information about the printer. FIG. 5 is a flowchart illustrating the steps that are performed by this heuristic. The operating system 28 maintains a local database of printers that it can install (step 50 in FIG. 5). This local database includes appropriate configuration parameters and printer drivers. The available information on the printer is retrieved as described above (step 52). The operating system 28 then checks whether the retrieved information is complete (step 54). If the information is not complete, it is likely that the information specifies the type of printer the target printer is. This name of the type of printer is then used to access the local database to retrieve configuration information and a printer driver for that type of printer (step 56). The retrieved information is then used to install the printer (step 58). If the information that is retrieved is complete, as checked in step 54, the retrieved information is used to install the printer (see step 58).
The above description has focused on the instance wherein a printer is automatically installed by requesting to print on the printer. It should also be appreciated that the printer may be alternatively installed by explicit user request. The installation is performed as described above, but is performed using a printer installation wizard.
FIG. 6A shows an example of the printers folder that is provided by the operating system 28. When the printers folder is opened, the open printers window 60 includes icons for installed printers, like icon 62 in FIG. 6A, and an icon 64 for invoking the printer installation wizard. When a user double clicks on the printer installation wizard icon 64, the printer installation wizard window 66 (FIG. 6B) is displayed. The printer installation wizard window 66 asks the user to select whether he wishes to install a local printer or a network printer. In the example shown in FIG. 6B, the user has selected a network printer. The printer installation window then displays an edit box 68, as shown in FIG. 6C, which requests the user to provide a network path or queue name. Alternatively, the user may select the browse button 70 to see what printers are available for installation.
FIG. 6D shows an example of what is displayed when a user selects the browse button 70 in FIG. 6C. A window 72 displays servers that are visible within a network neighborhood. A separate icon, like icon 74, is displayed for each server within the network neighborhood. When a user selects one of the servers, like the “Lins2” server (such as by double clicking on the server icon 74), a window 76 (FIG. 6E) for the server is displayed. The server window 76 includes icons, like icon 78, for printers that are controlled by the server.
Suppose a user selects the printer associated with icon 78 in FIG. 6C. In such a case, edit box 68 (FIG. 6F) is updated to automatically hold the network path name for the selected printer. The user then presses the next button 71, and the type of printer is determined by the system. The type of printer is displayed as a suggested printer name within edit box 80 (FIG. 6G) in the printer installation wizard. A user may choose instead a different or more friendly name for the printer using the edit box 80. The user then selects the finish button 82 to complete the installation.
While the present invention has been described with reference to a preferred embodiment thereof, those skilled in the art will appreciate the various changes in form and detail may be departing from the intended scope of the present invention as defined in the independent claims.

Claims (39)

1. In a distributed system comprising a first workstation and a remote network having a printer and a network server, a method comprising the computer-implemented steps of:
providing a database of printer configuration information, including printer configuration information for the printer in the remote network, in shared memory at the network server;
retrieving the printer configuration information for the printer from the shared memory of the network server in response to a request from the first workstation, said printer configuration information including information that identifies the printer;
using the information that identifies the printer to identify a printer driver to be installed at the first workstation and to determine where the printer driver is stored in the distributed system; and
retrieving the printer driver from where it is stored, installing the identified printer driver at the first workstation and storing at least some of the retrieved printer configuration information in the local storage of the first workstation.
2. The method of claim 1 wherein the first workstation runs an operating system and the operating system performs the step of retrieving the printer configuration information.
3. The method of claim 2 claim 4 wherein the operating system performs the step of installing the identified printer driver.
4. The method of claim 2, In a distributed system comprising a first workstation and a remote network having a printer and a network server, a method comprising the computer-implemented steps of:
providing a database of printer configuration information, including printer configuration information for the printer in the remote network, in shared memory at the network server;
retrieving the printer configuration information for the printer from the shared memory of the network server in response to a request from the first workstation, said printer configuration information including information that identifies the printer;
using the information that identifies the printer to identify a printer driver to be installed at the first workstation and to determine where the printer driver is stored in the distributed system; and
retrieving the printer driver from where it is stored, installing the identified printer driver at the first workstation and storing at least some of the retrieved printer configuration information in the local storage of the first workstation,
wherein the first workstation runs an operating system and the operating system performs the step of retrieving the printer configuration information, and
wherein the network server runs a network operating system that differs from the operating system run by the first workstation.
5. The method of claim 1 claim 4, further comprising the step of running client code on the first workstation for interacting with the network server.
6. The method of claim 1 claim 4, further comprising the step of issuing a print request to print on the printer of the remote network from the first workstation and wherein the steps of retrieving the printer configuration information, retrieving the identified printer driver, installing the identified printer driver and storing at least some of the retrieved printer configuration information in the local storage are performed in response to the request.
7. The method of claim 1 claim 4, further comprising the steps of:
running a program on the first workstation; and
issuing a request to print on the printer of the remote network from the program, wherein the steps of retrieving the printer configuration information, retrieving the identified printer driver, installing the identified printer driver and storing at least some of the retrieved printer configuration information in the local storage are performed transparently relative to the first workstation.
8. The method of claim 1 claim 4 wherein the distributed system includes a second workstation and wherein the method further comprises the steps of:
retrieving the printer configuration information for the printer from the shared memory of the network server in response to a request from the second workstation, said printer configuration information including information that identifies the printer;
using the information that identifies the printer to identify a printer driver to be installed at the second workstation and to determine where the printer driver is stored in the distributed system; and
retrieving the printer driver from where it is stored, installing the identified printer driver at the second workstation and storing at least some of the retrieved printer configuration information in the local storage of the second workstation.
9. The method of claim 8 wherein the second workstation runs a different operating system than the first workstation runs.
10. The method of claim 8 wherein the second workstation runs a different version of the operating system than the first workstation runs.
11. The method of claim I claim 4 wherein the distributed system includes a second network server for a second remote network having a second printer and wherein the method further comprises the steps of:
providing a database of printer configuration information, including printer configuration information for the second printer in the second remote network, in shared memory at the second network server;
retrieving the printer configuration information for the second printer from the shared memory of the second network server in response to a request from the first workstation, said printer configuration information including information that identifies the second printer;
using the information that identifies the second printer to identify a printer driver to be installed at the first workstation and to determine where the second printer driver is stored in the distributed system; and
retrieving the second printer driver from where it is stored, installing the identified printer driver at the first workstation and storing at least some of the retrieved printer configuration information in the local storage of the first workstation.
12. In a distributed system comprising a workstation having local storage and a remote network having at least one printer and a network server, a method comprising the computer-implemented steps of:
providing a database of printer configuration information and printer drivers at the network server for the printers in the network;
providing a database of printer configuration information and printer drivers for installable printers of the workstation in the local storage of the workstation;
retrieving available printer configuration information for a selected one of the printers in the network from the network server and providing the available printer configuration information to the workstation; and
determining that the provided printer configuration information is incomplete and in response, accessing the database in the local storage to retrieve complete printer configuration information and a printer driver for the selected printer.
13. The method of claims claim 12, further comprising the step of installing the selected printer using the retrieved complete printer configuration information and printer driver for the selected printer.
14. The method of claim 12 wherein the step of retrieving available printer configuration information comprises the step of retrieving information that identifies what type of printer the selected printer is.
15. The method of claim 14 wherein the step of accessing the database in the local storage comprises the step of using the information that identifies the type of printer the selected printer is as an index to retrieve complete printer configuration information and a printer driver for the selected printer from the locally maintained database.
16. A distributed system comprising:
a network having at least one printer for executing jobs;
a network server for regulating access to the network and having a database of printer configuration information for the printer; and
a workstation interfaced with the network and having local storage for issuing a request to execute a print job on the printer in the network, said workstation running an operating system, comprising:
a retrieval mechanism for retrieving the printer configuration information from the network server in response to the request to execute the print job on the printer, said printer configuration information including information that identifies the printer; and
an installer for using the information that identifies the printer to identify and retrieve a printer driver for the printer, wherein the printer driver includes at least one dependent file, for installing the printer driver at the workstation and for storing at least some of the retrieved printer configuration information in the local storage.
17. The distributed system of claim 16 wherein the network includes multiple printers.
18. The distributed system of claim 16, wherein the network server runs a network operating system that differs from the operating system that is run on the workstation.
19. The distributed system of claim 16 wherein the operating system further comprises client code for enabling the workstation to act as a client of the network server.
20. The distributed system of claim 16, further comprising a second network having at least one printer and a second network server for regulating access to the printer of the second network wherein said second network server includes an additional database of printer configuration information for the printer of the second network.
21. The distributed system of claim 20 wherein the retrieval mechanism of the workstation includes a means for retrieving the printer configuration information for the printer in the second network from the second network server in response to a request to execute a print job on the printer of the second network and the installer of the workstation includes a means for using the information that identifies the printer to identify and retrieve a printer driver for the printer for installing the printer driver at the workstation and for storing at least some of the retrieved printer configuration information in the local storage.
22. The distributed system of claim 16, further comprising a second workstation running the operating system.
23. The method of claim 1 wherein the first workstation includes a registry of configuration information and wherein the step of storing at least some of the retrieved configuration information in the local storage comprises storing at least some of the retrieved configuration information in the registry.
24. A tangible computer-readable storage medium for use in a distributed system that has a first workstation with a local storage and a remote network having a printer and a network server that stores a database of printer configuration information, including printer configuration information for the printer in the remote network, said medium holding instructions for:
retrieving the printer configuration information for the printer from the shared memory of the network server in response to a request from the first workstation, said printer configuration information including information that identifies the printer;
using the information that identifies the printer to identify a printer driver to be installed at the first workstation, wherein the printer driver includes at least one dependent file, and to determine where the printer driver is stored in the distributed system; and
retrieving the printer driver and the at least one dependent file from where it is stored, installing the identified printer driver at the first workstation and storing at least some of the retrieved printer configuration information in the local storage of the first workstation.
25. The computer-readable storage medium of claim 24 wherein the medium holds a copy of an operating system and the operating system performs the retrieving of the printer configuration information.
26. The computer-readable storage medium of claim 25 wherein the operating system also performs the installing of the identified printer driver at the first workstation.
27. In a distributed system comprising a first workstation and a remote network having a printer and a network server, a method comprising the computer-implemented steps of:
providing a database of printer configuration information, including printer configuration information for the printer in the remote network, in shared memory at the network server;
retrieving the printer configuration information for the printer from the shared memory of the network server in response to a request from the first workstation, said printer configuration information including information that identifies the printer;
using the information that identifies the printer to identify a printer driver to be installed at the first workstation and to determined where the printer driver is stored in the distributed system; and
retrieving the printer driver from where it is stored, installing the identified printer driver at the first workstation and storing at least some of the retrieved printer configuration information in the local storage of the first workstation,
wherein the printer driver includes at least one dependent file.
28. The method of claim 27 wherein the first workstation runs an operating system and the operating system performs the step of retrieving the printer configuration information.
29. The method of claim 28 wherein the operating system performs the step of installing the identified printer driver.
30. The method of claim 28, wherein the network server runs a network operating system that differs from the operating system run by the first workstation.
31. In a distributed system comprising a first workstation and a remote network having a printer and a network server, a method comprising the computer-implemented steps of:
providing a database of printer configuration information, including printer configuration information for the printer in the remote network, in shared memory at the network server;
retrieving the printer configuration information for the printer from the shared memory of the network server in response to a request from the first workstation, said printer configuration information including information that identifies the printer;
using the information that identifies the printer to identify a printer driver to be installed at the first workstation, wherein the printer driver includes at least one dependent file, and to determine where the printer driver and the at least one dependent file are each stored in the distributed system; and
retrieving and transmitting the printer driver and the at least one dependent file from their respective stored locations to the workstation for installation, wherein at least some of the retrieved printer configuration information is stored in the local storage of the first workstation.
32. The method of claim 31, wherein the first workstation runs an operating system and the operating system retrieves the printer configuration information.
33. The method of claim 32, wherein the network server runs a network operating system that differs from the operating system run by the first workstation.
34. The method of claim 32, wherein the workstation operating system installs the identified printer driver.
35. The method of claim 31, further comprising the step of receiving a print request to print on the printer of the remote network from the first workstation and wherein the steps of retrieving the printer configuration information and transmitting the printer driver and the at least one dependent file to the workstation for installation are performed in response to the request.
36. In a distributed system comprising a first workstation and a remote network having a printer and a network server, a method comprising the computer-implemented steps of:
providing a database of printer configuration information, including printer configuration information for the printer in the remote network, in shared memory at the network server;
retrieving the printer configuration information for the printer from the shared memory of the network server in response to a request from the first workstation, said printer configuration information including information that identifies the printer;
using the information that identifies the printer to identify a printer driver to be installed at the first workstation, wherein the printer driver includes at least one dependent file, and to determine where the printer driver and the at least one dependent file are each stored in the distributed system; and
retrieving the printer driver and the at least one dependent file from where each is stored, and sending the printer driver and the at least one dependent file to the first workstation for installation, wherein at least some of the retrieved printer configuration information is stored in the local storage of the first workstation.
37. The method of claim 36 wherein the first workstation runs an operating system and the operating system performs the step of retrieving the printer configuration information.
38. The method of claim 37 wherein the operating system performs the step of installing the identified printer driver and the at least one dependent file.
39. The method of claim 37, wherein the network server runs a network operating system that differs from the operating system run by the first workstation.
US10/425,679 1994-10-05 2003-04-30 Automatic installation of printers in a distributed environment Expired - Lifetime USRE39801E1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US10/425,679 USRE39801E1 (en) 1994-10-05 2003-04-30 Automatic installation of printers in a distributed environment

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US31807094A 1994-10-05 1994-10-05
US08/641,087 US5692111A (en) 1994-10-05 1996-04-29 Automatic installation of printers in a distributed environment
US10/425,679 USRE39801E1 (en) 1994-10-05 2003-04-30 Automatic installation of printers in a distributed environment

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US08/641,087 Reissue US5692111A (en) 1994-10-05 1996-04-29 Automatic installation of printers in a distributed environment

Publications (1)

Publication Number Publication Date
USRE39801E1 true USRE39801E1 (en) 2007-08-28

Family

ID=23236507

Family Applications (2)

Application Number Title Priority Date Filing Date
US08/641,087 Ceased US5692111A (en) 1994-10-05 1996-04-29 Automatic installation of printers in a distributed environment
US10/425,679 Expired - Lifetime USRE39801E1 (en) 1994-10-05 2003-04-30 Automatic installation of printers in a distributed environment

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US08/641,087 Ceased US5692111A (en) 1994-10-05 1996-04-29 Automatic installation of printers in a distributed environment

Country Status (1)

Country Link
US (2) US5692111A (en)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030074427A1 (en) * 2001-10-11 2003-04-17 Haines Robert E. Hardcopy output engine configuration apparatus and method
US20050057771A1 (en) * 2003-07-29 2005-03-17 Tsutomu Ohishi Image forming apparatus, image processing method, image processing program and recording medium
US20060195495A1 (en) * 2005-02-25 2006-08-31 Taiga Asano Information processing system reducing inconvenience relating to distance between computer and printer or the like
US20070097400A1 (en) * 2005-11-02 2007-05-03 Kyocera Mita Corporation Automatic installation system for printer driver, and program recording medium
US20070234354A1 (en) * 2006-03-31 2007-10-04 Tomoki Hattori System and method for printer driver distribution with searchable map database
US20080082923A1 (en) * 2006-09-29 2008-04-03 Sharp Laboratories Of America, Inc. Systems and methods for dynamically generating user interfaces for controlling a device with a client side filter
US20080198403A1 (en) * 2007-02-20 2008-08-21 Canon Kabushiki Kaisha Image forming apparatus and control method thereof
US20090128853A1 (en) * 2007-11-20 2009-05-21 Canon Kabushiki Kaisha Image-processing apparatus, information-processing apparatus, image-processing method, information-processing method, image-processing system, and information-processing system
US20110176162A1 (en) * 2010-01-19 2011-07-21 Kamath Harish B Printer installation at a cloud server
US20110208881A1 (en) * 2008-10-21 2011-08-25 Canon Kabushiki Kaisha Information processing apparatus, information processing method,and program
US8261259B2 (en) 2007-03-01 2012-09-04 Ricoh Company, Ltd. Dynamic printing system, apparatus and method
US9998390B1 (en) 2001-07-27 2018-06-12 Western Digital Ventures, Inc. Providing streaming media data
US10838704B2 (en) * 2018-03-28 2020-11-17 Brother Kogyo Kabushiki Kaisha Application program setup method and download server
US11122181B2 (en) 2018-08-09 2021-09-14 Brother Kogyo Kabushiki Kaisha Non-transitory computer-readable recording medium storing computer-executable instructions and setup system for selecting a device

Families Citing this family (125)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5717950A (en) * 1994-01-11 1998-02-10 Hitachi, Ltd. Input/output device information management system for multi-computer system
JPH08161250A (en) * 1994-12-06 1996-06-21 Canon Inc Information processor
US5953012A (en) * 1994-12-13 1999-09-14 Microsoft Corporation Method and system for connecting to, browsing, and accessing computer network resources
US5905906A (en) * 1995-03-31 1999-05-18 Lexmark International, Inc. Method and apparatus for configuring multiple printers on a network
JP3710518B2 (en) * 1995-06-01 2005-10-26 東芝テック株式会社 Network printing system
US5828855A (en) * 1995-06-06 1998-10-27 Apple Computer, Inc. Socket simulation protocol for network printing systems
JP3834878B2 (en) * 1996-07-23 2006-10-18 ソニー株式会社 Printing system, printing method, conversion device, data processing method, and printing device
US5982996A (en) * 1997-03-13 1999-11-09 Hewlett-Packard Company Mechanism for printer driver switching in windows operating systems to allow distribution of print jobs to an output device from a single print request within an application
US5960167A (en) * 1997-03-24 1999-09-28 Xerox Corporation Printer configuration system
US7545525B2 (en) * 1997-05-21 2009-06-09 Minolta Co., Ltd. Input-output apparatus selecting method for network system
JP3201515B2 (en) * 1997-06-09 2001-08-20 セイコーエプソン株式会社 Print data generation device, print data generation method, printing device, and printing system
US6184998B1 (en) * 1997-09-15 2001-02-06 Canon Kabushiki Kaisha Adding printing to the windows registry
US6128013A (en) * 1997-10-30 2000-10-03 Eastman Kodak Company User interface for an image capture device
US6026436A (en) * 1997-11-21 2000-02-15 Xerox Corporation System for cloning document processing related settings in a document processing system
US7084992B1 (en) * 1997-12-23 2006-08-01 Canon Research Center-France S.A. Method and device for determining a printer pilot configuration for a printing processing
US6560621B2 (en) * 1997-12-29 2003-05-06 Intel Corporation World wide web formatting for program output through print function
US6301012B1 (en) * 1998-04-24 2001-10-09 Hewlett-Packard Company Automatic configuration of a network printer
US6219151B1 (en) 1998-08-24 2001-04-17 Hitachi Koki Imaging Solutions, Inc. Network printing system
US6272584B1 (en) * 1998-09-10 2001-08-07 Compaq Computer Corporation System board with consolidated EEPROM module
US6282590B1 (en) * 1998-09-15 2001-08-28 Pitney Bowes Inc. Method and system for establishing a standard peripheral interface server
US20030158932A1 (en) * 1998-10-02 2003-08-21 Haruo Machida System for displaying connection condition of device provided on network
US6349304B1 (en) * 1998-12-09 2002-02-19 International Business Machines Corporation Graphical interface for copying settings from network source device to network target devices without transmitting values not usable for features supported by network target devices
US6424424B1 (en) * 1999-01-19 2002-07-23 Hewlett-Packard Company Method and apparatus for automatic installation of shared printers over a network
ATE518363T1 (en) * 1999-04-06 2011-08-15 Canon Kk SCANNER, PRINTER, STORAGE MEDIUM AND IMAGE PROCESSING METHOD
JP4809968B2 (en) * 1999-04-09 2011-11-09 キヤノン株式会社 Information processing apparatus, information processing method, and computer-readable recording medium
US6782426B1 (en) * 1999-04-09 2004-08-24 Canon Kabushiki Kaisha Shared device control method and server-client system
EP1058419A3 (en) * 1999-05-31 2001-09-12 Canon Europa N.V. Updating of processing peripherals on a communication network
FR2794320A1 (en) * 1999-05-31 2000-12-01 Canon Europa Nv Method of updating processing peripherals on communication network
FR2794326A1 (en) * 1999-05-31 2000-12-01 Canon Europa Nv Method of updating processing peripherals on communication network
US6809830B1 (en) * 1999-06-01 2004-10-26 Microsoft Corporation Method and system for enabling a printing program to communicate with a printer
US6871285B1 (en) 1999-07-07 2005-03-22 International Business Machines Corporation Method, system and program for detecting communication code information
US6453268B1 (en) 1999-07-07 2002-09-17 International Business Machines Corporation Method, system, and program for monitoring a device with a computer using user selected monitoring settings
US6487521B1 (en) 1999-07-07 2002-11-26 International Business Machines Corporation Method, system, and program for monitoring a device to determine a power failure at the device
US6584503B1 (en) 1999-07-07 2003-06-24 International Business Machines Corporation Method, system and program for establishing network contact
US6606162B1 (en) * 1999-07-21 2003-08-12 Hewlett-Packard Development Company, L.P. Network printer groups
AU763961B2 (en) * 1999-09-29 2003-08-07 Canon Kabushiki Kaisha Print driver for general applications
AUPQ314299A0 (en) 1999-09-29 1999-10-21 Canon Kabushiki Kaisha Print driver for general applications
US7016060B1 (en) 1999-12-08 2006-03-21 International Business Machines Corporation Method, system, and program for reconfiguring logical printers in a network printing system
US7143150B1 (en) * 1999-12-09 2006-11-28 Ricoh Company, Ltd. Method of configuring a computer to include the available options of a printer
US6789111B1 (en) * 1999-12-09 2004-09-07 Microsoft Corporation Automatic detection and installation of client peripheral devices by a server
US6842766B2 (en) * 1999-12-09 2005-01-11 Microsoft Corporation Client side caching of printer configuration
US6681392B1 (en) * 1999-12-15 2004-01-20 Lexmark International, Inc. Method and apparatus for remote peripheral software installation
US8527872B1 (en) * 2000-01-18 2013-09-03 Autodesk, Inc. Multiple output device association
US6850337B1 (en) * 2000-01-31 2005-02-01 Hewlett-Packard Development Company, L.P. Methods and arrangement for providing and using printer configuration status information
US6646758B1 (en) 2000-01-31 2003-11-11 Hewlett-Packard Development Company, L.P. Methods and arrangements for improved paper handling based on printer configuration status information
JP4383625B2 (en) * 2000-03-16 2009-12-16 キヤノン株式会社 Distributed processing system and control method thereof
ATE377796T1 (en) * 2000-03-27 2007-11-15 Seiko Epson Corp SYSTEM TO MANAGE DEVICES CONNECTED TO A NETWORK
US6967734B1 (en) * 2000-04-20 2005-11-22 Xerox Corporation System for automatically installing digital printers on a network
US6622302B1 (en) * 2000-06-30 2003-09-16 Lsi Logic Corporation Methods and apparatus for dynamic version transition of management applications and attached subsystems
US20020059489A1 (en) * 2000-11-14 2002-05-16 Davis Ray Charles Remote printing
US6859843B1 (en) * 2000-11-20 2005-02-22 Hewlett-Packard Development Company, L.P. Systems and methods for reconfiguring network devices
US20020067504A1 (en) * 2000-12-06 2002-06-06 Xerox Corporation Method and apparatus for automatic upgrade of a product's printer driver
US7089551B2 (en) * 2001-02-06 2006-08-08 Hewlett-Packard Development Company, L.P. System for installing peripheral software during peripheral installation
US6804727B1 (en) 2001-02-23 2004-10-12 Lexmark International, Inc. Method for communication from a host computer to a peripheral device
US7552191B1 (en) * 2001-06-12 2009-06-23 F5 Networks, Inc. Method and apparatus to facilitate automatic sharing in a client server environment
US20020196451A1 (en) * 2001-06-25 2002-12-26 Xerox Corporation System for replicating desired configurations for printers on a network
US7092950B2 (en) * 2001-06-29 2006-08-15 Microsoft Corporation Method for generic object oriented description of structured data (GDL)
US7127671B1 (en) * 2001-09-14 2006-10-24 Mcdonald David C Publishing a customized publication by defining multiple sources and time periods for obtaining article quotable information
US20030055958A1 (en) * 2001-09-20 2003-03-20 Russell Richard Francis Method for automatically creating network printer ports on a workstation
US20030065766A1 (en) * 2001-09-28 2003-04-03 Parry Travis J. Geographic imaging device management
US20030086110A1 (en) * 2001-11-05 2003-05-08 Parry Travis J. Use of geographically-referenced imaging device usage information
US20030090694A1 (en) * 2001-11-13 2003-05-15 Kennedy Kelli H. Just-in-time printer discovery and driver installation system and method
US20030120624A1 (en) * 2001-12-10 2003-06-26 Poppenga Burton H. System and method for efficiently installing and configuring device drivers in managed environments
US7356773B1 (en) * 2001-12-27 2008-04-08 Expertune, Inc. Wizard builder, for application software, building a setup wizard which sets up a defacto interface between the application program and monitoring or control equipment
US7506147B2 (en) * 2002-02-04 2009-03-17 Sonus Networks, Inc. Policy distribution point for setting up network-based services
US7134013B2 (en) * 2002-02-04 2006-11-07 Atreus Systems Corp. Policy distribution point for setting up network-based services
US20030158927A1 (en) * 2002-02-21 2003-08-21 Gateway, Inc. Connected home network console
US7400424B2 (en) * 2002-03-05 2008-07-15 Hewlett-Packard Development Company, L.P. Printer option suggestion method and program
US7253915B2 (en) * 2002-03-07 2007-08-07 Canon Kabushiki Kaisha Creating a locally managed instance of a network printer
US20030188145A1 (en) * 2002-03-27 2003-10-02 Richardson Tanna Marie Method and system for peripheral device installation
US7304758B2 (en) * 2002-03-27 2007-12-04 Sharp Laboratories Of America, Inc. Dynamically updating a printer driver
US20030195952A1 (en) * 2002-04-15 2003-10-16 Henry Steven G. Digital transmitter device configuration
US7213060B2 (en) * 2002-04-23 2007-05-01 Canon Kabushiki Kaisha Web based creation of printer instances on a workstation
US7689673B2 (en) * 2002-04-23 2010-03-30 Canon Kabushiki Kaisha Remote creation of printer instances on a workstation
US20030200291A1 (en) * 2002-04-23 2003-10-23 Canon Kabushiki Kaisha Web based creation of printer instances on a workstation
US7146413B2 (en) * 2002-06-14 2006-12-05 Hewlett-Packard Development Company, L.P. Remote updating of printer settings on a client device in a networked environment
JP4340476B2 (en) * 2002-06-28 2009-10-07 株式会社リコー Software introduction method, program for causing computer to execute the method, and medium storing the program
JP2004038686A (en) * 2002-07-04 2004-02-05 Seiko Epson Corp Device for notifying storage place of device control software
US8488143B2 (en) * 2002-08-07 2013-07-16 Hewlett-Packard Development Company, L.P. Method and apparatus for detecting printer internet protocol addresses
US7185074B2 (en) * 2002-09-30 2007-02-27 Sharp Laboratories Of America, Inc. Method of discovering and installing clients for digital copier services
US7853946B2 (en) * 2003-02-28 2010-12-14 Canon Kabushiki Kaisha Information processing apparatus, information processing method, and control program
US20040172622A1 (en) * 2003-02-28 2004-09-02 Nokia Inc. Systems, methods and computer program products for performing a task in a software application
US20080114832A1 (en) * 2003-03-07 2008-05-15 Atreus Systems Corp. Using multiple policy distribution points to initiate a network-based service
US7529823B2 (en) * 2003-03-27 2009-05-05 Microsoft Corporation Notifications for shared resources
US20040207864A1 (en) * 2003-04-18 2004-10-21 Combs Steven Donald Method for operating a printer and method for operating a printer controller
US8495202B2 (en) * 2003-10-24 2013-07-23 Brother Kogyo Kabushiki Kaisha Imaging device information management system
US7804609B2 (en) * 2003-11-07 2010-09-28 Desktop Standard Corporation Methods and systems to connect network printers
US20060015569A1 (en) * 2003-12-16 2006-01-19 Lexmark International, Inc. Method and system for initiating a task and receiving task data via a TWAIN interface
US20050179936A1 (en) * 2004-02-13 2005-08-18 Microsoft Corporation Scalable print spooler
JP4182094B2 (en) * 2004-08-30 2008-11-19 キヤノン株式会社 Information processing apparatus, control method therefor, and program
US20060069815A1 (en) * 2004-09-29 2006-03-30 Warner William T Iii Method and system for initiating a task and receiving task data via TWAIN interface from network-attached peripheral
JP4575860B2 (en) * 2004-10-21 2010-11-04 株式会社リコー Image forming apparatus, installation method, installation program, and recording medium
KR20060081504A (en) * 2005-01-07 2006-07-13 삼성전자주식회사 Printing controll apparatus and method for controlling thereof
US8208152B2 (en) * 2005-01-31 2012-06-26 Xerox Corporation Printer controlled default driver configuration
CN100530072C (en) * 2005-02-22 2009-08-19 中国科学院计算技术研究所 Remote printing method for multi-node intelligent network application service system
JP4599206B2 (en) * 2005-03-29 2010-12-15 キヤノン株式会社 Information processing apparatus, information processing apparatus control method, program, and storage medium
US20070002368A1 (en) * 2005-06-30 2007-01-04 Fatima Corona System and method for sending a stored scanned job to printers or group of printers from a multi-function peripheral device
US8159697B2 (en) * 2005-08-17 2012-04-17 Samsung Electronics Co., Ltd. System and method for monitoring and controlling the distribution of information from a multi-function peripheral device
JP4328749B2 (en) * 2005-09-01 2009-09-09 キヤノン株式会社 Network system, setting method thereof, program, and storage medium
AU2005220173B2 (en) * 2005-10-04 2010-08-12 Canon Information Systems Research Australia Pty Ltd Software installation process
US20070088893A1 (en) * 2005-10-18 2007-04-19 Kestrelink Corporation System and Method for Installing Hardware Device Drivers for Network Devices on Systems Limited to Single Computer Plug-and-Play Logic
US8149438B2 (en) * 2006-02-28 2012-04-03 Xerox Corporation Distributed printing system with improved load balancing
US20070201078A1 (en) * 2006-02-28 2007-08-30 Xerox Corporation Distributed printing system with improved load balancing
JP2008203929A (en) * 2007-02-16 2008-09-04 Canon Inc Server device, client device, driver processing method, storage medium, and program
EP1975786A1 (en) * 2007-03-29 2008-10-01 Ricoh Company, Ltd. Method for installing a printer driver on an end user's computer
US8065507B2 (en) * 2007-06-08 2011-11-22 Ricoh Company, Ltd. Data processing device that displays a setting screen for setting operations of a connected apparatus
US20090094539A1 (en) * 2007-08-29 2009-04-09 Yao-Tian Wang Controlling a computer peripheral device using a universal driver and device-generated user interface information
US8214548B2 (en) * 2007-08-29 2012-07-03 Ricoh Company, Ltd. Capability-based control device driver of a computer peripheral device
US8589866B2 (en) * 2007-08-29 2013-11-19 Ricoh Company, Ltd. Automatically generating capability-based computer peripheral device drivers
US20090066991A1 (en) * 2007-09-06 2009-03-12 Lee Sheng W System and method for cloning document processing devices via simple network management protocol
US7752345B2 (en) 2007-12-20 2010-07-06 Avery Dennison Corporation Automatic configuration of network devices
US20090190150A1 (en) * 2008-01-24 2009-07-30 Selvaraj Senthil K On-Demand Print Driver
JP4753321B2 (en) * 2008-10-06 2011-08-24 キヤノンマーケティングジャパン株式会社 Information processing apparatus, installer set creation method, program, storage medium, and printing system
KR101310237B1 (en) * 2008-10-17 2013-10-14 삼성전자주식회사 The image forming apparatus searching method using server, the host apparatus and system for performing the method
US8526020B2 (en) * 2009-03-06 2013-09-03 Ricoh Company, Ltd. Paper size support for a print system
US8520225B2 (en) * 2009-03-06 2013-08-27 Ricoh Company, Ltd. Print driver localization support from printing device to support multiple user profiles
US8773687B2 (en) * 2009-03-06 2014-07-08 Ricoh Company, Ltd. Driverless architecture for printing systems
US9529694B2 (en) * 2009-09-14 2016-12-27 Oracle International Corporation Techniques for adaptive trace logging
US9734037B1 (en) * 2009-09-15 2017-08-15 Symantec Corporation Mobile application sampling for performance and network behavior profiling
JP2011180954A (en) * 2010-03-03 2011-09-15 Seiko Epson Corp Apparatus and program for control of equipment, and server
KR20120109665A (en) * 2011-03-23 2012-10-08 삼성전자주식회사 Method, apparatus and system for information push service based on wirless lan access point
JP5174268B1 (en) * 2011-10-14 2013-04-03 キヤノン株式会社 Network system, client apparatus and method
JP2016177445A (en) * 2015-03-19 2016-10-06 株式会社リコー Information processing apparatus, program, and information processing system
US10250437B2 (en) * 2015-10-29 2019-04-02 Arista Networks, Inc. Method and system for configuring network devices
GB2562106B (en) * 2017-05-05 2020-01-22 Canon Europa Nv Resilient print job submission

Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4698688A (en) * 1984-07-11 1987-10-06 Nippon Telegraph And Telephone Corporation Image processing system
US4829468A (en) * 1987-09-18 1989-05-09 Hitachi, Ltd. Print control system
US5150454A (en) * 1991-10-16 1992-09-22 Patrick Wood Printing system and method
US5228118A (en) * 1991-06-29 1993-07-13 Brother Kogyo Kabushiki Kaisha Printing system wherein one of printer drivers through which print data is sent from a data processor to a printer is selected based on interpreters available on the printer
US5268993A (en) * 1990-06-04 1993-12-07 Minolta Camera Kabushiki Kaisha Printer
US5287194A (en) * 1992-11-25 1994-02-15 Xerox Corporation Distributed printing
US5287434A (en) * 1991-10-28 1994-02-15 Monarch Marking Systems, Inc. Barcode identification system spooler
US5299296A (en) * 1991-10-17 1994-03-29 Ricoh Company, Ltd. Multi-function machine with interleaved job execution
US5303336A (en) * 1990-05-14 1994-04-12 Hitachi, Ltd. Printing system including print server
US5327526A (en) * 1990-10-10 1994-07-05 Fuji Xerox Co., Ltd. Print job control system
US5349648A (en) * 1990-12-13 1994-09-20 Handley George E Automatic high speed publishing system
US5353388A (en) * 1991-10-17 1994-10-04 Ricoh Company, Ltd. System and method for document processing
US5371837A (en) * 1992-12-18 1994-12-06 Dataproducts Corporation Virtual printer
US5450571A (en) * 1991-08-29 1995-09-12 Xerox Corporation Dialog filtering process for a printing system to filter out non-selectable print programming selections
US5580177A (en) * 1994-03-29 1996-12-03 Hewlett-Packard Company Printer/client network with centrally updated printer drivers and printer status monitoring
US6230211B1 (en) * 1993-01-19 2001-05-08 Canon Kabushiki Kaisha Container-based method for exchanging information between computer processes

Patent Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4698688A (en) * 1984-07-11 1987-10-06 Nippon Telegraph And Telephone Corporation Image processing system
US4829468A (en) * 1987-09-18 1989-05-09 Hitachi, Ltd. Print control system
US5303336A (en) * 1990-05-14 1994-04-12 Hitachi, Ltd. Printing system including print server
US5268993A (en) * 1990-06-04 1993-12-07 Minolta Camera Kabushiki Kaisha Printer
US5327526A (en) * 1990-10-10 1994-07-05 Fuji Xerox Co., Ltd. Print job control system
US5349648A (en) * 1990-12-13 1994-09-20 Handley George E Automatic high speed publishing system
US5228118A (en) * 1991-06-29 1993-07-13 Brother Kogyo Kabushiki Kaisha Printing system wherein one of printer drivers through which print data is sent from a data processor to a printer is selected based on interpreters available on the printer
US5450571A (en) * 1991-08-29 1995-09-12 Xerox Corporation Dialog filtering process for a printing system to filter out non-selectable print programming selections
US5150454A (en) * 1991-10-16 1992-09-22 Patrick Wood Printing system and method
US5299296A (en) * 1991-10-17 1994-03-29 Ricoh Company, Ltd. Multi-function machine with interleaved job execution
US5353388A (en) * 1991-10-17 1994-10-04 Ricoh Company, Ltd. System and method for document processing
US5287434A (en) * 1991-10-28 1994-02-15 Monarch Marking Systems, Inc. Barcode identification system spooler
US5287194A (en) * 1992-11-25 1994-02-15 Xerox Corporation Distributed printing
US5371837A (en) * 1992-12-18 1994-12-06 Dataproducts Corporation Virtual printer
US6230211B1 (en) * 1993-01-19 2001-05-08 Canon Kabushiki Kaisha Container-based method for exchanging information between computer processes
US5580177A (en) * 1994-03-29 1996-12-03 Hewlett-Packard Company Printer/client network with centrally updated printer drivers and printer status monitoring

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
McClelland, Deke, "Macintosh System 7.1: Everything You Need to Know," second edition, 1992, pp. 106-110, 379, 384-387 Alameda, Ca. *
McClelland, Deke, Macintosh(R) System 7.1: Everything You Need To Know, 2d. ed. Sybex(R), San Francisco, California 1993, pp. 106-110, 379, 384-387. *
Microsoft Windows NT Version 3.1, "System Guide", Chapter 6, Print Manager, pp. 179-208.
Microsoft(R) Windows NT(TM) System Guide, Microsoft Corporation, Mar. 1993, Chapter 6, "Print Manager," pp. 173-201. *

Cited By (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10897427B2 (en) 2001-07-27 2021-01-19 Western Digital Technologies, Inc. Providing streaming media data
US9998390B1 (en) 2001-07-27 2018-06-12 Western Digital Ventures, Inc. Providing streaming media data
US7886026B2 (en) * 2001-10-11 2011-02-08 Hewlett-Packard Development Company, L.P. Hardcopy output engine configuration apparatus and method
US20030074427A1 (en) * 2001-10-11 2003-04-17 Haines Robert E. Hardcopy output engine configuration apparatus and method
US20110188084A1 (en) * 2003-07-29 2011-08-04 Tsutomu Ohishi Information processing system, method and recording medium
US10148846B2 (en) 2003-07-29 2018-12-04 Ricoh Company, Ltd. Information processing system, method and recoding medium
US20050057771A1 (en) * 2003-07-29 2005-03-17 Tsutomu Ohishi Image forming apparatus, image processing method, image processing program and recording medium
US9787867B2 (en) 2003-07-29 2017-10-10 Ricoh Company, Ltd. Information processing system, method and recording medium
US7933033B2 (en) * 2003-07-29 2011-04-26 Ricoh Company, Ltd. Image forming apparatus, image processing method, image processing program and recording medium
US9344596B2 (en) 2003-07-29 2016-05-17 Ricoh Company, Ltd. Information processing system, method and recording medium
US9092182B2 (en) 2003-07-29 2015-07-28 Ricoh Company, Ltd. Information processing system, method and recording medium
US8593678B2 (en) 2003-07-29 2013-11-26 Ricoh Company, Ltd. Information processing system, method and recording medium
US8339649B2 (en) 2003-07-29 2012-12-25 Ricoh Company, Ltd. Information processing system, method and recording medium
US8274677B2 (en) * 2005-02-25 2012-09-25 Ricoh Company, Ltd. Information processing system reducing inconvenience relating to distance between computer and printer or the like
US20060195495A1 (en) * 2005-02-25 2006-08-31 Taiga Asano Information processing system reducing inconvenience relating to distance between computer and printer or the like
US7903267B2 (en) * 2005-11-02 2011-03-08 Kyocera Mita Corporation Automatic installation system for printer driver, and program recording medium
US20070097400A1 (en) * 2005-11-02 2007-05-03 Kyocera Mita Corporation Automatic installation system for printer driver, and program recording medium
US8185887B2 (en) * 2006-03-31 2012-05-22 Ricoh Company, Ltd. System and method for printer driver distribution with searchable map database
US20070234354A1 (en) * 2006-03-31 2007-10-04 Tomoki Hattori System and method for printer driver distribution with searchable map database
US8214752B2 (en) * 2006-09-29 2012-07-03 Sharp Laboratories Of America, Inc. Systems and methods for dynamically generating user interfaces for controlling a device with a client side filter
US20080082923A1 (en) * 2006-09-29 2008-04-03 Sharp Laboratories Of America, Inc. Systems and methods for dynamically generating user interfaces for controlling a device with a client side filter
US20080198403A1 (en) * 2007-02-20 2008-08-21 Canon Kabushiki Kaisha Image forming apparatus and control method thereof
US8261259B2 (en) 2007-03-01 2012-09-04 Ricoh Company, Ltd. Dynamic printing system, apparatus and method
US8379249B2 (en) * 2007-11-20 2013-02-19 Canon Kabushiki Kaisha Forwarding print job and driver information from a first image forming apparatus to a second image forming apparatus
US20090128853A1 (en) * 2007-11-20 2009-05-21 Canon Kabushiki Kaisha Image-processing apparatus, information-processing apparatus, image-processing method, information-processing method, image-processing system, and information-processing system
US20110208881A1 (en) * 2008-10-21 2011-08-25 Canon Kabushiki Kaisha Information processing apparatus, information processing method,and program
US9529560B2 (en) * 2008-10-21 2016-12-27 Canon Kabushiki Kaisha Information processing apparatus, information processing method, and program
US20110176162A1 (en) * 2010-01-19 2011-07-21 Kamath Harish B Printer installation at a cloud server
US10838704B2 (en) * 2018-03-28 2020-11-17 Brother Kogyo Kabushiki Kaisha Application program setup method and download server
US11122181B2 (en) 2018-08-09 2021-09-14 Brother Kogyo Kabushiki Kaisha Non-transitory computer-readable recording medium storing computer-executable instructions and setup system for selecting a device

Also Published As

Publication number Publication date
US5692111A (en) 1997-11-25

Similar Documents

Publication Publication Date Title
USRE39801E1 (en) Automatic installation of printers in a distributed environment
US5881213A (en) Deferred printing
US7312886B2 (en) Printer control method, information processing apparatus, program, and storage medium
EP1357467B1 (en) Remote creation of printer instances on a workstation
US6125372A (en) Server system and method of updating server software
JP4240690B2 (en) Information processing apparatus, information processing method, information processing system, and recording medium
US20030030664A1 (en) Customizable control panel software
US6335795B1 (en) Method for customizing print attribute choices based on selected model, media, and printer
US7853946B2 (en) Information processing apparatus, information processing method, and control program
US6681392B1 (en) Method and apparatus for remote peripheral software installation
US7359081B2 (en) Information processing apparatus, distributed printing method, and storage medium
US7253915B2 (en) Creating a locally managed instance of a network printer
US9128646B2 (en) Information processing apparatus, information processing method, and computer readable recording medium stored with information processing program
US20030084132A1 (en) Network system, information processing apparatus, information processing method, and control program
US20080068648A1 (en) Method for saving and retrieving print data in a network
US20030160993A1 (en) Method for printing to a networked printer
KR20040058105A (en) System and method for printing over networks via a print server
MXPA03012018A (en) Client side rendering of printable documents in a network.
US8472057B2 (en) Information processing apparatus, and information processing method
US20110255115A1 (en) Information processing apparatus and control method therefor
US20020188672A1 (en) Server-based computing environment
US7016060B1 (en) Method, system, and program for reconfiguring logical printers in a network printing system
GB2347766A (en) Internet based printing using a web browser
CN101369222A (en) Data processing apparatus, device controlling method, and computer-readable recording medium
JP2001236298A (en) Data processor, printing system and method for controlling setting of driver software for them

Legal Events

Date Code Title Description
FPAY Fee payment

Year of fee payment: 12

AS Assignment

Owner name: MICROSOFT TECHNOLOGY LICENSING, LLC, WASHINGTON

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MICROSOFT CORPORATION;REEL/FRAME:034541/0477

Effective date: 20141014