-
Die
vorliegende Erfindung betrifft ein Verfahren in einem portablen
Datenträger mit einem Webserver zur Datenkommunikation
zwischen dem Datenträger und einer mit dem Datenträger
verbundenen Datenverarbeitungseinrichtung sowie einen derartigen
Datenträger.
-
Bei
einem Verfahren der eingangs genannten Art stellt der Webserver
Daten für die Datenverarbeitungseinrichtung bereit, die
diese zuvor angefordert hat, indem der Webserver die angeforderten
Daten entweder aus einem Speicher des Datenträgers ausliest
oder, falls die Daten nicht in dem Speicher gespeichert sind, von
einer Datenbereitstellungseinrichtung bezieht, z. B. von einem Serverrechner
im Internet. Die Datenverarbeitungseinrichtung kann dabei beispielsweise
ein Personal Computer (PC) sein, für den der Datenträger
als so genannter Proxy agiert. D. h., der Datenträger tritt
gegenüber einer Applikation auf dem PC, z. B. gegenüber
einem auf dem PC installierten Webbrowser, als Datenlieferant – d. h.
als Daten-Server – auf, gegenüber einem Internet-Serverrechner
hingegen als Datenbezieher – d. h. als Daten-Client. Ein
derartig eingesetzter Datenträger umfasst in der Regel
einen Internet-Protokoll-Stapel und kann einem Nutzer beispielsweise
als Authentisierungs-Gateway dienen, z. B. für online-Banking-Anwendungen
oder dergleichen.
-
Portable
Datenträger, z. B. Chipkarten, verfügen über
sehr begrenzte Ressourcen hinsichtlich Speicherkapazität.
Dies betrifft sowohl flüchtigen Puffer- oder Arbeitsspeicher
als auch nichtflüchtigen Speicher, beispielsweise in Form
von Flash-Speichern oder dergleichen. Aufgrund des begrenzten Pufferspeichers
muss eine Datenkommunikation zwischen dem Datenträger und
einem Internet-Serverrechner zum Beziehen von Daten, die dem Daten träger
nicht vorliegen und dem Webbrowser auf dem PC bereitgestellt werden
sollen, in relativ kleine Datenpakete unterteilt werden. Wenn die
Antwortzeiten des Internet-Serverrechners hoch sind, beispielsweise aufgrund
eines hohen Datenverkehrs im Internet zu einer bestimmten Tageszeit
oder einer allgemein starken Belastung des betreffenden Internet-Serverrechners,
können dem Webbrowser die angeforderten Daten folglich
nur sehr langsam bereitgestellt werden.
-
In
dem vorstehend beschriebenen Szenario kann seitens des Datenträgers
nicht auf eine bekannte Strategie aus der gewöhnlichen
Internetnutzung ohne Verwendung eines zwischengeschalteten Datenträgers
zurückgegriffen werden, nach der ein Webbrowser einmal
bezogene Daten, gegebenenfalls gemäß einer Nutzereinstellung,
auf der Festplatte des PCs speichert, um diese Daten für
eine zukünftige Nutzung direkt von der Festplatte auslesen zu
können, ohne dazu einen Internet-Serverrechner kontaktieren
zu müssen. Ein solches vorausschauendes Speichern wird
auch "cachen" genannt, der entsprechende Speicher "Cache-Speicher".
Der vorstehend beschriebene portable Datenträger kann bei dem
beschriebenen Szenario gegenüber dem Internet-Serverrechner
jedoch nicht dieselbe Rolle einnehmen, wie der mit einem Cache-Speicher
ausgestattete Webbrowser bei der gewöhnlichen Internetnutzung,
denn der Datenträger verfügt über zu
wenig Ressourcen, insbesondere über zu wenig nichtflüchtige
Speicherkapazität, um die bekannte Strategie des Abspeicherns
einmal bezogener Daten umsetzen zu können.
-
Die
WO 00/65800 A1 beschreibt
ein System, welches ein portables Gerät, beispielsweise
ein Handheld oder ein Mobilfunkendgerät, mit einem Webbrowser
umfasst, welches mit einem Server kontaktlos Daten austauscht. Der
Webbrowser speichert alle einmal von dem Server bezogenen Daten
für eine eventuelle zukünftige Nutzung. Ist der
dafür vorgesehene Speicherplatz er schöpft, werden
gespeicherte Daten nach bekannten Strategien, z. B. der FIFO-Strategie
("first-in-first-out"), wieder gelöscht. Ein Weiterleiten
der von dem Server bezogenen Daten durch das portable Gerät
an eine weitere Datenverarbeitungseinrichtung ist in der
WO 00/65800 A1 nicht
offenbart.
-
In
der
WO 03/094474
A1 ist ein Verfahren zum Betreiben eines Mobilfunkendgeräts
beschrieben. Dabei prüft eine Anwendung des Mobilfunkendgeräts,
z. B. ein Webbrowser, ob von einem Server des Mobilfunkbetreibers
empfangene Daten einen Speichervermerk umfassen und speichert daraufhin nur
solche Daten für eine zukünftige Nutzung, die
einen solchen Speichervermerk umfassen. Auf diese Weise kann der
Mobilfunkbetreiber bestimmen, welche Daten auf dem Mobilfunkendgerät
gespeichert werden. Auch die
WO
03/094474 beschreibt kein Weiterleiten der von dem Server
bezogenen Daten an eine dritte Instanz.
-
Die
DE 103 17147 A1 offenbart
eine Chipkarte mit einem Flash-Speicher und einem Cache-Speicher
in Form eines nichtflüchtigen RAM-Speichers. Mit Hilfe
einer Steuereinrichtung wird mittels des Flash-Speichers und des
nichtflüchtigen Cache-Speichers ein Speichersystem mit
sehr schnell wortweise aktualisierbarem, nichtflüchtigem
Speicher geschaffen. Eine Nutzung der Chipkarte zu Datenkommunikationszwecken
zwischen verschiedenen Einrichtungen, z. B. zwischen einem PC und
einem Internetserver, ist in der
DE 103 17147 A1 nicht offenbart.
-
Es
ist die Aufgabe der vorliegenden Erfindung, ein Verfahren vorzuschlagen,
welches dem portablen Datenträger ermöglicht,
einer Datenverarbeitungseinrichtung angeforderte Daten möglichst
effizient bereitzustellen.
-
Diese
Aufgabe wird durch ein Verfahren und einen portablen Datenträger
mit den Merkmalen der unabhängigen Ansprüche gelöst.
Vorteilhafte Ausgestaltungen und Weiterbildungen sind in den abhängigen
Ansprüchen angegeben.
-
Das
erfindungsgemäße Verfahren basiert auf der Idee,
dass der Datenträger selbst entscheidet, ob von einer Datenverarbeitungseinrichtung
bei dem Datenträger angeforderte und von einer Datenbereitstellungseinrichtung
bezogene Daten in dem Datenträger nichtflüchtig
gespeichert werden.
-
Demgemäß empfängt
ein Webserver des Datenträgers eine Datenanforderungsnachricht
von einer mit dem Datenträger verbundenen Datenverarbeitungseinrichtung,
wobei die Datenanforderungsnachricht ein Bereitstellen von Daten
für die Datenverarbeitungseinrichtung betrifft. Daraufhin
beantwortet der Webserver die Datenanforderungsnachricht durch Senden
einer Datenbereitstellungsnachricht, die die angeforderten Daten
umfasst. Dazu liest der Webserver die Daten entweder aus einem nichtflüchtigen
Speicher des Datenträgers aus oder bezieht die Daten, falls
sie nicht in dem nichtflüchtigen Speicher gespeichert sind,
von einer mit dem Datenträger verbundenen Datenbereitstellungseinrichtung. Das
erfindungsgemäße Verfahren zeichnet sich dadurch
aus, dass, falls die angeforderten Daten von der Datenbereitstellungseinrichtung
bezogen werden müssen, der Datenträger bestimmt,
ob die bezogenen Daten in dem nichtflüchtigen Speicher
des Datenträgers zur Beantwortung zukünftiger
Datenanforderungsnachrichten gespeichert werden.
-
Ein
entsprechend eingerichteter erfindungsgemäßer
portabler Datenträger umfasst demnach zumindest eine Kommunikationsschnittstelle,
einen nichtflüchtigen Speicher und eine Webserver-Applikation.
Die Webserver- Applikation ist eingerichtet, eine Datenanforderungsnachricht
von einer mit dem Datenträger über die zumindest
eine Kommunikationsschnittstelle verbindbaren Datenverarbeitungseinrichtung
zu empfangen, wobei die Datenanforderungsnachricht für
die Datenverarbeitungseinrichtung bereitzustellende Daten betrifft.
Die Webserver-Applikation ist weiterhin eingerichtet, die Datenanforderungsnachricht
durch Senden einer Datenbereitstellungsnachricht zu beantworten,
die die angeforderten Daten umfasst. Dazu liest die Webserver-Applikation
entweder die Daten aus einem nichtflüchtigen Speicher des
Datenträgers aus oder sie sendet, falls die Daten nicht
in dem nichtflüchtigen Speicher gespeichert sind, eine
Datenbezugsnachricht an eine über die zumindest eine Kommunikationsschnittstelle
mit dem Datenträger verbindbare Datenbereitstellungseinrichtung,
die einen Bezug der Daten von der Datenbereitstellungseinrichtung
betrifft, und empfängt schließlich die zu beziehenden Daten
von der Datenbereitstellungseinrichtung in Form einer Datennachricht.
Erfindungsgemäß umfasst der portable Datenträger
ferner eine Prüfapplikation, die eingerichtet ist, falls
die Daten nicht in dem nichtflüchtigen Speicher des Datenträgers
gespeichert sind und dementsprechend von der Datenbereitstellungseinrichtung
bezogen werden müssen, zu bestimmen, ob die bezogenen Daten
in dem nichtflüchtigen Speicher des Datenträgers
gespeichert werden.
-
Dadurch,
dass der Datenträger bestimmte von der Datenbereitstellungseinrichtung
bezogene Daten dauerhaft in einem nichtflüchtigen Speicher des
Datenträgers speichert, kann er diese Daten, wenn sie zukünftig
von der Datenverarbeitungseinrichtung erneut angefordert werden,
dieser direkt bereitstellen, ohne eine erneute Datenkommunikation mit
der Datenbereitstellungseinrichtung aufbauen zu müssen.
Auf diese Weise wird Datenverkehr vermieden und der Datenverarbeitungseinrichtung
stehen die angeforderten Daten schnell zur Verfügung. Da der
Datenträger selbständig entscheidet, ob und welche
von der Datenbereitstellungseinrichtung bezogenen Daten in dem nichtflüchtigen
Speicher gespeichert werden, kann der Datenträger flexibel
auf eigene, fest vorgegebene oder veränderliche Ressourcen sowie äußere
Umstände reagieren und die Datenbereitstellung für
die Datenverarbeitungseinrichtung individuell effektiv durchführen.
Die Gesamtlast des betreffenden Datennetzes verringert sich, während
der Datenverarbeitungseinrichtung die angeforderten Daten schneller
bereitgestellt werden können. Gleichzeitig wird den begrenzten
Ressourcen des Datenträgers Rechnung getragen.
-
Vorzugsweise
ist die Prüfapplikation eingerichtet, anhand eines oder
mehrerer Speicherkriterien zu bestimmen, ob von der Datenbereitstellungseinrichtung
bezogene Daten in dem nichtflüchtigen Speicher des Datenträgers
zum Beantworten zukünftiger Datenanforderungsnachrichten
gespeichert werden. Derartige Speicherkriterien können
in entsprechenden Dateien in einem Speicher des Datenträgers
hinterlegt werden, auf die die Prüfapplikation zugreifen
kann.
-
Ein
erstes Speicherkriterium, anhand dessen der Datenträger
bestimmt, ob die Daten in dem nichtflüchtigen Speicher
gespeichert werden, gibt zumindest einen Datentyp für zu
speichernde, von der Datenbereitstellungseinrichtung bezogene Daten
vor. In diesem Fall bestimmt die Prüfapplikation, dass
solche von der Datenbereitstellungseinrichtung bezogenen Daten,
die dem in dem Speicherkriterium vorgegebenen Datentyp entsprechen,
zum Beantworten zukünftiger Datenanforderungsnachrichten
in dem nichtflüchtigen Speicher des Datenträgers
gespeichert werden. Vorzugsweise handelt es sich bei dem vorgegebenen
Datentyp um einen Graphikdatentyp, einen Videodatentyp, einen Audiodatentyp
oder dergleichen, aber auch andere Datentypen sind möglich. Bei
Internetseiten dienen Daten mit einem Grafikdatentyp oftmals als
Hintergrundbilddaten, die selbst dann, wenn sich auf der entsprechenden
Seite textuelle Inhalte ändern, unverändert bleiben.
Werden solche Daten in dem nichtflüchtigen Speicher des
Datenträgers gespeichert, verringert sich die Datenmenge,
die bei einer zukünftigen Anfrage nach derselben Internetseite
durch die Datenverarbeitungseinrichtung von der Datenbereitstellungseinrichtung bezogen
werden müssen, in der Regel deutlich, da die Hintergrundbilddaten
nicht mehr bezogen werden müssen.
-
Ein
zweites Speicherkriterium gibt eine Häufigkeit vor, mit
der Datenanfragenachrichten betreffend die zu beziehenden Daten
empfangen werden. Der Datenträger bestimmt also anhand
dieses Speicherkriteriums z. B., dass Daten, die mehrfach von der
Datenverarbeitungseinrichtung angefordert werden, nach einem abermaligen
Beziehen von der Datenbereitstellungseinrichtung in dem nichtflüchtigen Speicher
des Datenträgers gespeichert werden. In dem Datenträger
kann dazu z. B. eine Liste nichtflüchtig gespeichert werden,
die für bislang durch die Datenverarbeitungseinrichtung
angeforderte Daten pro Anforderung einen Eintrag enthält.
Durch das Speichern mehrfach angeforderter Daten können mehrmals
wiederkehrende Anforderungen der Datenverarbeitungseinrichtung,
die dieselben Daten betreffen und insofern besonders relevant sind,
durch den Datenträger effektiv beantwortet werden, ohne eine
Datenkommunikationsverbindung mit der Datenbereitstellungseinrichtung
aufbauen zu müssen.
-
Der
Datenträger kann weiterhin anhand eines dritten Speicherkriteriums,
das ein Datenvolumen der von der Datenbereitstellungseinrichtung
bezogenen Daten betrifft, bestimmen, ob die Daten in dem nichtflüchtigen
Speicher des Datenträgers gespeichert werden. Vorzugsweise
bestimmt der Datenträger, dass die Daten in dem nichtflüchtigen
Speicher gespeichert werden, wenn das Datenvolumen der von der Datenbereitstellungseinrichtung
bezo genen Daten ein durch das Speicherkriterium vorgegebenes Minimaldatenvolumen
unterschreitet, oder der Datenträger bestimmt, dass die
Daten in dem nichtflüchtigen Speicher gespeichert werden,
wenn das Datenvolumen der von der Datenbereitstellungseinrichtung
bezogenen Daten ein durch das Speicherkriterium vorgegebenes Maximaldatenvolumen überschreitet.
Auf diese Weise kann z. B. vorgesehen sein, dass jeweils kleine
Dateien, deren Volumen unterhalb des vorgegebenen Minimaldatenvolumens liegt,
nach dem Beziehen von der Datenbereitstellungseinrichtung in dem
nichtflüchtigen Datenträger gespeichert werden
bzw. dass sehr große Dateien, deren Volumen oberhalb des
vorgegebenen Maximaldatenvolumen liegt, in dem Speicher gespeichert werden.
Das Speichern von zahlreichen kleinen Dateien erspart dem Datenträger
jeweils das Aufbauen einer Datenkommunikationsverbindung zu der
Datenbereitstellungseinrichtung wegen einer nur sehr kleinen zu
beziehenden Datenmenge. Das Speichern von großen Dateien
ist insbesondere dann vorteilhaft, wenn eine Antwortzeit der Datenbereitstellungseinrichtung
gerade hoch ist, denn zum Beziehen großer Datenmengen müssen
zwischen dem Datenträger und der Datenbereitstellungseinrichtung wegen
des begrenzten Pufferspeichers des Datenträgers viele Datenpakete übertragen
werden und die gesamte Datenübertragung würde
entsprechend lange dauern.
-
Ein
viertes Speicherkriterium betrifft eine Zeitspanne, die zum Beziehen
der Daten von der Datenbereitstellungseinrichtung benötigt
wird. Eine solche Zeitspanne kann insbesondere die vorstehend erwähnte
Antwortzeit der Datenbereitstellungseinrichtung sein, die zwischen
einer Anfrage des Datenträgers bei der Datenbereitstellungseinrichtung
und einer Antwort der Datenbereitstellungseinrichtung auf die Anfrage
des Datenträgers vergeht. Die Prüfapplikation
des Datenträgers kann also z. B. selbständig entscheiden,
von der Datenbereitstellungseinrichtung bezogene Daten dann zu speichern, wenn
die Antwortzeit der Datenbereitstellungseinrichtung eine gewisse
Zeitspanne überschreitet. Auf diese Weise ist es möglich,
bei einer sehr starken Auslastung der Datenbereitstellungseinrichtung
oder eines übertragenden Datennetzes, bei der die entsprechenden
Antwortzeiten der Datenbereitstellungseinrichtung dementsprechend
hoch sind, einmal gespeicherte Daten nicht erneut beziehen zu müssen.
-
Es
kann weiterhin vorgesehen sein, dass ein fünftes Speicherkriterium
vordefinierte Daten als zu speichernde Daten vorgibt. Dies ist insbesondere dann
sinnvoll, wenn bereits bekannt ist, welche Daten zukünftig
häufig durch die Datenverarbeitungseinrichtung bei dem
Webserver des Datenträgers angefordert werden. Diese Daten
können dann gemäß des vorstehend beschriebenen
Speicherkriteriums als zu speichernde Daten definiert werden, woraufhin der
Datenträger bei einem ersten Anfordern der Daten bei der
Datenbereitstellungseinrichtung bestimmt, dass diese Daten in dem
nichtflüchtigen Speicher gespeichert werden. Beispielsweise
können die Bildhintergrunddaten eine Einstiegsseite einer
Internet-Präsenz einer Bank als in dem nichtflüchtigen
Speicher zu speichernde Daten definiert werden, wenn vor Ausgabe
des Datenträgers an einen Nutzer bekannt ist, dass der
Nutzer über den Datenträger online-Banking-Transaktionen
auf der entsprechende Seite der Bank durchführen wird.
-
Schließlich
kann ein sechstes Speicherkriterium auch die Größe
eines Pufferspeichers des Datenträgers betreffen. Der Datenträger
kann beispielsweise bei der Datenbereitstellungseinrichtung bezogene
Daten immer dann in dem nichtflüchtigen Speicher des Datenträgers
speichern, wenn der verfügbare Pufferspeicher eine gewisse
Mindestgröße unterschreitet.
-
Die
oben genannten verschiedenen Speicherkriterien können einzeln
oder in Kombination verwendet werden. Die Prüfapplikation
kann deshalb mehrere der genannten Speicherkriterien zu aussagenlogischen
Bedingungen formen und als komplexe Speicherkriterien einsetzen.
-
Vorzugsweise
ist die Prüfapplikation eingerichtet, falls von der Datenbereitstellungseinrichtung bezogene
Daten nicht in dem nichtflüchtigen Speicher des Datenträgers
gespeichert werden, anhand eines Fernspeicherkriteriums zu bestimmen,
ob die der Datenverarbeitungseinrichtung mit der Datenbereitstellungsnachricht
bereitzustellenden Daten von der Datenverarbeitungseinrichtung zu
speichern sind. Falls die Prüfapplikation bestimmt, dass
diese Daten von der Datenverarbeitungseinrichtung zu speichern sind,
kann eine Steuerapplikation des Datenträgers die entsprechenden
Daten mit einem Speicherhinweis bzw. mit einer Speicheranweisung an
die Datenverarbeitungseinrichtung versehen. Auf diese Weise ist
es z. B. möglich, den Datenträger dadurch zu entlasten,
dass die Datenverarbeitungseinrichtung Daten, auf die sie mehrmalig
immer wieder zugreift, bei sich selbst speichert, ohne diese immer wieder
bei dem Datenträger anfordern müssen. Der Datenträger
hat dadurch weniger Datenanforderungsnachrichten der Datenverarbeitungseinrichtung zu
bearbeiten und weniger Daten von der Datenbereitstellungseinrichtung
zu beziehen bzw. in dem nichtflüchtigen Speicher des Datenträgers
zu speichern.
-
Die
Steuerapplikation des Datenträgers ist weiterhin eingerichtet,
von der Datenbereitstellungseinrichtung bezogene und von der Prüfapplikation zum
Speichern in dem nichtflüchtigen Speicher bestimmte Daten
zusammen mit einer Speicherzeitinformation, die den Zeitpunkt des
Speicherns der Daten in dem nichtflüchtigen Speicher des
Datenträgers betrifft, zu speichern. Auf diese Weise kann
die Prüfapplikation die in dem nichtflüchtigen
Speicher des Datenträgers gespeicherten Daten einfach auf Aktualität
prüfen und in dem Fall, in dem die Datenverarbeitungseinrichtung
die entsprechenden Daten erneut anfordert, entscheiden, ob die Daten
erneut von der Datenbereitstellungseinrichtung bezogen werden müssen
oder ob die in dem nichtflüchtigen Speicher zusammen mit
der Speicherzeitinformation gespeicherten Daten der Datenverarbeitungseinrichtung
bereitgestellt werden können.
-
Die
Steuerapplikation des Datenträgers kann weiterhin eingerichtet
sein, von der Datenbereitstellungseinrichtung bezogene Daten, die
von dem Datenträger zum Speichern in dem nichtflüchtigen
Speicher bestimmt werden, beim erstmaligen Beziehen der Daten in
Form einer Folge von Datenpaketen einer ersten vorgegebenen Größe,
die die Größe eines Pufferspeichers des Datenträgers
nicht übersteigt, von der Datenbereitstellungseinrichtung
zu beziehen, und nur einen Teil der bezogenen Datenpakete in dem
nichtflüchtigen Speicher zu speichern. Bei einem weiteren
Beziehen der bereits bezogenen Daten werden dann die Daten in Form
einer Folge von Datenpaketen einer zweiten vorgegebenen Größe,
die die erste vorgegebene Größe übersteigt,
von der Datenbereitstellungseinrichtung bezogen. Vorzugsweise gibt
die Steuerapplikation die erste vorgegebene Größe
im Wesentlichen als die Größe des Pufferspeichers
des Datenträgers vor und speichert nur jedes zweite der
bezogenen Datenpakete in dem nichtflüchtigen Speicher.
Zweckmäßigerweise wird die zweite vorgegebene
Größe von der Steuerapplikation im Wesentlichen
als das Doppelte der ersten vorgegebenen Größe
festgelegt. Auf diese Weise werden einerseits die Ressourcen des
Datenträgers, insbesondere der verfügbare nichtflüchtige
Speicher, geschont, indem beim ersten Beziehen nur die Hälfte der
Datenpakete in dem nichtflüchtigen Speicher gespeichert
wird. Andererseits wird das abermalige Beziehen der Daten von der
Datenbereitstellungseinrichtung dadurch beschleunigt, dass aufgrund
der doppelten Größe der Datenpakete nur die halbe
Anzahl von Datenpake ten zwischen der Datenbereitstellungseinrichtung
und dem Datenträger übertragen werden muss. Zwar
ist der Datenträger nur in der Lage, jeweils die Hälfte
eines solchen Datenpakets in seinem Pufferspeicher zu speichern.
Dies wird jedoch dadurch kompensiert, dass bei dem ersten Beziehen
der Daten die nun bei dem weiteren Beziehen verloren gehende Hälfte
des Datenpakets als ein Datenpaket der halben Größe
bereits in dem nichtflüchtigen Speicher gespeichert worden
ist.
-
Die
Prüfapplikation und die Steuerapplikation sind vorzugsweise
derart eingerichtet, dass eine den Datenträger ausgebende
Stelle die entsprechenden Applikationen auf eine spätere,
intendierte Nutzung des Datenträgers konfigurieren kann,
z. B. über ein Konfigurationsmenü, das auf dem
Datenträger aufgerufen werden kann. Insbesondere kann es
dazu vorgesehen sein, dass die entsprechenden Applikationen von
der ausgebenden Stelle nachträglich verändert
oder ergänzt werden können, z. B. durch Präzisieren
bestehender oder durch Nachladen weiterer Speicherkriterien.
-
Vorzugsweise
umfasst der erfindungsgemäße Datenträger
als nichtflüchtigen Speicher einen nichtflüchtigen
Cache-Speicher in Form eines Flash-Speichers oder eines nichtflüchtigen RAM-Speichers
zum Speichern der von der Datenbereitstellungseinrichtung bezogenen
und von der Prüfapplikation zum Speichern bestimmten Daten. Auf
diese Weise kann stets schnell auf die gespeicherten Daten zugegriffen
werden.
-
Die
vorliegende Erfindung wird im Folgenden mit Bezug auf die beiliegenden
Zeichnungen beispielhaft beschrieben. Darin zeigen:
-
1 eine
bevorzugte Ausführungsform eines erfindungsgemäßen
Datenträgers;
-
2 an
einem erfindungsgemäßen Verfahren beteiligte Komponenten;
und
-
3 Schritte
einer bevorzugten Ausführungsform des erfindungsgemäßen
Verfahrens.
-
Mit
Bezug auf 1 umfasst ein portabler Datenträger 10,
der hier als Chipkarte dargestellt ist, eine Kommunikationsschnittstelle 20,
einen Prozessor (CPU) 30 und eine Reihe von verschiedenen Speicherkomponenten 40, 50, 60 und 70. Über
die Kommunikationsschnittstelle 20, die in der Ausführungsform
aus 1 als Kontaktfeld gemäß ISO 7816 ausgebildet
ist, kann der Datenträger 10 Daten mit verschiedenen
Kommunikationspartnern austauschen, mit denen er verbunden werden
kann, beispielsweise über ein Kartenlesegerät
(nicht gezeigt). Andere Kommunikationsschnittstellen sind möglich, beispielsweise
nach dem USB- oder den SD-Standard. Es ist möglich, dass
der Datenträger 10 als so genannter Dual-Interface
Datenträger ausbildet ist und zusätzlich zu der
kontaktbehafteten Kommunikationsschnittstelle 20 eine kontaktlose
Kommunikationsschnittstelle (nicht gezeigt), z. B. in Form einer Antennenspule,
umfasst, oder gar ausschließlich kontaktlos kommuniziert.
Der Datenträger kann beispielsweise auch als Massenspeicher,
als USB-Token oder dergleichen ausgebildet sein.
-
Der
Datenträger 10 umfasst einen nichtflüchtigen,
nicht wiederbeschreibbaren ROM-Speicher 40, in dem ein
Betriebssystem (OS) 42 zum Steuern des Datenträgers 10 gespeichert
ist. Das Betriebssystem 42 kann einen TCP/IP-Protokollstapel
umfassen, so dass der Datenträger 10 in der Lage
ist, über das Internet Daten zu senden und darüber übertragene
Daten zu empfangen. Der TCP/IP-Protokollstapel bzw. das Betriebssystem 42 oder
zumindest Tei le davon können aber auch in dem nichtflüchtigen,
wiederbeschreibbaren Flash-Speicher 70 gespeichert sein.
-
In
dem Flash-Speicher 70 sind verschiedene Applikationen gespeichert,
die auf dem Prozessor 30 ausführbar sind, z. B.
eine Webserver-Applikation (WS) 72, eine Prüfapplikation 74 und
eine Steuerapplikation 76. Diese Applikationen werden mit
Bezug auf 3 nachstehend genauer beschrieben. Von
den Applikationen erzeugte oder benötigte Daten können
ebenfalls in dem Speicher 70 gespeichert werden. Der Flash-Speicher 70 kann
auch als EEPROM-Speicher oder dergleichen ausgebildet sein.
-
Der
Datenträger 10 umfasst weiterhin einen flüchtigen
RAM-Speicher 50, der einen Pufferspeicherbereich 52 umfasst,
der beispielsweise eingesetzt wird, um bei einer Datenkommunikation über die
Kommunikationsschnittstelle 20 empfangene Daten aufzunehmen,
bevor diese in dem Datenträger 10 weiterverarbeitet
werden. Der RAM-Speicher 50 dient dem Datenträger 10 allgemein
als schneller Arbeitsspeicher.
-
Zusätzlich
zu dem flüchtigen RAM-Speicher 50 umfasst der
Datenträger 10 einen nichtflüchtigen, wiederbeschreibbaren
RAM-Speicher 60, beispielsweise in Form eines FeRAM ("Ferroelectric
Random Access Memory"). Der Speicher 60 umfasst einen Cache-Bereich 62,
der dazu dient, Daten zwischenzuspeichern, damit der Datenträger 10 schnell
darauf zugreifen kann, ohne die Daten über eine über
die Kommunikationsschnittstelle 20 aufzubauende Datenkommunikationsverbindung
von einer Datenbereitstellungseinrichtung, z. B. einen Server im
Internet, beziehen zu müssen. Wenn die Webserver-Applikation 72 beispielsweise
eine Datenanforderungsnachricht einer mit dem Datenträger 10 verbundenen Datenverarbeitungseinrichtung
empfängt, welche Daten anfordert, die bereits in dem Cache-Speicher 62 gespeichert sind,
kann die Webserver-Applikation 72 diese Anforderung direkt
beantworten, indem sie die entsprechenden Daten aus dem Cache-Speicher 62 ausliest
und als Teil einer Datenbereitstellungsnachricht an die Datenverarbeitungseinrichtung
sendet. Es ist jedoch auch möglich, auf den nichtflüchtigen
RAM-Speicher 60 zu verzichten und einen entsprechenden
Cache-Speicher 62 als Teil des Flash-Speichers 70 auszubilden.
-
In 2 sind
vorstehend genannte Kommunikationspartner des Datenträgers 10 schematisch dargestellt – die
Datenverarbeitungseinrichtung in Form eines Personal Computers (PC) 100 und
die Datenbereitstellungseinrichtung in Form eines Internet-Servers 200.
Eine Datenkommunikation mit dem Datenträger 10 kann
gleichfalls zwischen anderen Geräten und über
andere Kommunikationsnetze stattfinden, z. B. mit einem Mobilfunkendgerät
in der Rolle der Datenverarbeitungseinrichtung und einem Server
eines Mobilfunkproviders als Datenbereitstellungseinrichtung. Ein
Teil der Datenkommunikation verläuft dann kontaktlos, über
ein entsprechendes Mobilfunknetz.
-
Wie
in 2 dargestellt, kann der Datenträger 10 als
Proxy zwischen den PC 100 und den Server 200 geschaltet
sein und Datenanforderungen des PCs 100 entweder direkt
beantworten oder die angeforderten Daten von dem Server 200 beziehen
und dann an den PC 100 weiterleiten. Eine bevorzugte Ausführungsform
eines Verfahrens zum Durchführen einer derartigen Datenkommunikation
ist nachstehend mit Bezug auf 3 detailliert
beschrieben.
-
In
Schritt 1000 sendet eine auf dem PC 100 ausgeführte
Applikation, wie z. B. eine Webbrowser-Applikation, eine Datenanforderungsnachricht
an den mit dem PC 100 verbundenen Datenträger 10, beispielsweise
in Form einer HTTP-Anfrage, mit der der Webbrowser Daten von dem
Datenträger 10 an fordert. Die Webserver-Applikation 72 des
Datenträgers 10 empfängt die Datenanforderungsnachricht
in Schritt 1010 über die Kommunikationsschnittstelle 20 und
prüft in Schritt 1020, ob die angeforderten Daten in
dem Cache-Speicher 62 des Datenträgers 10 gespeichert
sind.
-
Ist
dies der Fall, so beantwortet die Webserver-Applikation 72 die
Datenanforderungsnachricht des Webbrowsers in Schritt 1030,
indem sie die Daten aus dem Cache-Speicher 62 ausliest
und eine Datenbereitstellungsnachricht, die die angeforderten Daten
umfasst, an den Webbrowser sendet, beispielsweise in Form einer
entsprechenden HTTP-Antwort.
-
Sind
die angeforderten Daten hingegen nicht in dem Cache-Speicher 62 des
Datenträgers 10 gespeichert, so bezieht die Webserver-Applikation 72 diese
Daten in Schritt 1100 von dem Internetserver 200.
Dazu sendet die Webserver-Applikation 72 in Schritt 1110 eine
Datenbezugsnachricht an den Server 200, die von diesem
in Schritt 1120 empfangen wird. Der Server 200 stellt
daraufhin die angeforderten Daten in Schritt 1130 bereit
und sendet eine Datennachricht, die die angeforderten Daten umfasst,
in Schritt 1140 an die Webserverapplikatian 72 des
Datenträgers 10, welche diese Datennachricht in
Schritt 1150 empfängt.
-
In
Schritt 1200 prüft die vorstehend genannte Prüfapplikation 74 des
Datenträgers 10, ob ein oder mehrere vorgegebene
Speicherkriterien erfüllt sind und bestimmt daraufhin,
ob die Daten von der vorstehend genannten Steuerapplikation 76 in
dem Cache-Speicher 62 gespeichert werden. Einmal in dem Cache-Speicher 62 gespeicherte
Daten können dem Webbrowser des PCs 100 bei zukünftiger
Anforderung, wie vorstehend mit Bezug auf die Schritte 1020 bis 1040 beschrieben,
schnell und einfach bereitgestellt werden.
-
Die
Speicherkriterien können dabei sowohl die angeforderten
Daten betreffen, als auch die aktuelle Datenkommunikation mit dem
Server 200 betreffende Parameter sowie Parameter des Datenträgers 10 und
allgemeine Voreinstellungen, die in dem Datenträger 10 gespeichert
sind. Es ist möglich, dass die Prüfapplikation 74 bestimmt,
dass die Daten gespeichert werden, wenn ein Speicherkriterium erfüllt ist.
Sie kann aber die Daten auch erst dann zum Speichern bestimmen,
wenn eine Kombination mehrerer Speicherkriterien erfüllt
ist. Die Prüfapplikation 74 kann dabei für
verschiedene angeforderte Daten verschiedene Kombinationen von Speicherkriterien anwenden.
Auch können die Kombinationen für identische,
mehrfach angeforderte Daten abhängig von anderen begleitenden
Umständen variieren.
-
Eine
Reihe möglicher Speicherkriterien, die bei dem beschrieben
Verfahren in dem Datenträger 10 implementiert
sind, wird im Folgenden beispielhaft beschrieben. Ein Speicherkriterium
gibt an, dass von dem Webbrowser angeforderte Daten, die einen entsprechenden
Datentyp aufweisen, in dem Cache-Speicher 62 gespeichert
werden sollen. Dies kann beispielsweise einen Grafik-, Video- oder
Audiodatentypen betreffen. Immer dann, wenn die angeforderten Daten
einen solchen Datentyp aufweisen, der in einen Datenkommunikation
gemäß dem HTTP-Protokoll z. B. an dem Header-Eintrag
"Content-Type" abgelesen werden kann, bestimmt die Prüfapplikation 74,
dass die entsprechenden Daten in dem Cache-Speicher 62 gespeichert
werden.
-
Ein
weiteres Speicherkriterium gibt an, dass solche Daten in dem Cache-Speicher 62 gespeichert werden
sollen, die mehrmals von einer Datenverarbeitungseinrichtung, z.
B. dem Webbrowser des PCs 100, angefordert werden. Die
in dem Speicherkriterium definierte erforderliche Häufigkeit
kann dabei variieren. Dazu kann die Webserver-Applikation 72 eine einfache
Liste von Einträgen über bislang angeforderte
Daten verwalten, wobei die Prüfapplikation 74 dann
testet, ob die angeforderten Daten in einer durch das Speicherkriterium
definierten Häufigkeit in der Liste vertreten sind. Dabei
ist es möglich, dass ein Eintrag in der Liste, die vorzugsweise
nichtflüchtig gespeichert wird, von einer Sitzung des Datenträgers 10 mit
einem von dem PC 100 abweichenden Gerät stammt.
Sind die Daten bereits in der geforderten Häufigkeit angefordert
worden, so bestimmt die Prüfapplikation 74, dass
die Daten in dem Cache-Speicher 62 gespeichert werden.
Die Einträge über die angeforderten Daten können
daraufhin aus der Liste der Webserver-Applikation 72 gestrichen werden.
-
Gemäß einem
weiteren Speicherkriterium bestimmt die Prüfapplikation 74,
dass angeforderte Daten gespeichert werden, wenn ihr Datenvolumen ein
bestimmtes vorgegebenes Minimaldatenvolumen unterschreitet oder
ein vorgegebenes Maximaldatenvolumen überschreitet. Die
Prüfapplikation 74 bestimmt dadurch beispielsweise,
dass von dem Server 200 bezogene kleine Dateien gespeichert
werden, so dass die Webserver-Applikation 72 bei abermaliger Anfrage
des Webbrowsers nach einer solchen Datei keine neue Datenkommunikationsverbindung
zu dem Server 200 aufbauen muss. Auf der anderen Seite
bestimmt die Prüfapplikation 74, dass sehr große,
vom dem Server 200 bezogene Dateien in dem Cache-Speicher 62 des
Datenträgers 10 gespeichert werden.
-
Ein
weiteres Speicherkriterium betrifft eine Zeitspanne zwischen dem
Senden einer Datenbezugsnachricht durch den Datenträger 10 an
den Server 200 und dem Empfangen einer Datennachricht von
dem Server 200 als Antwort auf die Datenbezugsnachricht. Übersteigt
diese Zeitspanne, die so genannte Server-Antwortzeit, eine in dem
Speicherkriterium definierte Zeitspanne, so bestimmt die Prüfapplikation 74,
dass die angeforderten Daten in dem Cache-Speicher 62 des
Datenträgers 10 gespeichert werden.
-
Ein
anderes Speicherkriterium gibt Daten vor, die, sobald sie von dem
Server 200 erstmalig bezogen werden, in dem Cache-Speicher 62 des
Datenträgers 10 gespeichert werden. Dies betrifft
in der Regel solche Daten, von denen vorab bekannt ist, dass sie
von dem Webbrowser des PCs 100 zukünftig wiederholt
angefordert werden.
-
Gemäß einem
weiteren Speicherkriterium kann die Prüfapplikation 74 die
Entscheidung darüber, ob angeforderte Daten gespeichert
werden, von der Größe des aktuell verfügbaren
Pufferspeichers 52 des Datenträgers 10 abhängig
machen und somit auf die aktuelle Ressourcenlage des Datenträgers 10 reagieren.
Ein anderes Speicherkriterium könnte den noch im Cache-Speicher 62 verfügbaren
Speicherplatz betreffen.
-
Andere
Speicherkriterien können eingesetzt werden, anhand derer
die Prüfapplikation 74 bestimmt, ob angeforderte
Daten, so sie noch nicht im Cache-Speicher 62 gespeichert
sind, dort gespeichert werden.
-
Hat
die Prüfapplikation 74 bestimmt, dass die bezogenen
Daten nicht in dem Cache-Speicher 62 gespeichert werden,
so kann sie, bevor die Daten in Schritt 1260 als Teil einer
Datenbereitstellungsnachricht an den Webbrowser des PCs 100 als
Antwort auf die in Schritt 1010 empfangene Datenanforderungsnachricht
gesendet werden, anhand eines oder mehrerer Fernspeicherkriterien
bestimmen, ob die Daten mit einem Speicherhinweis oder einer Speicheranweisung
versehen werden, welche bestimmen, das die Daten durch den Webbrowser
auf der Festplatte des PCs 100 zu speichern sind. Die Fernspeicherkriterien
können mit den vorstehend genannten Speicherkriterien teilweise übereinstimmen oder
aber unterschiedlich sein.
-
Anhängig
davon, wie die Prüfapplikation 74 bestimmt hat,
sendet die Webserver-Applikation 72 die Datenbereitstellungsnachricht,
die die angeforderten Daten umfasst, mit oder ohne Speicheranweisung
in Schritt 1260 an den Webbrowser des PCs 100.
-
Bestimmt
die Prüfapplikation 74, dass angeforderte Daten
in dem Cache-Speicher 62 gespeichert werden sollen, während
dort nicht mehr genügend Speicherplatz für die
zu speichernden Daten zur Verfügung steht, so entscheidet
die Steuerapplikation 76 nach bekannten Strategien, welche
in dem Cache-Speicher 62 gespeicherten Daten entfernt werden.
Gemäß der FIFO-Strategie werden z. B. immer die
Daten gelöscht, die schon am längsten im Cache-Speicher 62 gespeichert
sind. Eine andere Strategie, LRU ("least recently used"), gibt vor,
die Daten zu löschen, die am längsten nicht mehr
angefordert worden sind. Andere Strategien sind möglich.
-
Hat
die Prüfapplikation 74 Daten zum Speicher im Cache-Speicher 62 bestimmt,
so veranlasst sie die Steuerapplikation 76 in Schritt 1250,
die Daten in dem Cache-Speicher 62 zu speichern. Die Steuerapplikation 76 speichert
die Daten dann zusammen mit einer Zeitspeicherinformation in Form
eines Zeitstempels, der anzeigt, wann die Daten gespeichert worden
sind. Dies hilft, die Aktualität der Daten zu beurteilen
und vereinfacht Strategien zum Löschen von Daten aus dem
Cache-Speicher 62. Der Zeitstempel kann aber auch weggelassen
werden.
-
Anschließend
sendet die Webserver-Applikation 72 die Datenbereitstellungsnachricht,
die die angeforderten Daten umfasst, in Schritt 1260 an
den Webbrowser des PCs 100.
-
Das
mit Bezug auf Schritt 1100 beschriebene Beziehen von Daten
von dem Server 200 erfolgt in der Regel über das
Beziehen einer Mehrzahl von Datenpaketen, die neben einem protokollabhängigen Header-Anteil
jeweils einen Datenanteil einer gewissen vordefinierten Größe
aufweisen. Die Größe dieses Datenanteils kann
zwischen dem Datenträger 10 und dem Server 200 zu
Beginn der jeweiligen Datenübertragung vereinbart werden.
Aufgrund der begrenzten Ressourcen des Datenträgers 10,
insbesondere der begrenzten Größe des verfügbaren
Pufferspeichers 52, können Daten eines größeren
Volumens von dem Datenträger 10 nur in Form einer Mehrzahl
von Datenpaketen empfangen werden, von denen jedes eine Größe
aufweist, die die Größe des Pufferspeichers 52 nicht überschreitet.
Je kleiner die Datenpakete sind, desto mehr davon müssen
dementsprechend übertragen werden und desto länger dauert
die Datenübertragung.
-
Wenn
nun die Prüfapplikation 74 bestimmt, dass von
dem Server bezogene Daten im Cache-Speicher 62 gespeichert
werden sollen, so kann wie folgt vorgegangen werden. Die Steuerapplikation 76 gibt
beim ersten Beziehen der Daten eine Größe der
zu empfangenden Datenpakete vor – genauer eigentlich die
Größe des Datenanteils der Datenpakete; der Header-Anteil
hat meist eine vernachlässigbare konstante Größe –,
die im Wesentlichen der Größe des Pufferspeichers 52 entspricht,
und speichert beim Empfangen der Datenpakete jeweils nur jedes zweite
empfangene Datenpaket im Cache-Speicher 62. Bei einem abermaligen
Beziehen derselben Daten, welches notwendig wird, wenn die Daten
von dem Webbrowser des PCs 100 erneut angefordert werden,
legt die Steuerapplikation 76 die Größe
der zu beziehen den Datenpakete auf die doppelte Größe fest,
d. h. die Größe der Datenpakete entspricht nun im
Wesentlichen dem Doppelten der Größe des Pufferspeichers 52.
Dementsprechend müssen nur noch halb so viele Datenpakete
wie beim ersten Beziehen bezogen werden und der entsprechende Download benötigt
weniger Zeit. Die empfangenen Datenpakete können aufgrund
ihrer Größe nun vom Pufferspeicher 52 jeweils
nur noch zur Hälfte aufgenommen werden. Da aber die jeweils
dadurch verloren gehende Hälfte des Datenpakets beim ersten
Beziehen – als ein Datenpaket halber Größe – bereits
in dem Cache-Speicher 62 gespeichert worden ist, stehen
in dem Datenträger 10 wieder die vollständigen
angeforderten Daten bereit und können an den Webbrowser
des PCs 100 gesendet werden. Auf diese Weise kann ein Mittelweg
zwischen einem moderaten Verbrauch von Cache-Speicher-Ressourcen
in dem Datenträger 10 bei gleichzeitig relativ
schnellen Beantworten der Anfragen des Webbrowsers gefunden werden.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste
der vom Anmelder aufgeführten Dokumente wurde automatisiert
erzeugt und ist ausschließlich zur besseren Information
des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen
Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt
keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-
- - WO 00/65800
A1 [0005, 0005]
- - WO 03/094474 A1 [0006]
- - WO 03/094474 [0006]
- - DE 10317147 A1 [0007, 0007]
-
Zitierte Nicht-Patentliteratur
-