(57)【要約】【課題】通信相手の装置における、特定のアプリケーションプログラムの起動状態に応じた適切な制御を行い得る機能実行装置を提供すること。【解決手段】本発明によれば、通信部を介する外部装置との通信が可能になった場合、機能部が実行する所定の機能に対応するアプリが、外部装置において起動しているかが判断されるので、通信相手の種類にかかわらず、その装置において特定のアプリが起動しているか否かを判断できる。そして、当該所定の機能に対応するアプリが起動していると判断された場合、当該起動しているアプリに応じた機能が機能部において実行される。一方、当該所定の機能に対応するアプリが起動していないと判断された場合、外部装置に対し、所定のアプリを起動させるための起動指示が行われる。よって、外部装置における特定のアプリの起動状態に応じて、適切な制御を行い得る。【選択図】図２
2014197775.tif 000002
【特許請求の範囲】
【請求項１】
外部装置と通信する通信部と、
所定の機能を実行する機能部と、
制御部と、
を備え、
前記制御部は、
前記通信部を介する外部装置との通信が可能になったかを判断する通信判断手段と、
前記通信判断手段により、前記通信部を介する外部装置との通信が可能になったと判断された場合、前記機能部が実行する前記所定の機能に対応するアプリケーションプログラムが、前記外部装置において起動しているかを判断する起動判断手段と、
前記起動判断手段により、前記所定の機能に対応するアプリケーションプログラムが起動していると判断された場合、当該起動しているアプリケーションプログラムに応じた機能を前記機能部に実行させる機能制御手段と、
前記起動判断手段により、前記所定の機能に対応するアプリケーションプログラムが起動していないと判断された場合、前記外部装置に対し、所定のアプリケーションプログラムを起動させるための起動指示を行う指示手段と、
を備えていることを特徴とする機能実行装置。
【請求項２】
前記機能実行装置は、
表示部と、
ユーザ操作を受け付ける受付部と、
を備え、
前記制御部は、
前記表示部に画面を表示させる第１表示制御手段であって、前記起動判断手段により、前記所定の機能に対応するアプリケーションプログラムが起動していないと判断された場合、アプリケーションプログラムを起動させるかを問い合わせる第１問い合わせ画面を前記表示部に表示させる第１表示制御手段を備え、
前記指示手段は、前記第１問い合わせ画面が表示されたことを条件として、前記受付部が、アプリケーションプログラムを起動させる指示を受け付けた場合に、前記外部装置に対し、前記起動指示を行うことを特徴とする請求項１記載の機能実行装置。
【請求項３】
前記機能実行装置は、
表示部と、
ユーザ操作を受け付ける受付部と、
を備え、
前記制御部は、
前記表示部に画面を表示させる第２表示制御手段であって、前記起動判断手段により、前記所定の機能に対応するアプリケーションプログラムが起動していないと判断された場合、前記外部装置に起動させるアプリケーションプログラムの種類を問い合わせる第２問い合わせ画面を前記表示部に表示させる第２表示制御手段を備え、
前記指示手段は、前記第２問い合わせ画面が表示されたことを条件として、前記受付部が、前記外部装置に起動させるアプリケーションプログラムの種類を指定する指示を受け付けた場合に、前記外部装置に対し、前記指定された種類のアプリケーションプログラムに関する前記起動指示を行うことを特徴とする請求項１または２に記載の機能実行装置。
【請求項４】
前記制御部は、
前記起動判断手段により、前記所定の機能に対応するアプリケーションプログラムが起動していないと判断された場合、前記外部装置に対し、当該外部装置が起動可能なアプリケーションプログラムの種類を問い合わせる問い合わせ手段を備え、
前記第２表示制御手段は、前記問い合わせ手段による問い合わせに対する返信に応じた前記第２の問い合わせ画面を前記表示部に表示させることを特徴とする請求項３記載の機能実行装置。
【請求項５】
前記機能実行装置は、表示部を備え、
前記制御部は、
前記表示部に画面を表示させる第３表示制御手段と、
前記外部装置から前記通信部を介して受信した、当該外部装置にて表示されている画面を特定可能な情報に基づいて、当該外部装置にて表示されている画面を判断する画面判断手段を備え、
前記機能制御手段は、前記起動判断手段により、前記所定の機能に対応するアプリケーションプログラムが起動していると判断された場合、前記画面判断手段により、前記外部装置にて表示されている画面が、当該起動しているアプリケーションプログラムに応じた機能に対応する複数の画面のうち、当該機能の実行開始を指示する所定の画面であると判断されたことを条件として、当該起動しているアプリケーションプログラムに応じた機能を前記機能部に実行させ、
前記第３表示制御手段は、前記起動判断手段により、前記所定の機能に対応するアプリケーションプログラムが起動していると判断された場合であって、前記画面判断手段により、前記外部装置にて表示されている画面が、前記所定の画面でないと判断された場合、前記所定の画面の表示を促す画面を前記表示部に表示させることを特徴とする請求項１から４のいずれかに記載の機能実行装置。
【請求項６】
前記機能実行装置は、
表示部と、
ユーザ操作を受け付ける受付部と、
を備え、
前記制御部は、
前記表示部に画面を表示させる第４表示制御手段と、
前記外部装置から前記通信部を介して受信した、当該外部装置にて表示されている画面を特定可能な情報に基づいて、当該外部装置にて表示されている画面を判断する画面判断手段を備え、
前記機能制御手段は、前記起動判断手段により、前記所定の機能に対応するアプリケーションプログラムが起動していると判断された場合、前記画面判断手段により、前記外部装置にて表示されている画面が、当該起動しているアプリケーションプログラムに応じた機能に対応する複数の画面のうち、当該機能の実行開始を指示する所定の画面であると判断されたことを条件として、当該起動しているアプリケーションプログラムに応じた機能を前記機能部に実行させ、
前記第４表示制御手段は、前記起動判断手段により、前記所定の機能に対応するアプリケーションプログラムが起動していると判断された場合であって、前記画面判断手段により、前記外部装置にて表示されている画面が、前記所定の画面でないと判断された場合、当該起動しているアプリケーションプログラムとは異なる種類のアプリケーションプログラムを起動させるかを問い合わせる画面を前記表示部に表示させ、
前記指示手段は、前記異なる種類のアプリケーションプログラムを起動させるかを問い合わせる画面を表示したことを条件として、前記受付部が、前記異なる種類のアプリケーションプログラムを起動させる指示を受け付けた場合に、前記外部装置に対し、前記指定された種類のアプリケーションプログラムに関する前記起動指示を行うことを特徴とする請求項１から４のいずれかに記載の機能実行装置。
【請求項７】
前記通信部は、近距離無線通信方式により外部装置と通信可能な通信部であり、
前記通信判断手段は、前記通信部を介する外部装置との前記近距離無線通信方式による通信が可能になったかを判断し、
前記制御部は、
前記機能実行装置に設定されている前記近距離無線通信方式のモードが、相手となる装置との間で双方向通信を行う第１のモードである場合には、前記通信判断手段により、前記通信部を介する外部装置との前記近距離無線通信方式による通信が可能になったと判断された場合に、前記外部装置に設定されている前記近距離無線通信方式のモードを判断するモード判断手段と、
前記モード判断手段により、前記外部装置に設定されている前記近距離無線通信方式のモードが、前記第１のモードでなく、第３のモードに設定されている装置から、データを読み取る単方向通信を行う第２のモードであると判断された場合、前記機能実行装置における前記近距離無線通信方式のモードを、前記第１のモードから、前記第３のモードに切り替えるモード切替手段と、
を備え、
前記起動判断手段は、前記モード判断手段により、前記外部装置に設定されている前記近距離無線通信方式のモードが前記第２のモードであると判断された場合、前記所定の機能に対応するアプリケーションプログラムが起動していないと判断し、
前記指示手段は、前記起動判断手段により、前記所定の機能に対応するアプリケーションプログラムが起動していないと判断された場合、前記機能実行装置に設定された前記第３のモードにおいて、前記起動指示を前記データとして設定し、当該起動指示を、前記第２のモードに設定されている前記外部装置に読み取らせることにより、当該外部装置に対し起動指示を行うことを特徴とする請求項１から３のいずれかに記載の機能実行装置。
【請求項８】
前記近距離無線通信方式は、ＮＦＣ（Ｎｅａｒ  Ｆｉｅｌｄ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ）規格に従う無線通信方式であり、
前記第１のモードは、前記ＮＦＣ規格のＰ２Ｐ（Ｐｅｅｒ  ｔｏ  Ｐｅｅｒ）モードであり、
前記第２のモードは、前記ＮＦＣ規格のＲｅａｄｅｒモードであり、
前記第３のモードは、前記ＮＦＣ規格のＣＥ（Ｃａｒｄ  Ｅｍｕｌａｔｉｏｎ）モードであることを特徴とする請求項７記載の機能実行装置。
【請求項９】
前記通信部は、近距離無線通信方式により外部装置と通信可能な通信部であり、
前記制御部は、
前記外部装置に設定されている前記近距離無線通信方式のモードが、相手となる装置との間で双方向通信を行う第１のモードであり、かつ、前記機能実行装置に設定されている前記近距離無線通信方式のモードが、第３のモードに設定されている装置から、データを読み取る単方向通信を行う第２のモードである場合には、前記機能実行装置における前記近距離無線通信方式のモードを、前記第２のモードから、前記第１のモードに切り替える第２のモード切替手段を備え、
前記指示手段は、前記起動判断手段により、前記所定の機能に対応するアプリケーションプログラムが起動していないと判断された場合、前記機能実行装置に設定された前記第１のモードにおいて、前記データとしての前記起動指示を、前記外部装置に送信することにより、当該外部装置に対し起動指示を行うことを特徴とする請求項１から８のいずれかに記載の機能実行装置。
【請求項１０】
前記機能部が前記所定の機能を実行する場合に使用する設定値を記憶する記憶部を備え、
前記制御部は、
前記指示手段によって前記起動指示を行う場合に、当該起動指示に応じて起動されるアプリケーションプログラムに対応する機能に対する前記設定値を、前記外部装置に送信する設定値送信手段を、
備えていることを特徴とする請求項１から９のいずれかに記載の機能実行装置。
【請求項１１】
前記機能部は、印刷用データに基づく画像の被記録媒体への印刷を、前記所定の機能として実行する印刷部であることを特徴とする請求項１から１０のいずれかに記載の機能実行装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、機能実行装置に関する。
【背景技術】
【０００２】
特許文献１には、印刷データを作成するホストコンピュータと、当該ホストコンピュータに接続され、当該ホストコンピュータにおいて作成された印刷データに基づく印刷を実行するプリンタとから構成される画像形成システムが記載されている。また、当該文献には、プリンタが、ホストコンピュータに登録されたアプリケーションソフトが起動されているか否かに応じて、当該プリンタの省電力モードのオフとオンとを切り替える技術が記載されている。具体的に、ホストコンピュータには、プリンタドライバが搭載されており、当該プリンタドライバが、アプリケーションソフトが起動しているか否かを判断する。そして、プリンタドライバは、アプリケーションソフトが起動しているか否かに応じて異なる指示をプリンタに出力する。プリンタは、プリンタドライバから受信した指示の違いに応じて、省電力モードのオフとオンとを切り替える。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００４−９０２４３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に記載される技術では、プリンタドライバは、ホストコンピュータに登録されているアプリケーションソフトを対象として、一律に、起動しているか否かに応じた指示を出力するので、プリンタは、どのアプリケーションソフトが起動しているかを把握することができない。
【０００５】
本発明は、上述した事情を鑑みてなされたものであり、通信相手の装置における、特定のアプリケーションプログラムの起動状態に応じた適切な制御を行い得る機能実行装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
この目的を達成するために、本発明の機能実行装置は、外部装置と通信する通信部と、所定の機能を実行する機能部と、制御部と、を備え、前記制御部は、前記通信部を介する外部装置との通信が可能になったかを判断する通信判断手段と、前記通信判断手段により、前記通信部を介する外部装置との通信が可能になったと判断された場合、前記機能部が実行する前記所定の機能に対応するアプリケーションプログラムが、前記外部装置において起動しているかを判断する起動判断手段と、前記起動判断手段により、前記所定の機能に対応するアプリケーションプログラムが起動していると判断された場合、当該起動しているアプリケーションプログラムに応じた機能を前記機能部に実行させる機能制御手段と、前記起動判断手段により、前記所定の機能に対応するアプリケーションプログラムが起動していないと判断された場合、前記外部装置に対し、所定のアプリケーションプログラムを起動させるための起動指示を行う指示手段と、を備えている。
【０００７】
なお、本発明は、機能実行装置を制御する制御装置、機能実行システム、機能実行方法、機能実行装置を制御するための機能実行プログラム、該機能実行プログラムを記録する記録媒体等の種々の態様で構成できる。
【発明の効果】
【０００８】
請求項１記載の機能実行装置によれば、通信部を介する外部装置との通信が可能になった場合に、機能部が実行する所定の機能に対応するアプリケーションプログラムが、通信相手の外部装置において起動しているかが判断されるので、通信相手となる装置の種類にかかわらず、その装置において特定のアプリケーションプログラムが起動しているか否かを判断することができる。そして、当該所定の機能に対応するアプリケーションプログラムが起動していると判断された場合には、当該起動しているアプリケーションプログラムに応じた機能が機能部において実行される。その一方で、当該所定の機能に対応するアプリケーションプログラムが起動していないと判断された場合には、通信相手の外部装置に対し、所定のアプリケーションプログラムを起動させるための起動指示が行われる。よって、外部装置における特定のアプリケーションプログラムの起動状態に応じて、適切な制御を行うことができる。
【０００９】
請求項２記載の機能実行装置によれば、請求項１が奏する効果に加え、次の効果を奏する。所定の機能に対応するアプリケーションプログラムが起動していないと判断された場合には、アプリケーションプログラムを起動させるかを問い合わせる第１問い合わせ画面が、表示部に表示される。そして、第１問い合わせ画面が表示されたことを条件として、ユーザ操作による、アプリケーションプログラムを起動させる指示が受付部に受け付けられると、通信相手の外部装置に対し、起動指示が行われる。よって、所定の機能に対応するアプリケーションプログラムが起動していない場合に、アプリケーションプログラムをユーザの所望に応じて起動させることができる。
【００１０】
請求項３記載の機能実行装置によれば、請求項１または２が奏する効果に加え、次の効果を奏する。所定の機能に対応するアプリケーションプログラムが起動していないと判断された場合には、通信相手の外部装置に起動させるアプリケーションプログラムの種類を問い合わせる第２問い合わせ画面が、表示部に表示される。そして、第２問い合わせ画面が表示されたことを条件として、ユーザ操作による、当該外部装置に起動させるアプリケーションプログラムの種類を指定する指示が受付部に受け付けられると、当該外部装置に対し、指定された種類のアプリケーションプログラムに関する起動指示が行われる。よって、所定の機能に対応するアプリケーションプログラムが起動していない場合に、ユーザの所望に応じた種類のアプリケーションプログラムを起動させることができる。
【００１１】
請求項４記載の機能実行装置によれば、請求項３が奏する効果に加え、次の効果を奏する。所定の機能に対応するアプリケーションプログラムが起動していないと判断された場合には、通信相手の外部装置が起動可能なアプリケーションプログラムの種類を当該外部装置に問い合わせ、その問い合わせに対する返信に応じた第２の問い合わせ画面が、表示部に表示される。よって、第２問い合わせ画面には、外部装置が起動可能なアプリケーションプログラムの種類を表示させることができるので、ユーザは、外部装置が起動可能なアプリケーションプログラムの種類を指定することができる。
【００１２】
請求項５記載の機能実行装置によれば、請求項１から４が奏する効果に加え、次の効果を奏する。外部装置から通信部を介して受信した、当該外部装置にて表示されている画面を特定可能な情報に基づいて、当該外部装置にて表示されている画面が判断される。所定の機能に対応するアプリケーションプログラムが起動していると判断された場合には、外部装置にて表示されている画面が、当該起動しているアプリケーションプログラムに応じた機能に対応する複数の画面のうち、当該機能の実行開始を指示する所定の画面であると判断されたことを条件として、当該起動しているアプリケーションプログラムに応じた機能が実行される。よって、外部装置における画面の表示状態に応じて、機能部に機能を実行させることができる。その一方で、所定の機能に対応するアプリケーションプログラムが起動していると判断された場合であって、外部装置にて表示されている画面が、所定の画面でないと判断された場合には、当該所定の画面の表示を促す画面が表示部に表示される。よって、ユーザに、外部装置において起動しているアプリケーションプログラムを用いて、機能部に機能を実行させるためにすべき操作を促すことができる。
【００１３】
請求項６記載の機能実行装置によれば、請求項１から４が奏する効果に加え、次の効果を奏する。外部装置から通信部を介して受信した、当該外部装置にて表示されている画面を特定可能な情報に基づいて、当該外部装置にて表示されている画面が判断される。所定の機能に対応するアプリケーションプログラムが起動していると判断された場合には、外部装置にて表示されている画面が、当該起動しているアプリケーションプログラムに応じた機能に対応する複数の画面のうち、当該機能の実行開始を指示する所定の画面であると判断されたことを条件として、当該起動しているアプリケーションプログラムに応じた機能が実行される。よって、外部装置における画面の表示状態に応じて、機能部に機能を実行させることができる。その一方で、所定の機能に対応するアプリケーションプログラムが起動していると判断された場合であって、外部装置にて表示されている画面が、所定の画面でないと判断された場合には、当該起動しているアプリケーションプログラムとは異なる種類のアプリケーションプログラムを起動させるかを問い合わせる画面が、表示部に表示される。そして、当該問い合わせ画面が表示されたことを条件として、ユーザ操作による、異なる種類のアプリケーションプログラムを起動させる指示が受付部に受け付けられると、外部装置に対し、指定された種類のアプリケーションプログラムに関する起動指示が行われる。よって、ユーザが所望とは異なるアプリケーションプログラムを誤って起動させた場合であっても、機能部による機能が実行される前に、別の種類のアプリケーションプログラムを起動させることができる。
【００１４】
請求項７記載の機能実行装置によれば、請求項１から３が奏する効果に加え、次の効果を奏する。機能実行装置に設定されている近距離無線通信方式のモードが、第１のモードである場合には、通信部を介する外部装置との近距離無線通信方式による通信が可能になった場合に、当該外部装置に設定されている近距離無線通信方式のモードが判断される。外部装置に、第２のモードが設定されていると判断された場合には、機能実行装置のモードを第３のモードに切り替える。ここで、第１のモードは、相手となる装置との間で双方向通信を行うモードである。第２のモードは、第３のモードに設定されている装置から、データを読み取る単方向通信を行うモードである。よって、機能実行装置が第１のモードである場合、第２のモードに設定されている外部装置にデータを取得させることができないが、かかる場合に、第３のモードに切り替えるので、外部装置にデータを取得させることができる。
【００１５】
一方で、第２のモードが設定されている外部装置に対し、当該外部装置に所定の機能に対応するアプリケーションプログラムが起動されていないと判断する。よって、外部装置に第２のモードが設定されている場合には、機能実行装置を第３のモードに切り替えた上で、所定のアプリケーションプログラムを起動させるための起動指示を設定し、当該起動指示を、第２のモードに設定されている外部装置に読み取らせることにより、当該外部装置に対し起動指示を行うことができる。このように、請求項７記載の機能実行装置によれば、通信相手である外部装置に設定されている近距離無線通信方式のモードに応じて、特定のアプリケーションプログラムの起動状態に応じた適切な制御を行うことができる。
【００１６】
請求項８記載の機能実行装置によれば、請求項７が奏する効果に加え、次の効果を奏する。近距離無線通信方式は、ＮＦＣ（Ｎｅａｒ  Ｆｉｅｌｄ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ）規格に従う無線通信方式である。第１のモードは、ＮＦＣ規格のＰ２Ｐ（Ｐｅｅｒ  ｔｏ  Ｐｅｅｒ）モードである。第２のモードは、ＮＦＣ規格のＲｅａｄｅｒモードである。第３のモードは、ＮＦＣ規格のＣＥ（Ｃａｒｄ  Ｅｍｕｌａｔｉｏｎ）モードである。よって、ＮＦＣ規格の近距離無線通信方式のモードに応じて、特定のアプリケーションプログラムの起動状態に応じた適切な制御を行うことができる。
【００１７】
請求項９記載の機能実行装置によれば、請求項１から８のいずれかが奏する効果に加え、次の効果を奏する。外部装置に設定されている近距離無線通信方式のモードが、第１のモードであり、かつ、機能実行装置に設定されている近距離無線通信方式のモードが、第２のモードである場合には、機能実行装置のモードを第３のモードに切り替える。そして、所定の機能に対応するアプリケーションプログラムが起動していないと判断された場合には、機能実行装置に設定された第１のモードにおいて、起動指示を外部装置に送信する。第１のモードは、相手となる装置との間で双方向通信を行うモードであり、第２のモードは、第３のモードに設定されている装置から、データを読み取る単方向通信を行うモードであるので、機能実行装置が第１のモードである場合、第２のモードに設定されている外部装置にデータを取得させることができない。よって、所定の機能に対応するアプリケーションプログラムが起動していないと判断された場合には、機能実行装置のモードを第１のモードに切り替えた上で、起動指示を送信するので、第２のモードに設定されている外部装置に、当該起動指示を取得させることができる。
【００１８】
請求項１０記載の機能実行装置によれば、請求項１から９のいずれかが奏する効果に加え、次の効果を奏する。機能部が実行する所定の機能に対応するアプリケーションプログラムが起動していないと判断されたことに応じて、外部装置に対し、起動指示を行う場合に、当該起動指示に応じて起動されるアプリケーションプログラムに対応する機能に対する設定値が外部装置に送信される。よって、起動指示に応じて外部装置において起動されるアプリケーションプログラムの設定値に、当該アプリケーションプログラムに対応する機能に対し、機能実行装置において設定されている設定値を反映させることができる。
【００１９】
請求項１０記載の機能実行装置によれば、請求項１から９のいずれかが奏する効果に加え、機能部は、印刷用データに基づく画像の被記録媒体への印刷を、所定の機能として実行する印刷部であるので、印刷機能に対応するアプリケーションプログラムが起動しているか否かに応じた制御を行うことができる。
【図面の簡単な説明】
【００２０】
【図１】多機能周辺装置および端末の電気的構成を示すブロック図である。
【図２】通信処理を示すフローチャートである。
【図３】第２通信処理を示すフローチャートである。
【図４】第３通信処理を示すフローチャートである。
【図５】通信処理において、ＬＣＤに表示される画面を示す模式図である。
【発明を実施するための形態】
【００２１】
以下、本発明の好ましい実施形態について、添付図面を参照して説明する。図１は、本発明の機能実行装置の一実施形態である多機能周辺装置（以下「ＭＦＰ」と称す）１０、および、ＭＦＰ１０と通信可能な端末１００の電気的構成を示すブロック図である。ＭＦＰ１０は、主な機能として、印刷機能、スキャン機能、ファクシミリ機能、コピー機能などの各種機能を有している。本実施形態のＭＦＰ１０は、端末１００における、特定のアプリケーションプログラム（以下、単に「アプリ」と称することがある）の起動状態に応じた適切な制御を行い得る。
【００２２】
ＭＦＰ１０には、ＣＰＵ１１、フラッシュメモリ１２、ＲＡＭ１３、操作キー１５、ＬＣＤ１６、タッチパネル１７、スキャナ１８、プリンタ１９、ＮＣＵ２０、モデム２１、近距離通信部２２、無線ＬＡＮ通信部２３が主に設けられている。各部１１〜１３，１５〜２３は、入出力ポート２４を介して互いに接続されている。ＣＰＵ１１は、フラッシュメモリ１２に記憶される固定値やプログラム、ＲＡＭ１３に記憶されているデータ、或いは、ＮＣＵ２０を介して送受信される各種信号に従って、ＭＦＰ１０が有している各機能の制御や、入出力ポート２４と接続された各部を制御する。
【００２３】
フラッシュメモリ１２は、不揮発性のメモリであり、ＭＦＰ１０の動作を制御する制御プログラム１２ａ等が格納される。後述する図２〜図４のフローチャートに示す各処理は、制御プログラム１２ａに従ってＣＰＵ１１により実行される。本実施形態の制御プログラム１２ａは、アプリケーションプログラムと、プロトコルスタックを含む。アプリケーションプログラムは、ＣＰＵ１１が、ＯＳＩ参照モデルのアプリケーション層の処理を実行するためのプログラムである。プロトコルスタックは、Ｐ２Ｐプログラムと、Ｒ／Ｗプログラムと、ＣＥプログラムと、を含む。Ｐ２Ｐプログラムは、ＮＦＣ（Ｎｅａｒ  Ｆｉｅｌｄ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ）規格のＰ２Ｐ（Ｐｅｅｒ  ｔｏ  Ｐｅｅｒ）モードに従う処理を実行するプログラムである。Ｒ／Ｗプログラムは、ＮＦＣ規格のＲｅａｄｅｒ／Ｗｒｉｔｅｒモードに従った処理を実行するためのプログラムである。ＣＥプログラムは、ＮＦＣ規格のＣＥ（Ｃａｒｄ  Ｅｍｕｌａｔｉｏｎ）モードに従った処理を実行するためのプログラムである。これらのプログラムは、ＮＦＣフォーラムによって定められたＮＦＣ規格に準拠した処理を実行するためのプログラムである。なお、Ｐ２Ｐモード、Ｒｅａｄｅｒ／Ｗｒｉｔｅｒモード、およびＣＥモードについては後述する。
【００２４】
フラッシュメモリ１２には、アプリテーブル１２ｂと、規定フォーマット１２ｃとが格納される。アプリテーブル１２ｂは、ＭＦＰ１０の機能を利用可能なアプリ毎に、そのアプリに割り当てられたアプリ番号が対応付けられたテーブルである。なお、「アプリ番号」は、オペレーティングシステムを配布する組織が運営するマーケットサイトにおいて、当該オペレーティングシステムをベースとするアプリに対し、個別に割り当てられる識別番号である。また、フラッシュメモリ１２には、ＭＦＰ１０が実行可能な各機能に対して設定されている各種設定値が格納される。規定フォーマット１２ｃは、アプリテーブル１２ｂに記憶されるアプリ（ＭＦＰ１０の機能を利用可能なアプリ）であることを特定可能なフォーマットである。例えば、規定フォーマット１２ｃは、データのヘッダ部分に、所定の情報（例えば、ＭＦＰ１０のベンダを示す情報）が含まれることを示す。なお、規定フォーマット１２ｃは、複数種類であってもよい。ＲＡＭ１３は、ＣＰＵ１１が制御プログラム１２ａを実行するにあたり、各種データを一時的に記憶するためのテンポラリエリアを有する書換可能な揮発性のメモリである。
【００２５】
操作キー１５は、ＭＦＰ１０の筐体に設けられるメカニカルキーであり、各種の設定値や指示などをユーザから受け付ける。ＬＣＤ１６は、液晶表示装置であり、各種画面を表示する。ＬＣＤ１６の画面には、タッチパネル１７がＬＣＤ１６に重ねて設けられる。タッチパネル１７は、例えば、指や棒などの指示物がＬＣＤ１６の画面に対してタッチ又は近づいた場合に、タッチ又は近づいた位置を検知し、検知した位置をＭＦＰ１０に入力する。スキャナ１８は、原稿を読み取って画像データに変換する。プリンタ１９は、画像データに基づく画像を記録用紙に印刷する。モデム２１は、ＦＡＸ送信時には送信すべき画像データを、電話回線網（図示せず）に伝送可能な信号に変調してＮＣＵ２０を介して送信し、または、電話回線網からＮＣＵ２０を介して入力された信号を画像データに復調する。ＮＣＵ２０は、図示されない電話回線網とＭＦＰ１０との間を接続するものであり、モデム２１からの指示に従って、回線を閉結または切断することにより、電話回線網との間の接続状態を制御する。
【００２６】
近距離通信部２２は、例えば１０ｃｍ程度の短い距離を通信可能距離とする近距離無線通信で通信を行うためのインタフェースである。本実施形態では、近距離通信部２２が行う近距離無線通信は、ＮＦＣ規格に従う非接触通信（以下、この通信を「ＮＦＣ通信」と称す）である。ＭＦＰ１０は、近距離通信部２２を介して、近距離通信部１２２を有する端末１００と通信可能に接続される。
【００２７】
無線ＬＡＮ通信部２３は、無線ＬＡＮによる無線通信を行うためのインタフェースである。本実施形態では、無線ＬＡＮ通信部２３が行う通信は、ＩＥＥＥ８０２．１１ｂ/ｇの規格に準拠した無線ＬＡＮによる無線通信である。本実施形態において、無線ＬＡＮ通信部２３は、中継装置であるアクセスポイント（図示せず）を介したインフラストラクチャモード、または、直接接続であるアドホックモードのいずれかにより、無線ＬＡＮ通信部１２３を有する端末１００との間でＷｉ−Ｆｉ（登録商標）規格に基づいた無線通信（以下、この通信を「Ｗｉ−Ｆｉ通信」と称す）により接続される。
【００２８】
端末１００は、例えば、スマートフォンなどである。本実施形態の端末１００は、ＮＦＣ通信のモードとして、Ｐ２Ｐモード、および、Ｒ／Ｗモードを利用可能であるが、ＣＥモードを利用不可能であるとする。端末１００には、ＣＰＵ１１１、フラッシュメモリ１１２、ＲＡＭ１１３、操作キー１１５、ＬＣＤ１１６、タッチパネル１１７、メモリカードインタフェース（メモリカードＩ／Ｆ）１１８、音声入力部１１９、電話網通信部１２０、近距離通信部１２２、無線ＬＡＮ通信部１２３が主に設けられる。各部１１１〜１１３，１１５〜１２０，１２２，１２３は、入出力ポート１２４を介して互いに接続されている。ＣＰＵ１１１は、ＲＯＭ１１２等に記憶される固定値やプログラム等に従って、バスライン１２４と接続された各部を制御する。
【００２９】
フラッシュメモリ１１２は、書換可能な不揮発性のメモリである。フラッシュメモリ１１２には、オペレーティングシステム（以下「ＯＳ」と称す）１１２ａと、デバイス制御アプリ（デバイス制御アプリケーション）１１２ｂとが格納される。以降、アプリケーションやオペレーティングシステムなどのプログラムを実行するＣＰＵ１１１のことを、単にプログラム名で記載する場合もある。例えば「アプリケーションプログラム」または「アプリ」という記載が、「アプリケーションプログラムを実行するＣＰＵ１１１」を意味する場合もある。
【００３０】
ＯＳ１１２ａは、端末１００の標準機能を実現するための基本ソフトウェアであって、本実施形態の場合、アンドロイド（登録商標）ＯＳである。デバイス制御アプリ１１２ｂは、ＭＦＰ１０などのデバイスのベンダによって提供されるアプリケーションプログラムであって、ユーザによって端末１００にインストールされ、端末１００からＭＦＰ１０の利用を可能とする。例えば、パーソナルコンピュータなどを経由せずに、端末１００から直接、デバイスの印刷機能およびスキャン機能を利用することを可能にする。デバイス制御アプリ１１２ｂは、ＯＳ１１２ａであるアンドロイドＯＳをベースとするアプリケーションプログラムである。
【００３１】
操作キー１１５は、端末１００の筐体に設けられるメカニカルキーであり、各種の設定値や指示などをユーザから受け付ける。ＬＣＤ１１６は、液晶表示装置であり、各種画面を表示する。タッチパネル１１７は、ＬＣＤ１１６に重ねて設けられ、指や棒などの指示物がＬＣＤ１１６の画面に対してタッチ又は近づいた場合に、タッチ又は近づいた位置を検知し、検知した位置を端末１００に入力する。メモリカードＩ／Ｆ１１８は、不揮発性のメモリカード（図示せず）が装着されるインタフェースであって、メモリカードに対するデータの書き込み又は読み出しを制御する。音声入出力部１１９は、マイクやスピーカなどで構成された音声入出力用デバイスである。電話網通信部１２０は、携帯電話網（図示せず）を介した通話を行うための回路である。近距離通信部１２２は、上記近距離通信部２２と同様、近距離無線通信用のインタフェースである。無線ＬＡＮ通信部１２３は、上記無線ＬＡＮ通信部２３と同様、無線ＬＡＮ通信用のインタフェースである。
【００３２】
ここで、近距離無線通信が、ＮＦＣ通信（ＮＦＣ規格に従う近距離無線通信）である場合に利用可能なモードについて説明する。以下、ＮＦＣ通信を実行可能な機器（ＭＦＰ１０，端末１００など）を「ＮＦＣ機器」と総称する。また、以下では、ＲｅａｄｅｒモードとＷｒｉｔｅｒモードとを合わせて「Ｒ／Ｗモード」と称することがある。
【００３３】
Ｐ２Ｐモードは、一対のＮＦＣ機器の間で双方向通信を実行するためのモードである。例えば、第１のＮＦＣ機器と第２のＮＦＣ機器との両方において、Ｐ２Ｐモードが起動されている場合、第１のＮＦＣ機器と第２のＮＦＣ機器との間で、Ｐ２Ｐモードに対応する通信リンク（以下、「Ｐ２Ｐの通信リンク」と称す）が確立される。この場合、例えば、第１のＮＦＣ機器は、Ｐ２Ｐの通信リンクを利用して、第１のデータを、第２のＮＦＣ機器に送信する。その後、第２のＮＦＣ機器は、同じＰ２Ｐのリンクを利用して、第２のデータを、第１のＮＦＣ機器に送信する。これにより、双方向通信が実現される。
【００３４】
Ｒ／ＷモードおよびＣＥモードは、一対のＮＦＣ機器の間で単方向通信を実行するためのモードである。ＣＥモードは、ＮＦＣ機器がＮＦＣフォーラムによって定められた形式である「カード」として動作するモードである。Ｒｅａｄｅｒモードは、ＣＥモードでカードとして動作するＮＦＣ機器からデータを読み出すモードである。Ｗｒｉｔｅｒモードは、ＣＥモードでカードとして動作するＮＦＣ機器にデータを書き込むためのモードである。
【００３５】
例えば、第１のＮＦＣ機器において、Ｒｅａｄｅｒモードが起動されており、第２のＮＦＣ機器において、ＣＥモードが起動されている場合、第１のＮＦＣ機器と第２のＮＦＣ機器との間で、ＲｅａｄｅｒモードおよびＣＥモードに対応する通信リンクが確立される。この場合、第１のＮＦＣ機器は、確立された通信リンクを利用して、第２のＮＦＣ機器内の擬似的なカードからデータを読み出す動作を実行することによって、当該データを第２のＮＦＣ機器から受信する。
【００３６】
一方、例えば、第１のＮＦＣ機器において、Ｗｒｉｔｅｒモードが起動されており、第２のＮＦＣ機器において、ＣＥモードが起動されている場合、第１のＮＦＣ機器と、第２のＮＦＣ機器との間で、ＷｒｉｔｅｒモードおよびＣＥモードに対応する通信リンクが確立される。この場合、第１のＮＦＣ機器は、確立された通信リンクを利用して、第２のＮＦＣ機器内の擬似的なカードにデータを書き込む動作を実行することによって、当該データを第２のＮＦＣ機器に送信する。
【００３７】
よって、一対のＮＦＣ機器の機器がＮＦＣ通信を実行するためのモードの組み合わせには、５つのパターン、すなわち、（Ｐ２Ｐモード，Ｐ２Ｐモード）、（Ｒｅａｄｅｒモード，ＣＥモード）、（Ｗｒｉｔｅｒモード、ＣＥモード）、（ＣＥモード，Ｒｅａｄｅｒモード）、および（ＣＥモード，Ｗｒｉｔｅｒモード）がある。なお、ＮＦＣ機器は、ＲｅａｄｅｒモードおよびＷｒｉｔｅｒモードの両方が起動されている状態を形成し得ない。すなわち、ＮＦＣ機器は、Ｒｅａｄｅｒモードを起動している場合には、Ｗｒｉｔｅｒモードを停止する。一方、ＮＦＣ機器は、Ｗｒｉｔｅｒモードを起動している場合には、Ｒｅａｄｅｒモードを停止する。
【００３８】
また、ＮＦＣ機器は、起動されているモードに対応する通信リンクを確立することができるが、起動されていないモードに対応する通信リンクを確立することができない。例えば、ＭＦＰ１０において、Ｐ２Ｐモードが起動され、その他のモード（Ｒ／Ｗモード、ＣＥモード）が起動されていない場合には、ＭＦＰ１０は、Ｐ２Ｐの通信リンクを確立することができるが、他の通信リンクを確立することができない。
【００３９】
図２は、通信処理を示すフローチャートである。本処理は、制御プログラム１２ａに従ってＣＰＵ１１が実行する処理であり、端末１００（ＮＦＣ機器）がＭＦＰ１０の機能を利用する場合の通信に係る処理である。本処理は、ＭＦＰ１０が、近距離通信部２２を介したＮＦＣ通信による入力を受け付け可能な状態において実行される処理であり、当該状態に遷移した場合に開始される。なお、本処理では、ＮＦＣ通信による入力を受け付け可能な状態に遷移した場合に、ＮＦＣ通信のモードがＣＥモードに設定されていることはないものとする。以下、「モード」は、全て、ＮＦＣ通信のモードを示す。
【００４０】
ＣＰＵ１１は、ＭＦＰ１０に設定されているモードを判断する（Ｓ２０１）。ＭＦＰ１０のモードがＲｅａｄｅｒモードであるとＣＰＵ１１が判断した場合（Ｓ２０１：Ｐ２Ｐ＝ＯＦＦ，Ｒｅａｄｅｒ＝ＯＮ）、ＣＰＵ１１は、図４を参照して後述する第３通信処理を実行し（Ｓ２２６）、処理をＳ２０１に戻す。
【００４１】
一方、ＭＦＰ１０のモードがＰ２ＰモードであるとＣＰＵ１が判断した場合（Ｓ２０１：Ｐ２Ｐ＝ＯＮ，Ｒｅａｄｅｒ＝ＯＦＦ）、ＣＰＵ１１は、ＮＦＣ機器として端末１００を検出したかを判断する（Ｓ２０２）。端末１００を検出していないとＣＰＵ１１が判断した場合（Ｓ２０２：Ｎｏ）、ＣＰＵ１１は、端末１００が検出されるのを待機する。
【００４２】
Ｓ２０２において、端末１００を検出したとＣＰＵ１１が判断した場合（Ｓ２０２：Ｙｅｓ）、ＣＰＵ１１は、端末１００のモードを判断する（Ｓ２０３）。Ｓ２０３において、ＣＰＵ１１は、端末１００にＮＦＣ通信のモードを問い合わせる問い合わせ信号を送信し、当該問い合わせ信号に対する返信に基づき、端末１００に設定されているＮＦＣ通信のモードを判断する。Ｓ２０３において、端末１００のモードがＲｅａｄｅｒモードであるとＣＰＵ１１が判断した場合（Ｓ２０３：Ｐ２Ｐ＝ＯＦＦ，Ｒｅａｄｅｒ＝ＯＮ）、ＣＰＵ１１は、図３を参照して後述する第２通信処理を実行し（Ｓ２２７）、処理をＳ２０１に戻す。
【００４３】
一方、端末１００のモードがＰ２ＰモードであるとＣＰＵ１１が判断した場合（Ｓ２０３：Ｐ２Ｐ＝ＯＮ，Ｒｅａｄｅｒ＝ＯＦＦ）、ＣＰＵ１１は、処理をＳ２０４に移行する。よって、Ｓ２０４〜Ｓ２２５の各処理は、ＭＦＰ１０および端末１００がいずれもＰ２Ｐモードに設定されている場合に実行される処理である。
【００４４】
Ｓ２０４において、ＣＰＵ１１は、Ｐ２Ｐの通信リンクが確立されることを監視する（Ｓ２０４：Ｎｏ）。Ｓ２０４において、Ｐ２Ｐの通信リンクが確立されたとＣＰＵ１１が判断すると（Ｓ２０４：Ｙｅｓ）、ＣＰＵ１１は、処理をＳ２０５に移行する。具体的に、ＭＦＰ１０が、ポーリング信号を送信して、当該ポーリング信号に対するレスポンス信号を受信する動作（以下、「Ｐｏｌｌ動作」と称す）を実行している場合には、ＣＰＵ１１は、Ｐ２Ｐモードに対応するＡｃｔｉｖａｔｉｏｎコマンドを通信相手に送信して、当該通信相手から、ＯＫコマンドを受信すると、Ｐ２Ｐの通信リンクが確立されたと判断する。一方、ＭＦＰ１０が、ポーリング信号を受信して、当該ポーリング信号に対応するレスポンス信号を送信する動作（以下、「Ｌｉｓｔｅｎ動作」と称す）を実行している場合には、ＣＰＵ１１は、通信相手からＰ２Ｐモードに対応するＡｃｔｉｖａｔｉｏｎコマンドを受信して、ＯＫコマンドを通信相手に送信すると、Ｐ２Ｐの通信リンクが確立されたと判断する。Ｐ２Ｐの通信リンクが確立されると、ＣＰＵ１１は、当該通信リンクを利用して、近距離通信部２２を介して、通信相手である端末１００と双方向通信を実行する。
【００４５】
Ｐ２Ｐの通信リンクが確立されてから、一定時間（例えば、５秒）以内に、ＣＰＵ１１が、近距離通信部２２を介して、端末１００からデータを受信できなかった場合（Ｓ２０５：Ｎｏ）、ＣＰＵ１１は、Ｐ２Ｐの通信リンクを切断し（Ｓ２２５）、処理をＳ２０１に戻す。具体的に、Ｓ２２５において、ＣＰＵ１１は、ＤｅａｃｔｉｖａｔｉｏｎコマンドおよびＯＫコマンドの通信を実行する。ＮＦＣ規格では、Ｐｏｌｌ動作を実行する装置が、Ｄｅａｃｔｉｖａｔｉｏｎコマンドを送信する（すなわち、Ｌｉｓｔｅｎ動作を実行する装置が、Ｄｅａｃｔｉｖａｔｉｏｎコマンドを受信する）ことが規定されている。よって、ＭＦＰ１０がＬｉｓｔｅｎ動作を実行している場合には、ＣＰＵ１１は、近距離通信部２２を介して、端末１００からＤｅａｃｔｉｖｅｔｉｏｎコマンドを受信し、当該コマンドに対するＯＫコマンドを、近距離通信部２２を介して端末１００に送信する。一方、ＭＦＰ１０がＰｏｌｌ動作を実行している場合には、ＣＰＵ１１は、近距離通信部２２を介して、Ｄｅａｃｔｉｖｅｔｉｏｎコマンドを端末１００に送信し、当該コマンドに対するＯＫコマンドを、近距離通信部２２を介して端末１００から受信する。なお、ＤｅａｃｔｉｖａｔｉｏｎコマンドおよびＯＫコマンドの通信が行われる前に、端末１００が、ＭＦＰ１０から、ＮＦＣ通信の通信可能距離を超えて離れる場合には、Ｓ２２５において、これらのコマンドの通信が実行されずに強制的にリンクが切断されてもよい。
【００４６】
一方、Ｐ２Ｐの通信リンクが確立されてから、一定時間（例えば、５秒）以内に、ＣＰＵ１１が、近距離通信部２２を介して、端末１００からデータを受信した場合（Ｓ２０５：Ｙｅｓ）、ＣＰＵ１１は、規定フォーマット１２ｃを参照し、受信したデータが規定のフォーマットのものであるかを判断する（Ｓ２０６）。具体的に、ＣＰＵ１１は、受信したデータのヘッダ部分に、所定の情報（例えば、ＭＦＰ１０のベンダを示す情報）が含まれていることを検知した場合に、当該データが規定のフォーマットのものであると判断する。
【００４７】
Ｓ２０６において、受信したデータが規定のフォーマットのものであると、ＣＰＵ１１が判断した場合（Ｓ２０６：Ｙｅｓ）、処理をＳ２０７に移行する。なお、本実施形態において、規定のフォーマットのデータは、印刷機能やスキャナ機能など、ＭＦＰ１０が実行可能な機能の利用を要求するデータである。つまり、規定のフォーマットのデータをＭＦＰ１０に送信するアプリは、ＭＦＰ１０の機能を利用するためのアプリケーションプログラム、すなわち、デバイス制御アプリ１１２ｂである。よって、本実施形態において、Ｓ２０６の処理は、ＣＰＵ１１が、端末１００において、デバイス制御アプリ１１２ｂが起動されているか否かを判断する処理であり、Ｓ２０６においてＹｅｓと判断された場合、端末１００において、デバイス制御アプリ１１２ｂが起動していることを示す。従って、Ｓ２０７〜Ｓ２１７の各処理は、端末１００において、規定のフォーマットのデータを送信するアプリ（本実施形態では、デバイス制御アプリ１１２ｂ）が起動されている場合に実行される処理である。
【００４８】
Ｓ２０７において、ＣＰＵ１１は、端末１００に機能実行画面が表示されているか否かを判断する。端末１００は、近距離通信部１２２からＮＦＣ通信によってデータを送信する際に、当該データとともに、端末１００のＬＣＤ１１６に表示されている画面を示す画面情報をＭＦＰ１０に送信する。画面情報は、Ｓ２０５において受信したデータのヘッダ部分に含まれていてもよいし、当該データに関連付けて別途送信してもよい。Ｓ２０７において、ＣＰＵ１１は、受信した画面情報に基づき、端末１００のＬＣＤ１６に表示されている画面が「機能実行画面」として規定される画面であるかを判断する。
【００４９】
「機能実行画面」は、端末１００のＬＣＤ１６に表示される画面であって、端末１００において、規定のフォーマットのデータをＭＦＰ１０に送信するアプリが起動されている場合に、当該アプリに応じたＭＦＰ１０の機能に対応する複数の画面のうち、予め決められている所定の画面である。より具体的に、「機能実行画面」は、端末１００が、デバイス制御アプリ１１２ｂに従ってＬＣＤ１１６に表示する各種画面のうち、利用する機能に応じて決められている画面であり、当該機能の実行を指示する画面である。例えば、デバイス制御アプリ１１２ｂによってＭＦＰ１０の印刷機能を利用する場合、印刷プレビュ画面が「機能実行画面」に相当する。よって、端末１００のＬＣＤ１１６に印刷プレビュ画面が表示されている場合に、ＭＦＰ１０の印刷機能の実行が指示される。なお、Ｓ２０５において受信したデータのヘッダには、利用するＭＦＰ１０の機能を特定する情報が含まれている。
【００５０】
端末１００に機能実行画面が表示されているとＣＰＵ１１が判断した場合（Ｓ２０７：Ｙｅｓ）、ＣＰＵ１１は、Ｐ２Ｐの通信リンクを利用して、近距離通信部２２を介して、端末１００にＵＲＬデータを送信する（Ｓ２１４）。当該ＵＲＬデータは、ＭＦＰ１０のベンダによって提供されるインターネットサーバに格納されるデータのＵＲＬ、すなわち、インターネットサーバ内におけるデータのファイルアドレスを示す。ＭＦＰ１０のベンダによって提供されるインターネットサーバは、外部装置からのリクエストに応じて、データのアップロードおよびダウンロードを外部装置に許可する。
【００５１】
Ｓ２１４の処理後、上述したＳ２２５の処理と同様に、Ｐ２Ｐの通信リンクを切断する（Ｓ２１５）。Ｐ２Ｐの通信リンクが切断されると、端末１００は、通信を、ＮＦＣ通信から、Ｗｉ−Ｆｉ通信に切り替え、無線ＬＡＮ通信部１２３を介して、アクセスポイント（図示せず）を経由して、受信したＵＲＬデータが示す、インターネットサーバ内におけるデータのファイルアドレスにアクセスし、処理対象のデータをアップロードする。
【００５２】
ＣＰＵ１１は、Ｓ２１５の処理後、機能実行処理を実行する（Ｓ２１６）。具体的に、ＣＰＵ１１は、機能実行処理（Ｓ２１６）において、まず、通信を、ＮＦＣ通信から、Ｗｉ−Ｆｉ通信に切り替え、無線ＬＡＮ通信部２３を介して、アクセスポイント（図示せず）を経由して、端末１００に送信したＵＲＬデータが示す、インターネットサーバ内におけるデータのファイルアドレスにアクセスする。そして、ＣＰＵ１１は、端末１００がアップロードした処理対象のデータをダウンロードする。次に、ダウンロードした処理対象のデータを、Ｓ２０５において受信したデータにより特定されるＭＦＰ１０の機能を用いて処理する。例えば、Ｓ２０５において受信したデータが、ＭＦＰ１０の印刷機能の利用を特定する情報を含む場合、ＣＰＵ１１は、インターネットサーバからダウンロードした処理対象のデータを、プリンタ１９に印刷させる。Ｓ２１６の処理後、ＣＰＵ１１は、処理をＳ２０１に移行する。つまり、本実施形態では、端末１００は、ＬＣＤ１１６に「機能実行画面」が表示されていることを条件として、ＭＦＰ１０の機能を利用できる。
【００５３】
一方、Ｓ２０７において、端末１００に機能実行画面が表示されていないとＣＰＵ１１が判断した場合（Ｓ２０７：Ｎｏ）、ＣＰＵ１１は、機能実行画面の表示を促す案内と、端末１００において、他のアプリを起動させるか否かの問い合わせとを含む第１の画面５１（図５（ａ）参照）を、ＬＣＤ１６に表示させる（Ｓ２０８）。詳細は後述するが、第１の画面５１に含まれる「機能実行画面の表示を促す案内」は、現在、端末１００のＬＣＤ１１６には、機能実行画面以外の画面が表示されており、上述した通り、ＭＦＰ１００の機能を利用できない状態にあるので、機能実行画面の表示をユーザに促すための表示である。当該案内の表示には、当該案内を確認したことをユーザに意思表示させるためのＯＫボタンを含む。一方、第１の画面５１に含まれる「端末１００において、他のアプリを起動させるか否かの問い合わせ」は、現在起動中のアプリとは異なるアプリを起動させる意思があるかを問い合わせるための表示である。当該問い合わせの表示には、アプリテーブル１２ｂに記憶されるアプリ（ＭＦＰ１０の機能を利用可能なアプリ）のうち、現在起動中のアプリ以外のアプリを指定可能なボタンを含む。
【００５４】
第１の画面５１に含まれる、機能実行画面の表示を促す案内に対するＯＫボタンに対するタッチ操作を、ＣＰＵ１１が検知した場合には（Ｓ２０９：Ｙｅｓ）、ＣＰＵ１１は、Ｓ２２５の処理と同様に、Ｐ２Ｐの通信リンクを切断し（Ｓ２１７）、処理をＳ２０１に戻す。一方、第１の画面５１に含まれる、現在起動中のアプリ以外のアプリを指定可能なボタンに対するタッチ操作を、ＣＰＵ１１が検知した場合には（Ｓ２０９：Ｎｏ，Ｓ２１０：Ｙｅｓ）、ＣＰＵ１１は、操作されたボタンに対応するアプリを起動させるためのアプリ起動通知を、Ｐ２Ｐの通信リンクを利用して、近距離通信部２２を介して、端末１００に送信する（Ｓ２１１）。具体的に、ＣＰＵ１１は、Ｓ２１１において、アプリテーブル１２ｂを参照し、操作されたボタンに対応するアプリに割り当てられているアプリ番号をアプリ起動通知として、端末１００に送信する。端末１００は、近距離通信部１２２を介して、アプリ起動通知（アプリ番号）を受信すると、アプリ番号に対応するアプリをＯＳレベルで起動させる。また、どのボタンに対するタッチ操作もＣＰＵ１１が検知しなければ（Ｓ２１０：Ｎｏ）、ＣＰＵ１１は、処理をＳ２０９に戻す。
【００５５】
次に、ＣＰＵ１１は、アプリ起動通知として送信したアプリ番号に対応するアプリにより利用されるＭＦＰ１０の機能に対し、設定されている現在の設定値をフラッシュメモリ１２から読み出し、当該設定値を、Ｐ２Ｐの通信リンクを利用して、近距離通信部２２を介して、端末１００に送信する（Ｓ２１２）。これにより、アプリ起動通知に応じて端末１００で起動したアプリの設定値に、当該アプリにより利用されるＭＦＰ１０の機能に対し、設定されている現在の設定値を反映させることができる。ＣＰＵ１１は、Ｓ２１２の処理後、Ｓ２２５の処理と同様に、Ｐ２Ｐの通信リンクを切断し（Ｓ２１３）、処理をＳ２０１に戻す。
【００５６】
Ｓ２０６において、受信したデータが規定のフォーマットのものでないと、ＣＰＵ１１が判断した場合（Ｓ２０６：Ｎｏ）、処理をＳ２１８に移行する。Ｓ２０６においてＮｏと判断された場合、端末１００において、規定のフォーマットのデータを送信するアプリ（本実施形態では、デバイス制御アプリ１１２ｂ）が起動していないことを示す。従って、Ｓ２１８〜Ｓ２２４の各処理は、端末１００において、規定のフォーマットのデータを送信するアプリが起動されていない場合に実行される処理である。
【００５７】
Ｓ２１８において、ＣＰＵ１１は、端末１００において、アプリを起動させる意思があるかをユーザに問い合わせる画面である第２の画面５２（図５（ｂ）参照）を、ＬＣＤ１６に表示させる（Ｓ２１８）。詳細は後述するが、第２の画面５２には、ユーザがアプリを起動させる意図を示すためのＯＫボタンと、ユーザがアプリを起動させない意図を示すため終了ボタンとを含む。
【００５８】
第２の画面５２に含まれるキャンセルボタンに対するタッチ操作を、ＣＰＵ１１が検知した場合には（Ｓ２１９：Ｎｏ）、ＣＰＵ１１は、Ｓ２２５の処理と同様に、Ｐ２Ｐの通信リンクを切断し（Ｓ２１７）、処理をＳ２０１に戻す。一方、第２の画面５２に含まれるＯＫボタンに対するタッチ操作を、ＣＰＵ１１が検知した場合には（Ｓ２１９：Ｙｅｓ）、端末１００が起動可能なアプリの種類を、Ｐ２Ｐの通信リンクを利用して、近距離通信部２２を介して、端末１００に問い合わせる（Ｓ２２０）。端末１００は、当該問い合わせに対し、端末１００が起動可能なアプリ、例えば、端末１００にインストールされているアプリのアプリ番号を含むデータを、Ｐ２Ｐの通信リンクを利用して、近距離通信部１２２を介して、ＭＦＰ１０に返信する。
【００５９】
ＣＰＵ１１は、Ｓ２２０の処理後、近距離通信部２２を介して、端末１００からデータを受信するのを待機する（Ｓ２２１：Ｎｏ）。ＣＰＵ１１が、近距離通信部２２を介して、端末１００からデータを受信した場合（Ｓ２２１：Ｙｅｓ）、ＣＰＵ１１は、受信したデータから、端末１００が起動可能なアプリ番号を抽出する（Ｓ２２２）。次に、ＣＰＵ１１は、抽出したアプリ番号に対応したアプリの中から、起動させるアプリをユーザに選択させる画面である第３の画面５３（図５（ｃ）参照）を、ＬＣＤ１６に表示させる（Ｓ２２３）。詳細は後述するが、第３の画面５３には、Ｓ２２２において抽出したアプリを個々に指定可能なボタンを含む。ユーザは、第３の画面５３に含まれるボタンのうち、起動を所望する１のボタンに対してタッチ操作を行うことによって、起動させるアプリを選択できる。
【００６０】
ＣＰＵ１１は、Ｓ２２３の処理後、起動させるアプリが選択されるのを待機する（Ｓ２２４：Ｎｏ）。一方、第３の画面５３に含まれるボタンのうち、１のボタンに対するタッチ操作を、ＣＰＵ１１が検知した場合には（Ｓ２２４：Ｙｅｓ）、ＣＰＵ１１は、Ｓ２１１に移行する。これにより、端末１００は、操作されたボタンに対応するアプリを起動するとともに、当該起動したアプリにより利用されるＭＦＰ１０の機能に対し、ＭＦＰ１０において設定されている現在の設定値を取得できる。
【００６１】
図３は、上述した第２通信処理（Ｓ２２７）を示すフローチャートである。第２通信処理（Ｓ２２７）は、ＭＦＰ１０がＰ２Ｐモードに設定され、端末１００がＲｅａｄｅｒモードに設定されている場合に実行される処理である。通常、端末１００において、ＭＦＰ１０の機能を利用するためのアプリが起動されている場合、端末１００のモードはＰ２Ｐモードに設定される。よって、端末１００がＲｅａｄｅｒモードに設定されている場合、端末１００において、ＭＦＰ１０の機能を利用するためのアプリ（本実施形態では、デバイス制御アプリ１１２ｂ）が起動していないことを示す。つまり、本実施形態において、図２のＳ２０３の処理は、ＣＰＵ１１が、端末１００において、デバイス制御アプリ１１２ｂが起動されているか否かを判断する処理である。従って、第２通信処理（Ｓ２２７）は、端末１００において、ＭＦＰ１０の機能を利用するためのアプリが起動されていない場合に実行される処理である。なお、第２通信処理（Ｓ２２７）において、上述した通信処理（図２）と同じ処理については、同じステップ番号を付し、その説明を省略する。
【００６２】
ＣＰＵ１１は、端末１００において、第２の画面５２（図５（ｂ）参照）を、ＬＣＤ１６に表示させる（Ｓ２１８）。第２の画面５２に含まれるキャンセルボタンに対するタッチ操作を、ＣＰＵ１１が検知した場合には（Ｓ２１９：Ｎｏ）、ＣＰＵ１１は、本処理を終了する。一方、第２の画面５２に含まれるＯＫボタンに対するタッチ操作を、ＣＰＵ１１が検知した場合には（Ｓ２１９：Ｙｅｓ）、ＣＰＵ１１は、第３の画面５３（図５（ｃ）参照）を、ＬＣＤ１６に表示させる（Ｓ２２３）。ただし、第２通信処理（Ｓ２２７）の中で実行されるＳ２２３の処理によってＬＣＤ１６に表示される第３の画面５３は、アプリテーブル１２ｂに記憶されるアプリ（ＭＦＰ１０の機能を利用可能なアプリ）を指定可能なボタンを含む。ＣＰＵ１１は、Ｓ２２３の処理後、起動させるアプリが選択されるのを待機する（Ｓ２２４：Ｎｏ）。一方、第３の画面５３に含まれるボタンのうち、１のボタンに対するタッチ操作を、ＣＰＵ１１が検知した場合には（Ｓ２２４：Ｙｅｓ）、ＣＰＵ１１は、Ｓ３０１に移行する。
【００６３】
Ｓ３０１において、ＣＰＵ１１は、ＣＥモードを起動させ、ＭＦＰ１０のモードをＣＥモードに変更するとともに、Ｐ２Ｐモードを停止する。Ｓ３０１の処理後、ＭＦＰ１０がＣＥモードであり、端末１００がＲｅａｄｅｒモードである状態となる。次に、ＣＰＵ１１は、ＭＦＰ１０と端末１００との間で、ＣＥモードおよびＲｅａｄｅｒモードに対応する通信リンク（以下、「ＭＦＰ（ＣＥ）−相手（Ｒ）の通信リンク」と称す）が確立されることを監視する（Ｓ３０２）。
【００６４】
Ｌｉｓｔｅｎ動作を実行するＭＦＰ１０の現在の状態が、ＣＥモードが起動されており、Ｐ２Ｐが起動されていない状態であり、Ｐｏｌｌ動作を実行する端末１００の現在の状態が、ＲｅａｄｅｒモードまたはＷｒｉｔｅｒモードが起動されている状態である場合、ＣＰＵ１１は、端末１００からＲ／Ｗモードに対応するＡｃｔｉｖａｔｉｏｎコマンドを受信する。この場合、ＣＰＵ１１は、ＭＦＰ１０がＣＥモードで動作すべきことを決定し、ＯＫコマンドを端末１００に送信する。これにより、Ｌｉｓｔｅｎ動作を実行するＭＦＰ１０と、Ｐｏｌｌ動作を実行する端末１００との間に、ＣＥモードおよびＲ／Ｗモードに対応する通信リンクが確立される。
【００６５】
なお、ＣＥモードおよびＲ／Ｗモードに対応する通信リンクが確立される場合、ＣＰＵ１１は、さらに、端末１００から、端末１００がＲｅａｄｅｒモードまたはＷｒｉｔｅｒモードのどちらで動作するのかを示す情報を受信する。よって、Ｓ３０２において、ＣＰＵ１１は、端末１００がＲｅａｄｅｒモードで動作することを示す情報を受信した場合、Ｌｉｓｔｅｎ動作を実行するＭＦＰ１０と、Ｐｏｌｌ動作を実行する端末１００との間に、ＭＦＰ（ＣＥ）−相手（Ｒ）の通信リンクが確立されたと判断する。
【００６６】
次に、ＣＰＵ１１は、ＭＦＰ（ＣＥ）−相手（Ｒ）の通信リンクを利用して、近距離通信部２２を介して、端末１００に、アプリ起動通知を読み出させる動作を実行させることによって、アプリ起動通知と設定値とを端末１００に送信する（Ｓ３０３）。なお、アプリ起動通知は、上述したＳ２１１の処理で送信したものと同様、第３の画面５３に含まれるボタンのうち、操作されたボタンに対応するアプリに割り当てられているアプリ番号である。また、設定値は、上述したＳ２１２の処理で送信したものと同様、端末１００に送信するアプリ起動通知（アプリ番号）に対応するアプリにより利用されるＭＦＰ１０の機能に対し、フラッシュメモリ１２に記憶されている現在の設定値である。
【００６７】
ＣＰＵ１１は、Ｓ３０３の処理後、ＭＦＰ（ＣＥ）−相手（Ｒ）の通信リンクを切断する（Ｓ３０４）。具体的に、Ｓ３０４において、ＣＰＵ１１は、ＤｅａｃｔｉｖａｔｉｏｎコマンドおよびＯＫコマンドの通信を実行する。Ｓ３０４が実行される際には、端末１００がＰｏｌｌ動作を実行し、ＭＦＰ１０がＬｉｓｔｅｎ動作を実行するので、ＣＰＵ１１は、近距離通信部２２を介して、端末１００からＤｅａｃｔｉｖｅｔｉｏｎコマンドを受信し、当該コマンドに対するＯＫコマンドを、近距離通信部２２を介して端末１００に送信する。この結果、ＭＦＰ（ＣＥ）−相手（Ｒ）の通信リンクが切断される。
【００６８】
次に、ＣＰＵ１１は、Ｐ２Ｐモードを起動させ、ＭＦＰ１０のモードをＰ２Ｐモードに変更するとともに、ＣＥモードを停止する（Ｓ３０５）。Ｓ３０５の処理後、ＭＦＰ１０がＰ２Ｐモードであり、端末１００がＲｅａｄｅｒモードである状態となる。ＣＰＵ１１は、Ｓ３０５の処理後、本処理を終了する。
【００６９】
図４は、上述した第３通信処理（Ｓ２２６）を示すフローチャートである。第３通信処理（Ｓ２２６）は、ＭＦＰ１０がＲｅａｄｅｒモードに設定されている場合に実行される処理である。なお、第３通信処理（Ｓ２２６）において、上述した通信処理（図２）と同じ処理については、同じステップ番号を付し、その説明を省略する。
【００７０】
ＣＰＵ１１は、ＮＦＣ機器として端末１００を検出したかを判断する（Ｓ４０１）。端末１００を検出していないとＣＰＵ１１が判断した場合（Ｓ４０１：Ｎｏ）、所定時間（例えば、５秒）内であれば（Ｓ４０３：Ｎｏ）、ＣＰＵ１１は、端末１００が検出されるのを待機する。一方、所定時間内に、ＣＰＵ１１が、端末１００を検出できなかった場合（Ｓ４０３：Ｙｅｓ）、ＣＰＵ１１は、本処理を終了する。かかる場合、端末１００が、Ｒｅａｄｅｒモードでは検出できないモード、例えば、Ｒｅａｄｅｒモードに設定されていると考えられる。
【００７１】
Ｓ４０１において、所定時間内に、端末１００を検出したとＣＰＵ１１が判断した場合（Ｓ４０１：Ｙｅｓ）、ＣＰＵ１１は、Ｐ２Ｐモードを起動させ、ＭＦＰ１０のモードをＰ２Ｐモードに変更するとともに、Ｒｅａｄｅｒモードを停止する（Ｓ４０２）。Ｓ４０２の処理後、ＭＦＰ１０および端末１００がいずれもＰ２Ｐモードに設定されている状態となる。よって、Ｓ４０２の処理後は、上述した通信処理（図２）におけるＳ２０４〜Ｓ２２５と同様の処理を実行する。ただし、第３通信処理（Ｓ２２６）では、ＣＰＵ１１は、Ｓ２１３、Ｓ２２２、またはＳ２２５において、Ｐ２Ｐの通信リンクを切断した後、Ｒｅａｄｅｒモードを起動させ、ＭＦＰ１０のモードをＲｅａｄｅｒモードに変更するとともに、Ｐ２Ｐモードを停止し（Ｓ４０４）、本処理を終了する。また、ＣＰＵ１１は、機能実行処理（Ｓ２１６）の実行後も、Ｓ４０４の処理を実行し、本処理を終了する。Ｓ４０４の処理後、ＭＦＰ１０がＲｅａｄｅｒモードに設定されている状態となる。
【００７２】
図５は、上述した図２〜図４の通信処理において、ＬＣＤ１６に表示される画面を示す模式図である。具体的に、図５（ａ）は、第１の画面５１を示す模式図である。第１の画面５１は、上述した通信処理におけるＳ２０８（図２，図４）において、ＣＰＵ１１が表示させる画面である。第１の画面５１は、画面左側に、機能実行画面の表示を促す案内５１ａが表示され、画面右側に、他のアプリを起動させるか否かの問い合わせ５１ｂが表示される。
【００７３】
案内５１ａは、機能実行画面（例えば、印刷プレビュ画面）の表示をユーザに促すメッセージ５１ａ１と、案内５１ａを確認したことをユーザに意思表示させるためのＯＫボタン５１ａ２とを含む。ＯＫボタン５１ａ２に対するユーザのタッチ操作をタッチパネル１７が検出した場合、ＣＰＵ１１は、Ｓ２１７（図２，図４）の処理を実行する。
【００７４】
一方、問い合わせ５１ｂは、現在起動中のアプリとは異なるアプリを起動させる意思があるかをユーザに問い合わせるメッセージ５１ｂ１と、指定可能なアプリに対応するボタン５１ｂ２〜５１ｂ４とを含む。本実施形態において、ボタン５１ｂ２〜５１ｂ４は、アプリテーブル１２ｂに記憶されるアプリ（ＭＦＰ１０の機能を利用可能なアプリ）のうち、現在起動中のアプリ以外の各アプリに対応するものが表示される。なお、ボタン５１ｂ２〜５１ｂ４の数は、対象となるアプリの数に応じて適宜変化する。ボタン５１ｂ２〜５１ｂ４のいずれかに対するユーザのタッチ操作をタッチパネル１７が検出した場合、ＣＰＵ１１は、Ｓ２１１（図２，図４）の処理を実行する。
【００７５】
図５（ｂ）は、第２の画面５２を示す模式図である。第２の画面５２は、通信処理におけるＳ２１８（図２，図４）において、ＣＰＵ１１が表示させる画面である。第２の画面５２は、アプリを起動させる意思があるかをユーザに問い合わせる画面であり、アプリを起動させる意思をユーザに問い合わせるメッセージ５２ａと、ユーザがアプリを起動させる意図を示すためのＯＫボタン５２ｂと、ユーザがアプリを起動させない意図を示すため終了ボタン５２ｃとを含む。ＯＫボタン５２ｂに対するユーザのタッチ操作をタッチパネル１７が検出した場合、ＣＰＵ１１は、Ｓ２２０（図２，図４）の処理を実行する。一方、終了ボタン５２ｃに対するユーザのタッチ操作をタッチパネル１７が検出した場合、ＣＰＵ１１は、Ｓ２１７（図２，図４）の処理を実行する。
【００７６】
図５（ｃ）は、第３の画面５３を示す模式図である。第３の画面５３は、Ｓ２２３（図２〜図４）において、起動させるアプリをユーザに選択させる画面である。第３の画面５３は、どのアプリを起動させる意思があるかをユーザに問い合わせるメッセージ５３ａと、指定可能なアプリに対応するボタン５３ｂ〜５３ｄとを含む。本実施形態において、ボタン５３ｂ〜５３ｄは、Ｓ２２２において抽出されたアプリ、または、アプリテーブル１２ｂに記憶されるアプリに対応するものが表示される。なお、ボタン５３ｂ〜５３ｄの数は、対象となるアプリの数に応じて適宜変化する。ボタン５３ｂ〜５３ｄのいずれかに対するユーザのタッチ操作をタッチパネル１７が検出した場合、ＣＰＵ１１は、Ｓ２１１（図２，図４）またはＳ３０１（図３）の処理を実行する。
【００７７】
本実施形態のＭＦＰ１０によれば、ＮＦＣ通信の通信相手となる端末１００において、ＭＦＰ１０の機能を利用可能なアプリが起動しているか否かを判断されるので、端末１００の種類にかかわらず、その端末において、特定のアプリ、具体的には、ＭＦＰ１０の機能を利用可能なアプリが起動しているか否かを判断することができる。そして、端末１００において、ＭＦＰ１０の機能を利用可能なアプリが起動していると判断された場合には、当該起動しているアプリに応じた機能が実行される。一方で、端末１００において、ＭＦＰ１０の機能を利用可能なアプリが起動していないと判断された場合には、ユーザの所望に応じた所定のアプリを起動させるためのアプリ起動通知を端末１００に送信し、端末１００において、アプリ起動通知に対応するアプリを起動することができる。よって、端末１００における特定のアプリケーションの起動状態に応じた適切な制御を行うことができる。
【００７８】
また、端末１００において、ＭＦＰ１０の機能を利用可能なアプリが起動していないと判断された場合には、アプリを起動させるかや、どのアプリを起動させるかをユーザに問い合わせるための画面（第２画面５２、第３画面５３）を表示させるので、端末１００において、ユーザの所望に応じたアプリを起動させることができる。第３画面５３には、端末１００において起動可能なアプリを問い合わせた上で、該当するアプリを指定できるようにボタン５３ｂなどが表示されるので、ユーザは、端末１００において起動可能なアプリを選択することができ、選択したにもかかわらず、アプリが起動されないという事態を抑制できる。
【００７９】
また、端末１００において、ＭＦＰ１０の機能を利用可能なアプリが起動していると判断されたが、端末１００のＬＣＤ１１６において機能実行画面が表示されていない場合には、機能実行画面の表示を促す案内５１ａ（第１の画面５１の一部）がＬＣＤ１６に表示される。本実施形態では、端末１００は、ＬＣＤ１１６に機能実行画面が表示されていることを条件として、ＭＦＰ１０の機能を利用できるように構成されているので、端末１００において、ＭＦＰ１０の機能を利用可能なアプリが起動していても、端末１００のＬＣＤ１１６において機能実行画面が表示されていなければ、ＭＦＰ１０の機能を利用することができない。かかる場合に、案内５１ａがＬＣＤ１６に表示されるので、ユーザは、端末１００において起動しているアプリを用いて、ＭＦＰ１０に機能を実行させるためにすべき操作を促すことができる。
【００８０】
また、端末１００において、ＭＦＰ１０の機能を利用可能なアプリが起動していると判断されたが、端末１００のＬＣＤ１１６において機能実行画面が表示されていない場合には、他のアプリを起動させるか否かの問い合わせ５１ｂ（第１の画面５１の一部）がＬＣＤ１６に表示される。端末１００のＬＣＤ１１６に機能実行画面が表示されていない場合、ユーザが、起動中のアプリによる機能を実行する意図が低い可能性がある。例えば、ユーザが、所望とは異なるアプリを起動させた可能性がある。かかる場合に、問い合わせ５１ｂがＬＣＤ１６に表示されるので、ユーザは、所望とは異なる機能が実行される前に、別のアプリ、例えば、ユーザが所望するアプリを起動させることができる。
【００８１】
また、本実施形態のＭＦＰ１０によれば、自装置に設定されているＮＦＣ規格のモードに対し、端末１００に設定されているモードが、端末１００がＭＦＰ１０からデータを受信できないモードである場合には、自装置のモードを変更することによって、端末１００にアプリ起動通知を受信させる。よって、自装置および端末１００に設定されている各モードの状態によることなく、端末１００における特定のアプリケーションの起動状態に応じた適切な制御を行うことができる。
【００８２】
上記実施形態において、ＭＦＰ１０が、機能実行装置の一例である。端末１００が、外部装置の一例である。近距離通信部２２が、通信部の一例である。プリンタ１９が、機能部、印刷部の一例である。ＣＰＵ１１が、制御部の一例である。ＬＣＤ１６が、表示部の一例である。フラッシュメモリ１２が、記憶部の一例である。タッチパネル１７が、受付部の一例である。デバイス制御アプリ１２ｂが、所定の機能に対応するアプリケーションプログラムの一例である。機能実行画面が、所定の画面の一例である。第２画面５２，第３画面５３が、第１問い合わせ画面の一例である。第３画面５３が、第２問い合わせ画面の一例である。案内５１ａが、所定の画面の表示を促す画面の一例である。問い合わせ５１ｂが、異なる種類のアプリケーションプログラムを起動させるかを問い合わせる画面の一例である。Ｐ２Ｐモードが、第１のモードの一例である。Ｒｅａｄｅｒモードが、第２のモードの一例である。ＣＥモードが、第３のモードの一例である。ＳＳ２０２，Ｓ４０１の処理を実行するＣＰＵ１１が、通信判断手段の一例である。Ｓ２０３，Ｓ２０６の処理を実行するＣＰＵ１１が、起動判断手段の一例である。Ｓ２１６の処理を実行するＣＰＵ１１が、機能制御手段の一例である。Ｓ２１１，Ｓ３０３の処理を実行するＣＰＵ１１が、指示手段の一例である。Ｓ２１８，Ｓ２２３の処理を実行するＣＰＵ１１が、第１表示制御手段の一例である。Ｓ２２３の処理を実行するＣＰＵ１１が、第２表示制御手段の一例である。Ｓ２２０の処理を実行するＣＰＵ１１が、問い合わせ手段の一例である。Ｓ２０８の処理を実行するＣＰＵ１１が、第３表示制御手段、第４表示制御手段の一例である。Ｓ２０７の処理を実行するＣＰＩＵ１１が、画面判断手段の一例である。Ｓ２０３の処理を実行するＣＰＵ１１が、モード判断手段の一例である。Ｓ３０１の処理を実行するＣＰＵ１１が、モード切替手段の一例である。Ｓ４０２の処理を実行するＣＰＵ１１が、第２のモード切替手段の一例である。Ｓ２１２，Ｓ３０３の処理を実行するＣＰＵ１１が、設定値送信手段の一例である。
【００８３】
以上、実施形態に基づき本発明を説明したが、本発明は上述した実施形態に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲内で種々の改良変更が可能であることは容易に推察できるものである。
【００８４】
例えば、上記実施形態では、ＭＦＰ１０を本発明の機能実行装置として例示したが、少なくとも１の機能を実行可能な装置であれば、複数の機能を有するＭＦＰ１０に限らず、プリンタやスキャナなどの単機能に特化された装置や、保存機能などを有するパーソナルコンピュータなども、本発明の機能実行装置として採用できる。
【００８５】
上記実施形態では、ＮＦＣ機器である端末１００が利用するＭＦＰ１０の機能の一例として、印刷機能を例示したが、端末１００などのＮＦＣ機器が印刷機能以外の機能を利用する場合に対し、本発明を適用してもよい。例えば、端末１００に記憶されている画像データや文書データをＭＦＰ１０のファクシミリ機能を送信する場合や、端末１００に記憶されている各種データをＭＦＰ１０に保存させる場合や、端末１００に記憶されている各種データを、ＭＦＰ１０を介してインターネット上のクラウドサーバ（図示せず）に保存させる場合などに、本発明を適用してもよい。あるいは、ＭＦＰ１０のスキャン機能により得られたスキャンデータを端末に保存する場合などに、本発明を適用してもよい。つまり、ＭＦＰ１０は、ＭＦＰ１０が実行可能な機能をＮＦＣ機器から利用するための各アプリの起動状態を判断し、その判断結果に応じた処理をする構成としてもよい。
【００８６】
上記実施形態では、ＭＦＰ１０と端末１００との間でＮＦＣ通信とＷｉ−Ｆｉ通信との両方が可能である場合を例示したが、これらの装置１０，１００間において少なくともＮＦＣ通信が可能であれば、本発明を適用可能である。また、上記実施形態では、処理対象のデータは、端末１００が、インターネットサーバ内にアップロードしたデータを、ＭＦＰ１００がダウンロードして、機能の実行に用いる構成としたが、処理対象のデータは、端末１００からＭＦＰ１０へ、アドホックモードによるＷｉ−Ｆｉ通信によって送信する構成としてもよい。あるいは、処理データの送信を、Ｂｌｕｅｔｏｏｔｈ（登録商標）通信などの他の無線通信方式で行う構成としてもよい。
【００８７】
また、上記実施形態では、近距離無線通信として、ＮＦＣ規格に従う非接触通信（ＮＦＣ通信）を例示したが、ＴｒａｎｓｆｅｒＪｅｔ（登録商標）など、他の規格に従う非接触通信を採用する構成としてもよい。また、Ｓ２０５において受信するデータ、すなわち、規定のフォーマットであるデータが、ＮＦＣ通信に限らず、Ｗｉ−Ｆｉ通信など、他の無線通信方式で行われてもよい。
【００８８】
上記実施形態では、ＭＦＰ１０が実行可能な機能を利用する外部装置として、スマートフォンなどの端末１００を例示したが、これに限定されず、ＮＦＣ通信可能に構成される装置であれば、種々の装置を外部装置として採用できる。例えば、タブレット端末や、パーソナルコンピュータや、デジタルカメラや、音楽再生装置などの装置がＮＦＣ通信可能に構成されている場合、これらの各装置を、ＭＦＰ１０が実行可能な機能を利用する外部装置としてもよい。上記実施形態では、端末１００のＯＳ１１２ａがアンドロイドＯＳであるものとして説明したが、他のＯＳを採用する構成としてもよい。
【００８９】
上記実施形態では、第１の画面５１内に、案内５１ａおよび問い合わせ５１ｂが含まれる構成としたが、いずれか一方としてもよい。いずれか一方とした場合には、Ｓ２０９またはＳ２１０のうち、採用する方の表示に対応するステップを残し、他方のステップを削除すればよい。また、上記実施形態では、ＭＦＰ１０は、受信したデータが規定のフォーマットのものでない場合に、端末１００の起動可能なアプリの種類を、端末１００に問い合わせる構成としたが、かかる問い合わせを行わない構成としてもよい。かかる場合、第３の画面５３には、表示されるアプリを指定可能なボタンとして、アプリテーブル１２ｂに記憶されるアプリを指定可能なボタンを表示させればよい。また、上記実施形態では、ＭＦＰ１０は、第２の画面５２を表示し、アプリを起動させる意思があるか否かを問い合わせた後、第３の画面５３を表示する構成５３としたが、第２の画面５２を表示させない構成としてもよい。かかる場合、第３の画面５３は、起動させるアプリをユーザに選択させる画面であるだけでなく、アプリを起動させる意思があるかをユーザに問い合わせる画面を兼ねる。
【００９０】
上記実施形態では、第１の画面５１に表示されるボタン５１ａ２，５１ｂ２〜５１ｂ４、第２の画面５２に表示されるボタン５２ｂ，５２ｃ、および、第３の画面５３に表示されるボタン５３ｂ〜５３ｄに対するタッチ操作を、タッチパネル１７により検出する構成としたが、操作キー１５を操作して、所望のボタンを選択する操作と、確定する操作とを入力する構成としてもよい。かかる場合、操作キー１５が、受付部の一例となる。
【００９１】
上記実施形態および変形例では、ＣＰＵ１１が、図２〜図４に記載される各処理を実行する構成として説明したが、図２〜図４に記載される各処理を、複数のＣＰＵが協同的に実行する構成としてもよい。また、ＡＳＩＣなどのＩＣが、単独で、または、複数によって協働的に、図２〜図４に記載される各処理を実行する構成してもよい。また、ＣＰＵ１１とＡＳＩＣなどのＩＣとが協同して、図２〜図４に記載される各処理を実行する構成してもよい。
【符号の説明】
【００９２】
１０            ＭＦＰ
１１            ＣＰＵ
１２ａ          制御プログラム
【図１】
2014197775.tif 000003
【図２】
2014197775.tif 000004
【図３】
2014197775.tif 000005
【図４】
2014197775.tif 000006
【図５】
2014197775.tif 000007