(57)【特許請求の範囲】
【請求項１】
端末装置であって、
仮想プリンタを識別するための仮想プリンタ識別情報をサーバに送信する識別情報送信部と、
複数のファイル識別情報を含むリストを、前記サーバから受信するリスト受信部であって、前記リストは、前記サーバにおいて、前記仮想プリンタ識別情報に対応付けられており、前記複数のファイル識別情報のそれぞれは、前記サーバに格納されている複数のデータファイルのそれぞれを識別するための情報である、前記リスト受信部と、
受信済みの前記リストに含まれる前記複数のファイル識別情報を、前記端末装置の表示部に表示させる表示制御部と、
表示済みの前記複数のファイル識別情報の中から、印刷対象の対象データファイルを識別するための対象ファイル識別情報を指定する指定部と、
前記複数のファイル識別情報のうちの複数の対象ファイル識別情報が指定される場合に、前記複数の対象ファイル識別情報が指定されたことを示す指定情報を、前記サーバに送信する指定情報送信部と、
前記複数のファイル識別情報のうちの前記複数の対象ファイル識別情報が指定される場合に、１個の対応情報を前記端末装置の端末側メモリに格納する端末側格納制御部であって、前記１個の対応情報は、前記サーバにおいて、前記仮想プリンタ識別情報に対応付づけられており、指定済みの前記複数の対象ファイル識別情報によって識別される複数の前記対象データファイルのそれぞれに対応付けられる情報である、前記端末側格納制御部と、
前記仮想プリンタ識別情報と、格納済みの前記１個の対応情報と、を含む印刷要求を、実在する実在プリンタに送信する印刷要求送信部であって、前記印刷要求は、前記実在プリンタに、前記仮想プリンタ識別情報と前記１個の対応情報とを用いて得られる前記複数の対象データファイルを用いた印刷を実行させるための要求である、前記印刷要求送信部と、を備える端末装置。
【請求項２】
前記端末装置は、さらに、
前記仮想プリンタを登録するための登録要求を前記サーバに送信する登録要求送信部と、
前記サーバから前記仮想プリンタ識別情報を受信する識別情報受信部と、を備える、請求項１に記載の端末装置。
【請求項３】
前記登録要求は、所定のプリンタが利用可能な印刷条件を示す仮想印刷条件情報を含む、請求項２に記載の端末装置。
【請求項４】
前記端末装置は、さらに、
前記複数の対象ファイル識別情報が指定される場合に、前記１個の対応情報を生成する端末側生成部と、
生成済みの前記１個の対応情報を、前記サーバに送信する端末側対応情報送信部と、を備える、請求項１から３のいずれか一項に記載の端末装置。
【請求項５】
前記端末装置は、さらに、
前記サーバから前記１個の対応情報を受信する端末側対応情報受信部を備える、請求項１から４のいずれか一項に記載の端末装置。
【請求項６】
前記端末装置は、さらに、
第１の通信方式に従って、前記サーバと無線通信を実行する第１のインターフェースと、
前記第１の通信方式よりも通信速度が遅い第２の通信方式に従って、前記実在プリンタと無線通信を実行する第２のインターフェースと、を備え、
前記リスト受信部は、前記第１のインターフェースを利用して、前記リストを、前記サーバから受信し、
前記印刷要求送信部は、前記第２のインターフェースを利用して、前記印刷要求を、前記実在プリンタに送信する、請求項１から５のいずれか一項に記載の端末装置。
【請求項７】
前記端末装置は、さらに、
前記実在プリンタが前記サーバから前記対象データファイルを受信するための認証情報を、前記実在プリンタに送信する認証情報送信部を備える、請求項１から６のいずれか一項に記載の端末装置。
【請求項８】
印刷実行部を有するプリンタであって、
１個の第１の対応情報を含む印刷要求を、端末装置から受信する印刷要求受信部と、
前記印刷要求が受信され、かつ、受信済みの前記１個の第１の対応情報と、サーバにおいて印刷対象の複数の対象データファイルに対応付けられている１個の第２の対応情報と、が一致する場合に、前記１個の第２の対応情報に対応付けられている前記複数の対象データファイルを用いて得られる複数の印刷データを、前記サーバから受信する印刷データ受信部であって、前記複数の対象データファイルは、前記サーバに格納されている複数のデータファイルのうちの一部のデータファイルである、前記印刷データ受信部と、
受信済みの前記複数の印刷データを用いた印刷を、前記印刷実行部に実行させる印刷制御部と、を備え、
受信済みの前記第１の対応情報は、前記複数の対象データファイルを前記サーバが格納するタイミングに関する時刻情報を含み、
前記プリンタは、さらに、
時刻を特定する時刻特定部と、
特定済みの前記時刻が、受信済みの前記時刻情報よりも所定期間以上経過しているか否かを判断する第２の判断部と、を備え、
前記印刷制御部は、特定済みの前記時刻が、受信済みの前記時刻情報よりも所定期間以上経過していないと判断される場合に、受信済みの前記複数の対象データファイルを用いた前記印刷を、前記印刷実行部に実行させる、プリンタ。
【請求項９】
前記プリンタは、さらに、
前記印刷要求が受信される場合に、前記１個の第２の対応情報を、前記サーバから受信するプリンタ側対応情報受信部と、
受信済みの前記１個の第１の対応情報と、受信済みの前記１個の第２の対応情報と、が一致するか否かを判断する第１の判断部と、備え、
前記印刷データ受信部は、前記１個の第１の対応情報と、前記１個の第２の対応情報と、が一致すると判断される場合に、前記複数の印刷データを、前記サーバから受信する、請求項８に記載のプリンタ。
【請求項１０】
端末装置のためのコンピュータプログラムであって、
前記コンピュータプログラムは、前記端末装置に搭載されるコンピュータに、以下の各処理、即ち、
仮想プリンタを識別するための仮想プリンタ識別情報をサーバに送信する識別情報送信処理と、
複数のファイル識別情報を含むリストを、前記サーバから受信するリスト受信処理であって、前記リストは、前記サーバにおいて、前記仮想プリンタ識別情報に対応付けられており、前記複数のファイル識別情報のそれぞれは、前記サーバに格納されている複数のデータファイルのそれぞれを識別するための情報である、前記リスト受信処理と、
受信済みの前記リストに含まれる前記複数のファイル識別情報を、前記端末装置の表示部に表示させる表示制御処理と、
表示済みの前記複数のファイル識別情報の中から、印刷対象の対象データファイルを識別するための対象ファイル識別情報を指定する指定処理と、
前記複数のファイル識別情報のうちの複数の対象ファイル識別情報が指定される場合に、前記複数の対象ファイル識別情報が指定されたことを示す指定情報を、前記サーバに送信する指定情報送信処理と、
前記複数のファイル識別情報のうちの前記複数の対象ファイル識別情報が指定される場合に、１個の対応情報を前記端末装置の端末側メモリに格納する端末側格納制御処理であって、前記１個の対応情報は、前記サーバにおいて、前記仮想プリンタ識別情報に対応付づけられており、指定済みの前記複数の対象ファイル識別情報によって識別される複数の前記対象データファイルのそれぞれに対応付けられる情報である、前記端末側格納制御処理と、
前記仮想プリンタ識別情報と、格納済みの前記１個の対応情報と、を含む印刷要求を、実在する実在プリンタに送信する印刷要求送信処理であって、前記印刷要求は、前記実在プリンタに、前記仮想プリンタ識別情報と前記１個の対応情報とを用いて得られる前記複数の対象データファイルを用いた印刷を実行させるための要求である、前記印刷要求送信処理と、を実行させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書では、端末装置が、サーバを利用して、プリンタに印刷を実行させるための技術を開示する。
【背景技術】
【０００２】
特許文献１に、携帯電話が文書管理サーバから文書データを取得して、複合機に文書データを印刷させる技術が開示されている。文書管理サーバは、携帯電話から要求された文書データのデータ容量が所定サイズ以内である場合、文書データを携帯電話に送信する。一方、要求された文書データのデータ容量が所定サイズを超える場合、文書データを一意に特定しうる文書トークンを送信する。文書トークンが送信される場合、携帯電話のユーザは、携帯電話を複合機に接続して、取得された文書トークンを複合機に読み取らせる。複合機は、文書トークンが取得されると、取得された文書トークンによって特定される文書データを、文書管理サーバから取得して、該文書データを印刷する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−７０２４０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記の技術では、文書データのデータ容量が所定サイズ以内である場合、携帯電話は、文書管理サーバから文書データ自体を受信し、複合機に、文書データ自体を送信する必要がある。
【０００５】
しかしながら、複数のデータファイルを用いた印刷をプリンタに実行させることが望まれる場合、例えば文書データ自体等の各データファイルのデータサイズは小さくても、複数のデータファイル全体では、データサイズが大きくなる可能性がある。
【０００６】
本明細書では、端末装置が、複数のデータファイルを用いた印刷をプリンタに実行させる場合に、端末装置が、複数のデータファイルをサーバから取得せずに済む技術を提供する。
【課題を解決するための手段】
【０００７】
本明細書によって開示される端末装置は、リスト受信部と、表示制御部と、指定部と、指定情報送信部と、端末側格納制御部と、要求送信部と、を備える。リスト受信部は、複数のファイル識別情報を含むリストを、サーバから受信する。複数のファイル識別情報のそれぞれは、サーバに格納されている複数のデータファイルのそれぞれを識別するための情報である。表示制御部は、受信済みのリストに含まれる複数のファイル識別情報を、端末装置の表示部に表示させる。指定部は、表示済みの複数のファイル識別情報の中から、印刷対象の対象データファイルを識別するための対象ファイル識別情報を指定する。指定情報送信部は、複数の対象ファイル識別情報が指定される場合に、複数の対象ファイル識別情報が指定されたことを示す指定情報を、サーバに送信する。端末側格納制御部は、複数の対象ファイル識別情報が指定される場合に、１個の対応情報を端末装置の端末側メモリに格納する。１個の対応情報は、サーバにおいて、指定済みの複数の対象ファイル識別情報によって識別される複数の対象データファイルのそれぞれに対応付けられる情報である。要求送信部は、格納済みの１個の対応情報を含む印刷要求を、プリンタに送信する。印刷要求は、プリンタに、１個の対応情報を用いて得られる複数の対象データファイルを用いた印刷を実行させるための要求である。
【０００８】
上記の技術では、複数の対象ファイル識別情報が指定される場合に、端末装置は、指定済みの複数の対象ファイル識別情報によって識別される複数の対象データファイルにそれぞれ対応付けられる１個の対応情報を、プリンタに送信する。この結果、端末装置は、複数の対象データファイルを、サーバから取得してプリンタに送信しなくても、プリンタは、１個の対応情報を用いて、サーバから複数の対象データファイルを取得し得る。これにより、端末装置は、複数のデータファイルを用いた印刷をプリンタに実行させる場合に、複数のデータファイルをサーバから取得せずに済む。
【０００９】
本明細書によって開示されるサーバは、サーバ側メモリと、リスト送信部と、指定情報受信部と、サーバ側格納制御部と、取得要求受信部と、ファイル送信部と、を備える。サーバ側メモリは、複数のデータファイルを格納する。リスト送信部は、複数のファイル識別情報を含むリストを、端末装置に送信する。複数のファイル識別情報のそれぞれは、複数のデータファイルのそれぞれを識別するための情報である。指定情報受信部は、端末装置において複数の対象ファイル識別情報が指定される場合に、複数の対象ファイル識別情報が指定されたことを示す指定情報を、端末装置から受信する。サーバ側格納制御部は、複数の対象データファイルに対応付けて、１個の対応情報をサーバ側メモリに格納させる。複数の対象データファイルは、リストに含まれる複数のファイル識別情報の中から端末装置によって指定済みの複数の対象ファイル識別情報によって識別されるデータファイルである。取得要求受信部は、プリンタから１個の対応情報に関連するファイル取得要求を受信する。ファイル送信部は、受信済みのファイル取得要求に応じて、１個の対応情報に対応付けられている複数の対象データファイルを用いて得られる複数の印刷データをプリンタに送信する。
【００１０】
上記の技術では、端末装置において複数の対象ファイル識別情報が指定される場合に、サーバは、指定済みの複数の対象ファイル識別情報によって識別される複数の対象データファイルにそれぞれ対応付けて、１個の対応情報を格納する。この結果、サーバは、プリンタから１個の対応情報に関連するファイル取得要求が受信される場合に、１個の対応情報に対応付けられている複数の対象データファイルを、プリンタに送信することができる。このため、端末装置が、複数のデータファイルをサーバから取得せずに、プリンタに印刷を実行させ得る。
【００１１】
本明細書によって開示されるプリンタは、印刷実行部を有する。プリンタは、印刷要求受信部と、印刷データ受信部と、印刷制御部と、を備える。印刷要求受信部は、１個の第１の対応情報を含む印刷要求を、端末装置から受信する。印刷データ受信部は、印刷要求が受信され、かつ、受信済みの１個の第１の対応情報と、サーバにおいて印刷対象の複数の対象データファイルに対応付けられている１個の第２の対応情報と、が一致する場合に、１個の第２の対応情報に対応付けられている複数の対象データファイルを用いて得られる複数の印刷データを、サーバから受信する。複数の対象データファイルは、サーバに格納されている複数のデータファイルのうちの一部のデータファイルである。印刷制御部は、受信済みの複数の印刷データを用いた印刷を、印刷実行部に実行させる。
【００１２】
上記の技術では、端末装置から受信される第１の対応情報と、サーバにおいて複数の対象データファイルに対応付けられている第２の対応情報と、が一致する場合、第２の対応情報に対応付けられている複数の対象データファイルを、サーバから受信する。この構成によれば、プリンタは、端末装置によって指定された複数の対象ファイル識別情報を、サーバから適切に受信することができる。このため、端末装置が、複数のデータファイルをサーバから取得せずに、プリンタに印刷を実行させることができる。
【００１３】
上記のいずれかの装置（即ち端末装置又はプリンタ）を実現するための制御方法、コンピュータプログラム、及び、当該コンピュータプログラムを格納するコンピュータ読取可能記録媒体も、新規で有用である。また、上記の端末装置及びプリンタ（即ち実在プリンタ）を備える通信システム、及び、上記の端末装置、プリンタ（即ち実在プリンタ）及びサーバを備える通信システムも、新規で有用である。
【図面の簡単な説明】
【００１４】
【図１】通信システムの構成を示す。
【図２】登録プロセスのシーケンス図を示す。
【図３】サブミットプロセスのシーケンス図を示す。
【図４】第１実施例の印刷対象ジョブ指示プロセスのシーケンス図を示す。
【図５】印刷プロセスのシーケンス図を示す。
【図６】第２実施例の印刷対象ジョブ指示プロセスのシーケンス図を示す。
【図７】第３実施例の印刷対象ジョブ指示プロセスのシーケンス図を示す。
【図８】変形例のジョブリストを示す。
【発明を実施するための形態】
【００１５】
（第１実施例）
図１に示されるように、通信システム２は、携帯端末１０，５０と、印刷仲介サーバ１００と、プリンタ２００と、を備える。携帯端末１０と印刷仲介サーバ１００とは、インターネットを介して、相互に通信可能である。同様に、携帯端末５０と印刷仲介サーバ１００とは、インターネットを介して、相互に通信可能である。プリンタ２００と印刷仲介サーバ１００とは、インターネットを介して、相互に通信可能である。
【００１６】
（携帯端末１０，５０の構成）
携帯端末１０と携帯端末５０とは、同一の構成を有する。以下では、携帯端末１０の構成を説明し、携帯端末５０の構成の説明は省略する。なお、携帯端末１０と携帯端末５０とでは、付与されているＭＡＣアドレスが異なる。
【００１７】
携帯端末１０は、例えばスマートフォンなどの携帯電話、ＰＤＡ、ノートＰＣ、タブレットＰＣ、携帯型音楽再生装置、携帯型動画再生装置等の可搬型の端末装置である。携帯端末１０は、操作部１２と、表示部１４と、ＮＦＣ（Near Field Communicationの略）インターフェース１６と、無線ＬＡＮ（LocalArea Networkの略）インターフェースの１８と、制御部２０と、を備える。各部１２〜２０は、バス線（符号省略）に接続されている。以下では、インターフェースのことを「Ｉ／Ｆ」と記載する。
【００１８】
操作部１２は、複数のキーを備える。ユーザは、操作部１２を操作することによって、様々な指示を携帯端末１０に与えることができる。表示部１４は、様々な情報を表示するためのディスプレイである。
【００１９】
ＮＦＣＩ／Ｆ１６は、いわゆる近距離無線通信のためのＮＦＣ方式に従った無線通信（以下では「ＮＦＣ通信」と呼ぶ）を実行するためのＩ／Ｆである。ＮＦＣ方式は、例えば、ＩＳＯ／ＩＥＣ２１４８１又は１８０９２の国際標準規格に基づく無線通信方式である。ＮＦＣ通信を実行するためのＩ／Ｆの種類として、ＮＦＣフォーラムデバイスと呼ばれるＩ／Ｆと、ＮＦＣフォーラムタグと呼ばれるＩ／Ｆと、が知られている。ＮＦＣＩ／Ｆ１６は、ＮＦＣフォーラムデバイスである。
【００２０】
ＮＦＣフォーラムデバイスは、Ｐ２Ｐ（Peer To Peerの略）モード、Ｒ／Ｗ（Reader/Writerの略）モード、及び、ＣＥ（Card Emulationの略）モードのうちのいずれかのモードで、選択的に動作可能なＩ／Ｆである。例えば、第１の機器のＮＦＣＩ／Ｆと、第２の機器のＮＦＣＩ／Ｆと、の両方がＰ２Ｐモードで動作する場合には、第１及び第２の機器は、情報の双方向通信を実行することができる。また、例えば、第１の機器のＮＦＣＩ／ＦがＲ／ＷモードのうちのＲｅａｄｅｒモードで動作し、かつ、第２の機器のＮＦＣＩ／ＦがＣＥモードで動作する場合には、第１の機器は、第２の機器からの情報の読み出し、即ち、第２の機器からの情報の受信を実行することができる。また、例えば、第１の機器のＮＦＣＩ／ＦがＲ／ＷモードのうちのＷｒｉｔｅｒモードで動作し、かつ、第２の機器のＮＦＣＩ／ＦがＣＥモードで動作する場合には、第１の機器は、第２の機器への情報の書き込み、即ち、第２の機器への情報の送信を実行することができる。
【００２１】
無線ＬＡＮＩ／Ｆ１８は、Ｗｉ−Ｆｉ方式の無線通信を実行するためのインターフェースである。Ｗｉ−Ｆｉ方式は、例えば、ＩＥＥＥ（The Institute of Electrical and Electronics Engineers, Inc.の略）の８０２．１１の規格又はそれに準ずる規格（例えば、８０２．１１ａ，１１ｂ，１１ｇ，１１ｎ等）に従った無線通信方式である。携帯端末１０は、無線ＬＡＮＩ／Ｆ１８を利用して、インターネットを介して、印刷仲介サーバ１００と通信可能である。
【００２２】
ＮＦＣＩ／Ｆ１６と無線ＬＡＮＩ／Ｆ１８の相違点を説明しておく。無線ＬＡＮＩ／Ｆ１８を介した無線通信の通信速度は、ＮＦＣＩ／Ｆ１６を介したＮＦＣ通信の通信速度（例えば、最大の通信速度が１００〜４２４Ｋｂｐｓ）よりも速い。また、無線ＬＡＮＩ／Ｆ１８を介した無線通信における搬送波の周波数は、ＮＦＣＩ／Ｆ１６を介したＮＦＣ通信における搬送波の周波数（例えば、１３．５６ＭＨｚ帯）とは異なる。また、例えば、ＮＦＣＩ／Ｆ１６と他の機器（例えばプリンタ２００）のＮＦＣＩ／Ｆとの間の距離が約１０ｃｍ以下である場合に、制御部２０は、ＮＦＣＩ／Ｆ１６を介して、当該他の機器とＮＦＣ通信を実行可能である。即ち、携帯端末１０が無線ＬＡＮＩ／Ｆ１８を介して他の機器と無線通信を実行可能な最大の距離は、ＮＦＣＩ／Ｆ１６を介して他の機器と無線通信を実行可能な最大の距離よりも大きい。
【００２３】
制御部２０は、ＣＰＵ２２と、メモリ２４と、を備える。ＣＰＵ２２は、メモリ２４に格納されているプログラムに従って、様々な処理を実行するプロセッサである。メモリ２４は、ＲＡＭ、ＲＯＭ、ハードディスク等によって構成される。メモリ２４は、上記のプログラムのみならず、携帯端末１０が様々な処理を実行する過程で生成又は取得される様々なデータを格納する。また、メモリ２４は、プリンタ２００に印刷を実行させるためのプリンタ用アプリケーション（以下では「プリンタアプリ」と呼ぶ）を格納している。
【００２４】
（プリンタ２００の構成）
プリンタ２００は、印刷を実行可能な携帯端末１０等の周辺機器である。プリンタ２００は、操作部２０２と、表示部２０４と、ＮＦＣＩ／Ｆ２０６と、無線ＬＡＮＩ／Ｆ２０８と、印刷実行部２１０と、制御部２２０と、を備える。各部２０２〜２２０は、バス線（符号省略）に接続されている。以下では、インターフェースのことを「Ｉ／Ｆ」と記載する。
【００２５】
操作部２０２は、複数のキーを備える。ユーザは、操作部２０２を操作することによって、様々な指示をプリンタ２００に与えることができる。表示部２０４は、様々な情報を表示するためのディスプレイである。印刷実行部２１０は、インクジェット方式、レーザ方式等の印刷機構である。ＮＦＣＩ／Ｆ２０６、無線ＬＡＮＩ／Ｆ２０８のそれぞれは、携帯端末１０のＮＦＣＩ／Ｆ１６、無線ＬＡＮＩ／Ｆ１８のそれぞれと同様である。
【００２６】
制御部２２０は、ＣＰＵ２２２と、メモリ２２４と、を備える。ＣＰＵ２２２は、メモリ２２４に格納されているプログラムに従って、様々な処理を実行するプロセッサである。メモリ２２４は、ＲＡＭ、ＲＯＭ、ハードディスク等によって構成される。メモリ２２４は、上記のプログラムのみならず、プリンタ２００が様々な処理を実行する過程で生成又は取得される様々なデータを格納する。
【００２７】
（印刷仲介サーバ１００の構成）
印刷仲介サーバ１００は、インターネット上に設置されるサーバであり、例えば、Ｇｏｏｇｌｅ（登録商標）によって提供されるＧＣＰサーバである。ただし、変形例では、印刷仲介サーバ１００は、例えば、プリンタ２００のベンダによって提供されるサーバであってもよいし、プリンタ２００のベンダとは異なる事業者によって提供されるサーバであってもよい。
【００２８】
印刷仲介サーバ１００は、例えば携帯端末１０などの外部機器と例えばプリンタ２００などのプリンタとの間で印刷の仲介を実行するためのサーバである。即ち、印刷仲介サーバ１００は、外部機器からサブミットされる画像データを変換して、プリンタが解釈可能なデータ形式を有する印刷データを生成し、当該印刷データを当該プリンタに供給する。従って、外部機器は、画像データを印刷データに変換するためのプリンタドライバを備えていなくても、印刷仲介サーバ１００に画像データをサブミットすれば、プリンタに印刷を実行させることができる。
【００２９】
印刷仲介サーバ１００は、ＬＡＮＩ／Ｆ１０８と、制御部１２０と、を備える。ＬＡＮＩ／Ｆ１０８は、インターネットを介して、携帯端末１０，５０、プリンタ２００等と、相互通信を実行するためのインターフェースである。携帯端末１０の無線ＬＡＮＩ／Ｆ１８と同様である。制御部１２０は、ＣＰＵ１２２と、メモリ１２４と、を備える。ＣＰＵ１２２は、メモリ１２４に格納されているプログラムに従って、様々な処理を実行するプロセッサである。メモリ１２４は、ＲＡＭ、ＲＯＭ、ハードディスク等によって構成される。メモリ１２４は、上記のプログラムのみならず、印刷仲介サーバ１００が様々な処理を実行する過程で生成又は取得される様々なデータを格納する。
【００３０】
（事前準備）
上述したように、例えば、携帯端末１０は、印刷仲介サーバ１００を介した印刷をプリンタ２００に実行させることができる。以下では、図２〜図４を参照して、当該印刷のための様々な処理を説明する。なお、携帯端末１０のユーザは、図２〜図４に開示されている携帯端末１０の動作を実現するために、以下の事前準備を実行しておく必要がある。
【００３１】
即ち、ユーザは、例えば、携帯端末１０を利用して、印刷仲介サーバ１００にアカウント情報を登録しておく必要がある。アカウント情報は、例えば、ユーザＩＤ、パスワード等を含む。なお、ユーザは、携帯端末１０を利用する代わりに、他の機器（例えばＰＣ等）を利用して、印刷仲介サーバ１００にアカウント情報を登録してもよい。ユーザのアカウント情報が印刷仲介サーバ１００に登録されれば、ユーザは、携帯端末１０を利用して、印刷仲介サーバ１００を介した印刷をプリンタ２００に実行させることができる。
【００３２】
（登録プロセス；図２）
続いて、図２を参照して、携帯端末１０が必要な情報を印刷仲介サーバ１００に登録するための登録プロセスについて説明する。本実施例では、ＯＡｕｔｈを利用した登録プロセスが実行される。なお、本実施例では、携帯端末１０は、無線ＬＡＮＩ／Ｆ１８を利用して、インターネットを介して、印刷仲介サーバ１００と無線通信を実行する。印刷仲介サーバ１００は、ＬＡＮＩ／Ｆ１０８を利用して、インターネットを介して、携帯端末１０と無線通信を実行する。
【００３３】
携帯端末１０のユーザは、まず、携帯端末１０にインストールされているプリンタアプリを起動し、プリンタアプリに従って表示される画面上で「登録」を示すボタンを選択する。すると、携帯端末１０のＣＰＵ２２は、プリンタアプリに予め登録されている仮想印刷条件情報を、メモリ２４から読み出す。仮想印刷条件情報は、実在プリンタ（例えばプリンタ２００）ではなく、仮想プリンタが利用可能な仮想的な印刷条件を示す情報であり、プリンタ２００のベンダによって予め決められた情報である。プリンタアプリには、仮想印刷条件情報が予め登録されており、仮想印刷条件情報は、例えばプリンタ２００などの実在プリンタから取得されることなく、メモリ２４に予め記憶されている。
【００３４】
仮想的な印刷条件は、例えば、画像が印刷されるべき印刷用紙のサイズ（即ち用紙サイズ）、両面印刷の実行の有無、例えばモノクロ印刷、カラー印刷などの色数等を含む。本実施例では、予め決められている仮想的な印刷条件は、用紙サイズとして「Ａ４」及び「Ｂ５」を含み、両面印刷の実行の有無として「無」を含み、色数として「モノクロ印刷」及び「カラー印刷」を含む。仮想的な印刷条件は、さらに、印刷向き（例えば、ランドスケープ印刷、ポートレート印刷）等の他の条件を含んでいてもよい。
【００３５】
次いで、ＣＰＵ２２は、携帯端末１０のプロキシＩＤ（即ち携帯端末１０を識別するためのＩＤ）をメモリ２４から読み出す。そして、ＣＰＵ２２は、仮想印刷条件情報（以下では、単に「印刷条件情報」と呼ぶ）とプロキシＩＤとを含む登録要求３００を、印刷仲介サーバ１００に送信する。なお、印刷仲介サーバ１００のＵＲＬ（即ち登録要求３００の送信先のＵＲＬ）は、プリンタアプリに予め登録されている。以下でも、特に説明しない限り、要求の送信先のＵＲＬは、プリンタアプリに予め登録されているＵＲＬであってもよい。ただし、要求の送信先のＵＲＬは、当該要求の送信前に印刷仲介サーバ１００から取得されたＵＲＬであってもよい。
【００３６】
印刷仲介サーバ１００のＣＰＵ１２２は、携帯端末１０から登録要求３００を受信すると、登録要求３００に含まれるプロキシＩＤを利用して、登録対象のプリンタを識別するためのプリンタＩＤを生成する。携帯端末１０が登録対象のプリンタとして例えばプリンタ２００等の実在プリンタを指定しているわけではないので（即ち、登録要求３００が、実在プリンタの印刷条件情報、実在プリンタのプロキシＩＤ等を含んでいないので）、印刷仲介サーバ１００によって生成されるプリンタＩＤは、仮想プリンタを識別するためのＩＤである。
【００３７】
ＣＰＵ１２２は、生成済みの仮想プリンタのプリンタＩＤと、登録要求３００に含まれる印刷条件情報と、を関連付けて記憶する。図２において、印刷仲介サーバ１００に対応する破線の右側のボックスは、メモリ１２４内において、当該ボックス内の各情報が関連付けられている様子を示す。図３以降でも同様である。
【００３８】
次いで、ＣＰＵ１２２は、生成済みのプリンタＩＤと、後述のログイン画面データ３１２の所在を示すログイン用ＵＲＬと、を含むレスポンス３０２を、携帯端末１０に送信する。
【００３９】
携帯端末１０のＣＰＵ２２は、印刷仲介サーバ１００からレスポンス３０２を受信すると、レスポンス３０２に含まれるプリンタＩＤをメモリ２４に記憶させる。次いで、ＣＰＵ２２は、レスポンス３０２に含まれるログイン用ＵＲＬを送信先に指定して、アクセス要求３１０を印刷仲介サーバ１００に送信する。
【００４０】
印刷仲介サーバ１００のＣＰＵ１２２は、携帯端末１０からアクセス要求３１０を受信すると、ログイン画面データ３１２を携帯端末１０に送信する。ログイン画面データ３１２は、アカウント情報（即ちユーザＩＤ、パスワード等）を入力するためのログイン画面を表わすデータである。
【００４１】
携帯端末１０のＣＰＵ２２は印刷仲介サーバ１００からログイン画面データ３１２を受信すると、ログイン画面データ３１２によって表わされるログイン画面を表示部１４に表示させる。ユーザは、操作部１２を利用して、上記の事前準備において印刷仲介サーバ１００に登録されたアカウント情報を、携帯端末１０に入力する。この場合、ＣＰＵ２２は、入力済みのアカウント情報を含むログイン要求３１４を、印刷仲介サーバ１００に送信する。
【００４２】
なお、上記の例では、アカウント情報がユーザによって携帯端末１０に入力される様子を説明したが、変形例では、例えば、携帯端末１０を利用して上記の事前準備が実行された場合には、携帯端末１０のメモリ２４は、アカウント情報を記憶していてもよい。この場合、携帯端末１０のＣＰＵ２２は、アカウント情報の入力をユーザに実行させずに、メモリ２４からアカウント情報を読み出して、アカウント情報を含むログイン要求３１４を印刷仲介サーバ１００に送信してもよい。なお、図３以降のプロセスにおいて、携帯端末１０から印刷仲介サーバ１００にログイン要求が送信される状況でも、本変形例が採用されてもよい。
【００４３】
印刷仲介サーバ１００のＣＰＵ１２２は、携帯端末１０からログイン要求３１４を受信すると、ログイン要求３１４に含まれるアカウント情報の認証を実行する。具体的に言うと、ＣＰＵ１２２は、ログイン要求３１４に含まれるアカウント情報が、印刷仲介サーバ１００に登録済みであるのか否かを判断する。ＣＰＵ１２２は、アカウント情報が登録済みでないと判断する場合、即ち、アカウント情報の認証が失敗する場合には、図示省略しているが、ログイン失敗通知を携帯端末１０に送信する。この場合、後の処理が実行されることなく、登録プロセスが終了する。なお、後述する各プロセスにおいても同様に、当該プロセスにおいて、印刷仲介サーバ１００においてアカウント情報の認証が失敗する場合には、アカウント情報の送信元のデバイス（例えば携帯端末１０）に、ログイン失敗通知を送信することによって、当該プロセスが終了する。
【００４４】
一方において、ＣＰＵ１２２は、アカウント情報が登録済みであると判断する場合、即ち、アカウント情報の認証が成功する場合には、ユニークな文字列であるトークンを生成する。トークンは、後の処理（例えば図３のサブミットプロセス）で利用される認証のための情報である。以下では、ここで生成されるトークンのことを「ＡＴ（Authentication（もしくはAccess） Tokenの略）」と呼ぶ。
【００４５】
次いで、ＣＰＵ１２２は、認証が成功したアカウント情報と、仮想プリンタのプリンタＩＤと、仮想印刷条件情報と、生成済みのＡＴと、を関連付けて記憶する。そして、ＣＰＵ１２２は、生成済みのＡＴを含むログイン成功通知３１６を携帯端末１０に送信する。
【００４６】
携帯端末１０のＣＰＵ２２は、印刷仲介サーバ１００からログイン成功通知３１６を受信すると、ログイン成功通知３１６に含まれるＡＴをメモリ２４に記憶させる。これにより、登録プロセスが終了する。
【００４７】
上述したように、登録プロセスでは、実在プリンタ（例えばプリンタ２００）のプリンタＩＤ及び印刷条件情報を印刷仲介サーバ１００に登録するのではなく、仮想プリンタのプリンタＩＤ及び印刷条件情報を印刷仲介サーバ１００に登録する手法を採用している。即ち、携帯端末１０は、登録要求３００を印刷仲介サーバ１００に送信して、仮想プリンタのプリンタＩＤ及び印刷条件情報を印刷仲介サーバ１００に登録する。このために、ユーザは、仮想のプリンタＩＤ及び印刷条件情報（さらにはＡＴ）を印刷仲介サーバ１００に登録するために、印刷仲介サーバ１００との通信をプリンタ２００に実行させずに済む。
【００４８】
（サブミットプロセス；図３）
続いて、図３を参照して、携帯端末１０が印刷対象の画像を表わす画像データを印刷仲介サーバ１００にサブミットするためのサブミットプロセスについて説明する。サブミットプロセスでは、携帯端末１０のユーザは、プリンタ２００の近くに存在しなくてもよい。例えば、ユーザは、外出先で携帯端末１０によって撮影された画像を表わす画像データを印刷仲介サーバ１００にサブミットすることができる。
【００４９】
携帯端末１０のユーザは、画像データを印刷仲介サーバ１００にサブミットすることを望む場合に、プリンタアプリを起動する。さらに、ユーザは、プリンタアプリに従って表示される画面上で「サブミット」を示すボタンを選択し、携帯端末１０のメモリ２４に記憶されている画像ファイルを指定する。なお、画像ファイルは、写真、グラフィック、文書のうちの少なくとも１個の画像を表すデータを含んでいれば、どのような形式のデータであってもよく、例えば、ＪＰＥＧ（Joint Photographic Experts Groupの略）等のビットマップ形式のデータであってもよいし、ベクタ形式のデータであってもよいし、テキスト形式のデータであってもよいし、その他の形式のデータであってもよい。ユーザは、複数の画像ファイルを指定することができる。
【００５０】
画像ファイルが選択されると、携帯端末１０のＣＰＵ２２は、印刷設定選択画面を表示部１４に表示させる。具体的に言うと、ＣＰＵ２２は、プリンタアプリに予め登録されている仮想印刷条件情報をメモリ２４から読み出して、仮想の印刷条件情報によって示される仮想的な印刷条件の中から、画像の印刷のための印刷設定をユーザに選択させるための印刷設定選択画面を表示部１４に表示させる。
【００５１】
上述したように、仮想的な印刷条件は、用紙サイズとして「Ａ４」及び「Ｂ５」を含み、両面印刷の実行の有無として「無」を含み、色数として「モノクロ印刷」及び「カラー印刷」を含む。従って、印刷設定選択画面は、用紙サイズとして「Ａ４」又は「Ｂ５」を選択可能であると共に、色数として「モノクロ印刷」又は「カラー印刷」のうちのどちらかを選択可能である態様を有する。
【００５２】
ユーザは、印刷設定選択画面を見ながら、操作部１２を利用して、用紙サイズ（例えば「Ａ４」）及び色数（例えば「カラー」）を選択することによって、印刷設定を選択する。両面印刷の有無（即ち「無」）は、選択肢がないので、自動的に印刷設定に組み込まれる。
【００５３】
詳しくは後述するが、印刷仲介サーバ１００では、選択済みの印刷設定に従って印刷データが生成されて、当該印刷データがプリンタ２００に供給される（図５参照）。上述したように、選択済みの印刷設定は、仮想的な印刷条件の中から選択されたものであり、プリンタ２００が実際に利用可能な印刷条件の中から選択されたものではない。即ち、プリンタ２００が選択済みの印刷設定に従った印刷を実行可能であるという保証がない。ただし、本実施例では、プリンタ２００のベンダは、通常のプリンタ（例えば当該ベンダが販売している全てのプリンタ）が利用可能な印刷条件を仮想的な印刷条件として予め決定して、そのような仮想的な印刷条件を示す仮想印刷条件情報を含むプリンタアプリを提供する。従って、本実施例では、プリンタ２００は、選択済みの印刷設定に従った印刷を適切に実行することができる。
【００５４】
携帯端末１０のＣＰＵ２２は、ユーザによって印刷設定が選択されると、受信済みのＡＴと、メモリ２４内の仮想プリンタのプリンタＩＤと、ユーザによって指定された画像ファイル４０４，４０６と、ユーザによって指定された選択された印刷設定を示す印刷設定情報４１０と、を含むサブミット要求４００を、印刷仲介サーバ１００に送信する。
【００５５】
印刷仲介サーバ１００のＣＰＵ１２２は、携帯端末１０からサブミット要求４００を受信すると、サブミット要求４００に含まれるＡＴの認証を実行する。ＣＰＵ１２２は、ＡＴを記憶していると判断する場合（即ち、ＡＴの認証が成功する場合）に、サブミット要求４００に含まれる各情報を対応付けて記憶する。これにより、複数の画像ファイル４０４，４０６のそれぞれについて、ジョブ情報がメモリ１２４に格納される。複数のジョブ情報４１２，４１４のそれぞれは、画像ファイル４０４，４０６と、印刷設定情報４１０と、を含む。また、ＣＰＵ１２２は、複数のジョブ情報４１２，４１４のそれぞれについて、当該ジョブ情報を識別するジョブＩＤ（即ちＪｏｂ−Ａ，Ｊｏｂ−Ｂ）を生成し、ジョブ情報４１２，４１４に格納する。この結果、ジョブＩＤと画像ファイル４０４，４０６とが対応付けて、メモリ１２４に格納される。さらに、ＣＰＵ１２２は、サブミット要求４００を受信すると、ジョブリスト４２０を生成する。
【００５６】
具体的には、ＣＰＵ１２２は、サブミット要求４００に含まれる画像ファイル４０４，４０６のそれぞれを、メモリ１２４に格納すると、画像ファイル４０４，４０６が格納されているインターネット上の位置を示すＵＲＬ（即ち、ＵＲＬ−Ａ，ＵＲＬ−Ｂ）を特定する。次いで、ＣＰＵ１２２は、画像ファイル４０４，４０６のそれぞれについて、特定済みのＵＲＬと、生成済みのジョブＩＤと、を対応付けてジョブリスト４２０に格納する。次いで、ＣＰＵ１２２は、ジョブ登録通知４３０を携帯端末１０に送信する。
【００５７】
なお、変形例では、携帯端末１０のＣＰＵ２２は、指定済みの画像ファイル４０４，４０６を別々に、印刷仲介サーバ１００に送信してもよい。この場合、印刷仲介サーバ１００のＣＰＵ１２２は、画像ファイルが受信される毎に、画像ファイルの格納、ジョブリスト４２０への登録、ジョブ登録通知の送信を、実行してもよい。
【００５８】
（印刷対象ジョブ指定プロセス；図４）
続いて、図４を参照して、携帯端末１０がプリンタ２００に印刷を実行させる対象のジョブ（以下では「印刷対象ジョブ」と呼ぶ）を指定する印刷対象ジョブ指定プロセスについて説明する。印刷対象ジョブ指定プロセスでは、サブミットプロセスと同様に、携帯端末１０のユーザは、プリンタ２００の近くに存在しなくてもよい。ユーザは、外出先で画像ファイルを印刷仲介サーバ１００にサブミットした後に、印刷対象ジョブ指定プロセスを実行することができる。
【００５９】
印刷仲介サーバ１００では、アカウント情報と、プリンタＩＤと、印刷条件情報と、ＡＴと、ジョブリスト４２０と、複数のジョブ情報４１２，４１４と、が対応付けられる。
【００６０】
携帯端末１０のユーザは、印刷をプリンタ２００に実行させることを望む場合に、プリンタアプリを起動し、プリンタアプリに従って表示される画面上で「選択」を示すボタンを選択する。この場合、携帯端末１０のＣＰＵ２２は、プリンタアプリに従って、図４に示される各処理を実行する。
【００６１】
ＣＰＵ２２は、メモリ２４内のＡＴと、メモリ２４内のプリンタＩＤと、を含むジョブリスト要求５００を、印刷仲介サーバ１００に送信する。
【００６２】
印刷仲介サーバ１００のＣＰＵ１２２は、携帯端末１０からジョブリスト要求５００を受信すると、ジョブリスト要求５００に含まれるＡＴの認証を実行する。ＣＰＵ１２２は、ＡＴを記憶していると判断する場合（即ち、ＡＴの認証が成功する場合）に、ジョブリスト要求５００に含まれるＡＴ及びプリンタＩＤに対応付けて記憶されているジョブリスト４２０を含むレスポンス５０２を、携帯端末１０に送信する。
【００６３】
携帯端末１０のＣＰＵ２２は、ジョブリスト４２０を受信すると、受信済みのジョブリスト４２０に含まれる複数のジョブＩＤを、表示部１４に表示させる。ユーザは、操作部１２を操作する（即ちジョブＩＤ選択操作を実行する）ことによって、ジョブリスト４２０に登録されている複数のジョブＩＤの中から、１個以上のジョブＩＤを選択することができる。ＣＰＵ２２は、ユーザによってジョブＩＤが選択されると、選択されたジョブＩＤをジョブリスト４２０において指定する（即ち、ジョブリスト４２０から抽出する）。本実施例では、ユーザによって、複数のジョブＩＤ「Ｊｏｂ−Ａ」、「Ｊｏｂ−Ｂ」が選択された場合を主に説明する。
【００６４】
次いで、ＣＰＵ２２は、グループＩＤを生成する。具体的には、ＣＰＵ２２は、携帯端末１０に予め登録されているユーザ名（例えば「Ｂｒｏｔｈｅｒ」）と、携帯端末１０のＭＡＣアドレス（例えば「００：１２：３４：５６：ＢＢ」）と、携帯端末１０で計時されている現在時刻と、を組み合わせて、グループＩＤを生成する。例えば、携帯端末１０で計時されている現在時刻が、２０１４年９月１日１４時５０分である場合、ＣＰＵ２２は、グループＩＤとして、「Ｂｒｏｔｈｅｒ  ００：１２：３４：５６：ＢＢ  １４０９０１１４５０」を生成する。そして、ＣＰＵ２２は、生成済みのグループＩＤをメモリ２４に格納する。
【００６５】
次いで、ＣＰＵ２２は、選択結果５０４を印刷仲介サーバ１００に送信する。選択結果５０４は、メモリ２４内のＡＴ、プリンタＩＤ、及び、グループＩＤと、指定済みの複数のジョブＩＤ（例えばＪｏｂ−Ａ、Ｊｏｂ−Ｂ）と、を、印刷仲介サーバ１００に送信する。
【００６６】
印刷仲介サーバ１００のＣＰＵ１２２は、携帯端末１０から選択結果５０４を受信すると、選択結果５０４に含まれるＡＴの認証を実行する。ＣＰＵ１２２は、ＡＴを記憶していると判断する場合（即ち、ＡＴの認証が成功する場合）に、選択結果５０４に含まれる１個のグループＩＤを、選択結果５０３に含まれる複数のジョブＩＤと一致するジョブＩＤのそれぞれに対応付けて、ジョブリスト４２０に登録する。この結果、１個のグループＩＤは、複数のジョブＩＤに対応付けられている複数の画像ファイル４０４，４０６のそれぞれに対応付けて、メモリ１２４に格納される。
【００６７】
本実施例では、携帯端末１０のＣＰＵ２２は、１個以上のジョブＩＤが指定される場合に、グループＩＤを生成する。しかしながら、ＣＰＵ２２は、１個のジョブＩＤが指定される場合に、グループＩＤを生成しなくてもよい。この場合、ＣＰＵ２２は、グループＩＤが生成される場合に、グループＩＤをメモリ２４に格納し、かつ、グループＩＤを含む選択結果５０４を、印刷仲介サーバ１００に送信し、グループＩＤが生成されない場合に、グループＩＤに代えて、指定済みの１個のジョブＩＤをメモリ２４に格納し、かつ、グループＩＤを含まない選択結果５０４を、印刷仲介サーバ１００に送信してもよい。印刷仲介サーバ１００のＣＰＵ１２２は、グループＩＤが受信される場合に、グループＩＤをジョブリスト４２０に登録し、グループＩＤが受信されない場合に、グループＩＤをジョブリスト４２０に登録しなくてもよい。
【００６８】
印刷対象ジョブ指定プロセスによって、携帯端末１０で指定された複数のジョブＩＤに対応付けて、１個のグループＩＤがジョブリスト４２０に登録される。携帯端末１０がグループＩＤを生成し、印刷仲介サーバ１００に送信するため、携帯端末１０と印刷仲介サーバ１００とは、共通する１個のグループＩＤを共有することができる。
【００６９】
なお、携帯端末５０のユーザは、携帯端末５０に、印刷対象ジョブ指定プロセスを実行させることによって、例えば、ジョブＩＤがＪｏｂ−Ｘのジョブ情報を、指定することができる。この場合、携帯端末５０は、携帯端末１０と同様に、携帯端末５０に予め登録されているユーザ名（例えば「Ｓｕｚｕｋｉ」）と、携帯端末５０のＭＡＣアドレス（例えば「００：１２：３４：７８：ＣＣ」）と、携帯端末１０で計時されている現在時刻を表す時刻情報（例えば「１４０９０１１２３０」）と、を組み合わせて、グループＩＤ「Ｓｕｚｕｋｉ  ００：１２：３４：７８：ＣＣ  １４０９０１１２３０」を生成する。そして、携帯端末５０は、携帯端末１０と同様に、印刷仲介サーバ１００のジョブリスト４２０のジョブＩＤ「Ｊｏｂ−Ｘ」に対応付けて、生成済みのグループＩＤを登録させる。
【００７０】
（印刷プロセス；図５）
続いて、図５を参照して、携帯端末１０が、印刷対象ジョブ指定プロセスにおいて指定された複数のジョブＩＤによって識別される複数のジョブ情報に従った印刷をプリンタ２００に実行させるための印刷プロセスについて説明する。印刷プロセスでは、携帯端末１０のユーザは、プリンタ２００の近くに存在しなくてはならない。後述するように、携帯端末１０及びプリンタ２００がＮＦＣ通信を実行しなければならないからである。
【００７１】
印刷仲介サーバ１００では、アカウント情報と、プリンタＩＤと、印刷条件情報と、ＡＴと、ジョブリスト４２０と、複数のジョブ情報４１２，４１４・・・と、が対応付けられる。
【００７２】
携帯端末１０のユーザは、ジョブ情報に従った印刷をプリンタ２００に実行させることを望む場合に、プリンタアプリを起動し、プリンタアプリに従って表示される画面上で「印刷」を示すボタンを選択する。この場合、携帯端末１０のＣＰＵ２２は、まず、メモリ２４からＡＴ、プリンタＩＤ及びグループＩＤを読み出す。
【００７３】
次いで、ＣＰＵ２２は、携帯端末１０をプリンタ２００に近づけることを促すメッセージを表示部１４に表示させる。この結果、携帯端末１０のユーザは、携帯端末１０をプリンタ２００に近づける。プリンタ２００のＮＦＣＩ／Ｆ２１６と携帯端末１０のＮＦＣＩ／Ｆ１６との間の距離（以下では「デバイス間距離」と呼ぶ）が、所定の距離（例えば１０ｃｍ）より大きい状態から、上記の所定の距離以下である状態になると、ＮＦＣＩ／Ｆ２１６とＮＦＣＩ／Ｆ１６との間にＮＦＣ方式の接続であるＮＦＣ接続６００が確立される。
【００７４】
ＮＦＣ接続６００が確立されると、ＣＰＵ２２は、ＮＦＣＩ／Ｆ１６をＰ２Ｐモードで動作することによって、メモリ２４から読み出されたＡＴ、プリンタＩＤ及びグループＩＤを含む印刷要求６０２を、プリンタ２００に送信する。
【００７５】
プリンタ２００のＣＰＵ２２２は、ＮＦＣＩ／Ｆ２１６をＰ２Ｐモードで動作することによって、携帯端末１０から送信されるＡＴ、プリンタＩＤ及びグループＩＤを受信する。次いで、ＣＰＵ２２２は、グループＩＤを用いて、印刷を実行するか否かを判断する。具体的には、ＣＰＵ２２２は、まず、受信済みのグループＩＤに含まれる時刻情報（即ち１４０９０１１４５０）を抽出する。なお、メモリ２２４には、グループＩＤから時刻情報を抽出するためのプログラム（例えば、グループＩＤのうち、最後の文字から１０文字目までを抽出することを指示するプログラム）が予め格納されている。次いで、ＣＰＵ２２２は、ＣＰＵ２２２で計時されている現在の時刻が、抽出済みの時刻情報によって表される時刻よりも所定期間（例えば２時間）以上経過している場合、印刷を実行しないと判断する。この場合、ＣＰＵ２２２は、表示部２０４に、印刷を実行しないことを示すエラーを表示させる。
【００７６】
一方、ＣＰＵ２２２は、ＣＰＵ２２２で計時されている現在の時刻が、抽出済みの時刻情報によって表される時刻よりも所定期間を経過していない場合、印刷を実行すると判断する。この場合、ＣＰＵ２２２は、無線ＬＡＮＩ／Ｆ２１８を介して、受信済みのＡＴと、受信済みのプリンタＩＤと、を含むジョブリスト要求６０４を、印刷仲介サーバ１００に送信する。なお、本実施例では、プリンタ２００は、無線ＬＡＮＩ／Ｆ２１８を利用して、インターネットを介して、印刷仲介サーバ１００と無線通信を実行する。印刷仲介サーバ１００は、ＬＡＮＩ／Ｆ１０８を利用して、インターネットを介して、プリンタ２００と無線通信を実行する。
【００７７】
印刷仲介サーバ１００のＣＰＵ１２２は、プリンタ２００からジョブリスト要求６０４を受信すると、ジョブリスト要求６０４に含まれるＡＴの認証を実行する。ＣＰＵ１２２は、ＡＴを記憶していると判断する場合（即ち、ＡＴの認証が成功する場合）に、ＬＡＮＩ／Ｆ１０８を介して、ジョブリスト要求６０４に含まれるＡＴ及びプリンタＩＤに対応付けて記憶されているジョブリスト４２０を含むレスポンス６０６を、プリンタ２００に送信する。
【００７８】
プリンタ２００のＣＰＵ２２２は、印刷仲介サーバ１００からレスポンス６０６を受信すると、ジョブＩＤ抽出処理を実行する。具体的には、ＣＰＵ２２２は、レスポンス６０６に含まれるジョブリスト４２０に登録されている複数のジョブＩＤのうち、受信済みの印刷要求６０２に含まれている１個のグループＩＤに対応する複数のジョブＩＤ（即ちＪｏｂ−Ａ，Ｊｏｂ−Ｂ）を、ジョブリスト４２０から抽出する。次いで、抽出済みの１個以上のジョブＩＤに対応付けられているＵＲＬ（即ちＵＲＬ−Ａ、ＵＲＬ−Ｂ）を特定する。次いで、ＣＰＵ２２２は、無線ＬＡＮＩ／Ｆ２１８を介して、特定済みの複数のＵＲＬのうちの１個のＵＲＬであるＵＲＬ−Ａを含む印刷データ要求６０８を、印刷仲介サーバ１００に送信する。印刷データ要求６０８は、プリンタ２００が解釈可能なデータ形式を示す情報（図示省略）も含む。当該データ形式は、例えば、ＰＤＦ（Portable Document Formatの略）である。
【００７９】
印刷仲介サーバ１００のＣＰＵ１２２は、印刷データ要求６０８を受信すると、印刷データ要求６０８に含まれるＵＲＬ−Ａによって示される位置に格納されているジョブ情報、即ちジョブ情報４１２を特定する。次いで、ＣＰＵ１２２は、特定済みのジョブ情報４１２に含まれる印刷設定情報４１０と、印刷データ要求６０８に含まれるデータ形式を示す情報と、に従って、ジョブ情報４１２に含まれる画像ファイル４０４のデータを変換して、印刷データＤ１を生成する。例えば、印刷設定情報４１０が、用紙サイズとして「Ａ４」を含み、両面印刷の有無として「無」を含み、色数として「カラー」を含み、印刷データ要求６０８がＰＤＦ形式を示す情報を含む場合には、印刷仲介サーバ１００は、Ａ４の印刷用紙の片面のみにカラー画像の印刷を実行するためのＰＤＦ形式の印刷データＤ１を生成する。次いで、ＣＰＵ１２２は、生成済みの印刷データＤ１を含むレスポンス６１０を、プリンタ２００に送信する。
【００８０】
プリンタ２００のＣＰＵ２２２は、レスポンス６１０を受信すると、レスポンス６１０に含まれる印刷データＤ１を印刷実行部２２０に供給する。この結果、印刷実行部２２０は、印刷データＤ１を用いた印刷を実行する。具体的には、印刷実行部２２０は、印刷データＤ１によって表わされる画像を印刷用紙に印刷する。これにより、携帯端末１０のユーザは、印刷済みの印刷用紙を取得することができる。ＣＰＵ２２２は、印刷データＤ１を用いた印刷処理が完了すると、特定済みの複数のＵＲＬのうち、特定済みの複数のＵＲＬのうち、未だ印刷仲介サーバ１００に送信されていないＵＲＬが存在するか否かを判断する。そして、ＣＰＵ２２２は、未だ印刷仲介サーバ１００に送信されていないＵＲＬが存在すると判断される場合に、未だ印刷仲介サーバ１００に送信されていないＵＲＬ、即ち、ＵＲＬ−Ｂと、プリンタ２００が解釈可能なデータ形式を示す情報と、を含む印刷データ要求６１２を、印刷仲介サーバ１００に送信する。
【００８１】
印刷仲介サーバ１００のＣＰＵ１２２は、印刷データ要求６０８を受信する場合と同様に、印刷データ要求６１２を受信すると、ジョブ情報４１４を特定し、特定済みのジョブ情報４１４に含まれる印刷設定情報４１０と、印刷データ要求６１２に含まれるデータ形式を示す情報と、に従って、ジョブ情報４１４に含まれる画像ファイル４０６のデータを変換して、印刷データＤ２を生成する。次いで、ＰＣＵ１２２は、生成済みの印刷データＤ２を含むレスポンス６１４を、プリンタ２００に送信する。
【００８２】
プリンタ２００のＣＰＵ２２２は、レスポンス６１４を受信すると、レスポンス６１４に含まれる印刷データＤ２を印刷実行部２２０に供給する。この結果、印刷実行部２２０は、印刷データＤ１と同様に、印刷データＤ２を用いた印刷を実行する。ＣＰＵ２２２は、印刷データＤ２を用いた印刷処理が完了すると、特定済みの複数のＵＲＬのうち、未だ印刷仲介サーバ１００に送信されていないＵＲＬが存在するか否かを判断し、存在しないと判断される場合に、グループＩＤを含む印刷完了通知６１６を、印刷仲介サーバ１００に送信する。
【００８３】
印刷仲介サーバ１００のＣＰＵ１２２は、無線ＬＡＮＩ／Ｆ１１８を利用して、プリンタ２００から印刷完了通知６１６を受信すると、印刷完了通知６１６に含まれるグループＩＤに対応付けてジョブリスト４２０に登録されているジョブＩＤによって特定されるジョブ情報４１２，４１４を、メモリ１２４から消去する。また、ＣＰＵ１２２は、印刷完了通知６１６に含まれるグループＩＤに一致するグループＩＤ及び当該グループＩＤに対応付けられているジョブＩＤを、ジョブリスト４２０から消去する。この構成によれば、印刷仲介サーバ１００は、グループＩＤを適切なタイミングで消去することができる。なお、印刷仲介サーバ１００は、グループＩＤをジョブリスト４２０に登録してから、例えば１日等の所定期間が経過しても、ジョブリスト４２０にグループＩＤが登録されている場合、当該グループＩＤを消去する。
【００８４】
なお、グループＩＤに代えて１個のジョブＩＤが、携帯端末１０のメモリ２４に格納される変形例では、携帯端末１０のＣＰＵ２２は、グループＩＤに代えて、格納済みの１個のジョブＩＤを含む印刷要求を、プリンタ２００に送信してもよい。この場合、プリンタ２００のＣＰＵ２２２は、印刷仲介サーバ１００から受信済みのジョブリスト４２０から、１個のジョブＩＤに対応付けられているＵＲＬを特定し、当該ＵＲＬに格納されているジョブ情報に含まれる画像ファイルから得られる印刷データを、印刷仲介サーバ１００から受信してもよい。
【００８５】
（実施例の効果）
本実施例では、図４の印刷対象ジョブ指定プロセスに示されるように、携帯端末１０が、ユーザに選択された複数のジョブＩＤを指定すると、携帯端末１０は、１個のグループＩＤを生成する。そして、１個のグループＩＤが生成されると、指定済みの複数のジョブＩＤとともに、印刷仲介サーバ１００に送信する。印刷仲介サーバ１００は、１個のグループＩＤを、指定済みの複数のジョブＩＤに対応付けて、ジョブリスト４２０に登録する。この構成によれば、携帯端末１０は、図５の印刷プロセスにおいて、生成済みのグループＩＤをプリンタ２００に送信することによって、プリンタ２００は、ユーザによって選択された複数のジョブＩＤに対応する印刷データＤ１，Ｄ２を、印刷仲介サーバ１００から取得することができる。
【００８６】
この結果、携帯端末１０は、ユーザによって選択された複数のジョブＩＤに対応する印刷データＤ１，Ｄ２を、印刷仲介サーバ１００から取得せずに、プリンタ２００に印刷データＤ１，Ｄ２を用いた印刷を実行させることができる。
【００８７】
また、携帯端末１０は、図５の印刷プロセスにおいて、生成済みのグループＩＤをプリンタ２００に送信すればよく、複数のジョブＩＤ全体や、複数のジョブＩＤに対応する印刷データＤ１，Ｄ２をプリンタ２００に送信せずに済む。これにより、携帯端末１０からプリンタ２００に送信すべきデータのデータサイズを小さくすることができる。この結果、携帯端末１０とプリンタ２００とが、比較的に通信速度が遅いＮＦＣ方式に従った無線通信を実行しても、携帯端末１０は、早期にプリンタ２００に１個のグループＩＤを送信することができる。
【００８８】
また、携帯端末１０は、図５の印刷プロセスにおいて、ＡＴをプリンタ２００に送信する。この結果、プリンタ２００は、ＡＴを用いて認証を実行する印刷仲介サーバ１００から、印刷データＤ１，Ｄ２を取得することができる。
【００８９】
（対応関係）
携帯端末１０、プリンタ２００、印刷仲介サーバ１００が、それぞれ、「端末装置」、「プリンタ」、「サーバ」の一例である。ＮＦＣＩ／Ｆ１６、無線ＬＡＮＩ／Ｆ１８が、それぞれ、「第１のインターフェース」、「第２のインターフェース」の一例である。ＮＦＣ方式、ＷＦＤ方式が、それぞれ、「第１の通信方式」、「第２の通信方式」の一例である。
【００９０】
ジョブＩＤが「ファイル識別情報」の一例であり、図４の印刷対象ジョブ指定プロセスにおいて携帯端末１０に指定されるＪｏｂ−Ａ，Ｊｏｂ−Ｂが「対象ファイル識別情報」の一例であり、図４の印刷対象ジョブ指定プロセスにおいて携帯端末１０から印刷仲介サーバ１００に送信されるＪｏｂ−Ａ，Ｊｏｂ−Ｂが「指定情報」の一例である。ジョブリスト４２０が「リスト」の一例であり、画像ファイル４０４，４０６が「データファイル」の一例である。「グループＩＤ」が「１個の対応情報」の一例である。ＡＴが「認証情報」の一例である。
【００９１】
図４において、携帯端末１０が実行する処理のうち、ジョブリスト４２０を受信する処理が「リスト受信部」が実行する処理の一例であり、複数のジョブＩＤを表示部１４に表示される処理が、「表示制御部」が実行する処理の一例であり、選択済みの複数のジョブＩＤを指定する処理が「指定部」が実行する処理の一例であり、選択結果５０４を送信する処理が「指定情報送信部」及び「端末側対応情報送信部」が実行する処理の一例であり、１個のグループＩＤを生成する処理が「端末側生成部」が実行する処理の一例であり、１個のグループＩＤを格納する処理が「端末側格納制御部」が実行する処理の一例である。また、図５において、携帯端末１０が実行する処理のうち、印刷要求６０２を送信する処理が「要求送信部」が実行する処理の一例である。
【００９２】
図４において、印刷仲介サーバ１００が実行する処理のうち、ジョブリスト４２０を送信する処理が「リスト送信部」が実行する処理の一例であり、選択結果５０４を受信する処理が「指定情報受信部」が実行する処理の一例であり、グループＩＤをジョブリスト４２０に登録する処理が「サーバ側格納制御部」が実行する処理の一例であり、選択結果５０４を受信する処理が「サーバ側対応情報受信部」が実行する処理の一例である。また、図５において、印刷仲介サーバ１００が実行する処理のうち、印刷データ要求６０８を受信する処理が「取得要求受信部」が実行する処理の一例であり、レスポンス６１０を送信する処理が「ファイル送信部」が実行する処理の一例であり、グループＩＤを商況する処理が「端末側格納制御部」が実行する処理の一例である。
【００９３】
図５において、プリンタ２００が実行する処理のうち、印刷要求６０２を受信する処理が「印刷要求受信部」が実行する処理の一例であり、ジョブＩＤ抽出処理が「第１の判断部」が実行する処理の一例であり、レスポンス６０６を受信する処理が「プリンタ側対応情報受信部」が実行する処理の一例であり、レスポンス６１０を受信する処理が「対象データファイル受信部」が実行する処理の一例であり、印刷処理を実行する処理が「印刷制御部」が実行する処理の一例であり、実行判断を実行する処理が「時刻特定部」及び「第２の判断部」が実行する処理の一例である。
【００９４】
（第２実施例）
図６を参照して、第１実施例と異なる点を説明する。本実施例では、印刷対象ジョブ指定プロセスが、第１実施例の印刷対象ジョブ指定プロセス（図４参照）と異なる。
【００９５】
携帯端末１０のユーザが「選択」を示すボタンを選択し、携帯端末１０のＣＰＵ２２がジョブＩＤを指定するまでに、ＣＰＵ２２及び印刷仲介サーバ１００のＣＰＵ１２２が実行する処理は、第１実施例の印刷対象ジョブ指定プロセスと同様である。
【００９６】
ＣＰＵ２２は、複数のジョブＩＤが指定されても、グループＩＤを生成しない。複数のジョブＩＤが指定されると、ＣＰＵ２２は、指定済みの複数のジョブＩＤと、メモリ２４内のＡＴ及びプリンタＩＤと、を含む選択結果７０４を、印刷仲介サーバ１００に送信する。
【００９７】
印刷仲介サーバ１００のＣＰＵ１２２は、携帯端末１０から選択結果７０４を受信すると、選択結果７０４に含まれるＡＴの認証を実行して、ＡＴの認証が成功する場合に、グループＩＤを生成する。ＣＰＵ１２２は、予め決められた手順で、グループＩＤを生成する。例えば、ＣＰＵ１２２は、任意の７文字のアルファベットで表されるグループＩＤ（例えば「ＡＢＣＤＥＦＧ」）を生成してもよい。あるいは、ＣＰＵ１２２は、第１実施例の携帯端末１０のＣＰＵ２２と同様に、ユーザＩＤ、時刻情報等を利用して、グループＩＤを生成してもよい。次いで、ＣＰＵ１２２は、生成済みのグループＩＤを、受信済みの選択結果７０４に含まれる複数のジョブＩＤ（即ちＪｏｂ−Ａ，Ｊｏｂ−Ｂ）のそれぞれに対応付けて、ジョブリスト４２０に登録する。次いで、ＣＰＵ１２２は、生成済みの１個のグループＩＤを含むレスポンス７０６を、携帯端末１０に送信する。
【００９８】
なお、変形例では、印刷仲介サーバ１００のメモリ１２４には、予め複数のグループＩＤが格納されていてもよい。ＣＰＵ１２２は、選択結果７０４を受信すると、メモリ１２４内の複数のグループＩＤのうち、ジョブリスト４２０に登録されているグループＩＤ以外の１個のグループＩＤ（例えば「ＡＢＣＤＥＦＧ」）を特定してもよい。
【００９９】
携帯端末１０のＣＰＵ２２は、印刷仲介サーバ１００から、レスポンス７０６を受信すると、受信済みのレスポンス７０６に含まれる１個のグループＩＤを、メモリ２４に格納する。
【０１００】
上記の構成によれば、携帯端末１０と印刷仲介サーバ１００とは、印刷仲介サーバ１００によって生成済みの１個のグループＩＤを共有することができる。
【０１０１】
（対応関係）
図６において、携帯端末１０が実行する処理のうち、グループＩＤを受信する処理が「端末側対応情報受信部」が実行する処理の一例である。図６において、印刷仲介サーバ１００が実行する処理のうち、グループＩＤを生成する処理が「サーバ側生成部」が実行する処理の一例であり、レスポンス７０６を送信する処理が「サーバ側対応情報送信部」が実行する処理の一例である。
【０１０２】
（第３実施例）
図７を参照して、第１実施例と異なる点を説明する。本実施例では、印刷対象ジョブ指定プロセスが、第１実施例の印刷対象ジョブ指定プロセス（図４参照）と異なる。また、ジョブリスト４２０には、グループＩＤが登録されない。
【０１０３】
携帯端末１０のユーザが「選択」を示すボタンを選択し、携帯端末１０のＣＰＵ２２がジョブＩＤを指定するまでに、ＣＰＵ２２及び印刷仲介サーバ１００のＣＰＵ１２２が実行する処理は、第１実施例の印刷対象ジョブ指定プロセスと同様である。
【０１０４】
複数のジョブＩＤが指定されても、ＣＰＵ２２は、グループＩＤを生成しない。一方、ＣＰＵ２２は、新たにジョブリスト４２０に登録すべきジョブＩＤと、ＵＲＬ、詳細にはジョブリスト４２０の項目「ＵＲＬ」に登録すべき情報と、を生成する。具体的には、ＣＰＵ２２は、ジョブＩＤとして、受信済みのジョブリスト４２０に登録されていない文字列のジョブＩＤ（例えばジョブＩＤ「Ｊｏｂ−Ｙ」）を生成する。
【０１０５】
さらに、ＣＰＵ２２は、指定済みのジョブＩＤ「Ｊｏｂ−Ａ」と、ジョブＩＤ「Ｊｏｂ−Ａ」に対応付けてジョブリスト４２０に登録されているＵＲＬ「ＵＲＬ−Ａ」と、指定済みのジョブＩＤ「Ｊｏｂ−Ｂ」と、ジョブＩＤ「Ｊｏｂ−Ｂ」に対応付けてジョブリスト４２０に登録されているＵＲＬ「ＵＲＬ−Ｂ」と、を予め決められた法則で組み合わせて、新たなＵＲＬを生成する。例えば、ＣＰＵ２２は、予め決められたジョブＩＤとＵＲＬとの間を「＿」で区切るという法則（以下では「特定法則」）に従って、ＵＲＬ「Ｊｏｂ−Ａ＿ＵＲＬ−Ａ＿Ｊｏｂ−Ｂ＿ＵＲＬ−Ｂ」を生成する。
【０１０６】
次いで、ＣＰＵ２２は、生成済みのジョブＩＤ「Ｊｏｂ−Ｙ」と、生成済みのＵＲＬ「Ｊｏｂ−Ａ＿ＵＲＬ−Ａ＿Ｊｏｂ−Ｂ＿ＵＲＬ−Ｂ」と、を、含む選択結果８０４を、印刷仲介サーバ１００に送信する。選択結果８０４は、メモリ２４内のＡＴ、プリンタＩＤを、さらに含む。
【０１０７】
印刷仲介サーバ１００のＣＰＵ１２２は、選択結果８０４を受信すると、受信済みの選択結果８０４に含まれるジョブＩＤ「Ｊｏｂ−Ｙ」と、「Ｊｏｂ−Ａ＿ＵＲＬ−Ａ＿Ｊｏｂ−Ｂ＿ＵＲＬ−Ｂ」と、対応付けて、ジョブリスト４２０に登録する。
【０１０８】
本実施例では、印刷プロセスにおいて、携帯端末１０からプリンタ２００に、生成済みのジョブＩＤ「Ｊｏｂ−Ｙ」と、生成済みのＵＲＬ「Ｊｏｂ−Ａ＿ＵＲＬ−Ａ＿Ｊｏｂ−Ｂ＿ＵＲＬ−Ｂ」と、を送信しない。プリンタ２００のメモリ２２４は、特定法則を予め格納している。そして、印刷プロセス（図５参照）において、プリンタ２００のＣＰＵ２２２は、ジョブＩＤ抽出処理に代えて、受信済みのジョブリスト４２０に含まれるＵＲＬのうち、特定法則に適合するＵＲＬを抽出する。次いで、ＣＰＵ２２２は、抽出済みのＵＲＬの中から、ジョブＩＤ「Ｊｏｂ−Ａ」、「Ｊｏｂ−Ｂ」のそれぞれについて、対応するＵＲＬ「ＵＲＬ−Ａ」、「ＵＲＬ−Ｂ」を特定する。具体的には、ＣＰＵ２２２は、抽出済みのＵＲＬの文字列のうち、ジョブリスト４２０のジョブＩＤを表す文字列の後ろに位置する２個の「＿」の間の文字列を、ＵＲＬとして特定する。なお、変形例では、ＣＰＵ２２２は、抽出済みのＵＲＬの文字列のうち、「＿」で区切られた文字列の中から、ＵＲＬに含まれる例えば「http://」等の特徴的な文字列を含む文字列を、ＵＲＬとして特定する。
【０１０９】
（対応関係）
生成済みのＵＲＬ「Ｊｏｂ−Ａ＿ＵＲＬ−Ａ＿Ｊｏｂ−Ｂ＿ＵＲＬ−Ｂ」が、「対応情報」の一例である。
【０１１０】
なお、変形例では、携帯端末１０は、図５の印刷プロセスにおいて、生成済みのジョブＩＤ「Ｊｏｂ−Ｙ」を含む印刷要求を、プリンタ２００に送信してもよい。この場合、プリンタ２００は、受信済みの印刷要求に含まれるジョブＩＤ「Ｊｏｂ−Ｙ」に対応付けてジョブリスト４２０に登録されているＵＲＬ「Ｊｏｂ−Ａ＿ＵＲＬ−Ａ＿Ｊｏｂ−Ｂ＿ＵＲＬ−Ｂ」を、抽出してもよい。そして、抽出済みのＵＲＬから、各画像ファイルのＵＲＬを特定し、印刷データを、印刷仲介サーバ１００から受信してもよい。本変形例では、ジョブＩＤ「Ｊｏｂ−Ｙ」が「対応情報」の一例である。
【０１１１】
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には以上に例示した具体例を様々に変形、変更したものが含まれる。上記の実施例の変形例を以下に列挙する。
【０１１２】
（１）第１実施例では、プリンタＩＤを先に生成させ、次いで、ログイン要求３１４を後で送信するＯＡｕｔｈの手法を利用した登録プロセスが実行されるが（図２参照）、ログイン要求３１４を先に送信し、次いで、プリンタＩＤを後で生成させるＣｌｉｅｎｔ  Ｌｏｇｉｎの手法を利用した登録プロセスが実行されてもよい。
【０１１３】
（２）上記の実施例では、図５の印刷プロセスが実行される状況において、図２の登録プロセスで生成されたＡＴが印刷仲介サーバ１００に登録されている。ただし、図５の印刷プロセスが実行される際に、ＡＴの有効期限が終了していることがあり得る。そこで、図２の登録プロセスにおいて、印刷仲介サーバ１００は、ＡＴのみならず、いわゆるリフレッシュトークンを生成して、アカウント情報等に対応付けてリフレッシュトークンを記憶してもよい。この場合、印刷仲介サーバ１００は、第１のＡＴの有効期限が終了する場合に、リフレッシュトークンを利用して、新たなトークンを生成し、ＡＴに代えて、当該新たなトークンを記憶することができる。そして、携帯端末１０は、印刷仲介サーバ１００から、ＡＴのみならず、いわゆるリフレッシュトークンを含むログイン成功通知３１６を受信してもよい。図５の印刷プロセスにおいて、携帯端末１０は、ＡＴのみならず、リフレッシュトークンをプリンタ２００に送信してもよい。この場合、プリンタ２００は、ＡＴの有効期限が終了している場合に、リフレッシュトークンを利用して新たなトークンを生成し、当該新たなトークンを利用して、印刷仲介サーバ１００から印刷データを取得することができる。プリンタ２００は、定期的に、リフレッシュトークンを利用して新たなトークンを、印刷仲介サーバ１００から取得してもよい。また、プリンタ２００は、アプリケーションプログラムの起動操作、サブミット操作等、操作部１２に所定の操作が実行される場合に、リフレッシュトークンを利用して新たなトークンを、印刷仲介サーバ１００から取得してもよい。本変形例では、リフレッシュトークンが、「認証情報」の一例である。
【０１１４】
（３）上記の実施例では、「認証情報」は、トークン（即ちＡＴ）と、を含む。ただし、印刷仲介サーバ１００が、トークンを利用せずに、プリンタＩＤのみを利用して認証を実行可能な構成であれば、「認証情報」は、トークンを含んでおらず、プリンタＩＤのみを含んでいてもよい。あるいは、「認証情報」は、ユーザＩＤ及びパスワードであってもよい。一般的に言うと、「認証情報」は、印刷仲介サーバにおいて認証に利用される情報であれば、どのような情報であってもよい。
【０１１５】
（４）上記の第２実施例では、印刷仲介サーバ１００が、グループＩＤを生成すると、生成済みのグループＩＤを携帯端末１０に送信する。しかしながら、印刷仲介サーバ１００は、生成済みのグループＩＤを携帯端末１０に送信しなくてもよい。この場合、携帯端末１０は、印刷仲介サーバ１００と同様の法則を利用して、グループＩＤを生成してもよい。そして、携帯端末１０は、生成済みのグループＩＤを、プリンタ２００に送信してもよい。あるいは、プリンタ２００が、印刷仲介サーバ１００と同様の法則を利用して、グループＩＤを生成してもよい。この場合、携帯端末１０は、グループＩＤを生成しなくてもよい。あるいは、携帯端末１０及びプリンタ２００の少なくとも一方には、生成されるべきグループＩＤが格納されていてもよい。
【０１１６】
（５）上記の各実施例では、図４の印刷プロセスにおいて、プリンタ２００は、携帯端末１０から受信済みのグループＩＤに対応付けて登録されているジョブＩＤを抽出している。具体的には、プリンタ２００は、図８に示すジョブリスト４２０が受信され、かつ、携帯端末１０から受信済みのグループＩＤが「Brother 00:12:34:56:BB 1409011450」であある場合、プリンタ２００は、ジョブＩＤ「Ｊｏｂ−Ａ」、「Ｊｏｂ−Ｂ」を抽出する。しかしながら、プリンタ２００は、受信済みのグループＩＤのうち、ユーザＩＤを示す文字列、即ち「Brother」を含むグループＩＤに対応付けられているジョブＩＤ「Ｊｏｂ−Ｘ」を、さらに抽出してもよい。この構成によれば、ユーザＩＤ「Brother」に対応するユーザが、携帯端末１０を利用して、印刷仲介サーバ１００にサブミットした画像ファイルに加えて、携帯端末１０と異なるデバイス（例えばＰＣ等）を利用して印刷仲介サーバ１００にサブミットした画像ファイルを用いて得られる印刷データを、プリンタ２００に取得させることができる。本変形例では、グループＩＤに含まれるユーザＩＤが、「対応情報」の一例である。なお、プリンタ２００は、ユーザによる設定に応じて、上記の実施例と同様にグループＩＤに対応するジョブＩＤを抽出するモードと、本変形例、即ち、グループＩＤに含まれるユーザＩＤを用いてジョブＩＤを抽出するモードと、に選択的に動作可能であってもよい。
【０１１７】
（６）プリンタ２００及び携帯端末１０は、ＮＦＣ方式の無線通信を実行する代わりに、他の通信方式の近距離無線通信（例えば、赤外線方式等の無線通信）を実行して、通信を実行してもよい。本変形例では、上記の他の通信方式が、「近距離無線通信方式」の一例である。
【０１１８】
（７）携帯端末１０は、ＮＦＣＩ／Ｆ１６を利用して、印刷要求６０２をプリンタ２００に送信する代わりに、無線ＬＡＮＩ／Ｆ１８を利用して、印刷要求６０２をプリンタ２００に送信してもよい。この場合、プリンタ２００は、無線ＬＡＮＩ／Ｆ２０８を利用して、印刷要求６０２を受信してもよい。一般的に言うと、端末装置は、第１の通信方式に従って、サーバ及びプリンタと無線通信を実行する第１のインターフェースを備えていてもよい。この場合、印刷要求６０２の通信が実行される前に、携帯端末１０とプリンタ２００とは、それぞれ、ＮＦＣＩ／Ｆ１６とＮＦＣＩ／Ｆ２０６とを利用して、携帯端末１０とプリンタ２００とが相互にＷｉ−Ｆｉ方式の無線通信を実行するための無線プロファイルの通信を実行してもよい。そして、携帯端末１０とプリンタ２００とは、無線プロファイルに従った無線通信設定を実行後、設定済みのＷｉ−Ｆｉ方式の無線通信を用いて、携帯端末は、印刷要求６０２を送信し、又は受信してもよい。
【０１１９】
（８）携帯端末１０は、Ｗｉ−Ｆｉ方式の無線通信を実行して、印刷仲介サーバ１００と様々な情報（例えば図２の登録要求３００等）の通信を実行する代わりに、３Ｇ、４Ｇ等のセルラー方式の無線通信を実行して、印刷仲介サーバ１００と通信を実行してもよい。また、携帯端末１０は、有線でインターネットに接続されている場合には、有線通信を実行して、印刷仲介サーバ１００と通信を実行してもよい。
【０１２０】
（９）図５の印刷プロセスでは、プリンタ２００が、印刷仲介サーバ１００から受信済みのジョブリスト４２０を用いて、ジョブＩＤ抽出処理を実行する。しかしながら、プリンタ２００は、ジョブＩＤ抽出処理を実行しなくてもよい。この場合、プリンタ２００は、ジョブリスト要求６０４に代えて、ＡＴ、プリンタＩＤ及びグループＩＤを含むＵＲＬ要求を、印刷仲介サーバ１００に送信してもよい。印刷仲介サーバ１００は、受信済みのグループＩＤを用いて、プリンタ２００の代わりに、ジョブＩＤ抽出処理を実行してもよい。さらに、印刷仲介サーバ１００は、抽出済みのジョブＩＤを用いて、ジョブリスト４２０からＵＲＬを特定し、特定済みのＵＲＬを、プリンタ２００に送信してもよい。
【０１２１】
（１０）プリンタ２００は、有線でインターネットに接続されている場合には、有線通信を実行して、印刷仲介サーバ１００と様々な情報（例えば図５のジョブリスト要求６０４等）の通信を実行してもよい。
【０１２２】
（１１）上記の各実施例では、ジョブリスト４２０は、印刷仲介サーバ１００で生成されるジョブＩＤを格納している。しかしながら、ジョブリスト４２０は、ジョブＩＤとともに、あるいは、ジョブＩＤに代えて、画像ファイル４０４等のファイル名を格納してもよい。本変形例では、ファイル名が、「ファイル識別情報」の一例である。なお、一般的には、「ファイル識別情報」は、ファイルを識別するために、ファイル毎に固有に付与されている情報であればよい。
【０１２３】
（１２）印刷仲介サーバ１００は、１個のサーバでなくてもよく、別体に構成されている複数個のサーバであってもよい。例えば、印刷仲介サーバ１００は、図２の登録プロセスに示される各処理を実行する第１のサーバと、図３以降の各プロセスに示される各処理を実行する第２のサーバ（即ち第１のサーバとは別体に構成されている第２のサーバ）と、を備えていてもよい。
【０１２４】
（１３）携帯端末１０は、印刷対象ジョブ指定プロセスにおいて、複数のジョブＩＤが指定される場合に、複数のジョブＩＤが指定されたことを示すＩＤ指定情報を、複数のジョブＩＤとは別に、印刷仲介サーバ１００に送信してもよい。本変形例では、ＩＤ指定情報が「指定情報」の一例である。
【０１２５】
（１４）「端末装置」は、携帯端末１０でなくてもよく、据え置き型のＰＣであってもよいし、他のデバイス（例えばテレビ等）であってもよい。
【０１２６】
（１５）上記の実施例では、携帯端末１０のＣＰＵ２２、プリンタ２００のＣＰＵ２２２及び、印刷仲介サーバ１００のＣＰＵ１２２が、メモリ２４，２２４，１２４内のプログラム（例えばプリンタアプリ）を実行することによって、図２〜図７の各処理が実現される。これに代えて、図２〜図７の各処理のうちの少なくとも１つの処理は、論理回路等のハードウェアによって実現されてもよい。
【０１２７】
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
以下に、本明細書の特徴を列挙する。
（特徴１）
端末装置であって、
複数のファイル識別情報を含むリストを、サーバから受信するリスト受信部であって、前記複数のファイル識別情報のそれぞれは、前記サーバに格納されている複数のデータファイルのそれぞれを識別するための情報である、前記リスト受信部と、
受信済みの前記リストに含まれる前記複数のファイル識別情報を、前記端末装置の表示部に表示させる表示制御部と、
表示済みの前記複数のファイル識別情報の中から、印刷対象の対象データファイルを識別するための対象ファイル識別情報を指定する指定部と、
複数の対象ファイル識別情報が指定される場合に、前記複数の対象ファイル識別情報が指定されたことを示す指定情報を、前記サーバに送信する指定情報送信部と、
前記複数の対象ファイル識別情報が指定される場合に、１個の対応情報を前記端末装置の端末側メモリに格納する端末側格納制御部であって、前記１個の対応情報は、前記サーバにおいて、指定済みの前記複数の対象ファイル識別情報によって識別される複数の前記対象データファイルのそれぞれに対応付けられる情報である、前記端末側格納制御部と、
格納済みの前記１個の対応情報を含む印刷要求を、プリンタに送信する要求送信部であって、前記印刷要求は、前記プリンタに、前記１個の対応情報を用いて得られる前記複数の対象データファイルを用いた印刷を実行させるための要求である、前記要求送信部と、を備える端末装置。
（特徴２）
前記端末装置は、さらに、
前記複数の対象ファイル識別情報が指定される場合に、前記１個の対応情報を生成する端末側生成部と、
生成済みの前記１個の対応情報を、前記サーバに送信する端末側対応情報送信部と、を備える、特徴１に記載の端末装置。
（特徴３）
前記端末装置は、さらに、
前記サーバから前記１個の対応情報を受信する端末側対応情報受信部を備える、特徴１に記載の端末装置。
（特徴４）
前記端末装置は、さらに、
第１の通信方式に従って、前記サーバと無線通信を実行する第１のインターフェースと、
前記第１の通信方式よりも通信速度が遅い第２の通信方式に従って、前記プリンタと無線通信を実行する第２のインターフェースと、を備え、
前記リスト受信部は、前記第１のインターフェースを利用して、前記リストを、前記サーバから受信し、
前記要求送信部は、前記第２のインターフェースを利用して、前記印刷要求を、前記プリンタに送信する、特徴１から３のいずれか一項に記載の端末装置。
（特徴５）
前記端末装置は、さらに、
前記プリンタが前記サーバから前記対象データファイルを受信するための認証情報を、前記プリンタに送信する認証情報送信部を備える、特徴１から４のいずれか一項に記載の端末装置。
（特徴６）
サーバであって、
複数のデータファイルを格納するサーバ側メモリと、
複数のファイル識別情報を含むリストを、端末装置に送信するリスト送信部であって、前記複数のファイル識別情報のそれぞれは、前記複数のデータファイルのそれぞれを識別するための情報である、前記リスト送信部と、
前記端末装置において複数の対象ファイル識別情報が指定される場合に、前記複数の対象ファイル識別情報が指定されたことを示す指定情報を、前記端末装置から受信する指定情報受信部と、
複数の対象データファイルに対応付けて、１個の対応情報を前記サーバ側メモリに格納させるサーバ側格納制御部であって、前記複数の対象データファイルは、前記リストに含まれる前記複数のファイル識別情報の中から前記端末装置によって指定済みの前記複数の対象ファイル識別情報によって識別されるデータファイルである、前記サーバ側格納制御部と、
プリンタから前記１個の対応情報に関連するファイル取得要求を受信する取得要求受信部と、
受信済みの前記ファイル取得要求に応じて、前記１個の対応情報に対応付けられている前記複数の対象データファイルを用いて得られる複数の印刷データを前記プリンタに送信するファイル送信部と、を備える、サーバ。
（特徴７）
前記サーバは、さらに、
前記端末装置において前記複数の対象ファイル識別情報が指定される場合に、前記端末装置によって生成される前記１個の対応情報を受信するサーバ側対応情報受信部を備える、特徴６に記載のサーバ。
（特徴８）
前記サーバは、さらに、
前記端末装置において前記複数の対象ファイル識別情報が指定される場合に、前記１個の対応情報を生成するサーバ側生成部を備える、特徴６に記載のサーバ。
（特徴９）
前記サーバは、さらに、
生成済みの前記１個の対応情報を、前記端末装置に送信するサーバ側対応情報送信部を備える、特徴８に記載のサーバ。
（特徴１０）
前記サーバ側格納制御部は、前記複数の対象データファイルが前記プリンタに送信された後に、前記プリンタから印刷完了を示す完了情報が受信される場合に、前記複数の対象データファイルにそれぞれ対応付けられている前記１個の対応情報を、前記サーバ側メモリから消去する、特徴６から９のいずれか一項に記載のサーバ。
（特徴１１）
印刷実行部を有するプリンタであって、
１個の第１の対応情報を含む印刷要求を、端末装置から受信する印刷要求受信部と、
前記印刷要求が受信され、かつ、受信済みの前記１個の第１の対応情報と、サーバにおいて印刷対象の複数の対象データファイルに対応付けられている１個の第２の対応情報と、が一致する場合に、前記１個の第２の対応情報に対応付けられている前記複数の対象データファイルを用いて得られる複数の印刷データを、前記サーバから受信する印刷データ受信部であって、前記複数の対象データファイルは、前記サーバに格納されている複数のデータファイルのうちの一部のデータファイルである、前記印刷データ受信部と、
受信済みの前記複数の印刷データを用いた印刷を、前記印刷実行部に実行させる印刷制御部と、を備える、プリンタ。
（特徴１２）
前記プリンタは、さらに、
前記印刷要求が受信される場合に、前記１個の第２の対応情報を、前記サーバから受信するプリンタ側対応情報受信部と、
受信済みの前記１個の第１の対応情報と、受信済みの前記１個の第２の対応情報と、が一致するか否かを判断する第１の判断部と、備え、
前記印刷データ受信部は、前記１個の第１の対応情報と、前記１個の第２の対応情報と、が一致すると判断される場合に、前記複数の印刷データを、前記サーバから受信する、特徴１１に記載のプリンタ。
（特徴１３）
受信済みの前記第１の対応情報は、前記複数の対象データファイルを前記サーバが格納するタイミングに関する時刻情報を含み、
前記プリンタは、さらに、
時刻を特定する時刻特定部と、
特定済みの時刻が、受信済みの前記時刻情報よりも所定期間以上経過しているか否かを判断する第２の判断部と、を備え、
前記印刷制御部は、特定済みの前記時刻が、受信済みの前記時刻情報よりも所定期間以上経過していないと判断される場合に、受信済みの前記複数の対象データファイルを用いた前記印刷を、前記印刷実行部に実行させる、特徴１１又は１２に記載のプリンタ。
（特徴１４）
端末装置のためのコンピュータプログラムであって、
前記コンピュータプログラムは、前記端末装置に搭載されるコンピュータに、以下の各処理、即ち、
複数のファイル識別情報を含むリストを、サーバから受信するリスト受信処理であって、前記複数のファイル識別情報のそれぞれは、前記サーバに格納されている複数のデータファイルのそれぞれを識別するための情報である、前記リスト受信処理と、
受信済みの前記リストに含まれる前記複数のファイル識別情報を、前記端末装置の表示部に表示させる表示制御処理と、
表示済みの前記複数のファイル識別情報の中から、印刷対象の対象データファイルを識別するための対象ファイル識別情報を指定する指定処理と、
複数の対象ファイル識別情報が指定される場合に、前記複数の対象ファイル識別情報が指定されたことを示す指定情報を、前記サーバに送信する指定情報送信処理と、
前記複数の対象ファイル識別情報が指定される場合に、１個の対応情報を前記端末装置の端末側メモリに格納する端末側格納制御処理であって、前記１個の対応情報は、前記サーバにおいて、指定済みの前記複数の対象ファイル識別情報によって識別される複数の前記対象データファイルのそれぞれに対応付けられる情報である、前記端末側格納制御処理と、
格納済みの前記１個の対応情報を含む印刷要求を、プリンタに送信する要求送信処理であって、前記印刷要求は、前記プリンタに、前記１個の対応情報を用いて得られる前記複数の対象データファイルを用いた印刷を実行させるための要求である、前記要求送信処理と、を実行させるコンピュータプログラム。
【符号の説明】
【０１２８】
２：通信システム
１０，５０：携帯端末
１６  ＮＦＣインターフェース
２２，１２２，２２２：ＣＰＵ
２４，１２４，２２４：メモリ
１００：印刷仲介サーバ
２００：プリンタ
４２０：ジョブリスト
Ｄ１，Ｄ２：印刷データ
【図１】
0006405850.tif 000002
【図２】
0006405850.tif 000003
【図３】
0006405850.tif 000004
【図４】
0006405850.tif 000005
【図５】
0006405850.tif 000006
【図６】
0006405850.tif 000007
【図７】
0006405850.tif 000008
【図８】
0006405850.tif 000009