WO2005022405A1 - Organization of a file tree for a portable data carrier - Google Patents

Organization of a file tree for a portable data carrier Download PDF

Info

Publication number
WO2005022405A1
WO2005022405A1 PCT/EP2004/009417 EP2004009417W WO2005022405A1 WO 2005022405 A1 WO2005022405 A1 WO 2005022405A1 EP 2004009417 W EP2004009417 W EP 2004009417W WO 2005022405 A1 WO2005022405 A1 WO 2005022405A1
Authority
WO
WIPO (PCT)
Prior art keywords
file
file system
application program
data carrier
tree
Prior art date
Application number
PCT/EP2004/009417
Other languages
German (de)
French (fr)
Inventor
Erich Englbrecht
Robert Hockauf
Thorsten Ulbricht
Rudolf Schubert
Original Assignee
Giesecke & Devrient Gmbh
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 Giesecke & Devrient Gmbh filed Critical Giesecke & Devrient Gmbh
Priority to EP04764398A priority Critical patent/EP1661042A1/en
Publication of WO2005022405A1 publication Critical patent/WO2005022405A1/en

Links

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
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • 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/3576Multiple memory zones on card
    • G06Q20/35765Access rights to memory zones

Definitions

  • the invention relates generally to the technical field of file systems and, in particular, to the organization of a file tree in a portable data carrier.
  • a portable data carrier in the sense of the present document can in particular be a chip card (smart card in different designs or a chip module or another resource-limited system.
  • Typical circumstances with portable data carriers are the considerable limitation of storage space and computing power as well as the requirement that even after a sudden Failure of the supply voltage - for example by disconnecting the data carrier from a terminal - no undefined operating states may occur.
  • the file trees, file systems and file system organization techniques commonly used in the Linux operating system are explained in particular on pages 12-16 and in chapters 12, 15 and 17 of the book just cited. Reference is made to these sites.
  • the invention therefore has the abe to provide a technique for organizing a file tree, which is specifically tailored to the circumstances of portable data carriers.
  • the invention is intended in particular to help prevent undefined operating states with little effort.
  • the invention is intended to provide the technical foundations for a particularly space-saving and / or efficient file management in the portable data carrier.
  • the invention is based on the basic idea of using the known technique of integrating file systems into a file tree in a manner which is particularly advantageous for portable data carriers.
  • file tree used in the present document is to be understood in particular to mean any hierarchical structure which is able to accommodate directories and files. This does not exclude that there are other elements in the file tree, such as cross references (left) or device files (device flies). If in the present document a file system is referred to as mounted in the file tree, this should not necessarily mean that the file system represents only part of the file tree. In extreme cases, the entire file tree can also be formed by the file system as a result of the integration. According to a first aspect of the invention, at least one transaction-based file system is integrated into the file tree.
  • file operations are at least partially treated like atomic transactions. If the supply voltage of the data medium fails during a file operation, undefined intermediate states of the file system are reversed at the latest when the data medium is started up again.
  • transaction security tasks are at least partially performed by the file system. Application programs that are executed from the data medium then no longer have to do these tasks themselves. This simplifies programming, increases the security of the data carrier and generally leads to a significant increase in efficiency.
  • At least two file systems configured in different technologies are integrated in the file tree, which at least partially - and in preferred configurations predominantly or completely - for storing at least one application program or for storing user data for the at least one application program serve.
  • File systems For example, a simple, space-saving file system can be used for the at least one application program. In contrast, preferred configurations use a powerful and / or transaction-based file system for the user data.
  • the transaction-based file system is preferably a journaling file system.
  • journaling file system Such file systems are known per se, for example, under the names Ext ⁇ fs, ReiserFS, XFS and JFS.
  • journal-leading file systems the data blocks to be written into the file system initially recorded in a journal. Only when this process has been successfully completed does the actual writing into the file system take place. If an operational interruption occurs while writing to the journal, the entries in the journal are discarded the next time the data medium is started up. However, the business interruption only takes place when the
  • journal-carrying file system is particularly preferably used in which not only metadata but also all data blocks to be written to the file system are recorded in the journal.
  • Such an operating mode offers full transaction protection, which guarantees that a write operation is either carried out completely or is canceled without any residues.
  • journal-leading file systems and / or operating modes are used which only record metadata, but not the actual content, in the journal. In this case, only the consistency of the structures of the file system, but not the consistency of the saved files, is guaranteed in the event of a business interruption.
  • Such configurations should preferably also be regarded as “transaction-based file systems”.
  • the at least one application program is not stored in a transaction-based file system. Rather, a simple, memory-saving file system is preferably provided for such user data, for example one of the file systems known per se under the names Minix-FS and Flash-FS.
  • an application program file system for storing the user data of the at least one application program is simulated. From the point of view of the application program, the application program file system can have a structure that is customary for portable data carriers, for example according to ISO / IEC 7816-4. This structure is retained in the file tree of the data carrier in some configurations. However, it is preferably provided that the application program file system is mapped into a single container file or a few container files of the file tree. Accesses by the application program to a file in the application program file system are then mapped to corresponding accesses to a section of the container file that corresponds to the file.
  • the data carrier preferably has a UNIX-like operating system.
  • at least one file system known per se from the Linux operating system is used in a suitably modified form.
  • the invention can also be used for other operating systems in which similar circumstances exist. It is particularly advantageous if the operating system has a mechanism for integrating different file systems into a file tree. Such a mechanism is known per se in the Linux operating system as VFS (virtual filesystem switch).
  • the data carrier according to the invention is set up to carry out a method according to the invention for organizing a file tree.
  • the data carrier contains a file tree which can be generated or was generated by a method according to the invention.
  • the data carrier and / or the computer program product have features that correspond to the described above and / or correspond to the features mentioned in the dependent method claims.
  • the computer program product according to the invention can be a physical medium with stored program instructions, for example a semiconductor memory or a floppy disk or a CD-ROM.
  • the computer program product can also be a non-physical medium, for example a signal transmitted over a computer network.
  • the computer program product can contain an operating system or an operating system module which is introduced into the portable data carrier in the course of the manufacture or initialization or personalization thereof.
  • Fig. 1 as the only drawing figure shows a block diagram of a data carrier according to an embodiment of the invention.
  • the data carrier 10 shown in FIG. 1 has a processor 12, a memory 14 and an interface circuit 16 for contactless or contact-based communication with an external terminal (not shown) on a single semiconductor chip.
  • the memory 14 is subdivided into several memory fiders.
  • a working memory 18 configured as RAM
  • a read-only memory 20 configured as ROM
  • a non-volatile memory 22 configured as EEPROM are provided as memory fields.
  • program code which implements an operating system 24.
  • the operating system 24 is a variant of the operating system known under the Linux brand, tailored to use in the data carrier 10.
  • the operating system 24 is adapted to the considerable resource limitation of the data carrier 10 with regard to the computing power of the processor 12 and the size of the memory 14.
  • the non-volatile memory 22 contains data structures that form a file tree 26.
  • the file tree 26 has the structure customary for UNIX systems with a root identified by a slash "/" and hierarchically structured directories and files. 1 shows an example of a directory "etc” for configuration files and a directory "bin” for various system-related programs.
  • Other structures of the file tree 26 are e.g. Cross references (left) and device files (de ⁇ ice files) via which the input and output operations of the data carrier 10 are carried out.
  • a first and a second file system 28, 30 are integrated into the file tree 26.
  • the first file system 28 is a memory-saving, non-transaction-based and non-journal-keeping file system, for example the Minix file system known per se.
  • the second file system 30 is designed as a powerful, transaction-based file system.
  • the second file system 30 is a journal-leading file system, for example the file system known under the name JFS.
  • JFS journal-leading file system
  • other journal systems 30 leading file systems are used, which take over the tasks of transaction security completely or partially.
  • the mounting (mounting) of the file systems 28, 30 into the file tree 26 is carried out by a service of the operating system 24 which is known per se.
  • a software layer of the operating system 24 known as VFS (virtual filesystem switch) also ensures that the file systems 28 , 30 can be accessed completely transparently - that is, regardless of the different technology of the file systems 28, 30.
  • VFS virtual filesystem switch
  • the VFS provides a series of predefined access operations which can be used uniformly for the entire file tree 26 and which are implemented in the access operations actually available for the file systems 28, 30.
  • the application program 32 implements an application of the data carrier 10, e.g. an application as a personal wallet. It is understood that further application programs can be provided.
  • the application program 32 requires an application program file system 36 which is customary in the field of chip cards for storing useful data 34, 34 '.
  • the application program file system 36 is designed in accordance with the ISO / IEC 7816-4 standard with a root directory MF (master file), further directories DF (dedicated file) and files EF (elementary file) for the useful data 34, 34 '.
  • the application program file system 36 is created in the second, transaction-based file system 30.
  • the directory and file structure of the user is reflected application program file system 36 is not reflected in a corresponding structure of the second file system 30.
  • a single file is provided in the second file system 30, which contains the entire application program file system 36 including all user data 34, 34 'and is therefore referred to as a container file 38.
  • Each file of the application program file system 36 - and in some embodiments also each folder - corresponds to a section of the container file 38.
  • the container file 38 thus has an internal structure which corresponds to the structure of the application program file system 36.
  • a conversion module 40 which is integrated into or connected to the operating system 24, simulates the application program file system 36 in a manner that is completely transparent to the application program 32. Access operations that the application program 32 calls based on the application program file system 36 are converted by the conversion module 40 into corresponding accesses to the respective sections of the container file 38, and the respective results are returned to the application program 32.
  • multiple container files are provided instead of a single container file 38.
  • Embodiments are also provided in which the application program file system 36 is mapped into a corresponding structure in the second file system 30.
  • each write operation to the container file 38 is first noted in a journal (not shown in FIG. 1) that is stored in the non-volatile memory 22. If an unexpected interrupt occurs during one of the two writes to the journal or container file 38, either the journal or container file 38 has an inconsistent structure or content. This is recognized the next time the data carrier 10 is started up. If the journal is damaged, the entries in it are discarded. If the container file 38 is damaged, the write operation to the container file 38 is completed in accordance with the contents of the journal.
  • a more detailed description of this process using the example of the Ext3 file system can be found on pages 600 - 607 of the book "Under standing the Linux Kernel" cited at the beginning.
  • the transaction backup provided by the second file system 30 comprises either all data blocks to be written into the second file system 30 or only metadata relating to the structure of the second file system 30. If only metadata is included in the journal, the container file 38 can have partly new and partly old content after the data carrier 10 has been interrupted. In these configurations, additional security measures on the part of the application program 32 and / or the conversion module 40 are therefore required. In contrast, complete transaction protection is achieved in configurations in which the journal logs the entire file content to be changed by a write operation and all the metadata to be changed.

Abstract

The invention relates to a method for organizing a data tree (26) for a portable data carrier (10), according to which at least one transaction-based data system (30) is integrated in said data tree (26). In an additional method, at least two file systems (28, 30) that have been configured by different technologies are integrated in the data tree (26), the first (28) of which is at least partly responsible for saving at least one application program (32) and the second (30) of which is at least partly responsible for saving useful data (34, 34') for the application program(s) (32). A portable data carrier (10) and a computer program product comprise corresponding characteristics. The invention provides a technology for organizing a data tree (26) that is specifically tailored to the conditions existing in portable data carriers (10).

Description

Organisation eines Dateibaums bei einem tragbaren Datenträger Organization of a file tree for a portable data carrier
Die Erfindung betrifft allgemein das technische Gebiet der Dateisysteme und insbesondere die Organisation eines Dateibaums bei einem tragbaren Daten- träger.The invention relates generally to the technical field of file systems and, in particular, to the organization of a file tree in a portable data carrier.
Ein tragbarer Datenträger im Sinne des vorliegenden Dokuments kann insbesondere eine Chipkarte (smart card in unterschiedlichen Bauformen oder ein Chipmodul oder ein sonstiges ressourcenbeschränktes System sein. Typische Gegebenheiten bei tragbaren Datenträgern sind die erhebliche Beschränkung von Speicherplatz und Rechenleistung sowie die Forderung, daß auch nach einem plötzlichen Ausfall der Versorgungsspannung - z.B. durch Trennen des Datenträgers von einem Terminal - keine Undefinierten Betriebszustände auftreten dürfen.A portable data carrier in the sense of the present document can in particular be a chip card (smart card in different designs or a chip module or another resource-limited system. Typical circumstances with portable data carriers are the considerable limitation of storage space and computing power as well as the requirement that even after a sudden Failure of the supply voltage - for example by disconnecting the data carrier from a terminal - no undefined operating states may occur.
In einem internen Forschungsprojekt der Giesecke & Devrient GmbH wird gegenwärtig untersucht, inwieweit ein UNIX®-artiges Betriebssystem auf einem heute verfügbaren oder in Zukunft zu erwartenden Datenträger implementiert werden kann. In diesem Zusammenhang ist insbesondere eine Implementierung des unter der Marke Linux® bekannten Betriebssystems vorgesehen. Das Buch "Understanding the Linux Kernel" von D. P. Bovet und M. Cesati, O'Reilly Verlag, 2. Auflage, Dezember 2002, enthält eine detaillierte technische Beschreibung dieses Betriebssystems.An internal research project by Giesecke & Devrient GmbH is currently investigating the extent to which a UNIX®-like operating system can be implemented on a data carrier available today or expected in the future. In this context, an implementation of the operating system known under the Linux® brand is planned. The book "Understanding the Linux Kernel" by D. P. Bovet and M. Cesati, O'Reilly Verlag, 2nd edition, December 2002, contains a detailed technical description of this operating system.
Die bei dem Linux-Betriebssystem üblicherweise eingesetzten Dateibäume, Dateisysteme und Dateisystem-Organisationstechniken sind insbesondere auf den Seiten 12 - 16 sowie in den Kapiteln 12, 15 und 17 des gerade zitierten Buches erläutert. Auf diese Fundstellen wird Bezug genommen. Es ist dort jedoch weder ein Einsatz des Linux-Betriebssystems für tragbare Daten- träger noch eine spezielle Anpassung von Dateisystemen an die Gegebenheiten bei tragbaren Datenträgern offenbart. Die Erfindung hat daher die Auf abe, eine Technik zur Organisation eines Dateibaums bereitzustellen, die speziell auf die Gegebenheiten bei tragbaren Datenträgern zugeschnitten ist. Gemäß einem ersten Aspekt soll die Erfindung insbesondere dazu beitragen, mit geringem Aufwand Undefinierte Be- triebszustände zu verhindern. Gemäß einem zweiten Aspekt soll die Erfindung die technischen Grundlagen für eine besonders speicherplatzsparende und/ oder leistungsfähige Dateiverwaltung in dem tragbaren Datenträger liefern.The file trees, file systems and file system organization techniques commonly used in the Linux operating system are explained in particular on pages 12-16 and in chapters 12, 15 and 17 of the book just cited. Reference is made to these sites. However, neither the use of the Linux operating system for portable data carriers nor a special adaptation of file systems to the conditions of portable data carriers is disclosed there. The invention therefore has the abe to provide a technique for organizing a file tree, which is specifically tailored to the circumstances of portable data carriers. According to a first aspect, the invention is intended in particular to help prevent undefined operating states with little effort. According to a second aspect, the invention is intended to provide the technical foundations for a particularly space-saving and / or efficient file management in the portable data carrier.
Erfindungsgemäß wird diese Aufgabe ganz oder zum Teil gelöst durch ein Verfahren gemäß Anspruch 1 bzw. Anspruch 6, einen tragbaren Datenträger gemäß Anspruch 12 bzw. Anspruch 13 sowie ein Computerprogramnτpro- dukt gemäß Anspruch 14. Die abhängigen Ansprüche betreffen bevorzugte Ausgestaltungen der Erfindung.According to the invention, this object is achieved in whole or in part by a method according to claim 1 or claim 6, a portable data carrier according to claim 12 or claim 13 and a computer program product according to claim 14. The dependent claims relate to preferred embodiments of the invention.
Die Erfindung geht von der Grundüberlegung aus, die an sich bekannte Technik des Einbindens von Dateisystemen in einen Dateibaum in einer für tragbare Datenträger besonders vorteilhaften Weise zu nutzen. Unter dem im vorliegenden Dokument verwendeten Begriff "Dateibaum" ist insbesondere jede hierarchische Struktur zu verstehen, die Verzeichnisse und Dateien aufzunehmen vermag. Dies schließt nicht aus, daß im Dateibaum weitere Elemente vorhanden sind, z.B. Querverweise (links) oder Gerätedateien (device flies). Wenn im vorliegenden Dokument ein Dateisystem als in den Dateibaum eingebunden (mounted) bezeichnet wird, soll dies nicht notwendigerweise heißen, daß das Dateisystem nur einen Teil des Dateibaums darstellt. Im Extremfall kann als Ergebnis des Einbindens auch der gesamte Dateibaum von dem Dateisystem gebildet werden. Gemäß einem ersten Aspekt der Erfindung wird zumindest ein transaktionsbasiertes Dateisystem in den Dateibaum eingebunden. Bei einem solchen Dateisystem werden Dateioperationen zumindest zum Teil wie atomare Transaktionen behandelt. Wenn während einer Dateioperation die Versor- gungsspannung des Datenträgers ausfällt, werden Undefinierte Zwischenzustände des Dateisystems spätestens beim nächsten Hochfahren des Datenträgers wieder rückgängig gemacht. Insgesamt werden also Aufgaben der Transaktionssicherung zumindest zum Teil vom Dateisystem übernommen. Anwendungsprogramme, die von dem Datenträger ausgeführt werden, brauchen diese Aufgaben dann nicht mehr selbst zu erledigen. Dies erleichtert die Programmierung, erhöht die Sicherheit des Datenträgers und führt in der Regel zu einem deutlichen Effizienzgewinn.The invention is based on the basic idea of using the known technique of integrating file systems into a file tree in a manner which is particularly advantageous for portable data carriers. The term "file tree" used in the present document is to be understood in particular to mean any hierarchical structure which is able to accommodate directories and files. This does not exclude that there are other elements in the file tree, such as cross references (left) or device files (device flies). If in the present document a file system is referred to as mounted in the file tree, this should not necessarily mean that the file system represents only part of the file tree. In extreme cases, the entire file tree can also be formed by the file system as a result of the integration. According to a first aspect of the invention, at least one transaction-based file system is integrated into the file tree. In such a file system, file operations are at least partially treated like atomic transactions. If the supply voltage of the data medium fails during a file operation, undefined intermediate states of the file system are reversed at the latest when the data medium is started up again. Overall, transaction security tasks are at least partially performed by the file system. Application programs that are executed from the data medium then no longer have to do these tasks themselves. This simplifies programming, increases the security of the data carrier and generally leads to a significant increase in efficiency.
Gemäß einem zweiten Aspekt der Erfindung sind in den Dateibaum min- destens zwei in unterschiedlichen Technologien ausgestaltete Dateisysteme eingebunden, die zumindest zum Teil - und in bevorzugten Ausgestaltungen überwiegend oder vollständig - zur Speicherung mindestens eines Anwendungsprogramms bzw. zur Speicherung von Nutzdaten für das mindestens eine Anwendungsprogramm dienen. Diese Lehre ermöglicht eine besonders vorteilhafte Kombination der Eigenschaften unterschiedlicherAccording to a second aspect of the invention, at least two file systems configured in different technologies are integrated in the file tree, which at least partially - and in preferred configurations predominantly or completely - for storing at least one application program or for storing user data for the at least one application program serve. This teaching enables a particularly advantageous combination of the properties of different ones
Dateisysteme. So kann beispielsweise für das mindestens eine Anwendungsprogramm, ein einfaches, speicherplatzsparendes Dateisystem verwendet werden. Für die Nutzdaten wird dagegen in bevorzugten Ausgestaltungen ein leistungsfähiges und/ oder transaktionsbasiertes Dateisystem verwendet.File systems. For example, a simple, space-saving file system can be used for the at least one application program. In contrast, preferred configurations use a powerful and / or transaction-based file system for the user data.
Vorzugsweise ist das transaktionsbasierte Dateisystem ein journalführendes Dateisystem (journaling file System). Solche Dateisysteme sind z.B. unter den Namen Extθfs, ReiserFS, XFS und JFS an sich bekannt. Bei journalführenden Dateisystemen werden die in das Dateisystem zu schreibenden Datenblöcke zunächst in ein Journal aufgenommen. Erst wenn dieser Vorgang erfolgreich abgeschlossen ist, erfolgt das eigentliche Schreiben in das Dateisystem. Tritt während des Schreibens in das Journal eine Betriebsunterbrechung auf, so werden beim nächsten Hochfahren des Datenträgers die Einträge im Journal verworfen. Erfolgt die Betriebsunterbrechung dagegen erst, wenn derThe transaction-based file system is preferably a journaling file system. Such file systems are known per se, for example, under the names Extθfs, ReiserFS, XFS and JFS. In the case of journal-leading file systems, the data blocks to be written into the file system initially recorded in a journal. Only when this process has been successfully completed does the actual writing into the file system take place. If an operational interruption occurs while writing to the journal, the entries in the journal are discarded the next time the data medium is started up. However, the business interruption only takes place when the
Schreibvorgang in das Journal vollständig abgeschlossen ist, so werden beim nächsten Hochfahren des Datenträgers die Einträge aus dem Journal in das Dateisystem übertragen.When the writing process to the journal has been completed, the entries from the journal are transferred to the file system the next time the data medium is started up.
Besonders bevorzugt wird ein Betriebsmodus des journalführenden Dateisystems verwendet, in dem nicht nur Metadaten, sondern alle in das Dateisystem zu schreibenden Datenblöcke in dem Journal aufgezeichnet werden. Ein derartiger Betriebsmodus bietet eine vollwertige Transaktionssicherung, die garantiert, daß eine Schreiboperation entweder vollständig ausgeführt oder rückstandsfrei abgebrochen wird. In manchen Ausgestaltungen werden dagegen journalführende Dateisysteme und/ oder Betriebsmodi verwendet, die nur Metadaten, nicht aber die eigentlichen Inhalte, in dem Journal aufzeichnen. In diesem Fall wird bei einer Betriebsunterbrechung nur die Konsistenz der Strukturen des Dateisystems, nicht aber die Konsistenz der gespeicherten Dateien, gewährleistet. Vorzugsweise sollen auch derartige Ausgestaltungen als "transaktionsbasierte Dateisysteme" angesehen werden.An operating mode of the journal-carrying file system is particularly preferably used in which not only metadata but also all data blocks to be written to the file system are recorded in the journal. Such an operating mode offers full transaction protection, which guarantees that a write operation is either carried out completely or is canceled without any residues. In some configurations, on the other hand, journal-leading file systems and / or operating modes are used which only record metadata, but not the actual content, in the journal. In this case, only the consistency of the structures of the file system, but not the consistency of the saved files, is guaranteed in the event of a business interruption. Such configurations should preferably also be regarded as “transaction-based file systems”.
In vorteilhaften Ausgestaltungen wird das mindestens eine Anwendungsprogramm nicht in einem transaktionsbasierten Dateisystem gespeichert. Vielmehr ist für solche Nutzdaten vorzugsweise ein einfaches, speichersparendes Dateisystem vorgesehen, beispielsweise eines der unter den Namen Minix-FS und Flash-FS an sich bekannten Dateisysteme. In bevorzugten Ausführungsformen wird ein Anwendungsprogramm-Datei- system zur Speicherung der Nutzdaten des mindestens einen Anwendungsprogramms simuliert. Aus Sicht des Anwendungsprogramms kann das Anwendungsprogramm-Dateisystem, eine bei tragbaren Datenträgern übliche Struktur, beispielsweise nach ISO/IEC 7816-4, aufweisen. Diese Struktur wird in manchen Ausgestaltungen in dem Dateibaum des Datenträgers beibehalten. Vorzugsweise ist jedoch vorgesehen, daß das Anwendungsprogramm-Dateisystem, in eine einzige Container-Datei oder einige wenige Container-Dateien des Dateibaums abgebildet wird. Zugriffe des Anwen- dungsprogramms auf eine Datei des Anwendungsprogramm-Dateisystems werden dann in entsprechende Zugriffe auf einen mit der Datei korrespondierenden Abschnitt der Container-Datei abgebildet.In advantageous configurations, the at least one application program is not stored in a transaction-based file system. Rather, a simple, memory-saving file system is preferably provided for such user data, for example one of the file systems known per se under the names Minix-FS and Flash-FS. In preferred embodiments, an application program file system for storing the user data of the at least one application program is simulated. From the point of view of the application program, the application program file system can have a structure that is customary for portable data carriers, for example according to ISO / IEC 7816-4. This structure is retained in the file tree of the data carrier in some configurations. However, it is preferably provided that the application program file system is mapped into a single container file or a few container files of the file tree. Accesses by the application program to a file in the application program file system are then mapped to corresponding accesses to a section of the container file that corresponds to the file.
Wie eingangs bereits erwähnt, weist der Datenträger vorzugsweise ein UNIX-artiges Betriebssystem auf. In bevorzugten Ausgestaltungen wird mindestens ein aus dem Linux-Betriebssystem an sich bekanntes Dateisystem in geeignet modifizierter Form eingesetzt. Die Erfindung kann jedoch auch für andere Betriebsysteme eingesetzt werden, bei denen ähnliche Gegebenheiten vorliegen. Insbesondere ist es vorteilhaft, wenn das Betriebs- System einen Mechanismus zum Einbinden unterschiedlicher Dateisysteme in einen Dateibaum aufweist. Ein solcher Mechanismus ist bei dem Linux- Betriebssystem als VFS (virtual filesystem switch) an sich bekannt.As already mentioned at the beginning, the data carrier preferably has a UNIX-like operating system. In preferred embodiments, at least one file system known per se from the Linux operating system is used in a suitably modified form. However, the invention can also be used for other operating systems in which similar circumstances exist. It is particularly advantageous if the operating system has a mechanism for integrating different file systems into a file tree. Such a mechanism is known per se in the Linux operating system as VFS (virtual filesystem switch).
Der erfindungsgemäße Datenträger ist gemäß einem ersten Aspekt dazu eingerichtet, ein erfindungsgemäßes Verfahren zur Organisation eines Dateibaums auszuführen. Gemäß einem zweiten Aspekt enthält der Datenträger einen Dateibaum, der durch ein erfindungsgemäßes Verfahren generierbar ist oder generiert wurde. In bevorzugten Ausgestaltungen weisen der Datenträger und/ oder das Computerprogrammprodukt Merkmale auf, die den oben beschriebenen und/ oder den in den abhängigen Verfahrensansprüchen genannten Merkmalen entsprechen.According to a first aspect, the data carrier according to the invention is set up to carry out a method according to the invention for organizing a file tree. According to a second aspect, the data carrier contains a file tree which can be generated or was generated by a method according to the invention. In preferred configurations, the data carrier and / or the computer program product have features that correspond to the described above and / or correspond to the features mentioned in the dependent method claims.
Das erfindungsgemäße Computerprogrammprodukt kann ein körperliches Medium mit gespeicherten Programmbefehlen sein, beispielsweise ein Halbleiterspeicher oder eine Diskette oder eine CD-ROM. Das Computerpro- grammprodukt kann jedoch auch ein nicht-körperliches Medium sein, beispielsweise ein über ein Computernetzwerk übermitteltes Signal. Insbesondere kann das Cornputerprogrammprodukt ein Betriebssystem oder ein Betriebssystemmodul enthalten, das im Zuge der Herstellung oder der Initialisierung oder der Personalisierung eines tragbaren Datenträgers in diesen eingebracht wird.The computer program product according to the invention can be a physical medium with stored program instructions, for example a semiconductor memory or a floppy disk or a CD-ROM. However, the computer program product can also be a non-physical medium, for example a signal transmitted over a computer network. In particular, the computer program product can contain an operating system or an operating system module which is introduced into the portable data carrier in the course of the manufacture or initialization or personalization thereof.
Weitere Merkmale, Vorteile und Aufgaben der Erfindung gehen aus der folgenden Beschreibung eines Ausführungsbeispiels und mehrerer Ausführungsalternativen hervor. Es wird auf die Zeichnung verwiesen.Further features, advantages and objects of the invention will become apparent from the following description of an exemplary embodiment and several alternative embodiments. Reference is made to the drawing.
Fig. 1 als einzige Zeichnungsfigur zeigt ein Blockdiagramm eines Datenträgers nach einem Ausführungsbeispiel der Erfindung.Fig. 1 as the only drawing figure shows a block diagram of a data carrier according to an embodiment of the invention.
Der in Fig. 1 dargestellte Datenträger 10 weist auf einem einzigen Halbleiter- chip einen Prozessor 12, einen Speicher 14 und eine Schnittstellenschaltung 16 zur kontaktlosen oder kontaktgebundenen Kommunikation mit einem externen Terminal (nicht gezeigt) auf. Der Speicher 14 ist in mehrere Speicher- f eider unterteilt. Im vorliegenden Ausführungsbeispiel sind als Speicherfelder ein als RAM ausgestalteter Arbeitsspeicher 18, ein als ROM ausgestalteter Festwertspeicher 20 und ein als EEPROM ausgestalteter, nicht-flüchtiger Speicher 22 vorgesehen. Im Speicher 14 - und zwar teils im Festwertspeicher 20 und teils im nicht- flüchtigen Speicher 22 - befindet sich Programmcode, der ein Betriebssystem 24 implementiert. Das Betriebssystem 24 ist im vorliegenden Ausführungsbeispiel eine auf den Einsatz im Datenträger 10 zugeschnittene Variante des unter der Marke Linux bekannten Betriebssystems. Insbesondere ist das Betriebssystem 24 an die erhebliche Ressourcenbeschränkung des Datenträgers 10 im Hinblick auf die Rechenleistung des Prozessors 12 und die Größe des Speichers 14 angepaßt.The data carrier 10 shown in FIG. 1 has a processor 12, a memory 14 and an interface circuit 16 for contactless or contact-based communication with an external terminal (not shown) on a single semiconductor chip. The memory 14 is subdivided into several memory fiders. In the present exemplary embodiment, a working memory 18 configured as RAM, a read-only memory 20 configured as ROM and a non-volatile memory 22 configured as EEPROM are provided as memory fields. In the memory 14 - partly in the read-only memory 20 and partly in the non-volatile memory 22 - there is program code which implements an operating system 24. In the present exemplary embodiment, the operating system 24 is a variant of the operating system known under the Linux brand, tailored to use in the data carrier 10. In particular, the operating system 24 is adapted to the considerable resource limitation of the data carrier 10 with regard to the computing power of the processor 12 and the size of the memory 14.
Der nicht-flüchtige Speicher 22 enthält Datenstrukturen, die einen Dateibaum 26 bilden. Der Dateibaum 26 weist die für UNIX-Systeme übliche Struktur mit einer durch einen Schrägstrich "/" bezeichneten Wurzel und hierarchisch gegliederten Verzeichnissen und Dateien auf. In Fig. 1 sind beispielhaft ein Verzeichnis "etc" für Konfigurationsdateien und ein Verzeichnis "bin" für diverse systemnahe Programme gezeigt. Weitere Strukturen des Dateibaums 26 sind z.B. Querverweise (links) und Gerätedateien (deυice files), über die Ein- und Ausgabevorgänge des Datenträgers 10 durchgeführt werden.The non-volatile memory 22 contains data structures that form a file tree 26. The file tree 26 has the structure customary for UNIX systems with a root identified by a slash "/" and hierarchically structured directories and files. 1 shows an example of a directory "etc" for configuration files and a directory "bin" for various system-related programs. Other structures of the file tree 26 are e.g. Cross references (left) and device files (deυice files) via which the input and output operations of the data carrier 10 are carried out.
In den Dateibaum 26 sind ein erstes und ein zweites Dateisystem 28, 30 eingebunden. Das erste Dateisystem 28 ist ein speichersparendes, nicht-trans- aktionsbasiertes und nicht-journalführendes Dateisystem, beispielsweise das an sich bekannte Minix-Dateisystem. Das zweite Dateisystem 30 ist dagegen als leistungsfähiges, transaktionsbasiertes Dateisystem ausgestaltet. Im vor- liegenden Ausführungsbeispiel ist das zweite Dateisystem 30 ein journalführendes Dateisystem, z.B. das unter dem Namen JFS bekannte Dateisystem. In Ausführungsalternativen ist die Verwendung anderer Dateisysteme vorgesehen. Insbesondere können als zweites Dateisystem 30 andere Journal- führende Dateisysteme eingesetzt werden, die Aufgaben der Transaktionssicherung vollständig oder teilweise übernehmen.A first and a second file system 28, 30 are integrated into the file tree 26. The first file system 28 is a memory-saving, non-transaction-based and non-journal-keeping file system, for example the Minix file system known per se. In contrast, the second file system 30 is designed as a powerful, transaction-based file system. In the present exemplary embodiment, the second file system 30 is a journal-leading file system, for example the file system known under the name JFS. In alternative versions, the use of other file systems is provided. In particular, other journal systems 30 leading file systems are used, which take over the tasks of transaction security completely or partially.
Das Einbinden (mounting) der Dateisysteme 28, 30 in den Dateibaum 26 erfolgt durch einen an sich bekannten Dienst des Betriebssystems 24. Durch eine unter dem Namen VFS (υirtual filesystem switch) bekannte Softwareschicht des Betriebssystems 24 wird ferner erreicht, daß auf die Dateisysteme 28, 30 völlig transparent - also unabhängig von der unterschiedlichen Technologie der Dateisysteme 28, 30 - zugegriffen werden kann. Der VFS stellt dazu eine Reihe vor definierter Zugriffsoperationen bereit, die einheitlich für den gesamten Dateibaum 26 anwendbar sind und die in die tatsächlich für die Dateisysteme 28, 30 vorhandenen Zugriffsoperationen umgesetzt werden.The mounting (mounting) of the file systems 28, 30 into the file tree 26 is carried out by a service of the operating system 24 which is known per se. A software layer of the operating system 24 known as VFS (virtual filesystem switch) also ensures that the file systems 28 , 30 can be accessed completely transparently - that is, regardless of the different technology of the file systems 28, 30. For this purpose, the VFS provides a series of predefined access operations which can be used uniformly for the entire file tree 26 and which are implemented in the access operations actually available for the file systems 28, 30.
In Fig. 1 ist beispielhaft ein Anwendungsprogramm 32 gezeigt, das als Datei im ersten Dateisystem 28 gespeichert ist. Das Anwendungsprogramm 32 implementiert eine Applikation des Datenträgers 10, z.B. eine Applikation als persönliche Geldbörse. Es versteht sich, daß weitere Anwendungsprogramme vorgesehen sein können. Das Anwendungsprogramm.32 setzt zur Speicherung von Nutzdaten 34, 34' ein auf dem Gebiet der Chipkarten übliches Anwendungsprogramm-Dateisystem 36 voraus. Im vorliegenden Ausführungsbeispiel ist das Anwendungsprogramm-Dateisystem 36 gemäß der Norm ISO/IEC 7816-4 mit einem Wurzelverzeichnis MF (masterfile), weiteren Verzeichnissen DF (dedicated file) und Dateien EF (elementary file) für die Nutzdaten 34, 34' ausgestaltet.1 shows an example of an application program 32 that is stored as a file in the first file system 28. The application program 32 implements an application of the data carrier 10, e.g. an application as a personal wallet. It is understood that further application programs can be provided. The application program 32 requires an application program file system 36 which is customary in the field of chip cards for storing useful data 34, 34 '. In the present exemplary embodiment, the application program file system 36 is designed in accordance with the ISO / IEC 7816-4 standard with a root directory MF (master file), further directories DF (dedicated file) and files EF (elementary file) for the useful data 34, 34 '.
Das Anwendungsprogramm-Dateisystem 36 ist im vorliegenden Ausführungsbeispiel in dem zweiten, transaktionsbasierten Dateisystem 30 angelegt. Allerdings spiegelt sich die Verzeichnis- und Dateistruktur des Anwen- dungsprogramm-Dateisystems 36 nicht in einer entsprechenden Struktur des zweiten Dateisystems 30 wider. Vielmehr ist im vorliegenden Ausführungsbeispiel eine einzige Datei im zweiten Dateisystem 30 vorgesehen, die das gesamte Anwendungsprogramm-Dateisystem 36 einschließlich aller Nutz- daten 34, 34' enthält und daher als Container-Datei 38 bezeichnet wird. Jeder Datei des Anwendungsprogramm-Dateisystems 36 - und in manchen Ausgestaltungen auch jedem Ordner - entspricht je ein Abschnitt der Container- Datei 38. Die Container-Datei 38 weist damit eine interne Struktur auf, die der Struktur des AnwendungspiOgramm-Dateisystems 36 entspricht.In the present exemplary embodiment, the application program file system 36 is created in the second, transaction-based file system 30. However, the directory and file structure of the user is reflected application program file system 36 is not reflected in a corresponding structure of the second file system 30. Rather, in the present exemplary embodiment, a single file is provided in the second file system 30, which contains the entire application program file system 36 including all user data 34, 34 'and is therefore referred to as a container file 38. Each file of the application program file system 36 - and in some embodiments also each folder - corresponds to a section of the container file 38. The container file 38 thus has an internal structure which corresponds to the structure of the application program file system 36.
Ein Umsetzmodul 40, das in das Betriebssystem 24 integriert oder an dieses angebunden ist, simuliert das Anwendungsprogramm-Dateisystem 36 auf für das Anwendungsprogramm 32 völlig transparente Weise. Zugriffsoperationen, die das Anwendungsprogramm 32 auf Grundlage des Anwendungs- programm-Dateisystems 36 aufruft, werden vom Umsetzmodul 40 in entsprechende Zugriffe auf die jeweiligen Abschnitte der Container-Datei 38 umgesetzt, und die jeweiligen Resultate werden an das Anwendungsprogramm 32 zurückgegeben. In Ausführungsalternativen sind statt einer einzigen Container-Datei 38 mehrere Container-Dateien vorgesehen. Ferner sind auch Ausgestaltungen vorgesehen, bei denen das Anwendungsprogramm-Dateisystem 36 in eine entsprechende Struktur im zweiten Dateisystem 30 abgebildet wird.A conversion module 40, which is integrated into or connected to the operating system 24, simulates the application program file system 36 in a manner that is completely transparent to the application program 32. Access operations that the application program 32 calls based on the application program file system 36 are converted by the conversion module 40 into corresponding accesses to the respective sections of the container file 38, and the respective results are returned to the application program 32. In alternative embodiments, multiple container files are provided instead of a single container file 38. Embodiments are also provided in which the application program file system 36 is mapped into a corresponding structure in the second file system 30.
Durch die Ausgestaltung des zweiten Dateisystems 30 als transaktions- basiertes, journalführendes Dateisystem wird jede Schreiboperation in die Container-Datei 38 zunächst in einem im nicht-flüchtigen Speicher 22 angelegten Journal (in Fig. 1 nicht gezeigt) vermerkt. Wenn während eines der beiden Schreibvorgänge in das Journal bzw. in die Container-Datei 38 eine unerwartete Betriebsunterbrechung auftritt, kann entweder das Journal oder die Container-Datei 38 eine inkonsistente Struktur oder einen inkonsistenten Inhalt aufweisen. Dies wird beim nächsten Hochfahren des Datenträgers 10 erkannt. Bei einem beschädigten Journal werden die darin enthaltenen Einträge verworfen. Bei einer beschädigten Container-Datei 38 wird die Schreib- Operation in die Container-Datei 38 gemäß dem Inhalt des Journals abgeschlossen. Eine genauere Darstellung dieses Vorgangs am Beispiel des Ext3- Dateisystems findet sich auf den Seiten 600 - 607 des eingangs zitierten Buches "Under standing the Linux Kernel".By designing the second file system 30 as a transaction-based, journal-leading file system, each write operation to the container file 38 is first noted in a journal (not shown in FIG. 1) that is stored in the non-volatile memory 22. If an unexpected interrupt occurs during one of the two writes to the journal or container file 38, either the journal or container file 38 has an inconsistent structure or content. This is recognized the next time the data carrier 10 is started up. If the journal is damaged, the entries in it are discarded. If the container file 38 is damaged, the write operation to the container file 38 is completed in accordance with the contents of the journal. A more detailed description of this process using the example of the Ext3 file system can be found on pages 600 - 607 of the book "Under standing the Linux Kernel" cited at the beginning.
In unterschiedlichen Ausgestaltungen umfaßt die vom zweiten Dateisystem 30 bereitgestellte Transaktionssicherung entweder alle in das zweite Dateisystem 30 einzuschreibenden Datenblöcke oder nur Metadaten, die die Struktur des zweiten Dateisystems 30 betreffen. Wenn nur Metadaten in das Journal aufgenommen werden, kann die Container-Datei 38 nach einer Betriebsunterbrechung des Datenträgers 10 einen teils neuen und teils alten Inhalt aufweisen. In diesen Ausgestaltungen sind daher zusätzliche Sicherungsmaßnahmen seitens des Anwendungsprogramms 32 und/ oder des Umsetzmoduls 40 erforderlich. Eine vollständige Transaktionssicherung wird dagegen in Ausgestaltungen erreicht, bei denen das Journal den gesam- ten durch eine Schreiboperation zu ändernden Dateiinhalt und alle zu ändernden Metadaten protokolliert.In various configurations, the transaction backup provided by the second file system 30 comprises either all data blocks to be written into the second file system 30 or only metadata relating to the structure of the second file system 30. If only metadata is included in the journal, the container file 38 can have partly new and partly old content after the data carrier 10 has been interrupted. In these configurations, additional security measures on the part of the application program 32 and / or the conversion module 40 are therefore required. In contrast, complete transaction protection is achieved in configurations in which the journal logs the entire file content to be changed by a write operation and all the metadata to be changed.
In dem in Fig. 1 gezeigten Ausführungsbeispiel wird derjenige Teil des . Dateibaumes 26, der nicht von den Dateisystemen 28, 30 eingenommen wird, durch ein weiteres Dateisystem - z.B. ein ext2-Dateisystem - gebildet. Es sind jedoch auch Ausgestaltungen vorgesehen, bei denen die Dateisysteme 28, 30 den Dateibaum 26 vollständig aufspannen, so daß kein weiteres Dateisystem erforderlich ist. Ferner ist in manchen Ausgestaltungen statt der zwei Dateisysteme 28, 30 für das Anwendungsprogramm 32 und die Container- Datei 38 ein einziges, transaktionsbasiertes Dateisystem vorgesehen. Auch in solchen Ausgestaltungen kann der Dateibaum 26 entweder weitere Dateisysteme aufweisen oder ausschließlich durch das transaktionsbasierte Dateisystem gebildet sein. In the embodiment shown in Fig. 1 that part of. File tree 26, which is not occupied by the file systems 28, 30, is formed by a further file system - for example an ext2 file system. However, configurations are also provided in which the file systems 28, 30 span the file tree 26 completely, so that no further file system is required. Furthermore, in some configurations, instead of the two file systems 28, 30 for the application program 32 and the container File 38 provided a single, transaction-based file system. In such configurations, too, the file tree 26 can either have further file systems or be formed exclusively by the transaction-based file system.

Claims

P a t e n t a n s p r ü c h e Patent claims
1. Verfahren zur Organisation eines Dateibaums (26) bei einem tragbaren Datenträger (10), dadurch gekennzeichnet, daß in den Dateibaum (26) mindestens ein transaktionsbasiertes Dateisystem (30) eingebunden wird.1. A method for organizing a file tree (26) in a portable data carrier (10), characterized in that at least one transaction-based file system (30) is integrated in the file tree (26).
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß das transaktionsbasierte Dateisystem (30) zumindest teilweise zur Speicherung von Nutzdaten (34, 34') für mindestens ein Anwendungsprogramm (32) dient.2. The method according to claim 1, characterized in that the transaction-based file system (30) is used at least partially for storing useful data (34, 34 ') for at least one application program (32).
3. Verfahren nach Anspruch 2, dadurch gekennzeichnet, daß das mindestens eine Anwendungsprogramm (32) zumindest überwie- gend in einem weiteren Dateisystem (28) gespeichert ist, das in den Dateibaum (26) eingebunden und in einer zum transaktions- basierten Dateisystem (30) unterschiedlichen Technologie ausgestaltet ist.3. The method according to claim 2, characterized in that the at least one application program (32) is at least predominantly stored in a further file system (28) which is integrated in the file tree (26) and in a transaction-based file system (30 ) different technology is designed.
4. Verfahren nach Anspruch 3, dadurch gekennzeichnet, daß ein Anwendungsprogramm-Dateisystem (36) zur Speicherung der Nutzdaten (34, 34') für das mindestens eine Anwendungsprogramm (32) simuliert wird, indem Zugriffsoperationen des mindestens einen Anwendungsprogramms (32), die auf das Anwen- dungsprogramm-Dateisystem (36) ausgerichtet sind, in Zugriffe auf mindestens eine Container-Datei (38) des transaktionsbasier- ten Dateisystems (30) abgebildet werden. 4. The method according to claim 3, characterized in that an application program file system (36) for storing the user data (34, 34 ') for the at least one application program (32) is simulated by access operations of the at least one application program (32) are oriented towards the application program file system (36) and are mapped into accesses to at least one container file (38) of the transaction-based file system (30).
5. Verfahren nach Anspruch 4, dadurch gekennzeichnet, daß mehrere Dateien (EF) des simulierten Anwendungsprogramm- Dateisystems (36) in einer einzigen Container-Datei (38) des transaktionsbasierten Dateisystems (30) gespeichert werden.5. The method according to claim 4, characterized in that a plurality of files (EF) of the simulated application program file system (36) are stored in a single container file (38) of the transaction-based file system (30).
6. Verfahren zur Organisation eines Dateibaums (26) bei einem tragbaren Datenträger (10), dadurch gekennzeichnet, daß in den Dateibaum (26) mindestens zwei in unterschiedlichen Technologien ausgestaltete Dateisysteme (28, 30) eingebunden werden, von denen ein erstes Dateisystem (28) zumindest teilweise zur Speicherung mindestens eines Anwendungsprogramms (32) dient und ein zweites Dateisystem (30) zumindest teilweise zur Speicherung von Nutzdaten (34, 34') für das mindestens eine Anwendungsprogramm (32) dient.6. A method for organizing a file tree (26) in a portable data carrier (10), characterized in that in the file tree (26) at least two file systems (28, 30) configured in different technologies are integrated, of which a first file system (28 ) is used at least partially to store at least one application program (32) and a second file system (30) is used at least partially to store user data (34, 34 ') for the at least one application program (32).
7. Verfahren nach Anspruch 6, dadurch gekennzeichnet, daß das zweite Dateisystem (30) ein transaktionsbasiertes Dateisystem ist.7. The method according to claim 6, characterized in that the second file system (30) is a transaction-based file system.
8. Verfahren nach Anspruch 6 oder Anspruch 7, dadurch gekenn- zeichnet, daß ein Anwendungsprogramm-Dateisystem (36) zur Speicherung der Nutzdaten (34, 34') für das mindestens eine Anwendungsprogramm (32) simuliert wird, indem Zugriffsoperationen des mindestens einen Anwendungsprogramms (32), die auf das Anwendungsprogramm-Dateisystem (36) ausgerichtet sind, in Zugriffe auf mindestens eine Container-Datei (38) des zweiten Dateisystems (30) abgebildet werden.8. The method according to claim 6 or claim 7, characterized in that an application program file system (36) for storing the user data (34, 34 ') for the at least one application program (32) is simulated by access operations of the at least one application program (32), which are aimed at the application program file system (36), are mapped into accesses to at least one container file (38) of the second file system (30).
9. Verfahren nach Anspruch 8, dadurch gekennzeichnet, daß mehrere Dateien (EF) des simulierten Anwendungsprogramm- Dateisystems (36) in einer einzigen Container-Datei (38) des zweiten Dateisystems (30) gespeichert werden.9. The method according to claim 8, characterized in that several files (EF) of the simulated application program File system (36) can be stored in a single container file (38) of the second file system (30).
10. Verfahren nach einem der Ansprüche 1 bis 9, dadurch gekenn- zeichnet, daß das Anwendungsprogramm-Dateisystem (36) ein Dateisystem gemäß ISO/IEC 7816-4 ist.10. The method according to any one of claims 1 to 9, characterized in that the application program file system (36) is a file system according to ISO / IEC 7816-4.
11. Verfahren nach einem der Ansprüche 1 bis 10, dadurch gekennzeichnet, daß der Datenträger (10) ein UNIX-artiges Betriebs- System (24), insbesondere ein Linux-Betriebssystem aufweist.11. The method according to any one of claims 1 to 10, characterized in that the data carrier (10) has a UNIX-like operating system (24), in particular a Linux operating system.
12. Tragbarer Datenträger (10), insbesondere Chipkarte oder Chipmodul, mit einem Prozessor (12) und mindestens einem Speicher (14), wobei der Speicher (14) Prograrrimbefehle enthält, die den Prozessor (12) zur Ausführung eines Verfahrens nach einem der Ansprüche 1 bis 11 veranlassen.12. Portable data carrier (10), in particular chip card or chip module, with a processor (12) and at least one memory (14), the memory (14) containing program instructions which the processor (12) has to carry out a method according to one of the claims Initiate 1 to 11.
13. Tragbarer Datenträger (10), insbesondere Chipkarte oder Chipmodul, mit einem Prozessor (12) und mindestens einem Speicher (14), wobei der Speicher (14) einen Dateibaum (26) enthält, der durch ein Verfahren nach einem der Ansprüche 1 bis 11 generierbar ist.13. A portable data carrier (10), in particular a chip card or chip module, with a processor (12) and at least one memory (14), the memory (14) containing a file tree (26), which by a method according to one of claims 1 to 11 can be generated.
14. Computerprogrammprodukt, das maschinenlesbare Programm- befehle für einen Prozessor (12) eines tragbaren Datenträgers (10) aufweist, die den Prozessor (12) zur Ausführung eines Verfahrens nach einem der Ansprüche 1 bis 11 veranlassen. 14. Computer program product which has machine-readable program instructions for a processor (12) of a portable data carrier (10), which cause the processor (12) to carry out a method according to one of claims 1 to 11.
PCT/EP2004/009417 2003-08-26 2004-08-23 Organization of a file tree for a portable data carrier WO2005022405A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
EP04764398A EP1661042A1 (en) 2003-08-26 2004-08-23 Organization of a file tree for a portable data carrier

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE10339203.3 2003-08-26
DE10339203A DE10339203A1 (en) 2003-08-26 2003-08-26 Organization of a file tree on a portable data carrier

Publications (1)

Publication Number Publication Date
WO2005022405A1 true WO2005022405A1 (en) 2005-03-10

Family

ID=34223162

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2004/009417 WO2005022405A1 (en) 2003-08-26 2004-08-23 Organization of a file tree for a portable data carrier

Country Status (3)

Country Link
EP (1) EP1661042A1 (en)
DE (1) DE10339203A1 (en)
WO (1) WO2005022405A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2060972A2 (en) 2007-11-16 2009-05-20 Giesecke & Devrient GmbH Method for accessing a mass memory on a portable data medium and portable data medium

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5636357A (en) * 1994-12-21 1997-06-03 Eurotronics Company Memory card and method for operation in a plurality of systems having incompatible object code format requirements
US5664189A (en) * 1993-11-24 1997-09-02 Menai Corporation Method and apparatus for providing object-oriented file structuring system on a computer
US5752005A (en) * 1996-01-22 1998-05-12 Microtest, Inc. Foreign file system establishing method which uses a native file system virtual device driver

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5664189A (en) * 1993-11-24 1997-09-02 Menai Corporation Method and apparatus for providing object-oriented file structuring system on a computer
US5636357A (en) * 1994-12-21 1997-06-03 Eurotronics Company Memory card and method for operation in a plurality of systems having incompatible object code format requirements
US5752005A (en) * 1996-01-22 1998-05-12 Microtest, Inc. Foreign file system establishing method which uses a native file system virtual device driver

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
BRAKE, C., SUTHERLAND, J.: "Flash Filesystems for Embedded Linux Systems", LINUXDEVICES.COM, July 2001 (2001-07-01), pages 1 - 8, XP002308352, Retrieved from the Internet <URL:www.linuxdevices.com/articles/AT7478621147.html> [retrieved on 20041130] *
HUSEMANN D: "Standards in the smart card world", COMPUTER NETWORKS, ELSEVIER SCIENCE PUBLISHERS B.V., AMSTERDAM, NL, vol. 36, no. 4, 16 July 2001 (2001-07-16), pages 473 - 487, XP004304910, ISSN: 1389-1286 *
RANKL W ED - RANKL W ET AL: "Handbuch der Chipkarten, PASSAGE", HANDBUCH DER CHIPKARTEN. AUFBAU - FUNKTIONSWEISE - EINSATZ VON SMART CARDS, MUENCHEN : CARL HANSER VERLAG, DE, 1999, pages 222 - 249, XP002258630, ISBN: 3-446-21115-2 *
See also references of EP1661042A1 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2060972A2 (en) 2007-11-16 2009-05-20 Giesecke & Devrient GmbH Method for accessing a mass memory on a portable data medium and portable data medium
DE102007054841A1 (en) 2007-11-16 2009-05-20 Giesecke & Devrient Gmbh A method for accessing a mass storage of a portable data carrier and portable data carrier

Also Published As

Publication number Publication date
EP1661042A1 (en) 2006-05-31
DE10339203A1 (en) 2005-03-31

Similar Documents

Publication Publication Date Title
DE3127825C2 (en)
EP1088280B1 (en) Method and system for fast memory-resident processing of transaction data
DE4435751B4 (en) Filename and directory detection method for use with an operating system
DE602004007793T2 (en) SYSTEM AND METHOD FOR MANAGING BACKUP MEDIA IN A DATA PROCESSING ENVIRONMENT
DE60306674T2 (en) METHOD AND SYSTEMS FOR REGULATING ACCESS TO A DATA OBJECT BY LOCKING
DE3807997A1 (en) IC CARD WITH INTERNAL ERROR CHECK
DE102005037855A1 (en) System and method for storing user data in a partition file or for using a partition file containing user data
EP0811204B1 (en) Processing of long messages in a chip card
DE19645128C2 (en) Procedure for managing documents and device drivers for performing the procedure
DE19954532A1 (en) Storing JAVA objects in device of limited resources such as smart card uses extend form of interface based on added item included serialization of objects in format useable by card
DE60315291T2 (en) Computer system and method of operating a computer system
DE19933584A1 (en) Process for the compact presentation of information packets and their storage or transmission
WO2005022405A1 (en) Organization of a file tree for a portable data carrier
DE60210118T2 (en) SAFETY DEVICE FOR MASS STORAGE
EP2264626B1 (en) Method and device for efficient searching for at least one query data element
DE10141926B4 (en) Method for backing up the data of a data storage device
WO2007006457A1 (en) Management of applications in a mobile data carrier
DE69935317T2 (en) PROCESS FOR CHANGING A MULTIPLE OF NON-VOLATILE MEMORY LOCATIONS OF A CHIP CARD, IN PARTICULAR A CARD WITHOUT CONTACT
DE102007029343A1 (en) Telephone directory entries e.g. name, storing method for mobile telephone, involves attaching additional phonebook set as directory in reserved directory for storing entries such that maximum number of short file identifiers is provided
DE102018220224A1 (en) Method for tamper-proof storage of data in an electronic memory using a chained blockchain structure
DE10134973A1 (en) Storage of external files, e.g. from a PC, in a chip card file system, such that the files can be read back from the chip card by a reader in an unaltered format, thereby allowing a chip card to be used as a storage medium
EP1642245A1 (en) Memory management in a portable data carrier
EP1359506A2 (en) Determining key data regarding the duration of database recovery processes
EP2290561B1 (en) Method and device for saving and restoring electronic documents and databases
DE102022000967A1 (en) Method for storing data that is organized in a tree structure and stored in a memory of a computer system, the memory repeatedly securing a hash of the current root object of the tree structure via a timestamp service

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): BW GH GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2004764398

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 2004764398

Country of ref document: EP