(57)【特許請求の範囲】
【請求項１】
ＮＦＣインタフェースを備える通信装置のコンピュータに、
前記ＮＦＣインタフェースを使用してＮＦＣタグを読み取って、前記ＮＦＣタグから第１のＮＤＥＦメッセージと第２のＮＤＥＦメッセージを含むデータを取得する取得工程と、
前記取得したデータを解釈し、取得した前記第１のＮＤＥＦメッセージに含まれるアプリケーションの識別情報に対応する第１のアプリケーションが前記通信装置に存在するか否かを判断する第１の判断工程と、
前記第１の判断工程で前記第１のアプリケーションが前記通信装置に存在すると判断された場合に、前記第１のアプリケーションが起動済みであるか否かを判断する第２の判断工程と、
前記第２の判断工程で前記第１のアプリケーションが起動済みであると判断された場合に、前記第１のアプリケーションにデータを渡し、前記第２の判断工程で前記第１のアプリケーションが起動済みではないと判断された場合に、前記第１のアプリケーションを起動し、前記第１のアプリケーションにデータを渡す制御を行う制御工程と、を
前記コンピュータに実行させるためのプログラムであって、
前記制御工程はさらに前記第１の判断工程で前記第１のＮＤＥＦメッセージに含まれるアプリケーションの識別情報に対応する第１のアプリケーションが前記通信装置に存在しないと判断されたことに従っては、前記第１のＮＤＥＦメッセージに基づくＮＦＣ連携処理を行なうことなく、前記第２のＮＤＥＦメッセージに含まれるアプリケーションの識別情報に対応する第２のアプリケーションが前記通信装置に存在するか否かを判断し、当該判断で前記第２のアプリケーションが前記通信装置に存在すると判断された場合は、前記第２のアプリケーションが起動済みであるか否かを更に判断し、前記第２のアプリケーションが起動済みであると判断されたことに従って、前記第２のアプリケーションにデータを渡し、前記第２のアプリケーションが前記通信装置に存在し、かつ、起動済みではないと判断されたことに従って、前記第２のアプリケーションを起動し、前記第２のアプリケーションにデータを渡す制御を行うことで、前記制御工程は前記第１のアプリケーション又は第２のアプリケーションに前記取得したデータに基づくＮＦＣ連携処理を依頼する一方、前記第１のアプリケーションおよび前記第２のアプリケーションのどちらも前記通信装置に存在しないと判断されたことに従って、アプリケーションの取得に関する要求を外部サーバに送信し、前記ＮＦＣタグの読み取りを契機としたＮＦＣ連携処理を完了させるよう制御し、
前記データを受け取った前記第１のアプリケーションまたは前記第２のアプリケーションは、前記ＮＦＣインタフェースを用いた無線通信より通信速度が高速な第２の種類の無線通信を確立するハンドオーバー処理を実行し、前記確立した第２の種類の無線通信を用いて外部装置と通信し、前記制御工程で依頼された前記ＮＦＣ連携処理を完了させることを特徴とするプログラム。
【請求項２】
前記ＮＦＣタグに含まれるデータである前記第１のＮＤＥＦメッセージ及び第２のＮＤＥＦメッセージには、１つ以上のレコードが含まれており、１つのＮＤＥＦメッセージは１つのアプリケーションに関するレコードと、アプリケーションに通知すべき情報を記憶したレコードとが記憶されていることを特徴とする請求項１に記載のプログラム。
【請求項３】
前記制御工程は、前記取得したアプリケーションの識別情報に対応する第１または第２のアプリケーションを起動する制御を行う場合に、当該起動するアプリケーションに、前記取得した識別情報が格納されているＮＤＥＦメッセージに含まれているアプリケーションに通知すべき情報を記憶したレコードの情報を送信し、前記識別情報が格納されていないＮＤＥＦメッセージに含まれるアプリケーションに通知すべき情報は送信しないことを特徴とする請求項２に記載のプログラム。
【請求項４】
前記プログラムは、
前記制御工程において第１のアプリケーションまたは第２のアプリケーションの起動に失敗した場合に、エラーメッセージを操作部に出力する出力工程を、
前記通信装置の前記コンピュータに更に実行させることを特徴とする請求項１乃至３のいずれか１項に記載のプログラム。
【請求項５】
ＮＦＣインタフェースを備える通信装置の制御方法であって、
前記ＮＦＣインタフェースを使用してＮＦＣタグを読み取って、前記ＮＦＣタグから第１のＮＤＥＦメッセージと第２のＮＤＥＦメッセージを含むデータを取得する取得工程と、
前記取得したデータを解釈し、取得した第１のＮＤＥＦメッセージに含まれるアプリケーションの識別情報に対応する第１のアプリケーションが前記通信装置に存在するか否かを判断する第１の判断工程と、
前記第１の判断工程で前記第１のアプリケーションが前記通信装置に存在すると判断された場合に、前記第１のアプリケーションが起動済みであるか否かを判断する第２の判断工程と、
前記第２の判断工程で前記第１のアプリケーションが起動済みであると判断された場合に、前記第１のアプリケーションにデータを渡し、前記第２の判断工程で前記第１のアプリケーションが起動済みではないと判断された場合に、前記第１のアプリケーションを起動し、前記第１のアプリケーションにデータを渡す制御を行う制御工程と、
を含み、
前記制御工程はさらに前記第１の判断工程で前記第１のＮＤＥＦメッセージに含まれるアプリケーションの識別情報に対応する第１のアプリケーションが前記通信装置に存在しないと判断されたことに従っては、前記第１のＮＤＥＦメッセージに基づくＮＦＣ連携処理を行なうことなく、前記第２のＮＤＥＦメッセージに含まれるアプリケーションの識別情報に対応する第２のアプリケーションが前記通信装置に存在するか否かを判断し、当該判断で前記第２のアプリケーションが前記通信装置に存在すると判断された場合は、前記第２のアプリケーションが起動済みであるか否かを更に判断し、前記第２のアプリケーションが起動済みであると判断されたことに従って、前記第２のアプリケーションにデータを渡し、前記第２のアプリケーションが前記通信装置に存在し、かつ、起動済みではないと判断されたことに従って、前記第２のアプリケーションを起動し、前記第２のアプリケーションにデータを渡す制御を行うことで、前記制御工程は前記第１のアプリケーション又は第２のアプリケーションに前記取得したデータに基づくＮＦＣ連携処理を依頼する一方、
前記第１のアプリケーションおよび前記第２のアプリケーションのどちらも前記通信装置に存在しないと判断されたことに従って、アプリケーションの取得に関する要求を外部サーバに送信し、前記ＮＦＣタグの読み取りを契機としたＮＦＣ連携処理を完了させるよう制御し、
前記データを受け取った前記第１のアプリケーションまたは前記第２のアプリケーションは、前記ＮＦＣインタフェースを用いた無線通信より通信速度が高速な第２の種類の無線通信を確立するハンドオーバー処理を実行し、前記確立した第２の種類の無線通信を用いて外部装置と通信し、前記制御工程で依頼された前記ＮＦＣ連携処理を完了させることを特徴とする制御方法。
【請求項６】
前記ＮＦＣタグに含まれるデータである前記第１のＮＤＥＦメッセージ及び第２のＮＤＥＦメッセージには、１つ以上のレコードが含まれており、１つのＮＤＥＦメッセージは１つのアプリケーションに関するレコードと、アプリケーションに通知すべき情報を記憶したレコードとが記憶されていることを特徴とする請求項５に記載の制御方法。
【請求項７】
前記制御工程は、前記取得したアプリケーションの識別情報に対応する第１または第２のアプリケーションを起動する制御を行う場合に、当該起動するアプリケーションに、前記取得した識別情報が格納されているＮＤＥＦメッセージに含まれているアプリケーションに通知すべき情報を記憶したレコードの情報を送信し、前記識別情報が格納されていないＮＤＥＦメッセージに含まれるアプリケーションに通知すべき情報は送信しないことを特徴とする請求項６に記載の制御方法。
【請求項８】
前記制御工程において第１のアプリケーションまたは第２のアプリケーションの起動に失敗した場合に、エラーメッセージを操作部に出力する出力工程を、さらに含むことを特徴とする請求項５乃至７のいずれか１項に記載の制御方法。
【請求項９】
通信装置であって、
ＮＦＣインタフェースと、
前記ＮＦＣインタフェースを使用してＮＦＣタグを読み取って、前記ＮＦＣタグから第１のＮＤＥＦメッセージと第２のＮＤＥＦメッセージを含むデータを取得する取得手段と、
前記取得手段によって取得したデータを解釈し、取得した第１のＮＤＥＦメッセージに含まれるアプリケーションの識別情報に対応する第１のアプリケーションが前記通信装置に存在するか否かを判断する第１の判断手段と、
前記第１の判断手段で前記第１のアプリケーションが前記通信装置に存在すると判断された場合に、前記第１のアプリケーションが起動済みであるか否かを判断する第２の判断手段と、
前記第２の判断手段で前記第１のアプリケーションが起動済みであると判断された場合に、前記第１のアプリケーションにデータを渡し、前記第２の判断手段で前記第１のアプリケーションが起動済みではないと判断された場合に、前記第１のアプリケーションを起動し、前記第１のアプリケーションにデータを渡す制御を行う制御手段と、
を有し、
前記制御手段はさらに前記第１の判断手段で前記第１のＮＤＥＦメッセージに含まれるアプリケーションの識別情報に対応する第１のアプリケーションが前記通信装置に存在しないと判断されたことに従っては、前記第１のＮＤＥＦメッセージに基づくＮＦＣ連携処理を行なうことなく、前記第２のＮＤＥＦメッセージに含まれるアプリケーションの識別情報に対応する第２のアプリケーションが前記通信装置に存在するか否かを判断し、当該判断で前記第２のアプリケーションが前記通信装置に存在すると判断された場合は、前記第２のアプリケーションが起動済みであるか否かを更に判断し、前記第２のアプリケーションが起動済みであると判断されたことに従って、前記第２のアプリケーションにデータを渡し、前記第２のアプリケーションが前記通信装置に存在し、かつ、起動済みではないと判断されたことに従って、前記第２のアプリケーションを起動し、前記第２のアプリケーションにデータを渡す制御を行うことで、前記制御手段は前記第１のアプリケーション又は第２のアプリケーションに前記取得したデータに基づくＮＦＣ連携処理を依頼する一方、
前記第１のアプリケーションおよび前記第２のアプリケーションのどちらも前記通信装置に存在しないと判断されたことに従って、アプリケーションの取得に関する要求を外部サーバに送信し、前記ＮＦＣタグの読み取りを契機としたＮＦＣ連携処理を完了させるよう制御し、
前記データを受け取った前記第１のアプリケーションまたは前記第２のアプリケーションは、前記ＮＦＣインタフェースを用いた無線通信より通信速度が高速な第２の種類の無線通信を確立するハンドオーバー処理を実行し、前記確立した第２の種類の無線通信を用いて外部装置と通信し、前記制御手段によって依頼された前記ＮＦＣ連携処理を完了させることを特徴とする通信装置。
【請求項１０】
前記ＮＦＣタグに含まれるデータである前記第１のＮＤＥＦメッセージ及び第２のＮＤＥＦメッセージには、１つ以上のレコードが含まれており、１つのＮＤＥＦメッセージは１つのアプリケーションに関するレコードと、アプリケーションに通知すべき情報を記憶したレコードとが記憶されていることを特徴とする請求項９に記載の通信装置。
【請求項１１】
前記制御手段は、前記取得したアプリケーションの識別情報に対応する第１または第２のアプリケーションを起動する制御を行う場合に、当該起動するアプリケーションに、前記取得した識別情報が格納されているＮＤＥＦメッセージに含まれているアプリケーションに通知すべき情報を記憶したレコードの情報を送信し、前記識別情報が格納されていないＮＤＥＦメッセージに含まれるアプリケーションに通知すべき情報は送信しないことを特徴とする請求項１０に記載の通信装置。
【請求項１２】
前記制御手段による第１のアプリケーションまたは第２のアプリケーションの起動に失敗した場合に、エラーメッセージを操作部に表示する表示手段を更に有することを特徴とする請求項９乃至１１のいずれか１項に記載の通信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、近距離無線通信機能を備える通信装置、その制御方法、及びプログラムに関するものである。
【背景技術】
【０００２】
近年、様々な無線通信機能を備えた通信装置が市場に登場している。例えば、ＮＦＣ（Ｎｅａｒ  Ｆｉｅｌｄ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ）や無線ＬＡＮ、Ｂｌｕｅｔｏｏｔｈ（登録商標）などを搭載したスマートフォン等の通信装置及びプリンタ等の画像形成装置がある。特許文献１には、ＮＦＣ等の近距離無線通信機能を介して受信した情報を解析及び処理する通信装置が提案されている。具体的には、ＮＦＣを介して受信したデータを解析し、アプリケーションを自動的に実行することが提案されている。このような制御を実現するためには、通信装置は、ＮＤＥＦ（ＮＦＣ Ｄａｔａ Ｅｘｃｈａｎｇｅ Ｆｏｒｍａｔ）と呼ばれるデータフォーマットに応じた情報をＮＦＣを介して受け取る必要がある。通信装置は、ＮＤＥＦに従って定義されたデータ（ＮＤＥＦメッセージ）を受信すると、ＮＤＥＦの規則に従ってデータを解析し処理することで、様々なサービスを利用できるようになる。特許文献１の通信装置、ＮＤＥＦメッセージ内のアプリケーションを自動起動するレコードの記載情報に基づいてＮＤＥＦメッセージの情報を処理している。なお、ＮＤＥＦ及びＮＤＥＦレコードのフォーマット等の詳細は、標準団体であるＮＦＣフォーラムによって規定されている。
【０００３】
特許文献２には、ＮＦＣに対応したスマートフォンなどの通信装置から簡単に印刷を実行する画像形成装置が提案されている。当該画像形成装置は、通信装置がＮＦＣ通信圏内に位置したことを検知すると、ＮＦＣ通信を確立し、無線ＬＡＮなどのより高速な通信方式に移行するための情報交換を行う。さらに、画像形成装置は、交換した情報を用いて、通信装置との間で無線ＬＡＮなどのより高速な通信を確立し、当該通信により印刷データを受信して印刷を行う。このようにＮＦＣ通信で交換した接続情報を用いて無線ＬＡＮ接続を確立することを無線ハンドオーバーと称する。
【０００４】
無線ハンドオーバーの実現方法の１つとして、画像形成装置が接続しているアクセスポイントへの接続情報を、画像形成装置から通信装置にＮＦＣ通信で渡す方法が考えられる。通信装置は、受け取った接続情報を用いてアクセスポイントとの無線ＬＡＮ接続を確立し、それにより当該アクセスポイントを介して画像形成装置と通信可能となる。この方法において、ＮＦＣ通信で交換される接続情報には、無線ＬＡＮ通信上で当該アクセスポイントを一意に識別するためのＳＳＩＤ（Ｓｅｒｖｉｃｅ  Ｓｅｔ  Ｉｄｅｎｔｉｆｉｅｒ）が格納される。更に、当該アクセスポイントに設定されている認証方式、暗号方式、キーなどの情報も格納される。これらの接続情報は、画像形成装置のＮＦＣモジュールにＮＤＥＦとして予め格納されており、それを通信装置のＮＦＣモジュールが読み込むことで、通信装置において無線ハンドオーバー処理が実行される。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１３−４５４６２号公報
【特許文献２】特開２０１３−１８４２９６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記従来技術には以下に記載する問題がある。例えば、ＮＦＣを用いてサービスを提供する側が、複数のＮＤＥＦメッセージが記録されたデータを通信装置へ渡すことで、いずれかのＮＤＥＦメッセージに対応したアプリケーションを通信装置側で起動させたい場合がある。しかし、上記従来技術では、上述のような複数のＮＤＥＦメッセージを同時に通信装置で受信し、それに対応する何れかのアプリケーションを起動するといったケースが想定されていない。このようなケースの場合、上記従来技術においては、１つ目の情報に記載されたアプリケーションに連動するアプリケーションがあれば当該アプリケーションを起動するものの、そのようなアプリケーションが無ければ、その他の情報を参照することなくエラー終了してしまう。つまり、その他の情報が正しい場合であっても、当該他の情報が利用されず、好適にアプリケーションを起動することができない場合が発生してしまう。
【０００７】
本発明は、上述の問題に鑑みて成されたものであり、受信した近距離無線通信に関連するデータに含まれる複数のアプリケーションに関する情報の何れかを利用して、好適にアプリケーションを起動する仕組みを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明は、ＮＦＣインタフェースを備える通信装置のコンピュータに、前記ＮＦＣインタフェースを使用してＮＦＣタグを読み取って、前記ＮＦＣタグから第１のＮＤＥＦメッセージと第２のＮＤＥＦメッセージを含むデータを取得する取得工程と、前記取得したデータを解釈し、取得した前記第１のＮＤＥＦメッセージに含まれるアプリケーションの識別情報に対応する第１のアプリケーションが前記通信装置に存在するか否かを判断する第１の判断工程と、前記第１の判断工程で前記第１のアプリケーションが前記通信装置に存在すると判断された場合に、前記第１のアプリケーションが起動済みであるか否かを判断する第２の判断工程と、前記第２の判断工程で前記第１のアプリケーションが起動済みであると判断された場合に、前記第１のアプリケーションにデータを渡し、前記第２の判断工程で前記第１のアプリケーションが起動済みではないと判断された場合に、前記第１のアプリケーションを起動し、前記第１のアプリケーションにデータを渡す制御を行う制御工程と、を前記コンピュータに実行させるためのプログラムであって、前記制御工程はさらに前記第１の判断工程で前記第１のＮＤＥＦメッセージに含まれるアプリケーションの識別情報に対応する第１のアプリケーションが前記通信装置に存在しないと判断されたことに従っては、前記第１のＮＤＥＦメッセージに基づくＮＦＣ連携処理を行なうことなく、前記第２のＮＤＥＦメッセージに含まれるアプリケーションの識別情報に対応する第２のアプリケーションが前記通信装置に存在するか否かを判断し、当該判断で前記第２のアプリケーションが前記通信装置に存在すると判断された場合は、前記第２のアプリケーションが起動済みであるか否かを更に判断し、前記第２のアプリケーションが起動済みであると判断されたことに従って、前記第２のアプリケーションにデータを渡し、前記第２のアプリケーションが前記通信装置に存在し、かつ、起動済みではないと判断されたことに従って、前記第２のアプリケーションを起動し、前記第２のアプリケーションにデータを渡す制御を行うことで、前記制御工程は前記第１のアプリケーション又は第２のアプリケーションに前記取得したデータに基づくＮＦＣ連携処理を依頼する一方、前記第１のアプリケーションおよび前記第２のアプリケーションのどちらも前記通信装置に存在しないと判断されたことに従って、アプリケーションの取得に関する要求を外部サーバに送信し、前記ＮＦＣタグの読み取りを契機としたＮＦＣ連携処理を完了させるよう制御し、前記データを受け取った前記第１のアプリケーションまたは前記第２のアプリケーションは、前記ＮＦＣインタフェースを用いた無線通信より通信速度が高速な第２の種類の無線通信を確立するハンドオーバー処理を実行し、前記確立した第２の種類の無線通信を用いて外部装置と通信し、前記制御工程で依頼された前記ＮＦＣ連携処理を完了させることを特徴とする。
【発明の効果】
【０００９】
本発明によれば、受信した近距離無線通信に関連するデータに含まれる複数のアプリケーションに関する情報の何れかを利用して、好適にアプリケーションを起動することができる。
【図面の簡単な説明】
【００１０】
【図１】一実施形態に係る通信装置１００のハードウェアの構成例を示す図。
【図２】一実施形態に係る通信装置１００のソフトウェアの構成例を示す図。
【図３】一実施形態に係るＮＤＥＦメッセージ３００の一例を示す図。
【図４】一実施形態に係るＮＦＣデータ４００の一例を示す図。
【図５】一実施形態に係る通信装置１００のアプリケーション自動起動のフローチャート。
【図６】一実施形態に係る通信装置１００において画面表示されるエラーメッセージの一例を示す図。
【発明を実施するための形態】
【００１１】
以下、添付図面を参照して本発明の実施形態を詳しく説明する。なお、以下の実施形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
【００１２】
＜通信装置のハードウェア構成＞
以下では、図１乃至６を参照して、本発明の一実施形態について説明する。本実施形態では、以下のケースを想定している。即ち、ユーザが通信装置１００のＮＦＣ（Ｎｅａｒ  Ｆｉｅｌｄ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ）リーダー１０７を画像形成装置のＮＦＣにタッチし、画像形成装置からＮＦＣデータを受け取る。通信装置１００は、受け取ったＮＦＣデータ内のＮＤＥＦ（ＮＦＣ Ｄａｔａ Ｅｘｃｈａｎｇｅ Ｆｏｒｍａｔ）データに基づいて印刷アプリケーションＡ又はＢを自動的に実行する。そして、当該アプリケーションがハンドオーバーを実行して印刷ジョブに関連する情報を印刷装置に送信する。即ち、本実施形態によれば、通信装置１００は、外部装置である画像形成装置からＮＦＣデータを受信し、当該ＮＦＣデータに従って対応するアプリケーションを起動する。起動されたアプリケーションは、近距離無線通信を介して、画像形成装置が提供するサービスを利用する。
【００１３】
まず、図１を参照して、本実施形態に係る通信装置１００のハードウェア構成について説明する。通信装置１００は、携帯型の通信端末、例えば、スマートフォンや情報処理端末、携帯電話機等であってもよい。通信装置１００は、ＣＰＵ１０１、ＲＡＭ１０２、ＦｌａｓｈＲＯＭ１０３、マイク１０４、操作パネル１０５、ＬＡＮＩ／Ｆ１０６、ＮＦＣリーダー１０７、及びスピーカ１０８を備える。
【００１４】
ＣＰＵ１０１は、ＦｌａｓｈＲＯＭ１０３に記憶された制御プログラムを読み出して通信装置１００全体の動作を統括的に制御する。また、ＦｌａｓｈＲＯＭ１０３には、データや各種プログラム、或いは各種情報テーブルを記憶する。ＲＡＭ１０２は、ＣＰＵ１０１の主メモリ、ワークエリア等の一時領域として用いられる。操作パネル１０５は、操作画面や設定画面など、様々な種類の画面を表示する。また、操作パネル１０５は、タッチパネル機能を備え、ユーザがタッチ操作やドラッグ操作、フリック操作を行うことで様々な指示を通信装置１００に入力することができる。
【００１５】
ＬＡＮＩ／Ｆ１０６は、画像形成装置等の外部装置とＬＡＮ通信を実行する。例えば、ＣＰＵ１０１の制御に応じてＦｌａｓｈＲＯＭ１０３に保存されるデータを外部装置へ送信する。ＮＦＣリーダー１０７は、外部装置に備えられたＮＦＣからＮＤＥＦを読み出す。この読み出し処理は、外部装置のＮＦＣのＮＦＣ通信圏内に通信装置１００のＮＦＣリーダー１０７を位置させることで実行される。ここで、一般的にＮＦＣの通信圏内は、数センチ〜１０センチ程度の距離である。従って、ユーザがＮＤＥＦの読み出しを所望する場合、画像形成装置等の外部装置に備えられたＮＦＣに対して通信装置１００のＮＦＣリーダー１０７をタッチする、又は、かざす操作をすることとなる。
【００１６】
マイク１０４は、外部からの音声データの入力ために使用される。当該音声データは、ＣＰＵ１０１により処理される。スピーカ１０８は、ＣＰＵ１０１によって処理された音声データを再生するために使用される。当該音声データは、ＦｌａｓｈＲＯＭ１０３に保存されたものであっても、ＬＡＮＩ／Ｆ１０６から受け取ったものでもよい。また、それ以外の方法で生成されたデータであってもよい。
【００１７】
なお、通信装置１００は、１つのＣＰＵ１０１が１つのメモリ（ＲＡＭ１０２）を用いて後述する図５のフローチャートに示す処理を実行するものとするが、他の態様であってもよい。例えば、複数のＣＰＵや複数のメモリを協働させて後述する図５のフローチャートに示す処理を実行するようにしてもよい。
【００１８】
＜通信装置のソフトウェア構成＞
次に、図２を参照して、通信装置１００のソフトウェア構成について説明する。図２に示す各機能部は、ＣＰＵ１０１がＲＯＭ１０３やＦｌａｓｈＲＯＭ１０３に記憶された制御プログラムを実行することによって実現される。
【００１９】
通信装置１００は、操作制御部２０１、記憶部２０２、ＬＡＮ通信部２０３、ＮＦＣリーダー制御部２０４、アプリケーション部２０５、及びアプリ（アプリケーション）ＩＤ管理部２０７を備える。操作制御部２０１は、操作パネル１０５を制御し、例えば操作パネル１０５に操作画面を表示したり、表示した操作画面を介したユーザの指示の入力を受け付けたりする。また、操作制御部２０１は、受け付けたユーザの指示を他の機能部に通知したり、受け付けたユーザの指示に応じて表示する操作画面を更新したりする。
【００２０】
記憶部２０２は、他の機能部からの指示により、指定されたデータをＲＡＭ１０２やＦｌａｓｈＲＯＭ１０３に記憶したり、又は記憶しているデータを読み出したりする。また、後述するアプリケーション２０６とそれに対応するアプリＩＤ３１２と関連付けて管理する。関連付けられた情報は、ＲＯＭ１０３又はＨＤＤに格納される。
【００２１】
ＬＡＮ通信部２０３は、ＬＡＮＩ／Ｆ１０６が実行するＬＡＮ通信を制御する。ＮＦＣリーダー制御部２０４は、ＮＦＣリーダー１０７を制御する。アプリケーション部２０５は、複数のアプリケーションによって構成されている。本実施形態では、少なくとも１つ以上のアプリケーション２０６が存在するものとする。なお、アプリケーション部２０５にはその他の様々なアプリケーションが存在していてもよい。また、アプリケーション２０６は、公衆サーバーやオンプレミスサーバーなどに公開されており、ＬＡＮＩ／Ｆ１０６などからサーバーにアクセスすることで通信装置１００へインストール可能である。あるいは、アプリケーション２０６は、通信装置１００に予めプレインストールされていてもよい。
【００２２】
＜ＮＤＥＦメッセージ＞
次に、図３を参照して、本実施形態に係るＮＤＥＦメッセージ３００の一例について説明する。ＮＤＥＦメッセージ３００は、通信装置１００上のアプリケーションを起動するための起動レコード３０１と、アプリケーショが起動した後で処理を実行するためのデータが含まれるアプリ（アプリケーション）独自レコード３０２とから構成される。ここでいう通信装置１００上のアプリケーションとは、アプリケーション２０６に限ったものではなく、アプリケーション部２０５に存在する可能性のある複数のアプリケーションの内の１つを指す。
【００２３】
起動レコード３０１は、当該ＮＤＥＦメッセージを読み取った通信装置１００に対して、アプリケーション２０６を起動させるための指示情報を格納している。さらに、起動レコード３０１は、少なくともヘッダ３１１とアプリＩＤ３１２とから構成される。ここにおいて、ヘッダ３１１には、起動レコードのヘッダ情報が格納され、起動レコード３０１がアプリケーションを起動させる役割を果たすレコードである旨を指示する情報となる。また、アプリＩＤ３１２には、通信装置１００上のアプリケーションを特定するための情報が格納され、通信装置１００は、アプリＩＤ３１２の情報に基づいて起動するアプリケーションを決定する。なお、起動レコード３０１は、ＮＦＣフォーラムにより定められたフォーマットの情報が格納されているものとする。
【００２４】
アプリ独自レコード３０２は、前述の通り、起動レコード３０１に基づいて通信装置１００のアプリケーションが起動した後に、当該アプリケーションが目的の処理を実行するために必要となる情報を格納している。なお、アプリ独自レコード３０２は、アプリケーション毎にフォーマットを独自に規定できる。通信装置１００は、当該アプリケーションの起動後に、アプリ独自レコード３０２を使用して所望の処理を実行する。例えば、当該アプリケーションに無線ハンドオーバーを実行させる場合には、前述のアクセスポイントのＳＳＩＤや当該アクセスポイントに設定されている認証方式、暗号方式、及びキーなどの情報が格納される。
【００２５】
＜ＮＦＣデータ＞
次に、図４を参照して、本実施形態に係る画像形成装置が保持するＮＦＣデータ４００の一例について説明する。ＮＦＣデータ４００は、少なくとも１つ以上の複数のＮＤＥＦメッセージ３００から構成される。図４では、アプリケーションＡとアプリケーションＢに対応する２つのＮＤＥＦメッセージ３００ａ、３００ｂがＮＦＣデータ４００に格納されている例を示す。本実施形態においては、通信装置１００が外部装置からＮＦＣデータ４００を受け取る。また、通信装置１００は、受け取ったＮＦＣデータ４００を一時的に記憶部２０２に記憶する。
【００２６】
なお、本実施形態において、ＮＦＣデータ４００に対して２つのＮＤＥＦメッセージが含まれる理由は、以下の通りである。画像形成装置が印刷機能を提供するアプリケーションＡ又はアプリケーションＢに対応している場合、いずれかのアプリケーションを自動起動して無線ハンドオーバーを含む印刷機能を提供する。これにより、通信装置１００にアプリケーションＡ又はアプリケーションＢの少なくとも一方がインストールされていれば、画像形成装置の印刷機能を使用することが可能となる。つまり、このように複数のアプリケーションに対応するメッセージをそれぞれＮＦＣデータ４００に含ませることにより、相手先（通信装置）の仕様に応じてＮＦＣデータを切り替える必要がなくなる。これにより、画像形成装置においては、処理負荷を低減し、メモリ資源を効率的に利用することができる。
【００２７】
＜処理手順＞
次に、図５を参照して、本実施形態に係る通信装置１００のアプリケーション自動起動の処理手順について説明する。以下で説明する処理は、通信装置１００が外部端末から受信したＮＦＣデータに基づいてアプリケーションを自動起動させる処理と、例外発生時の処理との流れを示す。また、以下で説明する処理は、通信装置１００のＣＰＵ１０１がＦｌａｓｈＲＯＭ１０３に格納された制御プログラムをＲＡＭ１０２に読み出して実行することにより実現される。
【００２８】
まずＳ５０１で、ＮＦＣリーダー制御部２０４は、ＮＦＣリーダー１０７に対してリードが発生し、ＮＦＣリーダー１０７を介してＮＦＣデータ４００を受信したか否かを判定する。本処理は、例えば、ユーザが画像形成装置に対して通信装置１００をタッチすることで発生する。リードが発生していない場合（Ｓ５０１にてＮｏ）には、本判定処理を繰り返すことで、通信装置１００がＮＦＣデータ４００を受信するまで待機する。なお、ＮＦＣデータ４００のデータが空であった場合にも、リードが発生していないもの判断してもよい。
【００２９】
ＮＦＣデータを取得するとＳ５０２に進み、ＮＦＣリーダー制御部２０４は、ＮＤＥＦメッセージの解析処理を実行する。ここでは、ＮＦＣデータに含まれる複数のＮＤＥＦメッセージのうち、１つのメッセージについて解析する。なお、複数のＮＤＥＦメッセージからいずれのメッセージを解析するかの選択は、例えば、レコード順に行う方法でもよい。続いて、Ｓ５０３で、ＮＦＣリーダー制御部２０４は、当該解析結果に基づき、ＮＤＥＦメッセージの解析が成功したか否かを判定する。ここでは、ＮＦＣリーダー制御部２０４は、アプリケーションの自動起動を指示するＮＤＥＦメッセージであるか否かを、起動ヘッダ５１１を参照することによって判定する。ここで、ＮＤＥＦメッセージ３００の解析処理が成功した場合にはＳ５０４に進み、そうでない場合はＳ５０９に進む。
【００３０】
Ｓ５０４で、ＮＦＣリーダー制御部２０４は、記録部２０２が保持するアプリＩＤが管理された情報内に、受信したアプリＩＤ３１２に対応するアプリケーションが存在するか否かを判定する。対応するアプリケーションが存在する場合にはＳ５０５に進み、そうでない場合はＳ５０９に進む。本実施形態においては、通信装置１００にアプリケーションＡ又はアプリケーションＢがインストールされていれば、対応するアプリケーションが存在すると判定する。
【００３１】
ＮＤＥＦメッセージ３００の解析に失敗した場合又は受信したアプリＩＤ３１２に対応するアプリケーション２０６が存在しない場合、Ｓ５０９で、ＮＦＣリーダー制御部２０４は、次のＮＤＥＦメッセージ３００が存在するか否かを判定する。ここで、次のＮＤＥＦメッセージ３００が存在すれば、そのＮＤＥＦメッセージ３００に対して改めて解析処理が実行される。次のＮＤＥＦメッセージ３００が無い場合には、通信装置１００が処理するデータが存在しないため、アプリケーションの自動起動に関する処理を終了する。本実施形態においては、通信装置１００にアプリケーションＡ又はアプリケーションＢがインストールされていない場合が該当する。
【００３２】
受信したアプリＩＤ３１２に合致するアプリケーション２０６が存在する場合、Ｓ５０５で、ＮＦＣリーダー制御部２０４は、アプリケーション部２０５に対して当該アプリケーションが起動済みであるか否かを確認する。アプリケーションが実行済みである場合にはＳ５０６に進み、ＮＦＣリーダー制御部２０４は、アプリケーション部２０５に指示し、当該アプリケーション２０６に対してアプリケーションの動作に必要な情報であるアプリ独自レコード３０２を渡す。これにより、本実施形態においては、アプリケーションＡ又はアプリケーションＢがアプリ独自レコード３０２に格納された情報に基づいて無線ハンドオーバーを実施し、画像形成装置に対して印刷が実行される。
【００３３】
一方、当該アプリケーション２０６が実行されていない場合はＳ５０７に進み、ＮＦＣリーダー制御部２０４は、当該アプリケーション２０６を起動させる。続いて、Ｓ５０８で、ＮＦＣリーダー制御部２０４は、当該アプリケーションの起動に成功したか否かを判定する。起動に成功した場合はＳ５０６に進み、ＮＦＣリーダー制御部２０４は、アプリケーション部２０５に指示し、当該アプリケーション２０６に対して、処理に必要な情報であるアプリ独自レコード３０２を渡す。ここでは、当該レコードより前に記載された情報（読み飛ばしたレコード）は当該アプリケーションには渡さない。読み飛ばしたレコードとは、解析したものの対応するアプリケーションを保持していなかったメッセージのレコードに相当する。当該アプリケーションの起動に失敗した場合にはＳ５１０に進み、ＮＦＣリーダー制御部２０４は、通信装置１００がＮＦＣデータを処理できないため、アプリケーションの自動起動に失敗した旨の図６に示すエラーメッセージを操作パネル１０５等に出力し、処理を終了する。ただし、このエラーメッセージの出力は実行されなくともよい。図６に示すように、通信装置１００は、エラーメッセージとして、操作パネル１０５に当該エラーメッセージを含むメッセージ６００を表示していもよい。なお、ここでは、エラーメッセージを画面表示する例について説明したが、音声出力によってエラーメッセージを出力してもよい。
【００３４】
以上説明したように、本実施形態に係る通信装置は、近距離無線通信を介して外部装置から、複数のアプリケーションのそれぞれに対応するメッセージを含む、近距離無線通信に関連するデータを受信する。さらに、本通信装置は、受信したデータに含まれる複数のメッセージのうちの１つを解析し、解析したメッセージに対応するアプリケーションを保持していればアプリケーションを起動させ、保持していなければ解析していない他のメッセージを解析する。このように、本実施形態によれば、解析したメッセージに対応するアプリケーションを保持していなくとも、同時に受信した他のメッセージに対応するアプリケーションを保持していれば当該アプリケーションを起動することができる。つまり、本実施形態によれば、複数のＮＤＥＦメッセージを含むＮＦＣデータを受信した場合に、メッセージごとエラー終了することなく、ＮＦＣデータ全体で有効なメッセージがあればエラー終了することなく、その後の動作を継続して実行することができる。
【００３５】
なお、本発明は上記実施形態に限らず様々な変形が可能である。例えば、上記実施形態において、通信装置１００にアプリケーション２０６が存在しない場合にはエラーにせず、ＬＡＮＩ／Ｆ１０６を介して公衆サーバーに対してアプリケーション２０６の取得を実行してもよい。なお、公衆サーバーに限らずオンプレミスサーバー等の他の外部サーバーであってもよい。
【００３６】
＜その他の実施形態＞
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【符号の説明】
【００３７】
１００：通信装置、１０５：操作パネル、４０４：ＮＦＣデータ、６００：エラー表示
【図１】
0006571922.tif 000002
【図２】
0006571922.tif 000003
【図３】
0006571922.tif 000004
【図４】
0006571922.tif 000005
【図５】
0006571922.tif 000006
【図６】
0006571922.tif 000007