JP2012173969A - デバイス制御システム及びプログラム - Google Patents

デバイス制御システム及びプログラム Download PDF

Info

Publication number
JP2012173969A
JP2012173969A JP2011034979A JP2011034979A JP2012173969A JP 2012173969 A JP2012173969 A JP 2012173969A JP 2011034979 A JP2011034979 A JP 2011034979A JP 2011034979 A JP2011034979 A JP 2011034979A JP 2012173969 A JP2012173969 A JP 2012173969A
Authority
JP
Japan
Prior art keywords
operating system
abnormality
image
management
request
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.)
Withdrawn
Application number
JP2011034979A
Other languages
English (en)
Inventor
Taketoshi Yamashita
武利 山下
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 JP2011034979A priority Critical patent/JP2012173969A/ja
Publication of JP2012173969A publication Critical patent/JP2012173969A/ja
Withdrawn legal-status Critical Current

Links

Abstract

【課題】ハードウェア・デバイスを使用中のOSに異常が発生しても、該異常が発生したOSが使用していたハードウェア・デバイスを該異常が発生したOSとは別の管理OSが使用できるようにする。
【解決手段】複数のOSの中の予め定められた1つのOS(第2OS32)を管理OSとし、該管理OSに、管理OS以外の他のOS(第1OS31)からハードウェア・デバイスを使用するための依頼を受け付ける受付手段と、該依頼を受け付ける前は管理OSのみが該ハードウェア・デバイスを使用し、該依頼を受け付けた後は管理OS及び該依頼を出した他のOSが該ハードウェア・デバイスを共有して使用可能なように処理する処理手段とを設け、該他のOSに、該ハードウェア・デバイスを使用する場合に管理OSにハードウェア・デバイスを使用するための依頼をする依頼手段を設けた。
【選択図】図12

Description

