(57)【要約】【課題】文書作成・編集アプリケーションやプリンタドライバを持たないクライアントからでも、ＳａａＳを利用して、簡便且つ安全に印刷を実行することができるようにする。【解決手段】インターネットに接続可能なユーザネットワーク内に配置される印刷支援装置（エージェント）に、ユーザネットワークに接続されたプリンタを検出する機能と、検出したプリンタを特定する情報を、インターネットを介してプリントサービスを提供するサーバに通知する機能と、プリントサービスを提供するサーバが印刷データを保存する所定の保存先にアクセスし、検出したプリンタに対応するプリンタドライバを用いて当該サーバが文書データから生成した印刷データを取得する機能と、取得した印刷データを検出したプリンタに転送する機能と、を持たせる。【選択図】図４
2012146197.tif 000002
【特許請求の範囲】
【請求項１】
インターネットに接続可能なユーザネットワーク内に配置される印刷支援装置であって、
前記ユーザネットワークに接続されたプリンタを検出する第１機能と、
検出したプリンタを特定する情報を、前記インターネットを介して、プリンタドライバ機能を備えるプリントサービスサーバに通知する第２機能と、
前記プリントサービスサーバが印刷データを保存する所定の保存先にアクセスし、前記検出したプリンタに対応するプリンタドライバを用いて前記プリントサービスサーバが文書データから生成した印刷データを取得する第３機能と、
取得した前記印刷データを前記検出したプリンタに転送する第４機能と、を備える、
ことを特徴とする印刷支援装置。
【請求項２】
前記第１機能は、前記ユーザネットワークに接続されたプリンタの状態を監視し、
前記第２機能は、状態が変化したプリンタがある場合は、当該プリンタの状態の変化を前記プリントサービスサーバに通知する、
ことを特徴とする請求項１に記載の印刷支援装置。
【請求項３】
プリンタドライバ機能を備えるプリントサービスサーバと、プリンタと印刷支援装置とを備えるユーザネットワークと、がインターネットを介して接続された印刷システムであって、
前記プリントサービスサーバは、
プリンタドライバを用いて文書データから印刷データを生成し、生成した印刷データを所定の保存先に保存する機能を備え、
前記印刷支援装置は、
前記ユーザネットワークに接続されたプリンタを検出する機能と、
検出したプリンタを特定する情報を、前記インターネットを介して、前記プリントサービスサーバに通知する機能と、
前記所定の保存先にアクセスし、前記検出したプリンタに対応するプリンタドライバを用いて前記プリントサービスサーバが文書データから生成した印刷データを取得する機能と、
取得した前記印刷データを前記検出したプリンタに転送する機能と、を備える、
ことを特徴とする印刷システム。
【請求項４】
ｗｅｂブラウザで文書データの作成を可能にする文書作成サービスサーバと、プリンタドライバ機能を備えるプリントサービスサーバと、ユーザ端末とプリンタと印刷支援装置とを備えるユーザネットワークと、がインターネットを介して接続された印刷システムであって、
前記プリントサービスサーバは、
前記文書作成サービスサーバに、前記ユーザネットワークに接続されたプリンタを特定する情報を通知する機能と、
前記文書作成サービスサーバから、文書データと前記ユーザネットワークに接続されたプリンタの中から選択されたプリンタを特定する情報とを取得する機能と、
選択されたプリンタに対応するプリンタドライバを用いて、前記文書データから印刷データを生成し、生成した印刷データを所定の保存先に保存する機能と、を備え、
前記印刷支援装置は、
前記ユーザネットワークに接続されたプリンタを検出する機能と、
検出したプリンタを特定する情報を、前記インターネットを介して、前記プリントサービスサーバに通知する機能と、
前記所定の保存先にアクセスし、前記選択されたプリンタに対応するプリンタドライバを用いて前記文書データから生成された前記印刷データを取得する機能と、
取得した前記印刷データを前記選択されたプリンタに転送する機能と、を備える、
ことを特徴とする印刷システム。
【請求項５】
前記文書作成サービスサーバは、前記ユーザ端末からの印刷指示コマンドを受け付けたら、当該印刷指示コマンドのグローバルＩＰアドレスを用いて、前記プリントサービスサーバにプリンタ情報を問い合わせ、
前記プリントサービスサーバは、前記問い合わせを受信したら、前記グローバルＩＰアドレスに対応付けて管理しているプリンタを前記文書作成サービスサーバに通知し、
前記文書作成サービスサーバは、前記通知を受信したら、前記グローバルＩＰアドレスに対応付けられたプリンタの一覧を前記ｗｅｂブラウザの画面に表示させ、印刷を実行するプリンタをユーザに選択させる、
ことを特徴とする請求項４に記載の印刷システム。
【請求項６】
前記印刷支援装置は、
前記ユーザネットワークに接続されたプリンタの状態を監視し、状態が変化したプリンタがある場合は、当該プリンタの状態の変化を前記プリントサービスサーバに通知する、
ことを特徴とする請求項３乃至５のいずれか一に記載の印刷システム。
【請求項７】
インターネットに接続可能なユーザネットワーク内に配置される装置で動作する印刷支援プログラムであって、
前記装置に、
前記ユーザネットワークに接続されたプリンタを検出する第１機能、
検出したプリンタを特定する情報を、前記インターネットを介して、プリンタドライバ機能を備えるプリントサービスサーバに通知する第２機能、
前記プリントサービスサーバが印刷データを保存する所定の保存先にアクセスし、前記検出したプリンタに対応するプリンタドライバを用いて前記プリントサービスサーバが文書データから生成した印刷データを取得する第３機能、
取得した前記印刷データを前記検出したプリンタに転送する第４機能、を実行させる、
ことを特徴とする印刷支援プログラム。
【請求項８】
前記第１機能は、前記ユーザネットワークに接続されたプリンタの状態を監視し、
前記第２機能は、状態が変化したプリンタがある場合は、当該プリンタの状態の変化を前記プリントサービスサーバに通知する、
ことを特徴とする請求項７に記載の印刷支援プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷支援装置及び印刷システム並びに印刷支援プログラムに関し、特に、プリンタドライバを持たないクライアントからの印刷を可能にする印刷支援装置及び印刷システム並びに印刷支援プログラムに関する。
【背景技術】
【０００２】
従来、紙文書を作成するには、ユーザは、コンピュータ装置にインストールされた文書作成・編集アプリケーションを用いて文書を作成し、この文書作成・編集アプリケーションの印刷メニューから使いたいプリンタドライバを選択し、印刷命令を発行する。
【０００３】
文書作成・編集アプリケーションで生成された文書データは、ＯＳ（Operating System）の標準インターフェースを介してプリンタドライバに渡され、プリンタドライバは、文書データを受け取り、出力先のプリンタが処理できるページ記述言語の印刷データに変換する。そして、この印刷データは、ＯＳを介してコンピュータ装置に接続されたプリンタに送信され、プリンタは、印刷データに従い、レンダリング処理などを行い、紙に印字する。
【０００４】
このような印刷形態では、コンピュータ装置に文書作成・編集アプリケーションやプリンタドライバがインストールされている必要があり、アプリケーションやプリンタドライバがインストールされていない装置では印刷を実行することができない場合があり、不便である。
【０００５】
このような背景から、近年、ソフトウェアをサービスとして提供する、ＳａａＳ（Software as a Service）と呼ばれるソフトウェアの利用形態が出現している。ＳａａＳでは、ソフトウェアアプリケーションをインターネット上にあるサービスプロバイダのサーバで実行し、処理結果をユーザに返すといったサービスを提供するため、ユーザはソフトウェアの購入と保守が不要となる。また、サービスの利用都度に課金されるため、導入コストが安くなる。
【０００６】
上記ＳａａＳアプリケーションを利用するには、ユーザはコンピュータ装置のＷｅｂブラウザを使ってＳａａＳアプリケーションを提供しているサービスプロバイダのポータルサイトにアクセスする。そして、ＳａａＳアプリケーションに対して処理を要求し、その処理結果をＷｅｂブラウザで確認する。従って、Ｗｅｂブラウザを搭載した端末とインターネット接続環境があれば、スマートフォン、ＰＤＡ（Personal Digital Assistants）、タブレット型コンピュータのような計算性能の低いモバイル端末でも、ＳａａＳアプリケーションを利用できるメリットがある。
【０００７】
このような構成では、外部ネットワークと内部ネットワーク間の通信に必要な情報を取得することが重要であり、この情報を取得するための様々な方法が提案されている。例えば、下記特許文献１には、外部ネットワークおよび内部ネットワークの境界に接続されたアプリケーション・ゲートウェイとしての情報処理装置が、内部ネットワークに接続されたサーバ情報の取得要求を外部ネットワーク接続クライアントから受信したことを条件として、内部ネットワークを介した接続サーバのサーバ情報取得処理を実行し、取得したサーバ情報に基づいてデバイスリストを生成し、外部ネットワークを介してクライアントに送信する技術が開示されている。
【０００８】
また、下記特許文献２には、内部ネットワークの機器（カメラ）を外部ネットワークのクライアント（サービス利用者）からアクセスできるようにするために、管理装置を設け、管理装置は内部ネットワークの機器を検索し、その機器に対して、識別情報（ポート番号）を割り当て、割り当てた情報をルータに設定し、このポート番号とルータの外部ネットワーク側の識別子（グローバルＩＰアドレス）を外部クライアントに通知することにより、外部クライアントが直接この情報に従って内部機器をアクセスできるようにする技術が開示されている。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００４−２７２６３２号公報
【特許文献２】特開２００５３０６７１８号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
文書作成・編集アプリケーションがインストールされたコンピュータ装置を用いて紙文書を作成する印刷形態では、プリンタドライバと物理的なプリンタは一対一の関係として、ＯＳ上で管理される。そのため、文書データを生成した文書作成・編集アプリケーションがＯＳからプリンタ情報を取得してユーザに選択させ、ＯＳを経由して文書データをユーザ指定のプリンタドライバへ渡し、プリンタドライバが文書データを印刷データに変換してプリンタに送信し、プリンタが印刷データに従って印刷を実行することになる。
【００１１】
一方、ＳａａＳを利用して紙文書を作成する印刷形態では、サービスを提供するサーバ側で文書作成・編集アプリケーションとプリンタドライバの処理を実行することになるが、このプリンタドライバに連動すべき物理的なプリンタは従来と同様にユーザ側にあるため、物理的なプリンタ情報が分からない。その結果、ユーザが利用できるプリンタ情報を文書作成・編集アプリケーションに返すことができず、また、プリンタドライバが文書データを受け取ることができたとしても、プリンタドライバは物理的なプリンタ情報を持たないため、文書データを適切な印刷データに変換することができない。
【００１２】
従って、後者の印刷形態では、サービスを提供するサーバにプリンタ情報を提供する必要がある。ここで、通常、ユーザ側のネットワークはプライベートやサブネットワークであり、そのネットワークをインターネットに接続するためにはルータを経由しなければならず、セキュリティのため、上述のルータには、通常、Ｆｉｒｅｗａｌｌポリシーが設定されている。しかしながら、一般的なＦｉｒｅｗａｌｌポリシーは、ユーザネットワーク上のノード（ＰＣ、ネットワーク機器、ネットワークプリンタなど）から、インターネット上のコンピュータ（Ｗｅｂサーバ、メールサーバなど）への接続要求（ＴＣＰ（Transmission Control Protocol）のＳＹＮパケット）を許可しているが、インターネット上のコンピュータから、ユーザネットワーク上のノードへの接続要求を遮断するように設定されているため、ＳａａＳ上のサーバがユーザネットワーク上の物理的なプリンタのプリンタ情報を直接取得するのは容易ではない。
【００１３】
この問題に対して、特許文献１のように、外部ネットワークと内部ネットワークの境界に設けた管理装置が、外部ネットワークからの要求を受付け、内部ネットワークの情報を要求元の外部ネットワークのクライアントに返す構成も考えられるが、この構成では、ルータ設定を変更する必要がある。また、特許文献２のように、ルータに割り当てたポート番号を公開し、外部からの接続要求を許可する構成も考えられるが、この構成でも、ルータ設定を変更する必要があり、かつ、ポートを開放するためにセキュリティが低下する。
【００１４】
従って、ＳａａＳを利用して紙文書を作成するには、ユーザ側にある物理プリンタの情報を、ＳａａＳ上の文書作成・編集アプリケーションやＳａａＳプリンタドライバに提供する仕組みが必要である。また、ＳａａＳプリンタドライバから、印刷データをユーザ側にある物理プリンタへ送信できる仕組みも必要である。
【００１５】
本発明は、上記問題点に鑑みてなされたものであって、その主たる目的は、文書作成・編集アプリケーションやプリンタドライバを持たないクライアントからでも、ＳａａＳを利用して、簡便且つ安全に印刷を実行することができる印刷支援装置及び印刷システム並びに印刷支援プログラムを提供することにある。
【課題を解決するための手段】
【００１６】
上記目的を達成するため、本発明は、インターネットに接続可能なユーザネットワーク内に配置される印刷支援装置であって、前記ユーザネットワークに接続されたプリンタを検出する第１機能と、検出したプリンタを特定する情報を、前記インターネットを介して、プリンタドライバ機能を備えるプリントサービスサーバに通知する第２機能と、前記プリントサービスサーバが印刷データを保存する所定の保存先にアクセスし、前記検出したプリンタに対応するプリンタドライバを用いて前記プリントサービスサーバが文書データから生成した印刷データを取得する第３機能と、取得した前記印刷データを前記検出したプリンタに転送する第４機能と、を備えるものである。
【００１７】
また、本発明は、プリンタドライバ機能を備えるプリントサービスサーバと、プリンタと印刷支援装置とを備えるユーザネットワークと、がインターネットを介して接続された印刷システムであって、前記プリントサービスサーバは、プリンタドライバを用いて文書データから印刷データを生成し、生成した印刷データを所定の保存先に保存する機能を備え、前記印刷支援装置は、前記ユーザネットワークに接続されたプリンタを検出する機能と、検出したプリンタを特定する情報を、前記インターネットを介して、前記プリントサービスサーバに通知する機能と、前記所定の保存先にアクセスし、前記検出したプリンタに対応するプリンタドライバを用いて前記プリントサービスサーバが文書データから生成した印刷データを取得する機能と、取得した前記印刷データを前記検出したプリンタに転送する機能と、を備えるものである。
【００１８】
また、本発明は、ｗｅｂブラウザで文書データの作成を可能にする文書作成サービスサーバと、プリンタドライバ機能を備えるプリントサービスサーバと、ユーザ端末とプリンタと印刷支援装置とを備えるユーザネットワークと、がインターネットを介して接続された印刷システムであって、前記プリントサービスサーバは、前記文書作成サービスサーバに、前記ユーザネットワークに接続されたプリンタを特定する情報を通知する機能と、前記文書作成サービスサーバから、文書データと前記ユーザネットワークに接続されたプリンタの中から選択されたプリンタを特定する情報とを取得する機能と、選択されたプリンタに対応するプリンタドライバを用いて、前記文書データから印刷データを生成し、生成した印刷データを所定の保存先に保存する機能と、を備え、前記印刷支援装置は、前記ユーザネットワークに接続されたプリンタを検出する機能と、検出したプリンタを特定する情報を、前記インターネットを介して、前記プリントサービスサーバに通知する機能と、前記所定の保存先にアクセスし、前記選択されたプリンタに対応するプリンタドライバを用いて前記文書データから生成された前記印刷データを取得する機能と、取得した前記印刷データを前記選択されたプリンタに転送する機能と、を備えるものである。
【００１９】
また、本発明は、インターネットに接続可能なユーザネットワーク内に配置される装置で動作する印刷支援プログラムであって、前記装置に、前記ユーザネットワークに接続されたプリンタを検出する第１機能、検出したプリンタを特定する情報を、前記インターネットを介して、プリンタドライバ機能を備えるプリントサービスサーバに通知する第２機能、前記プリントサービスサーバが印刷データを保存する所定の保存先にアクセスし、前記検出したプリンタに対応するプリンタドライバを用いて前記プリントサービスサーバが文書データから生成した印刷データを取得する第３機能、取得した前記印刷データを前記検出したプリンタに転送する第４機能、を実行させるものである。
【発明の効果】
【００２０】
本発明の印刷システムによれば、文書作成・編集アプリケーションやプリンタドライバを持たないクライアントからでも、ＳａａＳを利用して、簡便且つ安全に印刷を実行することができる。
【００２１】
その理由は、インターネットに接続可能なユーザネットワーク内に配置される印刷支援装置（印刷支援プログラム）に、ユーザネットワークに接続されたプリンタを検出する機能と、検出したプリンタを特定する情報を、インターネットを介してプリントサービスを提供するサーバに通知する機能と、プリントサービスを提供するサーバが印刷データを保存する所定の保存先にアクセスし、当該サーバが検出したプリンタに対応するプリンタドライバを用いて文書データから生成した印刷データを取得する機能と、取得した印刷データを検出したプリンタに転送する機能と、を持たせるからである。
【００２２】
このように、本発明の印刷システムでは、ユーザネットワーク側に文書作成・編集アプリケーションやプリンタドライバが不要になるので、インストールなどの作業が不要となり、利便性を向上させることができると共に、高性能なユーザ端末が不要となり、使用できる端末の範囲を広げることができる。また、ユーザ側のプリンタは、レガシープリンタも使用可能であるため、コストを削減することができ、ＳａａＳを利用しやすくすることができる。
【図面の簡単な説明】
【００２３】
【図１】本発明の一実施形態に係る印刷システムの構成を模式的に示す図である。
【図２】本発明の一実施形態に係る印刷システムの動作（印刷支援装置の起動処理）を示すシーケンス図である。
【図３】本発明の一実施形態に係るプリントサービスに保存されるエージェント管理テーブルの一例を示す図である。
【図４】本発明の一実施形態に係る印刷システムの動作（新規プリンタの検出及び通知処理）を示すシーケンス図である。
【図５】本発明の一実施形態に係るエージェントに保存されるプリンタ管理テーブルの一例を示す図である。
【図６】本発明の一実施形態に係るエージェントに保存されるプリンタ詳細情報テーブルの一例を示す図である。
【図７】本発明の一実施形態に係る印刷システムにおけるＯＮＬＩＮＥ通知判断処理を示すフローチャート図である。
【図８】本発明の一実施形態に係るプリントサービスに保存されるプリンタ情報テーブルの一例を示す図である。
【図９】本発明の一実施形態に係る印刷システムの動作（ＳａａＳアプリケーションへのプリンタ情報の提供処理）を示すシーケンス図である。
【図１０】本発明の一実施形態に係る印刷システムの動作（ユーザによる印刷命令発行処理）を示すシーケンス図である。
【図１１】本発明の一実施形態に係る印刷システムの動作（プリンタへの印刷データ送信処理）を示すシーケンス図である。
【図１２】本発明の一実施形態に係る印刷システムにおけるユーザ側のＯＮＬＩＮＥ中のプリンタ検出処理を示すフローチャート図である。
【図１３】本発明の一実施形態に係るエージェントにおけるＯＦＦＬＩＮＥ通知判断処理を示すフローチャート図である。
【図１４】本発明の一実施形態に係る印刷システムの他の構成を模式的に示す図である。
【図１５】本発明の一実施形態に係る印刷システムの動作（外部ユーザ認証を利用したＳａａＳアプリケーションへのプリンタ情報の提供処理）を示すシーケンス図である。
【発明を実施するための形態】
【００２４】
背景技術で示したように、ＳａａＳを利用して印刷を行う場合、サービスプロバイダで文書を作成して印刷データに変換し、ユーザ側ネットワークのプリンタに送信することになる。ここで、ユーザ側の物理プリンタが印刷できる印刷データを生成するため、ＳａａＳプリンタサービスサーバは、適切なプリンタドライバを選択する必要がある。しかしながら、ＳａａＳプリンタサービスサーバは、ユーザ側の物理プリンタ情報が分からないため、適切なプリンタドライバを選択できず、印刷データを生成することができない。
【００２５】
従って、このような印刷形態では、サービスプロバイダがユーザ側ネットワークのプリンタの情報を取得する必要があるが、一般的なＦｉｒｅｗａｌｌポリシーでは、サービスプロバイダ側からのアクセスが拒否されてしまうため、アクセスを可能にするためには、ルータの設定を変更したり、ポートを開放したりしなければならず、セキュリティが低下してしまう。
【００２６】
そこで、本発明の実施形態では、ユーザ側ネットワークにエージェントを設け、このエージェントがユーザ側ネットワークのプリンタの情報を取得し、そのプリンタの情報をサービスプロバイダに提供することで、煩雑な操作を行うことなく、かつ、セキュリティを低下させることなく、印刷を実行できるようにする。
【００２７】
以下、図面を参照して具体的に説明する。
【００２８】
図１は、本発明の一実施形態に係る印刷システムの全体構成を模式的に示す図である。本実施形態の印刷システムは、ユーザ施設１０と、ＳａａＳ文書作成・編集サービスプロバイダ２０と、ＳａａＳプリントサービスプロバイダ３０と、で構成され、それらは、インターネット４０を介して相互に接続されている。
【００２９】
ユーザ施設１０内には、印刷を指示するユーザ装置（クライアント１１と呼ぶ。）と印刷支援装置（以下、エージェント１２と呼ぶ。）とプリンタ１３とがあり、これらは施設内ネットワーク１４に接続されている。この施設内ネットワーク１４は、一般的にプライベートやサブネットワークとして構築されるため、インターネット４０に接続するためのルータ１５が設けられる。ルータ１５とインターネット４０の接続４１は、光ファイバやＡＤＳＬ（Asymmetric Digital Subscriber Line）などの方法があるが、本実施形態では特に限定しない。なお、本実施形態では、エージェント１２をハードウェアとして記載するが、このハードウェアの機能を実現するソフトウェアもエージェント１２と呼ぶことができる。
【００３０】
クライアント１１は、Ｗｅｂブラウザを用いてサービスプロバイダが提供するサービスを利用可能な装置（例えば、パーソナルコンピュータやモバイル端末、ＰＤＡなど）であり、制御部と通信Ｉ／Ｆ部と表示部と操作部などで構成される。制御部は、ＣＰＵ（Central Processing Unit）、ＲＯＭ（Read Only Memory）やＲＡＭ（Random Access Memory）などのメモリ、必要に応じてＨＤＤ（Hard Disk Drive）などで構成され、クライアント１１全体の動作を制御する。通信Ｉ／Ｆ部は、ＮＩＣ（Network Interface Card）やモデムなどで構成され、クライアント１１を施設内ネットワーク１４に接続する。表示部は、液晶表示装置（ＬＣＤ：Liquid Crystal Display）や有機ＥＬ（electroluminescence）表示装置等からなり、ＳａａＳ文書作成・編集サービスやＳａａＳプリントサービスを利用するためのｗｅｂ画面などを表示する。操作部は、マウスやキーボード、タッチパネル等からなり、ＳａａＳ文書作成・編集サービスやＳａａＳプリントサービスを利用するための各種操作を可能にする。
【００３１】
ハードウェアとしてのエージェント１２は、制御部と通信Ｉ／Ｆ部などで構成される。制御部は、ＣＰＵ、ＲＯＭやＲＡＭなどのメモリ、必要に応じてＨＤＤなどで構成され、エージェント１２全体の動作を制御すると共に、ユーザ施設１０内のプリンタ１３の情報をＳａａＳプリントサービスに提供し、ＳａａＳプリントサービスから取得した印刷データをプリンタ１３に転送する制御を行う。メモリ又はＨＤＤは、ＳａａＳプリントサービスとの通信に必要な情報（例えば、ＳａａＳプリントサービスを提供するサーバのＵＲＬ（Uniform Resource Locator）や自身を識別するためのエージェントＩＤ、自身のＩＰ（Internet Protocol）アドレス、ルータ１５のＩＰアドレス、ＤＮＳ（Domain Name Server）のＩＰアドレス）、ユーザ施設１０内の各プリンタ１３の情報を記述したテーブル（図５のプリンタ管理テーブルや図６のプリンタ詳細情報テーブル）などを記憶する。通信Ｉ／Ｆ部は、ＮＩＣやモデムなどで構成され、ハードウェアとしてのエージェント１２を施設内ネットワーク１４に接続する。
【００３２】
プリンタ１３は、制御部と通信Ｉ／Ｆ部と表示・操作部と画像処理部と印刷処理部などで構成される。制御部は、ＣＰＵ、ＲＯＭやＲＡＭなどのメモリ、必要に応じてＨＤＤなどで構成され、画像形成装置全体の動作を制御すると共に、エージェント１２に自身の情報（プリンタＩＤやメーカ名、モデル名、シリアル番号、対応ページ記述言語、カラー／白黒の種別など）を提供する制御を行う。メモリ又はＨＤＤは、各種プログラムやデータ（例えば、上記情報、印刷データ、画像処理部で処理した画像データなど）を記憶する。通信Ｉ／Ｆ部は、ＮＩＣやモデムなどで構成され、プリンタ１３を施設内ネットワーク１４に接続する。表示・操作部は、液晶表示装置や有機ＥＬ表示装置等の表示部上に、透明電極が格子状に配置された感圧式の操作部（タッチパネル）を備え、各種設定や指示などを可能にする。画像処理部は、印刷データを解析し、印刷データの各ページをラスタライズしてページ毎の画像データを生成し、必要に応じて画像処理（色調整、濃度調整、サイズ調整などの処理）やスクリーニングを行った後、印刷処理部で印刷可能な画像データに変換する。印刷処理部は、電子写真方式や静電記録方式等の作像プロセスを利用した画像形成に必要な構成要素で構成され、画像処理部で作成した画像データに基づく印刷画像を、設定情報で指定された用紙に印刷する。
【００３３】
ルータ１５は、制御部と通信Ｉ／Ｆ部などで構成される。制御部は、ＣＰＵなどのプロセッサ、ＲＯＭやＲＡＭなどのメモリなどで構成され、ルータ１５全体の動作を制御する。通信Ｉ／Ｆ部は、施設内ネットワーク１４に接続されたクライアント１１及びエージェント１２をインターネット４０に接続する。
【００３４】
ＳａａＳ文書作成・編集サービスプロバイダ２０は、ＳａａＳ文書作成・編集アプリケーションを提供する１又は複数のサーバ２１を備え、各々のサーバ２１は、制御部と通信Ｉ／Ｆ部などで構成される。制御部は、ＣＰＵ、ＲＯＭやＲＡＭなどのメモリ、必要に応じてＨＤＤなどで構成され、サーバ２１全体の動作を制御すると共に、ＳａａＳ文書作成・編集アプリケーションを用いたサービスをユーザに提供する。メモリ又はＨＤＤは、文書作成・編集アプリケーションで作成した文書データなどを記憶する。通信Ｉ／Ｆ部は、ＮＩＣやモデムなどで構成され、サーバ２１をインターネット４０に接続する。
【００３５】
ＳａａＳプリントサービスプロバイダ３０は、ＳａａＳプリントサービスを提供する１又は複数のサーバ３１を備え、各々のサーバ３１は、制御部と通信Ｉ／Ｆ部などで構成される。制御部は、ＣＰＵ、ＲＯＭやＲＡＭなどのメモリ、必要に応じてＨＤＤなどで構成され、サーバ３１全体の動作を制御すると共に、エージェント１２と連携し、ユーザ側のプリンタ１３の情報をＳａａＳ文書作成・編集アプリケーションに提供する。また、制御部は、プリンタドライバ機能、ユーザ側のプリンタ１３の管理機能を有する。メモリ又はＨＤＤは、各種プリンタに対応するプリンタドライバアプリケーション、エージェント１２から取得した情報を記述したテーブル（図３のエージェント管理テーブル、図８のプリンタ情報テーブル）、ＳａａＳ文書作成・編集アプリケーションから取得した文書データ、プリンタドライバ機能で作成した印刷データなどを記憶する。通信Ｉ／Ｆ部は、ＮＩＣやモデムなどで構成され、サーバ３１をインターネット４０に接続する。
【００３６】
なお、図１は、本実施形態の印刷システムの一例であり、その構成や制御は適宜変更可能である。例えば、図１では、ＳａａＳ文書作成・編集サービスプロバイダ２０とＳａａＳプリントサービスプロバイダ３０とを別々に設けたが、これらのサービスを１つのサービスプロバイダが提供する構成としてもよい。また、図１では、エージェント１２を独立した装置としたが、エージェント１２の機能をハードウェア又はソフトウェアとしてクライアント１１やプリンタ１３、ルータ１５に持たせてもよい。
【００３７】
次に、上記構成の印刷システムの概略動作について説明する。
【００３８】
エージェント１２は、起動してから停止するまで、常に施設内ネットワーク１４内のプリンタ１３の検出と監視を行い、エージェント１２が管理するプリンタ１３の情報をＳａａＳプリントサービスを提供するサーバ３１に通知する。なお、通知先のサーバ３１のＵＲＬやエージェントＩＤなどの不変な情報は、エージェント１２が製造されたときにメモリやＨＤＤなどに記憶される。一方、エージェント１２自身のＩＰアドレス、ルータ１５のＩＰアドレス、ＤＮＳのＩＰアドレスなどの設置場所に依存する情報は、エージェント１２が施設内ネットワーク１４に設置された際に、管理者やユーザによって、若しくは、自動ネットワーク設定機能（ＤＨＣＰ：Dynamic Host Configuration Protocolなど）によって設定され、メモリやＨＤＤなどに記憶される。
【００３９】
ＳａａＳプリントサービスを提供するサーバ３１は、各々のエージェント１２から通知されたユーザ施設１０内のプリンタ１３の情報を内部で管理し、ＳａａＳ文書作成・編集サービスを提供するサーバ２１に提供する。サーバ２１は、ＳａａＳ文書作成・編集アプリケーションを用いて作成された文書の印刷が指示された時に、クライアント１１が属するユーザ施設１０内のエージェント１２が管理するプリンタ１３の情報をサーバ３１から取得して、文書を印刷するプリンタ１３をユーザに選択させ、作成した文書データと選択されたプリンタ１３の情報をサーバ３１に提供する。サーバ３１は、選択されたプリンタ１３に対応するプリンタドライバに基づいて、作成された文書データをページ記述言語の印刷データに変換してエージェント１２からの取得要求に応じて印刷データを送信する。
【００４０】
エージェント１２は、サーバ３１から取得した印刷データを選択されたプリンタ１３に送り、プリンタ１３は、その印刷データに基づいて印刷を実行する。
【００４１】
以下、印刷システムの詳細動作について個別に説明する。まず、エージェント１２の起動処理について、図２のシーケンス図を参照して説明する。
【００４２】
エージェント１２は、電源がＯＮになった後や再起動処理が始まった後、製造時に記憶されたエージェントＩＤ、時刻などの情報を用いて、起動通知メッセージを生成する（１−１参照）。そして、生成した起動通知メッセージを、ＳａａＳプリントサービスを提供するサーバ３１（以下、ＳａａＳプリントサービスと略記する。）宛に送信する（１−２参照）。起動通知メッセージの宛先は、ＳａａＳプリントサービスのＵＲＬであり、ＵＲＬからＩＰアドレスへの変換は、公知の技術を用いて、ルータ内蔵のＤＮＳ機能や外部のＤＮＳを利用して行われる。
【００４３】
ここで、前述したように、ユーザネットワークはプライベートネットワークなどであるため、パケット（通信データ）をそのままインターネット４０へ転送できない。そこで、ルータ１５は、一旦プライベートネットワークのパケットの送信元のＩＰアドレスをインターネット４０で使用できるＧｌｏｂａｌ  ＩＰアドレスに変換する（１−３参照）。この機能は、一般的にＮＡＴ（Network Address Translation）と呼ばれる。そして、Ｇｌｏｂａｌ  ＩＰアドレスに変換した起動通知メッセージを、インターネット４０を介して、ＳａａＳプリントサービスへ送信する（１−４参照）。
【００４４】
ＳａａＳプリントサービスは、起動通知メッセージを受信したら、そのパケットの送信元のエージェント１２のＧｌｏｂａｌ  ＩＰアドレスを検出し（１−５参照）、パケットの内容からエージェントＩＤを検出する（１−６参照）。このステップで検出したエージェントＩＤと１−５で検出したＧｌｏｂａｌ  ＩＰアドレスを関連付けることによって、エージェント１２がどこのユーザ施設１０に設置されているかを知ることができる。
【００４５】
１−５と１−６の情報に基づいてエージェント１２を認識したら、ＳａａＳプリントサービスは、そのエージェント１２とのコネクションをセッションとして管理するため、セッションＩＤを生成する（１−７参照）。このセッションＩＤは、エージェント１２毎に割当てられるため、重複のセッションＩＤを持つエージェント１２は存在しない。
【００４６】
次に、ＳａａＳプリントサービスは、１−５から１−７の情報をエージェント管理テーブルに登録する（１−８参照）。このエージェント管理テーブルには、図３のように、エージェントＩＤ、セッションＩＤ、Ｇｌｏｂａｌ  ＩＰアドレス、エージェントの状態、登録時刻などが含まれ、ＳａａＳプリントサービスは、このエージェント管理テーブルを参照して、エージェント１２を管理することができる。
【００４７】
そして、エージェント管理テーブルにエージェント１２の情報を正常に登録できたら、ＳａａＳプリントサービスは、エージェント１２の起動通知に対する応答メッセージを生成し（１−９参照）、その応答メッセージを、ルータ１５宛に送信する（１−１０参照）。この応答メッセージには、１−７で生成したセッションＩＤなどの次の通信に使用される情報が含まれる。
【００４８】
ルータ１５は、受信したパケット宛先のＧｌｏｂａｌ  ＩＰアドレスをエージェント１２のプライベートＩＰアドレスに変換し（１−１１参照）、起動通知の応答メッセージをエージェント１２宛に送信する（１−１２参照）。
【００４９】
エージェント１２は、起動通知の応答メッセージを受信したら、セッションＩＤなどを抽出する。このセッションＩＤにより、エージェント１２とＳａａＳプリントサービスの間で正常な接続が確立できたことを確認できる。このセッションＩＤは、次にプリンタ１３の情報を送信する際にも使用するため、エージェント１２はこのセッションＩＤを終了まで保持する（１−１３参照）。
【００５０】
このようにして、エージェント１２は起動処理を完了したら、施設内ネットワーク１４のプリンタ１３を常に検出する処理を開始し、検出したプリンタ１３の情報をＳａａＳプリントサービスに通知する。
【００５１】
この処理について概説する。なお、ネットワーク上の機器を検出するプロトコルは、例えば、ＵＰｎＰ（Universal Plug and Play）のＳＳＤＰ（simple service discovery protocol）、ＷＳ（Web Service）−Ｄｉｓｃｏｖｅｒｙなどがあるが、ここでは、ＵＰｎＰプロトコルを一例として説明する。
【００５２】
ＵＰｎＰプロトコルの検索は、ＩＰマルチキャストの一種である。検索者と検索対象は、ある特定のＩＰマルチキャストアドレスを共有し、そこに検索と検索応答パケットを通信する。このＩＰマルチキャストアドレスを、ＵＰｎＰマルチキャストチャネルという。検索対象のＵＰｎＰ機器は、常にこのマルチキャストチャネルの検索パケットを監視している。一方、検索者は、ＵＰｎＰマルチキャストチャネルに対して検索パケットを送信する。検索パケットの中には、検索対象の機器の種類（プリンタ、カメラ、ＡＶ機器など）、返信先（検索者のＩＰアドレスなど）が含まれる。
【００５３】
ＵＰｎＰ機器が、このＵＰｎＰマルチキャストチャネルから検索パケットを検出した場合、その検索内容が機器自身の種類に合致するかしないかを判断する。合致する場合は、検索者に応答パケットを送信する。合致しない場合は、応答せず、次の検索パケットを監視する。なお、ＩＰマルチキャストは、ＵＤＰ（User Datagram Protocol）の一種であり、検索者と検索対象者の間には、ＴＣＰのようなコネクションが成立しなくても通信できるが、コネクションがないため、検索者は検索対象者との間の通信が保証されない。上述の検索のケースでは、検索者が検索パケットを送信したが、該当の検索対象者がいつ応答するかどうかは分からないため、通常、検査者は、検索パケットを送信後、ある期間内に応答パケットを受信し、その期間が超えたら、検索処理を終了する。
【００５４】
上記新規プリンタの検出及びプリントサービスへの通知処理について、図４のシーケンス図を参照して詳細に説明する。なお、ルータ機能は図２に示したため、ここでは説明を省略する。また、この処理シーケンスは、一定間隔で繰り返して実行されるものとする。
【００５５】
エージェント１２は、検索対象の種類、希望応答時間などの情報を用いて、検索パケットを生成する（２−１参照）。ここでは、検索対象の種類をプリンタに設定し、パケットの宛先をＵＰｎＰマルチキャストチャネルに設定する。そして、生成した検索パケットをユーザ施設１０の施設内ネットワーク１４に送信する（２−２参照）。
【００５６】
プリンタ１３は、常にＵＰｎＰマルチキャストチャネルに流される検索パケットを監視しているため、２−２の検索パケットを検知することができる。そして、検索パケットを受け取った後（２−３参照）、検索内容と自身の情報とが合致するかどうかを判断する（２−４参照）。この場合、検索内容は、“検索対象がプリンタである”ので、合致と判断され、検索応答パケットを生成する（２−５参照）。この検索応答パケットには、プリンタＩＤ、プリンタ詳細情報を取得できるＵＲＬ情報、印刷データの受付アドレス情報などが含まれる。そして、プリンタ１３は、生成した検索応答パケットを、ＩＰ  Ｕｎｃａｓｔで、エージェント１２宛に送信する（２−６参照）。
【００５７】
ここでは、１つのプリンタ１３の応答を示しているが、該当するプリンタ１３が複数存在する可能性があり、ステップ２−６以降のシーケンスは、検索内容に合致したプリンタ数と同じ回数で発生するため、エージェント１２は、予め定められた期間内、応答を受信し続けることになる。なお、この期間はユーザが設定可能なパラメータである。
【００５８】
エージェント１２は、検索応答パケットを受け取ったら、その中のプリンタＩＤを抽出し、抽出したプリンタＩＤが図５に示すプリンタ管理テーブルに存在するかどうかを確認する（２−７参照）。なお、図５のプリンタ管理テーブルにおける検出時刻は、検索パケット（ＨＴＴＰＭＵ）を送信したときの時間であり、この情報により、エージェント１２は、今回検出なのか、前回検出なのかが分かる。そして、プリンタＩＤがプリンタ管理テーブルに存在しない場合、応答したプリンタ１３は新規に設置されたと判断し、そのプリンタ１３に詳細情報の取得を要求する（２−８参照）。
【００５９】
プリンタ１３は、エージェント１２からの詳細情報取得要求に対して、メーカ名、モデル名、シリアル番号、対応しているページ記述言語、印刷性能などのプリンタ詳細情報を応答する（２−９参照）。
【００６０】
エージェント１２は、検索応答パケットの内容を図５のプリンタ管理テーブルに登録すると共に、プリンタ１３から受け取ったプリンタ詳細情報を、図６に示すプリンタ詳細情報テーブルに登録する（２−１０参照）。
【００６１】
次に、エージェント１２は、検索応答したプリンタ１３の情報を、ＳａａＳプリントサービスにＯＮＬＩＮＥ通知するか・しないかを判断する（２−１１参照）。ここでは、新規プリンタであるので、ＯＮＬＩＮＥ通知すると判断する。また、新規でない、または、以前登録したプリンタがＯＮＬＩＮＥになるケースがあるので、その場合もＯＮＬＩＮＥ通知すると判断する。このＯＮＬＩＮＥ通知判断処理のフローを図７に示す。なお、検出したプリンタが新規でないことは、図５のプリンタ管理テーブルにプリンタのレコードが存在することを意味する。そのレコードには、「プリントサービスへの通知フラグ」があり、“ＰＲＴ＿ＯＮＬＩＮＥ”と“ＰＲＴ＿ＯＦＦＬＩＮＥ”の２状態があり、“ＰＲＴ＿ＯＮＬＩＮＥ”の場合にＯＮＬＩＮＥ通知すると判断することになる。
【００６２】
ＯＮＬＩＮＥ通知すると判断したら、エージェント１２は、プリンタ情報メッセージを生成する（２−１２参照）。このプリンタ情報メッセージには、プリンタＩＤ、ＳａａＳプリントサービスへの通知フラグ（ＰＲＴ＿ＯＮＬＩＮＥ、ＰＲＴ＿ＯＦＦＬＩＮＥ）、プリンタの性能、セッションＩＤなどが含まれる。そして、生成したプリンタ情報メッセージをＳａａＳプリントサービスへ送信する（２−１３参照）。
【００６３】
ＳａａＳプリントサービスは、通知されたプリンタ情報メッセージからプリンタＩＤを抽出し、既に登録済みかどうかを確認する。具体的に、ＳａａＳプリントサービスは、図８に示すプリンタ情報テーブルを持っている。このプリンタ情報テーブルは、エージェント毎に１つ存在し、そのエージェント配下のプリンタ１３の情報を保持している。通知されたプリンタＩＤがこのテーブルに登録されていない場合は、新規として判断する。新規の場合は、そのプリンタ１３に対して、印刷データを生成するために必要なリソースを割り当てる（２−１４参照）。ここでは、このリソースをＳａａＳプリントスプーラと呼ぶ。
【００６４】
新規に検出されたプリンタでない場合にも、リソースを割り当てる必要なケースがある。例えば、図８のプリンタ情報テーブルにおける「管理ＩＤ」が“９９７９”というプリンタ１３は、プリンタ状態が“ＰＲＴ＿ＯＦＦＬＩＮＥ”であるが、その後、エージェント１２からこのプリンタ１３が“ＰＲＴ＿ＯＮＬＩＮＥ”になった通知を受信した場合は、もう一度、そのプリンタ１３に対応したＳａａＳプリントスプーラを割り当てる。
【００６５】
このＳａａＳプリントスプーラの役割を簡単に説明すると、ＳａａＳ文書作成・編集アプリケーションは、文書データをＳａａＳプリントサービスに渡した後、ＳａａＳプリントサービスは、ユーザ側のプリンタ１３に対応するプリンタドライバアプリケーションを使って印刷データを生成し、生成した印刷データを上述のＳａａＳプリントスプーラに渡す。従って、エージェント１２は、このＳａａＳプリントスプーラを監視することにより、ＳａａＳプリントサービスによって印刷データが作成されたことを検出することができる。
【００６６】
次に、ＳａａＳプリントサービスは、２−１３で受信したプリンタ情報メッセージや２−１４で割り当てたＳａａＳプリントスプーラ情報を、図８のプリンタ情報テーブルに登録する（２−１５参照）。このテーブルは、１つのエージェントに対して、１つ割り当てられる。
【００６７】
次に、サーバ３１は、ユーザ側のプリンタ１３の情報が正常にＳａａＳプリントサービスに通知され、印刷に必要なリソ−スが確保されていることをエージェント１２に通知するため、プリンタ情報受信成功メッセージを生成する（２−１６参照）。この成功メッセージには、割り当てられたスプーラ情報（ＵＲＬなど）が含まれる。そして、生成した成功メッセージをエージェント１２に送信する（２−１７参照）。
【００６８】
エージェント１２は、ＳａａＳプリントサービスから成功メッセージを受信し、その中にあるＳａａＳプリントスプーラ情報を取り出す。そして、ＳａａＳプリントスプーラにアクセスするための情報をプリンタ管理テーブルの該当プリンタのレコード（図５の印刷データの受付アドレス）に登録する（２−１８参照）。その後、エージェント１２は、２−１８で受信したＳａａＳプリントスプーラ情報を用いて、ＳａａＳプリントスプーラ内に印刷データが保存されたかを監視し、印刷データが保存されたら印刷処理を実行する（２−１９参照）。
【００６９】
印刷に際して、ＳａａＳ文書作成・編集アプリケーションを実行しているＯＳは、ユーザ側のプリンタ１３の情報がなく、その情報は、ＳａａＳプリントサービスにある。従って、ＳａａＳ文書作成・編集アプリケーションは、ユーザからの印刷要求を受けた後、ＳａａＳプリントサービスに対して、ユーザ側のプリンタ１３の情報を問い合わせる必要がある。この処理について、図９のシーケンス図を参照して説明する。
【００７０】
まず、ユーザがＳａａＳ文書作成・編集アプリケーションで作成した文書を印刷するため、そのアプリケーションのメニューから「印刷ボタン」を押す（３−１参照）。なお、ＳａａＳ文書作成・編集アプリケーションは、Ｗｅｂブラウザで実現しているため、上記印刷ボタンはＷｅｂブラウザ内のボタンになる。そして、Ｗｅｂブラウザは、「印刷ボタン」押下のイベントを受けたら、ＳａａＳ文書作成・編集アプリケーションを提供するサーバ２１（以下、ＳａａＳ文書作成・編集アプリケーションと略記する。）に対して、印刷コマンドを送信する（３−２参照）。
【００７１】
ＳａａＳ文書作成・編集アプリケーションは、３−２のパケットを受けた後、まず、そのパケットの送信元のＧｌｏｂａｌ  ＩＰアドレスを検出する（３−３参照）。ここで、前述したように、ＳａａＳプリントサービスは、Ｇｌｏｂａｌ  ＩＰアドレスを使い、ユーザ側のプリンタ１３の情報を管理している。そこで、ＳａａＳ文書作成・編集アプリケーションは、ユーザ側ネットワークのプリンタ１３の情報を取得するために、３−３で検出したＧｌｏｂａｌ  ＩＰアドレスを用いて、ＳａａＳプリントサービスへプリンタ情報を問い合わせる（３−４参照）。
【００７２】
ＳａａＳプリントサービスは、プリンタ情報の問合せを受付け、問合せメッセージ中のユーザ側のＧｌｏｂａｌ  ＩＰアドレスを使い、図３のエージェント管理テーブルと図８のプリンタ情報テーブルを参照して該当プリンタ１３の情報を抽出する（３−５参照）。図１２はこの抽出処理の詳細フローを示している。
【００７３】
そして、３−５で抽出した情報を用いて応答メッセージを生成する（３−６参照）。このメッセージには、各々のプリンタ識別子（プリンタＩＤ）以外に、図８のプリンタ情報テーブルに示した「色」、「両面」など性能情報も含まれる。そして、応答メッセージをＳａａＳ文書作成・編集アプリケーションへ送信する（３−７参照）。
【００７４】
ＳａａＳ文書作成・編集アプリケーションは、応答メッセージを受信後、ユーザに結果を返すために、プリンタ情報を整形する（３−８参照）。例えば、プリンタＩＤは、ＳａａＳ文書作成・編集アプリケーションとＳａａＳプリントサービスの間には必要な情報であるが、ユーザにとっては不要である。そこで、プリンタ情報の一覧を整形する際には、このプリンタＩＤをユーザが分かるようなＩＤにするか、若しくは、表示しないように整形する。そして、３−８で整形したプリンタ情報をＷｅｂブラウザに送信する。
【００７５】
Ｗｅｂブラウザは、受信したメッセージに従って描画し、プリンタ一覧を表示する（３−１０参照）。
【００７６】
次に、ユーザがＷｅｂブラウザに表示されたプリンタ一覧から、出力するプリンタ１３を選択し、印刷実行命令を発行する処理について、図１０のシーケンス図を参照して説明する。
【００７７】
ユーザがＷｅｂブラウザの画面上で出力したいプリンタを選択して印刷設定を行い、設定完了後、「印刷実行ボタン」を押す（４−１参照）。Ｗｅｂブラウザは、印刷設定及び出力先のプリンタ１３を特定するプリンタＩＤを印刷実行命令として、ＳａａＳ文書作成・編集アプリケーションへ送信する（４−２参照）。
【００７８】
ＳａａＳ文書作成・編集アプリケーションは、内部に保存した文書データ及び出力先のプリンタＩＤを用いて、印刷依頼メッセージを生成し（４−３参照）、そのメッセージをＳａａＳプリントサービスへ送信する（４−４参照）。
【００７９】
ＳａａＳプリントサービスは、ＳａａＳ文書作成・編集アプリケーションから送信されたメッセージを受付け、その中のプリンタＩＤを抽出する。そして、このプリンタＩＤを用い、図８のプリンタ情報テーブルを参照して、割り当てられたＳａａＳプリントスプーラのＵＲＬを抽出する（４−５参照）。そして、文書データと印刷設定をＳａａＳプリントスプーラへ送信し（４−６参照）、この処理が正常に完了したら、ＳａａＳ文書作成・編集アプリケーションに対して、印刷依頼の応答を送信する（４−７参照）。
【００８０】
ＳａａＳ文書作成・編集アプリケーションは、ＳａａＳプリントサービスの応答に従って、Ｗｅｂブラウザ向けに印刷実行命令の結果を応答し（４−８参照）、Ｗｅｂブラウザは、その応答を描画し、ユーザに表示する。
【００８１】
４−７の処理と並行して、ＳａａＳプリントスプーラは、印刷設定に従い、自身が持つプリンタドライバ機能若しくは他のサーバが持つプリンタドライバ機能を用いて、受付けた文書データを印刷データに変換する（４−１０参照）。変換処理の結果は、後述のシーケンスで、エージェント１２が取得できるようにする。
【００８２】
ＳａａＳプリントサービスから割り当てられたＳａａＳプリントスプーラのＵＲＬを受信後、エージェント１２は、ＳａａＳプリントスプーラに対して、永続的なＴＣＰ接続を確立し、この接続を使い、印刷データの存在確認をする。印刷データが存在した場合、その印刷データを取得し、プリンタ１３に送信する。この処理を図１１のシーケンス図を参照して説明する。
【００８３】
エージェント１２は、ＳａａＳプリントスプーラと永続的なＴＣＰ接続を確立した後、印刷データの有無を確認する（５−１参照）。ＳａａＳプリントスプーラは、印刷データが発生するまで、何も応答しない。一方、エージェント１２は、応答が来るまで、待ち続ける。
【００８４】
前述の図１０のシーケンス図の４−１０で、ＳａａＳプリントスプーラが、印刷可能な単位の印刷データの準備が完了したら（５−２参照）、印刷データを取得するためのＵＲＬを含む印刷データの準備完了イベントをエージェント１２へ通知する（５−３参照）。ここで、印刷可能な単位とは、印刷を実行するシステムの構成に依存し、例えば、文書データの全ページの変換完了、１ページの文書データの変換が完了、１スキャンラインの印刷データに変換が完了などのタイミングで準備完了イベントが発生する。本実施形態は、文書データの全ページの変換が完了した時点で準備完了とする。
【００８５】
次に、エージェント１２は、準備完了イベント内のＵＲＬに対して、印刷データの取得要求を送信する（５−４参照）。ＳａａＳプリントスプーラは、この要求に対して、印刷データを送信する（５−５参照）。
【００８６】
エージェント１２は、受信した印刷データをプリンタ１３に送信し（５−６参照）、プリンタ１３は、受信した印刷データの印字処理を実行する（５−７参照）。この処理は、従来ＰＣ上のプリンタドライバからの印刷データの処理と同じである。
【００８７】
そして、プリンタ１３は、印刷が完了したら、エージェント１２に対して、印刷完了通知を送信し（５−８参照）、エージェント１２は、ＳａａＳプリントスプーラに対して、印刷完了通知を送信する（５−９参照）。このシーケンスが完了後、次の印刷処理を行うため、ステップ５−１に戻って同様の処理を繰り返す。
【００８８】
このように、本実施形態の印刷システムによれば、クライアント１１上のソフトウェア管理作業（例えば、プリンタ種類に応じたドライバのインストールとアンインストール）が不要となるため、管理者やユーザへの負荷を軽減することができる。また、プリンタドライバでの文書データから印刷データへの変換処理がＳａａＳプリントサービスで実行されるため、計算性能の低いユーザ端末でも印刷が可能となる。
【００８９】
また、従来技術では、内部ネットワーク機器のアクセス情報を直接外部ネットワークへ通知しているが、本実施形態では、内部機器のアクセス情報を提供しておらず、外部ネットワークから直接内部ネットワーク機器を操作することがないため、内部ネットワークのセキュリティを高め、プライバシーを守ることができる。
【００９０】
また、従来技術では、外部ネットワークから内部ネットワークへの通信を許可するために、ルータの設定を変更しなければならず、Ｆｉｒｅｗａｌｌのポリシーの変更やセキュリティホールが発生するが、本実施形態では、内部ネットワークから外部への接続であるため、ルータ設定の変更が不要となり、かつ、セキュリティを高めることができる。
【００９１】
上記では、プリンタを新規に検出してＳａａＳプリントサービスに通知する場合を説明したが、既存のプリンタ１３に関しても、その状態をリアルタイムでＳａａＳプリントサービスへ通知しなければ、不具合が発生する。
【００９２】
例えば、以前エージェント１２が検出したプリンタ１３の電源がＯＦＦ（ＯＦＦＬＩＮＥ）になり、プリンタ１３の状態変化をＳａａＳプリントサービスへ通知しなかった場合、ＳａａＳプリントサービスは、ユーザの要求に応じて、そのプリンタ１３の情報をＳａａＳ文書作成・編集アプリケーションに通知する。その結果、ユーザがＯＦＦＬＩＮＥのプリンタ１３を選択してしまい、実際の印刷ができない場合が生じる。
【００９３】
そこで、プリンタがＯＦＦＬＩＮＥになったことを判断するために、検索処理で実行した「検索時刻」と図５のテーブルを使用する。図５のテーブルの中にプリンタ毎の「検索時刻」が記録される。この「検索時刻」とは、エージェントが一定周期で行う実際の検索処理の実行時刻であり、一度検出したプリンタには、その検索時刻がテーブルで記憶される。従って、一周の検索処理（新規プリンタ検出とテーブル登録など）の後、テーブルの中のそれぞれのレコードに、前回の「検索時刻」と今回の検索時刻が一致しないプリンタがあれば、そのプリンタは状態が変わったと判断することができる。
【００９４】
この判断処理の詳細を図１３に示す。この処理は、図４の新規プリンタの検出／通知シーケンスが完了したら実行される。なお、図１３のフローは、図５のテーブルの全てのレコードを一つずつ確認する場合の例であるが、データベースを用いて一括してＯＦＦＬＩＮＥプリンタを抽出することも可能である。
【００９５】
Ｓ３０１では、テーブルに未確認のレコードがあるかどうかを判断する。レコードがない場合は、全テーブルのレコード確認済みを意味するので、処理を終了する。一方、レコードがある場合、Ｓ３０２でそのレコード情報を取り出す。次に、Ｓ３０３で、取り出したレコードのプリンタが“ＰＲＴ＿ＯＮＬＩＮＥ”かどうかを判断する。もし、“ＰＲＴ＿ＯＦＦＬＩＮＥ”ならば、次のレコードを確認する。“ＰＲＴ＿ＯＮＬＩＮＥ”ならば、Ｓ３０４で、そのレコードの「検索時刻」と今回の検索時刻を比較する。一致するならば、このレコードが最新であることが分かるので、Ｓ３０１に戻って次のレコードを確認する。一致しない場合は、このプリンタが前回の検索でＯＮＬＩＮＥと判断したが、今回の検索で見つからなかったので、プリンタがＯＦＦＬＩＮＥであると判断できる。ＯＦＦＬＩＮＥと判断した場合、Ｓ３０５で、そのプリンタの状態が“ＰＲＴ＿ＯＦＦＬＩＮＥ”であることをＳａａＳプリントサービスへ通知する。そして、Ｓ３０６で、通知したプリンタの状態をテーブルに記録し、次のレコードを確認する。ＳａａＳプリントサービスは、エージェント１２から通知されたプリンタ状態を、図８に示すプリンタ情報テーブルに記録する。
【００９６】
また、不具合が生じる別の例として、例えば、以前ＯＦＦＬＩＮＥとしてＳａａＳプリントサービスへ通知したプリンタ１３の電源がＯＮ（ＯＮＬＩＮＥ）になり、プリンタ１３の状態変化をＳａａＳプリントサービスへ通知しなかった場合に、ＳａａＳ文書作成・編集アプリケーションは、そのプリンタ１３をユーザに選択させることができない場合が生じる。
【００９７】
そこで、プリンタ１３がＯＦＦＬＩＮＥからＯＮＬＩＮＥになったことを、エージェント１２の一定周期の検索シーケンスにより検出する。図４の２−１１は、検出したプリンタ１３に対してＯＮＬＩＮＥ通知するかどうかの判断ステップであり、図７は、この判断の詳細フローである。まずＳ１０１で、検出したプリンタ１３が新規かどうかを判断する。この判断は、エージェント１２のプリンタ管理テーブル（図５）を使用し、検出したプリンタ１３のプリンタＩＤが既にこのテーブルに登録されている場合は、新規でないと判断する。そして、新規でない場合は、Ｓ１０２でテーブル内の「プリントサービスへの通知フラグ」が“ＰＲＴ＿ＯＮＬＩＮＥ”であるかを判断する。
【００９８】
例えば、図５のテーブルには、「管理ＩＤ」が“０００２”のプリンタ１３が登録されており、このプリンタ１３の「プリントサービスへの通知フラグ」は“ＰＲＴ＿ＯＦＦＬＩＮＥ”となっている。つまり、前回の検索でＳａａＳプリントサービスに対して、このプリンタがＯＦＦＬＩＮＥであることを通知している。現在、このプリンタ１３がまた検出されたとすると、プリンタ１３の状態が変わったことが分かるので、図７のＳ１０３ではＯＮＬＩＮＥ通知が必要と判断する。
【００９９】
このような方法を用いることにより、プリンタ１３の状態をリアルタイムでＳａａＳプリントサービスに通知することができ、ユーザ環境と同じようにプリンタ１３の状態をＳａａＳ側に同期させることができる。従って、使用可能と不可能のプリンタ１３をユーザに分かるように提示することができ、使用できないプリンタ１３に対して印刷が指示される不具合を未然に防止することができる。
【０１００】
以上、本実施形態の印刷システムの基本構成について説明したが、内部ネットワークと外部ネットワークの通信のセキュリティを高める方法について説明する。
【０１０１】
［通信データの暗号化］
内部ネットワークのエージェント１２とＳａａＳプリントサービスの接続、内部ネットワークのエージェント１２とＳａａＳプリントスプーラの接続、ＳａａＳ文書作成・編集アプリケーションとＳａａＳプリントサービスの接続などのそれぞれの接続は、ＳＳＬ（Secure Socket Layer）方式を用いて、データの暗号化を行う。これにより、第３者がデータを盗聴しても解読できなくなり、情報漏洩を防ぐことができる。
【０１０２】
［ユーザ認証］
ＳａａＳプリントサービスは、ユーザ側のネットワークのＧｌｏｂａｌ  ＩＰアドレスやプリント情報を、外部のＳａａＳアプリケーションに提供している。このＳａａＳアプリケーションが信頼できるアプリケーションであるか否かを、外部ユーザ認証サービスを利用することで判断する。このときのシステム構成を図１４に示す。この図には、ユーザ認証サービスがあり、ＳａａＳ文書作成・編集アプリケーションやＳａａＳプリントサービスがそれぞれ個別でユーザ認証を行う。
【０１０３】
図１５は、図９にユーザ認証を加えたシーケンスである。６−４では、ＳａａＳ文書作成・編集アプリケーションがユーザ側のプリンタ１３の情報を取得するため、ＳａａＳプリントサービスに問い合わせる。この問合せメッセージ中には、ユーザ認証情報（例えば、ユーザ名、パスワード）が含まれる。ＳａａＳプリントサービスは、この問合せを受付けた後、ユーザ認証情報を用いて、ユーザ認証サービスに認証を依頼する（６−５参照）。認証が成功した場合のみ、プリンタ情報をＳａａＳ文書アプリケーションへ通知する処理を行う。一方、認証失敗した場合、ＳａａＳ文書作成アプリケーションが信頼できないと判断し、エラーを通知する。
【０１０４】
また、外部のユーザ認証サービスを利用せず、ＳａａＳ文書作成・編集アプリケーションを認証する方法として、予めＳａａＳ文書作成・編集アプリケーションの情報をＳａａＳプリントサービスに登録する方法もある。この登録情報としては、ＳａａＳ文書作成・編集アプリケーションのＩＰアドレス、ユニークな識別子などを利用することができる。ＳａａＳプリントスプーラは、この情報を用いて、ＳａａＳ文書作成・編集アプリケーションにユーザのプリンタ情報を提供するかどうかを判断する。
【０１０５】
上述した方法で、ユーザ側の情報を信頼できるＳａａＳ文書作成・編集アプリケーションのみに通知することができるため、セキュリティを高め、プライバシーを守ることができる。
【０１０６】
なお、本発明は上記実施形態に限定されるものではなく、本発明の趣旨を逸脱しない限りにおいて、その構成や制御は適宜変更可能である。
【０１０７】
例えば、上記実施形態では、ＳａａＳ文書作成・編集アプリケーションを用いて文書を作成する構成としたが、例えば、文書データが予め作成されている場合は、クライアント１１やエージェント１２がＳａａＳプリントサービスに文書データを送り、ＳａａＳプリントサービスが印刷データに変換してエージェント１２に送り返す構成とすることもできる。その場合は、ＳａａＳプリントサービスがユーザにプリンタを選択させ、選択されたプリンタ１３に応じたプリンタドライバアプリケーションを用いて印刷データに変換すればよい。
【産業上の利用可能性】
【０１０８】
本発明は、サービスプロバイダが提供するサービスを利用して印刷データを作成し、その印刷データを用いて、内部ネットワークのプリンタで印刷するシステムに利用可能である。
【符号の説明】
【０１０９】
１０  ユーザ施設
１１  クライアント
１２  エージェント
１３  プリンタ
１４  施設内ネットワーク
１５  ルータ
２０  ＳａａＳ文書作成・編集サービスプロバイダ
２１  サーバ
３０  ＳａａＳプリントサービスプロバイダ
３１  サーバ
４０  インターネット
４１  接続
５０  ユーザ認証サービス
【図１】
2012146197.tif 000003
【図２】
2012146197.tif 000004
【図３】
2012146197.tif 000005
【図４】
2012146197.tif 000006
【図５】
2012146197.tif 000007
【図６】
2012146197.tif 000008
【図７】
2012146197.tif 000009
【図８】
2012146197.tif 000010
【図９】
2012146197.tif 000011
【図１０】
2012146197.tif 000012
【図１１】
2012146197.tif 000013
【図１２】
2012146197.tif 000014
【図１３】
2012146197.tif 000015
【図１４】
2012146197.tif 000016
【図１５】
2012146197.tif 000017