Abstract: Systems and methods for communicating in a Fibre Channel over Ethernet (FCoE) network (104) with a reverse N_Port ID Virtualization (R-NPIV) device (102) are described. The described method may include broadcasting discovery solicitation messages to identify available Fibre Channel Forwarders (FCFs) (108) in vicinity and identifying a first FCF (108) from among the available FCFs (108) for communicating in the FCoE network based on selection parameters. The method also includes receiving a session request from at least one Fibre Channel (FC) node (106) to establish a fibrechannel session, where the session request is received in FC protocol, and converting the session request into a FCoE Initialization Protocol (FIP) request to generate a FCoE session request. The method also includes sending the FCoE session request to the first FCF (108) to establish a FCoE session.
FIELD OF INVENTION
[0001] The 5 present subject matter relates to communication systems and
particularly, but not exclusively, to fibre channel communication systems.
BACKGROUND
[0002] With the development of network technology, rate of data transmission
have also increased. Under the ever increasing growth of data transmission rates,
10 conventional cable transmission techniques are not sufficiently adequate to satisfy the
upcoming data transmission rates. Nowadays, fibre optic transmission technology has
been intensively used for data transmission applications as it offers, amongst other
things, high rates of data transmission, large data transmission capacity, and reliable
data transmission.
15 [0003] Communication through Fibre Channel (FC) has been standardized by a
set of communication standards developed by the Technical Committee of the
International Committee for Information Technology Standards (INCITS), accredited by
an American National Standards Institute (ANSI). Fibre optics networks, also known as
fibre channel networks, utilize the FC standards for data transmission among computing
20 devices, such as workstations, mainframes, supercomputers, desktop computers,
storage devices, displays, and other peripheral devices.
SUMMARY
[0004] This summary is provided to introduce concepts related to communication
in a fibre channel over Ethernet network. This summary is not intended to identify
25 essential features of the claimed subject matter nor is it intended for use in determining
or limiting the scope of the claimed subject matter.
[0005] In one implementation, a method for communicating in a Fibre Channel
over Ethernet (FCoE) network with a reverse N_Port ID Virtualization (R-NPIV) device is
3
described. The method includes broadcasting discovery solicitation messages to
identify available Fibre Channel Forwarders (FCFs) in vicinity, and identifying a first FCF
from among the available FCFs for communicating in the FCoE network based on
selection parameters, where the values corresponding to the selection parameters are
indicative of compatibility of the FCF with the R-NPIV device. The method also include5 s
receiving a session request from at least one Fibre Channel (FC) node to establish a
fibre-channel session, where the session request is received in FC protocol. The
method further includes converting the session request into a FCoE Initialization
Protocol (FIP) request to generate a FCoE session request; and sending the FCoE
10 session request to the first FCF to establish a FCoE session, where the FCoE session
corresponds to the fibre-channel session established with the at least one FC node.
[0006] In another implementation of the present subject matter, an R-NPIV
device to communicate in a Fibre Channel over Ethernet (FCoE) network is described.
The R-NPIV device may include a processor. The R-NPIV device may include a proxy
15 communication module coupled to the processor to broadcast discovery solicitation
messages to identify available FCFs in the vicinity; and identify a first FCF from among
the available FCFs for communicating in the FCoE network based on selection
parameters, where the values corresponding to the selection parameters are indicative
of compatibility of the FCF with the R-NPIV device. The R-NPIV device may also
20 include a session administration module coupled to the processor to receive a session
request from at least one Fibre Channel (FC) node to establish a fibre-channel session,
wherein the session request is received in FC protocol; and convert the session request
into a FCoE Initialization Protocol (FIP) request to generate a FCoE session request.
The session administration module may further send the FCoE session request to the
25 first FCF to establish a FCoE session, where the FCoE session corresponds to the
fibre-channel session established with the at least one FC node.
[0007] In another implementation, a computer-readable medium having
embodied thereon a computer program for executing a method is described. The
method may include broadcasting discovery solicitation messages to identify available
30 Fibre Channel Forwarders (FCFs) in vicinity, and identifying a first FCF from among the
available FCFs for communicating in the FCoE network based on selection parameters,
4
where the values corresponding to the selection parameters are indicative of
compatibility of the FCF with the R-NPIV device. The method also includes receiving a
session request from at least one Fibre Channel (FC) node to establish a fibre-channel
session, where the session request is received in FC protocol. The method further
includes converting the session request into a 5 FCoE Initialization Protocol (FIP) request
to generate a FCoE session request; and sending the FCoE session request to the first
FCF to establish a FCoE session, where the FCoE session corresponds to the fibrechannel
session established with the at least one FC node.
BRIEF DESCRIPTION OF THE FIGURES
10 [0008] The detailed description is described with reference to the accompanying
figures. In the figures, the left-most digit(s) of a reference number identifies the figure in
which the reference number first appears. The same numbers are used throughout the
figures to reference like features and components. Some embodiments of system
and/or methods in accordance with embodiments of the present subject matter are now
15 described, by way of example only, and with reference to the accompanying figures, in
which:
[0009] Fig. 1 illustrates a Fibre Channel over Ethernet (FCoE) network
environment implementing a reverse N_Port ID Virtualization (R-NPIV) for
communication between Fibre Channel (FC) Nodes and the FCoE, according to an
20 implementation of the present subject matter;
[0010] Fig. 2 schematically illustrates components of the R-NPIV system,
according to an implementation of the present subject matter;
[0011] Fig. 3 illustrates a call flow diagram depicting flow of information in the
FCoE network implementing the R-NPIV, according to an implementation of the present
25 subject matter; and
[0012] Fig. 4 illustrates a method of communication in the FCoE network,
according to an implementation of the present subject matter.
[0013] It should be appreciated by those skilled in the art that any block diagrams
herein represent conceptual views of illustrative systems embodying the principles of
5
the present subject matter. Similarly, it will be appreciated that any flow charts, flow
diagrams, state transition diagrams, pseudo code, and the like represent various
processes, which may be substantially represented in computer readable medium and
so executed by a computer or processor, whether or not such computer or processor is
explicitly 5 itly shown.
DESCRIPTION OF EMBODIMENTS
[0014] Systems and methods for communication in a Fibre Channel over
Ethernet (FCoE) network are described. In one implementation, the described systems
and methods may be implemented in interconnections of Fibre Channel (FC) networks
10 and Ethernet networks, to enable communication among the computing devices
communicating through FCoE networks. The entities that can implement the described
method(s) may include, but are not limited to, routers, switches, computers, portable
devices, and the like. Further, the method may also be implemented by devices capable
of exchanging data to provide connectivity to different peripheral devices and computing
15 systems. Although the description herein is with reference to particular switches, the
methods and systems may be implemented in other devices, albeit with a few
variations, as will be understood by those skilled in the art.
[0015] Fibre Channel (FC) standards allow high-speed communication in a FC
network where data is generally communicated as frames while being transferred
20 through communication networks. FCoE, as defined by the T11 Technical Committee of
International Committee for Information Technology Standards (INCITS), is a computer
network technology standardized to enable transfer of FC frames over Ethernet
networks. In operation, the FC frames communicated by FC nodes are converted to
Ethernet frames for communication over the Ethernet network. For the sake of
25 explanation, converted frames have been referred to as FCoE frames hereinafter, and
the Ethernet network transferring FCoE frames is referred to as an FCoE network. The
conversion of FC frames to FCoE frames is generally done by an interfacing entity, such
as a Fibre Channel Forwarder (FCF), which includes both, FC interfaces, such as
F_Ports, and the FCoE interfaces, such as VF_Ports, to communicate to the respective
30 communication devices.
6
[0016] Typically, while utilizing FCoE networks for the purpose of communication,
FC nodes are coupled to FCFs that are used for frame conversion and enabling
switching and routing capabilities while connecting the FC nodes to the FCoE network.
However, implementation of FCFs incurs significant costs. Specifically, such cost may
not 5 be reasonable for small FC networks which include few FC nodes. Moreover, FC
networks, such as Storage Area Networks (SANs), assign domain IDs to each node
within the SAN, and allotment of such domain IDs are limited to maximum of 239 which
generally cannot be extended. Hence, in large SANs where the number of nodes is
higher, more number of FCF’s is necessitated to create smaller SANs and provide
10 connection to the FCoE network. Such an implementation further increases the cost of
implementation.
[0017] According to an implementation of the present subject matter, systems
and methods for providing cost effective communication capabilities for FC nodes, while
communicating with the FCoE networks are described. The described systems may
15 implement methods that on one hand may not utilize domain IDs to eliminate utilization
of multiple FCFs in large FC networks, and on the other hand may provide cost effective
communication between FC nodes and the FCoE networks.
[0018] In one example of the present subject matter, the described system may
allow FC nodes to communicate with the FCoE networks without being directly
20 connected to the FCFs. In said example, the FC nodes in a fibre network may be
coupled to a reverse N_Port ID Virtualization (R-NPIV) device of the present subject
matter. N_Port ID Virtualization (NPIV) can be understood as a FC facility allowing
multiple N_Port IDs to share a single physical N_Port. In other words, the NPIV allows
multiple Fibre Channel initiators to occupy a single physical port, easing hardware
25 requirements in SAN design, especially where virtual SANs are most called for.
[0019] According to an implementation of the present subject matter, the R-NPIV
device may emulate an F_Port Fabric functionality of a FCF to connect to one or more
FC nodes. Further, the R-NPIV device may also emulate a VN_Port Fabric functionality
to connect to a FCF. Therefore, the R-NPIV is communicatively coupled to the one or
30 more FC devices as another FC node, and is also communicatively coupled to the FCF
7
as an Ethernet device. Accordingly, the R-NPIV device may implement proxy e-node
functionality on the FCoE network and proxy F-port functionality on the FC network.
[0020] In operation, to provide communication capabilities between the FC nodes
and the FCF, the R-NPIV device may identify available FCF in the vicinity. The
identification of the available FCFs may allow the R-5 NPIV to choose one FCF from
among the available FCFs to communicate data between the FC nodes and the chosen
FCF. For example, the R-NPIV may be coupled to 25 FC nodes and 3 FCFs. To
communicate data from such 25 FC nodes, the R-NPIV may choose one FCF from
amongst the 3 available FCFs. In such situation, the R-NPIV may communicate data
10 from the 25 FC nodes to the chosen FCF. As would be appreciated, the chosen FCF
may then communicate the data to the FCoE network.
[0021] In one implementation of the present subject matter, the R-NPIV device
may also establish a fibre-channel session for each FC node coupled to it. As would be
understood, the FC nodes share session requests with communication devices, such as
15 FCF. Since the R-NPIV emulates an F_Port, any session request sent by the FC nodes
for connection to the emulated F_Port may be captured by the R-NPIV and a fibrechannel
session corresponding to such FC node may then be created. Since the FC
nodes are coupled to the R-NPIV through F_Port, the session request received by the
R-NPIV may be based on FC protocol. In the above described example, the R-NPIV
20 may receive 25 session requests from the 25 coupled FC nodes, and the R-NPIV may
create 25 fibre-channel sessions, each corresponding to one of the coupled FC nodes.
[0022] Corresponding to each fibre-channel session created between the FC
node and the R-NPIV, the R-NPIV may also establish an FCoE session with the FCF.
Further, based on the establishment of the FCoE session, the R-NPIV may update the
25 status of the fibre-channel session with the FC node. For instance, in the above
described example, the R-NPIV may communicate with the FCF to establish an FCoE
session corresponding to each of the 25 fibre-channel sessions. In one implementation,
it may happen that the FCF may establish limited number of FCoE sessions, and may
merely approve a limited number of FCoE sessions. For instance, in the above
30 described example, the FCF may merely allow 20 FCoE sessions. Therefore, from
8
among the 25 FCoE session requests, merely 20 FCoE sessions may be accepted. In
such a situation, the R-NPIV may update the 20 fibre-channel sessions with an active
status. The R-NPIV may either send a failure indication to the remaining 5 FC nodes, or
may attempt to create FCoE sessions for the remaining 5 FC nodes with another FCF.
5 In one implementation, the R-NPIV may select the another FCF based on FCF
discovery mechanism, where different flags and bits, such as ‘max frame verified’ and
‘A-Bit’, may be considered along with priority associated with each discovered FCF.
Since the FCF discovery mechanism is well known, such details have been omitted for
the sake of brevity. Although it has been described that the FCF may merely accept
10 certain FCoE session requests, it would also be appreciated that the FCF may either
accept all such FCoE sessions requests, or may reject all such FCoE sessions
requests.
[0023] Based on establishment of the fibre-channel sessions and the FCoE
sessions, the R-NPIV device may allow communication between the FC nodes and the
15 FCF. By emulating the F_Port fabric functionality, the number of FCFs required to
connect the FC nodes to the FCoE may be reduced, and separate domain IDs for each
such emulated F_Port may not be required. Therefore, described systems provide a
cost effective solution with limited utilization of domain IDs. In one implementation of the
present subject matter, an FCoE capable Ethernet switch may emulate the described
20 functionalities of the R-NPIV by including an F_Port FC fabric. In said implementation,
the described R-NPIV functionality may be implemented on regular FCoE capable
switch having FC ports.
[0024] In another implementation, the R-NPIV gateway may also allow FC nodes
to communicate with remotely located FC switches (FCS), such that the R-NPIV may
25 communicate with NPIV of the FCoE without any implementation of a FCF. The details
of the working of the R-NPIV gateway are described with the help of the following
figures in greater detail.
[0025] It should be noted that the description merely illustrates the principles of
the present subject matter. It will thus be appreciated that those skilled in the art will be
30 able to devise various arrangements that, although not explicitly described herein,
9
embody the principles of the present subject matter and are included within its spirit and
scope. Furthermore, all examples recited herein are principally intended expressly to be
only for explanation purposes to aid the reader in understanding the principles of the
invention and the concepts contributed by the inventor(s) to furthering the art, and are to
be construed as being without 5 limitation to such specifically recited examples and
conditions. Moreover, all statements herein reciting principles, aspects, and
embodiments of the invention, as well as specific examples thereof, are intended to
encompass equivalents thereof.
[0026] The manner in which the systems and methods of the present subject
10 matter shall be implemented has been explained in details with respect to the Figures 1-
4. While aspects of described systems and methods can be implemented in any number
of different computing systems, transmission environments, and/or configurations, the
embodiments are described in the context of the following exemplary system(s).
[0027] It will also be appreciated by those skilled in the art that the words during,
15 while, and when as used herein are not exact terms that mean an action takes place
instantly upon an initiating action but that there may be some small but reasonable
delay, such as a propagation delay, between the initial action and the reaction that is
initiated by the initial action. Additionally, the word “connected” and “coupled” are used
throughout for clarity of the description and can include either a direct connection or an
20 indirect connection.
[0028] Fig. 1 illustrates a communication network environment 100 implementing
R-NIPV devices 102-1 and 102-2 to communicate between a FC Nodes and a FCoE
network 104, in accordance with an embodiment of the present subject matter. For the
sake of explanation, the R-NPIV devices 102-1 and 102-2 have been commonly
25 referred to as R-NPIVs 102, and have been individually referred to as R-NPIV 102
hereinafter. In one implementation of the present subject matter, the R-NPIVs 102 may
be coupled to one or more FC nodes 106-1, 106-2, 106-3, …, 106-N, individually
referred to as FC Node 106, and commonly referred to as FC Nodes 106 hereinafter.
Further, the R-NPIVs 102 may also be connected to a FCF 108 to communicate data
30 between the FC Nodes 106 and the FCoE network 104.
10
[0029] According to the communication environment 100 depicted in Fig. 1, the
FCoE network 104 may further be connected to a Storage Area Network (SAN) 110
through another FCF 112. The FCF 112 may enable communication between FC
Storage devices 114-1, 114-2, 114-3, …, 114-N, and the FCoE 104. For the sake of
explanation, the FC Storage devices 114-5 4-1, 114-2, 114-3, …, 114-N have been
individually referred to as FCSD 114, and commonly referred to as FCSDs 114
hereinafter.
[0030] Although the description herein is with reference to R-NPIVs 102, the
methods and systems may be implemented in other communication devices, such as
10 gateways, albeit with a few variations, as will be understood by a person skilled in the
art. Moreover, although the implementation of the R-NPIVs 102 has been depicted in
reference to the FC nodes 106, the R-NPIVs 102 may also be implemented in SAN
network 110, as would be understood by those skilled in the art.
[0031] The FCoE network 104 may be a wireless or a wired network, or a
15 combination thereof. The network 106 can be a collection of individual networks,
interconnected with each other and functioning as a single large network (e.g., the
internet or an intranet). Examples of such individual networks include, but are not limited
to, Global System for Mobile Communication (GSM) network, Universal Mobile
Telecommunications System (UMTS) network, Personal Communications Service
20 (PCS) network, Time Division Multiple Access (TDMA) network, Code Division Multiple
Access (CDMA) network, Next Generation Network (NGN), Public Switched Telephone
Network (PSTN), and Integrated Services Digital Network (ISDN). Depending on the
technology, the FCoE network 104 includes various network entities, such as gateways,
routers; however, such details have been omitted for ease of understanding.
25 [0032] The FC Nodes 106 may be implemented in one or more FC networks. As
depicted in the figure, two different FC networks may include the FC Nodes 106. The
first FC network may include the FC Node 106-1 and the FC Node 106-2, while the
other FC Network may include the remaining FC Nodes 106. It would be appreciated
that each of the FC Networks may include one or more FC Nodes and may implement
30 FC standard to communicate data. Further, the FC Nodes 106 and the FCSD 114 may
11
include computing devices capable of communicating over the FC Networks based on
FC standard. Therefore, the FC Nodes 106 and the FCSD 114 may include computing
devices, such as a laptop computer, a desktop computer, a notebook, a workstation, a
mainframe computer, a server, and the like.
[0033] The R-NPIV 102 may facilitate communication between 5 the FC nodes 106
and the FCF 108 based on a proxy communication module 116. The proxy
communication module 116 may allow establishment of session between the FC nodes
104 and the FCF 102 based on reverse N_Port ID virtualization. To facilitate better
explanation and understanding, the working of the R-NPIV 102 and the reverse N_Port
10 ID virtualization has been explained in detail in conjunction with Fig. 2.
[0034] In one example, the R-NPIV 102 may include processor(s) 202. The
processor 202 may be implemented as one or more microprocessors, microcomputers,
microcontrollers, digital signal processors, central processing units, state machines,
logic circuitries, and/or any devices that manipulate signals based on operational
15 instructions. Among other capabilities, the processor(s) 202 is also configured to fetch
and execute computer-readable instructions stored in a memory.
[0035] The functions of the various elements shown in the figure, including any
functional blocks labeled as “processor(s)”, may be provided through the use of
dedicated hardware as well as hardware capable of executing software in association
20 with appropriate software. When provided by a processor, the functions may be
provided by a single dedicated processor, by a single shared processor, or by a plurality
of individual processors, some of which may be shared. Moreover, explicit use of the
term “processor” should not be construed to refer exclusively to hardware capable of
executing software, and may implicitly include, without limitation, digital signal processor
25 (DSP) hardware, network processor, application specific integrated circuit (ASIC), field
programmable gate array (FPGA), read only memory (ROM) for storing software,
random access memory (RAM), and non-volatile storage. Other hardware, conventional
and/or custom, may also be included.
[0036] The R-NPIV 102 may also include a memory 204. The memory 204 may
30 be coupled to the processor 202. The memory 204 can include any computer-readable
12
medium known in the art including, for example, volatile memory, such as static random
access memory (SRAM) and dynamic random access memory (DRAM), and/or nonvolatile
memory, such as read only memory (ROM), erasable programmable ROM, flash
memories, hard disks, optical disks, and magnetic tapes.
[0037] Also, 5 the R-NPIV 102 includes interface(s) 206. The interfaces 206 may
include proxy F_Ports 212 and proxy VN_ports 214 to provide connectivity to FC nodes
104 and the FCFs 102. The interfaces 206 may also include a variety of software and
hardware interfaces that allow the R-NPIVs 102 to interact with different entities, or with
each other. The interfaces 206 may facilitate multiple communications within a wide
10 variety of networks and protocol types, including wire networks, for example, FCs,
FCoEs, LAN, cable, etc., and wireless networks, for example, WLAN, cellular, satellitebased
network, etc.
[0038] Further, the R-NPIV 102 may include module(s) 208 and data 210. The
modules 118, amongst other things, include routines, programs, objects, components,
15 data structures, etc., which perform particular tasks or implement particular abstract
data types. The modules 208 may also be implemented as, signal processor(s), state
machine(s), logic circuitries, and/or any other device or component that manipulate
signals based on operational instructions.
[0039] Further, the modules 208 can be implemented in hardware, instructions
20 executed by a processing unit, or by a combination thereof. The processing unit can
comprise a computer, a processor, a state machine, a logic array, or any other suitable
devices capable of processing instructions. The processing unit can be a generalpurpose
processor which executes instructions to cause the general-purpose processor
to perform the required tasks or, the processing unit can be dedicated to perform the
25 required functions.
[0040] In another aspect of the present subject matter, the modules 208 may be
machine-readable instructions (software) which, when executed by a
processor/processing unit, perform any of the described functionalities. The machinereadable
instructions may be stored on an electronic memory device, hard disk, optical
30 disk or other machine-readable storage medium or non-transitory medium. In one
13
implementation, the machine-readable instructions can be also be downloaded to the
storage medium via a network connection.
[0041] In an implementation, the module(s) 208 includes a proxy communication
module 116, a session administration module 216, a data communication module 218,
and other module(s) 220. The other 5 module(s) 220 may include programs or coded
instructions that supplement applications or functions performed by the R-NPIV 102. In
said implementation, the data 210 includes session data 222, and other data 224. The
other data 224, amongst other things, may serve as a repository for storing data that is
processed, received, or generated as a result of the execution of one or more modules
10 in the module(s) 220. Although the data 210 is shown internal to the R-NPIV 102, it may
be understood that the data 210 can reside in an external repository (not shown in the
figure), which may be coupled to the R-NPIV 102. The R-NPIV 102 may communicate
with the external repository through the interface(s) 206 to obtain information from the
data 210.
15 [0042] In one implementation of the present subject matter, the proxy
communication module 116 may configure the interfaces 206 such that the proxy
F_Ports 212 may provide connectivity to the FC nodes 106 and the proxy VN_Ports 214
may be configured to function in either of a mixed, FCF, or a trusted mode to accept the
packets form FCF 108. Further, the proxy communication module 116 may also
20 configure a virtual SAN (VSAN) port which is mapped with an FCoE virtual LAN (VLAN),
where the proxy communication module 116 may intercept data packets of the R-NPIV
102 for processing and modification.
[0043] In another implementation of the present subject matter, the proxy
communication module 116 of the R-NPIV 102 may initiate discovery of available FCFs
25 in the vicinity. The proxy communication module 116, based on the discovery, may
identify a compatible FCF 108, available to provide connectivity to the FCoE network
104. The proxy communication module 116 may send multicast discovery solicitations
to “ALL_FCF_MAC” address to discover a compatible FCF. Further, the proxy
communication module 116 may also receive unsolicited multicast discovery
30 advertisements from FCFs 108 for the purpose of identification of a compatible FCF
14
108. In situations where the proxy communication module 116 has identified any
available FCF 108 in the vicinity, the proxy communication module 116 may compare
VF port addressing capabilities of such FCF 108 and determine whether the FC 108 is
compatible for connection or not. In one implementation of the present subject matter,
the proxy communication module 116 may compare 5 mpare the selection parameters, such as
FP and SP flags of the identified FCF 108 against its own capabilities to accept or
discard any FCF 108. It would be appreciated that the FCF 108, which is identified to be
compatible with the capabilities of the R-NPIV 102, may be identified as a suitable FCF,
by the proxy communication module 116.
10 [0044] In some situations, it may happen that a FCF 108 identified by the proxy
communication module 116 may not be available for login and for accepting any further
connections. Therefore, in one implementation, to ensure the availability of the FCF
108, the proxy communication module 116 may also verify “Available for Login” flag of
the FCFs 108 included in the selection parameters, prior to selection of any of the FCFs
15 108. In one implementation, if the “Available for Login” flag of a FCF 108 is identified to
be set to one, the proxy communication module 116 may choose such FCF 108 for the
purpose of communication.
[0045] It may also happen that more than one FCFs 108 are identified by the
proxy communication module 116 to be compatible with the R-NPIV 102, based on the
20 comparison of the addressing capabilities and from among such identified FCFs 108,
more than one FCF 108 may have their “Available for login” status set as one. In such
situation, the proxy communication module 116 may choose a FCF 108 based on
priority status of a FCF 108. In another situation, if the priority statuses of the FCFs 108
are identified to be same, a pre-defined selection scheme may be utilized for the
25 purpose of FCF 108 selection.
[0046] Once a FCF 108 is selected by the proxy communication module 116 for
the purpose of communication, the proxy communication module 116 may maintain a
list of other existing FCFs 108 and add the newly discovered FCFs 108 to the existing
list of available FCFs 108 for future use. In one implementation, the proxy
30 communication module 116 may reject any log-in requests which originate from the FC
15
nodes 106 until the valid FCF 108 is discovered. Once a FCF 108 is successfully
discovered, the session administration module 216 may accept session requests from
the FC nodes 106.
[0047] The FC nodes 106 may send FC-FLOGI requests to the R-NPIV 102 to
establish 5 a session for communication. The session administration module 216 of the RNPIV
102 may capture such session requests and may create a fibre-channel session
for the requesting FC node 106. In one example, the session administration module 216
may receive 20 different session requests from 20 different coupled FC nodes 106. The
session administration module 216 may create 20 different fibre-channel sessions for
10 each of the FC node 106.
[0048] Corresponding to each, the session administration module 216 may also
establish an FCoE session with the selected FCF 108. To establish the FCoE session,
the session administration module 216 may convert the FC FLOGI request into a FIP
FLOGI request and sent it to the selected FCF 108.
15 [0049] As would be appreciated by those skilled in the art, an FCF 108 may
either accept a session request, or may decline it. Therefore, the session administration
module 216 may either receive an acknowledgement from the selected FCF 108
corresponding to the FCoE session request, or may receive a decline from the selected
FCF 108 corresponding to the FCoE session request.
20 [0050] In one implementation, the selected FCF 108 may send a FIP LS_ACC
message to accept any FCoE session request, received from the session administration
module 216. Similarly, the selected FCF 108 may send a FIP LS_RJT message to
decline the FCoE session request from the session administration module 216. It would
be appreciates that the FCF 108 may either accept all the FCoE session requests, may
25 accept some and may decline other FCoE session requests, or may decline all the
FCoE session requests.
[0051] Depending upon the response received from the FCF 108, in reference to
each of the FCoE session request, the session administration module 216 may update
status of the fibre-channel sessions. For instance, if a FIP LS_ACC message is
30 received for an FCoE session request, the session administration module 216 may
16
update the status of the fibre-channel session to an active state. Similarly, if a FIP
LS_RJT message is received for an FCoE session request, the session administration
module 216 may update the status of the fibre-channel session to an inactive state.
Fibre-channel sessions, which have been updated to an inactive state, may be removed
by 5 the session administration module 216.
[0052] In one implementation, the session administration module 216 may also
update the FC node 106 with the status of the fibre-channel session. In case the status
communicated to the FC node 106 is updated to be inactive, the session administration
module 216 may also provide a reason-code received from the FCF 108 for the decline
10 of the session request, such as the FC LS_RJT message. In said implementation of the
present subject matter, if the status of the fibre-channel session is updated to active, the
session administration module 216 may send a FC LS_ACC message to the FC node
and the R-NPIV 102 may communicate data between the FC node 106 and the FCF
108.
15 [0053] It would be appreciated that fibre-sessions established between the RNPIV
102 and the FCF 108 need to be maintained to active state after predetermined
time period. Therefore, the session administration module 216 may maintain a VN port
alive status, for the R-NPIV 102. The session administration module 216 may send a
‘VN Keep-alive’ request to the FCF 108 and it would be appreciated that based on the
20 ‘VN keep-alive’ requests sent by the session administration module 216, the FCoE
session may be kept alive between the R-NPIV 102 and the FCF 108. In one
implementation of the present subject matter, the session administration module 216
may maintain status for all sessions established with the FCF 108. In case an FC node
establishes extra sessions by sharing FDISC requests, the session administration
25 module 216 may also keep fibre-sessions corresponding to such sessions alive with the
FCF 108.
[0054] Once a fibre-channel session is created between the FC node 106 and the
R-NPIV 102, and a corresponding FCoE session between the R-NPIV 102 and the FCF
108 is also established, the communication of data between the FC node 106 and the
17
FCoE network 104 may be facilitated by the data communication module 218 of the RNPIV
102.
[0055] A session created between the FC nodes 106 and the R-NPIV 102 may
also be torn and discontinued. Tearing of a session can be understood as a log out
operation to discontinue any further communications 5 between two entities. The tear of
an existing session may either be triggered by the FC node 106, or it may be done by
the R-NPIV 102. As discussed earlier, in any situation where an FCoE session
corresponding to the fibre-channel session is rejected by the FCF 108, the fibre-channel
session may be put in an inactive state and torn by the R-NPIV 102. Further, the fibre10
channel sessions in inactive state may also be removed from the R-NPIV 102.
[0056] In situations where the FC node 106 sends a request to tear down an
existing fibre-channel session with the R-NPIV 102, the R-NPIV 102 may first request
the FCF 108 to tear down the FCoE session, corresponding to the fibre-channel
session, and then tear the fibre-channel session based on the response of the FCF 108.
15 [0057] In operation, the session administration module 216 may receive a FC
FLOGO message from the FC node 106. The FC FLOGO message may indicate that
the FC node is interested in tearing of the existing session between the FC node 106
and the R-NPIV 102. Upon receiving the FC FLOGO message, the session
administration module 216 of the R-NPIV 102 may generate a FIP FLOGO message to
20 tear down the FCoE session with the FCF 108 corresponding to the fibre-channel
session. The FIP FLOGO message, when received by the FCF 108, may either be
accepted, or may be declined. In other words, the FCF 108 may accept the request of
tearing down the established session, or may decline the request of the R-NPIV 102.
[0058] In case the FCF 108 accepts the tear down request, it may send a FIP
25 LOGO_ACC message to the R-NPIV 102. However, if the FCF 108 declines the tear
down request, it may send a FIP LOGO_RJT message to the R-NPIV 102.
[0059] In case the R-NPIV 102 has received an acceptance through the FIP
LOGO_ACC message, the session administration module 216 may tear down the fibrechannel
session with the FC node 106 by sending a FC LOGO_ACC message.
30 However, if the R-NPIV 102 has received a decline through the FIP LOGO_RJT
18
message, the session administration module 216 may retain the first and the FCoE
session, and communicate the same to the FC node 106 by sending a FC LOGO_RJT
message.
[0060] During communication of data, it may so happen that the FCF 108 may go
down 5 due to one reason or the other. In one implementation, the R-NPIV 102 may
detect any of such failures by monitoring FCF discovery advertisements. In said
implementation, when the session administration module 216 of the R-NPIV 102 detects
any such occurrence of FCF 108 going down, the R-NPIV 102 may send a FC LOGO
message to all the connected FC nodes 106 and, may tear down all established fibre10
channel sessions.
[0061] In such scenarios, in case any FC node 106 wishes to establish a
connection again, by logging in, it may again send the FC FLOGI request to the R-NPIV
102. The session administration module 216 may relay the request to another FCF 108,
if there is any other FCF 108 available. Else, the session administration module 216
15 may discard any such connection attempt by the FC node 106.
[0062] Similarly during communication of data, it may so happen that the FC
node 106 may go down due to one reason or the other. In one implementation, when
the FC node 106 goes down, the session administration module 216 may tear down the
fibre-channel session and the FCoE session for that FC Node 106. The FCoE session
20 corresponding to the fibre-channel session may be torn by sending a FIP LOGO request
to the FCF 108.
[0063] In one implementation of the present subject matter, the R-NPIV 102 may
communicate with a NPIV gateway instead of communicating with the FCF 108 for
providing connection to the FCoE network 104. In such scenarios, the NPIV gateway
25 may act as a proxy FCF to R-NPIV 102, and the manner in which the R-NPIV 102
communicates with the NPIV gateway may remain the same as that of explained earlier.
Therefore, repetition of such explanation has been omitted for the sake of brevity.
[0064] For the purpose of explanation, the above described scenarios have also
been depicted in a call flow, as shown in Fig. 3. The various arrow indicators used in the
30 call-flow diagram depict the transfer of information between the communication entities,
19
R-NPIV 102, FC nodes 106, and FCF 108/ NPIV. In many cases, multiple network
entities besides those shown may lie between the entities, including transmitting
stations, and switching stations, although those have been omitted for clarity. Similarly,
various acknowledgement and confirmation network responses may also be omitted for
5 the sake of clarity.
[0065] While referring to Fig. 3, at step 302, the R-NPIV 102 may receive FIP
MDA requests from one or more FCFs 108. The FIP MDA requests can be understood
as discovery messages received from the FCFs 108 for the purpose of verification of
compatibility selection. The selection of a particular FCF 108 may be accomplished after
10 an exchange of series of FIP UDS, FIP UDA, and FIP MDA messages between the RNPIV
102 and the FCF 108. The exchange of such messages has been depicted in the
steps 304, 306, and 308 respectively.
[0066] At step 310, the R-NPIV 102 may receive a FC FLOGI or a FC FDISC
request from the FC node to establish a session. Upon receiving such request, the R15
NPIV 102 may create a fibre-channel session for the FC node 106, and may convert the
FC node 106 request into an FIP request to generate a FIP FLOGI or a FIP FDISC
request. At step 312, the R-NPIV 102 may send the generated FIP FLOGI or the FIP
FDISC request to the FCF 108 and establish an FCoE session, corresponding to the
fibre-channel session established with the FC node 106.
20 [0067] In response to the FIP FLOGI or the FIP FDISC request, the FCF 108 may
either accept the FCoE session or may decline the FCoE session request. In case the
FCF 108 accepts the request; it may send a FIP LS_ACC, at step 314. However, if the
FCoE session request is rejected, the FCF 108 may send a FIP LS_RJT at step 314.
[0068] Based on the response received at step 314, the R-NPIV 102 may send a
25 pseudo response to the FC node 106 at step 316. For instance, if the FCF 108 accepts
the FCoE session request at step 314, the R-NPIV 102 may send a FC LS_ACC
message to the FC node 106 at step 316. However, if the R-NPIV 102 receives a FIP
LS_RJT at step 314, the R-NPIV 102 may send a FC LS_RJT at step 316 and tear
down the established fibre-channel session .
20
[0069] Similarly, the FC node 106 may send other messages, such as a FC
LOGO message, at different time instances. The R-NPIV 102, upon receiving such
messages may send appropriate messages to the FCF 108 and allow communication
between the FC nodes 106 and the FCF 108.
[0070] Fig. 4 illustrates a method 400 for communication 5 mmunication in an FCoE network,
according to an embodiment of the present subject matter. The order in which the
method 400 is described is not intended to be construed as a limitation, and any
number of the described method blocks can be combined in any order to implement the
method 400, or any alternative methods. Additionally, individual blocks may be deleted
10 from the method without departing from the scope of the subject matter described
herein. Furthermore, the method 400 can be implemented in any suitable hardware,
software, firmware, or combination thereof.
[0071] The method may be described in the general context of computer
executable instructions. Generally, computer executable instructions can include
15 routines, programs, objects, components, data structures, procedures, modules,
functions, etc., that perform particular functions or implement particular abstract data
types. The method may also be practiced in a distributed computing environment where
functions are performed by remote processing devices that are linked through a
communications network. In a distributed computing environment, computer executable
20 instructions may be located in both local and remote computer storage media, including
memory storage devices.
[0072] A person skilled in the art will readily recognize that steps of the method
can be performed by programmed computers and programmable entities. Herein, some
embodiments are also intended to cover program storage devices, for example, digital
25 data storage media, which are machine or computer readable and encode machineexecutable
or computer-executable programs of instructions, where said instructions
perform some or all of the steps of the described method. The program storage devices
may be, for example, digital memories, magnetic storage media such as a magnetic
disks and magnetic tapes, hard drives, or optically readable digital data storage media.
21
The embodiments are also intended to cover both communication network and
communication devices configured to perform said steps of the exemplary methods.
[0073] Referring to Fig. 4, at block 402, discovery messages may be broadcasted
to identify available FCFs in a Fibre Channel over Ethernet (FCoE) network. In one
implementation of the present subject matter, an R-NPIV may 5 y multicast discovery
solicitations to “ALL_FCF_MAC” to identify available FCFs.
[0074] At block 404, a first FCF may be selected from among the available FCFs
based on selection parameters. In one implementation of the present subject matter, the
selection parameter may include, but not limited to, FP and SP flags, ‘available for login’
10 flags, and priority values based on which the FCF may be selected. In said
implementation, based on the values of the selection parameters, the R-NPIV 102 may
identify a FCF with similar addressing capabilities and compatible for the purpose of
communication of data.
[0075] At block 406, a session request is received from a FC node. The session
15 request may be received in the FC protocol since the FC nodes are configured to
communicate data in the FC protocol. It would be appreciated that the R-NPIV may
include proxy F_ports to extend connectivity to the FC nodes.
[0076] At block 408, the session received from the FC nodes is converted into a
FIP request to generate an FCoE session request. Since the R-NPIV is coupled to the
20 FCF as an E-node, the communications between the R-NPIV and the FCF are based on
FCoE protocol. Also, it would be appreciated that the R-NPIV would include proxy
VN_ports to extend connectivity to the FCF as an E-node
[0077] At block 410, the FCoE session request is sent to the first FCF to establish
an FCoE session, corresponding to the fibre-channel session. In one implementation of
25 the present subject matter, the fibre-channel session of between the FC nodes and the
R-NPIV may be governed by the FCoE session between the R-NPIV and the FCF. That
is, based on the establishment of the FCoE session between the R-NPIV and the FCF,
the status of the corresponding fibre-channel session may be updated.
22
[0078] At block 412, a response for the FCoE session request may be received
from the FCF. In one implementation of the present subject matter, the FCF may either
accept or decline the FCoE session request.
[0079] At step 414, a pseudo response may be provided to the FC node and the
status of the fibre-channel session 5 ion corresponding to the FCoE session may be updated.
In one implementation, if the FCoE session is accepted by the FCF, the fibre-channel
session may be updated to an active state. However, of the FCF declines the FCoE
session, the fibre-channel session may be updated to an inactive state. Further, the
fibre-channel sessions in inactive state may also be removed from the R-NPIV.
10 [0080] Although implementations for the present subject matter have been
described in language specific to structural features and/or methods, it is to be
understood that the implementations described are not necessarily limited to the
specific features or methods described. Rather, the specific features and methods are
disclosed as mere explanations.
I/ We claim:
1. A method for communicating in a Fibre Channel over Ethernet (FCoE) network
with a reverse N_Port ID Virtualization (R-NPIV) device, the method comprising:
broadcasting discovery solicitation messages to identify available Fibre
Channel 5 Forwarders (FCFs) in vicinity;
identifying a first FCF from among the available FCFs for communicating
in the FCoE network based on selection parameters, wherein the values
corresponding to the selection parameters are indicative of compatibility of the
FCF with the R-NPIV device;
10 receiving a session request from at least one Fibre Channel (FC) node to
establish a fibre-channel session, wherein the session request is received in FC
protocol;
converting the session request into a FCoE Initialization Protocol (FIP)
request to generate a FCoE session request; and
15 sending the FCoE session request to the first FCF to establish a FCoE
session, wherein the FCoE session corresponds to the fibre-channel session
established with the at least one FC node.
2. The method as claimed in claim 1, wherein the method further comprises:
20 receiving a response corresponding to the FCoE session request from the
first FCF, wherein the response is indicative of status of establishment of the
FCoE session;
updating status of the fibre-channel session based on the received
response from the FCF; and
25 sending a pseudo response to the at least one FC node, wherein the
pseudo response is based on the updated status of the fibre-channel session.
24
3. The method as claimed in claim 2, wherein the response received from the FCF
is one of, an acceptance message for the FCoE session and a decline message for the
FCoE session.
4. The method as claimed in claim 5 1, wherein the selection parameters include at
least one of FP flags, SP flags, “Available for Login” flag, and priority status.
5. The method as claimed in claim 1, wherein the method further comprises
monitoring for other FCFs available in the vicinity to create a list of existing FCFs.
10
6. The method as claimed in claim 1, wherein the method further comprises:
sending a keep-alive request to the first FCF in the FCoE Initialization
Protocol, wherein the keep-alive request is to keep the FCoE session
corresponding to the fibre-channel session, active;
15 receiving a response to the keep-alive request from the first FCF in the
FCoE Initialization Protocol; and
updating status of the fibre-channel session corresponding to the FCoE
session based on the received response.
20 7. The method as claimed in claim 1, wherein the method further comprises:
identifying the first FCF to be unavailable, wherein the FCoE sessions
established with the first FCF are non responsive; and
sending a FC LOGO message to the at least one FC node to tear down
the established fibre-channel sessions.
25
25
8. A reverse N_Port ID Virtualization (R-NPIV) device (102) to communicate in a
Fibre Channel over Ethernet (FCoE) network (104), the R-NPIV device (102)
comprising:
a processor (202);
5 a proxy communication module (116) coupled to the processor to:
broadcast discovery solicitation messages to identify available
FCFs (108) in the vicinity; and
identify a first FCF (108) from among the available FCFs (108) for
communicating in the FCoE network (104) based on selection parameters,
10 wherein the values corresponding to the selection parameters are
indicative of compatibility of the FCF (108) with the R-NPIV device (102);
and
a session administration module (216) coupled to the processor (202) to:
receive a session request from at least one Fibre Channel (FC)
15 node (106) to establish a fibre-channel session, wherein the session
request is received in FC protocol;
convert the session request into a FCoE Initialization Protocol (FIP)
request to generate a FCoE session request; and
send the FCoE session request to the first FCF to establish a FCoE
20 session, wherein the FCoE session corresponds to the fibre-channel
session established with the at least one FC node (106).
9. The R-NPIV device (102) as claimed in claim 8, wherein the session
administration module (216) further:
25 receives a response corresponding to the FCoE session request from the
first FCF, wherein the response is indicative of status of establishment of the
FCoE session;
26
updates status of the fibre-channel session based on the received
response from the FCF; and
sends a pseudo response to the at least one FC node, wherein the
pseudo response is based on the updated status of the fibre-channel session.
5
10. The R-NPIV device (102) as claimed in claim 8, wherein the session
administration module (216) further:
receives a tear down request for the fibre-channel session from the at
least one FC node (106), wherein the tear down request is received in FC
10 protocol;
converts the tear down request into a FIP tear down request;
sends the FIP tear down request to the first FCF (108) to terminate the
FCoE session corresponding to the fibre-channel session; and
provides a response to the at least one FC node (106) for the fibre15
channel session based on a response received from the FCF (108) for the FCoE
session, wherein the response sent to the at least one FC node (106) is one of
an acceptance of the tear down request and a declination of the tear down
request.
20 11. The R-NPIV device (102) as claimed in claim 8, wherein the session
administration module (216) further:
sends a keep-alive request to the first FCF in the FCoE Initialization
Protocol, wherein the keep-alive request is to keep the FCoE session
corresponding to the fibre-channel session, active;
25 receives a response to the keep-alive request from the first FCF in the
FCoE Initialization Protocol; and
updates status of the fibre-channel session corresponding to the FCoE
session based on the received response.
27
12. The R-NPIV device (102) as claimed in claim 8, wherein the selection
parameters include at least one of FP flags, SP flags, “Available for Login” flag, and
priority status.
5
13. The R-NPIV (102) as claimed in claim 8, wherein the session administration
module (216) further:
identifies the at least one FC node (106) to be unavailable, wherein the
fibre-channel sessions established with the at least one FC node (106) are non
10 responsive; and
sending a FIP LOGO message to the first FCF (108) to tear down the
established FCoE session corresponding to the fibre-channel session.
14. A computer-readable medium having embodied thereon a computer program for
executing a method, the method comprising:
15 broadcasting discovery solicitation messages to identify available Fibre
Channel Forwarders (FCFs) in the vicinity;
identifying a first FCF from among the available FCFs for communicating
in the FCoE network based on selection parameters, wherein the values
corresponding to the selection parameters are indicative of compatibility of the
20 FCF with a R-NPIV device;
receiving a session request from at least one Fibre Channel (FC) node to
establish a fibre-channel session, wherein the session request is received in FC
protocol;
converting the session request into a FCoE Initialization Protocol (FIP)
25 request to generate a FCoE session request; and
sending the FCoE session request to the first to establish a FCoE session,
wherein the FCoE session corresponds to the fibre-channel session established
with the at least one FC node.
28
15. The computer-readable medium as claimed in claim 14, wherein the method
further comprises:
receiving a response corresponding to the FCoE session request from the
first 5 FCF, wherein the response is indicative of status of establishment of the
FCoE session;
updating status of the fibre-channel session based on the received
response from the FCF; and
sending a pseudo response to the at least one FC node, wherein the
10 pseudo response is based on the updated status of the fibre-channel session.
| # | Name | Date |
|---|---|---|
| 1 | 3825-DEL-2013-AbandonedLetter.pdf | 2019-10-14 |
| 1 | 3825-del-2013-GPA.pdf | 2014-05-27 |
| 2 | 3825-del-2013-Form-3.pdf | 2014-05-27 |
| 2 | 3825-DEL-2013-FER.pdf | 2018-08-27 |
| 3 | FIG IN.pdf | 2014-07-07 |
| 3 | 3825-del-2013-Form-2.pdf | 2014-05-27 |
| 4 | SPEC FOR E-FILING.pdf | 2014-07-07 |
| 4 | 3825-del-2013-Form-1.pdf | 2014-05-27 |
| 5 | 3825-del-2013-Correspondence-Others-(30-06-2014).pdf | 2014-06-30 |
| 5 | 3825-del-2013-Drawings.pdf | 2014-05-27 |
| 6 | 3825-del-2013-Correspondence-others.pdf | 2014-05-27 |
| 6 | 3825-del-2013-Description (Provisional).pdf | 2014-05-27 |
| 7 | 3825-del-2013-Correspondence-others.pdf | 2014-05-27 |
| 7 | 3825-del-2013-Description (Provisional).pdf | 2014-05-27 |
| 8 | 3825-del-2013-Correspondence-Others-(30-06-2014).pdf | 2014-06-30 |
| 8 | 3825-del-2013-Drawings.pdf | 2014-05-27 |
| 9 | 3825-del-2013-Form-1.pdf | 2014-05-27 |
| 9 | SPEC FOR E-FILING.pdf | 2014-07-07 |
| 10 | FIG IN.pdf | 2014-07-07 |
| 10 | 3825-del-2013-Form-2.pdf | 2014-05-27 |
| 11 | 3825-del-2013-Form-3.pdf | 2014-05-27 |
| 11 | 3825-DEL-2013-FER.pdf | 2018-08-27 |
| 12 | 3825-del-2013-GPA.pdf | 2014-05-27 |
| 12 | 3825-DEL-2013-AbandonedLetter.pdf | 2019-10-14 |
| 1 | 3825DEL2013_14-08-2018.pdf |