USO0RE39801E

(19) United States (12) Reissued Patent Marbry et a]. (54)

(45) Date of Reissued Patent:

AUTOMATIC INSTALLATION OF PRINTERS IN ADISTRIBUTED ENVIRONMENT _

(75)

Inventors‘ Jonathan E‘Marbry’ Beinevue’wA

* *

2/1994 Lobiondo ................. .. 358/296 2/1994 Bain et a1. ........... .. 235/462.15

5,299,296 A 5,303,336 A

* *

3/1994 4/1994

Teng’ Redmond,

5,450,571 A * 5,580,177

7/1994 Nomura et a1. ..... ..

A

9/1995 Rosekrans 6t

*

12/1996

6,230,211 B1 *

5/2001

(73) Assignee: Microsoft Corporation, Redmond, WA

Gase et a1.

.......

395/115

715/517 395/117 395/114 703/24 . . . .. 400/61

Mahajan ................... .. 719/315

OTHER PUBLICATIONS

Microsoft Windows NT Version 3.1, “System Guide”, Chap ter 6, Print Manager, pp. 1794208.

(21) Appl. No.2 10/425,679 (22) Filed: Apr. 30, 2003

McClelland, Deke, “Macintosh System 7.1: Everything You Need to Know,” second edition, 1992, pp. 1064110, 379, 3844387 Alameda, Ca.* Microsoft® Windows NTTM System Guide, Microsoft Cor

Related US. Patent Documents

poration, Mar. 1993, Chapter 6, “Print Manager,” pp.

Reissue of:

5,692,111

1734201.>X<

Issued:

Nov. 25, 1997

McClelland, Deke, Macintosh® System 7.]: Everything You

Appl. No.: Filed:

08/641,087 Apr. 29, 1996

Need To Know, 2d. ed. Sybex®, San Francisco, California 1993, pp. 1064110, 379, 3844387.*

(64) Patent No.:

* cited by examiner

US. Applications: Continuation of application No. 08/318,070, ?led on Oct. 5, 1994, now abandoned.

Primary Examineristeven Paul Sax (74) Attorney, Agent, or FirmiBanner & Witcoif Ltd.

(57)

(51) Int. Cl. G06F 15/16

(2006.01)

ABSTRACT

An operating system provides a point-and-print capability to

G06F 3/00 (52) (58)

PaC1a1lIl0 et a1. ......... .. 358/1.13 Kageyama et a1. ...... .. 358/1.15

5,349,648 A * 9/1994 Handley 5,353,388 A * 10/1994 Motoyama 5,371,837 A * 12/1994 Kimber et a1.

(Us)

(Us)

Aug. 28, 2007

5,287,194 A 5,287,434 A

5,327,526 A *

(Us); Samuel J- McKelvw, Seattle, WA (Us); David H- Tl‘yoll, Redmond, WA (US); Lin Fon-ShaW, Clyde Hill, WA

(63)

US RE39,801 E

(10) Patent Number:

users of the workstation. The point-and-print capability

US. Cl. ..................... .. 709/220; 715/740; 358/115 Field of Classi?cation Search ............... .. 715/740,

allows a user to print on any printer available within a

715/748*749,762*763, 7714773, 9654968; 358/1.11*1.18; 709/220, 221, 223, 238

ing to print on the printer. The retrieval of con?guration information and installation of the printer is performed

See application ?le for complete search history.

distributed system by simply selecting a printer and request transparently relative to the user of the workstation. The

required printer con?guration information is retrieved from (56)

References Cited

a database that is maintained at a network server for the

U.S. PATENT DOCUMENTS 4,698,688 A 4,829,468 A

* 10/1987 * 5/1989

5,150,454 A

*

5,228,118 A 5,268,993 A

* 7/1993 * 12/1993

Ochi et a1. ................ .. 358/408 Nonaka et a1. .......... .. 358/118

9/1992 Wood et a1.

network that includes the target printer. Aheuristic technique is employed to obtain complete printer con?guration infor mation when such printer con?guration is not fully available from the network server.

358/115

Sasaki .......... .. 358/1.13 Ikenoue et a1. .......... .. 358/1.15

37 Claims, 9 Drawing Sheets

NETWORK

SERVER ‘A8

m

A _/12 WORKSTATION MEMORV -

25

OPERATING/4a SYSTEM

@ 22

BINDERY _/24 @ 22

U.S. Patent

Aug. 28, 2007

Sheet 2 0f 9

