Patent ID: 7848322

Claim:
An apparatus comprising: a non-kernel UDP protocol handler to perform a UDP operation of a user mode application by bypassing an operating system kernel and directly accessing a communication adapter having an operating system bypass capability, wherein the non-kernel UDP protocol handler is to replace operating system kernel operations handling UDP operations with one or more operations of a UDP offload library, wherein the non-kernel UDP protocol handler is to replace operating system operations and kernel operations handling of UDP unicast-related calls to a TCP-UDP/IP stack with one or more operations of the UDP offload library, wherein the non-kernel UDP protocol handler to map the UDP operation to a socket interface of the UDP offload library implemented in user-space and externally to the operating system kernel, wherein the non-kernel UDP protocol handler is to select a context corresponding to a communication channel of an interconnect attached to said communication adapter, wherein the non-kernel UDP protocol handler is to intercept a datagram socket creation operation of the user mode application, to map the intercepted datagram socket creation operation to user-mode UDP protocol handling of said interconnect, and to map the socket of the user mode UDP protocol handler directly to said interconnect to result in a user-mode socket like interface which is mapped directly to said communication channel of said interconnect; wherein the non-kernel UDP protocol handler operates externally to a kernel mode of said operating system and externally to a kernel of said operating system, wherein the non-kernel UDP protocol handler operates independently of kernel TCP/IP stack, independently of Operating System socket Application Programming Interface (API) , and independently of kernel Application Programming Interface (API), wherein the non-kernel UDP protocol handler is implemented in user-space in the same context of the user-mode application, in the same memory space of the user-mode application, and in the same process of the user-mode application, to avoid context switch, to reduce processor interrupts, to avoid kernel interrupts, to avoid utilization of an intermediate kernel buffer, to avoid kernel buffer copies, to avoid user-mode to kernel-mode context switch, and to avoid a system call by the user-mode application to the kernel for handling the UDP operation.