IP Library Granted Patent US 9,747,227
Granted Patent B1
US 9,747,227 · App. 13/902,453 · Granted Aug 29, 2017

Method and system for transmitting information from a network device

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,747,227
App. No.
13/902,453
Granted
Aug 29, 2017
Kind
B1
Abstract

Method and system for transmitting same data by at least two different ports of a network device coupled to a computing device or to at least two different destinations coupled to a same port of the network device is provided. The computing device sends a single command for sending the same data to the network device. The network device obtains the same data from the computing device via one direct memory access (DMA) operation; and then sends only one notification for transmitting the same data via at least two different ports or to two different destinations via the same port.

Claims (50)

1. A machine implemented method for transmitting data to one or more destinations of a networked system by at least two different ports of a network device coupled to a computing device and interfacing with the one or more destinations using a network link, comprising:

generating by an application executed by the computing device, a plurality of requests to transmit data by the network device;

receiving the plurality of requests by a processor executable driver executed by the computing device for interfacing with the network device;

detecting by the driver, based on the plurality of requests, that the data to be transmitted by at least two different ports of the network device is same data;

generating by the driver, based on the plurality of requests, a single command commanding the network device to transmit the same data using the at least two different ports of the network device;

receiving the single command by the network device from the computing device for transmitting the same data, as determined by the driver, using the at least two different ports;

obtaining, by the network device, in response to the single command, the same data from the computing device via one direct memory access (DMA) operation;

appending, by the network device, in response to the single command, a header for transmitting the same data twice by the at least two different ports;

transmitting, in response to the single command, the same data twice by the at least two different ports with the appended header; and

sending, by the network device, only one notification to the computing device after transmitting the same data twice by the at least two different ports via the network link, wherein the network device notifies the driver after the same data is transmitted.

2. The method of claim 1 , wherein the same data is transmitted using a Fibre Channel protocol.

3. The method of claim 1 , wherein the same data is transmitted using a Fibre Channel over Ethernet protocol.

4. The method of claim 1 , wherein the network device is a Fibre Channel over Ethernet adapter, an iSCSI or a Fibre Channel adapter.

5. The method of claim 1 , wherein the network device is an adapter having a transmit module that processes the single command.

6. The method of claim 5 , wherein the transmit module initiates the single DMA operation for getting the same data from the computing device.

7. The method of claim 1 , wherein the driver detects that the same data is being transmitted based on a logical block address where the same data is stored, the logical block address provided by the application to the driver.

8. The method of claim 1 , wherein instead of the driver, the application generates the single command for the driver and the driver sends the single command to the network device.

9. A non-transitory, machine readable storage medium having stored thereon instructions for performing a method for transmitting data to one or more destinations of a networked system by at least two different ports of a network device coupled to a computing device and interfacing with the one or more destinations using a network link, comprising machine executable code which when executed by at least one machine, causes the machine to:

generate by an application executed by the computing device, a plurality of requests to transmit data by the network device;

receive the plurality of requests by a processor executable driver executed by the computing device for interfacing with the network device;

detect by the driver, based on the plurality of requests, that the data to be transmitted by at least two different ports of the network device is same data;

generate by the driver, based on the plurality of requests, a single command commanding the network device to transmit the same data using the at least two different ports of the network device;

receive the single command by the network device from the computing device for transmitting the same data, as determined by the driver, using the at least two different ports;

obtain, by the network device, in response to the single command, the same data from the computing device via one direct memory access (DMA) operation;

append, by the network device, in response to the single command, a header for transmitting the same data twice by the at least two different ports;

transmit, in response to the single command, the same data twice by the at least two different ports with the appended header; and

send, by the network device, only one notification to the computing device after transmitting the same data twice by the at least two different ports via the network link, wherein the network device notifies the driver after the same data is transmitted.

10. The non-transitory machine readable medium of claim 9 , wherein the same data is transmitted using a Fibre Channel protocol.

11. The non-transitory machine readable medium of claim 9 , wherein the same data is transmitted using a Fibre Channel over Ethernet protocol.

12. The non-transitory machine readable medium of claim 9 , wherein the network device is a Fibre Channel over Ethernet adapter, an iSCSI or a Fibre Channel adapter.

13. The non-transitory machine readable medium of claim 9 , wherein the network device is an adapter having a transmit module that processes the single command.

14. The non-transitory machine readable medium of claim 13 , wherein the transmit module initiates the single DMA operation for getting the same data from the computing device.

15. The non-transitory machine readable medium of claim 9 , wherein the driver detects that the same data is being transmitted based on an address where the same data is stored, the address provided by the application to the driver.

16. The non-transitory machine readable medium of claim 9 , wherein instead of the driver, the application generates the single command for the driver and the driver sends the single command to the network device.

17. A machine implemented method for transmitting data to one or more destinations of a networked system by at least two different ports of a network device coupled to a computing device and interfacing with the one or more destinations using a network link, comprising:

generating by an application executed by the computing device, a plurality of requests to transmit data by the network device to more than one destination by the at least two different ports;

determining by the application that the data to be transmitted by the at least two different ports is same data;

generating by the application, based on the plurality of requests, a single command commanding the network device to transmit the same data using the at least two different ports;

receiving the single command by the network device from the computing device for transmitting the same data, using the at least two different ports;

obtaining, by the network device, in response to the single command, the same data from the computing device via one direct memory access (DMA) operation;

appending, by the network device, in response to the single command, a header for transmitting the same data twice by the at least two different ports;

transmitting, in response to the single command, the same data twice by the at least two different ports with the appended header; and

sending, by the network device, only one notification to the computing device after transmitting the same data twice by the at least two different ports via the network link.

18. The method of claim 17 , wherein the same data is transmitted using a Fibre Channel protocol.

19. The method of claim 17 , wherein the same data is transmitted using a Fibre Channel over Ethernet protocol.

20. The method of claim 17 , wherein the network device is a Fibre Channel over Ethernet adapter, an iSCSI or a Fibre Channel adapter.

21. The method of claim 17 , wherein the network device is an adapter having a transmit module that processes the single command.

22. The method of claim 21 , wherein the transmit module initiates the single DMA operation for getting the same data from the computing device.

23. The method of claim 17 , wherein the application detects that the same data is being transmitted based on a logical block address (LBA) of where the same data is stored.

24. The method of claim 17 , wherein the network device notifies a driver after the same data is transmitted.

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 May 24, 2013
From: GAMBHIR-PAREKH, MANISHA SAMEER
To: QLOGIC, CORPORATION
Reel/Frame 030484/0926 →