首页> 中国专利> 使用隔绝的分区的弹性虚拟多路径资源访问

使用隔绝的分区的弹性虚拟多路径资源访问

摘要

用于虚拟多路径访问的技术包含计算装置,所述计算装置配置成隔绝恢复分区与主机分区,同时允许恢复分区访问主机分区的一个或多个资源(诸如存储器或数据存储装置)。远程计算装置确定主机分区是否响应。恢复分区响应于主机分区不响应的确定而从远程计算装置接收对于主机分区的主机状态数据的请求。恢复分区使用由主机分区维护的主机状态索引来检索请求的主机状态数据,并将请求的主机状态数据传送到远程计算装置。主机状态索引可标识请求的主机状态数据的位置。远程计算装置可基于接收的主机状态数据来执行恢复操作。描述并要求保护其它实施例。

著录项

  • 公开/公告号CN105765546A

    专利类型发明专利

  • 公开/公告日2016-07-13

    原文格式PDF

  • 申请/专利权人 英特尔公司;

    申请/专利号CN201380081050.0

  • 申请日2013-12-19

  • 分类号G06F13/36;G06F13/368;G06F12/16;

  • 代理机构中国专利代理(香港)有限公司;

  • 代理人徐予红

  • 地址 美国加利福尼亚州

  • 入库时间 2023-06-19 00:02:20

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-10-12

    授权

    授权

  • 2016-08-10

    实质审查的生效 IPC(主分类):G06F13/36 申请日:20131219

    实质审查的生效

  • 2016-07-13

    公开

    公开

说明书

背景技术

在计算群集(包含云计算群集)中执行的许多典型应用要求高度可用性、冗余性或鲁棒性的其它测量。在此类应用中,状态数据通常遍及计算群集传播,以阻止引入单个节点作为故障点。例如,商务关键应用(诸如销售和客户记账系统)通常必须是防止单点故障的故障安全。计算群集中的节点可由于硬件故障、软件故障、网络故障、电力故障或其它非计划停运的任何组合而引起瘫痪。然而,软件故障(包含软件漏洞、软件误配置、由于瞬时硬件错误引起的崩溃以及所有其它软件故障)通常比任何其它故障源更常见。

在一些系统中,可通过计算群集,通过在群集的所有节点之间发送的同步更新消息传播应用状态。附加地或备选地,在一些系统中,可将应用状态同步记录到全局存储装置,诸如存储区域网络或网络附连的存储体。在此类应用中,节点和/或全局存储装置之间的同步是通信开销、设备和设施成本以及复杂性的主要来源,并且还降低了系统的灵活性。此外,此类系统无法缩放到大量节点,诸如对于云计算应用所需的节点。

附图说明

在附图中作为示例而非作为限制图示本文描述的概念。为了图示的简洁和清晰起见,在附图中图示的元件不一定按比例绘制。在视为适当的地方,在各图之间重复附图标记以指示对应或类似元件。

图1是用于弹性虚拟多路径资源访问的系统的至少一个实施例的简化框图;

图2是由图1系统可建立的各种环境的至少一个实施例的简化框图;

图3是可由图1和图2系统的计算装置执行的用于分区隔离的方法的至少一个实施例的简化流程图;

图4是图1和图2的计算装置的分区存储器的示意性图示。

图5是可由图1和图2系统的计算装置执行的用于更新主机状态数据的方法的至少一个实施例的简化流程图;

图6是可由图1和图2系统的计算装置执行的用于恢复主机状态数据的方法的至少一个实施例的简化流程图;以及

图7是可由图1和图2系统的另一计算装置执行的用于远程接收和恢复主机状态数据的方法的至少一个实施例的简化流程图。

具体实施方式

虽然本公开的概念易受到各种修改和备选形式,但其特定实施例已经在附图中作为示例示出了,并且将在本文中详细描述。然而,应该理解,没有意图将本公开的概念局限于所公开的具体形式,而是相反,本发明覆盖与本公开和所附权利要求书一致的所有修改、等同物和备选。

在说明书中提到“一个实施例”、“实施例”、“图示实施例”等指示所描述的实施例可包含具体特征、结构或特性,但每一个实施例可以一定或者可以不一定包含该具体特征、结构或特性。而且,此类短语不一定是指同一实施例。另外,当结合实施例描述具体特征、结构或特性时,认为结合不管是否明确描述的其它实施例来实现此类特征、结构或特性在本领域技术人员的知识范围内。此外,应该认识到,包含在以“A、B和C中的至少一个”的形式的列表中的项目可指的是(A);(B);(C);(A和B);(A和C);(B和C)或(A,B和C)。类似地,包含在以“A、B或C中的至少一个”形式的列表中的项目可指的是(A);(B);(C);(A和B);(A和C);(B和C)或(A,B和C)。

所公开的实施例在一些情况下可用硬件、固件、软件或它们的任何组合来实现。所公开的实施例也可实现为由一个或多个易失性或非易失性机器可读(例如计算机可读)介质携带或存储在其上的指令,其可由一个或多个处理器读取和执行。机器可读存储介质可实施为用于存储或传送由机器(例如易失性或非易失性存储器、媒体盘或其它媒体装置)可读形式的信息的任何存储装置、机制或其它物理结构。

在附图中,一些结构或方法特征可按特定布置和/或排序示出。然而,应该认识到,可能不需要此类特定布置和/或排序。而是,在一些实施例中,此类特征可按与在说明性附图中示出的不同的方式和/或次序布置。此外,在具体附图中包含结构或方法特征不打算暗示此类特征在所有实施例中都需要,并且在一些实施例中,可能不包含或者可与其它特征组合。

现在参考图1,在一个实施例中,用于虚拟多路径资源访问的系统100包含通过网络106通信的若干计算装置102。在使用时,如下面更详细论述的,每个计算装置102可使用平台固件和/或硬件建立两个隔绝的计算域:主机分区和恢复分区。主机分区执行主机应用、主机操作系统和/或虚拟机监视器,并且通过系统100的其它计算装置102同步传播对远程状态数据104的状态改变。如果主机分区崩溃或者变得不响应,则恢复分区对来自其它计算装置102的对于主机状态数据的请求做出响应。恢复分区访问主机分区的资源,诸如存储器和/或数据存储装置,并将请求的数据返回到远程计算装置102。下面进一步描述用于隔绝主机分区与恢复分区的技术的具体实施例。远程计算装置102可使用接收的主机状态数据来更新远程状态数据104或执行其它恢复操作。说明性系统100包含若干同质计算装置102;然而,在一些实施例中,系统100可包含其它装置,诸如专用备份/高可用性/灾难恢复装置。

