虚拟计算机系统和方法与流程

文档序号:12176744阅读:186来源:国知局
虚拟计算机系统和方法与流程

本发明涉及虚拟计算机系统和方法。



背景技术:

为了通过仅玩故障已发生的故障发生虚拟机(VM)并且再现故障实现故障原因调查,以调查人操作、VM之间的异步事件、以及其中多个VM以协作方式在虚拟机监视器(VMM)上操作并且VM通过共享存储器连接的系统中的OS造成的故障,日本未审专利申请公开No.2014-32498描述了一种技术,其中再现操作工具在VM执行管理表中设置故障发生VM,临时停止在同时快照通知单元处正执行的设置的VM,在快照记录单元中记录到该时间点的执行内容,VM输入/输出记录单元将VM的虚拟硬件(HW)的输入/输出访问记录到事件记录单元,同时快照通知单元在快照记录完成后通过再现操作单元的操作再现记录的VM内容,输入/输出再现单元将VM再现执行期间虚拟HW中发生的输入/输出访问与事件记录单元中的内容进行比较,并且再现与事件记录单元中的内容匹配的输入/输出访问。

为了提供为了执行安装在虚拟机中的应用程序而配置为向虚拟机应用预先创建的参考快照然后执行应用程序的虚拟计算机系统,日本专利No.5713138描述了一种虚拟计算机系统,其存储包括虚拟机中安装的应用程序的虚拟机的状态的快照作为参考快照,当接收对于应用程序的执行请求时向虚拟机应用参考快照,执行应用程序,并且当故障发生时存储虚拟机的状态作为快照。

没有在虚拟OS上操作的设备的状态没有存储在虚拟OS上操作的应用的快照中。因此,仅使用快照可能不能再现故障发生状态。此外,在日本专利No.5713138中公开的技术中,即使打印机生成故障发生时的快照,当打印机在故障发生之后继续执行打印处理时,由于故障发生之后执行的打印处理而丢失故障发生时打印机的日志信息。因此,不可再现包括故障发生时打印机的日志信息的状态。



技术实现要素:

相应地,本发明的目的是提供一种虚拟计算机系统和方法,通过与应用程序的快照关联地存储故障发生之后紧接的时间的外部设备的日志信息,实现包括故障发生之后紧接的时间的外部设备以及应用程序的状态的再现。

根据发明的第一方面,提供了一种虚拟计算机系统,所述虚拟计算机系统包括:外部事件获取控制器、外部事件存储单元和快照创建单元。所述外部事件获取控制器执行用于获取关于设置在虚拟计算机外部的外部设备的事件的控制,所述虚拟计算机装载安装了应用程序的客机操作系统。所述外部事件存储单元存储所述外部事件获取控制器获取的外部事件。所述快照创建单元在所述外部事件存储在所述外部事件存储单元中之后创建包括所述应用程序的所述客机操作系统的快照。

根据发明的第二方面,所述外部事件存储单元可设置在所述虚拟计算机内。

根据发明的第三方面,所述外部事件存储单元可设置在所述外部设备内。

根据发明的第四方面,所述外部事件存储单元可以是装载了不同于所述虚拟计算机的第二虚拟计算机的计算机内的存储单元,作为所述第二虚拟计算机的快照。

根据发明的第五方面,所述虚拟计算机系统还可包括:接收单元,其接收指示所述事件在所述外部事件存储单元处的存储完成的通知。所述快照创建单元可在所述接收单元接收所述通知之后创建快照。

根据发明的第六方面,一种方法,包括:执行用于获取关于设置在虚拟计算机外部的外部设备的事件的控制,所述虚拟计算机装载安装了应用程序的客机操作系统;存储所获取的外部事件;在所述外部事件存储之后创建包括所述应用程序的所述客机操作系统的快照。

根据发明的第一方面,故障发生之后紧接的时间的外部设备的日志信息与应用程序的快照关联地存储。因此,可实现包括故障发生之后紧接的时间的外部设备以及应用程序的状态的再现。

根据发明的第二方面,通过在虚拟计算机内提供外部事件存储单元,关于外部设备的事件可包括在快照中。

根据发明的第三方面,通过在外部设备内提供外部事件存储单元,外部设备的日志信息可存储在外部设备中

根据发明的第四方面,关于外部设备的事件可包括在第二虚拟计算机的快照中。

根据发明的第五方面,可在当外部事件存储单元处的事件存储完成时的时间创建快照。

根据发明的第六方面,故障发生之后紧接的时间的外部设备的日志信息与应用程序的快照关联地存储。因此,可实现包括故障发生之后紧接的时间的外部设备以及应用程序的状态的再现。

附图说明

将基于下面的图详细描述本发明的示例性实施方式,其中:

图1是根据第一示例性实施方式的构造示例的概念模块构造图;

图2是例示根据第一示例性实施方式的处理示例的说明图;

图3是例示根据第一示例性实施方式的处理示例的流程图;

图4是例示根据第一示例性实施方式的处理示例的流程图;

图5是例示根据第一示例性实施方式的处理示例的流程图;

图6是例示根据第一示例性实施方式的处理示例的流程图;

图7是根据第二示例性实施方式的构造示例的概念模块构造图;

图8是例示根据第二示例性实施方式的处理示例的说明图;

图9是例示根据第二示例性实施方式的处理示例的流程图;

图10是例示根据第二示例性实施方式的处理示例的流程图;

图11是例示根据第二示例性实施方式的处理示例的流程图;

图12是例示根据第二示例性实施方式的处理示例的流程图;

图13是根据第三示例性实施方式的构造示例的概念模块构造图;

图14是例示现有技术的示例的说明图;

图15是例示根据现有技术的处理示例的说明图;

图16是例示现有技术的示例的说明图;

图17是例示根据现有技术的处理示例的说明图;

图18是根据第四示例性实施方式的构造示例的概念模块构造图;

图19是例示根据第四示例性实施方式的处理示例的说明图;

图20是例示根据第四示例性实施方式的处理示例的流程图;

图21是例示根据第四示例性实施方式的处理示例的流程图;

图22是例示根据第五示例性实施方式的处理示例的说明图;

图23是例示根据第五示例性实施方式的处理示例的流程图;

图24是例示根据第五示例性实施方式的处理示例的流程图;

图25是例示现有技术的示例的说明图;

图26是例示根据现有技术的处理示例的说明图;

图27是例示现有技术的示例的说明图;

图28是例示根据现有技术的处理示例的说明图;

图29是例示实现示例性实施方式的计算机的硬件构造的示例的框图。

具体实施方式

首先,在将提供示例性实施方式的说明之前,将参考图14-17中例示的示例说明现有技术的技术。将提供下面的说明以实现示例性实施方式的容易理解。将说明打印机的示例作为外部设备。

图14是例示现有技术的示例的说明图。信息处理设备1400控制作为外部设备的打印机1480执行打印处理。信息处理设备1400是并非虚拟计算机系统的通用计算机(其中提供单个操作系统(OS)1410用于单个物理机1405的计算机)。例如,信息处理设备1400用作打印机服务器或打印机控制器,打印机1480是高速打印机。

信息处理设备1400包括从底层起按次序的物理机1405和OS 1410。作为应用程序的打印控制器模块1425和故障信息收集模块1435设置在OS 1410上。打印控制器模块1425包括输出控制模块1430,并且存储C-Log 1427A。输出控制模块1430是用于控制打印机1480的程序。打印机1480存储I-Log 1482A。

当信息处理设备1400或打印机1480中发生故障时,打印控制器模块1425根据来自故障信息收集模块1435的指令(Get_Log)收集其内部和OS 1410的日志信息(C-Log 1427A)。故障可由在打印控制器模块1425的控制之外的打印机1480造成。因此,打印控制器模块1425还通过其内部的输出控制模块1430收集打印机1480的日志信息(I-Log 1482A)(根据从输出控制模块1430到打印机1480的get_log指令),并向故障信息收集模块1435发送C-Log 1427A和I-Log 1482A。然后,故障信息收集模块1435将C-Log 1427A和I-Log 1482A存储在存储区域1490中。

图15是例示现有技术的处理示例的说明图。

信息处理设备1400进行操作以使打印机1480执行打印处理,并且假设故障发生1510出现在操作期间。

