JP5713138B1 - 仮想計算機システム、プリンタ制御システム、仮想計算機プログラム及びプリンタ制御プログラム - Google Patents

仮想計算機システム、プリンタ制御システム、仮想計算機プログラム及びプリンタ制御プログラム Download PDF

Info

Publication number
JP5713138B1
JP5713138B1 JP2014186808A JP2014186808A JP5713138B1 JP 5713138 B1 JP5713138 B1 JP 5713138B1 JP 2014186808 A JP2014186808 A JP 2014186808A JP 2014186808 A JP2014186808 A JP 2014186808A JP 5713138 B1 JP5713138 B1 JP 5713138B1
Authority
JP
Japan
Prior art keywords
snapshot
virtual machine
application program
printer control
program
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.)
Active
Application number
JP2014186808A
Other languages
English (en)
Other versions
JP2016062111A (ja
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Fujifilm Business Innovation 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 Fuji Xerox Co Ltd, Fujifilm Business Innovation Corp filed Critical Fuji Xerox Co Ltd
Priority to JP2014186808A priority Critical patent/JP5713138B1/ja
Priority to US14/606,057 priority patent/US9606872B2/en
Priority to CN201510096356.4A priority patent/CN105988857B/zh
Application granted granted Critical
Publication of JP5713138B1 publication Critical patent/JP5713138B1/ja
Publication of JP2016062111A publication Critical patent/JP2016062111A/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • G06F11/1451Management of the data involved in backup or backup restore by selection of backup contents
    • 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1438Restarting or rejuvenating
    • 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/815Virtual
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/84Using snapshots, i.e. a logical point-in-time copy of the data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1229Printer resources management or printer maintenance, e.g. device status, power levels
    • G06F3/1234Errors handling and recovery, e.g. reprinting

Abstract

【課題】仮想マシンにインストールされた応用プログラムを実行するにあたって、既に作成された基準スナップショットを仮想マシンに適用した後に、その応用プログラムを実行するようにした仮想計算機システムを提供する。【解決手段】仮想計算機システムは、仮想マシンにインストールされた応用プログラムを含む前記仮想マシンの状態を記録したスナップショットを基準スナップショットとして保存し、前記応用プログラムの実行要求を受け付けるに際し、前記基準スナップショットを前記仮想マシンに適用し、前記応用プログラムを実行する前記仮想マシンの状態をスナップショットとして保存する。【選択図】図1

Description

本発明は、仮想計算機システム、プリンタ制御システム、仮想計算機プログラム及びプリンタ制御プログラムに関する。
特許文献1には、ゲストOSの性能に対する影響の少ない障害検証手段を備えた仮想計算機システムを提供することを課題とし、仮想マシンは、ゲストOSに対する、仮想CPUの動作状態と仮想メモリの状態と仮想ディスクの状態(仮想マシンの状態)をベーススナップショットとして保存し、以降、定期的に仮想マシンの状態の更新分を差分スナップショットとして保存し、障害発生時には、ディスク装置に保存されたベーススナップショットと差分スナップショットを用いてゲストOSに対する、仮想マシンの状態を復元することが開示されている。
特許文献2には、仮想マシンを動作する仮想計算機システムにおいて、冗長化することなく、仮想マシンの異常検出時に、仮想マシンを復旧することを課題とし、ホストOSが、指定されたゲストOSに割り当てられたCPU及びメモリの内容を、指定された時刻又は所定の時間間隔で、読み出し、スナップショットを作成し、記憶装置に保存するスナップショット管理部を設け、スナップショット管理部が、ゲストOSの異常検出に応じて、記憶装置に保存したスナップショットを用いて、ゲストOSを復旧し、ホストOS及び仮想マシンを冗長化構成にする必要なく、且つゲストOSが、異常停止した時点の直前から、ゲストOSを復旧できることが開示されている。
特開2013−235317号公報 特開2011−060055号公報
本発明は、仮想マシンにインストールされた応用プログラムを実行するにあたって、既に作成された基準スナップショットを仮想マシンに適用した後に、その応用プログラムを実行するようにした仮想計算機システム、プリンタ制御システム、仮想計算機プログラム及びプリンタ制御プログラムを提供することを目的としている。
かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。
請求項1の発明は、仮想マシンにインストールされた応用プログラムを含む前記仮想マシンの状態を記録したスナップショットを基準スナップショットとして保存する手段、前記応用プログラムの実行要求を受け付ける毎に、前記基準スナップショットを前記仮想マシンに適用する手段、前記応用プログラムを実行する前記仮想マシンの状態をスナップショットとして保存する手段を備える仮想計算機システムである。
請求項2の発明は、前記保存されたスナップショットに記録された前記仮想マシンが共通で利用可能な共通記憶領域を前記スナップショットとは別に有する、請求項1記載の仮想計算機システムである。
請求項3の発明は、前記仮想マシンにはゲストOSがインストールされ、前記応用プログラムは前記ゲストOS上にインストールされており、前記応用プログラム又は前記ゲストOSの少なくとも1つが更新された場合は、前記更新された応用プログラム又は前記ゲストOSを含む前記仮想マシンの状態を記録したスナップショットを、前記基準スナップショットとして新たに保存する、請求項1又は2のいずれかに記載の仮想計算機システムである。
請求項4の発明は、前記応用プログラムの実行時に前記応用プログラムに係る障害を検出した場合、前記応用プログラムの実行を一時停止させてスナップショットの取得を依頼する手段をさらに備える請求項1乃至3いずれか1に記載の仮想計算機システムである。
請求項5の発明は、保存されているスナップショットの総記憶容量を監視し、前記総記憶容量が予め設定された容量を超える又は以上である場合は、前記スナップショットのうち、保存された時期が古いスナップショットから順に削除する手段をさらに備える請求項1乃至4いずれか1に記載の仮想計算機システムである。
請求項6の発明は、仮想マシンにインストールされたゲストOS上で動作するプリンタ制御プログラムを含む前記仮想マシンの状態を記録したスナップショットを作成するスナップショット作成手段、前記スナップショット作成手段が作成するスナップショットのうち、前記プリンタ制御プログラムがインストールされ、初期設定終了後に作成されたスナップショットを基準スナップショットとしてスナップショット記憶手段に記憶し管理するスナップショット管理手段、プリントジョブを処理するために前記プリンタ制御プログラムの実行要求を受け付ける毎に、前記スナップショット管理手段に依頼して、前記基準スナップショットを前記仮想マシンに読み込ませ、前記プリン制御プログラムを実行するプログラム実行手段を備えるプリンタ制御システムである。
請求項7の発明は、前記スナップショット記憶手段に記憶されたスナップショットに記録された前記仮想マシンが共通で利用可能な共通記憶手段をさらに有する請求項6記載のプリンタ制御システムである。
請求項8の発明は、前記プリンタ制御プログラムの実行時に発生した障害を検出する障害検出手段をさらに備え、前記障害検出手段が障害を検出した場合、前記プログラム実行手段は前記プリンタ制御プログラムの実行を一時停止させて前記スナップショット作成手段にスナップショットの作成を依頼する、請求項6又は7のいずれかに記載のプリンタ制御システムである。
請求項9の発明は、前記スナップショット記憶手段に記憶されているスナップショットの総記憶容量を監視する監視手段をさらに備え、前記監視手段は、前記総記憶容量が予め設定された容量を超える又は以上である場合に前記スナップショットのうち、予め定められた条件を満たすスナップショットの削除を前記スナップショット管理手段に依頼する、請求項6乃至8項いずれか1に記載のプリンタ制御システムである。
請求項10の発明は、前記予め定められた条件が、前記スナップショット記憶手段に記憶された時期が古いスナップショットから順に選択されるものである、請求項9記載のプリンタ制御システムである。
請求項11の発明は、前記予め定められた条件が、係る印刷物について検品が完了したプリントジョブに対応するスナップショットが選択される、請求項9記載のプリンタ制御システムである。
請求項12の発明は、コンピュータを、仮想マシンにインストールされた応用プログラムを含む前記仮想マシンの状態を記録したスナップショットを基準スナップショットとして保存する手段、前記応用プログラムの実行要求を受け付ける毎に、前記基準スナップショットを前記仮想マシンに適用する手段、前記応用プログラムを実行する前記仮想マシンの状態をスナップショットとして保存する手段として機能させるための仮想計算機プログラムである。
請求項13の発明は、コンピュータを、仮想マシンにインストールされたゲストOS上で動作するプリンタ制御プログラムを含む前記仮想マシンの状態を記録したスナップショットを作成するスナップショット作成手段、前記スナップショット作成手段が作成するスナップショットのうち、前記プリンタ制御プログラムがインストールされ、初期設定終了後に作成されたスナップショットを基準スナップショットとしてスナップショット記憶手段に記憶し管理するスナップショット管理手段、プリントジョブを処理するために前記プリンタ制御プログラムの実行要求を受け付ける毎に、前記スナップショット管理手段に依頼して、前記基準スナップショットを前記仮想マシンに読み込ませ、前記プリン制御プログラムを実行するプログラム実行手段として機能させるためのプリンタ制御プログラムである。
請求項14の発明は、仮想マシンにインストールされた応用プログラムを含む前記仮想マシンの状態を記録したスナップショットを基準スナップショットとして保存する手段、前記応用プログラムの実行要求を受け付ける毎に、前記基準スナップショットを前記仮想マシンに適用する手段、前記応用プログラムの実行要求毎に前記応用プログラムを実行する前記仮想マシンの状態を、複数の運用スナップショットとして前記基準スナップショットを起点に並列状態で保存する手段を備える仮想計算機システムである。
請求項15の発明は、コンピュータを、仮想マシンにインストールされた応用プログラムを含む前記仮想マシンの状態を記録したスナップショットを基準スナップショットとして保存する手段、前記応用プログラムの実行要求を受け付ける毎に、前記基準スナップショットを前記仮想マシンに適用する手段、前記応用プログラムの実行要求毎に前記応用プログラムを実行する前記仮想マシンの状態を、複数の運用スナップショットとして前記基準スナップショットを起点に並列状態で保存する手段として機能させるための仮想計算機プログラムである。
請求項1の仮想計算機システムによれば、仮想マシンにインストールされた応用プログラムを実行するにあたって、既に作成された基準スナップショットを仮想マシンに適用した後に、その応用プログラムを実行することができる。
請求項2の仮想計算機システムによれば、仮想マシンが共通で利用可能な共通記憶領域をスナップショットとは別に有することができる。
請求項3の仮想計算機システムによれば、応用プログラム又はゲストOSの少なくとも1つが更新された場合は、その更新された応用プログラム又はゲストOSを含む仮想マシンの状態を記録したスナップショットを、基準スナップショットとして新たに保存することができる。
請求項4の仮想計算機システムによれば、応用プログラムの実行時に障害を検出した場合、その応用プログラムの実行を一時停止させてスナップショットの取得を依頼することができる。
請求項5の仮想計算機システムによれば、スナップショットの総記憶容量が予め設定された容量を超える又は以上である場合は、スナップショットのうち、保存された時期が古いスナップショットから順に削除することができる。
請求項6のプリンタ制御システムによれば、仮想マシンにインストールされたゲストOS上で動作するプリンタ制御プログラムを実行するにあたって、初期設定終了後に作成された基準スナップショットを仮想マシンに適用した後に、そのプリンタ制御プログラムを実行することができる。
請求項7のプリンタ制御システムによれば、仮想マシンが共通で利用可能な共通記憶領域をスナップショットとは別に有することができる。
請求項8のプリンタ制御システムによれば、障害を検出した場合、プリンタ制御プログラムの実行を一時停止させて、スナップショットの作成を依頼することができる。
請求項9のプリンタ制御システムによれば、スナップショットの総記憶容量が予め設定された容量を超える又は以上である場合は、スナップショットのうち、予め定められた条件を満たすスナップショットを削除することができる。
請求項10のプリンタ制御システムによれば、スナップショット記憶手段に記憶された時期が古いスナップショットから順に削除することができる。
請求項11のプリンタ制御システムによれば、係る印刷物について検品が完了したプリントジョブに対応するスナップショットを削除することができる。
請求項12の仮想計算機プログラムによれば、仮想マシンにインストールされた応用プログラムを実行するにあたって、既に作成された基準スナップショットを仮想マシンに適用した後に、その応用プログラムを実行することができる。
請求項13のプリンタ制御プログラムによれば、仮想マシンにインストールされたゲストOS上で動作するプリンタ制御プログラムを実行するにあたって、初期設定終了後に作成された基準スナップショットを仮想マシンに適用した後に、そのプリンタ制御プログラムを実行することができる。
請求項14の仮想計算機システムによれば、仮想マシンにインストールされた応用プログラムを実行するにあたって、既に作成された基準スナップショットを仮想マシンに適用した後に、その応用プログラムを実行することができる。また、仮想マシンの状態を、複数の運用スナップショットとして基準スナップショットを起点に並列状態で保存することができる。
請求項15の仮想計算機プログラムによれば、仮想マシンにインストールされた応用プログラムを実行するにあたって、既に作成された基準スナップショットを仮想マシンに適用した後に、その応用プログラムを実行することができる。また、仮想マシンの状態を、複数の運用スナップショットとして基準スナップショットを起点に並列状態で保存することができる。
本実施の形態の構成例についての概念的なモジュール構成図である。 本実施の形態を適用する仮想計算機システムのシステム構成例を示す説明図である。 本実施の形態による処理例を示すフローチャートである。 本実施の形態による処理例を示すフローチャートである。 本実施の形態による処理例を示すフローチャートである。 本実施の形態による処理例を示す説明図である。 本実施の形態による処理例を示す説明図である。 本実施の形態による処理例を示す説明図である。 本実施の形態を実現するコンピュータのハードウェア構成例を示すブロック図である。 前提となる技術例を示す説明図である。 前提となる技術例を示す説明図である。
まず、本実施の形態を説明する前に、その前提となる技術について、図10、図11の例を用いて説明する。なお、この説明は、本実施の形態の理解を容易にすることを目的とするものである。
仮想化システムと呼ばれる技術があり、これは、一台の物理マシン1010(ハードウェア)上で複数のOSを動作させる技術である。図10の例に示すように、物理マシン1010上に仮想化ソフトウェア1020による仮想マシン(仮想ハードウェアともいわれる)1030を構築し、その上にゲストOS1040をインストールし、さらにゲストOS1040上に応用プログラムであるアプリケーション1050をインストールする。図10の例では、1つの仮想マシン1030の例を示しているが、複数の仮想マシン1030が仮想化ソフトウェア1020上に構築されるのが一般的である。
仮想化ソフトウェア1020は、物理マシン1010上に、複数のゲストOS1040の並列的な同居を可能にするソフトウェアである。つまり、仮想化ソフトウェア1020は、CPU、メモリ、HDD等のハードウェアをソフトウェア的に構築し、ゲストOS1040が依って立つハードウェアリソースを仮想マシン1030として用意するものである。
アプリケーション1050として、例えば、プリンタ制御プログラムがある。
この場合、仮想マシンはそれぞれが隔離されており、いずれかに障害(例えば、クラッシュ等)が発生しても、他の仮想マシン上でのプリンタ制御プログラムはそのまま稼働しており、印刷することができる。
以下に、仮想化システムでプリンタ制御プログラムを動作させる場合の例を説明する。
(1)仮想化システムの運用1072として、アプリケーション1050を動作させて、プリントジョブを実行する。
(2)障害1074が発生したら、直ちに仮想化ソフトウェア1020で仮想マシン1030のスナップショット1:1076を作成する。そして、記憶領域1060にスナップ1:1078として記憶する。ここで、スナップショットとは、仮想マシンの状態を保存する機能である。
(3)その後、アプリケーション1050の再起動、プリントジョブの再送、リブート等を行い、障害のリカバリ1080を実施し、そのプリントジョブを再開1082する。
(4)アプリケーション1050が稼働していない等の空きの時間に、スナップショットを立ち上げ、障害情報取得1084が行われたり、スナップショットを採取することが行われる。障害情報取得1084の処理は、本情報処理装置が行うほかに、他の情報処理装置が行ってもよい。もちろんのことながら、他の情報処理装置が障害情報取得1084の処理を行うことは必須ではない。
スナップショットの作成は、その後の処理を書き込む(空の)ファイルを作成するだけなので、従来の障害情報を採取するのに比べると短時間で済むことになる。
スナップショット作成後の差分ファイルがその後の操作で大きくなるが、必要であればマージ処理を行う。なお、差分ファイルが大きくなるとマージ処理に時間を要することとなる。
障害情報の取得は通常ログの採取を意味するが、そのログで情報不足の場合は仮想マシン1030のスナップショットを採取する。
スナップショットを採取することで、障害発生環境を再現する事が可能となる。
また、図11の例に示すように、定期的又は非定期的にスナップショットを取得しておくことで、過去にさかのぼって障害情報を取得できるようになる。具体的には、以下のような処理を行う。
(1)仮想化システムの運用1172として、アプリケーション1050を動作させて、プリントジョブを実行する。
(2)定期的又は非定期的にスナップショット1:1174を取得し、記憶領域1060にスナップ1:1176として記憶する。
(3)運用1172において、プリントジョブにおける文字化け(本来の文字が印刷されない現象)等の非顕在化障害1178が発生することがあり得る。
(4)その後に、定期的又は非定期的にスナップショット2:1180を取得し、記憶領域1060にスナップ2:1182として記憶する。さらに、その後の運用1184で、スナップショット3:1186を取得し、記憶領域1060にスナップ3:1188として記憶することが行われ、運用1190が続けられる。
(5)印刷物(プリントジョブの成果物)の検品作業において、前述の非顕在化障害1178が発生したことがわかった場合に、非顕在化障害1178後のスナップショット2:1180(記憶領域1060内のスナップ2:1182)から障害情報取得1192が行われたり、スナップショットを採取することが行われる。障害情報取得1192の処理は、本情報処理装置が行うほかに、他の情報処理装置が行ってもよい。もちろんのことながら、他の情報処理装置が障害情報取得1192の処理を行うことは必須ではない。
この場合、スナップショットが複数存在し、記憶領域1060のディスク容量が増大する、そして、多段のスナップショットを形成するためパフォーマンスが低下する。
そのため、古いスナップショットはマージする必要があるが、マージする間は全体の処理を停止する必要があり、スナップショットが多いほど停止期間が長くなることとなる。スナップショット数を減らすと、非顕在化障害1178への対応力が低下する。
また、ゲストOS1040、アプリケーション1050の改変(アップデート等)があった場合、その後、内容が引き継がれるため、途中でシステム設定ファイル等が壊れた又は設定ミスがあった等の場合、何処から戻るべきか容易にはわからない又はスナップショットのマージ後は戻れない事が起こり得る。
以下、図面に基づき本発明を実現するにあたっての好適な一実施の形態の例を説明する。
図1は、本実施の形態の構成例についての概念的なモジュール構成図を示している。
なお、モジュールとは、一般的に論理的に分離可能なソフトウェア(コンピュータ・プログラム)、ハードウェア等の部品を指す。したがって、本実施の形態におけるモジュールはコンピュータ・プログラムにおけるモジュールのことだけでなく、ハードウェア構成におけるモジュールも指す。それゆえ、本実施の形態は、それらのモジュールとして機能させるためのコンピュータ・プログラム(コンピュータにそれぞれの手順を実行させるためのプログラム、コンピュータをそれぞれの手段として機能させるためのプログラム、コンピュータにそれぞれの機能を実現させるためのプログラム)、システム及び方法の説明をも兼ねている。ただし、説明の都合上、「記憶する」、「記憶させる」、これらと同等の文言を用いるが、これらの文言は、実施の形態がコンピュータ・プログラムの場合は、記憶装置に記憶させる、又は記憶装置に記憶させるように制御するの意である。また、モジュールは機能に一対一に対応していてもよいが、実装においては、1モジュールを1プログラムで構成してもよいし、複数モジュールを1プログラムで構成してもよく、逆に1モジュールを複数プログラムで構成してもよい。また、複数モジュールは1コンピュータによって実行されてもよいし、分散又は並列環境におけるコンピュータによって1モジュールが複数コンピュータで実行されてもよい。なお、1つのモジュールに他のモジュールが含まれていてもよい。また、以下、「接続」とは物理的な接続の他、論理的な接続(データの授受、指示、データ間の参照関係等)の場合にも用いる。「予め定められた」とは、対象としている処理の前に定まっていることをいい、本実施の形態による処理が始まる前はもちろんのこと、本実施の形態による処理が始まった後であっても、対象としている処理の前であれば、そのときの状況・状態に応じて、又はそれまでの状況・状態に応じて定まることの意を含めて用いる。「予め定められた値」が複数ある場合は、それぞれ異なった値であってもよいし、2以上の値(もちろんのことながら、全ての値も含む)が同じであってもよい。また、「Aである場合、Bをする」という意味を有する記載は、「Aであるか否かを判断し、Aであると判断した場合はBをする」の意味で用いる。ただし、Aであるか否かの判断が不要である場合を除く。
また、システム又は装置とは、複数のコンピュータ、ハードウェア、装置等がネットワーク(一対一対応の通信接続を含む)等の通信手段で接続されて構成されるほか、1つのコンピュータ、ハードウェア、装置等によって実現される場合も含まれる。「装置」と「システム」とは、互いに同義の用語として用いる。もちろんのことながら、「システム」には、人為的な取り決めである社会的な「仕組み」(社会システム)にすぎないものは含まない。
また、各モジュールによる処理毎に又はモジュール内で複数の処理を行う場合はその処理毎に、対象となる情報を記憶装置から読み込み、その処理を行った後に、処理結果を記憶装置に書き出すものである。したがって、処理前の記憶装置からの読み込み、処理後の記憶装置への書き出しについては、説明を省略する場合がある。なお、ここでの記憶装置としては、ハードディスク、RAM(Random Access Memory)、外部記憶媒体、通信回線を介した記憶装置、CPU(Central Processing Unit)内のレジスタ等を含んでいてもよい。
本実施の形態であるスナップショット管理モジュール100は、仮想マシンにインストールされた応用プログラムを実行するものであって、図1の例に示すように、スナップショット作成モジュール110、スナップショット読込モジュール120、スナップショット削除モジュール125、スナップショットマージモジュール130、制御モジュール140を有している。
なお、このスナップショット管理モジュール100は、仮想ソフトウェアに備わった機能の一つで、スナップショットを作成/読み込み(再生)/削除/マージする機能を備えている。なお、スナップショットへの処理(作成/再生等)は、基本的には、ユーザによる指定によって行われる。また、オプションとして、スナップショット管理モジュール100を、他のソフトウェアが起動、アクセスするようにしてもよい。後者については、図7、図8の例を用いて後述する。
スナップショット作成モジュール110は、スナップショット記憶領域150と接続されている。スナップショット作成モジュール110は、仮想マシンにインストールされた応用プログラムを含むその仮想マシンの状態を記録したスナップショットを基準スナップショットとして、スナップショット記憶領域150に保存する。
スナップショット読込モジュール120は、スナップショット記憶領域150と接続されている。スナップショット読込モジュール120は、応用プログラムの実行要求を受け付けるに際し、スナップショット記憶領域150内の基準スナップショットを仮想マシンに適用する。そして、その後に、その応用プログラムを実行するようにしてもよい。ここで「基準スナップショットを仮想マシンに適用した後」とは、「基準スナップショットを仮想マシンに読み込ませ、応用プログラムを実行できる状態にすること」である。
また、スナップショット読込モジュール120は、所定の処理を行うために、基準スナップショットを仮想マシンに適用するようにしてもよい。
そして、スナップショット作成モジュール110は、応用プログラムを実行する仮想マシンの状態をスナップショットとして、スナップショット記憶領域150内に保存する。
また、スナップショット作成モジュール110は、応用プログラムを実行し、所定の処理の終了後に、その応用プログラムを実行する仮想マシンの状態をスナップショットとして、スナップショット記憶領域150内に保存するようにしてもよい。
スナップショット削除モジュール125は、スナップショット記憶領域150と接続されている。スナップショット削除モジュール125は、スナップショット記憶領域150内に記憶されているスナップショットを削除する。
スナップショットマージモジュール130は、スナップショット記憶領域150と接続されている。スナップショットマージモジュール130は、スナップショット記憶領域150内に記憶されているスナップショットをマージ(結合処理)する。
スナップショット記憶領域150は、スナップショット作成モジュール110、スナップショット読込モジュール120、スナップショット削除モジュール125、スナップショットマージモジュール130と接続されている。スナップショット読込モジュール120、スナップショット削除モジュール125、スナップショットマージモジュール130からアクセスされ、スナップショット、基準スナップショットを記憶する。つまり、複数スナップショットがそれぞれ参照可能な共有記憶領域を有する。なお、スナップショット記憶領域150とは別に、スナップショット記憶領域150に保存されたスナップショットに記録された仮想マシンが共通で利用可能な共通記憶領域を有するようにしてもよい。ここで、「スナップショットに記録された仮想マシン」とは、「スナップショット処理が施された仮想マシン(スナップショットに含まれる仮想マシン)」である。なお、共通記憶領域は、主に、後述する図6の例に示す運用616、運用632等で共通に利用可能である。
制御モジュール140は、応用プログラムの実行時に、その応用プログラムに係る障害を検出した場合、その応用プログラムの実行を一時停止させて、スナップショット作成モジュール110に対して、スナップショットの取得を依頼する。スナップショット作成モジュール110は、その依頼に対応して、応用プログラムの実行を停止し、スナップショットを取得し、スナップショット記憶領域150に記憶させる。ここでは、障害を自動検出して、応用プログラムを自動で停止させ、スナップショットを自動取得するようにしてもよい。なお、制御モジュール140の本機能を、スナップショット管理モジュール100内に有する必要はなく、後述する図7の例に示すように、障害検知モジュール710として構築してもよい。
また、制御モジュール140は、スナップショット記憶領域150に保存されているスナップショットの総記憶容量を監視し、その総記憶容量が予め設定された容量を超える又は以上である場合は、スナップショット記憶領域150内のスナップショットのうち、保存された時期が古いスナップショットから順に削除するようにしてもよい。つまり、スナップショット記憶領域150内の記憶領域確保のため、古いものから消すようにしている。なお、制御モジュール140の本機能を、スナップショット管理モジュール100内に有する必要はなく、後述する図8の例に示すように、スナップショット容量監視モジュール810として構築してもよい。
図2は、本実施の形態を適用する仮想計算機システム200のシステム構成例を示す説明図である。
仮想計算機システム200は、物理マシン210、仮想化ソフトウェア220と、その上に構築した複数の仮想化システム(仮想マシン1:230−1、ゲストOS1:240−1、アプリケーション1:250−1、仮想マシンk:230−k、ゲストOSk:240−k、アプリケーションk:250−k)、共有記憶領域260、スナップショット記憶領域150を有している。仮想化ソフトウェア220には、スナップショット管理モジュール100が含まれている。物理マシン210は、スナップショット記憶領域150、共有記憶領域260と接続されている。
つまり、仮想マシン230にはゲストOS240がインストールされ、アプリケーション250はゲストOS240上にインストールされている。
スナップショット管理モジュール100の基準スナップショット作成モジュール110は、アプリケーション250又はゲストOS240の少なくとも1つが更新された場合は、その更新されたアプリケーション250又はゲストOS240を含む仮想マシン230の状態を記録したスナップショットを、基準スナップショットとして、スナップショット記憶領域150に新たに保存する。ここでの「更新」として、例えば、いわゆるパッチ処理が該当する。ここでは、基準スナップショットをパッチが当てられた状態に変更するものである。
アプリケーション250として、プリンタ制御プログラムの例を説明する。
スナップショット管理モジュール100(スナップショット作成モジュール110)は、仮想マシン230にインストールされたゲストOS240上で動作するアプリケーション250であるプリンタ制御プログラムを含む仮想マシンの状態を記録したスナップショットを作成する。
スナップショット管理モジュール100(スナップショット作成モジュール110)は、前述のように作成したスナップショットのうち、プリンタ制御プログラムがインストールされ、初期設定終了後に作成されたスナップショットを基準スナップショットとしてスナップショット記憶領域150に記憶し、管理する。つまり、プリンタ制御プログラムによる処理が行われていない状態(初期設定終了後)におけるスナップショットを基準スナップショットとするものである。
そして、ユーザからの基準スナップショットの適用指示(又はシェルプログラム等からの指示)により、スナップショット管理モジュール100(スナップショット読込モジュール120)は、基準スナップショットを仮想マシン230に読み込ませ、ユーザの指示にしたがってプリン制御プログラムを実行する。つまり、初期設定終了後の状態で、プリン制御プログラムを実行するようにしている。
また、スナップショット管理モジュール100(制御モジュール140)は、応用プログラムを実行する仮想マシン230の状態をプリントジョブ毎に記録したジョブスナップショットを作成し、そのスナップショットをスナップショット記憶領域150に記憶し、管理するようにしてもよい。ここで、定期的にスナップショットを作成してもよいし、非定期的にスナップショットを作成してもよい。例えば、「定期的に」として、予め定められた期間毎(1日1回等)としてもよいし、プリントジョブ終了毎にとしてもよい。また、「非定期的に」としてユーザ(管理者等)からの指示に応じてとしてもよい。例えば、印刷物の検品によって非顕在化障害が発生していたことがわかった場合等である。
また、スナップショット記憶領域150と共有記憶領域260は、別個に用意されており、スナップショット記憶領域150には、スナップショット(基準スナップショットを含む)を記憶しており、共有記憶領域260には、そのスナップショット記憶領域150に記憶されたスナップショットに記録された仮想マシン230が共通で利用可能な領域が記憶されている。前述したように、共通記憶領域260は、主に、後述する図6の例に示す運用616、運用632等で共通に利用可能である。
また、スナップショット管理モジュール100(制御モジュール140、後述する図8に例示するスナップショット容量監視モジュール810を含む)は、スナップショット記憶領域150に記憶されているスナップショットの総記憶容量を監視する。そして、スナップショット管理モジュール100は、総記憶容量が予め設定された容量を超える又は以上である場合に、スナップショット記憶領域150内のスナップショットのうち、予め定められた条件を満たすスナップショットの削除を、スナップショット作成モジュール110に依頼するようにしてもよい。
ここで、予め定められた条件として、削除対象として、スナップショット記憶領域150に記憶された時期が古いスナップショットから順に選択するものであるとしてもよい。また、予め定められた条件として、削除対象として、係る印刷物について検品が完了したプリントジョブに対応するスナップショットを選択するものとしてもよい。
図3は、本実施の形態による処理例を示すフローチャートである。図6、図7に示す例(アプリケーション250をプリンタ制御プログラムとした例)を用いて説明する。
なお、以下の場合の処理例としたものである。
(1)アプリケーション250の実行は、毎回、初期化設定終了状態から開始する。ゲストOS240上において複数種類のアプリケーション250の実行ではなく、1つのアプリケーション250の運用とする。
(2)アプリケーション250運用後にスナップショットを作成する場合は、外部機器(例えば、プリンタ等)と通信していない状態で実施する。さらに、アプリケーション250を停止した状態が望ましい。
基準スナップショットを適用するため、初期状態(図6の例では、Snap0(スナップショット0:612))に戻ってプリントを開始することとなる。初期状態ではなく、プリントジョブの途中に戻ってしまうと、外部機器との整合がとれなくなってしまうからである。
(3)運用時に取り込んだリソース等の情報は、別の運用時に使用する必要がある場合がある。これらを各運用で共有するために、従来仮想マシン230上にあったものを仮想マシン230外の共有記憶領域260に配置する。
(4)さらに、スナップショットの容量を減らすために、プリントデータ(入力・中間・最終)やテンポラリファイル等も、仮想マシン230外の共有記憶領域260に配置するようにしてもよい。
ステップS302では、ゲストOSとそのゲストOS上で動作するアプリケーションをインストールする。図6の例に示すように、仮想計算機システム200として、ゲストOS240と、そのゲストOS240上で動作するアプリケーション250をインストールし、1つの仮想システムを構成する。
ステップS304では、インストールしたゲストOSとアプリケーションの初期設定を行う。図6の例に示すように、仮想計算機システム200内のゲストOS240とアプリケーション250に対して、初期設定610を行う。
ステップS305では、アプリケーションを起動する。
ステップS306では、スナップショット作成モジュール110が、基準スナップショットを作成する。図6の例に示すように、初期設定610を行った状態で、スナップショット0:612を作成する。そして、スナップショット0:612をスナップショット記憶領域150に基準スナップショットであるスナップ0:614として記憶させる。このステップS306の処理は、アプリケーション250による最初の印刷処理を行う前である。以降、この基準スナップショットを適用して、アプリケーション250による印刷処理が行われる。
なお、実行要求を受け付け、スナップショットを再開し、応用プログラムを実行させるために、応用プログラムの他に、別途応用プログラムを起動するシェルプログラム(シェルプログラムと同等の機能を有するプログラム)を用意してもよい。
図4は、本実施の形態による処理例を示すフローチャートである。
ステップS404では、スナップショット読込モジュール120が、基準スナップショットを適用する。
ステップS406では、アプリケーションを実行する。
ステップS407では、アプリケーションに対する実行要求を受け付ける。図6の例に示すように、アプリケーション250が運用616等としての印刷要求を受け付け、処理を開始する。
ステップS408では、障害検知モジュール710が、障害は発生したか否かを判断し、発生した場合はステップS410へ進み、それ以外の場合はステップS412へ進む。
図7の例に示すように、アプリケーション250に障害702が発生した場合は、障害検知モジュール710が障害検知708し、障害702からスナップショット作成の必要性を判断して、必要と判断したならば、スナップショット管理モジュール100に対してスナップショット取得依頼714を行う。
ステップS410では、スナップショット作成モジュール110が、スナップショットを作成する。図7の例に示すように、障害検知モジュール710が、スナップショット管理モジュール100に対してスナップショット取得依頼714を行い、障害検知モジュール710は、アプリケーション250に停止指示712を行い、その後、スナップショット管理モジュール100は、スナップショットを作成する。なお、障害検知モジュール710が、アプリケーション250に対して停止指示712を行い、その後に、スナップショット管理モジュール100に対してスナップショット取得依頼714を行うようにしてもよい。また、アプリケーション250と障害検知モジュール710の間における通信、障害検知モジュール710とスナップショット管理モジュール100における通信は、仮想化システムにおけるデータ交換機能(例えば、ファイル共有、ネットワークアダプタのホストオンリーアダプタ等の機能)を用いても良い。
ステップS412では、処理を継続するか否かを判断する。継続する場合(Yes)は、ステップS407へ戻り、それ以外の場合はステップS414へ進む。
ステップS414では、スナップショット作成モジュール110が、スナップショットを作成する。そして、処理を終了する(S499)。
なお、図6の例のように、運用616、運用632の後、それぞれスナップショット1:618、スナップショット3:634を作成し、スナップショット記憶領域150にそれぞれスナップ1:620、スナップ3:636として記憶するようにしてもよい。また、運用622によって非顕在化障害624が発生した場合も、同様に、スナップショット2:626を作成し、スナップショット記憶領域150にスナップ2:628として記憶する。その後、スナップショット記憶領域150内のスナップ2:628を障害情報取得630して、仮想計算機システム200の管理者によって非顕在化障害624の原因等の解析が行われる。なお、非顕在化障害624は、障害検知モジュール710が検知し得るものではなく、印刷物の検品等によって非顕在化障害624が発生したことを検知できるものである。
図5は、本実施の形態による処理例を示すフローチャートである。
ステップS502では、基準スナップショットに対するパッチ処理を行う。図6の例に示すように、スナップショット記憶領域150内のスナップ0:614に対して、パッチの適用638を行う。
ステップS504では、スナップショット作成モジュール110が、スナップショットを作成し、以後、このスナップショットを基準スナップショットとする。図6の例に示すように、スナップショットN:640を作成して、スナップショット記憶領域150内に基準スナップショットであるスナップN:642として記憶する。
その後は、運用616、運用632と同様に、運用644、運用650の後、それぞれスナップショットN+1:646、スナップショットN+2:652を作成し、スナップショット記憶領域150にそれぞれスナップN+1:648、スナップN+2:654として記憶するようにしてもよい。
図8は、本実施の形態による処理例を示す説明図である。
スナップショット容量監視モジュール810の処理について詳述する。
スナップショット記憶領域150が、複数のスナップショットを記憶することで、記憶領域を圧迫してしまうことにより、アプリケーション250の処理に影響を及ぼしたり、必要な時にスナップショットが作成できないこと等が起こり得る。そのために、これらの事態を未然に防止するための処理について説明する。
図8に示す例は、図2に示す例の仮想化ソフトウェア220内にスナップショット容量監視モジュール810を加えたものである。
スナップショット容量監視モジュール810は、スナップショット記憶領域150の容量を監視し、新たにスナップショットを作成する場合に、予め設定されたスナップショット領域の上限値を超える場合には、スナップショット管理モジュール100に、最も古いスナップショットを削除するように指示する(削除指示812)。
また、次のような処理を行ってもよい。
プリントジョブの属性に、そのプリントジョブのライフサイクル値を追加する。ライフサイクル値には、プリント後に、文字化け、カラー状態等の検品が行われ、印刷物の完全性(印刷物に対して明示又は暗黙に要求された条件を満たしていること)が担保されるまでの期間や、その担保される期間が明確でない場合には、次の同じ種類のプリントジョブが出力されるまでの期間(例えば、月に1度の出力等)、又は顧客に納品され検収が届くまでの期間としてもよい。
スナップショットを作成する場合に、前回のスナップショットが作成されてから今回のスナップショットが作成されるまでの間に実行されたプリントジョブID(本実施の形態において印刷ジョブを一意に特定するための情報、ID:IDentification)とライフサイクル値を含むファイルをスナップショットとともにスナップショット記憶領域150に記憶させる。その中でライフサイクルが最も長いものの期限が過ぎたならば、そのスナップショットを削除する。
事前に期限(ライフサイクル値)が決定していないものは、例えば、外部(経営情報システム(MIS:Management Information System)等)から情報を取得して、期限を設定するようにしてもよい。
ただし、スナップショットを保存できる容量の閾値を超えたならば、期限に達していないプリントジョブが残っていても、古いスナップショットから順に削除するようにしてもよい。
図9を参照して、本実施の形態の情報処理装置(物理マシン210)のハードウェア構成例について説明する。図9に示す構成は、例えばパーソナルコンピュータ(PC)等によって構成されるものであり、スキャナ等のデータ読み取り部917と、プリンタ等のデータ出力部918を備えたハードウェア構成例を示している。
CPU(Central Processing Unit)901は、前述の実施の形態において説明した各種のモジュール、すなわち、スナップショット管理モジュール100、スナップショット作成モジュール110、スナップショット読込モジュール120、スナップショット削除モジュール125、スナップショットマージモジュール130、制御モジュール140、仮想化ソフトウェア220、仮想マシン230、ゲストOS240、アプリケーション250等の各モジュールの実行シーケンスを記述したコンピュータ・プログラムにしたがった処理を実行する制御部である。
ROM(Read Only Memory)902は、CPU901が使用するプログラムや演算パラメータ等を格納する。RAM(Random Access Memory)903は、CPU901の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を格納する。これらはCPUバス等から構成されるホストバス904により相互に接続されている。
ホストバス904は、ブリッジ905を介して、PCI(Peripheral Component Interconnect/Interface)バス等の外部バス906に接続されている。
キーボード908、マウス等のポインティングデバイス909は、操作者により操作される入力デバイスである。ディスプレイ910は、液晶表示装置又はCRT(Cathode Ray Tube)等があり、各種情報をテキストやイメージ情報として表示する。
HDD(Hard Disk Drive)911は、ハードディスクを内蔵し、ハードディスクを駆動し、CPU901によって実行するプログラムや情報を記録又は再生させる。ハードディスクには、スナップショット、共通データ、実行要求、プリントジョブ、等が格納される。さらに、その他の各種のデータ処理プログラム等、各種コンピュータ・プログラムが格納される。
ドライブ912は、装着されている磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリ等のリムーバブル記録媒体913に記録されているデータ又はプログラムを読み出して、そのデータ又はプログラムを、インタフェース907、外部バス906、ブリッジ905、及びホストバス904を介して接続されているRAM903に供給する。リムーバブル記録媒体913も、ハードディスクと同様のデータ記録領域として利用可能である。
接続ポート914は、外部接続機器915を接続するポートであり、USB、IEEE1394等の接続部を持つ。接続ポート914は、インタフェース907、及び外部バス906、ブリッジ905、ホストバス904等を介してCPU901等に接続されている。通信部916は、通信回線に接続され、外部とのデータ通信処理を実行する。データ読み取り部917は、例えばスキャナであり、ドキュメントの読み取り処理を実行する。データ出力部918は、例えばプリンタであり、ドキュメントデータの出力処理を実行する。
なお、図9に示す情報処理装置のハードウェア構成は、1つの構成例を示すものであり、本実施の形態は、図9に示す構成に限らず、本実施の形態において説明したモジュールを実行可能な構成であればよい。例えば、一部のモジュールを専用のハードウェア(例えば特定用途向け集積回路(Application Specific Integrated Circuit:ASIC)等)で構成してもよく、一部のモジュールは外部のシステム内にあり通信回線で接続しているような形態でもよく、さらに図9に示すシステムが複数互いに通信回線によって接続されていて互いに協調動作するようにしてもよい。また、複写機、ファックス、スキャナ、プリンタ、複合機(スキャナ、プリンタ、複写機、ファックス等のいずれか2つ以上の機能を有している画像処理装置)等に組み込まれていてもよい。
また、前述の実施の形態の説明において、予め定められた値との比較において、「以上」、「以下」、「より大きい」、「より小さい(未満)」としたものは、その組み合わせに矛盾が生じない限り、それぞれ「より大きい」、「より小さい(未満)」、「以上」、「以下」としてもよい。
また、スナップショットを作成するタイミングとして、プリントジョブの受信が完了したときに、スナップショットを作成するようにしてもよい。このようにした場合、リカバリ処理として、プリントジョブの再送を促す必要がない。また、プリンタによる印刷前に、スナップショットを作成するようにしてもよい。このようにした場合、リカバリ処理として、印刷前までの処理を繰り返す必要がない。
また、スナップショットを状況に応じて、複数の仮想マシンに適用し、その仮想マシン上で並列的にアプリケーションを処理させるようにしてもよい。例えば、大量の印刷物を出力するプリントジョブを受信した場合、受信後のスナップショットを作成する。そして、プリンタの印刷速度に比べて、印刷用の画像生成の速度が不足する場合(又は不足すると予測される場合)には、複数の仮想マシンを立ち上げて、作成したスナップショットをそれぞれの仮想マシンに適用し、分散的な印刷用の画像生成処理を実現する。
なお、説明したプログラムについては、記録媒体に格納して提供してもよく、また、そのプログラムを通信手段によって提供してもよい。その場合、例えば、前記説明したプログラムについて、「プログラムを記録したコンピュータ読み取り可能な記録媒体」の発明として捉えてもよい。
「プログラムを記録したコンピュータ読み取り可能な記録媒体」とは、プログラムのインストール、実行、プログラムの流通等のために用いられる、プログラムが記録されたコンピュータで読み取り可能な記録媒体をいう。
なお、記録媒体としては、例えば、デジタル・バーサタイル・ディスク(DVD)であって、DVDフォーラムで策定された規格である「DVD−R、DVD−RW、DVD−RAM等」、DVD+RWで策定された規格である「DVD+R、DVD+RW等」、コンパクトディスク(CD)であって、読出し専用メモリ(CD−ROM)、CDレコーダブル(CD−R)、CDリライタブル(CD−RW)等、ブルーレイ・ディスク(Blu−ray(登録商標) Disc)、光磁気ディスク(MO)、フレキシブルディスク(FD)、磁気テープ、ハードディスク、読出し専用メモリ(ROM)、電気的消去及び書換可能な読出し専用メモリ(EEPROM(登録商標))、フラッシュ・メモリ、ランダム・アクセス・メモリ(RAM)、SD(Secure Digital)メモリーカード等が含まれる。
そして、前記のプログラム又はその一部は、前記記録媒体に記録して保存や流通等させてもよい。また、通信によって、例えば、ローカル・エリア・ネットワーク(LAN)、メトロポリタン・エリア・ネットワーク(MAN)、ワイド・エリア・ネットワーク(WAN)、インターネット、イントラネット、エクストラネット等に用いられる有線ネットワーク、又は無線通信ネットワーク、さらにこれらの組み合わせ等の伝送媒体を用いて伝送させてもよく、また、搬送波に乗せて搬送させてもよい。
さらに、前記のプログラムは、他のプログラムの一部分であってもよく、又は別個のプログラムと共に記録媒体に記録されていてもよい。また、複数の記録媒体に分割して記録されていてもよい。また、圧縮や暗号化等、復元可能であればどのような態様で記録されていてもよい。
100…スナップショット管理モジュール
110…スナップショット作成モジュール
120…スナップショット読込モジュール
125…スナップショット削除モジュール
130…スナップショットマージモジュール
140…制御モジュール
150…スナップショット記憶領域
200…仮想計算機システム
210…物理マシン
220…仮想化ソフトウェア
230…仮想マシン
240…ゲストOS
250…アプリケーション
260…共有記憶領域
710…障害検知モジュール
810…スナップショット容量監視モジュール

Claims (15)

  1. 仮想マシンにインストールされた応用プログラムを含む前記仮想マシンの状態を記録したスナップショットを基準スナップショットとして保存する手段、
    前記応用プログラムの実行要求を受け付ける毎に、前記基準スナップショットを前記仮想マシンに適用する手段、
    前記応用プログラムを実行する前記仮想マシンの状態をスナップショットとして保存する手段
    を備える仮想計算機システム。
  2. 前記保存されたスナップショットに記録された前記仮想マシンが共通で利用可能な共通記憶領域を前記スナップショットとは別に有する、
    請求項1記載の仮想計算機システム。
  3. 前記仮想マシンにはゲストOSがインストールされ、前記応用プログラムは前記ゲストOS上にインストールされており、
    前記応用プログラム又は前記ゲストOSの少なくとも1つが更新された場合は、前記更新された応用プログラム又は前記ゲストOSを含む前記仮想マシンの状態を記録したスナップショットを、前記基準スナップショットとして新たに保存する、
    請求項1又は2のいずれかに記載の仮想計算機システム。
  4. 前記応用プログラムの実行時に前記応用プログラムに係る障害を検出した場合、前記応用プログラムの実行を一時停止させてスナップショットの取得を依頼する手段
    をさらに備える請求項1乃至3いずれか1に記載の仮想計算機システム。
  5. 保存されているスナップショットの総記憶容量を監視し、前記総記憶容量が予め設定された容量を超える又は以上である場合は、前記スナップショットのうち、保存された時期が古いスナップショットから順に削除する手段
    をさらに備える請求項1乃至4いずれか1に記載の仮想計算機システム。
  6. 仮想マシンにインストールされたゲストOS上で動作するプリンタ制御プログラムを含む前記仮想マシンの状態を記録したスナップショットを作成するスナップショット作成手段、
    前記スナップショット作成手段が作成するスナップショットのうち、前記プリンタ制御プログラムがインストールされ、初期設定終了後に作成されたスナップショットを基準スナップショットとしてスナップショット記憶手段に記憶し管理するスナップショット管理手段、
    プリントジョブを処理するために前記プリンタ制御プログラムの実行要求を受け付ける毎に、前記スナップショット管理手段に依頼して、前記基準スナップショットを前記仮想マシンに読み込ませ、前記プリン制御プログラムを実行するプログラム実行手段
    を備えるプリンタ制御システム。
  7. 前記スナップショット記憶手段に記憶されたスナップショットに記録された前記仮想マシンが共通で利用可能な共通記憶手段
    をさらに有する請求項6記載のプリンタ制御システム。
  8. 前記プリンタ制御プログラムの実行時に発生した障害を検出する障害検出手段
    をさらに備え、
    前記障害検出手段が障害を検出した場合、前記プログラム実行手段は前記プリンタ制御プログラムの実行を一時停止させて前記スナップショット作成手段にスナップショットの作成を依頼する、
    請求項6又は7のいずれかに記載のプリンタ制御システム。
  9. 前記スナップショット記憶手段に記憶されているスナップショットの総記憶容量を監視する監視手段
    をさらに備え、
    前記監視手段は、前記総記憶容量が予め設定された容量を超える又は以上である場合に前記スナップショットのうち、予め定められた条件を満たすスナップショットの削除を前記スナップショット管理手段に依頼する、
    請求項6乃至8項いずれか1に記載のプリンタ制御システム。
  10. 前記予め定められた条件が、前記スナップショット記憶手段に記憶された時期が古いスナップショットから順に選択されるものである、
    請求項9記載のプリンタ制御システム。
  11. 前記予め定められた条件が、係る印刷物について検品が完了したプリントジョブに対応するスナップショットが選択される、
    請求項9記載のプリンタ制御システム。
  12. コンピュータを、
    仮想マシンにインストールされた応用プログラムを含む前記仮想マシンの状態を記録したスナップショットを基準スナップショットとして保存する手段、
    前記応用プログラムの実行要求を受け付ける毎に、前記基準スナップショットを前記仮想マシンに適用する手段、
    前記応用プログラムを実行する前記仮想マシンの状態をスナップショットとして保存する手段
    として機能させるための仮想計算機プログラム。
  13. コンピュータを、
    仮想マシンにインストールされたゲストOS上で動作するプリンタ制御プログラムを含む前記仮想マシンの状態を記録したスナップショットを作成するスナップショット作成手段、
    前記スナップショット作成手段が作成するスナップショットのうち、前記プリンタ制御プログラムがインストールされ、初期設定終了後に作成されたスナップショットを基準スナップショットとしてスナップショット記憶手段に記憶し管理するスナップショット管理手段、
    プリントジョブを処理するために前記プリンタ制御プログラムの実行要求を受け付ける毎に、前記スナップショット管理手段に依頼して、前記基準スナップショットを前記仮想マシンに読み込ませ、前記プリン制御プログラムを実行するプログラム実行手段
    として機能させるためのプリンタ制御プログラム。
  14. 仮想マシンにインストールされた応用プログラムを含む前記仮想マシンの状態を記録したスナップショットを基準スナップショットとして保存する手段、
    前記応用プログラムの実行要求を受け付ける毎に、前記基準スナップショットを前記仮想マシンに適用する手段、
    前記応用プログラムの実行要求毎に前記応用プログラムを実行する前記仮想マシンの状態を、複数の運用スナップショットとして前記基準スナップショットを起点に並列状態で保存する手段
    を備える仮想計算機システム。
  15. コンピュータを、
    仮想マシンにインストールされた応用プログラムを含む前記仮想マシンの状態を記録したスナップショットを基準スナップショットとして保存する手段、
    前記応用プログラムの実行要求を受け付ける毎に、前記基準スナップショットを前記仮想マシンに適用する手段、
    前記応用プログラムの実行要求毎に前記応用プログラムを実行する前記仮想マシンの状態を、複数の運用スナップショットとして前記基準スナップショットを起点に並列状態で保存する手段
    として機能させるための仮想計算機プログラム。
JP2014186808A 2014-09-12 2014-09-12 仮想計算機システム、プリンタ制御システム、仮想計算機プログラム及びプリンタ制御プログラム Active JP5713138B1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2014186808A JP5713138B1 (ja) 2014-09-12 2014-09-12 仮想計算機システム、プリンタ制御システム、仮想計算機プログラム及びプリンタ制御プログラム
US14/606,057 US9606872B2 (en) 2014-09-12 2015-01-27 Virtual computer system, printer control system, virtual computation method, printer control method, and storage media
CN201510096356.4A CN105988857B (zh) 2014-09-12 2015-03-04 打印机控制系统及方法和非瞬时计算机可读介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014186808A JP5713138B1 (ja) 2014-09-12 2014-09-12 仮想計算機システム、プリンタ制御システム、仮想計算機プログラム及びプリンタ制御プログラム

Publications (2)

Publication Number Publication Date
JP5713138B1 true JP5713138B1 (ja) 2015-05-07
JP2016062111A JP2016062111A (ja) 2016-04-25

Family

ID=53277259

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014186808A Active JP5713138B1 (ja) 2014-09-12 2014-09-12 仮想計算機システム、プリンタ制御システム、仮想計算機プログラム及びプリンタ制御プログラム

Country Status (3)

Country Link
US (1) US9606872B2 (ja)
JP (1) JP5713138B1 (ja)
CN (1) CN105988857B (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3136240A1 (en) 2015-08-28 2017-03-01 Fuji Xerox Co., Ltd. Virtual computer system, method and program
EP3136241A1 (en) 2015-08-27 2017-03-01 Fuji Xerox Co., Ltd. Virtual computer system, virtual computer program and method for virtual computer system

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6684699B2 (ja) * 2016-12-15 2020-04-22 富士フイルム株式会社 プリンター及びプリンター付きデジタルカメラ、並びに、プリント方法
CN106648987A (zh) * 2016-12-27 2017-05-10 江苏爱科赛尔云数据科技有限公司 保持用户快照设定总数的虚拟机增量备份、恢复方法
JP6930278B2 (ja) * 2017-08-09 2021-09-01 コニカミノルタ株式会社 複合機、リブート方法、およびコンピュータプログラム
US11157309B2 (en) * 2019-04-10 2021-10-26 International Business Machines Corporation Operating cluster computer system with coupling facility
EP4172778A4 (en) * 2020-06-26 2023-08-09 Telefonaktiebolaget LM ERICSSON (PUBL) CONTROL, LOAD BALANCERS AND METHODS THEREIN FOR HANDLING FAILURES OR CHANGES OF PROCESSING ELEMENTS IN A VIRTUAL NETWORK

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000132432A (ja) 1998-10-21 2000-05-12 Hitachi Ltd 並列ノードのメモリダンプ方式
JP2004185345A (ja) 2002-12-04 2004-07-02 Hitachi Ltd デバッグ方法およびシステム
US9213513B2 (en) * 2006-06-23 2015-12-15 Microsoft Technology Licensing, Llc Maintaining synchronization of virtual machine image differences across server and host computers
JP4363533B2 (ja) 2007-01-31 2009-11-11 インターナショナル・ビジネス・マシーンズ・コーポレーション 文字化けを検出するための装置、方法、及びプログラム
US8364639B1 (en) * 2007-10-11 2013-01-29 Parallels IP Holdings GmbH Method and system for creation, analysis and navigation of virtual snapshots
US8365167B2 (en) * 2008-04-15 2013-01-29 International Business Machines Corporation Provisioning storage-optimized virtual machines within a virtual desktop environment
CN101770410B (zh) * 2009-01-07 2016-08-17 联想(北京)有限公司 基于客户操作系统的系统还原方法、虚拟机管理器及系统
JP5343647B2 (ja) 2009-03-18 2013-11-13 株式会社リコー 情報処理装置、画像形成装置、データ復帰方法、プログラム、記憶媒体
CN101609419B (zh) * 2009-06-29 2012-05-30 北京航空航天大学 虚拟机持续在线迁移的数据备份方法及装置
JP2011060055A (ja) 2009-09-11 2011-03-24 Fujitsu Ltd 仮想計算機システム、仮想マシンの復旧処理方法及びそのプログラム
US8799337B2 (en) * 2010-12-15 2014-08-05 Microsoft Corporation System reset and system restore
DE112012001761T5 (de) * 2011-04-21 2014-02-06 International Business Machines Corp. Hochverfügbarkeit von virtuellen Maschinen
JP2013101596A (ja) 2011-10-13 2013-05-23 Canon Inc 監視装置、及びその方法
JP2013235317A (ja) 2012-05-07 2013-11-21 Mitsubishi Electric Corp 仮想計算機システム
JP2014032498A (ja) 2012-08-02 2014-02-20 Mitsubishi Electric Corp 計算機の障害再現方式
US9298372B2 (en) * 2013-03-06 2016-03-29 Dell Products, L.P. System and method for managing storage system snapshots

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3136241A1 (en) 2015-08-27 2017-03-01 Fuji Xerox Co., Ltd. Virtual computer system, virtual computer program and method for virtual computer system
US9860393B2 (en) 2015-08-27 2018-01-02 Fuji Xerox Co., Ltd. Virtual computer system, non-transitory computer readable medium, and method for virtual computer system
EP3136240A1 (en) 2015-08-28 2017-03-01 Fuji Xerox Co., Ltd. Virtual computer system, method and program
CN106484561A (zh) * 2015-08-28 2017-03-08 富士施乐株式会社 虚拟计算机系统和方法
US9870249B2 (en) 2015-08-28 2018-01-16 Fuji Xerox Co., Ltd. Virtual computer system, method, and non-transitory computer readable medium

Also Published As

Publication number Publication date
CN105988857B (zh) 2019-08-23
JP2016062111A (ja) 2016-04-25
CN105988857A (zh) 2016-10-05
US20160077921A1 (en) 2016-03-17
US9606872B2 (en) 2017-03-28

Similar Documents

Publication Publication Date Title
JP5713138B1 (ja) 仮想計算機システム、プリンタ制御システム、仮想計算機プログラム及びプリンタ制御プログラム
US8910172B2 (en) Application resource switchover systems and methods
US10346248B2 (en) Failure resistant volume creation in a shared storage environment
TWI450103B (zh) 伺服器之遠端管理系統及方法,及其電腦程式產品
US20090089628A1 (en) File system error detection and recovery framework
US9753809B2 (en) Crash management of host computing systems in a cluster
US9229820B2 (en) Information processing device with memory dump function, memory dump method, and recording medium
JP2017224051A (ja) 情報処理装置、情報処理方法およびプログラム
US8151135B2 (en) System and method for recovery of primary storage resource failure
JP6641831B2 (ja) 画像処理装置、画像処理プログラム及び画像処理システム
US20190265964A1 (en) Electronic apparatus, updating method, and recording medium
JP5381059B2 (ja) 機器、ログ記録制御方法、及びプログラム
JP6880961B2 (ja) 情報処理装置、およびログ記録方法
US20170090766A1 (en) Method and apparatus for reclaiming memory blocks in snapshot storage space
US9870249B2 (en) Virtual computer system, method, and non-transitory computer readable medium
US9025185B2 (en) Information processing apparatus for processing a management setting, information processing method, and computer readable medium
US9367443B2 (en) Information processing apparatus, information processing system, and non-transitory computer readable medium storing information processing program
US20130246506A1 (en) Information processing system, information processing apparatus, apparatus, and non-transitory computer readable medium storing information processing program
JP6497157B2 (ja) 情報管理装置、情報管理方法、情報管理プログラム、データ構造、及び、ソフトウェア資産管理システム
US9860393B2 (en) Virtual computer system, non-transitory computer readable medium, and method for virtual computer system
US10853003B2 (en) Method of managing print jobs based on job identification of the print jobs in printing system and apparatus for performing the same
US20160085649A1 (en) Disk drive repair
WO2024000535A1 (zh) 分区表更新方法、装置、电子设备及存储介质
US8935494B2 (en) Backing up an image in a computing system
US11797499B2 (en) Information processing system and method

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150210

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150223

R150 Certificate of patent or registration of utility model

Ref document number: 5713138

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350