通过允许通过恢复分区对主机状态数据进行异步访问,系统100允许使用普通服务器硬件对状态数据进行按需多路径访问。使用普通硬件与相对外来的硬件(例如包含多端口存储器或数据存储装置)比较可降低成本。附加地,按需多路径访问允许每一个计算装置102继续处理主机应用,而不完全同步远程状态数据104。从而,系统100可能已经增大了缩放性和性能。系统100的鲁棒性和/或正确性与具有同步远程状态更新的系统相比较可不那么大改变,因为禁用整个计算装置102的硬件故障可能比仅禁用主机分区的软件故障或其它瞬时故障少得多。而且,隔离恢复分区与主机分区允许恢复分区小且可靠,这可增大系统100的鲁棒性。

每个计算装置102都可被实施为能够执行本文描述的功能的任何类型计算装置,包含而不限于计算机、多处理器系统、服务器、机架式安装的服务器、刀片服务器、膝上型计算机、笔记本计算机、网络电器、万维网电器、分布式计算系统、基于处理器的系统和/或消费电子装置。如图1所示,计算装置102包含多核处理器120、输入/输出子系统124、存储器126、数据存储装置130和网络接口134。当然,在其它实施例中,计算装置102可包含其它或附加组件,诸如在服务器装置中发现的组件(例如各种输入/输出装置)。此外,在一些实施例中,一个或多个说明性组件可合并在另一组件中,或以别的方式形成另一组件的一部分。例如,在一些实施例中,存储器126或其部分可被合并在一个或多个处理器120中。

处理器120可被实施为能够执行本文描述的功能的任何类型处理器。说明性处理器120是多核处理器,然后在其它实施例中,每个处理器120可实施为单核或多核处理器、数字信号处理器、微控制器或其它处理器或处理/控制电路。说明性处理器120包含四个处理器核122,每一个处理器核都是能够执行编程指令的独立处理单元。尽管说明性处理器120包含四个处理器核122a至122d,但在其它实施例中处理器120可包含更少或更多数量的处理器核122。

存储器126可实施为能够执行本文描述的功能的任何类型易失性或非易失性存储器或数据存储装置。在操作中,存储器126可存储在计算装置102操作期间使用的各种数据和软件,诸如操作系统、应用、程序、库以及驱动。存储器126还可存储主机状态128,其可跨系统100复制,并且万一崩溃就被恢复,如下面进一步描述的。存储器126以通信方式经由I/O子系统124耦合到处理器120,I/O子系统104可实施为电路和/或组件以便于与计算装置102的处理器120、存储器126和/或其它组件的输入/输出操作。例如,I/O子系统124可实施为或以别的方式包含存储器控制器集线器、输入/输出控制集线器、固件装置、通信链路(即,点对点链路、总线链路、导线、电缆、光导、印刷电路板迹线等)和/或其它组件和子系统以便于输入/输出操作。在一些实施例中,I/O子系统124可形成片上系统(SoC)的一部分,并与计算装置102的处理器120、存储器126和其它组件一起结合在单个集成电路芯片上。

数据存储装置130可实施为配置用于数据的短期存储或长期存储的任何类型装置,诸如例如存储器装置和电路、存储卡、硬盘驱动器、固态驱动器或其它数据存储装置。数据存储装置130还可存储主机状态132,其可跨系统100复制,并且万一崩溃就被恢复,如下面进一步描述的。数据存储装置130的主机状态132可充当后备存储器(例如对换空间),用于或者以别的方式拷贝存储器126的主机状态128,或者可以是唯一的。

计算装置102的网络接口134可实施为能够实现计算装置102与其它远程装置之间通过网络106通信的任何通信电路、装置或它们的集合。网络接口134可配置成使用任一个或多个通信技术(例如有线或无线通信)以及关联的协议(例如以太网、蓝牙?、Wi-Fi?、WiMAX等)来实现此类通信。说明性网络接口134被实施为包含两个端口136的以太网适配器。每一个端口136a、136b都允许通过网络106对远程主机进行独立访问,并且端口136可彼此隔绝、分区和/或以别的方式隔离。在其它实施例中,网络接口134可实施为具有至少两个虚拟网络接口的虚拟机装置队列启用的网络接口卡、实施为一对物理网络适配器或者实施为允许隔绝和/或独立访问网络106的任何其它网络接口。

远程状态数据104存储对于系统100的不同实体之间的状态一致性传播的信息,包含分布式应用的状态、数据库、具体计算装置102的状态128、132或其它分布式数据。远程状态数据104可实施为专用数据库服务器、分布式数据存储装置或能够维护系统100的一致状态的任何其它数据存储系统。因此,远程状态数据104的拷贝或部分可存储在每个计算装置102的数据存储装置130和/或存储器126中。远程状态数据104可被异步复制或更新,使得远程状态数据104最终对应于各个计算装置102的状态。

如下面更详细论述的,计算装置102配置成通过网络106用彼此、远程状态数据104和/或系统100的其它装置传送和接收数据。网络106可实施为任何数量的各种有线和/或无线网络。例如,网络106可实施为或否者包含有线或无线局域网(LAN)、有线或无线广域网(WAN)、蜂窝网络和/或可公开访问的全球网诸如因特网。因此,网络106可包含任何数量的附加装置,诸如附加计算机、路由器和交换机,以便于系统100的装置之间的通信。

现在参考图2,在说明性实施例中,计算装置102a在操作期间建立环境200。说明性环境200包含隔离模块202、主机分区204和恢复分区206。环境200的各种模块可实施为硬件、固件、软件或它们的组合。

隔离模块202配置成隔绝恢复分区206与主机分区204。隔绝分区204、206可建立严格的计算和/或存储隔离和访问控制,访问控制可由计算装置102a的硬件和/或固件实施。从而,隔绝防止了主机分区204和/或恢复分区206之间资源的不受控共享。然而,隔绝是不对称的,这意味着,恢复分区206至少具有对主机分区204资源(包含存储器126和/或数据存储装置130的段)的只读访问。隔离模块202可使用硬件、预引导固件或任何其它技术来隔绝计算装置102a的组件,而不依赖虚拟机管理器(VMM)或操作系统。此类低级隔绝从而可容忍VMM和/或操作系统内的软件故障。

给主机分区204指配了计算装置102a的硬件资源的子集。在说明性实施例中,已经给主机分区204指配了网络端口136a和处理器核122a、122b、122c。从而,对于主机分区204的任何模块,计算装置102a可被呈现和/或检测为具有三核处理器120和单端口网络接口134。主机分区204还包含VMM/主机操作系统208、状态更新模块210、主机状态索引212和主机状态数据214。当然,在其它实施例中,其它或附加资源可被指配给主机分区204。

VMM/主机操作系统(OS)208可被实施为任何虚拟机监视器、管理程序、通用操作系统、专用操作系统或允许应用工作载荷在计算装置102a上执行的其它组件。VMM/主机OS208可托管和/或执行若干虚拟机实例、守护进程、服务器进程或执行计算和/或提供服务的任何其它应用。例如,VMM/主机OS208可托管提供商务应用(诸如处理客户记账)的若干虚拟机。在执行VMM/主机OS208期间,在其内托管的任何应用都可生成对主机分区204的主机状态数据214的改变。

状态更新模块210配置成维护主机状态索引212,并更新主机状态数据214。状态更新模块210可将对主机状态数据214的更新记录在主机状态索引212中,之后更新主机状态数据214。在一些实施例中,状态更新模块210可将主机状态更新传送到一个或多个远程计算装置102。例如,状态更新模块210可将主机状态更新传送到一个或多个高可用性/灾难恢复对等计算装置102b,如下所述。从而,状态更新模块210确保主机状态索引212和主机状态数据214在主机分区204内维持在一致状态,并且可传送主机状态数据以更新系统100的其它计算装置102。

主机状态数据214包含主机分区204可访问的任何数据,所述数据定义、描述或以其它方式涉及VMM/主机OS208的状态或在其内托管的任何应用。例如,主机状态数据214可包含存储在存储器126内的主机状态128、存储在数据存储装置130内的主机状态132或该数据的任何组合。在一些实施例中,主机状态数据214可包含原始数据。附加地或备选地,主机状态数据214可包含逻辑应用数据。例如,主机状态数据214可定义或描述所命名的任何数量应用对象(诸如变量、数据结构、数据库、数据库记录、文件、存储体或类似应用对象)的状态。主机状态索引212可被实施为允许计算装置102a导航和检索来自主机状态数据214的数据的任何数据结构。主机状态索引212可描述应用对象之间的层级和其它关系,并且可将应用对象的位置存储在存储器126和/或数据存储装置130中。主机状态索引212以计算装置102a的所有组件(包含恢复分区206)可使用的方式存储数据。例如,主机状态索引212可实施为将应用对象标识符与存储器126内的虚拟地址关联的键-值图。在该示例中,主机状态索引212可还包含页转换表以将虚拟地址转换成存储器126内的物理地址。

向恢复分区206指配计算装置102a的硬件资源的子集。在说明性实施例中,已经向恢复分区206指配了网络端口136b和处理器核122d。从而,对于恢复分区206的任何模块,计算装置102a可被呈现和/或检测为具有单核处理器120和单端口网络接口134。恢复分区206还包含恢复模块216。当然,在其它实施例中,其它或附加资源可被指配给恢复分区206。

恢复模块216配置成从远程计算装置102(例如图2的计算装置102b)接收对于主机状态数据214的请求,检索请求的主机状态数据214,并将请求的主机状态数据214传送回远程计算装置102。在一些实施例中,恢复模块216可从高可用性/灾难恢复对等计算装置102b接收请求,这在那个计算装置102b已经检测到主机分区204不响应之后。如上所述,恢复模块216可访问主机状态索引212以定位所请求的主机状态数据214,不管主机分区204的状态如何。

恢复模块216可还包含或实施为实时操作系统(RTOS)218。RTOS218可实施为设计用于鲁棒和确定性执行的简单执行环境。例如,RTOS218可实施为有限状态自动架构,其可允许RTOS218的操作是可验证正确的。从而,恢复模块216的功能可由在隔离的恢复分区206中执行的可验证正确的RTOS218执行,所有这些都可增大计算装置102a的鲁棒性。

仍参考图2,在说明性实施例中,计算装置102a可通过网络106与充当高可用性或灾难恢复对等的计算装置102b通信。计算装置102b可在操作期间建立环境220。说明性环境220包含状态同步模块222、主机监视模块224和恢复模块226。环境220的各种模块可实施为硬件、固件、软件或它们的组合。

状态同步模块222配置成从计算装置102a接收更新的主机状态数据214。状态同步模块222可将那些主机状态更新应用到远程状态数据104,从而同步系统100的远程状态与计算装置102a的本地状态。在一些实施例中,状态同步模块222可向附加计算装置102传送主机状态更新,从而通过系统100传播主机状态数据214的改变。

主机监视模块224配置成监视计算装置102a,并确定主机分区204是否响应。主机分区204可响应于若干情形(包含软件崩溃、网络故障、硬件故障、电力丢失或其它故障)而不响应。主机监视模块224可使用任何可用技术来监视主机分区204,包含监视来自主机分区204的心跳信号,基于来自主机分区204的最后通信建立超时,主动PING主机分区204,或者其它技术。

恢复模块226配置成响应于主机监视模块224确定主机分区204不响应而向计算装置102a的恢复分区206发送对于主机状态数据214的请求。恢复模块226进一步配置成从恢复分区206接收所请求的主机状态数据214。当然,恢复模块226将仅在恢复分区206保持可操作的情形下接收响应;然而,在许多典型故障情形(诸如软件崩溃)下,恢复分区206可保持可操作。在一些实施例中,恢复模块226可在接收到主机状态数据214之后执行一个或多个恢复操作,诸如更新远程状态数据104,或重启计算装置102a或另一计算装置102上的主机分区204的应用。

现在参考图3,在使用中,计算装置102a可执行用于隔离主机分区204与恢复分区206的方法300。方法300开始于框302,在此启动计算装置102a。计算装置102a可响应于给装置上电、响应于硬复位或软复位或者响应于使计算装置102a开始处理的任何其它事件而启动。计算装置102a可在允许完全控制计算装置102a(包含完全控制所有硬件组件和外围装置)的模式下启动。例如,计算装置102a可在引导任何操作系统、管理程序、虚拟机监视器或计算装置102a的其它控制系统之前,在固件执行环境下启动。

在框304,计算装置102a隔绝主机分区204与恢复分区206。隔绝主机分区204与恢复分区206控制对计算装置102a的硬件资源(诸如处理器核122、存储器126或数据存储装置130)的访问。例如,主机分区204的VMM/主机OS208(或由VMM/主机OS208执行的应用)可访问某存储器126和/或处理器核122,并且可拒绝访问其它存储器126和/或处理器核122。硬件资源可在具有不同访问权限的不同分区之间共享。例如,可允许恢复分区206对VMM/主机OS208可访问的存储器126段进行只读访问。在一些实施例中,分区204、206之间的通信可通过受控制的通信信道(诸如固件邮箱或进程间通信)执行。对硬件资源的访问控制可由平台固件或硬件(诸如I/O子系统124)实施。因而,在隔绝之后,恢复分区206不能受损或以其它方式与主机分区204的数据和/或进程干扰。相比之下,在隔绝之后,恢复分区206可能能够对主机分区204的某些数据和/或进程至少进行只读访问。

在框306,计算装置102a可隔绝主机分区204和恢复分区206的某些处理器核122。例如,计算装置102a可用固件隔绝处理器核122。隔绝处理器核122在处理器核122的子集之间建立了严格隔离的计算分区(不是虚拟分区)。例如,在一些实施例中,处理器核122d可与处理器核122a、122b、122c隔绝。在该示例中,固件可允许由处理器核122d执行的进程将计算装置102a视为具有单核处理器120,并且固件可允许由处理器核122a、122b、122c执行的进程将计算装置102a视为具有三核处理器120。计算装置102a可将处理器核122的较小子集指配给恢复分区206;例如,可将处理器核122d指配给恢复分区206,并且可将处理器核122a、122b、122c指配给主机分区204。应该认识到,计算装置102a除了隔绝处理器核122之外还可类似地隔绝严格隔离的处理资源,诸如物理处理器或硬件线程。

在框308,在一些实施例中,计算装置102a可隔绝主机分区204与恢复分区206之间的存储器126。在隔绝之后,可在主机分区204与恢复分区206之间异步共享存储器126。在一些实施例中,可防止主机分区204访问由恢复分区206使用的存储器段,而恢复分区206可能能够对主机分区204使用的存储器126段进行只读访问。对存储器126的访问可通过固件、页表、存储器管理单元或任何其它存储器访问控制机制控制。现在参考图4,图400图示了隔绝之后的存储器126。如所图示的,存储器126已经被分区成主机段402和恢复段404。主机分区204的VMM/主机OS208对主机段402进行全访问(即读/写访问),而不访问恢复段404。恢复分区206的恢复模块216对主机段402进行只读访问,而对恢复段404进行全访问。主机段402还包含可包含主机状态索引212的子段406。如下面进一步描述的,恢复模块216也可对子段406进行只读访问。

参考回图3,在框310,在一些实施例中,计算装置102a可隔绝主机分区204与恢复分区206之间的数据存储装置130。类似于对存储器126进行分区,在隔绝之后,数据存储装置130可在主机分区204与恢复分区206之间异步共享。从而,数据存储装置130的段可能是主机分区204不可访问的,而恢复分区206可能对所有数据存储装置130进行至少只读访问。数据存储装置130的隔绝可通过固件、体分区或用于控制对数据存储装置130的访问的任何其它机制实施。

在隔绝主机分区204与恢复分区206之后,方法300同时前进到框312、314。在框312,计算装置102a启动主机分区204,并且在框314,计算装置102a启动恢复分区206。每一个分区204、206都可通过启动适当固件引导进程、操作系统加载程序或用于启动分区的其它方法启动。在启动之后,每一个分区204、206都可继续运行,直到计算装置102a下电或复位。分区204、206独立执行;因此,如下面进一步描述的,其中一个分区204、206的崩溃或受损状态不影响另一分区。

现在参考图5,在使用中,计算装置102a可执行用于更新主机状态数据的方法500。方法500可使用计算装置102a的主机分区204执行。例如,方法500可使用处理器核122a、122b、122c并引用存储器126的主机段402(见图4)来执行。方法500开始于框502,在此计算装置102a对主机启动事件做出响应。当初始启动主机分区204时生成主机启动事件,如上面结合图3的框312所描述的。附加地或备选地,可响应于软件或硬件复位事件而生成主机启动事件。在一些实施例中,可响应于启动从云计算控制器(未示出)接收的主机实例的命令而生成主机启动事件。

在框504中,计算装置102a初始化主机状态索引212。计算装置102a可分配、初始化或以其它方式填充主机导航映射以引用主机分区204的应用对象。附加地或备选地,计算装置102a可分配、初始化或以其它方式填充页转换表,以在计算装置102a的物理地址与在主机分区204中使用的虚拟地址之间转换。计算装置102a还可初始化数据存储装置130的类似数据结构。此外,计算装置102a可使主机状态索引212对恢复分区206可访问。在一些实施例中,在框506,计算装置102a可向恢复分区206发送页转换表和主机导航图的地址。主机分区204可使用用于将数据传递到恢复分区206的任何方法,包含通过固件邮箱传送,或者将数据放置在良好定义的物理地址。类似地,在一些实施例中,在框508,计算装置102a可将主机图的数据存储地址发送到恢复分区206。

在框510,计算装置102a启动主机分区204中的应用。计算装置102a可启动期望供系统100之用的任何应用。例如,计算装置102a可启动由云计算控制器(未示出)规定的虚拟图像。在一些实施例中,计算装置102a可启动VMM/主机OS208,其又可启动和管理具体应用。应用、多个应用或VMM/主机OS208继续与方法500同时执行。

在框512,计算装置102a监视主机状态更新的主机分区204中的应用。主机状态更新包含主机分区204的状态的任何改变,包含应用、多个应用、虚拟机、操作系统或在主机分区204内操作的任何其它实体的改变。对于主机状态更新的监视可以是主动的或被动的:也就是,主动监视可通过让所有软件(例如VMM/主机操作系统208和应用层)都调用指定库过程来登记经历持久状态修改的存储器地址、页地址、盘块以及页表条目来显式执行。被动监视可通过使用VMM/主机操作系统208的页保护技术俘获和记录类似地含有持久状态的页地址或盘块地址来执行。从而,在一些实施例中,主机状态更新可包含对存储器126一部分或数据存储装置130的改变。附加地或备选地,在一些实施例中,状态改变可包含对应用对象的逻辑状态的改变。如上所述,计算装置102a可使用任何技术来监视状态改变,诸如对于状态改变轮询、俘获状态改变或建立应用编程接口(“API”)以便接收状态改变。在框514,计算装置102a确定是否已经检测到状态改变。如果否,则方法500环回到框512,以继续监视状态改变。如果已经检测到状态改变,则方法500前进到框516。

在框516,计算装置102a将状态更新记录到主机状态索引212中。计算装置102a可更新元数据、对象名称、指针参考或其它索引信息以反映状态改变。在一些实施例中,主机状态索引212可被更新以反映状态更新悬而未决,在完成主机状态更新之前万一崩溃,允许主机状态保持一致。在一些实施例中,计算装置102a可以更新文件系统日志或类似数据结构。

在框518,计算装置102a向远程计算装置102b传送主机状态更新。计算装置102a使用已经被隔绝或以其它方式指配给主机分区204的网络接口134的端口136(例如端口136a)传送主机状态数据。远程计算装置102b可以是系统100的任何其它计算装置102。在说明性实施例中,远程计算装置102b可实施为高可用性或灾难恢复对等,其管理主机状态数据214到远程状态数据104的拷贝或复制。附加地或备选地,取决于计算装置102a的状态或远程状态数据104,远程计算装置102b相对于在计算装置102a、云计算控制器或任何其它计算装置102上执行的一个或多个应用可以是客户端或服务器。在一些实施例中,在框520,计算装置102a对状态更新排队以便异步传送。也就是,计算装置102a可向远程计算装置102b传送状态更新,而不等待接收收到、握手或远程计算装置102b成功接收到状态更新的其它指示的确认。在传送状态更新之后,方法前进到框522。

在框522中,计算装置102a更新主机状态数据214。在更新主机状态数据214之后,本地状态对在计算装置102a上本地执行的任何应用都是可用的。例如,可更新方法126或数据存储装置130以包含对主机状态数据214的更新。在更新主机状态数据214之后,方法500循环回到框512,以继续监视状态更新。

参考回框520,在一些实施例中,计算装置102a可对状态更新排队以便异步传送。在那些实施例中,方法500可前进到框524以传送状态更新。计算装置102a可产生新线程、进程,或使用任何其它并发机制来传送状态更新。在框524,计算装置102a向远程计算装置102b传送状态更新。在一些时间后,在框526,计算装置102a可从远程计算装置102b接收确认。该确认指示,远程计算装置102b成功接收到状态更新。在框528,计算装置102a可响应于接收到确认而修整主机状态索引212。计算装置102a可通过从更新列表中移除状态更新、将状态更新应用到元数据或以其它方式指示状态更新不再突出并且已经成功应用来修整主机状态索引212。在修整主机状态索引212之后,方法500的这个分支可完成。因为状态更新异步传送,因此可能不需要重新加入或以其它方式更新框512至522的主循环。

现在参考图6,在使用中,计算装置102a可执行用于恢复主机状态数据214的方法600。方法600使用计算装置102a的恢复分区206执行。例如,方法600可使用处理器核122d并引用来自存储器126的恢复段404的代码(见图4)来执行。方法600开始于框602,在此计算装置102a对主机启动事件做出响应。当初始启动恢复分区206时生成主机启动事件,如上面结合图3的框314所描述的。附加地或备选地,可响应于软件或硬件复位事件而生成主机启动事件。在一些实施例中,可响应于启动从云计算控制器(未示出)接收的主机实例的命令而生成主机启动事件。

在框604,计算装置102a接收并存储主机状态索引212的初始条件。在接收并存储初始条件之后,计算装置102a的恢复分区206能够访问和解析主机状态索引212。如上所述,主机状态索引212可包含主机导航图以引用主机分区204的应用对象,并且可包含页转换表以在由主机分区204使用的虚拟存储器地址与计算装置102a的物理地址之间转换。在一些实施例中,主机状态索引212可包含数据存储装置130的类似数据结构。在一些实施例中,在框606,计算装置102a可接收页转换表和主机导航图的物理地址。可使用用于信息共享的任何技术(诸如固件邮箱、在良好定义的物理存储器地址的共享存储器或任何其它技术)将物理地址从主机分区204转移到恢复分区206。在一些实施例中,在框608,计算装置102a可接收数据存储装置130的主机导航图的数据存储地址。类似地,计算装置102a可使用任何可用技术共享从主机分区204到恢复分区206的数据存储地址。

在框610,计算装置102a对于来自远程计算装置102b的恢复命令轮询网络接口134。计算装置102a可使用恢复分区206的RTOS218轮询网络接口134。在实时环境中轮询——与基于中断或多任务方法相对——允许计算装置102a的操作是可预测并且可验证地正确。计算装置102a可轮询已经被隔绝或以其它方式专用于恢复分区206的网络接口134的端口136(诸如端口136a)。通过使用专用端口,计算装置102a实现了可对主机分区204中的软件故障有抵抗力的独立网络路径。当然,在一些实施例中,计算装置102a可对于主机分区204和恢复分区206使用相同端口136和/或网络接口134。

在框612,计算装置102a确定是否已经从远程计算装置102b接收到恢复命令。如果尚未接收到命令,则方法600循环回到框610,以继续对于恢复命令轮询。如果已经接收到恢复命令,则方法600前进到框614。

在框614,计算装置102a访问来自恢复分区206内的主机状态索引212。计算装置102a可读取、拷贝、打开或以其它方式访问来自恢复分区206内的主机状态索引212。主机状态索引212可被存储在存储器126、数据存储装置130或那些装置的任何组合中。例如,计算装置102a可使用在框604接收和存储的页转换表和/或主机导航图的物理存储器地址来寻址存储器126内的主机状态索引212。

在框616,计算装置102a使用主机状态索引212检索由恢复命令请求的主机状态数据214。恢复命令可规定要检索的一个或多个应用对象。在一些实施例中,恢复命令可基于主机分区204使用的存储器或数据地址和偏移来请求主机状态数据214。计算装置102a可在主机状态索引212中查找请求的应用对象,并使用索引信息从主机状态数据214拷贝或以其它方式检索请求的数据。在一些实施例中,恢复命令可简单地请求所有主机状态数据214。在一些实施例中,计算装置102a可简单地迭代通过主机状态索引212中的每个条目,以检索请求的主机状态数据214。

在一些实施例中,在框618,计算装置102a可基于主机状态索引212的页转换表条目和主机导航图来访问计算装置102a的物理存储器126。例如,计算装置102a可接收对于与具体应用对象关联的主机状态数据214的请求。计算装置102a可在主机状态索引212的主机导航图中查找应用对象,并且确定由主机分区204使用的虚拟存储器地址。计算装置102a又可查找页转换表中的那个虚拟存储器地址,并且确定存储器126中的物理存储器地址。计算装置102a可通过拷贝在那个物理地址的数据来检索请求的主机状态数据214。

附加地或备选地,在框620,计算装置102a可基于主机导航图访问计算装置102a的数据存储装置130。例如,计算装置102a可接收对于与具体应用对象关联的主机状态数据214的请求。计算装置102a可在主机状态索引212的主机导航图中查找应用对象,并且确定由主机分区204使用的存储地址。存储地址可实施为信息节点号、逻辑块号、柱面-磁头-扇区号或可用于从数据存储装置130检索数据的其它地址。计算装置102a可通过拷贝在那个存储地址的数据来检索请求的主机状态数据214。

在框622,计算装置102a向远程计算装置102b传送请求的主机状态数据214。计算装置102a可传送原始数据,诸如存储器页或数据存储块。计算装置102a可使用网络接口134的隔绝的或专用的端口136传送数据。在传送请求的主机状态数据214之后,方法600循环回到框610,以继续对于附加恢复命令轮询。

现在参考图7,在使用中,远程计算装置102b可执行用于远程接收主机状态数据214的方法700。方法700开始于框702,其中远程计算装置102b监视计算装置102a上的主机分区204,以确定它是否响应。主机分区204可由于硬件或软件故障(包含主机分区204的任何应用或VMM/主机OS208的故障)而变得不响应。远程计算装置102b可使用任何方法来确定主机分区204是否响应。例如,远程计算装置102b可监视从主机分区204接收的心跳信号,维护自从主机分区204接收的最后通信的计时器,或主动探测主机分区204,例如通过PING主机分区。附加地或备选地,例如当主机分区204已经确定它需要此类外界援助时,主机分区204自身可通过让VMM/主机操作系统208或应用向远程计算装置102b发出将主机分区204视为不响应的消息来请求将它视为不响应。在框704,远程计算装置102b确定主机分区204是否响应。如果不响应,则方法700向前分支到框714,在下面描述。如果响应,则方法700前进到框706。

在框706,远程计算装置102b确定更新的主机状态数据214是否对于计算装置102a可用。远程计算装置102b可轮询主机分区204以请求状态更新,侦听来自主机分区204的连接,从主机分区204接收多播状态更新,或执行检测主机状态更新的任何其它动作。如果没有主机状态更新可用,则方法700循环回框702,以继续监视主机分区204以便重新响应。如果主机状态更新可用,则方法700前进到框708。