当检测到故障发生1510时,向OS 1410上的故障信息收集模块1435发出故障信息收集指令1572。故障信息收集模块1435向打印控制器模块1425发出Get_Log 1574指令,并且获取该时间打印控制器模块1425内部和OS 1410的状态(日志信息)作为C-Log 1427A。然后,打印控制器模块1425控制输出控制模块1430,输出控制模块1430在打印控制器模块1425的控制下向打印机1480发出get_log 1576指令,并且从打印机1480获取I-Log 1482A,其是该时间打印机1480的状态(日志信息)。然后,输出控制模块1430向故障信息收集模块1435发送I-log和C-Log 1578(C-Log 1427A和I-Log 1482A)作为对Get_Log 1574的响应。故障信息收集模块1435将I-log和C-Log 1578作为C-Log 1427B和I-Log 1482B存储在存储区域1490中。之后,执行故障恢复处理1550,并且实现操作重新开始1560。

在此处理之后,当打印机1480的操作完成时,通过分析C-Log 1427B和I-Log 1482B,思考故障原因、故障对策等。在收集日志之后,为了继续打印机1480处的打印处理,执行恢复处理1550和操作重新开始1560而不分析日志。特别地,在打印机1480是高速打印机的情况下,存在缩短停工期(不可执行打印的期间)的需求。

接下来,将说明虚拟计算机系统的示例。图16是例示现有技术的示例的说明图。信息处理设备1600是虚拟计算机系统,控制作为外部设备的打印机1680执行打印处理。例如,信息处理设备1600用作打印机服务器,并且打印机1680是高速打印机。

称为虚拟化系统的技术是使多个客机OS 1620在单个物理机1605(硬件)上操作的技术。如图16的示例中例示的,通过物理机1605上的主机OS 1610和虚拟化软件(SW)1615建立虚拟硬件。客机OS 1620安装在虚拟硬件上,作为应用程序(应用)的打印控制器模块1625安装在客机OS 1620上。

虚拟化SW 1615是允许多个客机OS 1620在物理机1605上并行共存的结构。即,虚拟化SW 1615以软件方式建立诸如中央处理单元(CPU)、存储器和硬盘驱动(HDD)的硬件,并且准备客机OS 1620依赖的硬件资源作为虚拟机。

例如,打印机控制程序(特定示例包括数字前端(DFE))用作打印控制器模块1625。在这种情况下,虚拟机彼此分离,即使在任意虚拟机中发生故障(例如,崩溃等),不同虚拟机上的打印机控制程序继续操作因此能够执行打印。

具体地,信息处理设备1600包括从底层起按次序的物理机1605、主机OS 1610、虚拟化SW 1615、客机OS 1620。作为应用程序的打印控制器模块1625和故障信息收集模块1635设置在客机OS 1620上。虚拟化SW 1615包括SS管理模块1617。打印控制器模块1625包括输出控制模块1630并存储C-Log 1627A。打印机1680存储I-Log 1682A。存储区域1690存储快照1692。图16例示单个客机OS 1620设置在虚拟化SW 1615上的示例。然而,由于信息处理设备1600是虚拟计算机系统,多个客机OS 1620可设置在虚拟化SW 1615上。

在信息处理设备1600中,使作为应用程序的打印控制器模块1625在虚拟化环境下操作,在虚拟化环境下利用快照功能(SS管理模块1617的功能)在存储区域1690中保持故障发生时的故障状态作为快照1692。然后,恢复故障,并且在完成预定打印处理之后(没有打印服务正在执行时),使用存储的快照1692再现故障发生时的状态,然后获取故障信息。打印控制器模块1625在其上操作的客机OS 1620的快照的创建和再现由SS管理模块1617执行。

参考图17中例示的示例,信息处理设备1600进行操作使打印机1680执行打印处理,假设故障发生1710出现在操作期间。

当检测到故障发生1710时,根据通过主机OS 1610的用户操作向SS管理模块1617发出拍快照指令1722。通过监视打印控制器模块1625内部的状态,可自动发出拍快照指令1722。SS管理模块1617在存储区域1690中存储该时间客机OS 1620和打印控制器模块1625的状态A:1740A作为快照1692。在打印机1680处,通过故障发生1710生成I-Log 1682A作为日志信息。然而,由于通过获得信息处理设备1600内部的状态获取SS管理模块1617的快照,所以作为外部设备的打印机1680的I-Log 1682A不是快照目标。

之后,执行故障恢复处理1750,实现操作重新开始1760。

然后,在打印机1680的操作完成之后,根据通过主机OS 1610的用户操作向SS管理模块1617发出快照再现指令1770。SS管理模块1617读取存储区域1690内的快照1692,并且将客机OS 1620和打印控制器模块1625的状态返回到状态A:1740B(与状态A:1740A相同)。然后,根据通过主机OS 1610的用户操作向故障信息收集模块1635发出故障信息收集指令1772,并且执行与图15的示例中例示的类似处理。即,故障信息收集模块1635向打印控制器模块1625发出Get_Log 1774指令, 并且获取该时间打印控制器模块1625内部和客机OS 1620的状态(日志信息)作为C-Log 1627A。然后,打印控制器模块1625控制输出控制模块1630,输出控制模块1630在打印控制器模块1625的控制下向打印机1680发出get_log 1776指令,并且从打印机1680获取I-LogX 1682B,其是该时间打印机1680的状态(日志信息)。然后,输出控制模块1630向故障信息收集模块1635发送I-LogX和C-Log 1778(C-Log 1627A和I-LogX 1682B),作为对Get_Log 1774的响应。故障信息收集模块1635将I-LogX和C-Log 1778作为C-Log 1927B和I-LogX 1682C存储在存储区域1690中。

在使用故障信息收集模块1635收集在打印控制器模块1625的控制之外的打印机1680的日志信息(I-LogX 1682B)的情况下,在故障发生1710与故障信息收集指令1772之间的时间期间执行打印处理(操作重新开始1760),如图17的示例中例示的。因此,故障发生之后的打印处理的信息(操作重新开始1760之后的打印处理)写入I-LogX 1682B(故障信息收集指令1772时打印机1680的日志信息)中,I-LogX 1682B的内容不同于I-Log 1682A(故障发生时打印机1680的日志信息)的内容。因此,根据打印机1680的操作重新开始1760之后的打印处理,故障发生时的日志信息的I-Log 1682A消失(覆写)的情况可出现。即,根据故障信息收集指令1772,故障发生1710时的I-Log 1682A不存储在存储区域1690中。

下文中,将参考附图描述本发明的各种示例性实施方式。

第一示例性实施方式

图1例示根据第一示例性实施方式的构造示例的概念模块构造图。

通常,术语“模块”是指可逻辑分离的诸如软件(计算机程序)、硬件等的组件。因此,示例性实施方式中的模块不仅是指计算机程序中的模块,而且是指硬件构造中的模块。相应地,通过示例性实施方式,描述用于致使组件用作模块的计算机程序(用于致使计算机执行各步骤的程序,用于致使计算机用作各单元的程序,用于致使计算机执行各功能的程序)、系统和方法。然而,为了方便描述,将使用术语“存储”、“致使某物存储”和其它等同表述。当示例性实施方式与计算机程序相关时,术语和表述代表“致使存储设备存储”或“控制存储设备存储”。模块和功能可一对一地关联。然而,在实际实现中,一个模块可由一个程序实现,多个模块可由一个程序实现,或者一个模块可由多个程序实现。此外,多个模块可由一个计算机执行,或者一个模块可由多个计算机在分布式计算机环境或并行计算机环境下执行。此外,模块可包括 另一模块。此外,下文中,术语“连接”可指逻辑连接(诸如数据传送,指令,和数据之间的交叉参考关系)以及物理连接。术语“预定”表示在执行目标处理之前设置。根据该时间的条件和状态,或者根据直至该时间的时段期间的条件和状态,“预定”不仅表示在示例性实施方式中的处理之前设置,而且表示甚至在示例性实施方式中的处理开始之后设置,只要在执行目标处理之前设置即可。当存在多个“预定值”时,值可彼此不同,或者两个或更多个值(显然,包括所有值)可相同。术语“在执行A、B的情况下”表示“执行关于是否是A的确定,当确定是A时,执行B”,除非不获取关于是否是A的确定。

