IP Library Granted Patent US 8,270,420
Granted Patent B2
US 8,270,420 · App. 12/638,954 · Granted Sep 18, 2012

iSCSI to FCoE gateway

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,270,420
App. No.
12/638,954
Granted
Sep 18, 2012
Kind
B2
Abstract

Transparent communication between iSCSI and FCoE end nodes is provided by a gateway device having iSCSI and FCoE network interfaces. The gateway allows end nodes of one protocol to communicate with end nodes of another protocol as if they were communicating with end nodes of the same protocol. The gateway accomplishes this by creating “ghost” end nodes for each protocol. For example, the gateway creates ghost iSCSI nodes corresponding to physical FCoE nodes, and ghost FCoE nodes corresponding to physical iSCSI nodes. A ghost end node of a particular protocol is able to communicate with native end nodes of that protocol as if it were a native end node, because the gateway translates packets sent from end nodes in their native protocol into the other protocol for receipt by corresponding ghost nodes, and vice versa.

Claims (123)

1. A method performed by a gateway, the method comprising:

(A) receiving an Internet Small Computer System Interface (iSCSI) packet containing an iSCSI protocol data unit (PDU) from a first iSCSI node using an iSCSI protocol;

(B)

(B)(1) identifying a Fibre Channel over Ethernet (FCoE) node based on contents of the iSCSI packet;

(B)(2) creating a session table entry containing communication session mapping information between attributes of the first iSCSI node and attributes of an FCoE node; and

(B)(3) initiating an iSCSI session between the first iSCSI node and an iSCSI ghost node corresponding to the FCoE node, wherein the iSCSI ghost node is a virtual representation of the FCOE node in a physical network.

2. The method of claim 1 , wherein (B) further comprises:

(B)(4) determining whether the iSCSI PDU in the iSCSI packet contains a login command; and

(B)(5) performing (B)(1), (B)(2), and (B)(3) in response to determining that the iSCSI PDU in the iSCSI packet contains a login command.

3. The method of claim 2 , wherein (B)(4) comprises:

(B)(4)(a) determining whether the iSCSI PDU in the iSCSI packet contains a read command or a write command; and

(B)(4)(b) determining that the iSCSI PDU in the iSCSI packet contains a login command if the iSCSI PDU in the iSCSI packet is not determined to contain a read command or a write command.

4. The method of claim 1 , wherein (B) further comprises:

(B)(4)(c) before (B)(3), creating the iSCSI ghost node corresponding to the FCoE node.

5. The method of claim 1 , further comprising:

(C)

(C)(1) storing FCoE data in an FCoE packet based on the mapping information and iSCSI data from the iSCSI packet.

6. The method of claim 5 , wherein (C) further comprises:

(C)(2) transmitting the FCoE packet to the FCoE node using a FCoE protocol.

7. The method of claim 6 , wherein (C) further comprises:

(C)(3) before (B)(1), determining whether the iSCSI PDU contains a read command; and

(C)(4) performing (C)(1) and (C)(2) in response to determining that the iSCSI PDU contains a read command.

8. The method of claim 6 , wherein (C) further comprises:

(C)(3) before (B)(1), determining whether the iSCSI PDU contains a write command; and

(C)(4) performing (C)(1) and (C)(2) in response to determining that the iSCSI PDU contains a write command.

9. The method of claim 6 , wherein (C)(1) comprises converting the iSCSI packet into the FCoE packet.

10. The method of claim 5 , wherein (C)(1) comprises:

(C)(1)(a) creating the FCoE packet;

(C)(1)(b) translating at least one iSCSI command and at least one iSCSI datum from the iSCSI packet into at least one analogous FCoE command and at least one analogous FCoE datum; and

(C)(1)(c) storing the at least one analogous FCoE command and at least one analogous FCoE datum in the FCoE packet.

11. A system comprising:

an Internet Small Computer System Interface (iSCSI) network interface to receive a packet containing an iSCSI protocol data unit from a first iSCSI node using the iSCSI protocol;

a packet processor to:

identify a Fibre Channel over Ethernet (FCoE) node based on contents of the iSCSI PDU;

create a session table entry containing mapping information between attributes of the first iSCSI node and attributes of an FCoE node; and

