CN107949831A - 多重化处理系统、多重化处理方法以及程序 - Google Patents

多重化处理系统、多重化处理方法以及程序 Download PDF

Info

Publication number
CN107949831A
CN107949831A CN201580082825.5A CN201580082825A CN107949831A CN 107949831 A CN107949831 A CN 107949831A CN 201580082825 A CN201580082825 A CN 201580082825A CN 107949831 A CN107949831 A CN 107949831A
Authority
CN
China
Prior art keywords
output data
mentioned
output
data
processing
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
Application number
CN201580082825.5A
Other languages
English (en)
Other versions
CN107949831B (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.)
Toshiba Corp
Toshiba Digital Solutions Corp
Original Assignee
Toshiba Corp
Toshiba Digital Solutions Corp
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 Toshiba Corp, Toshiba Digital Solutions Corp filed Critical Toshiba Corp
Publication of CN107949831A publication Critical patent/CN107949831A/zh
Application granted granted Critical
Publication of CN107949831B publication Critical patent/CN107949831B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/18Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
    • G06F11/183Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits by voting, the voting not being performed by the redundant components
    • G06F11/184Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits by voting, the voting not being performed by the redundant components where the redundant components implement processing functionality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0709Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/18Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
    • G06F11/182Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits based on mutual exchange of the output between redundant processing components

Abstract

实施方式的多重化处理系统是具备多个服务器装置的多重化处理系统。各个服务器装置具备存储部、处理部、决定控制部、恢复部、重新执行控制部以及输出部。处理部将确定性输出数据或者非确定性输出数据作为第1输出数据输出。决定控制部选择从本装置输出第1输出数据、或者从本装置以外的其他某个服务器装置输出的第1输出数据中的一个,决定为第2输出数据。在第2输出数据是确定性输出数据、并且第2输出数据与从本装置输出的第1输出数据不一致的情况下,重新执行控制部使本装置重新执行处理,直到第2输出数据与重新决定的第1输出数据一致、或者重新执行次数达到阈值以上为止。

Description

