JP2017045320A - 仮想計算機システム及び仮想計算機プログラム - Google Patents

仮想計算機システム及び仮想計算機プログラム Download PDF

Info

Publication number
JP2017045320A
JP2017045320A JP2015168054A JP2015168054A JP2017045320A JP 2017045320 A JP2017045320 A JP 2017045320A JP 2015168054 A JP2015168054 A JP 2015168054A JP 2015168054 A JP2015168054 A JP 2015168054A JP 2017045320 A JP2017045320 A JP 2017045320A
Authority
JP
Japan
Prior art keywords
failure
cause
snapshot
information
operator
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.)
Pending
Application number
JP2015168054A
Other languages
English (en)
Inventor
加藤 秀夫
Hideo Kato
秀夫 加藤
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
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 filed Critical Fuji Xerox Co Ltd
Priority to JP2015168054A priority Critical patent/JP2017045320A/ja
Priority to US15/061,217 priority patent/US9860393B2/en
Priority to EP16160829.4A priority patent/EP3136241A1/en
Priority to CN201610177024.3A priority patent/CN106484336B/zh
Publication of JP2017045320A publication Critical patent/JP2017045320A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00002Diagnosis, testing or measuring; Detecting, analysing or monitoring not otherwise provided for
    • H04N1/00026Methods therefor
    • H04N1/00037Detecting, i.e. determining the occurrence of a predetermined state
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/008Reliability or availability analysis
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0733Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a data processing system embedded in an image processing device, e.g. printer, facsimile, scanner
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0778Dumping, i.e. gathering error/state information after a fault for later diagnosis
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/079Root cause analysis, i.e. error or fault diagnosis
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00002Diagnosis, testing or measuring; Detecting, analysing or monitoring not otherwise provided for
    • H04N1/00005Diagnosis, testing or measuring; Detecting, analysing or monitoring not otherwise provided for relating to image data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00002Diagnosis, testing or measuring; Detecting, analysing or monitoring not otherwise provided for
    • H04N1/00071Diagnosis, testing or measuring; Detecting, analysing or monitoring not otherwise provided for characterised by the action taken
    • H04N1/00082Adjusting or controlling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/21Intermediate information storage
    • H04N1/2104Intermediate information storage for one or a few pictures
    • 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/0077Types of the still picture apparatus
    • H04N2201/0094Multifunctional device, i.e. a device capable of all of reading, reproducing, copying, facsimile transception, file transception

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Biomedical Technology (AREA)
  • Health & Medical Sciences (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Debugging And Monitoring (AREA)
  • Retry When Errors Occur (AREA)

Abstract

【課題】障害の起因を再現可能とし、印刷装置で印刷が完了していないページに関する情報を含めて、起因発生時の状態を再現することを可能とするようにした仮想計算機システムを提供する。【解決手段】仮想計算機システムの障害起因検知制御手段は、応用プログラムがインストールされているゲストOSを搭載する仮想計算機の外部に設けられた印刷装置又は該印刷装置の制御に関連する障害の起因を検知し、保存手段は、前記障害の起因を示す情報と前記印刷装置で印刷が完了していないページに関する情報を保存し、スナップショット作成手段は、前記保存手段による処理が終了してから、前記応用プログラムを含むゲストOSのスナップショットを作成する。【選択図】図1

Description

本発明は、仮想計算機システム及び仮想計算機プログラムに関する。
特許文献1には、仮想マシンモニタ(VMM)上で複数の仮想マシン(VM)が連係動作し、VM間が共有メモリで結合するシステムで、人間の操作やVM間の非同期イベント及びOSが原因の障害調査のため、障害発生VMのみ再生し障害再現させ、障害原因調査を可能とすることを課題とし、障害発生VMを再現操作ツールでVM実行管理表に設定し、設定VMを一斉スナップショット通知手段で実行中であれば一時停止してスナップショット記録部に、その時点までの実行内容を記録し、VM入出力記録手段がVMの仮想ハードウェア(HW)の入出力アクセスをイベント記録部に記録し、一斉スナップショット通知手段はスナップショット記録の完了後、再現操作手段の操作で記録VM内容を再現し、入出力再現手段はVMの再現実行中に仮想HWに発生した入出力アクセスをイベント記録部の内容と照合し、合致するものを再現することが開示されている。
特許文献2には、仮想マシンにインストールされた応用プログラムを実行するにあたって、既に作成された基準スナップショットを仮想マシンに適用した後に、その応用プログラムを実行するようにした仮想計算機システムを提供することを課題とし、仮想計算機システムは、仮想マシンにインストールされた応用プログラムを含む前記仮想マシンの状態を記録したスナップショットを基準スナップショットとして保存し、前記応用プログラムの実行要求を受け付けるに際し、前記基準スナップショットを前記仮想マシンに適用し、前記応用プログラムを実行する前記仮想マシンの状態をスナップショットとして保存することが開示されている。
特開2014−032498号公報 特許第5713138号公報
仮想OS上で動作するアプリケーションのスナップショットには、当該仮想OS上で動作していない装置の状態が保存されない。そのため、スナップショットだけでは障害発生状態を再現することができない。そして、障害発生の直後のスナップショットであったとしても、その障害における起因自体はそれよりも前に起こっている可能性があり、その場合はスナップショットには含まれていないことがある。また、特許文献2に開示されている技術では、印刷装置による障害発生時にスナップショットを生成しても、印刷装置が障害発生後も印刷処理を継続させると、障害発生時の印刷装置のログ情報は、その障害発生後の印刷処理によって失われてしまい、障害発生時の印刷装置のログ情報を含めた状態を再現することができないこととなる。
本発明は、障害の起因を再現可能とし、印刷装置で印刷が完了していないページに関する情報を含めて、起因発生時の状態を再現することを可能とするようにした仮想計算機システム及び仮想計算機プログラムを提供することを目的としている。
かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。
請求項1の発明は、応用プログラムがインストールされているゲストOSを搭載する仮想計算機の外部に設けられた印刷装置又は該印刷装置の制御に関連する障害の起因を検知する障害起因検知制御手段と、前記障害の起因を示す情報と前記印刷装置で印刷が完了していないページに関する情報を保存する保存手段と、前記保存手段による処理が終了してから、前記応用プログラムを含むゲストOSのスナップショットを作成するスナップショット作成手段を備えた仮想計算機システムである。
請求項2の発明は、前記障害起因検知制御手段は、前記印刷装置を制御する制御手段内部に関する障害の起因、オペレータが再現可能な障害の起因、オペレータが再現不可能な障害の起因を検知する、請求項1に記載の仮想計算機システムである。
請求項3の発明は、請求項1に記載の仮想計算機システムの前記保存手段による保存情報と、前記スナップショット作成手段によって作成されたスナップショットを受け付ける受付手段と、印刷装置を外部に有しており、応用プログラムがインストールされているゲストOSを搭載する仮想計算機に対して、障害の復元を指示された場合に、該障害の起因が、前記印刷装置を制御する制御手段内部に関する障害の起因、オペレータが再現可能な障害の起因、オペレータが再現不可能な障害の起因のいずれであるかによって、再現処理を異ならせる再現手段と、前記スナップショットの復元を行うように制御する復元制御手段を備えた仮想計算機システムである。
請求項4の発明は、前記再現手段は、前記起因を示す情報が前記印刷装置を制御する制御手段内部に関する障害である場合は、前記復元制御手段による処理を行わせる、請求項3に記載の仮想計算機システムである。
請求項5の発明は、前記再現手段は、前記起因を示す情報がオペレータが再現可能な障害である場合は、オペレータに再現を依頼する提示を行い、該オペレータからの再現完了を意味する指示を受け取った後に、前記復元制御手段による処理を行わせる、請求項3又は4に記載の仮想計算機システムである。
請求項6の発明は、前記再現手段は、前記起因を示す情報がオペレータが再現不可能な障害である場合は、印刷装置シミュレータに対して、前記印刷装置の障害の起因の再現を指示し、前記復元制御手段による処理を行わせる、請求項3から5のいずれか一項に記載の仮想計算機システムである。
請求項7の発明は、コンピュータを、応用プログラムがインストールされているゲストOSを搭載する仮想計算機の外部に設けられた印刷装置又は該印刷装置の制御に関連する障害の起因を検知する障害起因検知制御手段と、前記障害の起因を示す情報と前記印刷装置で印刷が完了していないページに関する情報を保存する保存手段と、前記保存手段による処理が終了してから、前記応用プログラムを含むゲストOSのスナップショットを作成するスナップショット作成手段として機能させるための仮想計算機プログラムである。
請求項8の発明は、コンピュータを、請求項7に記載の仮想計算機プログラムの前記保存手段による保存情報と、前記スナップショット作成手段によって作成されたスナップショットを受け付ける受付手段と、印刷装置を外部に有しており、応用プログラムがインストールされているゲストOSを搭載する仮想計算機に対して、障害の復元を指示された場合に、該障害の起因が、前記印刷装置を制御する制御手段内部に関する障害の起因、オペレータが再現可能な障害の起因、オペレータが再現不可能な障害の起因のいずれであるかによって、再現処理を異ならせる再現手段と、前記スナップショットの復元を行うように制御する復元制御手段として機能させるための仮想計算機プログラムである。
請求項1の仮想計算機システムによれば、障害の起因を再現可能とし、印刷装置で印刷が完了していないページに関する情報を含めて、起因発生時の状態を再現することができるようになる。
請求項2の仮想計算機システムによれば、印刷装置を制御する制御手段内部に関する障害の起因、オペレータが再現可能な障害の起因、オペレータが再現不可能な障害の起因を検知することができる。
請求項3の仮想計算機システムによれば、障害の起因を再現可能とし、印刷装置で印刷が完了していないページに関する情報を含めて、起因発生時の状態を再現することができる。
請求項4の仮想計算機システムによれば、起因を示す情報が印刷装置を制御する制御手段内部に関する障害である場合は、復元制御手段による処理を行わせることができる。
請求項5の仮想計算機システムによれば、起因を示す情報がオペレータが再現可能な障害である場合は、オペレータに再現を依頼する提示を行い、そのオペレータからの再現完了を意味する指示を受け取った後に、復元制御手段による処理を行わせることができる。
請求項6の仮想計算機システムによれば、起因を示す情報がオペレータが再現不可能な障害である場合は、印刷装置シミュレータに対して、印刷装置の障害の起因の再現を指示し、復元制御手段による処理を行わせることができる。
請求項7の仮想計算機プログラムによれば、障害の起因を再現可能とし、印刷装置で印刷が完了していないページに関する情報を含めて、起因発生時の状態を再現することができる。
請求項8の仮想計算機プログラムによれば、障害の起因を再現可能とし、印刷装置で印刷が完了していないページに関する情報を含めて、起因発生時の状態を再現することができる。
本実施の形態の構成例についての概念的なモジュール構成図である。 従来のシステム構成例を示す説明図である。 従来のシステム構成例を示す説明図である。 コントローラ内部起因テーブルのデータ構造例を示す説明図である。 再現可能障害起因テーブルのデータ構造例を示す説明図である。 再現不可障害起因テーブルのデータ構造例を示す説明図である。 本実施の形態による処理例を示すフローチャートである。 本実施の形態による処理例を示すフローチャートである。 本実施の形態による処理例を示すフローチャートである。 本実施の形態による処理例を示す説明図である。 本実施の形態による処理例を示す説明図である。 本実施の形態による処理例を示すフローチャートである。 本実施の形態による処理例を示すフローチャートである。 本実施の形態による処理例を示すフローチャートである。 本実施の形態を実現するコンピュータのハードウェア構成例を示すブロック図である。
まず、本実施の形態を説明する前に、その前提となる技術について、図2、図3の例を用いて説明する。なお、この説明は、本実施の形態の理解を容易にすることを目的とするものである。外部装置として、印刷装置の例を用いて説明する。
図2は、従来技術の例を示す説明図である。情報処理装置200は、外部装置である印刷装置170を制御して、印刷処理を行わせる。情報処理装置200は、仮想計算機システムではない、一般的な計算機(1つの物理マシン205に1つのOS210で構成したコンピュータ)である。例えば、情報処理装置200は、プリンタサーバー又はプリンタコントローラとしての機能を有し、印刷装置170は、高速プリンタである。
情報処理装置200は、下層から順に、物理マシン205、OS210を有し、OS210上に応用プログラムであるプリントコントローラ230を有している。プリントコントローラ230は、出力制御モジュール235を含んでいる。出力制御モジュール235は、印刷装置170を制御するモジュールである。
情報処理装置200又は印刷装置170で障害が発生すると、出力制御モジュール235からの指示で、プリントコントローラ230内部及びOS210のログ情報の収集を行う。また、発生した障害の原因が印刷装置170にある可能性もある。したがって、出力制御モジュール235は、印刷装置170のログ情報の収集も併せて行う。そして、出力制御モジュール235は、記憶領域190に、プリントコントローラ230内部及びOS210のログ情報、と印刷装置170のログ情報を記憶させる。
情報処理装置200は、印刷装置170に印刷処理を行わせる運用をしている。その運用中に障害が発生したとする。前述したように、出力制御モジュール235は、記憶領域190に、プリントコントローラ230内部及びOS210のログ情報と、印刷装置170のログ情報を記憶させる。
その後、障害のリカバリ処理が行われ、運用再開となる。
なお、この後、印刷装置170の運用が終了した後に、記憶領域190内のプリントコントローラ230内部及びOS210のログ情報と印刷装置170のログ情報を解析することによって、障害の原因、対策等を検討することになる。なお、ログを収集した後に、そのログの解析を行わずに、リカバリ処理、運用再開を行うのは、印刷装置170での印刷処理を続けるためである。特に、印刷装置170が高速プリンタである場合は、ダウン期間(印刷できない期間)を短くする要請がある。
次に、仮想計算機システムによる例を示す。図3は、従来技術の例を示す説明図である。情報処理装置300は、仮想計算機システムであって、外部装置である印刷装置170を制御して、印刷処理を行わせる。例えば、情報処理装置300は、プリンタサーバーとしての機能を有し、印刷装置170は、高速プリンタである。
仮想化システムと呼ばれる技術は、一台の物理マシン305(ハードウェア)上で複数のゲストOS325を動作させる技術である。図3の例に示すように、物理マシン205上にホストOS310と仮想化SW315による仮想ハードウェアを構築し、その上にゲストOS325をインストールし、さらにゲストOS325上に応用プログラム(アプリケーション)であるプリントコントローラ330をインストールする。
仮想化SW315は、物理マシン305上に、複数のゲストOS325の並列的な同居を可能にするソフトウェアである。つまり、仮想化SW315は、CPU、メモリ、HDD等のハードウェアをソフトウェア的に構築し、ゲストOS325が依って立つハードウェアリソースを仮想マシンとして用意するものである。
出力制御モジュール335として、例えば、デジタルフロントエンド(DFE:Digital Front End)等がある。この場合、仮想マシンはそれぞれが隔離されており、いずれかに障害(例えば、クラッシュ等)が発生しても、他の仮想マシン上での出力制御モジュール335はそのまま稼働しており、印刷することができる。
具体的には、情報処理装置300は、下層から順に、物理マシン305、ホストOS310、仮想化SW315、ゲストOS325を有し、ゲストOS325上に応用プログラムであるプリントコントローラ330を有している。仮想化SW315は、SS管理モジュール320を含み、プリントコントローラ330は、出力制御モジュール335を含んでいる。記憶領域190は、SS管理モジュール320が作成したスナップショットを記憶している。なお、図3の例では、仮想化SW315の上に1つのゲストOS325の例を示しているが、仮想計算機システムであるので、仮想化SW315の上に複数のゲストOS325が構成されていてもよい。
情報処理装置300では、応用プログラムであるプリントコントローラ330を仮想化環境で動作させ、その仮想化環境のスナップショット機能(SS管理モジュール320の機能)を用いて、障害発生時の障害状態をスナップショットとして記憶領域190内に保持させる。そして、発生した障害を復旧し、所定の印刷処理が終了後(印刷業務の空いた時間)に、記憶領域190に保存されたスナップショットを用いて障害発生時の状態を再現させた上で障害情報を採取する。ここで、プリントコントローラ330が動作するゲストOS325のスナップショットの作成と再現をSS管理モジュール320が行う。
情報処理装置300は、印刷装置170に印刷処理を行わせる運用をしている。その運用中に障害が発生したとする。
障害発生を検知すると、ホストOS310からSS管理モジュール320に対してスナップショット採取指示が行われる。SS管理モジュール320は、そのときのゲストOS325とプリントコントローラ330における状態Aをスナップショットとして、記憶領域190に記憶させる。なお、印刷装置170では、障害発生におけるログ情報が発生している。しかし、SS管理モジュール320のスナップショットは、情報処理装置300内部の状態を取得するものであるので、外部装置である印刷装置170のログ情報は、スナップショットの対象ではない。
その後、障害のリカバリ処理が行われ、運用再開となる。
そして、印刷装置170の運用が終了した後に、ホストOS310がSS管理モジュール320に対してスナップショット再現指示を行うと、SS管理モジュール320は、記憶領域190内のスナップショットを読み出して、ゲストOS325、プリントコントローラ330の状態を状態Aに戻す。そして、ホストOS310が出力制御モジュール335に対して障害情報収集指示を行う。すると、出力制御モジュール335は、プリントコントローラ330に対して、ログ収集の指示を行い、プリントコントローラ330内部とゲストOS325のそのときの状態をログ情報として取得する。そして、出力制御モジュール335は、印刷装置170に対して、ログ収集の指示を行い、印刷装置170からそのときの状態のログ情報を取得する。出力制御モジュール335は、それらを記憶領域190に、障害発生時のログ情報として記憶させる。
印刷装置170のログ情報の収集を行うと、障害発生のときと障害情報収集指示の間に印刷処理(運用再開)を行った場合、障害情報収集指示のときの印刷装置170のログ情報には障害後の印刷処理(運用再開後の印刷処理)の情報が書き込まれており、障害が発生したときの印刷装置170のログ情報とは異なった内容になっている。そのため印刷装置170の運用再開後の印刷処理によっては、障害発生時のログ情報は既になくなっている(上書きされている)という状況が発生する。つまり、障害発生したときのログ情報が、障害情報収集指示によって記憶領域190に記憶されるわけではない。
また、問題が顕在化するまでに時間がかかる障害では、問題発生直後に取得したスナップショットでは原因系の情報が含まれていないことがある。
例えば、ある処理により不正にメモリが書き換えられてしまっても、その領域を使用しない限り問題は発生しない。不正書き換えから障害として顕在化するまでの時間が長い場合には、障害発生時にスナップショットを取ったとしても、ログが上書きされているため不正書き換え時の情報が残っていないことがある。
また、スナップショットはプリントコントローラの状態すべてを復元できる技術ではあるが、印刷装置側の状態(印刷中のシート情報や印刷装置のステータス、フォルト等)は保存されず、そのため復元もできないため、スナップショットを使って障害(特に出力制御モジュールの障害)を再現することはできなかった。
以下、図面に基づき本発明を実現するにあたっての好適な一実施の形態の例を説明する。
図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は、障害の起因を再現可能とし、印刷装置170で印刷が完了していないページに関する情報を含めて、起因発生時の状態を再現することができるようにするもの又は再現するものであって、図1の例に示すように、下層から順に、物理マシン105、ホストOS110、仮想化SW115、ゲストOS125を有し、ゲストOS125上に応用プログラムである、プリントコントローラ130、SS制御モジュール140を有している。仮想化SW115は、SS管理モジュール120を有している。つまり、SS管理モジュール120は、仮想化SW115に標準的に組み込まれているモジュールである。プリントコントローラ130は、出力制御モジュール135を有している。
印刷装置170は、情報処理装置100の外部装置であって、プリントコントローラ130(出力制御モジュール135を含む)の制御によって、印刷処理を行う。
記憶領域190は、情報処理装置100の外部装置であって、障害の起因を示す情報、印刷のページに関する情報(特に、障害の起因の発生した時点で、印刷が完了していないページに関する情報)、スナップショット等を記憶している。
印刷装置シミュレータ180は、印刷処理には直接用いるものではない。したがって、印刷処理を行うための情報処理装置100にあっては、装備している必要はない。印刷装置シミュレータ180は、主に、障害が発生した場合に、その障害の原因、対策等を検討するために用いられる場合の情報処理装置100に装備されるものである。そして、その際に、印刷装置170の機能をシミュレーションするものである。印刷装置シミュレータ180そのものは、主に、プログラム等のソフトウェアによって構成されるものであるが、一部にハードウェアを含んでいてもよい。
まず、印刷装置170を制御して、印刷処理を行う場合の出力制御モジュール135等の機能を説明する。特に、仮想化された環境のゲストOS125上で動作するプリントコントローラ130に関するものである。
出力制御モジュール135は、応用プログラムであるプリントコントローラ130(出力制御モジュール135を含む)がインストールされているゲストOS125を搭載する仮想計算機である情報処理装置100の外部に設けられた印刷装置170を制御する。そして、印刷装置170又はその印刷装置170の制御に関連する障害の起因を検知する。印刷装置170の障害とは、印刷装置170自体で発生した障害である。印刷装置170の制御に関連する障害とは、印刷装置170を制御する情報処理装置100、主に、プリントコントローラ130で発生する障害である。
また、出力制御モジュール135は、印刷装置170を制御する出力制御モジュール135内部に関する障害の起因、オペレータが再現可能な障害の起因、オペレータが再現不可能な障害の起因を検知するようにしてもよい。
SS制御モジュール140は、障害の起因を示す情報と印刷装置170で印刷が完了していないページに関する情報を、記憶領域190に保存する。
SS制御モジュール140は、SS管理モジュール120を制御して、SS制御モジュール140による処理が終了してから、プリントコントローラ130を含むゲストOS125のスナップショットを作成する。
次に、障害が発生した後であって、その障害の原因、対策等を検討する場合の出力制御モジュール135等の機能を説明する。
出力制御モジュール135は、SS制御モジュール140による保存情報と、SS管理モジュール120によって作成されたスナップショットを受け付ける。
印刷装置170を外部に有しており、応用プログラムであるプリントコントローラ130(出力制御モジュール135を含む)がインストールされているゲストOS125を搭載する仮想計算機である情報処理装置100に対して、障害の復元を指示された場合に、SS制御モジュール140は、その障害の起因が、印刷装置170を制御する出力制御モジュール135内部に関する障害の起因、オペレータが再現可能な障害の起因、オペレータが再現不可能な障害の起因のいずれであるかによって、再現処理を異ならせる。
そして、SS制御モジュール140は、SS管理モジュール120にスナップショットの復元を行うように制御する。
また、SS制御モジュール140は、起因を示す情報が印刷装置170を制御する出力制御モジュール135内部に関する障害である場合は、SS管理モジュール120による処理(スナップショットを用いた復元処理)を行わせるようにしてもよい。
また、SS制御モジュール140は、起因を示す情報がオペレータが再現可能な障害である場合は、オペレータに再現を依頼する提示を行い、そのオペレータからの再現完了を意味する指示を受け取った後に、SS管理モジュール120による処理(スナップショットを用いた復元処理)を行わせるようにしてもよい。
また、SS制御モジュール140は、起因を示す情報がオペレータが再現不可能な障害である場合は、印刷装置シミュレータ180に対して、印刷装置170の障害の起因の再現を指示し、SS管理モジュール120による処理(スナップショットを用いた復元処理)を行わせるようにしてもよい。
処理の概略を説明する。
出力制御モジュール135は、各シート毎にプリント属性情報(給紙先、出力先、両面・片面等)を格納したシート情報エントリを作成し、このシート情報エントリを元に、印刷装置170に各シートのプリント指示(メッセージ送受信172)を行っている。
障害の起因につながる可能性がある事象が発生したときに、出力制御モジュール135からSS制御モジュール140がSS管理モジュール120に指示を送りスナップショットを作成するとともに、まだ出力されていないシートのシート情報エントリと障害起因情報を記憶領域190に記憶させる。
情報処理装置100は、これらのスナップショット、シート情報エントリ、障害起因情報を使い、障害につながる起因が発生したときの状態を復元する。
また、起因の種類により、起因の復元方法を自動的に選択する。
つまり、情報処理装置100では、障害発生時ではなく、障害を引き起こす起因となる事象が発生したとき、スナップショットを取得すると共に、出力制御モジュール135内のシート情報エントリ、障害起因情報を記録する。そして、別の情報処理装置100又は運用が終了した情報処理装置100で、障害を再現させ、障害の解決を目指すものである。なお、ここでの起因は、過去の実績等から、障害を引き起こす可能性があると判明しているものである。したがって、その起因が必ず障害を引き起こすとは限らない。また、対象とする起因を、起因発生から障害が実際に発生するまでの時間、処理数、処理規模と予め定めた閾値との比較によって選択したものであってもよい。ここで、比較対象である時間、処理数、処理規模として、過去の実績の統計的値(平均値、中央値、最頻値、最大値、最小値等)としてもよい。
なお、比較処理の具体例として、時間、処理数、処理規模が予め定めた閾値より大きい又は以上である場合は、本実施の形態の対象の起因として選択すればよい。また、時間、処理数、処理規模のいずれか1つ以上が、この条件を満たす場合に、対象の起因として選択してもよい。
また、起因の種類によっては、プリントコントローラ130だけでは復元できないものが存在するため、起因の種類(後述する図4〜6参照)によって、オペレータの操作により復元させる方法、印刷装置シミュレータ180を使って、復元させる方法を選択する。
検出する障害の起因の例示、そのデータ構造を、図4〜6を用いて説明する。
図4は、コントローラ内部起因テーブル400のデータ構造例を示す説明図である。
コントローラ内部起因テーブル400は、ID欄410、コントローラ内部起因欄420を有している。ID欄410は、障害の起因を、本実施の形態で一意に識別するための情報(起因ID:IDentification)を記憶している。コントローラ内部起因欄420は、プリントコントローラ130の内部における起因を記憶している。
コントローラ内部起因テーブル400として、例えば、以下のものを設定している。
(A1)ジョブで使用できる用紙がない
(A2)イメージングエラー(例えば、印刷する画像を生成できない、画像の生成誤りの発生等)
(A3)禁止されている組み合わせでの後処理指示(例えば、同じ位置に対するパンチ穴空け処理とステップラー処理の組み合わせ処理等)
(A4)ジョブの用紙サイズと出力トレイのサイズが異なる(例えば、A5の用紙が指定されているが、トレイにはA5の用紙がセットされていない等)
(A5)プリントコントローラ間でのインタフェース規約違反
(A6)指定ページでプリントを一時停止(プリントコントローラ130の機能)
これらの起因を検知した場合は、起因IDを保存する。
そして、復元処理において、起因IDがコントローラ内部起因テーブル400内のものである場合、復元方法情報450として「スナップショットの復元だけで起因の復元が可能」を取得する。したがって、この場合、SS制御モジュール140は、SS管理モジュール120に対してスナップショットの取得・復元指示142を行い、起因が発生したときの状態に復元する。
図5は、再現可能障害起因テーブル500のデータ構造例を示す説明図である。
再現可能障害起因テーブル500は、ID欄510、オペレータが再現可能な障害起因欄520を有している。ID欄510は、起因IDを記憶している。オペレータが再現可能な障害起因欄520は、オペレータが再現可能な障害起因を記憶している。
再現可能障害起因テーブル500として、例えば、以下のものを設定している。
(B1)用紙切れ
(B2)トナー切れ(空のトナーボックスに交換)
(B3)スタッカーアンロード
(B4)プリントコントローラ再起動
(B5)印刷装置の電源OFF/ON
(B6)節電モードからの復帰
(B7)プリント一時停止
これらの起因を検知した場合は、起因IDを保存する。
そして、復元処理において、起因IDが再現可能障害起因テーブル500内のものである場合、復元方法情報550として「オペレータに起因の再現を依頼する」を取得する。したがって、この場合、出力制御モジュール135は、情報処理装置100又は印刷装置170の表示装置に、起因IDに応じた再現処理を表示する。オペレータが、その起因を再現した後に、再現終了である旨を示す指示が行われる。その指示を検知した後に、SS制御モジュール140は、SS管理モジュール120に対してスナップショットの取得・復元指示142を行い、起因が発生したときの状態に復元する。
図6は、再現不可障害起因テーブル600のデータ構造例を示す説明図である。
再現不可障害起因テーブル600は、ID欄610、オペレータが再現できない障害起因欄620を有している。ID欄610は、起因IDを記憶している。オペレータが再現できない障害起因欄620は、オペレータが再現できない障害起因を記憶している。
再現不可障害起因テーブル600として、例えば、以下のものを設定している。
(C1)ジャム(紙詰まり)
(C2)ミスフィード(例えば、用紙の斜めでの搬送)
(C3)スタッカーフル(例えば、用紙排紙部に対しての制限量を超えた出力)
(C4)ヒューザ温度の異常
(C5)ドラムモーターの異常
(C6)電源異常
これらの起因を検知した場合は、起因IDを保存する。
そして、復元処理において、起因IDが再現不可障害起因テーブル600内のものである場合、復元方法情報650として「印刷装置シミュレータ180に起因の再現を指示する」を取得する。したがって、この場合、出力制御モジュール135は、印刷装置シミュレータ180を起動し、起因IDに応じた再現処理を印刷装置シミュレータ180に指示する。印刷装置シミュレータ180による再現処理が完了した後に、SS制御モジュール140は、SS管理モジュール120に対してスナップショットの取得・復元指示142を行い、起因が発生したときの状態に復元する。
図7、図8は、本実施の形態による処理例(障害の起因が発生したときのスナップショットの取得処理例)を示すフローチャートである。
ステップS700では、出力制御モジュール135による処理を開始する。
ステップS702では、プリントを行うジョブの情報を受信する。
ステップS704では、1枚分の情報を取得する。
ステップS706では、シート情報エントリを作成し、プリント属性を格納する。
ステップS708では、印刷装置170にシート情報を通知する。
ステップS710では、印刷装置170はプリント中か否かを判断し、プリント中の場合はステップS714へ進み、それ以外の場合はステップS712へ進む。
ステップS712では、印刷装置170にプリント開始を指示する。
ステップS714では、印刷装置170からイメージ要求が有ったか否かを判断し、イメージ要求が有った場合はステップS716へ進み、それ以外の場合はステップS718へ進む。
ステップS716では、対応するページの印字イメージを印刷装置170に送出する。
ステップS718では、印刷装置170からシート出力通知が有ったか否かを判断し、シート出力通知が有った場合はステップS720へ進み、それ以外の場合はステップS722へ進む。
ステップS720では、対応するシートのシート情報エントリを削除する。
ステップS722では、印刷装置170からフォルトが通知されたか否かを判断し、通知された場合はステップS724へ進み、それ以外の場合はステップS726へ進む。
ステップS724では、スナップショット取得処理を行う。
ステップS726では、内部的なフォルトが発生したか否かを判断し、発生した場合はステップS728へ進み、それ以外の場合はステップS730へ進む。
ステップS728では、スナップショット取得処理を行う。ステップS724、ステップS728の処理については、図9の例に示すフローチャートを用いて後述する。
ステップS730では、ジョブのすべてのシートを出力したか否かを判断し、すべてのシートを出力した場合はステップS732へ進み。それ以外の場合はステップS704へ戻る。
ステップS732では、未プリントのジョブが存在するか否かを判断し、存在する場合はステップS702へ戻り、それ以外の場合は処理を終了する(ステップS799)。
図9は、本実施の形態による処理例(図8の例に示すフローチャート内のステップS724、ステップS728)を示すフローチャートである。
ステップS900では、スナップショット取得処理を開始する。
ステップS902では、障害起因が発生したか否かを判断し、発生した場合はステップS904へ進み、それ以外の場合は処理を終了する(ステップS999)。
ステップS904では、障害起因及びプリントが完了していないシート属性情報を保存する。
ステップS906では、SS制御モジュール140に、上記シート属性情報と障害起因を通知し、スナップショットの取得を指示する。
出力制御モジュール135は、プリント指示をプリントコントローラ130から1シート分の情報を受け取ると、各シート毎にシート情報エントリを作成する。このシート情報エントリには、各シート毎の属性(給紙トレイ、出力トレイ、両面・片面、フィニッシングの種類等)が格納されている。出力制御モジュール135は、この情報を元に印刷装置170へシート属性情報と印刷開始の指示(メッセージ送受信172)を行う。
印刷装置170は、出力制御モジュール135からプリント開始の指示を受信したならば、前述のシート属性情報にしたがい、プリントを開始し、シートの給紙、ページイメージの転写・定着を行った後、出力トレイにシートを排出する。
印刷装置170は、シートを出力トレイに排出したときに、出力制御モジュール135に、シート出力情報を通知(メッセージ送受信172)する。
出力制御モジュール135は、シート出力情報を受信すると、対応するシート情報エントリを削除する。
出力制御モジュール135は、これらの処理を、ジョブのすべてのシートに対して実施する。
図10は、本実施の形態による処理例(出力制御モジュール135によるシート情報エントリに対する処理例)を示す説明図である。
シート情報エントリは各シート毎に作成され、図10の例に示すようなリンク構造を持つ。つまり、1枚目のシート情報エントリ1001の後には2枚目のシート情報エントリ1002、2枚目のシート情報エントリ1002の後には3枚目のシート情報エントリ1003、3枚目のシート情報エントリ1003の後には4枚目のシート情報エントリ1004、4枚目のシート情報エントリ1004の後には5枚目のシート情報エントリ1005のように、リンク構造となっている。
各エントリには給紙先、出力先、片面/両面、出力順序、フィニッシング種類などの情報が格納されている。また、印刷装置170からシートの出力が通知されると、対応するシート情報エントリは削除される。
出力制御モジュール135は、印刷装置170からフォルトやステータス通知されたとき、又は、プリントコントローラ130における内部的なフォルトが発生したときに、その事象が起因テーブル(コントローラ内部起因テーブル400、再現可能障害起因テーブル500、再現不可障害起因テーブル600)の事象と合致するかを判断し、一致する場合には、障害起因とプリントが完了していないシート情報エントリの情報を保存し、これらの情報と共にSS制御モジュール140にスナップショットの取得を指示する。
SS制御モジュール140は、出力制御モジュール135からスナップショット取得指示が通知されたならば、現在の日時情報(年、月、日、時、分、秒、秒以下、又はこれらの組み合わせであってもよい)を取得し、出力制御モジュール135から受け取ったシート情報エントリと障害起因を指し示す復元情報リンクを作成する。このとき作成するリンクの名前には日時情報を埋め込んでおく。例えば、CauseInfo_2015_0331_13303のように、日時情報を付加する。
次に、SS制御モジュール140は、SS管理モジュール120にスナップショットの取得を依頼(スナップショットの取得・復元指示142)する。このとき、スナップショットの名前には前述の日時情報を指定し、シート情報エントリと障害起因、スナップショットの組み合わせが一意に決定できるようにする。
なお、SS管理モジュール120は広く世で使われているVMware、Zen、Zone等の仮想OSで提供されるものを使用すればよい。
図11は、本実施の形態による処理例(フォルト等が発生した場合のシート情報エントリに対する処理例)を示す説明図である。
10枚目のシート情報エントリ1010において(つまり、9枚目の印刷処理が終了した後に)、「用紙切れ」(障害の起因)が発生したとする。この状態で、未出力のシートが10枚目〜14枚目(10枚目のシート情報エントリ1010、11枚目のシート情報エントリ1011、12枚目のシート情報エントリ1012、13枚目のシート情報エントリ1013、14枚目のシート情報エントリ1014)だった場合のシート情報エントリ、障害起因、その復元情報リンクの例を、図11は示している。つまり、10枚目のシート情報エントリ1010と「用紙切れ(起因)」1112へのリンクを有している「CauseInfo_2015_0331_133030(復元情報リンク)」1110を生成し、これを保存する。
そして、「SnapShot_2015_0331_133030(スナップショット)」1150のように、スナップショットのファイル名の一部に取得日時を入れることにより、そのスナップショットに対応する復元情報リンク(「CauseInfo_2015_0331_133030(復元情報リンク)」1110)を明確にする。
図12、図13は、本実施の形態(SS制御モジュール140)による処理例を示すフローチャートである。
ステップS1200では、SS制御モジュール140による処理を開始する。
ステップS1202では、出力制御モジュール135からSS取得指示が通知されたか否かを判断し、通知された場合はステップS1204へ進み、それ以外の場合はステップS1210へ進む。
ステップS1204では、現在の日時を取得する。
ステップS1206では、出力制御モジュール135から受け取ったシート情報エントリと障害起因を指し示す復元リンクを作成する。リンクの名前の一部に日時情報を使う。
ステップS1208では、SS管理モジュール120にスナップショットの取得を依頼する。スナップショットの名前の一部に日時情報を使う。
ステップS1210では、オペレータから障害起因の復元を指示されたか否かを判断し、指示された場合はステップS1212へ進み、それ以外の場合は処理を終了する(ステップS1299)。
ステップS1212では、復元情報リンクを取得する。
ステップS1214では、障害起因復元処理を行う。ステップS1214の処理については、図14の例に示すフローチャートを用いて後述する。
ステップS1216では、シート情報エントリから印刷装置170に通知する情報を作成する。
ステップS1218では、印刷装置170又は印刷シミュレータ180にシート情報を通知する。
ステップS1220では、次のシートの情報をポイントする。
ステップS1222では、ポインタはNULLであるか否かを判断し、NULLである場合はステップS1224へ進み、それ以外の場合はステップS1216へ戻る。
ステップS1224では、復元リンクの日時情報から対応するスナップショットを特定する。
ステップS1226では、SS管理モジュール120にスナップショットの復元を指示する。
図14は、本実施の形態による処理例(図12の例に示すフローチャート内のステップS1214の処理)を示すフローチャートである。
ステップS1400では、障害起因復元処理を開始する。
ステップS1402では、障害起因はプリントコントローラ130内部起因であるか否かを判断し、プリントコントローラ130内部起因である場合は処理を終了し(ステップS1499)、それ以外の場合はステップS1404へ進む。
ステップS1404では、オペレータが再現可能な障害起因であるか否かを判断し、オペレータが再現可能な障害起因である場合はステップS1410へ進み、それ以外の場合はステップS1406へ進む。
ステップS1406では、印刷装置シミュレータを起動する。
ステップS1408では、印刷装置シミュレータに障害起因の再現を指示する。
ステップS1410では、オペレータに障害起因の再現を指示する。
ステップS1412では、オペレータからの再現完了報告を待つ。
特に、スナップショットからの障害を再現する処理例について説明する。
なお、通常の運用では、顧客先の情報処理装置100Aで取得したスナップショットと復元情報リンクを、障害対応部門に送付し、障害対応部門における情報処理装置100Bで障害の再現が行われる。
SS制御モジュール140は、オペレータからスナップショットの復元指示があると、復元情報リンクから障害起因情報を取得する。前述した図10の例では、復元情報リンクは「CauseInfo_2015_0331_133030(復元情報リンク)」1110が該当し、障害起因情報は「用紙切れ(起因)」1112が該当する。
この障害起因情報は、(1)プリントコントローラ130内部起因、(2)オペレータが再現可能な障害起因、(3)オペレータが再現できない障害起因の3つに分類され、それぞれ障害起因の復元方法が異なる(図4〜6の例で示したコントローラ内部起因テーブル400、再現可能障害起因テーブル500、再現不可障害起因テーブル600参照)。
(1)プリントコントローラ130内部の障害起因(図4参照)
プリントコントローラ130内部に障害起因がある場合には、スナップショットにより状態が完全に復元されるため、スナップショットの復元をSS管理モジュール120に依頼するだけでよい。
(2)オペレータが再現可能な障害起因(図5参照)
オペレータが再現可能な障害起因の場合には、プリントコントローラ130が印刷装置170等の画面にメッセージを表示するなどして、オペレータにその再現を依頼する。例えば、用紙切れの場合、トレイを空にするなどの作業が該当する。
オペレータは障害起因の再現が完了したならば、キーボード、タッチパネル等を用いた応答により、SS制御モジュール140にその通知を行う。
SS制御モジュール140はオペレータからの起因の再現完了が通知されたならば、SS管理モジュール120にスナップショットの復元を依頼(スナップショットの取得・復元指示142)する。
(3)オペレータが再現できない障害起因(図6参照)
オペレータが再現できない障害起因の場合には、SS制御モジュール140は印刷装置シミュレータ180を起動し、コネクションを物理的な印刷装置170から印刷装置シミュレータ180に切り替え、印刷装置170の障害起因の再現を印刷装置シミュレータ180に指示する。印刷装置シミュレータ180は、コードを指定することで対応するフォルトを再現する機能を持つ既存のものとする。
次に、SS制御モジュール140は、SS管理モジュール120にスナップショットの復元を依頼(スナップショットの取得・復元指示142)する。
これらの処理により、障害起因が発生した状態が復元されるため、その後プリントを再開すれば障害が再現される。
情報処理装置100によって、障害が顕在化したした時点では原因が特定できないような障害や、ページ乱れなどのエンドユーザで発覚した障害などにおいても、トラブルの起因となった状態を復元することにより、障害を再現させ、その原因を解析することができる。
図15を参照して、本実施の形態の情報処理装置のハードウェア構成例について説明する。図15に示す構成は、例えばパーソナルコンピュータ(PC)等によって構成されるものであり、スキャナ等のデータ読み取り部1517と、プリンタ等のデータ出力部1518を備えたハードウェア構成例を示している。
CPU(Central Processing Unit)1501は、前述の実施の形態において説明した各種のモジュール、すなわち、ホストOS110、仮想化SW115、SS管理モジュール120、ゲストOS125、プリントコントローラ130、出力制御モジュール135、SS制御モジュール140等の各モジュールの実行シーケンスを記述したコンピュータ・プログラムにしたがった処理を実行する制御部である。
ROM(Read Only Memory)1502は、CPU1501が使用するプログラムや演算パラメータ等を格納する。RAM(Random Access Memory)1503は、CPU1501の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を格納する。これらはCPUバス等から構成されるホストバス1504により相互に接続されている。
ホストバス1504は、ブリッジ1505を介して、PCI(Peripheral Component Interconnect/Interface)バス等の外部バス1506に接続されている。
キーボード1508、マウス等のポインティングデバイス1509は、操作者により操作される入力デバイスである。ディスプレイ1510は、液晶表示装置又はCRT(Cathode Ray Tube)等があり、各種情報をテキストやイメージ情報として表示する。
HDD(Hard Disk Drive)1511は、ハードディスク(フラッシュメモリ等であってもよい)を内蔵し、ハードディスクを駆動し、CPU1501によって実行するプログラムや情報を記録又は再生させる。ハードディスクは、記憶領域190等としての機能を実現させる。さらに、その他の各種データ、各種コンピュータ・プログラム等が格納される。
ドライブ1512は、装着されている磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリ等のリムーバブル記録媒体1513に記録されているデータ又はプログラムを読み出して、そのデータ又はプログラムを、インタフェース1507、外部バス1506、ブリッジ1505、及びホストバス1504を介して接続されているRAM1503に供給する。リムーバブル記録媒体1513も、ハードディスクと同様のデータ記録領域として利用可能である。
接続ポート1514は、外部接続機器1515を接続するポートであり、USB、IEEE1394等の接続部を持つ。接続ポート1514は、インタフェース1507、及び外部バス1506、ブリッジ1505、ホストバス1504等を介してCPU1501等に接続されている。通信部1516は、通信回線に接続され、外部とのデータ通信処理を実行する。データ読み取り部1517は、例えばスキャナであり、ドキュメントの読み取り処理を実行する。データ出力部1518は、例えばプリンタであり、ドキュメントデータの出力処理を実行する。
なお、図15に示す情報処理装置のハードウェア構成は、1つの構成例を示すものであり、本実施の形態は、図15に示す構成に限らず、本実施の形態において説明したモジュールを実行可能な構成であればよい。例えば、一部のモジュールを専用のハードウェア(例えば特定用途向け集積回路(Application Specific Integrated Circuit:ASIC)等)で構成してもよく、一部のモジュールは外部のシステム内にあり通信回線で接続しているような形態でもよく、さらに図15に示すシステムが複数互いに通信回線によって接続されていて互いに協調動作するようにしてもよい。また、特に、パーソナルコンピュータの他、携帯情報通信機器(携帯電話、スマートフォン、モバイル機器、ウェアラブルコンピュータ等を含む)、情報家電、ロボット、複写機、ファックス、スキャナ、プリンタ、複合機(スキャナ、プリンタ、複写機、ファックス等のいずれか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…情報処理装置
105…物理マシン
110…ホストOS
115…仮想化SW
120…SS管理モジュール
125…ゲストOS
130…プリントコントローラ
135…出力制御モジュール
140…SS制御モジュール
142…スナップショットの取得・復元指示
170…印刷装置
172…メッセージ送受信
180…印刷装置シミュレータ
182…メッセージ送受信
184…メッセージ送受信
190…記憶領域

Claims (8)

  1. 応用プログラムがインストールされているゲストOSを搭載する仮想計算機の外部に設けられた印刷装置又は該印刷装置の制御に関連する障害の起因を検知する障害起因検知制御手段と、
    前記障害の起因を示す情報と前記印刷装置で印刷が完了していないページに関する情報を保存する保存手段と、
    前記保存手段による処理が終了してから、前記応用プログラムを含むゲストOSのスナップショットを作成するスナップショット作成手段
    を備えた仮想計算機システム。
  2. 前記障害起因検知制御手段は、前記印刷装置を制御する制御手段内部に関する障害の起因、オペレータが再現可能な障害の起因、オペレータが再現不可能な障害の起因を検知する、
    請求項1に記載の仮想計算機システム。
  3. 請求項1に記載の仮想計算機システムの前記保存手段による保存情報と、前記スナップショット作成手段によって作成されたスナップショットを受け付ける受付手段と、
    印刷装置を外部に有しており、応用プログラムがインストールされているゲストOSを搭載する仮想計算機に対して、障害の復元を指示された場合に、該障害の起因が、前記印刷装置を制御する制御手段内部に関する障害の起因、オペレータが再現可能な障害の起因、オペレータが再現不可能な障害の起因のいずれであるかによって、再現処理を異ならせる再現手段と、
    前記スナップショットの復元を行うように制御する復元制御手段
    を備えた仮想計算機システム。
  4. 前記再現手段は、前記起因を示す情報が前記印刷装置を制御する制御手段内部に関する障害である場合は、前記復元制御手段による処理を行わせる、
    請求項3に記載の仮想計算機システム。
  5. 前記再現手段は、前記起因を示す情報がオペレータが再現可能な障害である場合は、オペレータに再現を依頼する提示を行い、該オペレータからの再現完了を意味する指示を受け取った後に、前記復元制御手段による処理を行わせる、
    請求項3又は4に記載の仮想計算機システム。
  6. 前記再現手段は、前記起因を示す情報がオペレータが再現不可能な障害である場合は、印刷装置シミュレータに対して、前記印刷装置の障害の起因の再現を指示し、前記復元制御手段による処理を行わせる、
    請求項3から5のいずれか一項に記載の仮想計算機システム。
  7. コンピュータを、
    応用プログラムがインストールされているゲストOSを搭載する仮想計算機の外部に設けられた印刷装置又は該印刷装置の制御に関連する障害の起因を検知する障害起因検知制御手段と、
    前記障害の起因を示す情報と前記印刷装置で印刷が完了していないページに関する情報を保存する保存手段と、
    前記保存手段による処理が終了してから、前記応用プログラムを含むゲストOSのスナップショットを作成するスナップショット作成手段
    として機能させるための仮想計算機プログラム。
  8. コンピュータを、
    請求項7に記載の仮想計算機プログラムの前記保存手段による保存情報と、前記スナップショット作成手段によって作成されたスナップショットを受け付ける受付手段と、
    印刷装置を外部に有しており、応用プログラムがインストールされているゲストOSを搭載する仮想計算機に対して、障害の復元を指示された場合に、該障害の起因が、前記印刷装置を制御する制御手段内部に関する障害の起因、オペレータが再現可能な障害の起因、オペレータが再現不可能な障害の起因のいずれであるかによって、再現処理を異ならせる再現手段と、
    前記スナップショットの復元を行うように制御する復元制御手段
    として機能させるための仮想計算機プログラム。
JP2015168054A 2015-08-27 2015-08-27 仮想計算機システム及び仮想計算機プログラム Pending JP2017045320A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2015168054A JP2017045320A (ja) 2015-08-27 2015-08-27 仮想計算機システム及び仮想計算機プログラム
US15/061,217 US9860393B2 (en) 2015-08-27 2016-03-04 Virtual computer system, non-transitory computer readable medium, and method for virtual computer system
EP16160829.4A EP3136241A1 (en) 2015-08-27 2016-03-17 Virtual computer system, virtual computer program and method for virtual computer system
CN201610177024.3A CN106484336B (zh) 2015-08-27 2016-03-25 虚拟计算机系统和用于虚拟计算机系统的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015168054A JP2017045320A (ja) 2015-08-27 2015-08-27 仮想計算機システム及び仮想計算機プログラム

Publications (1)

Publication Number Publication Date
JP2017045320A true JP2017045320A (ja) 2017-03-02

Family

ID=55586191

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015168054A Pending JP2017045320A (ja) 2015-08-27 2015-08-27 仮想計算機システム及び仮想計算機プログラム

Country Status (4)

Country Link
US (1) US9860393B2 (ja)
EP (1) EP3136241A1 (ja)
JP (1) JP2017045320A (ja)
CN (1) CN106484336B (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7098899B2 (ja) * 2017-09-22 2022-07-12 コニカミノルタ株式会社 仮想実行装置、仮想実行方法および仮想実行プログラム

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7286974B2 (en) * 2004-07-19 2007-10-23 Workman Nydegger Virtual PC printer driver
US8655623B2 (en) * 2007-02-13 2014-02-18 International Business Machines Corporation Diagnostic system and method
US8264702B2 (en) * 2009-12-04 2012-09-11 Xerox Corporation Method and system for determining root cause of problems in members of a fleet of multi-function devices
JP5782755B2 (ja) * 2011-03-09 2015-09-24 株式会社リコー 画像形成装置
US8782472B2 (en) * 2011-10-28 2014-07-15 Dell Products L.P. Troubleshooting system using device snapshots
JP2014032498A (ja) 2012-08-02 2014-02-20 Mitsubishi Electric Corp 計算機の障害再現方式
JP5942860B2 (ja) * 2013-01-10 2016-06-29 富士ゼロックス株式会社 印刷データ処理システム
JP5943861B2 (ja) * 2013-02-28 2016-07-05 京セラドキュメントソリューションズ株式会社 リモートデバッグシステム
US9075781B2 (en) * 2013-03-15 2015-07-07 Apkudo, Llc System and method for coordinating field user testing results for a mobile application across various mobile devices
JP5713138B1 (ja) 2014-09-12 2015-05-07 富士ゼロックス株式会社 仮想計算機システム、プリンタ制御システム、仮想計算機プログラム及びプリンタ制御プログラム

Also Published As

Publication number Publication date
CN106484336A (zh) 2017-03-08
EP3136241A1 (en) 2017-03-01
US20170064094A1 (en) 2017-03-02
US9860393B2 (en) 2018-01-02
CN106484336B (zh) 2019-07-26

Similar Documents

Publication Publication Date Title
US6567179B1 (en) System for controlling communication between a printer and an external host computer
US9075705B2 (en) Information processing apparatus capable of appropriately providing notification of storage unit failure prediction, control method therefor, and storage medium
EP2765525B1 (en) Apparatus, non-transitory computer readable information recording medium and information recording method
US8564800B2 (en) Printing system, printing apparatus, computer program, and storage medium
US9606872B2 (en) Virtual computer system, printer control system, virtual computation method, printer control method, and storage media
JP6468099B2 (ja) 情報処理システム、故障原因診断方法及びプログラム
US8976381B2 (en) Printing apparatus, method for controlling printing apparatus, and storage medium
US8643888B2 (en) Image forming apparatus and method for controlling the same
US11243730B2 (en) Information processing apparatus, method and non-transitory computer readable medium storing information processing program
JP6641831B2 (ja) 画像処理装置、画像処理プログラム及び画像処理システム
CN103399717B (zh) 打印控制设备和数据管理方法
CN111722812B (zh) 信息处理系统、装置和方法以及计算机可读记录介质
JP6406219B2 (ja) 通信装置及び画像形成装置
JP2017045320A (ja) 仮想計算機システム及び仮想計算機プログラム
US9870249B2 (en) Virtual computer system, method, and non-transitory computer readable medium
JP2010287108A (ja) 画像処理装置
JP3376256B2 (ja) 印刷制御装置および印刷制御方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体
JP2017138863A (ja) 情報処理装置及び情報処理プログラム
US20190387107A1 (en) Image processing device, self-diagnostic method and non-transitory recording medium
US8049912B2 (en) Image processing system, image processing program and image processing method
US11137951B2 (en) Image forming apparatus, control method of image forming apparatus, and program
JP6150048B2 (ja) 画像形成システムおよび画像形成システムの診断方法
US20200174729A1 (en) Information processing apparatus, control method thereof, and storage medium storing program
US20200293747A1 (en) Image processing system
JP2008037011A (ja) 印刷装置、その制御方法及びプログラム