JP3691871B2 - カード型記憶媒体 - Google Patents

カード型記憶媒体 Download PDF

Info

Publication number
JP3691871B2
JP3691871B2 JP06091195A JP6091195A JP3691871B2 JP 3691871 B2 JP3691871 B2 JP 3691871B2 JP 06091195 A JP06091195 A JP 06091195A JP 6091195 A JP6091195 A JP 6091195A JP 3691871 B2 JP3691871 B2 JP 3691871B2
Authority
JP
Japan
Prior art keywords
file
command
unit
access
control unit
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.)
Expired - Fee Related
Application number
JP06091195A
Other languages
English (en)
Other versions
JPH08263353A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=13156042&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=JP3691871(B2) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP06091195A priority Critical patent/JP3691871B2/ja
Priority to US08/535,954 priority patent/US5635703A/en
Priority to EP95307279A priority patent/EP0733992B2/en
Priority to DE69525732T priority patent/DE69525732T3/de
Publication of JPH08263353A publication Critical patent/JPH08263353A/ja
Application granted granted Critical
Publication of JP3691871B2 publication Critical patent/JP3691871B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/10Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
    • G07F7/1008Active credit-cards provided with means to personalise their use, e.g. with PIN-introduction/comparison system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/067Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components
    • G06K19/07Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components with integrated circuit chips
    • G06K19/0723Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components with integrated circuit chips the record carrier comprising an arrangement for non-contact communication, e.g. wireless communication circuits on transponder cards, non-contact smart cards or RFIDs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/341Active cards, i.e. cards including their own processing means, e.g. including an IC or chip
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/357Cards having a plurality of specified features
    • G06Q20/3574Multiple applications on card