此外,“系统”或“设备”可不仅用通过诸如网络的通信单元连接(包括一对一通信连接)的多个计算机、硬件、设备等实现,而且用单个计算机、硬件、设备等实现。术语“设备”和“系统”用作类似术语。显然,术语“系统”不包括社交“机制”(社交系统),这仅是人工设置的。

此外,对于模块中的各处理或执行多个处理的模块中的各个处理,从存储设备读取目标信息,在执行处理之后向存储设备写入处理结果。因此,可省略执行处理之前从存储设备读取的描述,或者执行处理之后写入存储设备的描述。存储设备可以是硬盘,随机存取存储器(RAM),外部存储介质,使用通信线路的存储设备,CPU内的寄存器等。

根据第一示例性实施方式的作为虚拟计算机系统的信息处理设备100存储故障发生之后紧接的打印控制器模块125和作为外部设备的打印机180的状态,作为快照,使得可再现状态。如图1的示例中例示的,信息处理设备100包括从底层起按次序的物理机105、主机OS 110、虚拟化SW 115和客机OS 120。作为应用程序的打印控制器模块125、故障信息收集模块135、SS控制模块140设置在客机OS 120上。虚拟化SW 115包括SS管理模块117。即,SS管理模块117是通常并入虚拟化SW 115的模块。打印控制器模块125包括输出控制模块130并且存储C-Log 127A和I-Log 182B。打印机180存储I-Log 182A。存储区域190存储快照192。

尽管例示打印机180作为外部设备的示例,外部设备可以是不同设备(例如,扫描仪)。即,外部设备可以是被虚拟计算机系统控制并且在分析故障之前被执行恢复处理的任意设备。应用程序可以是例如打印机控制程序。下文中,将说明打印机控制程序的示例。

如图1的示例中例示的,向作为虚拟计算机的信息处理设备100引入SS控制模块140,其指示收集打印机180的日志信息(I-Log 182A),并且利用SS管理模块117创建打印控制器模块125在其上操作的客机OS 120的快照(可包括快照的再现)。故障信息收集模块135收集打印控制器模块125内部和客机OS 120的日志信息(C-Log)并且获取已经被收集的打印机180的日志信息(I-Log 182B)。

即,SS控制模块140执行用于获取关于设置在信息处理设备100外部的打印机180的事件的控制,信息处理设备100是装载了已经被安装作为应用程序的打印控制器模块125的客机OS 120的虚拟计算机。“关于打印机180的事件”的特定示例包括I-Log 182A,其是故障发生时打印机180的日志信息。故障可发生在信息处理设备100中或打印机180中。

打印控制器模块125存储SS控制模块140获取的外部事件。即,I-Log 182B(与打印机180中的I-Log 182A内容相同)存储在打印控制器模块125中。显然,打印控制器模块125位于信息处理设备100内(作为SS管理模块117的快照目标的区域内),因此打印控制器模块125还存储C-Log 127A,其是客机OS 120和打印控制器模块125的日志信息。

在作为外部事件的I-Log 182A存储在打印控制器模块125中之后,SS管理模块117创建包括打印控制器模块125的客机OS 120的快照。因此,快照包括I-Log 182B以及C-Log 127A。具体地,在从SS控制模块140接收指示事件存储完成的通知之后,SS管理模块117创建快照。

具体地,当故障发生时,SS控制模块140向打印控制器模块125发出获取打印机180的I-Log 182A的指令(Get_Ilog)(步骤12)。在打印控制器模块125的控制下,输出控制模块130向打印机180发出获取I-Log 182A的指令(get_log)(步骤14)。打印机180向输出控制模块130传送I-Log 182A(步骤16)。结果,I-Log 182B存储在打印控制器模块125中。然后,打印控制器模块125(输出控制模块130)执行指示Get_Ilog的处理完成的Res_Ilog处理(步骤18)。SS控制模块140指示SS管理模块117执行快照处理(步骤20)。结果,快照192存储在存储区域190中。快照192包括打印控制器模块125内的C-Log 127A和I-Log 182B。

然后,执行故障恢复处理,并且重新开始操作。在完成操作之后执行故障的收集和分析的情况下,SS管理模块117利用存储区域190中的快照192恢复故障发生时 的状态。结果,在打印控制器模块125中恢复故障发生时的I-Log 182B(故障发生时打印机180内的I-Log 182A)以及C-Log 127A。故障信息收集模块135向打印控制器模块125发出获取故障信息的指令(Get_Log)(步骤32)。打印控制器模块125向故障信息收集模块135发送C-Log 127A和I-Log 182B(步骤34)。负责人分析故障信息收集模块135获取的C-Log 127A和I-Log 182B,并且思考故障原因、故障对策等。

信息处理设备100执行下面描述的处理作为概述。

在使打印控制器模块125在客机OS 120上操作并且使用虚拟计算机系统的快照功能收集故障信息的情况下,如上所述,故障发生时间极大地不同于获取故障信息的时间。因此,在获取故障信息时,诸如打印机180(不是快照目标)的外部设备可不保持故障发生时的日志信息。因此,已知故障信息收集功能分布在SS控制模块140与故障信息收集模块135之间,并且SS控制模块140在拍快照之前将故障发生时打印机180的日志信息取出到打印控制器模块125中。

相应地,通过在故障发生之后立即创建花费短时间完成处理的快照,可在故障恢复处理之后立即重新开始原始打印处理,而无需执行花费长时间的收集故障信息的操作。然后,通过再现期望时间(诸如打印服务完成之后紧接的时间)的快照,可获取故障发生后紧接的故障信息(诸如打印机180以及打印控制器模块125的外部设备的故障信息)。

即,打印机180的用户不需要根据故障发生收集故障信息。结果,可增加打印机180的操作率。

图2是根据第一示例性实施方式的处理示例的说明图。

信息处理设备100进行操作使打印机180执行打印处理,并且假设故障发生210出现在操作期间。

当检测到故障发生210时,向客机OS 120上的SS控制模块140发出拍快照指令222。SS控制模块140向打印控制器模块125发出Get_ILog 224指令。在打印控制器模块125的控制下,输出控制模块130向打印机180发出get_log 226指令,获取I-Log 182A,在打印控制器模块125中存储获取的I-Log 182A作为I-Log 182B。打印控制器模块125(输出控制模块130)确认存储I-Log 182B,并且向SS控制模块140发送指示获取完成的Res_ILog 228。然后,接收到Res_ILog 228的SS控制模块 140请求虚拟化SW 115内的SS管理模块117进行快照处理。SS管理模块117在存储区域190中存储客机OS 120和打印控制器模块125的状态A:240A(I-Log 182B存储在打印控制器模块125中)作为快照192。之后,执行作为故障恢复的恢复处理250,并且实现操作重新开始260。

在完成预定打印处理之后(或者在没有打印服务正执行时),SS管理模块117根据用户操作接收快照再现指令270,利用存储区域190中的快照192再现故障发生时的状态A:240B(状态A:240A)。然后,根据故障信息收集指令272,故障信息收集模块135基于到打印控制器模块125的Get_Log 274指令从打印控制器模块125获取C-Log 127A(打印控制器模块125内部和客机OS 120的日志信息)以及I-Log 182B(已经收集的打印机180的日志信息)(I-Log,C-Log 276)。然后,C-Log 127B(C-Log 127A)和I-Log 182C(I-Log 182B和I-Log 182A)存储在存储区域190中。通过分析C-Log 127B和I-Log 182C,思考故障原因、故障对策等。在故障发生之后,为了继续打印机180处的打印处理,执行恢复处理250和操作重新开始260而不收集和分析日志。特别地,在打印机180是高速打印机的情况下,存在缩短停工期(不可执行打印的期间)的需求。

图3和4是例示根据第一示例性实施方式的处理示例(生成快照192的处理示例)的流程图。

在步骤S302,确定是否检测到故障发生。当检测到故障发生时,处理前进到步骤S304。当未检测到故障发生时,处理等待直到检测到故障发生。

在步骤S304,根据用户操作发出拍快照指令222。如上所述,通过监视打印控制器模块125内部的状态,可自动发出拍摄指令。

在步骤S306,SS控制模块140接收拍快照指令222。

在步骤S308,SS控制模块140发出I-Log获取指令(Get_ILog 224)。

