(57)【特許請求の範囲】
【請求項１】
インターネットを介して印刷仲介サーバに接続されるプリンタであって、
第１のポート番号を用いた第１種の通信を、前記印刷仲介サーバと実行可能であるのか否かを判断する判断部と、
前記第１種の通信を実行可能であると判断される場合に、前記第１種の通信を実行して、前記印刷仲介サーバから、所定の通知を受信する第１の通信実行部であって、前記所定の通知は、前記印刷仲介サーバが、端末装置からの指示に従って、特定の印刷データを格納部に格納させた際に、前記プリンタに送信する通知である、前記第１の通信実行部と、
（Ａ）前記第１種の通信を実行可能であると判断される場合に、前記所定の通知が受信される際に、前記第１のポート番号と異なる第２のポート番号を用いた第２種の通信を、前記印刷仲介サーバと実行して、前記印刷仲介サーバから、前記格納部内の前記特定の印刷データの格納場所を示す特定の場所情報を取得し、（Ｂ）前記第１種の通信を実行不可能であると判断される場合に、前記所定の通知が受信されなくても、所定のタイミングで前記第２種の通信を実行して、前記印刷仲介サーバから、前記特定の場所情報を取得する第２の通信実行部と、
前記特定の場所情報を用いて、前記格納部から、前記特定の印刷データを取得するデータ取得部と、
前記特定の印刷データによって表わされる画像の印刷を、印刷実行部に実行させる印刷制御部と、
を備えるプリンタ。
【請求項２】
前記第２の通信実行部は、前記第１種の通信を実行不可能であると判断される場合に、前記所定の通知が受信されなくても、前記第２種の通信を繰り返し実行する、請求項１に記載のプリンタ。
【請求項３】
前記判断部は、
前記第１のポート番号を用いて、前記プリンタと前記印刷仲介サーバとの間に通信セッションを確立することを試行し、
前記試行によって前記通信セッションが確立された場合に、前記第１種の通信を実行可能であると判断し、
前記試行によって前記通信セッションが確立されなかった場合に、前記第１種の通信を実行不可能であると判断する、請求項１又は２に記載のプリンタ。
【請求項４】
前記第１の通信実行部は、前記試行によって前記通信セッションが確立された場合に、前記通信セッションが確立されている状態を維持する、請求項３に記載のプリンタ。
【請求項５】
前記第２の通信実行部は、
（Ａ１）前記試行によって前記通信セッションが確立された場合において、前記所定の通知を受信するまで、前記通信セッションが確立されている状態が維持された場合に、前記所定の通知が受信される際に、前記第２種の通信を実行して、前記印刷仲介サーバから、前記特定の場所情報を取得し、
（Ａ２）前記試行によって前記通信セッションが確立された場合において、前記所定の通知を受信するまで、前記通信セッションが確立されている状態が維持されなかった場合に、前記所定の通知が受信されなくても、前記所定のタイミングで前記第２種の通信を実行して、前記印刷仲介サーバから、前記特定の場所情報を取得する、請求項４に記載のプリンタ。
【請求項６】
前記印刷仲介サーバは、特定のアカウント情報と、前記特定の場所情報と、を対応付けて記憶可能であり、
前記第２の通信実行部は、前記第２種の通信において、前記特定のアカウント情報に関係する関係情報を前記印刷仲介サーバに供給して、前記印刷仲介サーバから、前記特定のアカウント情報に対応付けられている前記特定の場所情報を取得する、請求項１から５のいずれか一項に記載のプリンタ。
【請求項７】
前記印刷仲介サーバは、前記特定のアカウント情報と、前記特定の場所情報を含む複数個の場所情報と、を対応付けて記憶可能であり、
前記第２の通信実行部は、前記第２種の通信において、前記特定のアカウント情報に関係する前記関係情報を前記印刷仲介サーバに供給して、前記印刷仲介サーバから、前記特定のアカウント情報に対応付けられている前記複数個の場所情報を取得し、
前記データ取得部は、前記複数個の場所情報のそれぞれについて、当該場所情報を用いて、前記格納部から、印刷データを取得し、
前記印刷制御部は、前記複数個の場所情報を用いて取得された複数個の印刷データのそれぞれについて、当該印刷データによって表わされる画像の印刷を、前記印刷実行部に実行させる、請求項６に記載のプリンタ。
【請求項８】
前記第２の通信実行部は、前記第２種の通信において、前記印刷仲介サーバから、前記特定の場所情報と共に、前記特定の印刷データのステータスに関するステータス情報を取得し、
前記データ取得部は、
前記ステータス情報が、前記特定の印刷データが前記プリンタによって未だに取得されていない状態を示す場合に、前記特定の場所情報に従って、前記格納部から、前記特定の印刷データを取得し、
前記ステータス情報が、前記特定の印刷データが前記プリンタによって未だに取得されていない状態を示さない場合に、前記特定の印刷データを取得しない、請求項１から７のいずれか一項に記載のプリンタ。
【請求項９】
前記印刷仲介サーバは、
前記端末装置からの前記指示に従って、前記特定の印刷データを前記格納部に格納させる格納管理サーバと、
前記格納管理サーバから、前記特定の印刷データを前記格納部に格納させたことを示す格納通知を取得する場合に、前記所定の通知を前記プリンタに送信する通知管理サーバと、を含み、
前記第１の通信実行部は、前記第１種の通信を前記通知管理サーバと実行して、前記通知管理サーバから、前記所定の通知を受信し、
前記第２の通信実行部は、前記第２種の通信を前記格納管理サーバと実行して、前記格納管理サーバから、前記特定の場所情報を取得する、請求項１から８のいずれか一項に記載のプリンタ。
【請求項１０】
インターネットを介して印刷仲介サーバに接続されるプリンタのためのコンピュータプログラムであって、
前記プリンタに搭載されるコンピュータに、以下の各処理、即ち、
第１のポート番号を用いた第１種の通信を、前記印刷仲介サーバと実行可能であるのか否かを判断する判断処理と、
前記第１種の通信を実行可能であると判断される場合に、前記第１種の通信を実行して、前記印刷仲介サーバから、所定の通知を受信する第１の通信実行処理であって、前記所定の通知は、前記印刷仲介サーバが、端末装置からの指示に従って、特定の印刷データを格納部に格納させた際に、前記プリンタに送信する通知である、前記第１の通信実行処理と、
（Ａ）前記第１種の通信を実行可能であると判断される場合に、前記所定の通知が受信される際に、前記第１のポート番号と異なる第２のポート番号を用いた第２種の通信を、前記印刷仲介サーバと実行して、前記印刷仲介サーバから、前記格納部内の前記特定の印刷データの格納場所を示す特定の場所情報を取得し、（Ｂ）前記第１種の通信を実行不可能であると判断される場合に、前記所定の通知が受信されなくても、所定のタイミングで前記第２種の通信を実行して、前記印刷仲介サーバから、前記特定の場所情報を取得する第２の通信実行処理と、
前記特定の場所情報を用いて、前記格納部から、前記特定の印刷データを取得するデータ取得処理と、
前記特定の印刷データによって表わされる画像の印刷を、印刷実行部に実行させる印刷制御処理と、
を実行させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書によって開示される技術は、インターネットを介して印刷仲介サーバに接続されるプリンタに関する。
【背景技術】
【０００２】
特許文献１のシステムでは、ユーザは、印刷対象のドキュメントのＩＤを端末装置に入力する。この場合、端末装置は、当該ＩＤをプリント要求管理サーバに送信する。プリント要求管理サーバは、当該ＩＤを含むプリント要求データをファクシミリサーバに送信する。この場合、ファクシミリサーバは、当該ＩＤに対応する印刷データを取得して、当該印刷データをプリンタに送信する。この結果、プリンタは、当該印刷データに従った印刷を実行する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００２−７３４６２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１の技術では、ファクシミリサーバが、プリント要求管理サーバからプリント要求データを取得できることが前提になっている。しかしながら、例えば、プリント要求管理サーバからファクシミリサーバへのプリント要求データの通信を実行不可能な環境があり得る。この場合、プリンタは、印刷データを取得して印刷を実行することができない。本明細書では、プリンタが印刷データを取得して印刷を適切に実行し得る技術を開示する。
【課題を解決するための手段】
【０００５】
本明細書では、インターネットを介して印刷仲介サーバに接続されるプリンタを開示する。プリンタは、判断部と、第１の通信実行部と、第２の通信実行部と、データ取得部と、印刷制御部と、を備える。判断部は、第１のポート番号を用いた第１種の通信を、印刷仲介サーバと実行可能であるのか否かを判断する。第１の通信実行部は、第１種の通信を実行可能であると判断される場合に、第１種の通信を実行して、印刷仲介サーバから、所定の通知を受信する。所定の通知は、印刷仲介サーバが、端末装置からの指示に従って、特定の印刷データを格納部に格納させた際に、プリンタに送信する通知である。第２の通信実行部は、（Ａ）第１種の通信を実行可能であると判断される場合に、所定の通知が受信される際に、第１のポート番号と異なる第２のポート番号を用いた第２種の通信を、印刷仲介サーバと実行して、印刷仲介サーバから、格納部内の特定の印刷データの格納場所を示す特定の場所情報を取得し、（Ｂ）第１種の通信を実行不可能であると判断される場合に、所定の通知が受信されなくても、所定のタイミングで第２種の通信を実行して、印刷仲介サーバから、特定の場所情報を取得する。データ取得部は、特定の場所情報を用いて、格納部から、特定の印刷データを取得する。印刷制御部は、特定の印刷データによって表わされる画像の印刷を、印刷実行部に実行させる。
【０００６】
上記の構成によると、プリンタは、第１のポート番号を用いた第１種の通信を実行可能であるのか否かを判断する。プリンタは、第１種の通信を実行可能であると判断される場合には、第１種の通信を実行して所定の通知を受信し、その結果、第２種の通信を実行して特定の場所情報を取得する。一方において、例えば、第１のポート番号を用いた第１種の通信が禁止されるネットワーク環境下では、プリンタは、第１種の通信を実行して、所定の通知を受信することができない。ただし、プリンタは、第１種の通信を実行不可能であると判断される場合には、所定の通知が受信されなくても、所定のタイミングで第２種の通信を実行して特定の場所情報を取得する。即ち、上記の構成によると、プリンタは、第１種の通信を実行可能な状況でも、第１種の通信を実行不可能な状況でも、特定の場所情報を適切に取得することができる。従って、プリンタは、特定の場所情報を用いて特定の印刷データを取得して、印刷を適切に実行することができる。
【０００７】
第２の通信実行部は、第１種の通信を実行不可能であると判断される場合に、所定の通知が受信されなくても、第２種の通信を繰り返し実行する。プリンタは、第１種の通信を実行不可能であると判断される場合には、所定の通知を受信することができないために、特定の印刷データが格納部に格納されるタイミングを知ることができない。従って、上記の構成のように、プリンタは、第２種の通信を繰り返し実行すれば、特定の印刷データが格納部に格納された後に、特定の場所情報を適切に取得することができる。
【０００８】
判断部は、第１のポート番号を用いて、プリンタと印刷仲介サーバとの間に通信セッションを確立することを試行し、試行によって通信セッションが確立された場合に、第１種の通信を実行可能であると判断し、試行によって通信セッションが確立されなかった場合に、第１種の通信を実行不可能であると判断してもよい。この構成によると、プリンタは、第１種の通信を実行可能であるのか否かを適切に判断することができる。
【０００９】
第１の通信実行部は、試行によって通信セッションが確立された場合に、通信セッションが確立されている状態を維持してもよい。このように、通信セッションが確立されている状態が維持されるために、プリンタは、インターネットを介して、印刷仲介サーバと第１種の通信を適切に実行し得る。
【００１０】
第２の通信実行部は、（Ａ１）試行によって通信セッションが確立された場合において、所定の通知を受信するまで、通信セッションが確立されている状態が維持された場合に、所定の通知が受信される際に、第２種の通信を実行して、印刷仲介サーバから、特定の場所情報を取得し、（Ａ２）試行によって通信セッションが確立された場合において、所定の通知を受信するまで、通信セッションが確立されている状態が維持されなかった場合に、所定の通知が受信されなくても、所定のタイミングで第２種の通信を実行して、印刷仲介サーバから、特定の場所情報を取得してもよい。この構成によると、第１種の通信を実行可能な状況から、第１種の通信を実行不可能な状況に変化しても、プリンタは、所定のタイミングで第２種の通信を実行して、特定の場所情報を適切に取得することができる。
【００１１】
印刷仲介サーバは、特定のアカウント情報と、特定の場所情報と、を対応付けて記憶可能であってもよい。第２の通信実行部は、第２種の通信において、特定のアカウント情報に関係する関係情報を印刷仲介サーバに供給して、印刷仲介サーバから、特定のアカウント情報に対応付けられている特定の場所情報を取得してもよい。この構成によると、プリンタは、特定の場所情報を適切に取得することができる。
【００１２】
印刷仲介サーバは、特定のアカウント情報と、特定の場所情報を含む複数個の場所情報と、を対応付けて記憶可能であってもよい。第２の通信実行部は、第２種の通信において、特定のアカウント情報に関係する関係情報を印刷仲介サーバに供給して、印刷仲介サーバから、特定のアカウント情報に対応付けられている複数個の場所情報を取得してもよい。データ取得部は、複数個の場所情報のそれぞれについて、当該場所情報を用いて、格納部から、印刷データを取得してもよい。印刷制御部は、複数個の場所情報を用いて取得された複数個の印刷データのそれぞれについて、当該印刷データによって表わされる画像の印刷を、印刷実行部に実行させてもよい。この構成によると、プリンタは、複数個の場所情報が取得される場合に、複数個の印刷データに従った印刷を適切に実行することができる。
【００１３】
第２の通信実行部は、第２種の通信において、印刷仲介サーバから、特定の場所情報と共に、特定の印刷データのステータスに関するステータス情報を取得してもよい。データ取得部は、ステータス情報が、特定の印刷データがプリンタによって未だに取得されていない状態を示す場合に、特定の場所情報に従って、格納部から、特定の印刷データを取得し、ステータス情報が、特定の印刷データがプリンタによって未だに取得されていない状態を示さない場合に、特定の印刷データを取得しなくてもよい。この構成によると、プリンタは、特定の印刷データのステータスに応じて、特定の印刷データを適切に取得することができる。
【００１４】
印刷仲介サーバは、端末装置からの指示に従って、特定の印刷データを格納部に格納させる格納管理サーバと、格納管理サーバから、特定の印刷データを格納部に格納させたことを示す格納通知を取得する場合に、所定の通知をプリンタに送信する通知管理サーバと、を含んでいてもよい。第１の通信実行部は、第１種の通信を通知管理サーバと実行して、通知管理サーバから、所定の通知を受信してもよい。第２の通信実行部は、第２種の通信を格納管理サーバと実行して、格納管理サーバから、特定の場所情報を取得してもよい。
【００１５】
なお、上記のプリンタを実現するための制御方法、コンピュータプログラム、及び、当該コンピュータプログラムを格納するコンピュータ読取可能記録媒体も、新規で有用である。
【図面の簡単な説明】
【００１６】
【図１】通信システムの構成の一例を示す。
【図２】各デバイスの間で実行される通信の一例のシーケンス図を示す。
【図３】ジョブ情報の一例を示す。
【図４】印刷管理処理のフローチャートを示す。
【図５】接続不可時処理のフローチャートを示す。
【発明を実施するための形態】
【００１７】
（システムの構成）
図１に示されるように、通信システム２は、プリンタ１０（ＰＣ８０の周辺機器）と、格納管理サーバ５０と、通知管理サーバ６０と、ＰＣ８０と、を備える。各デバイス１０，５０〜８０は、別体に構成されている。プリンタ１０は、ＬＡＮ４を介して、インターネット６に接続されている。各デバイス５０〜８０は、インターネット６に接続されている。従って、プリンタ１０は、インターネット６を介して、各デバイス５０〜８０に通信可能に接続される。なお、変形例では、ＰＣ８０がＬＡＮ４に接続されていてもよい。この場合、プリンタ１０は、インターネット６を介さずに、ＬＡＮ４を介して、ＰＣ８０と通信可能に接続される。
【００１８】
（プリンタ１０の構成）
プリンタ１０は、操作部１２と、表示部１４と、印刷実行部１６と、ネットワークインターフェイス１８と、制御部２０と、を備える。上記の各部１２〜２０は、バス線（符号省略）に接続されている。操作部１２は、複数のキーによって構成される。ユーザは、操作部１２を操作することによって、様々な指示をプリンタ１０に入力することができる。表示部１４は、様々な情報を表示するためのディスプレイである。印刷実行部１６は、インクジェット方式、レーザ方式等の印刷機構を備え、制御部２０からの指示に従って印刷を実行する。ネットワークインターフェイス１８は、ＬＡＮ４に接続されている。
【００１９】
制御部２０は、ＣＰＵ２２とメモリ２４とを備える。ＣＰＵ２２は、メモリ２４に格納されているプログラムに従って、様々な処理を実行する。ＣＰＵ２２が当該プログラムに従って処理を実行することによって、判断部３０、第１の通信実行部３２、第２の通信実行部３４、データ取得部３６、及び、印刷制御部３８の各機能が実現される。
【００２０】
（格納管理サーバ５０及び通知管理サーバ６０の構成）
格納管理サーバ５０及び通知管理サーバ６０は、プリンタ１０での印刷を仲介するためのサーバ（即ち印刷仲介サーバ）である。各サーバ５０，６０は、プリンタ１０のベンダによって提供されるサーバではなく、クラウド印刷サービスを提供する会社（以下では「提供会社」と呼ぶ）によって提供されるサーバである。ただし、変形例では、各サーバ５０，６０は、プリンタ１０のベンダによって提供されるサーバであってもよい。また、本実施例では、サーバ５０，６０が別体に構成されているが、変形例では、サーバ５０，６０が一体に構成されていてもよい。
【００２１】
格納管理サーバ５０は、ＰＣ８０からの指示に応じて、印刷対象のデータ（以下では「印刷データ」と呼ぶ）を格納部５６に格納する。なお、格納部５６は、格納管理サーバ５０の内部に設けられていてもよいし、格納管理サーバ５０の外部に設けられていてもよい。後者の場合、格納部５６のことを「格納サーバ」と言い換えてもよい。
【００２２】
格納管理サーバ５０は、プリンタ管理テーブル５２を記憶している。プリンタ管理テーブル５２では、ユーザＩＤと、ＡｕｔｈＴｏｋｅｎと、プリンタ名と、が対応付けられている。ユーザＩＤは、クラウド印刷サービスを利用することを望むユーザに対して、上記の提供会社によって発行されるＩＤである。ＡｕｔｈＴｏｋｅｎは、ユーザがユーザＩＤを利用して格納管理サーバ５０にログインする際に、当該ユーザに割り当てられる識別情報である。なお、格納管理サーバ５０において、ユーザＩＤとＡｕｔｈＴｏｋｅｎとが対応付けられるために、ＡｕｔｈＴｏｋｅｎは、ユーザＩＤに関係する情報であると言える。プリンタ名は、プリンタのノード名（例えば、プリンタのユーザによって指定される名称）である。例えば、プリンタ１０のプリンタ名は「ＰＮ１」である。
【００２３】
格納管理サーバ５０は、さらに、ジョブ管理テーブル５４を記憶している。ジョブ管理テーブル５４では、ユーザＩＤと、ジョブ情報と、が対応付けられている。ユーザＩＤは、プリンタ管理テーブル５２で利用されるユーザＩＤと同様である。ジョブ情報については、図３を参照しながら、後で詳しく説明する。
【００２４】
なお、格納管理サーバ５０は、特定のユーザＩＤ（例えば「Ｕ１」）を有するユーザからの指示（即ち、上記の特定のユーザＩＤを有するユーザが利用する端末装置からの指示）に従って、印刷データを格納部５６に格納した際に、上記の特定のユーザＩＤを含む格納通知を通知管理サーバ６０に供給する。
【００２５】
通知管理サーバ６０は、格納管理サーバ５０から、上記の特定のユーザＩＤを含む格納通知を取得する場合に、上記の特定のユーザＩＤを用いた認証が成功したプリンタ（例えばプリンタ１０）に、所定の通知を送信する。この点については、後で詳しく説明する。
【００２６】
（各デバイスが実行する処理）
続いて、図２を参照して、各デバイスが実行する処理の内容を説明する。プリンタ１０は、ウェブサーバプログラムを記憶しており、ウェブサーバとして機能することができる。また、格納管理サーバ５０も、ウェブサーバプログラムを記憶しており、ウェブサーバとして機能することができる。一方において、ＰＣ８０は、ウェブブラウザプログラムを記憶しており、ウェブクライアントとして機能することができる。
【００２７】
（認証に関する処理）
なお、以下では、各デバイスが実行する処理の概略を説明する。プリンタ１０が実行する具体的な処理については、図４及び図５を参照しながら、後で詳しく説明する。ＰＣ８０のユーザは、クラウド印刷サービスを利用することを望む場合に、プリンタ１０のウェブサーバにアクセスするための操作を、ＰＣ８０の操作部（図示省略；例えば、キーボード、マウス等）に加える。この場合、ＰＣ８０は、ウェブブラウザを用いて、プリンタ１０のウェブサーバにアクセスする。プリンタ１０のウェブサーバは、ユーザＩＤとパスワードとを入力するためのログイン画面を表わす画面データを、ＰＣ８０に供給する。この結果、ＰＣ８０の表示部（図示省略）にログイン画面が表示される。ユーザは、ログイン画面を見ながら、ユーザＩＤ「Ｕ１」とパスワードとを含むログイン情報を入力するための操作を、ＰＣ８０の操作部に加える。この場合、ＰＣ８０は、ログイン情報をプリンタ１０に供給する。
【００２８】
プリンタ１０の第２の通信実行部３４（図１参照）は、ＰＣ８０からログイン情報が取得される場合に、当該ログイン情報を格納管理サーバ５０に送信する。なお、プリンタ１０のメモリ２４内には格納管理サーバ５０のＩＰアドレス及びポート番号（本実施例では４４３番ポート）が予め格納されており、第２の通信実行部３４は、当該ＩＰアドレス及びポート番号「４４３」を送信先として、ログイン情報を送信する。なお、ポート番号「４４３」は、通常、ＨＴＴＰＳ（HyperText Transfer Protocol over Secure socket layer）の通信で利用されるポート番号である。
【００２９】
図示省略しているが、格納管理サーバ５０は、複数のユーザＩＤのそれぞれについて、当該ユーザＩＤとパスワードとが対応付けられているユーザ管理テーブルを記憶している。格納管理サーバ５０は、プリンタ１０からログイン情報が受信される場合に、当該ログイン情報に含まれるユーザＩＤ及びパスワードがユーザ管理テーブルに含まれるのか否かを判断する（即ち、認証を実行する）。格納管理サーバ５０は、ユーザＩＤ及びパスワードがユーザ管理テーブルに含まれる場合に、認証成功を示す成功情報をプリンタ１０に送信する。この場合、格納管理サーバ５０は、さらに、ＡｕｔｈＴｏｋｅｎ「ＡＴ１」を生成して、プリンタ１０に送信する。なお、格納管理サーバ５０は、プリンタ１０からログインされる毎（認証が成功する毎）に、同じＡｕｔｈＴｏｋｅｎをプリンタ１０に送信してもよいし、プリンタ１０からログインされる毎（認証が成功する毎）に、異なるＡｕｔｈＴｏｋｅｎをプリンタ１０に送信してもよい。
【００３０】
この結果、第２の通信実行部３４は、格納管理サーバ５０から、成功情報と、ＡｕｔｈＴｏｋｅｎ「ＡＴ１」と、を受信する。なお、第２の通信実行部３４は、格納管理サーバ５０から成功情報が受信される場合に、プリンタ１０のプリンタ名「ＰＮ１」を格納管理サーバ５０に供給する。この場合、格納管理サーバ５０は、ユーザ名「Ｕ１」と、ＡｕｔｈＴｏｋｅｎ「ＡＴ１」と、プリンタ名「ＰＮ１」と、を対応付けて、プリンタ管理テーブル５２に登録する。
【００３１】
次いで、プリンタ１０の判断部３０（図１参照）は、プリンタ１０と通知管理サーバ６０との間に、ＴＣＰの通信セッションを確立することを試行する。具体的に言うと、判断部３０は、まず、ＴＣＰのＳＹＮ信号を通知管理サーバ６０に送信する。なお、プリンタ１０のメモリ２４内には通知管理サーバ６０のＩＰアドレス及びポート番号（本実施例では５２２２番ポート）が予め格納されており、判断部３０は、当該ＩＰアドレス及びポート番号「５２２２」を送信先として、ＳＹＮ信号を送信する。判断部３０は、通知管理サーバ６０からＳＹＮ／ＡＣＫ信号を受信すると、ＡＣＫ信号を通知管理サーバ６０に送信する。これにより、プリンタ１０と通知管理サーバ６０との間に、ＴＣＰの通信セッションが確立される。なお、ＳＹＮ信号、ＳＹＮ／ＡＣＫ信号、及び、ＡＣＫ信号の通信は、「ＴＣＰのネゴシエーション」と呼ばれることもある。
【００３２】
次いで、プリンタ１０の第１の通信実行部３２（図１参照）は、ＴＣＰの通信セッションが確立される場合に、当該ＴＣＰの通信セッションを用いて、ＸＭＰＰ（eXtensible Messaging and Presence Protocol）のストリームをオープンする。第１の通信実行部３２は、当該ストリームをオープンする際に、ログイン情報を通知管理サーバ６０に送信する。図示省略しているが、通知管理サーバ６０は、格納管理サーバ５０と同様に、ユーザ管理テーブルを記憶している。通知管理サーバ６０は、プリンタ１０からログイン情報が受信される場合に、格納管理サーバ５０と同様の認証を実行して、認証成功を示す成功情報をプリンタ１０に送信する。
【００３３】
なお、プリンタ１０と通知管理サーバ６０との間では、通常、プリンタ１０の電源がＯＦＦされるまで、通信セッションが確立された状態、即ち、ＸＭＰＰのストリームがオープンされた状態、が維持される。以下では、プリンタ１０と通知管理サーバ６０との間の通信セッションのことを「継続的な通信セッション」と呼ぶ。なお、ＸＭＰＰのストリームをオープンするために利用されたＴＣＰの通信セッションは、通常、ＸＭＰＰのストリームをオープンする前にクローズする。なお、このＴＣＰの通信セッションは、維持されてもよいし、維持されなくてもよい（クローズされてもよい）。即ち、「継続的な通信セッション」は、ＴＣＰの通信セッションを維持することを意味するのではなく、ＸＭＰＰのストリームがオープンされた状態を維持することを意味する。一方において、プリンタ１０と格納管理サーバ５０との間では、通信セッションが確立された状態が維持されず、両者の間で後述のジョブ情報等が通信される際に、通信セッション（即ちＴＣＰの通信セッション）が一時的に確立される。プリンタ１０と格納管理サーバ５０との間の通信セッションのことを「一時的な通信セッション」と呼ぶ。
【００３４】
（ＰＣ８０から格納管理サーバ５０への印刷の指示）
ＰＣ８０のユーザは、プリンタ１０に印刷を実行させることを望む場合に、格納管理サーバ５０のウェブサーバにアクセスするための操作を、ＰＣ８０の操作部に加える。この場合、ＰＣ８０は、ウェブブラウザを用いて、格納管理サーバ５０のウェブサーバにアクセスする。プリンタ１０のウェブサーバの場合と同様に、格納管理サーバ５０からログイン画面を表わす画面データがＰＣ８０に供給され、ＰＣ８０の表示部にログイン画面が表示される。ユーザは、ログイン画面を見ながら、ユーザＩＤ「Ｕ１」とパスワードとを含むログイン情報を入力するための操作を、ＰＣ８０の操作部に加える。この場合、ＰＣ８０は、ログイン情報を格納管理サーバ５０に供給する。なお、本実施例では、プリンタ１０にログイン情報を送信する端末装置と、格納管理サーバ５０にログイン情報を送信する端末装置と、が同じ（即ちＰＣ８０）であるが、前者の端末装置と後者の端末装置とは、異なるものであってもよい。
【００３５】
格納管理サーバ５０は、ＰＣ８０からログイン情報が取得される場合に、上記と同様の認証を実行する。次いで、格納管理サーバ５０は、認証が成功する場合に、印刷設定画面を表わす画面データを生成する。具体的に言うと、格納管理サーバ５０は、まず、プリンタ管理テーブル５２から、ログイン情報に含まれるユーザＩＤ「Ｕ１」に対応付けられているプリンタ名「ＰＮ１」，「ＰＮ２」を特定して、プリンタ名「ＰＮ１」，「ＰＮ２」を含む印刷設定画面を表わす画面データを生成する。そして、格納管理サーバ５０は、当該画面データをＰＣ８０に供給する。この結果、ＰＣ８０の表示部に印刷設定画面が表示される。ユーザは、印刷設定画面を見ながら、プリンタ名「ＰＮ１」，「ＰＮ２」の中から、印刷を実行すべきプリンタ１０のプリンタ名「ＰＮ１」を選択する。この場合、ＰＣ８０は、プリンタ名「ＰＮ１」を含む選択結果情報を、格納管理サーバ５０に供給する。
【００３６】
さらに、ＰＣ８０のユーザは、例えば、ＰＣ８０内に格納されているファイルを印刷対象として選択することもできるし、ＰＣ８０の外部に存在するファイル（例えばインターネット上のサーバに格納されているファイル等）を印刷対象として選択することもできる。前者の場合には、ＰＣ８０は、印刷データＰＤ１を格納管理サーバ５０に供給する。後者の場合には、ＰＣ８０は、例えば、ＰＣ８０の外部から印刷データＰＤ１を取得して、印刷データＰＤ１を格納管理サーバ５０に供給してもよいし、印刷データＰＤ１を格納しているサーバに対して、印刷データＰＤ１を格納管理サーバ５０に供給することを指示してもよい。なお、変形例では、ＰＣ８０のユーザは、格納管理サーバ５０内に格納されているファイルを印刷対象として選択してもよい。
【００３７】
上述したように、格納管理サーバ５０は、プリンタ名「ＰＮ１」と、印刷データＰＤ１と、を取得する。この場合、格納管理サーバ５０は、格納処理を実行する（Ｓ１０）。即ち、格納管理サーバ５０は、ＰＣ８０からの指示に従って、格納処理を実行する。
【００３８】
（格納処理の内容；Ｓ１０）
格納処理では、格納管理サーバ５０は、印刷データＰＤ１を格納部５６（図１参照）に格納する。格納処理では、格納管理サーバ５０は、さらに、ＰＣ８０から取得されたログイン情報に含まれるユーザＩＤ「Ｕ１」と、格納部５６に新たに格納された印刷データＰＤ１に対応するジョブ情報Ｊ１と、を対応付けて、ジョブ管理テーブル５４に登録する。なお、ジョブ管理テーブル５４では、１個のユーザＩＤに対応付けて、複数個のジョブ情報が登録されることがあり得る。例えば、図１に示されるように、ジョブ管理テーブル５４には、ユーザＩＤ「Ｕ１」と、複数個のジョブ情報Ｊ１，Ｊ２と、が対応付けて登録されている。例えば、ジョブ情報Ｊ２は、ジョブ情報Ｊ１がジョブ管理テーブル５４に登録される前に、ＰＣ８０又は他のＰＣからの指示に従って、ジョブ管理テーブル５４に登録された情報である。
【００３９】
図３に示されるように、ジョブ情報Ｊ１は、ジョブＩＤ「１２３４５」と、プリンタＩＤ「６７８９」と、印刷データＰＤ１のファイルフォーマット「ＰＤＦ」と、印刷データＰＤ１のＵＲＬ（格納部５６内のＵＲＬ）と、ステータス「ＱＵＥＵＥＤ」と、を含む。
【００４０】
ジョブＩＤは、個々の印刷ジョブを識別するためのＩＤである（即ち、格納部５６に格納される個々の印刷データを識別するためのＩＤである）。プリンタＩＤは、プリンタを識別するためのＩＤである。図示省略しているが、格納管理サーバ５０は、プリンタ名とプリンタＩＤとを対応付けて記憶している。従って、格納管理サーバ５０は、ＰＣ８０からプリンタ１０のプリンタ名「ＰＮ１」が取得されると、プリンタ１０のプリンタＩＤ「６７８９」を特定することができる。また、格納管理サーバ５０は、印刷データＰＤ１のファイル名の拡張子に基づいて、印刷データＰＤ１のファイルフォーマットを特定することができる。ステータス「ＱＵＥＵＥＤ」は、印刷データＰＤ１がプリンタ１０によって未だに取得されていないこと（印刷データＰＤ１に従った印刷処理が未だに実行されていないこと）を示す。
【００４１】
ジョブ情報Ｊ２は、ジョブ情報Ｊ１と同様の構成を有する。なお、ジョブ情報Ｊ２は、ステータス「ＤＯＮＥ」を含む。ステータス「ＤＯＮＥ」は、印刷データＰＤ１に従った印刷処理がプリンタ１０によって実行済みであることを示す。なお、他のステータスとして「ＥＲＲＯＲ」が存在する。ステータス「ＥＲＲＯＲ」は、印刷データＰＤ１がプリンタ１０によって取得されたが、印刷データＰＤ１に従った印刷処理でエラー（例えば、紙ジャム、用紙切れ、トナー切れ等）が発生したことを示す。
【００４２】
図２に示されるように、格納管理サーバ５０は、格納処理（Ｓ１０）を終えると、ユーザＩＤ「Ｕ１」を含む格納通知を通知管理サーバ６０に供給する。従って、通知管理サーバ６０は、格納通知を取得することにより、ユーザＩＤ「Ｕ１」を有するユーザからの指示に従って、格納処理が実行されたことを知ることができる。この場合、通知管理サーバ６０は、ユーザＩＤ「Ｕ１」を含むログイン情報の認証が成功したプリンタ１０に所定の通知を送信する。上述したように、通知管理サーバ６０とプリンタ１０との間では、継続的な通信セッションが確立されている。通知管理サーバ６０は、継続的な通信セッションを用いて、プリンタ１０に所定の通知を送信する。なお、所定の通知は「ＸＭＰＰ通知」と呼ばれることもある。
【００４３】
（格納通知の後の各処理）
プリンタ１０の第１の通信実行部３２は、継続的な通信セッションを用いた通信、即ち、ポート番号「５２２２」を用いた通信によって、通知管理サーバ６０から上記の所定の通知を受信する。この場合、第２の通信実行部３４は、ポート番号「４４３」を用いて、プリンタ１０と格納管理サーバ５０との間に、一時的な通信セッションを確立する。第２の通信実行部３４は、一時的な通信セッションを用いた通信、即ち、ポート番号「４４３」を用いた通信によって、ＡｕｔｈＴｏｋｅｎ「ＡＴ１」を含む要求情報を、格納管理サーバ５０に供給する。なお、ＡｕｔｈＴｏｋｅｎ「ＡＴ１」は、格納管理サーバ５０に対するログイン時に取得された情報である。
【００４４】
格納管理サーバ５０は、プリンタ管理テーブル５２から、要求情報に含まれるＡｕｔｈＴｏｋｅｎ「ＡＴ１」に対応付けられているユーザＩＤ「Ｕ１」を特定し、次いで、ジョブ管理テーブル５４から、ユーザＩＤ「Ｕ１」に対応付けられているジョブ情報Ｊ１，Ｊ２を特定して、ジョブ情報Ｊ１，Ｊ２をプリンタ１０に送信する。この結果、第２の通信実行部は、一時的な通信セッションを用いた通信によって、ジョブ情報Ｊ１，Ｊ２を取得する。このように、本実施例では、第２の通信実行部３４は、ユーザＩＤ「Ｕ１」に関係するＡｕｔｈＴｏｋｅｎ「ＡＴ１」を格納管理サーバ５０に供給するために、ジョブ情報Ｊ１，Ｊ２を適切に取得することができる。なお、ジョブ情報Ｊ１，Ｊ２は、「Ｆｅｔｃｈ情報」と呼ばれることもある。
【００４５】
次いで、プリンタ１０のデータ取得部３６（図１参照）は、複数個のジョブ情報Ｊ１，Ｊ２の中から、ステータス「ＱＵＥＵＥＤ」を含むジョブ情報Ｊ１を特定する。次いで、データ取得部３６は、ジョブ情報Ｊ１から、印刷データＰＤ１のＵＲＬを特定し、当該ＵＲＬを用いて、格納部５６から、印刷データＰＤ１を取得する。具体的に言うと、データ取得部３６は、印刷データＰＤ１のＵＲＬを送信先として、データ取得要求を送信する。この結果、格納部５６は、データ取得要求に応じて、印刷データＰＤ１をプリンタ１０に送信する。これにより、データ取得部３６は、印刷データＰＤ１を取得することができる。なお、図３の例では、格納管理サーバ５０の内部に格納部５６が設けられており、データ取得部３６は、格納管理サーバ５０から、印刷データＰＤ１を取得する。ただし、上述したように、格納管理サーバ５０の外部に格納部５６が設けられてもよく、その場合、データ取得部３６は、格納管理サーバ５０の外部の格納部５６から、印刷データＰＤ１を取得する。
【００４６】
次いで、Ｓ２０において、プリンタ１０の印刷制御部３８は、印刷データＰＤ１によって表わされる画像の印刷を、印刷実行部１６に実行させる。具体的に言うと、印刷制御部３８は、印刷データＰＤ１に従った駆動信号（例えば、インクを吐出するための圧電素子に供給される駆動信号や、感光体に静電潜像を形成するためのレーザ源に供給される駆動信号等）を印刷実行部１６に供給する。これにより、印刷実行部１６は、印刷データＰＤ１によって表わされる画像を印刷媒体に印刷し、ユーザは、当該印刷媒体を得ることができる。
【００４７】
一方において、プリンタ１０のデータ取得部３６は、ステータス「ＤＯＮＥ」を含むジョブ情報Ｊ２に基づいて、印刷データを取得しない。当該印刷データに従った印刷処理は既に終了しているからである。なお、プリンタ１０の制御部２０は、印刷データＰＤ１に従った印刷処理が終了すると、印刷終了を示す情報を格納管理サーバ５０に供給する。この場合、格納管理サーバ５０は、ジョブ情報Ｊ１に含まれるステータスを「ＱＵＥＵＥＤ」から「ＤＯＮＥ」に変更する。
【００４８】
（プリンタ１０が実行する処理）
続いて、図４を参照して、プリンタ１０が実行する処理の内容を詳しく説明する。プリンタ１０が図４の印刷管理処理を実行することにより、図２のシーケンス図の各処理が実現される。図４の印刷管理処理は、ＰＣ８０からログインされる際（即ちＰＣ８０からログイン情報（ユーザＩＤ及びパスワード）を取得する際）、又は、プリンタ１０の電源がＯＮされる際に、開始される。
【００４９】
Ｓ１００において、第２の通信実行部３４は、ログイン情報を格納管理サーバ５０に送信して、格納管理サーバ５０から認証成功を示す成功情報を受信するのか否かを判断する。なお、ＰＣ８０からログインされる際に実行されるＳ１００の処理では、当該ログイン時に取得されるログイン情報が、格納管理サーバ５０に送信される。一方において、プリンタ１０の電源がＯＮされる際に実行されるＳ１００の処理では、プリンタ１０の電源がＯＦＦされる前にＰＣ８０から取得済みのログイン情報が、格納管理サーバ５０に送信される。ただし、ＰＣ８０からログアウトされている状態で、プリンタ１０の電源がＯＦＦされる場合には、プリンタ１０の電源がＯＮされても、ログイン情報が格納管理サーバ５０に送信されない。この場合、Ｓ１００でＮＯと判断され、印刷管理処理が終了する。
【００５０】
なお、格納管理サーバ５０から成功情報（さらにはＡｕｔｈＴｏｋｅｎ「ＡＴ１」）が受信される場合（Ｓ１００でＹＥＳの場合）には、Ｓ１０２において、判断部３０は、５２２２番ポートを用いて、ＴＣＰのネゴシエーションを実行する。次いで、Ｓ１０４において、判断部３０は、通信セッションが確立されたのか否かを判断する。
【００５１】
上述したように、ポート番号「５２２２」を用いた通信では、継続的な通信セッションが確立される。継続的な通信セッションが確立されている場合には、ＬＡＮ４の外部から、当該通信セッションを利用した攻撃を受け得る。従って、セキュリティを強化するために、ＬＡＮ４の管理者が、ポート番号「５２２２」を用いた通信を禁止する可能性がある。例えば、管理者は、ポート番号「５２２２」を利用するパケットを破棄するように（当該パケットを通過させないように）、ＬＡＮ４とインターネット６との間のルータに指示することができる。この場合、判断部３０が、ポート番号「５２２２番」を用いてＳＹＮ信号を送信しても、当該ＳＹＮ信号が破棄されるために、通知管理サーバ６０からＳＹＮ／ＡＣＫ信号を受信することができず、その結果、ＴＣＰのネゴシエーションが成功しない（継続的な通信セッションが確立されない）。
【００５２】
判断部３０は、通知管理サーバ６０からＳＹＮ／ＡＣＫ信号を受信することができない場合（継続的な通信セッションが確立されない場合）に、ポート番号「５２２２」を用いた通信を実行不可能であると判断して（Ｓ１０４でＮＯと判断して）、Ｓ１３０に進む。一方において、判断部３０は、通知管理サーバ６０からＳＹＮ／ＡＣＫ信号を受信することができる場合（継続的な通信セッションが確立される場合）に、ポート番号「５２２２」を用いた通信を実行可能であると判断して（Ｓ１０４でＹＥＳと判断して）、Ｓ１０８に進む。このように、プリンタ１０は、継続的な通信セッションが確立されるのか否かに応じて、ポート番号「５２２２」を用いた通信を実行可能であるのか否かを適切に判断することができる。
【００５３】
なお、Ｓ１０４でＹＥＳの場合には、第１の通信実行部３２は、継続的な通信セッションを維持する。即ち、第１の通信実行部３２は、ＸＭＰＰのストリームがオープンされた状態を維持する。
【００５４】
Ｓ１０８では、制御部２０は、ＰＣ８０からログアウトが実行されること、及び、プリンタ１０の電源をＯＦＦするためのソフトスイッチが操作されること、を監視する。Ｓ１０８でＹＥＳの場合には、制御部２０は、印刷管理処理を終了する。
【００５５】
一方において、Ｓ１０８でＮＯの場合には、Ｓ１１０において、第１の通信実行部３２は、継続的な通信セッションを用いて、通知管理サーバ６０の生存確認を実行する。具合的に言うと、第１の通信実行部３２は、継続的な通信セッションを用いて、確認信号を通知管理サーバ６０に送信して、通知管理サーバ６０から応答信号を受信するのか否かを判断する。
【００５６】
例えば、通知管理サーバ６０がダウンした場合には、通知管理サーバ６０から応答信号が受信されない。この場合、第１の通信実行部３２は、Ｓ１１０でＮＯと判断して、Ｓ１０２に進む。これにより、Ｓ１０２及びＳ１０４の処理が再び実行されるが、通知管理サーバ６０がダウンしているために、Ｓ１０４でＮＯと判断され、Ｓ１３０に進む。
【００５７】
一方において、通知管理サーバ６０から応答信号が受信される場合（Ｓ１１０でＹＥＳの場合）には、Ｓ１１２において、第１の通信実行部３２は、通知管理サーバ６０から所定の通知（即ちＸＭＰＰ通知；図２参照）を受信したのか否かを判断する。通知管理サーバ６０から所定の通知が受信されない場合（Ｓ１１２でＮＯの場合）には、Ｓ１０８に戻る。
【００５８】
通知管理サーバ６０から所定の通知が受信される場合（Ｓ１１２でＹＥＳの場合）には、Ｓ１１４において、第２の通信実行部３４は、ポート番号「４４３」を用いて、プリンタ１０と格納管理サーバ５０との間に、一時的な通信セッションを確立する。そして、Ｓ１１４では、第２の通信実行部３４は、一時的な通信セッションを用いた通信、即ち、ポート番号「４４３」を用いた通信によって、ＡｕｔｈＴｏｋｅｎ「ＡＴ１」を含む要求情報を、格納管理サーバ５０に供給する。これにより、第２の通信実行部３４は、格納管理サーバ５０から、ジョブ情報（例えば図２，図３のジョブ情報Ｊ１，Ｊ２）を取得する。
【００５９】
なお、Ｓ１１４では、第２の通信実行部３４は、ポート番号「４４３」を用いて一時的な通信セッションを確立することができない場合に、ポート番号「８０」を用いて、一時的な通信セッションを確立する。そして、第２の通信実行部３４は、ポート番号「８０」を用いた通信によって、格納管理サーバ５０からジョブ情報を取得する。なお、ポート番号「８０」は、通常、ＨＴＴＰ（HyperText Transfer Protocol）の通信で利用されるポート番号である。即ち、一般的に言うと、第２の通信実行部３４は、第２のポート番号（例えばポート番号「４４３」）を用いた第２種の通信を実行不可能である場合に、第１及び第２のポート番号とは異なる第３のポート番号（例えばポート番号「８０」）を用いた第３種の通信を実行して、特定の場所情報を取得してもよい。
【００６０】
次いで、Ｓ１１６において、データ取得部３６は、プリンタ１０が実行すべきジョブが存在するのか否かを判断する。具体的に言うと、データ取得部３６は、格納管理サーバ５０から取得されたジョブ情報の中に、プリンタ１０のプリンタＩＤを含むと共にステータス「ＱＵＥＵＥＤ」を含むジョブ情報（例えば図３のジョブ情報Ｊ１）が存在するのか否かを判断する。なお、Ｓ１１４において、ＡｕｔｈＴｏｋｅｎ「ＡＴ１」を含む要求情報を供給しても、格納管理サーバ５０から１個のジョブ情報も取得されない場合には、Ｓ１１６でＮＯと判断され、Ｓ１０８に戻る。
【００６１】
上述したように、格納管理サーバ５０は、ユーザＩＤ毎に、ジョブ情報を管理する。従って、例えば、ＰＣ８０のユーザが、プリンタ１０に印刷を実行させるための指示と、プリンタ１０とは異なるプリンタに印刷を実行させるための指示と、を格納管理サーバ５０に与えると、当該ユーザのユーザＩＤに対応付けて、前者の指示に従った第１のジョブ情報と、後者の指示に従った第２のジョブ情報と、が格納される。第１のジョブ情報は、プリンタ１０のプリンタＩＤを含むが、第２のジョブ情報は、異なるプリンタのプリンタＩＤを含む。この場合、Ｓ１１６において、データ取得部３６は、第１のジョブ情報について、プリンタ１０が実行すべきジョブであると判断し、第２のジョブ情報について、プリンタ１０が実行すべきジョブでないと判断する。この構成によると、プリンタ１０は、ジョブ情報に含まれるプリンタＩＤに基づいて、プリンタ１０自身が実行すべきジョブを適切に判断することができる。
【００６２】
また、Ｓ１１６では、データ取得部３６は、ステータス「ＱＵＥＵＥＤ」を含むジョブ情報について、プリンタ１０が実行すべきジョブであると判断し、ステータス「ＱＵＥＵＥＤ」以外のステータス（例えば「ＤＯＮＥ」、「ＥＲＲＯＲ」等）を含むジョブ情報（例えば図３のジョブ情報Ｊ２）について、プリンタ１０が実行すべきジョブでないと判断する。この構成によると、プリンタ１０は、印刷データのステータスに応じて、当該印刷データを取得して印刷を実行すべきか否かを適切に判断することができる。
【００６３】
プリンタ１０が実行すべきジョブ（例えば図２，図３のジョブ情報Ｊ１）が存在する場合（Ｓ１１６でＹＥＳの場合）には、Ｓ１１８において、データ取得部３６は、ジョブ情報に含まれる印刷データ（例えば図２の印刷データＰＤ１）のＵＲＬを用いて、格納部５６から印刷データを取得する。次いで、Ｓ１２０において、印刷制御部３８は、印刷データによって表わされる画像の印刷を、印刷実行部１６に実行させる。
【００６４】
Ｓ１２０を終えると、Ｓ１１６に戻り、データ取得部３６は、プリンタ１０が実行すべき他のジョブが存在するのか否かを判断する。仮に、Ｓ１１４で取得されたジョブ情報Ｊ１，Ｊ２のどちらもステータス「ＱＵＥＵＥＤ」を含む場合には、ジョブ情報Ｊ１に従ってＳ１１８，１２０が実行された後に、Ｓ１１６において、データ取得部３６は、ジョブ情報Ｊ２についてＹＥＳと判断する。この場合、Ｓ１１８において、データ取得部３６は、ジョブ情報Ｊ２に含まれる印刷データを用いて、格納部５６から当該印刷データを取得し、Ｓ１２０において、印刷制御部３８は、当該印刷データによって表わされる画像の印刷を、印刷実行部１６に実行させる。この構成によると、プリンタ１０は、複数個の印刷データのＵＲＬが取得される場合に、複数個の印刷データに従った印刷を適切に実行することができる。
【００６５】
（接続不可時処理；図５）
次いで、図４のＳ１３０で実行される接続不可時処理の内容について説明する。接続不可時処理は、Ｓ１０４において、ポート番号「５２２２」を用いた通信を実行不可能であると判断される場合（継続的な通信セッションが確立されない場合）に、実行される。
【００６６】
図５に示されるように、Ｓ２０８では、制御部２０は、ＰＣ８０からログアウトが実行されること、及び、プリンタ１０の電源をＯＦＦするためのソフトスイッチが操作されること、を監視する。Ｓ２０８でＹＥＳの場合には、制御部２０は、図５の接続不可時処理を終了し、その結果、図４の印刷管理処理が終了する。
【００６７】
一方において、Ｓ２０８でＹＥＳの場合には、Ｓ２１０において、第２の通信実行部３４は、現在時刻が、予め決められているチェック時刻を経過したのか否かを判断する。なお、チェック時刻は、例えば、前回のＳ２１４の処理が実行されてから所定時間経過後の時刻である。
【００６８】
現在時刻がチェック時刻を経過した場合（Ｓ２１０でＹＥＳの場合）には、Ｓ２１４において、第２の通信実行部３４は、図４のＳ１１４と同様の処理を実行して、ジョブ情報を取得する。次いで、Ｓ２１６及びＳ２１８において、データ取得部３６は、図４のＳ１１６及びＳ１１８と同様の処理を実行し、Ｓ２２０において、印刷制御部３８は、図４のＳ１２０と同様の処理を実行する。
【００６９】
なお、図５のフローチャートから明らかなように、Ｓ２０８でＹＥＳと判断されるまで、図５の接続不可時処理が継続する。従って、Ｓ２１０でＹＥＳと判断される毎に、Ｓ２１４において、第２の通信実行部３４は、ポート番号「４４３」を用いた通信を実行する。即ち、第２の通信実行部３４は、ポート番号「４４３」を用いた通信を繰り返し実行する。このために、プリンタ１０は、所定の通知が受信されなくても、印刷データが格納部５６に格納された後に、ジョブ情報を適切に取得することができる。なお、本実施例では、第２の通信実行部３４は、ポート番号「４４３」を用いた通信を、定期的に繰り返し実行するが、変形例では、第２の通信実行部３４は、ポート番号「４４３」を用いた通信を、不定期的に繰り返し実行してもよい。また、印刷データが格納部５６に格納されてから、プリンタ１０で印刷が実行されるまでの時間（即ちユーザの待ち時間）を短くするためには、繰り返し実行されるＳ２１４の処理のインターバルを短くすることが好ましい。
【００７０】
（本実施例の効果）
本実施例の通信システム２を利用すれば、ＰＣ８０は、プリンタ１０に印刷を実行させるためのプリンタドライバを備えていなくても、ウェブブラウザを用いて、プリンタ１０に印刷を実行させるための指示（プリンタ名ＰＮ１、印刷データＰＤ１）を、格納管理サーバ５０に与えることができる。そして、プリンタ１０は、通知管理サーバ６０から所定の通知を受信する場合に、印刷データＰＤ１に従った印刷を実行することができる。即ち、本実施例では、ＰＣ８０は、プリンタドライバを備えていなくても、印刷仲介サーバ（格納管理サーバ５０及び通知管理サーバ６０）を用いて、プリンタ１０に印刷を実行させることができる。即ち、ＰＣ８０は、クラウド印刷サービスを利用することができる。
【００７１】
本実施例によると、プリンタ１０は、ポート番号「５２２２」を用いた通信を実行可能であるのか否かを判断する（図４のＳ１０４）。プリンタ１０は、ポート番号「５２２２」を用いた通信を実行可能であると判断される場合（Ｓ１０４でＹＥＳの場合）には、ポート番号「５２２２」を用いた通信を実行して所定の通知を受信し（Ｓ１１２でＹＥＳ）、その結果、ポート番号「４４３」を用いた通信を実行してジョブ情報を取得する（Ｓ１１４）。上述したように、ＬＡＮ４の管理者が、ポート番号「５２２２」を用いた通信を禁止する可能性がある。この場合、プリンタ１０は、ポート番号「５２２２」を用いた通信を実行して、所定の通知を受信することができない。ただし、プリンタ１０は、ポート番号「５２２２」を用いた通信を実行不可能であると判断される場合（Ｓ１０４でＮＯの場合）には、所定の通知が受信されなくても、所定のタイミングでポート番号「４４３」を用いた通信を実行してジョブ情報を取得する（図５のＳ２１４）。即ち、本実施例によると、プリンタ１０は、ポート番号「５２２２」を用いた通信を実行可能な状況でも、ポート番号「５２２２」を用いた通信を実行不可能な状況でも、ジョブ情報を適切に取得することができる。従って、プリンタ１０は、ジョブ情報に含まれる印刷データのＵＲＬを用いて特定の印刷データを取得して、印刷を適切に実行することができる。
【００７２】
また、本実施例では、プリンタ１０は、継続的な通信セッションが確立された場合（図４のＳ１０４でＹＥＳの場合）に、以下の動作を実行する。即ち、プリンタ１０は、所定の通知を受信するまで、継続的な通信セッションが確立されている状態が維持された場合には、所定の通知が受信される際に、ポート番号「４４３」を用いた通信を実行して、格納管理サーバ５０からジョブ情報を取得する（Ｓ１１４）。ただし、プリンタ１０は、所定の通知を受信するまで、継続的な通信セッションが確立されている状態が維持されなかった場合（Ｓ１１０でＮＯ）に、Ｓ１３０の接続不可時処理を実行する。即ち、プリンタ１０は、所定の通知が受信されなくても、ポート番号「４４３」を用いた通信を実行して、格納管理サーバ５０からジョブ情報を取得する（図５のＳ２１４）。この構成によると、ポート番号「５２２２」を用いた通信を実行可能な状況から、ポート番号「５２２２」を用いた通信を実行不可能な状況に変化しても（例えば通知管理サーバ６０がダウンしても）、プリンタ１０は、ジョブ情報を適切に取得することができる。
【００７３】
（対応関係）
ポート番号「５２２２」、ポート番号「４４３」が、それぞれ、「第１のポート番号」、「第２のポート番号」の一例である。従って、ポート番号「５２２２」を用いた通信、ポート番号「４４３」を用いた通信が、それぞれ、「第１種の通信」、「第２種の通信」の一例である。印刷データＰＤ１が「特定の印刷データ」の一例であり、印刷データＰＤ１のＵＲＬが「特定の場所情報」の一例である。ユーザＩＤ「Ｕ１」、ＡｕｔｈＴｏｋｅｎ「ＡＴ１」が、それぞれ、「特定のアカウント情報」、「関係情報」の一例である。
【００７４】
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。上記の実施例の変形例を以下に列挙する。
【００７５】
（変形例１）サーバ５０，６０は、上記の実施例のように別体に構成されていなくてもよく、一体に構成されていてもよい。一般的に言うと、「印刷仲介サーバ」は、１個のデバイスのみによって実現されてもよいし、複数個のデバイスによって実現されてもよい。
【００７６】
（変形例２）格納管理サーバ５０は、プリンタ管理テーブル５２において、ユーザＩＤに対応付けてＡｕｔｈＴｏｋｅｎを登録しなくてもよい。この場合、第２の通信実行部３４は、図４のＳ１１４又は図５のＳ２１４において、ユーザＩＤ「Ｕ１」を格納管理サーバ５０に供給して、ジョブ情報を取得してもよい。本変形例では、ユーザＩＤ「Ｕ１」が、「特定のアカウント情報」の一例であると共に「関係情報」の一例である。即ち、一般的に言うと、「関係情報」は、上記の実施例のように、「特定のアカウント情報」とは異なる情報であってもよいし、本変形例のように、「特定のアカウント情報」と同じ情報であってもよい。なお、「特定のアカウント情報」は、ユーザＩＤに限られず、アカウント名、ユーザ名、ログイン名等であってもよい。
【００７７】
（変形例３）上記の実施例では、図４のＳ１０２及びＳ１０４において、判断部３０は、継続的な通信セッションを確立することを試行して、ポート番号「５２２２」を用いた通信を実行可能であるのか否かを判断する。これに代えて、例えば、ＬＡＮ４の管理者は、ポート番号「５２２２」を用いた通信を実行可能であるのか否かを予め調査し、調査結果をプリンタ１０に記憶させてもよい。この場合、判断部３０は、調査結果に基づいて、ポート番号「５２２２」を用いた通信を実行可能であるのか否かを判断してもよい。
【００７８】
（変形例４）上記の実施例では、ＰＣ８０は、ウェブブラウザを用いて格納管理サーバ５０にアクセスして、印刷データＰＤ１等を格納管理サーバ５０に送信する（図２参照）。これに代えて、ＰＣ８０は、格納管理サーバ５０にアクセスするための専用プログラム（ウェブブラウザではなく、例えば、格納管理サーバ５０を提供する提供者によって用意されるプログラムや、プリンタ１０のベンダによって用意されるプログラム等）を用いて、印刷データＰＤ１等を格納管理サーバ５０に送信してもよい。
【００７９】
（変形例５）「プリンタ」は、印刷機能のみを備えるデバイスでなくてもよく、他の機能（スキャン機能、コピー機能、ＦＡＸ機能、電話機能等）を備えるデバイスでもよい。即ち、「プリンタ」という用語は、コピー機、ＦＡＸ機、多機能機（印刷機能とそれ以外の機能とを少なくとも備えるデバイス）等を含む。
【００８０】
（変形例６）「端末装置」という用語は、ＰＣに限られず、携帯電話、ＰＤＡ、スキャナ、多機能機等を含む。
【００８１】
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【符号の説明】
【００８２】
２：通信システム、１０：プリンタ、５０：格納管理サーバ、５６：格納部、６０：通知管理サーバ、８０：ＰＣ、ＰＤ１：印刷データ
【図１】
0005522095.tif 000002
【図２】
0005522095.tif 000003
【図３】
0005522095.tif 000004
【図４】
0005522095.tif 000005
【図５】
0005522095.tif 000006