(57)【特許請求の範囲】
【請求項１】
端末装置であって、
通信装置に特定処理を実行させるための処理実行指示を取得する指示取得部と、
前記処理実行指示が取得される場合に、前記端末装置が所属しているローカルエリアネットワーク内に前記通信装置が存在しているのか否かを判断する判断部と、
前記ローカルエリアネットワーク内に前記通信装置が存在していると判断される場合に、第１のＵＲＬを送信先として、前記ローカルエリアネットワークに第１の処理実行情報を送信することによって、インターネットを介さずに、前記第１の処理実行情報を前記通信装置に供給する第１の供給部であって、前記第１のＵＲＬは、前記ローカルエリアネットワーク内で前記通信装置を識別するための情報を含み、前記第１の処理実行情報は、前記通信装置に前記特定処理を実行させるための情報である、前記第１の供給部と、
前記ローカルエリアネットワーク内に前記通信装置が存在していないと判断される場合に、前記第１のＵＲＬとは異なる第２のＵＲＬを送信先として、前記インターネット上のサーバに第２の処理実行情報を送信することによって、前記サーバを介して、前記第２の処理実行情報を前記通信装置に供給する第２の供給部であって、前記第２のＵＲＬは、前記インターネットを介して前記通信装置と通信を実行する場合において前記通信装置を識別するための情報を含み、前記サーバは、前記インターネットを介して、前記通信装置と通信可能に接続されており、前記第２の処理実行情報は、前記通信装置に前記特定処理を実行させるための情報であり、前記第２のＵＲＬは、前記サーバが前記通信装置に前記第２の処理実行情報を供給する際に前記サーバによって利用される、前記第２の供給部と、
を備える端末装置。
【請求項２】
前記第１の供給部は、前記ローカルエリアネットワーク内に前記通信装置が存在していると判断される場合に、前記第２の処理実行情報を前記通信装置に供給せずに、前記第１の処理実行情報を前記通信装置に供給し、
前記第２の供給部は、前記ローカルエリアネットワーク内に前記通信装置が存在していないと判断される場合に、前記第１の処理実行情報を前記通信装置に供給せずに、前記第２の処理実行情報を前記通信装置に供給する、請求項１に記載の端末装置。
【請求項３】
端末装置であって、
通信装置に特定処理を実行させるための処理実行指示を取得する指示取得部と、
前記処理実行指示が取得される場合に、前記端末装置が所属しているローカルエリアネットワーク内に前記通信装置が存在しているのか否かを判断する判断部と、
前記ローカルエリアネットワーク内に前記通信装置が存在していると判断される場合に、第１のＵＲＬを送信先として、前記ローカルエリアネットワークに第１の処理実行情報を送信することによって、インターネットを介さずに、前記第１の処理実行情報を前記通信装置に供給する第１の供給部であって、前記第１の処理実行情報は、前記通信装置に前記特定処理を実行させるための情報である、前記第１の供給部と、
前記ローカルエリアネットワーク内に前記通信装置が存在していないと判断される場合に、前記第１のＵＲＬとは異なる第２のＵＲＬを送信先として、前記インターネット上のサーバに第２の処理実行情報を送信することによって、前記サーバを介して、前記第２の処理実行情報を前記通信装置に供給する第２の供給部であって、前記サーバは、前記第２の処理実行情報が取得される前に、前記インターネットを介した接続を前記通信装置と確立することによって、前記インターネットを介して前記通信装置と通信可能であり、前記サーバは、前記接続を利用して、前記インターネットを介して、前記第２の処理実行情報を前記通信装置に供給し、前記第２の処理実行情報は、前記通信装置に前記特定処理を実行させるための情報であり、前記第２のＵＲＬは、前記サーバが前記通信装置に前記第２の処理実行情報を供給する際に前記サーバによって利用される、前記第２の供給部と、
を備える端末装置。
【請求項４】
前記端末装置は、さらに、
前記処理実行指示が取得される場合に、前記ローカルエリアネットワーク内で前記通信装置を識別するための装置文字列を含む所定要求を前記ローカルエリアネットワークに送信する送信部を備え、
前記判断部は、
前記通信装置から前記所定要求に対する応答が受信される場合に、前記ローカルエリアネットワーク内に前記通信装置が存在していると判断し、
前記通信装置から前記所定要求に対する前記応答が受信されない場合に、前記ローカルエリアネットワーク内に前記通信装置が存在していないと判断する、請求項１から３のいずれか一項に記載の端末装置。
【請求項５】
端末装置であって、
通信装置に特定処理を実行させるための処理実行指示を取得する指示取得部と、
前記処理実行指示が取得される場合に、第１のＵＲＬを送信先として、前記端末装置が所属しているローカルエリアネットワークに第１の処理実行情報を送信することによって、インターネットを介さずに、前記第１の処理実行情報を前記通信装置に供給することを試行する試行部であって、前記第１の処理実行情報は、前記通信装置に前記特定処理を実行させるための情報である、前記試行部と、
前記第１の処理実行情報を前記通信装置に供給することが失敗する場合に、前記第１のＵＲＬとは異なる第２のＵＲＬを送信先として、前記インターネット上のサーバに第２の処理実行情報を送信することによって、前記サーバを介して、前記第２の処理実行情報を前記通信装置に供給する供給部であって、前記サーバは、前記インターネットを介して、前記通信装置と通信可能に接続されており、前記第２の処理実行情報は、前記通信装置に前記特定処理を実行させるための情報であり、前記第２のＵＲＬは、前記サーバが前記通信装置に前記第２の処理実行情報を供給する際に前記サーバによって利用される、前記供給部と、
を備える端末装置。
【請求項６】
前記第１のＵＲＬは、前記ローカルエリアネットワーク内で前記通信装置を識別するための装置文字列を含み、
前記第２のＵＲＬは、前記装置文字列と、前記サーバを識別するためのサーバ文字列と、を含む、請求項１から５のいずれか一項に記載の端末装置。
【請求項７】
前記端末装置は、さらに、
前記装置文字列の後ろに前記サーバ文字列を付加して、前記第２のＵＲＬを生成する生成部を備える、請求項６に記載の端末装置。
【請求項８】
前記端末装置は、さらに、
前記第１の処理実行情報が前記通信装置に供給される場合に、前記通信装置から、前記インターネットを介さずに、前記ローカルエリアネットワークを介して、前記特定処理に関係する関係情報を含む第１の応答を取得する第１の応答取得部と、
前記第２の処理実行情報が前記通信装置に供給される場合に、前記通信装置から、前記インターネット上の前記サーバを介して、前記関係情報を含む第２の応答を取得する第２の応答取得部と、
を備える請求項１から７のいずれか一項に記載の端末装置。
【請求項９】
前記関係情報は、ＨＴＭＬ形式を有する、請求項８に記載の端末装置。
【請求項１０】
端末装置とサーバとを備える通信システムであって、
前記端末装置は、
通信装置に特定処理を実行させるための処理実行指示を取得する指示取得部と、
前記処理実行指示が取得される場合に、前記端末装置が所属しているローカルエリアネットワーク内に前記通信装置が存在しているのか否かを判断する判断部と、
前記ローカルエリアネットワーク内に前記通信装置が存在していると判断される場合に、第１のＵＲＬを送信先として、前記ローカルエリアネットワークに第１の処理実行情報を送信することによって、インターネットを介さずに、前記第１の処理実行情報を前記通信装置に供給する第１の供給部であって、前記第１の処理実行情報は、前記通信装置に前記特定処理を実行させるための情報である、前記第１の供給部と、
前記ローカルエリアネットワーク内に前記通信装置が存在していないと判断される場合に、前記第１のＵＲＬとは異なる第２のＵＲＬを送信先として、前記インターネット上の前記サーバに第２の処理実行情報を送信することによって、前記サーバを介して、前記第２の処理実行情報を前記通信装置に供給する第２の供給部であって、前記サーバは、前記インターネットを介して、前記通信装置と通信可能に接続されており、前記第２の処理実行情報は、前記通信装置に前記特定処理を実行させるための情報である、前記第２の供給部と、を備え、
前記サーバは、
前記第２の処理実行情報が取得される前に、前記インターネットを介した接続を前記通信装置と確立する確立部と、
前記端末装置から、前記インターネットを介して、前記第２の処理実行情報を取得するサーバ側取得部と、
前記第２の処理実行情報が取得される場合に、前記接続を利用して、前記第２のＵＲＬを利用して、前記インターネットを介して、前記第２の処理実行情報を前記通信装置に供給するサーバ側供給部と、を備える、
通信システム。
【請求項１１】
端末装置とサーバとを備える通信システムであって、
前記端末装置は、
通信装置に特定処理を実行させるための処理実行指示を取得する指示取得部と、
前記処理実行指示が取得される場合に、第１のＵＲＬを送信先として、前記端末装置が所属しているローカルエリアネットワークに第１の処理実行情報を送信することによって、インターネットを介さずに、前記第１の処理実行情報を前記通信装置に供給することを試行する試行部であって、前記第１の処理実行情報は、前記通信装置に前記特定処理を実行させるための情報である、前記試行部と、
前記第１の処理実行情報を前記通信装置に供給することが失敗する場合に、前記第１のＵＲＬとは異なる第２のＵＲＬを送信先として、前記インターネット上の前記サーバに第２の処理実行情報を送信することによって、前記サーバを介して、前記第２の処理実行情報を前記通信装置に供給する供給部であって、前記サーバは、前記インターネットを介して、前記通信装置と通信可能に接続されており、前記第２の処理実行情報は、前記通信装置に前記特定処理を実行させるための情報である、前記供給部と、を備え、
前記サーバは、
前記端末装置から、前記インターネットを介して、前記第２の処理実行情報を取得するサーバ側取得部と、
前記第２の処理実行情報が取得される場合に、前記第２のＵＲＬを利用して、前記インターネットを介して、前記第２の処理実行情報を前記通信装置に供給するサーバ側供給部と、を備える、
通信システム。
【請求項１２】
前記サーバは、さらに、
前記第２の処理実行情報が取得される前に、前記インターネットを介した接続を前記通信装置と確立する確立部を備え、
前記サーバ側供給部は、前記接続を利用して、前記インターネットを介して、前記第２の処理実行情報を前記通信装置に供給する、請求項１１に記載の通信システム。
【請求項１３】
端末装置のためのコンピュータプログラムであって、
前記端末装置に搭載されるコンピュータに、以下の各処理、即ち、
通信装置に特定処理を実行させるための処理実行指示を取得する指示取得処理と、
前記処理実行指示が取得される場合に、前記端末装置が所属しているローカルエリアネットワーク内に前記通信装置が存在しているのか否かを判断する判断処理と、
前記ローカルエリアネットワーク内に前記通信装置が存在していると判断される場合に、第１のＵＲＬを送信先として、前記ローカルエリアネットワークに第１の処理実行情報を送信することによって、インターネットを介さずに、前記第１の処理実行情報を前記通信装置に供給する第１の供給処理であって、前記第１のＵＲＬは、前記ローカルエリアネットワーク内で前記通信装置を識別するための情報を含み、前記第１の処理実行情報は、前記通信装置に前記特定処理を実行させるための情報である、前記第１の供給処理と、
前記ローカルエリアネットワーク内に前記通信装置が存在していないと判断される場合に、前記第１のＵＲＬとは異なる第２のＵＲＬを送信先として、前記インターネット上のサーバに第２の処理実行情報を送信することによって、前記サーバを介して、前記第２の処理実行情報を前記通信装置に供給する第２の供給処理であって、前記第２のＵＲＬは、前記インターネットを介して前記通信装置と通信を実行する場合において前記通信装置を識別するための情報を含み、前記サーバは、前記インターネットを介して、前記通信装置と通信可能に接続されており、前記第２の処理実行情報は、前記通信装置に前記特定処理を実行させるための情報であり、前記第２のＵＲＬは、前記サーバが前記通信装置に前記第２の処理実行情報を供給する際に前記サーバによって利用される、前記第２の供給処理と、
を実行させる、コンピュータプログラム。
【請求項１４】
端末装置のためのコンピュータプログラムであって、
前記端末装置に搭載されるコンピュータに、以下の各処理、即ち、
通信装置に特定処理を実行させるための処理実行指示を取得する指示取得処理と、
前記処理実行指示が取得される場合に、前記端末装置が所属しているローカルエリアネットワーク内に前記通信装置が存在しているのか否かを判断する判断処理と、
前記ローカルエリアネットワーク内に前記通信装置が存在していると判断される場合に、第１のＵＲＬを送信先として、前記ローカルエリアネットワークに第１の処理実行情報を送信することによって、インターネットを介さずに、前記第１の処理実行情報を前記通信装置に供給する第１の供給処理であって、前記第１の処理実行情報は、前記通信装置に前記特定処理を実行させるための情報である、前記第１の供給処理と、
前記ローカルエリアネットワーク内に前記通信装置が存在していないと判断される場合に、前記第１のＵＲＬとは異なる第２のＵＲＬを送信先として、前記インターネット上のサーバに第２の処理実行情報を送信することによって、前記サーバを介して、前記第２の処理実行情報を前記通信装置に供給する第２の供給処理であって、前記サーバは、前記第２の処理実行情報が取得される前に、前記インターネットを介した接続を前記通信装置と確立することによって、前記インターネットを介して前記通信装置と通信可能であり、前記サーバは、前記接続を利用して、前記インターネットを介して、前記第２の処理実行情報を前記通信装置に供給し、前記第２の処理実行情報は、前記通信装置に前記特定処理を実行させるための情報であり、前記第２のＵＲＬは、前記サーバが前記通信装置に前記第２の処理実行情報を供給する際に前記サーバによって利用される、前記第２の供給処理と、
を実行させる、コンピュータプログラム。
【請求項１５】
端末装置のためのコンピュータプログラムであって、
前記端末装置に搭載されるコンピュータに、以下の各処理、即ち、
通信装置に特定処理を実行させるための処理実行指示を取得する指示取得処理と、
前記処理実行指示が取得される場合に、第１のＵＲＬを送信先として、前記端末装置が所属しているローカルエリアネットワークに第１の処理実行情報を送信することによって、インターネットを介さずに、前記第１の処理実行情報を前記通信装置に供給することを試行する試行処理であって、前記第１の処理実行情報は、前記通信装置に前記特定処理を実行させるための情報である、前記試行処理と、
前記第１の処理実行情報を前記通信装置に供給することが失敗する場合に、前記第１のＵＲＬとは異なる第２のＵＲＬを送信先として、前記インターネット上のサーバに第２の処理実行情報を送信することによって、前記サーバを介して、前記第２の処理実行情報を前記通信装置に供給する供給処理であって、前記サーバは、前記インターネットを介して、前記通信装置と通信可能に接続されており、前記第２の処理実行情報は、前記通信装置に前記特定処理を実行させるための情報であり、前記第２のＵＲＬは、前記サーバが前記通信装置に前記第２の処理実行情報を供給する際に前記サーバによって利用される、前記供給処理と、
を実行させる、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書で開示される技術は、端末装置から通信装置に処理実行情報を供給するための技術に関する。
【背景技術】
【０００２】
特許文献１には、ファイヤウォールが設定されたイントラネットに接続されているＭＦＰ（Multi-Function Peripheralの略）と、インターネットに接続されている中継サーバと、インターネットに接続されているクライアントＰＣ（Personal Computerの略）と、を備える通信システムが開示されている。クライアントＰＣは、証明書を用いた認証を中継サーバと実行し、認証が成功した場合に、中継サーバを介してジョブの実行要求をＭＦＰに供給する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−８５６７０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本明細書では、端末装置及び通信装置の状況に応じて、端末装置から通信装置に処理実行要求を適切に供給するための技術を提供する。
【課題を解決するための手段】
【０００５】
本明細書では、以下の端末装置を開示する。端末装置は、通信装置に特定処理を実行させるための処理実行指示を取得する指示取得部と、処理実行指示が取得される場合に、端末装置が所属しているローカルエリアネットワーク内に通信装置が存在しているのか否かを判断する判断部と、ローカルエリアネットワーク内に通信装置が存在していると判断される場合に、第１のＵＲＬを送信先として、ローカルエリアネットワークに第１の処理実行情報を送信することによって、インターネットを介さずに、第１の処理実行情報を通信装置に供給する第１の供給部であって、第１の処理実行情報は、通信装置に特定処理を実行させるための情報である、第１の供給部と、ローカルエリアネットワーク内に通信装置が存在していないと判断される場合に、第１のＵＲＬとは異なる第２のＵＲＬを送信先として、インターネット上のサーバに第２の処理実行情報を送信することによって、サーバを介して、第２の処理実行情報を通信装置に供給する第２の供給部であって、サーバは、インターネットを介して、通信装置と通信可能に接続されており、第２の処理実行情報は、通信装置に特定処理を実行させるための情報であり、第２のＵＲＬは、サーバが通信装置に第２の処理実行情報を供給する際にサーバによって利用される、第２の供給部と、を備える。
【０００６】
上記の構成によると、端末装置は、端末装置が所属しているローカルエリアネットワーク内に通信装置が存在していると判断される場合に、インターネットを介さずに、第１の処理実行情報を通信装置に供給する。インターネットを介さずに第１の処理実行情報が通信装置に供給されるので、インターネットを介して第１の処理実行情報が供給される場合と比べて、第１の処理実行情報が通信装置に迅速に供給される。一方、端末装置は、端末装置が所属しているローカルエリアネットワーク内に通信装置が存在していないと判断される場合に、インターネット上のサーバを介して、第２の処理実行情報を通信装置に供給する。インターネット上のサーバが利用されるので、第２の処理実行情報が通信装置に適切に供給される。従って、上記の構成によると、端末装置及び通信装置の状況に応じて、端末装置から通信装置に処理実行情報を適切に供給することができる。
【０００７】
本明細書では、以下の端末装置も開示する。端末装置は、通信装置に特定処理を実行させるための処理実行指示を取得する指示取得部と、処理実行指示が取得される場合に、第１のＵＲＬを送信先として、端末装置が所属しているローカルエリアネットワークに第１の処理実行情報を送信することによって、インターネットを介さずに、第１の処理実行情報を通信装置に供給することを試行する試行部であって、第１の処理実行情報は、通信装置に特定処理を実行させるための情報である、試行部と、第１の処理実行情報を通信装置に供給することが失敗する場合に、第１のＵＲＬとは異なる第２のＵＲＬを送信先として、インターネット上のサーバに第２の処理実行情報を送信することによって、サーバを介して、第２の処理実行情報を通信装置に供給する供給部であって、サーバは、インターネットを介して、通信装置と通信可能に接続されており、第２の処理実行情報は、通信装置に特定処理を実行させるための情報であり、第２のＵＲＬは、サーバが通信装置に第２の処理実行情報を供給する際にサーバによって利用される、供給部と、を備える。
【０００８】
上記の構成によると、端末装置は、端末装置が所属しているローカルエリアネットワークに第１の処理実行情報を送信することによって、インターネットを介さずに、第１の処理実行情報を通信装置に供給することを試行する。上記の試行が成功する場合、即ち、インターネットを介さずに第１の処理実行情報が供給される場合には、インターネットを介して第１の処理実行情報が供給される場合と比べて、第１の処理実行情報が通信装置に迅速に供給される。一方、端末装置は、第１の処理実行情報を通信装置に供給することが失敗する場合に、インターネット上のサーバを介して、第２の処理実行情報を通信装置に供給する。インターネット上のサーバが利用されるので、第２の処理実行情報が通信装置に適切に供給される。従って、上記の構成によると、端末装置及び通信装置の状況に応じて、端末装置から通信装置に処理実行情報を適切に供給することができる。
【０００９】
本明細書では、以下の通信システムも開示する。通信システムは、上記の端末装置と、サーバと、を備える。サーバは、端末装置から、インターネットを介して、第２の処理実行情報を取得するサーバ側取得部と、第２の処理実行情報が取得される場合に、第２のＵＲＬを利用して、インターネットを介して、第２の処理実行情報を通信装置に供給するサーバ側供給部と、を備える。上記の通信システムによると、端末装置及び通信装置の状況に応じて、端末装置から通信装置に処理実行情報を適切に供給することができる。
【００１０】
なお、上記の端末装置を実現するための制御方法、コンピュータプログラム、及び、当該コンピュータプログラムを記憶するコンピュータ読取可能記録媒体も、新規で有用である。また、上記のサーバを実現するための制御方法、コンピュータプログラム、及び、当該コンピュータプログラムを記憶するコンピュータ読取可能記録媒体も、新規で有用である。
【図面の簡単な説明】
【００１１】
【図１】通信システムの構成を示す。
【図２】ＭＦＰとサーバとの間にＸＭＰＰ接続を確立するための各処理のシーケンス図を示す。
【図３】第１実施例において、ＭＦＰにＧＥＴ処理を実行させるための各処理のシーケンス図を示す。
【図４】ＭＦＰにＧＥＴ処理を実行させる場合のＨＴＴＰリクエスト及びＨＴＴＰレスポンスの内容を示す。
【図５】第２実施例において、ＭＦＰにＧＥＴ処理を実行させるための各処理のシーケンス図を示す。
【図６】ＭＦＰにＳＥＴ処理を実行させる場合のＨＴＴＰリクエスト及びＨＴＴＰレスポンスの内容を示す。
【図７】ＭＦＰにＳＣＡＮ処理を実行させる場合のＨＴＴＰリクエスト及びＨＴＴＰレスポンスの内容を示す。
【図８】ＭＦＰにＰＲＩＮＴ処理を実行させる場合のＨＴＴＰリクエスト及びＨＴＴＰレスポンスの内容を示す。
【発明を実施するための形態】
【００１２】
（第１実施例）
（通信システム２の構成；図１）
図１に示すように、通信システム２は、ＰＣ（Personal Computerの略）１０と、ＭＦＰ（Multi-Function Peripheralの略）８０，９０と、サーバ５０と、を備える。図１では、ＰＣ１０と、ＭＦＰ８０，９０とは、同一のローカルエリアネットワーク（以下ではＬＡＮ（Local Area Networkの略）と呼ぶ）４Ａに所属している。ＰＣ１０は、ＬＡＮ４Ａに所属している間は、インターネット６を介さずに、ＭＦＰ８０，９０と通信可能である。サーバ５０は、ＰＣ１０が所属しているＬＡＮ４Ａ内に存在せず、インターネット６上に設置されている。ＰＣ１０は、ＬＡＮ４Ａ及びインターネット６を介して、サーバ５０と通信可能である。
【００１３】
本実施例では、普段はＬＡＮ４Ａ内に所属しているＰＣ１０が、外出先でＬＡＮ４Ａとは異なるＬＡＮ４Ｂに属する状況が想定されている（図１の矢印参照）。ＬＡＮ４Ｂもインターネット６に接続されている。ＰＣ１０は、ＬＡＮ４Ｂに所属している間は、ＬＡＮ４Ｂ及びインターネット６を介して、サーバ５０と通信可能である。また、ＰＣ１０は、ＬＡＮ４Ｂに所属している間は、インターネット６上のサーバ５０を介して、ＬＡＮ４Ａ内のＭＦＰ８０，９０と通信可能である。ＬＡＮ４Ｂに所属するＰＣ１０が、インターネット６上のサーバ５０を介して、ＬＡＮ４Ａ内のＭＦＰ８０，９０と通信することができる仕組みについては後で詳しく説明する。
【００１４】
本実施例では、ＬＡＮ４Ａ，４Ｂには、図示しないルータが設置されている。ルータは、ＬＡＮ４Ａ，４Ｂ内に存在するデバイス（例えばＰＣ１０）とＬＡＮ４Ａ，４Ｂ内に存在しないデバイス（例えばサーバ５０）との間の通信を中継する。
【００１５】
（ＰＣ１０の構成）
ＰＣ１０は、ＬＡＮ４Ａ内に設置される可搬型の端末装置である。例えば、ＰＣ１０は、ノートＰＣ、タブレット端末等である。ＰＣ１０は、操作部１２と、表示部１４と、ネットワークインターフェース１６と、制御部３０と、を備える。各部１２〜３０は、バス線（符号省略）に接続されている。以下では、インターフェースのことを「Ｉ／Ｆ」と呼ぶ。
【００１６】
操作部１２は、キーボード及びマウスを備える。ユーザは、操作部１２を操作することによって、様々な指示をＰＣ１０に与えることができる。表示部１４は、様々な情報を表示するためにディスプレイである。ネットワークＩ／Ｆ１６は、ＰＣ１０をＬＡＮ４Ａ，４Ｂに接続するためのＩ／Ｆである。
【００１７】
制御部３０は、ＣＰＵ３２と、メモリ３４と、を備える。ＣＰＵ３２は、メモリ３４に格納されているプログラム３６に従って、様々な処理を実行するプロセッサである。メモリ３４は、ＲＡＭ、ＲＯＭ等によって構成される。
【００１８】
メモリ３４は、プログラム３６を格納する。また、メモリ３４は、ＬＡＮ４Ａ内でＭＦＰ８０，９０を識別するためのデバイス情報（即ち「ＤＩ８０」，「ＤＩ９０」）を格納する。本実施例では、「ＤＩ８０」，「ＤＩ９０」は、それぞれ、ＬＡＮ４Ａ内におけるＭＦＰ８０，９０のホスト名（いわゆるローカルホスト名）である。「ＤＩ８０」，「ＤＩ９０」は、ＰＣ１０がＬＡＮ４Ａに所属している間に、ＰＣ１０のユーザによって予めメモリ３４内に格納される。
【００１９】
（ＭＦＰ８０，９０の構成）
ＭＦＰ８０，９０は、いずれもＬＡＮ４Ａ内に存在するＰＣ１０の周辺機器であり、印刷、スキャン等の各種機能を実行可能な機器である。ＭＦＰ８０，９０は、それぞれ、ＬＡＮ４内でＭＦＰ８０，９０を識別するためのデバイス情報（即ち「ＤＩ８０」，「ＤＩ９０」）を有している。
【００２０】
（サーバ５０の構成）
サーバ５０は、ＭＦＰ８０，９０のベンダによって設置されるサーバである。サーバ５０は、ＬＡＮ４Ａの外に存在するＰＣ１０（例えば、ＬＡＮ４Ｂに属するＰＣ１０）が、インターネット６上に存在するサーバ５０を介して、ＬＡＮ４Ａ内に存在するＭＦＰ８０，９０に特定処理（例えばＧＥＴ処理）を実行させるサービスを提供するためのサーバである。ＧＥＴ処理とは、ＭＦＰ８０，９０に、所望の情報（例えばＭＦＰ８０，９０のステータス等を示す情報）を供給させる処理である。サーバ５０は、ネットワークＩ／Ｆ５６と、制御部６０と、を備える。
【００２１】
ネットワークＩ／Ｆ５６は、サーバ５０をインターネット６に接続するためのインターフェースである。
【００２２】
制御部６０は、ＣＰＵ６２と、メモリ６４と、を備える。ＣＰＵ６２は、メモリ６４に格納されているプログラム６６に従って、様々な処理を実行するプロセッサである。メモリ６４は、ＲＡＭ、ＲＯＭ等によって構成される。
【００２３】
メモリ６４は、プログラム６６を格納する。また、メモリ６４は、ＭＦＰ８０，９０のデバイス情報（即ち「ＤＩ８０」，「ＤＩ９０」）を格納する。「ＤＩ８０」，「ＤＩ９０」は、後述の図２に示すＸＭＰＰ接続を確立するための各処理が実行されることによって、メモリ６４内に格納される。
【００２４】
（通信システム２の動作の概要）
本実施例では、ＬＡＮ４Ａ，ＬＡＮ４Ｂのどちらかに属するＰＣ１０が、ＬＡＮ４Ａ内のＭＦＰ８０にＧＥＴ処理を実行させることが想定されている（後述の図３参照）。ＰＣ１０がＬＡＮ４Ａ内に存在する場合には（図３のＳ４４でＹＥＳ）、ＰＣ１０は、インターネット６を介さずに、ＬＡＮ４Ａを介して、ＭＦＰ８０との間で通信を実行することによって、ＭＦＰ８０にＧＥＴ処理を実行させる（Ｓ５０、Ｓ５２）。一方、ＰＣ１０がＬＡＮ４Ｂに存在する場合には（Ｓ４４でＮＯ）、ＰＣ１０は、インターネット６上のサーバ５０を介して、ＭＦＰ８０との間で通信を実行することによって、ＭＦＰ８０にＧＥＴ処理を実行させる（Ｓ６０〜Ｓ６８）。即ち、本実施例では、ＰＣ１０は、ＰＣ１０及びＭＦＰ８０の状況に応じて、ＭＦＰ８０との間で適切に通信を実行し得る。
【００２５】
（ＸＭＰＰ接続を確立するための各処理；図２）
次いで、図２を参照して、ＭＦＰ８０とサーバ５０との間にＸＭＰＰ（Extensible Messaging and Presence Protocolの略）接続を確立するための各処理の内容を説明する。上記の通り、本実施例では、ＰＣ１０がＬＡＮ４Ｂに存在する場合には（後述の図３のＳ４４でＮＯ）、ＰＣ１０は、インターネット６上のサーバ５０を介して、ＭＦＰ８０との間で通信を実行する（Ｓ６０〜Ｓ６８）。しかしながら、ＬＡＮ４Ａは、通常、インターネット６からの不正なアクセスを制限するためのファイヤウォール、あるいは、ルータ（図示しない）等を備える。このために、ＭＦＰ８０がインターネット６を介してサーバ５０からリクエスト情報を取得するためには、サーバ５０とＭＦＰ８０との間にいわゆる常時接続と呼ばれるＸＭＰＰ接続を予め確立しておく必要がある。これにより、ＭＦＰ８０は、自らが能動的に通信しなくても、ＸＭＰＰ接続を利用して、インターネット６を介して、サーバ５０からリクエスト情報を取得することができる。なお、リクエスト情報の内容については後で詳しく説明する。
【００２６】
図２に示す各処理は、ＰＣ１０がＬＡＮ４Ａ内に存在する間に行われる。Ｓ１０では、ＬＡＮ４Ａ内に存在するＰＣ１０のＣＰＵ３２は、ユーザからの指示に応じて、ユーザによって決定されるユーザアカウントＡＣを含むアカウント登録要求を、ＬＡＮ４Ａ及びインターネット６を介して、サーバ５０に供給する。アカウント登録要求は、ユーザＩＤとパスワードとを含むユーザアカウントＡＣの登録をサーバ５０に要求するためのコマンドである。
【００２７】
Ｓ１２では、サーバ５０のＣＰＵ６２は、ＰＣ１０から取得されたユーザアカウントＡＣを登録する（即ち、メモリ６４に格納する）。続くＳ１４では、ＣＰＵ６２は、ＰＩＮコードＰＮＣを発行する。ＰＩＮコードＰＮＣは、サーバ５０とＭＦＰ８０との間のＸＭＰＰ接続を確立するために、ＰＣ１０によって用いられる情報である。具体的には、Ｓ１４では、ＣＰＵ６２は、ＰＩＮコードＰＮＣを生成し、生成されたＰＩＮコードＰＮＣを、ユーザアカウントＡＣと対応付けてメモリ６４に格納する。次いで、Ｓ１６では、ＣＰＵ６２は、生成されたＰＩＮコードＰＮＣを含むアカウント登録通知を、インターネット６及びＬＡＮ４Ａを介して、ＰＣ１０に供給する。アカウント登録通知は、Ｓ１０のアカウント登録要求に応じたユーザアカウントＡＣの登録が完了したことを示す通知である。
【００２８】
Ｓ１８では、ＰＣ１０のＣＰＵ３２は、サーバ５０から取得されたＰＩＮコードＰＮＣを表示部１４に表示させる。これにより、ＰＣ１０のユーザは、アカウント登録通知に含まれるＰＩＮコードＰＮＣを知ることができる。ユーザは、操作部１２を操作して、ＰＩＮコードＰＮＣを入力して、サーバ５０とＭＦＰ８０との間にＸＭＰＰ接続を確立するためのサーバ接続指示を入力することができる。この場合、続くＳ２０において、ＣＰＵ３２は、ユーザによって入力されたＰＩＮコードＰＮＣを含むサーバ接続要求を、ＬＡＮ４Ａを介して、ＭＦＰ８０に供給する。
【００２９】
ＭＦＰ８０は、ＰＣ１０からサーバ接続要求を取得すると、Ｓ２２において、ＰＣ１０から取得されたＰＩＮコードＰＮＣと、ＭＦＰ８０のデバイス情報（即ち「ＤＩ８０」）と、を含むＸＭＰＰ接続要求を、ＬＡＮ４Ａ及びインターネット６を介してサーバ５０に供給する。
【００３０】
サーバ５０のＣＰＵ６２は、ＭＦＰ８０からＸＭＰＰ接続要求を取得すると、取得されたＸＭＰＰ接続要求に含まれるＰＩＮコードＰＮＣを用いて認証を実行する。ＣＰＵ６２は、ＰＩＮコードＰＮＣがメモリ６４内に格納されている場合には、ＰＩＮコードＰＮＣの認証が成功したと判断し、ＰＩＮコードＰＮＣがメモリ６４内に格納されていない場合には、ＰＩＮコードＰＮＣの認証が失敗したと判断する。図２の例では、Ｓ２４において、ＣＰＵ６２は、ＰＩＮコードＰＮＣの認証が成功したと判断して、ＸＭＰＰ接続の確立を許可することを決定する。この際、ＣＰＵ６２は、サーバ５０とＭＦＰ８０との間に確立されるＸＭＰＰ接続を識別するための接続ＩＤ（IDentification informationの略）を生成する。さらに、ＣＰＵ６２は、ＰＩＮコードＰＮＣをメモリ６４から削除するとともに、ＸＭＰＰ接続要求内のデバイス情報（即ち「ＤＩ８０」）と、生成された接続ＩＤとを、ユーザアカウントＡＣに対応付けて、メモリ６４に格納する。
【００３１】
この結果、Ｓ２６において、サーバ５０とＭＦＰ８０との間にＸＭＰＰ接続が確立される。即ち、サーバ５０のＣＰＵ６２は、ＭＦＰ８０とのＸＭＰＰ接続を確立する。従って、この後、ＭＦＰ８０は、インターネット６を介してサーバ５０からリクエスト情報（後述）を取得することができる（後述の図３のＳ６４、Ｓ６６）。
【００３２】
なお、上記の図２の例では、ＭＦＰ８０とサーバ５０との間にＸＭＰＰ接続を確立する場合の各処理について説明したが、ＭＦＰ９０とサーバ５０との間にＸＭＰＰ接続を確立する場合も同様の処理が実行される。
【００３３】
（ＭＦＰ８０にＧＥＴ処理を実行させるための各処理；図３）
続いて、図３を参照して、ＬＡＮ４Ａ内に存在するＭＦＰ８０にＧＥＴ処理を実行させるための各処理の内容を説明する。図３の例では、ＰＣ１０が、ＬＡＮ４ＡとＬＡＮ４Ｂのどちらかに所属している状況が想定されている。
【００３４】
ＰＣ１０のユーザは、操作部１２を操作して、メモリ３４に格納されているデバイス情報（即ち「ＤＩ８０」，「ＤＩ９０」）を含むリスト１００を表示部１４に表示させる。次いで、Ｓ４０では、ユーザは、リスト１００内から、ＭＦＰ８０を示すデバイス情報（即ち「ＤＩ８０」）を選択するとともに、当該ＭＦＰ８０にＧＥＴ処理を実行させる旨の処理実行指示を入力する。この例では、ユーザは、ＭＦＰ８０に、ＭＦＰ８０のステータス情報をＰＣ１０に供給するＧＥＴ処理を実行させる旨の処理実行指示を入力する。
【００３５】
Ｓ４０で「ＤＩ８０」が選択されるとともに、処理実行指示が入力されることに応じて、Ｓ４２では、ＰＣ１０のＣＰＵ３２は、選択されたデバイス情報（即ち「ＤＩ８０」）を含む応答要求を、ＰＣ１０が現在所属しているＬＡＮ（即ち、ＬＡＮ４Ａ又はＬＡＮ４Ｂ）内にブロードキャスト送信する。応答要求は、「ＤＩ８０」によって示されるデバイス（即ちＭＦＰ８０）に応答を供給することを要求するコマンドである。
【００３６】
次いで、Ｓ４４において、ＣＰＵ３２は、ＭＦＰ８０が、ＰＣ１０と同じＬＡＮ内に存在するか否かを判断する。
【００３７】
ＰＣ１０がＬＡＮ４Ａに所属している場合、同じＬＡＮ４Ａ内に存在するＭＦＰ８０，９０は、Ｓ４２でブロードキャスト送信された応答要求を取得する。ＭＦＰ８０は、「ＤＩ８０」によって示されるデバイスであるため、ＬＡＮ４Ａを介して、応答要求に対する応答をＰＣ１０に供給する。一方、ＭＦＰ９０は、「ＤＩ８０」によって示されるデバイスではないため、応答要求を取得するが、応答要求に対する応答ＰＣ１０に供給しない。
【００３８】
ＰＣ１０のＣＰＵ３２は、ＭＦＰ８０から応答を取得すると、Ｓ４４でＹＥＳと判断し、Ｓ５０に進む。
【００３９】
一方、ＰＣ１０がＬＡＮ４Ｂに所属している場合、ＬＡＮ４Ａ内に存在しているＭＦＰ８０，９０は、Ｓ４２でブロードキャスト送信された応答要求を取得することはできない。そのため、ＭＦＰ８０は、応答要求に対する応答をＰＣ１０に供給することはできない。
【００４０】
ＰＣ１０のＣＰＵ３２は、ＭＦＰ８０から応答を取得することなく所定のタイムアウト期間が経過する場合、Ｓ４４でＮＯと判断し、Ｓ６０に進む。
【００４１】
（ＰＣ１０とＭＦＰ８０が同じＬＡＮ内に存在する場合の各処理；Ｓ５０、Ｓ５２）
Ｓ５０では、ＣＰＵ３２は、ＬＡＮ４Ａを介して、ＨＴＴＰ（Hyper Text Transfer Protocolの略）リクエストをＭＦＰ８０に供給する。具体的には、まず、ＣＰＵ３２は、ＨＴＴＰリクエストを生成する。
【００４２】
ここで、図３及び図４を参照して、この例におけるＨＴＴＰリクエストの内容について説明する。ＨＴＴＰリクエストは、メソッド、ＵＲＬ（Uniform Resource Locatorの略）、ヘッダ、ボディの各部分を含む。メソッドは、ＨＴＴＰリクエストの供給先に対するコマンドを含む部分である。この例では、メソッドは、データの供給を要求するためのコマンドである「ＧＥＴ」を含む。ＵＲＬは、ホスト名と、パスとを含む。Ｓ５０のＨＴＴＰリクエストでは、ホスト名は、ＬＡＮ４Ａ内でＭＦＰ８０を識別するためのデバイス情報（即ち「ＤＩ８０」）である。パスは、ＨＴＴＰリクエストの供給先を示す部分である。この例では、パスは、ステータス情報を示す「／ｓｔａｔｕｓ」である（図４参照）。パスは、ＨＴＴＰリクエストの供給先を示す部分である。この例では、パスは、ステータス情報を示す「／ｓｔａｔｕｓ」である（図４参照）。即ち、Ｓ５０で生成されるＵＲＬは、ＬＡＮ４Ａ内のＭＦＰ８０にＨＴＴＰリクエストを供給するためのＵＲＬ（いわゆるローカルＵＲＬ）であると言い換えることができる。以下では、Ｓ５０で生成されるＵＲＬ（即ち「ＤＩ８０」を含むＵＲＬ）のことを「第１のＵＲＬ」と呼ぶ場合がある。ヘッダは、ボディに含まれる情報の情報形式及び情報サイズを示す情報を含む部分である。また、Ｓ５０で生成されるＨＴＴＰリクエストのヘッダは、上述のホスト名を含む。ボディは、処理に関係する情報を含む部分である。ただし、図４に示すように、Ｓ５０のＨＴＴＰリクエストは、情報の供給のみを要求するためのリクエストであるため、ヘッダには上記のホスト名が含まれるのみで、他の情報は含まれない。また、ボディには何も情報が含まれない。以下では、ＨＴＴＰリクエストに含まれるメソッドと、パスと、ヘッダと、ボディと、のことをまとめて「リクエスト情報」と呼ぶ場合がある。また、ＨＴＴＰリクエストに含まれる各情報は、ＨＴＭＬ形式を有する。
【００４３】
ＣＰＵ３２は、ＨＴＴＰリクエストを生成すると、ＨＴＴＰリクエストに含まれるＵＲＬ（即ち、第１のＵＲＬ）を送信先として、生成されたＨＴＴＰリクエストをＬＡＮ４Ａに送信する。これにより、ＣＰＵ３２は、インターネット６を介さずに、ＬＡＮ４Ａ内に存在するＭＦＰ８０にＨＴＴＰリクエストを供給することができる（Ｓ５０）。
【００４４】
ＭＦＰ８０は、ＰＣ１０からＨＴＴＰリクエストを取得すると、Ｓ５２において、ＬＡＮ４Ａを介して、ＨＴＴＰリクエストに対する応答であるＨＴＴＰレスポンスをＰＣ１０に供給する。ＨＴＴＰレスポンスは、ＧＥＴ処理に関係する関係情報（即ち、ＰＣ１０が要求する情報）を含む。具体的には、Ｓ５２では、ＭＦＰ８０は、ＰＣ１０からＨＴＴＰリクエストを取得すると、ＨＴＴＰリクエストに含まれるリクエスト情報に対応する関係情報（即ち、ＭＦＰ８０のステータス情報）を含むＨＴＴＰレスポンスを生成する。
【００４５】
ここで、図４を参照し、この例におけるＨＴＴＰレスポンスの内容について説明する。ＨＴＴＰレスポンスは、ステータスコード、ヘッダ、ボディの各部分を含む。ステータスコードは、処理結果を示す情報を含む部分である。この例では、ステータスコードは、処理が成功したことを示す「２００ＯＫ」を含む。ヘッダは、ボディに含まれる情報の情報形式及び情報サイズを示す情報を含む部分である。ボディは、関係情報（即ち、リクエスト情報に対応する情報）を含む部分である。図４に示すように、Ｓ５２のＨＴＴＰレスポンスでは、ボディは、ＭＦＰ８０のステータスを示すステータス情報（図４の例では「Ｎｏ  Ｐａｐｅｒ」）を含む。即ち、「関係情報」は、ＨＴＴＰレスポンスのボディに含まれる情報と言い換えることができる。また、ヘッダは、ボディに含まれるステータス情報の情報形式及び情報サイズを示す情報を含む。また、ＨＴＴＰレスポンスに含まれる各情報は、ＨＴＭＬ形式を有する。
【００４６】
ＭＦＰ８０は、上記の関係情報を含むＨＴＴＰレスポンスを生成すると、ＬＡＮ４Ａを介して、ＰＣ１０にＨＴＴＰレスポンスを供給する（図３のＳ５２）。
【００４７】
ＰＣ１０のＣＰＵ３２は、ＭＦＰ８０から、ＨＴＴＰレスポンスを取得する。ＣＰＵ３２は、ＨＴＴＰレスポンスのボディを参照することにより、ＭＦＰ８０のステータスを示すステータス情報（即ち「Ｎｏ  Ｐａｐｅｒ」）を取得することができる。
【００４８】
（ＰＣ１０とＭＦＰ８０が同じＬＡＮ内に存在しない場合の各処理；Ｓ６０〜Ｓ６８）
Ｓ６０では、ＣＰＵ３２は、インターネット６上のサーバ５０にＨＴＴＰリクエストを供給する。具体的には、まず、ＣＰＵ３２は、ＨＴＴＰリクエストを生成する。
【００４９】
Ｓ６０で生成されるＨＴＴＰリクエストの内容も、基本的には、Ｓ５０で生成されるＨＴＴＰリクエストの内容と同じである（図４参照）。ただし、ＵＲＬに含まれるホスト名、及び、ヘッダに含まれるホスト名が、「ＤＩ８０．ｂｏｌ．ｃｏｍ」である点が、Ｓ５０で生成されるＨＴＴＰリクエストとは異なる。即ち、Ｓ６０で生成されるＨＴＴＰリクエストは、Ｓ５０で生成されるＨＴＴＰリクエストと同様のリクエスト情報（即ち、メソッド、パス、ヘッダ、ボディ）を含む。Ｓ６０で生成されるＨＴＴＰリクエストのＵＲＬに含まれるホスト名は、ＬＡＮ４Ａ内でＭＦＰ８０を識別するためのデバイス情報（即ち「ＤＩ８０」）の後ろに、サーバ５０を識別するための所定のサーバ文字列である「ｂｏｌ．ｃｏｍ」を付加した情報である。サーバ文字列「ｂｏｌ．ｃｏｍ」は、メモリ３４に予め格納されている。即ち、Ｓ５０で生成されるＵＲＬは、インターネット６上のサーバ５０にＨＴＴＰリクエストを供給するためのＵＲＬ（いわゆるインターネット上のＵＲＬ）であると言い換えることができる。以下では、Ｓ６０で生成される「ＤＩ８０．ｂｏｌ．ｃｏｍ」を含むＵＲＬのことを「第２のＵＲＬ」と呼ぶ場合がある。
【００５０】
ＣＰＵ３２は、ＨＴＴＰリクエストを生成すると、ＨＴＴＰリクエストに含まれるＵＲＬ（即ち、第２のＵＲＬ）を送信先として、生成されたＨＴＴＰリクエストをサーバ５０に送信する。これにより、ＣＰＵ３２は、ＨＴＴＰリクエストを、インターネット６を介して、サーバ５０に供給することができる（Ｓ６０）。
【００５１】
サーバ５０のＣＰＵ６２は、ＰＣ１０からＨＴＴＰリクエストを取得すると、Ｓ６２において、ＨＴＴＰリクエストに含まれるＵＲＬ（即ち、第２のＵＲＬ）を参照し、デバイス情報（即ち「ＤＩ８０」）を特定する。具体的には、Ｓ６２では、ＣＰＵ６２は、ＨＴＴＰリクエストに含まれるＵＲＬ（即ち、第２のＵＲＬ）のホスト名「ＤＩ８０．ｂｏｌ．ｃｏｍ」から、サーバ文字列「ｂｏｌ．ｃｏｍ」を取り除くことによって、ＭＦＰ８０のデバイス情報（即ち「ＤＩ８０」）を特定する。
【００５２】
次いで、Ｓ６３では、ＣＰＵ６２は、メモリ６４を参照し、Ｓ６２で特定された「ＤＩ８０」に対応付けられているＸＭＰＰ接続の接続ＩＤ（図２参照）を特定する。次いで、Ｓ６４において、ＣＰＵ６２は、ＸＭＰＰリクエストをＰＣ１０に供給する。具体的には、Ｓ６４では、ＣＰＵ６２は、ＰＣ１０から取得されたＨＴＴＰリクエストに含まれるリクエスト情報（即ち、メソッド、パス、ヘッダ、ボディ）を含むＸＭＰＰリクエストを生成する。次いで、ＣＰＵ６２は、生成されたＸＭＰＰリクエストを、Ｓ６３で特定された接続ＩＤが示すＸＭＰＰ接続（即ち、サーバ５０とＭＦＰ８０との間に確立されたＸＭＰＰ接続）を用いて、ＭＦＰ８０に供給する。
【００５３】
ＭＦＰ８０は、サーバ５０からＸＭＰＰリクエストを取得すると、Ｓ６６において、ＸＭＰＰレスポンスをサーバ５０に供給する。具体的には、Ｓ６６では、ＭＦＰ８０は、ＸＭＰＰリクエストに含まれるリクエスト情報に対応する情報（即ち、関係情報）を含むＸＭＰＰレスポンスを生成する。この例では、Ｓ６６のＸＭＰＰレスポンスに含まれる関係情報は、ＭＦＰ８０のステータス情報「Ｎｏ  Ｐａｐｅｒ」を含む。次いで、ＭＦＰ８０は、生成されたＸＭＰＰレスポンスを、サーバ５０との間に確立されたＸＭＰＰ接続を用いて、サーバ５０に供給する。
【００５４】
上記の通り、サーバ５０のＣＰＵ６２は、ＰＣ１０からＨＴＴＰリクエストを取得すると、ＨＴＴＰリクエストに含まれるＵＲＬ（即ち、第２のＵＲＬ）のホスト名「ＤＩ８０．ｂｏｌ．ｃｏｍ」から、サーバ文字列「ｂｏｌ．ｃｏｍ」を取り除くことによって、ＭＦＰ８０のデバイス情報（即ち「ＤＩ８０」）を特定する（Ｓ６２）。次いで、ＣＰＵ６２は、メモリ６４を参照し、Ｓ６２で特定された「ＤＩ８０」に対応付けられているＸＭＰＰ接続の接続ＩＤ（図２参照）を特定する（Ｓ６３）。次いで、ＣＰＵ６２は、ＰＣ１０から取得されたＨＴＴＰリクエストに含まれるリクエスト情報（即ち、メソッド、パス、ヘッダ、ボディ）を含むＸＭＰＰリクエストを生成する。次いで、ＣＰＵ６２は、生成されたＸＭＰＰリクエストを、特定された接続ＩＤが示すＸＭＰＰ接続（即ち、サーバ５０とＭＦＰ８０との間に確立されたＸＭＰＰ接続）を用いて、ＭＦＰ８０に供給する（Ｓ６４）。当該ＸＭＰＰリクエストに含まれるリクエスト情報は、ＭＦＰ８０がＬＡＮ４ａを介してＰＣ１０からＨＴＴＰリクエストを取得する場合（Ｓ５０）に当該ＨＴＴＰリクエストに含まれるリクエスト情報と同様である。従って、ＣＰＵ６２は、ＨＴＴＰリクエストに含まれる第２のＵＲＬを利用して、ＭＦＰ８０にリクエスト情報を適切に供給することができる。また、ＣＰＵ６２は、ＭＦＰ８０から関係情報を適切に取得することができる。
【００５５】
サーバ５０のＣＰＵ６２は、ＭＦＰ８０からＸＭＰＰレスポンスを取得すると、Ｓ６８において、ＨＴＴＰレスポンスをＰＣ１０に供給する。具体的には、Ｓ６８では、ＣＰＵ６２は、ＭＦＰ８０から取得したＸＭＰＰレスポンスに含まれる関係情報を含むＨＴＴＰレスポンス（図４参照）を生成する。Ｓ６８で生成されるＨＴＴＰレスポンスは、Ｓ５２で生成されるＨＴＴＰレスポンスと同じである。次いで、ＣＰＵ６２は、生成されたＨＴＴＰレスポンスを、インターネット６を介して、ＰＣ１０に供給する。
【００５６】
ＰＣ１０のＣＰＵ３２は、サーバ５０から、ＨＴＴＰレスポンスを取得する。ＣＰＵ３２は、ＨＴＴＰレスポンスのボディを参照することにより、ＭＦＰ８０のステータスを示すステータス情報（即ち「Ｎｏ  Ｐａｐｅｒ」）を取得することができる。
【００５７】
なお、上記の図３の例では、ＭＦＰ８０にＧＥＴ処理を実行させる場合の各処理について説明したが、ＭＦＰ９０にＧＥＴ処理を実行させる場合も同様の処理が実行される。
【００５８】
（本実施例の作用効果）
上記の通り、本実施例では、ＰＣ１０は、ＰＣ１０が所属しているＬＡＮ内に通信装置が存在していると判断される場合（図３のＳ４４でＹＥＳ）には、インターネット６を介さずに、リクエスト情報をＭＦＰ８０に供給する（Ｓ５０）。インターネット６を介さずにリクエスト情報がＭＦＰ８０に供給されるので、インターネット６を介してリクエスト情報が供給される場合と比べて、リクエスト情報がＭＦＰ８０に迅速に供給される。一方、ＰＣ１０は、ＰＣ１０が所属しているＬＡＮ内にＭＦＰ８０が存在していないと判断される場合（Ｓ４４でＮＯ）には、インターネット６上のサーバ５０を介して、リクエスト情報をＭＦＰ８０に供給する（Ｓ６０〜Ｓ６４）。インターネット６上のサーバ５０が利用されるので、リクエスト情報がＭＦＰ８０に適切に供給される。従って、本実施例によると、ＰＣ１０及びＭＦＰ８０の状況に応じて、ＰＣ１０からＭＦＰ８０にリクエスト情報を適切に供給することができる。
【００５９】
また、本実施例では、ＰＣ１０は、ＰＣ１０が所属しているＬＡＮ内にＭＦＰ８０が存在していないと判断される場合（Ｓ４４でＮＯ）に、ＬＡＮ４Ａ内でＭＦＰ８０を識別するためのデバイス情報「ＤＩ８０」の後ろに、サーバ５０を識別するための所定のサーバ文字列である「ｂｏｌ．ｃｏｍ」を付加したホスト名「ＤＩ８０．ｂｏｌ．ｃｏｍ」を含む第２のＵＲＬを送信先として、ＨＴＴＰリクエストをサーバ５０に送信する（Ｓ６０）。即ち、ＰＣ１０は、インターネット６を介してＭＦＰ８０と通信する場合のＭＦＰ８０のホスト名を、デバイス情報「ＤＩ８０」とは別にメモリ３４に格納していなくても、メモリ３４に格納されているデバイス情報「ＤＩ８０」を用いて、第２のＵＲＬを生成することができる。
【００６０】
また、本実施例では、サーバ５０のＣＰＵ６２は、ＰＣ１０からＨＴＴＰリクエストを取得すると、ＨＴＴＰリクエストに含まれるＵＲＬ（即ち、第２のＵＲＬ）のホスト名「ＤＩ８０．ｂｏｌ．ｃｏｍ」から、サーバ文字列「ｂｏｌ．ｃｏｍ」を取り除くことによって、ＭＦＰ８０のデバイス情報（即ち「ＤＩ８０」）を特定する（Ｓ６２）。次いで、ＣＰＵ６２は、メモリ６４を参照し、Ｓ６２で特定された「ＤＩ８０」に対応付けられているＸＭＰＰ接続の接続ＩＤ（図２参照）を特定する（Ｓ６３）。次いで、ＣＰＵ６２は、ＰＣ１０から取得されたＨＴＴＰリクエストに含まれるリクエスト情報（即ち、メソッド、パス、ヘッダ、ボディ）を含むＸＭＰＰリクエストを生成する。次いで、ＣＰＵ６２は、生成されたＸＭＰＰリクエストを、特定された接続ＩＤが示すＸＭＰＰ接続（即ち、サーバ５０とＭＦＰ８０との間に確立されたＸＭＰＰ接続）を用いて、ＭＦＰ８０に供給する（Ｓ６４）。当該ＸＭＰＰリクエストに含まれるリクエスト情報は、ＭＦＰ８０がＬＡＮ４ａを介してＰＣ１０からＨＴＴＰリクエストを取得する場合（Ｓ５０）に当該ＨＴＴＰリクエストに含まれるリクエスト情報と同様である。従って、ＣＰＵ６２は、ＨＴＴＰリクエストに含まれる第２のＵＲＬを利用して、ＭＦＰ８０にリクエスト情報を適切に供給することができる。また、ＣＰＵ６２は、ＭＦＰ８０から関係情報を適切に取得することができる。
【００６１】
（対応関係）
ＰＣ１０、ＭＦＰ８０が、それぞれ、「端末装置」、「通信装置」の一例である。ＧＥＴ処理が、「特定処理」の一例である。図３のＳ５０でＭＦＰ８０に供給されるＨＴＴＰリクエストに含まれるリクエスト情報、Ｓ６０でサーバ５０に供給されるＨＴＴＰリクエストに含まれるリクエスト情報が、それぞれ、「第１の処理実行情報」、「第２の処理実行情報」の一例である。デバイス情報である「ＤＩ８０」、サーバ文字列である「ｂｏｌ．ｃｏｍ」が、それぞれ、「装置文字列」、「サーバ文字列」の一例である。Ｓ４２でブロードキャスト送信される応答要求が「所定要求」の一例である。Ｓ５２で取得されるＨＴＴＰレスポンス、Ｓ６８で取得されるＨＴＴＰレスポンスが、それぞれ、「第１の応答」、「第２の応答」の一例である。サーバ５０とＭＦＰ８０との間に確立されるＸＭＰＰ接続が、「インターネットを介した接続」の一例である。
【００６２】
Ｓ４０で、ユーザが入力する処理実行指示を取得することが、「指示取得部」が実行する処理の一例である。Ｓ４４の処理が、「判断部」が実行する処理の一例である。Ｓ５０の処理が、「第１の供給部」が実行する処理の一例である。Ｓ６０の処理が、「第２の供給部」が実行する処理の一例である。Ｓ４２の処理が、「送信部」が実行する処理の一例である。Ｓ５０で第１のＵＲＬを生成する処理、及び、Ｓ６０で第２のＵＲＬを生成する処理が、「生成部」が実行する処理の一例である。Ｓ５２の処理が、「第１の応答取得部」が実行する処理の一例である。Ｓ６８の処理が、「第２の応答取得部」が実行する処理の一例である。
【００６３】
Ｓ６０でＰＣ１０からＨＴＴＰリクエストを取得することが、「サーバ側取得部」が実行する処理の一例である。Ｓ６８でＰＣ１０にＨＴＴＰレスポンスを供給することが、「サーバ側供給部」が実行する処理の一例である。図２のＳ２６の処理が、「確立部」が実行する処理の一例である。
【００６４】
（第２実施例）
第１実施例とは異なる点を説明する。本実施例では、ＭＦＰ８０にＧＥＴ処理を実行させるための各処理の一部が、第１実施例とは異なる。以下、図５を参照して説明する。
【００６５】
（ＭＦＰ８０にＧＥＴ処理を実行させるための各処理；図５）
Ｓ１４０の処理は、図３のＳ４０と同様である。即ち、Ｓ１４０では、デバイス情報「ＤＩ８０」が選択されるとともに、ＭＦＰ８０のステータス情報をＰＣ１０に供給するＧＥＴ処理を実行させる旨の処理実行指示が入力される。
【００６６】
本実施例では、続くＳ１５０において、ＰＣ１０のＣＰＵ３２は、ＰＣ１０が現在所属しているＬＡＮ（即ち、ＬＡＮ４ＡとＬＡＮ４Ｂのどちらか）にＨＴＴＰリクエストを送信することによって、インターネット６を介さずに、ＨＴＴＰリクエストをＭＦＰ８０に供給することを試行する。Ｓ１５０においてＣＰＵ３２がＨＴＴＰリクエストを生成する手法、及び、ＨＴＴＰリクエストの内容（図４参照）は、図３のＳ５０と同様である。従って、Ｓ１５０で生成されるＨＴＴＰリクエストにも、上記の第１のＵＲＬが含まれる。Ｓ１５０では、ＣＰＵ３２は、第１のＵＲＬを送信先として、生成されたＨＴＴＰリクエストを、ＰＣ１０が現在所属しているＬＡＮに送信（即ち、ユニキャスト送信）する。
【００６７】
（ＰＣ１０とＭＦＰ８０が同じＬＡＮ内に存在する場合の各処理；Ｓ１５２）
ＰＣ１０がＬＡＮ４Ａに所属している場合、ＬＡＮ４Ａ内に存在するＭＦＰ８０は、Ｓ１５０で送信されたＨＴＴＰリクエストを取得する。この場合、Ｓ１５２において、ＭＦＰ８０は、ＬＡＮ４Ａを介して、ＨＴＴＰリクエストに対する応答であるＨＴＴＰレスポンスをＰＣ１０に供給する。Ｓ１５２においてＨＴＴＰレスポンスを生成する手法、ＨＴＴＰレスポンスの内容（図４参照）、及び、生成されたＨＴＴＰレスポンスをＰＣ１０に供給する手法は、図３のＳ５０と同様である。
【００６８】
ＰＣ１０のＣＰＵ３２は、ＭＦＰ８０から、ＨＴＴＰレスポンスを取得する。ＣＰＵ３２は、ＨＴＴＰレスポンスのボディを参照することにより、ＭＦＰ８０のステータスを示すステータス情報（即ち「Ｎｏ  Ｐａｐｅｒ」）を取得することができる。
【００６９】
（ＰＣ１０とＭＦＰ８０が同じＬＡＮ内に存在しない場合の各処理；Ｓ１６０〜Ｓ１６８）
一方、ＰＣ１０がＬＡＮ４Ｂに所属している場合、ＬＡＮ４Ｂとは異なるＬＡＮ４Ａ内に存在しているＭＦＰ８０は、Ｓ１５０で送信されたＨＴＴＰリクエストを取得することはできない。そのため、ＭＦＰ８０は、ＨＴＴＰリクエストに対する応答であるＨＴＴＰレスポンスをＰＣ１０に供給することはできない。
【００７０】
ＰＣ１０のＣＰＵ３２は、ＭＦＰ８０からＨＴＴＰレスポンスを取得することなく所定のタイムアウト期間が経過する場合、Ｓ１６０に進む。Ｓ１６０では、ＣＰＵ３２は、インターネット６上のサーバ５０にＨＴＴＰリクエストを供給する。Ｓ１６０の処理は、図３のＳ６０と同様である。
【００７１】
その後実行されるＳ１６２、Ｓ１６３、Ｓ１６４、Ｓ１６６、Ｓ１６８の各処理も、図３のＳ６２、Ｓ６３、Ｓ６４、Ｓ６６、Ｓ６８の各処理と同様であるため、詳しい説明を省略する。
【００７２】
ＰＣ１０のＣＰＵ３２は、サーバ５０から、ＨＴＴＰレスポンスを取得することにより、ＭＦＰ８０のステータスを示すステータス情報（即ち「Ｎｏ  Ｐａｐｅｒ」）を取得することができる。
【００７３】
（本実施例の作用効果）
上記の通り、本実施例では、ＰＣ１０は、第１のＵＲＬを送信先として、ＰＣ１０が所属しているＬＡＮにＨＴＴＰリクエストを送信することによって、インターネット６を介さずに、リクエスト情報をＭＦＰ８０に供給することを試行する（Ｓ１５０）。上記の試行が成功する場合、即ち、インターネット６を介さずにリクエスト情報が供給される場合には、インターネット６を介してリクエスト情報が供給される場合と比べて、リクエスト情報がＭＦＰ８０に迅速に供給される。一方、ＰＣ１０は、ＨＴＴＰリクエストをＭＦＰ８０に供給することが失敗する場合に、インターネット６上のサーバ５０を介して、リクエスト情報をＭＦＰ８０に供給する（Ｓ１６０〜Ｓ１６４）。インターネット６上のサーバ５０が利用されるので、リクエスト情報がＭＦＰ８０に適切に供給される。従って、本実施例による場合も、ＰＣ１０及びＭＦＰ８０の状況に応じて、ＰＣ１０からＭＦＰ８０にリクエスト情報を適切に供給することができる。
【００７４】
（対応関係）
Ｓ１５０の処理が、「試行部」が実行する処理の一例である。Ｓ１６０の処理が、「供給部」が実行する処理の一例である。
【００７５】
（ＭＦＰ８０にその他の処理を実行させる場合；図６〜図８）
上記の各実施例では、図３及び図５を参照して、ＭＦＰ８０にＧＥＴ処理を実行させる場合の各処理について説明した。ＭＦＰ８０にその他の処理（即ち、ＳＥＴ処理、ＳＣＡＮ処理、ＰＲＩＮＴ処理）を実行させる場合の各処理も、基本的には上記の図３及び図５の場合と同様である。ただし、図３のＳ５０、Ｓ６０（又は図５のＳ１５０、Ｓ１６０）におけるＨＴＴＰリクエストの内容、及び、Ｓ５２、Ｓ６８（又はＳ１５２、Ｓ１６８）におけるＨＴＴＰレスポンスの内容が、ＧＥＴ処理の場合（図４）とは異なる。以下、図６〜図８を参照して、ＭＦＰ８０に、ＳＥＴ処理、ＳＣＡＮ処理、ＰＲＩＮＴ処理、の各処理を実行させる場合におけるＨＴＴＰリクエスト及びＨＴＴＰレスポンスの内容について説明する。
【００７６】
なお、ＳＥＴ処理とは、所望の情報（例えば、時刻情報）をＭＦＰ８０に設定させるための処理である。ＳＣＡＮ処理とは、ＭＦＰ８０に原稿をスキャンさせ、スキャン画像データを生成させるための処理である。ＰＲＩＮＴ処理とは、ＭＦＰ８０に印刷を実行させるための処理である。
【００７７】
（ＳＥＴ処理；図６）
図６を参照して、ＭＦＰ８０にＳＥＴ処理を実行させる場合におけるＨＴＴＰリクエスト及びＨＴＴＰレスポンスの内容について説明する。図６の例では、図３のＳ４０（又は図５のＳ１４０）において、ＭＦＰ８０に、ＰＣ１０が計時する現在時刻を設定させるＳＥＴ処理を実行させるための処理実行要求が入力された状況を想定している。
【００７８】
図６に示すように、ＨＴＴＰリクエスト（図３のＳ５０、Ｓ６０（又は図５のＳ１５０、Ｓ１６０））のメソッドは、データを送信するためのコマンドである「ＰＯＳＴ」を含む。ＵＲＬのパスは、時刻を表す「／ｔｉｍｅ」である。ＵＲＬに含まれるホスト名については、上記各実施例で説明した通りである。即ち、ＵＲＬが第１のＵＲＬである場合（図３のＳ５０、図５のＳ１５０）におけるホスト名は「ＤＩ８０」であり、ＵＲＬが第２のＵＲＬである場合（図３のＳ６０、図５のＳ１６０）におけるホスト名は「ＤＩ８０．ｂｏｌ．ｃｏｍ」である。ヘッダは、ボディに含まれる情報の情報形式及び情報サイズを示す情報を含む。ヘッダは、さらに、ＵＲＬに含まれるホスト名と同じホスト名を含む。ボディは、ＰＣ１０が計時する現在時刻を示す時刻情報「２０１５−０３−０３−Ｔ１１：２２：３３」を含む。
【００７９】
ＭＦＰ８０は、このＨＴＴＰリクエストをＰＣ１０から取得すると、ボディに含まれる時刻情報が示す時刻「２０１５−０３−０３−Ｔ１１：２２：３３」をＭＦＰ８０の現在時刻として設定する。ＭＦＰ８０は、ＨＴＴＰリクエスト中のリクエスト情報（即ちメソッド、パス、ヘッダ、ボディ）を含むＸＭＰＰリクエストをサーバ５０から取得する場合も同様の処理を行う。
【００８０】
上記のＨＴＴＰリクエストに対するＨＴＴＰレスポンス（図３のＳ５２、Ｓ６８（又は図５のＳ１５２、Ｓ１６８））のステータスコードは、処理が成功したことを示す「２００ＯＫ」を含む。ヘッダは、ボディに含まれる情報の情報形式及び情報サイズを示す情報を含む。ボディは、処理結果を示す「ＯＫ」（即ち、現在時刻の設定が成功したことを示す情報）を含む。
【００８１】
（ＳＣＡＮ処理；図７）
図７を参照して、ＭＦＰ８０にＳＣＡＮ処理を実行させる場合におけるＨＴＴＰリクエスト及びＨＴＴＰレスポンスの内容について説明する。図７の例では、図３のＳ４０（又は図５のＳ１４０）において、ＳＣＡＮ処理をＭＦＰ８０に実行させるための処理実行要求が入力された状況を想定している。ＭＦＰ８０にＳＣＡＮ処理を実行させる場合には、ＨＴＴＰリクエスト及びＨＴＴＰレスポンスの通信が２回実行される点がＧＥＴ処理（図４）及びＳＥＴ処理（図６）の場合とは異なる。
【００８２】
１回目のＨＴＴＰリクエストのメソッドは、「ＧＥＴ」を含む。ＵＲＬのパスは、ＭＦＰ８０がスキャンを実行する際の能力を示す情報（いわゆるｃａｐａｂｉｌｉｔｙ情報）を表す「／ｓｃａｎ／ｃａｐａｂｉｌｉｔｙ」である。ヘッダには、ＵＲＬに含まれるホスト名と同じホスト名のみが含まれる。また、ボディには情報が含まれない。
【００８３】
１回目のＨＴＴＰレスポンスに対する１回目のＨＴＴＰレスポンスのステータスコードは、「２００ＯＫ」を含む。ヘッダは、ボディに含まれる情報の情報形式及び情報サイズを示す情報を含む。ボディは、ＭＦＰ８０がスキャンを実行する場合の能力を示すｃａｐａｂｉｌｉｔｙ情報を含む。具体的には、ボディは、スキャン解像度「１００ｄｐｉ，２００ｄｐｉ」、スキャンサイズ「Ａ４，Ｂ５」、スキャンデータのファイル形式「ｐｄｆ、ｊｐｅｇ」を含む。
【００８４】
ＰＣ１０のＣＰＵ３２は、上記の１回目のＨＴＴＰレスポンスを取得すると、表示部１４に所定のスキャン設定選択画面を表示させる。ユーザは、スキャン設定選択画面において、所望のスキャン設定（即ち、スキャン解像度、スキャンサイズ、スキャンデータのファイル形式）を選択し、スキャン実行指示を入力する。スキャン設定が選択され、スキャン実行指示が入力されると、ＣＰＵ３２は、図７に示す２回目のＨＴＴＰリクエストを生成する。
【００８５】
２回目のＨＴＴＰリクエストのメソッドは、「ＰＯＳＴ」を含む。ＵＲＬのパスは、ＭＦＰ８０にスキャンを実行させることを要求する「／ｓｃａｎ」である。ヘッダは、ボディに含まれる情報の情報形式及び情報サイズを示す情報を含む。さらに、ヘッダは、ＵＲＬに含まれるホスト名と同じホスト名を含む。ボディは、ユーザが選択したスキャン設定を示す情報を含む。具体的には、ボディは、スキャン解像度「１００ｄｐｉ」、スキャンサイズ「Ａ４」、スキャンデータのファイル形式「ｐｄｆ」を含む。
【００８６】
ＭＦＰ８０は、２回目のＨＴＴＰリクエストをＰＣ１０から取得すると、ボディに含まれる情報が示すスキャン設定に従って原稿のスキャンを実行し、スキャン画像データを生成する。ＭＦＰ８０は、２回目のＨＴＴＰリクエスト中のリクエスト情報（即ちメソッド、パス、ヘッダ、ボディ）を含むＸＭＰＰリクエストをサーバ５０から取得する場合も同様の処理を行う。
【００８７】
２回目のＨＴＴＰレスポンスに対する２回目のＨＴＴＰレスポンスのステータスコードは、「２００ＯＫ」を含む。ヘッダは、ボディに含まれる情報の情報形式及び情報サイズを示す情報を含む。ボディは、生成済みのスキャン画像データを含む。
【００８８】
ＰＣ１０のＣＰＵ３２は、２回目のＨＴＴＰレスポンスを取得することにより、スキャン画像データを取得することができる。
【００８９】
（ＰＲＩＮＴ処理；図８）
図８を参照して、ＭＦＰ８０にＰＲＩＮＴ処理を実行させる場合におけるＨＴＴＰリクエスト及びＨＴＴＰレスポンスの内容について説明する。図８の例では、図３のＳ４０（又は図５のＳ１４０）において、ＰＲＩＮＴ処理をＭＦＰ８０に実行させるための処理実行要求が入力された状況を想定している。この例では、処理実行要求が入力される際に、印刷対象の印刷対象データが併せて選択される。ＭＦＰ８０にＰＲＩＮＴ処理を実行させる場合にも、ＨＴＴＰリクエスト及びＨＴＴＰレスポンスの通信が２回実行される。
【００９０】
１回目のＨＴＴＰリクエストのメソッドは、「ＧＥＴ」を含む。ＵＲＬのパスは、ＭＦＰ８０が印刷を実行する際の能力を示すｃａｐａｂｉｌｉｔｙ情報を表す「／ｐｒｉｎｔ／ｃａｐａｂｉｌｉｔｙ」である。ヘッダには、ＵＲＬに含まれるホスト名と同じホスト名のみが含まれる。また、ボディには情報が含まれない。
【００９１】
１回目のＨＴＴＰレスポンスに対する１回目のＨＴＴＰレスポンスのステータスコードは、「２００ＯＫ」を含む。ヘッダは、ボディに含まれる情報の情報形式及び情報サイズを示す情報を含む。ボディは、ＭＦＰ８０が印刷を実行する場合の能力を示すｃａｐａｂｉｌｉｔｙ情報を含む。具体的には、ボディは、白黒／カラー設定「白黒，カラー」、印刷サイズ「Ａ４，Ｂ５」、印刷品質「ｎｏｍａｌ，ｈｉｇｈ」を含む。
【００９２】
ＰＣ１０のＣＰＵ３２は、上記の１回目のＨＴＴＰレスポンスを取得すると、表示部１４に所定の印刷設定選択画面を表示させる。ユーザは、印刷設定選択画面において、所望の印刷設定（即ち、白黒／カラー設定、印刷サイズ、印刷品質）を選択し、印刷実行指示を入力する。印刷設定が選択され、印刷実行指示が入力されると、ＣＰＵ３２は、図８に示す２回目のＨＴＴＰリクエストを生成する。
【００９３】
２回目のＨＴＴＰリクエストのメソッドは、「ＰＯＳＴ」を含む。ＵＲＬのパスは、ＭＦＰ８０に印刷を実行させることを要求する「／ｐｒｉｎｔ」である。ヘッダは、ボディに含まれる情報の情報形式及び情報サイズを示す情報を含む。さらに、ヘッダは、ＵＲＬに含まれるホスト名と同じホスト名を含む。ボディは、ユーザが選択した印刷設定を示す情報を含む。具体的には、ボディは、白黒／カラー設定「白黒」、印刷サイズ「Ａ４」、印刷品質「ｎｏｍａｌ」を含む。さらに、ボディは、処理実行要求が入力される際に併せて選択された印刷対象データを含む。
【００９４】
ＭＦＰ８０は、２回目のＨＴＴＰリクエストをＰＣ１０から取得すると、ボディに含まれる情報が示す印刷設定に従って、印刷対象データによって表される画像を印刷する。ＭＦＰ８０は、２回目のＨＴＴＰリクエスト中のリクエスト情報（即ちメソッド、パス、ヘッダ、ボディ）を含むＸＭＰＰリクエストをサーバ５０から取得する場合も同様の処理を行う。
【００９５】
２回目のＨＴＴＰレスポンスに対する２回目のＨＴＴＰレスポンスのステータスコードは、「２００ＯＫ」を含む。ヘッダは、ボディに含まれる情報の情報形式及び情報サイズを示す情報を含む。ボディは、処理結果を示す情報「ＯＫ」（即ち、印刷が成功したことを示す情報）を含む。
【００９６】
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には以上に例示した具体例を様々に変形、変更したものが含まれる。上記の実施例の変形例を以下に列挙する。
【００９７】
（変形例１）上記の各実施例では、ＰＣ１０のＣＰＵ３２は、ＰＣ１０が所属しているＬＡＮ内にＭＦＰ８０が存在していないと判断される場合に、ＬＡＮ４Ａ内でＭＦＰ８０を識別するためのデバイス情報「ＤＩ８０」の後ろに、サーバ５０を識別するための所定のサーバ文字列である「ｂｏｌ．ｃｏｍ」を付加したホスト名「ＤＩ８０．ｂｏｌ．ｃｏｍ」を含む第２のＵＲＬを送信先として、ＨＴＴＰリクエストをサーバ５０に供給する（図３のＳ６０、図５のＳ１６０）。これに代えて、以下に説明する方式を採用してもよい。
【００９８】
ＭＦＰ８０は、ＬＡＮ４Ａ内でＭＦＰ８０を識別するための第１のデバイス情報（図１の「ＤＩ８０」）と、インターネット６を介してＭＦＰ８０と通信する場合にＭＦＰ８０を識別するための第２のデバイス情報と、を予め有している。第２のデバイス情報は、第１のデバイス情報（即ち「ＤＩ８０」）と異なっていれば任意の情報であってもよく、「ＤＩ８０．ｂｏｌ．ｃｏｍ」である必要はない。
【００９９】
ＰＣ１０のメモリ３４は、上記の第１のデバイス情報（即ち「ＤＩ８０」）と、上記の第２のデバイス情報と、を対応付けて予め格納する。
【０１００】
サーバ５０のメモリ６４も、上記の第１のデバイス情報（即ち「ＤＩ８０」）と、上記の第２のデバイス情報と、を対応付けて格納する。第１のデバイス情報及び第２のデバイス情報は、ＸＭＰＰ接続を確立するための各処理（図２参照）が実行される過程で、ＭＦＰ８０から取得され、メモリ６４内に格納される（図２のＳ２２参照）。サーバ５０のＣＰＵ６２は、ＭＦＰ８０との間でＸＭＰＰ接続が確立される際に（図２のＳ２６参照）、ＸＭＰＰ接続を識別するための接続ＩＤと、第１のデバイス情報と、第２のデバイス情報と、を対応付けてメモリ６４に格納する。
【０１０１】
ＰＣ１０のＣＰＵ３２は、ＰＣ１０が所属しているＬＡＮ内にＭＦＰ８０が存在していないと判断される場合に、第２のデバイス情報をホスト名として含む第２のＵＲＬを送信先として、ＨＴＴＰリクエストをサーバ５０に供給する。
【０１０２】
サーバ５０のＣＰＵ６２は、ＰＣ１０からＨＴＴＰリクエストを取得すると、ＨＴＴＰリクエストに含まれる第２のＵＲＬを参照し、ホスト名である第２のデバイス情報を特定する。そして、ＣＰＵ６２は、第２のデバイス情報に対応付けられているＸＭＰＰ接続の接続ＩＤを特定し、特定された接続ＩＤが示すＸＭＰＰ接続（即ち、サーバ５０とＭＦＰ８０との間に確立されたＸＭＰＰ接続）を用いて、ＸＭＰＰリクエストをＭＦＰ８０に供給する。
【０１０３】
一般的に言うと、端末装置は、ローカルエリアネットワーク内に通信装置が存在していないと判断される場合に、第１のＵＲＬとは異なる第２のＵＲＬを送信先として、インターネット上のサーバに第２の処理実行情報を送信することによって、サーバを介して、第２の処理実行情報を通信装置に供給すればよい。また、サーバは、第２の処理実行情報が取得される場合に、第２のＵＲＬを利用して、インターネットを介して、第２の処理実行情報を通信装置に供給すればよい。
【０１０４】
（変形例２）第１実施例の図３のＳ４２では、ＰＣ１０のＣＰＵ３２は、ＭＦＰ８０がＰＣ１０と同じＬＡＮ内に存在するか否かを判断するために、デバイス情報「ＤＩ８０」を含む応答要求を、ＰＣ１０が現在所属しているＬＡＮ内にブロードキャスト送信する。これに代えて、ＣＰＵ３２は、ＭＦＰ８０がＰＣ１０と同じＬＡＮ内に存在するか否かを判断するために、デバイス情報「ＤＩ８０」を含む応答要求を、デバイス情報「ＤＩ８０」をホスト名として含むＵＲＬを送信先として、ＰＣ１０が現在所属しているＬＡＮにユニキャスト送信することにより、ＭＦＰ８０に応答要求を供給することを試行してもよい。一般的に言うと、端末装置は、処理実行指示が取得される場合に、ローカルエリアネットワーク内で通信装置を識別するための装置文字列を含む所定要求をローカルエリアネットワークに送信すればよい。
【０１０５】
上記の各実施例では、図２、図３、図５の各処理がソフトウェア（即ちプログラム）によって実現されるが、図２、図３、図５の各処理のうちの少なくとも１つが論理回路等のハードウェアによって実現されてもよい。
【０１０６】
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
以下は、出願時の特許請求の範囲に対応する記載である。
［項目１］
端末装置であって、
通信装置に特定処理を実行させるための処理実行指示を取得する指示取得部と、
前記処理実行指示が取得される場合に、前記端末装置が所属しているローカルエリアネットワーク内に前記通信装置が存在しているのか否かを判断する判断部と、
前記ローカルエリアネットワーク内に前記通信装置が存在していると判断される場合に、第１のＵＲＬを送信先として、前記ローカルエリアネットワークに第１の処理実行情報を送信することによって、インターネットを介さずに、前記第１の処理実行情報を前記通信装置に供給する第１の供給部であって、前記第１の処理実行情報は、前記通信装置に前記特定処理を実行させるための情報である、前記第１の供給部と、
前記ローカルエリアネットワーク内に前記通信装置が存在していないと判断される場合に、前記第１のＵＲＬとは異なる第２のＵＲＬを送信先として、前記インターネット上のサーバに第２の処理実行情報を送信することによって、前記サーバを介して、前記第２の処理実行情報を前記通信装置に供給する第２の供給部であって、前記サーバは、前記インターネットを介して、前記通信装置と通信可能に接続されており、前記第２の処理実行情報は、前記通信装置に前記特定処理を実行させるための情報であり、前記第２のＵＲＬは、前記サーバが前記通信装置に前記第２の処理実行情報を供給する際に前記サーバによって利用される、前記第２の供給部と、
を備える端末装置。
［項目２］
前記端末装置は、さらに、
前記処理実行指示が取得される場合に、前記ローカルエリアネットワーク内で前記通信装置を識別するための装置文字列を含む所定要求を前記ローカルエリアネットワークに送信する送信部を備え、
前記判断部は、
前記通信装置から前記所定要求に対する応答が受信される場合に、前記ローカルエリアネットワーク内に前記通信装置が存在していると判断し、
前記通信装置から前記所定要求に対する前記応答が受信されない場合に、前記ローカルエリアネットワーク内に前記通信装置が存在していないと判断する、項目１に記載の端末装置。
［項目３］
端末装置であって、
通信装置に特定処理を実行させるための処理実行指示を取得する指示取得部と、
前記処理実行指示が取得される場合に、第１のＵＲＬを送信先として、前記端末装置が所属しているローカルエリアネットワークに第１の処理実行情報を送信することによって、インターネットを介さずに、前記第１の処理実行情報を前記通信装置に供給することを試行する試行部であって、前記第１の処理実行情報は、前記通信装置に前記特定処理を実行させるための情報である、前記試行部と、
前記第１の処理実行情報を前記通信装置に供給することが失敗する場合に、前記第１のＵＲＬとは異なる第２のＵＲＬを送信先として、前記インターネット上のサーバに第２の処理実行情報を送信することによって、前記サーバを介して、前記第２の処理実行情報を前記通信装置に供給する供給部であって、前記サーバは、前記インターネットを介して、前記通信装置と通信可能に接続されており、前記第２の処理実行情報は、前記通信装置に前記特定処理を実行させるための情報であり、前記第２のＵＲＬは、前記サーバが前記通信装置に前記第２の処理実行情報を供給する際に前記サーバによって利用される、前記供給部と、
を備える端末装置。
［項目４］
前記第１のＵＲＬは、前記ローカルエリアネットワーク内で前記通信装置を識別するための装置文字列を含み、
前記第２のＵＲＬは、前記装置文字列と、前記サーバを識別するためのサーバ文字列と、を含む、項目１から３のいずれか一項に記載の端末装置。
［項目５］
前記端末装置は、さらに、
前記装置文字列の後ろに前記サーバ文字列を付加して、前記第２のＵＲＬを生成する生成部を備える、項目４に記載の端末装置。
［項目６］
前記端末装置は、さらに、
前記第１の処理実行情報が前記通信装置に供給される場合に、前記通信装置から、前記インターネットを介さずに、前記ローカルエリアネットワークを介して、前記特定処理に関係する関係情報を含む第１の応答を取得する第１の応答取得部と、
前記第２の処理実行情報が前記通信装置に供給される場合に、前記通信装置から、前記インターネット上の前記サーバを介して、前記関係情報を含む第２の応答を取得する第２の応答取得部と、
を備える項目１から５のいずれか一項に記載の端末装置。
［項目７］
前記関係情報は、ＨＴＭＬ形式を有する、項目６に記載の端末装置。
［項目８］
端末装置とサーバとを備える通信システムであって、
前記端末装置は、
通信装置に特定処理を実行させるための処理実行指示を取得する指示取得部と、
前記処理実行指示が取得される場合に、前記端末装置が所属しているローカルエリアネットワーク内に前記通信装置が存在しているのか否かを判断する判断部と、
前記ローカルエリアネットワーク内に前記通信装置が存在していると判断される場合に、第１のＵＲＬを送信先として、前記ローカルエリアネットワークに第１の処理実行情報を送信することによって、インターネットを介さずに、前記第１の処理実行情報を前記通信装置に供給する第１の供給部であって、前記第１の処理実行情報は、前記通信装置に前記特定処理を実行させるための情報である、前記第１の供給部と、
前記ローカルエリアネットワーク内に前記通信装置が存在していないと判断される場合に、前記第１のＵＲＬとは異なる前記第２のＵＲＬを送信先として、前記インターネット上の前記サーバに第２の処理実行情報を送信することによって、前記サーバを介して、前記第２の処理実行情報を前記通信装置に供給する第２の供給部であって、前記サーバは、前記インターネットを介して、前記通信装置と通信可能に接続されており、前記第２の処理実行情報は、前記通信装置に前記特定処理を実行させるための情報である、前記第２の供給部と、を備え、
前記サーバは、
前記端末装置から、前記インターネットを介して、前記第２の処理実行情報を取得するサーバ側取得部と、
前記第２の処理実行情報が取得される場合に、前記第２のＵＲＬを利用して、前記インターネットを介して、前記第２の処理実行情報を前記通信装置に供給するサーバ側供給部と、を備える、
通信システム。
［項目９］
端末装置とサーバとを備える通信システムであって、
前記端末装置は、
通信装置に特定処理を実行させるための処理実行指示を取得する指示取得部と、
前記処理実行指示が取得される場合に、第１のＵＲＬを送信先として、前記端末装置が所属しているローカルエリアネットワークに第１の処理実行情報を送信することによって、インターネットを介さずに、前記第１の処理実行情報を前記通信装置に供給することを試行する試行部であって、前記第１の処理実行情報は、前記通信装置に前記特定処理を実行させるための情報である、前記試行部と、
前記第１の処理実行情報を前記通信装置に供給することが失敗する場合に、前記第１のＵＲＬとは異なる第２のＵＲＬを送信先として、前記インターネット上の前記サーバに第２の処理実行情報を送信することによって、前記サーバを介して、前記第２の処理実行情報を前記通信装置に供給する供給部であって、前記サーバは、前記インターネットを介して、前記通信装置と通信可能に接続されており、前記第２の処理実行情報は、前記通信装置に前記特定処理を実行させるための情報である、前記供給部と、を備え、
前記サーバは、
前記端末装置から、前記インターネットを介して、前記第２の処理実行情報を取得するサーバ側取得部と、
前記第２の処理実行情報が取得される場合に、前記第２のＵＲＬを利用して、前記インターネットを介して、前記第２の処理実行情報を前記通信装置に供給するサーバ側供給部と、を備える、
通信システム。
［項目１０］
前記サーバは、さらに、
前記第２の処理実行情報が取得される前に、前記インターネットを介した接続を前記通信装置と確立する確立部を備え、
前記サーバ側供給部は、前記接続を利用して、前記インターネットを介して、前記第２の処理実行情報を前記通信装置に供給する、項目８又は９に記載の通信システム。
［項目１１］
端末装置のためのコンピュータプログラムであって、
前記端末装置に搭載されるコンピュータに、以下の各処理、即ち、
通信装置に特定処理を実行させるための処理実行指示を取得する指示取得処理と、
前記処理実行指示が取得される場合に、前記端末装置が所属しているローカルエリアネットワーク内に前記通信装置が存在しているのか否かを判断する判断処理と、
前記ローカルエリアネットワーク内に前記通信装置が存在していると判断される場合に、第１のＵＲＬを送信先として、前記ローカルエリアネットワークに第１の処理実行情報を送信することによって、インターネットを介さずに、前記第１の処理実行情報を前記通信装置に供給する第１の供給処理であって、前記第１の処理実行情報は、前記通信装置に前記特定処理を実行させるための情報である、前記第１の供給処理と、
前記ローカルエリアネットワーク内に前記通信装置が存在していないと判断される場合に、前記第１のＵＲＬとは異なる第２のＵＲＬを送信先として、前記インターネット上のサーバに第２の処理実行情報を送信することによって、前記サーバを介して、前記第２の処理実行情報を前記通信装置に供給する第２の供給処理であって、前記サーバは、前記インターネットを介して、前記通信装置と通信可能に接続されており、前記第２の処理実行情報は、前記通信装置に前記特定処理を実行させるための情報であり、前記第２のＵＲＬは、前記サーバが前記通信装置に前記第２の処理実行情報を供給する際に前記サーバによって利用される、前記第２の供給処理と、
を実行させる、コンピュータプログラム。
［項目１２］
端末装置のためのコンピュータプログラムであって、
前記端末装置に搭載されるコンピュータに、以下の各処理、即ち、
通信装置に特定処理を実行させるための処理実行指示を取得する指示取得処理と、
前記処理実行指示が取得される場合に、第１のＵＲＬを送信先として、前記端末装置が所属しているローカルエリアネットワークに第１の処理実行情報を送信することによって、インターネットを介さずに、前記第１の処理実行情報を前記通信装置に供給することを試行する試行処理であって、前記第１の処理実行情報は、前記通信装置に前記特定処理を実行させるための情報である、前記試行処理と、
前記第１の処理実行情報を前記通信装置に供給することが失敗する場合に、前記第１のＵＲＬとは異なる第２のＵＲＬを送信先として、前記インターネット上のサーバに第２の処理実行情報を送信することによって、前記サーバを介して、前記第２の処理実行情報を前記通信装置に供給する供給処理であって、前記サーバは、前記インターネットを介して、前記通信装置と通信可能に接続されており、前記第２の処理実行情報は、前記通信装置に前記特定処理を実行させるための情報であり、前記第２のＵＲＬは、前記サーバが前記通信装置に前記第２の処理実行情報を供給する際に前記サーバによって利用される、前記供給処理と、
を実行させる、コンピュータプログラム。
【符号の説明】
【０１０７】
２：通信システム、４Ａ，４Ｂ：ＬＡＮ、６：インターネット、１０：ＰＣ、３０：制御部、３２：ＣＰＵ、３４：メモリ、５０：サーバ、６０：制御部、６２：ＣＰＵ、６４：メモリ、８０，９０：ＭＦＰ
【図１】
0006531430.tif 000002
【図２】
0006531430.tif 000003
【図３】
0006531430.tif 000004
【図４】
0006531430.tif 000005
【図５】
0006531430.tif 000006
【図６】
0006531430.tif 000007
【図７】
0006531430.tif 000008
【図８】
0006531430.tif 000009