-
Die
Erfindung betrifft ein Verfahren zur Optimierung eines Programms
eines tragbaren Datenträgers.
Weiterhin betrifft die Erfindung einen tragbaren Datenträger und
ein System zur Durchführung
eines derartigen Verfahrens.
-
Tragbare
Datenträger
werden in vielen Bereichen eingesetzt, beispielsweise als Ausweisdokumente,
zum Nachweis einer Zugangsberechtigung zu einem Mobilfunknetz oder
zur Durchführung
von Transaktionen des bargeldlosen Zahlungsverkehrs. Der Einsatz
erfolgt dabei häufig
im Zusammenspiel mit einem für
die jeweilige Anwendung vorgesehenen Endgerät. Außer bei sehr einfach gelagerten
Anwendungen ist es in der Regel erforderlich, daß der tragbare Datenträger über ein
Programm zur Ausführung
oder Unterstützung
der Ausführung
der Anwendung verfügt.
Außerdem
sind viele tragbare Datenträger
mit einem Betriebssystem ausgestattet. Die Programme einschließlich des
Programms, welches das Betriebssystem darstellt, sind in einem integrierten
Schaltkreis des tragbaren Datenträgers gespeichert und werden
von diesem ausgeführt.
Angesichts des engen Kostenrahmens und auch aus Platzgründen werden
tragbare Datenträger
meist mit integrierten Schaltkreisen ausgestattet, die über sehr
begrenzte Ressourcen im Hinblick auf die Rechenleistung und den
Speicherplatz verfügen.
Es besteht daher das Bedürfnis,
diese begrenzten Ressourcen möglichst
optimal zu nutzen. Das bedeutet, daß die eingesetzten Programme
im Hinblick auf eine effiziente Nutzung der Rechenleistung und des
verfügbaren
Speicherplatzes zu optimieren ist. Dies ist insbesondere dann ein
schwieriges Problem, wenn auf dem tragbaren Datenträger mehrere
Anwendungen implementiert sind.
-
Es
sind bereits diverse Vorgehensweisen zum Optimieren von Programmen
bekannt, die sich jeweils allerdings nicht auf die Optimierung von
Programmen bei tragbaren Datenträgern
beziehen. So offenbart die
DE
199 63 832 A1 ein Verfahren zur Profilierung von Programmen
auf virtuellen Maschinen. Gemäß diesem
Verfahren wird ein Programm, das einer virtuellen Maschine zugeführt wird,
compiliert, um ein Zielprogramm zu erzeugen, das direkt beispielsweise
auf einer standardisierten Hardware-Plattform laufen kann. Anschließend wird
das Zielprogramm zum Erzeugen von Ausführungsstatistiken, die in einem
Sprungspeicher gespeichert werden, ausgeführt. Danach erfolgt ein erneutes
Compilieren des Zielprogramms unter Verwendung der im Sprungspeicher
gespeicherten Ausführungsstatistiken
als Compilierungsunterstützung.
-
Aus
der
DE 100 39 538
A1 sind eine Vorrichtung und eine Methode zum Analysieren
der Leistung eines Computerprogramms bekannt. Die Vorrichtung weist
einen Prozessor und einen Speicher auf, der mit dem Prozessor gekoppelt
ist. Im Speicher sind ein Computerprogramm mit vielen Codesegmenten und
ein Leistungsanalysator gespeichert. Während das Computerprogramm
gemäß vorgegebenen
Bedingungen abläuft,
werden vom Leistungsanalysator Informationen für jedes Codesegment protokolliert, mit
deren Hilfe eine graphische Darstellung des ausgeführten Computerprogramms
erstellt wird. Ein Benutzer kann dann Abfragen formulieren, um jeden
gewünschten
Leistungsparameter für
das Computerprogramm zu analysieren, wobei der Ablauf des Computerprogramms
entsprechend der Abfrage wiederholt wird.
-
Die
DE 101 24 414 A1 bezieht
sich auf die Optimierung der Bedienoberfläche neuer Programme. Um die
Programme über
einen langen Zeitraum hinweg unter realen Einsatzbedingungen auf
ihre Anwender-, insbesondere Bedienungsfreundlichkeit zu untersuchen,
werden bei einer, vorzugsweise jeder Eingabe von dem durch das zu
optimierende Programm gesteuerten Computer selbsttätig Informationen
zu der jüngsten
Bedienungshandlung listen förmig
in einen Protokollspeicher eingetragen. Durch eine Auswertung des
Protokollspeichers kann der Programmhersteller Schwachstellen oder
Probleme der Bedienoberfläche
ermitteln.
-
Die
Bedienungshandlungen des Benutzers eines tragbaren Datenträgers sind
in den meisten Fällen
allerdings nicht sehr umfangreich, so daß eine Optimierung der Bedienoberfläche in der
Regel nicht erforderlich ist. Hinzu kommt noch, daß tragbare
Datenträge
häufig
in Zusammenwirkung mit Endgeräten eingesetzt
werden, über
die dann auch die Bedienung abgewikkelt wird.
-
Der
Erfindung liegt die Aufgabe zugrunde, ein Programm eines tragbaren
Datenträgers
so zu optimieren, daß die
vom tragbaren Datenträger
für das
Programm zur Verfügung
gestellten Ressourcen möglichst
optimal genutzt werden.
-
Diese
Aufgabe wird durch ein Verfahren mit der Merkmalskombination des
Anspruchs 1 gelöst.
-
Das
erfindungsgemäße Verfahren
bezieht sich auf die Optimierung eines in einem tragbaren Datenträger implementierten
Programms im Hinblick auf eine effiziente Nutzung der von einem
integrierten Schaltkreis des tragbaren Datenträgers zur Verfügung gestellten
Ressourcen. Die Besonderheit des erfindungsgemäßen Verfahrens besteht darin,
daß der
tragbare Datenträger
an einen Benutzer herausgegeben wird und beim bestimmungsgemäßen Einsatz
des tragbaren Datenträgers
durch den Benutzer vom tragbaren Datenträger mit Hilfe wenigstens eines
Diagnoseelements statistische Daten bezüglich wenigstens eines Elements
des Programms, das für die
Optimierung in Frage kommen könnte,
erfaßt werden.
-
Die
Erfindung hat den Vorteil, daß mit
einem relativ geringen Aufwand große Mengen statistischer Daten
ermittelt werden können,
die für
eine Optimierung des im tragbaren Datenträger implementierten Programms
benötigt
werden. Dabei ist es besonders vorteilhaft, daß die statistischen Daten unter
realen Bedingungen ermittelt werden und somit eine Optimierung des
Programms im Hinblick auf die Verhältnisse ermöglichen, unter denen der tragbare
Datenträger
tatsächlich
eingesetzt wird.
-
Das
Diagnoseelement wird vorzugsweise als ein Bestandteil des Programmelements
implementiert, für
das es die statistischen Daten erfaßt. Dadurch können der
Zusatzaufwand und der zusätzlich für das Diagnoseelement
benötigte
Speicherplatz gering gehalten werden. Die statistischen Daten können jeweils
in einem Statistikdatenelement gespeichert werden, das in einem
Speicher des tragbaren Datenträgers
eingerichtet und dem Diagnoseelement zugeordnet ist. Dies ermöglicht eine
einfache Zuordnung der statistischen Daten zu den einzelnen Programmelementen.
Um den für
das Statistikdatenelement benötigten
Speicherplatz möglichst
gering zu halten, kann der bisherige Inhalt des Statistikdatenelements
beim Einschreiben der statistischen Daten jeweils überschrieben
werden.
-
Mit
den statistischen Daten kann beispielsweise die Nutzungshäufigkeit
der Programmelemente erfaßt
werden. Ebenso ist es möglich,
mit den statistischen Daten den für die Ausführung des Programmelements
jeweils benötigten
minimalen und/oder maximalen Speicherplatz zu erfassen. Diese Informationen
sind im Hinblick auf eine Optimierung des Programms jeweils von
besonders hoher Relevanz.
-
Die
statistischen Daten können
unter vorgegebenen Bedingungen zur Weiterverarbeitung weitergegeben
werden. Insbesondere können
die statistischen Daten vom tragbaren Datenträger an ein Endgerät übermittelt
werden, das für
die Weitergabe der statistischen Daten ausgebildet ist. Die weitergegebenen
statistischen Daten können
zur Optimierung des im tragbaren Datenträger implementierten Programms
ausgewertet werden. Durch diese Vorgehensweise entfällt die
Notwendigkeit, die ausgegebenen tragbaren Datenträger zur
Auswertung der statistischen Daten nach einer gewissen Zeit wieder
einzusammeln.
-
Auf
Basis der Auswertung werden häufig
benutzte Programmelemente vorzugsweise im Hinblick auf ihre Ausführungsgeschwindigkeit
optimiert. Bei selten benutzten Programmelementen ist es von Vorteil,
wenn diese im Hinblick auf den für
ihre Ausführung
benötigten
Speicherplatz optimiert werden. Insbesondere können auf Basis der Auswertung
Instruktionen, auf denen die Programmelemente basieren und/oder
Daten, die von den Programmelementen gehandhabt werden, optimiert
werden.
-
Der
erfindungsgemäße tragbaren
Datenträger
weist einen integrierten Schaltkreis auf, in dem ein Programm implementiert
ist, das im Hinblick auf eine effiziente Nutzung der vom integrierten
Schaltkreis zur Verfügung
gestellten Ressourcen zu optimieren ist. Die Besonderheit des erfindungsgemäßen tragbaren
Datenträgers
besteht darin, daß im
integrierten Schaltkreis wenigstens ein Diagnoseelement implementiert
ist. Das Diagnoseelement dient einer beim bestimmungsgemäßen Einsatz
des tragbaren Datenträgers
durch einen Benutzer durchführbaren
Erfassung statistischer Daten bezüglich wenigstens eines Elements
des Programms, das für
die Optimierung in Frage kommen könnte. Der erfindungsgemäße tragbarer
Datenträger
ist vorzugsweise als eine Chipkarte ausgebildet.
-
Das
erfindungsgemäße System
weist einen erfindungsgemäß ausgebildeten
tragbaren Datenträger,
ein Endgerät
und einen Computer auf. Im tragbaren Datenträger ist ein Programm implementiert,
das im Hinblick auf eine effiziente Nutzung der von einem integrierten
Schaltkreis des tragbaren Datenträgers zur Verfügung gestellten
Ressourcen zu optimieren ist. Der tragbare Datenträger steht
wenigstens zeitweise mit dem Endgerät in Datenverbindung. Das Endgerät ist über ein
Netzwerk wenigstens zeitweise mit dem Computer verbunden.
-
Die
Erfindung wird nachstehend anhand der in der Zeichnung dargestellten
Ausführungsbeispiele erläutert, bei
denen der tragbare Datenträger
als eine Chipkarte ausgebildet ist.
-
Es
zeigen:
-
1 eine
schematische Darstellung eines Ausführungsbeispiels des erfindungsgemäßen Systems,
-
2 ein
stark vereinfachtes Blockschaltbild für die Architektur eines Ausführungsbeispiels
des integrierten Schaltkreises der Chipkarte,
-
3 ein
Flußdiagramm
für eine
Variante der erfindungsgemäßen Vorgehensweise
zur Optimierung eines Programms der Chipkarte und
-
4 ein
Flußsdiagramm
für eine
mögliche Vorgehensweise
bei der Ermittlung der statistischen Daten mittels der Chipkarte.
-
1 zeigt
eine schematische Darstellung eines Ausführungsbeispiels des erfindungsgemäßen Systems.
Das System weist unter anderem eine Chipkarte 1 und ein
Endgerät 2 auf.
Die Chipkarte 1 verfügt über einen
integrierten Schaltkreis 3, der insbesondere als ein Mikroprozessor
ausgebildet ist. Im integrierten Schaltkreis 3 ist wenigstens
ein Programm implementiert, das gemäß der Erfindung zu optimieren
ist. Das Endgerät 2 weist
eine Elektronik 4 auf, die beispielsweise aus einem Mikroprozessor und
weiteren elektronischen Bauteilen besteht. Weiterhin verfügt das Endgerät 2 über eine
Tastatur 5 zur Eingabe von Daten und einen Bildschirm 6 zur
Darstellung von Daten. Die Tastatur 5 und der Bildschirm 6 sind
jeweils mit der Elektronik 4 verbunden. Außerdem besteht
zu dem in 1 dargestellten Zeitpunkt eine
Verbindung zwischen der Chipkarte 1 und dem Endgerät 2, über die
der Chipkarte 1 beispielsweise eine Betriebsspannung und
ein Taktsignal zugeführt werden
und eine Datenübertragung
zwischen der Chipkarte 1 und dem Endgerät 2 durchgeführt wird. Als
eine weitere Systemkomponente ist in 1 ein Systemcomputer 7 dargestellt,
der einem Systembetreiber zugeordnet ist. Der Systemcomputer 7 ist über ein
erstes Netzwerk 8 mit dem Endgerät 2 verbunden. Schließlich ist
noch ein Entwicklungscomputer 9 eines Programmentwicklers
vorgesehen, der über ein
zweites Netzwerk 10 mit dem Systemcomputer 7 verbunden
ist.
-
Die
in 1 dargestellten Komponenten werden nicht alle
zwingend für
das erfindungsgemäße System
benötigt.
Beispielsweise kann eines der beiden Netzwerke 8 oder 10 entfallen
und die Daten über
das verbleibende Netzwerk 8 bzw. 10 oder auf sonstige
Weise übermittelt
werden. Ebenso besteht die Möglichkeit,
daß der
Systembetreiber und der Programmentwickler identisch sind und somit
der Entwicklungscomputer 9 und folglich auch das zweite Netzwerk 10 entfallen
können.
-
Im
Rahmen der Erfindung ist es vorgesehen, daß wenigstens ein Programm der
Chipkarte 1 vom Programmentwickler optimiert wird. Für diese
Optimierung werden Daten herangezogen, die im Rahmen des Feldeinsatzes
der Chipkarte 1 ermittelt werden. Dies wird im Einzelnen
anhand der 2, 3 und 4 erläutert.
-
2 zeigt
ein stark vereinfachtes Blockschaltbild für die Architektur eines Ausführungsbeispiels
des integrierten Schaltkreises 3 der Chipkarte 1.
Der integrierte Schaltkreis 3 weist eine Steuereinheit 11 und
einen damit verbundenen Speicher 12 auf. Bei dem in 2 dargestellten
Speicher 12 handelt es sich um einem nichtflüchtigen
Schreib-/Lesespeicher. Weiterhin weist der integrierte Schaltkreis 3 einen
nur lesbaren Permanentspeicher und einen flüchtigen Schreib-/Lesespeicher
auf, die in 2 nicht eigens kenntlich gemacht
sind. Der Speicher 12 ist logisch in einen Codebereich 13 und
einen Datenbereich 14 unterteilt. Im Codebereich 13 des
Speichers 12 sind diverse Programme zum Betrieb der Chipkarte 1 und
zur Ausführung
von Anwendungen abgelegt. Von diesen Programmen sind in 2 einige
Programmelemente 15 dargestellt, die im Rahmen der Erfindung
optimiert werden sollen. Die Programmelemente 15 können auch
aus einem unveränderlichen
ausführbaren
Code und einem zugehörigen
Parametrisierungsdatensatz, der bestimmte Verhaltensweisen des Programmelementes
festlegt, aufgebaut sein. In diesem Fall kann sich der ausführbare Code
der Programmelemente 15 in dem nicht gezeigten, nur lesbaren
Permanentspeicher befinden, während
nur der Parametrisierungsdatensatz in dem nichtflüchtigen
Schreib-/Lesespeicher 12 liegt.
-
Die
Programmelemente 15 weisen jeweils ein Diagnoseelement 16 auf,
welches statistische Daten bezüglich
des jeweiligen Programmelements 15 erfaßt. Die Diagnoseelemente 16 können, wie
die Programmelemente 15, auch aus einem ausführbaren
Code und einem Parametrisierungsdatensatz aufgebaut sein, wobei
der ausführbare
Code im Permanentspeicher liegt, der Parametrisierungsdatensatz
im nichtflüchtigen
Schreib-/Lesesepeicher 12.
-
Bei
den statistischen Daten handelt es sich zum Beispiel um die Häufigkeit
der Ausführung
des jeweiligen Programmelements 15 und den im Rahmen der
Ausführung
jeweils benötigen
Speicherplatz. Im Datenbereich 14 des Speichers 12 sind
Statistikdatenelemente 17 vorgesehen, wobei je ein Statistikdatenelement 17 je
einem Diagnoseelement 16 zugeordnet ist. Die Statistikdatenelemente 17 dienen der
Speicherung der mit den Diagnoseelementen 16 ermittelten
statistischen Daten. Beispielsweise kann jeweils ein Wert für die Gesamtzahl
der Aufrufe des Programmelements 15, für welches das zugehörige Diagnoseelement 16 eingerichtet
wurde, gespeichert werden. Dieser Wert wird bei jedem Aufruf des
Programmelements 15 aktualisiert. Eine andere Anwendung
kann darin bestehen, Bereichsangaben für den minimalen und maximalen
Speicherplatzbedarf zu speichern, der jeweils für die Ausführung des Programmelements 15 benötigt wird.
Hierzu wird bei jeder Ausführung
des Programmelements 15 der tatsächlich benötigte Speicherplatz vom Diagnoseelement 16 ermittelt.
Entsprechend den gefundenen Größenwerten
werden die im Statistikdatenelement 17 gespeicherten Bereichsangaben
gegebenenfalls angepaßt.
Beispielsweise kann ein Programmelement 15 die Größe des beim
Einschalten einer Chipkarte 1 zu reservierenden Pufferspeichers
enthalten; das Programmelement 15 mitsamt zugehörigem Diagnoseelement 16 kann
dabei im nur lesbaren Permanentspeicher angelegt sein. Das Diagnoseelement 16 enthält eine
Statistikroutine, die die Menge des maximal tatsächlich benutzten Pufferspeichers
erfaßt und
in einem nichtflüchtigen
Schreib-/Lesespeicher 12 eingerichteten Statistikdatenelement 17 ablegt. Überschreitet
der Wert des maximal benutzten Pufferspeichers den in Programmelement 15 reservierten
Startwert niemals, kann, unter der Voraussetzung, daß ein eventuell
zu klein gewählter
Puffer nicht zu einem generellen Nichtfunktionieren einer Chipkarte 1 führt, sondern
nur z.B. zu einer langsameren Programmausführung, die Größe des Pufferspeichers
im Programmelement 15 für
neu ausgegebene Karten niedriger festgesetzt werden. Der dadurch
gesparte Platz kann genutzt werden, um andere Programmteile schneller
oder effizienter auszuführen
oder dem Benutzer bei Anwendung der Chipkarte 1 mehr Speicherplatz
zur Verfügung
zu stellen.
-
Indem
der Inhalt der Statistikdatenelemente 17 fortwährend mit
aktuellen Angaben überschrieben wird,
ist es ausreichend, für
jedes Statistikdatenelemente 17 nur so viel Speicherplatz
zu reservieren, daß genau
ein Wert bzw. eine Bereichsangabe des zugehörigen Diagnoseelements 16 gespeichert
werden kann. Die Vorgehensweise bei der Erzeugung und Auswertung
der statistischen Daten wird im Folgenden näher erläutert.
-
3 zeigt
ein Flußdiagramm
für eine
Variante der erfindungsgemäßen Vorgehensweise
zur Optimierung eines Programms der Chipkarte 1. Der Durchlauf
des Flußdiagramms
beginnt mit einem Schritt S1, bei dem in die Programmelemente 15,
die bei der Optimierung berücksichtigt
werden sollen, je ein Diagnoseelement 16 eingebaut wird
und für
jedes Diagnoseelement 16 im Speicher 12 des integrierten Schaltkreises 3 ein
zugehöriges
Statistikdatenelement 17 angelegt wird. Die so behandelte
Chipkarte 1 ist entsprechend ihrer Bestimmung voll funktionsfähig und
verfügt über eine
für den
Benutzer nicht sichtbare Zusatzfunktion zur Ermittlung statistischer
Daten. Auf diese Weise werden mehrere Chipkarten 1 präpariert.
Diese Chipkarten 1 werden in einem Schritt S2, der sich
an Schritt S1 anschließt,
an Benutzer herausgegeben.
-
In
einem darauf folgenden Schritt S3 setzen die Benutzer die Chipkarten 1 jeweils
gemäß ihrer vorgegebenen
Bestimmung ein, z. B. zum Durchführen
von Transaktionen oder als Sicherheitsmodul in einem Mobilfunktelefon
usw. Im Rahmen dieses Einsatzes werden statistische Daten ermittelt
und an den Systemcomputer 7 weitergeleitet. Näheres hierzu wird
anhand von 4 ausgeführt. An Schritt S3 schließt sich
ein Schritt S4 an, bei dem der Systemcomputer 7 die empfangenen
Daten sammelt, indem er sie beispielsweise in geeigneter Weise abspeichert.
Danach prüft
der Systemcomputer 7 in einem Schritt S5, ob bereits genügend statistische
Daten für die
Weiterverarbeitung vorliegen. Trifft dies zu, so schließt sich
an Schritt S5 ein Schritt S6 an. Andernfalls wird mit Schritt S3
fortgefahren. In Schritt S6 übermittelt
der Systemcomputer 7 die statistischen Daten über das
zweite Netzwerk 10 an den Entwicklungscomputer 9 des
Programmentwicklers. Auf Schritt S6 folgt ein Schritt S7, bei dem
der Programmentwickler die statistischen Daten auswertet.
-
Im
Rahmen der Auswertung der statistischen Daten wird beispielsweise
ermittelt, welche Programmelemente 15 besonders häufig und
welche eher selten ausgeführt
werden. Insbesondere bei den häufig
ausgeführten
Programmelementen 15 wird geprüft, ob das Laufzeitverhalten
akzeptabel ist. Um eine möglichst
kure Programmausführungszeit
zu erreichen, sind insbesondere die häufig ausgeführten Programmelemente 15 im
Hinblick auf eine möglichst kurze
Laufzeit zu optimieren, da sich bei diesen jede Verbesserung im
Gesamtergebnis vielfach multipliziert. Dabei kann für die Laufzeitreduzierung
auch ein erhöhter
Bedarf an Speicherplatz in Kauf genommen werden. Bei den weniger
häufig
ausgeführten
Programmelementen 15 kommt dem Laufzeitverhalten dagegen
keine so große
Bedeutung zu. Bei diesen Programmelementen 15 liegt das
Augenmerk eher auf der Größe des bei
der Ausführung
jeweils verwendeten Speicherplatzes. Hier wird der Speicher platzbedarf
erforderlichenfalls auf Kosten einer höheren Laufzeit optimiert. Insgesamt
wird somit jeweils geprüft,
ob die Laufzeit und der benötigte
Speicherplatz, die für
die Ausführung
der einzelnen Programmelemente 15 jeweils benötigt werden,
bei Berücksichtigung
der jeweiligen Ausführungshäufigkeit
eine effiziente Nutzung der vom integrierten Schaltkreis 3 zur
Verfügung
gestellten Ressourcen ermöglichen.
-
Auf
Schritt S7 folgt ein Schritt S8, bei dem geprüft wird, ob das Programm bereits
ausreichend optimiert ist, d. h. es wird entschieden, ob die Auswertung
der statistischen Daten in Schritt S7 bereits auf eine ausreichende
Optimierung des Programms hindeutet. Wird in Schritt S8 festgestellt,
daß das
Programm bereits ausreichend optimiert ist, so ist der Durchlauf
des Flußdiagramms
beendet. Andernfalls schließt
sich an Schritt S8 ein Schritt S9 an, bei dem der Programmentwickler
auf Basis der in Schritt S7 gewonnenen Erkenntnisse eine Optimierung
des Programms durchführt.
Von der Optimierung können alle
oder nur einige Programmelemente 15 betroffen sein, wobei
sich die Optimierung jeweils auf die im Programmelement 15 enthaltenen
Instruktionen oder auf die vom Programmelement 15 gehandhabten
Daten beziehen kann. Nach der Optimierung in Schritt S9 wird das
Flußdiagramm
beginnend mit Schritt S1 erneut durchlaufen. Dies wird solange wiederholt,
bis ein gewünschter
Optimierungsgrad erreicht ist.
-
4 zeigt
ein Flußdiagramm
für eine
mögliche
Vorgehensweise bei der Ermittlung der statistischen Daten mittels
der Chipkarte 1. Der dargestellte Ablauf wird gemäß Schritt
S3 der 3 von vielen Chipkarten 1 durchlaufen,
so daß eine
große
Menge statistischer Daten für
die Auswertung zur Verfügung steht.
Der Durchlauf des Flußdiagramms
beginnt mit einem Schritt S10, bei dem der Benutzer seine Chipkarte 1 zur
Durchführung
einer Anwendung in das Endgerät 2 einsteckt,
wie dies in 1 dargestellt ist. An Schritt
S10 schließt
sich eine Schritt S11 an, bei dem die Anwendung ausgeführt wird.
Dabei werden von den Diagnoseelementen 16 der für die Ausführung der
Anwendung verwendeten Programmelemente 15 der Chipkarte 1 statistische
Daten ermittelt. Auf Basis der statistischen Daten aktualisieren
die Diagnoseelemente 16 die jeweils zugehörigen Statistikdatenelemente 17.
Auf Schritt S11 folgt ein Schritt S12, bei dem geprüft wird,
ob das Endgerät 2 über die
Möglichkeit
verfügt,
den Inhalt der Statistikdatenelemente 17 an den Systemcomputer 7 zu übermitteln.
Falls diese Möglichkeit
besteht, schließt
sich an Schritt S12 ein Schritt S13 an, bei dem die Statistikdatenelemente 17 vom
Endgerät 2 ausgelesen
werden. Auf Schritt S13 folgt ein Schritt S14, bei dem die statistischen
Daten vom Endgerät 2 über das
erste Netzwerk 8 an den Systemcomputer 7 übermittelt werden.
Anschließend
wird in einem Schritt S15 die Chipkarte 1 aus dem Endgerät 2 entnommen.
Zu Schritt S15 gelangt man auch unmittelbar von Schritt S12, wenn
die dortige Abfrage ergibt, daß das
Endgerät 2 nicht
in der Lage ist, die statistischen Daten an den Systemcomputer 7 zu übermitteln.
In diesem Fall erfolgt die Übermittlung
zu einem späteren
Zeitpunkt, zu dem die Chipkarte 1 in ein Endgerät 2 mit einer
Verbindung zum Systemcomputer 7 eingesteckt wird. Mit der
Ausführung
des Schrittes S15 ist der Durchlauf des Flußdiagramms beendet.
-
Je
nachdem, für
welche Anwendung die Chipkarte 1 vorgesehen ist, kann eine
Modifikation des in 4 dargestellten Ablaufs erforderlich
sein. Beispielsweise verbleibt eine Chipkarte 1, die als
ein Sicherheitsmodul für
ein Mobilfunktelefon ausgebildet ist, in der Regel über einen
langen Zeitraum im selben Mobilfunktelefon, wobei eine vielfache
Ausführung
von Mobilfunkanwendungen erfolgt. Die statistischen Daten werden
bei jeder Ausführung
ermittelt und können
jeweils über
das Mobilfunknetz weitergeleitet werden. Dabei ist es ebenso möglich, die statistischen
Daten jeweils nur nach einer vorgegebenen Zahl von Ausführungen
oder in vorgegebenen Zeitintervallen weiterzuleiten.
-
Die
Erfindung kann sowohl bei kontaktbehafteten als auch bei kontaktlosen
Chipkarten 1 eingesetzt werden. Kontaktlose Chipkarten 1 werden
in der Regel nicht in das Endgerät
eingesteckt, sondern dem Endgerät 2 lediglich
angenähert.
Außerdem
ist ein Einsatz der Erfindung auch bei andersartig ausgebildeten
tragbaren Datenträgern
möglich.