(57)【要約】【課題】  本発明は、処理性能の低い画像処理装置にプリンタ処理の実行要求があった場合であっても、煩雑な処理手続を必要とせず、高い効率性を以て当該プリンタ処理を実行可能な画像処理装置を提供することを目的とする。【解決手段】  本発明は、ハードウェア・リソースを仮想化して、該ハードウェア・リソースを複数の論理区画に分割するハイパーバイザ部を有し、画像処理部及びコントローラ部は、ハイパーバイザ部上の各論理区画において各々独立して動作する画像処理装置であって、画像処理を実行する場合の負荷の大きさを推定する手段を有し、コントローラ部は、推定された負荷の大きさが所定の閾値より大きい場合、他の画像処理装置が有するハイパーバイザ部上に画像処理部を移動させる手段を有することを特徴とする。【選択図】図３
2010072872.tif 000002
【特許請求の範囲】
【請求項１】
画像処理を実行する画像処理部と、該画像処理部を制御するコントローラ部と、ハードウェア・リソースと、該ハードウェア・リソースを仮想化して、該ハードウェア・リソースを複数の論理区画に分割するハイパーバイザ部と、を有し、前記画像処理部及び前記コントローラ部は、前記ハイパーバイザ部上の各論理区画において各々独立して動作する画像処理装置であって、
前記画像処理部が前記画像処理を実行する場合の負荷の大きさを推定する負荷推定手段を有し、
前記コントローラ部は、前記負荷推定手段により推定された前記負荷の大きさが所定の閾値より大きい場合、他の画像処理装置が有するハイパーバイザ部上に前記画像処理部を移動させるマイグレーション手段を有することを特徴とする画像処理装置。
【請求項２】
前記画像処理を前記画像処理部に実行させるための実行要求を取得する処理要求取得手段を有することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記コントローラ部は、前記マイグレーション手段によって移動させた前記画像処理部が前記実行要求に係る画像処理を実行した後、前記移動させた画像処理部を前記他の画像処理装置より取得し、当該画像処理装置が有する前記ハイパーバイザ部上に再配置する再マイグレーション手段を有することを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
前記負荷推定手段は、前記画像処理部が前記実行要求に係る画像処理を実行するために要する処理時間を推定することを特徴とする請求項２又は３に記載の画像処理装置。
【請求項５】
前記負荷推定手段は、前記実行要求のデータサイズに基づいて、前記負荷の大きさを推定することを特徴とする請求項２乃至４の何れか一に記載の画像処理装置。
【請求項６】
前記実行要求は、ページ記述言語で記述され、さらに、該実行要求に係る画像処理によって生成される画像データの頁数に係る情報を有し、
前記負荷推定手段は、前記実行要求から前記頁数に係る情報を抽出し、前記実行要求のデータサイズを前記頁数で除して算出した値に基づいて、前記負荷の大きさを推定することを特徴とする請求項２乃至４の何れか一に記載の画像処理装置。
【請求項７】
前記実行要求は、ページ記述言語で記述され、さらに、該実行要求に係る画像処理によって生成される画像データの頁数に係る情報を有し、
前記負荷推定手段は、前記実行要求から前記頁数に係る情報を抽出し、該頁数と前記実行要求を作成したアプリケーションの種類とに基づいて、前記負荷の大きさを推定することを特徴とする請求項２乃至４の何れか一に記載の画像処理装置。
【請求項８】
前記実行要求は、さらに、前記アプリケーションを識別するための識別子を有し、
前記負荷推定手段は、前記実行要求から前記識別子を抽出し、該識別子に基づいて前記アプリケーションの種類を識別することを特徴とする請求項７に記載の画像処理装置。
【請求項９】
画像処理を実行する画像処理部と、該画像処理部を制御するコントローラ部と、当該画像処理装置の備えるハードウェア・リソースを仮想化して、該ハードウェア・リソースを複数の論理区画に分割するハイパーバイザ部とを有し、前記画像処理部及び前記コントローラ部は、前記ハイパーバイザ部上の各論理区画において各々独立して動作する画像処理装置の画像処理方法であって、
処理要求取得手段が、前記画像処理を前記画像処理部に実行させるための実行要求を取得するステップと、
負荷推定手段が、前記画像処理部が前記実行要求に係る画像処理を実行する場合の負荷の大きさを推定するステップと、
前記コントローラ部のマイグレーション手段が、前記負荷推定手段により推定された前記負荷の大きさが所定の閾値より大きい場合、他の画像処理装置が有するハイパーバイザ部上に前記画像処理部を移動させるステップと、を有することを特徴とする画像処理方法。
【請求項１０】
画像処理を実行する画像処理部と、該画像処理部を制御するコントローラ部と、ハードウェア・リソースと、該ハードウェア・リソースを仮想化して、該ハードウェア・リソースを複数の論理区画に分割するハイパーバイザ部とを有し、前記画像処理部及び前記コントローラ部は、前記ハイパーバイザ部上の各論理区画において各々独立して動作する第１の画像処理装置と、該第１の画像処理装置と通信ネットワークを介して接続され、ハードウェア・リソースと、該ハードウェア・リソースを仮想化して、該ハードウェア・リソースを複数の論理区画に分割するハイパーバイザ部とを有する第２の画像処理装置と、を有する画像処理システムであって、
前記第１の画像処理装置は、
前記画像処理を前記画像処理部に実行させるための実行要求を取得する処理要求取得手段と、
前記画像処理部が前記実行要求に係る画像処理を実行する場合の負荷の大きさを推定する負荷推定手段と、を有し、
前記コントローラ部は、
前記負荷推定手段により推定された前記負荷の大きさが所定の閾値より大きい場合、前記第２の画像処理装置が有する前記ハイパーバイザ部上に前記画像処理部を移動させるマイグレーション手段を有し、
前記マイグレーション手段により前記第２の画像処理装置が有するハイパーバイザ部上に移動した前記画像処理部は、前記実行要求に係る画像処理を実行するマイグレーション後処理実行手段を有することを特徴とする画像処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ハイパーバイザを備えた複合機において画像処理を効率化する技術に関する。
【背景技術】
【０００２】
近年、オフィスでは、コストや専有面積の削減のために、コピー機能、ファクシミリ機能、プリンタ機能等の複数の機能を一台で備えた画像処理装置が使用されている。
【０００３】
一方、一台のハードウェアプラットフォーム上に、複数の独立した仮想マシンを構築し、複数のオペレーティング・システムを実行する仮想化技術がサーバ管理の分野で注目されている。当該仮想化技術を利用して、上記のコピー機能、ファクシミリ機能、プリンタ機能等の複数の機能を一台の画像処理装置で実現することもできる。なお、特許文献１には、複数の論理区画で動作する各オペレーティング・システムに、コンソールとオペレータ・パネルの仮想コピーを与えるハイパーバイザが開示されている。
【０００４】
ここで、画像処理装置は、プリンタ機能を実行する場合、ページ記述言語（ＰＤＬ：Page Description Language）で記述された画像データをクライアント端末等から取得し、当該画像データをプロッタから印刷媒体上に出力させるために、当該画像データに基づくビットマップデータを生成するレンダリング処理を行う。一般的に、このレンダリング処理は、画像処理装置の有するＣＰＵ（Central Processing Unit）に対する負荷が大きく、ＣＰＵ性能の低い画像処理装置においては処理時間が大きくなるという問題が生じる。
【０００５】
そこで、上記問題を解決するために、プリンタ機能を実行する場合、上記レンダリング処理のみをＣＰＵ性能の高い外部装置において実行させ、レンダリング処理及びプリンタ処理全体の効率を向上させることが行われている（特許文献２、３等）。
【特許文献１】特開２００２−０４１３０６号公報
【特許文献２】特開２００５−０４７２６４号公報
【特許文献３】特開２００６−１１４０１９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記技術においては、プリンタ処理の実行要求を受け付けた画像処理装置から外部装置に対しレンダリング処理の実行を依頼する際、これら装置間の仕様の相違を考慮して新たに実行依頼を生成する必要が生じ、プリンタ処理全体として処理が煩雑になるという問題点がある。
【０００７】
そこで、本発明は、上記のような問題点に鑑み、処理性能の低い画像処理装置にプリンタ処理の実行要求があった場合に、煩雑な処理手続の追加を必要とせず、高い効率性を以て当該プリンタ処理を実行可能な画像処理装置、画像処理方法、画像処理システムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明に係る画像処理装置は、画像処理を実行する画像処理部と、該画像処理部を制御するコントローラ部と、ハードウェア・リソースと、該ハードウェア・リソースを仮想化して、該ハードウェア・リソースを複数の論理区画に分割するハイパーバイザ部と、を有し、前記画像処理部及び前記コントローラ部は、前記ハイパーバイザ部上の各論理区画において各々独立して動作する画像処理装置であって、前記画像処理部が前記画像処理を実行する場合の負荷の大きさを推定する負荷推定手段を有し、前記コントローラ部は、前記負荷推定手段により推定された前記負荷の大きさが所定の閾値より大きい場合、他の画像処理装置が有するハイパーバイザ部上に前記画像処理部を移動させるマイグレーション手段を有することを特徴とする。
【０００９】
また、本発明に係る画像処理装置の一形態において、前記画像処理を前記画像処理部に実行させるための実行要求を取得する処理要求取得手段を有することを特徴とする。
【００１０】
また、本発明に係る画像処理装置の一形態において、前記コントローラ部は、前記マイグレーション手段によって移動させた前記画像処理部が前記実行要求に係る画像処理を実行した後、前記移動させた画像処理部を前記他の画像処理装置より取得し、当該画像処理装置が有する前記ハイパーバイザ部上に再配置する再マイグレーション手段を有することを特徴とする。
【００１１】
また、本発明に係る画像処理装置の一形態において、前記負荷推定手段は、前記画像処理部が前記実行要求に係る画像処理を実行するために要する処理時間を推定することを特徴とする。
【００１２】
また、本発明に係る画像処理装置の一形態において、前記負荷推定手段は、前記実行要求のデータサイズに基づいて、前記負荷の大きさを推定することを特徴とする。
【００１３】
また、本発明に係る画像処理装置の一形態において、前記実行要求は、ページ記述言語で記述され、さらに、該実行要求に係る画像処理によって生成される画像データの頁数に係る情報を有し、前記負荷推定手段は、前記実行要求から前記頁数に係る情報を抽出し、前記実行要求のデータサイズを前記頁数で除して算出した値に基づいて、前記負荷の大きさを推定することを特徴とする。
【００１４】
また、本発明に係る画像処理装置の一形態において、前記実行要求は、ページ記述言語で記述され、さらに、該実行要求に係る画像処理によって生成される画像データの頁数に係る情報を有し、前記負荷推定手段は、前記実行要求から前記頁数に係る情報を抽出し、該頁数と前記実行要求を作成したアプリケーションの種類とに基づいて、前記負荷の大きさを推定することを特徴とする。
【００１５】
また、本発明に係る画像処理装置の一形態において、前記実行要求は、さらに、前記アプリケーションを識別するための識別子を有し、前記負荷推定手段は、前記実行要求から前記識別子を抽出し、該識別子に基づいて前記アプリケーションの種類を識別することを特徴とする。
【００１６】
さらに、本発明に係る画像処理システムは、画像処理を実行する画像処理部と、該画像処理部を制御するコントローラ部と、ハードウェア・リソースと、該ハードウェア・リソースを仮想化して、該ハードウェア・リソースを複数の論理区画に分割するハイパーバイザ部とを有し、前記画像処理部及び前記コントローラ部は、前記ハイパーバイザ部上の各論理区画において各々独立して動作する第１の画像処理装置と、該第１の画像処理装置と通信ネットワークを介して接続され、ハードウェア・リソースと、該ハードウェア・リソースを仮想化して、該ハードウェア・リソースを複数の論理区画に分割するハイパーバイザ部とを有する第２の画像処理装置と、を有する画像処理システムであって、前記第１の画像処理装置は、前記画像処理を前記画像処理部に実行させるための実行要求を取得する処理要求取得手段と、前記画像処理部が前記実行要求に係る画像処理を実行する場合の負荷の大きさを推定する負荷推定手段と、を有し、前記コントローラ部は、前記負荷推定手段により推定された前記負荷の大きさが所定の閾値より大きい場合、前記第２の画像処理装置が有する前記ハイパーバイザ部上に前記画像処理部を移動させるマイグレーション手段を有し、前記マイグレーション手段により前記第２の画像処理装置が有するハイパーバイザ部上に移動した前記画像処理部は、前記実行要求に係る画像処理を実行するマイグレーション後処理実行手段を有することを特徴とする。
【００１７】
したがって、本発明では、ハードウェア仮想化の技術を利用することで、処理性能の低い画像処理装置にプリンタ処理の実行要求があった場合であっても、煩雑な処理手続を必要とせず、高い効率性を以て当該プリンタ処理を実行可能とすることができる。
【発明の効果】
【００１８】
本発明は、処理性能の低い画像処理装置にプリンタ処理の実行要求があった場合、煩雑な処理手続を追加する必要がなく、高い効率性を以て当該プリンタ処理を実行可能な画像処理装置、画像処理方法、画像処理システムを提供することができる。
【発明を実施するための最良の形態】
【００１９】
図面を参照しながら、本発明を実施するための最良の形態について説明する。
＜本実施の形態に係る画像処理装置のハードウェア構成＞
図１を用いて、本実施の形態に係る第１の画像処理装置１００、第２の画像処理装置３００のハードウェア構成の一例を説明する。図１は、第１の画像処理装置１００及び第２の画像処理装置３００のハードウェア構成の一例を示す図である。また、本実施の形態に係る画像処理システム５００は、第１の画像処理装置１００と第２の画像処理装置３００を含み、第１の画像処理装置１００と第２の画像処理装置３００とは、通信ネットワークにより接続されている。
【００２０】
第１の画像形成装置１００は、ＣＰＵ（Central Processing Unit）２１０、ＲＯＭ（Read-Only Memory）２２０、ＲＡＭ（Random Access Memory）２３０、ＨＤＤ（Hard Disc Drive）２４０、通信Ｉ／Ｆ（InterFace）２５０、スキャナ２６０、プロッタ２７０、表示装置２８０を有する。
【００２１】
ＣＰＵ２１０は、ＲＯＭ２２０に記憶されたプログラムを実行する装置であり、ＲＡＭ２３０に展開（ロード）されたデータを、プログラムの命令に従って演算処理し、画像処理装置１００の全体を制御する。ＲＯＭ２２０は、ＣＰＵ２１０が実行するプログラムやデータを記憶している。ＲＡＭ２３０は、ＣＰＵ２１０でＲＯＭ２２０に記憶されたプログラムを実行する際に、実行するプログラムやデータが展開（ロード）され、演算の間、演算データを一時的に保持する。ＨＤＤ２４０は、基本ソフトウェアであるＯＳ（Operating System）、本実施の形態に係るアプリケーションプログラムなどを、関連するデータとともに記憶する装置である。
【００２２】
通信Ｉ／Ｆ２５０は、通信ネットワークを介して接続された他の通信制御機能を備えた周辺機器（クライアント端末等）と情報（データ）を送受信するためのインタフェースである。本実施の形態に係る第１の画像処理装置１００は、通信Ｉ／Ｆ２５０を介してＬＡＮ（Local Area Network）に接続され、ＴＣＰ／ＩＰ（Transmission Control Protocol / Internet Protocol）などの通信プロトコルに従って、ＬＡＮに接続されたクライアント端末等から画像処理の実行要求を受信する。また、後述する第１の画像処理装置１００と第２の画像処理装置２００との間で行われる画像処理部２０のマイグレーションは当該通信Ｉ／Ｆ２５０を介して行う。
【００２３】
スキャナ２６０は、原稿を光学的に読み取り、当該原稿の画像データを取得するための装置である。プロッタ２７０は、画像データを印刷媒体上に印刷するための装置である。表示装置２８０は、ハードキーによるキースイッチやＬＣＤ（Liquid Crystal Display）等で構成され、第１の画像処理装置１００が有する機能をユーザが利用する際や各種設定を行う際のユーザインタフェースとして機能する装置である。
【００２４】
第２の画像処理装置３００は、第１の画像処理装置１００と同様に、ＣＰＵ４１０、ＲＯＭ４２０、ＲＡＭ４３０、ＨＤＤ４４０、通信Ｉ／Ｆ４５０、スキャナ４６０、プロッタ４７０、表示装置４８０を有する。また、ＣＰＵ４１０は、ＣＰＵ２１０と比較して高性能であるものとする。
【００２５】
画像処理装置１００、３００が有する各部による処理は、ＣＰＵ２１０、４１０が、ＲＯＭ２２０、４２０又はＨＤＤ２４０、４４０に記憶された各部の処理に対応するプログラムを実行することにより実現される形態としても良いし、当該各部の処理をハードウェアで実現する形態としても良い。
【００２６】
＜本実施の形態に係る画像処理システムの概略＞
図２を用いて、本実施の形態に係る画像処理システム５００の概略について説明する。ここで、図２は画像処理システム５００の概略を説明するための図である。
【００２７】
図２で示すように、第１の画像処理装置１００は、コントローラ部１０、画像処理部２０、ハイパーバイザ部３０、ハードウェア・リソースレイヤー部４０を有する。ハードウェア・リソースレイヤー部４０は、第１の画像処理装置１００の備えるハードウェア・リソースから構成される。そして、ハイパーバイザ部３０は、このハードウェア・リソースを仮想化して、複数の論理区画に分割する。画像処理部２０、コントローラ部１０は、ハイパーバイザ部３０上の各論理区画で、独立して動作する。
【００２８】
画像処理部２０は、外部からの画像処理（プリンタ処理）の実行要求に従って画像処理（プリンタ処理）を行う。具体的には、ＰＤＬで記述された画像処理の実行要求を解釈し、実行要求に係る画像データをビットマップデータに展開し、プロッタ２７０に当該ビットマップデータを出力させる。また、コントローラ部１０は、画像処理部２０の制御を行う。
【００２９】
ここで、ハイパーバイザの仮想化技術を利用すると、画像処理システム５００は、ハイパーバイザ部３０上で動作する画像処理部２０を第２の画像処理装置３００が備えるハイパーバイザ部上に移動（マイグレーション）させ、移動後も移動前と同様に画像処理部２０を動作させることができる。
【００３０】
この際、コントローラ部１０は、画像処理部２０のマイグレーションを制御する。具体的には、コントローラ部１０は、画像処理部２０による処理を実現するためのプログラム及び設定情報を、さらに、画像処理部２０が処理の実行中であれば作業領域であるＲＡＭ２３０、ＨＤＤ２４０上のデータを、通信Ｉ／Ｆ２５０を介して、第２の画像処理装置３００に移動させる。この場合、コントローラ部１０は、画像処理部２０による処理を第２の画像処理装置３００上で実行させるための実行要求を新たに生成する必要はなく、上記所定のデータを第２の画像処理装置３００にコピーするだけで良い。
【００３１】
本実施の形態において、第２の画像処理装置３００は、第１の画像処理装置１００と同様に、ハードウェア・リソースレイヤー部７０、ハイパーバイザ部６０、コントローラ部５０を有する。ここで、ハードウェア・リソースレイヤー部７０は、第２の画像処理装置３００の備えるハードウェア・リソースから構成される。そして、ハイパーバイザ部６０は、このハードウェア・リソースを仮想化して、複数の論理区画に分割する。コントローラ部５０は、ハイパーバイザ部６０上の論理区画で動作する。
【００３２】
そして、上記のマイグレーションを行う場合、画像処理部２０は、ハイパーバイザ部６０上の一の論理区画上に移動し、ハイパーバイザ部３０上に存在した場合と同様に、受け付けた実行要求に従って画像処理を実行する。この際、画像処理部２０は、ＣＰＵ４１０、ＲＡＭ４３０、ＨＤＤ４４０等、第２の画像処理装置３００が備えるハードウェア・リソースを利用して、画像処理を実行する。
【００３３】
以下、画像処理システム５００の処理の流れを簡潔に説明する。はじめに、第１の画像処理装置１００が、通信Ｉ／Ｆ２５０を介して、クライアント端末（不図示）から画像処理（プリンタ処理）の実行要求を受け付ける。次に、第１の画像処理装置１００が、受け付けた実行要求を実行した場合の負荷の大きさを推定する。
【００３４】
そして、推定した負荷の大きさが所定の閾値より小さい場合、画像処理部２０は、受け付けた画像処理の実行要求をハイパーバイザ部３０上で実行する。推定した負荷の大きさが所定の閾値より大きい場合、コントローラ部１０は、画像処理部２０をハイパーバイザ部６０上に移動（マイグレーション）させる。
【００３５】
次に、ハイパーバイザ部６０上に移動した画像処理部２０は、第２の画像処理装置３００の備えるハードウェア・リソースを使用して、実行すべき画像処理の中のレンダリング処理のみを実行する。コントローラ部５０は、レンダリング処理が終了すると、画像処理部２０を再びハイパーバイザ部３０上へ移動させる。その後、画像処理部２０は、先程のレンダリング処理によって生成されたビットマップデータをプロッタ２７０に出力させる。
【００３６】
＜本実施の形態に係る画像処理システムの動作原理＞
図３を用いて、本実施の形態に係る画像処理システム５００の動作原理を説明する。ここで、図３は、画像処理システム５００の動作原理を説明するための図である。図３で、示すように、画像処理システム５００は、第１の画像処理装置１００と第２の画像処理装置３００とを有する。
【００３７】
第１の画像処理装置１００は、処理要求取得手段１１０、負荷推定手段１２０、マイグレーション判定手段１３０、マイグレーション手段１４０、ビットマップ展開手段１５０、再マイグレーション手段１６０、画像データ出力手段１７０を有する。
【００３８】
処理要求取得手段１１０は、通信Ｉ／Ｆ２５０を介して、クライアント端末（不図示）から画像処理（プリンタ処理）の実行要求を取得する。当該実行要求は、ページ記述言語（ＰＤＬ）で記述されている。ここで、図４は、当該実行要求の一例を示す図であるが、図４において、ヘッダ部の「ＪＯＢ  ＮＡＭＥ」にはクライアント端末における当該実行要求の元となるファイル名（つまり、画像処理の対象となる画像データを作成した際のファイル名）が記述されている。同じく、「ＳＥＴ  ＤＡＴＥ」は実行要求の作成日、「ＳＥＴ  ＴＩＭＥ」は実行要求の作成日時、「ＳＥＴ  ＰＡＧＥ」は画像処理を実行して生成されるビットマップデータの頁数（プリンタ処理を実行した場合、印刷される頁数）が記述されている。
【００３９】
ここで、処理要求取得手段１１０は、ハイパーバイザ部３０上で動作するコントローラ部１０、画像処理部２０又は当該手段を実現する他の機能部（不図示）によって実行されても良く、ハイパーバイザ部３０上の論理区画以外で動作する当該手段を実現する他の機能部（不図示）によって実行されても良い。
【００４０】
負荷推定手段１２０は、画像処理部２０がハイパーバイザ部３０上において、処理要求取得手段１１０により取得した画像処理の実行要求を実行した場合の負荷の大きさを推定する。ここで、推定する負荷の大きさは、実行要求に係る画像処理を第１の画像処理装置１００のハードウェア・リソースを利用して実行した場合の処理時間であっても良く、実行要求のデータサイズであっても良く、印刷結果１頁あたりの実行要求のデータサイズであっても良い。また、当該実行要求を作成したアプリケーション毎に、負荷の大きさを推定する形態であっても良い。ここで、負荷推定手段１２０は、実行要求を作成したアプリケーションの種類を識別するために、例えば、図４で示す実行要求から「ＪＯＢ  ＮＡＭＥ」の項目に記載される識別子（"ｔｅｓｔ．ｘｘｘ"の"ｘｘｘ"の部分）を抽出し、アプリケーションの種類を識別する。
【００４１】
例えば、負荷の大きさとして「実行要求のデータサイズ」を基準にする場合、負荷推定手段１２０は、ＰＤＬで記述された実行要求のデータサイズを計測し、当該計測値を負荷の大きさとする。別例として、負荷の大きさとして「印刷結果１頁あたりの実行要求のデータサイズ」を基準にする場合、負荷推定手段１２０は、例えば、図４で示す実行要求から「ＳＥＴ  ＰＡＧＥ」の項目に記載の頁数情報を抽出し、計測した実行要求のデータサイズを項数情報で除して得られる印刷結果１頁あたりの実行要求のデータサイズを負荷の大きさとする。さらに、実行要求を作成したアプリケーション毎に負荷の大きさを推定する場合、負荷推定手段１２０は、当該アプリケーションを特定する情報と、上記の処理時間又はデータサイズとを含めて、負荷の大きさとしても良い。
【００４２】
負荷推定手段１２０は、ハイパーバイザ部３０上で動作するコントローラ部１０、画像処理部２０又は当該手段を実現する他の機能部（不図示）によって実行されても良く、ハイパーバイザ部３０上の論理区画以外で動作する当該手段を実現する他の機能部（不図示）によって実行されても良い。
【００４３】
マイグレーション判定手段１３０は、負荷推定手段１２０により推定した負荷の大きさが所定の閾値より大きいか否かを判定する。例えば、負荷の大きさとして上記の処理時間を用いる場合、マイグレーション判定手段１３０は、負荷推定手段１２０により推定した処理時間と所定の閾値とを比較して、当該処理時間が所定の閾値より大きいか否かを判定する。別例では、負荷の大きさとして実行要求のデータサイズを利用する場合、マイグレーション判定手段１３０は、推定したデータサイズが所定の閾値より大きいか否かを判定する。さらに別例において、マイグレーション判定手段１３０は、負荷推定手段１２０によって推定されたアプリケーション毎の負荷の大きさと、アプリケーション毎に設定した所定の閾値とを比較して、負荷の大小を判定する形態としても良い。
【００４４】
マイグレーション判定手段１３０は、ハイパーバイザ部３０上で動作するコントローラ部１０、画像処理部２０又は当該手段を実現する他の機能部（不図示）によって実行されても良く、ハイパーバイザ部３０上の論理区画以外で動作する当該手段を実現する他の機能部（不図示）によって実行されても良い。
【００４５】
マイグレーション手段１４０は、マイグレーション判定手段１３０により負荷の大きさが所定の閾値より大きいと判定された場合、ハイパーバイザ部３０上の画像処理部２０を、ハイパーバイザ部６０上に移動させる。マイグレーション手段１４０の具体的な処理は、画像処理部２０による処理を実現するためのプログラム及び設定情報を、さらに、画像処理部２０が処理の実行中であれば作業領域であるＲＡＭ２３０、ＨＤＤ２４０上のデータを、通信Ｉ／Ｆ２５０を介して、第２の画像処理装置３００へ送信する。マイグレーション手段１４０は、ハイパーバイザ部３０上で動作するコントローラ部１０によって実行される。
【００４６】
ビットマップ展開手段１５０は、マイグレーション判定手段１３０により負荷の大きさが所定の閾値より大きくないと判定された場合、画像処理の実行要求を第１の画像処理装置１００のハードウェア・リソースを使用して実行する。ビットマップ展開手段１５０の具体的な処理は、ＰＤＬで記述された実行要求を解釈し、実行要求に係る画像データを展開してビットマップデータを生成する（レンダリング処理）。ビットマップ展開手段１５０は、ハイパーバイザ部３０上で動作する画像処理部２０によって実行される。
【００４７】
再マイグレーション手段１６０は、画像処理部２０をハイパーバイザ部３０上に移動させるために、後述する画像処理部送信手段３３０によって送信された画像処理部２０に関するデータを取得し、画像処理部２０をハイパーバイザ部３０上に再配置する。再マイグレーション手段１６０は、ハイパーバイザ部３０上で動作するコントロール部１０によって実行される。画像処理部２０に関するデータとは、画像処理部２０による処理を実現するためのプログラム及び設定情報、さらに、画像処理部２０が処理の実行中であれば作業領域であるＲＡＭ４３０、ＨＤＤ４４０上のデータ（レンダリング処理の結果生成されるビットマップデータを含む）である。
【００４８】
画像データ出力手段１７０は、画像処理部２０のレンダリング処理によって生成されたビットマップデータをプロッタ２７０に出力させる。画像データ出力手段１７０は、ハイパーバイザ部３０上で動作する画像処理部２０によって実行される。
【００４９】
第２の画像処理装置３００は、画像処理部受信手段３１０、マイグレーション後処理実行手段３２０、画像処理部送信手段３３０を有する。
【００５０】
画像処理部受信手段３１０は、画像処理部２０をハイパーバイザ部６０上に移動させるために、マイグレーション手段１４０によって送信された画像処理部２０に関するデータを取得し、画像処理部２０をハイパーバイザ部６０上に配置する。画像処理部２０に関するデータとは、画像処理部２０による処理を実現するためのプログラム及び設定情報、さらに、画像処理部２０が処理の実行中であれば作業領域であるＲＡＭ２３０、ＨＤＤ２４０上のデータである。画像処理部受信手段３１０は、ハイパーバイザ部６０上で動作するコントローラ部５０によって実行される。
【００５１】
マイグレーション後処理実行手段３２０は、画像処理の実行要求を第２の画像処理装置３００のハードウェア・リソースを使用して実行する。マイグレーション後処理実行手段３２０の具体的な処理は、ＰＤＬで記述された実行要求を解釈し、実行要求に係る画像データを展開してビットマップデータを生成する（レンダリング処理）。マイグレーション後処理実行手段３２０は、ハイパーバイザ部６０上で動作する画像処理部２０によって実行される。
【００５２】
画像処理部送信手段３３０は、マイグレーション後処理実行手段３２０によるレンダリング処理が終了した後、画像処理部２０をハイパーバイザ部３０上に移動させるために、画像処理部２０に関するデータを第１の画像処理装置１００に対し送信する。画像処理部２０に関するデータとは、画像処理部２０による処理を実現するためのプログラム及び設定情報、さらに、画像処理部２０が処理の実行中であれば作業領域であるＲＡＭ４３０、ＨＤＤ４４０上のデータ（レンダリング処理の結果生成されるビットマップデータを含む）である。
【００５３】
以上説明したような動作原理に基づいて、本発明に係る画像処理装置、画像処理システムは、ハードウェア仮想化の技術を利用することで、処理性能の低い画像処理装置にプリンタ処理の実行要求があった場合であっても、煩雑な処理手続を必要とせず、高い効率性を以て当該プリンタ処理を実行可能となる。
【００５４】
＜本実施の形態に係る画像処理システムの処理例＞
図５を用いて、本実施の形態に係る画像処理システム５００による処理の例を説明する。ここで、図５は、画像処理システム５００による処理例のフローチャートである。
【００５５】
Ｓ１０で画像処理システム５００が処理を開始する。Ｓ２０で処理要求取得手段１１０が、クライアント端末から送信されたプリンタ処理に係る実行要求を、通信Ｉ／Ｆ２５０を介して取得する。当該実行要求はＰＤＬで記述され、図４で示すように、当該実行要求を作成したアプリケーションを識別する情報（「ＪＯＢ  ＮＡＭＥ」）、プリンタ処理を事項した際に出力される印刷媒体の頁数に関する情報（「ＳＥＴ  ＰＡＧＥ」）を含む。
【００５６】
Ｓ３０で負荷推定手段１２０が、処理要求取得手段１１０によって取得された実行要求に係る負荷の大きさを推定する。ここで、負荷推定手段１２０によって推定される負荷の大きさとは、取得した実行要求を実行するために要する処理時間（以下、要処理時間）、取得した実行要求のデータサイズ（以下、データサイズ）、又は出力される印刷媒体１頁あたりのデータサイズ（以下、１頁あたりデータサイズ）である。また、負荷推定手段１２０は、クライアント端末において当該実行要求を作成するために使用したアプリケーションに係る情報と、要処理時間、データサイズ又は１頁あたりデータサイズとを推定する負荷の大きさとしても良い。ここで、負荷推定手段１２０は、取得した実行要求の「ＪＯＢ  ＮＡＭＥ」の項目情報に含まれる識別子（"ｔｅｓｔ．ｘｘｘ"のうち"ｘｘｘ"の部分）に基づいて、当該実行要求の作成時に使用したアプリケーションを識別する。
【００５７】
Ｓ４０でマイグレーション判定手段１３０が、負荷推定手段１２０によって推定した負荷の大きさと、予め設定する所定の閾値とを比較し、負荷の大きさが所定の閾値より大きいか否かを判定する。ここで、マイグレーション判定手段１３０は、負荷推定手段１２０がアプリケーション毎に負荷の大きさを推定することと平仄を合わせるために、アプリケーション毎の負荷の大きさと、アプリケーション毎に設定した所定の閾値を比較、判定する形態であっても良い。
【００５８】
Ｓ５０でマイグレーション判定手段１３０が、負荷推定手段１２０によって推定した負荷の大きさが所定の閾値より大きくないと判定した場合（Ｓ５０でＮｏの場合）、Ｓ６０でビットマップ展開手段１５０が、処理要求取得手段１１０により取得したプリンタ処理の実行要求に従ってビットマップデータを生成する。
【００５９】
Ｓ５０でマイグレーション判定手段１３０が、負荷推定手段１２０によって推定した負荷の大きさが所定の閾値より大きいと判定した場合（Ｓ５０でＹｅｓの場合）、Ｓ７０でマイグレーション手段１４０が、ハイパーバイザ部３０上の画像処理部２０を、ハイパーバイザ部６０上に移動（マイグレーション）させる。具体的には、Ｓ７０でマイグレーション手段１４０が、画像処理部２０による処理を実現するためデータを、通信Ｉ／Ｆ２５０を介して、第２の画像処理装置３００に対し送信する。画像処理部２０による処理を実現するためデータとは、画像処理部２０による処理を実現するためのプログラム及び設定情報、さらに、画像処理部２０が処理の実行中であれば作業領域であるＲＡＭ２３０、ＨＤＤ２４０上のデータである。
【００６０】
続けて、Ｓ７０で画像処理部受信手段３１０が、マイグレーション手段１４０によって送信された画像処理部２０による処理を実現するためのデータを受信し、画像処理部２０をハイパーバイザ部６０上に配置する。
【００６１】
マイグレーションを行うか否かの判断基準にデータサイズを利用するメリットは、負荷の大きさを推定する構成を簡潔にできることである。
【００６２】
また、マイグレーションを行うか否かの判断基準に１頁あたりデータサイズを利用するメリットは、１頁あたりデータサイズが小さい場合、１頁あたりのレンダリング処理に要する処理時間は短いため、ビットマップデータを出力する処理とレンダリング処理とを並行して実行することができ、無駄な動作を回避できることである。
【００６３】
また、マイグレーションを行うか否かの判断基準にクライアント端末で使用したアプリケーションの種類を利用するメリットは、アプリケーションと当該アプリケーションで作成した実行要求に係るレンダリング処理の負荷の大小との関係が既知である場合に、その関係を利用して、実行すべき画像処理を効率的に実行できることである。
【００６４】
Ｓ８０でマイグレーション後処理実行手段３２０が、第２の画像処理装置３００の備えるハードウェア・リソースを使用して、処理要求取得手段１１０によって取得したプリンタ処理の実行要求のうちレンダリング処理のみを実行する。
【００６５】
Ｓ９０で画像処理部送信手段３３０が、ハイパーバイザ部６０上において実行されるレンダリング処理の終了後、画像処理部２０をハイパーバイザ部３０上に移動させるために、画像処理部２０による処理を実現するためデータを第１の画像処理装置１００に対し送信する。
【００６６】
そして、Ｓ９０で再マイグレーション手段１６０が、画像処理部送信手段３３０によって送信された画像処理部２０による処理を実現するためデータを取得し、画像処理部２０をハイパーバイザ部３０上に再配置する。
【００６７】
Ｓ１００で画像データ出力手段１７０が、Ｓ６０又はＳ８０におけるレンダリング処理によって生成されたビットマップデータをプロッタ２７０から印刷媒体上に出力し、Ｓ１１０で画像処理システム５００が処理を終了する。
【００６８】
＜総括＞
本発明では、ハードウェア仮想化の技術を利用することで、処理性能の低い画像処理装置にプリンタ処理の実行要求があった場合であっても、煩雑な処理手続を必要とせず、高い効率性を以て当該プリンタ処理を実行可能な画像処理装置、画像処理方法、画像処理システムを提供することができる。
以上、本発明の実施の形態について詳述したが、本発明は係る特定の実施の形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【図面の簡単な説明】
【００６９】
【図１】本発明の実施の形態に係る画像処理装置のハードウェア構成の一例を示す図である。
【図２】本発明の実施の形態に係る画像処理システムの概略を説明するための図である。
【図３】本発明の実施の形態に係る画像処理システムの動作原理を説明するための図である。
【図４】本発明の実施の形態に係る画像処理の実行要求の一例を示す図である。
【図５】本発明の実施の形態に係る画像処理システムによる処理例のフローチャートである。
【符号の説明】
【００７０】
１０、５０  コントローラ部
２０  画像処理部
３０、６０  ハイパーバイザ部
４０、７０  ハードウェア・リソースレイヤー部
１００  第１の画像処理装置
１１０  処理要求取得手段
１２０  負荷推定手段
１３０  マイグレーション判定手段
１４０  マイグレーション手段
１５０  ビットマップ展開手段
１６０  再マイグレーション手段
１７０  画像データ出力手段
２１０、４１０  ＣＰＵ
２２０、４２０  ＲＯＭ
２３０、４３０  ＲＡＭ
２４０、４４０  ＨＤＤ
２５０、４５０  通信Ｉ／Ｆ
２６０、４６０  スキャナ
２７０、４７０  プロッタ
２８０、４８０  表示装置
３００  第２の画像処理装置
３１０  画像処理部受信手段
３２０  マイグレーション後処理実行手段
３３０  画像処理部送信手段
【図１】
2010072872.tif 000003
【図２】
2010072872.tif 000004
【図３】
2010072872.tif 000005
【図４】
2010072872.tif 000006
【図５】
2010072872.tif 000007