JP6610094B2 - 仮想計算機システム及び仮想計算機プログラム - Google Patents
仮想計算機システム及び仮想計算機プログラム Download PDFInfo
- Publication number
- JP6610094B2 JP6610094B2 JP2015168955A JP2015168955A JP6610094B2 JP 6610094 B2 JP6610094 B2 JP 6610094B2 JP 2015168955 A JP2015168955 A JP 2015168955A JP 2015168955 A JP2015168955 A JP 2015168955A JP 6610094 B2 JP6610094 B2 JP 6610094B2
- Authority
- JP
- Japan
- Prior art keywords
- log
- snapshot
- module
- failure
- printing apparatus
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error 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/0706—Error 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/0712—Error 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 virtual computing platform, e.g. logically partitioned systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error 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/0706—Error 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/0733—Error 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error 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/0766—Error or fault reporting or storing
- G06F11/0778—Dumping, i.e. gathering error/state information after a fault for later diagnosis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1479—Generic software techniques for error detection or fault masking
- G06F11/1482—Generic software techniques for error detection or fault masking by means of middleware or OS functionality
- G06F11/1484—Generic software techniques for error detection or fault masking by means of middleware or OS functionality involving virtual machines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1202—Dedicated interfaces to print systems specifically adapted to achieve a particular effect
- G06F3/121—Facilitating exception or error detection and recovery, e.g. fault, media or consumables depleted
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K15/00—Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
- G06K15/02—Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45579—I/O management, e.g. providing access to device drivers or storage
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45583—Memory management, e.g. access or allocation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/84—Using snapshots, i.e. a logical point-in-time copy of the data
Description
本発明は、障害発生直後の外部装置のログ情報を応用プログラムのスナップショットに関連付けて保存するようにしたので、障害発生直後の状態を、応用プログラムだけでなく外部装置の状態を含めて再現することができるようにした仮想計算機システム及び仮想計算機プログラムを提供することを目的としている。
請求項1の発明は、応用プログラムがインストールされているゲストOSを搭載する仮想計算機の外部に設けられた外部装置に係るイベントを取得するための制御を行う外部イベント取得制御部と、外部イベント取得制御部により取得した外部イベントを保存する外部イベント保存部と、外部イベント保存部に外部イベントが保存されてから、応用プログラムを含むゲストOSのスナップショットを作成するスナップショット作成部、を備え、前記応用プログラムは、前記外部装置である印刷装置の制御用プログラムであり、前記外部イベント保存部が保存する外部イベントとして、前記印刷装置におけるプリントデータに起因する障害を含み、前記スナップショット作成部によってゲストOSのスナップショットを作成された後に、前記印刷装置による印刷の再開を行い、該印刷が終了した後に、前記外部イベントと前記スナップショットによる復元を行う、仮想計算機システムである。
図14は、従来技術の例を示す説明図である。情報処理装置1400は、外部装置である印刷装置1480を制御して、印刷処理を行わせる。情報処理装置1400は、仮想計算機システムではない、一般的な計算機(1つの物理マシン1405に1つのOS1410で構成したコンピュータ)である。例えば、情報処理装置1400は、プリンタサーバー又はプリンタコントローラとしての機能を有し、印刷装置1480は、高速プリンタである。
情報処理装置1400は、印刷装置1480に印刷処理を行わせる運用をしており、その運用中に障害発生1510したとする。
障害発生1510を検知すると、OS1410上の障害情報収集モジュール1435に対して障害情報収集指示1572が行われる。障害情報収集モジュール1435は、プリントコントローラモジュール1425に対して、Get_Log1574の指示を行い、プリントコントローラモジュール1425内部とOS1410のそのときの状態(ログ情報)をC−Log1427Aとして取得する。そして、プリントコントローラモジュール1425は出力制御モジュール1430を制御し、出力制御モジュール1430はその制御にしたがって、印刷装置1480に対して、get_log1576の指示を行い、印刷装置1480から印刷装置1480のそのときの状態(ログ情報)であるI−Log1482Aを取得する。そして、出力制御モジュール1430は、Get_Log1574の返信としてI−Log,C−Log1578(C−Log1427A、I−Log1482A)を障害情報収集モジュール1435に返す。障害情報収集モジュール1435は、それらを記憶領域1490にC−Log1427B、I−Log1482Bとして記憶させる。その後、障害のリカバリ処理1550が行われ、運用再開1560となる。
なお、この後、印刷装置1480の運用が終了した後に、C−Log1427B、I−Log1482Bを解析することによって、障害の原因、対策等を検討することになる。なお、ログを収集した後に、そのログの解析を行わずに、リカバリ処理1550、運用再開1560を行うのは、印刷装置1480での印刷処理を続けるためである。特に、印刷装置1480が高速プリンタである場合は、ダウン期間(印刷できない期間)を短くする要請がある。
仮想化システムと呼ばれる技術は、一台の物理マシン1605(ハードウェア)上で複数のゲストOS1620を動作させる技術である。図16の例に示すように、物理マシン1605上にホストOS1610と仮想化SW1615による仮想ハードウェアを構築し、その上にゲストOS1620をインストールし、さらにゲストOS1620上に応用プログラム(アプリケーション)であるプリントコントローラモジュール1625をインストールする。
仮想化SW1615は、物理マシン1605上に、複数のゲストOS1620の並列的な同居を可能にするソフトウェアである。つまり、仮想化SW1615は、CPU、メモリ、HDD等のハードウェアをソフトウェア的に構築し、ゲストOS1620が依って立つハードウェアリソースを仮想マシンとして用意するものである。
プリントコントローラモジュール1625として、例えば、プリンタ制御プログラム(具体例として、デジタルフロントエンド(DFE:Digital Front End)等)がある。この場合、仮想マシンはそれぞれが隔離されており、いずれかに障害(例えば、クラッシュ等)が発生しても、他の仮想マシン上でのプリンタ制御プログラムはそのまま稼働しており、印刷することができる。
障害発生1710を検知すると、ホストOS1610を介してユーザの操作に応じて、SS管理モジュール1617に対してスナップショット採取指示1722が行われる。なお、プリントコントローラモジュール1625内のステータスを監視する事により、自動的にスナップショット採取指示1722を出すことも可能である。SS管理モジュール1617は、そのときのゲストOS1620とプリントコントローラモジュール1625における状態A:1740Aをスナップショット1692として、記憶領域1690に記憶させる。なお、印刷装置1680では、障害発生1710におけるログ情報としてI−Log1682Aが発生している。しかし、SS管理モジュール1617のスナップショットは、情報処理装置1600内部の状態を取得するものであるので、外部装置である印刷装置1680のI−Log1682Aは、スナップショットの対象ではない。
その後、障害のリカバリ処理1750が行われ、運用再開1760となる。
<<第1の実施の形態>>
図1は、第1の実施の形態の構成例についての概念的なモジュール構成図を示している。
なお、モジュールとは、一般的に論理的に分離可能なソフトウェア(コンピュータ・プログラム)、ハードウェア等の部品を指す。したがって、本実施の形態におけるモジュールはコンピュータ・プログラムにおけるモジュールのことだけでなく、ハードウェア構成におけるモジュールも指す。それゆえ、本実施の形態は、それらのモジュールとして機能させるためのコンピュータ・プログラム(コンピュータにそれぞれの手順を実行させるためのプログラム、コンピュータをそれぞれの手段として機能させるためのプログラム、コンピュータにそれぞれの機能を実現させるためのプログラム)、システム及び方法の説明をも兼ねている。ただし、説明の都合上、「記憶する」、「記憶させる」、これらと同等の文言を用いるが、これらの文言は、実施の形態がコンピュータ・プログラムの場合は、記憶装置に記憶させる、又は記憶装置に記憶させるように制御するという意味である。また、モジュールは機能に一対一に対応していてもよいが、実装においては、1モジュールを1プログラムで構成してもよいし、複数モジュールを1プログラムで構成してもよく、逆に1モジュールを複数プログラムで構成してもよい。また、複数モジュールは1コンピュータによって実行されてもよいし、分散又は並列環境におけるコンピュータによって1モジュールが複数コンピュータで実行されてもよい。なお、1つのモジュールに他のモジュールが含まれていてもよい。また、以下、「接続」とは物理的な接続の他、論理的な接続(データの授受、指示、データ間の参照関係等)の場合にも用いる。「予め定められた」とは、対象としている処理の前に定まっていることをいい、本実施の形態による処理が始まる前はもちろんのこと、本実施の形態による処理が始まった後であっても、対象としている処理の前であれば、そのときの状況・状態に応じて、又はそれまでの状況・状態に応じて定まることの意を含めて用いる。「予め定められた値」が複数ある場合は、それぞれ異なった値であってもよいし、2以上の値(もちろんのことながら、すべての値も含む)が同じであってもよい。また、「Aである場合、Bをする」という意味を有する記載は、「Aであるか否かを判断し、Aであると判断した場合はBをする」の意味で用いる。ただし、Aであるか否かの判断が不要である場合を除く。
また、システム又は装置とは、複数のコンピュータ、ハードウェア、装置等がネットワーク(一対一対応の通信接続を含む)等の通信手段で接続されて構成されるほか、1つのコンピュータ、ハードウェア、装置等によって実現される場合も含まれる。「装置」と「システム」とは、互いに同義の用語として用いる。もちろんのことながら、「システム」には、人為的な取り決めである社会的な「仕組み」(社会システム)にすぎないものは含まない。
また、各モジュールによる処理毎に又はモジュール内で複数の処理を行う場合はその処理毎に、対象となる情報を記憶装置から読み込み、その処理を行った後に、処理結果を記憶装置に書き出すものである。したがって、処理前の記憶装置からの読み込み、処理後の記憶装置への書き出しについては、説明を省略する場合がある。なお、ここでの記憶装置としては、ハードディスク、RAM(Random Access Memory)、外部記憶媒体、通信回線を介した記憶装置、CPU(Central Processing Unit)内のレジスタ等を含んでいてもよい。
なお、外部装置の例示として印刷装置180を示しているが、他の装置(例えば、スキャナ等)であってもよい。つまり、仮想計算機システムによって制御される外部装置であって、障害が発生した後、その障害を解析することよりも前に、リカバリ処理が行われるものであればよい。そして、応用プログラムとして、例えば、プリンタ制御プログラムがある。以下、プリンタ制御プログラムを例示して説明する。
プリントコントローラモジュール125は、SS制御モジュール140により取得した外部イベントを保存する。つまり、プリントコントローラモジュール125内には、I−Log182B(印刷装置180内のI−Log182Aと同じ内容)を記憶している。もちろんのことながら、プリントコントローラモジュール125は、情報処理装置100の内部(SS管理モジュール117によってスナップショットの対象となっている領域内)にあるので、ゲストOS120、プリントコントローラモジュール125のログ情報であるC−Log127Aも記憶している。
SS管理モジュール117は、プリントコントローラモジュール125に外部イベントであるI−Log182Aが保存されてから、プリントコントローラモジュール125を含むゲストOS120のスナップショットを作成する。したがって、そのスナップショットには、C−Log127Aの他に、I−Log182Bが含まれていることになる。具体的には、SS管理モジュール117は、SS制御モジュール140から、イベント保存が終わった旨の通知を受け付け、その通知を受け付けた後に、スナップショットを作成する。
プリントコントローラモジュール125をゲストOS120上で動作させ、その仮想計算機システムのスナップショット機能を用いて障害情報の収集を行う場合、前述したように、障害発生と障害情報の取得のタイミングが大きく異なる。このため、スナップショットの対象外である印刷装置180等の外部機器は、障害情報の取得時に障害発生時のログ情報を保持していない場合があり得る。そこで、従来の障害情報収集の機能を、SS制御モジュール140と障害情報収集モジュール135に分けて、SS制御モジュール140により、障害発生時の印刷装置180のログ情報をスナップショット採取前にプリントコントローラモジュール125に取り込む様にした。
これにより、障害発生の直後に短時間で処理が終了可能なスナップショットを作成すれば、時間の要する障害情報の収集作業を行うことなく、障害のリカバリ処理後に本来の印刷処理を直ちに再開できる。そして、印刷業務が終了した後など好きなタイミングで、スナップショットを再現することで、障害発生直後の障害情報(プリントコントローラモジュール125だけでなく、印刷装置180などの外部機器の障害情報)を取得できる。
つまり、印刷装置180のユーザは、障害発生に伴う障害情報の収集を行わなくてよくなる。その結果、印刷装置180の稼働率を上げることができることとなる。
情報処理装置100は、印刷装置180に印刷処理を行わせる運用をしており、その運用中に障害発生210したとする。
障害発生210を検知すると、ゲストOS120上のSS制御モジュール140に対して、スナップショット採取指示222が行われる。SS制御モジュール140は、プリントコントローラモジュール125に対して、Get_ILog224の指示を行う。出力制御モジュール130は、プリントコントローラモジュール125の制御にしたがって、印刷装置180に対して、get_log226の指示を行って、I−Log182Aを取得して、プリントコントローラモジュール125内にI−Log182Bとして記憶する。プリントコントローラモジュール125(出力制御モジュール130)は、I−Log182Bが記憶されたことを確認して、SS制御モジュール140に取得終了を示すRes_ILog228を返す。そして、Res_ILog228を受けたSS制御モジュール140は、仮想化SW115内のSS管理モジュール117に対して、スナップショット処理を依頼する。SS管理モジュール117は、ゲストOS120、プリントコントローラモジュール125(プリントコントローラモジュール125内にはI−Log182Bが記憶されている)の状態A:240Aをスナップショット192として、記憶領域190に記憶させる。その後、障害の復旧であるリカバリ処理250が行われ、運用再開260となる。
ステップS302では、障害発生を検知したか否かを判断し、検知した場合はステップS304へ進み、それ以外の場合は検知するまで待機する。
ステップS304では、ユーザの操作に応じて、スナップショット採取指示222を行う。なお、前述したように、プリントコントローラモジュール125内のステータスを監視する事により、自動的に採取指示を出すことも可能である。
ステップS306では、SS制御モジュール140は、スナップショット採取指示222を受信する。
ステップS308では、SS制御モジュール140は、I−Log取得指示(Get_ILog224)を行う。
ステップS310では、出力制御モジュール130は、I−Log取得指示(Get_ILog224)を受信する。
ステップS314では、印刷装置180は、I−Log取得指示(get_log226)を受信する。
ステップS316では、印刷装置180は、I−Log182Aを送信する。
ステップS318では、出力制御モジュール130は、I−Log182Aを受信する。
ステップS320では、出力制御モジュール130は、プリントコントローラモジュール125内にI−Log182Aを記憶する。
ステップS324では、SS制御モジュール140は、Res_ILog228を受信する。
ステップS326では、SS制御モジュール140は、スナップショット作成指示を行う。
ステップS328では、SS管理モジュール117は、スナップショット作成指示を受信する。
ステップS330では、SS管理モジュール117は、現在の状態A:240A(プリントコントローラモジュール125内にI−Log 182Bが記憶された状態)を記憶領域190にスナップショット192として記憶させる。
ステップS502では、ユーザの操作に応じて、スナップショット再現指示270を行う。
ステップS504では、SS管理モジュール117は、スナップショット再現指示270を受信する。
ステップS506では、SS管理モジュール117は、記憶領域190内のスナップショット192を用いて、状態A:240B(プリントコントローラモジュール125内にI−Log182Bが記憶された状態)を再現する。
ステップS602では、ユーザの操作に応じて、障害情報収集指示272を行う。
ステップS604では、障害情報収集モジュール135は、障害情報収集指示272を受信する。
ステップS606では、障害情報収集モジュール135は、ログ取得指示(Get_Log274)を行う。
ステップS608では、プリントコントローラモジュール125は、ログ取得指示(Get_Log274)を受信する。
ステップS612では、障害情報収集モジュール135は、I−Log,C−Log276(C−Log127AとI−Log182B)を受信する 。
ステップS614では、障害情報収集モジュール135は、C−Log127BとI−Log182C(I−Log,C−Log276)を記憶領域190に記憶させる。
図7は、第2の実施の形態の構成例についての概念的なモジュール構成図である。
情報処理装置700は、下層から順に、物理マシン105、ホストOS110、仮想化SW115、ゲストOS120を有し、ゲストOS120上にプリントコントローラモジュール125、障害情報収集モジュール135、SS制御モジュール140を有している。仮想化SW115は、SS管理モジュール117を含み、プリントコントローラモジュール125は、出力制御モジュール130を含んでおり、C−Log127Aを記憶している。印刷装置180は、I−Log782Aを記憶している。記憶領域190は、スナップショット192を記憶している。なお、前述の実施の形態と同種の部位には同一符号を付し重複した説明を省略する(以下、同様)。
印刷装置180は、SS制御モジュール140の指示により取得した外部イベントを保存する。つまり、印刷装置180内には、I−Log782Aを記憶している。もちろんのことながら、I−Log782Aを記憶する手段は、印刷装置180の内部に有している。また、I−Log782Aを記憶した後は、印刷装置180の再開処理によって、そのI−Log782Aに新たなログ情報が上書きされることはなく、障害発生時の状態を示すI−Log782Aが記憶されることになる。
SS管理モジュール117は、印刷装置180に外部イベントであるI−Log782Aが保存されてから、プリントコントローラモジュール125を含むゲストOS120のスナップショットを作成する。したがって、そのスナップショット作成時には印刷装置180にはI−Log782Aが記憶されていることになる。
情報処理装置700は、印刷装置180に印刷処理を行わせる運用をしており、その運用中に障害発生210したとする。
障害発生210を検知すると、ゲストOS120上のSS制御モジュール140に対して、スナップショット採取指示222が行われる。SS制御モジュール140は、プリントコントローラモジュール125に対して、Save_ILog824の指示を行う。出力制御モジュール130は、プリントコントローラモジュール125の制御にしたがって、印刷装置180に対して、save_log826の指示を行って、印刷装置180はI−Log182Aを複写してI−Log182B(図7の例におけるI−Log782Aに該当)を生成して、記憶する。プリントコントローラモジュール125(出力制御モジュール130)は、印刷装置180からの終了通知を受け取ったならば、SS制御モジュール140に処理終了を示すRes_ILog828を返す。そして、Res_ILog828を受けたSS制御モジュール140は、仮想化SW115内のSS管理モジュール117に対して、スナップショット処理を依頼する。SS管理モジュール117は、ゲストOS120、プリントコントローラモジュール125の状態A:840Aをスナップショット892として、記憶領域190に記憶させる。その後、障害の復旧であるリカバリ処理250が行われ、運用再開260となる。
ステップS902では、障害発生を検知したか否かを判断し、検知した場合はステップS904へ進み、それ以外の場合は検知するまで待機する。
ステップS904では、ユーザの操作に応じて、スナップショット採取指示222を行う。なお、前述したように、プリントコントローラモジュール125内のステータスを監視する事により、自動的に採取指示を出すことも可能である。
ステップS906では、SS制御モジュール140は、スナップショット採取指示222を受信する。
ステップS908では、SS制御モジュール140は、I−Log保存指示(Save_ILog824)を行う。
ステップS910では、出力制御モジュール130は、I−Log保存指示(Save_ILog824)を受信する。
ステップS914では、印刷装置180は、I−Log保存指示(save_log826)を受信する。
ステップS916では、印刷装置180は、I−Log182Aを保存する(I−Log782B)。
ステップS918では、印刷装置180は、I−Logの保存が終了したことを返信する。
ステップS920では、出力制御モジュール130は、I−Logの出力制御モジュール130での保存が終了したことを返信(Res_ILog828)する。
ステップS924では、SS制御モジュール140は、スナップショット作成指示を行う。
ステップS926では、SS管理モジュール117は、スナップショット作成指示を受信する。
ステップS928では、SS管理モジュール117は、現在の状態A:840Aを記憶領域190にスナップショット892として記憶させる。
ステップS1102では、ユーザの操作に応じて、スナップショット再現指示270を行う。
ステップS1104では、SS管理モジュール117は、スナップショット再現指示270を受信する。
ステップS1106では、SS管理モジュール117は、記憶領域190内のスナップショット892を用いて、状態A:840Bを再現する。
ステップS1202では、ユーザの操作に応じて、障害情報収集指示272を行う。
ステップS1204では、障害情報収集モジュール135は、障害情報収集指示272を受信する。
ステップS1206では、障害情報収集モジュール135は、ログ取得指示(Get_Log274)を行う。
ステップS1208では、プリントコントローラモジュール125は、ログ取得指示(Get_Log274)を受信する。
ステップS1210では、プリントコントローラモジュール125は、ログ取得指示(get_log874B)を送信する。
ステップS1211では、印刷装置180は、ログ取得指示(get_log874B)を受信する。
ステップS1214では、印刷装置180は、I−Log782Cを送信する。
ステップS1216では、障害情報収集モジュール135は、I−Log,C−Log876(C−Log127AとI−Log782C)を受信する。
ステップS1218では、障害情報収集モジュール135は、C−Log127BとI−Log782D(I−Log,C−Log876)を記憶領域190に記憶させる。
図13は、第3の実施の形態の構成例についての概念的なモジュール構成図である。情報処理装置1300Xは、情報処理装置1300Y(クライアントSW1325)からの印刷依頼によって、印刷装置180Xで印刷処理を行う。障害が発生した場合、情報処理装置1300Xのログ情報だけでなく、情報処理装置1300Yにおけるログ情報も取得するようにしている。
仮想計算機システムである情報処理装置1300Xは、下層から順に、物理マシン105X、ホストOS110X、仮想化SW115X、ゲストOS120Xを有し、ゲストOS120X上にプリントコントローラモジュール125X、障害情報収集モジュール135X、SS制御モジュール140Xを有している。仮想化SW115Xは、SS管理モジュール117Xを含み、プリントコントローラモジュール125Xは、出力制御モジュール130Xを含み、C−Log127AXを記憶している。印刷装置180Xは、I−Log182AXを記憶している。記憶領域190Xは、スナップショット192Xを記憶している。
仮想計算機システムである情報処理装置1300Yは、下層から順に、物理マシン2105Y、ホストOS2110Y、仮想化SW2115Y、ゲストOS2120Yを有し、ゲストOS2120Y上にクライアントSW1325、障害情報収集Cモジュール135Y、SS制御Cモジュール140Yを有している。仮想化SW2115Yは、SS管理2モジュール117Yを含み、クライアントSW1325は、Cl−Log1327Aを記憶している。記憶領域2190Yは、スナップショット2:192Yを記憶している。
情報処理装置1300Xと情報処理装置1300Yは、通信回線を介して、接続されている。
情報処理装置1300XのSS制御モジュール140Xは、情報処理装置1300Xとは異なる情報処理装置1300Y(情報処理装置1300Xに対して印刷依頼を行った仮想計算機)のスナップショットを、情報処理装置1300Yに保持させる。
スナップショットの採取指示を受けたSS制御Cモジュール140Yは、クライアントSW1325が動作しているゲストOS2120Yのスナップショットを作成するように、SS管理2モジュール117Yに指示すること(Step136)で、クライアントSW1325のスナップショットがクライアントSW1325の動作する記憶領域2190Y内にスナップショット2:192Yとして作成される。このとき、情報処理装置1300XのSS制御モジュール140Xは、前述の実施の形態によるログ情報の処理とゲストOS120Xのスナップショットの作成を行う(Step140)。
それとは別に、情報処理装置1300Y(クライアントSW1325)においても、情報処理装置1300XのSS管理モジュール117Xからのスナップショットの再現指示により、情報処理装置1300YのSS管理2モジュール117Yは、先に作成された記憶領域2190Y内のスナップショット2:192Yを用いて障害発生時の状態を再現させる。そして、障害情報収集Cモジュール135Yは、情報処理装置1300Y(クライアントSW1325)のログ情報(Cl−Log1327A)を要求し(Step152)、取得する(Step154)。そして、障害情報収集Cモジュール135Yは、取得したCl−Log1327Aを、情報処理装置1300Xの障害情報収集モジュール135Xに送信する。情報処理装置1300Xの障害情報収集モジュール135Xは、C−Log127AX、I−Log182AXとともに、情報処理装置1300YのCl−Log1327Aを取得することになる。C−Log127AX、I−Log182AX、印刷依頼を行った情報処理装置1300YのCl−Log1327Aを解析することによって、障害の原因、対策等を検討することになる。
第4以降の実施の形態は、外部機器として記憶領域190を対象とし、印刷装置180による処理データであるプリントデータを障害情報として取得するものである。
第4の実施の形態を説明する前に、その前提となる技術について、図25〜図28の例を用いて説明する。なお、この説明は、本実施の形態の理解を容易にすることを目的とするものである。
情報処理装置2500は、下層から順に、物理マシン2505、OS2510を有し、OS2510上にプリントコントローラモジュール2525、障害情報収集モジュール2535を有している。プリントコントローラモジュール2525は、出力制御モジュール2530、ジョブ制御モジュール2532を含んでおり、C−Log2527Aを記憶している。印刷装置2580は、I−Log2582Aを記憶している。記憶領域2590は、プリントデータ2594を記憶している。
情報処理装置2500は、印刷装置2580に印刷処理を行わせる運用をしており、その運用中に障害発生2610したとする。なお、そのときに、ジョブ制御モジュール2532が対象としているデータは、PrintDataA2594Aであるとする。
障害発生2610を検知すると、OS2510上の障害情報収集モジュール2535に対して障害情報収集指示2674が行われる。障害情報収集モジュール2535は、プリントコントローラモジュール2525に対して、障害情報収集指示2674の指示を行い、プリントコントローラモジュール2525内部とOS2510のそのときの状態(I−Log)、出力制御モジュール2530が取得した印刷装置2580のそのときの状態(C−Log)、を取得する(I−Log,C−Log2678)。そして、障害情報収集モジュール2535は、それらを記憶領域2590にC−Log2527B、I−Log2582Cとして記憶させる。その後、障害のリカバリ処理2650が行われ、運用再開2660となる。この場合、ジョブ制御モジュール2532が対象とするデータは、PrintDataA2594B(障害発生2610時のPrintDataA2594A)である。そして、その運用が終了した場合(PrintDataA2594Bの印刷終了した場合)、ジョブA削除2640されることとなる。そして、次のPrintDataB2698がジョブ制御モジュール2532の処理対象となる。
なお、この後、印刷装置2580の運用が終了した後に、C−Log2527B、I−Log2582Cを解析することによって、障害の原因、対策等を検討することになる。しかし、その時点では、PrintDataA2594A(PrintDataA2594B)は削除されており、障害情報として収集できない(その検討時点では、PrintDataA2594Aとは異なるPrintDataB2698)。なお、ログを収集した後に、そのログの解析を行わずに、リカバリ処理2650、運用再開2660を行うのは、印刷装置2580での印刷処理を続けるためである。特に、印刷装置2580が高速プリンタである場合は、ダウン期間(印刷できない期間)を短くする要請がある。
図27の例に示すように、物理マシン2705上にホストOS2710と仮想化SW2715による仮想ハードウェアを構築し、その上にゲストOS2720をインストールし、さらにゲストOS2720上に応用プログラム(アプリケーション)であるプリントコントローラモジュール2725をインストールする。
仮想化SW2715は、物理マシン2705上に、複数のゲストOS2720の並列的な同居を可能にするソフトウェアである。つまり、仮想化SW2715は、CPU、メモリ、HDD等のハードウェアをソフトウェア的に構築し、ゲストOS2720が依って立つハードウェアリソースを仮想マシンとして用意するものである。
プリントコントローラモジュール2725として、例えば、プリンタ制御プログラム(具体例として、デジタルフロントエンド等)がある。この場合、仮想マシンはそれぞれが隔離されており、いずれかに障害(例えば、クラッシュ等)が発生しても、他の仮想マシン上でのプリンタ制御プログラムはそのまま稼働しており、印刷することができる。
障害発生2810を検知すると、ユーザの操作に応じて、SS管理モジュール2717に対してスナップショット採取指示2822が行われる。SS管理モジュール2717は、そのときのゲストOS2720とプリントコントローラモジュール2725における状態A:2840Aをスナップショット2792として、記憶領域2790に記憶させる。なお、その時点でジョブ制御モジュール2732では、共有記憶領域2796内のPrintDataA2794Aを対象として印刷処理が行われている。しかし、SS管理モジュール2717のスナップショットは、情報処理装置2700内部の状態を取得するものであるので、外部装置である共有記憶領域2796のPrintDataA2794Aは、スナップショットの対象ではない。
その後、障害のリカバリ処理2850が行われ、運用再開2860となる。この場合、ジョブ制御モジュール2732が対象とするデータは、PrintDataA2794B(障害発生2810時のPrintDataA2794A)である。そして、その運用が終了した場合(PrintDataA2794Bの印刷終了した場合)、ジョブA削除2840されることとなる。そして、次のPrintDataB2898がジョブ制御モジュール2732の処理対象となる。
しかし、スナップショットを用いて障害発生時の状態を再現させようとしたとき、記憶領域2790(共有記憶領域2796)に配置したデータが変化してしまって、再現できない障害のケースが存在する。例えば、印刷データを記憶領域2790(共有記憶領域2796)に記憶させていた場合、前述のように、発生した障害をリカバリして、印刷処理を終了させた後に、障害発生時の状態を再現させるためのスナップショットを用いると、障害発生時の印刷データは含まれておらず、障害発生時の状態の再現が困難となる。
障害発生時の状態の再現のためには、印刷処理時に必要なデータで印刷処理後に削除される又は変化してしまうデータに関して保存しておく必要がある。
情報処理装置1800は、下層から順に、物理マシン105、ホストOS110、仮想化SW115、ゲストOS120を有し、ゲストOS120上にプリントコントローラモジュール125、障害情報収集モジュール135、SS制御モジュール140を有している。仮想化SW115は、SS管理モジュール117を含み、プリントコントローラモジュール125は、出力制御モジュール130、ジョブ制御モジュール1832を含み、C−Log127A、I−Log182Bを記憶している。印刷装置180は、I−Log182Aを記憶している。記憶領域190は、共有記憶領域1896、スナップショット192を記憶しており、共有記憶領域1896は、プリントデータ1894を記憶している。
プリントコントローラモジュール125をゲストOS120上で動作させ、その仮想計算機システムのスナップショット機能を用いて障害情報の収集を行う場合、前述したように、障害発生と障害情報の取得のタイミングが大きく異なる。このため、スナップショットの対象外である記憶領域190にあるプリントデータ1894やリソースデータ等は、障害情報の取得時には障害発生時のデータを保持していない場合があり得る。そこで、従来の障害情報収集の機能を、SS制御モジュール140と障害情報収集モジュール135に分けて、SS制御モジュール140により、障害発生時に処理を行っているジョブに関するデータ(例えば、プリントデータ1894)をスナップショット採取前に削除されないようにした。
これにより、障害発生の直後にスナップショットを作成すれば、時間の要する障害情報の収集を行うことなく、障害のリカバリ処理後に本来の印刷処理を直ちに再開できる。そして、印刷業務が終了した後など好きなタイミングで、スナップショットを再現することで、障害発生直後の障害情報(プリントコントローラモジュール125、印刷装置180だけでなく、ジョブ関連の情報であるプリントデータ1894)を取得できる。
つまり、印刷装置180のユーザは、障害発生に伴う障害情報の収集を行わなくてよくなる。その結果、印刷装置180の稼働率を上げることができることとなる。
情報処理装置1800又は印刷装置180で障害が発生すると、スナップショット採取指示にしたがいSS制御モジュール140は、プリントコントローラモジュール125に処理中のジョブ情報の収集を依頼し、それとともにプリントコントローラモジュール125に対してプリントデータの保持を指示する。プリントコントローラモジュール125はジョブ制御モジュール1832を通して現在処理中のプリントデータ1894のファイル名を入手し、そのプリントデータファイル名(例えば、ここではPrintDataAとする)にリンクを張るファイル(ここではPrintDataA.lnkとする)を共有記憶領域1896に作成する。
作成終了後、プリントコントローラモジュール125はSS制御モジュール140に、データ保持が終了した旨を返信する。SS制御モジュール140は、SS管理モジュール117にゲストOS120のスナップショットの作成を指示する。
次に、ユーザの処理を優先させるため発生した障害をリカバリし、所定の印刷処理が終了したとき、前述のプリントデータファイル名のPrintDataAは削除されることになる。しかし、リンクしているファイルがあるため実体は削除されていない。
障害情報収集のためSS管理モジュール117へスナップショット再現指示をすると、スナップショット取得時の内部状態に戻されるとともに、プリントデータの名称(PrintDataA.lnk)を元に戻す処理(プリントデータ名称の復元)を実行することで、削除されたプリントデータを復元する。
障害情報収集の指示がされると障害情報収集モジュール135は、ジョブ制御モジュール1832から処理中のプリントデータ名を得て共有記憶領域1896からプリントデータ1894を収集し、それとともにプリントコントローラモジュール125内のC−Log127Aと印刷装置180のログ情報であるI−Log182Bを収集し、障害情報として取りだす。
これにより障害発生時のプリントデータ1894まで含めて状態が復元され、プリントデータ1894に起因する障害の情報収集が可能になる。
前述のリンクファイルの作成は、リンク情報を含んでいるだけであり、実体のコピーは行われないため処理時間及びディスクスペースともにほとんど必要ない。
情報処理装置1800は、印刷装置180に印刷処理を行わせる運用をしており、その運用中に障害発生1910したとする。
障害発生1910を検知すると、ユーザの操作に応じて、ゲストOS120上のSS制御モジュール140に対して、スナップショット採取指示1922を行う。なお、プリントコントローラモジュール125内のステータスを監視する事により、自動的に採取指示を出すことも可能である。SS制御モジュール140は、ジョブ制御モジュール1832に対して、Get PrintData File name1924の指示を行う。ジョブ制御モジュール1832は、プリントコントローラモジュール125の制御にしたがって、共有記憶領域1896内のPrintDataA1894Aのファイル名(PrintDataA)を取得する。
ジョブ制御モジュール1832は、SS制御モジュール140にファイル名である”PrintDataA”1930を返す。SS制御モジュール140は、”PrintDataA”1930にリンクを張るファイル(ここではPrintDataA1894Aにlink to PrintDataA1926を張るPrintDataA.lnk1928A)を共有記憶領域1896に作成する。
そして、SS制御モジュール140は、処理が終了したことを示すDone1932をSS管理モジュール117に返す。SS管理モジュール117は、ゲストOS120とプリントコントローラモジュール125の状態A:1940Aをスナップショット192として、記憶領域190に記憶させる。その後、障害の復旧であるリカバリ処理1950が行われ、運用再開1960となる。この運用では、PrintDataA1894Bの印刷処理が終了する。ジョブ制御モジュール1832は、PrintDataA1894B(PrintDataA1894A)に対して、ジョブA削除1940する。したがって、PrintDataA1894Bは削除されるが、PrintDataA.lnk1928Aがあるので、PrintDataA1894Bの実体は削除されていないこととなる。なお、次の印刷処理で、PrintDataB1998(PrintDataA1894Bとは異なる)が対象データになっているとする。
障害情報収集指示1974にしたがい、障害情報収集モジュール135はプリントコントローラモジュール125へのGetData1976の指示によって、ジョブ制御モジュール1832から、共有記憶領域1896内の”PrintDataA”1978(PrintDataA1894C)を取得する。そして、障害情報収集モジュール135はプリントコントローラモジュール125へのGet_Log1980の指示によって、出力制御モジュール130から、I−Log1982、C−Log1984を取得する。そして、記憶領域190内に、C−Log127B(C−Log1984)、I−Log182C(I−Log1982)、PrintDataA1894D(PrintDataA1894C)を記憶させる。C−Log127B、I−Log182C、PrintDataA1894Dを解析することによって、障害の原因、対策等を検討することになる。特に、障害発生時のプリントデータまで含めて状態が復元され、プリントデータに起因する障害の情報収集が可能になる。なお、ログを収集した後に、そのログの解析を行わずに、リカバリ処理1950、運用再開1960を行うのは、印刷装置180での印刷処理を続けるためである。特に、印刷装置180が高速プリンタである場合は、ダウン期間(印刷できない期間)を短くする要請がある。
ステップS2002では、SS制御モジュール140は、スナップショット採取指示1922を受信する。
ステップS2004では、SS制御モジュール140は、処理中の印刷データ名を入手したか否かを判断し、入手した場合はステップS2006へ進み、それ以外の場合はステップS2008へ進む。
ステップS2006では、SS制御モジュール140は、入手印刷データ名に“lnk”というサフィックスを付加したファイルとハードリンクを設定する。
ステップS2008では、SS制御モジュール140は、印刷データ名にNULLを設定する。
ステップS2010では、SS制御モジュール140は、SS管理モジュール117へ印刷データ名を通知する。
ステップS2102では、SS管理モジュール117は、スナップショット再現指示1970を受信する。
ステップS2104では、SS管理モジュール117は、印刷データ名がNULLであるか否かを判断し、印刷データ名がNULLである場合は処理を終了(ステップS2199)し、それ以外の場合はステップS2106へ進む。
ステップS2106では、SS管理モジュール117は、「印刷データ名.lnk」というファイルがあるか否かを判断し、ある場合はステップS2108へ進み、それ以外の場合は処理を終了する(ステップS2199)。
ステップS2108では、SS管理モジュール117は、印刷データ名へファイル名を変更(具体的には、「.lnk」を削除)する。
図22は、第5の実施の形態による処理例を示す説明図である。なお、モジュール構成例は、第4の実施の形態の構成例(図18に示す例)と同等である。
C−Log127A、I−Log182Bの収集処理については、第1の実施の形態である情報処理装置100の処理と同等である。
情報処理装置1800又は印刷装置180で障害が発生すると、スナップショット採取指示にしたがいSS制御モジュール140は、プリントコントローラモジュール125に処理中のジョブ情報の収集を依頼する。プリントコントローラモジュール125はジョブ制御モジュール1832を通して現在処理中のプリントデータ1894のファイル名を入手し、SS制御モジュール140に渡す。SS制御モジュール140は、SS管理モジュール117に、現在処理中のプリントデータ1894のファイル名を渡し、プリントデータ1894を含めたスナップショット処理を行うように指示する。SS管理モジュール117は、現在処理中のプリントデータ1894を含めたスナップショットを作成する。
次に、ユーザの処理を優先させるため発生した障害をリカバリし、所定の印刷処理が終了する。印刷処理が終了することによって、共有記憶領域1896からプリントデータ1894は削除される。
障害情報収集のためSS管理モジュール117へスナップショット再現指示をすると、スナップショット取得時の内部状態に戻されるとともに、プリントデータ1894を元に戻す処理を実行し、削除されたプリントデータ1894を共有記憶領域1896内に復元する。
障害情報収集の指示がされると障害情報収集モジュール135は、ジョブ制御モジュール1832から処理中のプリントデータ名を得て共有記憶領域1896からプリントデータ1894を収集し、それとともにプリントコントローラモジュール125内のC−Log127Aと印刷装置180のログ情報であるI−Log182Bを収集し、障害情報として取りだす。
これにより障害発生時のプリントデータ1894まで含めて状態が復元され、プリントデータ1894に起因する障害の情報収集が可能になる。
情報処理装置1800は、印刷装置180に印刷処理を行わせる運用をしており、その運用中に障害発生2210したとする。
障害発生2210を検知すると、ゲストOS120上のSS制御モジュール140に対して、ユーザの操作に応じて、スナップショット採取指示2222を行う。なお、プリントコントローラモジュール125内のステータスを監視する事により、自動的に採取指示を出すことも可能である。SS制御モジュール140は、ジョブ制御モジュール1832に対して、Get PrintData File name2224の指示を行う。ジョブ制御モジュール1832は、プリントコントローラモジュール125の制御にしたがって、共有記憶領域1896内のPrintDataA2228Aのファイル名(PrintDataA)を取得する。
ジョブ制御モジュール1832は、SS制御モジュール140にファイル名である”PrintDataA”2226を返す。SS制御モジュール140は、SS管理モジュール117に、”PrintDataA”2226をスナップショット対象ファイルとして通知する。SS管理モジュール117は、状態A:2240AとしてゲストOS120、プリントコントローラモジュール125のスナップショット192を、指定されたプリントデータ(”PrintDataA”2226の実体データ)も含んで生成し、記憶領域190に記憶させる。その後、障害の復旧であるリカバリ処理2250が行われ、運用再開2260となる。この運用では、PrintDataA2228Bの印刷処理が終了する。ジョブ制御モジュール1832は、PrintDataA2228B(PrintDataA2228A)に対して、ジョブA削除2242する。したがって、PrintDataA2228Bは共有記憶領域1896から削除される。なお、次の印刷処理で、PrintDataB2298(PrintDataA2228Bとは異なる)が対象データになっているとする。
障害情報収集指示2274にしたがい、障害情報収集モジュール135はプリントコントローラモジュール125へのGetData2276の指示によって、ジョブ制御モジュール1832から、共有記憶領域1896内の”PrintDataA”2278(PrintDataA2228C)を取得する。そして、障害情報収集モジュール135はプリントコントローラモジュール125へのGet_Log2280の指示によって、出力制御モジュール130から、I−Log2282、C−Log2284を取得する。そして、記憶領域190内に、C−Log127B、I−Log182C、PrintDataA1894D(PrintDataA2228C)を記憶させる。C−Log127B、I−Log182C、PrintDataA1894Dを解析することによって、障害の原因、対策等を検討することになる。特に、障害発生時のプリントデータまで含めて状態が復元され、プリントデータに起因する障害の情報収集が可能になる。なお、ログを収集した後に、そのログの解析を行わずに、リカバリ処理2250、運用再開2260を行うのは、印刷装置180での印刷処理を続けるためである。特に、印刷装置180が高速プリンタである場合は、ダウン期間(印刷できない期間)を短くする要請がある。
ステップS2302では、SS制御モジュール140は、スナップショット採取指示2222を受信する。
ステップS2304では、SS制御モジュール140は、処理中の印刷データ名を入手したか否かを判断し、入手した場合はステップS2306へ進み、それ以外の場合はステップS2308へ進む。
ステップS2306では、SS制御モジュール140は、SS管理モジュール117へスナップショット対象ファイルとして印刷データ名を通知する。
ステップS2308では、SS制御モジュール140は、印刷データ名にNULLを設定する。
ステップS2402では、SS管理モジュール117は、スナップショット再現指示2270を受信する。
ステップS2404では、SS管理モジュール117は、印刷データ名がNULLであるか否かを判断し、印刷データ名がNULLである場合は処理を終了し(ステップS2499)、それ以外の場合はステップS2406へ進む。
ステップS2406では、SS管理モジュール117は、印刷データを共有記憶領域1896へ格納する。
「プログラムを記録したコンピュータ読み取り可能な記録媒体」とは、プログラムのインストール、実行、プログラムの流通等のために用いられる、プログラムが記録されたコンピュータで読み取り可能な記録媒体をいう。
なお、記録媒体としては、例えば、デジタル・バーサタイル・ディスク(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)、インターネット、イントラネット、エクストラネット等に用いられる有線ネットワーク、又は無線通信ネットワーク、さらにこれらの組み合わせ等の伝送媒体を用いて伝送させてもよく、また、搬送波に乗せて搬送させてもよい。
さらに、前記のプログラムは、他のプログラムの一部分であってもよく、又は別個のプログラムと共に記録媒体に記録されていてもよい。また、複数の記録媒体に分割して記録されていてもよい。また、圧縮や暗号化等、復元可能であればどのような態様で記録されていてもよい。
105…物理マシン
110…ホストOS
115…仮想化SW
117…SS管理モジュール
120…ゲストOS
125…プリントコントローラモジュール
127…C−Log
130…出力制御モジュール
135…障害情報収集モジュール
140…SS制御モジュール
180…印刷装置
182…I−Log
190…記憶領域
192…スナップショット
Claims (6)
- 応用プログラムがインストールされているゲストOSを搭載する仮想計算機の外部に設けられた外部装置に係るイベントを取得するための制御を行う外部イベント取得制御部と、
外部イベント取得制御部により取得した外部イベントを保存する外部イベント保存部と、
外部イベント保存部に外部イベントが保存されてから、応用プログラムを含むゲストOSのスナップショットを作成するスナップショット作成部、
を備え、
前記応用プログラムは、前記外部装置である印刷装置の制御用プログラムであり、
前記外部イベント保存部が保存する外部イベントとして、前記印刷装置におけるプリントデータに起因する障害を含み、
前記スナップショット作成部によってゲストOSのスナップショットを作成された後に、前記印刷装置による印刷の再開を行い、該印刷が終了した後に、前記外部イベントと前記スナップショットによる復元を行う、
仮想計算機システム。 - 外部イベント保存部を当該仮想計算機の内部に有する、
請求項1に記載の仮想計算機システム。 - 外部イベント保存部を前記外部装置の内部に有する、
請求項1又は2に記載の仮想計算機システム。 - 外部イベント保存部が、当該仮想計算機とは異なる第2の仮想計算機のスナップショットとして第2の仮想計算機を搭載するコンピュータ内部の保存手段である、
請求項1から3のいずれか一項に記載の仮想計算機システム。 - 外部イベント保存部でイベント保存が終わった旨の通知を受け付ける受付手段
をさらに備え、
スナップショット作成部は、受付手段が通知を受け付けた後に、スナップショットを作成する
請求項1から4のいずれか一項に記載の仮想計算機システム。 - コンピュータを、
応用プログラムがインストールされているゲストOSを搭載する仮想計算機の外部に設けられた外部装置に係るイベントを取得するための制御を行う外部イベント取得制御部と、
外部イベント取得制御部により取得した外部イベントを保存する外部イベント保存部と、
外部イベント保存部に外部イベントが保存されてから、応用プログラムを含むゲストOSのスナップショットを作成するスナップショット作成部、
として機能させ、
前記応用プログラムは、前記外部装置である印刷装置の制御用プログラムであり、
前記外部イベント保存部が保存する外部イベントとして、前記印刷装置におけるプリントデータに起因する障害を含み、
前記スナップショット作成部によってゲストOSのスナップショットを作成された後に、前記印刷装置による印刷の再開を行い、該印刷が終了した後に、前記外部イベントと前記スナップショットによる復元を行う、
仮想計算機プログラム。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015168955A JP6610094B2 (ja) | 2015-08-28 | 2015-08-28 | 仮想計算機システム及び仮想計算機プログラム |
US15/003,215 US9870249B2 (en) | 2015-08-28 | 2016-01-21 | Virtual computer system, method, and non-transitory computer readable medium |
CN201610124518.5A CN106484561B (zh) | 2015-08-28 | 2016-03-04 | 虚拟计算机系统和外部设备控制方法 |
EP16159402.3A EP3136240B1 (en) | 2015-08-28 | 2016-03-09 | Virtual computer system, method and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015168955A JP6610094B2 (ja) | 2015-08-28 | 2015-08-28 | 仮想計算機システム及び仮想計算機プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017045371A JP2017045371A (ja) | 2017-03-02 |
JP6610094B2 true JP6610094B2 (ja) | 2019-11-27 |
Family
ID=55696882
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015168955A Active JP6610094B2 (ja) | 2015-08-28 | 2015-08-28 | 仮想計算機システム及び仮想計算機プログラム |
Country Status (4)
Country | Link |
---|---|
US (1) | US9870249B2 (ja) |
EP (1) | EP3136240B1 (ja) |
JP (1) | JP6610094B2 (ja) |
CN (1) | CN106484561B (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7179589B2 (ja) | 2018-11-21 | 2022-11-29 | 東芝テック株式会社 | 画像形成装置及びログ情報取得システム |
CN112583611A (zh) * | 2019-09-27 | 2021-03-30 | 北京金山云网络技术有限公司 | 一种获取故障信息的方法、装置、电子设备及介质 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003316522A (ja) * | 2002-04-26 | 2003-11-07 | Hitachi Ltd | 計算機システムおよび計算機システムの制御方法 |
JP4600447B2 (ja) * | 2007-08-30 | 2010-12-15 | ブラザー工業株式会社 | ログ収集システム、及びコンピュータ装置 |
WO2009133669A1 (ja) * | 2008-04-28 | 2009-11-05 | パナソニック株式会社 | 仮想計算機制御装置、仮想計算機制御方法及び仮想計算機制御プログラム |
JP5176837B2 (ja) * | 2008-09-30 | 2013-04-03 | 富士通株式会社 | 情報処理システム及びその管理方法、制御プログラム並びに記録媒体 |
CN101520743B (zh) * | 2009-04-17 | 2010-12-08 | 杭州华三通信技术有限公司 | 基于写时拷贝的数据存储方法及设备 |
US8671405B2 (en) * | 2010-03-31 | 2014-03-11 | Microsoft Corporation | Virtual machine crash file generation techniques |
JP5772962B2 (ja) * | 2011-08-29 | 2015-09-02 | 富士通株式会社 | 情報処理装置、メモリダンプ採取方法、及びプログラム |
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 | 計算機の障害再現方式 |
JP2014059733A (ja) * | 2012-09-18 | 2014-04-03 | Ricoh Co Ltd | 情報処理システム、画像処理装置 |
US10318495B2 (en) * | 2012-09-24 | 2019-06-11 | Sandisk Technologies Llc | Snapshots for a non-volatile device |
JP2014106788A (ja) * | 2012-11-28 | 2014-06-09 | Konica Minolta Inc | 画像形成装置および画像形成装置制御方法 |
JP5713138B1 (ja) | 2014-09-12 | 2015-05-07 | 富士ゼロックス株式会社 | 仮想計算機システム、プリンタ制御システム、仮想計算機プログラム及びプリンタ制御プログラム |
-
2015
- 2015-08-28 JP JP2015168955A patent/JP6610094B2/ja active Active
-
2016
- 2016-01-21 US US15/003,215 patent/US9870249B2/en active Active
- 2016-03-04 CN CN201610124518.5A patent/CN106484561B/zh active Active
- 2016-03-09 EP EP16159402.3A patent/EP3136240B1/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2017045371A (ja) | 2017-03-02 |
CN106484561B (zh) | 2020-07-31 |
CN106484561A (zh) | 2017-03-08 |
EP3136240B1 (en) | 2021-01-20 |
EP3136240A1 (en) | 2017-03-01 |
US9870249B2 (en) | 2018-01-16 |
US20170060614A1 (en) | 2017-03-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8797335B2 (en) | Platform agnostic screen capture tool | |
CN105988857B (zh) | 打印机控制系统及方法和非瞬时计算机可读介质 | |
CN105045663A (zh) | 快速部署虚拟机的方法与系统 | |
US20110067088A1 (en) | Image processing device, information processing method, and recording medium | |
JP6610094B2 (ja) | 仮想計算機システム及び仮想計算機プログラム | |
CN111158957B (zh) | 一种虚拟机文件恢复方法、系统、装置及存储介质 | |
JP4259588B2 (ja) | 情報処理システム及び情報処理プログラム | |
JP2012238142A (ja) | 画像処理システム、画像処理装置およびプログラム | |
JP6641831B2 (ja) | 画像処理装置、画像処理プログラム及び画像処理システム | |
JP5381059B2 (ja) | 機器、ログ記録制御方法、及びプログラム | |
CN114328014A (zh) | 一种数据备份方法、装置、系统及可读存储介质 | |
JP2021101319A (ja) | 情報処理装置及び情報処理プログラム | |
JP2009223577A (ja) | ユーザインタフェースエミュレート装置及びユーザインタフェースエミュレートプログラム | |
JP2017138863A (ja) | 情報処理装置及び情報処理プログラム | |
US20110010649A1 (en) | Information processing apparatus, information processing method, and program | |
JP2016503916A (ja) | 印刷処理時間を取得する方法及び印刷機能を有する電子装置 | |
CN104424006A (zh) | 装置及控制方法 | |
JP2019193041A (ja) | 情報処理装置、情報処理プログラム及び情報処理システム | |
EP3136241A1 (en) | Virtual computer system, virtual computer program and method for virtual computer system | |
JP5842437B2 (ja) | 情報処理装置及び情報処理プログラム | |
JP7040246B2 (ja) | 情報処理装置及び情報処理プログラム | |
JP2008225519A (ja) | 静的解析システム、サーバ、静的解析方法及びプログラム | |
JP2012178654A (ja) | 画像処理装置、画像処理システム、及び画像処理プログラム | |
CN115509685A (zh) | 一种快速批量创建云主机的方法、装置、服务器及介质 | |
CN114387676A (zh) | 基于windows生物识别框架的外部数据采集方法和终端设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180622 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20190220 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190312 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190417 |
|
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: 20191001 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20191014 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6610094 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 |