JP7068603B2 - 電子情報記憶媒体、icカード、電子情報記憶媒体によるアップデート方法及びアップデートプログラム - Google Patents
電子情報記憶媒体、icカード、電子情報記憶媒体によるアップデート方法及びアップデートプログラム Download PDFInfo
- Publication number
- JP7068603B2 JP7068603B2 JP2017169177A JP2017169177A JP7068603B2 JP 7068603 B2 JP7068603 B2 JP 7068603B2 JP 2017169177 A JP2017169177 A JP 2017169177A JP 2017169177 A JP2017169177 A JP 2017169177A JP 7068603 B2 JP7068603 B2 JP 7068603B2
- Authority
- JP
- Japan
- Prior art keywords
- application instance
- application
- save
- electronic information
- 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
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
- Stored Programmes (AREA)
Description
請求項2に記載の発明は、請求項1に記載の電子情報記憶媒体であって、前記退避処理、前記削除処理、前記ロード処理、前記インストール処理及び前記関連付け処理を実行する処理順序と、当該処理順序に従う一連の処理を何れの処理まで実行済みであるかを管理する管理手段と、前記処理順序における何れかの処理の実行中に当該処理を中断した場合において、所定の条件が充足された場合に、前記一連の処理における中断した処理から処理を再開する再開手段と、を更に備えることを特徴とする。
まず、図1を参照して、ICカード1に搭載されるICチップ1aの構成について説明する。図1は、ICカード1に搭載されるICチップ1aのハードウェア構成例を示す図である。本実施形態のICカード1は、接触によるデータ通信と非接触によるデータ通信の2つの通信機能を兼ね備えたデュアルインターフェース型ICカードである。但し、ICカード1の種類はデュアルインターフェース型ICカードに限定されず、キャッシュカードやクレジットカードと同じ大きさのプラスチック製カードにICチップ1aがエンベットされた接触型ICカードであってもよいし、また、アンテナコイルを内蔵し無線でリーダ・ライタとデータ通信する非接触型ICカードであってもよい。
図2は、ICチップ1aの機能構成例を示すブロック図である。ICチップ1a内には、ICチップ1a自身及びICチップ1a内のアプリケーションを管理するためのアプリケーションであるセキュリティドメイン(Security Domain、以下、「SD」という)が、必ず1つ以上存在する。SDには、ISD(Issuer Security Domain)とSSD(Supplementary Security Domains)がある。このようなSDは、主に、以下の(1)~(9)の機能をサポートする。
(2)アプリケーションプログラムのライフサイクル管理
(3)アプリケーションインスタンスのライフサイクル管理
(4)アプリケーションプログラムのロード
(5)アプリケーションインスタンスの生成(インストール)
(6)アプリケーションプログラムまたはアプリケーションインスタンスの削除
(7)アプリケーション向けインスタンスデータ(発行データ)の書き込み
(8)データの読出し
(9)セキュアチャンネルプロトコル(Secure Channel Protocol、以下、「SCP」という)に従ったセキュアな通信路の確保
以下、図3-図7を用いて、ICチップ1aのアップデート処理の動作例について説明する。図3は、アップデート処理の一例を示すシーケンス図であり、図4は、ICチップ1aによる退避・削除処理の一例を示すフローチャートであり、図5は、ICチップ1aによるインストール・復元処理の一例を示すフローチャートであり、図6は、ICチップ1aによる状態管理リスト更新処理の一例を示すフローチャートであり、図7は、状態管理リストの構成例を示す図である。
次に、図4を用いて、ICチップ1aによる退避・削除処理について説明する。退避・削除処理は、サーバからの[退避・削除処理]コマンドに応じて実行される処理である。
次に、図5を用いて、ICチップ1aによるインストール・復元処理について説明する。インストール・復元処理は、サーバからの[インストール・復元処理]コマンドに応じて実行される処理である。
次に、図6を用いて、ICチップ1aによる状態管理リスト更新処理について説明する。状態管理リスト更新処理は、図4のステップS101の処理により状態管理リスト500が作成されてから、図5のステップS205の処理により状態管理リスト500が削除されるまでの間に実行される処理である。
次に、図8を用いてOSによるアップデート再開処理について説明する。ICチップ1aによる処理は、ICチップ1aに対する電源が断たれたり、サーバとの通信が切断されたりすると(「通信断」という)、実行できなくなってしまう。そのため、ICチップ1aには電源断や通信断が発生した場合には、処理前の状態に戻す機能が備えられており、例えば、アップデート処理の最中に電源断や通信断が発生すると、最初から処理をやり直さなければならない。しかしながら、上述したようにアップデート処理は処理数が多く複雑であるため、アップデート処理を最初からやり直すこととなると、それまでの処理が無駄になりアップデート処理のコストが増大してしまう。そこで、本実施形態では、状態管理リスト500により、アップデート処理の何れの処理まで完了しているかを管理し、電源断や通信断が発生した場合には、一からアップデート処理をやり直すのではなく、完了していない処理からアップデート処理を再開する。これにより、電源断や通信断が発生したことによるアップデート処理のコスト増大を防ぐことができる。アップデート再開処理は、アップデート処理中に電源断や通信断が発生し、サーバからアップデート処理再開コマンドを受信したことを契機に実行される処理である。なお、サーバは[退避・削除処理]コマンド、「LOAD」コマンド、[インストール・復元処理]コマンドを送信してから、それぞれに設定された所定の時間内にOK応答が送信されない場合に、アップデート処理再開コマンドをICチップ1aに送信する。
次に、上記実施形態の変形例について説明する。なお、以下に説明する変形例は上記実施形態や他の変形例と適宜組み合わせることができる。
上記実施形態では、新しいアプリケーションプログラムのロードは、退避・削除処理の後に行うこととしたが、退避・削除処理の前に行うこととしてもよい。すなわち、図3のステップS10~ステップS13の処理を、ステップS7の処理の前に行うこととしてもよい。この場合、退避・削除処理(図4参照)のステップS101の処理において作成する状態管理リスト500は図9の通りとなる。すなわち、先頭の処理ID502が「X」(LOAD)となり、ステップS101の処理の時点でロード処理が完了しているので、完了フラグ503に「1」が格納される。
上記実施形態では、電源断や通信断が発生した場合、サーバからアップデート処理再開コマンドを受信したことを契機にアップデート再開処理(図8参照)が実行されるが、OSが電源断や通信断からの復旧を検出したことを契機に(すなわち、サーバからアップデート処理再開コマンドを受信しなくとも)、アップデート再開処理を実行することとしてもよい。アップデート再開処理の契機を、(i)サーバからのアップデート処理再開コマンドの受信とするか、(ii)電源断や通信断からの回復の検出とするかは、サーバが[退避・削除処理]コマンド内で指定することが好ましい。そして、ICチップ1aは[退避・削除処理]コマンド内で(i)又は(ii)の何れが指定されているかに応じて再開フラグを設定し、電源断や通信断からの回復を検出した際に再開フラグを参照して、サーバからアップデート処理再開コマンドが受信するのを待機するか、又は、直ちにアップデート再開処理を実行するかを決定する。後者の場合、電源断や通信断から回復し次第、アップデート処理を再開することができ、アップデートを早期に完了させることができる。
上記実施形態では、図4のステップS104の処理により、アプリケーションのアップデート中は当該アプリケーションを呼び出すことができないようにしたが、例えば、アップデート中(例えば、図3のステップS7~ステップS16の処理の実行中)にアップデート対象のアプリケーションが外部機器2から[SELECT]コマンドにより選択された場合には、ICチップ1aは、外部機器2に対してエラーを示すレスポンス(ステータスワード)を返送することとしてもよい。これにより、外部機器2は、当該アプリケーションを選択できないことを把握することができる。
上記実施形態では、アップデート対象のアプリケーションのアプリケーションインスタンスが一つの場合について説明したが、変形例4では、アップデート対象のアプリケーションのアプリケーションインスタンスが複数(3つ)の場合について説明する。なお、レジストリデータ及びインスタンスデータは、アプリケーションインスタンス毎に不揮発性メモリ13に記憶されている。
上記実施形態の状態管理リスト500では、AID501と処理ID502の組み合わせ毎に完了フラグ503を設けることにより何れのアプリケーションインスタンスについて何れの処理まで完了しているかを管理することとしたが、図11に示す状態管理リスト510のように、AID511毎に完了済処理ID512を設けて管理することとしてもよい。図11の状態管理リスト501は、AID511が「1122334455」のアプリケーションインスタンスについて処理IDが「B」の処理までが完了し、AID511が「2233445566」のアプリケーションインスタンスについて処理IDが「A」の処理までが完了していることを示している。変形例5によれば、状態管理リスト510が簡素化され、状態管理リスト510を記憶するための記憶領域を小さくすることができるが、別途、各アプリケーションインスタンスについて処理ID512により識別される処理を何れの順序で行うかを管理する必要がある。
上記実施形態では、サーバは[退避・削除処理]コマンド、[LOAD]コマンド、[インストール・復元処理]コマンドを送信してから、それぞれに設定された所定の時間内にOK応答が送信されない場合に、アップデート処理再開コマンドをICチップ1aに送信することとしたが、サーバはOK応答が送信されない場合に、ICチップ1aに対して何れの処理を実行中であるかの問い合わせを行うこととしてもよい。そして、サーバは問い合わせた結果に基づいて、改めてアップデート処理再開コマンドをICチップ1aに送信してアップデート処理を再開させてもよいし、また、アップデート処理取消コマンドをICチップ1aに送信して、アップデート処理を取り消してもよい。
上記実施形態では、図4のステップS102及びステップS103の処理(退避処理)でアプリケーションデータをOSに割り当てられた不揮発性メモリ13上の一時領域に移動させることとしたが、アプリケーションデータを移動させずにそのままの記憶領域に記憶させておき、アップデート対象のアプリケーションプログラムやアプリケーションインスタンスの関連付けを解消することとしてもよい。そして、新バージョンのアプリケーションプログラムやアプリケーションインスタンスをLOAD処理やインストール処理において不揮発性メモリ13に記憶させる際にアプリケーションデータが記憶されている領域に上書きしないようにする。また、図5のステップS202及びステップS203の処理(関連付け処理)では、関連付けを解消したアプリケーションデータについて、新しいバージョンのアプリケーションプログラムやアプリケーションインスタンスと関連付けを行うこととする。変形例7の退避処理によれば、アプリケーションデータの移動(すなわち、異なる記憶領域への書き込み)を行わなくてすむことから、不揮発性メモリ13への書き込み回数を抑制することができる。
1a ICチップ
10 CPU
11 RAM
12 ROM
13 不揮発性メモリ
14 I/O回路
2 外部機器
Claims (9)
- 第1のアプリケーションプログラムと、第1のアプリケーションインスタンスと、前記第1のアプリケーションインスタンスに関連付けられる関連データと、前記第1のアプリケーションインスタンスと連携してサービスを提供する第2のアプリケーションインスタンスと、を記憶する記憶手段と、
前記記憶手段に記憶されている関連データを退避する退避処理を実行する退避手段と、
前記退避処理の後に、前記記憶手段に記憶されている前記第1のアプリケーションプログラムと前記第1のアプリケーションインスタンスを削除する削除処理を実行する削除手段と、
前記第1のアプリケーションプログラムの新バージョンである新アプリケーションプログラムを前記記憶手段に記憶させるロード処理を実行するロード手段と、
前記削除処理及び前記ロード処理の後に、前記記憶手段に記憶されている新アプリケーションプログラムに基づいて新バージョンの新アプリケーションインスタンスを生成して前記記憶手段に記憶させるインストール処理を実行するインストール手段と、
前記ロード処理後及び/又は前記インストール処理後に、前記退避手段が退避させた関連データを前記新アプリケーションインスタンスと関連付ける関連付け処理を実行する関連付け手段と、
前記退避処理、前記削除処理、前記ロード処理、前記インストール処理又は前記関連付け処理の何れかの処理の実行中において前記第2のアプリケーションインスタンスから前記第1のアプリケーションインスタンスが呼び出された際に参照される、前記第1のアプリケーションインスタンスのアドレスが格納される領域に、前記第1のアプリケーションインスタンスを呼び出すことができないことを示す値を格納する格納手段と、
を備えることを特徴とする電子情報記憶媒体。 - 請求項1に記載の電子情報記憶媒体であって、
前記退避処理、前記削除処理、前記ロード処理、前記インストール処理及び前記関連付け処理を実行する処理順序と、当該処理順序に従う一連の処理を何れの処理まで実行済みであるかを管理する管理手段と、
前記処理順序における何れかの処理の実行中に当該処理を中断した場合において、所定の条件が充足された場合に、前記一連の処理における中断した処理から処理を再開する再開手段と、
を更に備えることを特徴とする電子情報記憶媒体。 - 請求項1又は2に記載の電子情報記憶媒体であって、
前記退避処理、前記削除処理、前記ロード処理、前記インストール処理又は前記関連付け処理の何れかの処理を実行中に、外部機器から前記第1のアプリケーションプログラムを選択するコマンドを受信した場合に、エラーレスポンスを返信するエラー返信手段を更に備えることを特徴とする電子情報記憶媒体。 - 請求項2に記載の電子情報記憶媒体であって、
前記再開手段は、前記電子情報記憶媒体への電源供給が断たれたこと、又は、外部機器との通信が断たれたことの中断事由により処理を中断した場合において、電源供給又は通信が復旧することという前記所定の条件が充足された場合に、前記一連の処理における中断した処理から処理を再開することを特徴とする電子情報記憶媒体。 - 請求項4に記載の電子情報記憶媒体であって、
前記再開手段は、前記中断事由により処理を中断した場合において、処理を再開する場合に、当該処理より優先度の高い処理がある場合には、当該優先度の高い処理が完了してから処理を再開することを特徴とする電子情報記憶媒体。 - 請求項2に記載の電子情報記憶媒体であって、
前記管理手段は、前記一連の処理における何れの処理を実行中であるかを管理し、前記一連の処理における何れの処理を実行中であるかの問い合わせを外部から受け付けた場合に、当該問い合わせに応答することを特徴とする電子情報記憶媒体。 - 請求項1乃至6の何れか一項に記載の電子情報記憶媒体を備えるICカード。
- 第1のアプリケーションプログラムと、第1のアプリケーションインスタンスと、前記第1のアプリケーションインスタンスに関連付けられる関連データと、前記第1のアプリケーションインスタンスと連携してサービスを提供する第2のアプリケーションインスタンスと、を記憶する記憶手段を備える電子情報記憶媒体によるアップデート方法であって、
前記記憶手段に記憶されている関連データを退避する退避処理を実行する退避工程と、
前記退避処理の後に、前記記憶手段に記憶されている前記第1のアプリケーションプログラムと前記第1のアプリケーションインスタンスを削除する削除処理を実行する削除工程と、
前記第1のアプリケーションプログラムの新バージョンである新アプリケーションプログラムを前記記憶手段に記憶させるロード処理を実行するロード工程と、
前記削除処理及び前記ロード処理の後に、前記記憶手段に記憶されている新アプリケーションプログラムに基づいて新バージョンである新アプリケーションインスタンスを生成して前記記憶手段に記憶させるインストール処理を実行するインストール工程と、
前記ロード処理後及び/又は前記インストール処理後に、前記退避工程で退避させた関連データを前記新アプリケーションインスタンスと関連付ける関連付け処理を実行する関連付け工程と、
前記退避処理、前記削除処理、前記ロード処理、前記インストール処理又は前記関連付け処理の何れかの処理の実行中において前記第2のアプリケーションインスタンスから前記第1のアプリケーションインスタンスが呼び出された際に参照される、前記第1のアプリケーションインスタンスのアドレスが格納される領域に、前記第1のアプリケーションインスタンスを呼び出すことができないことを示す値を格納する格納処理を実行する格納工程と、
を含むことを特徴とする電子情報記憶媒体によるアップデート方法。 - 第1のアプリケーションプログラムと、第1のアプリケーションインスタンスと、前記第1のアプリケーションインスタンスに関連付けられる関連データと、前記第1のアプリケーションインスタンスと連携してサービスを提供する第2のアプリケーションインスタンスと、を記憶する記憶手段を備える電子情報記憶媒体に含まれるコンピュータを、
前記記憶手段に記憶されている関連データを退避する退避処理を実行する退避手段、
前記退避処理の後に、前記記憶手段に記憶されている前記第1のアプリケーションプログラムと前記第1のアプリケーションインスタンスを削除する削除処理を実行する削除手段、
前記第1のアプリケーションプログラムの新バージョンである新アプリケーションプログラムを前記記憶手段に記憶させるロード処理を実行するロード手段、
前記削除処理及び前記ロード処理の後に、前記記憶手段に記憶されている新アプリケーションプログラムに基づいて新バージョンである新アプリケーションインスタンスを生成して前記記憶手段に記憶させるインストール処理を実行するインストール手段、
前記ロード処理後及び/又は前記インストール処理後に、前記退避手段が退避させた関連データを前記新アプリケーションインスタンスと関連付ける関連付け処理を実行する関連付け手段、
前記退避処理、前記削除処理、前記ロード処理、前記インストール処理又は前記関連付け処理の何れかの処理の実行中において前記第2のアプリケーションインスタンスから前記第1のアプリケーションインスタンスが呼び出された際に参照される、前記第1のアプリケーションインスタンスのアドレスが格納される領域に、前記第1のアプリケーションインスタンスを呼び出すことができないことを示す値を格納する格納手段、
として機能させることを特徴とするアップデートプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017169177A JP7068603B2 (ja) | 2017-09-04 | 2017-09-04 | 電子情報記憶媒体、icカード、電子情報記憶媒体によるアップデート方法及びアップデートプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017169177A JP7068603B2 (ja) | 2017-09-04 | 2017-09-04 | 電子情報記憶媒体、icカード、電子情報記憶媒体によるアップデート方法及びアップデートプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019046210A JP2019046210A (ja) | 2019-03-22 |
JP7068603B2 true JP7068603B2 (ja) | 2022-05-17 |
Family
ID=65814382
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017169177A Active JP7068603B2 (ja) | 2017-09-04 | 2017-09-04 | 電子情報記憶媒体、icカード、電子情報記憶媒体によるアップデート方法及びアップデートプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7068603B2 (ja) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002123806A (ja) | 2000-10-17 | 2002-04-26 | Fujitsu Ltd | Icカード、データ更新制御方法、データ/メッセージ復元制御方法、および制御プログラムを記録した記録媒体 |
JP2006119901A (ja) | 2004-10-21 | 2006-05-11 | Toshiba Corp | 携帯可能電子装置および携帯可能電子装置のアプリケーション更新方法 |
JP2007293826A (ja) | 2006-03-31 | 2007-11-08 | Matsushita Electric Ind Co Ltd | セキュアデバイス及び読み書き装置 |
JP2010170304A (ja) | 2009-01-22 | 2010-08-05 | Fujitsu Ten Ltd | 管理装置 |
JP2017004444A (ja) | 2015-06-15 | 2017-01-05 | 富士通株式会社 | 情報システム、コンピュータ、方法、およびプログラム |
-
2017
- 2017-09-04 JP JP2017169177A patent/JP7068603B2/ja active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002123806A (ja) | 2000-10-17 | 2002-04-26 | Fujitsu Ltd | Icカード、データ更新制御方法、データ/メッセージ復元制御方法、および制御プログラムを記録した記録媒体 |
JP2006119901A (ja) | 2004-10-21 | 2006-05-11 | Toshiba Corp | 携帯可能電子装置および携帯可能電子装置のアプリケーション更新方法 |
JP2007293826A (ja) | 2006-03-31 | 2007-11-08 | Matsushita Electric Ind Co Ltd | セキュアデバイス及び読み書き装置 |
JP2010170304A (ja) | 2009-01-22 | 2010-08-05 | Fujitsu Ten Ltd | 管理装置 |
JP2017004444A (ja) | 2015-06-15 | 2017-01-05 | 富士通株式会社 | 情報システム、コンピュータ、方法、およびプログラム |
Also Published As
Publication number | Publication date |
---|---|
JP2019046210A (ja) | 2019-03-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20060086785A1 (en) | Portable electronic apparatus and method of updating application in portable electronic apparatus | |
US7428992B2 (en) | Secure device and system for issuing IC cards | |
EP2195741A1 (en) | Firmware image update and management | |
US9390259B2 (en) | Method for activating an operating system in a security module | |
JP2003216511A (ja) | 不揮発性メモリ装置、データ更新方法、データ更新プログラム及びそのプログラムが記録されたコンピュータ読み取り可能な記録媒体 | |
JP7068603B2 (ja) | 電子情報記憶媒体、icカード、電子情報記憶媒体によるアップデート方法及びアップデートプログラム | |
JP5754287B2 (ja) | Icチップ、icチップにおける処理方法、uim、携帯端末、及びicチップ用処理プログラム | |
JP6915437B2 (ja) | 電子情報記憶媒体、icカード、電子情報記憶媒体によるアップデート方法及びアップデートプログラム | |
US7684992B2 (en) | Remote application correction | |
JP2019028602A (ja) | 電子情報記憶媒体、icカード、電子情報記憶媒体によるアップデート方法及びアップデートプログラム | |
US20080300019A1 (en) | Cellular phone | |
JP6948021B2 (ja) | 電子情報記憶媒体、情報処理方法、及び情報処理プログラム | |
JP2020150473A (ja) | eUICCおよびeUICCのプロビジョニング方法 | |
CN104349321A (zh) | 一种安全访问鉴权方法、访问请求发送方法及装置 | |
JP7009844B2 (ja) | 電子情報記憶媒体、icカード、電子情報記憶媒体によるアップデート方法及びアップデートプログラム | |
CN112055849A (zh) | 排他控制系统以及排他控制方法 | |
JP6933446B2 (ja) | 電子情報記憶媒体、情報処理方法、及び情報処理プログラム | |
JP7010084B2 (ja) | Ic決済で用いるトークンデバイス | |
JP4771404B2 (ja) | 情報処理装置および方法、並びにプログラム | |
US20240241959A1 (en) | Change and recovery of personalization data in a secure element | |
JP6822174B2 (ja) | 電子情報記憶媒体、icカード、通知方法、及び通知処理プログラム | |
JP2008146343A (ja) | Icカード、および、更新プログラムの呼出し方法 | |
JP6252341B2 (ja) | 電子情報記憶媒体、情報処理方法、及び情報処理プログラム | |
US20100200650A1 (en) | Mobile communication device and method for recovering mifare memory | |
JP2005025441A (ja) | Icカードのアプリケーションプログラム更新方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200728 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20210616 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210629 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210830 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20211214 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220204 |
|
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: 20220330 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220412 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7068603 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |