(57)【要約】【課題】ＭＦＰ内部で実行する描画処理を仮想環境下で代替でき、能力の低い画像形成装置を用いても所望する画像形成処理を行うことができる画像形成システム、画像形成方法、及びサーバ装置を提供する。【解決手段】描画処理を実行可能な複数の仮想コントローラプログラムを有する情報処理装置と、ネットワークを介して通信可能な画像形成装置とを有する画像形成システムであって、前記画像形成装置から当該画像形成装置の設定を含むユーザデータ及び描画処理を行う描画処理要求データを受信し、描画処理が行われた結果としての画像データを前記画像形成装置に送信するユーザデータ管理手段と、前記ユーザデータ管理手段がユーザデータを受信した時に前記ユーザデータにしたがって仮想コントローラプログラムを割り当て、描画処理要求データを受信した時に、割り当てられた前記仮想コントローラプログラムに描画処理を実行させる仮想コントローラ管理手段とを有する。【選択図】図４
2015159439.tif 000002
【特許請求の範囲】
【請求項１】
描画処理を実行可能な複数の仮想コントローラプログラムを有する情報処理装置と、ネットワークを介して通信可能な画像形成装置とを有する画像形成システムであって、
前記画像形成装置から当該画像形成装置の設定を含むユーザデータ及び描画処理を行う描画処理要求データを受信し、描画処理が行われた結果としての画像データを前記画像形成装置に送信するユーザデータ管理手段と、
前記ユーザデータ管理手段がユーザデータを受信した時に前記ユーザデータにしたがって仮想コントローラプログラムを割り当て、描画処理要求データを受信した時に、割り当てられた前記仮想コントローラプログラムに描画処理を実行させる仮想コントローラ管理手段とを
有することを特徴とした画像形成システム。
【請求項２】
請求項１に記載の画像形成システムにおいて、
前記ユーザデータには前記画像形成装置の処理能力に関する情報を含み、
前記仮想コントローラ管理手段は、前記画像形成装置の処理能力に関する情報にしたがって、前記仮想コントローラプログラムを割当てる
ことを特徴とした画像形成システム。
【請求項３】
請求項１又は２に記載の画像形成システムにおいて、
前記仮想コントローラ管理手段は、前記仮想コントローラプログラムで発生する障害を検知し、前記仮想コントローラプログラムの障害を検知した場合、割り当て可能な他の前記仮想コントローラプログラムを割り当てる
ことを特徴とした画像形成システム。
【請求項４】
仮想コントローラプログラムにて描画処理を実行可能な画像形成方法であって、
画像形成装置から当該画像形成装置の設定を含むユーザデータ及び描画処理を行う描画処理要求データを受信し、描画処理が行われた結果としての画像データを前記画像形成装置に送信するユーザデータ管理手順と、
前記ユーザデータ管理手順がユーザデータを受信した時に前記ユーザデータにしたがって前記仮想コントローラプログラムを割り当て、描画処理要求データを受信した時に、割り当てられた前記仮想コントローラプログラムに描画処理を実行させる仮想コントローラ管理手順とを
有することを特徴とした画像形成方法。
【請求項５】
描画処理を実行可能な複数の仮想コントローラプログラムを有するサーバ装置であって、
画像形成装置から当該画像形成装置の設定を含むユーザデータ及び描画処理を行う描画処理要求データを受信し、描画処理が行われた結果としての画像データを前記画像形成装置に送信するユーザデータ管理手段と、
前記ユーザデータ管理手段がユーザデータを受信した時に前記ユーザデータにしたがって前記仮想コントローラプログラムを割り当て、描画処理要求データを受信した時に、割り当てられた前記仮想コントローラプログラムに描画処理を実行させる仮想コントローラ管理手段とを
有することを特徴としたサーバ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成システムにおける画像形成の制御技術に関する。
【背景技術】
【０００２】
近年、ＰＣ（Personal Computer）などの情報処理装置の情報処理能力の向上や、インターネット接続回線の通信速度の向上により、処理の代替、データの保存などをクライアント端末にかわってサーバ装置が実行する技術が知られている。
【０００３】
例えば、新機種のファームウエアを読み込ませた仮想環境をサーバ装置に準備しておき、ドライバやアプリケーションの動作確認を仮想環境下で行う技術が知られている（例えば、特許文献１参照）。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、現状のＭＦＰ（Multifunction Peripheral）では全ての処理をＭＦＰ内部で実行していた。そのため、ＭＦＰには、高性能なＣＰＵや大容量のメモリが必要になり、コストアップが避けられないという問題があった。従来の技術では、仮想環境下でＭＦＰのドライバやアプリケーションの動作確認を行えるが、ＭＦＰ内部で実行される描画処理を仮想環境下で代替できるものではなかった。
【０００５】
本発明は、上記の従来の問題点に鑑み提案されたものであり、その目的とするところは、ＭＦＰ内部で実行する描画処理を仮想環境下で代替でき、能力の低い画像形成装置を用いても所望する画像形成処理を行うことができる画像形成システム、画像形成方法、及びサーバ装置を提供することにある。
【課題を解決するための手段】
【０００６】
上記の課題を解決するため、本発明にあっては、描画処理を実行可能な複数の仮想コントローラプログラムを有する情報処理装置と、ネットワークを介して通信可能な画像形成装置とを有する画像形成システムであって、前記画像形成装置から当該画像形成装置の設定を含むユーザデータ及び描画処理を行う描画処理要求データを受信し、描画処理が行われた結果としての画像データを前記画像形成装置に送信するユーザデータ管理手段と、前記ユーザデータ管理手段がユーザデータを受信した時に前記ユーザデータにしたがって仮想コントローラプログラムを割り当て、描画処理要求データを受信した時に、割り当てられた前記仮想コントローラプログラムに描画処理を実行させる仮想コントローラ管理手段とを有する。
【発明の効果】
【０００７】
本発明にあってはＭＦＰ内部で実行される描画処理を仮想環境下で実行できる。
【図面の簡単な説明】
【０００８】
【図１】本実施形態における画像形成システムのシステム構成の一例を示す図である。
【図２】本実施形態における描画処理サーバのハードウエア構成の一例を示す図である。
【図３】本実施形態におけるＭＦＰのハードウエア構成の一例を示す図である。
【図４】本実施形態における画像形成システムの機能構成の一例を示す図である。
【図５】本実施形態におけるユーザデータ記憶部に記憶されるユーザデータのデータ構成の一例を示す図である。
【図６】本実施形態における仮想コントローラ状態情報記憶部に記憶される仮想コントローラ状態情報のデータ構成の一例を示す図である。
【図７】本実施形態におけるＭＦＰによる仮想コントローラの起動要求から仮想コントローラが起動するまでの流れを示すシーケンス図である。
【図８】本実施形態におけるユーザによる印刷要求からＭＦＰでの印刷処理の実行までの流れを示すシーケンス図である。
【図９】本実施形態における障害発生時におけるＭＦＰでの印刷処理の実行までの流れを示すシーケンス図である。
【図１０】本実施形態における仮想コントローラの障害発生時に仮想コントローラ管理部が実行する処理手順の一例を示すフローチャートである。
【発明を実施するための形態】
【０００９】
以下、本発明の好適な実施形態について説明する。
＜システム構成＞
図１は本実施形態における画像形成システムのシステム構成の一例を示す図である。画像形成システムは複数のＭＦＰがネットワークＮ１を介して描画処理サーバ１に接続される。
【００１０】
描画処理サーバ１が処理能力の異なる一以上の仮想マシンを有している。描画処理サーバ１はＭＦＰ２から画像形成の要求に応じて、ＭＦＰ２に対して割当てた仮想マシンにて描画処理を行い、描画処理を行った画像データをＭＦＰ２へ送信する。仮想マシンにて実行する描画処理は、例えば、ベクタ形式の画像をラスタ形式の画像への変換である。
【００１１】
描画処理サーバ１は描画処理を実行するコンピュータである。描画処理サーバ１は、描画処理が備える機能を一以上の装置に各機能を分散するような構成としてもよい。
【００１２】
ＭＦＰ２はＭＦＰ２に接続されている情報処理装置などから印刷要求を受信すると、情報処理装置から受信した画像データの描画処理の実行を描画処理サーバ１へ要求する。
【００１３】
ＭＦＰ２は、画像形成装置の一例であって、少なくとも印刷機能を含む一以上の機能を一台の筐体によって実現する画像形成装置である。ＭＦＰ２は図１に示されている台数に限定せず、これより多くもしくは少ないＭＦＰ２が描画処理サーバ１に接続されていてもよい。
【００１４】
以上のように、描画処理システムでは、上記の構成により、ＭＦＰ内部で実行される描画処理をサーバ装置１の仮想環境で行うことができる。
＜ハードウエア構成＞
≪描画処理サーバ≫
図２は、本発明の実施形態における描画処理サーバ１のハードウエア構成の一例を示す図である。
【００１５】
描画処理サーバ１は、描画処理サーバ１の全体の動作を制御するＣＰＵ（Central Processing Unit）１０１、ＩＰＬ（Initial Program Loader）等のＣＰＵ１０１の駆動に用いられるプログラムを記憶したＲＯＭ（Read Only Memory）１０２、ＣＰＵ１０１のワークエリアとして使用されるＲＡＭ（Random Access Memory）１０３、管理端末用のプログラム等の各種データ等を記憶するＨＤ１０４、ＣＰＵ１０１の制御にしたがってＨＤ１０４に対する各種データの読み出し又は書き込みを制御するＨＤＤ（Hard Disk Drive）１０５、フラッシュメモリ等の記録メディア１０６に対するデータの読み出し又は書き込み（記憶）を制御するメディアドライブ１０７、カーソル、メニュー、ウィンドウ、文字又は画像等の各種情報を表示するディスプレイ１０８、ネットワークを利用してデータ通信するためのネットワークＩ／Ｆ(Interface)１０９、文字、数値、各種指示等の入力のための複数のキーを備えたキーボード１１０、各種指示の選択や実行、処理対象の選択、カーソルの移動等を行うマウス１１１、着脱可能な記録媒体の一例としてのＣＤ−ＲＯＭ１１３に対する各種データの読み出し又は書き込みを制御するＣＤ−ＲＯＭドライブ１１２、外部機器を接続するための外部機器Ｉ／Ｆ１１４並びに上記各構成要素を電気的に接続するためのアドレスバスやデータバス等のバスライン１１５を備えている。
【００１６】
このように、本発明の実施形態における描画処理サーバ１では、上記ハードウエア構成により、ＭＦＰ２との通信機能及び情報記憶機能等を実現している。
【００１７】
≪ＭＦＰ≫
図３は、本発明の実施形態におけるＭＦＰ２のハードウエア構成の一例を示す図である。
【００１８】
ＭＦＰ２は、コントローラ２００と、操作パネル２１０と、記憶メディアＩ／Ｆ２２０と、データ通信Ｉ／Ｆ２３０と、ＨＤＤ２４０と、ＵＳＢ  Ｉ／Ｆ２５０と、スキャナ２６０と、プロッタ２７０とを有し、それぞれＰＣＩバス２８０で相互に接続されている。
【００１９】
コントローラ２００は、ＲＯＭ２０１、ＲＡＭ２０２及びＣＰＵ２０３を有しており、ＲＯＭ２０１は、ＭＦＰ２が起動されるときに実行されるプログラムや各種データを格納している。また、ＲＡＭ２０２は、ＲＯＭ２０１やＨＤＤ２４０から読み出された各種プログラムやデータを一時保持する。
【００２０】
操作パネル２１０は、入力装置２１１と表示装置２１２とを有しており、入力装置２１１は、ハードウェアキー等で構成され、ＭＦＰ２に各操作信号を入力するのに用いられる。また、表示装置２１２は、ディスプレイ等で構成され、例えば画像形成動作に関する各種情報を表示する。
【００２１】
記憶メディアＩ／Ｆ２２０は、ドライブ装置２２１を有しており、ドライブ装置２２１に記録媒体２２２がセットされると、記録媒体２２２に記録される各種データがドライブ装置２２１を介してＨＤＤ２４０に格納される。
【００２２】
データ通信Ｉ／Ｆ２３０は、インタフェース装置２３１を有しており、ＭＦＰ２をネットワークＮ１等のデータ伝送路に接続するインタフェースである。
【００２３】
ＨＤＤ２４０は、ＭＦＰ２で取り扱われる受信文書データや読み取り画像データ等の各種データを格納している。また、ＨＤＤ２４０は、これらの各種データを、所定のファイルシステムやＤＢ（Data Base）により管理している。ＨＤＤ２４０に格納される各種データの中には、例えば、スマートフォンやデジタルカメラ等の外部機器によって記録された電子データも含まれる。このような場合には、ＳＤカード等の記録媒体２２２によってＭＦＰ２に提供されたり、データ伝送路であるネットワーク等を通じてアップロードされたりする。
【００２４】
ＵＳＢ  Ｉ／Ｆ２５０は、ＵＳＢ（Universal Serial Bus）ホスト２５１を有しており、ＵＳＢホスト２５１は、ＵＳＢケーブルを介して、各種装置と接続する。ＵＳＢホスト２５１は、各種装置と通信するための物理的・電気的Ｉ／Ｆを制御する機能及びＵＳＢプロトコルを制御する機能を有する。
【００２５】
スキャナ２６０は、画像読取装置２６１を有しており、読み取り面に配置された原稿を光学的に読み取り画像データを生成する。
【００２６】
プロッタ２７０は、印刷装置２７１を有しており、例えば、電子写真プロセス方式によってビットマップイメージを記録紙に印刷する。
【００２７】
このように、本実施形態におけるＭＦＰ２では、上記ハードウエア構成により、コピー、プリンタ、ファクシミリ、スキャナ等の複数の機能、情報検索機能及び通信機能等を実現している。
【００２８】
＜機能構成＞
図４は描画処理サーバ１及びＭＦＰ２の機能構成の一例を示す図である。
【００２９】
≪描画処理サーバ≫
描画処理サーバ１は、ユーザデータ管理部１１、ユーザデータ記憶部１２、仮想コントローラ管理部１３、仮想コントローラ状態情報記憶部１４、及び仮想コントローラ３を有する。
【００３０】
ユーザデータ管理部１１はユーザデータ及びユーザより要求を受けた描画処理を管理する機能である。ユーザデータ管理部１１はユーザから仮想コントローラ３の起動要求の受信時にユーザ認証を行う。ユーザ認証後、ユーザデータ管理部１１は仮想コントローラ管理部１３に対してユーザデータを送信し、仮想コントローラ３の起動を要求する。
【００３１】
ユーザデータ管理部１１はユーザから描画処理の要求を受信した場合、ユーザデータ記憶部１２に描画処理を行う画像データをバックアップデータとして保存する。画像データの保存後、ユーザデータ管理部１１は、仮想コントローラ管理部１３へ画像データを送信すると共に描画処理の実行を要求する。
【００３２】
ユーザデータ管理部１１は、仮想コントローラ３を介して仮想コントローラ３からバックアップデータを取得し、ユーザデータ記憶部１２に保存する。バックアップデータは仮想コントローラ３の障害発生などに備えて処理途中の内容を保存した情報である。仮想コントローラ３に障害が発生した場合、仮想コントローラ３はバックアップデータをインポートすることで処理を再開することができる。バックアップデータは仮想コントローラ３により定期的に作成され、ユーザデータ管理部１１へ送信される。
【００３３】
また、ユーザデータ管理部１１はＭＦＰ２よりＭＦＰ２の設定情報に変更があった場合、ＭＦＰ２よりＭＦＰ２の設定情報の変更を受信し、ユーザデータの更新を行う。
【００３４】
ユーザデータ管理部１１は仮想コントローラ管理部１３からの障害通知を受信する。
【００３５】
ユーザデータ記憶部１２はユーザデータを記憶する機能である。ユーザデータはファイル形式またはデータベース形式によって記憶される。図５は、本実施形態におけるユーザデータ記憶部１２に記憶されるユーザデータのデータ構成の一例を示す図である。ユーザデータは、「ＩＰアドレス」、「ユーザＩＤ」、「パスワード」、「機種名」、「搭載ＣＰＵ」、「バックアップデータ」、及び「ＭＦＰ設定情報」を有する。
【００３６】
「ＩＰアドレス」はＭＦＰ２に割り当てられたＩＰアドレスを示す情報である。図５に示す例では、ＩＰｖ４に対応するＩＰアドレスを示しているが、ＩＰｖ４に限定されず、ＩＰｖ６など他のＩＰバージョンに対応することができる。
【００３７】
「ユーザＩＤ」はＭＦＰ２ごとに一意に設定された情報である。「ユーザＩＤ」はＭＦＰ２ごとに一意になるように任意の文字、数字、記号又はこれらを組み合わせにより構成されていればよい。また、本実施形態におけるユーザはＭＦＰ２を設置している会社や個人などである。
【００３８】
「パスワード」は、「ユーザＩＤ」と紐づけられており、描画処理サーバ１でのユーザの認証時に用いられる情報である。
【００３９】
「機種名」はＭＦＰ２の機種名を示す情報である。ＭＦＰ２の機種名は、任意の数字、文字、記号又はこれらの組み合わせにより構成される。
【００４０】
「搭載ＣＰＵ」はＭＦＰ２が搭載しているＣＰＵの型番号が記載される。搭載ＣＰＵは、ＭＦＰ本体の型番と対応づけられている。
【００４１】
「バックアップデータ」は仮想コントローラ３が所定のタイミングでの処理状態を記憶したファイルである。バックアップデータを仮想コントローラ３にインポートすることで、仮想コントローラ３は、障害などの発生により中断した描画処理を中断直前の状態から再開させることができる。
【００４２】
「ＭＦＰ設定情報」はユーザが利用するＭＦＰ２の設定情報に関する情報である。「ＭＦＰ設定情報」にはＭＦＰ２に設定されている用紙サイズを示す「用紙サイズ」など、予めユーザが設定したＭＦＰ２の設定に関する情報が記載される。「ＭＦＰ設定情報」をユーザデータに含めることにより、ユーザの使用環境を仮想コントローラ３へ反映させることができる。
【００４３】
図４に戻り、仮想コントローラ管理部１３は仮想コントローラ３の検索・起動及び仮想コントローラ状態情報の更新を行う機能である。仮想コントローラ管理部１３はユーザデータ管理部１１から仮想コントローラ３の起動要求及びユーザデータを受信する。仮想コントローラ管理部１３はユーザデータにしたがって要求元ＭＦＰ２の処理能力に合致する仮想コントローラ３を仮想コントローラ状態情報記憶部から検索する。要求元のＭＦＰ２に合致するＭＦＰ２の検索は、ユーザデータに含まれる「機種名」及び「搭載ＣＰＵ」に合致する「対応機種名」及び「対応ＣＰＵ」を有する仮想コントローラ３を検索することによって行われる。仮想コントローラ管理部１３は検索した仮想コントローラ３へ起動要求とあわせてユーザデータを送信する。
【００４４】
仮想コントローラ３から障害通知を受信した場合、仮想コントローラ管理部１３はユーザデータ管理部１１からユーザデータを取得し、障害が発生した仮想コントローラ３と同一の処理能力を有し、動作可能な仮想コントローラ３を検索する。仮想コントローラ３は該当する仮想コントローラ３を検索後、ユーザデータ管理部１１よりバックアップデータを含むユーザデータを取得し、仮想コントローラ３へ起動要求とあわせてユーザデータを送信する。
【００４５】
仮想コントローラ管理部１３は、仮想コントローラ３が描画処理の実行に失敗した場合、ユーザデータ管理部１１に対して描画処理の実行失敗を通知するよう要求する。仮想コントローラ３が描画処理の実行に失敗したか否かの判断は、例えば、仮想コントローラ管理部１３が仮想コントローラ３を切り替えるごとに仮想コントローラ３を切り替えた回数を記録しておき、切り換え回数が予め設定しておいた上限値に達したか否かによって行う。また、描画処理の実行を仮想コントローラ３に要求してから描画処理完了の通知を受けるまでの時間を予め設定しておき、設定された時間内に描画処理の完了通知を受信できなかった場合、描画処理に失敗したと判断してもよい。
【００４６】
また、仮想コントローラ管理部１３は仮想コントローラ３の起動、描画処理の処理要求の受信、仮想コントローラ３からの障害通知の受信、及び仮想コントローラ３からの描画処理の完了通知を受信した場合などのタイミングで仮想コントローラ状態情報を更新する。
【００４７】
仮想コントローラ状態情報記憶部１４は仮想コントローラ状態情報を記憶する機能である。仮想コントローラ状態情報はファイル形式もしくはデータベース形式で記憶される。図６は本実施形態における仮想コントローラ状態記憶部１２に記憶されるデータ構成の一例を示す図である。仮想コントローラ状態情報は「仮想コントローラＩＤ」、「ステータス」、「利用ユーザ」、「割当可否」、「対応機種名」、及び「対応ＣＰＵ」の項目を有する。
【００４８】
「仮想コントローラＩＤ」は仮想コントローラ３ごとに一意に設定された情報である。「仮想コントローラＩＤ」は仮想コントローラ３ごとに一意になるように、文字、数字、記号又はこれらの組み合わせにより構成されていればよい。
【００４９】
「ステータス」は仮想コントローラ３の状態を示す情報である。「ステータス」には仮想コントローラ３の状態に応じて、例えば、「処理中」、「障害発生」、「処理要求待ち」などの値が設定される。「ステータス」は仮想コントローラ３の通知、ユーザデータ管理部からの処理の要求などを受け、仮想コントローラ管理部１３によって更新される。
【００５０】
「利用ユーザ」は仮想コントローラ３を使用中のユーザを示す情報である。「利用ユーザ」には使用中のユーザの「ユーザＩＤ」が記載される。
【００５１】
「割当可否」は起動要求もしくは障害発生時に仮想コントローラ３をユーザへ割当て可能か否かを示す情報である。「割当可否」は「ステータス」に対応して値が記載される。
【００５２】
「対応機種名」は仮想コントローラ３の処理能力を示す情報であり、「対応機種名」は仮想コントローラ３が対応可能なＭＦＰ２の型番が記載される。「対応機種名」は「対応ＣＰＵ」と共にユーザへ割り当てる仮想コントローラ３の判断材料となる。
【００５３】
「対応ＣＰＵ」は仮想コントローラ３の処理能力を示す情報である。「対応ＣＰＵ」は仮想コントローラ３が対応可能なＣＰＵの型番が記載される。「対応ＣＰＵ」は「対応機種名」と共にユーザへ割り当てる仮想コントローラ３の判断材料となる。
【００５４】
図４に戻り、仮想コントローラ３はユーザより要求を受けた画像データを印刷可能な形式へ変換する描画処理を実行する機能である。描画処理サーバ１には処理能力の異なる複数の仮想コントローラ３が存在する。仮想コントローラ管理部１３によって、要求元のＭＦＰ２の処理能力にあった仮想コントローラ３が割り当てられる。仮想コントローラ３は該当するユーザのユーザデータをインポートし、仮想コントローラ管理部１３より要求された描画処理を実行する。実行する描画処理は、例えば、ベクタ形式の画像データをラスタ形式の画像データへ変換する処理がある。
【００５５】
また、仮想コントローラ３は描画処理の途中に任意のタイミングでバックアップデータを作成し、仮想コントローラ管理部１３を介してユーザデータ管理部１１へ送信する。バックアップデータは、仮想コントローラ３が実行している処理の状態を記録したものであり、仮想コントローラ３はバックアップデータを読み込むことで、バックアップデータを作成した時点から描画処理を再開することができる。
【００５６】
描画処理を実行中に障害が発生した場合、仮想コントローラ３は仮想コントローラ管理部１３に対して障害発生を通知し、処理を停止する。描画処理中に発生する障害は、例えば、メモリリーク、ウォッチドッグエラー、ファイルオープンエラーなどがある。仮想コントローラ３による障害通知は、例えば、障害の種類に応じて通知番号を割当て、仮想コントローラ３で発生した障害の種類に対応した通知番号を仮想コントローラ管理部１３へ通知することで行う。
【００５７】
仮想コントローラ３は描画処理完了後、仮想コントローラ管理部１３へ描画処理の完了を通知し、変換した画像データを送信する。
【００５８】
≪ＭＦＰ≫
ＭＦＰ２は処理要求部２１及び機能実行部２２を有する。
【００５９】
処理要求部２１は描画処理サーバ１に対して画像データの変換処理の要求及び画像データの送受信を行う機能である。描画処理を行う画像データ、ユーザＩＤ、及びパスワードなどを描画処理サーバ１へ送信する。
【００６０】
機能実行部２２は処理要求部２１より受信した変換済の画像データに基づき機能を実行する機能である。
【００６１】
＜処理動作＞
≪仮想コントローラの起動処理≫
図７は本実施形態におけるＭＦＰ２による仮想コントローラ３の起動要求から仮想コントローラ３が起動するまでの流れを示すシーケンス図である。
【００６２】
ユーザからの起動要求を受け、ＭＦＰ２は起動する（ステップＳ１）。起動したＭＦＰ２は、処理要求部２１にて、描画処理サーバ１に対して仮想コントローラ３の起動を要求する（ステップＳ２）。処理要求部２１は、ユーザＩＤ及びパスワードを送信し、描画処理サーバ１に対して仮想コントローラ３の起動要求を送信する。
【００６３】
描画処理サーバ１は、ユーザデータ管理部１１にて、ユーザ認証を行い、ユーザデータ記憶部１２から該当するユーザのユーザデータを読み込む（ステップＳ３）。
【００６４】
ユーザデータ管理部１１は、仮想コントローラ管理部１３に該当するユーザデータを送信する（ステップＳ４）。ユーザデータを受信した仮想コントローラ管理部１３はユーザデータを一時的に記憶し、動作可能な仮想コントローラ３を仮想コントローラ状態情報記憶部１４から検索する（ステップＳ５）。動作可能な仮想コントローラ３の検索は、ユーザデータに含まれる「搭載ＣＰＵ」などＭＦＰ２の処理能力を示す項目を参照し、行われる。
【００６５】
仮想コントローラ管理部１３はステップＳ５にて検索した仮想コントローラ３に対して起動要求と共にユーザデータを送信する（ステップＳ６）。
【００６６】
起動要求を受けた仮想コントローラ３は起動すると共に、ユーザデータをインポートする（ステップＳ７）。仮想コントローラ３には、ユーザデータをインポートすることによって、ユーザのＭＦＰ２の利用状態が反映される。
【００６７】
仮想コントローラ３は起動完了を仮想コントローラ管理部１３へ通知する（ステップＳ８）。仮想カントローラから起動完了の通知を受信後、仮想コントローラ管理部１３は仮想コントローラ状態情報を更新する（ステップＳ９）。
【００６８】
また、仮想コントローラ管理部１３はユーザデータ管理部１１を介してＭＦＰ２へ仮想コントローラ３が起動した事を通知する（ステップＳ１０、Ｓ１１）。
【００６９】
≪仮想コントローラによる描画処理≫
図８は、本実施形態における描画処理サーバ１に対して描画処理を要求してからＭＦＰ２にて描画処理された画像データを印刷するまでの処理の流れを示すシーケンス図である。
【００７０】
ＭＦＰ２は、ユーザからの印刷要求及び印刷を行う画像データを受信する（ステップＳ２１）。受信する画像データは例えば、ＰＤＬ（Page Description Language）形式である。
【００７１】
印刷要求を受信したＭＦＰ２は、描画処理サーバ１へ印刷要求及び印刷を行う画像データを送信する（ステップＳ２２）。画像データを受信した描画処理サーバ１は、ユーザデータ管理部１１にてユーザ情報を更新する（ステップＳ２３）。この時、ユーザデータ管理部１１は、ＭＦＰ２より受信した画像データをユーザデータ記憶部１２へ保存する。
【００７２】
その後、ユーザデータ管理部１１は仮想コントローラ管理部１３に対して描画処理の実行を要求する（ステップＳ２４）。ユーザデータ管理部１１は描画処理の要求と共に描画処理を行う画像データを仮想コントローラ管理部１３へ送信する。
【００７３】
実行要求を受けた仮想コントローラ管理部１３は、仮想コントローラ状態情報を更新する（ステップＳ２５）。仮想コントローラ管理部１３は仮想コントローラ３に描画処理要求及び描画処理を行う画像データを送信する（ステップＳ２６）。描画処理要求を受信した仮想コントローラ３は描画処理を実行する（ステップＳ２７）。
【００７４】
仮想コントローラ３は所定のタイミングで描画処理状況及びバックアップデータを仮想コントローラ管理部１３へ送信する（ステップＳ２８）。仮想コントローラ管理部１３はバックアップデータをユーザデータ管理部１１へ送信する（ステップＳ２９）。
【００７５】
ユーザデータ管理部１１は、仮想コントローラ管理部１３より受信したバックアップデートに基づいてユーザデータを更新する（ステップＳ３０）。仮想コントローラ３は描画処理の実行完了を通知する（ステップＳ３１）。
【００７６】
描画処理の通知を受信した仮想コントローラ管理部１３は、仮想コントローラ状態情報を更新する（ステップＳ３２）。
【００７７】
仮想コントローラ管理部１３は、描画処理の完了をユーザデータ管理部１１へ通知する（ステップＳ３３）。ユーザデータ管理部１１は、仮想コントローラ管理部１３より受信した描画処理完了の通知にしたがって、ユーザデータを更新する（ステップＳ３４）。ユーザデータ管理部１１は、描画処理の完了の通知とあわせて変換後の画像データを通知する（ステップＳ３５）。ＭＦＰ２は機能実行部２２にて、印刷処理を実行する（ステップＳ３６）。
【００７８】
≪障害発生時の描画処理≫
図９は本実施形態における障害発生時におけるＭＦＰ２での印刷処理の実行までの流れを示すシーケンス図である。
【００７９】
図８のＳ２１〜Ｓ２６と同様に、ユーザからＭＦＰ２が印刷要求を受信し、仮想コントローラ３に描画処理を要求する（ステップＳ４１〜Ｓ４６）。処理の要求を受信後、仮想コントローラ３は、図８のＳ２７〜Ｓ３０と同様に描画処理を実行すると共に、バックアップデータを作成し、ユーザデータ管理部１１へ送信する（ステップＳ４７〜Ｓ４９）。ユーザデータ管理部１１はバックアップデータを保存する（ステップＳ５０）。
【００８０】
仮想コントローラ３は障害発生を仮想コントローラ管理部１３へ通知する（ステップＳ５１）。障害発生の通知を受信した仮想コントローラ管理部１３は、仮想コントローラ状態情報を更新し、割当可能な仮想コントローラ３を仮想コントローラ状態情報記憶部１４から検索する（ステップＳ５２）。
【００８１】
仮想コントローラ管理部１３はＳ２０にて保存したバックアップデータが含まれるユーザデータをユーザデータ管理部１１から取得する（ステップＳ５３）。仮想コントローラ管理部１３は検索された他の仮想コントローラ３に対して取得したユーザデータを送信し、起動要求を行う（ステップＳ５４）。
【００８２】
起動要求を受けた仮想コントローラ３は起動し、バックアップデータが含まれるユーザデータをインポートする（ステップＳ５５）。仮想コントローラ３はバックアップデータにしたがって、描画処理を再開させる（ステップＳ５６）。
【００８３】
仮想コントローラ３は仮想コントローラ管理部１３に対して描画処理の完了を通知する（ステップＳ５７）。仮想コントローラ管理部１３は描画処理の完了通知を受け、仮想コントローラ状態情報を更新する（ステップＳ５８）。その後、ユーザデータ管理部１１へ処理完了を通知し、ユーザデータ管理部１１はユーザデータを更新する（ステップＳ５９、Ｓ６０）。ユーザデータ管理部１１はＭＦＰ２へ処理済みの画像データを送信し、ＭＦＰ２は印刷処理を実行する（ステップＳ６１、６２）。
【００８４】
≪仮想コントローラの切り替え処理≫
図１０は本実施形態における仮想コントローラ３の障害発生時に仮想コントローラ管理部１３が実行する処理手順の一例を示すフローチャートである。
【００８５】
仮想コントローラ３に障害が発生したタイミングで当該処理を開始する（ステップＳ７０）。仮想コントローラ管理部１３は仮想コントローラ３より障害通知を受信する（ステップＳ７１）。その後、仮想コントローラ管理部１３は、当該障害が発生した描画処理に伴う仮想コントローラ３の切り替え回数が予め設定した上限回数に達したか否かを判定する（ステップＳ７２）。
【００８６】
仮想コントローラ３の切り替え回数が上限値に達しておらずリトライ可能な場合（ステップＳ７２：ＹＥＳ）、仮想コントローラ管理部１３は割当可能な仮想コントローラ３を検索する（ステップＳ７３）。検索終了後、割当可能な仮想コントローラ３があるか否かを判定する（ステップＳ７４）。割当可能な仮想コントローラ３がある場合（ステップＳ７４：ＹＥＳ）、仮想コントローラ管理部１３はユーザデータ管理部１１からユーザデータを取得し、仮想コントローラ３へ起動要求及びユーザデータの送信を行い、当該処理を終了する（ステップＳ７５、Ｓ７７）。
【００８７】
仮想コントローラ３の切り替え回数が上限値に達しており、リトライできない場合（ステップＳ７２：ＮＯ）、もしくは割り当てる仮想コントローラ３が描画処理サーバ１上にない場合（ステップＳ７４：ＮＯ）、仮想コントローラ管理部１３は描画処理に失敗したことをＭＦＰ２に対して通知し、当該処理を終了させる（ステップＳ７６、Ｓ７７）。なお、図１０では場合の処理手順の一例を示したが、描画処理の実行が失敗したか否かの判断は、前述したとおり、予め設定時間までに描画処理の完了通知を受信したか否かによって判断してもよい。
【００８８】
なお、上述の実施例の全部又は一部はプログラムによって実装され得る。このプログラムは、可搬記録媒体に格納することができる。可搬記録媒体とは、非一時的（ｎｏｎ−ｔｒａｎｓｉｔｏｒｙ）な記憶媒体を言う。可搬記録媒体の例としては、磁気記録媒体、光ディスク、光磁気記録媒体、不揮発性メモリなどがある。可搬型記録媒体に格納されたプログラムが読み出され、プロセッサーによって実行されることにより、本発明の実施例の全部又は一部が実施され得る。
【００８９】
＜総括＞
以上、本発明の好適な実施の形態にて説明した形態は、本発明の範囲を限定するものではなく、データ伝送、もしくはネットワークを介して接続されるＭＦＰ２やＭＦＰ２に接続される情報処理装置が描画処理サーバ１の機能を備えてもよい。また、ここでは特定の具体例を示して本発明を説明したが、特許請求の範囲に定義された本発明の広範な趣旨および範囲から逸脱することなく、これら具体例に様々な修正および変更を加えることができることは明らかである。すなわち、具体例の詳細および添付の図面により本発明が限定されるものと解釈してはならない。
【符号の説明】
【００９０】
１    描画処理サーバ
２    ＭＦＰ
３    仮想コントローラ
１１  ユーザデータ管理部
１２  ユーザデータ記憶部
１３  仮想コントローラ管理部
１４  仮想コントローラ状態情報記憶部
２１  描画処理要求部
２２  機能実行部
【先行技術文献】
【特許文献】
【００９１】
【特許文献１】特開２０１２−１７４１９６号公報
【図１】
2015159439.tif 000003
【図２】
2015159439.tif 000004
【図３】
2015159439.tif 000005
【図４】
2015159439.tif 000006
【図５】
2015159439.tif 000007
【図６】
2015159439.tif 000008
【図７】
2015159439.tif 000009
【図８】
2015159439.tif 000010
【図９】
2015159439.tif 000011
【図１０】
2015159439.tif 000012