initiate an iSCSI session between the first iSCSI node and an iSCSI ghost node corresponding to the FCoE node, wherein the iSCSI ghost node is a virtual representation of the FCOE node in a physical network.

12. The system of claim 11 , wherein the packet processor is further to:

determine whether the iSCSI PDU in the iSCSI packet contains a login command; and

identify the FCoE node, create the session table entry, and initiate the iSCSI session in response to determining that the iSCSI PDU in the iSCSI packet contains a login command.

13. The system of claim 12 , wherein the packet processor is to determine whether the iSCSI PDU contains the login command by:

determining whether the iSCSI PDU in the iSCSI packet contains a read command or a write command; and

determining that the iSCSI PDU in the iSCSI packet contains a login command if the iSCSI PDU in the iSCSI packet is not determined to contain a read command or a write command.

14. The system of claim 11 , wherein the packet processor is further to:

create the iSCSI ghost node corresponding to the FCoE node.

15. The system of claim 11 , wherein the packet processor is further to:

store FCoE data in an FCoE packet based on the mapping information and iSCSI data from the iSCSI packet.

16. The system of claim 15 , further comprising:

an FCoE network interface to transmit the FCoE packet to the FCoE node using a FCoE protocol.

17. The system of claim 16 , wherein the packet processor is further to:

determine whether the iSCSI PDU contains a read command; and

wherein the packet processor is adapted to store the FCoE data in the FCoE packet, and the FCoE network interface is adapted to transmit the FCoE packet, in response to determining that the iSCSI PDU contains a read command.

18. The system of claim 16 , wherein the packet processor is further to:

determine whether the iSCSI PDU contains a write command; and

wherein the packet processor is adapted to store the FCoE data in the FCoE packet, and the FCoE network interface is adapted to transmit the FCoE packet, in response to determining that the iSCSI PDU contains a write command.

19. The system of claim 16 , wherein the packet processor is to store the FCoE data in the FCoE packet by performing acts including converting the iSCSI packet into the FCoE packet.

20. The system of claim 15 , wherein the packet processor is to store the FCoE data in the FCoE packet by performing acts including:

creating the FCoE packet;

translating at least one iSCSI command and at least one iSCSI datum from the iSCSI packet into at least one analogous FCoE command and at least one analogous FCoE datum; and

storing the at least one analogous FCoE command and at least one analogous FCoE datum in the FCoE packet.

21. The system of claim 11 , further comprising:

the first iSCSI node.

22. The system of claim 21 , further comprising:

the FCoE node.

23. The system of claim 11 , further comprising:

the FCoE node.

24. A method performed by a gateway, the method comprising:

(A) receiving Internet Small Computer System Interface (iSCSI) packet containing an iSCSI protocol data unit (PDU) from a first iSCSI node using an iSCSI protocol;

(B)

(B)(1) identifying a Fibre Channel over Ethernet (FCoE) node based on contents of the iSCSI packet;

(B)(2) creating an iSCSI ghost node corresponding to the FCoE node, wherein the iSCSI ghost node is a virtual representation of the FCOE node in a physical network; and

(B)(3) initiating an iSCSI session between the first iSCSI node and the iSCSI ghost node.

25. The method of claim 24 , wherein (B) further comprises:

(B)(4) before (B)(3), creating a session table entry containing communication session mapping information between attributes of the first iSCSI node and attributes of the FCoE node.

26. The method of claim 25 , further comprising:

(B)(5) determining whether the iSCSI PDU in the iSCSI packet contains a login command; and

(B)(6) performing (B)(1), (B)(2), (B)(3), and (B)(4) in response to determining that the iSCSI PDU in the iSCSI packet contains a login command.

27. The method of claim 24 , further comprising:

(C)

(C)(1) storing FCoE data in an FCoE packet based on the mapping information and iSCSI data from the iSCSI packet; and

(C)(2) transmitting the FCoE packet to the FCoE node using a FCoE protocol.

28. The method of claim 27 , wherein (C) further comprises:

(C)(3) determining whether the iSCSI PDU contains a read command; and

(C)(4) performing (C)(1) and (C)(2) in response to determining that the iSCSI PDU contains a read command.

29. The method of claim 27 , wherein (C) further comprises:

(C)(3) determining whether the iSCSI PDU contains a write command; and

(C)(4) performing (C)(1) and (C)(2) in response to determining that the iSCSI PDU contains a write command.

