-
Technisches
Gebiet
-
Die
vorliegende Erfindung betrifft eine IC Karte, die einen nicht-flüchtigen
und einen flüchtigen Speicher
hat, und Prozesse in Übereinstimmung
mit einer extern installierten Anwendung ausführt, und ein Verwaltungsverfahren
eines flüchtigen
Speichers in der IC Karte.
-
Stand der
Technik
-
In
den vergangenen Jahren ist eine Umgebung (Java) aufgetaucht, die
verwendet wird, um ein Programm in einem Netzwerk, beispielsweise
dem Internet oder dergleichen, auszuführen, und wird zunehmend vorherrschend
zusammen mit dem gegenwärtigen
Internetboom. Folglich wird eine IC Karte, die eine derartige Umgebung
integriert, entwickelt.
-
In
Java läuft
eine Anwendung (als „Applet" bezeichnet), die
unter Verwendung der Java Sprache erzeugt wird, auf irgendeiner
Vorrichtung, die ein Java API (Application Interface) enthält, also
unabhängig
von dem Typ der Vorrichtung (beispielsweise ein Personal Computer,
ein tragbares Endgerät
und dergleichen), solange sie ein Java API hat. Nur ein erforderliches
Java Applet kann von dem Netzwerk heruntergeladen und verwendet
werden, falls es notwendig ist.
-
Aus
diesem Grund wird eine IC Karte (Java Karte), für die die oben genannten Vorzüge von Java verwendet
werden, durch Installieren einer Anwendung in der IC Karte, die
unter Verwendung der Java Sprache entwickelt ist, vorgeschlagen.
-
Beispielsweise
werden eine Anwendung für eine
Kreditkarte und für
eine Kundenkarte installiert, um eine IC Karte bereitzustellen,
die diese beiden Funktionen implementieren kann.
-
In
einer derartigen IC Karte werden die Initialisierungsdaten für jeweilige
Anwendungen heruntergeladen und in einem nicht-flüchtigen
Speicher gespeichert, und ein Bereich zum Speichern von Objekten
und dergleichen, die bei der Verarbeitung der Anwendung erzeugt
werden, wird für
jede Anwendung vorbereitet.
-
In
diesem Fall werden nicht-flüchtige
und flüchtige
Speicherobjekte erzeugt. Ein nichtflüchtiges Objekt wird in einem
Bereich gespeichert, der in dem nicht-flüchtigen Speicher bereitgestellt
wird, und ein flüchtiges
Objekt wird in einem Bereich gespeichert, der in einem flüchtigen
Speicher bereitgestellt ist. Stapeldaten, wie beispielsweise ein
Bestätigungscode
oder dergleichen, die bei einem Energie-AUS gelöscht werden können, werden
auch in dem flüchtigen
Speicher gespeichert.
-
In
dieser Anordnung ist es jedoch unmöglich die Adresse des flüchtigen
Speichers zu bestimmen, wo das flüchtige Objekt zu speichern
ist. Es ist auch erwünscht,
dass die Anwendungsseite den Speicherort eines flüchtigen
Objekts nicht verwalten muss.
-
In
der IC Karte wird der flüchtige
Speicher als Arbeitsspeicher für
eine interne Steuerung verwendet. In derartigen herkömmlichen
IC Karten wird ein flüchtiges
Objekt von der größten Adresse
aus in Stapelwachsrichtung zugewiesen, und ein Stapel wird garantiert
von der untersten Adresse des flüchtigen Speichers
aus.
-
In
der IC Karte, in der eine Anwendung installiert ist, wie oben beschrieben,
ist es erwünscht nicht-flüchtige Objekte
während
des Laufens der Anwendung zu erzeugen. Derartige dynamischen flüchtigen
Objekte werden einem Bereich zugewiesen, der höher ist als der Stapel in dem
flüchtigen
Speicher.
-
Wenn
ein flüchtiger
Speicher derart verwendet wird, kann das Stapelwachsen die flüchtigen
Objekte übergreifen.
Um ein derartiges Übergreifen
zu vermeiden, kann ein Verfahren verwendet werden zum Verwenden
eines Stapels, nachdem er geprüft worden
ist, ob ein Stapelwachsen möglich
ist. Ein derartiges Verfahren ist jedoch nicht wirkungsvoll, und
die Stapelverwendungsgröße jedes
Prozesses muss im Voraus detektiert werden.
-
Die
Stapelverbrauchsgröße jedes
Anwendungsprozesses ist nicht auf diesen Prozess eingeschränkt, hängt jedoch
oft von ihrer Prozesshistorie ab. In dieser Art und Weise kann die
maximale Stapelverwendungsgröße detektiert
werden, aber es ist sehr schwer, eine Stapelverwendungsgröße in dem augenblicklichen
Prozess zu erhalten.
-
Die
WO 98/52152 A offenbart eine Multi-Anwendungs IC Karte, die Anwendungen
in einer Laufzeitumgebung laufen lässt. Die Karte enthält einen flüchtigen
Speicher und einen ständigen
Speicher. Der Speicher ist unterteilt in einen Programmcoderaum – dauerhaft
und in einen Datenraum – für beides,
flüchtige
als auch dauerhafte Daten.
-
Die
WO 99/40548 A offenbart ein Multi-Anwendungs Kartensystem, das eine
IC Karte enthält, die
einen flüchtigen
und einen dauerhaften Speicher aufweist. Die Programmanweisungen
und ein Betriebssystem werden in dem dauerhaften Speicher zum Herstellungszeitpunkt
und zum Personalisierungszeitpunkt gespeichert, und eine Adressentabelle,
die Zeiger auf Anwendungen enthält,
ist in dem dauerhaften Speicher gespeichert.
-
Die
EP-A1-0955577 offenbart ein Verfahren und eine Vorrichtung zum Erzeugen
eines Objekts in einem nicht-flüchtigen
Speicher und zum Zugreifen auf dieses Objekt. Anwendungen werden
in dem ROM während
des Produktionsprozesses gespeichert, oder können in ein EEPROM zu einem
späteren
Zeitpunkt geladen werden. Anwendungen sind in der Lage, Objekte
sowohl in dem dauerhaften als auch in dem flüchtigen Speicher zu erzeugen,
zu manipulieren und zu speichern.
-
Es
ist eine Aufgabe der vorliegenden Erfindung eine IC Karte zu schaffen,
die einen nichtflüchtigen
und einen flüchtigen
Speicher aufweist, einen Prozess ausführt durch eine extern installierte
Anwendung, ein nicht-flüchtiges
Objekt, das durch die Anwendung erzeugt wird, in dem nicht-flüchtigen Speicher
speichert und ein flüchtiges
Objekt, das durch die Anwendung erzeugt wird, in dem flüchtigen Speicher
speichert, wobei ein Zugriff erfolgen kann unabhängig davon, ob ein Objekt,
das durch die Anwendung erzeugt und gespeichert worden ist, flüchtig oder
nicht-flüchtig
ist.
-
Eine
andere Aufgabe der vorliegenden Erfindung ist die effiziente Verwendung
eines flüchtigen Speichers.
-
Es
ist eine weitere Aufgabe der vorliegenden Erfindung einen einfachen
Hochgeschwindigkeitsprozess zu erhalten.
-
Diese
Aufgaben werden gemäß den unabhängigen Ansprüchen gelöst. Weiterentwicklungen sind
in den Unteransprüchen
angegeben.
-
Gemäß der vorliegenden
Erfindung wird in einer IC Karte, die einen nicht-flüchtigen
Speicher zum Speichern von nicht-flüchtigen Daten und einen flüchtigen
Speicher zum Speichern von flüchtigen Daten
aufweist, und einen Prozess durch eine extern installierte Anwendung
ausführt,
die Anwendung in dem nicht-flüchtigen
Speicher gespeichert, die nicht-flüchtigen Daten, die durch die
Anwendung erzeugt werden, werden in dem nicht-flüchtigen Speicher gespeichert,
die flüchtigen
Daten, die zu den nicht-flüchtigen
Daten, die durch die Anwendung erzeugt werden, gehören, werden
in dem flüchtigen Speicher
gespeichert, eine Speicheradresse des nicht-flüchtigen Speichers, die den
nicht-flüchtigen Daten
entspricht, und eine Speicheradresse des flüchtigen Speichers, die den
flüchtigen
Daten entspricht, die zu diesen nichtflüchtigen Daten gehören, werden
in einer Verwaltungstabelle in einer Entsprechung zueinander gespeichert,
wenn eine Speicheradresse des nicht-flüchtigen Speichers durch die
Anwendung bestimmt wird, auf nicht-flüchtige Daten an der Speicheradresse
des nicht-flüchtigen
Speichers wird zugegriffen, und die Speicheradresse des flüchtigen
Speichers, die dieser Speicheradresse des nicht-flüchtigen
Speichers entspricht, wird von der Verwaltungstabelle ausgelesen,
um auf die flüchtigen Daten
an der Speicheradresse des flüchtigen
Speichers zuzugreifen.
-
Gemäß der vorliegenden
Erfindung werden in einer IC Karte, die einen flüchtigen Speicher aufweist,
der flüchtige
Objekte und Stapeldaten als flüchtige
Daten speichert, und einen Prozess durch eine extern installierte
Anwendung ausführt,
flüchtige Objekte,
die durch die Anwendung erzeugt werden, von unteren Adressen des
flüchtigen
Speichers aus gespeichert, und Stapeldaten, die durch die Anwendung
erzeugt werden, werden sequenziell von der höchsten Adresse des flüchtigen
Objekts in dem flüchtigen
Speicher in einer höheren
Adressenrichtung gespeichert.
-
Gemäß der vorliegenden
Erfindung enthält eine
IC Karte, in der Installationsdaten einer extern zugeführten Anwendung
installiert sind, und die einen Prozess durch die installierte Anwendung
ausführt,
eine nicht überschreibbare
erste nicht-flüchtige Speichereinheit
zum Speichern eines Basisprogramms, eine überschreibbare zweite nicht-flüchtige Speichereinheit
zum Spei chern verschiedener Anwendungen und zum Speichern von nicht-flüchtigen Daten,
die durch die Anwendung erzeugt werden, eine flüchtige Speichereinheit zum
Speichern flüchtiger
Daten, die durch die Anwendung erzeugt werden, ein Ausführungsmittel
zum Ausführen
eines Prozesses, basierend auf einer Anwendung, die von der zweiten
nicht-flüchtigen
Speichereinheit in einer Betriebsumgebung ausgelesen wird, die durch
das Basisprogramm in der ersten nicht-flüchtigen Speichereinheit definiert
wird, und eine Verwaltungstabelle, die eine Speicheradresse der
nicht-flüchtigen
Daten in der zweiten nicht-flüchtigen
Speichereinheit und eine Adresse der flüchtigen Speichereinheit, die
den flüchtigen
Daten entspricht, die zu diesen nichtflüchtigen Daten gehören, in
einer gegenseitig entsprechenden Art und Weise speichert.
-
Offenbarung
der Erfindung
-
Eine
IC Karte der vorliegenden Erfindung erlaubt einer Anwendung ein
flüchtiges
Objekt zu erzeugen, und kann auf ein flüchtiges Objekt in einem flüchtigen
Speicher zugreifen unter Verwendung einer Referenzadresse in einem
nicht-flüchtigen
Speicher.
-
In
einem Verwaltungsverfahren eines flüchtigen Speichers in einer
IC Karte der vorliegenden Erfindung, da den flüchtigen Objekte immer Adressen zugeordnet
werden, die kleiner sind als eine Stapelbasis in Stapelwachsrichtung,
kann das Stapelwachsen nie die flüchtigen Objekte übergreifen.
-
Kurzbeschreibung
der Zeichnungen
-
1 zeigt
eine schematische Ansicht, die die Anordnung eines IC Karten Verarbeitungssystems
gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung zeigt;
-
2 zeigt
ein schematisches Blockdiagramm, das die Anordnung einer IC Karte
gemäß 1 zeigt;
-
3 zeigt
eine Darstellung zum Erklären des
Lebenszyklus einer Java Karte (IC Karte) gemäß 1;
-
4 zeigt
ein Beispiel der Konfiguration eines nicht-flüchtigen Speichers gemäß 2;
-
5 zeigt
ein Beispiel der Konfiguration eines flüchtigen Speichers gemäß 2;
-
6 zeigt
ein Beispiel der Konfiguration einer nicht-flüchtigen Objektverwaltungstabelle
gemäß 4;
-
7 zeigt
ein Beispiel der Konfiguration einer Verwaltungstabelle für ein flüchtiges
Objekt, wie in 5 gezeigt;
-
8 zeigt
ein Diagramm zum Erklären
der Beziehung zwischen der Objektverwaltungseinheit und dem nicht-flüchtigen
Speicher des flüchtigen Speichers;
-
9 zeigt
ein Flussdiagramm zum Erklären eines
Objektverwaltungsprozesses;
-
10 zeigt
ein Flussdiagramm zum Erklären
eines Registrierungsprozesses für
ein flüchtiges Objekt
gemäß Schritt 8 in 9;
und
-
11A bis 11C zeigen
Aufzeichnungszustände
des flüchtigen
Speichers.
-
Beste Ausführungsform
der Erfindung
-
Ein
Ausführungsbeispiel
der vorliegenden Erfindung wird im Folgenden unter Bezugnahme auf die
beigefügten
Zeichnungen beschrieben.
-
1 zeigt
eine schematische Anordnung eines IC Kartenverarbeitungssystems
gemäß der vorliegenden
Erfindung.
-
Dieses
IC Kartenverarbeitungssystem enthält ein Endgerät 1 und
eine IC Karte (Java Karte) 2. In dem Endgerät 1 sind
eine arithmetische Vorrichtung 11, die arithmetische Operationen
und Eingaben von einem Operator steuert, und ein Leser/Schreiber 12 zum
Steuern von Eingaben/Ausgaben von/zu der IC Karte 2 durch
ein Kabel 13 verbunden.
-
Die
arithmetische Vorrichtung 11 hat einen Prozessor zum Durchführen arithmetischer
Operationen, und auch ein Eingabemittel von einem externen System,
das einen Operator enthält.
Die Arithmetikvorrichtung 11 gibt eine Abfrage an die IC
Karte 2, und verarbeitet Ergebnisstatusdaten.
-
Der
Leser/Schreiber 12 empfängt
eine Abfrage von der arithmetischen Vorrichtung 11, und
gibt diese Abfragen an die IC Karte 2, die in einen Karteneinführungsanschluss 14 eingeführt ist.
In ähnlicher Weise
empfängt
der Leser/Schreiber 12 Statusdaten von der IC Karte 2,
und berichtet dieses Ergebnis der arithmetischen Vorrichtung 11.
-
Wie
in den 1 und 2 gezeigt, hat die IC Karte 2 einen
Kontakt 20, der als ein Kontakt mit einem externen System
dient, einen Prozessor 21 zum Durchführen arithmetischer Operationen
und zum Steuern, einen flüchtigen
Speicher (RAM) 22, der temporäre Daten speichert und als
ein Bereich verwendet wird, der für dauerhafte Daten und zur Ausführung eines
Programms erforderlich ist, einen nicht-flüchtigen Speicher (EEPROM) 23 zum
Sichern eines überschreibbaren
Programmcodes, einen Installationsprogrammcode für die Java Karte, und überschreibbare
Daten mit einem permanenten Attribut, einen Coprozessor 24,
der den Prozessor 21 unterstützt, und ein ROM 25,
das nicht überschreibbare Programmcodes
speichert (Kartenbetriebssystem (COS) und ein Programm zum Laden/Installieren
einer Anwendung), die eine virtuelle Maschine integrieren zum Interpretieren
von Kartenbereichen und Byte-codes einer Anwendung, und Daten, die
nicht überschreibbar
sind. Die IC Karte 2 kommuniziert mit dem Leser/Schreiber 12 über den
Kontakt 20. Als der nicht-flüchtige Speicher 23 kann
ein Flashspeicher, FRAM oder dergleichen verwendet werden.
-
Die
zwei Typen von Speichern, also der flüchtige Speicher 22 und
der nicht-flüchtige
Speicher 23, werden verwaltet unter der Steuerung des Prozessors 21.
Die IC Karte kann den Coprozessor 24 haben speziell zum
Durchführen
arithmetischer Operationen, die eine Belastung erzeugen, und der Coprozessor 24 führt die
arithmetischen Operationen gemäß einer
Anweisung von dem Prozessor 21 durch.
-
Daten
werden von dem Kontakt 20 in 1 eingegeben
und in einem Kommunikationspuffer, der normalerweise in dem flüchtigen
Speicher 22 sichergestellt ist, gespeichert. Die gespeicherten
Daten werden durch den Prozessor 21 interpretiert und verarbeitet.
Daten, die gesichert werden müssen,
werden in einen Permanentdatenbereich des nicht-flüchtigen
Speichers 23 gemäß einer
Anweisung des Prozessors 21 geschrieben. Für Daten,
die eine spezielle arithmetische Operation erfordern, wird auch
eine Verarbeitungsanweisung an den Coprozessor 24 gesendet.
-
Große Datenmengen
oder dergleichen, die nicht in dem flüchtigen Speicher 22 gespeichert
werden können,
werden vorübergehend
in einen Arbeitsspeicher des nicht-flüchtigen Speichers 23 geschrieben.
Bemerke, dass die Grenze zwischen dem Permanentdatenbereich 23a und
dem Arbeitsbereich 23b nicht absolut notwendig ist.
-
3 zeigt
einfach den Lebenszyklus der Java Karte (IC Karte 2). Bemerke, dass
die Zustandsnamen und Transitionsinhalte verschieden sind von tatsächlichen
Namen und dergleichen, da Ausdrücke,
die einfach zu verstehen sind, verwendet werden zu Zwecken der Einfachheit.
-
Der
Zustand 2-1 ist ein Zustand der Java Karte unmittelbar
nach der Herstellung. Durch Ausführen
verschiedener Initialisierungsprozesse und Installieren eines Vor-Ausgabe
(Java) Programms in diesem Zustand, wird eine leere Karte (2-2)
gewonnen. Die leere Karte wird einem Ausgabeprozess unterworfen
zum Schreiben von Information, die einzigartig ist für einen
Kartenhalter, und von Information, die einzigartig ist für das Vor-Ausgabe
(Java) Programm, wodurch eine Karte in einem aktiven Zustand (verwendbarer
Zustand, 2-3) erhalten wird.
-
Wenn
diese Karte einem Kartenblockierprozess unterworfen wird, wird eine
Karte in einem Blockierzustand (2-4) erhalten, die nie
verwendet werden kann. Als ein Merkmal der Java Karte kann durch Installieren
eines Nach-Ausgabe (Java) Programms in der Karte in dem aktiven
Zustand (2-3) ein Programm nach der Ausgabe hinzugefügt werden.
-
Der
nicht-flüchtige
Speicher 23 ist einem Systembereich 31, einem
Anwendungsbereich 32, einem Datenbereich 33 und
einer Verwaltungstabelle 34 für ein nicht-flüchtiges
Objekt von der letzten Adresse aus in Richtung kleinerer Adressen
zugewiesen, wie in 4 gezeigt.
-
Der
Systembereich 31 ist ein Bereich, der Daten speichert,
die für
das System erforderlich sind. Der Anwendungsbereich (Bereich, der
nicht permanent verwendet wird) 32 ist ein Bereich, in
dem Anwendungen als eine Mehrzahl von Java Programmen installiert
sind. Der Datenbereich 33 ist ein Bereich, der als ein
Arbeitsbereich dient, der nicht-flüchtige Objekte und dergleichen
als nicht-flüchtige
Daten speichert bei Ausführung
jeder Anwendung. Die Verwal tungstabelle 34 für ein nicht-flüchtiges
Objekt ist ein Bereich zum Verwalten der Adressen von nicht-flüchtigen
Objekten in dem Datenbereich 33.
-
Der
flüchtige
Speicher 22 ist einem nicht-flüchtigen Objektbereich 41,
einem Stapeldatenbereich 42, einem nicht verwendeten Bereich 43 und
einer Verwaltungstabelle 44 für ein flüchtiges Objekt von der letzten
Adresse aus in Richtung kleinerer Adressen zugewiesen, wie in 5 gezeigt.
-
Der
flüchtige
Objektbereich 41 ist ein Bereich zum Speichern eines flüchtigen
Objekts als erste flüchtige
Daten. Der Stapeldatenbereich 42 ist ein Bereich zum Speichern
einer Datengruppe, die während
der Verarbeitung einer Anwendung reserviert werden muss, also Stapeldaten
wie ein Bestätigungscode
und dergleichen, die bei einem Energie-AUS gelöscht werden können. Der
unbenutzte Bereich 43 ist ein Bereich, der nicht verwendet
wird. Die Verwaltungstabelle 44 für ein flüchtiges Objekt ist ein Bereich
zum Verwalten der Adressen von flüchtigen Objekten.
-
Das
Verfahren zum Verwenden des flüchtigen
Speichers 22 wird im Folgenden beschrieben. Wie in 5 gezeigt,
wenn der Wachsprozess der flüchtigen
Objekte endet, und nur Stapeldaten zunehmen, werden die flüchtigen
Objekte an Adressen angeordnet, die kleiner als die Stapeldaten
sind, und ein Wachsen der Stapeldaten wird auf die höhere Adressenrichtung
(Richtung von kleineren Adressen) des flüchtigen Speichers 22 begrenzt.
Aus diesem Grund übergreift
das Wachsen der Stapeldaten nie die flüchtigen Objekte.
-
Wenn
die IC Kartenverarbeitungsvorrichtung ferner eine Adressenüberwachungsvorrichtung
enthält,
kann eine Hardwareunterbrechung erzeugt werden, wenn das Wachsen
der Stapeldaten die Verwaltungstabelle 44 für ein flüchtiges
Objekt als schreibverhinderter Bereich erreicht. In diesem Fall
kann ein Stapelüberlauf
detektiert werden ohne Prüfung
durch Software.
-
Die
Verwaltungstabelle 34 für
ein nicht-flüchtiges
Objekt ist aus Tabellen 34a ... gebildet, entsprechend
den Anwendungen, wie in 6 gezeigt. Jede Tabelle 34a
hat ein Zählfeld 51 zum
Speichern der Anzahl an nicht-flüchtigen
Objekten, ein ID Feld 52 zum Speichern der IDs der nicht-flüchtigen
Objekte, die dieser Anzahl entsprechen, ein Referenzadressenfeld 53 zum Speichern
der Speicheradressen der nicht-flüchtigen Objekte in dem Datenbereich 33 als Referenzadressen
entsprechend diesen IDs und ein Dauer-Feld 54 zum Speichern
gültiger
Dauern (Begrenzungen) von flüchtigen
Objekten entsprechend den IDs.
-
Die
Verwaltungstabelle 44 für
ein flüchtiges Objekt
hat ein Zählfeld 61 zum
Speichern der Anzahl an flüchtigen
Objekten, ein ID Feld 62 zum Speichern der IDs von flüchtigen
Objekten entsprechend dieser Anzahl, und ein Realadressenfeld 63 zum
Speichern der Speicheradressen von flüchtigen Objekten in dem flüchtigen
Speicher 22 als reale Adressen entsprechend diesen IDs,
wie in 7 gezeigt.
-
Flüchtige und
nicht-flüchtige
Objekte erhalten tatsächliche
Adressen als die Summen der Startadresse und der Offsets von dieser
Adresse. Jedes Objekt ist standardmäßig ein nicht-flüchtiges
Objekt, und wird ein flüchtiges
Objekt durch einen Bibliotheksaufruf unter Verwendung der Referenz
auf dieses Objekt als Argument.
-
Die
IC Karte 2 hat eine Objektverwaltungseinheit 71 zum
Verwalten von flüchtigen
Objekten in dem flüchtigen
Speicher 22 und von nicht-flüchtigen Objekten in dem Datenbereich 33 des
nicht-flüchtigen
Speichers 23 unter Verwendung der nicht-flüchtigen
Objektverwaltungstabelle 34 und der Verwaltungstabelle 44 für das flüchtige Objekt,
wie in 8 gezeigt.
-
Bei
Empfangen einer Referenzadresse, die aufgerufen von einer Anwendung
aufgerufen wird, sucht die Objektverwaltungseinheit 71 die
Verwaltungstabelle 34a für ein nicht-flüchtiges
Objekt, die dieser Anwendung entspricht, nach einer Referenzadresse
ab, die zu der Referenzadresse a passt, extrahiert eine ID, die
dieser passenden Referenzadresse entspricht und sucht nach einer
ID, die zu der Verwaltungstabelle 45 für ein flüchtiges Objekt passt, basierend
auf der extrahierten ID.
-
Wenn
die ID, die zu der extrahierten ID passt, als Ergebnis der ID Suche
gefunden wird, bestimmt die Objektverwaltungseinheit 71,
dass ein entsprechendes flüchtiges
Objekt detektiert ist, extrahiert eine reale Adresse entsprechend
der ID und gibt diese reale Adresse (die ein flüchtiges Objekt in dem flüchtigen
Speicher 22 angibt) als Referenzadresse b an die Anwendung
zurück.
-
Wenn
keine ID zu der extrahierten ID passt, als Ergebnis des ID Suchens,
bestimmt die Objektverwaltungseinheit 71, dass kein entsprechendes gültiges Objekt
detektiert worden ist, und gibt die eingegebene Referenzadresse
a als Referenzadresse b zurück.
In diesem Fall sind die Referenzadressen a und b die gleiche Adresse
wie das nicht-flüchtige
Objekt in dem nichtflüchtigen
Speicher 23.
-
Der
Objektverwaltungsprozess, der durch die Objektverwaltungseinheit 71 durchgeführt wird
in der obigen Anordnung, wird im Folgenden unter Bezugnahme auf
das Flussdiagramm gemäß 9 beschrieben.
-
Die
Objektverwaltungseinheit 71 empfängt eine Referenzadresse a,
die von einer Anwendung aufgerufen wird, und scannt unter Verwendung
der Verwaltungstabelle 34a für ein nichtflüchtiges
Objekt, um zu prüfen,
ob eine Referenzadresse, die dieser Anwendung entspricht, die zu
der Referenzadresse a passt, in dem Referenzadressenbereich 53 registriert ist
(ST1).
-
Als
ein Ergebnis, wenn keine entsprechende Referenzadresse registriert
ist, gibt die Objektverwaltungseinheit 71 diese Referenzadresse
an die Anwendung zurück,
ohne sie zu ändern
(ST2).
-
Als
ein Ergebnis des Scannens in Schritt 1, wenn die entsprechende
Adresse registriert ist, extrahiert die Objektverwaltungseinheit 71 eine
ID von dem ID Feld 52 in der gleichen Reihe als die entsprechende
Referenzadresse (ST3).
-
Die
Objektverwaltungseinheit 71 scannt, ob eine ID, die zu
der extrahierten ID passt, in dem ID Feld 62 der Verwaltungstabelle 44 für das flüchtige Objekt
registriert ist (ST4).
-
Als
ein Ergebnis, wenn die entsprechende ID registriert ist, extrahiert
die Objektverwaltungseinheit 71 eine reale Adresse von
dem Realadressenfeld 63 in der gleichen Reihe als die entsprechende
ID (ST5). In dieser Art und Weise gibt die Objektverwaltungseinheit 71 diese
reale Adresse als Referenzadresse b an die Anwendung zurück (ST6).
-
Als
ein Ergebnis des Scannens in Schritt 4, wenn keine entsprechende
ID registriert ist, erzeugt die Objektverwaltungseinheit 71 ein
neues flüchtiges Objekt
(ST7), registriert das erzeugte flüchtige Objekt in einem vorbereiteten
flüchtigen
Objekt/unbenutzten Bereich 45 (ST8), und registriert die
registrierte Adresse in dem flüchtigen
Speicher 22 als eine reale Adresse in der Verwaltungstabelle
für das
flüchtige Objekt 44 zusammen
mit der ID (ST9). In diesem Fall wird die ID automatisch registriert
in dem ID Feld 62, und die reale Adresse wird in dem Realadressenfeld 73 in
der gleichen Reihe, wie diese ID registriert.
-
In
dieser Weise gibt die Objektverwaltungseinheit 71 die registrierte
Adresse als Referenzadresse b an die Anwendung zurück (ST10).
-
In
Schritt 7 kann ein neues flüchtiges Objekt durch die Anwendung
erzeugt werden.
-
Der
Registrierungsprozess eines flüchtigen Objekts
(Ob) in Schritt 8 wird im Folgenden unter Bezugnahme auf
das Flussdiagramm gemäß 10 und
die Aufzeichnungszustände
des nichtflüchtigen Speichers 22,
wie in den 11A, 11B und 11C gezeigt, beschrieben.
-
Die
Objektverwaltungseinheit 71 bestätigt, basierend auf der Größe des nicht
verwendeten Bereichs 43 des flüchtigen Speichers 22,
ob das erzeugte flüchtige
Objekt (Ob) eingefügt
werden kann (ST11). Als ein Ergebnis dieser Bestätigung, wenn bestimmt wird,
dass das erzeugte flüchtige
Objekt nicht eingefügt
werden kann, bestimmt die Objektverwaltungseinheit 71 eine
Abnormalität,
und informiert die Anwendung darüber.
-
Als
ein Ergebnis der Betätigung
in Schritt 11, wenn bestimmt wird, dass das erzeugte flüchtige Objekt
eingefügt
werden kann, extrahiert die Objektverwaltungseinheit 71 ein
Objekt von dem Dauer-Feld 64 in der gleichen Reihe, wie
die entsprechende ID in der Verwaltungstabelle für das nicht-flüchtige Objekt (ST12).
Die Objektverwaltungseinheit 71 vergleicht das extrahierte
Objekt mit denen der jeweiligen flüchtigen Objekte (Oa), die in
dem flüchtigen
Speicher 23 gespeichert sind (ST13). Als ein Ergebnis des
Vergleichs, wenn ein flüchtiges
Objekt (Oa) mit einer kürzeren
Lebensdauer als die des Objekts, das einzufügen ist, gefunden ist, bewegt
die Objektverwaltungseinheit 71 die Stapeldaten und das
flüchtige
Objekt (Oa) mit der kürzeren
Dauer zu dem oberen Ende (kleinere Adresse) eines nicht-flüchtigen
Objekt-Bereichs /unbenutzten Bereichs 45, der für die Speichergröße des flüchtigen
Objekts (Ob)sichergestellt ist, um in den flüchtigen Speicher 22 eingefügt zu werden,
wie in den 11A und 11B gezeigt (ST14).
-
Nach
dieser Bewegung ändert
die Objektverwaltungseinheit 71 die reale Adresse in der
Verwaltungstabelle 44 für
ein flüchtiges
Objekt entsprechend dem flüchtigen
Objekt (Oa) mit der kürzeren Dauer,
in die des Ziels (ST15).
-
Die
Objektverwaltungseinheit 71 registriert das flüchtige Objekt
(Ob); das in den flüchtigen
Objekt-Bereich/unbenutzten Bereich 45 des flüchtigen Speichers 22 einzufügen ist,
der in Schritt 14 zugesichert wird, wie in 11C gezeigt (ST16).
-
Als
ein Ergebnis wird die Einfügungsposition des
flüchtigen
Objekts in den flüchtigen
Speicher 22 gesetzt, so dass das flüchtige Objekt (Oa) mit der kürzeren Dauer
immer eine kleinere Adresse hat.
-
Durch
Hinzufügen
dieses Prozesses kann ein flüchtiges
Objekt, dessen gültige
Dauer (Begrenzung) abgelaufen ist, leicht aus dem flüchtigen
Speicher 22 gelöscht
werden, und eine Abfallsammlung und Neuverwendung des flüchtigen
Speichers 22 kann gebildet werden.
-
Industrielle
Anwendbarkeit
-
Wie
oben beschrieben, führt
gemäß der vorliegenden
Erfindung eine IC Karte, die einen nichtflüchtigen und einen flüchtigen
Speicher hat, einen Prozess durch eine extern installierte Anwendung durch,
speichert ein nicht-flüchtiges
Objekt, das durch die Anwendung erzeugt wird, in dem nicht-flüchtigen
Speicher, und speichert ein flüchtiges Objekt,
das durch die Anwendung erzeugt wird, in dem flüchtigen Speicher, wobei ein
Zugriff gemacht werden kann, unabhängig von dem Typ des Objekts, das
durch die Anwendung erzeugt und gespeichert wird.
-
Ferner
kann dadurch der flüchtige
Speicher effizient verwendet werden.
-
Ferner
kann ein einfacher Hochgeschwindigkeitsprozess erreicht werden.