(57)【特許請求の範囲】
【請求項１】
クライアント端末と、
複数のプリンタと、
複数のプリンタに接続される複数の入出力サーバと、
複数の入出力サーバに接続される複数のスプーラと、
を備え、
前記クライアント端末は、ユーザ情報とともに既に接続済みのスプーラがあればその特定情報を複数の入出力サーバに送信し、
複数の入出力サーバのそれぞれは、前記特定情報で示されるスプーラと、自身に接続される接続スプーラが一致しない場合に前記ユーザ情報を前記接続スプーラに出力して登録し、かつ、前記接続スプーラの特定情報を前記クライアント端末に送信し、
前記接続スプーラは、前記クライアント端末から印刷ジョブが発行された場合に、前記ユーザ情報を用いて複数の入出力サーバの中から前記クライアント端末に接続された特定の入出力サーバに対して前記クライアント端末に印刷ポップアップ情報を通知させる、
印刷システム。
【請求項２】
前記ユーザ情報は、少なくとも前記クライアント端末のユーザ名を含み、
前記接続スプーラは、前記印刷ジョブに含まれるユーザ名と前記ユーザ情報に含まれるユーザ名を用いて前記特定の入出力サーバを決定する、
請求項１に記載の印刷システム。
【請求項３】
前記ユーザ情報は、少なくとも前記クライアント端末のユーザ名及びユーザＩＰアドレスを含み、
前記接続スプーラは、前記印刷ジョブに含まれるユーザ名及びユーザＩＰアドレスと前記ユーザ情報に含まれるユーザ名及びユーザＩＰアドレスを用いて前記特定の入出力サーバを決定する、
請求項１に記載の印刷システム。
【請求項４】
前記接続スプーラは、前記印刷ジョブに含まれる全ての印刷データの受信が完了したタイミングで前記特定の入出力サーバに対して前記クライアント端末に印刷ポップアップ情報を通知させる、
請求項１〜３のいずれかに記載の印刷システム。
【請求項５】
前記接続スプーラは、前記印刷ジョブに含まれるジョブオーナ情報の受信が完了したタイミングで前記特定の入出力サーバに対して前記クライアント端末に印刷ポップアップ情報を通知させる、
請求項１〜３のいずれかに記載の印刷システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は印刷システムに関する。  
【背景技術】
【０００２】
近年、企業連合やグループ企業内でのリソース統合等の理由で、印刷環境も一部門に閉じたものから、企業全体あるいは企業グループ全体をカバーするようなシステム構成が必要とされている。このような構成では、多数のサーバが地理／ネットワーク的に分散／分離して配置され、ＮＡＴ(Network Address Translation）による接続が行われることが一般的である。そして、係る環境では、クライアントからサーバへの接続を行った上で、印刷確認のポップアップ情報を待ち受けることが必要となる。
【０００３】
特許文献１には、外部の端末装置からＩＰパケットが送信されてきた際に、そのＩＰパケットに含まれる変換元の外部識別情報と変換先の内部識別情報とが対応付けて記憶されていないと判別した場合、ＩＰパケットを内部ネットワーク内に接続された全ての端末装置ＩＰアドレスを変換して送信し、受信すべき端末装置は当該ＩＰパケットを受信し、それ以外の受信すべきでない端末装置はＩＰパケットを破棄することで、外部ネットワークから目的の端末装置への通信を可能とするアドレス変換装置が記載されている。
【０００４】
特許文献２には、無線通信に関する自己の設定情報に対する変更要求を受けた場合、変更前の設定内容にしたがって、１又は２以上の他の通信端末とセッションをはり、セッションがはられた他の通信端末に対して、変更すべき設定内容を通知し、自己の設定情報を、変更前の設定内容から変更すべき設定内容に変更する通信端末装置が記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００９−２９６３３２号公報
【特許文献２】特開２０１０−３３２６８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、クライアント端末から印刷システムに印刷ジョブを発行する場合、ユーザとしては、印刷確認や変更等のために印刷ポップアップ情報を印刷システムから受信してクライアント端末に表示させることが必要となるが、印刷ポップアップ情報をクライアント端末に送信する場合、印刷ポップアップ情報にはジョブ名等、ユーザに固有の情報や課金先の設定を含むため、全てのクライアント端末に一律に転送することはセキュリティ上の観点から問題がある。
【０００７】
また、クライアント端末が多数存在する場合には、全てのクライアント端末に対して印刷ポップアップ情報を受信すべき正確な接続先（サーバ）を設定させることは手続が煩雑となり現実的でない。
【０００８】
本発明の目的は、過不足無くクライアント端末とサーバとの接続を維持し、印刷ポップアップ情報をクライアント端末に出力し得る印刷システムを提供することにある。  
【課題を解決するための手段】
【０００９】
請求項１に記載の発明は、クライアント端末と、複数のプリンタと、複数のプリンタに接続される複数の入出力サーバと、複数の入出力サーバに接続される複数のスプーラとを備え、前記クライアント端末は、ユーザ情報とともに既に接続済みのスプーラがあればその特定情報を複数の入出力サーバに送信し、複数の入出力サーバのそれぞれは、前記特定情報で示されるスプーラと、自身に接続される接続スプーラが一致しない場合に前記ユーザ情報を前記接続スプーラに出力して登録し、かつ、前記接続スプーラの特定情報を前記クライアント端末に送信し、前記接続スプーラは、前記クライアント端末から印刷ジョブが発行された場合に、前記ユーザ情報を用いて複数の入出力サーバの中から前記クライアント端末に接続された特定の入出力サーバに対して前記クライアント端末に印刷ポップアップ情報を通知させる印刷システムである。
【００１０】
請求項２に記載の発明は、前記ユーザ情報は、少なくとも前記クライアント端末のユーザ名を含み、前記接続スプーラは、前記印刷ジョブに含まれるユーザ名と前記ユーザ情報に含まれるユーザ名を用いて前記特定の入出力サーバを決定する請求項１に記載の印刷システムである。
【００１１】
請求項３に記載の発明は、前記ユーザ情報は、少なくとも前記クライアント端末のユーザ名及びユーザＩＰアドレスを含み、前記接続スプーラは、前記印刷ジョブに含まれるユーザ名及びユーザＩＰアドレスと前記ユーザ情報に含まれるユーザ名及びユーザＩＰアドレスを用いて前記特定の入出力サーバを決定する請求項１に記載の印刷システムである。
【００１２】
請求項４に記載の発明は、前記接続スプーラは、前記印刷ジョブに含まれる全ての印刷データの受信が完了したタイミングで前記特定の入出力サーバに対して前記クライアント端末に印刷ポップアップ情報を通知させる請求項１〜３のいずれかに記載の印刷システムである。
【００１３】
請求項５に記載の発明は、前記接続スプーラは、前記印刷ジョブに含まれるジョブオーナ情報の受信が完了したタイミングで前記特定の入出力サーバに対して前記クライアント端末に印刷ポップアップ情報を通知させる請求項１〜３のいずれかに記載の印刷システムである。
【発明の効果】
【００１４】
請求項１に記載の発明によれば、過不足無くクライアント端末とサーバとの接続を維持し、印刷ポップアップ情報をクライアント端末に出力できる。
【００１５】
請求項２に記載の発明によれば、さらに、複数の入出力サーバの中からクライアント端末に接続された特定の入出力サーバを確実に特定できる。また、ユーザＩＰアドレスが不明の場合にも対応し得る。
【００１６】
請求項３に記載の発明によれば、さらに、複数の入出力サーバの中からクライアント端末に接続された特定の入出力サーバを確実に特定できる。
【００１７】
請求項４に記載の発明によれば、さらに、印刷データの受信が完了したタイミングで複数の入出力サーバの中からクライアント端末に接続された特定の入出力サーバを確実に特定できる。
【００１８】
請求項５に記載の発明によれば、さらに、印刷データの受信が完了する前であっても、複数の入出力サーバの中からクライアント端末に接続された特定の入出力サーバを確実に特定できる。
【図面の簡単な説明】
【００１９】
【図１Ａ】実施形態のシステム構成図である。
【図１Ｂ】実施形態のシステム構成図である。
【図２】実施形態のユーザ登録時のフローチャートである。
【図３Ａ】実施形態の印刷時のフローチャート（その１）である。
【図３Ｂ】実施形態の印刷時のフローチャート（その２）である。
【図４】実施形態のデータベース登録情報を示すテーブル説明図（その１）である。
【図５】実施形態のデータベース登録情報を示すテーブル説明図（その２）である。
【図６】実施形態のデータベース登録情報を示すテーブル説明図（その３）である。
【図７】実施形態のポップアップ情報の表示画面例を示す説明図である。
【発明を実施するための形態】
【００２０】
以下、図面に基づき本発明の実施形態について説明する。
【００２１】
＜基本原理＞
まず、本実施形態の基本原理について説明する。
【００２２】
印刷システムにおけるクライアント環境の変化（ＮＡＴ、シンクライアントとバーチャルマシン（ＶＭ）化）やサーバ構成の変化（フロントエンドとしての入出力（Ｉ／Ｏ）サーバとバックエンドとしてのスプーラによる負荷分散、複数のスプーラによる冗長化）に伴い、クライアント端末の画面に表示する印刷の確認等を行う印刷ポップアップ情報（以下、単にポップアップ情報という）は、Ｉ／Ｏサーバへの接続を行った上で印刷システム側から送信されるのを待つことが必要となっている。他方、サーバ構成の変化によって接続先情報をクライアント端末側で保持することは困難である。
【００２３】
そこで、本実施形態では、印刷システムのプリンタに接続されているＩ／Ｏサーバに対してクライアント端末からメッセージを送信し、Ｉ／Ｏサーバが動作するか否かを判定する。このとき、クライアント端末は既に接続されているスプーラの特定情報（ＩＤあるいはＩＰアドレス）を取得していれば、そのスプーラの特定情報を含めてメッセージを送信する。Ｉ／Ｏサーバは、受信したメッセージに含まれるスプーラの特定情報とそのＩ／Ｏサーバに接続されているスプーラの特定情報とを比較し、一致しなければスプーラに対してデータベースにクライアント端末のユーザ情報、具体的にはユーザ名やユーザＩＰアドレス、当該Ｉ／ＯサーバのＩＤを登録することを要求するとともに、接続されているスプーラの特定情報をクライアント端末に返信する。一致すれば、データベースにクライアント端末のユーザ情報を登録せず、接続されているスプーラの特定情報も返信しない。クライアント端末は、同様の処理を全てのＩ／Ｏサーバに対して実行する。
【００２４】
そして、クライアント端末からＩ／Ｏサーバに対して印刷ジョブが発行されると、当該Ｉ／Ｏサーバに接続されているスプーラが、データベースに登録されているユーザ情報から、ポップアップ情報を通知すべきＩ／Ｏサーバ、つまりクライアント端末に接続されたＩ／Ｏサーバを特定し、当該Ｉ／Ｏサーバに対してクライアント端末にポップアップ情報を通知すべきことを指示する。
【００２５】
本実施形態では、クライアント端末が特定のＩ／Ｏサーバと接続する際に、当該Ｉ／ＯサーバからそのＩ／Ｏサーバが接続されているスプーラの特定情報を取得するとともに、そのスプーラがクライアント端末のユーザ情報をデータベースに登録し、このユーザ情報を用いてクライアント端末にポップアップ情報を通知すべきＩ／Ｏサーバを特定する点に留意されたい。
【００２６】
＜構成＞
次に、本実施形態の構成について具体的に説明する。
【００２７】
図１Ａ及び図１Ｂは、本実施形態のシステム構成図である。図１Ａは、システムの全体構成を示し、図１Ｂは、システムを構成するＩ／Ｏサーバ、スプーラ及びデータベースの構成図である。
【００２８】
印刷システムは、複数のクライアント端末１０−１，１０−２、複数の入出力（Ｉ／Ｏ）サーバ１２−１，１２−２，１２−３，１２−４，１２−５、複数のスプーラ１４−１，１４−２、複数のデータベース１６−１，１６−２、及び複数のプリンタ（あるいはプリント機能を備える複合機）１８−１，１８−２，１８−３を備える。なお、クライアント端末、Ｉ／Ｏサーバ、スプーラ、データベース、及びプリンタの数は特に限定されるものではない。
【００２９】
スプーラ１４−１，１４−２には、それぞれ複数のＩ／Ｏサーバが関連付けられる。例えば、図１では、スプーラ１４−１にはＩ／Ｏサーバ１２−１，１２−２，１２−３が関連付けられており、スプーラ１４−２にはＩ／Ｏサーバ１２−４，１２−５が関連付けられる。スプーラ１４−１は、データベース１６−１に各種情報をテーブルとして記録し、Ｉ／Ｏサーバ１２−１，１２−２，１２−３のバックエンドとして機能する。また、スプーラ１４−２は、データベース１６−２に各種情報をテーブルとして記録し、Ｉ／Ｏサーバ１２−４，１２−５のバックエンドとして機能する。
【００３０】
クライアント端末１０−１，１０−２は、任意のＩ／Ｏサーバの共有プリンタに対して印刷ジョブを発行して印刷を行う。図において、印刷ジョブの発行の様子を破線で示す。また、クライアント端末１０−１，１０−２は、印刷ジョブを発行した後に印刷サービスからのポップアップ情報を受信する。図において、ポップアップ情報の受信の様子を実線で示す。
【００３１】
クライアント端末１０−１，１０−２は、機能モジュールとして、印刷モジュール、ポップアップモジュール、共有プリンタ検出モジュール、Ｉ／Ｏサーバ接続モジュールを備え、さらにメモリに接続先テーブルを記憶する。
【００３２】
印刷モジュールは、ユーザからの印刷指示を受け付け、クライアント端末にインストールされたＯＳのプリンタドライバにより、プリンタに印刷データを送信する。
【００３３】
ポップアップモジュールは、Ｉ／Ｏサーバとデータを送受信することで印刷設定の確認や変更等に必要なポップアップ情報を受信してクライアント端末の画面に表示する。
【００３４】
共有プリンタ検出モジュールは、クライアント端末のＯＳに設定された共有プリンタの一覧を取得する。共有プリンタはＩ／Ｏサーバ１２−１、１２−２、１２−３、１２−４、１２−５が提供する機能で仮想的なプリンタとして動作する。出力は共有プリンタに関連付けられた実際のプリンタ１８−１、１８−２、１８−３を通じて行われる。
【００３５】
Ｉ／Ｏサーバ接続モジュールは、Ｉ／Ｏサーバに接続して、そのＩ／ＯサーバのバックエンドのスプーラＩＤを取得する。
【００３６】
接続先テーブルは、スプーラＩＤと接続先を管理するテーブルであり、接続先のＩ／ＯサーバとスプーラＩＤとを関連付ける。
【００３７】
また、Ｉ／Ｏサーバ１２−１，１２−２，１２−３，１２−４，１２−５は、機能モジュールとして、図１Ｂに示すように、共有プリンタモジュール、ポップアップ受付モジュール、ポップアップ送信指示モジュール、スプーラＩＤ応答モジュール、及びスプーラＩＤ保持モジュールを備える。
【００３８】
共有プリンタモジュールは、クライアント端末１０−１，１０−２からの印刷ジョブを受け付ける仮想的なプリンタモジュールである。クライアント端末１０−１，１０−２から受け付けた印刷データとユーザ情報をスプーラに供給して印刷を実行させる。
【００３９】
スプーラＩＤ保持モジュールは、スプーラに接続してスプーラから供給されたスプーラＩＤをメモリ等に保持する。
【００４０】
スプーラＩＤ応答モジュールは、スプーラＩＤ保持モジュールに保持しているスプーラＩＤをクライアント端末に返信する。
【００４１】
ポップアップ受付モジュールは、クライアント端末のポップアップモジュールからの接続を受け付けてユーザ情報を取得し、取得したユーザ情報をＩ／ＯサーバのＩＤとともにスプーラに登録する。
【００４２】
ポップアップ送信指示モジュールは、スプーラからのポップアップ送信指示を受けて、クライアント端末にポップアップ情報を送信する。
【００４３】
また、スプーラ１４−１，１４−２は、機能モジュールとして、図１Ｂに示すように、ユーザ登録モジュール、ジョブ受付モジュール、ジョブ処理タスクモジュールを備える。
【００４４】
ジョブ受付モジュールは、Ｉ／Ｏサーバが受け付けた印刷データとユーザ情報を受信し、印刷ジョブとして受け付ける。
【００４５】
ユーザ登録モジュールは、Ｉ／Ｏサーバからポップアップ情報を受信すべきユーザ情報とＩ／ＯサーバのＩＤを受信し、これをテーブルとしてデータベースに保持する。
【００４６】
ジョブ処理タスクモジュールは、受信した印刷ジョブの情報とユーザ情報から、ユーザが接続しているＩ／Ｏサーバを特定し、特定したＩ／Ｏサーバに対してポップアップ情報の送信を指示する。
【００４７】
なお、クライアント端末、Ｉ／Ｏサーバ、スプーラの各機能モジュールは、ＣＰＵあるいはプロセッサがプログラムメモリに記憶された処理プログラムを実行することにより実現される。
【００４８】
＜処理＞
このようなシステム構成において、クライアント端末１０−１，１０−２は、印刷システムに対して印刷ジョブを発行した後に、印刷システムからポップアップ情報を受信するためにその接続先を決定する必要があり、以下の基本的な手順で決定する。
【００４９】
すなわち、まず、クライアント端末の共有プリンタ検出モジュールは、クライアント端末のＯＳに設定された共有プリンタの一覧を取得する。また、取得した共有プリンタのそれぞれに対して、接続先のアドレスを取得する。
【００５０】
次に、クライアント端末のＩ／Ｏサーバ接続モジュールは、接続先のアドレスの特定のポートに対して順次メッセージを送信し、適切な応答があるか否かを判定する。適切な応答があれば当該共有プリンタの接続先がＩ／Ｏサーバであると判定する。ここで、Ｉ／Ｏサーバのスプーラ応答モジュールは、クライアント端末からのメッセージに対して、スプーラＩＤを返信するので、適切な応答には当該Ｉ／ＯサーバのスプーラＩＤが含まれている。クライアント端末は、スプーラＩＤを受信するとこれを接続先テーブルに追加登録する。例えば、図１において、クライアント端末１０−１が共有プリンタ１８−１の接続先としてのＩ／Ｏサーバ１２−１に対してメッセージを送信すると、Ｉ／Ｏサーバ１２−１の応答にはＩ／Ｏサーバ１２−１が接続しているスプーラ１４−１のＩＤが含まれており、クライアント端末１０−１は、Ｉ／Ｏサーバ１２−１のバックエンドがスプーラ１４−１であることを取得し、接続先テーブルに接続先としてのＩ／Ｏサーバ１２−１とスプーラ１４−１とを関連付けて登録する。また、クライアント端末１０−１が共有プリンタ１８−２の接続先としてのＩ／Ｏサーバ１２−２に対してメッセージを送信すると、Ｉ／Ｏサーバ１２−２の応答にはＩ／Ｏサーバ１２−２が接続しているスプーラ１４−１のＩＤが含まれており、クライアント端末１０−１は、既にスプーラ１４−１のＩＤがテーブルに登録されているので、新たに追加登録しない。また、クライアント端末１０−１が共有プリンタ１８−３の接続先としてのＩ／Ｏサーバ１２−４に対してメッセージを送信すると、Ｉ／Ｏサーバ１２−４の応答にはＩ／Ｏサーバ１２−４が接続しているスプーラ１４−２のＩＤが含まれており、クライアント端末１０−１は、Ｉ／Ｏサーバ１２−４のバックエンドがスプーラ１４−２であることを取得し、接続先テーブルに接続先としてのＩ／Ｏサーバ１２−４とスプーラ１４−２とを関連付けて登録する。
【００５１】
以上のようにして、例えば、
クライアント端末１０−１、Ｉ／Ｏサーバ１２−１、スプーラ１４−１
の接続関係、あるいは、
クライアント端末１０−１、Ｉ／Ｏサーバ１２−４、スプーラ１４−２
の接続関係が決定される。
【００５２】
スプーラ１４−１は、クライアント端末１０−１が印刷ジョブを発行した後に、このクライアント端末１０−１が接続しているのはＩ／Ｏサーバ１２−１であって、このＩ／Ｏサーバ１２−１に対してポップアップ情報の送信を指示すればよい。
【００５３】
以下、本実施形態の処理について、より詳細に説明する。  
【００５４】
図２は、本実施形態の処理フローチャートであり、ユーザ登録時の処理フローチャートである。
【００５５】
まず、ユーザは、クライアント端末（ユーザＰＣ）にログインすると、クライアント端末１０−１のＯＳ（オペレーティングシステム）は、クライアント端末のポップアップモジュールを起動する。ＯＳにより起動されたポップアップモジュールは、クライアント端末１０−１で設定されメモリに記憶されているユーザ名及びＩＰアドレスを取得する。また、ポップアップモジュールは、共有プリンタ検出モジュールを起動し、クライアント端末１０−１で設定されている共有プリンタ一覧を取得する。
【００５６】
次に、ポップアップモジュールは、プリンタ一覧の中のプリンタの接続先ＩＰアドレスを取得し、この接続先ＩＰアドレス、つまりＩ／Ｏサーバに対してメッセージとしてユーザ登録を要求する。ユーザ登録要求には、ユーザ名及びユーザＩＰアドレスに加え、既に接続先テーブルに登録されている接続済みスプーラのＩＤが含まれる。
【００５７】
Ｉ／Ｏサーバのポップアップ受付モジュールは、ポップアップモジュールからのユーザ登録要求を受信すると、スプーラＩＤ保持モジュールに保持されているスプーラＩＤとユーザ登録要求に含まれる接続済みのスプーラＩＤとを比較し、自身が接続しているスプーラのＩＤが接続済みのスプーラＩＤと一致するか否かを判定する。一致しなければユーザ登録をスプーラに要求し、一致すれば重複することになるのでユーザ登録を行わない。Ｉ／Ｏサーバからスプーラへのユーザ登録には、Ｉ／ＯサーバのＩＰアドレス（あるいはＩＤ）、クライアント端末のユーザ名及びユーザＩＰアドレスが含まれる。
【００５８】
スプーラのユーザ登録モジュールは、Ｉ／Ｏサーバからユーザ登録が要求されると、データベースにＩ／ＯサーバのＩＰアドレス（あるいはＩＤ）、クライアント端末のユーザ名及びユーザＩＰアドレスを登録する。また、スプーラのユーザ登録モジュールは、ユーザ情報をデータベースに登録すると、Ｉ／Ｏサーバに対して登録成否のデータを返信する。Ｉ／Ｏサーバは、スプーラから登録成否のデータを受信すると、クライアント端末のポップアップモジュールに対してユーザ登録を行ったか否かを示すフラグを返信するとともに、Ｉ／Ｏサーバが接続しているスプーラのＩＤを返信する。クライアント端末のポップアップモジュールは、受信したＩ／Ｏサーバの接続スプーラのＩＤを接続先テーブルに登録する。
【００５９】
共有プリンタのＩＰアドレス取得、ユーザ登録要求、Ｉ／Ｏサーバでの登録済み確認、スプーラによるデータベースへのユーザ登録の処理（図中、符号１００で示す処理群）は、プリンタ一覧中のプリンタ毎に繰り返し実行される。
【００６０】
以上のユーザ登録処理によりクライアント端末とＩ／Ｏサーバとの関係が確立されると、次に印刷処理に移行する。
【００６１】
図３Ａ及び図３Ｂは、本実施形態の処理フローチャートであり、印刷時の処理フローチャートである。
【００６２】
ユーザは、クライアント端末（ユーザＰＣ）に対して印刷を指示する。クライアント端末は、印刷指示に応じて印刷データを生成し、Ｉ／Ｏサーバに印刷指示する。印刷指示はクライアント端末の印刷モジュールで実行され、印刷データに加えてジョブ名、ユーザ名、ユーザＩＰアドレス等のユーザ情報が含まれる。
【００６３】
印刷指示を受信したＩ／Ｏサーバは、接続しているスプーラに対してジョブ作成を要求する。ジョブ作成要求には、クライアント端末から受信したジョブ名、ユーザ名、ユーザＩＰアドレスが含まれる。また、Ｉ／Ｏサーバは、印刷データをスプールディレクトリに保存する。さらに、Ｉ／Ｏサーバは、印刷データの受信を完了するとスプーラに印刷データ完了を通知する。
【００６４】
スプーラのジョブ受付モジュールは、ジョブ作成要求を受信すると、データベースに当該ジョブ情報を登録する。すなわち、ジョブ情報として、ジョブＩＤに関連付けて、ジョブ名、ユーザ名、ユーザＩＰアドレス等を登録する。
【００６５】
また、スプーラは、Ｉ／Ｏサーバからの印刷データ受信完了通知を受信すると、データベースに印刷データの保存先を記録する。
【００６６】
次に、スプーラは、ジョブ処理タスクモジュールに対してジョブ処理タスクの起動を指示する。ジョブ処理タスクモジュールは、データベースにアクセスしてジョブ情報を取得し、ジョブ情報に含まれるユーザ名やユーザＩＰアドレスによりポップアップ情報の通知先であるＩ／ＯサーバのＩＤを取得する。
【００６７】
ジョブ処理タスクモジュールは、ポップアップ情報の通知先であるＩ／ＯサーバのＩＤを取得すると、当該Ｉ／Ｏサーバに対してポップアップの通知を依頼する。依頼を受けたＩ／Ｏサーバのポップアップ送信指示モジュールは、クライアント端末のポップアップモジュールに対してポップアップ要求ＵＲＬを送信する。ポップアップモジュールは、当該ＵＲＬを用いてスプーラにアクセスしてポップアップ情報画面を取得し、クライアント端末の画面に表示する。なお、ポップアップモジュールは、例えば１秒おきにポップアップ情報ページをリロードして画面を更新してもよい。ポップアップモジュールは、スプーラに対してジョブ属性取得要求を送信し、ジョブ処理タスクモジュールはＩ／Ｏサーバに対してプレスキャンを指示し、Ｉ／Ｏサーバはスプールディレクトリに保存されている印刷データを読み出す。また、ポップアップモジュールは、データベースからジョブ情報を取得し、クライアント端末の画面に表示する。
【００６８】
ユーザは、ポップアップ画面を視認し、印刷内容を確認すると、例えば画面の「プリント」ボタンを操作する等により最終的な印刷指示を出力する。クライアント端末のポップアップモジュールは、この印刷指示に応じて設定完了通知をスプーラに送信する。設定完了通知を受信したスプーラは、ジョブ処理タスクモジュールに設定完了処理を要求し、ジョブ処理タスクモジュールは、データベースにアクセスしてジョブ情報を取得して出力開始の指示待ち状態に移行する。
【００６９】
以上で、ユーザのクライアント端末（ユーザＰＣ）を用いた処理は完了する。以後は、プリンタ（図ではプリンタの一例として複合機を示す）を用いた処理に移行する。
【００７０】
ユーザは、例えば認証カードを複合機にかざす等してログインし、複合機に対してジョブ一覧を指示する。複合機は、この要求に応じてスプーラに対してジョブ一覧を要求し、スプーラは、この要求に応じてデータベースからジョブ情報を取得する。複合機は、スプーラが取得したジョブ情報をジョブ一覧として画面に表示してユーザに報知する。
【００７１】
ユーザは、ジョブ一覧を視認し、印刷するジョブを選択して印刷指示する。複合機は、この指示に応じ、スプーラに対してジョブリリースを依頼する。スプーラは、ジョブリリース依頼に応じてジョブ処理タスクモジュールに対して印刷再開指示を出力する。ジョブ処理タスクモジュールは、既述したように出力開始の指示待ち状態に移行しているから、この印刷再開指示を受信すると複合機に対して印刷データを出力し、印刷を実行させる。
【００７２】
このように、本実施形態では、ポップアップモジュールがＩ／Ｏサーバに対してユーザ情報の登録を要求する際に、Ｉ／Ｏサーバは、この要求を受けてスプーラに対してユーザ情報の登録を指示するとともに、Ｉ／Ｏサーバが接続しているスプーラのＩＤをポップアップモジュールに対して返信するので、ポップアップモジュールが既に接続済みのスプーラに対して重複してユーザ登録を指示することがない。また、スプーラが、接続しているＩ／Ｏサーバからのポップアップ情報を受信すべきユーザのユーザ名やＩＰアドレス、Ｉ／ＯサーバのＩＰアドレスを受信してデータベースに登録するとともに、Ｉ／Ｏサーバからジョブ情報を受信すると、このジョブ情報からポップアップ情報を受信すべきユーザ名やＩＰアドレス、及びこのユーザが接続しているＩ／Ｏサーバを特定し、特定したＩ／Ｏサーバに対してポップアップ情報の送信を指示することにより、クライアント端末に追加の設定が不要としつつ、過不足なくサーバとの接続を維持してポップアップ情報をクライアント端末の画面に表示させることができる。
【００７３】
＜データ構造＞
図４、図５及び図６は、ポップアップ情報を受信すべきユーザ名やＩＰアドレス、及びこのユーザが接続しているＩ／Ｏサーバを特定するために用いられる、データベースに登録されるテーブルの一例を示す。
【００７４】
図４は、ユーザ登録によりデータベースに登録されるユーザ情報テーブルの一例である。エンティティＩＤ毎に、ユーザ名（クライアント名）、ユーザＩＰアドレス（クライアントＩＰアドレス）、接続しているＩ／ＯサーバのＩＤが関連付けて登録される。
【００７５】
図５は、データベースに登録されるジョブ情報テーブルの一例である。ジョブＩＤ毎に、ジョブ名、ジョブのユーザ名、ユーザＩＤ、及び接続しているＩ／ＯサーバのＩＤが関連付けて登録される。なお、これ以外にも、ジョブ情報として、ユーザのアカウントやペーパーサイズ、出力カラー、ページ数、コピー数、ジョブコスト等を登録することもできる。
【００７６】
図６は、各サーバの詳細を示すテーブルの一例である。サーバＩＤ毎に、そのサーバのＩＰアドレス、及びサーバ名が関連付けて登録される。
【００７７】
スプーラは、Ｉ／Ｏサーバから印刷データ完了通知を受信すると、ジョブ処理タスクモジュールによりポップアップ情報を通知すべきＩ／Ｏサーバを特定するが、具体的には、図４に示すユーザ情報テーブルと図５に示すジョブ情報テーブルを参照して、ユーザ名とユーザＩＰからポップアップ送信要求先のエンティティＩＤ及び接続しているサーバＩＤを特定し、図６のサーバテーブルから当該サーバのＩＰアドレスを特定する。
【００７８】
例えば、ジョブ名が「月報．ｘｌｓ」の場合、図５のテーブルから当該ジョブのユーザ名、ユーザＩＰアドレス、サーバＩＤは、それぞれ
ユーザ名：Ａｄｍｉｎ
ユーザＩＰ：１９２．１６８．１１．１
サーバＩＤ：１
となる。他方、図４のテーブルを参照すると、このユーザ名、ユーザＩＰ、サーバＩＤに一致するのはエンティティＩＤが１のユーザであり、これがポップアップ情報を受信すべきユーザとして特定される。また、このユーザにポップアップ情報を通知すべきＩ／Ｏサーバは、サーバＩＤ＝１として特定されるサーバであり、図６のテーブルを参照するとこのサーバのＩＰアドレスは、
サーバＩＰアドレス：１９２．１６８．０．１
として特定される。スプーラ（正確にはスプール処理タスクモジュール）は、このようにして特定したＩ／Ｏサーバに対してポップアップ情報の通知を依頼する。
【００７９】
＜ポップアップ画面＞
図７は、クライアント端末の画面に表示されるポップアップ情報の一例を示す。ジョブ名、ユーザ名、アカウント、ペーパーサイズ、出力カラー、イメージ方向、ページ数、コピー数等が表示され、さらにジョブコストが表示される。ジョブコストは、ペーパーサイズや出力カラー等を用いて所定の算出式により算出されたものである。ユーザは、表示されたポップアップ情報を確認した上で、「プリント」ボタンを操作することで最終的な印刷指示を送信する。なお、ユーザが印刷ジョブ内容を変更する場合、ポップアップ画面において所望の項目を変更してＩ／Ｏサーバに送信する。例えば、ペーパーサイズをＡ４からＢ５に変更する、出力カラーをモノクロに変更する等である。
【００８０】
以上、本発明の実施形態について説明したが、本発明はこれに限定されず種々の変更が可能である。
【００８１】
例えば、本実施形態において、ポップアップ受信のために接続したＩ／Ｏサーバとの接続が遮断された場合には、上記の処理を用いて再接続し、ユーザ情報を登録すればよい。
【００８２】
また、本実施形態では、ポップアップ情報を通知すべきＩ／Ｏサーバを、ユーザ情報のうちのユーザ名とユーザＩＰアドレスを用いて特定している。言い換えればユーザ名とユーザＩＰアドレスのダブルチェックで特定しているが、単にユーザ名のみを用いて特定してもよく、特にＮＡＴからのジョブを受ける場合には、ユーザＩＰアドレスによるチェックを行わなくてよい。ＮＡＴでは、送信先ＩＰアドレスが不明となるため、ユーザＩＰアドレスによるチェックを不要化する技術上の意義は大きい。
【００８３】
さらに、本実施形態では、印刷データの受信完了通知を受信した後で、ポップアップ情報を通知すべきユーザ及びポップアップ情報を通知すべきＩ／Ｏサーバを特定しているが、印刷データの中にジョブオーナ情報が含まれており、かつ、このジョブオーナ情報を全て受信してもはやジョブオーナ情報が含まれていないと判定した時点で、ポップアップ情報を通知すべきユーザ及びポップアップ情報を通知すべきＩ／Ｏサーバを特定してもよく、この場合には印刷データの受信完了通知を受信する場合よりも、より早いタイミングでポップアップ情報をクライアント端末に表示し得る。
【符号の説明】
【００８４】
１０−１，１０−２  クライアント端末、１２−１，１２−２，１２−３，１２−４，１２−５  入出力（Ｉ／Ｏ）サーバ、１４−１，１４−２  スプーラ、１６−１，１６−２  データベース、１８−１，１８−２，１８−３  プリンタ（複合機）。
【図１Ａ】
0006504020.tif 000002
【図１Ｂ】
0006504020.tif 000003
【図２】
0006504020.tif 000004
【図３Ａ】
0006504020.tif 000005
【図３Ｂ】
0006504020.tif 000006
【図４】
0006504020.tif 000007
【図５】
0006504020.tif 000008
【図６】
0006504020.tif 000009
【図７】
0006504020.tif 000010