(57)【特許請求の範囲】
【請求項１】
インターネットプリンテイングプロトコルによる通信を遮断するファイアウォールを介してインターネットに接続されたプリントサーバに対し、クライアントが、前記インターネットプリンテイングプロトコルを使用して、前記インターネットを通して前記プリントサーバを印刷制御するインターネット印刷方法において、
前記インターネットに接続されたプロキシ装置が、前記クライアントで指定されたプロキシ装置のＵＲＬを含む印刷指令メールを受信した前記プリントサーバからの要求に応じて、前記プリントサーバに対応する、印刷ジョブをスプールするスプール機能と、印刷ジョブを前記プリントサーバに対して送信する機能を有し、前記スプールと対応するサイトページを、前記プロキシ装置のＵＲＬとプリンタサーバのメールアカウントとに基づくＵＲＬに対応させて作成するステップと、
前記クライアントが、前記インターネットプリンテイングプロトコルで、当該クライアントで指定されたプロキシ装置のＵＲＬとプリンタサーバのメールアカウントとに基づくＵＲＬを用いて前記サイトページに接続するステップと、
前記プリントサーバが、前記ファイアウォールを通過することができるプロトコルで、前記プロキシ装置のＵＲＬとプリンタサーバのメールアカウントとに基づくＵＲＬを用いて前記サイトページに接続するステップと、
前記プロキシ装置が、前記クライアントからの印刷サービス要求を前記ファイアウォールを通過することができるプロトコルに変換し、前記プリントサーバに転送するステップと
を有することを特徴とするインターネット印刷方法。
【請求項２】
インターネットに接続され、少なくともインターネットプリンテイングプロトコルで通信可能なクライアントと、
インターネットプリンテイングプロトコルによる通信を遮断するファイアウォールを介してインターネットに接続され、印刷要求を実行するプリントサーバと、
前記クライアントで指定された自装置のＵＲＬを含む印刷指令メールを受信した前記プリントサーバからの要求に応じて、前記プリントサーバに対応する、印刷ジョブをスプールするスプール機能と、印刷ジョブを前記プリントサーバに対して送信する機能を有し、前記スプールと対応するサイトページを、前記印刷指令メールに含まれるＵＲＬとプリンタサーバのメールアカウントとに基づくＵＲＬに対応させて作成し、前記クライアントが前記インターネットプリンテイングプロトコルで当該クライアントで指定されたＵＲＬとプリンタサーバのメールアカウントとに基づくＵＲＬを用いて前記サイトページに接続し、前記プリントサーバが前記ファイアウォールを通過することができるプロトコルで前記印刷指令メールに含まれるＵＲＬとプリンタサーバのメールアカウントとに基づくＵＲＬを用いて前記サイトページに接続することに応じて、前記クライアントからの印刷サービス要求を前記ファイアウォールを通過することができるプロトコルに変換して前記プリントサーバに転送するプロキシ装置と
を有することを特徴とするインターネット印刷システム。
【請求項３】
インターネットプリンテイングプロトコルによる通信を遮断するファイアウォールを介してインターネットに接続されたプリントサーバに対し、クライアントが、前記インターネットプリンテイングプロトコルを使用して、前記インターネットを通して前記プリントサーバを印刷制御するためのプロキシ装置であって、
前記クライアントで指定された自装置のＵＲＬを含む印刷指令メールを受信した前記プリントサーバからの要求に応じて、前記プリントサーバに対応する、印刷ジョブをスプールするスプール機能と、印刷ジョブを前記プリントサーバに対して送信する機能を有し、前記スプールと対応するサイトページを、前記印刷指令メールに含まれるＵＲＬとプリンタサーバのメールアカウントとに基づくＵＲＬに対応させて作成する作成手段と、
前記クライアントが前記インターネットプリンテイングプロトコルで当該クライアントで指定されたＵＲＬとプリンタサーバのメールアカウントとに基づくＵＲＬを用いて前記サイトページに接続し、前記プリントサーバが前記ファイアウォールを通過することができるプロトコルで前記印刷指令メールに含まれるＵＲＬとプリンタサーバのメールアカウントとに基づくＵＲＬを用いて前記サイトページに接続することに応じて、前記クライアントからの印刷サービス要求を前記ファイアウォールを通過することができるプロトコルに変換して前記プリントサーバに転送する転送手段と
を有することを特徴とするプロキシ装置。
【請求項４】
インターネットプリンテイングプロトコルによる通信を遮断するファイアウォールを介してインターネットに接続され、該インターネットに接続されたクライアントから前記インターネットプリンテイングプロトコルを使用して前記インターネットを通して印刷制御されるプリントサーバであって、
前記クライアントで指定されたプロキシ装置のＵＲＬを含む印刷指令メールを受信し、該プロキシ装置に、該プロキシ装置のＵＲＬと該印刷指令メールを受信したメールアカウントとに基づくＵＲＬに対応させて、自装置に対応する、印刷ジョブをスプールするスプール機能と、印刷ジョブを自装置に対して送信する機能を有し、前記スプールと対応するサイトページの作成を要求する要求手段と、
前記クライアントが、前記インターネットプリンテイングプロトコルで、当該クライアントで指定されたプロキシ装置のＵＲＬと前記メールアカウントとに基づくＵＲＬを用いて前記サイトページに接続することに応じて、前記プロキシ装置が前記ファイアウォールを通過することができるプロトコルに変換した前記クライアントからの印刷サービス要求を受信し、該受信した印刷サービス要求を実行する実行手段と
を有することを特徴とするプリントサーバ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、インターネット上のクライアントから組織内のファイアウォール内にあるプリンタに印刷データを送信して、印刷するインターネット印刷方法、そのシステム、プロキシ装置及びプリントサーバに関し、特に、ＩＰＰ（インターネットプリンテイングプロトコル）を使用して、ファイアウォールを越えて、ファイアウォール内の遠隔地にあるプリンタで印刷を行うためのインターネット印刷方法、そのシステム、プロキシ装置及びプリントサーバに関する。
【０００２】
【従来の技術】
近年のインターネットの普及に伴い、インターネットを介し各種の機器、ネットワークを接続し、通信する方法が利用されている。このインターネットワーク上で、プリンタを共有する方法として、ＩＰＰ（インターネット印刷プロトコル）が、ＩＥＴＦに、ＲＦＣ２５６５＿９、ＲＦＣ２６１６、ＲＦＣ２６３９で標準化されている。このＩＰＰは、例えば、日経ＢＰソフトプレス社発行の「ＴＣＰ／ＩＰプロトコル＆サービスガイド」の第１８章「ファイルとプリンタの共有」で詳しく説明されている。
【０００３】
図３７、図３８、図３９は、従来のインターネット印刷モデルの説明図である。ＩＰＰによるインターネット印刷は、ユーザーがインターネットワークを通じてプリンタをインストール、使用、監視できる機能である。これにより、クライアントは、企業のローカルエリアネットワーク（ＬＡＮ）に直接接続されているかのように、インターネットを通じて、プリンタをアクセスできる。
【０００４】
即ち、ユーザーは、ＩＰＰによって、Ｗｅｂブラウザやプリンタの追加ウィザードを使用し、プリンタをインストールできるが、その際に、プリンタのＵＮＣ（Universal  Naming  Convention）パスに代えて、ＵＲＬ（Uniform  Resource  Locator）又はＩＰ（Internet  Protocol）アドレスを指定できる。更に、プリンタのインストール後に印刷要求を送信すれば、そのプリンタインタフェースを使って、ＵＲＬに直接出力を送ることができる。
【０００５】
図３７に示すように、ＩＰＰクライアント１１０とＩＰＰサーバ（プリンタ）１１２とが、直接インターネット１００と接続する場合には、ＩＰＰを使用して、遠隔地のプリンタ１１２で印刷することができる。
【０００６】
又、図３８に示すように、インターネットの発達に伴うネットワーク犯罪に対するセキュリテイ保護のため、イントラネットとインターネットとの間に、ファイアウォール１１４を設置している。
【０００７】
一番シンプルで典型的なファイアウォール１１４の設定ポリシーは、ファイアウォール内部から外部への接続は、全て許し、ファイアウォール外部からファイアウォール内部への接続は、限られたプロトコルで、パブリックサーバへの接続だけを許すものである。ここで、ファイアウォール外部のネットワークを、エクストラネットと、ファイアウォール内部のネットワークをイントラネットと定義する。
【０００８】
図３８に示すように、組織内にあるクライアント１１０は、セキュリテイ（ファイアウォール）を確保するためのサーバ（プロキシサーバという）を設定することにより、クライアント１１０は、ＩＰＰを使用して、インターネット１００と直接接続するプリンタ１１２への印刷が可能である。
【０００９】
しかし、図３９に示すように、クライアント１１０は、ファイアウォール１１６内のプリンタ１１２への印刷は、ファイアウォール１１６のプロテクトで、ＩＰＰパケットが通れないため、実行できない。
【００１０】
【発明が解決しようとする課題】
一方、ＩＰＰを使用して、図３９で示すような、クライアント１１０が、インターネット１００を通して、ファイアウォール１１６内のプリンタ１１２への印刷を行いたいとの要望がある。例えば、ある企業に所属している者が、自宅や出先から、インターネット１００を通して、その企業のファイアウォール１１６内のプリンタ１１２への印刷を行う場合や、他の者が、企業の依頼を受け、インターネット１００を通して、ある企業のファイアウォール１１６内のプリンタ１１２への印刷を行う場合等である。
【００１１】
このファイアウォールを越えた印刷自体を行う方法としては、印刷データを電子メールに添付して、ＳＭＴＰ（Simple  Mail  Transfer  Protocol）にプロトコル変換し、印刷を行うことが提案されている（例えば、特開平１０−１８７３７０号公報等）。
【００１２】
しかしながら、この電子メールによる方法では、次の問題が生じる。メールサーバがメールサイズを制限する場合があり、多量の印刷データの印刷に不向きである。又、電子メールでは、正確に印刷された保証がない。更に、プリンタの状態や印刷状態を取得できない。
【００１３】
従って、本発明の目的は、ＩＰＰを使用して、ファイアウォールを越えて、プリンタで印刷を行うためのインターネット印刷方法、そのシステム、プロキシ装置及びプリントサーバを提供するにある。
【００１４】
又、本発明の他の目的は、ＩＰＰを使用して、多量のデータを、ファイアウォールを越えて、プリンタで印刷を行うためのインターネット印刷方法、そのシステム、プロキシ装置及びプリントサーバを提供するにある。
【００１５】
更に、本発明の他の目的は、ＩＰＰを使用して、プリンタの状態を確認して、ファイアウォールを越えて、プリンタで印刷を行うためのインターネット印刷方法、そのシステム、プロキシ装置及びプリントサーバを提供するにある。
【００１６】
更に、本発明の目的は、ファイアウォールを越えて、イントラネットのプライベートアドレスを利用したプリンタで印刷を行うためのインターネット印刷方法、そのシステム、プロキシ装置及びプリントサーバを提供するにある。
【００１７】
【課題を解決するための手段】
この目的の達成のため、本発明のインターネット印刷方法は、インターネットプリンテイングプロトコルによる通信を遮断するファイアウォールを介してインターネットに接続されたプリントサーバに対し、クライアントが、前記インターネットプリンテイングプロトコルを使用して、前記インターネットを通して前記プリントサーバを印刷制御するインターネット印刷方法において、前記インターネットに接続されたプロキシ装置が、前記クライアントで指定されたプロキシ装置のＵＲＬを含む印刷指令メールを受信した前記プリントサーバからの要求に応じて、前記プリントサーバに対応する、印刷ジョブをスプールするスプール機能と、印刷ジョブを前記プリントサーバに対して送信する機能を有し、前記スプールと対応するサイトページを、前記プロキシ装置のＵＲＬとプリンタサーバのメールアカウントとに基づくＵＲＬに対応させて作成するステップと、前記クライアントが、前記インターネットプリンテイングプロトコルで、当該クライアントで指定されたプロキシ装置のＵＲＬとプリンタサーバのメールアカウントとに基づくＵＲＬを用いて前記サイトページに接続するステップと、前記プリントサーバが、前記ファイアウォールを通過することができるプロトコルで、前記プロキシ装置のＵＲＬとプリンタサーバのメールアカウントとに基づくＵＲＬを用いて前記サイトページに接続するステップと、前記プロキシ装置が、前記クライアントからの印刷サービス要求を前記ファイアウォールを通過することができるプロトコルに変換し、前記プリントサーバに転送するステップとを有することを特徴とする。
【００１８】
又、本発明のインターネット印刷システムは、インターネットに接続され、少なくともインターネットプリンテイングプロトコルで通信可能なクライアントと、インターネットプリンテイングプロトコルによる通信を遮断するファイアウォールを介してインターネットに接続され、印刷要求を実行するプリントサーバと、前記クライアントで指定された自装置のＵＲＬを含む印刷指令メールを受信した前記プリントサーバからの要求に応じて、前記プリントサーバに対応する、印刷ジョブをスプールするスプール機能と、印刷ジョブを前記プリントサーバに対して送信する機能を有し、前記スプールと対応するサイトページを、前記印刷指令メールに含まれるＵＲＬとプリンタサーバのメールアカウントとに基づくＵＲＬに対応させて作成し、前記クライアントが前記インターネットプリンテイングプロトコルで当該クライアントで指定されたＵＲＬとプリンタサーバのメールアカウントとに基づくＵＲＬを用いて前記サイトページに接続し、前記プリントサーバが前記ファイアウォールを通過することができるプロトコルで前記印刷指令メールに含まれるＵＲＬとプリンタサーバのメールアカウントとに基づくＵＲＬを用いて前記サイトページに接続することに応じて、前記クライアントからの印刷サービス要求を前記ファイアウォールを通過することができるプロトコルに変換して前記プリントサーバに転送するプロキシ装置とを有することを特徴とする。
【００１９】
更に、本発明のプロキシ装置は、インターネットプリンテイングプロトコルによる通信を遮断するファイアウォールを介してインターネットに接続されたプリントサーバに対し、クライアントが、前記インターネットプリンテイングプロトコルを使用して、前記インターネットを通して前記プリントサーバを印刷制御するためのプロキシ装置であって、前記クライアントで指定された自装置のＵＲＬを含む印刷指令メールを受信した前記プリントサーバからの要求に応じて、前記プリントサーバに対応する、印刷ジョブをスプールするスプール機能と、印刷ジョブを前記プリントサーバに対して送信する機能を有し、前記スプールと対応するサイトページを、前記印刷指令メールに含まれるＵＲＬとプリンタサーバのメールアカウントとに基づくＵＲＬに対応させて作成する作成手段と、前記クライアントが前記インターネットプリンテイングプロトコルで当該クライアントで指定されたＵＲＬとプリンタサーバのメールアカウントとに基づくＵＲＬを用いて前記サイトページに接続し、前記プリントサーバが前記ファイアウォールを通過することができるプロトコルで前記印刷指令メールに含まれるＵＲＬとプリンタサーバのメールアカウントとに基づくＵＲＬを用いて前記サイトページに接続することに応じて、前記クライアントからの印刷サービス要求を前記ファイアウォールを通過することができるプロトコルに変換して前記プリントサーバに転送する転送手段とを有することを特徴とする。
【００２０】
更に、本発明のプリントサーバは、インターネットプリンテイングプロトコルによる通信を遮断するファイアウォールを介してインターネットに接続され、該インターネットに接続されたクライアントから前記インターネットプリンテイングプロトコルを使用して前記インターネットを通して印刷制御されるプリントサーバであって、前記クライアントで指定されたプロキシ装置のＵＲＬを含む印刷指令メールを受信し、該プロキシ装置に、該プロキシ装置のＵＲＬと該印刷指令メールを受信したメールアカウントとに基づくＵＲＬに対応させて、自装置に対応する、印刷ジョブをスプールするスプール機能と、印刷ジョブを自装置に対して送信する機能を有し、前記スプールと対応するサイトページの作成を要求する要求手段と、前記クライアントが、前記インターネットプリンテイングプロトコルで、当該クライアントで指定されたプロキシ装置のＵＲＬと前記メールアカウントとに基づくＵＲＬを用いて前記サイトページに接続することに応じて、前記プロキシ装置が前記ファイアウォールを通過することができるプロトコルに変換した前記クライアントからの印刷サービス要求を受信し、該受信した印刷サービス要求を実行する実行手段とを有することを特徴とする。
【００２１】
本発明は、インターネットプリンテイグプロトコル（ＩＰＰという）でファイアウォールを越えられないプリントサーバに対し、ＩＰＰで通信できるプロキシ装置を設け、そのプロキシ装置にプリントサーバのサーバサイトを開設したため、クライアントは、プリントサーバをインターネット上で公開されたＩＰＰサーバと見なして、印刷サービス要求、レスポンスをやり取りできる。又、プロキシ装置が、ＩＰＰを他のプロトコルにゲートウェイ変換するため、クライアントは、ファイアウォールを越え、プリントサーバへの印刷が可能となる。
【００２２】
又、本発明では、好ましくは、前記印刷サービス要求に対する前記プリントサーバの実行結果を、前記プロキシ装置に返送し、前記プロキシ装置により、前記インターネットプリンテイングプロトコルで、前記クライアントに返送するステップを更に有する。これにより、クライアントは、ＩＰＰでプリンタの状態を把握しながら、ジョブを発行できる。
【００２３】
更に、本発明では、好ましくは、前記プリントサーバからの接続要求に応じて、前記プロキシ装置と前記プリントサーバとを接続するステップを更に有することにより、インターネット上で公開されたＩＰＰサーバとの接続が可能となる。
【００２４】
更に、本発明では、好ましくは、前記プロキシ装置と前記プリントサーバとの接続時に、前記プロキシ装置が、サーバの役目を、前記プリントサーバがクライアントの役目を果し、前記接続後の前記印刷サービス要求時には、前記プロキシ装置が、クライアントの役目を、前記プリントサーバがサーバの役目を果す。これにより、ファイアウォール内から外に、プリントサーバが接続要求し、プロキシ装置が、印刷サービス要求することが可能となる。
【００２５】
更に、本発明では、好ましくは、前記クライアントから前記ファイアウォールを超えられるプロトコルで、前記プリントサーバに、印刷指令を送信するステップと、前記印刷指令に応じた前記プリントサーバからの接続要求に応じて、前記プロキシ装置と前記プリントサーバとを接続するステップを更に有する。これにより、ＩＰＰクライアントにメール機能を付与する簡単な実装で実現できる。
【００２６】
更に、本発明では、好ましくは、前記クライアントから前記インターネットプリンテイングプロトコルで、前記プロキシ装置に、印刷指令を送信するステップと、前記印刷指令を前記プロキシ装置から前記プリントサーバに、前記ファイアウォールを越えられるプロトコルで転送するステップと、前記転送された印刷指令に応じた前記プリントサーバからの接続要求に応じて、前記プロキシ装置と前記プリントサーバとを接続するステップを更に有する。これにより、ＩＰＰクライアントに余分の機能を付与することなく、実現できる。
【００２７】
更に、本発明では、好ましくは、前記プリントサーバからの接続要求に応じて、前記プロキシ装置と前記プリントサーバとを常時接続するステップを更に有することにより、簡易に実現できる。
【００２８】
【発明の実施の形態】
以下、本発明の実施の形態を、インターネット印刷システム、インターネット印刷方法、第１の実施の形態、第２の実施の形態、第３の実施の形態、他の実施の形態の順で、図面に基づいて説明する。
【００２９】
［インターネット印刷システム］
図１は、本発明の一実施の形態のインターネット印刷システムの構成図、図２は、そのクライアントの構成図、図３は、その印刷対象プリンタの指定画面図、図４は、プロキシ装置のブロック図、図５は、そのプリントサーバのブロック図である。
【００３０】
図１に示すように、インターネット１０に、クライアント２−１、２−２、プロキシ装置（ゲートウェイ装置）１２、ネットワークシステム３−１、３−２が接続される。このシステムにおいて、ファイアウォール内部をイントラネットと、ファイアウォール外部をエクストラネット（Ex）と定義する。そして、このシステムでのファイアウォールを越える印刷モデルを、ExPM（エクストラネットプリンテイングモデル）と称す。
【００３１】
ExPMクライアント２−１、２−２は、エクストラネット上にあるホストであり、後述するExPMサーバ３１、３３に印刷を依頼する。ExPM（エクストラプリンテイングモデル）サーバ３１、３３は、ＬＡＮ等のネットワーク３−１、３−２内で、ファイアウォール３０、３２で保護されたイントラネット上にあるプリンタである。
【００３２】
ExPM（エクストラネットプリンテイングモデル）プロキシ１２は、ExPMサーバ３０、３３のかわりに、ExPMクライアント２−１、２−２からの印刷ジョブを受け付け、変換するプロキシサーバである。
【００３３】
このシステムでは、プリンタ３１、３３は、ＵＲＬのかわりに、自分のメールアカウントを持っている。これで、メールアカウントはインターネット上では唯一しかもパブリックであるので、プライベートＩＰ（インターネット  プロトコル）アドレスを使っても、エクストラネットのステーションは、プリンタ３１、３３を一意で特定できる。
【００３４】
図１の「expp1@abc.com」は、イントラネット３−１にあるプリンタ３１の公開名前である。このシステムでは、ExPMプロキシサーバ１２を利用して、イントラネットにあるプリンタ（ExPMサーバ）３１、３３を、通常のＩＰＰ（インターネットプリンテイングプロトコル）サーバのように見せる点に、特徴の一つがある（詳細は後述する）。
【００３５】
このプリンタへのアドレスマッピング方法は、
プロキシサーバURL＋ExPMサーバアカウント（ただし、@->%に変換）
で指定する。図１の例だと、「exppproxy1.comnet.com/expp1%abc.com」になる。
【００３６】
このExPMクライアント２−１、２−２の構成を、図２で、印刷指定画面を図３で示す。図２に示すように、クライアント２−１、２−２は、表示ユニット２０と、処理ユニット２１からなる。処理ユニット２１は、ＣＰＵ（プロセッサ）２２、ハードデイスク２３、メモリ２４、ネットワークインタフェイス部２５とを有する。
【００３７】
メモリ２４に展開されるソフトウェア構造は、Ｉ／Ｏドライバ２４−１と、ＯＳ（オペレーテイングシステム）２４−２と、印刷対象指定ユーテイリテイ２４−５と、他のアプリケーション２４−６とからなる。このＯＳ２４−２に、ＩＰＰ／ＥｘＰＰ（エクストラネットプリンテイングプロトコル）クライアント機能２４−３と、プロトコルスタック（ＴＣＰ（Transmission Control Protocol）／ＩＰ(Internet Protocol) ，NetWare）２４−４が埋め込まれる。
【００３８】
図３は、印刷対象指定ユーテイリテイ２４−５による表示ユニット２０に表示される印刷指定画面の説明図である。図３に示すように、印刷指定画面では、印刷先のExPMサーバ３１、３３の名前とExPMプロキシ１２の名前と、「指定ＯＫ／Ｃａｎｃｅｌ」を指定する。
【００３９】
即ち、ExPMクライアント２−１、２−２は、印刷対象指定ユーテイリテイ２４−５、ＩＰＰ／ＥｘＰＰクライアント機能２４−３、プロトコルスタック２４−４により、主に下記の機能を実現する。
【００４０】
（１）印刷先のExPMサーバ３１、３３とExPMプロキシ１２を指定する。
【００４１】
（２）ExPMサーバアカウントに印刷指令を発行する。
【００４２】
（３）IPPプロトコルで、ExPMプロキシ１２に接続し、プリンタ３１、３３の状態をゲットし、印刷ジョブを転送する。
【００４３】
（４）印刷完了後、ExPMプロキシ１２との接続を切断する。
【００４４】
次に、ExPMプロキシ１２は、図４のブロック図に示すように、ＩＰＰ送受信部１５と、プロトコルエクスチェンジャ１６と、ＥｘＰＰ送受信部１７と、ＥｘＰＭサーバーサイト１４とを有する。ＩＰＰ送受信部１５は、パケットヘッダ解析部と、パケットヘッダ組立部とを有する。プロトコルエクスチェンジャ１６は、ＩＰＰを後述するＥｘＰＰ(エクストラネット  プリンテイング  プロトコル)に変換するエンコーダ１８と、ＥｘＰＰをＩＰＰに変換するデコーダ１９とを有する。
【００４５】
即ち、ＥｘＰＭプロキシ１２は、主に下記の機能を持っている。
【００４６】
（１）ExPMクライアント２−１、２−２またはExPMサーバ３１、３３の接続要求を受け付け、ExPMサーバサイト（スプール）１４を作成する。
【００４７】
（２）ExPMサーバ３１、３３からHTTP（Hyper  Text  Transfer  Protocol）/FTP（File  Transfer  Protocol）などのプロトコルで送ってきたプリンタステータスをIPPフォーマットに変換し、IPPでExPMクライアント２−１、２−２に返す。
【００４８】
（３）ExPMクライアント２−１、２−２からIPPで送ってきたジョブをExPMサーバ３１、３３のプロトコル（HTTP/FTPなど）に変換し、ExPMサーバ３１、３３へ転送する。
【００４９】
（４）ExPMサーバ３１、３３との通信プロトコルを特定するために、ExPMプロキシ１２が自分のサポート情報をExPMディスクリプションファイルとしてインターネット上に公開し、ExPMサーバ３１、３３はHTTPでこのファイルを取得し、最適なプロトコルを選択する。これで、HTTPプロトコルのサポートはExPMプロキシ１２で最低限要求になる。
【００５０】
（５）すべてのクライアントからの印刷要求を処理し終わったら、ExPMサーバ３１，３３との接続を切断し、サイトページを削除する。
【００５１】
次に、ExPMサーバ３１は、図５のブロック図に示すように、ＥｘＰＰ処理部３４と、スプーラ３５と、ホストＩ／Ｏ管理部３６と、インタプリタ３７と、印刷部３８とを有する。ＥｘＰＰ処理部３４は、ＩＰＰデータ処理部と認証処理部とを有する。印刷部３８は、電子写真機構等の印刷エンジンと、印刷制御部とを有する。
【００５２】
このＥｘＰＭサーバ３１は、主に下記の機能を持っている。
【００５３】
（１）ExPMクライアント２−１、２−２又はExPMプロキシ１２からのリクエストメールを受信し、指定されたExPMプロキシ１２と接続する。
【００５４】
（２）自分の状態などをHTTP/FTPなどのプロトコルでExPMプロキシ１２に反映する。
【００５５】
（３）ExPMクライアント２−１、２−２からExPMプロキシ１２に転送したジョブをゲットし、印刷する。
【００５６】
このＥｘＰＭサーバは、印刷部３８を有するもので示しているが、本発明のＥｘＰＭサーバ（プリントサーバ）３１の定義は、ＥｘＰＰ処理部３４とネットワークインタフェイス部３９のみ有するものも含み、印刷部等が別体のものを含む。
【００５７】
次に、全体の印刷の流れを、図１に従い、説明する。
【００５８】
▲１▼ExPMクライアント２−１、２−２が、印刷対象プリンタ３１、３３を指定する。図３で示したように、ExPMサーバ名とExPMプロキシ名を、ExPMクライアント２−１、２−２で指定する。
【００５９】
▲２▼ExPMクライアント２−１がSMTPを利用し、ターゲットプリンタ「 HYPERLINK "mailto:expp1@abc.com" expp1@abc.com」へ印刷指令メールを出す。メールにはExPMプロキシ名の内容も含む。次に、ExPMクライアント２−１が、IPPを利用し、ExPMプロキシ１２と接続する。接続ＵＲＬ（IPPプロトコルにおいてはprinter-uriという。RFC2566のsection 3.2を参照）はipp://expp-proxy1.comnet.com/expp1%abc.comとなる。
又は、ExPMクライアント２−１が、IPPを利用し、ExPMプロキシ１２と接続し、ターゲットプリンタへの印刷指令を出す。
【００６０】
▲３▼イントラネットにあるExPMサーバ３１が、クライアント２−１又はプロキシ１２からの印刷指令を受信し、ExPMプロキシ１２と接続する。すでに接続している場合、新規接続を行わない。接続用プロトコルは特に制限はない（たとえばHTTP/FTP）。例としてHTTPを使って説明する。
【００６１】
HTTPの場合、接続先は「http://expp-proxy1.comnet.com/expp1%abc.com」になる。
【００６２】
▲４▼ExPMプロキシ１２はサーバ３１の接続を受けて、「expp1%abc.com」のサイトページ（スプール）１４を用意する（すでに存在している場合、新規作成しない）。
【００６３】
▲５▼ExPMクライアント２−１とExPMプロキシ１２間にIPPで通信する。
【００６４】
▲６▼ExPMサーバ３１とExPMプロキシ１２の接続が設立してから、ExPMサーバ３１は、プリンタの状態をExPMプロキシ１２に転送し始める。ExPMプロキシ１２は、プリンタの状態をIPPでExPMクライアント２−１へ通知する。
【００６５】
▲７▼ExPMクライアント２−１が、プリンタの状態を確認して、IPPで印刷ジョブをExPMプロキシ１２へ転送する。
【００６６】
▲８▼同様に、ExPMプロキシ１２は受けたジョブをHTTP等に変換し、プリンタ３１へ転送する。
【００６７】
▲６▼、▲７▼、▲８▼を繰り返して、プリンタ及びジョブの状態（たとえば、ジャム、印刷進捗など）を監視しながら、印刷を行う。さらに、状態監視だけではなく、ユーザーがExPMプロキシ１２経由で、プリンタ及びジョブをコントロールできる（たとえばプリンタのオン／オフライン、ジョブのキャンセルなど）。
【００６８】
▲９▼印刷完了後、プリンタ３１およびExPMクライアント２−１が、ExPMプロキシ１２との接続を切断し、ExPMプロキシ１２は、すべてのクライアントから「expp1%abc.com」サイトからの接続が切断されたことを検出したら、サーバ３１との接続を切断し、「expp1%abc.com」サイトを削除する。
【００６９】
このようにして、エクストラネットにあるクライアント２−１からイントラネットのプリンタ３１への印刷を実現できる。
【００７０】
［インターネット印刷方法］
次に、ExPMプロキシとExPMサーバ間の通信に使用されるExPP（Extranet Printing Protocol）プロトコルを、図６乃至図１２により説明する。
【００７１】
図７のExPPパケットのフォーマット説明図に示すように、このExPPプロトコルは、IPPパケットにクライアントを識別するタグをくっつけて、IPPパケットを拡張したものである。例えば、図７に示すように、IPPパケット８０の「Job Description Attributes」を拡張し、「job-client-addr（クライアントアドレス）」及び「job-client-port（ポート番号）」のクライアント属性８１を追加して、クライアントを特定する。図７では、斜線部分のフィールドが、ExPPの拡張部分である。
【００７２】
このプロトコルは、図６に示すように、HTTPやFTPなどのプロトコル上に載せて、通信を行う。即ち、ＨＴＴＰプロトコルでは、クライアントとプロキシ間の通信パケット（ＩＰＰパケット）は、図６に示すように、Ethernetヘッダ７０（図９参照）、ＩＰヘッダ７１（図１０参照）、ＴＣＰヘッダ７２（図１１参照）、ＨＴＴＰヘッダ７３（図１２参照）、ＩＰＰオペレーション／アットリビュート７４で構成される。
【００７３】
プロキシ１２は、周知のように、図１０のＩＰヘッダのSource  Addressから発信元（ＥｘＰＭクライアント）のアドレスを取得し、図１１のＴＣＰ（Transmission  Control  Protocol）ヘッダのSource  Port及びDestination  Portから発信元（ExPMクライアント）、送信元（ExPMプロキシ）のポート番号が判る。更に、図１２のＨＴＴＰヘッダのリクエストラインに含まれる接続先のリクエストURLにより、サイトページ（論理プリンタ）を特定できる。
【００７４】
プロキシ１２では、これを図１３の通信フォーマットに変換し、サーバ３１に通信する。即ち、図１３に示すように、ＨＴＴＰプロトコルでは、Ethernetヘッダ７０（図９参照）、ＩＰヘッダ７１（図１０参照）、ＴＣＰヘッダ７２（図１１参照）、ＨＴＴＰヘッダ７３（図１２参照）、ＥｘＰＰパケット７５で構成され、このＥｘＰＰパケット７５は、前述の図７に示したように、ＩＰＰパケット８０の「Job Description Attributes」を拡張し、「job-client-addr/ job-client-port」のタグを付加したものである。
【００７５】
このＥｘＰＰプロトコルの例では、サーバ３１により多く情報を与えるため、「job-client-addr/ job-client-port」でクライアントを特定する方式を採用している。TCP/IPにおいて、getpeername( )のシステムコールを使って、ローカルポートからクライアントの情報をゲットできるので、「job-client-addr/ job-client-port」のタグの変わりに、「job-proxy-socket（クライアントと接続しているローカルソケット番号）」をタグとして使用することもできる。
【００７６】
又、Job Description Attributesではなく、クライアント識別アトリビュートを、IPPのほかのアトリビュートグループに追加することも可能である。さらに、IPPにアトリビュートを追加するではなく、図８に示すように、IPPパケットの外でクライアント識別情報をつけて、IPPパケットとともにHTTPなどのプロトコルにパッケージングする方法も適用できる。
【００７７】
一方、プロキシ１２では、これを図１３の通信フォーマットに変換し、サーバ３１に通信する。即ち、図１３に示すように、ＨＴＴＰプロトコルでは、Ethernetヘッダ７０（図９参照）、ＩＰヘッダ７１（図１０参照）、ＴＣＰヘッダ７２（図１１参照）、ＨＴＴＰヘッダ７３（図１２参照）、ＥｘＰＰパケット７５で構成され、このＥｘＰＰパケット７５は、ＩＰＰパケットの「Job Description Attributes」を拡張し、「job-client-addr/ job-client-port」のタグを付加したものである。
【００７８】
次に、このExPMの通信動作を、図１を使用して、説明する。この図１において、プロキシ１２とExPMサーバ３１間のパイプ４０に流したパケットは、ExPPパケットである。尚、説明の便宜上、クライアントアドレスとポート番号を、IPPパケットの外に表示している。
【００７９】
図１４は、本発明のクライアント、プロキシ、サーバの役割の説明図、図１５は、ＥｘＰＰ通信処理フロー図である。図１５により、ＥｘＰＰプロキシ１２とＥｘＰＰサーバ３１の通信処理を説明する。
【００８０】
（Ｓ１）プロキシ１２／サーバ３１間にパイプ４０を作る。このパイプ４０を作るタイミングは、後述するように、以下のいずれかである。
【００８１】
a. クライアント２−１からサーバ３１にメールを送信後（第１の実施の形態）
b. プロキシ１２がメールをサーバ３１へ代行送信後（第２の実施の形態）
c. サーバ起動時に自動的に接続（第３の実施の形態）
即ち、プロキシ１２とサーバ３１は、クライアント２−１から印刷要求を受信し、パイプ４０が作られると同時に、プロキシ１２で、パイプ４０でつなげたExPMサーバ３１のサーバサイト１４を形成する。これにより、プロキシ１２は、サーバ３１からの受信待ち状態になる。この時、クライアント２−１からは、このサーバサイト１４は、一つのIPPプリントサーバと見える。又、クライアント２−１は、通常のIPPクライアントであり、クライアント２−１とプロキシ１２間は、通常のIPP接続である。
【００８２】
（Ｓ２）このExPMプロキシ１２とExPMサーバ３１間にTCPコネクションが設立する時に、ExPMサーバ３１から接続要求を発行することによって、ファイアウォール３０を越えることができる。この接続時に、ExPMサーバ３１はクライアントの役割を果し、プロキシ１２がサーバの役割になる。
【００８３】
（Ｓ３）そして、一旦、パイプ４０が形成されると、プロキシ１２は、クライアント２−１からのＥｘＰＭサーバ３１に対する、サービス要求を中継する。この時、前述と役割が逆転し、プロキシ１２が、クライアントの役割を果し、ExPMサーバ３１が、サーバの役割を果す。この役割の転換を、図１４で示す。即ち、クライアントとプロキシ間では、役割は、転換しないが、プロキシとExPMサーバ間では、接続時とサービス時で役割が転換する。
【００８４】
（Ｓ４）そして、サーバ３１は、受信したデータ、コマンドを処理し、プロキシ１２に処理結果又は状態を返送する。プロキシ１２は、処理結果をクライアント２−１に中継する。これを繰り返す。
【００８５】
このようにして、ExPMサーバ３１から接続要求を発行することによって、ファイアウォール３０内部から外部に接続するため、ファイアウォール３０を越えることができる。
【００８６】
更に、ExPMプロキシ１２では、前述の図４のエクスチェンジャ１６のエンコーダ１８が、クライアント２−１から受信したIPPパケットをExPPパケットに変換し（job-clinet-addr/job-client-portを追加）、サーバ３１に転送する。
【００８７】
一方、サーバ３１からExPMプロキシ１２に返したExPPパケットにはクライアント識別情報（job-clinet-addr/job-client-port）がそのまま入る。ExPMプロキシ１２のデコーダ１９は、「クライアントIPアドレス」と「ポート番号」を取り出して、クライアントとのリンクを特定し、クライアントに、ＩＰＰでレスポンス返す。
【００８８】
このように、プロキシ１２は、ＩＰＰとＥｘＰＰとのプロトコル変換を行う。このため、クライアント２−１は、ＩＰＰで、ファイアウォール３０を越えて、プリンタ３１を印刷制御できる。
【００８９】
［第１の実施の形態］
図１６は、本発明の第１の実施の形態のＥｘＰＭの全体説明図、図１７は、そのタイムチャート図である。この実施の形態は、ExPMクライアント２−１にSMTPクライアントを搭載したモデル（基本モデル）の例である。
【００９０】
この例では、プリンタ３１は、URLのかわりに、自分のメールアカウントを持っている。これで、メールアカウントはインターネット上では唯一しかもパブリックであるので、プライベートIPを使ってもエクストラネットのステーション２−１はプリンタ３１を一意で特定できる。
【００９１】
前述のように、「 HYPERLINK "mailto:expp1@abc.com" expp1@abc.com」を、イントラネットにあるプリンタ３１の公開名前とすると、ExPMプロキシサーバ１２を利用して、イントラネットにあるプリンタ（ExPMサーバ）３１を、普通のIPPサーバのように見せる。即ち、スプール１４にサーバサイト「exppl%abc.com」を立ち上げる。このアドレスマッピング方法は下記で指定する。
【００９２】
プロキシサーバURL＋ExPMサーバアカウント（ただし、@->%に変換）
この例だと、「exppproxy1.comnet.com/expp1%abc.com」になる。
【００９３】
図１６及び図１７により、印刷の流れを説明する。
【００９４】
▲１▼印刷者は、印刷するプリンタの選択する。即ち、ExPMクライアント２−１が印刷対象プリンタを指定する。図３で示したように、画面で、ExPMサーバ名とExPMプロキシ名をExPMクライアント２−１で指定する。
【００９５】
▲２▼ExPMクライアント２−１がSMTP（Simple Mail Transfer Protocol）を利用し、ターゲットプリンタ３１「 HYPERLINK "mailto:expp1@abc.com" expp1@abc.com」へ印刷指令メールを出す。メールにはExPMプロキシ名の内容も含む。
【００９６】
▲３▼ExPMクライアント２−１がIPPを利用し、ExPMプロキシ１２と接続する。接続URL（IPPプロトコルにおいてはprinter-uriという。RFC2566のsection 3.2を参照）は、「ipp://expp-proxy1.comnet.com/expp1%abc.com」となる。
【００９７】
▲４▼イントラネットにあるExPMサーバ３１がクライアント２−１からの印刷指令メールを受信し、ExPMプロキシ１２と接続する。すでに接続している場合、新規接続を行わない。接続用プロトコルは特に制限はない（たとえばHTTP/FTP）。例としてHTTPを使って説明する。HTTPの場合、接続先は
「 HYPERLINK "http://expp-proxy1.comnet.com/expp1%abc.com" http://expp-proxy1.comnet.com/expp1%abc.com」になる。
【００９８】
▲５▼ExPMプロキシ１２は、サーバ３１の接続を受けて、「expp1%abc.com」のサイトページ（スプール）１４を用意する（すでに存在している場合、新規作成しない）。
【００９９】
▲６▼ExPMサーバ３１とExPMプロキシ１２の接続が設立してから、プリンタ３１の状態をExPMプロキシ１２に転送し始める。
【０１００】
▲７▼ExPMプロキシ１２は、プリンタの状態をIPPでExPMクライアント２−１へ通知する。
【０１０１】
▲８▼ExPMクライアント２−１がプリンタ３１の状態を確認して、IPPで印刷ジョブをExPMプロキシ１２へ転送する。
【０１０２】
▲９▼同様に、ExPMプロキシ１２は受けたジョブを，ファイアウォール３０を越えられるプロトコル（例えば、ＨＴＴＰ）に変換し、プリンタ３１へ転送する。
【０１０３】
▲６▼、▲７▼、▲８▼、▲９▼を繰り返して、プリンタ及びジョブの状態（たとえば、ジャム、印刷進捗など）を監視しながら、印刷を行う。さらに、状態監視だけではなく、ユーザーがExPMプロキシ１２経由で、プリンタ及びジョブをコントロールできる（たとえばプリンタのオン／オフライン、ジョブのキャンセルなど）。
【０１０４】
（１０）印刷完了後、プリンタ３１およびExPMクライアント２−１が、ExPMプロキシ１２との接続を切断し、ExPMプロキシ１２は、すべてのクライアントから「expp1%abc.com」サイトからの接続が切断されたことを検出したら、サーバ３１との接続を切断し、「expp1%abc.com」サイトを削除する。
【０１０５】
このようにして、エクストラネットにあるクライアント２−１からイントラネットのプリンタ３１への印刷を実現できる。
【０１０６】
図１８は、前述の印刷処理のためのクライアントの処理フロー図である。
【０１０７】
（Ｓ１０）印刷者は、図３で示したように、画面で、ExPMサーバ名とExPMプロキシ名をExPMクライアント２−１で指定する。
【０１０８】
（Ｓ１１）ExPMクライアント２−１がSMTP（Simple Mail Transfer Protocol）を利用し、ターゲットプリンタ３１「 HYPERLINK "mailto:expp1@abc.com" expp1@abc.com」へ印刷指令メールを発信する。メールにはExPMプロキシ名の内容も含む。
【０１０９】
（Ｓ１２）ExPMクライアント２−１がIPPを利用し、ExPMプロキシ１２と接続する。接続URL（IPPプロトコルにおいてはprinter-uriという。RFC2566のsection 3.2を参照）は、「ipp://expp-proxy1.comnet.com/expp1%abc.com」となる。
【０１１０】
（Ｓ１３）ExPMプロキシ１２が取得したプリンタ３１の状態をIPPでゲットする。
【０１１１】
（Ｓ１４）ExPMクライアント２−１がプリンタ３１の状態を確認する。即ち、タイムアウトまで受信しないかを判定し、タイムアウトなら、ステップＳ１６に進む。タイムアウト内にプリンタの状態を受信すると、受信内容からプリンタが正常かを判定し、異常なら、ステップＳ１６に進む。
【０１１２】
（Ｓ１５）プリンタ３１が正常なら、IPPで指令及び印刷ジョブをExPMプロキシ１２へ転送する。又、プロキシ１２からのプリンタ及びジョブの状態（たとえば、ジャム、印刷進捗など）を監視しながら、印刷ジョブを発行する。
【０１１３】
（Ｓ１６）印刷完了後、ExPMクライアント２−１が、ExPMプロキシ１２との接続を切断し、印刷処理を完了する。
【０１１４】
次に、図１９及び図２０により、プロキシ１２の印刷処理を説明する。
【０１１５】
（Ｓ２０）接続要求の待機の状態で、ExPMクライアント２−１から接続要求（図６参照）を受けると、IPヘッダからクライアントアドレスをゲットし、ＴＣＰヘッダからクライアントポート及びローカルポートをゲットする。更に、ＨＴＴＰヘッダからサイトページＵＲＬを特定する。
【０１１６】
（Ｓ２１）ポート対応表に、該当する接続の対応関係が登録されているかを判定する。登録されている場合は、ステップＳ２２に進む。一方、登録されていない場合には、ローカルソケット番号、クライアントアドレス、クライアントポート番号をポート対応表に登録する。これにより、クライアント２−１は、ExPMプロキシ１２と接続する。
【０１１７】
（Ｓ２２）次に、ＥｘＰＭサーバ３１との接続パイプ４０が既に存在しているかを判定する。存在している場合には、ステップＳ２４に進む。
【０１１８】
（Ｓ２３）存在していない場合には、タイムアウトまでＥｘＰＭサーバ３１からの接続要求を待つ。タイムアウトなら、クライアント２−１にこれを通知し、クライアント２−１との接続を切断し、ステップＳ２９に進む。タイムアウト内に、サーバ３１から接続要求があると、ＥｘＰＭサーバ３１との接続パイプ４０を作成し、サイトページを作成する。
【０１１９】
（Ｓ２４）このサイトページのクライアントカウンタを、「＋１」更新する。
【０１２０】
（Ｓ２５）ExPMサーバ３１とExPMプロキシ１２の接続が設立してから、クライアント２−１の指令を受信し、指令をＥｘＰＭサーバ３１に転送し、ＥｘＰＭサーバ３１の状態を受信し、プリンタの状態をIPPでExPMクライアント２−１へ通知する。更に、クライアント２−１のジョブを受信し、そのジョブをＥｘＰＭサーバ３１に転送する。この転送処理は、後述する図２１、図２２で詳述する。
【０１２１】
（Ｓ２６）印刷完了後、ExPMクライアント２−１が、ExPMプロキシ１２との接続を切断するので、クライアントが接続を切断したかを判定し、切断していない場合には、ステップＳ２５に戻る。
【０１２２】
（Ｓ２７）クライアントが接続を切断すると、クライアントカウンタを、「−１」更新する。
【０１２３】
（Ｓ２８）クライアントカウンタが「０」に戻ったかを判定し、すべてのクライアントからこのサーバサイトからの接続が切断されたかを調べる。クライアントカウンタが「０」に戻っていないと、ステップＳ２９に進む。クライアントカウンタが「０」に戻っていると、サーバ３１との接続を切断し、サイトページを削除する。
【０１２４】
（Ｓ２９）処理を完了し、待機状態に復帰する。
【０１２５】
次に、ステップＳ２５におけるクライアントからの受信処理を、図２１により説明する。
【０１２６】
（Ｓ３０）クライアントからの受信を待つ。
【０１２７】
（Ｓ３１）クライアントからのデータを受信すると、IPヘッダからクライアントアドレスをゲットし、ＴＣＰヘッダからクライアントポート及びローカルポートをゲットする。更に、ＨＴＴＰヘッダからサイトページＵＲＬを特定する。
【０１２８】
（Ｓ３２）ＩＰＰパケットのサイトページＵＲＬを、ExPMサーバＵＲＬに置き換え、置き換えたＩＰＰパケットに、「job-client-addr」と「job-client-port」とを追加し、ＥｘＰＰパケットを作成する。
【０１２９】
（Ｓ３３）サイトページからＥｘＰＭサーバ３１と接続しているソケット番号を特定し、データを送信する。
【０１３０】
次に、ステップＳ２５におけるサーバからの受信処理を、図２２により説明する。
【０１３１】
（Ｓ４０）サーバ３１からの受信を待つ。
【０１３２】
（Ｓ４１）サーバからのデータを受信すると、受信ソケット番号からサイトページを特定し、ＥｘＰＰパケットの「job-client-addr」と「job-client-port」とからクライアントアドレス、クライアントポート番号を取り出す。
【０１３３】
（Ｓ４２）ＩＰＰパケットのＥｘＰＭサーバＵＲＬを、サイトページＵＲＬに置き換え、ＨＴＴＰレスポンスを作成する。
【０１３４】
（Ｓ４３）サイトページに記録されているクライアントアドレス、クライアントポート番号からローカルソケット番号を特定し、クライアントに実行結果を返送する。
【０１３５】
次に、図２３及び図２４により、プリントサーバ３１の印刷処理を説明する。
【０１３６】
（Ｓ５０）印刷要求の待機の状態で、ExPMクライアント２−１から印刷指令メールを受けると、クライアントの認証を行う。この認証として、パスワードや電子署名等の周知の認証手法を利用できる。
【０１３７】
（Ｓ５１）認証結果が、正当なクライアントでないと判定すると、ステップＳ５６に進む。
【０１３８】
（Ｓ５２）正当なクライアントと判定すると、指定されたプロキシとすでに接続しているかを判定する。すでに接続している場合には、ステップＳ５３に進む。接続していない場合には、ＥｘＰＭプロキシ１２と接続する。
【０１３９】
（Ｓ５３）ExPMサーバ３１とExPMプロキシ１２の接続が設立してから、ＥｘＰＭプロキシ１２の指令を受信し、ＥｘＰＭプロキシ１２へＥｘＰＭサーバ３１の状態を送信し、ＥｘＰＭプロキシ１２からのジョブを受信し、印刷する。この印刷処理は、後述する図２４で詳述する。
【０１４０】
（Ｓ５４）印刷完了かを判定し、印刷完了でない場合には、ステップＳ５３に戻る。
【０１４１】
（Ｓ５５）印刷完了であれば、ExPMプロキシ１２から接続切断要求があるかを判定し、接続切断要求がないと、ステップＳ５６に進む。接続切断要求があると、ＥｘＰＭプロキシ１２との接続を切断する。
【０１４２】
（Ｓ５６）処理を完了し、待機状態に復帰する。
【０１４３】
次に、ステップＳ５３におけるプロキシからの受信処理を、図２４により説明する。
【０１４４】
（Ｓ６０）プロキシ１２からのデータを受信すると、ＥｘＰＰパケットからクライアント識別情報（job-client-addrとjob-client-port）を取り出し、内部記憶する。
【０１４５】
（Ｓ６１）データをExPP処理部３４のＩＰＰデータ処理部（図５参照）に渡し、指令された処理（印刷処理、ジョブ操作、ジョブ状態監視、装置状態監視）を行う。
【０１４６】
（Ｓ６２）指令された処理完了を待つ。
【０１４７】
（Ｓ６３）処理を完了すると、返送するＩＰＰパケットに、内部記憶したクライアント識別情報（job-client-addrとjob-client-port）を入れ、ＥｘＰＰパケットを作成し、プロキシ１２にレスポンスを返送する。
【０１４８】
次に、このプロキシ１２とプリントサーバ３１との接続方法を、ＨＴＴＰを例に、具体的に説明する。
【０１４９】
（ａ）ノーブローキング方式（定期ポーリング）；
この方式は，ExPMサーバ３１が印刷要求通知（第１の実施の形態：クライアントから。第２の実施の形態：プロキシから）を受け付けたら、一定の間隔でサイトページをポーリングして、データがあったら、受信して処理する。ExPMサーバ３１が、状態ステータスをクライアントに渡すには改めてサイトページと接続して、データを送る。
【０１５０】
（ｂ）ブローキング方式（即時反応）；
図２５は、プロキシ１２とサーバ３１とのブローキング方式の処理フロー図である。
【０１５１】
クライアント２−１がプロキシ１２と接続する同時に、プロキシ１２でサーバページを生成する（Ｓ７０）。ExPMサーバ３１が，印刷要求通知（第１の実施の形態：クライアントから。第２の実施の形態：プロキシから）を受け付けたら、プロキシに対してHTTPのPOST（またはGET）リクエストを発行し、プロキシのサイトページの内容を要求する（Ｓ８１）。
【０１５２】
プロキシ１２は、ExPMサーバ３１からリクエストを受信すると、ＥｘＰＰパケットを取り出し、ＥｘＰＭサーバ３１からの状態情報をＥｘＰＭクライアント２−１に転送する（Ｓ７２）。次に、プロキシ１２は、ＥｘＰＭクライアントからジョブ要求又は状態問い合わせがあるかを調べ、どのクライアントからも受信していなければ、ExPMプロキシ１２が、単にCONTINUEレスポンスを返し、接続を維持する（Ｓ７３）。
【０１５３】
プロキシ１２は、クライアントから受信があったら、ExPMサーバ３１にレスポンスを返す（Ｓ７４）。ExPMサーバ３１がデータを受け取って，印刷処理及び状態を収集する（Ｓ８２）。ＥｘＰＭサーバ３１は、プロキシ１２から完了通知を受けない場合には、POST（GET）リクエストを発行し、再度データ待ち状態になる（Ｓ８３）。プロキシ１２は、すべてのクライアントの印刷要求を処理し終わったら、その旨をExPMサーバに通知するとともに、サイトページを削除する（Ｓ７５）。
【０１５４】
図２６は、本発明の第１の実施の形態の変形例の説明図、図２７は、そのタイムチャートである。この変形例は、図１６の第１の実施の形態の▲４▼、▲５▼の実行順序を変えたものであり、その他の変更はない。
【０１５５】
［第２の実施の形態］
図２８は、本発明の第２の実施の形態のＥｘＰＭの説明図、図２９は、そのプリンタ指定画面図、図３０は、そのタイムチャート図である。この例は、ExPMプロキシ１２にSMTPクライアントを搭載したモデル（拡張モデル１という）である。
【０１５６】
図２８に示すように、この拡張モデル１と図１６の基本モデルの違いは、SMTPの送信元は、SMTPクライアントをExPMクライアント２−１ではなく、ExPMプロキシ１２になる。図１６の基本モデルと比べると、メリットは、以下のようである。
【０１５７】
（１）ExPMクライアント２−１に、SMTPクライアントが必要としない。クライアントの実装が簡単である。
【０１５８】
（２）ExPMクライアント２−１とExPMプロキシ１２間は、ピュアIPPなので、標準IPPクライアントをExPMクライアント２−１として使え、独自にExPMクライアントの開発は不要となる。即ち、プロキシの開発だけで対応できる。
【０１５９】
又、デメリットとしては、ExPMプロキシ１２はSMTPの対応が必要となり、且つ認証機能の実装は難しい点がある。
【０１６０】
この認証機能について説明すると、図１６の基本モデルは、印刷指令メールを直接ＥｘＰＭサーバ３１に送るため、使用する認証方式を、クライアントとサーバが同意すれば、簡単に実現できる。一方、拡張モデルの場合には、プロキシ１２が指令を中継するため、クライアントとプロキシ間、プロキシとサーバ間に、それぞれ認証方式を決める必要がある。
【０１６１】
即ち、プロキシがクライアントとの認証ルールで認証要求を一旦復号してから、サーバとの認証ルールで暗号化して送ることになる。本来、サーバしか判らないはずのクライアント情報が、第３者のプロキシにも判ってしまい、セキュリテイの強度が低下する。更に、パブリックエリアに設置したプロキシが、クラッカーの攻撃を受けたら、クライアントの情報が悪意を持つ者に、漏れてしまう。
【０１６２】
次に、図２８乃至図３０により、印刷処理の流れを説明する。
【０１６３】
▲１▼印刷するプリンタの選択する。即ち、ExPMクライアント２−１が印刷対象プリンタを指定する。図２９で示すように、ExPMサーバ名とExPMプロキシ名を、ExPMクライアント２−１の画面で指定する。
【０１６４】
▲２▼ExPMクライアント２−１がIPPを利用し、ExPMプロキシ１２と接続する。接続URLは、「ipp://expp-proxy1.comnet.com/expp1%abc.com」となる。
【０１６５】
▲３▼ExPMプロキシ１２がSMTP利用し、ターゲットプリンタexpp1@abc.comへ印刷指令メールを出す。
【０１６６】
▲４▼イントラネットにあるExPMサーバ３１がExPMプロキシ１２からの印刷指令メールを受信し、ExPMプロキシ１２と接続する。すでに接続している場合、新規接続を行わない。接続用プロトコルは特に制限はない（たとえばHTTP/FTP）。例としてHTTPを使って説明する。
【０１６７】
HTTPの場合、接続先は「http://expp-proxy1.comnet.com/expp1%abc.com」になる。
【０１６８】
▲５▼ExPMプロキシ１２はサーバ３１からの接続を受けて、「expp1%abc.com」のサイトページ（スプール）１４を用意する（すでに存在している場合、新規作成しない）。
【０１６９】
▲６▼ExPMサーバ３１とExPMプロキシ１２の接続が設立してから、プリンタ３１の状態をExPMプロキシ１２に転送する。
【０１７０】
▲７▼ExPMプロキシ１２は、プリンタの状態をIPPでExPMクライアント２−１へ通知する。
【０１７１】
▲８▼ExPMクライアント２−１がプリンタの状態を確認して、IPPで印刷ジョブをExPMプロキシ１２へ転送する。
【０１７２】
▲９▼同様に、ExPMプロキシ１２は受けたジョブをファイアウォールを越えられるプロトコル（例えば、ＨＴＴＰ）に変換し、プリンタ３１へ転送する。
【０１７３】
（１０）印刷完了後、プリンタ３１およびExPMクライアント２−１が、ExPMプロキシ１２との接続を切断し、ExPMプロキシ１２はすべてのクライアントから「expp1%abc.com」サイトへの接続が切断されたことを検出したら、サーバ３１との接続を切断し、「expp1%abc.com」サイトを削除する。
【０１７４】
このようにして、エクストラネットにあるクライアントからイントラネットのプリンタへの印刷を実現できる。
【０１７５】
図３１は、本発明の第２の実施の形態の変形例の説明図、図３２は、そのタイムチャートである。この変形例は、図２８の第２の実施の形態の▲３▼、▲４▼、▲５▼の実行順序を変えたものであり、その他の変更はない。
【０１７６】
［第３の実施の形態］
図３３は、本発明の第３の実施の形態のＥｘＰＭの説明図、図３４は、その印刷設定画面の説明図である。図３３の実施の形態では、ExPMモデル（拡張モデル２という）は電子メールを具備していない環境でファイアウォール越えの印刷を実現するためのモデルである。
【０１７７】
このモデルは、ExPMサーバ３１とExPMプロキシ１２間に常時接続のTCPコネクションを用意することによって、電子メール機能が不要になり、下記の実装簡素化を図れる。即ち、ExPMクライアント２−１とExPMプロキシ１２が、SMTPクライアントの搭載が不要となり、メール発信のためのファイアウォール外側のSMTPサーバが不要となり、ExPMサーバ３１が、POP3/IMAPなどのメール受信クライアントの搭載が不要となり、ファイアウォール内部のメールサーバを使用せず、ExPMサーバ３１にメールアカウントを振り分けなくても良い。
【０１７８】
このシステムでは、ネーミングは、図１６の基本モデル、図２８の拡張モデル１と違って、プリンタを識別するにはインターネット上では唯一なものであれば何でもかまわない。ひとつの解として、そのプリンタのDNS（Domain  Name  Server）名を使うことにする。図３３に示すように、ファイアウォール３０で保護しているサイトのDNSドメイン名は「abc.com」とする。インターネットと接続する前提であれば、このDNSドメイン名が一意であることを保証される。
【０１７９】
サイト内部のプリンタDNS名を「expp1.abc.com」としたら、下記のようにアドレスマッピングできる。
【０１８０】
プロキシサーバURL＋ExPM DNS名
で指定する。上の例だと、インターネット上でExPMサーバ３１の公開名は「exppproxy1.comnet.com/expp1.abc.com」になる。
【０１８１】
図３３のシステム構成・機能を説明する。ExPMクライアント２−１は、主に下記の機能を持っている。
【０１８２】
（１）印刷先を指定する。
【０１８３】
（２）IPPプロトコルでExPMプロキシ１２に接続し、プリンタ３１の状態をゲットし、印刷ジョブを転送する。
【０１８４】
（３）印刷完了後、ExPMプロキシ１２の接続を切断する
（４）オプション機能として、図３４に示すように、ExPMプロキシ１２上のプリンタを検索し、プリンタ（スプール）一覧を表示させる。
【０１８５】
次に、ExPMプロキシ１２は、主に下記の機能を持っている。
【０１８６】
（１）ExPMサーバ３１の接続要求を待機し、接続要求があれば、対応するExPMサーバサイト（スプール）１４を作成する。
【０１８７】
（２）ExPMクライアント２−１からの接続要求を待機し、接続要求があれば、ExPMサーバサイト１４とリンクし、ExPMクライアント２−１とExPMサーバ３１間のパスを作る。
【０１８８】
（３）ExPMサーバ３１からHTTP/FTPなどのプロトコルで送ってきたプリンタステータスを、IPPフォーマットに変換し、IPPでExPMクライアント２−１に返す。
【０１８９】
（４）ExPMクライアント２−１からIPPで送ってきたジョブを、ExPMサーバ３１のプロトコル（HTTP/FTPなど）に変換し、ExPMサーバ３１へ転送する。
【０１９０】
（５）ExPMサーバ３１との通信プロトコルを特定するために、ExPMプロキシ１２が自分のサポート情報をExPMディスクリプションファイルとしてインターネット上に公開し、ExPMサーバ３１はHTTPでこのファイルを取得し、最適なプロトコルを選択する。
【０１９１】
（６）接続されているExPMサーバ３１とのパイプを監視し、ExPMサーバ３１がシャットダウンされたら、サーバサイトも消滅する。
【０１９２】
（７）必要に応じて、定期的にExPMサーバ３１の状態をポーリングし、サーバサイトに反映する。
【０１９３】
次に、ExPMサーバ３１は、主に下記の機能を持っている。
【０１９４】
（１）自動的にインターネット上のExPMプロキシと接続する。接続のプロトコルは自分の環境に合わせて、HTTP/FTPなどのTCPプロトコルを使用する。
【０１９５】
（２）自分の状態などをHTTP/FTPなどのプロトコルでExPMプロキシに反映する。
【０１９６】
（３）ExPMクライアント２−１からExPMプロキシ１２に転送したジョブをゲットし、印刷する。
【０１９７】
次に、図３３により、印刷処理の流れを説明する。
【０１９８】
▲１▼プリンタが起動する、又は明示的な指示がある時に、ExPMサーバ３１が指定されたExPMプロキシ１２にTCPコネクションを作る。ここのTCPコネクションというのはHTTP/FTPなどのファイアウォールを越えられるTCPコネクションのことである。
【０１９９】
▲２▼ExPMプロキシ１２は、ExPMサーバ３１の接続を受けて、サーバDNS名「expp1.abc.com」のサーバサイト（スプール）１４を用意する。接続用プロトコルは特に制限はない（たとえばHTTP/FTP）。例としてHTTPを使って説明する。HTTPの場合、接続先は「http://expp-proxy1.comnet.com/expp1.abc.com」になる。
【０２００】
▲３▼必要に応じて、接続すると同時に、ExPMサーバ３１の能力や状態などの情報もExPMプロキシ１２に転送する。
【０２０１】
▲４▼ユーザが印刷するときに、ExPMクライアント２−１で指定するExPMプロキシ及び▲２▼で作ったサーバサイト（ExPMサーバのインターネット公開名）を指定する。GUIの構成は、図３４で示してある。下図を参照ください。
【０２０２】
図３４では、ExPMプロキシ名を指定してから、プロキシ上にあるExPMサーバを全部リストアップされる。このリストの生成はExPMクライアント２−１がIPPか、他のプロトコルかを使って、指定したExPMプロキシ１２からゲットする。
【０２０３】
▲５▼▲４▼で指定した情報に基づいて、ExPMクライアント２−１がIPPを利用し、ExPMプロキシ１２と接続する。接続URLは、「ipp://expp-proxy1.comnet.com/expp1.abc.com」となる。
【０２０４】
▲６▼ExPMプロキシ１２はプリンタの状態をIPPでExPMクライアント２−１へ通知する。
【０２０５】
▲７▼ExPMクライアント２−１がプリンタの状態を確認して、IPPで印刷ジョブをExPMプロキシ１２へ転送する。
【０２０６】
▲８▼同様に、ExPMプロキシ１２は受けたジョブをファイアウォールを越えられるプロトコル（例えば、ＨＴＴＰ）に変換し、プリンタ３１へ転送する。
【０２０７】
このように、プロキシ１２とサーバ３１間に常に固定のパイプを張って、すべての通信はこのパイプを通して行うことにより、ファイアウォール内のプリンタを、ファイアウォール外のクライアントが、ＩＰＰを使用して、制御できる。
【０２０８】
この例でも、図１４、図１５で説明したプロキシとプリンタサーバとのサーバ、クライアントの役割の逆転を行う。又、接続形態は、図２５のブローキング方式を採用する。
【０２０９】
［他の実施の形態］
図３５及び図３６は、本発明のＥｘＰＭの利用形態の説明図である。図３５は、主張者や自宅作業者が、そのＩＰＰクライアント２−１、２−１を操作して、作成した資料を会社のプリンタ３１で印刷する例を示す。プロバイダが、ＥｘＰＭプロキシ１２を設置する。これにより、プロバイダは、加入者の増加、ＥｘＰＭサービスの利用料金の徴収、ＥｘＰＭサービスを有料コンテンツとして、ユーザに提供する、契約企業のプリンタしか接続できないようにして、企業から利用料を徴収する、という利益を図ることができる。
【０２１０】
図３６は、高価で遅い電話回線を使用せずに、インターネット１０を利用して、ＦＡＸするものであり、クライアント２−１、２−２は、ＦＡＸ（又は原稿読み取り装置）で構成される。スキャナとプリンタを組み合わせて、インターネットＦＡＸできる。この場合も、プロバイダが、プロキシ１２を設置し、同様の利益の拡大に貢献する。
【０２１１】
又、図３、図２９の実施の形態の印刷設定画面には、接続タイムアウトの設定がある。ここでは、ExPMクライアント２−１がSMTPを使ってExPMサーバ３１に指令メールを出す。何らかの理由（回線断、ExPMサーバサイトメールサーバダウンなど）で指令メールを受け取れない場合、設定されたタイムアウト時間になると、ExPMクライアント２−１がExPMサーバ３１へキャンセルメールを出して、ExPMプロキシ１２との接続を切断する手段である。ExPMプロキシ１２が、印刷指令を発する場合も、同様である。
【０２１２】
更に、ExPMサーバ３１とExPMプロキシ１２間の通信プロトコルは、特に制限がない。ExPMサーバサイトのルータが転送でき、かつExPMプロキシ１２がサポートするプロトコルなら、何でもかまわない。通常は、HTTP、FTPが好ましい。IPPクライアントをExPMサーバ３１に実装した場合、IPPのコマンドセットを拡張し、IPPも利用できる。
【０２１３】
更に、ExPMプロキシ１２は、必ず独自サーバにすることではなく、ひとつのサービスとして、既存のプロキシサーバにインストールしても良い。同様に、基本モデル及び拡張モデル１の印刷指令メールは、TCP/IP世界のSMTPを使うのはあくまでも一例に過ぎない。他のメッセージ転送サービス（たとえばITU-T勧告のX.400シリーズで述べられているMHSなど）を使っても良い。
【０２１４】
本発明では、３つのモデル（実施の態様）を提示した。それぞれの優劣をまとめてみる。
【０２１５】
基本モデル（ExPMクライアントにSMTPクライアントを搭載モデル）；
メリット
（１）ExPMクライアントから要求メール発信することで、ExPMプロキシの実装が簡単で、特に認証機能などの実装が容易である。
【０２１６】
（２）印刷するときに、メールで通知するイベント駆動モデルなので、プリンタとExPMプロキシと常時接続は必要がない。
【０２１７】
デメリット
（１）ExPMクライアントにメール発信プロトコルのサポート、ExPMサーバのメール受信プロトコルのサポートが必要なので、実装が複雑となる。
【０２１８】
（２）メールのやり取りがあるから、クライアント／サーバのサイトでメールサーバを用意しなければならない。
【０２１９】
（３）クライアントにおいて、メール発信プロトコル（SMTPなど）が必要なので、従来のIPPクライアントを使えず、専用のクライアントを作らなければならない。
【０２２０】
（４）ユーザが事前にExPMクライアントのアカウントが分からなければならない。
【０２２１】
拡張モデル１（ExPMプロキシにSMTPクライアントを搭載モデル）；
メリット
（１）ExPMクライアントとして、IPPだけをサポートすればOKなので、標準IPPクライアントで対応できる。
【０２２２】
（２）印刷するときに、メールで通知するイベント駆動モデルなので、プリンタとExPMプロキシと常時接続は必要がない。
【０２２３】
デメリット
（１）ExPMプロキシにメール発信プロトコルのサポート、ExPMサーバのメール受信プロトコルのサポートが必要なので、実装が複雑となる。
【０２２４】
（２）メールのやり取りがあるから、プロキシ／サーバのサイトでメールサーバを用意しなければならない。
【０２２５】
（３）ユーザが事前にExPMクライアントのアカウントが分からなければならない。
【０２２６】
拡張モデル２（ExPMサーバアクティブ接続モデル）；
メリット
（１）メール機能が不要であり、各コンポーネントの実装が簡単である。
【０２２７】
（２）メールサーバに依存しない。
【０２２８】
（３）標準IPPクライアントと互換性がある。
【０２２９】
（４）ExPMサーバとExPMプロキシは常時接続なので、ExPMクライアントがExPMプロキシ経由で、ExPMサーバの情報をゲットできる。それで、IPPがサポートしてあるあらゆる検索／問合せ機能を利用できる。
【０２３０】
（５）メール転送の遅延はないので、レスポンスが良い。
【０２３１】
デメリット
（１）常時接続なので、ダイアルアップネットワークに向いてない。
【０２３２】
（２）利用しなくても、ExPMプロキシと接続するので、プロキシの資源を消耗する。
【０２３３】
以上、本発明を実施の形態により説明したが、本発明の趣旨の範囲内において、種々の変形が可能であり、これらを本発明の技術的範囲から排除するものではない。
【０２３４】
（付記１）インターネットプリンテイングプロトコルを使用して、クライアントが、インターネットを通してプリントサーバを印刷制御するインターネット印刷方法において、前記クライアント又は前記プリントサーバの一方からの要求に応じて、前記インターネット上のプロキシ装置に、前記プリントサーバのサーバサイトを開設するステップと、前記クライアントが、前記インターネットプリンテイングプロトコルで前記サーバサイトにアクセスするステップと、前記アクセスに応じて、前記クライアントの前記インターネットプリンテイングプロトコルでの印刷サービス要求を、前記プリントサーバのファイアウォールを越えることができるプロトコルに変換し、前記プリントサーバに転送するステップとを有することを特徴とするインターネット印刷方法。
【０２３５】
（付記２）前記印刷サービス要求に対する前記プリントサーバの実行結果を、前記プロキシ装置に返送し、前記プロキシ装置により、前記インターネットプリンテイングプロトコルで、前記クライアントに返送するステップを更に有することを特徴とする付記１のインターネット印刷方法。
【０２３６】
（付記３）前記プリントサーバからの接続要求に応じて、前記プロキシ装置と前記プリントサーバとを接続するステップを更に有することを特徴とする付記１のインターネット印刷方法。
【０２３７】
（付記４）前記プロキシ装置と前記プリントサーバとの接続時に、前記プロキシ装置が、サーバの役目を、前記プリントサーバがクライアントの役目を果し、前記接続後の前記印刷サービス要求時には、前記プロキシ装置が、クライアントの役目を、前記プリントサーバがサーバの役目を果すことを特徴とする付記３のインターネット印刷方法。
【０２３８】
（付記５）前記クライアントから前記ファイアウォールを超えられるプロトコルで、前記プリントサーバに、印刷指令を送信するステップと、前記印刷指令に応じた前記プリントサーバからの接続要求に応じて、前記プロキシ装置と前記プリントサーバとを接続するステップを更に有することを特徴とする付記１のインターネット印刷方法。
【０２３９】
（付記６）前記クライアントから前記インターネットプリンテイングプロトコルで、前記プロキシ装置に、印刷指令を送信するステップと、前記印刷指令を前記プロキシ装置から前記プリントサーバに、前記ファイアウォールを越えられるプロトコルで転送するステップと、前記転送された印刷指令に応じた前記プリントサーバからの接続要求に応じて、前記プロキシ装置と前記プリントサーバとを接続するステップを更に有することを特徴とする付記１のインターネット印刷方法。
【０２４０】
（付記７）前記プリントサーバからの接続要求に応じて、前記プロキシ装置と前記プリントサーバとを常時接続するステップを更に有することを特徴とする付記１のインターネット印刷方法。
【０２４１】
（付記８）インターネットプリンテイングプロトコルを使用して、クライアントが、インターネットを通してプリントサーバを印刷制御するインターネット印刷システムにおいて、少なくともインターネットプリンテイングプロトコルで通信する前記クライアントと、前記インターネットにファイアウォールで保護され、印刷要求を実行するための前記プリントサーバと、前記クライアント又は前記プリントサーバの一方からの要求に応じて、前記プリントサーバのサーバサイトを開設し、前記クライアントが、前記インターネットプリンテイングプロトコルで前記サーバサイトにアクセスすることに応じて、前記クライアントの前記インターネットプリンテイングプロトコルでの印刷サービス要求を、前記プリントサーバのファイアウォールを越えることができるプロトコルに変換し、前記プリントサーバに転送するプロキシ装置とを有することを特徴とするインターネット印刷システム。
【０２４２】
（付記９）前記印刷サービス要求に対する前記プリントサーバの実行結果を、前記プロキシ装置に返送し、前記プロキシ装置により、前記インターネットプリンテイングプロトコルで、前記クライアントに返送することを特徴とする付記８のインターネット印刷システム。
【０２４３】
（付記１０）前記プロキシ装置は、前記プリントサーバからの接続要求に応じて、前記プリントサーバと接続することを特徴とする付記８のインターネット印刷システム。
【０２４４】
（付記１１）前記プロキシ装置と前記プリントサーバとの接続時に、前記プロキシ装置が、サーバの役目を、前記プリントサーバがクライアントの役目を果し、前記接続後の前記印刷サービス要求時には、前記プロキシ装置が、クライアントの役目を、前記プリントサーバがサーバの役目を果すことを特徴とする付記１０のインターネット印刷システム。
【０２４５】
（付記１２）前記クライアントから前記ファイアウォールを超えられるプロトコルで、前記プリントサーバに、印刷指令を送信し、前記プロキシ装置は、前記印刷指令に応じた前記プリントサーバからの接続要求に応じて、前記プリントサーバと接続することを特徴とする付記８のインターネット印刷システム。
【０２４６】
（付記１３）前記クライアントから前記インターネットプリンテイングプロトコルで、前記プロキシ装置に、印刷指令を送信し、前記プロキシ装置は、前記印刷指令を前記プリントサーバに、前記ファイアウォールを越えられるプロトコルで転送し、且つ前記転送された印刷指令に応じた前記プリントサーバからの接続要求に応じて、前記プリントサーバと接続することを特徴とする付記８のインターネット印刷システム。
【０２４７】
（付記１４）前記プロキシ装置は、前記プリントサーバからの接続要求に応じて、前記プリントサーバと常時接続することを特徴とする付記８のインターネット印刷システム。
【０２４８】
（付記１５）インターネットプリンテイングプロトコルを使用して、クライアントが、インターネットを通してプリントサーバを印刷制御するためのプロキシ装置であって、前記クライアント又は前記プリントサーバの一方からの要求に応じて、前記プリントサーバのサーバサイトを開設し、前記クライアントが、前記インターネットプリンテイングプロトコルで前記サーバサイトにアクセスすることに応じて、前記クライアントの前記インターネットプリンテイングプロトコルでの印刷サービス要求を、前記プリントサーバのファイアウォールを越えることができるプロトコルに変換し、前記プリントサーバに転送することを特徴とするプロキシ装置。
【０２４９】
（付記１６）前記印刷サービス要求に対する前記プリントサーバの実行結果を受け、前記インターネットプリンテイングプロトコルで、前記クライアントに返送することを特徴とする付記１５のプロキシ装置。
【０２５０】
（付記１７）前記プリントサーバからの接続要求に応じて、前記プリントサーバと接続することを特徴とする付記１５のプロキシ装置。
【０２５１】
（付記１８）前記プロキシ装置と前記プリントサーバとの接続時に、前記プロキシ装置が、サーバの役目を、前記プリントサーバがクライアントの役目を果し、前記接続後の前記印刷サービス要求時には、前記プロキシ装置が、クライアントの役目を、前記プリントサーバがサーバの役目を果すことを特徴とする付記１７のプロキシ装置。
【０２５２】
（付記１９）インターネットプリンテイングプロトコルを使用して、クライアントが、インターネットを通して印刷制御するためのプリントサーバであって、前記インターネット上に設けられたプロキシ装置に、前記プリントサーバのサーバサイトを開設を要求し、前記クライアントが、前記インターネットプリンテイングプロトコルで前記サーバサイトにアクセスすることに応じて、前記クライアントの前記インターネットプリンテイングプロトコルでの印刷サービス要求を、前記プリントサーバのファイアウォールを越えることができるプロトコルに変換した印刷サービス要求を前記プロキシ装置から受信し、前記印刷サービス要求を実行することを特徴とするプリントサーバ。
【０２５３】
（付記２０）前記プロキシ装置と前記プリントサーバとの接続時に、前記プロキシ装置が、サーバの役目を、前記プリントサーバがクライアントの役目を果し、前記接続後の前記印刷サービス要求時には、前記プロキシ装置が、クライアントの役目を、前記プリントサーバがサーバの役目を果すことを特徴とする付記１９のプリントサーバ。
【０２５４】
【発明の効果】
インターネットプリンテイグプロトコル（ＩＰＰという）でファイアウォールを越えられないプリントサーバに対し、ＩＰＰで通信できるプロキシ装置を設け、そのプロキシ装置にプリントサーバのサーバサイトを開設したため、クライアントは、プリントサーバをインターネット上で公開されたＩＰＰサーバと見なして、印刷サービス要求、レスポンスをやり取りできる。
【０２５５】
又、プロキシ装置が、ＩＰＰを他のプロトコルにゲートウェイ変換するため、クライアントは、ファイアウォールを越え、プリントサーバへの印刷が可能となる。
【図面の簡単な説明】
【図１】本発明の一実施の形態のインターネット印刷システム構成図である。
【図２】図１のシステムのクライアントのブロック図である。
【図３】図２のクライアントの印刷設定画面の説明図である。
【図４】図１のシステムのプロキシ装置のブロック図である。
【図５】図１のシステムのプリントサーバのブロック図である。
【図６】図１のシステムのクライアントとプロキシ間の通信フォーマットの説明図である。
【図７】図１のシステムのＥｘＰＰのフォーマット図である。
【図８】図１のシステムの他のＥｘＰＰのフォーマット図である。
【図９】図６の通信フォーマットのイーサネットヘッダのフォーマット図である。
【図１０】図６の通信フォーマットのＩＰヘッダのフォーマット図である。
【図１１】図６の通信フォーマットのＴＣＰヘッダのフォーマット図である。
【図１２】図６の通信フォーマットのHTTPヘッダのフォーマット図である。
【図１３】図１のシステムのプロキシとプリントサーバ間の通信フォーマットの説明図である。
【図１４】図１のシステムのクライアント、プロキシ、プリントサーバの役割の説明図である。
【図１５】図１４の役割の変換の説明のためのプロキシとプリントサーバの接続処理フロー図である。
【図１６】本発明の第１の実施の形態のＥｘＰＭの説明図である。
【図１７】図１６のＥｘＰＭのタイムチャート図である。
【図１８】図１６の第１の実施の形態のＥｘＰＭクライアントの処理フロー図である。
【図１９】図１６の第１の実施の形態のＥｘＰＭプロキシの処理フロー図（その１）である。
【図２０】図１６の第１の実施の形態のＥｘＰＭプロキシの処理フロー図（その２）である。
【図２１】図２０のプロキシのクライアントからの受信処理フロー図である。
【図２２】図２０のプロキシのプリントサーバからの受信処理フロー図である。
【図２３】図１６の第１の実施の形態のＥｘＰＭプリントサーバの処理フロー図である。
【図２４】図２３のＥｘＰＭサーバのデータ受信処理フロー図である。
【図２５】図１６のプロキシとプリントサーバとの接続処理フロー図である。
【図２６】本発明の第１の実施の形態のＥｘＰＭの変形例の説明図である。
【図２７】図２７のＥｘＰＭのタイムチャート図である。
【図２８】本発明の第２の実施の形態のＥｘＰＭの説明図である。
【図２９】図２８の印刷設定画面の説明図である。
【図３０】図２８のＥｘＰＭのタイムチャート図である。
【図３１】本発明の第２の実施の形態のＥｘＰＭの変形例の説明図である。
【図３２】図３１のＥｘＰＭのタイムチャート図である。
【図３３】本発明の第３の実施の形態のＥｘＰＭの説明図である。
【図３４】図３３の印刷設定画面の説明図である。
【図３５】本発明のシステムの利用形態の説明図である。
【図３６】本発明のシステムの他の利用形態の説明図である。
【図３７】従来のＩＰＰによる印刷動作の説明図である。
【図３８】従来のＩＰＰのファイアウォール通過時の印刷動作の説明図である。
【図３９】従来のＩＰＰのファイアウォール内への動作説明図である。
【符号の説明】
１０  インターネット
２−１、２−２  クライアント
３−１、３−２  ネットワーク
１２  プロキシ装置
１４  サーバサイト
３０、３２  ファイアウォール
３１、３３  プリントサーバ
【図１】
0004224958.tif 000002
【図２】
0004224958.tif 000003
【図３】
0004224958.tif 000004
【図４】
0004224958.tif 000005
【図５】
0004224958.tif 000006
【図６】
0004224958.tif 000007
【図７】
0004224958.tif 000008
【図８】
0004224958.tif 000009
【図９】
0004224958.tif 000010
【図１０】
0004224958.tif 000011
【図１１】
0004224958.tif 000012
【図１２】
0004224958.tif 000013
【図１３】
0004224958.tif 000014
【図１４】
0004224958.tif 000015
【図１５】
0004224958.tif 000016
【図１６】
0004224958.tif 000017
【図１７】
0004224958.tif 000018
【図１８】
0004224958.tif 000019
【図１９】
0004224958.tif 000020
【図２０】
0004224958.tif 000021
【図２１】
0004224958.tif 000022
【図２２】
0004224958.tif 000023
【図２３】
0004224958.tif 000024
【図２４】
0004224958.tif 000025
【図２５】
0004224958.tif 000026
【図２６】
0004224958.tif 000027
【図２７】
0004224958.tif 000028
【図２８】
0004224958.tif 000029
【図２９】
0004224958.tif 000030
【図３０】
0004224958.tif 000031
【図３１】
0004224958.tif 000032
【図３２】
0004224958.tif 000033
【図３３】
0004224958.tif 000034
【図３４】
0004224958.tif 000035
【図３５】
0004224958.tif 000036
【図３６】
0004224958.tif 000037
【図３７】
0004224958.tif 000038
【図３８】
0004224958.tif 000039
【図３９】
0004224958.tif 000040