# US 2013/0159582 A1 · Resource Reservation for an External Device that is Not Available at Startup of a Host Computer

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2013/0159582 A1
- Document ID: US20130159582A1
- Status: Published application
- Kind: A1
- Application number: 13/325,288
- Filed: 2011-12-14
- Published: 2013-06-20
- Earliest claimed: 2011-12-14
- Assignees: National Instruments Corporation
- Inventors: Jason D. Tongen; Jonathan W. Hearn; Daniel P. Marcotte
- Web page: https://patentgrep.com/patent/US20130159582A1

## CPC

- G06F 9/4411: {Configuring for operating with peripheral devices; Loading of device drivers}
- G06F 13/4045: {where the bus bridge performs an extender function}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A system and method for reserving resources of a host computer for use by an external device configured to be coupled to an expansion bus of the host computer are described. The host computer may be configured to execute device resource software that operates at a startup of the host computer to reserve one or more resources for the external device. The external device may not be available during the startup of the host computer, e.g., because the external device is not powered on or is not physically connected to the host computer. The device resource software may subsequently detect that the external device becomes available after the startup of the host computer. In response, the device resource software may enable the external device to use the one or more resources that were previously reserved at the startup of the host computer.

## Claims

### Claim 1

A computer-readable memory medium storing program instructions executable by a host computer to:
at a startup of the host computer, reserve one or more resources for an external device that is not available at the startup of the host computer, wherein the external device is configured to be coupled to an expansion bus of the host computer;
detect that the external device becomes available subsequently to reserving the one or more resources; and
enable the external device to use the one or more resources that were previously reserved at the startup of the host computer, wherein enabling the device to use the one or more resources configures the device to operate on the expansion bus.

### Claim 2 (depends on 1)

The computer-readable memory medium of claim 1,
wherein the external device is not available at the startup of the host computer because the external device is not powered on during the startup of the host computer;
wherein said detecting that the external device becomes available comprises detecting that the device becomes powered on.

### Claim 3 (depends on 1)

The computer-readable memory medium of claim 1,
wherein the external device is not available at the startup of the host computer because the external device is not physically connected to the host computer during the startup of the host computer;
wherein said detecting that the external device becomes available comprises detecting that the device becomes physically connected to the host computer.

### Claim 4 (depends on 1)

The computer-readable memory medium of claim 1,
wherein the external device comprises one or more of:
an external chassis having one or more slots for installing modules; or
a controller device for an external chassis.

### Claim 5 (depends on 1)

The computer-readable memory medium of claim 1,
wherein the external device connects to the host computer by a cable.

### Claim 6 (depends on 1)

The computer-readable memory medium of claim 1,
wherein the external device shares the expansion bus with one or more internal devices installed within the host computer.

### Claim 7 (depends on 1)

The computer-readable memory medium of claim 1,
wherein reserving the one or more resources includes reserving one or more bus numbers for use by the external device on the expansion bus.

### Claim 8 (depends on 1)

The computer-readable memory medium of claim 1,
wherein reserving the one or more resources includes reserving one or more ranges of memory addresses for use by the external device.

### Claim 9 (depends on 1)

The computer-readable memory medium of claim 1,
wherein the expansion bus is one of:
a Peripheral Component Interconnect (PCI) bus; or
a Peripheral Component Interconnect Express (PCI Express) bus.

### Claim 10 (depends on 1)

The computer-readable memory medium of claim 1, wherein the program instructions are further executable by the host computer to:
prior to the startup of the host computer, store information indicating resource requirements of the external device;
at the startup of the host computer, access the information to determine the one or more resources to reserve for the external device.

### Claim 11 (depends on 1)

The computer-readable memory medium of claim 1, wherein the program instructions are further executable by the host computer to:
prior to the startup of the host computer, enable a variable power-on feature for the external device in response to user input requesting the variable power-on feature to be enabled;
wherein enabling the variable power-on feature causes the program instructions to reserve the one or more resources for the external device at the startup of the host computer.

### Claim 12

A system comprising:
a host computer system including one or more processors and memory storing program instructions; and
an external device;
wherein the program instructions are executable by the one or more processors of the host computer system to:
at a startup of the host computer system, reserve one or more resources for the external device, wherein the external device is not available at the startup of the host computer system, wherein the external device is configured to be coupled to an expansion bus of the host computer system;
detect that the external device becomes available subsequently to reserving the one or more resources; and
enable the external device to use the one or more resources that were previously reserved at the startup of the host computer system, wherein enabling the device to use the one or more resources configures the device to operate on the expansion bus.

### Claim 13 (depends on 12)

The system of claim 12,
wherein the external device is not available at the startup of the host computer system because the external device is not powered on during the startup of the host computer system;
wherein said detecting that the external device becomes available comprises detecting that the external device becomes powered on.

### Claim 14 (depends on 12)

The system of claim 12,
wherein the external device is not available at the startup of the host computer system because the external device is not physically connected to the host computer system during the startup of the host computer system;
wherein said detecting that the external device becomes available comprises detecting that the external device becomes physically connected to the host computer system.

### Claim 15 (depends on 12)

The system of claim 12,
wherein the external device comprises one or more of:
an external chassis having one or more slots for installing modules; or
a controller device for an external chassis.

### Claim 16 (depends on 12)

The system of claim 12,
wherein reserving the one or more resources includes reserving one or more bus numbers for use by the external device on the expansion bus.

### Claim 17 (depends on 12)

The system of claim 12,
wherein reserving the one or more resources includes reserving one or more ranges of memory addresses for use by the external device.

### Claim 18 (depends on 12)

The system of claim 12,
wherein the expansion bus is one of:
a Peripheral Component Interconnect (PCI) bus; or
a Peripheral Component Interconnect Express (PCI Express) bus.

### Claim 19

A computer-implemented method comprising:
at a startup of a host computer, reserving one or more resources for an external device that is not available at the startup of the host computer, wherein the external device is configured to be coupled to an expansion bus of the host computer;
detecting that the external device becomes available subsequently to reserving the one or more resources; and
enabling the external device to use the one or more resources that were previously reserved at the startup of the host computer, wherein enabling the device to use the one or more resources configures the device to operate on the expansion bus.

### Claim 20

A method comprising:
a host computer assigning a plurality of resources to a device coupled to an expansion bus of the host computer;
powering off the device after assigning the plurality of resources;
re-configuring the device after powering off the device;
powering on the device after re-configuring the device; and
the host computer determining resource requirements of the re-configured device and assigning at least a subset of the previously assigned resources to the re-configured device.

### Claim 21 (depends on 20)

The method of claim 20,
wherein the device comprises an external chassis located externally to the host computer;
wherein re-configuring the device comprises one or more of:
replacing a module installed in the external chassis; or
installing a new module in the external chassis.