在步骤S310,输出控制模块130接收I-Log获取指令(Get_ILog 224)。

在步骤S312,输出控制模块130发出I-Log获取指令(get_log 226)。

在步骤S314,打印机180接收I-Log获取指令(get_log 226)。

在步骤S316,打印机180发送I-Log 182A。

在步骤S318,输出控制模块130接收I-Log 182A。

在步骤S320,输出控制模块130在打印控制器模块125中存储I-Log 182A。

在步骤S322,输出控制模块130用指示I-Log的获取完成的通知(Res_ILog 228)进行回应。

在步骤S324,SS控制模块140接收Res_ILog 228。

在步骤S326,SS控制模块140发出快照创建指令。

在步骤S328,SS管理模块117接收快照创建指令。

在步骤S330,SS管理模块117在存储区域190中存储当前状态A:240A(其中I-Log 182B存储在打印控制器模块125中的状态)作为快照192。

图5是例示根据第一示例性实施方式的处理示例(再现快照192的处理示例)的流程图。

在步骤S502,根据用户操作,发出快照再现指令270。

在步骤S504,SS管理模块117接收快照再现指令270。

在步骤S506,SS管理模块117利用存储区域190中的快照192再现状态A:240B(其中I-Log 182B存储在打印控制器模块125中的状态)。

图6是例示根据第一示例性实施方式的处理示例(收集作为故障信息的C-Log 127A和I-Log 182B的处理示例)的流程图。

在步骤S602,根据用户操作,发出故障信息收集指令272。

在步骤S604,故障信息收集模块135接收故障信息收集指令272。

在步骤S606,故障信息收集模块135发出日志获取指令(Get_Log 274)。

在步骤S608,打印控制器模块125接收日志获取指令(Get_Log 274)。

在步骤S610,打印控制器模块125发送C-Log 127A和I-Log 182B。

在步骤S612,故障信息收集模块135接收I-Log和C-Log 276(C-Log 127A和I-Log 182B)。

在步骤S614,故障信息收集模块135在存储区域190中存储C-Log 127B和I-Log 182C(I-Log和C-Log 276)。

第二示例性实施方式

图7是根据第二示例性实施方式的构造示例的概念模块构造图。

信息处理设备700包括从底层起按次序的物理机105、主机OS 110,虚拟化SW 115、客机OS 120,并且打印控制器模块125、故障信息收集模块135、SS控制模块140设置在客机OS 120上。虚拟化SW 115包括SS管理模块117,打印控制器模块 125包括输出控制模块130并且存储C-Log 127A。打印机180存储I-Log 782A。存储区域190存储快照192。与以上描述的第一示例性实施方式中类似的部件用相同的附图标记引用,并且将省略重复说明(同样应用于其他示例性实施方式)。

如图7的示例中例示的,向作为虚拟计算机的信息处理设备700引入SS控制模块140,其发出打印机180的日志信息(I-Log 782A)的保持指令(save_log)并且指示信息处理设备700利用SS管理模块117创建打印控制器模块125在其上操作的客机OS 120的快照(可包括快照再现)。故障信息收集模块135收集打印控制器模块125内部和客机OS 120的日志信息(C-Log 127A)并且获取存储在打印机180中的日志信息(I-Log 782A)。

即,SS控制模块140执行用于保持设置在信息处理设备700外部的打印机180的I-Log 782A(打印机180的日志信息)的控制,信息处理设备700是装载了已经被安装作为应用程序的打印控制器模块125的客机OS 120的虚拟计算机。

打印机180存储根据来自SS控制模块140的指令获取的外部事件。即,I-Log 782A存储在打印机180中。显然,存储I-Log 782A的单元设置在打印机180内部。此外,在存储I-Log 782A之后,新日志信息并不由于打印机180的重新开始处理而覆写在I-Log 782A上,并且存储指示故障发生时的状态的I-Log 782A。

在作为外部事件的I-Log 782A存储在打印机180中之后,SS管理模块117创建包括打印控制器模块125的客机OS 120的快照。因此,在快照创建的时间,I-Log 782A已经存储在打印机180中。

具体地,当故障发生时,SS控制模块140向打印控制器模块125发出存储打印机180的I-Log 782A的指令(Save_ILog)(步骤72)。在打印控制器模块125的控制下,输出控制模块130向打印机180发出存储I-Log 782A的指令(save_log)(步骤74)。打印机180存储I-Log 782A,并且向输出控制模块130发送指示存储完成的通知(步骤76)。然后,打印控制器模块125(输出控制模块130)执行指示Save_Log的处理完成的Res_Ilog处理(步骤78)。SS控制模块140指示SS管理模块117执行快照处理(步骤80)。结果,快照192存储在存储区域190中。打印控制器模块125内的C-Log 127A存储在快照192中。

然后,执行故障恢复处理,并且重新开始操作。在完成操作之后执行故障的收集和分析的情况下,SS管理模块117利用存储区域190内的快照192恢复故障发生时 的状态。结果,在打印控制器模块125中恢复故障发生时的C-Log 127A。故障信息收集模块135向打印控制器模块125发出获取故障发生时的状态的指令(Get_Log)(步骤92)。在打印控制器模块125的控制下,输出控制模块130发出从打印机180获取I-Log 782A的指令(get_log)(步骤94)。打印机180执行向输出控制模块130发送I-Log 782A的处理(步骤96)。打印控制器模块125向故障信息收集模块135发送C-Log 127A和输出控制模块130获取的I-Log 782A(步骤98)。负责人分析故障信息收集模块135获取的C-Log 127A和I-Log 782A并且思考故障原因、故障对策等。

图8是例示根据第二示例性实施方式的处理示例的说明图。

信息处理设备700进行操作使打印机180执行打印处理,并且假设故障发生210出现在操作期间。

当检测到故障发生210时,向客机OS 120上的SS控制模块140发出拍快照指令222。SS控制模块140向打印控制器模块125发出Save_ILog 824指令。在打印控制器模块125的控制下,输出控制模块130向打印机180发出save_log 826指令,并且打印机180复制I-Log 782A以生成I-Log 782B(对应于图7的示例中的I-Log 782A)并且存储生成的I-Log 782B。在从打印机180接收到完成通知时,打印控制器模块125(输出控制模块130)用指示处理完成的Res_ILog 828向SS控制模块140进行回应。然后SS控制模块140接收Res_ILog 828,并且请求虚拟化SW 115内的SS管理模块117进行快照处理。SS管理模块117在存储区域190中存储客机OS 120和打印控制器模块125的状态A:840A作为快照892。之后,执行从故障恢复的恢复处理250并且实现操作重新开始260。

然后,在预定打印处理完成之后(或者在没有打印服务正在执行时),SS管理模块117根据用户操作接收快照再现指令270,并且利用存储区域190中的快照892再现故障发生时的状态A:840B(状态A:840A)。然后,根据故障信息收集指令272,故障信息收集模块135向打印控制器模块125发出Get_Log 274指令。打印控制器模块125向打印机180发出get_log 874B并且获取I-Log 782C(I-Log 782B)。然后,向故障信息收集模块135传送作为打印控制器模块125内部和客机OS 120的日志信息的C-Log 127A、以及I-Log 782C(I-Log和C-Log 876)。然后,C-Log 127B(C-Log 127A)和I-Log 782D(I-Log 782C,I-Log 782B,I-Log 782A)存储在存储 区域190中。通过分析C-Log 127B和I-Log 782D,思考故障原因、故障对策等。在故障发生之后,为了继续打印机180处的打印处理,执行恢复处理250和操作重新开始260而不收集和分析日志。具体地,在打印机180是高速打印机的情况下,存在缩短停工期(不可执行打印的期间)的需求。

图9和10是例示根据第二示例性实施方式的处理示例(生成快照892的处理示例和存储I-Log 782A的处理示例)的流程图。

在步骤S902,确定是否检测到故障发生。当检测到故障发生时,处理前进到步骤S904。当未检测到故障发生时,处理等待直到检测到故障发生。

在步骤S904,根据用户操作发出拍快照指令222。如上所述,通过监视打印控制器模块125内部的状态,可自动发出拍摄指令。

在步骤S906,SS控制模块140接收拍快照指令222。

在步骤S908,SS控制模块140发出I-Log存储指令(Save_ILog 824)。