多重化处理系统、多重化处理方法以及程序
技术领域
本发明的实施方式涉及多重化处理系统、多重化处理方法以及程序。
背景技术
作为提高计算机的可靠性的手段,在多个计算机上重复执行相同处理的多重化处理系统(MULTIPLEXING)在以往就被实用化。在多重化处理系统中,即使多个计算机中的某个因故障而输出错误的结果,通过将该错误的结果与由其他计算机输出的正常结果进行比较,能够进行错误的检测或者修正。由此作为系统整体的可靠性得以提高。
作为实现多重化处理系统的方式,已知有使用了排列组播(orderedmulticasting)的方式。例如已知有将处理对象的输入数据发送给多个计算机并且决定输入数据的处理顺序的输入排列组播处理。通过执行输入排列组播处理,各个计算机能够以相同的顺序处理相同的输入数据。
在使用了排列组播的方式的多重化处理系统中,被多重化的处理必须有确定性。这里,“有确定性”是指,根据输入数据和处理前的内部数据,输出数据和处理后的内部数据唯一确定的性质。根据该性质,被多重化处理的内容保持一贯性,输出数据串在多个计算机间相同。
现有技术文献:
专利文献:
专利文献1:日本专利第3655263号公报
专利文献2:日本专利第2534430号公报
非专利文献:
非专利文献1:ZooKeeper,[online],[平成27年5月7日检索],网络<URL:http://zookeeper.apache.org/doc/current/zookeeperInternals.html>
发明内容
发明要解决的课题
在以往的技术中,被多重化的处理限于有确定性的处理。这是因为,在被多重化的处理没有确定性的情况下,正常的结果不唯一,因此即使在未产生故障时,各计算机的输出结果也可能不同。即在以往的技术中,被多重化的处理没有确定性的情况下,作为多重化处理系统无法保证一贯性。
用于解决课题的手段
实施方式的多重化处理系统是具备多个服务器装置的多重化处理系统。各个上述服务器装置具备存储部、处理部、决定控制部、恢复部、重新执行控制部、以及输出部。存储部存储内部数据。处理部输出通过基于输入数据和处理前的上述内部数据的处理而唯一确定的确定性输出数据、或者通过上述处理而不能唯一确定的非确定性输出数据,作为第1输出数据。决定控制部选择从本装置输出的上述第1输出数据、或者从本装置以外的其他某个服务器装置输出的第1输出数据中的一个,决定为第2输出数据。在上述第2输出数据是非确定性输出数据的情况下,恢复部将上述存储部所存储的内部数据恢复到处理前的状态。在上述第2输出数据是确定性输出数据、并且上述第2输出数据与从本装置输出的上述第1输出数据不一致的情况下,重新执行控制部使本装置重新执行上述处理,直到上述第2输出数据与重新决定的上述第1输出数据一致、或者重新执行次数达到阈值以上为止。在上述第2输出数据是非确定性输出数据的情况下,或者,在上述第2输出数据是确定性输出数据、并且上述第2输出数据与重新决定的上述第1输出数据一致的情况下,输出部输出上述第2输出数据。
附图说明
图1是表示第1实施方式的多重化处理系统的构成的例子的图。
图2是表示第1实施方式的服务器装置的构成的例子的图。
图3是表示第1实施方式的输入排列组播的例子的图。
图4是表示第1实施方式的多重化处理方法的例子的流程图。
图5是表示第1实施方式的最终确定处理的例子的流程图。
图6是表示第1实施方式的多重化处理方法的处理例1的图。
图7是表示第1实施方式的多重化处理方法的处理例2的图。
图8是表示第1实施方式的多重化处理方法的处理例3的图。
图9是表示第2实施方式的服务器装置的构成的例子的图。
图10是表示第2实施方式的最终确定处理的例子的流程图。
图11是表示第2实施方式的复制处理的例子的流程图。
图12是表示第2实施方式的多重化处理方法的处理例的图。
图13是表示第1以及第2实施方式的服务器装置的硬件构成的例子的图。
具体实施方式
以下参照附带的附图,详细说明多重化处理系统、多重化处理方法以及程序的实施方式。
(第1实施方式)
图1是表示第1实施方式的多重化处理系统100的构成的例子的图。第1实施方式的多重化处理系统100具备:服务器装置10-1、···、服务器装置10-n(n是4以上的整数)、客户端装置20-1、···、客户端装置20-m(m是1以上的整数)、以及网络30。以下,在不区分服务器装置10-1、···、以及服务器装置10-n的情况下,仅称为服务器装置10。相同地,在不区分客户端装置20-1、···、以及客户端装置20-m的情况下,仅称为客户端装置20。
服务器装置10以及客户端装置20经由网络30连接。另外,各装置间的通信方式可以是有线也可以是无线,另外,也可以是双方的组合。
图2是表示第1实施方式的服务器装置10的构成的例子的图。第1实施方式的服务器装置10具备:输入部101、输入排列部102、处理部103,存储部104、恢复部105、缓冲器106、决定控制部107、重新执行控制部110、协作控制部111以及输出部112。此外,决定控制部107具备输出排列部108以及判断部109。
输入部101从客户端装置20经由网络30接收到输入数据时,将该输入数据输入到输入排列部102。
输入排列部102从输入部101受理输入数据时,将该输入数据发送给本装置以外的其他服务器装置10。而且,输入排列部102从本装置以外的其他服务器装置10接收由本装置以外的其他服务器装置10接收的输入数据。输入排列部102通过输入排列组播来决定多个输入数据的顺序。这里对输入排列组播进行说明。
图3是表示第1实施方式的输入排列组播的例子的图。图3的例子表示输入数据A以及输入数据B被从服务器装置10-1的输入部101-1输入到输入排列部102-1、输入数据C被从服务器装置10-3的输入部101-3输入到输入排列部102-3、输入数据D被从服务器装置10-4的输入部101-4输入到输入排列部102-4的情况。
输入排列组播处理是,将输入到本装置的输入部101的输入数据发送到本装置以外的其他服务器装置10、并且决定表示输入数据的处理顺序的顺序编号的处理。各服务器装置10的输入排列部102将输入数据和顺序编号建立对应。该建立对应在各服务器装置10中是相同的。图3的例子表示输入数据的处理顺序决定为输入数据D、输入数据A、输入数据C、输入数据B的顺序的情况。决定输入数据的处理顺序的处理例如能够适用专利文献1所记载的方法。
返回到图2,输入排列部102将通过输入排列组播决定的输入数据依次输入到处理部103。处理部103从输入排列部102受理输入数据时,将通过对该输入数据进行处理而得到的第1输出数据输入到缓冲器106(第1输出数据输出处理)。具体而言,处理部103将确定性输出数据或者非确定性输出数据作为第1输出数据输入到缓冲器106。
确定性输出数据是通过基于输入数据和存储部104所存储的处理前的内部数据的处理而唯一确定的输出数据。非确定性输出数据是抽象地示出通过基于输入数据和存储部104所存储的处理前的内部数据的处理而不能唯一确定的输出数据。非确定性输出数据不区分类型,与确定性输出数据不重复。
这里对输出非确定性输出数据的处理的例子进行说明。例如在处理的执行中资源不足而不能继续该处理时取消该处理的错误处理对应于输出非确定性输出数据的处理。这是因为,资源不足(例如存储器不足)的产生取决于在同一装置中相邻执行的其他程序的状态等外部重要因素。
具体而言,例如在通过对操作系统的系统调用确保资源的情况下,有不保证确定性的可能。这是因为,通常的操作系统在资源的确保方面不具有确定性,取决于其他程序的执行状况等,确保或成功或失败。换句话说,关于多重化的处理,有可能在某计算机发生资源不足,而在其他计算机中不发生资源不足。或者,发生资源不足的程序执行位置在服务器装置10之间不同时,也有可能存储部104的处理后的内部数据的一贯性消失。
针对该课题,在现有技术中,数据处理程序通过每次不从操作系统直接确保资源的方式来确保确定性。例如有确定性的资源管理程序预先从操作系统确保并储备好规定的量的资源,数据处理程序经由资源管理程序取得资源,由此来确保确定性。
另外,错误处理虽与通常处理的流程不同,却是应该适当地应对的处理,但也有输出确定性输出数据的错误处理。例如在输入数据的值不在规定的范围的情况下输出表示输入数据的值不在规定的范围的含义的消息的错误处理仅基于输入数据来决定,因此该错误处理能够成为输出确定性输出数据的处理。
输出确定性输出数据的错误处理始终是正常的处理,自始至终由全部的计算机执行相同的错误处理。另一方面,例如在计算机的误动作(拜占庭故障)等故障时,仅特定的计算机输出错误的输出数据(或者完全不输出输出数据)。
在第1实施方式的说明中,使多重化处理系统100所包含的服务器装置10的数量n成为满足n>3b的数量。这里b是允许拜占庭故障的服务器装置10的数量。
在处理部103基于输入数据处理存储部104的内部数据之前,恢复部105保持存储部104的该内部数据。而且,在后述的第2输出数据是非确定性输出数据的情况下,恢复部105从后述的判断部109受理恢复请求。恢复部105受理恢复请求时,将存储部104的该内部数据恢复到处理前的状态。在后述的第2输出数据是确定性输出数据、并且第1输出数据和后述的第2输出数据不一致的情况下,恢复部105从后述的判断部109受理恢复请求。恢复部105受理恢复请求时,将存储部104的该内部数据恢复到处理前的状态。
缓冲器106存储从处理部103受理到的第1输出数据。输出排列部108将本装置的缓冲器106所存储的第1输出数据发送到本装置以外的其他服务器装置10。此外,输出排列部108从本装置以外的其他服务器装置10受理第1输出数据。
而且,输出排列部108执行输出排列组播处理。对输出排列组播处理进行说明。输出排列组播处理是,关于各顺序编号,选择b+1以上的服务器装置10的缓冲器106所存储的相同的第1输出数据,决定为第2输出数据。此时,输出排列组播处理以所选择的第2输出数据在各服务器装置中一致的方式进行动作。
在未发生拜占庭故障的正常的服务器装置10中,只有由通过有确定性的动作而唯一确定的确定性输出数据或非确定性输出数据的某方能成为第1输出数据。要注意的是,由于n>3b为动作条件,因此某方必然有b+1以上,且必然有第2输出数据的候补。
具体而言,由于动作条件为n>3b,除去了成为拜占庭故障的服务器装置10之后的正常服务器装置10的数量至少是2b+1。于是,在将作为第1输出数据而输出了非确定性输出数据的服务器装置10的数量设为x,将作为第1输出数据而输出了确定性输出数据的服务器装置10的数量设为y时,x+y≧2b+1。由此,x或y的至少一方为b+1以上。
这里,在x和y的双方为b+1以上的情况下,哪方都能选择,但输出排列组播处理必须以该选择在各服务器装置中一致的方式动作。作为其具体的实现方法,与输入排列组播的情况相同,例如能够适用专利文献1所记载的方法。
输出排列部108将第2输出数据与顺序编号一起输入到判断部109。
判断部109从输出排列部108受理第2输出数据以及顺序编号时,从缓冲器106读出与该顺序编号建立了对应的第1输出数据,执行最终确定处理。
<第2输出数据是非确定性输出数据的情况>
在第2输出数据是非确定性输出数据的情况下,判断部109对恢复部105输入将存储部104的内部数据恢复到处理前的状态的恢复请求,并且,将该第2输出数据输入到输出部112。输出部112从判断部109受理到第2输出数据时,输出该第2输出数据。
<第2输出数据是确定性输出数据且第1输出数据和第2输出数据不一致的情况>
在第2输出数据是确定性输出数据且第1输出数据和第2输出数据不一致的情况下,判断部109将重新执行由处理部103进行的处理的重新执行控制请求输入到重新执行控制部。
从判断部109受理到重新执行控制请求时,重新执行控制部110对恢复部105输入恢复请求,对处理部103输入重新执行请求。处理部103重新执行基于输入数据和由恢复部105恢复后的处理前的内部数据的处理,重新决定本装置的第1输出数据。重新执行控制部110使本装置的处理部103重新执行基于输入数据和处理前的内部数据的处理,直到第2输出数据和重新决定后的第1输出数据一致或者重新执行次数到达阈值以上为止。
通过处理部103重新执行处理而第1输出数据和第2输出数据一致了的情况下,重新执行控制部110将表示处理结果一致的处理结果一致通知输入给判断部109。判断部109在从重新执行控制部110受理到处理结果一致通知时,确定从输出部112输出第2输出数据。而且,判断部109将第2输出数据输入到输出部112。输出部112从判断部109受理到第2输出数据时,输出该第2输出数据。
而且,在重新执行次数达到阈值以上的情况下,重新执行控制部110对协作控制部111输入使与本装置以外的其他服务器装置10之间的协作停止的协作停止请求。协作控制部111从重新执行控制部110受理到协作停止请求时,停止与本装置以外的其他服务器装置10之间的协作。即多重化处理系统100视为在该服务器装置10中发生故障,不将该服务器装置10用于多重化处理。
接下来对第1实施方式的多重化处理方法进行说明。
图4是表示第1实施方式的多重化处理方法的例子的流程图。首先,输入部101经由网络30从客户端装置20接收输入数据(步骤S1)。接下来,输入排列部102通过执行上述输入排列组播处理,决定多个输入数据的处理顺序(步骤S2)。接下来,处理部103通过执行上述第1输出数据输出处理,输出第1输出数据(步骤S3)。接下来,输出排列部108通过执行上述排列组播处理,基于顺序编号相等的多个第1输出数据决定第2输出数据(步骤S4)。接下来,判断部109执行最终确定处理(步骤S5)。最终确定处理的详细参照图5后述。接下来,输出部112输出由步骤S5的最终确定处理确定的第2输出数据(步骤S6)。
接下来对上述的步骤S5的最终确定处理进行说明。
图5是表示第1实施方式的最终确定处理的例子的流程图。首先,判断部109判断第2输出数据是否是非确定性输出数据(步骤S11)。
在第2输出数据是非确定性输出数据的情况下(步骤S11,是),恢复部105执行将存储部104的该内部数据恢复到处理前的状态的恢复处理(步骤S12)。接下来,判断部109将第2输出数据确定为输出部112的输出(步骤S17)。
在第2输出数据不是非确定性输出数据的情况下(步骤S11,否),即第2输出数据是确定性输出数据的情况下,判断部109进一步判断第1输出数据和第2输出数据是否一致(步骤S13)。
在第1输出数据和第2输出数据一致的情况下(步骤S13,是),判断部109将第2输出数据确定为输出部112的输出(步骤S17)。
在第1输出数据和第2输出数据不一致的情况下(步骤S13,否),重新执行控制部110执行重新执行处理(步骤S14)。具体而言,重新执行控制部110对恢复部105输入恢复请求,对处理部103输入重新执行请求。处理部103通过重新执行基于输入数据和由恢复部105恢复后的处理前的内部数据的处理,再次输出第1输出数据。
接下来,判断部109判断重新执行次数是否达到阈值以上(步骤S15)。在重新执行次数达到阈值以上的情况下(步骤S15,是),协作控制部111执行停止与本装置以外的其他服务器装置10之间的协作的协作停止处理(步骤S16)。在重新执行次数未到阈值的情况下(步骤S15,否),处理返回到步骤S13,判断部109再次判断第1输出数据和第2输出数据是否一致。
此外,在上述说明中省略了部分说明,分别对全部的、输入数据、第1输出数据、第2输出数据赋予顺序编号。输入数据的顺序编号是由输入排列组播赋予的顺序编号。第1输出数据的顺序编号被赋予了输出其的处理的该输入数据的顺序编号。输出排列组播中,受理被赋予了与自身管理的排列组播的顺序编号相等的顺序编号的第1输出数据,对该决定的第2输出数据赋予其顺序编号。
如在上述图4以及图5中说明过的那样,各服务器装置10针对各顺序编号的每一个,进行输入排列组播处理(步骤S2)、第1输出数据输出处理(步骤S3)、输出排列组播处理(步骤S4)、最终确定处理(步骤S5)这一系列的处理。此时,处理部103的处理必须按照一系列的顺序编号的顺序来执行。
另外,也可以是,有关相同的顺序编号,处理部103的处理的执行在多个服务器装置10之间不一定同时进行。例如也可以是,1台服务器装置10的处理部103的处理的执行延迟,而执行与其他服务器装置10相比旧的顺序编号的处理。即使在这样的情况下,只要输入排列组播以及输出排列组播满足其动作条件,多重化处理的一贯性也会得以保持。而且,作为输入排列组播以及输出排列组播的动作的一环,暗中在某种程度上取得计算机间的同步。该程度取决于输入排列组播以及输出排列组播的安装而决定。
接下来对第1实施方式的多重化处理方法的处理例进行说明。
图6是表示第1实施方式的多重化处理方法的处理例1的图。图6的例子表示服务器装置10的数量n是4、拜占庭故障的产生数b是1(在服务器装置10-4发生拜占庭故障)的情况。服务器装置10-3的输入部101接收到输入数据A时,服务器装置10-3的输入排列部102将该输入数据A发送至服务器装置10-1、服务器装置10-2以及服务器装置10-4。另外,服务器装置10-4由于发送拜占庭故障因此成为动作不确定的状态。服务器装置10-1~服务器装置10-3的输入排列部102将输入数据A与相同的顺序编号建立对应。
服务器装置10-1~服务器装置10-3的处理部103通过进行基于输入数据A、和服务器装置10-1~服务器装置10-3的各自的存储部104所存储的处理前的内部数据的处理,输出第1输出数据。图6的例子表示,服务器装置10-1以及服务器装置10-2将非确定性输出数据X作为第1输出数据X输出,服务器装置10-3将确定性输出数据D作为第1输出数据D输出,发生拜占庭故障的服务器装置10-4将不确定的输出数据?作为第1输出数据?输出的情况。各个第1输出数据存储于各服务器装置10的缓冲器106中。
服务器装置10-1~服务器装置10-3的输出排列部108将非确定性输出数据X决定为第2输出数据。这是因为,非确定性输出数据X存储于服务器装置10-1以及服务器装置10-2的缓冲器106中,b+1=2,因而满足输出排列组播的选择条件。
服务器装置10-1~服务器装置10-3的判断部109按照上述的图5的流程图的步骤S11、步骤S12以及步骤S17,将第2输出数据X确定为输出部112的输出。
即服务器装置10-1~服务器装置10-3的输出部112将非确定性输出数据X作为第2输出数据X输出,因此服务器装置10-1~服务器装置10-3的恢复部105将存储部104的内部数据恢复到由处理部103处理之前。另外,服务器装置10-4由于发生拜占庭故障因此动作不确定。
作为结果,即使在服务器装置10-1以及服务器装置10-2进行非确定性的动作(例如基于向操作系统的系统调用的资源确保失败等)、服务器装置10-3进行确定性的动作(处理的成功)的情况下,多重化处理的一贯性也得以维持。换句话说,服务器装置10-1~服务器装置10-3的存储部104的内部数据回到与未处理输入数据A的情况同等的状态,示出该情况的非确定性输出数据X被从服务器装置10-1~服务器装置10-3输出。
另外,在现有技术的多重化处理中,在上述的图6的情况下,会视为服务器装置10-1以及服务器装置10-2中发生故障,多重化处理无法继续。
图7是表示第1实施方式的多重化处理方法的处理例2的图。图7的例子表示,服务器装置10的数量n为4、拜占庭故障的发生数量b为1(服务器装置10-4中发生拜占庭故障)的情况。服务器装置10-3的输入部101接收到输入数据A时,服务器装置10-3的输入排列部102将该输入数据A发送给服务器装置10-1、服务器装置10-2以及服务器装置10-4。另外,服务器装置10-4由于发生拜占庭故障因而成为动作不确定的状态。在图7的例子中,说明到第1输出数据D的输出处理为止正常地进行的情况。
服务器装置10-1~服务器装置10-4的输入排列部102将输入数据A与相同的顺序编号建立对应。
服务器装置10-1~服务器装置10-4的处理部103通过进行基于输入数据A、和服务器装置10-1~服务器装置10-4的各自的存储部104所存储的处理前的内部数据的处理,输出第1输出数据。图7的例子表示,服务器装置10-1以及服务器装置10-2将非确定性输出数据X作为第1输出数据X输出,服务器装置10-3以及服务器装置10-4将确定性输出数据D作为第1输出数据D输出的情况。各个第1输出数据被存储于各服务器装置10的缓冲器106中。
服务器装置10-1~服务器装置10-3的输出排列部108将确定性输出数据D决定为第2输出数据。这是因为,确定性输出数据D被存储于服务器装置10-3以及服务器装置10-4的缓冲器106中,b+1=2,因此满足输出排列组播的选择条件。另外,在图7的例子中,虽然非确定性输出数据X也满足输出排列组播的选择条件b+1=2,但由于第1输出数据D的输出处理以及发送处理较早,因此选择先满足输出排列组播的选择条件b+1=2的第1输出数据D。
另外,虽然前提是服务器装置10-4发生拜占庭故障,但是服务器装置10-1~服务器装置10-3并没有途径知道服务器装置10-4发生拜占庭故障。因此由服务器装置10-4的处理部103输出的第1输出数据D也与由正常的服务器装置10-1~服务器装置10-3输出的第1输出数据相同地被处理。
服务器装置10-1以及服务器装置10-2的判断部109按照上述的图5的流程图的步骤S11、步骤S13、步骤S14、步骤S15以及步骤S17,将第2输出数据D确定为输出部112的输出。该流程的例子示出,例如在服务器装置10-1以及服务器装置10-2发生暂时的资源不足而重新执行时消除了资源不足的情况。
服务器装置10-3的判断部109按照上述的图5的流程图的步骤S11、步骤S13以及步骤S17,将第2输出数据D确定为输出部112的输出。
关于服务器装置10-4的判断部109,由于服务器装置10-4中发生拜占庭故障,因此输出部112的输出不确定。
作为结果,即使在服务器装置10-1以及服务器装置10-2进行非确定性的动作(例如基于向操作系统的系统调用的资源确保失败等),服务器装置10-3以及服务器装置10-4进行确定性的动作(处理的成功)的情况下,多重化处理的一贯性也得以维持。换句话说,服务器装置10-1~服务器装置10-3的存储部104的内部数据成为处理了输入数据A后的状态。这里,第2输出数据D是有确定性的处理的结果,因此服务器装置10-1~服务器装置10-3的存储部104的内部数据自然也相同。
上述2个处理例是为了对本实施方式的多重化处理系统100的动作进行说明而举出的。然而,由于非确定性输出数据的输出是例外产生的,因此参照图8对通常的动作进行说明。
图8是表示第1实施方式的多重化处理方法的处理例3的图。图8的例子表示服务器装置10的数量n为4、拜占庭故障的发生数量b为1(服务器装置10-4发生拜占庭故障)的情况。服务器装置10-3的输入部101接收到输入数据A时,服务器装置10-3的输入排列部102将该输入数据A发送给服务器装置10-1、服务器装置10-2以及服务器装置10-4。另外,服务器装置10-4由于发生拜占庭故障因此成为动作不确定的状态。
服务器装置10-1~服务器装置10-3的输入排列部102将输入数据A与相同的顺序编号建立对应。
服务器装置10-1~服务器装置10-3的处理部103通过进行基于输入数据A、和服务器装置10-1~服务器装置10-3的各自的存储部104所存储的处理前的内部数据的处理,输出第1输出数据。图8的例子表示服务器装置10-1~服务器装置10-3将确定性输出数据D作为第1输出数据D输出的情况。各个第1输出数据被存储于服务器装置10-1~服务器装置10-3的缓冲器106中。
服务器装置10-1~服务器装置10-3的输出排列部108将确定性输出数据D决定为第2输出数据。这是因为,确定性输出数据D存储于服务器装置10-1~服务器装置10-3的缓冲器106中,b+1=2<3,因此满足输出排列组播的选择条件。另外,服务器装置10-4的第1输出数据?不满足输出排列组播的选择条件。
服务器装置10-1~服务器装置10-3的判断部109按照上述的图5的流程图的步骤S11、步骤S13以及步骤S17,将第2输出数据D确定为输出部112的输出。
作为结果,服务器装置10-1~服务器装置10-3中得以维持多重化处理的一贯性。而且如图8的例子那样,在非确定性输出数据X一个也没输出的情况下,本来应该输出的确定性输出数据D必须被输出。
如以上说明的那样,在第1实施方式的多重化处理系统100中,处理部103将确定性输出数据或者非确定性输出数据作为第1输出数据输出。而且决定控制部107(输出排列部108以及判断部109)选择从本装置的处理部103输出的第1输出数据、或者从本装置以外的其他某个服务器装置10的处理部103输出的第1输出数据中的一个,决定为第2输出数据。而且,在第2输出数据是非确定性输出数据的情况下,恢复部105将存储于存储部的内部数据恢复到处理前的状态。而且,在第2输出数据是确定性输出数据、并且第2输出数据与从本装置输出的第1输出数据不一致的情况下,重新执行控制部110使本装置的处理部103重新执行基于输入数据和处理前的内部数据的处理,直到第2输出数据与从本装置输出的第1输出数据一致、或者重新执行次数达到阈值以上为止。而且,在第2输出数据是非确定性输出数据的情况下,或者,在第2输出数据是确定性输出数据并且第2输出数据与从本装置输出的第1输出数据一致的情况下,输出部112输出第2输出数据。
根据第1实施方式的多重化处理系统100,例如即使在资源不足等错误时通过不一定带有确定性的程序来实现处理部103,也能维持多重化处理系统100的多重化处理的一贯性。具体而言,在发生了没有确定性的错误处理的情况下,实现处理部103的程序输出非确定性输出数据。
而且,根据第1实施方式的多重化处理系统100,针对某输入数据,全部的服务器装置10中都成为资源不足的情况下(例如输入数据过大而一定会成为资源不足的情况下),全部的正常服务器装置10的输出成为非确定性输出数据,全部的正常服务器装置10的存储部104的内部数据恢复到处理前的状态。要注意的是,恢复后的状态不是资源不足的状态。由此,多重化处理系统100能够继续执行多重化处理。另外,在现有技术的多重化处理中,该情况作为全部的服务器装置10中发生了故障的情况来处理,因此无法继续执行多重化处理。
而且,根据第1实施方式的多重化处理系统100,针对某输入数据,全部的正常服务器装置10中不成为资源不足等非确定性的动作的情况下(即通常的情况下),输出本来应该输出的确定性输出数据,因此能够继续执行多重化处理。
而且,根据第1实施方式的多重化处理系统100,针对某输入数据,成为资源不足等非确定性的动作的服务器装置10和成为确定性的动作的服务器装置10混合存在的情况下,也能在全部的服务器装置10中继续执行多重化处理(参照图7)。
第1实施方式的多重化处理系统100的特征是,无论在哪个情况下都能保持多重化处理的一贯性。此外,即使达到b台的计算机发生了拜占庭故障,由于有输出排列组播的选择条件,因此正常的服务器装置10的输出也是确定性输出数据或者非确定性输出数据的某个。
另外,在要求有其它条件作为用于维持输入排列组播或者输出排列组播的可靠性的动作条件的情况下,除了上述的n>3b的动作条件之外,也将该条件加到动作条件中。其中,第1实施方式的多重化处理系统100不依赖于输入排列组播处理以及输出排列组播的安装方法而成立。
(第2实施方式)
接着,对第2实施方式进行说明。在第2实施方式的多重化处理系统100中,例如,在某个输入数据的处理中,成为资源不足的服务器装置10和未成为资源不足的服务器装置10混合存在的情况下,有可能成为资源不足的服务器装置10被从多重化处理系统100中分离。具体而言,处理部103进行的处理的重新执行次数达到阈值以上的情况下,由协作控制部111停止与本装置以外的其他服务器装置10之间的协作。
第2实施方式的多重化处理系统100具备复制部113来取代第1实施方式的多重化处理系统100的协作控制部111。在第2实施方式的说明中,省略与第1实施方式的说明相同的说明。
图9是表示第2实施方式的服务器装置10的构成的例子的图。第2实施方式的服务器装置10具备:输入部101、输入排列部102、处理部103、存储部104、恢复部105、缓冲器106、决定控制部107、重新执行控制部110、输出部112以及复制部113。而且,决定控制部107具备输出排列部108以及判断部109。
在将服务器装置10的数量设为n,将为了维持可靠性而所允许的拜占庭故障的服务器装置10的数量设为b时,第2实施方式的多重化处理系统110的动作条件是n>5b。该动作条件是复制部113确定正常的服务器装置10的处理后的内部数据所须的。
由输出排列部108进行的输出排列组播处理与第1实施方式相比,选择条件稍稍不同。输出排列组播处理中,针对各顺序编号,选择2b+1以上的服务器装置10的缓冲器106所存储的相同的第1输出数据,决定为第2输出数据。此时,输出排列组播处理以所选择的第2输出数据在各服务器装置中一致的方式进行动作。
具体而言,由于动作条件为n>5b,因此除去成为拜占庭故障的服务器装置10后的、正常的服务器装置10的数量至少为4b+1。于是,在将作为第1输出数据而输出了非确定性输出数据的服务器装置10的数量设为x,将作为第1输出数据而输出了确定性输出数据的服务器装置10的数量设为y时,x+y≧4b+1。由此,x或y的至少一方为2b+1以上。
在由处理部103进行的顺序编号N的输入数据的处理的重新执行次数达到阈值以上的情况下,复制部113将由正常的服务器装置10的处理部103的该顺序编号的输入数据的处理得到的存储部104的处理后的内部数据复制到本装置的存储部104中。此时,复制部113将b+1以上的服务器装置10的存储部104所存储的相同的内部数据复制到本装置的存储部104中。
图10是表示第2实施方式的最终确定处理的例子的流程图。步骤S26与第1实施方式的最终确定处理不同。步骤S26的复制处理由复制部113进行。
对复制部113的复制处理进行说明。以发生拜占庭故障的服务器装置10的存在为前提的情况下,无法立刻确定发生拜占庭故障的服务器装置10。在由处理部103进行的顺序编号N的输入数据的处理的重新执行次数达到阈值以上的情况下,复制部113不得不从正常的服务器装置10的存储部104中将与该顺序编号的输入数据有关的处理后的内部数据复制到本装置的存储部104中。然而,其实现方法并不是显而易见的。以下示出步骤S26的复制处理的例子及其正当性。该部分为第2实施方式的特征。
图11是表示第2实施方式的复制处理的例子的流程图。首先,由本装置的处理部103进行的顺序编号N的输入数据的处理的重新执行次数为阈值以上的情况下,复制部113将与该顺序编号N的输入数据有关的处理后的内部数据的发送请求发送给全部的服务器装置10(步骤S31)。这里,接收到与顺序编号N的输入数据有关的处理后的内部数据的发送请求的服务器装置10,在该服务器装置10的最终确定处理结束之后,回送该服务器装置10的存储部104所存储的与顺序编号N的输入数据有关的处理后的内部数据。
接下来,复制部113从接收了与顺序编号N的输入数据有关的处理后的内部数据的发送请求的服务器装置10,接收与顺序编号N的输入数据有关的处理后的内部数据(步骤S32)。接下来,复制部113对步骤S32中接收到的多个接收数据(与顺序编号N的输入数据有关的处理后的内部数据)进行比较(步骤S33)。
接下来,复制部113判断相同的接收数据的数量是否为b+1以上(步骤S34)。在相同的接收数据不是b+1以上的情况下(步骤S34,否),处理返回至步骤S32。在相同的接收数据是b+1以上的情况下(步骤S34,是),复制部113将该接收数据复制到本装置的存储部104中(步骤S35)。
对步骤S34以及步骤S35的处理的正当性进行说明。如果设从b+1以上的服务器装置10得到相同内容的接收数据,则其中至少一个接收数据是从正常的服务器装置10发送的。即使无法确定正常的服务器装置10,也可以说该接收数据(与顺序编号N的输入数据有关的处理后的内部数据)是正确的状态。
在第2输出数据为确定性输出数据的情况下,复制部113进行动作。将该第2输出数据设为D。于是,根据输出排列组播的第2输出数据的选择条件,该第2输出数据D是由2b+1以上的服务器装置10的处理部103的处理而得到的第1输出数据D。
由于前提是发生拜占庭故障的服务器装置10的数量为b以下,因此其中正常的服务器装置10的数量由于(2b+1)-b而至少为b+1。因此,第1输出数据和第2输出数据一致的正常的服务器装置10的数量为b+1以上。
在第1输出数据和第2输出数据一致的正常的服务器装置10的决定控制部107(判断部109)中,能立即将该第2输出数据确定为输出部112的输出。因此,正常的服务器装置10能够响应于与顺序编号N的输入数据有关的处理后的内部数据的发送请求。其结果,请求源的服务器装置10必然能够从至少b+1以上的正常的服务器装置10取得与顺序编号N的输入数据有关的相同内容的处理后的内部数据。因此,上述的图11所示的复制处理的算法必然会完成。
图12是表示第2实施方式的多重化处理方法的处理例的图。图12的例子表示服务器装置10的数量n为6,拜占庭故障的发生数量b为1(服务器装置10-6发生拜占庭故障)的情况。服务器装置10-2的输入部101接收到输入数据A时,服务器装置10-2的输入排列部102将该输入数据A发送至本装置以外的其他服务器装置10。另外,虽然服务器装置10-6由于发生拜占庭故障而成为动作不确定的状态,但在图12的例子中对于输入数据A的处理作为正常动作来处理。服务器装置10-1~服务器装置10-6的输入排列部102将输入数据A与相同的顺序编号建立对应。
服务器装置10-1~服务器装置10-6的处理部103通过进行基于输入数据A、和服务器装置10-1~服务器装置10-6的各自的存储部104所存储的处理前的内部数据的处理,输出第1输出数据。图12的例子表示,服务器装置10-1~服务器装置10-3将非确定性输出数据X作为第1输出数据X输出,服务器装置10-4~服务器装置10-6将确定性输出数据D作为第1输出数据D输出的情况。各个第1输出数据被存储于各服务器装置10的缓冲器106中。
服务器装置10-1~服务器装置10-6的输出排列部108将确定性输出数据D决定为第2输出数据。这是因为,确定性输出数据D被存储于服务器装置10-4~服务器装置10-6的缓冲器106中,2b+1=3,因此满足输出排列组播的选择条件。
图12的例子表示服务器装置10-1以及服务器装置10-2在重新执行次数达到阈值以上之前得到了第2输出数据D的情况。而且,表示服务器装置10-3的重新执行次数成为了阈值以上的情况。即在服务器装置10-3中,复制部113的复制处理动作,在b+1=2以上的服务器装置10中相同内容的处理后的内部数据被复制到服务器装置10-3的存储部104中。图12的例子表示,从全部的服务器装置10的输出部112输出确定性输出数据D的情况。
最后,对第1以及第2实施方式的服务器装置10的硬件构成的例子进行说明。图13是表示第1以及第2实施方式的服务器装置10的硬件构成的例子的图。另外客户端装置20的硬件构成的例子也与服务器装置10相同。
第1以及第2实施方式的服务器装置10具备:控制装置301、主存储装置302、辅助存储装置303、显示装置304、输入装置305以及通信装置306。控制装置301、主存储装置302、辅助存储装置303、显示装置304、输入装置305以及通信装置306经由总线310连接。
控制装置301执行从辅助存储装置303读出到主存储装置302的程序。主存储装置302是ROM以及RAM等存储器。辅助存储装置303是存储卡以及SSD(Solid State Drive:固态硬盘)等。
显示装置304显示信息。显示装置304例如是液晶显示器。输入装置305受理信息的输入。输入装置305例如是键盘等。另外,显示装置304以及输入装置305也可以是具有显示功能和输入功能的液晶触摸面板等。通信装置306与其他装置进行通信。
由服务器装置10执行的程序以可安装的形式或者可执行的形式的文件存储于CD-ROM、存储卡、CD-R、DVD(Digital Versatile Disk:数字多功能磁盘)等计算机可读取的存储介质中而作为计算机程序产品来提供。
而且,也可以构成为,将由服务器装置10执行的程序储存于与因特网等网络连接的计算机上,通过经由网络下载来提供。此外也可以构成为,不下载服务器装置10执行的程序而经由因特网等网络来提供。
而且也可以构成为,在ROM等中预先组入服务器装置10的程序来提供。
由服务器装置10执行的程序成为,包括上述实施方式的服务器装置10的构成(功能块)中的可由程序实现的功能块的模块构成。可由程序实现的功能块例如是输入部101、输入排列部102、处理部103、恢复部105、缓冲器106、决定控制部107(输出排列部108以及判断部109)、重新执行控制部110、协作控制部111以及输出部112。
控制装置301从辅助存储装置303等存储介质读出程序来执行由程序实现的功能块,由此,由程序实现的功能块被下载到主存储装置302。即由程序实现的功能块在主存储装置302上生成。
另外也可以通过组合程序和IC(Integrated Circuit:集成电路)等硬件来实现实施方式的服务器装置10的功能块。
如以上说明地那样,在第2实施方式的多重化处理系统100中,能够将重新执行次数达到了阈值以上的服务器装置10不从多重化处理系统100分离地利用于多重化处理中。
对本发明的若干个的实施方式进行了说明,但这些实施方式是作为例而提示的,并不意在限定发明的范围。这些新的实施方式能够以其他各种形态实施,在不脱离发明的要旨的范围内能够进行各种的省略、置换、变更。这些实施方式及其变形包含于发明的范围、要旨内,并且包含于权利要求所记载的发明及其等同的范围内。

