以下、本発明の実施の形態によるサーバー装置、端末装置、及びジョブ処理システムについて図面を参照して説明する。なお、以下の説明では、ジョブ処理システムとして、印刷ジョブを実行する印刷システムについて説明するが、クラウド等のサーバー装置を用いてジョブデータを処理し、処理済ジョブデータに応じて端末装置がジョブ処理を実行するシステムであれば同様に適用することができる。
図1は、本発明の実施の形態による印刷システムの一例を示すブロック図である。なお、以下の説明においては、印刷システムでは、クラウドコンピューティング環境におけるクラウドサーバー装置を利用して印刷を行うものとする。尚、クラウドとは、1つ又は複数のサーバー装置から構成され、インターネット上に存在するサービス提供システムのことである。以下の説明では、クラウドをサーバー装置と同様のものとして説明するが、サーバーの個数やその種類を限定するものではない。
図1を参照して、図示の印刷システムは、情報処理装置であるホストコンピューター5000及び端末装置であるMFP6000を有している。これらホストコンピューター5000及びMFP6000は、ネットワーク11(例えば、イントラネット(LAN))によって相互に接続されている。図示の例では、MFP6000は一台のみ示されているが、複数のMFP6000が存在してもよい。
ネットワーク11はネットワーク10(例えば、インターネット)に接続されており、インターネット10上に複数のクラウドが存在する。なお、図示の例では、1つのクラウド100のみが示されている。
図示の例では、クラウド100(サーバー装置)は、ディレクトリーサーバー1000、第1の処理サーバー2000、及び第2の処理サーバー3000を有している(なお、図示はしないが、クラウド100は課金処理サーバーも有している)。そして、これらディレクトリーサーバー1000、第1の処理サーバー2000、及び第2の処理サーバー3000はネットワーク12によって相互に接続されている。
ここでは、ディレクトリーサーバー1000は、ホストコンピューター5000からネットワーク10を介してジョブ(例えば、印刷ジョブ)の受け付けを行う。第1及び第2の処理サーバー2000及び3000は、ディレクトリーサーバー1000と印刷ジョブとによって指定された設定(ジョブ設定)に応じてジョブデータ(例えば、印刷ジョブデータ)の処理を行う。
なお、図示の例では、クラウド100は第1及び第2の処理サーバー2000及び3000のみを有しているが、処理サーバーの数はクラウド100が提供する機能の数に応じて増加する。
上述のようして、ユーザー環境のホストコンピューター5000及びMFP6000とクラウド100はインターネット10を介して接続され、これによって、印刷システムが形成される。
図示の印刷システムでは、例えば、MFP6000に対応しないデータ形式の印刷ジョブデータを、クラウド100を利用してMFP6000に対応するデータ形式の印刷ジョブデータに変換処理する。また、図示の印刷システムでは、MFP6000がサポートしない機能を、クラウド100を利用することによって実現する。
例えば、MFP6000がPDL(Printer Desctiption Language)形式の印刷ジョブデータの印刷に対応しないとする。この場合には、クラウド100は当該印刷ジョブデータを、MFP600に対応するデータ形式に変換処理する。そして、クラウド100は、処理済印刷ジョブデータをMFP6000に転送する。
また、クラウド100はバーコード又は地紋等の付加情報を生成・合成する処理を行う。さらに、クラウド100は、同様にしてスキャン機能を提供する。
ところで、印刷ジョブの際にクラウド100を利用する場合、印刷ジョブデータの転送には種々の形態がある。例えば、ホストコンピューター5000からクラウド100に印刷ジョブデータを送信して、当該印刷ジョブデータに印刷先のMFP6000を指示する形態がある(以下直接利用方式と呼ぶ)。
この直接利用方式では、クラウド100は印刷ジョブデータを、MFP6000において印刷可能な処理済み印刷ジョブデータに変換処理する。そして、クラウド100は処理済み印刷ジョブデータをMFP600に転送する。これによって、MFP600は、処理済み印刷ジョブデータに応じて印刷ジョブを実行する。
さらに、ホストコンピューター5000からMFP6000に印刷ジョブデータを転送する形態がある。この形態では、MFP6000が印刷ジョブデータに応じてクラウド100に処理を依頼する必要であるか否かを判断する。そして、クラウド100に処理を依頼する必要があると判断すると、MFP6000は印刷ジョブデータをクラウド100に転送する(以下、間接利用方式と呼ぶ)。
この間接利用方式では、クラウド100は印刷ジョブデータを、MFP6000で印刷可能な処理済み印刷ジョブデータに変換して、MFP600に転送する。これによって、MFP6000は、処理済印刷ジョブデータに応じて印刷ジョブを実行する。
図1に示す印刷システムにおいては、直接利用方式及び間接利用方式のいずれの方式について適用可能であるが、ここでは、直接利用方式を用いた場合について説明する。また、ここでは、クラウド100が印刷ジョブデータを、MFP6000によって印刷可能な処理済み印刷ジョブデータに変換する場合について説明する。
図2は、図1に示すクラウド(サーバー装置)100のハードウェア構成の一例を示すブロック図である。
図2を参照すると、ディレクトリーサーバー1000は、CPU(中央処理装置)201、RAM(Random Access Memory)202、及びROM(Read Only Memory)部203を有している。そして、ROM部203には、フォントROM203a、プログラムROM203b、及びデータROM203cが備えられている。
さらに、ディレクトリーサーバー100は、キーボードコントローラ(KBC)205、CRTコントローラ(CRTC)206、ディスクコントローラ(DKC)207、及びネットワークコントローラ(NC)208を備えている。そして、これら各構成要素はシステムバス204を介して相互に接続されている。
KBC205は、キーボード(KB)209及びポインティングデバイス(図示せず)によるキー入力を制御する。CRTC206は、CRTディスプレイ(CRT)210による表示を制御する。DKC207は、ブートプログラム、各種のアプリケーション、ユーザファイル、及び編集ファイル等を記憶するハードディスクドライブ(HDD)211に対するアクセスを制御する。
なお、HDD211にはクラウド100にアクセス可能なMFP6000のリスト(MFPリスト)及び処理中の印刷ジョブデータのリスト(ジョブリスト)等も記憶される。
NC208は、ネットワーク12を介して第1及び第2の処理サーバー2000及び3000と課金処理サーバー(図示せず)とに接続されている。そして、NC208は、第1及び第2の処理サーバー2000及び3000と課金処理サーバーとの通信を制御する。
CPU201は、プログラムROM203b又はHDD211に記憶された制御プログラム(オペレーティングシステム(OS))に応じて動作する。そして、CPU201は、プログラムROM203b又はHDD211に記憶されたジョブ受付プログラム等に応じてジョブ(印刷ジョブともいう)の振り分け処理を行う。
つまり、CPU201は、受信したジョブを第1及び第2の処理サーバー2000及び3000と課金処理サーバーのいずれかに振り分ける処理を行う。
印刷ジョブの振り分け処理等を行う際には、データROM203c又はHDD211に、ジョブ振り分け処理で用いられる各種データが記憶される。なお、RAM202は、CPU201の主メモリ及びワークエリア等として用いられる。また、CPU201はシステムバス204に接続される各構成要素を総括的に制御する。
第1及び第2の処理サーバー2000及び3000のハードウェア構成はディレクトリーサーバー1000と同様であるので、ディレクトリーサーバー1000の構成要素と同一の参照符号を用いている。なお、第1及び第2の処理サーバー2000及び3000においては、プログラムROM203b又はHDD211にはジョブ処理プログラムが格納されている。
図3は、図1に示すホストコンピューター5000及びMFP6000のハードウェア構成の一例を示すブロック図である。
図3を参照すると、ホストコンピューター5000は、ハードウェア構成として、CPU301、RAM302、ROM部303、KBC305、CRTC306、DKC307、及びNC308を有している。そして、ROM部303には、フォントROM303a、プログラムROM303b、及びデータROM303cが備えられている。
これらCPU301、RAM302、ROM部303、KBC305、CRTC306、DKC307、及びNC308はシステムバス304によって相互に接続されている。また、KBC305、CRTC306、及びDKC308にはそれぞれKB309、CRT310、及びHDD311が接続され、NC308はネットワーク11に接続されている。
図3に示すホストコンピューター5000においては、プログラムROM303b又はHDD211にアプリケーションプログラム及びプリンター制御コマンド生成プログラム等が格納されている。
そして、CPU301はこれらプログラムに基づいて図形、イメージ、文字、及び表(表計算等を含む)等が混在した文書データ作成処理を行う。さらに、CPU301は文書データに関する印刷ジョブの生成処理を行う。
また、ホストコンピューター5000においては、プログラムROM303b又はHDD311に、CPU301の制御プログラムであるオペレーティングシステム(OS)等が記憶されている。そして、フォントROM303a又はHDD311には、上記の文書データに関する印刷ジョブの生成処理を行う際に用いられるフォントデータ等が記憶されている。
なお、データROM303c又はHDD311には、文書データ作成処理及び印刷ジョブ生成処理等を行う際に用いられる各種データが記憶されている。
ホストコンピューター5000において、NC308は、ネットワーク11及び10を介してMFP6000及びクラウド100(図1)に接続され、MFP6000及びクラウド100との通信の制御を行う。
なお、CPU301は、例えば、RAM302上に設定された表示情報RAMに対するアウトラインフォントの展開(ラスタライズ)処理を実行する。これによって、CPU301は、CRT310上におけるWYSIWYG(ウィジウィグ(What You See Is What You Get)が可能となる。また、RAM302は、CPU301の主メモリ及びワークエリア等として用いられる。
さらに、CPU301は、CRT310上に表示されるマウスカーソル(図示せず)等で指示されたコマンドに基づいて、登録された種々のウインドウを開いて、種々のデータ処理を実行する。ユーザーは、印刷処理を実行する際には、印刷の設定に関するウインドウを開いて、MFP6000の設定を行うことができる(ユーザー入力)。
図3において、MFP6000は、ハードウェア構成として、CPU312、ROM部313、印刷部I/F316、NC318、RAM319、メモリーコントローラ(MC)320、及びスキャン部I/F322を有している。そして、ROM部313には、フォントROM313a、プログラムROM313b、及びデータROM313cが備えられている。
NC318はネットワーク11及び電源制御部324に接続されている。また、印刷部I/F316には印刷部(プリンターエンジン)317が接続され、MC320にはHDD314が接続される。また、スキャン部I/F322には、スキャン部323が接続されている。
図示のように、MFP6000の各構成要素は、システムバス315によって相互に接続され、さらに、システムバス315には操作部321が接続されている。
MFP6000は、通常モードにおいてCPU312によって制御される。CPU312は、プログラムROM313b又はHDD314に記憶された制御プログラム等に基づいて動作する。
印刷動作の際には、CPU312はホストコンピューター5000から印刷ジョブデータを受信する。そして、CPU312は印刷部I/F316を介して印刷部317に出力情報として画像データを出力して、印刷を実行する。フォントROM313aには画像データを生成する際に用いられるフォントデータ等が記憶されている。
また、CPU312は、HDD314に記録された画像データを印刷部I/F316を介して印刷部317に転送して、印刷を実行する。
スキャン動作の際には、CPU312はスキャン部I/F322を介してスキャン部323を動作させる。そして、CPU312は、スキャン部323による原稿読み取りの結果得られた画像データを、MC320を介してHDD314に保存する。
スキャン動作の際には、CPU312はNC318を介して、後述するように、クラウド100又はホストコンピューター5000に画像データを送るとともに、各種コマンド及びステータスの送受を行う。
データROM313cには、例えば、HDD314が存在しない場合に、ホストコンピューター5000上で用いられる各種データ等が記憶される。なお、HDD314には、ユーザーによって作成された印刷データや画像データを格納することもできる。
CPU312は、NC318を介してホストコンピューター5000及びクラウド100と通信を行うことができ、例えば、MFP6000内の各種データ等をホストコンピューター5000及びクラウド100に通知することができる。なお、RAM319は、CPU312の主メモリ及びワークエリア等として用いられる。
図示の操作部321は、例えば、LCD(Liquid Crystal Display)等の表示素子を有するとともに、ボタン、タッチパネル、キーボード、及びマウスを備えている。ユーザーは操作部321によってMFP6000に対する各種指示及びMFP6000の動作状態を確認することができる。
MFP6000には、その消費電力を低減する省エネモードが規定されている。MFP6000が省エネモードである場合においては、ユーザーはボタン操作によって、MFP6000を省エネモードから通常モードへ復帰させることができる。
電源制御部324は、MFP6000の電源を管理する。電源制御部324はNC318を介して与えられる指示又は操作部321から与えられる指示に応じて、MFP6000を省エネモード、通常モード、スタンバイモード、又はオフ状態に遷移させる。
省エネモードとなると、MFP6000においては、CPU312を含む大部分の構成要素が電源断とされる。図示の例では、NC318が省エネモードから通常モードへの復帰要因を検知しており、省エネモードでは、例えば、NC318、操作部321、及び電源制御部324に通電が行われる。
図4は、図3に示すMFP6000が備えるNC318のハードウェア構成の一例を示すブロック図である。
図4を参照して、NC318は、CPU401、RAM402、プログラムROM403、ホストI/F404、PHY(Physical Layer)部406、MAC(Media Access Control)部407、及びGPIO(General Purpose Input/Output)部408を備えている。
そして、CPU401、RAM402、プログラムROM403、ホストI/F404、PHY部406、MAC部407、及びGPIO部408はシステムバス405によって相互に接続されている。
図示のNC318は、ホストI/F404によってシステムバス315(図3)に接続され、PHY部406によってネットワーク(LAN)11(図3)に接続されている。また、NC318はGPIO部408によって電源制御部324(図3)に接続されている。
CPU401は、MFP6000が省エネモードである際、後述する受信パケット(受信情報ともいう)を解析して、送信パケットを生成するので、CPU401として省電力のCPUが用いられる。
CPU401はプログラムROM403に格納されたプログラムを実行し、ワークエリアとしてRAM402を用いる。ネットワーク11を介して受信する受信パケットはPHY部406に入力される。
そして、この受信パケットは、MAC部407においてCPU401で取り扱い可能なデータ形式に変換される。この受信パケットは一旦RAM402に格納される。その後、CPU401は受信パケットを解析する。
送信パケット(送信情報ともいう)を送信する際には、CPU401はRAM402上に作成した送信パケットをMAC部407に転送する。そして、MAC407は、この送信パケットを、PHY部406を介してネットワーク11に送信する。
GPIO部408はCPU401によって制御される入出力ポートである。前述のように、GPIO部408は電源制御部324に接続される。GPIO部408は、省エネモード復帰を指示するため出力ポートを有しており、CPU401はGPIO部408にアクセスして、当該出力ポートによって省エネモードからの復帰を電源制御部324に対して指示する。
CPU312(図3)は、ホストI/F404を介してNC318にアクセスする。このホストI/F404は省エネモードにおいては使用されない。
ところで、省エネモードから通常モードに移行して、CPU312が動作を開始すると、CPU312は省エネモードからの復帰処理の過程においてホストI/F404を介してCPU401に停止命令を送る。この停止命令に応答して、CPU401は動作を停止する。
そして、CPU312はRAM402及びMAC407にアクセス可能な状態となって、NC318はCPU312の制御下に置かれることになる。
図5は、図1に示すクラウド(サーバー装置)100、ホストコンピューター5000、及びMFP6000のソフトウェア構成を説明するためのブロック図である。ここで、図5においては、クラウド100、ホストコンピューター5000、及びMFP6000に備えられたソフトウェアが有する機能が示されている。
まず、クラウド100に注目すると、ソフトウェアが有する機能は、図2に示すディレクトリーサーバー1000と第1及び第2の処理サーバー2000及び3000のCPU201上で実行されることになる。なお、以下の説明では、ディレクトリーサーバー1000と第1及び第2の処理サーバー2000及び3000とが一体的にクラウド100として動作する場合について説明する。
クラウド100上で動作するソフトウェアは、通信部101、ジョブ管理部102、ジョブ処理部103、及びMFP管理部105を有している。そして、ジョブ処理部103は、印刷ジョブの処理内容に対応して複数備えられている。また、クラウド100上の記憶装置(ROM等)には、ジョブ管理テーブル104が展開されている。
通信部101はネットワーク(LAN)12に接続され、MFP6000及びホストコンピューター5000とパケット等のデータの送受を行う。パケット等のデータとして、例えば、印刷ジョブデータ、画像データ、ジョブ開始要求等のコマンドがある。また、ここでは、ファイヤーウォールを越えるためのポーリングパケット等も送受される。
ジョブ管理部102は、受信したジョブ開始要求及びジョブ処理部103の状態に応じてジョブ管理テーブル104を更新する。そして、ジョブ処理部103等に指示を行う。
ジョブ処理部103は、各種データの変換処理を行う。たとえば、印刷ジョブであれば、ジョブ処理部103は印刷ジョブデータを処理済み印刷ジョブデータに変換する。
MFP管理部105は、通信部101で受信したMFP6000のステータス情報をジョブ管理テーブル104に反映させる。そして、後述するようにして、MFP管理部105は、省エネモードであるMFP6000を通常モードに復帰する際の復帰タイミングを決定する。
なお、図示の例においては、通信部101、ジョブ管理部102、ジョブ管理テーブル104、及びMFP管理部105はディレクトリーサーバー1000(図2)に実装されている。また、ジョブ処理部103は第1及び第2の処理サーバー2000及び3000に実装されている。
続いて、ホストコンピューター5000に注目すると、ホストコンピューター5000が有するソフトウェアの機能は、例えば、ホストコンピューター5000のCPU301及びNC308等で実行されることになる。
ホストコンピューター5000上で動作するソフトウェアは、アプリケーション部5010、プリンタードライバー5020、スプーラー5030、及び通信モジュール5040を有している。
図6は、図5に示すホストコンピューター5000における印刷ジョブデータの生成処理について説明するためのフローチャートである。
図5及び図6を参照して、いま、ユーザーが印刷ボタンを選択すると、アプリケーション部5010はプリンタードライバー5020を起動して、印刷を開始する(ステップS601)。アプリケーション部5010によって印刷要求された描画データは、プリンタードライバー5020に与えられる。そして、プリンタードライバー5020は、描画データに応じた印刷ジョブデータを生成する。プリンタードライバー5020は印刷ジョブデータをスプーラー5030にスプールする(ステップS602)。
この印刷ジョブデータの先頭には、ジョブ要求データが含まれている。そして、ジョブ要求データは、ホストコンピューター5000に関するホスト情報、出力先であるMFP6000に関するMFP情報、印刷ジョブの種類(例えば、印刷するか又はHDDに格納するか)、ジョブ設定(例えば、地紋処理)等を含んでいる。
その後、通信モジュール5040はスプーラー5030から印刷ジョブデータを受け取って、クラウド100に印刷ジョブデータを送信する(ステップS602)。
図6に示す例では、クラウド100を用いて印刷ジョブデータを処理する例が示されている。このため、印刷ジョブデータはクラウド100に送信されることになるが、前述のように、クラウド100を用いない場合には、印刷ジョブデータは直接MFP6000に送信されることになる。
つまり、通信モジュール5040は、印刷ジョブデータに含まれる印刷ジョブ設定情報に応じて、印刷ジョブデータをクラウド100又はMFP6000に送信する。
印刷ジョブ設定情報中の送信先情報が送信先としてクラウド100を示している場合には、通信モジュール5040はクラウド100に印刷ジョブデータを送信する。一方、送信先情報が送信先としてデバイスを示している場合には、通信モジュール5040はMFP6000に印刷ジョブデータを送信することになる。
再び、図5を参照して、次に、MFP6000に注目すると、MFP6000が有するソフトウェアの機能は、MFP6000のCPU312、印刷部317、及びNC318等で実行されることになる。
MFP6000上で動作するソフトウェアは、通信制御部6010、ジョブ種別判別部6020、画像形成部6030及び6050、及び印刷制御部6040を有している。
MFP6000において、通信制御部6010はホストコンピューター5000から印刷ジョブ要求を受信すると、この印刷ジョブ要求をジョブ種別判別部6020に与える。ジョブ種別判別部6020は、印刷ジョブ要求に応じて当該印刷ジョブのジョブ種別を判別する。例えば、ジョブ種別判別部6020はクラウド100を利用するジョブ種別であると判別すると、通信制御部6010を介してクラウド100に処理済み印刷ジョブデータを要求する。
処理済み印刷ジョブデータの要求に際しては、通信制御部6010によってポーリングが行われる。そして、処理済み印刷ジョブデータの要求に対する返答として、クラウド100から処理済み印刷ジョブデータがMFP6000に送信される。
一方、MFP6000のみで印刷ジョブが可能であるジョブ種別であると判別されると、ジョブ種別判別部6020は画像形成部6050に印刷ジョブデータを与える。画像形成部6050は印刷ジョブデータに基づいて印刷データを生成する。そして、画像形成部6050は、当該印刷データに応じて画像形成を実行する。
ところで、MFP6000が通信制御部6010を介してクラウド100から処理済み印刷ジョブデータを受信すると、この処理済み印刷ジョブデータは通信制御部6010からジョブ種別判別部6020に送られる。当該処理済み印刷ジョブデータがクラウド100から送信されたものであると判別すると、ジョブ種別判別部6020は、この処理済み印刷ジョブデータを印刷制御部6040に送信するとともに、画像形成部6030に送る。
画像形成部6030では処理済み印刷ジョブデータに応じて画像形成を実行する。また、印刷制御部6040は処理済み印刷ジョブデータに応じて印刷出力処理を実行する。そして、印刷制御部6040は、印刷出力処理が完了すると、ページ毎に通信制御部6010を介してクラウド100に印刷出力完了を通知する。
ここで、図4に示すCPU401の動作について説明する。クラウド100はネットワーク(インターネット)10を越えた位置に設置されることがある。このため、ネットワーク(LAN)11の環境によっては、クラウド100からMFP6000にパケットを送信できないことがある。
よって、CPU401は、ポーリングパケットをクラウド100に送る。つまり、NAT(Network Address Translation)又はファイヤーウォール等の仕組みがLAN11に備わっている場合には、CPU401はポーリングパケットをクラウド100に送ることになる。
これによって、ホストコンピューター5000又はMFP6000からサーバー100に対してパケットを送信することができる。そして、その応答パケットは、受信パケットとして、送信元であるホストコンピューター5000又はMFP6000に届く。なお、応答パケットには、クラウド100が伝えるべき情報が含まれる。
さらに、CPU401は、後述するように、ジョブ開始要求及び省エネモード復帰命令を検知すると、省エネモードから通常モードへ復帰する復帰信号を生成する。省エネモード復帰命令は、ポーリングパケットの応答として、後述するように、クラウド100からMFP6000に送信される。
また、通常モードに復帰後、CPU312からシャットダウン要求があると、CPU401は、このシャットダウン命令を検知する。そして、シャットダウン命令を検知すると、CPU401はシャットダウン処理を行って、動作を停止する。
シャットダウン処理では、パケット処理が終了し、MAC部407及びPHY部406が初期状態に戻される。つまり、シャットダウン処理の際、CPU401はMAC部407及びPHY部406の初期化を行う。
図7は、図3に示すMFP6000が省エネモードである場合のNC318の処理を説明するためのフローチャートである。
図3、図4、及び図7を参照して、まず、CPU401は、内蔵タイマーTを初期化する(T=0:ステップS701)。なお、この内蔵タイマーTは、クラウド100に対するポーリングパケットの送信間隔を計時するためのものである。図示の例では、送信間隔=10秒とする。
続いて、CPU401は、受信バケットを受信したか否かを調べる(ステップS702)。受信パケットを受信しないと(ステップS702において、NO)、CPU401は、CPU312からシャットダウン要求があるか否かについて調べる(ステップS703)。
シャットダウン要求ないと(ステップS703において、NO)、CPU401は、内蔵タイマーTが送信間隔(ポーリング間隔=10秒)を越えているか否かについて判定する(ステップS704)。
内蔵タイマーT≦10秒であると(ステップS704において、NO)、CPU401はステップS702に戻って、処理を続行する。
一方、内蔵タイマーT>10秒であると(ステップS704において、YES)、CPU401は、送信パケットを生成して、当該送信パケットをクラウド100に送信する。そして、CPU401はステップS701に戻って、内蔵タイマーTを初期化する。
ステップS703において、シャットダウン要求があると(ステップS703において、YES)、CPU401はシャットダウン処理を行って、処理を終了する。
また、ステップS702において、受信パケットを受信すると(ステップS702において、YES)、CPU401は当該受信パケットの解析を行う(ステップS707)。そして、CPU401は、この解析結果に応じて、受信パケットがクラウド100から送信されたものであるか否かについて判定する(ステップS708)。
受信パケットがクラウド100から送信されたものではないと(ステップS708において、NO)、CPU401は当該受信パケットがホストコンピューター5000から送信されたものであるか否かについては判定する(ステップS709)。
受信パケットがホストコンピューター5000から送信されたものではないと(ステップS709において、NO)、CPU401はステップS702に戻って処理を続行する。
ステップS708において、受信パケットがクラウド100から送信されたものであると(ステップS708において、YES)、CPU401は、当該受信パケットに省エネモード復帰命令が含まれているか否かについて判定する(ステップS710)。受信パケットに省エネモード復帰命令が含まれていないと(ステップS710において、NO)、CPU401はステップS702に戻って処理を続行する。
一方、受信パケットに省エネモード復帰命令が含まれている(ステップS710において、YES)、CPU401は復帰信号を生成して、GPIO部407を介して復帰信号を電源制御部324に与える(ステップS711)。
これによって、電源制御部324はMFP6000を省エネモードから通常モードに移行する。CPU401が起動してシャットダウン命令を受けるまでの時間、NC318は動作を継続する必要があるため、CPU401はステップS702に戻って処理を続行する。
ステップS709において、受信パケットがホストコンピューター5000から送信されたものであると(ステップS709において、YES)、CPU401は、当該受信パケットがジョブ開始要求であるか否かについては判定する(ステップS712)。
受信パケットがジョブ開始要求であると(ステップS712において、YES)、CPU401は復帰信号を生成して、GPIO部407を介して復帰信号を電源制御部324に与える(ステップS713)。そして、CPU401はステップS702に戻って処理を続行する。
なお、受信パケットがジョブ開始要求でないと(ステップS712において、NO)、CPU401はステップS702に戻って処理を続行する。
このようにして、MFP6000が省エネモードである場合には、NC318はクラウド100から省エネモード復帰命令を受けると、MFP6000を通常モードに移行させる。
図8は、図3に示すMFP6000が省エネモードから復帰した後の印刷処理を説明するためのフローチャートである。
図3、図4、及び図8を参照して、省エネモードから復帰すると、CPU312はNC318にシャットダウン命令を発行する(ステップS801)。これによって、前述したように、MAC部407及びPHY部406の初期化が行われる。この時点で、NC318は動作を停止し、CPU312の制御下に移行する。
続いて、CPU312は、クラウド100から処理済み印刷ジョブデータを受信したか否かを判定する(ステップS802)。処理済み印刷ジョブデータを受信しないと(ステップS802において、NO)、CPU312は処理済み印刷ジョブデータを受信するまで待つ。
一方、処理済み印刷ジョブデータを受信すると(ステップS802において、YES)、CPU312は当該処理済み印刷ジョブデータ、つまり、画像データを、例えば、HDD314に保存する(ステップS803)。そして、CPU312は印刷部1/F316を介して印刷部317に画像データを送り、印刷を実行する(ステップS804)。
印刷が終了すると、CPU312はクラウド100に印刷出力完了通知を行って、ステップS802に戻って、次の印刷ジョブに待機する。
図8に示す例では、クラウド100から処理済み印刷ジョブデータを受けて、印刷を行う場合について説明したが、前述したように、MFP6000はホストコンピューター5000から直接印刷ジョブデータを受信し、画像データに変換した後印刷することもある。
図9は、図5に示すクラウド100において通信部101における処理を説明するためのフローチャートである。
図5及び図9を参照して、前述のように、通信部101は、図2に示すディレクトリーサーバー1000に備えられており、通信部101は、例えば、CPU201等で動作する。
まず、通信部101は、送信待ちのパケットが存在するか否かについて判定する(ステップS901)。送信待ちのパケットがあれば(ステップS901において、YES)、通信部101は当該送信待ちのパケットを送信する(ステップS902)。そして、通信部101は受信パケットがあるか否かについて判定する(ステップS903)。
なお、送信待ちパケットがなければ(ステップS901において、NO)、通信部101はステップS903に移行する。受信パケットがないと(ステップS903において、NO)、通信部101はステップS901に戻って処理を続行する。
一方、受信パケットがあると(ステップS903において、YES)、通信部101は、当該受信パケットを取り込んで、受信パケットの解析を行う(ステップS904)。そして、通信部101は、この解析結果に応じて受信パケットの内容を判定する(ステップS905)。
解析結果によって、受信パケットがMFP6000から送られたポーリングパケットであると判定すると(ステップS905において、ポーリングパケット)、通信部101は当該ポーリングパケットをMFP管理部105に転送する(ステップS906)。そして、通信部101はステップS901に戻る。
解析結果によって、受信パケットが印刷ジョブデータであると判定すると(ステップS905において、ジョブデータ)、通信部101はHDD211(図2)等に当該印刷ジョブデータを保存する(ステップS907)。そして、通信部101はステップS901に戻る。
なお、ジョブ処理部103はこの印刷ジョブデータを参照して、ジョブ種別がプリントであると、ジョブ処理部103は印刷ジョブデータを処理済み印刷ジョブデータ(つまり、画像データ)に変換する。
解析結果によって、受信パケットが印刷ジョブ要求であると判定すると(ステップS905において、ジョブ要求)、通信部101は当該受信パケットをジョブ管理部102に転送する(ステップS908)。そして、通信部101はステップS901に戻る。ジョブ管理部102は、受信パケット、つまり、ここでは印刷ジョブ要求を受けると、当該印刷ジョブ要求を新規ジョブ要求として扱い、ジョブ管理テーブル104を更新する。
図10は、図5に示すクラウド100においてジョブ管理部102における処理を説明するためのフローチャートである。
図5及び図10を参照して、前述のように、ジョブ管理部102は、図2に示すディレクトリーサーバー1000に備えられており、ジョブ管理部102は、例えば、CPU201等で動作する。
図9で説明したように、通信部101は印刷ジョブ要求を受けたか否かを判定している(ステップS1001)。そして、印刷ジョブ要求を受けると(ステップS1001において、YES)、当該印刷ジョブ要求はジョブ管理部102に転送される。印刷ジョブ要求を受けると、ジョブ管理部102は、当該印刷ジョブ要求に対して新規ジョブIDを発行して、当該新規ジョブIDをジョブ管理テーブル104に登録する(ステップS1002)。
続いて、ジョブ管理部102は、ジョブ管理テーブル104を参照して、受信済みで、かつ未処理の印刷ジョブデータがあるか否かをチェックする(ステップS1003)。なお、ステップS1001において、印刷ジョブ要求がないと(ステップS1001において、NO)、ジョブ管理部102はステップS1003に移行する。
未処理の印刷ジョブデータがあると(ステップS1003において、YES)、ジョブ管理部102はデータ処理部103において新規ジョブの受付が可能であるか否かについて調べる(ステップS1004)。
データ処理部103、つまり、第1又は第2の処理サーバー2000又は3000(図2)において、新規ジョブの受付が可能であると(ステップS1004において、YES)、ジョブ管理部102はデータ処理部103に対してジョブ処理の指示を行う(ステップS1005)。
この際、ジョブ管理部102は、例えば、受け付けが最も古い印刷ジョブデータを指定することになる。そして、ジョブ処理の指示を受けると、データ処理部103は通信部101を介して印刷ジョブデータを受信し、印刷ジョブデータを画像データに変換する変換処理を行う。この場合、変換処理が終了すると、当該画像データは、例えば、通信部101に保存される。
ジョブ処理の指示を行った後、ジョブ管理部102は、ジョブ管理テーブル104を更新する(ステップS1006)。例えば、ジョブ管理部102は、印刷ジョブ要求のステータスを「処理待ち」から「処理中」に変更する。なお、第1の処理サーバー2000において処理中の場合には、「第1の処理サーバー2000において処理中」とする。同様に、第2の処理サーバー3000において処理中の場合には、「第2の処理サーバー3000において処理中」とする。
続いて、ジョブ管理部102は、データ処理部103において処理が終了した印刷ジョブデータがあるか否かを調べる(ステップS1007)。処理済み印刷ジョブデータがあると(ステップS1007において、YES)、ジョブ管理部102は通信部101に対して「終了ジョブあり」を通知する(ステップS1008)。これによって、通信部101は処理済み印刷ジョブデータの送信が可能となる。
次に、ジョブ管理部102はジョブ管理テーブル104を更新する(ステップS1009)。例えば、ジョブ管理部102は、印刷ジョブ(ここでは、変換処理)のステータスを「処理中」から「処理完了」に変更する。その後、ジョブ管理部102はステップS1001に戻って処理を続行する。
なお、ステップS1007において、処理済み印刷ジョブデータがないと(ステップS1007において、NO)、ジョブ管理部102はステップS1001に戻る。また、ステップS1003において、未処理印刷ジョブデータがないと(ステップS1003において、NO)、ジョブ管理部102はステップS1007に移行する。同様に、ステップS1004において、新規ジョブの受付が可能でないと(ステップS1004において、NO)、ジョブ管理部102はステップS1007に移行する。
図11は、図5に示すクラウド100においてジョブ処理部103における処理を説明するためのフローチャートである。
図5及び図11を参照して、前述のように、ジョブ処理部103は、図2に示す第1及び第2の処理サーバー2000及び3000の各々に備えられている。そして、第1及び第2の処理サーバー2000及び3000はそれぞれ独立かつ並行して処理を行う。
まず、ジョブ処理部103は、現在印刷ジョブ(つまり、ここでは変換処理)を受け付けた状態であるか否かについて調べる(ステップS1101)。印刷ジョブの受け付け中であると(ステップS1101において、YES)、ジョブ処理部103はデータ変換処理が終了しているか否かについて調べる(ステップS1102)。そして、データ変換処理中であると(ステップS1102において、NO)、データ処理部103はステップS1101に戻る。
一方、データ変換処理が終了していると(ステップS1102において、YES)、データ処理部103はジョブ管理部102にジョブ処理の終了を通知する(ステップS1103)。これによって、ジョブ管理部102はジョブ管理テーブル104を更新することになる。
続いて、ジョブ処理部103は、変換処理によって生成した処理済み印刷ジョブデータを、通信部101に転送して(ステップS1104)、ステップS1101に戻る。
ステップS1101において、印刷ジョブの受け付け中でないと(ステップS1101において、NO)、つまり、待機中であると、ジョブ処理部103はジョブ管理部102から新規ジョブの通知があるか否かを調べる(ステップS1105)。新規ジョブの通知がないと(ステップS1105において、NO)、ジョブ処理部103はステップS1101に戻る。
一方、新規ジョブの通知があると(ステップS1105において、YES)、ジョブ処理部103は通信部101から印刷ジョブデータを受信する(ステップS1106)。そして、ジョブ処理部103は、当該印刷ジョブデータについてデータ変換処理を実行する(ステップS1107)。その後、ジョブ処理部103はステップS1101に戻る。
図12は、図5に示すクラウド100においてMFP管理部105における処理を説明するためのフローチャートである。
図5及び図11を参照して、前述のように、MFP管理部105は、図2に示すディレクトリーサーバー1000に備えられており、MFP管理部105は、例えば、CPU201等で動作する。
MFP管理部105は、通信部101がポーリングパケットを受信したか否かを判定する(ステップS1201)。そして、通信部101がポーリングパケットを受信しないと(ステップS1201において、NO)、MFP管理部105は待機する。つまり、MFP管理部105は、通信部101がポーリングパケットを受信するまで待機することになる。
通信部101がポーリングパケットを受信すると(ステップS1201において、YES)、MFP管理部105は当該ポーリングパケットを解析する(ステップS1202)。そして、MFP管理部105は、この解析結果に応じてジョブ管理テーブル104を更新する(ステップS1203)。
MFP管理部105は、ジョブ管理テーブル104においてMFPステータスの項目に変化がある場合に更新を行う。例えば、MFP6000が省エネモードからスタンバイモードに移行した場合に、MFP管理部105はジョブ管理テーブル104を更新する。
続いて、MFP管理部105はジョブ管理テーブル104を参照して、MFP6000が省エネモードであるか否かについて判定する(ステップS1204)。MFP6000が省エネモードであると(ステップS1204において、YES)、MFP管理部105は、MFP6000を省エネモードから復帰させる復帰タイミングであるか否かをついて判定する(ステップS1205)。
ここでは、MFP管理部105は、MFP6000に係る印刷ジョブ処理がジョブ処理部103において開始されたか否かによって、省エネモードから復帰させる復帰タイミングであるか否かについて判定する。
一般に、ジョブ処理部103における印刷ジョブ処理には時間を要する。このため、MFP6000を省エネモードから復帰させるために要する時間と印刷ジョブ処理に要する時間とを相殺するようにすれば、MFP6000は省エネモードから復帰した後、画像データを受信するまで待たされることがない。つまり、画像データの生成までに要する時間とMFP6000が通常モードに復帰するまでの時間との時間差はそれほど大きくなく、MFP6000は省エネモードから復帰した後、画像データを受信するまで待たされることがない。
MFP6000を省エネモードから復帰させる復帰タイミングであると判定すると(ステップS1205において、YES)、MFP管理部105は、ポーリングパケットに対する応答パケットに省エネモードからの復帰命令を含める(ステップS1206)。そして、MFP管理部105は、通信部101に当該応答パケットを転送する(ステップS1207)。
これによって、通信部101は応答パケットをMFP6000に送信する。その後、MFP管理部105はステップS1201に戻って処理を続行する。
一方、MFP6000を省エネモードから復帰させる復帰タイミングでないと判定すると(ステップS1205において、NO)、MFP管理部105は、ポーリングパケットに対する応答パケットに省エネモードからの復帰命令を挿入しない(ステップS1208)。そして、MFP管理部105は、ステップS1207に移行して、通信部101に当該応答パケットを転送する。その後、MFP管理部105はステップS1201に戻って処理を続行する。
なお、ステップS1204において、MFP6000が省エネモードでないと(ステップS1204において、NO)、MFP管理部105は、ステップS1208に移行する。
上述のように、MFP管理部105は、MFP6000から送信されるポーリングパケットに応答して復帰命令を発行する。このため、複数のMFP6000からポーリングパケットを受信した際には、各MFP6000について、MFP管理部105は復帰命令を各MFP6000に最適な復帰タイミングで発行することができる。
図13は、図5に示すクラウド100においてジョブ管理テーブル104の一例を示す図である。
図13に示す例では、ジョブ管理テーブル104は、ジョブID欄、受付日時欄、ジョブ種別欄、ホストコンピューター(ホストPC)情報欄、MFP情報欄、MFPステータス欄、及びジョブステータス欄を有している。
ジョブID欄には印刷ジョブ要求に固有のジョブIDが記録される。受付日時欄には印刷ジョブ要求を受け付けた日時が記録される。ジョブ種別欄には当該印刷ジョブ要求の種別(例えば、プリント)が記録される。なお、図示の例では、ジョブ種別としてプリントのみが記録されているが、スキャン等もサポートしているには、プリントとスキャンとが区別されて記録されることになる。
また、ホストコンピューター(ホストPC)情報欄には、ホストPC情報として、例えば、ホストコンピューター5000のIPアドレスが記録される。MFP情報欄には、MFP情報として、例えば、当該MFP6000のIPアドレスが記録される。ここでは、ジョブID001235、ジョブID001237、及びジョブID001238について、MFPのIDアドレスは”34.56.78”であり、当該3つのジョブは同一のMFPのプリントジョブであることが示されている。
MFPステータス欄には、MFPの現在の状態(例えば、省エネモード、スタンバイ、及びプリント中等)が記録される。なお、図示されていないが、MFPステータスには、オフモードのステータスが存在する。
ジョブステータス欄には、当該ジョブの状態(例えば、完了、処理中、受信完了、及び受信中)が記録される。なお、図示されていないが、ジョブステータスには、プリント中のステータスが存在する。また、処理中のステータスについては、第1及び第2の処理サーバー2000及び3000のいずれで処理されているかが示される。
ところで、上述した第1の例においては、MFP管理部105は、第1又は第2の処理サーバー2000又は3000でジョブ処理が開始されたタイミング(復帰タイミング)で、省エネモードからの復帰命令を発行している。
ところが、印刷ジョブデータによっては、その処理に大きな時間を要する可能性がある。よって、MFP6000は省エネモードから通常モード(例えば、スタンバイモード)に復帰した後、処理済み印刷ジョブを受信するまでに待たされることがある。
この点を解決するため、第2の例では、未処理の印刷ジョブデータのサイズ(未処理量)に応じて省エネモードからの復帰タイミングを判定するようにする。例えば、ジョブ管理部104は未処理の印刷ジョブデータのサイズを判定して、ジョブ管理テーブル104を更新する。MFP管理部105はジョブ管理テーブル104を参照する(つまり、未処理の印刷ジョブデータのサイズを参照する)。そして、当該未処理の印刷ジョブデータのサイズ(つまり、未処理部分)が予め定められた規定値以下(規定量以下)となると、MFP管理部105は省エネモードからの復帰命令を発行する。
ここで、未処理の印刷ジョブデータのサイズをSj、規定値をScとすると、復帰命令を発行する条件は式(1)で示される。
Sj≦Sc (1)
図14は、図5に示すクラウド100においてジョブ管理テーブル104の他の例を示す図である。
図14に示す例では、図13に示すジョブ管理テーブル104と同様に、ジョブID欄、受付日時欄、ジョブ種別欄、ホストコンピューター(ホストPC)情報欄、MFP情報欄、MFPステータス欄、及びジョブステータス欄が備えられている。
図14に示すジョブ管理テーブル104では、ジョブステータス欄において、「処理中」である場合には、第1及び第2の処理サーバー2000及び3000のいずれで処理されているかが記録される。さらに、未処理(残り)の印刷ジョブデータのサイズ(残りのサイズ(MB))も記録されることになる。
ここでは、上記の規定値Scは、例えば、40MBとされる。図14に示す例では、ジョブID001235において、未処理の印刷ジョブデータのサイズが40MBとなったので、MFP管理部105は式(1)に応じて省エネモード復帰命令を発行することになる。
上記の規定値Scは、予めMFP管理部105等に設定する必要がある。この際、省エネモード復帰命令を発行してからMFP6000が通常モードに移行するまでに要する時間で処理可能な印刷ジョブデータのサイズを予想して、規定値Scを設定するようにすればよい。
さらに、第3の例では、ジョブ管理部102がジョブ処理部103から未処理の印刷ジョブデータのページ数を示す未処理ページ数情報を取得する。そして、ジョブ管理部102は当該未処理ページ数情報を管理テーブル104に保存する。
MFP管理部105は管理テーブル104を参照して(つまり、未処理ページ数情報を参照して)、当該未処理ページ数(未処理量)が予め定められた規定ページ数(規定量)より小さくなると、復帰タイミングであるとして、省エネモードからの復帰命令を発行する。
ここで、未処理のページ数をPj、規定ページ数をPcで表すと、復帰命令を発行する条件は式(2)で示される。
Pj≦Pc (2)
図15は、図5に示すクラウド100においてジョブ管理テーブル104のさらに他の例を示す図である。
図15に示す例では、図13に示すジョブ管理テーブル104と同様に、ジョブID欄、受付日時欄、ジョブ種別欄、ホストコンピューター(ホストPC)情報欄、MFP情報欄、MFPステータス欄、及びジョブステータス欄が備えられている。
図15に示すジョブ管理テーブル104では、ジョブステータス欄において、「処理中」である場合には、第1及び第2の処理サーバー2000及び3000のいずれで処理されているかが記録される。さらに、未処理ページ数情報(残りのページ数))も記録されることになる。
ここでは、上記の規定ページ数Pcは、例えば、10ページとされる。図15に示す例では、ジョブID001235においては、未処理ページ数が11ページであるので、MFP管理部105は式(2)に応じて省エネモード復帰命令の発行は行わないことになる。
上記の規定ページ数Pcは、予めMFP管理部105等に設定する必要がある。この際、省エネモード復帰命令を発行してからMFP6000が通常モードに移行するまでに要する時間で処理可能なページ数を予想して、規定ページ数Pcを設定するようにすればよい。
第4の例では、印刷ジョブデータのデータ形式に応じて、省エネモード復帰命令の発行を制御する。例えば、印刷ジョブデータのデータ形式又は色数等のデータの内容によって、データ変換処理に要する時間が大きく変化することがある。そして、特に、極めて短時間で、データ返還処理が終了する場合には、即座に省エネモード復帰命令を発行する必要がある。
印刷ジョブデータのデータ形式を変換する際、例えば、データ形式がPDL形式であると、ベクトル演算を多用する必要がある。このPDL形式の印刷ジョブデータを変換処理する際には、データ量又はページ数に比例して処理時間が掛かる。
一方で、TIFF(Tagged Image File Format)のようなビットマップ画像形式の印刷ジョブデータについては、一般にデータ変換処理が短時間で終了する。
そこで、第4の例においては、印刷ジョブデータのデータ形式がTIFF形式である場合には、未処理ページ数又は未処理印刷ジョブデータサイズに拘わらず、MFP管理部105は直ちに省エネモード復帰命令を発行する。
ここでは、ジョブ管理部102は、ジョブ処理要求を受け取ると、印刷ジョブデータのデータ形式(以下、単にデータ種類と呼ぶ)を示すデータ種類情報をジョブ管理テーブル104に保存する。
MFP管理部105はジョブ管理テーブル104を参照して(つまり、データ種類情報を参照して)、データ種類がTIFF形式である場合には、ジョブ処理部103が処理の実行を開始すると、直ちに省エネモード復帰命令を発行する。
一方、データ種類がPDL形式であると、MFP管理部105は、例えば、第2の例で説明したように、未処理の印刷ジョブデータのサイズに応じて省エネモード復帰命令を発行する。
図16は、図5に示すクラウド100においてMFP管理部105における処理の他の例を説明するためのフローチャートである。
図16において、図12で説明したフローチャートと同一の処理(ステップ)については同一の参照番号を付し、説明を省略する。
図5及び図16を参照して、図12で説明したように、MFP管理部105は、ステップS1204において、ジョブ管理テーブル104を参照して、MFP6000が省エネモードであるか否かについて判定する。そして、MFP6000が省エネモードでないと(ステップS1204において、NO)、MFP管理部105は、ステップS1208に移行して、応答パケットに省エネモード復帰命令を挿入しない。
一方、MFP6000が省エネモードであると(ステップS1204において、YES)、MFP管理部105は、当該MFP6000に係る印刷ジョブデータが現在処理中であって、かつジョブデータがTIFF形式であるか否かを調べる(ステップS1601)。
当該印刷ジョブデータが処理中で、かつデータ形式がTIFF形式であると(ステップS1601において、YES)、MFP管理部105はステップS1206に移行して、省エネモード復帰命令を発行する。当該ジョブデータが処理中で、かつデータ形式がTIFF形式でないと(ステップS1601において、NO)、MFP管理部105は未処理の印刷ジョブデータのサイズSjと規定値Scとを比較して、Sj≦Scであるか否かを判定する(ステップS1602)。
Sj≦Scであると(ステップS1602において、YES)、MFP管理部105は、ステップS1206に移行して省エネモード復帰命令を発行する。一方、Sj>Scであると(ステップS1602において、NO)、MFP管理部105は、ステップS1208に移行して省エネモード復帰命令を発行しない。
図17は、図16で説明したフローチャートで処理を行う際に用いられるジョブ管理テーブル104の一例を示す図である。
図17に示す例では、図14に示すジョブ管理テーブル104と同様に、ジョブID欄、受付日時欄、ジョブ種別欄、ホストコンピューター(ホストPC)情報欄、MFP情報欄、MFPステータス欄、及びジョブステータス欄が備えられている。
図17に示すジョブ管理テーブル104では、ジョブ種別欄において、ジョブの種別(プリント等)の他に、ジョブデータのデータ種類情報が記録されている。図示の例では、データ種類情報として「PDL」又は「TIFF」が記録されている。
上述の第4の例においては、データ種類と未処理の印刷ジョブデータのサイズとに応じて省エネモード復帰命令を発行するか否かについて判定するようにしている。なお、ここでは、未処理の印刷ジョブデータのサイズの代わりに未処理ページ数を用いるようにしてもよい。さらには、データ種類の代わりにモノクロか又はカラーか等の画像データの形式に応じて省エネモード復帰命令を発行するか否かを判定するようにしてもよい。
第5の例では、MFP6000の機種も考慮して、省エネモード復帰命令を発行するか否かについて判定する例について説明する。MFP6000の機種によって省エネモードから復帰するまでの復帰時間は異なる。上述した第2の例〜第4の例のいずれにおいても、MFP6000の機種を考慮することは可能であるが、ここでは、第2の例に機種を考慮する例を挙げて説明する。
図18は、図5に示すクラウド100においてジョブ管理テーブル104のさらに他の例を示す図である。
図18に示す例では、図14に示すジョブ管理テーブル104と同様に、ジョブID欄、受付日時欄、ジョブ種別欄、ホストコンピューター(ホストPC)情報欄、MFP情報欄、MFPステータス欄、及びジョブステータス欄が備えられている。
図18に示すジョブ管理テーブル104では、MFP情報別欄において、MFPのIDアドレスの他に、MFPの機種を示す機種情報(iR5000及びiR7000等)が記録されている。この機種情報は、ポーリングパケットによってMFP6000からクラウド1000に送信され、ジョブ管理部105はポーリングパケットから機種情報(機種名)を抽出して、ジョブ管理テーブル104に格納する。
図19は、図18に示す機種名と規定値Scの関係を規定する機種名−規定値表を説明するための図である。
図19に示すように、機種名−規定値表には、機種名欄、復帰時間欄、及び規定値Sc欄が備えられており、機種名に対応して復帰時間及び規定値Scが規定されている。
この機種名−規定値表は、例えば、ジョブ管理テーブル104に格納されている。そして、MFP管理部105は、機種名−規定値表を参照して、機種名の欄に対応する復帰時間及び規定値Scを読み出す。
なお、規定値Scは、復帰時間の間にジョブ処理部103がデータ変換処理を実行可能なデータサイズに応じて規定される。
図20は、図18に示すジョブ管理テーブル104を用いた際のMFP管理部104における処理を説明するためのフローチャートである。
図20において、図12及び図16で説明したフローチャートと同一の処理(ステップ)については同一の参照番号を付し、説明を省略する。
図5、図18、図19、及び図20を参照して、図12で説明したように、MFP管理部105は、ステップS1204において、ジョブ管理テーブル104を参照して、MFP6000が省エネモードであるか否かについて判定する。そして、MFP6000が省エネモードでないと(ステップS1204において、NO)、MFP管理部105は、ステップS1208に移行して、応答パケットに省エネモード復帰命令を挿入しない。
一方、MFP6000が省エネモードであると(ステップS1204において、YES)、MFP管理部105は、まず、ジョブ管理テーブル104中のMFP情報から機種名を取得する。そして、MFP管理部105は、機種名−規定値表を参照して、当該機種名に対応する復帰時間及び規定値Scを得る(ステップS2001)。
続いて、MFP管理部105は、ジョブ管理テーブル104を参照して、未処理の印刷ジョブデータのサイズSjと規定値Scとを比較して、Sj≦Scであるか否かを判定する(ステップS1602)。
Sj≦Scであると(ステップS1602において、YES)、MFP管理部105は、ステップS1206に移行して省エネモード復帰命令を発行する。一方、Sj>Scであると(ステップS1602において、NO)、MFP管理部105は、ステップS1208に移行して省エネモード復帰命令を発行しない。
このようにして、第5の例では、MFP6000の機種に応じて規定値Scを変更するようにしたから、機種による省エネモードへの復帰時間が異なる点を解消することができる。つまり、機種に応じてより最適な復帰タイミングでMFP6000を省エネモードから復帰させることができる。
以上のように、本発明の実施の形態によれば、クラウド100とMFP6000とを連携させてジョブ(例えば、印刷ジョブ)を処理する際、MFP6000が省エネモードである場合に、適切な復帰タイミングでMFP6000を省エネモードから復帰させることができる。
なお、上述の説明から明らかなように、クラウド100において、図5に示すジョブ処理部103がジョブ処理手段として機能する。そして、MFP管理部105、ジョブ管理部102、及び通信部101が省エネモード判定手段及び復帰命令手段として機能することになる。
さらに、ジョブ管理部102が未処理量取得手段として機能し、MFP管理部105がデータ種類取得手段として機能する。そして、ジョブ管理部102が規定量設定手段として機能することになる。
また、MFP6000において、図3に示すNC318及び電源制御部324が省エネモード設定手段、第1の復帰手段、及び第2の復帰手段として機能する。
以上、本発明について実施の形態に基づいて説明したが、本発明は、これらの実施の形態に限定されるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。
例えば、上記の実施の形態の機能を制御方法として、この制御方法を、クラウド100及びMFP6000が備えるコンピューターに実行させるようにしてもよい。
さらに、上述の実施の形態の機能を有するプログラムを制御プログラムとして、この制御プログラムを、クラウド100及びMFP6000が備えるコンピューターに実行させるようにしてもよい。
この際、制御方法及び制御プログラムは、少なくともジョブ処理ステップ、省エネモード判定ステップと、復帰命令ステップを有することになる。
また、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種のコンピューターに読み取り可能な記録媒体を介してシステム或いは装置に供給するようにしてもよい。そして、そのシステム或いは装置のコンピューター(またはCPUやMPU等)がプログラムを読み出して実行する処理ようにしてもよい。