以下、本発明の一実施の形態について、図面を用いて説明する。
まず、本実施の形態に係るプルプリントシステムの構成について説明する。
図1は、本実施の形態に係るプルプリントシステム10のブロック図である。
図1に示すように、プルプリントシステム10は、LAN(Local Area Network)などのネットワーク11と、LANなどのネットワーク12と、ネットワーク12と同様な図示していない多数のネットワークと、ネットワーク11およびネットワーク12を接続するインターネットなどのネットワーク13とを備えている。ネットワーク13は、ネットワーク12と同様な図示していない多数のネットワークと、ネットワーク11とも接続している。
ネットワーク11には、プルプリント用の印刷データを記憶するためのサーバー20が配置されている。
サーバー20は、例えば、PC(Personal Computer)などの1台以上のコンピューターによって構成されている。
ネットワーク12には、印刷データを送信する印刷データ送信装置30と、印刷データに基づいた印刷ジョブを実行する画像形成装置40、画像形成装置50および画像形成装置60とが配置されている。
なお、ネットワーク12には、印刷データ送信装置30以外にも多数の印刷データ送信装置が配置されることが可能であるが、理解を容易にするために、以下においては印刷データ送信装置30以外の印刷データ送信装置についての説明を省略する。同様に、ネットワーク12には、画像形成装置40、50および60以外にも多数の画像形成装置が配置されることが可能であるが、理解を容易にするために、以下においては画像形成装置40、50および60以外の画像形成装置についての説明を省略する。
印刷データ送信装置30は、例えば、PCなどのコンピューターによって構成されている。
画像形成装置40、50および60は、例えば、MFP(Multifunction Peripheral)やプリンター専用機である。
プルプリントシステム10のネットワークのうち、ネットワーク12と同様な図示していない多数のネットワークに配置されている装置の種類は、ネットワーク12と同様である。以下においては、理解を容易にするために、プルプリントシステム10のネットワークのうち、ネットワーク12と同様な図示していない多数のネットワークについての説明を省略する。
図2は、サーバー20のブロック図である。
図2に示すように、サーバー20は、利用者による種々の操作が入力されるボタンなどの入力デバイスである操作部21と、種々の情報を表示するLCD(Liquid Crystal Display)などの表示デバイスである表示部22と、外部の装置と通信を行う通信デバイスである通信部23と、各種のデータを記憶しているHDD(Hard Disk Drive)などの記憶デバイスである記憶部24と、サーバー20全体を制御する制御部25とを備えている。
記憶部24は、プルプリント用の印刷データ24aを利用者毎に複数記憶することができる。すなわち、サーバー20は、プルプリント用の印刷データの記憶先として動作することが可能である。
制御部25は、例えば、CPU(Central Processing Unit)と、プログラムおよび各種のデータを記憶しているROM(Read Only Memory)と、CPUの作業領域として用いられるRAM(Random Access Memory)とを備えている。CPUは、ROMまたは記憶部24に記憶されているプログラムを実行する。
図3は、印刷データ送信装置30のブロック図である。
図3に示すように、印刷データ送信装置30は、利用者による種々の操作が入力されるキーボード、マウスなどの入力デバイスである操作部31と、種々の情報を表示するLCDなどの表示デバイスである表示部32と、外部の装置と通信を行う通信デバイスである通信部33と、各種のデータを記憶しているHDDなどの記憶デバイスである記憶部34と、印刷データ送信装置30全体を制御する制御部35とを備えている。
記憶部34は、印刷データを生成するプリンタードライバー34aと、プルプリント用の印刷データの記憶先に印刷データを送信する印刷データ送信プログラム34bとを記憶している。プリンタードライバー34aおよび印刷データ送信プログラム34bは、印刷データ送信装置30の製造段階で印刷データ送信装置30にインストールされていても良いし、CD(Compact Disk)、DVD(Digital Versatile Disk)などの記憶媒体から印刷データ送信装置30に追加でインストールされても良いし、ネットワークから印刷データ送信装置30に追加でインストールされても良い。
制御部35は、例えば、CPUと、プログラムおよび各種のデータを記憶しているROMと、CPUの作業領域として用いられるRAMとを備えている。CPUは、ROMまたは記憶部34に記憶されているプログラムを実行する。
制御部35は、記憶部34に記憶されている印刷データ送信プログラム34bを実行することによって、プルプリント用の印刷データの記憶先に印刷データを送信する印刷データ送信手段としてのポートモニター(Port Monitor)35aとして機能する。
図4は、画像形成装置40のブロック図である。
図4に示すように、画像形成装置40は、利用者による種々の操作が入力されるボタンなどの入力デバイスである操作部41と、種々の情報を表示するLCDなどの表示デバイスである表示部42と、原稿から画像データを読み取る読取デバイスであるスキャナー43と、用紙などの記録媒体に印刷を実行する印刷デバイスであるプリンター44と、図示していない外部のファクシミリ装置と公衆電話回線などの通信回線経由でファックス通信を行うファックスデバイスであるファックス通信部45と、ネットワーク11経由で外部の装置と通信を行う通信デバイスである通信部46と、各種のデータを記憶しているEEPROM(Electrically Erasable Programmable Read Only Memory)、HDDなどの記憶デバイスである記憶部47と、画像形成装置40全体を制御する制御部48とを備えている。
記憶部47は、プルプリント用の印刷データ47aを利用者毎に複数記憶することができる。すなわち、画像形成装置40は、プルプリント用の印刷データの記憶先として動作することが可能である。
制御部48は、例えば、CPUと、プログラムおよび各種のデータを記憶しているROMと、CPUの作業領域として用いられるRAMとを備えている。CPUは、ROMまたは記憶部47に記憶されているプログラムを実行する。
図1に示す画像形成装置50および60の構成は、画像形成装置40の構成と同様であるので、説明を省略する。
次に、プルプリントシステム10の動作について説明する。
まず、プルプリント用の印刷データの記憶先が設定される場合の印刷データ送信装置30の動作について説明する。
印刷データ送信装置30は、プルプリント用の印刷データの記憶先の設定の開始が操作部31を介して利用者から指示されると、図5に示す動作を実行する。
図5は、プルプリント用の印刷データの記憶先が設定される場合の印刷データ送信装置30の動作のフローチャートである。
図5に示すように、ポートモニター35aは、プルプリント用の印刷データの記憶先を設定するための図6に示す記憶先設定画面70を表示部32に表示する(S101)。
図6に示す記憶先設定画面70は、第1の記憶先としてのプライマリー(Primary)サーバーの設定のためのプライマリーサーバー設定画面71と、第2の記憶先としてのセカンダリー(Secondary)サーバーの設定のためのセカンダリーサーバー設定画面72(図7参照。)を表示させるためのタブ72aと、設定を完了するためのOKボタン73とを含んでいる。記憶先設定画面70は、図6に示す状態でタブ72aが押されると、図7に示す状態に遷移する。
図7に示す記憶先設定画面70は、プライマリーサーバー設定画面71(図6参照。)を表示させるためのタブ71aと、セカンダリーサーバー設定画面72と、設定を完了するためのOKボタン73とを含んでいる。記憶先設定画面70は、図7に示す状態でタブ71aが押されると、図6に示す状態に遷移する。
図6に示すプライマリーサーバー設定画面71は、プライマリーサーバーのタイプ(Type)が指定されるためのドロップダウンリスト71bを含んでいる。ドロップダウンリスト71bにおいて選択可能な値は、「サーバー」、「デバイス」および「デバイスクラスター」である。ここで、サーバー20(図1参照。)は、ドロップダウンリスト71bにおいて「サーバー」が選択されることによってプライマリーサーバーとして指定されることが可能である。また、画像形成装置40、50または60(図1参照。)は、ドロップダウンリスト71bにおいて「デバイス」が選択されることによってプライマリーサーバーとして指定されることが可能である。また、複数の画像形成装置の集団は、ドロップダウンリスト71bにおいて「デバイスクラスター」が選択されることによってプライマリーサーバーとして指定されることが可能である。
プライマリーサーバー設定画面71は、ドロップダウンリスト71bの値によって、ドロップダウンリスト71bより下部の表示内容が変化する。
図6に示すプライマリーサーバー設定画面71は、ドロップダウンリスト71bにおいて「サーバー(Server)」が選択されている。プライマリーサーバー設定画面71は、ドロップダウンリスト71bにおいて「サーバー」が選択されている場合、プライマリーサーバーとして機能するサーバーのIP(Internet Protocol)アドレスが入力されるためのテキストボックス71cと、テキストボックス71cにおいて指定されたサーバーにおけるキュー(Queue)名が入力されるためのテキストボックス71dとを含んでいる。
ドロップダウンリスト71bにおいて「サーバー」が選択されている場合、プライマリーサーバーは、テキストボックス71cにおいて指定されたサーバーと、テキストボックス71dにおいて指定されたキュー名との組み合わせによって特定される。
なお、ドロップダウンリスト71bにおいて「サーバー」が選択されて特定されたプライマリーサーバーは、印刷データの送信の際に使用される通信プロトコルとしてLPR(Line Printer daemon protocol)が使用されることが想定されている。ここで、LPRは、ポート番号が定まっている。したがって、図6に示すプライマリーサーバー設定画面71においては、ポート番号が設定されるようになっていない。しかしながら、ドロップダウンリスト71bにおいて「サーバー」が選択されて特定されたプライマリーサーバーが通信プロトコルとしてLPR以外のプロトコルが使用される場合には、図6に示すプライマリーサーバー設定画面71は、ポート番号が入力されるためのテキストボックスを含んでいても良い。
以上においては、プライマリーサーバー設定画面71について説明しているが、セカンダリーサーバー設定画面72についても同様に、セカンダリーサーバーとして「サーバー」が指定されることが可能である。
図7に示すセカンダリーサーバー設定画面72は、セカンダリーサーバーのタイプ(Type)が指定されるためのドロップダウンリスト72bを含んでいる。ドロップダウンリスト72bにおいて選択可能な値は、「サーバー」、「デバイス」および「デバイスクラスター」である。ここで、サーバー20(図1参照。)は、ドロップダウンリスト72bにおいて「サーバー」が選択されることによってセカンダリーサーバーとして指定されることが可能である。また、画像形成装置40、50または60(図1参照。)は、ドロップダウンリスト72bにおいて「デバイス」が選択されることによってセカンダリーサーバーとして指定されることが可能である。また、複数の画像形成装置の集団は、ドロップダウンリスト72bにおいて「デバイスクラスター」が選択されることによってセカンダリーサーバーとして指定されることが可能である。
セカンダリーサーバー設定画面72は、ドロップダウンリスト72bの値によって、ドロップダウンリスト72bより下部の表示内容が変化する。
図7に示すセカンダリーサーバー設定画面72は、ドロップダウンリスト72bにおいて「デバイス(Device)」が選択されている。セカンダリーサーバー設定画面72は、ドロップダウンリスト72bにおいて「デバイス」が選択されている場合、セカンダリーサーバーとして機能する画像形成装置のIPアドレスが入力されるためのテキストボックス72cと、テキストボックス72cにおいて指定された画像形成装置におけるポート番号が入力されるためのテキストボックス72eとを含んでいる。なお、ドロップダウンリスト72bにおいて「デバイス」が選択されて特定されたセカンダリーサーバーは、印刷データの送信の際に使用される通信プロトコルとしてRAWが使用されることが想定されている。
以上においては、セカンダリーサーバー設定画面72について説明しているが、プライマリーサーバー設定画面71についても同様に、プライマリーサーバーとして「デバイス」が指定されることが可能である。
図8に示すプライマリーサーバー設定画面71は、ドロップダウンリスト71bにおいて「デバイスクラスター(Device Cluster)」が選択されている。プライマリーサーバー設定画面71は、ドロップダウンリスト71bにおいて「デバイスクラスター」が選択されている場合、プライマリーサーバーとして機能する集団に含まれる画像形成装置のIPアドレスが入力されるためのテキストボックス71fと、テキストボックス71fにおいて指定された画像形成装置におけるポート番号が入力されるためのテキストボックス71gとを、画像形成装置毎に含んでいる。なお、ドロップダウンリスト71bにおいて「デバイスクラスター」が選択されて特定されたプライマリーサーバーは、印刷データの送信の際に使用される通信プロトコルとしてRAWが使用されることが想定されている。
また、プライマリーサーバー設定画面71は、ドロップダウンリスト71bにおいて「デバイスクラスター」が選択されている場合、プライマリーサーバーとして機能する集団に含まれる画像形成装置を新たに追加するための追加ボタン71hを含んでいる。追加ボタン71hが押されると、新たな画像形成装置用のテキストボックス71fおよびテキストボックス71gがプライマリーサーバー設定画面71に追加される。
以上においては、プライマリーサーバー設定画面71について説明しているが、セカンダリーサーバー設定画面72についても同様に、セカンダリーサーバーとして「デバイスクラスター」が指定されることが可能である。
以上に説明したように、記憶先設定画面70においては、プライマリーサーバーおよびセカンダリーサーバーの組み合わせとして、プライマリーサーバーがサーバーであってセカンダリーサーバーもサーバーである組み合わせと、プライマリーサーバーがサーバーであってセカンダリーサーバーが画像形成装置である組み合わせと、プライマリーサーバーがサーバーであってセカンダリーサーバーが複数の画像形成装置の集団である組み合わせと、プライマリーサーバーが画像形成装置であってセカンダリーサーバーがサーバーである組み合わせと、プライマリーサーバーが画像形成装置であってセカンダリーサーバーも画像形成装置である組み合わせと、プライマリーサーバーが画像形成装置であってセカンダリーサーバーが複数の画像形成装置の集団である組み合わせと、プライマリーサーバーが複数の画像形成装置の集団であってセカンダリーサーバーがサーバーである組み合わせと、プライマリーサーバーが複数の画像形成装置の集団であってセカンダリーサーバーが画像形成装置である組み合わせと、プライマリーサーバーが複数の画像形成装置の集団であってセカンダリーサーバーも複数の画像形成装置の集団である組み合わせとが設定可能である。
図5に示すように、ポートモニター35aは、S101の処理の後、記憶先設定画面70におけるOKボタン73が押されたと判断するまで、OKボタン73が押されたか否かを判断する(S102)。
ポートモニター35aは、OKボタン73が押されたとS102において判断すると、記憶先設定画面70において入力されたプライマリーサーバーおよびセカンダリーサーバーの各種の設定の内容を記憶部34に記憶させて(S103)、図5に示す動作を終了する。
次に、プルプリント用の印刷データを送信する場合の印刷データ送信装置30の動作について説明する。
制御部35は、プルプリント用の印刷データの送信が操作部31を介して指示されると、プルプリント用の印刷データをプリンタードライバー34aによって生成し、生成した印刷データの送信をプリンタードライバー34aによってポートモニター35aに依頼する。したがって、ポートモニター35aは、図5に示す動作によって設定された内容に基づいて、プルプリント用の印刷データを送信する。
なお、プリンタードライバー34aは、印刷データを生成する場合に、利用者の認証をサーバー20に依頼し、サーバー20によって認証された利用者の印刷権限の情報(以下「権限情報」と言う。)をサーバー20から取得し、取得した権限情報に基づいて印刷データを生成する。ここで、プリンタードライバー34aは、サーバー20によって利用者が認証された場合、利用者の認証に使用した情報(以下「認証用情報」と言う。)を記憶部34に記憶しておく。また、プリンタードライバー34aは、利用者の権限情報をサーバー20から取得した場合、取得した権限情報を利用者毎に記憶部34に記憶しておく。そして、プリンタードライバー34aは、サーバー20との通信に失敗する場合、記憶部34に記憶しておいた認証用情報に基づいて利用者の認証を自ら実行し、認証した利用者の権限情報を記憶部34から取得する。
プルプリント用の印刷データの送信の一例として、プライマリーサーバーがサーバー20であって、セカンダリーサーバーが画像形成装置40である場合にプルプリント用の印刷データを送信するときのポートモニター35aの動作について説明する。
図9は、プライマリーサーバーがサーバー20であって、セカンダリーサーバーが画像形成装置40である場合にプルプリント用の印刷データを送信するときのポートモニター35aの動作のシーケンス図である。
図9に示すように、ポートモニター35aは、プライマリーサーバーとしてのサーバー20に、サーバー20の状態を確認する(S131)。したがって、サーバー20は、印刷データ送信装置30との接続が正常である場合に、サーバー20の状態をポートモニター35aに通知する(S132)。
ポートモニター35aは、S131の処理の後、サーバー20の状態がS132において通知されて来た場合、すなわち、サーバー20と、印刷データ送信装置30との接続状態が正常である場合、ジョブ、すなわち、プルプリント用の印刷データを、ログイン中の利用者の識別情報(以下「利用者ID」と言う。)に関連付けてサーバー20に送信して(S133)、図9に示す動作を終了する。したがって、サーバー20の制御部25は、ポートモニター35aから送信されて来た印刷データを、この印刷データに関連付けられてポートモニター35aから送信されて来た利用者IDに関連付けて、印刷データ24aとして記憶する。
ポートモニター35aは、S131の処理の後、サーバー20の状態がS132において通知されて来なかった場合、すなわち、サーバー20と、印刷データ送信装置30との接続状態が異常である場合、セカンダリーサーバーとしての画像形成装置40に、画像形成装置40の状態を確認する(S134)。したがって、画像形成装置40は、印刷データ送信装置30との接続が正常である場合に、画像形成装置40の状態をポートモニター35aに通知する(S135)。ここで、画像形成装置40がポートモニター35aに通知する状態には、記憶部47の記憶容量の残量と、他の装置との現在の接続数と、アイドル状態か否かとが含まれる。
ポートモニター35aは、S135の処理の後、画像形成装置40の状態がS135において通知されて来た場合、すなわち、印刷データ送信装置30と、画像形成装置40との接続状態が正常である場合、ジョブ、すなわち、プルプリント用の印刷データを、ログイン中の利用者の利用者IDに関連付けて画像形成装置40に送信して(S136)、図9に示す動作を終了する。したがって、画像形成装置40の制御部48は、ポートモニター35aから送信されて来た印刷データを、この印刷データに関連付けられてポートモニター35aから送信されて来た利用者IDに関連付けて、印刷データ47aとして記憶する。
ポートモニター35aは、S135の処理の後、画像形成装置40の状態がS135において通知されて来なかった場合、すなわち、印刷データ送信装置30と、画像形成装置40との接続状態が異常である場合、プルプリント用の印刷データの送信を中止して、図9に示す動作を終了する。
プルプリント用の印刷データの送信の一例として、プライマリーサーバーが画像形成装置40、50および60の集団である場合にプルプリント用の印刷データを送信するときのポートモニター35aの動作について説明する。
図10は、プライマリーサーバーが画像形成装置40、50および60の集団である場合にプルプリント用の印刷データを送信するときのポートモニター35aの動作のシーケンス図である。
図10に示すように、ポートモニター35aは、プライマリーサーバーとしての画像形成装置40、50および60の集団のうち画像形成装置40に、画像形成装置40の状態を確認する(S161)。したがって、画像形成装置40は、印刷データ送信装置30との接続が正常である場合に、画像形成装置40の状態をポートモニター35aに通知する(S162)。ここで、画像形成装置40がポートモニター35aに通知する状態には、記憶部47の記憶容量の残量と、他の装置との現在の接続数と、アイドル状態か否かとが含まれる。
ポートモニター35aは、S162の処理の後、プライマリーサーバーとしての画像形成装置40、50および60の集団のうち画像形成装置50に、画像形成装置50の状態を確認する(S163)。したがって、画像形成装置50は、印刷データ送信装置30との接続が正常である場合に、画像形成装置50の状態をポートモニター35aに通知する(S164)。ここで、画像形成装置50がポートモニター35aに通知する状態には、画像形成装置50の記憶部の記憶容量の残量と、他の装置との現在の接続数と、アイドル状態か否かとが含まれる。
ポートモニター35aは、S164の処理の後、プライマリーサーバーとしての画像形成装置40、50および60の集団のうち画像形成装置60に、画像形成装置60の状態を確認する(S165)。したがって、画像形成装置60は、印刷データ送信装置30との接続が正常である場合に、画像形成装置60の状態をポートモニター35aに通知する(S166)。ここで、画像形成装置60がポートモニター35aに通知する状態には、画像形成装置60の記憶部の記憶容量の残量と、他の装置との現在の接続数と、アイドル状態か否かとが含まれる。
ポートモニター35aは、S166の処理の後、画像形成装置40、50および60の集団のうち、プルプリント用の印刷データの記憶先として最適な画像形成装置を、S162において画像形成装置40から通知されて来た画像形成装置40の状態と、S164において画像形成装置50から通知されて来た画像形成装置50の状態と、S166において画像形成装置60から通知されて来た画像形成装置60の状態とに基づいて選択する(S167)。
図11は、最適な画像形成装置を選択する場合のポートモニター35aの動作のフローチャートである。
ポートモニター35aは、図10におけるS167の処理において、図11に示す動作を実行する。
図11に示すように、ポートモニター35aは、画像形成装置40、50および60の集団の全体を対象の範囲にする(S201)。
次いで、ポートモニター35aは、S162において画像形成装置40から通知されて来た画像形成装置40の状態と、S164において画像形成装置50から通知されて来た画像形成装置50の状態と、S166において画像形成装置60から通知されて来た画像形成装置60の状態とに基づいて、対象の範囲のうち記憶部の記憶容量の残量が最も大きい画像形成装置を対象の画像形成装置とする(S202)。
次いで、ポートモニター35aは、S162において画像形成装置40から通知されて来た画像形成装置40の状態と、S164において画像形成装置50から通知されて来た画像形成装置50の状態と、S166において画像形成装置60から通知されて来た画像形成装置60の状態とに基づいて、対象の画像形成装置において他の装置との現在の接続数が上限に達しているか否かを判断する(S203)。
ポートモニター35aは、上限に達していないとS203において判断すると、S162において画像形成装置40から通知されて来た画像形成装置40の状態と、S164において画像形成装置50から通知されて来た画像形成装置50の状態と、S166において画像形成装置60から通知されて来た画像形成装置60の状態とに基づいて、対象の画像形成装置がアイドル状態か否かを判断する(S204)。
ポートモニター35aは、上限に達しているとS203において判断するか、アイドル状態ではないとS204において判断すると、対象の範囲から対象の画像形成装置を除外して新たな対象の範囲を決定し(S205)、決定した新たな対象の範囲に画像形成装置が残っているか否かを判断する(S206)。
ポートモニター35aは、新たな対象の範囲に画像形成装置が残っているとS206において判断すると、新たな対象の範囲について再びS202の処理を実行する。
ポートモニター35aは、新たな対象の範囲に画像形成装置が残っていないとS206において判断すると、図11に示す動作を終了する。
ポートモニター35aは、対象の画像形成装置がアイドル状態であるとS204において判断すると、対象の画像形成装置を最適な画像形成装置として選択して(S207)、図11に示す動作を終了する。
例えば、アイドル状態の画像形成装置40の記憶部47の記憶容量の残量、他の装置との現在の接続数がそれぞれ150MB、4であって、アイドル状態の画像形成装置50の記憶部の記憶容量の残量、他の装置との現在の接続数がそれぞれ769MB、2であって、アイドル状態の画像形成装置60の記憶部の記憶容量の残量、他の装置との現在の接続数がそれぞれ901MB、10である場合について説明する。画像形成装置40、50および60は、何れも他の装置との接続数の上限が10であるとする。ポートモニター35aは、図11に示す動作において、まず、画像形成装置40、50および60の集団のうち、記憶部の記憶容量の残量が最も大きい画像形成装置60を対象の画像形成装置とする(S202)。しかしながら、ポートモニター35aは、画像形成装置60における他の装置との現在の接続数が上限値10に達している(S203でYES)ので、画像形成装置60を除外した画像形成装置40および50のうち、記憶部の記憶容量の残量が最も大きい画像形成装置50を対象の画像形成装置とする(S202)。そして、ポートモニター35aは、画像形成装置50における他の装置との現在の接続数が上限値10に達しておらず(S203でNO)、画像形成装置50がアイドル状態である(S204でYES)ので、画像形成装置50を最適な画像形成装置として選択する(S207)。
図10に示すように、ポートモニター35aは、S167において例えば画像形成装置50が最適な画像形成装置として選択された場合、ジョブ、すなわち、プルプリント用の印刷データを、ログイン中の利用者の利用者IDに関連付けて画像形成装置50に送信して(S168)、図10に示す動作を終了する。したがって、画像形成装置50の制御部は、ポートモニター35aから送信されて来た印刷データを、この印刷データに関連付けられてポートモニター35aから送信されて来た利用者IDに関連付けて、画像形成装置50の記憶部に記憶する。
なお、ポートモニター35aは、S167において最適な画像形成装置が選択されなかった場合、プルプリント用の印刷データの送信を中止して、図10に示す動作を終了する。
次に、プルプリント用の印刷データに基づいて印刷を実行する場合のプルプリントシステム10の動作について説明する。
ここで、ネットワーク12(図1参照。)に所属する複数の画像形成装置のうち1つは、ネットワーク12に所属する画像形成装置に記憶されているプルプリント用の印刷データを全て管理しているマスター(Master)デバイスである。以下、画像形成装置40がマスターデバイスであるものとして説明する。画像形成装置50、60など、ネットワーク12に所属する画像形成装置は、プルプリント用の印刷データを記憶する場合、印刷データに関連付けられた利用者IDと、印刷データの識別情報としてのジョブIDと、画像形成装置自身の識別情報としてのデバイスIDとを互いに関連付けてマスターデバイスとしての画像形成装置40に送信する。したがって、画像形成装置40は、図12に示すようなリスト80を記憶部47に記憶することができる。なお、図12において、デバイスIDの「1」、「2」、「3」は、それぞれ、画像形成装置40、50、60に対応している。
以下、プルプリント用の印刷データに基づいて画像形成装置60が印刷を実行する場合のプルプリントシステム10の動作について説明する。
画像形成装置60は、画像形成装置60の操作部を介して利用者情報が入力されると、利用者の認証をサーバー20に依頼し、サーバー20によって認証された利用者の権限情報をサーバー20から取得し、取得した権限情報に基づいた印刷のみを許可する。
図13は、プルプリント用の印刷データに基づいて画像形成装置60が印刷を実行する場合のプルプリントシステム10の動作のシーケンス図である。
図13に示すように、画像形成装置60は、サーバー20によって利用者が認証されると、サーバー20によって認証された利用者の利用者IDをマスターデバイスとしての画像形成装置40に送信することによって、利用者のジョブのリストを画像形成装置40に要求する(S231)。したがって、画像形成装置40は、図12に示すリスト80のうち、S231において送信されて来た利用者IDに対応するジョブのリスト90(図14参照。)を画像形成装置60に返信する(S232)。図14に示すリスト90は、利用者IDが「001」である場合のリストである。
画像形成装置60は、S232において返信されて来たリスト90を画像形成装置60の表示部に表示し、画像形成装置60の操作部を介してジョブが選択されると、選択されたジョブのジョブIDをマスターデバイスとしての画像形成装置40に送信することによって、ジョブの送信を画像形成装置40に要求する(S233)。以下、ジョブID「035」のジョブの送信が要求されたものとして説明する。画像形成装置40は、S233において要求されたジョブのジョブID「035」と、リスト80とに基づいて、ジョブID「035」のジョブがデバイスID「2」の画像形成装置、すなわち、画像形成装置50に記憶されていることを認識し、ジョブID「035」のジョブを画像形成装置60に送信することを画像形成装置50に要求する(S234)。したがって、画像形成装置50は、ジョブID「035」のジョブ、すなわちプルプリント用の印刷データを画像形成装置50の記憶部から読み出して、画像形成装置60に送信する(S235)。
画像形成装置60は、S235においてジョブID「035」のジョブに対応する印刷データが送信されて来ると、送信されて来た印刷データに基づいて画像形成装置60のプリンターによって印刷して(S236)、図13に示す動作を終了する。
以上においては、画像形成装置によって記憶されていたプルプリント用の印刷データの印刷について説明したが、利用者は、サーバー20によって記憶されていたプルプリント用の印刷データの印刷についても同様に実行することが可能である。ただし、サーバー20は、プルプリント用の印刷データに基づいて画像形成装置60が印刷を実行する場合、サーバー20自身が記憶している印刷データのリストのみを画像形成装置60に返信する。
また、以上においては、画像形成装置60からの印刷について説明したが、利用者は、画像形成装置40、50など、画像形成装置60以外の画像形成装置からでも同様に印刷を実行することが可能である。
以上に説明したように、印刷データ送信装置30は、複数の記憶先のそれぞれの特定の状態と、特定の状態に関する特定の条件とに基づいて、複数の記憶先から、プルプリント用の印刷データを実際に送信する記憶先を選択する(S167)ので、記憶先への印刷データの送信が失敗する可能性を低減することができ、可用性を向上することができる。
印刷データ送信装置30は、記憶容量の残量が大きい記憶先を、プルプリント用の印刷データを実際に送信する記憶先として優先的に選択する(S202)ので、記憶先への印刷データの送信が失敗する可能性を低減することができ、可用性を向上することができる。また、印刷データ送信装置30は、記憶容量の残量が大きい記憶先を、プルプリント用の印刷データを実際に送信する記憶先として優先的に選択するので、プルプリント用の印刷データを記憶するための記憶容量の負担を、複数の記憶先の間で適切に分配することができ、複数の記憶先の能力を最大限に活用することができる。
印刷データ送信装置30は、他の装置との現在の接続数が上限に達していない記憶先を、プルプリント用の印刷データを実際に送信する記憶先として優先的に選択する(S203でNO)ので、記憶先への印刷データの送信が失敗する可能性を低減することができ、可用性を向上することができる。
印刷データ送信装置30は、アイドル状態の記憶先を、プルプリント用の印刷データを実際に送信する記憶先として優先的に選択する(S204でYES)ので、記憶先への印刷データの送信が失敗する可能性を低減することができ、可用性を向上することができる。
印刷データ送信装置30は、プルプリント用の印刷データの記憶先が印刷データ送信装置30と同一のネットワーク12に所属する場合、印刷データ送信装置30と、記憶先との間に通信エラーが発生する可能性を低減することができ、可用性を向上することができる。また、印刷データ送信装置30は、プルプリント用の印刷データの記憶先が印刷データ送信装置30と同一のネットワーク12に所属する場合、ネットワーク12内のみでプルプリント用の印刷データの記憶先と通信可能であるので、ネットワーク12と、他のネットワークとの間のネットワーク帯域幅が広くなくても良いし、ネットワーク12と、他のネットワークとの間の接続の信頼性が高くなくても良い。特に、印刷データ送信装置30は、プルプリント用の印刷データの記憶先が印刷データ送信装置30と同一のネットワーク12にのみ所属する場合、ネットワーク12と、ネットワーク11との間の通信量を低減することができる。
印刷データ送信装置30は、プルプリント用の印刷データの記憶先が画像形成装置である場合、プルプリント用の印刷データを記憶する専用のサーバーを記憶先として用意する必要がないので、簡単な構成で可用性の高いプルプリントを実現することができる。