CN104247322B - 促进计算环境中的通信的方法、系统和计算机可读介质 - Google Patents
促进计算环境中的通信的方法、系统和计算机可读介质 Download PDFInfo
- Publication number
- CN104247322B CN104247322B CN201380022251.3A CN201380022251A CN104247322B CN 104247322 B CN104247322 B CN 104247322B CN 201380022251 A CN201380022251 A CN 201380022251A CN 104247322 B CN104247322 B CN 104247322B
- Authority
- CN
- China
- Prior art keywords
- write
- designator
- threshold value
- instruction
- packet
- 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
- 238000004891 communication Methods 0.000 title claims abstract description 23
- 238000000034 method Methods 0.000 title claims description 31
- 238000012790 confirmation Methods 0.000 claims abstract description 31
- 230000005540 biological transmission Effects 0.000 claims description 39
- 238000004590 computer program Methods 0.000 claims description 13
- 230000009467 reduction Effects 0.000 claims description 4
- 230000001737 promoting effect Effects 0.000 claims description 3
- 238000005303 weighing Methods 0.000 claims 1
- 230000006870 function Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 10
- 238000003860 storage Methods 0.000 description 10
- 238000012545 processing Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 230000006399 behavior Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 235000013399 edible fruits Nutrition 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000005291 magnetic effect Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 238000010438 heat treatment Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 238000013518 transcription Methods 0.000 description 1
- 230000035897 transcription Effects 0.000 description 1
Classifications
-
- 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/08—Arrangements for detecting or preventing errors in the information received by repeating transmission, e.g. Verdan system
-
- 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/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1829—Arrangements specially adapted for the receiver end
- H04L1/1864—ARQ related signaling
-
- 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/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1825—Adaptation of specific ARQ protocol parameters according to transmission conditions
-
- 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/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1867—Arrangements specially adapted for the transmitter end
- H04L1/1896—ARQ related signaling
-
- 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
- H04L2001/0092—Error control systems characterised by the topology of the transmission link
- H04L2001/0094—Bus
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Communication Control (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
- Small-Scale Networks (AREA)
Abstract
提供可变回写指示符控制,以控制当分组错误发生时要重新传送的数据量。硬件控制器获得要调整数据帧的确认率或者设置回写指示符的量的指示。该指示基于经由通信总线的数据传输的错误率。基于获得要调整设置回写指示符的量的指示,调整一个或者多个回写指示符。
Description
技术领域
本发明的一方面总地涉及计算环境内的通信,尤其涉及管理确认数据的接收的比率。
背景技术
典型的传输协议需要分离分组中要由发送器发送的诸如数据的帧之类的信息。每个分组可以包括当设置时通知分组的接收器确认分组已经到达的称为回写位(write backbit)的位。接收器向发送器发送指示从先前确认已经全部无错误地到达开始分组是否发送的确认分组。向发送器传送该确认需要在不传递真实数据时要消耗的总线上的带宽。
可以通过仅在帧的最后一个分组中包括设置回写位以使得仅需要每帧一个确认来减少该确认带宽。这减少要发送的回写确认分组的数目,但当错误出现在帧的一个或者多个分组中时使得要重新传送整个帧。
发明内容
通过提供促进计算环境中的通信的计算机系统克服现有技术的缺点并且提供附加优点。该计算机系统包括存储器;与该存储器通信的处理器,其中该计算机系统配置为执行方法。该方法例如包括由硬件控制器获得要调整数据帧的设置回写指示符的量的指示,该指示基于经由计算环境的通信总线的数据传送的错误率;以及基于获得该指示,调整一个或者多个回写指示符。
在另一方面中,提供促进计算环境中的通信的计算机系统。该计算机系统包括存储器;与该存储器通信的处理器,其中,该计算机系统配置为执行方法。该方法例如包括由硬件控制器在所选时间基于经由计算环境的通信总线的数据传送的错误率,确定要确认由硬件控制器接收到的数据的比率要调整;并且由硬件控制器提供要调整速率的指示。
本文也描述并且要求保护涉及本发明的一个或者多个方面的方法和计算机程序产品。另外,本文也描述并且可以要求保护涉及本发明的一个或者 多个方面的服务。
通过本发明的一个或者多个方面的技术实现附加特征和优点。本发明的其他实施例和方面在本文被详细描述并且被视为要求保护的发明的一部分。
附图说明
本发明的一个或者多个方面在说明书的结论处的权利要求书中被特别指出并且作为示例被明确要求保护。从下面结合附图的详细描述,本发明的一个或者多个方面的先前和其他目的、特征和优点显而易见,在附图中:
图1描绘并入和使用本发明的一个或者多个方面的计算环境的一个实施例;
图2描绘根据本发明的一方面的图1的计算环境内包括的传送器控制器和接收器控制器之间的通信的一个示例;
图3描绘根据本发明的一方面的用以动态调整通信的确认率的逻辑的一个实施例;
图4描绘根据本发明的一方面的用以调整在动态调整确认率时使用的阈值的逻辑的一个实施例;
图5描绘示出根据本发明的一方面的成功的帧传送的概率的曲线图的一个示例;
图6描绘示出根据本发明的一方面的对于每帧的不同数目的确认而要传送的位的总数目的曲线图的一个示例;
图7描绘并入本发明的一个或者多个方面的计算机程序产品的一个实施例。
具体实施方式
根据本发明的一方面,提供可变回写指示符控制,以控制确认数据的接收的比率,并且因此控制当分组错误出现时要重新传送的数据量。可变回写指示符控制动态地确定多少回写指示符(例如,位)要设置在帧中,并且设置那些指示符。
以前,在很多环境中,帧中的每个分组包含设置回写位,需要来自接收器的每个分组无错误地到达的确认。由使得接收器确认每个分组传送需要的开销限制可用于从传送器向接收器传送的帧中的数据的吞吐量。同样,在其 他环境中,仅数据帧的最后一个分组包含回写位,且因此,如果在传送期间出现错误,则将重新传送整个帧。在推动硬件的数据传送限制的噪声环境或者总线中,根据错误的数据重新传送可以造成有效带宽明显下降。由此,为了减小当分组错误出现在帧中时要重新传送的数据量,根据本发明的一方面,使用控制要重新传送的数据量的可变回写指示符控制。例如,如果帧中的两个分组包括回写指示符,则仅重新传送帧的一半(包含错误的一半)。同样,如果帧中的三个分组包括回写指示符,则当错误出现时,仅重新传送帧的三分之一,等等。
参考图1描述并入并且使用本发明的一个或者多个方面的计算环境的一个实施例。在一个示例中,计算环境100包括耦合到存储器104并且经由至少一个桥接器(bridge)108耦合到一个或者多个输入/输出(I/O)设备106的一个或者多个处理器102。
在一个示例中,处理器102基于z/Architecture,并且是实现z/Architecture的诸如System z服务器之类的服务器的一部分。由国际商业机器公司(InternationalBusiness Machines Corporation)(纽约,阿芒克)供应z/Architecture和System z。z/Architecture的一个实施例描述于题为“z/Architecture Principles of Operation”的公开号(SA22-7832-08号,第九版,2010年8月)中。在一个示例中,该处理器执行也由国际商业机器公司供应的操作系统,诸如,z/OS。和是国际商业机器公司(美国,纽约,阿芒克)的注册商标。本文中使用的其他名称可为国际商业机器公司或其他公司的注册商标、商标或产品名称。
在其他示例中,处理器102基于除了z/Architecture之外的架构,诸如但不限于由国际商业机器公司提供的Power架构;由因特尔公司(Intel Coporation)提供的Intel架构等。
桥接器108例如包括或者耦合到用于传送/接收数据通信的至少一个硬件控制器110。同样,每个I/O设备106包括或者耦合到用于接收/传送数据的至少一个硬件控制器112。参考图2描述关于硬件控制器的另外的细节。
例如包括在桥接器108内或者耦合到桥接器108的一个硬件控制器110是在例如从处理器102向I/O设备106传送数据帧时使用的传送器控制器200(也称为传送器或者发送器)。传送器控制器200跨越通信总线204向是例如位于I/O设备中(或者耦合到该I/O设备)的硬件控制器112之一的接收 器控制器206(也称为接收器)传送传送器帧减少。传送器帧减少包括一个或者多个数据分组210,并且每个数据分组210(或者其子集)包括回写指示符。在该示例中,设置该帧的最后一个分组的回写指示符(例如为1)。由此,在该示例中,在由接收器接收到整个帧之后,仅发送一个确认分组,并且如果在分组之一中遇到错误,则重新传送整个帧。
在另一实施例中,一个或者多个数据分组不包括回写指示符。例如,如果不在数据分组中设置回写指示符,则数据分组根本不包括回写指示符。
接收器控制器206经由通信总线将传送器帧接收到接收器帧220中。接收器帧220包括一个或者多个数据分组222,并且每个数据分组(或者其子集)包括分组错误指示符224。在该示例中,当接收器控制器接收到所有帧的分组之后,经由通信总线将确认分组230发送回传送器控制器。因为在该示例中数据分组之一具有错误(错误指示符之一中的“E”),所以确认分组向传送器控制器指示错误,以使得传送器控制器重新发送整个帧。
如本文使用的,通信总线是用以传送数据的任何机制,包括但不限于总线、信道、链路等。
根据本发明的一方面,为减少当错误出现时重新传送的数据量并且为提供用于分组确认和数据传送的通信总线的使用之间的平衡,提供动态调整帧的设置回写指示符的数目的能力,如本文描述。
作为示例,由接收器控制器对于由接收器控制器接收到的帧发送到传送器控制器的确认分组的最优数目依赖于若干因素,例如包括由每个确认分组的传送引起的开销和通信总线的传送错误率(例如,位错误率)。在一个示例中,对于具有典型确认开销的系统,确认之间的最优传送大小是具有在给定噪声级的75%和85%的成功传送机会之间的传送。同样地,如果特定接收器控制器开始看见例如比4个中3个成功传送(成功传送是没有错误地被传送的确认之间的所有分组)更少,则将通知传送器控制器向该帧添加另一回写指示符(例如,设置另一回写指示符为1)。
在一个实施例中,传送器控制器选择要设置的回写指示符。例如,如果当前在帧的末尾仅设置一个指示符并且要设置第二指示符,则传送器控制器可以设置关于到帧的一半的另一回写指示符。另外,在另一示例中,传送器控制器可以重新组织帧中的回写指示符,以适当适应附加的回写指示符。例如,如果已经存在两个设置指示符并且正在设置第三回写指示符,则传送器 控制器可以关闭一个或者多个指示符并且设置其他,以使得存在关于每1/3数目的分组的设置指示符。
通过设置另一回写指示符,发送附加的确认分组,由此增加确认之间的成功传送的概率,这是因为确认之间每个传送现在包含更少的总位。接收器控制器将继续通知传送控制器,以继续向帧添加回写指示符,直到其检测到该帧的传送例如具有比四个传送中一个错误更少的为止。
然而,在另一实施例中,如果接收器控制器检测到存在比六个传送中一个错误更少,则向传送器控制器发送信号,以每帧移除一个回写指示符。传送器控制器复位回写指示符之一(例如,设置为0)。另外,在一个示例中,传送器控制器重新组织帧中的回写指示符,以适当地适应更少的回写指示符。例如,如果帧现在具有两个回写指示符而不是三个,则将代替三个,到帧的一半并且在帧的末尾设置指示符。因为该帧包括少一个的回写指示符,所以发送少一个的确认分组,由此降低确认之间的成功传送的概率,这是因为每个传送现在包含更多的位。该降低的成功率伴随更少的确认分组被发送和因此的更少的总位被发送以及更高的总线性能的益处。回写指示符的数目在一个示例中继续降低,直至接收器控制器例如检测到平均六个中一个传送错误为止。
四个中一个的示例下边界阈值和六个中一个的示例上边界阈值是示例阈值。可以使用其他示例,并且另外,一个或者多个阈值可编程并且可调谐以最大化整个系统性能。例如,具有很小确认分组开销的系统的分析可以发现最优下边界阈值是十分之九,因此将趋于比具有总线上的相同传送错误率(也称为错误率)和相同帧大小但更大确认分组开销的系统,保持更多的回写指示符(因此具有更多确认)。同样,用以减少设置回写指示符的数目的上边界阈值也将更大。同样,这些阈值中的一个或者两个可调整并且在系统操作期间被动态变化,以调谐系统从而根据改变系统条件最大化总线性能。
参考图3到图4描述关于可变回写控制的另外的细节。具体地,图3描绘用以动态(例如,基于当前系统条件在实时期间)调整设置在帧中的回写指示符数目的逻辑的一个实施例;并且图4描绘用以动态调谐在动态调整中使用的一个或者多个阈值的逻辑的一个实施例。
参考图3,在一个实施例中,接收器控制器确定传送的错误率,诸如时间段(例如,传送的预定义数目(N))中的错误数目,步骤300。在一个示 例中,转换错误的数目为失败和/或成功的百分比,以促进分析。例如,如果5个分组中1个错误,则失败率是20%并且成功率是80%。可以与一个或者多个阈值比较地使用这些百分比值,以确定是否要进行调整。
在另一实施例中,错误率可以是所选数目的时间段内的错误数目的平均。如本文使用的,错误率指的是错误率的任何表示,包括但不限于N个传送中的错误的数目、失败率、成功率等。
接着,由接收器控制器进行在该时间段中的成功百分比是否小于第一阈值(例如,下边界成功阈值)的确定,询问302。例如,进行关于例如是否小于75%成功传送(其中75%是第一阈值)的确定。(在其他示例中,可以使用其他阈值。)如果成功率小于(在另一实施例中,小于或等于)第一阈值,则接收器控制器发信号通知传送器控制器增加回写指示符的数目,步骤304。也就是,传送器控制器设置至少一个附加回写指示符,以增加发送回确认的频率。要设置的(多个)指示符由传送器控制器确定,并且例如依赖于设置的指示符的总数目和确认之间的优选间隔。
在另一实施例中,下边界阈值可以基于失败而不是成功。例如,例如20%的失败率与例如25%的下边界阈值比较。如果失败率大于(或者在另一实施例中,大于或者等于)下边界,则增加回写指示符的数目。
然后处理以询问302继续,其中,进行关于错误率是否仍小于第一(成功)阈值(或者大于失败阈值)的确定。如果否,则处理以询问310继续,其中,进行关于错误率(例如,在该特定示例中,20%)是否小于(或者在另一实施例中,小于或者等于)第二(失败)阈值(例如,上边界阈值)的确定。例如,如果比六个传送中一个错误(失败阈值16%)更少,则接收器控制器发信号通知传送器控制器降低回写指示符的数目,步骤312。也就是,传送器控制器复位至少一个回写指示符。要复位的一个或多个指示符由传送器控制器确定,并且例如依赖于要设置的指示符的总数目和确认之间的优选间隔。然后处理以询问310继续。然而,如果错误率不小于第二阈值,则处理结束。
在另一实施例中,上边界阈值可以基于成功而不是失败。在该情况下,成功率(例如,在该特定示例中,80%)与上边界阈值(例如,在该示例中,84%)比较。如果成功率大于(或者,在一个示例中,大于或者等于)上边界阈值,则降低回写指示符的数目。
在一个实施例中,帧的回写指示符的数目的调整可能导致该帧中的一个或者多个指示符的调整,以适当隔开设置指示符并且因此适当隔开确认。例如,假设帧中存在12个分组并且设置3个指示符:在分组4一个,在分组8一个以及在分组12一个。另外,假设要设置附加指示符,以使得对于12个分组将存在4个指示符。在该示例中,为了适当隔开指示符(例如,均匀间隔),在分组3、分组6、分组9和分组12设置指示符。由此,复位之前在分组4和分组8设置的指示符。
类似地,如果调整是要将设置的指示符的数目减少一个,以使得对于12个分组存在2个设置指示符,则在一个示例中,在分组6和分组12设置指示符,并且由此,复位之前在分组4和分组8设置的指示符。虽然在这些示例中间隔是均匀间隔,但是可以使用其他期望的间隔。
上面的图3的逻辑可以以预定义间距处理,并且使得确认的数目能够基于当前系统条件被动态调整。
在另一实施例中,可以基于系统条件动态调整一个或者多个阈值。例如,接收器控制器考虑各种系统标准,例如包括系统性能、错误率等,步骤400。基于该标准,进行关于是否要调整第一阈值的确定,询问402。也就是,进行基于系统标准,下边界阈值例如是否应该高于75%或者低于75%的确定。例如,如果用于发送关于传送分组的确认的总开销要降低(例如,更大的传送分组要发送),则可以增加阈值,以导致每分组的更多确认,这是因为确认的相对成本要降低。同样地,如果确认分组的开销成本增加(例如,传送分组大小降低),则可以减少阈值,以减少在给定失败率的确认分组的数目,这是因为确认分组的相对成本要增加。这允许系统被对于最优系统性能动态重新配置。其他因素(例如,帧延迟和总线利用)可以用作在给定时刻确定系统的最优阈值中的因素。
如果要调整第一阈值,则由接收器控制器基于该确定动态地调整(即,在处理该系统同时),步骤404。此后,或者如果确定不调整第一阈值,则进行关于是否要调整第二阈值(例如,上边界)的确定,询问410。此外,基于当前系统标准进行该确定。如果要调整第二阈值,则调整该第二阈值,步骤412。此后,或者如果确定不调整第二阈值,则完成该逻辑的处理。
如上描述,基于考虑中的总线上的错误率,确定帧传送期间设置的回写指示符的数目。该设置由硬件控制器动态控制,该硬件控制器组织硬件队列 中的分组用于传送。如果例如由于局部加热效应、系统噪声或者可以导致分组错误的其他因素,错误率增加,则在一个示例中,增加每帧的回写指示符的数目。
在一个实施例中,向接收器发送多个分组,并且每个分组包括用于指示是否需要确认的指示符(例如,位)。当接收器看到指示符被启用(例如,设置为1),则接收器发送在使得指示符启用的之前的分组之后接收到的所有分组的确认和当前分组。
图5描绘示出具有100,000位和位错误率0.000005(5x10∧-6)的帧的成功传送的概率的曲线图的示例。如图所示,Y轴包括帧被成功发送的概率,并且X轴包括每帧的确认数目。
另外,图6描绘根据图5的情况对于不同数目的确认传送的总位的一个示例。该曲线图示出在给定存在每个确认10,000位开销的情况下,使用每帧三个确认发现发送的最小数目的位。这一点平衡重新传送发生错误的大数据块的需要与传送增加数目的确认分组的需要。
在另一实施例中,为了进一步减少当错误发生时的总线争用,可以使用其中从接收器向传送器发送的确认可以包含一个或者多个错误指示符,并且每个错误指示符包括分组ID的选项。这些分组ID包括从传送器向接收器发送的帧的分组编号,以使得仅错误的一个分组或者多个分组需要重新传送。帧错误指示符用以指示比确认分组中的可用错误位置(slot)出现更多分组错误,或者从最后一个确认要被完全发送开始分组被完全丢弃并且帧段被发送。
所属技术领域的技术人员知道,本发明可以实现为系统、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:可以是完全的硬件、也可以是完全的软件(包括固件、驻留软件、微代码等),还可以是硬件和软件结合的形式,本文一般称为“电路”、“模块”或“系统”。此外,在一些实施例中,本发明还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。
可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非 穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
现在参考图1,在一个例子中,计算机程序产品700包括,例如,一个或多个非瞬时性计算机可读存储介质702,在其上存储有计算机可读的程序代码装置或逻辑704,以提供并促进本发明的一个或多个方面。
体现在计算机可读介质上的程序代码可以用任何适当的介质传输,所述介质包括但不限于:无线、有线、光缆、RF等,或上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
本文中将参照本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,这些计算机程序指令通过计算机或其它可编程数据处理装置执行,产生了实现流程图和/或框图中的方框中规定的功能/操作的装置。
也可以把这些计算机程序指令存储在能使得计算机或其它可编程数据处理装置以特定方式工作的计算机可读介质中,这样,存储在计算机可读介质中的指令就产生出一个包括实现流程图和/或框图中的方框中规定的功能/操作的指令的制造品(manufacture)。
也可以把计算机程序指令加载到计算机、其他可编程数据处理装置、或其他设备上,使得在计算机、其他可编程数据处理装置或其他设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机或其他可编程装置上执行的指令能够提供实现流程图和/或框图中的方框中规定的功能/操作的过程。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
除了上述,本发明的一个或多个方面可由服务提供商提供、许诺(offer)、部署、管理、服务等,该服务提供商提供用户环境的管理。例如,服务提供商可创建、维持、支持等计算机代码和/或计算机基础设施,其为一个或多个用户执行本发明的一个或多个方面。反过来,服务提供商可例如根据预订和/或费用协议从用户接受付费。额外地或可替换地,服务提供商可从向一个或多个第三方销售广告内容接受付费。
在本发明的一个方面,可部署用于执行本发明的一个或多个方面的应用。作为一个例子,部署应用包括提供计算机基础设施,其可操作以执行本发明的一个或多个方面。
作为本发明的又一个方面,可部署计算基础设施,其包括将计算机可读代码集成到计算机系统,其中与计算系统结合的代码能够执行本发明的一个或多个方面。
作为本发明的再一个方面,可提供用于集成计算基础设施包括将计算机可读码集成到计算机系统的过程。计算机系统包括计算机可读介质,其中计算机介质包括本发明的一个或多个方面。与计算机系统结合的代码能够执行本发明的一个或多个方面。
虽然上面描述各种实施例,但是这些仅仅是示例。例如,其他架构的计算环境和/或其他类型的计算环境可以并入并且使用本发明的一个或者多个方面。另外,可以使用其他阈值,并且用以确定阈值的标准可以与本文描述的不同。此外,阈值可以与百分比不同。也可以进行很多其他改变。
而且,其他类型的计算环境可受益于本发明的一个或多个方面。作为例子,环境可包括仿真器(例如,软件或其他仿真机制),其中特定架构(包括例如指令执行、诸如地址转换的架构功能、以及架构寄存器)或其子集被仿真(例如,在具有处理器和存储器的本机计算机系统中)。在这样的环境中,仿真器的一个或多个仿真功能可实施本发明的一个或多个方面,即使执行仿真器的计算机可具有与正被仿真的能力不同的架构。作为一个例子,在仿真模式中,解码正被仿真的特定指令或操作,且建立合适的仿真功能以实施单个指令或操作。
在仿真环境中,主计算机包括例如存储器以存储指令和数据;指令获取单元以从存储器获取指令,且可选地,提供用于获取的指令的本地缓冲;指令解码单元以接收获取的指令并确定已被获取的指令的类型;以及指令执行单元以执行该指令。执行可包括将数据从存储器加载到寄存器;从寄存器将数据存储回存储器;或执行如由解码单元确定的某些类型的算术或逻辑运算。在一个例子中,每个单元以软件实现。例如,被所述单元执行的操作被实现为仿真器软件中的一个或多个子例程。
在另一示例中,可以使用适合存储和/或执行程序代码的数据处理系统,该数据处理系统包括直接或者通过系统总线间接耦合到存储器元件的至少一个处理器。存储器元件例如包括程序代码的实际执行期间使用的本地存储器、体存贮器和提供至少某一程序代码的临时存储以减少在执行期间必须从体存贮器取得代码的次数的高速缓冲存储器。
输入/输出或者I/O设备(包括但不限于键盘、显示器、指示设备、DASD、磁带、CD、DVD、指状驱动器和其他存储器介质等)可以要么直接要么通过介入的I/O控制器耦合到系统。网络适配器也可以耦合到系统,以使得数据处理系统可以变得通过介入私有或者公共网络耦合到其他数据处理系统或者远程打印机或者存储设备。调制解调器、有线调制解调器和以太网卡仅是几个可用类型的网络适配器。
在此使用的术语仅是为了描述特定实施例,且不旨在限制本发明。如在 此使用的,单数形式“一”、“一个”和“该”也旨在包括复数形式,除非上下文另外清楚地指明。还将理解,当在说明书中使用时,术语“包括”和/或“包含”指明存在所述的特征、整体、步骤、操作、元件和/或组件,但不排除存在或附加一个或多个其他特征、整体、步骤、操作、元件和/或组件。
所附权利要求书中的所有装置或步骤加功能元件的相应结构、材料、操作以及等价物,如有的话,旨在包括用于结合如特别要求保护的其他所要求保护的元件来执行所述功能的任何结构、材料或操作。呈现本发明的说明是为了示出和描述的作用,但不是穷尽性的或将本发明限制于所公开的形式。许多修改和变化对本领域普通技术人员来说是明显的,且不脱离本发明的范围和精神。选择和描述实施例是为了最佳地解释本发明一个或多个方面的原理和实际应用,并使得本领域普通技术人员能针对适于考虑的特定用途的具有各种修改的各种实施例理解本发明的一个或多个方面。
Claims (13)
1.一种促进计算环境中的通信的方法,所述方法包括:
由硬件控制器获得要调整数据帧的设置回写指示符的量的指示,该指示基于经由计算环境的通信总线的数据传送的错误率,其中,数据帧包括与数据帧的多个数据分组对应的多个回写指示符,并且其中,指示发信号通知要设置的多个回写指示符的回写指示符数目的增加或者降低,其中,设置回写指示符指示要发送与数据帧有关的确认;以及
基于获得该指示,调整多个回写指示符的一个或者多个回写指示符。
2.如权利要求1所述的方法,其中,所述调整包括选择要设置的多个回写指示符的至少一个回写指示符,并且设置所选的至少一个回写指示符。
3.如权利要求2所述的方法,其中,调整多于一个回写指示符,并且其中,调整还包括复位一个或者多个回写指示符的至少一个回写指示符。
4.如权利要求1所述的方法,其中,所述调整包括复位一个或者多个回写指示符的至少一个回写指示符。
5.如权利要求1所述的方法,其中,所述硬件控制器包括传送器硬件控制器,并且其中,所述获得包括基于接收器硬件控制器比较错误率与至少一个阈值以确定要调整设置回写指示符的量,从接收器硬件控制器接收指示,并且其中,所述方法还包括基于一个或者多个当前系统标准调整至少一个阈值的一个或者多个阈值。
6.如权利要求2所述的方法,其中,设置回写指示符指示要发送确认分组以指示从发送最后一个确认分组开始是否在分组中发生错误。
7.如权利要求5所述的方法,其中,所述至少一个阈值包括下边界阈值,并且基于错误率在相对于下边界阈值的预定义级别而获得指示。
8.如权利要求7所述的方法,其中,所述预定义级别低于下边界阈值,并且所述下边界阈值表示成功。
9.如权利要求5所述的方法,其中,所述至少一个阈值包括上边界阈值,并且基于错误率在相对于上边界阈值的预定义级别而获得指示。
10.如权利要求9所述的方法,其中,所述预定义级别低于上边界阈值,并且所述上边界阈值表示失败。
11.如权利要求1所述的方法,其中,设置的回写指示符的数目是为减少当错误发生时重新传送的数据的量并且是为提供用于分组确认和数据传送的通信总线的使用之间的平衡。
12.一种用于促进计算环境中的通信的系统,所述系统包括:
用于获得要调整数据帧的设置回写指示符的量的指示的模块,该指示基于经由计算环境的通信总线的数据传送的错误率,其中,数据帧包括与数据帧的多个数据分组对应的多个回写指示符,并且其中,指示发信号通知要设置的多个回写指示符的回写指示符数目的增加或者降低,其中,设置回写指示符指示要发送与数据帧有关的确认;以及
用于基于获得该指示,调整多个回写指示符的一个或者多个回写指示符的模块。
13.一种计算机可读介质,所述计算机可读介质包括计算机程序,当在计算机系统上执行所述计算机程序时,实施根据任何前述方法权利要求1-11的任一项的方法的所有步骤。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/458,522 US8904246B2 (en) | 2012-04-27 | 2012-04-27 | Variable acknowledge rate to reduce bus contention in presence of communication errors |
US13/458,522 | 2012-04-27 | ||
PCT/IB2013/053064 WO2013160805A1 (en) | 2012-04-27 | 2013-04-18 | Variable acknowledge rate to reduce bus contention in presence of communication errors |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104247322A CN104247322A (zh) | 2014-12-24 |
CN104247322B true CN104247322B (zh) | 2018-02-02 |
Family
ID=49478463
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380022251.3A Active CN104247322B (zh) | 2012-04-27 | 2013-04-18 | 促进计算环境中的通信的方法、系统和计算机可读介质 |
Country Status (5)
Country | Link |
---|---|
US (2) | US8904246B2 (zh) |
CN (1) | CN104247322B (zh) |
DE (1) | DE112013000812T5 (zh) |
GB (1) | GB2515982B (zh) |
WO (1) | WO2013160805A1 (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9495242B2 (en) * | 2014-07-30 | 2016-11-15 | International Business Machines Corporation | Adaptive error correction in a memory system |
US9892065B2 (en) * | 2015-05-20 | 2018-02-13 | International Business Machines Corporation | Adjustments of buffer credits for optimizing the number of retry operations and transfer ready operations |
US10061734B2 (en) | 2015-05-20 | 2018-08-28 | International Business Machines Corporation | Adjustment of buffer credits and other parameters in a startup phase of communications between a plurality of channels and a control unit |
US9864716B2 (en) * | 2015-05-20 | 2018-01-09 | International Business Machines Corporation | Receiving buffer credits by a plurality of channels of one or more host computational devices for transmitting data to a control unit |
US10530523B2 (en) | 2017-11-20 | 2020-01-07 | International Business Machines Corporation | Dynamically adjustable cyclic redundancy code rates |
US10541782B2 (en) | 2017-11-20 | 2020-01-21 | International Business Machines Corporation | Use of a cyclic redundancy code multiple-input shift register to provide early warning and fail detection |
US10530396B2 (en) | 2017-11-20 | 2020-01-07 | International Business Machines Corporation | Dynamically adjustable cyclic redundancy code types |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1992579A (zh) * | 2005-12-09 | 2007-07-04 | 三星电子株式会社 | 在高速共享控制信道上进行发送/接收的设备和方法 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW234228B (zh) * | 1992-05-28 | 1994-11-11 | Motorola Inc | |
US5669014A (en) * | 1994-08-29 | 1997-09-16 | Intel Corporation | System and method having processor with selectable burst or no-burst write back mode depending upon signal indicating the system is configured to accept bit width larger than the bus width |
US5918174A (en) * | 1996-03-29 | 1999-06-29 | Ericsson, Inc. | Circuitry and method for initiating communication between communication stations of a radio communication system |
US5933763A (en) * | 1996-12-11 | 1999-08-03 | Ericsson Inc | Circuitry and method for improved signal reception acknowledgment in a radio communication system |
US6154489A (en) * | 1998-03-30 | 2000-11-28 | Motorola, Inc. | Adaptive-rate coded digital image transmission |
EP1025666A1 (en) * | 1998-08-26 | 2000-08-09 | Nokia Corporation | Bidirectional arq apparatus and method |
US6745360B1 (en) * | 2000-04-13 | 2004-06-01 | Microsoft Corporation | Method and system for controlling the rate of acknowledgment of communication packets |
US6894974B1 (en) * | 2000-05-08 | 2005-05-17 | Nortel Networks Limited | Method, apparatus, media, and signals for controlling packet transmission rate from a packet source |
US7017032B2 (en) * | 2001-06-11 | 2006-03-21 | Broadcom Corporation | Setting execution conditions |
US7385976B2 (en) | 2004-08-12 | 2008-06-10 | Mitsubishi Electric Research Laboratories, Inc. | Method for acknowledging data packets in a network |
KR100750166B1 (ko) * | 2005-11-15 | 2007-08-21 | 삼성전자주식회사 | 무선 네트워크 환경에서 효율적인 데이터 재전송 장치 및방법 |
US7706397B2 (en) * | 2006-03-31 | 2010-04-27 | Intel Corporation | Apparatus and method of controlling transmission in reverse direction |
CN101383683B (zh) | 2008-09-22 | 2014-04-09 | 中兴通讯股份有限公司 | 反馈信息的发送方法和装置 |
CN101958775B (zh) | 2010-09-30 | 2015-05-20 | 中兴通讯股份有限公司 | 确认信息的发送方法及用户设备 |
-
2012
- 2012-04-27 US US13/458,522 patent/US8904246B2/en active Active
-
2013
- 2013-03-04 US US13/784,275 patent/US9130740B2/en active Active
- 2013-04-18 DE DE201311000812 patent/DE112013000812T5/de active Pending
- 2013-04-18 CN CN201380022251.3A patent/CN104247322B/zh active Active
- 2013-04-18 GB GB1420248.5A patent/GB2515982B/en active Active
- 2013-04-18 WO PCT/IB2013/053064 patent/WO2013160805A1/en active Application Filing
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1992579A (zh) * | 2005-12-09 | 2007-07-04 | 三星电子株式会社 | 在高速共享控制信道上进行发送/接收的设备和方法 |
Also Published As
Publication number | Publication date |
---|---|
DE112013000812T5 (de) | 2014-12-04 |
US8904246B2 (en) | 2014-12-02 |
GB201420248D0 (en) | 2014-12-31 |
WO2013160805A4 (en) | 2014-01-09 |
WO2013160805A1 (en) | 2013-10-31 |
CN104247322A (zh) | 2014-12-24 |
US9130740B2 (en) | 2015-09-08 |
US20130290803A1 (en) | 2013-10-31 |
US20130290802A1 (en) | 2013-10-31 |
GB2515982B (en) | 2020-04-01 |
GB2515982A (en) | 2015-01-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104247322B (zh) | 促进计算环境中的通信的方法、系统和计算机可读介质 | |
US9888048B1 (en) | Supporting millions of parallel light weight data streams in a distributed system | |
CN104252320B (zh) | 在网络附接存储中提供协议服务的方法、系统及设备 | |
CN110233881A (zh) | 业务请求处理方法、装置、设备及存储介质 | |
CN109062512A (zh) | 一种分布式存储集群、数据读写方法、系统及相关装置 | |
CN106416179A (zh) | 实现扩展传输控制功能的传输加速器 | |
CN104079614A (zh) | 用于分布式发布订阅系统消息有序获取的方法和系统 | |
JP6189898B2 (ja) | アクティブメッセージによるrmaapiのサポート | |
CN104811392A (zh) | 用于处理网络中的资源访问请求的方法和系统 | |
US10585699B2 (en) | Methods and apparatus for verifying completion of groups of data transactions between processors | |
CN103684684B (zh) | 用于处理端到端网络连接的无线段上的分组的方法和系统 | |
CN107102908A (zh) | 数据校验方法、数据容错方法及装置 | |
CN107071358A (zh) | 视频拼接服务器和移动状态下的全景直播系统 | |
CN110149374A (zh) | 一种文件传输方法、终端设备及计算机可读存储介质 | |
CN105229975A (zh) | 基于应用提供的传输元数据的网络传输调整 | |
CN108259595A (zh) | 一种服务间异步调用的方法及系统 | |
CN1753351B (zh) | 用于在可靠连接的传输系统中跟踪分组的装置及方法 | |
JP5709320B2 (ja) | 失われたデータブロックを再送するための方法、コンピューティングデバイス及びプログラム | |
CN103731424B (zh) | 一种网络数据的传输方法、装置及系统 | |
US8412844B2 (en) | Validating download success | |
US11106514B2 (en) | Message stream processor microbatching | |
US20070055712A1 (en) | Asynchronous replication of data | |
US9292225B2 (en) | Methods for frame order control and devices in storage area network | |
CN104202435A (zh) | 数据拖取的方法和装置 | |
WO2017063589A1 (zh) | 数据传输的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |