IP Library Granted Patent US 9,674,303
Granted Patent B1
US 9,674,303 · App. 14/548,040 · Granted Jun 6, 2017

Methods and systems for efficient data transmission in a data center by reducing transport layer processing

Inventors: Bruce A. Klemin (Rocklin, CA); Raymond Chow (Folsom, CA); Dean Scoville (Rocklin, CA)
Assignee: QLOGIC, Corporation
H04L67/32H04L67/14G06F3/0601G06F3/067G06F3/0635H04L41/04H04L67/1097H04L69/161H04L69/18H04L69/326
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 9,674,303
App. No.
14/548,040
Granted
Jun 6, 2017
Kind
B1
Abstract

Methods and systems for network communications are disclosed. The target device receives a request for a network connection from an initiator device, the request indicating a desire to bypass transport communication layer processing. The target device accepts the request and sends a response to the initiator device indicating an agreement to bypass the transport layer processing. The target device then receives a frame from the initiator device and processes the frame by bypassing the transport communication layer processing.

Claims (55)

1. A machine implemented method, comprising:

receiving a Transmission Control Protocol (TCP) connection request at a target device for a TCP connection from an initiator device;

accepting the TCP connection request by the target device;

receiving an Internet Small Computer System Interface (iSCSI) login request by the target device from the initiator device indicating a desire to bypass TCP layer processing for the TCP connection;

determining by the target device that network traffic with the initiator device is lossless and for a same traffic class;

sending a login response to the initiator device indicating an agreement to bypass the TCP layer processing;

transmitting frames from the initiator device using an ordering layer that bypasses TCP layer processing at the initiator device;

determining by an ordering layer at the target device that the frames received from the initiator device are in order; and

processing the frames using the ordering layer at the target device bypassing TCP layer processing.

2. The method of claim 1 , wherein the processing the frames includes:

sending the frames to an Internet Small Computer System Interface (iSCSI) layer for additional processing.

3. The method of claim 2 , further comprising:

closing the TCP connection when the frames are not delivered in order as determined by the ordering layer; and

attempting to start a new connection with the initiator device.

4. The method of claim 2 , wherein the frames include a TCP header and the iSCSI layer extracts at least one of the following from the TCP header: a port number, a sequence number, a header length, a reset flag, and a checksum field.

5. The method of claim 1 , wherein the target device accepts the login request when the initiator device is on a same subnet.

6. The method of claim 1 , wherein the TCP connection request includes an optional field for indicating a desire to bypass TCP layer processing.

7. The method of claim 1 , wherein the login response to the initiator indicates to use TCP layer processing when network traffic is not lossless.

8. A non-transitory, machine readable storage medium having stored thereon instructions for performing a method, comprising machine executable code which when executed by at least one machine, causes the machine to:

receive a Transmission Control Protocol (TCP) connection request at a target device for a TCP connection from an initiator device;

accept the TCP connection request by the target device;

receive an Internet Small Computer System Interface (iSCSI) login request by the target device from the initiator device indicating a desire to bypass TCP layer processing for the TCP connection;

determine by the target device that network traffic with the initiator device is lossless and for a same traffic class;

send a login response to the initiator device indicating an agreement to bypass the TCP layer processing;

transmit frames from the initiator device using an ordering layer that bypasses TCP layer processing at the initiator device;

determine by an ordering layer at the target device that the frames received from the initiator device are in order; and

process the frames using the ordering layer at the target device bypassing TCP layer processing.

9. The non-transitory, machine readable storage medium of claim 8 , wherein the code to process the frames includes code to:

send the frames to an Internet Small Computer System Interface (iSCSI) layer for additional processing.

10. The non-transitory, machine readable storage medium of claim 9 , further comprising code to:

close the network connection, when the frames are not received in order as determined by the ordering layer; and

attempt to start a new connection with the initiator device.

11. The non-transitory, machine readable storage medium of claim 9 , wherein the frames include a TCP header and the iSCSI layer extracts at least one of the following from the TCP header: a port number, a sequence number, a header length, a reset flag, and a checksum field.

12. The non-transitory, machine readable storage medium of claim 8 , wherein the target device accepts the connection request when the initiator device is on a same subnet.

13. The non-transitory, machine readable storage medium of claim 8 , wherein the TCP connection request includes an optional field for indicating a desire to bypass TCP layer processing.

14. The non-transitory, machine readable storage medium of claim 8 , wherein the login response to the initiator indicates to use TCP layer processing when network traffic is not lossless.

15. A system, comprising:

a memory containing machine readable medium comprising machine executable code having stored thereon instructions; and

a processor module coupled to the memory, the processor module configured to execute the machine executable code to:

receive a Transmission Control Protocol (TCP) connection request at a target device for a TCP connection from an initiator device;

accept the TCP connection request by the target device;

receive an Internet Small Computer System Interface (iSCSI) login request by the target device from the initiator device indicating a desire to bypass TCP layer processing for the TCP connection;

determine by the target device that network traffic with the initiator device is lossless and for a same traffic class;

send a login response to the initiator device indicating an agreement to bypass the TCP layer processing;

transmit frames from the initiator device using an ordering layer that bypasses TCP layer processing at the initiator device;

determine by an ordering layer at the target device that the frames received from the initiator device are in order; and

process the frames using the ordering layer at the target device bypassing TCP layer processing.

16. The system of claim 15 , wherein the instructions to process the frames include instructions to:

send the frames to an Internet Small Computer System Interface (iSCSI) layer for additional processing.

17. The system of claim 16 , further comprising instructions to:

close the network connection, when the frames are not received in order as determined by the ordering layer; and

attempt to start a new connection with the initiator device.

18. The system of claim 16 , wherein the frames include a TCP header and the iSCSI layer extracts at least one of the following from the TCP header: a port number, a sequence number, a header length, a reset flag, and a checksum field.

19. The system of claim 15 , wherein the target device accepts the connection request when the initiator device is on a same.

20. The system of claim 15 , wherein the TCP connection request includes an optional field for indicating a desire to bypass TCP layer processing.

Assignments (7)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 15, 2020
From: CAVIUM INTERNATIONAL
To: MARVELL ASIA PTE, LTD.
Reel/Frame 053179/0320 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 17, 2020
From: CAVIUM, LLC
To: CAVIUM INTERNATIONAL
Reel/Frame 051948/0807 →
CHANGE OF NAME Recorded Oct 8, 2018
From: CAVIUM, INC.
To: CAVIUM, LLC
Reel/Frame 047205/0953 →
RELEASE OF SECURITY INTEREST Recorded Jul 6, 2018
From: JP MORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: CAVIUM, INC; CAVIUM NETWORKS LLC; QLOGIC CORPORATION
Reel/Frame 046496/0001 →
MERGER Recorded Oct 18, 2017
From: QLOGIC CORPORATION
To: CAVIUM, INC.
Reel/Frame 044812/0504 →
SECURITY AGREEMENT Recorded Mar 1, 2017
From: QLOGIC CORPORATION
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 041854/0119 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 19, 2014
From: KLEMIN, BRUCE A.; CHOW, RAYMOND; SCOVILLE, DEAN
To: QLOGIC, CORPORATION
Reel/Frame 034213/0094 →