(57)【要約】【課題】情報処理装置に、リーダライタモード、およびピアツーピアモードの両方のＮＦＣ動作モードで動作させること。【解決手段】情報処理装置は、近距離無線通信によって読み取ったデータが、ピアツーピアモードによって読み取ったものであるかを判定するデータ形式判定部と、ピアツーピアモードによって読み取ったものであると判定した場合、データの属性情報に基づいて、該データを利用できるアプリケーションを特定するデータ属性判定部と、ピアツーピアモードによって読み取ったものでないと判定した場合、該データを読み取る際に使用された通信方式に基づいて、該データを利用できるアプリケーションを特定する通信方式判定部と、データ属性判定部によって特定したアプリケーション、または通信方式判定部によって特定したアプリケーションがデータを利用できるように処理するアプリ利用処理部とを有する。【選択図】図４
2015180039.tif 000002
【特許請求の範囲】
【請求項１】
近距離無線通信によって読み取ったデータが、該近距離無線通信におけるピアツーピアモードによって読み取ったものであるかどうかを判定するデータ形式判定部と、
前記データ形式判定部によって前記ピアツーピアモードによって読み取ったものであると判定した場合、前記データの属性情報に基づいて、該データを利用できるアプリケーションを特定するデータ属性判定部と、
前記データ形式判定部によって前記ピアツーピアモードによって読み取ったものでないと判定した場合、該データを読み取る際に使用された通信方式に基づいて、該データを利用できるアプリケーションを特定する通信方式判定部と、
前記データ属性判定部によって特定したアプリケーション、または前記通信方式判定部によって特定したアプリケーションが前記データを利用できるように処理するアプリ利用処理部と
を有する、情報処理装置。
【請求項２】
前記データ属性判定部は、フォアグラウンドに表示されているアプリケーションが前記データを利用できるかどうかを判定する、請求項１に記載の情報処理装置。
【請求項３】
前記通信方式判定部は、予め設定されるアプリケーションの利用に関する優先順位にしたがって、複数のアプリケーションから、前記データを利用できるアプリケーションを特定する、請求項１または２に記載の情報処理装置。
【請求項４】
前記アプリ利用処理部は、前記通信方式判定部によって特定したアプリケーションが複数ある場合に、該複数のアプリケーションのうち、一のアプリケーションが前記データを利用できるように処理し、該一のアプリケーション以外の他のアプリケーションは前記データを利用できないように処理する、請求項１または２に記載の情報処理装置。
【請求項５】
近距離無線通信によって読み取ったデータが、該近距離無線通信におけるピアツーピアモードによって読み取ったものであるかどうかを判定し、
前記ピアツーピアモードによって読み取ったものであると判定した場合、前記データの属性情報に基づいて、該データを利用できるアプリケーションを特定し、
前記ピアツーピアモードによって読み取ったものでないと判定した場合、該データを読み取る際に使用された通信方式に基づいて、該データを利用できるアプリケーションを特定し、
前記データの属性情報に基づいて特定したアプリケーション、または前記データを読み取る際に使用された通信方式に基づいて特定したアプリケーションが前記データを利用できるように処理する、情報処理方法。
【請求項６】
請求項５に記載の情報処理方法をコンピュータに実行させるためのプログラムを記録した記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置に関する。
【背景技術】
【０００２】
近距離無線通信(NFC: Near Field Communication)は、１３．５６ＭＨｚの電磁波を使用して、１０ｃｍ程度の狭い範囲で双方向通信を行う無線通信方式である。ＮＦＣは、エアーインタフェースとプロトコルがNFCIP-1 (Near Field Communication - Interface and Protocol- 1）(ISO/IEC 18092)として国際標準となり、その後、他のICカード(ISO/IEC 14443A/B、ISO/IEC 15693、ISO/IEC 18000-3）を含めNFCIP-2が制定されている。
【０００３】
ＮＦＣは複数の動作モードを有する。ＮＦＣの動作モードのうち、リーダライタモードでは、ＮＦＣカードなどのデバイスと、カードリーダ／ライタなどの読み取り／書き込み装置のアンテナ同士を数ｃｍ程度にまで近付けることによって、読み取り／書き込み装置にデバイスの情報を読み取らせることができる。また、ＮＦＣの動作モードのうち、ピアツーピアモードでは、ＮＦＣを搭載した機器間でピアツーピア通信を行うことができる。
【０００４】
ＮＦＣに関して、ＮＦＣデバイスと、ＮＦＣリーダ／ライタによって近距離通信し、ＮＦＣリーダ／ライタはＮＦＣデバイスから取得した認証情報に基づいて、認証処理を行う技術が知られている（例えば、特許文献１参照）。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ＮＦＣの動作モードのうち、リーダライタモードとピアツーピアモードを情報処理装置に共存させることを考える。
【０００６】
ＮＦＣカードなどのデバイスには、そのカードの識別情報を格納する領域に加え、課金情報などの他の情報を格納できる汎用領域が用意される。リーダライタモードでは、ＮＦＣカードなどのデバイスの汎用領域から情報を読み取ることができるが、その汎用領域から読み取った情報を使用するアプリケーションは１つとは限られない。つまり、ＮＦＣカードなどのデバイスから読み取った情報が複数のアプリケーションで使用される場合がある。このため、ＮＦＣカードなどのデバイスから読み取った情報を処理するアプリケーションを設定する必要がある。
【０００７】
一方で、ピアツーピアモードでは、ＮＦＣを搭載したデバイスの汎用領域から読み取った情報を使用するアプリケーションは１つであることが多い。
【０００８】
そこで、本発明は、情報処理装置に、リーダライタモード、およびピアツーピアモードの両方のＮＦＣ動作モードで動作させることを目的とする。
【課題を解決するための手段】
【０００９】
開示の一実施例の情報処理装置は、
近距離無線通信によって読み取ったデータが、該近距離無線通信におけるピアツーピアモードによって読み取ったものであるかどうかを判定するデータ形式判定部と、
前記データ形式判定部によって前記ピアツーピアモードによって読み取ったものであると判定した場合、前記データの属性情報に基づいて、該データを利用できるアプリケーションを特定するデータ属性判定部と、
前記データ形式判定部によって前記ピアツーピアモードによって読み取ったものでないと判定した場合、該データを読み取る際に使用された通信方式に基づいて、該データを利用できるアプリケーションを特定する通信方式判定部と、
前記データ属性判定部によって特定したアプリケーション、または前記通信方式判定部によって特定したアプリケーションが前記データを利用できるように処理するアプリ利用処理部と
を有する。
【発明の効果】
【００１０】
開示の実施例によれば、情報処理装置に、リーダライタモード、およびピアツーピアモードの両方のＮＦＣ動作モードで動作させることができる。
【図面の簡単な説明】
【００１１】
【図１】本実施形態に係る情報処理システムを示す図である。
【図２】本実施形態に係る複合装置のハードウェア構成を示す図である。
【図３】本実施形態に係る複合装置のソフトウェア構成を示す図である。
【図４】本実施形態に係る複合装置の機能ブロック図である。
【図５】ＮＤＥＦのデータ構造を例示した図である。
【図６】本実施形態に係る複合装置の動作の一実施例を示すフローチャートである。
【図７】本実施形態に係る複合装置の動作の一実施例を示すシーケンスチャートである。
【発明を実施するための形態】
【００１２】
次に、本発明を実施するための形態を、以下の実施例に基づき図面を参照しつつ説明する。以下で説明する実施例は一例に過ぎず、本発明が適用される実施の形態は、以下の実施例に限られない。
なお、実施例を説明するための全図において、同一機能を有するものは同一符号を用い、繰り返しの説明は省略する。
【００１３】
＜実施例＞
＜情報処理システム＞
図１は、本実施形態の情報処理システムを示す。
【００１４】
情報処理システムは、複合装置１００、情報端末２００、およびＩＣカード３００を有する。複合装置１００の一例は、プリンタ、スキャナ、コピー機、ファクシミリ、およびこれらの機能を備えるＭＦＰ(Multi Function Peripheral)である。また、複合装置１００は、印刷のほか、投影や表示などの画像形成機能を有しているプロジェクタや電子黒板装置などの装置も適用できる。
【００１５】
複合装置１００は、ネットワーク３０を介して認証サーバ４００と相互に接続される。ネットワーク３０は、特に限定されるものではないが、イーサネット（登録商標）やＴＣＰ／ＩＰ（Transmission Control Protocol / Internet Protocol）などのトランザクションプロトコルによるＬＡＮ（Local Area Network）、ＶＰＮ（Virtual Private Network）や専用線を使用して接続されるＷＡＮ（Wide Area Network）などによって構成することができる。
【００１６】
情報端末２００は、ＮＦＣに対応し、複合装置１００との間で、近距離無線通信を行う。情報端末２００に限らず、ＮＦＣに対応している機器であれば、ＰＣ、タブレット端末、スマートフォンなどを適用できる。
【００１７】
ＩＣカード３００は、ＮＦＣに対応し、複合装置１００との間で、近距離無線通信を行う。また、ＩＣカード３００は、ＩＣチップを内蔵し、該ＩＣチップに情報が記録される。ＩＣカード３００に限らず、ＮＦＣに対応しているものであれば、ＩＣタグなどを適用できる。
【００１８】
複合装置１００は、情報端末２００との間で近距離無線通信を行うことによって、該情報端末２００によって送信される画像情報などのデータを受信し、該データをアプリケーションソフトウェアが使用できるようにする。
【００１９】
また、複合装置１００は、ＩＣカード３００との間で近距離無線通信を行うことによって、該ＩＣカード３００によって送信される該ＩＣカード３００の識別情報などのデータを受信し、該データをアプリケーションソフトウェアが使用できるようにする。具体的には、複合装置１００にＩＣカードをかざすことによって、複合装置１００はＩＣカード３００に格納された識別情報を読み込むことができる。複合装置１００は、ＩＣカード３００の識別情報を認証サーバ４００に送信することによって、認証サーバ４００に認証を要求する。認証サーバ４００は、複合装置１００によって送信される識別情報に基づいて、ＩＣカード３００を携帯するユーザを認証する。認証サーバ４００は、登録済のカードＩＤ情報に、該識別情報が含まれるか否かを判断することによって、認証できる。認証サーバ４００は、認証が成功したか否かを複合装置１００に通知する。ただし、複合装置１００に認証サーバ４００と同様の機能を備えることによって、認証サーバ４００を使用することなくＩＣカード３００を携帯するユーザを認証することもできる。
【００２０】
＜複合装置１００のハードウェア構成＞
図２は、複合装置１００のハードウェア構成を示す。複合装置１００は、コピー機能、スキャナ機能、ファクス機能、プリンタ機能などの各種の機能を実現可能な本体１０と、ユーザの操作を受け付ける操作部２０とを備える。なお、ユーザの操作を受け付けるとは、ユーザの操作に応じて入力される情報（画面の座標値を示す信号などを含む）を受け付けることを含む概念である。本体１０と操作部２０は、専用の通信路３２を介して相互に通信可能に接続されている。通信路３２は、例えばＵＳＢ（Universal Serial Bus）規格のものを用いることもできるが、有線か無線かを問わず任意の規格のものであってよい。
【００２１】
なお、本体１０は、操作部２０で受け付けた操作に応じた動作を行うことができる。また、本体１０は、クライアントＰＣ（パーソナルコンピュータ）などの外部装置とも通信可能であり、外部装置から受信した指示に応じた動作を行うこともできる。
【００２２】
まず、本体１０のハードウェア構成について説明する。図２に示すように、本体１０は、ＣＰＵ１１と、ＲＯＭ１２と、ＲＡＭ１３と、ＨＤＤ（ハードディスクドライブ）１４と、通信Ｉ／Ｆ（インタフェース）１５と、接続Ｉ／Ｆ１６と、エンジン部１７とを備え、これらがシステムバス１８を介して相互に接続されている。
【００２３】
ＣＰＵ１１は、本体１０の動作を統括的に制御する。ＣＰＵ１１は、ＲＡＭ１３をワークエリア（作業領域）としてＲＯＭ１２またはＨＤＤ１４などに格納されたプログラムを実行することで、本体１０全体の動作を制御し、上述したコピー機能、スキャナ機能、ファクス機能、プリンタ機能などの各種機能を実現する。
【００２４】
通信Ｉ／Ｆ１５は、ネットワーク３０と接続するためのインタフェースである。接続Ｉ／Ｆ１６は、通信路３２を介して操作部２０と通信するためのインタフェースである。
【００２５】
エンジン部１７は、コピー機能、スキャナ機能、ファクス機能、および、プリンタ機能を実現させるための、汎用的な情報処理および通信以外の処理を行うハードウェアである。例えば、原稿の画像をスキャンして読み取るスキャナ（画像読取部）、用紙などのシート材への印刷を行うプロッタ（画像形成部）、ファクス通信を行うファクス部などを備えている。更に、印刷済みシート材を仕分けるフィニッシャや、原稿を自動給送するＡＤＦ（自動原稿給送装置）のような特定のオプションを備えることもできる。
【００２６】
次に、操作部２０のハードウェア構成について説明する。図２に示すように、操作部２０は、ＣＰＵ２１と、ＲＯＭ２２と、ＲＡＭ２３と、フラッシュメモリ２４と、通信Ｉ／Ｆ２５と、接続Ｉ／Ｆ２６と、操作パネル２７と、外部接続Ｉ／Ｆ２８と、ＮＦＣリーダ／ライタ３１とを備え、これらがシステムバス２９を介して相互に接続されている。
【００２７】
ＣＰＵ２１は、操作部２０の動作を統括的に制御する。ＣＰＵ２１は、ＲＡＭ２３をワークエリアとしてＲＯＭ２２またはフラッシュメモリ２４などに格納されたプログラムを実行することで、操作部２０全体の動作を制御し、ユーザから受け付けた入力に応じた情報（画像）の表示などの各種機能を実現する。
【００２８】
通信Ｉ／Ｆ２５は、ネットワーク３０と接続するためのインタフェースである。接続Ｉ／Ｆ２６は、通信路３２を介して本体１０と通信するためのインタフェースである。
【００２９】
操作パネル２７は、ユーザの操作に応じた各種の入力を受け付けるとともに、各種の情報（例えば受け付けた操作に応じた情報、複合装置１００の動作状況を示す情報、設定状態などを示す情報など）を表示する。この例では、操作パネル２７は、タッチパネル機能を搭載した液晶表示装置(LCD: Liquid Crystal Display)で構成されるが、これに限られるものではない。例えばタッチパネル機能が搭載された有機ＥＬ（Electro Luminescence）表示装置で構成されてもよい。さらに、これに加えてまたはこれに代えて、ハードウェアキーなどの操作部やランプなどの表示部を設けることもできる。
【００３０】
外部接続Ｉ／Ｆ２８は、ＩＣカードリーダー等の外部装置と接続するためのインタフェースである。
【００３１】
ＮＦＣリーダ／ライタ３１は、１３．５６ＭＨｚの周波数を利用して、情報端末２００や、ＩＣカード３００と近距離無線通信を行う。
【００３２】
＜複合装置１００のソフトウェア構成＞
図３は、複合装置１００のソフトウェア構成の一例を示す。
【００３３】
図３に示すように、本体１０は、アプリ層１０１と、サービス層１０２と、ＯＳ(Operating System)層１０３とを有する。アプリ層１０１、サービス層１０２、および、ＯＳ層１０３の実体は、ＲＯＭ１２やＨＤＤ１４などに格納されている各種ソフトウェアである。ＣＰＵ１１が、これらのソフトウェアを実行することにより、各種の機能が提供される。
【００３４】
アプリ層１０１のソフトウェアは、ハードウェア資源を動作させて所定の機能を提供するためのアプリケーションソフトウェア（以下の説明では、単に「アプリ」と称する場合がある）である。例えばアプリとしては、コピー機能を提供するためのコピーアプリ、スキャナ機能を提供するためのスキャナアプリ、ファクス機能を提供するためのファクスアプリ、プリンタ機能を提供するためのプリンタアプリなどが挙げられる。さらに、アプリとしては、情報端末２００およびＩＣカード３００によって送信され、ＮＦＣリーダ／ライタ３１によって読み取られたデータを利用するものが含まれる。例えば、情報端末２００によって送信された画像情報などのデータを使用するアプリ、ＩＣカード３００によって送信された識別情報および課金情報を使用する認証アプリおよび課金処理アプリなどが含まれる。
【００３５】
サービス層１０２のソフトウェアは、アプリ層１０１とＯＳ層１０３との間に介在し、アプリ層１０１のアプリに対し、本体１０が備えるハードウェア資源を利用するためのインタフェースを提供するためのソフトウェアである。より具体的には、ハードウェア資源に対する動作要求の受付、動作要求の調停を行う機能を提供するためのソフトウェアである。サービス層１０２が受け付ける動作要求としては、スキャナによる読み取りやプロッタによる印刷等の要求が考えられる。
【００３６】
なお、サービス層１０２によるインタフェースの機能は、本体１０のアプリ層１０１だけではなく、操作部２０のアプリ層２０１に対しても提供される。すなわち、操作部２０のアプリ層２０１（アプリ）も、サービス層１０２のインタフェース機能を介して、本体１０のハードウェア資源（例えばエンジン部１７）を利用した機能を実現することができる。
【００３７】
ＯＳ層１０３のソフトウェアは、本体１０が備えるハードウェアを制御する基本機能を提供するための基本ソフトウェア（オペレーティングシステム）である。サービス層１０２のソフトウェアは、各種アプリからのハードウェア資源の利用要求を、ＯＳ層１０３が解釈可能なコマンドに変換してＯＳ層１０３に渡す。そして、ＯＳ層１０３のソフトウェアによりコマンドが実行されることで、ハードウェア資源は、アプリの要求に従った動作 を行う。
【００３８】
同様に、操作部２０は、アプリ層２０１と、サービス層２０２と、ＯＳ層２０３とを有する。操作部２０が備えるアプリ層２０１、サービス層２０２およびＯＳ層２０３も、階層構造については本体１０側と同様である。ただし、アプリ層２０１のアプリにより提供される機能や、サービス層２０２が受け付け可能な動作要求の種類は、本体１０側とは異なる。アプリ層２０１のアプリは、操作部２０が備えるハードウェア資源を動作させて所定の機能を提供するためのソフトウェアであってもよいが、主として本体１０が備える機能（コピー機能、スキャナ機能、ファクス機能、プリンタ機能）に関する操作や表示を行うためのＵＩ（ユーザインタフェース）の機能を提供するためのソフトウェアである。
【００３９】
なお、本実施形態では、機能の独立性を保つために、本体１０側のＯＳ層１０３のソフトウェアと操作部２０側のＯＳ層２０３のソフトウェアが互いに異なる。つまり、本体１０と操作部２０は、別々のオペレーティングシステムで互いに独立して動作する。例えば 、本体１０側のＯＳ層１０３のソフトウェアとしてＬｉｎｕｘ（登録商標）を用い、操作部２０側のＯＳ層２０３のソフトウェアとしてＡｎｄｒｏｉｄ（登録商標）を用いることも可能である。
【００４０】
以上のように、本実施形態の複合装置１００において、本体１０と操作部２０は別々のオペレーティングシステムで動作するため、本体１０と操作部２０との間の通信は、共通の装置内のプロセス間通信ではなく、異なる装置間の通信として行われる。操作部２０が受け付けた情報（ユーザからの指示内容）を本体１０へ伝達する動作（コマンド通信）や、本体１０が操作部２０へイベントを通知する動作などがこれに該当する。ここでは、操作部２０が本体１０へコマンド通信を行うことにより、本体１０の機能を使用することができる。また、本体１０から操作部２０に通知するイベントには、本体１０における動作の実行状況、本体１０側で設定された内容などが挙げられる。
【００４１】
また、本実施形態では、操作部２０に対する電力供給は、本体１０から通信路３２を経由して行われているので、操作部２０の電源制御を、本体１０の電源制御とは別に（独立して）行うことができる。
【００４２】
＜複合装置１００の機能構成＞
次に、複合装置１００の機能構成について説明する。図４は、複合装置１００の機能構成の一例を示す機能ブロック図である。説明の便宜上、図４では、本発明に係る機能を主に例示しているが、複合装置１００が有する機能は、これらに限られるものではない。
【００４３】
複合装置１００は、データ形式判定部２１２と、データ属性判定部２１４と、通信方式判定部２１６と、アプリ利用処理部２１８とを有する。
【００４４】
データ形式判定部２１２は、ＮＦＣリーダ／ライタ３１によって読み取られたデータ（以下、「読み込みデータ」という）の形式を判定する。ＮＦＣリーダ／ライタ３１によって読み取られたデータは、情報端末２００に格納されたデータ、及びＩＣカード３００に格納されたデータである。具体的には、データ形式判定部２１２は、読み込みデータの形式が、ＮＤＥＦ(NFC Data Exchange Format)と呼ばれる形式であるか否かを判定する。これによって、読み込みデータがピアツーピアモードによって情報端末２００からＮＦＣリーダ／ライタ３１に送信されたデータであるかどうかを判定できる。
【００４５】
図５は、ＮＤＥＦ形式のデータ構造の一例を示す。
【００４６】
ＮＤＥＦ形式のデータ構造を有するＮＤＥＦメッセージは、複数のＮＤＥＦレコードから構成される。図５に示される例では、ＮＤＥＦメッセージは、ＮＤＥＦ  ＲＥＣＯＲＤ［０］−ＮＤＥＦ  ＲＥＣＯＲＤ［５］によって構成される。ＮＤＥＦメッセージは、１−５個のＮＤＥＦ  ＲＥＣＯＲＤによって構成することも、７個以上のＮＤＥＦ  ＲＥＣＯＲＤによって構成することもできる。
【００４７】
各ＮＤＥＦレコードは、ＭＢ(Message Begin)、ＭＥ(Message End)、ＣＦ(Chunked Flag)、ＳＲ(Short Record)、ＩＬ(ID Length)と呼ばれる５つのフラグを有する。ＭＢはＮＤＥＦメッセージの最初のＮＤＥＦレコードであるかどうかを示し、ＭＥはＮＤＥＦメッセージの最後のＮＤＥＦレコードであるかどうかを示す。ＣＦは分割されたレコードであるかどうかを示し、ＳＲはペイロード（データ本体）が２５５バイト以下であるかどうかを示す。ＩＬは、後述するＩＤ ＬＥＮＧＴＨおよびＩＤが存在するかどうかを示す。
【００４８】
さらに、各ＮＤＥＦレコードは、ＴＮＦ、ＴＹＰＥ ＬＥＮＧＴＨ、ＰＡＹＬＯＡＤ ＬＥＮＧＴＨ、ＩＤ ＬＥＮＧＴＨ、ＴＹＰＥ、ＩＤ、ＰＡＹＬＯＡＤと呼ばれる７つのフィールドを有する。ＴＮＦは、ＴＹＰＥ、ＩＤ、ＰＡＹＬＯＡＤに付帯されるデータの種類を示し、ＴＹＰＥ ＬＥＮＧＴＨ、ＰＡＹＬＯＡＤ ＬＥＮＧＴＨ、ＩＤ ＬＥＮＧＴＨは、ＴＹＰＥ、ＰＡＹＬＯＡＤ、ＩＤに付帯されるデータの長さを示す。ＴＹＰＥは、ペイロードの種類を示し、ＩＤは、アプリがペイロードを識別するための識別情報である。
【００４９】
ＮＤＥＦメッセージの一例は、ＮＤＥＦ  ＲＥＣＯＲＤ［０］にデータのＭＩＭＥ＿ＴＹＰＥが格納され、ＮＤＥＦ  ＲＥＣＯＲＤ［１］以降にデータ本体が格納される。具体的には、ＮＤＥＦ  ＲＥＣＯＲＤ［０］のＴＮＦに「ＴＮＦ＿ＭＩＭＥ＿ＭＥＤＩＡ」が付帯され、ＴＹＰＥに「ＴＥＸＴ」が付帯され、ＰＡＹＬＯＡＤに「ＭＦＰ＿ＤＡＴＡ」が格納される。ＴＮＦに「ＴＮＦ＿ＭＩＭＥ＿ＭＥＤＩＡ」が付帯されることによって、データの種類が指定される。ＮＤＥＦ  ＲＥＣＯＲＤ［１］およびＮＤＥＦ  ＲＥＣＯＲＤ［２］のＴＮＦに「ＵＮＫＮＯＷＮ」が付帯され、ＴＹＰＥに「ＴＥＸＴ」が付帯され、ＰＡＹＬＯＡＤに「データ本体の一部」が格納される。
【００５０】
図４に戻り説明を続ける。データ形式判定部２１２は、読み込みデータの形式が、図５に示されるＮＤＥＦメッセージの形式と一致するか否かを判定することによって、その読み込みデータの形式がＮＤＥＦ形式であるか否かを判定できる。さらに、データ形式判定部２１２は、読み込みデータの形式がＮＤＥＦ形式である場合には読み込みデータの形式がＮＤＥＦ形式であることをデータ属性判定部２１４に通知し、読み込みデータの形式がＮＤＥＦ形式でない場合には読み込みデータの形式がＮＤＥＦ形式でないことを通信方式判定部２１６に通知する。
【００５１】
データ属性判定部２１４は、読み込みデータのデータ属性に基づいて、該読み込みデータのデータ属性のデータを扱うアプリがあるか否かを判定する。データ属性判定部２１４は、アプリ層１０１の各アプリの定義ファイルを参照することができる。定義ファイルは、マニフェストと呼ばれることもある。
【００５２】
定義ファイルには、アプリに関する必要不可欠な属性情報が含まれる。定義ファイルに含まれる情報がＣＰＵ１１又は２１に伝えられることによって、ＣＰＵ１１又は２１は、アプリを実行することができる。属性情報には、扱うことができるデータの形式（フォーマット）やテキストデータなどのデータタイプを表す情報、及び通信方式を表す情報、そのアプリがフォアグラウンド表示されている場合には、フォアグラウンド表示されていることを表す情報が記述されている。フォアグラウンド表示されていることによって、該フォアグラウンド表示されているアプリはアクティブな状態であることが分かる。データ属性判定部２１４は、各アプリの定義ファイルを参照し、アプリの各々について、扱うことができるデータの形式やタイプを特定するとともに、フォアグラウンド表示されているか否かを表す情報を取得する。
【００５３】
データ属性判定部２１４は、データ形式判定部２１２によって読み込みデータの形式がＮＤＥＦ形式であることが通知されると、その読み込みデータのＰＡＹＬＯＡＤに付帯されているデータのタイプを表す情報を取得する。データ属性判定部２１４は、読み込みデータの形式やタイプが、フォアグラウンド表示されているアプリによって扱うことができるデータの形式やタイプと一致するかどうかを判定し、一致する場合には、アプリ利用処理部２１８に一致することを通知する。ピアツーピアモードは一対一の通信であるため、読み込みデータを扱うことができるアプリが複数存在しても、どのアプリに利用させるかを決定できない。そこで、フォアグラウンド表示されているアプリによって読み込みデータの形式やタイプが扱うことができるデータの形式やタイプと一致するかどうかを判定することによって、ピアツーピアモードで送信された読み込みデータを利用できるかどうかを判定する。
【００５４】
通信方式判定部２１６は、データ形式判定部２１２によって読み込みデータの形式がＮＤＥＦ形式でないことが通知されると、その読み込みデータの通信方式を判定する。つまり、リーダライタモードで読み込みデータを送信したＩＣカード３００の通信方式を判定する。具体的には、通信方式判定部２１６は、読み込みデータの通信方式が、ISO/IEC 14443 Type A、Type B、FeliCa（登録商標）などのいずれであるかを判定できる。通信方式判定部２１６は、読み込みデータの通信方式が、アプリによって扱うことができる通信方式と一致するかどうかを判定し、一致する場合には、アプリ利用処理部２１８に一致することを通知する。
【００５５】
アプリ利用処理部２１８は、読み込みデータがアプリに利用できるように処理する。アプリ利用処理部２１８は、ディスパッチャーによって実現することができ、読み込みデータを、該読み込みデータを利用することができるアプリに通知する。読み込みデータが利用できることを通知されたアプリは、通知されたアプリを取得し、処理できる。
【００５６】
具体的に説明する。図４には、読み込みデータを使用するアプリの候補として、第１のアプリ５０２、第２のアプリ５０４、第３のアプリ５０６、および第４のアプリ５０８が、複合装置１００にインストールされている。第１のアプリ５０２および第２のアプリ５０４はピアツーピアモードで動作し、第３のアプリ５０６および第４のアプリ５０８はリーダライタモードで動作する。ここでは、第１のアプリ５０２がフォアグラウンド表示されていると仮定する。また、第３のアプリ５０６は認証アプリであり、第４のアプリ５０８は課金処理アプリであり、第３のアプリ５０６は、第４のアプリ５０８より処理に関しての優先順位が高いように設定されていると仮定する。ここで示した、アプリは一例であり、複合装置１００に１個−３個のアプリをインストールすることも、５個以上のアプリをインストールすることもできる。さらに、上述したアプリとは異なるアプリをインストールできる。
【００５７】
アプリ利用処理部２１８は、データ属性判定部２１４によって読み込みデータの形式やタイプが、フォアグラウンド表示されている第１のアプリ５０２によって扱うことができるデータの形式やタイプと一致することが通知されると、読み込みデータが利用できることを該フォアグラウンド表示されている第１のアプリ５０２に通知し、該読み込みデータが第１のアプリ５０２で使用できるように処理する。これによって、フォアグラウンド表示されている第１のアプリ５０２は、読み込みデータを取得し、処理することができる。
【００５８】
また、アプリ利用処理部２１８は、通信方式判定部２１６によって読み込みデータの通信方式が、アプリによって扱うことができる通信方式と一致することが通知されると、該アプリの処理に関しての優先順位が高い場合に、その読み込みデータを利用できることを通知する。ここでは、読み込みデータの通信方式が、第３のアプリ５０６によって扱うことができる通信方式と一致することが通知された場合に、第３のアプリ５０６にその読み込みデータを利用できることを通知する。これによって、読み込みデータを利用できることを通知された第３のアプリ５０６は読み込みデータを取得し、処理てきる。
【００５９】
アプリに処理に関しての優先順位を登録できることによって、ＩＣカード３００に格納された情報を複数のアプリで使用できる場合に、認証処理などの最初に行われる処理を行った後に、課金処理などの他の処理を実行できる。
【００６０】
上述した複合装置１００の各部の機能（データ形式判定部２１２、データ属性判定部２１４、通信方式判定部２１６、アプリ利用処理部２１８）は、ＣＰＵ１１又は１２が、ＲＯＭ１２、ＨＤＤ１４、ＲＯＭ２２、フラッシュメモリ２４等の記憶装置に格納されたプログラムを実行することにより実現される。しかし、これに限らず、例えば、複合装置１００の各部の機能のうちの少なくとも一部が専用のハードウェア回路（例えば半導体集積回路等）で実現されてもよい。
【００６１】
また、上述の実施形態では、本体１０と操作部２０は、別々のオペレーティングシステムで互いに独立して動作しているが、これに限らず、例えば本体１０と操作部２０が同じオペレーティングシステムで動作する形態であってもよい。
【００６２】
また、上述した実施形態の複合装置１００で実行されるプログラムは、インストール可能な形式または実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ（Ｄｉｇｉｔａｌ Ｖｅｒｓａｔｉｌｅ Ｄｉｓｋ）、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ Ｓｅｒｉａｌ Ｂｕｓ）等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよいし、インターネット等のネットワーク経由で提供または配布するように構成してもよい。また、各種プログラムを、ＲＯＭ等の不揮発性の記録媒体に予め組み込んで提供するように構成してもよい。
【００６３】
＜複合装置１００の動作＞
図６は、複合装置１００の動作の一実施例を示すフローチャートである。
【００６４】
ステップＳ６０２では、複合装置１００のデータ形式判定部２１２は、ＮＦＣリーダ／ライタ３１によって読み取られた読み込みデータの形式を判定する。
【００６５】
ステップＳ６０４では、複合装置１００のデータ形式判定部２１２は、読み込みデータの形式がＮＤＥＦであるかどうかを判定する。
【００６６】
ステップＳ６０６では、読み込みデータの形式がＮＤＥＦである場合、データ属性判定部２１４は、定義ファイルを参照し、フォアグラウンド表示されているアプリがあるか否かを判定する。フォアグラウンド表示されているアプリがない場合には終了する。
【００６７】
ステップＳ６０８では、フォアグラウンド表示されているアプリがある場合、データ属性判定部２１４は、読み込みデータのペイロードに記述されているデータのタイプを取得する。データ属性判定部２１４は、アプリの定義ファイルを参照し、読み込みデータの形式およびタイプが、フォアグラウンド表示されているアプリが扱うことのできる形式およびタイプと一致するかどうかを判定する。読み込みデータの形式およびタイプが、フォアグラウンド表示されているアプリが扱うことのできる形式およびタイプと一致しない場合には終了する。
【００６８】
ステップＳ６１０では、アプリ利用処理部２１８は、読み込みデータの形式およびタイプが、フォアグラウンド表示されているアプリが扱うことのできる形式およびタイプと一致する場合、フォアグラウンド表示されているアプリが読み込みデータを利用できるように処理する。
【００６９】
ステップＳ６１２では、読み込みデータの形式がＮＤＥＦではない場合、通信方式判定部２１６は、読み込みデータの通信方式を特定する。
【００７０】
ステップＳ６１４では、通信方式判定部２１６は、優先して利用するアプリとして登録されているアプリがあるかどうかを判定する。
【００７１】
ステップＳ６１６では、優先して利用するアプリとして登録されているアプリがある場合、通信方式判定部２１６は、優先して利用するアプリとして登録されているアプリが扱うことのできる通信方式と読み込みデータの通信方式が一致するかどうかを判定する。優先して利用するアプリとして登録されているアプリが扱うことのできる通信方式と読み込みデータの通信方式が一致しない場合には終了する。
【００７２】
ステップＳ６１８では、優先して利用するアプリとして登録されているアプリが扱うことのできる通信方式と読み込みデータの通信方式が一致する場合、通信方式判定部２１６は、優先して利用するアプリとして登録されているアプリが読み込みデータを利用できるように処理する。
【００７３】
ステップＳ６２０では、優先して利用するアプリとして登録されているアプリがない場合、通信方式判定部２１６は、読み込みデータの通信方式を扱うことができるアプリがあるかどうかを判定する。読み込みデータの通信方式を扱うことができるアプリがない場合には終了する。
【００７４】
ステップＳ６２２では、読み込みデータの通信方式を扱うことができるアプリがある場合、通信方式判定部２１６は、読み込みデータの通信方式を扱うことができるアプリが一つであるかどうかを判定する。
【００７５】
ステップＳ６２４では、読み込みデータの通信方式を扱うことができるアプリが一つである場合、アプリ利用処理部２１８は、読み込みデータの通信方式を扱うことができるアプリが読み込みデータを利用できるように処理する。
【００７６】
ステップＳ６２６では、読み込みデータの通信方式を扱うことができるアプリが一つでない場合、アプリ利用処理部２１８は、読み込みデータの通信方式を扱うことができる複数のアプリが読み込みデータを利用できるように処理する。この処理については、後述する。
【００７７】
図７は、図６のステップＳ６２６で、読み込みデータの通信方式を扱うことができるアプリが一つでないと判定され、アプリ利用処理部２１８が、読み込みデータの通信方式を扱うことができる複数のアプリが読み込みデータを利用できるように処理するフローを示す。アプリ利用処理部２１８は、複数のアプリに読み込みデータが利用できることを通知する。読み込みデータが利用できることを通知された複数のアプリは、データロック要求を送信する。アプリ利用処理部２１８は、読み込みデータが利用できることを通知した複数のアプリのうち、データロックを最初に受信したアプリを選択する。これによって、複合装置１００は、読み込みデータを利用することができるアプリが複数ある場合に、排他制御を実行できる。
【００７８】
図７に示される例では、読み込みデータの通信方式を扱うことができるアプリが、アプリＡ２５２、及びアプリＢ２５４の２個のアプリであると判定された場合の処理を示す。読み込みデータの通信方式を扱うことができるアプリが２個に限らず、３個以上の場合にも適用できる。
【００７９】
ステップＳ７０２では、アプリ利用処理部２１８は、アプリＢ２５４に読み込みデータが利用できることを表す、読み込みデータ利用可能通知を送信する。読み込みデータは、ＮＦＣリーダ／ライタ３１のデバイスドライバから入力されるものである。
【００８０】
ステップＳ７０４では、アプリ利用処理部２１８は、アプリＡ２５２に読み込みデータ利用可能通知を送信する。
【００８１】
ステップＳ７０６では、アプリＡ２５２は、アプリ利用処理部２１８にデータロック要求を送信する。このデータロック要求には、アプリＡ２５２のアプリＩＤなどのアプリの識別情報が付帯される。
【００８２】
ステップＳ７０８では、アプリ利用処理部２１８は、アプリＡ２５２にデータロック要求に応じることができることを通知する。
【００８３】
ステップＳ７１０では、アプリ利用処理部２１８は、アプリＡ２５２が読み込みデータを利用できるようにデータロックを行う。
【００８４】
ステップＳ７１２では、アプリＢ２５４は、アプリ利用処理部２１８にデータロック要求を送信する。このデータロック要求には、アプリＢ２５４のアプリＩＤなどのアプリの識別情報が付帯される。
【００８５】
ステップＳ７１４では、アプリ利用処理部２１８は、アプリＡ２５２が読み込みデータを利用できるようにデータロックを行った後であるため、アプリＢ２５４にデータロック要求に応じることができないことを通知する。
【００８６】
ステップＳ７１６では、アプリＡ２５２は、アプリ利用処理部２１８にデータ取得要求を送信する。このデータ取得要求には、アプリＡ２５２のアプリＩＤなどのアプリの識別情報が付帯される。
【００８７】
ステップＳ７１８では、アプリ利用処理部２１８は、アプリＡ２５２にデータ取得要求によって要求されたデータを送信する。
【００８８】
ステップＳ７２０では、アプリＡ２５２は、アプリ利用処理部２１８にデータアンロック要求を送信する。このデータアンロック要求には、アプリＡ２５２のアプリＩＤなどのアプリの識別情報が付帯される。
【００８９】
ステップＳ７２２では、アプリ利用処理部２１８は、データアンロックを行う。
【００９０】
ステップＳ７２４では、アプリ利用処理部２１８は、アプリＡ２５２に読み込みデータ利用可能通知を送信する。
【００９１】
ステップＳ７２６では、アプリ利用処理部２１８は、アプリＢ２５４に読み込みデータが利用できることを表す、読み込みデータ利用可能通知を送信する。
【００９２】
ステップＳ７２８では、アプリＢ２５４は、アプリ利用処理部２１８にデータロック要求を送信する。このデータロック要求には、アプリＢ２５４のアプリＩＤなどのアプリの識別情報が付帯される。
【００９３】
ステップＳ７３０では、アプリ利用処理部２１８は、アプリＢ２５４にデータロック要求に応じることができることを通知する。
【００９４】
ステップＳ７３２では、アプリ利用処理部２１８は、アプリＢ２５４が読み込みデータを利用できるようにデータロックを行う。
【００９５】
ステップＳ７３４では、アプリＢ２５４は、アプリ利用処理部２１８にデータ取得要求を送信する。このデータ取得要求には、アプリＢ２５４のアプリＩＤなどのアプリの識別情報が付帯される。
【００９６】
ステップＳ７３６では、アプリ利用処理部２１８は、アプリＢ２５４にデータ取得要求によって要求されたデータを送信する。
【００９７】
ステップＳ７３８では、アプリＢ２５４は、アプリ利用処理部２１８にデータアンロック要求を送信する。このデータアンロック要求には、アプリＢ２５４のアプリＩＤなどのアプリの識別情報が付帯される。
【００９８】
図７に示すシーケンスチャートのステップＳ７２８において、仮にアプリＡ２５２がデータロックを送信してきた場合には、アプリＡ２５２が連続して読み込みデータを取得することになるので、アプリＡ２５２によって送信されるデータロック要求に対して、データロック要求に応じることができないことを通知することもできる。これによって、あるアプリが連続して読み取りデータを処理することを防止できる。
【００９９】
複合装置１００の一実施例によれば、ＮＦＣリーダ／ライタによって読み取った読み込みデータがピアツーピアモードで読み取られたデータであるかどうかを判定する。読み込みデータがピアツーピアモードで読み取られたと判定した場合、その読み込みデータを利用できるアプリに利用可能であることを通知する。また、ピアツーピアモードで読み取られたものでないと判定した場合、その読み込みデータが送信された通信方式に基づいて、その通信方式に対応したアプリに利用可能であることを通知する。これによって、複合装置１００をリーダライタモード、およびピアツーピアモードの両方のＮＦＣ動作モードで動作させることができる。
【０１００】
さらに、リーダライタモードで読み取られた読み込みデータが利用可能であることを複数のアプリに通知した際に、最初に応答したアプリのみが利用可能することによって排他制御を行うことによって、複数のアプリが読み込みデータを利用できるようにできる。
【０１０１】
複合装置は情報処理装置の一例であり、ＮＦＣは近距離無線通信の一例である。
【０１０２】
本発明は特定の実施例、変形例を参照しながら説明されてきたが、各実施例、変形例は単なる例示に過ぎず、当業者は様々な変形例、修正例、代替例、置換例などを理解するであろう。説明の便宜上、本発明の実施例に従った装置は機能的なブロック図を用いて説明されたが、そのような装置はハードウェアで、ソフトウエアでまたはそれらの組み合わせで実現されてもよい。本発明は上記実施例に限定されず、本発明の精神から逸脱することなく、様々な変形例、修正例、代替例、置換例などが包含される。
【符号の説明】
【０１０３】
１０            本体
１１、２１      ＣＰＵ
１２、２２      ＲＯＭ
１３、２３      ＲＡＭ
１４            ＨＤＤ
１５、２５      通信Ｉ／Ｆ
１６、２６      接続Ｉ／Ｆ
１７            エンジン部
１８、２９      システムバス
２０            操作部
２４            フラッシュメモリ
２７            操作パネル
２８            外部接続Ｉ／Ｆ
３０            ネットワーク
３１            ＮＦＣリーダ／ライタ
３２            通信路
１００          複合装置
２００          情報端末
２１２          データ形式判定部
２１４          データ属性判定部
２１６          通信方式判定部
２１８          アプリ利用処理部
３００          ＩＣカード
４００          認証サーバ
【先行技術文献】
【特許文献】
【０１０４】
【特許文献１】特開２０１１−２４３０１７号公報
【図１】
2015180039.tif 000003
【図２】
2015180039.tif 000004
【図３】
2015180039.tif 000005
【図４】
2015180039.tif 000006
【図５】
2015180039.tif 000007
【図６】
2015180039.tif 000008
【図７】
2015180039.tif 000009