JP6852762B2 - Image forming device and arbitration program executed by the image forming device - Google Patents

Image forming device and arbitration program executed by the image forming device Download PDF

Info

Publication number
JP6852762B2
JP6852762B2 JP2019144448A JP2019144448A JP6852762B2 JP 6852762 B2 JP6852762 B2 JP 6852762B2 JP 2019144448 A JP2019144448 A JP 2019144448A JP 2019144448 A JP2019144448 A JP 2019144448A JP 6852762 B2 JP6852762 B2 JP 6852762B2
Authority
JP
Japan
Prior art keywords
memory
guest
authentication
image
image forming
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019144448A
Other languages
Japanese (ja)
Other versions
JP2019200815A (en
Inventor
真央 細野
真央 細野
上田 滋之
滋之 上田
鈴江 正
正 鈴江
了敏 大迫
了敏 大迫
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Konica Minolta Inc
Original Assignee
Konica Minolta Inc
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 Konica Minolta Inc filed Critical Konica Minolta Inc
Priority to JP2019144448A priority Critical patent/JP6852762B2/en
Publication of JP2019200815A publication Critical patent/JP2019200815A/en
Application granted granted Critical
Publication of JP6852762B2 publication Critical patent/JP6852762B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)
  • Facsimiles In General (AREA)

Description

本発明は、認証方式によってゲストOSを自立して切り替えることが可能な画像形成装置およびそのような画像形成装置で実行されるプログラムに関する。 The present invention relates to an image forming apparatus capable of independently switching a guest OS by an authentication method and a program executed by such an image forming apparatus.

近年の情報通信技術の進歩に伴って、コンピューターの仮想化技術が様々な分野に応用されつつある。このような仮想化技術においては、例えば、ハイパーバイザーを利用して、主となるOS(Operating System)(以下では、「ホストOS」とも称する。)に加えて、1または複数の異なるOS(以下では、「ゲストOS」とも称する。)を、共通のハードウェア上で同時実行させることが可能である。 With the progress of information and communication technology in recent years, computer virtualization technology is being applied to various fields. In such virtualization technology, for example, using a hypervisor, in addition to a main OS (Operating System) (hereinafter, also referred to as “host OS”), one or a plurality of different OSs (hereinafter, also referred to as “host OS”). Then, it is possible to execute "guest OS") simultaneously on common hardware.

例えば、特開2001−256066号公報(特許文献1)は、単一システム内に共存させた複数のオペレーティングシステムを高速に切り替えて使用できる環境を開示する。 For example, Japanese Patent Application Laid-Open No. 2001-256066 (Patent Document 1) discloses an environment in which a plurality of operating systems coexisting in a single system can be switched and used at high speed.

また、「IBM PowerVM Virtualization Active Memory Sharing」(非特許文献1)は、複数の論理メモリパーティション(LPAR:Logical PARtition)を一つの共通物理メ
モリー空間としてまとめ、論理メモリパーティション割り当て先としてマルチOS間で共有利用するシステムを開示する。
In addition, "IBM PowerVM Virtualization Active Memory Sharing" (Non-Patent Document 1) combines a plurality of logical memory partitions (LPAR: Logical PARtition) into one common physical memory space and shares them among multiple OSs as a logical memory partition allocation destination. Disclose the system to be used.

一般的に、ホストOSに加えて、1または複数のゲストOSが同時実行される場合には、実行されるOS(特に、ホストOS)の数に比例して、より大きなメモリー空間が必要となる。そのため、多くの仮想化技術においては、ゲストOSの実行によってハードウェア的に用意されているシステムメモリーの上限を超える場合に、オーバーコミットメントを許容する仕組みが備えられている。例えば、特開2014−157476号公報(特許文献2)は、仮想マシン間で共有する物理リソースの不足を検出する構成を開示する。 Generally, when one or more guest OSes are executed simultaneously in addition to the host OS, a larger memory space is required in proportion to the number of OSs (particularly the host OS) to be executed. .. Therefore, many virtualization technologies are provided with a mechanism for allowing overcommitment when the upper limit of the system memory prepared in hardware is exceeded by executing the guest OS. For example, Japanese Patent Application Laid-Open No. 2014-157476 (Patent Document 2) discloses a configuration for detecting a shortage of physical resources shared between virtual machines.

オーバーコミットメントを許容する仕組みの具体例としては、ハードディスクなどの二次記憶装置にメモリー空間として利用されるメモリー領域を確保し、その確保したメモリー領域にシステムメモリーに格納されていた内容を一時的に退避する処理が含まれる。 As a specific example of the mechanism that allows overcommitment, a memory area used as a memory space is secured in a secondary storage device such as a hard disk, and the contents stored in the system memory are temporarily stored in the secured memory area. The process of saving is included.

しかしながら、ハードディスクなどの二次記憶装置は、DRAM(Dynamic Random Access Memory)などのシステムメモリーに比較して応答性が劣るため、例えば、ホストOSからゲストOSへ切り替えの実行に大きな時間を要する。このような課題は、有限のリソースにおいては解決が難しい。十分に大きなリソースを用意すれば、このような課題が発生する可能性を低減することはできる。 However, since the secondary storage device such as a hard disk is inferior in responsiveness to a system memory such as a DRAM (Dynamic Random Access Memory), it takes a long time to switch from the host OS to the guest OS, for example. Such problems are difficult to solve with finite resources. With sufficiently large resources, the possibility of such problems occurring can be reduced.

画像形成装置においても、コスト制約上、利用可能なリソースをそれほど大きくすることができない。特に、最新のコンピューティング環境のように処理性能が高いハードウェアではなく、コストメリットのあるハードウェアが採用されることが一般的である。このようなコスト制約の下、画像形成装置では、ジョブをより優先して処理できるようにメモリー構成が設計される。 Even in the image forming apparatus, the available resources cannot be increased so much due to cost constraints. In particular, it is common to adopt cost-effective hardware rather than hardware with high processing performance as in the latest computing environment. Under such cost constraints, the image forming apparatus is designed with a memory configuration so that jobs can be processed with higher priority.

例えば、特開2014−238665(特許文献3)は、ハードウェア資源を用いて画像形成に係わる処理が装置制御ファームウェアにより行なわれる第1OS、および、第1OSとは別であって第1OS上の第2OS、がそれぞれ動作可能に構成されている画像形成装置を開示する。装置制御ファームウェアは、該装置制御ファームウェアでの処理に伴って予め定められた特定の状態が検出された場合に、第2OSを起動するよう制御すると
ともに、当該第2OSに対するログイン処理を実行するよう制御する。この画像形成装置では、第1OSユーザー名を第2OSユーザー名として用いてログイン手順を簡略化することで、第2OSログイン手順を高速化している。
For example, Japanese Patent Application Laid-Open No. 2014-238665 (Patent Document 3) describes a first OS in which processing related to image formation is performed by a device control firmware using hardware resources, and a first OS different from the first OS and on the first OS. Disclosed is an image forming apparatus in which two OSs are configured to be operable. The device control firmware controls to start the second OS when a predetermined specific state is detected in association with the processing by the device control firmware, and also controls to execute the login process for the second OS. To do. In this image forming apparatus, the login procedure is simplified by using the first OS user name as the second OS user name, thereby speeding up the second OS login procedure.

特開2001−256066号公報Japanese Unexamined Patent Publication No. 2001-256066 特開2014−157476号公報Japanese Unexamined Patent Publication No. 2014-157476 特開2014−238665号公報Japanese Unexamined Patent Publication No. 2014-238665

"IBM PowerVM Virtualization Active Memory Sharing", Second Edition (June 2011), IBM International Technical Support Organization, June 2011"IBM PowerVM Virtualization Active Memory Sharing", Second Edition (June 2011), IBM International Technical Support Organization, June 2011

画像形成装置を複数の認証デバイスに対応させるためには、各認証デバイスに応じた認証プログラムを実行させる環境をそれぞれ実現する必要がある。このような複数の認証プログラムをそれぞれ実行させる。このような処理に好適な構成が要望されている。 In order to make the image forming apparatus compatible with a plurality of authentication devices, it is necessary to realize an environment for executing an authentication program corresponding to each authentication device. Each of these multiple authentication programs is executed. A configuration suitable for such processing is required.

本発明のある開示によれば、画像形成装置の認証デバイスに応じたゲストOSを判別して、必要なゲストOSを起動させる調停プログラムをハイパーバイザーに追加するとともに、認証デバイスが認証操作を通知したタイミングで、調停プログラムがゲストOSを先行的に起動することで、ゲストOSの切り替え時の時間遅延を削減する。 According to a disclosure of the present invention, a arbitration program that determines the guest OS according to the authentication device of the image forming apparatus and activates the necessary guest OS is added to the hypervisor, and the authentication device notifies the authentication operation. The arbitration program starts the guest OS in advance at the timing, thereby reducing the time delay when switching the guest OS.

本発明のある局面に従う画像形成装置は、ホストOSと、ホストOS上で実行され、画像形成装置の主たる制御を司る制御ファームウェアと、複数の認証方式にそれぞれ対応する複数の認証デバイスと、複数の認証方式にそれぞれ対応する互いに独立した複数の認証プログラムと、複数の認証プログラムの各々を実行するためのホストOSとは異なる複数のゲストOSと、複数のゲストOSの実行を管理するハイパーバイザーと、認証デバイスの各々での認証に必要な認証プログラムの実行に必要なゲストOSとの組み合わせを管理する認証管理モジュールとを含む。認証管理モジュールは、複数の認証デバイスのうちいずれかの認証デバイスからの信号に応じて、認証プログラムの実行に必要なゲストOSを決定するとともに、対応する認証プログラムの実行前に当該決定したゲストOSを起動させる。 An image forming apparatus according to a certain aspect of the present invention includes a host OS, a control firmware executed on the host OS and controlling the main control of the image forming apparatus, a plurality of authentication devices corresponding to a plurality of authentication methods, and a plurality of authentication devices. A plurality of independent authentication programs corresponding to each authentication method, a plurality of guest OSs different from the host OS for executing each of the plurality of authentication programs, and a hypervisor that manages the execution of the plurality of guest OSs. It includes an authentication management module that manages the combination with the guest OS required to execute the authentication program required for authentication on each authentication device. The authentication management module determines the guest OS required to execute the authentication program according to the signal from one of the authentication devices among the plurality of authentication devices, and determines the guest OS before executing the corresponding authentication program. To start.

好ましくは、画像形成装置は、制御ファームウェアとハイパーバイザーとを連携させる調停モジュールと、制御ファームウェアが画像処理に利用するメモリー空間と他のゲストOSの認証プログラムに利用するメモリー空間とを管理する空きメモリー管理手段と、二次記憶装置にアクセス可能な退避メモリー管理モジュールとを含む。調停モジュールは、プロセッサーに関連付けられたメインメモリーおよび画像処理ASICに関連付けられた画像メモリーについて、メモリー種別に関連付けて、画像メモリーにて管理される画像ブロック単位と同じデータサイズで空きページを管理し、退避メモリー管理モジュールは、決定された認証プログラムの実行に必要なゲストOS以外のゲストOSに関連するメモリーを二次記憶装置に退避する。 Preferably, the image forming apparatus is an arbitration module that links the control firmware and the hypervisor, and a free memory that manages the memory space used by the control firmware for image processing and the memory space used for the authentication program of another guest OS. It includes a management means and a backup memory management module that can access the secondary storage device. The arbitration module manages empty pages with the same data size as the image block unit managed by the image memory in relation to the memory type for the main memory associated with the processor and the image memory associated with the image processing ASIC. The backup memory management module saves the memory related to the guest OS other than the guest OS necessary for executing the determined authentication program to the secondary storage device.

好ましくは、調停モジュールは、ゲストOSへ切り替えた後に、ゲストOSからホストOSではなく他のゲストOSに切り替える場合に、ホストOSに関するファイルメモリーのデータを二次記憶装置へ順次並列転送する処理、先に実行されたゲストOSおよび当該
ゲストOSで動作するプログラムが利用するシステムメモリーを一時凍結する処理、二次記憶装置へ転送されたファイルメモリーに対して一時凍結したシステムメモリーを順次並列転送する処理と、他のゲストOSが必要とするシステムメモリーになるまで先のゲストOSが転送完了したシステムメモリーから順次確保する処理と、他のゲストOSが動作可能なシステムメモリーが確保されたことで切り替えする処理とを連続動作させる。
Preferably, the arbitration module sequentially transfers the data of the file memory related to the host OS to the secondary storage device in parallel when switching from the guest OS to another guest OS instead of the host OS after switching to the guest OS. The process of temporarily freezing the system memory used by the guest OS and the program running on the guest OS, and the process of sequentially transferring the temporarily frozen system memory to the file memory transferred to the secondary storage device in parallel. , The process of sequentially allocating the system memory that the previous guest OS has completed the transfer until it reaches the system memory required by the other guest OS, and the process of switching when the system memory that can operate the other guest OS is secured. And are operated continuously.

好ましくは、画像形成装置は、異なるOSの実行環境を他の装置へマイグレーションすること、および、当該マイグレーションに必要なページアウトされたメモリー領域の読み出すことを、ジョブ実行状態において実施するかを判断する判断手段と、当該マイグレーション後に初期化設定を行なう設定手段と、当該初期化設定に必要な初期化手順指示書を送受信する送受信手段とをさらに含む。 Preferably, the image forming apparatus determines whether to migrate the execution environment of a different OS to another apparatus and read out the paged-out memory area required for the migration in the job execution state. The determination means, the setting means for performing the initialization setting after the migration, and the transmission / reception means for transmitting and receiving the initialization procedure instruction required for the initialization setting are further included.

好ましくは、画像形成装置は、制御ファームウェアが管理実施する連続するジョブのうち、現ユーザーが認証を行なってジョブを開始したときに、他ユーザーが当該現ユーザーと異なる認証方式を要求し、該当の認証方式のゲストOSがページアウトされていた場合には、現ユーザーのジョブを優先して実行して他ユーザーは現ユーザーのジョブ完了まで待たせること、および、現ユーザーの認証方式に変更もしくは変更するように警告すること、の一方を実施する。 Preferably, the image forming apparatus requests an authentication method different from that of the current user when the current user authenticates and starts the job among the continuous jobs managed and executed by the control firmware. If the guest OS of the authentication method is paged out, prioritize the execution of the current user's job and make other users wait until the current user's job is completed, and change or change to the current user's authentication method. Do one of the warnings to do.

本発明の別の局面に従う画像形成装置は、異なる仮想メモリー空間でプログラム実行が可能な仮想メモリー制御システムと、異なる割込み情報を扱うことが可能な仮想割込み制御システムと、異なるプロセッサーを扱う仮想プロセッサー制御システムと、複数のゲストOSの実行環境の起動、一時停止、再開、停止を管理するハイパーバイザーと、ホストOSとハイパーバイザーとを仲介する調停プログラムとを含む。調停プログラムは、ホストOSで制御されるジョブ実行において利用される画像メモリー空間の利用量変化を監視し、ゲストOSの実行環境において認証プログラムが利用するメモリー空間の利用量変化を監視する。 An image forming apparatus according to another aspect of the present invention includes a virtual memory control system capable of executing a program in different virtual memory spaces, a virtual interrupt control system capable of handling different interrupt information, and a virtual processor control handling different processors. It includes a hypervisor that manages the start, pause, restart, and stop of the execution environment of the system and a plurality of guest OSes, and an arbitration program that mediates between the host OS and the hypervisor. The arbitration program monitors changes in the amount of image memory space used in job execution controlled by the host OS, and monitors changes in the amount of memory space used by the authentication program in the execution environment of the guest OS.

本発明の別の局面に従えば、複数の認証方式にそれぞれ対応する複数の認証デバイスを含む画像形成装置で実行されるプログラムが提供される。プログラムは、ホストOSと、ホストOS上で実行され、画像形成装置の主たる制御を司る制御ファームウェアと、複数の認証方式にそれぞれ対応する互いに独立した複数の認証プログラムと、複数の認証プログラムの各々を実行するためのホストOSとは異なる複数のゲストOSと、複数のゲストOSの実行を管理するハイパーバイザーと、認証デバイスの各々での認証に必要な認証プログラムの実行に必要なゲストOSとの組み合わせを管理する認証管理モジュールとを含む。認証管理モジュールは、複数の認証デバイスのうちいずれかの認証デバイスからの信号に応じて、認証プログラムの実行に必要なゲストOSを決定するとともに、対応する認証プログラムの実行前に当該決定したゲストOSを起動させる。 According to another aspect of the present invention, there is provided a program executed by an image forming apparatus including a plurality of authentication devices corresponding to a plurality of authentication methods. The program includes a host OS, a control firmware that is executed on the host OS and controls the main control of the image forming apparatus, a plurality of independent authentication programs corresponding to a plurality of authentication methods, and each of the plurality of authentication programs. A combination of multiple guest OSs different from the host OS for execution, a hypervisor that manages the execution of multiple guest OSes, and a guest OS required to execute the authentication program required for authentication on each authentication device. Includes an authentication management program that manages the operating system. The authentication management module determines the guest OS required to execute the authentication program according to the signal from one of the authentication devices among the plurality of authentication devices, and determines the guest OS before executing the corresponding authentication program. To start.

本開示によれば、画像形成装置で複数の認証方式を使い分ける際に認証された認証デバイスの種類によって、認証に必要なゲストOSを切り替えることをハイパーバイザーで判断して切り替えることで、認証処理を高速に行なうことができる。 According to the present disclosure, the authentication process is performed by determining that the guest OS required for authentication is switched by the hypervisor depending on the type of the authenticated device when the image forming apparatus uses a plurality of authentication methods properly. It can be done at high speed.

