Protocol stack
AssigneeIxia
InventorJan Olderdissen
Life of this patent
Estimating the term…
Abstract
There are disclosed processes and systems relating to protocol stacks. The protocol stack may be run entirely in a single memory space. There may be a communal memory region available to certain layers of the protocol stack. The layers of the protocol stack may form condensed versions of data and headers, and data units may be formed by hardware within the device when needed. After transmission, data units may be immediately deleted but recreated if needed for retransmission.
Claims49
A process of operating a protocol stack to transmit data, the protocol stack comprising a plurality of interfaced layers including an application layer, a transport layer and a device layer, the device layer having a transmit queue, the process comprising
- (a) forming at least a first portion of the data into a data unit
- (b) forming a context unit
- (c) the transport layer creating a transport header for a data unit
- (d) adding a transport context of transport information to the context unit
- (f) transmitting the data unit from the device in an open session
- (g) removing the data unit from the transmit queue
- (h) receiving an acknowledgement that the data unit has been received
- (i) removing the context unit from the context buffer
- (j) if the acknowledgement is not received, then using the context unit to recreate the data unit and placing the recreated data unit in the transmit queue.
A system for communicating data on a network, the system comprising
- a memory system having defined therein a user space and a kernel space
- a communications protocol stack comprising a plurality of interfaced layers including an application layer and a transport layer, wherein the application layer is disposed above the transport layer
- wherein the application layer and the transport layer are adapted to access data units in a communal memory space.
A storage medium having instructions stored thereon which when executed by a processor cause the processor to perform actions, the instructions comprising a protocol stack comprising a plurality of interfaced layers including an application layer, a transport layer and a device layer, the device layer having a transmit queue, the actions comprising:
- (a) forming at least a first portion of data into a data unit
- (b) forming a context unit and storing the context unit in a context buffer
- (c) the transport layer forming a transport header for the data unit
- (d) adding a transport context of transport information to the context unit
- (e) placing the data unit in the transmit queue
- (f) transmitting the data unit from the device in an open session
- (g) removing the data unit from the transmit queue
- (h) receiving an acknowledgement that the data unit has been received
- (i) removing the context unit from the context buffer
- (j) if the acknowledgement is not received, then using the context unit to recreate the data unit and placing the recreated data unit in the transmit queue.
A computing device to transmit data, the computing device comprising:
- a processor
- a protocol stack comprising a plurality of interfaced layers including an application layer, a transport layer and a device layer, the device layer having a transmit queue
- a memory coupled with the processor
- wherein the processor and the memory comprise circuits and software for
- (a) forming at least a first portion of the data into a data unit
- (b) forming a context unit and storing the context unit in a context buffer
- (c) the transport layer forming a transport header for the data unit
- (d) adding a transport context of transport information to the context unit
- (e) placing the data unit in the transmit queue
- (f) transmitting the data unit from the device in an open session
- (g) removing the data unit from the transmit queue
- (h) receiving an acknowledgement that the data unit has been received
- (i) removing the context unit from the context buffer
- (j) if the acknowledgement is not received, then using the context unit to recreate the data unit and placing the recreated data unit in the transmit queue.
A process for communicating data on a network using a system, the system comprising a memory system having defined therein a user space and a kernel space, the system further comprising a communications protocol stack comprising a plurality of interfaced layers including an application layer and a transport layer, wherein the application layer is disposed above the transport layer, the process comprising
- the application layer and the transport layer accessing data units in a communal memory space.
Dependencies are inferred from the claim text.