IP Library Granted Patent US 8,649,395
Granted Patent B2
US 8,649,395 · App. 13/372,325 · Granted Feb 11, 2014

Protocol stack using shared memory

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,649,395
App. No.
13/372,325
Granted
Feb 11, 2014
Kind
B2
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.

Claims (28)

1. A computing device comprising

a processor, user memory, kernel memory and a network communications unit

an application program disposed in user space in the user memory

a communications protocol stack configured to interact with the application program,

wherein the communications protocol stack is disposed in kernel space in the kernel memory, the communications 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 communications protocol stack is adapted to inform the application program of bandwidth availability on the computing device, the bandwidth availability including timing information and an amount of data that can be sent, wherein the timing information comprises at least one of when a transmit window will open paired with a size of the transmit window and a deadline for action

wherein the communications protocol stack is further adapted to designate at least one region in a shared memory for storage of descriptors of payload data by the application program and to form data units from the descriptors of payload data obtained from the shared memory

wherein the communications protocol stack is adapted to recognize the descriptors indicative that the protocol stack should set the payload data to be one selected from the group including anything, a constant value or constant application data.

2. The computing device of claim 1 wherein

the constant application data is pointed to by a buffer.

3. The computing device of claim 1 , wherein the computing device is a communications apparatus.

4. The computing device of claim 1 wherein the plurality of interfaced layers include at least two of, from highest to lowest, a session layer, a transport layer, a network layer and a data-link layer.

5. The computing device of claim 4 wherein the transport layer is the transmission control protocol of a TCP/IP protocol and the network layer is the Internet Protocol of the TCP/IP protocol.

6. A process for transmitting data using a communications protocol stack on a computing device, the communications protocol stack comprising a plurality of interfaced layers, wherein the communications protocol stack is disposed in kernel space on the computing device, the communications protocol stack for interacting with an application program which is disposed in user space on the computing device, the process comprising

informing the application program of bandwidth availability on the computing device, the bandwidth availability including timing information and an amount of data that can be sent by the computing device, wherein the timing information comprises at least one of a deadline for action and when a transmit window will open paired with a size of the transmit window

designating at least one region in a shared memory for storage of descriptors of payload data by the application program

forming data units from the descriptors of payload data placed in the shared memory by the application program, the forming including

obtaining the descriptors of payload data from the shared memory

recognizing the descriptors of payload data

based on the recognized descriptors performing one of the following actions

setting the payload data to be anything

setting the payload data to be a constant value

setting the payload data to be constant application data.

7. The process of claim 6 wherein

the constant application data is pointed to by a buffer.

8. The process of claim 6 wherein the plurality of interfaced layers include at least two of, from highest to lowest, a session layer, a transport layer, a network layer and a data-link layer.

9. The process of claim 8 wherein the transport layer is the transmission control protocol of a TCP/IP protocol and the network layer is the Internet Protocol of the TCP/IP protocol.

Assignments (6)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 19, 2018
From: KEYSIGHT TECHNOLOGIES SINGAPORE (HOLDINGS) PTE. LTD.
To: KEYSIGHT TECHNOLOGIES SINGAPORE (SALES) PTE. LTD.
Reel/Frame 048225/0065 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 18, 2017
From: IXIA
To: KEYSIGHT TECHNOLOGIES SINGAPORE (HOLDINGS) PTE. LTD.
Reel/Frame 044222/0695 →
RELEASE OF SECURITY INTEREST Recorded Apr 26, 2017
From: SILICON VALLEY BANK, AS SUCCESSOR ADMINISTRATIVE AGENT
To: IXIA
Reel/Frame 042335/0465 →
NOTICE OF SUBSTITUTION OF ADMINISTRATIVE AGENT Recorded Feb 2, 2015
From: BANK OF AMERICA, N.A., RESIGNING ADMINISTRATIVE AGENT
To: SILICON VALLEY BANK, AS SUCCESSOR ADMINISTRATIVE AGENT
Reel/Frame 034870/0598 →
SECURITY AGREEMENT Recorded Jan 25, 2013
From: IXIA
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 029698/0060 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 28, 2012
From: OLDERDISSEN, JAN RA
To: IXIA
Reel/Frame 027949/0524 →