CN101656595B - 传输系统、设备和方法 - Google Patents

传输系统、设备和方法 Download PDF

Info

Publication number
CN101656595B
CN101656595B CN200910142497XA CN200910142497A CN101656595B CN 101656595 B CN101656595 B CN 101656595B CN 200910142497X A CN200910142497X A CN 200910142497XA CN 200910142497 A CN200910142497 A CN 200910142497A CN 101656595 B CN101656595 B CN 101656595B
Authority
CN
China
Prior art keywords
request
response
equipment
packet
transmission
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
CN200910142497XA
Other languages
English (en)
Other versions
CN101656595A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of CN101656595A publication Critical patent/CN101656595A/zh
Application granted granted Critical
Publication of CN101656595B publication Critical patent/CN101656595B/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
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements 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/18Automatic repetition systems, e.g. Van Duuren systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements 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/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1867Arrangements specially adapted for the transmitter end
    • H04L1/189Transmission or retransmission of more than one copy of a message
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements 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/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1829Arrangements specially adapted for the receiver end
    • H04L1/1848Time-out mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements 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/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1829Arrangements specially adapted for the receiver end
    • H04L1/1858Transmission or retransmission of more than one copy of acknowledgement message
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements 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/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1867Arrangements specially adapted for the transmitter end
    • H04L1/188Time-out mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/04Error control

Abstract

公开了传输系统、传输设备和传输方法。一种系统,包括经由传输路径连接的第一设备和第二设备。第一设备包括发送单元和接收单元,该发送单元发送作为至少一个分组的请求,并在该请求与响应之间的时段不小于预定时段的情况下重传该至少一个请求分组,该接收单元接收作为至少一个响应分组的响应,并丢弃所接收的至少一个响应分组中的任何错误分组和任何冗余分组。第二设备包括:接收单元,该接收单元接收至少一个请求分组,并丢弃接收的至少一个请求分组中任何错误分组;以及发送单元,该发送单元确定响应类型,针对任何特定类型的响应而选择性地使至少一个响应分组冗余,并发送冗余响应分组。

Description

