(57)【要約】【課題】各認証デバイスに応じた認証プログラムを実行させる環境をそれぞれ実現するような処理に好適な構成が要望されている。【解決手段】画像形成装置は、ホストＯＳと、ホストＯＳ上で実行される制御ファームウェアと、複数の認証方式にそれぞれ対応する複数の認証デバイスと、複数の認証方式にそれぞれ対応する互いに独立した複数の認証プログラムと、複数の認証プログラムの各々を実行するためのホストＯＳとは異なる複数のゲストＯＳと、複数のゲストＯＳの実行を管理するハイパーバイザーと、認証デバイスの各々での認証に必要な認証プログラムの実行に必要なゲストＯＳとの組み合わせを管理する認証管理モジュールとを含む。認証管理モジュールは、複数の認証デバイスのうちいずれかの認証デバイスからの信号に応じて、認証プログラムの実行に必要なゲストＯＳを決定するとともに、対応する認証プログラムの実行前に当該決定したゲストＯＳを起動させる。【選択図】図１
2019200815.tif 000002
【特許請求の範囲】
【請求項１】
画像形成装置であって、
ホストＯＳと、
前記ホストＯＳ上で実行され、前記画像形成装置の主たる制御を司る制御ファームウェアと、
複数の認証方式にそれぞれ対応する複数の認証デバイスと、
前記複数の認証方式にそれぞれ対応する互いに独立した複数の認証プログラムと、
前記複数の認証プログラムの各々を実行するための前記ホストＯＳとは異なる複数のゲストＯＳと、
前記複数のゲストＯＳの実行を管理するハイパーバイザーと、
認証デバイスの各々での認証に必要な認証プログラムの実行に必要なゲストＯＳとの組み合わせを管理する認証管理モジュールとを備え、
前記認証管理モジュールは、前記複数の認証デバイスのうちいずれかの認証デバイスからの信号に応じて、認証プログラムの実行に必要なゲストＯＳを決定するとともに、対応する認証プログラムの実行前に当該決定したゲストＯＳを起動させる、画像形成装置。
【請求項２】
前記制御ファームウェアと前記ハイパーバイザーとを連携させる調停モジュールと、
前記制御ファームウェアが画像処理に利用するメモリー空間と他のゲストＯＳの認証プログラムに利用するメモリー空間とを管理する空きメモリー管理手段と、
二次記憶装置にアクセス可能な退避メモリー管理モジュールとを備え、
前記調停モジュールは、プロセッサーに関連付けられたメインメモリーおよび画像処理ＡＳＩＣに関連付けられた画像メモリーについて、メモリー種別に関連付けて、前記画像メモリーにて管理される画像ブロック単位と同じデータサイズで空きページを管理し、
前記退避メモリー管理モジュールは、決定された認証プログラムの実行に必要なゲストＯＳ以外のゲストＯＳに関連するメモリーを前記二次記憶装置に退避する、請求項１に記載の画像形成装置。
【請求項３】
前記調停モジュールは、前記ゲストＯＳへ切り替えた後に、前記ゲストＯＳから前記ホストＯＳではなく他のゲストＯＳに切り替える場合に、前記ホストＯＳに関するファイルメモリーのデータを二次記憶装置へ順次並列転送する処理、先に実行されたゲストＯＳおよび当該ゲストＯＳで動作するプログラムが利用するシステムメモリーを一時凍結する処理、前記二次記憶装置へ転送されたファイルメモリーに対して一時凍結したシステムメモリーを順次並列転送する処理と、他のゲストＯＳが必要とするシステムメモリーになるまで先のゲストＯＳが転送完了したシステムメモリーから順次確保する処理と、他のゲストＯＳが動作可能なシステムメモリーが確保されたことで切り替えする処理とを連続動作させる、請求項２に記載の画像形成装置。
【請求項４】
異なるＯＳの実行環境を他の装置へマイグレーションすること、および、当該マイグレーションに必要なページアウトされたメモリー領域の読み出すことを、ジョブ実行状態において実施するかを判断する判断手段と、
当該マイグレーション後に初期化設定を行なう設定手段と、
当該初期化設定に必要な初期化手順指示書を送受信する送受信手段とをさらに備える、請求項１〜３のいずれか１項に記載の画像形成装置。
【請求項５】
前記制御ファームウェアが管理実施する連続するジョブのうち、現ユーザーが認証を行なってジョブを開始したときに、他ユーザーが当該現ユーザーと異なる認証方式を要求し、該当の認証方式のゲストＯＳがページアウトされていた場合には、現ユーザーのジョブを優先して実行して他ユーザーは現ユーザーのジョブ完了まで待たせること、および、現ユーザーの認証方式に変更もしくは変更するように警告すること、の一方を実施する、請
求項１〜４のいずれか１項に記載の画像形成装置。
【請求項６】
異なる仮想メモリー空間でプログラム実行が可能な仮想メモリー制御システムと、
異なる割込み情報を扱うことが可能な仮想割込み制御システムと、
異なるプロセッサーを扱う仮想プロセッサー制御システムと、
複数のゲストＯＳの実行環境の起動、一時停止、再開、停止を管理するハイパーバイザーと、
ホストＯＳと前記ハイパーバイザーとを仲介する調停プログラムとを備え、
前記調停プログラムは、ホストＯＳで制御されるジョブ実行において利用される画像メモリー空間の使用量変化を監視し、ゲストＯＳの実行環境において認証プログラムが利用するメモリー空間の使用量変化を監視する、画像形成装置。
【請求項７】
複数の認証方式にそれぞれ対応する複数の認証デバイスを含む画像形成装置で実行されるプログラムであって、前記プログラムは、
ホストＯＳと、
前記ホストＯＳ上で実行され、前記画像形成装置の主たる制御を司る制御ファームウェアと、
前記複数の認証方式にそれぞれ対応する互いに独立した複数の認証プログラムと、
前記複数の認証プログラムの各々を実行するための前記ホストＯＳとは異なる複数のゲストＯＳと、
前記複数のゲストＯＳの実行を管理するハイパーバイザーと、
認証デバイスの各々での認証に必要な認証プログラムの実行に必要なゲストＯＳとの組み合わせを管理する認証管理モジュールとを備え、
前記認証管理モジュールは、前記複数の認証デバイスのうちいずれかの認証デバイスからの信号に応じて、認証プログラムの実行に必要なゲストＯＳを決定するとともに、対応する認証プログラムの実行前に当該決定したゲストＯＳを起動させる、画像形成装置で実行されるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、認証方式によってゲストＯＳを自立して切り替えることが可能な画像形成装置およびそのような画像形成装置で実行されるプログラムに関する。
【背景技術】
【０００２】
近年の情報通信技術の進歩に伴って、コンピューターの仮想化技術が様々な分野に応用されつつある。このような仮想化技術においては、例えば、ハイパーバイザーを利用して、主となるＯＳ（Operating System）（以下では、「ホストＯＳ」とも称する。）に加えて、１または複数の異なるＯＳ（以下では、「ゲストＯＳ」とも称する。）を、共通のハードウェア上で同時実行させることが可能である。
【０００３】
例えば、特開２００１−２５６０６６号公報（特許文献１）は、単一システム内に共存させた複数のオペレーティングシステムを高速に切り替えて使用できる環境を開示する。
【０００４】
また、「IBM PowerVM Virtualization Active Memory Sharing」（非特許文献１）は、複数の論理メモリパーティション（ＬＰＡＲ：Logical PARtition）を一つの共通物理メ
モリー空間としてまとめ、論理メモリパーティション割り当て先としてマルチＯＳ間で共有利用するシステムを開示する。
【０００５】
一般的に、ホストＯＳに加えて、１または複数のゲストＯＳが同時実行される場合には、実行されるＯＳ（特に、ホストＯＳ）の数に比例して、より大きなメモリー空間が必要となる。そのため、多くの仮想化技術においては、ゲストＯＳの実行によってハードウェア的に用意されているシステムメモリーの上限を超える場合に、オーバーコミットメントを許容する仕組みが備えられている。例えば、特開２０１４−１５７４７６号公報（特許文献２）は、仮想マシン間で共有する物理リソースの不足を検出する構成を開示する。
【０００６】
オーバーコミットメントを許容する仕組みの具体例としては、ハードディスクなどの二次記憶装置にメモリー空間として利用されるメモリー領域を確保し、その確保したメモリー領域にシステムメモリーに格納されていた内容を一時的に退避する処理が含まれる。
【０００７】
しかしながら、ハードディスクなどの二次記憶装置は、ＤＲＡＭ（Dynamic Random Access Memory）などのシステムメモリーに比較して応答性が劣るため、例えば、ホストＯＳからゲストＯＳへ切り替えの実行に大きな時間を要する。このような課題は、有限のリソースにおいては解決が難しい。十分に大きなリソースを用意すれば、このような課題が発生する可能性を低減することはできる。
【０００８】
画像形成装置においても、コスト制約上、利用可能なリソースをそれほど大きくすることができない。特に、最新のコンピューティング環境のように処理性能が高いハードウェアではなく、コストメリットのあるハードウェアが採用されることが一般的である。このようなコスト制約の下、画像形成装置では、ジョブをより優先して処理できるようにメモリー構成が設計される。
【０００９】
例えば、特開２０１４−２３８６６５（特許文献３）は、ハードウェア資源を用いて画像形成に係わる処理が装置制御ファームウェアにより行なわれる第１ＯＳ、および、第１ＯＳとは別であって第１ＯＳ上の第２ＯＳ、がそれぞれ動作可能に構成されている画像形成装置を開示する。装置制御ファームウェアは、該装置制御ファームウェアでの処理に伴って予め定められた特定の状態が検出された場合に、第２ＯＳを起動するよう制御すると
ともに、当該第２ＯＳに対するログイン処理を実行するよう制御する。この画像形成装置では、第１ＯＳユーザー名を第２ＯＳユーザー名として用いてログイン手順を簡略化することで、第２ＯＳログイン手順を高速化している。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２００１−２５６０６６号公報
【特許文献２】特開２０１４−１５７４７６号公報
【特許文献３】特開２０１４−２３８６６５号公報
【非特許文献】
【００１１】
【非特許文献１】"IBM PowerVM Virtualization Active Memory Sharing", Second Edition (June 2011), IBM International Technical Support Organization, June 2011
【発明の概要】
【発明が解決しようとする課題】
【００１２】
画像形成装置を複数の認証デバイスに対応させるためには、各認証デバイスに応じた認証プログラムを実行させる環境をそれぞれ実現する必要がある。このような複数の認証プログラムをそれぞれ実行させる。このような処理に好適な構成が要望されている。
【課題を解決するための手段】
【００１３】
本発明のある開示によれば、画像形成装置の認証デバイスに応じたゲストＯＳを判別して、必要なゲストＯＳを起動させる調停プログラムをハイパーバイザーに追加するとともに、認証デバイスが認証操作を通知したタイミングで、調停プログラムがゲストＯＳを先行的に起動することで、ゲストＯＳの切り替え時の時間遅延を削減する。
【００１４】
本発明のある局面に従う画像形成装置は、ホストＯＳと、ホストＯＳ上で実行され、画像形成装置の主たる制御を司る制御ファームウェアと、複数の認証方式にそれぞれ対応する複数の認証デバイスと、複数の認証方式にそれぞれ対応する互いに独立した複数の認証プログラムと、複数の認証プログラムの各々を実行するためのホストＯＳとは異なる複数のゲストＯＳと、複数のゲストＯＳの実行を管理するハイパーバイザーと、認証デバイスの各々での認証に必要な認証プログラムの実行に必要なゲストＯＳとの組み合わせを管理する認証管理モジュールとを含む。認証管理モジュールは、複数の認証デバイスのうちいずれかの認証デバイスからの信号に応じて、認証プログラムの実行に必要なゲストＯＳを決定するとともに、対応する認証プログラムの実行前に当該決定したゲストＯＳを起動させる。
【００１５】
好ましくは、画像形成装置は、制御ファームウェアとハイパーバイザーとを連携させる調停モジュールと、制御ファームウェアが画像処理に利用するメモリー空間と他のゲストＯＳの認証プログラムに利用するメモリー空間とを管理する空きメモリー管理手段と、二次記憶装置にアクセス可能な退避メモリー管理モジュールとを含む。調停モジュールは、プロセッサーに関連付けられたメインメモリーおよび画像処理ＡＳＩＣに関連付けられた画像メモリーについて、メモリー種別に関連付けて、画像メモリーにて管理される画像ブロック単位と同じデータサイズで空きページを管理し、退避メモリー管理モジュールは、決定された認証プログラムの実行に必要なゲストＯＳ以外のゲストＯＳに関連するメモリーを二次記憶装置に退避する。
【００１６】
好ましくは、調停モジュールは、ゲストＯＳへ切り替えた後に、ゲストＯＳからホストＯＳではなく他のゲストＯＳに切り替える場合に、ホストＯＳに関するファイルメモリーのデータを二次記憶装置へ順次並列転送する処理、先に実行されたゲストＯＳおよび当該
ゲストＯＳで動作するプログラムが利用するシステムメモリーを一時凍結する処理、二次記憶装置へ転送されたファイルメモリーに対して一時凍結したシステムメモリーを順次並列転送する処理と、他のゲストＯＳが必要とするシステムメモリーになるまで先のゲストＯＳが転送完了したシステムメモリーから順次確保する処理と、他のゲストＯＳが動作可能なシステムメモリーが確保されたことで切り替えする処理とを連続動作させる。
【００１７】
好ましくは、画像形成装置は、異なるＯＳの実行環境を他の装置へマイグレーションすること、および、当該マイグレーションに必要なページアウトされたメモリー領域の読み出すことを、ジョブ実行状態において実施するかを判断する判断手段と、当該マイグレーション後に初期化設定を行なう設定手段と、当該初期化設定に必要な初期化手順指示書を送受信する送受信手段とをさらに含む。
【００１８】
好ましくは、画像形成装置は、制御ファームウェアが管理実施する連続するジョブのうち、現ユーザーが認証を行なってジョブを開始したときに、他ユーザーが当該現ユーザーと異なる認証方式を要求し、該当の認証方式のゲストＯＳがページアウトされていた場合には、現ユーザーのジョブを優先して実行して他ユーザーは現ユーザーのジョブ完了まで待たせること、および、現ユーザーの認証方式に変更もしくは変更するように警告すること、の一方を実施する。
【００１９】
本発明の別の局面に従う画像形成装置は、異なる仮想メモリー空間でプログラム実行が可能な仮想メモリー制御システムと、異なる割込み情報を扱うことが可能な仮想割込み制御システムと、異なるプロセッサーを扱う仮想プロセッサー制御システムと、複数のゲストＯＳの実行環境の起動、一時停止、再開、停止を管理するハイパーバイザーと、ホストＯＳとハイパーバイザーとを仲介する調停プログラムとを含む。調停プログラムは、ホストＯＳで制御されるジョブ実行において利用される画像メモリー空間の利用量変化を監視し、ゲストＯＳの実行環境において認証プログラムが利用するメモリー空間の利用量変化を監視する。
【００２０】
本発明の別の局面に従えば、複数の認証方式にそれぞれ対応する複数の認証デバイスを含む画像形成装置で実行されるプログラムが提供される。プログラムは、ホストＯＳと、ホストＯＳ上で実行され、画像形成装置の主たる制御を司る制御ファームウェアと、複数の認証方式にそれぞれ対応する互いに独立した複数の認証プログラムと、複数の認証プログラムの各々を実行するためのホストＯＳとは異なる複数のゲストＯＳと、複数のゲストＯＳの実行を管理するハイパーバイザーと、認証デバイスの各々での認証に必要な認証プログラムの実行に必要なゲストＯＳとの組み合わせを管理する認証管理モジュールとを含む。認証管理モジュールは、複数の認証デバイスのうちいずれかの認証デバイスからの信号に応じて、認証プログラムの実行に必要なゲストＯＳを決定するとともに、対応する認証プログラムの実行前に当該決定したゲストＯＳを起動させる。
【発明の効果】
【００２１】
本開示によれば、画像形成装置で複数の認証方式を使い分ける際に認証された認証デバイスの種類によって、認証に必要なゲストＯＳを切り替えることをハイパーバイザーで判断して切り替えることで、認証処理を高速に行なうことができる。
【図面の簡単な説明】
【００２２】
【図１】本実施の形態に従う画像形成装置の全体構成を示す概略断面図である。
【図２】本実施の形態に従う画像形成装置の制御部のハードウェア構成を示すブロック図である。
【図３】本実施の形態に従う画像形成装置の制御部でのプログラムの実行状態の一例を示す模式図である。
【図４】本実施の形態に従う画像形成装置の制御部での認証処理の実行状態の一例を示す模式図である。
【図５】本実施の形態に従う画像形成装置におけるゲストＯＳの追加手順を説明するフローチャートである。
【図６】本実施の形態に従う画像形成装置における認証要求があった場合の処理手順を説明するフローチャートである。
【図７】本実施の形態に従う画像形成装置の制御部におけるブロック分割された画像メモリーの利用形態を説明するための模式図である。
【図８】本実施の形態に従う画像形成装置の制御部におけるブロック分割された画像メモリーの管理方法を説明するための模式図である。
【図９】本実施の形態に従う画像形成装置の制御部における複数のメモリー間でのデータ管理の一例を示す模式図である。
【図１０】本実施の形態に従う画像形成装置の制御部におけるメモリー空間の利用形態の一例を示す図である。
【図１１】本実施の形態に従う画像形成装置でのメモリーマネージングに係る処理手順を示すフローチャートである。
【図１２】本実施の形態に従う画像形成装置での認証処理が必要なジョブに対する処理手順を示すフローチャートである。
【図１３】本実施の形態に従う画像形成装置でのメモリー使用量の監視に係る処理手順を示すフローチャートである。
【図１４】本実施の形態に従う画像形成装置が他の装置と連携した認証処理の実行状態の一例を示す模式図である。
【図１５】本実施の形態に従う画像形成装置でのマイグレーションに係る処理手順を示すフローチャートである。
【図１６】本実施の形態に従う画像形成装置での複数のユーザーに対する認証処理が競合した場合の処理手順を示すフローチャートである。
【発明を実施するための形態】
【００２３】
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰り返さない。
【００２４】
＜Ａ．画像形成装置の全体構成＞
まず、本実施の形態に従う画像形成装置１の全体構成について説明する。
【００２５】
図１は、本実施の形態に従う画像形成装置１の全体構成を示す概略断面図である。図１を参照して、画像形成装置１は、自動原稿送り装置２と、イメージスキャナー３と、プリントエンジン４と、給紙部５と、制御部１００とを含む。
【００２６】
自動原稿送り装置２は、原稿の連続的なスキャンを行なうためのものであり、原稿給紙台２１と、送出ローラー２２と、レジストローラー２３と、搬送ドラム２４と、排紙台２５とを含む。スキャン対象の原稿は、原稿給紙台２１上にセットされ、送出ローラー２２の作動により一枚ずつ送り出される。そして、この送り出された原稿は、レジストローラー２３により一旦停止されて先端が整えられた後に、搬送ドラム２４へ搬送される。さらに、この原稿は、搬送ドラム２４のドラム面と一体に回転し、その過程において後述するイメージスキャナー３により画像面がスキャンされる。その後、原稿は、搬送ドラム２４のドラム面を略半周した位置においてドラム面から分離されて排紙台２５へ排出される。
【００２７】
イメージスキャナー３は、撮像デバイス３３と、原稿台３５とを含む。撮像デバイス３３は、被写体である原稿に対する相対位置を時間的に変化させて、原稿の画像を読み取って画像データを生成する。この画像データを含むデータがジョブとして処理される。撮像
デバイス３３は、主要な構成要素として、原稿に対して光を照射する光源と、光源から照射された光が原稿で反射して生じる画像を取得するイメージセンサーと、イメージセンサーから画像信号を出力するためのＡＤ（Analog to Digital：アナログデジタル）変換器
と、イメージセンサーの前段に配置された結像光学系とを含む。イメージセンサーとしては、典型的には、ＣＣＤ（Coupled Charged Device）イメージセンサーや、密着イメージセンサー（Contact Image Sensor）が用いられる。なお、スキャン対象の原稿は、原稿台３５にセットされることもできる。また、原稿の表面側および裏面側にそれぞれ撮像デバイスを配置することで、両面同時スキャンを実現してもよい。
【００２８】
プリントエンジン４は、一例として、電子写真方式の画像形成プロセスが実行される。具体的には、フルカラーのプリント出力が可能である。具体的には、プリントエンジン４は、それぞれイエロー（Ｙ）、マゼンタ（Ｍ）、シアン（Ｃ）、ブラック（Ｋ）の各色のトナー像を生成するイメージング（作像）ユニット４４Ｙ，４４Ｍ，４４Ｃ，４４Ｋを含む。イメージングユニット４４Ｙ，４４Ｍ，４４Ｃ，４４Ｋは、プリントエンジン４内に張架されて駆動される転写ベルト２７に沿って、その順序に配置される。
【００２９】
イメージングユニット４４Ｙ，４４Ｍ，４４Ｃ，４４Ｋは、それぞれ画像書込部４３Ｙ，４３Ｍ，４３Ｃ，４３Ｋと、感光体ドラム４１Ｙ，４１Ｍ，４１Ｃ，４１Ｋとを含む。画像書込部４３Ｙ，４３Ｍ，４３Ｃ，４３Ｋの各々は、対象のプリントデータに含まれる各色イメージに応じたレーザ光を発するレーザダイオードと、このレーザ光を偏向して対応の感光体ドラム４１Ｙ，４１Ｍ，４１Ｃ，４１Ｋの表面を主走査方向に露光させるポリゴンミラーとを含んでいる。
【００３０】
感光体ドラム４１Ｙ，４１Ｍ，４１Ｃ，４１Ｋの表面には、上述のような画像書込部４３Ｙ，４３Ｍ，４３Ｃ，４３Ｋによる露光によって静電潜像が形成され、この静電潜像がそれぞれ対応するトナーユニット４４１Ｙ，４４１Ｍ，４４１Ｃ，４４１Ｋから供給されるトナー粒子によってトナー像として現像される。
【００３１】
感光体ドラム４１Ｙ，４１Ｍ，４１Ｃ，４１Ｋの表面に現像された各色のトナー像は、転写ベルト２７に順次転送される。さらに、この転写ベルト２７上に重ねられたトナー像は、給紙部５からタイミングを合わせて供給される記録紙にさらに転写される。
【００３２】
この記録紙上に転写されたトナー像は、下流部に配置された定着部において定着された後、トレイ５７に排出される。
【００３３】
上述の感光体ドラム４１Ｙ，４１Ｍ，４１Ｃ，４１Ｋにおける動作と並行して、記録紙を収容する給紙部５の給紙カセットにそれぞれ対応する送出ローラー５２，５３，５４および手差給紙部２６のうち、画像形成に用いられるべき記録紙に対応する部位が作動して記録紙を供給する。この供給された記録紙は、搬送ローラー５５および５６ならびにタイミングローラー５１によって搬送され、感光体ドラム４１上に形成されたトナー像に同期するように、感光体ドラム４１に給紙される。
【００３４】
転写器４５は、感光体ドラム４１に反対極性の電圧を印加することで、感光体ドラム４１上に形成されたトナー像を記録紙に転写する。そして、除電器４６は、トナー像が転写された記録紙を除電することで、記録紙を感光体ドラム４１から分離させる。その後、トナー像が転写された記録紙は定着装置４７へ搬送される。なお、転写器４５としては、図１に示すような転写ベルトを用いた転写方式に代えて、転写チャージャーまたは転写ローラーを用いた転写方式を採用してもよい。あるいは、感光体ドラム４１から記録紙へトナー像を直接転写する直接転写方式に代えて、感光体ドラム４１と記録紙との間に、転写ローラー、転写ベルトといった中間転写体を配置して、２段階以上のプロセスによって転写
を行なうようにしてもよい。
【００３５】
定着装置４７は、加熱ローラー４７１と加圧ローラー４７２とを含む。加熱ローラー４７１は、記録紙を加熱することで、その上に転写されたトナーを溶融するとともに、加熱ローラー４７１と加圧ローラー４７２との間の圧縮力により、溶融したトナーが記録紙上に定着される。そして、記録紙はトレイ５７に排出される。なお、定着装置４７としては、図１に示すような定着ベルトを用いた定着方式に代えて、定着ローラー等用いた定着方式、もしくは非接触の定着方式を採用してもよい。
【００３６】
一方、記録紙が分離された感光体ドラム４１では、その残留電位が除去された後、クリーニング部によって残留トナーが除去および清掃される。そして、次の画像形成処理が実行される。クリーニング部は、一例として、クリーニングブレード、クリーニングブラシ、クリーニングローラー、またはこれらの組み合わせにより、残留トナーを除去および清掃する。あるいは、感光体ドラム４１Ｙ，４１Ｍ，４１Ｃ，４１Ｋを用いて残留トナーを回収するクリーナーレス方式を採用してもよい。
【００３７】
ＩＤＣセンサー４９は、感光体ドラム４１上に形成されるトナー像の濃度を検知する。このＩＤＣセンサー４９は、代表的に反射型フォトセンサからなる光強度センサーであり、感光体ドラム４１の表面からの反射光強度を検知する。
【００３８】
制御部１００は、画像形成装置１における全体の制御を司る。本実施の形態に従う画像形成装置１の制御部１００には、複数のＯＳの同時起動（または、並列起動）を可能にする仮想化環境が実現される。複数のＯＳとしては、最低限実行されるホストＯＳと、要求などに応じて適宜実行されるゲストＯＳとがある。すなわち、ホストＯＳは、退避されない。
【００３９】
仮想化環境を実現するための処理の詳細については、後述する。
＜Ｂ．画像形成装置１の制御部１００のハードウェア構成＞
次に、本実施の形態に従う画像形成装置１の制御部１００のハードウェア構成について説明する。図２は、本実施の形態に従う画像形成装置１の制御部１００のハードウェア構成を示すブロック図である。
【００４０】
図２を参照して、制御部１００は、画像形成装置１の全体を制御する演算処理主体であり、１または複数の演算部を有する。具体的には、制御部１００は、主たる構成要素として、ＣＰＵ（Central Processing Unit）またはＭＰＵ（Micro Processing Unit）などからなるプロセッサー１０２と、ＤＲＡＭなどからなるメインメモリー１１０と、画像処理ＡＳＩＣ（Application Specific Integrated Circuit）１３０，１４０と、画像形成装
置１の各コンポーネントと信号またはデータを遣り取りするインターフェイス回路１０５，１０６，１０７，１０８と、二次記憶装置の一例であるＨＤＤ（Hard Disk Drive）１
５０とを含む。これらの構成要素は、内部バス１０４を介して、互いにデータ通信可能に構成される。
【００４１】
メインメモリー１１０の物理メモリー空間は、システムメモリー１１２と、画像メモリー１１４とに区分されて、それぞれに応じた用途で使用される。システムメモリー１１２は、プロセッサー１０２でプログラムを実行するための各種データを格納するためのワークメモリとして用いられる。画像メモリー１１４は、画像データに対する編集・加工・表示などの処理過程で一時的に作成される画像データのバッファリングに用いられる。例えば、複数の画像データを合成する際の画像バッファ、あるいは、操作パネルなどに画像データの全部または一部をプレビュー表示する際の画像バッファなどとして用いられる。
【００４２】
メインメモリー１１０と内部バス１０４との間には、メモリー制御ＩＣ（Integrated Circuit）１１８が配置されており、プロセッサー１０２などからの要求に応答して、メインメモリー１１０へのデータ書込み、または、メインメモリー１１０からのデータ読出しを行なう。なお、メモリー制御ＩＣ１１８には、圧縮／伸張ＩＣ１２０が接続されており、メインメモリー１１０に書込まれる画像データをブロック単位で圧縮するとともに、メインメモリー１１０から読出される画像データを伸長する。このような圧縮伸長管理によって、メモリー空間の効率的な利用および処理の高速化を実現する。
【００４３】
一例として、図２には、原稿の両面を一度にスキャンできる構成を例示する。すなわち、制御部１００は、原稿の表面側に配置された撮像デバイス（表面側撮像デバイス）が原稿をスキャンすることで読み取られた画像データを処理する画像処理ＡＳＩＣ１３０と、原稿の裏面側に配置された撮像デバイス（裏面側撮像デバイス）が原稿をスキャンすることで読み取られた画像データを処理する画像処理ＡＳＩＣ１４０とを含む。このような構成を採用することで、スキャンニーズの高まりに対して、両面同時スキャンによる生産性改善を実現できる。
【００４４】
なお、画像処理ＡＳＩＣ１３０および１４０に代えて、プロセッサー１０２が画像処理を実行するようにしてもよいが、ジョブをより高速に処理するためには、ＡＳＩＣなどの回路ロジックを採用することが好ましい。
【００４５】
画像処理ＡＳＩＣ１３０は、表面側撮像デバイスからの画像データをサブメモリー１３４に格納する。画像処理ＡＳＩＣ１３０とサブメモリー１３４との間には、メモリー制御ＩＣ１３２が配置されており、サブメモリー１３４へのデータ書込み、および、サブメモリー１３４からのデータ読出しを仲介する。サブメモリー１３４の物理メモリー空間は、表面側撮像デバイスからの画像データを格納するための表面入力画像データバッファ１３６と、画像メモリー１３８とに区分されて、それぞれに応じた用途で使用される。画像メモリー１３８は、画像データに対する編集・加工・表示などの処理過程で一時的に作成される画像データのバッファリングに用いられる。例えば、表面側撮像デバイスからの画像データ（生データ）を指定された画像形式に変換する際の画像バッファ、ＦＡＸを送信する際の画像バッファ、または、外部ネットワークあるいは外部機器へ画像データを出力する際の画像バッファなどとして用いられる。
【００４６】
同様に、画像処理ＡＳＩＣ１４０は、裏面側撮像デバイスからの画像データをサブメモリー１４４に格納する。画像処理ＡＳＩＣ１４０とサブメモリー１４４との間には、メモリー制御ＩＣ１４２が配置されており、サブメモリー１４４へのデータ書込み、および、サブメモリー１４４からのデータ読出しを仲介する。サブメモリー１４４の物理メモリー空間は、裏面側撮像デバイスからの画像データを格納するための裏面入力画像データバッファ１４６と、画像メモリー１４８とに区分されて、それぞれに応じた用途で使用される。
【００４７】
ＨＤＤ１５０には、各種プログラムが不揮発的に格納されている。具体的には、ＨＤＤ１５０は、ハイパーバイザー１５２と、ホストＯＳ１５４と、１または複数のゲストＯＳ１５６と、１または複数のアプリケーション１５８と、制御ファームウェア１６０とを格納している。これらのプログラムは、ＤＶＤ−ＲＯＭ（Digital Versatile Disk Read Only Memory）などの光学記録媒体、磁気記録媒体、半導体記録媒体、光磁気記憶媒体など
の非過渡的（non-transitory）なコンピューター読取可能な記録媒体を媒介としてインストールされてもよい。あるいは、有線通信回線または無線通信回線を介して図示しないサーバー装置などから必要なプログラムがダウンロードされて、制御部１００にインストールされてもよい。これらの各プログラムの詳細および実行タイミングなどについては、後述する。
【００４８】
内部バス１０４には、インターフェイス回路１０５，１０６，１０７，１０８が接続されている。
【００４９】
インターフェイス回路１０５は、ＦＡＸを送受信するＦＡＸ通信部、および／または、ネットワークを介して他の装置との間でデータを遣り取りするネットワーク通信と接続される。プロセッサー１０２からの指令などを受けて、通信部から外部装置への送信処理、および、通信部での外部装置からのデータの受信処理などを仲介する。なお、ゲストＯＳ１５６が提供する機能を外部端末で利用する機能を実装してもよい。
【００５０】
インターフェイス回路１０６は、操作パネル１２３に各種情報を表示する処理、および、操作パネル１２３に対するユーザー操作を受け付ける処理などを仲介する。操作パネル１２３は、ユーザーによるタッチ操作を受け付ける表示操作部であり、典型的には、表示部であるＬＣＤ（Liquid Crystal Display：液晶表示部）と、タッチ操作を受け付けるタッチパネルとを含む。なお、表示部には、ホストＯＳ１５４およびゲストＯＳ１５６の動作状況を可視化する機能を実装してもよい。例えば、表示部上に、空きメモリー空間の量およびプロセッサーの利用時間などをグラフまたは数値で表示するようにしてもよい。すなわち、画像形成装置１は、ゲストＯＳ１５６上の情報を表示する表示部を有していてもよい。
【００５１】
インターフェイス回路１０７は、複数の認証デバイスとのデータの遣り取りを仲介する。認証デバイスとしては、典型的には、カード認証デバイス１２１および指紋認証デバイス１２２を含む。
【００５２】
インターフェイス回路１０８は、プロセッサー１０２とプリントエンジン４との間のデータの遣り取りを仲介する。
【００５３】
図２に示す制御部１００においては、メインメモリー１１０内の画像メモリー１１４と、サブメモリー１３４内の画像メモリー１３８と、サブメモリー１４４内の画像メモリー１４８との、３つの画像メモリーが用意されている。
【００５４】
画像メモリーは、画像形成装置１の本体での画像処理において利用するメモリーである。このような画像メモリーは、画像形成装置１において必須の構成である。図２に示すように、画像メモリーは、メインメモリー１１０上に専用の画像処理領域として確保されてもよいし、画像処理ＡＳＩＣ１３０，１４０ごとに設けられるローカルメモリー（サブメモリー１３４，１４４）上に専用の画像処理領域として確保されてもよい。上述したように、表面用の画像処理ＡＳＩＣ１３０に加えて、裏面の画像処理ＡＳＩＣ１４０にもローカルメモリー（サブメモリー１４４）を配置し、このローカルメモリー上に画像メモリーを設けることで、高速スキャンを実現する。
【００５５】
このように、画像形成装置１のメモリー構成の設計としては、それぞれの目的に応じて専用の領域が確保されることも多い。
【００５６】
また、プリント処理（画像形成装置）において、例えば、画像形成装置１を外部のプリントサーバーと接続する場合にも、図２に示すような画像処理ＡＳＩＣおよびサブメモリー（画像メモリー）を追加することもある。このように、画像形成装置１の機能を拡張する場合にも、より多くの画像メモリーが追加されることもあり、これらの画像メモリーが同時に利用されることでマルチ動作を実現している。
【００５７】
＜Ｃ．画像形成装置１の制御部１００での仮想化環境＞
次に、本実施の形態に従う画像形成装置１の制御部１００での仮想化環境について説明する。図３は、本実施の形態に従う画像形成装置１の制御部１００でのプログラムの実行状態の一例を示す模式図である。
【００５８】
図３には、ホストＯＳ１５４に加えて、３つのゲストＯＳ１５６（ゲストＯＳ１〜ＯＳ３）が同時実行されている状態を示す。図３を参照して、これらの複数のＯＳは、共通のハードウェアリソース（すなわち、プロセッサー１０２およびシステムメモリー１１２）を用いて実行される。図３には、プロセッサー１０２がシステムメモリー１１２にハイパーバイザー１５２を展開して実行することで、複数のＯＳが同時実行されている状態を示す。すなわち、それぞれのＯＳを動作させるためのデータを格納するメモリー空間は、システムメモリー１１２内に用意される。システムメモリー１１２のメモリー空間の利用制御（メモリー領域の割り当てなど）は、ハイパーバイザー１５２によって管理される。
【００５９】
ハイパーバイザー１５２は、プロセッサー１０２およびシステムメモリー１１２を含むリソースを用いて、ホストＯＳ１５４および複数のゲストＯＳ１５６を含む複数のＯＳの同時実行を制御する。ハイパーバイザー１５２は、各ＯＳの実行に必要な仮想化されたプロセッサーリソースの割り当て処理、割込み処理、メモリー制御、デバイスドライバーの提供などを行なう。このような処理を提供することで、複数のゲストＯＳ１５６の切り替え実行を可能にする。ハイパーバイザー１５２は、画像形成装置１および画像形成装置１に接続されたデバイスをゲストＯＳ１５６が利用するための適切な初期化を行なう機能を有している。このような機能によって、ゲストＯＳ１５６に切り替えられた直後であっても、ホストＯＳ１５４と同様の処理を実行することができる。
【００６０】
なお、ハイパーバイザー１５２の機能として、メモリー空間のマネージメントに加えて、電力のマネージメントを行なってもよい。例えば、ハイパーバイザー１５２は、画像形成装置１が省電力モードのときに、ゲストＯＳ１５６の動作を制限する機能を実装してもよい。
【００６１】
ホストＯＳ１５４は、制御部１００において常時実行されているＯＳである。ホストＯＳ１５４上では、制御ファームウェア１６０が実行される。ホストＯＳ１５４としては、Ｌｉｎｕｘ（登録商標）などの仮想メモリー機構をもつＯＳが用いられる。但し、ホストＯＳ１５４としては、汎用的なＯＳではなく、後述するような、調停モジュール１７０による介入制御を受け付けるように、画像形成装置１に独自の機能が拡張されている。
【００６２】
制御ファームウェア１６０は、ホストＯＳ１５４上で実行され、画像形成装置１の主たる制御を司る。より具体的には、制御ファームウェア１６０は、画像形成装置１の主たる処理（本体動作）の制御、画像メモリーを扱う画像処理ＡＳＩＣ１３０，１４０の制御を主体としたジョブの処理、各種のデバイス制御などを担当する。
【００６３】
ゲストＯＳ１５６は、仮想メモリー機能をもつＯＳであれば、ホストＯＳ１５４と同一種類のＯＳであってもよいし、異なる種類のＯＳであってもよい。例えば、ゲストＯＳ１５６としては、ＬｉｎｕｘおよびＷｉｎｄｏｗｓ（登録商標）などを用いることができる。
【００６４】
ゲストＯＳ１５６上では、各種のアプリケーション１５８が実行される。例えば、アプリケーション１５８としては、ユーザー認証を行なうアプリケーションを含み得る。より具体的には、アプリケーション１５８として、カード認証アプリケーション１５８１と、指紋認証アプリケーション１５８２と、ＩＤ認証アプリケーション１５８３とを含む。これらの複数の認証プログラムは、複数の認証方式にそれぞれ対応して互いに独立して配置される。
【００６５】
カード認証アプリケーション１５８１、指紋認証アプリケーション１５８２、および、ＩＤ認証アプリケーション１５８３は、複数の認証プログラムの各々を実行するためのホストＯＳとは異なる複数のゲストＯＳ（ゲストＯＳ１、ゲストＯＳ２、および、ゲストＯＳ３）上でそれぞれ実行される。
【００６６】
さらに、ゲストＯＳ１５６上に画像形成装置１のユーザーごとのデスクトップ環境を実現し、ジョブ内容を管理する機能を実装してもよい。なお、ゲストＯＳ１５６に任意のプログラムを提供するアプリストアーに類似した機構を採用してもよい。
【００６７】
さらに、ハイパーバイザー１５２の機能の一部、または、ハイパーバイザー１５２と連携する独立した機能として、調停モジュール１７０、空きメモリー管理モジュール１７２、認証管理モジュール１７４が実行される。
【００６８】
調停モジュール１７０は、ハイパーバイザー１５２と同一レベルで動作し、制御ファームウェア１６０とハイパーバイザー１５２とを連携させ、同時実行中のゲストＯＳ１５６との間でメモリー空間を調停して利用する。本実施の形態においては、調停モジュール１７０は、処理対象のジョブの動作を考慮して、画像メモリーを効率的に利用することで、ゲストＯＳ１５６の切り替えに対して先行読出し、および、メモリーの内容の退避などを実行する。なお、調停モジュール１７０は、いずれかのゲストＯＳ１５６上のユーザー管理情報を必要に応じて退避前に制御ファームウェア１６０と共有する機能を有していてもよい。
【００６９】
空きメモリー管理モジュール１７２は、システムメモリー１１２のうちホストＯＳ１５４およびホストＯＳ１５４と同時実行されるゲストＯＳ１５６が利用していない空きメモリー空間を管理する。すなわち、空きメモリー管理モジュール１７２は、制御ファームウェア１６０が画像処理に利用するメモリー空間と他のゲストＯＳ１５６の認証プログラム（カード認証アプリケーション１５８１、指紋認証アプリケーション１５８２、ＩＤ認証アプリケーション１５８３）に利用するメモリー空間とを管理する。このとき、空きメモリー管理モジュール１７２は、調停モジュール１７０と連携動作することで、画像メモリー空間を含めた空きメモリー空間を管理する。調停モジュール１７０を管理するためのＡＰＩ（Application Programming Interface)を実装することで、モジュール間の連携性を高めるようにしてもよい。
【００７０】
認証管理モジュール１７４は、認証デバイスとゲストＯＳと関連を管理し、認証デバイスからの通知があると、対応するゲストＯＳを先行起動させてから、制御ファームウェア１６０への通知を行なう。認証管理モジュール１７４は、認証デバイスの各々での認証に必要な認証プログラムの実行に必要なゲストＯＳとの組み合わせを管理する。認証デバイスとしては、カード認証を行なうためにカード情報を読み取るデバイスであるカード認証デバイス１２１と、指紋認証を行なうために指紋を読み取るデバイスである指紋認証デバイス１２２と、ＩＤ認証を行なうためにタッチパネルでＩＤ／パスワードが入力されたことを検知するタッチパネルデバイスである操作パネル１２３とを想定する。このように、画像形成装置１は、複数の認証方式にそれぞれ対応する複数の認証デバイスを有している。
【００７１】
例えば、認証管理モジュール１７４は、認証デバイスの各々での認証に必要な認証プログラムの実行に必要なゲストＯＳとの組み合わせとして、以下のようなテーブルを管理している。
【００７２】
【表１】
2019200815.tif 000003
【００７３】
ホストＯＳ１５４およびゲストＯＳ１５６について、連続するメモリー空間を優先して画像メモリーに退避することが好ましい。
【００７４】
あるゲストＯＳ１５６上のプログラムを他のゲストＯＳ１５６上で実行させるように、マイグレーション処理を適切に行なう機能を実装してもよい。この場合には、あるゲストＯＳ１５６に何らかの不具合が生じても、別のゲストＯＳ１５６がアプリケーションの処理を継続できる。すなわち、調停モジュール１７０は、ゲストＯＳ１５６を外部システムへマイグレーションしたときに退避したデータ内容を移動管理する機能をさらに含む。
【００７５】
さらに、画像形成装置１を管理するサーバー型または常駐型のプログラムが、ゲストＯＳ１５６の構成を管理し、複数の画像形成装置１および画像形成装置群の全体として、最適な構成になるように実行するゲストＯＳ１５６および各ゲストＯＳ１５６上で実行するアプリケーションを選択するようにしてもよい。
【００７６】
ところで、図２に示すように、画像形成装置１の制御部１００には、複数の画像メモリーが用意されている場合が多い。一方で、画像形成装置１において、プリント動作（画像形成動作）のみが連続する場合、または、原稿の片面のみをスキャンする場合などのように、一度にすべての画像メモリーが利用されていない状態も多くある。
【００７７】
また、一般的には、画像メモリーは、ブロック単位で圧縮伸長管理されている。さらに、画像メモリーを単位分割して共用利用することで、複数タスクが物理メモリーを効率よく利用できるような構成も採用されている。
【００７８】
一方で、本実施の形態に従う画像形成装置１のように、複数のゲストＯＳを搭載して多機能化されることもあるが、ゲストＯＳのメモリー消費量が大きくなる場合がある。また、複数のゲストＯＳを稼動させるマルチＯＳの実現が要求されているが、一般的な仮想環境の実現の場合と同様の課題がある。そのため、画像形成装置の限られたリソース内で、複数のＯＳの切り替えについての応答性能に低下させず、マルチＯＳを実現することは容易ではない。
【００７９】
例えば、上述の特許文献１は、単一システム内に共存させた複数のオペレーティングシステムを高速に切り替えて使用できる環境を開示する。この特許文献１に記載の発明では、システムメモリー上にＯＳ管理外の独立したメモリー空間を事前に確保し、ゲストＯＳの動作コンテキストの保存に利用する。但し、このような構成を採用したとしても、独立したメモリー空間をシステムメモリー上に確保することの制限があり、また、メモリー空間が不足した場合には二次記憶装置を併用せざるを得ず、遅延が生じるため、複数のＯＳを高速に切り替え実行することが難しい場合もある。
【００８０】
また、上述の特許文献３は、第１ＯＳユーザー名を第２ＯＳユーザー名として用いてログイン手順を簡略化することで、第２ＯＳログイン手順を高速化している。しかしながら、画像処理ジョブが発生しメモリーなどリソースが枯渇する場合において、本体制御の第１ＯＳへリソースを明け渡すために第２ＯＳのリソース解放のためのログアウト処理時間が発生し、画像処理実行開始が遅れ得る。特に、リソース確認詳細が開示されておらず画像メモリーについて言及がないため、リソース不足時のフロー手順から第２ＯＳの終了によりリソース解放すると終了手順に大きく時間を取られる。その結果、第１ＯＳジョブ実行開始への遅延が大きくなりジョブ生産性への影響が大きい。
【００８１】
＜Ｄ．認証処理＞
次に、本実施の形態に従う画像形成装置１での認証処理の一例について説明する。
【００８２】
ユーザー認証が行なわれる際、カード認証デバイス１２１または指紋認証デバイス１２２からホストＯＳの仮想デバイスに制御信号が与えられ、ホストＯＳ１５４上で実行されるアプリケーション（制御ファームウェア１６０に含まれる、プリントアプリケーション１６０１、スキャンアプリケーション１６０２、ＦＡＸアプリケーション１６０３、ＢＯＸアプリケーション１６０４）がその制御信号を受け取って、認証処理を実施する。この場合、認証を行なうアプリケーションは、ゲストＯＳ１５６上で実行される認証アプリケーション（カード認証アプリケーション１５８１、指紋認証アプリケーション１５８２、ＩＤ認証アプリケーション１５８３）に対して認証処理を行なうために、必要なゲストＯＳ１５６が立ち上がっているかをチェックし、必要に応じてゲストＯＳ１５６を立ち上げた上で認証処理を実施する。
【００８３】
画像形成装置１においては、カード認証デバイス１２１または指紋認証デバイス１２２の認証デバイスから通知される制御信号を認証管理モジュール１７４が受け取り、必要なゲストＯＳを起動した上でホストＯＳ１５４の仮想デバイス１６０５に制御信号を通知する。このような処理を採用することで、ホストＯＳ１５４に対して認証を行なうアプリケーション１５８はゲストＯＳ１５６の起動処理と並行して、認証要求を行なうことができるため、認証処理を高速に行なうことが可能となる。
【００８４】
図４は、本実施の形態に従う画像形成装置１の制御部１００での認証処理の実行状態の一例を示す模式図である。図４を参照して、制御部１００のハードウェアを利用してハイパーバイザー１５２が実行され、ハイパーバイザー１５２の管理下で、ホストＯＳ１５４および複数のゲストＯＳ１５６が実行されている例を示す。
【００８５】
制御部１００のハードウェアとしては、メモリー制御ＩＣ１１８および圧縮／伸張ＩＣ１２０（図２）により提供される、ＭＭＵ（メモリー管理部：Memory Management Unit）およびＩＣの機能と、プロセッサー１０２と、メインメモリー１１０とを含む。さらに、制御部１００のハードウェアとしては、サブメモリー１３４，１４４に加えて、認証デバイス１９２と、ＮＩＣ（Network Interface Card）デバイス１９４と、各種の記憶デバイス１９６を含む。
【００８６】
ハイパーバイザー１５２は、複数ゲストＯＳの実行環境の起動、一時停止、再開、停止を管理する。典型的には、ハイパーバイザー１５２は、異なる仮想メモリー空間でプログラム実行が可能な仮想メモリー制御システムに相当する仮想的なメモリー管理部（ＶＭＭＵ）１５２１と、異なる割込み情報を扱うことが可能な仮想割込み制御システムである割込み管理部（ＶＩＣ）１５２２と、異なるプロセッサーを扱う仮想プロセッサー制御システムに相当する仮想的な演算リソース（ＶＣＰＵ）１５２３とを、複数のＯＳが利用可能な状態で提供する。また、ゲストＯＳ１〜ＯＳ３上では、アプリケーション１５８（カー
ド認証アプリケーション１５８１、指紋認証アプリケーション１５８２、ＩＤ認証アプリケーション１５８３）がそれぞれ実行されるものとする。ハイパーバイザー１５２は、スタブプログラム１５８４，１５８５，１５８６を用いてそれぞれゲストＯＳ１５６およびアプリケーション１５８の実行を管理する。
【００８７】
画像メモリーは、ブロック単位で圧縮伸長管理されている。さらに、画像メモリーを単位分割して共用利用することで、複数タスクが物理メモリーを効率よく利用できるような構成が採用されているとする。
【００８８】
ホストＯＳ１５４およびゲストＯＳ１５６についても、仮想メモリー機構を用いて一定のページ単位でメモリー空間を管理している。なお、以下の説明では、仮想メモリー機構をもたないＯＳについては考慮していない。
【００８９】
しかしながら、画像メモリーで管理されるブロック単位と、仮想メモリー機構を用いて管理されるページ単位とは、単位サイズが同一とは限らない。また、管理対象の画像メモリーがメインメモリー１１０に設けられる場合と、サブメモリー１３４，１４４に設けられる場合とでは、その取扱いも同一にはできない。
【００９０】
そこで、画像形成装置１での管理単位および制御を前提として、ホストＯＳ１５４およびゲストＯＳ１５６、ならびに、ハイパーバイザー１５２でのメモリー共有化機構が必要になる。
【００９１】
本実施の形態に従う画像形成装置１には、画像処理ＡＳＩＣ１３０，１４０が組み込まれている。但し、プリント制御に利用される画像メモリーは、プロセッサー１０２と共有するメインメモリー１００内の画像メモリー１１４、ならびに、画像処理ＡＳＩＣ１３０，１４０に関連付けられる専用のサブメモリー１３４，１４４内の画像メモリー１３８，１４８の２種類から構成される。このように、画像メモリーを利用するジョブに応じた利用形態となるため、メモリー領域の確保をジョブ動作に応じて上述のような単位サイズで実施する。
【００９２】
また、ゲストＯＳ１５６上で実行されるアプリケーション１５８がホストＯＳ１５４と共有する画像メモリーを適切に利用するためには、認証に必要なゲストＯＳ１５６がハイパーバイザー１５２および調停モジュール１７０と情報交換し、メモリー割り当てを行なう必要がある。複数のアプリケーション１５８の各々が独自にメモリー割り当てを実施すると、画像形成装置１のシステム全体としてのホストＯＳ１５４および制御ファームウェア１６０にて優先される動作を管理できなくなること、各ゲストＯＳ１５６での異なるメモリー管理を実装するためにラッパーが必要となるため、両者をみたすスタブプログラム１５８４，１５８５，１５８６を各ゲストＯＳ１５６に適合させてスタブ管理プログラム１９０によりインストールしなければならない。
【００９３】
スタブ管理プログラム１９０は、ハイパーバイザー１５２またはホストＯＳ１５４上にて稼働し、各ゲストＯＳ１５６に合わせたスタブプログラム１５８４，１５８５，１５８６を管理保存、各ゲストＯＳ１５６のインストール方法でアプリケーション１５８が必要な情報を取得可能な実装にてインストール実施するように構成される。
【００９４】
また、アプリケーションからアクセス可能なＡＰＩ（Application Programming Interface)をもち、メモリー要求、解放、拡張、ページアウトの指示、およびメモリー割り当て情報の入手が可能になるよう構成されている。
【００９５】
退避メモリー管理モジュール１７８は、二次記憶装置（図２のＨＤＤ１５０）にアクセ
ス可能であり、メモリーをスワップアウトして空きメモリー空間を提供する。
【００９６】
図５は、本実施の形態に従う画像形成装置１におけるゲストＯＳの追加手順を説明するフローチャートである。図５に示す各ステップは、主として、画像形成装置１の制御部１００のプロセッサー１０２がハイパーバイザー１５２を実現するプログラムを実行することで実現される。
【００９７】
図５を参照して、プロセッサー１０２は、新しいゲストＯＳの追加要求を受けたか否かを判断する（ステップＳ１００）。新しいゲストＯＳの追加要求を受けていなければ（ステップＳ１００においてＮＯの場合）、処理は終了する。
【００９８】
新しいゲストＯＳの追加要求を受けていれば（ステップＳ１００においてＹＥＳの場合）、プロセッサー１０２は、追加要求を受けたゲストＯＳに応じたスタブプログラムが存在するか否かを判断する（ステップＳ１０２）。
【００９９】
追加要求を受けたゲストＯＳに応じたスタブプログラムが存在すれば（ステップＳ１０２においてＹＥＳの場合）、プロセッサー１０２は、追加要求を受けたゲストＯＳに対して、対応するスタブプログラムのインストールを指示する（ステップＳ１０４）。そして、処理は終了する。
【０１００】
これに対して、追加要求を受けたゲストＯＳに応じたスタブプログラムが存在しなければ（ステップＳ１０２においてＮＯの場合）、プロセッサー１０２は、追加要求を受けたゲストＯＳの追加を停止する（ステップＳ１０６）。そして、処理は終了する。
【０１０１】
図６は、本実施の形態に従う画像形成装置１における認証要求があった場合の処理手順を説明するフローチャートである。図６に示す各ステップは、主として、画像形成装置１の制御部１００のプロセッサー１０２が認証管理モジュール１７４を実現するプログラムを実行することで実現される。
【０１０２】
図６を参照して、プロセッサー１０２は、複数の認証デバイスのうちいずれかの認証デバイスからの信号を受けたか否かを判断する（ステップＳ２００）。いずれの認証デバイスからも信号を受けていなければ（ステップＳ２００においてＮＯの場合）、処理は終了する。
【０１０３】
いずれかの認証デバイスから信号を受けていれば（ステップＳ２００においてＹＥＳの場合）、プロセッサー１０２は、受けた認証デバイスからの信号に応じて、認証プログラムおよび認証プログラムの実行に必要なゲストＯＳを決定する（ステップＳ２０２）。そして、プロセッサー１０２は、決定した必要なゲストＯＳを起動する（ステップＳ２０４）。このゲストＯＳの起動に際しては、図５に示す処理が実行されてもよい。
【０１０４】
決定した必要なゲストＯＳの起動後、プロセッサー１０２は、受けた認証デバイスからの信号に応じた認証プログラムを起動したゲストＯＳ上で実行する（ステップＳ２０６）。そして、処理は終了する。
【０１０５】
＜Ｅ．画像形成装置１でのメモリーマネージング＞
次に、画像メモリー特有のデータ構造を利用したメモリーマネージングについて説明する。特に、ブロック分割された画像メモリーの利用に適した処理について説明する。
【０１０６】
本実施の形態に従う画像形成装置１では、物理的な画像メモリーは、画像ブロック単位で圧縮伸長管理される。そして、一定サイズの単位メモリーは、ツリー構造で管理される
。より具体的には、単位メモリーの各々は、リンクトリストを用いたツリー状のデータ構造を用いて管理され、各単位メモリーの種別およびアドレスが拡張アドレス・データ構造に格納されている。
【０１０７】
図７は、本実施の形態に従う画像形成装置１の制御部１００におけるブロック分割された画像メモリーの利用形態を説明するための模式図である。図７を参照して、物理的な画像メモリーは、画像ブロック単位で圧縮伸長管理される。そして、一定サイズの単位メモリーは、ツリー構造で管理される。より具体的には、単位メモリーの各々は、リンクトリストを用いたツリー状のデータ構造を用いて管理され、各単位メモリーの種別およびアドレスが拡張アドレス・データ構造に格納されている。
【０１０８】
図７に示すような構成において、調停モジュール１７０は、画像処理ＡＳＩＣと調停動作するように構成されることが好ましい。このような構成は、ホストＯＳ１５４およびゲストＯＳ１５６ならびにハイパーバイザー１５２の仮想メモリー機構との親和性は高い。一方で、このような構成は、ジョブ制御に依存した従来の画像処理を前提に構成されているため、他の目的、特にＯＳが扱えるメモリー空間としての利用については考慮されていない。
【０１０９】
本実施の形態に従う画像形成装置１では、画像形成の管理単位に対して、ホストＯＳ１５４およびゲストＯＳ１５６ならびにハイパーバイザー１５２でのページ単位構造を割り当て、通常のメモリー空間として管理することで、ゲストＯＳ１５６でも画像メモリーを利用することを可能にする。
【０１１０】
すなわち、仮想メモリーとしては、一定サイズのページメモリーがツリー構造で管理され、いずれのゲストＯＳも利用可能になっている。画像メモリーは、画像メモリーの種別（すなわち、メインメモリー１１０内に設けられた場合と、サブメモリー１３４，１４４に設けられた場合）により、メモリー応答性能が異なる。そのため、単純なメモリー空間として利用すると、メモリー応答性能を考慮せずアクセスされるので、全体としての性能が劣化する可能性がある。
【０１１１】
本実施の形態に従う画像形成装置１では、本体ＯＳ（ホストＯＳ１５４およびゲストＯＳ１５６とハイパーバイザー１５２との間に、調停モジュール１７０を介在させ、画像メモリーの種別に応じて、通常のメモリー空間、および、ストレージメモリー空間のいずれかとして選択的に割り当てる。
【０１１２】
例えば、ストレージメモリー空間は、ページ退避可能性が高く（Swappableに）設定さ
れ、ジョブ動作に応じてスワップされるよう、調停モジュール１７０によってメモリー管理が調停される。また、一旦ページ化した場合、再度ストレージメモリー空間へレストアされるのではなく、通常スワップと同様に扱うことで、高速なメモリー復帰が可能になる。
【０１１３】
図７には、ハイパーバイザー１５２と連携する調停モジュール１７０が、メインメモリー１１０をページ退避可能性が低いと（Residentialに）設定し、サブメモリー１３４，
１４４をページ退避可能性が高いと（Swappableに）設定してもよい。また、サブメモリ
ー１３４，１４４上の退避メモリーはＨＤＤ１５０のスワップ領域にスワップアウトされてもよい。
【０１１４】
これらのメモリー管理には、ゲストＯＳ１５６を特定するＩＤをメモリー空間に配置されるデータに付与することで、読出し済みのゲストＯＳ１５６がジョブ実行により破壊されたことを調停モジュール１７０が把握する機能においても利用できるようにしてもよい
。すなわち、調停モジュール１７０は、読出し済みのゲストＯＳ１５６がジョブ実行により破壊されたことを検知し、ジョブ開始前に検知された破壊されたゲストＯＳ１５６を再度読出す。
【０１１５】
図８は、本実施の形態に従う画像形成装置１の制御部１００におけるブロック分割された画像メモリーの管理方法を説明するための模式図である。図８を参照して、あるメモリー空間内の画像ブロック単位（例えば、４ｋＢｙｔｅ）の各々に対して、属性情報を含むテーブル（カラム）が関連付けられる。
【０１１６】
このテーブルには、複数の属性情報が格納される。図８に示す例では、ブロック番号、アドレス、メモリーＩＤ、ＯＳＩＤ、ＪＯＢ情報、Ｃ、Ｕなどである。
【０１１７】
ブロック番号は、メモリー空間上の領域を特定する情報である。アドレスは、メモリー空間上の対応するブロックのアドレスである。メモリーＩＤは、システムメモリー１１２上に設けられる画像メモリーであるのか、サブメモリー１３４，１４４上に設けられる画像メモリーであるのかを示す。ＯＳＩＤは、対応するＯＳのＩＤを示す。ＪＯＢ情報は、ゲストＯＳに対応する認証ＪＯＢであるか否かを示す。Ｃは、対応ブロックが参照された回数を示し、Ｕは、対応ブロックが更新されたか否かを示す。
【０１１８】
このように、調停モジュール１７０は、メモリー空間の種別に区分して、単位メモリーごとに利用しているＯＳを特定可能なＩＤを含むリストを管理する機能を有している。このようなブロック単位ごとの情報に基づいて、スワップアウトまたは書き戻しなどが制御される。
【０１１９】
図９は、本実施の形態に従う画像形成装置１の制御部１００における複数のメモリー間でのデータ管理の一例を示す模式図である。図９を参照して、ハイパーバイザーは、要求などに応じて、ＨＤＤ１５０からゲストＯＳを、メインメモリー１１０内のシステムメモリー１１２上に読み出して起動する（（１）起動）。その後、状況に応じて、メインメモリー１１０内の画像メモリー１１４に退避する（（２）退避）。なお、メインメモリー１１０内の画像メモリー１１４に十分な空きメモリー空間が存在しなければ、いずれかの画像処理ＡＳＩＣに関連付けられるサブメモリー１３４，１４４内の画像メモリー１３８，１４８に読み出された内容が退避されることもある。
【０１２０】
その後、画像処理ＡＳＩＣによる処理要求などに応じて、サブメモリー１３４，１４４に、十分な空きメモリー空間を確保するために、退避しているデータをＨＤＤ１５０にページアウトする。
【０１２１】
図９に示すように、本実施の形態に従う画像形成装置１においては、ＨＤＤ１５０、メインメモリー１１０（含：システムメモリー１１２、画像メモリー１１４）、および、画像処理ＡＳＩＣに関連付けられたサブメモリー１３４，１４４（画像メモリー１３８，１４８）の三者あるいは四者の間で、メモリーの使用要求および空きメモリー空間の量などに応じて、データの退避処理、ページアウト処理などが最適化された状態で実施される。
【０１２２】
図１０は、本実施の形態に従う画像形成装置１の制御部１００におけるメモリー空間の利用形態の一例を示す図である。図１０を参照して、例えば、システムメモリー１１２にホストＯＳならびにゲストＯＳ１およびゲストＯＳ２の実行に必要なデータが保存されている状態で、ゲストＯＳ３の起動が指令されたとする（（１）要求発生）。すると、調停モジュール１７０は、例えば、その実行が一時的に中止されるゲストＯＳ１に割り当てていたメモリー領域をサブメモリー１３４に退避（スワップアウト）する。あるいは、ゲストＯＳ１に割り当てていたメモリー領域をＨＤＤ１５０のスワップ領域に退避（スワップ
アウト）するようにしてもよい。
【０１２３】
このとき、システムメモリー１１２からサブメモリー１３４へのデータ転送は、システムメモリーを中継して、そのバッファ容量（例えば、４ｋＢ）の単位（すなわち、ブロック単位）でパラレル伝送することもできる。
【０１２４】
その後、サブＯＳ３の実行の必要性がなくなると、システムメモリー１１２の内容がＨＤＤ１５０にスワップアウトされ、サブメモリー１３４からシステムメモリー１１２へ書き戻される。
【０１２５】
このように、調停モジュール１７０は、必要なシステムメモリー１１２が利用可能になるまでブロック単位で並列にメモリー転送を実施し、ゲストＯＳ１５６に対してメモリー空間を割り当てる。そして、調停モジュール１７０は、メモリー転送の完了後にゲストＯＳ１５６への切り替えを行なう。さらにその後、調停モジュール１７０は、ホストＯＳ１５４へ切り替える場合に、先に実行されたゲストＯＳおよび当該ゲストＯＳ１５６で動作するプログラムが利用するシステムメモリーを一時凍結する処理、先に転送されたメモリーを順次入れ替える処理と、入れ替え完了後にホストＯＳへ切り替える処理とを連続動作させる。
【０１２６】
また、調停モジュール１７０は、ゲストＯＳ１５６切り替えた後に、ゲストＯＳ１５６からホストＯＳ１５４ではなく他のゲストＯＳ１５６に切り替える場合に、ホストＯＳ１５４に関するファイルメモリーのデータをＨＤＤ１５０（二次記憶装置）へ順次並列転送する処理、先に実行されたゲストＯＳ１５６および当該ゲストＯＳ１５６で動作するプログラムが利用するシステムメモリーを一時凍結する処理、ＨＤＤ１５０へ転送されたファイルメモリーに対して一時凍結したシステムメモリーを順次並列転送する処理と、他のゲストＯＳが必要とするシステムメモリーになるまで先のゲストＯＳが転送完了したシステムメモリーから順次確保する処理と、他のゲストＯＳが動作可能なシステムメモリーが確保されたことで切り替えする処理とを連続動作させる。
【０１２７】
図１１は、本実施の形態に従う画像形成装置１でのメモリーマネージングに係る処理手順を示すフローチャートである。図１１に示す各ステップは、主として、画像形成装置１の制御部１００のプロセッサー１０２が調停モジュール１７０のプログラムを実行することで実現される。
【０１２８】
図１１を参照して、プロセッサー１０２（調停モジュール１７０）は、メモリー空間の種別に区分して、単位メモリーごとに利用しているＯＳを特定可能なＩＤを含むリストを更新する（ステップＳ３００）。ホストＯＳからゲストＯＳへの切り替えが要求されたか否かを判断する（ステップＳ３０２）。
【０１２９】
ホストＯＳからゲストＯＳへの切り替えが要求されると（ステップＳ３０２においてＹＥＳの場合）、プロセッサー１０２（調停モジュール１７０）は、必要なシステムメモリーが利用可能になるまで、ブロック単位で並列にメモリー転送を実施する（ステップＳ３０４）。これにより、切り替えが要求されたゲストＯＳに対して必要なメモリー空間を割り当てることができる。メモリー転送の完了後に、プロセッサー１０２（調停モジュール１７０）は、ホストＯＳからゲストＯＳへの切り替えを行なう（ステップＳ３０６）。
【０１３０】
その後、プロセッサー１０２（調停モジュール１７０）は、ゲストＯＳから別のゲストＯＳへの切り替えが要求されたか否かを判断する（ステップＳ３０８）。
【０１３１】
ゲストＯＳから別のゲストＯＳへの切り替えが要求されると（ステップＳ３０８におい
てＹＥＳの場合）、すなわち、ゲストＯＳへ切り替えた後に、ゲストＯＳからホストＯＳではなく他のゲストＯＳに切り替える場合に、まず、プロセッサー１０２（調停モジュール１７０）は、ホストＯＳに関するファイルメモリーのデータをＨＤＤ１５０（二次記憶装置）へ順次並列転送する（ステップＳ３１０）。続いて、プロセッサー１０２（調停モジュール１７０）は、先に実行されたゲストＯＳおよび当該ゲストＯＳで動作するプログラムが利用するシステムメモリーを一時凍結する（ステップＳ３１２）。さらに、プロセッサー１０２（調停モジュール１７０）は、ＨＤＤ１５０（二次記憶装置）へ転送されたファイルメモリーに対して一時凍結したシステムメモリーを順次並列転送し（ステップＳ３１４）、他のゲストＯＳが必要とするシステムメモリーになるまで先のゲストＯＳが転送完了したシステムメモリーから順次確保する（ステップＳ３１６）。最終的に、プロセッサー１０２（調停モジュール１７０）は、他のゲストＯＳが動作可能なシステムメモリーが確保されたことで、ゲストＯＳから指定された別のゲストＯＳへ切り替える（ステップＳ３１８）。そして、処理はステップＳ３２０へ進む。
【０１３２】
ホストＯＳからゲストＯＳへの切り替えが要求されていなければ（ステップＳ３０２においてＮＯの場合）、あるいは、ゲストＯＳから別のゲストＯＳへの切り替えが要求されていなければ（ステップＳ３０８においてＮＯの場合）、あるいは、ステップＳ３１８の実行後、ゲストＯＳからホストＯＳへの切り替えが要求されたか否かを判断する（ステップＳ３２０）。
【０１３３】
ゲストＯＳからホストＯＳへの切り替えが要求されると（ステップＳ３２０においてＹＥＳの場合）、プロセッサー１０２（調停モジュール１７０）は、先に実行されたゲストＯＳおよび当該ゲストＯＳで動作するプログラムが利用するシステムメモリーを一時凍結する（ステップＳ３２２）。そして、プロセッサー１０２（調停モジュール１７０）は、先に転送されたメモリーを順次入れ替える（ステップＳ３２４）。メモリーの入れ替え完了後に、プロセッサー１０２（調停モジュール１７０）は、ゲストＯＳからホストＯＳへ切り替える（ステップＳ３２６）。そして、処理はステップＳ３００へ戻る。
【０１３４】
ゲストＯＳからホストＯＳへの切り替えが要求されていなければ（ステップＳ３２０においてＮＯの場合）、ステップＳ３００以下の処理が繰り返される。
【０１３５】
＜Ｆ．認証処理が必要なジョブの処理＞
次に、認証処理が必要なジョブの処理について説明する。図１２は、本実施の形態に従う画像形成装置１での認証処理が必要なジョブに対する処理手順を示すフローチャートである。図１２に示す各ステップは、主として、画像形成装置１の制御部１００のプロセッサー１０２が制御ファームウェア１６０を実行することで実現される。
【０１３６】
図１２を参照して、プロセッサー１０２は、管理するジョブリストに含まれるジョブについて、異なるゲストＯＳ上で実行される複数の認証アプリケーションが必要であるか否かを判断する（ステップＳ４００）。異なるゲストＯＳ上で実行される複数の認証アプリケーションが必要でなければ（ステップＳ４００においてＮＯの場合）、通常の処理が実行される（ステップＳ４０２）。
【０１３７】
異なるゲストＯＳ上で実行される複数の認証アプリケーションが必要であれば（ステップＳ４００においてＹＥＳの場合）、プロセッサー１０２は、ゲストＯＳが使用するメモリー量を必要なゲストＯＳの数に比例させて推定する（ステップＳ４０４）。続いて、プロセッサー１０２は、推定した必要なメモリー量を空きメモリー空間から確保できるか否かを判断する（ステップＳ４０６）。
【０１３８】
推定した必要なメモリー量を空きメモリー空間から確保できれば（ステップＳ４０６に
おいてＹＥＳ）、プロセッサー１０２は、推定した必要なメモリー量を空きメモリー空間から確保し（ステップＳ４０８）、通常の処理を進行する（ステップＳ４０２）。
【０１３９】
これに対して、推定した必要なメモリー量を空きメモリー空間から確保できなければ（ステップＳ４０６においてＮＯ）、プロセッサー１０２は、処理対象のジョブについての認証方式に必要なメモリー量を空きメモリー空間から確保できるか否かを判断する（ステップＳ４１０）。
【０１４０】
処理対象のジョブについての認証方式に必要なメモリー量を空きメモリー空間から確保できれば（ステップＳ４１０においてＹＥＳ）、プロセッサー１０２は、通常の処理を進行する（ステップＳ４０２）。この場合、ステップＳ４００以下の処理が再度実行される。
【０１４１】
処理対象のジョブについての認証方式に必要なメモリー量を空きメモリー空間から確保できなければ（ステップＳ４１０においてＮＯ）、プロセッサー１０２は、退避メモリーをして空きメモリー空間を提供する（ステップＳ４１２）。そして、プロセッサー１０２は、処理対象のジョブについての認証方式に必要なメモリー量を空きメモリー空間から確保し（ステップＳ４１４）、通常の処理を進行する（ステップＳ４０２）。この場合も、ステップＳ４００以下の処理が再度実行される。
【０１４２】
なお、推定した必要なメモリー量を空きメモリー空間から確保できなければ（ステップＳ４０６においてＮＯ）、ジョブリストに格納されているそれぞれのジョブについて、認証方式を変更できるか否かを評価してもよい。
【０１４３】
＜Ｇ．メモリーの使用量変化の監視＞
本実施の形態に従う画像形成装置１は、システムメモリー１１２に加えて、画像メモリーを用いて、複数のＯＳ（ホストＯＳ１５４ならびに１または複数のゲストＯＳ１５６）を、共通のハードウェア上で同時実行させる。
【０１４４】
そのため、複数のメモリー空間全体を考慮して、メモリー領域のマネージメントを行なうことが好ましい。具体的には、調停モジュール１７０は、ホストＯＳ１５４で制御されるジョブ実行において利用される画像メモリー空間の使用量変化を監視し、ゲストＯＳ１５６の実行環境において認証プログラムが利用するメモリー空間の使用量変化を監視するようにしてもよい。
【０１４５】
さらに、調停モジュール１７０は、何らかの処理の開始または終了を都度記録する更新履歴を保持しておき、メモリー使用量または空きメモリー量の増減傾向に基づいて、格納している内容の配置場所を都度変更してもよい。
【０１４６】
図１３は、本実施の形態に従う画像形成装置１でのメモリー使用量の監視に係る処理手順を示すフローチャートである。図１３に示す各ステップは、主として、画像形成装置１の制御部１００のプロセッサー１０２が調停モジュール１７０のプログラムを実行することで実現される。
【０１４７】
図１３を参照して、プロセッサー１０２は、メモリー領域の要求（ページフォルト）が発生したか否かを判断する（ステップＳ５００）。メモリー領域の要求が発生していなければ（ステップＳ５００においてＮＯの場合）には、ステップＳ５００の処理が繰り返される。
【０１４８】
メモリー領域の要求が発生していれば（ステップＳ５００においてＹＥＳの場合）には
、プロセッサー１０２は、空きメモリー管理モジュール１７２へ空きメモリー量を問い合わせる（ステップＳ５０２）。そして、プロセッサー１０２は、過去の空きメモリー量の実績と、問い合わせに対して応答された空メモリー量とから、空きメモリー量の変化量を算出する（ステップＳ５０４）。
【０１４９】
さらに、プロセッサー１０２は、算出した空きメモリー量の変化量が減少傾向を示しているか否かを判断する（ステップＳ５０６）。算出した空きメモリー量の変化量が減少傾向を示していなければ（ステップＳ５０６においてＮＯの場合）、ステップＳ５００以下の処理が繰り返される。
【０１５０】
算出した空きメモリー量の変化量が減少傾向を示していれば（ステップＳ５０６においてＹＥＳの場合）、プロセッサー１０２は、退避メモリー管理モジュール１７８へ退避メモリー量を問い合わせる（ステップＳ５０８）。そして、プロセッサー１０２は、対象となる退避メモリーを特定し、特定した退避メモリーをページアウトする（ステップＳ５１０）。
【０１５１】
最後に、プロセッサー１０２は、退避メモリー管理モジュール１７８が管理する退避メモリー量を更新し（ステップＳ５１２）、ステップＳ５００以下の処理を繰り返す。
【０１５２】
このようなトータルでのメモリー領域の管理を行なうことで、オーバーコミットメントの発生頻度などを低減できる。また、制限のあるメモリーリソースの利用効率を向上させることができる。
【０１５３】
＜Ｈ．複数装置の連携＞
上述の説明では、単一のハードウェアで実現される画像形成装置において仮想環境を実現する構成について例示したが、複数装置を連携させて仮想環境を実現するようにしてもよい。
【０１５４】
図１４は、本実施の形態に従う画像形成装置が他の装置と連携した認証処理の実行状態の一例を示す模式図である。図１４に示す構成においては、本体装置１Ａと補助装置１Ｂとが連携して仮想環境を実現する。
【０１５５】
本体装置１Ａ上では、ハイパーバイザー１５２がハードウェアを利用して、仮想環境を実現する。具体的には、ホストＯＳ１５４ならびにゲストＯＳ１５６（ゲストＯＳ１およびゲストＯＳ２）が実行されている。ホストＯＳ１５４上では制御ファームウェア１６０が実行され、ゲストＯＳ１上ではカード認証アプリケーション１５８１が実行され、ゲストＯＳ２上では指紋認証アプリケーション１５８２が実行される。
【０１５６】
一方、補助装置１Ｂ上においても、ハイパーバイザー１５３がハードウェアを利用して、仮想環境を実現する。具体的には、ホストＯＳ１５４ならびにゲストＯＳ１５６（ゲストＯＳ１およびゲストＯＳ２）が実行されている。ゲストＯＳ３上ではＩＤ認証アプリケーション１５８３が実行される。
【０１５７】
本体装置１Ａ上で実行されるハイパーバイザー１５２および補助装置１Ｂ上で実行されるハイパーバイザー１５３とは、いずれも実行環境を管理する機能を有しており、互いに連携可能になっている。補助装置１Ｂ上で実行されるハイパーバイザー１５３は、マイグレーション後に初期化設定を行なう設定機能を有している。一方、本体装置１Ａ上で実行されるハイパーバイザー１５２は、補助装置１Ｂでの初期化設定に必要な初期化手順指示書（プレイブック）を送受信する機能を有している。すなわち、補助装置１Ｂ上で実行されるハイパーバイザー１５３は、本体装置１Ａからの初期化手順指示書（プレイブック）
に従って、初期化設定を行なう。
【０１５８】
具体的な応用例としては、画像形成装置１の本体部が本体装置１Ａに相当し、操作パネル１２３が補助装置１Ｂに相当するような構成が想定される。すなわち、操作パネル１２３にも認証処理が可能なプロセッサーが搭載されており、画像形成装置１での認証処理のうち、特定の認証処理を操作パネル１２３で分担して実行するような応用が想定される。あるいは、画像形成装置１が外部サーバーに対して認証処理を委任するような形態が想定される。すなわち、外部サーバーが補助装置１Ｂに相当するような構成が想定される。
【０１５９】
すなわち、本体装置１Ａ上で実行されるハイパーバイザー１５２は、異なるＯＳの実行環境を補助装置１Ｂへマイグレーションすることができる。但し、本体装置１Ａ上で実行されるハイパーバイザー１５２は、リソースに余裕があれば、自装置上で認証処理を実行するように切り替えることもできる。
【０１６０】
図１５は、本実施の形態に従う画像形成装置１でのマイグレーションに係る処理手順を示すフローチャートである。図１５に示す各ステップは、主として、本体装置１Ａのプロセッサー１０２がハイパーバイザー１５２を実現するプログラムを実行することで実現される。
【０１６１】
図１５を参照して、プロセッサー１０２は、管理するジョブリストに含まれるジョブについて、異なるゲストＯＳ上で実行される複数の認証アプリケーションが必要であるか否かを判断する（ステップＳ６００）。異なるゲストＯＳ上で実行される複数の認証アプリケーションが必要でなければ（ステップＳ６００においてＮＯの場合）、通常の処理が実行される（ステップＳ６０２）。
【０１６２】
異なるゲストＯＳ上で実行される複数の認証アプリケーションが必要であれば（ステップＳ６００においてＹＥＳの場合）、プロセッサー１０２は、他の装置へのマイグレーションが可能な状況か否かを判断する（ステップＳ６０４）。すなわち、プロセッサー１０２は、異なるＯＳの実行環境を他の装置へマイグレーションすること、および、当該マイグレーションに必要なページアウトされたメモリー領域の読み出すことを、ジョブ実行状態において実施するかを判断する。
【０１６３】
他の装置へのマイグレーションが不可能な状況であれば（ステップＳ６０４においてＮＯの場合）、通常の認証処理が実行される（ステップＳ６０６）。
【０１６４】
他の装置へのマイグレーションが可能な状況であれば（ステップＳ６０４においてＹＥＳの場合）、プロセッサー１０２は、マイグレーションする認証アプリケーションを無効化する（ステップＳ６０８）とともに、当該無効化された認証アプリケーションが実行されていたゲストＯＳからスタブプログラムを削除する（ステップＳ６１０）。そして、プロセッサー１０２は、メモリー管理方式をスタブプログラムによるものから、認証プログラムでメモリー管理する方式に切り替える（ステップＳ６１２）。
【０１６５】
プロセッサー１０２は、調停モジュール１７０が管理するメモリーおよびページアウトの管理を空きメモリー管理モジュール１７２へ戻す（ステップＳ６１４)。そして、プロ
セッサー１０２は、当該無効化された認証アプリケーションが実行されていたゲストＯＳを停止する（ステップＳ６１６）。
【０１６６】
プロセッサー１０２は、ゲストＯＳの停止を確認する（ステップＳ６１８）と、マイグレーション先のハイパーバイザーに対して、ゲストＯＳを転送する（ステップＳ６２０）とともに、初期化手順指示書（プレイブック）を転送する（ステップＳ６２２）。
【０１６７】
そして、プロセッサー１０２は、マイグレーション先の装置においてゲストＯＳが起動されているか否かを判断する（ステップＳ６２４）。マイグレーション先の装置においてゲストＯＳが起動されていれば（ステップＳ６２４においてＹＥＳの場合）、通常の処理が実行される（ステップＳ６０２）。
【０１６８】
マイグレーション先の装置においてゲストＯＳが起動されていなければ（ステップＳ６２４においてＮＯの場合）、プロセッサー１０２は、自装置側でゲストＯＳを再度起動する（ステップＳ６２６）。そして、通常の処理が実行される（ステップＳ６０２）。
【０１６９】
以上のようなマイグレーション機能を実装することで、複数装置が連携した柔軟なシステムを実現できる。
【０１７０】
＜Ｉ．複数ユーザー認証＞
次に、連続するジョブに対して複数のユーザー認証処理が必要になった場合の処理について説明する。例えば、複数のユーザーについてユーザー認証処理がそれぞれ必要になった場合には、ジョブ実行を優先してユーザー認証処理を遅延させるように変更を提案してもよいし、あるいは、認証方法の変更によりジョブをより早く完了できそうな場合には、該当のユーザーへ現ユーザーの認証方法への変更を提案してもよい。
【０１７１】
図１６は、本実施の形態に従う画像形成装置１での複数のユーザーに対する認証処理が競合した場合の処理手順を示すフローチャートである。図１６に示す各ステップは、主として、画像形成装置１のプロセッサー１０２が制御ファームウェア１６０を実行することで実現される。図１６に示す処理手順は、例えば、現実行中のジョブについて、当該ジョブについて認証済みのユーザーが利用した認証方法に対応する認証アプリケーションが動作しているものとする。
【０１７２】
図１６を参照して、異なるユーザーについての異なる認証方法の実行が要求されたか否かを判断する（ステップＳ７００）。異なるユーザーについての異なる認証方法の実行が要求されていなければ（ステップＳ７００においてＮＯの場合）、以下の処理はスキップされる。
【０１７３】
異なるユーザーについての異なる認証方法の実行が要求されていれば（ステップＳ７００においてＹＥＳの場合）、プロセッサー１０２は、要求された異なる認証方法を実現するための認証アプリケーションを実行させるゲストＯＳが稼働しているか否かを判断する（ステップＳ７０２）。
【０１７４】
要求された異なる認証方法を実現するための認証アプリケーションを実行させるゲストＯＳが稼働していれば（ステップＳ７０２においてＹＥＳの場合）、プロセッサー１０２は、要求された異なる認証方法でユーザー認証処理を実行する（ステップＳ７０４）。そして、次のジョブの処理準備を開始する（ステップＳ７０６）。
【０１７５】
要求された異なる認証方法を実現するための認証アプリケーションを実行させるゲストＯＳが稼働していなければ（ステップＳ７０２においてＮＯの場合）、プロセッサー１０２は、要求された異なる認証方法は現在実行中のジョブについての認証方式で代替できるか否かを判断する（ステップＳ７０８）。要求された異なる認証方法は現在実行中のジョブについての認証方式で代替できなければ（ステップＳ７０８においてＮＯの場合）、ステップＳ７１０〜Ｓ７１４の処理はスキップされ、プロセッサー１０２は、次のジョブの処理準備を開始する（ステップＳ７０６）。
【０１７６】
要求された異なる認証方法は現在実行中のジョブについての認証方式で代替できれば（ステップＳ７０８においてＹＥＳの場合）、プロセッサー１０２は、次のジョブのユーザーに対して、現ユーザーの認証方式を利用することを提案し、ユーザーが当該提案を受け入れるか否かを判断する（ステップＳ７１０）。
【０１７７】
ユーザーが提案を受け入れれば（ステップＳ７１０においてＹＥＳの場合）、プロセッサー１０２は、現ユーザーの認証方式でユーザー認証を実施する（ステップＳ７１２）。そして、プロセッサー１０２は、次のジョブの処理準備を開始する（ステップＳ７０６）。
【０１７８】
これに対して、ユーザーが提案を受け入れなければ（ステップＳ７１０においてＮＯの場合）、プロセッサー１０２は、現在のジョブの実行が完了するまで待ち（ステップＳ７１４）、その後、次のジョブの処理準備を開始する（ステップＳ７０６）。
【０１７９】
このように、制御ファームウェア１６０にて管理実施する連続するジョブのうち、現ユーザーが認証を行なってジョブを開始したときに、他ユーザーが当該現ユーザーとは異なる認証方式を要求し、該当の認証方式のゲストＯＳがページアウトされていた場合には、現ユーザーのジョブを優先して実行して他ユーザーは現ユーザーのジョブ完了まで待たせること、および、現ユーザーの認証方式に変更もしくは変更するように警告すること、の一方を実施する。
【０１８０】
このような構成を採用することで、ユーザーの事情を考慮しつつ、セキュアな画像形成処理を実現できる。
【０１８１】
＜Ｊ．付記＞
本発明は、別の局面として、さらに以下のように表現することができる。
【０１８２】
本発明の別の局面に従う画像形成装置は、画像形成動作に必要な制御を行なう制御ファームウェアおよびホストＯＳと、複数のユーザー認証方式とを有している。画像形成装置は、ユーザーごとに異なるユーザー認証方式を選択する手段を備えることと、ユーザー認証方式ごとに独立した認証プログラムと、認証プログラムを実行するためのホストＯＳとは異なるゲストＯＳと、ゲストＯＳの実行を管理するハイパーバイザーと、ユーザー認証方式と認証に必要なゲストＯＳとの組み合わせを保持することにより、ユーザー認証方式に応じたゲストＯＳをハイパーバイザーに通知する認証管理プログラムとを有する。認証管理プログラムは、認証デバイスからの信号に応じて認証に必要なゲストＯＳを判断し、いずれのゲストＯＳを起動するかをハイパーバイザーに指示して起動させることにより、認証プログラムが動作する前に、認証に必要なゲストＯＳを起動させる。
【０１８３】
画像形成装置は、制御ファームウェアとハイパーバイザーとを連携させる調停プログラムと、制御ファームウェアが画像処理に利用するメモリー空間と他のゲストＯＳの認証プログラムに利用するメモリー空間とを同じテーブルを用いて管理する空きメモリー管理手段と、ハイパーバイザーが物理メモリーをページテーブルで管理する手段と、制御ファームウェアが利用する画像メモリー空間において、ＣＰＵが管理するメインメモリーおよび画像処理ＡＳＩＣが管理する画像メモリーのメモリー種別に応じて、データをページテーブルに割り当ててメモリー種別ごとに管理する手段と、画像メモリーが管理する画像ブロック単位と同じサイズの合成ページ単位で空きページを管理する手段と、合成ページの内画像メモリーに値するページテーブルを管理する退避メモリー管理手段とを含む。選択された認証方式以外のゲストＯＳで必要としないメモリー領域を退避するメモリーとして、制御ファームウェアと調停プログラムとを介して退避メモリー管理手段が管理するメモリー空間を共有する。
【０１８４】
画像形成装置は、ジョブ開始時の認証実行時に、選択された認証方式に必要な認証プログラムとゲストＯＳと対応したテーブルから稼動させるゲストＯＳを選択する手段と、各画像メモリーの種別に応じて実行ジョブおよびジョブ情報に基づき優先度を設定することと、利用している各ゲストＯＳを特定可能なＩＤを設定することが可能な利用可能メモリーリストを管理する手段と、上述したメモリー量となるシステムメモリーが得られるまでファイルメモリーブロック単位に合わせてメモリー転送を順次並列実施する手段と、メモリー転送完了後にゲストＯＳへ切り替える手段と、次にホストＯＳへ切り替える場合にゲストＯＳおよび動作プログラムが利用するシステムメモリーを一時凍結する手段と、上述のメモリー転送手段によって先に転送したメモリーと順次入れ替え並列転送する手段と、順次転送するなかで保存された元のメモリーアドレスに割り当てする手段と、入れ替え転送完了後にホストＯＳへ切り替える手段とが連続動作することを可能とする手段により、選択したゲストＯＳ以外のゲストＯＳが使用するメモリーを退避メモリー管理手段が管理するメモリーへ退避する手段と、認証実行後に退避したメモリーを、ページアウトを行なうように制御する手段と、それらを制御ＦＷが必要とするタイミングに従い実施する調停プログラムおよびタイミングを定義する手段とを含む。
【０１８５】
画像形成装置は、本体ＯＳと、異なる仮想メモリー空間でプログラム実行が可能な仮想メモリー制御システム、および、異なる割込み情報を扱う仮想割込み制御システム、および、異なるＣＰＵを扱う仮想ＣＰＵ制御システムと、複数のゲストＯＳ実行環境の起動・一時停止・再開・停止を管理するハイパーバイザーと、本体ＯＳとハイパーバイザーを仲介する調停プログラムとを含む。調停プログラムは、本体ＯＳで制御される画像形成ジョブ動作で利用する画像メモリー空間の利用量変化を監視することと、ゲストＯＳ実行環境の認証プログラムが利用するメモリー空間の利用量変化を監視することとを含む。
【０１８６】
画像形成装置は、異なるＯＳ実行環境を他の画像形成装置またはサーバーへマイグレーションすることと、マイグレーションに必要なページアウトされたメモリー領域の読み出しをジョブ実行状態において実施するか判断する手段と、マイグレーション後の初期化設定を行なう手段と、初期化手順指示書（プレイブック）を送受信する手段とを含む。
【０１８７】
画像形成装置は、制御ファームウェアが管理実施する連続するジョブのうち現ユーザーが認証を行なってジョブを開始したときに、他ユーザーが現ユーザーと異なる認証方式を要求し、該当の認証方式のゲストＯＳがページアウトされていた場合には、メモリー取得をできなくする制限を実施するのではなく、制御ファームウェアがジョブ実行を制御し、現ユーザーのジョブを優先して実行して他ユーザーは現ユーザーのジョブ完了まで待たせること、または、現ユーザーの認証方式に変更あるいは変更するように警告する。
【０１８８】
＜Ｋ．まとめ＞
本実施の形態に従う画像形成装置は、認証方式のための仮想実行環境を備えることで、より簡便に、様々な種類の認証方式を実装できる。また、異なるハードウェアを利用していた認証方式（例えば、中間認証サーバを用いた方式）をゲストＯＳとして取り込むこと、さらに、既にサーバーをもつ大規模環境ではゲストＯＳをサーバーへマイグレーションすることが可能となり、特別なハードウェアを必要としないためコストダウン効果がある。さらに、マイグレーションにより、認証運用環境の構築を容易に行なうことができるようになり、環境セットアップ工数の削減や、より安全な環境提供が期待できる。
【０１８９】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０１９０】
１  画像形成装置、１Ａ  本体装置、１Ｂ  補助装置、２  自動原稿送り装置、３  イメージスキャナー、４  プリントエンジン、５  給紙部、２１  原稿給紙台、２２，５２，５３，５４  送出ローラー、２３  レジストローラー、２４  搬送ドラム、２５  排紙台、２６  手差給紙部、２７  転写ベルト、３３  撮像デバイス、３５  原稿台、４１，４１Ｃ，４１Ｋ，４１Ｍ，４１Ｙ  感光体ドラム、４３Ｃ，４３Ｋ，４３Ｍ，４３Ｙ  画像書込部、４４Ｃ，４４Ｋ，４４Ｍ，４４Ｙ  イメージングユニット、４４１Ｃ，４４１Ｋ，４４１Ｍ，４４１Ｙ  トナーユニット、４５  転写器、４６  除電器、４７  定着装置、４９  ＩＤＣセンサー、５１  タイミングローラー、５５  搬送ローラー、５７  トレイ、１００  制御部、１０２  プロセッサー、１０４  内部バス、１０５，１０６，１０７，１０８  インターフェイス回路、１１０  メインメモリー、１１２  システムメモリー、１１４，１３８，１４８  画像メモリー、１１８，１３２，１４２  メモリー制御ＩＣ、１２０  圧縮／伸張ＩＣ、１２１  カード認証デバイス、１２２  指紋認証デバイス、１２３  操作パネル、１３０，１４０  画像処理ＡＳＩＣ、１３４，１４４  サブメモリー、１３６  表面入力画像データバッファ、１４６  裏面入力画像データバッファ、１５０  ＨＤＤ、１５２，１５３  ハイパーバイザー、１５４  ホストＯＳ、１５８  アプリケーション、１６０  制御ファームウェア、１７０  調停モジュール、１７２  空きメモリー管理モジュール、１７４  認証管理モジュール、１７８  退避メモリー管理モジュール、１９０  スタブ管理プログラム、１９２  認証デバイス、１９４  デバイス、１９６  記憶デバイス、４７１  加熱ローラー、４７２  加圧ローラー、１５８１  カード認証アプリケーション、１５８２  指紋認証アプリケーション、１５８３  認証アプリケーション、１５８４，１５８５，１５８６  スタブプログラム、１６０１  プリントアプリケーション、１６０２  スキャンアプリケーション、１６０３  ＦＡＸアプリケーション、１６０４  ＢＯＸアプリケーション、１６０５  仮想デバイス。
【図１】
2019200815.tif 000004
【図２】
2019200815.tif 000005
【図３】
2019200815.tif 000006
【図４】
2019200815.tif 000007
【図５】
2019200815.tif 000008
【図６】
2019200815.tif 000009
【図７】
2019200815.tif 000010
【図８】
2019200815.tif 000011
【図９】
2019200815.tif 000012
【図１０】
2019200815.tif 000013
【図１１】
2019200815.tif 000014
【図１２】
2019200815.tif 000015
【図１３】
2019200815.tif 000016
【図１４】
2019200815.tif 000017
【図１５】
2019200815.tif 000018
【図１６】
2019200815.tif 000019
【手続補正書】
【提出日】令和1年8月8日(2019.8.8)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
異なる仮想メモリー空間でプログラム実行が可能な仮想メモリー制御システムと、
異なる割込み情報を扱うことが可能な仮想割込み制御システムと、
異なるプロセッサーを扱う仮想プロセッサー制御システムと、
複数のゲストＯＳの実行環境の起動、一時停止、再開、停止を管理するハイパーバイザーと、
ホストＯＳと前記ハイパーバイザーとを仲介する調停プログラムとを備え、
前記調停プログラムは、ホストＯＳで制御されるジョブ実行において利用される画像メモリー空間の使用量変化を監視し、ゲストＯＳの実行環境において認証プログラムが利用するメモリー空間の使用量変化を監視する、画像形成装置。
【請求項２】
画像形成装置で実行される調停プログラムであって、
前記画像形成装置は、
異なる仮想メモリー空間でプログラム実行が可能な仮想メモリー制御システムと、
異なる割込み情報を扱うことが可能な仮想割込み制御システムと、
異なるプロセッサーを扱う仮想プロセッサー制御システムと、
複数のゲストＯＳの実行環境の起動、一時停止、再開、停止を管理するハイパーバイザーと、
前記調停プログラムは、前記画像形成装置に、
ホストＯＳと前記ハイパーバイザーとを仲介する機能と、
ホストＯＳで制御されるジョブ実行において利用される画像メモリー空間の使用量変化を監視し、ゲストＯＳの実行環境において認証プログラムが利用するメモリー空間の使用量変化を監視する機能とを実現する、調停プログラム。