US6978465B2ExpiredUtilityA1

Control of device-driver persistency

Assignee: INTEL CORPPriority: Dec 14, 2000Filed: Dec 14, 2000Granted: Dec 20, 2005
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-modified
1. 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.