[Browse for Printer

US RE39,801 E

@I

Find the printer you wish to use in the "st below:

5% Network Nei hbomoldj

ID

Entira Network

[Browse for Printer

4E1]?

Find the printer you wish to use in The list below:

5% Network Neighborhood] I3- Entire Network EH35 Remote Access

LE: Ccteng

FIG. 2B

L

U.S. Patent

Aug. 28, 2007

Sheet 3 0f 9

STORE PRINTER CONFIGURATION

_

INFORMATION IN

NETWORK BINDERY

I RECEIVE REQUEST TO PRINT TO

_ /32

PRINTER IN NETWORK

COPY CONFIGURATION

-

INFORMATION TO WORKSTATION

USE COPIED CONFIGURATION

INFORMATION TO PRINT If

FIG. 3

.

US RE39,801 E

U.S. Patent

Aug. 28, 2007

Sheet 4 0f 9

CALL

0penPn'nter( )

1 CALL --1

GetPn'nter( )

CALL

_

GetPrinterDriver( )

l BUILD LIST OF

DEPENDENT FILES, _ /44

COPY FILES AND CONFIGURE PRINTER

l INSTALL PRINTER

FIG. 4

-1

US RE39,801 E

U.S. Patent

Aug. 28,2007

US RE39,801 E

Sheet 5 0f 9

I BEGIN I I MAINTAIN LOCAL DATABASE OF d/ 50 PRINTERS THAT CAN INSTALL

I RETRIEVE -/ 52 AVAILABLE INFORMATION ON PRINTER

USE RETRIEVED T

NAME OF PRINTER TO ACCESS LOCALLY

MAINTAINED INFO.

IS

INFORMATION COMPLETE?

USE INFORMATION ./ 53 TO INSTALL PRINTER

FIG. 5

U.S. Patent

Aug. 28, 2007

Sheet 6 0f 9

US RE39,801 E

FIG. 6A