在步骤S910,输出控制模块130接收I-Log存储指令(Save_ILog 824)。

在步骤S912,输出控制模块130发出I-Log存储指令(save_log 826)。

在步骤S914,打印机180接收I-Log存储指令(save_log 826)。

在步骤S916,打印机180存储I-Log 182A(I-Log 782B)。

在步骤S918,打印机180用指示I-Log的存储完成的通知进行回应。

在步骤S920,输出控制模块130用指示打印机180中的I-Log的存储完成的通知(Res_ILog 828)进行回应。

在步骤S922,SS控制模块140接收Res_ILog 828。

在步骤S924,SS控制模块140发出快照创建指令。

在步骤S926,SS管理模块117接收快照创建指令。

在步骤S928,SS管理模块117在存储区域190中存储当前状态A:840A作为快照892。

图11是例示根据第二示例性实施方式的处理示例(再现快照892的处理示例)的流程图。

在步骤S1102,根据用户操作,发出快照再现指令270。

在步骤S1104,SS管理模块117接收快照再现指令270。

在步骤S1106,SS管理模块117利用存储区域190内的快照892再现状态A: 840B。

图12是例示根据第二示例性实施方式的处理示例(收集作为故障信息的C-Log 127A和I-Log 782D的处理示例)的流程图。

在步骤S1202,根据用户操作,发出故障信息收集指令272。

在步骤S1204,故障信息收集模块135接收故障信息收集指令272。

在步骤S1206,故障信息收集模块135发出日志获取指令(Get_Log 274)。

在步骤S1208,打印控制器模块125接收日志获取指令(Get_Log 274)。

在步骤S1210,打印控制器模块125发送日志获取指令(get_log 874B)。

在步骤S1211,打印机180接收日志获取指令(get_log 874B)。

在步骤S1212,打印控制器模块125发送C-Log 127A。

在步骤S1214,打印机180发送I-Log 782C。

在步骤S1216,故障信息收集模块135接收I-Log和C-Log 876(C-Log 127A和I-Log 782C)。

在步骤S1218,故障信息收集模块135在存储区域190中存储C-Log 127B和I-Log 782D(I-Log和C-Log 876)。

第三示例性实施方式

图13是例示第三示例性实施方式的构造示例的概念模块构造图。信息处理设备1300X响应于来自信息处理设备1300Y(客户端SW 1325)的打印请求使打印机180X执行打印处理。当故障发生时,获取信息处理设备1300Y的日志信息以及信息处理设备1300X的日志信息。

信息处理设备1300X是虚拟计算机系统,包括从底层起按次序的物理机105X、主机OS 110X、虚拟化SW 115X、客机OS 120X,并且打印控制器模块125X、故障信息收集模块135X、SS控制模块140X设置在客机OS 120X上。虚拟化SW 115X包括SS管理模块117X,打印控制器模块125X包括输出控制模块130X并且存储C-Log 127AX。打印机180X存储I-Log 182AX。存储区域190X存储快照192X。

信息处理设备1300Y是虚拟计算机系统包括从底层起按次序的物理机2 105Y、主机OS 110Y、虚拟化SW 2 115Y、客机OS 2 120Y,并且客户端SW 1325、故障信息收集C模块135Y、SS控制C模块140Y设置在客机OS 2 120Y上。虚拟化SW 2 115Y包括SS管理2模块117Y,客户端SW 1325存储Cl-Log 1327A。存储区域2 190Y存 储快照2:192Y。

信息处理设备1300X和信息处理设备1300Y通过通信线路连接。

信息处理设备1300X的SS控制模块140X使信息处理设备1300Y存储不同于信息处理设备1300X的信息处理设备1300Y(已向信息处理设备1300X发送了打印请求的虚拟计算机)的快照。

在作为通过通信线路连接至信息处理设备1300X(打印控制器)的外部设备的信息处理设备1300Y(客户端设备)按照与信息处理设备1300X类似的方式在虚拟化环境下操作的情况下,如果在信息处理设备1300X侧(包括打印机180X)发生故障,则信息处理设备1300X的SS控制模块140X根据拍快照指令向信息处理设备1300Y的SS控制C模块140Y发出拍快照的指令(Get_CSS)(步骤132和步骤134)。

在接收到拍快照指令时,SS控制C模块140Y指示SS管理2模块117Y创建客户端SW 1325在其上操作的客机OS 2 120Y的快照(步骤136),因此创建客户端SW 1325的快照作为用于客户端SW 1325的存储区域2 190Y中的快照2:192Y。此时,信息处理设备1300X的SS控制模块140X执行日志处理,如之前示例性实施方式中一样创建客机OS 120X的快照(步骤140)。

然后,在实现从故障的恢复并且完成预定打印处理之后(或者在没有打印服务正在执行时),信息处理设备1300X如根据之前示例性实施方式的处理示例中一样再现快照192X,然后获取打印控制器模块125内部和客机OS 120X的日志信息(C-Log 127AX)和打印机180的日志信息(I-Log 182AX)。

除此之外,还在信息处理设备1300Y(客户端SW 1325)中,信息处理设备1300Y的SS管理2模块117Y根据来自信息处理设备1300X的SS管理模块117X的再现快照的指令,利用预先创建并存储在存储区域2 190Y内的快照2:192Y再现故障发生时的状态。然后,故障信息收集C模块135Y获取信息处理设备1300Y(客户端SW 1325)的日志信息(Cl-Log 1327A)(步骤152),并且获取日志信息(步骤154)。然后,故障信息收集C模块135Y向信息处理设备1300X的故障信息收集模块135X发送获取的Cl-Log 1327A。信息处理设备1300X的故障信息收集模块135X获取信息处理设备1300Y的Cl-Log 1327A以及C-Log 127AX和I-Log 182AX。通过分析已发出打印请求的信息处理设备1300Y的C-Log 127AX、I-Log 182AX、Cl-Log 1327A,思考故障原因、故障对策等。

第四示例性实施方式

在第四及稍后的示例性实施方式中,存储区域190是外部设备,并且获取作为打印机180的处理数据的打印数据作为故障信息。

在将提供第四示例性实施方式的说明之前,将参考图25-28的示例说明现有技术。将提供下面的说明以实现第四及稍后的示例性实施方式的更容易理解。

图25是例示现有技术的示例的说明图。信息处理设备2500控制作为外部设备的打印机2580和存储区域2590执行打印处理。信息处理设备2500是通用计算机(其中为单个物理机2505设置单个OS 2510的计算机),不是虚拟计算机系统。例如,信息处理设备2500用作打印机服务器或打印机控制器,打印机2580是高速打印机。

信息处理设备2500包括从底层起按次序的物理机2505和OS 2510,并且打印控制器模块2525和故障信息收集模块2535设置在OS 2510上。打印控制器模块2525包括输出控制模块2530和作业控制模块2532,存储C-Log 2527A。打印机2580存储I-Log 2582A。存储区域2590存储打印数据2594。

当在信息处理设备2500或打印机2580中发生故障时,打印控制器模块2525根据来自故障信息收集模块2535的指令(Get_Log)收集其内部和OS 2510的日志信息(C-Log 2527A)。故障可由在打印控制器模块2525的控制之外的打印机2580造成。因此,打印控制器模块2525还通过设置在打印控制器模块2525内部的输出控制模块2530收集打印机2580的日志信息(I-Log 2582A)(根据从输出控制模块2530到打印机2580的get_log指令),并且向故障信息收集模块2535发送C-Log 2527A和I-Log 2582A。然后,故障信息收集模块2535在存储区域2590中存储C-Log 2527A和I-Log 2582A。尽管作为作业控制模块2532的处理目标的打印数据2594要被包括为故障信息,作业控制模块2532不被包括为故障信息。

图26是例示根据现有技术的处理示例的说明图。

信息处理设备2500进行操作以使打印机2580执行打印处理,并且假设故障发生2610出现在操作期间。此时,作业控制模块2532的目标数据是PrintDataA 2594A。

