CN1722732A - 节点之间进行通信的方法及系统 - Google Patents
节点之间进行通信的方法及系统 Download PDFInfo
- Publication number
- CN1722732A CN1722732A CN200510084617.7A CN200510084617A CN1722732A CN 1722732 A CN1722732 A CN 1722732A CN 200510084617 A CN200510084617 A CN 200510084617A CN 1722732 A CN1722732 A CN 1722732A
- Authority
- CN
- China
- Prior art keywords
- node
- layer
- letter
- index
- adapter
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols 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)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
- Communication Control (AREA)
Abstract
本发明提供一种在本地节点处执行以与远程节点通信的方法、系统及程序。第一通信协议用来与远程节点通信,以建立第二通信协议的连接。数据结构被创建以允许与远程节点的通信,以建立第二通信协议的与远程节点的连接。扩展层对于第二通信协议被调用。数据结构传送到扩展层,以用于使用第二通信协议与远程节点通信。
Description
技术领域
本发明涉及一种允许节点之间通信的方法、系统及程序。
背景技术
在存储环境中,数据存取命令从主机系统传送到管理对磁盘存取的存储控制器。存储控制器可以是主机系统内的卡或分开的装置。互联网小型计算机系统接口(iSCSI)协议用于利用包括以太网交换机和路由器的以太网连接的存储网络。这里所使用的术语“iSCSI”指的是由IETF(互联网工程任务小组)标准机构定义的iSCSI协议的语法和语义,以及该协议的任何变体。在利用iSCSI的当前存储网络中,分组配置包括封装互联网协议(IP)和传输控制协议(TCP)包层的以太网包,包层进一步封装包括一个或多个SCSI命令的iSCSI包。当分组在任意网络段(链路)上从点到点流动时,以太网协议规定链路级差错检验以确定数据是否已在通过链路时被损坏。在网络数据传输操作中,起始设备在网络上传送数据或命令到目标设备。TCP/IP包包括执行端到端检验的错误检测码,以确定在相对端所传送的分组是否已在传输过程中当分组通过交换机和路由器时被改变。检测错误的接收设备将发送否定应答给发送设备,以请求检测出错误的那些分组的重发。
远程直接存储器存取(RMDA)协议允许一个网络节点以对存储器总线带宽及处理器开销的最小要求将信息直接放置在另一个网络节点的存储器中。TCP/IP上的RDMA(也称作iWARP)定义可互操作协议以在标准TCP/IP网络上支持RDMA操作。RDMA网络接口卡(RNIC)实施RDMA协议并执行RDMA操作以传送数据到本地及远程存储器。RDMA协议的更多细节在以下规范中描述:由RDMA联盟(2003年4月)公布的名称为“RDMA协议动词规范(1.0版)”;由RDMA联盟(2002年10月)公布的“可靠传输上的直接数据放置(1.0版)”;以及由RDMA联盟(2002年10月)公布的“TCP的标记PDU对齐组帧规范(1.0版)”,并且这些规范在此引入作为参考。
由RDMA联盟(2003年7月)发布的Michael Ko等人的一个名称为“RDMA的iSCSI扩展规范(1.0版)”的规范定义通过在RDMA之上分层iSCSI而为iSCSI提供RDMA数据传送能力的协议,该规范在此整体引入作为参考。
定义为TCP/IP上的RDMA也称作iWARP的一部分的许多特性以前定义为无限带宽网络中的操作。无限带宽适配器硬件支持RDMA操作。无限带宽也定义称作套接字字指引协议(SDP)的一组协议,其允许正常的TCP/IP套接字字应用程序以与它们在TCP/IP网络上操作时相同的方式跨越无限带宽网络发送消息。无限带宽及SDP协议的更多细节在出版物“无限带宽TM体系结构,规范卷1”,1.1版(2002年11月,版权无限带宽TM同业公会)中描述,该出版物在此整体并入作为参考。
附图说明
现在参考附图,其中相似参考数字自始至终表示一致的部分:
图1说明实现实施方案的网络节点的例子;
图2说明根据所描述的实施方案的计算体系结构的例子;
图3说明分组格式;
图4说明保存在映射上的信息;
图5a、5b、6a、6b、7和8说明根据实施方案的执行以传送数据的操作;
图9,10、11a和11b说明包括网关的实施方案;以及
图12、13和14说明在网关中执行以处理并转发消息的操作。
发明内容
本发明提供的是一种在本地节点处执行以与远程节点通信的方法、系统及程序。第一通信协议用来与远程节点通信以建立第二通信协议的连接。数据结构被创建来允许与远程节点的通信,以建立第二通信协议的与远程节点的连接。扩展层对于第二通信协议被调用。数据结构传送到扩展层以用于使用第二通信协议与远程节点通信。
具体实施方式
在下面的描述中,参考构成其一部分并说明本发明的几种实施方案的附图。应当明白,其他实施方案也可以使用并且可以不背离本发明的范畴而作结构及操作上的改变。
图1说明包括在网络4上通信的多个计算节点2a,2b,…2n的网络计算环境。网络可以包括局域网(LAN)、广域网(WAN)、存储域网(SAN)。可选地,节点可以在总线例如SCSI总线等上通信。
图1中的节点2a,2b…2n可以操作为起始或目标。图2说明包含于节点例如节点2a,2b,2c中以允许网络4上的通信的部件。节点2包括处理器6例如中央处理单元或组合体,以及操作系统8。节点2还包含应用程序14,包括用户应用程序例如数据库程序、服务器程序等。为了执行I/O操作,应用程序14将访问SCSI层16以产生SCSI I/O请求,SCSI层16又将访问iSCSI层18。iSCSI层18通过执行iSCSI登录操作开始与目标节点的通信。为了登录,iSCSI层与套接字层20例如TCP套接字层连系,以建立与远程目标节点的通信并登录。套接字层20包括用来在iSCSI层18和适配器24中的网络协议之间连系的编程接口。
适配器24可以包括RNIC适配器或无限带宽(IB)适配器。适配器24包括RDMA层26和网络层28例如TCP层或无限带宽层,以为在网络4上的传输在传输层中包装分组或者将从网络4接收到的分组解包。
在适配器24包括无限带宽适配器的情况下,节点2可以包括套接字指引协议(SDP)层42,使得套接字层20与SDP层42连系并且SDP层42在套接字层20和RDMA层26之间连系。在无限带宽实施方案中,通过实施来自iSCSI层18的套接字层20访问至对RDMA层26的RDMA访问(直接地或者通过IB适配器驱动器44),SDP层42提供在使用套接字层20进行访问的应用程序14和适配器24中的RDMA层26之间的接口。在无限带宽和RNIC两种实施方案中,iSER层22被提供,使得在登录之后,iSCSI层18将访问iSER层22以访问RNIC24。iSER层22可以直接通过函数调用或通过包括RDMA动词(verb)层的RNIC驱动器44来访问RNIC 24。在适配器24由RNIC驱动器构成的实施方案中,节点2可以不包括SDP层42,但是在无限带宽适配器实施方案中,SDP层42被包含。
RDMA层26可以直接存取起始和目标节点中(本地或本地及远程地)以逻辑上相连方式的已登记存储位置。所定义的存储位置,例如存储区域或存储窗口,通过由RDMA层26所创建的并用来索引已登记的存储位置例如存储区域32的转向标签来标识。在RNIC实施中转向标签称为STag,并且在无限带宽实施方案中转向标签称为远程的转向标签R_Key和本地的转向标签L_Key(这里用于两者的统称术语为#_Key)。在某些实施方案中,存储区域或称为存储窗口的存储区域的子集可以被登记,其中单独的STag/#_Key将与每个被登记的存储位置、区域或窗口关联。RDMA层26使用STag/#_key来存取所索引的存储位置。在某些实施方案中,iSER层22将通过访问RDMA动词层44来访问适配器24以登记存储区域。RDMA动词层44(RNIC/IB适配器驱动器)包括将操作系统8与适配器24接口的设备驱动器。响应于来自iSER层22或SDP层42中的函数的访问以声明或登记存储位置例如存储区或窗口,适配器驱动器44将访问适配器24。
RDMA层26保存存储转换表34,并且当登记存储区域时,将标识所登记存储区域和产生来索引该存储区域的STag/#_key以允许RDMA层26将STag/#_key与存储区域关联的条目添加到存储转换表34中。存储转换表34可以保存于适配器24的缓冲区中或存储器30中。Stag/#_Key将返回给请求登记的iSER层22函数以用于I/O操作。
在适配器24产生并返回Stag/#_Key到iSER层22之后,iSER层22可以进行I/O操作。iSER层22用头信息和从适配器24接收的STag/R_Key包装从iSCSI层18接收的分组,并将分组传递到适配器24以传送。
为了管理RDMA数据传送,RDMA层26保存发送队列36、接收队列38,以及完成队列40。发送队列36和接收队列38包括RDMA层26用来管理RDMA数据传送请求的工作队列。完成队列40可以包括具有完成条目的包含一个或多个条目的可共享队列,以为多个工作队列提供单点的完成通知。队列36,38和40可以具有许多实例,可能对应每个逻辑连接,并且可以由适配器24分配于存储器30中或适配器24中的缓冲器内。
图3说明与实施方案一起使用的传送包的格式。由SCSI层16产生的SCSI命令50(例如读或写命令)由iSCSI层18封装于iSCSI协议数据单元(PDU)52中,协议数据单元52由iSER层22中的函数进一步封装于iSER头54中。包含SCSI命令50的iSCSI PDU 52还包括与根本的SCSI命令关联的、iSCSI层18分配给每个已发出的iSCSI任务的起始任务标签(ITT)56,以标识根本的SCSI I/O操作。ITT 56唯一地标识任务会话宽。当目标节点应答来自起始的请求时,ITT 56用来在iSCSI层18处将应答与原始请求关联。例如,当目标已完成操作并返回操作状态时发送的、在来自目标iSCSI层18的iSCSI SCSI应答PDU中的ITT 56由起始iSCSI层18用来将目标的PDU与原始SCSI写命令相关联。
iSER头54将包括与I/O操作一起使用的Stag/R_Key以及指示接收广告Stag/R_Key的远程节点是否读或写由Stag/R_Key索引的存储区域(窗口)以及与请求相关的工作队列的信息。iSER头54和iSCSIPDU52进一步封装于一个或多个附加网络层60例如TCP层或无限带宽网络协议层中。在某些实施方案中,适配器24中的网络层28将iSER头54和PDU52组装于网络层60例如TCP、IB等中。
iSER层22还保存ITT到Stag/#_Key的映射70(图2)于存储器30中,映射70将代表iSCSI任务的ITT与用于传送该任务的数据的STag/#_key例如读或写Stag/R_Key关联,以使得目标节点通过RDMA通道读或写数据。图4说明映射70中的条目72的内容,包括指示映射是对于本地STag/L_key还是远程Stag/R_key的本地/远程指示符73。本地映射条目将索引本地存储窗口或区域的Stag/L_Key与用来存储(或取回)与I/O命令本地相关的数据的ITT关联,并且远程映射条目将远程节点上索引存储区域或窗口的STag/R_key与数据从中读出或传送到本地存储区域或窗口的ITT关联。映射条目72还包括代表iSCSI任务的相关ITT74、与该任务关联的Stag/#_Key76,以及关于任务的状态信息78。
图5a,5b,6a,6b,7和8说明根据所描述的实施方案处理SCSI写命令的操作。图5a和5b说明由起始节点2中的部件实施以连接包括RNIC或无限带宽适配器24的为起始节点2使用RDMA的目标节点的操作。参考图5a,控制在方框100处开始,其中iSCSI层18连系套接字层20以与目标节点通信并“登录”新的iSCSI连接并与目标节点协商各种参数。起始和目标节点都可以包括图2中所示的体系结构并包括相配的RNIC和/或无限带宽适配器。然后在起始节点中执行的操作取决于起始节点2包括RNIC还是无限带宽适配器24。如所讨论的,起始节点2可以基于安装于起始节点2中的适配器24的类型装载通信所需的层和代码。例如,如果节点包括无限带宽适配器,那么节点将装载SDP层42,反之如果节点仅包括RNIC适配器,那么SDP层42可以不被装载。如果(在方框102处)iSCSI层18通过RNIC适配器24连接,那么套接字层20通过RNIC适配器24中的TCP28连网函数通信(在方框104处)以传递iSCSI消息到目标节点并通过套接字层20将接收到的应答传递回iSCSI层18。否则,如果(在方框102处)iSCSI层18通过无限带宽适配器24连接,套接字层20通过SDP层42通信(在方框106处)以传递iSCSI消息到目标节点并通过套接字层20将接收到的应答传递回iSCSI层18。SDP层42创建(在方框108处)RDMA连接例如队列对36,38、完成队列40等的数据结构,然后通过无限带宽适配器24和无限带宽网络4发送消息到目标或者从那里接收消息。
如果(在方框110处)起始节点2不愿意通过RNIC或无限带宽适配器24中的连网层建立与远程节点的RDMA会话,那么起始节点2将断开协商连接并试图(在方框112处)定位其他RDMA可兼容目标节点。否则,如果(在方框110处)RDMA会话是可接受的,那么(在方框114处)SDP层42(对于无限带宽适配器24)或网络层28(对于RNIC适配器)(在方框114处)返回来自目标节点的应答,并继续允许iSCSI层使用套接字APl以触发RNIC连网层28或SDP层42,以和目标一起发送和接收另外的登录请求和登录应答消息。
参考图5b,在建立登录参数之后,起始iSCSI层18通过对于RNIC适配器24由连网层(例如TCP)或者对于无限带宽适配器由SDP层42处理的套接字调用发送(在方框116处)最后登录请求PDU给目标节点。当接收到(在方框118处)来自目标的最后登录应答PDU时,iSCSI层18使用iSER原语调用iSER层22,并传送其套接字信息句柄(指向RNIC适配器24的连网层28的控制结构或无限带宽适配器的SDP RDMA控制结构)。然后iSER层22接管(在方框120处)套接字控制结构并为iSER/RDMA操作配置及修改它们。在无限带宽适配器24的情况下,iSER层22发出(在方框122处)特定调用以终止SDP会话并允许iSER层22之后拥有及使用原来由SDP使用的RDMA通信通道(队列对、完成队列等)。然后对于与目标节点的所有将来通信,iSCSI层用iSER层通过RDMA通信(在方框124处)。
图6a和6b说明由可具有节点2的体系结构(图2)的目标节点中的部件实施以连接使用RDMA的起始节点的操作,其中目标节点2包括RNIC或无限带宽适配器24。关于图2描述的体系结构用来描述起始和目标节点两者中的部件。参考图6a,目标节点iSCSI层20通过套接字调用允许(在方框150处)监听端口以等待来自起始节点的联系。套接字层20或者通过使用RNIC适配器24中的连网层28(例如TCP)或者通过使用在无限带宽网络上通信的无限带宽适配器的SDP42来允许该联系。当从起始节点iSCSI层18通过相同的套接字接口联系(在方框152处)时,目标节点与起始节点协商以获得一致,以进行RDMA连接。如果(在方框154处)RDMA连接没被批准,那么目标节点断开协商连接并继续等待(在方框156处)直到建立另一个连接。否则,如果RDMA连接被批准,那么目标节点处的RNIC连网层28例如TCP或SDP层42通过套接字API将来自起始节点的应答返回(在方框160处)到iSCSI层18,并继续允许iSCSI层使用套接字APl来触发RNIC连网层或SDP层,以和起始节点一起接收和发送另外的登录请求和登录应答消息。当接收到来自起始的最后登录请求时,目标iSCSI层18(在方框162处)使用iSER原语调用iSER层22并传送其套接字信息句柄(指向RNIC适配器的连网层28的控制结构或者SDP控制结构)和最后登录应答消息。
参考图6b,在iSCSI调用iSER层22之后,iSER层22(在方框164处)接管连接并建立iSER RDMA通信通道。对于RNIC适配器24,连接信息是连网层28例如TCP先前所建立的,对于无限带宽适配器24,连接信息包括由SDP层42创建及使用的RDMA连接和数据结构。在RDMA RNIC或无限带宽适配器任一种的情况下,数据/控制结构被修改以允许iSER/RDMA操作。对于无限带宽适配器24,iSER层22发出(在方框166处)特定调用以终止SDP会话并接管来自SDP层42的RDMA通信。在通信过程完全转换到iSER RDMA模式之前(在方框168处),由目标iSCSI发送给iSER的“最后”登录应答PDU将被发送给起始节点,作为在先前连接模式(例如TCP/IP或SDP/IB)上发送的最后信息。然后对于起始节点的所有将来的交互,iSCSI层通过使用RDMA的iSER层通信(在方框170处)。
图7说明当SCSI命令完成并且接收到来自具有能够发送“无效发送消息”的RDMA适配器的目标节点的“无效发送”消息时由起始节点2执行的操作。当接收到(在方框200处)“无效发送”消息时,如果适配器24支持“无效发送”,那么适配器24使消息中指定的STag/R_key无效(在方框202处),其中STag可以在RDMA头中。如果起始节点不支持“无效发送”,这可能当无限带宽适配器24时发生,那么消息转发给iSER层22来处理。起始iSER层22接收(在方框204处)应答PDU并访问来自消息的ITT56(图3),以确定与ITT/STag映射70中的所访问ITT关联的STag或R_Key。如果(在方框206处)“无效发送”消息中的STag/R_key匹配ITT/STag映射70中的STag/R_Key并且起始的适配器支持自动无效,那么起始iSER层22使得与映射70中的ITT关联的没有被适配器宣告无效的任何另外的STag/#_Key无效(方框208处)。如果适配器不支持自动无效或者如果“无效发送”中的STag/R_key不匹配映射70中的一个STag/R_key,那么iSER层22直接调用(在方框210处)适配器,使该Stag/R_key以及与映射70中的ITT关联的任何另外的Stag/#Key无效。然后iSER层22传送(在方框212处)SCSI应答PDU给iSCSI层18并整理其ITT/Stag/#_Key映射表70。然后iSCSI层118通知SCSI层16操作的完成状态。
图8说明当SCSI命令完成并且接收到来自具有无限带宽适配器24的目标节点的“立即数据发送”消息时由起始节点2执行的操作。当起始适配器24(无限带宽或RNIC)接收到(在方框250处)来自目标无限带宽适配器的“立即数据发送”消息或“发送”消息时,消息由起始适配器24传送到iSER层22,并且iSER层访问适配器24以使消息的“立即数据”部分中的R_Key无效,如果有的话。然后iSER层22促使适配器24使与映射70中的ITT关联的先前没有宣告无效的任何#_Key/SIag无效(在方框254处)。iSER层22传送(在方框256处)SCSI应答PDU给iSCSI层18并整理其ITT/Stag/#_Key映射表70。然后iSCSI层18通知SCSI层16操作的完成状态。
协议网关
图9、10、11a和11b说明网关302,322,352和354如何可以用来在节点之间传送消息。每个网关302,322,352和354可以包括目标和起始通过它传送消息的转发硬件设备例如交换机,路由器等。网关302,322,352和354包括协议转换器314,334,362和364,以处理在起始和目标节点之间发送的、从一个协议发送到另一个的消息。可选地,网关302可以在目标节点或起始节点硬件中实施。网关302,322,352和354还包括提供以一个协议例如无限带宽到另一个协议例如iWARP的消息之间的协议映射316,336,353和365。
图9说明实施使用iWARP的iSCSI/iSER360并包括RNIC310以使用iWARP协议传送消息的目标节点300。网关302接收从iWARP网络上的目标节点300指向实施使用无限带宽的iSCSI/iSER协议308并具有无限带宽适配器312的起始节点304的消息。协议转换器314将iWARP消息转换成符合无限带宽协议的与无限带宽适配器312可兼容的消息。
图10说明实施使用无限带宽的iSCSI/iSER326并包括无限带宽适配器330以使用无限带宽协议传送消息的目标节点320。网关322接收从无限带宽中的目标节点320指向实施使用iWARP的iSCSI/iSER协议328并具有RNIC332的起始节点324的消息。协议转换器334将无限带宽消息转换成符合iWARP协议的与使用iWARP协议操作的RNIC适配器332可兼容的消息。
图11a说明其中网关352和354合作以将来自目标节点350的iSER/IB消息传送到起始节点356同时转换消息以供在中间iWARP网络上传送的实施方案。接收来自目标350的无限带宽消息的目标网关352将消息转换成与iWARP协议可兼容的格式并发送转换后的消息到iWARP网络上的起始网关354。接收来自目标网关352的iWARP消息的起始网关354将消息转换成与起始节点356处所使用的无限带宽协议可兼容的格式,然后发送转换后的消息到起始节点356。以这种方式,网关352和354用来转换消息,以便通过在使用无限带宽协议并包括使用无限带宽的iSCSI/iSER358,366和无限带宽适配器360,368的两个节点350和356之间的iWARP网络传送。此外,在可选实施方案中,在起始和目标节点之间可以有执行许多消息转换以供不同的可能通信协议使用的许多网关。
图11b说明其中两个网关372和374合作以将来自目标节点370的iSER/iWARP消息传送到起始节点376同时转换消息以供在中间无限带宽网络上传送的实施方案。接收来自目标节点370的iWARP消息的目标网关372将消息转换成与无限带宽协议可兼容的格式并发送转换后的消息到无限带宽网络上的起始网关374。接收来自目标网关372的无限带宽消息的起始网关374将消息转换成与起始节点376处所使用的iWARP协议可兼容的格式,然后发送转换后的消息到iWARP网络上的起始376。以这种方式,网关372和374用来转换消息,以便通过在使用iWARP协议并且包括使用iWARP的iSCSI/iSER 378,390和iWARP适配器380,392的两个节点370和376之间的无限带宽网络传送。此外,在可选实施方案中,在起始和目标节点之间可以有执行许多消息转换以供不同的可能通信协议使用的许多网关。
图9、10、11a和11b显示从目标节点流到起始节点的消息。但是,消息流可以从起始进行到目标节点,或者在任何两个类型的节点之间。例如,在这一点上图11a的网关352和354可以重复,并且图11b中的网关372和374可以重复。
图12、13和14说明由协议转换器314(图9),334(图10),362(图11a),364,382(图11b)和386执行的以将消息从传送消息的节点所使用的格式转换成实施不同于传送消息的节点所使用协议的、与接收消息的节点可兼容的格式的操作。参考图12,协议转换器314,334,362,364,382和386(网关)接收(在方框400处)来自目标节点(或通过另一网关节点来自目标节点)的iSCSI/iSER消息。如果(在方框402处)消息来自使用iSER/iWARP的目标节点(或目标的网关)并且如果(在方框408处)iWARP消息类型映射到等价的无限带宽消息,那么协议转换器314,364或382将iWARP消息转换成(在方框410处)等价的无限带宽消息并将转换后的无限带宽消息转发到无限带宽网络上的起始节点例如304或356(或随后的网关)。协议映射316,336,353,365,384和388可以为协议转换器314,334,362,364,382和386提供以不同格式例如无限带宽和iWARP的等价消息对,它们可以保存iWARP到无限带宽(以及无限带宽到iWARP)消息类型的映射,使得协议映射指示以一个协议格式的消息如何可以被转换并映射其他协议格式。如果(在方框408处)iWARP消息类型不映射到等价的无限带宽消息并且如果(在方框412处)消息不是具有STag的iWARP无效发送消息,那么协议转换器314,364或382丢弃(在方框414处)消息并抛出错误,因为这种转换不由协议转换器314,364或382处理。
如果(在方框412处)消息是具有STag的iWARP“无效发送消息”,那么协议转换器314,364或382创建(在方框416处)无限带宽“有(或无)请求事件发送”消息。协议转换器314,364或382将索引目标或起始中存储位置的直接参考的、来自iWARP消息的STag添加(在方框418处)到无限带宽消息中的立即数据域(可选地,丢弃STag并准备无任何立即数据发送)。协议转换器314,364或382传送(在方框420处)转换后的消息到无限带宽网络上的起始节点(或随后的网关)。从方框410或420,控制进行到方框422,其中如果有随后的网关,那么通过执行从图13中的方框440开始的操作,这种网关将iSER/IB消息转换成iSER/iWARP。
如果(在方框402处)来自目标节点的消息是以无限带宽协议的,那么控制进行到图13中的方框440。如果(在方框440处)传输在到达起始节点之前在iWARP网络上继续到网关例如网关352,并且如果(在方框442处)无限带宽消息类型映射到协议映射353中的等价iWARP消息,那么协议转换器362将无限带宽消息转换成(在方框444处)等价的iWARP消息并将转换后的消息在iWARP上转发到下一个网关354。如果(在方框442处)无限带宽消息类型不映射到协议映射353中的等价iWARP消息,并且如果(在方框446处)消息不是无限带宽“立即数据发送”消息,那么错误被抛出(在方框448处)并且消息被丢弃。
如果(在方框446处)消息是无限带宽“立即数据发送”消息,那么协议转换器362创建(在方框450处)iWARP无效(或请求事件)发送消息并将来自无限带宽消息中的立即数据域的R_Key添加(在方框452处)到iWARP“无效发送消息”中的STag域(可选地,丢弃R_Key(立即数据)并建立无STag的发送消息)。协议转换器362将转换后的消息传送(在方框454处)到iWARP网络上的网关354,如图11a中所示。从方框454或444,随后的网关可以通过执行从方框400开始的操作将iSER/iWARP消息转换成iSER/无限带宽消息。
如果(在方框440处)来自目标节点的无限带宽传输在到达起始节点之前不在iWARP网络上继续到网关(即无限带宽消息将穿过iWARP网络上的网关322或374直接继续到起始324或376,如分别在图10和图11b中所示),那么控制进行到图14中的方框480。如果(在方框480处)无限带宽消息类型映射到等价的iWARP消息,那么协议转换器334或386将无限带宽消息转换成(在方框486处)等价的iWARP消息并在iWARP上转发给起始节点。如果(在方框480处)无限带宽消息类型不映射到协议映射336或388中的等价iWARP消息,并且如果(在方框488处)消息不是无限带宽“立即数据发送”消息,那么错误被抛出(在方框490处),并且消息被丢弃。
如果(在方框488处)消息是无限带宽立即数据发送消息,那么协议转换器334或386创建(在方框492处)iWARP无效(请求事件)发送消息并将来自无限带宽消息中的立即数据域的R_Key添加(在方框494处)到iWARP无效发送消息中的STag域中(可选地,丢弃R_Key(立即数据)并建立无STag的发送消息)。协议转换器334或386将转换后的消息传送(在方框496处)到iWARP网路上的起始节点,如图10或11b中所示。
所描述的实施方案提供一种通过处理并且如果需要时将消息转换成与接收节点所使用的通信协议可兼容的格式来允许消息在使用不同传输协议的网络之间传送的技术。
另外的实施方案细节
这里所描述的实施方案可以使用制造软件、固件、硬件或其任意组合的标准编程和/或工程技术实施为一种方法、装置或制造产品。这里所使用的术语“制造产品”指的是在硬件逻辑(例如集成电路芯片、可编程门阵列(PGA)、专用集成电路(ASIC)等)或计算机可读媒介,例如磁性存储媒介(例如硬盘驱动器、软盘、磁带等)、光存储器(CD-ROM、光盘等)、易失性和非易失性存储设备(例如EEPROM、ROM、PROM、RAM、DRAM、SRAM、固件、可编程逻辑等)中实施的代码或逻辑。计算机可读媒介中的代码由处理器访问并执行。实施优选实施方案的代码还可以通过传输媒介或从网络上的文件服务器访问。在这些情况下,实施代码的制造产品可以包括传输媒介,例如网络传输线、无限传输媒介、通过空间传播的信号、无限电波、红外信号等。因此,“制造产品”可以包括包含代码的媒介。另外,“制造产品”可以包括其中代码被包含、处理和执行的硬件及软件部件的组合。当然,本领域技术人员应答认识到,可以不背离本发明的范畴对该配置作许多修改,并且制造产品可以包括本领域中已知的任何信息承载媒介。
所描述的操作可以由电路系统执行,其中“电路系统”指的是硬件或软件或其组合。用于执行所描述实施方案的操作的电路系统可以包括硬件设备,例如集成电路芯片、可编程门阵列(PGA)、专用集成电路(ASIC)等。电路系统也可以包括处理器部件例如集成电路,以及计算机可读媒介例如存储器中的代码,其中代码由处理器执行,以进行所描述实施方案的操作。
在所描述的实施中,物理层使用以太网协议。在可选实施中,提供分组的链路到链路校验求和/CRC(或其他数据检测方案)的可选协议可以用来代替以太网,例如串行高级技术附加(SATA)、无限带宽、串行附加SCSI电缆等。
在所描述的实施中,传输层包括iSCSI协议。在可选实施中,本领域中已知的用于以分组传送I/O命令并提供端到端校验求和/CRC(或其他数据检测方案)的其他协议也可以使用。
在所描述的实施中,被包装的I/O命令包括SCSI命令。在可选实施中,命令可以是与SCSI不同的I/O命令格式,例如高级技术附加(ATA)。
在所描述的实施方案中,iSCSI层调用iSER层以访问RDMA数据传送能力。在另外的实施方案中,不同于iSCSI的数据传输协议层例如应用或其他数据传输协议可以调用iSER层以访问RDMA数据传送能力。
在可选实施方案中,无限带宽上IP协议(具有可靠连接-RC)可以代替SDP用来跨越无限带宽网络传送使用协议例如TCP编码的分组。关于无限带宽上IP协议(具有可靠连接-RC)的更多细节在由IETF出版为“draft-kashyap-ipoib-connected-mode-01.txt”(2003年9月)的出版物“无限带宽上IP:连接模式”中描述,该出版物在此整体引入作为参考。例如,SDP层可以代替分层于IPoIB(RC)实施上方的TCP栈,并且该TCP/IPoIB组合的任何部分可以放置于结点2软件或适配器24中。在这种实施方案中,IPolB(RC)函数可以根据IPolB(RC)规范调用所需的RDMA层26。
在另外的实施方案中,不同于TCP的协议可以用来在允许IP的网络上传送分组,例如流控制传输协议(SCTP),该协议在出版物“流控制传输协议”,RFC 2960(以太网协会,2000)中定义,该出版物在此整体引入作为参考。
图5a、5b、6a、6b、7和8描述以特定顺序发生的特定操作。在可选实施中,某些操作可以以不同的顺序执行、修改或移除。此外,步骤可以添加到上述逻辑,而仍然符合所描述的实施。此外,这里所描述的操作可以顺序地发生或者某些操作可以并行处理。此外,操作可以由单个处理单元或者由分布式处理单元执行。
前面实施的描述已为了说明及描述的目的而提供。这不打算是排他性的或将本发明限制于所描述的精确形式。根据上面的讲授许多修改和变化是可能的。打算是本发明的范畴不是由本详细说明书而是由这里附加的权利要求所限定。上面的说明书、例子和数据提供本发明的组成部分的制造及使用的完整描述。因为可以不背离本发明的本质和范畴而进行本发明的许多实施,本发明属于下文所附加的权利要求。
Claims (39)
1.一种在本地节点实施以与远程节点通信的制造产品,其中制造产品可以执行操作,所述操作包括:
使用第一通信协议与远程节点通信以建立第二通信协议的连接;
创建数据结构以允许与远程节点的通信,以建立第二通信协议的与远程节点的连接;
调用第二通信协议的扩展层;以及
传送数据结构到扩展层以用于使用第二通信协议与远程节点通信。
2.根据权利要求1的制造产品,其中用以建立连接的与远程节点的通信通过套接字层来进行。
3.根据权利要求1的制造产品,其中第一通信协议包括用来与远程节点通信的在RNIC适配器中实施的连网层,其中第二通信协议包括RDMA协议,并且其中扩展层包括使用RDMA协议处理与远程节点的通信的iSER层。
4.根据权利要求1的制造产品,其中用以建立连接的与远程节点的通信使用利用第二通信协议通信的接口协议来进行,其中接口协议创建第二通信协议的数据结构,还包括:
通过扩展层协议发出调用以终止接口协议,其中扩展层使用由接口协议创建的数据结构与远程节点通信。
5.根据权利要求4的制造产品,其中第一通信协议包括套接字层,其中第二通信协议包括RDMA协议,其中接口协议包括SDP层或分层于IPoIB(RC)上的TCP,其中扩展层包括使用RDMA协议处理与远程节点的通信的iSER层,并且其中无限带宽适配器用来与远程节点通信。
6.根据权利要求1的制造产品,其中本地节点包括起始节点并且远程节点包括目标节点,其中当接收到来自目标节点的用以建立连接的最后应答时扩展层被调用,其中用以终止接口协议的调用响应于调用扩展层而发出。
7.根据权利要求6的制造产品,其中除了响应于调用扩展层之外用以终止接口协议的调用响应于使用接口协议将最后应答消息发送到目标节点而发出。
8.根据权利要求1的制造产品,其中本地节点包括起始节点并且远程节点包括目标节点,并且其中起始节点还执行:
通过起始节点适配器接收来自目标节点的能够包括使对存储位置的直接索引无效的消息,其中直接索引与第二通信协议可兼容,并且其中起始适配器不允许索引的直接无效;
响应于确定直接索引不匹配映射中的一个索引而调用起始适配器以使直接索引无效;以及
响应于确定直接索引不匹配映射中的一个索引或没有提供直接索引使与包含于使无效信息中的间接索引关联的、在映射中指示的至少一个直接索引无效。
9.根据权利要求8的制造产品,其中扩展层执行调用适配器以使直接索引无效以及使与使无效消息中的间接索引关联的至少一个索引无效的操作。
10.根据权利要求9的制造产品,其中扩展层包括iSER层,其中目标节点包括RNIC或无限带宽适配器,并且其中被调用的起始适配器包括RNIC或无限带宽适配器。
11.根据权利要求10的制造产品,其中本地节点包括目标节点并且远程节点包括起始节点,其中扩展层响应于接收到来自起始节点的最后登录请求而被调用。
12.根据权利要求11的制造产品,其中目标节点还执行:
使用第一通信协议发送最后登录应答给起始节点,其中数据结构在发送最后登录请求之后被传送到扩展层。
13.根据权利要求8的制造产品,其中间接索引包括ITT,并且其中直接索引包括STag或R_Key。
14.一种在本地节点中实施以与远程节点通信的系统,包括:
(a)计算机可读媒介;
(b)代码,包括:
(i)第一通信协议;
(ii)第二通信协议;
(iii)第二通信协议的扩展层;
(c)本地节点处的电路系统,其与计算机可读媒介通信,能够:
(i)使用第一通信协议与远程节点通信以建立第二通信协议的连接;
(ii)在计算机可读媒介中创建数据结构以允许与远程节点的通信以建立第二通信协议的与远程节点的连接;
(iii)调用第二通信协议的扩展层;以及
(iv)将数据结构传送到扩展层以用于使用第二通信协议与远程节点通信。
15.根据权利要求14的系统,还包括:
套接字层,其中用以建立连接的与远程节点的通信通过套接字层来进行。
16.根据权利要求14的系统,其中第一通信协议包括用来与远程节点通信的在RNIN适配器中实施的连网层,其中第二通信协议包括RDMA协议,并且其中扩展层包括使用RDMA协议处理与远程节点的通信的iSER层。
17.根据权利要求14的系统,其中用以建立连接的与远程节点的通信使用利用第二通信协议通信的接口协议来进行,其中接口协议创建第二通信协议的数据接口,其中电路系统还允许:
通过扩展层协议发出调用以终止接口协议,其中扩展层使用由接口协议创建的数据结构来与远程节点通信。
18.根据权利要求17的系统,其中第一通信协议包括套接字层,其中第二通信协议包括RDMA协议,其中接口协议包括SDP层或分层于IPoIB(RC)上的TCP,其中扩展层包括使用RDMA协议来处理与远程节点的通信的iSER层,并且其中无限带宽适配器用来与远程节点通信。
19.根据权利要求14的系统,其中本地节点包括起始节点并且远程节点包括目标节点,其中当接收到来自目标节点的用以建立连接的最后应答时扩展层被调用,其中用以终止接口协议的调用响应于调用扩展层而发出。
20.根据权利要求19的系统,其中除了响应于调用扩展层之外用以终止接口协议的调用响应于使用接口协议将最后应答消息发送到目标节点而发出。
21.根据权利要求14的系统,其中本地节点包括起始节点并且远程节点包括目标节点,并且其中起始节点还执行:
通过起始节点适配器接收来自目标节点的能够包括使对存储位置的直接索引无效的消息,其中直接索引与第二通信协议可兼容,并且其中起始适配器不允许索引的直接无效;
响应于确定直接索引不匹配映射中的一个索引而调用起始适配器以使直接索引无效;以及
响应于确定直接索引不匹配映射中的一个索引或没有提供直接索引使与包含于使无效信息中的间接索引关联的、在映射中指示的至少一个直接索引无效。
22.根据权利要求21的系统,其中扩展层执行调用适配器以使直接索引无效以及使与使无效消息中的间接索引关联的至少一个索引无效的操作。
23.根据权利要求22的系统,其中扩展层包括iSER层,其中目标节点包括RNIC或无限带宽适配器,并且其中被调用的起始适配器包括RNIC或无限带宽适配器。
24.根据权利要求23的系统,其中本地节点包括目标节点并且远程节点包括起始节点,其中扩展层响应于接收到来自起始节点的最后登录请求而被调用。
25.根据权利要求24的系统,其中目标节点的电路系统还允许:
使用第一通信协议发送最后登录应答给起始节点,其中数据结构在发送最后登录应答之后传送到扩展层。
26.根据权利要求21的系统,其中间接索引包括ITT,并且其中直接索引包括STag或R_Key。
27.一种在本地节点中执行以与远程节点通信的方法,包括:
使用第一通信协议与远程节点通信以建立第二通信协议的连接;
创建数据结构以允许与远程节点的通信,以建立第二通信协议的与远程节点的连接;
调用第二通信协议的扩展层;以及
传送数据结构到扩展层以用于使用第二通信协议与远程节点通信。
28.根据权利要求27的方法,其中用以建立连接的与远程节点的通信通过套接字层来进行。
29.根据权利要求27的方法,其中第一通信协议包括用来与远程节点通信的在RNIC适配器中实施的连网层,其中第二通信协议包括RDMA协议,并且其中扩展层包括使用RDMA协议处理与远程节点的通信的iSER层。
30.根据权利要求27的方法,其中用以建立连接的与远程节点的通信使用利用第二通信协议通信的接口协议来进行,其中接口协议创建第二通信协议的数据结构,还包括:
通过扩展层协议发出调用以终止接口协议,其中扩展层使用由接口协议创建的数据结构与远程节点通信。
31.根据权利要求30的方法,其中第一通信协议包括套接字层,其中第二通信协议包括RDMA协议,其中接口协议包括SDP层或分层于IPoIB(RC)上的TCP,其中扩展层包括使用RDMA协议处理与远程节点的通信的iSER层,并且其中无限带宽适配器用来与远程节点通信。
32.根据权利要求27的方法,其中本地节点包括起始节点并且远程节点包括目标节点,其中当接收到来自目标节点的用以建立连接的最后应答时扩展层被调用,其中用以终止接口协议的调用响应于调用扩展层而发出。
33.根据权利要求27的方法,其中除了响应于调用扩展层之外用以终止接口协议的调用响应于使用接口协议将最后应答消息发送到目标节点而发出。
34.根据权利要求27的方法,其中本地节点包括起始节点并且远程节点包括目标节点,并且其中起始节点还执行:
通过起始节点适配器接收来自目标节点的能够包括使对存储位置的直接索引无效的消息,其中直接索引与第二通信协议可兼容,并且其中起始适配器不允许索引的直接无效;
响应于确定直接索引不匹配映射中的一个索引而调用起始适配器以使直接索引无效;以及
响应于确定直接索引不匹配映射中的一个索引或没有提供直接索引使与包含于使无效信息中的间接索引关联的、在映射中指示的至少一个直接索引无效。
35.根据权利要求34的方法,其中扩展层执行调用适配器以使直接索引无效以及使与使无效消息中的间接索引关联的至少一个索引无效的操作。
36.根据权利要求35的方法,其中扩展层包括iSER层,其中目标节点包括RNIC或无限带宽适配器,并且其中被调用的起始适配器包括RNIC或无限带宽适配器。
37.根据权利要求36的方法,其中本地节点包括目标节点并且远程节点包括起始节点,其中扩展层响应于接收到来自起始节点的最后登录请求而被调用。
38.根据权利要求37的方法,其中目标节点还执行:
使用第一通信协议发送最后登录应答给起始节点,其中数据结构在发送最后登录请求之后被传送到扩展层。
39.根据权利要求34的方法,其中间接索引包括ITT,并且其中直接索引包括STag或R_Key。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/893,213 US7475153B2 (en) | 2004-07-16 | 2004-07-16 | Method for enabling communication between nodes |
US10/893,213 | 2004-07-16 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1722732A true CN1722732A (zh) | 2006-01-18 |
CN1722732B CN1722732B (zh) | 2011-11-09 |
Family
ID=35599346
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200510084617.7A Expired - Fee Related CN1722732B (zh) | 2004-07-16 | 2005-07-15 | 节点之间进行通信的方法及系统 |
Country Status (3)
Country | Link |
---|---|
US (3) | US7475153B2 (zh) |
JP (1) | JP2006033854A (zh) |
CN (1) | CN1722732B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101207569B (zh) * | 2006-12-20 | 2012-03-21 | 国际商业机器公司 | 用于确定计算机网络上的通信路径的设备和方法 |
CN102404212A (zh) * | 2011-11-17 | 2012-04-04 | 曙光信息产业(北京)有限公司 | 一种基于InfiniBand网络的跨平台RDMA通信方法 |
CN102831018A (zh) * | 2011-06-15 | 2012-12-19 | 塔塔咨询服务有限公司 | 低延迟先进先出消息交换系统 |
CN103262038A (zh) * | 2010-12-13 | 2013-08-21 | 超威半导体公司 | 图形计算进程调度 |
CN103262037A (zh) * | 2010-12-13 | 2013-08-21 | 超威半导体公司 | 图形处理计算资源的可访问性 |
CN101710902B (zh) * | 2009-12-10 | 2014-03-05 | 北京邮电大学 | 一种无结构p2p网络及其数据查询方法和索引更新方法 |
CN104011696A (zh) * | 2012-12-11 | 2014-08-27 | 英特尔公司 | 用于隐式存储器注册的显式流控制 |
CN108418695A (zh) * | 2018-01-10 | 2018-08-17 | 北京思特奇信息技术股份有限公司 | 一种ocs实时计费云化系统和方法 |
CN109067506A (zh) * | 2018-08-15 | 2018-12-21 | 无锡江南计算技术研究所 | 一种基于多滑动窗口并发的轻量级异步消息实现方法 |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7475153B2 (en) * | 2004-07-16 | 2009-01-06 | International Business Machines Corporation | Method for enabling communication between nodes |
US7779081B2 (en) * | 2004-07-16 | 2010-08-17 | International Business Machines Corporation | Method, system, and program for forwarding messages between nodes |
US20060077993A1 (en) * | 2004-10-12 | 2006-04-13 | Eaton Corporation | Method of managing communication buffers for a plurality of communication layers and node employing the same |
US20060101225A1 (en) * | 2004-11-08 | 2006-05-11 | Eliezer Aloni | Method and system for a multi-stream tunneled marker-based protocol data unit aligned protocol |
US20060133422A1 (en) * | 2004-12-22 | 2006-06-22 | Maughan Robert R | Maintaining message boundaries for communication protocols |
US20060168092A1 (en) * | 2005-01-21 | 2006-07-27 | International Business Machines Corporation | Scsi buffer memory management with rdma atp mechanism |
US8527661B1 (en) * | 2005-03-09 | 2013-09-03 | Oracle America, Inc. | Gateway for connecting clients and servers utilizing remote direct memory access controls to separate data path from control path |
US8539109B1 (en) * | 2005-03-09 | 2013-09-17 | Oracle America, Inc. | Third party direct memory access protocol extension to separate data path from control path |
US7689679B2 (en) * | 2007-02-23 | 2010-03-30 | International Business Machines Corporation | Method to enable infiniband network bootstrap |
US7734743B2 (en) * | 2007-02-23 | 2010-06-08 | International Business Machines Corporation | Method to enable infiniband network bootstrap |
US7734818B2 (en) * | 2007-02-23 | 2010-06-08 | International Business Machines Corporation | Method to add IPV6 and DHCP support to the network support package |
US7886139B2 (en) * | 2007-02-23 | 2011-02-08 | International Business Machines Corporation | Method to enable firmware to boot a system from an ISCSI device |
US8271669B2 (en) * | 2007-05-30 | 2012-09-18 | Broadcom Corporation | Method and system for extended steering tags (STAGS) to minimize memory bandwidth for content delivery servers |
TWI348850B (en) * | 2007-12-18 | 2011-09-11 | Ind Tech Res Inst | Packet forwarding apparatus and method for virtualization switch |
US7971236B1 (en) * | 2008-10-29 | 2011-06-28 | Netapp, Inc. | Method and system for secure remote direct memory access |
CN101841566B (zh) * | 2010-04-01 | 2013-12-18 | 中兴通讯股份有限公司南京分公司 | 一种网络存储目标端驱动系统和方法 |
US8417898B2 (en) | 2010-10-07 | 2013-04-09 | Hitachi, Ltd. | Storage control apparatus and storage control apparatus control method |
US8780913B2 (en) * | 2011-08-30 | 2014-07-15 | International Business Machines Corporation | Operating an infiniband network having nodes and at least one IB switch |
US20140337456A1 (en) * | 2013-05-07 | 2014-11-13 | Dell Products L.P. | Systems and methods for enabling rdma between diverse endpoints |
US10095654B2 (en) * | 2014-09-30 | 2018-10-09 | International Business Machines Corporation | Mapping and reducing |
US9674303B1 (en) * | 2014-11-19 | 2017-06-06 | Qlogic, Corporation | Methods and systems for efficient data transmission in a data center by reducing transport layer processing |
US10031886B2 (en) | 2016-02-17 | 2018-07-24 | International Business Machines Corporation | Remote direct memory access-based method of transferring arrays of objects including garbage data |
US11379405B2 (en) * | 2019-09-17 | 2022-07-05 | Vmware, Inc. | Internet small computer interface systems extension for remote direct memory access (RDMA) for distributed hyper-converged storage systems |
US11509579B2 (en) * | 2020-08-24 | 2022-11-22 | Mellanox Technologies, Ltd. | Gateway for remote direct memory access over converged ethernet |
CN113873008B (zh) * | 2021-08-30 | 2024-03-19 | 浪潮电子信息产业股份有限公司 | 一种rdma网络节点的连接重配方法、装置、系统及介质 |
CN118394703B (zh) * | 2024-06-25 | 2024-09-10 | 北京燧原智能科技有限公司 | 一种片内互联系统及片内通信方法 |
Family Cites Families (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5553075A (en) * | 1994-06-22 | 1996-09-03 | Ericsson Ge Mobile Communications Inc. | Packet data protocol for wireless communication |
US5495614A (en) | 1994-12-14 | 1996-02-27 | International Business Machines Corporation | Interface control process between using programs and shared hardware facilities |
DE19630845A1 (de) * | 1996-07-31 | 1998-02-05 | Sel Alcatel Ag | Verfahren zum Betreiben einer Schnittstelleneinrichtung, sowie Schnittstelleneinrichtung und Vermittlungsstelle mit einer solchen Schnittstelleneinrichtung |
FI102708B1 (fi) * | 1996-10-22 | 1999-01-29 | Nokia Telecommunications Oy | Menetelmä ja järjestelmä etätyöaseman ja automaattisen kutsunjakojärjestelmän välisen tietoliikenneyhteyden sovittamiseksi |
US6032224A (en) | 1996-12-03 | 2000-02-29 | Emc Corporation | Hierarchical performance system for managing a plurality of storage units with different access speeds |
SE512415C2 (sv) * | 1997-07-22 | 2000-03-13 | Ericsson Telefon Ab L M | Förfarande och anordning i ett telesystem |
US6360282B1 (en) | 1998-03-25 | 2002-03-19 | Network Appliance, Inc. | Protected control of devices by user applications in multiprogramming environments |
US6185607B1 (en) * | 1998-05-26 | 2001-02-06 | 3Com Corporation | Method for managing network data transfers with minimal host processor involvement |
US6374248B1 (en) | 1999-12-02 | 2002-04-16 | Sun Microsystems, Inc. | Method and apparatus for providing local path I/O in a distributed file system |
US20030099254A1 (en) | 2000-03-03 | 2003-05-29 | Richter Roger K. | Systems and methods for interfacing asynchronous and non-asynchronous data media |
US20030046396A1 (en) | 2000-03-03 | 2003-03-06 | Richter Roger K. | Systems and methods for managing resource utilization in information management environments |
DE60135654D1 (de) | 2000-05-23 | 2008-10-16 | Sepaton Inc | Verfahren und vorrichtung zur datenvervielfachung durch verwendung von scsi ber tcp/ip |
IL153454A0 (en) | 2000-06-26 | 2003-07-06 | Ibm | Data management application programming interface for a parallel file system |
WO2002017034A2 (en) | 2000-08-24 | 2002-02-28 | Voltaire Advanced Data Security Ltd. | System and method for highly scalable high-speed content-based filtering and load balancing in interconnected fabrics |
US6748502B2 (en) | 2001-01-12 | 2004-06-08 | Hitachi, Ltd. | Virtual volume storage |
US20020124137A1 (en) | 2001-01-29 | 2002-09-05 | Ulrich Thomas R. | Enhancing disk array performance via variable parity based load balancing |
US7149817B2 (en) | 2001-02-15 | 2006-12-12 | Neteffect, Inc. | Infiniband TM work queue to TCP/IP translation |
US6862609B2 (en) | 2001-03-07 | 2005-03-01 | Canopy Group, Inc. | Redundant storage for multiple processors in a ring network |
US8218555B2 (en) | 2001-04-24 | 2012-07-10 | Nvidia Corporation | Gigabit ethernet adapter |
US7146524B2 (en) | 2001-08-03 | 2006-12-05 | Isilon Systems, Inc. | Systems and methods for providing a distributed file system incorporating a virtual hot spare |
US7620692B2 (en) | 2001-09-06 | 2009-11-17 | Broadcom Corporation | iSCSI receiver implementation |
US6895590B2 (en) | 2001-09-26 | 2005-05-17 | Intel Corporation | Method and system enabling both legacy and new applications to access an InfiniBand fabric via a socket API |
US7072970B2 (en) | 2001-10-05 | 2006-07-04 | International Business Machines Corporation | Programmable network protocol handler architecture |
US6845403B2 (en) | 2001-10-31 | 2005-01-18 | Hewlett-Packard Development Company, L.P. | System and method for storage virtualization |
JP2003140840A (ja) | 2001-10-31 | 2003-05-16 | Toshiba Corp | ネットワーク接続されたディスクアレイのアクセス方法及び記憶装置 |
US7366784B2 (en) | 2001-11-27 | 2008-04-29 | Hitachi, Ltd. | System and method for providing and using a VLAN-aware storage device |
US7246245B2 (en) | 2002-01-10 | 2007-07-17 | Broadcom Corporation | System on a chip for network storage devices |
US6851023B2 (en) | 2002-01-14 | 2005-02-01 | Raidcore, Inc. | Method and system for configuring RAID subsystems with block I/O commands and block I/O path |
US20030169690A1 (en) | 2002-03-05 | 2003-09-11 | James A. Mott | System and method for separating communication traffic |
US7237031B2 (en) | 2002-03-07 | 2007-06-26 | Sun Microsystems, Inc. | Method and apparatus for caching protocol processing data |
US8700724B2 (en) * | 2002-08-19 | 2014-04-15 | Broadcom Corporation | System and method for transferring data over a remote direct memory access (RDMA) network |
US7299266B2 (en) * | 2002-09-05 | 2007-11-20 | International Business Machines Corporation | Memory management offload for RDMA enabled network adapters |
US7043578B2 (en) * | 2003-01-09 | 2006-05-09 | International Business Machines Corporation | Method, system, and program for processing a packet including I/O commands and data |
US7577707B2 (en) * | 2004-04-21 | 2009-08-18 | International Business Machines Corporation | Method, system, and program for executing data transfer requests |
US7526574B2 (en) * | 2004-04-21 | 2009-04-28 | International Business Machines Corporation | Method for communicating data transfer requests between data transfer protocols |
US7779081B2 (en) * | 2004-07-16 | 2010-08-17 | International Business Machines Corporation | Method, system, and program for forwarding messages between nodes |
US7475153B2 (en) * | 2004-07-16 | 2009-01-06 | International Business Machines Corporation | Method for enabling communication between nodes |
-
2004
- 2004-07-16 US US10/893,213 patent/US7475153B2/en not_active Expired - Fee Related
-
2005
- 2005-07-15 CN CN200510084617.7A patent/CN1722732B/zh not_active Expired - Fee Related
- 2005-07-15 JP JP2005206418A patent/JP2006033854A/ja active Pending
-
2008
- 2008-10-03 US US12/245,691 patent/US7761588B2/en not_active Expired - Fee Related
-
2010
- 2010-05-04 US US12/773,773 patent/US8176187B2/en not_active Expired - Fee Related
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101207569B (zh) * | 2006-12-20 | 2012-03-21 | 国际商业机器公司 | 用于确定计算机网络上的通信路径的设备和方法 |
CN101710902B (zh) * | 2009-12-10 | 2014-03-05 | 北京邮电大学 | 一种无结构p2p网络及其数据查询方法和索引更新方法 |
CN103262038A (zh) * | 2010-12-13 | 2013-08-21 | 超威半导体公司 | 图形计算进程调度 |
CN103262037A (zh) * | 2010-12-13 | 2013-08-21 | 超威半导体公司 | 图形处理计算资源的可访问性 |
CN102831018A (zh) * | 2011-06-15 | 2012-12-19 | 塔塔咨询服务有限公司 | 低延迟先进先出消息交换系统 |
CN102831018B (zh) * | 2011-06-15 | 2015-06-24 | 塔塔咨询服务有限公司 | 低延迟先进先出消息交换系统 |
CN102404212A (zh) * | 2011-11-17 | 2012-04-04 | 曙光信息产业(北京)有限公司 | 一种基于InfiniBand网络的跨平台RDMA通信方法 |
CN104011696A (zh) * | 2012-12-11 | 2014-08-27 | 英特尔公司 | 用于隐式存储器注册的显式流控制 |
CN104011696B (zh) * | 2012-12-11 | 2016-12-21 | 英特尔公司 | 用于隐式存储器注册的显式流控制 |
CN108418695A (zh) * | 2018-01-10 | 2018-08-17 | 北京思特奇信息技术股份有限公司 | 一种ocs实时计费云化系统和方法 |
CN109067506A (zh) * | 2018-08-15 | 2018-12-21 | 无锡江南计算技术研究所 | 一种基于多滑动窗口并发的轻量级异步消息实现方法 |
Also Published As
Publication number | Publication date |
---|---|
US7475153B2 (en) | 2009-01-06 |
US20060013251A1 (en) | 2006-01-19 |
US20100217878A1 (en) | 2010-08-26 |
CN1722732B (zh) | 2011-11-09 |
JP2006033854A (ja) | 2006-02-02 |
US8176187B2 (en) | 2012-05-08 |
US7761588B2 (en) | 2010-07-20 |
US20090034553A1 (en) | 2009-02-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1722732A (zh) | 节点之间进行通信的方法及系统 | |
CN100556036C (zh) | 执行数据传送请求的方法、系统和程序 | |
US7966380B2 (en) | Method, system, and program for forwarding messages between nodes | |
US8150935B2 (en) | iSCSI receiver implementation | |
US6845403B2 (en) | System and method for storage virtualization | |
TWI234371B (en) | A method of performing iSCSI commands and a data processing system using the method | |
AU2009281668B2 (en) | Method and apparatus for connecting USB devices to a remote computer | |
TW583544B (en) | Infiniband work and completion queue management via head and tail circular buffers with indirect work queue entries | |
US8099470B2 (en) | Remote direct memory access for iSCSI | |
US20080228897A1 (en) | Layering serial attached small computer system interface (sas) over ethernet | |
US6671273B1 (en) | Method for using outgoing TCP/IP sequence number fields to provide a desired cluster node | |
US8396981B1 (en) | Gateway for connecting storage clients and storage servers | |
CN1954574B (zh) | 以太网上的统一架构 | |
CN1604057A (zh) | 硬件实施通道适配器资源的逻辑分区的方法和系统 | |
CN101194250A (zh) | 用于关闭rdma连接的方法和系统 | |
CN101827019A (zh) | 网络接口设备 | |
JP2002305535A (ja) | データを転送する信頼できるプロトコルを提供する方法および装置 | |
CN102368711B (zh) | 一种面向并行文件系统的通信系统 | |
JPH07168774A (ja) | 無接続セッション指向プロトコルの第1メッセージの生成システム及び方法 | |
US20080056263A1 (en) | Efficient transport layer processing of incoming packets | |
CN104205079A (zh) | Rdma网络上的子网管理数据的高效分配 | |
US20100020703A1 (en) | Network infrastructure capability detection | |
Tan et al. | A high-throughput fibre channel data communication service |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20111109 Termination date: 20210715 |