Landscapes

  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Accounting & Taxation (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Credit Cards Or The Like (AREA)

Description

【0001】
(目次)
産業上の利用分野
従来の技術(図16〜図18)
発明が解決しようとする課題(図18〜図20)
課題を解決するための手段(図1)
作用(図1)
実施例(図2〜図15)
発明の効果
【0002】
【産業上の利用分野】
本発明は、キャッシュレスカード,IDカード,健康カード,自治体カード等として用いられる、例えばICカード,光カード等のカード型記憶媒体に関し、特に、内部に記憶されたファイルに対して複数のアプリケーションからのアクセスを可能にするマルチアプリケーションサポート機能をもつカード型記憶媒体に関する。
【0003】
【従来の技術】
一般に、図16,図17に示すように、ICカード(カード型記憶媒体)100は、マイクロプロセッサユニット(MPU)101とメモリ(ファイル領域;例えばEPROM/EEPROM)102とを内蔵され、端子部103を介して図示しない取引装置(外部装置)に接続されるようになっている。
【0004】
ここで、メモリ102には、データファイルを保持するデータ領域と、このデータ領域のデータファイルについての制御情報(ポインタ等)を保持するディレクトリ領域とがそなえられ、MPU101により、ディレクトリ領域における制御情報に基づいてメモリ102のデータ領域におけるデータファイルが管理される。
【0005】
例えば、MPU101は、外部の取引装置から端子部103を介してアクセスコマンドを受けると、そのアクセスコマンドに応じてメモリ102に対する読出処理(リードアクセス),書込処理(ライトアクセス),消去処理(イレーズアクセス),再書込処理(リライトアクセス)等を実行する。
なお、MPU101内には、制御動作を行なうためのプログラムを保持するROM101Aのほか、制御動作を行なう際のワークエリアとして用いられるRAM101Bがそなえられている。また、ISO型のICカード100の場合、その端子部103には、8個の接点(VCC,RST,CLS,RFU,GND,VPP,I/O,RFU)がそなえられている。
【0006】
このようなICカード100における従来の通信制御機能およびコマンド処理機能を図18により説明する。まず、ICカード100が、端末等の取引装置のR/W(リーダ/ライタ;図示せず)に挿入されると、図18の▲1▼に示すように、まずICカード100にハードウエアリセットがかかる。具体的には、ICカード100のリセット端子(図17の端子部103における RST接点)からリセット信号が入力され、MPU101のリセットが行なわれる。
【0007】
ハードウエアリセットが行なわれると、ICカード100は、その応答としてATR(Answer To Reset)を、通信制御部104によりR/W側へ通知した後(図18の▲2▼参照)、コマンド受信待機状態(回線割込み可能状態;図18の▲3▼参照)になる。
この状態でコマンドを受信すると(図18の▲4▼参照)、ICカード100は、回線割込み禁止状態(他のコマンドを一切受け付けない状態)になり、今回受信したコマンドに応じた振分を行ないコマンド処理部105でコマンド処理を実行した後(図18の▲5▼参照)、そのコマンドに対するレスポンスを、通信制御部104によりR/W側へ通知し(図18の▲6▼参照)、再度、コマンド受信待機状態になる(図18の▲7▼参照)。
【0008】
【発明が解決しようとする課題】
ところで、ICカードに関するISO国際標準が1995年中にも確定する見通しがあることから、近年、ICカードを利用したシステムが、再度、脚光を浴びてきおり、各方面において、ICカードの利用方法に関する標準仕様の検討がなされている。
【0009】
またこれと同時に、ユーザニーズが多様化かつ高度化していくに伴い、ICカードの様々な利用方法が提案されている。今後、これらのニーズの高まりに伴って、1枚のICカードに対し複数のアプリケーションが同時にアクセスできるようにしたシステム形態が必要になり、そのシステム形態を実現するためのマルチアプリケーションサポート機能の確立が要求されることが想定される。
【0010】
しかし、図18にて前述した通り、従来のICカード100の通信制御機能としては、同期型半二重伝送方式(コマンド受信待機状態でコマンドを受け付けると、そのコマンド処理を終了してコマンド受信待機状態に戻るまでの間、他のコマンドを受け付けない方式)が採用されているため、ICカード100は、コマンド受信待機状態以外の状態でコマンドを受信することができず、複数のアプリケーションから複数のコマンドが非同期で発生した場合、これらのコマンドに対応することができず、マルチアプリケーションサポート機能を実現するには機能的に不十分である。
【0011】
また、従来のICカード100では、単一のアプリケーションからアクセスを受ける場合のみを想定しているため、ICカード100のメモリ102内に保持されるファイルに対するアクセス制御において、あるファイルがオープンされてあるアプリケーションからのアクセスを受けている際に当該ファイルへの他のアクセスを禁止するといった排他制御機能はそなえられていない。
【0012】
つまり、複数のアプリケーションからのアクセスを考えた場合、あるアプリケーションがICカード100内のファイル上のあるアドレスに対してアクセスを行なっている最中に、同一アドレスに対するアクセス要求が、同一もしくは他のアプリケーションから発生し、後述すようなデータ矛盾が生じるおそれがある。これに対応すべく、ファイルアクセス制御に前述のような排他制御機能が必要になるが、従来のICカード100には、その排他制御機能が未サポートであるため、やはり、マルチアプリケーションサポート機能を実現するには機能的に不十分である。
【0013】
上述のごとく従来のICカード100の機能が不十分であるために、複数のアプリケーションからのアクセスが発生するようなシステムを構築した場合、次のような問題が生じてしまう。
一般に、マルチアプリケーション・システムでは、ICカード100に対するコマンドは非同期的に発生するため、例えば図19に示すように、ICカード100が、アプリケーションAからのコマンドを受信し、そのコマンドの処理を実行している最中に、他のアプリケーションBからコマンドを送信される場合がある。
【0014】
このとき、前述したように、従来のICカード100は、回線割込み禁止状態であり、アプリケーションBからのコマンドを無視してしまい、結果的に、アプリケーションBでは、ICカード100からのレスポンスブロック待ち状態でタイムオーバになってしまう。
即ち、レスポンスブロック待ち状態でタイムオーバした場合、コマンドの再送が必要になるが、この場合、ICカード100側の障害のためにタイムオーバが生じたのか、または、ICカード100によりコマンドが無視されたためにタイムオーバが生じたのかを、アプリケーションB側で判別することができない。そこで、アプリケーションA,Bが他のアプリケーションの状態を監視しながらICカード100に対してコマンドを発行することも考えられるが、このような構成にした場合、各アプリケーションA,Bが独立した処理を行なえなくなってしまう。
【0015】
また、従来のICカード100は排他制御機能を有していないため、例えば図20に示すごとく、ICカード100のあるファイルをオープンした状態で、アプリケーションAが当該ファイル内のあるデータを“C”から“D”に書き換えた後に、ICカード100が、アプリケーションBから、同一ファイル内の同一アドレスのデータを読み出すためのコマンドを受け付ける場合がある。
【0016】
このような場合、アプリケーションBは、そのファイルにデータ“C”が保持されていることを想定してデータの読み込みを行なったにもかかわらず、実際にはICカード100からデータ“D”が通知されてしまい、データ矛盾が発生してしまう。
本発明は、このような課題に鑑み創案されたもので、複数のアプリケーションからのアクセスを同時に可能にして、ユーザニーズの多様化や高度化に確実に対応できるようにしたカード型記憶媒体を提供することを目的とする。
【0017】
【課題を解決するための手段】
図1は本発明の原理ブロック図で、この図1に示すカード型記憶媒体1は、記憶部2,通信制御部3およびファイルアクセス制御部4をそなえて構成されている。ここで、記憶部2は、ファイルを保持するものであり、通信制御部3は、外部との通信を制御するものであり、ファイルアクセス制御部4は、記憶部2のファイルに対するアクセスを制御することにより通信制御部3にて受信したコマンドに応じたコマンド処理を実行するものである。
【0018】
そして、本発明では、コマンド多重受信制御部5がそなえられており、このコマンド多重受信制御部5は、通信制御部3により外部から受信した非同期で発生する複数のアプリケーションからのコマンドを随時受け付ける機能と、受け付けたコマンドに応じたコマンド処理をファイルアクセス制御部4に順次要求する機能とを有している。
また、ファイルアクセス制御部4にアクセス排他制御部6がそなえられ、このアクセス排他制御部6は、記憶部2のファイルを所定のファイル単位毎に管理して、コマンド多重受信制御部5から要求された新たなコマンド処理の対象ファイル単位が既に他のコマンド処理のアクセス対象となっている場合、その新たなコマンド処理のファイル単位に対するアクセスを禁止して、当該ファイル単位に対して同時に異なるコマンドによるアクセスを行なうことを禁止するように制御する機能を有している(請求項1)。
【0019】
なお、コマンド多重受信制御部5は、コマンドキューイングテーブル,割込み処理部およびコマンドディスパッチ処理部から構成することができる。ここで、コマンドキューイングテーブルは、外部から受信したコマンドを格納するものであり、割込み処理部は、通信制御部3により外部からのコマンドを受信すると、コマンド受信割込みによって起動され、そのコマンドをコマンドキューイングテーブルに登録することにより、コマンドの受付を行なうものである。また、コマンドディスパッチ処理部は、コマンドキューイングテーブルを監視し、コマンドキューイングテーブルにコマンドが登録されている場合には、そのコマンドを読み出し、そのコマンドに応じたコマンド処理をファイルアクセス制御部4に要求するものである(請求項)。
【0020】
また、コマンド多重受信制御部5にて受け付けられたコマンドが、記憶部2の所定のファイル単位を、ファイルアクセス制御部4からアクセス可能なオープン状態にすることを要求するファイルオープンコマンドである場合、ファイルオープンコマンドに、所定のファイル単位を指定するファイル名がパラメータ情報として予め設定されている。そして、所定のファイル単位をオープン状態にする際にそのファイル単位に対する処理固有の識別子を生成する識別子生成部と、この識別子生成部にて生成された識別子をファイルオープンコマンドの発行元に通知する通知部とをカード型記憶媒体1にそなえ、アクセス排他制御部6が、ファイルオープンコマンドのパラメータ情報であるファイル名と識別子生成部にて生成された識別子とを対にして保持するファイル排他制御情報テーブルを作成し、このファイル排他制御情報テーブルを参照して現在オープン状態になっているファイル単位を管理しながら、各ファイル単位に対するアクセス排他制御を行なうように構成する(請求項)。
【0021】
さらに、ファイルオープンコマンドに、所定のファイル単位が既にオープン状態になっている場合の動作を指定する動作モードをパラメータ情報として予め設定しておき、その動作モードが待機モードである場合には、ファイルオープンコマンドをコマンドキューイングテーブルに再度登録してファイル単位が解放されるまで待機する一方、動作モードが拒否モードである場合には、ファイルオープンコマンドを拒否するとともに拒否した旨を該ファイルオープンコマンドの発行元に通知するように構成してもよい(請求項)。
【0022】
このとき、ファイルオープンコマンドに、動作モードが待機モードである場合の指定リトライ回数をパラメータ情報として予め設定しておき、動作モードが待機モードである場合に、同一のファイルオープンコマンドに応じたコマンド処理をコマンド多重受信制御部5からファイルアクセス制御部4に要求した回数が前記指定リトライ回数を超えた時には、ファイルオープンコマンドに応じたコマンド処理を実行することなく終了するとともに、その旨をファイルオープンコマンドの発行元に通知するように構成する(請求項)。
【0023】
一方、コマンド多重受信制御部5にて受け付けられたコマンドが、既にオープン状態になっているファイル単位をクローズ状態にしてそのファイル単位に対するアクセスを終了させることを要求するファイルクローズコマンドである場合、ファイルクローズコマンドに、そのファイル単位に対する処理固有の識別子がパラメータ情報として予め設定され、アクセス排他制御部6が、ファイルクローズコマンドのパラメータ情報である識別子が一致するエントリを、ファイル排他制御情報テーブルから削除して、そのファイル単位に対するアクセス排他制御を終了させるように構成する(請求項)。
【0024】
また、コマンド多重受信制御部5にて受け付けられたコマンドが、既にオープン状態になっているファイル単位に対するアクセスを要求するファイルアクセスコマンドである場合、ファイルアクセスコマンドに、ファイルオープン時に通知された識別子がパラメータ情報として予め設定され、ファイルアクセス制御部4が、アクセス排他制御部6で作成されたファイル排他制御情報テーブルを参照してファイルアクセスコマンドのパラメータ情報である識別子をもつエントリの有無を確認した後、ファイルアクセスコマンドに応じたコマンド処理を実行する(請求項)。
【0025】
【作用】
図1により上述した本発明のカード型記憶媒体1では、コマンド多重受信制御部5の機能により、非同期で発生する外部からのコマンドの受信が可能になるほか、このようにコマンドの多重受信を行なった場合に、アクセス排他制御部6の機能により、既にアクセス対象になっているファイル単位に対して、同時に異なるコマンドによるアクセスを行なうことを禁止する、いわゆるアクセス排他制御が実現され、前述のようなデータ矛盾等の発生を防止することができる(請求項1)。
【0026】
なお、コマンド多重受信制御部5において、外部からコマンドを受信すると、そのコマンドを、割込み処理部によりコマンドキューイングテーブルに順次格納して受け付けることで、コマンドの多重受信が可能になる。そして、コマンドディスパッチ処理部により、常時、コマンドキューイングテーブルを監視・参照することで、受け付けたコマンドのディスパッチ処理(ファイルアクセス制御部4のコマンド処理依頼)が可能になっている(請求項)。
【0027】
また、コマンド多重受信制御部5にてファイルオープンコマンドを受け付けこのコマンドに応じて対象ファイル単位をオープン状態にする際には、そのファイル単位に対する処理固有の識別子が生成されてそのコマンドの発行元に通知されるとともに、アクセス排他制御部6により、オープンされたファイル単位のファイル名と識別子とが対となってファイル排他制御情報テーブルに登録される。従って、アクセス排他制御部6は、現在オープン状態になっているファイル単位を管理でき、ファイル排他制御情報テーブルを参照してアクセスの可否を確認することにより、ファイルオープン時の各ファイル単位に対するアクセス排他制御を実行することができる(請求項)。
【0028】
さらに、ファイルオープンコマンド処理を行なう際に対象ファイル単位がオープン状態(使用中)である時には、パラメータ情報として設定される動作モードにより、その後の処理を選択することができる。動作モードが待機モードである場合、そのファイルオープンコマンドをコマンドキューイングテーブルに再度登録(再エントリ)することにより、そのファイルオープンコマンドの待機・再実行を行なっている。また、動作モードが拒否モードである場合には、そのファイルオープンコマンドは拒否され、その旨がファイルオープンコマンドの発行元に通知される(請求項)。
【0029】
そして、動作モードとして待機モードを選択して同一のファイル単位にファイルオープンコマンド処理を再実行する場合、そのファイルオープンコマンド処理を実行できないまま延々待機し続けるデッドロック状態に陥る可能性があるが、同一のファイルオープンコマンド処理の繰り返し回数が所定回数(指定リトライ回数)を超えた時点で、そのファイルオープンコマンド処理を終了することで、デッドロック状態を回避することができる(請求項)。
【0030】
一方、コマンド多重受信制御部5にてファイルクローズコマンドを受け付けた際には、アクセス排他制御部6により、ファイルクローズコマンドのパラメータ情報である識別子が一致するエントリを、ファイル排他制御情報テーブルから削除することにより、そのファイル単位に対するアクセス排他制御を終了することができる(請求項)。
【0031】
また、コマンド多重受信制御部5にてファイルアクセスコマンドを受け付けた際には、ファイルアクセス制御部4においてファイル排他制御情報テーブルを参照し、ファイルアクセス対象のファイル名と対になる識別子が、そのファイルアクセスコマンドのパラメータ情報である識別子と一致するか否かを確認することで、ファイルアクセス時の各ファイル単位に対するアクセス排他制御を実行することができる(請求項)。
【0032】
【実施例】
以下、図面を参照して本発明の実施例を説明する。
図2は本発明の一実施例としてのカード型記憶媒体(ICカード)の構成を示すブロック図であり、この図2において、10はICカード(カード型記憶媒体)で、このICカード10には、後述する各種制御機能を果たすマイクロプロセッサユニット(MPU)11と、記憶部としてのメモリ(ファイル領域;例えばEPROM/EEPROM)12とが内蔵されており、このICカード10は、図16,図17により前述した端子部(図2には図示せず)を介して図示しない外部装置(上位装置,取引装置,端末装置)におけるR/W(リーダ/ライタ)に挿入・接続されるようになっている。
【0033】
ここで、メモリ12には、ファイル領域12Aがそなえられ、このファイル領域12Aに、階層構造のファイル単位〔DF(Dedicated File)/EF(Elementary File)〕12Bが保持されている。このファイル領域12Aにおけるファイル単位12Bは、メモリ12内の図示しないディレクトリ領域に保持される制御情報(ポインタ等)によって管理される。
【0034】
また、MPU11は、ICカード10を統括的に管理するためのもので、本実施例では、通信制御部13,コマンド多重受信制御部14およびファイルアクセス制御部15としての機能を有している。
通信制御部13は、外部(アプリケーション)との通信を制御するもので、外部装置からのコマンドの受信処理(伝送ブロックの受信処理)を行なうとともに、ICカード10からコマンドを受けた外部装置へのレスポンスの送信処理(伝送ブロックの作成処理)を行なうものである。
【0035】
コマンド多重受信制御部14は、通信制御部13により外部から受信したコマンドを随時受け付ける機能と、受け付けたコマンドに応じたコマンド処理を後述するファイルアクセス制御部15に順次要求する機能とを有するもので、後述するごとく、コマンドキューイングテーブル16,割込み処理部17およびコマンドディスパッチ処理部18から構成されている。
【0036】
ここで、コマンドキューイングテーブル16は、外部から受信したコマンドを格納するものであり、具体的には図4に示すようなキューイング管理情報およびキューイングデータを格納している。
キューイング管理情報としては、コマンドキューイングテーブル16にキューイングされているコマンドの数であるキューイング数と、次にコマンド処理を実行すべき位置を示すネクストコマンドポインタと、次に受け付けたコマンドを格納すべき位置を示すネクストポインタとが保持されている。
【0037】
また、キューイングデータは、キューイングされたコマンド自体のデータであり、各コマンド毎に、コマンドメッセージと、このコマンドメッセージの長さを示すメッセージレングスと、後述するごとく各処理固有のノードID(識別子)とから構成されている。
そして、後述するごとく、キューイング数は割込み処理,コマンドディスパッチ処理,ファイルオープン処理を行なう度に更新され、ネクストコマンドポインタはコマンドディスパッチ処理を行なう度に更新され、ネクストポインタは割込み処理,ファイルオープン処理を行なう度に更新されるようになっている。
【0038】
割込み処理部17は、図7にて後述する手順に従って動作するもので、通信制御部13により外部からのコマンドを受信すると、その受信割込みよって起動され、そのコマンドをコマンドキューイングテーブル16に登録(キューイング)することにより、コマンドの受付を行なうものである。
また、コマンドディスパッチ処理部18は、図9にて後述する手順に従って動作するもので、コマンドキューイングテーブル16のキューイング数を常時監視し、コマンドキューイングテーブル16にコマンドが登録されている場合(キューイング数が1以上)には、そのコマンドを順次読み出し、ファイルアクセス制御部15のコマンド処理部19へのディスパッチ(振分)を行なって、そのコマンドに応じたコマンド処理をファイルアクセス制御部15(コマンド処理部19)に要求するものである。
【0039】
一方、ファイルアクセス制御部15は、図11〜図14にて後述する手順に従って動作するもので、メモリ12のファイル領域12Aに対するアクセスを制御することにより通信制御部13にて受信したコマンドに応じたコマンド処理を実行するもので、後述するごとく、複数のコマンド処理部19,アクセス排他制御部20,ノードID生成部21および通知部22から構成されている。
【0040】
ここで、各コマンド処理部19は、コマンド多重受信制御部14のコマンドディスパッチ処理部18によって振り分けられたコマンドを受け、そのコマンドに応じた処理〔ファイルオープン処理,ファイルアクセス処理(リードアクセス,ライトアクセス等),ファイルクローズ処理〕を行なうものである。
アクセス排他制御部20は、メモリ12のファイル領域12Aをファイル単位12B毎に管理して、コマンド多重受信制御部14(コマンドディスパッチ処理部18)から要求された新たなコマンド処理の対象ファイル単位12Bが既に他のコマンド処理のアクセス対象となっている場合にその新たなコマンド処理のファイル単位12Bに対するアクセスを禁止するアクセス排他制御を行なう機能を有している。
【0041】
また、ノードID生成部(識別子生成部)21は、コマンド処理部19によるファイルオープン処理により所定のファイル単位12Bをオープン状態にする際にそのファイル単位12Bに対する処理固有のノードID(識別子)を生成するものである。このノードID生成部21によるノードIDの生成処理は特に規定しないが、例えば、疑似乱数等を発生させる関数(数を動的,ランダムに発生するもの)を用い、その疑似乱数等をノードIDとして使用する。
【0042】
さらに、通知部22は、ノードID生成部21にて生成されたノードIDを、通信制御部13を介してファイルオープンコマンド発行元のアプリケーションに通知する機能を有するほか、図11〜図14にて後述するごとく、コマンド発行元のアプリケーションに対して二重オープンエラー通知,ファイル未オープン通知,リトライオーバ通知等を、通信制御部13を介して行なう機能も有している。
【0043】
なお、通知部22によりアプリケーションに通知されたノードIDは、以降、同一のアプリケーションが同一のファイル単位12Bに対してコマンドを発行する際、常に、そのコマンドに、パラメータ情報として付加され、このノードIDによって、正しいアプリケーションからアクセス(コマンド発行)が行なわれているか否かが識別されるようになっている。
【0044】
そして、ファイルアクセス制御部15におけるアクセス排他制御部20は、その内部にファイル排他制御情報テーブル20Aを作成して有しており、このファイル排他制御情報テーブル20Aを参照して現在オープン状態になっているファイル単位12Bを管理しながら、各ファイル単位12Bに対するアクセス排他制御を行なうように構成されている。ファイル排他制御情報テーブル20Aには、例えば図5に示すように、既にオープン済のファイル単位12Bに関する情報、つまり、ファイルオープンコマンドで指定されるファイル名(DF名/EF名)とノードID生成部21にて生成されたノードIDとを対としてなるファイル排他制御情報が保持されている。
【0045】
ところで、本実施例では、ファイルオープンコマンド(メモリ12のファイル単位12Bをファイルアクセス制御部15からアクセス可能なオープン状態にすることを要求するコマンド)には、オープンすべきファイル単位12Bを指定するファイル名(DF名/EF名)と、指定したファイル単位12Bが既にオープン状態になっている場合の動作を指定する動作モードとがパラメータ情報として予め設定されるほか、必要に応じて、動作モードが待機モードである場合の指定リトライ回数がパラメータ情報として予め設定されている。
【0046】
ファイルオープン処理時に、指定したファイル単位12Bが既にオープン状態になっている場合、ファイルオープンコマンドに設定された動作モードが待機モード(WAIT MODE)であれば、そのファイルオープンコマンドは、コマンドキューイングテーブル16に再度登録され、指定したファイル単位12Bが解放されるまで待機する。一方、その動作モードが拒否モード(REJECT MODE)であれば、そのファイルオープンコマンドは拒否されるとともに、拒否した旨が、通知部22により通信制御部13を介してファイルオープンコマンド発行元のアプリケーションに通知されるようになっている。上述したファイルオープン処理の詳細は、図11により説明する。
【0047】
このとき、ファイルオープンコマンドに、前記指定リトライ回数がパラメータ情報として予め設定されている場合には、図6に示すように、コマンドキューイングテーブル16Aのキューイングデータとして、リトライ回数とパラメータリトライ回数(前記指定リトライ回数)とが追加・保持される。図6に示すコマンドキューイングテーブル16Aに保持される情報は、上述したリトライ回数およびパラメータリトライ回数以外は図4にて前述したコマンドキューイングテーブル16に保持されるものと全く同じである。
【0048】
指定リトライ回数が設定されたファイルオープンコマンドについては、再処理要求を行なう度にリトライ回数を更新しながら、そのコマンドをコマンドキューイングテーブル16に再登録し、そのリトライ回数がパラメータリトライ回数を超えた時点で、ファイルオープンコマンドに応じたコマンド処理を実行することなく終了するとともに、その旨が、通知部22により通信制御部13を介してファイルオープンコマンド発行元のアプリケーションに通知されるようになっている。上述したファイルオープン処理の詳細は、図12により説明する。
【0049】
また、ファイルクローズコマンド(既にオープン状態になっているファイル単位12Bをクローズ状態にしてそのファイル単位12Bに対するアクセスを終了させることを要求するコマンド)には、クローズすべきファイル単位12Bを指定するファイル名(DF名/EF名)とそのファイル単位12Bに対する処理固有のノードIDとがパラメータ情報として予め設定されている。
【0050】
ファイルアクセス制御部15におけるアクセス排他制御部20は、ファイルクローズコマンドを受けると、そのファイルクローズコマンドのパラメータ情報であるノードIDが一致するエントリを、ファイル排他制御情報テーブル20Aから削除して、そのファイル単位12Bに対するアクセス排他制御を終了させるように構成されている。上述したファイルクローズ処理の詳細は、図13により後述する。なお、このとき、ファイルクローズコマンドのパラメータ情報であるファイル名(DF名/EF名)とノードIDとの両方が一致するエントリを削除するように構成してもよい。
【0051】
なお、上述したファイルオープンコマンドおよびファイルクローズコマンドは、本実施例では、前述したように、ファイル排他制御情報テーブル20A内のファイル排他制御情報を操作するための排他アクセス制御コマンドとしても用いられている。
さらに、ファイルアクセスコマンド(既にオープン状態になっているファイル単位12Bに対するアクセスを要求するコマンド)には、前述したようにファイルオープン時に通知部22によりアプリケーションに通知されたノードIDがパラメータ情報として予め設定されるとともに、アクセス情報〔アクセス種別(読出/書込等),レコードナンバー等)もパラメータ情報として予め設定されている。
【0052】
ファイルアクセス制御部15におけるコマンド処理部19は、ファイルアクセスコマンドを受けると、アクセス排他制御部20で作成されたファイル排他制御情報テーブル20Aを参照して、そのファイルアクセスコマンドのパラメータ情報であるノードIDをもつエントリの有無(そのノードIDがテーブル20Aに登録されているか否か)を確認した後、ファイルアクセスコマンドに応じたコマンド処理を実行するように構成されている。上述したファイルアクセス処理の詳細は、図14により後述する。
【0053】
なお、図3は本実施例のカード型記憶媒体(ICカード)を示す機能ブロック図で、図中、図2にて説明した符号と同一の符号は同一部分を示している。この図3は、ICカード10に対して2つのアプリケーションA,Bが同時にアクセスを行なった場合の状態を機能的に示したもので、2種類の矢印により、その時のデータの流れおよび制御の流れが図示されている。
【0054】
次に、上述のごとく構成された、本実施例のカード型記憶媒体としてのICカード10の動作を、図7〜図15を参照しながら説明する。
まず、割込み処理部17の動作を、図7に示すフローチャート(ステップS1〜S5)に従って説明する。
割込み処理部17は、通信制御部13からのコマンド受信割込みによって起動されると、まず、割込み可能状態を割込み禁止状態に切り換えてから(ステップS1)、通信制御部13により受信されたコマンドを、コマンドキューイングテーブル16のキューイング管理情報内のネクストポインタに示されるエントリ(アドレス)に、キューイングデータとして格納する(ステップS2)。
【0055】
この後、キューイング管理情報内のネクストポインタを1エントリ分更新するとともに(ステップS3)、同じくキューイング管理情報内のキューイング数を更新(1加算)してから(ステップS4)、再び割込み可能状態に切り換えて(ステップS5)、割込み処理を終了し、コマンド受信割込みの発生時に実行していたアドレスにリターンする。
【0056】
このとき、例えば図8に示すように、コマンドキューイングテーブル16のキューイング管理情報内のネクストポインタが指示するエントリにコマンド3が格納された場合には、図7のステップS3の処理により、そのネクストポインタは、矢印Aで示すエントリを指示するように更新される。
上述の割込み処理により、コマンドを受信すると、一旦割込み禁止状態にしてそのコマンドをコマンドキューイングテーブル16に格納してコマンド受付を行なってから、直ちに割込み可能状態に推移しているため、複数のアプリケーションから非同期に発生するコマンドを随時受信するとができる。
【0057】
図9は、コマンドディスパッチ処理部18の動作を説明するためのフローチャート(ステップS6〜S10)である。
この図9に示すように、コマンドディスパッチ処理部18は、常時、コマンドキューイングテーブル16のキューイング管理情報内のキューイング数を監視し(ステップS6)、コマンドキューイングテーブル16内に受信コマンド(キューイングデータ)が存在する場合(ステップS6でYES判定の場合)、キューイング管理情報内のネクストコマンドポインタが指示するエントリからそのコマンドを取り出す(ステップS7)。
【0058】
そして、前記キューイング数を更新(1減算)するとともに(ステップS8)、ネクストコマンドポインタを1エントリ分更新してから(ステップS9)、そのコマンドに応じたコマンド処理を呼び出す(ステップS10)。つまり、本実施例のコマンドディスパッチ処理部18は、コマンドキューイングテーブル16から読み出したコマンドに応じたコマンド処理を、ファイルアクセス処理部15のコマンド処理部19にディスパッチ(振分)して依頼・要求し、そのコマンド処理からのリターンを待つ。
【0059】
このとき、例えば図10に示すように、コマンドキューイングテーブル16のキューイング管理情報内のネクストコマンドポインタがコマンド2を指示している場合には、図9のステップS7によりそのコマンド2が取り出された後、図9のステップS9の処理により、そのネクストコマンドポインタは、矢印Bで示すエントリつまりコマンド3を指示するように更新される。
【0060】
ついで、図11〜図14により、ファイルアクセス制御部15で行なわれる各種コマンド処理の手順について説明する。
図11は、ファイルオープン処理手順を示すフローチャート(ステップS11〜S20)であり、この図11に示すように、ファイルオープン処理に際しては、まず、コマンドキューイングテーブル16から取り出されたエントリ(ファイルオープンを指示するコマンドメッセージをもつもの)に、ノードIDがセット済か否かを確認し、セット済でなければ、新たなファイルオープンコマンドであると判断して、ノードID生成部21によりその処理に対するノードIDを創成する一方(ステップS12)、ノードIDがセット済であれば、ファイルオープン処理の再実行であるとみなし、ステップS12の処理をスキップする。
【0061】
次に、アクセス排他制御部20のファイル排他制御情報テーブル20Aを参照し、今回のファイルオープンコマンドのパラメータ情報であるファイル名とファイル排他制御情報テーブル20Aのエントリ(ファイル名)とを比較することにより、ファイル排他制御情報テーブル20Aに、今回のファイルオープン処理対象のファイル単位12Bがエントリされているか否かを確認する(ステップS13)。
【0062】
ステップS13の確認の結果、ファイル排他制御情報テーブル20Aに、今回のファイルオープン処理対象のファイル単位12Bが未だエントリされていなければ、ファイル排他制御情報テーブル20Aに、そのファイル単位12BについてのDF名/EF名とノードIDとをファイル排他制御情報としてエントリ・登録してから(ステップS15)、そのノードIDを、通知部22および通信制御部13の機能により、ファイルオープンを依頼した外部のアプリケーションに対して通知する(ステップS16)。
【0063】
ステップS13により、今回のファイルオープン処理対象のファイル単位12Bのエントリが確認された場合には、そのファイル単位12Bは既にオープン済で他のコマンド処理のアクセス対象(他ノードで使用中)となっているので、本実施例では、パラメータ情報により指定されている動作モードが拒否モードか待機モードかを判定し(ステップS14)、その動作モードに従って以降の処理を行なう。
【0064】
動作モードとして拒否モード(REJECTモード)が指定されている場合には、そのファイルオープンコマンドの処理を拒否し、ファイル二重オープンエラーを、通知部22および通信制御部13の機能により、ファイルオープンを依頼した外部のアプリケーションに対して通知する(ステップS17)。
一方、動作モードとして待機モード(WAITモード)が指定されている場合には、コマンド多重受信制御部14の割込み処理部17が、割込み禁止を行なって(ステップS18)、今回のファイルオープンコマンドをコマンドキューイングテーブル16に再エントリした後(ステップS19)、割込み禁止を解除して割込み可能状態にしている(ステップS20)。
【0065】
なお、ステップS19によるコマンドの再エントリは、図7のステップS2〜S4により説明した手順と全く同様に行なわれ、ノードID,コマンドメッセージが登録されるとともに、キューイング数の更新(1加算)およびネクストポインタの更新が行なわれる。
前述したステップS16,S17,S20のいずれかを終了すると、本実施例のICカード10のMPU11における処理は、図9にて説明したコマンドディスパッチ処理にリターンする。
【0066】
ところで、マルチアプリケーションで同一ファイル単位12Bに対してファイルオープンコマンドを発行した場合、前述したようにデッドロック状態に陥る可能性がある。これを防止するために、本実施例では、図6にて前述したごとく、ファイルオープンコマンドのパラメータ指定の動作モードが待機モードである場合、指定リトライ回数(パラメータリトライ回数)をパラメータ情報として追加することもできる。
【0067】
このようにしてデッドロック防止機能をそなえた場合のファイルオープン処理動作を、図12に示すフローチャート(ステップS11〜S23)に従って説明する。この図12に示すように、基本的な動作は図11により説明した動作と全く同じであり、図12の各ステップのうち、図11の各ステップに付与されたステップ番号と同一ステップ番号を付与されたものは、全く同一の処理を行なっているので、その説明は省略する。
【0068】
図12に示す処理動作と図11に示す処理動作とで異なっている点は、ファイルオープンコマンドのコマンドキューイングテーブル16への再エントリ処理(ステップS19′)に際してエントリすべき情報が新たに2つ追加されている点と、新たなステップS21〜S23が付加されている点との2点である。
つまり、図12に示す処理動作では、ステップS19′による再エントリ処理に際して、図6に示したように、コマンドキューイングテーブル16には、ノードID,コマンドメッセージの他に、実際のリトライ回数(そのファイルオープンコマンドを実行した回数)とパラメータリトライ回数とが登録されるとともに、キューイング数の更新(1加算)およびネクストポインタの更新が行なわれるようになっている。
【0069】
そして、動作モードとして待機モード(WAITモード)が指定されている場合には、ステップS14による判定後、前記リトライ回数をカウントアップ(1加算)した後(ステップS21)、そのカウントアップ後のリトライ回数とパラメータ情報で指定される指定リトライ回数とを比較する(ステップS22)。
その比較の結果、リトライ回数が指定リトライ回数を超えている場合、つまり指定リトライ回数だけファイルオープンコマンドの再実行を行なっても未だファイルオープン対象のファイル単位12Bが他アプリケーション(他ノード)から解放されていない場合には、リトライオーバを、通知部22および通信制御部13の機能により、ファイルオープンを依頼した外部のアプリケーションに対してエラー通知し(ステップS23)、そのファイルオープンコマンド処理を実行することなく終了する。この後、本実施例のICカード10のMPU11における処理は、図9にて説明したコマンドディスパッチ処理にリターンする。上述のようにして、待機モード中のデッドロック状態の発生を確実に防止することができる。
【0070】
図13は、ファイルクローズ処理手順を示すフローチャート(ステップS31〜S33)であり、この図13に示すように、ファイルクローズ処理に際しては、まず、ファイルクローズコマンドのパラメータ情報として指定されるノードIDが、ファイル排他制御情報テーブル20Aにエントリ・登録されているか否かを判定する(ステップS31)。
【0071】
そのノードIDが登録されている場合(YES判定の場合)には、ファイルクローズコマンドのパラメータ情報であるDF名/EF名およびノードIDが一致するエントリを、ファイル排他制御情報テーブル20Aからクリアすることにより(ステップS32)、アクセス排他制御部20は、そのファイル単位12Bに対するアクセス排他制御を終了するとともに、ファイルアクセス制御部15は、そのファイル単位12Bに対するアクセス処理を終了する。
【0072】
一方、ステップS31でノードIDが登録されていないと判定された場合(NO判定の場合)には、ファイルクローズ対象のファイル単位12Bが未だオープンされていない旨(ファイル未オープン)を、通知部22および通信制御部13の機能により、ファイルオープンを依頼した外部のアプリケーションに対してエラー通知する(ステップS33)。
【0073】
前述したステップS32,S33のいずれかを終了すると、本実施例のICカード10のMPU11における処理は、図9にて説明したコマンドディスパッチ処理にリターンする。
図14は、ファイルアクセス処理手順を示すフローチャート(ステップS34〜S37)であり、この図14に示すように、ファイルアクセス処理に際して、まず、ファイルアクセス制御部15におけるコマンド処理部19は、ファイル排他制御情報テーブル20Aを参照して、ファイルアクセスコマンドのパラメータ情報として指定されるノードIDがファイル排他制御情報テーブル20Aにエントリ・登録されているか否か、即ち、アクセス対象のファイル単位12Bがオープン状態であるか否かを判定する(ステップS34)。
【0074】
そのノードIDが登録済(YES判定)であれば、コマンド処理部19は、既にオープン状態のアクセス対象のファイル単位12Bに対して、ファイルアクセスコマンのパラメータ情報として指定されるアクセス情報(アクセス種別,レコードナンバー等)に応じたアクセスを行なってそのコマンド処理を実行する(ステップS35)。この後、その処理結果(ファイルアクセスコマンドのレスポンス)を、通信制御部13によりファイルアクセスを依頼した外部のアプリケーションに対して通知する(ステップS36)。
【0075】
一方、ステップS34でノードIDが登録されていないと判定された場合(NO判定の場合)には、ファイルアクセス対象のファイル単位12Bが未だオープンされていない旨(ファイル未オープン)を、通知部22および通信制御部13の機能により、ファイルオープンを依頼した外部のアプリケーションに対してエラー通知する(ステップS37)。
【0076】
前述したステップS36,S37のいずれかを終了すると、本実施例のICカード10のMPU11における処理は、図9にて説明したコマンドディスパッチ処理にリターンする。
以下に、より具体的な例について図15を参照しながら説明する。ここでは、例えば2つのアプリケーションA,Bが同一のICカード10内の2つのファイル単位12B−1,12B−2に同時にアクセスする場合を想定している。
【0077】
図15の▲1▼に示すように、まず、アプリケーションAがICカード10内のファイル単位12B−1に対してファイルオープンコマンドOpenAを発行し、そのファイル単位12B−1がオープンされると、ICカード10からアプリケーションAに対してノードID=01が通知される。
次に、図15の▲2▼に示すように、アプリケーションBがICカード10内のファイル単位12B−1に対してファイルオープンコマンドOpenAを発行したとすると、この場合、ファイル単位12B−1は、既にアプリケーションAによって確保(オープン済)されているため、ファイルオープンコマンドOpenAのパラメータ情報で指定される動作モードに従って動作を行なう。ここでは、待機モード(Waitモード)が指定されているので、アプリケーションBからのファイルオープンコマンドOpenAは、ファイル単位12B−1が解放されるまで待機する(排他制御)。
【0078】
このような状態で、図15の▲3▼に示すように、アプリケーションAがファイル単位12B−1に対してファイルアクセスコマンド(ノードID=01)を発行すると、ICカード10は、ファイル単位12B−1がノードID=01によりオープン済であるため、正常に当該アクセスコマンドを受け付け、そのコマンドに応じたアクセス処理を実行する。
【0079】
そして、図15の▲4▼に示すように、アプリケーションAから、ノードID=01をもつファイルクローズコマンドCloseが発行されると、ファイル単位12B−1が解放されるため、待機状態であったアプリケーションBからのファイル単位12B−1に対するファイルオープンコマンドOpenAが実行可能になり、そのファイルオープン処理が実行されると、図15の▲5▼に示すように、ICカード10からアプリケーションBに対してノードID=02が通知される。
【0080】
その後、図15の▲6▼に示すように、アプリケーションBは、ファイル単位12B−1および12B−2に対してオープン/アクセス処理を実行しているが、アプリケーションAからICカード10に対するコマンドが発行されていないため、ファイル排他制御を行なう必要がなく、通常の状態で処理が実行される。
ただし、図15の▲6▼で示すアプリケーションBからのファイル単位12B−2へのファイルオープンコマンドOpenBが、万一、ファイルオープンコマンドOpenAとしてファイル単位12B−1に対して発行された場合には、同一のアプリケーションBからのコマンドであっても、ファイル単位12B−1は、アプリケーションBによりノードID=02で確保されているため、パラメータ情報で指定される動作モード(待機/拒否モード)に移行する。
【0081】
この場合、同一のアプリケーションBが同一のファイル12B−1に対して別々にオープンコマンドを発行していることになるため、ダンマリ状態(デッドロック状態)が発生してしまう。そこで、本実施例では、図12にて前述したように、ファイルオープンコマンドのパラメータ情報でリトライ回数を指定することで、上述のようなデッドロック状態を回避することができる。
【0082】
また、前述したような排他制御を行なうことにより、例えばアプリケーションA,Bが金額情報をもつ同一のファイル単位12B−1に対してアクセスしようとした場合、一方のアプリケーションAでファイル単位12B−1を確保している間は、他方のアプリケーションBによるファイルアクセスは不可能となるため、金額的なデータ矛盾等の発生を確実に防止することができる。
【0083】
このように、本発明の一実施例によれば、コマンド多重受信制御部14により非同期で発生する複数のアプリケーションからのコマンドの受信が可能になるほか、アクセス排他制御部20によりアプリケーション毎(ノードID毎)の排他アクセスが可能になってデータ矛盾等の発生を防止できるので、1枚のICカード10に対して複数のアプリケーションからコマンドを同時に発行することが可能になる。
【0084】
従って、従来通りのシングルアプリケーションでの利用に加え、マルチアプリケーションを動作させるようなシステムにも対応できるICカード10が提供され、システム形態の幅が広がり、ユーザニーズの多様化や高度化に確実に対応することができるのである。
なお、上述した実施例では、1枚のICカード10に対して2つのアプリケーションから同時にアクセスした場合について説明したが、本発明は、これに限定されるものではなく、3つ以上のアプリケーションから同時にアクセスを行なった場合にも上述と同様の作用効果を得ることができる。
【0085】
また、上述した実施例では、カード型記憶媒体がICカードである場合について説明したが、本発明は、これに限定されるものではなく、光カードなどの他種のカード型記憶媒体にも同様に適用され、上記実施例と同様の作用効果を得ることができる。
【0086】
【発明の効果】
以上詳述したように、本発明のカード型記憶媒体によれば、コマンド多重受信制御部の機能により、非同期で発生する外部からのコマンドの受信が可能になるほか、アクセス排他制御部の機能によりアクセス排他制御が実現されてデータ矛盾等の発生を防止できるので、1枚のカード型記憶媒体に対して複数のアプリケーションからコマンドを同時に発行することが可能になる。
【0087】
従って、従来通りのシングルアプリケーションでの利用に加え、マルチアプリケーションを動作させるようなシステムにも対応できるカード型記憶媒体を提供可能になり、システム形態の幅が広がり、ユーザニーズの多様化や高度化に確実に対応できる効果がある(請求項1,2,5,6)。
また、ファイルオープンコマンド処理を行なう際に対象ファイル単位がオープン状態(使用中)である時には、パラメータ情報として設定される動作モードにより、その後の処理として待機するか拒否するかを選択でき、ユーザあるいはアプリケーション側からの要望に応じた各種対応を実現することができる(請求項)。
【0088】
このとき、特に動作モードが待機モードである場合には、リトライ回数を指定することにより、ファイルオープンコマンド処理を受け付けたままデッドロック状態に陥ることを確実に回避することができる(請求項)。
【図面の簡単な説明】
【図1】本発明の原理ブロック図である。
【図2】本発明の一実施例としてのカード型記憶媒体(ICカード)の構成を示すブロック図である。
【図3】本実施例のカード型記憶媒体(ICカード)を示す機能ブロック図である。
【図4】本実施例のキューイングテーブルの内容を説明するための図である。
【図5】本実施例のファイル排他制御情報テーブルの内容を説明するための図である。
【図6】 本実施例のキューイングテーブルの内容の変形例を説明するための図である。
【図7】本実施例の割込み処理手順を説明するためのフローチャートである。
【図8】割込み処理時のコマンドキューイングテーブルにおけるポインタの状態を説明するための図である。
【図9】本実施例のコマンドディスパッチ処理手順を説明するためのフローチャートである。
【図10】コマンドディスパッチ処理時のコマンドキューイングテーブルにおけるポインタの状態を説明するための図である。
【図11】本実施例のファイルオープン処理手順を説明するためのフローチャートである。
【図12】デッドロック保護機能を付加した本実施例のファイルオープン処理手順を説明するためのフローチャートである。
【図13】本実施例のファイルクローズ処理手順を説明するためのフローチャートである。
【図14】本実施例のファイルアクセス処理手順を説明するためのフローチャートである。
【図15】本実施例の動作を具体的に説明すべくICカードと2つのアプリケーションとの間でのコマンドシーケンスを示す図である。
【図16】一般的なICカードの外観を示す平面図である。
【図17】一般的なICカードのハードウエア構成を示すブロック図である。
【図18】ICカードにおける従来の通信制御機能およびコマンド処理機能を説明するための図である。
【図19】従来のICカードにおいて生じるレスポンスブロック待ちタイムオーバについて説明するための図である。
【図20】従来のICカードにおいて生じるデータ矛盾について説明するための図である。
【符号の説明】
1 カード型記憶媒体
2 記憶部
3 通信制御部
4 ファイルアクセス制御部
5 コマンド多重受信制御部
6 アクセス排他制御部
10 ICカード(カード型記憶媒体)
11 MPU
12 メモリ(記憶部)
12A ファイル領域
12B,12B−1,12B−2 ファイル単位(DF/EF)
13 通信制御部
14 コマンド多重受信制御部
15 ファイルアクセス制御部
16,16A コマンドキューイングテーブル
17 割込み処理部
18 コマンドディスパッチ処理部
19 コマンド処理部
20 アクセス排他制御部
20A ファイル排他制御情報テーブル
21 ノードID生成部(識別子生成部)
22 通知部

