(57)【特許請求の範囲】
【請求項１】
一定サイズのファイル・システムであって、
ＩＳＯ７８１６ファイル・システム規格に準拠した読取りアクセスを可能にするユーザ・データを含む第１のファイル及びファイル・システム・ドライバを動的に構成するユーザ情報を含む第２のファイルを含み、前記第１のファイルの第１の部分に、前記第１のファイルの第２の部分内に位置する前記ユーザ・データを見つけるための少なくともファイル位置フィールドをそれぞれ含む、ファイル・エントリの集合を含むディレクトリを有するファイル・システム。
【請求項２】
前記ユーザ情報が、ファイル・システム全体のサイズ、所有者情報及びキー・フィールドに関する情報を含むことを特徴とする、請求項１に記載のファイル・システム。
【請求項３】
前記第１の部分と前記第２の部分が、フロント・エンドとバック・エンドを有する連続したメモリ・スペースからなり、前記第１の部分が前記フロント・エンドから始まり、前記第２の部分が、前記メモリ・スペースの前記バック・エンドから始まることを特徴とする、請求項１または請求項２に記載のファイル・システム。
【請求項４】
前記ディレクトリ内のデータ・フィールド及び前記ファイル・エントリ内のデータ・フィールドが、データ長情報とデータ管理情報の両方と関連付けられるように配列されることを特徴とする、請求項１〜３のいずれか一項に記載のファイル・システム。
【請求項５】
前記データ管理情報が、チェックサム情報を含むことを特徴とする、請求項４に記載のファイル・システム。
【請求項６】
前記ファイル・エントリの集合をそれぞれ含む少なくとも２つの前記ディレクトリを含むことを特徴とする、請求項１〜５のいずれか一項に記載のファイル・システム。
【請求項７】
請求項１〜６のいずれか一項に記載のファイル・システムを含むスマートカード。
【請求項８】
ＩＳＯ７８１６ファイル・システム規格に準拠した読取りアクセスを可能にするユーザ・データを含む第１のファイル及びファイル・システム・ドライバを動的に構成するユーザ情報を含む第２のファイルを含み、前記第１のファイルの第１の部分に、前記第１のファイルの第２の部分内に位置する前記ユーザ・データを見つけるための少なくともファイル位置フィールドをそれぞれ含む、ファイル・エントリの集合を含むディレクトリを有するファイル・システム内のデータを管理する方法であって、
前記ユーザ・データの修正操作において一連の段階を実行し、前記一連の段階が、前記ユーザ・データを修正する段階と、前記ユーザ・データの修正にしたがって第１のディレクトリを修正する段階と、第２のディレクトリを修正する段階とを含む方法。
【請求項９】
前記ディレクトリ内のデータ・フィールド及び前記ファイル・エントリ内のデータ・フィールドが、データ長情報とデータ管理情報の両方と関連付けられるように配列されることを特徴とする、請求項８に記載の方法。
【請求項１０】
前記データ長情報を含むフィールドと前記データ管理情報を含むフィールドによって挟まれた前記ディレクトリ内のデータ・フィールド及び前記ファイル・エントリ内のデータ・フィールドを配置することを特徴とする、請求項８または請求項９に記載の方法。
【請求項１１】
前記ファイル・エントリ内のデータ・フィールドが、ファイル名フィールド及びファイル位置フィールドを含むことを特徴とする、請求項８〜１０のいずれか一項に記載の方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、電子データ・キャリア・ファイル・システムに関する。詳細には、本発明は、小型ハンドヘルド式データ・キャリア、特にスマートカード用のファイル・システムに関する。
【０００２】
【従来の技術】
スマートカードとその応用例が多くの様々な目的でますます使用され受け入れられてきていることは、それが重要性が高まりつつある新しい技術分野であることの表れである。
【０００３】
そのような応用例では、後で取り出すことができるように媒体にデータを記憶できることが必要である。通常の環境下では、そのような応用例では、アプリケーションがその下で実行されているオペレーティング・システムによって提供されるファイル・インタフェースを使用する。オペレーティング・システムは、ファイル・システムを使用してハードウェア上にデータを記憶し、データの整合性を維持する。スマートカードは、元来どのオペレーティング・システムにもサポートされていないため、この機構はスマートカードで使用可能になるアプリケーションに使用することができない。スマートカードは、その機能に実装された静的ファイル・システムを備え、したがって、カードを発行する際にスマート・カード上に記憶されたデータを記述しなければならない。したがって、動的ファイル割振りは、実現が不可能かあるいは極めて困難である。
【０００４】
さらに、動的ファイル・サイズは、ＩＳＯ７８１６スマートカード・ファイル・システムによってサポートされていない。
【０００５】
記憶する各データ・オブジェクトごとに新しいデータ・ファイルを作成するのは、ファイル・システムのオーバヘッドがカードの空きスペースとパフォーマンスを低下させるため、データの記憶には効果的でない方法である。カード上の１つの基本ファイルに多数のデータ・オブジェクトを記憶させると、ファイル・ヘッダのオーバヘッドは減少するが、データ・オブジェクトのアクセスが効果的でないという問題が残る。固定長レコードを予約すると、カード上のファイル・システムのスペースが無駄になる。
【０００６】
ファイル・サイズの変更は、カードが完成する前、すなわちエンド・ユーザへの配布前に閉じられていない間にだけ、可能なカードの再初期化によってのみ実施することができる。オープンなすなわち完成していいカードの発行は、セキュリティ上の理由のために受け入れることはできない。さらに、ファイルを論理ファイル名でアドレス指定することができず、そのファイル識別子でアドレス指定しなければならない。それには、より多くの労力が必要となり、迅速な試作品作成には役立たない。
【０００７】
さらに、既存のファイル・システムは、一般に事前に割り振られたディレクトリ、クラスタ・モデル、割振りビットマップなどに依存するため、スマートカード上に動的ファイル・システムを実装すると新たな問題が生じる。スマートカード上の記憶域が常に制限され、予期しないカードの脱離、ファイルの断片化、カードの多様性などの特殊な問題が常に存在するため、スマートカード用の新しいファイル・システムを開発する必要がある。
【０００８】
【発明が解決しようとする課題】
したがって、本発明の主目的は、より柔軟性の高い改善されたファイル・システムを提供することである。
【０００９】
本発明の他の目的は、ＩＳＯ７８１６スマートカード・ファイル・システムの規格に準拠する前記システムを提供することである。
【００１０】
本発明の他の目的は、空きカード・メモリ・スペースを最大限に利用する前記ファイル・システムを提供することである。
【００１１】
他の目的は、そのようなカードのデータ・セキュリティと整合性を改善することである。
【００１２】
【課題を解決するための手段】
前記の主目的は、一定サイズの外部構造を有するファイル・システム（８）であって、動的記憶操作を実行するために他の内部ファイル・システムがその中に配置された少なくとも１つの部分（１２）を含むファイル・システム（８）によって解決される。
【００１３】
拡張スマートカード・ファイル・システムは、スマートカードのＩＳＯファイル・システム内の１つのフラット・ファイルに存在する。
【００１４】
ファイル・システムのサイズ、所有者情報、およびキー・フィールドのようなユーザ情報を含む第２のファイルを使用して、ファイル・システム・ドライバが動的に構成される。ただし、ファイル・システム・ドライバが静的に初期化される場合には、このファイルを省略することができる。
【００１５】
請求項１の特徴を備えた本発明の入れ子式ファイル・システムは、従来技術の考察において概略的に示した方法に比べて、基礎となるＩＳＯファイル・レイアウト、すなわち外部ファイル・システムの外部固定構造に影響を与えずに十分動的にファイルにアクセスしそのファイルを編集できるという利点を有する。
【００１６】
請求項９に記載の本発明のデータ管理方法の好ましい実施形態において、トランザクション指向コミット・コンセプトによって、データの完全性と整合性が達成される。
【００１７】
さらに、データ管理のために２つの独立したディレクトリが提供されるため、電力損失や予期しないカード脱離があった場合に、データ保護に関して基礎となるスマートカードのすべてのセキュリティ機構が完全に維持され強化される。
【００１８】
さらに、データ記憶は、人間可読ファイル名と、断片化されたファイル・アロケーションをサポートし、データをまとめて記憶することができ、ファイル・システムは、断片化解消機能を含む。
【００１９】
さらに、データ圧縮および圧縮解除操作がサポートされる。
【００２０】
【発明の実施の形態】
図面全体、ここでは特に図１を参照して、本発明によるファイル・システム８の好ましい実施形態の全体的構造と編成を詳細に説明する。図の上側の列にシステム全体を示し、以下の列には、それぞれ上の列の拡大部分を示す。
【００２１】
ファイル・システム８全体は、ＩＳＯ７８１６に準拠する２つの外部ファイル１０、１２を有する。したがって、ファイル・システム全体のサイズは一定である。
【００２２】
第２のファイル１０は、第１のファイル１２よりも小さく、ファイル・システム全体のサイズ、所有者情報およびキー・フィールドに関する情報を含む。
【００２３】
第１のファイル１２は、第１のファイル１２のフロント・エンド１５から始まり、線１７によって区切られた第１の部分１４にディレクトリ情報を収容し、バック・エンド１９と線２０の間の第２の部分１６にユーザ・データ２１を収容する。これら２つの間には、基本的にユーザ・データ２１を書き込み、少しだけディレクトリ情報を書き込むために利用できる第１の空きスペース１８がある。
【００２４】
前記ユーザ・データ２１は、一般に、スマートカードが適用される業務プロセスに不可欠な情報を含むと見なされ、すなわち患者の医療保険スマートカードの場合には、特定の疾病などに関する患者の既往を反映するデータになる。
【００２５】
この好ましい実施形態において、ディレクトリ情報は、第１の部分１４内の２つの独立した場所２２および２４に二重に維持される。これは、下記の本発明の記憶方法の所で詳細に説明する。
【００２６】
したがって、第１のファイル１２の基本レイアウトは、以下のように要約することができる。
「＜ディレクトリ１＞＜小さい空きスペース＞＜ディレクトリ２＞＜大きい空きスペース＞＜ファイル・データ＞」
【００２７】
このファイル・システムのレイアウトは、意図的にきわめて簡略化してある。２つのディレクトリは、ファイル・スペースの先頭に配置され、ユーザ・データは、末尾に付加される。この簡単さにより、ローエンド装置でもファイル・システム８にアクセスすることができる。
【００２８】
ファイル・システム８内には、図１の第２列に示したように、好ましいスキーマ＜長さ＞＜データ＞＜ＣＲＣ＞に従ってすべての管理データが保存される。データ・フィールド３０には、特定の使用情報が記憶され、長さフィールド２８は、データ・フィールド３０のバイト長を示し、使用データが適切であり、重要なすべての情報ブロックの後に、たとえば一般に使用されるチェック・サムなど、ＣＲＣと呼ばれる巡回冗長検査コードがそれぞれ付加されることを保証する。これにより、まず長さフィールドを見つけ、次いで前記長さで示されたオフセットだけ進み、次にその場所で間のスペース内のデータの正確さを保証するＣＲＣを見つけることによって、データの存在と正確さを制御することができるので、読み取ったデータが信用できるものとして扱えるか否かが保証される。
【００２９】
ディレクトリ・フィールド２２、２４、ファイル・エントリ３４、およびファイル（後の２つは後で説明する）が、そのスキーマに従って構成される。
【００３０】
したがって、ディレクトリ情報２２および２４の基本レイアウトは、次の通りである。
「ディレクトリ１［＜長さ＞＜データ＞＜ＣＲＣ＞］，ディレクトリ２［＜長さ＞＜データ＞＜ＣＲＣ＞］」
【００３１】
したがって、ディレクトリ２２、２４はそれぞれ、複数のファイル・エントリ３４から構成されるディレクトリ・データ３０全体の長さをカバーする長さ標識２８を有する。正当性は、チェックサムＣＲＣ３２の助けにより第１の誤り検出スキームによって検査される。さらに、フィールド２８および３２によって、データ３０のデータ内容をファイル・システムの残りの部分から分離する安全な囲いが形成される。
【００３２】
２つのディレクトリの基本機能は、ファイル・システムの整合性を保証する方法を提供することである。ファイル・システム８に新しいファイルが追加され、データが更新されるとき、まずディレクトリ２２が次にディレクトリ２４と、両方のディレクトリ２２、２４が更新される。
【００３３】
修正は、長さ、データ、ＣＲＣの順で行われる。ファイル・システム８を保持するカードが書込み中に読取り装置から引き抜かれた場合は、一方のディレクトリはデータと整合しないが、他方のディレクトリは正確である。
【００３４】
ファイル・システムにおいて、第１のディレクトリ２２のエントリは、ブロック・ゼロで始まる。第２のディレクトリ２４は、第１の後であるが、２ｎの倍数で始まる。ｎは、ファイル・システムのドライバ構築時に決定することができる。
【００３５】
これは、ディレクトリ２２の後に空きスペース２６の小さいブロックがあることを意味する。これは、連続するファイルの割振りを高速で実行できるように空きのまま残される。ディレクトリ２２とディレクトリ２４の間のこの第２の空きスペース２６の大きさが十分でないと判明した場合は、ディレクトリ２４は、２ｎの倍数の次の空きスペースに移動される。この場合、ディレクトリ２４は、ディレクトリ２２より前に更新される。カードがこの操作中に取り出された場合は、ディレクトリ２２が一貫して従来の状態を反映しているか、ディレクトリ２４がすでに活動化されて正確な新しい状態を反映しているため、ファイル・システムは依然として修復することができる。これは、ディレクトリ２２が有効でなくなったとき、あるいはファイル・システム・ドライバが、２ｎのすべての倍数において有効なディレクトリを探すことができるときに生じることがある。
【００３６】
したがって、前のセッションなどからの欠陥ディレクトリ、重複ファイル、断片化指標などのような起こり得るエラーは、前述の整合性管理によって自動的に見つけて訂正できるため、ファイル・システム・ドライバによって回復される。
【００３７】
図１の３番目と４番目の列に関して、ディレクトリ２２、２４内のすべてのファイル・エントリ３４のレイアウトは、以下の通りである。
「＜長さ＞＜データ＞＜ＣＲＣ＞」
ここで、データは、次のように分割される。
「＜名前長＞＜名前＞＜スタートブロック＞＜エンドブロック＞＜属性＞」
【００３８】
この場合も、レイアウトは、ファイル・システム内のデータ・エントリに関して前に定義した基本構造に基づく。第１のフィールド３６は、ディレクトリ・ファイル・エントリ３４全体の長さを記述する長さ情報を含む。第２のフィールド３８は、次のフィールド４０内のファイル名に関する長さ情報を含む。したがって、ファイル・エントリを平文として獲得することができる。
【００３９】
次に、位置フィールド４２に、ディレクトリ・ファイル・エントリ３４に対応するユーザ・データ・ファイルのスタート・ブロックとエンド・ブロックが書き込まれる。
【００４０】
次に、属性フィールド４４に、各データ・オブジェクト・エントリごとにタイム・スタンプや発信者などの追加属性を記憶することができる。この情報は、選択したファイル自体を読み取る前の事前選択手順に有利に使用することができる。この構造に含まれる属性フィールド４４は、任意選択フィールドである。その使用は、アプリケーション設計者が決定できる。
【００４１】
最後に、やはりＣＲＣフィールド４６で、ディレクトリ・ファイル・エントリ３４が完成する。したがって、各ファイル・エントリ３４の正当性を制御するための、第２の誤り検出スキームが確立される。
【００４２】
したがって、各ファイル・エントリ３４に含まれるデータを読み取って処理することにより、第２のファイル１２の第２の部分１６にある特定の対応するファイルを見つけて読み取ることができる。
【００４３】
次に、図２を参照して、空きスペースの管理についてより詳細に説明する。
【００４４】
図２にデータを経時的に蓄積することによりファイル・システム８内で増大するデータ記憶を異なる時間について示す各列は、それぞれ特定の時間に対応する。時間は、下方向に経過してゆく。
【００４５】
第２のファイル１０のサイズは、常に一定である。既に前に示したように、ディレクトリ２２、２４は、カードの先頭から末尾に向けて大きくなり、ファイル占有スペースは、末尾から先頭に向かって大きくなる。カード上の論理空きスペース１８は、ファイル・システムの全スペースから使用済みファイル・スペースを減算することにより計算され、第２のディレクトリの位置を２倍にすると、その計算に含まれるディレクトリ・エントリの長さが得られる。この計算は、マウント時間以降ドライバによって自動的に行うことができる。
【００４６】
図から分かるように、ディレクトリ２２、２４は必ず同じサイズを有し、空きスペース１８は、時間が経つにつれて減少する。ディレクトリ内の空きスペース２６は、第２のファイル１２の第２の部分１６内のデータを管理するのに必要なファイル・エントリ３４を保持するのに十分な大きさである。さらに、たとえば、ファイル・エントリ３４の数が十分に少なかったため、データ蓄積中に第２のファイル１２のサイズは変化しない。
【００４７】
スマートカードのユーザが、ファイル・エントリによってファイル・システムを拡張しようとするとき、ユーザは、ファイルを呼び出して書き込む。カードをカード読取装置に装着した後で、ファイル・システム・ドライバが、ファイル・スペースとディレクトリ・スペースを割り振る。次に、スマートカードにファイル・データを書き込む。その後、ドライバが、ディレクトリ２２に新しいディレクトリ・エントリ３４を追加する。次に、ドライバは、ディレクトリ２４に同じ新しいディレクトリ３４エントリを付加し、すべての書込み手順は、前述のスキームすなわち＜長さ＞＜データ＞＜ＣＲＣ＞を実行する。
【００４８】
まとめとして、本発明の構成に関して以下の事項を開示する。
【００４９】
（１）一定サイズの外部構造を有するファイル・システム（８）であって、
動的記憶操作を実行するために他の内部ファイル・システムがその中に配置された少なくとも１つの部分（１２）を含むファイル・システム（８）。
（２）前記１つの部分に、ＩＳＯ７８１６ファイル・システム規格に準拠した読取りアクセスを可能にするユーザ・データ（２１）を含む第１のファイル（１２）を含み、第１のファイル部分（１４）に、第２のファイル部分（１６）内に位置する前記ユーザ・データ（２１）を見つけるための少なくともデータ位置情報（４２）をそれぞれ含む、ファイル・エントリ（３４）の集合を含むディレクトリ（２２）を有することを特徴とする、上記（１）に記載のファイル・システム。
（３）ファイル・システム・ドライバを動的に構成する識別子データを含む第２のファイル（１０）をさらに含むことを特徴とする、上記（２）に記載のファイル・システム。
（４）前記第１の部分（１４）と前記第２の部分（１６）が、フロント・エンド（１５）とバック・エンド（１９）を有する連続したメモリ・スペースからなり、前記第１の部分（１４）が前記フロント・エンド（１５）から始まり、前記第２の部分（１６）が、前記メモリ・スペースの前記バック・エンド（１９）から始まることを特徴とする、上記（３）に記載のファイル・システム。
（５）使用データ（３０、３４、４０）が、前記データがデータ長情報（２８、３８）とデータ管理情報（３２、４６）の両方と関連付けられるように配列されることを特徴とする、上記（４）に記載のファイル・システム。
（６）前記制御情報（３２、４６）が、チェックサム情報を含むことを特徴とする、上記（５）に記載のファイル・システム。
（７）ファイル・エントリ（３４）の集合をそれぞれ含む少なくとも２つのディレクトリ（２２、２４）を含むことを特徴とする、上記（６）に記載のファイル・システム。
（８）前記識別データが、前記スマートカードに使用されるユーザ識別データであることを特徴とする、スマートカードの適用業務用に配列された上記（７）に記載のファイル・システム。
（９）上記（１）ないし（８）のいずれか一項に記載のファイル・システム（８）を含むスマートカード。
（１０）各ユーザ・データ（２１）修正操作において一連の段階を実行し、前記一連の段階が、前記ユーザ・データ（２１）を修正する段階と、前記ユーザ・データ（２１）の修正にしたがって第１のディレクトリ（２２）を修正する段階と、第２のディレクトリ（２４）を修正する段階とを含むことを特徴とする、上記（１）ないし（９）のいずれか一項に記載のファイル・システム（８）内のデータを管理する方法。
（１１）使用データ（３０、３４、４０）が、前記データがデータ長情報（２８、３８）とデータ制御情報（３２、４６）の両方と関連付けられるように配列されることを特徴とする、上記（１）ないし（１０）のいずれか一項に記載の方法。
（１２）前記データ長情報（２８、３８）とデータ整合性チェックサム（３２、４６）によって埋め込まれた前記使用データ（３０、３４、４０）を配置することを特徴とする、上記（１）ないし（１１）のいずれか一項に記載の方法。
（１３）前記使用データが、ディレクトリ・データの合計（３０）と、前記ディレクトリ・ファイル・エントリ（３４）と、前記ファイル名（４０）と、ファイル位置（４２）データのうちの少なくとも１つであることを特徴とする、上記（１）ないし（１２）のいずれか一項に記載の方法。
【図面の簡単な説明】
【図１】第１列がシステム全体を示し、以下の列は、それぞれ上の列の拡大した部分を示す、本発明によるファイル・システムの好ましい実施形態の全体的構造と編成を示す概略図である。
【図２】各列が特定の時間に対応する、様々な時間におけるデータの記憶域の増大を示す概略図である。
【符号の説明】
８  ファイル・システム
１０  ＩＤファイル（第２のファイル）
１２  第１のファイル
１４  第１の部分
１５  フロント・エンド
１６  第２の部分
１７  線
１８  空きスペース
１９  バック・エンド
２０  １６を区切る線
２１  ユーザ・データ
２２  第１のディレクトリ
２４  第２のディレクトリ
２６  小さい空きスペース
２８  ディレクトリ長さ指示
３０  ディレクトリ・データ
３２  ＣＲＣ
３４  ディレクトリ・ファイル・エントリ
３６  第１の長さフィールド
３８  第２の長さフィールド
４０  名前フィールド
４２  位置フィールド
４４  属性フィールド
４６  ＣＲＣ
【図１】
0003629510.tif 000002
【図２】
0003629510.tif 000003