US6978465B2ExpiredUtilityA1
Control of device-driver persistency
Est. expiryDec 14, 2020(expired)· nominal 20-yr term from priority
Inventors:Mitch Williams
G06F 13/102G06F 9/4411H04L 69/32
64
PatentIndex Score
14
Cited by
6
References
25
Claims
Abstract
In a server having several network-interface cards each under control of a corresponding device driver, a method for controlling persistency of a device driver in memory includes determining whether an intermediate driver present in memory. If so then the device driver is set to be persistent in memory. This preserves the integrity of the interface between the intermediate driver and the device driver during replacement of a failed network-interface card.
Claims
exact text as granted — not AI-modified1. A computer implemented method comprising:
determining whether an intermediate driver is present in memory, wherein determining whether an intermediate driver is present in memory comprises:
receiving a message from a calling process, wherein receiving a message from a calling process comprises receiving an event control block from said calling process; and
determining, on the basis of said message, whether said calling process is an intermediate driver; and
adaptively controlling a persistency of a device driver present in memory on the basis of whether said intermediate driver is present in memory.
2. The method of claim 1 further comprising setting said device driver to be non-persistent when an intermediate driver is not present in memory.
3. The method of claim 1 further comprising setting said device driver to be persistent when an intermediate driver is present in memory.
4. The method of claim 1 further comprising:
determining whether persistency for said device driver is pre-specified; and
if said persistency is pre-specified, setting said device driver to operate consistently with said pre-specified persistency.
5. The method of claim 1 further comprising:
specifying a default persistency for said device driver; and
setting said device driver to said default persistency on the basis of whether an intermediate driver is present in memory.
6. The method of claim 1 further comprising:
specifying a default persistency for said device driver;
if an intermediate driver is present in memory, determining whether persistency of said driver is under automatic control; and
if persistency of said device driver is under automatic control setting said driver to be persistent.
7. A server comprising:
a network-interface card configured to receive a message from a calling process;
a memory;
a device driver for interfacing with said network-interface card, said device driver being configured to, at least in part on the basis of said message:
adaptively set its persistency in said memory on the basis of whether an intermediate driver is present in said memory,
determine whether persistency for said device driver is pre-specified, and
if said persistency is pre-specified, set said device driver to operate consistently with said pre-specified persistency.
8. The server of claim 7 wherein said device driver is configured to be persistent in said memory when an intermediate driver is present in said memory.
9. The server of claim 7 wherein said device driver is configured to be non-persistent in said memory when an intermediate driver is not present in said memory.
10. The server of claim 7 wherein said device driver is configured to receive a message from a calling process in said memory and to determine, on the basis of said message, whether said calling process is an intermediate driver.
11. The server of claim 7 further comprising configuration data for said device driver.
12. The server of claim 11 wherein said configuration data comprises data indicative of a pre-specified persistency state for said device driver.
13. The server of claim 11 wherein said configuration data comprises instructions to disable automatic persistency determination by said device driver.
14. A network interface for enabling a computer to send and receive messages over a network, said network interface comprising:
a network-interface card in communication with a memory element of said computer;
a device driver for controlling said network-interface card in response to messages received from a calling process, said device driver being configured to set its persistency in said memory on the basis of said calling process wherein said device driver is configured to:
determine whether persistency for said device driver is pre-specified; and
if said persistency is pre-specified, set said device driver to operate consistently with said pre-specified persistency.
15. The network interface of claim 14 wherein said device driver is configured to determine, on the basis of a message received from said calling process, whether said calling process is an intermediate driver.
16. The network interface of claim 14 wherein said device driver is configured to set said device driver to be non-persistent when said calling process is not an intermediate driver.
17. The network interface of claim 14 wherein said device driver is configured to set said device driver to be persistent when said calling process is an intermediate driver.
18. The network interface of claim 14 wherein said device driver is set to a default persistency when said calling process is not an intermediate driver.
19. The network interface of claim 14 wherein said automatic control of persistency status by a device driver can be disabled and disabled and said device driver is configured to be persistent when said automatic control of persistency status is enabled and said calling process is an intermediate driver.
20. A machine-readable medium having encoded thereon software for controlling persistency of a device driver in memory, said software comprising instructions for:
determining, at least in part on the basis of a message received from a calling process, whether an intermediate driver is present in memory; and
adaptively setting said persistency of said device driver on the basis of whether said intermediate driver is present in memory;
determining whether persistency for said device driver is pre-specified; and
if said persistency is pre-specified, setting said device driver to operate consistently with said pre-specified persistency.
21. The machine-readable medium of claim 20 wherein said instructions for determining whether an intermediate driver is present in memory comprise instructions for:
receiving a message from a calling process; and
determining, on the basis of said message, whether said calling process is an intermediate driver.
22. The machine-readable medium of claim 20 wherein said instructions for receiving a message from a calling process comprise receiving an event control block from said calling process.
23. The machine-readable medium of claim 20 wherein said software further comprises instructions for setting said device driver to be non-persistent when an intermediate driver is not present in memory.
24. The machine-readable medium of claim 20 wherein said software further comprises instructions for setting said device driver to be persistent when an intermediate driver is present in memory.
25. The machine-readable medium of claim 20 wherein said software further comprises instructions for:
specifying a default persistency for said device driver;
if an intermediate driver is present in memory, determining whether persistency of said driver is under automatic control; and
if persistency of said device driver is under automatic control setting said driver to be persistent.Join the waitlist — get patent alerts
Track US6978465B2 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.