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

Method for automatically configuring devices including a network adapter without manual intervention and without prior configuration information

Assignee: Microsoft Technology Licensing LLC
•
Filing: 1999-10-04
•
Granted: 2002-01-01
•
Expires: 2019-10-04
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A system for configuring a network adapter of a computer without user intervention. Device information for the devices of the computer, including each network adapter, is collected to uniquely identify the devices and to describe the device characteristics associated with the operation of those devices with the computer. Computer resources, which support the functions of the devices within the computer, are allocated based upon this device information. This allocation process prevents a potential conflicting use of computer resources by the installed devices. A device driver, which enables communications between a corresponding device and the computer, is also identified and loaded for each of the devices in response to the allocation of computer resources. In response to loading the driver for each network adapter, each network configuration routine or layer for a particular interface of the corresponding network adapter is identified. In response to the identification of these layers, each identified layer for the particular interface is loaded. In turn, layers are identified and loaded for each of the remaining interfaces of the corresponding network adapter.

Inventors

  • 👤 Darryl Steven Richman
  • 👤 Moshe Lichtman
  • 👤 Mark R. Enstrom
  • 👤 Thomas E. Lennon
  • 👤 Ralph A. Lipe
  • 👤 Pierre-Yves Santerre
  • 👤 Robert T. Short
  • 👤 David W. Voth

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-06 17:51
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/44; G06F9/4401; G06F9/4411; G06F13/00; G06F13/10; G06F13/102; G06F15/00; G06F15/16; G06F15/177

Claims Analysis

