(57)【要約】【課題】  従来、印刷順制御のマネジャーサーバは1台であり、このサーバの負荷分散が考慮されていない。大量のジョブを何千もの遠離にあるプリンタに印刷を行うには、このサーバの負荷が多大なリスクとなる。また、このようなシステム構成で印刷処理中のジョブに対するジョブコントロールを行う場合、どのプリントサーバに対し、ジョブコントロール指示を行えばよいか特定できない。【解決手段】  プリントサーバに対し印刷先変更、印刷中止、または優先度変更等のジョブコントロールを行う場合に、印刷を行っているプリントサーバを、データベース等の共通リソースに登録し、そのプリントサーバに対しリクエストを送る。これにより、大量のジョブを制御するプリンタシステムにおいて、クラスタ環境で複数のプリンタサーバを稼動させても確実に印刷を行っているプリンタサーバに対しジョブコントロール指示を出すことを可能とする。【選択図】  図１
2009151467.tif 000002
【特許請求の範囲】
【請求項１】
大量の印刷ジョブを制御するための負荷分散環境のプリントサーバとそのプリントサーバに対し印刷先変更、印刷中止、ジョブの優先度変更のジョブコントロール指示するWebアプリケーションサーバを備え、
データベースに印刷処理の進行情報を保持する手段と、印刷制御を行うプリントサーバでデータベースに保持している印刷処理の進行情報を更新する手段と、この進行情報を元にWebアプリケーションサーバが印刷先変更、印刷中止、ジョブの優先度変更のジョブコントロール指示を行う複数のプリントサーバを決定する手段を備えることを特徴とする配信印刷システム。
【請求項２】
請求項１に記載の配信印刷システムにおいて、
プリントサーバが印刷開始時に、上記ストレージに保持している印刷ジョブ情報に自プリントサーバの識別情報を登録し、印刷データを画像形成装置に転送したら、この情報を印刷ジョブ情報から削除する手段を備えることを特徴とする配信印刷システム。
【請求項３】
請求項１、又は請求項２の配信印刷システムにおいて、
印刷を行っているプリントサーバと出力先プリンタ情報をデータベースに印刷ジョブごとに印刷ジョブ情報として保持する手段と、
Webアプリケーションサーバ印刷先変更、印刷中止、ジョブの優先度変更のジョブコントロール指示を行う複数のプリントサーバを決定する際に印刷を行っているプリントサーバを印刷ジョブ情報から探し、ジョブコントロール指示を行うプリントサーバを特定する手段を備えることを特徴とする配信印刷システム。
【請求項４】
請求項１〜請求項３のいずれかに記載の配信印刷システムにおいて、
印刷先変更に関して指定したジョブが印刷中の場合は、印刷を行っているプリントサーバを検索し、指定のジョブの印刷中止を指示する手段と、中止が成功した場合に指定の出力先プリンタで印刷を行っているプリントサーバがないかをストレージに保持している印刷ジョブ情報から検索し、印刷中のジョブが存在する場合はそのプリントサーバに対し印刷指示を行う手段とを備えることを特徴とする配信印刷システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、負荷分散環境において同じ画像形成装置で処理させる印刷ジョブの印刷順を制御しながら、印刷中のジョブのコントロール処理を実行する配信印刷システム、印刷制御装置及び印刷制御方法ならびに印刷制御方法を実行するプログラムに関するものである。
【背景技術】
【０００２】
何千台ものプリンタに対し、配信印刷を行うプリンタサーバにおいて、大量の印刷ジョブのジョブ制御を、1台のプリンタサーバでおこなうとプリンタサーバが高負荷となり、各ジョブの排紙までに多大な時間がかかってしまう。これを回避するために、複数のプリントサーバを負荷分散させる負荷分散環境（例えばネットワークロードバランサを用いた環境）で稼動させる必要がある。
【０００３】
このような負荷分散環境で印刷を制御するシステムの従来技術として特許文献1のような技術がある。特許文献１は、出力プリントサーバを複数化し、出力サーバの負荷分散を実現している。この技術では負荷分散環境で印刷順を守る方法として、出力プリントサーバは複数配置し負荷分散を実現している。これらの出力プリントサーバの上位にマネジャーサーバを1台配置し、このマネジャーサーバがジョブ順の制御を行うことにより印刷順を守るようにしている。また、出力サーバへの印刷リクエスト時にジョブの優先度順に印刷指示を行う。
【特許文献１】特開２００６−３１３４４２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述した従来技術では、印刷順を制御するマネジャーサーバが1台であり、このサーバの負荷分散が考慮されていない。大量のジョブを何千もの遠離にあるプリンタに印刷を行うには、このサーバの負荷が多大なリスクとなる。また、このようなシステム構成で印刷処理中のジョブに対するジョブコントロールを行う場合、どのプリントサーバに対し、ジョブコントロール指示を行えばよいか特定することができないという課題がある。
【課題を解決するための手段】
【０００５】
上記課題を解決するために本発明の配信印刷システムは、
プリントサーバに対し印刷先変更、印刷中止、ジョブの優先度変更等のジョブコントロール指示するWebアプリケーションサーバを備え、データベース等に印刷処理の進行情報を保持する手段と、印刷制御を行うプリントサーバでデータベース等に保持している印刷処理の進行情報を更新する手段と、この進行情報を元にWebアプリケーションサーバが印刷先変更、印刷中止、ジョブの優先度変更等のジョブコントロール指示を行う複数のプリントサーバを決定する手段を有し、
プリントサーバが印刷開始時に上記ストレージに保持している印刷ジョブ情報に自プリントサーバの識別情報を登録し、印刷データを画像形成装置に転送したら、この情報を印刷ジョブ情報から削除する手段を有し、
印刷を行っているプリントサーバと出力先プリンタ情報をデータベース等に、印刷ジョブごとに印刷ジョブ情報として保持する手段と、Webアプリケーションサーバ印刷先変更、印刷中止、ジョブの優先度変更等のジョブコントロール指示を行う複数のプリントサーバを決定する際に印刷を行っているプリントサーバを印刷ジョブ情報から探し、ジョブコントロール指示を行うプリントサーバを特定する手段を有し、
印刷先変更に関して指定したジョブが印刷中の場合は、まず、印刷を行っているプリントサーバを検索する。そして、指定のジョブの印刷中止を指示する。そして、中止が成功した場合に指定の出力先プリンタで印刷を行っているプリントサーバがないかをストレージに保持している印刷ジョブ情報から検索し、印刷中のジョブが存在する場合はそのプリントサーバに対し印刷指示を行う。
【発明の効果】
【０００６】
本発明によって、プリントサーバに対し印刷先変更、印刷中止、または優先度変更等のジョブコントロールを行う場合に、印刷を行っているプリントサーバを、データベース等の共通リソースに登録し、そのプリントサーバに対しリクエストを送る。これにより、大量のジョブを制御するプリンタシステムにおいて、クラスタ環境で複数のプリンタサーバを稼動させても確実に印刷を行っているプリンタサーバに対しジョブコントロール指示を出すことが可能となる。
【発明を実施するための最良の形態】
【０００７】
次に、本発明の詳細を実施例の記述に従って説明する。
【実施例１】
【０００８】
図１は、本発明の実施形態に係る配信印刷システムのネットワーク構成を示すブロック図である。本システムは、情報処理装置としてのコンピュータ１０１〜１０８、プリンタ（印刷装置）としての画像形成装置１１３〜１１６がある。また、外部ＨＤＤとしての記憶装置１０９、１１０、ネットワークロードバランサ装置１１，１１２も含む。これらが互いに接続されていることにより、全体としてネットワーク１１７を構成している。
【０００９】
情報処理装置としてのコンピュータ１０１〜１０８は、印刷状態表示を行うWebサーバや画像形成装置１１３〜１１６を監視する。また、印刷制御を行うプログラムが実行可能状態で格納されている。また、印刷ジョブ、印刷設定情報、印刷ジョブ情報を記録装置１０９、１１０に保持する。
【００１０】
具体的には、情報処理装置１０１〜１０３は、情報処理装置１０７、１０８で管理し、記録装置１０９、１１０で保持されている印刷ジョブのジョブ情報をWebブラウザ介し情報提供するWebサーバである。このWebサーバにWebブラウザ経由で所望の印刷ジョブの印刷のリクエストを行うと、情報処理装置１０４〜１０６が情報処理装置１０７、１０８から印刷ジョブデータを取得し、画像形成装置１１３〜１１６に印刷ジョブを投入する機能を有する。また、情報処理装置１０４〜１０６は画像形成装置１１３〜１１６から印刷ジョブの状態を取得し、記録装置１０９、１１０に記録する。画像形成装置１１３〜１１６は情報処理装置１０４〜１０６から、印刷データを含む印刷ジョブを受信し、受信した印刷ジョブを解析して印刷する物理的な装置としてのプリントデバイスである。画像形成装置１１３〜１１６としては、電子写真方式を採用したレーザービームプリンタやインクジェット方式を採用したインクジェットプリンタや熱転写方式を利用したプリンタ等、あらゆる方式の印刷装置を採用することができる。
【００１１】
なお、本プリントシステムに含まれる装置間の通信は、ケーブルなどを利用した有線通信でもよいし、電波や光などを利用した無線通信でもよい。
【００１２】
図２は、本発明の実施形態に係る配信印刷システムの情報処理装置１０１〜１０８のハードウェア構成図である。
【００１３】
図２において、２０２は装置全体の制御を行うＣＰＵであり、ハードディスク（ＨＤＤ）２０５に格納されているアプリケーションプログラム、ＯＳ等を実行し、ＲＡＭ２０３にプログラムの実行に必要な情報、ファイル等を一時的に格納する制御を行う。
【００１４】
２０４は記憶手段としてのＲＯＭであり、内部には、基本Ｉ／Ｏプログラム等のプログラム、文書処理の際に使用するフォントデータ、テンプレート用データ等の各種データを記憶する。２０３は一時記憶手段としてのＲＡＭであり、ＣＰＵ２０２の主メモリ、ワークエリア等として機能する。
【００１５】
２０５は外部記憶手段の一つであり、大容量メモリとして機能するハードディスク（ＨＤＤ）である。アプリケーションプログラム、Webサーバプログラム、データベースプログラム、プリンタドライバプログラム、ＯＳ、ネットワークプリンタ制御プログラム、関連プログラム等を格納している。
【００１６】
２０６は表示手段であるディスプレイであり、キーボード２０７から入力したコマンドや、プリンタの状態等を表示したりするものである。
【００１７】
２０８は外部装置Ｉ／Ｆであり、プリンタ、ＵＳＢ機器、周辺機器を接続するためのＩ／Ｆである。
【００１８】
２０７は指示入力手段であるキーボードである。
【００１９】
２０１はシステムバスであり、配信印刷システムの情報処理装置内のデータの流れを司るものである。
【００２０】
２０９はネットワークインタフェースカード（ＮＩＣ）であり、該インタフェース２０９、ネットワーク２１０を介して情報処理装置は外部装置とのデータのやり取りを行う。
【００２１】
なお、上記コンピュータの構成はその一例であり、図２の構成例に限定されるものではない。例えば、データやプログラムの格納先は、その特徴に応じてＲＯＭ、ＲＡＭ、ＨＤＤなどで変更することも可能である。
【００２２】
図３は、本発明の実施形態に係る配信印刷システムの画像形成装置１１３〜１１６のハードウェア構成図である。
【００２３】
１１３〜１１６は画像形成装置であり、３０１はコントローラであり、画像形成装置の制御系を司る機器である。
【００２４】
３０２は装置全体の制御を行うＣＰＵである。ROM３０４に記憶された制御プログラム、ディスクコントローラ(DKC３０８)を介して外部メモリ３１４に記憶された制御プログラムやリソースデータ等に基づいてシステムバス３１０に接続される各種デバイスとのアクセスを統括的に制御する。
【００２５】
３０３はCPU３０２の主メモリ、ワークエリア等として機能するRAMで、図示しない増設ポートに接続されるオプションRAMによりメモリ容量を拡張することができるように構成されている。
【００２６】
３０５は大容量メモリとして機能する外部記憶手段であり、ジョブ自動印刷プログラム、印刷制御プログラム、Ｈｏｌｄ印刷ジョブ及び関係プログラム等を格納している。
【００２７】
３１３は操作パネル（操作部）で画像形成装置１１３〜１１６の動作モード等の設定や画像形成装置１１３〜１１６の動作状況の表示、複写指定等の操作を行なうためのボタンおよび液晶パネルやLED３０６等の表示部が配されている。
【００２８】
３１１は、ネットワークインタフェースカード（ＮＩＣ）であり、該インタフェース３１１を介して情報処理装置は外部装置とのデータのやり取りを行う。
【００２９】
なお、本図で示したプリントエンジン３１２は既知の印刷技術を利用するものであり、好適な実施系として例えば電子写真方式(レーザービーム方式)やインクジェット方式、昇華方(熱転写)方式等が挙げられる。
【００３０】
３０７のラスタコントローラは、ＰＤＬ言語である印刷データを画像データに変換するコントローラである。
【００３１】
３０９の機器I/Fは、USB等で接続可能な外部機器との接続I/Fである。
【００３２】
図４は、本発明の実施形態に係る配信印刷システムのシステム構成をより具体的に示したシステム構成図である。
【００３３】
情報処理装置１０１〜１０８の一部である４０１〜４０３のクライアントPCは、Webブラウザプログラムを内部で保持し、情報処理装置１０１〜１０８の一部である４０４〜４０６のWebアプリケーションサーバに対し、Webページのリクエストを行う。具体的には、印刷ジョブ情報の表示、印刷ジョブ情報の選択、選択したジョブに対し出力を行うプリンタの選択、印刷情報の設定、印刷リクエスト、印刷中ジョブの優先度変更、印刷中止、保存印刷ジョブの削除指示等を行えるWebページを表示する。４０４〜４０６のWebアプリケーションサーバは、４０１〜４０３のクライアントPCのWebブラウザで指示された処理を実行する。具体的には、Webブラウザからのリクエストを後述のWebサーバが受け取り、それを４０４〜４０６のWebアプリケーションサーバがリクエストの処理を行う。Webブラウザからのリクエスト通信の際は、１１１〜１１２バランサの一部である４１１バランサを経由する。この時、４１１バランサは数種類のバランシィング（例えば、ラウンドロビン方式、最少コネクション方式等）で４０４〜４０６のWebアプリケーションサーバに接続を行う。
【００３４】
まず、印刷ジョブ情報（後述：図７）表示は、印刷ジョブ情報を情報処理装置１０７，１０８の一部である４１３データベースサーバを介し、記録装置１０９、１１０の一部である４１５HDDから取得する。この際４０４〜４０６Webアプリケーションサーバにログインしたユーザが参照可能な印刷ジョブ情報を４１３データベースサーバから取得する。本件の配信印刷システムでは画像形成装置１１３〜１１６の一部である４１７〜４２２プリンタの情報（後述：図９）を４１３データベースサーバに保持する。そのプリンタ情報を４０４〜４０６Webアプリケーションサーバが取得する。また、印刷先プリンタを４０１〜４０３クライアントPCのWebブラウザで表示する。このプリンタを選択し、印刷リクエストを４０４〜４０６Webアプリケーションサーバが情報処理装置１０１〜１０８の一部である４０７〜４１０プリントサーバが受け取る。そして、４０７〜４１０プリントサーバは指定された４１７〜４２２プリンタの情報（後述：図９）、ジョブ情報（後述：図７）を４１３データベースサーバから取得する。更に指定されたジョブのジョブデータを情報処理装置１０１〜１０８の一部である４１４ジョブデータ保存サーバを介し、記録装置１０９、１１０の一部である４１５HDDから取得する。４０４〜４０６Webアプリケーションサーバから４０７〜４１０プリントサーバへの印刷リクエストの際は、１１１〜１１２バランサの一部である４１２バランサを経由する。この時、４１２バランサは数種類のバランシィング（例えば、ラウンドロビン方式、最少コネクション方式等）で４０７〜４１０プリントサーバに接続を行う。
【００３５】
４０７〜４１０プリントサーバは取得したジョブデータを指定された４１７〜４２２プリンタに対し投入する。この処理の際には、４０７〜４１０プリントサーバは４１７〜４２２プリンタの監視も行う。
【００３６】
図５は、本発明の実施形態に係る配信印刷システムにおける４０７〜４１０プリントサーバの内部構成を示す構成図である。
【００３７】
５０１印刷リクエスト受付部は、４０４〜４０６Webアプリケーションサーバからの印刷リクエストを受け付ける。リクエストを受け付けると５０２ジョブデータ取得部が、４１３データベースサーバからジョブ情報データ（後述：図７）と４１４ジョブデータ保存サーバからジョブデータを取得する。５０７ジョブスケジューリング部でジョブのスケジュールを管理し、５０４ジョブ送信部で４１７〜４２２プリンタにジョブを送信し、５０５ジョブ監視部で印刷中のジョブを監視する。印刷中は４１３データベースサーバを介し、４１５HDD内の後述のジョブ情報テーブルのステータスを更新する。４０７〜４１０プリントサーバ起動中は必要に応じて５０７デバイス監視部でデバイスの状態を監視する。
【００３８】
図６は、本発明の実施形態に係る配信印刷システムにおける４０４〜４０６Webアプリケーションサーバの内部構成を示す構成図である。
【００３９】
４０４〜４０６WebアプリケーションサーバはWebブラウザからのリクエストを受け付ける６０１Webサーバとそのリクエストに対し実際の処理を行う、６０４アプリケーションサーバから構成される。
【００４０】
６０２ブラウザリクエスト受付部でWebブラウザのリクエストを受け付ける。６０３ページ送信部でWebブラウザに対しページを送信する。６０５ページ生成部でリクエストに対するレスポンスのページを生成する。６０６セッション管理部でWebブラウザからのセッションを管理し、セッション情報の保持を行う。６０７プログラム実行部で４１３データベースサーバに対し、所望のユーザのジョブ情報を取得したり、４０７〜４１０プリントサーバに対し印刷リクエストを行ったりする。６０８通信部で４１３データベースサーバ、４０７〜４１０プリントサーバに対する通信を決められた通信プロトコルを使用し行う。
【００４１】
図７は、本発明の実施形態に係る配信印刷システムにおける４１３データベースサーバが管理する４１５HDD内で保持する印刷ジョブ情報のテーブル構成とレコード構成の一例である。
【００４２】
７０１ジョブ情報テーブルはジョブ情報を保持するテーブルであり、このテーブルは、複数の７０２ジョブ情報レコードで構成される。７０３ジョブ識別IDは、ジョブをユニークに識別するためのIDであり、配信印刷システムでユニークなIDとなる。７０４ジョブ名はジョブの名称である。７０５プリンタ識別情報は、印刷を行う４１７〜４２２プリンタを識別する情報であり、Webブラウザからユーザにより指定され、印刷の際は、４０７〜４１０プリントサーバはこのプリンタに対しジョブ投入、ジョブ監視、デバイス監視を行う。
【００４３】
識別情報としては、プリンタのIPアドレス、ホスト名等が使用される。
【００４４】
７０７ステータスは、ジョブのステータスであり、例えば、“待機中”、“スケジュール待機中”、“転送中”、“転送済み”、“印刷中”、“正常終了”、“エラー終了”等のジョブの印刷中の状態を表すステータス情報を保持する。ジョブ監視を行う４０７〜４１０プリントサーバが状況に応じてこのステータスの値を更新する。これらのジョブ情報は、４１３データベースサーバから４０４〜４０６Webアプリケーションサーバが情報を取得し、Webブラウザで参照が可能である。
【００４５】
図８は、本発明の実施形態に係る配信印刷システムにおける４１３データベースサーバが管理する４１５HDD内で保持する配信印刷システム全体の情報テーブルである。
【００４６】
８０１システム情報テーブルに８０２バランサのIPアドレス（仮想IPアドレス）、８０３データベース接続アドレス、８０４データベース接続パスワードがある。４０４〜４０６Webアプリケーションサーバが４０７〜４１０プリントサーバに対し印刷ジョブを投入する際は、通常８０２バランサのIPアドレス（仮想IPアドレス）に対し接続を行う。接続すると４１２バランサは数種類のバランシィング方法を使用し接続する４０７〜４１０プリントサーバを決め、そのプリントサーバと接続を行う。数種類のバランシィング方法とは、例えば、ラウンドロビン方式、重み付けラウンドロビン方式、最速応答時間/最小サーバ負荷方式、最少コネクション方式等がある。ラウンドロビン方式とは各サーバに均等にトラフィックを振り分ける方法と一般的に言われている方法である。重み付けラウンドロビン方式とはサーバに優先順位を付け、振り分けるトラフィック量をサーバごとに変えることができる方式であると一般的に言われている方法である。最速応答時間/最小サーバ負荷方式とは、最も速くレスポンスがあったサーバ、最も負荷の小さいサーバなどサーバの稼働状況によって振り分ける方法であると一般的に言われている方法である。最少コネクション方式とは、ロードバランサは、サーバに振り分けながらコネクションの状況をテーブルとして管理しているが、その情報から最もコネクションが少ないサーバを抽出し振り分ける方法であると一般的に言われている方法である。
【００４７】
８０３データベース接続アドレス、８０４データベース接続パスワードは、４０４〜４０６Webアプリケーションサーバまたは４０７〜４１０プリントサーバが４１３データベースサーバにログインする時にログイン認証情報として使用する。この値はデータベース上では暗号化し保持する。
【００４８】
図９は、本発明の実施形態に係る配信印刷システムにおける４１３データベースサーバが管理する４１５HDD内で保持するプリンタ情報テーブルである。
【００４９】
９０１プリンタ情報テーブルは、複数のプリンタを保持する構造である。その１つのレコードに保持する項目の、９０２プリンタ名は配信印刷システム内での４１７〜４２２プリンタの名称である。また、９０３プリンタ識別情報は４１７〜４２２プリンタのIPアドレス、またはホスト名等のネットワーク上でのプリンタ識別情報である。９０４ステータスは、４１７〜４２２プリンタの状態をあらわす値であり、４０７〜４１０プリントサーバが５０６デバイス監視部でデバイスの状態を検知すると変更した状態を表す値にこの値を更新する。
【００５０】
９０５ドライバ名は４０７〜４１０プリントサーバが印刷する際に使用するドライバ名称である。
【００５１】
図１０は、４０１〜４０３クライアントPC（Webブラウザ）から、４０４〜４０６Webアプリケーションサーバに対し印刷指示、または、ジョブコントロール指示（例えば、印刷中止、優先度変更、印刷先変更等）を行う際に送るリクエスト情報である。更に４０４〜４０６Webアプリケーションサーバが４０７〜４１０プリントサーバに印刷指示、または、ジョブコントロール指示（例えば、印刷中止、優先度変更、印刷先変更等）を行う際に送るリクエスト情報でもある。１００１リクエスト情報は、１００２プリンタ名と１００３ジョブ識別IDがある。１００２プリンタ名は、９０１プリンタ情報テーブルの９０２プリンタ名と一致する情報であり、４０４〜４０６Webアプリケーションサーバはこの情報から９０３プリンタ識別情報特定する。１００３ジョブ識別IDは、７０１ジョブ情報テーブルの７０３ジョブ識別IDであり、ジョブをユニークに識別するためのIDであり、配信印刷システムでユニークなIDとなる。
【００５２】
図１１は、４０１〜４０３クライアントPC（Webブラウザ）から４１１バランサを介し、４０４〜４０６Webアプリケーションサーバに対し印刷指示処理の動作フローを示したフローチャートである。
【００５３】
１１０１でWebページの印刷実行ページで“印刷実行”ボタンを押下すると１１０２で４０４〜４０６Webアプリケーションサーバに対し１００１印刷リクエスト情報を送る。１１０３で印刷リクエストに対する結果を４０４〜４０６Webアプリケーションサーバから受け取ると、１１０４で結果ページを４０１〜４０３クライアントPCのWebブラウザで表示する。
【００５４】
図１２は、本発明の実施形態に係る配信印刷システムにおける４０４〜４０６Webアプリケーションサーバから４０７〜４１０プリントサーバに対し印刷リクエストを行う処理の動作を示すフローチャートである。
【００５５】
１２０１で４０１〜４０３クライアントPCのWebブラウザから印刷リクエストで送られた１００１印刷リクエスト情報を受信すると、１２０２で１００２プリンタ名と１００３ジョブ識別IDが空でないかを確認する。どちらとも情報がある場合は、１２０３で４１３データベースサーバが管理する４１５HDD内の９０１プリンタ情報テーブルから１００２プリンタ名と一致する９０２プリンタ名のレコードから９０３プリンタ識別情報を取得する。そして、７０１ジョブ情報テーブルから９０３プリンタ識別情報と一致する７０５プリンタ識別情報の７０２ジョブ情報レコードを抽出する。１２０４で抽出レコードがある場合は、１２０５で抽出したレコード内の７０６プリントサーバを参照する。１２０４で抽出レコードがない場合は、１２０９で４１２バランサに対し、８０１システム情報テーブルの８０２バランサIPアドレスで接続する。１２１０で４１２バランサでは、数種類のバランシィング（例えば、ラウンドロビン方式、最少コネクション方式等）方法で４０７〜４１０プリントサーバに接続を行う。１２０６で７０６プリントサーバを参照した結果、値が空でなければ１２０７で４０７〜４１０プリントサーバから７０６プリントサーバ情報で特定されるプリントサーバに対し通信コネクションをはり、印刷リクエストを送る。１２０６でプリントサーバの値が空の場合は、１２０４で他の抽出レコードがあるかを判断する。１２０８で４１２バランサは、４０４〜４０６Webアプリケーションサーバから指定されたプリントサーバに対し通信を行う。１２１１でプリントサーバから印刷リクエストの受け付けに成功したら処理が終わる。１２１１で成功しない場合は、１２１２で４０７〜４１０プリントサーバは４０４〜４０６Webアプリケーションサーバに対しエラー通知と指定したプリンタへ印刷実行中のプリントサーバの情報を返す。４０４〜４０６Webアプリケーションサーバは再度４０７〜４１０プリントサーバから受け取ったプリンタサーバ情報に対応するプリンタサーバに対し印刷リクエストを送る。
【００５６】
図１３は、本発明の実施形態に係る配信印刷システムにおける４１４ジョブデータ保存サーバが管理する４１６HDD内で保持するジョブデータの構成をプリンタ情報テーブルである。
【００５７】
１３１１データ保存構成はジョブをシステム内でユニークに識別するための１３１２ジョブ識別IDと１３１３ジョブデータから構成する。
【００５８】
図１４は、本発明の実施形態に係る配信印刷システムにおける４０７〜４１０プリントサーバから４１７〜４２２プリンタへの印刷処理のフローを示すフローチャートである。
【００５９】
１４０１で４０７〜４１０プリントサーバは４０４〜４０６Webアプリケーションサーバから印刷リクエストを受ける。次に、１４０２で受け取った１００１リクエスト情報の１００３ジョブ識別IDと一致する７０２ジョブ情報レコードを７０１ジョブ情報テーブルから抽出する。そして、抽出した７０２ジョブ情報レコードから７０６プリントサーバ情報を参照する。１４０３で７０６プリントサーバの値が空でない場合は、１４０６でその７０６プリントサーバ情報を取得し、４０４〜４０６Webアプリケーションサーバにエラー通知とともに取得した７０６プリントサーバ情報を送る。１４０３で７０６プリントサーバ情報が空の場合は、７０２ジョブ情報レコードの７０６プリントサーバ情報に自情報処理端末のIPアドレス（または、ホスト名）を書き込む。１４０５で１００１リクエスト情報の１００２プリンタ名で指定された４１７〜４２２プリンタに対しジョブのスケジュール要求を行う。このとき４１３データベースサーバが管理する４１５HDD内の７０１ジョブ情報テーブルの７０７ステータスを“スケジュール待機中”に更新する。１４０７で４１７〜４２２プリンタからスケジュールアップを受信すると、１４０８で４１４ジョブデータ保存サーバのから１００３ジョブ識別IDと１３１１データ保存構成の１３１２ジョブ識別IDと一致する１３１３ジョブデータを取得する。１４０９で取得成功すると、１４１０で１００１リクエスト情報の１００２プリンタ名で指定された４１７〜４２２プリンタに対しジョブデータを送信する。このとき４１３データベースサーバが管理する４１５HDD内の９０１プリンタ情報テーブルから１００２プリンタ名と一致するプリンタレコードを抽出する。そして、ヒットしたレコードの９０３プリンタ識別情報を元に４１７〜４２２プリンタに対しジョブデータを送信する。また、このとき４１３データベースサーバが管理する４１５HDD内の７０１ジョブ情報テーブルの７０７ステータスを“転送中”に更新する。１４１１でジョブデータの送信に成功すると１４１２で４１３データベースサーバが管理する４１５HDD内の７０１ジョブ情報テーブルの７０７ステータスを“転送済み”に更新する。更に７０１ジョブ情報テーブルの７０６プリントサーバ情報を削除（空にする）する。１４１３でジョブ完了通知を４１７〜４２２プリンタから受信すると４１３データベースサーバが管理する４１５HDD内の７０１ジョブ情報テーブルの７０７ステータスを“印刷完了”に更新する。
【００６０】
図１５は、本発明の実施形態に係る配信印刷システムにおけるプリントサーバが更新する印刷処理の進行状況を表す７０７ステータスの遷移フローである。
【００６１】
本ステータスは、４０７〜４１０プリントサーバの処理状況や、５０６デバイス監視部が受信したプリンタからのステータスにより７０７ステータスに反映し更新していくものである。
【００６２】
図１１の印刷指示を行う前の状態（どのプリントサーバも印刷処理を行っていないジョブの７０７ステータス）では７０７ステータスが１５０１待機中になる。図１１、図１２のフローを経て図１４の４０７〜４１０プリントサーバの印刷処理が始まると１４０５で１５０２スケジュール待機中となる。
【００６３】
１４１０で４１７〜４２２プリンタに４０７〜４１０プリントサーバから１３１３ジョブデータを転送すると１５０３転送中となり、送信が完了すると１５０４転送済みになる。１４１３で４１７〜４２２プリンタで印刷完了（排紙済み）になると４０７〜４１０プリントサーバが４１７〜４２２プリンタから印刷官僚の通知を受け、ステータスを１５０６正常終了、１５０７エラー終了とする。
【００６４】
図１２のWebアプリケーションサーバの処理で１２０６のプリントサーバ情報が空で無い状態は、１５０２スケジュール待機中、１５０３転送中、１５０４転送済みである。その他のステータスの場合は、プリントサーバ情報が空となる。本発明では、Webアプリケーションサーバが印刷指示をロードバランスされた複数のプリントサーバのどれかに送る場合にジョブのステータスが次の場合により印刷指示するプリントサーバを決定する。１５０２スケジュール待機中、１５０３転送中、１５０４転送済みのステータス場合、つまりプリントサーバ情報が７０６に存在する場合は、そのプリントサーバに対し印刷指示を行う。プリントサーバ情報が空の場合つまり、１５０１待機中、１５０４転送済み、１５０５印刷中、１５０６正常終了、１５０７エラー終了の場合は４１２バランサに対し印刷指示を送信する。
【００６５】
図１６は、４０１〜４０３クライアントPC（Webブラウザ）から４１１バランサを介し、４０４〜４０６Webアプリケーションサーバに対しジョブコントロール指示の処理動作フローを示したフローチャートである。ジョブコントロール指示とは、例えば、印刷中止、優先度変更、印刷先変更等である。
【００６６】
１６０１でWebページのジョブ一覧ページから所望のジョブを選択し、“ジョブコントロール実行”ボタンを押下する。このとき実行ボタンは複数あるジョブコントロールごとに異なるボタンであってもよい。次に１６０２で４０４〜４０６Webアプリケーションサーバに対し１００１ジョブコントロールリクエスト情報を送る。１１０３でジョブコントロールリクエストに対する結果を４０４〜４０６Webアプリケーションサーバから受け取ると、１１０４で結果ページを４０１〜４０３クライアントPCのWebブラウザで表示する。
【００６７】
図１７は、本発明の実施形態に係る配信印刷システムにおける４０４〜４０６Webアプリケーションサーバから４０７〜４１０プリントサーバに対しジョブコントロールのリクエストを行う処理の動作を示すフローチャートである。
【００６８】
１７０１で４０１〜４０３クライアントPCのWebブラウザからリクエストで送られた１００１リクエスト情報を受信すると、１７０２で１００３ジョブ識別IDが空でないかを確認する。１００３ジョブ識別IDがある場合は、１７０３で４１３データベースサーバが管理する４１５HDD内の７０１ジョブ情報テーブルから１００３ジョブ識別IDと一致する７０２ジョブ情報レコードを抽出する。
【００６９】
１７０４で抽出レコードがある場合は、１７０５で抽出した７０２ジョブ情報レコードの７０６プリントサーバ情報を参照する。そして、１７０６でプリントサーバ情報が空でない場合は、１７０７でその４０７〜４１０プリントサーバに対し、ジョブコントロールリクエストを送る。１７０８で４０７〜４１０プリントサーバか受信成功を受け取ると処理が終わる。１７０８で受信失敗を受け取った場合は、１７０９でエラー通知と共に実行中の"プリンタサーバ"情報を受取り、そのプリントサーバに対しジョブコントロールのリクエストを送る。再度送ったリクエストの結果を１７１０で判断し、成功し場合は処理を終了する。
【００７０】
図１８は、本発明の実施形態に係る配信印刷システムにおける４０７〜４１０プリントサーバから４１７〜４２２プリンタへのジョブコントロール処理（印刷中止、優先度変更、印刷先変更等）のフローを示すフローチャートである。
【００７１】
１８０１で４０７〜４１０プリントサーバは４０４〜４０６Webアプリケーションサーバからジョブコントロール（印刷中止、優先度変更、印刷先変更等）のリクエストを受ける。次に、１８０２で受け取った１００１リクエスト情報の１００３ジョブ識別IDと一致する７０２ジョブ情報レコードを７０１ジョブ情報テーブルから抽出する。そして、抽出した７０２ジョブ情報レコードから７０６プリントサーバ情報を参照する。１８０３で７０６プリントサーバの値が空でない場合は、１８０４で７０６プリントサーバの値が自サーバ識別情報(例えば、自サーバのIPアドレス等)と一致するかを確認する。１８０３で７０６プリントサーバの値が空の場合は、１８０７でエラーを４０４〜４０６Webアプリケーションサーバに通知し処理を終了する。１８０４で７０６プリントサーバの値が自サーバ識別情報(例えば、自サーバのIPアドレス等)と一致しない場合は、１８０６で自サーバの識別情報を４０４〜４０６Webアプリケーションサーバに通知し、処理を終了する。
【００７２】
１８０４で７０６プリントサーバの値が自サーバ識別情報(例えば、自サーバのIPアドレス等)と一致することが確認できると、１８０５でジョブコントロールのリクエストが印刷先変更であるかを確認する。印刷先変更リクエストでない場合は、１８０８で指定されたジョブに対し、指定されたジョブコントロール処理を行う。１８０５でジョブコントロールのリクエストが印刷先変更でない場合は、１８０９で現在印刷を行っている４０７〜４１０プリントサーバに対し、指定のジョブの印刷中止指示を行う。１８１０で印刷中止に成功した場合は、１８１１で１００１リクエスト情報の１００２プリンタに対し印刷を行っている４０７〜４１０プリントサーバを７０２ジョブ情報レコードの７０６プリントサーバ情報より検索する。１８０２で印刷を行っている４０７〜４１０プリントサーバが存在する場合は、１８１３で、１８１１で検索し抽出した４０７〜４１０プリントサーバに対し、印刷指示を行う。
【図面の簡単な説明】
【００７３】
【図１】本発明の実施形態に係る配信印刷システムのネットワーク構成を示すブロック図。
【図２】本発明の実施形態に係る配信印刷システムの情報処理装置のハードウェア構成図。
【図３】本発明の実施形態に係る配信印刷システムの画像形成装置のハードウェア構成図。
【図４】本発明の実施形態に係る配信印刷システムのシステム構成図。
【図５】本発明の実施形態に係る配信印刷システムのプリントサーバの内部構成図。。
【図６】本発明の実施形態に係る配信印刷システムのWebアプリケーションサーバの内部構成図。
【図７】本発明の実施形態に係る配信印刷システムのデータベースサーバが保持する印刷ジョブ情報のテーブル構成とレコード構成の一例を表した図。
【図８】本発明の実施形態に係る配信印刷システムのデータベースサーバが保持するシステム全体情報の構成テーブルの一例を表した図。
【図９】本発明の実施形態に係る配信印刷システムのデータベースサーバが保持する。
【図１０】本発明の実施形態に係る配信印刷システムのクライアントPC（Webブラウザ）からWebアプリケーションサーバに送るリクエスト情報の構成図。
【図１１】本発明の実施形態に係る配信印刷システムのクライアントPC（Webブラウザ）からWebアプリケーションサーバへの印刷リクエスト処理のフローチャート。
【図１２】本発明の実施形態に係る配信印刷システムのWebアプリケーションサーバからプリントサーバへの印刷リクエスト処理のフローチャート（プリントサーバ値によりプリントサーバの実ＩＰか、バランサの仮想ＩＰのどちらと通信を行うかを変える方法）。
【図１３】本発明の実施形態に係る配信印刷システムのジョブ保存サーバのデータ構成図。
【図１４】本発明の実施形態に係る配信印刷システムのプリントサーバからプリンタへの印刷リクエスト処理のフローチャート。
【図１５】本発明の実施形態に係る配信印刷システムのプリントサーバが更新する印刷処理の進行状況を表すステータスの遷移フロー。
【図１６】本発明の実施形態に係る配信印刷システムのクライアントPC（Webブラウザ）からWebアプリケーションサーバへのジョブコントロールリクエスト処理のフローチャート。
【図１７】本発明の実施形態に係る配信印刷システムのWebアプリケーションサーバからプリントサーバへのジョブコントロールリクエスト処理のフローチャート。
【図１８】本発明の実施形態に係る配信印刷システムのプリントサーバからプリンタへのジョブコントロールリクエスト処理のフローチャート。
【符号の説明】
【００７４】
４０１〜４０３  クライアントPC(Webブラウザ)
４０４〜４０６  Webアプリケーションサーバ
４０７〜４１０  プリントサーバ
４１１、４１２  バランサ
４１３  データベースサーバ
４１４  ジョブデータ保存サーバ
４１５、４１６  ＨＤＤ
４１７〜４２２  プリンタ（画像形成装置）
７０１  ジョブ情報テーブル
７０２  ジョブ情報レコード
８０１  システム情報テーブル
９０１  プリンタ情報テーブル
１００１  リクエスト情報
【図１】
2009151467.tif 000003
【図２】
2009151467.tif 000004
【図３】
2009151467.tif 000005
【図４】
2009151467.tif 000006
【図５】
2009151467.tif 000007
【図６】
2009151467.tif 000008
【図７】
2009151467.tif 000009
【図８】
2009151467.tif 000010
【図９】
2009151467.tif 000011
【図１０】
2009151467.tif 000012
【図１１】
2009151467.tif 000013
【図１２】
2009151467.tif 000014
【図１３】
2009151467.tif 000015
【図１４】
2009151467.tif 000016
【図１５】
2009151467.tif 000017
【図１６】
2009151467.tif 000018
【図１７】
2009151467.tif 000019
【図１８】
2009151467.tif 000020