光纤通道转发器架构登陆序列的制作方法

文档序号:7990329阅读:289来源:国知局
光纤通道转发器架构登陆序列的制作方法
【专利摘要】本发明提供了在光纤通道交换机环境中用于光纤通道转发器架构登陆序列的示例性方法、系统和计算机程序产品实施例,在该光纤通道交换机环境中,光纤通道转发器(cFCF)与光纤通道以太网(FCoE)数据转发器(FDF)分离。在一个实施例中,仅以示例的方式,在从发起装置向架构进行光纤通道登陆(FLOGI)时,使得节点地址接受通知不能到达所述发起装置,直到多个分区分布中的每一个分区分布都已经被认为已经完成为止。
【专利说明】光纤通道转发器架构登陆序列
【技术领域】
[0001]本发明一般涉及计算机,并且更具体地涉及在光纤通道交换机环境中的光纤通道转发器架构登陆序列。
【背景技术】
[0002]在当今社会,计算机系统很普遍。计算机系统可以在工作地点、家庭或学校找到。计算机系统可以包括数据存储系统或盘存储系统,以处理和存储数据。数据存储系统或盘存储系统被用来处理和存储数据。存储系统可以包括一个或多个盘驱动器。这些数据处理系统通常需要大量的数据存储。数据处理系统内的顾客数据或由用户产生的数据占用了该存储空间的一大部分。许多这些计算系统包括虚拟存储组件。
[0003]计算机系统中的各种组件(诸如存储组件)可以使用光纤通道协议连接到一起,该光纤通道协议是用在包括存储系统的各种装置中的千兆比特速度数据传输技术。当两个光纤通道端口经由光纤通道线缆彼此连接时,必须在两个端口可以交换有意义的数据之前完成链路发起处理。这种链路发起处理的一部分涉及确定链路将会工作的速度。在大部分情况中,光纤通道端口可以支持多个速度(例如,IGb/秒、2Gb/秒、4Gb/秒)并且可以通常被构造为执行标准速度谈判算法,以确定由每个端口支持的最高公共速度,并由此在此速度下操作。该协商算法是由信息技术标准化国际委员会(INCITS)的Tll技术委员会和美国国际标准协会(ANSI)设置的整体光纤通道标准的一部分。

【发明内容】

[0004]光纤通道以太网(FCoE)是用于在以太网上传输光纤通道(FC)帧的技术,该技术被在信息技术标准化国际委员会(INCITS)对于光纤通道(Tll)的技术委员会标准化。所使用的被传输的FC帧是基于用于存储网络目的的FC结构。结合用于在以太网上传输光纤通道(FC)的技术,现有技术的分布式交换机模块和相关的协议可以被应用到光纤通道以太网(FCoE)交换机(FCFs)和标准FC交换机二者,或者仅应用到标准FC交换机。在从装置进行光纤登陆(FLOGI)期间,在全部组件(例如,分布式交换机的FCoE数据转发器(FDF)和控制光纤通道转发器(cFCF))之间需要通信。现有技术的协议允许终端装置(例如,发起装置)在完成将所需的分区信息传送到分布式交换机的其它组件之前开始与架构中的其他装置(例如,目标装置)通信。现有技术不能够在允许终端装置开始通过全部FDF与另一个终端装置通信之前将分布式交换机中的全部FDF同步。因此,可能减小效率和生产率。
[0005]因此,鉴于以上内容,提供了用在光纤通道交换机环境中的光纤通道转发器架构登陆序列中的各种示例性方法、系统和计算机程序产品实施例,其中光纤通道转发器(cFCF)被与光纤通道以太网(FCoE)数据转发器(FDF)分离。在一个实施例中,仅以示例的方式,在从发起装置向目标装置进行光纤通道登陆(FLOGI)时,使节点地址接受通知不能到达发起装置,直到每个分区分布都已经被认为已经完成为止。
[0006]除了前述示例性方法实施例之外,其他示例性系统和计算机产品实施例也被提供了并且提供相关优点。前述
【发明内容】
已经提供了对于以下具体说明书中进一步描述的简化形式的概念的选择。该
【发明内容】
不意图指明权利要求所保护的主题的关键特征或核心特征,也不意图被用来确定权利要求的主题的范围。权利要求的主题不局限于解决背景中的任何或全部缺陷的实施方式。
【专利附图】

【附图说明】
[0007]为了更容易理解本发明的有点,将会参照在附图中示出的具体实施例提供上文中概述的本发明的具体描述。应当理解,这些附图描绘了本发明的实施例,并且因此不认为是其范围的限制,本发明将会通过使用附图利用额外的特征和细节描述和解释,在附图中:
[0008]图1示出了具有其中可以实现本发明的方面的示例存储装置的计算机存储环境;
[0009]图2是示出了其中可以实现本发明的方面的光纤通道适配器的一个实施例的示意框图;
[0010]图3是根据图示实施例的机制的、在光纤通道交换机环境中用于分布式FCF架构登陆的示例性方法300的流程图;
[0011]图4A是示出了现有技术的分布式交换机模块和相关的协议的FLOGI处理的示例性框图;
[0012]图4B示出了示例性框图,其示出了在接收到全部SW_ACC的分布式FCF架构登陆序列;
[0013]图4C示出了示例性框图,其示出了具有超时的分布式FCF架构登陆序列;
[0014]图5是示出了用于执行分布式FCF架构登陆序列的示例性方法500的流程图;以及
[0015]图6是示出了用于使用交换上下文来匹配多个VNRN请求和应答的示例性方法600的流程图。
【具体实施方式】
[0016]一般的计算机系统和具体的与国际商业机器公司(IBM)兼容的计算机系统已经实现了广泛的用途,以将计算机能力提供给当今现代社会的各个部分。计算机系统通常包括系统处理器和相关的易失性和非易失性存储器、显示区域、输入装置以及通常与其他计算装置的接口。
[0017]这些系统的一个区别特性是使用系统板来将这些组件连接到一起。这些计算装置是信息处理系统,其被设计为主要向单个用户提供独立的计算能力,或者在联网计算装置的情况下向一组用户提供计算能力。个人计算装置通常对于个人或商业用途购买价格不昂贵。诸如硬盘、⑶-ROM驱动器和磁光盘驱动器的非易失性存储器被认为是外围装置。计算装置通常使用局域网(LAN)、广域网(WAN)或任何类型的网络彼此链接。如上所述,计算机系统也可以使用光纤通道网络互连。通过链接到其他计算机系统,计算装置可以使用由其他计算装置所拥有的资源。这些资源可以包括存储在非易失性存储装置上的文件以及诸如打印机和存储器区域网(SAN)的资源。光纤通道可以被用来连接这些装置和资源,包括将计算机装置连接到诸如SAN装置的存储装置。
[0018]光纤通道是用于数据传输和存储的高速介质。本质上是在光纤光学线缆上优选地产生串行数据通道。光纤通道提供主机与装置之间的逻辑双向、点对点连接。与使用局域网(LAN)或广域网(WAW)的联网技术类似,光纤通道也被用来连接PC、服务器、打印机和存储装置。因为光纤通道允许使用光纤光学线缆,所以沿着光纤通道网络的连接使得可以以更远距离传输数据。此外,光纤通道使得高速数据传输成为可能。光纤通道也在通信通道上提供了增加的带宽。
[0019]通道和网络是在装置之间传输数据的两个主要方式。这些装置包括处理器和外围装置,诸如打印机和存储装置。通道通过交换的或直接的点对点连接来传输数据。通道通过在源装置与目标装置之间产生固定连接直到传输完成为止,来进行工作。通道以高速传输数据并且是经济的。另一方面,网络(即,LAN或WAN)是诸如处理器、打印装置和工作站的节点的集合。网络上的连接通常比经由通道进行的那些连接更慢。同样,因为网络是软件敏感的,所以它们由于更新和兼容性问题而更加昂贵。通道在较少装置下工作得更好并且经由预先限定的地址来连接。另一方面,网络可以处理多个连接之间的多个请求。
[0020]光纤通道是网络和通道方法的混合。因此,光纤通道通常被认为是结合了网络和通道的优点的I/o (输入/输出)接口。此外,光纤通道系统可以根据用户的要求以不同方式构造,因此在进一步变化的系统环境中提供灵活性。
[0021]装置被使用各种互联拓扑在光纤通道系统上连接。可以用于光纤通道的互联装置是交换机、集线器和网桥。光纤通道使用不同互联装置的能力使其能够根据用户需求改变规模。对于小的光纤通道网络,集线器和网桥可以被用于在拓扑上被称作为光纤通道分布式环路(FC-AL)的连接装置。随着光纤通道网络变得更大并且网络要求增加,可以实施交换。经交换的光纤通道网络被称作为“架构(fabric)”。架构仅仅是由光纤通道交换机使用的下层交换结构。架构可以包括与交换机互联的许多环路。
[0022]如前所述,光纤通道以太网(FCoE)是用于在以太网上传输光纤通道(FC)帧的技术,该技术被在信息技术标准化国际委员会(INCITS)对于光纤通道(Tll)的技术委员会标准化。光纤通道以太网(FCoE)允许光纤通道(FC)帧在以太网络上发送和接收。所发送的FC帧被基于用于存储联网目的的FC结构来使用。Tll光纤通道标准委员会的FC-BB-6工作组致力于研究具有相关协议的分布式交换机模型。该模型可以被应用到FCoE交换机(FCFs)和标准FC交换机二者,或者仅应用到标准FC交换机。在从装置进行光纤登陆(FLOGI)期间,在全部组件(例如,分布式交换机的FCoE数据转发器(FDF)和控制光纤通道转发器(cFCF))之间需要通信。现有技术的协议允许终端装置(例如,发起装置)在完成将所需的分区信息传送到分布式交换机的其它组件之前开始与架构中的其他装置(例如,目标装置)通信。现有技术不能够在允许终端装置(例如,E节点)开始通过全部FDF与另一个终端装置通信之前将分布式交换机中的全部FDF同步。因此,可能减小效率和生产率。
[0023]相反,为了解决之前描述的无效率和性能问题,图示实施例提供了用于光纤通道交换机环境中的光纤通道转发器架构登陆序列,其中,光纤通道转发器(cFCF)被从光纤通道以太网(FCoE)数据转发器(FDF)分离。以示例的方式,在从发起装置向目标装置进行光纤通道登陆(FL0GI)时,该机制使得地址接受通知不能到达发起装置,直到每个分区分布已经被认为是已经完成了为止。
[0024]该机制寻求提供对于在分布的FC和/或FCF交换机中分区分布的同步的解决方案。通过示例的方式,该机制提供了在完成架构登陆处理并且允许终端装置与架构中的其他终端装置通信之前完成了分布式交换机的组件之间分区分布协议。通过确保在允许装置 开始与架构上的其他终端装置通信之前完成分区分布,可以将不必要的通信错误和相关的 错误恢复最小化和/或避免。
[0025]现在转向图1,其描绘了在计算环境中的数据存储系统(例如,虚拟磁带系统)的示 例性结构10,以完成本发明的用于光纤通道转发器架构登陆序列的目的。计算机系统10包 括中央处理单元(CPU)12,其连接到一个或多个大容量存储装置14以及存储器装置16。大 容量存储装置可以包括硬盘驱动器(HDD)装置、固态存储器装置(SSD)等,他们可以被构造 为独立冗余磁盘阵列(RAID)。进一步描述的备份操作可以在位于系统10内或别处的一个 或多个装置14上执行。存储器装置16可以包括诸如电可擦写可编程只读存储器(EEPROM) 或者相关装置的主机的存储器。存储器装置16和大容量存储装置14经由单承载介质连接 到CPU12。此外,CPU12通过通信端口 18连接到通信网络20,该通信网络具有连接的多个 附加计算机系统22和24。如本领域技术人员可以理解的,图1中示出的数据存储系统的机 制用来完成本发明的用于光纤通道转发器架构登陆序列的目的,并且可以与光纤通道适配 器结合工作或者一同实施,如图2所示,并且/或者与下文中描述的其它组件和机制结合工 作或一同实施。
[0026]图2是示出了示例性光纤通道适配器100的示意性框图。第一光纤通道端口 105a (未示出)被电连接到适配器100的相关端口 110a。类似地,端口 105b和105n被分别与端 口 IlOb和IlOn相关联。如本领域技术人员可以理解的,端口 105a可以被结合到所连接的 装置(诸如附加存储组件)或与其相关联。所连接的装置可以具有其中结合了端口 105a-n 的附加光纤通道适配器100。
[0027]光纤通道适配器100可以被结合到之前描述的光纤通道延伸器装置中,其中端口 IlOa可以接受第一光纤通道线缆并且端口 IlOb可以接受第二光纤通道线缆,以将第一和 第二线缆连接到一起。端口 110a-n中的每一个都可以提供对于双方向输入/输出(I/O)数 据链路的访问。该数据链路允许计算机系统的各种组件如前所述地相互连接。例如,数据 链路可以提供以下机制:通过该机制,对于访问SAN的资源的主机请求可以被接收并传递 到相关联的存储装置,并且可以进行存储路由器之间的通信。
[0028]为了有助于这种通信,适配器可以包括诸如接口单元120、光纤通道控制器(其也 可以被称作为光纤通道转发器)130、处理器160和子系统接口 140的组件。诸如光纤通道 控制器和/或处理器160的这些组件提供了硬件机制,通过该硬件机制执行本说明书和权 利要求的主题的各个方面。例如,标准速度协商算法可以由可在适配器100上操作的处理 器160执行。此外,当前描述的协议和权利要求的主题的方面,诸如硬设置链路速度,可以 在光纤通道控制器130、处理器160或其他位置执行。子系统界面140将适配器100连接到 子系统150,
[0029]诸如存储区域网络的具体存储环境。在一个实施例中,本说明书的各个方面可以 在附加适配器100上同时地进行。
[0030]如前所述,在从装置进行架构登陆(FL0GI)期间,需要全部组件之间的通信(例如, 分布式交换机的FCoE、数据转发器(FDF)和控制光纤通道转发器(cFCF)之间的通信)。当 前提出的协议允许终端装置(例如,发起装置)在完成将所需的分区信息传输给分布式交换 机的其他组件之前开始与架构中的其他装置(例如目标装置)通信。然而,现有技术协议不能在允许以太网(FCoE)节点(E节点)(例如,主机总线适配器(HBA))通过FDF与其他终端 装置开始通信之前,将分布式交换机中的全部FDF同步。为了解决现有技术的不足,应当考 虑若干因素。在光纤通道登陆(FLOGI)过程中,分区分布应当在VN_Port (VN_端口)可以 将N_Port登陆(PLOGI)发送到其他VN_Port之前(例如,当FLOGI完成时)。FDF应当被配 置为并行处理和响应多个所接收到的FL0GI/FDISC。因此,FDF必须向cFCF发起多个VN_ Port可到达通知(VNRN)。一个差的/慢的FDF应当不使得FLOGI良好并且FDF失败。此 夕卜,在一般情况下,FLOGI应当在合理的时间量(例如,少量几个毫秒)内完成。因此,如下所 述,通过本发明的将这些因素结合到机制中的能力,增加了效率和生产率。
[0031]在一个实施例中,仅以示例的方式,图示实施例的机制提供了在光纤通道交换机 环境中的分布式FCF架构登陆序列,在该环境中光纤通道转发器(cFCF)与光纤通道以太网 (FCoE)数据转发器(FDF)分离。仅以示例的方式,该机制可以执行从发起装置向目标装置 的光纤通道登陆(FL0GI)。节点地址接受通知不能到达发起装置,直到分区分布已经被认为 已经完成为止。
[0032]图3是示出了根据图示实施例的机制的示例性方法300的流程图,其用于在光纤 通道交换机环境中的分布式FCF架构登陆序列。该方法300通过判断在光纤通道交换机环 境中光纤通道转发器(cFCF)是否与光纤通道以太网(FCoE)数据转发器(FDF)分离(步骤 304)而开始(步骤302)。该方法300执行从发起装置向目标装置的光纤通道登陆(FLOGI) (步骤306)。使得节点接受通知不到达发起装置,直到多个分区分布中的每一个都已经被认 为已经完成为止(步骤306)。方法结束(步骤308)。
[0033]如下文所描述的,图4A到图4C是FLOGI处理的示意性实施例。图4A是示出了 用于现有技术的分布式交换机模块和相关协议的FLOGI处理的示意性框图。在图4B和图 4C中,本发明的机制被示出,以提供对于分布式FC和/或FCF交换机中同步分区分布的解 决方案。转向图4A,图4A是示出了分布式交换机模块和相关协议的FLOGI处理的示例性 框图。如图4A-图4C所示,在从装置进行架构登陆(FLOGI)期间,需要全部组件(例如,分 布式交换机的的FCoE数据转发器(FDF)和控制光纤通道转发器(cFCF))之间的通信。FDF 可以被连接到终端装置并且cFCF包括允许进行FCoE功能的光纤通道服务(例如,名称服务 器、架构服务器等)。如图4A、图4B和图4C所示,具有箭头的每根线表示从一个实体到另 一个实体的通信(例如,FLOGI被从E节点发送到FDF),而通信的类型的名称在线上方。每 个E节点被连接到FDF,并且在从E节点向所连接的FDF进行FLOGI时,E节点认为FDF是 FCF。在图4A-图4C中,第一竖直线是E节点组件(例如,主机总线适配器)并且其右侧的 四根竖直线是分布式FCF被分解成为的组件(例如,FDF、主cFCF、其他FDF和次cFCF)。各 个FDF中的每个可以包括多个端口(例如,10个E节点可以被连接到FDF)。因为FDF并不 具有分配光纤通道标识(FCID)地址的知识,所以FDF将会与cFCF通信并且向cFCF通知实 体(例如,E节点)正尝试进行FL0GI,这是因为仅cFCF具有分配FCID地址的知识。从FDF 到cFCF的这种通信被称作为VN_Port可到达通知(VNRN)。cFCF理解并解释来自于FDF的 该通信,作为用于FCID地址的分配请求并且分配来自于光纤通道域(光纤通道域可以被称 作虚拟域,因为通道可以在各个组件之间分开)的FCID地址,并且接受请求,该光纤通道域 是由分布式交换机控制的地址空间。之后,N_Port_ID和分区ACL分布(NPZD)消息被从主 cFCF (但是在高可用性的情况下或者对于故障切换可以使用次cFCF)发送到全部的FDF,以更新并通知FDF新的标识(ID)将会被分配给ID被允许与其通信的全部相关联的N端口, 作为分区分布的一部分。
[0034]然而,如图4A所示,分区分布没有完成并且在分区分布之前接受了 FLOGI (例如, FDF在VNRN被从FDF发送并且节点地址接受通知被过早地发送之后接收NPZD)。例如,如 图4A所示,E节点执行向FDF的FLOGI。VNRN通信消息被发送给cFCF。节点地址接受通 知(VNRN SW_ACC)被接受并且从cFCF发送回FDF。E节点现在自由地与网络通信。如图4A 所示,一些NPZD被接受并且从主cFCF发送回FDF,并且被嵌入有FLOGI链路服务接受(LS_ ACC)参数,同时其他NPZD被从主cFCF发送到其他FDF,因此表示分区分布在VNRN Sff_ACC 被发送回FDF之前还没有完成。通过将VNRN Sff_ACC发送回FDF,这允许FDF将LS_ACC发 送到E节点,并且FLOGI被接受。在图4A中,对于FLOGI的LS_ACC由从cFCF接收NPZD来 触发。因此,因为PLOGI通常是来自于E节点的、用于登陆到期望通信的装置的第一通信之 一,所以如果由E节点发送的PLOGI由FDF转发到其他FDF (如图4A中的虚线所示),PLOGI 可以在其他FDF接收NPZD之前到达其他FDF。如果发生这种事件,其他FDF不确定如何处 理PLOGI,并且不能够传输帧,由此获得错误恢复操作。NPZD在PLOGI到达其他FDF之前到 达其他FDF的延迟可能由各种原因导致(例如,网络延迟了 NPZD完成,慢的FDF或者向FDF 的慢的路径延迟了 NPZD完成)。因此,分区分布在允许PLOGI之前没有完成。应当注意,如 果存在多个VNRN (由于多个FL0GI),将会有触发LS_ACC所需的多个NPZD。FDF必须使用 N_Port名称来寻找相关的FLOGI。因此,对于每个VNRN需要某种超时来等待相应的NPZD (以避免FLOGI超时)。
[0035]为了解决之前在图4A中描述的不足,图4B示出了示例性框图,其示出了接收到全 部SW_ACC的分布式FCF架构登陆序列。在一个实施例中,这些机制通过完成分区分布来 控制何时将链路服务接受(LS_ACC)返回到E节点。如图4B所示,E节点将FLOGI发送到 FDF0 FDF通过发送VNRN来与cFCF通信,如图4A中在先描述的。然而,代替节点地址接受 通知(VNRN Sff_ACC)接受被从cFCF返回到FDF,节点地址接收通知被保留和/或延迟直到 NPZD分区分布(例如,NPZD交换机接受(SW_ACC))被从cFCF发送之后,并且等待时间段被 引入以允许完成分区分布。例如,如图4B所示,最左侧的竖直线显示了 t0、tl、tl+x和t2 的时间值。时间段tl可以是全部NPZD被发送的时间,并且tl+x可以是当VNRN的交换机 接受(SW_ACC)(例如,VNRN SW_ACC)被从cFCF发送到FDF,之后允许FDF利用LS_ACC完成 FLOGI之后时的时间。由tl+x表示的时间段可以是保留VNRN Sff_ACC直到分区分布被认 为完成的时间(在最后的NPZD发送之后的X时间)为止所需的时间。“x”值可以表示全部 的NPZD的接受(NPZD SW_ACC)被接收所需的时间段或者可以表示在一段时间(例如,100到 500毫秒(ms))之后的时间段,或者可以表示这两者之中首先到达的时间段。100到500毫 秒可以基于用户的需要改变,并且可以相应地调整,以完成本发明的目的。例如,在小网络 中,可以制定100ms,并且在更大的网络中,可以实施500ms。超时时间段的一个原因是为了 解决错误网络问题。例如,如果存在错误网络、坏的FDF、坏的链路或一些其他导致NPZD变 慢、延迟以及/或者防止NPZD和/或NPZD Sff_ACC到达其目的地的原因,那么FDF之一可 以防止连接到分布式交换机的E节点向网络进行FL0GI,这是因为VNRN将会根本不会到达 FDF并且LS_ACC将会根本不会到达E节点,由此导致超时。
[0036]因此,本发明的机制提供了超时,以允许对于分区分布完成经过合理的时间。超时值可以基于分布的FCF的大小。在一个实施例中,最小时间值(诸如IOOms)可以被用来至少确保传输完成,并且最大时间值(例如,500ms)可以被设置以防止长的FLOGI时间。作为在终端装置通信之前更佳地确保分布完成的选项,在超时的情况下,该机制可以向FLOGI 发送繁忙响应(例如,将繁忙信号至少一次地发送到FL0GI)并且允许终端装置(例如,发起装置)发起重试。在一个实施例中,该机制可以继续等待在先开始的分布完成,或者从开始重试FLOGI过程,以实现更高的效率。该决定可以基于重试FLOGI的超时等待。该机制可以使用VNRN内部链路服务(ILS)计时器,来对过程计时,以避免使用独立的计时器来等待 VNRN0
[0037]通过延迟节点地址接受通知(VNRN Sff_ACC), NPZD分区分布被允许完成。如图4B 所示,cFCF在发出VNRN Sff_ACC之前将NPZD发送到FDF,将NPZD (具有嵌入在NPZD内的 FLOGI LS_ACC参数)发送到次cFCF,并且将NPZD发送到其他FDF。此外,在tl+x之后的某时亥丨】,cFCF发出VNRN Sff_ACC,并且也将FLOGI LS_ACC参数嵌入到VNRN Sff_ACC中。FLOGI LS_ACC参数被嵌入在中,因为VNRN Sff_ACC负荷自然地承载由VNRN请求的FLOGI LS_ACC 参数和所分配的N_Port ID0 VNRN交换上下文(exchange context)被用来将VNRN Sff_ACC 与FLOGI LS_ACC链路服务接受(LS_ACC)相关。当cFCF将延迟的(或保留的)VNRN Sff_ACC 发送到FDF时,FDF之后继续将LS_ACC传送回E节点。E节点之后发出PLOGI。如图4B所示,在发出VNRN Sff_ACC之前,已经接收到全部的SW_ACC。
[0038]转向图4C,图4C示出了示例性框图,其表示了具有超时的分布式FCF架构登陆序列。图4C与图4B相似,但是与图4B相比,示出了其他FDF和次cFCF以交替的时间段发送 SW_ACC。因此,图4C示出了发生超时,而图4B示出了全部的SW_ACC已经被接收。在图4C 中,VNRN Sff_ACC之后被在tl+x时间段期间发送。如图4B所示的全部其他特征和图示都与图4C中示出的类似。
[0039]如上所述(例如,图4B和图4C),提供了在完成架构登陆处理并允许终端装置与架构中的其他装置通信之前,完成分布式交换机的组件之间的分区分布协议。通过确保在允许装置开始与架构上的其他终端装置通信之前完成分区分布,可以最小化或避免不必要的通信故障和相关的错误恢复。有鉴于此,图5是示出了用于执行分布式FCF架构登陆序列的示例性方法500的流程图。方法500通过执行分区分布(步骤504)来开始(步骤502)。该方法延迟由cFCF发送注册状态改变通知(RSCN),直到完成分区分布之后为止(步骤506)。 该方法判断每个分区分布是否都由cFCF接受(步骤508)。如果是,方 法将会认为分区分布已经完成(步骤518)。如果否,方法500将会判断预定时间段是否已经期满(步骤510)。如果否,方法500将会重复并返回,并且检查分区分布是否全部被接受(步骤508)。如果预定时间段已经期满,那么方法可以选择向发起装置发送繁忙响应(步骤512)。繁忙信号仅发送一次,但是如果实现本发明的目的需要的话,可以发送多于一次。发起装置被允许重试 FLOGI,以确保完成每个分区分布(步骤514)。方法500可以等待在先最近开始的分区分布的完成(步骤516)。方法500认为分区分布完成了(步骤518)。方法500结束(520)。
[0040]结合分区分布和接受,图6是示出了用于使用交换上下文来匹配多个VNRN请求和相应的示例性方法600的流程图。因为多个FLOGI可能从多个端口同时发生,由此产生多个VNRN,所以将节点地址接受通知与发送FLOGI的发起装置相关联是很关键的。交换上下文允许方法600避免匹配FC端口名称。交换上下文允许FLOGI与VNRN之间的——对应。简而言之,通过使用VNRN SW_ACC来触发FLOGI LS_ACC,允许FDF使用交换上下文来匹配多 个VNRN请求和响应,并且将它们与多个FLOGI请求相关。方法600通过使用节点地址接受 通知来触发FLOGI链路服务接受(LS_ACC)(步骤604)来开始(步骤602)。FDF被允许使用 交换上下文来将节点地址接受通知与发送FLOGI的发起装置相关联(步骤606)。FLOGI LS_ ACC参数被嵌入节点地址接受通知(步骤608)。方法600结束(步骤610)。
[0041]所属【技术领域】的技术人员知道,本发明的各个方面可以实现为系统、方法或计算 机程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、 完全的软件实施方式(包括固件、驻留软件、微代码等),或硬件和软件方面结合的实施方 式,这里可以统称为“电路”、“模块”或“系统”。此外,在一些实施例中,本发明的各个方面 还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介 质中包含计算机可读的程序代码。
[0042]可以采用一个或多个计算机可读介质的任意组合。计算机可读介质可以是计算 机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是一但不限 于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算 机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便 携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器 (EPR0M或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者 上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的 有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
[0043]计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括一但不限 于一无线、有线、光缆、RF等等,或者上述的任意合适的组合。
[0044]可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的计算 机程序代码,所述程序设计语言包括面向对象的程序设计语言一诸如Java、Smalltalk、C++ 等,还包括常规的过程式程序设计语言一诸如“C”语言或类似的程序设计语言。程序代码可 以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、 部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。 在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络一包括局域网(LAN) 或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务 提供商来通过因特网连接)。
[0045]上面已经参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图 和/或框图描述本发明。应当理解,流程图和/或框图的每个方框以及流程图和/或框图 中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计 算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些计 算机程序指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程 图和/或框图中的一个或多个方框中规定的功能/动作的装置。
[0046]也可以把这些计算机程序指令存储在计算机可读介质中,这些指令使得计算机、 其它可编程数据处理装置、或其他设备以特定方式工作,从而,存储在计算机可读介质中的 指令就产生出包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的指令 的制造品(article of manufacture)。计算机程序指令也可以被装载到计算机、其他可编程数据处理设备或其他装置上,使得一系列操作步骤在计算机、其他可编程设备或其他装 置上执行,以产生计算机实施的处理,使得执行在计算机或其他可编程设备上的指令提供 了用于实施在流程图或框图的框中规定的功能/动作的处理。
[0047]上面附图中的流程图和框图已经显示了根据本发明的多个实施例的系统、方法和 计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方 框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个 或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方 框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际 上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要 注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以 用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机 指令的组合来实现。
[0048]虽然已经具体示出了本发明的一个或多个实施例,但是本领域技术人员将会明白 可以对这些实施例进行修改和调整,而不超出由权利要求限定的本发明的范围。
【权利要求】
1.一种在包括与光纤通道以太网(FCoE)数据转发器(FDF)分离的光纤通道转发器(cFCF)的光纤通道交换机环境中的方法,该方法包括: 在从发起装置向架构进行光纤通道登陆(FLOGI)时,使得节点地址接受通知不能到达所述发起装置,直到多个分区分布中的每一个分区分布都已经被认为已经完成为止。
2.根据权利要求1所述的方法,其中,如果满足以下至少一者,则所述多个分区分布被认为已经完成了: 所述多个分区分布中的每一个分区分布都由所述cFCF接受,以及 预定时间段已经期满。
3.根据权利要求2所述的方法,其中,所述预定时间段是以下至少一者: 所述预定时间段基于光纤通道转发器(FCF)的大小,以及 所述预定时间段被设置为最小和最大时间。
4.根据权利要求2所述的方法,还包括,如果所述预定时间段已经期满,则执行以下至少一者: 将繁忙响应发送到所述发起装置,以及 允许所述发起装置重试所述FL0GI,以确保所述多个分区分布中的每一个分区分布完成。
5.根据权利要求4所述的方法,还包括:依照重试所述FL0GI,继续等待所述多个分区分布中在先开始的一个分区分布完成。
6.根据权利要求1所述的方法,还包括执行以下至少一者: 使用所述节点地址接受通知来触发FLOGI链路服务接受(LS_ACC),以允许所述FDF使用交换上下文来将所述节点地址接受通知与发送所述FLOGI的所述发起装置相关联,以及 将所述FLOGI LS_ACC参数嵌入到所述节点地址接受通知中。
7.根据权利要求1所述的方法,还包括:延迟由所述cFCF发送注册状态改变通知(RSCN),直到所述多个分区分布完成之后为止。
8.一种在包括与光纤通道以太网(FCoE)数据转发器(FDF)分离的光纤通道转发器(cFCF)的光纤通道交换机环境中的系统,该系统包括: 至少一个处理器装置,其可在所述光纤通道交换机环境中工作,其中,所述至少一个处理器装置适合于: 在从发起装置向目标装置进行光纤通道登陆(FLOGI)时,使得节点地址接受通知不能到达所述发起装置,直到多个分区分布中的每一个分区分布都已经被认为已经完成为止。
9.根据权利要求8所述的系统,其中,如果满足以下至少一者,则所述多个分区分布被认为已经完成了: 所述多个分区分布中的每一个分区分布都由所述cFCF接受,以及 预定时间段已经期满。
10.根据权利要求9所述的系统,其中,所述预定时间段是以下至少一者: 所述预定时间段基于光纤通道转发器(FCF)的大小,以及 所述预定时间段被设置为最小和最大时间。
11.根据权利要求9所述的系统,其中所述至少一个处理器装置还适合于如果所述预定时间段已经期满,则执行以下至少一者:将繁忙响应发送到所述发起装置,以及 允许所述发起装置重试所述FLOGI,以确保所述多个分区分布中的每一个分区分布完成。
12.根据权利要求11所述的系统,其中所述至少一个处理器装置还适合于:依照重试所述FL0GI,继续等待所述多个分区分布中在先开始的一个分区分布完成。
13.根据权利要求8所述的系统,其中所述至少一个处理器装置还适合于执行以下至少一者: 使用所述节点地址接受通知来触发FLOGI链路服务接受(LS_ACC),以允许所述FDF使用交换上下文来将所述节点地址接受通知与发送所述FLOGI的所述发起装置相关联,以及将所述FLOGI LS_ACC参数嵌入到所述节点地址接受通知中。
14.根据权利要求8所述的系统,其中所述至少一个处理器装置还适合于延迟由所述cFCF发送注册状态改变通知(RSCN),直到所述多个分区分布完成之后为止。
15.一种在包括与光纤通道以太网(FCoE)数据转发器(FDF)分离的光纤通道转发器(cFCF)的光纤通道交换机环境中的计算机程序产品,该计算机程序产品用于由处理器装置执行光纤通道转发器架构登陆序列,所述计算机程序产品包括其中存储有计算机可读程序代码部分的非易失性计算机可读存储器介质,所述计算机可读程序代码部分包括: 在从发起装置向目标装置进行光纤通道登陆(FLOGI)时,使得节点地址接受通知不能到达所述发起装置,直到多个分区分布中的每一个分区分布都已经被认为已经完成为止的第一可执行部分。
16.根据权利要求15所述的计算机程序产品,还包括用于如果满足以下至少一者,则认为所述多个分区分布被认为已经`完成的第二可执行部分: 所述多个分区分布中的每一个分区分布都由所述cFCF接受,以及 预定时间段已经期满。
17.根据权利要求16所述的计算机程序产品,还包括用于执行以下至少一者的第三可执行部分: 将所述预定时间段基于光纤通道转发器(FCF)的大小,以及 将所述预定时间段设置为最小和最大时间。
18.根据权利要求16所述的计算机程序产品,还包括用于如果所述预定时间段已经期满,则执行以下至少一者的第三可执行部分: 将繁忙响应发送到所述发起装置, 允许所述发起装置重试所述FLOGI,以确保所述多个分区分布中的每一个分区分布完成,以及 其中,依照重试所述FL0GI,继续等待所述多个分区分布中在先开始的一个分区分布完成。
19.根据权利要求15所述的计算机程序产品,还包括用于执行以下至少一者的第二可执行部分: 使用所述节点地址接受通知来触发FLOGI链路服务接受(LS_ACC),以允许所述FDF使用交换上下文来将所述节点地址接受通知与发送所述FLOGI的所述发起装置相关联,以及将所述FLOGI LS_ACC参数嵌入到所述节点地址接受通知中。
20.根据权利要求15所述的计算机程序产品,还包括用于延迟由所述cFCF发送注册状态改变通知(RSCN),直到 所述多个分区分布完成之后为止的第二可执行部分。
【文档编号】H04L12/939GK103597790SQ201280026283
【公开日】2014年2月19日 申请日期:2012年5月30日 优先权日:2011年6月2日
【发明者】D·G·埃森豪尔, R·G·哈特霍恩, H·J·梅, L·W·里斯 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1