Claims (6)

  1. ファイルを保持する記憶部と、外部との通信を制御する通信制御部と、該記憶部のファイルに対するアクセスを制御することにより該通信制御部にて受信したコマンドに応じたコマンド処理を実行するファイルアクセス制御部とをそなえ、複数のアプリケーションからのアクセスが同時に可能なカード型記憶媒体であって、
    該通信制御部により外部から受信した非同期で発生する該複数のアプリケーションからのコマンドを随時受け付ける一方で、受け付けたコマンドに応じたコマンド処理を該ファイルアクセス制御部に順次要求するコマンド多重受信制御部がそなえられるとともに、
    該ファイルアクセス制御部に、
    該記憶部のファイルを所定のファイル単位毎に管理し、該コマンド多重受信制御部から要求された新たなコマンド処理の対象ファイル単位が既に他のコマンド処理のアクセス対象となっている場合、該新たなコマンド処理の当該ファイル単位に対するアクセスを禁止して、当該ファイル単位に対して同時に異なるコマンドによるアクセスを行なうことを禁止するように制御するアクセス排他制御部がそなえられ
    該コマンド多重受信制御部が、
    外部から受信したコマンドを格納するコマンドキューイングテーブルと、
    該通信制御部により外部からのコマンドを受信すると、コマンド受信割込みによって起動され、割込み可能状態を割込み禁止状態に切り換えてから当該コマンドを該コマンドキューイングテーブルに登録し、割込み禁止状態を割込み可能状態に切り換えることにより、当該コマンドの受付を行なう割込み処理部と、
    該コマンドキューイングテーブルを監視し、該コマンドキューイングテーブルにコマンドが登録されている場合には、当該コマンドを読み出し、当該コマンドに応じたコマンド処理を該ファイルアクセス制御部に要求するコマンドディスパッチ処理部とから構成されていることを特徴とする、カード型記憶媒体。
  2. 該コマンド多重受信制御部にて受け付けられたコマンドが、該記憶部の所定のファイル単位を、該ファイルアクセス制御部からアクセス可能なオープン状態にすることを要求するファイルオープンコマンドである場合、該ファイルオープンコマンドに、前記所定のファイル単位を指定するファイル名がパラメータ情報として予め設定されており、
    前記所定のファイル単位をオープン状態にする際に当該ファイル単位に対する処理固有の識別子を生成する識別子生成部と、
    該識別子生成部にて生成された前記識別子を該ファイルオープンコマンドの発行元に通知する通知部とがそなえられ、
    該アクセス排他制御部が、該ファイルオープンコマンドのパラメータ情報であるファイル名と該識別子生成部にて生成された前記識別子とを対にして保持するファイル排他制御情報テーブルを作成し、該ファイル排他制御情報テーブルを参照して現在オープン状態になっているファイル単位を管理しながら、各ファイル単位に対するアクセス排他制御を行なうことを特徴とする、請求項1記載のカード型記憶媒体。
  3. 該ファイルオープンコマンドに、前記所定のファイル単位が既にオープン状態になっている場合の動作を指定する動作モードがパラメータ情報として予め設定されており、
    該動作モードが待機モードである場合には、該ファイルオープンコマンドを該コマンドキューイングテーブルに再度登録して該ファイル単位が解放されるまで待機する一方、
    該動作モードが拒否モードである場合には、該ファイルオープンコマンドを拒否するとともに拒否した旨を該ファイルオープンコマンドの発行元に通知することを特徴とする、請求項または請求項に記載のカード型記憶媒体。
  4. 該ファイルオープンコマンドに、該動作モードが待機モードである場合の指定リトライ回数がパラメータ情報として予め設定されており、
    該動作モードが待機モードである場合に、同一のファイルオープンコマンドに応じたコマンド処理を該コマンド多重受信制御部から該ファイルアクセス制御部に要求した回数が前記指定リトライ回数を超えた時には、該ファイルオープンコマンドに応じたコマンド処理を実行することなく終了するとともに、その旨を該ファイルオープンコマンドの発行元に通知することを特徴とする、請求項記載のカード型記憶媒体。
  5. 該コマンド多重受信制御部にて受け付けられたコマンドが、既にオープン状態になっているファイル単位をクローズ状態にして当該ファイル単位に対するアクセスを終了させることを要求するファイルクローズコマンドである場合、該ファイルクローズコマンドに、当該ファイル単位に対する処理固有の識別子がパラメータ情報として予め設定されており、
    該アクセス排他制御部が、該ファイルクローズコマンドのパラメータ情報である識別子が一致するエントリを、該ファイル排他制御情報テーブルから削除して、当該ファイル単位に対するアクセス排他制御を終了させることを特徴とする、請求項〜請求項のいずれかに記載のカード型記憶媒体。
  6. 該コマンド多重受信制御部にて受け付けられたコマンドが、既にオープン状態になっているファイル単位に対するアクセスを要求するファイルアクセスコマンドである場合、該ファイルアクセスコマンドに、ファイルオープン時に該通知部により通知された当該ファイル単位に対する処理固有の識別子がパラメータ情報として予め設定されており、
    該ファイルアクセス制御部が、該アクセス排他制御部で作成された該ファイル排他制御情報テーブルを参照して該ファイルアクセスコマンドのパラメータ情報である識別子をもつエントリの有無を確認した後、該ファイルアクセスコマンドに応じたコマンド処理を実行することを特徴とする、請求項記載のカード型記憶媒体。
