← Back to Patent Explorer
US6023585A Expired / Lapsed US ⏱️ 0.0 years remaining

Automatically selecting and downloading device drivers from a server system to a client system that includes one or more devices

Assignee: Microsoft Technology Licensing LLC
•
Filing: 1997-05-02
•
Granted: 2000-02-08
•
Expires: 2017-05-02
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method is provided of installing device drivers in a host processing system coupled to a number of peripheral devices. At system initialization, the host processing system requests the peripheral devices to which it is coupled to each provide a device code for identifying the type of the peripheral device. The host processing system receives the device codes from the peripheral devices and transmits the device codes to a remote server over a network, such as the Internet. The remote server selects an appropriate device driver for each peripheral device from a plurality of stored device drivers based on the device codes received from the host processing system and then transmits the device drivers to the host processing system over the network. This driver download process is carried out with no intervention from the user.

Inventors

  • 👤 Stephen G. Perlman
  • 👤 Tim Bucher

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-03 15:10
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/44; G06F9/4401; G06F9/4411; G06F9/4413; G06F9/4415; Y; Y10; Y10S; Y10S707/00; Y10S707/99941; Y10S707/99944

Claims Analysis

Total Claims: 38
Claim 1
Independent Claim 190 words
In a client system coupled to a peripheral device, a method of retrieving a device driver from a remote server and installing the device driver to the client system, the method comprising the steps of: storing on the remote server device drivers for peripheral devices compatible with the client system and a device code associated with each compatible peripheral device and its device driver; receiving, at the client system, the device code from the peripheral device; transmitting the device code from the client system to the remote server, the device code being received at the client system and transmitted to the remote server without a user of the client system providing input that further identifies the peripheral device; and receiving, at the client system, the device driver from the remote server, the device driver having been selected to be appropriate for the peripheral device in response to the device code transmitted to the remote server, wherein the steps of receiving the device code, transmitting the device code and receiving the device driver are performed automatically upon powering-up the client system without further input from the user of the client system.
Claim 2
Dependent Claim 190 words
In a client system coupled to a peripheral device, a method of retrieving a device driver from a remote server and installing the device driver to the client system, the method comprising the steps of: storing on the remote server device drivers for peripheral devices compatible with the client system and a device code associated with each compatible peripheral device and its device driver; receiving, at the client system, the device code from the peripheral device; transmitting the device code from the client system to the remote server, the device code being received at the client system and transmitted to the remote server without a user of the client system providing input that further identifies the peripheral device; and receiving, at the client system, the device driver from the remote server, the device driver having been selected to be appropriate for the peripheral device in response to the device code transmitted to the remote server, wherein the steps of receiving the device code, transmitting the device code and receiving the device driver are performed automatically upon powering-up the client system without further input from the user of the client system.
Claim 3
Dependent Claim 21 words
A method according to claim 1, wherein the device code identifies to the server a device type of the peripheral device.
Claim 4
Dependent Claim 33 words
A method according to claim 1, wherein the step of transmitting the device code to the remote server comprises the step of transmitting the device code to the remote server over a network.
Claim 5
Dependent Claim 125 words
A method according to claim 1, wherein the client system is coupled to a plurality of peripheral devices that are connected to the client system and one to another in a daisy chain configuration, and wherein the step of receiving the device code from the peripheral device comprises the steps of: receiving, at the client system, a first device code associated with a most senior peripheral device in the daisy chain, the first device code being received directly from the most senior peripheral device; and receiving, at the client system, a second device code associated with a more junior peripheral device in the daisy chain, the second device code being received after passing from the more junior peripheral device through the most senior peripheral device.
Claim 6
Dependent Claim 12 words
A method according to claim 3, wherein the network comprises the Internet.
Claim 7
Dependent Claim 19 words
A method according to claim 1, wherein the peripheral device does not store a copy of the device driver.
Claim 8
Dependent Claim 50 words
A method according to claim 6, further comprising the step of storing the device driver at the client system, such that the client system does not store any device driver other than the device driver received from the remote server and any other device driver received from the remote server.
Claim 9
Dependent Claim 32 words
A method according to claim 7, wherein the step of storing the device driver at the client system is conducted without a user of the client system manually installing the device driver.
Claim 10
Dependent Claim 296 words
In a client system coupled to one or more peripheral devices, a method of retrieving a device driver from a remote server for each of the one or more peripheral devices and installing the device drivers to the client system, the method comprising the steps of: storing on the remote server device drivers for all peripheral devices compatible with the client system and a device code associated with each compatible peripheral device and its device driver; in response to an initialization of the client system, requesting, by the client system, the device code associated with each of the one or more peripheral devices, each device code being requested from the associated peripheral device; receiving, at the client system, the device code associated with each of the one or more peripheral devices; transmitting each received device code to the remote server via a network, each received device code being received at the client system and transmitted to the remote server without a user of the client system providing input that further identifies the associated peripheral device; receiving, by the client system, one or more device drivers from the remote server, each of the one or more device drivers having been selected to be appropriate for one of the one or more peripheral devices in response to an associated device code having been transmitted to the server system; and storing the one or more device drivers at the client system, such that the client system does not store any device driver other than the one or more device drivers, wherein the steps of receiving the device code, transmitting the device code, receiving the device driver and storing the device driver are performed automatically upon powering-up the client system without further intervention by the user of the client system.
Claim 11
Dependent Claim 296 words
In a client system coupled to one or more peripheral devices, a method of retrieving a device driver from a remote server for each of the one or more peripheral devices and installing the device drivers to the client system, the method comprising the steps of: storing on the remote server device drivers for all peripheral devices compatible with the client system and a device code associated with each compatible peripheral device and its device driver; in response to an initialization of the client system, requesting, by the client system, the device code associated with each of the one or more peripheral devices, each device code being requested from the associated peripheral device; receiving, at the client system, the device code associated with each of the one or more peripheral devices; transmitting each received device code to the remote server via a network, each received device code being received at the client system and transmitted to the remote server without a user of the client system providing input that further identifies the associated peripheral device; receiving, by the client system, one or more device drivers from the remote server, each of the one or more device drivers having been selected to be appropriate for one of the one or more peripheral devices in response to an associated device code having been transmitted to the server system; and storing the one or more device drivers at the client system, such that the client system does not store any device driver other than the one or more device drivers, wherein the steps of receiving the device code, transmitting the device code, receiving the device driver and storing the device driver are performed automatically upon powering-up the client system without further intervention by the user of the client system.
Claim 12
Dependent Claim 57 words
A method according to claim 9, wherein: none of the one or more peripheral devices stores a copy of the appropriate device driver; and the step of storing the one or more device drivers at the client system is conducted without a user of the client system manually installing any of the one or more device drivers.
Claim 13
Dependent Claim 198 words
In a server system capable of communicating via a network with a remote client system, a method of selecting a device driver for a peripheral device coupled to the remote client system and transmitting the device driver to the remote client system, the method comprising the steps of: storing on the remote server device drivers for all peripheral devices compatible with the client system and a device code associated with each compatible peripheral device and its device driver; receiving, by the server system, the device code associated with the peripheral device from the remote client system, the device code being received by the server system without a user of the remote client system providing input that further identifies the peripheral device; automatically selecting an appropriate device driver for the peripheral device based on the device code received by the server system; and transmitting the appropriate device driver from the server system to the remote client system, wherein the steps of receiving the device code, selecting the appropriate device driver and transmitting the appropriate device driver are performed automatically upon powering-up the remote client system without further input from or intervention by the user of the remote client system.
Claim 14
Dependent Claim 198 words
In a server system capable of communicating via a network with a remote client system, a method of selecting a device driver for a peripheral device coupled to the remote client system and transmitting the device driver to the remote client system, the method comprising the steps of: storing on the remote server device drivers for all peripheral devices compatible with the client system and a device code associated with each compatible peripheral device and its device driver; receiving, by the server system, the device code associated with the peripheral device from the remote client system, the device code being received by the server system without a user of the remote client system providing input that further identifies the peripheral device; automatically selecting an appropriate device driver for the peripheral device based on the device code received by the server system; and transmitting the appropriate device driver from the server system to the remote client system, wherein the steps of receiving the device code, selecting the appropriate device driver and transmitting the appropriate device driver are performed automatically upon powering-up the remote client system without further input from or intervention by the user of the remote client system.
Claim 15
Dependent Claim 40 words
A method according to claim 11, wherein the device code received by the server system originates from, and is stored in, the peripheral device, wherein the device code indicates to the server system a device type of the peripheral device.
Claim 16
Dependent Claim 25 words
A method according to claim 11, wherein the step of receiving the device code comprises the step of receiving the device code over a network.
Claim 17
Dependent Claim 76 words
A method according to claim 11, wherein the step of automatically selecting an appropriate device driver comprises the steps of: comparing, by the server system, the device code with data entries of a database that contains a compilation of device codes and a corresponding compilation of device drivers that support particular peripheral devices; automatically identifying, from the data entries of the database, the appropriate device driver based on the device code received by the server system.
Claim 18
Dependent Claim 12 words
A method according to claim 13, wherein the network comprises the Internet.
Claim 19
Dependent Claim 33 words
A method according to claim 11, wherein the step of causing the appropriate device driver to be transmitted comprises the step of causing the appropriate device driver to be transmitted over a network.
Claim 20
Dependent Claim 14 words
A method according to claim 16, wherein the network comprises a wide area network.
Claim 21
Dependent Claim 12 words
A method according to claim 16, wherein the network comprises the Internet.
Claim 22
Dependent Claim 249 words
In a server system capable of communicating via a network with a remote client system, a method of selecting one or more device drivers for one or more peripheral devices coupled to the remote client system and transmitting the one or more device drivers to the remote client system, the method comprising the steps of: storing on the remote server device drivers for all peripheral devices compatible with the client system and a device code associated with each compatible peripheral device and its device driver; receiving, by the server system, one or more device codes associated with one or more peripheral devices, each received device code having been transmitted from the remote client system via a network without a user of the remote client system providing input that identifies the peripheral device; selecting, based on the received one or more device codes, one or more device drivers, each being appropriate for one of the one or more peripheral devices; retrieving each of the one or more device drivers from a storage device; and transmitting each of the one or more device drivers from the server system to the remote client system via the network, wherein the steps of receiving the one or more device codes, selecting the one or more device drivers, retrieving the one or more device drivers, and transmitting the one or more device drivers are performed automatically upon powering-up the remote client system without further input from or intervention by the user of the client system.
Claim 23
Dependent Claim 249 words
In a server system capable of communicating via a network with a remote client system, a method of selecting one or more device drivers for one or more peripheral devices coupled to the remote client system and transmitting the one or more device drivers to the remote client system, the method comprising the steps of: storing on the remote server device drivers for all peripheral devices compatible with the client system and a device code associated with each compatible peripheral device and its device driver; receiving, by the server system, one or more device codes associated with one or more peripheral devices, each received device code having been transmitted from the remote client system via a network without a user of the remote client system providing input that identifies the peripheral device; selecting, based on the received one or more device codes, one or more device drivers, each being appropriate for one of the one or more peripheral devices; retrieving each of the one or more device drivers from a storage device; and transmitting each of the one or more device drivers from the server system to the remote client system via the network, wherein the steps of receiving the one or more device codes, selecting the one or more device drivers, retrieving the one or more device drivers, and transmitting the one or more device drivers are performed automatically upon powering-up the remote client system without further input from or intervention by the user of the client system.
Claim 24
Dependent Claim 51 words
A method according to claim 19, wherein the step of automatically causing each of the one or more device drivers to be transmitted from the server system to the remote client system enables the remote client system to avoid storing any device driver other than the one or more device drivers.
Claim 25
Independent Claim 228 words
A system comprising: a remote server having stored thereon all peripheral devices compatible with the client processing system and a device code associated with each compatible peripheral device and its device driver; and a client processing system coupled to a peripheral device comprising a processor; and a computer-readable medium coupled to the processor, the computer-readable medium having computer-executable instructions stored therein which, when executed by the processor, cause the client processing system to perform the steps of: requesting a device code from the peripheral device, the device code being associated with the peripheral device and indicating a device type of the peripheral device; receiving the device code from the peripheral device; transmitting the device code to the remote server, the device code being received by the client processing system and transmitted to the remote server without a user of the client processing system providing input that further identifies the peripheral device; and receiving a device driver from the remote server, the device driver having been selected to be appropriate for the peripheral device in response to the device code transmitted to the remote server, wherein the steps of requesting the device code, receiving the device code, transmitting the device code and receiving the device driver are performed automatically upon powering-up the client processing system without further input from or intervention by the user of the client processing system.
Claim 26
Independent Claim 228 words
A system comprising: a remote server having stored thereon all peripheral devices compatible with the client processing system and a device code associated with each compatible peripheral device and its device driver; and a client processing system coupled to a peripheral device comprising a processor; and a computer-readable medium coupled to the processor, the computer-readable medium having computer-executable instructions stored therein which, when executed by the processor, cause the client processing system to perform the steps of: requesting a device code from the peripheral device, the device code being associated with the peripheral device and indicating a device type of the peripheral device; receiving the device code from the peripheral device; transmitting the device code to the remote server, the device code being received by the client processing system and transmitted to the remote server without a user of the client processing system providing input that further identifies the peripheral device; and receiving a device driver from the remote server, the device driver having been selected to be appropriate for the peripheral device in response to the device code transmitted to the remote server, wherein the steps of requesting the device code, receiving the device code, transmitting the device code and receiving the device driver are performed automatically upon powering-up the client processing system without further input from or intervention by the user of the client processing system.
Claim 27
Dependent Claim 35 words
A client processing system according to claim 21, wherein the step of transmitting the device code to the remote server, comprises the step of transmitting the device code to the remote server over a network.
Claim 28
Dependent Claim 16 words
A client processing system according to claim 22, wherein the network comprises a wide area network.
Claim 29
Dependent Claim 14 words
A client processing system according to claim 22, wherein the network comprises the Internet.
Claim 30
Dependent Claim 35 words
A client processing system according to claim 22, wherein the step of receiving the device driver from the remote server, comprises the step of receiving the device driver from the remote server over the network.
Claim 31
Dependent Claim 16 words
A client processing system according to claim 25, wherein the network comprises a wide area network.
Claim 32
Dependent Claim 14 words
A client processing system according to claim 25, wherein the network comprises the Internet.
Claim 33
Dependent Claim 145 words
A server processing system in communication with a remote client system, the remote client system being coupled to a peripheral device, the server processing system comprising: means for storing device drivers for peripherals compatible with the remote client system; means for receiving from the client system, via a network, a device code of the peripheral device without a user of the client system providing input that identifies the peripheral device; means for selecting one of the plurality of selectable device drivers as an appropriate device driver for the peripheral device based on the device code; and means for transmitting the appropriate device driver to the remote client system via the network, wherein the receiving means, the selecting means, and the transmitting means perform their respective functions automatically upon powering-up the client system without further input from or intervention by the user of the client system.
Claim 34
Dependent Claim 145 words
A server processing system in communication with a remote client system, the remote client system being coupled to a peripheral device, the server processing system comprising: means for storing device drivers for peripherals compatible with the remote client system; means for receiving from the client system, via a network, a device code of the peripheral device without a user of the client system providing input that identifies the peripheral device; means for selecting one of the plurality of selectable device drivers as an appropriate device driver for the peripheral device based on the device code; and means for transmitting the appropriate device driver to the remote client system via the network, wherein the receiving means, the selecting means, and the transmitting means perform their respective functions automatically upon powering-up the client system without further input from or intervention by the user of the client system.
Claim 35
Dependent Claim 20 words
A server processing system according to claim 28, wherein the device code indicates a device type of the peripheral device.
Claim 36
Dependent Claim 32 words
A server processing system according to claim 29, wherein the device code is received from the remote client system after the remote client system receives the device code from the peripheral device.
Claim 37
Dependent Claim 16 words
A server processing system according to claim 28, wherein the network comprises a wide area network.
Claim 38
Dependent Claim 14 words
A server processing system according to claim 28, wherein the network comprises the Internet.

References Cited (Backward Citations)

US5538255A Cited
US5325423A Cited
US5564001A Cited
US5488411A Cited
US5580177A Cited
US5558339A Cited
US5586257A Cited
US5655148A Cited
US5748980A Cited
US5809329A Cited
US5612730A Cited
US5802297A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2003-02-07 2003-08-09 2004-02-08 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2007-02-07 2007-08-09 2008-02-08 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2011-02-07 2011-08-09 2012-02-08 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag