System for configuring a computer system
First Claim
1. In an operating system running on a computer having at least one system bus, said operating system characterized by enumerators and a configuration manager, each enumerator assigned to a particular system bus and operative for enumerating each device connected to said particular bus, said configuration manager operative for managing the configuration of said devices by maintaining a hardware tree containing device nodes representing enumerated devices, a method for causing a selected enumerator to enumerate one of the devices on said particular system bus in response to detecting the addition of another device to said particular system bus, comprising the steps of:
- issuing, by said selected enumerator, an application program interface (API) call to said configuration manager to cause the generation of a message to enumerate one of the devices on said particular system bus assigned to said selected enumerator, said API call including a parameter defining one of said device nodes representing the device to be enumerated by said selected enumerator; and
receiving, by said selected enumerator, said message from said configuration manager to enumerate said device represented by said device node defined by said parameter.
2 Assignments
0 Petitions
Accused Products
Abstract
A system for configuring a devices of a computer with minimal support by a user. Device information for the devices of the computer 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.
-
Citations
19 Claims
-
1. In an operating system running on a computer having at least one system bus, said operating system characterized by enumerators and a configuration manager, each enumerator assigned to a particular system bus and operative for enumerating each device connected to said particular bus, said configuration manager operative for managing the configuration of said devices by maintaining a hardware tree containing device nodes representing enumerated devices, a method for causing a selected enumerator to enumerate one of the devices on said particular system bus in response to detecting the addition of another device to said particular system bus, comprising the steps of:
-
issuing, by said selected enumerator, an application program interface (API) call to said configuration manager to cause the generation of a message to enumerate one of the devices on said particular system bus assigned to said selected enumerator, said API call including a parameter defining one of said device nodes representing the device to be enumerated by said selected enumerator; and receiving, by said selected enumerator, said message from said configuration manager to enumerate said device represented by said device node defined by said parameter. - View Dependent Claims (2)
-
-
3. In a program maintained in a computer-readable medium for a computer having at least one system bus, the program characterized by enumerators and a configuration manager, each enumerator assigned to a particular system bus and operative for enumerating each device connected to the particular system bus, the configuration manager operative for managing the configuration of the devices by maintaining in memory a hardware tree containing discrete device nodes having data defining the present configuration of devices, a method for causing a selected enumerator to enumerate one of the devices on the particular system bus in response to the addition of another device to the particular system bus or the removal of one of the devices from the particular system bus, comprising the steps of:
-
issuing an application program interface (API) call in response to the selected enumerator detecting the addition of another device to the particular system bus or the removal of one of the devices from the particular system bus, the API call including a parameter identifying one of the device nodes representing one of the devices on the particular system bus; generating a message to the selected enumerator in response to the API call to cause the enumeration of the device represented by the device node identified by the parameter of the API call, and enumerating, in response to receipt of the message by the selected enumerator, the device represented by the device node identified by the parameter of the API call.
-
-
4. A method for adding a new device node to a hardware tree maintained by an operating system residing in a computer-readable medium and accessible by a computer, the operating system comprising enumerators assigned to each system bus of the computer and operative for enumerating devices connected to its assigned system bus, the hardware tree stored in memory of the computer and containing device nodes corresponding to the devices and containing present configuration information for the devices of the computer, the device nodes having parent-child relationships, comprising the steps of:
-
calling, from one of the enumerators, an application program interface (API) of the operating system, the calling enumerator assigned to the particular system bus that is connected to one of the devices represented by the new device node; in response to the API, adding the new device node to the hardware tree by allocating the device node and placing the new device node in a list of the child device nodes for the related parent device node. - View Dependent Claims (5, 6)
-
-
7. In a program stored in a computer-readable medium accessible by a computer, the program operative for managing the configuration of the devices by maintaining in memory a hardware tree containing subtrees, each subtree having device nodes representing the devices and containing present device configuration information, the device nodes in each subtree characterized by parent-child relationships of parent and child device nodes, a method for removing a certain subtree of the hardware tree having a selected one of the device nodes and its child nodes, comprising the steps of:
-
issuing an application program interface (API) call for removing the certain subtree, the API call including a parameter identifying a handle of the selected device node, the selected device node corresponding to one of the parent device nodes; in response to the API call, notifying each device node in the certain subtree of imminent termination; and freeing each device node in the certain subtree from the hardware tree. - View Dependent Claims (8)
-
-
9. In a program stored in a computer-readable medium, the program operative for managing the configuration of devices of a computer by maintaining in memory a hardware tree containing subtrees, each subtree having device nodes representing the devices and containing device configuration information, the device nodes in each subtree characterized by parent-child relationships, a method for determining whether a certain one of the subtrees having a selected one of the device nodes and its child nodes can be removed from the hardware tree, comprising the steps of:
-
issuing an application program interface (API) call for querying whether the certain subtree can be removed from the hardware tree, the API call including a parameter identifying a handle of the selected device node, the selected device node corresponding to a parent device node; in response to the API call, notifying each device node in the certain subtree of imminent termination. - View Dependent Claims (10)
-
-
11. In a program stored in a computer-readable medium and accessible by a computer, the program operative for managing the configuration of the devices by maintaining in memory of the computer a hardware tree containing subtrees, each subtree having device nodes representing the devices and containing logical configuration information and a list of allocated resource elements, a method for obtaining the list of allocated resource elements from a selected one of the device nodes, comprising the steps of:
-
issuing an application program interface (API) call for the function of obtaining the list of allocated resource elements from the selected device node, the API call including a parameter identifying the selected device node and a pointer to a structure in the memory to be filled with the list of allocated resource elements; placing the list of allocated resource elements in the memory structure. - View Dependent Claims (12)
-
-
13. In a program stored in a computer-readable medium and accessible by a computer characterized by resources having resource elements, the program operative for managing the configuration of the devices by maintaining in memory of the computer a hardware tree containing subtrees, each subtree having device nodes representing the devices and containing logical configuration information and a list of allocated resource elements, a method for obtaining the first logical configuration of a specified type from a selected one of the device nodes, comprising the steps of:
-
issuing an application program interface (API) call for the function of obtaining a handle to the first logical configuration of a specified type from the selected device node, the specified type including one of (1) logical configuration data, (2) a list of allocated resource elements, and (3) boot configuration data, the API call including an address of the memory that receives the handle of the first logical configuration, a parameter identifying the selected device node and a flag having a value that defines the specified type of the first logical configuration; assigning the handle for the specified type of the first logical configuration to the address of the memory.
-
-
14. In a program stored in a computer-readable medium and accessible by a computer characterized by resources having resource elements, the program operative for managing the configuration of the devices by maintaining in memory of the computer a hardware tree containing subtrees, each subtree having device nodes representing the devices and containing logical configuration information, a method for adding a resource descriptor for one of the resource elements to a logical configuration of a selected one of the device nodes, comprising the steps of:
-
issuing an application program interface (API) call for the function of adding the resource descriptor to the logical configuration of the selected device node, the API call including an address of the memory that receives a handle of the resource descriptor, a parameter identifying the logical configuration to which the resource descriptor is to be added, a parameter identifying the type of the resource element, an address of the memory for the data structure containing the resource descriptor, and a parameter identifying a size of the data structure; adding the resource descriptor to the logical configuration. - View Dependent Claims (15)
-
-
16. A method for communicating between a client process and a server process in a distributed processing system, comprising the steps of:
-
(a) issuing, by the client process and in response to dynamic event, a reenumerate-- devnode function call having a plurality of call parameters including a parameter identifying a device node to be enumerated; (b) receiving, by the server process, the reenumerate-- devnode function call and parsing the call to retrieve the parameters; and (c) issuing, by the server process, a config-- enumerate message to cause the client process to enumerate the device node corresponding to the identifying parameter. - View Dependent Claims (17, 18)
-
-
19. A method for communicating between a client process and a server process in a distributed processing system, comprising the steps of:
-
(a) issuing, by the client process, a create-- devnode function call having a plurality of call parameters including a parameter identifying an address of the of the memory that receives a handle to a device node to be added, a device identifier that identifies a particular one of the devices represented by the device node to be added, and a handle of the device node having a parent relationship with the device node to be added; (b) receiving, by the server process, the create-- devnode function call and parsing the call to retrieve the parameters; and (c) adding, in response to the create-- devnode function call, the new device node to a hardware tree by allocating the device node and placing the new device node in a list of child device nodes for the related parent device node.
-
Specification