IP Library Granted Patent US 8,661,518
Granted Patent B2
US 8,661,518 · App. 11/762,575 · Granted Feb 25, 2014

N-port ID virtualization (NPIV) proxy module, NPIV proxy switching system and methods

Inventors: Krishna Doddapaneni (Sunnyvale, CA); Chaitanya Kodeboyina (San Jose, CA); J.R. Rivers (Saratoga, CA); Pauline Shuen (Palo Alto, CA)
Assignee: Cisco Technology, Inc.
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,661,518
App. No.
11/762,575
Granted
Feb 25, 2014
Kind
B2
Abstract

Embodiments of an N-Port ID virtualization (NPIV) proxy module, NPIV proxy switching system, and methods are generally described herein. Other embodiments may be described and claimed. In some embodiments, login requests are distributed over a plurality of available N-ports to allow servers to be functionally coupled to F-ports of a plurality of fiber-channel (FC) switches. Fiber-channel identifiers (FCIDs) are assigned to the servers in response to the logon requests to provide single end-host operations for each of the servers.

Claims (60)

1. An N-port ID virtualization (NPIV) switching system to operate in either an FC end-host mode or an FC switch mode, the system comprising:

an NPIV proxy module comprising circuitry to implement state machines for NPIV proxy operations;

server interfaces comprising circuitry configured to intercept login requests from a plurality of servers and send the intercepted login requests to the NPIV proxy module, each login request requesting assignment of a fiber-channel identifier (FCID) for logging in to a fiber-channel (FC) switch of a plurality of FC switches; and

external interfaces comprising circuitry and having a plurality of N-ports, each N-port coupled with an F-port of one of the FC switches;

wherein the state machines are configured to distribute the login requests over the plurality of N-ports allow the plurality of servers to be functionally coupled to an F-port of any of the FC switches,

wherein the state machines, in response to each of the login requests, assign an FCID to each server to allow the NPIV proxy module to operate as a single end-host for each of the servers as the assigned FCIDs are associated with the NPIV proxy module and not associated with any particular FC switch when operating in FC end-host mode,

wherein the state machines are configured to assign more than one FCID for a same N-port,

wherein the state machines access data indicating a number of login requests previously distributed to the N-ports, and

wherein the state machines distribute each of the login requests to a specific one of a plurality of available ones of the N-ports coupled with a corresponding plurality of the F-ports of the FC switches to achieve a substantially uniform distribution, wherein the specific N-port is selected by weighting the plurality of available ones of the N-ports based on a number of login requests previously distributed to the plurality of available ones of the N-ports.

2. The NPIV proxy switching system of claim 1 wherein each N-port is associated with one of the external interfaces,

wherein the state machines further distribute the login requests over the plurality of available ones of the N-ports by, at least in part, sorting the external interfaces based on the number of login requests previously distributed to the N-ports.

3. The NPIV proxy switching system of claim 2 wherein the login requests comprise F-port login (FLOGI) requests that request a FCID associated with an F-port of one of the FC switches, and

wherein the login requests are received from host bus adapters associated with the servers.

4. The NPIV proxy switching system of claim 3 wherein one or more of the HBAs of the servers implement NPIV functionality by sending more than one login request to the server interfaces to request more than one FCID.

5. The NPIV proxy switching system of claim 1 wherein when the NPIV proxy switching system operates in the FC switch mode, the NPIV proxy module refrains from distributing the login requests received from the servers over the N-ports and refrains from operating as the single end-host for each of the servers.

6. The NPIV proxy switching system of claim 3 wherein the state machines comprise:

a FLOGI finite state machine initiated for each login request, and

an external interface state machine initiated for each external interface.

7. The NPIV proxy switching system of claim 6 further comprising:

an event dispatcher to communicate with both the server interfaces and the external interfaces and dispatch packets comprising the login requests;

a packet handler to receive packets comprising the login requests and packets comprising logout requests from the event dispatcher;

a running configuration persistent storage system (PSS) to store configuration information for the state machines; and

a runtime data PSS to store runtime information for the state machines.

8. A method performed by an N-port ID virtualization (NPIV) proxy switching system that operates in either an FC end-host mode or an FC switch mode, the method comprising:

intercepting login requests received from server interfaces from a plurality of servers, each login request requesting assignment of a fiber-channel identifier (FCID) for logging in to a fiber-channel (FC) switch of a plurality of FC switches, the NPIV proxy switching system including a plurality of N-ports, each N-port coupled with an F-port of one of the FC switches;

sending the intercepted login requests to a NPIV proxy module comprising state machines for implementing NPIV proxy operations;

distributing, by the state machines of the NPIV proxy module, the login requests over the plurality of N-ports to allow the plurality of servers to be functionally coupled to an F-port of any of the FC switches; and

