(57)【要約】【課題】セキュリティを確保した上でソフトウェアモジュールを確実に起動できるようにする。【解決手段】リーダライタ１１と、リーダライタ１１により近接通信によりアクセスされる携帯電話端末１３とを備え、携帯電話端末１３において、ソフトウェアモジュールＡは、ソフトウェアモジュールＪとソフトウェアモジュールＦにコマンドを送信する。ソフトウェアモジュールＡは、ソフトウェアモジュールＪとソフトウェアモジュールＦの状態を管理する。ソフトウェアモジュールＡは、ソフトウェアモジュールＦの起動途中にソフトウェアモジュールＪの処理が開始し完了したとき、ソフトウェアモジュールＦの起動を再開させる。【選択図】図１
2010067199.tif 000002
【特許請求の範囲】
【請求項１】
異なる方式の非接触通信により授受される情報を処理するソフトウェアモジュールにコマンドを送信する通信部と、
前記ソフトウェアモジュールの状態を管理する状態管理部と、
複数の前記ソフトウェアモジュールのうちの第1のソフトウェアモジュールの起動途中に第2のソフトウェアモジュールの処理が開始し完了したとき、前記第１のソフトウェアモジュールの起動を再開させる起動管理部と
を備えるＩＣチップ。
【請求項２】
前記第1のソフトウェアモジュールが起動途中である場合、割り込みをアンマスクし、前記第２のソフトウェアモジュールが起動途中である場合、割り込みをマスクするマスク部をさらに備える
請求項１に記載のＩＣチップ。
【請求項３】
複数の前記ソフトウェアモジュールに関するマップを記憶し、前記マップに基づいて前記ソフトウェアモジュールの動作を管理する動作管理部と、
複数の前記ソフトウェアモジュールの動作を許可又は禁止する前記マップをマッピングするマッピング部と
をさらに備え、
前記通信部、前記状態管理部、前記起動管理部、前記マスク部、および前記マッピング部は、他のソフトウェアモジュールにより構成される
請求項２に記載のＩＣチップ。
【請求項４】
前記動作管理部は、動作が禁止されている前記ソフトウェアモジュールが動作した場合、ハードウェアリセットを行う
請求項３に記載のＩＣチップ。
【請求項５】
前記他のソフトウェアモジュールは、１つの前記ソフトウェアモジュールだけが動作する状態をマッピングする
請求項４に記載のＩＣチップ。
【請求項６】
前記他のソフトウェアモジュールは、受信したコマンドの宛先に基づき前記マップをマッピングする
請求項５に記載のＩＣチップ。
【請求項７】
通信部と、
状態管理部と、
起動管理部と
備え、
前記通信部は、異なる方式の非接触通信により授受される情報を処理するソフトウェアモジュールにコマンドを送信し、
前記状態管理部は、前記ソフトウェアモジュールの状態を管理し、
前記起動管理部は、複数の前記ソフトウェアモジュールのうちの第1のソフトウェアモジュールの起動途中に第2のソフトウェアモジュールの処理が開始し完了したとき、前記第１のソフトウェアモジュールの起動を再開させる
ソフトウェアモジュール制御方法。
【請求項８】
コンピュータに、
異なる方式の非接触通信により授受される情報を処理するソフトウェアモジュールにコマンドを送信する手順と、
前記ソフトウェアモジュールの状態を管理する手順と、
複数の前記ソフトウェアモジュールのうちの第1のソフトウェアモジュールの起動途中に第2のソフトウェアモジュールの処理が開始し完了したとき、前記第１のソフトウェアモジュールの起動を再開させる手順と
を実行させるためのプログラム。
【請求項９】
異なる方式の非接触通信により授受される情報を処理するソフトウェアモジュールにコマンドを送信する通信部と、
前記ソフトウェアモジュールの状態を管理する状態管理部と、
複数の前記ソフトウェアモジュールのうちの第1のソフトウェアモジュールの起動途中に第2のソフトウェアモジュールの処理が開始し完了したとき、前記第１のソフトウェアモジュールの起動を再開させる起動管理部と
を備える情報処理装置。
【請求項１０】
前記第1のソフトウェアモジュールが起動途中である場合、割り込みをアンマスクし、前記第２のソフトウェアモジュールが起動途中である場合、割り込みをマスクするマスク部をさらに備える
請求項９に記載の情報処理装置。
【請求項１１】
複数の前記ソフトウェアモジュールに関するマップを記憶し、前記マップに基づいて前記ソフトウェアモジュールの動作を管理する動作管理部と、
複数の前記ソフトウェアモジュールの動作を許可又は禁止する前記マップをマッピングするマッピング部と
をさらに備え、
前記通信部、前記状態管理部、前記起動管理部、前記マスク部、および前記マッピング部は、他のソフトウェアモジュールにより構成される
請求項１０に記載の情報処理装置。
【請求項１２】
前記動作管理部は、動作が禁止されている前記ソフトウェアモジュールが動作した場合、ハードウェアリセットを行う
請求項１１に記載の情報処理装置。
【請求項１３】
前記他のソフトウェアモジュールは、１つの前記ソフトウェアモジュールだけが動作する状態をマッピングする
請求項１２に記載の情報処理装置。
【請求項１４】
前記他のソフトウェアモジュールは、受信したコマンドの宛先に基づき前記マップをマッピングする
請求項９に記載の情報処理装置。
【請求項１５】
第１の情報処理装置と、
前記第１の情報処理装置により近接通信によりアクセスされる第２の情報処理装置とを備え、
前記第２の情報処理装置は、
異なる方式の非接触通信により授受される情報を処理するソフトウェアモジュールにコマンドを送信する通信部と、
前記ソフトウェアモジュールの状態を管理する状態管理部と、
複数の前記ソフトウェアモジュールのうちの第1のソフトウェアモジュールの起動途中に第2のソフトウェアモジュールの処理が開始し完了したとき、前記第１のソフトウェアモジュールの起動を再開させる起動管理部と
を備える
情報処理システム。
【請求項１６】
第１の情報処理装置と、
前記第１の情報処理装置により近接通信によりアクセスされる第２の情報処理装置とを備え、
前記第２の情報処理装置は、
通信部と、
状態管理部と、
起動管理部と
を備え、
前記通信部は、異なる方式の非接触通信により授受される情報を処理するソフトウェアモジュールにコマンドを送信し、
前記状態管理部は、前記ソフトウェアモジュールの状態を管理し、
前記起動管理部は、複数の前記ソフトウェアモジュールのうちの第1のソフトウェアモジュールの起動途中に第2のソフトウェアモジュールの処理が開始し完了したとき、前記第１のソフトウェアモジュールの起動を再開させる
情報処理システムの情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はＩＣチップ、情報処理装置、ソフトウェアモジュール制御方法、情報処理システムおよび方法、並びにプログラムに関し、特に、セキュリティを確保した上でソフトウェアモジュールを確実に起動できるようにしたＩＣチップ、情報処理装置、ソフトウェアモジュール制御方法、情報処理システムおよび方法、並びにプログラムに関する。
【背景技術】
【０００２】
本出願人は、コマンド体系やセキュリティアルゴリズムなど仕様が異なる複数種類の方式の非接触ＩＣカードの通信方式について先に提案した（例えば特許文献１）。
【０００３】
先の提案においては、ＩＣカードと授受されるコマンドや応答結果が、スルーコマンドと呼ばれるＩＣカードの種類に依存しないコマンドで包み込まれ、その処理はリーダライタでは行われず、リーダライタの後段に配置されたコントローラモジュールで行われる。コントローラモジュールは、各方式のＩＣカードに対応するソフトウエアモジュールを有している。
【０００４】
しかしながら、先の提案の通信システムにおいては、１つのリーダライタで、複数の異なる方式の非接触ＩＣカードを処理させることができるが、先の提案の通信システムは、１枚で複数の異なる方式の非接触ＩＣカードとして使用される場合に対処するものではない。
【０００５】
【特許文献１】特開２００４−２６４９２１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
１枚が複数の異なる方式の非接触ＩＣカードとして使用される場合、その非接触ＩＣカードはそれぞれの方式のソフトウェアモジュールを有することになる。そしてそのソフトウェアモジュールは、それぞれ異なるタイミングで１つ１つが個別に動作することが想定されており、１つのソフトウェアモジュールの起動途中に他のソフトウェアモジュールが動作することは考慮されていない。
【０００７】
その結果、起動途中であったソフトウェアモジュールの起動処理は結局中止されてしまい、セキュリティを確保した上で、ソフトウェアモジュールを起動することが困難になる。
【０００８】
本発明は、このような状況に鑑みてなされたものであり、セキュリティを確保した上でソフトウェアモジュールを確実に起動できるようにするものである。
【課題を解決するための手段】
【０００９】
本発明の一側面は、ソフトウェアモジュールにコマンドを送信する通信部と、ソフトウェアモジュールの状態を管理する状態管理部と、異なる方式の非接触通信により授受される情報を処理する複数のソフトウェアモジュールのうちの第1のソフトウェアモジュールの起動途中に第2のソフトウェアモジュールの処理が開始し完了したとき、第１のソフトウェアモジュールの起動を再開させる起動管理部とを備えるＩＣチップまたは情報処理装置である。
【００１０】
さらに本発明の一側面は、第１の情報処理装置と、第１の情報処理装置により近接通信によりアクセスされる第２の情報処理装置とを備え、第２の情報処理装置は、ソフトウェアモジュールにコマンドを送信する通信部と、ソフトウェアモジュールの状態を管理する状態管理部と、異なる方式の非接触通信により授受される情報を処理する複数のソフトウェアモジュールのうちの第1のソフトウェアモジュールの起動途中に第2のソフトウェアモジュールの処理が開始し完了したとき、第１のソフトウェアモジュールの起動を再開させる起動管理部とを備える情報処理システムである。
【００１１】
本発明の一側面においては、通信部は、ソフトウェアモジュールにコマンドを送信し、状態管理部は、ソフトウェアモジュールの状態を管理し、起動管理部は、異なる方式の非接触通信により授受される情報を処理する複数のソフトウェアモジュールのうちの第1のソフトウェアモジュールの起動途中に第2のソフトウェアモジュールの処理が開始し完了したとき、第１のソフトウェアモジュールの起動を再開させる。
【００１２】
さらに本発明の側面においては、第１の情報処理装置と、第１の情報処理装置により近接通信によりアクセスされる第２の情報処理装置とを備え、第２の情報処理装置は、通信部と、状態管理部と、起動管理部とを備え、通信部は、ソフトウェアモジュールにコマンドを送信し、状態管理部は、ソフトウェアモジュールの状態を管理し、起動管理部は、異なる方式の非接触通信により授受される情報を処理する複数のソフトウェアモジュールのうちの第1のソフトウェアモジュールの起動途中に第2のソフトウェアモジュールの処理が開始し完了したとき、第１のソフトウェアモジュールの起動を再開させる。
【発明の効果】
【００１３】
以上のように、本発明の側面によれば、セキュリティを確保した上でソフトウェアモジュールを確実に起動することができる。
【発明を実施するための最良の形態】
【００１４】
以下、発明を実施するための最良の形態（以下、実施の形態と称する）について説明する。なお、説明は以下の順序で行う。
＜１．第１の実施の形態＞
［システムの構成］
［メモリマップの構成］
［ソフトウェアモジュールＡの機能的構成］
［マッピングの状態の遷移］
［ソフトウェアモジュールＦとソフトウェアモジュールＪを起動する場合の処理］
【００１５】
［システムの構成］
【００１６】
図１は本発明の情報処理システムの一実施の形態の構成を示すブロック図である。この情報処理システム１は、アンテナ１２を有するリーダライタ１１、携帯電話端末１３、並びにサーバ１５により構成されている。携帯電話端末１３は携帯電話通信網１４を介してサーバ１５に接続可能とされている。すなわち、この実施の形態の場合、携帯電話端末１３に対してアクセスできるのは、リーダライタ１１とサーバ１５である。
【００１７】
携帯電話端末１３は、アンテナ３１、ＮＦＣ（Ｎｅａｒ  Ｆｉｅｌｄ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ）チップ３２、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３３、ＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）などで構成されるＩＣチップ３４を有している。
【００１８】
ＮＦＣチップ３２とリーダライタ１１は、それぞれが有するアンテナ３１とアンテナ１２を介して、ＮＦＣに代表される非接触通信を行う。ＣＰＵ３３は携帯電話端末１３の動作を制御する。
【００１９】
ＩＣチップ３４は、インターフェース５１、ＣＰＵ５２、メモリアクセス管理モジュール５３、および記憶部５４により構成されている。記憶部５４は、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）６１、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）６２、およびＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  ａｎｄ  Ｐｒｏｇｒａｍａｂｌｅ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）６３により構成されている。
【００２０】
インターフェース５１は、ＮＦＣチップ３２とＣＰＵ５２との間のインターフェース処理を実行する。ＣＰＵ５２は、インストールされたソフトウェアモジュールＡ、ソフトウェアモジュールＪ、およびソフトウェアモジュールＦに基づき、各種の処理を実行する。
【００２１】
ソフトウェアモジュールＪは、第１の方式の非接触ＩＣカードとしての例えばＪａｖａ  Ｃａｒｄ（サンマイクロシステムズ社の登録商標）の処理を行うオペレーティングシステムである。ソフトウェアモジュールＦは、第２の方式の非接触ＩＣカードとしての例えばＦｅｌｉＣａ（ソニー株式会社の登録商標）の処理を行うオペレーティングシステムである。マッピング部としてのソフトウェアモジュールＡは、メモリマップに対するマッピング処理を行い、ソフトウェアモジュールＦとソフトウェアモジュールＪが同時に動作しないようにタイミングを調停するオペレーティングシステムである。
【００２２】
すなわち、ソフトウェアモジュールＡは、複数のソフトウェアモジュール（ソフトウェアモジュールＦとソフトウェアモジュールＪ）のうちの設定されたソフトウェアモジュール（例えばソフトウェアモジュールＦ）以外の前記ソフトウェアモジュール（例えばソフトウェアモジュールＪ）が、設定されたソフトウェアモジュール（例えばソフトウェアモジュールＦ）と同じタイミングで動作するのを禁止するようにマップをマッピングする。
【００２３】
記憶部５４のＲＯＭ６１は、プログラム、パラメータ、その他の情報を記憶する。ＲＡＭ６２は、情報を一時的に記憶する。ＥＥＰＲＯＭ６３は、電源オフ後も保持する必要がある情報を記憶する。
【００２４】
マップに基づいてソフトウェアモジュールの動作を管理する動作管理部としてのメモリアクセス管理モジュール５３は、保持するメモリマップに基づいて、記憶部５４に対するＣＰＵ５２からのアクセスを制御する。メモリアクセス管理モジュール５３は、記憶部５４に記憶されている情報のマップであるメモリマップにより動作が禁止されている領域に対するアクセスが行われた場合、ハードウェア的なリセットを実行する。
【００２５】
［メモリマップの構成］
【００２６】
図２は、ソフトウェアモジュールの動作を許可又は禁止するマップであるメモリマップの原理的構成を表している。アドレスａａａからアドレスｂｂｂまでの領域には、ＲＯＭ６１のソフトウェアモジュールＡに関する情報が記憶される。アドレスｃｃｃからアドレスｄｄｄまでの領域には、ＲＯＭ６１のソフトウェアモジュールＦに関する情報が記憶される。アドレスｅｅｅからアドレスｆｆｆまでの領域には、ＲＯＭ６１のソフトウェアモジュールＪに関する情報が記憶される。
【００２７】
アドレスｇｇｇからアドレスｈｈｈまでの領域には、ＲＡＭ６２のソフトウェアモジュールＡに関する情報が記憶される。アドレスｉｉｉからアドレスｊｊｊまでの領域には、ＲＡＭ６２のソフトウェアモジュールＦに関する情報が記憶される。アドレスｋｋｋからアドレスｌｌｌまでの領域には、ＲＡＭ６２のソフトウェアモジュールＪに関する情報が記憶される。
【００２８】
アドレスｍｍｍからアドレスｎｎｎまでの領域には、ＥＥＰＲＯＭ６３のソフトウェアモジュールＡに関する情報が記憶される。アドレスｏｏｏからアドレスｐｐｐまでの領域には、ＥＥＰＲＯＭ６３のソフトウェアモジュールＦに関する情報が記憶される。アドレスｑｑｑからアドレスｒｒｒまでの領域には、ＥＥＰＲＯＭ６３のソフトウェアモジュールＪに関する情報が記憶される。
【００２９】
［ソフトウェアモジュールＡの機能的構成］
【００３０】
図３はソフトウェアモジュールＡの機能的構成を表している。ソフトウェアモジュールＡは、受信部１０１、送信部１０２、マッピング部１０３、フラグ設定部１０４、起動管理部１０５、マスク部１０６、および判定部１０７を有している。
【００３１】
受信部１０１は、他のソフトウェアモジュールからの情報を受信する。受信部１０１とともに通信部を構成する送信部１０２は、他のソフトウェアモジュールに対して情報を送信する。マッピング部１０３は、メモリマップのマッピング処理を行う。状態管理部としてのフラグ設定部１０４は、状態を管理するフラグの設定を行う。
【００３２】
起動管理部１０５はソフトウェアモジュールAとソフトウェアモジュールFの起動を管理する。マスク部１０６は、ソフトウェアモジュールAとソフトウェアモジュールFの一方が動作中において発生した他方への割り込みをマスクしたり、アンマスクする。判定部１０７はパケットの種類やソフトウェアモジュールが起動中であるかなどを判定する。
【００３３】
［マッピングの状態の遷移］
【００３４】
図４はマッピングの状態の遷移を表している。この実施の形態の場合、マッピングＡ、マッピングＦ、およびマッピングＪの３つの状態が存在する。マッピングＡでは、ソフトウェアモジュールＡのみが動作可能とされ、ソフトウェアモジュールＦとソフトウェアモジュールＪの動作は禁止される。マッピングＦでは、ソフトウェアモジュールＡとソフトウェアモジュールＦのみが動作可能とされ、ソフトウェアモジュールＪの動作は禁止される。マッピングＪでは、ソフトウェアモジュールＡとソフトウェアモジュールＪのみが動作可能とされ、ソフトウェアモジュールＦの動作は禁止される。
【００３５】
状態は、マッピングＡからマッピングＦ、またはマッピングＡからマッピングＪに遷移する。あるいは逆に、マッピングＦからマッピングＡ、またはマッピングＪからマッピングＡに遷移する。マッピングＦからマッピングＪへの直接の遷移、あるいはその逆のマッピングＪからマッピングＦへの直接の遷移は禁止される。
【００３６】
このように、ソフトウェアモジュールＦとソフトウェアモジュールＪが同じタイミングで同時に動作することが禁止されるので、セキュリティが確保される。
【００３７】
なお、マッピングは、マッピング部１０３が、受信されたコマンドパケットの宛先（通信方式）に応じて決定する。ソフトウェアモジュールＡは常に動作可能の状態とされる。
【００３８】
［ソフトウェアモジュールＦとソフトウェアモジュールＪを起動する場合の処理］
【００３９】
図５乃至図７は、ソフトウェアモジュールＦとソフトウェアモジュールＪを起動する場合の処理を表している。
【００４０】
ステップＳ１においてリーダライタ１１は、ＲＦ（Ｒａｄｉｏ  Ｆｒｅｑｕｅｎｃｙ）をオンする。すなわち、リーダライタ１１からアンテナ１２を介してＲＦ信号が発生される。ステップＳ２１においてＮＦＣチップ３２は、アンテナ３１を介してこのＲＦ信号を受信する。ステップＳ２２においてＮＦＣチップ３２は、ＩＣチップ３４に対して電源のオンを指令する。
【００４１】
ステップＳ４１においてソフトウェアモジュールＡの受信部１０１が、インターフェース５１を介してＮＦＣ３２からの指令を受信すると、ステップＳ４２において起動管理部１０５はソフトウェアモジュールＡ自身を起動する。ステップＳ４３においてマスク部１０６は、全ての割り込みをマスクする。
【００４２】
なお、待機状態においてはマッピングはマッピングＡの状態とされているので、ソフトウェアモジュールＡ以外は通信が禁止されている。従って、この受信処理はソフトウェアモジュールＡによってのみ行われる。
【００４３】
ステップＳ４４においてソフトウェアモジュールＡのマッピング部１０３は、後のステップＳ４５でソフトウェアモジュールＪを起動するために、マッピングをマッピングＡの状態からマッピングＪの状態に切り替える。これによりソフトウェアモジュールＡとソフトウェアモジュールＪの間の通信のみが可能となり、それ以外の通信は禁止された状態になる。
【００４４】
ステップＳ４５においてソフトウェアモジュールＡの送信部１０２は、ソフトウェアモジュールＪを起動するコマンドパケットをソフトウェアモジュールＪに送信し、ソフトウェアモジュールＪを起動する。
【００４５】
ステップＳ９１においてソフトウェアモジュールＪは、ソフトウェアモジュールＡからのコマンドパケットを受信する。そして、ステップＳ９２においてソフトウェアモジュールＪは、受信したコマンドに対応して自身を起動する処理を実行する。ステップＳ９３においてソフトウェアモジュールＪは、起動処理の結果に対応するソフトウェアモジュールＪのレスポンスパケットをソフトウェアモジュールＡに送信する。
【００４６】
ステップＳ４６においてソフトウェアモジュールＡの受信部１０１は、ソフトウェアモジュールＪからのレスポンスパケットを受信する。これにより起動管理部１０５はソフトウェアモジュールＪの起動の完了を確認する。
【００４７】
次にステップＳ４７においてソフトウェアモジュールＡのマッピング部１０３は、後のステップＳ４８でソフトウェアモジュールＡ自身においてフラグを設定するために、マッピングをマッピングＪの状態からマッピングＡの状態に切り替える。これによりソフトウェアモジュールＡによる処理のみが可能となり、それ以外のソフトウェアモジュールの処理は禁止された状態になる。ステップＳ４８においてソフトウェアモジュールＡのフラグ設定部１０４は、ソフトウェアモジュールＦが起動中の状態であることを表すフラグをセットする。
【００４８】
その後ステップＳ５０で、ソフトウェアモジュールＦを起動するために、ステップＳ４９においてマッピング部１０３は、マッピングをマッピングＡの状態からマッピングＦの状態に切り替える。これによりソフトウェアモジュールＡとソフトウェアモジュールＪによる処理のみが可能となり、それ以外のソフトウェアモジュールの処理は禁止された状態になる。
【００４９】
ステップＳ５０においてソフトウェアモジュールＡの送信部１０２は、ソフトウェアモジュールＦを起動するコマンドパケットをソフトウェアモジュールＦに送信することで、ソフトウェアモジュールＦを起動する。ソフトウェアモジュールＦは、割り込みが可能な処理モードで起動処理を行うため、ステップＳ５１においてソフトウェアモジュールＡのマスク部１０６は、割り込みをアンマスクする。これにより割り込みが可能な状態になる。
【００５０】
一方、ステップＳ１１１においてソフトウェアモジュールＦは、ソフトウェアモジュールＡから送信されてきたコマンドパケットを受信する。ステップＳ１１２においてソフトウェアモジュールＦは、受信したコマンドに対応して起動する処理を開始する。
【００５１】
いま、ステップＳ２においてリーダライタ１１がソフトウェアモジュールＪのコマンドを送信したとする。このコマンドは、リーダライタ１１からアンテナ１２を介して送信される。ステップＳ２３においてＮＦＣチップ３２は、アンテナ３１を介してこのコマンドを受信する。ステップＳ２４においてＮＦＣチップ３２は、ＩＣチップ３４に対してソフトウェアモジュールＪのコマンドを送信する。
【００５２】
ステップＳ５２においてソフトウェアモジュールＡの受信部１０１が、インターフェース５１を介してＮＦＣ３２からのコマンドを受信すると、ソフトウェアモジュールＪは割り込みが不可能な処理モードで起動処理を行うため、ステップＳ５３においてマスク部１０６は、全ての割り込みをマスクする。
【００５３】
ステップＳ５４においてマッピング部１０３は、ステップＳ５２で受信されたコマンドパケットが、ソフトウェアモジュールＪのパケットであるかの判定処理を後のステップＳ
５５で実行するため、マッピングをマッピングＦの状態からマッピングＡの状態に切り替える。これによりソフトウェアモジュールＡによる処理のみが可能となり、それ以外のソフトウェアモジュールの処理は禁止された状態になる。
【００５４】
マッピングが切り替えられることにより、ソフトウェアモジュールＦの起動処理は、途中で中断される。
【００５５】
ステップＳ５５において判定部１０７は、ステップＳ５２で受信されたコマンドパケットが、ソフトウェアモジュールＪのパケットであるかを判定する。ステップＳ５２で受信されたコマンドパケットが、ソフトウェアモジュールＪのパケットである場合、ステップＳ５７においてマッピング部１０３は、後のステップＳ５７でソフトウェアモジュールＪにコマンドパケットを送信するために、マッピングをマッピングＡの状態からマッピングＪの状態に切り替える。これによりソフトウェアモジュールＡとソフトウェアモジュールＪによる処理のみが可能となり、それ以外のソフトウェアモジュールによる処理は禁止された状態になる。
【００５６】
ステップＳ５７においてソフトウェアモジュールＡの送信部１０２は、コマンドパケットをソフトウェアモジュールＪに送信する。
【００５７】
ステップＳ９４においてソフトウェアモジュールＪは、ソフトウェアモジュールＡからのコマンドパケットを受信する。そして、ステップＳ９５においてソフトウェアモジュールＪは、受信したコマンドに対応する処理を実行する。ステップＳ９６においてソフトウェアモジュールＪは、処理の結果に対応するソフトウェアモジュールＪのレスポンスパケットをソフトウェアモジュールＡに送信する。
【００５８】
ステップＳ５８においてソフトウェアモジュールＡの受信部１０１は、ソフトウェアモジュールＪからのレスポンスパケットを受信する。ステップＳ５９において送信部１０２は、ソフトウェアモジュールＪから受信したレスポンスをリーダライタ１１に向けて送信する。
【００５９】
ステップＳ２５においてＮＦＣチップ３２は、ソフトウェアモジュールＡからのレスポンスを、インターフェース５１を介して受信すると、ステップＳ２６において、そのレスポンスをリーダライタ１１に向けてアンテナ３１を介して送信する。
【００６０】
ステップＳ３においてリーダライタ１１は、アンテナ１２を介してＮＦＣチップ３２からのレスポンスを受信する。これにより、リーダライタ１１は、ステップＳ２で送信したコマンドに対応するレスポンスをソフトウェアモジュールＪから受信したことになる。
【００６１】
ステップＳ６０においてマッピング部１０３は、後のステップＳ６１で、ソフトウェアモジュールＦを起動中の状態であるかの判定処理を行うため、マッピングをマッピングＪの状態からマッピングＡの状態に切り替える。これによりソフトウェアモジュールＡによる処理のみが可能となり、それ以外のソフトウェアモジュールによる処理は禁止された状態になる。
【００６２】
ステップＳ６１において判定部１０７は、ソフトウェアモジュールＦを起動中の状態であるかを判定する。この判定は、ステップＳ４８でセットされたフラグに基づき行うことができる。
【００６３】
ソフトウェアモジュールＦが起動中の状態である場合（すなわち、フラグがセットされている場合）、ステップＳ６２においてマッピング部１０３は、後のステップＳ６４でソフトウェアモジュールＦにコマンドパケットを送信するために、マッピングをマッピングＡの状態からマッピングＦの状態に切り替える。これによりソフトウェアモジュールＡとソフトウェアモジュールＦによる処理のみが可能となり、それ以外のソフトウェアモジュールによる処理は禁止された状態になる。
【００６４】
なお、ステップＳ５５において、ステップＳ５２で受信されたパケットが、ソフトウェアモジュールＪのパケットではないと判定された場合にも、ステップＳ５６乃至ステップＳ６１の処理がスキップされて、ステップＳ６２の処理が行われる。
【００６５】
ステップＳ６３においてマスク部１０６は、割り込みをアンマスクする。すなわち、割り込みが可能な状態とされる。
【００６６】
ステップＳ６４においてソフトウェアモジュールＡの起動管理部１０５は、送信部１０２を制御して、ソフトウェアモジュールＦの起動シーケンスを再開するコマンドパケットをソフトウェアモジュールＦに送信させる。
【００６７】
ステップＳ１１３においてソフトウェアモジュールＦは、ソフトウェアモジュールＡからのコマンドパケットを受信する。そして、ステップＳ１１４においてソフトウェアモジュールＦは、受信したコマンドに対応して、一旦中断した起動シーケンスを再開する。起動シーケンスが完了したとき、ステップＳ１１５においてソフトウェアモジュールＦは、処理の結果に対応するソフトウェアモジュールＦのレスポンスパケットをソフトウェアモジュールＡに送信する。
【００６８】
ステップＳ６５においてソフトウェアモジュールＡの受信部１０１は、ソフトウェアモジュールＦからのレスポンスパケットを受信する。これにより起動管理部１０５はソフトウェアモジュールＦの起動の完了を確認する。
【００６９】
ステップＳ６６においてソフトウェアモジュールＡのマッピング部１０３は、後のステップＳ６６でフラグを解除するために、マッピングをマッピングＦの状態からマッピングＡの状態に切り替える。これによりソフトウェアモジュールＡによる処理が可能となり、それ以外のソフトウェアモジュールによる処理は禁止された状態になる。
【００７０】
ステップＳ６７においてソフトウェアモジュールＡのフラグ設定部１０４は、ステップＳ４８でセットしたソフトウェアモジュールＦが起動中の状態であることを表すフラグを解除する。
【００７１】
なお、ステップＳ６１においてソフトウェアモジュールＦが起動中の状態ではないと判定された場合にも、ステップＳ６２乃至ステップＳ６６の処理はスキップされ、ステップＳ６７の処理が実行される。
【００７２】
ステップＳ６８においてマスク部１０６は、全ての割り込みをアンマスクする。これにより、割り込みが可能な状態になる。ステップＳ６９においてマッピング部１０３は、モードを待機状態にする。
【００７３】
以上においては、リーダライタ１１がＩＣチップ３４にアクセスする場合について説明したが、サーバ１５が携帯電話通信網１４とＣＰＵ３３を介してアクセスする場合にも同様の処理が行われる。
【００７４】
なお、方式の異なるソフトウェアモジュールの数は少なくとも２個であり、３個以上であってもよい。
【００７５】
また、非同期で処理を停止できない期間は割り込み禁止とされる。このような処理はできるだけ先にまとめて行うのがよい。それにより割り込み禁止期間を短くする（早く終了させる）ことができる。
【００７６】
ＩＣチップ３４が非接触ＩＣカード、その他の情報処理装置に収容されている場合にも本発明は適用することができる。
【００７７】
上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラム記録媒体からインストールされる。
【００７８】
なお、本明細書において、プログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【００７９】
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【００８０】
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【図面の簡単な説明】
【００８１】
【図１】本発明の情報処理システムの一実施の形態の構成を示すブロック図である。
【図２】メモリマップの原理的構成を表す図である。
【図３】ソフトウェアモジュールAの構成を示すブロック図である。
【図４】マッピングの状態の遷移を表す図である。
【図５】リーダライタがＩＣチップを起動する場合の処理を説明するフローチャートである。
【図６】リーダライタがＩＣチップを起動する場合の処理を説明するフローチャートである。
【図７】リーダライタがＩＣチップを起動する場合の処理を説明するフローチャートである。
【符号の説明】
【００８２】
１  情報処理システム，  １２  アンテナ，  １３  携帯電話端末，  １４  携帯電話通信網，  １５  サーバ，  ３１  アンテナ，  ３２  ＮＦＣチップ，  ３３  ＣＰＵ，  ５１  インターフェース，  ５２  ＣＰＵ，  ５３  メモリアクセス管理モジュール，  ５４  記憶部
【図１】
2010067199.tif 000003
【図２】
2010067199.tif 000004
【図３】
2010067199.tif 000005
【図４】
2010067199.tif 000006
【図５】
2010067199.tif 000007
【図６】
2010067199.tif 000008
【図７】
2010067199.tif 000009