Device, system and method of multicast communication
Device, system and method of multicast communication. For example, an apparatus in accordance with an embodiment of the invention includes a non-kernel multicast protocol handler adapted to perform a multicast operation of a user mode application by bypassing the operating system kernel and directly accessing a communication adapter having an operating system bypass capability.
1 - 21 . (canceled)
22 . An apparatus comprising:
a non-kernel multicast protocol handler to perform a multicast operation of a user mode application by (a) bypassing an operating system kernel and directly accessing a communication adapter having an operating system bypass capability, and (b) replacing operating system kernel operations handling multicast operations with one or more operations of a multicast offload library,
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.
23 . The apparatus of claim 22 , wherein the non-kernel multicast protocol handler is to perform said multicast operation using a native semantic of said communication adapter.
24 . The apparatus of claim 22 , wherein said communication adapter comprises a communication adapter selected from a group consisting of: an InfiniBand adapter, and an Ethernet adapter.
25 . The apparatus of claim 22 , wherein the non-kernel multicast protocol handler is to perform said multicast operation in user space.
26 . The apparatus of claim 22 , wherein said multicast operation comprises (a) an Internet Protocol (IP) multicast operation, (b) an IP header, and (c) a User Datagram Protocol (UDP) header,
wherein the non-kernel multicast protocol handler is to perform said IP multicast operation externally to a Transmission Control Protocol/Internet Protocol (TCP/IP) stack of said operating system kernel,
wherein the user-mode application is to utilize the user-mode multicast protocol handler to directly interact with a remote application which is located on a remote device and utilizes a kernel-mode Transmission Control Protocol/Internet Protocol (TCP/IP) multicast protocol handler implemented using native Operating System stack of said remote device.
27 . The apparatus of claim 22 , wherein the non-kernel multicast protocol handler is (a) to monitor operations sent by said user mode application for execution by said operating system kernel, and (b) to intercept the multicast operation, wherein the multicast operation is selected from a group consisting of:
a multicast send operation,
a multicast receive operation,
an operation to add a multicast socket,
an operation to delete a multicast socket,
an operation to modify a multicast socket, and
an operation to control a multicast socket.
28 . An apparatus comprising:
a non-kernel multicast protocol handler to perform a multicast operation of a user mode application by (a) bypassing an operating system kernel and directly accessing a communication adapter having an operating system bypass capability, and (b) replacing operating system kernel operations handling multicast operations with one or more operations of a multicast offload library,
wherein the non-kernel multicast protocol handler operates (i) independently of kernel Transmission Control Protocol / Internet Protocol (TCP/IP) stack, (ii) independently of Operating System (OS) socket Application Programming Interface (API), and (iii) independently of kernel Application Programming Interface (API).
29 . The apparatus of claim 28 , wherein the non-kernel multicast protocol handler is to perform said multicast operation using a native semantic of said communication adapter.
30 . The apparatus of claim 28 , wherein said communication adapter comprises a communication adapter selected from a group consisting of: an InfiniBand adapter, and an Ethernet adapter.
31 . The apparatus of claim 28 , wherein the non-kernel multicast protocol handler is to perform said multicast operation in user space.
32 . The apparatus of claim 28 , wherein said multicast operation comprises (a) an Internet Protocol (IP) multicast operation, (b) an IP header, and (c) a User Datagram Protocol (UDP) header,
wherein the non-kernel multicast protocol handler is to perform said IP multicast operation externally to a TCP/IP stack of said operating system kernel,
wherein the user-mode application is to utilize the user-mode multicast protocol handler to directly interact with a remote application which is located on a remote device and utilizes a kernel-mode TCP/IP multicast protocol handler implemented using native Operating System stack of said remote device.
33 . The apparatus of claim 28 , wherein the non-kernel multicast protocol handler is (a) to monitor operations sent by said user mode application for execution by said operating system kernel, and (b) to intercept the multicast operation, wherein the multicast operation is selected from a group consisting of:
a multicast send operation,
a multicast receive operation,
an operation to add a multicast socket,
an operation to delete a multicast socket,
an operation to modify a multicast socket, and
an operation to control a multicast socket.
34 . An apparatus comprising:
a non-kernel multicast protocol handler to perform a multicast operation of a user mode application by (a) bypassing an operating system kernel and directly accessing a communication adapter having an operating system bypass capability, and (b) replacing 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 implemented in user-space (i) in a same context of the user-mode multicast application, (ii) in a same memory space of the user-mode multicast application, and (iii) in a same process of the user-mode multicast application.
35 . The apparatus of claim 34 , wherein the non-kernel multicast protocol handler is to perform said multicast operation using a native semantic of said communication adapter.
36 . The apparatus of claim 34 , wherein said communication adapter comprises a communication adapter selected from a group consisting of: an InfiniBand adapter, and an Ethernet adapter.
37 . The apparatus of claim 34 , wherein the non-kernel multicast protocol handler is to perform said multicast operation in user space.
38 . The apparatus of claim 34 , wherein said multicast operation comprises (a) an Internet Protocol (IP) multicast operation, (b) an IP header, and (c) a User Datagram Protocol (UDP) header,
wherein the non-kernel multicast protocol handler is to perform said IP multicast operation externally to a Transmission Control Protocol/Internet Protocol (TCP/IP) stack of said operating system kernel,
wherein the user-mode application is to utilize the user-mode multicast protocol handler to directly interact with a remote application which is located on a remote device and utilizes a kernel-mode TCP/IP multicast protocol handler implemented using native Operating System stack of said remote device.
39 . The apparatus of claim 33 , wherein the non-kernel multicast protocol handler is (a) to monitor operations sent by said user mode application for execution by said operating system kernel, and (b) to intercept the multicast operation, wherein the multicast operation is selected from a group consisting of:
a multicast send operation,
a multicast receive operation,
an operation to add a multicast socket,
an operation to delete a multicast socket,
an operation to modify a multicast socket, and
an operation to control a multicast socket.