-
Die
Erfindung betrifft ein Verfahren zum Verringern des Transportvolumens
von Daten in Datennetzen, wobei von einer Datenquelle zu einem Client über einen Übertragungsweg
bereits übertragene
Content-Daten beim Client für
eine spätere
Wiederbenutzung nach Art des sogenannten Caching-Verfahrens zwischengespeichert
werden. Ein derartiges Verfahren ist aus
EP 1 308 853 A1 bekannt.
-
Da
der Transport von Daten in Datennetzen stets mit Kostenaufwand und
Wartezeit verbunden ist, werden verschiedene Techniken eingesetzt,
um das Datentransportvolumen zu reduzieren. Ein häufig zu
diesem Zweck angewandtes Verfahren besteht darin, bereits übertragene
Daten beim Client zur eventuellen Wiederbenutzung zu speichern.
Dieses Verfahren wird als "Caching" bezeichnet. Hierbei
entsteht das Problem, dass die Aktualität der gespeicherten Daten sichergestellt
bzw. überprüft werden
muss.
-
Es
handelt sich hierbei um ein Problem, das nicht nur vorkommt, wenn
ein Vorabrufen ("Prefetching") von Content ausgeführt wird,
sondern in jedem Fall dann auftritt, wenn Kopien von Daten gehalten
werden, was darin liegt, dass stets die Möglichkeit einer Änderung
der Originaldaten besteht. Immer wenn sich eine solche Änderung
ereignet, ist die Kopie überholt
oder ungültig,
wobei "überholt" bedeutet, dass die
Originaldaten sich geändert
haben, und "ungültig" besagt, dass die
Kopie überholt
ist und sich der Gebrauch der überholten
Kopie negativ auswirkt. Gewöhnlich
ist es zu vermeiden, dass ein Benutzer der Daten eine überholte Version
empfängt.
Algorithmen und Protokollerweiterungen, die einen solchen Gebrauch
von überholten
Daten verhindern, werden gewöhnlich "Cache-Invalidierungsmethoden" genannt und sind
ein Gebiet intensiver Untersuchung mit der Bezeichnung Cache Konsistenz.
-
Bei
der hier betrachteten Cache-Konfiguration und -Anwendung lassen
sich vier bekannte und grundsätzlich
unterschiedliche Methoden unterscheiden, nämlich die zeitliche Invalidierung,
die ortsabhängige
Invalidierung, die aktive Validierung/Invalidierung durch den Client
und die Invalidierung durch Rückfrage.
-
Bei
der zeitlichen Cache-Invalidierung wird ein Ablaufdatum verwendet,
das der Kopie der Daten zugewiesen ist. Nach diesem Ablaufdatum
wird die Kopie als überholt
angesehen. Diese Methode wird bei dem im World Wide Web eingesetzten
HTTP-Protokoll praktiziert, indem das Ablaufdatum mit dem optionalen "Expires"-Header-Feld (z.B.
Expires: Wed. 31 Dec 2003 18:00:00 GMT) übertragen wird. Es wird dann
die URL und das Ablaufdatum verglichen. Es sollte angemerkt werden,
dass diese Methode keine allgemeine Lösung des Cache-Konsistenzproblems
ist, sondern eine Übereinkunft
zwischen dem Benutzer und dem Provider von Daten bildet, wobei der
Provider sicherstellt, dass das Original bis zum Ablaufdatum nicht
verändert
wird oder dass bei seiner Veränderung
vor dem Ablaufdatum keine negativen Auswirkungen durch Verwendung
der überholten
Kopie entstehen, d.h. die Daten sind zwar überholt, aber nicht ungültig.
-
Die
ortsabhängige
Cache-Invalidierung ist aus dem Aufsatz von B. Zheng, J. Xu, D.L.
Lee: "Cache Invalidation
and Replacement Strategies for Location-Dependent Data in Mobile
Environments" in "IEEE Transactions
on Computers", Vol.
51, No. 10, Oktober 2002, Seiten 1141 bis 1153 vorgeschlagen worden.
Diese Methode betrachtet den Fall eines mobilen Benutzers mit bekannter
geographischer Position, für
den die Daten nur dann als gültig
angesehen werden, wenn er sich innerhalb eines bestimmten geographischen
Gebiets befindet. Als ein Beispiel wird die Abfrage nach dem "nächstgelegenen Restaurant" ange geben. Das Ergebnis dieser
Abfrage hängt
ganz eindeutig vom Ort des Benutzers ab. Bewegt sich der Benutzer
einmal in ein Gebiet hinein, in dem ein anderes Restaurant näher ist,
dann ist das Ergebnis nicht mehr gültig. Zur Erzielung einer empfindlichen
Validierung wird bei dieser bekannten Methode vorgeschlagen, ein
Gebiet, das als Geltungsbereichsgebiet bezeichnet wird, mit der
Kopie der Daten zu speichern. Abfragen, welche die Suche nach einem Objekt
mit dem Prädikat "nächstgelegenes" spezifizieren, werden
Segmente eines sogenannten Voronoi-Diagramms. Die Daten werden dann
als überholt
und ungültig
angesehen, wenn der Benutzer das Geltungsbereichsgebiet verlässt.
-
Wenn
die aktive Validierung durch den Client angewandt wird, trägt der Client
die Verantwortung, die Kopie jedesmal zu validieren, wenn auf die
Kopie zugegriffen wird. Er kontaktiert deshalb den Server, der die Originaldaten
enthält,
und fragt an, ob die Originaldaten seit dem Zeitpunkt, zu dem die
Kopie angefertigt worden ist, geändert
worden sind. Zu diesem Zweck speichert die Cache-Instanz diesen
Zeitpunkt mit der Kopie. Innerhalb des HTTP-Protokolls wird diese
Methode immer dort angewandt, wo ein Client ein besonderes Verfahren,
gewöhnlich
GET, benutzt und es durch einen "If-Modified-Since"-Header unter eine
Bedingung stellt. (z.B. If-Modified-Since: Thu, 27 Mar 2003 11:20:00
GMT). Wenn sich das Dokument seit der spezifizierten Zeit geändert hat,
gibt der Server die neue Version frei. Wenn es sich nicht geändert hat,
gibt der Server einen Error-Code (304) frei, der dem Client besagt,
dass die Kopie noch gültig
ist.
-
Die
Methode der Invalidierung durch Rückfrage verlangt, dass der
Server alle Kopien verfolgt, die angefertigt worden sind. Immer
wenn die Originaldaten verändert
worden sind, meldet der Server, d.h. die Datenquelle, auf Anfrage
aktiv allen In stanzen, die Kopien halten, dass eine neuere Version
vorhanden ist. Diese Methode wird innerhalb des HTTP-Protokolls
nicht realisiert.
-
Ein
weiterer wichtiger Punkt, der einen starken praktischen Einfluss
auf das Caching und Vorabrufen ("Prefetching") hat, betrifft den
dynamisch erzeugten Content. Eine große und anwachsende Anzahl von
Websites macht Gebrauch von der modernen Webserver-Fähigkeit,
Nutzer-Sitzungen durch die dynamische Erzeugung der Links, z.B.
innerhalb HTML-Dateien, zu verfolgen. Wenn eine Anfrage entsprechend
einem dynamisch erzeugten Link beim Server ankommt, ist die Server-Anwendung
dazu fähig,
die Informationen zu den notwendigen Dateien von der Zusatzinformation
zu trennen, die zum Verfolgen der Sitzungen verwendet wird. Im Ergebnis
kommt es oft vor, dass ein identischer Content unter vielfach verschiedenen
URLs verabreicht wird. Häufig
werden die ungünstigen
Auswirkungen dieser Erscheinung als Argumente gegen die Anwendung von
Caching und Vorabrufen ("Prefetching") angeführt, da
der Prozentsatz von cachingfähigen
Dokumenten erheblich verringert sein kann. 1 zeigt diesen Fall anhand eines Beispiels
mit zwei unterschiedlichen URLs und dabei identischem, dynamisch
erzeugten Content.
-
Eine ähnliche
Erscheinung tritt auch bei statischem Content in Fällen auf,
bei denen die gleichen Daten, z.B. für ein bestimmtes, für ein Symbol
benutztes Bild, durch mehrere Websites unter potentiell unterschiedlichen
Dateinamen verwendet werden. Dieser Effekt behindert das Caching
und Vorabrufen ("Prefetching") nicht, da alle
Instanzen der Daten cachingfähig
sind und wiederbenutzt werden können.
Nichtsdestoweniger könnten
zusätzliche Übertragungs-
und Speicherbetriebsmittel eingespart werden, wenn die Qualität/Identität der Daten
detektiert werden könnte. 2 zeigt diesen Fall anhand
eines Beispiels mit zwei unterschiedlichen URLs und dabei identischem,
statisch erzeugten Content.
-
Die
existierenden Verfahren zur Cache-Validierung weisen also vor allem
große
Schwächen
bei dynamisch erzeugtem Content, insbesondere durch Webanwendungen
oder Skripte, wie z.B. PHP, ASP, Servlets, JSP oder Perl, auf. Zum
einen werden Daten, deren URL sich geändert hat bzw. deren URL dynamisch
erzeugt worden ist, unnötigerweise
erneut übertragen,
obwohl sie inhaltsgleich sind, und zum anderen werden Daten, deren
URL gleich geblieben ist, nicht erneut übertragen, obschon es nötig gewesen
wäre.
-
Die
Punkte der Caching-Konsistenz und dynamischen Content-Erzeugung
sind an dieser Stelle besonders herausgearbeitet worden, um das
durch die Erfindung vorgestellte Verfahren zum Erlangen einer besseren
Verständlichkeit
aufzubereiten.
-
Der
Erfindung liegt die Aufgabe zu Grunde, bei Verfahren, bei welchen
von einer Datenquelle zu einem Client bereits übertragene Daten beim Client
für eine
spätere
Wiederbenutzung nach Art des sogenannten Caching-Verfahrens puffergespeichert
werden, die Aktualität
bzw. die Synchronität
der im Caching-Speicher
gespeicherten Daten mit denen der Datenquelle sicherzustellen, wobei
keine Kooperation der Betreiber der Datenquellen notwendig ist.
-
Gemäß der Erfindung,
die sich auf ein Verfahren der eingangs genannten Art bezieht, wird
diese Aufgabe in vorteilhafter Weise dadurch gelöst, dass in einem Proxy-Server
aus den auf eine Anfrage des Clients von einer Datenquelle ausgegebenen
Antwortdaten ähnlich
einer Prüfsummenbildung
ein Message-Digest
gebildet wird, dass dieser Message-Digest in diesem Proxy-Server
durch Vergleichen dahingehend überprüft wird,
ob bereits vorher ein übereinstimmender
Message-Digest in diesem Proxy-Server für den betreffenden Client gespeichert
worden ist, dass dann, wenn bereits ein übereinstimmender Message-Digest für den betreffenden
Client in diesem Proxy-Server eingespeichert ist, dem Client von
diesem Proxy-Server zusammen mit dem Message-Digest eine kurze Antwortmeldung übermittelt
wird, welche die Tatsache signalisiert, dass die Content-Daten dort
im Cache-Speicher des Clients oder eines dem Client zugeordneten
Proxys gefunden werden können,
der den Message-Digest als einen Schlüssel zum Aufspüren der
Content-Daten aus
seinem Cache-Speicher benutzt und diese an den Client liefert, bei
welchem die Content-Daten dann präsentiert werden, und dass nur
dann, wenn in dem der Datenquelle zugeordneten Proxy-Server bei
der vergleichenden Überprüfung des
Message-Digests festgestellt wird, dass dort kein übereinstimmender,
vorher eingespeicherter Message-Digest vorhanden ist, als Antwort
zum Client die vollständigen
Content-Daten einschließlich dem Message-Digest übertragen
werden, wobei die Content-Daten zusammen mit dem einer späteren Identifizierung
als Schlüssel
dienenden Message-Digest im Cache-Speicher des dem Client zugeordneten
Proxys gespeichert werden.
-
Durch
den Einsatz eines Proxy-Systems, das sich als Split-Proxy mit Cache-
und Hashing-Funktionalität
bezeichnen lässt,
und der Überprüfung und
des Vergleichs der Daten anhand von Message-Digests, die ähnlich gebildet
werden können
wie die Prüfsummenbildung
z.B. gemäß RFC 1321
(MD5), werden die unter der Aufgabenstellung angesprochenen Probleme
vollständig
gelöst.
Hierbei ist keine Kooperation mit den Betreibern der Datenquellen
erforderlich.
-
Das
Verfahren nach der Erfindung ermöglicht
es dem Endnutzer und/oder dem Betreiber der Zugangsnetze, diese
effizienter auszunutzen und damit Zeit und Kosten zu sparen, was
insbesondere bei Mobilfunknetzen eine sehr hohe Bedeutung hat.
-
Das
Verfahren nach der Erfindung umfasst eine besondere Arbeitsarchitektur,
Algorithmen und Protokolle, deren Kombination die gestellte Aufgabe
vor allem auch bei typischen mobilen Szenarien löst. Die Wirkungen des Verfahrens
sind vor allem unter der Voraussetzung wirksam, dass für ein drahtloses
Zugangslink die Kommunikationskapazität bedeutend geringer und die
Wartezeit erheblich höher
als innerhalb eines sich anschließenden Kernnetzwerks ist.
-
Unter
dieser Voraussetzung ist es möglich
und vorteilhaft, die Validierung des ganzen Contents zu versuchen,
sogar wenn dieser sich nicht explizit für das Caching empfiehlt. Innerhalb
des Verfahrens nach der Erfindung wird davon abgegangen, zum Identifizieren
und Indexieren der Daten URLs oder URIs zu verwenden. Anstelle davon
werden in vorteilhafter Weise an sich bekannte Message-Digestion-Algorithmen
wie z.B. MD5 und SHA-1 benutzt, die einen schnellen Vergleich von
Daten auf Gleichheit hin erleichtern. Dadurch wird man in die Lage
versetzt, die Validität
des Contents ohne jeglichen Blick auf die – potentiell dynamisch – zugewiesene
Kennzeichnung der Daten zu prüfen.
-
Vorteilhafte
Weiterbildungen des Verfahrens nach der Erfindung sind in den unmittelbar
oder mittelbar auf den Patentanspruch 1 rückbezogenen Unteransprüchen angegeben.
-
Der
Client kann mit seinem Proxy vom Aufbau her sehr vorteilhaft in
einem mobilen drahtlosen Informationsendgerät betrieben werden, das für Datendienste
wie z.B. WAP oder Web sowie alle weiteren Dienste für mobile
Endgeräten
wie z.B. Mobiltelefone, PDAs oder Laptops zugänglich ist. Dabei wird die
Kom munikation zwischen dem im mobilen drahtlosen Informationsendgerät untergebrachten
Proxy des Clients und dem Proxy-Server
entweder über
ein öffentliches
Mobilfunknetz oder über
einen residenten Proxy, der über
ein Kurzstreckenfunksystem, wie z.B. Bluetooth oder W-LAN, mit dem
Proxy des Clients kommuniziert, und ein öffentliches Festnetz, an welches
sowohl der residente Proxy als auch der der Datenquelle zugeordnete
Proxy-Server angebunden sind, vorgenommen.
-
Das
Verfahren nach der Erfindung wird nachfolgend anhand von Zeichnungen
erläutert.
Es zeigen:
-
1 anhand
eines Blockschaltbildes den bekannten und bereits vorher geschilderten
Fall eines Beispiels mit zwei unterschiedlichen URLs und dabei identischem,
dynamisch erzeugten Content,
-
2 anhand
eines Blockschaltbildes den ebenfalls bekannten und vorher auch
schon abgehandelten Fall eines Beispiels mit zwei unterschiedlichen
URLs und dabei identischem, statisch erzeugten Content,
-
3 in
einem schematischen Blockschaltbild ein Beispiel einer vollen Architektur
eines Systems zur Durchführung
des Verfahrens nach der Erfindung,
-
4 den
Verlauf eines Hash-Protokolls zur Benutzung beim Verfahren nach
der Erfindung, falls vorher noch kein identischer Content von einer
Server-Anwendung
zu einer Client-Anwendung übertragen
worden ist,
-
5 den
Verlauf eines Hash-Protokolls zum Einsatz beim Verfahren nach der
Erfindung, falls vorher bereits ein identischer Content von der
Server-Anwendung zur Client-Anwendung mit Cache übertragen worden ist, und
-
6 in
einer graphischen Funktionsdarstellung die Abhängigkeit der Zeitdauer der
Hash-Berechnung, also der Message-Digest-Berechnungszeit, von der
Datenlänge
für die
in Tabelle 1 angegebenen Realisierungsfälle bei Anwendung zweier verschiedener
Message-Digestion-Algorithmen, nämlich
MD5 und SHA-1.
-
In
dem in 3 dargestellten Architekturbeispiel sind drei
mobile drahtlose Informationsendgeräte WIDa,
WIDb und WIDc vorgesehen,
die jeweils im betreffenden Geräteaufbau
eine Client-Anwendung CA und einen mobilen Proxy MP enthalten. Die
Client-Informationsendgeräte
WIDa, WIDb und WIDc können
beispielsweise Mobiltelefone, PDAs oder Laptops sein und sind allesamt über Funk
angebunden. Dabei kommuniziert der mobile Proxy MP des ersten Client-Informationsendgerätes WIDa über eine
Bluetooth-Kurzstreckenfunkstrecke BT mit einem residenten Proxy
RP einer lokalen Dienststelle LSPi.
-
Der
mobile Proxy MP des zweiten Client-Informationsendgerätes WIDb
kommuniziert über
ein Bluetooth-Kurzstreckenfunksystem BT mit dem residenten Proxy
RP der lokalen Dienststelle LSPi und über eine W-LAN-Funkstrecke
gemäß IEEE 802.11
mit dem residenten Proxy RP einer zweiten lokalen Dienststelle LSPj.
-
Das
dritte Client-Informationsendgerät
WIDc erreicht mit seinem mobilen Proxy MP
keine lokale Dienststelle, sondern kommuniziert über ein öffentliches landgestütztes Mobilfunknetz,
das im Architekturbeispiel GPRS-Funktionalität aufweist, direkt mit einem
zentralen Proxy-Server CP, der drei verschie denen Server-Anwendungen
SA mit abfragbaren Datenquellen auf drei Host-Servern SA Hostp, SA Hostq und SA
Hostr zugeordnet und mit diesen über Leitungen
verbunden ist. An diesen zentralen Proxy-Server CP sind auch die beiden
lokalen Zugangsknoten LSPi und LSPj mit ihren residenten Proxys RP über Leitungen
angebunden. Zu Statistikzwecken ist an den zentralen Proxy CP noch
ein Situationsstatistik-Server SSS angebunden.
-
4 und 5 stellen
die Kommunikation zwischen den fünf
Entitäten
CA (= Client-Anwendung), MP (= mobiler Proxy), RP (= residenter
Proxy), CP (= zentraler Proxy-Server) und SA (= Server-Anwendung) gemäß einem
vorgeschlagenen Hash-Protokoll dar, das zum Ausräumen der vorher beschriebenen
nachteiligen Effekte bei der dynamischen Content-Erzeugung zweckmäßig eingesetzt
wird. Es ist wichtig, die erheblichen Unterschiede in der Datenübertragungsrate,
der Wartezeit und im Kostenaufwand der verschiedenen Kommunikationsverbindungen
im Gedächtnis
zu behalten.
-
Die
Client-Anwendung CA und der mobile Proxy MP liegen strukturell auf
der gleichen Vorrichtung, so dass davon ausgegangen werden kann,
dass hier hohe Datenübertragungsraten
erreicht werden, wogegen zwischen dem mobilen Proxy MP und dem residenten
Proxy RP die Verbindung auf Grund der Eigenschaft des drahtlosen
Mediums stets langsamer als alle anderen Verbindungen ist. Diese
verschiedenen Datenübertragungsraten
und Wartezeiten sind in 4 und 5 angegeben.
Zur verständlicheren
Bezugnahme sind dort Ereignisse oder Schritte von Interesse mit
entsprechenden, mit einem Kreis umrahmten Zahlen markiert, z.B. mit ➀ im
Text und in den Figuren.
-
Es
wird mit ➀ begonnen. Hier gibt die Client-Anwendung CA
eine Datenübermittlungsanfrage
Req1 zum mobilen Proxy MP aus, der auf der
gleichen Vorrichtung angeordnet ist. Der mobile Proxy MP enthält eine einzige
Identität
IDWID, welche das drahtlose Informationsendgerät WID im
Header kennzeichnet, und leitet bei ➁ die Anfrage Req1 über
eine drahtlose Kurzbereichskommunikation zum residenten Proxy RP
an einen erreichbaren lokalen Zugangsknoten LSP weiter. Vom residenten
Proxy RP wird die Anfrage Req1 bei ➂ unverändert zum
zentralen Proxy CP weitergeleitet, der seinerseits bei ➃ die
Anfrage Req1 zur eigentlichen Server-Anwendung
SA bei ➄ weiterleitet. Wenn keine lokale Dienststelle LSP
zugänglich
sein sollte, wird der residente Proxy RP ausgelassen und die Anfrage
Req1 wird über ein öffentliches Mobilfunknetz und
die geeigneten Zugänge
direkt zum zentralen Proxy CP bei ➃ weitergeleitet.
-
Die
Server-Anwendung SA empfängt
bei ➃ und zerlegt bei ➄ die Anfrage Req1, erzeugt die Antwort Resp1 mit
den angefragten Daten und startet damit, diese Daten, die im Beispiel
die Daten eines Bildes sind, zum zentralen Proxy CP zu senden. In
typischer Weise besteht keine Notwendigkeit, die Identität IDWID in die Antwort Resp1 mit
einzuschließen,
da alle Kommunikationen dazwischen verbindungsorientiert sind. Die
Antwort Resp1 ist daher mit der entsprechenden
Anfrage automatisch verbunden.
-
Dies
trifft für
die allgemeine Praxis zu, um HTTP-Verkehr über TCP zu transportieren.
Nichtsdestoweniger ist dies kein "Muss",
da HTTP auch über
verbindungslose (z.B. UDP) oder nachrichtenorientierte (z.B. E-Mail)
Kanäle
zwischen Proxys transportiert werden kann. In diesem Fall erfordert
es das Verfahren nach der Erfindung, in die Antworten auch Informationen
miteinzuschließen,
welche das jeweilige drahtlose Informationsendgerät WID identifizieren.
-
Der
zentrale Proxy CP bei ➅ wartet, bis die vollständige Antwort
Resp1 angekommen ist. Dann berechnet der
zentrale Proxy CP den in der Antwort Resp1 eingeschlossenen
Message-Digest der
Daten. Für
jedes drahtlose Informationsendgerät WID, das durch den zentralen
Proxy CP bedient wird, hält
dieser eine Liste, welche die Message-Digests aller Antwortdaten
enthält,
die zu der besonderen Vorrichtung WID gesendet worden sind. Wenn
die Daten vorher nicht zum drahtlosen Informationsendgerät WID gesendet
worden sind, wird ihr Message-Digest
MD nicht in dieser Liste gefunden.
-
In
diesem Fall, der in 4 dargestellt ist, schließt der zentrale
Proxy CP bei ➅ den Message-Digest MD in die Liste und in
den Antwort-Header mit ein und schickt die vollständige Antwort
Resp1 zum residenten Proxy RP. Der residente
Proxy RP führt
keinerlei Operation an den Daten oder an den Headers aus. Es startet unmittelbar
der Vorgang ➆, um den Datenfluss vom residenten Proxy RP
zum mobilen Proxy MP weiterzuleiten. Die Kommunikation zwischen
dem residenten Proxy RP und dem mobilen Proxy MP ist relativ langsam, wie
bereits vorher erwähnt
worden ist. Deswegen müssen
die vom zentralen Proxy CP ankommenden Daten in eine Warteschlange
eingereiht werden.
-
Nach
Ankunft der Anfangsbytes der Antwort Resp1 am
mobilen Proxy MP bei ➇, wird damit begonnen, diese zur
Client-Anwendung CA weiterzuleiten. Diese Verbindung ist gewöhnlich die
schnellste in der Übertragungskette
und zwar deswegen, weil durch eine Interprozesskommunikation innerhalb
einer Vorrichtung transportiert wird. Daher müssen in der Regel auch keine
oder nur kurze Warteschlangen aufgebaut werden. Der eingeschlossene
Message-Digest MD wird in einer Tabelle zusammen mit den Antwortdaten
zur potentiellen späteren
Wiederverwendung gespeichert. Dieses bildet die aktuelle Caching- Operation. Danach
wird die vollständige
Antwort Resp1 bei ➈ an die Client-Anwendung
CA weitergeleitet. Die Client-Anwendung
CA kann die Ergebnisse dem Benutzer präsentieren bzw. die Dokumentbeschreibung
für Bezugnahmen
analysieren, die auf eingebettete Objekte hinweisen.
-
Im
Zusammenhang mit 5 wird nachfolgend aufgezeigt,
wie trotz eines höheren
Aufwandes durch Anwendung des Verfahrens nach der Erfindung die
Kommunikationsbelastung reduziert wird.
-
Zu
einem späteren
Zeitpunkt soll von der Client-Anwendung CA eine weitere Datenübermittlungsanfrage
Reqk ausgegeben werden. Die Schritte ➀ bis ➃,
welche die Abwicklung einer Anfrage Reqk betreffen, sind
identisch zum vorher erläuterten
Fall der 1. Im Unterschied dazu spielt
sich jedoch diesmal das Geschehen so ab, dass die bei ➄ in
der Antwort Respk enthaltenen Daten eine
genaue Kopie, d.h. im dargestellten Beispiel das gleiche Bild, der
bereits vorher einmal zum drahtlosen Informationsendgerät WID transportierten Daten
sind.
-
Dieser
Umstand wird detektiert, da im zentralen Proxy-Server CP der Message-Digest
MD dieser Antwort Respk berechnet wird und
dieses Mal in der Liste gefunden wird, die für das besondere drahtlose Informationsendgerät WID im
zentralen Proxy CP gehalten wird. Der zentrale Proxy CP erzeugt
dann bei ➅ eine Antwort mit einem Header, der die Tatsache
signalisiert, dass die Daten auf dem besonderen Informationsendgerät WID gefunden
werden können
(HIT), und mit dem Message-Digest MD(Resp1).
-
Diese
Kurzantwort HIT,MD (Resp1) wird bei ➅ vom
zentralen Proxy-Server CP an den residenten Proxy RP gesendet, bei ➆ vom
residenten Proxy RP zum mobilen Proxy MP hin weitergeleitet und
bei ➇ am mobilen Proxy MP empfangen. Der mobile Proxy MP
benutzt den Message-Digest MD(Resp1) als
einen Schlüssel zum
Aufspüren
der Daten aus seinem Cache und liefert diese als volle Resp1 an die Client-Anwendung CA, wo der Content
dann bei ➈ im Beispiel in Form des Bildes präsentiert
wird.
-
Es
sollte an dieser Stelle betont werden, dass kein Zusammenwirken
von Server-Anwendungen SA benötigt
wird, damit sich das Verfahren nach der Erfindung entfalten kann.
-
Es
ist zwar die Tatsache in Kauf zu nehmen, dass die Berechnung des
Message-Digests Betriebsmittel und Zeit in Anspruch nimmt und somit
eine zusätzliche
Wartezeit einführt.
Um diese unerwünschte
zusätzliche Wartezeit
einzuschätzen,
sind Versuche für
zwei verschiedene Message-Digest-Algorithmen, nämlich MD5 und SHA-1, auf drei
verschiedenen Plattformen durchgeführt worden, die in der nachfolgenden
Tabelle 1 aufgeführt
sind.
Tabelle
1
-
Es
besteht besonderes Interesse an der Art der Zunahme (linear, polynomial,
exponentiell, ...) von Berechnungszeit in Abhängigkeit von der Messagedaten-Länge. Die
Ergebnisse der Versuche sind in 6 abgebildet
und zeigen mäßige Message-Digest-Berechnungszeiten
[ms] mit lediglich linearer Zunahme bei zunehmenden Messagedaten-Längen [byte].
Es lässt
sich ersehen, dass MD5 bei allen Plattformen marginal schneller
als SHA-1 arbeitet. Dies ergibt sich zum Teil aus der geringeren
Message-Digest-Länge
für MD5.
Die Ergebnisse erlauben den Schluss, dass die durch die Rechenzeit
eingeführten
Verzögerungen
für jede
beliebige gegebene Message-Digest-Länge erheblich kleiner als die
Verzögerungen
sind, die durch die begrenzte Datenübertragungsrate verursacht
werden.
-
Es
wird daher als ratsam angesehen, das erfindungsgemäß arbeitende
Verfahren zur Cache-Validierung insbesondere für eine dynamische Content-Erzeugung
und einen Dienst anzuwenden, der für mobile Vorrichtungen bereitgestellt
wird. Ohne allerdings irgend eine Bevorzugung auszusprechen, ist
MD5 als Standard-Message-Digest-Algorithmus innerhalb eines vorgeschlagenen
Protokolls auf Grund seiner ausreichenden Länge, seiner geringfügig schnelleren
Rechenzeit und seiner für
eine große
Anzahl von Plattformen vorhandenen Verfügbarkeit gewählt worden.
-
- BT
- Bluetooth-Funkstrecke
- CA
- Client-Anwendung
- CP
- Zentraler
Proxy-Server
- GPRS
- Mobilfunknetz
mit GPRS
- LSPi,LSPj
- Lokale
Dienststelle
- MD
- Message-Digest
- MP
- Mobiler
Proxy
- RP
- Residenter
Proxy
- Req1, Reqk
- Anfrage
- Resp1,Respk
- Antwort
- SA
- Server-Anwendung
- SA
Hostp, SA Hostq,
SA Hostr
- Host-Server
- SSS
- Situationsstatistik-Server
- W-LAN
- W-LAN-Funkstrecke
(IEEE 802.11)
- WIDa, WIDb, WIDc
- Drahtloses
Informationsendgerät