Dynamically self-adjusting polling mechanism
First Claim
1. A system for storing selected vendor-specific messages generated in an adapter card coupled to a host computer into a disk file controlled by the host computer, comprising:
- logic resident on the adapter card for generating the vendor-specific messages and selecting certain types of the vendor-specific messages for logging;
a fixed-size buffer pool in the host computer for receiving and storing the selected vendor-specific messages; and
at least one processor in the host computer programmed for executing a service application in user space in the host computer to periodically poll the buffer pool, retrieve the selected vendor-specific messages from the buffer pool, store the selected vendor-specific messages in the disk file, increase a polling frequency of the buffer pool according to a first methodology if buffer pool utilization is at or above a first predetermined threshold, and decrease the polling frequency of the buffer pool according to a second methodology if the buffer pool utilization is below a second predetermined threshold for a predetermined number of consecutive polling periods to account for multiple bursts of vendor-specific messages occurring within a period of vendor-specific message inactivity.
8 Assignments
0 Petitions
Accused Products
Abstract
A system and method is disclosed for preventing the loss of event messages due to message buffer overruns. A fixed vendor-specific buffer pool is loaded with log messages by firmware in an adapter. A service application periodically polls a device driver for messages in the buffer pool. The device driver responds with the number of messages stored in the buffer pool and the total number of buffers in the buffer pool. The service application then issues “get next message” requests to receive the stored messages. Once the buffer pool has been emptied, the service application writes the messages to a disk file. The service application then computes a percent utilization of the buffer pool, and if the percent utilization exceeds a predetermined threshold, an algorithm is employed for increasing the polling frequency. If the percent utilization is below the threshold, an algorithm is employed for decreasing the polling frequency.
27 Citations
39 Claims
-
1. A system for storing selected vendor-specific messages generated in an adapter card coupled to a host computer into a disk file controlled by the host computer, comprising:
-
logic resident on the adapter card for generating the vendor-specific messages and selecting certain types of the vendor-specific messages for logging;
a fixed-size buffer pool in the host computer for receiving and storing the selected vendor-specific messages; and
at least one processor in the host computer programmed for executing a service application in user space in the host computer to periodically poll the buffer pool, retrieve the selected vendor-specific messages from the buffer pool, store the selected vendor-specific messages in the disk file, increase a polling frequency of the buffer pool according to a first methodology if buffer pool utilization is at or above a first predetermined threshold, and decrease the polling frequency of the buffer pool according to a second methodology if the buffer pool utilization is below a second predetermined threshold for a predetermined number of consecutive polling periods to account for multiple bursts of vendor-specific messages occurring within a period of vendor-specific message inactivity. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. In a system for temporarily storing selected vendor-specific messages into a fixed-size buffer pool and periodically polling the buffer pool to empty the buffer pool and transfer the selected vendor-specific messages to a disk file controlled by a host computer, an adapter for assisting in storing the selected vendor-specific messages into the buffer pool and transferring them to the disk file, comprising:
-
logic for generating the vendor-specific messages and selecting certain types of the vendor-specific messages for logging in accordance with a configurable logging level; and
a device driver installable into kernel space in the host computer for allocating the fixed-size buffer pool in the host computer upon initialization of the device driver and for managing a storing and retrieval of the messages into the buffer pool. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23)
-
-
24. A method for storing selected vendor-specific adapter card messages into a disk file controlled by a host computer, comprising:
-
allocating a fixed-size buffer pool in the host computer for receiving and storing the selected vendor-specific messages;
periodically polling the buffer pool retrieve and remove the selected vendor-specific messages from the buffer pool and store the selected vendor-specific messages in the disk file;
increasing a polling frequency of the buffer pool according to a first methodology if buffer pool utilization is at or above a first predetermined threshold; and
decreasing the polling frequency of the buffer pool according to a second methodology if the buffer pool utilization is below a second predetermined threshold for a predetermined number of consecutive polling periods to account for multiple bursts of vendor-specific messages occurring within a period of vendor-specific message inactivity. - View Dependent Claims (25, 26, 27, 28, 29, 30)
-
-
31. A host computer for periodically polling selected vendor-specific messages stored into a fixed-size buffer pool to empty the buffer pool and transfer the selected vendor-specific messages to a disk file, comprising:
-
a fixed-size buffer pool for receiving and storing the selected vendor-specific messages;
a device driver installable into kernel space in the host computer for allocating the fixed-size buffer pool upon initialization of the device driver and for managing a storing and retrieval of the messages into the buffer pool; and
at least one processor in the host computer programmed for executing a service application in user space in the host computer to periodically poll the buffer pool, retrieve the selected vendor-specific messages from the buffer pool, store the selected vendor-specific messages in the disk file, increase a polling frequency of the buffer pool according to a first methodology if buffer pool utilization is at or above a first predetermined threshold, and decrease the polling frequency of the buffer pool according to a second methodology if the buffer pool utilization is below a second predetermined threshold for a predetermined number of consecutive polling periods to account for multiple bursts of vendor-specific messages occurring within a period of vendor-specific message inactivity. - View Dependent Claims (32, 33, 34, 35, 36, 37, 38, 39)
-
Specification