在框708,远程计算装置102b从主机分区接收更新的主机状态数据214。远程计算装置102b可从已经被隔绝或以其它方式专用于主机分区204的计算装置102a的端口136接收主机状态更新。在接收到主机状态更新之后,远程计算装置102b可执行由系统100和/或主机分区204的应用所需要的任何动作。例如,在说明性实施例中,远程计算装置102b是计算装置102a的高可用性/灾难恢复对等,并且从而,远程计算装置102b记录从主机分区204接收的所有主机状态数据214。在一些实施例中,在框710,远程计算装置102b将更新的主机状态数据214写到远程状态数据104中。如上所述,远程状态数据104可由远程计算装置102b存储,或以其它方式是远程计算装置102b可访问的,例如作为云存储。在写远程状态数据104之后,在一些实施例中,在框712,远程计算装置102b向计算装置102a的主机分区204异步传送确认。在接收到主机状态更新之后,方法700循环回框702,以继续监视主机分区204以便重新响应。

参考回框704,如果远程计算装置102b确定主机分区204不响应,则方法700向前分支到框714。在框714,远程计算装置102b向计算装置102a的恢复分区206请求主机状态数据214。远程计算装置102b可将请求主机状态数据214的恢复命令传送到已经被隔绝或以其它方式专用于恢复分区206的网络端口136。对于远程计算装置102b,该隔绝的网络端口136可好像是网络106上的单独主机。远程计算装置102b可请求主机状态数据214内的具体对象或地址。在一些实施例中,在框716,远程计算装置102b可请求需要状态更新的应用对象。例如,远程计算装置102b可请求在当主机分区变得不响应时是活动的事务中涉及的所有应用对象的状态更新。在一些实施例中,在框718,远程计算装置102b可向恢复分区206请求所有主机状态数据214。

在框720,远程计算装置102b从计算装置102a的恢复分区206接收请求的主机状态数据214。所接收的主机状态数据214可以是存储在计算装置102a上的主机状态数据214的完整拷贝,或者是基于请求的应用对象的主机状态数据214的子集。

在框722,远程计算装置102b基于接收的主机状态数据214来执行恢复操作。远程计算装置102b可执行任何恢复操作以允许系统100前进并从主机分区204的软件故障恢复。在一些实施例中,在框724,远程计算装置102b将接收的主机状态数据214写到远程状态数据104,其又可在系统100的所有计算装置102之间复制。写远程状态数据104可允许系统100的其它计算装置102继续正常操作,而不错过由主机分区204在故障之前对主机状态数据214进行的任何改变。在一些实施例中,在框726,远程计算装置102b可发送重启主机分区204的应用的消息。远程计算装置102b可将消息直接发送到计算装置102a和/或主机分区204,可将消息在内部发送到在远程计算装置102b上建立的主机分区204,或者可将消息发送到第三计算装置,诸如云计算控制器。重启应用例如可通过向计算装置102a发送使计算装置102a重启或使主机分区204和/或其应用以及恢复分区206复位并继续正常操作的主机启动事件来达成。另外,在一些实施例中,在恢复分区206已经读取请求的主机状态数据214之后,恢复分区206可引导计算装置102a执行进入自诊断和自修复模式的安全重启。附加地或备选地,重启应用可通过将主机启动消息发送到系统100的不同计算装置102(诸如远程计算装置102b或第三计算装置102)来达成。在此类实施例中,主机启动消息可被发送到“热插拔”或“故障接管”计算装置102,其能够使用远程状态数据104快速重启应用,远程状态数据104包含从恢复分区206接收的主机状态数据214。从而,系统100可能能够从故障中快速恢复。在执行恢复之后,方法700循环回框702,以继续监视计算装置102a以便重新响应。

尽管说明性方法700包含在框706-712从主机分区204接收远程主机状态数据214和在框702-704、714-726监视主机分区204以便重新响应以及恢复主机状态数据214,但应该理解到,在一些实施例中,那些功能可通过多个过程执行。例如,一个过程可监视计算装置102a以便重新响应,而另一个同时的过程可管理从计算装置102a接收和/或请求主机状态数据214。

示例

下面提供了本文公开的技术的说明性示例。技术的实施例可包含下面描述的示例中的任一个或多个以及它们的任何组合。

示例1包含用于提供虚拟多路径状态访问的计算装置,所述计算装置包括隔绝恢复分区与主机分区的隔离模块,其中主机分区的一个或多个资源是恢复分区可访问的;以及由所述恢复分区建立的恢复模块,所述恢复模块:从远程计算装置接收对于所述主机分区的主机状态数据的请求,所述请求是所述主机分区已经出故障的指示;使用由所述主机分区维护的主机状态索引来检索由所述请求所请求的所述主机状态数据,所述主机状态索引标识所述主机状态数据的位置;以及向所述远程计算装置传送所述请求的主机状态数据。

示例2包含示例1的主题,并且其中隔绝所述恢复分区与所述主机分区包括将所述计算装置的存储器分区成主机存储器段和恢复存储器段;其中所述主机存储器段(i)包含所述主机状态数据和所述主机状态索引,并且(ii)是所述恢复分区可访问的;以及其中所述恢复存储器段不是所述主机分区可访问的。

示例3包含示例1和示例2中任一个的主题,并且其中所述主机分区初始化所述主机存储器段中的所述主机状态索引的物理基地址;以及所述恢复模块还读取所述主机状态索引的所述物理基地址。

示例4包含示例1-3中任一示例的主题,并且其中检索所述主机状态数据包括使用主机状态索引来检索所述主机存储器段的一个或多个存储器页。

示例5包含示例1-4中任一示例的主题,并且其中所述主机分区还初始化所述主机存储器段中的页转换表的物理基地址;以及所述恢复模块还读取所述页转换表的所述物理基地址;其中检索一个或多个存储器页包括使用所述主机状态索引和所述页转换表来检索所述主机存储器段的一个或多个存储器页。

示例6包含示例1-5中任一示例的主题,并且其中隔绝所述恢复分区与所述主机分区包括将所述计算装置的数据存储装置分区成主机数据分区,其中所述主机数据分区(i)包含所述主机状态数据和所述主机状态索引,并且(ii)是所述恢复分区可访问的;

示例7包含示例1-6中任一示例的主题,并且其中所述主机分区初始化所述主机数据分区中的所述主机状态索引的存储基地址;以及所述恢复模块读取所述主机状态索引的所述存储基地址。

示例8包含示例1-7中任一示例的主题,并且其中检索主机状态数据包括使用主机状态索引来检索主机数据分区的一个或多个块。

示例9包含示例1-8中任一示例的主题,并且其中隔绝恢复分区与主机分区包括隔绝计算装置的多个处理器核中的处理器核与恢复分区;以及向所述主机分区指配所述多个处理器核中的剩余处理器核;其中所述请求的处理器核是所述主机分区不可访问的,并且所述多个处理器核中的剩余处理器核是所述恢复分区不可访问的。

