(57)【要約】【課題】従来、画像形成装置内において、どのジョブに対してＧＰＵを使用するか否かの切り分けは行われていなかった。また、画像形成装置の内部及び外部にＧＰＵを備える場合、各ＧＰＵの使用率を考慮していないため、外部のＧＰＵに処理を適切にオフロードすることができていなかった。【解決手段】画像形成装置の内部のＧＰＵ使用率などを考慮し、ジョブの処理を動的にオフロードする。これにより、画像形成装置に各種ジョブが投入された場合でも、パフォーマンスを低下することなく、処理を行うことができる。【選択図】図６
2020110926.tif 000002
【特許請求の範囲】
【請求項１】
第１のＧＰＵを有する画像形成装置であって、
投入されるジョブに対応付けられた第１の情報と、前記第１のＧＰＵの使用率と、に基づいて、前記ジョブの処理を、画像形成装置の内部で行うか、又は、外部装置にオフロードする
ことを特徴とする画像形成装置。
【請求項２】
前記第１の情報には、ジョブを処理する際に要する見込みの計算量を示す第１のデータが記載され、
前記第１のＧＰＵの使用率と、前記第１のデータと、に基づいて、前記ジョブの処理を、画像形成装置の内部で行うか、又は、外部装置にオフロードする
ことを特徴とする請求項１に記載の画像形成装置。
【請求項３】
前記第１のＧＰＵの使用率と前記見込みの計算量との合計をあらかじめ設定した第１の値と比較することにより、前記ジョブの処理を、画像形成装置の内部で行うか、又は、外部装置にオフロードする
ことを特徴とする請求項２に記載の画像形成装置。
【請求項４】
前記第１の情報には、ジョブがＧＰＵを使う処理である否かを示す第２のデータが記載され、
前記第２のデータとして前記ジョブがＧＰＵを使う処理でないことが記載されている場合、前記ジョブの処理を画像形成装置の内部で行う
ことを特徴とする請求項１乃至３のいずれか１項に記載の画像形成装置。
【請求項５】
前記第１の情報には、ジョブを処理する際に画像形成装置の内部と外部装置のどちらを優先するかを示す第３のデータが記載され、
前記第３のデータとして画像形成装置の内部を優先することが記載されている場合、前記ジョブの処理を画像形成装置の内部で行う
ことを特徴とする請求項４に記載の画像形成装置。
【請求項６】
前記第１の情報には、ジョブを処理する際に画像形成装置の内部と外部装置のどちらを優先するかを示す第３のデータが記載され、
前記第３のデータとして外部装置を優先することが記載されている場合、前記ジョブの処理を外部装置にオフロードする
ことを特徴とする請求項４に記載の画像形成装置。
【請求項７】
前記ジョブの処理を外部装置にオフロードする場合、複数の外部装置の中から、オフロード先として選択可能な外部装置にオフロードする
ことを特徴とする請求項１乃至６のいずれか１項に記載の画像形成装置。
【請求項８】
外部装置に関する情報である第２の情報に基づいて、前記選択可能な外部装置を特定する
ことを特徴とする請求項７に記載の画像形成装置。
【請求項９】
前記第２の情報に記載された前記外部装置が有する第２のＧＰＵの使用率と、前記第１の情報に記載されたジョブを処理する際に要する見込みの計算量との合計を、あらかじめ設定した第２の値と比較することにより、前記選択可能な外部装置を特定する
ことを特徴とする請求項８に記載の画像形成装置。
【請求項１０】
前記第２の情報に記載された前記外部装置が有するメモリの空き容量を、あらかじめ設定した第３の値と比較することにより、前記選択可能な外部装置を特定する
ことを特徴とする請求項８に記載の画像形成装置。
【請求項１１】
前記第２の情報には、前記外部装置が有する第２のＧＰＵの性能に関する情報が記載されている
ことを特徴とする請求項８に記載の画像形成装置。
【請求項１２】
前記選択可能な外部装置が複数存在する場合、前記複数の外部装置の中から最も性能の高いＧＰＵを有する外部装置にオフロードする
ことを特徴とする請求項１１に記載の画像形成装置。
【請求項１３】
前記選択可能な外部装置が存在しない場合、前記ジョブの処理を外部装置にオフロードしない
ことを特徴とする請求項７に記載の画像形成装置。
【請求項１４】
第１のＧＰＵを有する画像形成装置の制御方法であって、
投入されるジョブに対応付けられた第１の情報と、前記第１のＧＰＵの使用率と、に基づいて、前記ジョブの処理を、画像形成装置の内部で行うか、又は、外部装置にオフロードする
ことを特徴とする画像形成装置の制御方法。
【請求項１５】
請求項１乃至１４のいずれか１項に記載された画像形成装置と、
前記画像形成装置に接続された複数の外部装置と、
を有することを特徴とする画像形成システム。
【請求項１６】
前記外部装置は、それぞれ、ＧＰＵを有する
ことを特徴とする請求項１５に記載の画像形成システム。
【請求項１７】
さらに、前記外部装置に関する情報である第２の情報を管理するサーバを有する
ことを特徴とする請求項１５又は１６に記載の画像形成システム。
【請求項１８】
請求項１４に記載された画像形成装置の制御方法をコンピュータにより実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＧＰＵを用いた処理を実行する画像形成装置、画像形成装置の制御方法、画像形成システム、及びプログラムに関するものである。
【背景技術】
【０００２】
従来、主に画像の描画を行う際に必要となる計算処理を行うプロセッサとして、ＧＰＵ（Graphics Processing Unit）が用いられている。また、近年では、ＧＰＵの高い演算性能を活かし、描画処理以外の汎用的な処理にも用いられることが多くなっている。それに伴い、情報処理装置内にＧＰＵを２つ以上搭載することにより、処理能力を向上させる方法が提案されている。
【０００３】
例えば、特許文献１には、ＧＰＵを複数搭載した情報処理装置が開示されている。特許文献１では、アプリケーションプログラムの起動時に、あらかじめＨＤＤに格納された対応表を取得し、対応表にアプリケーションプログラムがあれば、そのアプリケーションプログラムに対応したＧＰＵ情報を対応表から取得し、そのＧＰＵを使用する。対応表にアプリケーションプログラムがなければ、デフォルトのＧＰＵを使用し、２Ｄ処理、３Ｄ処理、動画処理を使用する処理の実行が指示された際に、その処理に適したＧＰＵを使用し、アプリケーションプログラムとＧＰＵとを対応付けて記録を行う。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−１５１６５８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、画像形成装置においては、ＧＰＵはユーザーインターフェイス（ＵＩ）の描画やリアルタイムでのデジタル画像処理などの各種ジョブに対して用いられる。
しかし、従来、画像形成装置において、どのジョブに対してＧＰＵを使用するか否かの切り分けは行われていなかった。また、画像形成装置の内部及び外部にＧＰＵを備える場合、各ＧＰＵの使用率を考慮していないため、外部のＧＰＵに処理を適切にオフロードすることができていなかった。そのため、画像形成装置において複数の処理が競合した際に、パフォーマンスの低下を引き起こしていた。一例として、印刷画像の描画処理中にＵＩを操作すると、普段よりも動作が遅れることが挙げられる。
【０００６】
上記課題を解決するには、ジョブ毎にＧＰＵを使用する処理であるか否かの切り分けを行い、内部及び外部のＧＰＵの使用率を考慮した上で、動的にＧＰＵオフロードをする必要がある。
しかし、特許文献１では、アプリケーションプログラム毎に使用するＧＰＵをあらかじめ対応付けているため、ＧＰＵの使用率を考慮したうえでの動的なＧＰＵオフロードをすることができない。そのため、特定のＧＰＵに負荷が集中してしまうと、パフォーマンス低下を引き起こしてしまう。
【０００７】
そこで、複数のＧＰＵを利用して処理を行う画像形成装置においては、特定のＧＰＵに負荷が集中することによりパフォーマンス低下を引き起こさないように、ジョブの処理を適切にオフロードする必要がある。
【課題を解決するための手段】
【０００８】
本発明は、第１のＧＰＵを有する画像形成装置であって、投入されるジョブに対応付けられた第１の情報と、前記第１のＧＰＵの使用率と、に基づいて、前記ジョブの処理を、画像形成装置の内部で行うか、又は、外部装置にオフロードすることを特徴とする。
【発明の効果】
【０００９】
画像形成装置の内部のＧＰＵ使用率などを考慮し、ジョブの処理を動的にオフロードすることにより、画像形成装置に各種ジョブが投入された場合でも、パフォーマンスを低下することなく、処理を行うことができる。
【図面の簡単な説明】
【００１０】
【図１】画像形成装置のハードウェアのブロック図である。
【図２】コントローラのハードウェアのブロック図である。
【図３】画像形成システムの概要である。
【図４】ジョブに対応付けられたメタ情報のデータ構造の一例である。
【図５】（ａ）外部装置情報のデータ構造、及び、（ｂ）管理テーブルの一例である。
【図６】外部リソースへＧＰＵ処理をオフロードする際の判断を示すフローチャートである。
【発明を実施するための形態】
【００１１】
以下、本発明を実施するための形態について図面を用いて説明する。なお、以下の実施形態は特許請求の範囲に係る発明を限定するものでなく、また、本実施形態で説明されている特徴の組み合わせのすべてが本発明の解決手段に必須のものであるとは限らない。
【００１２】
図１は、画像形成装置１のハードウェアのブロック図である。
情報処理装置の一形態である画像形成装置１は、スキャナ装置２、コントローラ３、プリンタ装置４、操作部５、ハードディスク６、ファクス装置７などのハードウェアモジュールを有する。
スキャナ装置２は、原稿から画像を光学的に読み取り、デジタル画像データに変換する。スキャナ装置２は、原稿束を自動的に逐次入れ替えることが可能な原稿給紙ユニット２１、原稿を光学的にスキャンし、デジタル画像データに変換することが可能なスキャナユニット２２を有する。スキャナ装置２により変換された画像データは、コントローラ３に送信される。
プリンタ装置４は、デジタル画像データを紙メディアに印刷する。プリンタ装置４は、紙束から一枚ずつ逐次給紙可能な給紙ユニット４２、給紙した紙メディアに画像データを印刷するためのマーキングユニット４１、印刷後の紙を排紙するための排紙ユニット４３を有する。
【００１３】
操作部５は、画像形成装置１の操作するための入力手段や、情報をユーザに表示するための出力手段を有する。ハードディスク６は、画像データや制御プログラムなどを記憶する。ファクス装置７は、電話回線などを介して画像データを不図示の外部のファクス装置に送信する。
コントローラ（制御装置）３は、これらのハードウェアモジュールと接続され、各モジュールに指示を出すことにより、画像形成装置１に投入されたジョブを実行する。
【００１４】
画像形成装置１は、ＬＡＮ（Local Area Network）８経由で外部のコンピュータ９との間で画像データの入出力や、ジョブの発行や機器の指示なども行うことが可能である。
コンピュータ９は、ＬＡＮ８を経由で、コントローラ３に指示を出すことにより、ジョブを実行させる。また、コンピュータ９は、コントローラ３からの指示にしたがい、後述のように画像形成装置１からオフロードされたジョブを実行する。なお、図１では、コンピュータ９は１台のみを図示しているが、複数台備えていてもよい。
【００１５】
画像形成装置１は、各種ジョブを実行可能である。以下に、ジョブの例を記載する。
・画像複写ジョブ
スキャナ装置２から読み込んだ画像をＨＤＤ装置６に記録し、同時にプリンタ装置４を使用して印刷を行う。
・スキャンジョブ
スキャナ装置２に給紙された原稿の画像を読み取り、デジタル画像データに変換する。
・画像送信ジョブ
スキャナ装置２から読み込んだ画像データをＬＡＮ８経由でネットワーク上の外部のコンピュータ９に送信する。
【００１６】
・画像保存ジョブ
スキャナ装置２から読み込んだ画像データをハードディスク６に記録し、必要に応じて画像送信や画像印刷を行う。
・画像印刷ジョブ
コンピュータ９から送信されたページ記述言語などを解析し、プリンタ装置４で印刷する。
・ファクスジョブ
・電話回線を介して受信した画像データをファクス装置７において印刷し、また、ファクス装置７から電話回線を介して画像データを送信する。
【００１７】
図２は、コントローラ３のハードウェアのブロック図である。
コントローラ３は、メインボード（メインシステム）２００と、サブボード（サブシステム）２２０とから構成される。
【００１８】
メインボード２００は、いわゆる、汎用的なＣＰＵ（Central Processing Unit）システムである。メインボード２００は、以下のような各種のハードウェアモジュールを有する。
メインＣＰＵ２０１は、メインボード２００全体を制御する制御手段であり、内蔵ＧＰＵ２０２を搭載する。
【００１９】
ブートＲＯＭ２０３は、画像形成装置１を起動するブートプログラムを格納する。メモリ２０４は、メインＣＰＵ２０１によりワークメモリとして使用される。バスコントローラ２０５は、外部バスとのブリッジ機能を備える。不揮発性メモリ２０６は、画像形成装置１の電源がＯＦＦされた場合でもデータを保存する。ＲＴＣ（Real-Time Clock）２１１は、時計機能を有する。
【００２０】
ディスクコントローラ２０７は、半導体デバイスで構成された比較的小容量な不揮発性記憶装置であるＳＳＤ（Solid State Drive）などからなるフラッシュメモリ２０８や、ハードディスク６などのストレージ装置を制御する。ＵＳＢコントローラ２０９は、ＵＳＢメモリ２１０を制御する。
メインボード２００には、外部に、ＵＳＢメモリ２１０、操作部５、ハードディスク６などが接続される。
【００２１】
サブボード２２０は、比較的小さな汎用ＣＰＵであるサブＣＰＵ２２１と、画像処理ハードウェアから構成される。
サブＣＰＵ２２１は、サブボード２２０全体を制御する制御手段である。メモリ２２３は、サブＣＰＵ２２１によりワークメモリとして使用される。バスコントローラ２２４は、外部バスとのブリッジ機能を備える。不揮発性メモリ２２５は、画像形成装置１の電源がＯＦＦされた場合でもデータを保存する。
【００２２】
画像処理プロセッサ２２７は、リアルタイムのデジタル画像処理を行う。外部のスキャナ装置２とプリンタ装置４は、それぞれ、エンジンコントローラ２２６を介して、画像処理プロセッサ２２７との間で画像データの入出力を行う。ファクス装置７は、サブＣＰＵ２２１により直接制御される。
【００２３】
なお、図２のブロック図は、概略であり、簡略化して描かれている。
例えば、メインＣＰＵ２０１には、チップセット、バスブリッジ、クロックジェネレータなどのＣＰＵ周辺のハードウェアモジュールが多数含まれているが、ここでは図示していない。また、サブＣＰＵ２２１についても同様である。
【００２４】
ここで、コントローラ３の動作について、紙メディアへの画像複写を例に説明する。
ユーザが操作部５から画像複写を指示すると、メインＣＰＵ２０１がサブＣＰＵ２２１を介してスキャナ装置２に画像読み取り命令を送信する。
スキャナ装置２は紙原稿を光学的にスキャンし、デジタル画像データに変換して、エンジンコントローラ２２６を介して画像処理プロセッサ２２７に入力する。
画像処理プロセッサ２２７は、サブＣＰＵ２２１を介してメモリ２２３にＤＭＡ（Direct Memory Access）転送を行い、デジタル画像データの一時保存を行う。
【００２５】
メインＣＰＵ２０１は、画像データがメモリ２２３に一定量又はすべて読み込まれたことが確認できると、サブＣＰＵ２２１を介してプリンタ装置４に画像出力指示を出す。
サブＣＰＵ２２１は、画像処理プロセッサ２２７にメモリ２２３内の画像データの位置を通知する。メモリ２２３内の画像データは、プリンタ装置４からの同期信号にしたがって、画像処理プロセッサ２２７とエンジンコントローラ２２６を介してプリンタ装置４に送信され、プリンタ装置４にて紙メディアに印刷される。
【００２６】
複数部印刷を行う場合、メインＣＰＵ２０１は、メモリ２２３内の画像データをハードディスク６へ保存する。２部目以降、メインＣＰＵ２０１は、スキャナ装置２から画像データを受信しなくても、プリンタ装置４に画像データを送信することが可能である。
内蔵ＧＰＵ２０２は、ＵＩ画面の描画や、画像処理プロセッサ２２７で行われるリアルタイムのデジタル画像処理の一部を担う。
【００２７】
図３は、画像形成装置１を有する画像形成システムの概要である。
画像形成装置１は、有線又は無線のＬＡＮ８を介して、ネットワークに接続されている。
コンピュータ群９は、複数のコンピュータ９（１〜ｎ）からなる。以下では、各コンピュータを「コンピュータ９」と称することもある。各コンピュータ９は、内部にそれぞれ備えられたソフトウェア９１により、コンピュータ９内部に関する情報をリソース管理サーバ１０に送信する。コンピュータ９内部に関する情報は、図５で後述するように、例えば、ＧＰＵの使用率、メモリの性能、などを含み、以下では、外部装置情報５００と称する。
画像形成装置１は、ＧＰＵ処理を要するジョブが投入されると、ネットワーク上にあるリソース管理サーバ１０と通信を行う。そして、コンピュータ群の中からＧＰＵリソースに余裕のあるコンピュータ９を選択し、投入されたジョブについてＧＰＵ処理を行わせる。
【００２８】
図４は、画像形成装置１に投入されるジョブに対応付けられたメタ情報４００のデータ構造の一例である。
画像形成装置１は、ジョブ毎に対応付けられたメタ情報４００を保存する。保存するメタ情報４００の内容としては、図４に示すように、「ジョブ名」４０１、「ＧＰＵを使う処理」４０２、「優先資源」４０３、「ＧＰＵ処理計算量」４０４、などがある。
【００２９】
ジョブ名４０１には、ＰＲＩＮＴ（画像印刷），ＣＯＰＹ（画像複写），ＳＣＡＮ（画像読取），ＦＡＸ（画像受信），ＳＥＮＤ（画像送信），ＢＯＸ（画像保存）などの、当該ジョブの機能を示す名称が記載される。
ＧＰＵを使う処理４０２には、当該ジョブがＧＰＵを使う処理であるか否かを示すデータが記載される。優先資源４０３には、当該ジョブを実行するにあたり、画像形成装置１内部とネットワーク上にある外部のコンピュータ９のどちらのリソースを優先するかを示すデータが記載される。ＧＰＵ処理計算量４０４には、当該ジョブをＧＰＵ処理する際に要する見込みの計算量が記載される。
【００３０】
なお、ＧＰＵを使う処理４０２において、ＧＰＵを使わない処理であること（「Ｎｏ」）が指定されているジョブについては、優先資源４０３及びＧＰＵ処理計算量４０４については、記載を省略しても構わない。
【００３１】
画像形成装置１内部と外部のコンピュータ９のどちらのリソースを優先するか示す優先資源４０３については、例えばＵＩを描画する処理の場合、リアルタイム性が求められるため、画像形成装置１内部のＧＰＵを用いて処理を行うのが望ましい。反対に、用紙内のページ番号を抽出する推論のような処理の場合、高性能なＧＰＵを搭載したネットワーク上にあるコンピュータで処理を行うのが望ましい。
各ジョブについて、以上のような点を勘案して、画像形成装置１内部とネットワーク上にある外部のコンピュータ９のどちらのリソースを優先するか、または、どちらを優先してもよいか、をあらかじめ決定する。
【００３２】
図５は、ネットワーク上の外部のコンピュータ９からリソース管理サーバ１０に送信される外部装置情報５００のデータ構造（ａ）、及び、外部装置情報５００を管理するテーブル（ｂ）の一例である。
送信される外部装置情報５００としては、（ａ）に示すように、「ＩＰ」５０１、「ＧＰＵの性能」５０２、「メモリの性能」５０３、「ＧＰＵの使用率」５０４、「メモリ空き容量」５０５、などがある。
【００３３】
ＩＰ５０１は、ＧＰＵ処理をオフロードする際に送信先を指定するためのＩＰアドレスが記載される。ＧＰＵの性能５０２及びメモリの性能５０３は、選択可能なオフロード先が複数存在する場合に、スペックの高いコンピュータをオフロード先として選択するために使用される性能情報である。ＧＰＵ使用率５０４及びメモリ空き容量５０５は、オフロード先として処理が実行可能であるか否かを判断する際に使用される。
【００３４】
図６は、画像形成装置１に投入されたジョブのＧＰＵ処理を外部リソースへオフロードする際の判断を示すフローチャートである。以下において、画像形成装置１（メインＣＰＵ２０１）はリソース管理サーバ１０と通信を行い、外部のコンピュータ９へＧＰＵ処理をオフロードする。
【００３５】
ジョブが投入されると、画像形成装置１は、投入されたジョブに対応付けられたメタ情報４００を確認する（Ｓ６０１）。
そして、画像形成装置１は、メタ情報４００（ＧＰＵを使う処理４０２）に基づいて、投入されたジョブがＧＰＵを使う処理であるか否かを判断する（Ｓ６０２）。ここで、ＧＰＵを使う処理としては、ＵＩの描画処理や、画像印刷ジョブにおける画像の拡大縮小、色補正などの画像処理、などがある。一方、ＧＰＵを使わない処理としては、画像保存ジョブにおけるＨＤＤへの読み書きや、画像送信ジョブにおける通信処理、などがある。
【００３６】
投入されたジョブがＧＰＵを使う処理である場合（Ｓ６０２：Ｙ）、画像形成装置１は、メタ情報４００（優先資源４０３）に基づいて、画像形成装置１内部で処理を行うか、外部のコンピュータ９で処理を行うかの優先度を確認する（Ｓ６０３）。ここで、ＵＩの描画のように、リアルタイム性が求められる処理に対しては、画像形成装置１内部で処理を行う優先度が高い。一方、紙内のページ番号を抽出する推論のように、高性能の演算が求められる処理に対しては、高性能なＧＰＵを搭載したネットワーク上の外部のコンピュータ９で処理を行う優先度が高い。
【００３７】
投入されたジョブが画像形成装置１内部での処理を優先すると判断した場合（Ｓ６０３：Ｙ）、画像形成装置１は、画像形成装置内のＧＰＵ２０２の使用率を取得する。そして、メタ情報４００に記載された見込み計算量（GＰＵ処理計算量４０４）を考慮した上で、ＧＰＵリソースに余裕があるか否かを確認する（Ｓ６０４）。ここで、ＧＰＵリソースに余裕があるか否かを判断するにあたって、画像形成装置１は、以下のように、ＧＰＵ２０２の現在の使用率と、メタ情報４００に記載された見込み計算量との合計を、あらかじめ設定した閾値と比較することにより判断する。
【００３８】
（現在のＧＰＵ使用率） ＋ （見込み計算量） ＜  （閾値）
である場合、要件を満たしているものとして、ＧＰＵリソースに余裕あり、と判断する。
（現在のＧＰＵ使用率） ＋ （見込み計算量） ≧  （閾値）
である場合、要件を満たしていないとして、ＧＰＵリソースに余裕なし、と判断する。
【００３９】
ネットワーク上の外部のコンピュータ９での処理を優先すると判断した場合（Ｓ６０３：Ｎ）、画像形成装置１は、ネットワーク上の各コンピュータ９の外部装置情報５００をリソース管理サーバ１０から取得する（Ｓ６０５）。また、画像形成装置１内のＧＰＵリソースに余裕なしと判断した場合も（Ｓ６０４：Ｎ）、ネットワーク上の各コンピュータ９の外部装置情報５００をリソース管理サーバ１０から取得する（Ｓ６０５）。
【００４０】
そして、画像形成装置１は、リソース管理サーバ１０から取得した外部装置情報５００に基づいて、オフロード先の選択を行う（Ｓ６０６）。オフロード先を選択する際には、リソース管理サーバ１０から取得した外部装置情報５００のＧＰＵ使用率５０４と、メタ情報４００に記載の見込み計算量４０４を考慮した上で、ＧＰＵリソースに余裕があるかを確認する。
【００４１】
ここでも、画像形成装置１は、閾値をあらかじめ設定して、ＧＰＵ使用率５０４と見込み計算量４０４の合計と、あらかじめ設定した閾値とを比較することにより、ＧＰＵリソースに余裕があるか否かを判断する。具体的には、前記合計があらかじめ設定した閾値より少ない場合は、要件を満たしているものとして、ＧＰＵリソースに余裕あり、と判断する。一方、前記合計が閾値以上である場合は、要件を満たしていないとして、ＧＰＵリソースに余裕なし、と判断する。
【００４２】
また、メモリの空き容量５０５についても、あらかじめ設定した閾値と比較することによりより、ＧＰＵリソースに余裕があるか否かを判断する。具体的には、メモリの空き容量５０５があらかじめ設定した閾値以上である場合は、要件を満たしているものとして、ＧＰＵリソースに余裕あり、と判断する。一方、モリの空き容量５０５があらかじめ設定した閾値より少ない場合は、要件を満たしていないものとして、ＧＰＵリソースに余裕なし、と判断する。
【００４３】
上記の判断において、画像形成装置１は、外部装置情報５００におけるＧＰＵ使用率５０４とメモリの空き容量５０５の両方の条件を満たしている外部のコンピュータ９のみ、オフロード先として選択可能と特定する。
オフロード先として選択可能なコンピュータが複数存在する場合は、リソース管理サーバ１０から取得した外部装置情報５００に記載されたＧＰＵの性能５０２及びメモリの性能５０３において、最もスペックの高いコンピュータをオフロード先として選択する。
【００４４】
オフロード先として選択可能なコンピュータがネットワーク上に存在する場合（Ｓ６０６：Ｙ）、画像形成装置１は、オフロード先として選択したコンピュータ９にＧＰＵ処理を割り当て、外部リソースでＧＰＵ処理を行う（Ｓ６０７）。
処理が終了したら、オフロード先のコンピュータ９から処理データを受信する（Ｓ６０９）。
その後、画像形成装置１は受信した処理データを利用し（Ｓ６１０）、ジョブを終了する。
【００４５】
例えば、投入されたジョブが画像拡大処理を伴う画像印刷ジョブであり、画像形成装置１内部で処理することができず、外部のコンピュータ９にオフロードした場合を例にして説明する。この場合、外部のコンピュータ９は、ＧＰＵを用いて画像の拡大処理を行い、その結果生成された拡大画像データを画像形成装置１に送信する。画像形成装置１は、画像データを受信すると、受信した画像データに基づいて印刷を行い、ジョブを終了する。
【００４６】
メタ情報４００に基づいて、ＧＰＵを使わない処理であると判断した場合（Ｓ６０２：Ｎ）、画像形成装置１は、内部のリソースを使用して処理を行う（Ｓ６０８）。また、画像形成装置内のＧＰＵリソースに余裕がある場合や（Ｓ６０４：Ｙ）、選択可能なオフロード先がない場合も（Ｓ６０６：Ｎ）、画像形成装置１は、内部のリソースを使用して処理を行う（Ｓ６０８）。
【００４７】
以上のとおり、本実施形態においては、画像形成装置は、ジョブが投入されると、ジョブに対応付けられたメタ情報を確認することにより、投入されたジョブがＧＰＵを使う処理であるか否かを判断する。そして、ＧＰＵを使う処理である場合、投入されたジョブが、リアルタイム性が求められるような処理であるか、高性能の演算が求められるような処理であるかに応じて、画像形成装置内での処理を優先するのか、外部のＧＰＵでの処理を優先するのか判断する。
【００４８】
画像形成装置内のＧＰＵを優先する場合は、内部で処理を行うためのリソースの余裕があるかを、ＧＰＵの使用率を確認することにより判断する。なお、本実施形態においては、内部のリソースの余裕がない場合、ジョブの全部を外部にオフロードする。ただし、この場合、ジョブの一部のみを外部にオフロードするようにしてもよい。
同様に、外部のＧＰＵでの処理を優先する場合でも、外部で処理を行うためのリソースの余裕があるのかを、外部のそれぞれのコンピュータに対して、ＧＰＵの使用率を確認することにより判断する。なお、本実施形態においては、ジョブを外部にオフロードする場合、オフロード先として１つのコンピュータを選択した。ただし、この場合、選択可能なコンピュータの中から、複数のコンピュータをオフロード先として選択してもよい。
【００４９】
これにより、画像形成装置の内部及び外部を含めて、複数のＧＰＵの使用状況を考慮した上で処理を動的にオフロードすることにより、ＧＰＵの処理効率を高め、パフォーマンスの低下を引き起こすことなく、多様な複数のジョブを実行することができる。
【００５０】
＜その他の実施形態＞
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
また、本発明は、複数の機器から構成されるシステムに適用しても、１つの機器からなる装置に適用してもよい。
本発明は上述の実施形態に限定されるものではなく、本発明の趣旨に基づき種々の変形が可能であり、それらを本発明の範囲から除外するものではない。すなわち、上述の実施形態及びその変形例を組み合わせた構成もすべて本発明に含まれるものである。
【符号の説明】
【００５１】
１          画像形成装置
２          スキャナ装置
３          コントローラ（制御装置）
４          プリンタ装置
７          ファクス装置
９          コンピュータ
４００      メタ情報
５００      外部装置情報
【図１】
2020110926.tif 000003
【図２】
2020110926.tif 000004
【図３】
2020110926.tif 000005
【図４】
2020110926.tif 000006
【図５】
2020110926.tif 000007
【図６】
2020110926.tif 000008