传输系统、设备和方法
技术领域
此处讨论的实施例涉及传输系统,还涉及用于在该传输系统中使用的传输设备和传输方法,在该传输系统中经由传输路径连接设备,并且经由传输路径发送和接收用于处理的请求和对该请求的响应。
背景技术
近年来,对于信息处理设备而言,诸如中央处理单元(CPU)和输入/输出(I/O)处理器之类的各种设备通过与传统的并行传输相比在速度上更高的串行传输而相互耦合。
这是因为,随着对于各种设备中的高的数据传送性能的日益增加的需求,对于传统的并行传输而言,已变得难以确保足够的总线带宽和传送速率。
高速串行传输一方面满足了对于高的数据传送性能的需求,但另一方面就其数据传输而言缺乏可靠性。因此,高速串行传输需要针对任何传输差错的发生的数据重传系统。
传统的高速串行传输中的传输差错是通过使用每分组ACK来挽救的。具体地,发送端针对每个分组指定序号和循环冗余校验(CRC),将发送的分组记录在重传缓冲器中,并保存记录的分组,直到从接收端返回ACK。
接收端检查接收的分组的CRC。如果分组已被正常接收,则接收端返回指定序号的ACK。然而,如果检测到传输差错,则分组被丢弃,且接收端返回指定最近正常接收的分组的序号的NACK。
此外,如果发送端接收ACK响应,则发送端释放针对指定的序号和指定的序号之前的任何序号的重传缓冲器。如果发送端接收NACK响应,则发送端发送来自重传缓冲器的、指定的序号的分组和在指定的序号之后的序号的任何分组。
此外,已知逐个分组传输控制的变形的例子,例如当通过串行总线执行分组传输时选择包括使用ACK分组的握手传送的通信和不发送ACK分组的通信中的任一个的通信方法(例如参见日本公开专利公报2005-210389),以及在分组传输中仅针对来自接收端的丢失分组进行重传请求以提高数据传输效率的技术(例如参见日本公开专利公报2000-341252)。
一般地,与通过并行传输的分组传送相比,由于串行/并行转换和其它系统,在通过串行传输的分组传送中延迟增加。因此,在传统的逐个分组的差错挽救技术中,需要能够保存从分组发送时间到ACK响应接收时间的所有发送的分组的巨大的重传缓冲器。而且,还需要用于使用ACK/NACK响应来确认交付的流程控制。
因此,传统的串行传输具有必须针对用于差错挽救的数据重传系统在电路和流程控制上花费巨大成本的问题。而且,即使是在传统的并行传输中,当传输速度被认为比传输可靠性更重要且因此恢复系统对于任何传输差错的发生而言是必需的时,需要用于提供这种恢复系统的费用。
本发明已被实现用于解决传统技术中的上述问题,并且本发明的目的是提供传输系统、设备和方法,通过该传输系统、设备和方法可以减小用于传输的电路规模,并且可以通过简单的控制来挽救差错。
发明内容
根据本发明的一方面,一种传输系统,包括第一设备和第二设备。第一设备包括:请求发送单元,该请求发送单元发送作为至少一个分组的请求,并在该请求与响应之间的时段不小于预定时段的情况下重传该至少一个请求分组;以及响应接收单元,该响应接收单元接收作为至少一个响应分组的响应,并丢弃所接收的至少一个响应分组中的任何错误分组和冗余分组。第二设备经由传输路径与第一设备相连接,通过该传输路径来发送和接收从第一设备至第二设备的请求和从第二设备至第一设备的响应。第二设备还包括:请求接收单元,该请求接收单元接收至少一个请求分组,并丢弃所接收的至少一个请求分组中的任何错误分组;以及响应发送单元,该响应发送单元确定响应的类型,针对任何特定类型的响应而选择性地使至少一个响应分组冗余,并发送该冗余响应分组。
借助于权利要求中特别指出的要素和组合,将实现和获得本发明的目的和优点。
应当理解,上述的一般性描述和下面的详细描述均为示例性的和说明性的,而不是对所要求保护的本发明的限定。
附图说明
图1是根据实施例的计算机系统的示意性框图;
图2是在I/O处理器和算术单元之间传输的分组的类型以及在传输差错时的挽救处理的表;
图3是根据图2中列出的第一操作类型的挽救操作的说明图;
图4是根据图2中列出的第二操作类型的挽救操作的说明图;
图5是根据图2中列出的第三操作类型的挽救操作的说明图;
图6是通过I/O处理器的保证顺序的操作的说明图;
图7是通过I/O处理器和算术单元的保证顺序的操作的说明图;
图8是请求发送单元的处理操作的流程图;
图9是响应接收单元的处理操作的流程图;
图10是请求接收单元的处理操作的流程图;以及
图11是响应发送单元的处理操作的流程图。
具体实施方式
以下将参照附图来详细描述根据本发明的传输系统、传输设备和传输方法的实施例。
在本实施例中,通过使用以下三个操作来实现高速串行传输中的低成本数据重传系统:
1.在没有任何分组交付确认的情况下,通过在请求处理的请求端处的时间监测来重传来自请求队列的请求分组;
2.通过再次执行请求处理来挽救响应分组的传输差错;以及
3.对于对应于如下请求的响应分组,使分组传送冗余:对该请求不能再运行或再次执行请求处理。
图1是根据本实施例的计算机系统1的示意性框图。图1所示的计算机系统1是串行传输系统,其中输入/输出(I/O)处理器10和算术单元20(中央处理单元)经由串行传输路径而相互连接。
I/O处理器10连接到在计算机系统1外部的未示出的I/O装置。在接收到来自I/O装置的输入时,I/O处理器10将请求发送到算术单元20,在接收到来自算术单元20的响应时,I/O处理器10产生至I/O装置的输出。
I/O处理器10在其中包括请求处理单元11、请求发送单元12、响应接收单元13、计时器14和I/O装置控制单元15。I/O装置控制单元15是与未示出的I/O装置相连接的接口。请求处理单元11基于来自I/O装置的输入而执行请求算术单元20执行预定处理的处理。
请求发送单元12执行将请求处理单元11产生的请求作为请求分组或多个请求分组而经由串行传输路径发送到算术单元20的处理。响应接收单元13执行经由串行传输路径而接收来自算术单元20的请求作为响应分组或多个响应分组的处理。
计时器14是测量从请求发送单元12发送请求与在响应接收单元13处接收响应之间的时段的时间记录单元。如果测量的针对该响应时段不小于预定时段,则请求发送单元12重传请求分组。
响应接收单元13在其中包括错误分组丢弃单元13a和冗余分组丢弃单元13b。在接收到来自算术单元20的错误分组时,即,在所接收的来自算术单元20的响应分组中出现差错时,错误分组丢弃单元13a执行丢弃错误分组的处理。类似地,在接收到冗余分组时,即,在所接收的来自算术单元20的响应分组与已接收的响应分组相同时,冗余分组丢弃单元13b执行丢弃冗余分组的处理。
算术单元20是处理从I/O处理器10接收的请求并对I/O处理器10进行响应的设备。算术单元20连接到第一存储器31和第二存储器32,并且能够写入存储器(即,所谓的存储)和从存储器读取(即,所谓的提取)。
算术单元20在其中包括响应处理单元21、请求接收单元22、响应发送单元23和存储器访问控制单元24。请求接收单元22执行经由串行传输路径而从I/O处理器10接收请求作为请求分组或多个请求分组的处理。请求接收单元22在其中包括错误分组丢弃单元22a。当接收到来自I/O处理器10的错误分组时,即,当所接收的来自I/O处理器10的请求分组中出现差错时,错误分组丢弃单元22a执行丢弃错误分组的处理。
响应处理单元21执行对请求接收单元22接收的请求进行处理并生成响应的处理。当请求接收单元22接收的请求是提取请求或存储请求时,响应处理单元21经由存储器访问控制单元24将数据写入第一存储器31和/或第二存储器32以及从第一存储器31和/或第二存储器32读取数据。
响应发送单元23执行经由串行传输路径将响应处理单元21生成的响应作为响应分组或多个响应分组而发送到I/O处理器10的处理。响应发送单元23在其中包括响应类型确定单元23a和响应冗余处理单元23b。
响应类型确定单元23a确定响应处理单元21生成的响应的类型。响应冗余处理单元23b执行基于响应类型确定单元23a的确定结果、针对特定类型的响应而选择性地使响应分组冗余的处理。
特定类型的响应是对如下请求的响应:该请求影响另一请求的处理结果并因此不能被简单地再运行或再次执行。这种请求的例子包括对算术单元20的中断请求和存储请求。换言之,这些请求需要保证请求处理的顺序。因此,对于作为对存储请求的响应的存储响应和作为对至算术单元20的中断请求的响应的中断响应,使响应分组冗余以使其作为具有相同内容的多个分组而被发送。
另一方面,对于用于从存储器读取数据的提取请求,执行该请求的结果对于另一请求无影响。因此,不需要使响应分组冗余。
如同已描述的,在计算机系统1中,在其中算术单元20执行来自I/O处理器10的请求以进行处理的请求处理中,位于请求处理的请求端处的I/O处理器10监测请求分组的发送与在请求处理完成时响应分组的接收之间的时间,如果检测到超时则向算术单元20重传请求分组。请求分组的重传是根据请求队列(即,每个请求)来执行的。因此,I/O处理器10不包括用于重传分组的缓冲器。当接收到来自算术单元20的响应分组时,I/O处理器10根本不对算术单元20进行用于交付确认的ACK/NACK响应。当在响应分组中检测到传输差错时,仅将响应分组丢弃,在预定时段之后检测到超时,然后请求分组被重传到算术单元20。在该重传之后,在位于请求接收端处的算术单元20中再次执行请求处理。对于已被进行冗余的响应分组,使用首先正常接收的分组,并且随后的相同的分组或多个分组被作为冗余分组或冗余的多个分组而丢弃。
在接收请求分组时,位于请求处理的接收端处的算术单元20根本不对I/O处理器10进行用于交付确认的ACK/NACK响应。如果在请求分组中检测到传输差错,则仅丢弃请求分组。对于针对不可能对其再运行请求处理的的请求的、至I/O处理器10的响应分组,使分组传送冗余,以使得至少一个被I/O处理器10正常地接收。
为了使分组传送冗余,冗余分组的发送端可以定义相同分组之间的最大发送时间间隔,并保证接收端将会在该时间间隔内接收到多个相同的分组。如果在最大发送时间间隔的时段内检测到连续的传输差错,则这些差错可被作为致命的差错来处理,由此防止在所有冗余分组传送导致差错且失败的情况下的系统的故障。例如,如果针对冗余分组的最大发送时间间隔是1毫秒,则第一个冗余分组的发送时间与最后的冗余分组的发送时间之间的时段最大为1毫秒。因此,如果在1毫秒内连续发生传输差错,则在冗余分组的接收端确定可能在所有冗余分组中已发生差错,作为致命差错的发生而停止处理,并输出警告。通过该停止和警告,可以防止系统的故障。也就是说,可以防止系统将对其的所有冗余响应均已失败的请求视为未完成并在请求处理实际上已完成时再运行该请求。
图2是在I/O处理器10和算术单元20之间传输的分组的类型以及在传输差错时的挽救处理的表。如同图2中所列出的,如果在从I/O处理器10至算术单元20的提取请求分组的传输的期间发生差错,则分组不到达算术单元20或错误分组到达算术单元20。错误分组在算术单元20处被丢弃。没有关于该差错的通知被从算术单元20向I/O处理器10发出。然而,由于未执行提取请求,因此没有响应被发送到I/O处理器10。因此,在I/O处理器10中,请求超时,并且目标请求(即,相同的提取请求)被再次发送到算术单元20。
如果在从算术单元20至I/O处理器10的提取响应分组的传输的期间发生差错,则分组不到达I/O处理器10或错误分组到达I/O处理器10。错误分组被I/O处理器10丢弃。没有关于该差错的通知被从I/O处理器10向算术单元20发出。然而,由于未确认提取请求的执行的完成,在I/O处理器10中请求超时。因此,I/O处理器10将目标请求(即,相同的提取请求)再次发送到算术单元20。
当在至算术单元20的中断请求的传输或存储请求的传输的期间发生差错时,分组不到达算术单元20或错误分组到达。错误分组被算术单元20丢弃。如同在提取请求的传输的期间的差错的情况下那样地,没有差错通知被从算术单元20向I/O处理器10发出,不执行存储请求或中断请求,因此没有响应被从算术单元20发送到I/O处理器10。因此,在I/O处理器10中请求超时,并且目标请求被再次发送到算术单元20。
对于针对存储请求或中断请求的响应,算术单元20预先使响应分组冗余,并将冗余响应分组发送到I/O处理器10。I/O处理器10使用冗余响应分组中的正常的一个冗余响应分组。因此,即使当在响应分组的传输的期间发生差错时,I/O处理器10也可获得正常的响应。
如同已描述的,在提取响应分组的传输差错的情况下,作为对重传来自算术单元20的响应分组的替代,通过从I/O处理器10再发出请求来再次执行请求处理,由此挽救传输差错。这是因为,即使再发出请求,考虑到提取访问的特性,并不存在由于对高速缓存或主存储器的再访问而导致的影响。
对于存储响应和中断响应,由于再访问而导致的影响大,因此并不再次执行请求处理。存储响应或中断响应的响应分组并不伴随有响应数据,因此在尺寸上是小的。因此,使传送冗余以确保至少一个被正常地接收。
也就是说,在计算机系统1的串行传输中,通过三种类型的操作来挽救传输差错。在第一种操作类型中,算术单元20丢弃错误分组,并且I/O处理器10检测超时并重传请求分组。当在提取请求、存储请求或中断请求中出现传输差错时应用第一种操作类型。在第二种操作类型中,I/O处理器10丢弃错误分组,并且I/O处理器10检测超时并将请求分组重传到算术单元20。当在提取响应中出现传输差错时应用第二种操作类型。在第三种操作类型中,通过算术单元20使分组冗余,I/O处理器10选择正常的分组以使用。第三种操作类型被应用于存储响应和中断响应。
图3是根据第一种操作类型的挽救操作的说明图。在图3中,I/O处理器10发出请求REQ并启动计时器。然而,当在传输期间出现传输差错时,请求REQ被算术单元20丢弃。作为结果,在未从算术单元20获得响应的情况下,计时器计数到8以超时(图3中的T.O.)。然后I/O处理器10再发出请求REQ并再启动计时器。
在图3中,再发出的请求REQ被正常地发送并被算术单元20接收。然后算术单元20处理接收的请求并向I/O处理器10发出响应RES。响应RES被正常地发送并被I/O处理器10接收。然后I/O处理器10重置计时器以完成处理。
图4是根据第二种操作类型的挽救操作的说明图。在图4中,I/O处理器10向算术单元20发出请求REQ并启动计时器。请求REQ被正常地发送并被算术单元20接收。然后算术单元20处理接收的请求并发出响应RES。
然而,在传输期间在响应RES中出现传输差错,并且该传输差错被I/O处理器10丢弃。作为结果,在未从算术单元20获得正常响应的情况下,计时器计数到8以超时。然后I/O处理器10再发出请求REQ并再启动计时器。
再发出的请求REQ被正常地发送并被算术单元20接收。然后算术单元20再次处理请求REQ,并与先前所做的相类似地发出响应RES。响应RES被正常地发送并被I/O处理器10接收。然后I/O处理器10重置计时器以完成处理。
图5是根据第三种操作类型的挽救操作的说明图。在图5中,I/O处理器10发出请求REQ并启动计时器。请求REQ被正常地发送并被算术单元20接收。算术单元20处理接收的请求并发出响应RES。算术单元20生成具有相同内容的多个响应RES并发送多个响应。
I/O处理器10从具有相同内容的响应RES中丢弃其中已出现差错的响应RES,接收正常的响应RES,并重置计时器,然后完成处理。一旦接收到正常的响应RES,I/O处理器19丢弃其它的冗余响应RES,即使这些冗余响应RES是正常的。
接下来说明对请求的顺序的保证。图6是通过I/O处理器10的保证顺序的操作的说明图。在图6中,当存在不能超越对在先请求的处理的后续请求时,作为请求的请求源的I/O处理器10在接收到对在先请求的响应之后向算术单元20发出后续的请求。这是为了防止对后续请求的处理在在先请求的传输差错时的重试期间被超越。根据该方法,存储器访问的顺序仅由I/O处理器10来保证。
图7是通过I/O处理器10和算术单元20的保证顺序的操作的说明图。在图7中,当在不改变顺序的情况下要处理对REQ 1至REQ 6的处理时,I/O处理器10顺序地发送每个请求,而不等待接收对每个在先请求的响应。算术单元20以从I/O处理器10接收请求的顺序来执行请求处理。当在REQ 3中出现传输差错时,算术单元20丢弃此后接收的所有分组,即,自REQ 4向后的所有分组,然后请求I/O处理器10停止对后续请求的发送。
在接收到停止发送的请求时,I/O处理器10停止新发送请求。算术单元20处理已接收的请求或多个请求,并发送响应RES或多个响应RES。在完成对所有已接收的请求的处理和对对应响应的发送时,算术单元20请求I/O处理器10再继续发送请求。响应于该再继续的请求,I/O处理器10再继续根据顺序将请求队列中的来自REQ 3的未完成的请求发送到算术单元20。相应地,存储器访问的顺序由I/O处理器10和算术单元二者来保证,由此获得了与仅通过I/O处理器10的保证顺序的操作相比更高的速度。
接下来说明图1中描述的请求发送单元12、响应接收单元13、请求接收单元22和响应发送单元23的处理操作。图8是请求发送单元12的处理操作的流程图。
如图8中所描述的,请求发送单元12确定是否请求处理单元11已做出了请求(S101)。如果请求处理单元11已做出了请求(S101处的“是”),则请求发送单元12生成请求分组(S102),然后发送请求分组(S103)。请求发送单元12针对发送的请求启动计时器(S104),然后结束处理。
如果请求处理单元11还未做出请求(S101处的“否”),则请求发送单元12确定是否存在超时请求(S105)。如果存在超时请求(S105处的“是”),则请求发送单元12针对超时请求重传请求分组(S106),针对重传的请求再启动计时器(S107),然后结束处理。
如果不存在超时请求(S105处的“否”),则请求发送单元12结束处理。图8中描述的处理是请求发送单元12的主流程,并且在计算机系统1的操作期间被重复地执行。
图9是响应接收单元13的处理操作的流程图。如图9中所描述的,响应接收单元13首先检查是否已接收到响应分组(S201)。如果尚未接收到响应分组(S201处的“否”),则处理结束。如果已接收到响应分组(S201处的“是”),则错误分组丢弃单元13a确定接收的分组是否正常(S202)。如果接收的分组不正常(S202处的“否”),则错误分组丢弃单元13a丢弃分组(S208),并结束处理。
当接收的分组正常时(S202处的“是”),冗余分组丢弃单元13b确定是否已接收到相同的响应分组(S203)。如果已接收到相同的响应分组(S203处的“是”),则冗余分组丢弃单元13b丢弃分组(S208),然后结束处理。
如果尚未接收到相同的响应分组(S203处的“否”),则响应接收单元13累积接收的响应分组(S204),然后确定是否从累积的响应分组完成了一个响应(S205)。当未从累积的响应分组完成一个响应时(S205处的“否”),处理结束。
当从累积的响应分组完成了一个响应时(S205处的“是”),响应接收单元13针对与完成的响应相对应的请求而重置计时器(S206),将响应传递到请求处理单元11(S207),然后结束处理。图9中描述的处理是响应接收单元13的主流程,并且在计算机系统1的操作期间被重复地执行。
图10是请求接收单元22的处理操作的流程图。如图10中所描述的,请求接收单元22检查是否已接收了请求分组(S301)。如果尚未接收到请求分组(S301处的“否”),则处理结束。如果已接收到请求分组(S301处的“是”),则错误分组丢弃单元22a确定接收的分组是否正常(S302)。如果接收的分组不正常(S302处的“否”),则错误分组丢弃单元22a丢弃分组(S306),然后结束处理。
如果接收的分组正常(S302处的“是”),则请求接收单元22累积接收的请求分组(S303),然后确定是否从累积的请求分组完成了一个请求(S304)。当没有从累积的请求分组完成一个请求时(S304处的“否”),处理结束。
当从累积的请求分组完成了一个请求时(S304处的“是”),请求接收单元22将完成的请求传递到响应处理单元21(S305),然后结束处理。图10中所描述的处理是请求接收单元22的主流程,并且在计算机系统1的操作期间被重复地执行。
图11是响应发送单元23的处理操作的流程图。如图11中所描述地,响应发送单元23确定是否响应处理单元21已请求了响应(S401)。如果响应处理单元21尚未请求响应(S401处的“否”),则处理结束。
如果响应处理单元21已请求了响应(S401处的“是”),则响应类型确定单元23a确定响应类型(S402)。如果响应类型既不是存储响应也不是中断响应(S403处的“否”),则响应发送单元23生成一组响应分组或多个响应分组(S404),发送所生成的响应分组/多个响应分组(S405),然后结束处理。生成一组意味着:当将响应作为响应分组而发送时,如果可以以一个响应分组来发送一个响应,则只生成一个分组,如果需要多个分组来形成一个响应,则对这些分组中的每一个生成一个分组。因此,在每个组中不存在冗余的分组。
当响应类型是存储响应或中断响应时(S403处的“是”),响应冗余处理单元23b生成多组响应分组(S406)。然后响应发送单元23发送所有生成的响应分组(S407),然后结束处理。图11中描述的处理是响应发送单元23的主流程,并且在计算机系统1的操作期间被重复地执行。
如上文所说明的,在本实施例中用作传输系统的计算机系统1中,I/O处理器10和算术单元20用作用于串行传输的设备。当向算术单元20发送请求时,I/O处理器10不执行逐个分组的交付确认,而是如果请求超时则重传请求。对于针对不能被再运行或再次执行的请求的响应,算术单元20使响应分组冗余并发送冗余分组。
因此,可以利用串行传输的特性来确保数据传送性能。此外,可以消除用于重传的巨大的缓冲器和分组交付确认流程。而且,可以以低成本实现传输差错挽救。
在本实施例中,已经说明了用于串行传输的例子,但是所公开的系统、设备和方法还可应用于并行传输。也就是说,在并行传输中,当传输速度被认为是比可靠性更重要并且需要针对任何传输差错的发生的恢复系统时,通过应用所公开的系统、设备和方法,可以以低成本实现传输差错挽救。
根据所公开的系统、设备和方法,可以获得能够减小电路规模且在串行传输中通过简单的控制来执行差错挽救的传输系统、传输设备和传输方法。
在此陈述的所有例子和条件语句都是旨在教导的目的,以帮助读者理解本发明和发明人所贡献的思想以促进本领域,并且应当被理解为不限于这种具体陈述的例子和条件,而且本说明书中的这种例子的组织也不涉及显示本发明的优劣。尽管已经详细描述了本发明的实施例,但是应当理解,在不背离本发明的精神和范围的情况下可以对本发明进行各种变化、替换和修改。