JP06091195A 1995-03-20 1995-03-20 カード型記憶媒体 Expired - Fee Related JP3691871B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP06091195A JP3691871B2 (ja) 1995-03-20 1995-03-20 カード型記憶媒体
US08/535,954 US5635703A (en) 1995-03-20 1995-09-28 Card storage medium having a multi-application support function
EP95307279A EP0733992B2 (en) 1995-03-20 1995-10-13 Card-type storage medium
DE69525732T DE69525732T3 (de) 1995-03-20 1995-10-13 Kartenförmiges Speichermedium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP06091195A JP3691871B2 (ja) 1995-03-20 1995-03-20 カード型記憶媒体

Publications (2)

Publication Number Publication Date
JPH08263353A JPH08263353A (ja) 1996-10-11
JP3691871B2 true JP3691871B2 (ja) 2005-09-07

Family

ID=13156042

Family Applications (1)

Application Number Title Priority Date Filing Date
JP06091195A Expired - Fee Related JP3691871B2 (ja) 1995-03-20 1995-03-20 カード型記憶媒体

Country Status (4)

Country Link
US (1) US5635703A (ja)
EP (1) EP0733992B2 (ja)
JP (1) JP3691871B2 (ja)
DE (1) DE69525732T3 (ja)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3565967B2 (ja) * 1995-12-21 2004-09-15 富士通株式会社 Icカード読み取り/書き込み装置及びicカードシステム
US6038551A (en) * 1996-03-11 2000-03-14 Microsoft Corporation System and method for configuring and managing resources on a multi-purpose integrated circuit card using a personal computer
DE19626339A1 (de) * 1996-07-01 1998-01-08 Ibm Sicheres Laden von Anwendungen und Daten auf Chipkarten
US7076436B1 (en) * 1996-07-08 2006-07-11 Rlis, Inc. Medical records, documentation, tracking and order entry system
GB2322045B (en) 1997-02-11 2002-02-20 Orange Personal Comm Serv Ltd Data store
JPH11212774A (ja) * 1998-01-23 1999-08-06 Fujitsu Ltd アプリケーション管理方法、及び、それを用いた情報処理装置
DE19807934C2 (de) * 1998-02-25 2001-01-25 Siemens Ag SIM-Karte mit Telefonbucheinträgen für Mobiltelefone
FR2776448B1 (fr) 1998-03-20 2000-04-28 Gemplus Card Int Terminal de telecommunication lecteur de carte a puce
US6250557B1 (en) * 1998-08-25 2001-06-26 Telefonaktiebolaget Lm Ericsson (Publ) Methods and arrangements for a smart card wallet and uses thereof
FR2783624B1 (fr) * 1998-09-21 2000-12-15 Cit Alcatel Carte a puce permettant d'acceder a une application distante, terminal et systeme de communication associes et procede pour acceder a l'application distante au moyen de cette carte a puce
IL137296A (en) * 2000-07-13 2009-09-01 Nds Ltd Configurable hardware system
US20020044655A1 (en) * 2000-10-18 2002-04-18 Applebaum David C. Information appliance and use of same in distributed productivity environments
US6676022B1 (en) * 2002-10-04 2004-01-13 Mobile-Mind, Inc. Smart card system with command queuing
JP4518763B2 (ja) * 2003-08-14 2010-08-04 株式会社リコー 情報処理装置および蓄積文書管理方法
KR101149887B1 (ko) * 2004-04-01 2012-06-11 삼성전자주식회사 멀티 채널 메모리 카드 및 그것의 제어 방법
KR101051703B1 (ko) * 2004-08-09 2011-07-25 삼성전자주식회사 서스펜드/리쥼 기능을 갖는 집적 회로 카드 및 집적 회로카드 시스템
JP4706220B2 (ja) * 2004-09-29 2011-06-22 ソニー株式会社 情報処理装置および方法、記録媒体、並びにプログラム
JP4652842B2 (ja) * 2005-02-21 2011-03-16 株式会社エヌ・ティ・ティ・ドコモ Icカード
JP2006270455A (ja) * 2005-03-23 2006-10-05 Fuji Xerox Co Ltd ネットワークシステム、情報処理機器、コンピュータの制御方法及びプログラム
DE102005056865A1 (de) * 2005-11-29 2007-05-31 Giesecke & Devrient Gmbh Pipeline-Mechanismus für den Datenaustausch zwischen Chipkarte und Terminal
JP4407662B2 (ja) 2006-04-05 2010-02-03 ソニー株式会社 情報処理装置及びアプリケーション調停方法
SG146551A1 (en) 2007-03-29 2008-10-30 Toshiba Kk Portable electronic device and control method of portable electronic device
JP5214291B2 (ja) * 2008-03-19 2013-06-19 株式会社東芝 Icカードおよびicカードの制御方法
JP2009176284A (ja) * 2007-12-25 2009-08-06 Fuji Xerox Co Ltd ファイル共有システム
EP2096884A1 (en) 2008-02-29 2009-09-02 Koninklijke KPN N.V. Telecommunications network and method for time-based network access
DE102008037651B4 (de) * 2008-08-14 2010-08-19 OCé PRINTING SYSTEMS GMBH Verfahren zur Kommunikation zwischen zwei unveränderbaren Anwendungsprogrammen und Computerprogrammen
JP6211487B2 (ja) * 2014-08-25 2017-10-11 株式会社日立製作所 分散システム、データ取得方法及びコンピュータプログラム
JP6948021B2 (ja) * 2016-04-08 2021-10-13 大日本印刷株式会社 電子情報記憶媒体、情報処理方法、及び情報処理プログラム
JP6933446B2 (ja) * 2016-04-08 2021-09-08 大日本印刷株式会社 電子情報記憶媒体、情報処理方法、及び情報処理プログラム
FR3112877B1 (fr) * 2020-07-27 2022-07-15 St Microelectronics Grenoble 2 Transpondeur sans contact

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5014192A (en) * 1985-05-06 1991-05-07 Motorola Computer X, Inc. System for locating a file in a logical ring by sequentially forwarding access request with file system name and file name
JP2664137B2 (ja) * 1985-10-29 1997-10-15 凸版印刷株式会社 Icカード
JPH087720B2 (ja) * 1986-09-16 1996-01-29 富士通株式会社 複数サービス用icカードの領域アクセス方法
JP2842750B2 (ja) * 1992-04-07 1999-01-06 三菱電機株式会社 Icカード
EP0583006B2 (en) * 1992-08-13 2006-11-29 Matsushita Electric Industrial Co., Ltd. IC card with hierarchical file structure
JPH06274397A (ja) * 1993-03-24 1994-09-30 Toshiba Corp ファイル管理方式
JPH0744672A (ja) * 1993-07-28 1995-02-14 Oki Electric Ind Co Ltd Icカード及びicカードシステム
JP3176209B2 (ja) * 1994-02-25 2001-06-11 富士通株式会社 カード型記憶媒体およびカード型記憶媒体発行装置

