Patent ID: 7864787

Claim:
An apparatus comprising: a non-kernel multicast protocol handler to perform a multicast 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 multicast protocol handler is to replace operating system kernel operations handling multicast operations with one or more operations of a multicast offload library, wherein the non-kernel multicast protocol handler is to replace operating system operations and kernel operations handling of multicast-related calls to a TCP/IP stack with one or more operations of the multicast offload library, wherein the non-kernel multicast protocol handler is to map the multicast operation to a socket interface of the multicast offload library implemented in user-space and externally to the operating system kernel, wherein the non-kernel multicast protocol handler is to select a context corresponding to a communication channel of an interconnect attached to said communication adapter, wherein the non-kernel multicast protocol handler is to intercept a socket operation of creation of an IP multicast membership registration of the user mode application, to map the intercepted socket operation to user-mode multicast protocol handling of said interconnect, and to map the socket of the user mode multicast 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 multicast 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 multicast 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 multicast protocol handler is implemented in user-space in the same context of the user-mode multicast application, in the same memory space of the user-mode multicast application, and in the same process of the user-mode multicast 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 multicast application to the kernel for handling the multicast operation.