Claims Analysis
Total Claims: 28
Claim 1
Independent Claim
184 words
Apparatus for constructing hardware device interface software systems for servicing Input/Output (IO) devices, the apparatus comprising: (a) a processor; (b) a memory attached to and under the control of the processor; (c) at least one IO device attached to the processor; and (d) an IO service ensemble, responsive to IO requests from a user, for providing a pre-defined set of IO services for the device, the ensemble including interrupt handler means, residing in a kernel address space of the memory, for servicing interrupts from the device; and device access manager means, residing in a user-mode address space of the memory and cooperating with the interrupt handler means, for accessing the device according to user-provided, device-specific access rules to iniate an IO operation with the device and for reserving buffers in the memory, if necessary, to service the IO requests and to service responses from the device, the device access manager means including means for installing the interrupt handler means in the memory and including death watch means for removing the interrupt handler means from the memory if the device access manager means is destroyed.
Claim 2
Dependent Claim
184 words
Apparatus for constructing hardware device interface software systems for servicing Input/Output (IO) devices, the apparatus comprising: (a) a processor; (b) a memory attached to and under the control of the processor; (c) at least one IO device attached to the processor; and (d) an IO service ensemble, responsive to IO requests from a user, for providing a pre-defined set of IO services for the device, the ensemble including interrupt handler means, residing in a kernel address space of the memory, for servicing interrupts from the device; and device access manager means, residing in a user-mode address space of the memory and cooperating with the interrupt handler means, for accessing the device according to user-provided, device-specific access rules to iniate an IO operation with the device and for reserving buffers in the memory, if necessary, to service the IO requests and to service responses from the device, the device access manager means including means for installing the interrupt handler means in the memory and including death watch means for removing the interrupt handler means from the memory if the device access manager means is destroyed.
Claim 3
Independent Claim
182 words
A method for constructing hardware device interface software systems for servicing Input/Output (IO) devices on a computer system having a processor, a memory, an operating system, and an IO device, the method comprising the steps of: (a) creating in the memory an IO service ensemble for providing a pre-defined set of IO services for the device, the ensemble including a device access manager in a user-mode address space of the memory and an interrupt handler in a kernel address space of the memory; (b) creating the interrupt handler to include mechanisms for servicing interrupts from the device; and (c) creating the device access manager to include a mechanism for accessing the device according to user-provided, device-specfic access rules to initiate an IO operation with the device and to include a mechanism for reserving buffers in the memory, if necessary, to service IO requests and to service IO responses from the device, and to include a mechanism for detecting whether the device access manager is destructed and for removing the interrupt handler in response to detecting the destruction of the device access manager.
Claim 4
Independent Claim
182 words
A method for constructing hardware device interface software systems for servicing Input/Output (IO) devices on a computer system having a processor, a memory, an operating system, and an IO device, the method comprising the steps of: (a) creating in the memory an IO service ensemble for providing a pre-defined set of IO services for the device, the ensemble including a device access manager in a user-mode address space of the memory and an interrupt handler in a kernel address space of the memory; (b) creating the interrupt handler to include mechanisms for servicing interrupts from the device; and (c) creating the device access manager to include a mechanism for accessing the device according to user-provided, device-specfic access rules to initiate an IO operation with the device and to include a mechanism for reserving buffers in the memory, if necessary, to service IO requests and to service IO responses from the device, and to include a mechanism for detecting whether the device access manager is destructed and for removing the interrupt handler in response to detecting the destruction of the device access manager.
Claim 5
Dependent Claim
33 words
The apparatus of claim 1 wherein the pre-defined set of IO services provided by the IO ensemble is independent of an underlying operating system under which the hardware device interface software system operates.
Claim 6
Dependent Claim
33 words
The method of claim 2 wherein the pre-defined set of IO services provided by the IO ensemble is independednt of an underlying operating system under which the hardware device interface software system operates.
Claim 7
Dependent Claim
259 words
Apparatus for providing input/output services from a hardware device which generates a processor interrupt in a multi-tasking computer system having a memory partitioned into a plurality of address spaces, the computer system having an application program operating in an application program address space and an operating system kernel operating in a kernel address space, the apparatus comprising: (a) an IO service framework object having a plurality of subroutines therein for providing data to, and receiving messages from, the application program in a format which is operating system independent; (b) interrupt service means located in the kernel address space and having direct access to the hardware device, the interrupt service means being responsive to the processor interrupt for determining the status of the hardware device and generating a notification message based on the determined status; (c) a device access manager object located in the application program address space and having direct access to the hardware device, the device access manager being responsive to the notification message for retrieving data from the hardware device and for executing a subroutine in the IO service framework object for providing the data to the application program; wherein the interrupt service means comprises means responsive to control signals generated by the device access manager for installing one of the plurality of interrupt handlers in the kernel address space; and wherein the device access manager can be destoryed and the interrupt service means comprises means responsive to a destruction of the device access manager for removing the one interrupt handler program from the kernel address space.
Claim 8
Dependent Claim
259 words
Apparatus for providing input/output services from a hardware device which generates a processor interrupt in a multi-tasking computer system having a memory partitioned into a plurality of address spaces, the computer system having an application program operating in an application program address space and an operating system kernel operating in a kernel address space, the apparatus comprising: (a) an IO service framework object having a plurality of subroutines therein for providing data to, and receiving messages from, the application program in a format which is operating system independent; (b) interrupt service means located in the kernel address space and having direct access to the hardware device, the interrupt service means being responsive to the processor interrupt for determining the status of the hardware device and generating a notification message based on the determined status; (c) a device access manager object located in the application program address space and having direct access to the hardware device, the device access manager being responsive to the notification message for retrieving data from the hardware device and for executing a subroutine in the IO service framework object for providing the data to the application program; wherein the interrupt service means comprises means responsive to control signals generated by the device access manager for installing one of the plurality of interrupt handlers in the kernel address space; and wherein the device access manager can be destoryed and the interrupt service means comprises means responsive to a destruction of the device access manager for removing the one interrupt handler program from the kernel address space.
Claim 9
Dependent Claim
41 words
Apparatus according to claim 5 wherein the interrupt service means comprises a plurality of interrupt handler programs and an interrupt service program responsive to the processor interrupt from the hardware device for executing one of the plurality of interrupt handler programs.
Claim 10
Dependent Claim
53 words
Apparatus according to claim 5 wherein the device manager object further comprises means for generating control signals formatted in an operating system independent manner, means for sending the control signals to the interrupt handler program and means for receiving control signals formatted in an operating system independent manner from the interrupt handler program.
Claim 11
Dependent Claim
21 words
Apparatus according to claim 5 wherein the device manager object further comprises means for allocating data transfer buffers in the memory.
Claim 12
Dependent Claim
34 words
Apparatus according to claim 5 wherein the interrupt service means comprises means responsive to control signals generated by the device access manager for removing the one interrupt handler program from the kernel address space.
Claim 13
Dependent Claim
45 words
Apparatus according to claim 5 for providing input/output services from a plurality of hardware devices and the apparatus further comprises: (d) a plurality of device access managers, each of the plurality of device access managers having direct access to one of the plurality hardware devices.
Claim 14
Dependent Claim
45 words
Apparatus according to claim 10 wherein the interrupt service means is responsive to control signals generated by each of the plurality of device access managers for installing an interrupt handler program in the kernel address space for each of the plurality of device access managers.
Claim 15
Dependent Claim
52 words
Apparatus according to claim 5 wherein the IO service framework object comprises means responsive to a plurality of operating system independent commands generated by the application program for accessing the hardware device and for generating a series of control signals to control the interrupt service means in order to perform the commands.
Claim 16
Dependent Claim
324 words
Apparatus for providing input/output services from a hardware device which generates a processor interrupt in a multi-tasking computer system having a memory partitioned into a plurality of address spaces, the computer system having an application program operating in an application program address space and an operating system kernel operating in a kernel address space, the apparatus comprising: (a) an IO service framework object having a plurality of subroutines therein for providing data to, and receiving messages from, the application program in a format which is operating system independent; (b) a plurality of interrupt handlers, each of the plurality of interrupt handlers comprising means for responding to a processor interrupt and generating a notification message; (c) interrupt service means located in the kernel address space and having direct access to the hardware device, the interrupt service means being responsive to the processor interrupt for determining the status of the hardware device and for invoking one of the plurality of interrupt handlers based on the status of the hardware device; (d) a device access manager object located in the application program address space and having direct access to the hardware device, the device access manager being responsive to the notification message for retrieving data from the hardware device, for executing a subroutine in the IO service framework object for providing the data to the application program and for receiving operating-system independent commands from the application program to control and configure the hardware device; wherein the interrupt service means is responsive to control signals generated by each of the plurality of the device access managers for installing an interrupt handler program in the kernel address space for each of the plurality of device access mangers; and wherein any of the plurality of device access managers can be destroyed and the interrupt service means comprises means responsive to a destruction of the particular device access manager for removing the one interrupt handler program from the kernel address space.
Claim 17
Dependent Claim
324 words
Apparatus for providing input/output services from a hardware device which generates a processor interrupt in a multi-tasking computer system having a memory partitioned into a plurality of address spaces, the computer system having an application program operating in an application program address space and an operating system kernel operating in a kernel address space, the apparatus comprising: (a) an IO service framework object having a plurality of subroutines therein for providing data to, and receiving messages from, the application program in a format which is operating system independent; (b) a plurality of interrupt handlers, each of the plurality of interrupt handlers comprising means for responding to a processor interrupt and generating a notification message; (c) interrupt service means located in the kernel address space and having direct access to the hardware device, the interrupt service means being responsive to the processor interrupt for determining the status of the hardware device and for invoking one of the plurality of interrupt handlers based on the status of the hardware device; (d) a device access manager object located in the application program address space and having direct access to the hardware device, the device access manager being responsive to the notification message for retrieving data from the hardware device, for executing a subroutine in the IO service framework object for providing the data to the application program and for receiving operating-system independent commands from the application program to control and configure the hardware device; wherein the interrupt service means is responsive to control signals generated by each of the plurality of the device access managers for installing an interrupt handler program in the kernel address space for each of the plurality of device access mangers; and wherein any of the plurality of device access managers can be destroyed and the interrupt service means comprises means responsive to a destruction of the particular device access manager for removing the one interrupt handler program from the kernel address space.
Claim 18
Dependent Claim
21 words
Apparatus according to claim 13 wherein the device manager object further comprises means for allocating data transfer buffers in the memory.
Claim 19
Dependent Claim
58 words
Apparatus according to claim 13 for providing input/output services from a plurality of hardware devices and the apparatus further comprises: (e) a plurality of device access managers, each of the plurality of device access managers having direct access to one of the plurality hardware devices and being associated with the plurality of hardware devices on a one-to-one basis.
Claim 20
Independent Claim
253 words
A method for providing input/output services from a hardware device which generates a processor interrupt in a multi-tasking computer system having a memory partitioned into a plurality of address spaces, the computer system having an application program operating in an application program address space and an operating system kernel operating in a kernel address space, the method comprising the steps of: (a) creating an IO service framework object having a plurality of subroutines therein for providing data to, and receiving messages from, the application program in a format which is operating system independent; (b) creating in the kernel address space an interrupt service means having direct access to the hardware device, the interrupt service means being responsive to the processor interrupt for determining the status of the hardware device and generating a notification message based on the determined status; (c) creating in the application program address space a device access manager object having direct access to the hardware device, the device access manager being responsive to the notification message for retrieving data from the hardware device and for executing a subroutine in the IO service framework object for providing the data to the application program; wherein step (b) comprise the step of installing one of the plurality of interrupt handlers in the kernel address space in response to control signals generated by the device access manager; and wherein step (b) further comprises the step of removing the one interrupt handler program from the kernel address space when a device access manager is destroyed.
Claim 21
Independent Claim
253 words
A method for providing input/output services from a hardware device which generates a processor interrupt in a multi-tasking computer system having a memory partitioned into a plurality of address spaces, the computer system having an application program operating in an application program address space and an operating system kernel operating in a kernel address space, the method comprising the steps of: (a) creating an IO service framework object having a plurality of subroutines therein for providing data to, and receiving messages from, the application program in a format which is operating system independent; (b) creating in the kernel address space an interrupt service means having direct access to the hardware device, the interrupt service means being responsive to the processor interrupt for determining the status of the hardware device and generating a notification message based on the determined status; (c) creating in the application program address space a device access manager object having direct access to the hardware device, the device access manager being responsive to the notification message for retrieving data from the hardware device and for executing a subroutine in the IO service framework object for providing the data to the application program; wherein step (b) comprise the step of installing one of the plurality of interrupt handlers in the kernel address space in response to control signals generated by the device access manager; and wherein step (b) further comprises the step of removing the one interrupt handler program from the kernel address space when a device access manager is destroyed.
Claim 22
Dependent Claim
52 words
A method according to claim 16 wherein step (b) comprises the steps of: (b1) creating a plurality of interrupt handler programs in the kernel address space; and (b2) creating an interrupt service program responsive to the processor interrupt from the hardware device for executing one of the plurality of interrupt handler programs.
Claim 23
Dependent Claim
51 words
A method according to claim 16 wherein step (c) comprises the steps of: (c1) generating control signals formatted in an operating system independent manner; (c2) sending the control signals to the interrupt handler program; and (c3) receiving control signals formatted in an operating system independent manner from the interrupt handler program.
Claim 24
Dependent Claim
22 words
A method according to claim 16 wherein step (c) further comprises the step of: (c4) allocating data transfer buffers in the memory.
Claim 25
Dependent Claim
36 words
A method according to claim 16 wherein step (b) comprises the step of: (b4) removing the one interrupt handler program from the kernel address space in response to control signals generated by the device access manager.
Claim 26
Dependent Claim
50 words
A method according to claim 16 for providing input/output services from a plurality of hardware devices, wherein the method further comprises the step of: (d) creating a plurality of device access managers, each of the plurality of device access managers having direct access to one of the plurality hardware devices.
Claim 27
Dependent Claim
48 words
A method according to claim 21 wherein step (c) comprises the step of: (c5) installing an interrupt handler program in the kernel address space for each of the plurality of device access managers in response to control signals generated by each of the plurality of device access managers.
Claim 28
Dependent Claim
53 words
A method according to claim 16 wherein step (a) comprises the step of: (a1) accessing the hardware device and for generating a series of control signals to control the interrupt service means in order to perform the commands in response to a plurality of operating system independent commands generated by the application program.