Claims Analysis
Total Claims: 18
Claim 1
Independent Claim
257 words
A method for controlling the flow of data through an I/O port in a computer system having a memory and a CPU, the I/O port being connected to the CPU and to first and second peripheral devices, the CPU being operable for creating I/O request packets for transmitting data to and receiving data from the first and second peripheral devices, comprising the steps of: transmitting a first I/O request packet from the CPU to a first device driver for delivery to the first peripheral device; allocating control over the I/O port to the first device driver; commencing transmission of the first I/O request packet from the first device driver to the first peripheral device via the I/O port; transmitting a second I/O request packet from the CPU to a second device driver for delivery to the second peripheral device; queuing an allocate request associated with the second I/O request packet in a queue; completing transmission of the first I/O request packet from the first device driver to the first peripheral device via the I/O port; freeing the I/O port from control of the first device driver; retrieving the allocate request from the queue; allocating control over the I/O port to the second device driver; transmitting the second I/O request packet to the second peripheral device; and in response to a predefined condition, enabling the I/O port to receive first and second device interrupt requests from the first and second peripheral devices and to transmit first and second CPU interrupt requests to the CPU in response to thereto.
Claim 2
Independent Claim
257 words
A method for controlling the flow of data through an I/O port in a computer system having a memory and a CPU, the I/O port being connected to the CPU and to first and second peripheral devices, the CPU being operable for creating I/O request packets for transmitting data to and receiving data from the first and second peripheral devices, comprising the steps of: transmitting a first I/O request packet from the CPU to a first device driver for delivery to the first peripheral device; allocating control over the I/O port to the first device driver; commencing transmission of the first I/O request packet from the first device driver to the first peripheral device via the I/O port; transmitting a second I/O request packet from the CPU to a second device driver for delivery to the second peripheral device; queuing an allocate request associated with the second I/O request packet in a queue; completing transmission of the first I/O request packet from the first device driver to the first peripheral device via the I/O port; freeing the I/O port from control of the first device driver; retrieving the allocate request from the queue; allocating control over the I/O port to the second device driver; transmitting the second I/O request packet to the second peripheral device; and in response to a predefined condition, enabling the I/O port to receive first and second device interrupt requests from the first and second peripheral devices and to transmit first and second CPU interrupt requests to the CPU in response to thereto.
Claim 3
Dependent Claim
42 words
The method of claim 1, wherein the method further includes the steps of: configuring a control register to define a first protocol for the first peripheral device and reconfiguring a control register to define a second protocol for the second peripheral device.
Claim 4
Dependent Claim
23 words
The method of claim 2, wherein enabling the I/O port includes setting the first and second interrupt control bits in the control register.
Claim 5
Dependent Claim
36 words
The method of claim 1, wherein in response to the predefined condition, the port arbitrator causes the control register to be configured to enable the I/O port to receive interrupt requests from the second peripheral device.
Claim 6
Dependent Claim
20 words
The method of claim 1, wherein the predefined condition comprises: the queue is empty and the I/O port is idle.
Claim 7
Dependent Claim
20 words
The method of claim 5, wherein the predefined condition comprises: the queue is empty and the I/O port is idle.
Claim 8
Independent Claim
220 words
A apparatus for controlling the flow of data through an I/O port in a computer system including a system bus interconnecting, a CPU, and a memory, comprising: an I/O card interconnecting the system bus and first and second peripheral devices by means of a multiplexer, wherein the I/O card includes a control register for defining first and second protocols for communicating with the first and second peripheral devices respectively, an operating system program comprising: first and second device drivers for transmitting allocate requests, for allocating control over the I/O port, for configuring the control register to define the first and second control protocols respectively, and for transmitting I/O request packets from the CPU to the first and second peripheral devices respectively and a port arbitrator for monitoring the status of the I/O port, for queuing allocate requests from the first and second device drivers that are transmitted while the I/O port is allocated, for allowing a selected device driver having an allocate request in the queue to allocate the I/O port when the I/O port becomes free, and in response to a predefined condition, for causing first device driver to configure the control register to enable the I/O port to device receive first device interrupt requests from the first peripheral device and transmit first CPU interrupt requests to the CPU.
Claim 9
Independent Claim
220 words
A apparatus for controlling the flow of data through an I/O port in a computer system including a system bus interconnecting, a CPU, and a memory, comprising: an I/O card interconnecting the system bus and first and second peripheral devices by means of a multiplexer, wherein the I/O card includes a control register for defining first and second protocols for communicating with the first and second peripheral devices respectively, an operating system program comprising: first and second device drivers for transmitting allocate requests, for allocating control over the I/O port, for configuring the control register to define the first and second control protocols respectively, and for transmitting I/O request packets from the CPU to the first and second peripheral devices respectively and a port arbitrator for monitoring the status of the I/O port, for queuing allocate requests from the first and second device drivers that are transmitted while the I/O port is allocated, for allowing a selected device driver having an allocate request in the queue to allocate the I/O port when the I/O port becomes free, and in response to a predefined condition, for causing first device driver to configure the control register to enable the I/O port to device receive first device interrupt requests from the first peripheral device and transmit first CPU interrupt requests to the CPU.
Claim 10
Dependent Claim
36 words
The apparatus of claim 7, wherein in response to the predefined condition, the port arbitrator causes the control register to be configured to enable the I/O port to receive interrupt requests from the second peripheral device.
Claim 11
Dependent Claim
20 words
The apparatus of claim 7, wherein the predefined condition comprises: the queue being empty; and the I/O port being idle.
Claim 12
Dependent Claim
265 words
A storage medium on which is stored a computer program for controlling the flow of data through an I/O port in a computer system having a memory and a CPU, the I/O port being connected to the CPU and to first and second peripheral devices, the CPU being operable for creating I/O request packets for transmitting data to and receiving data from the first and second peripheral devices, comprising the steps of: transmitting a first I/O request packet from the CPU to a first device driver for delivery to the first peripheral device; allocating control over the I/O port to the first device driver; commencing transmission of the first I/O request packet from the first device driver to the first peripheral device via the I/O port; transmitting a second I/O request packet from the CPU to a second device driver for delivery to the second peripheral device; queuing an allocate request associated with the second I/O request packet in a queue; completing transmission of the first I/O request packet from the first device driver to the first peripheral device via the I/O port; freeing the I/O port from control of the first device driver; retrieving the allocate request from the queue; allocating control over the I/O port to the second device driver; transmitting the second I/O request packet to the second peripheral device; and in response to a predefined condition, enabling the I/O port to receive first and second device interrupt requests from the first and second peripheral devices and to transmit first and second CPU interrupt requests to the CPU in response to thereto.
Claim 13
Dependent Claim
265 words
A storage medium on which is stored a computer program for controlling the flow of data through an I/O port in a computer system having a memory and a CPU, the I/O port being connected to the CPU and to first and second peripheral devices, the CPU being operable for creating I/O request packets for transmitting data to and receiving data from the first and second peripheral devices, comprising the steps of: transmitting a first I/O request packet from the CPU to a first device driver for delivery to the first peripheral device; allocating control over the I/O port to the first device driver; commencing transmission of the first I/O request packet from the first device driver to the first peripheral device via the I/O port; transmitting a second I/O request packet from the CPU to a second device driver for delivery to the second peripheral device; queuing an allocate request associated with the second I/O request packet in a queue; completing transmission of the first I/O request packet from the first device driver to the first peripheral device via the I/O port; freeing the I/O port from control of the first device driver; retrieving the allocate request from the queue; allocating control over the I/O port to the second device driver; transmitting the second I/O request packet to the second peripheral device; and in response to a predefined condition, enabling the I/O port to receive first and second device interrupt requests from the first and second peripheral devices and to transmit first and second CPU interrupt requests to the CPU in response to thereto.
Claim 14
Dependent Claim
43 words
The storage medium of claim 10, wherein the method further includes the steps of: configuring a control register to establish a first protocol for the first peripheral device and reconfiguring a control register to establish a second protocol for the second peripheral device.
Claim 15
Dependent Claim
25 words
The storage medium of claim 11, wherein the enabling the I/O port includes setting the first and second interrupt control bits in the control register.
Claim 16
Dependent Claim
37 words
The storage medium of claim 10, wherein in response to the predefined condition, the port arbitrator causes the control register to be configured to enable the I/O port to receive interrupt requests from the second peripheral device.
Claim 17
Dependent Claim
21 words
The storage medium of claim 10, wherein the predefined condition comprises: the queue is empty and the I/O port is idle.
Claim 18
Dependent Claim
21 words
The storage medium of claim 14, wherein the predefined condition comprises: the queue is empty and the I/O port is idle.