Claims (8)

1.一种多重化处理系统,具备多个服务器装置,
各个上述服务器装置具备:
存储部,存储内部数据;
处理部,输出通过基于输入数据和处理前的上述内部数据的处理而唯一确定的确定性输出数据、或者通过上述处理而不能唯一确定的非确定性输出数据,作为第1输出数据;
决定控制部,选择从本装置输出的上述第1输出数据、或者从本装置以外的其他某个服务器装置输出的上述第1输出数据中的一个,决定为第2输出数据;
恢复部,在上述第2输出数据为非确定性输出数据的情况下,将存储于上述存储部的内部数据恢复到处理前的状态;
重新执行控制部,在上述第2输出数据是确定性输出数据、并且上述第2输出数据与从本装置输出的上述第1输出数据不一致的情况下,使本装置重新执行上述处理,直到上述第2输出数据与重新决定的上述第1输出数据一致、或者重新执行次数达到阈值以上为止;以及
输出部,在上述第2输出数据是非确定性输出数据的情况下,或者在上述第2输出数据是确定性输出数据、并且上述第2输出数据与重新决定的上述第1输出数据一致的情况下,输出上述第2输出数据。
2.如权利要求1所述的多重化处理系统,
还具备协作控制部,在上述重新执行次数达到上述阈值以上的情况下,上述协作控制部停止与上述本装置以外的其他服务器装置之间的协作。
3.如权利要求1所述的多重化处理系统,
还具备复制部,在上述重新执行次数达到上述阈值以上的情况下,上述复制部将通过上述本装置以外的其他服务器装置的上述处理而得到的处理后的内部数据复制到本装置的上述存储部中,
在上述处理后的内部数据存储于本装置的上述存储部的情况下,上述输出部输出上述第2输出数据。
4.如权利要求2所述的多重化处理系统,
上述多个服务器装置的数量是满足n>3b的整数n,其中,b为1以上的整数,
将允许有可能进行误动作的故障的上述服务器装置的数量设为b,上述决定控制部将由b+1以上的上述服务器装置的处理部输出的上述第1输出数据决定为上述第2输出数据。
5.如权利要求3所述的多重化处理系统,
上述多个服务器装置的数量是满足n>5b的整数n,其中,b为1以上的整数,
将允许有可能进行误动作的故障的上述服务器装置的数量设为b,上述决定控制部将由2b+1以上的上述服务器装置的处理部输出的上述第1输出数据决定为上述第2输出数据。
6.如权利要求3所述的多重化处理系统,
上述多个服务器装置的数量为满足n>5b的整数n,其中,b为1以上的整数,
将允许有可能进行误动作的故障的上述服务器装置的数量设为b,上述复制部将在b+1以上的上述服务器装置的存储部中一致的上述处理后的内部数据存储到本装置的上述存储部中。
7.一种多重化处理方法,是多重化处理系统的多重化处理方法,该多重化处理系统具备具有存储内部数据的存储部的多个服务器装置,该多重化处理方法包括以下步骤:
输出通过基于输入数据和处理前的上述内部数据的处理而唯一确定的确定性输出数据、或者通过上述处理而不能唯一确定的非确定性输出数据,作为第1输出数据的步骤;
选择从本装置输出的上述第1输出数据、或者从本装置以外的其他某个服务器装置输出的上述第1输出数据中的一个,决定为第2输出数据的步骤;
在上述第2输出数据是非确定性输出数据的情况下,将存储于上述存储部的内部数据恢复到处理前的状态的步骤;
在上述第2输出数据是确定性输出数据、并且上述第2输出数据与从本装置输出的上述第1输出数据不一致的情况下,使本装置重新执行上述处理,直到上述第2输出数据与重新决定的上述第1输出数据一致、或者重新执行次数达到阈值以上为止的步骤;以及
在上述第2输出数据是非确定性输出数据的情况下,或者在上述第2输出数据是确定性输出数据、并且上述第2输出数据与重新决定的上述第1输出数据一致的情况下,输出上述第2输出数据的步骤。
8.一种程序,使具有存储内部数据的存储部的服务器装置作为以下各部发挥功能:
处理部,输出通过基于输入数据和处理前的上述内部数据的处理而唯一确定的确定性输出数据、或者通过上述处理而不能唯一确定的非确定性输出数据,作为第1输出数据;
决定控制部,选择从本装置输出的上述第1输出数据、或者从本装置以外的其他某个服务器装置输出的上述第1输出数据中的一个,决定为第2输出数据;
恢复部,在上述第2输出数据是非确定性输出数据的情况下,将存储于上述存储部的内部数据恢复到处理前的状态;
重新执行控制部,在上述第2输出数据是确定性输出数据、并且上述第2输出数据与从本装置输出的上述第1输出数据不一致的情况下,使本装置重新执行上述处理,直到上述第2输出数据与重新决定的上述第1输出数据一致、或者重新执行次数达到阈值以上为止;以及
输出部,在上述第2输出数据是非确定性输出数据的情况下,或者在上述第2输出数据是确定性输出数据、并且上述第2输出数据与重新决定的上述第1输出数据一致的情况下,输出上述第2输出数据。
CN201580082825.5A 2015-09-08 2015-09-08 多重化处理系统、多重化处理方法以及程序 Active CN107949831B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2015/075514 WO2017042894A1 (ja) 2015-09-08 2015-09-08 多重化処理システム、多重化処理方法及びプログラム

