CN110289937B - 延迟响应方未就绪否定应答 - Google Patents
延迟响应方未就绪否定应答 Download PDFInfo
- Publication number
- CN110289937B CN110289937B CN201910199426.7A CN201910199426A CN110289937B CN 110289937 B CN110289937 B CN 110289937B CN 201910199426 A CN201910199426 A CN 201910199426A CN 110289937 B CN110289937 B CN 110289937B
- Authority
- CN
- China
- Prior art keywords
- computer system
- time
- request
- ready
- nak
- 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
Links
- 230000003111 delayed effect Effects 0.000 title claims description 19
- 238000000034 method Methods 0.000 claims abstract description 60
- 230000008569 process Effects 0.000 claims abstract description 39
- 238000004891 communication Methods 0.000 claims abstract description 24
- 230000005540 biological transmission Effects 0.000 claims description 28
- 230000004044 response Effects 0.000 claims description 23
- 238000010586 diagram Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 3
- 230000003139 buffering effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
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/104—Peer-to-peer [P2P] networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/1607—Details of the supervisory signal
- H04L1/1671—Details of the supervisory signal the supervisory signal being transmitted together with control information
- H04L1/1678—Details of the supervisory signal the supervisory signal being transmitted together with control information where the control information is for timing, e.g. time stamps
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/1607—Details of the supervisory signal
- H04L1/1685—Details of the supervisory signal the supervisory signal being transmitted in response to a specific request, e.g. to a polling signal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/26—Special purpose or proprietary protocols or architectures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/35—Switches specially adapted for specific applications
- H04L49/356—Switches specially adapted for specific applications for storage area networks
- H04L49/358—Infiniband Switches
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Computer Security & Cryptography (AREA)
- Computer And Data Communications (AREA)
- Communication Control (AREA)
Abstract
一种用于通信的方法包括在计算机系统中接收来自对等计算机系统的请求。当发现所述计算机系统当前未准备好处理所述请求时,在从所述计算机系统准备好处理所述请求的时间得出的发送时间,从所述计算机系统向所述对等计算机系统发送否定应答(Negative Acknowledgement,NAK)消息。
Description
技术领域
本发明总体上涉及计算机网络中的可靠通信,并且具体涉及促进诸如InfiniBand等基于应答的计算机通信协议中的高效的可靠通信的方法和系统。
背景技术
比较常见的高性能计算机通信网络标准之一是InfiniBand(缩写为IB)。Infiniband具有高吞吐量和低延时的特点,并且被用于计算机之间和之内以及服务器与存储系统之间的数据互连。Infiniband协议由Infiniband行业协会(Infiniband TradeAssociation)规定,例如,在通过引用而并入于此的2015年3月,1.3版“Infiniband架构规范第1卷(Infiniband Architecture Specification Volume 1)”中规定。该规范第9.7节定义了Infiniband可靠服务,包括支持接收方未就绪NAK(RNR NAK)响应的ACK/NAK协议。
发明内容
本文所述的本发明一个实施方式提供了一种用于通信的方法,包括在计算机系统中接收来自对等计算机系统的请求。当发现所述计算机系统当前未准备好处理所述请求时,在从所述计算机系统准备好处理所述请求的时间得出的发送时间,从所述计算机系统向所述对等计算机系统发送否定应答(Negative Acknowledgement,NAK)消息。
在一个实施方式中,发送所述NAK消息包括在所述NAK消息中指定所述对等计算机系统要在最小支持的时间延迟之后发送重试请求。在另一实施方式中,发送所述NAK消息包括将所述NAK消息的所述发送时间设定成等于所述计算机系统准备好处理所述请求的时间。在又一实施方式中,发送所述NAK消息包括将所述NAK消息的所述发送时间设定成(i)所述计算机系统准备好处理所述请求和(ii)从所述计算机系统接收到所述请求起经过的、被配置用于保证所述对等计算机系统不会进入超时过程的预定时间段之中的较早者。
在一些实施方式中,发送所述NAK消息包括将所述NAK消息的所述发送时间设定成比所述计算机系统准备好处理所述请求的时间更早的时间。在所公开的实施方式中,发送所述NAK消息包括将所述NAK消息的所述发送时间设定成在所述计算机系统准备好处理所述请求的时间之前一段时间间隔,所述时间间隔从所述计算机系统与所述对等计算机系统之间的往返延迟得出。在示例实施方式中,发送所述NAK消息包括将所述NAK消息的所述发送时间设定成在所述计算机系统准备好处理所述请求之前在所述计算机系统中生成早期指示的时间。
根据本发明一个实施方式,附加地提供了一种用于通信的方法,包括从计算机系统向对等计算机系统发送请求。从所述对等计算机系统接收否定应答(NAK)消息,该NAK消息指示出所述对等计算机系统未准备好处理所述请求。所述NAK消息指定所述计算机系统要在其后发送重试请求的时间延迟。在比所述NAK消息中所指定的时间延迟更短的时间延迟之后从所述计算机系统向所述对等计算机系统发送所述重试请求。
根据本发明一个实施方式,还提供了一种计算机系统,包括接口和处理器。所述接口被配置用于通过通信网络进行通信。所述处理器被配置用于经由所述接口通过所述通信网络接收来自对等计算机系统的请求,以及当发现所述计算机系统当前未准备好处理所述请求时,在从所述计算机系统准备好处理所述请求的时间得出的发送时间,向所述对等计算机系统发送否定应答(NAK)消息。
根据本发明一个实施方式,还提供了一种计算机系统,包括接口和处理器。所述接口被配置用于通过通信网络进行通信。所述处理器被配置用于经由所述接口通过所述通信网络向对等计算机系统发送请求;经由所述接口通过所述通信网络从所述对等计算机系统接收否定应答(NAK)响应消息,所述NAK响应消息指示出所述对等计算机系统未准备好处理所述请求。所述NAK消息指定所述计算机系统要在其后发送重试请求的时间延迟,以及在比所述NAK消息中指定的所述时间延迟更短的时间延迟之后向所述对等计算机系统发送重试请求。
从以下结合附图对本发明实施方式的详细描述中,将会获得对本发明的更全面理解;在附图中:
附图说明
图1是根据本发明实施方式,示意性地图示计算机网络的框图;
图2是根据本发明实施方式,具有延迟RNR-NAK的请求-响应流的示意图;
图3是根据本发明实施方式,示意性地图示响应方的结构的框图;以及
图4是根据本发明实施方式,示意性地图示用于促进延迟RNR-NAK的方法的流程图。
具体实施方式
综述
为了促进高可靠性通信,InfiniBand规范定义了数据传输将会遵循请求-应答协议,其中请求方发送请求消息,并且响应方在其就绪的情况下发送应答消息(ACK),而在其未就绪的情况下发送响应方未就绪否定应答消息(RNR-NAK)。如果请求方得到ACK响应,则其将会继续;如果请求方得到RNR-NAK作为对请求的响应,则其将会在一定的时间延迟之后重试发送该请求;如果在预设时间段内未接收到响应,则请求方可以进入超时过程并且有可能放弃请求。
为了使总线上和/或跨网络的请求流量最小化,RNR-NAK消息包含某一字段,该字段用于向请求方指示出其应当在重试请求之前等待的最小时间段。前述机制在上文引用的Infiniband架构规范第9.7节中有述。在Infiniband规范中,用于指示出请求方应当在重试请求之前等待的最小时间段的字段表示为TTTTT。
在实践中,响应方常常无法准确告知其将会在何时就绪,并且通常会替代地发送估计的TTTTT。响应方对TTTTT字段的不准确规定可能导致浪费时间和/或不必要的信令开销。例如,如果估计的TTTTT过短,则请求方将会在响应方尚未就绪时发送重试的消息并得到另一RNR-NAK。如果估计的TTTTT过长,则尽管响应将会就绪但请求却不会得到满足,并且延时时间将会增加。
本文所述的本发明实施方式提供计算机网络中的改进的请求-响应技术。在一些实施方式中,如果响应方未就绪,则其不会向请求方发送响应直至其就绪。仅当就绪时,响应方才会发送RNR-NAK。在一个实施方式中,响应方在RNR-NAK中将TTTTT值设定成最小允许值。因此,请求方将会在响应方就绪时而不是更早时,并且以等于最小允许TTTTT值的延迟来重试请求。在一些实施方式中,延迟将会短于TTTTT的最小值。
在本发明的其他实施方式中,响应方将会在其就绪但不晚于接收到请求后的某一时间延迟之时发送RNR-NAK消息;该时间延迟将会被设定成使得请求方不会进入超时过程——该超时过程可能意味着放弃请求。
更一般地,在一些实施方式中,响应方可以在发送时间发送RNR-NAK消息,所述发送时间从响应方准备好(或者预计准备好)处理请求的时间得出。本文描述了由响应方设定RNR-NAK消息的发送时间的若干种可能的技术。所有这些变体都被视为从响应方准备好处理请求的时间得出发送时间。
当根据本发明实施方式实现计算机系统时,通过网络的吞吐量可能由于请求重试数目可被减少而增加,并且平均延时时间可能由于TTTTT将会总是被设定成最小允许值而减小。吞吐量的增加可导致通信及整体系统性能提高。
系统描述
图1是根据本发明实施方式,示意性地图示计算机网络20的框图。在本示例中,网络20包括通过通信网络24进行通信的两个计算机系统22A和22B。在上文中,为了简洁而将计算机系统22A和22B中的任何一个称为计算机系统22。
每个计算机系统22例如可以包括服务器、个人计算机、存储控制器、存储设备,或者任何其他合适的计算平台。网络24例如可以包括局域网(LAN)、广域网(WAN)例如因特网,或者任何其他合适的网络类型。
每个计算机系统22通常包括相应的处理器,在本示例中为中央处理器(CPU)30,该处理器用软件编程。每个计算机系统22还包括网络接口控制器(NIC)40,在Infiniband术语中称为主机通道适配器(Host Channel Adapter,HCA)。
根据本发明的实施方式,每个计算机系统22可以是如下文所解释的请求方或响应方;此外,连接到网络24的每个计算机系统22可以在一些时间是请求方,而在其他时间是响应方。在本发明的其他实施方式中,计算机系统22中的一个或多个可以具有永久配置——作为请求方或响应方。
请求例如可以包括在响应方存储器中分配存储区域以便用于储存来自请求方的数据。对于当前示例,响应可以是确认已经接收到所述请求。然而,替代地可以使用任何其他合适种类的请求和响应。
在前文中,请求方是被暂时或永久配置成向对等计算机系统22发送请求的计算机系统22,而响应方是被暂时或永久配置成发送对于这样的请求的响应的计算机系统22。
图2是根据本发明实施方式,具有延迟RNR-NAK的请求-响应流的示意图。该图示出了请求和当响应方未就绪时对这样的请求的响应的消息交换。
在图2的示例中,请求方22A向响应方22B发送请求50。在时间段52期间,响应方22B未就绪并且无法处理请求50。例如,响应方22B可能在其不具有存储器空间和/或用以处理请求的CPU资源的情况下,或者由于任何其他原因而未就绪。
根据本发明的实施方式,如果响应方22B当前未准备好处理请求50,则响应方不在接收到请求时立即发送RNR-NAK。相反,响应方22B在其准备好处理请求的发送时间,即,在时段52的底端发送RNR-NAK消息56。NAK消息56在本文中还称为延迟RNR-NAK,并且这两个术语可互换使用。
在一些实施方式中,如果响应方22B当前未准备好处理请求50,则响应方在其准备好处理请求但不晚于从其接收到请求50起的预定时间间隔的发送时间,即,当时段52达到预定值时或当其结束时之中较早的一个时发送RNR-NAK消息56;预定时间间隔被设定成保证请求方不会进入超时过程并可能放弃请求,即,断开连接。
在一个实施方式中,在延迟RNR-NAK消息56中,响应方22B将TTTTT设定成最小允许值。当请求方22A响应于RNR-NAK消息56而发送重试请求54时,响应方22B就绪,并且向请求方22A发送ACK消息(未示出)。
在其他实施方式中,如果响应方22B当前未准备好处理请求50,则其将会在出现于时段52的末尾之前(但却是从预计响应方将会就绪的时间得出)的发送时间发送延迟RNR-NAK消息56。例如,响应方22B可以在某一时间发送延迟RNR-NAK 56,使得往返延迟(从延迟RNR消息56的发送时间至接收到来自请求方的重试请求54的时间)将会保证响应方22B在响应方22B接收到来自请求方22A的重试请求消息时将会就绪。
在其他实施方式中,响应方22B可以在时段52的末尾之前具有对其将于何时准备好处理请求的指示。在一些实施方式中,在这种情况下,响应方22B可以在被设定成所述指示的时间(但却是从预计响应方将会就绪的时间得出)的发送时间发送延迟RNR-NAK。
在实施方式中,请求方22A在从响应方22B接收到延迟RNR-NAK时,可以在比延迟RNR-NAK消息中所指示的延迟更短的延迟时间之后发送重试请求。
图3是根据本发明实施方式,示意性地图示响应方22B的结构的框图。如图1中所示,举例而言,响应方22B是计算机系统,包括CPU 30和NIC 40,并且连接到网络24。NIC 40通常包括MAC和PHY单元60,以及控制器70。MAC和PHY单元60充当用于将NIC 40连接到网络24的接口。控制器70也被称为处理器。
在本发明的一些实施方式中,控制器70包括:a)ACK发生器72,其被配置用于生成ACK响应消息;b)NAK发生器74,其被配置用于生成其中TTTTT被设定成最小允许值的NAK响应消息;c)多路复用器单元76,其被配置用于根据其控制输入而将其两个输入消息中之一复制到其输出上;d)延迟单元80,其被配置用于将输入消息延迟到就绪输入被设定于的发送时间;以及e)其他控制功能78,所述其他控制功能78与本发明无关。
当通过MAC和PHY单元60从网络24接收到请求消息时,多路复用器76将会选择消息——NAK发生器74的输出或者ACK发生器72的输出,并将其转发到延迟单元80。
例如,如果CPU的消息缓冲区就绪,则多路复用器76将会选择ACK发生器的输出;否则,多路复用器76将会选择NAK发生器74的输出。(在本示例中,响应方在CPU消息缓冲区具有可用空间的情况下准备好处理请求,而在其他情况下则未准备好。还可以使用决定响应方是否就绪的其他合适的准则。)
如果CPU 30的消息缓冲区未就绪,则来自多路复用器76的NAK消息将会被储存在延迟单元80中。当消息缓冲区变得就绪时,延迟单元80将会把NAK消息转发到MAC和PHY单元60。如果消息缓冲区就绪,则延迟单元将会无延迟地把ACK消息转发到MAC和PHY单元60。
图4是根据本发明实施方式,示意性地图示用于促进延迟RNR-NAK的方法的流程图100。该流程图通常由响应方22B的控制器70所执行(图3)。所述方法开始于响应方在请求接收步骤102中接收请求。在CPU就绪检查步骤104中,控制器70检查CPU 30的消息缓冲区是否就绪。如果就绪,则控制器70将会进入缓冲步骤106,因此其将会把请求消息发送到缓冲区。在ACK发送步骤108中,控制器70通过网络24发送ACK消息,并继而退出当前流程图。
如果在CPU就绪检查步骤104中,控制器70发现CPU 30的消息缓冲区未就绪,则控制器70将会进入另一CPU就绪检查步骤110。当处于步骤110中时,控制器70等待CPU 30的消息缓冲区变得就绪;如果消息缓冲区未就绪,则控制器70将会重新进入步骤110。如果CPU30的消息缓冲区就绪,则控制器70将会退出步骤110并进入NAK发送步骤112。在步骤112中,控制器70在TTTTT被设定成最小允许值的情况下通过网络24发送RNR-NAK消息,并继而退出当前流程图。
图1和图3中所示的计算机网络20、计算机系统22A和22B以及NIC 40的配置是纯粹为了概念清晰而示出的示例配置。在备选实施方式中可以使用任何其他合适的配置。例如,图1仅示出了两个计算机系统。然而,在许多现实生活实现中,计算机网络20通常会包括大量的计算机系统。作为另一示例,NIC 40可以具有任何其他内部结构,而并不一定是图3中所示的结构。
虽然本文所述实施方式主要涉及Infiniband网络,但所公开的技术可适用于其他合适的基于NAK和基于ACK-NAK的网络类型和通信协议。示例可以包括双同步可靠多播(Bisync Reliable-Multicast)和融合以太网上的RDMA(RDMA over Converged Ethernet,RoCE)。
每个计算机系统的不同元件,诸如CPU 30和NIC 40,可以使用合适的硬件来实现,诸如用专用集成电路(ASIC)或现场可编程门阵列(FPGA)来实现,使用软件、使用硬件,或者使用硬件和软件元素的组合来实现。
在一些实施方式中,CPU 30和/或NIC 40的控制器70包括通用可编程处理器,该通用可编程处理器用软件编程以便执行本文所述的功能。软件例如能够通过网络以电子形式下载到处理器,或者替代地或附加地,其能够提供和/或储存在非暂时性有形介质上,诸如磁、光或电子存储器上。
因此,应当理解,上述实施方式是以举例的方式引用的,并且本发明并不限于上文的具体图示和描述。相反,本发明的范围包括上述各种特征的组合及子组合,以及本领域技术人员在阅读前文描述时将会想到的,并且未在现有技术中公开的所述特征的变化和修改。通过引用并入到本专利申请中的文件应被视为本申请的组成部分,除非这些并入的文件中所定义的任何项目达到与本说明书中明确或隐含做出的定义相冲突的程度,在此情况下应当仅考虑本说明书中的定义。
Claims (14)
1.一种用于通信的方法,包括:
在计算机系统中接收来自对等计算机系统的请求;
响应于接收到所述请求,确定所述计算机系统是否准备好处理所述请求;以及
当发现所述计算机系统当前未准备好处理所述请求时,选择从所述计算机系统准备好或预计准备好的时间得出的延迟的发送时间并在所选择的延迟的发送时间,从所述计算机系统向所述对等计算机系统发送否定应答(Negative Acknowledgement,NAK)消息;
其中,选择所述延迟的发送时间包括将所述NAK消息的发送时间设定成(i)所述计算机系统准备好处理所述请求和(ii)从所述计算机系统接收到所述请求起经过的、被配置用于保证所述对等计算机系统不会进入超时过程的预定时间段之中的较早者。
2.根据权利要求1所述的方法,其中发送所述NAK消息包括在所述NAK消息中指定所述对等计算机系统要在最小支持的时间延迟之后发送重试请求。
3.根据权利要求1所述的方法,其中选择所述延迟的发送时间包括将所述NAK消息的所述发送时间设定成等于所述计算机系统准备好处理所述请求的时间。
4.根据权利要求1所述的方法,其中选择所述延迟的发送时间包括将所述NAK消息的所述发送时间设定成比所述计算机系统准备好处理所述请求的时间更早的时间。
5.根据权利要求1所述的方法,其中选择所述延迟的发送时间包括将所述NAK消息的所述发送时间设定成在所述计算机系统准备好处理所述请求的时间之前一段时间间隔,所述时间间隔从所述计算机系统与所述对等计算机系统之间的往返延迟得出。
6.根据权利要求1所述的方法,其中选择所述延迟的发送时间包括将所述NAK消息的所述发送时间设定成在所述计算机系统准备好处理所述请求之前在所述计算机系统中生成早期指示的时间。
7.一种计算机系统,包括:
接口,其用于通过通信网络进行通信;以及
处理器,其被配置用于经由所述接口通过所述通信网络接收来自对等计算机系统的请求;响应于接收到所述请求,确定所述计算机系统是否准备好处理所述请求以及当发现所述计算机系统当前未准备好处理所述请求时,选择从所述计算机系统准备好或预计准备好的时间得出的延迟的发送时间并在所选择的延迟的发送时间,向所述对等计算机系统发送否定应答(NAK)消息;
其中,所述处理器被配置为将所述NAK消息的发送时间设定成(i)所述计算机系统准备好处理所述请求和(ii)从所述计算机系统接收到所述请求起经过的、被配置用于保证所述对等计算机系统不会进入超时过程的预定时间段之中的较早者。
8.根据权利要求7所述的计算机系统,其中所述处理器被配置用于在所述NAK消息中指定所述对等计算机系统要在最小支持的时间延迟之后发送重试请求。
9.根据权利要求7所述的计算机系统,其中所述处理器被配置用于将所述NAK消息的所述发送时间设定成等于所述计算机系统准备好处理所述请求的时间。
10.根据权利要求7所述的计算机系统,其中所述处理器被配置用于将所述NAK消息的所述发送时间设定成比所述计算机系统准备好处理所述请求的时间更早的时间。
11.根据权利要求7所述的计算机系统,其中所述处理器被配置用于将所述NAK消息的所述发送时间设定成在所述计算机系统准备好处理所述请求的时间之前一段时间间隔,所述时间间隔从所述计算机系统与所述对等计算机系统之间的往返延迟得出。
12.根据权利要求7所述的计算机系统,其中所述处理器被配置用于将所述NAK消息的所述发送时间设定成在所述计算机系统准备好处理所述请求之前在所述计算机系统中生成早期指示的时间。
13.根据权利要求7所述的计算机系统,其中,所述处理器被配置为:当发现所述计算机系统当前就绪时,响应于所接收到的请求而无延迟地将应答消息发送给所述对等计算机系统。
14.一种计算机系统,包括:
接口,其用于通过通信网络进行通信;以及
处理器,其被配置用于:经由所述接口通过所述通信网络向对等计算机系统发送请求;经由所述接口通过所述通信网络从所述对等计算机系统接收否定应答(NAK)响应消息,所述NAK响应消息指示出所述对等计算机系统未准备好处理所述请求,其中所述NAK消息指定所述计算机系统要在其后发送重试请求的时间延迟;以及在比所述NAK消息中指定的所述时间延迟更短的时间延迟之后向所述对等计算机系统发送重试请求;
其中,所述处理器被配置为将所述NAK消息的发送时间设定成(i)所述计算机系统准备好处理所述请求和(ii)从所述计算机系统接收到所述请求起经过的、被配置用于保证所述对等计算机系统不会进入超时过程的预定时间段之中的较早者。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/924,293 US10757183B2 (en) | 2018-03-19 | 2018-03-19 | Delayed responder-not-ready negative acknowledgement |
US15/924,293 | 2018-03-19 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110289937A CN110289937A (zh) | 2019-09-27 |
CN110289937B true CN110289937B (zh) | 2023-11-03 |
Family
ID=67906350
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910199426.7A Active CN110289937B (zh) | 2018-03-19 | 2019-03-15 | 延迟响应方未就绪否定应答 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10757183B2 (zh) |
CN (1) | CN110289937B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1116339A (zh) * | 1994-08-01 | 1996-02-07 | 英特尔公司 | 在计算机系统中进行总线事项处理的方法和设备 |
US7032153B1 (en) * | 2000-11-28 | 2006-04-18 | Nortel Networks Limited | Dynamic automatic retransmission request in wireless access networks |
CN1989721A (zh) * | 2004-06-16 | 2007-06-27 | 高通股份有限公司 | 用于无线通信中的链路控制的方法和设备 |
CN101312450A (zh) * | 2007-05-23 | 2008-11-26 | 恩益禧电子股份有限公司 | 响应控制方法及装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7266083B2 (en) * | 2003-02-26 | 2007-09-04 | International Business Machines Corporation | Method and apparatus for implementing queue pair connection protection over infiniband |
US7643491B2 (en) * | 2005-12-16 | 2010-01-05 | Microsoft Corporation | Scheduling connections between peers in a peer-to-peer file sharing environment |
-
2018
- 2018-03-19 US US15/924,293 patent/US10757183B2/en active Active
-
2019
- 2019-03-15 CN CN201910199426.7A patent/CN110289937B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1116339A (zh) * | 1994-08-01 | 1996-02-07 | 英特尔公司 | 在计算机系统中进行总线事项处理的方法和设备 |
US7032153B1 (en) * | 2000-11-28 | 2006-04-18 | Nortel Networks Limited | Dynamic automatic retransmission request in wireless access networks |
CN1989721A (zh) * | 2004-06-16 | 2007-06-27 | 高通股份有限公司 | 用于无线通信中的链路控制的方法和设备 |
CN101312450A (zh) * | 2007-05-23 | 2008-11-26 | 恩益禧电子股份有限公司 | 响应控制方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
US20190289065A1 (en) | 2019-09-19 |
CN110289937A (zh) | 2019-09-27 |
US10757183B2 (en) | 2020-08-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3547580B1 (en) | Data sending method and apparatus, and data receiving method and apparatus | |
US20180095818A1 (en) | Dynamic and adaptive approach for failure detection of node in a cluster | |
CN111817977B (zh) | 一种网络拥塞控制方法和装置 | |
CN111683019B (zh) | 在通信设备中管理待发送的确认数据包 | |
JP2014524092A (ja) | 単一ソケットポイントツーマルチポイント性能による高信頼性仮想双方向データストリーム通信のためのシステムおよび方法 | |
CN111355667B (zh) | 数据传输方法、装置、系统及计算机可读存储介质 | |
CN116582492B (zh) | 优化rdma读取的拥塞控制方法、系统及存储介质 | |
CN116566921A (zh) | 远程直接内存访问读取的拥塞控制方法、系统及存储介质 | |
CN111211933B (zh) | 一种确定传输链路的质量的方法及装置 | |
US20160359950A1 (en) | Systems and methods for improved trivial file transfer protocol | |
US7000024B1 (en) | Systems and methods for providing transmission control protocol communications | |
KR20220053386A (ko) | 효율적인 파일 전송을 위한 데이터 통신 방법 및 장치 | |
CN110289937B (zh) | 延迟响应方未就绪否定应答 | |
CN111404842B (zh) | 数据传输方法、装置及计算机存储介质 | |
CN110120921B (zh) | 拥塞避免方法、装置、计算机设备及存储介质 | |
US9172654B2 (en) | Transfer device and transfer method | |
US9882751B2 (en) | Communication system, communication controller, communication control method, and medium | |
JP7039959B2 (ja) | 通信システム、中継装置、及びノード | |
CN108737293B (zh) | 处理请求的方法和装置 | |
WO2021136278A1 (zh) | 报文传输方法及电子设备 | |
CN109995724B (zh) | 一种通信方法、客户端及通信系统 | |
WO2024150299A1 (ja) | 通信パスの確立を事前に予測して実行する装置及び方法 | |
CN117579576A (zh) | 数据传输方法、装置、电子设备及计算机存储介质 | |
CN118555249A (zh) | 基于dpu网卡的报文传输方法、dpu网卡、网络设备以及计算机存储介质 | |
WO2019210509A1 (zh) | 确认报文发送方法及装置 |
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 |