(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-08-05
(45)【発行日】2024-08-14
(54)【発明の名称】電子情報記憶媒体、初期化シーケンス実行方法、及びプログラム
(51)【国際特許分類】
G06K 19/07 20060101AFI20240806BHJP
G06K 19/077 20060101ALI20240806BHJP
【FI】
G06K19/07 190
G06K19/07 250
G06K19/077 168
(21)【出願番号】P 2020188706
(22)【出願日】2020-11-12
【審査請求日】2023-09-27
(73)【特許権者】
【識別番号】000002897
【氏名又は名称】大日本印刷株式会社
(74)【代理人】
【識別番号】110000958
【氏名又は名称】弁理士法人インテクト国際特許事務所
(74)【代理人】
【識別番号】100120189
【氏名又は名称】奥 和幸
(72)【発明者】
【氏名】渡辺 龍平
【審査官】小林 紀和
(56)【参考文献】
【文献】特開2012-068932(JP,A)
【文献】特表2003-526128(JP,A)
【文献】特表2017-508205(JP,A)
【文献】特開2016-051328(JP,A)
【文献】特開2011-216068(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06K 19/07
G06K 19/077
(57)【特許請求の範囲】
【請求項1】
少なくとも1つのインターフェースと、複数のプロファイルのそれぞれを有効または無効に設定する機能とを備え、それぞれの前記プロファイルに紐付けられた初期応答情報を記憶する電子情報記憶媒体であって、
前記インターフェースのリセットイベントが生じた場合に、前記複数のプロファイルのうち有効なプロファイルを特定する第1特定手段と、
前記第1特定手段により特定されたプロファイルに紐付けられた前記初期応答情報を用いて、前記インターフェースにおいて初期化シーケンスを実行する実行手段と、
を備えることを特徴とする電子情報記憶媒体。
【請求項2】
前記電子情報記憶媒体は、前記インターフェースに紐付けられた前記プロファイルを管理し、
前記第1特定手段は、前記リセットイベントが生じた前記インターフェースに紐付けられたプロファイルを特定し、当該特定されたプロファイルが有効である場合に、前記有効なプロファイルを特定することを特徴とする請求項1に記載の電子情報記憶媒体。
【請求項3】
前記インターフェースのリセットイベントを契機として前記有効なプロファイルが切り替わっているか否かを判定する第1判定手段と、
前記第1判定手段により前記有効なプロファイルが切り替わっていると判定された場合、前記リセットイベントが生じた前記インターフェースとは異なる他のインターフェースに紐付けられた前記有効なプロファイルを特定する第2特定手段と、
を更に備え、
前記実行手段は、前記第2特定手段により特定されたプロファイルに紐付けられた前記初期応答情報を用いて、前記他のインターフェースにおいて初期化シーケンスを実行することを特徴とする請求項1または2に記載の電子情報記憶媒体。
【請求項4】
前記第1特定手段により特定されたプロファイルが、前記リセットイベントが生じた前記インターフェースとは異なる他のインターフェースに紐付けられているか否かを判定する第2判定手段を更に備え、
前記第2判定手段により前記プロファイルが前記他のインターフェースに紐付けられていると判定された場合、当該プロファイルに紐付けられた前記初期応答情報を用いて、前記他のインターフェースにおいて初期化シーケンスを実行することを特徴とする請求項1乃至3の何れか一項に記載の電子情報記憶媒体。
【請求項5】
前記電子情報記憶媒体は、前記インターフェースに対して開設可能なチャネルを管理し、
前記リセットイベントが生じた前記インターフェースに対して開設可能なチャネルを特定する第3特定手段を更に備え、
前記実行手段は、前記第3特定手段により特定されたチャネルのうち何れかの前記プロファイルに対して開設されているチャネルの初期化シーケンスを実行することを特徴とする請求項1乃至4の何れか一項に記載の電子情報記憶媒体。
【請求項6】
前記実行手段は、前記第3特定手段により特定されたチャネルに対して開設されている前記プロファイルに開設されている他のチャネルの初期化シーケンスを実行することを特徴とする請求項5に記載の電子情報記憶媒体。
【請求項7】
少なくとも1つのインターフェースと、複数のプロファイルのそれぞれを有効または無効に設定する機能とを備え、それぞれの前記プロファイルに紐付けられた初期応答情報を記憶する電子情報記憶媒体におけるコンピュータにより実行される初期化シーケンス実行方法であって、
前記インターフェースのリセットイベントが生じた場合に、前記複数のプロファイルのうち有効なプロファイルを特定するステップと、
前記特定されたプロファイルに紐付けられた前記初期応答情報を用いて、前記インターフェースにおいて初期化シーケンスを実行するステップと、
を含むことを特徴とする初期化シーケンス実行方法。
【請求項8】
少なくとも1つのインターフェースと、複数のプロファイルのそれぞれを有効または無効に設定する機能とを備え、それぞれの前記プロファイルに紐付けられた初期応答情報を記憶する電子情報記憶媒体におけるコンピュータを、
前記インターフェースのリセットイベントが生じた場合に、前記複数のプロファイルのうち有効なプロファイルを特定する第1特定手段と、
前記第1特定手段により特定されたプロファイルに紐付けられた前記初期応答情報を用いて、前記インターフェースにおいて初期化シーケンスを実行する実行手段として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数のプロファイルを搭載可能なIC(Integrated Circuit)カード等の電子情報記憶媒体の技術分野に関する。
【背景技術】
【0002】
複数のアプリケーションを搭載することが可能なICカードは、Java(登録商標)Card仕様及びGlobalPlatform(登録商標)仕様に準拠した製品が事実上のデファクトスタンダードになっている。このような製品では1つのカードが、キャッシュカードやクレジットカード、電子マネーカードとして振舞うことができる。このようなICカードは、論理的な通信路であるチャネル(ロジカルチャネル)を管理する。チャネル管理機能は、例えば特許文献1に開示されるように、各チャネルに異なるアプリケーションを割り当てることができる。そして、チャネルを複数開設すれば、複数の機能を並行して提供することができる。
【0003】
また、IoT(Internet of Things)の普及に伴い、従来ICカードが利用されていた用途においても、eUICC(embedded Universal Integrated Circuit Card)と称される組込型ICモジュールが利用されるようになった。組込型ICモジュールにおいても、セキュリティを担保するためのセキュリティ機能、決済機能、モバイル回線へ接続するための認証機能など、複数の機能が合わせて搭載されることが多い。さらに、組込型ICモジュールは、従来のICカードと比較して、多様な外部モジュール(例えば、決済サーバや認証サーバ)と接続されるため、それらに応じた多様な複数のインターフェースを備える。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
ところで、組込型ICモジュールが提供する機能を簡便に変更するための方法として、アプリケーションを複数まとめたプロファイルが組込型ICモジュールに複数搭載される場合がある。この場合、組込型ICモジュールは、プロファイル単位で有効、無効を管理するようになっている。そして、組込型ICモジュールに搭載されるプロファイルが更新される場合、更新の前後で外部モジュールに提供される機能が変更される。このため、プロファイル内のアプリケーションと対向するプログラムとの通信は、更新に前後して一度終了し再初期化する必要があるが、搭載されたプロファイルのそれぞれに応じた適切な初期化シーケンスを実行することが望まれる。
【0006】
そこで、本発明は、以上の点等に鑑みてなされたものであり、搭載されたプロファイルのそれぞれに応じた適切な初期化シーケンスを実行することが可能な電子情報記憶媒体、初期化シーケンス実行方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
上記課題を解決するために、請求項1に記載の発明は、少なくとも1つのインターフェースと、複数のプロファイルのそれぞれを有効または無効に設定する機能とを備え、それぞれの前記プロファイルに紐付けられた初期応答情報を記憶する電子情報記憶媒体であって、前記インターフェースのリセットイベントが生じた場合に、前記複数のプロファイルのうち有効なプロファイルを特定する第1特定手段と、前記第1特定手段により特定されたプロファイルに紐付けられた前記初期応答情報を用いて、前記インターフェースにおいて初期化シーケンスを実行する実行手段と、を備えることを特徴とする。
【0008】
請求項2に記載の発明は、請求項1に記載の電子情報記憶媒体において、前記電子情報記憶媒体は、前記インターフェースに紐付けられた前記プロファイルを管理し、前記第1特定手段は、前記リセットイベントが生じた前記インターフェースに紐付けられたプロファイルを特定し、当該特定されたプロファイルが有効である場合に、前記有効なプロファイルを特定することを特徴とする。
【0009】
請求項3に記載の発明は、請求項1または2に記載の電子情報記憶媒体において、前記インターフェースのリセットイベントを契機として前記有効なプロファイルが切り替わっているか否かを判定する第1判定手段と、前記第1判定手段により前記有効なプロファイルが切り替わっていると判定された場合、前記リセットイベントが生じた前記インターフェースとは異なる他のインターフェースに紐付けられた前記有効なプロファイルを特定する第2特定手段と、を更に備え、前記実行手段は、前記第2特定手段により特定されたプロファイルに紐付けられた前記初期応答情報を用いて、前記他のインターフェースにおいて初期化シーケンスを実行することを特徴とする。
【0010】
請求項4に記載の発明は、請求項1乃至3の何れか一項に記載の電子情報記憶媒体において、前記第1特定手段により特定されたプロファイルが、前記リセットイベントが生じた前記インターフェースとは異なる他のインターフェースに紐付けられているか否かを判定する第2判定手段を更に備え、前記第2判定手段により前記プロファイルが前記他のインターフェースに紐付けられていると判定された場合、当該プロファイルに紐付けられた前記初期応答情報を用いて、前記他のインターフェースにおいて初期化シーケンスを実行することを特徴とする。
【0011】
請求項5に記載の発明は、請求項1乃至4の何れか一項に記載の電子情報記憶媒体において、前記電子情報記憶媒体は、前記インターフェースに対して開設可能なチャネルを管理し、前記リセットイベントが生じた前記インターフェースに対して開設可能なチャネルを特定する第3特定手段を更に備え、前記実行手段は、前記第3特定手段により特定されたチャネルのうち何れかの前記プロファイルに対して開設されているチャネルの初期化シーケンスを実行することを特徴とする。
【0012】
請求項6に記載の発明は、請求項5に記載の電子情報記憶媒体において、前記実行手段は、前記第3特定手段により特定されたチャネルに対して開設されている前記プロファイルに開設されている他のチャネルの初期化シーケンスを実行することを特徴とする。
【0013】
請求項7に記載の発明は、少なくとも1つのインターフェースと、複数のプロファイルのそれぞれを有効または無効に設定する機能とを備え、それぞれの前記プロファイルに紐付けられた初期応答情報を記憶する電子情報記憶媒体におけるコンピュータにより実行される初期化シーケンス実行方法であって、前記インターフェースのリセットイベントが生じた場合に、前記複数のプロファイルのうち有効なプロファイルを特定するステップと、前記特定されたプロファイルに紐付けられた前記初期応答情報を用いて、前記インターフェースにおいて初期化シーケンスを実行するステップと、を含むことを特徴とする。
【0014】
請求項8に記載の発明は、少なくとも1つのインターフェースと、複数のプロファイルのそれぞれを有効または無効に設定する機能とを備え、それぞれの前記プロファイルに紐付けられた初期応答情報を記憶する電子情報記憶媒体におけるコンピュータを、前記インターフェースのリセットイベントが生じた場合に、前記複数のプロファイルのうち有効なプロファイルを特定する第1特定手段と、前記第1特定手段により特定されたプロファイルに紐付けられた前記初期応答情報を用いて、前記インターフェースにおいて初期化シーケンスを実行する実行手段として機能させることを特徴とする。
【発明の効果】
【0015】
本発明によれば、電子情報記憶媒体に搭載された複数のプロファイルのそれぞれに応じた適切な初期化シーケンスを実行することができる。
【図面の簡単な説明】
【0016】
【
図1】本実施形態に係る通信デバイスDの概要構成例を示す図である。
【
図2】ICモジュール4のハードウェア構成例を示す図である。
【
図3】プロファイル、チャネル、及びインターフェースとの関係の一例を示す図である。
【
図4】インターフェースのリセットイベントが発生したときにICモジュール4のOSにより実行されるメイン処理の一例を示すフローチャートである。
【
図5】
図4のステップS6に示す「リセット対象インターフェース決定処理」の詳細を示すフローチャートである。
【
図6】
図4のステップS8に示す「リセット対象チャネル決定処理」の詳細を示すフローチャートである。
【発明を実施するための形態】
【0017】
以下、図面を参照して本発明の実施形態について詳細に説明する。以下に説明する実施形態は、通信デバイスに対して本発明を適用した場合の実施の形態である。なお、通信デバイスには、例えばスマートフォン等の携帯端末や各種センサー等を備えるIoT機器に適用可能である。
【0018】
[1.通信デバイスDの概要構成]
先ず、
図1等を参照して、本実施形態にかかる通信デバイスDの概要構成について説明する。
図1は、本実施形態に係る通信デバイスDの概要構成例を示す図である。
図1に示すように、通信デバイスDは、通信モジュール1、通信モジュール2、制御モジュール3、及びICモジュール4(本発明の電子情報記憶媒体の一例)を含んで構成される。なお、
図1の例では、通信デバイスDは、2つの通信モジュールを備えるが、3つ以上の通信モジュールを備えてもよい。
【0019】
通信モジュール1は、例えばNFC(Near Field Communication)の規格で規定される非接触通信を行うCLF(ContactLess Front-end)であり、非接触のフィールド内で、決済装置に備えられる非接触リーダとの間で通信を行う。さらに、通信モジュール1は、インターフェースIF1を介してICモジュール4との間で通信を行う。インターフェースIF1は、例えばSWP(Single Wire Protocol)に従った通信を行うためのインターフェースである。
【0020】
通信モジュール2は、例えばモバイル回線(例えば、3G、4G、または5Gネットワーク)に接続するための無線通信モデムであり、当該モバイル回線の基地局との間で通信を行う。さらに、通信モジュール2は、インターフェースIF2を介してICモジュール4との間で通信を行う。通信モジュール2とICモジュール4とは、例えばISO7816によって定められたプロトコルに従った通信を行うためのインターフェースである。
【0021】
制御モジュール3は、CPU(Central Processing Unit)、RAM(Random Access Memory)、及びROM(Read Only Memory)等により構成されており、通信デバイスDにおける各種機能を制御する。ICモジュール4は、ICチップ等のハードウェアをベースとして、オペレーティングシステム(以下、「OS」という)及びプロファイル等のソフトウェアが搭載されて構成される。ここで、OSは、ファームウェアであってもよい。なお、ICモジュール4は、eUICCとして通信デバイスDから容易に取り外しや取り換えができないように組み込み基板上に実装されてもよいし、カード型のICカードとして通信デバイスDに着脱可能に装着されてもよい。
【0022】
図2は、ICモジュール4のハードウェア構成例を示す図である。
図2に示すように、ICモジュール4は、CPU41、RAM42、ROM43、NVM(Nonvolatile Memory)44(不揮発性メモリ)、及びI/O回路45等を備えて構成される。I/O回路45は、例えばISO7816によって定められたC1~C8の8つの端子を備える。ここで、C1端子は電源端子(VCC)であり、C2端子はリセット信号を入力するためのリセット端子(RST)であり、C3端子はクロック信号を入力するためのクロック端子(CLK)であり、C5端子はグランド端子(GND)である。また、C6端子は通信モジュール1との間のインターフェースIF1を担う端子であり、C7端子は通信モジュール2との間のインターフェースIF2を担う端子である。なお、C4端子及びC8端子は、通信モジュール1,2以外の通信モジュールとの間のインターフェース(例えば、USB(Universal Serial Bus)転送用のインターフェース)を担う端子に利用することができる。
【0023】
CPU41は、ROM43またはNVM44に記憶されたプログラム(本発明のプログラムを含む)を実行するプロセッサ(コンピュータ)である。NVM44には、例えばフラッシュメモリが適用できる。なお、NVM44は、「Electrically Erasable Programmable Read-Only Memory」などの不揮発性メモリであってもよい。ROM43またはNVM44には、OS、プロファイル、インターフェース管理情報、及びプロファイル管理情報が記憶される。なお、ROM43またはNVM44には、ICモジュール4に固有の初期応答情報が記憶されてもよい。
【0024】
ここで、プロファイルは、少なくとも1つ以上のアプリケーション(例えば、電話アプリ、決済サプリ、銀行アプリなど)を含む。アプリケーションは、インスタンス化された複数のオブジェクトの集合であり、外部からのコマンドを処理する実体である。また、プロファイルには、アプリケーションにより利用されるデータが含まれる場合もある。かかるデータは、例えば、MF(Master File)、DF(Dedicated File)、及びEF(Elementary File)などから構成される階層構造を有する複数のファイルに格納される。MFは、ファイル構成において最上位に位置し、MFの下位階層にはDF及びEFが位置する。MFは、例えば、アプリケーション毎に設けられる。EFは、アプリケーションにより利用されるデータを格納するファイルである。また、EFは、IEFとWEFに分けられる。IEFには、例えば、セッションキーなどのPIN(照合鍵)が格納される。
【0025】
インターフェース管理情報には、それぞれのインターフェースの識別子を記述するインターフェースリストが含まれる。インターフェースリストには、それぞれのインターフェースに予め紐付けられたプロファイルの識別子が、それぞれのインターフェースの識別子に対応付けられて記述される。また、インターフェースリストには、それぞれのインターフェースに対して開設可能な1つ以上のチャネルの識別子を記述するチャネルリストが、それぞれのインターフェースの識別子に対応付けられて記述されてもよい。チャネルは、プロファイルにアクセスするための論理的な通信路である。インターフェースに対して開設可能なチャネルは予め設定される。
【0026】
また、プロファイル管理情報には、プロファイルごとに予め紐付けられた初期応答情報が含まれる。当該プロファイル管理情報において、それぞれの初期応答情報には、それぞれに紐づけられるプロファイルの識別子に対応付けられている。初期応答情報は、通信設定用パラメータであり、プロファイル(換言すると、プロファイルの種別)に応じて異なる。
【0027】
図3は、プロファイル、チャネル、及びインターフェースとの関係の一例を示す図である。
図3において、OSは、複数のインターフェースを管理するインターフェース管理機能、複数のチャネルを管理するチャネル管理機能、複数のプロファイルを管理するプロファイル管理機能、複数のプロファイルのそれぞれを有効または無効に設定するプロファイル有効/無効設定機能、及び複数のプロファイルのうち有効なプロファイルを何れか1つのチャネルに割り当てるチャネル割当機能を備える。
【0028】
インターフェース管理機能は、インターフェース管理情報を用いて、それぞれのインターフェースに紐付けられたプロファイルを管理したり、それぞれのインターフェースに対して開設可能なチャネルを設定し(紐付けて)管理する。
図3の例では、インターフェースIF1にはプロファイルPF1とプロファイルPF2とが紐付けられ、インターフェースIF2にはプロファイルPF2とプロファイルPF3とが紐付けられている。また、
図3の例では、インターフェースIF1に対してチャネルCh0及びチャネルCh1が開設可能になっており(換言すると、紐付けられており)、インターフェースIF2に対してチャネルCh2及びチャネルCh3が開設可能になっている。プロファイル管理機能は、プロファイル管理情報を用いて、それぞれのプロファイルに紐付けられた初期応答情報を管理する。
【0029】
プロファイル有効/無効設定機能は、複数のプロファイルのうち、全てのプロファイルを有効に設定することもできるし、一部のみのプロファイルを有効に設定することもできる。
図3の例では、プロファイルPF1及びプロファイルPF2が有効に設定(つまり、有効化)されており、プロファイルPF3が無効に設定されている。チャネル割当機能は、複数の有効なプロファイルのそれぞれを複数のチャネルのそれぞれに割り当てることもできる。
図3の例では、プロファイルPF1にはチャネルCh0が割り当てられており(つまり、開設されており)、プロファイルPF2にはチャネルCh1及びチャネルCh2が割り当てられている。つまり、プロファイルPF1は、通信モジュール1との間でチャネルCh0を介してセッションが確立されている。また、プロファイルPF2は、通信モジュール1との間でチャネルCh1を介してセッションが確立されているとともに、通信モジュール2との間でチャネルCh2を介してセッションが確立されている。
【0030】
以上のように構成されたICモジュール4において、OSは、上述した機能に加え、本発明における第1特定手段、第2特定手段、第3特定手段、第1判定手段、第2判定手段、及び実行手段として機能する。具体的には、OSは、インターフェース(例えば、IF1またはIF2)のリセットイベントが生じた場合に、当該リセットイベントが生じたインターフェースに紐付けられたプロファイルを特定し、当該特定されたプロファイルが有効であるか否かを判定し、当該特定されたプロファイルが有効である場合に、当該プロファイルに紐付けられた初期応答情報(つまり、当該プロファイルの初期応答情報)を用いて、当該インターフェースにおいて初期化シーケンス(活性化手順)を実行する。
【0031】
すなわち、ICモジュール4に搭載された複数のプロファイルのうち有効なプロファイルが特定され、当該特定された有効なプロファイルに紐付けられた初期応答情報を用いて、当該インターフェースにおいて初期化シーケンスが実行される。これにより、プロファイル毎に異なる初期応答が可能になる。なお、初期化シーケンスが正常に行われた場合、インターフェースは活性化される。
【0032】
ここで、インターフェースIF1のリセットイベントは、例えばI/O回路45におけるC6端子がHigh状態(pullup)にされることで生じる。この場合の初期化シーケンスでは、上記特定された有効なプロファイルに紐付けられた初期応答情報(SWP bit durationsなど)を含むACT_SYNCフレームがICモジュール4からインターフェースIF1を介して通信モジュール1へ送信される。そして、必要に応じて、通信モジュール1からインターフェースIF1を介して送信されたACT_POWER_MODEフレームがICモジュール4により受信され、当該ACT_POWER_MODEフレームの内容に応じた処理が行われる。なお、ICモジュール4が直接リセットイベントを発生させる以外に、通信モジュール1を介して対向機器にリセット処理の開始をするよう要求することをもって、リセットイベントの発生としてもよい。
【0033】
一方、インターフェースIF2のリセットイベントは、例えばI/O回路45におけるC1端子及びC2端子がHigh状態にされることで生じる。この場合の初期化シーケンスでは、上記特定された有効なプロファイルに紐付けられた初期応答情報(例えば、T=0やT=1等のプロトコル形式及び通信速度など)を含むATRがICモジュール4からインターフェースIF2を介して通信モジュール2へ送信される。そして、必要に応じて(例えば通信パラメータを変更する場合)、通信モジュール2からインターフェースIF2を介して送信されたPPS(Protocol and Parameters Selection)要求がICモジュール4により受信され、当該PPS要求に対する応答を含む処理が行われる。なお、ICモジュール4が直接リセットイベントを発生させる以外に、通信モジュール2を介して対向機器にリセット処理の開始をするよう要求することをもって、リセットイベントの発生としてもよい。
【0034】
また、OSは、リセットイベントが生じたインターフェースに紐付けられた有効なプロファイルが、当該リセットイベントが生じたインターフェースとは異なる他のインターフェースに紐付けられているか否かを判定し、当該有効なプロファイルが、当該他のインターフェースに紐付けられていると判定した場合、当該有効なプロファイルに紐付けられた初期応答情報を用いて、当該他のインターフェースにおいて初期化シーケンスを実行するとよい。
【0035】
すなわち、この場合、リセットイベントが生じたインターフェースの初期化シーケンスに加えて、他のインターフェースの初期化シーケンスが実行される。これにより、インターフェースのリセットイベントに連動して他のインターフェースの初期化シーケンスを効率良く実行することができる。なお、有効なプロファイルが他のインターフェースに紐付けられていない場合、当該他のインターフェースの初期化シーケンスが実行されない。そのため、リセットイベントが生じたインターフェースに紐付けられた有効なプロファイルとは無関係な他のインターフェースが不用意に初期化されることを防ぐことができる。ところで、他のインターフェースが、ISO7816のようなリセットイベントをICモジュール4の対向機器のみが発生させるインターフェースである場合、ICモジュール4のOSは直接リセットイベントを発生させることができない。この場合、OSは、他のインターフェースでの次のコマンド受信を待ち、このコマンドに対するレスポンスに特定のステータスワードを付与するなどの方法で他のインターフェースの再初期化要求を送信し、対向機器に初期化シーケンスの実行を要求するとよい。
【0036】
また、OSは、インターフェースのリセットイベントを契機として有効なプロファイルが切り替わっているか否かを判定し、有効なプロファイルが切り替わっていると判定した場合、当該リセットイベントが生じたインターフェースとは異なる他のインターフェースに紐付けられた有効なプロファイルを特定してもよい。この場合、OSは、当該有効なプロファイルに紐付けられた初期応答情報を用いて、他のインターフェースにおいて初期化シーケンスを実行する。この場合も、リセットイベントが生じたインターフェースの初期化シーケンスに加えて、他のインターフェースの初期化シーケンスが実行される。なお、有効なプロファイルが切り替わっていないと判定された場合、リセットイベントが生じたインターフェースとは異なる他のインターフェースの初期化シーケンスが実行されない。
【0037】
ところで、上述したインターフェースの初期化シーケンスにおいて、開設済のチャネルの初期化を実行することが考えられるが、有効なプロファイルが使用しないインターフェースのリセットイベントで、当該有効なプロファイルが使用するインターフェースに対して開設されているチャネルが初期化されることは望ましくない。そこで、OSは、インターフェースの初期化シーケンスと、チャネルの初期化シーケンスが分離し、リセットイベントが生じたインターフェースに対して開設可能なチャネルを特定し、当該特定したチャネルのうち何れかの有効なプロファイルに対して開設されているチャネルの初期化シーケンスを実行するとよい。
【0038】
チャネルの初期化シーケンスでは、例えば、開設済のチャネルの情報を記憶するために例えばRAM42に設けられた記憶領域が初期化される。かかる記憶領域は、例えば、開設済のチャネル毎に分割されており、開設済のチャネルが個々にリセットされる場合はCLEAR_ON_DESELECT領域と呼ばれる限定的な記憶領域が初期化され、全てのチャネルがリセットされる場合はCLEAR_ON_DESELECT領域に加え、CLEAR_ON_DESET領域と呼ばれる記憶領域が初期化されることになる。チャネルの情報には、例えば、チャネルに割り当てられたプロファイルの識別子が含まれる。また、チャネルの初期化シーケンスでは、チャネルの種類よっては開設済のチャネルを切断し、状態を未開設に遷移させる処理が行われる場合もある(例えば、ベーシックロジカルチャネル以外のチャネルのクローズなど)。また、チャネルの初期化シーケンスでは、RAM42の初期化に先立って、チャネルを利用中の、ICモジュール4のアプリケーションまたは対向するアプリケーションに対して、チャネルがクローズしたことを通知する処理が行われる場合もある。なお、OSは、上記特定されたチャネルに対して開設されているプロファイルに開設されている他のチャネルの初期化シーケンスを実行してもよい。
【0039】
[2.通信デバイスDの動作]
次に、
図4~
図6を参照して、通信デバイスDの動作について説明する。
図4は、インターフェースのリセットイベントが発生したときにICモジュール4のOSにより実行されるメイン処理の一例を示すフローチャートである。
図5は、
図4のステップS6に示す「リセット対象インターフェース決定処理」の詳細を示すフローチャートである。
図6は、
図4のステップS8に示す「リセット対象チャネル決定処理」の詳細を示すフローチャートである。
【0040】
図4に示す処理は、インターフェースのリセットイベントの発生が検知された場合に開始される。
図4に示す処理が開始されると、OSは、ICモジュール4に複数のプロファイルが搭載(つまり、NVM44に格納)されているか否かを判定する(ステップS1)。OSは、ICモジュール4に複数のプロファイルが搭載されていないと判定した場合(ステップS1:NO)、ICモジュール4に固有の初期応答情報を用いて、リセットイベントが生じたインターフェースにおいて初期化シーケンスを実行し(ステップS2)、
図4に示す処理を終了する。
【0041】
一方、OSは、ICモジュール4に複数のプロファイルが搭載されていると判定した場合(ステップS1:YES)、当該複数のプロファイルが有効であるか否かを判定する(ステップS3)。OSは、複数のプロファイルが有効でないと判定した場合(ステップS3:NO)、つまり、1つのプロファイルのみが有効であると判定した場合、ステップS4へ進む。一方、OSは、複数のプロファイルが有効であると判定した場合(ステップS3:YES)、ステップS6へ進む。
【0042】
ステップS4では、OSは、有効なプロファイルが、リセットイベントが生じたインターフェースに紐付けられているか否かを判定する。OSは、有効なプロファイルが、リセットイベントが生じたインターフェースに紐付けられていると判定した場合(ステップS4:YES)、当該有効なプロファイルに紐付けられた初期応答情報を用いて、リセットイベントが生じたインターフェースにおいて初期化シーケンスを実行し(ステップS5)、
図4に示す処理を終了する。
【0043】
一方、OSは、有効なプロファイルが、リセットイベントが生じたインターフェースに紐付けられていないと判定した場合(ステップS4:NO)、
図4に示す処理を終了する。なお、OSは、有効なプロファイルが、リセットイベントが生じたインターフェースに紐付けられていないと判定した場合、インターフェースのリセットイベントを契機として有効なプロファイルが切り替わっているか否かを判定してもよい。この場合、OSは、有効なプロファイルが切り替わっている(例えば、プロファイルPF1からプロファイルPF2へ切り替わっている)と判定した場合、リセットイベントが生じたインターフェースとは異なる他のインターフェースに紐付けられた有効なプロファイルを特定する。そして、OSは、当該特定した有効なプロファイルに紐付けられた初期応答情報を用いて、他のインターフェースにおいて初期化シーケンスを実行する。
【0044】
ステップS6では、OSは、
図5に示すリセット対象インターフェース決定処理を実行する。これにより、リセット対象として決定されたインターフェースの識別子が記述されたリセット対象IFリストが得られる。なお、
図5に示すリセット対象インターフェース決定処理の詳細は後述する。次いで、OSは、有効な各プロファイルが、複数のインターフェースに紐付けられているか否かを判定する(ステップS7)。
【0045】
そして、OSは、有効な各プロファイルが、複数のインターフェースに紐付けられていると判定した場合(ステップS7:YES)、OSは、
図6に示すリセット対象チャネル決定処理を実行し(ステップS8)、ステップS9へ進む。これにより、リセット対象として決定されたチャネルの識別子が記述されたリセット対象CHリストが得られる。なお、
図6に示すリセット対象チャネル決定処理の詳細は後述する。一方、OSは、有効な各プロファイルが、複数のインターフェースに紐付けられていないと判定した場合(ステップS7:NO)、ステップS9へ進む。
【0046】
ステップS9では、OSは、ステップS6で得られたリセット対象IFリストにおけるインターフェースに紐付けられた有効なプロファイルの初期応答情報を用いて、当該インターフェースにおいて初期化シーケンスを実行する。なお、リセット対象IFリストに複数のインターフェースの識別子が記述されている場合、それぞれのインターフェースにおいて、それぞれのインターフェースに紐付けられた有効なプロファイルの初期応答情報を用いて、初期化シーケンスが実行される。
【0047】
ステップS10では、OSは、ステップS8で得られたリセット対象CHリストにおけるチャネルの初期化シーケンスを実行する(ステップS8でリセット対象のチャネルが決定された場合のみ)。なお、ステップS8で得られたリセット対象CHリストに複数のチャネルの識別子が記述されている場合、それぞれのチャネルの初期化シーケンスが実行される。
【0048】
次に、
図5に示すリセット対象インターフェース決定処理の詳細について説明する。
図5において、OSは、リセットイベントが生じたインターフェースIFa(aは変数)をリセット対象として決定し(ステップS61)、当該インターフェースIFaの識別子をリセット対象IFリストに追加(記述)する。次いで、OSは、インターフェースIFaに紐付けられた有効なプロファイルPFa(aは変数)を特定する(ステップS62)。
【0049】
次いで、OSは、インターフェース管理情報におけるインターフェースリストから、インターフェースIFa以外のインターフェースIFb(bは変数)を1つ選定する(ステップS63)。次いで、ステップS63で選定されたインターフェースIFbに紐付けられた有効なプロファイルPFb(bは変数)を特定する(ステップS64)。
【0050】
次いで、OSは、ステップS62で特定されたプロファイルPFaと、ステップS64で特定されたプロファイルPFbとが同一であるか否かを判定する(ステップS65)。OSは、プロファイルPFaとプロファイルPFbとが同一であると判定した場合(ステップS65:YES)、ステップS63で選定されたインターフェースIFbをリセット対象として決定し(ステップS66)、当該インターフェースIFbの識別子をリセット対象IFリストに追加する。そして、処理はステップS67へ進む。一方、OSは、プロファイルPFaとプロファイルPFbとが同一でないと判定した場合(ステップS65:NO)、ステップS67へ進む。
【0051】
ステップS67では、OSは、インターフェースリストにおいてまだ選定されていないインターフェースIFbがあるか否かを判定する(ステップS67)。OSは、インターフェースリストにおいてまだ選定されていないインターフェースIFbがあると判定した場合(ステップS67:YES)、ステップS63に戻り、まだ選定されていないインターフェースIFbを選定し、上記と同様に処理を行う。一方、インターフェースリストにおいてまだ選定されていないインターフェースIFbがないと判定した場合(ステップS67:NO)、
図5に示す処理を終了し、
図4に示す処理に戻る。
【0052】
次に、
図6に示すリセット対象チャネル決定処理の詳細について説明する。
図6において、OSは、リセット対象IFリストからインターフェースIFx(xは変数)を1つ選定する(ステップS81)。次いで、OSは、ステップS81で選定されたインターフェースIFxに対して開設可能なチャネルのチャネルリストを取得する(ステップS82)。次いで、OSは、ステップS82で取得されたチャネルリストからチャネルChx(xは変数)を1つ選定する(ステップS83)。
【0053】
次いで、OSは、ステップS83で選定されたチャネルChxに対して有効なプロファイルPFx(xは変数)が開設されているか否かを判定する(ステップS84)。OSは、チャネルChxに対して有効なプロファイルPFxが開設されていないと判定した場合(ステップS84:NO)、ステップS86へ進む。一方、OSは、チャネルChxに対して有効なプロファイルPFxが開設されていると判定した場合(ステップS84:YES)、当該チャネルChxをリセット対象として決定し(ステップS85)、当該チャネルChxの識別子をリセット対象CHリストに追加(記述)し、ステップS86へ進む。
【0054】
ステップS86では、OSは、有効なプロファイルPFxに他のチャネルChy(yは変数)が開設されているか否かを判定する。OSは、有効なプロファイルPFxに他のチャネルChyが開設されていないと判定した場合(ステップS86:NO)、ステップS88へ進む。一方、OSは、有効なプロファイルPFxに他のチャネルChyが開設されていると判定した場合(ステップS86:YES)、当該他のチャネルChyをリセット対象として決定し(ステップS87)、当該他のチャネルChyの識別子をリセット対象CHリストに追加し、ステップS88へ進む。
【0055】
ステップS88では、チャネルリストにおいてまだ選定されていないチャネルChxがあるか否かを判定する。OSは、チャネルリストにおいてまだ選定されていないチャネルChxがあると判定した場合(ステップS88:YES)、ステップS83に戻り、まだ選定されていないチャネルChxを選定し、上記と同様に処理を行う。一方、OSは、チャネルリストにおいてまだ選定されていないチャネルChxがないと判定した場合(ステップS88:NO)、ステップS89へ進む。
【0056】
ステップS89では、リセット対象IFリストにおいてまだ選定されていないインターフェースIFxがあるか否かを判定する。OSは、リセット対象IFリストにおいてまだ選定されていないインターフェースIFxがあると判定した場合(ステップS89:YES)、ステップS81に戻り、まだ選定されていないインターフェースIFxを選定し、上記と同様に処理を行う。一方、リセット対象IFリストにおいてまだ選定されていないインターフェースIFxがないと判定した場合(ステップS89:NO)、
図6に示す処理を終了し、
図4に示す処理に戻る。
【0057】
以上説明したように、上記実施形態によれば、ICモジュール4は、インターフェースのリセットイベントが生じた場合に、当該リセットイベントが生じたインターフェースに紐付けられたプロファイルを特定し、当該特定されたプロファイルが有効であるか否かを判定し、当該特定されたプロファイルが有効である場合に、当該プロファイルに紐付けられた初期応答情報を用いて、当該インターフェースにおいて初期化シーケンスを実行するように構成したので、ICモジュール4に搭載された複数のプロファイルのそれぞれに応じた適切な初期化シーケンスを実行することができ、ユーザの利便性を向上することができる。また、リセットイベントが生じたインターフェースに紐付けられた有効なプロファイルとは無関係な他のインターフェースが不用意に初期化されることを防ぐことができる。したがって、各プロファイルが他のプロファイルに関する初期化シーケンスに影響を受けないようにすることができる。さらに、上記実施形態によれば、有効なプロファイルが使用しないインターフェースのリセットイベントで、当該有効なプロファイルが使用するインターフェースに対して開設されているチャネルが初期化されることを防ぐことができる。
【符号の説明】
【0058】
1,2 通信モジュール
3 制御モジュール
4 ICモジュール
41 CPU
42 RAM
43 ROM
44 NVM
45 I/O回路
D 通信デバイス