Publications (2)

Publication Number Publication Date
CN107949831A true CN107949831A (zh) 2018-04-20
CN107949831B CN107949831B (zh) 2021-03-16

Family

ID=58240722

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580082825.5A Active CN107949831B (zh) 2015-09-08 2015-09-08 多重化处理系统、多重化处理方法以及程序

Country Status (4)

Country Link
US (1) US10489239B2 (zh)
JP (1) JP6556852B2 (zh)
CN (1) CN107949831B (zh)
WO (1) WO2017042894A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11553536B2 (en) * 2017-12-07 2023-01-10 Beijing Xiaomi Mobile Software Co., Ltd. Channel coordination method and apparatus

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000148655A (ja) * 1998-11-13 2000-05-30 Hitachi Ltd 情報処理システムの制御方法
JP2001526809A (ja) * 1997-05-07 2001-12-18 ゼネラル・ダイナミックス・インフォメーション・システムズ・インコーポレーテッド コンピュータ・システム用非割り込み電力制御
JP2007316787A (ja) * 2006-05-24 2007-12-06 Nippon Telegr & Teleph Corp <Ntt> 応答集約装置,応答集約方法,その方法を実装したプログラム及びそのプログラムを記録した記録媒体
CN102238602A (zh) * 2011-07-04 2011-11-09 南京邮电大学 一种无线传感器网络故障节点检测方法
US8189789B2 (en) * 2008-11-03 2012-05-29 Telcordia Technologies, Inc. Intrusion-tolerant group management for mobile ad-hoc networks
WO2014207893A1 (ja) * 2013-06-28 2014-12-31 株式会社日立製作所 演算回路及び計算機
CN104427002A (zh) * 2013-09-09 2015-03-18 三星Sds株式会社 集群系统及用于在集群系统中提供服务可用性的方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2534430B2 (ja) 1992-04-15 1996-09-18 インターナショナル・ビジネス・マシーンズ・コーポレイション フォ―ルト・トレランスのあるコンピュ―タ・システム出力の合致を達成するための方法
JPH06324900A (ja) * 1993-05-10 1994-11-25 Mitsubishi Electric Corp 計算機
JP3831154B2 (ja) * 1999-08-13 2006-10-11 株式会社東芝 プログラム多重化拡大方法
US7272632B2 (en) * 2001-06-15 2007-09-18 Kabushiki Kaisha Toshiba Distributed system and multiplexing control method for the system
JP3655263B2 (ja) 2001-06-15 2005-06-02 株式会社東芝 分散システムおよび同システムの多重化制御方法
AU2003223352A1 (en) * 2002-03-25 2003-10-13 Eternal Systems, Inc. Transparent consistent active replication of multithreaded application programs
US20090259789A1 (en) * 2005-08-22 2009-10-15 Shuhei Kato Multi-processor, direct memory access controller, and serial data transmitting/receiving apparatus
US8625475B2 (en) * 2007-09-24 2014-01-07 Qualcomm Incorporated Responding to an interactive multicast message within a wireless communication system
US8189584B2 (en) * 2009-07-27 2012-05-29 Media Patents, S. L. Multicast traffic management in a network interface
WO2015140942A1 (ja) * 2014-03-18 2015-09-24 株式会社東芝 情報処理システム、サーバ装置、情報処理方法およびプログラム

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001526809A (ja) * 1997-05-07 2001-12-18 ゼネラル・ダイナミックス・インフォメーション・システムズ・インコーポレーテッド コンピュータ・システム用非割り込み電力制御
JP2000148655A (ja) * 1998-11-13 2000-05-30 Hitachi Ltd 情報処理システムの制御方法
JP2007316787A (ja) * 2006-05-24 2007-12-06 Nippon Telegr & Teleph Corp <Ntt> 応答集約装置,応答集約方法,その方法を実装したプログラム及びそのプログラムを記録した記録媒体
US8189789B2 (en) * 2008-11-03 2012-05-29 Telcordia Technologies, Inc. Intrusion-tolerant group management for mobile ad-hoc networks
CN102238602A (zh) * 2011-07-04 2011-11-09 南京邮电大学 一种无线传感器网络故障节点检测方法
WO2014207893A1 (ja) * 2013-06-28 2014-12-31 株式会社日立製作所 演算回路及び計算機
CN104427002A (zh) * 2013-09-09 2015-03-18 三星Sds株式会社 集群系统及用于在集群系统中提供服务可用性的方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ALEXANDRE MAURER,SEBASTIEN TIXEUIL: "《Containing Byzantine Failures》", 《IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS》 *

