(57)【要約】【課題】確実に衝突を回避できるようにする。【解決手段】ＮＦＣデバイス５１は、それぞれが独立した処理を実行する複数のセキュアエレメント６２−０，６２−１，６２−２と、複数のセキュアエレメント６２−０，６２−１，６２−２を制御するベースバンドコントローラ６１と、複数のセキュアエレメント６２−０，６２−１，６２−２に共通に使用され、外部ＮＦＣデバイス５２と近接通信するフロントエンド６３とを備えている。ベースバンドコントローラ６１は、起動時に、複数のセキュアエレメント６２−０，６２−１，６２−２に対して通信のための異なるタイムスロットを割り当てる。【選択図】図１
2010161773.tif 000002
【特許請求の範囲】
【請求項１】
それぞれが独立した処理を実行する複数のエレメントと、
複数の前記エレメントを制御するコントローラと、
前記複数のエレメントに共通に使用され、外部の装置と近接通信するフロントエンドと
を備え、
前記コントローラは、起動時に、複数の前記エレメントに対して通信のための異なるタイムスロットを割り当て、
前記フロントエンドは、前記コントローラにより割り当てられたタイムスロットを前記エレメントに供給する
情報処理装置。
【請求項２】
前記エレメントは、１つの筐体内に収容され、有線で接続されており、
前記起動時は、電力が供給されたとき、または前記エレメントが取り外されるか、もしくは追加されたときである
請求項１に記載の情報処理装置。
【請求項３】
複数の前記エレメントは、着脱が可能なエレメントと固定されたエレメントからなり、
固定された前記エレメントは、割り当てられた前記タイムスロットを不揮発的に記憶し、着脱が可能な前記エレメントは、前記タイムスロットを揮発的に記憶する
請求項１に記載の情報処理装置。
【請求項４】
前記コントローラは、固定された前記エレメントに、最先のタイミングの前記タイムスロットを割り当て、着脱が可能な前記エレメントに、固定された前記エレメントより遅いタイミングの前記タイムスロットを割り当てる
請求項３に記載の情報処理装置。
【請求項５】
固定された前記エレメントの前記タイムスロットは、製造時に予め割り当てられている
請求項３に記載の情報処理装置。
【請求項６】
前記エレメントは、対応するアプリケーションに基づく処理をセキュアに行うエレメントであって、前記アプリケーション毎の識別情報と、前記エレメント毎の識別情報とを有するとともに、前記タイムスロットが割り当てられるまでは、ランダムなタイミングの前記タイムスロットで通信を行う機能を有し、
前記コントローラは、ランダムなタイミングの前記タイムスロットで通信を行う前記機能を利用して、前記タイムスロットの割り当てを行う
請求項３に記載の情報処理装置。
【請求項７】
前記エレメントは、ポーリングのリクエスト、および前記タイムスロットを設定するリクエストに応答するノーマルモードと、リセットのリクエストに応答するスリープモードを有し、前記スリープモードで前記リセットのリクエストを受信したとき前記ノーマルモードに遷移し、前記ノーマルモードで前記タイムスロットを設定するとき前記スリープモードに遷移する
請求項３に記載の情報処理装置。
【請求項８】
それぞれが独立した処理を実行する複数のエレメントと、
複数の前記エレメントを制御するコントローラと、
前記複数のエレメントに共通に使用され、外部の装置と近接通信するフロントエンドと
を備える情報処理装置の情報処理方法において、
前記コントローラは、起動時に、複数の前記エレメントに対して通信のための異なるタイムスロットを割り当て、
前記フロントエンドは、前記コントローラにより割り当てられたタイムスロットを前記エレメントに供給する
情報処理方法。
【請求項９】
それぞれが独立した処理を実行する複数のエレメントと、
複数の前記エレメントを制御するコントローラと、
前記複数のエレメントに共通に使用され、外部の装置と近接通信するフロントエンドと
を備える情報処理装置を制御するコンピュータに実行させるプログラムにおいて、
前記コントローラが、起動時に、複数の前記エレメントに対して通信のための異なるタイムスロットを割り当て、
前記フロントエンドが、前記コントローラにより割り当てられたタイムスロットを前記エレメントに供給する
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は情報処理装置および方法、並びにプログラムに関し、特に、短い時間で通信を確立するようにした情報処理装置および方法、並びにプログラムに関する。
【背景技術】
【０００２】
本出願人は、単一の周波数の搬送波を利用した、電磁誘導による近接通信（ＮＦＣ（Near Field Communication））について先に提案した（例えば特許文献１）。単一の周波数の搬送波が利用される場合、１つの装置に対して複数の他の装置が同時に通信を行うと、衝突（コリジョン）が起き、１つの装置は他の装置からの信号を有効に受信ができなくなる。そこで、先の提案においては、各装置が、他の装置のＲＦ（Radio Frequency）フィールドが存在しないことを確認してから自らＲＦフィールドを発生するようにした。
【０００３】
ところで、装置（例えば装置Ａ）が他の１つの装置（例えば装置Ｂ）と近接通信する場合において、装置Ａ内に複数の独立した装置（例えば装置ａ、装置ｂ、および装置ｃ）が収容され、装置ａ、装置ｂ、および装置ｃが有線で相互に接続されていることがある。この場合、装置AはＲＦフィールドを１つしか発生することができない。すなわち、装置ａ、装置ｂ、および装置ｃは、他の装置とのＲＦフィールドによる通信部を共用しており、装置ａ、装置ｂ、および装置ｃのいずれか１つのみが装置Ａとして、他の装置Ｂと近接通信を行うことができる。
【０００４】
【特許文献１】特許第３６９５４６４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
装置Ａの装置ａ、装置ｂ、および装置ｃのそれぞれが、装置Bに対して同時に通信しようとすると、衝突が発生する。しかし、装置ａ、装置ｂ、および装置ｃは、独立にＲＦフィールドを発生していないので、装置ａ、装置ｂ、および装置ｃのうちの１つの装置は、先の提案のように、残りの他の装置がＲＦフィールドを発生しているかを予め検出することはできない。
【０００６】
本発明は、このような状況に鑑みてなされたものであり、他の装置がＲＦフィールドを発生しているかを予め検出することができないような状態においても、確実に衝突を回避することができるようにするものである。
【課題を解決するための手段】
【０００７】
本発明の一側面は、それぞれが独立した処理を実行する複数のエレメントと、複数の前記エレメントを制御するコントローラと、前記複数のエレメントに共通に使用され、外部の装置と近接通信するフロントエンドとを備え、前記コントローラは、起動時に、複数の前記エレメントに対して通信のための異なるタイムスロットを割り当て、前記フロントエンドは、前記コントローラにより割り当てられたタイムスロットを前記エレメントに供給する情報処理装置である。
【０００８】
前記エレメントは、１つの筐体内に収容され、有線で接続されており、前記起動時は、電力が供給されたとき、または前記エレメントが取り外されるか、もしくは追加されることができる。
【０００９】
複数の前記エレメントは、着脱が可能なエレメントと固定されたエレメントからなり、固定された前記エレメントは、割り当てられた前記タイムスロットを不揮発的に記憶し、着脱が可能な前記エレメントは、前記タイムスロットを揮発的に記憶することができる。
【００１０】
前記コントローラは、固定された前記エレメントに、最先のタイミングの前記タイムスロットを割り当て、着脱が可能な前記エレメントに、固定された前記エレメントより遅いタイミングの前記タイムスロットを割り当てることができる。
【００１１】
固定された前記エレメントの前記タイムスロットは、製造時に予め割り当てられている。
【００１２】
前記エレメントは、対応するアプリケーションに基づく処理をセキュアに行うエレメントであって、前記アプリケーション毎の識別情報と、前記エレメント毎の識別情報とを有するとともに、前記タイムスロットが割り当てられるまでは、ランダムなタイミングの前記タイムスロットで通信を行う機能を有し、前記コントローラは、ランダムなタイミングの前記タイムスロットで通信を行う前記機能を利用して、前記タイムスロットの割り当てを行うことができる。
【００１３】
前記エレメントは、ポーリングのリクエスト、および前記タイムスロットを設定するリクエストに応答するノーマルモードと、リセットのリクエストに応答するスリープモードを有し、前記スリープモードで前記リセットのリクエストを受信したとき前記ノーマルモードに遷移し、前記ノーマルモードで前記タイムスロットを設定するとき前記スリープモードに遷移することができる。
【００１４】
本発明の一側面は、それぞれが独立した処理を実行する複数のエレメントと、複数の前記エレメントを制御するコントローラと、前記複数のエレメントに共通に使用され、外部の装置と近接通信するフロントエンドとを備える情報処理装置の情報処理方法において、前記コントローラは、起動時に、複数の前記エレメントに対して通信のための異なるタイムスロットを割り当て、前記フロントエンドは、前記コントローラにより割り当てられたタイムスロットを前記エレメントに供給する情報処理方法である。
【００１５】
本発明の一側面は、それぞれが独立した処理を実行する複数のエレメントと、複数の前記エレメントを制御するコントローラと、前記複数のエレメントに共通に使用され、外部の装置と近接通信するフロントエンドとを備える情報処理装置を制御するコンピュータに実行させるプログラムにおいて、前記コントローラが、起動時に、複数の前記エレメントに対して通信のための異なるタイムスロットを割り当て、前記フロントエンドが、前記コントローラにより割り当てられたタイムスロットを前記エレメントに供給するプログラムである。
【００１６】
本発明の一側面においては、コントローラが、起動時に、複数のエレメントに対して通信のための異なるタイムスロットを割り当て、フロントエンドが、コントローラにより割り当てられたタイムスロットをエレメントに供給する。
【発明の効果】
【００１７】
以上のように、本発明の一側面によれば、確実に衝突を回避することができる。
【図面の簡単な説明】
【００１８】
【図１】本発明のＮＦＣ通信システムの一実施の形態の構成を示すブロック図である。
【図２】本発明のＮＦＣ通信システムの他の実施の形態の構成を示すブロック図である。
【図３】ベースバンドコントローラの一実施の形態の機能的構成を示すブロック図である。
【図４】セキュアエレメントの一実施の形態の機能的構成を示すブロック図である。
【図５】製造時のベースバンドコントローラのタイムスロット設定処理を説明するフローチャートである。
【図６】セキュアエレメントの処理を説明するフローチャートである。
【図７】モードを説明する図である。
【図８】製造時のタイムスロット設定処理を説明する図である。
【図９】通常起動時のベースバンドコントローラのタイムスロット設定処理を説明するフローチャートである。
【図１０】通常起動時のベースバンドコントローラのタイムスロット設定処理を説明するフローチャートである。
【図１１】通常起動時のタイムスロット設定処理を説明する図である。
【図１２】通常起動時のタイムスロット設定処理を説明する図である。
【図１３】通常起動時のタイムスロット設定処理を説明する図である。
【図１４】通常起動時のタイムスロット設定処理を説明する図である。
【図１５】外部ＮＦＣデバイスからポーリングする場合の処理を説明する図である。
【図１６】外部ＮＦＣデバイスからデータを読み出す場合の処理を説明する図である。
【図１７】ＮＦＣデバイスからデータを読み出す場合の処理を説明する図である。
【発明を実施するための最良の形態】
【００１９】
以下、図を参照して本発明の実施の形態について説明する。
【００２０】
図１は本発明を適用したＮＦＣ通信システム１の一実施の形態の構成を表している。この実施の形態においては、ＮＦＣ通信システム１は、ＮＦＣデバイス５１と外部ＮＦＣデバイス５２とにより構成されている。
【００２１】
ＮＦＣデバイス５１は、例えばＩＣ（Integrated Circuit）カード、携帯電話機、ＰＤＡ（Personal Digital Assistant）、腕時計、ペン、パーソナルコンピュータなどの、主に携帯自在の装置で構成され、外部ＮＦＣデバイス５２は、例えばリーダ／ライタで構成されるが、もちろんこれらに限定されるものではない。これらは、例えばＩＳＭ（Industrial Scientific Medical）バンドの１３．５６MHzの周波数の搬送波用いて、数１０ｃｍ以内（接触している場合を含む）の距離で、近接通信を行う。
【００２２】
ＮＦＣデバイス５１は、ベースバンドコントローラ６１、セキュアエレメント６２−０，６２−１，６２−２、およびフロントエンド６３を、１つの筺体内に収容している。セキュアエレメント６２−０はＮＦＣデバイス５１の製造時に予め組み込まれ、固定される。これに対してセキュアエレメント６２−１，６２−２は、ＮＦＣデバイス５１の管理者（ＮＦＣデバイス５１をユーザに提供する者）により必要に応じて着脱される。ベースバンドコントローラ６１とフロントエンド６３、並びにセキュアエレメント６２−０，６２−１，６２−２とフロントエンド６３は、図１および図２に示されるように、バスあるいはコードといった有線で相互に接続されている。
【００２３】
ベースバンドコントローラ６１は、セキュアエレメント６２−０，６２−１，６２−２（以下、これらを個々に区別する必要がない場合、単にセキュアエレメント６２と称する）の動作を制御する。特に、ベースバンドコントローラ６１は、製造時に、セキュアエレメント６２−０に対して通信のためのタイムスロットを割り当てる処理を行うとともに、起動時に、複数のセキュアエレメント６２−０，６２−１，６２−２に対して通信のための異なるタイムスロットを割り当てる処理を行う。起動時とは、電力が供給されたとき、またはセキュアエレメント６２が取り外されるか、もしくは追加されたときである。
【００２４】
セキュアエレメント６２−０，６２−１，６２−２は、それぞれ異なるアプリケーションで動作し、独立した処理をセキュアに行う。各アプリケーションにはそれぞれを識別する識別情報としてのシステムコードが割り当てられている。例えば、セキュアエレメント６２−０は、システムコードＳＣ０が割り当てられている鉄道用の定期券として機能し、セキュアエレメント６２−１は、システムコードＳＣ１が割り当てられ、所定の加盟店での支払いに使用されるプリペイドカードとして機能し、セキュアエレメント６２−２は、システムコードＳＣ２が割り当てられているユーザの勤務先のＩＤ（Identification）カードとして機能する。例えば、ＮＦＣデバイス５１が所定のシステムコードのアプリケーションで動作する外部ＮＦＣデバイス５２に近接配置されたとき、各セキュアエレメント６２のうち、そのシステムコードのアプリケーションに対応するものが外部ＮＦＣデバイス５２と通信する。
【００２５】
また、セキュアエレメント６２−０，６２−１，６２−２には、各セキュアエレメントを識別する識別情報としての識別番号ＩＤ０，ＩＤ１，ＩＤ２が、それぞれ割り当てられている。
【００２６】
各アプリケーションの管理者は、自分自身が管理するアプリケーションのシステムコードは知っているが、他の管理者が管理するアプリケーションのシステムコードは知らない。各セキュアエレメント６２は、システムコードを指定することで対応するアプリケーションの他のセキュアエレメント６２の存在を把握し、把握した各セキュアエレメント６２のＩＤを個々に取得して、そのＩＤに基づいて、個々のセキュアエレメント６２と通信する。
【００２７】
フロントエンド６３は、ＮＦＣデバイス５１として外部ＮＦＣデバイス５２と近接通信する。すなわち、フロントエンド６３は、ベースバンドコントローラ６１、およびセキュアエレメント６２−０，６２−１，６２−２に共通に使用され、外部ＮＦＣデバイス５２と近接通信する機能を有する。このため、フロントエンド６３は、ベースバンドコントローラ６１からの信号を、セキュアエレメント６２−０，６２−１，６２−２と外部ＮＦＣデバイス５２に供給し、外部ＮＦＣデバイス５２からの信号を、ベースバンドコントローラ６１、およびセキュアエレメント６２−０，６２−１，６２−２に供給する。また、セキュアエレメント６２−０，６２−１，６２−２のいずれか１つからの信号は残りの２つ、ベースバンドコントローラ６１および外部ＮＦＣデバイス５２に供給される。なお、信号は、パケット単位で授受される。
【００２８】
図３は、ベースバンドコントローラ６１の一実施の形態の機能的構成を表している。ベースバンドコントローラ６１は送信部８１、受信部８２、設定部８３、判定部８４、および選択部８５を有している。
【００２９】
送信部８１は、フロントエンド６３に信号を送信し、受信部８２は、フロントエンド６３からの信号を受信する。設定部８３は、変数に値を設定する。判定部８４は各種の判定を行い、選択部８５は各種の選択を行う。
【００３０】
図４は、セキュアエレメント６２の一実施の形態の機能的構成を表している。セキュアエレメント６２は、判定部１０１、受信部１０２、送信部１０３、記憶部１０４、およびモード設定部１０５を有している。
【００３１】
判定部１０１は、各種の判定を行う。受信部１０２は、フロントエンド６３からの信号を受信する。送信部１０３は、フロントエンド６３に信号を送信する。送信部１０３は、タイムスロットが割り当てられるまでは、ランダムなタイミングのタイムスロットで通信を行う機能を有する。
【００３２】
記憶部１０４は、各アプリケーションのシステムコードと、各セキュアエレメント６２を識別する識別情報としての識別番号を不揮発状態で記憶する。また、セキュアエレメント６２のうち、ＮＦＣデバイス５１に製造時に予め組み込まれ、固定されるセキュアエレメント６２−０は、設定されたタイムスロット番号を不揮発的に記憶する。製造後に装着されるセキュアエレメント６２−１，６２−２は、設定されたタイムスロット番号を揮発的に記憶する。
【００３３】
モード設定部１０５は、セキュアエレメント６２のモードを、ノーマルモードとスリープモードのいずれかに設定する。
【００３４】
次に、図５と図６のフローチャートを参照して、ＮＦＣデバイス５１の製造時におけるタイムスロット設定処理について説明する。なお、図５はＮＦＣデバイス５１の製造時に、ベースバンドコントローラ６１により行われる処理であり、図６はＮＦＣデバイス５１の電源をオンしたとき、セキュアエレメント６２により行われる処理である。
【００３５】
ＮＦＣデバイス５１の製造時において、製造者は、ＮＦＣデバイス５１の電源をオンし、工場の外部ＮＦＣデバイス５２を操作して、タイムスロット番号の書き込みを指示する。図５のステップＳ１０１において、ＮＦＣデバイス５１のベースバンドコントローラ６１の送信部８１は、この指示に基づいて、ポーリングリクエストを送信する。このポーリングリクエストのシステムコードは、すべて（Aｌｌ）とされるので、このコマンドにより全てのセキュアエレメント６２がレスポンスを返すことが要求される。ただし、いまの場合、ＮＦＣデバイス５１に取り付けられているのはセキュアエレメント６２−０だけである。
【００３６】
セキュアエレメント６２の受信部１０２はベースバンドコントローラ６１からの信号を受信する。図６のステップＳ１２１において、判定部１０１は信号を受信したかを判定し、受信していなければ受信するまで待機する。信号が受信された場合、ステップＳ１２２において、判定部１０１は、その受信した信号が自分宛の信号であるかを判定する。いまの場合、自分自身のシステムコードが、ポーリングリクエストで指定されたシステムコードと一致するかが判定される。自分宛の信号でない場合には、その信号は無視され、処理はステップＳ１２１に戻る。
【００３７】
受信した信号が自分宛である場合（いまの場合、すべてのシステムコードが指定されているので、自分自身のシステムコードと一致する）、ステップＳ１２３において判定部１０１は、その信号がポーリングリクエストであるかを判定する。受信したのがポーリングリクエストである場合、すなわち、自分自身のシステムコードが指定され、かつポーリングリクエストが受信された場合、ステップＳ１２６において判定部１０１は、自分自身にタイムスロット番号は設定されているかを判定する。タイムスロット番号が設定されている場合、ステップＳ１２８において、送信部１０３は、設定されているタイムスロット番号のタイミングで、自分自身の識別番号を付加してレスポンスを送信する。いままでの処理では、まだタイムスロット番号は設定されていないので、ステップＳ１２７において、送信部１０３は、ランダムなタイムスロット番号のタイミングで、識別番号を付加してレスポンスを送信する。
【００３８】
図５のステップＳ１０２において、ベースバンドコントローラ６１の受信部８２はセキュアエレメント６２から送信されてきたポーリングレスポンスを受信する。いまの場合、ＮＦＣデバイス５１にはセキュアエレメント６２−０しか取り付けられていないので、このレスポンスは識別番号がＩＤ０のセキュアエレメント６２−０からしか送信されてこない。
【００３９】
ステップＳ１０３において送信部８１は、セットタイムスロットリクエスト（ＩＤ０，ＴＳＮ０）を送信する。すなわち、識別番号がＩＤ０のセキュアエレメント６２−０に対して、スロット番号ＴＳＮ０の設定が要求される。また、このとき、記憶方式として不揮発の記憶方式がパラメータにより指定される。
【００４０】
このセットタイムスロットリクエストは識別番号ＩＤ０が指定されているため、セキュアエレメント６２−０においてのみ取得され、セキュアエレメント６２−１，６２−２が存在していたとしても無視される。すなわち、セキュアエレメント６２−０の判定部１０１は、ステップＳ１２１で信号を受信したと判定すると、ステップＳ１２２で受信したのが自分宛の信号であるかを判定する。いまの場合、識別番号ＩＤ０が指定されているためセキュアエレメント６２−０宛の信号であると判定される。さらに判定部１０１は、ステップＳ１２３でその信号はポーリングリクエストではないと判定した後、ステップＳ１２４において、その信号がセットタイムスロットリクエストかを判定する。
【００４１】
受信した信号がセットタイムスロットリクエストであると判定された場合、ステップＳ１２９において判定部１０１は、セットタイムスロットの記憶方式のパラメータに基づいて、記憶方式として、不揮発的な記憶が指定されたかを判定する。不揮発的な記憶が指定されていない場合（すなわち、揮発的な記憶が指定された場合）、ステップＳ１３１において記憶部１０４は、受信したタイムスロット番号を、自己のタイムスロット番号として揮発的に記憶する。揮発的な記憶なので、この記憶は電力の供給が中止されると消去される。
【００４２】
これに対して、セットタイムスロットの記憶方式として、パラメータにより不揮発的な記憶が指定された場合、ステップＳ１３０において記憶部１０４は受信したタイムスロット番号を不揮発的に記憶する。このタイムスロット番号は不揮発的に記憶されるので、ＮＦＣデバイス５１に電力が供給されない状態になったとしても保持される。タイムスロット番号がすでに記憶されている場合でもステップＳ１３０の処理は実行され、新しいタイムスロット番号が上書きされる。
【００４３】
ステップＳ１３０またはＳ１３１の記憶処理の後、ステップＳ１３２において送信部１０３は、自分自身の識別番号を付加してレスポンスを送信する。いまの場合、セキュアエレメント６２−０が識別番号ＩＤ０を付加してレスポンスを送信する。
【００４４】
セキュアエレメント６２は図７に示されるように、ノーマルモードとスリープモードの２つのモードを有しており、初期状態においてはノーマルモードが設定されている。セキュアエレメント６２は、ノーマルモードにおいてはポーリングリクエスト、セットタイムスロットリクエスト、その他のコマンドに応答可能であるが、スリープモードにおいてはリセットリクエストのみに応答可能とされる。モード設定部１０５はノーマルモードにおいてタイムスロットを設定するときは、モードをスリープモードに遷移させ、スリープモードでリセットリクエストを受信したときは、モードをノーマルモードに遷移させる。いまの場合、ノーマルモードでセットタイムスロットリクエストが受信されたため、ステップＳ１３３においてモード設定部１０５はスリープモードを設定する。
【００４５】
ステップＳ１３２でセットタイムスロットレスポンスが送信されると、ベースバンドコントローラ６１の受信部８２は、ステップＳ１０４において、そのセットタイムスロットレスポンス（ＩＤ０）を受信する。すなわち、識別番号ＩＤ０が付加されたセキュアエレメント６２−０からのこのレスポンスを受信して、ベースバンドコントローラ６１はセキュアエレメント６２−０にタイムスロット番号ＴＳＮ０が記憶されたことを確認することができる。なおステップＳ１３２とステップＳ１３３の処理は、順番が逆であってもよい。
【００４６】
図６のステップＳ１２４において受信したのがセットタイムスロットリクエストではないと判定された場合、ステップＳ１２５乃至Ｓ１３６の処理が実行されるのであるが、この処理については、次の図９と図１０の通常起動時におけるタイムスロット設定処理に関連して説明する。
【００４７】
製造時におけるタイムスロットの設定処理に関する、ベースバンドコントローラ６１、セキュアエレメント６２−０、およびフロントエンド６３の相互の関係を、図８を参照してさらに説明する。
【００４８】
ステップＳ２０１において、ベースバンドコントローラ６１の送信部８１はポーリングリクエストを全てのシステムコードのセキュアエレメント６２を対象に送信する。フロントエンド６３はステップＳ２２１においてこのリクエストを受信すると、ステップＳ２２２において、このリクエストを全セキュアエレメント６２にブロードキャスト送信または経路制御して送信する。ただし、いまの場合、セキュアエレメント６２−０のみが取り付けられているので、セキュアエレメント６２−０の受信部１０２がステップＳ２１１でこれを受信する。
【００４９】
ステップＳ２１２でセキュアエレメント６２−０の送信部１０３は、このリクエストに対して、自分自身の識別番号であるＩＤ０を付加してポーリングレスポンスを返す。このレスポンスはリクエストの送信元であるベースバンドコントローラ６１に対して、ランダムなタイムスロット番号のタイミングで送信される。ステップＳ２２３でこのレスポンスを受信したフロントエンド６３は、ステップＳ２２４においてこのレスポンスを、ベースバンドコントローラ６１に送信する。
【００５０】
ステップＳ２０２において、ベースバンドコントローラ６１は、その受信部１０２でこのレスポンスを受信すると、応答したセキュアエレメント６２−０の識別番号ＩＤ０を知ることができる。従って、以後、ベースバンドコントローラ６１はセキュアエレメント６２−０と直接通信することが可能となる。
【００５１】
そこでステップＳ２０３においてベースバンドコントローラ６１の送信部８１は、セットタイムスロットリクエストを識別番号がＩＤ０であるセキュアエレメント６２−０に対して送信する。このリクエストには、タイムスロット番号ＴＳＮとして、最小の値ＴＳＮ０が設定される。
【００５２】
ステップＳ２２５でこのリクエストを受信したフロントエンド６３はステップＳ２２６において、このリクエストをセキュアエレメント６２−０に送信する。ステップＳ２１３において、識別番号がＩＤ０であるセキュアエレメント６２−０は、その受信部１０２でこのリクエストを受信すると、記憶部１０４はそのタイムスロット番号ＴＳＮ０を不揮発的に記憶する。その結果、以後、セキュアエレメント６２−０は、記憶したタイムスロット番号ＴＳＮ０のタイミングで通信する。このタイムスロット番号ＴＳＮ０は最も早いタイミングの値なので、セキュアエレメント６２−０は、他のセキュアエレメント６２より時間的に優先して通信することができる。
【００５３】
ステップＳ２１４においてセキュアエレメント６２−０の送信部１０１は、セットタイムスロットレスポンスを、リクエストの送信元であるベースバンドコントローラ６１に送信する。このレスポンスには、送信者の識別番号としてＩＤ０が付加されるとともに、確認のため、設定、記憶したタイムスロット番号ＴＳＮ０が付加されている。
【００５４】
ステップＳ２２７でこのレスポンスを受信すると、ステップＳ２２８においてフロントエンド６３は、このレスポンスをベースバンドコントローラ６１に送信する。ベースバンドコントローラ６１の受信部８２は、ステップＳ２０４でこのレスポンスを受信することで、タイムスロット番号がセキュアエレメント６２−０に記憶されたことを確認することができる。
【００５５】
以上のようにしてＮＦＣデバイス５１に製造時に取り付けられているセキュアエレメント６２−０については、タイムスロット番号が予め不揮発的に記憶される。なお、予め取り付けられるセキュアエレメント６２が複数個存在する場合には、それぞれにタイムスロット番号が不揮発的に記憶される。
【００５６】
セキュアエレメント６２−０が固定されたＮＦＣデバイス５１には、図１と図２に示されるように、さらに着脱自在のセキュアエレメント６２−１，６２−２が取り付けられて使用される。
【００５７】
このように、セキュアエレメント６２−０，６２−１，６２−２を有するＮＦＣデバイス５１を使用する場合、ＮＦＣデバイス５１に電力が供給されたとき、図９と図１０の通常起動時におけるタイムスロット設定処理が実行される。
【００５８】
ＮＦＣデバイス５１の電源が投入されたとき、あるいはＮＦＣデバイス５１からデータを読み取ったり、データを書き込んだりするのに充分な時間をかけることができる場合には、外部ＮＦＣデバイス５２に近接配置され、電力が供給されたとき、ＮＦＣデバイス５１のベースバンドコントローラ６１は、図９と図１０の通常起動時におけるタイムスロット設定処理を自ら実行する。すなわち、固定されたセキュアエレメント６２−０に、最先のタイミングのタイムスロットが割り当てられているのに対して、着脱が可能なセキュアエレメント６２−１，６２−2には、固定されたセキュアエレメント６２−０より遅いタイミングのタイムスロットが次のように割り当てられる。
【００５９】
ステップＳ３０１において、ベースバンドコントローラ６１の送信部８１は、ポーリングリクエスト（Ａｌｌ，ＴＳＮmax）を送信する。このリクエストの対象は全て（Ａｌｌ）のシステムコードのセキュアエレメント６２とされる。また、このときのタイムスロット番号ＴＳＮは最大値ＴＳＮmax（例えば１５）とされる。すなわち、セキュアエレメント６２は最大の番号までの任意の番号のタイミングにレスポンスを返すことができる。
【００６０】
各セキュアエレメント６２の受信部１０２は、このリクエストを受信すると、タイムスロット番号が設定されているかを判定する（図６のステップＳ１２６）。セキュアエレメント６２−０は上述した製造時の処理によりすでにタイムスロット番号が設定され、不揮発的に記憶されている。そこで、セキュアエレメント６２−０の送信部１０３は、タイムスロット番号ＴＳＮ０のタイミングでポーリングレスポンスをベースバンドコントローラ６１に送信する（図６のステップＳ１２８）。これに対してセキュアエレメント６２−１，６２−２は、まだタイムスロット番号が設定されていないので、ランダムなタイムスロット番号のタイミングでレスポンスを返す（図６のステップＳ１２７）。
【００６１】
セキュアエレメント６２−０のタイムスロット番号は最も早いタイミングに設定されているので、ステップＳ３０２でベースバンドコントローラ６１の受信部８２は各セキュアエレメント６２のうちの、ＩＤ０のセキュアエレメント６２−０からのポーリングレスポンスを受信する。ステップＳ３０３においてベースバンドコントローラ６１の送信部８１は、セットタイムスロットリクエストを送信する。このリクエストには、送信先の識別番号としてセキュアエレメント６２−０のＩＤ０が、タイムスロット番号としてＴＳＮ０が、設定されている。
【００６２】
セキュアエレメント６２−０の受信部１０２がこのリクエストを受信すると、セキュアエレメント６２−０の識別番号はＩＤ０であり、すでにタイムスロット番号は記憶されているので、送信部１０３がレスポンスを返し（図６のステップＳ１３２）、モード設定部１０５はモードをスリープモードに設定する（図６のステップＳ１３３）。従って、以後、セキュアエレメント６２−０は、リセットリクエスト以外のリクエストには応答しなくなる。従って、他のセキュアエレメント６２の応答が妨げられることが防止される。
【００６３】
ステップＳ３０４においてベースバンドコントローラ６１の受信部８２は、識別番号がＩＤ０であるセキュアエレメント６２−０からのこのレスポンスを受信し、スリープモードに遷移したことを確認する。
【００６４】
ステップＳ３０５においてベースバンドコントローラ６１の設定部８３は、タイムスロット番号ＴＳＮをＴＳＮ１に設定する。すなわち、セキュアエレメント６２−０に割り当てられた番号ＴＳＮ０の次に早いタイミングの番号ＴＳＮ１が設定される。
【００６５】
ステップＳ３０６において、ベースバンドコントローラ６１の判定部８４は、他にも有効なレスポンスがあるかを判定する。すなわち、セキュアエレメント６２−１，６２−２は、ランダムなタイムスロットの番号のタイミングでポーリングリクエストに対するレスポンスを返してくる。タイムスロットの番号が衝突しなければ、ベースバンドコントローラ６１はそのレスポンスを受信することができる。衝突があったことは、パケットに付加されているエラーチェックコードが誤っていることで確認することができる。エラーチェックコードが正しければ、衝突は発生しなかったことになる。
【００６６】
他にも有効なレスポンスが存在する場合には、ステップＳ３０７において選択部８５は、１つの有効なレスポンスを選択する。ステップＳ３０８において送信部８１は、選択したレスポンスを送信したセキュアエレメント６２に、セットタイムスロットリクエストを送信する。このとき、タイムスロット番号ＴＳＮはステップＳ３０５で設定された値ＴＳＮ１とされる。また、セキュアエレメントは着脱可能であるため、記憶方式は揮発記憶とされる。そのため、この設定処理は、起動時、すなわち、電力が供給されたとき、またはセキュアエレメント６２が取り外されるか、もしくは追加されたときに実行される。
【００６７】
このリクエストを受信したセキュアエレメント６２はランダムなタイムスロットの番号のタイミングでレスポンスを返す（図６のステップＳ１２７）。ベースバンドコントローラ６１の受信部８２はこのセットタイムスロットレスポンスをステップＳ３０９で受信する。ステップＳ３１０で設定部８３は、タイムスロット番号ＴＳＮを１だけインクリメントする。いまの場合、ＴＳＮ２とされる。
【００６８】
その後、処理はステップＳ３０６に戻り、再び他にも有効なレスポンスがあるかが判定される。さらに他にも有効なレスポンスがある場合には、ステップＳ３０７でそのレスポンスが選択され、同様の処理が行われる。
【００６９】
他に有効なレスポンスがないと判定された場合、ステップＳ３１１において、ベースバンドコントローラ６１の送信部８１はポーリングリクエストを送信する。このとき全てのシステムコードが指定され、タイムスロット番号は最大値ＴＳＮｍａｘが設定される。
【００７０】
各セキュアエレメント６２はこのリクエストに対してレスポンスを返す（図６のステップＳ１２７）。ただし、すでにタイムスロットが設定されているセキュアエレメント６２は、スリープモードが設定されているため（図６のステップＳ１３３）、レスポンスを返してこない。その結果、すでにタイムスロット番号が設定されているセキュアエレメント６２からのレスポンスに邪魔されることなく、まだタイムスロット番号が設定されていないセキュアエレメント６２からのレスポンスだけを受信することができ、タイムスロット番号の設定処理を迅速に実行することができる。
【００７１】
ステップＳ３１２でベースバンドコントローラ６１の受信部８２はセキュアエレメント６２からのポーリングレスポンスを受信する。判定部８４はステップＳ３１３において、有効なレスポンスがあるかを判定する。有効なレスポンスがある場合には、ステップＳ３１４において設定部８３は、レスポンスがなかったポーリングの回数を表す変数Ｎを０に設定する。
【００７２】
その後、ステップＳ３０７乃至ステップＳ３１０、ステップＳ３０６において、有効なレスポンスが選択され、そのレスポンスを送信したセキュアエレメント６２に対してセットタイムスロットリクエストを送信し、タイムスロットを設定させる処理が実行される。
【００７３】
有効なレスポンスがない場合にはステップＳ３１５において、設定部８３は変数Ｎを１だけインクリメントする。ステップＳ３１６において、判定部８４は変数Ｎが予め設定されている最大値Ｎmaxに達したかを判定する。変数Nが最大値Ｎmaxに達していない場合、すなわち、レスポンスがなかったポーリング回数がまだ最大値Ｎmaxに達していない場合、処理はステップＳ３１１に戻り、それ以降の処理が繰り返される。
【００７４】
レスポンスがなかったポーリング回数が最大値Ｎmaxに達した場合、すべてのセキュアエレメント６２に対してタイムスロットが設定されたものと考えられる。そこで、次に、スリープモードに設定されているセキュアエレメント６２を、ノーマルモードに遷移させる処理が実行される。
【００７５】
すなわち、ステップＳ３１７において判定部８４は、確認された全てのセキュアエレメント６２にリセットリクエストを送信したかを判定する。識別番号を確認したセキュアエレメント６２の中に、まだリセットリクエストを送信していないセキュアエレメント６２が存在する場合、ステップＳ３１８において、選択部８５はその中から１つのセキュアエレメント６２を選択する。ステップＳ３１９において、送信部３２０は選択したセキュアエレメント６２に対してリセットリクエストを送信する。
【００７６】
セキュアエレメント６２の判定部１０１は図６のステップＳ１２５において、受信したのがリセットリクエストであるかを判定する。受信したのがリセットリクエストである場合、ステップＳ１３４において送信部１０３は、自分自身の識別番号を付加してレスポンスを送信する。ステップＳ１３５において、モード設定部１０５は、ノーマルモードを設定する。これにより、セキュアエレメント６２は、以後、全てのリクエストなどを受信し、処理することができるようになる。なおステップＳ１３４とステップＳ１３５の処理は、順番が逆であってもよい。その後、処理はステップＳ１２１に戻り、それ以降の処理が繰り返される。
【００７７】
ステップＳ１２５において、受信したのがリセットリクエストではないと判定された場合、受信されたのはポーリングリクエスト、セットタイムスロットリクエスト、リセットリクエスト以外の信号であるから、ステップＳ１３６において、セキュアエレメント６２はその信号に対応する処理を実行する。その後、処理はステップＳ１２１に戻り、それ以降の処理が繰り返される。
【００７８】
図１０に戻って、ベースバンドコントローラ６１の受信部８２は、ステップＳ３２０でセキュアエレメント６２が図６のステップＳ１３４で送信したリセットレスポンスを受信する。これによりそのセキュアエレメント６２がノーマルモードに設定されたので、以後、通常の処理が可能となる。
【００７９】
その後、ステップＳ３１７において判定部８４は、再び確認された全てのセキュアエレメント６２にリセットリクエストを送信したかを判定する。識別番号を確認したセキュアエレメント６２の中に、まだリセットリクエストを送信していないセキュアエレメント６２が存在する場合、ステップＳ３１８において、その中から１つのセキュアエレメント６２を選択し、ステップＳ３１９でそのセキュアエレメント６２に対してリセットリクエストを送信する処理が実行され、ステップＳ３２０でそのレスポンスを受信する処理が行われる。
【００８０】
以上のようにして、ステップＳ３１７において、確認された全てのセキュアエレメント６２にリセットリクエストを送信したと判定されるまで同様の処理が繰り返され、全てのセキュアエレメント６２がノーマルモードに遷移したとき、処理は終了する。
【００８１】
次に、図１１乃至図１４を参照して、ベースバンドコントローラ６１、セキュアエレメント６２、およびフロントエンド６３の相互の間における、通常起動時におけるタイムスロット設定処理に関して説明する。
【００８２】
ステップＳ４０１において、ベースバンドコントローラ６１の送信部８１はポーリングリクエストを全てのシステムコードのセキュアエレメント６２を対象に送信する。フロントエンド６３はステップＳ５４１においてこのリクエストを受信すると、ステップＳ５４２において、このリクエストを全セキュアエレメント６２にブロードキャスト送信または経路制御して送信する。いまの場合、セキュアエレメント６２−０だけでなく、セキュアエレメント６２−1，６２−２が取り付けられているので、セキュアエレメント６２−０，６２−1，６２−２の受信部１０２が，それぞれステップＳ４５１，Ｓ４８１，Ｓ５１１でこれを受信する。
【００８３】
なお、ポーリングリクエストはその送信元にも送信されるが、ここでは便宜上、図示とその説明は省略する。
【００８４】
ステップＳ４５２でセキュアエレメント６２−０の送信部１０３は、このリクエストに応答する。すなわちセキュアエレメント６２−０は、自分自身の識別番号であるＩＤ０を付加して、リクエストの送信元であるベースバンドコントローラ６１に対してポーリングレスポンスを、記憶されている最先のタイムスロット番号ＴＳＮ０で送信する。ステップＳ５４３でこのレスポンスを受信したフロントエンド６３は、ステップＳ５４４においてこのレスポンスを、ベースバンドコントローラ６１に送信する。
【００８５】
ステップＳ４０２において、ベースバンドコントローラ６１は、その受信部８２でこのレスポンスを受信すると、応答したセキュアエレメント６２−０の識別番号ＩＤ０を知ることができる。従って、以後、ベースバンドコントローラ６１はセキュアエレメント６２−０と直接通信することが可能となる。
【００８６】
ポーリングリクエストに対する応答はセキュアエレメント６２−１，６２−２においても行われる。ただし、セキュアエレメント６２−１，６２−２にはタイムスロット番号がまだ設定されていないので、応答はランダムなスロット番号のタイミングで行われる。
【００８７】
例えばセキュアエレメント６２−２がセキュアエレメント６２−０の次に早いタイムスロットの番号のタイミングで応答したとすると、ステップＳ５１２において、セキュアエレメント６２−２の送信部１０３は、自分自身の識別番号ＩＤ２を付加してポーリングレスポンスを、リクエストの送信元であるベースバンドコントローラ６１に返す。フロントエンド６３はステップＳ５４５でこのポーリングレスポンスを受信すると、ステップＳ５４６でこのポーリングレスポンスを、ポーリングリクエストの送信元であるベースバンドコントローラ６１に送信する。
【００８８】
ステップＳ４０３において、ベースバンドコントローラ６１はその受信部８２でこのレスポンスを受信すると、応答したセキュアエレメント６２−２の識別番号ＩＤ２を知ることができる。従って、以後、ベースバンドコントローラ６１はセキュアエレメント６２−２と直接通信することが可能となる。
【００８９】
セキュアエレメント６２−１がセキュアエレメント６２−２の次に早いタイムスロットの番号のタイミングで応答したとすると、ステップＳ４８２において、セキュアエレメント６２−１の送信部１０３は、自分自身の識別番号ＩＤ１を付加してポーリングレスポンスを、リクエストの送信元であるベースバンドコントローラ６１に返す。フロントエンド６３はステップＳ５４７でこのポーリングレスポンスを受信すると、ステップＳ５４８でこのポーリングレスポンスを、ポーリングリクエストの送信元であるベースバンドコントローラ６１に送信する。
【００９０】
ステップＳ４０４において、ベースバンドコントローラ６１はその受信部８２でこのレスポンスを受信すると、応答したセキュアエレメント６２−１の識別番号ＩＤ１を知ることができる。従って、以後、ベースバンドコントローラ６１はセキュアエレメント６２−１と直接通信することが可能となる。
【００９１】
以上のようにして識別番号を知ったベースバンドコントローラ６１は、レスポンスを受信した順番に、各セキュアエレメント６２に対して、タイムスロット番号の割り当て処理を実行する。ただし、以下においては、衝突が発生し、セキュアエレメント６２−１，６２−２にはまだタイムスロット番号が設定されていないものとする。
【００９２】
ステップＳ４０５において、ベースバンドコントローラ６１の送信部８１は、識別番号がＩＤ０であるセキュアエレメント６２−０に対して、タイムスロット番号ＴＳＮ０のセットタイムスロットリクエストを送信する。ただし、上述したようにセキュアエレメント６２−０に対しては、タイムスロット番号ＴＳＮ０が製造時に既に設定、記憶されており、このリクエストはセキュアエレメント６２−０をスリープ状態にするために行われる。
【００９３】
ステップＳ５４９でセットタイムスロットリクエストを受信したフロントエンド６３は、ステップＳ５５０でそのリクエストをセキュアエレメント６２−０に送信する。もちろん信号はセキュアエレメント６２−１，６２−２にも送信されるが、宛先が一致しないのでそこでは無視される。
【００９４】
ステップＳ４５３でセキュアエレメント６２−０の受信部１０２はセットタイムスロットリクエストを受信すると、記憶部１０４は既にタイムスロット番号ＴＳＮ０を記憶しているので、新たな記憶処理を行われず(図６のステップＳ１３０のＹＥＳ)、送信部１０３はステップＳ４５４でセットタイムスロットレスポンスを返す(図６のステップＳ１３２)。そしてモード設定部１０５はスリープモードを設定する(図６のステップＳ１３３)。
【００９５】
ステップＳ５５１でこのセットタイムスロットレスポンスを受信したフロントエンド６３は、ステップＳ５５２でこのレスポンスをリクエストの送信元であるベースバンドコントローラ６１に送信する。受信部８２がステップＳ４０６でこのレスポンスを受信したベースバンドコントローラ６１は、これによりセキュアエレメント６２−０がスリープモードに遷移したことを知ることができる。
【００９６】
いまの場合、セキュアエレメント６２−１，６２−２の識別番号をまだ識別していないので、ステップＳ４０７において、ベースバンドコントローラ６１の送信部８１はポーリングリクエストを全てのシステムコードのセキュアエレメント６２を対象に送信する。フロントエンド６３はステップＳ５５３においてこのリクエストを受信すると、ステップＳ５５４において、このリクエストを全セキュアエレメント６２にブロードキャスト送信または経路制御して送信する。セキュアエレメント６２−０，６２−1，６２−２の受信部１０２が，それぞれステップＳ４５５，Ｓ４８３，Ｓ５１３でこれを受信する。ただしいまの場合、セキュアエレメント６２−０は既にスリープモードに遷移しており、セキュアエレメント６２−１，６２−２のみがランダムなタイムスロット番号のタイミングで応答を返す。
【００９７】
例えばセキュアエレメント６２−２が先に応答したとすると、ステップＳ５１４においてその送信部１０３は、このリクエストに対して、自分自身の識別番号であるＩＤ２を付加して、リクエストの送信元であるベースバンドコントローラ６１に対してポーリングレスポンスを送信する。ステップＳ５５５でこのレスポンスを受信したフロントエンド６３は、ステップＳ５５６においてこのレスポンスを、ベースバンドコントローラ６１に送信する。ステップＳ４０８でベースバンドコントローラ６１の受信部８２は、このレスポンスを受信する。
【００９８】
次に、セキュアエレメント６２−１が応答したとすると、ステップＳ４８４においてその送信部１０３は、ポーリングリクエストに対して、自分自身の識別番号であるＩＤ１を付加して、リクエストの送信元であるベースバンドコントローラ６１に対してポーリングレスポンスを送信する。ステップＳ５５７でこのレスポンスを受信したフロントエンド６３は、ステップＳ５５８においてこのレスポンスを、ベースバンドコントローラ６１に送信する。ステップＳ４０９でベースバンドコントローラ６１の受信部８２は、このレスポンスを受信する。
【００９９】
ベースバンドコントローラ６１はレスポンスを受信した順番にタイムスロット番号の設定処理を実行する。すなわち、ステップＳ４１０においてベースバンドコントローラ６１の送信部８１は、セットタイムスロットリクエストを識別番号がＩＤ２であるセキュアエレメント６２−２に対して送信する。このリクエストには、タイムスロット番号ＴＳＮとして、最小の値ＴＳＮ０の次に早いタイミングの番号ＴＳＮ１が設定される。
【０１００】
ステップＳ５５９でこのリクエストを受信したフロントエンド６３はステップＳ５６０において、このリクエストを識別番号がＩＤ２であるセキュアエレメント６２−２に送信する。ステップＳ５１５でセキュアエレメント６２−２の受信部１０２はこのリクエストを受信する。もちろんリクエストはセキュアエレメント６２−０，６２−１にも送信され、ステップＳ４５６，Ｓ４８５でそれぞれ受信されるが、宛先が一致しないのでそこでは無視される。
【０１０１】
ステップＳ５１５において、セキュアエレメント６２−２は、その受信部１０２でこのリクエストを受信すると、記憶部１０４はそのタイムスロット番号ＴＳＮ１を揮発的に記憶する。その結果、以後、セキュアエレメント６２−２は、記憶したタイムスロット番号ＴＳＮ１のタイミングで通信する。
【０１０２】
ステップＳ５１６においてセキュアエレメント６２−２の送信部１０１は、セットタイムスロットレスポンスを、リクエストの送信元であるベースバンドコントローラ６１に送信する。（図６のステップＳ１３２）このレスポンスには、送信者の識別番号としてＩＤ２が付加されるとともに、確認のため、設定、記憶したタイムスロット番号ＴＳＮ１が付加されている。このレスポンスを出力すると、スリープモードが設定される（図６のステップＳ１３３）。
【０１０３】
ステップＳ５６１でこのレスポンスを受信すると、ステップＳ５６２においてフロントエンド６３は、このレスポンスをベースバンドコントローラ６１に送信する。ベースバンドコントローラ６１の受信部８２は、ステップＳ４１１でこのレスポンスを受信することで、タイムスロット番号がセキュアエレメント６２−２に記憶されたことを確認することができる。
【０１０４】
ステップＳ４８４で送信されたセキュアエレメント６２−１からのレスポンスを衝突で正しく受信できなかった場合には、ベースバンドコントローラ６１はステップＳ４１２において、再びポーリングリクエストを全てのシステムコードのセキュアエレメント６２を対象に送信する。フロントエンド６３はステップＳ５６３においてこのリクエストを受信すると、ステップＳ５６４において、このリクエストを全セキュアエレメント６２にブロードキャスト送信または経路制御して送信する。セキュアエレメント６２−０，６２−1，６２−２の受信部１０２が，それぞれステップＳ４５７，Ｓ４８６，Ｓ５１７でこれを受信する。ただしいまの場合、セキュアエレメント６２−０，６２−２は既にスリープモードに遷移しており、セキュアエレメント６２−１のみがランダムなタイムスロット番号のタイミングで応答を返す。
【０１０５】
セキュアエレメント６２−１の送信部１０３は、ステップＳ４８７において、ポーリングリクエストに対して、自分自身の識別番号であるＩＤ１を付加して、リクエストの送信元であるベースバンドコントローラ６１に対してポーリングレスポンスを送信する。ステップＳ５６５でこのレスポンスを受信したフロントエンド６３は、ステップＳ５６６においてこのレスポンスを、ベースバンドコントローラ６１に送信する。ステップＳ４１３でベースバンドコントローラ６１の受信部８２は、このレスポンスを受信する。
【０１０６】
次にベースバンドコントローラ６１はタイムスロット番号の設定処理を実行する。すなわち、ステップＳ４１４においてベースバンドコントローラ６１の送信部８１は、セットタイムスロットリクエストを識別番号がＩＤ１であるセキュアエレメント６２−１に対して送信する。このリクエストには、タイムスロット番号ＴＳＮ２が設定される。
【０１０７】
ステップＳ５６７でこのリクエストを受信したフロントエンド６３はステップＳ５６８において、このリクエストを識別番号がＩＤ１であるセキュアエレメント６２−１に送信する。ステップＳ４８８でセキュアエレメント６２−１の受信部１０２はこのリクエストを受信する。もちろんリクエストはセキュアエレメント６２−０，６２−２にも送信され、ステップＳ４５８，Ｓ５１８でそれぞれ受信されるが、宛先が一致しないのでそこでは無視される。
【０１０８】
ステップＳ４８８において、セキュアエレメント６２−１は、その受信部１０２でこのリクエストを受信すると、記憶部１０４はそのタイムスロット番号ＴＳＮ２を揮発的に記憶する。その結果、以後、セキュアエレメント６２−１は、記憶したタイムスロット番号ＴＳＮ２のタイミングで通信する。
【０１０９】
ステップＳ４８９においてセキュアエレメント６２−１の送信部１０１は、セットタイムスロットレスポンスを、リクエストの送信元であるベースバンドコントローラ６１に送信する。このレスポンスには、送信者の識別番号としてＩＤ１が付加されるとともに、確認のため、設定、記憶したタイムスロット番号ＴＳＮ２が付加されている。このレスポンスを出力したとき、セキュアエレメント６２−１のモードはスリープモードに遷移する（図６のステップＳ１３３）。
【０１１０】
ステップＳ５６９でこのレスポンスを受信すると、ステップＳ５７０においてフロントエンド６３は、このレスポンスをベースバンドコントローラ６１に送信する。ベースバンドコントローラ６１の受信部８２は、ステップＳ４１５でこのレスポンスを受信することで、タイムスロット番号がセキュアエレメント６２−１に記憶されたことを確認することができる。
【０１１１】
以上のようにしてタイムスロット番号の設定が完了したので、セキュアエレメント６２のモードをノーマルモードに戻す処理が次のように行われる。
【０１１２】
ステップＳ４１６においてベースバンドコントローラ６１の送信部８１は、リセットリクエストを識別番号がＩＤ０であるセキュアエレメント６２−０に対して送信する。
【０１１３】
ステップＳ５７１でこのリクエストを受信したフロントエンド６３はステップＳ５７２において、このリクエストを識別番号がＩＤ０であるセキュアエレメント６２−０に送信する。ステップＳ４５９でセキュアエレメント６２−０の受信部１０２はこのリクエストを受信する。もちろんリクエストはセキュアエレメント６２−１，６２−２にも送信され、ステップＳ４９０，Ｓ５１９でそれぞれ受信されるが、宛先が一致しないのでそこでは無視される。
【０１１４】
ステップＳ４５９において、セキュアエレメント６２−０は、その受信部１０２でこのリクエストを受信すると、ステップＳ４６０において送信部１０３は、識別番号ＩＤ０を付加したレスポンスを、リクエストの送信元のベースバンドコントローラ６１に送信し(図６のステップＳ１３４)、モード設定部１０５はノーマルモードを設定する（図６のステップＳ１３５）。その結果、以後、セキュアエレメント６２−０は、通常の処理が可能となる。
【０１１５】
ステップＳ５７３でこのレスポンスを受信すると、ステップＳ５７４においてフロントエンド６３は、このレスポンスをベースバンドコントローラ６１に送信する。ベースバンドコントローラ６１の受信部８２は、ステップＳ４１７でこのレスポンスを受信することで、セキュアエレメント６２−０がノーマルモードに遷移したことを確認することができる。
【０１１６】
同様に、他のセキュアエレメント６２をノーマルモードに遷移させるための処理が実行される。
【０１１７】
ステップＳ４１８においてベースバンドコントローラ６１の送信部８１は、リセットリクエストを識別番号がＩＤ２であるセキュアエレメント６２−２に対して送信する。
【０１１８】
ステップＳ５７５でこのリクエストを受信したフロントエンド６３はステップＳ５７６において、このリクエストを識別番号がＩＤ２であるセキュアエレメント６２−２に送信する。ステップＳ５２０でセキュアエレメント６２−２の受信部１０２はこのリクエストを受信する。もちろんリクエストはセキュアエレメント６２−０，６２−１にも送信され、ステップＳ４６１，Ｓ４９１でそれぞれ受信されるが、宛先が一致しないのでそこでは無視される。
【０１１９】
ステップＳ５２０において、セキュアエレメント６２−２は、その受信部１０２でこのリクエストを受信すると、ステップＳ５２１において送信部１０３は、識別番号ＩＤ２を付加したレスポンスを、リクエストの送信元のベースバンドコントローラ６１に送信し(図６のステップＳ１３４)、モード設定部１０５はノーマルモードを設定する（図６のステップＳ１３５）。その結果、以後、セキュアエレメント６２−２は、通常の処理が可能となる。
【０１２０】
ステップＳ５７７でこのレスポンスを受信すると、ステップＳ５７８においてフロントエンド６３は、このレスポンスをベースバンドコントローラ６１に送信する。ベースバンドコントローラ６１の受信部８２は、ステップＳ４１９でこのレスポンスを受信することで、セキュアエレメント６２−２がノーマルモードに遷移したことを確認することができる。
【０１２１】
さらにステップＳ４２０においてベースバンドコントローラ６１の送信部８１は、リセットリクエストを識別番号がＩＤ１であるセキュアエレメント６２−１に対して送信する。
【０１２２】
ステップＳ５７９でこのリクエストを受信したフロントエンド６３はステップＳ５８０において、このリクエストを識別番号がＩＤ１であるセキュアエレメント６２−１に送信する。ステップＳ４９２でセキュアエレメント６２−１の受信部１０２はこのリクエストを受信する。もちろんリクエストはセキュアエレメント６２−０，６２−２にも送信され、ステップＳ４６２，Ｓ５２２でそれぞれ受信されるが、宛先が一致しないのでそこでは無視される。
【０１２３】
ステップＳ４９２において、セキュアエレメント６２−１は、その受信部１０２でこのリクエストを受信すると、ステップＳ４９３において送信部１０３は、識別番号ＩＤ１を付加したレスポンスを、リクエストの送信元のベースバンドコントローラ６１に送信し(図６のステップＳ１３４)、モード設定部１０５はノーマルモードを設定する（図６のステップＳ１３５）。その結果、以後、セキュアエレメント６２−１は、通常の処理が可能となる。
【０１２４】
ステップＳ５８１でこのレスポンスを受信すると、ステップＳ５８２においてフロントエンド６３は、このレスポンスをベースバンドコントローラ６１に送信する。ベースバンドコントローラ６１の受信部８２は、ステップＳ４２０でこのレスポンスを受信することで、セキュアエレメント６２−１がノーマルモードに遷移したことを確認することができる。
【０１２５】
なお、以上においては、各セキュアエレメント６２を個々に指定してリセットリクエストを出力するようにしたが、全てのセキュアエレメント６２をまとめて対象として指定することも可能である。
【０１２６】
以上のようにしてタイムスロット番号が重ならないように割り当てられるので、以後、衝突は発生しない。例えば外部ＮＦＣデバイス５２からポーリングがかけられた場合の処理は図１５に示されるようになる。
【０１２７】
ステップＳ６０１において外部ＮＦＣデバイス５２は、ＮＦＣデバイス５１に対してポーリングリクエストを出力する。このとき通信先のシステムコードは全てＡｌｌとされ、タイムスロット番号は設定可能な最大の番号ＴＳＮmaxとされる。
【０１２８】
ＮＦＣデバイス５１のフロントエンド６３はステップＳ６１１でこのリクエストを受信すると、ステップＳ６１２において、これをそのＮＦＣデバイス５１内の各部に供給する。各セキュアエレメント６２−２，６２−１，６２−０とベースバンドコントローラ６１は、ステップＳ６３１，Ｓ６４１，Ｓ６５１，Ｓ６６１において、それぞれこのリクエストを受信する。
【０１２９】
各セキュアエレメント６２は、このリクエストに対してそれぞれ設定されたタイムスロット番号のタイミングで応答する。すなわち、ステップＳ６５２において、最も早いタイムスロット番号ＴＳＮ０が設定されているセキュアエレメント６２−０が自分自身の識別番号ＩＤ０を付加してポーリングレスポンスを返す。フロントエンド６３はステップＳ６１３においてこのレスポンスを受信すると、ステップＳ６１４において、それを外部ＮＦＣデバイス５２と、各セキュアエレメント６２に供給する。
【０１３０】
外部ＮＦＣデバイス５２はステップＳ６０２においてこのレスポンスを受信する。これにより外部ＮＦＣデバイス５２は、セキュアエレメント６２−０の識別番号を知ることができる。セキュアエレメント６２−２，６２−１，６２−０とベースバンドコントローラ６１は、それぞれステップＳ６３２，Ｓ６４２，Ｓ６５３，Ｓ６６２において、このレスポンスを受信するが、リクエストを出力していないので、それを無視する。
【０１３１】
次に、ステップＳ６３３において、次に早いタイムスロット番号ＴＳＮ１が設定されているセキュアエレメント６２−２が自分自身の識別番号ＩＤ２を付加してポーリングレスポンスを返す。フロントエンド６３はステップＳ６１５においてこのレスポンスを受信すると、ステップＳ６１６において、それを外部ＮＦＣデバイス５２と、各セキュアエレメント６２に供給する。
【０１３２】
外部ＮＦＣデバイス５２はステップＳ６０３においてこのレスポンスを受信する。これにより外部ＮＦＣデバイス５２は、セキュアエレメント６２−２の識別番号を知ることができる。セキュアエレメント６２−２，６２−１，６２−０とベースバンドコントローラ６１はステップＳ６３４，Ｓ６４３，Ｓ６５４，Ｓ６６３において、それぞれこのレスポンスを受信するが、リクエストを出力していないので、それを無視する。
【０１３３】
さらにステップＳ６４４において、最も遅いタイムスロット番号ＴＳＮ２が設定されているセキュアエレメント６２−１が自分自身の識別番号ＩＤ１を付加してポーリングレスポンスを返す。フロントエンド６３はステップＳ６１７においてこのレスポンスを受信すると、ステップＳ６１８において、それを外部ＮＦＣデバイス５２と、各セキュアエレメント６２に供給する。
【０１３４】
外部ＮＦＣデバイス５２はステップＳ６０４においてこのレスポンスを受信する。これにより外部ＮＦＣデバイス５２は、セキュアエレメント６２−１の識別番号を知ることができる。セキュアエレメント６２−２，６２−１，６２−０とベースバンドコントローラ６１はステップＳ６３５，Ｓ６４５，Ｓ６５５，Ｓ６６４において、それぞれこのレスポンスを受信するが、リクエストを出力していないので、それを無視する。
【０１３５】
このように、タイムスロット番号が重ならないように設定されているので、各番号のタイムスロットに割り当てられている時間が短い場合でも、衝突が発生せず、迅速な通信が可能となる。
【０１３６】
次に、ＮＦＣデバイス５１が外部ＮＦＣデバイス５２からデータを読み出す場合の処理について、図１６を参照して説明する。
【０１３７】
ステップＳ６７１においてＮＦＣデバイス５１のベースバンドコントローラ６１は、ＮＦＣデバイス５１に対してポーリングリクエストを出力する。このとき通信先のシステムコードは外部ＮＦＣデバイス５２のシステムコードＳＣＥとされ、タイムスロット番号は設定可能な最大の番号ＴＳＮmaxとされる。
【０１３８】
ＮＦＣデバイス５１のフロントエンド６３はステップＳ７２１でこのリクエストを受信すると、ステップＳ７２２において、それをＮＦＣデバイス５１内の各部と外部ＮＦＣデバイス５２に供給する。各セキュアエレメント６２−２，６２−１，６２−０とベースバンドコントローラ６１は、ステップＳ７１１，Ｓ６９１，Ｓ６８１，Ｓ６７２において、それぞれこのリクエストを受信し、外部ＮＦＣデバイス５２はステップＳ７４１でこのリクエストを受信する。
【０１３９】
各セキュアエレメント６２とベースバンドコントローラ６１は、システムコードが一致しないので応答はしない。外部ＮＦＣデバイス５２は、システムコードが自分自身のシステムコードＳＣＥと一致するため、このリクエストに対してランダムなタイムスロット番号のタイミングで応答する。すなわち、ステップＳ７４２において、自分自身の識別番号ＩＤＥを付加してポーリングレスポンスを返す。フロントエンド６３はステップＳ７２３においてこのレスポンスを受信すると、ステップＳ７２４において、それを各セキュアエレメント６２とベースバンドコントローラ６１に供給する。
【０１４０】
セキュアエレメント６２−２，６２−１，６２−０は、それぞれステップＳ７１２，Ｓ６９２，Ｓ６８２において、このレスポンスを受信するが、ポーリングリクエストを出力していないのでこれを無視する。ポーリングリクエストを出力したベースバンドコントローラ６１はステップＳ６７３においてこのレスポンスを受信することで、外部ＮＦＣデバイス５２の識別番号を知ることができる。
【０１４１】
次に、ステップＳ６７４において、ベースバンドコントローラ６１は相手の識別番号ＩＤＥを指定して、リードリクエストを送信する。フロントエンド６３はステップＳ７２５でこのリクエストを受信すると、ステップＳ７２６において、それをＮＦＣデバイス５１内の各部と外部ＮＦＣデバイス５２に供給する。各セキュアエレメント６２−２，６２−１，６２−０とベースバンドコントローラ６１は、ステップＳ７１３，Ｓ６９３，Ｓ６８３，Ｓ６７５において、それぞれこのリクエストを受信するが、識別番号が一致しないので、それを無視する。外部ＮＦＣデバイス５２はステップＳ７４３でこのリクエストを受信する。
【０１４２】
ステップＳ７４３でリードリクエストを受信した外部ＮＦＣデバイス５２は、ステップＳ７４４で、自分自身の識別番号ＩＤＥを付加してリードレスポンスを返す。フロントエンド６３はステップＳ７２７においてこのレスポンスを受信すると、ステップＳ７２８において、それを各セキュアエレメント６２とベースバンドコントローラ６１に供給する。
【０１４３】
セキュアエレメント６２−２，６２−１，６２−０はステップＳ７１４，Ｓ６９４，Ｓ６８４において、それぞれこのレスポンスを受信するが、リードリクエストを出力していないのでそれを無視する。ベースバンドコントローラ６１はステップＳ６７６でこのレスポンスを受信する。従って、以後、ベースバンドコントローラ６１は外部ＮＦＣデバイス５２からデータを読み出すことができる。
【０１４４】
逆に外部ＮＦＣデバイス５２がＮＦＣデバイス５１の例えばセキュアエレメント６２−１からデータを読み出す場合の処理は、図１７に示されるようになる。
【０１４５】
ステップＳ８０１において外部ＮＦＣデバイス５２は、ＮＦＣデバイス５１に対してポーリングリクエストを出力する。このとき通信先のシステムコードはセキュアエレメント６２−１のシステムコードＳＣ１とされ、タイムスロット番号は設定可能な最大の番号ＴＳＮmaxとされる。
【０１４６】
ＮＦＣデバイス５１のフロントエンド６３はステップＳ８１１でこのリクエストを受信すると、ステップＳ８１２において、それをＮＦＣデバイス５１内の各部に供給する。各セキュアエレメント６２−２，６２−１，６２−０とベースバンドコントローラ６１は、ステップＳ８３１，Ｓ８４１，Ｓ８６１，Ｓ８７１において、それぞれこのリクエストを受信する。
【０１４７】
セキュアエレメント６２−０，６２−２とベースバンドコントローラ６１は、システムコードが一致しないので応答はしない。セキュアエレメント６２−１は、システムコードが自分自身のシステムコードＳＣ１と一致するため、このリクエストに対して、設定されているタイムスロット番号ＴＳＮ２のタイミングで応答する。すなわち、ステップＳ８４２において、自分自身の識別番号ＩＤ１を付加してポーリングレスポンスを返す。フロントエンド６３はステップＳ８１３においてこのレスポンスを受信すると、ステップＳ８１４において、それを各セキュアエレメント６２、ベースバンドコントローラ６１、並びに外部ＮＦＣデバイス５２に供給する。
【０１４８】
セキュアエレメント６２−２，６２−１，６２−０とベースバンドコントローラ６１は、それぞれステップＳ８３２，Ｓ８４３，Ｓ８６２，Ｓ８７２において、このレスポンスを受信するが、リクエストは出力していないのでこれを無視する。リクエストを出力した外部ＮＦＣデバイス５２はステップＳ８０２においてこのレスポンスを受信することで、セキュアエレメント６２−１の識別番号ＩＤ１を知ることができる。
【０１４９】
次に、ステップＳ８０３において、外部ＮＦＣデバイス５２は相手の識別番号ＩＤ１を指定して、リードリクエストを送信する。フロントエンド６３はステップＳ８１５でこのリクエストを受信すると、ステップＳ８１６において、それをＮＦＣデバイス５１内の各部に供給する。各セキュアエレメント６２−２，６２−０とベースバンドコントローラ６１は、ステップＳ８３３，Ｓ８６３，Ｓ８７３において、それぞれこのリクエストを受信するが、識別番号が一致しないので、それを無視する。セキュアエレメント６２−１はステップＳ８４４でこのリクエストを受信する。
【０１５０】
ステップＳ８４４でリードリクエストを受信したセキュアエレメント６２−１は、ステップＳ８４５で、自分自身の識別番号ＩＤ１を付加してリードレスポンスを返す。フロントエンド６３はステップＳ８１７においてこのレスポンスを受信すると、ステップＳ８１８において、それを各セキュアエレメント６２、ベースバンドコントローラ６１、並びに外部ＮＦＣデバイス５２に供給する。
【０１５１】
セキュアエレメント６２−２，６２−１，６２−０とベースバンドコントローラ６１はステップＳ８３４，Ｓ８４６，Ｓ８６４，Ｓ８７４において、それぞれこのレスポンスを受信するが、リクエストを出力していないので、これを無視する。外部ＮＦＣデバイス５２はステップＳ８０４でこのレスポンスを受信する。従って、以後、外部ＮＦＣデバイス５２はセキュアエレメント６２−１からデータを読み出すことができる。
【０１５２】
上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラム記録媒体からインストールされる。
【０１５３】
なお、本明細書において、プログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０１５４】
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【０１５５】
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【符号の説明】
【０１５６】
１  ＮＦＣ通信システム，  ５１  ＮＦＣデバイス，  ５２  外部ＮＦＣデバイス，  
６１  ベースバンドコントローラ，  ６２−０乃至６２−２  セキュアエレメント，  ６
３  フロントエンド，  ８１  送信部，  ８２  受信部，  ８３  設定部，  ８４  判定
部，  ８５  選択部，  １０１  判定部，  １０２  受信部，  １０３  送信部，  １０
４  記憶部，  １０５  モード設定部
【図１】
2010161773.tif 000003
【図２】
2010161773.tif 000004
【図３】
2010161773.tif 000005
【図４】
2010161773.tif 000006
【図５】
2010161773.tif 000007
【図６】
2010161773.tif 000008
【図７】
2010161773.tif 000009
【図８】
2010161773.tif 000010
【図９】
2010161773.tif 000011
【図１０】
2010161773.tif 000012
【図１１】
2010161773.tif 000013
【図１２】
2010161773.tif 000014
【図１３】
2010161773.tif 000015
【図１４】
2010161773.tif 000016
【図１５】
2010161773.tif 000017
【図１６】
2010161773.tif 000018
【図１７】
2010161773.tif 000019