当检测到故障发生2610时,向OS 2510上的故障信息收集模块2535发出故障信息收集指令2674。故障信息收集模块2535向打印控制器模块2525发出故障信息收集指令2674,并且获取该时间打印控制器模块2525内部和OS 2510的状态(I-Log)和输出控制模块2530获取的该时间的打印机2580状态(C-Log)(I-Log和C-Log 2678)。然后,故障信息收集模块2535在存储区域2590中存储状态作为C-Log 2527B和I-Log 2582C。之后,执行故障恢复处理2650,并且实现操作重新开始2660。在这种情况下,作业控制模块2532的目标数据是PrintDataA 2594B(故障发生2610时的PrintDataA 2594A)。当操作完成时(当PrintDataA 2594B的打印完成时),执行作业A删除2640。然后,下一个PrintDataB 2698变为作业控制模块2532的处理目标。

之后,通过在打印机2580的操作完成之后分析C-Log 2527B和I-Log 2582C,思考故障原因、故障对策等。然而,到该时,PrintDataA 2594A(PrintDataA 2594B)已被删除,并且不可收集为故障信息(思考时,PrintDataB 2698,不同于PrintDataA2594A)。在收集日志之后,为了继续打印机2580处的打印处理,执行恢复处理2650和操作重新开始2660而不分析日志。特别地,在打印机2580是高速打印机的情况下,存在缩短停工期(不可执行打印的期间)的需求。

接下来,将说明虚拟计算机系统的示例。图27是例示现有技术的示例的说明图。信息处理设备2700是虚拟计算机系统,控制作为外部设备的打印机2780和存储区域2790执行打印处理。例如,信息处理设备2700用作打印机服务器,打印机2780是高速打印机。

如图27的示例中例示的,在物理机2705上建立利用主机OS 2710和虚拟化SW 2715的虚拟硬件,客机OS 2720安装在虚拟硬件上,作为应用程序(应用)的打印控制器模块2725安装在客机OS 2720上。

虚拟化SW 2715是允许多个客机OS 2720并行共存在物理机2705上的软件。即,虚拟化SW 2715以软件方式建立诸如CPU、存储器和HDD的硬件,并且准备客机OS 2720依赖的硬件资源作为虚拟机。

例如,打印机控制程序(特定示例包括数字前端)用作打印控制器模块2725。在这种情况下,虚拟机彼此分离,即使在任意虚拟机中发生故障(例如,崩溃等),不同虚拟机上的打印机控制程序继续操作并且因此能够执行打印。

具体地,信息处理设备2700包括从底层起按次序的物理机2705、主机OS 2710、虚拟化SW 2715、客机OS 2720,并且作为应用程序的打印控制器模块2725和故障信息收集模块2735设置在客机OS 2720上。虚拟化SW 2715包括SS管理模块2717,打印控制器模块2725包括输出控制模块2730和作业控制模块2732并且存储C-Log 2727A。打印机2780存储I-Log 2782A。存储区域2790存储共享存储区域2796,其 包括快照2792和打印数据2794。在图27的示例中,例示其中单个客机OS 2720设置在虚拟化SW 2715上的示例。然而,由于信息处理设备2700是虚拟计算机系统,多个客机OS 2720可设置在虚拟化SW 2715上。

在信息处理设备2700中,使作为应用程序的打印控制器模块2725在虚拟化环境下操作,在虚拟化环境下利用快照功能(SS管理模块2717的功能)将故障发生时的故障状态保持在存储区域2790中作为快照2792,实现从故障的恢复,并且在预定打印处理完成之后(没有打印服务正在执行时),利用存储的快照2792再现故障发生时的状态,然后获得故障信息。这里,由SS管理模块2717执行打印控制器模块2725在其上操作的客机OS 2720的快照的创建和再现。

将参考图28的示例提供说明。信息处理设备2700进行操作以使打印机2780执行打印处理,并且假设故障发生2810出现在操作期间。

当检测到故障发生2810时,根据用户操作向SS管理模块2717发出拍快照指令2822。SS管理模块2717在存储区域2790中存储该时间客机OS 2720和打印控制器模块2725的状态A:2840A作为快照。此时,作业控制模块2732执行共享存储区域2796中的PrintDataA 2794A的打印处理。然而,通过获取信息处理设备2700内部的状态获得SS管理模块2717的快照,因此共享存储区域2796(外部设备)中的PrintDataA 2794A不是快照目标。

之后,执行故障恢复处理2850,并且实现操作重新开始2860。在这种情况下,作业控制模块2732的目标数据是PrintDataA 2794B(故障发生2810时的PrintDataA 2794A)。当操作完成时(当PrintDataA 2794B的打印完成时),执行作业A删除2840。然后,下一个PrintDataB 2898变成作业控制模块2732的处理目标。

在打印机2780的操作完成之后,当根据用户操作向SS管理模块2717发出快照再现指令2870时,SS管理模块2717读取存储区域2790内的快照2792并且将客机OS 2720和打印控制器模块2725的状态返回状态A:2840B(与状态A:2840A相同的状态)。然后,根据用户操作,向故障信息收集模块2735发出故障信息收集指令2874,并且执行与图26的示例中例示的类似的处理。即,故障信息收集模块2735向打印控制器模块2725发出Get_Log 2876指令,获取该时间打印控制器模块2725内部和客机OS 2720的状态作为C-Log 2884和I-Log 2882。故障信息收集模块2735在存储区域2790中存储状态作为C-Log 2727B和I-Log 2782B。

在使用故障信息收集模块2735收集在信息处理设备2700的控制之外的共享存储区域2796(存储区域2790)内的打印数据情况下,在故障发生2810与故障信息收集指令2874之间的时间期间执行打印处理(操作重新开始2860),如图28的示例中例示的。因此,故障信息收集指令2874时共享存储区域2796内的PrintDataB 2898(其中写入故障之后的打印处理(操作重新开始2860之后的打印处理)中的目标数据)不同于I-Log 2782A(故障发生时打印机2780的日志信息)。因此,根据打印机2780内操作重新开始2860之后的打印处理,可发生已经删除了作为故障发生时的目标数据的PrintDataA 2794A的情况。即,故障发生2810时的PrintDataA 2794A没有根据故障信息收集指令2874存储在存储区域2790中。

在图27的示例中例示的信息处理设备2700中,包括所有数据的快照具有大的大小,特定操作花费的资源,新创建的存储作业等要用于另一个操作因此设置在信息处理设备2700外部的存储区域2790(共享存储区域2796)中。此外,通过在存储区域2790(共享存储区域2796)中设置要临时使用的打印数据(PrintDataA 2794A等),降低了快照容量。

然而,当试图使用快照再现故障发生时的状态时,设置在存储区域2790(共享存储区域2796)中的数据可改变,并且可不再现故障。例如,在打印数据存储在存储区域2790(共享存储区域2796)中的情况下,如果如上所述快照用于在执行从故障恢复并且完成打印处理之后再现故障发生时的状态,用于再现故障发生时的状态的快照不包括故障发生时的打印数据,使得难以再现故障发生时的状态。

为了再现故障发生时的状态,有必要存储打印处理所需并且在打印处理完成之后要被删除或改变的数据。

图18是根据第四示例性实施方式的构造示例的概念模块构造图。

信息处理设备1800包括从底层起按次序的物理机105、主机OS 110、虚拟化SW 115、客机OS 120,并且打印控制器模块125、故障信息收集模块135、SS控制模块140设置在客机OS 120上。虚拟化SW 115包括SS管理模块117,打印控制器模块125包括输出控制模块130和作业控制模块1832并且存储C-Log 127A和I-Log 182B。打印机180存储I-Log 182A。存储区域190存储共享存储区域1896和快照192,共享存储区域1896存储打印数据1894。

信息处理设备1800执行下面描述的处理作为概述。

在使打印控制器模块125在客机OS 120上操作并且使用虚拟计算机系统的快照功能收集故障信息的情况下,如上所述,故障发生时间极大地不同于故障信息的获取时间。因此,在获取故障信息时,存储在存储区域190中的打印数据1894(不是快照目标)、资源数据等可不保持故障发生时的数据。因此,已知故障信息收集功能分布在SS控制模块140与故障信息收集模块135之间,在SS控制模块140的控制下,在拍快照之前不删除关于故障发生时正处理的作业的数据(例如,打印数据1894)。

相应地,通过故障发生之后立即创建快照,可在故障恢复处理之后立即重新开始原始打印处理,而不进行花费长时间的收集故障信息。然后,通过在诸如打印服务完成之后的时间的期望时间重新开始快照,可获取故障发生之后紧接的故障信息(打印数据1894,是关于作业以及打印控制器模块125和打印机180的信息)。

