US6842766B2 - Client side caching of printer configuration - Google Patents

Client side caching of printer configuration Download PDF

Info

Publication number
US6842766B2
US6842766B2 US09/458,369 US45836999A US6842766B2 US 6842766 B2 US6842766 B2 US 6842766B2 US 45836999 A US45836999 A US 45836999A US 6842766 B2 US6842766 B2 US 6842766B2
Authority
US
United States
Prior art keywords
server
client
peripheral device
configuration information
printer
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
US09/458,369
Other versions
US20030115256A1 (en
Inventor
Tad Dennis Brockway
Madan Mohan R. Appiah
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 US09/458,369 priority Critical patent/US6842766B2/en
Assigned to MICROSOFT CORPORATION reassignment MICROSOFT CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: APPIAH, MADAN MOHAN R., BROCKWAY, TAD DENNIS
Publication of US20030115256A1 publication Critical patent/US20030115256A1/en
Priority to US10/972,641 priority patent/US20050060367A1/en
Application granted granted Critical
Publication of US6842766B2 publication Critical patent/US6842766B2/en
Assigned to MICROSOFT TECHNOLOGY LICENSING, LLC reassignment MICROSOFT TECHNOLOGY LICENSING, LLC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: MICROSOFT CORPORATION
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/289Intermediate processing functionally located close to the data consumer application, e.g. in same machine, in same home or in same sub-network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • H04L67/5682Policies or rules for updating, deleting or replacing the stored data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Definitions

  • This invention relates to server-client systems and, in particular, to a server-client system in which system configuration information for a server is stored on a client.
  • a server computer In a typical server-client system, a server computer is connected to several client computers or terminals via a network. In such server-client systems, applications are executed at the server rather than at the client.
  • the server transmits display information to the client for display at the client, and user inputs (e.g., via keyboard or mouse) at the client are transmitted to the server for processing by an application(s) executing at the server.
  • the “client” may be an entire client computer, or alternatively an application executing at the client computer.
  • a server in such a system typically has an operating system that can run several client sessions concurrently.
  • Each client user has access to various resources of the server, including the processor, data storage, application programs, etc.
  • Software applications that are resident on the server are available to each client for independent execution by the client.
  • Each session is independent from the other sessions and, therefore, one client cannot access information relating to another client.
  • the server provides a logically independent machine for each client connected to the server.
  • Client users frequently use peripheral devices at the client machines. For example, a user may wish to attach a printer to the user's client computer (a “local” printer) in order to print data generated by an application that is running on the server computer. To do this, the user must manually install the local printer and redirect the printer queue created by the server to the I/O port of the client computer to which the printer is connected. Such manual installation of peripheral devices is undesirable because it requires significant time and effort on the part of the user.
  • not all client peripheral devices can be automatically detected and installed. For example, if a printer is an older model that was manufactured before automatic detection technology was developed, it will not generate an identifier signal that is recognizable by the client or the server. Or, if the attached printer is a newer model but the client runs an older operating system that does not recognize the newer model printer or that does not have automatic peripheral detection capability, such as Windows® 3.1, it is necessary for the user to manually install the printer on the server.
  • a major drawback of this situation is that the printer must be installed each time the client connects to the server. For example, if a user installs a client printer on a server and subsequently disconnects the client from the server, the server configuration information relating to the printer is deleted. When the user reconnects to the server, the user must manually install the same printer again.
  • a server-client environment provides for client-side caching of information related to a peripheral device so that the client may automatically restore the information to a server upon connection or reconnection with the server.
  • Peripheral devices that may be connected to the client include printers, scanners, card readers, zip drives, etc.
  • printers For discussion purposes, reference herein will be made to a printer. After the printer is initially configured on the server, subsequent installations are automatic. The client user is thus relieved from having to manually install the printer each time the user connects to a server.
  • install has different meanings in the art.
  • install refers to physically connecting a peripheral device to a computer.
  • install refers to installing the software related to a connected peripheral device. If the peripheral device is a printer, a printer driver is installed and a printer queue is created.
  • install as used herein means installing software that is related to a connected peripheral device. The peripheral device is physically connected to the client, but the software related to the peripheral device is installed on the server.
  • peripheral devices such as a printer
  • a client user must manually install a printer driver to render the printer operational.
  • the user interaction required to install and configure the printer on the server are performed at the client, but the printer is installed on the server.
  • the printer After the printer is manually installed on the server from the client, the portion of the server configuration that relates to the printer is sent to the client, where it is stored. In addition, printer parameter settings are sent to the server where they are returned to the client for storing with the server configuration information. When the server/client session in which the printer has been installed is terminated, the printer configuration on the server is deleted.
  • Subsequent installations are automatic, regardless of whether the client is connected to the same server or to a different server, or whether the initial installation was manual or automatic.
  • the client sends the cached server configuration and printer settings data to the server.
  • the server utilizes this data to restore the printer configuration and printer settings to the state in which they were in prior to the termination of the session.
  • the process is performed automatically, requiring little, if any, user interaction. Therefore, after the initial installation, the client user is provided with automatic printer installation on the client for that particular printer, and the previous printer settings are automatically restored.
  • the installation and restoration are automatic even if the client (and printer) connects to a different server.
  • FIG. 1 is a diagrammatic illustration of a server/client system.
  • FIG. 2 is a block diagram of a server/client system.
  • FIG. 3 is a flow diagram of a method for client-side caching of server configuration information and automatic installation of a peripheral device.
  • FIG. 4 is a flow diagram of a method for client-side caching of printer parameter settings and updating same.
  • FIG. 1 shows a server/client computer system 30 having a server 32 , a first client 34 and a second client 36 interconnected via a network 38 .
  • the server 32 and the clients 34 , 36 have modems or network cards, which facilitate access (direct or otherwise) to the network 38 so that the server 32 and the clients 34 , 36 can exchange information over the network 38 .
  • the clients 34 , 36 each have a desktop 40 , 42 interface displayed.
  • the server 32 and the clients 34 , 36 are conventional computers.
  • server/client computer system 30 depicted in FIG. 1 has a first client 34 and a second client 36 , there may be one to any number of clients connected to the server 32 .
  • the number of clients that may be connected to a server is limited only by the architecture of a particular server.
  • the server 32 is configured to provide a logically independent machine for each client 34 , 36 connected to the network 38 . That is, the server 32 establishes a session for each client 34 , 36 , provides the desktop 40 , 42 for each client 34 , 36 , and makes server resources available to each client 34 , 36 . Such resources include, but are not limited to, allocations of processor time, memory, data storage, video processing, application programs, etc.
  • a user of either of the clients 34 , 36 interacts with the desktop 40 , 42 on the client 34 , 36 to run software applications that reside on the server 32 . While the user provides input to and receives output from the client 34 , 36 , most processing is performed at the server 32 .
  • the network 38 provides a communications link between the server 32 and the clients 34 , 36 through which data is transmitted.
  • the network 38 may be a local area network (LAN), a wide area network (WAN), the Internet, or the like, provided that it can accommodate server/client functionality.
  • FIG. 2 shows a server/client system 50 having a server 52 and a client 54 .
  • the server 52 includes a processor 56 and memory 58 .
  • the server 52 also has a network port 60 , which facilitates access to the network 38 .
  • the network port 60 may be implemented as a modem, network card, or other device that interfaces the server 52 to the network 38 .
  • the server 52 can be implemented as a common personal computer or other type of computer, such as a laptop computer, etc.
  • the server 52 runs an operating system 62 which is stored in memory 58 and executes on the processor 56 .
  • the operating system 62 is a multitasking operating system such as a Windows® brand operating system from Microsoft Corporation (e.g., Windows® 98, Windows® 95, Windows® NT, or other derivative of Windows®). However, other operating systems may be used.
  • the server 52 has a printing subsystem 64 implemented in the operating system 62 stored in memory 58 .
  • the printing subsystem 62 is used to direct all operations involving printers and printing, including installing printers, creating and managing printer queues, removing printers, uninstalling printers, etc.
  • the printing subsystem includes a configuration tracking unit 66 that is configured to monitor server configuration with regard to client peripheral devices that are installed on the server 52 . This aspect of the printing subsystem 64 will be discussed in greater detail below.
  • the server 52 is shown having a printer driver 70 and a printer queue 72 installed and resident within the memory 58 . It is noted, however, that the server 52 will only include the printer driver 70 and the printer queue 72 when a printer has been connected to the system 50 and installed on the server 52 .
  • the printer driver 70 is a printer-specific software program that provides an interface between a printer and the server 52 and allows the server 52 to provide print functions via a printer.
  • the printer queue 72 is created.
  • the printer queue 72 accepts print jobs from the server 52 and queues them for printing.
  • the peripheral device is a device other than a printer, the printer driver will be a device driver for that peripheral device, if a device driver is required by the peripheral device.
  • the server 52 may also include a redirected printer port 74 .
  • the redirected printer port 74 is a virtual port created by the server 52 in the event that the server is unable to identify and install a compatible driver for a client-side printer.
  • the redirected printer port 74 is exposed by the server and can be attached to a printer queue using standard printer queue creation techniques.
  • printer driver 70 and one printer queue 72 are shown in the memory 58 , there may be more than one printer driver or more than one printer queue 72 stored in the memory 58 —corresponding to different client sessions. Also, the printer driver 70 and the printer queue 72 shown are accessible only for the session established for the client 54 .
  • the memory 58 may contain other printer drivers and printer queues that are installed for other sessions executing on the server 52 . Printer drivers and printer queues installed for other sessions on the server 52 are not available for access by the client 54 .
  • the client 54 includes memory 76 , a processor 78 , and an I/O port 80 having a printer 82 connected thereto. Although the client 54 is shown as having only one I/O port 80 , it is noted that the client 54 may include more than one I/O port.
  • the printer 82 has multiple printer settings 84 , such as paper size, paper orientation, printing quality, etc.
  • Printer settings 84 ′ is a copy of the printer settings 84 that are stored in the memory 76 of the client 54 via a method that will be discussed in detail below.
  • the memory 76 also stores server configuration information 86 .
  • the server configuration information 86 is data monitored by the configuration tracking unit 66 of server 52 .
  • the configuration tracking unit 66 of server 52 is configured to monitor server configuration information relating to client peripheral devices that are installed on the server 52 .
  • such configuration information includes, but is not limited to, data associated with the printer driver 70 , the printer queue 72 , the redirected printer port 74 , the printer settings 84 , the I/O port 80 to which the printer 82 is connected, etc.
  • the server sends this configuration information 86 to the client 54 , where it is stored in memory 76 .
  • the configuration information 86 related to the installation of the printer 82 is therefore readily available in the event that the configuration information 86 is required to be restored on the server 52 . If the configuration information 86 subsequently needs to be restored on the server 52 , the configuration information 86 is simply transmitted from the client 54 to the server 52 .
  • the configuration tracking unit 66 is configured to detect new device installations, and can also detect when a peripheral device is removed from a system, and when a system user renames an I/O queue associated with a device. For example, if the printer 82 is removed from the system, or if the client user wishes to manually delete the printer queue 72 from the system 50 , the client 54 sends notification to the server 52 to remove the printer 82 . In response, the server removes all data structures related to the printer 82 (e.g., printer driver 70 and printer queue 72 ) from the server. The server will then send updated server configuration information 86 to the client 54 , where it is stored in memory 76 . When the updated information 86 is stored in the memory 76 of the client 54 , it simply overwrites the old information.
  • the server will send updated server configuration information 86 to the client 54 , where it is stored in memory 76 .
  • the client 54 also has a network port 88 to facilitate access to the network 38 .
  • the network port 88 may be implemented as a modem, network card, or other device which interfaces the client 54 to the network 38 .
  • FIG. 3 is a flow diagram depicting a method for client-side caching of server configuration information and printer settings, and for automatically installing a peripheral device upon subsequent connection to a server. The method is described with continuing reference to FIGS. 1 and 2 .
  • the client 54 sends a request to the server 52 to install the printer 82 on the server 52 .
  • the printer settings 84 are also sent to the server 52 .
  • the server 52 receives the install request from the client 54 , the server performs a manual installation of the printer 82 on the server 52 at step 202 .
  • Manual installation refers to a client user being required to identify the printer driver 70 associated with the printer 82 as well as the I/O port 80 to which the printer 82 is connected.
  • the server prompts the user for this information through the I/O interface of client 54 .
  • the configuration tracking unit 66 of the printing subsystem 64 sends server configuration information 86 to the client (step 204 ).
  • the client 54 stores the server configuration information 86 and the printer settings 84 in the memory 76 .
  • the client 54 is disconnected from the server 52 (step 208 ). Whenever the client 54 is disconnected from the server 52 , all data structures associated with peripheral devices attached to the client 52 are deleted from the server 52 .
  • the client 54 is reconnected to the server 52 . It is noted that, although the client 54 in this example is reconnected to the server 52 , the client 54 may be connected to a different server (not shown) in another server/client system (not shown). The methodology is the same whether the client 54 is connected to the server 52 or to a different server (not shown). This is another advantage to the present invention in that, once the printer 82 is manually installed on the server 52 , subsequent installations—whether they be on the server 52 or on another server (not shown)—are automatic.
  • the client 54 Upon reconnection with the server 52 , the client 54 transmits the server configuration information 86 that was stored during the previous connection, to the server 52 .
  • the printer settings 84 are also sent to the server 52 .
  • the server 52 utilizes the server configuration information 86 received from the client 54 to automatically install the printer 82 on the server 52 . This automatic installation is performed with minimal user interaction.
  • the configuration tracking unit 66 of the server 52 sends the server configuration information 86 and the printer settings 84 ′ to the client 54 (step 214 ).
  • the client 52 Upon receipt of this data, at step 216 , the client 52 stores the server configuration information 86 and the printer settings 84 in memory 76 .
  • FIG. 4 is a flow diagram depicting a method for client-side caching of server configuration information and printer settings, and for automatically updating peripheral device settings on the server. The method is described with continuing reference to FIG. 1 and FIG. 2 . It is noted that the method of FIG. 4 is performed contemporaneously with the method described in FIG. 3 . However, for discussion purposes, the methods are described separately.
  • the client 54 sends a request to the server 52 to install the printer 82 on the server 52 .
  • the printer settings 84 are also sent to the server 52 .
  • the server 52 receives the install request from the client 54 , the server performs a manual installation of the printer 82 on the server 52 at step 302 .
  • Manual installation refers to a client user being required to identify the printer driver 70 associated with the printer 82 as well as the I/O port 80 to which the printer 82 is connected.
  • the configuration tracking unit 66 of the printing subsystem 64 sends server configuration information 86 to the client (step 304 ).
  • the client 54 stores the server configuration information 86 and the printer settings 84 ′ in the memory 76 .
  • the system 50 detects if the user makes any changes to the printer settings 84 . If so, the changed printer settings 84 are sent to the server 52 at step 310 .
  • the server 52 receives the updated printer settings 84 .
  • the updated printer settings 84 are sent to the client 54 at step 316 .
  • the client 54 then stores the updated printer settings 84 at step 316 .
  • the printer settings 84 ′ are sent from the client 54 to the server 52 when the client 54 is reconnected to the server 52 .
  • the desired printer settings 84 are always restored when the client 54 is reconnected to the server 52 .
  • the system and method as described herein provide a user with a way to automatically install peripheral devices on a server after they have been redirected on the server one time from a client.
  • the user's device settings preferences are preserved from session to session, thereby saving the user from having to manually update these settings whenever a server-client connection is established. Once a manual installation has been performed, subsequent installations are automatic, whether the client is reconnected to the same server, or to a different server.

Abstract

A server-client system is configured to store, on a client, server configuration information relating to a peripheral device connected at the client and parameter settings for the peripheral device. The information is updated as changes occur. After the client has been disconnected from the system and the peripheral device uninstalled, the peripheral device is automatically installed and the parameter settings restored without requiring significant user interaction when the client reconnects. The automatic installation and restoring is performed even if the client is connected to a different server than it was originally.

Description

TECHNICAL FIELD
This invention relates to server-client systems and, in particular, to a server-client system in which system configuration information for a server is stored on a client.
BACKGROUND
In a typical server-client system, a server computer is connected to several client computers or terminals via a network. In such server-client systems, applications are executed at the server rather than at the client. The server transmits display information to the client for display at the client, and user inputs (e.g., via keyboard or mouse) at the client are transmitted to the server for processing by an application(s) executing at the server. The “client” may be an entire client computer, or alternatively an application executing at the client computer.
A server in such a system typically has an operating system that can run several client sessions concurrently. Each client user has access to various resources of the server, including the processor, data storage, application programs, etc. Software applications that are resident on the server are available to each client for independent execution by the client. Each session is independent from the other sessions and, therefore, one client cannot access information relating to another client. In this manner, the server provides a logically independent machine for each client connected to the server.
Client users frequently use peripheral devices at the client machines. For example, a user may wish to attach a printer to the user's client computer (a “local” printer) in order to print data generated by an application that is running on the server computer. To do this, the user must manually install the local printer and redirect the printer queue created by the server to the I/O port of the client computer to which the printer is connected. Such manual installation of peripheral devices is undesirable because it requires significant time and effort on the part of the user.
A co-pending application U.S. patent application Ser. No. 09/458,365, filed Dec. 9, 1999, now U.S. Pat. No. 6,789,111 entitled “Automatic Detection And Installation Of Client Peripheral Devices By A Server”, to Tad Brockway, Madan Appiah, Adam Overton, and Ritu Bahl, filed concurrently herewith, describes a system in which peripheral devices attached to the client are automatically detected and corresponding device drivers installed at the server.
However, not all client peripheral devices can be automatically detected and installed. For example, if a printer is an older model that was manufactured before automatic detection technology was developed, it will not generate an identifier signal that is recognizable by the client or the server. Or, if the attached printer is a newer model but the client runs an older operating system that does not recognize the newer model printer or that does not have automatic peripheral detection capability, such as Windows® 3.1, it is necessary for the user to manually install the printer on the server.
A major drawback of this situation is that the printer must be installed each time the client connects to the server. For example, if a user installs a client printer on a server and subsequently disconnects the client from the server, the server configuration information relating to the printer is deleted. When the user reconnects to the server, the user must manually install the same printer again.
Adding to this inconvenience is the fact that if the user desires to operate the printer utilizing printer parameter settings that are different from the default settings, the user must also change the parameter settings each time the user connects to the server. For instance, if the default paper tray is the letter-size tray but the user always uses the legal-size paper tray, the user will have to set the paper tray parameter every time the user connects to a server and installs the printer.
The technology described below addresses these disadvantages, as it provides for client-side caching of server configuration information as well as peripheral device parameter settings. When the client is reconnected to a server after having been disconnected from a server session, the cached information is automatically transmitted to the server, where it is restored. The client user is thus relieved of the burden of having to manually install the printer or reset its parameter settings every time the client is connected to a server.
SUMMARY
A server-client environment provides for client-side caching of information related to a peripheral device so that the client may automatically restore the information to a server upon connection or reconnection with the server. Peripheral devices that may be connected to the client include printers, scanners, card readers, zip drives, etc. For discussion purposes, reference herein will be made to a printer. After the printer is initially configured on the server, subsequent installations are automatic. The client user is thus relieved from having to manually install the printer each time the user connects to a server.
It is noted that the term “install” has different meanings in the art. In a hardware context, “install” refers to physically connecting a peripheral device to a computer. In a software context, “install” refers to installing the software related to a connected peripheral device. If the peripheral device is a printer, a printer driver is installed and a printer queue is created. Unless otherwise noted, the term “install” as used herein means installing software that is related to a connected peripheral device. The peripheral device is physically connected to the client, but the software related to the peripheral device is installed on the server.
In a server/client environment, there may be no means for automatic detection and installation of peripheral devices, such as a printer, that are attached at the client. If so, then a client user must manually install a printer driver to render the printer operational. The user interaction required to install and configure the printer on the server are performed at the client, but the printer is installed on the server.
After the printer is manually installed on the server from the client, the portion of the server configuration that relates to the printer is sent to the client, where it is stored. In addition, printer parameter settings are sent to the server where they are returned to the client for storing with the server configuration information. When the server/client session in which the printer has been installed is terminated, the printer configuration on the server is deleted.
It is also noted that the technology as described herein may be implemented in a server/client system in which client peripheral devices are automatically detected and installed according to the method described in the above-referenced co-pending application. Utilizing the present technology in such a system provides the advantages described herein.
Subsequent installations are automatic, regardless of whether the client is connected to the same server or to a different server, or whether the initial installation was manual or automatic. When the connection is established, the client sends the cached server configuration and printer settings data to the server. The server utilizes this data to restore the printer configuration and printer settings to the state in which they were in prior to the termination of the session. The process is performed automatically, requiring little, if any, user interaction. Therefore, after the initial installation, the client user is provided with automatic printer installation on the client for that particular printer, and the previous printer settings are automatically restored. In addition, the installation and restoration are automatic even if the client (and printer) connects to a different server.
BRIEF DESCRIPTION OF THE DRAWINGS
The present invention is illustrated by way of example and not limitation in the figures of the accompanying drawings. The same numbers are used throughout the figures to reference like components and/or features.
FIG. 1 is a diagrammatic illustration of a server/client system.
FIG. 2 is a block diagram of a server/client system.
FIG. 3 is a flow diagram of a method for client-side caching of server configuration information and automatic installation of a peripheral device.
FIG. 4 is a flow diagram of a method for client-side caching of printer parameter settings and updating same.
DETAILED DESCRIPTION
FIG. 1 shows a server/client computer system 30 having a server 32, a first client 34 and a second client 36 interconnected via a network 38. The server 32 and the clients 34, 36 have modems or network cards, which facilitate access (direct or otherwise) to the network 38 so that the server 32 and the clients 34, 36 can exchange information over the network 38. The clients 34, 36 each have a desktop 40, 42 interface displayed. In this embodiment, the server 32 and the clients 34, 36 are conventional computers.
It is noted that, although the server/client computer system 30 depicted in FIG. 1 has a first client 34 and a second client 36, there may be one to any number of clients connected to the server 32. The number of clients that may be connected to a server is limited only by the architecture of a particular server.
The server 32 is configured to provide a logically independent machine for each client 34, 36 connected to the network 38. That is, the server 32 establishes a session for each client 34, 36, provides the desktop 40, 42 for each client 34, 36, and makes server resources available to each client 34, 36. Such resources include, but are not limited to, allocations of processor time, memory, data storage, video processing, application programs, etc. A user of either of the clients 34, 36 interacts with the desktop 40, 42 on the client 34, 36 to run software applications that reside on the server 32. While the user provides input to and receives output from the client 34, 36, most processing is performed at the server 32.
The network 38 provides a communications link between the server 32 and the clients 34, 36 through which data is transmitted. The network 38 may be a local area network (LAN), a wide area network (WAN), the Internet, or the like, provided that it can accommodate server/client functionality.
FIG. 2 shows a server/client system 50 having a server 52 and a client 54. The server 52 includes a processor 56 and memory 58. The server 52 also has a network port 60, which facilitates access to the network 38. The network port 60 may be implemented as a modem, network card, or other device that interfaces the server 52 to the network 38.
The server 52 can be implemented as a common personal computer or other type of computer, such as a laptop computer, etc. The server 52 runs an operating system 62 which is stored in memory 58 and executes on the processor 56. The operating system 62 is a multitasking operating system such as a Windows® brand operating system from Microsoft Corporation (e.g., Windows® 98, Windows® 95, Windows® NT, or other derivative of Windows®). However, other operating systems may be used.
The server 52 has a printing subsystem 64 implemented in the operating system 62 stored in memory 58. The printing subsystem 62 is used to direct all operations involving printers and printing, including installing printers, creating and managing printer queues, removing printers, uninstalling printers, etc. The printing subsystem includes a configuration tracking unit 66 that is configured to monitor server configuration with regard to client peripheral devices that are installed on the server 52. This aspect of the printing subsystem 64 will be discussed in greater detail below.
The server 52 is shown having a printer driver 70 and a printer queue 72 installed and resident within the memory 58. It is noted, however, that the server 52 will only include the printer driver 70 and the printer queue 72 when a printer has been connected to the system 50 and installed on the server 52. The printer driver 70 is a printer-specific software program that provides an interface between a printer and the server 52 and allows the server 52 to provide print functions via a printer. When the printer driver 70 is installed on the server 52, the printer queue 72 is created. The printer queue 72 accepts print jobs from the server 52 and queues them for printing. It is noted that if the peripheral device is a device other than a printer, the printer driver will be a device driver for that peripheral device, if a device driver is required by the peripheral device.
The server 52 may also include a redirected printer port 74. The redirected printer port 74 is a virtual port created by the server 52 in the event that the server is unable to identify and install a compatible driver for a client-side printer. The redirected printer port 74 is exposed by the server and can be attached to a printer queue using standard printer queue creation techniques.
It is also noted that, although one printer driver 70 and one printer queue 72 are shown in the memory 58, there may be more than one printer driver or more than one printer queue 72 stored in the memory 58—corresponding to different client sessions. Also, the printer driver 70 and the printer queue 72 shown are accessible only for the session established for the client 54. The memory 58 may contain other printer drivers and printer queues that are installed for other sessions executing on the server 52. Printer drivers and printer queues installed for other sessions on the server 52 are not available for access by the client 54.
The client 54 includes memory 76, a processor 78, and an I/O port 80 having a printer 82 connected thereto. Although the client 54 is shown as having only one I/O port 80, it is noted that the client 54 may include more than one I/O port. The printer 82 has multiple printer settings 84, such as paper size, paper orientation, printing quality, etc. Printer settings 84′ is a copy of the printer settings 84 that are stored in the memory 76 of the client 54 via a method that will be discussed in detail below. The memory 76 also stores server configuration information 86. The server configuration information 86 is data monitored by the configuration tracking unit 66 of server 52.
As previously noted, the configuration tracking unit 66 of server 52 is configured to monitor server configuration information relating to client peripheral devices that are installed on the server 52. In the illustrated example of a printer, such configuration information includes, but is not limited to, data associated with the printer driver 70, the printer queue 72, the redirected printer port 74, the printer settings 84, the I/O port 80 to which the printer 82 is connected, etc.
The server sends this configuration information 86 to the client 54, where it is stored in memory 76. The configuration information 86 related to the installation of the printer 82 is therefore readily available in the event that the configuration information 86 is required to be restored on the server 52. If the configuration information 86 subsequently needs to be restored on the server 52, the configuration information 86 is simply transmitted from the client 54 to the server 52.
The configuration tracking unit 66 is configured to detect new device installations, and can also detect when a peripheral device is removed from a system, and when a system user renames an I/O queue associated with a device. For example, if the printer 82 is removed from the system, or if the client user wishes to manually delete the printer queue 72 from the system 50, the client 54 sends notification to the server 52 to remove the printer 82. In response, the server removes all data structures related to the printer 82 (e.g., printer driver 70 and printer queue 72) from the server. The server will then send updated server configuration information 86 to the client 54, where it is stored in memory 76. When the updated information 86 is stored in the memory 76 of the client 54, it simply overwrites the old information.
Likewise, if a user renames the printer queue 72, the server will send updated server configuration information 86 to the client 54, where it is stored in memory 76.
Similar to the server 52, the client 54 also has a network port 88 to facilitate access to the network 38. The network port 88 may be implemented as a modem, network card, or other device which interfaces the client 54 to the network 38.
FIG. 3 is a flow diagram depicting a method for client-side caching of server configuration information and printer settings, and for automatically installing a peripheral device upon subsequent connection to a server. The method is described with continuing reference to FIGS. 1 and 2.
At step 200 in FIG. 3, the client 54 sends a request to the server 52 to install the printer 82 on the server 52. At this time, or immediately thereafter, the printer settings 84 are also sent to the server 52. When the server 52 receives the install request from the client 54, the server performs a manual installation of the printer 82 on the server 52 at step 202. Manual installation refers to a client user being required to identify the printer driver 70 associated with the printer 82 as well as the I/O port 80 to which the printer 82 is connected. The server prompts the user for this information through the I/O interface of client 54.
When the installation is complete, the configuration tracking unit 66 of the printing subsystem 64 sends server configuration information 86 to the client (step 204). At step 206, the client 54 stores the server configuration information 86 and the printer settings 84 in the memory 76.
When the client session has concluded, the client 54 is disconnected from the server 52 (step 208). Whenever the client 54 is disconnected from the server 52, all data structures associated with peripheral devices attached to the client 52 are deleted from the server 52.
At step 210, the client 54 is reconnected to the server 52. It is noted that, although the client 54 in this example is reconnected to the server 52, the client 54 may be connected to a different server (not shown) in another server/client system (not shown). The methodology is the same whether the client 54 is connected to the server 52 or to a different server (not shown). This is another advantage to the present invention in that, once the printer 82 is manually installed on the server 52, subsequent installations—whether they be on the server 52 or on another server (not shown)—are automatic.
Upon reconnection with the server 52, the client 54 transmits the server configuration information 86 that was stored during the previous connection, to the server 52. The printer settings 84 are also sent to the server 52. At step 212, the server 52 utilizes the server configuration information 86 received from the client 54 to automatically install the printer 82 on the server 52. This automatic installation is performed with minimal user interaction.
Once the printer 82 has been automatically installed on the server, the configuration tracking unit 66 of the server 52 sends the server configuration information 86 and the printer settings 84′ to the client 54 (step 214). Upon receipt of this data, at step 216, the client 52 stores the server configuration information 86 and the printer settings 84 in memory 76.
FIG. 4 is a flow diagram depicting a method for client-side caching of server configuration information and printer settings, and for automatically updating peripheral device settings on the server. The method is described with continuing reference to FIG. 1 and FIG. 2. It is noted that the method of FIG. 4 is performed contemporaneously with the method described in FIG. 3. However, for discussion purposes, the methods are described separately.
At step 300 in FIG. 4, the client 54 sends a request to the server 52 to install the printer 82 on the server 52. At this time, or immediately thereafter, the printer settings 84 are also sent to the server 52. When the server 52 receives the install request from the client 54, the server performs a manual installation of the printer 82 on the server 52 at step 302. Manual installation refers to a client user being required to identify the printer driver 70 associated with the printer 82 as well as the I/O port 80 to which the printer 82 is connected.
When the installation is complete, the configuration tracking unit 66 of the printing subsystem 64 sends server configuration information 86 to the client (step 304). At step 306, the client 54 stores the server configuration information 86 and the printer settings 84′ in the memory 76.
At step 308, the system 50 detects if the user makes any changes to the printer settings 84. If so, the changed printer settings 84 are sent to the server 52 at step 310. At step 314, the server 52 receives the updated printer settings 84. The updated printer settings 84 are sent to the client 54 at step 316. The client 54 then stores the updated printer settings 84 at step 316.
As described in the discussion for FIG. 3, the printer settings 84′ are sent from the client 54 to the server 52 when the client 54 is reconnected to the server 52. By updating the cached printer settings 84′ as they are updated by the user, the desired printer settings 84 are always restored when the client 54 is reconnected to the server 52.
CONCLUSION
The system and method as described herein provide a user with a way to automatically install peripheral devices on a server after they have been redirected on the server one time from a client. In addition, the user's device settings preferences are preserved from session to session, thereby saving the user from having to manually update these settings whenever a server-client connection is established. Once a manual installation has been performed, subsequent installations are automatic, whether the client is reconnected to the same server, or to a different server.
Although the invention has been described in language specific to structural features and/or methodological steps, it is to be understood that the invention defined in the appended claims is not necessarily limited to the specific features or steps described. Rather, the specific features and steps are disclosed as preferred forms of implementing the claimed invention.

Claims (40)

1. In a system having a server and a client, a method comprising:
installing server support on the server for a peripheral device attached at the client;
transmitting server support configuration information related to the peripheral device from the server to the client; and
storing the transmitted server support configuration information at the client, the server support configuration information is deleted from the server when the connection between the client and the server is terminated and upon establishing a new connection between the client and the server, the server support configuration information is utilized to automatically restore the server support for the peripheral device by transmitting the server support configuration information stored at the client to the server.
2. The method recited in claim 1, further comprising transmitting the server support configuration information from the client to the server upon reconnection of the client and the server.
3. The method recited in claim 1, the peripheral device having peripheral device settings, the method further comprising:
transmitting the peripheral device settings from the client to the server upon the establishment of a connection between the client and the server;
transmitting the peripheral device settings from the server to the client together with the configuration information; and
storing the peripheral device settings at the client.
4. The method recited in claim 3, further comprising retransmitting the peripheral device settings from the client to the server whenever a peripheral device setting is changed.
5. The method recited in claim 1, wherein the peripheral device comprises a printer.
6. The method recited in claim 1, further comprising:
uninstalling server support for the peripheral device attached at the client;
transmitting new server support configuration information to the client, the new server support configuration information indicating that server support for the peripheral device has been uninstalled; and
deleting the stored configuration information related to the uninstalled peripheral device from the client.
7. The method recited in claim 6, wherein the deleting is accomplished by overwriting the stored configuration information with the new server configuration information.
8. The method recited in claim 1, further comprising:
renaming a queue associated with the peripheral device that was created when the peripheral device was installed on the server;
transmitting subsequent configuration information from the server to the client, the configuration information denoting the renamed queue; and
storing the subsequent configuration information denoting the renamed queue at the client.
9. The method recited in claim 1, wherein the configuration information includes one or more of the following: peripheral device name, port name, queue name, queue redirection information, redirected port information, and driver name.
10. One or more computer-readable media having a computer program which, when executed on a computer, performs the method of claim 1.
11. The method of claim 1, wherein the new connection is established between the client and a different server.
12. In a system, a server method comprising:
installing server support on a server for a peripheral device attached at a client;
transmitting server support configuration information related to the peripheral device to the client;
uninstalling the server support for the peripheral device in response to the client being disconnected from the server;
receiving the server support configuration information from the client upon reconnection with the client; and
installing the server support for the peripheral device on the server in accordance with the received server support configuration information.
13. The method recited in claim 12, further comprising:
uninstalling the server support for the peripheral device; and
transmitting updated server support configuration information to the client indicating that support for the peripheral device has been uninstalled.
14. The method recited in claim 12, further comprising:
receiving peripheral device settings from the client, the peripheral device settings pertaining to the peripheral device attached at the client; and
transmitting the peripheral device settings to the client.
15. The method recited in claim 12, further comprising:
receiving peripheral device settings from the client, the peripheral device settings pertaining to the peripheral device attached at the client;
transmitting the peripheral device settings to the client together with the server configuration information.
16. In a server/client system, a client method comprising:
transmitting information to a server identifying a peripheral device attached at a client;
receiving server configuration information relating to installation of the peripheral device at the server; and
storing the server configuration information, the server configuration information is uninstalled from the server upon termination of a server/client session.
17. The method recited in claim 16, further comprising:
transmitting information to the server regarding a peripheral device that has been detached from the client;
receiving updated server configuration information indicating the removal of data structures associated with the detached peripheral device; and
storing the updated server configuration information.
18. The method recited in claim 16, wherein the peripheral device attached at the client has peripheral device settings, the method further comprising:
transmitting the peripheral device settings to the server;
receiving the peripheral device settings from the server; and
storing the peripheral device settings at the client.
19. The method recited in claim 18, further comprising retransmitting the peripheral device settings when a peripheral device setting is changed.
20. The method recited in claim 16, wherein the peripheral device is a printer.
21. The method recited in claim 16, further comprising:
transmitting information to the server to change a name of a queue associated with the peripheral device;
receiving updated server configuration information including the changed name of the queue; and
storing the updated server configuration information.
22. A server/client system, comprising:
a server;
a client;
at least one peripheral device connected at the client;
the server being configured to install the peripheral device and transmit configuration information related to the peripheral device to the client; and
the client being configured to store the transmitted configuration information and when the client and the server disconnect, the server deletes the configuration information, and when the client reconnects with the server, the stored configuration information is transmitted to the server.
23. The server/client system recited in claim 22, wherein:
the server is further configured to receive the configuration information transmitted from the client, and automatically reinstall the peripheral device utilizing the configuration information.
24. The server/client system recited in claim 22, wherein the client is further configured to disconnect from the server, reconnect to a server in a second server/client system, and automatically provide server configuration information to the second server enabling the second server to automatically install the peripheral device on the second server.
25. The server/client system recited in claim 22, wherein:
the peripheral device comprises peripheral device settings;
the client is further configured to transmit the peripheral device settings to the server, receive the peripheral device settings from the server, and store the peripheral device settings on the client.
26. The server/client system recited in claim 25, wherein the client is further configured to transmit the peripheral device settings in response to a change in the peripheral device settings.
27. The server/client computer system recited in claim 22, wherein the one or more peripheral devices comprises one or more printers.
28. The server/client computer system recited in claim 22 wherein:
the server is further configured to uninstall the peripheral device and transmit updated configuration information to the client, the updated configuration information indicating that the peripheral device has been uninstalled; and
the client is further configured to overwrite the stored configuration information with the updated configuration information.
29. The server/client computer system recited in claim 22 wherein the server is further configured to create a virtual port that is utilized by the client, and include information regarding the virtual port in the configuration information sent to the client.
30. A server system, comprising:
a printing subsystem configured to install a printer connected to a client and create a printer queue associated with the printer;
a configuration tracking unit configured to determine server configuration parameters related to the installed printer and transmit the server configuration parameters to the client;
the printing subsystem is further configured to uninstall the client printer, receive the server configuration parameters stored on the client, and automatically reinstall the printer.
31. The server system as recited in claim 30, wherein the printer includes printer settings and the tracking unit is further configured to receive the printer settings from the client and transmit the printer settings to the client.
32. A client for use in a server/client system, comprising:
a processor;
memory;
an operating system executable on the processor;
server configuration information stored in the memory;
at least one printer port;
a printer connected to the printer port;
wherein the operating system is configured to transmit information to a server indicating that the printer is connected to the client, to receive server configuration information from the server, store the server configuration information in the memory, and transmit the stored server configuration information to the server upon reconnection with the server, thereby enabling the server to reinstall the printer.
33. The client system as recited in claim 32, wherein the printer comprises printer parameter settings, and the operating system is further configured to transmit the printer parameter settings to the server, receive the printer parameter settings from the server, and store the printer parameter settings in the memory.
34. The client system as recited in claim 33, wherein the operating system is further configured to transmit, receive and store the printer parameter settings whenever the printer parameter settings are changed.
35. The client system as recited in claim 32, wherein the operating system is further configured to transmit information to a server indicating that the printer has been disconnected from the client, receive updated server configuration information from the server reflecting that the printer is no longer installed, and store the updated server configuration information in the memory.
36. The client system as recited in claim 32, wherein the operating system is further configured to transmit the stored server configuration information to a second server upon connection with the second server to enable the second server to automatically install the printer.
37. One or more computer-readable media having a computer program, when executed by a computer, performs the following steps:
identifying one or more peripheral devices connected at a client;
installing the one or more peripheral devices at a server connected to the client;
transmitting server configuration information related to the one or more peripheral devices from the server to the client;
storing the server configuration information on the client;
disconnecting the client from the server, wherein the server configuration information is deleted from the server;
reconnecting the client to the server;
transmitting the server configuration information from the client to the server; and
automatically installing the one or more peripheral devices utilizing the transmitted server configuration information.
38. The computer-readable media as recited in claim 37, wherein the computer program further comprises the steps of:
transmitting peripheral device parameter settings from the client to the server;
receiving the peripheral device parameter settings from the server to the client; and
storing the peripheral device parameter settings on the client.
39. The computer-readable media as recited in claim 37, wherein at least one of the one more peripheral devices is a printer.
40. The computer-readable media as recited in claim 37, wherein the computer program further comprises the stops of:
requesting that a queue associated with an installed peripheral device be renamed;
renaming the queue;
transmitting updated server configuration information from the server to the client, the updated server configuration information including the new queue name; and
storing the updated server configuration information on the client.
US09/458,369 1999-12-09 1999-12-09 Client side caching of printer configuration Expired - Lifetime US6842766B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US09/458,369 US6842766B2 (en) 1999-12-09 1999-12-09 Client side caching of printer configuration
US10/972,641 US20050060367A1 (en) 1999-12-09 2004-10-25 Client side caching of printer configuration

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US09/458,369 US6842766B2 (en) 1999-12-09 1999-12-09 Client side caching of printer configuration

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US10/972,641 Continuation US20050060367A1 (en) 1999-12-09 2004-10-25 Client side caching of printer configuration

Publications (2)

Publication Number Publication Date
US20030115256A1 US20030115256A1 (en) 2003-06-19
US6842766B2 true US6842766B2 (en) 2005-01-11

Family

ID=23820515

Family Applications (2)

Application Number Title Priority Date Filing Date
US09/458,369 Expired - Lifetime US6842766B2 (en) 1999-12-09 1999-12-09 Client side caching of printer configuration
US10/972,641 Abandoned US20050060367A1 (en) 1999-12-09 2004-10-25 Client side caching of printer configuration

Family Applications After (1)

Application Number Title Priority Date Filing Date
US10/972,641 Abandoned US20050060367A1 (en) 1999-12-09 2004-10-25 Client side caching of printer configuration

Country Status (1)

Country Link
US (2) US6842766B2 (en)

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020035941A1 (en) * 2000-09-05 2002-03-28 Shuji Nakao Data processing apparatus, print-setting method, and recording medium
US20020060703A1 (en) * 2000-08-30 2002-05-23 Toshihiro Tsukada Printing apparatus, data storage medium, interface device, printer control method, and interface control method
US20020097432A1 (en) * 2001-01-19 2002-07-25 Hiroya Kumashio Setting error avoidable printing system and method
US20030084132A1 (en) * 2001-10-29 2003-05-01 Satoshi Ohta Network system, information processing apparatus, information processing method, and control program
US20030088793A1 (en) * 2001-11-06 2003-05-08 Parry Travis J. Managing customized menus across multiple imaging devices
US20030149782A1 (en) * 2002-02-01 2003-08-07 Robinson Mike C. Configuration information generation system and method
US20030195952A1 (en) * 2002-04-15 2003-10-16 Henry Steven G. Digital transmitter device configuration
US20040049560A1 (en) * 2002-09-09 2004-03-11 Shudong Zhou Method and apparatus for configuring a computer system to operate with perhiperal devices
US20040083278A1 (en) * 2001-01-17 2004-04-29 Siemens Aktiengesellschaft Network having a number of nodes, and nodes for a network of this type
US20050036166A1 (en) * 2003-08-13 2005-02-17 Williams Brett J. Printer driver initialization
US20050210480A1 (en) * 2004-03-17 2005-09-22 Fuji Xerox Co., Ltd. Driver management method and apparatus and program therefor
US20080005300A1 (en) * 2006-06-28 2008-01-03 Cisco Technology, Inc. Application integrated gateway
US20080016561A1 (en) * 2006-06-30 2008-01-17 Ricoh Company, Limited Image forming apparatus, tray ID allocating method thereof, computer program product, and recording medium
US20080204805A1 (en) * 2007-02-28 2008-08-28 Konica Minolta Systems Laboratory, Inc. Automatic detection of user preference for printer setting
US7730038B1 (en) * 2005-02-10 2010-06-01 Oracle America, Inc. Efficient resource balancing through indirection
US20120246247A1 (en) * 2011-03-23 2012-09-27 Samsung Electronics Co., Ltd. Method, apparatus and system for information push service based on wireless lan access point
US20150116759A1 (en) * 2013-10-28 2015-04-30 Xerox Corporation Storing print options and print accounting credentials when printing via e-mail
US9986040B2 (en) 2015-07-21 2018-05-29 Amadeus S.A.S. Communications management system with a separate peripherals server
US10177976B2 (en) * 2015-10-29 2019-01-08 Arista Networks, Inc. System and method for configuring network devices

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002099495A (en) * 2000-09-26 2002-04-05 Fujitsu Ltd Client server system, server and client
US10915296B2 (en) 2000-11-01 2021-02-09 Flexiworld Technologies, Inc. Information apparatus that includes a touch sensitive screen interface for managing or replying to e-mails
WO2002046867A2 (en) 2000-11-01 2002-06-13 Flexiworld Technologies, Inc. Controller and manager for device-to-device pervasive digital output
US10860290B2 (en) 2000-11-01 2020-12-08 Flexiworld Technologies, Inc. Mobile information apparatuses that include a digital camera, a touch sensitive screen interface, support for voice activated commands, and a wireless communication chip or chipset supporting IEEE 802.11
US7318086B2 (en) 2000-11-20 2008-01-08 Flexiworld Technologies, Inc. System for mobile and pervasive output
US20020097408A1 (en) 2001-01-19 2002-07-25 Chang William Ho Output device for universal data output
US20040054762A1 (en) * 2002-09-16 2004-03-18 Parry Travis J. Distribution of operational instructions for networked devices
US20040107279A1 (en) * 2002-11-25 2004-06-03 Brother Kogyo Kabushiki Kaisha Network system
US7365872B2 (en) * 2003-01-03 2008-04-29 Microsoft Corporation Client computer system, method and computer readable medium comprising executable instructions for rendering printable documents in a native printer language on the network
US20050012951A1 (en) * 2003-07-18 2005-01-20 Madril Robert J. Printer driver management
US20050068558A1 (en) * 2003-09-30 2005-03-31 Jianxin Wang Method and system to automatically update in real-time a printer driver configuration
US7864702B2 (en) * 2004-12-17 2011-01-04 Infonox On The Web Control and recruitment of client peripherals from server-side software
US7505168B2 (en) * 2004-12-30 2009-03-17 Microsoft Corporation Distributed client side printing methods and systems
JP4215008B2 (en) * 2005-02-25 2009-01-28 ブラザー工業株式会社 Device information management system, computer, and program
US7949741B2 (en) * 2007-02-20 2011-05-24 Microsoft Corporation Printer user interface redirection over a terminal services session
US8943551B2 (en) 2008-08-14 2015-01-27 Microsoft Corporation Cloud-based device information storage
US8789179B2 (en) 2011-10-28 2014-07-22 Novell, Inc. Cloud protection techniques
US20140222989A1 (en) * 2013-02-04 2014-08-07 Ricoh Company, Ltd. Management of device management units
US9032106B2 (en) * 2013-05-29 2015-05-12 Microsoft Technology Licensing, Llc Synchronizing device association data among computing devices
US9641389B2 (en) * 2013-09-09 2017-05-02 Vmware, Inc. Method and system for recovering from network disconnects by cloning a virtual port
US9680772B2 (en) 2013-09-09 2017-06-13 Vmware, Inc. System and method for managing configuration of virtual switches in a virtual machine network
EP3929740A1 (en) * 2020-06-26 2021-12-29 Siemens Aktiengesellschaft Method for orchestrating a container-based application on a terminal

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5580177A (en) * 1994-03-29 1996-12-03 Hewlett-Packard Company Printer/client network with centrally updated printer drivers and printer status monitoring
US5692111A (en) * 1994-10-05 1997-11-25 Microsoft Corporation Automatic installation of printers in a distributed environment
US5761505A (en) * 1995-11-17 1998-06-02 Hewlett-Packard Co. System and method for automatically and reliably managing global resources in a computer network
US5809287A (en) * 1994-09-08 1998-09-15 Compaq Computer Corporation Automatic computer upgrading
US6018769A (en) * 1992-04-16 2000-01-25 Hitachi, Ltd. Integrated network installation system
US6131134A (en) * 1998-05-12 2000-10-10 Primax Electronics Ltd. Hot plug-and-play converter of a universal serial bus interface
US6154787A (en) * 1998-01-21 2000-11-28 Unisys Corporation Grouping shared resources into one or more pools and automatically re-assigning shared resources from where they are not currently needed to where they are needed
US6201611B1 (en) * 1997-11-19 2001-03-13 International Business Machines Corporation Providing local printing on a thin client
US6288790B1 (en) * 1998-05-15 2001-09-11 International Business Machines Corporation Mobility support for printing
US6301012B1 (en) * 1998-04-24 2001-10-09 Hewlett-Packard Company Automatic configuration of a network printer
US6345319B2 (en) * 1998-08-26 2002-02-05 Inventec Corporation Method for installing plug-n-play device by copying INF files to a corresponding directory and deleting device ID and all related device class of an original device
US6424424B1 (en) * 1999-01-19 2002-07-23 Hewlett-Packard Company Method and apparatus for automatic installation of shared printers over a network

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6003065A (en) * 1997-04-24 1999-12-14 Sun Microsystems, Inc. Method and system for distributed processing of applications on host and peripheral devices
US6012103A (en) * 1997-07-02 2000-01-04 Cypress Semiconductor Corp. Bus interface system and method
US7545816B1 (en) * 1998-04-29 2009-06-09 Ncr Corporation Transaction processing systems maintenance
US6334178B1 (en) * 1998-08-31 2001-12-25 International Business Machines Corporation Multiprocessing system with automated propagation of changes to centrally maintained configuration settings
US6463537B1 (en) * 1999-01-04 2002-10-08 Codex Technologies, Inc. Modified computer motherboard security and identification system
US6251014B1 (en) * 1999-10-06 2001-06-26 International Game Technology Standard peripheral communication
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
US6658498B1 (en) * 1999-12-08 2003-12-02 International Business Machines Corporation Method, system, program, and data structures for reconfiguring output devices in a network system

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6018769A (en) * 1992-04-16 2000-01-25 Hitachi, Ltd. Integrated network installation system
US5580177A (en) * 1994-03-29 1996-12-03 Hewlett-Packard Company Printer/client network with centrally updated printer drivers and printer status monitoring
US5809287A (en) * 1994-09-08 1998-09-15 Compaq Computer Corporation Automatic computer upgrading
US5692111A (en) * 1994-10-05 1997-11-25 Microsoft Corporation Automatic installation of printers in a distributed environment
US5761505A (en) * 1995-11-17 1998-06-02 Hewlett-Packard Co. System and method for automatically and reliably managing global resources in a computer network
US6201611B1 (en) * 1997-11-19 2001-03-13 International Business Machines Corporation Providing local printing on a thin client
US6154787A (en) * 1998-01-21 2000-11-28 Unisys Corporation Grouping shared resources into one or more pools and automatically re-assigning shared resources from where they are not currently needed to where they are needed
US6301012B1 (en) * 1998-04-24 2001-10-09 Hewlett-Packard Company Automatic configuration of a network printer
US6131134A (en) * 1998-05-12 2000-10-10 Primax Electronics Ltd. Hot plug-and-play converter of a universal serial bus interface
US6288790B1 (en) * 1998-05-15 2001-09-11 International Business Machines Corporation Mobility support for printing
US6345319B2 (en) * 1998-08-26 2002-02-05 Inventec Corporation Method for installing plug-n-play device by copying INF files to a corresponding directory and deleting device ID and all related device class of an original device
US6424424B1 (en) * 1999-01-19 2002-07-23 Hewlett-Packard Company Method and apparatus for automatic installation of shared printers over a network

Cited By (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090109487A1 (en) * 2000-08-30 2009-04-30 Seiko Epson Corporation Printing Apparatus, Data Storage Medium, Interface Device, Printer Control Method, And Interface Control Method
US20020060703A1 (en) * 2000-08-30 2002-05-23 Toshihiro Tsukada Printing apparatus, data storage medium, interface device, printer control method, and interface control method
US7483163B2 (en) * 2000-08-30 2009-01-27 Seiko Epson Corporation Printing apparatus, data storage medium, interface device, printer control method, and interface control method
US8081339B2 (en) 2000-08-30 2011-12-20 Seiko Epson Corporation Printing apparatus, data storage medium, interface device, printer control method, and interface control method
US20100091328A1 (en) * 2000-08-30 2010-04-15 Seiko Epson Corporation Printing Apparatus, Data Storage Medium, Interface Device, Printer Control Method, And Interface Control Method
US7667866B2 (en) 2000-08-30 2010-02-23 Seiko Epson Corporation Printing apparatus, data storage medium, interface device, printer control method, and interface control method
US8330987B2 (en) 2000-08-30 2012-12-11 Seiko Epson Corporation Printing apparatus, data storage medium, interface device, printer control method, and interface control method
US7986432B2 (en) 2000-08-30 2011-07-26 Seiko Epson Corporation Printing apparatus, data storage medium, interface device, printer control method and interface control method
US20020035941A1 (en) * 2000-09-05 2002-03-28 Shuji Nakao Data processing apparatus, print-setting method, and recording medium
US7209250B2 (en) * 2000-09-05 2007-04-24 Minolta Co., Ltd. Data processing apparatus, print-setting method, and recording medium
US20040083278A1 (en) * 2001-01-17 2004-04-29 Siemens Aktiengesellschaft Network having a number of nodes, and nodes for a network of this type
US20020097432A1 (en) * 2001-01-19 2002-07-25 Hiroya Kumashio Setting error avoidable printing system and method
US7701599B2 (en) * 2001-01-19 2010-04-20 Ricoh Company, Ltd. Setting error avoidable printing system and method
US7231435B2 (en) * 2001-10-29 2007-06-12 Canon Kabushiki Kaisha Network system, information processing apparatus, information processing method, and control program
US20030084132A1 (en) * 2001-10-29 2003-05-01 Satoshi Ohta Network system, information processing apparatus, information processing method, and control program
US20030088793A1 (en) * 2001-11-06 2003-05-08 Parry Travis J. Managing customized menus across multiple imaging devices
US20030149782A1 (en) * 2002-02-01 2003-08-07 Robinson Mike C. Configuration information generation system and method
US7373411B2 (en) * 2002-02-01 2008-05-13 Hewlett-Packard Development Company, L.P. Configuration information generation system and method
US20030195952A1 (en) * 2002-04-15 2003-10-16 Henry Steven G. Digital transmitter device configuration
US20040049560A1 (en) * 2002-09-09 2004-03-11 Shudong Zhou Method and apparatus for configuring a computer system to operate with perhiperal devices
US7350214B2 (en) * 2003-08-13 2008-03-25 Hewlett-Packard Development Company, L.P. Printer driver initialization
US20050036166A1 (en) * 2003-08-13 2005-02-17 Williams Brett J. Printer driver initialization
US20050210480A1 (en) * 2004-03-17 2005-09-22 Fuji Xerox Co., Ltd. Driver management method and apparatus and program therefor
US7681205B2 (en) * 2004-03-17 2010-03-16 Fuji Xerox Co., Ltd. Connection monitoring and driver management method and apparatus and program therefor
US7730038B1 (en) * 2005-02-10 2010-06-01 Oracle America, Inc. Efficient resource balancing through indirection
US7890636B2 (en) * 2006-06-28 2011-02-15 Cisco Technology, Inc. Application integrated gateway
US20110078320A1 (en) * 2006-06-28 2011-03-31 Cisco Technology, Inc. Application integrated gateway
US20080005300A1 (en) * 2006-06-28 2008-01-03 Cisco Technology, Inc. Application integrated gateway
US8856362B2 (en) 2006-06-28 2014-10-07 Cisco Technology, Inc. Application integrated gateway
US20080016561A1 (en) * 2006-06-30 2008-01-17 Ricoh Company, Limited Image forming apparatus, tray ID allocating method thereof, computer program product, and recording medium
US8154736B2 (en) * 2006-06-30 2012-04-10 Ricoh Company, Limited Image forming apparatus, tray ID allocating method thereof, computer program product, and recording medium
US20080204805A1 (en) * 2007-02-28 2008-08-28 Konica Minolta Systems Laboratory, Inc. Automatic detection of user preference for printer setting
US9992731B2 (en) * 2011-03-23 2018-06-05 Samsung Electronics Co., Ltd. Method, apparatus and system for information push service based on wireless LAN access point
US20120246247A1 (en) * 2011-03-23 2012-09-27 Samsung Electronics Co., Ltd. Method, apparatus and system for information push service based on wireless lan access point
US20150116759A1 (en) * 2013-10-28 2015-04-30 Xerox Corporation Storing print options and print accounting credentials when printing via e-mail
US9063683B2 (en) * 2013-10-28 2015-06-23 Xerox Corporation Storing print options and print accounting credentials when printing via e-mail
US9986040B2 (en) 2015-07-21 2018-05-29 Amadeus S.A.S. Communications management system with a separate peripherals server
US9986041B2 (en) 2015-07-21 2018-05-29 Amadeus S.A.S. Communications management system with a separate peripherals server
US10455027B2 (en) 2015-07-21 2019-10-22 Amadeus S.A.S. Communications management system with a separate peripherals server
US10972550B2 (en) 2015-07-21 2021-04-06 Amadeus Sas Communications management system with a separate peripherals server
US11496578B2 (en) 2015-07-21 2022-11-08 Amadeus S.A.S. Communications management system with a separate peripherals server
US10177976B2 (en) * 2015-10-29 2019-01-08 Arista Networks, Inc. System and method for configuring network devices
US10250437B2 (en) * 2015-10-29 2019-04-02 Arista Networks, Inc. Method and system for configuring network devices

Also Published As

Publication number Publication date
US20030115256A1 (en) 2003-06-19
US20050060367A1 (en) 2005-03-17

Similar Documents

Publication Publication Date Title
US6842766B2 (en) Client side caching of printer configuration
US7600227B2 (en) Automatic detection and installation of client peripheral devices by a server
US6681392B1 (en) Method and apparatus for remote peripheral software installation
US6301012B1 (en) Automatic configuration of a network printer
US5881213A (en) Deferred printing
US6421777B1 (en) Method and apparatus for managing boot images in a distributed data processing system
US6892381B2 (en) Updating a device driver with mechanism employing two files one containing changes (variable file) and a file containing unchanged code (invariable file) downloading both to update
CA2257692C (en) Use of polymorphic package files to update software components
USRE39801E1 (en) Automatic installation of printers in a distributed environment
US6701357B1 (en) Server appliance
US6473783B2 (en) Method and apparatus for sharing peripheral devices over a network
US7003767B2 (en) System and method for remotely updating software applications
US20030160993A1 (en) Method for printing to a networked printer
US6788429B1 (en) Remote print queue management
EP0858022B1 (en) Method of providing a user interface for a multifunction peripheral device and a multifunction peripheral device.
US20080231891A1 (en) Client apparatus, server apparatus, and information processing method
JP2000330954A (en) Method and device for managing client computer in distributed data processing system
MXPA03012018A (en) Client side rendering of printable documents in a network.
US20010056572A1 (en) Process for installing a software package in a client computer, and server for doing the same
US7401113B1 (en) Printer driver identification for a remote printer
JP2001051810A (en) Method for printer driver, update management, printer, and computer network system
US20030229694A1 (en) Method of remotely controlling computers via network and architecture thereof
US7106465B1 (en) Method and apparatus for providing print job status
US8464273B2 (en) Information processing apparatus, information processing method, and computer-readable program
US8095925B2 (en) Seamless network installation of device drivers

Legal Events

Date Code Title Description
AS Assignment

Owner name: MICROSOFT CORPORATION, WASHINGTON

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:BROCKWAY, TAD DENNIS;APPIAH, MADAN MOHAN R.;REEL/FRAME:010621/0859

Effective date: 20000104

STCF Information on status: patent grant

Free format text: PATENTED CASE

FPAY Fee payment

Year of fee payment: 4

FPAY Fee payment

Year of fee payment: 8

AS Assignment

Owner name: MICROSOFT TECHNOLOGY LICENSING, LLC, WASHINGTON

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

Effective date: 20141014

FPAY Fee payment

Year of fee payment: 12