System and method for interfacing TCP offload engines using an interposed socket library
First Claim
1. A method for processing network requests received by a computer comprising:
- intercepting, by an interposed socket library, a request transmitted from an application program;
processing said request to determine whether said request is directed to a generic network adapter or to a TCP offload engine network adapter;
wherein if said request is directed to said TCP offload engine network adapter, directly transmitting said request to said TCP offload engine network adapter for processing thereby bypassing processing by said computer'"'"'s generic operating system.
1 Assignment
0 Petitions
Accused Products
Abstract
A system and method for interfacing TCP Offload Engines (TOE) into an operating system to improve system performance and reduce CPU utilization. The system and method places an interposed filter before the generic user space socket library near the top of the TCP stack to intercept at the earliest possible layer a user application network socket request. The interposed filter determines whether an I/O request is targeted for a generic network adapter or a full TOE network adapter. For I/O requests that are targeted to a full TOE network adapter, the request is formatted to meet the requirements of the full TOE driver and sent directly to that driver, bypassing the operating system'"'"'s generic user space socket library and socket driver in kernel space. This system and method takes full advantage of the capabilities offered by TOE hardware.
-
Citations
23 Claims
-
1. A method for processing network requests received by a computer comprising:
-
intercepting, by an interposed socket library, a request transmitted from an application program;
processing said request to determine whether said request is directed to a generic network adapter or to a TCP offload engine network adapter;
wherein if said request is directed to said TCP offload engine network adapter, directly transmitting said request to said TCP offload engine network adapter for processing thereby bypassing processing by said computer'"'"'s generic operating system. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method for processing network requests received by a computer comprising:
-
intercepting, by an interposed filter, a request transmitted from an application program;
processing said request to determine whether said request is directed to a generic network adapter or to a TCP offload engine network adapter;
wherein if said request is directed to said TCP offload engine network adapter, directly transmitting said request to said TCP offload engine network adapter for processing thereby bypassing processing by said computer'"'"'s generic operating system. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A method for processing network requests received by a computer comprising:
-
intercepting the transmitted requests at an interposed socket library, said interposed socket library being located between an application program and a user space socket library;
processing said request by said interposed socket library to determine if said request is directed to a generic network adapter or a TCP offload engine network adapter;
wherein if said request is directed to a TCP offload engine network adapter, said request is sent to said TCP offload engine network adapter for processing, thereby bypassing processing by said computer'"'"'s central processing unit, and if said request is directed to a generic network adapter, said request is processed by said user space socket library. - View Dependent Claims (16, 17, 18, 19)
-
-
20. A computer system for processing network I/O requests comprising:
-
a computer running an operating system and having access to at least one server computer via a network for receiving I/O requests;
said computer transmitting said I/O requests to an interposed socket library;
said interposed socket library configured to process said I/O requests to determine whether said I/O request is directed to a generic network adapter or to a TCP offload engine network adapter;
wherein if said I/O request is directed to said TCP offload engine network adapter, said I/O request is sent to said TCP offload engine network adapter for processing thereby bypassing processing by said computer'"'"'s generic operating system processing, and if said I/O request is directed to said generic network adapter, said I/O request is transmitted to a user space socket library. - View Dependent Claims (21)
-
-
22. A computer program product for enabling a computer to process network I/O requests comprising:
-
software instructions for enabling the computer to perform predetermined operations, and a computer readable medium bearing the software instructions;
the predetermined operations including the steps of;
intercepting the transmitted requests at an interposed socket library, said interposed socket library being located between an application program and a user space socket library;
processing said request by said interposed socket library to determine if said request is directed to a generic network adapter or a TCP offload engine network adapter;
wherein if said request is directed to a TCP offload engine network adapter, said request is sent to said TCP offload engine network adapter for processing, thereby bypassing processing by said computer'"'"'s central processing unit, and if said request is directed to a generic network adapter, said request is processed by said user space socket library.
-
-
23. A computer system adapted to processing network I/O requests, comprising:
-
a processor;
a memory;
including software instructions adapted to enable the computer system to perform the steps of;
intercepting the transmitted requests at an interposed socket library, said interposed socket library being located between an application program and a user space socket library;
processing said request by said interposed socket library to determine if said request is directed to a generic network adapter or a TCP offload engine network adapter;
wherein if said request is directed to a TCP offload engine network adapter, said request is sent to said TCP offload engine network adapter for processing, thereby bypassing processing by said computer'"'"'s central processing unit, and if said request is directed to a generic network adapter, said request is processed by said user space socket library.
-
Specification