(57)【要約】【課題】信頼サイト情報としてプリントサーバのドメイン名を保持し、クロスドメインリクエストを処理するプリンタにおいて、ドメイン名を変更に伴う信頼サイト情報の更新を自動で安全に行う。【解決手段】印刷装置は、リクエスト先として信頼されたプリントサーバの宛先情報を保持する保持手段を備え、印刷リクエストを受信した際に、当該印刷リクエストにて指定されたプリントサーバの宛先情報が、前記保持手段にて保持された宛先情報に一致するか否かを判定し、宛先情報が一致しないと判定された場合、前記保持手段にて保持された宛先情報が示すプリントサーバへアクセスをリクエストし、当該リクエストの応答として、前記印刷リクエストにて指定されたプリントサーバの宛先情報と同じ宛先をリダイレクト先として受け付けた場合、前記保持手段にて保持された宛先情報を、前記印刷リクエストにて指定されたプリントサーバの宛先情報にて更新する。【選択図】  図６
2017037485.tif 000002
【特許請求の範囲】
【請求項１】
プリントサーバと印刷装置とが通信可能に接続されたプリントシステムであって、
前記印刷装置は、
リクエスト先として信頼されたプリントサーバの宛先情報を保持する保持手段と、
印刷リクエストを受信する受信手段と、
前記受信手段にて印刷リクエストを受信した際に、当該印刷リクエストにて指定されたプリントサーバの宛先情報が、前記保持手段にて保持された宛先情報に一致するか否かを判定する判定手段と、
前記判定手段により宛先情報が一致しないと判定された場合、前記保持手段にて保持された宛先情報が示すプリントサーバへアクセスをリクエストするアクセス手段と、
前記アクセス手段によるリクエストの応答として、前記受信手段にて受信した印刷リクエストにて指定されたプリントサーバの宛先情報と同じ宛先をリダイレクト先として受け付けた場合、前記保持手段にて保持された宛先情報を、前記受信手段にて受信した印刷リクエストにて指定されたプリントサーバの宛先情報にて更新する更新手段と
を備え、
前記プリントサーバは、
リクエストを受け付ける受付手段と、
第一の宛先の宛先情報と、リクエストのリダイレクト先となる第二の宛先の宛先情報とを対応付けて管理する管理手段と、
前記受付手段にて受け付けたリクエストにて指定された宛先が前記第一の宛先である場合、前記管理手段にて管理している宛先情報に基づいて、前記第二の宛先へ前記リクエストをリダイレクトするように前記リクエストの要求元へ応答する処理手段と
を有することを特徴とするプリントシステム。
【請求項２】
前記印刷装置は、前記アクセス手段によるリクエストの応答として、前記受信手段にて受信した印刷リクエストにて指定されたプリントサーバの宛先情報と同じ宛先をリダイレクト先として受け付けた場合、前記受信手段にて受信した印刷リクエストにて指定された宛先情報が示すプリントサーバに対してリクエストを発行する手段を更に有することを特徴とする請求項１に記載のプリントシステム。
【請求項３】
前記印刷装置は、前記判定手段により宛先情報が一致すると判定された場合、前記受信手段にて受信した印刷リクエストにて指定された宛先情報が示すプリントサーバに対してリクエストを発行する手段を更に有することを特徴とする請求項１または２に記載のプリントシステム。
【請求項４】
前記処理手段は、前記受付手段にて受け付けたリクエストにて指定された宛先が前記第一の宛先でない場合、当該リクエストに基づいて処理を行うことを特徴とする請求項１乃至３のいずれか一項に記載のプリントシステム。
【請求項５】
前記アクセス手段は、前記保持手段にて保持された宛先情報が示すプリントサーバへ、当該プリントサーバに対応する認証情報を用いて、アクセスをリクエストすることを特徴とする請求項１乃至４のいずれか一項に記載のプリントシステム。
【請求項６】
前記宛先情報は、ドメイン名であることを特徴とする請求項１乃至５のいずれか一項に記載のプリントシステム。
【請求項７】
リクエストは、ＨＴＴＰ（Ｈｙｐｅｒ  Ｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）を用いて行われることを特徴とする請求項１乃至６のいずれか一項に記載のプリントシステム。
【請求項８】
前記保持手段は、宛先情報をリストにて保持し、
前記更新手段は、前記受信手段にて受信した印刷リクエストにて指定されたプリントサーバの宛先情報を前記リストに追記することで更新することを特徴とする請求項１乃至７のいずれか一項に記載のプリントシステム。
【請求項９】
前記受信手段が受信する印刷リクエストは、プリントサーバが生成した、クライアント端末を介したクロスドメインリクエストであることを特徴とする請求項１乃至８のいずれか一項に記載のプリントシステム。
【請求項１０】
プリントサーバに通信可能に接続された印刷装置であって、
リクエスト先として信頼されたプリントサーバの宛先情報を保持する保持手段と、
印刷リクエストを受信する受信手段と、
前記受信手段にて印刷リクエストを受信した際に、当該印刷リクエストにて指定されたプリントサーバの宛先情報が、前記保持手段にて保持された宛先情報に一致するか否かを判定する判定手段と、
前記判定手段により宛先情報が一致しないと判定された場合、前記保持手段にて保持された宛先情報が示すプリントサーバへアクセスをリクエストするアクセス手段と、
前記アクセス手段によるリクエストの応答として、前記受信手段にて受信した印刷リクエストにて指定されたプリントサーバの宛先情報と同じ宛先をリダイレクト先として受け付けた場合、前記保持手段にて保持された宛先情報を、前記受信手段にて受信した印刷リクエストにて指定されたプリントサーバの宛先情報にて更新する更新手段と
を備えることを特徴とする印刷装置。
【請求項１１】
プリントサーバと、リクエスト先として信頼されたプリントサーバの宛先情報を保持する保持手段を備える印刷装置とが通信可能に接続されたプリントシステムの制御方法であって、
前記印刷装置において、
印刷リクエストを受信する受信工程と、
前記受信工程にて印刷リクエストを受信した際に、当該印刷リクエストにて指定されたプリントサーバの宛先情報が、前記保持手段にて保持された宛先情報に一致するか否かを判定する判定工程と、
前記判定工程にて宛先情報が一致しないと判定された場合、前記保持手段にて保持された宛先情報が示すプリントサーバへアクセスをリクエストするアクセス工程と、
前記アクセス工程によるリクエストの応答として、前記受信工程にて受信した印刷リクエストにて指定されたプリントサーバの宛先情報と同じ宛先をリダイレクト先として受け付けた場合、前記保持手段にて保持された宛先情報を、前記受信工程にて受信した印刷リクエストにて指定されたプリントサーバの宛先情報にて更新する更新工程と
を有し、
前記プリントサーバにおいて、
リクエストを受け付ける受付工程と、
第一の宛先の宛先情報と、リクエストのリダイレクト先となる第二の宛先の宛先情報とを対応付けて管理する管理工程と、
前記受付工程にて受け付けたリクエストにて指定された宛先が前記第一の宛先である場合、前記管理工程にて管理している宛先情報に基づいて、前記第二の宛先へ前記リクエストをリダイレクトするように前記リクエストの要求元へ応答する処理工程と
を有することを特徴とするプリントシステムの制御方法。
【請求項１２】
プリントサーバに通信可能に接続された印刷装置の制御方法であって、
前記印刷装置は、リクエスト先として信頼されたプリントサーバの宛先情報を保持する保持手段を備え、
印刷リクエストを受信する受信工程と、
前記受信工程にて印刷リクエストを受信した際に、当該印刷リクエストにて指定されたプリントサーバの宛先情報が、前記保持手段にて保持された宛先情報に一致するか否かを判定する判定工程と、
前記判定工程にて宛先情報が一致しないと判定された場合、前記保持手段にて保持された宛先情報が示すプリントサーバへアクセスをリクエストするアクセス工程と、
前記アクセス工程によるリクエストの応答として、前記受信工程にて受信した印刷リクエストにて指定されたプリントサーバの宛先情報と同じ宛先をリダイレクト先として受け付けた場合、前記保持手段にて保持された宛先情報を、前記受信工程にて受信した印刷リクエストにて指定されたプリントサーバの宛先情報にて更新する更新工程と
を有することを特徴とする印刷装置の制御方法。
【請求項１３】
コンピュータを、
リクエスト先として信頼されたプリントサーバの宛先情報を保持する保持手段、
印刷リクエストを受信する受信手段、
前記受信手段にて印刷リクエストを受信した際に、当該印刷リクエストにて指定されたプリントサーバの宛先情報が、前記保持手段にて保持された宛先情報に一致するか否かを判定する判定手段、
前記判定手段により宛先情報が一致しないと判定された場合、前記保持手段にて保持された宛先情報が示すプリントサーバへアクセスをリクエストするアクセス手段、
前記アクセス手段によるリクエストの応答として、前記受信手段にて受信した印刷リクエストにて指定されたプリントサーバの宛先情報と同じ宛先をリダイレクト先として受け付けた場合、前記保持手段にて保持された宛先情報を、前記受信手段にて受信した印刷リクエストにて指定されたプリントサーバの宛先情報にて更新する更新手段
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プリントシステム、印刷装置、およびそれらの制御方法、並びにプログラムに関する。
【背景技術】
【０００２】
近年、インターネット上のサーバがクラウドサービスを提供するビジネスが展開されている。これに伴って、プリントサーバもインターネット上のプリントサービスとして機能を提供され始めている。一般的に、クラウドサービスとしてプリントサービスを提供する場合、プリンタがプリントサーバからインターネット越しに印刷データを取得するプル型のプリント方式が利用されている。これは、インターネットを介した通信において、サーバ側から、ファイヤーウォールを越えて、クライアントへプッシュ型の通信が直接行えないためである。プリントサービスを利用して印刷処理を行う場合、ユーザはＷｅｂブラウザ等を使用してプリントサービスが提供するＵＩ（Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）から印刷オペレーションを実行する。この際、Ｗｅｂブラウザは、プリントサービスから取得した情報を元に、プリンタに対して印刷データの取得等の指示を行う。プリンタは、その指示に従い、プリントサービスにアクセスすることで、印刷に伴う各処理を実行する。
【０００３】
これらの処理を実現する方法のひとつとして、Ｗｅｂブラウザ上でプリントサービスから取得したＪａｖａＳｃｒｉｐｔ（登録商標）等のスクリプトを実行し、プリンタへクロスドメインアクセスを行う方法がある。クロスドメインアクセスでは、セキュリティの観点から、予めアクセスされる側に、アクセスを制御するルールを設定しておき、悪意を持った第三者が発行したアクセスが実行されないようにする必要がある。そのため、プリントサービスでも、プリンタに予めプリントサービスのドメイン名を信頼するサイトとして登録しておき、クロスドメインアクセスを受けた場合にアクセス発行元のチェックを行う。
【０００４】
一方、近年のクラウドサービスの普及によるＷｅｂサイト移転の簡易化や、ドメイン名の形態の多様化などにより、サービスのドメイン名が変更されるケースも増えてきている。プリントサービスにおいても、ドメイン名が変更となる可能性があり、その際には前述のプリンタに保持しているアクセスを制御するルールとして登録しているドメイン名も変更する必要があり、安全かつ容易にこの信頼サイト情報の更新を行う方法が求められる。
【０００５】
そこで、信頼するサイトの一覧をユーザ端末上やウェブ上で管理する方法が考案されている。例えば、特許文献１のように、ユーザが許可するウェブアドレスの一覧を管理し、Ｗｅｂブラウザから別のウェブアドレスへ情報を送信するのを検知した際に、そのウェブアドレスを検証してアクセス制御を実現するものがある。特許文献１では、クライアント端末において、Ｗｅｂブラウザ上で動作するプログラムが、情報送信先のウェブアドレスが許可されたウェブアドレスであるか否かを検証する。また、各ユーザ許可するウェブアドレスの追加や削除を行える機能を提供することで、信頼するサイトの情報を書き換える機能を実現している。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特許第５００８８５１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１の技術では、プリントサービスのドメイン名が変わった場合、世界中に展開されているプリントサービスを利用しているプリンタ全ての設定を各ユーザが書き換えることが必要となる。さらに、ユーザは書き換え作業を行うまでプリントサービスの利用ができなくなってしまう。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、本願発明は以下の構成を有する。すなわち、プリントサーバと印刷装置とが通信可能に接続されたプリントシステムであって、前記印刷装置は、リクエスト先として信頼されたプリントサーバの宛先情報を保持する保持手段と、印刷リクエストを受信する受信手段と、前記受信手段にて印刷リクエストを受信した際に、当該印刷リクエストにて指定されたプリントサーバの宛先情報が、前記保持手段にて保持された宛先情報に一致するか否かを判定する判定手段と、前記判定手段により宛先情報が一致しないと判定された場合、前記保持手段にて保持された宛先情報が示すプリントサーバへアクセスをリクエストするアクセス手段と、前記アクセス手段によるリクエストの応答として、前記受信手段にて受信した印刷リクエストにて指定されたプリントサーバの宛先情報と同じ宛先をリダイレクト先として受け付けた場合、前記保持手段にて保持された宛先情報を、前記受信手段にて受信した印刷リクエストにて指定されたプリントサーバの宛先情報にて更新する更新手段とを備え、前記プリントサーバは、リクエストを受け付ける受付手段と、第一の宛先の宛先情報と、リクエストのリダイレクト先となる第二の宛先の宛先情報とを対応付けて管理する管理手段と、前記受付手段にて受け付けたリクエストにて指定された宛先が前記第一の宛先である場合、前記管理手段にて管理している宛先情報に基づいて、前記第二の宛先へ前記リクエストをリダイレクトするように前記リクエストの要求元へ応答する処理手段とを有する。
【発明の効果】
【０００９】
本発明により、プリントサービスのドメイン名等に変更があった場合でも、プリントサービスの利用時にプリンタ側で適切に更新され、ユーザは意識することなくプリントサービスを継続して利用することができる。
【図面の簡単な説明】
【００１０】
【図１】本願発明に係るネットワーク構成の例を示す図。
【図２】本願発明に係る各装置のハードウェア構成の例を示す図。
【図３】本願発明に係る各装置のモジュール構成の例を示す図。
【図４】本願発明に係るプリントシステムで管理される各種情報の構成例を示す図。
【図５】本願発明に係るプリントサーバで生成される画面例を示す図。
【図６】本願発明に係る処理シーケンスを示す図。
【図７】本願発明に係る処理のフローチャートを示す図。
【発明を実施するための形態】
【００１１】
以下、本発明を実施するための形態について図面を用いて説明する。
【００１２】
［システム構成］
図１は、本発明の実施の形態に係るプリントシステムの全体構成の例を示す図である。図１において、クライアント端末１０１〜１０３、プリントサーバ１０４、プリンタ１０５〜１０８、ストレージサービス１１２、およびＤＢサービス１１３は、ネットワーク１０９〜１１１を介して通信可能に接続されている。クライアント端末１０１〜１０３、プリンタ１０５〜１０８は、複数台接続されていることを仮定している。
【００１３】
ネットワーク１０９〜１１１は、データの送受信が可能な、いわゆる通信ネットワークである。また、各ネットワークは、例えば、インターネット、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）や、その他のあらゆるネットワークの組み合わせにより実現されるものでよい。また、クライアント端末１０１〜１０３とプリントサーバ１０４間、プリンタ１０５〜１０８間の通信手段、プリントサーバ１０４とプリンタ１０５〜１０８間の通信手段は夫々異なっていてもよい。また、有線／無線も問わない。なお、各拠点間ではファイアウォール（不図示）等が設置され、例えば、外部のネットワーク（もしくは、外部装置）を起点とした、別の拠点の内部のネットワークへのアクセスは制限される。
【００１４】
クライアント端末１０１〜１０３は、例えば、デスクトップパソコン、ノートパソコン、スマートフォンやタブレットＰＣ等から構成される。クライアント端末１０１〜１０３では、Ｗｅｂブラウザ（インターネットブラウザ、ＷＷＷ（Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ）ブラウザ）等のプログラムを実行する環境が内蔵されている。
【００１５】
図１において、ストレージサービス１１２、ＤＢサービス１１３は、ネットワーク１０９〜１１１で接続されるファイルサーバ、ＤＢサーバであり、プリントサーバ１０４が管理する各データや管理情報を保存、取り出しが可能である。
【００１６】
図１において、プリントサーバ１０４は、１台が示されているが、複数台のプリントサーバがプリントシステム内に設けられてもよい。本願発明の課題となるドメイン名の変更に伴い、物理的にプリントサーバ自体が変更になる場合も本願発明では対応可能である。
【００１７】
［ハードウェア構成］
図２は、本発明の実施形態に係るプリントシステムのクライアント端末１０１〜１０３、プリントサーバ１０４、プリンタ１０５〜１０８のハードウェア構成の例を示す図である。ここでは、クライアント端末１０１〜１０３とプリントサーバ１０４は情報処理装置として同じハードウェア構成を有するものとして説明するがそれぞれが異なる構成の情報処理装置であってもよい。また、印刷装置であるプリンタ１０５〜１０８も同じハードウェア構成を有するものとして説明するがそれぞれが異なる構成のネットワークプリンタであってもよい。
【００１８】
情報処理装置において、ＣＰＵ２０２は、情報処理装置全体の制御を行う。ＣＰＵ２０２は、ハードディスク（ＨＤＤ）２０５に格納されているアプリケーションプログラムやＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）等を読み出して実行し、ＲＡＭ２０３にプログラムの実行に必要な情報、ファイル等を一時的に格納する制御を行う。ＲＯＭ２０４は、不揮発性の記憶手段であり、内部には、基本Ｉ／Ｏプログラム等のプログラム、印刷処理の際に使用する印刷データ、プリンタ情報等の各種データを記憶する。ＲＡＭ２０３は、一時記憶手段としての記憶部であり、ＣＰＵ２０２の主メモリ、ワークエリア等として機能する。ＨＤＤ２０５は、不揮発性の記憶手段であり、大容量メモリとして機能する。ＨＤＤ２０５は、Ｗｅｂブラウザ等のアプリケーションプログラム、プリントサーバプログラム、ＯＳ、各種ドライバ、関連プログラム等を格納している。
【００１９】
ディスプレイ２０６は、表示手段であり、キーボード２０７から入力したコマンドや、アプリケーションの出力画面、プリンタのステータス等を表示したりする。インタフェース２０８は、外部装置Ｉ／Ｆであり、印刷デバイス、ＵＳＢ機器、周辺機器を接続する。キーボード２０７は、ユーザからの指示入力手段であるキーボードである。なお、指示入力手段としては、他にもマウスなどが接続されていてもよい。システムバス２０１は、情報処理装置内におけるデータの流れを司り、各構成要素をデータのやり取りが可能なように接続している。ＮＩＣ２０９は、ネットワークインタフェースカードであり、ネットワーク１０９〜１１１を介して外部装置とのデータのやり取りを行う。なお、情報処理装置の構成はその一例であり、図２の構成例に限定されるものではない。例えば、データやプログラムの格納先は、その特徴に応じてＲＯＭ、ＲＡＭ、ＨＤＤなどで変更することも可能である。
【００２０】
プリンタ１０５〜１０８において、コントローラ２１０は、プリンタの制御系を司る。ＣＰＵ２１１は、プリンタ全体の制御を行い、システムバス２１９に接続される各種デバイスとのアクセスを統括的に制御する。この制御は、ＲＯＭ２１３に記憶された制御プログラム等あるいはディスクコントローラ（ＤＫＣ）２１７を介して接続された外部メモリ２２３に記憶された制御プログラムやリソースデータ（資源情報）等に基づいて行われる。ＲＡＭ２１２は、ＣＰＵ２１１の主メモリ、ワークエリア等として機能し、増設ポート（不図示）に接続されるオプションＲＡＭに（不図示）よりメモリ容量を拡張することができるように構成されている。ＨＤＤ２１４は、大容量メモリとして機能する不揮発性の外部記憶手段であり、プリント制御プログラム及び関係プログラム等を格納している。操作パネル２２２は、プリント操作を行うユーザインタフェースやボタンが配置される。また、操作パネル２２２には、プリンタの動作モード等の設定やプリンタの動作状況の表示、複写指定等の操作を行うためのボタンおよび液晶パネルやＬＥＤ２１５等の表示部も配置される。ＮＩＣ２２０は、ネットワークインタフェースカードであり、外部装置とのデータのやり取りを行う。プリントエンジン２２１は、既知の印刷技術を利用して印刷動作を行い、好適な実施系として例えば電子写真方式（レーザービーム方式）やインクジェット方式、昇華方（熱転写）方式等が挙げられる。ラスタコントローラ２１６は、ＰＤＬ（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）やＰＤＦ（Ｐｏｒｔａｂｌｅ  Ｄｏｃｕｍｅｎｔ  Ｆｏｒｍａｔ）にて記述された印刷データを画像データに変換するコントローラである。機器Ｉ／Ｆ２１８は、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）等で接続可能な外部機器との接続Ｉ／Ｆである。
【００２１】
［システム構成］
図３は、本実施形態に係るプリントシステムのモジュール構成の例を示す図である。プリントサーバ１０４は、Ｗｅｂサーバ３００、印刷Ｗｅｂアプリ３１０、および印刷配信サービス３２０を有する。Ｗｅｂサーバ３００は、リクエスト受付部３０１、およびリクエスト処理部３０２を含んで構成される。Ｗｅｂサーバ３００は、ＨＴＴＰ（Ｈｙｐｅｒ  Ｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）に則り、クライアント端末１０１〜１０３や、プリンタ１０５〜１０８と通信する。また、Ｗｅｂサーバ３００は、ＨＴＭＬ（Ｈｙｐｅｒ  Ｔｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）やＪａｖａＳｃｒｉｐｔ等のリソースを返すサービスプログラムとして機能する。Ｗｅｂサーバ３００は、リクエスト受付部３０１でリクエストを受け付けると、リクエスト処理部３０２にて、その内容を解析し、予め設定された内容に応じてレスポンスを生成、または、印刷Ｗｅｂアプリ３１０へ処理のリクエストを依頼する。
【００２２】
例えば、リクエスト処理部３０２は、クライアント端末１０１〜１０３やプリンタ１０５〜１０８からのＨＴＴＰリクエストのヘッダ情報に含まれ、リクエスト先のドメイン名に該当するＨｏｓｔヘッダ情報を確認する。リクエスト処理部３０２は、リクエストに含まれるヘッダ情報と予め設定された内容とを比較し、リクエスト先が、あるドメイン名の場合は印刷Ｗｅｂアプリ３１０へ処理を依頼する。ここでのあるドメイン名とは、プリントサーバ１０４のドメイン名として設定されているドメイン名が該当する。一方、予め設定された内容とは別のドメイン名の場合には、リクエスト処理部３０２は、ＨＴＴＰステータス“３０１”を要求元のクライアント端末に返す。ここで、ＨＴＴＰステータスは、ＨＴＴＰにおいて決められているＷｅｂサーバ３００からのレスポンスの意味を表すコードである。例えば、“３０１”は、“３０１  Ｍｏｖｅｄ  Ｐｅｒｍａｎｅｎｔｌｙ”を表し、リクエストされたリソースが別のサイトへ移動したことを表す。この際、Ｗｅｂサーバ３００は、移動先のＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）をレスポンスに含めてクライアント端末１０１〜１０３やプリンタ１０５〜１０８へ返す。なお、リダイレクトのステータスコードは“３０１”に限定するものではなく、その他の規定されたステータスコードの値（“３０ｘ”）を用いてもよい。以降、明記しない限り、Ｗｅｂサーバ３００へのリクエストは、リクエスト処理部３０２を経由して印刷Ｗｅｂアプリ３１０の印刷リクエスト受付部３１１にそのまま送信されるものとする。
【００２３】
印刷Ｗｅｂアプリ３１０は、印刷リクエスト受付部３１１、および印刷リクエスト処理部３１２を含んで構成され、プリントサービスにおけるインタフェースを司るプログラムである。印刷Ｗｅｂアプリ３１０は、印刷リクエスト受付部３１１にてＷｅｂサーバ３００を通じてリクエストを受け取ると、印刷リクエスト処理部３１２にて印刷配信サービス３２０へ印刷情報の取得や印刷データの生成処理を指示する。また、印刷Ｗｅｂアプリ３１０は、印刷配信サービス３２０から結果を受け取ると、その結果を整形し、Ｗｅｂサーバ３００を通してクライアント端末１０１〜１０３やプリンタ１０５〜１０８へ返す。
【００２４】
印刷配信サービス３２０は、印刷情報管理部３２１、および印刷データ生成部３２２を含んで構成されるプリントサービスにおけるビジネスロジックを司るプログラムである。印刷配信サービス３２０は、印刷情報管理部３２１にて印刷Ｗｅｂアプリ３１０から印刷情報取得や印刷データ生成の指示を受けると、ＤＢサービス１１３に管理される管理情報を参照、更新を行う。また、印刷情報管理部３２１は必要に応じて、ＤＢサービス１１３から取得した各情報に基づいて、印刷データ生成部３２２に印刷データ生成の指示を行う。この指示に応じて印刷データ生成部３２２は、ストレージサービス１１２に保持される文書データを印刷データに変換する。ここで、文書データとは、クライアント端末１０１〜１０３で表示や編集が可能な任意の文書ファイル（例えば、ＰＤＦファイル）を指す。また印刷データは、プリンタ１０５〜１０８で印刷時に解釈可能な任意の印刷データ（例えば、ＰＤＬデータ）を指す。
【００２５】
クライアント端末１０１〜１０３は、Ｗｅｂブラウザ３３０を備える。Ｗｅｂブラウザ３３０は、リクエスト送信部３３１、およびレンダリングエンジン３３２を含んで構成される。リクエスト送信部３３１は、ユーザのオペレーションや、レンダリングエンジン３３２で発行されたリクエストを、プリントサーバ１０４やプリンタ１０５〜１０８へ送信する。ここで、Ｗｅｂブラウザ３３０から、プリントサーバ１０４やプリンタ１０５〜１０８へのリクエストを含む通信は、ＨＴＴＰもしくはＨＴＴＰＳに従うものとする。レンダリングエンジン３３２は、リクエスト送信部３３１がリクエストのレスポンスとしてプリントサーバ１０４またはプリンタ１０５〜１０８から受け取った内容を解析し、その内容に準じて処理を行う。レンダリングエンジン３３２は、例えば、プリントサーバ１０４から受け取ったＨＴＭＬデータの解釈や描画処理、同じくプリントサーバ１０４から受け取ったＪａｖａＳｃｒｉｐｔの実行を行う。ＪａｖａＳｃｒｉｐｔの実行には、プリンタ１０５〜１０８に対する印刷処理に関する各種指示を含めることが可能であり、その際、レンダリングエンジン３３２は、リクエスト送信部３３１を通してプリンタ１０５〜１０８へのリクエストとして送信する。
【００２６】
ここで、プリントサーバ１０４から取得したＪａｖａＳｃｒｉｐｔにより発行されるプリンタ１０５〜１０８へのリクエストは、生成元（ここではプリントサーバ１０４）とリクエスト先（ここではプリンタ１０５〜１０８）が異なる。これらのリクエストは一般的に、クロスドメインリクエスト（または、クロスオリジンリクエスト）と呼ばれ、クロスサイトリクエストフォージェリ（ＣＳＲＦ）を使用した攻撃の対策として、生成元による制限が必要である。ここでの動作については、ＲＦＣ６４５４：Ｔｈｅ  Ｗｅｂ  Ｏｒｉｇｉｎ  Ｃｏｎｃｅｐｔにて標準化されている。本実施形態においても、クライアント端末からプリンタへのクロスドメインリクエストには、生成元情報としてプリントサーバ１０４のＵＲＬを含めて送信される。そして、リクエスト先であるプリンタにおいて、このＵＲＬ（すなわち、クロスドメインリスエストの生成元であるプリントサーバ）が信頼できるものであるか否かの検証が行われる。
【００２７】
プリンタ１０５〜１０８は、プルプリントアプリ３４０を含む。プルプリントアプリ３４０は、プルプリントコントローラ３４１、リクエスト受付部３４２、およびリクエスト送信部３４３を含んで構成される。プルプリントアプリ３４０は、リクエスト受付部３４２にてクライアント端末１０１〜１０３のＷｅｂブラウザ３３０から印刷処理に関わる各種クロスドメインリクエストを受け付ける。プルプリントコントローラ３４１は、プルプリントアプリ３４０全体の動作管理を行うものであり、リクエスト受付部３４２で受け取ったリクエストを解析処理する。この時、プルプリントコントローラ３４１は、クロスドメインリクエストに含まれるリクエスト生成元情報と、信頼サイト情報とを照合することで、信頼するサイトから生成されたリクエストであることを確認する。信頼サイト情報については、後述する。さらに、プルプリントコントローラ３４１は、リクエストの内容に従いリクエスト送信部３４３を通してプリントサーバ１０４へ送信する各種リクエストを生成する。
【００２８】
［管理情報］
図４は、本実施形態に係るプリントシステムで管理される各種情報の構成例を示す。プリントサーバ１０４は、リダイレクト情報４００を保持、管理する。リダイレクト情報４００は、Ｗｅｂサーバ３００で参照される、プリントサーバ１０４のドメイン名変更時の変更前後のドメイン名情報である。ドメイン名４０１は、ドメイン名変更前のプリントサーバ１０４のドメイン名であり、リダイレクト先４０２は、ドメイン名変更後のプリントサーバ１０４のドメイン名である。プリントサーバ１０４は、クライアント端末１０１〜１０３もしくはプリンタ１０５〜１０８からのリクエストを受けた際、リダイレクト情報４００を参照する。プリントサーバ１０４は、リクエストに含まれる宛先情報とリダイレクト情報４００を比較し、該当するリダイレクト先４０２が存在する場合にはＨＴＴＰステータスコードを“３０１”とし、リダイレクト先４０２の情報を含むレスポンスを返す。なお、ここでは、ドメイン名変更前後のプリントサーバ１０４は同一のサーバであるとするが、変更前後で物理的に異なるプリントサーバであってもよい。
【００２９】
ＤＢサービス１１３は、文書データ情報４１０、印刷ジョブ情報４２０、およびプリンタ情報４３０を保持、管理する。文書データ情報４１０は、印刷データ生成の元となる文書データの情報であり、印刷配信サービス３２０の印刷情報管理部３２１で管理される。文書データＩＤ４１１は、文書データを一意に識別するための識別子である。文書データ保存先４１２は、ストレージサービス１１２に保持されている文書データファイルの保存先を示す情報である。文書データ保存先４１２は、例えばＵＲＬや、ファイルパス等、印刷データ生成部３２２が文書データファイルにアクセスできる情報である。また、文書データ情報４１０には、画面表示に使用される文書名４１３、文書種４１４、およびページ数４１５が含まれる。
【００３０】
印刷ジョブ情報４２０は、印刷ジョブの情報であり、印刷配信サービス３２０の印刷情報管理部３２１で管理され、文書データ情報４１０に対して印刷実行が指示された際に生成される。印刷ジョブＩＤ４２１は、印刷ジョブを一意に識別する識別子である。文書データＩＤ４２２は、印刷ジョブ情報の生成元となる文書データ情報４１０を示す文書データＩＤ４１１に対応する。ステータス４２３は、印刷ジョブのステータスを表し、プリンタ１０５〜１０８からの通知に従い逐次更新される。例えば、ステータス４２３には、印刷ジョブのステータスとして、待機中、印刷中、印刷済み、エラー終了、キャンセル終了等の状態がある。印刷データ保存先４２４は、ストレージサービス１１２に保持されている印刷データファイルの保存先を示す情報である。印刷データ保存先４２４は、例えば、ＵＲＬや、ファイルパス等、印刷データ生成部３２２が文書データファイルにアクセスできる情報である。その他、印刷ジョブ情報４２０には、印刷設定４２５等の印刷ジョブに関わる情報が保持される。
【００３１】
プリンタ情報４３０は、印刷情報管理部３２１で管理されるプリンタ１０５〜１０８に関連付けられた管理情報である。プリンタＩＤ４３１は、プリンタ情報を一意に識別する識別子である。ＩＰ４３２は、プリンタ１０５〜１０８のＩＰアドレスであり、Ｗｅｂブラウザ３３０がプルプリントアプリ３４０にリクエストを送信する際に使用される情報である。
【００３２】
プリンタ１０５〜１０８は、信頼サイト情報４４０を保持、管理する。信頼サイト情報４４０は、前述のクロスドメインリクエストを許可するサイト（ここでは、プリントサーバ１０４）のドメイン名情報であり、プリンタ１０５〜１０８のプルプリントアプリ３４０で保持される。信頼サイト情報４４０には、信頼するサイトのドメイン名４４１が含まれる。プルプリントアプリ３４０は、Ｗｅｂブラウザ３３０からのクロスドメインリクエストを受け付けた際、この情報とリクエストに含まれる生成元情報を比較し、プリントサーバ１０４へのリクエストを行うか否かの判断を行う。
【００３３】
［画面］
図５（ａ）（ｂ）は、本実施形態に係るプリントシステムのプリントサーバ１０４が備える印刷Ｗｅｂアプリ３１０が生成し、クライアント端末１０１〜１０３のＷｅｂブラウザ３３０で表示するＷｅｂ画面の一例である。
【００３４】
印刷Ｗｅｂアプリ３１０が、Ｗｅｂサーバ３００を通して、Ｗｅｂブラウザ３３０からの文書データ一覧リクエストを受け付けると、印刷配信サービス３２０を介して文書データ情報４１０を取得する。印刷Ｗｅｂアプリ３１０は、取得した文書データ情報を用いて、図５（ａ）に示す文書データ一覧画面５００を生成し、Ｗｅｂブラウザ３３０に送信する。文書データ一覧画面５００には、プリントサーバ１０４で管理されている各文書データの、文書名５０２、文書種５０３、およびページ数５０４が表示される。また、文書データ一覧画面５００は、印刷したい文書データを選択するためのチェックボックス５０１と、印刷先プリンタ一覧取得リクエストを発行するための印刷先プリンタの指定ボタン５０５を含んで表示される。
【００３５】
印刷対象の文書データに対応するチェックボックス５０１が選択され、印刷先プリンタの指定ボタン５０５が押下されると、Ｗｅｂブラウザ３３０は、印刷リクエストをプリントサーバ１０４のＷｅｂサーバ３００を介して印刷Ｗｅｂアプリ３１０に送信する。このリクエストを受けると、印刷Ｗｅｂアプリ３１０は、印刷配信サービス３２０からプリンタ情報４３０を取得し、図５（ｂ）に示す印刷先プリンタ指定画面５１０を生成して、Ｗｅｂブラウザ３３０に送信する。印刷先プリンタ指定画面５１０には、プリントサーバ１０４で管理されているプリンタ１０５〜１０８のプリンタ名５１２およびＩＰ５１３が表示される。また、印刷先プリンタ指定画面５１０は、印刷先に指定したいプリンタを選択するためのラジオボタン５１１と、印刷リクエストを発行するための印刷ボタン５１４が含んで表示される。印刷先のプリンタに対応するラジオボタン５１１が選択され、印刷ボタン５１４が押下されると、Ｗｅｂブラウザ３３０は、印刷Ｗｅｂアプリ３１０に印刷リクエストを送信する。
【００３６】
図５（ｃ）に示す画面データ５２０は、プリントサーバ１０４が生成する各画面のｈｔｍｌデータの構成例を示す。Ｂｏｄｙ領域５２３は、画面表示するコンテンツの情報が記載する領域である。Ｓｃｒｉｐｔ領域５２２は、クライアント端末１０１〜１０３のＷｅｂブラウザ３３０が実行するＪａｖａＳｃｒｉｐｔ等のスクリプトを記載する領域である。プリントサーバ１０４は、Ｓｃｒｉｐｔ領域５２２に、プリンタ１０５〜１０８への通信処理を含めることで、Ｗｅｂブラウザ３３０からプルプリントアプリ３４０へ各種印刷に関わる指示を行わせることが可能となる。Ｈｅａｄｅｒ領域５２１は、画面に関する各種属性情報が記載される。
【００３７】
［シーケンス］
図６は、本実施形態に係るプリントシステムにおける、プリントサーバ１０４のドメイン名変更を伴う、印刷実行のシーケンスを示す図である。
【００３８】
プリントサーバＡとプリントサーバＢは共に、同一のプリントサーバ１０４を示す。ここではドメイン名変更前のプリントサーバ１０４をプリントサーバＡとし、ドメイン名変更後のプリントサーバ１０４をプリントサーバＢとする。また、変更前のドメイン名を“ｗｗｗ．ｐｒｉｎｔ０１．ｃｏｍ”とし、変更後のドメイン名を“ｗｗｗ．ｐｒｉｎｔ０２．ｃｏｍ”とする。これらのドメイン名は、ＤＮＳサーバ（不図示）によってそれぞれ、プリントサーバＡ、プリントサーバＢのＩＰアドレスに名前解決される。また、各ドメイン名は、リクエストを発行する際の宛先となり、ここでは、変更前のドメイン名を「第一の宛先」とも称し、変更後のドメイン名を「第二の宛先」とも称する。変更前後のドメイン名は、リダイレクト情報４００において対応付けられているものとする。また、図６に示すプリンタのＩＤを“ｐｒｉｎｔｅｒ００１”とし、ＩＰアドレスを“１９２．１６８．０．１”として説明する。
【００３９】
Ｓ６００１にて、Ｗｅｂブラウザ３３０は、ユーザによる印刷先プリンタ指定画面５１０の印刷ボタン５１４の押下の操作により、プリントサーバＡに印刷実行リクエストを送信する。このリクエストには、ユーザが指定した文書データＩＤ“ｄｏｃ０１”とプリンタＩＤ“ｐｒｉｎｔｅｒ００１”が含まれているものとする。更に、このリクエストには、ＨＴＴＰに則して宛先Ｈｏｓｔ情報として、プリントサーバＡのドメイン名“ｗｗｗ．ｐｒｉｎｔ０１．ｃｏｍ”が含まれているものとする。Ｗｅｂサーバ３００は、リクエスト受付部３０１でリクエストを受け付けると、Ｓ６００２にて、リクエスト処理部３０２によりリダイレクト情報４００を参照する。ここで、プリントサーバＡのリダイレクト情報４００には、“ｗｗｗ．ｐｒｉｎｔ０１．ｃｏｍ”を宛先とするリクエストに対して、“ｗｗｗ．ｐｒｉｎｔ０２．ｃｏｍ”へリダイレクトする設定が保持されているものとする。リクエスト処理部３０２は、リダイレクト情報４００とリクエストに含まれる宛先Ｈｏｓｔ情報“ｗｗｗ．ｐｒｉｎｔ０１．ｃｏｍ”を参照する。その結果、Ｓ６００３にて、リクエスト処理部３０２は、ＨＴＴＰステータスコード“３０１”およびリダイレクト先“ｗｗｗ．ｐｒｉｎｔ０２．ｃｏｍ”としたレスポンスをＷｅｂブラウザ３３０に返す。Ｗｅｂブラウザ３３０は、Ｓ６００３で受けたレスポンスに従い、Ｓ６００４にて、リダイレクト先“ｗｗｗ．ｐｒｉｎｔ０２．ｃｏｍ”、つまり、プリントサーバＢに対してＳ６００１と同様のリクエストを送信する。ここで、Ｓ６００４のリクエストの宛先Ｈｏｓｔ情報は、“ｗｗｗ．ｐｒｉｎｔ０２．ｃｏｍ”となる。
【００４０】
プリントサーバＢは、Ｓ６００４にてＷｅｂブラウザ３３０からリクエストを受け付けると、Ｗｅｂサーバ３００のリクエスト処理部３０２にて、リダイレクト情報４００を参照する。ここでプリントサーバＢのリダイレクト情報４００にはリダイレクト情報は含まれないものとする。したがって、リクエスト処理部３０２は、Ｓ６００５にて、Ｗｅｂブラウザ３３０からのリクエストを印刷Ｗｅｂアプリ３１０に送る。
【００４１】
プリントサーバＢの印刷Ｗｅｂアプリ３１０は、Ｓ６００６にて印刷リクエスト処理部３１２がリクエストを受け取ると、Ｓ６００７にて印刷リクエスト処理部３１２から印刷配信サービス３２０へ印刷指示を送信する。印刷配信サービス３２０は、Ｓ６００８にて、印刷情報管理部３２１によりＤＢサービス１１３にアクセスする。そして、印刷情報管理部３２１は、リクエストに含まれる文書ＩＤ“ｄｏｃ００１”から対象の文書データ情報４１０を取得する。印刷情報管理部３２１は、この文書データ情報４１０に基づいて、Ｓ６００９にて印刷データ生成部３２２に印刷データ生成の指示を送信する。印刷データ生成部３２２は、Ｓ６０１０にてストレージサービス１１２にアクセスし、印刷対象の文書データファイル“ｐｄｆ０１”を取得する。更に、印刷データ生成部３２２は、文書データファイル“ｐｄｆ０１”を印刷データファイル“ｐｄｌ００１”に変換する。そして、印刷データ生成部３２２は、変換後の印刷データファイル“ｐｄｌ００１”をストレージサービス１１２に保存する。印刷データの生成が完了すると、Ｓ６０１１にて、印刷情報管理部３２１は、ＤＢサービス１１３にアクセスし、文書データＩＤ４２２、および印刷データ保存先４２４を含む印刷ジョブ情報４２０を生成する。また、印刷情報管理部３２１は、印刷リクエストに含まれるプリンタＩＤ“ｐｒｉｎｔｅｒ００１”に基づいてＤＢサービス１１３から印刷先のプリンタ情報４３０を取得して印刷Ｗｅｂアプリ３１０に返す。
【００４２】
印刷リクエスト処理部３１２は、Ｓ６００７のレスポンスとして、印刷処理に係る印刷ジョブ情報４２０、およびプリンタ情報４３０を受け取ると、その情報を元に、Ｗｅｂブラウザ３３０で実行可能なＪａｖａＳｃｒｉｐｔを含む画面データ５２０を生成する。画面データ５２０はＳｃｒｉｐｔ領域５２２に、Ｗｅｂブラウザ３３０上で実行可能で、プリンタへのクロスドメインリクエストとして、印刷ジョブ情報４２０とプリンタ情報４３０を含めた印刷指示を行う処理を含む。印刷Ｗｅｂアプリ３１０は、Ｗｅｂサーバ３００を介してＷｅｂブラウザ３３０へ画面データ５２０を返す。
【００４３】
Ｗｅｂブラウザ３３０は、Ｓ６０１２にて、Ｓ６００４にて受け付けたリクエストに対するレスポンスとして、画面データ５２０を受け取ると、レンダリングエンジン３３２にてＨＴＭＬデータを解析する。ここで受け取った画面データ５２０には、プリンタへのクロスドメインリクエスト実行の指示（ＪａｖａＳｃｒｉｐｔ）を含む。そして、レンダリングエンジン３３２は、その解析結果に基づいて描画とＪａｖａＳｃｒｉｐｔの実行を行う。このＪａｖａＳｃｒｉｐｔの実行により、Ｗｅｂブラウザ３３０は、Ｓ６０１３にて、プルプリントアプリ３４０に生成元Ｏｒｉｇｉｎを“ｗｗｗ．ｐｒｉｎｔ０２．ｃｏｍ”、つまり、プリントサーバＢとして、印刷指示を含むクロスドメインリクエストを送信する。この時、クロスドメインリクエストに含まれる印刷指示は、印刷ジョブ情報４２０とプリンタ情報４３０を含み、これらの情報は、プルプリントアプリ３４０がプリントサーバ１０４へ印刷実行のリクエストを行う際に使用される。
【００４４】
プルプリントアプリ３４０は、リクエスト受付部３４２でクロスドメインリクエストによる印刷指示を受け取ると、プルプリントコントローラ３４１で解析を行い、生成元であるＯｒｉｇｉｎを、信頼サイト情報４４０を用いて検証する。ここで、プリンタが管理する信頼サイト情報４４０には、ドメイン名変更前のプリントサーバＡのドメイン“ｗｗｗ．ｐｒｉｎｔ０１．ｃｏｍ”が保持されている。一方、Ｓ６０１３にて取得した印刷指示に含まれるＯｒｉｇｉｎ情報には“ｗｗｗ．ｐｒｉｎｔ０２．ｃｏｍ”が指定されており、ドメイン名が異なるため、この時点では、クロスドメインリクエストは処理されない。そこで、プルプリントコントローラ３４１は、信頼サイト情報４４０による検証が失敗したため、Ｓ６０１４にて、リクエスト送信部３４３により、現在保持している信頼サイト情報４４０に含まれるドメイン名にＨＴＴＰリクエストによりアクセスを行う。具体的には、プルプリントアプリ３４０は、宛先Ｈｏｓｔ情報を“ｗｗｗ．ｐｒｉｎｔ０１．ｃｏｍ”として、プリントサーバＡに対してアクセスを試みる。プリントサーバＡは、Ｓ６０１４にてプリンタからのアクセスを受けると、Ｓ６０１５にてリダイレクト情報を返す。つまり、ここでのリダイレクト先情報としてプリントサーバＢを示す“ｗｗｗ．ｐｒｉｎｔ０２．ｃｏｍ”が返されることとなる。
【００４５】
プルプリントアプリ３４０は、Ｓ６０１５にてリダイレクト情報を受け取ると、プルプリントコントローラ３４１にてリダイレクト先情報を参照し、Ｓ６０１３にて取得した印刷指示に含まれるＯｒｉｇｉｎ情報と比較する。比較の結果、現在の信頼サイトであるプリントサーバＡから受け取ったリダイレクト先と、クロスドメインリクエストの印刷指示に含まれるＯｒｉｇｉｎ情報が一致する場合、Ｓ６０１６にて信頼サイト情報４４０をそのＯｒｉｇｉｎ情報の値で更新する。ここでは、“ｗｗｗ．ｐｒｉｎｔ０２．ｃｏｍ”にて一致し、この値により信頼サイト情報４４０が更新される。
【００４６】
Ｓ６０１７にて、プルプリントアプリ３４０は、Ｓ６０１３にて受け付けたクロスドメインリクエスト（印刷指示）に従い、リクエスト送信部３４３から印刷実行のリクエストを送信する。Ｓ６０１７にて送信される印刷実行リクエストには、印刷対象である印刷ジョブＩＤが“ｐｄｌ００１”である印刷ジョブ情報４２０と、プリンタＩＤが“ｐｒｉｎｔｅｒ００１”であるプリンタ情報４３０とが含まれる。プリントサーバＢは、印刷実行リクエストを受け付けると、リダイレクト情報４００にリダイレクト情報は含まれないため、Ｓ６０１８にて、印刷実行のリクエストを印刷Ｗｅｂアプリ３１０に送る。
【００４７】
Ｓ６０１９にて、印刷Ｗｅｂアプリ３１０は、印刷リクエスト処理部３１２がリクエストを受け取ると、Ｓ６０２０にて、印刷リクエスト処理部３１２から印刷配信サービス３２０へ印刷実行リクエストを送信する。Ｓ６０２１にて、印刷配信サービス３２０は、印刷情報管理部３２１によりＤＢサービス１１３にアクセスする。そして、印刷情報管理部３２１は、リクエストに含まれる印刷ジョブＩＤ“ｐｄｌ００１”から対象の印刷ジョブ情報４２０を取得する。Ｓ６０２２にて、印刷情報管理部３２１は、Ｓ６０２１で取得した印刷実行対象である印刷ジョブ情報４２０から印刷データ保存先を参照し、印刷ジョブデータ“ｐｄｌ００１”を取得する。Ｓ６０２３にて、印刷配信サービス３２０は、Ｓ６０２２で取得した印刷データを、印刷Ｗｅｂアプリ３１０およびＷｅｂサーバ３００を介して、Ｓ６０１７の印刷実行リクエストのレスポンスとしてプリンタ（プリンタＩＤ“ｐｒｉｎｔｅｒ００１”）に返す。
【００４８】
プリンタ（プリンタＩＤ“ｐｒｉｎｔｅｒ００１”）のプルプリントアプリ３４０は、Ｓ６０２３で受け取った印刷ジョブデータをコントローラ２１０に送信し、印刷実行を行う。
【００４９】
以上により、本実施形態に係る、プリントサーバ１０４のドメイン名変更を伴う、印刷実行のシーケンスが完了する。なお、プリンタ側で信頼するプリントサーバのドメイン名の変更が完了した後は、再度のドメイン名が発生するまでは、Ｓ６０１４〜Ｓ６０１５の処理は行われないこととなる。
【００５０】
［信頼サイト情報の更新処理］
図７は、本実施形態に係るプリントシステムにおける、プリントサーバ１０４と、プリンタ１０５〜１０８のドメイン名の更新処理のフローチャートを示す図である。本処理は、図６にて示したシーケンスの一部を装置毎に説明するものである。
【００５１】
図７（ａ）に示すフローチャートは、プリントサーバ１０４における、リクエスト受付時のフローである。本処理フローは、プリントサーバ１０４のＣＰＵがＨＤＤ等の記憶部に保持されたプログラムを実行することで実現される。
【００５２】
Ｓ７００１にて、プリントサーバ１０４は、Ｗｅｂサーバ３００のリクエスト受付部３０１でＨＴＴＰリクエストを受け付ける。
【００５３】
Ｓ７００２にて、プリントサーバ１０４は、リクエスト処理部３０２によりリダイレクト情報４００を確認し、Ｓ７００１で受け付けたＨＴＴＰリクエストに該当するリダイレクト情報４００が設定されているか否かを確認する。該当するリダイレクト情報４００がない場合（Ｓ７００２にてＮＯ）、Ｓ７００３にて、プリントサーバ１０４は、リクエスト処理部３０２により印刷Ｗｅｂアプリ３１０にリクエストを送信し、通常の印刷処理を実行する。その後、本処理フローを終了する。
【００５４】
一方、該当のリダイレクト情報４００が存在する場合（Ｓ７００２にてＹＥＳ）、Ｓ７００４にて、プリントサーバ１０４は、Ｗｅｂサーバ３００によりＨＴＴＰステータスコードを“３０１”としてリダイレクト先情報を含めてレスポンスを返す。ここでのリダイレクト先情報は、リダイレクト情報４００のリダイレクト先４０２に対応する。その後、本処理フローを終了する。
【００５５】
図７（ｂ）に示すフローチャートは、プリンタ１０５〜１０８における、クロスドメインリクエスト受付時のフローである。本処理フローは、プリンタのＣＰＵがＨＤＤ等に格納されたプログラムを読み出して実行することにより実現される。
【００５６】
Ｓ７１０１にて、プルプリントアプリ３４０は、クライアント端末からリクエスト受付部３４２によりクロスドメインリクエストを受け付ける。
【００５７】
Ｓ７１０２にて、プルプリントアプリ３４０は、プルプリントコントローラ３４１によりＳ７１０１で受け付けたリクエストに含まれる発行元Ｏｒｉｇｉｎ情報が信頼サイト情報４４０に含まれる情報に該当するか否かを判定する。信頼サイト情報４４０に該当する場合（Ｓ７１０２にてＹＥＳ）、Ｓ７１０３にて、プルプリントアプリ３４０は、プルプリントコントローラ３４１によりクロスドメインリクエストに従いプリントサーバ１０４への印刷リクエスト送信等の処理を実行する。その後、本処理フローを終了する。
【００５８】
一方、信頼サイト情報４４０に該当しない場合（Ｓ７１０２にてＮＯ）、Ｓ７１０４にて、プルプリントアプリ３４０は、リクエスト送信部３４３を介して信頼サイト情報４４０に現在保持されているドメイン名にＨＴＴＰリクエストによりアクセスを試みる。つまり、ここでは、アクセスリクエストが送信される。
【００５９】
Ｓ７１０４のＨＴＴＰによるアクセスリクエストに対するレスポンスを受け取ると、Ｓ７１０５にて、プルプリントアプリ３４０は、プルプリントコントローラ３４１によりＨＴＴＰステータスコードを確認する。ここでは、プルプリントコントローラ３４１は、ＨＴＴＰステータスコードがリダイレクトを示す“３０１”か否かを判定する。ＨＴＴＰステータスコードが“３０１”のコードでない場合（Ｓ７１０５にてＮＯ）、Ｓ７１０７へ進む。なお、上述したように、ＨＴＴＰステータスコードは、“３０１”に限定するものでは無く、その他の規定されたリダイレクトのステータスコード（“３０ｘ”）を用いてもよい。
【００６０】
ＨＴＴＰステータスコードが“３０１”のコードである場合（Ｓ７１０５にてＹＥＳ）、Ｓ７１０６にて、プルプリントコントローラ３４１は、レスポンスに含まれるリダイレクト先情報を確認する。ここでは、プルプリントコントローラ３４１は、リダイレクト先情報のドメイン名が、Ｓ７１０１で受け取ったリクエストのＯｒｉｇｉｎ情報と一致するか否かを判定する。一致した場合（Ｓ７１０６にてＹＥＳ）、Ｓ７１０８にて、プルプリントアプリ３４０は、プルプリントコントローラ３４１により信頼サイト情報４４０をリダイレクト先情報のドメイン名で更新する。その後、Ｓ７１０３にて、プルプリントアプリ３４０は、プルプリントコントローラ３４１によりクロスドメインリクエストに従ってプリントサーバ１０４への印刷リクエスト送信等の処理を実行する。
【００６１】
一方、Ｓ７１０６で確認したリダイレクト先情報のドメイン名が、Ｓ７１０１で受け取ったリクエストのＯｒｉｇｉｎ情報と不一致であった場合（Ｓ７１０６にてＮＯ）、Ｓ７１０７へ進む。
【００６２】
Ｓ７１０７にて、プルプリントアプリ３４０は、プルプリントコントローラ３４１によりＳ７１０１で受け取ったクロスドメインリクエストが不正なものと判断し、エラー応答を要求元であるクライアント端末に返す。そして、本処理フローを終了する。
【００６３】
以上、本発明により、プリンタにおいて、信頼サイトでない生成元からのクロスドメインリクエストを受け付けた際に、現在の信頼サイトにアクセスし、リダイレクト情報を受け取った場合に信頼サイト情報を更新する。これにより、プリントサーバのドメイン名が変更になった場合でも、ユーザの操作なしにプリンタが保持する信頼サイト情報を安全に更新することができ、ユーザは意識することなくプリントサービスを継続して利用することができる。
【００６４】
なお、本実施形態では、信頼サイト情報を書き換える例を示したが、これに限定するものではなく、例えば、過去のドメイン名の情報を保持した上で、新たなドメイン名の情報を追記するようにしてもよい。この場合、プリンタは、信頼サイト情報４４０をリストにて管理してもよい。
【００６５】
また、上記の実施形態では、ＨＴＴＰリダイレクトを用いたシーケンスを述べたがこのプロトコルに限定するものではなく、他のプロトコルを用いてもよい。また、プリンタがクロスドメインリクエストを受け付けた際に、変更前のプリントサーバに対してアクセスを行う場合、任意の認証情報を行うことで信頼性を向上させるようにしてもよい。
【００６６】
＜その他の実施形態＞
本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施例の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【符号の説明】
【００６７】
１０１〜１０３：クライアント端末、１０４：プリントサーバ、１０５〜１０８：プリンタ、３００：Ｗｅｂサーバ、３１０：印刷Ｗｅｂアプリ、３２０：印刷配信サービス、３３０：Ｗｅｂブラウザ、３４０：プルプリントアプリ
【図１】
2017037485.tif 000003
【図２】
2017037485.tif 000004
【図３】
2017037485.tif 000005
【図４】
2017037485.tif 000006
【図５】
2017037485.tif 000007
【図６】
2017037485.tif 000008
【図７】
2017037485.tif 000009