[Printer installation Wizard What type of printer would you like to install? If your printer ls directly attached to your computer select local prlnter, otherwise select network pn‘ Mar.

0 Local printer

< gack

FIG. 6B

Next >

Cancel

U.S. Patent

Aug. 28, 2007

Sheet 7 0f 9

US RE39,801 E

[Printer Installation Wizard ll you know the network path or the queue name of your printer, type it in now. If you don't know. press "Bmwse...' to view available network printers. when you are through press "Next".

Network Bath or Queue Name

:k/ 68

Browse...

(70

FIG. 6C

I; Network Neighborhood

Ell'lIEIll

Eile Edit \{lew Help

E

E31

=

:':r

Ccteng

Cctangl

Access

E

@

a:

Davidw’l

=

Kensy

Lins2

Lins3

74

E

l Milregi

Rayen

Rayen2

=5

Raypat2 13 ob'ect 5

FIG. 6D

E

:

Raypatl

w/TZ

U.S. Patent

Aug. 28, 2007

Sheet 8 0f 9

gum

US RE39,801 E

ml

Eile Edit mew Help

FIG. 6E

[Printer Installation Wizard

I If you know the network path or the queue name of

your printer, type it in now. If you don't know, press 'Brawse...‘ to view availabia network printers. When you are through press 'Next".

66

Natwork .4‘Bath or Queue Name

W'

\\L|ns2\hp

-+

@f m < §ack

Next >

I

Cancel

\\

71

FIG. 6F

U.S. Patent

Aug. 28, 2007

Sheet 9 0f 9

US RE39,801 E

[Printer Installation Wizard

I You may type a friendly name for his printer if you like, or you may use the name supplied below. When you

are done, press Finish to install the printer and place it

inPrinter the printers name: folder.

/"

"

z‘

||HP DeskJet 5000]

l < @ack I

:l/

Frnlsh l I I Cancel 1 \ 82

US RE39,801 E 1

2

AUTOMATIC INSTALLATION OF PRINTERS IN A DISTRIBUTED ENVIRONMENT

workstation. The printer con?guration information is installed at the workstation and the selected printer is then used to service the print request.

Matter enclosed in heavy brackets [ ] appears in the original patent but forms no part of this reissue speci? cation; matter printed in italics indicates the additions made by reissue.

In accordance with a further aspect of the present

invention, a database of printer con?guration information and printer drivers is provided at a network server. A

database of printer con?guration information and printer drivers for installable printers is provided at a server. Avail

CROSS-REFERENCE TO RELATED APPLICATION

able printer con?guration information is retrieved from the network server for one of the printers in the network. This

available printer con?guration information is provided to the

This application is a continuation of US. patent applica tion Ser. No. 08/318,070, ?led Oct. 5, 1994, now abandoned.

workstation. It is determined that the provided printer con ?guration information is incomplete and in response, the locally maintained database is accessed to retrieve the complete con?guration information and a printer driver for

TECHNICAL FIELD

The present invention relates generally to data processing

the selected printer.

systems and, more particularly, to the automatic installation of printers in a distributed environment. BACKGROUND OF THE INVENTION

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 20

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

25

server for regulating access to the network. The network

server includes a database of printer con?guration informa tion for the printer. The distributed system also includes a workstation that is interfaced with the network. The work station may issue a request to execute a print job on the printer in the network. The workstation runs an operating

cursor at an icon for the printer) and then request to print a

system that includes a retrieval mechanism and an installer.

document in order to print on the target printer. Critical

The retrieval mechanism retrieves the printer con?guration

printer con?guration information (such as the printer driver and other printer con?guration data) is stored on the print

information for the network server in response to a request

servers for network printers. Each print server is a dedicated machine that runs the same operating system and is respon sible for controlling a grouped of one or more printers. The

con?gruaoin information that is retrieved by the retrieval

or execute a print job. The installer installs the printer mechanism so that the workstation may use the printer.

BRIEF DESCRIPTION OF THE DRAWINGS

print server stores the critical printer con?guration informa tion 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 con?guration information and the installation of the printer are transparent to the user.

35

FIGS. 2A and 2B illustrate a user interface that is used to 40

dance with the preferred embodiment of the present inven

In accordance with a ?rst aspect of the present invention, 45

tion. FIG. 4 is a ?owchart illustrating the steps that are per

formed to retrieve printer con?guration information and install a printer in the preferred embodiment of the present invention.

database of printer con?guration information is provided in shared memory at the network server. The printer con?gu ration information stored at the network server includes

select a printer for printing in the preferred embodiment of the present invention. FIG. 3 is a ?owchart illustrating the steps that are per formed to facilitate a point-and-print capability in accor

SUMMARY OF THE 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

FIG. 1 is a block diagram of a distributed system that is

suitable for practicing a preferred embodiment of the present invention.

50

FIG. 5 is a ?owchart illustrating the steps that are per

printer con?guration information for the printer in the net work. The printer con?guration information for the printer in

formed to attempt to obtain complete printer con?guration information in the preferred embodiment of the present

the remote network is retrieved from the shared memory of the network server in response to request from the worksta

invention.

tion. 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

FIGS. 6A-6G show user interface elements used to install 55

DETAILED DESCRIPTION OF THE INVENTION

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, con?guration information for the printers is provided at the network server. In response

a printer using an installation wizard of the preferred embodiment of the present invention.

60

The preferred embodiment of the present invention pro vides 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

to a request from the workstation to print on a selected one 65 installation and con?guration that is required for the docu

of the printers, printer con?guration information for the

ment to be printed on the printer is performed automatically

selected printer is copied from the network server to the

and transparently by the operating system.

US RE39,801 E 4

3

mation. The registry is much like the registry found in the Microsoft WINDOWS NT operating system. This copied con?guration information and printer driver are then used to

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.

print on the printer 22 (step 36).

Network server 18 serves as a server for gaining access to a

As mentioned above, the operating system provides an implementation of the WIN32 API as speci?ed by Microsoft Corporation. The WIN32 API provides a number of func tions for manipulating printers to con?gure and install

?rst 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

printers. Some of these functions will be described in more detail below.

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

FIG. 4 is a ?owchart showing in more detail how func tions in the WIN32 API are utiliZed to con?gure and install

server 20 includes printers 22. The workstation 12 includes a memory 26 that holds a

the requested printer 22. Initially, the operating system 28

copy of an operating system 28. This operating system 28

calls the OpenPrinter( ) function. The name of the desired target printer is passed as a parameter of the OpenPrinter( )

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 con?gure and install printers. In the preferred embodiment of the present invention, the operating system 28 is an embellished version of the Microsoft WINDOWS operating

function call. The OpenPrinter( ) function returns a “handle”

for the target printer (step 38). The handle is a unique 20

numerical identi?er for the printer that will be used to later

identify the printer in other function calls.

system. The operating system 28 provides a user interface that allows the user to select a printer that the user wishes to 25

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

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 func

tion returns a PRINTERiINFOi2 structure that holds data about the target printer. In the preferred embodiment of the FIG. 2A, a user interface 29 provides a user with a list of servers that are available in a network neighborhood. When 30 present invention, the PRINTERiINFOi2 data structure is

of the following form:

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 dif?culty arises when the user requests to print a document on a printer in a network for which the con?guration information and printer driver are not locally installed. The referred embodiment of the present invention overcomes

typedef struct iPRINTER INFOiZ { /* pri2 */ LPTSTR pServerNaIne; LPTSTR pPrinterNaIne; this dif?culty by transparently copying the requisite con LPTSTR pShareNaIne; LPTSTR pPortNaIne; ?guration information and printer driver to a location that is LPTSTR pDriverNaIne; local to the workstation so that the workstation may access LPTSTR pComment; the printer con?guration data and printer driver to print the 40 LPTSTR pLocation; document on the remote printer. LPTDEVMODE PDevMode; LPTSTR pSepFile; The Netware server 20 holds an object-oriented database LPTSTR pPrintProcessor; known as the “bindery” that contains de?nitions for users, LPTSTR pDatatype; groups, security and other objects of the associated network. LPTSTR pParaIneters; PS ECURITYiDES CRIPTOR pS ecurityDescriptor; The bindery 24 is like the bindery found in the Netware 45 DWORD Attributes; network operating system, version 3.11. The bindery 24 is DWORD Priority; used in the preferred embodiment of the present invention to DWORD DefaultPriority; hold the printer con?guration and driver information for the DWORD StartTime; DWORD UntilTirne; printers of the network server 20.

FIG. 3 is a ?owchart illustrating the steps that are per

35

50

formed in the preferred embodiment of the present invention

to support the point and print functionality. Initially, the

DWORD DWORD DWORD } PRINTER INFO 2'

Status; c] obs; AveragePPM;

printer con?guration information, including information about the printer driver, is stored within the bindery 24 (step 30 in FIG. 3). The Netware network operating system

55

At this point in the process, the operating system knows

provides a number of functions that can be used to add such

the handle to the printer and has received data about the

information to the bindery 24. The operation system 28 acts

printer. The GetPrinterDriver( ) function is called to obtain printer driver data for the given printer from the bindery of

as a client of the Netware server 20 and requests that the

con?guration information be stored in the network bindery when the system is booted. The operating system 28 then

60

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 con?guration 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 con?guration infor

the print server (step 42). A DRIVERiINFOi3A or a DRIVERiINFOi2 structure is returned in response to this function call. The operating system ?rst tries to get a DRIVERiINFOi3A structure, but if cannot get a complete DRIVERiINFOi3A structure, it tries to get a DRIVERi INFOi2 structure. An error message is returned in response

65

to the GetPrinterDriver( ) function call, if a complete DRIVERiINFOi3A structure is not available. The

DRIVERiINFOi3A structure has the following format:

US RE39,801 E 6 local database includes appropriate con?guration 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

typedef struct DRIVERiINFOi3A { DWORD LPSTR

cversion; pNarne;

//QMS 810

LPSTR

pEnvironment;

//Win32 x 86

complete (step 54). If the information is not complete, it is likely that the information speci?es the type of printer the

LPSTR LPSTR

pDriverPath; pDataFile;

//c:\drivers\pscript.dll //c:\drivers\QMS810.PPD

to access the local database to retrieve con?guration infor

LPSTR LPSTR LPSTR

pCon?gFile; pHelpFile; pDependentFiles;

//c:\drivers\PSCRPTUI.DLL //c:\drivers\PSCRPTUI.HLP

target printer is. This name of the type of printer is then used

mation 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

//PSCRIPT.DLL\0QMS 810.PPD\OPSCRIPTUI.DLL LPSTR pMonitorNaIne; //“PostScript monitor” LPSTR

p/DefaultDataType;

install the printer (see step 58).

//“EMF”

}DRIVERiINFOi3A, *PDRIVERiINFOi3A,

The above description has focused on the instance

*LPDRIVERiINFOi3A;

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.

The DRIVERiINFOi2 structure has the following for mat: 20

typedef structiDRIVER INFOiZ { /* d.ri2 */ DWORD cVersion; LPTSTR pNaIne; LPTSTR pEnvironment; LPTSTR pDriverPath; LPTSTR pDataFile; LPTSTR pCon?gFile; } DRIVER INFO 2'

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

25

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 dis played. The printer installation wiZard window 66 asks the user to select whether he wishes to install a local printer or

A list of dependent ?les is then built and these ?les are

copied to the workstation 10, wherein the printer is con?g ured (step 44). The list of dependent ?les is obtained from

30

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 neighbor

the DRIVERiINFOi3A structure, if one is available and if the structure includes a list of dependent ?les. If, however, the DRIVERiINFOi3A structure is not available or if the available structure does not include a list of dependent ?les, the heuristic approach must adopted as described below. The

list of dependent ?les is printer model dependent. When a

hood. A separate icon, like icon 74, is displayed for each

printer is installed on a print server, a list of ?les 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.

40

The requisite con?guration information is then added to the local database of con?guration information (i.e., the

registry) to install the printer (step 46). In particular, the

AddPrinterDriver( ), AddPrintProcessor( ), AddMonitor( ),

45

and AddPrinter( ) functions are called to add the print driver,

55

60

cessful in retrieving complete information for the target printer. In such instances, the preferred embodiment of the

heuristic. The operating system 28 maintains a local data base of printers that it can install (step 50 in FIG. 5). This

printer using the edit box 80. The user then selects the ?nish 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 de?ned in the independent claims. We claim: [1. In a distributed system comprising a ?rst workstation and a remote network having a printer and a network server,

a method comprising the computer-implemented steps of:

present invention employs a heuristic to attempt to discern the appropriate information about the printer. FIG. 5 is a

?owchart illustrating the steps that are performed by this

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

Once the printer is successfully installed by completing

In some instances, the operating system 28 will be unsuc

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 50

and monitors are known in the art.

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.

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

print processor, monitor and printer con?guration informa tion 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

a network printer. In the example shown in FIG. 6B, the user has selected a network printer. The printer installation win dow then displays an edit box 68, as shown in FIG. 6C,

65

providing a database of printer con?guration information, including printer con?guration information for the printer in the remote network, in shared memory at the network server;

US RE39,801 E 8

7

identi?ed printer driver, installing the identi?ed printer

retrieving the printer con?guration information for the

driver and storing at least some of the retrieved printer con?guration information in the local storage are per formed transparently relative to the ?rst Workstation. printer con?guration information including informa tion that identi?es the printer; 5 8. The method of [claim 1] claim 4 Wherein the distributed system includes a second Workstation and Wherein the using the information that identi?es the printer to identify method further comprises the steps of: a printer driver to be installed at the ?rst Workstation and to determine Where the printer driver is stored in retrieving the printer con?guration information for the the distributed system; and printer from the shared memory of the netWork server in response to a request from the second Workstation, retrieving the printer driver from Where it is stored, said printer con?guration information including infor installing the identi?ed printer driver at the ?rst Work mation that identi?es the printer; station and storing at least some of the retrieved printer using the information that identi?es the printer to identify con?guration information in the local storage of the a printer driver to be installed at the second Workstation ?rst Workstation] and to determine Where the printer driver is stored in [2. The method of claim 1 Wherein the ?rst Workstation the distributed system; and runs an operating system and the operating system performs printer from the shared memory of the netWork server in response to a request from the ?rst Workstation, said

the step of retrieving the printer con?guration information]

retrieving the printer driver from Where it is stored, installing the identi?ed printer driver at the second

3. The method of [claim 2] claim 4 Wherein the operating system performs the step of installing the identi?ed printer driver.

4. [The method of claim 2,] In a distributed system comprising a?rst workstation and a remote network having

providing a database of printer configuration

printer con?guration 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 ?rst Workstation

a printer and a network server, a method comprising the

computer-implemented steps of'

Workstation and storing at least some of the retrieved

20

25

runs.

information, including printer con?guration informa

10. The method of claim 8 Wherein the second Worksta tion runs a different version of the operating system than the

tion for the printer in the remote network, in shared

?rst Workstation runs.

11. The method of [claim I] claim 4 Wherein the distrib

memory at the network server;

retrieving the printer configuration information for the

30

printer from the shared memory of the network server in response to a request from the first workstation, said

printer configuration information including informa tion that identifies the printer; using the information that identifies the printer to identify

35

remote netWork having a second printer and Wherein the

method further comprises the steps of: providing a database of printer con?guration information, including printer con?guration information for the sec ond printer in the second remote network, in shared memory at the second netWork server;

a printer driver to be installed at the first workstation and to determine where the printer driver is stored in

retrieving the printer con?guration information for the

the distributed system; and

retrieving the printer driver from where it is stored, installing the identified printer driver at the first work

uted system includes a second netWork server for a second

second printer from the shared memory of the second netWork server in response to a request from the ?rst 40

Workstation, said printer con?guration information including information that identi?es the second printer; using the information that identi?es the second printer to

station and storing at least some ofthe 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 ofretrieving 45 the printer configuration information, and

identify a printer driver to be installed at the ?rst 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

Wherein the netWork server runs a netWork operating

stored, installing the identi?ed printer driver at the ?rst

system that differs from the operating system run by the

Workstation and storing at least some of the retrieved

?rst Workstation.

5. The method of [claim 1]claim 4, further comprising the

printer con?guration information in the local storage of 50

the ?rst Workstation. 12. In a distributed system comprising a Workstation

step of running client code on the ?rst Workstation for interacting With the netWork server.

having local storage and a remote netWork having at least

6. The method of [claim 1]claim 4, further comprising the

one printer and a netWork server, a method comprising the

step of issuing a print request to print on the printer of the remote netWork from the ?rst Workstation and Wherein the

computer-implemented steps of: 55

steps of retrieving the printer con?guration information, retrieving the identi?ed printer driver, installing the identi ?ed printer driver and storing at least some of the retrieved printer con?guration information in the local storage are performed in response to the request.

providing a database of printer con?guration information and printer drivers at the netWork server for the printers

60

in the netWork; providing a database of printer con?guration information and printer drivers for installable printers of the Work station in the local storage of the Workstation;

7. The method of [claim 1]claim 4, further comprising the steps of:

retrieving available printer con?guration information for

running a program on the ?rst Workstation; and issuing a request to print on the printer of the remote netWork from the program, Wherein the steps of retriev

netWork server and providing the available printer con?guration information to the Workstation; and

ing the printer con?guration information, retrieving the

a selected one of the printers in the netWork from the 65

determining that the provided printer con?guration infor mation is incomplete and in response, accessing the

US RE39,801 E 9

10

database in the local storage to retrieve complete printer con?guration information and a printer driver for the selected printer.

the step of storing at least some of the retrieved con?gura tion information in the local storage comprises storing at least some of the retrieved con?guration information in the

registry. 13. The method of [claims] claim 12, further comprising the step of installing the selected printer using the retrieved 5 24. A tangible computer-readable storage medium for use complete printer con?guration information and printer

in a distributed system that has a ?rst Workstation With a local storage and a remote netWork having a printer and a

driver for the selected printer. 14. The method of claim 12 Wherein the step of retrieving

netWork server that stores a database of printer con?guration

available printer con?guration information comprises the

information, including printer con?guration information for

step of retrieving information that identi?es What type of

the printer in the remote netWork, said medium holding

printer the selected printer is.

instructions for:

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 identi?es the type of printer the selected printer is as an index to retrieve complete printer con?gu ration information and a printer driver for the selected

retrieving the printer con?guration information for the printer from the shared memory of the netWork server in response to a request from the ?rst Workstation, said

printer con?guration information including informa 15

printer from the locally maintained database. 16. A distributed system comprising:

a printer driver to be installed at the ?rst Workstation, wherein the printer driver includes at least one depen

a netWork having at least one printer for executing jobs; a netWork server for regulating access to the netWork and 20

having a database of printer con?guration 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:

25

a retrieval mechanism for retrieving the printer con ?guration information from the netWork server in response to the request to execute the print job on the

printer, said printer con?guration information including information that identi?es the printer; and an installer for using the information that identi?es the printer to identify and retrieve a printer driver for the printer, wherein the printer driver includes at least one dependent ?le, for installing the printer driver at

dent ?le, and to determine Where the printer driver is stored in the distributed system; and retrieving the printer driver and the at least one dependent ?le from Where it is stored, installing the identi?ed printer driver at the ?rst Workstation and storing at least some of the retrieved printer con?guration information in the local storage of the ?rst 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 30

printer con?guration information. 26. The computer-readable storage medium of claim 25

Wherein the operating system also performs the installing of the identi?ed printer driver at the ?rst Workstation. 27. In a distributed system comprising a ?rst workstation 35

the Workstation and for storing at least some of the

retrieved printer con?guration information in the local storage.

and a remote network having a printer and a network server,

a method comprising the computer-implemented steps of' providing a database of printer con?guration

information, including printer con?guration informa tion for the printer in the remote network, in shared

17. The distributed system of claim 16 Wherein the

netWork includes multiple printers.

tion that identi?es the printer; using the information that identi?es the printer to identify

40

memory at the network server;

18. The distributed system of claim 16, Wherein the

retrieving the printer con?guration information for the

netWork server runs a netWork operating system that differs from the operating system that is run on the Workstation.

printerfrom the shared memory ofthe network server in response to a request from the ?rst workstation, said

printer con?guration information including informa

19. The distributed system of claim 16 Wherein the

operating system further comprises client code for enabling

45

the Workstation to act as a client of the netWork server.

a printer driver to be installed at the ?rst workstation and to determined where the printer driver is stored in

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

the distributed system; and 50

includes an additional database of printer con?guration information for the printer of the second netWork. 21. The distributed system of claim 20 Wherein the

retrieving the printer driver from where it is stored, installing the identi?ed printer driver at the ?rst work station and storing at least some ofthe retrieved printer

con?guration information in the local storage of the

?rst workstation,

retrieval mechanism of the Workstation includes a means for

retrieving the printer con?guration information for the

tion that identi?es the printer; using the information that identi?es the printer to identi?)

55

wherein the printer driver includes at least one dependent

printer in the second netWork from the second netWork

28. The method ofclaim 27 wherein the?rst workstation runs an operating system and the operating system performs

server in response to a request to execute a print job on the

printer of the second netWork and the installer of the

the step of retrieving the printer con?guration information.

Workstation includes a means for using the information that

identi?es the printer to identify and retrieve a printer driver for the printer for installing the printer driver at the Work station and for storing at least some of the retrieved printer con?guration 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 ?rst Workstation includes a registry of con?guration information and Wherein

60

29. The method ofclaim 28 wherein the operating system

performs the step of installing the identi?ed printer driver 30. The method ofclaim 28, wherein the network server runs a network operating system that dijfers from the oper

ating system run by the ?rst workstation. 65

3]. In a distributed system comprising a ?rst workstation and a remote network having a printer and a network server,

a method comprising the computer-implemented steps of'

US RE39,801 E 11

12

providing a database of printer configuration

36. In a distributed system comprising a first workstation

information, including printer con?guration informa

and a remote network having a printer and a network server,

tion for the printer in the remote network, in shared

a method comprising the computer-implemented steps of' providing a database of printer configuration

memory at the network server;

retrieving the printer configuration information for the

information, including printer con?guration informa

printer from the shared memory of the network server in response to a request from the first workstation, said

tion for the printer in the remote network, in shared memory at the network server;

printer configuration information including informa

retrieving the printer configuration information for the

tion that identifies the printer; using the information that identifies the printer to identify

printerfrom the shared memory ofthe network server in response to a request from the first workstation, said

a printer driver to be installed at the first workstation, wherein the printer driver includes at least one depen dentfile, and to determine where the printer driver and the at least one dependent file are each stored in the distributed system; and

printer configuration information including informa tion that identifies the printer; using the information that identifies the printer to identi?) a printer driver to be installed at the first workstation, wherein the printer driver includes at least one depen dentfile, 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 depen

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 con?guration infor mation is stored in the local storage of the first work