本発明は、デバイス制御システム及びプログラムに関する。
特許文献1には、複数個の作動プログラムがローディングされた一つのシステムで,前記プログラムが保存されたそれぞれのアドレス位置情報をリマッピングを通じて変更して,作動しようとするプログラムにアクセスしてシステムを作動させるシステム作動制御装置が開示されている。
特許文献2には、複数の仮想マシンを具備する情報処理装置において、特定の仮想マシンと前記特定の仮想マシンが利用するハードウェアとを関連付ける関連付け手段と、特定の仮想マシンが利用するハードウェアのエラーを検出するエラー検出手段と、エラーが検出された場合、そのハードウェアに関連付けられた仮想マシンの動作を停止させる動作停止手段と、を備えた情報処理装置が開示されている。
特許文献3には、ホストからの通信内容を監視コントローラが変換してUIに表示し、通信異常の場合には、監視コントローラがエラー画面を表示する技術が開示されている。
特許文献4には、現場機器とリモートステーションを介して接続された中央処理装置と、中央処理装置により制御され現場機器の管理状態を表示するCRT装置とを有する監視制御装置を主系、従系の2組設け、各々の中央処理装置は内部に、現場機器の状態を収集し保持管理する処理プロセス手段と、CRT装置に表示を行う表示プロセス手段とを備え、主系の中央処理装置の処理プロセス手段を、主系及び従系の中央処理装置の表示プロセス手段を支配する構成とし、更に、監視卓に主系と従系の切換手段とを設けることにより、異常を検出した場合に主系・従系を切換えて動作させる技術が開示されている。
特許文献5には、オペレータがRTモニタ画面と汎用OS操作画面とを切換えることができる設定手段を制御部に具備し、RTモニタ画面が選択された際には制御部と操作部間の通信制御を汎用OSからリアルタイムOSに移し且つ、操作部側の通信制御用CPUも利用してRTモニタ画面に表示する制御データの転送を行い、更に操作部側のCPUにより画面表示手段に出力する表示データをRTモニタ側に切替えるリアルタイムOS制御装置が開示されている。
特開2008−016030号公報 特開2007−323142号公報 特開平10−333942号公報 特開平10−028308号公報 特開2003−114804号公報
本発明は、ハードウェア・デバイスを使用中のOSに異常が発生しても、該異常が発生したOSが使用していたハードウェア・デバイスを該異常が発生したOSとは別の管理OSが使用できるデバイス制御システム及びプログラムを得ることを目的とする。
請求項1の発明のデバイス制御システムは、ハードウェア・デバイスを異なる複数のオペレーティング・システムに割り当てるハイパーバイザ上で動作する前記複数のオペレーティング・システムを備えたデバイス制御システムであって、前記複数のオペレーティング・システムの中の予め定められた1つのオペレーティング・システムを管理オペレーティング・システムとし、該管理オペレーティング・システムに、前記管理オペレーティング・システム以外の他のオペレーティング・システムから前記ハードウェア・デバイスを使用するための依頼を受け付ける受付手段と、前記受付手段で前記依頼を受け付ける前は、前記管理オペレーティング・システムのみが前記ハードウェア・デバイスを使用し、前記受付手段で前記依頼を受け付けた後は、前記管理オペレーティング・システム及び前記依頼を出した他のオペレーティング・システムが前記ハードウェア・デバイスを共有して使用可能なように処理する処理手段と、を設け、前記他のオペレーティング・システムに、前記ハードウェア・デバイスを使用する場合に、前記管理オペレーティング・システムに前記ハードウェア・デバイスを使用するための依頼をする依頼手段を設けたものである。
請求項2の発明は、請求項1に記載のデバイス制御システムにおいて、前記管理オペレーティング・システムの処理手段は、前記使用の依頼がされたハードウェア・デバイスがデータ入力機能及び画像表示機能を有するユーザ・インタフェース・デバイスを含む場合において、前記受付手段で前記依頼を受け付ける前は、前記データ入力機能により前記ユーザ・インタフェース・デバイスから入力されたデータを管理オペレーティング・システム自身が使用すると共に、前記画像表示機能により前記ユーザ・インタフェース・デバイスが画像を表示するときに画像データが読み出される記憶領域が、前記管理オペレーティング・システムが表示用の画像データを格納するために使用する記憶領域に切替えられた状態が維持されるように処理し、前記受付手段で前記依頼を受け付けた後は、前記データ入力機能により前記ユーザ・インタフェース・デバイスから入力されたデータを前記他のオペレーティング・システムに受け渡し、前記画像表示機能により前記ユーザ・インタフェース・デバイスが画像を表示するときに画像データが読み出される記憶領域を、前記他のオペレーティング・システムが表示用の画像データを格納するために使用する記憶領域に切替える処理を行うものである。
請求項3の発明は、請求項2に記載のデバイス制御システムにおいて、前記管理オペレーティング・システムに、前記受付手段による依頼受付後に前記他のオペレーティング・システムが前記ユーザ・インタフェース・デバイスの使用中に前記他のオペレーティング・システムの異常を検知した場合に、前記処理手段の処理を停止し、前記異常を検知したときに前記他のオペレーティング・システムが使用する記憶領域に記憶されている画像データを予め定められた異常処理用の記憶領域に複写し、該複写した画像データが示す画像上に前記発生した異常に関する情報を表した異常報知画像を重ねて合成した合成画像を示す画像データを生成して前記異常処理用の記憶領域に記憶し、前記画像表示機能により前記ユーザ・インタフェース・デバイスに画像を表示させるときに画像データが読み出される記憶領域を、前記異常処理用の記憶領域に切替えることにより前記合成画像を前記ユーザ・インタフェース・デバイスに表示させるようにし、更に、前記データ入力機能により前記ユーザ・インタフェース・デバイスから入力されたデータを前記他のオペレーティング・システムが使用不能で且つ前記管理オペレーティング・システムが使用可能なように処理する異常発生時処理手段を更に設けたものである。
請求項4の発明は、請求項3に記載のデバイス制御システムにおいて、前記管理オペレーティング・システムの前記異常発生時処理手段は、前記異常報知画像に、デバイス制御システムが動作する装置を再起動させる第1のモード、デバイス制御システムが動作する装置の電源を切断する第2のモード、前記異常が発生した他のオペレーティング・システムを再起動させる第3のモード、及び前記複数のオペレーティング・システムのうち前記異常が発生した他のオペレーティング・システムを除くオペレーティング・システムのみを動作させる第4のモードの少なくとも2つを前記ユーザ・インタフェース・デバイスを介してユーザに選択させるためのモード選択画面の画像が含まれるように前記合成画像を示す画像データを生成して前記エラー用の記憶領域に記憶することにより、前記ユーザ・インタフェース・デバイスに前記合成画像を表示させるようにしたものである。
請求項5の発明は、請求項4に記載のデバイス制御システムにおいて、前記管理オペレーティング・システムの前記異常発生時処理手段は、前記第4のモードがユーザにより選択された場合には、前記異常が発生した他のオペレーティング・システムにより使用されていたハードウェア・デバイスを前記他のオペレーティング・システムから解放し、前記異常が発生した他のオペレーティング・システムを再起動又は前記異常が発生した他のオペレーティング・システムの動作を停止するものである。
請求項6の発明は、ハードウェア・デバイスを異なる複数のオペレーティング・システムに割り当てるハイパーバイザ上で動作する前記複数のオペレーティング・システムの中の予め定められた1つのオペレーティング・システムを管理オペレーティング・システムとしたときの前記管理オペレーティング・システムのプログラムであって、コンピュータを、前記管理オペレーティング・システム以外の他のオペレーティング・システムから前記ハードウェア・デバイスを使用するための依頼を受け付ける受付手段、及び前記受付手段で前記依頼を受け付ける前は、前記管理オペレーティング・システムのみが前記ハードウェア・デバイスを使用し、前記受付手段で前記依頼を受け付けた後は、前記管理オペレーティング・システム及び前記依頼を出した他のオペレーティング・システムが前記ハードウェア・デバイスを共有して使用可能なように処理する処理手段、として機能させるためのプログラムである。
請求項1に記載の発明によれば、ハードウェア・デバイスを使用中のOSに異常が発生しても、該異常が発生したOSが使用していたハードウェア・デバイスを該異常が発生したOSとは別の管理OSが使用できる。
請求項2に記載の発明によれば、本構成を有しない場合に比べて容易に、異常が発生した場合でも管理OSがユーザ・インタフェース・デバイスを使用することができる。
請求項3に記載の発明によれば、異常発生時に利用者に異常の発生を報知でき、異常が発生したOSが暴走しても表示画像が書換えられることがない。
請求項4に記載の発明によれば、異常が発生した際に実行する処理内容を利用者が選択でき、異常発生時の影響度を小さくすることができる。
請求項5に記載の発明によれば、異常発生時に異常が発生したOSから該OSが使用中のハードウェア・デバイスを切り離すだけでなく、異常が発生しているOSを再起動又は停止させることにより、より信頼性の高い動作環境が得られる。
請求項6に記載の発明によれば、ハードウェア・デバイスを使用中のOSに異常が発生しても、該異常が発生したOSが使用していたハードウェア・デバイスを該異常が発生したOSとは別の管理OSが使用できる。
実施の形態に係る画像形成装置のハードウェア構成を示す図である。 実施の形態に係る画像形成装置のソフトウェア構成を示す図である。 実施の形態に係る画像形成装置で実現されるデバイス制御システムの全体構成を示す図である。 初期状態における制御状態を示す図である。 第2OSで実行されるハードウェア・デバイス制御の処理ルーチンの流れを示すフローチャートである。 第1OSと第2OSとが共有してUIデバイス18を使用可能に処理された状態を示す図である。 第2OSにより行われる障害復帰処理の処理ルーチンの流れを示すフローチャートである。 第1OSに異常が発生した場合の処理状態を示す図である。 スナップショットの画像にエラー情報ウィンドウの画像が重ねられた合成画像の表示例を示す図である。 「標準機能のみ使用」モードが利用者により選択された場合の状態図を示す図である。 第2OSのメニュー画面の表示例を示す図である。 デバイス制御システムの動作の流れの具体例を模式的に示した図である。
以下、図面を参照して本発明の実施の形態の一例を詳細に説明する。図1には本実施の形態に係る画像形成装置10が示されている。画像形成装置10には、画像形成装置10の各部の動作を制御する装置制御部12、セットされた読取対象の文書(紙原稿)を光学的に読み取って読取画像データを出力する画像読取部(スキャナ・デバイス)14、及び入力された画像データが表す画像を記録用紙上に形成する画像形成部(プリンタ・デバイス)16、が設けられている。また、画像形成装置10には、画像表示機能及びデータ入力機能を有するタッチパネルディスプレイ(以下、タッチパネル)18Aと、データ入力機能を有する操作キー18Bとが設けられた操作パネル(以下、UI(User Interface)デバイス)18が設けられている。UIデバイス18は、画像形成装置10に1つ設けられており、後述する複数のオペレーティング・システム(OS)はこの1つのUIデバイス18により様々なメニュー画面等を表示したり、利用者からの入力を受け付けたりする。
また、更に画像形成装置10には、PC(Personal Computer)等の情報処理装置とネットワークケーブル及びコンピュータネットワーク(図示省略)経由で情報の送受信を行うためのネットワーク・デバイス20、及び記憶手段としてのHDD(Hard Disk Drive)22が設けられている。装置制御部12、スキャナ・デバイス14、プリンタ・デバイス16、UIデバイス18、ネットワーク・デバイス20、及びHDD22は、バス24を介して互いに接続されている。
装置制御部12はマイクロコンピュータ等から成り、CPU12A、メモリ12B、フラッシュメモリ等から成る不揮発性の記憶部12Cが設けられている。CPU12Aは、シングルコアCPUであってもよいし、マルチコアCPUであってもよい。記憶部12Cには、少なくとも、画像形成装置10の利用者に対して画像形成装置10の第1の機能を提供する処理を行う第1アプリケーションのプログラムと、第1アプリケーションのプログラムを実行するためのプラットフォームとして機能する第1オペレーティング・システム(第1OS)のプログラムが各々記憶されている。また、更に、記憶部12Cには、画像形成装置10の利用者に対して画像形成装置10の第2の機能を提供する処理を行う第2アプリケーションのプログラムと、第2アプリケーションのプログラムを実行するためのプラットフォームとして機能する第2オペレーティング・システム(第2OS)のプログラムが各々記憶されている。
本実施の形態では、第2OS32側の第1アプリケーション33で、プリント機能やスキャン機能、標準的な表示機能等、画像形成装置10の標準的な機能(標準機能)を提供し、第1OS側の第2アプリケーション34で、画像形成装置10の追加的なサービス、及び該サービスの表示機能等、追加機能を提供するものとする。
また、本実施の形態において、第2OS32が、管理オペレーティング・システムに相当し、CPU12Aが第2OSのプログラムを実行することで本発明に係る受付手段、処理手段の一例として機能する。CPU12Aが第1OSのプログラムを実行することで本発明に係る依頼手段の一例として機能する。
なお、本実施の形態では、第1OS及び第2OSの2つのOSが記憶部12Cに記憶されている場合を例に挙げて説明するが、記憶部12Cに、第1OS及び第2OSの他に、別のOSが記憶されていてもよい。
また、装置制御部12の記憶部12Cには、複数のOS間でのハードウェア資源の調停機能を提供するハイパーバイザのプログラムが記憶されている。
図2に、本画像形成装置10のソフトウェア構成を示す。また、図3に、本画像形成装置10で実現されるデバイス制御システムの全体構成を示す。
ハイパーバイザ30は、前述したように、複数のOS間でのハードウェア資源の調停を行って、ハードウェア資源を異なる複数のオペレーティング・システム(OS)に割り当て、ハイパーバイザ上で複数のOSが動作する。これにより、図2に示すように、第1仮想マシンを第1OS上で第1アプリケーションが動作するように構築し、第2仮想マシンを第2OS上で第2アプリケーションが動作するように構築する。
なお、ハイパーバイザ30が各OSに割り当てるハードウェア資源には、各OS自身が動作するために必要な第1ハードウェア資源(例えば、CPU12A、メモリ12B、及び記憶部12C)と、各OS上で動作する第1アプリケーションや第2アプリケーションがその機能を提供するために必要とされるハードウェア資源のうち、第1ハードウェア資源を除く第2ハードウェア資源(例えば、UIデバイス18、HDD22、ネットワーク・デバイス20、スキャナ・デバイス14、プリンタ・デバイス16)とがある。
そして、本実施の形態では、上記第1ハードウェア資源については、ハイパーバイザ30の機能により、各OSが独立に動作可能に割り当てるが、第2ハードウェア資源については、実質的にはハイパーバイザ30が常に第2OS32に割り当てるように、第1OS31及び第2OS32が動作する。これにより、第1OS31及び第2OS32の両方が動作している状態で、第2OS32が全ての第2ハードウェア資源を制御することになる。ここで第1OS31が第1アプリケーション33の機能を提供するために第2ハードウェア資源を使用する必要が生じた場合には、第1OS31は直接ハイパーバイザ30に対して第2ハードウェア資源の割り当て要求を出すのではなく、第2OS32に対して第2ハードウェア資源の使用依頼を出す。依頼を受けた第2OS32は、該依頼のあった第2ハードウェア資源がハイパーバイザ30により自身に割り当てられた状態のまま、第1OS31が第2ハードウェア資源を使用可能なように処理する。すなわち、第1OS31及び第2OS32が、第1OS31から該使用依頼のあった第2ハードウェア資源を共有して使用可能なように処理する。
これにより、図3に示すように、第2ハードウェア資源は、実質的には第2OS32により割り当てられ制御された状態で、なお且つ第1OS31にも仮想的に割り当てられる。なお、以下では、第2ハードウェア資源を、ハードウェア・デバイスと呼称する。
次に、本実施の形態に係る画像形成装置10のハードウェア・デバイス制御についての作用について説明する。ここでは、第1OS31及び第2OS32が共有するハードウェア・デバイスとして、UIデバイス18を例に挙げて説明する。
第1OS31及び第2OS32は、OS間通信機能により互いに通信可能に構成されている。第1OS31及び第2OS32には、OS機能の一部として、OS間通信機能を実行するためのOS間通信モジュールが設けられている。OS間通信モジュールにより実現されるOS間通信機能には、一般的に知られている様々な技術を採用することができる。本実施の形態においては、OS間通信は、送信元(送信側)のOSからのデータパケットを送信先(受信側)のOSの受信バッファにコピーすることによって情報の受け渡しを行うものとするが、これに限らない。例えば、各OS間で共有するメモリ領域を介して情報の受け渡しを行うものであってもよい。
図4に示すように、UIデバイス18のタッチパネル18Aに対する利用者のタッチパネル操作及び操作キー18Bに対するキー操作により生成された信号をシリアル入力するIOポート58は第2OS32が制御すると共に、UIデバイス18との間で該IOポート58を介したシリアル通信制御を行うシリアル通信制御部56も第2OS32が制御する。すなわち、ハイパーバイザ30により、UIデバイス18は、第2OS32に対して割り当てられている状態となっている。
また、UIデバイス18のタッチパネル18Aに表示する画像の画像データを記憶するための記憶手段としてのVRAM(Video RAM)は、第1OS31及び第2OS32の各々が固有に所有する。VRAMの各々は、メモリ12Bの予め定められた領域に確保されているものとする。
図4においては、VRAM50は第2OS32が使用するVRAMであり、VRAM52は第1OS31が使用するVRAMである。なお、VRAM50、52の動作モード(1画素あたりのビット数)は、OS毎に異なっていてもよい。本実施の形態では、第2OS32が使用するVRAM50の動作モードを「8ビット/画素」とし、第1OS31が使用するVRAM52の動作モードを「16ビット/画素」としている。また、VRAM50及びVRAM52のサイズは特に限定されない。図4に示す例では、VRAM50を512kBのサイズとし、VRAM52を1MBのサイズとしている。第2OS32は、CPU12Aを介して、或いはCPU12Aを介さずDMA(Direct Memory Access)転送により、第2OS32の描画データ(画像データ)をVRAM50に格納する。第1OS31は、CPU12Aを介して、或いはCPU12Aを介さずDMA転送により、第1OS31の描画データ(画像データ)をVRAM52に格納する。
グラフィック・コントローラ54は、各OSが正常に動作している場合には、DMA転送により、VRAM50又はVRAM52のいずれか一方から画像データ読み出して、UIデバイス18に出力する。これにより、UIデバイス18のタッチパネル18AにDMA転送された画像データが示す画像が表示される。
画像形成装置10の電源投入時等の初期状態においては、UIデバイス18は第2OS32が単独で使用する。具体的には、図4に示すように、第2OS32が使用するVRAM50に記憶されている画像データが読み出されて、UIデバイス18のタッチパネル18Aに表示されるように、グラフィック・コントローラ54のVRAMモードが切替えられた状態とされている。より具体的には、VRAM50の先頭アドレスをm番地とし、VRAM52の先頭アドレスをn番地とすると、グラフィック・コントローラ54が画像データを読み出す領域の開始アドレスが、m番地に設定された状態とされ、且つ動作モードが、「8ビット/画素」に設定された状態とされている。
なお、第1OS31は、VRAM52に画像データを格納してもよいが、その画像データの画像はUIデバイス18には表示されない。
この初期状態において、第2OS32により図5に示す処理ルーチンが開始される。図5は、第2OS32で実行されるハードウェア・デバイス制御の処理ルーチンの流れを示すフローチャートである。
ステップ100では、OS間通信により他のOS(ここでは、第1OS31)からハードウェア・デバイス(ここでは、UIデバイス18)の使用依頼を受けたか否かを判断する。ここで肯定判断した場合には、ステップ102に進み、依頼のあったUIデバイス18を第1OS31で使用可能な状態に切替える処理を行う。
図6に示すように、第1OS31が使用するVRAM52に記憶されている画像データが読み出されて、UIデバイス18のタッチパネル18Aに表示されるように、第2OS32が、グラフィック・コントローラ54のVRAMモードを切替える。より具体的には、グラフィック・コントローラ54が画像データを読み出す領域の開始アドレスとして、VRAM52の先頭アドレスn番地を設定し、且つ動作モードを、「16ビット/画素」に設定する。これにより、第1OS31の画像データの画像がUIデバイス18のタッチパネル18Aに表示される。
また、前述したように、シリアル通信制御部56及びI/Oポート58は、第2OS32の制御下にあるため、UIデバイス18のタッチパネル18A及び操作キー18Bに対する操作により入力された入力データは第2OS32に入力される。第2OS32は、タッチパネル18A及び操作キー18Bにより入力されたデータをOS間通信を通じて第1OS31に通知する(パネルプロキシ(Panel Proxy)ともいう。図3も参照。)。
上述した処理により、表面上は第1OS31がUIデバイス18を占有するが、実質的には、ハイパーバイザ30によるUIデバイス18の割り当ては第2OS32のままで第2OS32の制御下にあるため、UIデバイス18を第1OS31及び第2OS32の双方が共有し使用可能な状態となる(図12(1)も参照。)。
次に、ステップ100で、否定判断した場合には、ステップ104で、UIデバイス18を使用中の第1OS31の異常を検出したか否かを判断する。ステップ104で否定判断した場合には、ステップ100に戻り、ステップ104で肯定判断した場合には(図8(1)、(2)、及び図12(2)も参照。)、ステップ106に進み、上記第1OS31及び第2OS32がUIデバイス18を共有して使用可能とする処理に代えて、障害復帰処理を行う。
ここで、第2OS32が検出するOSの異常は、ハングアップでもよいし、OSの暴走であってもよいし、OSの異常終了であってもよいし、これらの全てを検出するものであってもよい。なお、ハングアップとは、動作していたソフトウェア(OS)が停止し、コンピュータが操作を受け付けなくなる状態をいう。この状態になると、OSが制御不能となって、復帰するには、物理的な電源切断やリセット操作が必要となる場合が多い。OSの暴走も同様である。ステップ104で検出される異常は、ハードウェア・デバイスを使用中のOSが制御不能となった状態であればよい。
また、異常の検出方法であるが、例えば、第1OS31と第2OS32との間で、定期的にOS間通信を介した通信(例えば、第2OS32からProve信号或いはPing信号を送って、第1OS31からAck信号を返す等)を行い、第1OS31からの通信が途絶えた(タイムアウトした)ことをもって第1OS31に異常が発生したことを検出してもよい(図8(2)も参照。)。また、第1OS31が使用する信号線を流れるクロック信号等をモニタして異常を検出する等の方法もある。
次に、ステップ106の障害復帰処理について詳細に説明する。図7は、第2OS32により行われる障害復帰処理の処理ルーチンの流れを示すフローチャートである。
ステップ200で、スナップショットをコピーする。ここで、スナップショットとは、異常が検出されたときに第1OS31が使用するVRAM52に格納され表示に用いられている画像データをいう。第2OS32は、図8に示すように、このスナップショットを、予め定められたエラー情報領域であるVRAM60に格納(コピー)する(図8(3)も参照。)。
ステップ202では、コピーしたスナップショットを使用し、スナップショットの画像上にエラー情報ウィンドウを重ねた合成画像の画像データを生成してエラー用のVRAM60に出力する(図8(4)も参照。)。
ステップ204では、エラー用のVRAM60に記憶されている画像データが読み出されて、UIデバイス18のタッチパネル18Aに表示されるように、第2OS32が、グラフィック・コントローラ54のVRAMモードを切替える(図8(5)も参照。)。より具体的には、グラフィック・コントローラ54が画像データを読み出す領域の開始アドレスとして、VRAM60の先頭アドレスを設定する。ここで動作モードは、第1OS31のVRAM52と同じであれば切替える必要はないが、異なる場合には、動作モードも切替える。これにより、スナップショットの画像上にエラー情報ウィンドウが重ねられた合成画像がタッチパネル18Aに表示される。なお、ここで、第1OS31で使用しているVRAM52ではなく、それとは別の領域(VRAM60)を使用して合成画像を表示するのは、異常発生中の第1OS31のDMA機能が動作していた場合に、合成画像が消去される可能性があるためである(図8(1)’も参照。)。なお、第1OS31のVRAM52への画像データの転送を停止できるのであれば、VRAM52をそのまま使用してもよい。
ステップ204の処理により、UIデバイス18に異常発生時に表示されていた画像上にエラー情報ウィンドウが重畳されて表示される(図12(3)も参照。)。なお、エラー情報ウィンドウには、エラーの発生を示すエラー情報(例えば第1OS31に異常が発生したことを示すエラーコード)を示す画像が含まれていてもよいし、エラー情報と共に、異常状態から復帰する処理内容を規定する復帰モードを利用者に選択させるためのモード選択画面の画像が含まれるようにしてもよい。
図9に、スナップショットの画像上にエラー情報ウィンドウが重ねられた合成画像70の表示例を示す。図示されるように、合成画像70は、第1OS31のスナップショット画面72と、エラー情報画面74と、モード選択画面76の各画像により構成されている。なお、図示されるモード選択画面76には、「電源OFF」モード、「再起動」モード、「APLのみ再起動」モード、及び「標準機能のみ使用」モード、の各々のボタンが選択可能に表示されている。なお、ここでは、4つのモードを選択可能に構成したが、これら4つのモードのうち少なくとも2つを選択可能に構成してもよい。
このように、UIデバイス18を使用する第1OS31に異常が発生しても、第2OS32がUIデバイス18を使用可能なため、UIデバイス18以外の表示装置を設けなくても、エラーが報知される。また、特別な表示切替装置も不要である。
ステップ206では、パネルプロキシによる第1OS31への入力データの通知を停止し、UIデバイス18のタッチパネル18A及び操作キー18Bに対する操作により入力された入力データを第1OS31が使用不能で、且つ第2OS32自身が取得して処理可能なように入力処理を切替える(図8(6)も参照。)。
ステップ208では、利用者により上記4つのモードのいずれかが選択されたか否かを判断する。いずれかが選択されたと判断した場合には、ステップ210に進み、該選択されたモードを実行する(図12(4)も参照。)。
なお、「電源OFF」モードが利用者により選択された場合には、第2OS32は、画像形成装置10の電源をOFFする処理を実行する。例えば、第2OS32は、UIデバイス18に「電源を切ってください [取り消し]」の画面を表示して、利用者が電源スイッチを切ると、シャットダウンプロセスを起動する。また、利用者が[取り消し]を押した場合には、エラー情報ウィンドウに戻るようにする。
また、「再起動」モードが利用者により選択された場合には、第2OS32は、画像形成装置10を再起動させる処理を実行する。すなわち、第2OS32は、ハイパーバイザ30を含め第1OS31及び第2OS32のリブート(再起動)プロセスを起動して画像形成装置10を再起動させる。再起動により初期状態に戻る。
また、「APLのみ再起動」モードが利用者により選択された場合には、第2OS32は、第1OS31上で動作する第1アプリケーション33を再起動させる処理を実行する。より具体的には、ハイパーバイザ30経由で第1OS31のみリブートさせ、再度異常発生前に第1OS31が使用していたハードウェア・デバイス(ここではUIデバイス18)の制御を第1OS31に戻す。これにより第1アプリケーション33が再起動された状態となる。
また、「標準機能のみ使用」モードが利用者により選択された場合には、第2OS32は、異常が発生した第1OS31を除くOS(ここでは第2OS32単独)で動作するように処理する。より具体的には、第1OS31をそのままの状態、或いは第1OS31のみサスペンド(停止)或いはリセット(再起動)した状態にして、異常発生前に第1OS31が使用していたハードウェア・デバイス(ここではUIデバイス18)を第2OS32の制御に戻す。また、第2OS32は、第1OS31の第1アプリケーション33が動作しないよう、第1アプリケーション33への処理の遷移を禁止する。
図10は、「標準機能のみ使用」モードが利用者により選択された場合の状態図を示す。図10に示すように、第2OS32は、第1OS31を停止或いはリセットし、UIデバイス18の制御が自身に戻るよう、グラフィック・コントローラ54が画像データを読み出す領域の開始アドレスとして、VRAM50の先頭アドレスm番地を設定し、且つ動作モードを、8ビット/画素に設定する。この状態で、第2OS32が第2OS32のメニュー画面の画像データをVRAM50に出力することで、第2OS32のメニュー画面の画像がUIデバイス18のタッチパネル18Aに表示される。また、パネルプロキシによるOS間通信での第1OS31への入力データの通知を停止し、UIデバイス18から入力された入力データは自身が使用可能にする。
なお、このとき、第1OS31の第1アプリケーション33が動作しないよう、第1アプリケーション33への処理の遷移を禁止するため、図11に示すように、第2OS32のメニュー画面80の、第1アプリケーション33の項目ボタン81のエリアに第1アプリケーション33が故障中である旨を表示すると共に、該表示をグレーアウトさせた状態で第1アプリケーション33を利用者が選択できないように表示してもよい。また、更に、図11に示すように、メニュー画面80に「APLのみ再起動」モードのボタン82を追加表示してもよい。すなわち、利用者が、上記ステップ208で「標準機能のみ使用」モードを選択して復帰処理させた後に、更に「APLのみ再起動」モードの選択を可能にし、利用者がこれを選択した場合に、上記説明したように処理して第1OS31を再起動して、第1アプリケーション33により提供されるサービスの利用が再度可能なように構成してもよい。
ところで、本実施の形態で説明した構成を設けない場合(第1OS31と第2OS32とが共有してUIデバイス18を使用可能に構成しない場合)には、第1OS31がUIデバイス18を使用するときに、第1OS31がハイパーバイザ30に使用依頼を出力してハイパーバイザ30により第1OS31にUIデバイス18が割り当てられることなるが、これにより第1OS31がUIデバイス18を物理的に独占して使用することとなり、第1OS31がハングアップした場合に、UIデバイス18もハングアップしてしまう。利用者は、UIデバイス18から何らの指示も入力できない状態になる。
なお、上記実施の形態では、第1OS31から第2OS32に対して使用を依頼し、第2OS32と共に共有して使用するハードウェア・デバイスを、UIデバイス18とする場合を例に挙げて説明したが、これに限定されるものではない。
例えば、図3に示すように、ネットワーク・デバイス20やHDD22、スキャナ・デバイス14、プリンタ・デバイス16も上記UIデバイス18と同様に、第1OS31から第2OS32に対して使用依頼を出して、第2OS32と共有して使用するように処理してもよい。
例えば、第1OS31がネットワーク・デバイス20を使用する場合について説明する。複数の仮想マシンが動作するシステム上では、物理的に存在するネットワーク・デバイス20(ここで、物理NICと呼称)に対して、仮想的なネットワークがブリッジとして第2OS32に定義される。ブリッジは第2OS32の下で管理される。一方、各仮想マシンには仮想NICが定義されており、通常の仮想システム上では、各仮想NICに対応した仮想ネットワーク・インタフェースがブリッジに関連付けられることにより、物理NICであるネットワーク・デバイス20を直接利用したパケット通信が行われるが、本実施の形態では、第1OS31は自身に定義される仮想NIC及び仮想ネットワーク・インタフェースを使用せず、OS間通信により第2OS32に対して送信すべきパケットを送出する。第2OS32は、第2OS32のブリッジを使用してネットワーク・デバイス20と接続し第1OS31から渡されたパケットを送信する。また、第2OS32は、ネットワーク・デバイス20を介して、第1OS31を宛先とするパケットを受信した場合には、該パケットをOS間通信により第1OS31に渡す。
また、第1OS31がHDD22を使用する場合には、NFS(Network File System)が用いられる。具体的には、第1OS31がOS間通信により第2OS32に使用依頼を出すと、第2OS32は、HDD22を第2OS32で使用するメモリ上の1つのディレクトリとして使用可能なようにマウントし、第1OS31から該HDD22に対して格納するデータをOS間通信により受け取った場合には、該マウントされたHDD22に格納し、HDD22からデータを読み出す要求をOS間通信により第1OS31から受け取った場合には、該マウントされたHDD22からデータを読み出してOS間通信により第1OS31に渡す。
また、スキャナ・デバイス14及びプリンタ・デバイス16も、第2OS32が制御し、第1OS31の第1アプリケーション33が、これらハードウェア・デバイスに対して入出力する必要が生じた場合には、第1OS31からOS間通信により第2OS32に対して入出力依頼し、第2OS32がこれらハードウェア・デバイスを制御して入出力処理させる。そして、第2OS32は、第1OS31に対してその入出力結果を、各OS間で共有するメモリ領域を介して受け渡したり、OSの各々に仮想アドレス空間が設定されている場合には、該入出力結果を格納したファイルを、第1OS31の仮想アドレス空間にマップしたりする等の周知の技術により第1OS31で該ファイルを参照可能にして該ファイルを受け渡す。
このように、第1OS31と第2OS32とが共に使用可能なように処理することで、第1OS31に異常が生じても、第1OS31が使用中のハードウェア・デバイスが他のOSで使用不能になることはない。
また、第1OS31がUIデバイス18以外のハードウェア・デバイスを使用中に、第1OS31に異常が発生した場合には、UIデバイス18は第2OS32が単独で使用している状態であるため、図7に示したステップ200のスナップショットのコピーはせず、現在第2OS32がUIデバイス18に表示中の画像上にそのままエラー表示ウィンドウを重ねた合成画像の画像データを生成し、第2OS32が使用するVRAM50に出力する。この場合には、ステップ204及びステップ206の切替え処理も不要である。第2OS32は、ステップ208、ステップ210の処理を行い、利用者から選択された選択結果に従って動作する。
また、第1OS31及び第2OS32以外の他のOSが存在し、該他のOSがUIデバイス18を使用しており、第1OS31が別のハードウェア・デバイスを使用している最中に、第1OS31に異常が発生した場合には、該他のOSがUIデバイス18に表示している画像上にエラー情報ウィンドウが重ねて表示されるように合成画像の画像データを生成し、エラー用のVRAM60に出力し、ステップ204のようにVRAMを切替え、ステップ206のようにUIデバイス18からの入力情報も該他のOSから第2OS32自身が取得して利用するように切替えるようにしてもよい。
また、上記実施の形態では、第1OS31に異常が発生した場合に、エラー情報ウィンドウを含む合成画像を表示して、異常状態から復帰する処理内容を規定する復帰モードを利用者に選択させて、該選択結果に応じて処理する例について説明したが、これに限定されず、例えば、エラー情報のみをUIデバイス18に表示し、該表示後、利用者に選択させた処理ではなく、画像形成装置10に予め設定されている復帰処理(例えば、上記説明した4つのモードのうちいずれか)を実行するようにしてもよい。
また、上記実施の形態では、デバイス制御システムが適用される例として画像形成装置を例に挙げて説明したが、これに限定されるものではなく、複数のOSが動作する様々な装置に適用可能である。
10 画像形成装置
12 装置制御部
12A CPU
12B メモリ
12C 記憶部
14 スキャナ・デバイス
16 プリンタ・デバイス
18 UIデバイス
18A タッチパネル
18B 操作キー
20 ネットワーク・デバイス
24 バス
30 ハイパーバイザ
31 第1OS
32 第2OS
33 第1アプリケーション
34 第2アプリケーション
54 グラフィック・コントローラ
56 シリアル通信制御部
58 I/Oポート
70 合成画像
72 スナップショット画面
74 エラー情報画面
76 モード選択画面
80 メニュー画面