Also Published As

Publication number Publication date
US10489239B2 (en) 2019-11-26
CN107949831B (zh) 2021-03-16
WO2017042894A1 (ja) 2017-03-16
JPWO2017042894A1 (ja) 2018-02-15
US20180189131A1 (en) 2018-07-05
JP6556852B2 (ja) 2019-08-07

Similar Documents

Publication Publication Date Title
EP3647955B1 (en) Consensus-forming method in network, and node for configuring network
CN110807064B (zh) Rac分布式数据库集群系统中的数据恢复装置
CN110190987A (zh) 基于备份收益与重映射的虚拟网络功能可靠性部署方法
CN113194126B (zh) 一种基于区块链的横向联邦学习模型构建方法
CN111124755A (zh) 集群节点的故障恢复方法、装置、电子设备及存储介质
CN110602108B (zh) 基于区块链网络的数据通信方法、装置、设备及存储介质
CN105719140A (zh) 一种用户信息的验证方法和装置
CN110597673B (zh) 存储系统的容灾方法、装置、设备及计算机可读存储介质
CN104580104A (zh) 身份验证的方法、装置及系统
CN106302709A (zh) 一种网络文件管理的实现方法和系统
US8787202B2 (en) Method and system using wireless packet data networks architecture for remote process control and process monitoring applications
CN103562853B (zh) 用于管理程序代码的实例的方法和系统
CN107949831A (zh) 多重化处理系统、多重化处理方法以及程序
CN109634979A (zh) 数据更新方法及装置
CN103984739B (zh) 实现连续实时证券交易业务处理的数据处理方法及装置
CN107122675B (zh) 一种基于区块链的数据库事务操作方法和系统
CN106528754A (zh) 云服务中已回收数据的处理装置和方法
CN107180048B (zh) 数据库中幂等状态的识别方法和装置
CN106470132A (zh) 水平权限测试方法及装置
Levitin et al. Connectivity evaluation and optimal service centers allocation in repairable linear consecutively connected systems
CN104951557B (zh) 基于树形结构对行政区划资源进行升级的系统及方法
CN113407948B (zh) 一种基于预加载的安全扫描方法及装置
CN107579994A (zh) 一种分布式服务器系统授权控制方法及装置
CN115396327B (zh) 系统访问切换方法与装置
CN109086160B (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