即,打印机180的用户不收集关于故障发生的故障信息。结果,可增加打印机180的操作率。

收集C-Log 127A和I-Log 182B的处理类似于根据第一示例性实施方式的信息处理设备100的处理。

当故障发生在信息处理设备1800或打印机180中时,SS控制模块140根据拍快照指令要求打印控制器模块125收集正处理的作业信息,并且指示打印控制器模块125保持打印数据。打印控制器模块125通过作业控制模块1832获得当前正处理的打印数据1894的文件名,并且在共享存储区域1896中创建与打印数据的文件名(在这种情况下,例如,PrintDataA)链接的文件(在这种情况下,PrintDataA.lnk)。

在完成创建之后,打印控制器模块125向SS控制模块140发送指示数据保持完成的通知。SS控制模块140指示SS管理模块117创建客机OS 120的快照。

接下来,为了优先化用户处理,实现从故障恢复,并且在预定打印处理完成之后,删除作为以上描述的打印数据的文件名的PrintDataA。然而,由于存在链接的文件,所以实体不被删除。

当向SS管理模块117发出快照再现指令以收集故障信息时,返回获取快照时的内部状态,通过执行使打印数据的名称(PrintDataA.lnk)返回原始名称的处理(打印数据名称的恢复),恢复删除的打印数据。

当发出故障信息收集指令时,故障信息收集模块135从作业控制模块1832获得正处理的打印数据的名称并且从共享存储区域1896收集打印数据1894。故障信息收 集模块135还收集打印控制器模块125内的C-Log 127A、以及作为打印机180的日志信息的I-Log 182B,并且提取它们作为故障信息。

相应地,恢复故障发生时包括打印数据1894的状态,并且可实现打印数据1894造成的故障的信息的收集。

以上提到的链接文件的创建仅包括链接信息,而不复制实体。因此,仅使用短的处理时间和小的盘空间。

图19是例示根据第四示例性实施方式的处理示例的说明图。

信息处理设备1800进行操作以使打印机180执行打印处理,并且假设故障发生1910出现在操作期间。

当检测到故障发生1910时,根据用户操作向客机OS 120上的SS控制模块140发出拍快照指令1922。通过监视打印控制器模块125内部的状态,可自动发出拍摄指令。SS控制模块140向作业控制模块1832发出取得PrintData文件名1924指令。作业控制模块1832在打印控制器模块125的控制下获取共享存储区域1896内的PrintDataA 1894A的文件名(PrintDataA)。

作业控制模块1832向SS控制模块140发送作为文件名的“PrintDataA”1930。SS控制模块140在共享存储区域1896中创建与“PrintDataA”1930链接的文件(在这种情况下,将到PrintDataA的链接1926与PrintDataA 1894A相链接的PrintDataA.lnk 1928A)。

然后,SS控制模块140向SS管理模块117发送指示处理完成的已完成1932。SS管理模块117在存储区域190中存储客机OS 120和打印控制器模块125的状态A:1940A作为快照192。之后,执行恢复处理1950(故障恢复),并且实现操作重新开始1960。在此操作中,完成PrintDataA 1894B的打印处理。作业控制模块1832针对PrintDataA 1894B(PrintDataA 1894A)执行作业A删除1940。因此,尽管删除了PrintDataA 1894B,PrintDataA.lnk 1928A存在,因此未删除PrintDataA 1894B的实体。在接下来的打印处理中,PrintDataB 1998(不同于PrintDataA 1894B)变成目标数据。

然后,实现从故障的恢复,并且在预定打印处理完成之后(没有打印服务正在执行时),SS管理模块117根据用户操作接收快照再现指令1970,利用存储区域190内的快照192再现故障发生时的状态A:1940B(状态A:1940A)。然后,SS管理模块117对PrintDataA.lnk 1928C执行设置数据1972(打印数据名称的恢复)。相应 地,恢复PrintDataA 1894C(PrintDataA 1894B)。

根据故障信息收集指令1974,故障信息收集模块135根据到打印控制器模块125的取得数据1976指令从作业控制模块1832获取共享存储区域1896内的“PrintDataA”1978(PrintDataA 1894C)。然后,故障信息收集模块135根据到打印控制器模块125的Get_Log 1980指令从输出控制模块130获取I-Log 1982和C-Log 1984。然后,C-Log 127B(C-Log 1984)、I-Log 182C(I-Log 1982)、PrintDataA 1894D(PrintDataA 1894C)存储在存储区域190中。通过分析C-Log 127B、I-Log 182C、PrintDataA 1894D,思考故障原因、故障对策等。特别地,恢复故障发生时包括打印数据的状态,并且可收集打印数据造成的故障的信息。在收集日志之后,为了继续打印机180处的打印处理,执行恢复处理1950和恢复重新开始1960而不分析日志。特别地,在打印机180是高速打印机的情况下,存在缩短停工期(不可执行打印的期间)的需求。

图20是例示根据第四示例性实施方式的处理示例的流程图。

在步骤S2002,SS控制模块140接收拍快照指令1922。

在步骤S2004,SS控制模块140确定是否获得正处理的打印数据的名称。当获得正处理的打印数据的名称时,处理前进到步骤S2006。当未获得正处理的打印数据的名称时,处理前进到步骤S2008。

在步骤S2006,SS控制模块140建立与其中后缀“lnk”添加到获得的打印数据名称的文件的硬链接。

在步骤S2008,SS控制模块140针对打印数据名称设置NULL。

在步骤S2010,SS控制模块140通知SS管理模块117打印数据名称。

图21是例示根据第四示例性实施方式的处理示例的流程图。

在步骤S2102,SS管理模块117接收快照再现指令1970。

在步骤S2104,SS管理模块117确定打印数据名称是否是NULL。当打印数据名称是NULL时,处理结束(步骤S2199)。当打印数据名称不是NULL时,处理前进到步骤S2106。

在步骤S2106,SS管理模块117确定文件“打印数据名称.lnk”是否存在。当文件“打印数据名称.lnk”存在时,处理前进到步骤S2108。当文件“打印数据名称.lnk”不存在时,处理结束(步骤S2199)。

在步骤S2108,SS管理模块117将文件名改变为打印数据名称(具体地,删除 “.lnk”)。

第五示例性实施方式

图22是例示根据第五示例性实施方式的处理示例的说明图。模块构造示例类似于根据第四示例性实施方式的构造示例(图18中例示的示例)。

引入SS控制模块140,其发出收集共享存储区域1896内的数据信息并且利用SS管理模块117创建打印控制器模块125在其上操作的客机OS 120的快照的指令,并且在存储区域190中恢复删除的打印数据信息。

收集C-Log 127A和I-Log 182B的处理类似于根据第五示例性实施方式的信息处理设备100的处理。

当在信息处理设备1800或打印机180中发生故障时,SS控制模块140根据拍快照指令要求打印控制器模块125收集正处理的作业信息。打印控制器模块125通过作业控制模块1832获得当前正处理的打印数据1894的文件名,并且向SS控制模块140传送文件名。SS控制模块140向SS管理模块117传送当前正处理的打印数据1894的文件名,并且指示SS管理模块117执行包括打印数据1894的快照处理。SS管理模块117创建包括当前正处理的打印数据1894的快照。

接下来,为了优先化用户处理,实现从故障的恢复,并且完成预定的打印处理。通过完成打印处理,从共享存储区域1896删除打印数据1894。

当向SS管理模块117发出快照再现指令以收集故障信息时,恢复快照获取时的内部状态。同时,执行将打印数据1894返回原始状态的处理,并且在共享存储区域1896中恢复删除的打印数据1894。

当发出故障信息收集指令时,故障信息收集模块135从作业控制模块1832获得正处理的打印数据的名称,并且从共享存储区域1896收集打印数据1894。同时,收集打印控制器模块125内的C-Log 127A和作为打印机180的日志信息的I-Log 182B并且提取为故障信息。

相应地,恢复故障发生时包括打印数据1894的状态,并且可收集打印数据1894造成的故障的信息。

将详细说明图22中例示的示例。

信息处理设备1800进行操作以使打印机180执行打印处理,并且假设故障发生2210出现在操作期间。