示例10包含示例1-9中任一示例的主题,并且其中隔绝所述恢复分区与所述主机分区包括:向所述主机分区指配所述计算装置的第一网络接口,其中所述第一网络接口是所述恢复分区不可访问的;以及向所述恢复分区指配所述计算装置的第二网络接口,其中所述第二网络接口是所述主机分区不可访问的;其中接收对于主机状态数据的所述请求包括使用所述第二网络接口接收对于主机状态数据的所述请求。

示例11包含示例1-10中任一示例的主题,并且还包含由所述主机分区维护的状态更新模块以使用所述第一网络接口向所述远程计算装置传送主机状态数据。

示例12包含示例1-11中任一示例的主题,并且其中所述恢复模块进一步使用所述恢复分区的实时操作系统对于主机状态数据的请求轮询所述计算装置的所述第二网络接口。

示例13包含示例1-12中任一示例的主题,并且还包含:由所述主机分区维护的状态更新模块,用于(i)将主机状态更新记录在所述主机状态索引中并且(ii)基于所述主机状态更新来更新所述主机分区的主机状态数据。

示例14包含用于虚拟多路径的远程计算装置,所述远程计算装置包括:状态同步模块,从计算装置的主机分区接收主机状态数据;主机监视模块,确定所述计算装置的所述主机分区是否响应;以及恢复模块,(i)响应于所述计算装置的所述主机分区不在响应的确定而向所述计算装置的恢复分区请求所述主机状态数据的更新,并且(ii)响应于所述请求而从所述恢复分区接收所述请求的主机状态数据。

示例15包含示例14的主题,并且其中请求主机状态数据的更新包括请求应用对象。

示例16包含示例14和示例15中任一个的主题,并且其中请求对于所述主机状态数据的更新包括向所述恢复分区请求所有主机状态数据。

示例17包含示例14-16中任一示例的主题,并且其中所述恢复模块还基于所述接收的主机状态数据来执行恢复操作。

示例18包含示例14-17中任一示例的主题,并且其中所述状态同步模块进一步(i)将来自所述主机分区的所述主机状态数据存储在所述远程计算装置的远程状态数据中;以及(ii)使用从所述恢复分区接收的所述请求的主机状态数据来更新所述远程状态数据;其中执行所述恢复操作包括使用所述远程状态数据执行所述恢复操作。

示例19包含示例14-18中任一示例的主题,并且其中执行所述恢复操作包括重启所述主机分区。

示例20包含示例14-19中任一示例的主题,并且其中重启所述主机分区包括重启所述计算装置上、所述远程计算装置上或第二计算装置上的所述主机分区。

示例21包含用于提供虚拟多路径状态访问的方法,所述方法包括:由计算装置隔绝恢复分区与主机分区,其中所述主机分区的一个或多个资源是所述恢复分区可访问的;由所述计算装置的所述恢复分区从远程计算装置接收对于所述主机分区的主机状态数据的请求,所述请求指示所述主机分区已经出故障;由所述计算装置的所述恢复分区使用由所述主机分区维护的主机状态索引来检索由所述请求所请求的所述主机状态数据,所述主机状态索引标识所述主机状态数据的位置;以及由所述计算装置的所述恢复分区向所述远程计算装置传送所述请求的主机状态数据。

示例22包含示例21的主题,并且其中隔绝所述恢复分区与所述主机分区包括将所述计算装置的存储器分区成主机存储器段和恢复存储器段;其中所述主机存储器段(i)包含所述主机状态数据和所述主机状态索引,并且(ii)是所述恢复分区可访问的;以及其中所述恢复存储器段不是所述主机分区可访问的。

示例23包含示例21和22中任一示例的主题,并且还包含:由计算装置的主机分区初始化主机存储器段中的主机状态索引的物理基地址;以及由计算装置的恢复分区读取主机状态索引的物理基地址。

示例24包含示例21-23中任一示例的主题,并且其中检索主机状态数据包括使用主机状态索引来检索所述主机存储器段的一个或多个存储器页。

示例25包含示例21-24中任一示例的主题,并且还包含:由计算装置的主机分区初始化主机存储器段中的页转换表的物理基地址;以及由计算装置的恢复分区读取页转换表的物理基地址;其中检索一个或多个存储器页包括使用所述主机状态索引和所述页转换表来检索所述主机存储器段的一个或多个存储器页。

示例26包含示例21-25中任一示例的主题,并且其中隔绝所述恢复分区与所述主机分区包括将所述计算装置的数据存储装置分区成主机数据分区,其中所述主机数据分区(i)包含所述主机状态数据和所述主机状态索引,并且(ii)是所述恢复分区可访问的;

示例27包含示例21-26中任一示例的主题,并且还包含:由计算装置的主机分区初始化主机数据分区中的主机状态索引的存储基地址;以及由计算装置的恢复分区读取主机状态索引的存储基地址。

示例28包含示例21-27中任一示例的主题,并且其中检索主机状态数据包括使用主机状态索引来检索主机数据分区的一个或多个块。

示例29包含示例21-28中任一示例的主题,并且其中隔绝恢复分区与主机分区包括隔绝计算装置的多个处理器核中的处理器核与恢复分区;以及向所述主机分区指配所述多个处理器核中的剩余处理器核;其中所述请求的处理器核是所述主机分区不可访问的,并且所述多个处理器核中的剩余处理器核是所述恢复分区不可访问的。

示例30包含示例21-29中任一示例的主题,并且其中隔绝所述恢复分区与所述主机分区包括:向所述主机分区指配所述计算装置的第一网络接口,其中所述第一网络接口是所述恢复分区不可访问的;以及向所述恢复分区指配所述计算装置的第二网络接口,其中所述第二网络接口是所述主机分区不可访问的;其中接收对于主机状态数据的所述请求包括使用所述第二网络接口接收对于主机状态数据的所述请求。

示例31包含示例21-30中任一示例的主题,并且还包含:由计算装置的主机分区使用第一网络接口向远程计算装置传送主机状态数据。

示例32包含示例21-31中任一示例的主题,并且还包含:由计算装置的恢复分区使用恢复分区的实时操作系统对于主机状态数据的请求轮询计算装置的第二网络接口。

示例33包含示例21-32中任一示例的主题,并且还包含:由计算装置的主机分区将主机状态更新记录在主机分区的主机状态索引中;以及由计算装置的主机分区基于主机状态更新来更新主机分区的主机状态数据。

示例34包含用于虚拟多路径的方法,所述方法包括:由远程计算装置从计算装置的主机分区接收主机状态数据;由所述远程计算装置确定所述计算装置的所述主机分区是否响应;由所述远程计算装置响应于确定所述计算装置的所述主机分区不响应而从所述计算装置的恢复分区接收所述主机状态数据的更新;以及由所述远程计算装置响应于所述请求而从所述恢复分区接收所述请求的主机状态数据。

示例35包含示例34的主题,并且其中请求主机状态数据的更新包括请求应用对象。