30. The method of claim 27 , wherein (C)(1) comprises converting the iSCSI packet into the FCoE packet.

31. The method of claim 27 , wherein (C)(1) comprises:

(C)(1)(a) creating the FCoE packet;

(C)(1)(b) extracting at least one iSCSI command and at least one iSCSI datum from the iSCSI packet into FCoE data;

(C)(1)(c) translating the at least one iSCSI command and at least one iSCSI datum into at least one analogous FCoE command and at least one analogous FCoE datum; and

(C)(1)(d) storing the at least one analogous FCoE command and at least one analogous FCoE datum in the FCoE packet.

32. A system comprising:

an Internet Small Computer System Interface (iSCSI) network interface to receive an iSCSI packet containing an iSCSI protocol data unit (PDU) from a first iSCSI node using an iSCSI protocol;

a packet processor to:

identify a Fibre Channel over Ethernet (FCoE) node based on contents of the iSCSI packet;

create an iSCSI ghost node corresponding to the FCoE node, wherein the iSCSI ghost node is a virtual representation of the FCOE node in a physical network; and

initiate an iSCSI session between the first iSCSI node and the iSCSI ghost node.

33. The system of claim 32 , wherein the packet processor is further to:

create a session table entry containing communication session mapping information between attributes of the first iSCSI node and attributes of the FCoE node.

34. The system of claim 33 , wherein the packet processor is further to:

determine whether the iSCSI PDU in the iSCSI packet contains a login command; and to

identify the FCoE node, create the iSCSI ghost node, initiate the iSCSI session, and create the session table in response to determining that the iSCSI PDU in the iSCSI packet contains a login command.

35. The system of claim 32 , wherein the packet processor is further to store FCoE data in an FCoE packet based on the mapping information and iSCSI data from the iSCSI packet; and

wherein the system further comprises an FCoE network interface adapted to transmit the FCoE packet to the FCoE node using a FCoE protocol.

36. The system of claim 35 , wherein the packet processor is further to:

determine whether the iSCSI PDU contains a read command; and

wherein the packet processor is adapted to store the FCoE data, and the FCoE network interface is adapted to transmit the FCoE packet, in response to determining that the iSCSI PDU contains a read command.

37. The system of claim 35 , wherein the packet processor is further to:

determine whether the iSCSI PDU contains a write command; and

wherein the packet processor is adapted to store the FCoE data, and the FCoE network interface is adapted to transmit the FCoE packet, in response to determining that the iSCSI PDU contains a write command.

38. The system of claim 35 , wherein the packet processor is to store the FCoE data by performing acts including converting the iSCSI packet into the FCoE packet.

39. The system of claim 35 , wherein the packet processor is to store the FCoE data by performing acts including:

creating the FCoE packet;

extracting at least one iSCSI command and at least one iSCSI datum from the iSCSI packet into FCoE data;

translating the at least one iSCSI command and at least one iSCSI datum into at least one analogous FCoE command and at least one analogous FCoE datum; and

storing the at least one analogous FCoE command and at least one analogous FCoE datum in the FCoE packet.

40. The system of claim 32 , further comprising:

the first iSCSI node.

41. The system of claim 40 , further comprising:

the FCoE node.

42. The system of claim 32 , further comprising:

the FCoE node.

Assignments (6)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 9, 2015
From: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 037079/0001 →
CORRECTIVE ASSIGNMENT PREVIUOSLY RECORDED ON REEL 027329 FRAME 0001 AND 0044. Recorded May 1, 2012
From: HEWLETT-PACKARD COMPANY
To: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Reel/Frame 028911/0846 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 6, 2011
From: HEWLETT-PACKARD COMPANY
To: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Reel/Frame 027329/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE SEE ATTACHED Recorded Jul 15, 2010
From: 3COM CORPORATION
To: HEWLETT-PACKARD COMPANY
Reel/Frame 025039/0844 →
MERGER Recorded Jul 6, 2010
From: 3COM CORPORATION
To: HEWLETT-PACKARD COMPANY
Reel/Frame 024630/0820 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 4, 2010
From: WANG, SONGBO; JOSEPH, BOBY; HISCOCK, JAMES S.
To: 3COM CORPORATION
Reel/Frame 024031/0696 →