インターネットに接続可能なユーザネットワーク内に配置される印刷支援装置であって、前記ユーザネットワークに接続されたプリンタを検出する第1機能と、検出したプリンタを特定する情報を、前記インターネットを介して、プリンタドライバ機能を備えるプリントサービスサーバに通知する第2機能と、前記プリントサービスサーバが印刷データを保存する所定の保存先にアクセスし、前記検出したプリンタに対応するプリンタドライバを用いて前記プリントサービスサーバが文書データから生成した印刷データを取得する第3機能と、取得した前記印刷データを前記検出したプリンタに転送する第4機能と、を備える、ことを特徴とする印刷支援装置。前記第1機能は、前記ユーザネットワークに接続されたプリンタの状態を監視し、前記第2機能は、状態が変化したプリンタがある場合は、当該プリンタの状態の変化を前記プリントサービスサーバに通知する、ことを特徴とする請求項1に記載の印刷支援装置。プリンタドライバ機能を備えるプリントサービスサーバと、プリンタと印刷支援装置とを備えるユーザネットワークと、がインターネットを介して接続された印刷システムであって、前記プリントサービスサーバは、プリンタドライバを用いて文書データから印刷データを生成し、生成した印刷データを所定の保存先に保存する機能を備え、前記印刷支援装置は、前記ユーザネットワークに接続されたプリンタを検出する機能と、検出したプリンタを特定する情報を、前記インターネットを介して、前記プリントサービスサーバに通知する機能と、前記所定の保存先にアクセスし、前記検出したプリンタに対応するプリンタドライバを用いて前記プリントサービスサーバが文書データから生成した印刷データを取得する機能と、取得した前記印刷データを前記検出したプリンタに転送する機能と、を備える、ことを特徴とする印刷システム。webブラウザで文書データの作成を可能にする文書作成サービスサーバと、プリンタドライバ機能を備えるプリントサービスサーバと、ユーザ端末とプリンタと印刷支援装置とを備えるユーザネットワークと、がインターネットを介して接続された印刷システムであって、前記プリントサービスサーバは、前記文書作成サービスサーバに、前記ユーザネットワークに接続されたプリンタを特定する情報を通知する機能と、前記文書作成サービスサーバから、文書データと前記ユーザネットワークに接続されたプリンタの中から選択されたプリンタを特定する情報とを取得する機能と、選択されたプリンタに対応するプリンタドライバを用いて、前記文書データから印刷データを生成し、生成した印刷データを所定の保存先に保存する機能と、を備え、前記印刷支援装置は、前記ユーザネットワークに接続されたプリンタを検出する機能と、検出したプリンタを特定する情報を、前記インターネットを介して、前記プリントサービスサーバに通知する機能と、前記所定の保存先にアクセスし、前記選択されたプリンタに対応するプリンタドライバを用いて前記文書データから生成された前記印刷データを取得する機能と、取得した前記印刷データを前記選択されたプリンタに転送する機能と、を備える、ことを特徴とする印刷システム。前記文書作成サービスサーバは、前記ユーザ端末からの印刷指示コマンドを受け付けたら、当該印刷指示コマンドのグローバルIPアドレスを用いて、前記プリントサービスサーバにプリンタ情報を問い合わせ、前記プリントサービスサーバは、前記問い合わせを受信したら、前記グローバルIPアドレスに対応付けて管理しているプリンタを前記文書作成サービスサーバに通知し、前記文書作成サービスサーバは、前記通知を受信したら、前記グローバルIPアドレスに対応付けられたプリンタの一覧を前記webブラウザの画面に表示させ、印刷を実行するプリンタをユーザに選択させる、ことを特徴とする請求項4に記載の印刷システム。前記印刷支援装置は、前記ユーザネットワークに接続されたプリンタの状態を監視し、状態が変化したプリンタがある場合は、当該プリンタの状態の変化を前記プリントサービスサーバに通知する、ことを特徴とする請求項3乃至5のいずれか一に記載の印刷システム。インターネットに接続可能なユーザネットワーク内に配置される装置で動作する印刷支援プログラムであって、前記装置に、前記ユーザネットワークに接続されたプリンタを検出する第1機能、検出したプリンタを特定する情報を、前記インターネットを介して、プリンタドライバ機能を備えるプリントサービスサーバに通知する第2機能、前記プリントサービスサーバが印刷データを保存する所定の保存先にアクセスし、前記検出したプリンタに対応するプリンタドライバを用いて前記プリントサービスサーバが文書データから生成した印刷データを取得する第3機能、取得した前記印刷データを前記検出したプリンタに転送する第4機能、を実行させる、ことを特徴とする印刷支援プログラム。前記第1機能は、前記ユーザネットワークに接続されたプリンタの状態を監視し、前記第2機能は、状態が変化したプリンタがある場合は、当該プリンタの状態の変化を前記プリントサービスサーバに通知する、ことを特徴とする請求項7に記載の印刷支援プログラム。文書作成編集アプリケーションがインストールされたコンピュータ装置を用いて紙文書を作成する印刷形態では、プリンタドライバと物理的なプリンタは一対一の関係として、OS上で管理される。そのため、文書データを生成した文書作成編集アプリケーションがOSからプリンタ情報を取得してユーザに選択させ、OSを経由して文書データをユーザ指定のプリンタドライバへ渡し、プリンタドライバが文書データを印刷データに変換してプリンタに送信し、プリンタが印刷データに従って印刷を実行することになる。一方、SaaSを利用して紙文書を作成する印刷形態では、サービスを提供するサーバ側で文書作成編集アプリケーションとプリンタドライバの処理を実行することになるが、このプリンタドライバに連動すべき物理的なプリンタは従来と同様にユーザ側にあるため、物理的なプリンタ情報が分からない。その結果、ユーザが利用できるプリンタ情報を文書作成編集アプリケーションに返すことができず、また、プリンタドライバが文書データを受け取ることができたとしても、プリンタドライバは物理的なプリンタ情報を持たないため、文書データを適切な印刷データに変換することができない。従って、後者の印刷形態では、サービスを提供するサーバにプリンタ情報を提供する必要がある。ここで、通常、ユーザ側のネットワークはプライベートやサブネットワークであり、そのネットワークをインターネットに接続するためにはルータを経由しなければならず、セキュリティのため、上述のルータには、通常、Firewallポリシーが設定されている。しかしながら、一般的なFirewallポリシーは、ユーザネットワーク上のノードPC、ネットワーク機器、ネットワークプリンタなどから、インターネット上のコンピュータWebサーバ、メールサーバなどへの接続要求TCPTransmissionControlProtocolのSYNパケットを許可しているが、インターネット上のコンピュータから、ユーザネットワーク上のノードへの接続要求を遮断するように設定されているため、SaaS上のサーバがユーザネットワーク上の物理的なプリンタのプリンタ情報を直接取得するのは容易ではない。この問題に対して、特許文献1のように、外部ネットワークと内部ネットワークの境界に設けた管理装置が、外部ネットワークからの要求を受付け、内部ネットワークの情報を要求元の外部ネットワークのクライアントに返す構成も考えられるが、この構成では、ルータ設定を変更する必要がある。また、特許文献2のように、ルータに割り当てたポート番号を公開し、外部からの接続要求を許可する構成も考えられるが、この構成でも、ルータ設定を変更する必要があり、かつ、ポートを開放するためにセキュリティが低下する。従って、SaaSを利用して紙文書を作成するには、ユーザ側にある物理プリンタの情報を、SaaS上の文書作成編集アプリケーションやSaaSプリンタドライバに提供する仕組みが必要である。また、SaaSプリンタドライバから、印刷データをユーザ側にある物理プリンタへ送信できる仕組みも必要である。本発明は、上記問題点に鑑みてなされたものであって、その主たる目的は、文書作成編集アプリケーションやプリンタドライバを持たないクライアントからでも、SaaSを利用して、簡便且つ安全に印刷を実行することができる印刷支援装置及び印刷システム並びに印刷支援プログラムを提供することにある。上記目的を達成するため、本発明は、インターネットに接続可能なユーザネットワーク内に配置される印刷支援装置であって、前記ユーザネットワークに接続されたプリンタを検出する第1機能と、検出したプリンタを特定する情報を、前記インターネットを介して、プリンタドライバ機能を備えるプリントサービスサーバに通知する第2機能と、前記プリントサービスサーバが印刷データを保存する所定の保存先にアクセスし、前記検出したプリンタに対応するプリンタドライバを用いて前記プリントサービスサーバが文書データから生成した印刷データを取得する第3機能と、取得した前記印刷データを前記検出したプリンタに転送する第4機能と、を備えるものである。また、本発明は、プリンタドライバ機能を備えるプリントサービスサーバと、プリンタと印刷支援装置とを備えるユーザネットワークと、がインターネットを介して接続された印刷システムであって、前記プリントサービスサーバは、プリンタドライバを用いて文書データから印刷データを生成し、生成した印刷データを所定の保存先に保存する機能を備え、前記印刷支援装置は、前記ユーザネットワークに接続されたプリンタを検出する機能と、検出したプリンタを特定する情報を、前記インターネットを介して、前記プリントサービスサーバに通知する機能と、前記所定の保存先にアクセスし、前記検出したプリンタに対応するプリンタドライバを用いて前記プリントサービスサーバが文書データから生成した印刷データを取得する機能と、取得した前記印刷データを前記検出したプリンタに転送する機能と、を備えるものである。また、本発明は、webブラウザで文書データの作成を可能にする文書作成サービスサーバと、プリンタドライバ機能を備えるプリントサービスサーバと、ユーザ端末とプリンタと印刷支援装置とを備えるユーザネットワークと、がインターネットを介して接続された印刷システムであって、前記プリントサービスサーバは、前記文書作成サービスサーバに、前記ユーザネットワークに接続されたプリンタを特定する情報を通知する機能と、前記文書作成サービスサーバから、文書データと前記ユーザネットワークに接続されたプリンタの中から選択されたプリンタを特定する情報とを取得する機能と、選択されたプリンタに対応するプリンタドライバを用いて、前記文書データから印刷データを生成し、生成した印刷データを所定の保存先に保存する機能と、を備え、前記印刷支援装置は、前記ユーザネットワークに接続されたプリンタを検出する機能と、検出したプリンタを特定する情報を、前記インターネットを介して、前記プリントサービスサーバに通知する機能と、前記所定の保存先にアクセスし、前記選択されたプリンタに対応するプリンタドライバを用いて前記文書データから生成された前記印刷データを取得する機能と、取得した前記印刷データを前記選択されたプリンタに転送する機能と、を備えるものである。また、本発明は、インターネットに接続可能なユーザネットワーク内に配置される装置で動作する印刷支援プログラムであって、前記装置に、前記ユーザネットワークに接続されたプリンタを検出する第1機能、検出したプリンタを特定する情報を、前記インターネットを介して、プリンタドライバ機能を備えるプリントサービスサーバに通知する第2機能、前記プリントサービスサーバが印刷データを保存する所定の保存先にアクセスし、前記検出したプリンタに対応するプリンタドライバを用いて前記プリントサービスサーバが文書データから生成した印刷データを取得する第3機能、取得した前記印刷データを前記検出したプリンタに転送する第4機能、を実行させるものである。本発明の印刷システムによれば、文書作成編集アプリケーションやプリンタドライバを持たないクライアントからでも、SaaSを利用して、簡便且つ安全に印刷を実行することができる。その理由は、インターネットに接続可能なユーザネットワーク内に配置される印刷支援装置印刷支援プログラムに、ユーザネットワークに接続されたプリンタを検出する機能と、検出したプリンタを特定する情報を、インターネットを介してプリントサービスを提供するサーバに通知する機能と、プリントサービスを提供するサーバが印刷データを保存する所定の保存先にアクセスし、当該サーバが検出したプリンタに対応するプリンタドライバを用いて文書データから生成した印刷データを取得する機能と、取得した印刷データを検出したプリンタに転送する機能と、を持たせるからである。このように、本発明の印刷システムでは、ユーザネットワーク側に文書作成編集アプリケーションやプリンタドライバが不要になるので、インストールなどの作業が不要となり、利便性を向上させることができると共に、高性能なユーザ端末が不要となり、使用できる端末の範囲を広げることができる。また、ユーザ側のプリンタは、レガシープリンタも使用可能であるため、コストを削減することができ、SaaSを利用しやすくすることができる。背景技術で示したように、SaaSを利用して印刷を行う場合、サービスプロバイダで文書を作成して印刷データに変換し、ユーザ側ネットワークのプリンタに送信することになる。ここで、ユーザ側の物理プリンタが印刷できる印刷データを生成するため、SaaSプリンタサービスサーバは、適切なプリンタドライバを選択する必要がある。しかしながら、SaaSプリンタサービスサーバは、ユーザ側の物理プリンタ情報が分からないため、適切なプリンタドライバを選択できず、印刷データを生成することができない。従って、このような印刷形態では、サービスプロバイダがユーザ側ネットワークのプリンタの情報を取得する必要があるが、一般的なFirewallポリシーでは、サービスプロバイダ側からのアクセスが拒否されてしまうため、アクセスを可能にするためには、ルータの設定を変更したり、ポートを開放したりしなければならず、セキュリティが低下してしまう。そこで、本発明の実施形態では、ユーザ側ネットワークにエージェントを設け、このエージェントがユーザ側ネットワークのプリンタの情報を取得し、そのプリンタの情報をサービスプロバイダに提供することで、煩雑な操作を行うことなく、かつ、セキュリティを低下させることなく、印刷を実行できるようにする。以下、図面を参照して具体的に説明する。図1は、本発明の一実施形態に係る印刷システムの全体構成を模式的に示す図である。本実施形態の印刷システムは、ユーザ施設10と、SaaS文書作成編集サービスプロバイダ20と、SaaSプリントサービスプロバイダ30と、で構成され、それらは、インターネット40を介して相互に接続されている。ユーザ施設10内には、印刷を指示するユーザ装置クライアント11と呼ぶ。と印刷支援装置以下、エージェント12と呼ぶ。とプリンタ13とがあり、これらは施設内ネットワーク14に接続されている。この施設内ネットワーク14は、一般的にプライベートやサブネットワークとして構築されるため、インターネット40に接続するためのルータ15が設けられる。ルータ15とインターネット40の接続41は、光ファイバやADSLAsymmetricDigitalSubscriberLineなどの方法があるが、本実施形態では特に限定しない。なお、本実施形態では、エージェント12をハードウェアとして記載するが、このハードウェアの機能を実現するソフトウェアもエージェント12と呼ぶことができる。クライアント11は、Webブラウザを用いてサービスプロバイダが提供するサービスを利用可能な装置例えば、パーソナルコンピュータやモバイル端末、PDAなどであり、制御部と通信I/F部と表示部と操作部などで構成される。制御部は、CPUCentralProcessingUnit、ROMReadOnlyMemoryやRAMRandomAccessMemoryなどのメモリ、必要に応じてHDDHardDiskDriveなどで構成され、クライアント11全体の動作を制御する。通信I/F部は、NICNetworkInterfaceCardやモデムなどで構成され、クライアント11を施設内ネットワーク14に接続する。表示部は、液晶表示装置LCD:LiquidCrystalDisplayや有機ELelectroluminescence表示装置等からなり、SaaS文書作成編集サービスやSaaSプリントサービスを利用するためのweb画面などを表示する。操作部は、マウスやキーボード、タッチパネル等からなり、SaaS文書作成編集サービスやSaaSプリントサービスを利用するための各種操作を可能にする。ハードウェアとしてのエージェント12は、制御部と通信I/F部などで構成される。制御部は、CPU、ROMやRAMなどのメモリ、必要に応じてHDDなどで構成され、エージェント12全体の動作を制御すると共に、ユーザ施設10内のプリンタ13の情報をSaaSプリントサービスに提供し、SaaSプリントサービスから取得した印刷データをプリンタ13に転送する制御を行う。メモリ又はHDDは、SaaSプリントサービスとの通信に必要な情報例えば、SaaSプリントサービスを提供するサーバのURLUniformResourceLocatorや自身を識別するためのエージェントID、自身のIPInternetProtocolアドレス、ルータ15のIPアドレス、DNSDomainNameServerのIPアドレス、ユーザ施設10内の各プリンタ13の情報を記述したテーブル図5のプリンタ管理テーブルや図6のプリンタ詳細情報テーブルなどを記憶する。通信I/F部は、NICやモデムなどで構成され、ハードウェアとしてのエージェント12を施設内ネットワーク14に接続する。プリンタ13は、制御部と通信I/F部と表示操作部と画像処理部と印刷処理部などで構成される。制御部は、CPU、ROMやRAMなどのメモリ、必要に応じてHDDなどで構成され、画像形成装置全体の動作を制御すると共に、エージェント12に自身の情報プリンタIDやメーカ名、モデル名、シリアル番号、対応ページ記述言語、カラー/白黒の種別などを提供する制御を行う。メモリ又はHDDは、各種プログラムやデータ例えば、上記情報、印刷データ、画像処理部で処理した画像データなどを記憶する。通信I/F部は、NICやモデムなどで構成され、プリンタ13を施設内ネットワーク14に接続する。表示操作部は、液晶表示装置や有機EL表示装置等の表示部上に、透明電極が格子状に配置された感圧式の操作部タッチパネルを備え、各種設定や指示などを可能にする。画像処理部は、印刷データを解析し、印刷データの各ページをラスタライズしてページ毎の画像データを生成し、必要に応じて画像処理色調整、濃度調整、サイズ調整などの処理やスクリーニングを行った後、印刷処理部で印刷可能な画像データに変換する。印刷処理部は、電子写真方式や静電記録方式等の作像プロセスを利用した画像形成に必要な構成要素で構成され、画像処理部で作成した画像データに基づく印刷画像を、設定情報で指定された用紙に印刷する。ルータ15は、制御部と通信I/F部などで構成される。制御部は、CPUなどのプロセッサ、ROMやRAMなどのメモリなどで構成され、ルータ15全体の動作を制御する。通信I/F部は、施設内ネットワーク14に接続されたクライアント11及びエージェント12をインターネット40に接続する。SaaS文書作成編集サービスプロバイダ20は、SaaS文書作成編集アプリケーションを提供する1又は複数のサーバ21を備え、各々のサーバ21は、制御部と通信I/F部などで構成される。制御部は、CPU、ROMやRAMなどのメモリ、必要に応じてHDDなどで構成され、サーバ21全体の動作を制御すると共に、SaaS文書作成編集アプリケーションを用いたサービスをユーザに提供する。メモリ又はHDDは、文書作成編集アプリケーションで作成した文書データなどを記憶する。通信I/F部は、NICやモデムなどで構成され、サーバ21をインターネット40に接続する。SaaSプリントサービスプロバイダ30は、SaaSプリントサービスを提供する1又は複数のサーバ31を備え、各々のサーバ31は、制御部と通信I/F部などで構成される。制御部は、CPU、ROMやRAMなどのメモリ、必要に応じてHDDなどで構成され、サーバ31全体の動作を制御すると共に、エージェント12と連携し、ユーザ側のプリンタ13の情報をSaaS文書作成編集アプリケーションに提供する。また、制御部は、プリンタドライバ機能、ユーザ側のプリンタ13の管理機能を有する。メモリ又はHDDは、各種プリンタに対応するプリンタドライバアプリケーション、エージェント12から取得した情報を記述したテーブル図3のエージェント管理テーブル、図8のプリンタ情報テーブル、SaaS文書作成編集アプリケーションから取得した文書データ、プリンタドライバ機能で作成した印刷データなどを記憶する。通信I/F部は、NICやモデムなどで構成され、サーバ31をインターネット40に接続する。なお、図1は、本実施形態の印刷システムの一例であり、その構成や制御は適宜変更可能である。例えば、図1では、SaaS文書作成編集サービスプロバイダ20とSaaSプリントサービスプロバイダ30とを別々に設けたが、これらのサービスを1つのサービスプロバイダが提供する構成としてもよい。また、図1では、エージェント12を独立した装置としたが、エージェント12の機能をハードウェア又はソフトウェアとしてクライアント11やプリンタ13、ルータ15に持たせてもよい。次に、上記構成の印刷システムの概略動作について説明する。エージェント12は、起動してから停止するまで、常に施設内ネットワーク14内のプリンタ13の検出と監視を行い、エージェント12が管理するプリンタ13の情報をSaaSプリントサービスを提供するサーバ31に通知する。なお、通知先のサーバ31のURLやエージェントIDなどの不変な情報は、エージェント12が製造されたときにメモリやHDDなどに記憶される。一方、エージェント12自身のIPアドレス、ルータ15のIPアドレス、DNSのIPアドレスなどの設置場所に依存する情報は、エージェント12が施設内ネットワーク14に設置された際に、管理者やユーザによって、若しくは、自動ネットワーク設定機能DHCP:DynamicHostConfigurationProtocolなどによって設定され、メモリやHDDなどに記憶される。SaaSプリントサービスを提供するサーバ31は、各々のエージェント12から通知されたユーザ施設10内のプリンタ13の情報を内部で管理し、SaaS文書作成編集サービスを提供するサーバ21に提供する。サーバ21は、SaaS文書作成編集アプリケーションを用いて作成された文書の印刷が指示された時に、クライアント11が属するユーザ施設10内のエージェント12が管理するプリンタ13の情報をサーバ31から取得して、文書を印刷するプリンタ13をユーザに選択させ、作成した文書データと選択されたプリンタ13の情報をサーバ31に提供する。サーバ31は、選択されたプリンタ13に対応するプリンタドライバに基づいて、作成された文書データをページ記述言語の印刷データに変換してエージェント12からの取得要求に応じて印刷データを送信する。エージェント12は、サーバ31から取得した印刷データを選択されたプリンタ13に送り、プリンタ13は、その印刷データに基づいて印刷を実行する。以下、印刷システムの詳細動作について個別に説明する。まず、エージェント12の起動処理について、図2のシーケンス図を参照して説明する。エージェント12は、電源がONになった後や再起動処理が始まった後、製造時に記憶されたエージェントID、時刻などの情報を用いて、起動通知メッセージを生成する1-1参照。そして、生成した起動通知メッセージを、SaaSプリントサービスを提供するサーバ31以下、SaaSプリントサービスと略記する。宛に送信する1-2参照。起動通知メッセージの宛先は、SaaSプリントサービスのURLであり、URLからIPアドレスへの変換は、公知の技術を用いて、ルータ内蔵のDNS機能や外部のDNSを利用して行われる。ここで、前述したように、ユーザネットワークはプライベートネットワークなどであるため、パケット通信データをそのままインターネット40へ転送できない。そこで、ルータ15は、一旦プライベートネットワークのパケットの送信元のIPアドレスをインターネット40で使用できるGlobalIPアドレスに変換する1-3参照。この機能は、一般的にNATNetworkAddressTranslationと呼ばれる。そして、GlobalIPアドレスに変換した起動通知メッセージを、インターネット40を介して、SaaSプリントサービスへ送信する1-4参照。SaaSプリントサービスは、起動通知メッセージを受信したら、そのパケットの送信元のエージェント12のGlobalIPアドレスを検出し1-5参照、パケットの内容からエージェントIDを検出する1-6参照。このステップで検出したエージェントIDと1-5で検出したGlobalIPアドレスを関連付けることによって、エージェント12がどこのユーザ施設10に設置されているかを知ることができる。1-5と1-6の情報に基づいてエージェント12を認識したら、SaaSプリントサービスは、そのエージェント12とのコネクションをセッションとして管理するため、セッションIDを生成する1-7参照。このセッションIDは、エージェント12毎に割当てられるため、重複のセッションIDを持つエージェント12は存在しない。次に、SaaSプリントサービスは、1-5から1-7の情報をエージェント管理テーブルに登録する1-8参照。このエージェント管理テーブルには、図3のように、エージェントID、セッションID、GlobalIPアドレス、エージェントの状態、登録時刻などが含まれ、SaaSプリントサービスは、このエージェント管理テーブルを参照して、エージェント12を管理することができる。そして、エージェント管理テーブルにエージェント12の情報を正常に登録できたら、SaaSプリントサービスは、エージェント12の起動通知に対する応答メッセージを生成し1-9参照、その応答メッセージを、ルータ15宛に送信する1-10参照。この応答メッセージには、1-7で生成したセッションIDなどの次の通信に使用される情報が含まれる。ルータ15は、受信したパケット宛先のGlobalIPアドレスをエージェント12のプライベートIPアドレスに変換し1-11参照、起動通知の応答メッセージをエージェント12宛に送信する1-12参照。エージェント12は、起動通知の応答メッセージを受信したら、セッションIDなどを抽出する。このセッションIDにより、エージェント12とSaaSプリントサービスの間で正常な接続が確立できたことを確認できる。このセッションIDは、次にプリンタ13の情報を送信する際にも使用するため、エージェント12はこのセッションIDを終了まで保持する1-13参照。このようにして、エージェント12は起動処理を完了したら、施設内ネットワーク14のプリンタ13を常に検出する処理を開始し、検出したプリンタ13の情報をSaaSプリントサービスに通知する。この処理について概説する。なお、ネットワーク上の機器を検出するプロトコルは、例えば、UPnPUniversalPlugandPlayのSSDPsimpleservicediscoveryprotocol、WSWebService-Discoveryなどがあるが、ここでは、UPnPプロトコルを一例として説明する。UPnPプロトコルの検索は、IPマルチキャストの一種である。検索者と検索対象は、ある特定のIPマルチキャストアドレスを共有し、そこに検索と検索応答パケットを通信する。このIPマルチキャストアドレスを、UPnPマルチキャストチャネルという。検索対象のUPnP機器は、常にこのマルチキャストチャネルの検索パケットを監視している。一方、検索者は、UPnPマルチキャストチャネルに対して検索パケットを送信する。検索パケットの中には、検索対象の機器の種類プリンタ、カメラ、AV機器など、返信先検索者のIPアドレスなどが含まれる。UPnP機器が、このUPnPマルチキャストチャネルから検索パケットを検出した場合、その検索内容が機器自身の種類に合致するかしないかを判断する。合致する場合は、検索者に応答パケットを送信する。合致しない場合は、応答せず、次の検索パケットを監視する。なお、IPマルチキャストは、UDPUserDatagramProtocolの一種であり、検索者と検索対象者の間には、TCPのようなコネクションが成立しなくても通信できるが、コネクションがないため、検索者は検索対象者との間の通信が保証されない。上述の検索のケースでは、検索者が検索パケットを送信したが、該当の検索対象者がいつ応答するかどうかは分からないため、通常、検査者は、検索パケットを送信後、ある期間内に応答パケットを受信し、その期間が超えたら、検索処理を終了する。上記新規プリンタの検出及びプリントサービスへの通知処理について、図4のシーケンス図を参照して詳細に説明する。なお、ルータ機能は図2に示したため、ここでは説明を省略する。また、この処理シーケンスは、一定間隔で繰り返して実行されるものとする。エージェント12は、検索対象の種類、希望応答時間などの情報を用いて、検索パケットを生成する2-1参照。ここでは、検索対象の種類をプリンタに設定し、パケットの宛先をUPnPマルチキャストチャネルに設定する。そして、生成した検索パケットをユーザ施設10の施設内ネットワーク14に送信する2-2参照。プリンタ13は、常にUPnPマルチキャストチャネルに流される検索パケットを監視しているため、2-2の検索パケットを検知することができる。そして、検索パケットを受け取った後2-3参照、検索内容と自身の情報とが合致するかどうかを判断する2-4参照。この場合、検索内容は、検索対象がプリンタであるので、合致と判断され、検索応答パケットを生成する2-5参照。この検索応答パケットには、プリンタID、プリンタ詳細情報を取得できるURL情報、印刷データの受付アドレス情報などが含まれる。そして、プリンタ13は、生成した検索応答パケットを、IPUncastで、エージェント12宛に送信する2-6参照。ここでは、1つのプリンタ13の応答を示しているが、該当するプリンタ13が複数存在する可能性があり、ステップ2-6以降のシーケンスは、検索内容に合致したプリンタ数と同じ回数で発生するため、エージェント12は、予め定められた期間内、応答を受信し続けることになる。なお、この期間はユーザが設定可能なパラメータである。エージェント12は、検索応答パケットを受け取ったら、その中のプリンタIDを抽出し、抽出したプリンタIDが図5に示すプリンタ管理テーブルに存在するかどうかを確認する2-7参照。なお、図5のプリンタ管理テーブルにおける検出時刻は、検索パケットHTTPMUを送信したときの時間であり、この情報により、エージェント12は、今回検出なのか、前回検出なのかが分かる。そして、プリンタIDがプリンタ管理テーブルに存在しない場合、応答したプリンタ13は新規に設置されたと判断し、そのプリンタ13に詳細情報の取得を要求する2-8参照。プリンタ13は、エージェント12からの詳細情報取得要求に対して、メーカ名、モデル名、シリアル番号、対応しているページ記述言語、印刷性能などのプリンタ詳細情報を応答する2-9参照。エージェント12は、検索応答パケットの内容を図5のプリンタ管理テーブルに登録すると共に、プリンタ13から受け取ったプリンタ詳細情報を、図6に示すプリンタ詳細情報テーブルに登録する2-10参照。次に、エージェント12は、検索応答したプリンタ13の情報を、SaaSプリントサービスにONLINE通知するかしないかを判断する2-11参照。ここでは、新規プリンタであるので、ONLINE通知すると判断する。また、新規でない、または、以前登録したプリンタがONLINEになるケースがあるので、その場合もONLINE通知すると判断する。このONLINE通知判断処理のフローを図7に示す。なお、検出したプリンタが新規でないことは、図5のプリンタ管理テーブルにプリンタのレコードが存在することを意味する。そのレコードには、プリントサービスへの通知フラグがあり、PRT_ONLINEとPRT_OFFLINEの2状態があり、PRT_ONLINEの場合にONLINE通知すると判断することになる。ONLINE通知すると判断したら、エージェント12は、プリンタ情報メッセージを生成する2-12参照。このプリンタ情報メッセージには、プリンタID、SaaSプリントサービスへの通知フラグPRT_ONLINE、PRT_OFFLINE、プリンタの性能、セッションIDなどが含まれる。そして、生成したプリンタ情報メッセージをSaaSプリントサービスへ送信する2-13参照。SaaSプリントサービスは、通知されたプリンタ情報メッセージからプリンタIDを抽出し、既に登録済みかどうかを確認する。具体的に、SaaSプリントサービスは、図8に示すプリンタ情報テーブルを持っている。このプリンタ情報テーブルは、エージェント毎に1つ存在し、そのエージェント配下のプリンタ13の情報を保持している。通知されたプリンタIDがこのテーブルに登録されていない場合は、新規として判断する。新規の場合は、そのプリンタ13に対して、印刷データを生成するために必要なリソースを割り当てる2-14参照。ここでは、このリソースをSaaSプリントスプーラと呼ぶ。新規に検出されたプリンタでない場合にも、リソースを割り当てる必要なケースがある。例えば、図8のプリンタ情報テーブルにおける管理IDが9979というプリンタ13は、プリンタ状態がPRT_OFFLINEであるが、その後、エージェント12からこのプリンタ13がPRT_ONLINEになった通知を受信した場合は、もう一度、そのプリンタ13に対応したSaaSプリントスプーラを割り当てる。このSaaSプリントスプーラの役割を簡単に説明すると、SaaS文書作成編集アプリケーションは、文書データをSaaSプリントサービスに渡した後、SaaSプリントサービスは、ユーザ側のプリンタ13に対応するプリンタドライバアプリケーションを使って印刷データを生成し、生成した印刷データを上述のSaaSプリントスプーラに渡す。従って、エージェント12は、このSaaSプリントスプーラを監視することにより、SaaSプリントサービスによって印刷データが作成されたことを検出することができる。次に、SaaSプリントサービスは、2-13で受信したプリンタ情報メッセージや2-14で割り当てたSaaSプリントスプーラ情報を、図8のプリンタ情報テーブルに登録する2-15参照。このテーブルは、1つのエージェントに対して、1つ割り当てられる。次に、サーバ31は、ユーザ側のプリンタ13の情報が正常にSaaSプリントサービスに通知され、印刷に必要なリソ-スが確保されていることをエージェント12に通知するため、プリンタ情報受信成功メッセージを生成する2-16参照。この成功メッセージには、割り当てられたスプーラ情報URLなどが含まれる。そして、生成した成功メッセージをエージェント12に送信する2-17参照。エージェント12は、SaaSプリントサービスから成功メッセージを受信し、その中にあるSaaSプリントスプーラ情報を取り出す。そして、SaaSプリントスプーラにアクセスするための情報をプリンタ管理テーブルの該当プリンタのレコード図5の印刷データの受付アドレスに登録する2-18参照。その後、エージェント12は、2-18で受信したSaaSプリントスプーラ情報を用いて、SaaSプリントスプーラ内に印刷データが保存されたかを監視し、印刷データが保存されたら印刷処理を実行する2-19参照。印刷に際して、SaaS文書作成編集アプリケーションを実行しているOSは、ユーザ側のプリンタ13の情報がなく、その情報は、SaaSプリントサービスにある。従って、SaaS文書作成編集アプリケーションは、ユーザからの印刷要求を受けた後、SaaSプリントサービスに対して、ユーザ側のプリンタ13の情報を問い合わせる必要がある。この処理について、図9のシーケンス図を参照して説明する。まず、ユーザがSaaS文書作成編集アプリケーションで作成した文書を印刷するため、そのアプリケーションのメニューから印刷ボタンを押す3-1参照。なお、SaaS文書作成編集アプリケーションは、Webブラウザで実現しているため、上記印刷ボタンはWebブラウザ内のボタンになる。そして、Webブラウザは、印刷ボタン押下のイベントを受けたら、SaaS文書作成編集アプリケーションを提供するサーバ21以下、SaaS文書作成編集アプリケーションと略記する。に対して、印刷コマンドを送信する3-2参照。SaaS文書作成編集アプリケーションは、3-2のパケットを受けた後、まず、そのパケットの送信元のGlobalIPアドレスを検出する3-3参照。ここで、前述したように、SaaSプリントサービスは、GlobalIPアドレスを使い、ユーザ側のプリンタ13の情報を管理している。そこで、SaaS文書作成編集アプリケーションは、ユーザ側ネットワークのプリンタ13の情報を取得するために、3-3で検出したGlobalIPアドレスを用いて、SaaSプリントサービスへプリンタ情報を問い合わせる3-4参照。SaaSプリントサービスは、プリンタ情報の問合せを受付け、問合せメッセージ中のユーザ側のGlobalIPアドレスを使い、図3のエージェント管理テーブルと図8のプリンタ情報テーブルを参照して該当プリンタ13の情報を抽出する3-5参照。図12はこの抽出処理の詳細フローを示している。そして、3-5で抽出した情報を用いて応答メッセージを生成する3-6参照。このメッセージには、各々のプリンタ識別子プリンタID以外に、図8のプリンタ情報テーブルに示した色、両面など性能情報も含まれる。そして、応答メッセージをSaaS文書作成編集アプリケーションへ送信する3-7参照。SaaS文書作成編集アプリケーションは、応答メッセージを受信後、ユーザに結果を返すために、プリンタ情報を整形する3-8参照。例えば、プリンタIDは、SaaS文書作成編集アプリケーションとSaaSプリントサービスの間には必要な情報であるが、ユーザにとっては不要である。そこで、プリンタ情報の一覧を整形する際には、このプリンタIDをユーザが分かるようなIDにするか、若しくは、表示しないように整形する。そして、3-8で整形したプリンタ情報をWebブラウザに送信する。Webブラウザは、受信したメッセージに従って描画し、プリンタ一覧を表示する3-10参照。次に、ユーザがWebブラウザに表示されたプリンタ一覧から、出力するプリンタ13を選択し、印刷実行命令を発行する処理について、図10のシーケンス図を参照して説明する。ユーザがWebブラウザの画面上で出力したいプリンタを選択して印刷設定を行い、設定完了後、印刷実行ボタンを押す4-1参照。Webブラウザは、印刷設定及び出力先のプリンタ13を特定するプリンタIDを印刷実行命令として、SaaS文書作成編集アプリケーションへ送信する4-2参照。SaaS文書作成編集アプリケーションは、内部に保存した文書データ及び出力先のプリンタIDを用いて、印刷依頼メッセージを生成し4-3参照、そのメッセージをSaaSプリントサービスへ送信する4-4参照。SaaSプリントサービスは、SaaS文書作成編集アプリケーションから送信されたメッセージを受付け、その中のプリンタIDを抽出する。そして、このプリンタIDを用い、図8のプリンタ情報テーブルを参照して、割り当てられたSaaSプリントスプーラのURLを抽出する4-5参照。そして、文書データと印刷設定をSaaSプリントスプーラへ送信し4-6参照、この処理が正常に完了したら、SaaS文書作成編集アプリケーションに対して、印刷依頼の応答を送信する4-7参照。SaaS文書作成編集アプリケーションは、SaaSプリントサービスの応答に従って、Webブラウザ向けに印刷実行命令の結果を応答し4-8参照、Webブラウザは、その応答を描画し、ユーザに表示する。4-7の処理と並行して、SaaSプリントスプーラは、印刷設定に従い、自身が持つプリンタドライバ機能若しくは他のサーバが持つプリンタドライバ機能を用いて、受付けた文書データを印刷データに変換する4-10参照。変換処理の結果は、後述のシーケンスで、エージェント12が取得できるようにする。SaaSプリントサービスから割り当てられたSaaSプリントスプーラのURLを受信後、エージェント12は、SaaSプリントスプーラに対して、永続的なTCP接続を確立し、この接続を使い、印刷データの存在確認をする。印刷データが存在した場合、その印刷データを取得し、プリンタ13に送信する。この処理を図11のシーケンス図を参照して説明する。エージェント12は、SaaSプリントスプーラと永続的なTCP接続を確立した後、印刷データの有無を確認する5-1参照。SaaSプリントスプーラは、印刷データが発生するまで、何も応答しない。一方、エージェント12は、応答が来るまで、待ち続ける。前述の図10のシーケンス図の4-10で、SaaSプリントスプーラが、印刷可能な単位の印刷データの準備が完了したら5-2参照、印刷データを取得するためのURLを含む印刷データの準備完了イベントをエージェント12へ通知する5-3参照。ここで、印刷可能な単位とは、印刷を実行するシステムの構成に依存し、例えば、文書データの全ページの変換完了、1ページの文書データの変換が完了、1スキャンラインの印刷データに変換が完了などのタイミングで準備完了イベントが発生する。本実施形態は、文書データの全ページの変換が完了した時点で準備完了とする。次に、エージェント12は、準備完了イベント内のURLに対して、印刷データの取得要求を送信する5-4参照。SaaSプリントスプーラは、この要求に対して、印刷データを送信する5-5参照。エージェント12は、受信した印刷データをプリンタ13に送信し5-6参照、プリンタ13は、受信した印刷データの印字処理を実行する5-7参照。この処理は、従来PC上のプリンタドライバからの印刷データの処理と同じである。そして、プリンタ13は、印刷が完了したら、エージェント12に対して、印刷完了通知を送信し5-8参照、エージェント12は、SaaSプリントスプーラに対して、印刷完了通知を送信する5-9参照。このシーケンスが完了後、次の印刷処理を行うため、ステップ5-1に戻って同様の処理を繰り返す。このように、本実施形態の印刷システムによれば、クライアント11上のソフトウェア管理作業例えば、プリンタ種類に応じたドライバのインストールとアンインストールが不要となるため、管理者やユーザへの負荷を軽減することができる。また、プリンタドライバでの文書データから印刷データへの変換処理がSaaSプリントサービスで実行されるため、計算性能の低いユーザ端末でも印刷が可能となる。また、従来技術では、内部ネットワーク機器のアクセス情報を直接外部ネットワークへ通知しているが、本実施形態では、内部機器のアクセス情報を提供しておらず、外部ネットワークから直接内部ネットワーク機器を操作することがないため、内部ネットワークのセキュリティを高め、プライバシーを守ることができる。また、従来技術では、外部ネットワークから内部ネットワークへの通信を許可するために、ルータの設定を変更しなければならず、Firewallのポリシーの変更やセキュリティホールが発生するが、本実施形態では、内部ネットワークから外部への接続であるため、ルータ設定の変更が不要となり、かつ、セキュリティを高めることができる。上記では、プリンタを新規に検出してSaaSプリントサービスに通知する場合を説明したが、既存のプリンタ13に関しても、その状態をリアルタイムでSaaSプリントサービスへ通知しなければ、不具合が発生する。例えば、以前エージェント12が検出したプリンタ13の電源がOFFOFFLINEになり、プリンタ13の状態変化をSaaSプリントサービスへ通知しなかった場合、SaaSプリントサービスは、ユーザの要求に応じて、そのプリンタ13の情報をSaaS文書作成編集アプリケーションに通知する。その結果、ユーザがOFFLINEのプリンタ13を選択してしまい、実際の印刷ができない場合が生じる。そこで、プリンタがOFFLINEになったことを判断するために、検索処理で実行した検索時刻と図5のテーブルを使用する。図5のテーブルの中にプリンタ毎の検索時刻が記録される。この検索時刻とは、エージェントが一定周期で行う実際の検索処理の実行時刻であり、一度検出したプリンタには、その検索時刻がテーブルで記憶される。従って、一周の検索処理新規プリンタ検出とテーブル登録などの後、テーブルの中のそれぞれのレコードに、前回の検索時刻と今回の検索時刻が一致しないプリンタがあれば、そのプリンタは状態が変わったと判断することができる。この判断処理の詳細を図13に示す。この処理は、図4の新規プリンタの検出/通知シーケンスが完了したら実行される。なお、図13のフローは、図5のテーブルの全てのレコードを一つずつ確認する場合の例であるが、データベースを用いて一括してOFFLINEプリンタを抽出することも可能である。S301では、テーブルに未確認のレコードがあるかどうかを判断する。レコードがない場合は、全テーブルのレコード確認済みを意味するので、処理を終了する。一方、レコードがある場合、S302でそのレコード情報を取り出す。次に、S303で、取り出したレコードのプリンタがPRT_ONLINEかどうかを判断する。もし、PRT_OFFLINEならば、次のレコードを確認する。PRT_ONLINEならば、S304で、そのレコードの検索時刻と今回の検索時刻を比較する。一致するならば、このレコードが最新であることが分かるので、S301に戻って次のレコードを確認する。一致しない場合は、このプリンタが前回の検索でONLINEと判断したが、今回の検索で見つからなかったので、プリンタがOFFLINEであると判断できる。OFFLINEと判断した場合、S305で、そのプリンタの状態がPRT_OFFLINEであることをSaaSプリントサービスへ通知する。そして、S306で、通知したプリンタの状態をテーブルに記録し、次のレコードを確認する。SaaSプリントサービスは、エージェント12から通知されたプリンタ状態を、図8に示すプリンタ情報テーブルに記録する。また、不具合が生じる別の例として、例えば、以前OFFLINEとしてSaaSプリントサービスへ通知したプリンタ13の電源がONONLINEになり、プリンタ13の状態変化をSaaSプリントサービスへ通知しなかった場合に、SaaS文書作成編集アプリケーションは、そのプリンタ13をユーザに選択させることができない場合が生じる。そこで、プリンタ13がOFFLINEからONLINEになったことを、エージェント12の一定周期の検索シーケンスにより検出する。図4の2-11は、検出したプリンタ13に対してONLINE通知するかどうかの判断ステップであり、図7は、この判断の詳細フローである。まずS101で、検出したプリンタ13が新規かどうかを判断する。この判断は、エージェント12のプリンタ管理テーブル図5を使用し、検出したプリンタ13のプリンタIDが既にこのテーブルに登録されている場合は、新規でないと判断する。そして、新規でない場合は、S102でテーブル内のプリントサービスへの通知フラグがPRT_ONLINEであるかを判断する。例えば、図5のテーブルには、管理IDが0002のプリンタ13が登録されており、このプリンタ13のプリントサービスへの通知フラグはPRT_OFFLINEとなっている。つまり、前回の検索でSaaSプリントサービスに対して、このプリンタがOFFLINEであることを通知している。現在、このプリンタ13がまた検出されたとすると、プリンタ13の状態が変わったことが分かるので、図7のS103ではONLINE通知が必要と判断する。このような方法を用いることにより、プリンタ13の状態をリアルタイムでSaaSプリントサービスに通知することができ、ユーザ環境と同じようにプリンタ13の状態をSaaS側に同期させることができる。従って、使用可能と不可能のプリンタ13をユーザに分かるように提示することができ、使用できないプリンタ13に対して印刷が指示される不具合を未然に防止することができる。以上、本実施形態の印刷システムの基本構成について説明したが、内部ネットワークと外部ネットワークの通信のセキュリティを高める方法について説明する。[通信データの暗号化]内部ネットワークのエージェント12とSaaSプリントサービスの接続、内部ネットワークのエージェント12とSaaSプリントスプーラの接続、SaaS文書作成編集アプリケーションとSaaSプリントサービスの接続などのそれぞれの接続は、SSLSecureSocketLayer方式を用いて、データの暗号化を行う。これにより、第3者がデータを盗聴しても解読できなくなり、情報漏洩を防ぐことができる。[ユーザ認証]SaaSプリントサービスは、ユーザ側のネットワークのGlobalIPアドレスやプリント情報を、外部のSaaSアプリケーションに提供している。このSaaSアプリケーションが信頼できるアプリケーションであるか否かを、外部ユーザ認証サービスを利用することで判断する。このときのシステム構成を図14に示す。この図には、ユーザ認証サービスがあり、SaaS文書作成編集アプリケーションやSaaSプリントサービスがそれぞれ個別でユーザ認証を行う。図15は、図9にユーザ認証を加えたシーケンスである。6-4では、SaaS文書作成編集アプリケーションがユーザ側のプリンタ13の情報を取得するため、SaaSプリントサービスに問い合わせる。この問合せメッセージ中には、ユーザ認証情報例えば、ユーザ名、パスワードが含まれる。SaaSプリントサービスは、この問合せを受付けた後、ユーザ認証情報を用いて、ユーザ認証サービスに認証を依頼する6-5参照。認証が成功した場合のみ、プリンタ情報をSaaS文書アプリケーションへ通知する処理を行う。一方、認証失敗した場合、SaaS文書作成アプリケーションが信頼できないと判断し、エラーを通知する。また、外部のユーザ認証サービスを利用せず、SaaS文書作成編集アプリケーションを認証する方法として、予めSaaS文書作成編集アプリケーションの情報をSaaSプリントサービスに登録する方法もある。この登録情報としては、SaaS文書作成編集アプリケーションのIPアドレス、ユニークな識別子などを利用することができる。SaaSプリントスプーラは、この情報を用いて、SaaS文書作成編集アプリケーションにユーザのプリンタ情報を提供するかどうかを判断する。上述した方法で、ユーザ側の情報を信頼できるSaaS文書作成編集アプリケーションのみに通知することができるため、セキュリティを高め、プライバシーを守ることができる。なお、本発明は上記実施形態に限定されるものではなく、本発明の趣旨を逸脱しない限りにおいて、その構成や制御は適宜変更可能である。例えば、上記実施形態では、SaaS文書作成編集アプリケーションを用いて文書を作成する構成としたが、例えば、文書データが予め作成されている場合は、クライアント11やエージェント12がSaaSプリントサービスに文書データを送り、SaaSプリントサービスが印刷データに変換してエージェント12に送り返す構成とすることもできる。その場合は、SaaSプリントサービスがユーザにプリンタを選択させ、選択されたプリンタ13に応じたプリンタドライバアプリケーションを用いて印刷データに変換すればよい。