示例36包含示例34和示例35中任一个的主题,并且其中请求对于所述主机状态数据的更新包括向所述恢复分区请求所有主机状态数据。

示例37包含示例34-36中任一示例的主题,并且还包含:由所述远程计算装置基于所述接收的主机状态数据来执行恢复操作。

示例38包含示例34-37中任一示例的主题,并且还包含:由所述远程计算装置将来自所述主机分区的所述主机状态数据存储在所述远程计算装置的远程状态数据中;以及由所述远程计算装置使用从所述恢复分区接收的所述主机状态数据更新来更新所述远程状态数据;其中执行所述恢复操作包括使用所述远程状态数据执行所述恢复操作。

示例39包含示例34-38中任一示例的主题,并且其中执行所述恢复操作包括重启所述主机分区。

示例40包含示例34-39中任一示例的主题,并且其中重启所述主机分区包括重启所述计算装置上、所述远程计算装置上或第二计算装置上的所述主机分区。

示例41包含计算装置,计算装置包括:处理器;以及存储器,其中存储有多个指令,所述指令当由处理器执行时使计算装置执行示例21-40中任一个的方法。

示例42包含一个或多个机器可读存储介质,其包括其上存储的多个指令,所述指令响应于被执行而导致计算装置执行示例21-40中任一个的方法。

示例43包含包括用于执行示例21-40中任一示例的方法的部件的电子装置。

示例44包含用于提供虚拟多路径状态访问的计算装置,所述计算装置包括用于隔绝恢复分区与主机分区的部件,其中主机分区的一个或多个资源是恢复分区可访问的;用于由所述恢复分区从远程计算装置接收对于所述主机分区的主机状态数据的请求的部件,所述请求指示所述主机分区已经出故障;用于由所述恢复分区使用由所述主机分区维护的主机状态索引来检索由所述请求所请求的所述主机状态数据的部件,所述主机状态索引标识所述主机状态数据的位置;以及用于由所述恢复分区向所述远程计算装置传送所述请求的主机状态数据的部件。

示例45包含示例44的主题,并且其中用于隔绝所述恢复分区与所述主机分区的所述部件包括用于将所述计算装置的存储器分区成主机存储器段和恢复存储器段的部件;其中所述主机存储器段(i)包含所述主机状态数据和所述主机状态索引,并且(ii)是所述恢复分区可访问的;以及其中所述恢复存储器段不是所述主机分区可访问的。

示例46包含示例44和45中任一示例的主题,并且还包含:用于由主机分区初始化主机存储器段中的主机状态索引的物理基地址的部件;以及用于由恢复模块读取主机状态索引的物理基地址的部件。

示例47包含示例44-46中任一示例的主题,并且其中用于检索主机状态数据的部件包括用于使用主机状态索引来检索所述主机存储器段的一个或多个存储器页的部件。

示例48包含示例44-47中任一示例的主题,并且还包含:用于由主机分区初始化主机存储器段中的页转换表的物理基地址的部件;以及用于由恢复分区读取页转换表的物理基地址的部件;其中用于检索一个或多个存储器页的部件包括用于使用主机状态索引和页转换表来检索主机存储器段的一个或多个存储器页的部件。

示例49包含示例44-48中任一示例的主题,并且其中用于隔绝所述恢复分区与所述主机分区的部件包括用于将所述计算装置的数据存储装置分区成主机数据分区的部件,其中所述主机数据分区(i)包含所述主机状态数据和所述主机状态索引,并且(ii)是所述恢复分区可访问的;

示例50包含示例44-49中任一示例的主题,并且还包含:用于由主机分区初始化主机数据分区中的主机状态索引的存储基地址的部件;以及用于由恢复模块读取主机状态索引的存储基地址的部件。

示例51包含示例44-50中任一示例的主题,并且其中用于检索主机状态数据的部件包括用于使用主机状态索引来检索主机数据分区的一个或多个块的部件。

示例52包含示例44-51中任一示例的主题,并且其中用于隔绝所述恢复分区与所述主机分区的所述部件包括:用于隔绝所述计算装置的多个处理器核中的处理器核与所述恢复分区的部件;以及用于向所述主机分区指配所述多个处理器核中的剩余处理器核的部件;其中所述请求的处理器核是所述主机分区不可访问的,并且所述多个处理器核中的剩余处理器核是所述恢复分区不可访问的。

示例53包含示例44-52中任一示例的主题,并且其中用于隔绝所述恢复分区与所述主机分区的所述部件包括:用于向所述主机分区指配所述计算装置的第一网络接口的部件,其中所述第一网络接口是所述恢复分区不可访问的;以及用于向所述恢复分区指配所述计算装置的第二网络接口的部件,其中所述第二网络接口是所述主机分区不可访问的;其中用于接收对于主机状态数据的所述请求的所述部件包括用于使用所述第二网络接口接收对于主机状态数据的所述请求的部件。

示例54包含示例44-53中任一示例的主题,并且还包含:用于由主机分区使用第一网络接口向远程计算装置传送主机状态数据的部件。

示例55包含示例44-54中任一示例的主题,并且还包含:用于由恢复分区使用恢复分区的实时操作系统对于主机状态数据的请求轮询计算装置的第二网络接口的部件。

示例56包含示例44-55中任一示例的主题,并且还包含:用于由主机分区将主机状态更新记录在主机分区的主机状态索引中的部件;以及用于由主机分区基于主机状态更新来更新主机分区的主机状态数据的部件。

示例57包含用于虚拟多路径的远程计算装置,所述远程计算装置包括:用于从计算装置的主机分区接收主机状态数据的部件;用于确定所述计算装置的所述主机分区是否响应的部件;用于响应于确定所述计算装置的所述主机分区不响应而从所述计算装置的恢复分区接收所述主机状态数据的更新的部件;以及用于响应于所述请求而从所述恢复分区接收所述请求的主机状态数据的部件。

示例58包含示例57的主题,并且其中用于请求主机状态数据的更新的部件包括用于请求应用对象的部件。

示例59包含示例57和示例58中的任一个的主题,并且其中用于请求对于主机状态数据的更新的部件包括用于向恢复分区请求所有主机状态数据的部件。

示例60包含示例57-59中任一示例的主题,并且还包含:用于基于所述接收的主机状态数据执行恢复操作的部件。

示例61包含示例57-60中任一示例的主题,并且还包含:用于将来自所述主机分区的所述主机状态数据存储在所述远程计算装置的远程状态数据中的部件;以及用于使用从所述恢复分区接收的所述主机状态数据更新来更新所述远程状态数据的部件;其中用于执行所述恢复操作的所述部件包括用于使用所述远程状态数据执行所述恢复操作的部件。

示例62包含示例57-61中任一示例的主题,并且其中用于执行恢复操作的部件包括用于重启主机分区的部件。

示例63包含示例57-62中任一示例的主题,并且其中用于重启主机分区的部件包括用于重启计算装置上、远程计算装置上或第二计算装置上的主机分区的部件。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号