JP2008107991A - 情報処理媒体とそのプログラム、情報処理媒体のエラー処理方法、及び、情報処理システム - Google Patents
情報処理媒体とそのプログラム、情報処理媒体のエラー処理方法、及び、情報処理システム Download PDFInfo
- Publication number
- JP2008107991A JP2008107991A JP2006288973A JP2006288973A JP2008107991A JP 2008107991 A JP2008107991 A JP 2008107991A JP 2006288973 A JP2006288973 A JP 2006288973A JP 2006288973 A JP2006288973 A JP 2006288973A JP 2008107991 A JP2008107991 A JP 2008107991A
- Authority
- JP
- Japan
- Prior art keywords
- command
- processing
- information processing
- error
- recovery
- 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.)
- Pending
Links
Images
Abstract
【課題】実行時間に大きな遅延を生じさせることのない情報処理媒体とそのプログラム、情報処理媒体のエラー処理方法、及び、情報処理システムを提供する。
【解決手段】ICカード(情報処理媒体)10は、複数のコマンドをまとめて受信する通信手段11と、通信手段11が受信した複数のコマンドに対応する複数のコマンド処理を行うコマンド処理手段12aと、コマンド処理手段12aが行う複数のコマンド処理のうち、いずれのコマンド処理でエラーが発生したかを判断する判断手段12bと、判断手段12bがエラーが発生したと判断したコマンド処理に基づいて、エラーの回復処理の手順を示す再送要求方法データを参照し、エラーの回復処理を行う回復処理手段12cなどとを備える。
【選択図】図1
【解決手段】ICカード(情報処理媒体)10は、複数のコマンドをまとめて受信する通信手段11と、通信手段11が受信した複数のコマンドに対応する複数のコマンド処理を行うコマンド処理手段12aと、コマンド処理手段12aが行う複数のコマンド処理のうち、いずれのコマンド処理でエラーが発生したかを判断する判断手段12bと、判断手段12bがエラーが発生したと判断したコマンド処理に基づいて、エラーの回復処理の手順を示す再送要求方法データを参照し、エラーの回復処理を行う回復処理手段12cなどとを備える。
【選択図】図1
Description
本発明は、所定の情報を処理する情報処理媒体とそのプログラム、情報処理媒体のエラー処理方法、及び、情報処理システムに関するものである。
大量のデータを通信するためのインターフェースがICカードに実装された場合、高速にデータを送受信することが期待される。高速通信インターフェースは、大量のデータを送受信する場合に効果的であるが、現在のICカードの送受信データには、比較的小規模なデータ群が格納されており、このデータを個々に送受信してしまうと、伝送帯域に無駄な空きが生じるため効果的にデータの伝送を行うことができない。
また、従来の通信プロトコルでは、ハンドシェイク(互いの状態を確認して連動動作するための手順)が多発する場合があるため、期待されるほどの高速通信が行えない状況が発生する。
このような状況を回避するためには、1回の送受信で複数のコマンドを送る仕組みが必要になる(例えば、特許文献1)。1回の送受信で複数コマンドを送受信すると、ハンドシェイクの発生回数が減り、ハンドシェイクによる通信遅延が解消される。
このような状況を回避するためには、1回の送受信で複数のコマンドを送る仕組みが必要になる(例えば、特許文献1)。1回の送受信で複数コマンドを送受信すると、ハンドシェイクの発生回数が減り、ハンドシェイクによる通信遅延が解消される。
しかし、複数のコマンドを1回の送受信でやりとりする場合、コマンドのどこかでエラー(Error)が発生した場合のエラー処理方法が問題となる。
従来の通信インターフェースでは、1つのコマンドごとに送信/受信を行うため、エラーが発生した場合にはコマンドごとの対処が可能であった。
ところが、複数コマンドを1度に送受信する場合には、どこかでエラーが発生すると、全てのコマンドを再送する必要がある。その場合、正常なコマンドまでも再送しなければならないため、実行時間に大きな遅延を生じさせる可能性があった。
特開2006−127361号公報
従来の通信インターフェースでは、1つのコマンドごとに送信/受信を行うため、エラーが発生した場合にはコマンドごとの対処が可能であった。
ところが、複数コマンドを1度に送受信する場合には、どこかでエラーが発生すると、全てのコマンドを再送する必要がある。その場合、正常なコマンドまでも再送しなければならないため、実行時間に大きな遅延を生じさせる可能性があった。
本発明の課題は、実行時間に大きな遅延を生じさせることのない情報処理媒体とそのプログラム、情報処理媒体のエラー処理方法、及び、情報処理システムを提供することである。
本発明は、以下のような解決手段により、前記課題を解決する。なお、理解を容易にするために、本発明の実施例に対応する符号を付して説明するが、これに限定されるものではない。
請求項1の発明は、複数のコマンドをまとめて受信するコマンド受信手段(11)と、前記コマンド受信手段(11)が受信した複数のコマンドに対応する複数のコマンド処理を行うコマンド処理手段(12a)と、前記コマンド処理手段(12a)が行う複数のコマンド処理のうち、いずれのコマンド処理でエラーが発生したかを判断する判断手段(12b)と、前記判断手段(12b)がエラーが発生したと判断したコマンド処理に基づいて、エラーの回復処理の手順を示す回復手順データ(39)を参照し、エラーの回復処理を行う回復処理手段(12c)と、を備える情報処理媒体(10)である。
請求項2の発明は、請求項1に記載の情報処理媒体(10)において、前記回復手順データ(39)を記憶する記憶手段(14,15)を備えること、を特徴とする情報処理媒
体(10)である。
請求項3の発明は、請求項1に記載の情報処理媒体(10)において、前記回復処理手段(12c)は、前記コマンド(30)に付加されている前記回復手順データ(39)を参照すること、を特徴とする情報処理媒体(10)である。
請求項4の発明は、請求項3に記載の情報処理媒体(10)において、前記回復処理手段(12c)は、前記コマンド(38)ごとに付加されている前記回復手順データ(39)を参照すること、を特徴とする情報処理媒体(10)である。
請求項5の発明は、請求項3に記載の情報処理媒体(10−2)において、前記回復処理手段(12c)は、前記複数のコマンド(38)に1つ付加されている前記回復手順データ(39−2)を参照すること、を特徴とする情報処理媒体(10−2)である。
請求項6の発明は、請求項1から請求項5までのいずれか1項に記載の情報処理媒体において、前記回復処理は、前記判断手段がエラーが発生したと判断したコマンド処理、及び、そのコマンド処理よりも後のコマンド処理に関するコマンドを再送要求するものであること、を特徴とする情報処理媒体である。
請求項7の発明は、請求項1から請求項6に記載の情報処理媒体(10)において、前記回復処理は、前記判断手段(12b)がエラーが発生したと判断したコマンド処理、及び、そのコマンド処理に必要なコマンド処理に関するコマンドを再送要求するものであること、を特徴とする情報処理媒体(10)である。
請求項8の発明は、情報処理媒体(10)に、複数のコマンドをまとめて受信するコマンド受信手順(S101)と、前記コマンド受信手順(S101)で受信した複数のコマンドに対応する複数のコマンド処理を行うコマンド処理手順(S102)と、前記コマンド処理手順(S101)で行う複数のコマンド処理のうち、いずれのコマンド処理でエラーが発生したかを判断する判断手順(S103)と、前記判断手順(S103)においてエラーが発生したと判断したコマンド処理に基づいて、エラーの回復処理の手順を示す回復手順データ(39)を参照し、エラーの回復処理を行う回復処理手順(S104)と、を実行させる情報処理媒体のプログラムである。
請求項9の発明は、複数のコマンドをまとめて受信するコマンド受信工程(S101)と、受信した前記複数のコマンドに対応する複数のコマンド処理を行うコマンド処理工程(S102)と、前記複数のコマンド処理のうち、いずれのコマンド処理でエラーが発生したかを判断する判断工程(S103)と、エラーが発生したと判断したコマンド処理に基づいて、エラーの回復処理の手順を示す回復手順データ(39)を参照し、エラーの回復処理を行う回復処理工程(S104)と、を備える情報処理媒体のエラー処理方法である。
請求項10の発明は、請求項1から請求項7までのいずれか1項に記載の情報処理媒体(10)と、前記情報処理媒体(10)に複数のコマンドをまとめて送信する外部装置(20)と、を備える情報処理システム(100)である。
請求項1の発明は、複数のコマンドをまとめて受信するコマンド受信手段(11)と、前記コマンド受信手段(11)が受信した複数のコマンドに対応する複数のコマンド処理を行うコマンド処理手段(12a)と、前記コマンド処理手段(12a)が行う複数のコマンド処理のうち、いずれのコマンド処理でエラーが発生したかを判断する判断手段(12b)と、前記判断手段(12b)がエラーが発生したと判断したコマンド処理に基づいて、エラーの回復処理の手順を示す回復手順データ(39)を参照し、エラーの回復処理を行う回復処理手段(12c)と、を備える情報処理媒体(10)である。
請求項2の発明は、請求項1に記載の情報処理媒体(10)において、前記回復手順データ(39)を記憶する記憶手段(14,15)を備えること、を特徴とする情報処理媒
体(10)である。
請求項3の発明は、請求項1に記載の情報処理媒体(10)において、前記回復処理手段(12c)は、前記コマンド(30)に付加されている前記回復手順データ(39)を参照すること、を特徴とする情報処理媒体(10)である。
請求項4の発明は、請求項3に記載の情報処理媒体(10)において、前記回復処理手段(12c)は、前記コマンド(38)ごとに付加されている前記回復手順データ(39)を参照すること、を特徴とする情報処理媒体(10)である。
請求項5の発明は、請求項3に記載の情報処理媒体(10−2)において、前記回復処理手段(12c)は、前記複数のコマンド(38)に1つ付加されている前記回復手順データ(39−2)を参照すること、を特徴とする情報処理媒体(10−2)である。
請求項6の発明は、請求項1から請求項5までのいずれか1項に記載の情報処理媒体において、前記回復処理は、前記判断手段がエラーが発生したと判断したコマンド処理、及び、そのコマンド処理よりも後のコマンド処理に関するコマンドを再送要求するものであること、を特徴とする情報処理媒体である。
請求項7の発明は、請求項1から請求項6に記載の情報処理媒体(10)において、前記回復処理は、前記判断手段(12b)がエラーが発生したと判断したコマンド処理、及び、そのコマンド処理に必要なコマンド処理に関するコマンドを再送要求するものであること、を特徴とする情報処理媒体(10)である。
請求項8の発明は、情報処理媒体(10)に、複数のコマンドをまとめて受信するコマンド受信手順(S101)と、前記コマンド受信手順(S101)で受信した複数のコマンドに対応する複数のコマンド処理を行うコマンド処理手順(S102)と、前記コマンド処理手順(S101)で行う複数のコマンド処理のうち、いずれのコマンド処理でエラーが発生したかを判断する判断手順(S103)と、前記判断手順(S103)においてエラーが発生したと判断したコマンド処理に基づいて、エラーの回復処理の手順を示す回復手順データ(39)を参照し、エラーの回復処理を行う回復処理手順(S104)と、を実行させる情報処理媒体のプログラムである。
請求項9の発明は、複数のコマンドをまとめて受信するコマンド受信工程(S101)と、受信した前記複数のコマンドに対応する複数のコマンド処理を行うコマンド処理工程(S102)と、前記複数のコマンド処理のうち、いずれのコマンド処理でエラーが発生したかを判断する判断工程(S103)と、エラーが発生したと判断したコマンド処理に基づいて、エラーの回復処理の手順を示す回復手順データ(39)を参照し、エラーの回復処理を行う回復処理工程(S104)と、を備える情報処理媒体のエラー処理方法である。
請求項10の発明は、請求項1から請求項7までのいずれか1項に記載の情報処理媒体(10)と、前記情報処理媒体(10)に複数のコマンドをまとめて送信する外部装置(20)と、を備える情報処理システム(100)である。
本発明によれば、以下のような効果がある。
(1)エラー発生時には、回復手順データを参照してエラーの回復処理を行うので、全てのコマンドを再送する必要はなく、効率よく回復処理を行うことができ、実行時間を短縮させることができる。
(2)回復手順データを記憶する記憶手段を備えるので、情報処理媒体側で回復手順を設定することができる。また、通信量を減少させることができる。
(3)回復処理手段は、コマンドに付加されている回復手順データを参照するので、コマンドを送信する側で回復手順を設定することができる。
(4)回復処理手段は、コマンドごとに付加されている回復手順データを参照するので、コマンドごとに回復手順を変化させることができる。
(5)回復処理手段は、複数のコマンドに1つ付加されている回復手順データを参照するので、全てのコマンドで同じ回復手順を踏む場合に有効である。
(6)回復処理は、エラーが発生したコマンド処理、及び、そのコマンド処理よりも後のコマンド処理に関するコマンドを再送要求するものであるので、より効率よく回復処理を行うことができる。
(7)回復処理は、エラーが発生したコマンド処理、及び、そのコマンド処理に必要なコマンド処理に関するコマンドを再送要求するものであるので、必要最低限の回復処理を行うことができる。
(1)エラー発生時には、回復手順データを参照してエラーの回復処理を行うので、全てのコマンドを再送する必要はなく、効率よく回復処理を行うことができ、実行時間を短縮させることができる。
(2)回復手順データを記憶する記憶手段を備えるので、情報処理媒体側で回復手順を設定することができる。また、通信量を減少させることができる。
(3)回復処理手段は、コマンドに付加されている回復手順データを参照するので、コマンドを送信する側で回復手順を設定することができる。
(4)回復処理手段は、コマンドごとに付加されている回復手順データを参照するので、コマンドごとに回復手順を変化させることができる。
(5)回復処理手段は、複数のコマンドに1つ付加されている回復手順データを参照するので、全てのコマンドで同じ回復手順を踏む場合に有効である。
(6)回復処理は、エラーが発生したコマンド処理、及び、そのコマンド処理よりも後のコマンド処理に関するコマンドを再送要求するものであるので、より効率よく回復処理を行うことができる。
(7)回復処理は、エラーが発生したコマンド処理、及び、そのコマンド処理に必要なコマンド処理に関するコマンドを再送要求するものであるので、必要最低限の回復処理を行うことができる。
以下、図面等を参照して、本発明の実施例について、さらに詳しく説明する。
図1は、本発明による情報処理システムの実施例1を示す図である。
実施例1の情報処理システム100は、ICカード(情報処理媒体)10と、リーダライタ(外部装置)20などとを備える。
ICカード10は、通信手段(コマンド受信手段)11と、CPU12と、RAM13と、ROM14と、EEPROM15とを備える。
実施例1の情報処理システム100は、ICカード(情報処理媒体)10と、リーダライタ(外部装置)20などとを備える。
ICカード10は、通信手段(コマンド受信手段)11と、CPU12と、RAM13と、ROM14と、EEPROM15とを備える。
通信手段11は、巻き線コイルなどのアンテナと、変調回路及び復調回路などのI/Oインターフェースとを備え、非接触式でリーダライタ20と通信を行い、CPU12及びリーダライタ20間の通信を媒介する部分であり、リーダライタ20から複数のコマンドをまとめて受信したり、リーダライタ20に複数の応答をまとめて送信したりする。
CPU12は、ICカード10を統括制御する中央処理装置であり、四則演算や論理演算などの算術的な処理を行い、通信手段11を介してリーダライタ20から受信するコマンドに応じて、ROM14やEEPROM15に記憶されているICカードのプログラム(情報処理媒体のプログラム)を実行する制御部である。
また、CPU12は、コマンド処理手段12aと、判断手段12bと、回復処理手段12cとを備える。
コマンド処理手段12aは、通信手段11が受信した複数のコマンドに対応する複数のコマンド処理を行う部分である。ここで、コマンド処理とは、受信したコマンドに基づいてCPU12が行う処理であり、例えば、ファイルの選択処理、データの読み込み処理、データの書き込み処理などである。
判断手段12bは、エラーが発生したか否か、及び、コマンド処理手段12aが行う複数のコマンド処理のうち、いずれのコマンド処理でエラーが発生したかを判断する部分である。ここで、エラーの発生には、各コマンド処理で発生したエラーはもちろんであるが、通信中に発生したエラーも含まれる。
回復処理手段12cは、判断手段12bがエラーが発生したと判断したコマンド処理に基づいて、エラーの回復処理の手順を示す再送要求方法データ(回復手順データ)を参照し、エラーの回復処理を行う部分である。再送要求方法データ及びエラーの回復処理の詳細については、後述する。
なお、これらの各手段の機能は、ROM14やEEPROM15に記憶されているICカードのプログラムをCPU12が実行することによって実現される。
コマンド処理手段12aは、通信手段11が受信した複数のコマンドに対応する複数のコマンド処理を行う部分である。ここで、コマンド処理とは、受信したコマンドに基づいてCPU12が行う処理であり、例えば、ファイルの選択処理、データの読み込み処理、データの書き込み処理などである。
判断手段12bは、エラーが発生したか否か、及び、コマンド処理手段12aが行う複数のコマンド処理のうち、いずれのコマンド処理でエラーが発生したかを判断する部分である。ここで、エラーの発生には、各コマンド処理で発生したエラーはもちろんであるが、通信中に発生したエラーも含まれる。
回復処理手段12cは、判断手段12bがエラーが発生したと判断したコマンド処理に基づいて、エラーの回復処理の手順を示す再送要求方法データ(回復手順データ)を参照し、エラーの回復処理を行う部分である。再送要求方法データ及びエラーの回復処理の詳細については、後述する。
なお、これらの各手段の機能は、ROM14やEEPROM15に記憶されているICカードのプログラムをCPU12が実行することによって実現される。
RAM13は、揮発性メモリであり、CPU12が処理を行う作業領域や、リーダライタ20とデータをやり取りするための送受信用のバッファなどとして使用される。
ROM14は、不揮発性の読み出し専用のメモリであり、ICカードのプログラムや、各種パラメータなどが記憶されている。
EEPROM15は、随時書き換え可能な不揮発性メモリであり、ICカードのプログラムや固有情報(カード固有の番号、会員番号など)が記憶されている。
ROM14は、不揮発性の読み出し専用のメモリであり、ICカードのプログラムや、各種パラメータなどが記憶されている。
EEPROM15は、随時書き換え可能な不揮発性メモリであり、ICカードのプログラムや固有情報(カード固有の番号、会員番号など)が記憶されている。
一方、リーダライタ20は、ICカード10と非接触式で通信する装置であり、ICカード10に対して電源やクロックなどを供給し、複数のコマンドやデータをまとめて送信する。
図2は、情報処理システム100の動作の概略について説明するフローチャートである。
まず、ICカード10は、リーダライタ20から複数のコマンドをまとめて受信する(S101;コマンド受信手順,コマンド受信工程)。
ついで、ICカード10は、受信した複数のコマンドに対応する複数のコマンド処理を行う(S102;コマンド処理手順,コマンド処理工程)。
ここで、ICカード10は、エラーが発生したか否か、及び、複数のコマンド処理のうち、いずれのコマンド処理でエラーが発生したかを判断する(S103;判断手順,判断工程)。
エラーが発生したと判断すれば(S103;Yes)、回復処理を行い(S104)、エラーが発生しなかったと判断すれば(S103;No)、回復処理は行わない。
S104において、ICカード10は、エラーが発生したコマンド処理に基づいて、再送要求方法データを参照しながら、回復処理を行う(S104;回復手順,回復工程)。
最後に、ICカード10は、リーダライタ20に、受信した複数のコマンドに対応する複数の応答(レスポンス)をまとめて送信する(S105)。
まず、ICカード10は、リーダライタ20から複数のコマンドをまとめて受信する(S101;コマンド受信手順,コマンド受信工程)。
ついで、ICカード10は、受信した複数のコマンドに対応する複数のコマンド処理を行う(S102;コマンド処理手順,コマンド処理工程)。
ここで、ICカード10は、エラーが発生したか否か、及び、複数のコマンド処理のうち、いずれのコマンド処理でエラーが発生したかを判断する(S103;判断手順,判断工程)。
エラーが発生したと判断すれば(S103;Yes)、回復処理を行い(S104)、エラーが発生しなかったと判断すれば(S103;No)、回復処理は行わない。
S104において、ICカード10は、エラーが発生したコマンド処理に基づいて、再送要求方法データを参照しながら、回復処理を行う(S104;回復手順,回復工程)。
最後に、ICカード10は、リーダライタ20に、受信した複数のコマンドに対応する複数の応答(レスポンス)をまとめて送信する(S105)。
本実施例では、1度に大量のデータを通信することが可能なインターフェースにおいて、複数コマンドを一括送信する場合のエラー処理指定方法について提案している。また、エラー処理方法としては、コマンドごとにエラー発生時の再送処理方法を決定する方法を採用している。
この方法では、送信側がコマンドごとに再送要求の設定をし、その情報を付加した状態でデータの送信を行う。各コマンドには、番号付けがされており、受信側はコマンドごとの再送要求情報を利用して必要なコマンドのみ再送要求を行う。再送要求を受け取った送信側は、必要なデータのみを格納したデータ列を構築し、再度データを送信する。
この方法では、送信側がコマンドごとに再送要求の設定をし、その情報を付加した状態でデータの送信を行う。各コマンドには、番号付けがされており、受信側はコマンドごとの再送要求情報を利用して必要なコマンドのみ再送要求を行う。再送要求を受け取った送信側は、必要なデータのみを格納したデータ列を構築し、再度データを送信する。
図3は、1回で送受信する複数のコマンドを示す図である。
図中の標記は、以下の通りである。
#01 <SELECT EF>;「ファイルの選択」
#02 <READ RECORD>;「レコード単位での読み込み」
#03 <SELECT ADF>;「ディレクトリ内のファイルの選択」
#04 <SELECT EF−ECC>;「ファイルの選択」
#05 <READ RECORD>;「レコード単位での読み込み」
#06 <READ RECORD>;「レコード単位での読み込み」
#07 <SELECT EF−AD>;「ファイルの選択」
#08 <READ BINARY>;「バイナリ単位での読み込み」
図中の標記は、以下の通りである。
#01 <SELECT EF>;「ファイルの選択」
#02 <READ RECORD>;「レコード単位での読み込み」
#03 <SELECT ADF>;「ディレクトリ内のファイルの選択」
#04 <SELECT EF−ECC>;「ファイルの選択」
#05 <READ RECORD>;「レコード単位での読み込み」
#06 <READ RECORD>;「レコード単位での読み込み」
#07 <SELECT EF−AD>;「ファイルの選択」
#08 <READ BINARY>;「バイナリ単位での読み込み」
例えば、このコマンド列を1コマンドずつ送信すると、送信側では、8回の送信及び8回のレスポンス受信が必要となる。そこで、これらのコマンドを一括して送信するため、複数コマンドをまとめて送信できる形にまとめる。まとめたコマンドをここではEnvelopコマンド(ラッピングコマンド)と呼ぶ。
Envelopコマンドによる複数コマンドの一括送信では、送信回数は1回、レスポンス回数は最も少ない場合で1回となる。コマンドを1回ずつ送信する方法よりは、格段に伝送効率は向上するが、エラーが発生した場合には全てのコマンドを再送する必要があるため、伝送効率向上の妨げとなる。そこで、本実施例では、コマンドの送信時にあらかじめエラー発生時の処理方法をコマンドごとに指定し、エラー発生時の再送方法を制御し
ている。
Envelopコマンドによる複数コマンドの一括送信では、送信回数は1回、レスポンス回数は最も少ない場合で1回となる。コマンドを1回ずつ送信する方法よりは、格段に伝送効率は向上するが、エラーが発生した場合には全てのコマンドを再送する必要があるため、伝送効率向上の妨げとなる。そこで、本実施例では、コマンドの送信時にあらかじめエラー発生時の処理方法をコマンドごとに指定し、エラー発生時の再送方法を制御し
ている。
図4は、Envelopコマンドのデータフィールドを示す図である。
Envelopコマンド30は、識別子31と、コマンド数32と、データ長33と、データ部34と、CRC(Cyclic Redundancy Check)35とを備える。
識別子31は、このEnvelopコマンドがどのようなEnvelopコマンドであるかを識別するためのデータである。
コマンド数32は、このEnvelopコマンド30にAPDU(Application Protocol Data Unit)コマンドがいくつ含まれているかを示すデータである。
データ長33は、データ部34のデータの長さを示すデータである。
データ部34は、図4(B)に示すように、複数のAPDUコマンド(36−1,36−2,・・・,36−n)を格納している部分であり、各APDUコマンドは、図4(C)に示すように、APDUコマンドを識別するためのAPDUコマンド番号37と、APDUコマンド38と、エラーの回復処理の手順を示す再送要求方法データ39とを格納している。CPU12の回復処理手段12cは、コマンドごとに付加されている再送要求方法データ39を参照して、回復処理を行う。
CRC35は、通信中のバースト誤りを検出するためのデータである。
Envelopコマンド30は、識別子31と、コマンド数32と、データ長33と、データ部34と、CRC(Cyclic Redundancy Check)35とを備える。
識別子31は、このEnvelopコマンドがどのようなEnvelopコマンドであるかを識別するためのデータである。
コマンド数32は、このEnvelopコマンド30にAPDU(Application Protocol Data Unit)コマンドがいくつ含まれているかを示すデータである。
データ長33は、データ部34のデータの長さを示すデータである。
データ部34は、図4(B)に示すように、複数のAPDUコマンド(36−1,36−2,・・・,36−n)を格納している部分であり、各APDUコマンドは、図4(C)に示すように、APDUコマンドを識別するためのAPDUコマンド番号37と、APDUコマンド38と、エラーの回復処理の手順を示す再送要求方法データ39とを格納している。CPU12の回復処理手段12cは、コマンドごとに付加されている再送要求方法データ39を参照して、回復処理を行う。
CRC35は、通信中のバースト誤りを検出するためのデータである。
本実施例では、回復処理の方法として、エラーが発生したコマンドから指定された番号のコマンドまで遡った番号のコマンドまでを再送要求する方法を主な方法として採用している。つまり、回復処理は、CPU12の判断手段12bがエラーが発生したと判断したコマンド処理、及び、そのコマンド処理に必要なコマンド処理に関するコマンドを再送要求するものとなる。例えば、<Select>→<Read>の順で並んでいるコマンド群であれば、<Read>でエラーが発生した場合には、直前の<Select>も同じく再送要求をする。
ここでは、図5に示すように、エラー発生時の処理を設定した。
図5は、エラー発生時の処理方法を示す図である。
#01の<SELECT EF>でエラー発生;コマンド03へ移行
#02の<READ RECORD>でエラー発生;次コマンドへ移行
#03の<SELECT ADF>でエラー発生;処理を中断し以下のコマンドを含め再送要求
#04の<SELECT EF−ECC>でエラー発生;コマンド07へ移行
#05の<READ RECORD>でエラー発生;コマンド03,04,05を再送要求
#06の<READ RECORD>でエラー発生;次コマンドへ移行
#07の<SELECT EF−AD>でエラー発生;以下のコマンドを含め再送要求
#08の<READ BINARY>でエラーが発生;再送に必要なコマンドを含め再送要求
図5は、エラー発生時の処理方法を示す図である。
#01の<SELECT EF>でエラー発生;コマンド03へ移行
#02の<READ RECORD>でエラー発生;次コマンドへ移行
#03の<SELECT ADF>でエラー発生;処理を中断し以下のコマンドを含め再送要求
#04の<SELECT EF−ECC>でエラー発生;コマンド07へ移行
#05の<READ RECORD>でエラー発生;コマンド03,04,05を再送要求
#06の<READ RECORD>でエラー発生;次コマンドへ移行
#07の<SELECT EF−AD>でエラー発生;以下のコマンドを含め再送要求
#08の<READ BINARY>でエラーが発生;再送に必要なコマンドを含め再送要求
図6は、情報処理システム100の通信例を示す図である。
例えば、図6(A)に示すように、コマンドの一括送信を行った際、05番のコマンドでエラーが発生したとする。コマンドごとのエラー再送設定機能を持たない場合、図6(B)に示すように、全コマンドを再送する必要がある。その場合、実行が成功したコマンドも再度送信及び実行を行うこととなり、遅延が生じる原因となる。
しかし、本実施例では、図5に示すように、あらかじめエラー発生時の処理を定義しているので、再送するコマンドは、図6(C)に示すように、最低限必要な03番,04番,05番のコマンドだけでよくなる。そのため、実行完了したコマンドを再度実行する必要はなく、また、次に送信する予定であるコマンド(新たに送信する01番、02番のコマンドなど)も加えた状態で再送信可能である。
例えば、図6(A)に示すように、コマンドの一括送信を行った際、05番のコマンドでエラーが発生したとする。コマンドごとのエラー再送設定機能を持たない場合、図6(B)に示すように、全コマンドを再送する必要がある。その場合、実行が成功したコマンドも再度送信及び実行を行うこととなり、遅延が生じる原因となる。
しかし、本実施例では、図5に示すように、あらかじめエラー発生時の処理を定義しているので、再送するコマンドは、図6(C)に示すように、最低限必要な03番,04番,05番のコマンドだけでよくなる。そのため、実行完了したコマンドを再度実行する必要はなく、また、次に送信する予定であるコマンド(新たに送信する01番、02番のコマンドなど)も加えた状態で再送信可能である。
このように、実施例1によれば、エラー発生時には、再送要求方法データ39を参照してエラーの回復処理を行うので、全てのコマンドを再送する必要はなく、効率よく回復処理を行うことができ、実行時間を短縮させることができる。
また、回復処理手段12cは、コマンドに付加されている再送要求方法データ39を参照するので、コマンドを送信するリーダライタ20側で回復手順を設定することができる。
さらに、回復処理手段12cは、コマンドごとに付加されている再送要求方法データ39を参照するので、コマンドごとに回復手順を変化させることができる。
さらにまた、回復処理は、エラーが発生したコマンド処理、及び、そのコマンド処理に必要なコマンド処理に関するコマンドを再送要求するものであるので、必要最低限の回復処理を行うことができる。
その上、一度に大量のデータを送受信することが可能なインターフェースを使用した際には、エラー発生時の再送/再実行処理による遅延をより効果的に抑えることができ、ICカード10とリーダライタ20との通信効率を高めることができる。
また、回復処理手段12cは、コマンドに付加されている再送要求方法データ39を参照するので、コマンドを送信するリーダライタ20側で回復手順を設定することができる。
さらに、回復処理手段12cは、コマンドごとに付加されている再送要求方法データ39を参照するので、コマンドごとに回復手順を変化させることができる。
さらにまた、回復処理は、エラーが発生したコマンド処理、及び、そのコマンド処理に必要なコマンド処理に関するコマンドを再送要求するものであるので、必要最低限の回復処理を行うことができる。
その上、一度に大量のデータを送受信することが可能なインターフェースを使用した際には、エラー発生時の再送/再実行処理による遅延をより効果的に抑えることができ、ICカード10とリーダライタ20との通信効率を高めることができる。
図7は、Envelopコマンドのデータフィールドの他の例を示す図である。
なお、前述した実施例1と同様な機能を果たす部分には、同一の符号又は末尾に統一した符号を付して、重複する説明や図面を適宜省略する。
実施例2のEnvelopコマンド30−2は、複数のAPDUコマンド38に再送要求方法データ39−2が1つ付加されているものであり、CPU12の回復処理手段12cは、その再送要求方法データ39−2を参照して回復処理を行う。
なお、前述した実施例1と同様な機能を果たす部分には、同一の符号又は末尾に統一した符号を付して、重複する説明や図面を適宜省略する。
実施例2のEnvelopコマンド30−2は、複数のAPDUコマンド38に再送要求方法データ39−2が1つ付加されているものであり、CPU12の回復処理手段12cは、その再送要求方法データ39−2を参照して回復処理を行う。
このように、実施例2によれば、回復処理手段12cは、複数のAPDUコマンド38に1つ付加されている再送要求方法データ39−2を参照するので、全てのAPDUコマンド38で同じ回復手順を踏む場合に有効である。
(変形例)
以上説明した実施例に限定されることなく、種々の変形や変更が可能であって、それらも本発明の均等の範囲内である。
(1)情報処理媒体は、ICカードの例で説明したが、SIM(Subscriber Identity Module)カードやUIM(User Identity Module)カードなどのICカードであってもよく、また、ICチップやICタグなどであってもよい。
(2)外部装置は、リーダライタの例で説明したが、携帯電話機であってもよい。
以上説明した実施例に限定されることなく、種々の変形や変更が可能であって、それらも本発明の均等の範囲内である。
(1)情報処理媒体は、ICカードの例で説明したが、SIM(Subscriber Identity Module)カードやUIM(User Identity Module)カードなどのICカードであってもよく、また、ICチップやICタグなどであってもよい。
(2)外部装置は、リーダライタの例で説明したが、携帯電話機であってもよい。
(3)再送要求方法データ39,39−2は、コマンドに付加する例で説明したが、ICカード10のROM14やEEPROM15に記憶させてもよい(記憶手段)。このようにすれば、ICカード10側で回復手順を設定することができ、しかも、EEPROM15に再送要求方法データ39,39−2を記憶させる場合には、データを書き換えることができるので、回復手順を柔軟に変更することができる。
また、再送要求方法データ39,39−2は、上述した実施例の方法以外にも以下のような設定方法がある。
(a)1回の送信フレーム(複数のEnvelopコマンド30を収めたデータ列)ごとに再送要求方法データ39,39−2を付加する。この方法であれば、フレーム単位でエラー発生時の再送要求を設定することができる。ただし、コマンドごとに再送要求設定を行うわけではないので、詳細な設定を行うことはできないが、フレーム単位で回復処理を行うため、再送要求によるオーバヘッド(システムの負荷)を減少させることができる。(b)コマンド群(図6であれば、03番,04番,05番のコマンドのセット)ごとに
再送要求方法データ39,39−2を付加する。この方法では、あらかじめコマンド群を定義する。定義の方法は任意であり、端末/Card(リーダライタ20/ICカード10)共通認識として静的に定義を持つ方法と、送受信時にコマンド群を定義する方法とが考えられる。これらの定義では、コマンド群のどの場所でエラーが発生したかによって、その後のコマンドの実行/スキップを決定する。エラー発生時はこの定義通りにコマンド実行及び再送要求を行う。
(a)1回の送信フレーム(複数のEnvelopコマンド30を収めたデータ列)ごとに再送要求方法データ39,39−2を付加する。この方法であれば、フレーム単位でエラー発生時の再送要求を設定することができる。ただし、コマンドごとに再送要求設定を行うわけではないので、詳細な設定を行うことはできないが、フレーム単位で回復処理を行うため、再送要求によるオーバヘッド(システムの負荷)を減少させることができる。(b)コマンド群(図6であれば、03番,04番,05番のコマンドのセット)ごとに
再送要求方法データ39,39−2を付加する。この方法では、あらかじめコマンド群を定義する。定義の方法は任意であり、端末/Card(リーダライタ20/ICカード10)共通認識として静的に定義を持つ方法と、送受信時にコマンド群を定義する方法とが考えられる。これらの定義では、コマンド群のどの場所でエラーが発生したかによって、その後のコマンドの実行/スキップを決定する。エラー発生時はこの定義通りにコマンド実行及び再送要求を行う。
(4)回復処理は、再送要求の例で説明したが、水平及び垂直のパリティビットを用いて誤り訂正を行うような処理であってもよい。
(5)回復処理は、判断手段12bがエラーが発生したと判断したコマンド処理、及び、そのコマンド処理よりも後のコマンド処理に関するコマンドを再送要求するものであってもよい。このようにしても、全てのコマンドを再送する必要はないので、処理効率を向上させることができる。
(5)回復処理は、判断手段12bがエラーが発生したと判断したコマンド処理、及び、そのコマンド処理よりも後のコマンド処理に関するコマンドを再送要求するものであってもよい。このようにしても、全てのコマンドを再送する必要はないので、処理効率を向上させることができる。
(6)再送要求の設定方法としては、上述した実施例の方法以外にも以下のものが考えられる。これらの例は、単独で実施してもよいし、適宜組み合わせて実施してもよい。
(a)エラーあり/なしに無関係に、再送要求なし。
(b)エラー発生時に、送信フレームごとに再送要求をする。
(c)指定したAPDUコマンドにおいてエラーが発生した場合、再送要求をする。
(d)エラー発生時、指定した番号のコマンドに移行する。全コマンド終了時、エラー発生コマンド及び実行されなかったコマンドの再送要求をする。
(a)エラーあり/なしに無関係に、再送要求なし。
(b)エラー発生時に、送信フレームごとに再送要求をする。
(c)指定したAPDUコマンドにおいてエラーが発生した場合、再送要求をする。
(d)エラー発生時、指定した番号のコマンドに移行する。全コマンド終了時、エラー発生コマンド及び実行されなかったコマンドの再送要求をする。
10 ICカード(情報処理媒体)
11 通信手段(コマンド受信手段)
12 CPU
12a コマンド処理手段
12b 判断手段
12c 回復処理手段
13 RAM
14 ROM
15 EEPROM
20 リーダライタ(外部装置)
30,30−2 Envelopコマンド
39,39−2 再送要求方法データ(回復手順データ)
100 情報処理システム
11 通信手段(コマンド受信手段)
12 CPU
12a コマンド処理手段
12b 判断手段
12c 回復処理手段
13 RAM
14 ROM
15 EEPROM
20 リーダライタ(外部装置)
30,30−2 Envelopコマンド
39,39−2 再送要求方法データ(回復手順データ)
100 情報処理システム
Claims (10)
- 複数のコマンドをまとめて受信するコマンド受信手段と、
前記コマンド受信手段が受信した複数のコマンドに対応する複数のコマンド処理を行うコマンド処理手段と、
前記コマンド処理手段が行う複数のコマンド処理のうち、いずれのコマンド処理でエラーが発生したかを判断する判断手段と、
前記判断手段がエラーが発生したと判断したコマンド処理に基づいて、エラーの回復処理の手順を示す回復手順データを参照し、エラーの回復処理を行う回復処理手段と、
を備える情報処理媒体。 - 請求項1に記載の情報処理媒体において、
前記回復手順データを記憶する記憶手段を備えること、
を特徴とする情報処理媒体。 - 請求項1に記載の情報処理媒体において、
前記回復処理手段は、前記コマンドに付加されている前記回復手順データを参照すること、
を特徴とする情報処理媒体。 - 請求項3に記載の情報処理媒体において、
前記回復処理手段は、前記コマンドごとに付加されている前記回復手順データを参照すること、
を特徴とする情報処理媒体。 - 請求項3に記載の情報処理媒体において、
前記回復処理手段は、前記複数のコマンドに1つ付加されている前記回復手順データを参照すること、
を特徴とする情報処理媒体。 - 請求項1から請求項5までのいずれか1項に記載の情報処理媒体において、
前記回復処理は、前記判断手段がエラーが発生したと判断したコマンド処理、及び、そのコマンド処理よりも後のコマンド処理に関するコマンドを再送要求するものであること、
を特徴とする情報処理媒体。 - 請求項1から請求項6に記載の情報処理媒体において、
前記回復処理は、前記判断手段がエラーが発生したと判断したコマンド処理、及び、そのコマンド処理に必要なコマンド処理に関するコマンドを再送要求するものであること、
を特徴とする情報処理媒体。 - 情報処理媒体に、
複数のコマンドをまとめて受信するコマンド受信手順と、
前記コマンド受信手順で受信した複数のコマンドに対応する複数のコマンド処理を行うコマンド処理手順と、
前記コマンド処理手順で行う複数のコマンド処理のうち、いずれのコマンド処理でエラーが発生したかを判断する判断手順と、
前記判断手順においてエラーが発生したと判断したコマンド処理に基づいて、エラーの回復処理の手順を示す回復手順データを参照し、エラーの回復処理を行う回復処理手順と、
を実行させる情報処理媒体のプログラム。 - 複数のコマンドをまとめて受信するコマンド受信工程と、
受信した前記複数のコマンドに対応する複数のコマンド処理を行うコマンド処理工程と、
前記複数のコマンド処理のうち、いずれのコマンド処理でエラーが発生したかを判断する判断工程と、
エラーが発生したと判断したコマンド処理に基づいて、エラーの回復処理の手順を示す回復手順データを参照し、エラーの回復処理を行う回復処理工程と、
を備える情報処理媒体のエラー処理方法。 - 請求項1から請求項7までのいずれか1項に記載の情報処理媒体と、
前記情報処理媒体に複数のコマンドをまとめて送信する外部装置と、
を備える情報処理システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006288973A JP2008107991A (ja) | 2006-10-24 | 2006-10-24 | 情報処理媒体とそのプログラム、情報処理媒体のエラー処理方法、及び、情報処理システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006288973A JP2008107991A (ja) | 2006-10-24 | 2006-10-24 | 情報処理媒体とそのプログラム、情報処理媒体のエラー処理方法、及び、情報処理システム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008107991A true JP2008107991A (ja) | 2008-05-08 |
Family
ID=39441305
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006288973A Pending JP2008107991A (ja) | 2006-10-24 | 2006-10-24 | 情報処理媒体とそのプログラム、情報処理媒体のエラー処理方法、及び、情報処理システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008107991A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010009467A (ja) * | 2008-06-30 | 2010-01-14 | Toshiba Corp | 情報記憶媒体、情報処理システム、及びコマンド方法 |
JP2011197959A (ja) * | 2010-03-18 | 2011-10-06 | Toshiba Corp | 携帯可能電子装置、通信装置、及びコマンド処理方法 |
JP2013164686A (ja) * | 2012-02-09 | 2013-08-22 | Toshiba Corp | Icカードおよび携帯可能電子装置 |
JP2020177413A (ja) * | 2019-04-17 | 2020-10-29 | キヤノン株式会社 | 記録装置、記録方法、プログラム、及びメモリカード |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006099641A (ja) * | 2004-09-30 | 2006-04-13 | Felica Networks Inc | 通信システム、サーバ装置、クライアント装置、通信方法、並びにプログラム |
WO2006075576A1 (ja) * | 2005-01-11 | 2006-07-20 | Matsushita Electric Industrial Co., Ltd. | セキュアデバイス及びicカード発行システム |
-
2006
- 2006-10-24 JP JP2006288973A patent/JP2008107991A/ja active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006099641A (ja) * | 2004-09-30 | 2006-04-13 | Felica Networks Inc | 通信システム、サーバ装置、クライアント装置、通信方法、並びにプログラム |
WO2006075576A1 (ja) * | 2005-01-11 | 2006-07-20 | Matsushita Electric Industrial Co., Ltd. | セキュアデバイス及びicカード発行システム |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010009467A (ja) * | 2008-06-30 | 2010-01-14 | Toshiba Corp | 情報記憶媒体、情報処理システム、及びコマンド方法 |
JP2011197959A (ja) * | 2010-03-18 | 2011-10-06 | Toshiba Corp | 携帯可能電子装置、通信装置、及びコマンド処理方法 |
JP2013164686A (ja) * | 2012-02-09 | 2013-08-22 | Toshiba Corp | Icカードおよび携帯可能電子装置 |
JP2020177413A (ja) * | 2019-04-17 | 2020-10-29 | キヤノン株式会社 | 記録装置、記録方法、プログラム、及びメモリカード |
JP7252821B2 (ja) | 2019-04-17 | 2023-04-05 | キヤノン株式会社 | 記録装置、記録方法、プログラム、及びメモリカード |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11343345B2 (en) | Memory system allowing host to easily transmit and receive data | |
JP5559435B2 (ja) | データを検証するための方法、装置およびシステム | |
US7428992B2 (en) | Secure device and system for issuing IC cards | |
US8082374B2 (en) | Information processing apparatus, information processing system, method of processing information, and computer program | |
WO2008148278A1 (fr) | Procédé pour l'échange de données de grande capacité entre un terminal mobile et une carte à puce | |
WO2022252561A1 (zh) | 刷卡方法、卡控制器、电子设备及存储介质 | |
JP5932947B2 (ja) | ホスト及びシステム | |
JP2008107991A (ja) | 情報処理媒体とそのプログラム、情報処理媒体のエラー処理方法、及び、情報処理システム | |
US8832407B2 (en) | Communication device with storage function | |
JP4283611B2 (ja) | Icカード遠隔制御システム | |
EP2713673B1 (en) | File read/write method and mobile terminal | |
JP5085254B2 (ja) | 携帯可能電子装置、icカード、および携帯可能電子装置におけるコマンド処理方法 | |
JPH1139450A (ja) | Icカード | |
JP3914398B2 (ja) | Icカードリーダライタの通信方法 | |
JP2004185419A (ja) | 携帯可能電子媒体と、その携帯可能電子媒体の発行システム、処理方法及び発行方法 | |
JP6097855B2 (ja) | Icカード | |
CN110471867B (zh) | 固态硬盘控制器、固态硬盘及固态硬盘数据传输方法 | |
JP5092370B2 (ja) | 携帯可能情報記録媒体及びそのプログラム | |
EP4080802A1 (en) | Harq-capable communication device and method thereof | |
JP6948021B2 (ja) | 電子情報記憶媒体、情報処理方法、及び情報処理プログラム | |
KR101455539B1 (ko) | Ic 카드 및 ic 카드 제어 방법 | |
JP2005141677A (ja) | Icカード用通信ライブラリ及びicカード | |
JP6933446B2 (ja) | 電子情報記憶媒体、情報処理方法、及び情報処理プログラム | |
KR20220146293A (ko) | 사이드링크를 통해 피드백 신호를 송수신하는 통신 장치 및 이의 동작 방법 | |
JP2009271829A (ja) | Icカードリーダライタ装置、携帯通信端末、icカード管理方法、icカード管理プログラム、及びicカード |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090831 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20111214 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120110 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20120529 |