dent file from where each is stored, and sending the

station.

32. The method ofclaim 3], wherein the?rst workstation

printer driver and the at least one dependent file to the first workstation for installation, wherein at least some

runs an operating system and the operating system retrieves

the printer configuration information.

of the retrieved printer configuration information is stored in the local storage of the first workstation. 37. The method ofclaim 36 wherein the?rst workstation runs an operating system and the operating system performs

33. The method ofclaim 32, wherein the network server runs a network operating system that dijfers from the oper

ating 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 ofclaim 3], 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

the step of retrieving the printer configuration information. 30

and the at least one dependent file. 39. The method ofclaim 37, wherein the network server runs a network operating system that dijfers from the oper

steps of retrieving the printer configuration information and transmitting the printer driver and the at least one depen dent file to the workstation for installation are performed in response to the request.

38. The method ofclaim 37 wherein the operating system

performs the step of installing the identified printer driver

35

ating system run by the first workstation.

Automatic installation of printers in a distributed environment

Apr 30, 2003 - a database that is maintained at a network server for the network that ... you like to install? If your printer ls directly attached to your computer.

1MB Sizes 0 Downloads 157 Views

Recommend Documents

Automatic installation of printers in a distributed environment
Apr 30, 2003 - 18 is a Microsoft network server that runs a network operating system from ... of graphical device interface (GDI) functions that help to con?gure and .... that adds the printer driver, print processor monitor and printer information .

Distributed Application Runtime Environment (DARE): A ... - GitHub
tive of their potential of supporting existing and novel scientific computing practices and ... in a consistent way as the total number of cycles available year-to-year varies ... Table 1 Life-Science usage of the TG/XSEDE over the recent quarters. .

Automatic Reconfiguration of Distributed Storage - Research at Google
Email: [email protected]. Alexander ... Email: 1shralex, [email protected] ... trators have to determine a good configuration by trial and error.

man-155\automatic-water-level-controller-installation-manual.pdf ...
man-155\automatic-water-level-controller-installation-manual.pdf. man-155\automatic-water-level-controller-installation-manual.pdf. Open. Extract. Open with.

A Study of Automatic Speech Recognition in Noisy ...
each class session, teachers wore a Samson AirLine 77 'True Diversity' UHF wireless headset unidirectional microphone that recorded their speech, with the headset .... Google because it has an easier to use application programming interface (API –

Dynamic Estimation of Intermediate Fragment Size in a Distributed ...
database query optimization process. In this process sub-queries are allocated to different nodes in a computer network. Query is divided into sub queries and then sub query allocation is performed optimally. Cost depends on the size of intermediate

Dynamic Estimation of Intermediate Fragment Size in a Distributed ...
Student, Department of Computer Science & Engineering, Guru Nanak Dev University Amritsar, Punjab, India. Dr. Rajinder Singh Virk. Department of Computer ...

Liner installation in pipes
Mar 4, 2005 - 5/1987 Long, Jr. . 405/1842 ..... 5,597,353 and 5,942,183, Long, Jr., US. Pat. .... A throat portion 28 is a small distance, such as 10 to 30 inches,.

HP's Latest 3D Printers in HP Labs.pdf
on more advanced print test facilities that are the forerunners of future HP. 3D printers – and to help other HP Labs groups conduct their research. Researchers designing new software and storage solutions for end-to-end. design/print/manufacturing

Distributed Run-Time Environment for Data Parallel ...
Dec 7, 1995 - Distributed Run-Time Environment for Data Parallel Programming ..... "Execution time support for adaptive scientific algorithms on distributed.

The Role of Multinational Production in a Risky Environment - LSE
Feb 23, 2010 - Columbia Business School. February 23 ... opportunities for risk diversification available to consumers. The crucial ... technology flow, their role in international risk sharing goes beyond the mere substitution for a portfolio of ...

HP's Latest 3D Printers in HP Labs.pdf
Researchers designing new software and storage solutions for end-to-end. design/print/manufacturing processes, for example, can test their ideas in. the near-commercial conditions of the 3D facility. And one off prototypes. Page 3 of 4. HP's Latest 3

A distributed system architecture for a distributed ...
Advances in communications technology, development of powerful desktop workstations, and increased user demands for sophisticated applications are rapidly changing computing from a traditional centralized model to a distributed one. The tools and ser

The Role of Multinational Production in a Risky Environment - LSE
Feb 23, 2010 - Columbia Business School ... With a freely-tradable final consumption good, consumers attain perfect ...... mark, Spain, Finland, France, United Kingdom, Germany, Greece, Italy, ..... “Firms, Contracts, and Trade Structure”. .....

Nix in a Cluster Environment
Developer commits new version. 2. Packages are built in ... developers an environment just like production. ... result-marathon. "$(cat secrets/marathon)/v2/apps" ...

Distributed Electronic Rights in JavaScript
any powerful references by default; any references it has implicit access to, such as ..... approach solves the open access problem by restricting access to members and regu- ..... Journal of Applied Corporate Finance 8(2), 4–18 (1995). 15.

Office Printers Buyers Guide.pdf
Some are compatible with mobile printing, while others are not. You'll also find wide. variations in cost. In this buyer's guide, we'll break down your options to ...

A distributed implementation using apache spark of a genetic ...
Oct 10, 2017 - This paper presents a distributed implementation for a genetic algorithm, using Apache Spark, a fast and popular data processing framework. Our approach is rather general, but in this paper the parallelized genetic algorithm is used fo

Automatic Human Action Recognition in a Scene from Visual Inputs
problem with Mind's Eye, a program aimed at developing a visual intelligence capability for unmanned systems. DARPA has ... Figure 1. System architectural design. 2.2 Visual .... The MCC (Eq. 2) is a balanced measure of correlation which can be used

A Distributed Speech Recognition System in Multi-user ... - USC/Sail
A typical distributed speech recognition (DSR) system is a configuration ... be reduced. In this context, there have been a number of ... block diagram in Fig. 1.