(57)【要約】【課題】  ＮＦＣ方式で適切に通信するための技術を提供すること。【解決手段】  ＭＦＰ１０は、Ａｃｔｉｖａｔｉｏｎコマンドを携帯端末５０に送信して通信リンクＬ１を確立し、通信リンクＬ１を利用して第１の対象データを携帯端末５０から受信する。第１の対象データは、コマンドと、携帯端末５０のＯＳ情報と、を含む。ＭＦＰ１０は、第１の対象データに含まれるコマンドを処理して、第２の対象データを生成する。ＭＦＰ１０は、複数種の切断手法の中から、ＯＳ情報に応じた１種類の切断手法（即ち第１のハード切断）を選択する。ＭＦＰ１０は、選択済みの第１のハード切断を利用して、通信リンクＬ１を切断する。ＭＦＰ１０は、Ａｃｔｉｖａｔｉｏｎコマンドを携帯端末５０に送信して通信リンクＬ２を確立し、通信リンクＬ２を利用して第２の対象データを携帯端末５０に送信する。【選択図】図８
2014011756.tif 000002
【特許請求の範囲】
【請求項１】
ＮＦＣ（Near Field Communication）規格に従った通信方式であるＮＦＣ方式で、通信対象の対象データの通信を外部装置と実行する通信装置であって、
前記ＮＦＣ方式の通信を実行するためのＮＦＣインターフェースと、
プロセッサと、
プログラムを格納しているメモリと、を備え、
前記プロセッサは、前記メモリに格納されている前記プログラムに従って、以下の各ステップ、即ち、
前記通信装置と前記外部装置との間に第１の通信リンクを確立するための第１の確立コマンドを、前記ＮＦＣインターフェースを介して、前記外部装置と通信して、前記第１の通信リンクを確立する第１の確立ステップと、
前記第１の通信リンクを利用して、前記ＮＦＣインターフェースを介して、第１の対象データを前記外部装置から受信する受信ステップであって、前記第１の対象データは、特定のコマンドと、前記外部装置が前記ＮＦＣ方式の通信を実行するための通信プログラムに関係する関係情報と、を含む、前記受信ステップと、
前記第１の対象データに含まれる前記特定のコマンドを処理して、第２の対象データを生成する生成ステップと、
前記第１の通信リンクを切断するための複数種の切断手法の中から、前記第１の対象データに含まれる前記関係情報に応じた１種類の切断手法を選択する選択ステップと、
選択済みの前記１種類の切断手法を利用して、前記第１の通信リンクを切断する切断ステップと、
前記第１の通信リンクが切断された後に、前記通信装置と前記外部装置との間に第２の通信リンクを確立するための第２の確立コマンドを、前記ＮＦＣインターフェースを介して、前記外部装置と通信して、前記第２の通信リンクを確立する第２の確立ステップと、
前記第２の通信リンクを利用して、前記ＮＦＣインターフェースを介して、前記第２の対象データを前記外部装置に送信する送信ステップと、
を実行する通信装置。
【請求項２】
前記第１の確立コマンドを前記外部装置に送信して、前記第１の通信リンクを確立する場合において、
前記第１の対象データが、第１の通信プログラムの種類を示す第１の種類情報と、前記第１の通信プログラムの第１のバージョンを示す第１のバージョン情報と、を含む第１の関係情報を含む場合には、前記選択ステップは、第１種の切断手法を選択し、
前記第１の対象データが、前記第１の種類情報と、前記第１の通信プログラムの第２のバージョンであって、前記第１のバージョンとは異なる前記第２のバージョンを示す第２のバージョン情報と、を含む第２の関係情報を含む場合には、前記選択ステップは、前記第１種の切断手法とは異なる第２種の切断手法を選択する、
請求項１に記載の通信装置。
【請求項３】
前記第１種の切断手法は、前記ＮＦＣインターフェースの動作を一時的に停止させる手法を含み、
前記第２種の切断手法は、前記ＮＦＣインターフェースを介して、切断コマンドを前記外部装置に送信して、前記ＮＦＣインターフェースを介して、前記切断コマンドに対するレスポンスコマンドを前記外部装置から受信する手法を含む、
請求項２に記載の通信装置。
【請求項４】
前記第１の確立コマンドを前記外部装置に送信して、前記第１の通信リンクを確立する場合において、
前記第１の対象データが、第１の通信プログラムの種類を示す第１の種類情報を含む第１の関係情報を含む場合には、前記選択ステップは、第１種の切断手法を選択し、
前記第１の対象データが、前記第１の通信プログラムとは異なる第２の通信プログラムの種類を示す第２の種類情報を含む第３の関係情報を含む場合には、前記選択ステップは、前記第１種の切断手法とは異なる第３種の切断手法を選択する、
請求項１から３のいずれか一項に記載の通信装置。
【請求項５】
前記第１種の切断手法は、前記ＮＦＣインターフェースの動作を一時的に停止させる手法を含み、
前記第３種の切断手法は、前記ＮＦＣインターフェースを介して、前記外部装置に切断コマンドを送信して、前記ＮＦＣインターフェースを介して、前記切断コマンドに対するレスポンスコマンドを前記外部装置から受信し、その後、前記ＮＦＣインターフェースの動作を一時的に停止させる手法を含む、
請求項４に記載の通信装置。
【請求項６】
前記外部装置から前記第１の確立コマンドを受信して、前記第１の通信リンクを確立する場合において、
前記第１の対象データが、第１の通信プログラムの種類を示す第１の種類情報と、前記第１の通信プログラムの第１のバージョンを示す第１のバージョン情報と、を含む第１の関係情報を含む場合には、前記選択ステップは、第１種の切断手法を選択し、
前記第１の対象データが、前記第１の種類情報と、前記第１の通信プログラムの第２のバージョンであって、前記第１のバージョンとは異なる前記第２のバージョンを示す第２のバージョン情報と、を含む第２の関係情報を含む場合には、前記選択ステップは、前記第１種の切断手法とは異なる第４種の切断手法を選択する、
請求項１から５のいずれか一項に記載の通信装置。
【請求項７】
前記第１種の切断手法は、前記ＮＦＣインターフェースの動作を、第１の期間に亘って一時的に停止させる手法を含み、
前記第４種の切断手法は、前記ＮＦＣインターフェースの動作を、前記第１の期間とは異なる第２の期間に亘って一時的に停止させる手法を含む、
請求項６に記載の通信装置。
【請求項８】
前記外部装置から前記第１の確立コマンドを受信して、前記第１の通信リンクを確立する場合であり、かつ、前記通信装置が、前記ＮＦＣ規格のＰ２Ｐモードに従って動作すべき場合において、
前記第１の対象データが前記第１の関係情報を含む場合には、前記選択ステップは、前記第１種の切断手法を選択し、
前記第１の対象データが前記第２の関係情報を含む場合には、前記選択ステップは、前記第４種の切断手法を選択し、
前記外部装置から前記第１の確立コマンドを受信して、前記第１の通信リンクを確立する場合であり、かつ、前記通信装置が、前記ＮＦＣ規格のＣａｒｄ  Ｅｍｕｌａｔｉｏｎモードに従って動作すべき特定の場合において、
前記第１の対象データが、前記第１の関係情報を含む場合でも、前記第２の関係情報を含む場合でも、前記選択ステップは、第５種の切断手法を選択し、
前記第５種の切断手法は、前記ＮＦＣインターフェースを介して、切断コマンドを前記外部装置から受信して、前記ＮＦＣインターフェースを介して、前記切断コマンドに対するレスポンスコマンドを前記外部装置に送信する手法を含む、
請求項７に記載の通信装置。
【請求項９】
前記プロセッサは、前記メモリに格納されている前記プログラムに従って、さらに、
前記特定の場合において、前記第５種の切断手法を利用して前記第１の通信リンクが切断された後に、動作制御ステップを実行し、
前記動作制御ステップは、
前記第１の対象データが前記第１の関係情報を含む場合には、前記ＮＦＣインターフェースの動作を、前記第１の期間に亘って一時的に停止させ、
前記第１の対象データが前記第２の関係情報を含む場合には、前記ＮＦＣインターフェースの動作を、前記第２の期間に亘って一時的に停止させる、
請求項８に記載の通信装置。
【請求項１０】
前記メモリは、さらに、
前記第１の対象データが前記外部装置から受信された後に、前記第２の対象データが前記外部装置に送信されるべきであるのか否かを示す通信継続情報を格納し、
前記プロセッサは、前記メモリに格納されている前記プログラムに従って、さらに、
前記通信継続情報を用いて、前記第２の対象データが前記外部装置に送信されるべきであるのか否かを判断する判断ステップを実行し、
前記選択ステップは、
前記第２の対象データが前記外部装置に送信されるべきと判断される場合には、前記複数種の切断手法の中から、前記第１の対象データに含まれる前記関係情報に応じた前記１種類の切断手法を選択し、
前記第２の対象データが前記外部装置に送信されるべきでないと判断される場合には、前記第１の対象データに含まれる前記関係情報に関わらず、予め決められている種類の切断手法を選択する、
請求項１から９のいずれか一項に記載の通信装置。
【請求項１１】
ＮＦＣ（Near Field Communication）規格に従った通信方式であるＮＦＣ方式で、通信対象の対象データの通信を外部装置と実行する通信装置であって、
前記通信装置と前記外部装置との間に前記ＮＦＣ方式に従った第１の通信リンクを確立するための第１の確立コマンドを、前記外部装置と通信して、前記第１の通信リンクを確立する第１の確立手段と、
前記第１の通信リンクを利用して、第１の対象データを前記外部装置から受信する受信手段であって、前記第１の対象データは、特定のコマンドと、前記外部装置が前記ＮＦＣ方式の通信を実行するための通信プログラムに関係する関係情報と、を含む、前記受信手段と、
前記第１の対象データに含まれる前記特定のコマンドを処理して、第２の対象データを生成する生成手段と、
前記第１の通信リンクを切断するための複数種の切断手法の中から、前記第１の対象データに含まれる前記関係情報に応じた１種類の切断手法を選択する選択手段と、
選択済みの前記１種類の切断手法を利用して、前記第１の通信リンクを切断する切断手段と、
前記第１の通信リンクが切断された後に、前記通信装置と前記外部装置との間に前記ＮＦＣ方式に従った第２の通信リンクを確立するための第２の確立コマンドを、前記外部装置と通信して、前記第２の通信リンクを確立する第２の確立手段と、
前記第２の通信リンクを利用して、前記第２の対象データを前記外部装置に送信する送信手段と、
を備える通信装置。
【請求項１２】
ＮＦＣ（Near Field Communication）規格に従った通信方式であるＮＦＣ方式で、通信対象の対象データの通信を外部装置と実行する通信装置のためのコンピュータプログラムであって、
前記コンピュータプログラムは、前記通信装置のプロセッサに、以下の各ステップ、即ち、
前記通信装置と前記外部装置との間に前記ＮＦＣ方式に従った第１の通信リンクを確立するための第１の確立コマンドを、前記外部装置と通信して、前記第１の通信リンクを確立する第１の確立ステップと、
前記第１の通信リンクを利用して、第１の対象データを前記外部装置から受信する受信ステップであって、前記第１の対象データは、特定のコマンドと、前記外部装置が前記ＮＦＣ方式の通信を実行するための通信プログラムに関係する関係情報と、を含む、前記受信ステップと、
前記第１の対象データに含まれる前記特定のコマンドを処理して、第２の対象データを生成する生成ステップと、
前記第１の通信リンクを切断するための複数種の切断手法の中から、前記第１の対象データに含まれる前記関係情報に応じた１種類の切断手法を選択する選択ステップと、
選択済みの前記１種類の切断手法を利用して、前記第１の通信リンクを切断する切断ステップと、
前記第１の通信リンクが切断された後に、前記通信装置と前記外部装置との間に前記ＮＦＣ方式に従った第２の通信リンクを確立するための第２の確立コマンドを、前記外部装置と通信して、前記第２の通信リンクを確立する第２の確立ステップと、
前記第２の通信リンクを利用して、前記第２の対象データを前記外部装置に送信する送信ステップと、
を実行させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書によって開示される技術は、ＮＦＣ（Near Field Communicationの略）規格に従った通信方式であるＮＦＣ方式で、通信対象の対象データの通信を外部装置と実行する通信装置に関する。
【背景技術】
【０００２】
特許文献１には、２個の通信装置が無線通信を実行するための技術が開示されている。この技術では、２個の通信装置は、ＮＦＣ方式で通信情報の無線通信を実行する。通信情報は、ＮＦＣ方式とは異なる通信方式（例えばＩＥＥＥ８０２．１１ａ）に従った無線通信を実行するための情報（即ち、通信方式を示す情報、暗号化方式を示す情報）を含む。これにより、２個の通信装置は、ＮＦＣ方式とは異なる通信方式に従って、無線通信を実行可能になる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−１６６５３８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本明細書では、通信装置が、ＮＦＣ方式で通信対象の対象データを外部装置と適切に通信するための技術を提供する。
【課題を解決するための手段】
【０００５】
本明細書によって開示される一つの技術は、ＮＦＣ（Near Field Communication）規格に従った通信方式であるＮＦＣ方式で、通信対象の対象データの通信を外部装置と実行する通信装置である。通信装置は、前記ＮＦＣ方式の通信を実行するためのＮＦＣインターフェースと、プロセッサと、プログラムを格納しているメモリと、を備える。
前記プロセッサは、前記メモリに格納されている前記プログラムに従って、以下の各ステップ、即ち、
前記通信装置と前記外部装置との間に第１の通信リンクを確立するための第１の確立コマンドを、前記ＮＦＣインターフェースを介して、前記外部装置と通信して、前記第１の通信リンクを確立する第１の確立ステップと、
前記第１の通信リンクを利用して、前記ＮＦＣインターフェースを介して、第１の対象データを前記外部装置から受信する受信ステップであって、前記第１の対象データは、特定のコマンドと、前記外部装置が前記ＮＦＣ方式の通信を実行するための通信プログラムに関係する関係情報と、を含む、前記受信ステップと、
前記第１の対象データに含まれる前記特定のコマンドを処理して、第２の対象データを生成する生成ステップと、
前記第１の通信リンクを切断するための複数種の切断手法の中から、前記第１の対象データに含まれる前記関係情報に応じた１種類の切断手法を選択する選択ステップと、
選択済みの前記１種類の切断手法を利用して、前記第１の通信リンクを切断する切断ステップと、
前記第１の通信リンクが切断された後に、前記通信装置と前記外部装置との間に第２の通信リンクを確立するための第２の確立コマンドを、前記ＮＦＣインターフェースを介して、前記外部装置と通信して、前記第２の通信リンクを確立する第２の確立ステップと、
前記第２の通信リンクを利用して、前記ＮＦＣインターフェースを介して、前記第２の対象データを前記外部装置に送信する送信ステップと、
を実行する。
【０００６】
上記の構成によると、通信装置は、第１の通信リンクを利用して、第１の対象データを外部装置から受信した後に、同じ第１の通信リンクを利用して、第２の対象データを通信するのではなく、第１の通信リンクを一旦切断して、第２の通信リンクを新たに確立する。特に、通信装置は、複数種の切断手法の中から、第１の対象データに含まれる関係情報に応じた１種類の切断手法を選択し、選択済みの１種類の切断手法を利用して、第１の通信リンクを切断する。このために、通信装置は、第１の通信リンクを適切に切断して、第２の通信リンクを適切に確立し得る。従って、通信装置は、第２の通信リンクを利用して、第２の対象データを外部装置に適切に送信し得る。
【０００７】
（１）前記第１の確立コマンドを前記外部装置に送信して、前記第１の通信リンクを確立する場合において、（１−１）前記第１の対象データが、第１の通信プログラムの種類を示す第１の種類情報と、前記第１の通信プログラムの第１のバージョンを示す第１のバージョン情報と、を含む第１の関係情報を含む場合には、前記選択ステップは、第１種の切断手法を選択し、（１−２）前記第１の対象データが、前記第１の種類情報と、前記第１の通信プログラムの第２のバージョンであって、前記第１のバージョンとは異なる前記第２のバージョンを示す第２のバージョン情報と、を含む第２の関係情報を含む場合には、前記選択ステップは、前記第１種の切断手法とは異なる第２種の切断手法を選択してもよい。この構成によると、通信装置は、第１の確立コマンドを外部装置に送信して、第１の通信リンクを確立する場合に、第１又は第２の関係情報に応じた適切な切断手法を選択し得る。
【０００８】
前記第１種の切断手法は、前記ＮＦＣインターフェースの動作を一時的に停止させる手法を含んでいてもよい。前記第２種の切断手法は、前記ＮＦＣインターフェースを介して、切断コマンドを前記外部装置に送信して、前記ＮＦＣインターフェースを介して、前記切断コマンドに対するレスポンスコマンドを前記外部装置から受信する手法を含んでいてもよい。この構成によると、通信装置は、第１種又は第２種の切断手法を選択する場合に、第１の通信リンクを適切に切断して、第２の通信リンクを適切に確立し得る。
【０００９】
（１）前記第１の確立コマンドを前記外部装置に送信して、前記第１の通信リンクを確立する場合において、（１−１）前記第１の対象データが、第１の通信プログラムの種類を示す第１の種類情報を含む第１の関係情報を含む場合には、前記選択ステップは、第１種の切断手法を選択し、（１−３）前記第１の対象データが、前記第１の通信プログラムとは異なる第２の通信プログラムの種類を示す第２の種類情報を含む第３の関係情報を含む場合には、前記選択ステップは、前記第１種の切断手法とは異なる第３種の切断手法を選択してもよい。この構成によると、通信装置は、第１の確立コマンドを外部装置に送信して、第１の通信リンクを確立する場合に、第１又は第３の関係情報に応じた適切な切断手法を選択し得る。
【００１０】
前記第１種の切断手法は、前記ＮＦＣインターフェースの動作を一時的に停止させる手法を含んでいてもよい。前記第３種の切断手法は、前記ＮＦＣインターフェースを介して、前記外部装置に切断コマンドを送信して、前記ＮＦＣインターフェースを介して、前記切断コマンドに対するレスポンスコマンドを前記外部装置から受信し、その後、前記ＮＦＣインターフェースの動作を一時的に停止させる手法を含んでいてもよい。この構成によると、通信装置は、第１種又は第３種の切断手法を選択する場合に、第１の通信リンクを適切に切断して、第２の通信リンクを適切に確立し得る。
【００１１】
（２）前記外部装置から前記第１の確立コマンドを受信して、前記第１の通信リンクを確立する場合において、（２−１）前記第１の対象データが、第１の通信プログラムの種類を示す第１の種類情報と、前記第１の通信プログラムの第１のバージョンを示す第１のバージョン情報と、を含む第１の関係情報を含む場合には、前記選択ステップは、第１種の切断手法を選択し、（２−２）前記第１の対象データが、前記第１の種類情報と、前記第１の通信プログラムの第２のバージョンであって、前記第１のバージョンとは異なる前記第２のバージョンを示す第２のバージョン情報と、を含む第２の関係情報を含む場合には、前記選択ステップは、前記第１種の切断手法とは異なる第４種の切断手法を選択してもよい。この構成によると、通信装置は、第１の確立コマンドを外部装置から受信して、第１の通信リンクを確立する場合に、第１又は第２の関係情報に応じた適切な切断手法を選択し得る。
【００１２】
第１種の切断手法は、前記ＮＦＣインターフェースの動作を、第１の期間に亘って一時的に停止させる手法を含んでいてもよい。第４種の切断手法は、前記ＮＦＣインターフェースの動作を、前記第１の期間とは異なる第２の期間に亘って一時的に停止させる手法を含んでいてもよい。この構成によると、通信装置は、第１種又は第４種の切断手法を選択する場合に、第１の通信リンクを適切に切断して、第２の通信リンクを適切に確立し得る。
【００１３】
前記外部装置から前記第１の確立コマンドを受信して、前記第１の通信リンクを確立する場合であり、かつ、前記通信装置が、前記ＮＦＣ規格のＰ２Ｐモードに従って動作すべき場合において、前記第１の対象データが前記第１の関係情報を含む場合には、前記選択ステップは、前記第１種の切断手法を選択し、前記第１の対象データが前記第２の関係情報を含む場合には、前記選択ステップは、前記第４種の切断手法を選択してもよい。前記外部装置から前記第１の確立コマンドを受信して、前記第１の通信リンクを確立する場合であり、かつ、前記通信装置が、前記ＮＦＣ規格のＣａｒｄ  Ｅｍｕｌａｔｉｏｎモードに従って動作すべき特定の場合において、前記第１の対象データが、前記第１の関係情報を含む場合でも、前記第２の関係情報を含む場合でも、前記選択ステップは、第５種の切断手法を選択してもよい。前記第５種の切断手法は、前記ＮＦＣインターフェースを介して、切断コマンドを前記外部装置から受信して、前記ＮＦＣインターフェースを介して、前記切断コマンドに対するレスポンスコマンドを前記外部装置に送信する手法を含んでいてもよい。この構成によると、通信装置は、第１の確立コマンドを外部装置から受信して、第１の通信リンクが確立する場合に、関係情報と、通信装置が動作すべきモードと、に応じた適切な切断手法を選択し得る。
【００１４】
前記プロセッサは、前記メモリに格納されている前記プログラムに従って、さらに、前記特定の場合において、前記第５種の切断手法を利用して前記第１の通信リンクが切断された後に、動作制御ステップを実行してもよい。前記動作制御ステップは、前記第１の対象データが前記第１の関係情報を含む場合には、前記ＮＦＣインターフェースの動作を、前記第１の期間に亘って一時的に停止させ、前記第１の対象データが前記第２の関係情報を含む場合には、前記ＮＦＣインターフェースの動作を、前記第２の期間に亘って一時的に停止させてもよい。この構成によると、通信装置は、第１の通信リンクが切断された後に、第１又は第２の関係情報に応じた期間（即ち第１の期間又は第２の期間）に亘って、ＮＦＣインターフェースの動作を停止させる。このために、通信装置は、第１の対象データを通信した後に、外部装置を適切に動作させ得る。
【００１５】
前記メモリは、さらに、前記第１の対象データが前記外部装置から受信された後に、前記第２の対象データが前記外部装置に送信されるべきであるのか否かを示す通信継続情報を格納してもよい。前記プロセッサは、前記メモリに格納されている前記プログラムに従って、さらに、前記通信継続情報を用いて、前記第２の対象データが前記外部装置に送信されるべきであるのか否かを判断する判断ステップを実行してもよい。前記選択ステップは、前記第２の対象データが前記外部装置に送信されるべきと判断される場合には、前記複数種の切断手法の中から、前記第１の対象データに含まれる前記関係情報に応じた前記１種類の切断手法を選択し、前記第２の対象データが前記外部装置に送信されるべきでないと判断される場合には、前記第１の対象データに含まれる前記関係情報に関わらず、予め決められている種類の切断手法を選択してもよい。この構成によると、通信装置は、第２の対象データが外部装置に送信されるべきであるのか否かに応じて、適切な切断手法を選択し得る。
【００１６】
なお、上記の通信装置を実現するための制御方法、コンピュータプログラム、及び、当該コンピュータプログラムを格納するコンピュータ読取可能記録媒体も、新規で有用である。また、上記の通信装置と外部装置とを含む通信システムも、新規で有用である。
【図面の簡単な説明】
【００１７】
【図１】通信システムの構成を示す。
【図２】切断手法テーブルの一例を示す。
【図３】動作制御テーブルの一例を示す。
【図４】ＭＦＰのＬｉｓｔｅｎ処理のフローチャートを示す。
【図５】図４の続きのフローチャートを示す。
【図６】ＭＦＰのＰｏｌｌ処理のフローチャートを示す。
【図７】図６の続きのフローチャートを示す。
【図８】ケースＡの通信のシーケンスチャートを示す。
【図９】ケースＢの通信のシーケンスチャートを示す。
【図１０】ケースＣの通信のシーケンスチャートを示す。
【図１１】ケースＤの通信のシーケンスチャートを示す。
【図１２】ケースＥの通信のシーケンスチャートを示す。
【発明を実施するための形態】
【００１８】
（通信システム２の構成）
図１に示すように、通信システム２は、多機能機（以下では「ＭＦＰ（Multi-Function Peripheralの略）」と呼ぶ）１０と、携帯端末５０と、を備える。ＭＦＰ１０と携帯端末５０とは、それぞれ、ＮＦＣ規格の通信方式（即ちＮＦＣ方式）の通信を実行可能である。本実施例では、ＮＦＣ規格は、ＩＳＯ／ＩＥＣ２１４８１又はＩＳＯ／ＩＥＣ１８０９２の国際標準規格である。ＮＦＣ方式の通信は、１３．５６ＭＨｚ帯の電波を利用した無線通信である。また、ＭＦＰ１０と携帯端末５０とは、それぞれ、ＮＦＣ方式の通信リンクとは異なる通信ネットワークを利用して、有線通信又は無線通信を実行可能である。
【００１９】
（ＭＦＰ１０の構成）
ＭＦＰ１０は、操作部１２と、表示部１４と、ネットワークインターフェース（以下では、インターフェースのことを「Ｉ／Ｆ」と記載する）１６と、印刷実行部１８と、スキャン実行部２０と、ＮＦＣ  Ｉ／Ｆ２２と、制御部３０と、を備える。
【００２０】
操作部１２は、複数のキーを備える。ユーザは、操作部１２を操作することによって、様々な指示をＭＦＰ１０に入力することができる。表示部１４は、様々な情報を表示するためのディスプレイである。ネットワークＩ／Ｆ１６は、有線ネットワークに接続するためのＩ／Ｆであってもよいし、無線ネットワークに接続するためのＩ／Ｆであってもよい。なお、この無線ネットワークは、ＮＦＣ方式の通信とは異なる無線通信を実行するためのネットワークであり、例えば、ＩＥＥＥ（The Institute of Electrical and Electronics Engineers, Inc.の略）の８０２．１１の規格、及び、それに準ずる規格（例えば８０２．１１ａ，１１ｂ，１１ｇ，１１ｎ等）に従ったネットワークである。印刷実行部１８は、インクジェット方式、レーザ方式等の印刷機構である。スキャン実行部２０は、ＣＣＤ、ＣＩＳ等のスキャン機構である。
【００２１】
ＮＦＣ  Ｉ／Ｆ２２は、ＮＦＣ方式の通信を実行するためのインターフェースである。ＮＦＣ  Ｉ／Ｆ２２は、ネットワークＩ／Ｆ１６とは異なるチップによって構成されている。なお、ネットワークＩ／Ｆ１６が無線ネットワークに接続するためのＩ／Ｆである場合には、ネットワークＩ／Ｆ１６とＮＦＣ  Ｉ／Ｆ２２とは、以下の点で異なる。
【００２２】
即ち、ネットワークＩ／Ｆ１６を介した無線通信の通信速度は、ＮＦＣ  Ｉ／Ｆ２２を介した無線通信の通信速度よりも速い。さらに、ネットワークＩ／Ｆ１６を介した無線通信における搬送波の周波数は、ＮＦＣ  Ｉ／Ｆ２２を介した無線通信における搬送波の周波数とは異なる。また、ＭＦＰ１０と携帯端末５０との距離がおよそ１０ｃｍ以下である場合に、ＭＦＰ１０は、ＮＦＣ  Ｉ／Ｆ２２を介して、携帯端末５０とＮＦＣ方式の通信を実行可能である。一方において、ＭＦＰ１０と携帯端末５０との距離が、１０ｃｍ以下である場合でも、１０ｃｍ以上である場合でも、ＭＦＰ１０は、ネットワークＩ／Ｆ１６を介して、携帯端末５０と無線通信を実行可能である。即ち、ＭＦＰ１０が、ネットワークＩ／Ｆ１６を介して、通信先の機器（例えば携帯端末５０）と無線通信を実行可能な最大の距離は、ＭＦＰ１０が、ＮＦＣ  Ｉ／Ｆ２２を介して、通信先の機器と無線通信を実行可能な最大の距離よりも大きい。なお、以下では、ネットワークＩ／Ｆ１６を介した無線通信のことを、「ネットワーク無線通信」と呼ぶ。
【００２３】
制御部３０は、ＣＰＵ３２とメモリ３４とを備える。ＣＰＵ３２は、メモリ３４に格納されているプログラム３６，３８に従って、様々な処理を実行する。メモリ３４は、ＲＯＭ、ＲＡＭ、ハードディスク等によって構成される。メモリ３４は、ＣＰＵ３２によって実行される上記のプログラム３６，３８を格納する。
【００２４】
アプリケーションプログラム３６は、ＣＰＵ３２が、ＯＳＩ参照モデルのアプリケーション層の処理を実行するためのプログラムである。プロトコルスタック３８は、ＣＰＵ３２が、ＯＳＩ参照モデルのアプリケーション層よりも下位層の処理を実行するためのプログラムである。プロトコルスタック３８は、Ｐ２Ｐ（Peer to Peerの略）プログラムと、Ｒ／Ｗプログラムと、ＣＥプログラムと、を含む。Ｐ２Ｐプログラムは、ＮＦＣ規格のＰ２Ｐモードに従った処理を実行するためのプログラムである。Ｒ／Ｗプログラムは、ＮＦＣ規格のＲｅａｄｅｒ／Ｗｒｉｔｅｒモードに従った処理を実行するためのプログラムである。ＣＥプログラムは、ＮＦＣ規格のＣＥ（Card Emulationの略）モードに従った処理を実行するためのプログラムである。これらのプログラムは、ＮＦＣフォーラムによって定められたＮＦＣ規格に準拠した処理を実行するためのプログラムである。
【００２５】
メモリ３４は、さらに、送信フラグと、継続フラグと、コマンドテーブル４０と、切断手法テーブル４２と、動作制御テーブル４４と、を格納する。
【００２６】
送信フラグは、ＭＦＰ１０が、ＮＦＣ方式の通信を利用して、通信対象の対象データを送信すべきか否かを示すフラグである。即ち、ＭＦＰ１０が対象データを送信すべき状況では、送信フラグは「１」に設定される。また、ＭＦＰ１０が対象データを送信すべきでない状況では、送信フラグは「０」に設定される。
【００２７】
継続フラグは、対象データの通信（送信又は受信）を継続して実行すべき状況であるのか否かを示すフラグである。後で詳しく述べるが、ＭＦＰ１０と携帯端末５０との間では、１個以上の対象データの通信が順次実行される。例えば、携帯端末５０からＭＦＰ１０に第１の対象データが送信された後に、ＭＦＰ１０から携帯端末５０に第２の対象データが送信されて、一連の通信が終了することがあり得る。この例において、第１の対象データの通信が実行された段階では、第２の対象データの通信を継続して実行すべき状況であるために、継続フラグは「１」に設定される。また、第２の対象データの通信が実行された段階では、対象データの通信を継続して実行すべきでない状況、即ち、全ての対象データの通信が終了した状況であるために、継続フラグは「０」に設定される。
【００２８】
コマンドテーブル４０は、ＭＦＰ１０がＮＦＣ方式の通信を利用して送信又は受信すべき各対象データに含まれ得る各コマンドを示す。例えば、パターンＡに示されるように、ＭＦＰ１０は、Ａ１コマンド（より正確に記載すると、Ａ１コマンドを含む１個の対象データ）を受信する場合に、Ａ２コマンドを送信し、次いで、Ａ３コマンドを受信し、次いで、Ａ４コマンドを送信する。このようなコマンドテーブル４０がメモリ２４に記憶されているために、制御部３０は、例えば、Ａ１コマンドを含む１個の対象データを受信した際に、Ａ２コマンドを含む１個の対象データを送信すべき状況であることを知ることができる。また、制御部３０は、例えば、Ａ４コマンドを含む１個の対象データを送信した際に、Ａ４コマンドが最後のコマンドであること、即ち、複数個の対象データの一連の通信が終了したこと、を知ることができる。
【００２９】
なお、本実施例では、複数個の対象データの一連の通信において、ＭＦＰ１０が、最初の対象データを送信することはなく、最初の対象データを受信することを前提としている。従って、コマンドテーブル４０では、ＭＦＰ１０が最初のコマンド（即ちＡ１、Ｂ１）を受信する旨が記述されている。
【００３０】
（切断手法テーブル４２の内容；図２）
図２に示されるように、切断手法テーブル４２は、「状況」と、「ＯＳ情報」と、「モード」と、「切断手法」と、が対応付けられているテーブルである。詳しくは後述するが、ＭＦＰ１０は、切断手法テーブル４２を参照して、ＮＦＣ方式の通信リンクを切断するための切断手法を選択する（図４のＳ３８等参照）。
【００３１】
「状況」は、ＮＦＣ方式の通信リンクを切断すべき状況を意味し、Ｐｏｌｌ継続、Ｌｉｓｔｅｎ継続、Ｐｏｌｌ終了、及び、Ｌｉｓｔｅｎ終了に分類される。Ｐｏｌｌ継続は、後述のＰｏｌｌ機器であるＭＦＰ１０が、対象データの通信を実行した際に、次の対象データの通信を継続して実行すべき状況を意味する。Ｌｉｓｔｅｎ継続は、後述のＬｉｓｔｅｎ機器であるＭＦＰ１０が、対象データの通信を実行した際に、次の対象データの通信を継続して実行すべき状況を意味する。Ｐｏｌｌ終了は、Ｐｏｌｌ機器であるＭＦＰ１０が、対象データの通信を実行した際に、次の対象データの通信を継続して実行すべきでない状況を意味する。Ｌｉｓｔｅｎ終了は、Ｌｉｓｔｅｎ機器であるＭＦＰ１０が、対象データの通信を実行した際に、次の対象データの通信を継続して実行すべきでない状況を意味する。
【００３２】
「ＯＳ情報」は、ＯＳ（Operating Systemの略）プログラムの種類を示す種類情報と、ＯＳプログラムのバージョンを示すバージョン情報と、の組合せである。種類情報Ｔ１は、例えば、Ａｎｄｒｏｉｄ（登録商標）であり、種類情報Ｔ２は、例えば、Ｗｉｎｄｏｗｓ８（登録商標）である。また、バージョン情報Ｖ１，Ｖ２は、種類情報Ｔ１によって特定されるＯＳプログラム（例えばＡｎｄｒｏｉｄ（登録商標））のバージョン情報である。バージョン情報Ｖ１は、バージョン情報Ｖ２よりも新しいバージョンである。例えば、バージョン情報Ｖ１は、Ａｎｄｒｏｉｄ（登録商標）のバージョン４．０．０及びそれよりも新しいバージョンであり、バージョン情報Ｖ２は、Ａｎｄｒｏｉｄ（登録商標）のバージョン２．３．４である。また、バージョン情報Ｖ３は、種類情報Ｔ２によって特定されるＯＳプログラム（例えばＷｉｎｄｏｗｓ８（登録商標））のバージョン情報である。バージョン情報Ｖ３は、例えば、Ｗｉｎｄｏｗｓ８（登録商標）のバージョンＳＰ１である。なお、「ＯＳ情報」の欄に記述されている「ａｎｙ」は、いずれのＯＳ情報でもよいこと、即ち、ＯＳ情報に依存せずに切断手法が選択されること、を意味する。
【００３３】
「モード」は、ＮＦＣ規格で利用されるモードを意味し、Ｐ２Ｐモード、Ｒｅａｄｅｒモード、Ｗｒｉｔｅｒモード、及び、ＣＥモードに分類される。なお、以下では、ＮＦＣ方式の通信を実行可能な機器（ＭＦＰ１０、携帯端末５０等）のことを「ＮＦＣ機器」と呼ぶ。また、以下では、Ｒｅａｄｅｒモード及びＷｒｉｔｅｒモードを合わせて、「Ｒ／Ｗモード」と簡単に記載することがある。
【００３４】
ＮＦＣ機器の中には、Ｐ２Ｐモード、Ｒ／Ｗモード、及び、ＣＥモードの３つのモードの全てを利用可能な機器も存在するし、上記の３つのモードのうちの１つ又は２つのモードのみを利用可能な機器も存在する。本実施例では、ＭＦＰ１０は、上記の３つのモードの全てを利用可能な機器である。ただし、携帯端末５０は、上記の３つのモードの全てを利用可能な機器であってもよいし、上記の３つのモードのうち、Ｒ／Ｗモード及びＣＥモードの２つのモードのみを利用可能であってもよい。
【００３５】
Ｐ２Ｐモードは、一対のＮＦＣ機器の間で双方向通信を実行するためのモードである。
例えば、第１のＮＦＣ機器と第２のＮＦＣ機器との両方が、Ｐ２Ｐモードに従って動作する状況を想定する。この場合、第１のＮＦＣ機器と第２のＮＦＣ機器との間で、Ｐ２Ｐモードに従った通信を実行するための通信リンクが確立される。例えば、第１のＮＦＣ機器は、通信リンクを利用して、第１の対象データを第２のＮＦＣ機器に送信する。その後、第２のＮＦＣ機器は、通常、同じ通信リンクを利用して、第２の対象データを第１のＮＦＣ機器に送信する。これにより、双方向通信が実現される。ＮＦＣフォーラムによって定められるＩＳＯ／ＩＥＣ  １４４３のＴｙｐｅＡであるＮＦＣ機器、及び、ＩＳＯ／ＩＥＣ  １８０９２のＴｙｐｅＦであるＮＦＣ機器は、Ｐ２Ｐモードに従って動作することができるが、ＩＳＯ／ＩＥＣ  １４４３のＴｙｐｅＢであるＮＦＣ機器は、Ｐ２Ｐモードに従って動作することができない。
【００３６】
Ｒ／Ｗモード及びＣＥモードは、一対のＮＦＣ機器の間で単方向通信を実行するためのモードである。ＣＥモードは、ＮＦＣ機器がＮＦＣフォーラムによって定められた形式である「カード」として動作するためのモードである。ＴｙｐｅＡのＮＦＣ機器と、ＴｙｐｅＦのＮＦＣ機器と、ＴｙｐｅＢのＮＦＣ機器と、のいずれも、ＣＥモードに従って動作することができる。Ｒｅａｄｅｒモードは、ＣＥモードでカードとして動作するＮＦＣ機器からデータを読み出すためのモードである。Ｗｒｉｔｅｒモードは、ＣＥモードでカードとして動作するＮＦＣ機器にデータを書き込むためのモードである。なお、Ｒｅａｄｅｒモードでは、ＮＦＣ規格のカードからデータを読み出すこともできる。また、Ｗｒｉｔｅｒモードでは、ＮＦＣ規格のカードにデータを書き込むこともできる。
【００３７】
例えば、第１のＮＦＣ機器がＲｅａｄｅｒモードに従って動作し、第２のＮＦＣ機器がＣＥモードに従って動作する状況を想定する。この場合、第１のＮＦＣ機器と第２のＮＦＣ機器との間で、Ｒｅａｄｅｒモード及びＣＥモードに従った通信を実行するための通信リンクが確立される。第１のＮＦＣ機器は、第２のＮＦＣ機器内の擬似的なカードから対象データを読み出すための動作を実行することによって、当該対象データを第２のＮＦＣ機器から受信することができる。
【００３８】
また、例えば、第１のＮＦＣ機器がＷｒｉｔｅｒモードに従って動作し、第２のＮＦＣ機器がＣＥモードに従って動作する状況を想定する。この場合、第１のＮＦＣ機器と第２のＮＦＣ機器との間で、Ｗｒｉｔｅｒモード及びＣＥモードに従った通信を実行するための通信リンクが確立される。第１のＮＦＣ機器は、第２のＮＦＣ機器内の擬似的なカードに対象データを書き込むための動作を実行することによって、当該対象データを第２のＮＦＣ機器に送信することができる。
【００３９】
上述したように、一対のＮＦＣ機器がＮＦＣ方式の通信を実行するためには、様々なモードの組合せが考えられる。例えば、ＭＦＰ１０及び携帯端末５０のモードの組合せとして、以下の５つのパターン、即ち、「Ｐ２Ｐモード、Ｐ２Ｐモード」、「Ｒｅａｄｅｒモード、ＣＥモード」、「Ｗｒｉｔｅｒモード、ＣＥモード」、「ＣＥモード、Ｒｅａｄｅｒモード」、「ＣＥモード、Ｗｒｉｔｅｒモード」が考えられる。
【００４０】
「切断手法」は、ＮＦＣ方式の通信リンクを切断するための手法を意味し、第１のハード切断、第２のハード切断、第１のソフト切断、第２のソフト切断、及び、ソフト＋ハード切断に分類される。なお、切断手法テーブル４２において、切断手法が記述されていない欄は、通常あり得ない「状況」及び「モード」の組合せに対応する欄である。例えば、後述のＰｏｌｌ機器がＣＥモードに従って動作することはあり得ないために、「Ｐｏｌｌ継続」又は「Ｐｏｌｌ終了」と、「ＣＥ」と、に対応する各欄には、切断手法が記述されていない。
【００４１】
第１のハード切断は、ＮＦＣ  Ｉ／Ｆ２２の動作を２００ｍｓに亘って停止させることによって、通信リンクを切断するための手法である。具体的に言うと、第１のハード切断では、例えば、制御部３０は、ＮＦＣ  Ｉ／Ｆ２２の動作を停止させるための停止指示を、ＮＦＣ  Ｉ／Ｆ２２に送信する。これにより、ＮＦＣ  Ｉ／Ｆ２２は、外部からの信号の受信、外部への信号の送信、後述のＰｏｌｌ動作、後述のＬｉｓｔｅｎ動作等を含む全ての動作を一時的に停止する。制御部３０は、２００ｍｓの待機期間を経た後に、ＮＦＣ  Ｉ／Ｆ２２の動作を再開させるための再開指示を、ＮＦＣ  Ｉ／Ｆ２２に送信する。これにより、ＮＦＣ  Ｉ／Ｆ２２は、動作を再開する。この結果、ＮＦＣ  Ｉ／Ｆ２２の動作を２００ｍｓに亘って停止させることができる。動作を再開したＮＦＣ  Ｉ／Ｆ２２は、後述のＰｏｌｌ動作及びＬｉｓｔｅｎ動作を実行可能な状態に戻る。
【００４２】
なお、第１のハード切断は、上記のように、停止指示及び再開指示をＮＦＣ  Ｉ／Ｆ２２に送信する手法に限られない。例えば、制御部３０は、ＮＦＣ  Ｉ／Ｆ２２への電力供給を２００ｍｓに亘って停止させてもよい。本手法でも、ＮＦＣ  Ｉ／Ｆ２２の動作を２００ｍｓに亘って停止させることができる。後述の第２のハード切断、ソフト＋ハード切断、第１のハード制御（図３参照）、及び、第２のハード制御（図３参照）のいずれも、停止指示及び再開指示をＮＦＣ  Ｉ／Ｆ２２に送信する手法であってもよいし、ＮＦＣ  Ｉ／Ｆ２２への電力供給を停止させる手法であってもよい。
【００４３】
第２のハード切断は、ＮＦＣ  Ｉ／Ｆ２２の動作を３００ｍｓに亘って停止させることによって、通信リンクを切断するための手法である。ＮＦＣ  Ｉ／Ｆ２２の動作を停止させる期間（３００ｍｓ）が、第１のハード切断（２００ｍｓ）とは異なる点を除くと、第２のハード切断は、第１のハード切断と同様である。
【００４４】
第１のソフト切断は、通信リンクを切断するためのコマンドであるＤｅａｃｔｉｖａｔｉｏｎコマンドを送信して、ＯＫコマンドを受信することによって、通信リンクを切断するための手法である。また、第２のソフト切断は、Ｄｅａｃｔｉｖａｔｉｏｎコマンドを受信して、ＯＫコマンドを送信することによって、通信リンクを切断するための手法である。また、ソフト＋ハード切断は、Ｄｅａｃｔｉｖａｔｉｏｎコマンドを送信して、ＯＫコマンドを受信し、その後、ＮＦＣ  Ｉ／Ｆ２２の動作を１０ｍｓに亘って停止させることによって、通信リンクを切断するための手法である。
【００４５】
第１のソフト切断及び第２のソフト切断は、ＮＦＣフォーラムによって定義されている一般的な切断手法である。従って、一般的なＮＦＣ機器は、通常、第１のソフト切断及び第２のソフト切断を利用して、通信リンクを切断する。これに対し、第１のハード切断、第２のハード切断、及び、ソフト＋ハード切断は、一般的な切断手法ではなく、本実施例のＭＦＰ１０に特有の切断手法である。詳しくは後述するが、ＭＦＰ１０は、切断手法テーブル４２を参照して、複数種の切断手法（本実施例では５種の切断手法）の中から、「状況」と「ＯＳ情報」と「モード」とに応じた切断手法を選択して、通信リンクを切断する。「状況」等に応じて選択される切断手法が変わる理由については、後で詳しく説明する（図８〜図１２の具体的なケースで説明する）。
【００４６】
（動作制御テーブル４４の内容；図３）
図３に示されるように、動作制御テーブル４４は、「状況」と、「ＯＳ情報」と、「モード」と、「動作制御手法」と、が対応付けられているテーブルである。「状況」、「ＯＳ情報」、及び、「モード」は、上記のとおりである。「動作制御手法」は、通信リンクが切断された後に、ＮＦＣ  Ｉ／Ｆ２２の動作を制御するための手法を意味し、第１のハード制御、及び、第２のハード制御に分類される。なお、動作制御テーブル４４において、動作制御手法が記述されていない欄は、通信リンクが切断された後に、ＮＦＣ  Ｉ／Ｆ２２の動作の制御が実行されないことを意味する。
【００４７】
第１のハード制御は、図２の第１のハード切断と同様に、ＮＦＣ  Ｉ／Ｆ２２の動作を２００ｍｓに亘って停止させることによって、ＮＦＣ  Ｉ／Ｆ２２の動作を制御する手法である。第２のハード制御は、図２の第２のハード切断と同様に、ＮＦＣ  Ｉ／Ｆ２２の動作を３００ｍｓに亘って停止させることによって、ＮＦＣ  Ｉ／Ｆ２２の動作を制御する手法である。
【００４８】
一般的なＮＦＣ機器は、通常、第１及び第２のハード制御を実行しない。即ち、第１及び第２のハード制御は、本実施例のＭＦＰ１０に特有の手法である。第１及び第２のハード制御を実行する理由については、後で詳しく説明する（図５、図７のフローチャートで説明する）。
【００４９】
（携帯端末５０の構成）
携帯端末５０は、例えば、携帯電話（例えばスマートフォン）、ＰＤＡ、ノートＰＣ、タブレットＰＣ、携帯型音楽再生装置、携帯型動画再生装置等の可搬型の端末である。携帯端末５０は、無線ネットワークに接続するためのネットワークＩ／Ｆと、ＮＦＣ  Ｉ／Ｆと、を備える。従って、携帯端末５０は、ネットワークＩ／Ｆを介して、ＭＦＰ１０と無線通信を実行可能であると共に、ＮＦＣ  Ｉ／Ｆを利用して、ＭＦＰ１０と無線通信を実行可能である。
【００５０】
携帯端末５０は、ＭＦＰ１０に様々な機能（例えば、印刷機能、スキャン機能等）を実行させるためのアプリケーションプログラム（以下では「ＭＦＰ用アプリケーション」と呼ぶ）を備える。なお、ＭＦＰ用アプリケーションは、例えば、ＭＦＰ１０のベンダによって提供されるサーバから携帯端末５０にインストールされてもよいし、ＭＦＰ１０と共に出荷されるメディアから携帯端末５０にインストールされてもよい。
【００５１】
（通信対象の対象データ）
続いて、ＭＦＰ１０と携帯端末５０との間で実行されるＮＦＣ方式の通信の対象である対象データの一例を以下に列挙する。
【００５２】
（第１の例）
ＭＦＰ１０が、携帯端末５０から印刷データを受信して、当該印刷データに従った印刷機能を実行すべき状況を想定する。携帯端末５０のユーザは、携帯端末５０のＭＦＰ用アプリケーションを起動させて、ＭＦＰ１０に印刷機能を実行させるための指示を携帯端末５０に入力する。この場合、携帯端末５０は、ＮＦＣ方式の通信を利用して、印刷実行コマンドを含む第１の対象データをＭＦＰ１０に送信する。なお、第１の対象データは、印刷データを含まない。
【００５３】
ＭＦＰ１０は、携帯端末５０から、ＮＦＣ  Ｉ／Ｆ２２を介して、第１の対象データを受信する。上述したように、ＮＦＣ方式の通信の通信速度は、ネットワーク無線通信の通信速度よりも遅い。このために、仮に、携帯端末５０からＭＦＰ１０への印刷データの通信としてＮＦＣ方式の通信が利用されると、印刷データの通信に長時間を要する可能性がある。従って、本例では、ＭＦＰ１０が、ネットワーク無線通信を利用して、携帯端末５０から印刷データを受信する構成を採用する。このような構成を採用するためには、携帯端末５０は、ＭＦＰ１０とネットワーク無線通信を実行するための無線設定を知る必要がある。従って、ＭＦＰ１０は、携帯端末５０から印刷実行コマンドを含む第１の対象データを受信する場合に、ＮＦＣ  Ｉ／Ｆ２２を介して、無線設定と、当該無線設定を利用することを携帯端末５０に指示する指示コマンドと、を含む第２の対象データを携帯端末５０に送信する。
【００５４】
これにより、ＭＦＰ１０及び携帯端末５０は、ＮＦＣ方式の通信に代えて、ネットワーク無線通信を実行して、印刷データを通信することができる。従って、ＭＦＰ１０は、印刷機能を実行することができる。
【００５５】
（第２の例）
ＭＦＰ１０が、スキャンを実行してスキャンデータを生成して、当該スキャンデータを携帯端末５０に送信するスキャン機能を実行すべき状況を想定する。携帯端末５０のユーザは、携帯端末５０のＭＦＰ用アプリケーションを起動させて、ＭＦＰ１０にスキャン機能を実行させるための指示を携帯端末５０に入力する。この場合、携帯端末５０は、ＮＦＣ方式の通信を利用して、スキャン実行コマンドを含む第１の対象データをＭＦＰ１０に送信する。
【００５６】
ＭＦＰ１０は、携帯端末５０から、ＮＦＣ  Ｉ／Ｆ２２を介して、第１の対象データを受信する。仮に、ＭＦＰ１０から携帯端末５０へのスキャンデータの通信としてＮＦＣ方式の通信が利用されると、スキャンデータの通信に長時間を要する可能性がある。このために、本例では、ＭＦＰ１０が、ネットワーク無線通信を利用して、スキャンデータを携帯端末５０に送信する構成を採用する。従って、ＭＦＰ１０は、携帯端末５０からスキャン実行コマンドを含む第１の対象データを受信する場合に、ＮＦＣ  Ｉ／Ｆ２２を介して、無線設定と、当該無線設定を利用することを携帯端末５０に指示する指示コマンドと、を含む第２の対象データを携帯端末５０に送信する。
【００５７】
これにより、ＭＦＰ１０及び携帯端末５０は、ＮＦＣ方式の通信に代えて、ネットワーク無線通信を実行して、スキャンデータを通信することができる。従って、ＭＦＰ１０は、スキャン機能を実行することができる。
【００５８】
（第３の例）
携帯端末５０が、ＭＦＰ１０が利用すべき設定情報を、ＭＦＰ１０に送信すべき状況を想定する。上記の設定情報として、例えば、ＭＦＰ１０が印刷機能を実行するための印刷設定情報（例えば、印刷解像度、用紙サイズ等）、ＭＦＰ１０がスキャン機能を実行するためのスキャン設定情報（例えば、スキャン解像度等）、ＭＦＰ１０が通信機能を実行するための通信設定情報（例えば、ＩＰアドレス、サブネットマスク、ゲートウェイアドレス等）を挙げることができる。
【００５９】
携帯端末５０のユーザは、携帯端末５０のＭＦＰ用アプリケーションを起動させて、ＭＦＰ１０が利用すべき設定情報を携帯端末５０に入力する。この場合、携帯端末５０は、ＮＦＣ方式の通信を利用して、設定情報と、設定情報をＭＦＰ１０に設定させるための設定コマンドと、を含む第１の対象データをＭＦＰ１０に送信する。
【００６０】
ＭＦＰ１０は、携帯端末５０から、ＮＦＣ  Ｉ／Ｆ２２を介して、第１の対象データを受信する。ＭＦＰ１０は、第１の対象データに含まれる設定情報を、ＭＦＰ１０が利用すべき設定情報として、メモリ３４に格納する。これにより、ＭＦＰ１０は、設定情報を利用して、様々な機能を実行することができる。ＭＦＰ１０は、携帯端末５０から第１の対象データを受信する場合に、第１の対象データを受信したことを示す応答コマンドを含む第２の対象データを、ＮＦＣ  Ｉ／Ｆ２２を介して、携帯端末５０に送信する。
【００６１】
（第４の例）
携帯端末５０が、携帯端末５０で現在利用されているアドレス帳に含まれるアドレス情報を、ＭＦＰ１０に送信すべき状況を想定する。携帯端末５０のユーザは、携帯端末５０のＭＦＰ用アプリケーションを起動させて、アドレス情報をＭＦＰ１０に送信するための指示を携帯端末５０に入力する。この場合、携帯端末５０は、ＮＦＣ方式の通信を利用して、アドレス情報と、アドレス情報をＭＦＰ１０に設定させるための設定コマンドと、を含む第１の対象データをＭＦＰ１０に送信する。
【００６２】
ＭＦＰ１０は、携帯端末５０から、ＮＦＣ  Ｉ／Ｆ２２を介して、第１の対象データを受信する。ＭＦＰ１０は、第１の対象データに含まれるアドレス情報を、ＭＦＰ１０で現在利用されているアドレス帳（即ちメモリ３４内のアドレス帳）に追加する。これにより、ＭＦＰ１０は、アドレス情報を利用して、通信機能を実行することができる。ＭＦＰ１０は、携帯端末５０から第１の対象データを受信する場合に、第１の対象データを受信したことを示す応答コマンドを含む第２の対象データを、ＮＦＣ  Ｉ／Ｆ２２を介して、携帯端末５０に送信する。
【００６３】
（第５の例）
上記の第１の例では、ＭＦＰ１０が、ネットワーク無線通信を利用して、印刷データを携帯端末５０に送信する構成を採用している。これに代えて、例えば、ＭＦＰ１０は、携帯端末５０から、ＮＦＣ  Ｉ／Ｆ２２を介して、印刷データと、印刷実行コマンドと、を含む第１の対象データを受信してもよい。この場合、ＭＦＰ１０は、第１の対象データを受信したことを示す応答コマンドを含む第２の対象データを、ＮＦＣ  Ｉ／Ｆ２２を介して、携帯端末５０に送信してもよい。
【００６４】
対象データの様々な例を説明したが、「第１の対象データ」と「第２の対象データ」の組合せは、上記の第１〜第５の例に限られず、他の組合せであってもよい。即ち、「第１の対象データ」は、ＭＦＰ１０がＮＦＣ方式の通信を利用して受信するデータであれば、どのような種類のデータであってもよく、「第２の対象データ」は、第１の対象データに含まれるコマンドを処理することによって生成されるデータ（即ち、第１の対象データとは異なるデータ）であれば、どのような種類のデータであってもよい。
【００６５】
なお、上記の第１〜第５の例では、ＭＦＰ１０が、第１の対象データを受信して、第２の対象データを送信すれば、複数個の対象データの一連の通信が終了する。従って、上記の第１〜第５の例では、例えば、図１のコマンドテーブル４０内のパターンＢに示されるように、第１の対象データに含まれるコマンドが「Ｂ１コマンド」に対応し、第２の対象データに含まれるコマンドが「Ｂ２コマンド」に対応し、それらの２個のコマンドの通信が終了すると、複数個の対象データの一連の通信が終了する。
【００６６】
ただし、図１のコマンドテーブル４０内のパターンＡに示されるように、３個以上の対象データが通信されることがあり得る。例えば、上記の第３の例において、ＭＦＰ１０は、（１）設定情報のうちの一部の情報と、設定コマンド（例えば「Ａ１コマンド」）と、を含む第１の対象データを携帯端末５０から受信し、（２）次いで、応答コマンド（例えば「Ａ２コマンド」）を含む第２の対象データを携帯端末５０に送信し、（３）次いで、設定情報のうちの残りの情報と、設定コマンド（例えば「Ａ３コマンド」）と、を含む第３の対象データを携帯端末５０から受信し、（４）次いで、応答コマンド（例えば「Ａ４コマンド」）を含む第４の対象データを携帯端末５０に送信してもよい。
【００６７】
（Ｐｏｌｌ動作及びＬｉｓｔｅｎ動作）
続いて、ＮＦＣ機器によって実行されるＰｏｌｌ動作及びＬｉｓｔｅｎ動作について説明する。例えば、ＭＦＰ１０では、ＣＰＵ３２が、プログラム３６，３８に従ってＰｏｌｌ動作及びＬｉｓｔｅｎ動作を実行するのではなく、ＮＦＣ  Ｉ／Ｆ２２が、Ｐｏｌｌ動作及びＬｉｓｔｅｎ動作を実行する。Ｐｏｌｌ動作は、ポーリング信号を送信して、ポーリング信号に対するレスポンス信号を受信する動作である。また、Ｌｉｓｔｅｎ動作は、ポーリング信号を受信して、ポーリング信号に対するレスポンス信号を送信する動作である。
【００６８】
ＭＦＰ１０のＮＦＣ  Ｉ／Ｆ２２は、Ｐｏｌｌ動作を実行するためのＰｏｌｌモードと、Ｌｉｓｔｅｎ動作を実行するためのＬｉｓｔｅｎモードと、Ｐｏｌｌ動作及びＬｉｓｔｅｎ動作のどちらも実行しないモード（以下では「不実行モード」と呼ぶ）と、のうちのいずれかのモードで動作可能である。ＮＦＣ  Ｉ／Ｆ２２は、Ｐｏｌｌモード、Ｌｉｓｔｅｎモード、及び、不実行モードで、順次動作する。例えば、ＮＦＣ  Ｉ／Ｆ２２は、Ｐｏｌｌモードで動作し、次いで、Ｌｉｓｔｅｎモードで動作し、次いで、不実行モードで動作する、という１セットの動作を実行する。ＮＦＣ  Ｉ／Ｆ２２は、上記の１セットの動作を繰り返し実行する。
【００６９】
Ｐｏｌｌモードでは、ＮＦＣ  Ｉ／Ｆ２２は、ポーリング信号を送信して、レスポンス信号を受信することを監視する。具体的に言うと、ＮＦＣ  Ｉ／Ｆ２２は、（１）ＴｙｐｅＡのＮＦＣ機器が応答可能なポーリング信号（即ちＴｙｐｅＡに対応するポーリング信号）を送信して、レスポンス信号の受信を所定時間監視し、（２）レスポンス信号を受信しなければ、ＴｙｐｅＢのＮＦＣ機器が応答可能なポーリング信号（即ちＴｙｐｅＢに対応するポーリング信号）を送信して、レスポンス信号の受信を所定時間監視し、（３）レスポンス信号を受信しなければ、ＴｙｐｅＦのＮＦＣ機器が応答可能なポーリング信号（即ちＴｙｐｅＦに対応するポーリング信号）を送信して、レスポンス信号の受信を所定時間監視する、という動作を繰り返す。ＮＦＣ  Ｉ／Ｆ２２が所定時間内にＮＦＣ機器からレスポンス信号を受信する場合には、当該ＮＦＣ機器は、当該レスポンス信号の送信の直前に受信したポーリング信号に対応するＴｙｐｅのＮＦＣ機器であると言える。ＮＦＣ  Ｉ／Ｆ２２は、レスポンス信号を受信する場合に、さらに、当該レスポンス信号の送信元のＮＦＣ機器が、どのモードで動作可能であるのかを問い合わせる問い合わせ信号を、当該ＮＦＣ機器に送信する。この結果、ＮＦＣ  Ｉ／Ｆ２２は、当該ＮＦＣ機器から動作可能モード信号を受信する。動作可能モード信号は、当該ＮＦＣ機器がＰ２Ｐモード及びＣＥモードのどちらでも動作可能であることを示すか、あるいは、当該ＮＦＣ機器がＣＥモードのみで動作可能であることを示す。
【００７０】
Ｌｉｓｔｅｎモードでは、ＮＦＣ  Ｉ／Ｆ２２は、ポーリング信号を受信することを監視して、ポーリング信号を受信すると、レスポンス信号を送信する。ＮＦＣ  Ｉ／Ｆ２２は、ＮＦＣ  Ｉ／Ｆ２２に対応するＴｙｐｅのポーリング信号を受信する場合にのみ、ポーリング信号の送信元のＮＦＣ機器にレスポンス信号を送信する。ＮＦＣ  Ｉ／Ｆ２２は、当該ＮＦＣ機器にレスポンス信号を送信する場合に、当該ＮＦＣ機器から問い合わせ信号を受信して、動作可能モード信号を当該ＮＦＣ機器に送信する。
【００７１】
不実行モードでは、ＮＦＣ  Ｉ／Ｆ２２は、ポーリング信号を送信せず、さらに、ポーリング信号を受信しても、レスポンス信号を送信しない。
【００７２】
携帯端末５０も、上記の１セットの動作を繰り返し実行する。従って、例えば、ＭＦＰ１０と携帯端末５０との間の距離が１０ｃｍ未満であり、かつ、ＭＦＰ１０のＮＦＣ  Ｉ／Ｆ２２がＰｏｌｌモードで動作する期間と、携帯端末５０がＬｉｓｔｅｎモードで動作する期間と、が一致する場合には、ＮＦＣ  Ｉ／Ｆ２２は、ポーリング信号を携帯端末５０に送信して、レスポンス信号を携帯端末５０から受信するＰｏｌｌ動作を実行する。また、例えば、ＭＦＰ１０と携帯端末５０との間の距離が１０ｃｍ未満であり、ＮＦＣ  Ｉ／Ｆ２２がＬｉｓｔｅｎモードで動作する期間と、携帯端末５０がＰｏｌｌモードで動作する期間と、が一致すると、ＮＦＣ  Ｉ／Ｆ２２は、ポーリング信号を携帯端末５０から受信して、レスポンス信号を携帯端末５０に送信するＬｉｓｔｅｎ動作を実行する。
【００７３】
ＮＦＣ規格では、Ｐｏｌｌ動作を実行したＮＦＣ機器（以下では「Ｐｏｌｌ機器」と呼ぶ）は、Ｐ２Ｐモード又はＲ／Ｗモードで動作することができるが、ＣＥモードで動作することができない。従って、ＭＦＰ１０がＰｏｌｌ機器である場合には、ＣＰＵ３２は、まず、ＭＦＰ１０がＰ２Ｐモード又はＲ／Ｗモードで動作すべきことを決定する。また、ＮＦＣ規格では、Ｌｉｓｔｅｎ動作を実行したＮＦＣ機器（以下では「Ｌｉｓｔｅｎ機器」と呼ぶ）は、Ｐ２Ｐモード又はＣＥモードで動作することができるが、Ｒ／Ｗモードで動作することができない。従って、上述したように、ＭＦＰ１０がＰｏｌｌ機器である場合には、ＣＰＵ３２は、ＭＦＰ１０がＰ２Ｐモード又はＣＥモードで動作すべきことを決定する。
【００７４】
ＮＦＣ  Ｉ／Ｆ２２がＰｏｌｌ動作を実行する場合には、以降の通信のための各処理は、ＣＰＵ３２に引き継がれる。具体的に言うと、携帯端末５０がどのモードの動作を実行可能であるのかを示す情報（即ち、受信済みの動作可能モード信号が示す情報）が、ＮＦＣ  Ｉ／Ｆ２２からＣＰＵ３２に受け渡される。ＣＰＵ３２は、ＮＦＣ  Ｉ／Ｆ２２から受け渡された情報に基づいて、ＭＦＰ１０がどのモードで動作すべきかを決定する。例えば、ＭＦＰ１０が全てのモードで動作可能であり、かつ、受信済みの動作可能モード信号がＰ２Ｐモード及びＣＥモードで動作可能であることを示す場合には、ＣＰＵ３２は、ＭＦＰ１０がＰ２Ｐモードで動作すべきことを決定する。この場合、ＣＰＵ３２は、Ｐ２Ｐモードに対応するＡｃｔｉｖａｔｉｏｎコマンドを携帯端末５０に送信する（図６のＳ１１２）。Ａｃｔｉｖａｔｉｏｎコマンドは、ＮＦＣ規格で採用されているコマンドであり、ＭＦＰ１０と携帯端末５０との間にＮＦＣ方式の通信リンクを確立するためのコマンドである。また、例えば、ＭＦＰ１０が全てのモードで動作可能であり、かつ、受信済みの動作可能モード信号がＣＥモードのみで動作可能であることを示す場合には、ＣＰＵ３２は、ＭＦＰ１０がＲ／Ｗモードで動作すべきことを決定する。この場合、ＣＰＵ３２は、Ｒ／Ｗモードに対応するＡｃｔｉｖａｔｉｏｎコマンドを携帯端末５０に送信する（図７のＳ１６０）。
【００７５】
また、ＮＦＣ  Ｉ／Ｆ２２がＬｉｓｔｅｎ動作を実行する場合も、以降の通信のための各処理は、ＣＰＵ３２に引き継がれる。具体的に言うと、ＣＰＵ３２は、携帯端末５０が動作すべきモードに対応するＡｃｔｉｖａｔｉｏｎコマンドを、携帯端末５０から受信する（図４のＳ１０参照）。ＣＰＵ３２は、Ｐ２Ｐモードに対応するＡｃｔｉｖａｔｉｏｎコマンドを受信する場合に、ＭＦＰ１０がＰ２Ｐモードで動作すべきことを決定し、Ｒ／Ｗモードに対応するＡｃｔｉｖａｔｉｏｎコマンドを受信する場合に、ＭＦＰ１０がＣＥモードで動作すべきことを決定する。
【００７６】
上述したように、ＣＰＵ３２は、ＮＦＣ  Ｉ／Ｆ２２がＰｏｌｌ動作又はＬｉｓｔｅｎ動作を実行すれば、ＭＦＰ１０の近傍に携帯端末５０が存在することを知ることができ、さらに、ＭＦＰ１０がどのモードで動作すべきかを知ることができ、その後の通信のための各処理（後述の図４〜図７参照）を実行する。
【００７７】
（ＭＦＰ１０が実行する処理；図４〜図７）
続いて、図４〜図７を参照して、ＭＦＰ１０が実行する処理について説明する。なお、ＣＰＵ３２は、メモリ３４内のプログラム３６，３８に従って、図４〜図７の各処理を実行する。以下では、まず、ＮＦＣ  Ｉ／Ｆ２２がＬｉｓｔｅｎ動作を実行した場合（即ちＭＦＰ１０がＬｉｓｔｅｎ機器である場合）に、ＣＰＵ３２が実行する処理（図４及び図５；以下では「ＭＦＰのＬｉｓｔｅｎ処理」と呼ぶ）の内容を説明する。次いで、ＮＦＣ  Ｉ／Ｆ２２がＰｏｌｌ動作を実行した場合（即ちＭＦＰ１０がＰｏｌｌ機器である場合）に、ＣＰＵ３２が実行する処理（図６及び図７；以下では「ＭＦＰのＰｏｌｌ処理」と呼ぶ）の内容を説明する。
【００７８】
なお、アプリケーションプログラム３６は、プロトコルスタック３８に従ったＬｉｓｔｅｎ処理の開始を、プロトコルスタックのＡＰＩを用いてＣＰＵ３２に指令するコードを含む。ＣＰＵ３２がアプリケーションプログラム３６に従って動作している状態では、ＣＰＵ３２は、プロトコルスタック３８に従ったＬｉｓｔｅｎ処理の開始の指令を受ける場合に、プロトコルスタック３８に従ったＬｉｓｔｅｎ処理を開始する。アプリケーションプログラム３６は、さらに、プロトコルスタック３８に従ったＰｏｌｌ処理の開始を、プロトコルスタック３８のＡＰＩを用いてＣＰＵ３２に指令するコードを含む。ＣＰＵ３２がアプリケーションプログラム３６に従って動作している状態では、ＣＰＵ３２は、プロトコルスタック３８に従ったＰｏｌｌ処理の開始の指令を受ける場合に、プロトコルスタック３８に従ったＰｏｌｌ処理を開始する。
【００７９】
（ＭＦＰのＬｉｓｔｅｎ処理；図４及び図５）
上述したように、ＮＦＣ  Ｉ／Ｆ２２がＬｉｓｔｅｎ動作を実行する場合（即ち携帯端末５０がＰｏｌｌ動作を実行する場合）には、携帯端末５０は、携帯端末５０が動作すべきモードに対応するＡｃｔｉｖａｔｉｏｎコマンドをＭＦＰ１０に送信する。Ｓ１０において、ＣＰＵ３２は、携帯端末５０から、ＮＦＣ  Ｉ／Ｆ２２を介して、Ａｃｔｉｖａｔｉｏｎコマンドを受信する。
【００８０】
次いで、Ｓ１２において、ＣＰＵ３２は、ＭＦＰ１０が、Ｐ２Ｐモードで動作すべきか、ＣＥモードで動作すべきかを判断する。ＣＰＵ３２は、Ｐ２Ｐモードに対応するＡｃｔｉｖａｔｉｏｎコマンドを受信する場合に、ＭＦＰ１０がＰ２Ｐモードで動作すべきと判断して（Ｓ１２でＹＥＳ）、Ｓ１４に進む。一方において、ＣＰＵ３２は、Ｒ／Ｗモードに対応するＡｃｔｉｖａｔｉｏｎコマンドを受信する場合に、ＭＦＰ１０がＣＥモードで動作すべきと判断して（Ｓ１２でＮＯ）、図５のＳ６２に進む。なお、ＣＰＵ３２がＣＥモードに対応するＡｃｔｉｖａｔｉｏｎコマンドを受信することはあり得ない。上述したように、Ｐｏｌｌ機器（即ち携帯端末５０）は、Ｐ２Ｐモード又はＲ／Ｗモードで動作することができるが、ＣＥモードで動作することができないからである。
【００８１】
（ＭＦＰのＬｉｓｔｅｎ処理；Ｐ２Ｐモード）
Ｓ１４では、ＣＰＵ３２は、Ａｃｔｉｖａｔｉｏｎコマンドに対するレスポンスコマンド（即ちＯＫコマンド）を、ＮＦＣ  Ｉ／Ｆ２２を介して、携帯端末５０に送信する。これにより、ＭＦＰ１０と携帯端末５０との間にＮＦＣ方式の通信リンクが確立される。即ち、ＣＰＵ３２は、Ａｃｔｉｖａｔｉｏｎコマンドを受信して、ＯＫコマンドを送信することによって、通信リンクを適切に確立することができる。
【００８２】
なお、ＭＦＰのＬｉｓｔｅｎ処理では、ＭＦＰ１０から携帯端末５０にＡｃｔｉｖａｔｉｏｎコマンドを送信することができない。Ｐｏｌｌ機器（即ち携帯端末５０）はＡｃｔｉｖａｔｉｏｎコマンドを送信することができるが、Ｌｉｓｔｅｎ機器（即ちＭＦＰ１０）はＡｃｔｉｖａｔｉｏｎコマンドを送信することができないからである。
【００８３】
次いで、Ｓ１６では、ＣＰＵ３２は、確認コマンド応答処理を開始する。確認コマンドは、Ｐｏｌｌ機器からＬｉｓｔｅｎ機器に送信されるコマンドであり、通信リンクを維持するための否かを確認するためのコマンドである。上述したように、現時点では、ＭＦＰ１０がＬｉｓｔｅｎ機器であり、携帯端末５０がＰｏｌｌ機器である。従って、確認コマンド応答処理では、ＣＰＵ３２は、携帯端末５０から、ＮＦＣ  Ｉ／Ｆ２２を介して、確認コマンドを受信して、確認コマンドに対するレスポンスコマンド（即ちＯＫコマンド）を、ＮＦＣ  Ｉ／Ｆ２２を介して、携帯端末５０に送信する。
【００８４】
なお、フローチャートには示されていないが、ＣＰＵ３２は、Ｓ１６で確認コマンド応答処理を開始すると、後述のＳ４０が実行されるまで、確認コマンド応答処理を継続して実行する。なお、ＣＰＵ３２は、プロトコルスタック３８に従って、Ｓ１０〜Ｓ１６の処理を実行する。
【００８５】
プロトコルスタック３８は、確認コマンドの受信イベントの発生を示すデータの出力を、ＣＰＵ３２に指令するコードを含む。ＣＰＵ３２は、Ｓ１６で最初の確認コマンドを受信すると、確認コマンドの受信イベントの発生を示すデータを出力する。アプリケーションプログラム３６は、確認コマンド受信イベントの発生を示すデータが出力される場合に、Ｓ１８の実行をＣＰＵ３２に指令するコードを含む。従って、ＣＰＵ３２は、Ｓ１６で最初の確認コマンドを受信すると、アプリケーションプログラム３６に従って、Ｓ１８を実行する。
【００８６】
Ｓ１８では、ＣＰＵ３２は、メモリ３４内の送信フラグが「１」であるのか否かを判断する。送信フラグは、後述のＳ２８、Ｓ３６、又は、Ｓ３７において、「０」又は「１」に設定される。ＣＰＵ３２は、メモリ３４内の送信フラグが「１」である場合に、Ｓ１８でＹＥＳと判断して、Ｓ３０に進む。一方において、ＣＰＵ３２は、メモリ３４内の送信フラグが「０」である場合に、Ｓ１８でＮＯと判断して、Ｓ２０に進む。なお、Ｓ１８でＹＥＳ又はＮＯの場合には、ＣＰＵ３２は、ＳＮＥＰ（Ｓｉｍｐｌｅ  ＮＤＥＦ  Ｅｘｃｈａｎｇｅ  Ｐｒｏｔｏｃｏｌの略）に従って通信するクライアントとして動作することを示すデータを、プロトコルスタック３８のＡＰＩを用いて設定する。ＮＤＥＦは、ＮＦＣ  Ｄａｔａ  Ｅｘｃｈａｎｇｅ  Ｆｏｒｍａｔの略である。プロトコルスタック３８は、ＡＰＩを用いた設定に従って、クライアントとして動作するためのネゴシエーションを実行することを、ＣＰＵ３２に指令するコードを含む。従って、ＣＰＵ３２は、Ｓ１８を終えると、プロトコルスタック３８に従って、Ｓ２０又はＳ３０の処理を実行する。
【００８７】
Ｓ２０では、ＣＰＵ３２は、ＮＦＣ  Ｉ／Ｆ２２を介して、携帯端末５０とネゴシエーションを実行する。具体的に言うと、ＣＰＵ３２は、まず、ＭＦＰ１０がＳＮＥＰのクライアントとして動作することを決定する。次いで、ＣＰＵ３２は、ＭＦＰ１０がクライアントとして動作し、携帯端末５０がＳＮＥＰのサーバとして動作するように、ＳＮＥＰに従った通信を実行する。これにより、携帯端末５０は、クライアント（即ちＭＦＰ１０）からのリクエストに応じて、処理を実行するサーバとして動作する。
【００８８】
Ｓ２０では、ＣＰＵ３２は、さらに、ＭＦＰ１０がデータ受信を実行すること（即ち携帯端末５０がデータ送信を実行すること）を、携帯端末５０に通知する。これにより、携帯端末５０は、対象データをＭＦＰ１０に送信すべきことを知ることができ、対象データをＭＦＰ１０に送信する。
【００８９】
次いで、Ｓ２２では、ＣＰＵ３２は、プロトコルスタック３８に従って、Ｓ１４で確立された通信リンクを利用して、携帯端末５０から、ＮＦＣ  Ｉ／Ｆ２２を介して、対象データを受信する。Ｓ２２で受信される対象データは、ＣＰＵ３２によって処理されるべきコマンドを含む。例えば、上記の第１、第２、又は、第５の例では、Ｓ２２で受信される第１の対象データは、印刷実行コマンド又はスキャン実行コマンドを含み、上記の第３又は第４の例では、Ｓ２２で受信される第１の対象データは、設定コマンドを含む。また、Ｓ２２で受信される対象データは、携帯端末５０に搭載されているＯＳプログラムに関係するＯＳ情報を含む。ＯＳ情報は、ＯＳプログラムの種類を示す種類情報（例えば「Ｔ１」）と、当該ＯＳプログラムのバージョンを示すバージョン情報（例えば「Ｖ１」）と、を含む。
【００９０】
プロトコルスタック３８は、対象データの受信イベントの発生を示すデータの出力を、ＣＰＵ３２に指令するコードを含む。ＣＰＵ３２は、Ｓ２２で対象データを受信すると、対象データの受信イベントの発生を示すデータを出力する。アプリケーションプログラム３６は、対象データの受信イベントの発生を示すデータが、プロトコルスタック３８から出力される場合に、Ｓ２４の実行をＣＰＵ３２に指令するコードを含む。従って、ＣＰＵ３２は、Ｓ２２で対象データを受信すると、アプリケーションプログラム３６に従って、Ｓ２４を実行する。
【００９１】
Ｓ２４では、ＣＰＵ３２は、アプリケーションプログラム３６に従って、Ｓ２２で受信された対象データを処理する。例えば、上記の第１又は第２の例では、ＣＰＵ３２は、Ｓ２２で受信された第１の対象データに含まれる印刷実行コマンド又はスキャン実行コマンドに従って、無線設定と、当該無線設定を利用することを携帯端末５０に指示する指示コマンドと、を含む第２の対象データを生成する。また、例えば、上記の第３の例では、ＣＰＵ３２は、Ｓ２２で受信された第１の対象にデータに含まれる設定コマンドに従って、第１の対象データに含まれる設定情報をメモリ３４に記憶させ、設定情報を受信したことを示す応答コマンドを含む第２の対象データを生成する。また、例えば、上記の第４の例では、ＣＰＵ３２は、Ｓ２２で受信された第１の対象データに含まれる設定コマンドに従って、第１の対象データに含まれるアドレス情報をメモリ３４内のアドレス帳に追加し、アドレス情報を受信したことを示す応答コマンドを含む第２の対象データを生成する。また、例えば、上記の第５の例では、ＣＰＵ３２は、Ｓ２２で受信された第１の対象データに含まれる印刷実行コマンドに従って、第１の対象データに含まれる印刷データを用いた印刷機能を実行し、印刷データを受信したことを示す応答コマンドを含む第２の対象データを生成する。
【００９２】
次いで、Ｓ２６では、ＣＰＵ３２は、アプリケーションプログラム３６に従って、メモリ３４内のコマンドテーブル４０を参照して、Ｓ２２で受信された対象データに含まれるコマンドが、最後のコマンドであるのか否かを判断する。例えば、Ｓ２２で受信された対象データに含まれるコマンドが、コマンドテーブル４０内の「Ａ１コマンド」、「Ｂ１コマンド」、又は、「Ｂ３コマンド」である場合には、「Ａ２コマンド」等の通信が継続して実行されるべきであるために、ＣＰＵ３２は、最後のコマンドでないと判断して（Ｓ２６でＮＯ）、Ｓ２８に進む。
【００９３】
Ｓ２８では、ＣＰＵ３２は、アプリケーションプログラム３６に従って、メモリ３４内の送信フラグを「１」に設定し、メモリ３４内の継続フラグを「１」に設定する。送信フラグが「１」に設定されるために、次の通信リンクが確立された場合に、ＣＰＵ３２は、対象データを携帯端末５０に送信することができる。また、継続フラグが「１」に設定されるために、後述のＳ３８において、ＣＰＵ３２は、ＭＦＰ１０の現在の状況が「Ｌｉｓｔｅｎ継続」であることを知ることができる。Ｓ２８を終えると、Ｓ３８に進む。
【００９４】
一方において、ＣＰＵ３２は、最後のコマンドであると判断する場合（Ｓ２６でＹＥＳ）に、Ｓ３７に進む。Ｓ３７では、ＣＰＵ３２は、アプリケーションプログラム３６に従って、メモリ３４内の送信フラグを「０」に設定し、メモリ３４内の継続フラグを「０」に設定する。送信フラグが「０」に設定されるために、次の通信リンクが確立された場合に、ＣＰＵ３２は、対象データを携帯端末５０から受信することができる。また、継続フラグが「０」に設定されるために、後述のＳ３８において、ＣＰＵ３２は、ＭＦＰ１０の現在の状況が「Ｌｉｓｔｅｎ終了」であることを知ることができる。Ｓ３７を終えると、Ｓ３８に進む。
【００９５】
Ｓ１８でＹＥＳの場合（即ち送信フラグが「１」である場合）には、Ｓ３０において、ＣＰＵ３２は、プロトコルスタック３８に従って、Ｓ２０と同様に、ＭＦＰ１０がＰ２Ｐモードのクライアントとして動作し、携帯端末５０がＰ２Ｐモードのサーバとして動作するように、ネゴシエーションを実行する。Ｓ３０では、ＣＰＵ３２は、さらに、ＭＦＰ１０がデータ送信を実行すること（即ち携帯端末５０がデータ受信を実行すること）を、携帯端末５０に通知する。これにより、携帯端末５０は、ＭＦＰ１０から対象データを受信するまで待機する。
【００９６】
次いで、Ｓ３２において、ＣＰＵ３２は、アプリケーションプログラム３６に従って、プロトコルスタック３８のＡＰＩを用いて、Ｓ１４で確立された通信リンクを利用して、ＮＦＣ  Ｉ／Ｆ２２を介して、携帯端末５０に対象データを送信する。例えば、上記の第１〜第５の例では、ＣＰＵ３２は、例えば、前回のＭＦＰのＬｉｓｔｅｎ処理のＳ２４、又は、前回のＭＦＰのＰｏｌｌ処理（図６）のＳ１２４において、第１の対象データに含まれるコマンドを処理して、第２の対象データを生成する。この場合、Ｓ３２では、ＣＰＵ３２は、生成済みの第２の対象データを携帯端末５０に送信する。
【００９７】
次いで、Ｓ３４では、ＣＰＵ３２は、アプリケーションプログラム３６に従って、メモリ３４内のコマンドテーブル４０を参照して、Ｓ３２で送信された対象データに含まれるコマンドが、最後のコマンドであるのか否かを判断する。例えば、Ｓ３２で送信された対象データに含まれるコマンドが、コマンドテーブル４０内の「Ａ２コマンド」である場合には、「Ａ３コマンド」等の通信が継続して実行されるべきであるために、ＣＰＵ３２は、最後のコマンドでないと判断して（Ｓ３４でＮＯ）、Ｓ３６に進む。Ｓ３６では、ＣＰＵ３２は、アプリケーションプログラム３６に従って、メモリ３４内の送信フラグを「０」に設定し、メモリ３４内の継続フラグを「１」に設定する。Ｓ３６を終えると、Ｓ３８に進む。
【００９８】
一方において、例えば、Ｓ３２で送信された対象データに含まれるコマンドが、コマンドテーブル４０内の「Ｂ２コマンド」である場合には、ＣＰＵ３２は、最後のコマンドであると判断して（Ｓ３４でＹＥＳ）、Ｓ３７に進む。Ｓ３７では、ＣＰＵ３２は、アプリケーションプログラム３６に従って、メモリ３４内の送信フラグを「０」に設定し、メモリ３４内の継続フラグを「０」に設定する。Ｓ３７を終えると、Ｓ３８に進む。
【００９９】
Ｓ３８では、ＣＰＵ３２は、アプリケーションプログラム３６に従って、メモリ３４内の切断手法テーブル４２と、メモリ３４内の継続フラグの値と、携帯端末５０のＯＳ情報と、を参照して、複数種の切断手法の中から、Ｓ１４で確立された通信リンクを切断するための切断手法を選択する。Ｓ３８の時点では、プリンタ１０がＬｉｓｔｅｎ機器であるために、プリンタ１０の現在の状況は、「Ｌｉｓｔｅｎ継続」及び「Ｌｉｓｔｅｎ終了」のどちらかである。そして、継続フラグが「１」である場合には、プリンタ１０の現在の状況は「Ｌｉｓｔｅｎ継続」であり、継続フラグが「０」である場合には、プリンタ１０の現在の状況は「Ｌｉｓｔｅｎ終了」である。また、Ｓ３８の時点では、プリンタ１０のモードは「Ｐ２Ｐ」である。
【０１００】
例えば、Ｓ２２を経てＳ３８が実行される場合には、Ｓ２２で受信された対象データは、携帯端末５０のＯＳ情報を含む。従って、Ｓ３８では、ＣＰＵ３２は、Ｓ２２で受信された対象データに含まれる携帯端末５０のＯＳ情報を利用して、切断手法を選択する。
【０１０１】
また、例えば、Ｓ３２を経てＳ３８が実行される場合には、Ｓ２２が実行されないが、上述したように、本実施例では、複数個の対象データの一連の通信において、ＭＦＰ１０が、最初の対象データを携帯端末５０に送信することはなく、最初の対象データを携帯端末５０から受信する。従って、Ｓ３２が実行される場合には、Ｓ１４で確立された通信リンクの前回の通信リンクが確立された際に、ＣＰＵ３２は、対象データを携帯端末５０から受信している。従って、Ｓ３８では、ＣＰＵ３２は、当該対象データ（即ち、携帯端末５０から前回に受信された対象データ）に含まれる携帯端末５０のＯＳ情報を利用して、切断手法を選択する。
【０１０２】
例えば、プリンタ１０の現在の状況が「Ｌｉｓｔｅｎ継続」である場合には、Ｓ３８では、ＣＰＵ３２は、携帯端末５０のＯＳ情報に応じた切断手法を選択する。具体的に言うと、ＣＰＵ３２は、携帯端末５０のＯＳ情報が「Ｔ１」及び「Ｖ１」を含む場合には、第１のハード切断を選択し、携帯端末５０のＯＳ情報が「Ｔ１」及び「Ｖ２」を含む場合には、第２のハード切断を選択し、携帯端末５０のＯＳ情報が「Ｔ２」及び「Ｖ３」を含む場合には、第２のハード切断を選択する（図２参照）。一方において、例えば、プリンタ１０の現在の状況が「Ｌｉｓｔｅｎ終了」である場合には、Ｓ３８では、ＣＰＵ３２は、携帯端末５０のＯＳ情報に関わらず（図２の「ａｎｙ」参照）、第２のソフト切断を選択する。
【０１０３】
次いで、Ｓ４０において、ＣＰＵ３２は、Ｓ３８で選択された切断手法を利用して、Ｓ１４で確立された通信リンクを切断する。例えば、Ｓ３８で選択された切断手法が第２のソフト切断である場合には、Ｓ４０では、ＣＰＵ３２は、まず、アプリケーションプログラム３６に従って、プロトコルスタック３８のＡＰＩを用いて、Ｓ１６で開始された確認コマンド応答処理を終了させる。即ち、ＣＰＵ３２は、携帯端末５０から確認コマンドを受信しても、確認コマンドに対するレスポンスコマンド（即ちＯＫコマンド）を携帯端末５０に送信しなくなる。これにより、携帯端末５０は、ＭＦＰ１０が通信リンクを維持することを望まないことを知ることができ、通信リンクを切断するためのＤｅａｃｔｉｖａｔｉｏｎコマンドをＭＦＰ１０に送信する。従って、ＣＰＵ３２は、プロトコルスタック３８に従って、携帯端末５０から、ＮＦＣ  Ｉ／Ｆ２２を介して、Ｄｅａｃｔｉｖａｔｉｏｎコマンドを受信する。この場合、ＣＰＵ３２は、プロトコルスタック３８に従って、Ｄｅａｃｔｉｖａｔｉｏｎコマンドに対するレスポンスコマンド（即ちＯＫコマンド）を、ＮＦＣ  Ｉ／Ｆ２２を介して、携帯端末５０に送信する。これにより、Ｓ１４で確立された通信リンクが切断される。
【０１０４】
なお、ＭＦＰのＬｉｓｔｅｎ処理では、ＭＦＰ１０から携帯端末５０にＤｅａｃｔｉｖａｔｉｏｎコマンドを送信することはできない。Ｐｏｌｌ機器（即ち携帯端末５０）はＤｅａｃｔｉｖａｔｉｏｎコマンドを送信することができるが、Ｌｉｓｔｅｎ機器（即ちＭＦＰ１０）はＤｅａｃｔｉｖａｔｉｏｎコマンドを送信することができないからである。
【０１０５】
また、例えば、Ｓ３８で選択された切断手法が第１のハード切断である場合には、Ｓ４０では、ＣＰＵ３２は、ＮＦＣ  Ｉ／Ｆ２２の電源を２００ｍｓに亘って切断し、再度接続する。これにより、ＮＦＣ  Ｉ／Ｆ２２の動作は、２００ｍｓに亘って一時的に停止される。また、例えば、Ｓ３８で選択された切断手法が第２のハード切断である場合には、Ｓ４０では、ＣＰＵ３２は、ＮＦＣ  Ｉ／Ｆ２２の電源を３００ｍｓに亘って切断し、再度接続する。これにより、ＮＦＣ  Ｉ／Ｆ２２の動作は、３００ｍｓに亘って一時的に停止される。この結果、ＮＦＣ  Ｉ／Ｆ２２は、外部からの信号の受信、外部への信号の送信、Ｐｏｌｌ動作、Ｌｉｓｔｅｎ動作等を含む全ての動作を一時的に停止する。従って、ＣＰＵ３２は、ＮＦＣ  Ｉ／Ｆ２２を介して、Ｓ１６で開始された確認コマンド応答処理を実行することができなくなる。
【０１０６】
なお、Ｓ３８で選択された切断手法が第１又は第２のハード切断である場合に、Ｓ４０では、ＣＰＵ３２は、上記の停止指示をＮＦＣ  Ｉ／Ｆ２２に入力して、プロトコルスタック３８に従ったＣＰＵ３２の動作を終了させ、その後、上記の再開指示をＮＦＣ  Ｉ／Ｆ２２に入力して、プロトコルスタック３８に従ったＣＰＵ３２の動作を再起動させてもよい。この場合も、ＮＦＣ  Ｉ／Ｆ２２の動作（即ち、外部からの信号の受信、外部への信号の送信、Ｐｏｌｌ動作、Ｌｉｓｔｅｎ動作等を含む全ての動作）を一時的に停止させることができる。
【０１０７】
第１又は第２のハード切断が実行されると、第２のソフト切断の場合と同様に、携帯端末５０は、確認コマンドに対するレスポンスコマンド（即ちＯＫコマンド）を受信することができない。この場合、携帯端末５０は、通信リンクを切断するためのＤｅａｃｔｉｖａｔｉｏｎコマンドをＭＦＰ１０に送信するが、ＭＦＰ１０のＮＦＣ  Ｉ／Ｆ２２の動作が停止されているために、Ｄｅａｃｔｉｖａｔｉｏｎコマンドに対するレスポンスコマンド（即ちＯＫコマンド）を受信することもできない。従って、携帯端末５０は、タイムアウトと判断して、通信リンクを維持するための処理（即ち、確認コマンドを送信する処理等）を終了する。これにより、Ｓ１４で確立された通信リンクが切断される。Ｓ４０が終了すると、ＭＦＰのＬｉｓｔｅｎ処理が終了する。
【０１０８】
なお、図２の切断手法テーブル４２及び図４のフローチャートでは示していないが、携帯端末５０のＯＳ情報が、「Ｔ１」及び「Ｔ２」とは異なる種類情報（例えばｉＯＳを示す「Ｔ３」）を含む場合には、ＣＰＵ３２は、Ｓ３８及びＳ４０を実行せずに（即ち通信リンクを切断せずに）、同じ通信リンクを利用して、複数個の対象データの双方向通信を実行してもよい。
【０１０９】
（ＭＦＰのＬｉｓｔｅｎ処理；ＣＥモード（図５））
続いて、図５を参照して、図４のＳ１２でＮＯと判断される場合（即ち、ＭＦＰ１０がＣＥモードで動作すべきことが判断される場合）の処理の内容を説明する。Ｓ６２は、図４のＳ１４と同様である。なお、ＭＦＰ１０がＣＥモードで動作し、携帯端末５０がＲ／Ｗモードで動作する場合には、Ｐ２Ｐモードの場合と異なり、確認コマンド応答処理（図２のＳ１６参照）が実行されない。単方向通信のためのモードであるために（即ち、１回の対象データの通信のみが実行されるモードであるために）、通信リンクを維持するのか否かを確認する必要がないからである。
【０１１０】
なお、Ｓ６２は、プロトコルスタック３８に従って実行される。また、Ｓ６４，Ｓ６８，Ｓ７０，Ｓ７２，Ｓ７６，Ｓ７８，Ｓ８２，Ｓ８６は、アプリケーションプログラム３６に従って実行される。また、Ｓ６６，Ｓ７４，Ｓ８０，Ｓ８４，Ｓ８８は、アプリケーションプログラム３６に従って、プロトコルスタック３８のＡＰＩを用いて実行される。
【０１１１】
Ｓ６４〜Ｓ７２は、図２のＳ１８，Ｓ２２〜Ｓ２８と同様である。Ｓ７４〜Ｓ７８は、図４のＳ３２〜Ｓ３６と同様である。Ｓ７２又はＳ７８を経た場合には、Ｓ８０に進む。また、Ｓ７０でＹＥＳ又はＳ７６でＹＥＳの場合には、Ｓ８６に進む。Ｓ８６は、図４のＳ３７と同様である。Ｓ８６を終えると、Ｓ８８に進む。
【０１１２】
Ｓ８０又はＳ８８では、ＣＰＵ３２は、まず、切断手法テーブル４２を参照して、Ｓ６２で確立された通信リンクを切断するための切断手法を選択する。Ｓ８０又はＳ８８の時点では、ＭＦＰ１０の現在の状況は「Ｌｉｓｔｅｎ継続」及び「Ｌｉｓｔｅｎ終了」のどちらかであり、ＭＦＰ１０のモードは「ＣＥ」である。従って、ＣＰＵ３２は、携帯端末５０のＯＳ情報に関わらず、第２のソフト切断を選択する（図２参照）。Ｓ８０又はＳ８８では、ＣＰＵ３２は、選択済みの第２のソフト切断を利用して、Ｓ６２で確立された通信リンクを切断する。第２のソフト切断の内容は、上述したとおりである。Ｓ８０が終了する場合には、Ｓ８２及びＳ８４が実行された後に、ＭＦＰのＬｉｓｔｅｎ処理が終了する。一方において、Ｓ８８が終了する場合には、Ｓ８２及びＳ８４が実行されずに、ＭＦＰのＬｉｓｔｅｎ処理が終了する。
【０１１３】
Ｓ８２では、ＣＰＵ３２は、メモリ３４内の動作制御テーブル４４と、携帯端末５０のＯＳ情報と、を参照して、複数種の動作制御手法の中から、１個の動作制御手法を選択する。Ｓ８２では、ＣＰＵ３２は、携帯端末５０のＯＳ情報に応じた動作制御手法を選択する。例えば、Ｓ６６を経てＳ８２が実行される場合には、Ｓ８２では、ＣＰＵ３２は、Ｓ６６で受信された対象データに含まれる携帯端末５０のＯＳ情報を利用して、動作制御手法を選択する。また、例えば、Ｓ７４を経てＳ８２が実行される場合には、Ｓ８２では、ＣＰＵ３２は、携帯端末５０から前回に受信された対象データに含まれる携帯端末５０のＯＳ情報を利用して、動作制御手法を選択する。具体的に言うと、ＣＰＵ３２は、携帯端末５０のＯＳ情報が「Ｔ１」及び「Ｖ１」を含む場合には、第１のハード制御を選択し、携帯端末５０のＯＳ情報が「Ｔ１」及び「Ｖ２」を含む場合には、第２のハード制御を選択し、携帯端末５０のＯＳ情報が「Ｔ２」及び「Ｖ３」を含む場合には、第２のハード制御を選択する（図３参照）。
【０１１４】
Ｓ８４では、ＣＰＵ３２は、Ｓ８２で選択された動作制御手法を利用して、動作制御処理を実行する。例えば、Ｓ８２で選択された動作制御手法が第１のハード制御である場合には、Ｓ８４では、ＣＰＵ３２は、ＮＦＣ  Ｉ／Ｆ２２の動作を２００ｍｓに亘って一時的に停止させる。また、例えば、Ｓ８２で選択された動作制御手法が第２のハード制御である場合には、Ｓ８４では、ＣＰＵ３２は、ＮＦＣ  Ｉ／Ｆ２２の動作を３００ｍｓに亘って一時的に停止させる。
【０１１５】
Ｓ８０で通信リンクが切断されると、携帯端末５０は、Ｐｏｌｌモード及びＬｉｓｔｅｎモードで再び順次動作する。ただし、Ｓ８４において、ＭＦＰ１０のＮＦＣ  Ｉ／Ｆ２２の動作が一時的に停止されるために、携帯端末５０は、ポーリング信号を送信しても、レスポンス信号を受信しない。また、携帯端末５０は、ＭＦＰ１０からポーリング信号を受信しない。このために、携帯端末５０は、ＭＦＰ１０と携帯端末５０の間の距離が大きくなったこと、即ち、通信相手が離反したこと、を検知することができる。
【０１１６】
携帯端末５０に通信相手の離反を検知させるのは（即ちＳ８４の動作制御処理を実行するのは）、以下の理由である。ＣＥモード及びＲ／Ｗモードに対応する通信リンクでは、１回の対象データの通信のみが実行されることが前提となっている。従って、一対のＮＦＣ機器のそれぞれは、ＣＥモード及びＲ／Ｗモードに従って、対象データの通信を実行すると、通常、通信リンクを切断する。その後、仮に、一対のＮＦＣ機器が近接している状態が維持され続けると、一対のＮＦＣ機器は、Ｐｏｌｌ動作及びＬｉｓｔｅｎ動作を再び実行して通信リンクを再び確立し、同じ対象データの通信を実行し得る。即ち、一対のＮＦＣ機器が近接している状態が維持される場合には、同じ対象データが何回も通信されるという事象が発生し得る。
【０１１７】
従って、ＮＦＣ機器は、通常、ＣＥモード及びＲ／Ｗモードに対応する通信リンクを切断した後に、通信相手の離反を検知しない場合には、Ｐｏｌｌ動作及びＬｉｓｔｅｎ動作を再び実行しても、通信リンクを再び確立しないようにプログラムされている。そして、ＮＦＣ機器は、例えば、ポーリング信号を何回か送信しても、レスポンス信号を通信相手から受信しない場合や、所定期間に亘って通信相手からポーリング信号を受信しない場合に、通信相手の離反を検知する。ＮＦＣ機器は、このようにして通信相手の離反を検知すると、同じ通信相手と通信リンクを再び確立することができる。
【０１１８】
本実施例では、第１の対象データの通信が実行された後に、第２の対象データの通信が実行される。従って、第１の対象データの通信のための通信リンクが切断された後に、ＭＦＰ１０と携帯端末５０とが近接している状態が維持されていても、第２の対象データの通信のための新たな通信リンクを再び確立させる仕組みが必要である。この仕組みが、Ｓ８４の動作制御処理である。即ち、ＭＦＰ１０がＳ８４の動作制御処理を実行すれば、ＭＦＰ１０と携帯端末５０とが近接している状態が維持されていても、携帯端末５０は、ＭＦＰ１０の離反を検知することができる。その後、ＭＦＰ１０及び携帯端末５０がＰｏｌｌ動作及びＬｉｓｔｅｎ動作を実行すれば、ＭＦＰ１０及び携帯端末５０の間に通信リンクを再び確立させることができる。
【０１１９】
（ＭＦＰのＰｏｌｌ処理；図６及び図７）
続いて、図６及び図７を参照して、ＭＦＰのＰｏｌｌ処理の内容を説明する。上述したように、ＮＦＣ  Ｉ／Ｆ２２がＰｏｌｌ動作を実行する場合には、ＭＦＰ１０は、受信済みの動作可能モード信号に従って、Ｐ２Ｐモード及びＲ／Ｗモードのうちのどちらかのモードで動作する。Ｓ１１０では、ＣＰＵ３２は、受信済みの動作可能モード信号に基づいて、ＭＦＰ１０が、Ｐ２Ｐモードで動作すべきか、Ｒ／Ｗモードで動作すべきか、を判断する。ＣＰＵ３２は、ＭＦＰ１０がＰ２Ｐモードで動作すべきと判断する場合（Ｓ１１０でＹＥＳの場合）に、Ｓ１１２に進み、ＭＦＰ１０がＲ／Ｗモードで動作すべきと判断する場合（Ｓ１１０でＮＯの場合）に、図７のＳ１６０に進む。
【０１２０】
（ＭＦＰのＰｏｌｌ処理；Ｐ２Ｐモード（図６））
Ｓ１１０，Ｓ１１２，Ｓ１１４，Ｓ１１６は、プロトコルスタック３８に従って実行される。また、Ｓ１１８，Ｓ１２４，Ｓ１２６，Ｓ１２８，Ｓ１３４，Ｓ１３６，Ｓ１３７，Ｓ１３８は、アプリケーションプログラム３６に従って実行される。また、Ｓ１２０，Ｓ１２２，Ｓ１３０，Ｓ１３２，Ｓ１４０は、アプリケーションプログラム３６に従って、プロトコルスタック３８のＡＰＩを用いて実行される。
【０１２１】
Ｓ１１２では、ＣＰＵ３２は、ＮＦＣ  Ｉ／Ｆ２２を介して、Ｐ２Ｐモードに対応するＡｃｔｉｖａｔｉｏｎコマンドを携帯端末５０に送信する。次いで、Ｓ１１４では、ＣＰＵ３２は、携帯端末５０から、ＮＦＣ  Ｉ／Ｆ２２を介して、Ａｃｔｉｖａｔｉｏｎコマンドに対するレスポンスコマンド（即ちＯＫコマンド）を受信する。これにより、ＭＦＰ１０と携帯端末５０との間にＮＦＣ方式の通信リンクが確立される。
【０１２２】
次いで、Ｓ１１６では、ＣＰＵ３２は、確認コマンド送信処理を開始する。確認コマンド送信処理では、ＣＰＵ３２は、確認コマンドを、ＮＦＣ  Ｉ／Ｆ２２を介して、携帯端末５０に送信して、携帯端末５０から、ＮＦＣ  Ｉ／Ｆ２２を介して、確認コマンドに対するレスポンスコマンド（即ちＯＫコマンド）を受信する。なお、ＣＰＵ３２は、Ｓ１１６で確認コマンド送信処理を開始すると、後述のＳ１４０が実行されるまで、確認コマンド送信処理を継続して実行する。
【０１２３】
Ｓ１１８〜Ｓ１２８は、図４のＳ１８〜Ｓ２８と同様である。Ｓ１３０〜Ｓ１３７は、図４のＳ３０〜Ｓ３７と同様である。
【０１２４】
Ｓ１３８では、ＣＰＵ３２は、メモリ３４内の切断手法テーブル４２と、メモリ３４内の継続フラグの値と、携帯端末５０のＯＳ情報と、を参照して、複数種の切断手法の中から、Ｓ１１４で確立された通信リンクを切断するための切断手法を選択する。Ｓ１３８の時点では、プリンタ１０がＰｏｌｌ機器であるために、プリンタ１０の現在の状況は、「Ｐｏｌｌ継続」及び「Ｐｏｌｌ終了」のどちらかである。そして、継続フラグが「１」である場合には、プリンタ１０の現在の状況は「Ｐｏｌｌ継続」であり、継続フラグが「０」である場合には、プリンタ１０の現在の状況は「Ｐｏｌｌ終了」である。また、Ｓ１３８の時点では、プリンタ１０のモードは「Ｐ２Ｐ」である。
【０１２５】
例えば、Ｓ１２２を経てＳ１３８が実行される場合には、Ｓ１３８では、ＣＰＵ３２は、Ｓ１２２で受信された対象データに含まれる携帯端末５０のＯＳ情報を利用して、切断手法を選択する。また、例えば、Ｓ１３２を経てＳ１３８が実行される場合には、Ｓ１３８では、ＣＰＵ３２は、携帯端末５０から前回に受信された対象データに含まれる携帯端末５０のＯＳ情報を利用して、切断手法を選択する。
【０１２６】
例えば、プリンタ１０の現在の状況が「Ｐｏｌｌ継続」である場合には、Ｓ１３８では、ＣＰＵ３２は、携帯端末５０のＯＳ情報に応じた切断手法を選択する。具体的に言うと、ＣＰＵ３２は、携帯端末５０のＯＳ情報が「Ｔ１」及び「Ｖ１」を含む場合には、第１のハード切断を選択し、携帯端末５０のＯＳ情報が「Ｔ１」及び「Ｖ２」を含む場合には、第１のソフト切断を選択し、携帯端末５０のＯＳ情報が「Ｔ２」及び「Ｖ３」を含む場合には、ソフト＋ハード切断を選択する（図２参照）。一方において、例えば、プリンタ１０の現在の状況が「Ｐｏｌｌ終了」である場合には、Ｓ１３８では、ＣＰＵ３２は、携帯端末５０のＯＳ情報に関わらず（図２の「ａｎｙ」参照）、第１のソフト切断を選択する。
【０１２７】
次いで、Ｓ１４０において、ＣＰＵ３２は、Ｓ１３８で選択された切断手法を利用して、Ｓ１１４で確立された通信リンクを切断する。例えば、Ｓ１３８で選択された切断手法が第１のソフト切断である場合には、Ｓ１４０では、ＣＰＵ３２は、ＮＦＣ  Ｉ／Ｆ２２を介して、Ｄｅａｃｔｉｖａｔｉｏｎコマンドを携帯端末５０に送信する。次いで、ＣＰＵ３２は、携帯端末５０から、ＮＦＣ  Ｉ／Ｆ２２を介して、Ｄｅａｃｔｉｖａｔｉｏｎコマンドに対するレスポンスコマンド（即ちＯＫコマンド）を受信する。これにより、Ｓ１１４で確立された通信リンクが切断される。
【０１２８】
また、例えば、Ｓ１３８で選択された切断手法が第１のハード切断である場合には、Ｓ１４０では、ＣＰＵ３２は、ＮＦＣ  Ｉ／Ｆ２２の動作を２００ｍｓに亘って一時的に停止させる。従って、ＣＰＵ３２は、ＮＦＣ  Ｉ／Ｆ２２を介して、Ｓ１１６で開始された確認コマンド送信処理を実行することができなくなる。この場合、携帯端末５０は、タイムアウトと判断し、通信リンクに関する処理（即ち、確認コマンドの受信の監視等）を終了し、この結果、通信リンクが切断される。
【０１２９】
また、例えば、Ｓ１３８で選択された切断手法がソフト＋ハード切断である場合には、Ｓ１４０では、ＣＰＵ３２は、まず、ＮＦＣ  Ｉ／Ｆ２２を介して、Ｄｅａｃｔｉｖａｔｉｏｎコマンドを携帯端末５０に送信する。次いで、ＣＰＵ３２は、携帯端末５０から、ＮＦＣ  Ｉ／Ｆ２２を介して、Ｄｅａｃｔｉｖａｔｉｏｎコマンドに対するレスポンスコマンド（即ちＯＫコマンド）を受信する。その後、ＣＰＵ３２は、ＮＦＣ  Ｉ／Ｆ２２の動作を１０ｍｓに亘って一時的に停止させる。これにより、Ｓ１１４で確立された通信リンクが切断される。Ｓ１４０が終了すると、ＭＦＰのＰｏｌｌ処理が終了する。
【０１３０】
なお、図２の切断手法テーブル４２及び図６のフローチャートでは示していないが、携帯端末５０のＯＳ情報が、「Ｔ１」及び「Ｔ２」とは異なる種類情報（例えばｉＯＳを示す「Ｔ３」）を含む場合には、ＣＰＵ３２は、Ｓ１３８及びＳ１４０を実行せずに（即ち通信リンクを切断せずに）、同じ通信リンクを利用して、複数個の対象データの双方向通信を実行してもよい。
【０１３１】
（ＭＦＰのＰｏｌｌ処理；Ｒ／Ｗモード（図７））
続いて、図７を参照して、図６のＳ１１０でＮＯと判断される場合（即ちＭＦＰ１０がＲ／Ｗモードで動作すべきと判断される場合）の処理の内容を説明する。なお、Ｓ１６０，Ｓ１６２は、プロトコルスタック３８に従って実行される。また、Ｓ１６４，Ｓ１６８，Ｓ１７０，Ｓ１７２，Ｓ１７６，Ｓ１７８，Ｓ１８２，Ｓ１８６は、アプリケーションプログラム３６に従って実行される。また、Ｓ１６５，Ｓ１６６，Ｓ１７３，Ｓ１７４，Ｓ１８０，Ｓ１８４，Ｓ１８８は、アプリケーションプログラム３６に従って、プロトコルスタック３８のＡＰＩを用いて実行される。
【０１３２】
Ｓ１６０〜Ｓ１６４は、図６のＳ１１２，Ｓ１１４，Ｓ１１８と同様である。ただし、Ｓ１６０では、ＣＰＵ３２は、Ｒ／Ｗモードに対応するＡｃｔｉｖａｔｉｏｎコマンドを送信する。
【０１３３】
Ｓ１６４でＮＯの場合（即ち送信フラグが「０」である場合）には、Ｓ１６５において、ＣＰＵ３２は、ＭＦＰ１０がＲｅａｄｅｒモードに従って動作すべきことを決定する。これにより、ＣＰＵ３２は、携帯端末５０の擬似的なカードから対象データを読み出すこと、即ち、携帯端末５０から対象データを受信することができる。この後に実行されるＳ１６６〜Ｓ１７２は、図５のＳ６６〜Ｓ７２と同様である。
【０１３４】
一方において、Ｓ１６４でＹＥＳの場合（即ち送信フラグが「１」である場合）には、Ｓ１７３において、ＣＰＵ３２は、ＭＦＰ１０がＷｒｉｔｅｒモードに従って動作すべきことを決定する。これにより、ＣＰＵ３２は、携帯端末５０の擬似的なカードに対象データを書き込むこと、即ち、携帯端末５０に対象データを送信することができる。この後に実行されるＳ１７４〜Ｓ１７８は、図５のＳ７４〜Ｓ７８と同様である。
【０１３５】
Ｓ１７２又はＳ１７８を経た場合には、Ｓ１８０に進む。また、Ｓ１７０でＹＥＳ又はＳ１７６でＹＥＳの場合には、Ｓ１８６に進む。Ｓ１８６は、図５のＳ８６と同様である。Ｓ１８６を終えると、Ｓ１８８に進む。
【０１３６】
Ｓ１８０又はＳ１８８では、ＣＰＵ３２は、まず、切断手法テーブル４２を参照して、Ｓ１６２で確立された通信リンクを切断するための切断手法を選択する。Ｓ１８０又はＳ１８８の時点では、ＭＦＰ１０の現在の状況は「Ｐｏｌｌ継続」及び「Ｐｏｌｌ終了」のどちらかであり、ＭＦＰ１０のモードは「Ｒ／Ｗ」である。ＣＰＵ３２は、携帯端末５０のＯＳ情報に関わらず、第１のソフト切断を選択する（図２参照）。Ｓ１８０又はＳ１８８では、ＣＰＵ３２は、選択済みの第１のソフト切断を利用して、Ｓ１６２で確立された通信リンクを切断する。第１のソフト切断の内容は、上述したとおりである。Ｓ１８０が終了する場合には、Ｓ１８２及びＳ１８４が実行された後に、ＭＦＰのＰｏｌｌ処理が終了する。一方において、Ｓ１８８が終了する場合には、Ｓ１８２及びＳ１８４が実行されずに、ＭＦＰのＰｏｌｌ処理が終了する。
【０１３７】
Ｓ１８２では、ＣＰＵ３２は、メモリ３４内の動作制御テーブル４４と、携帯端末５０のＯＳ情報と、を参照して、複数種の動作制御手法の中から、１個の動作制御手法を選択する。Ｓ１８２では、ＣＰＵ３２は、携帯端末５０のＯＳ情報に応じた動作制御手法を選択する。例えば、Ｓ１６６を経てＳ１８２が実行される場合には、Ｓ１８２では、ＣＰＵ３２は、Ｓ１６６で受信された対象データに含まれる携帯端末５０のＯＳ情報を利用して、動作制御手法を選択する。また、例えば、Ｓ１７４を経てＳ１８２が実行される場合には、Ｓ１８２では、ＣＰＵ３２は、携帯端末５０から前回に受信された対象データに含まれる携帯端末５０のＯＳ情報を利用して、動作制御手法を選択する。具体的に言うと、ＣＰＵ３２は、携帯端末５０のＯＳ情報が「Ｔ１」及び「Ｖ１」を含む場合には、第１のハード制御を選択し、携帯端末５０のＯＳ情報が「Ｔ２」及び「Ｖ３」を含む場合には、第２のハード制御を選択する。なお、ＣＰＵ３２は、携帯端末５０のＯＳ情報が「Ｔ１」及び「Ｖ２」を含む場合には、いずれの動作制御手法も選択せずに（図３参照）、Ｓ１８４の処理をスキップして、ＭＦＰのＰｏｌｌ処理を終了する。
【０１３８】
Ｓ１８４では、ＣＰＵ３２は、Ｓ１８２で選択された動作制御手法を利用して、動作制御処理を実行する。第１及び第２のハード制御については、上述のとおりである。Ｓ１８４の動作制御処理を実行する理由は、図５のＳ８４の動作制御処理を実行する理由と同様である。
【０１３９】
（具体的なケース）
続いて、本実施例によって実現される具体的なケースを説明する。以下の各ケースは、ＭＦＰ１０が図４〜図７の各処理を実行することによって、実現される。なお、以下の各ケースでは、図１のコマンドテーブル４０内のパターンＢに示されるように、携帯端末５０からＭＦＰ１０に第１の対象データが送信され、次いで、ＭＦＰ１０から携帯端末５０に第２の対象データが送信されて、複数個の対象データの一連の通信が終了する状況を想定している。
【０１４０】
（ケースＡ；図８）
ケースＡでは、ＭＦＰ１０がＰｏｌｌ動作を実行し（即ち携帯端末５０がＬｉｓｔｅｎ動作を実行し）、さらに、携帯端末５０がＰ２Ｐモードに従って動作可能である。携帯端末５０は、種類情報「Ｔ１」及びバージョン情報「Ｖ１」を有するＯＳプログラムを備える。
【０１４１】
ＭＦＰ１０は、Ａｃｔｉｖａｔｉｏｎコマンドを携帯端末５０に送信して（図６のＳ１１２）、携帯端末５０からＯＫコマンドを受信する（Ｓ１１４）。これにより、ＭＦＰ１０と携帯端末５０との間に通信リンクＬ１が確立される。この場合、ＭＦＰ１０は、確認コマンド送信処理を開始する（Ｓ１１６）。即ち、ＭＦＰ１０は、確認コマンドを携帯端末５０に送信して、ＯＫコマンドを携帯端末５０から受信する。
【０１４２】
通信リンクＬ１が確立された時点では、送信フラグが「０」である。この場合、ＭＦＰ１０は、Ｓ１１８でＮＯと判断し、次いで、ネゴシエーションを実行して、ＭＦＰ１０がデータ受信を実行することを、携帯端末５０に通知する（Ｓ１２０）。ＭＦＰ１０は、携帯端末５０から第１の対象データを受信する（Ｓ１２２）。第１の対象データは、ＭＦＰ１０によって処理されるべきコマンドと、「Ｔ１」及び「Ｖ１」を示すＯＳ情報と、を含む。ＭＦＰ１０は、第１の対象データに含まれるコマンドを処理して、第２の対象データを生成する（Ｓ１２４）。この場合、ＭＦＰ１０は、送信フラグを「１」に設定し、継続フラグを「１」に設定する（Ｓ１２８）。
【０１４３】
ＭＦＰ１０の現在の状況は「Ｐｏｌｌ継続」であり、ＭＦＰ１０のモードは「Ｐ２Ｐ」であり、携帯端末５０のＯＳ情報は「Ｔ１」及び「Ｖ１」を含む。従って、ＭＦＰ１０は、第１のハード切断を選択する（Ｓ１３８、図２参照）。次いで、ＭＦＰ１０は、選択済みの第１のハード切断に従って、ＮＦＣ  Ｉ／Ｆ２２の動作を２００ｍｓに亘って停止させる（Ｓ１４０）。このために、ＭＦＰ１０は、確認コマンドを送信することができない。これにより、携帯端末５０は、タイムアウトと判断し、この結果、通信リンクＬ１が切断される。
【０１４４】
その後、ＭＦＰ１０がＰｏｌｌ動作を再び実行する（即ち携帯端末５０がＬｉｓｔｅｎ動作を再び実行する）。ＭＦＰ１０は、Ａｃｔｉｖａｔｉｏｎコマンドを携帯端末５０に送信して（Ｓ１１２）、携帯端末５０からＯＫコマンドを受信する（Ｓ１１４）。この結果、ＭＦＰ１０と携帯端末５０との間に通信リンクＬ２が確立される。
【０１４５】
第１の対象データが通信された際に、送信フラグが「１」に設定されている。従って、ＭＦＰ１０は、Ｓ１１８でＹＥＳと判断し、次いで、ネゴシエーションを実行して、ＭＦＰ１０がデータ送信を実行することを、携帯端末５０に通知する（Ｓ１３０）。ＭＦＰ１０は、第２の対象データを携帯端末５０に送信する（Ｓ１３２）。この場合、ＭＦＰ１０は、送信フラグを「０」に設定し、継続フラグを「０」に設定する（Ｓ１３７）。
【０１４６】
ＭＦＰ１０の現在の状況は「Ｐｏｌｌ終了」であり、ＭＦＰ１０のモードは「Ｐ２Ｐ」である。従って、ＭＦＰ１０は、第１のソフト切断を選択する（Ｓ１３８、図２参照）。次いで、ＭＦＰ１０は、選択済みの第１のソフト切断に従って、Ｄｅａｃｔｉｖａｔｉｏｎコマンドを携帯端末５０に送信して、携帯端末５０からＯＫコマンドを受信する（Ｓ１４０）。この結果、通信リンクＬ２が切断される。
【０１４７】
上述したように、Ｐ２Ｐモードは、双方向通信のためのモードである。従って、同じ通信リンクＬ１を利用して、第１及び第２の対象データの両方を通信する構成が考えられる。しかしながら、携帯端末５０が、Ｐ２Ｐモードに従って、双方向通信を適切に実行することができない可能性がある。例えば、携帯端末５０のＯＳプログラムが、種類情報「Ｔ１」及びバージョン情報「Ｖ１」を有する場合には、当該ＯＳプログラムは、通信リンクＬ１を利用して、第１の対象データを送信した後に、同じ通信リンクＬ１を利用して、第２の対象データを受信する動作を許容しない。
【０１４８】
このような実情に鑑みて、ケースＡでは、ＭＦＰ１０は、通信リンクＬ１を利用して、携帯端末５０から第１の対象データを受信すると、通信リンクＬ１を一旦切断する。次いで、ＭＦＰ１０は、通信リンクＬ２を再確立し、通信リンクＬ２を利用して、第２の対象データを携帯端末５０に送信する。従って、携帯端末５０がＰ２Ｐモードの双方向通信を許容しない場合でも、ＭＦＰ１０は、Ｐ２Ｐモードに従って、第１の対象データ及び第２の対象データの両方を、携帯端末５０と適切に通信することができる。
【０１４９】
一般的なＰｏｌｌ機器は、通常、ＮＦＣフォーラムによって定められている第１のソフト切断を利用して、通信リンクを切断する。しかしながら、上述したように、ケースＡでは、ＭＦＰ１０は、第１のソフト切断ではなく、第１のハード切断を利用して、通信リンクＬ１を切断する。その理由は、以下のとおりである。即ち、ケースＡでは、携帯端末５０のＯＳプログラムは、種類情報「Ｔ１」及びバージョン情報「Ｖ１」を有する。このようなＯＳ情報「Ｔ１−Ｖ１」を有する携帯端末５０では、仮に、第１のソフト切断によって通信リンクＬ１が切断されると、携帯端末５０のＰ２Ｐのプロトコルススタックのレベルで致命的なエラーが発生し得る。当該エラーが発生すると、携帯端末５０は、通信リンクＬ２を利用して、第２の対象データを受信しても、第２の対象データが第１の対象データのレスポンスのデータであることを認識することができない。この結果、携帯端末５０は、第２の対象データに含まれるコマンド（例えば、上記の第１の例では「指示コマンド」）に従って、適切に処理を実行することができない。
【０１５０】
このような実情に鑑みて、本実施例では、図２に示されるように、「Ｐｏｌｌ継続」と「Ｐ２Ｐ」と「Ｔ１−Ｖ１」とに対応する切断手法として、「第１のハード切断」が採用されている。なお、第１のハード切断の待機期間（即ち２００ｍｓ）は、携帯端末５０がタイムアウトを検出可能な期間に設定されている。第１のハード切断によって通信リンクＬ１が切断されても、携帯端末５０でエラーが発生しない。このために、携帯端末５０は、通信リンクＬ２を利用して、第２の対象データを受信すると、第２の対象データに含まれるコマンドに従って、適切に処理を実行することができる。
【０１５１】
一方において、図２に示されるように、「Ｐｏｌｌ終了」と「Ｐ２Ｐ」とに対応する切断手法として、ＮＦＣフォーラムによって定められている一般的な「第１のソフト切断」が採用されている。上述したように、第１のソフト切断が利用されると、携帯端末５０でエラーが発生し得るが、ＭＦＰ１０の状況が「Ｐｏｌｌ終了」である場合には、複数個の対象データの一連の通信が終了しているので、携帯端末５０でエラーが発生しても問題がない。しかも、第１のソフト切断は、第１のハード切断と比べると、通信リンクを迅速に切断可能な切断手法である。第１のソフト切断では、第１のハード切断のように２００ｍｓの待機期間が必要なく、さらに、第１のハード切断のようにハードウェア（即ちＮＦＣ  Ｉ／Ｆ２２）の切断から復帰までの復帰期間が必要ないからである。このために、ＭＦＰ１０は、通信リンクＬ２を迅速に切断して、他の処理（例えばＰｏｌｌ動作やＬｉｓｔｅｎ動作）を迅速に実行することができる。
【０１５２】
（ケースＢ；図９）
ケースＢでは、ＭＦＰ１０がＰｏｌｌ動作を実行し（即ち携帯端末５０がＬｉｓｔｅｎ動作を実行し）、さらに、携帯端末５０がＰ２Ｐモードに従って動作可能である。携帯端末５０は、種類情報「Ｔ１」及びバージョン情報「Ｖ２」を有するＯＳプログラムを備える。「Ｔ１」及び「Ｖ２」を有するＯＳプログラムを備える携帯端末５０は、ケースＡと同様に、Ｐ２Ｐモードに従って双方向通信を適切に実行することができない。従って、ケースＢでも、ＭＦＰ１０は、通信リンクＬ１を切断して、通信リンクＬ２を再確立する。
【０１５３】
ケースＢでは、ＭＦＰ１０は、第１のソフト切断を利用して、通信リンクＬ１を切断する。この点のみが、ケースＡとは異なる。ケースＢでは、携帯端末５０のＯＳプログラムは、種類情報「Ｔ１」及びバージョン情報「Ｖ２」を有する。このようなＯＳ情報「Ｔ１−Ｖ２」を有する携帯端末５０では、第１のソフト切断によって通信リンクＬ１が切断されても、エラーが発生しない。
【０１５４】
このような実情に鑑みて、本実施例では、図２に示されるように、「Ｐｏｌｌ継続」と「Ｐ２Ｐ」と「Ｔ１−Ｖ２」とに対応する切断手法として、通信リンクを迅速に切断可能である「第１のソフト切断」が採用されている。このために、ＭＦＰ１０は、通信リンクＬ１を迅速に切断して、通信リンクＬ２を迅速に確立することができる。
【０１５５】
（ケースＣ；図１０）
ケースＣでは、ＭＦＰ１０がＰｏｌｌ動作を実行し（即ち携帯端末５０がＬｉｓｔｅｎ動作を実行し）、さらに、携帯端末５０がＰ２Ｐモードに従って動作可能である。携帯端末５０は、種類情報「Ｔ２」及びバージョン情報「Ｖ３」を有するＯＳプログラムを備える。「Ｔ２」及び「Ｖ３」を有するＯＳプログラムを備える携帯端末５０は、ケースＡと同様に、Ｐ２Ｐモードに従って双方向通信を適切に実行することができない。従って、ケースＣでも、ＭＦＰ１０は、通信リンクＬ１を切断して、通信リンクＬ２を再確立する。
【０１５６】
ケースＣでは、ＭＦＰ１０は、ソフト＋ハード切断を利用して、通信リンクＬ１を切断する。この点のみが、ケースＡとは異なる。ケースＣでは、携帯端末５０のＯＳプログラムは、種類情報「Ｔ２」及びバージョン情報「Ｖ３」を有する。このようなＯＳ情報「Ｔ２−Ｖ３」を有する携帯端末５０は、仮に、第１のソフト切断のみが実行されても、通信リンクＬ１の切断を適切に認識することができない。携帯端末５０が通信リンクＬ１の切断を認識することができないと、ＭＦＰ１０と携帯端末５０との間に、通信リンクＬ２を適切に確立することができない。
【０１５７】
このような実情に鑑みて、本実施例では、図２に示されるように、「Ｐｏｌｌ継続」と「Ｐ２Ｐ」と「Ｔ２−Ｖ３」とに対応する切断手法として、「ソフト＋ハード切断」が採用されている。ソフト＋ハード切断は、第１のソフト切断と同様に、Ｄｅａｃｔｉｖａｔｉｏｎコマンド及びＯＫコマンドの通信が実行された後に、ＮＦＣ  Ｉ／Ｆ２２の動作を１０ｍｓに亘って停止させる手法である。ＮＦＣ  Ｉ／Ｆ２２の動作を停止させると、当該停止期間において、携帯端末５０は、ＮＦＣ方式の通信（例えば、ポーリング信号、レスポンス信号の通信）をＭＦＰ１０と実行することができない。この結果、携帯端末５０は、通信リンクＬ１の切断を適切に認識することができる。このために、ＭＦＰ１０と携帯端末５０との間に、通信リンクＬ２を適切に確立することができる。
【０１５８】
（ケースＤ；図１１）
ケースＤでは、ＭＦＰ１０がＬｉｓｔｅｎ動作を実行し（即ち携帯端末５０がＰｏｌｌ動作を実行し）、さらに、携帯端末５０がＰ２Ｐモードに従って動作可能である。携帯端末５０は、種類情報「Ｔ１」及びバージョン情報「Ｖ１」を有するＯＳプログラム、又は、種類情報「Ｔ１」及びバージョン情報「Ｖ２」を有するＯＳプログラムを備える。
【０１５９】
ＭＦＰ１０は、携帯端末５０からＡｃｔｉｖａｔｉｏｎコマンドを受信して（図４のＳ１０）、ＯＫコマンドを携帯端末５０に送信する（Ｓ１４）。これにより、ＭＦＰ１０と携帯端末５０との間に通信リンクＬ１が確立される。この場合、ＭＦＰ１０は、確認コマンド応答処理を開始する（Ｓ１６）。即ち、ＭＦＰ１０は、携帯端末５０から確認コマンドを受信して、ＯＫコマンドを携帯端末５０に送信する。
【０１６０】
通信リンクＬ１が確立された時点では、送信フラグが「０」である。従って、ＭＦＰ１０は、Ｓ１８でＮＯと判断し、次いで、ネゴシエーションを実行して、ＭＦＰ１０がデータ受信を実行することを、携帯端末５０に通知する（Ｓ２０）。ＭＦＰ１０は、携帯端末５０から第１の対象データを受信する（Ｓ２２）。第１の対象データは、ＭＦＰ１０によって処理されるべきコマンドと、「Ｔ１」及び「Ｖ１」を示すＯＳ情報（又は「Ｔ１」及び「Ｖ２」を示すＯＳ情報）と、を含む。ＭＦＰ１０は、第１の対象データに含まれるコマンドを処理して、第２の対象データを生成する（Ｓ２４）。この場合、ＭＦＰ１０は、送信フラグを「１」に設定し、継続フラグを「１」に設定する（Ｓ２８）。
【０１６１】
ＭＦＰ１０の現在の状況は「Ｌｉｓｔｅｎ継続」であり、ＭＦＰ１０のモードは「Ｐ２Ｐ」である。例えば、携帯端末５０のＯＳ情報が「Ｔ１」及び「Ｖ１」を含む場合には、ＭＦＰ１０は、第１のハード切断を選択する（Ｓ３８、図２参照）。また、例えば、携帯端末５０のＯＳ情報が「Ｔ１」及び「Ｖ２」を含む場合には、ＭＦＰ１０は、第２のハード切断を選択する（Ｓ３８、図２参照）。次いで、ＭＦＰ１０は、選択済みの第１のハード切断又は第２のハード切断に従って、ＮＦＣ  Ｉ／Ｆ２２の動作を２００ｍｓ又は３００ｍｓに亘って停止させる（Ｓ４０）。このために、ＭＦＰ１０は、携帯端末５０から確認コマンドを受信しても、ＯＫコマンドを送信しない。また、ＭＦＰ１０は、携帯端末５０からＤｅａｃｔｉｖａｔｉｏｎコマンドを受信しても、ＯＫコマンドを送信しない。これにより、携帯端末５０は、タイムアウトと判断し、この結果、通信リンクＬ１が切断される。
【０１６２】
その後、ＭＦＰ１０がＬｉｓｔｅｎ動作を再び実行する（即ち携帯端末５０がＰｏｌｌ動作を再び実行する）。ＭＦＰ１０は、携帯端末５０からＡｃｔｉｖａｔｉｏｎコマンドを受信して（Ｓ１０）、ＯＫコマンドを携帯端末５０に送信する（Ｓ１４）。この結果、ＭＦＰ１０と携帯端末５０との間に通信リンクＬ２が確立される。
【０１６３】
第１の対象データが通信された際に、送信フラグが「１」に設定されている。従って、ＭＦＰ１０は、Ｓ１８でＹＥＳと判断し、次いで、ネゴシエーションを実行して、ＭＦＰ１０がデータ送信を実行することを、携帯端末５０に通知する（Ｓ３０）。ＭＦＰ１０は、第２の対象データを携帯端末５０に送信する（Ｓ３２）。この場合、ＭＦＰ１０は、送信フラグを「０」に設定し、継続フラグを「０」に設定する（Ｓ３７）。
【０１６４】
ＭＦＰ１０の現在の状況は「Ｌｉｓｔｅｎ終了」であり、ＭＦＰ１０のモードは「Ｐ２Ｐ」である。従って、ＭＦＰ１０は、第２のソフト切断を選択する（Ｓ３８、図２参照）。次いで、ＭＦＰ１０は、選択済みの第２のソフト切断に従って、Ｄｅａｃｔｉｖａｔｉｏｎコマンドを携帯端末５０から受信して、ＯＫコマンドを携帯端末５０に送信する（Ｓ４０）。この結果、通信リンクＬ２が切断される。
【０１６５】
一般的なＬｉｓｔｅｎ機器は、通常、ＮＦＣフォーラムによって定められている第２のソフト切断を利用して、通信リンクを切断する。しかしながら、上述したように、ケースＤでは、ＭＦＰ１０は、第２のソフト切断ではなく、第１のハード切断又は第２のハード切断を利用して、通信リンクＬ２を切断する。その理由は、以下のとおりである。即ち、ケースＤでは、携帯端末５０のＯＳプログラムは、種類情報「Ｔ１」及びバージョン情報「Ｖ１」、又は、種類情報「Ｔ１」及びバージョン情報「Ｖ２」を有する。このようなＯＳ情報「Ｔ１−Ｖ１」又は「Ｔ１−Ｖ２」を有する携帯端末５０では、仮に、第２のソフト切断によって通信リンクＬ１が切断されると、エラーが発生し得る。ケースＡで説明したように、当該エラーが発生すると、携帯端末５０は、第２の対象データに含まれるコマンドに従って、適切に処理を実行することができない。
【０１６６】
このような実情に鑑みて、本実施例では、図２に示されるように、「Ｌｉｓｔｅｎ継続」と「Ｐ２Ｐ」と「Ｔ１−Ｖ１」とに対応する切断手法として、「第１のハード切断」が採用されている。また、図２に示されるように、「Ｌｉｓｔｅｎ継続」と「Ｐ２Ｐ」と「Ｔ１−Ｖ２」とに対応する切断手法として、「第２のハード切断」が採用されている。第１及び第２のハード切断の待機期間（即ち２００ｍｓ及び３００ｍｓ）は、携帯端末５０がタイムアウトを検出可能な期間に設定されている。ＯＳ情報「Ｔ１−Ｖ２」を有する携帯端末５０がタイムアウトを検出可能な期間は、ＯＳ情報「Ｔ１−Ｖ１」を有する携帯端末５０がタイムアウトを検出可能な期間よりも長い。第１のハード切断又は第２のハード切断によって通信リンクＬ１が切断されても、携帯端末５０でエラーが発生しない。このために、携帯端末５０は、通信リンクＬ２を利用して、第２の対象データを受信すると、第２の対象データに含まれるコマンドに従って、適切に処理を実行することができる。
【０１６７】
一方において、図２に示されるように、「Ｌｉｓｔｅｎ終了」と「Ｐ２Ｐ」とに対応する切断手法として、通信リンクを迅速に切断可能な「第２のソフト切断」が採用されている。このために、ＭＦＰ１０は、通信リンクＬ２を迅速に切断して、他の処理（例えばＰｏｌｌ動作やＬｉｓｔｅｎ動作）を迅速に実行することができる。
【０１６８】
なお、図８〜図１１のシーケンス図には関係しないが、ＯＳ情報「Ｔ２−Ｖ３」を有する携帯端末５０は、仮に、第２のソフト切断が実行されると、通信リンクＬ１の切断を適切に認識することができない。従って、図２に示されるように、「Ｌｉｓｔｅｎ継続」と「Ｐ２Ｐ」と「Ｔ２−Ｖ３」とに対応する切断手法として、「第２のハード切断」が採用されている。ＯＳ情報「Ｔ２−Ｖ３」を有する携帯端末５０は、第２のハード切断が実行されると、通信リンクＬ１の切断を適切に認識することができる。このために、ＭＦＰ１０と携帯端末５０との間に、通信リンクＬ２を適切に確立することができる。
【０１６９】
（ケースＥ；図１２）
ケースＥでは、ＭＦＰ１０がＬｉｓｔｅｎ動作を実行し（即ち携帯端末５０がＰｏｌｌ動作を実行し）、さらに、携帯端末５０がＰ２Ｐモードに従って動作不可能である（即ち、Ｒ／Ｗモード及びＣＥモードのみに従って動作可能である）。従って、ＭＦＰ１０がＣＥモードに従って動作し、携帯端末５０がＲ／Ｗモードに従って動作する。携帯端末５０は、種類情報「Ｔ１」及びバージョン情報「Ｖ１」を有するＯＳプログラム、又は、種類情報「Ｔ１」及びバージョン情報「Ｖ２」を有するＯＳプログラムを備える。
【０１７０】
ＭＦＰ１０は、携帯端末５０からＡｃｔｉｖａｔｉｏｎコマンドを受信して（図４のＳ１０）、ＯＫコマンドを携帯端末５０に送信する（図５のＳ６２）。これにより、ＭＦＰ１０と携帯端末５０との間に通信リンクＬ１が確立される。
【０１７１】
通信リンクＬ１が確立された時点では、送信フラグが「０」である。この場合、ＭＦＰ１０は、Ｓ６４でＮＯと判断し、携帯端末５０から第１の対象データを受信する（Ｓ６６）。第１の対象データは、ＭＦＰ１０によって処理されるべきコマンドと、「Ｔ１」及び「Ｖ１」を示すＯＳ情報（又は「Ｔ１」及び「Ｖ２」を示すＯＳ情報）と、を含む。ＭＦＰ１０は、第１の対象データに含まれるコマンドを処理して、第２の対象データを生成する（Ｓ６８）。この場合、ＭＦＰ１０は、送信フラグを「１」に設定し、継続フラグを「１」に設定する（Ｓ７２）。
【０１７２】
ＭＦＰ１０の現在の状況は「Ｌｉｓｔｅｎ継続」であり、ＭＦＰ１０のモードは「ＣＥ」である。従って、ＭＦＰ１０は、携帯端末５０のＯＳ情報に関わらず、第２のソフト切断を選択する（Ｓ８０、図２参照）。次いで、ＭＦＰ１０は、選択済みの第２のソフト切断に従って、Ｄｅａｃｔｉｖａｔｉｏｎコマンドを携帯端末５０から受信して、ＯＫコマンドを携帯端末５０に送信する（Ｓ８０）。この結果、通信リンクＬ１が切断される。
【０１７３】
次いで、ＭＦＰ１０は、動作制御手法を選択する（Ｓ８２）。例えば、携帯端末５０のＯＳ情報が「Ｔ１」及び「Ｖ１」を含む場合には、ＭＦＰ１０は、第１のハード制御を選択する（Ｓ８２、図３参照）。また、例えば、携帯端末５０のＯＳ情報が「Ｔ１」及び「Ｖ２」を含む場合には、ＭＦＰ１０は、第２のハード制御を選択する（Ｓ８２、図３参照）。次いで、ＭＦＰ１０は、選択済みの第１のハード制御又は第２のハード制御に従って、ＮＦＣ  Ｉ／Ｆ２２の動作を２００ｍｓ又は３００ｍｓに亘って停止させる（Ｓ８４）。即ち、ＭＦＰ１０は、携帯端末５０からポーリング信号を受信しても、レスポンス信号を送信しない（即ち、ＮＦＣ  Ｉ／Ｆ２２がＬｉｓｔｅｎ動作を一時的に実行しない）。また、ＭＦＰ１０は、ポーリング信号を携帯端末５０に送信しない（即ち、ＮＦＣ  Ｉ／Ｆ２２がＰｏｌｌ動作を一時的に実行しない）。これにより、携帯端末５０は、ＭＦＰ１０の離反を検知する。この結果、ＭＦＰ１０及び携帯端末５０が近接している状態が維持されても、後述の通信リンクＬ２を適切に確立することができる。
【０１７４】
その後、ＭＦＰ１０がＬｉｓｔｅｎ動作を再び実行する（即ち携帯端末５０がＰｏｌｌ動作を再び実行する）。ＭＦＰ１０は、携帯端末５０からＡｃｔｉｖａｔｉｏｎコマンドを受信して（図４のＳ１０）、ＯＫコマンドを携帯端末５０に送信する（図５のＳ６２）。この結果、ＭＦＰ１０と携帯端末５０との間に通信リンクＬ２が確立される。
【０１７５】
第１の対象データが通信された際に、送信フラグが「１」に設定されている。従って、ＭＦＰ１０は、図５のＳ６４でＹＥＳと判断し、第２の対象データを携帯端末５０に送信する（Ｓ７４）。この場合、ＭＦＰ１０は、送信フラグを「０」に設定し、継続フラグを「０」に設定する（Ｓ８６）。
【０１７６】
ＭＦＰ１０の現在の状況は「Ｌｉｓｔｅｎ終了」であり、ＭＦＰ１０のモードは「ＣＥ」である。従って、ＭＦＰ１０は、携帯端末５０のＯＳ情報に関わらず、第２のソフト切断を選択する（Ｓ８８、図２参照）。次いで、ＭＦＰ１０は、選択済みの第２のソフト切断に従って、Ｄｅａｃｔｉｖａｔｉｏｎコマンドを携帯端末５０から受信して、ＯＫコマンドを携帯端末５０に送信する（Ｓ８８）。この結果、通信リンクＬ２が切断される。
【０１７７】
上述したように、Ｒ／Ｗモード及びＣＥモードは、単方向通信のためのモードである。従って、同じ通信リンクＬ１を利用して、第１及び第２の対象データの両方を通信することができない。本実施例では、ケースＥに示されるように、ＭＦＰ１０は、通信リンクＬ１を利用して、携帯端末５０から第１の対象データを受信すると、通信リンクＬ１を切断する。次いで、ＭＦＰ１０は、通信リンクＬ２を再確立し、通信リンクＬ２を利用して、第２の対象データを携帯端末５０に送信する。従って、ＭＦＰ１０及び携帯端末５０がＲ／Ｗモード及びＣＥモードに従って動作する場合でも、ＭＦＰ１０は、第１の対象データと第２の対象データの両方を、携帯端末５０と適切に通信することができる。即ち、ＭＦＰ１０は、擬似的な双方向通信を実現することができる。
【０１７８】
本実施例では、図２に示されるように、「ＣＥ」に対応する切断手法として、携帯端末５０のＯＳ情報に関わらず、通信リンクを迅速に切断可能な「第２のソフト切断」が採用されている。このために、ＭＦＰ１０は、通信リンクを迅速に切断して、他の処理を迅速に実行することができる。
【０１７９】
また、図３に示されるように、「Ｌｉｓｔｅｎ継続」と「ＣＥ」と「Ｔ１−Ｖ１」とに対応する動作制御手法として、「第１のハード制御」が採用されている。また、図３に示されるように、「Ｌｉｓｔｅｎ継続」と「ＣＥ」と「Ｔ１−Ｖ２」とに対応する動作制御手法として、「第２のハード制御」が採用されている。第１及び第２のハード制御の待機期間（即ち２００ｍｓ及び３００ｍｓ）は、携帯端末５０が通信相手の離反を検知可能な期間に設定されている。ＯＳ情報「Ｔ１−Ｖ２」を有する携帯端末５０が通信相手の離反を検知可能な期間は、ＯＳ情報「Ｔ１−Ｖ１」を有する携帯端末５０が通信相手の離反を検知可能な期間よりも長い。このように、携帯端末５０のＯＳ情報に応じた第１又は第２のハード制御が実行されるために、ＭＦＰ１０は、携帯端末５０に通信相手の離反を適切に検知させることができる。
【０１８０】
なお、図１２のシーケンス図には関係しないが、図３に示されるように、「Ｌｉｓｔｅｎ継続」と「ＣＥ」と「Ｔ２−Ｖ３」とに対応する動作制御手法として、「第２のハード制御」が採用されている。ＯＳ情報「Ｔ２−Ｖ３」を有する携帯端末５０は、第２のハード制御が実行されると、通信相手の離反を検知することができる。ＭＦＰ１０は、携帯端末５０に通信相手の離反を適切に検知させることができる。
【０１８１】
また、図３に示されるように、「Ｌｉｓｔｅｎ終了」と「ＣＥ」とに対応する動作制御手法が記述されていない。これは、動作制御処理を実行しないことを意味する。複数個の対象データの一連の通信が終了しているために、携帯端末５０のユーザは、携帯端末５０をＭＦＰ１０から離反させる。このために、動作制御処理が実行されなくても、携帯端末５０は、通信相手の離反を検知することができる。従って、ＭＦＰ１０は、動作制御処理を実行しない。この結果、ＭＦＰ１０は、他の処理を迅速に実行することができる。
【０１８２】
（その他のケース）
シーケンス図を省略しているが、図２に示されるように、「Ｐｏｌｌ継続」と「Ｒ／Ｗ」に対応する切断手法として、「第１のソフト切断」が採用されている。また、「Ｐｏｌｌ終了」と「Ｒ／Ｗ」に対応する切断手法として、「第１のソフト切断」が採用されている。このために、ＭＦＰ１０は、通信リンクを迅速に切断して、他の処理を迅速に実行することができる。
【０１８３】
また、図３に示されるように、「Ｐｏｌｌ継続」と「Ｔ１−Ｖ１」と「Ｒ／Ｗ」とに対応する動作制御手法として、「第１のハード制御」が採用されている。また、「Ｐｏｌｌ継続」と「Ｔ２−Ｖ３」と「Ｒ／Ｗ」とに対応する動作制御手法として、「第２のハード制御」が採用されている。このように、携帯端末５０のＯＳ情報に応じた第１又は第２のハード制御が実行されるために、ＭＦＰ１０は、携帯端末５０に通信相手の離反を適切に検出させることができる。なお、図３では、「Ｐｏｌｌ継続」と「Ｔ１−Ｖ２」と「Ｒ／Ｗ」とに対応する動作制御手法が記述されていない。ＯＳ情報「Ｔ１−Ｖ２」を有する携帯端末５０は、通信リンクが切断されると、動作制御処理が実行されなくても、通信相手の離反を適切に検出することができる。従って、ＭＦＰ１０は、動作制御処理を実行しない。この結果、ＭＦＰ１０は、他の処理を迅速に実行することができる。
【０１８４】
また、図３に示されるように、「Ｐｏｌｌ終了」と「Ｒ／Ｗ」とに対応する動作制御手法が記述されていない。複数個の対象データの一連の通信が終了しているために、携帯端末５０のユーザは、携帯端末５０をＭＦＰ１０から離反させる。このために、動作制御処理が実行されなくても、携帯端末５０は、通信相手の離反を検知することができる。従って、ＭＦＰ１０は、動作制御処理を実行しない。この結果、ＭＦＰ１０は、他の処理を迅速に実行することができる。
【０１８５】
（対応関係）
ＭＦＰ１０、携帯端末５０が、それぞれ、「通信装置」、「外部装置」の一例である。Ａｃｔｉｖａｔｉｏｎコマンドが、「第１の確立コマンド」及び「第２の確立コマンド」の一例である。Ｄｅａｃｔｉｖａｔｉｏｎコマンドが、「切断コマンド」の一例である。通信リンクＬ１、通信リンクＬ２が、それぞれ、「第１の通信リンク」、「第２の通信リンク」の一例である。ＯＳ情報が、「関係情報」の一例である。また、図１のコマンドテーブル４０が、「通信継続情報」の一例である。
【０１８６】
また、ＯＳ情報「Ｔ１−Ｖ１」、ＯＳ情報「Ｔ１−Ｖ２」、ＯＳ情報「Ｔ２−Ｖ３」が、それぞれ、「第１の関係情報」、「第２の関係情報」、「第３の関係情報」の一例である。図８のケースＡで選択される第１のハード切断、図９のケースＢで選択される第１のソフト切断、図１０のケースＣで選択されるソフト＋ハード切断、図１１のケースＤで選択される第２のハード切断、図１２のケースＥで選択される第２のソフト切断が、それぞれ、「第１種の切断手法」、「第２種の切断手法」、「第３種の切断手法」、「第４種の切断手法」、「第５種の切断手法」の一例である。図２の「Ｐｏ１１終了」又は「Ｌｉｓｔｅｎ終了」に対応する「第１のソフト制御」又は「第２のソフト制御」が、「予め決められている種類の切断手法」の一例である。また、第１のハード切断（又は第１のハード制御）の２００ｍｓ、第２のハード切断（又は第２のハード制御）の３００ｍｓが、それぞれ、「第１の期間」、「第２の期間」の一例である。
【０１８７】
図４のＳ１０，Ｓ１４、図５のＳ６２、図６のＳ１１２，Ｓ１１４、図７のＳ１６０，Ｓ１６２が、「第１の確立ステップ（さらに第１の確立手段）」及び「第２の確立ステップ（さらに第２の確立手段）」の一例である。図４のＳ２２、図５のＳ６６、図６のＳ１２２、図７のＳ１６６が、「受信ステップ（さらに受信手段）」の一例である。図４のＳ２４、図５のＳ６８、図６のＳ１２４、図７のＳ１６８が、「生成ステップ（さらに生成手段）」の一例である。図４のＳ３８、図５のＳ８０，Ｓ８８、図６のＳ１３８、図７のＳ１８０，Ｓ１８８が、「選択ステップ（さらに選択手段）」の一例である。図４のＳ４０、図５のＳ８０，Ｓ８８、図６のＳ１４０、図７のＳ１８０，Ｓ１８８が、「切断ステップ（さらに切断手段）」の一例である。図４のＳ３２、図５のＳ７４、図６のＳ１３２、図７のＳ１７４が、「送信ステップ（さらに送信手段）」の一例である。図５のＳ８２，Ｓ８４、図７のＳ１８２，Ｓ１８４が、「動作制御ステップ」の一例である。また、図４のＳ２６，Ｓ３４、図５のＳ７０，Ｓ７６、図６のＳ１２６，Ｓ１３４、図７のＳ１７０，Ｓ１７６が、「判断ステップ」の一例である。
【０１８８】
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には以上に例示した具体例を様々に変形、変更したものが含まれる。上記の実施例の変形例を以下に列挙する。
【０１８９】
（変形例１）「通信装置」は、印刷機能及びスキャン機能を実行可能な多機能機（即ちＭＦＰ１０）に限られず、印刷機能及びスキャン機能のうちの印刷機能のみを実行可能なプリンタであってもよいし、印刷機能及びスキャン機能のうちのスキャン機能のみを実行可能なスキャナであってもよい。また、「通信装置」は、印刷機能及びスキャン機能とは異なる機能（例えば、画像の表示機能、データの演算機能）を実行する装置（例えば、ＰＣ、サーバ、携帯端末（携帯電話、スマートフォン、ＰＤＡ等））であってもよい。即ち、「通信装置」は、ＮＦＣ方式の通信を実行可能なあらゆるデバイスを含む。
【０１９０】
（変形例２）「関係情報」は、ＯＳ情報に限られず、外部装置がＮＦＣ方式の通信を実行するための通信プログラムに関係する関係情報であれば、どのような情報であってもよい。例えば、「関係情報」は、携帯端末５０に搭載されているプロトコルスタックを特定する特定情報（例えば、プロトコルスタックの識別番号、プロトコルスタックを提供する会社名等）であってもよい。また、例えば、「関係情報」は、携帯端末５０のベンダ名であってもよい。本変形例では、図２及び図３のテーブル４２，４４において、ＯＳ情報の欄の代わりに、上記の特定情報の欄や上記のベンダ名の欄が設けられる。
【０１９１】
（変形例３）「複数種の切断手法」は、図２に記述されている５種の切断手法に限られず、携帯端末５０のＯＳ情報に応じた他の切断手法を含んでいてもよい。例えば、「複数種の切断手法」は、ＮＦＣ  Ｉ／Ｆ２２の動作を、２００ｍｓ又は３００ｍｓとは異なる期間（例えば４００ｍｓ）に亘って、一時的に停止させる第３のハード切断を含んでいてもよい。本変形例では、第１のハード切断、第３のハード切断が、それぞれ、「第１種の切断手法」、「第２種の切断手法」の一例である。一般的に言うと、第１種及び第２種の切断手法は、異なる切断手法であればよい。同様に、第１種及び第３種の切断手法（又は第１種及び第４種の切断手法）は、異なる切断手法であればよい。なお、第２種、第３種、及び、第４種の切断手法は、互いに異なる切断手法であってもよいし、同じ切断手法であってもよい。
【０１９２】
（変形例４）上記の各実施例では、図４〜図７の各処理がソフトウェア（即ちプログラム３６，３８）によって実現されるが、図４〜図７の各処理のうちの少なくとも１つが論理回路等のハードウェアによって実現されてもよい。
【０１９３】
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【符号の説明】
【０１９４】
２：通信システム、１０：多機能機（ＭＦＰ）、３０：制御部、３２：ＣＰＵ、３４：メモリ、４０：コマンドテーブル、４２：切断手法テーブル、４４：動作制御テーブル、５０：携帯端末、Ｌ１，Ｌ２：通信リンク
【図１】
2014011756.tif 000003
【図２】
2014011756.tif 000004
【図３】
2014011756.tif 000005
【図４】
2014011756.tif 000006
【図５】
2014011756.tif 000007
【図６】
2014011756.tif 000008
【図７】
2014011756.tif 000009
【図８】
2014011756.tif 000010
【図９】
2014011756.tif 000011
【図１０】
2014011756.tif 000012
【図１１】
2014011756.tif 000013
【図１２】
2014011756.tif 000014