assigning, in response to each of the login requests, an FCID to each server to allow the NPIV proxy module to operate as a single end-host for each of the servers as the assigned FCIDs are associated with the NPIV proxy module and not associated with any particular FC switch when operating in FC end-host mode,

wherein the state machines are configured to assign more than one FCID for a same N-port,

wherein the state machines access data indicating a number of login requests previously distributed to the N-ports, and

wherein the state machines distribute each of the login requests to a specific one of a plurality of available ones of the N-ports coupled with a corresponding plurality of the F-ports of the FC switches to achieve a substantially uniform distribution, wherein the specific N-port is selected by weighting the plurality of available ones of the N-ports based on a number of login requests previously distributed to the plurality of available ones of the N-ports.

9. The method of claim 8 wherein each N-port is associated with one of a plurality of external interfaces,

wherein the login requests are further distributed over the plurality of available ones of the N-ports by, at least in part, sorting the external interfaces based on the number of login requests previously distributed to the N-ports.

10. The method of claim 9 wherein the server interfaces are configured to intercept the login requests from the one or more servers,

wherein the login requests comprise F-port login (FLOGI) requests that request a FCID associated with an F-port of one of the FC switches, and

wherein the login requests are received from the HBAs.

11. The method of claim 10 wherein one or more of the HBAs of the servers implement NPIV functionality by sending more than one login request to the server interfaces to request more than one FCID.

12. The method of claim 8 wherein when operating in the FC switch mode, the method comprises:

refraining from distributing the login requests received from the servers over the N-ports; and

refraining from operating as the single end-host for each of the servers.

13. The method of claim 9 further comprising:

initiating a FLOGI finite state machine for each login request, and

initiating an external interface state machine for each external interface.

14. A computer-accessible storage device that provides instructions, which when accessed, configure an N-port ID virtualization (NPIV) proxy switching system to operate in either an FC end-host mode or an FC switch mode to perform operations to:

intercept login requests received at server interfaces from a plurality of servers, each login request requesting assignment of a fiber-channel identifier (KID) for logging in to a fiber-channel (FC) switch of a plurality of FC switches, wherein for a plurality of N-ports, each N-port is coupled with an F-port of one of the FC switches; and

send the intercepted server requests to a NPIV proxy module that includes state machines for implementing NPIV proxy operations configured to:

distribute the login requests over the plurality of N-ports to allow the plurality of servers to be functionally coupled to an F-port of any of the FC switches; and

assign, in response to each of the login requests, an FCID to each server to provide single end-host operations for each of the servers as the assigned FCIDs are associated with a single-end host and not associated with any particular FC switch when operating in FC end-host mode,

wherein more than one FCID can be assigned for a same N-port,

wherein the state machines access data indicating a number of login requests previously distributed to the N-ports, and

wherein the state machines distribute each of the login requests to a specific one of a plurality of available ones of the N-ports coupled with a corresponding plurality of the F-ports of the FC switches to achieve a substantially uniform distribution, wherein the specific N-port is selected by weighting the plurality of available ones of the N-ports based on a number of login requests previously distributed to the plurality of available ones of the N-ports.

15. The computer-accessible storage device of claim 14

wherein each N-port is associated with one of a plurality of external interfaces, and

wherein the login requests are further distributed over the plurality of available ones of the N-ports by sorting the external interfaces based on the number of login requests previously distributed to the N-ports.

16. The computer-accessible storage device of claim 15 wherein when operating in the FC switch mode, the instructions configure the module to refrain from distributing the login requests received from the servers over the N-ports, and to refrain from operating as the single end-host for each of the servers.

17. The computer-accessible storage device of claim 16 wherein the instructions, when further accessed cause the machine to:

initiate a FLOGI finite state machine for each login request, and

initiate an external interface state machine for each external interface.

18. The NPIV proxy switching system of claim 1 , wherein during the FC end-host mode, the state machines cause the NPIV proxy module to request multiple FCIDs from the FC switches for the NPIV proxy switching system to allow the NPIV proxy switching system to operate as the single end-host for each of the servers, and

wherein during the FC switch mode, the state machines configure hardware elements of the NPIV proxy switching system to functionally connect the servers to the FC switches by assigning FCIDs directly to host-bus adaptors (HBAs) of the servers.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 15, 2011
From: NUOVA SYSTEMS, INC.
To: CISCO TECHNOLOGY, INC.
Reel/Frame 027230/0020 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 19, 2008
From: DODDAPANENI, KRISHNA; KODEBOYINA, CHAITANYA; RIVERS, JAMES PAUL; SHUEN, PAULINE
To: NUOVA SYSTEMS, INC.
Reel/Frame 020684/0649 →
Continuity (1)
Related Publication 20080313724A1 · Dec 18, 2008