用于检验对请求的不可靠子系统响应的完整性的通信信道内插器、方法和程序产品技术方案

技术编号:2823458 阅读:181 留言:0更新日期:2012-04-11 18:40
在耦合于多个重复子系统的通信信道中,提供了一种用于检验子系统响应的完整性的方法、内插器和程序产品。在所述通信信道内,在从响应于公共请求的第一子系统接收到第一响应的情况下计算第一校验和,并且为所接收到的响应于所述公共请求的、第二子系统的第二响应计算第二校验和。将所述第一校验和与所述第二校验和进行比较,并且如果匹配,则仅将所述第一响应和所述第二响应之一作为对所述公共请求的响应而从所述通信信道进行转发,并且由所述通信信道丢弃所述第一响应和所述第二响应中的另外一个。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术提供了 一种用于检验子系统响应的完整性的方法、系统和计算 机程序。
技术介绍
在高可用性计算环境中,有时需要差错检测以便比较来自实现相同计 算任务的两个独立重复子系统的响应。通常以相对简单的方式,通过锁步(lockstep)运行两个独立的子系统,或者更一般地,通过保证由两个子系 统输出的应答具有相同的顺序来实现该目的。然而,在实现计算密集操作 的多任务处理子系统的情况下,使用锁步方法来保证每个任务的完成顺序 可能是有困难的。因而,在此给出了一种方法来解决对两个独立子系统的输出(在与其 顺序无关的情况下)进行比较的问题。
技术实现思路
提供了一种检验子系统响应的完整性的方法。该方法包括在通信信 道处从至少两个重复子系统的第 一子系统接收第 一响应,所述第 一响应响 应于,iLl送到所述至少两个重复子系统中每个子系统的公共请求,并且其 中所述至少两个重复子系统向所述通信信道输出响应;在所述通信信道内 确定所述第 一子系统的第 一响应的第 一校验和;在所述通信信道处从响应 于所述公共请求的所述至少两个重复子系统的第二子系统接收第二响应; 确定所述至少两个重复子系统的第二子系统的第二响应的第二校验和;以 及比较所述第一校验和与所述第二校验和,并且如果匹配,则仅将所述第一响应和所述第二响应之一作为对所述7>共请求的响应而从所述通信信道 进行转发。文中所公开的解决方案一般涉及对来自响应于请求的不可靠子系统的 无差错结果的传递,并且更具体而言,涉及一种依照优选实施例的通信信道内插器(interposer)、方法和程序产品,用于检验从耦合于通信信道的 重复非无差错(non-error-free )子系统接收的对公共请求的响应的完整性。 在另一方面,提供了一种用于检验子系统响应的完整性的系统。该系 统包括置于耦合于至少两个重复子系统的通信信道处的内插器。所述内插 器包括输入调度器、校验和生成器、存储器、校验和检验器以及多路复用 控制器。所述输入调度器将公共请求并行地提供给所述至少两个重复子系 统。所述校验和生成器根据所接收的响应于所述公共请求的、所述至少两 个重复子系统的第 一子系统的第一响应来生成第 一校验和,并且才艮据从所 述至少两个重复子系统的第二子系统接收的响应于所述7>共请求的第二响 应来生成第二校验和。所述存储器临时存储所述第一校验和,直到接收到 所述第二响应。所述校验和检验器比较所述第 一校验和与所述第二校验和, 并且如果匹配,则向所述多路复用控制器输出匹配控制信号。响应于来自 所述校验和检验器的匹配控制信号输出,所述多路复用控制器仅将所述第 一响应和所述第二响应之一作为对所述公共请求的响应而从所述通信信道 行输出。在又一方面,提供了计算机可读的至少一个程序存储设备,其有形地 含有所述计算机可执行的指令的至少一个程序,以便实现检验子系统响应 的完整性的方法。该方法包括在通信信道处从至少两个重复子系统的第 一子系统接收第 一响应,所述第 一响应响应于祐发送到所述至少两个重复 子系统中每个子系统的7>共请求,并且其中所述至少两个重复子系统向所 述通信信道输出响应;在所述通信信道内确定所述第 一子系统的第 一响应 的第 一校验和;在所述通信信道处从响应于所述7>共请求的所述至少两个 重复子系统的第二子系统接收第二响应;确定所述至少两个重复子系统的 第二子系统的第二响应的第二校验和;以及比较所述第一校验和与所述第二校验和,并且如果匹配,则仅将所述第一响应和所述第二响应之一作为 对所述公共请求的响应而从所述通信信道进行转发。附图说明现在将仅通过例子的方式并参照附图来描述本专利技术的实施例,其中 图1是在其中主机经由通信信道耦合于非无差错系统的计算环境的简单示图2依照本专利技术的一个实施例描绘了耦合至少两个重复子系统和主 机,并且实现调JL/交叉校验内插器的通信信道;图3是依照本专利技术的一个实施例的内插器处理的流程图,其用于检验 来自异步运行的至少两个并联的重复子系统的响应的完整性;图4是依照本专利技术的可选实施例的内插器处理的流程图,其用于检验 来自异步运行的三个并联的重复子系统的响应的完整性;以及图5是依照本专利技术的可选实施例的具有调JL/交叉校验内插器的通信信 道的示意图。具体实施例方式一般而言,文中所提供的是用于交叉校验来自实现相同任务(但不一 定具有相同的完成顺序)的两个或更多的独立重复子系统的响应的通信信 道实现的设施。在每个任务的平均处理时间明显大于独立子系统之间引入 的延迟的情况下,例如,对于从几个时钟周期变化到若干时钟周期的延迟, 该方法特别有利。如文中所使用的,术语"子系统"指的是以硬件、软件 和/或固件实现的任何系统、逻辑、功能、处理块等,并且其提供对请求的 响应。此外,"校验和"的意思是从来自多个独立子系统的子系统的结果 输出而导出的任何校验和、签名、CRC值等。在所讨论的例子中,假设重 复子系统是不可靠(即,非无差错)的子系统,也就是说,是可能对发生 在输出响应中的软或瞬态差错敏感的子系统。4艮多市售子系统是对出现例 如由于一个或多个a粒子对子系统的撞击(bombardment)而导致的这样的差错敏感的非无差错子系统(即,非差错校验系统)。图1描绘了计算环境100的一个实施例,其中主计算机110通过通信 信道或总线130耦合于单个非无差错系统120。在该环境中,如果在来自 系统120的响应输出中发生瞬态差错,那么主机110就不能够辨别差错的 存在。因而,这样的计算环境配置将不适于高可用性计算环境。图2依照本专利技术的一个实施例描绘了计算环境200。在该实施例中, 多个独立的重复(并且各自是非无差错)子系统220通过单个通信信道230 向(例如,运行于主机210上的)外部应用提供数据。内插器240 (例如 通信适配器)被配备在通信信道内或与通信信道相关联,以便透明地检验 对例如从主机210接收的请求的响应的完整性。可以将该请求作为>^共请 求而由内插器240内的输入路径控制逻辑245 (连同请求操作标识符)并 行地透明转发至每个独立的重复子系统220。数据源子系统220对相同的 输入(即,请求)独立地作出反应。希望这两个或更多的重复子系统在没 有差错的情况下根据相同的请求生成相同的响应或结果。请求操作标识符 可以与用户的请求一起到达或者可以由内插器240透明地生成并与并行转 发至重复子系统的公共请求相关联。此外,从用户接收的请求报头中的单 个比特可以用来表示对请求的响应是否要经历如文中所公开的交叉校验。每个输入请求都被假设从每个子系统生成了响应,并且将要通过完整 性检验通信信道将每个响应的一个准确无差错副本传递至请求应用(即,请求方)。信il/内插器通过匹配请求操作标识符并且在校验和生成器250 中计算第一响应的特征校验和,以及通过校验和检验器260来检验所有后续响应具有相同的校验和,从而识别对相同输入的响应是否是相同的。第 一校验和可以临时存储在与内插器240关联的存储阵列255中。如果对相 同输入请求的后续响应之间存在差别,那么内插器向外部应用指示差错条 件(数据失配)。通过由校验和检验器260生成的控制信号,可以经由多 路复用控制器280来发送该差错消息270本文档来自技高网...

【技术保护点】
一种检验子系统响应的完整性的方法,所述方法包括:    (i)在通信信道处从至少两个重复子系统的第一子系统接收第一响应,所述第一响应响应于被发送到所述至少两个重复子系统中每个子系统的公共请求,并且其中所述至少两个重复子系统向所述通信信道输出响应;    (ii)在所述通信信道内确定所述第一子系统的第一响应的第一校验和;    (iii)在所述通信信道处从响应于所述公共请求的所述至少两个重复子系统的第二子系统接收第二响应;    (iv)确定所述至少两个重复子系统的第二子系统的第二响应的第二校验和;以及    (v)比较所述第一校验和与所述第二校验和,并且如果匹配,则仅将所述第一响应和所述第二响应之一作为对所述公共请求的响应而从所述通信信道进行转发。

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:V孔德雷利T德威克特M霍克T维谢格拉迪
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1