当检测到故障发生2210时,根据用户操作向客机OS 120上的SS控制模块140发出拍快照指令2222。通过监视打印控制器模块125内部的状态,可自动发出拍摄指令。SS控制模块140向作业控制模块1832发出得到PrintData文件名2224指令。作业控制模块1832在打印控制器模块125的情况下获取共享存储区域1896内的PrintDataA 2228A的文件名(PrintDataA)。

作业控制模块1832向SS控制模块140发送作为文件名的“PritnDataA”2226。SS控制模块140通知SS管理模块117“PrintDataA”2226作为快照目标文件。SS管理模块117生成客机OS 120和打印控制器模块125的快照192作为状态A:2240A,其包括指定的打印数据(“PrintDataA”2226的实体数据),并且在存储区域190中存储快照192。之后,执行作为故障恢复的恢复处理2250,并且实现操作重新开始2260。在此操作中,完成PrintDataA 2228B的打印处理。作业控制模块1832对于PrintDataA 2228B(PrintDataA 2228A)执行作业A删除2242。因此,从共享存储区域1896删除PrintDataA 2228B。在接下来的打印处理中,PrintDataB 2298(不同于PrintDataA 2228B)变为目标数据。

然后,实现从故障的恢复,并且在预定打印处理完成之后(没有打印服务正在执行时),SS管理模块117根据用户操作接收快照再现指令2270,并且利用存储区域190内的快照192再现故障发生时的状态A:2240B(状态A:2240A)。然后,SS管理模块117再现共享存储区域1896中的快照192内的PrintDataA 2228A(PrintDataA 2228C)。

根据故障信息收集指令2274,故障信息收集模块135根据到打印控制器模块125的GetData 2276指令从作业控制模块1832获取共享存储区域1896内的“PrintDataA”2278(PrintDataA 2228C)。然后,故障信息收集模块135根据到打印控制器模块125的Get_Log 2280指令从输出控制模块130获取I-Log 2282和C-Log 2284。然后,C-Log 127B、I-Log 182C、PrintDataA 1894D(PrintDataA 2228C)存储在存储区域190中。通过分析C-Log 127B、I-Log 182C、PrintDataA 1894D,思考故障原因、故障对策等。特别地,恢复故障发生时包括打印数据的状态,并且可收集打印数据造成的故障的信息。在收集日志之后,为了继续打印机180处的打印处理,执行恢复处理2250和操作重新开始2260而不分析日志。特别地,在打印机180是高速打印机的情况下,存在缩短停工期(不可执行打印的期间)的需求。

图23是例示根据第五示例性实施方式的处理示例的流程图。

在步骤S2302,SS控制模块140接收拍快照指令2222。

在步骤S2304,SS控制模块140确定是否获得正处理的打印数据的名称。当获得了正处理的打印数据的名称时,处理前进到步骤S2306。当未获得正处理的打印数据的名称时,处理前进到步骤S2308。

在步骤S2306,SS控制模块140通知SS管理模块117打印数据名称作为快照目标文件。

在步骤2308,SS控制模块140为打印数据名称设置NULL。

图24是例示根据第五示例性实施方式的处理示例的流程图。

在步骤S2402,SS管理模块117接收快照再现指令2270。

在步骤S2404,SS管理模块117确定打印数据名称是否是NULL。当打印数据名称是NULL时,处理结束(步骤S2499)。当打印数据名称不是NULL时,处理前进到步骤S2406。

在步骤S2406,SS管理模块117在共享存储区域1896中存储打印数据。

将参考图29说明根据示例性实施方式的硬件构造的示例。图29中例示的构造包括例如个人计算机(PC),是包括诸如扫描仪的数据读取单元2917和诸如打印机的数据输出单元2918的硬件构造的示例。

CPU 2901是根据计算机程序执行处理的控制器,之前的示例性实施方式中说明的各个模块(即,诸如主机OS 110、虚拟化SW 115、客机OS 120、打印控制器模块125、输出控制模块130、SS控制模块140、故障信息收集模块135的各个模块)的执行顺序。

只读存储器(ROM)2902存储要由CPU 2901使用的程序、算术参数等。RAM 2903存储CPU 2901的执行中要使用的程序、在CPU 2901的执行中适当变化的参数等。CPU 2901、ROM 2902、RAM 2903通过主机总线2904(例如是CPU总线)连接。

主机总线2904通过桥接器2905连接到诸如外围组件互连/接口(PCI)总线的外部总线2906。

键盘2908和诸如鼠标的指点设备2909是操作者操作的输入设备。显示器2910可以是液晶显示器或阴极射线管(CRT),显示各种类型的信息,作为文本和图像信息。

硬盘驱动(HDD)2911包含硬盘(可以是闪存等)。HDD 2911驱动硬盘并且记录或再现CPU 2901执行的程序和信息。C-Log 127、I-Log 182、打印数据1894等存储在硬盘中。此外,其他各种数据、各种计算机程序等也存储在硬盘中。

驱动2912读取诸如磁盘、光盘、磁光盘或半导体存储器的安装的可移除记录介质2913中记录的数据或程序,并且向通过接口2907、外部总线2906、桥接器2905和主机总线2904连接的RAM 2903提供数据或程序。可移除记录介质2913也可用作类似于硬盘的数据记录区域。

连接端口2914是外部连接设备2915连接的端口,并且包括诸如USB或IEEE1394的连接端口。连接端口2914通过2907、外部总线2906、桥接器2905和主机总线2904连接到CPU 2901等。通信单元2916连接到通信线路并且执行与外部设备数据通信的处理。数据读取单元2917例如是扫描仪,执行文档读取处理。数据输出单元2918例如是打印机,执行文档数据输出处理。

图29中例示的计算机的硬件构造是单个构造示例。示例性实施方式不限于图29中例示的构造,只要可执行示例性实施方式中说明的模块即可。例如,一些模块可配置为专用硬件(例如,专用集成电路(ASIC)),一些模块可位于可经由通信线路连接的外部系统中,或者图29中例示的多个系统可经由通信线路彼此连接,使得它们一起合作。此外,特别地,模块可并入便携式信息通信设备(包括移动电话、智能电话、移动设备、可穿戴计算机)、家庭信息家电、机器人、复印机、传真机、扫描仪、打印机、多功能机器(具有扫描仪、打印机、复印机、传真机等功能中的两种或更多种的图像处理设备)等,以及个人计算机中。

上述程序可存储在记录介质中并提供,或者可通过通信供应。在这种情况下,例如,上述程序可视为“记录程序的计算机可读记录介质”的发明。

“记录程序的计算机可读记录介质”代表记录要用于程序的安装、执行和分发的程序的计算机可读记录介质。

记录介质例如是数字多功能盘(DVD),包括作为DVD论坛设置的标准的“DVD-R、DVD-RW、DVD-RAM等”以及作为DVD+RW设置的标准的“DVD+R、DVD+RW等”,压缩盘(CD),包括只读存储器(CD-ROM)、CD可刻录(CD-R)、CD可重写(CD-RW)等,蓝光TM盘,磁光盘(MO),柔性盘(FD),磁带,硬盘,ROM,电可擦除可编程只读存储器(EEPROMTM),闪存,RAM,安全数字(SD) 存储卡等。

以上描述的程序或程序的一部分可记录在以上记录介质中,被存储和分发。此外,程序可通过用于局域网(LAN)、城域网(MAN)、广域网(WAN)、互联网、内联网、外联网的通信(例如,有线网络或无线通信网络),或以上网络的组合的传输介质发送。另选地,程序或程序的一部分可通过载波传送。

以上提到的程序可以是另一程序的部分或者可与不同程序一起记录在记录介质中。另外,程序可划分并记录到多个记录介质。程序可以任何格式存储,诸如压缩或加密,只要程序可再现即可。

已经为了例示和描述的目的提供了本发明的示例性实施方式的前述描述。不意图穷举或将发明限于公开的精确形式。显然,许多修改和变型对于本领域技术人员将是明显的。为了最佳地说明本发明的原理及其实际应用选择并描述了实施方式,从而使得本领域技术人员能够理解本发明的各种实施方式以及适于设想的特定用途的各种修改。本发明的范围旨在被所附权利要求及其等同物限定。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1