Also Published As

Publication number Publication date
EP0733992B1 (en) 2002-03-06
DE69525732T2 (de) 2002-08-01
EP0733992B2 (en) 2009-04-08
DE69525732D1 (de) 2002-04-11
EP0733992A3 (en) 1996-10-02
DE69525732T3 (de) 2009-07-09
EP0733992A2 (en) 1996-09-25
JPH08263353A (ja) 1996-10-11
US5635703A (en) 1997-06-03

Similar Documents

Publication Publication Date Title
JP3691871B2 (ja) カード型記憶媒体
US5796831A (en) Method for conducting a transaction between a chip card and an information system
US9965762B2 (en) Combicard transaction method and system having an application parameter update mechanism
US6249869B1 (en) Integrated circuit card, secure application module, system comprising a secure application module and a terminal and a method for controlling service actions to be carried out by the secure application module on the integrated circuit card
JP4129063B2 (ja) シェル特徴を有するicカード
US5473690A (en) Secured method for loading a plurality of applications into a microprocessor memory card
US6488211B1 (en) System and method for flexibly loading in IC card
AU736325B2 (en) Multi-application IC card system
JPH0855175A (ja) スマートカードと端末装置とを結合した処理システムおよび当該システムに対応するスマートカード
US20130185167A1 (en) Financial transaction method and system having an update mechanism
JPS63503335A (ja) ポータブル データ キャリヤのための保安ファイル システム
JPH11505947A (ja) スマートicカードシステム
TW503355B (en) System and method for communication with mobile data processing devices by way of ""mobile software agents""
JPH11328273A (ja) 利用限度枠設定方法及びその実施システム並びにその処理プログラムを記録した媒体
JP4001652B2 (ja) Icカード
AU775497B2 (en) System and process for conducting a financial transaction
US6435405B1 (en) Method and system for identifying and handling critical chip card commands
JPH06309531A (ja) Icカードに与える命令フォーマットのチェック方法
US20050086506A1 (en) Method for initialising an application terminals
JPS6321197A (ja) Icカ−ド
JP2006092568A (ja) Icカードおよびicカードにおけるファイル管理方法
JPH0340154A (ja) 通信サービスシステム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20041026

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041227

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: 20050614

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050617

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090624

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100624

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110624

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees