CN110870255B - 在光纤通道结构中高效分发对等区域数据库 - Google Patents

在光纤通道结构中高效分发对等区域数据库 Download PDF

Info

Publication number
CN110870255B
CN110870255B CN201880046055.2A CN201880046055A CN110870255B CN 110870255 B CN110870255 B CN 110870255B CN 201880046055 A CN201880046055 A CN 201880046055A CN 110870255 B CN110870255 B CN 110870255B
Authority
CN
China
Prior art keywords
peer
initiator host
peer zone
fabric
definition
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201880046055.2A
Other languages
English (en)
Other versions
CN110870255A (zh
Inventor
卡西克·苏布拉马尼
维努·戈帕尔·图马拉
基山·库马尔·科塔里·乌本达
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Cisco Technology Inc
Original Assignee
Cisco Technology Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Cisco Technology Inc filed Critical Cisco Technology Inc
Publication of CN110870255A publication Critical patent/CN110870255A/zh
Application granted granted Critical
Publication of CN110870255B publication Critical patent/CN110870255B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • H04L49/356Switches specially adapted for specific applications for storage area networks
    • H04L49/357Fibre channel switches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • G06F3/0622Securing storage systems in relation to access
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0637Permissions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0893Assignment of logical groups to network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/101Access control lists [ACL]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/235Update request formulation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

提供了用于FC结构中高效分发对等区域数据库的技术。在示例中,交换机实例化定义对等区域的对等区域定义,在该对等区域中两个或更多个发起者主机设备各自被允许经由交换式FC结构与一个或多个目标存储设备进行通信并且两个或多个发起者主机设备被阻止彼此通信。交换机将对等区域定义存储在FC交换机处的对等区域数据库中,并在不执行结构锁定操作的情况下将对等区域定义分发给交换式FC结构的其他FC交换机。

Description

在光纤通道结构中高效分发对等区域数据库
技术领域
本公开涉及在光纤通道(FC)结构中高效分发(一个或多个)对等区域数据库。
背景技术
存储区域网络(SAN)用于将主机设备(例如,服务器、计算机等)连接到一个或多个共享存储设备。光纤(FC)通道是用于实现SAN的高速网络技术和协议套件。FC协议套件的目的是使用在光学接口或电气接口上运行的串行接口来高效地管理大量存储设备。FC提供了用于在工作站、大型机、超级计算机、台式计算机和存储设备之间传送数据的高效且可靠的手段。
基于光纤通道的SAN的网络部分称为FC交换结构(在本文中也称为FC结构)。一种FC交换结构包括一个或多个被部署为在主机设备和存储设备之间引导流量的FC交换机。主机设备通常通过与广域网(WAN)(例如,互联网、内联网等)或局域网(LAN)的网络连接来执行计算和/或提供服务。
附图说明
图1是根据示例实施例的被配置为执行本文描述的数据库分发技术的存储区域网络(SAN)的框图。
图2是根据示例实施例的光纤通道(FC)结构中的交换机之间的通信的时序图。
图3是示出根据示例实施例的对等区域数据库的逻辑结构的示意图。
图4是根据示例实施例的被配置为执行数据库分发技术的交换机的框图。
图5是根据本文给出的示例的方法的高级流程图。
具体实施方式
概览
在独立权利要求中陈述了本发明的各方面,并且在从属权利要求中陈述了优选特征。一方面的特征可以单独应用于每个方面或与其他方面结合地应用于每个方面。
提供了用于在FC结构中高效分发对等区域数据库的技术。在一个示例中,交换机实例化定义对等区域的对等区域定义,在该对等区域中两个或更多个发起者主机设备各自被允许经由交换式FC结构与一个或多个目标存储设备进行通信并且这两个或更多个发起者主机设备被阻止彼此通信。交换机将对等区域定义存储在FC交换机处的对等区域数据库中,并在不首先执行结构锁定操作的情况下将对等区域定义分发给交换式FC结构的其他FC交换机。
示例实施例
图1是在附图标记105处总地示出的示例FC存储区域网络(SAN)的框图。FC SAN105包括通过由云120示意性表示的FC交换结构(在本文中称为“FC结构”)连接的多个主机设备110(1)-110(6)以及两个或更多个存储设备115(1)和115(2)。FC结构120包括多个交换机125(1)-125(N)。主机设备110(1)-110(6)在本文中有时也称为“发起者”,因为它们发起与存储设备115(1)和/或115(2)的读取和/或写入事务。存储设备115(1)和115(2)在本文中有时也称为“目标”,因为它们接收从主机设备110(1)-110(6)发送的命令。管理设备130连接到FC结构120。
已经确定如下分区安排可能是有益的,在该分区安排中,N个主机设备仅可以与存储设备通信而不可以彼此通信。这种类型的分区安排称为“对等区域”。图1示意性地示出了包括主机设备110(1)-110(3)和存储设备115(1)的第一对等区域135(1)以及包括主机设备110(4)-110(6)和存储设备115(2)的第二对等区域135(2)。在对等区域135(1)中,主机设备110(1)-110(3)是可以各自与存储设备115(1)进行通信的“对等”设备(即,FC结构120允许每个主机设备发起与存储设备115(1)的读取或写入事务)。然而,FC结构120被配置为阻止主机设备110(1)-110(3)彼此通信(即,对等设备不能彼此通信)。在对等区域135(2)中,主机设备110(4)-110(6)中的每一个又是可以各自与存储设备115(2)进行通信的“对等”设备(即,FC结构120允许每个主机设备发起与存储设备115(2)的读取或写入事务)。然而,FC结构120被配置为阻止主机设备110(1)-110(3)彼此通信。
在某些示例中,管理设备130可以是专用的管理控制台,用户能够通过该控制台创建对等区域135(1)-135(2)。在另一示例中,管理设备130是将对等区域135(1)-135(2)推送到交换机125(1)-125(N)的存储设备。
交换机125(1)-125(N)各自包括称为“区域服务器”140(1)-140(N)的相应管理功能。管理设备130通常利用称为公共传输(CT)的协议来访问区域服务器140(1)-140(N)。也就是说,使用CT,管理设备130能够访问区域服务器140(1)-140(N)以便定义和管理区域。
照惯例,区域服务器140(1)-140(N)还执行交换机到交换机通信,以确保结构的每个其他交换机具有相同的分区信息(即,相同的区域定义)并因此确保一致的结构行为。在常规布置中,单个交换机的区域服务器在任何给定时间通过发起FC结构“锁定”来分发分区信息。当FC结构被锁定时,只有发起锁定的交换机的区域服务器才可以分发分区信息。交换机可以通过例如服务器会话开始(SSB)命令来锁定结构(即,执行结构锁定操作)。
通常,区域服务器修改期望的分区配置的本地副本(例如,添加区域,移除区域,添加区域成员,移除区域成员,等等)。也就是说,在常规布置中,结构锁定对于允许每个交换机的区域服务器在本地合并所有对等区域来说是必要的。区域服务器使用例如Commit(CMIT,提交)命令将当前的结构分区配置设置为与所确定的修改后的分区配置相同,然后通过例如服务器会话结束(SSE)命令来解除结构锁定(即,执行结构解锁操作)。因此,照惯例,锁定协议对于修改/更新结构中的任何区域定义来说是必要的,即使这样的锁定协议经常使得(一个或多个)区域的激活延迟。
锁定协议通常包括四个阶段:(1)从结构中的所有交换机获取锁定(例如,通过发送获取更改授权(ACA)消息);(2)分发区域集;(3)激活区域集;以及(4)解除所获取的锁定。该四阶段锁定协议可以创建结构“死锁”状况,其中交换机在延长的时间段内无法锁定结构(并因此无法例如更新区域)。当多个设备在相似的时间连接到结构中的不同交换机时,可能发生死锁状况。例如,如果两个设备同时连接到结构中的不同交换机,则两个交换机可能会通过向结构中的交换机(包括向彼此)发送相应的ACA消息来同时尝试发起四阶段锁定协议。在该示例中,两个交换机都将不会成功获取锁定。具体而言,第一交换机将拒绝第二交换机ACA消息(例如,经由指示失败的RJT消息),因为第一交换机ACA消息是未完成的。类似地,第二交换机将拒绝第一交换机未完成ACA消息(例如,经由另一RJT消息),因为第二交换机ACA消息也是未完成的。
本文给出了使得能够在不首先要求执行结构锁定操作(即,不需要执行结构范围锁定)的情况下激活对等区域的技术,从而避免了上述的死锁问题。换句话说,即使当通过FC结构内的一个或多个交换机来分发对等分区信息时,本文给出的技术也允许FC结构的连续操作。更具体而言,根据本文给出的示例,交换机125(1)-125(N)各自配置有相应的附加管理功能,在本文中称为“对等区域服务器”145(1)-145(N)。
对等区域服务器145(1)-145(N)分别使得交换机125(1)-125(N)能够彼此通信,以在不锁定FC结构120的情况下共享新的或修改后的对等区域定义。对等区域定义与对等区域名称和独特的域标识(ID)(例如,两元组域ID)相关联。因为域ID是独特的,所以每个交换机125(1)-125(N)可以在整个FC结构120中独立地分发(一个或多个)对等区域。因此,例如,交换机125(1)可以实例化对等区域定义并在不首先执行结构锁定操作的情况下将对等区域定义分发到FC结构120的其他交换机。与常规布置相比,没有必要锁定FC结构120以允许每个交换机125(1)-125(N)在本地合并对等区域。而是,多个交换机125(1)-125(N)可以使用独特的域ID来同时分发相应的对等区域。
参考图2,并继续参考图1,示出了根据本文给出的示例的FC结构120中的交换机125(1)-125(3)之间的通信的时序图。在205处,交换机125(2)从目标存储设备(例如,目标存储设备115(1)或115(2))接收/生成对等区域定义。如下面参考图3更详细地描述的,交换机125(2)可以将描述对等区域定义的数据存储在对等区域数据库中。如下面更详细地解释的,响应于存储对等区域定义,交换机125(2)可以开始软分区或硬分区过程(例如,开始硬件方式的硬分区注入)。
在箭头210(a)-210(b)处,交换机125(2)将对等区域定义分发到交换机125(1)和125(3)。如所述,交换机125(2)在不首先执行结构锁定操作的情况下(即,在FC结构120继续运行的同时)分发对等区域定义。在箭头215处,交换机125(2)从交换机125(3)接收对其本地对等区域数据库的更改,并且在箭头220处,交换机125(2)从交换机125(1)接收对其本地对等区域数据库的另一更改。这些更改可以例如是仅与本地对等区域数据库的要更改/更新的部分有关的信息。交换机125(2)基于从交换机125(1)和125(3)接收的更改来更新其对等区域数据库,并且在箭头225(a)-225(b)处将更新分发给交换机125(1)和125(3)。在一个示例中,一旦交换机125(1)-125(3)根据相应的对等区域数据库实例化一个或多个区域,则对等区域数据库中的对等区域定义仅可以由目标存储设备(例如,存储设备115(1)和/或115(2))删除。
在某些示例中,交换机125(2)在接收到一个或多个更改之后等待一段时间(例如,一分钟),然后将更新分发给交换机125(1)和125(3)。例如,在从交换机125(3)接收到一个或多个更改(箭头215)之后,交换机125(2)可以等待一段时间,然后将更新发送给交换机125(1)(箭头225(a))和125(3)(箭头225(b))。如果交换机125(2)在该段时间内从交换机125(1)接收到一个或多个更改(箭头220),则交换机125(2)可以合并来自交换机125(1)和125(3)的更改并将合并后的更改/更新分发给交换机125(1)(箭头225(a))和交换机125(3)(箭头225(b))。这与常规布置形成对照,在常规布置中,交换机125(1)将无法发送其更改(箭头220),直到交换机125(3)解除其获取的锁定之后为止。
交换机125(2)可以通过发送作为包括一个或多个对等区域定义的域控制器帧的光纤通道CT(FC CT)查询来分发和/或接收对等区域定义。例如,箭头210(a)-210(b)、215、220和225(a)-225(b)可以各自表示单独的FC_CT查询。交换机(例如,交换机125(2))可以使用FC_CT查询来在整个FC结构120中使得新实例化的区域同步(例如,箭头225(a)-225(b))。在新的交换机加入FC结构120的情况下,交换机125(2)可以将其一个或多个本地对等区域定义经由FC CT查询发送到新交换机。新交换机也可以将其一个或多个本地对等区域定义经由FC CT查询发送到交换机125(2)。
交换机125(1)-(3)可能能够处理某些使得能够修改对等区域的FC通用服务(GS)7命令。添加/更新活动对等区域(AAPZ)命令提供在对等区域数据库中添加(或更新)对等区域集的功能。移除活动对等区域(RAPZ)命令提供从对等区域数据库中移除对等区域集的功能。获取活动对等区域(GAPZ)命令提供在对等区域数据库中读取对等区域集的定义的功能。
图3是示出示例对等区域数据库305的逻辑结构的示意图。对等区域数据库305包括对等区域集310(1)-310(2)。每个对等区域集310(1)和310(2)由对等区域集名称标识,并且包含对多个对等区域定义315(1)-315(4)的引用的列表。每个区域定义315(1)-315(4)由区域名称标识,并且包括区域成员的列表。例如,区域定义315(1)包括成员320(1)-320(4),区域定义315(2)包括成员320(5)-320(7),区域定义315(3)包括成员320(1)、320(3)和320(8),并且区域定义315(4)包括成员320(1)-320(5)。
区域定义还可以包括对区域属性对象的引用,该区域属性对象定义了可以与区域相关联并且可以修改区域实施规则的属性的列表。区域定义315(1)和315(3)各自包括属性对象325(1),而区域定义315(2)和315(4)各自包括属性对象325(2)。属性对象325(1)包括属性330(1)-330(2),并且属性对象325(2)包括属性330(1)和330(3)。区域属性用于指定区域的附加特性,这些附加特性提供附加行为。区域属性可以提供附加参数,其包括:协议属性,用于将区域限制为某个协议(指定为属性的参数);硬区域属性,用于指定逐帧实施(无参数);广播区域属性,用于指定对广播帧处理的附加约束(无参数);以及结构间区域(IFR)区域,用于标识结构间区域(无参数)。
通过对等区域属性的定义来定义对等区域。对等区域定义标识被指定为对等区域属性的参数的主要成员(即,目标存储设备),以及作为区域成员的对等成员(即,发起者主机设备)的列表。如上所述,允许对等成员与主要成员进行通信,并且不允许对等成员在它们之间进行通信(除非活动对等区域集中的其他区域允许)。
交换机可以通过通过相应的端口全球通用名称(PWWN)为主要成员和/或对等成员建立索引来将对等区域定义/信息存储在对等区域数据库305中。PWWN是设备的永久标识符,并且在设备离线时不会改变。例如,如果具有PWWN的主机设备离线,则当该主机设备稍后重新上线时,该主机设备将具有相同的PWWN。将会认识到,交换机还可以通过诸如FC标识(FCID)之类的任何合适的标识来为主要成员和/或对等成员建立索引。与PWWN不同,FCID在设备离线时改变。
如在上面简要提到,交换机可以实现硬分区或软分区技术,以在FC结构中实施一个或多个对等区域定义。关于硬分区,对等区域服务器基于对等区域数据库来更新访问控制列表(ACL),以阻止不被允许访问另一个发起者主机设备的发起者主机设备访问另一个发起者主机设备。对等区域服务器可以在硬件内容可寻址存储器(CAM)中对ACL进行编程。交换机可以同时包括区域服务器数据库和对等区域数据库,并且两者中的任一者/两者可以独立地对ACL条目进行编程。
关于软分区,交换机可以从发起者主机设备接收名称服务器查询。例如,名称服务器查询可以针对另一个发起者主机设备的位置(即,以使得能够在发起者主机设备与另一个发起者主机设备之间进行通信)。交换机可以确定发起者主机设备是否被允许与另一个发起者主机设备进行通信(例如,通过咨询名称服务器数据库)。如果交换机确定发起者主机设备被允许与另一个发起者主机设备进行通信,则交换机可以响应于名称服务器查询而向发起者主机设备提供信息。然而,如果交换机确定发起者主机设备不被允许与另一个发起者主机设备进行通信,则交换机可以拒绝响应于名称服务器查询而向发起者主机设备提供信息。在确定是否/如何响应名称服务器查询之前,交换机可以查阅名称服务器数据库和对等区域数据库。交换机还可以查阅区域服务器数据库,区域服务器数据库可以存储不是对等区域集的区域集(即,非根据本文描述的技术获得的区域集)。
以下描述包括用于在不锁定结构的情况下在FC结构中分发对等区域数据库的示例用例。尽管这些示例针对硬分区技术,但是也可以根据这些示例来实现软分区技术。
如上所述,对等区域定义与对等区域名称和独特的域ID相关联。此外,存储对等区域的交换机可以接收新的/更新后的对等区域。在一个示例中,在交换机从本地目标存储设备接收到与所存储的对等区域完全一样的对等区域的情况下,交换机可以忽略/消除任何重复的接收到的对等区域。
如果对等区域的区域名称不同但是对等区域的区域成员相同,则交换机可以使用两个对等区域来准备ACL。这因为区域成员相同所以将导致重复的ACL,但是交换机可以忽略重复的ACL并且仅将独特的ACL编程到CAM中。同样,如果区域名称和区域成员相同,则交换机可以使用两个对等区域来准备ACL。虽然这将导致重复的ACL,但是交换机可以仅将独特的ACL编程到CAM中(即,忽略重复的ACL)。此外,交换机可以删除与目标存储设备所连接的域没有关联的对等区域。
在某些情况下,区域名称和区域成员都可以是不同的,但是发出对等区域的目标存储设备可以是相同的。这可以在例如用户使得目标存储设备离线、编辑区域成员并将目标存储设备连接到结构的另一交换机时发生。在这些情况下,交换机可以确定哪个对等区域(例如,所存储的对等区域)与离线的目标存储设备相关联。交换机可以基于例如目标存储设备的FCID进行该确定,因为FCID在设备离线时改变。交换机可以删除与离线的目标存储设备相关联的所存储对等区域,并添加接收到的对等区域。
在另一示例中,区域名称可以是相同的但是区域成员不同。该情况可以在用户从交换机中移除目标存储设备并将该目标存储设备连接到结构的另一交换机时发生。当交换机从目标存储设备接收对等区域时,交换机识别与离线的目标存储设备相关联的对等区域(例如,基于FCID)并删除该对等区域。该情况也可以在用户错误配置两个(在线)目标存储设备以使得目标存储设备发送具有相同的名称但是不同的区域成员的对等区域时发生。交换机可以通过为两个对等区域准备ACL来改正该管理错误。如上所述,交换机在对CAM进行编程时可以忽略重复的ACL。
图4是被配置为实现本文给出的技术的交换机405(例如,图1中的交换机125(1))的框图。交换机405包括:以使得能够通过网络进行通信的多个网络端口410(1)-410(N)的形式的网络接口单元;执行网络处理功能的专用集成电路(ASIC)415;一个或多个处理器420(例如,微处理器或微控制器);以及存储器425。存储器425包括对等区域服务器逻辑430,对等区域数据库435(例如,图3中的对等区域数据库305),名称服务器数据库440,区域服务器逻辑445,以及区域服务器数据库450。
存储器425可包括只读存储器(ROM),随机存取存储器(RAM),磁盘存储介质设备,光存储介质设备,闪存设备,电气、光学或其他物理/有形的存储器存储设备。因此,通常,存储器425可包括一个或多个编码有包括计算机可执行指令的软件的有形(非暂态)计算机可读存储介质(例如,存储器设备),并且当该软件被(例如,由一个或多个处理器420)执行时,其可操作来执行在本文中参考对等区域数据库分发描述的操作。具体而言,如所提到的,存储器425包括对等区域服务器逻辑430,对等区域服务器逻辑430当被执行时使得交换机405能够执行以上参考对等区域服务器(例如,图1中的对等区域服务器130(1))描述的操作。
如所提及的,交换机可以将更改/更新分发到对等区域数据库(对照整个对等区域数据库)。在某些常规方法中,每次创建新的对等区域时,都会为整个区域数据库重新计算CAM,这是中央处理单元(CPU)密集操作。相比之下,这些技术可包括对确切的CAM条目进行修改和编程。
这些技术还提供其他益处,例如允许不间断的用户配置的区域和目标配置的区域。这些区域的收敛时间很快,因为不存在四阶段锁定协议。此外,这些技术无缝地解决了大多数合并冲突,并且需要最少的控制流量交换。同样,区域缩放限制与这些目标驱动的区域无关。另外,对等区域服务器可以处理来自设备以及用户界面的同时更新。
图5是根据本文给出的示例的高级方法的流程图。该示例方法发生在形成交换式FC结构的一部分的FC交换机处。在510处,FC交换机实例化定义对等区域的对等区域定义,在该对等区域中,两个或更多个发起者主机设备各自被允许经由交换式FC结构与目标存储设备进行通信并且这两个或更多个发起者主机设备被阻止彼此通信。在520处,FC交换机将对等区域定义存储在FC交换机处的对等区域数据库中。在530处,FC交换机在不执行结构锁定操作的情况下(即,在交换式FC结构继续运行的同时)将对等区域定义分发到交换式FC结构的其他FC交换机。
总而言之,在实施例中描述了用于在FC结构中高效分发对等区域数据库的技术。在示例中,交换机实例化定义对等区域的对等区域定义,在该对等区域中,两个或更多个发起者主机设备各自被允许经由交换式FC结构与一个或多个目标存储设备进行通信并且这两个或更多个发起者主机设备被阻止彼此通信。交换机将对等区域定义存储在FC交换机处的对等区域数据库中,并且在不执行结构锁定操作的情况下将对等区域定义分发到交换式FC结构的其他FC交换机。
以一种形式,提供了一种方法。该方法包括:在形成交换式光纤通道(FC)结构的一部分的FC交换机处:实例化定义对等区域的对等区域定义,在该对等区域中两个或更多个发起者主机设备是对等区域的各自被允许经由交换式FC结构与一个或多个目标存储设备进行通信的对等成员,并且在该对等区域中所述两个或更多个发起者主机设备被阻止彼此通信;将对等区域定义存储在FC交换机处的对等区域数据库中;以及在不执行结构锁定操作的情况下将对等区域定义分发给交换式FC结构的其他FC交换机。
以另一种形式,提供了一种装置。该装置包括:一个或多个处理器;一个或多个网络端口;以及存储器,其耦合到所述一个或多个处理器;其中,所述一个或多个处理器被配置为:实例化定义对等区域的对等区域定义,在该对等区域中两个或更多个发起者主机设备是对等区域的各自被允许经由交换式FC结构与一个或多个目标存储设备进行通信的对等成员,并且在该对等区域中所述两个或更多个发起者主机设备被阻止彼此通信;将对等区域定义存储在FC交换机处的对等区域数据库中;以及在不执行结构锁定操作的情况下将对等区域定义分发给交换式FC结构的其他FC交换机。
以另一种形式,提供了一个或多个非暂态计算机可读存储介质。非暂态计算机可读存储介质编码有指令,这些指令当由处理器执行时使得该处理器:实例化定义对等区域的对等区域定义,在该对等区域中两个或更多个发起者主机设备是对等区域的各自被允许经由交换式FC结构与一个或多个目标存储设备进行通信的对等成员,并且在该对等区域中所述两个或更多个发起者主机设备被阻止彼此通信;将对等区域定义存储在FC交换机处的对等区域数据库中;以及在不执行结构锁定操作的情况下将对等区域定义分发给交换式FC结构的其他FC交换机。
以上描述旨在仅作为示例。尽管在本文中将这些技术说明和描述为在一个或多个具体示例中体现,但是不旨在限于所示出的细节,因为在权利要求的等同物的范畴和范围内可以进行各种修改和结构更改。

Claims (21)

1.一种用于分发对等区域数据库的方法,包括:
在形成交换式光纤通道(FC)结构的一部分的FC交换机处:
实例化定义对等区域的对等区域定义,在所述对等区域中两个或更多个发起者主机设备是所述对等区域的各自被允许经由所述交换式FC结构与一个或多个目标存储设备进行通信的对等成员,并且在所述对等区域中所述两个或更多个发起者主机设备被阻止彼此通信;
将所述对等区域定义存储在所述FC交换机处的对等区域数据库中;
基于所述对等区域定义来更新访问控制列表;
阻止作为所述两个或更多个发起者主机设备之一的发起者主机设备访问所述两个或更多个发起者主机设备;并且
在不执行结构锁定操作的情况下将所述对等区域定义分发给所述交换式FC结构的其他FC交换机。
2.如权利要求1所述的方法,还包括:
从所述一个或多个目标存储设备中的至少一者接收所述对等区域定义。
3.如权利要求1或2所述的方法,还包括:
接收对在所述FC交换机处的所述对等区域数据库中存储的所述对等区域定义的一个或多个更改;
基于所述一个或多个更改来更新所述对等区域数据库,以包括更新后的对等区域定义;并且
将所述更新后的对等区域定义分发到所述交换式FC结构的其他交换机。
4.如权利要求1或2所述的方法,其中,将所述对等区域定义存储在所述对等区域数据库中包括:
通过相应的端口全球通用名称来为所述两个或更多个发起者主机设备和所述目标存储设备建立索引。
5.如权利要求1或2所述的方法,其中,分发所述对等区域定义包括:将FC公共传输查询作为包括所述对等区域定义的域控制器帧进行发送。
6.如权利要求1或2所述的方法,还包括:
从发起者主机设备接收关于所述两个或更多个发起者主机设备中的至少一者的名称服务器查询;
确定发起者主机设备是否是所述两个或更多个发起者主机设备之一;
如果确定发起者主机设备不是所述两个或更多个发起者主机设备之一,则响应于所述名称服务器查询而向所述两个或更多个发起者主机设备之一提供信息;并且
如果确定发起者主机设备是所述两个或更多个发起者主机设备之一,则拒绝响应于所述名称服务器查询而向发起者主机设备提供信息。
7.一种用于分发对等区域数据库的装置,包括:
一个或多个处理器;
一个或多个网络端口;以及
存储器,其耦合到所述一个或多个处理器;
其中,所述一个或多个处理器被配置为:
实例化定义对等区域的对等区域定义,在所述对等区域中两个或更多个发起者主机设备是所述对等区域的各自被允许经由交换式FC结构与一个或多个目标存储设备进行通信的对等成员,并且在所述对等区域中所述两个或更多个发起者主机设备被阻止彼此通信;
将所述对等区域定义存储在FC交换机处的对等区域数据库中;
基于所述对等区域定义来更新访问控制列表;
阻止作为所述两个或更多个发起者主机设备之一的发起者主机设备访问所述两个或更多个发起者主机设备;并且
在不执行结构锁定操作的情况下将所述对等区域定义分发给所述交换式FC结构的其他FC交换机。
8.如权利要求7所述的装置,其中,所述一个或多个处理器还被配置为:
从所述一个或多个目标存储设备中的至少一者接收所述对等区域定义。
9.如权利要求7或8所述的装置,其中,所述一个或多个处理器还被配置为:
接收对在所述FC交换机处的所述对等区域数据库中存储的所述对等区域定义的一个或多个更改;
基于所述一个或多个更改来更新所述对等区域数据库,以包括更新后的对等区域定义;并且
将所述更新后的对等区域定义分发到所述交换式FC结构的其他交换机。
10.如权利要求7或8所述的装置,其中,为了将所述对等区域定义存储在所述对等区域数据库中,所述一个或多个处理器被配置为:
通过相应的端口全球通用名称来为所述两个或更多个发起者主机设备和所述目标存储设备建立索引。
11.如权利要求7或8所述的装置,其中,为了分发所述对等区域定义,所述一个或多个处理器被配置为:
将FC公共传输查询作为包括所述对等区域定义的域控制器帧进行发送。
12.如权利要求7或8所述的装置,其中,所述一个或多个处理器还被配置为:
从发起者主机设备接收关于所述两个或更多个发起者主机设备中的至少一者的名称服务器查询;
确定发起者主机设备是否是所述两个或更多个发起者主机设备之一;
如果确定发起者主机设备不是所述两个或更多个发起者主机设备之一,则响应于所述名称服务器查询而向所述两个或更多个发起者主机设备之一提供信息;并且
如果确定发起者主机设备是所述两个或更多个发起者主机设备之一,则拒绝响应于所述名称服务器查询而向发起者主机设备提供信息。
13.一种非暂态计算机可读存储介质,编码有指令,所述指令当由处理器执行时使得所述处理器:
实例化定义对等区域的对等区域定义,在所述对等区域中两个或更多个发起者主机设备是所述对等区域的各自被允许经由交换式FC结构与一个或多个目标存储设备进行通信的对等成员,并且在所述对等区域中所述两个或更多个发起者主机设备被阻止彼此通信;
将所述对等区域定义存储在FC交换机处的对等区域数据库中;
基于所述对等区域定义来更新访问控制列表;
阻止作为所述两个或更多个发起者主机设备之一的发起者主机设备访问所述两个或更多个发起者主机设备;并且
在不执行结构锁定操作的情况下将所述对等区域定义分发给所述交换式FC结构的其他FC交换机。
14.如权利要求13所述的非暂态计算机可读存储介质,其中,所述指令还使得所述处理器:
从所述一个或多个目标存储设备中的至少一者接收所述对等区域定义。
15.如权利要求13或14所述的非暂态计算机可读存储介质,其中,所述指令还使得所述处理器:
接收对在所述FC交换机处的所述对等区域数据库中存储的所述对等区域定义的一个或多个更改;
基于所述一个或多个更改来更新所述对等区域数据库,以包括更新后的对等区域定义;并且
将所述更新后的对等区域定义分发到所述交换式FC结构的其他交换机。
16.如权利要求13或14所述的非暂态计算机可读存储介质,其中,使得所述处理器将所述对等区域定义存储在所述对等区域数据库中的所述指令包括使得所述处理器执行以下操作的指令:
通过相应的端口全球通用名称来为所述两个或更多个发起者主机设备和所述目标存储设备建立索引。
17.如权利要求13或14所述的非暂态计算机可读存储介质,其中,使得所述处理器分发所述对等区域数据库中的对等区域定义的所述指令包括使得所述处理器执行以下操作的指令:
将FC公共传输查询作为包括所述对等区域定义的域控制器帧进行发送。
18.如权利要求13或14所述的非暂态计算机可读存储介质,其中,所述指令还使得所述处理器:
从发起者主机设备接收关于所述两个或更多个发起者主机设备中的至少一者的名称服务器查询;
确定发起者主机设备是否是所述两个或更多个发起者主机设备之一;
如果确定发起者主机设备不是所述两个或更多个发起者主机设备之一,则响应于所述名称服务器查询而向所述两个或更多个发起者主机设备之一提供信息;并且
如果确定发起者主机设备是所述两个或更多个发起者主机设备之一,则拒绝响应于所述名称服务器查询而向发起者主机设备提供信息。
19.一种用于分发对等区域数据库的装置,包括形成交换式光纤通道(FC)结构的一部分的FC交换机,所述FC交换机包括:
用于实例化定义对等区域的对等区域定义的装置,在所述对等区域中两个或更多个发起者主机设备是所述对等区域的各自被允许经由所述交换式FC结构与一个或多个目标存储设备进行通信的对等成员,并且在所述对等区域中所述两个或更多个发起者主机设备被阻止彼此通信;
用于将所述对等区域定义存储在所述FC交换机处的对等区域数据库中的装置;
用于基于所述对等区域定义来更新访问控制列表的装置;
用于阻止作为所述两个或更多个发起者主机设备之一的发起者主机设备访问所述两个或更多个发起者主机设备的装置;以及
用于在不执行结构锁定操作的情况下将所述对等区域定义分发给所述交换式FC结构的其他FC交换机的装置。
20.根据权利要求19所述的装置,还用于实现根据权利要求2至6中任一项所述的方法。
21.一种计算机可读介质,用于存储指令,所述指令当由计算机执行时使得所述计算机执行如权利要求1至6中任一项所述的方法的步骤。
CN201880046055.2A 2017-07-11 2018-07-06 在光纤通道结构中高效分发对等区域数据库 Active CN110870255B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/646,800 US10757040B2 (en) 2017-07-11 2017-07-11 Efficient distribution of peer zone database in Fibre Channel fabric
US15/646,800 2017-07-11
PCT/US2018/040972 WO2019014047A1 (en) 2017-07-11 2018-07-06 EFFICIENT DISTRIBUTION OF DATABASE OF APPROPRIATED AREAS IN FIBER CHANNEL TISSUE

Publications (2)

Publication Number Publication Date
CN110870255A CN110870255A (zh) 2020-03-06
CN110870255B true CN110870255B (zh) 2022-09-13

Family

ID=63174367

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880046055.2A Active CN110870255B (zh) 2017-07-11 2018-07-06 在光纤通道结构中高效分发对等区域数据库

Country Status (4)

Country Link
US (2) US10757040B2 (zh)
EP (1) EP3652893B1 (zh)
CN (1) CN110870255B (zh)
WO (1) WO2019014047A1 (zh)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10873626B2 (en) * 2016-04-29 2020-12-22 Hewlett Packard Enterprise Development Lp Target driven peer-zoning synchronization
US10757040B2 (en) 2017-07-11 2020-08-25 Cisco Technology, Inc. Efficient distribution of peer zone database in Fibre Channel fabric
US10523513B2 (en) * 2018-04-30 2019-12-31 Virtustream Ip Holding Company Llc Automated configuration of switch zones in a switch fabric
US10924336B2 (en) * 2019-01-10 2021-02-16 International Business Machines Corporation Method for dynamically controlling the membership of a zone in a cloud environment
US11159612B1 (en) 2020-04-28 2021-10-26 Hewlett Packard Enterprise Development Lp Determining non-TDP zones in a storage area network
US11809911B2 (en) 2020-12-09 2023-11-07 Dell Products L.P. Resuming workload execution in composed information handling system
US11853782B2 (en) 2020-12-09 2023-12-26 Dell Products L.P. Method and system for composing systems using resource sets
US11934875B2 (en) 2020-12-09 2024-03-19 Dell Products L.P. Method and system for maintaining composed systems
US11809912B2 (en) 2020-12-09 2023-11-07 Dell Products L.P. System and method for allocating resources to perform workloads
US11928515B2 (en) 2020-12-09 2024-03-12 Dell Products L.P. System and method for managing resource allocations in composed systems
US11768612B2 (en) 2021-01-28 2023-09-26 Dell Products L.P. System and method for distributed deduplication in a composed system
US11797341B2 (en) 2021-01-28 2023-10-24 Dell Products L.P. System and method for performing remediation action during operation analysis
US12026557B2 (en) 2021-07-22 2024-07-02 Dell Products L.P. Method and system for a utilizing a proxy service to generate a composed information handling system
US11947697B2 (en) 2021-07-22 2024-04-02 Dell Products L.P. Method and system to place resources in a known state to be used in a composed information handling system
US12013768B2 (en) 2021-07-22 2024-06-18 Dell Products L.P. Method and system for automated healing of hardware resources in a composed information handling system
US11750457B2 (en) 2021-07-28 2023-09-05 Dell Products L.P. Automated zoning set selection triggered by switch fabric notifications
US12008412B2 (en) 2021-07-28 2024-06-11 Dell Products Resource selection for complex solutions
US11928506B2 (en) * 2021-07-28 2024-03-12 Dell Products L.P. Managing composition service entities with complex networks
US11586356B1 (en) 2021-09-27 2023-02-21 Dell Products L.P. Multi-path layer configured for detection and mitigation of link performance issues in a storage area network
US12001595B2 (en) 2021-12-03 2024-06-04 Dell Products L.P. End-to-end encryption of logical storage devices in a Linux native multi-pathing environment
US12045480B2 (en) 2021-12-14 2024-07-23 Dell Products L.P. Non-disruptive switching of multi-pathing software
US11983429B2 (en) 2022-06-22 2024-05-14 Dell Products L.P. Migration processes utilizing mapping entry timestamps for selection of target logical storage devices

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103190116A (zh) * 2010-10-26 2013-07-03 思科技术公司 独立于域的持久光纤信道标识符
CN103414704A (zh) * 2013-07-29 2013-11-27 相韶华 一种通用虚拟数据加密存储***
CN104639630A (zh) * 2015-02-02 2015-05-20 杭州华三通信技术有限公司 一种端到端区域数据同步方法和装置
US9565050B1 (en) * 2011-12-07 2017-02-07 Cisco Technology, Inc. Fibre channel peer zoning

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7656884B1 (en) 2002-05-24 2010-02-02 Cisco Technology, Inc. Apparatus and method for a generic service locking mechanism for a fibre channel switching fabric of a storage area network
US8200871B2 (en) * 2002-06-28 2012-06-12 Brocade Communications Systems, Inc. Systems and methods for scalable distributed storage processing
US20070038679A1 (en) 2005-08-15 2007-02-15 Mcdata Corporation Dynamic configuration updating in a storage area network
US8700751B2 (en) * 2009-07-24 2014-04-15 Cisco Technology, Inc. Optimizing fibre channel zoneset configuration and activation
US20110103391A1 (en) * 2009-10-30 2011-05-05 Smooth-Stone, Inc. C/O Barry Evans System and method for high-performance, low-power data center interconnect fabric
US20110085557A1 (en) * 2009-10-08 2011-04-14 Brocade Communications Systems, Inc. Partitioning of Switches and Fabrics into Logical Switches and Fabrics
US9098200B2 (en) * 2012-02-10 2015-08-04 Hitachi, Ltd. Storage system with virtual volume having data arranged astride storage devices, and volume management method
WO2013118195A1 (en) * 2012-02-10 2013-08-15 Hitachi, Ltd. Storage management method and storage system in virtual volume having data arranged astride storage devices
US9354915B2 (en) * 2012-07-27 2016-05-31 Hitachi, Ltd. Method and apparatus of redundant path validation before provisioning
US9081502B2 (en) * 2012-10-18 2015-07-14 Hitachi, Ltd. Method and apparatus of storage volume migration in cooperation with takeover of storage area network configuration
US9323474B2 (en) * 2013-03-04 2016-04-26 International Business Machines Corporation Selective zone control session termination
CN105337750B (zh) * 2014-07-22 2018-12-14 华为技术有限公司 光纤通道存储区域网络配置方法和装置
US9699027B2 (en) * 2014-09-23 2017-07-04 Cisco Technology, Inc. Bifurcated control and management planes for fiber channel networks
US10003521B2 (en) * 2016-04-28 2018-06-19 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Fibre channel N_port virtualization gateway with shortcut path logic
US20180219755A1 (en) * 2017-02-02 2018-08-02 Hewlett Packard Enterprise Development Lp Determination of status of ports in storage area networks
US10757040B2 (en) 2017-07-11 2020-08-25 Cisco Technology, Inc. Efficient distribution of peer zone database in Fibre Channel fabric

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103190116A (zh) * 2010-10-26 2013-07-03 思科技术公司 独立于域的持久光纤信道标识符
US9565050B1 (en) * 2011-12-07 2017-02-07 Cisco Technology, Inc. Fibre channel peer zoning
CN103414704A (zh) * 2013-07-29 2013-11-27 相韶华 一种通用虚拟数据加密存储***
CN104639630A (zh) * 2015-02-02 2015-05-20 杭州华三通信技术有限公司 一种端到端区域数据同步方法和装置

Also Published As

Publication number Publication date
US10757040B2 (en) 2020-08-25
WO2019014047A1 (en) 2019-01-17
CN110870255A (zh) 2020-03-06
US20190020603A1 (en) 2019-01-17
US20200351221A1 (en) 2020-11-05
EP3652893A1 (en) 2020-05-20
EP3652893B1 (en) 2023-06-14
US11381524B2 (en) 2022-07-05

Similar Documents

Publication Publication Date Title
CN110870255B (zh) 在光纤通道结构中高效分发对等区域数据库
Pfaff et al. The open vswitch database management protocol
US7925751B1 (en) Mechanism for controlled sharing of files in a clustered application environment
US9900381B2 (en) Methods, devices and systems for initiating, forming and joining memberships in distributed computing systems
JP6210987B2 (ja) クラスタ化クライアントのフェイルオーバ
US8121979B2 (en) System and method for replication and synchronisation
KR100387700B1 (ko) 분산 컴퓨팅 시스템 내의 정족수 프로세서 그룹의 동적재구성
US9467510B2 (en) Methods, devices and systems enabling a secure and authorized induction of a node into a group of nodes in a distributed computing environment
US10270759B1 (en) Fine grained container security
KR20010110093A (ko) 클러스터를 자동으로 구성하는 방법, 클러스터를 자동으로구성하는 시스템 및 프로그램 저장 장치
KR100387701B1 (ko) 정족수 기반의 동작을 위한 완화된 정족수 계산
US9871864B2 (en) Fibre channel peer zoning
US9785697B2 (en) Methods and apparatus for implementing a distributed database
US9582206B2 (en) Methods and systems for a copy-offload operation
CN104820698B (zh) 一种数据筛选规则***的分布式一致性实现方法
Pfaff Rfc 7047: The open vswitch database management protocol
US11563800B1 (en) Distributed semantic network for concurrent access to interconnected objects
CN113448976B (zh) 数据处理方法、装置、计算机设备和存储介质
Zhetov et al. Load Balancing Algorithm in SDN Multicontroller Network
CN116467039A (zh) 用于Kubernetes集群中的Operator容器组的分片管理方法、装置及***

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant