以下、図面に基づいて、本発明の好適な実施の形態について説明する。
図1は、本発明に係るジョブ実行システムの一実施の形態である印刷システムを示した全体構成図である。本実施の形態では、本発明に係るジョブ実行システムを、オンデマンドプリント機能を提供する印刷システムに適用した場合を例にして説明する。
図1には、携帯端末装置(以下、単に「携帯端末」)10と、例えば事務所内に設置されたオンデマンドプリントシステム20とが示されている。携帯端末10は、事務所に在籍する従業員等に携帯され、例えば、スマートホン、携帯電話、PDA、タブレット型携帯端末などの携帯型の情報機器である。本実施の形態では、スマートホンの利用を想定して説明する。携帯端末10には、オンデマンドプリントシステム20が提供するオンデマンドプリント機能を利用するために必要な印刷アプリケーションプログラムがインストールされている。オンデマンドプリントシステム20は、事務所内に設置されるネットワークシステムであり、無線ルータ21、認証サーバ22、事務所内に散在配置されている複数台のプリンタ23、1又は複数台のクライアントPC24及びプリントサーバ25をネットワーク26にて接続して構成される。無線ルータ21は、事務所内に設置され、携帯端末10を回線接続してプリントサーバ25との間で通信を行わせる。認証サーバ22は、オンデマンドプリントシステム20の利用を開始しようとするユーザの認証を行うサーバコンピュータである。プリンタ23は、プリントサーバ25からの指示に応じて印刷を実行する。本実施の形態では、印刷の実行をユーザが指示できるように操作パネルをユーザインターフェース手段として搭載し、印刷機能を少なくとも有する画像形成装置でプリンタ23を実現することを想定している。クライアントPC24は、従業員が利用するコンピュータであり、ジョブをプリントサーバ25にいったん蓄積するために用いられる。従業員は、自分の座席など所定の位置に設置されたクライアントPC24と自己が携帯している携帯端末10との双方を使用する。プリントサーバ25は、オンデマンドプリント機能を実現するサーバコンピュータである。プリントサーバ25は、ジョブ実行制御装置に相当し、クライアントPC24から送信されてくる印刷ジョブ(以下、単に「ジョブ」と称する)をいったん蓄積し、その後、蓄積されたジョブの中からユーザにより選択されたジョブの実行要求が送られてくると、ユーザにより指定されたプリンタ23に、当該ジョブを実行させる。なお、本実施の形態では、各ユーザは自己がプリントサーバ25に登録したジョブに対しのみジョブの実行要求ができるものとして説明する。
図2は、本実施の形態における携帯端末10に搭載されたコンピュータのハードウェア構成図である。携帯端末10に搭載されたコンピュータは、従前から存在する汎用的なハードウェア構成で実現できる。すなわち、コンピュータは、図2に示したようにCPU1、ROM2、RAM3、ハードディスクドライブ(HDD)4を接続したHDDコントローラ5、表示手段として設けられたディスプレイ6を接続し、またディスプレイ6にボタン等の入力インタフェースを表示させる入出力コントローラ7、通信手段として設けられたネットワークコントローラ8を内部バス9に接続して構成される。
図3は、本実施の形態におけるプリントサーバ25を形成するサーバコンピュータのハードウェア構成図である。本実施の形態においてプリントサーバ25を形成するサーバコンピュータは、従前から存在する汎用的なハードウェア構成で実現できる。すなわち、コンピュータは、図3に示したようにCPU31、ROM32、RAM33、ハードディスクドライブ(HDD)34を接続したHDDコントローラ35、入力手段として設けられたマウス36とキーボード37、及び表示装置として設けられたディスプレイ38をそれぞれ接続する入出力コントローラ39、通信手段として設けられたネットワークコントローラ40を内部バス41に接続して構成される。
なお、認証サーバ22及びクライアントPC24はコンピュータであることから、そのハードウェア構成は、図3と同じように図示することができる。
図4は、本実施の形態における印刷システムのブロック構成図である。なお、本実施の形態の説明に不要な構成要素については図から省略している。
携帯端末10は、ログイン処理部101、プリンタ指定部102、予約処理部103及び実行要求制御部104を有している。ログイン処理部101は、オンデマンドプリントシステム20に対するログイン処理を実行する。プリンタ指定部102は、ジョブを実行させるプリンタ23を指定する。予約処理部103は、プリントサーバ25のジョブ蓄積部256に蓄積されているジョブの中から、ユーザにより指定された当該ユーザのジョブの実行要求を送信する送信手段として機能し、ジョブの実行要求を送信することでジョブの実行を予約する予約処理を行う。本実施の形態におけるプリンタ23は、ジョブを1つずつ順番に処理していくが、携帯端末10若しくはプリンタ23の操作パネルからジョブの実行が要求されたときに、ジョブの実行先として指定されたプリンタ23においてジョブが実行されていなければ、そのジョブは即時に実行される。しかし、そのプリンタ23においてジョブが実行されている場合は、その要求されたジョブは、即時に実行されずに待機中としてプリントサーバ25に受け付けられる。このように、即座に実行されなくても、そのジョブの実行要求を再度行う必要はなく、そのジョブはプリントサーバ25に受け付けられ待機状態になるので、本実施の形態では、この予約処理部103が行うジョブの実行要求を「予約」と称している。実行要求制御部104は、予約処理部103によるジョブの実行要求(予約)に応じてプリントサーバ25から返信されてきた、当該ジョブの実行要求を確認する確認情報をディスプレイ6に表示する表示手段として、更にディスプレイ6に表示された確認情報に応じたユーザによる確認操作に従い実行指示をプリントサーバ25へ返信する返信手段として、機能する。
携帯端末10における各構成要素101〜104は、携帯端末10に搭載されたコンピュータと、コンピュータに搭載されたCPU1で動作するプログラムとの協調動作により実現される。
プリントサーバ25は、ログインユーザ取得部251、プリンタ特定部252、予約受付部253、ジョブ実行制御部254、ジョブ管理部255、ジョブ蓄積部256、予約ジョブリスト記憶部257及びユーザ情報記憶部258を有している。ログインユーザ取得部251は、オンデマンドプリントシステム20にログインしたユーザを識別する情報としてユーザID、更に当該ユーザが使用している携帯端末10のIPアドレスを含むログイン情報を認証サーバ22から取得し、取得したログイン情報をユーザ情報記憶部258に登録する。プリンタ特定部252は、オンデマンドプリントシステム20に含まれているプリンタ23の中からユーザが印刷を実行させるプリンタとして指定したプリンタ23を特定し、プリンタ名などその特定したプリンタ23を識別する情報を当該ユーザのユーザIDに対応付けてユーザ情報記憶部258に登録する。
予約受付部253は、ジョブ蓄積部256に蓄積されているジョブの中から、プリンタ23の操作パネルを用いてユーザにより選択されたジョブの実行要求を受け付ける受付手段として機能する。予約受付部253は、更に1又は複数の携帯端末10により選択されたジョブの実行要求をネットワークを介して受け付ける。実行要求されたジョブに関する情報は、プリンタ23毎に設けられた予約ジョブリストテーブルに登録される。予約ジョブリストテーブルは、予約ジョブリスト記憶部257に記憶される。ジョブ実行制御部254は、実行制御手段として機能し、予約受付部253により受け付けられた実行要求に応じて当該ジョブを、ユーザにより指定されたプリンタ23に実行させるなど他の構成要素と連係してプリントサーバ25におけるジョブの実行のための全体制御を行う。ジョブ実行制御部254は、また、確認情報に応じて実行指示が返信されてきたときの状況が予め決められた実行条件を満たしている稼動かを判定する条件判定部259を有している。ジョブ管理部255は、登録要求のあったジョブを受け付け、ジョブ蓄積部256に登録することで、まだ実行されていないジョブをいったん蓄積する。予約ジョブリスト記憶部257には、ジョブ蓄積部256に蓄積されているジョブのうち予約受付部253により受け付けられたジョブに関する情報がプリンタ23毎に登録される。なお、本実施の形態では、予約ジョブリスト記憶部257とジョブ蓄積部256とを別個の記憶手段としたが、予約ジョブリストに指定されたプリンタを設定するデータ項目を付加するなどして1つの記憶手段に統合してもよい。
プリントサーバ25における各構成要素251〜255は、プリントサーバ25を形成するコンピュータと、コンピュータに搭載されたCPU31で動作するプログラムとの協調動作により実現される。また、各記憶手段256〜258は、HDD34にて実現される。
認証サーバ22は、携帯端末10からのログイン要求に応じてユーザ認証を行うユーザ認証部221と、認証が成功したことをプリントサーバ25に通知するログインユーザ通知部222と、を有している。ユーザ認証部221及びログインユーザ通知部222は、認証サーバ22を形成するコンピュータと、コンピュータに搭載されたCPUで動作するプログラムとの協調動作により実現される。なお、図示していないが、認証サーバ22は、携帯端末10のみならずクライアントPC24を利用するユーザの認証も行う。
クライアントPC24は、ユーザ操作に応じて登録処理を実行することで、実行対象とするジョブをプリントサーバ25に蓄積させるジョブ登録部241を有している。ジョブ登録部241は、クライアントPC24を形成するコンピュータと、コンピュータに搭載されたCPUで動作するプログラムとの協調動作により実現される。
また、本実施の形態で用いるプログラムは、通信手段により提供することはもちろん、CD−ROMやDVD−ROM、microSD等のコンピュータ読み取り可能な記録媒体に格納して提供することも可能である。通信手段や記録媒体から提供されたプログラムはコンピュータにインストールされ、コンピュータのCPUがプログラムを順次実行することで各種処理が実現される。
オンデマンドプリントにおいては、ユーザがクライアントPC24からジョブをプリントサーバ25にいったん蓄積しておく。その後、印刷に利用したいプリンタ23の操作パネルを操作し、プリントサーバ25に蓄積した自分のジョブの中から印刷対象とするジョブを選択し、印刷を指示する。プリントサーバ25は、その選択、印刷指示操作に応じて蓄積していたジョブを当該プリンタ23に実行させる。本実施の形態においては、このような印刷処理(ジョブの実行要求)を携帯端末10からでもできるようにしたことを特徴としている。ただ、操作パネル又は携帯端末10から複数のジョブの実行要求が発せられても、各プリンタ23は、1つのジョブしか同時には実行できない。従って、ジョブの実行制御が必要になってくる。
次に、本実施の形態における動作について説明する。
まず、携帯端末10をオンデマンドプリントシステム20で利用できるようにするために、ユーザは、携帯端末10からオンデマンドプリントシステム20にログインする必要がある。このために、ユーザは所定の操作をすることでログイン処理部101を起動させる。ログイン処理部101は、起動されると、図示しないログイン画面をディスプレイ6に表示し、ユーザにログインに必要な認証情報として、ユーザIDとパスワードを入力させる。ユーザIDとして、本実施の形態では、ユーザ名を入力させる。ログイン処理部101は、この入力された認証情報を受け付けると、当該携帯端末10を特定する情報としてIPアドレスと共に認証サーバ22へ送信する。なお、IPアドレスは、認証成功後に別途送らせるようにしてもよい。
認証情報が送られてくると、認証サーバ22におけるユーザ認証部221は、その認証情報を参照してユーザ認証を行う。認証に成功すると、その旨を携帯端末10に通知する。また、ログインユーザ通知部222は、ログインに成功したユーザID及び携帯端末10のIPアドレスをログイン情報としてプリントサーバ25へ送信する。
ログイン情報が認証サーバ22から送られてくると、ログインユーザ取得部251は、そのログイン情報を取得し、そのログイン情報に含まれているユーザ名とIPアドレスとを対応付けてユーザ情報記憶部258に登録する。なお、登録された情報は、当該ユーザのログアウト時に削除される。
ログインユーザ取得部251がログイン情報を取得すると、プリンタ特定部252は、続いて、内部に保持するプリンタ23の管理情報を参照して、オンデマンドプリントシステム20に含まれているプリンタ23、あるいは当該ユーザの使用が許可されている1又は複数のプリンタ23を特定し、ユーザ情報記憶部258を参照してIPアドレスから特定される当該ユーザ使用の携帯端末10宛に、その特定したプリンタ23を含むプリンタリストを送信する。
ログイン後、プリントサーバ25からプリンタリストが送信されてくると、プリンタ指定部102は、そのプリンタリストをディスプレイ6に表示する。そして、表示された一覧の中からユーザが印刷に利用したいプリンタ23を選択すると、プリンタ指定部102は、その選択されたプリンタ23をプリントサーバ25に返信する。印刷の指示に操作パネルからする場合、プリンタ23は一意に特定されるが、携帯端末10を利用する場合、ユーザは、以上のようにして利用したいプリンタ23を指定する。
利用するプリンタ23を指定すると、続いて、ユーザは、プリントサーバ25に蓄積した自分のジョブの中から印刷対象とするジョブを選択し、その選択したジョブの実行をプリントサーバ25に要求することになる。なお、ジョブの実行要求は、操作パネルからでも行われるが、操作パネルからの要求指示操作は従来と同じでよいため、ここでは1又は複数の携帯端末10から行われた場合に限定して説明する。
利用するプリンタ23がユーザにより指定され、指定されたプリンタ23で印刷する旨の印刷要求が携帯端末10から送られてくると、プリンタ特定部252は、そのプリンタ23をユーザIDに対応付けてユーザ情報記憶部258に登録する。これにより、ユーザが使用する携帯端末10のIPアドレスと当該ユーザが指定したプリンタ23とが対応付けられる。なお、ユーザが使用する携帯端末10のIPアドレスと当該ユーザが指定したプリンタ23とを別個の記憶手段で保持してもよい。
続いて、プリントサーバ25における予約受付部253は、ジョブ蓄積部256に蓄積されている当該ユーザのジョブの識別情報を読み出し、これを登録ジョブリストとして当該ユーザ利用の携帯端末10へ送信する。
登録ジョブリストが送られてくると、携帯端末10の予約処理部103は、この登録ジョブリストをディスプレイ6に表示する。この登録ジョブリストの画面表示例を図5(a)に示す。
図5(a)に例示した登録ジョブリストによると、ジョブの識別情報であるジョブ名51それぞれに、選択を指示するためのチェックボックス58が設けられ、このチェックボックス58を選択することにより、ジョブを選択することになる。ユーザは、この登録ジョブリストの中から、チェックボックス58を選択指示することにより、23に実行させたいジョブを決めると、予約ボタン52を選択する。この予約ボタン52の選択操作を受け付けると、予約処理部103は、その選択操作により指定されたジョブの実行要求をプリントサーバ25へ送信する。この実行要求は、前述したようにジョブの実行の「予約」と称している。実行要求には、少なくともユーザにより選択されたジョブの識別情報が含まれている。
なお、登録ジョブリストの表示画面において削除ボタン53が選択されると、チェックボックス58で選択されたジョブの削除指示要求がプリントサーバ25へ送られる。ジョブ管理部255は、その削除指示要求に応じて該当するジョブをジョブ蓄積部256から削除する。
携帯端末10から予約の指示が送られてくることにより、プリントサーバ25は、ユーザにより選択されたプリンタ23に印刷ジョブを実行させるためのジョブ実行制御処理(印刷制御処理)を開始する。以下、この印刷制御処理について図6に示したフローチャートを用いて説明する。なお、ジョブの実行制御は、プリンタ23毎に行われるので、以降の説明では、ユーザにより指定された1台のプリンタ23に着目して説明する。他のプリンタ23に対しても以下に説明する処理が同時並行して実施されることになる。
ジョブ実行制御部254は、何らかのイベントが発生することを常時監視している(ステップ101)。本実施の形態では、イベントとして携帯端末10から送られてくる実行指示の受信、キャンセル指示の受信及び予約の受け付けと、プリンタ23から送られてくるジョブの実行終了通知の受信と、を想定している。なお、エラー発生など他のイベントに関しては、本実施の形態の特徴ではないので図から省略している。
まず、予約受付部253が携帯端末10から送られきた予約を受け付けたことを認識すると(ステップ102〜104でN,ステップ105でY)、ジョブ実行制御部254は、当該プリンタ23の予約ジョブリストテーブル(以下、単に「予約テーブル」とも称する)に、その予約されたジョブに関する情報を追加する(ステップ106)。
図7は、本実施の形態における予約ジョブリスト記憶部257に記憶されている予約ジョブリストテーブルに設定される予約ジョブリストのデータ構成例を示した図である。予約ジョブリストテーブルは、プリンタ23毎に設けられ、予約受付をしたジョブに関する情報が登録される。予約ジョブリストテーブルに登録される各レコードは、ユーザID、ジョブID、プリント枚数、白黒/カラー、予約時刻及び優先度という各項目データが組にして構成される。ユーザIDは、ジョブの所有者であり実行要求者であるユーザを識別する情報である。本実施の形態では、ユーザ名を用いている。ジョブIDは、予約されたジョブを識別する情報である。プリント枚数は、ジョブを実行したときに出力される用紙の枚数である。白黒/カラーは、印刷画像がモノクロかカラーかの別を示している。以上の項目データは、ジョブ蓄積部256から得られる。予約時刻は、携帯端末10から予約を受け付けた日時情報である。そして、優先度には、予約ジョブリストテーブルにて管理されているジョブの優先順位が設定され、この優先度に従ってジョブの実行順が決定される。優先度は、ジョブ実行制御部254が決定するが、ジョブ実行制御部254は、各ジョブの優先度を、予め決められたジョブ決定基準、例えばプリント枚数や画像の色など各ジョブの出力属性に基づき決定してもよいし、ユーザに予め割り当てられている優先度に従って決定してもよい。あるいは、単にジョブの受付順でもよい。ジョブ実行制御部254は、何らかの情報、またはこれらの情報を組み合わせて優先度を決定する。このように、予約テーブルは、予約を受け付ける度に予約されたジョブが追加され、また各ジョブの優先度が適宜更新される。なお、本実施の形態においては、現在実行中のジョブにおける優先度を“1”としているので、実行中のジョブの優先度は更新されない。
図6に戻り、当該プリンタ23においていずれかのジョブが実行中であった場合(ステップ107でY)、ジョブ実行制御部254は、予約を送信した携帯端末10に対してジョブの実行待機中の旨を示す待機中情報と、予約テーブルを参照して作成した、当該プリンタ23に実行要求をしているユーザに関する情報と、を含む予約済みジョブリストを送信して、当該携帯端末10にジョブが「待機中」であることを表示させる(ステップ111)。
すなわち、プリントサーバ25から予約済みジョブリストが送られてくると、実行要求制御部104は、予約済みジョブリストをディスプレイ6に表示する。この予約済みジョブリストの画面表示例を図5(b)に示す。
図5(b)に示した例によると、予約済みジョブリスト表示画面には、ユーザが指定したプリンタ23(図5(b)の例だと「p012」で識別されるプリンタ)と、予約済みジョブリスト54と、待機中情報の送信に応じて、現在待機中であることをユーザに知らせる「待機中」というメッセージ55と、キャンセルボタン56と、が表示される。予約済みジョブリスト54には、登録されているジョブの実行順序、当該ジョブの実行要求をしたユーザ及び当該ジョブの終了予定時刻をそれぞれ特定する情報が対応付けられて表示される。予約済みジョブリスト54における先頭のジョブが現在実行中である。ユーザは、実行順序及びユーザを参照することで、自分が実行要求したジョブが何番目に処理されるのかを認識する。また、直前に実行されるジョブの終了予定時刻を参照することで、自分のジョブの実行開始予定時刻を認識する。なお、本実施の形態においては、ジョブ実行制御部254は、図7に例示した予約ジョブリストテーブルを参照して、終了予定時刻を算出し、予約済みジョブリストに実行順序、ユーザ及び終了予定時刻という項目を画面表示するようにしたが、これ以外のデータ項目を予約済みジョブリストに含めるようにしてもよい。あるいは、他のユーザに関する情報を表示させずに順番待ちの人数や終了予定時刻のみを単に知らせるようにしてもよい。
携帯端末10に表示された予約ジョブリストの終了予定時刻を参照するなどして、実行要求したジョブの実行を取り止めたい場合、ユーザは、画面に表示されているキャンセルボタン56を選択する。キャンセルボタン56の選択を検出すると、実行要求制御部104は、予約取消要求をプリントサーバ25に送信する。予約取消要求には、取消対象のジョブ又はユーザを特定する情報の少なくとも一方が含まれている。
プリントサーバ25においてイベントの発生を待っていたジョブ実行制御部254は、携帯端末10から予約取消要求が送られてきたことを認識すると(ステップ101,ステップ102でN,ステップ103でY)、予約取消要求を参照して、該当するユーザのレコードを予約テーブルから削除する(ステップ110)。なお、削除対象のジョブに関する情報をジョブ蓄積部256に再登録することで、他のプリンタ23でのジョブの実行機会を創出するようにしてもよい。
また、ジョブの予約を受け付けて、予約テーブルにそのジョブに関する情報を追加したときに(ステップ102〜104でN,ステップ105でY)、当該プリンタ23においていずれのジョブも実行されていない場合(ステップ107でN)、ジョブ実行制御部254は、最優先ユーザを決定する(ステップ108)。当該プリンタ23においていずれのジョブも実行されていないというのは、基本的には実行中のジョブが存在しないことは当然のこと、1つのジョブも当該プリンタ23の予約テーブルに登録されていない場合が相当する。また、本実施の形態においては、1台のプリンタ23に対し、一ユーザが1つのジョブしか実行要求できないようにしているので、最優先ユーザを決定するということは、次に実行すべきジョブを決定する、ということに等しい。従って、いずれのジョブも実行されていない場合においては(ステップ107でN)、実行順序を競う他のユーザは存在しないので、予約を受け付けたユーザを無条件に最優先ユーザとして決定する。
これに対し、ジョブが終了した場合には、複数のジョブが予約テーブルにまだ登録されている可能性がある。従って、ジョブの終了を検出すると(ステップ104でY)、ジョブ実行制御部254は、まず終了したジョブに関する情報を予約テーブルから削除する(ステップ112)。これに伴い、優先度を順次繰り上げる。そして、予約テーブルに残されているジョブにおいて最優先ユーザを決定することになる(ステップ108)。
ただ、本実施の形態では、各ユーザの優先度は、予約を受け付ける度に求められ、予約テーブルに設定されているので、ここでは、各ユーザの優先度を参照して、最も優先度の高いユーザ(優先度が“1”のユーザ)を選出すればよい。
以上のようにして最優先ユーザが決定されると、ジョブ実行制御部254は、最優先ユーザが使用している携帯端末10に対してジョブの実行を確認するための確認情報と、予約テーブルを参照して作成した、当該プリンタ23に実行要求をしているユーザに関する情報と、を含む予約済みジョブリストを送信して、ジョブの実行開始を確認するためにスタートボタンを当該携帯端末10に表示させる(ステップ109)。
すなわち、プリントサーバ25から予約済みジョブリストが送られてくると、実行要求制御部104は、この予約済みジョブリストをディスプレイ6に表示する。この予約済みジョブリストの画面表示例を図5(c)に示す。なお、図5において、図5(a)から図5(c)への矢印は、予約をした時点で当該プリンタ23に予約しているユーザが他にいなかった場合の画面遷移を示し、また、図5(b)から図5(c)への矢印は、予約をした時点で他のユーザのジョブが実行中であったために待機中であった状態からの画面遷移を示している。
図5(c)に示した例によると、予約済みジョブリスト表示画面には、図5(b)と同じく、指定したプリンタ23と、予約済みジョブリスト54及びキャンセルボタン56とが表示される。そして、これらの情報に加えて確認情報に基づく画面表示されたスタートボタン57と、が表示される。
この予約済みジョブリストの表示画面を見てジョブの実行を指示したいユーザは、画面に表示されているスタートボタン57を選択する。スタートボタン57の選択を検出すると、実行要求制御部104は、実行開始指示要求をプリントサーバ25に送信することでジョブの実行開始を指示する。実行開始指示要求には、実行対象のジョブ又はユーザを特定する情報の少なくとも一方が含まれている。
なお、キャンセルボタン56が選択された場合の処理は、図5(b)と同様なので説明は省略する。
プリントサーバ25においてイベントの発生を待っていたジョブ実行制御部254は、携帯端末10から実行開始指示要求が送られてきたことを認識すると(ステップ101,102でY)、続いて当該ユーザにおけるジョブの実行が予め決められた実行条件を満たしているかどうかの判定処理を行う。この判定処理は、ジョブ実行制御部254に含まれる条件判定部259が行うが、本実施の形態においては、2つの実行条件を設定している。
1つの実行条件は、プリントサーバ25が携帯端末10へ確認情報を送信してからその携帯端末10から実行指示が返信されてくるまでに要した時間が予め決められた時間内であることである。これは、ユーザに対するジョブの実行の意志の確認のためであり、後続するユーザへの配慮のためでもある。この実行条件は、計時手段により確認情報を送信してからの時間の経過を測定し、タイムアウトの発生の有無により判定するようにしてもよい。
もう1つの実行条件は、実行指示が返信されてきたときの当該ユーザが、ジョブを実行させるプリンタ23の設置位置から予め決められた範囲内にいることである。これは、オンデマンドプリント機能を利用したジョブの実行指示は、本来、当該プリンタ23の操作パネルを操作してすべきところを、携帯端末10を利用できるようにしたことに伴う不都合の発生を回避するためである。従って、携帯端末10を利用して実行を指示する場合でもプリンタ23の近くにいることを実行条件とした。プリンタ23とユーザとの距離は、例えば、プリンタ23に近距離通信手段を搭載し、プリンタ23が実行要求者が携帯する携帯端末10のIPアドレスをプリントサーバ25から取得し、その携帯端末10との通信が確認できれば、予め決められた範囲内にいると判定してもよい。あるいは、GPSを利用してプリンタ23と携帯端末10との距離を測定してもよい。もちろん、プリンタ23と携帯端末10との距離は、その他の手法を用いて認識するようにしてもよい。
なお、本実施の形態においては、オンデマンドプリント機能を提供するという観点から、上記2つの実行条件を設定したが、少なくとも一方でもよいし、他の実行条件を設定してもよい。
以上のように、実行要求者が使用する携帯端末10から実行指示が返信されてきたときの状況、上記例では時間と距離についての実行条件を満たした場合(ステップ113でY)、ジョブ実行制御部254は、当該ジョブを当該プリンタ23に実行させる(ステップ114)。そして、実行要求者が使用する携帯端末10に印刷が実行されている旨を通知して、現在印刷中であることを当該携帯端末10に表示させる(ステップ115)。この通知により携帯端末10に表示される画面例を図5(d)に示す。
そして、実行要求者以外の各ユーザ使用の携帯端末10に対しては、他のユーザのジョブが実行しているためにジョブの実行待機中である旨の示す待機中情報を送信して、当該携帯端末10にジョブが「待機中」であることを表示させる(ステップ116)。すなわち、他のユーザが使用する携帯端末10には、図5(b)に例示した予約ジョブリストが画面表示される。
一方、実行要求者が使用する携帯端末10から実行指示が返信されてきたときの状況は所定の実行条件を満たさなかった場合(ステップ113でN)、ジョブ実行制御部254は、当該ジョブに関する情報を予約テーブルから削除する(ステップ117)。なお、当該ジョブに関する情報をジョブ蓄積部256に再登録することで、他のプリンタ23でのジョブの実行機会を創出するようにしてもよい。
図8は、1台のプリンタに複数のジョブ(この例では4つのジョブ)を実行させた場合のタイムチャートを示した図で、図8(a)には従来のシステムを利用した場合、図8(b)には、本実施の形態を利用した場合がそれぞれ示されている。この図8から理解できるように、印刷に要する時間は同じである。従来では、操作パネルを通じて印刷を指示し、その直後から印刷が実行される。そして、次のユーザは、前のユーザの印刷が終了してはじめて操作パネルを操作できるようになる。
一方、本実施の形態では、印刷の設定及び予約に要する時間は、従来の操作パネルの操作と同じであるが、更にジョブの実行が待機させられるユーザに関しては、最優先ユーザを決定するための「印刷許可」処理(図6におけるステップ108)が必要になってくるため、その分処理時間が余計に必要になる。しかしながら、本実施の形態では、実行要求(予約)に対し、即座に実行できない場合には予約するようにしているので、印刷の予約に関しては、他のユーザにおける処理と同時並行して処理可能である。このため、4つのジョブ全体の終了時間を比較してみれば一目瞭然であるが、従来の終了時間T0に対し、本実施の形態では終了時間T1と9コマ分の処理時間が短縮される。
なお、本実施の形態におおいては、説明の便宜上、プリンタ23の操作パネルからの指示に関しては省略して説明したが、操作パネルも1台の携帯端末10とみなして前述したジョブ実行制御を適用してもよい。
本実施の形態においては、オンデマンドプリント機能を提供するオンデマンドプリントシステム20にジョブ実行制御システムを適用した場合を例にして説明したが、オンデマンドプリントシステム20に限定する必要はなく、印刷ジョブ以外のジョブの実行制御を行うシステムに適用してもよい。
また、前記実行条件は、確認情報を送信してから実行指示が返信されてくるまでに要した時間が予め決められた時間内であること、又は実行指示が返信されてきたときの当該実行要求者の所在位置が前記データ実行手段の設置位置から予め決められた範囲内にいること、のうち少なくとも一方であることを特徴とする。