Claims (6)

  1. ハードウェア・デバイスを異なる複数のオペレーティング・システムに割り当てるハイパーバイザ上で動作する前記複数のオペレーティング・システムを備えたデバイス制御システムであって、
    前記複数のオペレーティング・システムの中の予め定められた1つのオペレーティング・システムを管理オペレーティング・システムとし、該管理オペレーティング・システムに、
    前記管理オペレーティング・システム以外の他のオペレーティング・システムから前記ハードウェア・デバイスを使用するための依頼を受け付ける受付手段と、
    前記受付手段で前記依頼を受け付ける前は、前記管理オペレーティング・システムのみが前記ハードウェア・デバイスを使用し、前記受付手段で前記依頼を受け付けた後は、前記管理オペレーティング・システム及び前記依頼を出した他のオペレーティング・システムが前記ハードウェア・デバイスを共有して使用可能なように処理する処理手段と、を設け、
    前記他のオペレーティング・システムに、
    前記ハードウェア・デバイスを使用する場合に、前記管理オペレーティング・システムに前記ハードウェア・デバイスを使用するための依頼をする依頼手段を設けた
    デバイス制御システム。
  2. 前記管理オペレーティング・システムの処理手段は、前記使用の依頼がされたハードウェア・デバイスがデータ入力機能及び画像表示機能を有するユーザ・インタフェース・デバイスを含む場合において、前記受付手段で前記依頼を受け付ける前は、前記データ入力機能により前記ユーザ・インタフェース・デバイスから入力されたデータを管理オペレーティング・システム自身が使用すると共に、前記画像表示機能により前記ユーザ・インタフェース・デバイスが画像を表示するときに画像データが読み出される記憶領域が、前記管理オペレーティング・システムが表示用の画像データを格納するために使用する記憶領域に切替えられた状態が維持されるように処理し、前記受付手段で前記依頼を受け付けた後は、前記データ入力機能により前記ユーザ・インタフェース・デバイスから入力されたデータを前記他のオペレーティング・システムに受け渡し、前記画像表示機能により前記ユーザ・インタフェース・デバイスが画像を表示するときに画像データが読み出される記憶領域を、前記他のオペレーティング・システムが表示用の画像データを格納するために使用する記憶領域に切替える処理を行う
    請求項1に記載のデバイス制御システム。
  3. 前記管理オペレーティング・システムに、
    前記受付手段による依頼受付後に前記他のオペレーティング・システムが前記ユーザ・インタフェース・デバイスの使用中に前記他のオペレーティング・システムの異常を検知した場合に、前記処理手段の処理を停止し、前記異常を検知したときに前記他のオペレーティング・システムが使用する記憶領域に記憶されている画像データを予め定められた異常処理用の記憶領域に複写し、該複写した画像データが示す画像上に前記発生した異常に関する情報を表した異常報知画像を重ねて合成した合成画像を示す画像データを生成して前記異常処理用の記憶領域に記憶し、前記画像表示機能により前記ユーザ・インタフェース・デバイスに画像を表示させるときに画像データが読み出される記憶領域を、前記異常処理用の記憶領域に切替えることにより前記合成画像を前記ユーザ・インタフェース・デバイスに表示させるようにし、更に、前記データ入力機能により前記ユーザ・インタフェース・デバイスから入力されたデータを前記他のオペレーティング・システムが使用不能で且つ前記管理オペレーティング・システムが使用可能なように処理する異常発生時処理手段
    を更に設けた
    請求項2に記載のデバイス制御システム。
  4. 前記管理オペレーティング・システムの前記異常発生時処理手段は、前記異常報知画像に、デバイス制御システムが動作する装置を再起動させる第1のモード、デバイス制御システムが動作する装置の電源を切断する第2のモード、前記異常が発生した他のオペレーティング・システムを再起動させる第3のモード、及び前記複数のオペレーティング・システムのうち前記異常が発生した他のオペレーティング・システムを除くオペレーティング・システムのみを動作させる第4のモードの少なくとも2つを前記ユーザ・インタフェース・デバイスを介してユーザに選択させるためのモード選択画面の画像が含まれるように前記合成画像を示す画像データを生成して前記エラー用の記憶領域に記憶することにより、前記ユーザ・インタフェース・デバイスに前記合成画像を表示させるようにした
    請求項3に記載のデバイス制御システム。
  5. 前記管理オペレーティング・システムの前記異常発生時処理手段は、前記第4のモードがユーザにより選択された場合には、前記異常が発生した他のオペレーティング・システムにより使用されていたハードウェア・デバイスを前記他のオペレーティング・システムから解放し、前記異常が発生した他のオペレーティング・システムを再起動又は前記異常が発生した他のオペレーティング・システムの動作を停止する
    請求項4に記載のデバイス制御システム。
  6. ハードウェア・デバイスを異なる複数のオペレーティング・システムに割り当てるハイパーバイザ上で動作する前記複数のオペレーティング・システムの中の予め定められた1つのオペレーティング・システムを管理オペレーティング・システムとしたときの前記管理オペレーティング・システムのプログラムであって、
    コンピュータを、
    前記管理オペレーティング・システム以外の他のオペレーティング・システムから前記ハードウェア・デバイスを使用するための依頼を受け付ける受付手段、及び
    前記受付手段で前記依頼を受け付ける前は、前記管理オペレーティング・システムのみが前記ハードウェア・デバイスを使用し、前記受付手段で前記依頼を受け付けた後は、前記管理オペレーティング・システム及び前記依頼を出した他のオペレーティング・システムが前記ハードウェア・デバイスを共有して使用可能なように処理する処理手段、
    として機能させるためのプログラム。
