CN1773459A - 从同步冗余设备选择状态数据的方法和系统 - Google Patents
从同步冗余设备选择状态数据的方法和系统 Download PDFInfo
- Publication number
- CN1773459A CN1773459A CNA2005100965195A CN200510096519A CN1773459A CN 1773459 A CN1773459 A CN 1773459A CN A2005100965195 A CNA2005100965195 A CN A2005100965195A CN 200510096519 A CN200510096519 A CN 200510096519A CN 1773459 A CN1773459 A CN 1773459A
- Authority
- CN
- China
- Prior art keywords
- redundant
- views
- score
- synchronous
- redundant views
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2015—Redundant power supplies
Abstract
提供了用于选择状态数据的技术。从多个同步冗余设备获得冗余视图。确定来自多个同步冗余设备的冗余视图发生冲突。根据来自至少两个特征类型的每个的一个或多个特征,为每个冗余视图计算冗余视图得分,其中这些特征与加权得分相关联。根据为每个冗余视图算出的冗余视图得分,选择冗余视图之一。
Description
技术领域
本发明的实现涉及从同步冗余设备选择状态数据。
背景技术
一些计算系统可以连接到两个冗余设备。冗余设备是指相同设备的多个(即,两个或更多)单元(例如,多个电源)。在采用冗余设备的情况下,如果冗余设备之一出故障,则计算系统可能能够依赖于一个或多个未出故障的其它冗余设备。例如,计算系统可以连接到两个电源。如果一个电源出故障,则计算系统继续使用来自另一个电源的电能工作。
术语“冗余路径”或“冗余视图”可以用来描述通过给定装置(例如,在每个冗余设备和该冗余设备所连接的计算系统之间的给定通信路径上,或者通过访问全局状态数据)获得的、从设备收集的状态数据的快照(snapshot)。
每个冗余设备可以通过状态寄存器将状态数据提供给计算系统。当冗余设备正确工作时,从冗余设备接收的状态数据应当相同。当计算系统同时从两个或更多个冗余设备的状态寄存器接收状态数据时,存在这样的可能性,即其中一个状态寄存器中的状态数据(即,一个冗余视图)不同于另一个状态寄存器中的状态数据(即,另一个冗余视图),这表示冗余视图之一具有不正确的状态数据。
对于某些计算系统,在传输之前,可以由冗余设备将纵向冗余校验(LRC)或循环冗余检验(CRC)值添加到状态数据,然后在由计算系统接收时进行检查。但是,LRC对于简单或廉价的设备而言是一种昂贵的解决方案,它涉及发送和接收两者的开销,并且对于采用良好的LRC值对坏数据进行编码的情况是毫无意义的。此外,由于使用更多通用设备(例如,电源设备)的趋势,具有不需要LRC或CRC编码能力的设备变得更加期望。
一些其它计算系统在从冗余设备报告的状态数据不同时,任意地从冗余视图之一选择状态数据。虽然甚至在一些企业级系统上也经常使用该技术,但是该技术对于高度可用的系统而言智能程度不够。高度可用的系统是通过使用冗余设备而在一个设备出故障时提供计算系统的可用性的系统。
例如,考虑用于大型盘系统的报告电池状态的两个电源设备,其中电池状态在冗余视图之间不一致。在本例中,一个电源设备报告表示电池电能高的电池状态(例如,电能可用),而另一个电源设备报告表示电池电能低的电池状态。在这种情况下,对表示电源高的电池状态进行选择但是这并不正确(即,实际上电池电能低)将会导致使易失性数据得不到保护的风险,而对表示电源低的电池状态的选择但这并不正确(即,实际上电池电能高)将会导致不必要地关断计算系统的风险。
其它计算系统实现了第三种技术,其中当冗余设备报告不同状态数据时,使用单个特征或一小组特征来确定使用哪个冗余视图来选择状态数据。例如,可以根据哪个冗余视图具有较多活动中断(active interrupt)(即状态改变),或者哪个冗余视图表示其值对应于更严重或危急条件的状态数据(例如,起火电源比电池电能低的电源更危急),来选择一个冗余视图。
虽然单特征决策比任意选择提供改进的准确性,但是很少只有一个或两个标准就能对于所有情况都正确地定义“良好”或“最佳”的冗余路径。而且,这样的技术过于注重一个或两个特征,而不注重于其它特征。这样,在本技术领域内仍然需要改进的选择技术。
发明内容
提供了用于选择状态数据的方法、产品和系统。从多个同步冗余设备获得冗余视图。确定来自多个同步冗余设备的冗余视图发生冲突。根据来自至少两个特征类型的每个的一个或多个特征,为每个冗余视图计算冗余视图得分,其中这些特征与加权得分相关联。根据为每个冗余视图算出的冗余视图得分,选择冗余视图之一。
附图说明
现在参照附图,其中相同的附图标记始终表示对应的部件:
图1示出了可实现本发明的特定实施例的计算设备的详细信息。
图2示出了可实现本发明的特定实施例的计算系统的详细信息。
图3示出了根据本发明特定实施例的用于处理状态数据的逻辑。
图4示出了根据本发明特定实施例的用于选择冗余视图的逻辑。
图5示出了根据本发明特定实施例的物理特征的得分。
图6示出了根据本发明特定实施例的逻辑特征的得分。
图7示出了根据本发明特定实施例的虚拟特征的得分。
具体实施方式
在下面描述中,参照形成其一部分且示出了本发明的若干实施例的附图。应当理解,可以采用其它实施例,并且在不脱离本发明的范围的情况下,可以进行结构和操作上的改变。
本发明的实施例使用物理、逻辑和虚拟特征的组合来从多个(例如,两个或更多)同步冗余设备之一选择状态数据。术语“同步冗余设备”用来描述作为相同类型的设备的多个单元(例如,它们都是电源设备)且相互同步的设备。在特定实施例中,同步冗余设备报告不同的(即,发生冲突的)状态数据。物理特征可被描述为查看状态数据中的实际硬件指示符(例如,寄存器中的位)的特征。逻辑特征可被描述为查看硬件指示符的值表示什么的特征。虚拟特征可被描述为其它特征,例如与其它硬件设备、其它系统/设备指示符直接相关、或者与全部同步冗余设备相关的特征。这样,当不能同时分析呈现互斥状态的两组不同的状态数据时,本发明的实施例对状态数据进行选择。
图1示出了可实现本发明特定实施例的计算设备102的细节。计算设备102包括一个或多个中央处理单元(CPU)104、易失性存储器106、以及非易失性存储装置108(例如,磁盘驱动器、光盘驱动器、磁带驱动器等)。易失性存储器106存储操作系统110、一个或多个计算机程序112、以及选择系统120。选择系统120可以用来选择两个或更多冗余视图中的一个。
计算设备102可以包括本技术领域内公知的任何计算设备,例如数据处理系统、大型机、服务器、个人计算机、工作站、膝上型计算机、手持计算机、电话设备、网络设备、虚拟化设备、存储控制器等。可以使用在本技术领域内公知的任何CPU 104和操作系统110。易失性存储器106中的计算机程序和数据可以作为存储器管理操作的一部分被交换到存储装置108中。
存储装置108可以包括内部存储设备、或者附连或网络可访问的存储装置。存储装置108中的计算机程序可被装载到易失性存储器106中并且由CPU104执行。可选输入设备150用来将用户输入提供给CPU 104,并且可以包括键盘、鼠标、输入笔、麦克风、触摸式显示屏或者在本技术领域内公知的任何其它激活或输入机制。可选输出设备152能够呈现从CPU 104或其它组件传输的信息,例如显示监视器、打印机、存储装置等。计算设备102还包括网卡140,以便使得能够与网络通信。各种结构和/或缓冲器(未示出)可以驻留在易失性存储器106中,或者在特定实施例中可以位于与易失性存储器106分开的存储单元中。计算机系统的计算设备102可以包括少于所示的组件、这里未示出的附加组件或者所示组件和附加组件的某个组合。
同步冗余设备122a...122n连接到计算设备102。图2中的省略号表示可以存在多于两个连接到计算设备102的同步冗余设备122a...122n。设备122a...122n可以例如是电源设备、传感器、或者监视单元。每个同步冗余设备122a...122n分别包括一个或多个设备状态结构(例如,寄存器)124、126以及一个或多个屏蔽结构(例如,屏蔽寄存器)125、127。设备状态结构124、126存储物理、逻辑和虚拟特征的状态数据。在特定实施例中,每个同步冗余设备122a...122n包括相同一组设备状态结构124、126。同步冗余设备122a...122n将来自设备状态结构124、126的状态数据发送到计算设备102。计算设备102处的选择系统102选择冗余视图之一,并且使用从那个冗余视图接收的状态数据。
图2示出了可实现本发明特定实施例的计算系统202的详细信息。计算系统202包括两个或更多个中央电子复合体(CEC)204...206。每个中央电子复合体204...206可以是计算设备102。在图2中,每个中央电子复合体204...206被示出为包括选择系统120。在可选实施例中,中央电子复合体204...206中的一个或子集包括选择系统120,在这种情况下,将状态数据传送到中央电子复合体204...206中的所述一个或子集处的选择系统120,以便处理。当同步冗余设备122a...122n将状态数据发送到多个中央电子复合体204...206时,如果由不同的中央电子复合体204...206接收的数据不匹配,则在从同步冗余设备122a...122n到中央电子复合体204...206的状态数据传输中检测到传输错误。
图3示出了根据本发明特定实施例的用于处理状态数据的逻辑。控制在块300开始,其中选择系统120从多个同步设备中的每一个获得冗余视图(即,状态数据的快照)。在特定实施例中,同步冗余设备122a...122n根据条件将状态数据发送到计算设备102(图1)或计算系统202(图2)。例如,如果在同步冗余设备122a...122n之一处发生了活动中断,则同步冗余设备122a...122n发送中断到计算设备102(图1)或计算系统202(图2),然后计算设备102(图1)或计算系统202(图2)从每个同步冗余设备122a...122n收集状态数据。
在特定可选实施例中,同步冗余设备122a...122n周期性地将状态数据发送到计算设备102(图1)或计算系统202(图2)。在其它可选实施例中,计算设备102(图1)或计算系统202(图2)向每个同步冗余设备122a...122n轮询状态数据。在其它实施例中,同步冗余设备122a...122n将状态数据存储在全局池(global pool)中,并且计算设备102或计算系统202从全局池中检索状态数据。
在块302中,选择系统120确定冗余视图是否不同(例如,发生冲突)。例如,状态数据来自每个同步冗余设备122a...122n中的多个设备状态结构124、126。在特定实施例中,当设备状态结构124、126是具有多位的寄存器时,如果相应的状态寄存器中的任何位不完全匹配(例如,位0001不匹配位0010),则来自同步冗余视图的状态数据不同。对应的设备状态结构124、126被规定为传达相同类型的信息。例如,同步冗余设备122a处的“状态A”设备状态结构将对应于同步冗余设备122n处的“状态A”设备状态结构。如果状态数据不同,则处理继续到块306,否则,处理继续到块304。
在块304中,使用冗余视图之一的状态数据以作进一步处理。例如,如果状态数据表示电池电量低或者电源出故障,则计算设备102(图1)或计算系统202(图2)可以关断。
在块306中,将得分与每个冗余视图相关联。对冗余视图评分的进一步详细信息将参照图4进行描述。在块308中,使用来自根据关联的得分而选择的冗余视图的状态数据以作进一步的处理。在特定实施例中,选择系统120还执行另外的分析,以处理未被选择的冗余视图。例如,可以丢弃来自未被选择的冗余视图的状态数据。另外,未被选择的冗余视图所关联的同步冗余设备122a...122n或者从那个同步冗余设备122a...122n开始的路径可以被设成离线(offline)。而且,可以请求更替未被选择的冗余视图所关联的同步冗余设备122a...122n或者从那个同步冗余设备122a...122n开始的路径。
图4示出了根据本发明特定实施例的用于选择冗余视图的逻辑。控制在块400开始,其中选择系统102以第一特征类型开始,选择下一个特征类型。在特定实施例中,特征类型为:物理、逻辑和虚拟。在块402中,选择系统102为每个冗余视图确定所选特征类型的得分。在特定实施例中,特征类型为物理、逻辑和虚拟,并且得分被分配给物理、逻辑和虚拟特征的可能值。然后,针对所选特征类型的特征,根据状态数据的值,为特征类型确定得分。
在块404中,选择系统102确定是否已选择了所有特征类型。如果所有特征类型已被选择,则处理继续到块406,否则处理循环回到块400,以选择下一个特征类型。在块406中,选择系统120根据每个冗余视图的特征类型的得分来确定那个冗余视图的得分。在特定实施例中,将冗余视图的各特征类型的得分相加在一起,以获得冗余视图得分。在块408中,选择系统120根据冗余视图得分选择冗余视图。在特定实施例中,选择具有最高冗余视图得分的冗余视图。在其它特定实施例中,根据针对不同标准如何分配得分以及对其加权,可以选择具有最低冗余视图得分的冗余视图。
这样,本发明的实施例根据大量被加权的特征并且根据大量样本,对冗余视图进行量化评分(例如,处理来自大量不同冗余视图的状态数据以选择一个冗余视图)。在特定实施例中,特征是预定义的,但是在可选实施例中,在计算设备102或计算系统202正在工作时,可以例如由用户、外部激励、或者计算系统202设计和修改特征。
为了更好地理解本发明,将描述一个例子。然而,该例子并不旨在以任何方式限制本发明。
在本例中,两个同步冗余设备122a和122n连接到计算系统202处的中央电子复合体204、206。对于本例,同步冗余设备122a和122n分别是机柜电源控制器卡(Rack Power Controller Card)0(RPC-0)和机柜电源控制器卡1(RPC-1)。机柜电源控制器卡报告电源、冷却、温度等的状态数据。同步冗余设备122a和122n都同时向中央电子复合体204、206报告电源状态数据。状态数据由近似1.6KB的1字节状态寄存器和屏蔽寄存器组成。该状态数据跟踪计算系统202的电源系统中的电源、冷却以及通信,包括保护易失性客户数据的电池备份单元的所有数据。字节状态寄存器作为位屏蔽呈现状态,并且具有在表1中所示的格式:
表1
位 | 名称 | 描述 |
7(0x80) | 保留 | 保留待以后使用 |
6(0x40) | 状态A | 状态A真 |
5(0x20) | 状态B | 状态B真 |
4(0x10) | 状态C | 状态C真 |
3(0x08) | 保留 | 保留待以后使用 |
2(0x04) | 非状态A | 状态A非真 |
1(0x02) | 非状态B | 状态B非真 |
0(0x01) | 非状态C | 状态C非真 |
仅仅作为例子,在表1中,状态A可以表示通电,而非状态A将表示断电。如果状态寄存器的“状态”和“非状态”值都为真,则这暗示内部问题。例如,既通电(状态A为真)又断电(非状态A为真)将是无意义的。
在本例中,当同步冗余设备122a和122n之一具有活动中断时,两个中央电子复合体204、206接收每个同步冗余设备122a和122n的状态寄存器中的状态数据的副本。然后,将这些冗余视图发送到一个中央电子复合体204、206上的单个选择系统120,以便分析。
图5-7示出了根据本发明特定实施例的一些物理、逻辑和虚拟特征的可能得分。在其它实施例中,所示特征可以被分配不同的得分,并且可以使用其它特征。在特定实施例中,系统设计者可以在计算设备102或计算系统202工作之前、或者在计算设备102或计算系统202正在工作时,确定得分。用于评分的标准与其影响、可能性和/或效果成比例来考虑。可以根据设备类型设置或忽略(bypass)不同设备的标准。这样,可变加权的得分可被分配给不同的特征。
在图5-7的例子中,设备状态结构是存储多个位的状态寄存器。
图5示出了根据本发明特定实施例的物理特征500的得分。例如,如果状态寄存器具有全零的值(即,0x00或00000000),则将(-1)的得分分配给该物理特征的冗余视图,因为在一些情况下,0x00可以反映出故障的状态寄存器以报告任何状态。如果状态寄存器具有全1的值(即,0xFF或11111111),则将(-4)的得分分配给该物理特征的冗余视图,因为不存在有效的0xFF条件。如果被保留或者未被实现的位在状态寄存器中被激活,则将(-5)的得分分配给该物理特征的冗余视图。如果活动中断与屏蔽寄存器相同,则将(+2)的得分分配给该物理特征的冗余视图。对于该示例特征,活动中断是对状态寄存器和屏蔽寄存器执行“与”运算的结果。屏蔽寄存器用来隐藏特定特征。如果状态寄存器的值与屏蔽寄存器的值相反(即~(屏蔽寄存器),其中~代表如为C编程语言定义的按位取反/反码),则将(+2)的得分分配给该物理特征的冗余视图。在这种情况下,同步冗余设备处于稳定状态(即,自从最后一次为该同步冗余设备分析状态数据以来,未屏蔽的状态没有发生改变)。
图6示出了根据本发明特定实施例的逻辑特征600的得分。对于活动中断寄存器中的直到三个活动中断,将(+1)的得分加到该逻辑特征的冗余视图的得分。在这种情况下,将状态寄存器和屏蔽寄存器按位求与的结果输出中的每位确定为活动中断位。例如,如果状态寄存器为11000011,并且屏蔽寄存器为11110000,则结果输出(11000000)具有2个活动中断。例如,如果活动中断寄存器具有两个活动中断,则将(+2)的得分分配给该逻辑特征的冗余视图。对于活动中断寄存器中超过三个的每个活动中断,将(-1)的得分加到该逻辑特征的那个冗余视图的得分。例如,如果活动中断寄存器具有五个活动中断,则对于前三个活动中断,将(+3)的得分分配给冗余视图,而对于另外两个活动中断,将(-2)的得分分配给冗余视图,这将导致这些逻辑特征的总得分为(+1)。如果状态(STATUS)和非状态(NOT STATUS)位(即,在逻辑上良好和非良好指示符)都被设置,则将(-3)的得分分配给该逻辑特征的冗余视图。如果与状态寄存器相关联的冗余、伙伴或成对资源正在报告不同的状态,则将(-2)的得分分配给冗余视图。在这种情况下,状态寄存器内容反映与另一个设备通过另一条报告路线报告的值不同的值。如果未被安装的资源正在呈递(post)活动中断,则将(-3)的得分分配给该逻辑特征的冗余视图。也就是,在同步冗余设备中不存在模块X,但是同步冗余设备正在呈递模块X的活动中断。
图7示出了根据本发明特定实施例的虚拟特征700的得分。如果同步冗余设备在一时间周期(“阈值窗口”)内具有最高随机事件计数器,则将(-1)的得分分配给该虚拟特征的冗余视图。随机事件的例子是一个中央电子复合体204、206重新启动,就如它已从电源拔出然后又插回到电源中一样。如果该同步冗余设备在一时间周期(“阈值窗口”)内具有最高电源错误计数器,则将(-3)的得分分配给该虚拟特征的冗余视图。如果同步冗余设备在一时间周期(“阈值窗口”)内具有最高总计数(即,该设备已经见到最一般事件),则将(-2)的得分分配给该冗余视图。
在本例中,同步冗余设备122a和122n在状态寄存器X中呈现不同的状态数据。中央电子复合体204、206对每个同步冗余设备122a和122n的各个状态达成协议。也就是,每个中央电子复合体204、206从同步冗余设备122a...122n获得状态数据,并且这些同步冗余设备122a...122n之间的状态数据发生冲突,但是每个中央电子复合体获得相同的冲突数据,从而不一致看上去限于同步冗余设备122a和122n。
同步冗余设备122a(RPC-0)在状态寄存器中呈递0x0F(即,00001111)的状态,状态寄存器随同具有0x0F的屏蔽寄存器一起提供了具有0x0F的活动中断寄存器。参照表1,对于具有0x0F的状态寄存器,非状态(NOT STATUS)A、非状态B和非状态C为真。另一方面,同步冗余设备122n(RPC-1)在状态寄存器中呈递0xE1(即,11100001)的状态,状态寄存器随同具有0x0F的屏蔽寄存器一起提供具有0x01的活动中断寄存器。参照表1,对于具有0xE1的状态寄存器,状态A、状态B和非状态C为真。与具有非状态A、非状态B和非状态C的屏蔽寄存器相结合,所得到的活动中断寄存器具有非状态C。中断已被复位,但是不一致似乎是永久的,从而选择系统120选择一个同步冗余设备,以便可以使用来自那个所选同步冗余设备的状态数据,以作进一步的处理。
选择系统120为同步冗余设备122a和122n两者生成冗余视图得分,并且在本例中,从具有最高得分的同步冗余设备选择状态数据。在特定实施例中,选择系统120还执行另外的分析,以处理未被选择的冗余视图。例如,可以发送消息给系统管理员,以检查具有较低得分的同步冗余设备。
在本例中,针对同步冗余设备122a(RPC-0),对于图5所示的物理特征,状态寄存器等于全零或全1不为真,被保留或者未被实现的位在状态寄存器中是活动的(导致增加了(-5)的得分),活动中断等于屏蔽寄存器(导致增加了(+2)的得分),并且状态寄存器等于~(屏蔽寄存器)不为真。这样,对于物理特征,其得分为(-3)。
在本例中,针对同步冗余设备122a(RPC-0),对于图6所示的逻辑特征,存在四个活动中断,从而增加了(+3)的得分,并且对于超过了三阈值的一个活动中断,增加(-1)的得分。良好和非良好位都未被设置。寄存器之后的冗余/伙伴/成对资源报告不同的状态,并且呈递活动中断的未被安装的资源不适用。这样,对于逻辑特征,其得分为(+2)。
在本例中,针对同步冗余设备122a(RPC-0),对于图7所示的虚拟特征,同步冗余设备122a(RPC-0)具有阈值窗口的最高总计数,这导致增加了(-2)的得分。这样,对于虚拟特征,其得分为(-2)。
具体地说,针对同步冗余设备122a(RPC-0),选择系统120对于物理特征确定-3的得分,对于逻辑特征确定+2的得分,并且对于虚拟特征确定-2的得分。
在本例中,针对同步冗余设备122n(RPC-1),对于图5所示的物理特征,状态寄存器等于全零或全一不为真,被保留或者未被实现的位在状态寄存器中不是活动的,活动中断不等于屏蔽寄存器,并且状态寄存器等于~(屏蔽寄存器)不为真。这样,对于物理特征,其得分为(0)。
在本例中,针对同步冗余设备122n(RPC-1),对于图6所示的逻辑特征,存在一个活动中断,从而增加(+1)的得分。良好和非良好位未被都设置。寄存器之后的冗余/伙伴/成对资源报告不同的状态,并且呈递活动中断的未被安装的资源不适用。这样,对于逻辑特征,其得分为(+1)。
在本例中,针对同步冗余设备122n(RPC-1),对于图7所示的虚拟特征,没有特征为真。这样,对于虚拟特征,其得分为(0)。
具体地说,针对同步冗余设备122n(RPC-1),选择系统120对于物理特征确定(0)的得分,对于逻辑特征确定(+1)的得分,并且对于虚拟特征确定(0)的得分。
这样,在本例中,选择系统120为同步冗余设备122a(RPC-0)生成(-3)的得分,并且为同步冗余设备122n(RPC-1)生成(+1)的得分。由于同步冗余设备122n(RPC-1)具有较高得分,因此选择系统120从同步冗余设备122n(RPC-1)选择冗余视图,以作进一步处理。
根据这些得分,选择系统决定同步冗余设备122n(RPC-1)呈递较好的状态并且应当被选择。在冗余视图的得分出现平局的情况下,可以使用一个或多个因素(例如,产生了平局的特征集以外的一个或多个特征)来确定胜者,但是由于选择系统120所使用的标准的数量,不期望将发生平局。这提供了一种量化、可重复、一致且可靠的技术,其用于确定应当信任两个不一致的同步冗余设备中的哪一个。此外,当识别出另外的标准时,对于所有不一致情况,可以将它们容易地添加到评分过程中,并且进行加权。
在传统系统中,决策有些任意,并且如果使用任何逻辑来进行决策,它将仅仅基于一个或两个特征。例如,一些传统系统可能任意地选择同步冗余设备122a(RPC-0)。一些传统系统可能选择同步冗余设备122a(RPC-0),因为它具有较多的活动中断。其它传统系统可能选择同步冗余设备122n(RPC-1),因为同步冗余设备122n的状态寄存器更紧密地匹配屏蔽寄存器中的屏蔽码(即,零位)。无论如何,传统系统在从一个同步冗余设备选择状态数据时是不一致的,并且在很多情况下,使用有限的逻辑,或者进行不正确的猜测。
本发明的实施例对多个标准进行加权,并且根据所有可用的数据进行决策。而且,本发明多个实施例的技术是模块化和可重复使用的。这样,本发明的实施例可以用于所有状态数据不一致,这提供了错误分析之间的一致性。
由于通信路径的复杂性以及内在的定时问题,可能发生来自冗余视图的状态数据之间的不一致。当发生不一致时,选择系统120选择一组状态数据来分析。同样,不能同时分析呈现互斥状态的两组不同状态数据。
在特定实施例中,在根据多种特征扫描所有寄存器并对其评分之后,向每个冗余视图分配冗余视图得分,并且使用具有最高得分的冗余视图以作分析。在特定实施例中,当计算系统202或计算设备102具有使设备离线的能力时,可以根据需要处理具有最低冗余视图得分的冗余视图。然后,继续对所选冗余视图进行分析。
本发明的实施例提供了可扩展性和可重复使用性。例如,评分过程可以被划分,然后每当注意到来自不同同步冗余设备122a...122n的状态数据之间的不一致时,根据需要被调用。而且,评分过程应用于多个同步冗余设备和多个系统(即,包括同步冗余设备122a...122n和计算设备102或计算系统202的网络)。因此,整个系统可以使用一致且共同的技术,用于根据物理、逻辑和虚拟特征处理来自冗余视图的状态数据中的不一致。
这样,选择系统120选择最有可能呈现正确和准确状态的状态数据。不存在一个“好”设备和一个“坏”设备,而是存在两个成功且正确地呈现状态/数据的设备。然而,所述呈现的输出是不兼容和不可调和的。本发明的实施例通过自动且自主的分辨来解决这一问题。
本发明的实施例提供了一致、量化的技术,用于当从同步冗余设备报告不同的状态数据时,决定要使用哪组状态数据,而没有LRC或CRC技术的开销,但是与任意选择状态数据相比具有更高的准确性。通过使用来自大量源的不同类型的各种标准的非常大的集合,并且使用量化评分系统平衡这些标准,本发明的实施例还避免了传统技术中的问题,即仅使用一个或少数用于评估有效性的标准。
附加实现细节
所述实施例可以被实现为一种使用编程和/或工程技术产生软件、固件、硬件或者其任意组合的方法、装置或者产品。这里所使用的术语“产品”和“电路”是指采用硬件逻辑(例如,集成电路芯片、可编程门阵列(PGA)、专用集成电路(ASIC)等)实现的状态机、代码或逻辑,或者计算机可读介质,例如磁存储介质(例如,硬盘驱动器、软盘、磁带等)、光存储装置(CD-ROM、光盘等)、易失性和非易失性存储器设备(例如,EEPROM、ROM、PROM、RAM、DRAM、SRAM、固件、可编程逻辑等)。计算机可读介质中的代码由处理器访问并执行。当由处理器执行代码或逻辑时,该电路可以包括含有该代码或逻辑的介质以及执行从该介质装载的代码的处理器。实现优选实施例的代码还可通过传输介质或者在网络上从文件服务器访问。在这些情况下,实现该代码的产品可以包括传输介质,如网络传输线、无线传输介质、通过空间传播的信号、无线电波、红外线信号等。这样,“产品”可以包括实施了该代码的介质。另外,“产品”可以包括实施、处理和执行该代码的硬件和软件组件的组合。当然,本领域的技术人员应当认识到,可以对该配置进行很多修改,并且产品可以包括在本技术领域内公知的任何信息承载介质。另外,设备、适配器等可以在适配器或主板上的一个或多个集成电路中实现。
特定实施例可以涉及一种用于通过人或者自动处理来部署计算指令从而将计算机可读代码集成到计算系统中的方法,其中使得与计算系统相结合的代码能够执行所述实施例的操作。
图3和4的逻辑描述了以特定次序发生的特定操作。在可选实施例中,可以以不同次序执行、修改或删除某些逻辑操作。而且,可以添加操作到上述逻辑,并且仍然遵循所述实施例。此外,这里所述的操作可以顺序地发生,或者可以并行处理某些操作,或者可以通过分布式过程执行由单个过程执行的所述操作。
图3和4的所示逻辑可以采用软件、硬件、可编程和不可编程门阵列逻辑或者硬件、软件或门阵列逻辑的某种组合来实现。
本发明实施例的前面描述是为了示例说明和描述的目的而给出的。它并不旨在是彻底无遗漏的或者将本发明的实施例局限于所公开的确切形式。根据上述教导,很多修改和变化是可能的。本发明实施例的范围并不旨在由本详细描述限制,而是由所附权利要求限定。上面说明书、例子和数据提供了制造和使用本发明实施例的构成的完整描述。由于在不脱离本发明实施例的精神和范围的情况下可以实现本发明的很多实施例,因此本发明的实施例落入所附权利要求或者任何随后提交的权利要求及其等效物内。
Claims (35)
1.一种用于选择状态数据的方法,包括:
从多个同步冗余设备获得冗余视图;
确定来自所述多个同步冗余设备的冗余视图发生冲突;
根据来自至少两个特征类型的每个的一个或多个特征,为每个冗余视图计算冗余视图得分,其中这些特征与加权得分相关联;以及
根据为每个冗余视图算出的冗余视图得分,选择冗余视图之一。
2.如权利要求1所述的方法,其中计算冗余视图得分还包括:
选择每个特征类型;以及
向每个特征类型的每个冗余视图分配得分。
3.如权利要求2所述的方法,还包括:
对每个特征类型的分配得分进行求和,以生成冗余视图的冗余视图得分。
4.如权利要求1所述的方法,其中特征类型为物理、逻辑和虚拟。
5.如权利要求1所述的方法,其中在同步冗余设备所连接的计算设备正在工作时修改加权得分,并且其中同步冗余设备对应于冗余视图。
6.如权利要求1所述的方法,其中同步冗余设备是作为相互同步的相同类型设备的多个单元的设备。
7.如权利要求1所述的方法,其中所述一个或多个特征包括与状态数据中的硬件指示符相关联的物理特征。
8.如权利要求1所述的方法,其中所述一个或多个特征包括与硬件指示符所表示的值相关联的逻辑特征。
9.如权利要求1所述的方法,其中所述一个或多个特征包括与其它硬件设备、其它系统和设备指示符直接相关、以及与全部同步冗余设备直接相关的虚拟特征。
10.如权利要求1所述的方法,其中冗余视图提供呈现互斥状态的不同的多组状态数据。
11.一种用于选择状态数据的产品,其中所述产品能够导致执行多个操作,并且其中所述操作包括:
从多个同步冗余设备获得冗余视图;
确定来自所述多个同步冗余设备的冗余视图发生冲突;
根据来自至少两个特征类型的每个的一个或多个特征,为每个冗余视图计算冗余视图得分,其中这些特征与加权得分相关联;以及
根据为每个冗余视图算出的冗余视图得分,选择冗余视图之一。
12.如权利要求11所述的产品,其中用于计算冗余视图得分的操作还包括:
选择每个特征类型;以及
向每个特征类型的每个冗余视图分配得分。
13.如权利要求12所述的产品,其中所述操作还包括:
对每个特征类型的分配得分进行求和,以生成冗余视图的冗余视图得分。
14.如权利要求11所述的产品,其中特征类型为物理、逻辑和虚拟。
15.如权利要求11所述的产品,其中在同步冗余设备所连接的计算设备正在工作时修改加权得分,并且其中同步冗余设备对应于冗余视图。
16.如权利要求11所述的产品,其中同步冗余设备是作为相互同步的相同类型设备的多个单元的设备。
17.如权利要求11所述的产品,其中所述一个或多个特征包括与状态数据中的硬件指示符相关联的物理特征。
18.如权利要求11所述的产品,其中所述一个或多个特征包括与硬件指示符所表示的值相关联的逻辑特征。
19.如权利要求11所述的产品,其中所述一个或多个特征包括与其它硬件设备、其它系统和设备指示符直接相关、以及与全部同步冗余设备直接相关的虚拟特征。
20.如权利要求11所述的产品,其中冗余视图提供呈现互斥状态的不同的多组状态数据。
21.一种用于选择状态数据的系统,包括:
存储装置;以及
能够执行多个操作的电路,所述操作包括:
从多个同步冗余设备获得冗余视图;
确定来自所述多个同步冗余设备的冗余视图发生冲突;
根据来自至少两个特征类型的每个的一个或多个特征,为每个冗余视
图计算冗余视图得分,其中这些特征与加权得分相关联;以及
根据为每个冗余视图算出的冗余视图得分,选择冗余视图之一。
22.如权利要求21所述的系统,其中用于计算冗余视图得分的操作还包括:
选择每个特征类型;以及
向每个特征类型的每个冗余视图分配得分。
23.如权利要求22所述的系统,其中所述操作还包括:
对每个特征类型的分配得分进行求和,以生成冗余视图的冗余视图得分。
24.如权利要求21所述的系统,其中特征类型为物理、逻辑和虚拟。
25.如权利要求21所述的系统,其中在同步冗余设备所连接的计算设备正在工作时修改加权得分,并且其中同步冗余设备对应于冗余视图。
26.如权利要求21所述的系统,其中同步冗余设备是作为相互同步的相同类型设备的多个单元的设备。
27.如权利要求21所述的系统,其中所述一个或多个特征包括与状态数据中的硬件指示符相关联的物理特征。
28.如权利要求21所述的系统,其中所述一个或多个特征包括与硬件指示符所表示的值相关联的逻辑特征。
29.如权利要求21所述的系统,其中所述一个或多个特征包括与其它硬件设备、其它系统和设备指示符直接相关、以及与全部同步冗余设备直接相关的虚拟特征。
30.如权利要求21所述的系统,其中冗余视图提供呈现互斥状态的不同的多组状态数据。
31.一种用于部署计算基础结构的方法,包括将计算机可读代码集成到计算系统中,其中与所述计算系统相结合的所述代码能够执行:
从多个同步冗余设备获得冗余视图;
确定来自所述多个同步冗余设备的冗余视图发生冲突;
根据来自至少两个特征类型的每个的一个或多个特征,为每个冗余视图计算冗余视图得分,其中这些特征与加权得分相关联;以及
根据为每个冗余视图算出的冗余视图得分,选择冗余视图之一。
32.如权利要求31所述的方法,其中计算冗余视图得分还包括:
选择每个特征类型;以及
向每个特征类型的每个冗余视图分配得分。
33.如权利要求32所述的方法,还包括:
对每个特征类型的分配得分进行求和,以生成冗余视图的冗余视图得分。
34.如权利要求31所述的方法,其中特征类型为物理、逻辑和虚拟。
35.如权利要求31所述的方法,其中在同步冗余设备所连接的计算设备正在工作时修改加权得分,并且其中同步冗余设备对应于冗余视图。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/984,071 | 2004-11-08 | ||
US10/984,071 US7624336B2 (en) | 2004-11-08 | 2004-11-08 | Selection of status data from synchronous redundant devices |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1773459A true CN1773459A (zh) | 2006-05-17 |
CN100373345C CN100373345C (zh) | 2008-03-05 |
Family
ID=36462268
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005100965195A Expired - Fee Related CN100373345C (zh) | 2004-11-08 | 2005-08-22 | 从同步冗余设备选择状态数据的方法和系统 |
Country Status (3)
Country | Link |
---|---|
US (1) | US7624336B2 (zh) |
CN (1) | CN100373345C (zh) |
TW (1) | TWI370356B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103389919A (zh) * | 2013-07-30 | 2013-11-13 | 浙江中控技术股份有限公司 | 一种基于冗余设备系统的数据处理方法及装置 |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8782654B2 (en) | 2004-03-13 | 2014-07-15 | Adaptive Computing Enterprises, Inc. | Co-allocating a reservation spanning different compute resources types |
WO2005089239A2 (en) | 2004-03-13 | 2005-09-29 | Cluster Resources, Inc. | System and method of providing a self-optimizing reservation in space of compute resources |
US20070266388A1 (en) | 2004-06-18 | 2007-11-15 | Cluster Resources, Inc. | System and method for providing advanced reservations in a compute environment |
US8176490B1 (en) | 2004-08-20 | 2012-05-08 | Adaptive Computing Enterprises, Inc. | System and method of interfacing a workload manager and scheduler with an identity manager |
WO2006053093A2 (en) | 2004-11-08 | 2006-05-18 | Cluster Resources, Inc. | System and method of providing system jobs within a compute environment |
US8863143B2 (en) | 2006-03-16 | 2014-10-14 | Adaptive Computing Enterprises, Inc. | System and method for managing a hybrid compute environment |
US9231886B2 (en) | 2005-03-16 | 2016-01-05 | Adaptive Computing Enterprises, Inc. | Simple integration of an on-demand compute environment |
JP4555713B2 (ja) * | 2005-03-17 | 2010-10-06 | 富士通株式会社 | エラー通知方法及び情報処理装置 |
CA2603577A1 (en) | 2005-04-07 | 2006-10-12 | Cluster Resources, Inc. | On-demand access to compute resources |
US20070226536A1 (en) * | 2006-02-06 | 2007-09-27 | Crawford Timothy J | Apparatus, system, and method for information validation in a heirarchical structure |
US7793147B2 (en) * | 2006-07-18 | 2010-09-07 | Honeywell International Inc. | Methods and systems for providing reconfigurable and recoverable computing resources |
US8041773B2 (en) | 2007-09-24 | 2011-10-18 | The Research Foundation Of State University Of New York | Automatic clustering for self-organizing grids |
US8001003B1 (en) * | 2007-09-28 | 2011-08-16 | Amazon Technologies, Inc. | Methods and systems for searching for and identifying data repository deficits |
JP5148236B2 (ja) | 2007-10-01 | 2013-02-20 | ルネサスエレクトロニクス株式会社 | 半導体集積回路及び半導体集積回路の制御方法 |
US11720290B2 (en) | 2009-10-30 | 2023-08-08 | Iii Holdings 2, Llc | Memcached server functionality in a cluster of data processing nodes |
US10877695B2 (en) | 2009-10-30 | 2020-12-29 | Iii Holdings 2, Llc | Memcached server functionality in a cluster of data processing nodes |
US9462441B2 (en) | 2014-07-01 | 2016-10-04 | At&T Intellectual Property I, L.P. | Method and apparatus for dynamically managing user profiles and status change information |
US11204841B2 (en) * | 2018-04-06 | 2021-12-21 | Micron Technology, Inc. | Meta data protection against unexpected power loss in a memory system |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6131182A (en) | 1997-05-02 | 2000-10-10 | International Business Machines Corporation | Method and apparatus for synthesizing and optimizing control logic based on SRCMOS logic array macros |
US6119244A (en) | 1998-08-25 | 2000-09-12 | Network Appliance, Inc. | Coordinating persistent status information with multiple file servers |
US6370605B1 (en) * | 1999-03-04 | 2002-04-09 | Sun Microsystems, Inc. | Switch based scalable performance storage architecture |
US6963863B1 (en) * | 1999-09-28 | 2005-11-08 | Thomas Bannon | Network query and matching system and method |
US6578158B1 (en) * | 1999-10-28 | 2003-06-10 | International Business Machines Corporation | Method and apparatus for providing a raid controller having transparent failover and failback |
JP2003526988A (ja) * | 2000-03-08 | 2003-09-09 | エイアールエム リミテッド | ビット−スライスの順に実施したパス計量更新におけるビタービ復号化 |
US6587970B1 (en) * | 2000-03-22 | 2003-07-01 | Emc Corporation | Method and apparatus for performing site failover |
US6901575B2 (en) | 2000-10-25 | 2005-05-31 | Numerical Technologies, Inc. | Resolving phase-shift conflicts in layouts using weighted links between phase shifters |
US6785841B2 (en) * | 2000-12-14 | 2004-08-31 | International Business Machines Corporation | Processor with redundant logic |
-
2004
- 2004-11-08 US US10/984,071 patent/US7624336B2/en not_active Expired - Fee Related
-
2005
- 2005-08-22 CN CNB2005100965195A patent/CN100373345C/zh not_active Expired - Fee Related
- 2005-11-02 TW TW094138492A patent/TWI370356B/zh not_active IP Right Cessation
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103389919A (zh) * | 2013-07-30 | 2013-11-13 | 浙江中控技术股份有限公司 | 一种基于冗余设备系统的数据处理方法及装置 |
CN103389919B (zh) * | 2013-07-30 | 2016-09-14 | 浙江中控技术股份有限公司 | 一种基于冗余设备系统的数据处理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
US7624336B2 (en) | 2009-11-24 |
TW200639630A (en) | 2006-11-16 |
CN100373345C (zh) | 2008-03-05 |
TWI370356B (en) | 2012-08-11 |
US20060112308A1 (en) | 2006-05-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1773459A (zh) | 从同步冗余设备选择状态数据的方法和系统 | |
Zimmermann et al. | Predicting defects using network analysis on dependency graphs | |
CN1648865A (zh) | 为记录事件提供前置与后置处理程序的方法与装置 | |
US20090006066A1 (en) | Method and System for Automatic Selection of Test Cases | |
US7353496B2 (en) | Storage controller software development support system and software development support method | |
CN101042673A (zh) | 软件测试系统及测试方法 | |
CN1648871A (zh) | 发生中断时按其类型限定性能监视事件收集的方法与装置 | |
CN1542621A (zh) | 检测程序模式的方法和设备 | |
CN1734448A (zh) | 对用户指定电子表格函数的支持 | |
CN1960297A (zh) | 监控网络上设备组的系统与方法 | |
CN100435138C (zh) | 数字信号处理器中执行多个向量稀疏卷积方法与系统 | |
CN1716246A (zh) | 用于web应用的多列多数据类型的国际化排序扩展方法 | |
CN1716184A (zh) | 处理器和流水线重配置控制方法 | |
CN115146865A (zh) | 基于人工智能的任务优化方法及相关设备 | |
KR20190022434A (ko) | 데이터베이스 시스템의 최적화 방법, 시스템, 전자장치 및 저장매체 | |
CN111984426A (zh) | 任务调度方法、装置、电子设备及存储介质 | |
CN107066522B (zh) | 数据库的访问方法和装置 | |
CN1959643A (zh) | 用于重新分配客户端的设备、系统和方法 | |
CN113590632B (zh) | 数据库索引创建方法、装置、设备及介质 | |
US8463799B2 (en) | System and method for consolidating search engine results | |
CN1604041A (zh) | 多处理器数据处理系统中对分区指派处理器的方法和系统 | |
US20200380037A1 (en) | Information Retrieval Precision Evaluation Method, System and Device and Computer-Readable Storage Medium | |
CN1851652A (zh) | 嵌入式sram操作系统进程优先级轮转调度的实现方法 | |
CN1825288A (zh) | 嵌入式sram操作系统进程多队列调度的实现方法 | |
CN114067917A (zh) | 基于调优参数的gatk超级计算机系统 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20080305 Termination date: 20200822 |