本実施の形態に従う画像形成装置の全体構成を示す概略断面図である。It is schematic cross-sectional view which shows the whole structure of the image forming apparatus which follows this embodiment. 本実施の形態に従う画像形成装置の制御部のハードウェア構成を示すブロック図である。It is a block diagram which shows the hardware structure of the control part of the image forming apparatus which follows this embodiment. 本実施の形態に従う画像形成装置の制御部でのプログラムの実行状態の一例を示す模式図である。It is a schematic diagram which shows an example of the execution state of the program in the control part of the image forming apparatus which follows this embodiment. 本実施の形態に従う画像形成装置の制御部での認証処理の実行状態の一例を示す模式図である。It is a schematic diagram which shows an example of the execution state of the authentication process in the control part of the image forming apparatus which follows this Embodiment. 本実施の形態に従う画像形成装置におけるゲストOSの追加手順を説明するフローチャートである。It is a flowchart explaining the addition procedure of the guest OS in the image forming apparatus which follows this embodiment. 本実施の形態に従う画像形成装置における認証要求があった場合の処理手順を説明するフローチャートである。It is a flowchart explaining the processing procedure when there is an authentication request in the image forming apparatus which follows this embodiment. 本実施の形態に従う画像形成装置の制御部におけるブロック分割された画像メモリーの利用形態を説明するための模式図である。It is a schematic diagram for demonstrating the usage form of the block-divided image memory in the control part of the image forming apparatus according to this Embodiment. 本実施の形態に従う画像形成装置の制御部におけるブロック分割された画像メモリーの管理方法を説明するための模式図である。It is a schematic diagram for demonstrating the management method of the block-divided image memory in the control part of the image forming apparatus according to this Embodiment. 本実施の形態に従う画像形成装置の制御部における複数のメモリー間でのデータ管理の一例を示す模式図である。It is a schematic diagram which shows an example of data management among a plurality of memories in the control part of the image forming apparatus which follows this embodiment. 本実施の形態に従う画像形成装置の制御部におけるメモリー空間の利用形態の一例を示す図である。It is a figure which shows an example of the usage form of the memory space in the control part of the image forming apparatus which follows this embodiment. 本実施の形態に従う画像形成装置でのメモリーマネージングに係る処理手順を示すフローチャートである。It is a flowchart which shows the processing procedure which concerns on memory management in the image forming apparatus which follows this embodiment. 本実施の形態に従う画像形成装置での認証処理が必要なジョブに対する処理手順を示すフローチャートである。It is a flowchart which shows the processing procedure for the job which requires the authentication processing in the image forming apparatus which follows this embodiment. 本実施の形態に従う画像形成装置でのメモリー使用量の監視に係る処理手順を示すフローチャートである。It is a flowchart which shows the processing procedure which concerns on the monitoring of the memory usage in the image forming apparatus which follows this embodiment. 本実施の形態に従う画像形成装置が他の装置と連携した認証処理の実行状態の一例を示す模式図である。It is a schematic diagram which shows an example of the execution state of the authentication process which the image forming apparatus which follows this embodiment cooperates with other apparatus. 本実施の形態に従う画像形成装置でのマイグレーションに係る処理手順を示すフローチャートである。It is a flowchart which shows the processing procedure which concerns on migration in the image forming apparatus which follows this embodiment. 本実施の形態に従う画像形成装置での複数のユーザーに対する認証処理が競合した場合の処理手順を示すフローチャートである。It is a flowchart which shows the processing procedure when the authentication processing for a plurality of users by the image forming apparatus which follows this Embodiment conflicts.

本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰り返さない。 Embodiments of the present invention will be described in detail with reference to the drawings. The same or corresponding parts in the drawings are designated by the same reference numerals and the description thereof will not be repeated.

<A.画像形成装置の全体構成>
まず、本実施の形態に従う画像形成装置1の全体構成について説明する。
<A. Overall configuration of image forming device>
First, the overall configuration of the image forming apparatus 1 according to the present embodiment will be described.

図1は、本実施の形態に従う画像形成装置1の全体構成を示す概略断面図である。図1を参照して、画像形成装置1は、自動原稿送り装置2と、イメージスキャナー3と、プリントエンジン4と、給紙部5と、制御部100とを含む。 FIG. 1 is a schematic cross-sectional view showing the overall configuration of the image forming apparatus 1 according to the present embodiment. With reference to FIG. 1, the image forming apparatus 1 includes an automatic document feeder 2, an image scanner 3, a print engine 4, a paper feeding unit 5, and a control unit 100.

自動原稿送り装置2は、原稿の連続的なスキャンを行なうためのものであり、原稿給紙台21と、送出ローラー22と、レジストローラー23と、搬送ドラム24と、排紙台25とを含む。スキャン対象の原稿は、原稿給紙台21上にセットされ、送出ローラー22の作動により一枚ずつ送り出される。そして、この送り出された原稿は、レジストローラー23により一旦停止されて先端が整えられた後に、搬送ドラム24へ搬送される。さらに、この原稿は、搬送ドラム24のドラム面と一体に回転し、その過程において後述するイメージスキャナー3により画像面がスキャンされる。その後、原稿は、搬送ドラム24のドラム面を略半周した位置においてドラム面から分離されて排紙台25へ排出される。 The automatic document feeder 2 is for continuously scanning documents, and includes a document feeding table 21, a feeding roller 22, a resist roller 23, a transport drum 24, and a paper ejection table 25. .. The documents to be scanned are set on the document paper feed tray 21, and are fed one by one by the operation of the delivery roller 22. Then, the sent-out document is temporarily stopped by the resist roller 23 to prepare the tip, and then transported to the transport drum 24. Further, this document rotates integrally with the drum surface of the transport drum 24, and in the process, the image surface is scanned by the image scanner 3 described later. After that, the document is separated from the drum surface at a position substantially half-circling the drum surface of the transport drum 24 and discharged to the paper ejection table 25.

イメージスキャナー3は、撮像デバイス33と、原稿台35とを含む。撮像デバイス33は、被写体である原稿に対する相対位置を時間的に変化させて、原稿の画像を読み取って画像データを生成する。この画像データを含むデータがジョブとして処理される。撮像
デバイス33は、主要な構成要素として、原稿に対して光を照射する光源と、光源から照射された光が原稿で反射して生じる画像を取得するイメージセンサーと、イメージセンサーから画像信号を出力するためのAD(Analog to Digital:アナログデジタル)変換器
と、イメージセンサーの前段に配置された結像光学系とを含む。イメージセンサーとしては、典型的には、CCD(Coupled Charged Device)イメージセンサーや、密着イメージセンサー(Contact Image Sensor)が用いられる。なお、スキャン対象の原稿は、原稿台35にセットされることもできる。また、原稿の表面側および裏面側にそれぞれ撮像デバイスを配置することで、両面同時スキャンを実現してもよい。
The image scanner 3 includes an image pickup device 33 and a platen 35. The image pickup device 33 changes the relative position with respect to the document as the subject with time, reads the image of the document, and generates image data. Data including this image data is processed as a job. The image pickup device 33 outputs, as main components, a light source that irradiates the document with light, an image sensor that acquires an image generated by reflecting the light emitted from the light source on the document, and an image signal from the image sensor. It includes an AD (Analog to Digital) converter and an imaging optical system arranged in front of the image sensor. As the image sensor, a CCD (Coupled Charged Device) image sensor or a contact image sensor (Contact Image Sensor) is typically used. The document to be scanned can also be set on the platen 35. Further, simultaneous scanning on both sides may be realized by arranging the imaging devices on the front side and the back side of the document, respectively.

プリントエンジン4は、一例として、電子写真方式の画像形成プロセスが実行される。具体的には、フルカラーのプリント出力が可能である。具体的には、プリントエンジン4は、それぞれイエロー(Y)、マゼンタ(M)、シアン(C)、ブラック(K)の各色のトナー像を生成するイメージング(作像)ユニット44Y,44M,44C,44Kを含む。イメージングユニット44Y,44M,44C,44Kは、プリントエンジン4内に張架されて駆動される転写ベルト27に沿って、その順序に配置される。 As an example, the print engine 4 executes an electrophotographic image forming process. Specifically, full-color print output is possible. Specifically, the print engine 4 has imaging units 44Y, 44M, 44C, which generate toner images of each color of yellow (Y), magenta (M), cyan (C), and black (K), respectively. Includes 44K. The imaging units 44Y, 44M, 44C, 44K are arranged in that order along the transfer belt 27 which is stretched and driven in the print engine 4.

イメージングユニット44Y,44M,44C,44Kは、それぞれ画像書込部43Y,43M,43C,43Kと、感光体ドラム41Y,41M,41C,41Kとを含む。画像書込部43Y,43M,43C,43Kの各々は、対象のプリントデータに含まれる各色イメージに応じたレーザ光を発するレーザダイオードと、このレーザ光を偏向して対応の感光体ドラム41Y,41M,41C,41Kの表面を主走査方向に露光させるポリゴンミラーとを含んでいる。 The imaging units 44Y, 44M, 44C, 44K include image writing units 43Y, 43M, 43C, 43K, and photoconductor drums 41Y, 41M, 41C, 41K, respectively. Each of the image writing units 43Y, 43M, 43C, and 43K has a laser diode that emits a laser beam corresponding to each color image included in the target print data, and the corresponding photoconductor drums 41Y, 41M that deflect the laser beam. , 41C, 41K includes a polygon mirror that exposes the surface in the main scanning direction.

感光体ドラム41Y,41M,41C,41Kの表面には、上述のような画像書込部43Y,43M,43C,43Kによる露光によって静電潜像が形成され、この静電潜像がそれぞれ対応するトナーユニット441Y,441M,441C,441Kから供給されるトナー粒子によってトナー像として現像される。 An electrostatic latent image is formed on the surface of the photoconductor drums 41Y, 41M, 41C, 41K by exposure by the image writing units 43Y, 43M, 43C, 43K as described above, and the electrostatic latent images correspond to each other. It is developed as a toner image by the toner particles supplied from the toner units 441Y, 441M, 441C, 441K.

感光体ドラム41Y,41M,41C,41Kの表面に現像された各色のトナー像は、転写ベルト27に順次転送される。さらに、この転写ベルト27上に重ねられたトナー像は、給紙部5からタイミングを合わせて供給される記録紙にさらに転写される。 The toner images of each color developed on the surfaces of the photoconductor drums 41Y, 41M, 41C, and 41K are sequentially transferred to the transfer belt 27. Further, the toner image superimposed on the transfer belt 27 is further transferred to the recording paper supplied from the paper feed unit 5 at the same timing.

この記録紙上に転写されたトナー像は、下流部に配置された定着部において定着された後、トレイ57に排出される。 The toner image transferred on the recording paper is fixed in the fixing portion arranged in the downstream portion and then discharged to the tray 57.

上述の感光体ドラム41Y,41M,41C,41Kにおける動作と並行して、記録紙を収容する給紙部5の給紙カセットにそれぞれ対応する送出ローラー52,53,54および手差給紙部26のうち、画像形成に用いられるべき記録紙に対応する部位が作動して記録紙を供給する。この供給された記録紙は、搬送ローラー55および56ならびにタイミングローラー51によって搬送され、感光体ドラム41上に形成されたトナー像に同期するように、感光体ドラム41に給紙される。 In parallel with the operation of the photoconductor drums 41Y, 41M, 41C, 41K described above, the delivery rollers 52, 53, 54 and the manual paper feed unit 26 corresponding to the paper feed cassettes of the paper feed unit 5 accommodating the recording paper, respectively. Of these, the part corresponding to the recording paper to be used for image formation operates to supply the recording paper. The supplied recording paper is conveyed by the conveying rollers 55 and 56 and the timing roller 51, and is fed to the photoconductor drum 41 in synchronization with the toner image formed on the photoconductor drum 41.

転写器45は、感光体ドラム41に反対極性の電圧を印加することで、感光体ドラム41上に形成されたトナー像を記録紙に転写する。そして、除電器46は、トナー像が転写された記録紙を除電することで、記録紙を感光体ドラム41から分離させる。その後、トナー像が転写された記録紙は定着装置47へ搬送される。なお、転写器45としては、図1に示すような転写ベルトを用いた転写方式に代えて、転写チャージャーまたは転写ローラーを用いた転写方式を採用してもよい。あるいは、感光体ドラム41から記録紙へトナー像を直接転写する直接転写方式に代えて、感光体ドラム41と記録紙との間に、転写ローラー、転写ベルトといった中間転写体を配置して、2段階以上のプロセスによって転写
を行なうようにしてもよい。
The transfer device 45 transfers the toner image formed on the photoconductor drum 41 to the recording paper by applying a voltage having the opposite polarity to the photoconductor drum 41. Then, the static eliminator 46 separates the recording paper from the photoconductor drum 41 by removing static electricity from the recording paper on which the toner image is transferred. After that, the recording paper on which the toner image is transferred is conveyed to the fixing device 47. As the transfer device 45, a transfer method using a transfer charger or a transfer roller may be adopted instead of the transfer method using a transfer belt as shown in FIG. Alternatively, instead of the direct transfer method in which the toner image is directly transferred from the photoconductor drum 41 to the recording paper, an intermediate transfer body such as a transfer roller or a transfer belt is arranged between the photoconductor drum 41 and the recording paper. Transcription may be carried out by a process of steps or higher.

定着装置47は、加熱ローラー471と加圧ローラー472とを含む。加熱ローラー471は、記録紙を加熱することで、その上に転写されたトナーを溶融するとともに、加熱ローラー471と加圧ローラー472との間の圧縮力により、溶融したトナーが記録紙上に定着される。そして、記録紙はトレイ57に排出される。なお、定着装置47としては、図1に示すような定着ベルトを用いた定着方式に代えて、定着ローラー等用いた定着方式、もしくは非接触の定着方式を採用してもよい。 The fixing device 47 includes a heating roller 471 and a pressure roller 472. The heating roller 471 melts the toner transferred onto the recording paper by heating the recording paper, and the molten toner is fixed on the recording paper by the compressive force between the heating roller 471 and the pressure roller 472. Toner. Then, the recording paper is discharged to the tray 57. As the fixing device 47, instead of the fixing method using the fixing belt as shown in FIG. 1, a fixing method using a fixing roller or the like or a non-contact fixing method may be adopted.

一方、記録紙が分離された感光体ドラム41では、その残留電位が除去された後、クリーニング部によって残留トナーが除去および清掃される。そして、次の画像形成処理が実行される。クリーニング部は、一例として、クリーニングブレード、クリーニングブラシ、クリーニングローラー、またはこれらの組み合わせにより、残留トナーを除去および清掃する。あるいは、感光体ドラム41Y,41M,41C,41Kを用いて残留トナーを回収するクリーナーレス方式を採用してもよい。 On the other hand, in the photoconductor drum 41 from which the recording paper is separated, after the residual potential is removed, the residual toner is removed and cleaned by the cleaning unit. Then, the next image forming process is executed. The cleaning unit removes and cleans residual toner by, for example, a cleaning blade, a cleaning brush, a cleaning roller, or a combination thereof. Alternatively, a cleanerless method of recovering the residual toner using the photoconductor drums 41Y, 41M, 41C, 41K may be adopted.

IDCセンサー49は、感光体ドラム41上に形成されるトナー像の濃度を検知する。このIDCセンサー49は、代表的に反射型フォトセンサからなる光強度センサーであり、感光体ドラム41の表面からの反射光強度を検知する。 The IDC sensor 49 detects the density of the toner image formed on the photoconductor drum 41. The IDC sensor 49 is a light intensity sensor typically composed of a reflective photo sensor, and detects the reflected light intensity from the surface of the photoconductor drum 41.

制御部100は、画像形成装置1における全体の制御を司る。本実施の形態に従う画像形成装置1の制御部100には、複数のOSの同時起動(または、並列起動)を可能にする仮想化環境が実現される。複数のOSとしては、最低限実行されるホストOSと、要求などに応じて適宜実行されるゲストOSとがある。すなわち、ホストOSは、退避されない。 The control unit 100 controls the entire image forming apparatus 1. The control unit 100 of the image forming apparatus 1 according to the present embodiment realizes a virtual environment that enables simultaneous startup (or parallel startup) of a plurality of OSs. The plurality of OSs include a host OS that is executed at a minimum and a guest OS that is appropriately executed in response to a request or the like. That is, the host OS is not saved.

仮想化環境を実現するための処理の詳細については、後述する。
<B.画像形成装置1の制御部100のハードウェア構成>
次に、本実施の形態に従う画像形成装置1の制御部100のハードウェア構成について説明する。図2は、本実施の形態に従う画像形成装置1の制御部100のハードウェア構成を示すブロック図である。
Details of the processing for realizing the virtual environment will be described later.
<B. Hardware configuration of control unit 100 of image forming apparatus 1>
Next, the hardware configuration of the control unit 100 of the image forming apparatus 1 according to the present embodiment will be described. FIG. 2 is a block diagram showing a hardware configuration of the control unit 100 of the image forming apparatus 1 according to the present embodiment.

図2を参照して、制御部100は、画像形成装置1の全体を制御する演算処理主体であり、1または複数の演算部を有する。具体的には、制御部100は、主たる構成要素として、CPU(Central Processing Unit)またはMPU(Micro Processing Unit)などからなるプロセッサー102と、DRAMなどからなるメインメモリー110と、画像処理ASIC(Application Specific Integrated Circuit)130,140と、画像形成装
置1の各コンポーネントと信号またはデータを遣り取りするインターフェイス回路105,106,107,108と、二次記憶装置の一例であるHDD(Hard Disk Drive)1
50とを含む。これらの構成要素は、内部バス104を介して、互いにデータ通信可能に構成される。
With reference to FIG. 2, the control unit 100 is an arithmetic processing subject that controls the entire image forming apparatus 1, and has one or a plurality of arithmetic units. Specifically, the control unit 100 has a processor 102 including a CPU (Central Processing Unit) or an MPU (Micro Processing Unit), a main memory 110 including a DRAM, and an image processing ASIC (Application Specific) as main components. Integrated Circuit) 130, 140, interface circuits 105, 106, 107, 108 that exchange signals or data with each component of the image forming unit 1, and HDD (Hard Disk Drive) 1 which is an example of a secondary storage device.
Includes 50 and. These components are configured to be data communicable with each other via the internal bus 104.

メインメモリー110の物理メモリー空間は、システムメモリー112と、画像メモリー114とに区分されて、それぞれに応じた用途で使用される。システムメモリー112は、プロセッサー102でプログラムを実行するための各種データを格納するためのワークメモリとして用いられる。画像メモリー114は、画像データに対する編集・加工・表示などの処理過程で一時的に作成される画像データのバッファリングに用いられる。例えば、複数の画像データを合成する際の画像バッファ、あるいは、操作パネルなどに画像データの全部または一部をプレビュー表示する際の画像バッファなどとして用いられる。 The physical memory space of the main memory 110 is divided into a system memory 112 and an image memory 114, and is used for each purpose. The system memory 112 is used as a work memory for storing various data for executing a program on the processor 102. The image memory 114 is used for buffering image data temporarily created in a processing process such as editing, processing, and displaying the image data. For example, it is used as an image buffer when synthesizing a plurality of image data, or as an image buffer when preview-displaying all or a part of the image data on an operation panel or the like.

メインメモリー110と内部バス104との間には、メモリー制御IC(Integrated Circuit)118が配置されており、プロセッサー102などからの要求に応答して、メインメモリー110へのデータ書込み、または、メインメモリー110からのデータ読出しを行なう。なお、メモリー制御IC118には、圧縮/伸張IC120が接続されており、メインメモリー110に書込まれる画像データをブロック単位で圧縮するとともに、メインメモリー110から読出される画像データを伸長する。このような圧縮伸長管理によって、メモリー空間の効率的な利用および処理の高速化を実現する。 A memory control IC (Integrated Circuit) 118 is arranged between the main memory 110 and the internal bus 104, and in response to a request from the processor 102 or the like, data is written to the main memory 110 or the main memory. Read the data from 110. A compression / decompression IC 120 is connected to the memory control IC 118, and the image data written in the main memory 110 is compressed in block units, and the image data read from the main memory 110 is decompressed. Such compression / decompression management realizes efficient use of memory space and speeding up of processing.

一例として、図2には、原稿の両面を一度にスキャンできる構成を例示する。すなわち、制御部100は、原稿の表面側に配置された撮像デバイス(表面側撮像デバイス)が原稿をスキャンすることで読み取られた画像データを処理する画像処理ASIC130と、原稿の裏面側に配置された撮像デバイス(裏面側撮像デバイス)が原稿をスキャンすることで読み取られた画像データを処理する画像処理ASIC140とを含む。このような構成を採用することで、スキャンニーズの高まりに対して、両面同時スキャンによる生産性改善を実現できる。 As an example, FIG. 2 illustrates a configuration in which both sides of a document can be scanned at one time. That is, the control unit 100 is arranged on the back side of the document and the image processing ASIC 130 that processes the image data read by the image pickup device (front side image pickup device) arranged on the front surface side of the document scanning the document. The image processing device (back side image pickup device) includes an image processing ASIC 140 that processes the image data read by scanning the original. By adopting such a configuration, it is possible to improve productivity by simultaneous double-sided scanning in response to increasing scanning needs.

なお、画像処理ASIC130および140に代えて、プロセッサー102が画像処理を実行するようにしてもよいが、ジョブをより高速に処理するためには、ASICなどの回路ロジックを採用することが好ましい。 Although the processor 102 may execute the image processing instead of the image processing ASICs 130 and 140, it is preferable to adopt a circuit logic such as an ASIC in order to process the job at a higher speed.

画像処理ASIC130は、表面側撮像デバイスからの画像データをサブメモリー134に格納する。画像処理ASIC130とサブメモリー134との間には、メモリー制御IC132が配置されており、サブメモリー134へのデータ書込み、および、サブメモリー134からのデータ読出しを仲介する。サブメモリー134の物理メモリー空間は、表面側撮像デバイスからの画像データを格納するための表面入力画像データバッファ136と、画像メモリー138とに区分されて、それぞれに応じた用途で使用される。画像メモリー138は、画像データに対する編集・加工・表示などの処理過程で一時的に作成される画像データのバッファリングに用いられる。例えば、表面側撮像デバイスからの画像データ(生データ)を指定された画像形式に変換する際の画像バッファ、FAXを送信する際の画像バッファ、または、外部ネットワークあるいは外部機器へ画像データを出力する際の画像バッファなどとして用いられる。 The image processing ASIC 130 stores the image data from the front surface imaging device in the sub memory 134. A memory control IC 132 is arranged between the image processing ASIC 130 and the sub memory 134, and mediates the writing of data to the sub memory 134 and the reading of data from the sub memory 134. The physical memory space of the sub-memory 134 is divided into a surface input image data buffer 136 for storing image data from the surface-side imaging device and an image memory 138, and is used for various purposes. The image memory 138 is used for buffering image data temporarily created in a processing process such as editing, processing, and displaying the image data. For example, an image buffer for converting image data (raw data) from a surface-side imaging device into a specified image format, an image buffer for transmitting a fax, or an image data output to an external network or an external device. It is used as an image buffer for the occasion.

同様に、画像処理ASIC140は、裏面側撮像デバイスからの画像データをサブメモリー144に格納する。画像処理ASIC140とサブメモリー144との間には、メモリー制御IC142が配置されており、サブメモリー144へのデータ書込み、および、サブメモリー144からのデータ読出しを仲介する。サブメモリー144の物理メモリー空間は、裏面側撮像デバイスからの画像データを格納するための裏面入力画像データバッファ146と、画像メモリー148とに区分されて、それぞれに応じた用途で使用される。 Similarly, the image processing ASIC 140 stores the image data from the back side imaging device in the sub memory 144. A memory control IC 142 is arranged between the image processing ASIC 140 and the sub memory 144, and mediates the writing of data to the sub memory 144 and the reading of data from the sub memory 144. The physical memory space of the sub-memory 144 is divided into a back-side input image data buffer 146 for storing image data from the back-side image pickup device and an image memory 148, and is used for each purpose.

HDD150には、各種プログラムが不揮発的に格納されている。具体的には、HDD150は、ハイパーバイザー152と、ホストOS154と、1または複数のゲストOS156と、1または複数のアプリケーション158と、制御ファームウェア160とを格納している。これらのプログラムは、DVD−ROM(Digital Versatile Disk Read Only Memory)などの光学記録媒体、磁気記録媒体、半導体記録媒体、光磁気記憶媒体など
の非過渡的(non-transitory)なコンピューター読取可能な記録媒体を媒介としてインストールされてもよい。あるいは、有線通信回線または無線通信回線を介して図示しないサーバー装置などから必要なプログラムがダウンロードされて、制御部100にインストールされてもよい。これらの各プログラムの詳細および実行タイミングなどについては、後述する。
Various programs are non-volatilely stored in the HDD 150. Specifically, the HDD 150 stores the hypervisor 152, the host OS 154, one or more guest OS 156s, one or more applications 158, and the control firmware 160. These programs are non-transitory computer-readable recordings such as optical recording media such as DVD-ROM (Digital Versatile Disk Read Only Memory), magnetic recording media, semiconductor recording media, and optical magnetic storage media. It may be installed via a medium. Alternatively, a necessary program may be downloaded from a server device (not shown) or the like via a wired communication line or a wireless communication line and installed in the control unit 100. Details of each of these programs, execution timing, and the like will be described later.

内部バス104には、インターフェイス回路105,106,107,108が接続されている。 Interface circuits 105, 106, 107, and 108 are connected to the internal bus 104.

インターフェイス回路105は、FAXを送受信するFAX通信部、および/または、ネットワークを介して他の装置との間でデータを遣り取りするネットワーク通信と接続される。プロセッサー102からの指令などを受けて、通信部から外部装置への送信処理、および、通信部での外部装置からのデータの受信処理などを仲介する。なお、ゲストOS156が提供する機能を外部端末で利用する機能を実装してもよい。 The interface circuit 105 is connected to a fax communication unit that transmits and receives faxes, and / or network communication that exchanges data with other devices via a network. In response to a command from the processor 102 or the like, it mediates transmission processing from the communication unit to the external device, data reception processing from the external device in the communication unit, and the like. A function of using the function provided by the guest OS 156 on an external terminal may be implemented.

インターフェイス回路106は、操作パネル123に各種情報を表示する処理、および、操作パネル123に対するユーザー操作を受け付ける処理などを仲介する。操作パネル123は、ユーザーによるタッチ操作を受け付ける表示操作部であり、典型的には、表示部であるLCD(Liquid Crystal Display:液晶表示部)と、タッチ操作を受け付けるタッチパネルとを含む。なお、表示部には、ホストOS154およびゲストOS156の動作状況を可視化する機能を実装してもよい。例えば、表示部上に、空きメモリー空間の量およびプロセッサーの利用時間などをグラフまたは数値で表示するようにしてもよい。すなわち、画像形成装置1は、ゲストOS156上の情報を表示する表示部を有していてもよい。 The interface circuit 106 mediates a process of displaying various information on the operation panel 123, a process of accepting a user operation on the operation panel 123, and the like. The operation panel 123 is a display operation unit that accepts touch operations by the user, and typically includes an LCD (Liquid Crystal Display) which is a display unit and a touch panel that accepts touch operations. The display unit may be equipped with a function for visualizing the operating status of the host OS 154 and the guest OS 156. For example, the amount of free memory space and the usage time of the processor may be displayed as a graph or a numerical value on the display unit. That is, the image forming apparatus 1 may have a display unit for displaying information on the guest OS 156.

インターフェイス回路107は、複数の認証デバイスとのデータの遣り取りを仲介する。認証デバイスとしては、典型的には、カード認証デバイス121および指紋認証デバイス122を含む。 The interface circuit 107 mediates the exchange of data with a plurality of authentication devices. Authentication devices typically include a card authentication device 121 and a fingerprint authentication device 122.

インターフェイス回路108は、プロセッサー102とプリントエンジン4との間のデータの遣り取りを仲介する。 The interface circuit 108 mediates the exchange of data between the processor 102 and the print engine 4.

図2に示す制御部100においては、メインメモリー110内の画像メモリー114と、サブメモリー134内の画像メモリー138と、サブメモリー144内の画像メモリー148との、3つの画像メモリーが用意されている。 In the control unit 100 shown in FIG. 2, three image memories are prepared: an image memory 114 in the main memory 110, an image memory 138 in the sub memory 134, and an image memory 148 in the sub memory 144. ..

画像メモリーは、画像形成装置1の本体での画像処理において利用するメモリーである。このような画像メモリーは、画像形成装置1において必須の構成である。図2に示すように、画像メモリーは、メインメモリー110上に専用の画像処理領域として確保されてもよいし、画像処理ASIC130,140ごとに設けられるローカルメモリー(サブメモリー134,144)上に専用の画像処理領域として確保されてもよい。上述したように、表面用の画像処理ASIC130に加えて、裏面の画像処理ASIC140にもローカルメモリー(サブメモリー144)を配置し、このローカルメモリー上に画像メモリーを設けることで、高速スキャンを実現する。 The image memory is a memory used in image processing in the main body of the image forming apparatus 1. Such an image memory is an indispensable configuration in the image forming apparatus 1. As shown in FIG. 2, the image memory may be reserved as a dedicated image processing area on the main memory 110, or may be dedicated on the local memories (sub-memory 134, 144) provided for each of the image processing ASICs 130 and 140. It may be secured as an image processing area of. As described above, in addition to the image processing ASIC 130 for the front surface, a local memory (sub memory 144) is also arranged in the image processing ASIC 140 on the back surface, and the image memory is provided on the local memory to realize high-speed scanning. ..

このように、画像形成装置1のメモリー構成の設計としては、それぞれの目的に応じて専用の領域が確保されることも多い。 As described above, in the design of the memory configuration of the image forming apparatus 1, a dedicated area is often secured according to each purpose.

また、プリント処理(画像形成装置)において、例えば、画像形成装置1を外部のプリントサーバーと接続する場合にも、図2に示すような画像処理ASICおよびサブメモリー(画像メモリー)を追加することもある。このように、画像形成装置1の機能を拡張する場合にも、より多くの画像メモリーが追加されることもあり、これらの画像メモリーが同時に利用されることでマルチ動作を実現している。 Further, in the print processing (image forming apparatus), for example, when the image forming apparatus 1 is connected to an external print server, the image processing ASIC and the sub memory (image memory) as shown in FIG. 2 may be added. is there. As described above, even when the function of the image forming apparatus 1 is expanded, more image memories may be added, and the multi-operation is realized by using these image memories at the same time.

<C.画像形成装置1の制御部100での仮想化環境>
次に、本実施の形態に従う画像形成装置1の制御部100での仮想化環境について説明する。図3は、本実施の形態に従う画像形成装置1の制御部100でのプログラムの実行状態の一例を示す模式図である。
<C. Virtualization environment in control unit 100 of image forming apparatus 1>
Next, the virtual environment in the control unit 100 of the image forming apparatus 1 according to the present embodiment will be described. FIG. 3 is a schematic diagram showing an example of a program execution state in the control unit 100 of the image forming apparatus 1 according to the present embodiment.

図3には、ホストOS154に加えて、3つのゲストOS156(ゲストOS1〜OS3)が同時実行されている状態を示す。図3を参照して、これらの複数のOSは、共通のハードウェアリソース(すなわち、プロセッサー102およびシステムメモリー112)を用いて実行される。図3には、プロセッサー102がシステムメモリー112にハイパーバイザー152を展開して実行することで、複数のOSが同時実行されている状態を示す。すなわち、それぞれのOSを動作させるためのデータを格納するメモリー空間は、システムメモリー112内に用意される。システムメモリー112のメモリー空間の利用制御(メモリー領域の割り当てなど)は、ハイパーバイザー152によって管理される。 FIG. 3 shows a state in which three guest OS 156s (guest OS1 to OS3) are simultaneously executed in addition to the host OS 154. With reference to FIG. 3, these plurality of operating systems are executed using common hardware resources (that is, processor 102 and system memory 112). FIG. 3 shows a state in which a plurality of OSs are simultaneously executed by the processor 102 deploying the hypervisor 152 in the system memory 112 and executing the hypervisor 152. That is, a memory space for storing data for operating each OS is prepared in the system memory 112. The memory space usage control (memory area allocation, etc.) of the system memory 112 is managed by the hypervisor 152.

ハイパーバイザー152は、プロセッサー102およびシステムメモリー112を含むリソースを用いて、ホストOS154および複数のゲストOS156を含む複数のOSの同時実行を制御する。ハイパーバイザー152は、各OSの実行に必要な仮想化されたプロセッサーリソースの割り当て処理、割込み処理、メモリー制御、デバイスドライバーの提供などを行なう。このような処理を提供することで、複数のゲストOS156の切り替え実行を可能にする。ハイパーバイザー152は、画像形成装置1および画像形成装置1に接続されたデバイスをゲストOS156が利用するための適切な初期化を行なう機能を有している。このような機能によって、ゲストOS156に切り替えられた直後であっても、ホストOS154と同様の処理を実行することができる。 The hypervisor 152 uses resources including the processor 102 and the system memory 112 to control the simultaneous execution of a plurality of OSs including the host OS 154 and the plurality of guest OS 156s. The hypervisor 152 performs allocation processing of virtualized processor resources necessary for execution of each OS, interrupt processing, memory control, provision of device drivers, and the like. By providing such a process, it is possible to switch and execute a plurality of guest OSs 156. The hypervisor 152 has a function of appropriately initializing the image forming apparatus 1 and the device connected to the image forming apparatus 1 so that the guest OS 156 can use the image forming apparatus 1. With such a function, the same processing as that of the host OS 154 can be executed even immediately after the switch to the guest OS 156.

なお、ハイパーバイザー152の機能として、メモリー空間のマネージメントに加えて、電力のマネージメントを行なってもよい。例えば、ハイパーバイザー152は、画像形成装置1が省電力モードのときに、ゲストOS156の動作を制限する機能を実装してもよい。 As a function of the hypervisor 152, power management may be performed in addition to management of the memory space. For example, the hypervisor 152 may implement a function of limiting the operation of the guest OS 156 when the image forming apparatus 1 is in the power saving mode.

ホストOS154は、制御部100において常時実行されているOSである。ホストOS154上では、制御ファームウェア160が実行される。ホストOS154としては、Linux(登録商標)などの仮想メモリー機構をもつOSが用いられる。但し、ホストOS154としては、汎用的なOSではなく、後述するような、調停モジュール170による介入制御を受け付けるように、画像形成装置1に独自の機能が拡張されている。 The host OS 154 is an OS that is constantly executed by the control unit 100. The control firmware 160 is executed on the host OS 154. As the host OS 154, an OS having a virtual memory mechanism such as Linux (registered trademark) is used. However, the host OS 154 is not a general-purpose OS, and its own function is extended to the image forming apparatus 1 so as to accept intervention control by the arbitration module 170 as described later.

制御ファームウェア160は、ホストOS154上で実行され、画像形成装置1の主たる制御を司る。より具体的には、制御ファームウェア160は、画像形成装置1の主たる処理(本体動作)の制御、画像メモリーを扱う画像処理ASIC130,140の制御を主体としたジョブの処理、各種のデバイス制御などを担当する。 The control firmware 160 is executed on the host OS 154 and controls the main control of the image forming apparatus 1. More specifically, the control firmware 160 controls the main processing (main unit operation) of the image forming apparatus 1, job processing mainly for controlling the image processing ASICs 130 and 140 that handle the image memory, and various device controls. Handle.

ゲストOS156は、仮想メモリー機能をもつOSであれば、ホストOS154と同一種類のOSであってもよいし、異なる種類のOSであってもよい。例えば、ゲストOS156としては、LinuxおよびWindows(登録商標)などを用いることができる。 The guest OS 156 may be the same type of OS as the host OS 154, or may be a different type of OS, as long as it is an OS having a virtual memory function. For example, as the guest OS 156, Linux, Windows (registered trademark) and the like can be used.

ゲストOS156上では、各種のアプリケーション158が実行される。例えば、アプリケーション158としては、ユーザー認証を行なうアプリケーションを含み得る。より具体的には、アプリケーション158として、カード認証アプリケーション1581と、指紋認証アプリケーション1582と、ID認証アプリケーション1583とを含む。これらの複数の認証プログラムは、複数の認証方式にそれぞれ対応して互いに独立して配置される。 Various applications 158 are executed on the guest OS 156. For example, the application 158 may include an application that authenticates a user. More specifically, the application 158 includes a card authentication application 1581, a fingerprint authentication application 1582, and an ID authentication application 1583. These plurality of authentication programs are arranged independently of each other corresponding to the plurality of authentication methods.

カード認証アプリケーション1581、指紋認証アプリケーション1582、および、ID認証アプリケーション1583は、複数の認証プログラムの各々を実行するためのホストOSとは異なる複数のゲストOS(ゲストOS1、ゲストOS2、および、ゲストOS3)上でそれぞれ実行される。 The card authentication application 1581, the fingerprint authentication application 1582, and the ID authentication application 1583 are a plurality of guest OSs (guest OS1, guest OS2, and guest OS3) different from the host OS for executing each of the plurality of authentication programs. Executed above respectively.

さらに、ゲストOS156上に画像形成装置1のユーザーごとのデスクトップ環境を実現し、ジョブ内容を管理する機能を実装してもよい。なお、ゲストOS156に任意のプログラムを提供するアプリストアーに類似した機構を採用してもよい。 Further, a desktop environment for each user of the image forming apparatus 1 may be realized on the guest OS 156, and a function for managing job contents may be implemented. A mechanism similar to an app store that provides an arbitrary program to the guest OS 156 may be adopted.

さらに、ハイパーバイザー152の機能の一部、または、ハイパーバイザー152と連携する独立した機能として、調停モジュール170、空きメモリー管理モジュール172、認証管理モジュール174が実行される。 Further, the arbitration module 170, the free memory management module 172, and the authentication management module 174 are executed as a part of the functions of the hypervisor 152 or as an independent function linked with the hypervisor 152.

調停モジュール170は、ハイパーバイザー152と同一レベルで動作し、制御ファームウェア160とハイパーバイザー152とを連携させ、同時実行中のゲストOS156との間でメモリー空間を調停して利用する。本実施の形態においては、調停モジュール170は、処理対象のジョブの動作を考慮して、画像メモリーを効率的に利用することで、ゲストOS156の切り替えに対して先行読出し、および、メモリーの内容の退避などを実行する。なお、調停モジュール170は、いずれかのゲストOS156上のユーザー管理情報を必要に応じて退避前に制御ファームウェア160と共有する機能を有していてもよい。 The arbitration module 170 operates at the same level as the hypervisor 152, links the control firmware 160 and the hypervisor 152, and arbitrates and uses the memory space between the guest OS 156 that is being executed at the same time. In the present embodiment, the arbitration module 170 takes into consideration the operation of the job to be processed and efficiently uses the image memory to read ahead of the switching of the guest OS 156 and to read the contents of the memory in advance. Execute evacuation etc. The arbitration module 170 may have a function of sharing the user management information on any guest OS 156 with the control firmware 160 before saving, if necessary.

空きメモリー管理モジュール172は、システムメモリー112のうちホストOS154およびホストOS154と同時実行されるゲストOS156が利用していない空きメモリー空間を管理する。すなわち、空きメモリー管理モジュール172は、制御ファームウェア160が画像処理に利用するメモリー空間と他のゲストOS156の認証プログラム(カード認証アプリケーション1581、指紋認証アプリケーション1582、ID認証アプリケーション1583)に利用するメモリー空間とを管理する。このとき、空きメモリー管理モジュール172は、調停モジュール170と連携動作することで、画像メモリー空間を含めた空きメモリー空間を管理する。調停モジュール170を管理するためのAPI(Application Programming Interface)を実装することで、モジュール間の連携性を高めるようにしてもよい。 The free memory management module 172 manages the free memory space of the system memory 112 that is not used by the guest OS 156 that is executed simultaneously with the host OS 154 and the host OS 154. That is, the free memory management module 172 includes a memory space used by the control firmware 160 for image processing and a memory space used for other guest OS 156 authentication programs (card authentication application 1581, fingerprint authentication application 1582, ID authentication application 1583). To manage. At this time, the free memory management module 172 manages the free memory space including the image memory space by operating in cooperation with the arbitration module 170. By implementing an API (Application Programming Interface) for managing the arbitration module 170, cooperation between the modules may be enhanced.

認証管理モジュール174は、認証デバイスとゲストOSと関連を管理し、認証デバイスからの通知があると、対応するゲストOSを先行起動させてから、制御ファームウェア160への通知を行なう。認証管理モジュール174は、認証デバイスの各々での認証に必要な認証プログラムの実行に必要なゲストOSとの組み合わせを管理する。認証デバイスとしては、カード認証を行なうためにカード情報を読み取るデバイスであるカード認証デバイス121と、指紋認証を行なうために指紋を読み取るデバイスである指紋認証デバイス122と、ID認証を行なうためにタッチパネルでID/パスワードが入力されたことを検知するタッチパネルデバイスである操作パネル123とを想定する。このように、画像形成装置1は、複数の認証方式にそれぞれ対応する複数の認証デバイスを有している。 The authentication management module 174 manages the relationship between the authentication device and the guest OS, and when there is a notification from the authentication device, the corresponding guest OS is started in advance and then the control firmware 160 is notified. The authentication management module 174 manages the combination with the guest OS required for executing the authentication program required for authentication in each authentication device. The authentication devices include a card authentication device 121, which is a device that reads card information for card authentication, a fingerprint authentication device 122, which is a device that reads fingerprints for fingerprint authentication, and a touch panel for ID authentication. It is assumed that the operation panel 123 is a touch panel device that detects that an ID / password has been input. As described above, the image forming apparatus 1 has a plurality of authentication devices corresponding to each of the plurality of authentication methods.

例えば、認証管理モジュール174は、認証デバイスの各々での認証に必要な認証プログラムの実行に必要なゲストOSとの組み合わせとして、以下のようなテーブルを管理している。 For example, the authentication management module 174 manages the following tables as a combination with the guest OS required for executing the authentication program required for authentication in each authentication device.

Figure 0006852762
Figure 0006852762

ホストOS154およびゲストOS156について、連続するメモリー空間を優先して画像メモリーに退避することが好ましい。 It is preferable that the host OS 154 and the guest OS 156 are saved in the image memory with priority given to the continuous memory space.

あるゲストOS156上のプログラムを他のゲストOS156上で実行させるように、マイグレーション処理を適切に行なう機能を実装してもよい。この場合には、あるゲストOS156に何らかの不具合が生じても、別のゲストOS156がアプリケーションの処理を継続できる。すなわち、調停モジュール170は、ゲストOS156を外部システムへマイグレーションしたときに退避したデータ内容を移動管理する機能をさらに含む。 A function that appropriately performs the migration process may be implemented so that the program on one guest OS 156 is executed on another guest OS 156. In this case, even if some trouble occurs in one guest OS 156, another guest OS 156 can continue the processing of the application. That is, the arbitration module 170 further includes a function of moving and managing the data contents saved when the guest OS 156 is migrated to the external system.

さらに、画像形成装置1を管理するサーバー型または常駐型のプログラムが、ゲストOS156の構成を管理し、複数の画像形成装置1および画像形成装置群の全体として、最適な構成になるように実行するゲストOS156および各ゲストOS156上で実行するアプリケーションを選択するようにしてもよい。 Further, a server-type or resident-type program that manages the image forming apparatus 1 manages the configuration of the guest OS 156 and executes the configuration of the plurality of image forming apparatus 1 and the image forming apparatus group so as to have an optimum configuration as a whole. The guest OS 156 and the application to be executed on each guest OS 156 may be selected.

ところで、図2に示すように、画像形成装置1の制御部100には、複数の画像メモリーが用意されている場合が多い。一方で、画像形成装置1において、プリント動作(画像形成動作)のみが連続する場合、または、原稿の片面のみをスキャンする場合などのように、一度にすべての画像メモリーが利用されていない状態も多くある。 By the way, as shown in FIG. 2, a plurality of image memories are often prepared in the control unit 100 of the image forming apparatus 1. On the other hand, in the image forming apparatus 1, there is a state in which all the image memories are not used at one time, such as when only the printing operation (image forming operation) is continuous or when only one side of the original is scanned. There are many.

また、一般的には、画像メモリーは、ブロック単位で圧縮伸長管理されている。さらに、画像メモリーを単位分割して共用利用することで、複数タスクが物理メモリーを効率よく利用できるような構成も採用されている。 Further, in general, the image memory is compressed and decompressed in block units. Furthermore, by dividing the image memory into units and sharing them, a configuration is also adopted so that multiple tasks can efficiently use the physical memory.

一方で、本実施の形態に従う画像形成装置1のように、複数のゲストOSを搭載して多機能化されることもあるが、ゲストOSのメモリー消費量が大きくなる場合がある。また、複数のゲストOSを稼動させるマルチOSの実現が要求されているが、一般的な仮想環境の実現の場合と同様の課題がある。そのため、画像形成装置の限られたリソース内で、複数のOSの切り替えについての応答性能に低下させず、マルチOSを実現することは容易ではない。 On the other hand, as in the image forming apparatus 1 according to the present embodiment, a plurality of guest OSes may be mounted to be multifunctional, but the memory consumption of the guest OS may be large. Further, although the realization of a multi-OS that operates a plurality of guest OSs is required, there is a problem similar to the realization of a general virtual environment. Therefore, within the limited resources of the image forming apparatus, it is not easy to realize a multi-OS without deteriorating the response performance for switching between a plurality of OSs.

例えば、上述の特許文献1は、単一システム内に共存させた複数のオペレーティングシステムを高速に切り替えて使用できる環境を開示する。この特許文献1に記載の発明では、システムメモリー上にOS管理外の独立したメモリー空間を事前に確保し、ゲストOSの動作コンテキストの保存に利用する。但し、このような構成を採用したとしても、独立したメモリー空間をシステムメモリー上に確保することの制限があり、また、メモリー空間が不足した場合には二次記憶装置を併用せざるを得ず、遅延が生じるため、複数のOSを高速に切り替え実行することが難しい場合もある。 For example, Patent Document 1 described above discloses an environment in which a plurality of operating systems coexisting in a single system can be switched and used at high speed. In the invention described in Patent Document 1, an independent memory space not managed by the OS is secured in advance on the system memory and used for storing the operation context of the guest OS. However, even if such a configuration is adopted, there is a limitation of securing an independent memory space on the system memory, and if the memory space is insufficient, a secondary storage device must be used together. Because of the delay, it may be difficult to switch and execute multiple OSs at high speed.

また、上述の特許文献3は、第1OSユーザー名を第2OSユーザー名として用いてログイン手順を簡略化することで、第2OSログイン手順を高速化している。しかしながら、画像処理ジョブが発生しメモリーなどリソースが枯渇する場合において、本体制御の第1OSへリソースを明け渡すために第2OSのリソース解放のためのログアウト処理時間が発生し、画像処理実行開始が遅れ得る。特に、リソース確認詳細が開示されておらず画像メモリーについて言及がないため、リソース不足時のフロー手順から第2OSの終了によりリソース解放すると終了手順に大きく時間を取られる。その結果、第1OSジョブ実行開始への遅延が大きくなりジョブ生産性への影響が大きい。 Further, Patent Document 3 described above uses the first OS user name as the second OS user name to simplify the login procedure, thereby speeding up the second OS login procedure. However, when an image processing job occurs and resources such as memory are exhausted, a logout processing time for releasing the resources of the second OS is required to surrender the resources to the first OS of the main body control, and the start of image processing execution may be delayed. .. In particular, since the details of resource confirmation are not disclosed and the image memory is not mentioned, if the resources are released by the termination of the second OS from the flow procedure when the resources are insufficient, the termination procedure takes a lot of time. As a result, the delay to the start of execution of the first OS job becomes large, and the influence on the job productivity is large.

<D.認証処理>
次に、本実施の形態に従う画像形成装置1での認証処理の一例について説明する。
<D. Authentication process>
Next, an example of the authentication process in the image forming apparatus 1 according to the present embodiment will be described.

ユーザー認証が行なわれる際、カード認証デバイス121または指紋認証デバイス122からホストOSの仮想デバイスに制御信号が与えられ、ホストOS154上で実行されるアプリケーション(制御ファームウェア160に含まれる、プリントアプリケーション1601、スキャンアプリケーション1602、FAXアプリケーション1603、BOXアプリケーション1604)がその制御信号を受け取って、認証処理を実施する。この場合、認証を行なうアプリケーションは、ゲストOS156上で実行される認証アプリケーション(カード認証アプリケーション1581、指紋認証アプリケーション1582、ID認証アプリケーション1583)に対して認証処理を行なうために、必要なゲストOS156が立ち上がっているかをチェックし、必要に応じてゲストOS156を立ち上げた上で認証処理を実施する。 When user authentication is performed, a control signal is given from the card authentication device 121 or the fingerprint authentication device 122 to the virtual device of the host OS, and an application executed on the host OS 154 (print application 1601, scan included in the control firmware 160). Application 1602, FAX application 1603, BOX application 1604) receives the control signal and executes the authentication process. In this case, as the application for authentication, the guest OS 156 necessary for performing the authentication process for the authentication application (card authentication application 1581, fingerprint authentication application 1582, ID authentication application 1583) executed on the guest OS 156 is started up. Check if it is, and if necessary, start up the guest OS 156 and then perform the authentication process.

画像形成装置1においては、カード認証デバイス121または指紋認証デバイス122の認証デバイスから通知される制御信号を認証管理モジュール174が受け取り、必要なゲストOSを起動した上でホストOS154の仮想デバイス1605に制御信号を通知する。このような処理を採用することで、ホストOS154に対して認証を行なうアプリケーション158はゲストOS156の起動処理と並行して、認証要求を行なうことができるため、認証処理を高速に行なうことが可能となる。 In the image forming apparatus 1, the authentication management module 174 receives the control signal notified from the authentication device of the card authentication device 121 or the fingerprint authentication device 122, boots the necessary guest OS, and then controls the virtual device 1605 of the host OS 154. Notify the signal. By adopting such a process, the application 158 that authenticates to the host OS 154 can make an authentication request in parallel with the startup process of the guest OS 156, so that the authentication process can be performed at high speed. Become.

図4は、本実施の形態に従う画像形成装置1の制御部100での認証処理の実行状態の一例を示す模式図である。図4を参照して、制御部100のハードウェアを利用してハイパーバイザー152が実行され、ハイパーバイザー152の管理下で、ホストOS154および複数のゲストOS156が実行されている例を示す。 FIG. 4 is a schematic diagram showing an example of an execution state of the authentication process in the control unit 100 of the image forming apparatus 1 according to the present embodiment. With reference to FIG. 4, an example is shown in which the hypervisor 152 is executed by using the hardware of the control unit 100, and the host OS 154 and the plurality of guest OS 156 are executed under the control of the hypervisor 152.

制御部100のハードウェアとしては、メモリー制御IC118および圧縮/伸張IC120(図2)により提供される、MMU(メモリー管理部:Memory Management Unit)およびICの機能と、プロセッサー102と、メインメモリー110とを含む。さらに、制御部100のハードウェアとしては、サブメモリー134,144に加えて、認証デバイス192と、NIC(Network Interface Card)デバイス194と、各種の記憶デバイス196を含む。 The hardware of the control unit 100 includes the functions of the MMU (Memory Management Unit) and the IC provided by the memory control IC 118 and the compression / decompression IC 120 (FIG. 2), the processor 102, and the main memory 110. including. Further, the hardware of the control unit 100 includes an authentication device 192, a NIC (Network Interface Card) device 194, and various storage devices 196, in addition to the sub-memories 134 and 144.

ハイパーバイザー152は、複数ゲストOSの実行環境の起動、一時停止、再開、停止を管理する。典型的には、ハイパーバイザー152は、異なる仮想メモリー空間でプログラム実行が可能な仮想メモリー制御システムに相当する仮想的なメモリー管理部(VMMU)1521と、異なる割込み情報を扱うことが可能な仮想割込み制御システムである割込み管理部(VIC)1522と、異なるプロセッサーを扱う仮想プロセッサー制御システムに相当する仮想的な演算リソース(VCPU)1523とを、複数のOSが利用可能な状態で提供する。また、ゲストOS1〜OS3上では、アプリケーション158(カー
ド認証アプリケーション1581、指紋認証アプリケーション1582、ID認証アプリケーション1583)がそれぞれ実行されるものとする。ハイパーバイザー152は、スタブプログラム1584,1585,1586を用いてそれぞれゲストOS156およびアプリケーション158の実行を管理する。
The hypervisor 152 manages the start, pause, restart, and stop of the execution environment of the plurality of guest OSes. Typically, the hypervisor 152 has a virtual memory management unit (VMMU) 1521, which corresponds to a virtual memory control system capable of executing a program in different virtual memory spaces, and a virtual interrupt capable of handling different interrupt information. An interrupt management unit (VIC) 1522, which is a control system, and a virtual arithmetic resource (VCPU) 1523, which corresponds to a virtual processor control system that handles different processors, are provided in a state in which a plurality of OSs can be used. Further, it is assumed that the application 158 (card authentication application 1581, fingerprint authentication application 1582, ID authentication application 1583) is executed on the guest OS1 to OS3, respectively. The hypervisor 152 manages the execution of the guest OS 156 and the application 158, respectively, using the stub programs 1584, 1585, and 1586.

画像メモリーは、ブロック単位で圧縮伸長管理されている。さらに、画像メモリーを単位分割して共用利用することで、複数タスクが物理メモリーを効率よく利用できるような構成が採用されているとする。 The image memory is compressed and decompressed in block units. Further, it is assumed that a configuration is adopted in which the physical memory can be efficiently used by a plurality of tasks by dividing the image memory into units and sharing the memory.

ホストOS154およびゲストOS156についても、仮想メモリー機構を用いて一定のページ単位でメモリー空間を管理している。なお、以下の説明では、仮想メモリー機構をもたないOSについては考慮していない。 The host OS 154 and the guest OS 156 also manage the memory space in a fixed page unit by using a virtual memory mechanism. In the following description, an OS that does not have a virtual memory mechanism is not considered.

しかしながら、画像メモリーで管理されるブロック単位と、仮想メモリー機構を用いて管理されるページ単位とは、単位サイズが同一とは限らない。また、管理対象の画像メモリーがメインメモリー110に設けられる場合と、サブメモリー134,144に設けられる場合とでは、その取扱いも同一にはできない。 However, the unit size of the block unit managed by the image memory and the page unit managed by the virtual memory mechanism are not always the same. Further, the handling of the image memory to be managed cannot be the same when it is provided in the main memory 110 and when it is provided in the sub memories 134 and 144.

そこで、画像形成装置1での管理単位および制御を前提として、ホストOS154およびゲストOS156、ならびに、ハイパーバイザー152でのメモリー共有化機構が必要になる。 Therefore, on the premise of the management unit and control in the image forming apparatus 1, a memory sharing mechanism in the host OS 154, the guest OS 156, and the hypervisor 152 is required.

本実施の形態に従う画像形成装置1には、画像処理ASIC130,140が組み込まれている。但し、プリント制御に利用される画像メモリーは、プロセッサー102と共有するメインメモリー100内の画像メモリー114、ならびに、画像処理ASIC130,140に関連付けられる専用のサブメモリー134,144内の画像メモリー138,148の2種類から構成される。このように、画像メモリーを利用するジョブに応じた利用形態となるため、メモリー領域の確保をジョブ動作に応じて上述のような単位サイズで実施する。 Image processing ASICs 130 and 140 are incorporated in the image forming apparatus 1 according to the present embodiment. However, the image memory used for print control includes the image memory 114 in the main memory 100 shared with the processor 102, and the image memories 138 and 148 in the dedicated sub memories 134 and 144 associated with the image processing ASIC 130 and 140. It is composed of two types. In this way, since the usage mode is adapted to the job that uses the image memory, the memory area is secured in the unit size as described above according to the job operation.

また、ゲストOS156上で実行されるアプリケーション158がホストOS154と共有する画像メモリーを適切に利用するためには、認証に必要なゲストOS156がハイパーバイザー152および調停モジュール170と情報交換し、メモリー割り当てを行なう必要がある。複数のアプリケーション158の各々が独自にメモリー割り当てを実施すると、画像形成装置1のシステム全体としてのホストOS154および制御ファームウェア160にて優先される動作を管理できなくなること、各ゲストOS156での異なるメモリー管理を実装するためにラッパーが必要となるため、両者をみたすスタブプログラム1584,1585,1586を各ゲストOS156に適合させてスタブ管理プログラム190によりインストールしなければならない。 Further, in order to properly use the image memory shared by the application 158 executed on the guest OS 156 with the host OS 154, the guest OS 156 required for authentication exchanges information with the hypervisor 152 and the arbitration module 170 to allocate the memory. Need to do. If each of the plurality of applications 158 independently allocates memory, it becomes impossible to manage the operation prioritized by the host OS 154 and the control firmware 160 of the image forming apparatus 1 as a whole system, and different memory management in each guest OS 156. Since a wrapper is required to implement the above, the stub programs 1584, 1585, and 1586 that satisfy both of them must be adapted to each guest OS 156 and installed by the stub management program 190.

スタブ管理プログラム190は、ハイパーバイザー152またはホストOS154上にて稼働し、各ゲストOS156に合わせたスタブプログラム1584,1585,1586を管理保存、各ゲストOS156のインストール方法でアプリケーション158が必要な情報を取得可能な実装にてインストール実施するように構成される。 The stub management program 190 runs on the hypervisor 152 or the host OS 154, manages and saves the stub programs 1584, 1585, and 1586 according to each guest OS 156, and acquires the information required by the application 158 by the installation method of each guest OS 156. It is configured to be installed with a possible implementation.

また、アプリケーションからアクセス可能なAPI(Application Programming Interface)をもち、メモリー要求、解放、拡張、ページアウトの指示、およびメモリー割り当て情報の入手が可能になるよう構成されている。 In addition, it has an API (Application Programming Interface) that can be accessed from applications, and is configured to enable memory request, release, expansion, page-out instructions, and memory allocation information.

退避メモリー管理モジュール178は、二次記憶装置(図2のHDD150)にアクセ
ス可能であり、メモリーをスワップアウトして空きメモリー空間を提供する。
The backup memory management module 178 is accessible to the secondary storage device (HDD 150 in FIG. 2) and swaps out the memory to provide free memory space.

図5は、本実施の形態に従う画像形成装置1におけるゲストOSの追加手順を説明するフローチャートである。図5に示す各ステップは、主として、画像形成装置1の制御部100のプロセッサー102がハイパーバイザー152を実現するプログラムを実行することで実現される。 FIG. 5 is a flowchart illustrating a procedure for adding a guest OS in the image forming apparatus 1 according to the present embodiment. Each step shown in FIG. 5 is mainly realized by the processor 102 of the control unit 100 of the image forming apparatus 1 executing a program for realizing the hypervisor 152.

図5を参照して、プロセッサー102は、新しいゲストOSの追加要求を受けたか否かを判断する(ステップS100)。新しいゲストOSの追加要求を受けていなければ(ステップS100においてNOの場合)、処理は終了する。 With reference to FIG. 5, the processor 102 determines whether or not a request for adding a new guest OS has been received (step S100). If no request for adding a new guest OS has been received (NO in step S100), the process ends.

新しいゲストOSの追加要求を受けていれば(ステップS100においてYESの場合)、プロセッサー102は、追加要求を受けたゲストOSに応じたスタブプログラムが存在するか否かを判断する(ステップS102)。 If the addition request of the new guest OS is received (YES in step S100), the processor 102 determines whether or not the stub program corresponding to the guest OS for which the addition request is received exists (step S102).

追加要求を受けたゲストOSに応じたスタブプログラムが存在すれば(ステップS102においてYESの場合)、プロセッサー102は、追加要求を受けたゲストOSに対して、対応するスタブプログラムのインストールを指示する(ステップS104)。そして、処理は終了する。 If there is a stub program corresponding to the guest OS for which the additional request has been received (YES in step S102), the processor 102 instructs the guest OS for which the additional request has been received to install the corresponding stub program (when YES in step S102). Step S104). Then, the process ends.

これに対して、追加要求を受けたゲストOSに応じたスタブプログラムが存在しなければ(ステップS102においてNOの場合)、プロセッサー102は、追加要求を受けたゲストOSの追加を停止する(ステップS106)。そして、処理は終了する。 On the other hand, if there is no stub program corresponding to the guest OS that received the additional request (NO in step S102), the processor 102 stops adding the guest OS that received the additional request (step S106). ). Then, the process ends.

図6は、本実施の形態に従う画像形成装置1における認証要求があった場合の処理手順を説明するフローチャートである。図6に示す各ステップは、主として、画像形成装置1の制御部100のプロセッサー102が認証管理モジュール174を実現するプログラムを実行することで実現される。 FIG. 6 is a flowchart illustrating a processing procedure when an authentication request is made in the image forming apparatus 1 according to the present embodiment. Each step shown in FIG. 6 is mainly realized by the processor 102 of the control unit 100 of the image forming apparatus 1 executing a program for realizing the authentication management module 174.

図6を参照して、プロセッサー102は、複数の認証デバイスのうちいずれかの認証デバイスからの信号を受けたか否かを判断する(ステップS200)。いずれの認証デバイスからも信号を受けていなければ(ステップS200においてNOの場合)、処理は終了する。 With reference to FIG. 6, the processor 102 determines whether or not a signal from any of the authentication devices among the plurality of authentication devices has been received (step S200). If no signal is received from any of the authentication devices (NO in step S200), the process ends.

いずれかの認証デバイスから信号を受けていれば(ステップS200においてYESの場合)、プロセッサー102は、受けた認証デバイスからの信号に応じて、認証プログラムおよび認証プログラムの実行に必要なゲストOSを決定する(ステップS202)。そして、プロセッサー102は、決定した必要なゲストOSを起動する(ステップS204)。このゲストOSの起動に際しては、図5に示す処理が実行されてもよい。 If a signal is received from any of the authentication devices (yes in step S200), the processor 102 determines the authentication program and the guest OS required to execute the authentication program according to the signal from the received authentication device. (Step S202). Then, the processor 102 starts the determined necessary guest OS (step S204). When starting the guest OS, the process shown in FIG. 5 may be executed.

決定した必要なゲストOSの起動後、プロセッサー102は、受けた認証デバイスからの信号に応じた認証プログラムを起動したゲストOS上で実行する(ステップS206)。そして、処理は終了する。 After booting the determined required guest OS, the processor 102 executes the authentication program according to the signal from the received authentication device on the booted guest OS (step S206). Then, the process ends.

<E.画像形成装置1でのメモリーマネージング>
次に、画像メモリー特有のデータ構造を利用したメモリーマネージングについて説明する。特に、ブロック分割された画像メモリーの利用に適した処理について説明する。
<E. Memory management in image forming apparatus 1>
Next, memory management using a data structure peculiar to an image memory will be described. In particular, a process suitable for using the block-divided image memory will be described.

本実施の形態に従う画像形成装置1では、物理的な画像メモリーは、画像ブロック単位で圧縮伸長管理される。そして、一定サイズの単位メモリーは、ツリー構造で管理される
。より具体的には、単位メモリーの各々は、リンクトリストを用いたツリー状のデータ構造を用いて管理され、各単位メモリーの種別およびアドレスが拡張アドレス・データ構造に格納されている。
In the image forming apparatus 1 according to the present embodiment, the physical image memory is compressed and expanded in units of image blocks. The unit memory of a certain size is managed in a tree structure. More specifically, each unit memory is managed using a tree-like data structure using a linked list, and the type and address of each unit memory are stored in the extended address data structure.

図7は、本実施の形態に従う画像形成装置1の制御部100におけるブロック分割された画像メモリーの利用形態を説明するための模式図である。図7を参照して、物理的な画像メモリーは、画像ブロック単位で圧縮伸長管理される。そして、一定サイズの単位メモリーは、ツリー構造で管理される。より具体的には、単位メモリーの各々は、リンクトリストを用いたツリー状のデータ構造を用いて管理され、各単位メモリーの種別およびアドレスが拡張アドレス・データ構造に格納されている。 FIG. 7 is a schematic diagram for explaining a usage mode of the block-divided image memory in the control unit 100 of the image forming apparatus 1 according to the present embodiment. With reference to FIG. 7, the physical image memory is compressed and decompressed in units of image blocks. The unit memory of a certain size is managed in a tree structure. More specifically, each unit memory is managed using a tree-like data structure using a linked list, and the type and address of each unit memory are stored in the extended address data structure.

図7に示すような構成において、調停モジュール170は、画像処理ASICと調停動作するように構成されることが好ましい。このような構成は、ホストOS154およびゲストOS156ならびにハイパーバイザー152の仮想メモリー機構との親和性は高い。一方で、このような構成は、ジョブ制御に依存した従来の画像処理を前提に構成されているため、他の目的、特にOSが扱えるメモリー空間としての利用については考慮されていない。 In the configuration shown in FIG. 7, the arbitration module 170 is preferably configured to arbitrate with the image processing ASIC. Such a configuration has a high affinity with the virtual memory mechanism of the host OS 154, the guest OS 156, and the hypervisor 152. On the other hand, since such a configuration is configured on the premise of conventional image processing that depends on job control, other purposes, particularly use as a memory space that can be handled by the OS, is not considered.

本実施の形態に従う画像形成装置1では、画像形成の管理単位に対して、ホストOS154およびゲストOS156ならびにハイパーバイザー152でのページ単位構造を割り当て、通常のメモリー空間として管理することで、ゲストOS156でも画像メモリーを利用することを可能にする。 In the image forming apparatus 1 according to the present embodiment, the page unit structure in the host OS 154, the guest OS 156, and the hypervisor 152 is assigned to the image forming management unit and managed as a normal memory space, so that the guest OS 156 can also be used. Allows the use of image memory.

すなわち、仮想メモリーとしては、一定サイズのページメモリーがツリー構造で管理され、いずれのゲストOSも利用可能になっている。画像メモリーは、画像メモリーの種別(すなわち、メインメモリー110内に設けられた場合と、サブメモリー134,144に設けられた場合)により、メモリー応答性能が異なる。そのため、単純なメモリー空間として利用すると、メモリー応答性能を考慮せずアクセスされるので、全体としての性能が劣化する可能性がある。 That is, as virtual memory, page memory of a certain size is managed in a tree structure, and any guest OS can be used. The image memory has different memory response performance depending on the type of the image memory (that is, when it is provided in the main memory 110 and when it is provided in the sub memories 134 and 144). Therefore, if it is used as a simple memory space, it is accessed without considering the memory response performance, so that the performance as a whole may deteriorate.

本実施の形態に従う画像形成装置1では、本体OS(ホストOS154およびゲストOS156とハイパーバイザー152との間に、調停モジュール170を介在させ、画像メモリーの種別に応じて、通常のメモリー空間、および、ストレージメモリー空間のいずれかとして選択的に割り当てる。 In the image forming apparatus 1 according to the present embodiment, the arbitration module 170 is interposed between the main body OS (host OS 154 and guest OS 156 and the hypervisor 152, and depending on the type of image memory, a normal memory space and a normal memory space, and Selectively allocate as one of the storage memory spaces.

例えば、ストレージメモリー空間は、ページ退避可能性が高く(Swappableに)設定さ
れ、ジョブ動作に応じてスワップされるよう、調停モジュール170によってメモリー管理が調停される。また、一旦ページ化した場合、再度ストレージメモリー空間へレストアされるのではなく、通常スワップと同様に扱うことで、高速なメモリー復帰が可能になる。
For example, the storage memory space is set to have a high page save possibility (Swappable), and the memory management is arbitrated by the arbitration module 170 so that it is swapped according to the job operation. In addition, once a page is created, it is not restored to the storage memory space again, but is treated in the same way as a normal swap, enabling high-speed memory recovery.

図7には、ハイパーバイザー152と連携する調停モジュール170が、メインメモリー110をページ退避可能性が低いと(Residentialに)設定し、サブメモリー134,
144をページ退避可能性が高いと(Swappableに)設定してもよい。また、サブメモリ
ー134,144上の退避メモリーはHDD150のスワップ領域にスワップアウトされてもよい。
In FIG. 7, the arbitration module 170 that cooperates with the hypervisor 152 sets the main memory 110 as having a low possibility of page evacuation (in Residential), and the sub memory 134,
144 may be set (to Swappable) when the page save possibility is high. Further, the saved memory on the sub-memories 134 and 144 may be swapped out to the swap area of the HDD 150.

これらのメモリー管理には、ゲストOS156を特定するIDをメモリー空間に配置されるデータに付与することで、読出し済みのゲストOS156がジョブ実行により破壊されたことを調停モジュール170が把握する機能においても利用できるようにしてもよい
。すなわち、調停モジュール170は、読出し済みのゲストOS156がジョブ実行により破壊されたことを検知し、ジョブ開始前に検知された破壊されたゲストOS156を再度読出す。
In these memory managements, by assigning an ID that identifies the guest OS 156 to the data arranged in the memory space, the arbitration module 170 also has a function of grasping that the read guest OS 156 has been destroyed by job execution. It may be made available. That is, the arbitration module 170 detects that the read guest OS 156 has been destroyed by the job execution, and reads the destroyed guest OS 156 detected before the start of the job again.

図8は、本実施の形態に従う画像形成装置1の制御部100におけるブロック分割された画像メモリーの管理方法を説明するための模式図である。図8を参照して、あるメモリー空間内の画像ブロック単位(例えば、4kByte)の各々に対して、属性情報を含むテーブル(カラム)が関連付けられる。 FIG. 8 is a schematic diagram for explaining a method of managing the block-divided image memory in the control unit 100 of the image forming apparatus 1 according to the present embodiment. With reference to FIG. 8, a table (column) containing attribute information is associated with each image block unit (for example, 4 kByte) in a certain memory space.

このテーブルには、複数の属性情報が格納される。図8に示す例では、ブロック番号、アドレス、メモリーID、OSID、JOB情報、C、Uなどである。 Multiple attribute information is stored in this table. In the example shown in FIG. 8, the block number, address, memory ID, OSID, JOB information, C, U, etc. are used.

ブロック番号は、メモリー空間上の領域を特定する情報である。アドレスは、メモリー空間上の対応するブロックのアドレスである。メモリーIDは、システムメモリー112上に設けられる画像メモリーであるのか、サブメモリー134,144上に設けられる画像メモリーであるのかを示す。OSIDは、対応するOSのIDを示す。JOB情報は、ゲストOSに対応する認証JOBであるか否かを示す。Cは、対応ブロックが参照された回数を示し、Uは、対応ブロックが更新されたか否かを示す。 The block number is information that identifies an area on the memory space. The address is the address of the corresponding block in memory space. The memory ID indicates whether it is an image memory provided on the system memory 112 or an image memory provided on the sub-memories 134 and 144. The OSID indicates the ID of the corresponding OS. The JOB information indicates whether or not the authentication JOB corresponds to the guest OS. C indicates the number of times the corresponding block has been referenced, and U indicates whether or not the corresponding block has been updated.

このように、調停モジュール170は、メモリー空間の種別に区分して、単位メモリーごとに利用しているOSを特定可能なIDを含むリストを管理する機能を有している。このようなブロック単位ごとの情報に基づいて、スワップアウトまたは書き戻しなどが制御される。 As described above, the arbitration module 170 has a function of classifying the memory space into types and managing a list including an ID that can identify the OS used for each unit memory. Swap-out or write-back is controlled based on such information for each block.

図9は、本実施の形態に従う画像形成装置1の制御部100における複数のメモリー間でのデータ管理の一例を示す模式図である。図9を参照して、ハイパーバイザーは、要求などに応じて、HDD150からゲストOSを、メインメモリー110内のシステムメモリー112上に読み出して起動する((1)起動)。その後、状況に応じて、メインメモリー110内の画像メモリー114に退避する((2)退避)。なお、メインメモリー110内の画像メモリー114に十分な空きメモリー空間が存在しなければ、いずれかの画像処理ASICに関連付けられるサブメモリー134,144内の画像メモリー138,148に読み出された内容が退避されることもある。 FIG. 9 is a schematic diagram showing an example of data management between a plurality of memories in the control unit 100 of the image forming apparatus 1 according to the present embodiment. With reference to FIG. 9, the hypervisor reads the guest OS from the HDD 150 onto the system memory 112 in the main memory 110 and starts it ((1) start) in response to a request or the like. After that, depending on the situation, the image is saved in the image memory 114 in the main memory 110 ((2) saved). If there is not enough free memory space in the image memory 114 in the main memory 110, the contents read out in the image memories 138 and 148 in the sub memories 134 and 144 associated with any of the image processing ASICs will be displayed. It may be evacuated.

その後、画像処理ASICによる処理要求などに応じて、サブメモリー134,144に、十分な空きメモリー空間を確保するために、退避しているデータをHDD150にページアウトする。 After that, in response to a processing request by the image processing ASIC or the like, the saved data is paged out to the HDD 150 in order to secure sufficient free memory space in the sub-memories 134 and 144.

図9に示すように、本実施の形態に従う画像形成装置1においては、HDD150、メインメモリー110(含:システムメモリー112、画像メモリー114)、および、画像処理ASICに関連付けられたサブメモリー134,144(画像メモリー138,148)の三者あるいは四者の間で、メモリーの使用要求および空きメモリー空間の量などに応じて、データの退避処理、ページアウト処理などが最適化された状態で実施される。 As shown in FIG. 9, in the image forming apparatus 1 according to the present embodiment, the HDD 150, the main memory 110 (including: system memory 112, image memory 114), and the sub memories 134, 144 associated with the image processing ASIC are Data saving processing, page-out processing, etc. are performed in an optimized state among the three or four parties (image memory 138, 148) according to the memory usage request and the amount of free memory space. To.

図10は、本実施の形態に従う画像形成装置1の制御部100におけるメモリー空間の利用形態の一例を示す図である。図10を参照して、例えば、システムメモリー112にホストOSならびにゲストOS1およびゲストOS2の実行に必要なデータが保存されている状態で、ゲストOS3の起動が指令されたとする((1)要求発生)。すると、調停モジュール170は、例えば、その実行が一時的に中止されるゲストOS1に割り当てていたメモリー領域をサブメモリー134に退避(スワップアウト)する。あるいは、ゲストOS1に割り当てていたメモリー領域をHDD150のスワップ領域に退避(スワップ
アウト)するようにしてもよい。
FIG. 10 is a diagram showing an example of how the memory space is used in the control unit 100 of the image forming apparatus 1 according to the present embodiment. With reference to FIG. 10, for example, it is assumed that the start of the guest OS 3 is instructed while the host OS and the data necessary for executing the guest OS 1 and the guest OS 2 are stored in the system memory 112 ((1) Request generation. ). Then, for example, the arbitration module 170 saves (swaps out) the memory area allocated to the guest OS 1 whose execution is temporarily stopped to the sub memory 134. Alternatively, the memory area allocated to the guest OS 1 may be saved (swap out) to the swap area of the HDD 150.

このとき、システムメモリー112からサブメモリー134へのデータ転送は、システムメモリーを中継して、そのバッファ容量(例えば、4kB)の単位(すなわち、ブロック単位)でパラレル伝送することもできる。 At this time, the data transfer from the system memory 112 to the sub memory 134 can be relayed through the system memory and transmitted in parallel in units of the buffer capacity (for example, 4 kB) (that is, in block units).

その後、サブOS3の実行の必要性がなくなると、システムメモリー112の内容がHDD150にスワップアウトされ、サブメモリー134からシステムメモリー112へ書き戻される。 After that, when the necessity of executing the sub OS 3 is eliminated, the contents of the system memory 112 are swapped out to the HDD 150 and written back from the sub memory 134 to the system memory 112.

このように、調停モジュール170は、必要なシステムメモリー112が利用可能になるまでブロック単位で並列にメモリー転送を実施し、ゲストOS156に対してメモリー空間を割り当てる。そして、調停モジュール170は、メモリー転送の完了後にゲストOS156への切り替えを行なう。さらにその後、調停モジュール170は、ホストOS154へ切り替える場合に、先に実行されたゲストOSおよび当該ゲストOS156で動作するプログラムが利用するシステムメモリーを一時凍結する処理、先に転送されたメモリーを順次入れ替える処理と、入れ替え完了後にホストOSへ切り替える処理とを連続動作させる。 In this way, the arbitration module 170 performs memory transfer in parallel in block units until the required system memory 112 becomes available, and allocates the memory space to the guest OS 156. Then, the arbitration module 170 switches to the guest OS 156 after the memory transfer is completed. After that, when switching to the host OS 154, the arbitration module 170 temporarily freezes the system memory used by the previously executed guest OS and the program running on the guest OS 156, and sequentially replaces the previously transferred memory. The process and the process of switching to the host OS after the replacement is completed are continuously operated.

また、調停モジュール170は、ゲストOS156切り替えた後に、ゲストOS156からホストOS154ではなく他のゲストOS156に切り替える場合に、ホストOS154に関するファイルメモリーのデータをHDD150(二次記憶装置)へ順次並列転送する処理、先に実行されたゲストOS156および当該ゲストOS156で動作するプログラムが利用するシステムメモリーを一時凍結する処理、HDD150へ転送されたファイルメモリーに対して一時凍結したシステムメモリーを順次並列転送する処理と、他のゲストOSが必要とするシステムメモリーになるまで先のゲストOSが転送完了したシステムメモリーから順次確保する処理と、他のゲストOSが動作可能なシステムメモリーが確保されたことで切り替えする処理とを連続動作させる。 Further, the arbitration module 170 sequentially transfers the data of the file memory related to the host OS 154 to the HDD 150 (secondary storage device) in parallel when switching from the guest OS 156 to another guest OS 156 instead of the host OS 154 after switching the guest OS 156. , The process of temporarily freezing the system memory used by the previously executed guest OS 156 and the program running on the guest OS 156, the process of sequentially transferring the temporarily frozen system memory to the file memory transferred to the HDD 150, and the process of sequentially transferring the temporarily frozen system memory in parallel. The process of sequentially allocating the system memory that the previous guest OS has completed the transfer until the system memory required by the other guest OS is reached, and the process of switching by securing the system memory that can operate the other guest OS. To operate continuously.

図11は、本実施の形態に従う画像形成装置1でのメモリーマネージングに係る処理手順を示すフローチャートである。図11に示す各ステップは、主として、画像形成装置1の制御部100のプロセッサー102が調停モジュール170のプログラムを実行することで実現される。 FIG. 11 is a flowchart showing a processing procedure related to memory management in the image forming apparatus 1 according to the present embodiment. Each step shown in FIG. 11 is mainly realized by the processor 102 of the control unit 100 of the image forming apparatus 1 executing the program of the arbitration module 170.

図11を参照して、プロセッサー102(調停モジュール170)は、メモリー空間の種別に区分して、単位メモリーごとに利用しているOSを特定可能なIDを含むリストを更新する(ステップS300)。ホストOSからゲストOSへの切り替えが要求されたか否かを判断する(ステップS302)。 With reference to FIG. 11, the processor 102 (arbitration module 170) divides the memory space into types and updates a list including an ID that can identify the OS used for each unit memory (step S300). It is determined whether or not the switch from the host OS to the guest OS is requested (step S302).

ホストOSからゲストOSへの切り替えが要求されると(ステップS302においてYESの場合)、プロセッサー102(調停モジュール170)は、必要なシステムメモリーが利用可能になるまで、ブロック単位で並列にメモリー転送を実施する(ステップS304)。これにより、切り替えが要求されたゲストOSに対して必要なメモリー空間を割り当てることができる。メモリー転送の完了後に、プロセッサー102(調停モジュール170)は、ホストOSからゲストOSへの切り替えを行なう(ステップS306)。 When switching from the host OS to the guest OS is requested (YES in step S302), the processor 102 (arbitration module 170) transfers memory in parallel in block units until the required system memory becomes available. It is carried out (step S304). As a result, the necessary memory space can be allocated to the guest OS for which switching is requested. After the memory transfer is completed, the processor 102 (arbitration module 170) switches from the host OS to the guest OS (step S306).

その後、プロセッサー102(調停モジュール170)は、ゲストOSから別のゲストOSへの切り替えが要求されたか否かを判断する(ステップS308)。 After that, the processor 102 (arbitration module 170) determines whether or not a switch from the guest OS to another guest OS is requested (step S308).

ゲストOSから別のゲストOSへの切り替えが要求されると(ステップS308におい
てYESの場合)、すなわち、ゲストOSへ切り替えた後に、ゲストOSからホストOSではなく他のゲストOSに切り替える場合に、まず、プロセッサー102(調停モジュール170)は、ホストOSに関するファイルメモリーのデータをHDD150(二次記憶装置)へ順次並列転送する(ステップS310)。続いて、プロセッサー102(調停モジュール170)は、先に実行されたゲストOSおよび当該ゲストOSで動作するプログラムが利用するシステムメモリーを一時凍結する(ステップS312)。さらに、プロセッサー102(調停モジュール170)は、HDD150(二次記憶装置)へ転送されたファイルメモリーに対して一時凍結したシステムメモリーを順次並列転送し(ステップS314)、他のゲストOSが必要とするシステムメモリーになるまで先のゲストOSが転送完了したシステムメモリーから順次確保する(ステップS316)。最終的に、プロセッサー102(調停モジュール170)は、他のゲストOSが動作可能なシステムメモリーが確保されたことで、ゲストOSから指定された別のゲストOSへ切り替える(ステップS318)。そして、処理はステップS320へ進む。
When switching from the guest OS to another guest OS is requested (YES in step S308), that is, when switching from the guest OS to another guest OS instead of the host OS after switching to the guest OS, first , The processor 102 (arbitration module 170) sequentially transfers the data of the file memory related to the host OS to the HDD 150 (secondary storage device) in parallel (step S310). Subsequently, the processor 102 (arbitration module 170) temporarily freezes the system memory used by the previously executed guest OS and the program running on the guest OS (step S312). Further, the processor 102 (arbitration module 170) sequentially transfers the temporarily frozen system memory to the file memory transferred to the HDD 150 (secondary storage device) in parallel (step S314), which is required by another guest OS. Until the system memory is reached, the previous guest OS sequentially secures the system memory for which transfer is completed (step S316). Finally, the processor 102 (arbitration module 170) switches from the guest OS to another designated guest OS because the system memory in which the other guest OS can operate is secured (step S318). Then, the process proceeds to step S320.

ホストOSからゲストOSへの切り替えが要求されていなければ(ステップS302においてNOの場合)、あるいは、ゲストOSから別のゲストOSへの切り替えが要求されていなければ(ステップS308においてNOの場合)、あるいは、ステップS318の実行後、ゲストOSからホストOSへの切り替えが要求されたか否かを判断する(ステップS320)。 If switching from the host OS to the guest OS is not requested (NO in step S302), or if switching from the guest OS to another guest OS is not requested (NO in step S308), Alternatively, after the execution of step S318, it is determined whether or not the switch from the guest OS to the host OS is requested (step S320).

ゲストOSからホストOSへの切り替えが要求されると(ステップS320においてYESの場合)、プロセッサー102(調停モジュール170)は、先に実行されたゲストOSおよび当該ゲストOSで動作するプログラムが利用するシステムメモリーを一時凍結する(ステップS322)。そして、プロセッサー102(調停モジュール170)は、先に転送されたメモリーを順次入れ替える(ステップS324)。メモリーの入れ替え完了後に、プロセッサー102(調停モジュール170)は、ゲストOSからホストOSへ切り替える(ステップS326)。そして、処理はステップS300へ戻る。 When switching from the guest OS to the host OS is requested (YES in step S320), the processor 102 (arbitration module 170) is a system used by the previously executed guest OS and the program running on the guest OS. The memory is temporarily frozen (step S322). Then, the processor 102 (arbitration module 170) sequentially replaces the previously transferred memory (step S324). After the memory replacement is completed, the processor 102 (arbitration module 170) switches from the guest OS to the host OS (step S326). Then, the process returns to step S300.

ゲストOSからホストOSへの切り替えが要求されていなければ(ステップS320においてNOの場合)、ステップS300以下の処理が繰り返される。 If switching from the guest OS to the host OS is not requested (NO in step S320), the processing of step S300 and subsequent steps is repeated.

<F.認証処理が必要なジョブの処理>
次に、認証処理が必要なジョブの処理について説明する。図12は、本実施の形態に従う画像形成装置1での認証処理が必要なジョブに対する処理手順を示すフローチャートである。図12に示す各ステップは、主として、画像形成装置1の制御部100のプロセッサー102が制御ファームウェア160を実行することで実現される。
<F. Processing of jobs that require authentication processing>
Next, the processing of the job that requires the authentication processing will be described. FIG. 12 is a flowchart showing a processing procedure for a job that requires authentication processing in the image forming apparatus 1 according to the present embodiment. Each step shown in FIG. 12 is mainly realized by the processor 102 of the control unit 100 of the image forming apparatus 1 executing the control firmware 160.

図12を参照して、プロセッサー102は、管理するジョブリストに含まれるジョブについて、異なるゲストOS上で実行される複数の認証アプリケーションが必要であるか否かを判断する(ステップS400)。異なるゲストOS上で実行される複数の認証アプリケーションが必要でなければ(ステップS400においてNOの場合)、通常の処理が実行される(ステップS402)。 With reference to FIG. 12, the processor 102 determines whether or not a plurality of authentication applications executed on different guest OSs are required for the jobs included in the managed job list (step S400). If a plurality of authentication applications executed on different guest OSes are not required (NO in step S400), normal processing is executed (step S402).

異なるゲストOS上で実行される複数の認証アプリケーションが必要であれば(ステップS400においてYESの場合)、プロセッサー102は、ゲストOSが使用するメモリー量を必要なゲストOSの数に比例させて推定する(ステップS404)。続いて、プロセッサー102は、推定した必要なメモリー量を空きメモリー空間から確保できるか否かを判断する(ステップS406)。 If multiple authentication applications running on different guest operating systems are required (yes in step S400), the processor 102 estimates the amount of memory used by the guest operating systems in proportion to the number of guest operating systems required. (Step S404). Subsequently, the processor 102 determines whether or not the estimated required memory amount can be secured from the free memory space (step S406).

推定した必要なメモリー量を空きメモリー空間から確保できれば(ステップS406に
おいてYES)、プロセッサー102は、推定した必要なメモリー量を空きメモリー空間から確保し(ステップS408)、通常の処理を進行する(ステップS402)。
If the estimated required memory amount can be secured from the free memory space (YES in step S406), the processor 102 secures the estimated required memory amount from the free memory space (step S408) and proceeds with the normal processing (step S408). S402).

これに対して、推定した必要なメモリー量を空きメモリー空間から確保できなければ(ステップS406においてNO)、プロセッサー102は、処理対象のジョブについての認証方式に必要なメモリー量を空きメモリー空間から確保できるか否かを判断する(ステップS410)。 On the other hand, if the estimated required memory amount cannot be secured from the free memory space (NO in step S406), the processor 102 secures the memory amount required for the authentication method for the job to be processed from the free memory space. It is determined whether or not it can be done (step S410).

処理対象のジョブについての認証方式に必要なメモリー量を空きメモリー空間から確保できれば(ステップS410においてYES)、プロセッサー102は、通常の処理を進行する(ステップS402)。この場合、ステップS400以下の処理が再度実行される。 If the amount of memory required for the authentication method for the job to be processed can be secured from the free memory space (YES in step S410), the processor 102 proceeds with normal processing (step S402). In this case, the process of step S400 or less is executed again.

処理対象のジョブについての認証方式に必要なメモリー量を空きメモリー空間から確保できなければ(ステップS410においてNO)、プロセッサー102は、退避メモリーをして空きメモリー空間を提供する(ステップS412)。そして、プロセッサー102は、処理対象のジョブについての認証方式に必要なメモリー量を空きメモリー空間から確保し(ステップS414)、通常の処理を進行する(ステップS402)。この場合も、ステップS400以下の処理が再度実行される。 If the amount of memory required for the authentication method for the job to be processed cannot be secured from the free memory space (NO in step S410), the processor 102 saves the memory and provides the free memory space (step S412). Then, the processor 102 secures the amount of memory required for the authentication method for the job to be processed from the free memory space (step S414), and proceeds with the normal processing (step S402). In this case as well, the processes of step S400 and subsequent steps are executed again.

なお、推定した必要なメモリー量を空きメモリー空間から確保できなければ(ステップS406においてNO)、ジョブリストに格納されているそれぞれのジョブについて、認証方式を変更できるか否かを評価してもよい。 If the estimated required memory amount cannot be secured from the free memory space (NO in step S406), it may be evaluated whether or not the authentication method can be changed for each job stored in the job list. ..

<G.メモリーの使用量変化の監視>
本実施の形態に従う画像形成装置1は、システムメモリー112に加えて、画像メモリーを用いて、複数のOS(ホストOS154ならびに1または複数のゲストOS156)を、共通のハードウェア上で同時実行させる。
<G. Monitoring changes in memory usage>
The image forming apparatus 1 according to the present embodiment uses the image memory in addition to the system memory 112 to simultaneously execute a plurality of OSs (host OS 154 and one or a plurality of guest OS 156s) on common hardware.

そのため、複数のメモリー空間全体を考慮して、メモリー領域のマネージメントを行なうことが好ましい。具体的には、調停モジュール170は、ホストOS154で制御されるジョブ実行において利用される画像メモリー空間の使用量変化を監視し、ゲストOS156の実行環境において認証プログラムが利用するメモリー空間の使用量変化を監視するようにしてもよい。 Therefore, it is preferable to manage the memory area in consideration of the entire plurality of memory spaces. Specifically, the arbitration module 170 monitors changes in the usage of the image memory space used in job execution controlled by the host OS 154, and changes in the usage of the memory space used by the authentication program in the execution environment of the guest OS 156. May be monitored.

さらに、調停モジュール170は、何らかの処理の開始または終了を都度記録する更新履歴を保持しておき、メモリー使用量または空きメモリー量の増減傾向に基づいて、格納している内容の配置場所を都度変更してもよい。 Further, the arbitration module 170 keeps an update history that records the start or end of some processing each time, and changes the arrangement location of the stored contents each time based on the increase / decrease tendency of the memory usage amount or the free memory amount. You may.

図13は、本実施の形態に従う画像形成装置1でのメモリー使用量の監視に係る処理手順を示すフローチャートである。図13に示す各ステップは、主として、画像形成装置1の制御部100のプロセッサー102が調停モジュール170のプログラムを実行することで実現される。 FIG. 13 is a flowchart showing a processing procedure related to monitoring the memory usage in the image forming apparatus 1 according to the present embodiment. Each step shown in FIG. 13 is mainly realized by the processor 102 of the control unit 100 of the image forming apparatus 1 executing the program of the arbitration module 170.

図13を参照して、プロセッサー102は、メモリー領域の要求(ページフォルト)が発生したか否かを判断する(ステップS500)。メモリー領域の要求が発生していなければ(ステップS500においてNOの場合)には、ステップS500の処理が繰り返される。 With reference to FIG. 13, the processor 102 determines whether or not a memory area request (page fault) has occurred (step S500). If the request for the memory area has not occurred (NO in step S500), the process of step S500 is repeated.

メモリー領域の要求が発生していれば(ステップS500においてYESの場合)には
、プロセッサー102は、空きメモリー管理モジュール172へ空きメモリー量を問い合わせる(ステップS502)。そして、プロセッサー102は、過去の空きメモリー量の実績と、問い合わせに対して応答された空メモリー量とから、空きメモリー量の変化量を算出する(ステップS504)。
If a request for a memory area has occurred (YES in step S500), the processor 102 inquires of the free memory management module 172 for the amount of free memory (step S502). Then, the processor 102 calculates the amount of change in the amount of free memory from the actual amount of free memory in the past and the amount of free memory responded to the inquiry (step S504).

さらに、プロセッサー102は、算出した空きメモリー量の変化量が減少傾向を示しているか否かを判断する(ステップS506)。算出した空きメモリー量の変化量が減少傾向を示していなければ(ステップS506においてNOの場合)、ステップS500以下の処理が繰り返される。 Further, the processor 102 determines whether or not the calculated change amount of the free memory amount shows a decreasing tendency (step S506). If the calculated change amount of the free memory amount does not show a decreasing tendency (NO in step S506), the process of step S500 or less is repeated.

算出した空きメモリー量の変化量が減少傾向を示していれば(ステップS506においてYESの場合)、プロセッサー102は、退避メモリー管理モジュール178へ退避メモリー量を問い合わせる(ステップS508)。そして、プロセッサー102は、対象となる退避メモリーを特定し、特定した退避メモリーをページアウトする(ステップS510)。 If the calculated change amount of the free memory amount shows a decreasing tendency (YES in step S506), the processor 102 inquires the save memory management module 178 for the save memory amount (step S508). Then, the processor 102 identifies the target save memory and pages out the specified save memory (step S510).

最後に、プロセッサー102は、退避メモリー管理モジュール178が管理する退避メモリー量を更新し(ステップS512)、ステップS500以下の処理を繰り返す。 Finally, the processor 102 updates the amount of saved memory managed by the saved memory management module 178 (step S512), and repeats the processes of step S500 and subsequent steps.

このようなトータルでのメモリー領域の管理を行なうことで、オーバーコミットメントの発生頻度などを低減できる。また、制限のあるメモリーリソースの利用効率を向上させることができる。 By managing the total memory area in this way, the frequency of overcommitment can be reduced. In addition, it is possible to improve the utilization efficiency of limited memory resources.

<H.複数装置の連携>
上述の説明では、単一のハードウェアで実現される画像形成装置において仮想環境を実現する構成について例示したが、複数装置を連携させて仮想環境を実現するようにしてもよい。
<H. Cooperation of multiple devices>
In the above description, the configuration for realizing the virtual environment in the image forming apparatus realized by a single hardware has been illustrated, but a plurality of devices may be linked to realize the virtual environment.

図14は、本実施の形態に従う画像形成装置が他の装置と連携した認証処理の実行状態の一例を示す模式図である。図14に示す構成においては、本体装置1Aと補助装置1Bとが連携して仮想環境を実現する。 FIG. 14 is a schematic diagram showing an example of an execution state of the authentication process in which the image forming apparatus according to the present embodiment cooperates with other devices. In the configuration shown in FIG. 14, the main body device 1A and the auxiliary device 1B cooperate to realize a virtual environment.

本体装置1A上では、ハイパーバイザー152がハードウェアを利用して、仮想環境を実現する。具体的には、ホストOS154ならびにゲストOS156(ゲストOS1およびゲストOS2)が実行されている。ホストOS154上では制御ファームウェア160が実行され、ゲストOS1上ではカード認証アプリケーション1581が実行され、ゲストOS2上では指紋認証アプリケーション1582が実行される。 On the main device 1A, the hypervisor 152 realizes a virtual environment by using hardware. Specifically, the host OS 154 and the guest OS 156 (guest OS 1 and guest OS 2) are being executed. The control firmware 160 is executed on the host OS 154, the card authentication application 1581 is executed on the guest OS 1, and the fingerprint authentication application 1582 is executed on the guest OS 2.

一方、補助装置1B上においても、ハイパーバイザー153がハードウェアを利用して、仮想環境を実現する。具体的には、ホストOS154ならびにゲストOS156(ゲストOS1およびゲストOS2)が実行されている。ゲストOS3上ではID認証アプリケーション1583が実行される。 On the other hand, even on the auxiliary device 1B, the hypervisor 153 uses the hardware to realize a virtual environment. Specifically, the host OS 154 and the guest OS 156 (guest OS 1 and guest OS 2) are being executed. The ID authentication application 1583 is executed on the guest OS3.

本体装置1A上で実行されるハイパーバイザー152および補助装置1B上で実行されるハイパーバイザー153とは、いずれも実行環境を管理する機能を有しており、互いに連携可能になっている。補助装置1B上で実行されるハイパーバイザー153は、マイグレーション後に初期化設定を行なう設定機能を有している。一方、本体装置1A上で実行されるハイパーバイザー152は、補助装置1Bでの初期化設定に必要な初期化手順指示書(プレイブック)を送受信する機能を有している。すなわち、補助装置1B上で実行されるハイパーバイザー153は、本体装置1Aからの初期化手順指示書(プレイブック)
に従って、初期化設定を行なう。
The hypervisor 152 executed on the main device 1A and the hypervisor 153 executed on the auxiliary device 1B both have a function of managing the execution environment and can cooperate with each other. The hypervisor 153 executed on the auxiliary device 1B has a setting function for performing initialization settings after migration. On the other hand, the hypervisor 152 executed on the main body device 1A has a function of transmitting and receiving an initialization procedure instruction (playbook) necessary for the initialization setting in the auxiliary device 1B. That is, the hypervisor 153 executed on the auxiliary device 1B is an initialization procedure instruction manual (playbook) from the main device 1A.
Initialize the settings according to the above.

具体的な応用例としては、画像形成装置1の本体部が本体装置1Aに相当し、操作パネル123が補助装置1Bに相当するような構成が想定される。すなわち、操作パネル123にも認証処理が可能なプロセッサーが搭載されており、画像形成装置1での認証処理のうち、特定の認証処理を操作パネル123で分担して実行するような応用が想定される。あるいは、画像形成装置1が外部サーバーに対して認証処理を委任するような形態が想定される。すなわち、外部サーバーが補助装置1Bに相当するような構成が想定される。 As a specific application example, it is assumed that the main body of the image forming apparatus 1 corresponds to the main body 1A and the operation panel 123 corresponds to the auxiliary device 1B. That is, the operation panel 123 is also equipped with a processor capable of performing authentication processing, and it is assumed that the operation panel 123 will share and execute a specific authentication process among the authentication processes in the image forming apparatus 1. To. Alternatively, it is assumed that the image forming apparatus 1 delegates the authentication process to an external server. That is, it is assumed that the external server corresponds to the auxiliary device 1B.

すなわち、本体装置1A上で実行されるハイパーバイザー152は、異なるOSの実行環境を補助装置1Bへマイグレーションすることができる。但し、本体装置1A上で実行されるハイパーバイザー152は、リソースに余裕があれば、自装置上で認証処理を実行するように切り替えることもできる。 That is, the hypervisor 152 executed on the main device 1A can migrate the execution environment of a different OS to the auxiliary device 1B. However, the hypervisor 152 executed on the main device 1A can be switched to execute the authentication process on its own device if there are enough resources.

図15は、本実施の形態に従う画像形成装置1でのマイグレーションに係る処理手順を示すフローチャートである。図15に示す各ステップは、主として、本体装置1Aのプロセッサー102がハイパーバイザー152を実現するプログラムを実行することで実現される。 FIG. 15 is a flowchart showing a processing procedure related to migration in the image forming apparatus 1 according to the present embodiment. Each step shown in FIG. 15 is mainly realized by the processor 102 of the main unit 1A executing a program for realizing the hypervisor 152.

図15を参照して、プロセッサー102は、管理するジョブリストに含まれるジョブについて、異なるゲストOS上で実行される複数の認証アプリケーションが必要であるか否かを判断する(ステップS600)。異なるゲストOS上で実行される複数の認証アプリケーションが必要でなければ(ステップS600においてNOの場合)、通常の処理が実行される(ステップS602)。 With reference to FIG. 15, the processor 102 determines whether or not a plurality of authentication applications executed on different guest OSs are required for the jobs included in the managed job list (step S600). If a plurality of authentication applications executed on different guest OSes are not required (NO in step S600), normal processing is executed (step S602).

異なるゲストOS上で実行される複数の認証アプリケーションが必要であれば(ステップS600においてYESの場合)、プロセッサー102は、他の装置へのマイグレーションが可能な状況か否かを判断する(ステップS604)。すなわち、プロセッサー102は、異なるOSの実行環境を他の装置へマイグレーションすること、および、当該マイグレーションに必要なページアウトされたメモリー領域の読み出すことを、ジョブ実行状態において実施するかを判断する。 If a plurality of authentication applications executed on different guest OSes are required (YES in step S600), the processor 102 determines whether or not migration to another device is possible (step S604). .. That is, the processor 102 determines whether to migrate the execution environment of a different OS to another device and to read the paged-out memory area required for the migration in the job execution state.

他の装置へのマイグレーションが不可能な状況であれば(ステップS604においてNOの場合)、通常の認証処理が実行される(ステップS606)。 If migration to another device is not possible (NO in step S604), normal authentication processing is executed (step S606).

他の装置へのマイグレーションが可能な状況であれば(ステップS604においてYESの場合)、プロセッサー102は、マイグレーションする認証アプリケーションを無効化する(ステップS608)とともに、当該無効化された認証アプリケーションが実行されていたゲストOSからスタブプログラムを削除する(ステップS610)。そして、プロセッサー102は、メモリー管理方式をスタブプログラムによるものから、認証プログラムでメモリー管理する方式に切り替える(ステップS612)。 If migration to another device is possible (YES in step S604), the processor 102 invalidates the authentication application to be migrated (step S608), and the invalidated authentication application is executed. The stub program is deleted from the guest OS (step S610). Then, the processor 102 switches the memory management method from the stub program to the memory management method by the authentication program (step S612).

プロセッサー102は、調停モジュール170が管理するメモリーおよびページアウトの管理を空きメモリー管理モジュール172へ戻す(ステップS614)。そして、プロ
セッサー102は、当該無効化された認証アプリケーションが実行されていたゲストOSを停止する(ステップS616)。
The processor 102 returns the memory and page-out management managed by the arbitration module 170 to the free memory management module 172 (step S614). Then, the processor 102 stops the guest OS on which the invalidated authentication application is being executed (step S616).

プロセッサー102は、ゲストOSの停止を確認する(ステップS618)と、マイグレーション先のハイパーバイザーに対して、ゲストOSを転送する(ステップS620)とともに、初期化手順指示書(プレイブック)を転送する(ステップS622)。 When the processor 102 confirms that the guest OS has stopped (step S618), the processor 102 transfers the guest OS to the migration destination hypervisor (step S620) and also transfers the initialization procedure instruction (playbook) (step S618). Step S622).

そして、プロセッサー102は、マイグレーション先の装置においてゲストOSが起動されているか否かを判断する(ステップS624)。マイグレーション先の装置においてゲストOSが起動されていれば(ステップS624においてYESの場合)、通常の処理が実行される(ステップS602)。 Then, the processor 102 determines whether or not the guest OS is started in the migration destination device (step S624). If the guest OS is started in the migration destination device (YES in step S624), normal processing is executed (step S602).

マイグレーション先の装置においてゲストOSが起動されていなければ(ステップS624においてNOの場合)、プロセッサー102は、自装置側でゲストOSを再度起動する(ステップS626)。そして、通常の処理が実行される(ステップS602)。 If the guest OS is not started in the migration destination device (NO in step S624), the processor 102 restarts the guest OS on the own device side (step S626). Then, a normal process is executed (step S602).

以上のようなマイグレーション機能を実装することで、複数装置が連携した柔軟なシステムを実現できる。 By implementing the migration function as described above, a flexible system in which multiple devices are linked can be realized.

<I.複数ユーザー認証>
次に、連続するジョブに対して複数のユーザー認証処理が必要になった場合の処理について説明する。例えば、複数のユーザーについてユーザー認証処理がそれぞれ必要になった場合には、ジョブ実行を優先してユーザー認証処理を遅延させるように変更を提案してもよいし、あるいは、認証方法の変更によりジョブをより早く完了できそうな場合には、該当のユーザーへ現ユーザーの認証方法への変更を提案してもよい。
<I. Multiple user authentication>
Next, processing when a plurality of user authentication processes are required for consecutive jobs will be described. For example, if user authentication processing is required for multiple users, a change may be proposed to prioritize job execution and delay the user authentication processing, or a job may be changed by changing the authentication method. If it seems that you can complete the above faster, you may propose to the user to change the authentication method of the current user.

図16は、本実施の形態に従う画像形成装置1での複数のユーザーに対する認証処理が競合した場合の処理手順を示すフローチャートである。図16に示す各ステップは、主として、画像形成装置1のプロセッサー102が制御ファームウェア160を実行することで実現される。図16に示す処理手順は、例えば、現実行中のジョブについて、当該ジョブについて認証済みのユーザーが利用した認証方法に対応する認証アプリケーションが動作しているものとする。 FIG. 16 is a flowchart showing a processing procedure when authentication processing for a plurality of users in the image forming apparatus 1 according to the present embodiment conflicts. Each step shown in FIG. 16 is mainly realized by the processor 102 of the image forming apparatus 1 executing the control firmware 160. In the processing procedure shown in FIG. 16, for example, it is assumed that an authentication application corresponding to the authentication method used by the user who has been authenticated for the job is operating for the currently executing job.

図16を参照して、異なるユーザーについての異なる認証方法の実行が要求されたか否かを判断する(ステップS700)。異なるユーザーについての異なる認証方法の実行が要求されていなければ(ステップS700においてNOの場合)、以下の処理はスキップされる。 With reference to FIG. 16, it is determined whether or not execution of different authentication methods for different users is requested (step S700). If the execution of different authentication methods for different users is not required (NO in step S700), the following processing is skipped.

異なるユーザーについての異なる認証方法の実行が要求されていれば(ステップS700においてYESの場合)、プロセッサー102は、要求された異なる認証方法を実現するための認証アプリケーションを実行させるゲストOSが稼働しているか否かを判断する(ステップS702)。 If different authentication methods are required to be executed for different users (yes in step S700), the processor 102 is running a guest operating system that runs an authentication application to implement the different authentication methods requested. Whether or not it is determined (step S702).

要求された異なる認証方法を実現するための認証アプリケーションを実行させるゲストOSが稼働していれば(ステップS702においてYESの場合)、プロセッサー102は、要求された異なる認証方法でユーザー認証処理を実行する(ステップS704)。そして、次のジョブの処理準備を開始する(ステップS706)。 If the guest OS that executes the authentication application for realizing the different requested authentication methods is running (YES in step S702), the processor 102 executes the user authentication process with the different requested authentication methods. (Step S704). Then, the processing preparation for the next job is started (step S706).

要求された異なる認証方法を実現するための認証アプリケーションを実行させるゲストOSが稼働していなければ(ステップS702においてNOの場合)、プロセッサー102は、要求された異なる認証方法は現在実行中のジョブについての認証方式で代替できるか否かを判断する(ステップS708)。要求された異なる認証方法は現在実行中のジョブについての認証方式で代替できなければ(ステップS708においてNOの場合)、ステップS710〜S714の処理はスキップされ、プロセッサー102は、次のジョブの処理準備を開始する(ステップS706)。 If the guest operating system running the authentication application to implement the different requested authentication methods is not running (NO in step S702), the processor 102 will use the different requested authentication methods for the currently running job. It is determined whether or not the authentication method of (step S708) can be used instead. If the different requested authentication method cannot be replaced by the authentication method for the currently running job (NO in step S708), the processing in steps S710-S714 is skipped and the processor 102 prepares for processing the next job. Is started (step S706).

要求された異なる認証方法は現在実行中のジョブについての認証方式で代替できれば(ステップS708においてYESの場合)、プロセッサー102は、次のジョブのユーザーに対して、現ユーザーの認証方式を利用することを提案し、ユーザーが当該提案を受け入れるか否かを判断する(ステップS710)。 If the different requested authentication method can be replaced by the authentication method for the currently executing job (YES in step S708), the processor 102 shall use the authentication method of the current user for the user of the next job. Is proposed, and it is determined whether or not the user accepts the proposal (step S710).

ユーザーが提案を受け入れれば(ステップS710においてYESの場合)、プロセッサー102は、現ユーザーの認証方式でユーザー認証を実施する(ステップS712)。そして、プロセッサー102は、次のジョブの処理準備を開始する(ステップS706)。 If the user accepts the proposal (yes in step S710), the processor 102 authenticates the user using the current user's authentication method (step S712). Then, the processor 102 starts the processing preparation for the next job (step S706).

これに対して、ユーザーが提案を受け入れなければ(ステップS710においてNOの場合)、プロセッサー102は、現在のジョブの実行が完了するまで待ち(ステップS714)、その後、次のジョブの処理準備を開始する(ステップS706)。 On the other hand, if the user does not accept the proposal (NO in step S710), the processor 102 waits until the execution of the current job is completed (step S714), and then starts preparing for processing the next job. (Step S706).

このように、制御ファームウェア160にて管理実施する連続するジョブのうち、現ユーザーが認証を行なってジョブを開始したときに、他ユーザーが当該現ユーザーとは異なる認証方式を要求し、該当の認証方式のゲストOSがページアウトされていた場合には、現ユーザーのジョブを優先して実行して他ユーザーは現ユーザーのジョブ完了まで待たせること、および、現ユーザーの認証方式に変更もしくは変更するように警告すること、の一方を実施する。 In this way, among the continuous jobs managed and executed by the control firmware 160, when the current user authenticates and starts the job, another user requests an authentication method different from that of the current user, and the corresponding authentication is performed. If the guest OS of the method is paged out, prioritize the execution of the current user's job and make other users wait until the current user's job is completed, and change or change to the current user's authentication method. To warn you, do one of them.

このような構成を採用することで、ユーザーの事情を考慮しつつ、セキュアな画像形成処理を実現できる。 By adopting such a configuration, it is possible to realize a secure image formation process while considering the user's circumstances.

<J.付記>
本発明は、別の局面として、さらに以下のように表現することができる。
<J. Addendum>
The present invention can be further expressed as follows as another aspect.

本発明の別の局面に従う画像形成装置は、画像形成動作に必要な制御を行なう制御ファームウェアおよびホストOSと、複数のユーザー認証方式とを有している。画像形成装置は、ユーザーごとに異なるユーザー認証方式を選択する手段を備えることと、ユーザー認証方式ごとに独立した認証プログラムと、認証プログラムを実行するためのホストOSとは異なるゲストOSと、ゲストOSの実行を管理するハイパーバイザーと、ユーザー認証方式と認証に必要なゲストOSとの組み合わせを保持することにより、ユーザー認証方式に応じたゲストOSをハイパーバイザーに通知する認証管理プログラムとを有する。認証管理プログラムは、認証デバイスからの信号に応じて認証に必要なゲストOSを判断し、いずれのゲストOSを起動するかをハイパーバイザーに指示して起動させることにより、認証プログラムが動作する前に、認証に必要なゲストOSを起動させる。 An image forming apparatus according to another aspect of the present invention has a control firmware and a host OS for performing controls necessary for an image forming operation, and a plurality of user authentication methods. The image forming apparatus includes means for selecting a different user authentication method for each user, an independent authentication program for each user authentication method, a guest OS different from the host OS for executing the authentication program, and a guest OS. It has a hypervisor that manages the execution of the above, and an authentication management program that notifies the hypervisor of the guest OS according to the user authentication method by holding a combination of the user authentication method and the guest OS required for authentication. The authentication management program determines the guest OS required for authentication according to the signal from the authentication device, and instructs the hypervisor to start which guest OS before the authentication program operates. , Start the guest OS required for authentication.

画像形成装置は、制御ファームウェアとハイパーバイザーとを連携させる調停プログラムと、制御ファームウェアが画像処理に利用するメモリー空間と他のゲストOSの認証プログラムに利用するメモリー空間とを同じテーブルを用いて管理する空きメモリー管理手段と、ハイパーバイザーが物理メモリーをページテーブルで管理する手段と、制御ファームウェアが利用する画像メモリー空間において、CPUが管理するメインメモリーおよび画像処理ASICが管理する画像メモリーのメモリー種別に応じて、データをページテーブルに割り当ててメモリー種別ごとに管理する手段と、画像メモリーが管理する画像ブロック単位と同じサイズの合成ページ単位で空きページを管理する手段と、合成ページの内画像メモリーに値するページテーブルを管理する退避メモリー管理手段とを含む。選択された認証方式以外のゲストOSで必要としないメモリー領域を退避するメモリーとして、制御ファームウェアと調停プログラムとを介して退避メモリー管理手段が管理するメモリー空間を共有する。 The image forming apparatus manages the mediation program that links the control firmware and the hypervisor, the memory space used by the control firmware for image processing, and the memory space used for the authentication program of other guest OSs using the same table. Depending on the free memory management means, the means by which the hypervisor manages the physical memory in the page table, and the memory type of the main memory managed by the CPU and the image memory managed by the image processing ASIC in the image memory space used by the control firmware. It is worthwhile to allocate data to the page table and manage it for each memory type, to manage empty pages in units of composite pages of the same size as the image block managed by the image memory, and to use the image memory in the composite page. Includes a backup memory management means for managing the page table. As a memory for saving a memory area that is not required by the guest OS other than the selected authentication method, the memory space managed by the saved memory management means is shared via the control firmware and the arbitration program.

画像形成装置は、ジョブ開始時の認証実行時に、選択された認証方式に必要な認証プログラムとゲストOSと対応したテーブルから稼動させるゲストOSを選択する手段と、各画像メモリーの種別に応じて実行ジョブおよびジョブ情報に基づき優先度を設定することと、利用している各ゲストOSを特定可能なIDを設定することが可能な利用可能メモリーリストを管理する手段と、上述したメモリー量となるシステムメモリーが得られるまでファイルメモリーブロック単位に合わせてメモリー転送を順次並列実施する手段と、メモリー転送完了後にゲストOSへ切り替える手段と、次にホストOSへ切り替える場合にゲストOSおよび動作プログラムが利用するシステムメモリーを一時凍結する手段と、上述のメモリー転送手段によって先に転送したメモリーと順次入れ替え並列転送する手段と、順次転送するなかで保存された元のメモリーアドレスに割り当てする手段と、入れ替え転送完了後にホストOSへ切り替える手段とが連続動作することを可能とする手段により、選択したゲストOS以外のゲストOSが使用するメモリーを退避メモリー管理手段が管理するメモリーへ退避する手段と、認証実行後に退避したメモリーを、ページアウトを行なうように制御する手段と、それらを制御FWが必要とするタイミングに従い実施する調停プログラムおよびタイミングを定義する手段とを含む。 When executing authentication at the start of a job, the image forming device executes it according to the means for selecting the guest OS to be operated from the table corresponding to the authentication program and guest OS required for the selected authentication method, and the type of each image memory. A means for setting priorities based on jobs and job information, a means for managing an available memory list that can set an ID that can identify each guest OS being used, and a system that has the above-mentioned amount of memory. A means to sequentially execute memory transfer in parallel in units of file memory blocks until memory is obtained, a means to switch to the guest OS after the memory transfer is completed, and a system used by the guest OS and the operating program when switching to the host OS next time. A means for temporarily freezing the memory, a means for sequentially replacing the memory previously transferred by the above-mentioned memory transfer means and performing a parallel transfer, a means for allocating to the original memory address saved in the sequential transfer, and a means after the replacement transfer is completed. By means that the means for switching to the host OS can operate continuously, the means for saving the memory used by the guest OS other than the selected guest OS to the memory managed by the save memory management means and the means for saving after the authentication is executed. It includes means for controlling the memory to page out and for defining an arbitration program and timing to execute them according to the timing required by the control FW.

画像形成装置は、本体OSと、異なる仮想メモリー空間でプログラム実行が可能な仮想メモリー制御システム、および、異なる割込み情報を扱う仮想割込み制御システム、および、異なるCPUを扱う仮想CPU制御システムと、複数のゲストOS実行環境の起動・一時停止・再開・停止を管理するハイパーバイザーと、本体OSとハイパーバイザーを仲介する調停プログラムとを含む。調停プログラムは、本体OSで制御される画像形成ジョブ動作で利用する画像メモリー空間の利用量変化を監視することと、ゲストOS実行環境の認証プログラムが利用するメモリー空間の利用量変化を監視することとを含む。 The image forming apparatus includes a main body OS, a virtual memory control system capable of executing a program in a different virtual memory space, a virtual interrupt control system that handles different interrupt information, and a virtual CPU control system that handles different CPUs. It includes a hypervisor that manages the start / pause / restart / stop of the guest OS execution environment, and an arbitration program that mediates between the main OS and the hypervisor. The arbitration program monitors changes in the usage of the image memory space used in the image formation job operation controlled by the main OS, and monitors changes in the usage of the memory space used by the authentication program in the guest OS execution environment. And include.

画像形成装置は、異なるOS実行環境を他の画像形成装置またはサーバーへマイグレーションすることと、マイグレーションに必要なページアウトされたメモリー領域の読み出しをジョブ実行状態において実施するか判断する手段と、マイグレーション後の初期化設定を行なう手段と、初期化手順指示書(プレイブック)を送受信する手段とを含む。 The image forming apparatus is a means for migrating a different OS execution environment to another image forming apparatus or a server, a means for determining whether to read the paged out memory area required for migration in the job execution state, and after the migration. Includes a means for setting the initialization of the above and a means for sending and receiving an initialization procedure instruction (playbook).

画像形成装置は、制御ファームウェアが管理実施する連続するジョブのうち現ユーザーが認証を行なってジョブを開始したときに、他ユーザーが現ユーザーと異なる認証方式を要求し、該当の認証方式のゲストOSがページアウトされていた場合には、メモリー取得をできなくする制限を実施するのではなく、制御ファームウェアがジョブ実行を制御し、現ユーザーのジョブを優先して実行して他ユーザーは現ユーザーのジョブ完了まで待たせること、または、現ユーザーの認証方式に変更あるいは変更するように警告する。 In the image forming apparatus, when the current user authenticates and starts the job among the continuous jobs managed and executed by the control firmware, another user requests an authentication method different from that of the current user, and the guest OS of the corresponding authentication method is used. If is paged out, the control firmware controls the job execution and prioritizes the execution of the current user's job, and other users are the current user's. Wait for the job to complete, or warn you to change or change to the current user's authentication method.

<K.まとめ>
本実施の形態に従う画像形成装置は、認証方式のための仮想実行環境を備えることで、より簡便に、様々な種類の認証方式を実装できる。また、異なるハードウェアを利用していた認証方式(例えば、中間認証サーバを用いた方式)をゲストOSとして取り込むこと、さらに、既にサーバーをもつ大規模環境ではゲストOSをサーバーへマイグレーションすることが可能となり、特別なハードウェアを必要としないためコストダウン効果がある。さらに、マイグレーションにより、認証運用環境の構築を容易に行なうことができるようになり、環境セットアップ工数の削減や、より安全な環境提供が期待できる。
<K. Summary>
The image forming apparatus according to the present embodiment can more easily implement various types of authentication methods by providing a virtual execution environment for the authentication method. In addition, it is possible to import an authentication method that used different hardware (for example, a method that uses an intermediate authentication server) as a guest OS, and to migrate the guest OS to a server in a large-scale environment that already has a server. Therefore, there is a cost reduction effect because no special hardware is required. Furthermore, migration makes it possible to easily build an authentication operating environment, which can be expected to reduce the man-hours for setting up the environment and provide a safer environment.

今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。 It should be considered that the embodiments disclosed this time are exemplary in all respects and not restrictive. The scope of the present invention is shown by the scope of claims rather than the above description, and it is intended to include all modifications within the meaning and scope equivalent to the scope of claims.

1 画像形成装置、1A 本体装置、1B 補助装置、2 自動原稿送り装置、3 イメージスキャナー、4 プリントエンジン、5 給紙部、21 原稿給紙台、22,52,53,54 送出ローラー、23 レジストローラー、24 搬送ドラム、25 排紙台、26 手差給紙部、27 転写ベルト、33 撮像デバイス、35 原稿台、41,41C,41K,41M,41Y 感光体ドラム、43C,43K,43M,43Y 画像書込部、44C,44K,44M,44Y イメージングユニット、441C,441K,441M,441Y トナーユニット、45 転写器、46 除電器、47 定着装置、49 IDCセンサー、51 タイミングローラー、55 搬送ローラー、57 トレイ、100 制御部、102 プロセッサー、104 内部バス、105,106,107,108 インターフェイス回路、110 メインメモリー、112 システムメモリー、114,138,148 画像メモリー、118,132,142 メモリー制御IC、120 圧縮/伸張IC、121 カード認証デバイス、122 指紋認証デバイス、123 操作パネル、130,140 画像処理ASIC、134,144 サブメモリー、136 表面入力画像データバッファ、146 裏面入力画像データバッファ、150 HDD、152,153 ハイパーバイザー、154 ホストOS、158 アプリケーション、160 制御ファームウェア、170 調停モジュール、172 空きメモリー管理モジュール、174 認証管理モジュール、178 退避メモリー管理モジュール、190 スタブ管理プログラム、192 認証デバイス、194 デバイス、196 記憶デバイス、471 加熱ローラー、472 加圧ローラー、1581 カード認証アプリケーション、1582 指紋認証アプリケーション、1583 認証アプリケーション、1584,1585,1586 スタブプログラム、1601 プリントアプリケーション、1602 スキャンアプリケーション、1603 FAXアプリケーション、1604 BOXアプリケーション、1605 仮想デバイス。 1 Image forming device, 1A Main unit, 1B Auxiliary device, 2 Automatic document feeder, 3 Image scanner, 4 Print engine, 5 Feeder, 21 Document feeder, 22, 52, 53, 54 Feed roller, 23 Resist Roller, 24 transport drum, 25 output stand, 26 manual feed section, 27 transfer belt, 33 imaging device, 35 document stand, 41, 41C, 41K, 41M, 41Y Photoreceptor drum, 43C, 43K, 43M, 43Y Image writing unit, 44C, 44K, 44M, 44Y imaging unit, 441C, 441K, 441M, 441Y toner unit, 45 transfer device, 46 static eliminator, 47 fixing device, 49 IDC sensor, 51 timing roller, 55 transfer roller, 57 Tray, 100 control unit, 102 processor, 104 internal bus, 105, 106, 107, 108 interface circuit, 110 main memory, 112 system memory, 114, 138, 148 image memory, 118, 132, 142 memory control IC, 120 compression / Decompression IC, 121 card authentication device, 122 fingerprint authentication device, 123 operation panel, 130, 140 image processing ASIC, 134, 144 sub-memory, 136 front side input image data buffer, 146 back side input image data buffer, 150 HDD, 152, 153 Hypervisor, 154 Host OS, 158 Applications, 160 Control Firmware, 170 Mediation Module, 172 Free Memory Management Module, 174 Authentication Management Module, 178 Saved Memory Management Module, 190 Stub Management Program, 192 Authentication Device, 194 Device, 196 Storage Device, 471 Heating Roller, 472 Pressurizing Roller, 1581 Card Authentication Application, 1582 Fingerprint Authentication Application, 1583 Authentication Application, 1584, 1585, 1586 Stub Program, 1601 Print Application, 1602 Scan Application, 1603 FAX Application, 1604 BOX Application, 1605 Virtual device.

Claims (2)

異なる仮想メモリー空間でプログラム実行が可能な仮想メモリー制御システムと、
異なる割込み情報を扱うことが可能な仮想割込み制御システムと、
異なるプロセッサーを扱う仮想プロセッサー制御システムと、
複数のゲストOSの実行環境の起動、一時停止、再開、停止を管理するハイパーバイザーと、
ホストOSと前記ハイパーバイザーとを仲介する調停プログラムとを備え、
前記調停プログラムは、ホストOSで制御されるジョブ実行において利用される画像メモリー空間の使用量変化を監視し、ゲストOSの実行環境において認証プログラムが利用するメモリー空間の使用量変化を監視する、画像形成装置。
A virtual memory control system that can execute programs in different virtual memory spaces,
A virtual interrupt control system that can handle different interrupt information,
A virtual processor control system that handles different processors,
A hypervisor that manages the start, pause, restart, and stop of the execution environment of multiple guest OSes,
It is equipped with an arbitration program that mediates between the host OS and the hypervisor.
The arbitration program monitors changes in the usage of the image memory space used in job execution controlled by the host OS, and monitors changes in the usage of the memory space used by the authentication program in the execution environment of the guest OS. Forming device.
画像形成装置で実行される調停プログラムであって、
前記画像形成装置は、
異なる仮想メモリー空間でプログラム実行が可能な仮想メモリー制御システムと、
異なる割込み情報を扱うことが可能な仮想割込み制御システムと、
異なるプロセッサーを扱う仮想プロセッサー制御システムと、
複数のゲストOSの実行環境の起動、一時停止、再開、停止を管理するハイパーバイザーとを備え
前記調停プログラムは、前記画像形成装置に、
ホストOSと前記ハイパーバイザーとを仲介する機能と、
ホストOSで制御されるジョブ実行において利用される画像メモリー空間の使用量変化を監視し、ゲストOSの実行環境において認証プログラムが利用するメモリー空間の使用量変化を監視する機能とを実現する、調停プログラム。
An arbitration program executed by an image forming apparatus
The image forming apparatus
A virtual memory control system that can execute programs in different virtual memory spaces,
A virtual interrupt control system that can handle different interrupt information,
A virtual processor control system that handles different processors,
Equipped with a hypervisor that manages the start, pause, restart, and stop of the execution environment of multiple guest OSes.
The arbitration program is applied to the image forming apparatus.
A function that mediates between the host OS and the hypervisor,
Mediation that realizes a function to monitor changes in the usage of the image memory space used in job execution controlled by the host OS and to monitor changes in the usage of the memory space used by the authentication program in the execution environment of the guest OS. program.
JP2019144448A 2019-08-06 2019-08-06 Image forming device and arbitration program executed by the image forming device Active JP6852762B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019144448A JP6852762B2 (en) 2019-08-06 2019-08-06 Image forming device and arbitration program executed by the image forming device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019144448A JP6852762B2 (en) 2019-08-06 2019-08-06 Image forming device and arbitration program executed by the image forming device

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2015215675A Division JP6593110B2 (en) 2015-11-02 2015-11-02 Image forming apparatus and program executed by image forming apparatus

Publications (2)

Publication Number Publication Date
JP2019200815A JP2019200815A (en) 2019-11-21
JP6852762B2 true JP6852762B2 (en) 2021-03-31

Family

ID=68613166

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019144448A Active JP6852762B2 (en) 2019-08-06 2019-08-06 Image forming device and arbitration program executed by the image forming device

Country Status (1)

Country Link
JP (1) JP6852762B2 (en)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4190476B2 (en) * 2004-09-22 2008-12-03 株式会社ソニー・コンピュータエンタテインメント Graphic processor, control processor, and information processing apparatus
JP5125659B2 (en) * 2008-03-24 2013-01-23 富士通株式会社 Information processing apparatus, information processing method, and computer program
JP2014238665A (en) * 2013-06-06 2014-12-18 コニカミノルタ株式会社 Image forming apparatus, image forming apparatus control method, and image forming apparatus control program
JP6252159B2 (en) * 2013-12-18 2017-12-27 株式会社リコー Authentication system, authentication method, program, information processing apparatus, and device

Also Published As

Publication number Publication date
JP2019200815A (en) 2019-11-21

Similar Documents

Publication Publication Date Title
JP5089429B2 (en) Information processing apparatus, control method therefor, and program
JP5078671B2 (en) Information processing apparatus, information processing system, and information processing method
EP1909474A1 (en) Image processor and its control method
JP2008077186A (en) Multifunction apparatus
JP2008077144A (en) Virtualization system, memory management method and control program
JP6007642B2 (en) Information processing apparatus, power saving control method, power saving control program
US9317281B2 (en) Information processing apparatus, program update method for information processing apparatus, and storage medium
WO2016132416A1 (en) Information processing device, information processing method, main processor core, program, information processing method, and sub-processor core
JP4560493B2 (en) Image forming apparatus
JP5401872B2 (en) Image forming apparatus
JP6524928B2 (en) Image processing apparatus, memory control program and memory control method
EP1308793A1 (en) Image forming device having a memory assignment unit
JP6852762B2 (en) Image forming device and arbitration program executed by the image forming device
JP2007207194A (en) Printer, external device, print system, and method for controlling printer
JP6593110B2 (en) Image forming apparatus and program executed by image forming apparatus
JP2015022681A (en) Information processing apparatus and software update method for information processing apparatus
JP2009194414A (en) Composite machine and memory management method in composite machine
CN113296881A (en) Information processing apparatus, control method thereof, and storage medium
JP6398963B2 (en) Image forming apparatus and program executed by image forming apparatus
JP2011192131A (en) Control device, image forming apparatus, and control program
JP2004086860A (en) Image forming apparatus and control method therefor
JP2003248626A (en) Image forming apparatus and memory managing method
US8411314B2 (en) Image forming apparatus for forming an image by transferring an image onto an intermediate transfer member, image forming method, and storage medium
JP2005070952A (en) Node transfer device, node alternate device, and program therefor
JP2011192142A (en) Image processor, stop method, and recovery method

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190808

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190808

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200630

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200721

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200907

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: 20210209

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210222

R150 Certificate of patent or registration of utility model

Ref document number: 6852762

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150