JP7234567B2 - 電子情報記憶媒体、電子情報記憶媒体における処理方法、及びプログラム - Google Patents

電子情報記憶媒体、電子情報記憶媒体における処理方法、及びプログラム Download PDF

Info

Publication number
JP7234567B2
JP7234567B2 JP2018198595A JP2018198595A JP7234567B2 JP 7234567 B2 JP7234567 B2 JP 7234567B2 JP 2018198595 A JP2018198595 A JP 2018198595A JP 2018198595 A JP2018198595 A JP 2018198595A JP 7234567 B2 JP7234567 B2 JP 7234567B2
Authority
JP
Japan
Prior art keywords
command
common
common command
received
storage medium
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2018198595A
Other languages
English (en)
Other versions
JP2020067706A (ja
Inventor
龍平 渡辺
満里子 野地
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dai Nippon Printing Co Ltd
Original Assignee
Dai Nippon Printing Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Dai Nippon Printing Co Ltd filed Critical Dai Nippon Printing Co Ltd
Priority to JP2018198595A priority Critical patent/JP7234567B2/ja
Publication of JP2020067706A publication Critical patent/JP2020067706A/ja
Application granted granted Critical
Publication of JP7234567B2 publication Critical patent/JP7234567B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Computer And Data Communications (AREA)
  • Telephone Function (AREA)

Description

本発明は、複数のアプリケーションを搭載するUIM等の電子情報記憶媒体の技術分野に関する。
近年、複数の論理チャネルを管理する論理チャネル(ロジカルチャネル)管理機能を有し、複数のアプリケーション(いわゆるマルチアプリケーション)を搭載することが可能なUIM(User Identity Module)が普及している。論理チャネル管理機能は、例えば特許文献1に開示されるように、各論理チャネルに異なるアプリケーションを割り当てることができ、これにより、アプリケーションごとに異なる複数系列のコマンド(外部からのコマンド)を処理することができる。また、このようなUIMに搭載されたオペレーティングシステムは、アプリケーション間(言い換えれば、後述する通信相手間)で共通する共通コマンドを処理することが可能になっている。共通コマンドの例として、論理チャネルをオープンまたはクローズするコマンド(MANAGE CHANNEL コマンド)、及び論理チャネルにアプリケーションを割り当てるコマンド(SELECT コマンド)が挙げられる。このような共通コマンド以外のコマンドは、例えば、当該コマンドで指定された論理チャネルに割り当てられているアプリケーションへ配送され、当該アプリケーションにより処理される。
特開2011-216068号公報
ところで、近年、上述したUIMは、ICカードや携帯端末ばかりでなく、IoT(Internet of Things)機器などに組み込まれ、複数種類のインターフェースを介して様々な通信相手(例えば、通信機器に搭載されたモジュール)と通信可能になってきている。このように、通信相手が多様化することで、それぞれの通信相手の実装によって、UIMに搭載されたオペレーティングシステムに期待される動作が異なり、不整合が生じるようになっている。例えば、単機能な通信相手であれば、アプリケーションを選択せずに(つまり、論理チャネルを必要とせずに)コマンドを送信することが想定される。また、ある通信相手は、上述した共通コマンドとして定義されていない独自の非共通コマンド(例えば、アプリケーションの選択を全て外したり、選択可能なアプリケーションを制限するなどのコマンド)を実装していることが想定される。このような状況に対応するためには、環境や用途に合わせた複数種類のUIMが必要となる。その結果、ユーザに不便を強いることになり、マルチアプリケーションの利便性が損なわれてしまう。
そこで、本発明は、以上の点等に鑑みてなされたものであり、通信相手が多様化する場合であっても、利便性を向上することが可能な電子情報記憶媒体、電子情報記憶媒体における処理方法、及びプログラムを提供することを目的とする。
上記課題を解決するために、請求項1に記載の発明は、オペレーティングシステムを搭載する電子情報記憶媒体であって、外部からインターフェースを介して受信されたコマンドが複数の通信相手間で共通して前記オペレーティングシステムにより処理されるべき共通コマンドとして定義されていない非共通コマンドであるか否かを判定する第1判定手段と、前記第1判定手段により前記非共通コマンドであると判定された場合、前記非共通コマンドの非共通コマンド処理手段へ前記受信されたコマンドを配送する第1配送手段と、前記第1判定手段により前記非共通コマンドでないと判定された場合、前記受信されたコマンドが前記共通コマンドであるか否かを判定する第2判定手段と、前記第2判定手段により前記共通コマンドであると判定された場合、前記共通コマンドを処理する共通コマンド処理手段と、前記第2判定手段により前記共通コマンドでないと判定された場合、前記受信されたコマンドで指定された論理チャネルに前記オペレーティングシステム上で実行されるアプリケーションが割り当てられているか否かを判定する第3判定手段と、前記第3判定手段により前記論理チャネルに前記アプリケーションが割り当てられていると判定された場合、当該アプリケーションへ前記受信されたコマンドを配送する第2配送手段と、を備えることを特徴とする。
請求項2に記載の発明は、オペレーティングシステムを搭載する電子情報記憶媒体であって、外部からインターフェースを介して受信されたコマンドが複数の通信相手間で共通して前記オペレーティングシステムにより処理されるべき共通コマンドとして定義されていない非共通コマンドであるか否かを判定する第1判定手段と、前記第1判定手段により前記非共通コマンドであると判定された場合、前記非共通コマンドの非共通コマンド処理手段へ前記受信されたコマンドを配送する第1配送手段と、前記第1判定手段により前記非共通コマンドでないと判定された場合、前記受信されたコマンドが前記共通コマンドであるか否かを判定する第2判定手段と、前記第2判定手段により前記共通コマンドであると判定された場合、前記共通コマンドを処理する共通コマンド処理手段と、前記受信されたコマンドの構造に基づいて、前記非共通コマンドであるか否かを判定するための複数の判定方法のうち何れか1の判定方法を決定する決定手段と、を備え、前記第1判定手段は、前記受信されたコマンドが前記非共通コマンドであるか否かを、前記決定手段により決定された判定方法にしたがって判定することを特徴とする。
請求項3に記載の発明は、オペレーティングシステムを搭載する電子情報記憶媒体であって、外部からインターフェースを介して受信されたコマンドが複数の通信相手間で共通して前記オペレーティングシステムにより処理されるべき共通コマンドとして定義されていない非共通コマンドであるか否かを判定する第1判定手段と、前記第1判定手段により前記非共通コマンドであると判定された場合、前記非共通コマンドの非共通コマンド処理手段へ前記受信されたコマンドを配送する第1配送手段と、前記第1判定手段により前記非共通コマンドでないと判定された場合、前記受信されたコマンドが前記共通コマンドであるか否かを判定する第2判定手段と、前記第2判定手段により前記共通コマンドであると判定された場合、前記共通コマンドを処理する共通コマンド処理手段と、を備え、前記電子情報記憶媒体には、前記非共通コマンドのパターンを記述するパターン部と、前記非共通コマンド処理手段の識別子を記述する配送先指定部と、を含んで構成されるコマンドテーブルが記憶されており、前記第1判定手段は、前記受信されたコマンドが前記パターン部に記述されたパターンと一致した場合に、前記非共通コマンドであると判定し、前記第1判定手段により前記非共通コマンドであると判定された場合、前記第1配送手段は、前記受信されたコマンドを前記配送先指定部に記述された識別子から特定された前記非共通コマンド処理手段へ配送することを特徴とする。
請求項4に記載の発明は、オペレーティングシステムを搭載する電子情報記憶媒体であって、外部からインターフェースを介して受信されたコマンドが複数の通信相手間で共通して前記オペレーティングシステムにより処理されるべき共通コマンドとして定義されていない非共通コマンドであるか否かを判定する第1判定手段と、前記第1判定手段により前記非共通コマンドであると判定された場合、前記非共通コマンドの非共通コマンド処理手段へ前記受信されたコマンドを配送する第1配送手段と、前記第1判定手段により前記非共通コマンドでないと判定された場合、前記受信されたコマンドが前記共通コマンドであるか否かを判定する第2判定手段と、前記第2判定手段により前記共通コマンドであると判定された場合、前記共通コマンドを処理する共通コマンド処理手段と、を備え、前記電子情報記憶媒体には、前記非共通コマンドのパターンを記述するパターン部と、前記非共通コマンド処理手段により処理される条件の検証に用いられる情報を記述する条件部とを含んで構成されるコマンドテーブルが記憶されており、前記第1判定手段は、前記受信されたコマンドが前記パターン部に記述されたパターンと一致し、且つ、前記条件部に記述された情報を用いて検証した条件が満たされる場合に、前記非共通コマンドであると判定することを特徴とする。
請求項5に記載の発明は、オペレーティングシステムを搭載する電子情報記憶媒体であって、外部からインターフェースを介して受信されたコマンドが複数の通信相手間で共通して前記オペレーティングシステムにより処理されるべき共通コマンドとして定義されていない非共通コマンドであるか否かを判定する第1判定手段と、前記第1判定手段により前記非共通コマンドであると判定された場合、前記非共通コマンドの非共通コマンド処理手段へ前記受信されたコマンドを配送する第1配送手段と、前記第1判定手段により前記非共通コマンドでないと判定された場合、前記受信されたコマンドが前記共通コマンドであるか否かを判定する第2判定手段と、前記第2判定手段により前記共通コマンドであると判定された場合、前記共通コマンドを処理する共通コマンド処理手段と、を備え、前記電子情報記憶媒体には、前記非共通コマンドのパターンを記述するパターン部と、前記非共通コマンド処理手段の識別子を記述する配送先指定部と、前記非共通コマンド処理手段により処理される条件の検証に用いられる情報を記述する条件部と、を含んで構成されるコマンドテーブルが記憶されており、前記第1判定手段は、前記受信されたコマンドが前記パターン部に記述されたパターンと一致し、且つ、前記条件部に記述された情報を用いて検証した条件が満たされる場合に、前記非共通コマンドであると判定し、前記第1判定手段により前記非共通コマンドであると判定された場合、前記第1配送手段は、前記受信されたコマンドを前記配送先指定部に記述された識別子から特定された前記非共通コマンド処理手段へ配送することを特徴とする。
請求項に記載の発明は、請求項またはに記載の電子情報記憶媒体において、前記条件部には、関数参照、または、アプリケーション識別子と関数識別子が記述されており、前記第1判定手段は、前記関数参照から特定された関数、または、前記アプリケーション識別子と前記関数識別子とから特定された関数が正常終了する場合に、前記条件が満たされると判断することを特徴とする。
請求項に記載の発明は、請求項またはに記載の電子情報記憶媒体において、前記条件部には、インターフェース識別子が記述されており、前記第1判定手段は、前記受信されたコマンドが前記インターフェース識別子から特定されたインターフェースを介して受信された場合に、前記条件が満たされると判断することを特徴とする。
請求項に記載の発明は、請求項またはに記載の電子情報記憶媒体において、前記条件部には、インターフェース識別子が記述されており、前記第1判定手段は、前記インターフェース識別子から特定されたインターフェースの活性化ステップが実行済みである場合に、前記条件が満たされると判断することを特徴とする。
請求項に記載の発明は、請求項またはに記載の電子情報記憶媒体において、前記条件部には、アプリケーション識別子が記述されており、前記第1判定手段は、前記アプリケーション識別子から特定されたアプリケーションが、何れかの論理チャネルに割り当てられている場合に、前記条件が満たされると判断することを特徴とする。
請求項10に記載の発明は、請求項またはに記載の電子情報記憶媒体において、前記条件部には、アプリケーション識別子が記述されており、第1判定手段は、前記アプリケーション識別子から特定されたアプリケーションが、何れの論理チャネルにも割り当てられていない場合に、前記条件が満たされると判断することを特徴とする。
請求項11に記載の発明は、請求項またはに記載の電子情報記憶媒体において、前記条件部には、バイナリ比較用のパターンが記述されており、前記第1判定手段は、前記電子情報記憶媒体により前回受信されたコマンド、または、今回受信されたコマンドが前記バイナリ比較用のパターンと一致する場合に、前記条件が満たされると判断することを特徴とする。
請求項12に記載の発明は、請求項またはに記載の電子情報記憶媒体において、前記条件部には、アプリケーション識別子とライフサイクル識別子が記述されており、前記第1判定手段は、前記アプリケーション識別子から特定されたアプリケーションのライフサイクルが前記ライフサイクル識別子から特定されたライフサイクルと一致する場合に、前記条件が満たされると判断することを特徴とする。
請求項13に記載の発明は、請求項またはに記載の電子情報記憶媒体において、前記条件部には、ライフサイクル識別子が記述されており、前記第1判定手段は、前記ライフサイクル識別子から特定されたライフサイクルが前記電子情報記憶媒体のライフサイクルと一致する場合に、前記条件が満たされると判断することを特徴とする。
請求項14に記載の発明は、オペレーティングシステムを搭載する電子情報記憶媒体におけるコンピュータにより実行される処理方法であって、外部からインターフェースを介して受信されたコマンドが複数の通信相手間で共通して前記オペレーティングシステムにより処理されるべき共通コマンドとして定義されていない非共通コマンドであるか否かを判定するステップと、前記非共通コマンドであると判定した場合、前記非共通コマンドの非共通コマンド処理手段へ前記受信されたコマンドを配送するステップと、前記非共通コマンドでないと判定した場合、前記受信されたコマンドが前記共通コマンドであるか否かを判定するステップと、前記共通コマンドであると判定した場合、前記共通コマンドを処理するステップと、前記共通コマンドでないと判定した場合、前記受信されたコマンドで指定された論理チャネルに前記オペレーティングシステム上で実行されるアプリケーションが割り当てられているか否かを判定するステップと、前記論理チャネルに前記アプリケーションが割り当てられていると判定した場合、当該アプリケーションへ前記受信されたコマンドを配送するステップと、を含むことを特徴とする。
請求項15に記載の発明は、オペレーティングシステムを搭載する電子情報記憶媒体におけるコンピュータに、外部からインターフェースを介して受信されたコマンドが複数の通信相手間で共通して前記オペレーティングシステムにより処理されるべき共通コマンドとして定義されていない非共通コマンドであるか否かを判定するステップと、前記非共通コマンドであると判定した場合、前記非共通コマンドの非共通コマンド処理手段へ前記受信されたコマンドを配送するステップと、前記非共通コマンドでないと判定した場合、前記受信されたコマンドが前記共通コマンドであるか否かを判定するステップと、前記共通コマンドであると判定した場合、前記共通コマンドを処理するステップと、前記共通コマンドでないと判定した場合、前記受信されたコマンドで指定された論理チャネルに前記オペレーティングシステム上で実行されるアプリケーションが割り当てられているか否かを判定するステップと、前記論理チャネルに前記アプリケーションが割り当てられていると判定した場合、当該アプリケーションへ前記受信されたコマンドを配送するステップと、を実行させることを特徴とする。請求項16に記載の発明は、オペレーティングシステムを搭載する電子情報記憶媒体におけるコンピュータに、外部からインターフェースを介して受信されたコマンドが複数の通信相手間で共通して前記オペレーティングシステムにより処理されるべき共通コマンドとして定義されていない非共通コマンドであるか否かを判定する第1判定ステップと、前記非共通コマンドであると判定した場合、前記非共通コマンドの非共通コマンド処理手段へ前記受信されたコマンドを配送するステップと、前記非共通コマンドでないと判定した場合、前記受信されたコマンドが前記共通コマンドであるか否かを判定するステップと、前記共通コマンドであると判定した場合、前記共通コマンドを処理するステップと、前記受信されたコマンドの構造に基づいて、前記非共通コマンドであるか否かを判定するための複数の判定方法のうち何れか1の判定方法を決定するステップと、を実行させるプログラムであって、前記第1判定ステップにおいては、前記受信されたコマンドが前記非共通コマンドであるか否かを、前記決定された判定方法にしたがって判定することを特徴とする。請求項17に記載の発明は、オペレーティングシステムを搭載する電子情報記憶媒体におけるコンピュータに、外部からインターフェースを介して受信されたコマンドが複数の通信相手間で共通して前記オペレーティングシステムにより処理されるべき共通コマンドとして定義されていない非共通コマンドであるか否かを判定する第1判定ステップと、前記非共通コマンドであると判定した場合、前記非共通コマンドの非共通コマンド処理手段へ前記受信されたコマンドを配送する第1配送ステップと、前記非共通コマンドでないと判定した場合、前記受信されたコマンドが前記共通コマンドであるか否かを判定するステップと、前記共通コマンドであると判定した場合、前記共通コマンドを処理するステップと、を実行させるプログラムであって、前記電子情報記憶媒体には、前記非共通コマンドのパターンを記述するパターン部と、前記非共通コマンド処理手段の識別子を記述する配送先指定部と、を含んで構成されるコマンドテーブルが記憶されており、前記第1判定ステップにおいては、前記受信されたコマンドが前記パターン部に記述されたパターンと一致した場合に、前記非共通コマンドであると判定し、前記非共通コマンドであると判定された場合、前記第1配送ステップにおいては、前記受信されたコマンドを前記配送先指定部に記述された識別子から特定された前記非共通コマンド処理手段へ配送することを特徴とする。請求項18に記載の発明は、オペレーティングシステムを搭載する電子情報記憶媒体におけるコンピュータに、外部からインターフェースを介して受信されたコマンドが複数の通信相手間で共通して前記オペレーティングシステムにより処理されるべき共通コマンドとして定義されていない非共通コマンドであるか否かを判定する第1判定ステップと、前記非共通コマンドであると判定した場合、前記非共通コマンドの非共通コマンド処理手段へ前記受信されたコマンドを配送するステップと、前記非共通コマンドでないと判定した場合、前記受信されたコマンドが前記共通コマンドであるか否かを判定するステップと、前記共通コマンドであると判定した場合、前記共通コマンドを処理するステップと、を実行させるプログラムであって、前記電子情報記憶媒体には、前記非共通コマンドのパターンを記述するパターン部と、前記非共通コマンド処理手段により処理される条件の検証に用いられる情報を記述する条件部とを含んで構成されるコマンドテーブルが記憶されており、前記第1判定ステップにおいては、前記受信されたコマンドが前記パターン部に記述されたパターンと一致し、且つ、前記条件部に記述された情報を用いて検証した条件が満たされる場合に、前記非共通コマンドであると判定することを特徴とする。請求項19に記載の発明は、オペレーティングシステムを搭載する電子情報記憶媒体におけるコンピュータに、外部からインターフェースを介して受信されたコマンドが複数の通信相手間で共通して前記オペレーティングシステムにより処理されるべき共通コマンドとして定義されていない非共通コマンドであるか否かを判定する第1判定ステップと、前記非共通コマンドであると判定した場合、前記非共通コマンドの非共通コマンド処理手段へ前記受信されたコマンドを配送する第1配送ステップと、前記非共通コマンドでないと判定した場合、前記受信されたコマンドが前記共通コマンドであるか否かを判定するステップと、前記共通コマンドであると判定した場合、前記共通コマンドを処理するステップと、を実行させるプログラムであって、前記電子情報記憶媒体には、前記非共通コマンドのパターンを記述するパターン部と、前記非共通コマンド処理手段の識別子を記述する配送先指定部と、前記非共通コマンド処理手段により処理される条件の検証に用いられる情報を記述する条件部と、を含んで構成されるコマンドテーブルが記憶されており、前記第1判定ステップにおいては、前記受信されたコマンドが前記パターン部に記述されたパターンと一致し、且つ、前記条件部に記述された情報を用いて検証した条件が満たされる場合に、前記非共通コマンドであると判定し、前記非共通コマンドであると判定された場合、前記第1配送ステップは、前記受信されたコマンドを前記配送先指定部に記述された識別子から特定された前記非共通コマンド処理手段へ配送することを特徴とする。
本発明によれば、通信相手が多様化する場合であっても、利便性を向上することができる。
本実施形態に係る通信デバイスDの概要構成例を示す図である。 UIMモジュール3のハードウェア構成例を示す図である。 UIMモジュール3のソフトウェア構成例を示す図である。 UIMモジュール3のOSにより実行されるメイン処理を示すフローチャートである。 (A),(B)は、非共通コマンド判定処理の詳細を示すフローチャートである。 UIMモジュール3内のプログラム構成の一例を示す図である。 UIMモジュール3内のテーブル構成の一例を示す図である。 UIMモジュール3により受信される各コマンドの構造の一例を示す図である。
以下、図面を参照して本発明の実施形態について詳細に説明する。以下に説明する実施形態は、通信デバイスに対して本発明を適用した場合の実施の形態である。
[1.通信デバイスDの概要構成]
先ず、図1等を参照して、本実施形態にかかる通信デバイスDの概要構成について説明する。図1は、本実施形態に係る通信デバイスDの概要構成例を示す図である。図1に示すように、通信デバイスDは、通信モジュール1、制御モジュール2、及びUIMモジュール3(オペレーティングシステムを搭載する電子情報記憶媒体の一例)等を含んで構成される。通信デバイスDは、例えば、カメラ、POS端末、または車載機器などに組み込まれて使用される。或いは、通信デバイスDは、センサー等を備えるIoT機器に組み込まれて使用される場合もある。通信モジュール1、制御モジュール2、及びUIMモジュール3は、インターフェースを介して互いに通信可能になっている。なお、通信デバイスDには、非接触通信プロトコル処理を担当するCLF(ContactLess Front-end)が搭載されてもよい。
通信モジュール1は、ネットワークNWに接続可能になっている。ネットワークNWは、例えば、インターネット、モバイル網(例えば、3G、4G、または5Gネットワーク)、及びゲートウェイ等により構成される。制御モジュール2は、CPU(Central Processing Unit)、RAM(Random Access Memory)、及びROM(Read Only Memory)等により構成されており、通信デバイスDが組み込まれる機器等における各種機能を制御する。
図2は、UIMモジュール3のハードウェア構成例を示す図である。図2に示すように、UIMモジュール3は、CPU31、RAM32、ROM33、NVM(Nonvolatile Memory)34、及びI/O回路35等を備えて構成される。なお、UIMモジュール3は、通信デバイスDから容易に取り外しや取り換えができないように組み込み基板上に実装されてもよいし、カード型の記録媒体として通信デバイスDに着脱可能に装着されてもよい。I/O回路35は、外部との間の複数のインターフェースを構成する。例えば、通信モジュール1との間はISO7816のインターフェースを介して接続され、制御モジュール2との間は、SPI(Serial Peripheral Interface)を介して接続される。また、通信デバイスDにCLFが搭載される場合、CLFとの間は、SWP(Single Wire Protocol)を介して接続される。なお、各インターフェースには、固有のインターフェース識別子が付与され、オペレーティングシステムにより管理される。
CPU31は、ROM33、またはNVM34に記憶された各種プログラム(本発明のプログラムを含む)を実行するプロセッサ(コンピュータ)である。RAM32は、作業用メモリとして利用される。NVM34には、例えばフラッシュメモリが適用される。なお、NVM34は、「Electrically Erasable Programmable Read-Only Memory」などの不揮発性メモリであってもよい。ROM33またはNVM34との何れかに記憶されるプログラムには、オペレーティングシステム(以下、「OS」という)、仮想マシン(例えば、Java(登録商標)Virtual Machine)、API(Application Programming Interface)、及びアプリケーション(例えば、Java(登録商標)Applet)を構成するプログラムが含まれる。アプリケーションの例として、通信モジュール1によりネットワークNW(例えば、モバイル通信網)へ接続する認証処理を行うためのアプリケーション、制御モジュール2の構成チェックなどのセキュリティ処理を行うためのアプリケーション、CLFによる非接触通信を使用して決済処理を行うためのアプリケーションなどが挙げられる。なお、UIMモジュール3には、複数種類のOSが搭載されてもよい。複数種類のOSの例として、通常の実行環境で動作するリッチOS、及び通常の実行環境とは仮想的に分離されたセキュアな実行環境で動作するセキュアOSが挙げられる。リッチOSは、例えば、Windows(登録商標)、Linux(登録商標)、Android(登録商標)、及びiOS(登録商標)等に代表される汎用OSである。
図3は、UIMモジュール3のソフトウェア構成例を示す図である。図3において、OSは、UIMモジュール3の基本動作を担う基本機能、及び複数の論理チャネルの管理を担う論理チャネル管理機能を有する。論理チャネルとは、オペレーティングシステム上で実行される各アプリケーションにアクセスするための論理的なチャネルである。例えば、論理チャネルCh0には、アプリケーションApp2が割り当てられ、論理チャネルCh1には、アプリケーションApp1が割り当てられる。アプリケーションは、オブジェクトの振る舞いを定義するクラスから実体として作成されたインスタンス(インスタンスオブジェクト)である。各アプリケーションには、固有のアプリケーション識別子(AID)、及びライフサイクルが付与され、OSにより管理される。ライフサイクルは、例えば、アプリケーションのサポート期間(例えば、バージョンアップやエラー修正などのサポートが実施される期限)を示す。なお、アプリケーションは、例えば、ソースコードとネイティブコードとの間のバイトコードにより構成され、バイトコードは、仮想マシンにより解釈されOSにより実行可能な形式のコードに変換される。
また、アプリケーション(インスタンス)には、一連の処理をまとめた関数がメソッド(インスタンスメソッド)として記述される。メソッドには、固有の関数識別子が付与される。クラス内に定義されたメソッドは、当該クラスから作成されたアプリケーション(インスタンス)から呼び出し(コール)することができる。なお、呼び出し対象となるメソッドは、アプリケーション識別子及び関数識別子から特定することができるほか、関数参照(メソッド参照)からも特定することができる。関数参照とは、既に定義されているメソッド(メソッドそのものであり、例えば、「インスタンス変数名::メソッド名」と表記される)を記述するものであり、引数を省略することができる。なお、インスタンス変数名は、インスタンス毎に独立している。
以上のソフトウェア構成において、例えば、OSは、本発明における第1判定手段、第1配送手段、第2判定手段、共通コマンド処理手段、第3判定手段、第2配送手段、及び決定手段として機能する。具体的には、OSは、外部からインターフェースを介して受信されたコマンドが、非共通コマンドであるか否かを、例えば予めNVM34に記憶された非共通コマンドテーブルを参照することにより判定する。ここで、非共通コマンドとは、複数の通信相手間で共通してOSにより処理されるべき共通コマンドとして定義されていないコマンド(例えば、通信相手側で独自に実装されたコマンド)である。通信相手の例として、ネットワークNWに接続されたサーバや、通信デバイスDが組み込まれる機器等が挙げられる。そして、OSは、受信されたコマンドが非共通コマンドであると判定した場合、非共通コマンドの非共通コマンド処理手段へ、受信されたコマンドを配送(供給)する。これにより、非共通コマンドは、非共通コマンド処理手段により処理される。ここで、非共通コマンド処理手段は、例えば、OS上で実行されるアプリケーションである。なお、UIMモジュール3に複数種類のOSが搭載される場合、非共通コマンド処理手段は、非共通コマンドであるか否かの判定を行うOSとは異なる他のOSであってもよい。
第1の例として、非共通コマンドテーブルは、非共通コマンドのパターンを記述するパターン部と、非共通コマンド処理手段の識別子(例えば、アプリケーション識別子)を記述する配送先指定部と、を含んで構成される。この場合、OSは、受信されたコマンドが、非共通コマンドテーブルにおけるパターン部に記述されたパターンと一致した場合に、非共通コマンドであると判定する。そして、OSは、受信されたコマンドが非共通コマンドであると判定した場合、受信されたコマンドを、非共通コマンドテーブルにおける配送先指定部に記述された識別子から特定された非共通コマンド処理手段へ配送する。なお、非共通コマンドテーブルにおける各部の記述内容をコマンド定義という。
第2の例として、非共通コマンドテーブルは、非共通コマンドのパターンを記述するパターン部と、非共通コマンド処理手段の識別子を記述する配送先指定部と、非共通コマンド処理手段により処理される条件の検証に用いられる情報を記述する条件部と、を含んで構成される。この場合、OSは、受信されたコマンドが、非共通コマンドテーブルにおけるパターン部に記述されたパターンと一致し、且つ、非共通コマンドテーブルにおける条件部に記述された情報を用いて検証した条件が満たされる場合に、非共通コマンドであると判定する。そして、OSは、受信されたコマンドが非共通コマンドであると判定した場合、受信されたコマンドを、非共通コマンドテーブルにおける配送先指定部に記述された識別子から特定された非共通コマンド処理手段へ配送する。なお、非共通コマンド処理手段が予め定められている場合、非共通コマンドテーブルに配送先指定部がなくてもよい。
一方、OSは、受信されたコマンドが非共通コマンドでないと判定した場合、受信されたコマンドが共通コマンド(例えば、MANAGE CHANNEL コマンド、または、SELECT コマンド)であるか否かを、例えば予めNVM34に記憶された共通コマンドテーブルを参照することにより判定する。そして、OSは、受信されたコマンドが共通コマンドであると判定した場合、共通コマンドを処理する(つまり、共通コマンドに応じた処理を行う)。例えば、共通コマンドがSELECT コマンドである場合、OSは、当該SELECT コマンドで指定されたアプリケーションを論理チャネル(例えば、チャネル番号:0番)に割り当てる処理を行う。
一方、OSは、受信されたコマンドが共通コマンドでないと判定した場合、受信されたコマンドで指定された論理チャネルにOS上で実行されるアプリケーションが割り当てられているか否かを、例えば予めNVM34に記憶された論理チャネルテーブルを参照することにより判定する。そして、OSは、論理チャネルにアプリケーションが割り当てられていると判定した場合、当該アプリケーションへ受信されたコマンドを配送する。これにより、当該コマンドは、アプリケーションにより処理される。一方、OSは、論理チャネルにアプリケーションが割り当てられていないと判定した場合、エラーを示すレスポンス(応答)をコマンドの送信元へ送信する。
ところで、非共通コマンドの構造の例として、APDU(Application Protocol Data Unit)構造、及び文字列(例えば、ASCII文字列“GET //HTTP1.0”のバイナリ表現)構造などが挙げられる。APDU(Application Protocol Data Unit)構造のコマンドは、ISO7816のインターフェースを通じて伝送されるコマンドであり、CLA(コマンドクラス)、INS(コマンドコード)、P1(コマンドパラメータ1)、及びP2(コマンドパラメータ2)を有するヘッダ部等から構成される。一方、文字列構造のコマンドは、例えばSPI(Serial Peripheral Interface)を通じてシリアル伝送されるコマンドである。
OSは、受信されたコマンドの構造を、予め定められた複数のコマンド構造のうち何れか一つのコマンド構造に決定するように構成してもよい。一例として、OSは、コマンドの受信インターフェース(つまり、コマンドが受信されたインターフェース)に従って受信されたコマンドの構造を決定するよう構成してもよい。また、別の例として、OSは、受信されたコマンドに従ってコマンド構造を決定するよう構成してもよい。例えば、OSは、受信されたコマンドの先頭から4バイト(固定)分のヘッダ部が存在するかを判定し、当該ヘッダ部が存在すればAPDU構造のコマンドであると決定する。また、例えば、OSは、受信されたコマンドの各バイトが予め定められたエンコーディングでバイナリ化されているかを判定し、当該エンコーディングでバイナリ化されていれば文字列構造のコマンドであると決定する。また、OSは、受信されたコマンドの構造を、複数のコマンド構造に決定するように構成してもよい。例えば、受信されたコマンドの先頭から4バイト(固定)分のヘッダ部が存在するか、及び各バイトが予め定められたエンコーディングでバイナリ化されているかをそれぞれ判定し、APDU構造及び文字列構造のコマンドであると決定する。また、OSは、受信されたコマンドの構造に基づいて、非共通コマンドであるか否かを判定するための複数の判定方法のうち何れか1の判定方法を決定し、受信されたコマンドが非共通コマンドであるか否かを、上記決定した判定方法にしたがって判定するように構成してもよい。例えば、APDU構造のコマンドの場合、上述したパターン部に記述されたパターンと、APDU構造のコマンドの先頭から4バイト(固定)分のヘッダ部との一致判定を行うと予め決めておけばよい。これに対し、文字列構造のコマンドの場合、上述したパターン部に記述されたパターンとの一致判定を行う範囲を指定(例えばオフセット及びレングス(長さ)で指定)した上で一致判定を行う必要がある。なお、この場合において、NVM34には、非共通コマンドの構造ごとに区別された非共通コマンドテーブル(例えば、APDUからなるコマンド用の非共通コマンドテーブルと、文字列からなるコマンド用の非共通コマンドテーブル)が記憶されてもよい。このとき、区別された各非共通コマンドテーブルは、それぞれ異なる構造であってよい。この場合、OSは、受信されたコマンドの構造に基づいて決定した判定方法(例えば、1番または2番)に対応する非共通コマンドテーブルを特定し、特定した非共通コマンドテーブルに具体的に記述された判定方法にしたがって、受信されたコマンドが非共通コマンドであるか否かを判定する。また、OSは、受信されたコマンドの構造が複数のコマンド構造に決定された場合、複数のコマンド構造のうち一つを定められた順序に従って順次決定し、決定したコマンド構造に基づいて非共通コマンドであるか否かを判定するための複数の判定方法のうち何れか1の判定方法を決定し、受信されたコマンドが非共通コマンドであるか否かを、上記決定した判定方法にしたがって判定するように構成してもよい。
[2.UIMモジュール3の動作]
次に、図4を参照して、UIMモジュール3の動作について説明する。図4は、UIMモジュール3のOSにより実行されるメイン処理を示すフローチャートである。図5(A),(B)は、図4のステップS1における非共通コマンド判定処理の詳細を示すフローチャートである。なお、図5(A),(B)は、それぞれ、複数の非共通コマンドのそれぞれに対応するコマンド定義(パターン部、配送先指定部、及び条件部の記述内容)からなる非共通コマンドテーブルを利用した場合の非共通コマンド判定処理を示す。図5(B)に示す非共通コマンド判定処理では、コマンドの構造に基づいて判定方法を決定するステップS10があるのに対し、図5(A)に示す非共通コマンド判定処理では、当該ステップS10がない点で異なる。また、図5(A)に示す非共通コマンド判定処理では、非共通コマンドを例えばAPDU構造のコマンドと文字列構造のコマンドとのどちらか一方とする必要があるのに対し、図5(B)に示す非共通コマンド判定処理では、非共通コマンドが例えばAPDU構造のコマンドと文字列構造のコマンドとのどちらであっても対応することができる。
図4に示す処理は、外部からインターフェースを介してコマンドが受信された場合に開始される。図4に示す処理が開始されると、OSは、受信されたコマンドが非共通コマンドであるか否かを判定するための非共通コマンド判定処理を実行する(ステップS1)。図5(B)に示す非共通コマンド判定処理では、先ず、OSは、受信されたコマンドの構造に基づいて判定方法を決定する(ステップS10)。次いで、OSは、図5(A)または図5(B)に示すように、非共通コマンドテーブルからコマンド定義(つまり、パターン部、配送先指定部、及び条件部の記述内容)を全て取得したか否かを判定する(ステップS11)。図5(A)に示すステップS11では、予め特定された非共通コマンドテーブルからコマンド定義を全て取得したか否かが判定される。一方、図5(B)に示すステップS11では、ステップS10で決定された判定方法に対応する非共通コマンドテーブルが特定され、当該特定された非共通コマンドテーブルからコマンド定義を全て取得したか否かが判定される。
OSは、非共通コマンドテーブルからコマンド定義を全て取得していないと判定した場合(ステップS11:NO)、非共通コマンドテーブルから、まだ取得されていないコマンド定義(例えば、1非共通コマンドに対応する1行分のコマンド定義)を取得し(ステップS12)、ステップS13へ進む。なお、ステップS11へのループにおいて、例えば、非共通コマンドテーブルの先頭行から最終行まで1行ずつ取得されることになる。一方、OSは、非共通コマンドテーブルからコマンド定義を全て取得したと判定した場合(ステップS11:YES)、判定結果として非共通コマンド判定失敗を記憶し、図4に示す処理に戻る。
ステップS13では、OSは、ステップS12で取得したコマンド定義におけるパターン部に記述されたパターン(バイナリ列)と、受信されたコマンドとのパターン検証を行う。例えば、APDU構造用のコマンド定義におけるパターン部には、パターンに加えて、特定ビットを操作するためのマスクが記述されている。この場合、OSは、受信されたコマンドの先頭から4バイトとマスクとをAND演算し、AND演算の結果とパターンとをXOR演算することでパターン検証を行う。一方、文字列構造用のコマンド定義におけるパターン部には、パターンに加え、マスク、オフセット、及びレングス(長さ)が記述されている。この場合、OSは、受信されたコマンドにおいてオフセット及びレングスで指定された範囲のバイト列とマスクとをAND演算し、AND演算の結果とパターンとをXOR演算することでパターン検証を行う。
そして、OSは、ステップS13におけるパターン検証の結果から、ステップS12で取得したコマンド定義におけるパターン部に記述されたパターンと、受信されたコマンドが一致すると判定した場合(ステップS14:一致)、ステップS15へ進む。一方、OSは、ステップS13におけるパターン検証の結果から、ステップS12で取得したコマンド定義におけるパターン部に記述されたパターンと、受信されたコマンドが一致しないと判定した場合(ステップS14:不一致)、ステップS11に戻る。
ステップS15では、OSは、ステップS12で取得したコマンド定義における条件部に記述された情報を用いて条件検証を行う。ここで、条件検証の例(1)~(8)について以下に説明する。なお、以下の例(1)~(8)は互いに独立しており、用途等に応じて何れか1つ(特に矛盾がなければ複数であってもよい)が採用される。
(1)コマンド定義における条件部に、関数参照、または、アプリケーション識別子と関数識別子が記述されている場合、OSは、関数参照から特定された関数、または、アプリケーション識別子と関数識別子とから特定された関数が正常終了するか否かの条件検証を行う。例えば、特定された関数を、当該関数を記述するアプリケーション(インスタンス)から呼び出し、実行できれば正常終了となる。
(2)コマンド定義における条件部に、インターフェース識別子が記述されている場合、OSは、受信されたコマンドがインターフェース識別子から特定されたインターフェース(ISO7816のインターフェース)を介して受信されたか否かの条件検証を行う。
(3)コマンド定義における条件部に、インターフェース識別子が記述されている場合、OSは、インターフェース識別子から特定されたインターフェースの活性化ステップが実行済みであるか(例えば、ISO7816に規定されるCold Reset(活性化後、最初に発生するリセット)が実行済みであるか)否かの条件検証を行う。
(4)コマンド定義における条件部に、アプリケーション識別子が記述されている場合、OSは、アプリケーション識別子から特定されたアプリケーションが、何れかの論理チャネルに割り当てられているか(言い換えれば、何れかの論理チャネルで、論理チャネル上のアプリケーションとなっているか)否かの条件検証を行う。
(5)コマンド定義における条件部に、アプリケーション識別子が記述されている場合、OSは、アプリケーション識別子から特定されたアプリケーションが、何れの論理チャネルにも割り当てられていないか(言い換えれば、何れの論理チャネルでも論理チャネル上のアプリケーションで無いか)否かの条件検証を行う。
(6)コマンド定義における条件部に、バイナリ比較用のパターンが記述されている場合、OSは、UIMモジュール3により前回受信されたコマンド、または、今回受信されたコマンドがバイナリ比較用のパターンと一致するか否かの条件検証を行う。この条件検証は、例えば、受信されたコマンドの先頭と末尾等に対し、2つのパターンのそれぞれが一致するか否かの検証である。
(7)コマンド定義における条件部に、アプリケーション識別子とライフサイクル識別子が記述されている場合、OSは、アプリケーション識別子から特定されたアプリケーションのライフサイクルがライフサイクル識別子から特定されたライフサイクルと一致するか否かの条件検証を行う。
(8)コマンド定義における条件部に、ライフサイクル識別子が記述されている場合、OSは、ライフサイクル識別子から特定されたライフサイクルがUIMモジュール3のライフサイクルと一致するか否かの条件検証を行う。
そして、OSは、ステップS15における条件検証の結果から、検証した条件が満たされると判定した場合(ステップS16:条件検証成功)、判定結果として非共通コマンド判定成功を記憶し、図4に示す処理に戻る。例えば、例(1)の場合、OSは、特定された関数が正常終了する場合に条件が満たされると判断する。また、例(2)の場合、OSは、受信されたコマンドが特定されたインターフェースを介して受信された場合に条件が満たされると判断する。また、例(3)の場合、OSは、特定されたインターフェースの活性化ステップが実行済みである場合に条件が満たされると判断する。また、例(4)の場合、OSは、特定されたアプリケーションが何れかの論理チャネルに割り当てられている場合に条件が満たされると判断する。また、例(5)の場合、OSは、特定されたアプリケーションが何れの論理チャネルにも割り当てられていない場合に条件が満たされると判断する。また、例(6)の場合、OSは、前回受信されたコマンド、または、今回受信されたコマンドがバイナリ比較用のパターンと一致する場合に条件が満たされると判断する。また、例(7)の場合、OSは、特定されたアプリケーションのライフサイクルが特定されたライフサイクルと一致する場合に条件が満たされると判断する。また、例(8)の場合、OSは、特定されたライフサイクルがUIMモジュール3のライフサイクルと一致する場合に条件が満たされると判断する。一方、OSは、ステップS15における条件検証の結果から、検証した条件を満たさないと判定した場合(ステップS16:条件検証失敗)、ステップS11に戻る。
図4に示す処理に戻ると、OSは、上記非共通コマンド判定処理による判定結果が非共通コマンド判定成功であるか否かを判定する(ステップS2)。OSは、上記非共通コマンド判定処理による判定結果が非共通コマンド判定成功である(つまり、受信されたコマンドが非共通コマンドである)と判定した場合(ステップS2:YES)、ステップS3へ進む。一方、OSは、上記非共通コマンド判定処理による判定結果が非共通コマンド判定成功でない(つまり、受信されたコマンドが非共通コマンドでない)と判定した場合(ステップS2:NO)、ステップS4へ進む。
ステップS3では、OSは、受信されたコマンドを、上記コマンド定義における配送先指定部に記述された識別子から特定した非共通コマンド処理手段(例えば、アプリケーション)へ配送し、当該非共通コマンド処理手段による処理結果を得て、ステップS11へ進む。ステップS4では、OSは、受信されたコマンドが共通コマンドであるか否かを、例えば予めNVM34に記憶された共通コマンドテーブルを参照することにより判定する。OSは、受信されたコマンドが共通コマンドであると判定した場合(ステップS4:YES)、ステップS5へ進む。一方、OSは、受信されたコマンドが共通コマンドでないと判定した場合(ステップS4:NO)、ステップS6へ進む。
ステップS5では、OSは、共通コマンドに応じた処理を実行し、その処理結果を得て、ステップS11へ進む。ステップS6では、OSは、受信されたコマンドから論理チャンネルを決定できたか否かを判定する。OSは、受信されたコマンドから論理チャンネルを決定できないと判定した場合(ステップS6:NO)、ステップS7へ進む。一方、OSは、受信されたコマンドから論理チャンネルを決定できた(例えば、当該コマンドのヘッダ部で指定された論理チャネルのチャネル番号を特定できた)判定した場合(ステップS6:YES)、ステップS8へ進む。
ステップS7では、OSは、エラーステータス(例えば、SW6881)を作成し、ステップS11へ進む。ステップS8では、ステップS6で決定された論理チャネルにアプリケーションが割り当てられているか否かを、例えば予めNVM34に記憶された論理チャネルテーブルを参照することにより判定する。OSは、論理チャネルにアプリケーションが割り当てられていないと判定した場合(ステップS8:NO)、ステップS9へ進む。一方、OSは、論理チャネルにアプリケーションが割り当てられていると判定した場合(ステップS8:YES)、ステップS10へ進む。
ステップS9では、OSは、エラーステータス(例えば、SW6999)を作成し、ステップS11へ進む。ステップS10では、受信されたコマンドを、論理チャネルに割り当てられているアプリケーションへ配送し、当該アプリケーションによる処理結果を得て、ステップS11へ進む。
ステップS11では、OSは、処理結果またはエラーステータスをコマンドの送信元へ応答する。
[3.UIMモジュール3の実施例]
次に、図6~図8を参照して、UIMモジュール3の実施例について説明する。図6は、UIMモジュール3内のプログラム構成の一例を示す図である。図7は、UIMモジュール3内のテーブル構成の一例を示す図である。なお、図7(A)に示す非共通コマンドテーブルに共通コマンドのパターン部を登録し、これに対応付けてOSを示す値を登録することで、非共通コマンドと共通コマンドの振り分け処理を共通化してもよい。また、図7(F)に示す論理チャネルテーブルは、初期状態を示しており、その後の処理に応じて変化する。図8は、UIMモジュール3により受信される各コマンドの構造の一例を示す図である。
以下に説明する実施例において、UIMモジュール3には、コマンド列1、コマンド列2、コマンド列3、コマンド列4の順に外部から受信されるものとする。なお、コマンド列1とコマンド列4は、受信のタイミングのみ異なり、コマンドの構造は同一である。また、図6に示すOS“CardOs”は、関数“CardOs.main()”によりコマンド列2を処理可能になっている。また、図6に示すアプリケーション“App1 extends App”は、関数“App1.main()”によりコマンド列1、3及び4を処理可能になっており、アプリケーション“App1 extends App”における関数“App1.checkCondition()”は、アプリケーション“App1 extends App”がISO7816の論理チャネルに割り当てられている(言い換えれば、論理チャンル上で選択されている)ときのみ正常終了する。また、図6に示すアプリケーション“App2 extends App”は、関数“App2.main()”によりコマンド列3を処理可能になっている。
(3-1.受信されたコマンド列1の処理)
先ず、受信されたコマンド列1におけるコマンドは、非共通コマンドテーブル(図7(A))のコマンド定義(No.1)におけるパターン部に記述されたパターン(0x474554)と一致することからパターン検証で一致と判定される。
次に、非共通コマンドテーブル(図7(A))のコマンド定義(No.1)における条件部に記述されたアプリケーション識別子(App1_AID)及び関数識別子(Method1及びMethod2)から関数(App1.main()及びApp1.checkCondition())が特定される。
すなわち、条件部に記述されたアプリケーション識別子(App1_AID)に対応付けられたアプリケーション参照(App1インスタンスの参照(記憶場所を示す値))がアプリケーションテーブル(図7(C))から取得され、取得されたアプリケーション参照に基づきクラス情報(例えば、クラス名)が取得される。そして、取得されたクラス情報に対応するApp1関数テーブル(図7(D))から、関数識別子(Method1及びMethod2)に対応付けられた関数参照(App1.main()のmethod参照及びApp1.checkCondition()のmethod参照)が取得される。そして、取得されたアプリケーション参照(App1インスタンスの参照)及び関数参照(App1.main()のmethod参照及びApp1.checkCondition()のmethod参照)を用いて関数(App1.main()及びApp1.checkCondition())が特定される。
こうして特定された関数(App1.main())は呼び出されて正常終了するが、論理チャネルテーブル(図7(F))よりアプリケーション(App1 extends App)が論理チャネルに割り当てられていないので、特定された関数(App1.checkCondition())は不正終了となることから条件検証で条件検証失敗と判定され、その結果、受信されたコマンド列1におけるコマンドは、非共通コマンドでないと判定される。
次に、受信されたコマンド列1におけるコマンドは、共通コマンドテーブル(図7(B))のコマンド定義(No.1)におけるパターン部に記述されたパターンと一致しないことから、共通コマンドでないと判定される。
次に、受信されたコマンド列1におけるコマンドから論理チャンネルを決定できないが(例えば、CLAがISO7816定義領域外のため)、割り当て失敗時の動作はUIMモジュール3の実装依存であり、ここでは、論理チャネルテーブル(図7(F))において論理チャネル0番に割り当てられているアプリケーション“App2 extends App”が取得(つまり、受信されたコマンド列1は、アプリケーション“App2 extends App”へ配送される)。しかし、アプリケーション“App2 extends App”は、文字列構造に対応していないため、当該アプリケーションによる処理が失敗し、そのエラーステータスが応答される。
(3-2.受信されたコマンド列2の処理)
次に、受信されたコマンド列2におけるコマンドは、非共通コマンドテーブル(図7(A))の全てのコマンド定義におけるパターン部に記述されたパターンと一致しないことからパターン検証で不一致と判定され、その結果、受信されたコマンド列2におけるコマンドは、非共通コマンドでないと判定される。
次に、受信されたコマンド列2におけるコマンドは、共通コマンドテーブル(図7(B))のコマンド定義(No.1)におけるパターン部に記述されたパターン(0x 00 A4 04 00)と一致することから、共通コマンド(例えば、SELECT コマンド)であると判定される。そして、共通コマンド(例えば、SELECT コマンド)に応じて、OS(CardOS)による処理が行われ、この処理により、例えば論理チャネル0番にアプリケーション(App1 extends App)が割り当てられ(これにより、論理チャネルテーブルにおけるチャネル番号“0”に対応付けられたアプリケーション参照が“App2インスタンスの参照”から“App1インスタンスの参照”に変更)、その処理結果が応答される。
(3-3.受信されたコマンド列3の処理)
次に、受信されたコマンド列3におけるコマンドは、非共通コマンドテーブル(図7(A))の全てのコマンド定義におけるパターン部に記述されたパターンと一致しないことからパターン検証で不一致と判定され、その結果、受信されたコマンド列3におけるコマンドは、非共通コマンドでないと判定される。
次に、受信されたコマンド列3におけるコマンドは、共通コマンドテーブル(図7(B))のコマンド定義(No.1)におけるパターン部に記述されたパターンと一致しないことから、共通コマンドでないと判定される。
次に、受信されたコマンド列3におけるコマンドから論理チャネルが決定(例えば、当該コマンドのCLAがAPDUの方法でパースされ論理チャネル0番が決定)される。そして、コマンド列2の処理で論理チャネル0番にアプリケーション(App1 extends App)が割り当てられているので、受信されたコマンド列3は、当該アプリケーション(App1 extends App)へ配送される。これにより、当該アプリケーションによる処理が成功し、その処理結果が応答される。
(3-4.受信されたコマンド列4の処理)
次に、受信されたコマンド列4におけるコマンドは、非共通コマンドテーブル(図7(A))のコマンド定義(No.1)におけるパターン部に記述されたパターン(0x474554)と一致することからパターン検証で一致と判定される。
次に、非共通コマンドテーブル(図7(A))のコマンド定義(No.1)における条件部に記述されたアプリケーション識別子(App1_AID)及び関数識別子(Method1及びMethod2)とから関数(App1.main()及びApp1.checkCondition())が特定される。こうして特定された関数(App1.main())は正常終了し、かつ、アプリケーション(App1 extends App)が論理チャネル0番に割り当てられているので、特定された関数(App1.checkCondition())は正常終了となることから条件検証で条件検証成功と判定され、その結果、受信されたコマンド列4におけるコマンドは、非共通コマンドであると判定される。
そして、受信されたコマンド列4は、非共通コマンドテーブル(図7(A))のコマンド定義(No.1)における配送先指定部に記述されたアプリケーション識別子(App1_AID)により特定されたアプリケーション(App1 extends App)へ配送される。これにより、当該アプリケーションによる処理が成功し、その処理結果が応答される。
より具体的には、非共通コマンドテーブル(図7(A))のコマンド定義(No.1)における配送先指定部に記述されたアプリケーション識別子(App1_AID)に対応付けられたアプリケーション参照(App1インスタンスの参照)が取得され、当該アプリケーション参照に基づきクラス情報(例えば、クラス名)が取得される。そして、取得されたクラス情報に対応するApp1関数テーブルから関数識別子(Method1)に対応付けられた関数参照(App1.main()のmethod参照)が取得され、当該アプリケーション参照及び当該関数参照を用いて関数(App1.main())が呼び出されて実行され、その処理結果が応答される。
以上説明したように、上記実施形態によれば、UIMモジュール3は、外部からインターフェースを介してコマンドを受信した場合、受信されたコマンドが非共通コマンドであるかを最初に判定し、非共通コマンドでないと判定した場合にはじめて、当該受信されたコマンドが共通コマンドであるか否かを判定し、共通コマンドであればこの共通コマンドを処理するように構成したので、通信相手が多様化することで、それぞれの通信相手の実装によって、OSに期待される動作が異なり、不整合が生じるようになっても、ユーザに不便を強いること無く、UIMモジュール3の利便性を向上することができる。
また、上記実施形態において、UIMモジュール3は、非共通コマンドのパターンを記述するパターン部と、非共通コマンド処理手段により処理される条件の検証に用いられる情報を記述する条件部とを含んで構成される非共通コマンドテーブルを用いて、非共通コマンドであるか否かを判定できるように構成したので、様々な通信相手から要求される様々な条件に対応でき、UIMモジュール3の利便性を、より一層、向上することができる。
また、上記実施形態において、非共通コマンドテーブルに非共通コマンド処理手段の識別子を記述する配送先指定部を含める構成によれば、通信相手毎に非共通コマンドの非共通コマンド処理手段を指定することができ、UIMモジュール3の利便性を、より一層、向上することができる。
1 通信モジュール
2 制御モジュール
3 UIMモジュール
31 CPU
32 RAM
33 ROM
34 NVM
35 I/O回路
D 通信デバイス

Claims (19)

  1. オペレーティングシステムを搭載する電子情報記憶媒体であって、
    外部からインターフェースを介して受信されたコマンドが複数の通信相手間で共通して前記オペレーティングシステムにより処理されるべき共通コマンドとして定義されていない非共通コマンドであるか否かを判定する第1判定手段と、
    前記第1判定手段により前記非共通コマンドであると判定された場合、前記非共通コマンドの非共通コマンド処理手段へ前記受信されたコマンドを配送する第1配送手段と、
    前記第1判定手段により前記非共通コマンドでないと判定された場合、前記受信されたコマンドが前記共通コマンドであるか否かを判定する第2判定手段と、
    前記第2判定手段により前記共通コマンドであると判定された場合、前記共通コマンドを処理する共通コマンド処理手段と、
    前記第2判定手段により前記共通コマンドでないと判定された場合、前記受信されたコマンドで指定された論理チャネルに前記オペレーティングシステム上で実行されるアプリケーションが割り当てられているか否かを判定する第3判定手段と、
    前記第3判定手段により前記論理チャネルに前記アプリケーションが割り当てられていると判定された場合、当該アプリケーションへ前記受信されたコマンドを配送する第2配送手段と、
    を備えることを特徴とする電子情報記憶媒体。
  2. オペレーティングシステムを搭載する電子情報記憶媒体であって、
    外部からインターフェースを介して受信されたコマンドが複数の通信相手間で共通して前記オペレーティングシステムにより処理されるべき共通コマンドとして定義されていない非共通コマンドであるか否かを判定する第1判定手段と、
    前記第1判定手段により前記非共通コマンドであると判定された場合、前記非共通コマンドの非共通コマンド処理手段へ前記受信されたコマンドを配送する第1配送手段と、
    前記第1判定手段により前記非共通コマンドでないと判定された場合、前記受信されたコマンドが前記共通コマンドであるか否かを判定する第2判定手段と、
    前記第2判定手段により前記共通コマンドであると判定された場合、前記共通コマンドを処理する共通コマンド処理手段と、
    前記受信されたコマンドの構造に基づいて、前記非共通コマンドであるか否かを判定するための複数の判定方法のうち何れか1の判定方法を決定する決定手段と、
    を備え、
    前記第1判定手段は、前記受信されたコマンドが前記非共通コマンドであるか否かを、前記決定手段により決定された判定方法にしたがって判定することを特徴とする電子情報記憶媒体。
  3. オペレーティングシステムを搭載する電子情報記憶媒体であって、
    外部からインターフェースを介して受信されたコマンドが複数の通信相手間で共通して前記オペレーティングシステムにより処理されるべき共通コマンドとして定義されていない非共通コマンドであるか否かを判定する第1判定手段と、
    前記第1判定手段により前記非共通コマンドであると判定された場合、前記非共通コマンドの非共通コマンド処理手段へ前記受信されたコマンドを配送する第1配送手段と、
    前記第1判定手段により前記非共通コマンドでないと判定された場合、前記受信されたコマンドが前記共通コマンドであるか否かを判定する第2判定手段と、
    前記第2判定手段により前記共通コマンドであると判定された場合、前記共通コマンドを処理する共通コマンド処理手段と、
    を備え、
    前記電子情報記憶媒体には、前記非共通コマンドのパターンを記述するパターン部と、前記非共通コマンド処理手段の識別子を記述する配送先指定部と、を含んで構成されるコマンドテーブルが記憶されており、
    前記第1判定手段は、前記受信されたコマンドが前記パターン部に記述されたパターンと一致した場合に、前記非共通コマンドであると判定し、
    前記第1判定手段により前記非共通コマンドであると判定された場合、前記第1配送手段は、前記受信されたコマンドを前記配送先指定部に記述された識別子から特定された前記非共通コマンド処理手段へ配送することを特徴とする電子情報記憶媒体。
  4. オペレーティングシステムを搭載する電子情報記憶媒体であって、
    外部からインターフェースを介して受信されたコマンドが複数の通信相手間で共通して前記オペレーティングシステムにより処理されるべき共通コマンドとして定義されていない非共通コマンドであるか否かを判定する第1判定手段と、
    前記第1判定手段により前記非共通コマンドであると判定された場合、前記非共通コマンドの非共通コマンド処理手段へ前記受信されたコマンドを配送する第1配送手段と、
    前記第1判定手段により前記非共通コマンドでないと判定された場合、前記受信されたコマンドが前記共通コマンドであるか否かを判定する第2判定手段と、
    前記第2判定手段により前記共通コマンドであると判定された場合、前記共通コマンドを処理する共通コマンド処理手段と、
    を備え、
    前記電子情報記憶媒体には、前記非共通コマンドのパターンを記述するパターン部と、前記非共通コマンド処理手段により処理される条件の検証に用いられる情報を記述する条件部とを含んで構成されるコマンドテーブルが記憶されており、
    前記第1判定手段は、前記受信されたコマンドが前記パターン部に記述されたパターンと一致し、且つ、前記条件部に記述された情報を用いて検証した条件が満たされる場合に、前記非共通コマンドであると判定することを特徴とする電子情報記憶媒体。
  5. オペレーティングシステムを搭載する電子情報記憶媒体であって、
    外部からインターフェースを介して受信されたコマンドが複数の通信相手間で共通して前記オペレーティングシステムにより処理されるべき共通コマンドとして定義されていない非共通コマンドであるか否かを判定する第1判定手段と、
    前記第1判定手段により前記非共通コマンドであると判定された場合、前記非共通コマンドの非共通コマンド処理手段へ前記受信されたコマンドを配送する第1配送手段と、
    前記第1判定手段により前記非共通コマンドでないと判定された場合、前記受信されたコマンドが前記共通コマンドであるか否かを判定する第2判定手段と、
    前記第2判定手段により前記共通コマンドであると判定された場合、前記共通コマンドを処理する共通コマンド処理手段と、
    を備え、
    前記電子情報記憶媒体には、前記非共通コマンドのパターンを記述するパターン部と、前記非共通コマンド処理手段の識別子を記述する配送先指定部と、前記非共通コマンド処理手段により処理される条件の検証に用いられる情報を記述する条件部と、を含んで構成されるコマンドテーブルが記憶されており、
    前記第1判定手段は、前記受信されたコマンドが前記パターン部に記述されたパターンと一致し、且つ、前記条件部に記述された情報を用いて検証した条件が満たされる場合に、前記非共通コマンドであると判定し、
    前記第1判定手段により前記非共通コマンドであると判定された場合、前記第1配送手段は、前記受信されたコマンドを前記配送先指定部に記述された識別子から特定された前記非共通コマンド処理手段へ配送することを特徴とする電子情報記憶媒体。
  6. 前記条件部には、関数参照、または、アプリケーション識別子と関数識別子が記述されており、
    前記第1判定手段は、前記関数参照から特定された関数、または、前記アプリケーション識別子と前記関数識別子とから特定された関数が正常終了する場合に、前記条件が満たされると判断することを特徴とする請求項またはに記載の電子情報記憶媒体。
  7. 前記条件部には、インターフェース識別子が記述されており、
    前記第1判定手段は、前記受信されたコマンドが前記インターフェース識別子から特定されたインターフェースを介して受信された場合に、前記条件が満たされると判断することを特徴とする請求項またはに記載の電子情報記憶媒体。
  8. 前記条件部には、インターフェース識別子が記述されており、
    前記第1判定手段は、前記インターフェース識別子から特定されたインターフェースの活性化ステップが実行済みである場合に、前記条件が満たされると判断することを特徴とする請求項またはに記載の電子情報記憶媒体。
  9. 前記条件部には、アプリケーション識別子が記述されており、
    前記第1判定手段は、前記アプリケーション識別子から特定されたアプリケーションが、何れかの論理チャネルに割り当てられている場合に、前記条件が満たされると判断することを特徴とする請求項またはに記載の電子情報記憶媒体。
  10. 前記条件部には、アプリケーション識別子が記述されており、
    前記第1判定手段は、前記アプリケーション識別子から特定されたアプリケーションが、何れの論理チャネルにも割り当てられていない場合に、前記条件が満たされると判断することを特徴とする請求項またはに記載の電子情報記憶媒体。
  11. 前記条件部には、バイナリ比較用のパターンが記述されており、
    前記第1判定手段は、前記電子情報記憶媒体により前回受信されたコマンド、または、今回受信されたコマンドが前記バイナリ比較用のパターンと一致する場合に、前記条件が満たされると判断することを特徴とする請求項またはに記載の電子情報記憶媒体。
  12. 前記条件部には、アプリケーション識別子とライフサイクル識別子が記述されており、
    前記第1判定手段は、前記アプリケーション識別子から特定されたアプリケーションのライフサイクルが前記ライフサイクル識別子から特定されたライフサイクルと一致する場合に、前記条件が満たされると判断することを特徴とする請求項またはに記載の電子情報記憶媒体。
  13. 前記条件部には、ライフサイクル識別子が記述されており、
    前記第1判定手段は、前記ライフサイクル識別子から特定されたライフサイクルが前記電子情報記憶媒体のライフサイクルと一致する場合に、前記条件が満たされると判断することを特徴とする請求項またはに記載の電子情報記憶媒体。
  14. オペレーティングシステムを搭載する電子情報記憶媒体におけるコンピュータにより実行される処理方法であって、
    外部からインターフェースを介して受信されたコマンドが複数の通信相手間で共通して前記オペレーティングシステムにより処理されるべき共通コマンドとして定義されていない非共通コマンドであるか否かを判定するステップと、
    前記非共通コマンドであると判定した場合、前記非共通コマンドの非共通コマンド処理手段へ前記受信されたコマンドを配送するステップと、
    前記非共通コマンドでないと判定した場合、前記受信されたコマンドが前記共通コマンドであるか否かを判定するステップと、
    前記共通コマンドであると判定した場合、前記共通コマンドを処理するステップと、
    前記共通コマンドでないと判定した場合、前記受信されたコマンドで指定された論理チャネルに前記オペレーティングシステム上で実行されるアプリケーションが割り当てられているか否かを判定するステップと、
    前記論理チャネルに前記アプリケーションが割り当てられていると判定した場合、当該アプリケーションへ前記受信されたコマンドを配送するステップと、
    を含むことを特徴とする処理方法。
  15. オペレーティングシステムを搭載する電子情報記憶媒体におけるコンピュータに、
    外部からインターフェースを介して受信されたコマンドが複数の通信相手間で共通して前記オペレーティングシステムにより処理されるべき共通コマンドとして定義されていない非共通コマンドであるか否かを判定するステップと、
    前記非共通コマンドであると判定した場合、前記非共通コマンドの非共通コマンド処理手段へ前記受信されたコマンドを配送するステップと、
    前記非共通コマンドでないと判定した場合、前記受信されたコマンドが前記共通コマンドであるか否かを判定するステップと、
    前記共通コマンドであると判定した場合、前記共通コマンドを処理するステップと、
    前記共通コマンドでないと判定した場合、前記受信されたコマンドで指定された論理チャネルに前記オペレーティングシステム上で実行されるアプリケーションが割り当てられているか否かを判定するステップと、
    前記論理チャネルに前記アプリケーションが割り当てられていると判定した場合、当該アプリケーションへ前記受信されたコマンドを配送するステップと、
    を実行させることを特徴とするプログラム。
  16. オペレーティングシステムを搭載する電子情報記憶媒体におけるコンピュータに、
    外部からインターフェースを介して受信されたコマンドが複数の通信相手間で共通して前記オペレーティングシステムにより処理されるべき共通コマンドとして定義されていない非共通コマンドであるか否かを判定する第1判定ステップと、
    前記非共通コマンドであると判定した場合、前記非共通コマンドの非共通コマンド処理手段へ前記受信されたコマンドを配送するステップと、
    前記非共通コマンドでないと判定した場合、前記受信されたコマンドが前記共通コマンドであるか否かを判定するステップと、
    前記共通コマンドであると判定した場合、前記共通コマンドを処理するステップと、
    前記受信されたコマンドの構造に基づいて、前記非共通コマンドであるか否かを判定するための複数の判定方法のうち何れか1の判定方法を決定するステップと、
    を実行させるプログラムであって、
    前記第1判定ステップにおいては、前記受信されたコマンドが前記非共通コマンドであるか否かを、前記決定された判定方法にしたがって判定することを特徴とするプログラム。
  17. オペレーティングシステムを搭載する電子情報記憶媒体におけるコンピュータに、
    外部からインターフェースを介して受信されたコマンドが複数の通信相手間で共通して前記オペレーティングシステムにより処理されるべき共通コマンドとして定義されていない非共通コマンドであるか否かを判定する第1判定ステップと、
    前記非共通コマンドであると判定した場合、前記非共通コマンドの非共通コマンド処理手段へ前記受信されたコマンドを配送する第1配送ステップと、
    前記非共通コマンドでないと判定した場合、前記受信されたコマンドが前記共通コマンドであるか否かを判定するステップと、
    前記共通コマンドであると判定した場合、前記共通コマンドを処理するステップと、
    を実行させるプログラムであって、
    前記電子情報記憶媒体には、前記非共通コマンドのパターンを記述するパターン部と、前記非共通コマンド処理手段の識別子を記述する配送先指定部と、を含んで構成されるコマンドテーブルが記憶されており、
    前記第1判定ステップにおいては、前記受信されたコマンドが前記パターン部に記述されたパターンと一致した場合に、前記非共通コマンドであると判定し、
    前記非共通コマンドであると判定された場合、前記第1配送ステップにおいては、前記受信されたコマンドを前記配送先指定部に記述された識別子から特定された前記非共通コマンド処理手段へ配送することを特徴とするプログラム。
  18. オペレーティングシステムを搭載する電子情報記憶媒体におけるコンピュータに、
    外部からインターフェースを介して受信されたコマンドが複数の通信相手間で共通して前記オペレーティングシステムにより処理されるべき共通コマンドとして定義されていない非共通コマンドであるか否かを判定する第1判定ステップと、
    前記非共通コマンドであると判定した場合、前記非共通コマンドの非共通コマンド処理手段へ前記受信されたコマンドを配送するステップと、
    前記非共通コマンドでないと判定した場合、前記受信されたコマンドが前記共通コマンドであるか否かを判定するステップと、
    前記共通コマンドであると判定した場合、前記共通コマンドを処理するステップと、
    を実行させるプログラムであって、
    前記電子情報記憶媒体には、前記非共通コマンドのパターンを記述するパターン部と、前記非共通コマンド処理手段により処理される条件の検証に用いられる情報を記述する条件部とを含んで構成されるコマンドテーブルが記憶されており、
    前記第1判定ステップにおいては、前記受信されたコマンドが前記パターン部に記述されたパターンと一致し、且つ、前記条件部に記述された情報を用いて検証した条件が満たされる場合に、前記非共通コマンドであると判定することを特徴とするプログラム。
  19. オペレーティングシステムを搭載する電子情報記憶媒体におけるコンピュータに、
    外部からインターフェースを介して受信されたコマンドが複数の通信相手間で共通して前記オペレーティングシステムにより処理されるべき共通コマンドとして定義されていない非共通コマンドであるか否かを判定する第1判定ステップと、
    前記非共通コマンドであると判定した場合、前記非共通コマンドの非共通コマンド処理手段へ前記受信されたコマンドを配送する第1配送ステップと、
    前記非共通コマンドでないと判定した場合、前記受信されたコマンドが前記共通コマンドであるか否かを判定するステップと、
    前記共通コマンドであると判定した場合、前記共通コマンドを処理するステップと、
    を実行させるプログラムであって、
    前記電子情報記憶媒体には、前記非共通コマンドのパターンを記述するパターン部と、前記非共通コマンド処理手段の識別子を記述する配送先指定部と、前記非共通コマンド処理手段により処理される条件の検証に用いられる情報を記述する条件部と、を含んで構成されるコマンドテーブルが記憶されており、
    前記第1判定ステップにおいては、前記受信されたコマンドが前記パターン部に記述されたパターンと一致し、且つ、前記条件部に記述された情報を用いて検証した条件が満たされる場合に、前記非共通コマンドであると判定し、
    前記非共通コマンドであると判定された場合、前記第1配送ステップは、前記受信されたコマンドを前記配送先指定部に記述された識別子から特定された前記非共通コマンド処理手段へ配送することを特徴とするプログラム。
JP2018198595A 2018-10-22 2018-10-22 電子情報記憶媒体、電子情報記憶媒体における処理方法、及びプログラム Active JP7234567B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018198595A JP7234567B2 (ja) 2018-10-22 2018-10-22 電子情報記憶媒体、電子情報記憶媒体における処理方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018198595A JP7234567B2 (ja) 2018-10-22 2018-10-22 電子情報記憶媒体、電子情報記憶媒体における処理方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2020067706A JP2020067706A (ja) 2020-04-30
JP7234567B2 true JP7234567B2 (ja) 2023-03-08

Family

ID=70390346

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018198595A Active JP7234567B2 (ja) 2018-10-22 2018-10-22 電子情報記憶媒体、電子情報記憶媒体における処理方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP7234567B2 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003030596A (ja) 2001-07-13 2003-01-31 Hitachi Ltd 論理チャネル管理機能付き記憶装置
JP2004151864A (ja) 2002-10-29 2004-05-27 Dainippon Printing Co Ltd Icカードおよびicカードにおけるアプリケーションプログラム選択方法
JP2013218566A (ja) 2012-04-10 2013-10-24 Dainippon Printing Co Ltd Simカード
US20140082224A1 (en) 2012-09-14 2014-03-20 Samsung Electronics Co., Ltd. Embedded multimedia card (emmc), emmc system including the emmc, and method of operating the emmc

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003030596A (ja) 2001-07-13 2003-01-31 Hitachi Ltd 論理チャネル管理機能付き記憶装置
JP2004151864A (ja) 2002-10-29 2004-05-27 Dainippon Printing Co Ltd Icカードおよびicカードにおけるアプリケーションプログラム選択方法
JP2013218566A (ja) 2012-04-10 2013-10-24 Dainippon Printing Co Ltd Simカード
US20140082224A1 (en) 2012-09-14 2014-03-20 Samsung Electronics Co., Ltd. Embedded multimedia card (emmc), emmc system including the emmc, and method of operating the emmc

Also Published As

Publication number Publication date
JP2020067706A (ja) 2020-04-30

Similar Documents

Publication Publication Date Title
US20200218526A1 (en) Adaptive deployment of applications for mobile devices
US7272830B2 (en) Ordering program data for loading on a device
CN111033468A (zh) 实施不同类型的区块链合约的系统和方法
CN107273148B (zh) 数据的更新驱动迁移
JP5843674B2 (ja) Icカード、携帯可能電子装置及びicカードの制御方法
CN106796521B (zh) 独立于产品发布的api版本控制
KR101502977B1 (ko) Html 데이터를 전달하기 위한 향상된 능력들을 구비한 퍼스널 토큰
US20170124339A1 (en) Implementing method for javacard application function expansion
US7174465B2 (en) Secure method for system attribute modification
KR102097644B1 (ko) 보안 요소 내의 패키지를 관리하는 방법
JP7234567B2 (ja) 電子情報記憶媒体、電子情報記憶媒体における処理方法、及びプログラム
EP2778910A1 (en) Systems and methods to extend rom functionality
JP2008139923A (ja) 共有オブジェクトを有するicカード、共有オブジェクトへのアクセス管理方法、及び、icカードプログラム
US20040143739A1 (en) Run time code integrity checks
US7281244B2 (en) Using a digital fingerprint to commit loaded data in a device
KR20230019032A (ko) 사전 개인화된 보안 요소 및 내장된 개인화
CN109241728B (zh) 密码信息的获取方法、装置、计算机设备及存储介质
JPH11282991A (ja) Icカード
JP7501808B2 (ja) Icチップ
JP2006338311A (ja) 複数のアプリケーションを搭載したデバイスを処理するコンピュータシステム、デバイスおよびコンピュータプログラム
CN107851044B (zh) 适于从第一应用传送第一数据以供第二应用使用的集成电路卡
KR100576967B1 (ko) 자바 스마트 카드
JP7334566B2 (ja) 電子情報記憶媒体、及びプログラム
CN115687238A (zh) 包括程序安装软件的片上系统
US20230333830A1 (en) Software eligibility

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210802

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220714

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220802

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220928

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230124

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230206

R150 Certificate of patent or registration of utility model

Ref document number: 7234567

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150