(57)【要約】【課題】  ユーザが指定した「クライアント側ユーザ定義用紙」に対し、プリンタにセットされている適切な印刷コストの用紙を選択し、印刷させる技術を提供する。【解決手段】  クライアント端末から受信した印刷データで指示された用紙がユーザ定義用紙である場合に、稼働中のプリンタに設定されたユーザ定義用紙の一覧を取得して、そのユーザ定義用紙一覧の中から印刷データを印刷可能なサイズであって、且つ印刷コストが小さいプリンタ用紙を優先的に選択する。【選択図】  図１６
2014063386.tif 000002
【特許請求の範囲】
【請求項１】
クライアント端末とプリンタとネットワークを介して接続可能な、該クライアント端末から受け付けた印刷データを、指定された該プリンタに印刷する印刷管理を行う印刷管理サーバであって、
前記プリンタの情報として、少なくとも該プリンタにセットされたプリンタ用紙のサイズをプリンタ管理情報としてプリンタ管理情報記憶手段に登録させるプリンタ管理情報登録手段と、
前記クライアント端末から前記印刷データを受信する印刷データ受信手段と、
前記印刷データから、印刷指示された指示用紙のサイズを取得する指示用紙サイズ取得手段と、
前記プリンタ管理情報記憶手段に登録されている前記プリンタにセットされたプリンタ用紙の情報一覧として取得するプリンタ用紙情報一覧取得手段と、
前記指示用紙が、前記クライアント端末のプリンタドライバにおいて、ユーザがサイズを定義したユーザ定義用紙であるか否かを判定する指示用紙種別判定手段と、
前記指示用紙種別判定手段の判定の結果、前記指示用紙がユーザ定義用紙である場合に、該指示用紙のサイズと、前記プリンタ用紙の情報一覧における各プリンタ用紙のサイズと、に基づき、該プリンタの印刷処理に使用する該プリンタ用紙を選択するプリンタ用紙選択手段と、
を備えることを特徴とする印刷管理サーバ。
【請求項２】
印刷処理に係るコストを表す印刷ポイントを記憶する印刷ポイント管理情報記憶手段と、を更に備え、
前記プリンタ用紙選択手段は、
前記指示用紙のサイズと、前記プリンタ用紙の情報一覧における各プリンタ用紙のサイズとの比較において、縦と横の長さが共に該指示用紙の縦と横の長さ以上である該プリンタ用紙であって、且つ、該プリンタ用紙のうち、前記印刷ポイントの小さい該プリンタ用紙を優先的に選択することを特徴とする請求項１に記載の印刷管理サーバ。
【請求項３】
前記印刷ポイントは、前記プリンタ用紙のサイズ、前記印刷指示におけるカラー印刷／モノクロ印刷、トナー節約有／無に応じて指定されることを特徴とする請求項２に記載の印刷管理サーバ。
【請求項４】
前記プリンタ用紙選択手段は、
前記指示用紙のサイズと、前記プリンタ用紙の情報一覧における各プリンタ用紙のサイズとの比較において、縦と横の長さが共に該指示用紙の縦と横の長さ以上である該プリンタ用紙であって、且つ、該プリンタ用紙のうち面積の小さい該プリンタ用紙を優先的に選択することを特徴とする請求項１に記載の印刷管理サーバ。
【請求項５】
前記プリンタ用紙選択手段は、更に、
前記指示用紙の縦と横のサイズを入れ替えたサイズと、前記プリンタ用紙の情報一覧における各プリンタ用紙のサイズと、に基づき、該プリンタ用紙を選択し、さらに、該指示用紙の縦と横のサイズを入れ替える前と入れ替えた後の印刷ポイントを比較して、該印刷ポイントの小さい縦と横のサイズと該プリンタ用紙を選択することを特徴とする請求項１乃至請求項４のいずれか１項に記載の印刷管理サーバ。
【請求項６】
前記プリンタ用紙情報一覧取得手段において取得されるプリンタ用紙は、該プリンタ用紙のうちユーザ定義用紙とすることを特徴とする請求項１乃至請求項５のいずれか１項に記載の印刷管理サーバ。
【請求項７】
前記プリンタ用紙情報一覧取得手段は、
前記プリンタ用紙の情報一覧を取得する対象となる前記プリンタを、稼働中の該プリンタとすることを特徴とする請求項１乃至請求項６のいずれか１項に記載の印刷管理サーバ。
【請求項８】
印刷処理を行う前記プリンタおよび使用する前記プリンタ用紙を、前記クライアント端末に通知する第１の通知手段と、
前記第１の通知に基づき、印刷するか否かの指示をクライアント端末から受信する第１の印刷確認受信手段と、
前記第１の印刷確認受信手段において受信した指示が、印刷することを指示するものである場合には、前記印刷データを、前記プリンタにおいて前記プリンタ用紙を使用して印刷処理することを特徴とする請求項１乃至請求項７のいずれか１項に記載の印刷管理サーバ。
【請求項９】
前記プリンタ用紙選択手段において、前記指示用紙の縦と横を入れ替えたサイズの前記プリンタ用紙を選択した場合には、縦と横を入れ替えた旨を通知する第２の通知手段と、
前記第２の通知に基づき、印刷するか否かの指示をクライアント端末から受信する第２の印刷確認受信手段と、
前記第２の印刷確認受信手段において受信した指示が、印刷することを指示するものである場合には、前記印刷データを、前記プリンタにおいて前記プリンタ用紙を使用して印刷処理することを特徴とする請求項５乃至請求項８のいずれか１項に記載の印刷管理サーバ。
【請求項１０】
クライアント端末とプリンタとネットワークを介して接続可能な、該クライアント端末から受け付けた印刷データを、指定された該プリンタに印刷する印刷管理を行う印刷管理サーバの制御方法であって、
管理情報登録手段が、前記プリンタの情報として、少なくとも該プリンタにセットされたプリンタ用紙のサイズをプリンタ管理情報としてプリンタ管理情報記憶手段に登録させるプリンタ管理情報登録ステップと、
印刷データ受信手段が、前記クライアント端末から前記印刷データを受信する印刷データ受信ステップと、
指示用紙サイズ取得手段が、前記印刷データから、印刷指示された指示用紙のサイズを取得する指示用紙サイズ取得ステップと、
プリンタ用紙情報一覧取得手段が、前記プリンタ管理情報記憶手段に登録されている前記プリンタにセットされたプリンタ用紙の情報一覧として取得するプリンタ用紙情報一覧取得ステップと、
指示用紙種別判定手段が、前記指示用紙のサイズに基づき、前記クライアント端末のプリンタドライバにおいて、ユーザによりサイズを定義されたユーザ定義用紙であるか否かを判定する指示用紙種別判定ステップと、
プリンタ用紙選択手段が、前記指示用紙種別判定ステップの判定の結果、前記指示用紙がユーザ定義用紙である場合に、該指示用紙のサイズと、前記プリンタ用紙の情報一覧における各プリンタ用紙のサイズと、に基づき、該プリンタの印刷処理に使用する該プリンタ用紙を選択するプリンタ用紙選択ステップと、
を備えることを特徴とする印刷管理サーバの制御方法。
【請求項１１】
コンピュータを、クライアント端末とプリンタとネットワークを介して接続可能な、該クライアント端末から受け付けた印刷データを、指定された該プリンタに印刷する印刷管理を行う印刷管理サーバとして機能させるためのプログラムであって、
前記コンピュータを、
前記プリンタの情報として、少なくとも該プリンタにセットされたプリンタ用紙のサイズをプリンタ管理情報としてプリンタ管理情報記憶手段に登録させるプリンタ管理情報登録手段、
前記クライアント端末から前記印刷データを受信する印刷データ受信手段、
前記印刷データから、印刷指示された指示用紙のサイズを取得する指示用紙サイズ取得手段、
前記プリンタ管理情報記憶手段に登録されている前記プリンタにセットされたプリンタ用紙の情報一覧として取得するプリンタ用紙情報一覧取得手段、
前記指示用紙が、前記クライアント端末のプリンタドライバにおいて、ユーザがサイズを定義したユーザ定義用紙であるか否かを判定する指示用紙種別判定手段、
前記指示用紙種別判定手段の判定の結果、前記指示用紙がユーザ定義用紙である場合に、該指示用紙のサイズと、前記プリンタ用紙の情報一覧における各プリンタ用紙のサイズと、に基づき、該プリンタの印刷処理に使用する該プリンタ用紙を選択するプリンタ用紙選択手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷サーバを用いた印刷処理に関する。
【背景技術】
【０００２】
従来、各大学等の組織において、プリンタの印刷コストを削減するため、各ユーザが無制限に使用しないように管理することが望ましい。そのため、プリンタ毎にカウンタが存在しユーザがプリンタを使用する度に印刷コスト（印刷した紙の枚数など）を管理する方式がある。
【０００３】
しかしながら、多数のプリンタが同一拠点においてＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）で接続されている場合には、ユーザは１つのプリンタのみならず、複数のプリンタを使用する権限が付与されることもある。その際、プリンタ毎に前記ユーザの印刷コストが管理されるだけでは、別途、管理者などが、各プリンタと対応付けられた該ユーザの印刷コストを取得し、全体としての該ユーザの印刷コストを集計しなければならない。
【０００４】
そこで特許文献１では、クライアント端末、プリンタ、サーバ装置（印刷管理サーバ）がＬＡＮで接続され、前記ユーザが複数のプリントを使用可能な場合には、いずれのプリンタを使用したかにかかわらず、サーバ装置にて一括して管理する技術が提供されている。具体的には、前記ユーザが印刷許可されている印刷枚数に対し、あと何枚印刷可能かを表す残枚数と、印刷データに含まれる予約枚数を比較して印刷の許可を判定している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００９ー８７１５９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
さらに一般的なシステムとしては、ユーザの印刷コストは、実際には印刷枚数だけではなく、例えば用紙サイズ、トナー使用量（カラー／モノクロのいずれか、トナー節約モードか否か）などに基づいて算出されることが適切な場合がある。
【０００７】
しかし、標準的サイズの用紙（Ａ４、Ｂ５など）ではない、縦横の長さをユーザが指定可能な所謂「ユーザ定義用紙」については、クライアント端末のプリンタドライバにおいて自由に定義（クライアント側ユーザ定義用紙）することが可能である。この場合「用紙の名称」、「縦横の長さ」をクライアント側で定義しても、実際にプリンタ側に同じサイズの用紙がセットされているか否かは不明である。すなわち、印刷管理サーバにおける管理においても、プリンタに実際にセットされているユーザ特有の用紙には、様々なサイズがあるにかかわらず、「ユーザ定義用紙」として１種類の印刷コストの設定しかできない。
【０００８】
本発明は、上記問題に鑑み、クライアント端末においてユーザが指定した「クライアント側ユーザ定義用紙」に対し、プリンタにセットされている適切な印刷コストの用紙を選択し、印刷させる技術を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明は、クライアント端末とプリンタとネットワークを介して接続可能な、該クライアント端末から受け付けた印刷データを、指定された該プリンタに印刷する印刷管理を行う印刷管理サーバであって、前記プリンタの情報として、少なくとも該プリンタにセットされたプリンタ用紙のサイズをプリンタ管理情報としてプリンタ管理情報記憶手段に登録させるプリンタ管理情報登録手段と、前記クライアント端末から前記印刷データを受信する印刷データ受信手段と、前記印刷データから、印刷指示された指示用紙のサイズを取得する指示用紙サイズ取得手段と、前記プリンタ管理情報記憶手段に登録されている前記プリンタにセットされたプリンタ用紙の情報一覧として取得するプリンタ用紙情報一覧取得手段と、前記指示用紙が、前記クライアント端末のプリンタドライバにおいて、ユーザがサイズを定義したユーザ定義用紙であるか否かを判定する指示用紙種別判定手段と、前記指示用紙種別判定手段の判定の結果、前記指示用紙がユーザ定義用紙である場合に、該指示用紙のサイズと、前記プリンタ用紙の情報一覧における各プリンタ用紙のサイズと、に基づき、該プリンタの印刷処理に使用する該プリンタ用紙を選択するプリンタ用紙選択手段と、を備えることを特徴とする。
【発明の効果】
【００１０】
本発明により、クライアント端末においてユーザが指定した「クライアント側ユーザ定義用紙」に対し、プリンタにセットされている適切な印刷コストの用紙を選択し、印刷させる技術を提供することが可能となる。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施の形態に係る画像形成システムの構成の一例を示すシステム構成図である。
【図２】図１の印刷管理サーバ１０１に適用可能な情報処理装置のハードウェア構成の一例を示す図である。
【図３】図１に示す各装置の機能構成の一例を示す図である。
【図４】印刷サービス起動処理の一例を示すフローチャートである。
【図５】プリンタ管理情報確認処理の一例を示すフローチャートである。
【図６】プリンタ稼働フラグ変更処理の一例を示すフローチャートである。
【図７】印刷データ管理情報登録処理の一例を示すフローチャートである。
【図８】プリンタ監視処理の一例を示すフローチャートである。
【図９】印刷管理サーバ１０１によって行われる印刷処理の一例を示すフローチャートである。
【図１０】印刷管理サーバ１０１によって行われる印刷処理の一例を示すフローチャートである。
【図１１】プリンタ管理テーブル１１００のデータ構成の一例を示す図である。
【図１２】印刷ポイント管理テーブル１２００のデータ構成の一例を示す図である。
【図１３】ユーザ管理テーブル１３００のデータ構成の一例を示す図である。
【図１４】印刷データ管理テーブル１４００のデータ構成の一例を示す図である。
【図１５】プリンタ稼働状態変更画面１５００の構成の一例を示す図である。
【図１６】印刷管理サーバ１０１によって行われる印刷処理の一例を示すフローチャートである。
【図１７】ユーザからの印刷指示を受け付ける画面、クライアント端末側ユーザ定義用紙を定義するための画面の一例である。
【図１８】ユーザにユーザ定義用紙／縦横入れ替えの確認をする画面の一例を示す図である。
【発明を実施するための形態】
【００１２】
以下、図面を参照して、本発明の実施の形態の一例について説明する。
【００１３】
図１は、本発明の実施の形態に係る画像形成システムの構成の一例を示す図である。図１に示すように、本発明の画像形成システムは、印刷管理サーバ１０１、データベースサーバ（以下、ＤＢサーバという）１０２、プリンタ稼働状態変更サーバ１０３、複数台のプリンタ１０４、複数台のクライアント端末１０５、管理者作業端末１０６、ＬＡＮ１０７等を備えて構成されている。
【００１４】
印刷管理サーバ１０１は、プリンタ１０４の状態を定期的に取得し、取得した情報に基づき、ＤＢサーバ１０２で記憶管理されるプリンタ情報を更新する機能を有する情報処理装置である。また、プリンタ１０４に紙詰まりやトナー切れ、用紙切れといった異常が発生した場合や、トナー残業が所定量以下になった、用紙残量が所定量以下になったという警告が発生した場合に、通知先としてあらかじめ設定されているメールアドレス（例えばシステム管理者のメールアドレス）に対して、プリンタ１０４に異常が発生した旨のメールを送信する機能を有している。
【００１５】
また、印刷管理サーバ１０１は、クライアント端末１０５から印刷データを受け付け、出力先プリンタとして指定されたプリンタ１０４に対して印刷データを送信することで、プリンタ１０４に対して印刷データの実行指示を行う機能も有している。さらに、この印刷データのステータスを監視する機能を有している。
【００１６】
さらに、印刷データの印刷実行を行うプリンタ（出力先プリンタ）として指定されたプリンタ１０４が、紙詰まりやトナー切れ等の異常状態である場合や、用紙残量が所定数以下、トナー残量が所定数以下であるといった警告状態である場合などに、当該印刷データを送信したクライアント端末１０５に対して、代替印刷実行の問い合わせを行う機能を有している。
【００１７】
ＤＢサーバ１０２は、後述する各種処理で使用される各種のデータを記憶する情報処理装置である。尚、ＤＢサーバ１０２で記憶管理される各種のデータについては、図１１〜図１４を参照して説明する。
【００１８】
プリンタ稼働状態変更サーバ１０３は、管理者作業端末１０６からの要求に応じて、ＤＢサーバ１０２で記憶管理されているプリンタ情報を更新する機能を有する情報処理装置である。
【００１９】
プリンタ１０４は、印刷管理サーバ１０１から印刷データを受信し、受信した印刷データの印刷処理を実行する画像形成装置である。また、印刷管理サーバ１０１からのプリンタのステータス情報要求や印刷データのステータス情報要求に応じて、それら情報を送信する機能を有している。
【００２０】
クライアント端末１０５は、本画像形成システムで印刷処理を実行するために、ユーザが使用する情報処理装置である。印刷データを作成するために用いられるプリンタドライバがインストールされており、該プリンタドライバを用いて作成された印刷データを印刷管理サーバ１０１に対して送信する機能を有している。また、印刷管理サーバ１０１からの各種通知を受け付けると、その情報をユーザに報知させるべく警告表示を行う機能を有している。
【００２１】
管理者作業端末１０６は、システムの管理者が使用する情報処理装置であって、プリンタ稼働状態変更サーバ１０３に対して、プリンタ１０４の状態の変更要求を行う際に用いられる。
【００２２】
ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）１０７は、上記の各種装置を相互に通信可能に接続するためのネットワークである。尚、接続形態は有線／無線を問わない。
【００２３】
以上が、本発明の実施の形態に係る画像形成システムの構成の一例の説明である。
【００２４】
次に、図２を参照して、図１の印刷管理サーバ１０１に適用可能な情報処理装置のハードウェア構成の一例について説明する。
【００２５】
図２において、２０１はＣＰＵで、システムバス２０４に接続される各デバイスやコントローラを統括的に制御する。また、ＲＯＭ２０３あるいは外部メモリ２１１には、ＣＰＵ２０１の制御プログラムであるＢＩＯＳ（Basic Input / Output System）やオペレーティングシステムプログラム（以下、ＯＳ）や、印刷管理サーバ１０１が実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。
【００２６】
２０２はＲＡＭで、ＣＰＵ２０１の主メモリ、ワークエリア等として機能する。ＣＰＵ２０１は、処理の実行に際して必要なプログラム等をＲＯＭ２０３あるいは外部メモリ２１１からＲＡＭ２０２にロードして、該ロードしたプログラムを実行することで各種動作を実現するものである。
【００２７】
また、２０５は入力コントローラで、キーボードやポインティングデバイス等の入力装置２０９からの入力を制御する。２０６はビデオコントローラで、ディスプレイ装置２１０等の表示器への表示を制御する。これらは必要に応じて操作者が使用するものである。
【００２８】
２０７はメモリコントローラで、ブートプログラム，各種のアプリケーション，フォントデータ，ユーザファイル，編集ファイル，各種データ等を記憶するハードディスク（ＨＤ）や、フレキシブルディスク（ＦＤ）、或いはＰＣＭＣＩＡカードスロットにアダプタを介して接続されるコンパクトフラッシュ（登録商標）メモリ等の外部メモリ２１１へのアクセスを制御する。
【００２９】
２０８は通信Ｉ／Ｆ（インタフェース）コントローラで、ネットワーク（例えば、図１に示したＬＡＮ１０７）を介して外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、ＴＣＰ／ＩＰを用いた通信等が可能である。
【００３０】
なお、ＣＰＵ２０１は、例えばＲＡＭ２０２内の表示情報用領域へアウトラインフォントの展開（ラスタライズ）処理を実行することにより、ディスプレイ装置２１０上での表示を可能としている。また、ＣＰＵ２０１は、ディスプレイ装置２１０上の不図示のマウスカーソル等でのユーザ指示を可能とする。
【００３１】
本発明を実現するための後述するフローチャートに示す各ステップの処理は、コンピュータで読み取り実行可能なプログラムにより実行され、そのプログラムは外部メモリ２１１に記録されている。そして、必要に応じてＲＡＭ２０２にロードされることによりＣＰＵ２０１によって実行されるものである。また、さらに、上記プログラムの実行時に用いられる定義ファイル及び各種情報テーブル等も、外部メモリ２１１に格納されており、これらについての詳細な説明も後述する。
【００３２】
尚、図１のＤＢサーバ１０２、プリンタ稼働状態変更サーバ１０３、クライアント端末１０５や管理者作業端末１０６に適用可能な情報処理装置も略同様のハードウェア構成なので、詳細な説明は割愛する。
【００３３】
次に、図３を参照して、図１に示す各装置の機能構成について説明する。図３は、図１に示す各装置の機能構成の一例を示すブロック図である。
【００３４】
まず、印刷管理サーバ１０１の機能構成について説明する。図３に示すように、印刷管理サーバ１０１は、印刷データ受信部３１１、印刷データ送信部３１２、プリンタステータス情報取得部３１３、印刷データステータス情報取得部３１４、異常・警告発生通知部３１５、情報変更要求部３１６、印刷可否判定部３１７、代替印刷実行確認部３１８、代替印刷実行指示受付部３１９、用紙変更確認部３２０等を備えて構成されている。
【００３５】
印刷データ受信部３１１は、後述するクライアント端末１０５の印刷データ送信部３５２により送信された印刷データを受信する機能部である。尚、印刷データ受信部３１１で受信した印刷データは、所定のディレクトリに保存される。
【００３６】
印刷データ送信部３１２は、所定のディレクトリに記憶されている印刷データを、その印刷データの出力先プリンタとして設定されたプリンタ１０４に対して送信する機能部である。
【００３７】
プリンタステータス情報取得部３１３は、定期的にプリンタ１０４のステータス情報（状態情報）を取得する機能部である。例えば、用紙切れ、紙詰まり、給紙トレイオープン、といったステータス情報を取得する。また、プリンタ１０４にセットされた用紙（プリンタ用紙）の情報も取得する。
【００３８】
印刷データステータス情報取得部３１４は、プリンタ１０４で印刷される印刷データのステータス情報（印刷待ち、印刷中）を取得する機能部である。
【００３９】
異常・警告発生通知部３１５は、プリンタステータス情報取得部３１３が取得したスタータス情報が、プリンタ１０４に異常や警告が発生している場合に、システム管理者に異常・警告の発生を通知する機能部である。例えば、予め設定されたシステム管理者のメールアドレスに対して、通知メールを送信する等の手段で、異常・警告の発生の通知を行う。
【００４０】
情報変更要求部３１６は、ＤＢサーバ１０２で記憶されている各種の情報の変更要求を行う機能部である。例えば、プリンタステータス情報取得部３１３で取得したプリンタのステータス情報から、プリンタのステータスが変更したと判断した場合に、当該プリンタのプリンタ管理情報の変更をＤＢサーバ１０２に要求する。また、印刷データステータス情報取得部３１４で取得した印刷データのステータス情報から、印刷データのステータスが変更したと判断した場合に、印刷データ管理情報の変更をＤＢサーバ１０２に要求する。
【００４１】
印刷可否判定部３１７は、印刷データ受信部３１１で受信した印刷データの印刷処理が実行可能であるか判定する機能部である。
【００４２】
代替印刷実行確認部３１８は、印刷データの出力先のプリンタ１０４が異常状態である、警告が発生している、また、印刷待ちの他の印刷データが所定数以上あるといった場合に、当該印刷データを送信したクライアント端末１０５に対して、代替印刷を実行するかの確認を行う機能部である。
【００４３】
代替印刷実行指示受付部３１９は、クライアント端末１０５から代替印刷を実行する／しないの指示を受け付ける機能部である。
【００４４】
用紙変更確認部３２０は、印刷データにおける用紙種別がユーザ定義用紙である場合に、当該印刷管理サーバ１０１が管理しているプリンタ１０４においてセット済み（使用可能）な印刷用紙の中から、ユーザ定義用紙を取得し、該ユーザ定義用紙のサイズと印刷データにおける印刷指示サイズを比較して適切なユーザ定義用紙を選択する。さらに、選択した用紙（およびその用紙をセット済みであるプリンタ、後述する縦横の入れ替え）で印刷する旨をユーザに確認し、ユーザの印刷指示があれば、選択されたプリンタ、選択された用紙での印刷をプリンタ１０４に指示する機能部である。
【００４５】
次に、データベース（ＤＢ）サーバ１０２の機能構成について説明する。図３に示す通り、ＤＢサーバ１０２は、プリンタ管理情報記憶部３２１、印刷ポイント管理情報記憶部３２２、ユーザ管理情報記憶部３２３、印刷データ管理情報記憶部３２４、情報変更部３２５等を備えて構成されている。
【００４６】
プリンタ管理情報記憶部３２１は、プリンタ管理情報を記憶管理する機能部であって、後述するプリンタ管理テーブル１１００（図１１）を記憶管理する。
【００４７】
印刷ポイント管理情報記憶部３２２は、印刷データを印刷する際に必要となる印刷ポイントに関する情報を記憶管理する機能部であって、後述する印刷ポイント管理テーブル１２００（図１２）を記憶管理する。
【００４８】
ユーザ管理情報記憶部３２３は、それぞれのユーザが保有する印刷に必要となる印刷ポイントを記憶管理する機能部であって、後述するユーザ管理テーブル１３００（図１３）を記憶管理する。
【００４９】
印刷データ管理情報記憶部３２４は、印刷データのステータスを記憶管理する機能部であって、後述する印刷データ管理テーブル１４００（図１４）を記憶管理する。
【００５０】
情報変更部３２５は、印刷管理サーバ１０１等からのデータ変更要求に応じて、上記の各記憶部で記憶管理されるデータテーブルの変更処理を行う機能部である。
【００５１】
次に、プリンタ稼働状態変更サーバ１０３の機能構成について説明する。図３に示す通り、プリンタ稼働状態変更指示受付部３３１、プリンタ稼働状態変更要求部３３２等を備えて構成されている。
【００５２】
プリンタ稼働状態変更指示受付部３３１は、管理者作業端末１０６から、プリンタ１０４の稼働状態の変更指示を受け付ける機能部である。
【００５３】
プリンタ稼働状態変更要求部３３２は、プリンタ稼働状態変更指示受付部３３１でプリンタ１０４の稼働状態の変更指示を受け付けた場合に、ＤＢサーバ１０２に対して、当該プリンタの稼働状態の変更要求を行う機能部である。
【００５４】
次に、プリンタ１０４の機能構成について説明する。図３に示す通り、プリンタ１０４は、印刷データ受信部３４１、印刷実行部３４２、ステータス送信部３４３、用紙種別送信部３４４等を備えて構成されている。
【００５５】
印刷データ受信部３４１は、印刷管理サーバ１０１から送信された印刷データを受信する機能部である。
【００５６】
印刷実行部３４２は、印刷データ受信部３４１で受信した印刷データの印刷処理を行う機能部である。
【００５７】
ステータス送信部３４３は、印刷管理サーバ１０１からの要求に応じて、プリンタのステータスや、印刷データのステータスを印刷管理サーバ１０１に送信する機能部である。
【００５８】
用紙種別送信部３４４は、印刷管理サーバ１０１からの要求に応じて、プリンタ１０４にセットされた用紙に関する情報を印刷管理サーバ１０１に送信する機能部である。
【００５９】
次に、クライアント端末１０５の機能構成について説明する。図３に示す通り、クライアント端末１０５は、印刷データ作成部３５１、印刷データ送信部３５２、代替印刷実行指示部３５３、用紙変更印刷実行指示部３５４を備えて構成されている。
【００６０】
印刷データ作成部３５１は、クライアント端末１０５を使用するユーザによる操作指示に従い、印刷データの作成指示が入力された場合に、プリンタドライバを用いて印刷データを作成する機能部である。
【００６１】
印刷データ送信部３５２は、印刷データ作成部３５１で作成された印刷データを、印刷管理サーバ１０１に送信する機能部である。
【００６２】
代替印刷実行指示部３５３は、印刷管理サーバ１０１からの代替印刷実行確認に応じて、クライアント端末１０５を使用するユーザによる操作指示に従い入力される、代替印刷を実行する／実行しないを示す代替印刷実行情報に基づいて、印刷管理サーバ１０１に対して、代替印刷を実行する／実行しない、の指示を行う機能部である。
【００６３】
用紙変更印刷実行指示部３５４は、印刷管理サーバ１０１からの用紙変更確認（実際には、プリンタの変更、ユーザ定義用紙で印刷する際の縦横の入れ替えについての確認も含む）に応じて、クライアント装置１０５における印刷指示をしたユーザに対して、確認事項を提示し、該ユーザの操作指示に基づいて、印刷管理サーバ１０１に用紙変更をする／しない、の指示を行う機能部である。
【００６４】
最後に、管理者作業端末１０６の機能構成について説明する。図３に示す通り、管理者作業端末１０６は、異常・警告発生通知受信部３６１、プリンタ稼働状態変更要求部３６２を備えて構成されている。
【００６５】
異常・警告発生通知受信部３６１は、印刷管理サーバ１０１より送信される、プリンタ１０４が異常状態であること、またはプリンタに警告が発生していることを通知するための異常・警告発生通知を受信する機能部である。例えば、電子メール等通知される異常・警告発生通知を受信する。
【００６６】
プリンタ稼働状態変更要求部３６２は、管理者作業端末１０６を使用するシステム管理者からの操作指示に従い、プリンタ稼働情報の変更要求をプリンタ稼働状態変更サーバ１０３に対して行う機能部である。
以上が、図３に示す各装置の機能構成の説明である。
【００６７】
次に、図４を参照して、図１の印刷管理サーバのＣＰＵ２０１によって行われる印刷サービスの起動処理について説明する。本図に示す処理を印刷管理サーバ１０１のＣＰＵ２０１に実行させるためのプログラムは、外部メモリ２１１等に記憶されており、本図に示す処理を実行するに際し、ＣＰＵ２０１は、当該プログラムをＲＡＭ２０２にロードし、ロードしたプログラムによる制御に従って本図に示す処理を行う。
【００６８】
まず、印刷管理サーバ１０１のＣＰＵ２０１は、外部メモリ２１１等に記憶されている設定情報を取得する（ステップＳ４０１）。設定情報には、例えば、ＤＢサーバ１０２に対して接続する際に用いる、ＤＢサーバ１０２のＩＰアドレスや、ＤＢサーバ１０２で管理する各種のデータを操作する権限を有するユーザのユーザ情報（ユーザＩＤ、パスワード等）、プリンタ１０４のステータス情報の取得間隔情報、管理者のメールアドレス、後述する監視スレッドでの待機時間情報等が含まれる。
【００６９】
そして、ステップＳ４０１で設定情報を取得した後に、各プリンタ１０４の状態監視を行う出力対象監視スレッドの起動、終了を行うために監視スレッドを起動する。尚、監視スレッドにより行われるプリンタ管理情報確認処理については図５を参照して後述する。
【００７０】
以上が、印刷管理サーバ１０１によって行われる印刷サービス起動処理の説明である。尚、本発明の画像形成システムでは、印刷管理サーバ１０１が提供する印刷サービスを利用して、各クライアント端末１０５は、プリンタ１０４からの各種の印刷処理を指示することになる。
【００７１】
次に、図５を参照して、印刷管理サーバ１０１のＣＰＵ２０１によって行われるプリンタ管理情報確認処理について説明する。尚、この処理は、図４のステップＳ４０２で起動した監視スレッドで行われる処理である。
【００７２】
まず、印刷管理サーバ１０１のＣＰＵ２０１は、図４のステップＳ４０１で取得した設定情報を用いてＤＢサーバ１０２にアクセスし、ＤＢサーバ１０２がプリンタ管理テーブル１１００で記憶管理しているプリンタ情報を取得する（ステップＳ５０１）。
【００７３】
ここで、図１１を参照して、ＤＢサーバ１０２の外部メモリ２１１に記憶管理されているプリンタ管理テーブルのデータ構成について説明する。図１１に示す通り、プリンタ管理テーブル１１００は、プリンタＩＤ１１０１、プリンタ名１１０２、ＩＰアドレス１１０３、稼働フラグ１１０４、ステータス１１０５、エラー内容１１０６、検知時刻１１０７、代替プリンタ１１０８、代替印刷通知閾値１１０９、セット済用紙種別１１１０等のデータ項目を備えて構成されている。
【００７４】
プリンタＩＤ１１０１は、それぞれのプリンタ１０４を一意に識別するための識別情報が登録されるデータ項目である。プリンタ名１１０２は、プリンタ１０４の名称が登録されるデータ項目である。ＩＰアドレス１１０３は、プリンタ１０４に設定されているＩＰアドレスが登録されるデータ項目である。
【００７５】
稼働フラグ１１０４は、プリンタ１０４が稼働中であるか、それとも停止中であるかを示す情報が登録されるデータ項目である。ステータス１１０５は、プリンタが正常に稼働されているか、それとも用紙残量が少ない、トナー残量が少ない等の警告状態であるか、また、紙詰まり等印刷が実行できない状態である異常状態であるかを示すステータス情報が登録されるデータ項目である。エラー内容１１０６は、ステータス１１０５が警告または異常の際に、その警告内容や異常内容が登録されるデータ項目である。
【００７６】
検知時刻１１０７は、ステータス１１０５やエラー内容１１０６に登録された情報を取得した時刻情報が登録されるデータ項目である。代替プリンタ１１０８は、当該プリンタのステータスが異常である場合等に、当該プリンタでの印刷実行指示を受けた印刷データの代替印刷を行うプリンタのプリンタＩＤが登録されるデータ項目である。
【００７７】
代替印刷通知閾値１１０９は、ユーザに対する代替印刷通知を行う、印刷待ち印刷データ数が登録されるデータ項目である。この代替印刷通知閾値に登録されている数以上の（数を超える）印刷待ちの印刷データ数がある場合に、印刷管理サーバ１０１のＣＰＵ２０１は、新たに印刷指示を行ったユーザが使用するクライアント端末１０５に対して、代替プリンタでの印刷に変更するか否かを問い合わせる通知を行う。
【００７８】
セット済用紙種別１１１０は、プリンタ１０４にセットされている用紙の種別を、プリンタ側ユーザ定義用紙も含めて登録されるデータ項目である。
【００７９】
以上が、プリンタ管理テーブル１１００のデータ構成の一例の説明である。
【００８０】
図５の説明に戻る。ステップＳ５０１で、ＤＢサーバ１０２で管理されているプリンタ情報を取得した後に、印刷管理サーバ１０１のＣＰＵ２０１は、稼働フラグ１１０４が「稼働中」であるプリンタ１０４に対して、ステップＳ５０２からステップＳ５０５の処理を実行する。
【００８１】
印刷管理サーバ１０１のＣＰＵ２０１は、ステップＳ５０２において、稼働フラグ１１０４が「稼働中」であるプリンタ１０４に対して、ステップＳ５０３からステップＳ５０５の処理を実行したかを判定する。この判定処理で、実行していないと判定した場合には、稼働フラグ１１０４が「稼働中」であるプリンタのうち、ステップＳ５０３以降の処理を行っていないプリンタを処理対象のプリンタとして決定し（ステップＳ５０３）、処理対象として決定したプリンタの状態監視や、当該プリンタ１０４で印刷実行する印刷データを受け付けたかの確認等を行う出力対象監視スレッドが既に起動されているかを判定する（ステップＳ５０４）。
【００８２】
ステップＳ５０４の判定処理で、まだ起動されていない（ＮＯ）と判定した場合には、印刷管理サーバ１０１のＣＰＵ２０１は処理をステップＳ５０５に進め、ステップＳ５０３で処理対象として決定したプリンタ１０４の状態監視や、当該プリンタ１０４で印刷実行する印刷データを受け付けたかの確認等を行う出力対象監視スレッドを起動する。
【００８３】
ステップＳ５０４でＹＥＳと判定した場合、ステップＳ５０５の処理終了後、印刷管理サーバ１０１のＣＰＵ２０１は、処理をステップＳ５０２に進め、再度、ステップＳ５０３からステップＳ５０５の処理を、稼働フラグ１１０４が「稼働中」である全てのプリンタに対して実行したかを判定し、まだ処理をしていないプリンタがあると判定した場合には、処理をステップＳ５０３に進め、未処理のプリンタに対してステップＳ５０３からステップＳ５０５の処理を行う。一方、稼働フラグ１１０４が「稼働中」である全てのプリンタに対して、ステップＳ５０３からステップＳ５０５の処理を実行したと判定した場合には、処理をステップＳ５０６に進める。尚、複数台のプリンタ１０４が稼働中である場合には、それぞれのプリンタ１０４の状態監視等を行うために複数の出力対象監視スレッドが起動されることになる。尚、本実施例では、１台のプリンタの状態等を監視するために１つの出力対象監視スレッドを起動するものとする。
【００８４】
稼働フラグ１１０４が「稼働中」とであるプリンタ１０４に対して、ステップＳ５０３からステップＳ５０５の処理を実行した後に、稼働フラグ１１０４が「停止中」とであるプリンタ１０４に対して、ステップＳ５０６からステップＳ５０９の処理を実行する。
【００８５】
印刷管理サーバ１０１のＣＰＵ２０１は、稼働フラグ１１０４が「停止中」であるプリンタ１０４に対して、ステップＳ５０７からステップＳ５０９の処理を実行したかを判定する（ステップＳ５０６）。この判定処理で、実行していないと判定した場合には、稼働フラグ１１０４が「停止中」であるプリンタのうち、ステップＳ５０７以降の処理を行っていないプリンタを処理対象のプリンタとして決定する（ステップＳ５０７）。そして、処理対象として決定したプリンタの状態監視等を行う出力対象監視スレッドが既に起動されているかを判定する（ステップＳ５０８）。
【００８６】
ステップＳ５０８の判定処理で、処理対象として決定したプリンタの状態監視等を行う出力対象監視スレッドが起動されている（ＹＥＳ）と判定した場合には、印刷管理サーバ１０１のＣＰＵ２０１は処理をステップＳ５０９に進め、ステップＳ５０７で処理対象として決定したプリンタ１０４の状態監視等を行う出力対象監視スレッドの停止フラグを立てる（ステップＳ５０９）。尚、停止フラグを立てるとは、ＲＡＭ２０２に出力対象監視スレッドを停止させるために用いるフラグ情報を記憶することである。尚、後述する出力対象監視スレッドでの処理により、停止フラグが立っている出力対象監視スレッドの停止処理が行われる。
【００８７】
ステップＳ５０８でＮＯと判定した場合、ステップＳ５０９の処理終了後、印刷管理サーバ１０１のＣＰＵ２０１は、処理をステップＳ５０６に進め、再度、ステップＳ５０７〜ステップＳ５０９の処理を、稼働フラグ１１０４が「停止中」である全てのプリンタに対して実行したかを判定し、まだ処理をしていないプリンタがあると判定した場合には、処理をステップＳ５０７に進め、未処理のプリンタに対してステップＳ５０７からステップＳ５０９の処理を行う。一方、稼働フラグ１１０４が「停止中」である全てのプリンタに対して実行したと判定した場合には、処理をステップＳ５１０に進める。
【００８８】
ステップＳ５１０では、図４のステップＳ４０１で取得したシステム設定情報に含まれる監視スレッドの待機時間情報に設定された所定時間待機する。そして、待機している間に、終了指示を受け付けていない（ステップＳ５１１でＮＯ）と判定した場合には、処理をステップＳ５０１に進め、それ以降の処理を繰り返し実行する。
【００８９】
一方、ステップＳ５１１の判定処理で、終了指示を受け付けた（ＹＥＳ）と判定した場合には、処理をステップＳ５１２に進め、起動している全ての出力対象監視スレッドの停止フラグを立てる。そして、その後、印刷管理サーバ１０１のＣＰＵ２０１が後述する図８の処理を実行することで、全ての出力対象監視スレッドが停止されたかを判定する（ステップＳ５１３）。
【００９０】
ステップＳ５１３の判定処理で、全ての出力対象監視スレッドが停止されていない（起動中の出力対象監視スレッドがある：ＮＯ）と判定した場合には、全ての出力対象監視スレッドが停止されるまで待機する。一方、全ての出力対象監視スレッドが停止された（ＹＥＳ）と判定した場合には、処理をステップＳ５１４に進め、監視スレッドを停止して本図に示す処理を終了する。
【００９１】
以上が、印刷管理サーバ１０１のＣＰＵ２０１によって行われるプリンタ管理情報確認処理の説明である。
【００９２】
次に、図６を参照して、プリンタ稼働フラグ変更処理について説明する。この処理は、管理者作業端末１０６のＣＰＵ２０１、及び、プリンタ稼働状態変更サーバ１０３のＣＰＵ２０１によって行われる処理である。
【００９３】
まず、管理者作業端末１０６のＣＰＵ２０１は、プリンタ稼働状態変更画面要求をプリンタ稼働状態変更サーバ１０３に対して送信する。尚、この要求は、管理者作業端末１０６にインストールされているブラウザアプリケーションにより、プリンタ稼働状態変更サーバ１０３の所定のＵＲＬにアクセスすることによって行われる。
【００９４】
プリンタ稼働状態変更サーバ１０３のＣＰＵ２０１は、管理者作業端末１０６からのプリンタ稼働状態変更画面要求を受信すると（ステップＳ６０２）、ＤＢサーバ１０２にアクセスし、ＤＢサーバ１０２がプリンタ管理テーブル１１００で記憶管理しているプリンタ情報を取得する（ステップＳ６０３）。
【００９５】
その後、取得したプリンタ情報を用いて、プリンタ稼働状態変更画面を表示するための画面情報を作成し（ステップＳ６０４）、作成した画面情報を、プリンタ稼働状態変更画面を要求した管理者作業端末１０６に対して送信する（ステップＳ６０５）。
【００９６】
管理者作業端末１０６のＣＰＵ２０１は、プリンタ稼働状態変更サーバ１０３から送信されたプリンタ稼働状態変更画面１５００（図１５）を表示するための画面情報を受信すると（ステップＳ６０６）、当該画面情報に従って、ブラウザアプリケーションによりディスプレイ装置２１０に表示される表示画面に、プリンタ稼働状態変更画面１５００を表示する（ステップＳ６０７）。
【００９７】
ここで、図１５を参照して、図６のステップＳ６０７で管理者作業端末１０６のディスプレイ装置２１０に表示されるプリンタ稼働状態変更画面１５００の構成の一例について説明する。
【００９８】
図１５に示す通り、プリンタ稼働状態変更画面１５００は、プリンタ状態表示部１５０１、稼働状態変更指示ボタン１５０２、閉じるボタン１５０３等を備えて構成されている。
【００９９】
プリンタ状態表示部１５０１は、それぞれのプリンタが稼働中であるか、それとも停止中であるか、また、稼働中のプリンタについては正常に稼働しているか、エラーが発生している（異常、警告）か、エラーが発生している場合にはそのエラー内容といった、プリンタの状態を表示する表示部である。
【０１００】
稼働状態変更指示ボタン１５０２は、プリンタの稼働状態の変更要求をプリンタ稼働状態変更サーバ１０３に行うために用いられるボタンである。尚、管理者作業端末１０６のＣＰＵ２０１は、このボタンが押下されると、稼働中のプリンタを停止状態に、停止中のプリンタを稼働状態に変更する要求をプリンタ稼働状態変更サーバ１０３に対して送信する。
【０１０１】
閉じるボタン１５０３は、このプリンタ稼働状態変更画面１５００を用いたプリンタ稼働状態の変更処理の終了指示をＣＰＵ２０１に入力するために用いられるボタンである。
【０１０２】
以上が、プリンタ稼働状態変更画面１５００の構成の一例の説明である。
【０１０３】
図６の説明に戻る。ステップＳ６０７でプリンタ稼働状態変更画面１５００をディスプレイ装置２１０に表示した後に、プリンタ稼働状態変更画面１５００を介して、システム管理者の操作指示に基づくプリンタ稼働状態変更指示を受け付ける（ステップＳ６０８）。具体的には、稼働状態変更指示ボタン１５０２に対する押下指示を受け付ける。
【０１０４】
管理者作業端末１０６のＣＰＵ２０１は、プリンタ稼働状態変更指示を受け付けると、稼働状態の変更指示を受け付けたプリンタ（押下された稼働状態変更指示ボタン１５０２に対応するプリンタ）の稼働状態変更要求を、プリンタ稼働状態変更サーバ１０３に対して送信する（ステップＳ６０９）。
【０１０５】
プリンタ稼働状態変更サーバ１０３のＣＰＵ２０１は、管理者作業端末１０６からのプリンタの稼働状態変更要求を受け付けると（ステップＳ６１０）、変更要求を受け付けたプリンタの稼働フラグ１１０４の変更要求をＤＢサーバ１０２に対して行う（ステップＳ６１１）。ＤＢサーバ１０２のＣＰＵ２０１は、この変更要求に応じて、指定されたプリンタの稼働フラグ１１０４を変更する。つまり、変更要求を受け付けたプリンタが「稼働中」のプリンタであれば「停止中」に、「停止中」のプリンタであれば「稼働中」に稼働フラグ１１０４の登録情報を変更する。尚、稼働フラグ１１０４を「停止中」に変更した場合には、ステータス１１０５やエラー内容１１０６の登録情報を削除するようにしても良い。
【０１０６】
プリンタ稼働状態変更サーバ１０３のＣＰＵ２０１は、ステップＳ６１１で行った変更要求に応じたＤＢサーバ１０２によるプリンタ情報の変更が終了すると、その処理結果を管理者作業端末１０６に送信し、管理者作業端末１０６のＣＰＵ２０１は、処理結果を受信する（ステップＳ６１３）。尚、この処理結果が、変更処理のエラーを示すものである場合には、管理者作業端末１０６のＣＰＵ２０１は、その旨の表示をディスプレイ装置２１０に表示するなどし、システム管理者に対してプリンタ稼働状態の変更処理でエラーが発生したことを報知する。
【０１０７】
その後、管理者作業端末１０６のＣＰＵ２０１は、プリンタ稼働状態変更画面１５００中の閉じるボタン１５０３に対する押下指示を受け付けることで入力される処理の終了指示を受け付けたかを判定し（ステップＳ６１４）、受け付けていない（ＮＯ）と判定した場合には、処理をステップＳ６０８に進める。一方、処理の終了指示を受け付けた（ＹＥＳ）と判定した場合には、本図に示す処理を終了する。
【０１０８】
以上が、管理者作業端末１０６のＣＰＵ２０１、及び、プリンタ稼働状態変更サーバ１０３によって行われるプリンタ稼働フラグ変更処理の説明である。
【０１０９】
次に、図７を参照して、クライアント端末１０５のＣＰＵ２０１及び印刷管理サーバ１０１のＣＰＵ２０１によって行われる印刷データ管理情報登録処理について説明する。
【０１１０】
クライアント端末１０５のＣＰＵ２０１は、文書データ等に対する印刷指示を受け付けたと判定すると（ステップＳ７０１でＹＥＳ）、図１７の出力先プリンタ選択画面をディスプレイ装置２１０に表示し、図１７の名前１７０１において印刷出力先のプリンタ１０４の選択を受け付ける（ステップＳ７０２）。
ここで図１７についてあらかじめ説明する。
【０１１１】
図１７は、ユーザからの印刷指示を受け付ける画面、クライアント端末側ユーザ定義用紙を定義するための画面の一例である。
【０１１２】
１７００は、前述の通りプリンタ選択画面をするため、印刷指示をするための画面である。
【０１１３】
１７１０は、プリンタのプロパティ設定画面である。クライアント端末の画面において、ユーザの指示によりプリンタの一覧を表示し、表示されたプリンタの一覧（１または複数）からプロパティを選択したいプリンタをユーザに指示させると、１７１０の画面が表示される。ユーザによりユーザ設定用紙ボタン１７０２を押下されると、１７２０の画面が表示される。ユーザは１７２０の画面を用いて、印刷指示をする前にあらかじめユーザ定義用紙を定義することができる。ユーザ定義用紙名１７０３（例ではＭＹ−ＰＡＰＥＲ−１）と、サイズ（単位、用紙の縦横のサイズ）を定義する。１７２０続いて１７１０の画面のＯＫボタンを押下すると、設定した定義がプリンタのプロパティとして記憶される。ここで記憶されたユーザ定義用紙は、印刷指示受付時、すなわち前述のステップＳ７０２でプリンタを選択した後に選択可能となる（１７００の画面のプロパティボタンを押下し、１７１０と同じ画面が表示され選択可能となる）。
【０１１４】
以上が、ユーザからの印刷指示を受け付ける画面、クライアント端末側ユーザ定義用紙を定義するための画面の一例としての図１７の説明である。
【０１１５】
その後、クライアント端末１０５のＣＰＵ２０１は、両面区分（両面／片面）、印刷レイアウト、用紙サイズ、カラーモード（カラー／モノクロ）、トナー節約有／無、等の印刷設定の指定を受け付ける（ステップＳ７０３）。そして、ステップＳ７０１で指定されたプリンタ１０４のプリンタドライバを用いて、ステップＳ７０３で指定された印刷設定形式で印刷出力を行うための印刷データを作成し（ステップＳ７０４）、作成した印刷データを印刷管理サーバ１０１に対して送信する（ステップＳ７０５）。
【０１１６】
印刷管理サーバ１０１のＣＰＵ２０１は、クライアント端末１０５から送信された印刷データを受信し（ステップＳ７０６）、次に受信した印刷データを解析する（ステップＳ７０７）。印刷データには、クライアント端末１０５でユーザが指定した用紙（指示用紙）の情報が含まれ、ここで指定用紙のサイズも取得する（指示用紙サイズ取得部）。
【０１１７】
印刷管理サーバ１０１のＣＰＵ２０１は、解析した印刷データに基づき、印刷する用紙を決定し、当該印刷データの印刷出力に要する使用ポイントを算出する（ステップＳ７０８）。ステップＳ７０８の詳細は、図１６のフローチャートを用いて説明する。
【０１１８】
図１６は、印刷管理サーバ１０１によって行われる印刷処理の一例を示す図である。この処理は、印刷管理サーバ１０１のＣＰＵ２０１によって行われる処理である。
【０１１９】
印刷管理サーバ１０１のＣＰＵ２０１は、解析された印刷データにおける印刷用紙が、ユーザ定義用紙（クライアント側定義）か否かを判定する（ステップＳ１６０１：指示用紙種別判定）。ユーザ定義用紙（クライアント側定義）である場合（ＹＥＳの場合）は、ステップＳ１６０４に進む。ユーザ定義用紙ではない場合（標準用紙を指定されている場合。ＮＯの場合）は、ステップＳ１６０２に進む。
【０１２０】
印刷管理サーバ１０１のＣＰＵ２０１は、解析された印刷データにおいて指定されている標準用紙（Ａ４、Ｂ５など）をポイント計算の対象用紙とする（ステップＳ１６０２）。
【０１２１】
解析された印刷データにおいては、前記対象用紙、印刷ページ数、カラー／モノクロのいずれか、トナー節約有／無のいずれか、で印刷するよう指定されている。
【０１２２】
印刷管理サーバ１０１のＣＰＵ２０１は、それら指定に基づき、ＤＢサーバ１０２で記憶管理されている印刷ポイント管理テーブル１２００（図１２）の印刷ポイント情報に基づき、当該印刷データの印刷出力に要する使用ポイントを算出する（ステップＳ１６０３）。
【０１２３】
以下の各ステップにより、印刷データにおいて指定された印刷用紙が、ユーザ定義用紙である場合に、プリンタ側ユーザ定義用紙の中から、該ユーザ定義用紙以上のサイズであって、且つ、一番面積の小さい用紙を決定する。一番面積が小さい用紙として決定された用紙を、後でポイント計算の対象用紙とするため登録しておく。
【０１２４】
印刷管理サーバ１０１のＣＰＵ２０１は、プリンタ側にセットされている全てのユーザ定義用紙情報を取得する。具体的には、プリンタ管理テーブル１１００の稼働中プリンタのセット済み用紙種別から、プリンタ側にセットされたユーザ定義用紙（標準用紙ではない用紙）のサイズ情報を全て取得する。ユーザ定義用紙であるか否かは、図１２の印刷ポイント管理テーブル１２００の用紙種別１２０８を参照し、サイズは用紙縦横サイズ１２０７から取得する（ステップＳ１６０４：プリンタ用紙情報一覧取得部で取得した一覧から指示用紙種別判定手段でユーザ定義用紙と判定したものを一覧とする。）。
【０１２５】
次に、印刷管理サーバ１０１のＣＰＵ２０１は、前述で取得した稼働中のプリンタにセットされた全てのユーザ定義用紙に対して、ステップＳ１６０５からステップＳ１６１１のループ処理を実行する。まず、全てのユーザ定義用紙から、１件のプリンタ側ユーザ定義用紙情報に着目する（ステップＳ１６０６）。そして該着目したプリンタ側ユーザ定義用紙情報における縦横サイズが、クライアント端末１０５においてユーザに指定されたクライアント側ユーザ定義用紙情報のサイズよりも以上か否かを判定する。具体的には、縦の長さ、横の長さともにクライアント側ユーザ定義用紙以上であるか否かを判定する（ステップＳ１６０７）。クライアント側ユーザ定義用紙以上のサイズである場合（ＹＥＳの場合）には、ステップＳ１６０８に進む。クライアント側ユーザ定義用紙より小さい場合（ＮＯの場合）には、ステップＳ１６１１に進む。
【０１２６】
印刷管理サーバ１０１のＣＰＵ２０１は、前述したポイント計算の対象用紙の登録があるか否か確認する（ステップＳ１６０８）。Ｓ１６０５からＳ１６１１の処理が少なくとも１回実行され、ユーザから指示されたサイズ以上のプリント側ユーザ定義用紙がある場合には登録がある場合（ＹＥＳの場合）には、ステップＳ１６０９に進む。そうでない場合（ＮＯの場合）には、ステップＳ１６１０に進む。
【０１２７】
印刷管理サーバ１０１のＣＰＵ２０１は、既にポイント計算の対象用紙として登録されているユーザ定義用紙の面積と、現在着目中の用紙の面積を比較する（ステップＳ１６０９、プリンタ用紙選択部）。現在着目中の用紙の面積の方が小さい場合（ＹＥＳの場合）には、ステップＳ１６１０に進む。現在登録されている用紙の面積の方が小さい場合（ＮＯの場合）には、ステップＳ１６１１に進む。
【０１２８】
印刷管理サーバ１０１のＣＰＵ２０１は、現在着目中の用紙をポイント計算の対象用紙として登録し直す（ステップＳ１６１０）。その後、前述の通りステップＳ１６０３で使用ポイントを計算する。
【０１２９】
前述で、使用ポイント計算の対象用紙を登録するとしているが、複数のプリンタ１０４の中から、他のプリンタを指定し直すことを可能とするためには、プリンタの名前も登録する。また、面積を比較した際に同一であれば、いずれも（すなわち複数）の対象用紙を登録できるようにしてもよい。
【０１３０】
また、図１６のフローチャートでは、クライアント側ユーザ定義用紙のサイズと比較するプリンタ側の用紙として、プリンタ側ユーザ定義用紙を対象としていたが、標準用紙も対象とする処理構成にしてもよい。この場合は、標準用紙についても図１２の印刷ポイント管理テーブル１２００において、標準用紙の場合も用紙縦横サイズ１２０７を登録しておく方法でも実現が可能である。
【０１３１】
さらに、図１６のフローチャート（特にステップＳ１６０９）では、印刷対象用紙を決定するために、プリンタ側ユーザ定義用紙の面積を用いて判断をしていた。これは、印刷用紙の面積が小さいほど、省資源であり、従って省資源の目的では面積により判断する処理が適切と考えられるためである。しかしながら、省資源の目的で、面積と使用ポイントが比例して対応付けられるように設定することも考えられる。その場合には、ステップＳ１６０９でダイレクトに、使用ポイントが少ない用紙を印刷対象の用紙を使用するように判定してもよい。また、選択する用紙はここでは必ず１つとしているが、使用ポイントが少ない順番に複数記憶するようにし、ユーザに選択させるようにしてもよい。
以上で、図１６のフローチャートの説明を完了する。
【０１３２】
図７の説明に戻る。印刷管理サーバ１０１のＣＰＵ２０１は、印刷データで指示されている用紙が、ユーザ定義用紙（クライアント側）であるか否かを判定する（Ｓ７０９）。ユーザ定義用紙（クライアント側）である場合（ＹＥＳの場合）は、ステップＳ７１０に進む。ユーザ定義用紙（クライアント側）ではない場合（標準サイズの場合。ＮＯの場合）は、ステップＳ７１７に進む。
【０１３３】
印刷管理サーバ１０１のＣＰＵ２０１は、再度図１６と同じ処理を実行するが、その際に印刷データで指示されているサイズの縦と横を入れ替えて、処理を実行する（ステップＳ７１０）。その後、ステップＳ７０８で算出した使用ポイントと、ステップＳ７１０で算出した使用ポイントとのいずれが少ないかを判定する（ステップＳ７１１）。縦横を入れ替えたポイント（ステップＳ７１０で算出したポイント）の方が少ない場合には、ステップＳ７１２に進む。そうでない場合にはステップＳ７１７に進む。
【０１３４】
印刷管理サーバ１０１のＣＰＵ２０１は、印刷データを印刷する際に、縦横を入れ替えて印刷した方が、使用ポイントが少なくなるため、入れ替えて印刷してよいか否かをクライアント端末１０５のユーザに確認するための通知をする（ステップＳ７１２、優先的に使用する用紙の確認）。
【０１３５】
前記印刷データを送信したクライアント端末１０５のＣＰＵ２０１は、入れ替え確認を受信し（ステップＳ７１３）、確認内容をユーザに提示し（後述する図１８）、ユーザの判断を受け付ける（ステップＳ７１４）。
【０１３６】
図１８は、クライアント端末１０５において、ユーザにユーザ定義用紙／縦横入れ替えの確認をする画面の一例を示す図である。
【０１３７】
即ち、前述処理で、ユーザ指示した印刷データを解析してクライアント側ユーザ定義用紙を取得し、管理サーバ１０１がプリンタ１０４で実際に印刷するプリンタ側ユーザ定義用紙と、縦横入れ替えを確認する。後述するように、印刷管理サーバ１０１が管理している他のプリンタに最適なプリンタ側ユーザ定義用紙があれば、それも選択対象となるようにしてもよいため、図１８の確認内容には、印刷するプリンタの変更が提示されていてもよい。また複数のプリンタ、用紙が候補になるのであれば、複数の中から選択させる画面構成になっていてもよい。
【０１３８】
確認画面で、ユーザがＯＫボタンを押下すると印刷指示が印刷管理サーバ１０１に通知され、キャンセルボタンを押下すると印刷処理を中止する。以上で図１８の確認画面の一例の説明を完了する。
【０１３９】
図７の説明に戻る。クライアント端末１０５のＣＰＵ２０１は、縦横入れ替えの判断結果を印刷管理サーバ１０１に送信する（ステップＳ７１５）。
【０１４０】
印刷管理サーバ１０１のＣＰＵ２０１は、クライアント端末１０５におけるユーザの判断を受信する（ステップＳ７１６：印刷確認受信）。
【０１４１】
受信した印刷データをあらかじめ決められた所定のディレクトリに記憶する（ステップＳ７１７）。
【０１４２】
前述の処理で使用ポイントを算出した後に、印刷管理サーバ１０１のＣＰＵ２０１は、ＤＢサーバ１０２に対して、ＤＢサーバ１０２で記憶管理されている印刷データ管理テーブル１４００（図１４）に、受信した印刷データを管理するためのレコードの追加登録要求、及び、新規に追加したレコードの各データ項目に、ステップＳ７０６で受信した印刷データから取得される各種の情報等の登録要求を行う（ステップＳ７１８）。尚、印刷データ管理テーブル１４００のデータ構成の一例については図１４を参照して後述する。
【０１４３】
以上が、クライアント端末１０５のＣＰＵ２０１及び印刷管理サーバ１０１のＣＰＵ２０１によって行われる印刷データ管理情報登録処理の一例の説明である。
【０１４４】
ここで、図１２を参照して、ＤＢサーバ１０２の外部メモリ２１１に記憶されている印刷ポイント管理テーブル１２００のデータ構成の一例について説明する。
【０１４５】
図１２に示す通り、印刷ポイント管理テーブル１２００は、用紙サイズ１２０１、ポイント（用紙）１２０２、ポイント（モノクロ）１２０３、ポイント（カラー）１２０４、ポイント（トナー節約有）１２０５、ポイント（トナー節約無）１２０６、用紙縦横サイズ１２０７、用紙種別１２０８等のデータ項目を備えて構成されている。
【０１４６】
用紙サイズ１２０１は、用紙のサイズ情報が登録されるデータ項目である。ポイント（用紙）１２０２は、用紙サイズ１２０１に設定された用紙１枚を使用する際に必要となるポイントが登録されるデータ項目である。両面印刷を行う場合には、２ページでこのデータ項目に登録されるポイントが、片面印刷を行う場合には、１ページでこのデータ項目に登録されるポイントが必要となる。
【０１４７】
ポイント（モノクロ）１２０３は、用紙サイズ１２０１に登録されているサイズの用紙を用いてモノクロ印刷を行う際に、１ページ印刷するために必要となるポイントが登録されるデータ項目である。ポイント（カラー）１２０４は、用紙サイズ１２０１に登録されているサイズの用紙を用いてカラー印刷を行う際に、１ページ印刷するために必要となるポイントが登録されるデータ項目である。
【０１４８】
ポイント（トナー節約有）１２０５は、トナー節約モードで印刷を行う場合に、追加で必要となるデータ項目である。また、ポイント（トナー節約無）１２０６は、トナー節約を行わず、通常モードでの印刷を行った場合に追加で必要となるデータ項目である。
【０１４９】
用紙縦横サイズ１２０７は、図１２の例では、データがユーザ定義用紙である場合に、用紙サイズの横および縦の長さを登録するデータ項目である。しかしながら、図７、図１６のフローチャートで説明するように、ユーザが指定した印刷指示サイズに対応する用紙を決定する際に、ユーザ定義用紙だけではなく、Ａ４、Ａ３などの標準的な用紙も比較対象とする場合には、標準的な用紙にも用紙縦横サイズを登録してもよい。本発明では、ユーザ定義用紙のみサイズを指定しているが、あくまで一例である。
【０１５０】
用紙種別１２０８は、データの該当用紙が、標準用紙かユーザ定義用紙かの種別を登録するデータ項目である。
【０１５１】
以上が、ＤＢサーバ１０２の外部メモリ２１１で記憶管理される印刷ポイント管理テーブル１２００のデータ構成の一例の説明である。
【０１５２】
次に、図１４を参照して、ＤＢサーバ１０２の外部メモリ２１１で記憶管理される印刷データ管理テーブル１４００のデータ構成の一例について説明する。
【０１５３】
図１４に示す通り、印刷データ管理テーブル１４００は、印刷データＩＤ１４０１、ユーザＩＤ１４０２、受付プリンタＩＤ１４０３、出力プリンタＩＤ１４０４、ドキュメント名１４０５、ＩＰアドレス１４０６、ステータス１４０７、印刷部数１４０８、ページ数１４０９、両面区分１４１０、印刷レイアウト１４１１、用紙サイズ１４１２、カラーモード１４１３、トナー節約モード１４１４、使用ポイント（モノクロ）１４１５、使用ポイント（カラー）１４１６、ファイルパス１４１７等のデータ項目を備えて構成されている。
【０１５４】
印刷データＩＤ１４０１は、印刷データを一意に識別するための識別情報が登録されるデータ項目である。ユーザＩＤ１４０２は、印刷データの印刷指示を行ったユーザ、つまりは印刷データを送信したクライアント端末１０５を使用するユーザのユーザＩＤが登録されるデータ項目である。尚、このデータ項目に登録する情報は、印刷データから取得することになる。印刷指示を行ったユーザが特定できれば、ユーザＩＤ以外の情報を登録するようにしても構わない。
【０１５５】
受付プリンタＩＤ１４０３は、印刷データの受信時に、出力先プリンタとして設定されているプリンタのプリンタＩＤが登録されるデータ項目である。出力プリンタＩＤ１４０４は、印刷データの印刷出力に実際に使用するプリンタのプリンタＩＤが登録されるデータ項目である。
【０１５６】
ドキュメント名１４０５は、印刷データを作成する際に用いたファイルのファイル名が登録されるデータ項目である。ファイル名は、印刷データから取得することが可能である。ＩＰアドレス１４０６は、印刷データを送信したクライアント端末１０５のＩＰアドレスが登録されるデータ項目である。尚、この情報はクライアント端末１０５と各種の通信を行う際に用いられる情報である。
【０１５７】
ステータス１４０７は、印刷データのステータスが登録されるデータ項目である。印刷データのステータスとしては、印刷データをプリンタ１０４に送信する前の状態を示す「未処理」、印刷データをプリンタ１０４に送信後、実際に印刷データの印刷が開始される前の状態を示す「印刷待ち」、プリンタ１０４で印刷実行中である状態を示す「印刷中」等がある。
【０１５８】
印刷部数１４０８は、印刷データの印刷部数が登録されるデータ項目である。ページ数１４０９は、印刷データのページ数が登録されるデータ項目である。両面区分１４１０は、当該印刷データの印刷を行う際に、両面印刷で印刷するかそれとも片面印刷で印刷するかを示す情報が登録されるデータ項目である。印刷レイアウト１４１１は、印刷データの印刷時の印刷レイアウト（１ページ／枚、２ページ／枚等）が登録されるデータ項目である。用紙サイズ１４１２は、印刷データの印刷時に使用する用紙のサイズ情報が登録されるデータ項目である。カラーモード１４１３は、印刷データの印刷時のカラーモード（モノクロ／カラー）を示す情報が登録されるデータ項目である。トナー節約モード１４１４は、トナー節約モードが設定されているか（ＯＮ）否か（ＯＦＦ）を示す情報が登録されるデータ項目である。印刷管理サーバ１０１のＣＰＵ２０１は、これらデータ項目に登録される情報を用いて、印刷データを印刷するために必要となる使用ポイントを算出する。
【０１５９】
使用ポイント（モノクロ）１４１５は、印刷データを印刷する際に必要となるモノクロ印刷用のポイントが登録されるデータ項目である。使用ポイント（カラー）１４１６は、印刷データを印刷する際に必要となるカラー印刷用のポイントが登録されるデータ項目である。ファイルパス１４１７は、印刷管理サーバ１０１の外部メモリ２１１に記憶された印刷データのファイルパスが登録されるデータ項目である。
【０１６０】
以上が、印刷データ管理テーブル１４００のデータ構成の一例の説明である。
【０１６１】
次に、図８を参照して、印刷管理サーバ１０１のＣＰＵ２０１によって行われるプリンタ監視処理の一例について説明する。尚、この処理は、出力対象監視スレッドによる処理である。
【０１６２】
まず、印刷管理サーバ１０１のＣＰＵ２０１は、出力対象監視スレッドの停止フラグが立っているかを判定する（ステップＳ８０１）。停止フラグが立っていない（ＮＯ）と判定した場合には、処理をステップＳ８０２に進め、印刷データ管理テーブル１４００を用いて、まだプリンタに送信していない印刷データを取得する。ここでは、この出力対象監視スレッドが監視対象としているプリンタ１０４のプリンタＩＤが受付プリンタＩＤ１４０３に登録されており、且つ、ステータス１４０７が未処理であるレコードを取得し、そのファイルパス１４１７に登録されている情報に基づいて印刷データを取得する。
【０１６３】
そして、印刷管理サーバ１０１のＣＰＵ２０１は、ステップＳ８０２の処理で、印刷データを取得できたと判定した場合には（ステップＳ８０３でＹＥＳ）、処理をステップＳ８０４に進め、取得した印刷データの印刷、状態監視を行うための出力スレッドを起動する。この出力スレッドで行われる印刷処理については、図９、図１０を参照して後述する。
【０１６４】
そして、出力スレッドで行われた印刷処理において印刷エラーが発生した場合には（ステップＳ８０６でＹＥＳ）、処理をステップＳ８０７に進め、当該印刷データを送信したクライアント端末１０５に対して、印刷エラー通知を送信する。印刷エラーが発生していない場合には、処理をステップＳ８０１に処理を戻す。
【０１６５】
印刷管理サーバ１０１のＣＰＵ２０１は、ステップＳ８０３の判定処理で出力対象とする印刷データを取得できなかった（ＮＯ）と判定した場合には、監視対象であるプリンタ１０４のステータス情報を取得するか否かを判定する（ステップＳ８０８）。例えば、前回プリンタのステータス情報の取得から所定の時間経過している場合に、印刷管理サーバ１０１のＣＰＵ２０１はプリンタ１０４のステータス情報を取得する（ステップＳ８０８でＹＥＳ）と判定する。
【０１６６】
ステップＳ８０８の判定処理でＹＥＳと判定した場合には、印刷管理サーバ１０１のＣＰＵ２０１は、ＳＮＭＰを用いたプリンタ１０４との通信により、プリンタ１０４のステータス情報を取得する（ステップＳ８０９）。その後、プリンタ１０４より取得したステータス情報に従って、プリンタ管理テーブル１１００中の当該プリンタの状態を管理するためのレコードのステータス１１０５、エラー内容１１０６を更新する（ステップＳ８１０）。
【０１６７】
その後、印刷管理サーバ１０１のＣＰＵ２０１は、ステップＳ８０９で取得したステータス情報に従って、プリンタのステータス判定を行う（ステップＳ８１１）。このステータス判定の結果、プリンタのステータスが正常動作中である（ステップＳ８１１で「正常」）と判定した場合には、処理をステップＳ８０１に戻す。一方、このステータス判定の結果、プリンタが警告状態、または異常状態である（ステップＳ８１１で「警告／異常」）と判定した場合には、処理をステップＳ８１２に進め、管理者作業端末１０６に対して、プリンタが警告状態、または異常状態である旨の通知を行う。その後、処理をステップＳ８０１に進める。
【０１６８】
尚、管理者作業端末１０６を操作する管理者は、ステップＳ８１２で送信される通知の内容を確認し、プリンタを停止する（つまりは使用不可状態にする）必要があると判断した場合に、管理者作業端末１０６の入力装置２０９を操作することで、管理者作業端末１０６のＣＰＵ２０１に対して、プリンタ稼働フラグ変更処理の実行指示を入力することになる。管理者作業端末１０６のＣＰＵ２０１は、プリンタ稼働フラグ変更処理の実行指示の入力を受け付けると、図６に示すプリンタ稼働フラグ変更処理を実行する。
【０１６９】
印刷管理サーバ１０１のＣＰＵ２０１は、ステップＳ８０１の判定処理で、停止フラグが立っている（ＹＥＳ）と判定した場合には、処理をステップＳ８１３に進め、当該出力対象監視スレッドを停止する。尚、出力対象監視スレッドを停止する前に、ステップＳ８０４の処理で立ち上げた全ての印刷スレッドが終了しているかを判定し、全ての印刷スレッドが終了している場合には、出力対象監視スレッドを終了にするように構成することが好ましい。
【０１７０】
本発明では、このように構成することにより、プリンタ１０４のステータスが変わった場合にシステム管理者にその旨の通知が行われ、システム管理者による迅速な対応を行うことを可能としている。また、プリンタに警告が発生した場合にも通知が行われるので、システム管理者の迅速な対応により、プリンタが異常状態になることを好適に防ぐことにも貢献する。これにより、ユーザに対して、好適な印刷環境を提供することにも貢献することが可能となる。
【０１７１】
次に、図９、図１０を参照して、印刷管理サーバ１０１のＣＰＵ２０１によって行われる、印刷処理の詳細について説明する。この処理は、図８のステップＳ８０４で起動される出力スレッドで行われる処理である。
【０１７２】
まず、印刷管理サーバ１０１のＣＰＵ２０１は、印刷データの印刷処理を実行させるプリンタとして指定されたプリンタ（出力先プリンタ）のステータス情報を取得する（ステップＳ９０１）。この時、例えばＳＮＭＰを用いた通信により、出力先プリンタのステータスを取得する。そして、ステップＳ９０１で取得したステータス情報を用いて出力先プリンタのステータス（状態）を判定する（ステップＳ９０２）。
【０１７３】
印刷管理サーバ１０１のＣＰＵ２０１は、出力先プリンタのステータスが警告状態であると判定した場合には（ステップＳ９０２で「警告」）、処理をステップＳ９０３に、出力先プリンタのステータスが異常状態であると判定した場合には（ステップＳ９０２で「異常」、処理をステップＳ９０９に、出力先プリンタのステータスが通常動作中である判定した場合には（ステップＳ９０２で「正常」）、処理を図１０のステップＳ１００１に進める。尚、異常状態とは、紙詰まりや、トナー切れ、用紙切れ等、印刷処理を実行できない状態を意味する。また、警告状態とは、用紙が所定の残量以下である場合や、トナーが所定の残量以下の場合等、印刷は可能であるが、印刷処理の途中で異常状態に移行する可能性がある状態をいう。
【０１７４】
印刷管理サーバ１０１のＣＰＵ２０１は、ステップＳ９０３において、出力先プリンタの代替プリンタを、プリンタ管理テーブル１１００（図１１）を用いて特定し、特定した代替プリンタのステータス情報を、ＳＮＭＰを用いた通信等により取得する。そして、ステータス情報を用いて当該代替プリンタのステータス（状態）を判定する（ステップＳ９０４）。
【０１７５】
印刷管理サーバ１０１のＣＰＵ２０１は、ステップＳ９０４において、代替プリンタのステータスが正常動作中であると判定した場合には、処理をステップＳ９０５に進め、印刷データの印刷指示を行ったクライアント端末１０５に対して、代替プリンタで印刷データの印刷処理を実行させるか否かの問合せ通知（代替印刷通知（警告））を行う。一方、代替プリンタのステータスが警告状態、または異常状態であると判定した場合には、クライアント端末１０５に対して代替印刷通知（警告）を行うことなく、図１０のステップＳ１００１に進める。尚、代替印刷通知（警告）を行う際には、代替プリンタのステータスが警告状態である場合には、ステータス情報をクライアント端末１０５に対して送信するようにしても構わない。
【０１７６】
この代替印刷通知（警告）に応じてクライアント端末１０５より送信される代替印刷実行指示が、代替印刷の実行である場合には、代替プリンタに当該印刷データの印刷実行処理をさせるため、後述する処理で代替プリンタを出力先プリンタに設定することになる。
【０１７７】
印刷管理サーバ１０１のＣＰＵ２０１は、ステップＳ９０５で代替印刷通知（警告）を行った後に、クライアント端末１０５から、代替プリンタからの印刷（代替印刷を実行する）、または出力先プリンタからの印刷（代替印刷を実行しない）示す代替印刷実行指示を受け付ける（ステップＳ９０６）。そして、ステップＳ９０６で受け付けた代替印刷実行指示が、代替印刷を実行する指示である判定した場合には（ステップＳ９０７でＹＥＳ）、処理をステップＳ９０８に進め、印刷データの出力先プリンタを代替プリンタに変更する。その後、図１０のステップＳ１００１に処理を進める。一方、ステップＳ９０７の判定処理で代替印刷実行指示が代替印刷を実行しない指示である（ＮＯ）と判定した場合には、ステップＳ９０８の処理を行うことなく、図１０のステップＳ１００１に処理を進める。
【０１７８】
印刷管理サーバ１０１のＣＰＵ２０１は、ステップＳ９０２で異常状態であると判定した後に、出力先プリンタの代替プリンタを、プリンタ管理テーブル１１００（図１１）を用いて特定し、特定した代替プリンタのステータス情報を、ＳＮＭＰを用いた通信等により取得する（ステップＳ９０９）。そして、ステータス情報を用いて当該代替プリンタのステータス（状態）を判定する（ステップＳ９１０）。
【０１７９】
印刷管理サーバ１０１のＣＰＵ２０１は、代替プリンタのステータスが異常状態であると判定した場合には（ステップＳ９１０で「異常」）、処理を図１０のステップＳ１０１６に進める。一方、ステップ９１０で代替プリンタのステータスが正常動作中、または警告状態である（「正常／警告」）と判定した場合には、ステップＳ９１１に処理を進め、印刷データの印刷を指示したクライアント端末１０５に対して、代替プリンタで印刷データの印刷処理を実行させるか否かの問合せ通知（代替印刷通知（異常））を行う。
【０１８０】
この代替印刷通知（異常）に応じてクライアント端末１０５より送信される代替印刷実行指示が、代替印刷を実行する指示である場合には、代替プリンタに当該印刷データの印刷実行処理をさせるため、後述する処理で代替プリンタを出力先プリンタに設定することになる。一方、代替印刷を実行しない指示である場合には、印刷データの印刷処理を中止することになる。
【０１８１】
印刷管理サーバ１０１のＣＰＵ２０１は、ステップＳ９１１で代替印刷通知（警告）を行った後に、クライアント端末１０５から、代替プリンタからの印刷実行指示（代替印刷を実行する）、または出力先プリンタからの印刷実行指示（代替印刷を実行しない）示す代替印刷実行指示を受け付ける（ステップＳ９１２）。そして、ステップＳ９１２で受け付けた代替印刷実行指示が、代替印刷を実行する指示である判定した場合には（ステップＳ９１２でＹＥＳ）、処理をステップＳ９１３に進め、印刷データの出力先プリンタを代替プリンタに変更する。その後、図１０のステップＳ１００１に処理を進める。一方、ステップＳ９１２の判定処理で代替印刷実行指示が代替印刷を実行しない指示である（ＮＯ）と判定した場合には、当該印刷データの印刷処理を中止すると決定し、図１０のステップＳ１０１６に処理を進める。
【０１８２】
印刷管理サーバ１０１のＣＰＵ２０１は、図１０のステップＳ１００１において、図９の処理において、出力先プリンタを代替プリンタに変更したかを判定する（ステップＳ１００１）。出力先プリンタを変更していない（ＮＯ）と判定した場合には、処理をステップＳ１００２に進め、出力先プリンタで印刷待ち状態である印刷データ数を、印刷データ管理テーブル１４００（図１４）を用いてチェックする。そして、印刷待ちの印刷データ数が、プリンタ管理テーブル１１００中の当該プリンタの情報を管理するレコードの代替印刷通知閾値１１０９に登録された数値よりも多いか（若しくは以上か）を判定する（ステップＳ１００３）。
【０１８３】
ステップＳ１００３の判定処理で、印刷待ち状態の印刷データの数が代替印刷通知閾値１１０９に登録された数値よりも多い（ＹＥＳ）と判定した場合には、印刷管理サーバ１０１のＣＰＵ２０１は、出力先プリンタの代替プリンタを、プリンタ管理テーブル１１００を用いて特定し、そして、特定した代替プリンタのステータス情報を取得する（ステップＳ１００４）。
【０１８４】
その後、印刷管理サーバ１０１のＣＰＵ２０１は、ステップＳ１００４で取得したステータス情報を用いて代替プリンタのステータス（状態）を判定する（ステップＳ１００５）。その判定の結果、代替プリンタのステータスが正常動作中である（正常）と判定した場合には、処理をステップＳ１００６に進め、印刷データ管理テーブル１４００を用いて、代替プリンタで印刷待ち状態である印刷データ数をチェックする。
【０１８５】
そして、印刷管理サーバ１０１のＣＰＵ２０１は、代替プリンタでの印刷待ち状態の印刷データの数が、あらかじめ設定された所定の数（例えば、出力先プリンタでの印刷待ち印刷データの数）よりも多いか否かを判定する（ステップＳ１００７）。そして、印刷待ちの印刷データ数が所定の数よりも少ない（ステップＳ１００７でＮＯ）と判定した場合には、処理をステップＳ１００８の進め、印刷データの印刷指示を行ったクライアント端末１０５に対して代替プリンタでの印刷を実行するか否かを問い合わせる代替印刷通知を行う。この代替印刷通知を行う際には、印刷管理サーバ１０１のＣＰＵ２０１は、出力先プリンタでの印刷待ち状態の印刷データの数、代替印刷プリンタでの印刷待ち状態の印刷データの数等を付加情報として送信するようにしても良い。
【０１８６】
その後、印刷管理サーバ１０１のＣＰＵ２０１は、ステップＳ１００８で送信した代替印刷通知に応答してクライアント端末１０５から送信される代替印刷実行指示を受け付ける（ステップＳ１００９）。そして、受け付けた代替印刷実行指示が、代替プリンタでの印刷実行を指示する（代替印刷を行う）ものであるかを判定し、代替印刷を行う指示である場合には（ステップＳ１０１０でＹＥＳ）、処理をステップＳ１０１１に進め、代替プリンタを、出力先プリンタに変更する（ステップＳ１０１１）。
【０１８７】
ステップＳ１０１１の処理終了後、若しくは、ステップＳ１００１でＹＥＳ、ステップＳ１００３でＮＯ、ステップＳ１００５で代替プリンタのステータスが警告状態または異常状態であると判定した場合、さらに、ステップＳ１００７でＹＥＳ、ステップＳ１０１０でＮＯと判定した場合には、印刷管理サーバ１０１のＣＰＵ２０１は処理をステップＳ１０１２に進め、ＤＢサーバ１０２に対して、クライアント端末１０５にログインしているユーザが所有する印刷上限値のチェック要求を行う。そして、ＤＢサーバ１０２のＣＰＵ２０１は、この要求に応じて、印刷データを出力先プリンタでの印刷を行うために必要であるポイント（使用ポイント）が当該ユーザの印刷上限値を超過するか、ユーザ管理テーブル１３００を用いてチェックし、その処理結果を印刷管理サーバ１０１に対して送信する。そして、印刷管理サーバ１０１のＣＰＵ２０１は、ＤＢサーバ１０２から受信した処理結果を用いて、印刷データを出力先プリンタでの印刷を行うために必要であるポイント（使用ポイント）が当該ユーザの印刷上限値を超過するか否かを判定する。（ステップＳ１０１３）。
【０１８８】
ここで、図１３を参照して、ＤＢサーバ１０２の外部メモリ２１１に記憶されているユーザ管理テーブル１３００のデータ構成の一例について説明する。このユーザ管理テーブル１３００は、それぞれのユーザが本画像形成システムで印刷を実行するために必要となるポイントを管理するためのデータテーブルであり、データ項目として、ユーザＩＤ１３０１、ユーザ名１３０２、印刷上限値（モノクロ）１３０３、印刷上限値（カラー）１３０４、印刷警告値（モノクロ）１３０５、印刷警告値（カラー）１３０６、印刷実績値（モノクロ）１３０７、印刷実績値（カラー）１３０８等を備えて構成されている。
【０１８９】
ユーザＩＤ１３０１は、ユーザを一意に識別するための識別情報が登録されるデータ項目である。ユーザ名１３０２は、それぞれのユーザのユーザ名が登録されるデータ項目である。
【０１９０】
印刷上限値（モノクロ）１３０３、印刷上限値（カラー）１３０４はそれぞれ、ユーザが有するモノクロ印刷で使用できる印刷ポイント、カラー印刷で使用できる印刷ポイントが登録されるデータ項目である。
【０１９１】
印刷警告値（モノクロ）１３０５、印刷警告値（カラー）１３０６はそれぞれ、ユーザに対して印刷ポイントの残りが少ないことを通知する基準となる残ポイント数が登録されるデータ項目である。例えば、ユーザによる印刷データ印刷指示が行われた場合に、その印刷データを印刷するために必要となる印刷ポイントと当該ユーザの印刷実績値との合計が、当該ユーザの印刷警告値以上、印刷上限値未満となる場合に、印刷管理サーバ１０１のＣＰＵ２０１は、ユーザが使用するクライアント端末１０５に対して警告通知を行う。尚、これ以外の方法で、ユーザが使用するクライアント端末１０５に、ユーザに残り印刷可能ポイントが少ないことを報知するために警告通知を行うようにしても良いことは言うまでもない。
【０１９２】
印刷実績値（モノクロ）１３０７、印刷実績値（カラー）１３０８はそれぞれ、ユーザが文書データの印刷を行うことで使用した印刷ポイントが登録されるデータ項目であり、印刷実績値（モノクロ）１３０７にはモノクロ印刷で使用した印刷ポイント、印刷実績値（カラー）１３０８にはカラー印刷で使用した印刷ポイントが登録される。
【０１９３】
以上が、ユーザ管理テーブル１３００のデータ構成の一例の説明である。
【０１９４】
図１０の説明に戻る。ステップＳ１０１３の判定処理で、印刷データを出力先プリンタでの印刷を行うために必要であるポイント（使用ポイント）が当該ユーザの印刷上限値を超過しない（ＮＯ）と判定した場合には、印刷管理サーバ１０１は、印刷データを出力先プリンタに送信する（ステップＳ１０１４）。そして、印刷データ管理テーブル１４００中の当該印刷データを管理するレコードを更新する（ステップＳ１０１５）。具体的には、当該印刷データのステータスを「未処理」から「印刷待ち」に変更する。
【０１９５】
その後、出力先プリンタでの印刷データの印刷処理が終了したかを監視し（ステップＳ１０１６）、終了していない（ＮＯ）と判定した場合には、処理をステップＳ１０１５に戻す。その際に、印刷データの印刷が開始された場合には、印刷データ管理テーブル１４００中の当該印刷データのステータスを「印刷中」と変更することになる。
【０１９６】
そして、印刷データの印刷が終了した（ステップＳ１０１６でＹＥＳ）と判定すると、印刷管理サーバ１０１のＣＰＵ２０１は、処理をステップＳ１０１７に進め、印刷データの印刷指示を行ったユーザの印刷実績値を更新する。尚、この更新は、印刷データの印刷が終了する前に行っても良い。その場合、印刷データの印刷がキャンセルされた場合には、印刷実績値を元に戻すことになる。
【０１９７】
その後、印刷管理サーバ１０１は、印刷データ管理テーブル１４００を更新する（ステップＳ１０１８）。具体的には、出力先プリンタでの印刷処理が終了した印刷データを管理するレコードを削除する。尚、印刷処理が終了した印刷データを管理するレコードを削除せず、印刷データのステータス１４０７を例えば「印刷終了」に変更することで、そのレコードで管理している印刷データの印刷が終了したことを管理するようにしても勿論構わない。このように構成した場合には、所定のタイミングでステータスが「印刷終了」であるレコードを削除するよう構成することが好ましい。
【０１９８】
ステップＳ１０１８の処理が終了後、また、ステップＳ１０１３の判定処理でＹＥＳと判定した場合、さらに、図９のステップＳ９１０またはステップＳ９１３でＮＯと判定した後、印刷管理サーバ１０１のＣＰＵ２０１は、出力スレッドを終了する（ステップＳ１０１９）。
【０１９９】
以上が、印刷管理サーバ１０１のＣＰＵ２０１によって行われる印刷処理の一例の説明である。以上のように構成することで、プリンタの状態（異常、警告、印刷待ちの印刷データが多い）に応じて、印刷データの印刷処理を他のプリンタに代替させることが可能となる。
【０２００】
以上説明したとおり、本発明では上記のような処理を行うことにより、プリンタの異常等を示すステータス情報を迅速にシステム管理者に通知するとともに、プリンタの状態に応じて、印刷データの印刷処理を適切なプリンタに代替させることが可能となる。また、その際にも、ユーザの意図と関係なく自動的に代替プリンタに出力先を変更させるのではなく、ユーザによる代替印刷指示に応じて、代替印刷を実行する／しないを決定するようにしているので、ユーザがいずれのプリンタから自身が印刷指示した印刷データが出力されるかを把握することが可能となる。
【０２０１】
本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体等としての実
【０２０２】
施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、１つの機器からなる装置に適用してもよい。印刷管理サーバ１０１、ＤＢサーバ１０２、プリンタ稼働状態変更サーバ１０３を１台のサーバ装置で構成することも勿論可能である。
【０２０３】
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システム或いは装置に直接、或いは遠隔から供給するものを含む。そして、そのシステム或いは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合も本発明に含まれる。
【０２０４】
したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【０２０５】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等の形態であってもよい。
【０２０６】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷなどがある。また、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）などもある。
【０２０７】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、前記ホームページから本発明のコンピュータプログラムそのもの、若しくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。
【０２０８】
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明に含まれるものである。
【０２０９】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、ダウンロードした鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【０２１０】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【０２１１】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現される。
【０２１２】
なお、前述した実施形態は、本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。即ち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【０２１３】
１０１  印刷管理サーバ
１０２  データベース（ＤＢ）サーバ
１０３  プリンタ稼働状態変更サーバ
１０４  プリンタ
１０５  クライアント端末
１０６  管理者作業端末
１０７  ＬＡＮ
２０１  ＣＰＵ
２０２  ＲＡＭ
２０３  ＲＯＭ
２０４  システムバス
２０５  入力コントローラ
２０６  ビデオコントローラ
２０７  メモリコントローラ
２０８  通信Ｉ／Ｆ（インタフェース）コントローラ
２０９  入力装置
２１０  ディスプレイ装置
２１１  外部メモリ
【図１】
2014063386.tif 000003
【図２】
2014063386.tif 000004
【図３】
2014063386.tif 000005
【図４】
2014063386.tif 000006
【図５】
2014063386.tif 000007
【図６】
2014063386.tif 000008
【図７】
2014063386.tif 000009
【図８】
2014063386.tif 000010
【図９】
2014063386.tif 000011
【図１０】
2014063386.tif 000012
【図１１】
2014063386.tif 000013
【図１２】
2014063386.tif 000014
【図１３】
2014063386.tif 000015
【図１４】
2014063386.tif 000016
【図１５】
2014063386.tif 000017
【図１６】
2014063386.tif 000018
【図１７】
2014063386.tif 000019
【図１８】
2014063386.tif 000020