Claims (10)

1.一种传输系统,包括:
第一设备,包括:
请求发送单元,所述请求发送单元发送作为至少一个分组的请求,并在所述请求与响应之间的时段不小于预定时段的情况下重传所述至少一个请求分组,以及
响应接收单元,所述响应接收单元接收作为至少一个响应分组的响应,并丢弃接收的至少一个响应分组中的任何错误分组和冗余分组;以及
经由传输路径连接到所述第一设备的第二设备,通过所述传输路径来发送和接收从所述第一设备至所述第二设备的请求以及从所述第二设备至所述第一设备的响应,所述第二设备包括:
请求接收单元,所述请求接收单元接收所述至少一个请求分组,并丢弃所接收的至少一个请求分组中的任何错误分组,以及
响应发送单元,所述响应发送单元确定所述响应的类型,针对任何特定类型的响应而选择性地使所述至少一个响应分组冗余,并发送冗余响应分组。
2.根据权利要求1所述的传输系统,其中,
所述响应发送单元针对任何对需要保证顺序的处理顺序的请求的响应,选择性地使所述至少一个响应分组冗余,并发送冗余响应分组。
3.根据权利要求1所述的传输系统,其中,
所述第一设备是执行至计算机系统的输入/来自计算机系统的输出的I/O处理设备,以及
所述第二设备是执行所述计算机系统中的处理的算术单元。
4.根据权利要求1所述的传输系统,其中,
所述响应发送单元针对任何对数据写入请求的响应以及针对任何对与所述第二设备的处理相关的中断请求的响应而选择性地使所述至少一个响应分组冗余,并发送冗余响应分组。
5.根据权利要求1所述的传输系统,其中,
所述响应发送单元从要被进行冗余的对象中排除对数据读取请求的响应。
6.根据权利要求1所述的传输系统,其中
如果所述第一设备做出了要求保证顺序的处理顺序的请求,则所述第一设备接收对所述请求的响应并随后发送下个请求。
7.根据权利要求1所述的传输系统,其中,
如果所述第二设备接收到来自所述第一设备的错误分组,则所述第二设备向所述第一设备发送用于停止发送的请求,丢弃此后接收的任何分组,并且当完成了对在接收所述错误分组之前接收的任何请求的响应时,所述第二设备向所述第一设备发送用于再继续发送的请求。
8.一种传输设备,所述传输设备经由传输路径与另一设备相连接,所述传输设备包括:
请求处理单元,所述请求处理单元请求所述另一设备执行预定处理;
请求发送单元,所述请求发送单元经由所述传输路径发送作为至少一个请求分组的、所述请求处理单元的请求,并在所述请求与响应之间的时段不小于预定时段的情况下重传所述至少一个请求分组;以及
响应接收单元,所述响应接收单元经由所述传输路径接收作为至少一个响应分组的、来自所述另一设备的所述响应,并且所述响应接收单元包括丢弃至少一个所接收的响应分组中的任何错误分组的错误分组丢弃单元、以及丢弃任何冗余地接收的冗余分组的丢弃单元,其中
对于要求保证顺序的处理顺序的请求,所述响应接收单元接收对所述请求的响应,且然后所述请求发送单元发送下个请求。
9.一种传输设备,所述传输设备经由传输路径与另一设备相连接,所述传输设备包括:
请求接收单元,所述请求接收单元经由所述传输路径接收作为至少一个请求分组的、来自所述另一设备的请求;
响应处理单元,所述响应处理单元处理所述请求接收单元接收的所述请求并生成响应;以及
响应发送单元,所述响应发送单元经由所述传输路径向所述另一设备发送作为至少一个响应分组的、所述响应处理单元所生成的所述响应,并且所述响应发送单元包括确定所述响应的类型的响应类型确定单元、以及基于所述响应类型确定单元的确定结果而针对任何特定类型的响应选择性地使所述至少一个响应分组冗余的响应冗余处理单元。
10.一种传输方法,包括:
从第一设备向经由传输路径与所述第一设备相连接的第二设备发送作为至少一个请求分组的请求,并在所述请求与响应之间的时段不小于预定时段的情况下重传所述至少一个请求分组;
在所述第二设备处,接收来自所述第一设备的所述至少一个请求分组,并丢弃至少一个所接收的请求分组中的任何错误分组;
在所述第二设备处,确定对所述第一设备的响应的类型,针对任何特定类型的响应而选择性地使至少一个响应分组冗余,并发送所述冗余响应分组;以及
在所述第一设备处,接收来自所述第二设备的作为至少一个响应分组的所述响应,并丢弃至少一个所接收的响应分组中的任何错误分组和任何冗余分组。
CN200910142497XA 2008-08-21 2009-06-18 传输系统、设备和方法 Active CN101656595B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2008-213219 2008-08-21
JP2008213219A JP5035176B2 (ja) 2008-08-21 2008-08-21 伝送システム、伝送装置および伝送方法
JP2008213219 2008-08-21

Publications (2)

Publication Number Publication Date
CN101656595A CN101656595A (zh) 2010-02-24
CN101656595B true CN101656595B (zh) 2013-03-06

Family

ID=41258586

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200910142497XA Active CN101656595B (zh) 2008-08-21 2009-06-18 传输系统、设备和方法

Country Status (5)

Country Link
US (1) US8255601B2 (zh)
EP (1) EP2157723B1 (zh)
JP (1) JP5035176B2 (zh)
KR (1) KR101077512B1 (zh)
CN (1) CN101656595B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5590022B2 (ja) 2011-12-28 2014-09-17 富士通株式会社 情報処理装置、制御方法および制御プログラム
US20130346107A1 (en) * 2012-06-20 2013-12-26 Oracle International Corporation Mobile clinical research associate framework for offline capability
US8990662B2 (en) * 2012-09-29 2015-03-24 Intel Corporation Techniques for resilient communication
FR3007230B1 (fr) 2013-06-17 2015-07-31 Sdmo Ind Procede de communication dans un reseau interconnectant au moins deux groupes electrogenes, et dispositif d’interfacage correspondant.
CN103428273B (zh) * 2013-07-18 2016-12-28 北京百度网讯科技有限公司 在异步式交互中进行响应询问的方法与装置
JP5800058B2 (ja) * 2014-05-26 2015-10-28 富士通株式会社 情報処理装置、制御方法および制御プログラム
US9632862B2 (en) * 2014-12-20 2017-04-25 Intel Corporation Error handling in transactional buffered memory
CN109286476A (zh) * 2018-09-25 2019-01-29 京信通信系统(中国)有限公司 一种传输数据的方法、接收端及发送端

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1427597A (zh) * 2001-12-11 2003-07-02 三星电子株式会社 无线通信装置和利用无线通信装置的方法
US7003710B2 (en) * 2000-10-13 2006-02-21 Sharp Kabushiki Kaisha Communications method, communications apparatus and communications system using same communications apparatus
CN101002436A (zh) * 2004-06-17 2007-07-18 霍尼韦尔国际公司 具有信道跳转和冗余连通性的无线通信系统

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6145654A (ja) * 1984-08-10 1986-03-05 Nec Corp 多重化集線装置
JPH0530115A (ja) * 1991-07-19 1993-02-05 Nec Corp ポーリングシステム
US5774479A (en) * 1995-03-30 1998-06-30 Motorola, Inc. Method and system for remote procedure call via an unreliable communication channel using multiple retransmission timers
JP3185760B2 (ja) * 1998-06-26 2001-07-11 日本電気株式会社 分散処理システム、サーバ、クライアント、遠隔処理起動方法および記録媒体
JP2000341252A (ja) 1999-05-28 2000-12-08 Mitsubishi Electric Corp データ通信システム、データ送信装置、データ受信装置およびデータ通信装置
EP1175047B1 (de) * 2000-07-14 2007-05-02 Siemens Aktiengesellschaft Verfahren und Anordnung zum Schutz gegen Paketverlusten bei einer paketorientierten Datenübertragung
KR100411446B1 (ko) * 2001-12-24 2003-12-18 엘지전자 주식회사 에이에이엘2 시그널링의 타입 3 패킷 처리 방법
US7197009B1 (en) * 2002-03-06 2007-03-27 Sprint Communications Company L.P. Delay variation based routing in communication systems
US7181674B2 (en) * 2002-06-28 2007-02-20 Sun Microsystems, Inc. Computer system including a network employing redundant information and slicing
JP4454320B2 (ja) * 2004-01-09 2010-04-21 富士通株式会社 伝送装置、伝送制御プログラム、及び伝送方法
JP3736641B2 (ja) 2004-01-22 2006-01-18 セイコーエプソン株式会社 データ転送制御装置及び電子機器
JP4356742B2 (ja) * 2006-12-25 2009-11-04 ソニー株式会社 データ通信システム、データ送信装置およびデータ送信方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7003710B2 (en) * 2000-10-13 2006-02-21 Sharp Kabushiki Kaisha Communications method, communications apparatus and communications system using same communications apparatus
CN1427597A (zh) * 2001-12-11 2003-07-02 三星电子株式会社 无线通信装置和利用无线通信装置的方法
CN101002436A (zh) * 2004-06-17 2007-07-18 霍尼韦尔国际公司 具有信道跳转和冗余连通性的无线通信系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JP特开2000-13442A 2000.01.14

