Protocol stack using shared memory
AssigneeIxia
InventorJan Olderdissen
Life of this patent
Estimating the term…
Abstract
There are disclosed processes and systems relating to optimized network traffic generation and reception. Application programs and a protocol stack may share a memory space. The protocol stack may designate available bandwidth for use by an application program. The application programs may store descriptors from which the protocol stack may form payload data for data units.
Claims29
A protocol stack for interacting with an application program, wherein the protocol stack is disposed in kernel space and the application program is disposed in user space, the protocol stack comprising
- a plurality of interfaced layers in which data units are received at the highest layer and logically passed down to and processed by succeeding lower layers
- wherein the protocol stack is adapted to inform the application program of bandwidth availability.
A process of transmitting data units with a protocol stack, the protocol stack disposed in a kernel space and comprising a plurality of interfaced layers in which data units are received at the highest layer and logically passed down to and processed by succeeding lower layers, the process comprising
- designating at least one region in kernel memory for storage of descriptors of payload data by an application program operative in user space
- forming data units from the descriptors stored in kernel memory
- transmitting the data units.
Apparatus for receiving data units comprising
- a protocol stack disposed in a kernel space and comprising a plurality of interfaced layers in which data units are received at the lowest layer and logically passed up to and processed by succeeding higher layers
- an application program disposed in a user space
- a memory space shared by the application program and the protocol stack
- wherein payload data of the data units are accessed by the application program directly from the shared memory.
A process for transmitting data using a protocol stack comprising a plurality of interfaced layers, wherein the protocol stack is disposed in kernel space, the protocol stack for interacting with an application program which is disposed in user space, the process comprising
- informing the application program of bandwidth availability.
A protocol stack comprising
- a plurality of interfaced layers disposed in a kernel space in which data units are received at the highest layer and logically passed down to and processed by succeeding lower layers
- wherein the protocol stack is adapted to
- designate at least one region in kernel memory for storage of descriptors of payload data by an application program operative in user space
- form data units from the descriptors.
A process for receiving data units using a protocol stack disposed in a kernel space and comprising a plurality of interfaced layers in which data units are received at the lowest layer and logically passed up to and processed by succeeding higher layers, the process comprising
- designating a memory space to share by an application program in user space and the protocol stack
- the application program accessing payload data of the data units directly from the shared memory.
Dependencies are inferred from the claim text.