[发明专利]容错系统和用于执行容错的方法有效
申请号: | 201310429935.7 | 申请日: | 2013-09-18 |
公开(公告)号: | CN103678023A | 公开(公告)日: | 2014-03-26 |
发明(设计)人: | 吉田善贵;植原正太;大野毅 | 申请(专利权)人: | 横河电机株式会社 |
主分类号: | G06F11/07 | 分类号: | G06F11/07;G06F9/455 |
代理公司: | 北京天昊联合知识产权代理有限公司 11112 | 代理人: | 陈源;李铭 |
地址: | 日本*** | 国省代码: | 日本;JP |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 容错 系统 用于 执行 方法 | ||
技术领域
本发明涉及使用虚拟机的容错系统以及使用虚拟机来执行容错的方法。
背景技术
容错系统是这样一种系统,即使在系统配置的一部分中出现缺陷的情况下,容错系统也能够继续操作,而不会使整个系统崩溃,并且容错系统尤其适用于要求具有高度有效性和不间断系统有效性的系统。例如,即使在发生硬件故障的情况下,采用了容错系统的服务器计算机也可以输出正确的数据,而不会有对来自外部装置的客户应用程序进行的网络访问作出响应的通信错误。
如JP-A-2009-80695所公开的,已知一种在运行于两台彼此通信的计算机上的虚拟机中实现容错系统的技术。使用虚拟机的容错系统将这两台虚拟机的执行状态同步,以进行相同的操作。当在其中一台计算机中出现故障时,在另一台计算机中操作的虚拟机接管处理,由此连续而不中断地提供系统的服务。
在使用虚拟机的容错系统中,将一台虚拟机作为主虚拟机,而将另一台虚拟机设为次虚拟机。将主虚拟机构造为领先于次虚拟机执行同一操作并接管对关于外部装置进行输入/输出的控制。
通常,当执行相同程序的两台计算机以完全相同的定时从外部装置接收输入时,这两台计算机会进行相同的操作,并且输出相同的数据。因此,当在使用虚拟机的容错系统中基于外部输入发生中断时,该容错系统令主虚拟机将中断发生的时刻作为同步信息发送至次虚拟机。然后,以一定延迟运行的次虚拟机在与同步信息所通知的时刻相同的时刻产生虚拟中断,由此主虚拟机和次虚拟机以彼此同步的方式执行相同的操作。
图6是示出了传统的使用虚拟机的容错系统的配置的框图。如图6所示,容错系统60包括了在网络上彼此连接的主机600和次机700。
在主机600中,主管理程序620在作为物理计算机环境的主硬件610上运行,并且主机600中配置了主虚拟机630。在主虚拟机630中运行主客户OS(操作系统)640,并且在主客户OS640上执行应用程序650。
主硬件610配备有诸如CPU(中央处理单元)、内存、网络接口卡(NIC)、和存储器之类的多种装置。
主虚拟机630分配有主硬件610的一部分硬件资源,并且在虚拟计算机环境中接管与外部装置相关的输入/输出的控制。主虚拟机630由主管理程序620管理。
同样,在次机700中,次管理程序720在作为物理计算机环境的次硬件710上运行,并且次机700中配置了次虚拟机730。在次虚拟机730中运行次客户OS740,并且在次客户OS740上执行应用程序750。
次硬件710配备有诸如CPU、内存、网络接口卡(NIC)、和存储器之类的多种装置。
次虚拟机730分配有次硬件710的一部分硬件资源,并且在虚拟计算机环境中与主虚拟机630同步地操作。次虚拟机730由次管理程序720管理。
在传统的容错系统60中,在以下过程中主虚拟机630与次虚拟机730的执行状态彼此同步。
一旦接收到来自主硬件610的外部中断,主管理程序620则将该外部中断输入至主虚拟机630。
然后,主虚拟机630将虚拟中断输入至主客户OS640。现在,将要描述将虚拟中断从主虚拟机630输入至主客户OS640。
当在主客户OS640的处理期间出现诸如外部中断、特权指令、或异常之类的虚拟机上下文切换事件时,主客户OS640的处理被挂起,客户OS上下文被切换至虚拟机上下文,处理转移至主虚拟机630。
若主虚拟机630根据在其定时时刻的各种事件而需要在主客户OS640上输入虚拟中断,则主虚拟机630配置虚拟中断。当配置了虚拟中断时,主虚拟机630终止处理,当处理返回至在生成事件时刻被挂起的主客户OS640时,虚拟中断被输入至主客户OS640。
当主虚拟机630将虚拟中断输入至主客户OS640时,主虚拟机630将同步信息发送至次虚拟机730。同步信息包括对虚拟中断的识别信息、以及用于输入虚拟中断的同步定时信息。
同步定时信息是关于在与虚拟中断被输入至主客户OS640相同的时刻将虚拟中断输入至次客户OS740的信息,并且包括指示了执行挂起位置和CPU特有的执行指令的数量的信息。
作为执行挂起位置,可以使用表示当输入虚拟中断时所执行的指令地址的程序计数器的值。执行指令的数量可以由CPU中提供的性能计数器的CPU执行指令数量计数器来测量。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于横河电机株式会社,未经横河电机株式会社许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310429935.7/2.html,转载请声明来源钻瓜专利网。