Also Published As

Publication number Publication date
JP2010050742A (ja) 2010-03-04
US20100046364A1 (en) 2010-02-25
JP5035176B2 (ja) 2012-09-26
EP2157723B1 (en) 2019-09-18
CN101656595A (zh) 2010-02-24
EP2157723A2 (en) 2010-02-24
KR101077512B1 (ko) 2011-10-28
US8255601B2 (en) 2012-08-28
EP2157723A3 (en) 2013-12-25
KR20100023732A (ko) 2010-03-04

Similar Documents

Publication Publication Date Title
CN101656595B (zh) 传输系统、设备和方法
CA1226371A (en) Communications method
US7249192B1 (en) Protocol for insuring exactly once semantics of transactions across an unordered, unreliable network
EP0272834B1 (en) Inter-processor communication protocol
FI92262B (fi) Joustava väyläjärjestelmä
US5948060A (en) Speeding-up communication rates on links transferring data structures by a method of handing scatter/gather of storage blocks in commanded computer systems
US7886089B2 (en) Method, system and computer program product for enhanced shared store buffer management scheme for differing buffer sizes with limited resources for optimized performance
JP5968119B2 (ja) カスケード接続による通信システム
CN1195813A (zh) 由分布式计算机系统的一个硬件元件报告错误的系统
CN1197236A (zh) 由分布式计算机系统的一个硬件元件报告错误的方法
JPH02199938A (ja) データ伝送誤り検出方式
EP1225741B1 (en) High speed interconnection for embedded systems within a computer network
CN100578479C (zh) 传输控制设备和传输控制方法
US8264948B2 (en) Interconnection device
US8433952B2 (en) Memory access control device, memory access control method and memory access control program
JP2581013B2 (ja) バス障害処理回路
JP5182417B2 (ja) 伝送データのエラーチェック装置および方法
JP2776274B2 (ja) 中継計算機における仮想バッファ制御システム
Simpson et al. BSP in CSP: easy as ABC
JPS58175344A (ja) 応答電文送信方式
WO2005066805A1 (ja) 共通メモリアクセス方法及びそれを用いたマルチプロセッサ・システム
Cao et al. A message retransmission mechanism for real-time token ring networks
JPS6233784B2 (zh)
JP2005277552A (ja) バスリトライ制御方式及びデータ通信装置
JPH0298711A (ja) 数値制御データ転送チェック方式

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