JP2011034979A 2011-02-21 2011-02-21 デバイス制御システム及びプログラム Withdrawn JP2012173969A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011034979A JP2012173969A (ja) 2011-02-21 2011-02-21 デバイス制御システム及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011034979A JP2012173969A (ja) 2011-02-21 2011-02-21 デバイス制御システム及びプログラム

Publications (1)

Publication Number Publication Date
JP2012173969A true JP2012173969A (ja) 2012-09-10

Family

ID=46976828

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011034979A Withdrawn JP2012173969A (ja) 2011-02-21 2011-02-21 デバイス制御システム及びプログラム

Country Status (1)

Country Link
JP (1) JP2012173969A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014215957A (ja) * 2013-04-30 2014-11-17 株式会社リコー 情報処理システム、情報処理装置、起動制御方法及びプログラム
US9699509B2 (en) 2014-04-22 2017-07-04 Olympus Corporation Alternate video processing on backup virtual machine due to detected abnormalities on primary virtual machine

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014215957A (ja) * 2013-04-30 2014-11-17 株式会社リコー 情報処理システム、情報処理装置、起動制御方法及びプログラム
US10162649B2 (en) 2013-04-30 2018-12-25 Ricoh Company, Ltd. Information processing system, information processing apparatus and start up control method
US9699509B2 (en) 2014-04-22 2017-07-04 Olympus Corporation Alternate video processing on backup virtual machine due to detected abnormalities on primary virtual machine

Similar Documents

Publication Publication Date Title
JP5251002B2 (ja) 分散処理プログラム、分散処理方法、分散処理装置、および分散処理システム
JP6604834B2 (ja) 情報処理装置及びその制御方法、プログラム
US20140071476A1 (en) Server system, method for printing system, and storage medium
US9807260B2 (en) Method and device for using cloud print service
JP2006085543A (ja) 仮想計算機システム
KR101636552B1 (ko) 화상형성장치와 연결되는 호스트장치, 서버 및 그 인쇄방법
US20190171443A1 (en) Method of Updating Application and Recording Medium
US8543677B2 (en) Communication control device, method, and computer readable medium allowing an information processing device to be in a power saving mode for an extended period and allowing an application part to continue functioning
JP2011048819A (ja) 情報処理装置、情報処理方法及びコンピュータプログラム
JP2007115039A (ja) 画像処理装置および画像処理装置を遠隔制御するリモートアクセス装置の制御方法
JP6574558B2 (ja) 情報処理装置、情報処理装置の制御方法、及びプログラム
US9167118B2 (en) Device management apparatus and device management method
US10218874B2 (en) Information processing system, information processing apparatus, information processing method, and information processing program
JP5540793B2 (ja) 機能提供装置及びプログラム
JP2009076004A (ja) 印刷システム
JP5401872B2 (ja) 画像形成装置
JP2012173969A (ja) デバイス制御システム及びプログラム
JP5811611B2 (ja) 情報処理装置、情報処理方法、及びプログラム
US20150113320A1 (en) Processing apparatus, process system, and non-transitory computer-readable recording medium
JP5964669B2 (ja) 画像形成装置、画像形成システム、及びその制御方法
US20150095915A1 (en) Information processing apparatus, information processing method, and program
JP2016110343A (ja) 情報処理装置、情報処理装置における情報処理方法、並びにプログラム
JP6260025B2 (ja) 画像形成システム及び機器設定方法
US9207889B2 (en) Information processing apparatus, information processing method, and storage medium
JP5605018B2 (ja) 処理情報管理装置、画像形成装置、及び処理情報管理プログラム

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20140513