Total Claims: 17
Claim 1
Independent Claim 228 words
For a system for configuring a computer, said computer characterized by at least one system bus, a plurality of resources comprising memory addresses, direct memory access channels, interrupts, and input/output ports, and devices connected to each system bus, each device associated with device information that uniquely identifies said corresponding device and defines usage requirements of said resources for said corresponding device, said configuring system, responsive to certain events causing an asynchronous change in the operating state of said computer, for configuring each device by collecting said device information from each memory storage device, for determining at least one possible logical device configuration based upon the collected device information, allocating said resources for each device in response to said device information, and loading a device driver for each device, wherein at least one of said devices is a network adapter including a plurality of layers associated with interfaces, said layers comprising at least one of protocols, redirectors, and servers, a method for automatically configuring said layers of each network adapter without manual intervention and without prior configuration information, in response to loading said device driver corresponding to said network adapter, comprising the steps, (a) identifying each layer associated with a particular one of said interfaces for said corresponding network adapter; (b) loading each identified layer; and (c) repeating steps (a)-(b) for each of the remaining ones of said interfaces.
Claim 2
Dependent Claim 228 words
For a system for configuring a computer, said computer characterized by at least one system bus, a plurality of resources comprising memory addresses, direct memory access channels, interrupts, and input/output ports, and devices connected to each system bus, each device associated with device information that uniquely identifies said corresponding device and defines usage requirements of said resources for said corresponding device, said configuring system, responsive to certain events causing an asynchronous change in the operating state of said computer, for configuring each device by collecting said device information from each memory storage device, for determining at least one possible logical device configuration based upon the collected device information, allocating said resources for each device in response to said device information, and loading a device driver for each device, wherein at least one of said devices is a network adapter including a plurality of layers associated with interfaces, said layers comprising at least one of protocols, redirectors, and servers, a method for automatically configuring said layers of each network adapter without manual intervention and without prior configuration information, in response to loading said device driver corresponding to said network adapter, comprising the steps, (a) identifying each layer associated with a particular one of said interfaces for said corresponding network adapter; (b) loading each identified layer; and (c) repeating steps (a)-(b) for each of the remaining ones of said interfaces.
Claim 3
Dependent Claim 61 words
The method of claim 1 , Herein said identifying step comprises searching a database of said computer and locating a first entry having an interface identification code that identifies said particular interface, said first entry further having a layer identification code for each layer associated with said particular interface, each layer identification code uniquely defining the identity of a corresponding layer.
Claim 4
Dependent Claim 43 words
The method of claim 2 , wherein said identifying step further comprises storing each layer identification code within one of a plurality of hierarchically-arranged device nodes within system memory of said computer, said device nodes defining the present configuration of said network adapter.
Claim 5
Dependent Claim 120 words
The method of claim 2 , wherein said step of loading each identified layer comprises: (a) locating within said database a second entry having one of said layer identification code for a selected layer, said second entry further having a driver identification code that uniquely defines a driver for said selected layer; (b) locating within said database a third entry having said driver identification code, said third entry containing configuration parameters for said driver for said selected layer; (c) loading said driver for said selected layer within system memory of said computer; (d) supplying said configuration parameters to said driver for said selected layer; and (e) repeating steps (a)-(d) for each of said remaining layers associated with said particular interface.
Claim 6
Independent Claim 217 words
A system for automatically configuring a computer without manual intervention and without prior configuration information, said computer characterized by a system bus and a plurality of computer resources comprising memory addresses, direct memory access channels, and input/output ports, said system comprising: a plurality of devices connected to said system bus, at least one of said devices being a network adapter, each device connected to a memory storage unit that stores device information for a corresponding one of said devices, said device information uniquely identifying said corresponding device and defining usage requirements of said computer resources for said corresponding device; configuring means for configuring each device in response to certain events causing an asynchronous change in the operating state of said computer, said configuring means operative to collect said device information from each memory storage unit, to determine at least one possible logical device configuration based upon the collected device information, and to allocate said computer resources for each device in response to said device information to prevent a conflicting use of said computer resources by each device; and network configuring means for configuring each of a plurality of layers associated with said network adapter, said layers comprising at least one of protocols, redirectors, and servers, each of said layers associated with one of a plurality of interfaces.
Claim 7
Independent Claim 217 words
A system for automatically configuring a computer without manual intervention and without prior configuration information, said computer characterized by a system bus and a plurality of computer resources comprising memory addresses, direct memory access channels, and input/output ports, said system comprising: a plurality of devices connected to said system bus, at least one of said devices being a network adapter, each device connected to a memory storage unit that stores device information for a corresponding one of said devices, said device information uniquely identifying said corresponding device and defining usage requirements of said computer resources for said corresponding device; configuring means for configuring each device in response to certain events causing an asynchronous change in the operating state of said computer, said configuring means operative to collect said device information from each memory storage unit, to determine at least one possible logical device configuration based upon the collected device information, and to allocate said computer resources for each device in response to said device information to prevent a conflicting use of said computer resources by each device; and network configuring means for configuring each of a plurality of layers associated with said network adapter, said layers comprising at least one of protocols, redirectors, and servers, each of said layers associated with one of a plurality of interfaces.
Claim 8
Dependent Claim 140 words
The system of claim 5 , wherein said network configuring means comprises: identifying means for identifying a selected layer associated with a particular interface by searching a database of said computer and locating a first entry having an identification code that identifies said particular interface, said first entry further having a layer identification code that uniquely defines the identity of said selected layer; said identifying means further operative to locate within said database a second entry having said layer identification code, said second entry further having a driver identification code that uniquely defines a driver for said layer selected, and to locate within said database a third entry having said driver identification code, said third entry containing configuration parameters for said driver; and a device loader for loading said driver for said selected layer within system memory of said computer.
Claim 9
Dependent Claim 38 words
The system of claim 5 , wherein said events include at least one of powering said computer, connecting another one of devices to said selected system bus, and removing one of said devices from said selected system bus.
Claim 10
Dependent Claim 299 words
A computer system characterized by resources and devices connected to at least one of a plurality of system buses, said resources comprising at least one of memory addresses, direct memory access channels, interrupts, and input/output ports, said devices including at least one network adapter, each network adapter comprising a plurality of layers associated with interfaces, said layers comprising at least one of protocols, redirectors, and servers, and a program module for automatically configuring the devices of the computer system without manual intervention and without prior configuration information, the computer system comprising: a processing unit; and a memory, coupled to the processing unit, for storing the program module; the processing unit, responsive to instructions of the program module, operative to (a) collect device information for each of said devices connected to a selected one of said system busses, said device information uniquely identifying a corresponding one of said devices, said device information further describing characteristics of said corresponding device, wherein the device information is utilized to determine at least one possible logical device configuration; (b) allocate said resources for each of said devices in response to said device information to prevent a conflicting use of said resources by said devices; (c) load a device driver for each of said devices in response to said allocation of said resources, each device driver operative to enable said devices to communicate with said computer; (d) repeat tasks (a)-(c) for each remaining one of said system busses; and in response to loading said device driver for each network adapter, the processing unit is operative to (e) identify each layer associated with a particular one of said interfaces for a corresponding network adapter; (f) load each identified layer; and (g) repeat tasks (e)-(f) for each remaining one of said interfaces for said corresponding network adapter.
Claim 11
Dependent Claim 299 words
A computer system characterized by resources and devices connected to at least one of a plurality of system buses, said resources comprising at least one of memory addresses, direct memory access channels, interrupts, and input/output ports, said devices including at least one network adapter, each network adapter comprising a plurality of layers associated with interfaces, said layers comprising at least one of protocols, redirectors, and servers, and a program module for automatically configuring the devices of the computer system without manual intervention and without prior configuration information, the computer system comprising: a processing unit; and a memory, coupled to the processing unit, for storing the program module; the processing unit, responsive to instructions of the program module, operative to (a) collect device information for each of said devices connected to a selected one of said system busses, said device information uniquely identifying a corresponding one of said devices, said device information further describing characteristics of said corresponding device, wherein the device information is utilized to determine at least one possible logical device configuration; (b) allocate said resources for each of said devices in response to said device information to prevent a conflicting use of said resources by said devices; (c) load a device driver for each of said devices in response to said allocation of said resources, each device driver operative to enable said devices to communicate with said computer; (d) repeat tasks (a)-(c) for each remaining one of said system busses; and in response to loading said device driver for each network adapter, the processing unit is operative to (e) identify each layer associated with a particular one of said interfaces for a corresponding network adapter; (f) load each identified layer; and (g) repeat tasks (e)-(f) for each remaining one of said interfaces for said corresponding network adapter.
Claim 12
Dependent Claim 65 words
The computer system of claim 8 , wherein said processing unit identifies each layer by searching a database of said computer and locating a first entry having an interface identification code that identifies said particular interface, said first entry further having a layer identification code for each layer associated with said particular interface, each layer identification code uniquely defining the identity of a corresponding layer.
Claim 13
Dependent Claim 121 words
The computer system of claim 9 , wherein said processing unit loads each identified layer by: (a) locating within said database a second entry having one of said layer identification code for a selected layer, said second entry further having a driver identification code that uniquely defines a driver for said selected layer; (b) locating within said database a third entry having said driver identification code, said third entry containing configuration parameters for said driver for said selected layer; (c) loading said driver for said selected layer within system memory of said computer; (d) supplying said configuration parameters to said driver for said selected layer; and (e) repeating tasks (a)-(d) for each of said remaining layers associated with said particular interface.
Claim 14
Dependent Claim 283 words
In a computer system characterized by resources and devices connected to at least one of a plurality of system busses, said resources comprising at least one of memory addresses, direct memory access channels, interrupts, and input/output ports, said devices including at least one network adapter, each network adapter comprising a plurality of layers associated with interfaces, said layers comprising at least one of protocols, redirectors, and servers, a computer-readable medium on which is stored a program module for automatically configuring the devices of the computer system without manual intervention and without prior configuration information, the program module comprising instructions which, when executed by the computer, performs the steps of: (a) collecting device information for each of said devices connected to a selected one of said system busses, said device information uniquely identifying a corresponding one of said devices, said device information further describing characteristics of said corresponding device, wherein the device information is utilized to determine at least one possible logical device configuration; (b) allocating said resources for each of said devices in response to said device information to prevent a conflicting use of said resources by said devices; (c) loading a device driver for each of said devices in response to said allocation of said resources, each device driver operative to enable said devices to communicate with said computer; (d) repeating steps (a)-(c) for each remaining one of said system busses; and in response to loading said device driver for each network adapter, (e) identifying each layer associated with a particular one of said interfaces for a corresponding network adapter; (f) loading each identified layer; and (g) repeating steps (e)-(f) for each remaining one of said interfaces for said corresponding network adapter.
Claim 15
Dependent Claim 283 words
In a computer system characterized by resources and devices connected to at least one of a plurality of system busses, said resources comprising at least one of memory addresses, direct memory access channels, interrupts, and input/output ports, said devices including at least one network adapter, each network adapter comprising a plurality of layers associated with interfaces, said layers comprising at least one of protocols, redirectors, and servers, a computer-readable medium on which is stored a program module for automatically configuring the devices of the computer system without manual intervention and without prior configuration information, the program module comprising instructions which, when executed by the computer, performs the steps of: (a) collecting device information for each of said devices connected to a selected one of said system busses, said device information uniquely identifying a corresponding one of said devices, said device information further describing characteristics of said corresponding device, wherein the device information is utilized to determine at least one possible logical device configuration; (b) allocating said resources for each of said devices in response to said device information to prevent a conflicting use of said resources by said devices; (c) loading a device driver for each of said devices in response to said allocation of said resources, each device driver operative to enable said devices to communicate with said computer; (d) repeating steps (a)-(c) for each remaining one of said system busses; and in response to loading said device driver for each network adapter, (e) identifying each layer associated with a particular one of said interfaces for a corresponding network adapter; (f) loading each identified layer; and (g) repeating steps (e)-(f) for each remaining one of said interfaces for said corresponding network adapter.
Claim 16
Dependent Claim 73 words
The program module of claim 11 , wherein said instructions for identifying each layer, when executed by the computer, performs the steps of searching a database of said computer and locating a first entry having an interface identification code that identifies said particular interface, said first entry further having a layer identification code for each layer associated with said particular interface, each layer identification code uniquely defining the identity of a corresponding layer.
Claim 17
Dependent Claim 130 words
The program module of claim 12 , wherein said instructions for loading each identified each layer, when executed by the computer, performs the steps of: (a) locating within said database a second entry having one of said layer identification code for a selected layer, said second entry further having a driver identification code that uniquely defines a driver for said selected layer; (b) locating within said database a third entry having said driver identification code, said third entry containing configuration parameters for said driver for said selected layer; (c) loading said driver for said selected layer within system memory of said computer; (d) supplying said configuration parameters to said driver for said selected layer; and (e) repeating tasks (a)-(d) for each of said remaining layers associated with said particular interface.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2004-12-31 2005-07-02 2006-01-01 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2008-12-31 2009-07-02 2010-01-01 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2012-12-31 2013-07-02 2014-01-01 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag