JP6593110B2 - Image forming apparatus and program executed by image forming apparatus - Google Patents
Image forming apparatus and program executed by image forming apparatus Download PDFInfo
- Publication number
- JP6593110B2 JP6593110B2 JP2015215675A JP2015215675A JP6593110B2 JP 6593110 B2 JP6593110 B2 JP 6593110B2 JP 2015215675 A JP2015215675 A JP 2015215675A JP 2015215675 A JP2015215675 A JP 2015215675A JP 6593110 B2 JP6593110 B2 JP 6593110B2
- Authority
- JP
- Japan
- Prior art keywords
- guest
- authentication
- memory
- forming apparatus
- 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
Links
Landscapes
- Memory System (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 recent advances in information and communication technology, computer virtualization technology is being applied to various fields. In such a virtualization technology, for example, using a hypervisor, in addition to a main OS (Operating System) (hereinafter also referred to as a “host OS”), one or a plurality of different OSs (hereinafter referred to as “host OS”). In this case, it is also possible to simultaneously execute “guest OS” on common hardware.
例えば、特開2001−256066号公報(特許文献1)は、単一システム内に共存させた複数のオペレーティングシステムを高速に切り替えて使用できる環境を開示する。 For example, Japanese Patent 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 at high speed.
また、「IBM PowerVM Virtualization Active Memory Sharing」(非特許文献1)は、複数の論理メモリパーティション(LPAR:Logical PARtition)を一つの共通物理メモリー空間としてまとめ、論理メモリパーティション割り当て先としてマルチOS間で共有利用するシステムを開示する。 “IBM PowerVM Virtualization Active Memory Sharing” (Non-patent Document 1) combines multiple logical memory partitions (LPAR: Logical PARtition) as one common physical memory space, and is shared among multiple OSs as logical memory partition allocation destinations. Disclose the system to be used.
一般的に、ホストOSに加えて、1または複数のゲストOSが同時実行される場合には、実行されるOS(特に、ホストOS)の数に比例して、より大きなメモリー空間が必要となる。そのため、多くの仮想化技術においては、ゲストOSの実行によってハードウェア的に用意されているシステムメモリーの上限を超える場合に、オーバーコミットメントを許容する仕組みが備えられている。例えば、特開2014−157476号公報(特許文献2)は、仮想マシン間で共有する物理リソースの不足を検出する構成を開示する。 In general, when one or a plurality of guest OSs are executed simultaneously in addition to the host OS, a larger memory space is required in proportion to the number of OSs to be executed (particularly the host OS). . For this reason, many virtualization technologies are provided with a mechanism that allows overcommitment when the upper limit of the system memory prepared in hardware by execution of the guest OS is exceeded. For example, Japanese Patent Laying-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 a 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. Includes evacuation processing.
しかしながら、ハードディスクなどの二次記憶装置は、DRAM(Dynamic Random Access Memory)などのシステムメモリーに比較して応答性が劣るため、例えば、ホストOSからゲストOSへ切り替えの実行に大きな時間を要する。このような課題は、有限のリソースにおいては解決が難しい。十分に大きなリソースを用意すれば、このような課題が発生する可能性を低減することはできる。 However, since a secondary storage device such as a hard disk is less responsive than a system memory such as a DRAM (Dynamic Random Access Memory), for example, it takes a long time to execute switching from the host OS to the guest OS. Such a problem is difficult to solve with limited resources. If a sufficiently large resource is prepared, the possibility of such a problem occurring can be reduced.
画像形成装置においても、コスト制約上、利用可能なリソースをそれほど大きくすることができない。特に、最新のコンピューティング環境のように処理性能が高いハードウェアではなく、コストメリットのあるハードウェアが採用されることが一般的である。このようなコスト制約の下、画像形成装置では、ジョブをより優先して処理できるようにメモリー構成が設計される。 Even in the image forming apparatus, available resources cannot be increased so much due to cost constraints. In particular, it is common to use cost-effective hardware instead of hardware with high processing performance as in the latest computing environment. Under such cost constraints, in the image forming apparatus, the memory configuration is designed 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 Laid-Open No. 2014-238665 (Patent Document 3) discloses a first OS in which processing relating to image formation is performed by device control firmware using hardware resources, and a first OS on the first OS that is separate from the first OS. Disclosed is an image forming apparatus in which 2OSs are configured to be operable. The device control firmware controls to start the second OS and execute a login process for the second OS when a predetermined state is detected in accordance with the processing by the device control firmware. To do. In this image forming apparatus, the second OS login procedure is speeded up by simplifying the login procedure using the first OS user name as the second OS user name.
画像形成装置を複数の認証デバイスに対応させるためには、各認証デバイスに応じた認証プログラムを実行させる環境をそれぞれ実現する必要がある。このような複数の認証プログラムをそれぞれ実行させる。このような処理に好適な構成が要望されている。 In order for the image forming apparatus to correspond to a plurality of authentication devices, it is necessary to realize an environment in which an authentication program corresponding to each authentication device is executed. A plurality of such authentication programs are executed. A configuration suitable for such processing is desired.
本発明のある開示によれば、画像形成装置の認証デバイスに応じたゲストOSを判別して、必要なゲストOSを起動させる調停プログラムをハイパーバイザーに追加するとともに、認証デバイスが認証操作を通知したタイミングで、調停プログラムがゲストOSを先行的に起動することで、ゲストOSの切り替え時の時間遅延を削減する。 According to one disclosure of the present invention, a guest OS corresponding to an authentication device of an image forming apparatus is determined, and an arbitration program for starting the required 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 a time delay when switching the guest OS.
本発明のある局面に従う画像形成装置は、ホストOSと、ホストOS上で実行され、画像形成装置の主たる制御を司る制御ファームウェアと、複数の認証方式にそれぞれ対応する複数の認証デバイスと、複数の認証方式にそれぞれ対応する互いに独立した複数の認証プログラムと、複数の認証プログラムの各々を実行するためのホストOSとは異なる複数のゲストOSと、複数のゲストOSの実行を管理するハイパーバイザーと、認証デバイスの各々での認証に必要な認証プログラムの実行に必要なゲストOSとの組み合わせを管理する認証管理モジュールとを含む。認証管理モジュールは、複数の認証デバイスのうちいずれかの認証デバイスからの信号に応じて、認証プログラムの実行に必要なゲストOSを決定するとともに、対応する認証プログラムの実行前に当該決定したゲストOSを起動させる。 An image forming apparatus according to an aspect of the present invention includes a host OS, control firmware that is executed on the host OS and controls main control of the image forming apparatus, a plurality of authentication devices respectively corresponding to a plurality of authentication methods, and a plurality of authentication devices. A plurality of independent authentication programs corresponding to the respective authentication methods, a plurality of guest OSs different from the host OS for executing each of the plurality of authentication programs, a hypervisor for managing the execution of the plurality of guest OSs, And an authentication management module for managing a combination with a guest OS necessary for executing an authentication program required for authentication in each authentication device. The authentication management module determines a guest OS necessary for executing the authentication program according to a signal from any one of the plurality of authentication devices, and determines the guest OS determined before executing the corresponding authentication program Start up.
好ましくは、画像形成装置は、制御ファームウェアとハイパーバイザーとを連携させる調停モジュールと、制御ファームウェアが画像処理に利用するメモリー空間と他のゲストOSの認証プログラムに利用するメモリー空間とを管理する空きメモリー管理手段と、二次記憶装置にアクセス可能な退避メモリー管理モジュールとを含む。調停モジュールは、プロセッサーに関連付けられたメインメモリーおよび画像処理ASICに関連付けられた画像メモリーについて、メモリー種別に関連付けて、画像メモリーにて管理される画像ブロック単位と同じデータサイズで空きページを管理し、退避メモリー管理モジュールは、決定された認証プログラムの実行に必要なゲストOS以外のゲストOSに関連するメモリーを二次記憶装置に退避する。 Preferably, the image forming apparatus includes an arbitration module that links the control firmware and the hypervisor, and a free memory that manages a memory space used by the control firmware for image processing and a memory space used for an authentication program of another guest OS. Management means and a save memory management module accessible to the secondary storage device. The arbitration module manages empty pages with the same data size as the image block unit managed in the image memory in association with the memory type for the main memory associated with the processor and the image memory associated with the image processing ASIC, The save memory management module saves the memory related to the guest OS other than the guest OS necessary for executing the determined authentication program in the secondary storage device.
好ましくは、調停モジュールは、ゲストOSへ切り替えた後に、ゲストOSからホストOSではなく他のゲストOSに切り替える場合に、ホストOSに関するファイルメモリーのデータを二次記憶装置へ順次並列転送する処理、先に実行されたゲストOSおよび当該ゲストOSで動作するプログラムが利用するシステムメモリーを一時凍結する処理、二次記憶装置へ転送されたファイルメモリーに対して一時凍結したシステムメモリーを順次並列転送する処理と、他のゲストOSが必要とするシステムメモリーになるまで先のゲストOSが転送完了したシステムメモリーから順次確保する処理と、他のゲストOSが動作可能なシステムメモリーが確保されたことで切り替えする処理とを連続動作させる。 Preferably, when the arbitration module switches from the guest OS to another guest OS after switching to the guest OS, the process of sequentially transferring the file memory data related to the host OS to the secondary storage device in advance, A process of temporarily freezing the system memory used by the guest OS executed by the guest OS and a program operating on the guest OS, a process of sequentially transferring the system memory temporarily frozen to the file memory transferred to the secondary storage device, and The process of sequentially securing the system memory from which 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 when the system memory capable of operating the other guest OS is secured. And operate continuously.
好ましくは、画像形成装置は、異なるOSの実行環境を他の装置へマイグレーションすること、および、当該マイグレーションに必要なページアウトされたメモリー領域の読み出すことを、ジョブ実行状態において実施するかを判断する判断手段と、当該マイグレーション後に初期化設定を行なう設定手段と、当該初期化設定に必要な初期化手順指示書を送受信する送受信手段とをさらに含む。 Preferably, the image forming apparatus determines whether to execute migration of a different OS execution environment to another apparatus and to read out a paged-out memory area necessary for the migration in the job execution state. It further includes determination means, setting means for performing initialization setting after the migration, and transmission / reception means for transmitting / receiving an initialization procedure instruction necessary for the initialization setting.
好ましくは、画像形成装置は、制御ファームウェアが管理実施する連続するジョブのうち、現ユーザーが認証を行なってジョブを開始したときに、他ユーザーが当該現ユーザーと異なる認証方式を要求し、該当の認証方式のゲストOSがページアウトされていた場合には、現ユーザーのジョブを優先して実行して他ユーザーは現ユーザーのジョブ完了まで待たせること、および、現ユーザーの認証方式に変更もしくは変更するように警告すること、の一方を実施する。 Preferably, when the current user performs authentication and starts the job among continuous jobs managed and executed by the control firmware, the other user requests an authentication method different from that of the current user, and If the guest OS of the authentication method has been paged out, the current user's job will be prioritized and other users will wait until the current user's job is completed, and the current user's authentication method will be changed or changed 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 that can execute a program in different virtual memory spaces, a virtual interrupt control system that can handle different interrupt information, and a virtual processor control that handles different processors. The system includes a hypervisor that manages activation, suspension, resumption, and suspension of an execution environment of a plurality of guest OSs, and an arbitration program that mediates between the host OS and the hypervisor. The arbitration program monitors changes in the usage amount of the image memory space used in job execution controlled by the host OS, and monitors changes in the usage amount of the 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, a program executed by an image forming apparatus including a plurality of authentication devices respectively corresponding to a plurality of authentication methods is provided. The program is executed on the host OS, the control firmware that executes 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 a plurality of guest OSs that are different from the host OS to be executed, a hypervisor that manages the execution of the plurality of guest OSes, and a guest OS that is necessary for executing an authentication program required for authentication in each authentication device And an authentication management module for managing The authentication management module determines a guest OS necessary for executing the authentication program according to a signal from any one of the plurality of authentication devices, and determines the guest OS determined before executing the corresponding authentication program Start up.
本開示によれば、画像形成装置で複数の認証方式を使い分ける際に認証された認証デバイスの種類によって、認証に必要なゲストOSを切り替えることをハイパーバイザーで判断して切り替えることで、認証処理を高速に行なうことができる。 According to the present disclosure, the hypervisor determines that the guest OS required for authentication is to be switched according to the type of authentication device that is authenticated when the image forming apparatus uses a plurality of authentication methods, thereby performing authentication processing. It can be performed at high speed.
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰り返さない。 Embodiments of the present invention will be described in detail with reference to the drawings. In addition, about the same or equivalent part in a figure, the same code | symbol is attached | subjected and the description is not repeated.
<A.画像形成装置の全体構成>
まず、本実施の形態に従う画像形成装置1の全体構成について説明する。
<A. Overall Configuration of Image Forming Apparatus>
First, the overall configuration of 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 an overall configuration of image forming apparatus 1 according to the present embodiment. Referring to FIG. 1, the image forming apparatus 1 includes an automatic document feeder 2, an image scanner 3, a print engine 4, a paper feed 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 performing continuous scanning of documents, and includes a document feeder 21, a delivery roller 22, a registration roller 23, a transport drum 24, and a paper delivery platform 25. . The document to be scanned is set on the document feeding table 21 and is sent out one by one by the operation of the sending roller 22. Then, the fed document is temporarily stopped by the registration roller 23 and the leading edge is adjusted, and then conveyed to the conveyance drum 24. Further, the original rotates integrally with the drum surface of the transport drum 24, and the image surface is scanned by an image scanner 3 described later in the process. Thereafter, the document is separated from the drum surface at a position approximately half the circumference of the drum surface of the transport drum 24 and is discharged to the discharge 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 imaging device 33 and a document table 35. The imaging device 33 changes the relative position with respect to the document as a subject with time, reads an image of the document, and generates image data. Data including this image data is processed as a job. The imaging device 33 includes, as main components, a light source that irradiates light on a document, an image sensor that acquires an image generated by reflection of light irradiated from the light source, and an image signal output from the image sensor. An AD (Analog to Digital) converter, and an imaging optical system disposed in front of the image sensor. Typically, a CCD (Coupled Charged Device) image sensor or a contact image sensor is used as the image sensor. The document to be scanned can be set on the document table 35. Alternatively, simultaneous scanning on both sides may be realized by disposing imaging devices on the front side and the back side of the document.
プリントエンジン4は、一例として、電子写真方式の画像形成プロセスが実行される。具体的には、フルカラーのプリント出力が可能である。具体的には、プリントエンジン4は、それぞれイエロー(Y)、マゼンタ(M)、シアン(C)、ブラック(K)の各色のトナー像を生成するイメージング(作像)ユニット44Y,44M,44C,44Kを含む。イメージングユニット44Y,44M,44C,44Kは、プリントエンジン4内に張架されて駆動される転写ベルト27に沿って、その順序に配置される。 For example, the print engine 4 executes an electrophotographic image forming process. Specifically, full-color print output is possible. Specifically, the print engine 4 includes imaging (imaging) units 44Y, 44M, 44C, which generate toner images of yellow (Y), magenta (M), cyan (C), and black (K), respectively. Includes 44K. The imaging units 44Y, 44M, 44C, and 44K are arranged in that order along the transfer belt 27 that 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, and 44K include image writing units 43Y, 43M, 43C, and 43K, and photosensitive drums 41Y, 41M, 41C, and 41K, respectively. Each of the image writing units 43Y, 43M, 43C, and 43K includes a laser diode that emits a laser beam corresponding to each color image included in the target print data, and a corresponding photosensitive drum 41Y, 41M by deflecting the laser beam. , 41C, 41K, and polygon mirrors that expose the surfaces in the main scanning direction.
感光体ドラム41Y,41M,41C,41Kの表面には、上述のような画像書込部43Y,43M,43C,43Kによる露光によって静電潜像が形成され、この静電潜像がそれぞれ対応するトナーユニット441Y,441M,441C,441Kから供給されるトナー粒子によってトナー像として現像される。 Electrostatic latent images are formed on the surfaces of the photosensitive drums 41Y, 41M, 41C, and 41K by the above-described exposure by the image writing units 43Y, 43M, 43C, and 43K, and the electrostatic latent images correspond respectively. A toner image is developed by toner particles supplied from the toner units 441Y, 441M, 441C, and 441K.
感光体ドラム41Y,41M,41C,41Kの表面に現像された各色のトナー像は、転写ベルト27に順次転送される。さらに、この転写ベルト27上に重ねられたトナー像は、給紙部5からタイミングを合わせて供給される記録紙にさらに転写される。 The color toner images developed on the surfaces of the photosensitive 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 supply unit 5 in time.
この記録紙上に転写されたトナー像は、下流部に配置された定着部において定着された後、トレイ57に排出される。 The toner image transferred onto the recording paper is fixed at a fixing portion disposed at the downstream portion and then discharged onto the tray 57.
上述の感光体ドラム41Y,41M,41C,41Kにおける動作と並行して、記録紙を収容する給紙部5の給紙カセットにそれぞれ対応する送出ローラー52,53,54および手差給紙部26のうち、画像形成に用いられるべき記録紙に対応する部位が作動して記録紙を供給する。この供給された記録紙は、搬送ローラー55および56ならびにタイミングローラー51によって搬送され、感光体ドラム41上に形成されたトナー像に同期するように、感光体ドラム41に給紙される。 In parallel with the operations of the photosensitive drums 41Y, 41M, 41C, and 41K described above, the feeding rollers 52, 53, and 54 and the manual paper feeding unit 26 respectively corresponding to the paper feeding cassette of the paper feeding unit 5 that stores the recording paper. Among 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 photosensitive drum 41 so as to be synchronized with the toner image formed on the photosensitive drum 41.
転写器45は、感光体ドラム41に反対極性の電圧を印加することで、感光体ドラム41上に形成されたトナー像を記録紙に転写する。そして、除電器46は、トナー像が転写された記録紙を除電することで、記録紙を感光体ドラム41から分離させる。その後、トナー像が転写された記録紙は定着装置47へ搬送される。なお、転写器45としては、図1に示すような転写ベルトを用いた転写方式に代えて、転写チャージャーまたは転写ローラーを用いた転写方式を採用してもよい。あるいは、感光体ドラム41から記録紙へトナー像を直接転写する直接転写方式に代えて、感光体ドラム41と記録紙との間に、転写ローラー、転写ベルトといった中間転写体を配置して、2段階以上のプロセスによって転写を行なうようにしてもよい。 The transfer unit 45 applies a voltage of opposite polarity to the photosensitive drum 41 to transfer the toner image formed on the photosensitive drum 41 to a recording sheet. The static eliminator 46 removes the recording paper from which the toner image has been transferred, thereby separating the recording paper from the photosensitive drum 41. Thereafter, 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 photosensitive drum 41 to the recording paper, an intermediate transfer member such as a transfer roller or a transfer belt is disposed between the photosensitive drum 41 and the recording paper. You may make it perform transfer by the process of a step or more.
定着装置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 heats the recording paper to melt the toner transferred thereon, and the melted toner is fixed on the recording paper by the compression force between the heating roller 471 and the pressure roller 472. The Then, the recording paper is discharged to the tray 57. The fixing device 47 may employ a fixing method using a fixing roller or a non-contact fixing method instead of the fixing method using a fixing belt as shown in FIG.
一方、記録紙が分離された感光体ドラム41では、その残留電位が除去された後、クリーニング部によって残留トナーが除去および清掃される。そして、次の画像形成処理が実行される。クリーニング部は、一例として、クリーニングブレード、クリーニングブラシ、クリーニングローラー、またはこれらの組み合わせにより、残留トナーを除去および清掃する。あるいは、感光体ドラム41Y,41M,41C,41Kを用いて残留トナーを回収するクリーナーレス方式を採用してもよい。 On the other hand, in the photosensitive drum 41 from which the recording paper has been 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. As an example, the cleaning unit removes and cleans residual toner using a cleaning blade, a cleaning brush, a cleaning roller, or a combination thereof. Or you may employ | adopt the cleaner-less system which collect | recovers residual toner using the photoconductive drums 41Y, 41M, 41C, and 41K.
IDCセンサー49は、感光体ドラム41上に形成されるトナー像の濃度を検知する。このIDCセンサー49は、代表的に反射型フォトセンサからなる光強度センサーであり、感光体ドラム41の表面からの反射光強度を検知する。 The IDC sensor 49 detects the density of the toner image formed on the photosensitive drum 41. The IDC sensor 49 is a light intensity sensor that is typically a reflective photosensor, and detects the intensity of reflected light from the surface of the photosensitive drum 41.
制御部100は、画像形成装置1における全体の制御を司る。本実施の形態に従う画像形成装置1の制御部100には、複数のOSの同時起動(または、並列起動)を可能にする仮想化環境が実現される。複数のOSとしては、最低限実行されるホストOSと、要求などに応じて適宜実行されるゲストOSとがある。すなわち、ホストOSは、退避されない。 The control unit 100 controls the entire image forming apparatus 1. In the control unit 100 of the image forming apparatus 1 according to the present embodiment, a virtual environment that enables simultaneous activation (or parallel activation) of a plurality of OSs is realized. The plurality of OSs include a host OS that is executed at a minimum and a guest OS that is executed as appropriate in response to a request. 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, a hardware configuration of control unit 100 of image forming apparatus 1 according to the present embodiment will be described. FIG. 2 is a block diagram showing a hardware configuration of control unit 100 of 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)150とを含む。これらの構成要素は、内部バス104を介して、互いにデータ通信可能に構成される。 Referring to FIG. 2, the control unit 100 is an arithmetic processing entity that controls the entire image forming apparatus 1 and includes one or a plurality of arithmetic units. Specifically, the control unit 100 includes, as main components, 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). Integrated Circuits) 130, 140, interface circuits 105, 106, 107, 108 for exchanging signals or data with each component of the image forming apparatus 1, and an HDD (Hard Disk Drive) 150, which is an example of a secondary storage device. Including. These components are configured to be capable of data communication 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 purposes corresponding to each. The system memory 112 is used as a work memory for storing various data for executing programs by the processor 102. The image memory 114 is used for buffering image data that is temporarily created in the process of editing, processing, and displaying image data. For example, it is used as an image buffer for combining a plurality of image data, or an image buffer for previewing all or 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. In response to a request from the processor 102 or the like, data writing to the main memory 110 or main memory is performed. Data reading from 110 is performed. A compression / decompression IC 120 is connected to the memory control IC 118 and compresses image data written in the main memory 110 in units of blocks and decompresses image data read from the main memory 110. Such compression / decompression management realizes efficient use of the memory space and high-speed processing.
一例として、図2には、原稿の両面を一度にスキャンできる構成を例示する。すなわち、制御部100は、原稿の表面側に配置された撮像デバイス(表面側撮像デバイス)が原稿をスキャンすることで読み取られた画像データを処理する画像処理ASIC130と、原稿の裏面側に配置された撮像デバイス(裏面側撮像デバイス)が原稿をスキャンすることで読み取られた画像データを処理する画像処理ASIC140とを含む。このような構成を採用することで、スキャンニーズの高まりに対して、両面同時スキャンによる生産性改善を実現できる。 As an example, FIG. 2 illustrates a configuration in which both sides of a document can be scanned at once. That is, the control unit 100 is disposed on the back side of the document, and the image processing ASIC 130 that processes image data read by the imaging device (front side imaging device) disposed on the front side of the document scanning the document. And an image processing ASIC 140 that processes image data read by scanning the original. By adopting such a configuration, it is possible to realize productivity improvement by double-sided simultaneous scanning in response to increasing scanning needs.
なお、画像処理ASIC130および140に代えて、プロセッサー102が画像処理を実行するようにしてもよいが、ジョブをより高速に処理するためには、ASICなどの回路ロジックを採用することが好ましい。 In place of the image processing ASICs 130 and 140, the processor 102 may execute image processing. However, in order to process a job at a higher speed, it is preferable to employ circuit logic such as ASIC.
画像処理ASIC130は、表面側撮像デバイスからの画像データをサブメモリー134に格納する。画像処理ASIC130とサブメモリー134との間には、メモリー制御IC132が配置されており、サブメモリー134へのデータ書込み、および、サブメモリー134からのデータ読出しを仲介する。サブメモリー134の物理メモリー空間は、表面側撮像デバイスからの画像データを格納するための表面入力画像データバッファ136と、画像メモリー138とに区分されて、それぞれに応じた用途で使用される。画像メモリー138は、画像データに対する編集・加工・表示などの処理過程で一時的に作成される画像データのバッファリングに用いられる。例えば、表面側撮像デバイスからの画像データ(生データ)を指定された画像形式に変換する際の画像バッファ、FAXを送信する際の画像バッファ、または、外部ネットワークあるいは外部機器へ画像データを出力する際の画像バッファなどとして用いられる。 The image processing ASIC 130 stores image data from the front-side 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 data writing to the sub memory 134 and data reading 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 purposes corresponding to each. The image memory 138 is used for buffering image data that is temporarily created in the process of editing, processing, and displaying image data. For example, image data when converting image data (raw data) from the front-side imaging device into a designated image format, an image buffer when transmitting a FAX, or outputting image data to an external network or an external device It is used as an image buffer.
同様に、画像処理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 data writing to the sub memory 144 and data reading 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 imaging device and an image memory 148, and is used for purposes corresponding to each.
HDD150には、各種プログラムが不揮発的に格納されている。具体的には、HDD150は、ハイパーバイザー152と、ホストOS154と、1または複数のゲストOS156と、1または複数のアプリケーション158と、制御ファームウェア160とを格納している。これらのプログラムは、DVD−ROM(Digital Versatile Disk Read Only Memory)などの光学記録媒体、磁気記録媒体、半導体記録媒体、光磁気記憶媒体などの非過渡的(non-transitory)なコンピューター読取可能な記録媒体を媒介としてインストールされてもよい。あるいは、有線通信回線または無線通信回線を介して図示しないサーバー装置などから必要なプログラムがダウンロードされて、制御部100にインストールされてもよい。これらの各プログラムの詳細および実行タイミングなどについては、後述する。 Various programs are stored in the HDD 150 in a nonvolatile manner. Specifically, the HDD 150 stores a hypervisor 152, a host OS 154, one or more guest OSs 156, one or more applications 158, and control firmware 160. These programs are non-transitory computer-readable recording media such as optical recording media such as DVD-ROM (Digital Versatile Disk Read Only Memory), magnetic recording media, semiconductor recording media, and magneto-optical recording media. It may be installed via a medium. Alternatively, a necessary program may be downloaded from a server device (not shown) via a wired communication line or a wireless communication line and installed in the control unit 100. Details of these programs and execution timing 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 a FAX and / or network communication that exchanges data with other devices via a network. In response to an instruction from the processor 102, the transmission processing from the communication unit to the external device and the reception processing of data from the external device in the communication unit are mediated. Note that a function for using the function provided by the guest OS 156 in an external terminal may be implemented.
インターフェイス回路106は、操作パネル123に各種情報を表示する処理、および、操作パネル123に対するユーザー操作を受け付ける処理などを仲介する。操作パネル123は、ユーザーによるタッチ操作を受け付ける表示操作部であり、典型的には、表示部であるLCD(Liquid Crystal Display:液晶表示部)と、タッチ操作を受け付けるタッチパネルとを含む。なお、表示部には、ホストOS154およびゲストOS156の動作状況を可視化する機能を実装してもよい。例えば、表示部上に、空きメモリー空間の量およびプロセッサーの利用時間などをグラフまたは数値で表示するようにしてもよい。すなわち、画像形成装置1は、ゲストOS156上の情報を表示する表示部を有していてもよい。 The interface circuit 106 mediates processing for displaying various types of information on the operation panel 123, processing for receiving user operations on the operation panel 123, and the like. The operation panel 123 is a display operation unit that accepts a touch operation by a user, and typically includes an LCD (Liquid Crystal Display) that is a display unit and a touch panel that accepts a touch operation. Note that a function for visualizing the operation status of the host OS 154 and the guest OS 156 may be mounted on the display unit. For example, the amount of free memory space and the usage time of the processor may be displayed on the display unit as a graph or numerical value. That is, the image forming apparatus 1 may include a display unit that displays information on the guest OS 156.
インターフェイス回路107は、複数の認証デバイスとのデータの遣り取りを仲介する。認証デバイスとしては、典型的には、カード認証デバイス121および指紋認証デバイス122を含む。 The interface circuit 107 mediates data exchange with a plurality of authentication devices. The authentication devices typically include a card authentication device 121 and a fingerprint authentication device 122.
インターフェイス回路108は、プロセッサー102とプリントエンジン4との間のデータの遣り取りを仲介する。 The interface circuit 108 mediates 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 essential configuration in the image forming apparatus 1. As shown in FIG. 2, the image memory may be secured as a dedicated image processing area on the main memory 110, or dedicated on a local memory (sub-memory 134, 144) provided for each of the image processing ASICs 130, 140. The image processing area may be secured. As described above, in addition to the image processing ASIC 130 for the front surface, a local memory (sub memory 144) is also disposed in the image processing ASIC 140 for the back surface, and an image memory is provided on the local memory, thereby realizing high-speed scanning. .
このように、画像形成装置1のメモリー構成の設計としては、それぞれの目的に応じて専用の領域が確保されることも多い。 As described above, as a 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, an image processing ASIC and a 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 these image memories are used at the same time to realize multi-operation.
<C.画像形成装置1の制御部100での仮想化環境>
次に、本実施の形態に従う画像形成装置1の制御部100での仮想化環境について説明する。図3は、本実施の形態に従う画像形成装置1の制御部100でのプログラムの実行状態の一例を示す模式図である。
<C. Virtualization Environment in Control Unit 100 of Image Forming Apparatus 1>
Next, a virtual environment in control unit 100 of image forming apparatus 1 according to the present embodiment will be described. FIG. 3 is a schematic diagram showing an example of an execution state of a program in control unit 100 of 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 OSs 156 (guest OS1 to OS3) are simultaneously executed in addition to the host OS 154. Referring to FIG. 3, the plurality of OSs are executed using a common hardware resource (that is, processor 102 and system memory 112). FIG. 3 shows a state where a plurality of OSs are simultaneously executed by the processor 102 expanding and executing the hypervisor 152 in the system memory 112. That is, a memory space for storing data for operating each OS is prepared in the system memory 112. The use control of the memory space of the system memory 112 (memory area allocation and the like) is managed by the hypervisor 152.
ハイパーバイザー152は、プロセッサー102およびシステムメモリー112を含むリソースを用いて、ホストOS154および複数のゲストOS156を含む複数のOSの同時実行を制御する。ハイパーバイザー152は、各OSの実行に必要な仮想化されたプロセッサーリソースの割り当て処理、割込み処理、メモリー制御、デバイスドライバーの提供などを行なう。このような処理を提供することで、複数のゲストOS156の切り替え実行を可能にする。ハイパーバイザー152は、画像形成装置1および画像形成装置1に接続されたデバイスをゲストOS156が利用するための適切な初期化を行なう機能を有している。このような機能によって、ゲストOS156に切り替えられた直後であっても、ホストOS154と同様の処理を実行することができる。 The hypervisor 152 controls the simultaneous execution of a plurality of OSs including the host OS 154 and the plurality of guest OSs 156 by using resources including the processor 102 and the system memory 112. The hypervisor 152 performs virtual processor resource allocation processing necessary for execution of each OS, interrupt processing, memory control, provision of a device driver, and the like. By providing such processing, it is possible to execute switching of a plurality of guest OSs 156. The hypervisor 152 has a function of performing appropriate initialization for the guest OS 156 to use the image forming apparatus 1 and a device connected to the image forming apparatus 1. With such a function, processing similar to that of the host OS 154 can be executed even immediately after switching to the guest OS 156.
なお、ハイパーバイザー152の機能として、メモリー空間のマネージメントに加えて、電力のマネージメントを行なってもよい。例えば、ハイパーバイザー152は、画像形成装置1が省電力モードのときに、ゲストOS156の動作を制限する機能を実装してもよい。 As a function of the hypervisor 152, power management may be performed in addition to memory space management. For example, the hypervisor 152 may implement a function that restricts 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 in the control unit 100. On the host OS 154, the control firmware 160 is executed. 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, but an original 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 manages main control of the image forming apparatus 1. More specifically, the control firmware 160 performs control of main processing (main body operation) of the image forming apparatus 1, job processing mainly including control of the image processing ASICs 130 and 140 that handle the image memory, various device control, and the like. 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 a different type of OS as long as the OS has a virtual memory function. For example, as the guest OS 156, Linux, Windows (registered trademark), or 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 performs user authentication. More specifically, the application 158 includes a card authentication application 1581, a fingerprint authentication application 1582, and an ID authentication application 1583. The 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. Each is executed above.
さらに、ゲスト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. Note that a mechanism similar to an app store that provides an arbitrary program to the guest OS 156 may be employed.
さらに、ハイパーバイザー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 part of the functions of the hypervisor 152 or as independent functions linked to 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 with the guest OS 156 that is being executed simultaneously. In the present embodiment, the arbitration module 170 considers the operation of the job to be processed and efficiently uses the image memory, so that read-ahead for the switching of the guest OS 156 and the contents of the memory are changed. Perform evacuation. Note that the arbitration module 170 may have a function of sharing 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 a free memory space that is not used by the guest OS 156 that is executed simultaneously with the host OS 154 and the host OS 154 in the system memory 112. 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 authentication programs (card authentication application 1581, fingerprint authentication application 1582, ID authentication application 1583) of other guest OS 156. 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, the cooperation between the modules may be improved.
認証管理モジュール174は、認証デバイスとゲストOSと関連を管理し、認証デバイスからの通知があると、対応するゲストOSを先行起動させてから、制御ファームウェア160への通知を行なう。認証管理モジュール174は、認証デバイスの各々での認証に必要な認証プログラムの実行に必要なゲストOSとの組み合わせを管理する。認証デバイスとしては、カード認証を行なうためにカード情報を読み取るデバイスであるカード認証デバイス121と、指紋認証を行なうために指紋を読み取るデバイスである指紋認証デバイス122と、ID認証を行なうためにタッチパネルでID/パスワードが入力されたことを検知するタッチパネルデバイスである操作パネル123とを想定する。このように、画像形成装置1は、複数の認証方式にそれぞれ対応する複数の認証デバイスを有している。 The authentication management module 174 manages the association between the authentication device and the guest OS, and when notified from the authentication device, notifies the control firmware 160 after starting the corresponding guest OS in advance. The authentication management module 174 manages a combination with a guest OS necessary for executing an authentication program necessary for authentication in each authentication device. As an authentication device, a card authentication device 121 that is a device that reads card information for performing card authentication, a fingerprint authentication device 122 that is a device that reads a fingerprint for performing fingerprint authentication, and a touch panel for performing ID authentication. Assume an operation panel 123 that is a touch panel device that detects that an ID / password has been input. As described above, the image forming apparatus 1 includes a plurality of authentication devices respectively corresponding to a plurality of authentication methods.
例えば、認証管理モジュール174は、認証デバイスの各々での認証に必要な認証プログラムの実行に必要なゲストOSとの組み合わせとして、以下のようなテーブルを管理している。 For example, the authentication management module 174 manages the following table as a combination with a guest OS necessary for executing an authentication program necessary for authentication in each authentication device.
ホストOS154およびゲストOS156について、連続するメモリー空間を優先して画像メモリーに退避することが好ましい。 For the host OS 154 and the guest OS 156, it is preferable to preferentially save the continuous memory space to the image memory.
あるゲストOS156上のプログラムを他のゲストOS156上で実行させるように、マイグレーション処理を適切に行なう機能を実装してもよい。この場合には、あるゲストOS156に何らかの不具合が生じても、別のゲストOS156がアプリケーションの処理を継続できる。すなわち、調停モジュール170は、ゲストOS156を外部システムへマイグレーションしたときに退避したデータ内容を移動管理する機能をさらに含む。 A function for appropriately performing the migration process may be implemented so that a 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. In other words, the arbitration module 170 further includes a function for managing the movement of data saved when the guest OS 156 is migrated to an 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 it so that the plurality of image forming apparatuses 1 and the image forming apparatus group as a whole have an optimal configuration. The guest OS 156 and an application executed on each guest OS 156 may be selected.
ところで、図2に示すように、画像形成装置1の制御部100には、複数の画像メモリーが用意されている場合が多い。一方で、画像形成装置1において、プリント動作(画像形成動作)のみが連続する場合、または、原稿の片面のみをスキャンする場合などのように、一度にすべての画像メモリーが利用されていない状態も多くある。 By the way, as shown in FIG. 2, the control unit 100 of the image forming apparatus 1 often has a plurality of image memories. On the other hand, in the image forming apparatus 1, there are cases where not all the image memories are used at once, such as when only the printing operation (image forming operation) continues or when only one side of the document is scanned. There are many.
また、一般的には、画像メモリーは、ブロック単位で圧縮伸長管理されている。さらに、画像メモリーを単位分割して共用利用することで、複数タスクが物理メモリーを効率よく利用できるような構成も採用されている。 In general, the image memory is compression-expanded and managed in units of blocks. Furthermore, a configuration is also adopted in which a plurality of tasks can efficiently use the physical memory by dividing and sharing the image 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 OSs may be installed to be multi-functional, but the memory consumption of the guest OS may increase. Further, there is a demand for realization of a multi-OS that operates a plurality of guest OSes, but there is a problem similar to that in the case of realizing a general virtual environment. Therefore, it is not easy to realize a multi-OS without reducing the response performance for switching between a plurality of OSs within the limited resources of the image forming apparatus.
例えば、上述の特許文献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 at high speed. In the invention described in Patent Document 1, an independent memory space outside the OS management is secured in advance on the system memory and used for storing the operating context of the guest OS. However, even if such a configuration is adopted, there are restrictions on 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 between a plurality of OSs at high speed.
また、上述の特許文献3は、第1OSユーザー名を第2OSユーザー名として用いてログイン手順を簡略化することで、第2OSログイン手順を高速化している。しかしながら、画像処理ジョブが発生しメモリーなどリソースが枯渇する場合において、本体制御の第1OSへリソースを明け渡すために第2OSのリソース解放のためのログアウト処理時間が発生し、画像処理実行開始が遅れ得る。特に、リソース確認詳細が開示されておらず画像メモリーについて言及がないため、リソース不足時のフロー手順から第2OSの終了によりリソース解放すると終了手順に大きく時間を取られる。その結果、第1OSジョブ実行開始への遅延が大きくなりジョブ生産性への影響が大きい。 Further, Patent Document 3 described above speeds up the second OS login procedure by simplifying the login procedure using the first OS user name as the second OS user name. However, when an image processing job is generated and resources such as memory are exhausted, a logout processing time for releasing the resource of the second OS occurs to give up the resource to the first OS controlled by the main body, and the start of image processing execution may be delayed. . In particular, since the resource confirmation details are not disclosed and there is no mention of the image memory, if the resources are released by the termination of the second OS from the flow procedure when resources are insufficient, it takes much time to complete the termination procedure. As a result, the delay to the first OS job execution start becomes large and the influence on job productivity is great.
<D.認証処理>
次に、本実施の形態に従う画像形成装置1での認証処理の一例について説明する。
<D. Authentication process>
Next, an example of authentication processing in 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 to the virtual device of the host OS from the card authentication device 121 or the fingerprint authentication device 122, and an application (print application 1601, scan application included in the control firmware 160, scan) is executed on the host OS 154. The application 1602, the FAX application 1603, and the BOX application 1604) receive the control signal and perform authentication processing. In this case, a guest OS 156 that is necessary to perform authentication processing for performing authentication processing on an authentication application (card authentication application 1581, fingerprint authentication application 1582, ID authentication application 1583) executed on the guest OS 156 is started. Is checked, and if necessary, the guest OS 156 is started and the authentication process is performed.
画像形成装置1においては、カード認証デバイス121または指紋認証デバイス122の認証デバイスから通知される制御信号を認証管理モジュール174が受け取り、必要なゲストOSを起動した上でホストOS154の仮想デバイス1605に制御信号を通知する。このような処理を採用することで、ホストOS154に対して認証を行なうアプリケーション158はゲストOS156の起動処理と並行して、認証要求を行なうことができるため、認証処理を高速に行なうことが可能となる。 In the image forming apparatus 1, the authentication management module 174 receives a control signal notified from the authentication device of the card authentication device 121 or the fingerprint authentication device 122, starts a necessary guest OS, and then controls the virtual device 1605 of the host OS 154. Notify the signal. By adopting such processing, the application 158 that authenticates to the host OS 154 can make an authentication request in parallel with the startup processing of the guest OS 156, so that the authentication processing 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 the execution state of the authentication process in control unit 100 of image forming apparatus 1 according to the present embodiment. With reference to FIG. 4, an example in which the hypervisor 152 is executed using the hardware of the control unit 100 and the host OS 154 and the plurality of guest OSs 156 are executed under the management of the hypervisor 152 will be described.
制御部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 an MMU (Memory Management Unit) and IC functions provided by the memory control IC 118 and compression / decompression IC 120 (FIG. 2), a processor 102, a main memory 110, and the like. 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 activation, suspension, resumption, and suspension of the execution environment of the multiple guest OSs. Typically, the hypervisor 152 includes a virtual memory management unit (VMMU) 1521 corresponding to a virtual memory control system capable of executing programs in different virtual memory spaces, and a virtual interrupt capable of handling different interrupt information. An interrupt management unit (VIC) 1522 that is a control system and a virtual computing resource (VCPU) 1523 corresponding to a virtual processor control system that handles different processors are provided in a state where a plurality of OSs can be used. In addition, it is assumed that the applications 158 (the card authentication application 1581, the fingerprint authentication application 1582, and the ID authentication application 1583) are executed on the guest OS1 to OS3. The hypervisor 152 manages the execution of the guest OS 156 and the application 158 using the stub programs 1584, 1585, and 1586, respectively.
画像メモリーは、ブロック単位で圧縮伸長管理されている。さらに、画像メモリーを単位分割して共用利用することで、複数タスクが物理メモリーを効率よく利用できるような構成が採用されているとする。 The image memory is compressed and decompressed in units of blocks. Further, it is assumed that a configuration is adopted in which a plurality of tasks can efficiently use the physical memory by dividing and sharing the image memory.
ホストOS154およびゲストOS156についても、仮想メモリー機構を用いて一定のページ単位でメモリー空間を管理している。なお、以下の説明では、仮想メモリー機構をもたないOSについては考慮していない。 The host OS 154 and the guest OS 156 also manage the memory space in units of a certain page 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 is not necessarily the same between the block unit managed in the image memory and the page unit managed using the virtual memory mechanism. Also, when the image memory to be managed is provided in the main memory 110 and when it is provided in the sub memories 134 and 144, the handling cannot be made the same.
そこで、画像形成装置1での管理単位および制御を前提として、ホストOS154およびゲストOS156、ならびに、ハイパーバイザー152でのメモリー共有化機構が必要になる。 Therefore, on the premise of a 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 image forming apparatus 1 according to the present embodiment. However, the image memory used for print control is 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 ASICs 130 and 140. It consists of two types. As described above, since the usage mode is in accordance with the job using 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によりインストールしなければならない。 In addition, in order for the application 158 executed on the guest OS 156 to appropriately use the image memory shared with the host OS 154, the guest OS 156 necessary for authentication exchanges information with the hypervisor 152 and the arbitration module 170, and allocates memory. Need to do. If each of the plurality of applications 158 independently allocates memory, it becomes impossible to manage operations preferentially performed by the host OS 154 and the control firmware 160 as the entire system of the image forming apparatus 1, and different memory management in each guest OS 156 Therefore, a stub program 1584, 1585, 1586 that satisfies both needs to be installed by the stub management program 190 so as to be adapted to each guest OS 156.
スタブ管理プログラム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 stub programs 1584, 1585, and 1586 for each guest OS 156, and acquires information necessary for the application 158 by the installation method of each guest OS 156. Configured to perform installation with possible implementations.
また、アプリケーションからアクセス可能なAPI(Application Programming Interface)をもち、メモリー要求、解放、拡張、ページアウトの指示、およびメモリー割り当て情報の入手が可能になるよう構成されている。 Further, it has an API (Application Programming Interface) that can be accessed from an application, and is configured to be able to request memory request, release, expansion, page-out, and memory allocation information.
退避メモリー管理モジュール178は、二次記憶装置(図2のHDD150)にアクセス可能であり、メモリーをスワップアウトして空きメモリー空間を提供する。 The save memory management module 178 is accessible to the secondary storage device (HDD 150 in FIG. 2), and provides a free memory space by swapping out the memory.
図5は、本実施の形態に従う画像形成装置1におけるゲストOSの追加手順を説明するフローチャートである。図5に示す各ステップは、主として、画像形成装置1の制御部100のプロセッサー102がハイパーバイザー152を実現するプログラムを実行することで実現される。 FIG. 5 is a flowchart illustrating a guest OS addition procedure in image forming apparatus 1 according to the present embodiment. Each step shown in FIG. 5 is realized mainly 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の場合)、処理は終了する。 Referring to FIG. 5, processor 102 determines whether or not a request for adding a new guest OS has been received (step S100). If a request for adding a new guest OS has not been received (NO in step S100), the process ends.
新しいゲストOSの追加要求を受けていれば(ステップS100においてYESの場合)、プロセッサー102は、追加要求を受けたゲストOSに応じたスタブプログラムが存在するか否かを判断する(ステップS102)。 If a request for adding a new guest OS has been received (YES in step S100), the processor 102 determines whether or not a stub program corresponding to the guest OS that has received the addition request exists (step S102).
追加要求を受けたゲストOSに応じたスタブプログラムが存在すれば(ステップS102においてYESの場合)、プロセッサー102は、追加要求を受けたゲストOSに対して、対応するスタブプログラムのインストールを指示する(ステップS104)。そして、処理は終了する。 If there is a stub program corresponding to the guest OS that has received the addition request (YES in step S102), the processor 102 instructs the guest OS that has received the addition request to install the corresponding stub program ( 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 has received the addition request (NO in step S102), the processor 102 stops adding the guest OS that has received the addition request (step S106). ). Then, the process ends.
図6は、本実施の形態に従う画像形成装置1における認証要求があった場合の処理手順を説明するフローチャートである。図6に示す各ステップは、主として、画像形成装置1の制御部100のプロセッサー102が認証管理モジュール174を実現するプログラムを実行することで実現される。 FIG. 6 is a flowchart illustrating a processing procedure when there is an authentication request in image forming apparatus 1 according to the present embodiment. Each step shown in FIG. 6 is realized mainly by the processor 102 of the control unit 100 of the image forming apparatus 1 executing a program that realizes the authentication management module 174.
図6を参照して、プロセッサー102は、複数の認証デバイスのうちいずれかの認証デバイスからの信号を受けたか否かを判断する(ステップS200)。いずれの認証デバイスからも信号を受けていなければ(ステップS200においてNOの場合)、処理は終了する。 Referring to FIG. 6, processor 102 determines whether or not a signal from any one of the plurality of authentication devices has been received (step S200). If no signal is received from any authentication device (NO in step S200), the process ends.
いずれかの認証デバイスから信号を受けていれば(ステップS200においてYESの場合)、プロセッサー102は、受けた認証デバイスからの信号に応じて、認証プログラムおよび認証プログラムの実行に必要なゲストOSを決定する(ステップS202)。そして、プロセッサー102は、決定した必要なゲストOSを起動する(ステップS204)。このゲストOSの起動に際しては、図5に示す処理が実行されてもよい。 If a signal is received from any one of the authentication devices (YES in step S200), processor 102 determines an authentication program and a guest OS necessary for executing the authentication program according to the received signal from the authentication device. (Step S202). Then, the processor 102 activates the determined necessary guest OS (step S204). When the guest OS is activated, the processing shown in FIG. 5 may be executed.
決定した必要なゲストOSの起動後、プロセッサー102は、受けた認証デバイスからの信号に応じた認証プログラムを起動したゲストOS上で実行する(ステップS206)。そして、処理は終了する。 After the determined necessary guest OS is activated, the processor 102 executes the authentication program corresponding to the received signal from the authentication device on the activated 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 unique to the image memory will be described. In particular, a process suitable for using a block-divided image memory will be described.
本実施の形態に従う画像形成装置1では、物理的な画像メモリーは、画像ブロック単位で圧縮伸長管理される。そして、一定サイズの単位メモリーは、ツリー構造で管理される。より具体的には、単位メモリーの各々は、リンクトリストを用いたツリー状のデータ構造を用いて管理され、各単位メモリーの種別およびアドレスが拡張アドレス・データ構造に格納されている。 In image forming apparatus 1 according to the present embodiment, the physical image memory is compressed and expanded in units of image blocks. A 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 describing a use form of an image memory divided into blocks in control unit 100 of image forming apparatus 1 according to the present embodiment. Referring to FIG. 7, the physical image memory is managed by compression / decompression in units of image blocks. A 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 perform an arbitration operation with the image processing ASIC. Such a configuration has a high affinity with the host OS 154, the guest OS 156, and the virtual memory mechanism of the hypervisor 152. On the other hand, such a configuration is based on the premise of conventional image processing that depends on job control, and therefore is not considered for other purposes, particularly as a memory space that can be handled by the OS.
本実施の形態に従う画像形成装置1では、画像形成の管理単位に対して、ホストOS154およびゲストOS156ならびにハイパーバイザー152でのページ単位構造を割り当て、通常のメモリー空間として管理することで、ゲストOS156でも画像メモリーを利用することを可能にする。 In the image forming apparatus 1 according to the present embodiment, a page unit structure in the host OS 154, the guest OS 156, and the hypervisor 152 is assigned to a management unit for image formation, and is managed as a normal memory space. It makes it possible to use image memory.
すなわち、仮想メモリーとしては、一定サイズのページメモリーがツリー構造で管理され、いずれのゲストOSも利用可能になっている。画像メモリーは、画像メモリーの種別(すなわち、メインメモリー110内に設けられた場合と、サブメモリー134,144に設けられた場合)により、メモリー応答性能が異なる。そのため、単純なメモリー空間として利用すると、メモリー応答性能を考慮せずアクセスされるので、全体としての性能が劣化する可能性がある。 That is, as virtual memory, a 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 taking into consideration the memory response performance, so that the overall performance may be deteriorated.
本実施の形態に従う画像形成装置1では、本体OS(ホストOS154およびゲストOS156とハイパーバイザー152との間に、調停モジュール170を介在させ、画像メモリーの種別に応じて、通常のメモリー空間、および、ストレージメモリー空間のいずれかとして選択的に割り当てる。 In the image forming apparatus 1 according to the present embodiment, an arbitration module 170 is interposed between the main body OS (the host OS 154 and the guest OS 156 and the hypervisor 152, and depending on the type of the image memory, Selectively allocate as one of the storage memory space.
例えば、ストレージメモリー空間は、ページ退避可能性が高く(Swappableに)設定され、ジョブ動作に応じてスワップされるよう、調停モジュール170によってメモリー管理が調停される。また、一旦ページ化した場合、再度ストレージメモリー空間へレストアされるのではなく、通常スワップと同様に扱うことで、高速なメモリー復帰が可能になる。 For example, the storage memory space is set with high possibility of page evacuation (set to 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 again to the storage memory space, but is handled in the same way as normal swap, thereby enabling high-speed memory recovery.
図7には、ハイパーバイザー152と連携する調停モジュール170が、メインメモリー110をページ退避可能性が低いと(Residentialに)設定し、サブメモリー134,144をページ退避可能性が高いと(Swappableに)設定してもよい。また、サブメモリー134,144上の退避メモリーはHDD150のスワップ領域にスワップアウトされてもよい。 In FIG. 7, when the arbitration module 170 that cooperates with the hypervisor 152 sets the main memory 110 as having a low possibility of page evacuation (to Residential), the sub memory 134 and 144 is set to have a high possibility of evacuating the page (to Swappable). ) May be set. Further, the save 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 the memory management, the arbitration module 170 recognizes that the read guest OS 156 has been destroyed by job execution by giving an ID for identifying the guest OS 156 to data arranged in the memory space. It may be made available. That is, the arbitration module 170 detects that the read guest OS 156 has been destroyed by job execution, and rereads the destroyed guest OS 156 detected before starting the job.
図8は、本実施の形態に従う画像形成装置1の制御部100におけるブロック分割された画像メモリーの管理方法を説明するための模式図である。図8を参照して、あるメモリー空間内の画像ブロック単位(例えば、4kByte)の各々に対して、属性情報を含むテーブル(カラム)が関連付けられる。 FIG. 8 is a schematic diagram for illustrating a method of managing the block-divided image memory in control unit 100 of image forming apparatus 1 according to the present embodiment. Referring to FIG. 8, a table (column) including attribute information is associated with each image block unit (for example, 4 kBytes) in a certain memory space.
このテーブルには、複数の属性情報が格納される。図8に示す例では、ブロック番号、アドレス、メモリーID、OSID、JOB情報、C、Uなどである。 A plurality of 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, and the like.
ブロック番号は、メモリー空間上の領域を特定する情報である。アドレスは、メモリー空間上の対応するブロックのアドレスである。メモリーIDは、システムメモリー112上に設けられる画像メモリーであるのか、サブメモリー134,144上に設けられる画像メモリーであるのかを示す。OSIDは、対応するOSのIDを示す。JOB情報は、ゲストOSに対応する認証JOBであるか否かを示す。Cは、対応ブロックが参照された回数を示し、Uは、対応ブロックが更新されたか否かを示す。 The block number is information for specifying an area in the memory space. The address is the address of the corresponding block in the memory space. The memory ID indicates whether the image memory is provided on the system memory 112 or the 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 the corresponding block has been updated.
このように、調停モジュール170は、メモリー空間の種別に区分して、単位メモリーごとに利用しているOSを特定可能なIDを含むリストを管理する機能を有している。このようなブロック単位ごとの情報に基づいて、スワップアウトまたは書き戻しなどが制御される。 As described above, the arbitration module 170 has a function of managing a list including IDs that can identify the OS used for each unit memory, divided into types of memory spaces. Swap-out or write-back is controlled based on such information for each block unit.
図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 control unit 100 of image forming apparatus 1 according to the present embodiment. Referring to FIG. 9, the hypervisor reads the guest OS from the HDD 150 onto the system memory 112 in the main memory 110 and activates it in response to a request ((1) activation). Thereafter, the image data is saved in the image memory 114 in the main memory 110 according to the situation ((2) saving). If there is not enough free memory space in the image memory 114 in the main memory 110, the contents read out to the image memories 138 and 148 in the sub memories 134 and 144 associated with any of the image processing ASICs are stored. Sometimes evacuated.
その後、画像処理ASICによる処理要求などに応じて、サブメモリー134,144に、十分な空きメモリー空間を確保するために、退避しているデータをHDD150にページアウトする。 Thereafter, in response to a processing request by the image processing ASIC, 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 image forming apparatus 1 according to the present embodiment, HDD 150, main memory 110 (including system memory 112, image memory 114), and sub memories 134 and 144 associated with the image processing ASIC. Data save processing, page out processing, etc. are performed in an optimized state between the three parties (image memories 138, 148) according to the memory usage request and the amount of free memory space. The
図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 control unit 100 of image forming apparatus 1 according to the present embodiment. Referring to FIG. 10, for example, it is assumed that activation of guest OS 3 is instructed in a state where data necessary for execution of the host OS and guest OS 1 and guest OS 2 are stored in system memory 112 ((1) Request generation ). Then, the arbitration module 170 saves (swaps out), for example, the memory area allocated to the guest OS 1 whose execution is temporarily stopped in the sub memory 134. Alternatively, the memory area allocated to the guest OS 1 may be saved (swapped out) in 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 performed in parallel in units of the buffer capacity (for example, 4 kB) (that is, in block units) via the system memory.
その後、サブOS3の実行の必要性がなくなると、システムメモリー112の内容がHDD150にスワップアウトされ、サブメモリー134からシステムメモリー112へ書き戻される。 Thereafter, when there is no need to execute the sub OS 3, 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へ切り替える処理とを連続動作させる。 As described above, the arbitration module 170 performs memory transfer in parallel in units of blocks until the necessary system memory 112 becomes available, and allocates a memory space to the guest OS 156. Then, the arbitration module 170 switches to the guest OS 156 after the memory transfer is completed. Thereafter, when switching to the host OS 154, the arbitration module 170 sequentially replaces the process of temporarily freeing the system memory used by the previously executed guest OS and the program operating on the guest OS 156, and the previously transferred memory. The process and the process of switching to the host OS after completion of the replacement are continuously operated.
また、調停モジュール170は、ゲストOS156切り替えた後に、ゲストOS156からホストOS154ではなく他のゲストOS156に切り替える場合に、ホストOS154に関するファイルメモリーのデータをHDD150(二次記憶装置)へ順次並列転送する処理、先に実行されたゲストOS156および当該ゲストOS156で動作するプログラムが利用するシステムメモリーを一時凍結する処理、HDD150へ転送されたファイルメモリーに対して一時凍結したシステムメモリーを順次並列転送する処理と、他のゲストOSが必要とするシステムメモリーになるまで先のゲストOSが転送完了したシステムメモリーから順次確保する処理と、他のゲストOSが動作可能なシステムメモリーが確保されたことで切り替えする処理とを連続動作させる。 Further, the arbitration module 170 sequentially transfers the file memory data 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. A process of temporarily freezing the system memory used by the previously executed guest OS 156 and a program running on the guest OS 156, a process of sequentially transferring the system memory temporarily frozen to the file memory transferred to the HDD 150, and Processing to secure sequentially from the system memory that the previous guest OS has completed the transfer until the system memory required by the other guest OS is obtained, and processing to switch by securing the system memory that can be operated by the other guest OS It operated continuously at the door.
図11は、本実施の形態に従う画像形成装置1でのメモリーマネージングに係る処理手順を示すフローチャートである。図11に示す各ステップは、主として、画像形成装置1の制御部100のプロセッサー102が調停モジュール170のプログラムを実行することで実現される。 FIG. 11 is a flowchart showing a processing procedure related to memory management in image forming apparatus 1 according to the present embodiment. Each step shown in FIG. 11 is realized mainly 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)。 Referring to FIG. 11, processor 102 (arbitration module 170) divides the memory space into types, and updates a list including IDs that can identify the OS used for each unit memory (step S300). It is determined whether switching from the host OS to the guest OS has been 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) performs memory transfer in parallel in units of blocks until the necessary system memory becomes available. Implement (step S304). As a result, a necessary memory space can be allocated to the guest OS requested to be switched. After the completion of the memory transfer, the processor 102 (arbitration module 170) switches from the host OS to the guest OS (step S306).
その後、プロセッサー102(調停モジュール170)は、ゲストOSから別のゲストOSへの切り替えが要求されたか否かを判断する(ステップS308)。 Thereafter, the processor 102 (arbitration module 170) determines whether switching 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 a guest OS to another guest OS is requested (YES in step S308), that is, when switching from a guest OS to another guest OS after switching to the guest OS, first, The processor 102 (arbitration module 170) sequentially transfers file memory data relating 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 previously executed guest OS and the system memory used by the program running on the guest OS (step S312). Further, the processor 102 (arbitration module 170) sequentially transfers the system memory temporarily frozen to the file memory transferred to the HDD 150 (secondary storage device) in parallel (step S314), and is required by another guest OS. The previous guest OS sequentially secures the system memory from which the transfer has been completed until it becomes the system memory (step S316). Finally, the processor 102 (arbitration module 170) switches from the guest OS to another designated guest OS when a system memory capable of operating another guest OS 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 execution of step S318, it is determined whether switching 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) causes the system used by the previously executed guest OS and a program operating on the guest OS. The memory is temporarily frozen (step S322). Then, the processor 102 (arbitration module 170) sequentially replaces the previously transferred memories (step S324). After completing the replacement of the memory, 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 processes in and after step S300 are repeated.
<F.認証処理が必要なジョブの処理>
次に、認証処理が必要なジョブの処理について説明する。図12は、本実施の形態に従う画像形成装置1での認証処理が必要なジョブに対する処理手順を示すフローチャートである。図12に示す各ステップは、主として、画像形成装置1の制御部100のプロセッサー102が制御ファームウェア160を実行することで実現される。
<F. Processing jobs that require authentication>
Next, processing of a job that requires authentication processing will be described. FIG. 12 is a flowchart showing a processing procedure for a job that requires authentication processing in image forming apparatus 1 according to the present embodiment. Each step shown in FIG. 12 is realized mainly 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)。 Referring to FIG. 12, processor 102 determines whether or not a plurality of authentication applications executed on different guest OSs are necessary for jobs included in the managed job list (step S400). If a plurality of authentication applications executed on different guest OSs are not necessary (NO in step S400), normal processing is executed (step S402).
異なるゲストOS上で実行される複数の認証アプリケーションが必要であれば(ステップS400においてYESの場合)、プロセッサー102は、ゲストOSが使用するメモリー量を必要なゲストOSの数に比例させて推定する(ステップS404)。続いて、プロセッサー102は、推定した必要なメモリー量を空きメモリー空間から確保できるか否かを判断する(ステップS406)。 If a plurality of authentication applications to be executed on different guest OSs are necessary (YES in step S400), the processor 102 estimates the amount of memory used by the guest OS in proportion to the number of required guest OSs. (Step S404). Subsequently, the processor 102 determines whether or not the estimated necessary memory amount can be secured from the free memory space (step S406).
推定した必要なメモリー量を空きメモリー空間から確保できれば(ステップS406においてYES)、プロセッサー102は、推定した必要なメモリー量を空きメモリー空間から確保し(ステップS408)、通常の処理を進行する(ステップS402)。 If the estimated necessary memory amount can be secured from the free memory space (YES in step S406), the processor 102 secures the estimated necessary memory amount from the free memory space (step S408), and proceeds with normal processing (step S408). S402).
これに対して、推定した必要なメモリー量を空きメモリー空間から確保できなければ(ステップS406においてNO)、プロセッサー102は、処理対象のジョブについての認証方式に必要なメモリー量を空きメモリー空間から確保できるか否かを判断する(ステップS410)。 On the other hand, if the estimated necessary memory amount cannot be secured from the free memory space (NO in step S406), the processor 102 secures the memory amount necessary for the authentication method for the processing target job from the free memory space. It is determined whether or not it is possible (step S410).
処理対象のジョブについての認証方式に必要なメモリー量を空きメモリー空間から確保できれば(ステップS410においてYES)、プロセッサー102は、通常の処理を進行する(ステップS402)。この場合、ステップS400以下の処理が再度実行される。 If the amount of memory necessary 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 processes after step S400 are executed again.
処理対象のジョブについての認証方式に必要なメモリー量を空きメモリー空間から確保できなければ(ステップS410においてNO)、プロセッサー102は、退避メモリーをして空きメモリー空間を提供する(ステップS412)。そして、プロセッサー102は、処理対象のジョブについての認証方式に必要なメモリー量を空きメモリー空間から確保し(ステップS414)、通常の処理を進行する(ステップS402)。この場合も、ステップS400以下の処理が再度実行される。 If the amount of memory necessary 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 an amount of memory necessary for the authentication method for the job to be processed from the free memory space (step S414), and proceeds with normal processing (step S402). Also in this case, the processing after step S400 is executed again.
なお、推定した必要なメモリー量を空きメモリー空間から確保できなければ(ステップS406においてNO)、ジョブリストに格納されているそれぞれのジョブについて、認証方式を変更できるか否かを評価してもよい。 If the estimated necessary 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>
Image forming apparatus 1 according to the present embodiment uses image memory in addition to system memory 112 to simultaneously execute a plurality of OSs (host OS 154 and one or more guest OSs 156) 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 amount of image memory space used in job execution controlled by the host OS 154, and changes in the amount of memory space used by the authentication program in the execution environment of the guest OS 156. May be monitored.
さらに、調停モジュール170は、何らかの処理の開始または終了を都度記録する更新履歴を保持しておき、メモリー使用量または空きメモリー量の増減傾向に基づいて、格納している内容の配置場所を都度変更してもよい。 Furthermore, the arbitration module 170 keeps an update history that records the start or end of some processing each time, and changes the location of the stored content each time based on the increasing / decreasing tendency of the memory usage or the free memory amount. May be.
図13は、本実施の形態に従う画像形成装置1でのメモリー使用量の監視に係る処理手順を示すフローチャートである。図13に示す各ステップは、主として、画像形成装置1の制御部100のプロセッサー102が調停モジュール170のプログラムを実行することで実現される。 FIG. 13 is a flowchart showing a processing procedure relating to memory usage monitoring in image forming apparatus 1 according to the present embodiment. Each step shown in FIG. 13 is realized mainly 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の処理が繰り返される。 Referring to FIG. 13, processor 102 determines whether or not a memory area request (page fault) has occurred (step S500). If no memory area request has 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 about the amount of free memory from the free memory management module 172 (step S502). Then, the processor 102 calculates the amount of change in the amount of free memory from the past record of the amount of free memory 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 amount of change in the free memory amount does not show a decreasing tendency (NO in step S506), the processes in and after step S500 are 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 amount to the save memory management module 178 (step S508). Then, the processor 102 specifies a target save memory and pages out the specified save memory (step S510).
最後に、プロセッサー102は、退避メモリー管理モジュール178が管理する退避メモリー量を更新し(ステップS512)、ステップS500以下の処理を繰り返す。 Finally, the processor 102 updates the save memory amount managed by the save memory management module 178 (step S512), and repeats the processing from step S500.
このようなトータルでのメモリー領域の管理を行なうことで、オーバーコミットメントの発生頻度などを低減できる。また、制限のあるメモリーリソースの利用効率を向上させることができる。 By performing such total memory area management, the frequency of overcommitment can be reduced. In addition, the utilization efficiency of limited memory resources can be improved.
<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 exemplified. However, a virtual environment may be realized by linking a plurality of apparatuses.
図14は、本実施の形態に従う画像形成装置が他の装置と連携した認証処理の実行状態の一例を示す模式図である。図14に示す構成においては、本体装置1Aと補助装置1Bとが連携して仮想環境を実現する。 FIG. 14 is a schematic diagram showing an example of an execution state of authentication processing in which the image forming apparatus according to the present embodiment cooperates with another apparatus. In the configuration shown in FIG. 14, the main device 1A and the auxiliary device 1B cooperate to implement a virtual environment.
本体装置1A上では、ハイパーバイザー152がハードウェアを利用して、仮想環境を実現する。具体的には、ホストOS154ならびにゲストOS156(ゲストOS1およびゲストOS2)が実行されている。ホストOS154上では制御ファームウェア160が実行され、ゲストOS1上ではカード認証アプリケーション1581が実行され、ゲストOS2上では指紋認証アプリケーション1582が実行される。 On the main apparatus 1A, the hypervisor 152 implements a virtual environment using hardware. Specifically, a host OS 154 and a guest OS 156 (guest OS 1 and guest OS 2) are executed. The control firmware 160 is executed on the host OS 154, the card authentication application 1581 is executed on the guest OS1, and the fingerprint authentication application 1582 is executed on the guest OS2.
一方、補助装置1B上においても、ハイパーバイザー153がハードウェアを利用して、仮想環境を実現する。具体的には、ホストOS154ならびにゲストOS156(ゲストOS1およびゲストOS2)が実行されている。ゲストOS3上ではID認証アプリケーション1583が実行される。 On the other hand, on the auxiliary device 1B, the hypervisor 153 implements a virtual environment using hardware. Specifically, a host OS 154 and a guest OS 156 (guest OS 1 and guest OS 2) are executed. An ID authentication application 1583 is executed on the guest OS 3.
本体装置1A上で実行されるハイパーバイザー152および補助装置1B上で実行されるハイパーバイザー153とは、いずれも実行環境を管理する機能を有しており、互いに連携可能になっている。補助装置1B上で実行されるハイパーバイザー153は、マイグレーション後に初期化設定を行なう設定機能を有している。一方、本体装置1A上で実行されるハイパーバイザー152は、補助装置1Bでの初期化設定に必要な初期化手順指示書(プレイブック)を送受信する機能を有している。すなわち、補助装置1B上で実行されるハイパーバイザー153は、本体装置1Aからの初期化手順指示書(プレイブック)に従って、初期化設定を行なう。 Both the hypervisor 152 executed on the main device 1A and the hypervisor 153 executed on the auxiliary device 1B 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 setting after migration. On the other hand, the hypervisor 152 executed on the main device 1A has a function of transmitting and receiving an initialization procedure instruction (playbook) necessary for initialization setting in the auxiliary device 1B. That is, the hypervisor 153 executed on the auxiliary device 1B performs initialization setting according to the initialization procedure instruction (playbook) from the main device 1A.
具体的な応用例としては、画像形成装置1の本体部が本体装置1Aに相当し、操作パネル123が補助装置1Bに相当するような構成が想定される。すなわち、操作パネル123にも認証処理が可能なプロセッサーが搭載されており、画像形成装置1での認証処理のうち、特定の認証処理を操作パネル123で分担して実行するような応用が想定される。あるいは、画像形成装置1が外部サーバーに対して認証処理を委任するような形態が想定される。すなわち、外部サーバーが補助装置1Bに相当するような構成が想定される。 As a specific application example, a configuration in which the main body of the image forming apparatus 1 corresponds to the main body apparatus 1A and the operation panel 123 corresponds to the auxiliary apparatus 1B is assumed. That is, the operation panel 123 is also equipped with a processor that can perform authentication processing, and an application in which specific authentication processing among the authentication processing in the image forming apparatus 1 is executed by the operation panel 123 is assumed. The Alternatively, a mode in which the image forming apparatus 1 delegates authentication processing to an external server is assumed. That is, a configuration in which the external server corresponds to the auxiliary device 1B is assumed.
すなわち、本体装置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 apparatus 1A can be switched to execute the authentication process on the own apparatus if there is enough resources.
図15は、本実施の形態に従う画像形成装置1でのマイグレーションに係る処理手順を示すフローチャートである。図15に示す各ステップは、主として、本体装置1Aのプロセッサー102がハイパーバイザー152を実現するプログラムを実行することで実現される。 FIG. 15 is a flowchart showing a processing procedure related to migration in image forming apparatus 1 according to the present embodiment. Each step shown in FIG. 15 is implemented mainly by the processor 102 of the main apparatus 1A executing a program that implements the hypervisor 152.
図15を参照して、プロセッサー102は、管理するジョブリストに含まれるジョブについて、異なるゲストOS上で実行される複数の認証アプリケーションが必要であるか否かを判断する(ステップS600)。異なるゲストOS上で実行される複数の認証アプリケーションが必要でなければ(ステップS600においてNOの場合)、通常の処理が実行される(ステップS602)。 Referring to FIG. 15, processor 102 determines whether or not a plurality of authentication applications executed on different guest OSs are necessary for jobs included in the managed job list (step S600). If a plurality of authentication applications executed on different guest OSs are not necessary (NO in step S600), normal processing is executed (step S602).
異なるゲストOS上で実行される複数の認証アプリケーションが必要であれば(ステップS600においてYESの場合)、プロセッサー102は、他の装置へのマイグレーションが可能な状況か否かを判断する(ステップS604)。すなわち、プロセッサー102は、異なるOSの実行環境を他の装置へマイグレーションすること、および、当該マイグレーションに必要なページアウトされたメモリー領域の読み出すことを、ジョブ実行状態において実施するかを判断する。 If a plurality of authentication applications to be executed on different guest OSs are necessary (YES in step S600), the processor 102 determines whether or not migration to another device is possible (step S604). . In other words, the processor 102 determines whether to migrate a different OS execution environment to another device and to read out a paged-out memory area necessary for the migration in the job execution state.
他の装置へのマイグレーションが不可能な状況であれば(ステップS604においてNOの場合)、通常の認証処理が実行される(ステップS606)。 If migration to another device is impossible (NO in step S604), normal authentication processing is executed (step S606).
他の装置へのマイグレーションが可能な状況であれば(ステップS604においてYESの場合)、プロセッサー102は、マイグレーションする認証アプリケーションを無効化する(ステップS608)とともに、当該無効化された認証アプリケーションが実行されていたゲストOSからスタブプログラムを削除する(ステップS610)。そして、プロセッサー102は、メモリー管理方式をスタブプログラムによるものから、認証プログラムでメモリー管理する方式に切り替える(ステップS612)。 If migration to another apparatus is possible (YES in step S604), the processor 102 invalidates the authentication application to be migrated (step S608) and executes the invalidated authentication application. The stub program is deleted from the existing guest OS (step S610). Then, the processor 102 switches the memory management method from the stub program to the memory management method using 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 has been executed (step S616).
プロセッサー102は、ゲストOSの停止を確認する(ステップS618)と、マイグレーション先のハイパーバイザーに対して、ゲストOSを転送する(ステップS620)とともに、初期化手順指示書(プレイブック)を転送する(ステップS622)。 When the processor 102 confirms the stop of the guest OS (step S618), the processor 102 transfers the guest OS to the migration destination hypervisor (step S620) and transfers an initialization procedure instruction (playbook) (step S620). Step S622).
そして、プロセッサー102は、マイグレーション先の装置においてゲストOSが起動されているか否かを判断する(ステップS624)。マイグレーション先の装置においてゲストOSが起動されていれば(ステップS624においてYESの場合)、通常の処理が実行される(ステップS602)。 Then, the processor 102 determines whether or not the guest OS is activated in the migration destination apparatus (step S624). If the guest OS is activated in the migration destination apparatus (YES in step S624), normal processing is executed (step S602).
マイグレーション先の装置においてゲストOSが起動されていなければ(ステップS624においてNOの場合)、プロセッサー102は、自装置側でゲストOSを再度起動する(ステップS626)。そして、通常の処理が実行される(ステップS602)。 If the guest OS is not activated in the migration destination apparatus (NO in step S624), the processor 102 activates the guest OS again on the own apparatus side (step S626). Then, normal processing is executed (step S602).
以上のようなマイグレーション機能を実装することで、複数装置が連携した柔軟なシステムを実現できる。 By implementing the migration function as described above, a flexible system in which a plurality of devices are linked can be realized.
<I.複数ユーザー認証>
次に、連続するジョブに対して複数のユーザー認証処理が必要になった場合の処理について説明する。例えば、複数のユーザーについてユーザー認証処理がそれぞれ必要になった場合には、ジョブ実行を優先してユーザー認証処理を遅延させるように変更を提案してもよいし、あるいは、認証方法の変更によりジョブをより早く完了できそうな場合には、該当のユーザーへ現ユーザーの認証方法への変更を提案してもよい。
<I. Multiple user authentication>
Next, a process when a plurality of user authentication processes are necessary for a continuous job will be described. For example, if user authentication processing is required for each of a plurality of users, a change may be proposed so that the user authentication processing is delayed by giving priority to job execution, or the job can be changed by changing the authentication method. May be proposed to the corresponding user to change the current user's authentication method.
図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 image forming apparatus 1 according to the present embodiment competes. Each step shown in FIG. 16 is realized mainly 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, an authentication application corresponding to an authentication method used by a user who has already been authenticated for the job is operating.
図16を参照して、異なるユーザーについての異なる認証方法の実行が要求されたか否かを判断する(ステップS700)。異なるユーザーについての異なる認証方法の実行が要求されていなければ(ステップS700においてNOの場合)、以下の処理はスキップされる。 Referring to FIG. 16, it is determined whether execution of different authentication methods for different users is requested (step S700). If execution of different authentication methods for different users is not requested (NO in step S700), the following processing is skipped.
異なるユーザーについての異なる認証方法の実行が要求されていれば(ステップS700においてYESの場合)、プロセッサー102は、要求された異なる認証方法を実現するための認証アプリケーションを実行させるゲストOSが稼働しているか否かを判断する(ステップS702)。 If execution of a different authentication method for a different user is requested (YES in step S700), the processor 102 operates a guest OS that executes an authentication application for realizing the requested different authentication method. It is determined whether or not (step S702).
要求された異なる認証方法を実現するための認証アプリケーションを実行させるゲストOSが稼働していれば(ステップS702においてYESの場合)、プロセッサー102は、要求された異なる認証方法でユーザー認証処理を実行する(ステップS704)。そして、次のジョブの処理準備を開始する(ステップS706)。 If the guest OS that executes the authentication application for realizing the requested different authentication method is running (YES in step S702), the processor 102 executes the user authentication process using the requested different authentication method. (Step S704). Then, preparation for processing of the next job is started (step S706).
要求された異なる認証方法を実現するための認証アプリケーションを実行させるゲストOSが稼働していなければ(ステップS702においてNOの場合)、プロセッサー102は、要求された異なる認証方法は現在実行中のジョブについての認証方式で代替できるか否かを判断する(ステップS708)。要求された異なる認証方法は現在実行中のジョブについての認証方式で代替できなければ(ステップS708においてNOの場合)、ステップS710〜S714の処理はスキップされ、プロセッサー102は、次のジョブの処理準備を開始する(ステップS706)。 If the guest OS that executes the authentication application for realizing the requested different authentication method is not operating (NO in step S702), the processor 102 determines that the requested different authentication method is the job currently being executed. It is determined whether or not the authentication method can be replaced (step S708). If the requested different authentication method cannot be replaced with the authentication method for the job currently being executed (NO in step S708), the processing in steps S710 to S714 is skipped, and the processor 102 prepares for the next job processing. Is started (step S706).
要求された異なる認証方法は現在実行中のジョブについての認証方式で代替できれば(ステップS708においてYESの場合)、プロセッサー102は、次のジョブのユーザーに対して、現ユーザーの認証方式を利用することを提案し、ユーザーが当該提案を受け入れるか否かを判断する(ステップS710)。 If the requested different authentication method can be replaced with the authentication method for the job currently being executed (YES in step S708), processor 102 should use the authentication method of the current user for the user of the next job. And determines 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 performs user authentication using the current user authentication method (step S712). Then, the processor 102 starts 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 the next job. (Step S706).
このように、制御ファームウェア160にて管理実施する連続するジョブのうち、現ユーザーが認証を行なってジョブを開始したときに、他ユーザーが当該現ユーザーとは異なる認証方式を要求し、該当の認証方式のゲストOSがページアウトされていた場合には、現ユーザーのジョブを優先して実行して他ユーザーは現ユーザーのジョブ完了まで待たせること、および、現ユーザーの認証方式に変更もしくは変更するように警告すること、の一方を実施する。 As described above, 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 system is paged out, the current user's job is executed preferentially and other users are allowed to wait until the current user's job is completed, and the current user's authentication system is changed or changed. So that one of the warnings is carried out.
このような構成を採用することで、ユーザーの事情を考慮しつつ、セキュアな画像形成処理を実現できる。 By adopting such a configuration, it is possible to realize a secure image forming process in consideration of user circumstances.
<J.付記>
本発明は、別の局面として、さらに以下のように表現することができる。
<J. Addendum>
As another aspect, the present invention can be further expressed as follows.
本発明の別の局面に従う画像形成装置は、画像形成動作に必要な制御を行なう制御ファームウェアおよびホストOSと、複数のユーザー認証方式とを有している。画像形成装置は、ユーザーごとに異なるユーザー認証方式を選択する手段を備えることと、ユーザー認証方式ごとに独立した認証プログラムと、認証プログラムを実行するためのホストOSとは異なるゲストOSと、ゲストOSの実行を管理するハイパーバイザーと、ユーザー認証方式と認証に必要なゲストOSとの組み合わせを保持することにより、ユーザー認証方式に応じたゲストOSをハイパーバイザーに通知する認証管理プログラムとを有する。認証管理プログラムは、認証デバイスからの信号に応じて認証に必要なゲストOSを判断し、いずれのゲストOSを起動するかをハイパーバイザーに指示して起動させることにより、認証プログラムが動作する前に、認証に必要なゲストOSを起動させる。 An image forming apparatus according to another aspect of the present invention includes control firmware and a host OS that perform control 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 And an authentication management program for notifying the hypervisor of a guest OS corresponding to the user authentication method by holding a combination of a user authentication method and a guest OS required for authentication. The authentication management program determines a guest OS necessary for authentication according to a signal from the authentication device, and instructs the hypervisor to start which guest OS to start before starting the authentication program. Then, the guest OS necessary for authentication is started.
画像形成装置は、制御ファームウェアとハイパーバイザーとを連携させる調停プログラムと、制御ファームウェアが画像処理に利用するメモリー空間と他のゲストOSの認証プログラムに利用するメモリー空間とを同じテーブルを用いて管理する空きメモリー管理手段と、ハイパーバイザーが物理メモリーをページテーブルで管理する手段と、制御ファームウェアが利用する画像メモリー空間において、CPUが管理するメインメモリーおよび画像処理ASICが管理する画像メモリーのメモリー種別に応じて、データをページテーブルに割り当ててメモリー種別ごとに管理する手段と、画像メモリーが管理する画像ブロック単位と同じサイズの合成ページ単位で空きページを管理する手段と、合成ページの内画像メモリーに値するページテーブルを管理する退避メモリー管理手段とを含む。選択された認証方式以外のゲストOSで必要としないメモリー領域を退避するメモリーとして、制御ファームウェアと調停プログラムとを介して退避メモリー管理手段が管理するメモリー空間を共有する。 The image forming apparatus manages the arbitration program for linking 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 for other guest OS using the same table. Free memory management means, means for the hypervisor to manage physical memory in a page table, and image memory space used by the control firmware, depending on the memory type of the main memory managed by the CPU and the image memory managed by the image processing ASIC A means for assigning data to a page table and managing it for each memory type, a means for managing empty pages in units of composite pages having the same size as the image block unit managed by the image memory, and an image memory in the composite page Pagete And a retracting memory management means for managing the table. As a memory for saving a memory area that is not necessary for the guest OS other than the selected authentication method, a memory space managed by the save memory management unit is shared via the control firmware and the arbitration program.
画像形成装置は、ジョブ開始時の認証実行時に、選択された認証方式に必要な認証プログラムとゲストOSと対応したテーブルから稼動させるゲストOSを選択する手段と、各画像メモリーの種別に応じて実行ジョブおよびジョブ情報に基づき優先度を設定することと、利用している各ゲストOSを特定可能なIDを設定することが可能な利用可能メモリーリストを管理する手段と、上述したメモリー量となるシステムメモリーが得られるまでファイルメモリーブロック単位に合わせてメモリー転送を順次並列実施する手段と、メモリー転送完了後にゲストOSへ切り替える手段と、次にホストOSへ切り替える場合にゲストOSおよび動作プログラムが利用するシステムメモリーを一時凍結する手段と、上述のメモリー転送手段によって先に転送したメモリーと順次入れ替え並列転送する手段と、順次転送するなかで保存された元のメモリーアドレスに割り当てする手段と、入れ替え転送完了後にホストOSへ切り替える手段とが連続動作することを可能とする手段により、選択したゲストOS以外のゲストOSが使用するメモリーを退避メモリー管理手段が管理するメモリーへ退避する手段と、認証実行後に退避したメモリーを、ページアウトを行なうように制御する手段と、それらを制御FWが必要とするタイミングに従い実施する調停プログラムおよびタイミングを定義する手段とを含む。 The image forming apparatus executes authentication according to the type of each image memory and means for selecting a guest OS to be operated from a table corresponding to the authentication program and guest OS required for the selected authentication method when executing authentication at the start of a job. Means for managing available memory list capable of setting priority based on job and job information, and setting ID capable of specifying each guest OS used, and system having the above-mentioned memory amount A means for sequentially executing memory transfers in parallel in units of file memory blocks until memory is obtained, a means for switching to a guest OS after completion of memory transfer, and a system used by the guest OS and operation program when switching to the host OS next time The means for temporarily freeing the memory and the above-mentioned memory transfer means Means for enabling continuous operation of means for sequentially transferring and transferring in parallel with the transferred memory, means for assigning to the original memory address stored during sequential transfer, and means for switching to the host OS after completion of the exchange transfer Thus, a 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, a means for controlling the memory saved after executing the authentication to perform page-out, and And an arbitration program to be executed according to the timing required by the control FW and means for defining the timing.
画像形成装置は、本体OSと、異なる仮想メモリー空間でプログラム実行が可能な仮想メモリー制御システム、および、異なる割込み情報を扱う仮想割込み制御システム、および、異なるCPUを扱う仮想CPU制御システムと、複数のゲストOS実行環境の起動・一時停止・再開・停止を管理するハイパーバイザーと、本体OSとハイパーバイザーを仲介する調停プログラムとを含む。調停プログラムは、本体OSで制御される画像形成ジョブ動作で利用する画像メモリー空間の利用量変化を監視することと、ゲストOS実行環境の認証プログラムが利用するメモリー空間の利用量変化を監視することとを含む。 An image forming apparatus includes: a main body OS; a virtual memory control system capable of executing a program in different virtual memory spaces; a virtual interrupt control system that handles different interrupt information; a virtual CPU control system that handles different CPUs; It includes a hypervisor that manages activation, suspension, resumption, and termination of the guest OS execution environment, and an arbitration program that mediates between the main body OS and the hypervisor. The arbitration program monitors changes in the usage amount of the image memory space used in the image forming job operation controlled by the main body OS, and monitors changes in the usage amount of the memory space used by the authentication program of the guest OS execution environment. Including.
画像形成装置は、異なるOS実行環境を他の画像形成装置またはサーバーへマイグレーションすることと、マイグレーションに必要なページアウトされたメモリー領域の読み出しをジョブ実行状態において実施するか判断する手段と、マイグレーション後の初期化設定を行なう手段と、初期化手順指示書(プレイブック)を送受信する手段とを含む。 An image forming apparatus migrates a different OS execution environment to another image forming apparatus or server, determines whether to read out a paged-out memory area necessary for migration in a job execution state, Means for performing the initialization setting, and means for transmitting and receiving an initialization procedure instruction (playbook).
画像形成装置は、制御ファームウェアが管理実施する連続するジョブのうち現ユーザーが認証を行なってジョブを開始したときに、他ユーザーが現ユーザーと異なる認証方式を要求し、該当の認証方式のゲストOSがページアウトされていた場合には、メモリー取得をできなくする制限を実施するのではなく、制御ファームウェアがジョブ実行を制御し、現ユーザーのジョブを優先して実行して他ユーザーは現ユーザーのジョブ完了まで待たせること、または、現ユーザーの認証方式に変更あるいは変更するように警告する。 When the current user authenticates and starts a job among consecutive jobs managed and controlled by the control firmware, the other user requests an authentication method different from that of the current user, and the guest OS of the corresponding authentication method Is not paged out, the control firmware controls the job execution and prioritizes the current user's job, and other users are assigned to the current user. Warn the user to wait until the job is completed, or change or change to the current user authentication method.
<K.まとめ>
本実施の形態に従う画像形成装置は、認証方式のための仮想実行環境を備えることで、より簡便に、様々な種類の認証方式を実装できる。また、異なるハードウェアを利用していた認証方式(例えば、中間認証サーバを用いた方式)をゲストOSとして取り込むこと、さらに、既にサーバーをもつ大規模環境ではゲストOSをサーバーへマイグレーションすることが可能となり、特別なハードウェアを必要としないためコストダウン効果がある。さらに、マイグレーションにより、認証運用環境の構築を容易に行なうことができるようになり、環境セットアップ工数の削減や、より安全な環境提供が期待できる。
<K. Summary>
The image forming apparatus according to the present embodiment includes a virtual execution environment for an authentication method, so that various types of authentication methods can be more easily implemented. In addition, an authentication method that uses different hardware (for example, a method using an intermediate authentication server) can be imported as a guest OS, and in a large-scale environment that already has a server, the guest OS can be migrated to the server. Therefore, since no special hardware is required, there is a cost reduction effect. Furthermore, the migration makes it possible to easily construct an authentication operation environment, and can be expected to reduce the environment setup man-hours and provide a safer environment.
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。 The embodiment disclosed this time should be considered as illustrative in all points and not restrictive. The scope of the present invention is defined by the terms of the claims, rather than the description above, and is intended to include any modifications within the scope and meaning equivalent to the terms of the 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 仮想デバイス。 DESCRIPTION OF SYMBOLS 1 Image forming apparatus, 1A main body apparatus, 1B auxiliary | assistant apparatus, 2 automatic document feeder, 3 image scanner, 4 print engine, 5 paper feed part, 21 original document feed stand, 22, 52, 53, 54 sending roller, 23 resist Roller, 24 Conveying drum, 25 Discharge tray, 26 Manual feed section, 27 Transfer belt, 33 Imaging device, 35 Document base, 41, 41C, 41K, 41M, 41Y Photosensitive drum, 43C, 43K, 43M, 43Y Image writing unit, 44C, 44K, 44M, 44Y Imaging unit, 441C, 441K, 441M, 441Y Toner unit, 45 transfer unit, 46 static eliminator, 47 fixing device, 49 IDC sensor, 51 timing roller, 55 transport roller, 57 Tray, 100 control unit, 102 processor, 10 4 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 input image data buffer, 146 Back input image data buffer, 150 HDD, 152, 153 Hypervisor, 154 Host OS, 158 Application, 160 control firmware, 170 arbitration module, 172 free memory management module, 174 authentication management module, 178 save memory management module, 1 90 stub management program, 192 authentication device, 194 device, 196 storage device, 471 heating roller, 472 pressure 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 (6)
ホストOSと、
前記ホストOS上で実行され、前記画像形成装置の主たる制御を司る制御ファームウェアと、
複数の認証方式にそれぞれ対応する複数の認証デバイスと、
前記複数の認証方式にそれぞれ対応する互いに独立した複数の認証プログラムと、
前記複数の認証プログラムの各々を実行するための前記ホストOSとは異なる複数のゲストOSと、
前記複数のゲストOSの実行を管理するハイパーバイザーと、
認証デバイスの各々での認証に必要な認証プログラムの実行に必要なゲストOSとの組み合わせを管理する認証管理モジュールとを備え、
前記認証管理モジュールは、前記複数の認証デバイスのうちいずれかの認証デバイスからの信号に応じて、認証プログラムの実行に必要なゲストOSを決定するとともに、対応する認証プログラムの実行前に当該決定したゲストOSを起動させる、画像形成装置。 An image forming apparatus,
A host OS,
Control firmware that is executed on the host OS and controls main control of the image forming apparatus;
A plurality of authentication devices each corresponding to a plurality of authentication methods;
A plurality of independent authentication programs respectively corresponding to the plurality of authentication methods;
A plurality of guest OSs different from the host OS for executing each of the plurality of authentication programs;
A hypervisor that manages execution of the plurality of guest OSes;
An authentication management module for managing a combination with a guest OS necessary for executing an authentication program necessary for authentication in each authentication device;
The authentication management module determines a guest OS necessary for executing the authentication program according to a signal from any one of the plurality of authentication devices, and determines the guest OS before executing the corresponding authentication program An image forming apparatus that activates a guest OS.
前記制御ファームウェアが画像処理に利用するメモリー空間と他のゲストOSの認証プログラムに利用するメモリー空間とを管理する空きメモリー管理手段と、
二次記憶装置にアクセス可能な退避メモリー管理モジュールとを備え、
前記調停モジュールは、プロセッサーに関連付けられたメインメモリーおよび画像処理ASICに関連付けられた画像メモリーについて、メモリー種別に関連付けて、前記画像メモリーにて管理される画像ブロック単位と同じデータサイズで空きページを管理し、
前記退避メモリー管理モジュールは、決定された認証プログラムの実行に必要なゲストOS以外のゲストOSに関連するメモリーを前記二次記憶装置に退避する、請求項1に記載の画像形成装置。 An arbitration module that links the control firmware and the hypervisor;
Free memory management means for managing a memory space used by the control firmware for image processing and a memory space used for an authentication program of another guest OS;
An evacuation memory management module accessible to the secondary storage device,
The arbitration module manages free pages with the same data size as the image block unit managed in the image memory in association with the memory type for the main memory associated with the processor and the image memory associated with the image processing ASIC. And
The image forming apparatus according to claim 1, wherein the save memory management module saves a memory related to a guest OS other than the guest OS necessary for executing the determined authentication program to the secondary storage device.
当該マイグレーション後に初期化設定を行なう設定手段と、
当該初期化設定に必要な初期化手順指示書を送受信する送受信手段とをさらに備える、請求項1〜3のいずれか1項に記載の画像形成装置。 A determination unit that determines whether to migrate a different OS execution environment to another device and to read out the contents of a paged-out memory area necessary for the migration in a job execution state;
A setting means for performing initialization settings after the migration;
The image forming apparatus according to claim 1, further comprising: a transmission / reception unit that transmits / receives an initialization procedure instruction necessary for the initialization setting.
ホストOSと、
前記ホストOS上で実行され、前記画像形成装置の主たる制御を司る制御ファームウェアと、
前記複数の認証方式にそれぞれ対応する互いに独立した複数の認証プログラムと、
前記複数の認証プログラムの各々を実行するための前記ホストOSとは異なる複数のゲストOSと、
前記複数のゲストOSの実行を管理するハイパーバイザーと、
認証デバイスの各々での認証に必要な認証プログラムの実行に必要なゲストOSとの組み合わせを管理する認証管理モジュールとを備え、
前記認証管理モジュールは、前記複数の認証デバイスのうちいずれかの認証デバイスからの信号に応じて、認証プログラムの実行に必要なゲストOSを決定するとともに、対応する認証プログラムの実行前に当該決定したゲストOSを起動させる、画像形成装置で実行されるプログラム。 A program executed by an image forming apparatus including a plurality of authentication devices respectively corresponding to a plurality of authentication methods, wherein the program is
A host OS,
Control firmware executed on the host OS and responsible for main control of the image forming apparatus;
A plurality of independent authentication programs respectively corresponding to the plurality of authentication methods;
A plurality of guest OSs different from the host OS for executing each of the plurality of authentication programs;
A hypervisor that manages execution of the plurality of guest OSes;
An authentication management module for managing a combination with a guest OS necessary for executing an authentication program necessary for authentication in each authentication device;
The authentication management module determines a guest OS necessary for executing the authentication program according to a signal from any one of the plurality of authentication devices, and determines the guest OS before executing the corresponding authentication program A program executed by the image forming apparatus for starting the guest OS.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015215675A JP6593110B2 (en) | 2015-11-02 | 2015-11-02 | Image forming apparatus and program executed by image forming apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015215675A JP6593110B2 (en) | 2015-11-02 | 2015-11-02 | Image forming apparatus and program executed by image forming apparatus |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019144448A Division JP6852762B2 (en) | 2019-08-06 | 2019-08-06 | Image forming device and arbitration program executed by the image forming device |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017090960A JP2017090960A (en) | 2017-05-25 |
JP6593110B2 true JP6593110B2 (en) | 2019-10-23 |
Family
ID=58768193
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015215675A Active JP6593110B2 (en) | 2015-11-02 | 2015-11-02 | Image forming apparatus and program executed by image forming apparatus |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6593110B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102088962B1 (en) * | 2018-10-22 | 2020-03-13 | (주)시큐어가드테크놀러지 | Method for sharing USB devices under multiple operating system environments and computer readable recording medium applying the same |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007048079A (en) * | 2005-08-10 | 2007-02-22 | Ricoh Co Ltd | Service providing device, method and program |
JP5125659B2 (en) * | 2008-03-24 | 2013-01-23 | 富士通株式会社 | Information processing apparatus, information processing method, and computer program |
-
2015
- 2015-11-02 JP JP2015215675A patent/JP6593110B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2017090960A (en) | 2017-05-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5089429B2 (en) | Information processing apparatus, control method therefor, and program | |
JP5784482B2 (en) | Information processing apparatus and communication control method | |
JP2008077186A (en) | Multifunction apparatus | |
JP5078671B2 (en) | Information processing apparatus, information processing system, and information processing method | |
CN102708060A (en) | Method, device and system for accessing image files | |
US10097626B2 (en) | Cooperation system | |
JP6007642B2 (en) | Information processing apparatus, power saving control method, power saving control program | |
JP5401872B2 (en) | Image forming apparatus | |
JP6593110B2 (en) | Image forming apparatus and program executed by image forming apparatus | |
JP6524928B2 (en) | Image processing apparatus, memory control program and memory control method | |
JP2007207194A (en) | Printer, external device, print system, and method for controlling printer | |
JP6398963B2 (en) | Image forming apparatus and program executed by image forming apparatus | |
JP6852762B2 (en) | Image forming device and arbitration program executed by the image forming device | |
JP2009194414A (en) | Composite machine and memory management method in composite machine | |
JP2012156645A (en) | Information processor, communication apparatus, and control method therefor | |
JP2015162026A (en) | Information processor, distributed printing system, printing control method, and program | |
JP2018063676A (en) | Information processing device, control method thereof, and program | |
JP5060241B2 (en) | Information processing apparatus and control method thereof | |
JP2013115519A (en) | Data processing device and control method thereof and program | |
JP2016072740A (en) | Information processing system, image processor, and information processing method | |
JP2011039790A (en) | Virtual machine image transfer device, method and program | |
JP2017049660A (en) | Server device, control system, control method, and program | |
JP5813619B2 (en) | Image forming apparatus | |
JP2012173969A (en) | Device control system and program | |
JP2011192142A (en) | Image processor, stop method, and recovery method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180627 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20190530 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190611 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190806 |
|
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: 20190827 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190909 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6593110 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |