(58)【調査した分野】(Int.Cl.,DB名)
前記通信装置は、前記書き込み順序に基づいて、前記複数の処理装置それぞれから取得された識別情報から1の識別情報を選択し、選択した前記1の識別情報を記憶する記憶部を備える処理装置に前記コマンドを出力する、
請求項1に記載の情報処理システム。
前記通信装置は、前記所定の情報が前記外部装置にとって任意の識別情報を前記外部装置が指定するための情報である場合、前記書き込み順序の最も早い識別情報を前記1の識別情報として選択する、
請求項3に記載の情報処理システム。
前記通信装置は、前記所定の情報が前記外部装置により識別情報の全体を特定するための情報である場合、前記所定の情報により全体が前記外部装置によって特定された識別情報を前記1の識別情報として選択する、
請求項3に記載の情報処理システム。
前記通信装置は、前記所定の情報が、前記外部装置により識別情報の一部を特定し、かつ、前記識別情報のうち前記一部以外を前記外部装置にとって任意とするための情報である場合、前記所定の情報により前記一部が前記外部装置によって特定された1または複数の識別情報のうち、前記書き込み順序の最も早い識別情報を前記1の識別情報として選択する、
請求項3に記載の情報処理システム。
前記コマンド出力部は、前記書き込み順序に基づいて、前記複数の処理装置それぞれから取得された識別情報から1の識別情報を選択し、選択した前記1の識別情報を記憶する処理装置に前記コマンドを出力する、
請求項11に記載の通信装置。
前記コマンド出力部は、前記所定の情報が識別情報の全体を特定するための情報である場合、前記所定の情報により全体が特定された識別情報を前記1の識別情報として選択する、
請求項13に記載の通信装置。
前記コマンド出力部は、前記所定の情報が、識別情報の一部を特定し、かつ、前記識別情報のうち前記一部以外を任意とするための情報である場合、前記所定の情報により前記一部が特定された1または複数の識別情報のうち、前記書き込み順序の最も早い識別情報を前記1の識別情報として選択する、
請求項13に記載の通信装置。
【発明を実施するための形態】
【0015】
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【0016】
なお、説明は以下の順序で行うものとする。
1.システム構成例
2.非接触通信デバイスの構成例
3.フロントエンドの機能構成例
4.デバイスホストの機能構成例
5.外部非接触通信デバイスの機能構成例
6.各種コマンドのパケット構造
7.識別情報の収集動作
8.優先度の設定動作
9.識別情報の書き込み動作
10.コマンドの転送動作
11.通信システムの動作の流れ
12.フロントエンドの動作の流れ
13.まとめ
【0017】
<1.システム構成例>
図1は、本開示の実施形態に係る通信システムの構成例を示す図である。
図1に示すように、通信システム1は、情報処理システム(以下、非接触通信デバイスとも言う)11と外部装置(以下、外部非接触通信デバイスとも言う)12とを有する。非接触通信デバイス11と外部非接触通信デバイス12とは、相互に非接触通信を行う。例えば、非接触通信デバイス11と外部非接触通信デバイス12とは、NFC(Near Field Communication)の仕様に基づく非接触通信を行う。
【0018】
ここで、例えば、非接触通信デバイス11は、ICカードによって構成されてもよいし、携帯電話機によって構成されてもよい。また、外部非接触通信デバイス12は、リーダライタによって構成され、店、乗り物の改札などに設置されていてよい。ユーザは、非接触通信デバイス11を携帯し、外部非接触通信デバイス12に非接触通信デバイス11をかざすことで、非接触通信デバイス11に外部非接触通信デバイス12との間における非接触通信を実行させることが可能である。かかる非接触通信により、外部非接触通信デバイス12は、非接触通信デバイス11に対して、所定の処理(例えば、課金処理など)を実行することができる。
【0019】
<2.非接触通信デバイスの構成例>
続いて、非接触通信デバイス11の構成例について説明する。
図2は、非接触通信デバイス11の構成例を示す図である。
図2に示すように、非接触通信デバイス11は、アンテナ31、通信部または通信装置(以下、フロントエンド:FEとも言う)32、管理部または管理装置(以下、デバイスホスト:DHとも言う)33および処理部または処理装置(以下、セキュアエレメント:SEとも言う)34−1〜34−3、操作部53および表示部54を有している。なお、以下の説明において、セキュアエレメント(SE)34−1〜34−3を個々に区別する必要がない場合、単に「セキュアエレメント34」と記述することがある。他の構成要素についても同様である。また、セキュアエレメント34の数は複数であれば特に限定されない。
【0020】
アンテナ31は、外部非接触通信デバイス12のアンテナ(図示せず)と電磁波を授受する。フロントエンド32は、端子RF−DATAに接続されているアンテナ31を介して外部非接触通信デバイス12との間において信号を授受する。フロントエンド32のメモリ41は、揮発性または不揮発性のメモリであり、後に説明するように、識別情報を記憶することが可能である。識別情報については、後に詳細に説明する。また、メモリ41は、フロントエンド32が有するプロセッサによって実行されるプログラムを記憶している。
【0021】
フロントエンド32の端子DATABは、ライン51を介してデバイスホスト33の端子DATAに接続されている。同様に、フロントエンド32の端子DATA1は、ライン52−1を介してセキュアエレメント34−1の端子DATAに接続され、フロントエンド32の端子DATA2は、ライン52−2を介してセキュアエレメント34−2の端子DATAに接続され、フロントエンド32の端子DATA3は、ライン52−3を介してセキュアエレメント34−3の端子DATAに接続されている。
【0022】
デバイスホスト33は、セキュアエレメント34−1〜34−4それぞれから識別情報を収集してフロントエンド32に出力することによって、セキュアエレメント34−1〜34−4それぞれから収集した識別情報をフロントエンド32のメモリ41に書き込む。セキュアエレメント34−1〜34−4それぞれから識別情報が収集されるタイミングは、非接触通信デバイス11の電源がオンされたときであってもよいし、セキュアエレメント34−1〜34−4のいずれかが着脱されたときであってもよい。また、デバイスホストが収集を要求したときであってもよいし、新しいアプリケーションがインストールされたときであってもよい。
【0023】
また、デバイスホスト33の端子ST1にはライン61−1を介してセキュアエレメント34−1の端子STが接続され、端子ST2にはライン61−2を介してセキュアエレメント34−2の端子STが接続され、端子ST3にはライン61−3を介してセキュアエレメント34−3の端子STが接続されている。したがって、デバイスホスト33は、セキュアエレメント34−1〜34−3それぞれのデバイスホスト33への接続状態を確認することができる。
【0024】
このようにデバイスホスト33の端子ST1,ST2,ST3がセキュアエレメント34−1,34−2,34−3の端子STと個別に1対1に接続されている。また、フロントエンド32の端子DATA1,DATA2,DATA3は、セキュアエレメント34−1〜34−3の端子DATAと個別に1対1に接続されている。したがって、フロントエンド32の端子DATA1,DATA2,DATA3は、デバイスホスト33の端子ST1,ST2,ST3と個別に1対1に対応している。また、メモリ42は、デバイスホスト33が有するプロセッサによって実行されるプログラムを記憶している。
【0025】
セキュアエレメント34−1は、識別情報を記憶するメモリ43−1を有している。メモリ43−1は不揮発性であってよい。また、セキュアエレメント34−1は、アプリケーションを記憶しており、外部非接触通信デバイス12からの要求に応じた処理(アプリケーションに基づく処理)を行う。メモリ43−1は、識別情報として、セキュアエレメント34−1の識別情報(ID1)とアプリケーション識別情報(SC1)を記憶している。また、メモリ43−1は、セキュアエレメント34−1が有するプロセッサによって実行されるプログラムやアプリケーションを記憶している。
【0026】
同様に、セキュアエレメント34−2は、識別情報を記憶するメモリ43−2を有している。メモリ43−2は不揮発性であってよい。また、セキュアエレメント34−2は、アプリケーションを記憶しており、外部非接触通信デバイス12からの要求に応じた処理(アプリケーションに基づく処理)を行う。メモリ43−2は、識別情報として、セキュアエレメント34−2の識別情報(ID2)とアプリケーション識別情報(SC2)を記憶している。また、メモリ43−2は、セキュアエレメント34−2が有するプロセッサによって実行されるプログラムやアプリケーションを記憶している。
【0027】
セキュアエレメント34−3は、識別情報を記憶するメモリ43−3を有している。メモリ43−3は不揮発性であってよい。また、セキュアエレメント34−3は、アプリケーションを記憶しており、外部非接触通信デバイス12からの要求に応じた処理(アプリケーションに基づく処理)を行う。メモリ43−3は、識別情報として、セキュアエレメント34−3の識別情報(ID3)とアプリケーション識別情報(SC3)を記憶している。また、メモリ43−3は、セキュアエレメント34−3が有するプロセッサによって実行されるプログラムやアプリケーションを記憶している。
【0028】
フロントエンド32、デバイスホスト33およびセキュアエレメント34−1〜34−3それぞれの端子VDDには、ライン62を介して電力が供給される。また、デバイスホスト33およびセキュアエレメント34−1〜34−3は、アクティベートの機能とディアクティベートの機能とを有している。例えば、NFC−WI(Near Field Communication Wired Interface)(ISO/IEC28361)に規定されているように、デバイスホスト33およびセキュアエレメント34−1〜34−3は、端子VDDに電力が供給されている状態で、端子DATAにパルスが入力されることでアクティベートされ、パルスが入力されないことでディアクティベートされる。
【0029】
操作部53は、ユーザから操作を受け付ける機能を有する。例えば、操作部53は、マウス、キーボード、タッチパネル、ボタン、スイッチおよびレバーなど、ユーザによって操作され得る入力装置であってもよいし、ユーザの音声を検出することが可能なマイクであってもよい。表示部54は、ユーザに対して視覚的または聴覚的に通知することが可能な装置で構成される。例えば、表示部54は、LCD(Liquid Crystal Display)、有機EL(Electro−Luminescence)ディスプレイスピーカおよびヘッドホンなどの音声出力装置などであり得る。
【0030】
<3.フロントエンドの機能構成例>
続いて、フロントエンド32の機能構成例について説明する。
図3は、フロントエンド32の機能構成例を示す図である。
図3に示すように、フロントエンド32は、制御部320と入力部324とメモリ(記憶部)41と出力部325とを備える。制御部320は、CPU(Central Processing Unit)などのプロセッサにより構成され、メモリ41に記憶されているプログラムがプロセッサによって実行されることによりその機能が実現される。また、制御部320は、記憶制御部321、コマンド入力受付部322およびコマンド出力部323などを有する。制御部320が有するこれらの構成要素については後に説明する。
【0031】
入力部324は、信号の入力を受け付ける機能を有している。例えば、入力部324は、上記した例では、端子ST、端子DATA、端子RF−DATAおよび端子VDDなどに相当し得る。また、出力部325は、信号の出力を行う機能を有している。例えば、出力部325は、上記した例では、端子ST、端子DATA、および端子RF−DATAなどに相当し得る。以上、フロントエンド32の機能構成例について説明した。
【0032】
<4.デバイスホストの機能構成例>
続いて、デバイスホスト33の機能構成例について説明する。
図4は、デバイスホスト33の機能構成例を示す図である。
図4に示すように、デバイスホスト33は、制御部330と入力部334とメモリ(記憶部)42と出力部335とを備える。制御部330は、CPUなどのプロセッサにより構成され、メモリ42に記憶されているプログラムがプロセッサによって実行されることによりその機能が実現される。また、制御部330は、識別情報取得部331、優先度設定部332および書き込み処理部333などを有する。制御部330が有するこれらの構成要素については後に説明する。
【0033】
入力部334は、信号の入力を受け付ける機能を有している。例えば、入力部334は、上記した例では、端子ST1,ST2,ST3、端子DATA、端子VDDおよび操作部53への接続端子などに相当し得る。また、出力部335は、信号の出力を行う機能を有している。例えば、出力部335は、上記した例では、端子ST1,ST2,ST3、端子DATAおよび表示部54への接続端子などに相当し得る。以上、デバイスホスト33の機能構成例について説明した。
【0034】
<5.外部非接触通信デバイスの機能構成例>
続いて、外部非接触通信デバイス12の機能構成例について説明する。
図5は、外部非接触通信デバイス12の機能構成例を示す図である。
図5に示すように、外部非接触通信デバイス12は、取得部91、設定部92および実行部93を備える。取得部91は、非接触通信デバイス11のセキュアエレメント34−1〜34−3のうち1のセキュアエレメント34のメモリ41に記憶されていた識別情報を非接触通信デバイス11からフロントエンド32を介して取得する。
【0035】
設定部92は、フロントエンド32とセキュアエレメント34−1〜34−3との個別の通信ラインのうち、取得部91によって取得された1の識別情報に対応するセキュアエレメント34の通信ラインを設定する。実行部93は、取得部91によって取得された1の識別情報に対応するセキュアエレメント34に所定の処理(メモリ41に記憶されているアプリケーションに基づく処理)を実行させる。
【0036】
<6.各種コマンドのパケット構造>
次に、通信システム1において使用される各種コマンドのパケット構造について、
図6〜
図9を参照して説明する。
図6は、SE ON Requestのパケット構造を示している。
図6に示されるように、SE ON Requestには、SE No.が付加される。このSE No.は、フロントエンド32の端子DATA1,DATA2,DATA3の番号を表している。
図7は、SE ON Responsesのパケット構造を示している。
図7に示されるように、SE ON Responseには、状態を表すStatusが付加される。
【0037】
フロントエンド32は、SE ON Requestを受信したとき、端子DATA1,DATA2,DATA3のライン52−1〜52−3のうち、指定された端子のライン、すなわち指定されたセキュアエレメント34との通信ラインを設定し、その設定した状態を記述したSE ON Responseを返す。セキュアエレメント34は、対応する通信ラインが設定されない場合、ディアクティベート状態とされ、通信ラインが設定された場合、アクティベート状態とされる。
【0038】
図8は、Polling Requestのパケット構造を表している。
図8に示されるように、Polling Requestには、アプリケーション識別情報、オプションおよびTSNが付加される。外部非接触通信デバイス12から非接触通信デバイス11がPolling Requestを受信した場合、このPolling Requestに付加されたアプリケーション識別情報を記憶するメモリ43を有するセキュアエレメント34がフロントエンド32を介してPolling Responseを返す。
【0039】
TSNには、例えば、0〜15のうちの1つのタイムスロット番号が記述される。Polling Responseをセキュアエレメント34から受信したフロントエンド32は、ここに記述されている値以下のタイムスロット番号のタイミングでResponseを返す。例えば、ここにタイムスロット番号の最大値(15)が記述されていた場合、Responseをセキュアエレメント34から受信したフロントエンド32は、0〜15のうちの任意の値のタイムスロット番号のタイミングでResponseを返す。オプションは必要に応じて使用される。
【0040】
図9は、Polling Responseのパケット構造を表している。
図9に示されるように、Polling Responseには、セキュアエレメント識別情報、PADおよびアプリケーション識別情報が付加される。PADには、所定のデータがパディングされる。なお、以下の説明においては、セキュアエレメント識別情報およびアプリケーション識別情報の双方を識別情報として用いることにするが、識別情報としては、セキュアエレメント識別情報およびアプリケーション識別情報のうち少なくともいずれか一方が用いられればよい。ここで、セキュアエレメント識別情報は、セキュアエレメント34の製造時に記録されて通常書き換えができない、または、事業者が独自で採番する固有のID、であり得る。アプリケーション識別情報は、アプリケーションを一意に識別するために付与されるIDであり得る。
【0041】
<7.識別情報の収集動作>
次に、デバイスホスト33がセキュアエレメント34−1〜34−3それぞれから識別情報を収集する動作の例について説明する。かかる動作は、非接触通信デバイス11の電源がオンされた場合に実行されてもよい。あるいは、セキュアエレメント34が着脱された場合、着脱されたセキュアエレメント34から識別情報がデバイスホスト33に収集されてもよい。または、デバイスホスト33がセキュアエレメント34に識別情報を要求したときであってもよいし、セキュアエレメント34に新しいアプリケーションがインストールされたときであってもよい。ここでは、セキュアエレメント34−1が着脱された場合に、着脱されたセキュアエレメント34−1から識別情報がデバイスホスト33に収集される例を説明する。
【0042】
まず、デバイスホスト33は、端子ST1の状態を確認することによって、端子ST1に新たにセキュアエレメント34−1が接続されたか否かを検出する。そして、デバイスホスト33は、端子ST1に新たにセキュアエレメント34−1が接続されたことを検出した場合、フロントエンド32に対して、SE ON Request(SE1)を出力する。
【0043】
フロントエンド32は、SE ON Request(SE1)を受信すると、通信ラインをセキュアエレメント34−1(SE1)に切り替える。すなわち、フロントエンド32は、ライン52−1〜52−3のうち、ライン52−1の通信ラインだけを有効にする。具体的には、セキュアエレメント34−1だけがアクティベートされ、他のセキュアエレメント34−2,34−3は、ディアクティベート状態のままとされる。その結果、すべてのセキュアエレメント34を常にアクティベート状態にしておく場合に較べて、無駄に電力が消費されることが抑制される。そして、フロントエンド32は、デバイスホスト33に対して、SE ON Responseを返す。
【0044】
デバイスホスト33は、SE ON Responseを受信することで、通信ラインがセキュアエレメント34−1用に切り替えられたことを知ることができる。そこで、デバイスホスト33は、Polling Requestを出力する。フロントエンド32は、Polling Requestを端子DATABから受信すると、Polling Requestを、既に設定した通信ラインであるライン52−1を介してセキュアエレメント34−1に転送する。
【0045】
セキュアエレメント34−1は、Polling Requestを受信すると、メモリ43−1に記憶されている識別情報としてのセキュアエレメント識別情報ID1とアプリケーション識別情報SC1とを読み出す。そして、セキュアエレメント34−1は、読み出したセキュアエレメント識別情報ID1とアプリケーション識別情報SC1とを付加したPolling Responseをフロントエンド32に返す。
【0046】
フロントエンド32は、Polling Responseを受信すると、それをデバイスホスト33に転送する。このとき、フロントエンド32は、セキュアエレメント34−1をディアクティベート状態にする。これにより消費電力を抑制することができる。デバイスホスト33は、Polling Responseを受信する。これにより、デバイスホスト33の識別情報取得部331は、端子ST1に接続されている(デバイスホスト33の端子DATA1に接続されている)セキュアエレメント34−1から識別情報(アプリケーション識別情報およびセキュアエレメント識別情報の組み合わせ)を収集することができる。
【0047】
識別情報取得部331は、セキュアエレメント34−2,34−3それぞれからもアプリケーション識別情報およびセキュアエレメント識別情報の組み合わせを同様に収集することができる。
【0048】
<8.優先度の設定動作>
次に、
図10〜
図13を参照しながら、識別情報取得部331によって収集されたアプリケーション識別情報およびセキュアエレメント識別情報の組み合わせに対して、優先度を設定する動作の例について説明する。
図10〜
図13は、アプリケーション識別情報およびセキュアエレメント識別情報の組み合わせに対して、優先度を設定する動作を説明するための図である。なお、
図10〜
図13において、対応セキュアエレメント情報は、セキュアエレメント34に固有の情報である。
【0049】
図10に示すように、優先度設定部332は、アプリケーション識別情報「1111」およびセキュアエレメント識別情報「SE−21」の組み合わせに対して優先度「1」を設定し、アプリケーション識別情報「2222」およびセキュアエレメント識別情報「SE−22」の組み合わせに対して優先度「2」を設定し、アプリケーション識別情報「3333」およびセキュアエレメント識別情報「SE−31」の組み合わせに対して優先度「3」を、既に設定している。なお、ここでは、優先度の値が小さいほど優先度が高いこととするが、優先度の値と優先度の高低との関係は特に限定されない。
【0050】
また、優先度設定部332は、アプリケーション識別情報「1111」およびセキュアエレメント識別情報「SE−11」の組み合わせに対しては、優先度を設定しておらず、アプリケーション識別情報「5555」およびセキュアエレメント識別情報「SE−12」の組み合わせに対しても、優先度を設定していない。このとき、優先度設定部332は、表示部54に優先度設定画面G1を表示させることが可能である。優先度設定画面G1には、利用設定されたアプリケーション名の欄に優先度の高い順に「Application A1」〜「Application A3」が表示されている。また、優先度設定画面G1には、利用可能なアプリケーション名の欄に「Application A4」、「Application A5」が表示されている。
【0051】
ここで、例えば、操作部53が「Application A4」を選択する操作を検出した場合を想定する。かかる場合、優先度設定部332は、表示部54にアプリケーション設定画面G2を表示させることが可能である。
図10に示すように、アプリケーション設定画面G2においては、「Application A4」を利用設定するか削除するかを選択することが可能である。しかし、「Application A4」が利用設定された場合には、異なるセキュアエレメント34(SE−21およびSE−11)に記憶された同一のアプリケーション(アプリケーション識別情報「1111」)が利用設定されてしまう。
【0052】
そこで、「Application A4」を利用設定する操作が操作部53によって検出された場合には、優先度設定部332は、
図11に示すように、同一のアプリケーションが利用設定されたこと(以下、「コンフリクト」とも言う)を知らせる画面(コンフリクト通知画面)G3を表示部54に表示させるとよい。そして、
図12に示すように、優先度設定部332は、「Application A1」の利用設定を解除するとともに、「Application A4」を利用設定してもよい。続いて、優先度設定部332は、利用設定された「Application A2」〜「Application A4」それぞれの優先度を変更するための優先度変更画面G3を表示部54に表示させてもよい。
【0053】
優先度変更画面G4において、「Application A4」、「Application A2」、「Application A3」を優先度の高い順に選択する操作が操作部53によって検出された場合には、優先度設定部332は、アプリケーション識別情報「1111」およびセキュアエレメント識別情報「SE−11」の組み合わせに対して優先度「1」を設定し直し、アプリケーション識別情報「2222」およびセキュアエレメント識別情報「SE−22」の組み合わせに対して優先度「2」を設定し直し、アプリケーション識別情報「3333」およびセキュアエレメント識別情報「SE−31」の組み合わせに対して優先度「3」を設定し直してよい。
【0054】
優先度が変更されると、優先度設定部332は、優先度変更画面G5を表示部54に表示させ、優先度設定画面G6を表示部54に表示させてもよい。以上に示した例では、コンフリクトが生じたときに優先度を変更することにしたが、優先度の変更を行うタイミングは、コンフリクトが生じたときに限定されない。例えば、優先度を変更するための操作が操作部53によって検出されたときに、優先度設定部332は、優先度変更画面G4を表示させ、優先度の変更を可能としてもよい。また、優先度設定部332は、アプリケーション識別情報およびセキュアエレメント識別情報の組み合わせが新たに検出されたときに、優先度変更画面G4を表示させ、優先度の変更を可能としてもよい。
【0055】
<9.識別情報の書き込み動作>
次に、
図14を参照しながら、優先度設定部332によって設定された優先度に従って、アプリケーション識別情報、セキュアエレメント識別情報、および対応セキュアエレメント情報の組み合わせをフロントエンド32のメモリ41に書き込む動作の例について説明する。
図14は、アプリケーション識別情報、セキュアエレメント識別情報、および対応セキュアエレメント情報の組み合わせをフロントエンド32のメモリ41に書き込む動作を説明するための図である。書き込み処理部333は、優先度に従って、アプリケーション識別情報およびセキュアエレメント識別情報の組み合わせをフロントエンド32のメモリ41に書き込む。
【0056】
その結果、
図14に示すように、優先度「1」が設定されたアプリケーション識別情報、セキュアエレメント識別情報、および対応セキュアエレメント情報の組み合わせが、書き込み順序「1」によってフロントエンド32のメモリ41に書き込まれる。また、優先度「2」が設定されたアプリケーション識別情報、セキュアエレメント識別情報、および対応セキュアエレメント情報の組み合わせが、書き込み順序「2」によってフロントエンド32のメモリ41に書き込まれる。また、優先度「3」が設定されたアプリケーション識別情報、セキュアエレメント識別情報、および対応セキュアエレメント情報の組み合わせが、書き込み順序「3」によってフロントエンド32のメモリ41に書き込まれる。
【0057】
このとき、フロントエンド32の記憶制御部321は、書き込み処理部333からアプリケーション識別情報、セキュアエレメント識別情報、および対応セキュアエレメント情報の組み合わせがメモリ41に書き込まれるようにメモリ41を制御する。なお、ここでは、書き込み処理部333が、優先度に従ってアプリケーション識別情報、セキュアエレメント識別情報、および対応セキュアエレメント情報の組み合わせをフロントエンド32のメモリ41に書き込む例を説明した。しかし、書き込み処理部333は、優先度以外の情報に基づいて、アプリケーション識別情報、セキュアエレメント識別情報、および対応セキュアエレメント情報の組み合わせをフロントエンド32のメモリ41に書き込んでもよい。
【0058】
<10.コマンドの転送動作>
続いて、
図15〜
図17を参照しながら、外部非接触通信デバイス12から非接触通信デバイス11にPolling Requestが送信された場合、非接触通信デバイス11においてPolling Requestの転送先を決める手法について説明する。なお、ここでは、コマンドの一例としてPolling Requestを用いるが、Polling Request以外のコマンドであってもよい。
【0059】
図15〜
図17は、外部非接触通信デバイス12から受信されたPolling Requestの転送先(出力先)について説明するための図である。Polling Requestは、外部非接触通信デバイス12から送信され、フロントエンド32のアンテナ31によって受信され、コマンド入力受付部322によって受け付けられる。そして、コマンド出力部323は、Polling Requestを、デバイスホスト33からフロントエンド32への識別情報(アプリケーション識別情報およびセキュアエレメント識別情報)の書き込み順序に基づいてセキュアエレメント34−1〜34−3のうちの1のセキュアエレメント34に転送する(出力する)。
【0060】
より具体的には、コマンド出力部323は、書き込み順序に基づいて、セキュアエレメント34−1〜34−3それぞれから取得された識別情報(アプリケーション識別情報およびセキュアエレメント識別情報)から1の識別情報を選択し、選択した1の識別情報を記憶するメモリ43を備えるセキュアエレメント34にPolling Requestを転送する。例えば、コマンド出力部323は、Polling Requestに設定されている所定の情報を取得し、所定の情報と書き込み順序とに基づいて1の識別情報を選択すればよい。ここでは、Polling Requestに設定されている所定の情報として、アプリケーション識別情報を用いるが、他の情報(セキュアエレメント識別情報など)を用いてもよい。
【0061】
例えば、
図15に示すように、Polling Requestに設定されているアプリケーション識別情報が「FFFFh」である場合を想定する。ここで、「F」は、対応する桁が外部非接触通信デバイス12にとって任意であることを示す値であるとする。このとき、Polling Requestに設定されているアプリケーション情報「FFFFh」は、外部非接触通信デバイス12にとって任意のアプリケーション識別情報を外部非接触通信デバイス12が指定するための情報に相当し得る。
【0062】
したがって、コマンド出力部323は、書き込み順序の最も早いアプリケーション識別情報「1111h」とそれに対応するセキュアエレメント識別情報「SE−11」との組み合わせを1の識別情報として選択すればよい。そして、
図15に示すように、コマンド出力部323は、アプリケーション識別情報「1111h」およびセキュアエレメント識別情報「SE−11」の組み合わせに関連付けられた対応セキュアエレメント情報「SE−1」によって識別されるセキュアエレメント34−1にPolling Requestを転送すればよい。
【0063】
また、例えば、
図16に示すように、Polling Requestに設定されているアプリケーション情報が「FF22h」である場合を想定する。ここで、「0」〜「E」は、対応する桁をその値に外部非接触通信デバイス12が特定するための値であるとする。このとき、Polling Requestに設定されているアプリケーション情報「FF22h」は、アプリケーション識別情報の3桁目および4桁目を外部非接触通信デバイス12が「2」に特定し、かつ、アプリケーション識別情報のうち1桁目および2桁目を外部非接触通信デバイス12にとって任意とするための情報に相当し得る。
【0064】
したがって、コマンド出力部323は、3桁目および4桁目が「2」であるアプリケーション識別情報「2222h」とそれに対応するセキュアエレメント識別情報「SE−2」との組み合わせを1の識別情報として選択すればよい。そして、
図16に示すように、コマンド出力部323は、アプリケーション識別情報「2222h」およびセキュアエレメント識別情報「SE−22」の組み合わせに関連付けられた対応セキュアエレメント情報「SE−2」によって識別されるセキュアエレメント34−2にPolling Requestを転送すればよい。
【0065】
また、例えば、
図17に示すように、Polling Requestに設定されているアプリケーション情報が「33FFh」である場合を想定する。ここで、上記と同様に、「0」〜「E」は、対応する桁をその値に外部非接触通信デバイス12が特定するための値であるとする。このとき、Polling Requestに設定されているアプリケーション情報「33FFh」は、アプリケーション識別情報の1桁目と2行目を外部非接触通信デバイス12が「3」に特定し、かつ、アプリケーション識別情報のうち2〜4桁目を外部非接触通信デバイス12にとって任意とするための情報に相当し得る。
【0066】
したがって、コマンド出力部323は、1桁目および2桁目が「3」であるアプリケーション識別情報「3333h」とそれに対応するセキュアエレメント識別情報「SE−31」との組み合わせを1の識別情報として選択すればよい。そして、
図17に示すように、コマンド出力部323は、アプリケーション識別情報「3333h」およびセキュアエレメント識別情報「SE−31」の組み合わせに関連付けられた対応セキュアエレメント情報「SE−3」によって識別されるセキュアエレメント34−3にPolling Requestを転送すればよい。
【0067】
なお、コマンド出力部323は、Polling Requestに設定されているアプリケーション識別情報がアプリケーション識別情報の全体を外部非接触通信デバイス12が特定するための情報(例えば、「1111h」)である場合、Polling Requestに設定されているアプリケーション識別情報により全体が外部非接触通信デバイス12によって特定された識別情報(例えば、「1111h」)とそれに対応するセキュアエレメント識別情報(例えば、「SE−1」)とを1の識別情報として選択すればよい。
【0068】
<11.通信システムの動作の流れ>
続いて、通信システム1の全体動作の例を説明する。
図18は、通信システム1の全体動作の例を示すシーケンス図である。
図18に示すように、セキュアエレメント34−1は、識別情報をデバイスホスト33に送信する(S1)。同様に、セキュアエレメント34−2は、識別情報をデバイスホスト33に送信する(S2)。また、セキュアエレメント34−3は、識別情報をデバイスホスト33に送信する(S3)。デバイスホスト33の識別情報取得部331は、送信された各識別情報を取得する。
【0069】
続いて、デバイスホスト33の優先度設定部332は、コンフリクトを検出すると(S4)、優先度を設定し(S5)、書き込み処理部333は、優先度に従って識別情報をフロントエンド32のメモリ41に書き込む(S6)。このとき、フロントエンド32の記憶制御部321は、識別情報がメモリ41に書き込まれるようにメモリ41を制御する。続いて、外部非接触通信デバイス12がPolling Requestをフロントエンド32に送信すると(S7)、フロントエンド32は、Polling Requestを受信し、コマンド入力受付部322によってPolling Requestの入力が受け付けられる。
【0070】
続いて、コマンド出力部323は、識別情報の書き込み順序に基づいてPolling Requestをセキュアエレメント34−1〜34−3のいずれか一つに転送する(S8)。
図18に示した例では、Polling Requestがセキュアエレメント34−1に転送されている。続いて、Polling Requestを受信したセキュアエレメント34−1は、Polling Responseを、フロントエンド32を介して外部非接触通信デバイス12に送信する(S9、S10)。
【0071】
<12.フロントエンドの動作の流れ>
続いて、フロントエンド32の動作の例を説明する。
図19は、フロントエンド32の動作の例を示すフローチャートである。
図19に示すように、コマンド出力部323は、Polling Requestが受信されない場合には(S21において「No」)、S21に戻るが、Polling Requestが受信された場合には(S21において「Yes」)、書き込み順序の最も早いアプリケーション識別情報を抽出する(S22)。続いて、コマンド出力部323は、Polling Requestに設定されているアプリケーション識別情報が「FFFFh」である場合には(S23において「Yes」)、S24に進む。一方、コマンド出力部323は、Polling Requestに設定されているアプリケーション識別情報がすべて「FFFFh」でない場合には(S23において「No」)、S25に進む。
【0072】
続いて、コマンド出力部323は、Polling Requestに設定されているアプリケーション識別情報のうち「F」以外の値と抽出されたアプリケーション識別情報の対応する値とがすべて一致している場合には(S25において「Yes」)、S24に進む。一方、Polling Requestに設定されているアプリケーション識別情報のうち「F」以外の値と抽出されたアプリケーション識別情報の対応する値とが一部または全部不一致である場合には(S25において「No」)、S26に進む。続いて、コマンド出力部323は、書き込み順序の最も遅いアプリケーション識別情報とPolling Requestに設定されているアプリケーション識別情報との比較を行っている場合には(S26において「Yes」)、動作を終了する。一方、コマンド出力部323は、書き込み順序の最も遅いアプリケーション識別情報とPolling Requestに設定されているアプリケーション識別情報との比較を行っていない場合には(S26において「No」)、次に早い書き込み順序のアプリケーション識別情報を抽出し(S27)、S25に戻る。
【0073】
続いて、S24に進んだ場合には、コマンド出力部323は、当該書き込み順序に対応するセキュアエレメント34にPolling Requestを転送して(S24)、動作を終了する。
【0074】
<13.まとめ>
本開示の実施形態によれば、識別情報を記憶するメモリ43をそれぞれ備える複数のセキュアエレメント34と、複数のセキュアエレメント34それぞれから識別情報を取得するデバイスホスト33と、外部非接触通信デバイス12との間で通信を行うフロントエンド32と、を備える、非接触通信デバイス11が提供される。デバイスホスト33は、複数のセキュアエレメント34それぞれから取得した識別情報をフロントエンド32へ書き込む。また、フロントエンド32は、外部非接触通信デバイス12から受信したコマンドを、デバイスホスト33からフロントエンド32への識別情報の書き込み順序に基づいて複数のセキュアエレメント34のうちの1のセキュアエレメント34に出力する。
【0075】
かかる構成によれば、複数のセキュアエレメント34のうちの1のセキュアエレメント34から取得された識別情報を応答すればよい。したがって、本開示の実施形態によれば、複数のセキュアエレメント34それぞれから取得された識別情報を応答する場合と比較して、識別情報を要求するコマンドに対する識別情報の応答速度を高めることが可能となる。また、本開示の実施形態によれば、識別情報の書き込み順序に基づいてコマンドの出力先を決定すればよいため、コマンドの出力先を簡易に決定することが可能となる。さらに、設定された優先度に応じて書き込み順序を決定すれば、優先度を考慮してコマンドの出力先を決定することが可能となる。
【0076】
また、識別情報を要求するコマンドが複数のセキュアエレメント34にブロードキャストされてしまう場合には、例えば、以下に示すような状況が生じ得る。一つ目として、識別情報を要求するコマンドにはレスポンス時間が規定されていることがあるが、複数のセキュアエレメント34にブロードキャストされてしまうと、レスポンス時間が規定時間を超過してしまう可能性がある(フロントエンド32への負荷が大きくなってしまう可能性がある)。
【0077】
二つ目として、複数のセキュアエレメント34がコマンドに対する応答をする必要が生じるため、消費電力が大きくなってしまう可能性がある。一方、本開示の実施形態によれば、識別情報を要求するコマンドが複数のセキュアエレメント34にブロードキャストされず、複数のセキュアエレメント34のうちに一つに出力されるため、これらの状況に陥ることは回避され得る。
【0078】
また、フロントエンド32が直接的に複数のセキュアエレメント34それぞれから識別情報を収集する場合には、コンフリクト発生時にユーザに優先度を設定し直させるために、フロントエンド32と(操作部53および表示部54が接続された)デバイスホスト33との間でトランザクションが必要となる。本開示の実施形態によれば、デバイスホスト33が直接的に複数のセキュアエレメント34それぞれから識別情報を収集するため、このようなトランザクションが不要となる。
【0079】
さらに、本開示の実施形態によれば、フロントエンド32が複数のセキュアエレメント34のうちの一つのセキュアエレメント34にコマンドを転送すればよく、フロントエンド32においてコマンドを処理する必要がないため、実装が容易となる。また、本開示の実施形態によれば、複数のセキュアエレメント34それぞれを、コマンドを転送する前にアクティベートする必要がないため、動作シーケンスが簡易になる。
【0080】
また、uSDやUICCなどといったリムーバブルなセキュアエレメント34が着脱されたりした場合に、フロントエンド32にはセキュアエレメント34の着脱が直接的かつリアルタイムに伝わらないが、デバイスホスト33には伝わると考えられる。そのため、本開示の実施形態のように、デバイスホスト33が識別情報を収集し、フロントエンド32に識別情報を書き込む形態のほうが、フロントエンド32が直接的に識別情報を収集する形態よりも、セキュアエレメント34の着脱に基づく制御が行いやすい。
【0081】
同様に、Host Card Emulation時のように、フロントエンド32を介さずに、サーバからデバイスホスト33の内部に識別情報が格納されたり、デバイスホスト33に格納された識別情報がサーバから消去されたりした場合に、フロントエンド32にはこれらのサーバとデバイスホスト33とのやり取りが直接的かつリアルタイムに伝わらないと考えられる。そのため、本開示の実施形態のように、デバイスホスト33が識別情報を収集し、フロントエンド32に識別情報を書き込む形態のほうが、フロントエンド32が直接的に識別情報を収集する形態よりも、サーバとデバイスホスト33とのやり取りに基づく制御が行いやすい。
【0082】
また、Host Card Emulation時には、大量の識別情報がデバイスホスト33に格納される可能性があるが、フロントエンド32がこれらすべての識別情報を取得するには多くの時間を要すると考えられる。さらに、フロントエンド32が識別情報を一時的にでも保持するためには、多くのメモリが必要となり、コストがかかる。そのため、本開示の実施形態のように、デバイスホスト33が識別情報を収集し、フロントエンド32に識別情報を書き込む形態のほうが、フロントエンド32が直接的に識別情報を収集する形態よりも、コスト面において有利である。
【0083】
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
【0084】
上記した例では、デバイスホスト33が他の装置から独立して存在する形態となっていたが、デバイスホスト33は、他の装置から独立していなくてもよい。例えば、デバイスホスト33は、他の装置(例えば、セキュアエレメント34など)に組み込まれていてもよい。すなわち、デバイスホスト33が有する機能は、他の装置に組み込まれていてもよい。あるいは、デバイスホスト33は、他の装置から分離されておらず、他の装置と一体化されていてもよい。
【0085】
上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラム記録媒体からインストールされる。
【0086】
コンピュータにインストールされ、コンピュータによって実行可能な状態とされるプログラムを格納するプログラム記録媒体は、磁気ディスク、光ディスク、光磁気ディスクを含んでよい。もしくは、プログラム記録媒体は、半導体メモリなどよりなるパッケージメディアであるリムーバブルメディア、または、プログラムが一時的もしくは永続的に格納されるROMやハードディスクなどにより構成されてよい。プログラム記録媒体へのプログラムの格納は、必要に応じてルータ、モデムなどのインタフェースを介して、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の通信媒体を利用して行われる。
【0087】
なお、本明細書において、プログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【0088】
また、本明細書に記載された効果は、あくまで説明的または例示的なものであって限定的ではない。つまり、本開示に係る技術は、上記の効果とともに、または上記の効果に代えて、本明細書の記載から当業者には明らかな他の効果を奏しうる。
【0089】
なお、以下のような構成も本開示の技術的範囲に属する。
(1)
識別情報を記憶する記憶部をそれぞれ備える複数の処理装置と、
前記複数の処理装置それぞれから前記識別情報を取得する管理装置と、
外部装置との間で通信を行う通信装置と、を備え、
前記管理装置は、前記複数の処理装置それぞれから取得した前記識別情報を前記通信装置へ書き込み、
前記通信装置は、前記外部装置から受信したコマンドを、前記管理装置から前記通信装置への前記識別情報の書き込み順序に基づいて前記複数の処理装置のうちの1の処理装置に出力する、
情報処理システム。
(2)
前記通信装置は、前記書き込み順序に基づいて、前記複数の処理装置それぞれから取得された識別情報から1の識別情報を選択し、選択した前記1の識別情報を記憶する記憶部を備える処理装置に前記コマンドを出力する、
前記(1)に記載の情報処理システム。
(3)
前記通信装置は、前記コマンドに設定されている所定の情報を取得し、前記所定の情報と前記書き込み順序とに基づいて前記1の識別情報を選択する、
前記(2)に記載の情報処理システム。
(4)
前記通信装置は、前記所定の情報が前記外部装置にとって任意の識別情報を前記外部装置が指定するための情報である場合、前記書き込み順序の最も早い識別情報を前記1の識別情報として選択する、
前記(3)に記載の情報処理システム。
(5)
前記通信装置は、前記所定の情報が前記外部装置により識別情報の全体を特定するための情報である場合、前記所定の情報により全体が前記外部装置によって特定された識別情報を前記1の識別情報として選択する、
前記(3)に記載の情報処理システム。
(6)
前記通信装置は、前記所定の情報が、前記外部装置により識別情報の一部を特定し、かつ、前記識別情報のうち前記一部以外を前記外部装置にとって任意とするための情報である場合、前記所定の情報により前記一部が前記外部装置によって特定された1または複数の識別情報のうち、前記書き込み順序の最も早い識別情報を前記1の識別情報として選択する、
前記(3)に記載の情報処理システム。
(7)
複数の処理装置それぞれから識別情報を取得することと、
前記複数の処理装置それぞれから取得した前記識別情報を通信装置へ書き込むことと、
外部装置から受信したコマンドを、前記通信装置への前記識別情報の書き込み順序に基づいて前記複数の処理装置のうちの1の処理装置に出力することと、
を含む、情報処理方法。
(8)
複数の処理装置それぞれから識別情報を取得する識別情報取得部と、
前記複数の処理装置それぞれから取得された前記識別情報を通信装置に書き込む書き込み処理部と、を備え、
前記通信装置によって受信されたコマンドが、前記通信装置への前記識別情報の書き込み順序に基づいて前記複数の処理装置のうちの1の処理装置に出力される、
管理装置。
(9)
複数の処理装置それぞれから識別情報を取得することと、
前記複数の処理装置それぞれから取得された前記識別情報を通信装置に書き込むことと、を含み、
前記通信装置によって受信されたコマンドが、前記通信装置への前記識別情報の書き込み順序に基づいて前記複数の処理装置のうちの1の処理装置に出力される、
管理方法。
(10)
コンピュータを、
複数の処理装置それぞれから識別情報を取得する識別情報取得部と、
前記複数の処理装置それぞれから取得された前記識別情報を通信装置に書き込む書込処理部と、を備え、
前記通信装置によって受信されたコマンドが、前記通信装置への前記識別情報の書き込み順序に基づいて前記複数の処理装置のうちの1の処理装置に出力される、
管理装置として機能させるためのプログラム。
(11)
管理装置によって複数の処理装置それぞれから取得された識別情報が前記管理装置から書き込まれるように記憶部を制御する記憶制御部と、
コマンドの入力を受け付けるコマンド入力受付部と、
前記管理装置から前記記憶部への前記識別情報の書き込み順序に基づいて前記複数の処理装置のうちの1の処理装置に前記コマンドを出力するコマンド出力部と、
を備える、通信装置。
(12)
前記コマンド出力部は、前記書き込み順序に基づいて、前記複数の処理装置それぞれから取得された識別情報から1の識別情報を選択し、選択した前記1の識別情報を記憶する処理装置に前記コマンドを出力する、
前記(11)に記載の通信装置。
(13)
前記コマンド出力部は、前記コマンドに設定されている所定の情報を取得し、前記所定の情報と前記書き込み順序とに基づいて前記1の識別情報を選択する、
前記(12)に記載の通信装置。
(14)
前記コマンド出力部は、前記所定の情報が任意の識別情報を指定するための情報である場合、前記書き込み順序の最も早い識別情報を前記1の識別情報として選択する、
前記(13)に記載の通信装置。
(15)
前記コマンド出力部は、前記所定の情報が識別情報の全体を特定するための情報である場合、前記所定の情報により全体が特定された識別情報を前記1の識別情報として選択する、
前記(13)に記載の通信装置。
(16)
前記コマンド出力部は、前記所定の情報が、識別情報の一部を特定し、かつ、前記識別情報のうち前記一部以外を任意とするための情報である場合、前記所定の情報により前記一部が特定された1または複数の識別情報のうち、前記書き込み順序の最も早い識別情報を前記1の識別情報として選択する、
前記(13)に記載の通信装置。
(17)
管理装置によって複数の処理装置それぞれから取得された識別情報が前記管理装置から書き込まれるように記憶部を制御することと、
コマンドの入力を受け付けることと、
前記管理装置から前記記憶部への前記識別情報の書き込み順序に基づいて前記複数の処理装置のうちの1の処理装置に前記コマンドを出力することと、
を含む、通信方法。
(18)
コンピュータを、
管理装置によって複数の処理装置それぞれから取得された識別情報が前記管理装置から書き込まれるように記憶部を制御する記憶制御部と、
コマンドの入力を受け付けるコマンド入力受付部と、
前記管理装置から前記記憶部への前記識別情報の書き込み順序に基づいて前記複数の処理装置のうちの1の処理装置に前記コマンドを出力するコマンド出力部と、
を備える、通信装置として機能させるためのプログラム。