DE10356724B3 - Method for reducing the transport volume of data in data networks - Google Patents

Method for reducing the transport volume of data in data networks Download PDF

Info

Publication number
DE10356724B3
DE10356724B3 DE10356724A DE10356724A DE10356724B3 DE 10356724 B3 DE10356724 B3 DE 10356724B3 DE 10356724 A DE10356724 A DE 10356724A DE 10356724 A DE10356724 A DE 10356724A DE 10356724 B3 DE10356724 B3 DE 10356724B3
Authority
DE
Germany
Prior art keywords
proxy
data
client
message digest
server
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE10356724A
Other languages
German (de)
Inventor
Michael Angermann
Jens Kammann
Patrick Dr. Robertson
Christian Wasel
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Deutsches Zentrum fuer Luft und Raumfahrt eV
Original Assignee
Deutsches Zentrum fuer Luft und Raumfahrt eV
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Deutsches Zentrum fuer Luft und Raumfahrt eV filed Critical Deutsches Zentrum fuer Luft und Raumfahrt eV
Priority to DE10356724A priority Critical patent/DE10356724B3/en
Priority to AT04027953T priority patent/ATE510394T1/en
Priority to EP04027953A priority patent/EP1538804B1/en
Priority to US11/002,602 priority patent/US20050117558A1/en
Application granted granted Critical
Publication of DE10356724B3 publication Critical patent/DE10356724B3/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9574Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/04Protocols specially adapted for terminals or networks with limited capabilities; specially adapted for terminal portability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/288Distributed intermediate devices, i.e. intermediate devices for interaction with other intermediate devices on the same level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content
    • H04L67/5651Reducing the amount or size of exchanged application data

Abstract

The method involves checking a message digest in a proxy server by comparison whether an identical message digest has already been cached for a client. Brief response message is communicated to the client if the identical message digest has already been cached. Complete content including message digest serving as a key is communicated to proxy (MP) of the client for caching if the identical message digest has not been cached.

Description

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.The invention relates to a method for reducing the transport volume of data in data networks, wherein content data already transmitted from a data source to a client via a transmission path is buffered at the client for subsequent reuse in the manner of the so-called caching method. Such a procedure is over EP 1 308 853 A1 known.

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.There the transport of data in data networks always at a cost and Waiting time, different techniques are used, to reduce the data transport volume. A common too used for this purpose is already transferred Store data at the client for possible reuse. This procedure is called "caching". in this connection arises the problem that ensures the timeliness of the stored data or be checked got to.

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.It This is a problem that does not just happen when prefetching content is executed, but in any case then occurs when keeping copies of data what lies in it is always the possibility of a change the original data exists. Whenever such a change occurs, the copy is outdated or invalid, being "outdated" means that the Original data changed have, and "invalid" states that the Copy overhauled is and the use of the outdated Copy negatively affects. Usually It is to avoid that a user of the data is an outdated version receives. Algorithms and protocol extensions that use such from outdated Preventing data is commonly called "cache invalidation methods" and is a field of intense investigation called cache consistency.

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.at leave the cache configuration and application under consideration Four familiar and basically distinguish between different methods, namely the temporal invalidation, the location-dependent Invalidation, active validation / invalidation by the client and the invalidation by inquiry.

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.at the cache time invalidation uses an expiration date that is assigned to the copy of the data. After this expiration date the copy is considered obsolete considered. This method is used in the World Wide Web HTTP protocol practiced by passing the expiration date with the optional "Expires" header field (e.g. Expires: Wed. 31 Dec 2003 18:00:00 GMT). It will be then compared the URL and the expiration date. It should be noted that this method is not a general solution to the cache consistency problem is, but an agreement forms between the user and the provider of data, the Provider ensures that the original is not up to the expiration date changed or that at his change before the expiration date no negative effects through use the outdated Copy arise, i. the data is outdated, but not invalid.

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.The location-dependent Cache invalidation is known from the paper by 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, October 2002, pages 1141 to 1153 have been proposed. This method looks at the case of a mobile user with a known one geographical position, for the data only as valid be considered if he is within a certain geographic area Area is located. As an example, the query for the "nearest restaurant" will be given. The result of this Query hangs quite clearly from the place of the user. Moves the user once into an area where another restaurant is closer, then the result is no longer valid. To achieve a sensitive Validation is proposed in this known method Area referred to as the Scope, with which Save copy of the data. Queries which search for an object with the predicate "nearest" will be specified Segments of a so-called Voronoi diagram. The data will be then as obsolete and invalid viewed when the user leaves the scope.

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.When active validation is applied by the client, the client is responsible for validating the copy each time the copy is accessed. He therefore contacts the server containing the original data and asks whether the original data has been changed since the date on which the copy was made. For this purpose, the cache instance saves this time with the copy. Within the HTTP protocol, this method is always applied where a client uses a special method, usually GET, and conditions it with an "If-Modified-Since" header. (eg If-Modified-Since: Thu, 27 Mar 2003 11:20:00 GMT). If the document has been since the specified time has changed, the server releases the new version. If it has not changed, the server releases an error code (304) telling the client that the copy is still valid.

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.The Method of invalidation by inquiry requires that the Server tracks all copies that have been made. always if the original data changed have been reported by the server, i. the data source, on request Active in all instances that keep copies that a newer version is available. This method is within the HTTP protocol unrealized.

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.Another important issue that has a strong practical impact on caching and prefetching concerns dynamically generated content. A large and growing number of Web sites make use of the modern web server's ability to track user sessions through the dynamic generation of links, eg within HTML files. When a request corresponding to a dynamically generated link arrives at the server, the server application is able to separate the information about the necessary files from the additional information used to track the sessions. As a result, it often happens that an identical content is administered under much different URLs. Often, the adverse effects of this phenomenon are cited as arguments against the use of caching and prefetching, since the percentage of cacheable documents can be significantly reduced. 1 shows this case using an example with two different URLs and identical, dynamically generated 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.A similar phenomenon also occurs with static content in cases where the same data, eg for a particular image used for a symbol, is used by multiple websites under potentially different file names. This effect does not hinder caching and prefetching because all instances of the data are cacheable and reusable. Nevertheless, additional transmission and storage resources could be saved if the quality / identity of the data could be detected. 2 shows this case using an example with two different URLs and identical, statically generated 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.The existing methods for cache validation are therefore of prime importance size weaknesses for dynamically generated content, especially web applications or scripts, such as PHP, ASP, Servlets, JSP or Perl. To the one becomes data whose URL has changed or its URL becomes dynamic has been generated, unnecessarily retransmitted, although they are identical in content, and secondly, data whose URL has remained the same, not retransmitted, though it has been necessary would.

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.The Caching consistency and dynamic content creation issues have been specially worked out at this point to the method presented by the invention for obtaining a better comprehensibility prepare.

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.Of the The invention is based on the object, in processes in which Data already transferred from a data source to a client at the client for one latter Re-use buffered in the manner of the so-called caching method become, the actuality or the synchronicity in the caching store stored data with those of the data source, where no cooperation of the data source operators is necessary.

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.According to the invention, which relates to a method of the type mentioned above, this object is achieved in an advantageous manner by forming a message digest in a proxy server from the response data output on a request from the client from a data source, similar to a checksum formation is that this message digest is checked in this proxy server by comparing whether previously a matching message digest has been stored in this proxy server for that client that, if already a matching message digest for the client in question is stored in this proxy server, the client of this proxy server together with the message digest a short response message is sent, which signals the fact that the content data there in the cache memory of the client or the Client-assigned proxies can be found using the message digest as a key sel used to locate the content data from its cache memory and delivers it to the client, in which the content data is then presented, and that only when in the data source associated with the proxy server in the comparative review of the message -Digests is found that there is no matching, previously stored message digest, in response to the client, the full content data including the Message digest are transmitted, wherein the content data is stored together with the later serving as a key identifier message digest in the cache memory of the client associated with the proxy.

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.By the use of a proxy system that acts as a split proxy with cache and hashing functionality indicates that and the review and the comparison of the data based on message-digests that formed similarly can be like the checksum e.g. according to RFC 1321 (MD5), are the issues raised in the task Completely solved. There is no cooperation with the operators of the data sources required.

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.The Method according to the invention allows the end user and / or the operator of the access networks, these exploit more efficiently and thus save time and costs, what especially in mobile networks has a very high importance.

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.The Method according to the invention comprises a special working architecture, Algorithms and protocols, their combination of the task especially in typical mobile scenarios. The effects of the procedure are especially effective under the condition that for a wireless Access link the communication capacity significantly lower and the Waiting time considerably higher than within a subsequent core network.

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.Under this condition is possible and advantageous to try validating the whole content even if it is not explicitly recommended for caching. Within of the method according to the invention is departed from for identifying and indexing the data to use URLs or URIs. Instead of it are advantageously known per se Message digestion algorithms such as. MD5 and SHA-1 used a quick comparison of Facilitate data on equality. This will put you in the position offset, the validity of content without any view of the - potentially dynamic - assigned Marking of the data to be checked.

Vorteilhafte Weiterbildungen des Verfahrens nach der Erfindung sind in den unmittelbar oder mittelbar auf den Patentanspruch 1 rückbezogenen Unteransprüchen angegeben.advantageous Further developments of the method according to the invention are in the immediate or indirectly to the claim 1 back dependent claims specified.

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.Of the Client can be very beneficial in construction with its proxy a mobile wireless information terminal operated for data services such as. WAP or Web and all other services for mobile terminals such as. Mobile phones, PDAs or laptops is accessible. Here is the Communication between the accommodated in the mobile wireless information terminal Proxy of the client and the proxy server either over a public one Mobile network or over a resident proxy that over a short distance radio system, such as Bluetooth or W-LAN, with the Proxy of the client communicates, and a public landline to which both the resident proxy and the data source associated Proxy servers are connected.

Das Verfahren nach der Erfindung wird nachfolgend anhand von Zeichnungen erläutert. Es zeigen:The Method according to the invention is described below with reference to drawings explained. Show it:

1 anhand eines Blockschaltbildes den bekannten und bereits vorher geschilderten Fall eines Beispiels mit zwei unterschiedlichen URLs und dabei identischem, dynamisch erzeugten Content, 1 Based on a block diagram the known and previously described case of an example with two different URLs and thereby identical, dynamically generated 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, 2 Based on a block diagram the also known and previously already handled case of an example with two different URLs and thereby identical, statically generated content,

3 in einem schematischen Blockschaltbild ein Beispiel einer vollen Architektur eines Systems zur Durchführung des Verfahrens nach der Erfindung, 3 in a schematic block diagram an example of a full architecture of a system for carrying out the method according to the invention,

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, 4 the course of a hash protocol for use in the method according to the invention, if previously no identical content has been transferred from a server application to a client application,

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 5 the history of a hash protocol for use in the method according to the invention, if previously an identical content has been transferred from the server application to the client application with cache, and

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. 6 in a graphical representation of the function of the duration of the hash computation tion, that is, the message digest computation time, of the data length for the implementation cases given in Table 1 using two different message digestion algorithms, namely MD5 and 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.In the in 3 illustrated architectural example, three mobile wireless information terminals WID a , WID b and WID c are provided, each containing a client application CA and a mobile proxy MP in the relevant device structure. The client information terminals WID a , WID b and WID c can be, for example, mobile phones, PDAs or laptops and are all connected by radio. In this case, the mobile proxy MP of the first client information terminal WIDa communicates via a Bluetooth short-distance radio link BT with a resident proxy RP of a local service LSP i .

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.The mobile proxy MP of the second client information terminal WIDb communicates via a Bluetooth short-distance radio system BT with the resident proxy RP of the local service LSPi and via a wireless LAN in accordance with IEEE 802.11 with the resident proxy RP of a second local service LSP j .

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.The third client information terminal WID c reaches with its mobile proxy MP no local office, but communicates via a public land-based mobile network, which has GPRS functionality in the architectural example, directly with a central proxy server CP, the three various server applications SA associated with queriable data sources on three host servers SA host p , SA host q and SA host r and connected to them via lines. The two local access nodes LSP i and LSP j with their resident proxies RP are also connected via lines to this central proxy server CP. For statistical purposes, a situation statistics server SSS is connected to the central proxy CP.

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. 4 and 5 provide communication between the five entities CA (= client application), MP (= mobile proxy), RP (= resident proxy), CP (= central proxy server) and SA (= server application) according to a proposed hash Protocol that is expediently used to eliminate the previously described adverse effects in dynamic content creation. It is important to remember the significant differences in data transfer rate, latency, and cost of the various communication links.

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.The client application CA and the mobile proxy MP are structurally on the same device, so that it can be assumed that high data transmission rates are achieved here, whereas between the mobile proxy MP and the resident proxy RP the connection is due to the property of the wireless Medium is always slower than all other connections. These different data transfer rates and waiting times are in 4 and 5 specified. For a more comprehensive reference, there events or steps of interest are marked with corresponding numbers framed by a circle, eg with ➀ in the text and in the figures.

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.It is started with ➀. Here, the client application CA issues a data transfer request Req 1 to the mobile proxy MP located on the same device. The mobile proxy MP contains a single identity ID WID identifying the wireless information terminal WID in the header, and at ➁ forwards the request Req 1 via a short-range wireless communication to the resident proxy RP to an accessible local access point LSP. From the resident proxy RP, the request Req 1 is forwarded unchanged at ➂ to the central proxy CP, which in turn forwards the request Req 1 to the actual server application SA at ➃ at ➃. If no local service LSP should be accessible, the resident proxy RP is skipped and the request Req 1 is forwarded via a public mobile network and the appropriate accesses directly to the central proxy CP at ➃.

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.The server application SA receives at ➃ and decomposes at ➄ the request Req 1 , generates the response Resp 1 with the requested data and starts to send these data, which in the example is the data of an image, to the central proxy CP. Typically, there is no need to include the identity ID WID in the response Resp 1 since all communications between them are connection-oriented. The answer Resp 1 is therefore automatically connected to the corresponding request.

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.This is common practice for transporting HTTP traffic over TCP. Nevertheless, this is not a "must", as HTTP can also be transported between proxies via connectionless (eg UDP) or message-oriented (eg e-mail) channels. In this case, it requires the method according to the invention to include in the answers also information which the respective wireless Informati identify the WID.

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.The central proxy CP at ➅ waits until the complete response Resp 1 has arrived. The central proxy CP then calculates the message digest of the data included in the response Resp 1 . For each wireless information terminal WID served by the central proxy CP, it holds a list containing the message digests of all response data sent to the particular device WID. If the data has not previously been sent to the wireless information terminal WID, its message digest MD is not found in this list.

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.In this case, the in 4 is shown, the central proxy CP at ➅ includes the message digest MD in the list and in the response header and sends the complete response Resp 1 to the resident proxy RP. The resident proxy RP does not perform any operation on the data or headers. The process ➆ starts immediately in order to forward the data flow from the resident proxy RP to the mobile proxy MP. The communication between the resident proxy RP and the mobile proxy MP is relatively slow, as previously mentioned. Therefore, the incoming data from the central proxy CP must be queued.

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.Upon arrival of the beginning bytes of the response Resp 1 at the mobile proxy MP at ➇, it is started to forward them to the client application CA. This connection is usually the fastest in the transmission chain, because it is transported by inter-process communication within a device. Therefore, usually no or only short queues must be established. The included message digest MD is stored in a table along with the potential later reuse response data. This forms the current caching operation. Thereafter, the complete response Resp 1 is forwarded to the client application CA at ➈. The client application CA can present the results to the user or analyze the document description for references that indicate embedded objects.

Im Zusammenhang mit 5 wird nachfolgend aufgezeigt, wie trotz eines höheren Aufwandes durch Anwendung des Verfahrens nach der Erfindung die Kommunikationsbelastung reduziert wird.In connection with 5 will be shown below, how despite a higher effort by applying the method according to the invention, the communication load is reduced.

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.At a later time, the client application CA is to issue a further data transmission request Req k . The steps ➀ to ➃, which relate to the processing of a request Req k , are identical to the previously explained case of 1 , In contrast, however, this time the event takes place in such a way that the data contained in response Resp k in ➄ an exact copy, ie the same image in the example shown, the previously transported once to the wireless information terminal WID data.

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).This circumstance is detected because the message digest MD of this response Resp k is calculated in the central proxy server CP and this time is found in the list which is held for the particular wireless information terminal WID in the central proxy CP. The central proxy CP then generates at ➅ a response with a header signaling the fact that the data can be found on the particular information terminal WID (HIT) and with the message digest MD (Resp 1 ).

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.This short answer HIT, MD (Resp 1 ) is sent at ➅ from the central proxy server CP to the resident proxy RP, forwarded at ➆ from the resident proxy RP to the mobile proxy MP and received at ➇ at the mobile proxy MP. The mobile proxy MP uses the message digest MD (Resp 1 ) as a key to fetch the data from its cache and delivers it as full Resp 1 to the client application CA, where the content is then bei in the example in the form of the image is presented.

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.It should be stressed at this point that no interaction required by server applications SA is, so that the process of the invention can develop.

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.

Figure 00140001
Tabelle 1 Although it is to be accepted the fact that the calculation of the message digest takes up resources and time and thus introduces an additional waiting time. In order to estimate this undesirable additional waiting time, experiments for two different message digest algorithms, namely MD5 and SHA-1, have been performed on three different platforms, which are listed in Table 1 below.
Figure 00140001
Table 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.There is a particular interest in the type of increase (linear, polynomial, exponential, ...) of calculation time as a function of the message data length. The results of the experiments are in 6 and show moderate message digest calculation times [ms] with only linear increase with increasing message data lengths [byte]. It can be seen that MD5 works marginally faster than SHA-1 on all platforms. This is partly due to the lower message digest length for MD5. The results allow us to conclude that the delays introduced by the computational time for any given message digest length are significantly smaller than the delays caused by the limited data transmission rate.

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.It is therefore considered advisable, working according to the invention Method for cache validation, in particular for dynamic content generation and to apply a service provided for mobile devices becomes. Without expressing any preference, however, is MD5 as a default message digest algorithm within a proposed Protocol because of its sufficient length, its slightly faster Computing time and his for a big Number of platforms available availability has been selected.

BTBT
Bluetooth-FunkstreckeBluetooth radio link
CACA
Client-AnwendungClient Application
CPCP
Zentraler Proxy-Servercentral Proxy Server
GPRSGPRS
Mobilfunknetz mit GPRSmobile network with GPRS
LSPi,LSPj LSP i , LSP j
Lokale Dienststellelocal Department
MDMD
Message-DigestMessage-Digest
MPMP
Mobiler Proxymobile proxy
RPRP
Residenter Proxyresident proxy
Req1, Reqk Req 1 , Req k
Anfrageinquiry
Resp1,Respk Resp 1 , Resp k
Antwortanswer
SASA
Server-AnwendungServer application
SA Hostp, SA Hostq, SA Hostr SA host p , SA host q , SA host r
Host-ServerHost server
SSSSSS
Situationsstatistik-ServerSituation statistics server
W-LANwireless Internet access
W-LAN-Funkstrecke (IEEE 802.11)Wireless radio link (IEEE 802.11)
WIDa, WIDb, WIDc WID a , WID b , WID c
Drahtloses Informationsendgerätwireless information terminal

Claims (7)

Verfahren zum Verringern des Transportvolumens von Daten in Datennetzen, wobei von einer Datenquelle (SA) zu einem Client (CA) über einen Übertragungsweg bereits übertragene Content-Daten beim Client (CA) für eine spätere Wiederbenutzung nach Art des sogenannten Caching-Verfahrens zwischengespeichert werden, dadurch gekennzeichnet, dass in einem Proxy-Server (CP) aus den auf eine Anfrage (Req) des Clients (CA) von einer Datenquelle (SA) ausgegebenen Antwortdaten (Resp) ähnlich einer Prüfsummenbildung durch Rechnung ein Message-Digest (MD) gebildet wird, dass dieser Message-Digest (MD) in diesem Proxy-Server (CP) durch Vergleichen dahingehend überprüft wird, ob bereits vorher ein übereinstimmender Message-Digest (MD) in diesem Proxy-Server (CP) für den betreffenden Client (CA) gespeichert worden ist, dass dann, wenn bereits ein übereinstimmender Message-Digest (MD) für den betreffenden Client (CA) in diesem Proxy-Server (CP) eingespeichert ist, dem Client (CA) von diesem Proxy-Server (CP) zusammen mit, dem Message-Digest (MD) eine kurze Antwortmeldung (HIT) übermittelt wird, welche die Tatsache signalisiert, dass die Content-Daten dort im Cache-Speicher eines diesem Client (CA) zugeordneten Proxys (MP) gefunden werden können, der den Message-Digest (MD) als einen Schlüssel zum Aufspüren der Content-Daten aus seinem Cache-Speicher benutzt und diese an den Client (CA) liefert, bei welchem die Content-Daten dann präsentiert werden, und dass nur dann, wenn in dem der Datenquelle (SA) zugeordneten Proxy-Server (CP) bei der vergleichenden Überprüfung des Message-Digests (MD) festgestellt wird, dass dort kein übereinstimmender, vorher eingespeicherter Message-Digest (MD) vorhanden ist, als Antwort zum Client (CA) die vollständigen Content-Daten einschließlich dem Message-Digest (MD) übertragen werden, wobei die Content-Daten zusammen mit dem einer späteren Identifi zierung als Schlüssel dienenden Message-Digest (MD) im Cache-Speicher des dem Empfänger (CA) zugeordneten Proxys (MP) gespeichert werden.Method for reducing the transport volume of data in data networks, wherein content data already transferred from a data source (SA) to a client (CA) via a transmission path is buffered at the client (CA) for subsequent reuse, in the manner of the so-called caching method, characterized in that in a proxy server (CP) from the response to a request (Req) of the client (CA) from a data source (SA) output response data (Resp) similar to a checksum formation by calculation a message digest (MD) is formed in that this message digest (MD) is checked in this proxy server (CP) by comparing whether a matching message digest (MD) has previously been stored in this proxy server (CP) for the relevant client (CA) that is if a matching message digest (MD) for that client (CA) has already been stored in this proxy server (CP), the client (CA) of that proxy server (CP) together with the message digest (MD) a short response message (HIT) is signaled, which signals the fact that the content data can be found there in the cache memory of a proxy (MP) associated with this client (CA), the message digest (MD) used as a key to retrieve the content data from its cache memory and deliver it to the client (CA), where the content data is then presented, and that only if in the proxy associated with the data source (SA) Server (CP) is found in the comparative verification of the message digest (MD) that there is no matching, previously stored message digest (MD), as a response to the client (CA) the full content data including the message Digest (MD ), wherein the content data, together with the message digest (MD) serving as a key for subsequent identification, are stored in the cache memory of the proxy (MP) assigned to the recipient (CA). Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass als Message-Digestion-Algorithmus in dem der Datenquelle (SA) zugeordneten Proxy-Server (CP) bei der vergleichenden Überprüfung des Message-Digests (MD) mit Hashing-Funktionalität der MD5- oder SHA-1-Algorithmus eingesetzt wird, die einen schnellen Vergleich von Daten auf Gleichheit hin erleichtern.Method according to claim 1, characterized in that that as a message-digestion algorithm in the data source (SA) assigned proxy server (CP) in the comparative review of the Message digest (MD) with hashing functionality of the MD5 or SHA-1 algorithm is used, which makes a quick comparison of data on equality towards easier. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass der Client (CA) mit seinem Proxy (MP) in einem mobilen drahtlosen Informationsendgerät (WID) betrieben wird, das für Datendienste, wie z.B. WAP oder Web, verwendbar ist.Method according to claim 1 or 2, characterized that the client (CA) with its proxy (MP) in a mobile wireless information terminal (WID) is operated for Data services, such as WAP or Web, is usable. Verfahren nach Anspruch 3, dadurch gekennzeichnet, dass die Kommunikation zwischen dem im mobilen drahtlosen Informationsendgerät (WID) untergebrachten Proxy (MP) des Clients (CA) und dem der Datenquelle (SA) zugeordneten Proxy-Server (CP) entweder über ein öffentliches Mobilfunknetz oder über einen residenten Proxy (RP), der über eine Kurzstreckenfunkstrecke, wie z.B. Bluetooth oder W-LAN, mit dem Proxy des Clients (CA) kommuniziert, und ein öffentliches Festnetz, an welches sowohl der residente Proxy (RP) als auch der Proxy-Server (CP) angebunden sind, vorgenommen wird.Method according to claim 3, characterized that the communication between the in the mobile wireless information terminal (WID) accommodated proxy (MP) of the client (CA) and the data source (SA) associated proxy server (CP) either via a public mobile network or via a resident proxy (RP) that over a short distance radio link, such as Bluetooth or W-LAN, with the client (CA) proxy communicates, and a public one Fixed network to which both the resident proxy (RP) and the Proxy server (CP) tethered, is made. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass der mobile Proxy (MP) in die Client-Anwendung (CA) integriert wird.Method according to one of the preceding claims, characterized characterized in that the mobile proxy (MP) integrated into the client application (CA) becomes. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass der zentrale Proxy-Server (CP) in die Server-Anwendung (SA) integriert wird.Method according to one of the preceding claims, characterized characterized in that the central proxy server (CP) in the server application (SA) is integrated. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass im zentralen Proxy-Server (CP) statistische Daten erfasst werden.Method according to one of the preceding claims, characterized characterized in that in the central proxy server (CP) statistical Data is collected.
DE10356724A 2003-12-02 2003-12-02 Method for reducing the transport volume of data in data networks Expired - Fee Related DE10356724B3 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
DE10356724A DE10356724B3 (en) 2003-12-02 2003-12-02 Method for reducing the transport volume of data in data networks
AT04027953T ATE510394T1 (en) 2003-12-02 2004-11-25 METHOD FOR REDUCING THE TRANSPORT VOLUME OF DATA IN DATA NETWORKS
EP04027953A EP1538804B1 (en) 2003-12-02 2004-11-25 Method for reducing the volume of data to be transmitted in data networks
US11/002,602 US20050117558A1 (en) 2003-12-02 2004-12-02 Method for reducing data transport volume in data networks

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE10356724A DE10356724B3 (en) 2003-12-02 2003-12-02 Method for reducing the transport volume of data in data networks

Publications (1)

Publication Number Publication Date
DE10356724B3 true DE10356724B3 (en) 2005-06-16

Family

ID=34442444

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10356724A Expired - Fee Related DE10356724B3 (en) 2003-12-02 2003-12-02 Method for reducing the transport volume of data in data networks

Country Status (4)

Country Link
US (1) US20050117558A1 (en)
EP (1) EP1538804B1 (en)
AT (1) ATE510394T1 (en)
DE (1) DE10356724B3 (en)

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006088922A2 (en) * 2005-02-14 2006-08-24 Reactivity, Inc. Proxy server caching
US8312074B2 (en) * 2005-05-26 2012-11-13 Bytemobile, Inc. Method for multipart encoding
CA2513010A1 (en) * 2005-07-22 2007-01-22 Research In Motion Limited A method for detecting state changes between data stored in a first computing device and data retrieved from a second computing device
CA2513016A1 (en) 2005-07-22 2007-01-22 Research In Motion Limited A secure method of synchronizing cache contents of a mobile browser with a proxy server
CA2513019A1 (en) * 2005-07-22 2007-01-22 Research In Motion Limited A method for communicating state information between a server and a mobile device browser with version handling
CA2513022A1 (en) 2005-07-22 2007-01-22 Research In Motion Limited System and method for communicating state management between a browser user-agent and a mobile data server
CA2513018A1 (en) * 2005-07-22 2007-01-22 Research In Motion Limited Method for training a proxy server for content delivery based on communication of state information from a mobile device browser
CA2513014A1 (en) * 2005-07-22 2007-01-22 Research In Motion Limited A method of controlling delivery of multi-part content from an origin server to a mobile device browser via a proxy server
US8484162B2 (en) 2008-06-24 2013-07-09 Commvault Systems, Inc. De-duplication systems and methods for application-specific data
US8930306B1 (en) 2009-07-08 2015-01-06 Commvault Systems, Inc. Synchronized data deduplication
WO2011100518A2 (en) * 2010-02-12 2011-08-18 Movik Networks, Inc. Charging-invariant and origin-server-friendly transit caching in mobile networks
WO2012012334A2 (en) 2010-07-19 2012-01-26 Movik Networks Content pre-fetching and cdn assist methods in a wireless mobile network
US8577851B2 (en) 2010-09-30 2013-11-05 Commvault Systems, Inc. Content aligned block-based deduplication
US8578109B2 (en) 2010-09-30 2013-11-05 Commvault Systems, Inc. Systems and methods for retaining and using data block signatures in data protection operations
US8954446B2 (en) 2010-12-14 2015-02-10 Comm Vault Systems, Inc. Client-side repository in a networked deduplicated storage system
US9020900B2 (en) 2010-12-14 2015-04-28 Commvault Systems, Inc. Distributed deduplicated storage system
IN2014DN09138A (en) * 2012-04-04 2015-05-22 Unwired Planet Inc
US9251186B2 (en) 2012-06-13 2016-02-02 Commvault Systems, Inc. Backup using a client-side signature repository in a networked storage system
US9665591B2 (en) 2013-01-11 2017-05-30 Commvault Systems, Inc. High availability distributed deduplicated storage system
US9009103B2 (en) * 2013-03-15 2015-04-14 Microsoft Technology Licensing, Llc Fingerprint-based, intelligent, content pre-fetching
IN2013CH05044A (en) * 2013-11-08 2015-05-29 Huawei Technologies India Pvt Ltd
US9633056B2 (en) 2014-03-17 2017-04-25 Commvault Systems, Inc. Maintaining a deduplication database
US10380072B2 (en) 2014-03-17 2019-08-13 Commvault Systems, Inc. Managing deletions from a deduplication database
US11249858B2 (en) 2014-08-06 2022-02-15 Commvault Systems, Inc. Point-in-time backups of a production application made accessible over fibre channel and/or ISCSI as data sources to a remote application by representing the backups as pseudo-disks operating apart from the production application and its host
US9852026B2 (en) 2014-08-06 2017-12-26 Commvault Systems, Inc. Efficient application recovery in an information management system based on a pseudo-storage-device driver
US9575673B2 (en) 2014-10-29 2017-02-21 Commvault Systems, Inc. Accessing a file system using tiered deduplication
US10339106B2 (en) 2015-04-09 2019-07-02 Commvault Systems, Inc. Highly reusable deduplication database after disaster recovery
US20160350391A1 (en) 2015-05-26 2016-12-01 Commvault Systems, Inc. Replication using deduplicated secondary copy data
US9766825B2 (en) 2015-07-22 2017-09-19 Commvault Systems, Inc. Browse and restore for block-level backups
US10061663B2 (en) 2015-12-30 2018-08-28 Commvault Systems, Inc. Rebuilding deduplication data in a distributed deduplication data storage system
US10296368B2 (en) 2016-03-09 2019-05-21 Commvault Systems, Inc. Hypervisor-independent block-level live browse for access to backed up virtual machine (VM) data and hypervisor-free file-level recovery (block-level pseudo-mount)
US10846024B2 (en) 2016-05-16 2020-11-24 Commvault Systems, Inc. Global de-duplication of virtual disks in a storage platform
US10795577B2 (en) 2016-05-16 2020-10-06 Commvault Systems, Inc. De-duplication of client-side data cache for virtual disks
US10740193B2 (en) 2017-02-27 2020-08-11 Commvault Systems, Inc. Hypervisor-independent reference copies of virtual machine payload data based on block-level pseudo-mount
US10664352B2 (en) 2017-06-14 2020-05-26 Commvault Systems, Inc. Live browsing of backed up data residing on cloned disks
CN109558421A (en) * 2018-10-29 2019-04-02 中国建设银行股份有限公司 Data processing method, system, device and storage medium based on caching
US11010258B2 (en) 2018-11-27 2021-05-18 Commvault Systems, Inc. Generating backup copies through interoperability between components of a data storage management system and appliances for data storage and deduplication
US11698727B2 (en) 2018-12-14 2023-07-11 Commvault Systems, Inc. Performing secondary copy operations based on deduplication performance
US20200327017A1 (en) 2019-04-10 2020-10-15 Commvault Systems, Inc. Restore using deduplicated secondary copy data
US11463264B2 (en) 2019-05-08 2022-10-04 Commvault Systems, Inc. Use of data block signatures for monitoring in an information management system
US11442896B2 (en) 2019-12-04 2022-09-13 Commvault Systems, Inc. Systems and methods for optimizing restoration of deduplicated data stored in cloud-based storage resources
US11687424B2 (en) 2020-05-28 2023-06-27 Commvault Systems, Inc. Automated media agent state management

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1308853A1 (en) * 2001-10-30 2003-05-07 Hewlett-Packard Company Data caching

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5864852A (en) * 1996-04-26 1999-01-26 Netscape Communications Corporation Proxy server caching mechanism that provides a file directory structure and a mapping mechanism within the file directory structure
US6397259B1 (en) * 1998-05-29 2002-05-28 Palm, Inc. Method, system and apparatus for packet minimized communications
US6658463B1 (en) * 1999-06-10 2003-12-02 Hughes Electronics Corporation Satellite multicast performance enhancing multicast HTTP proxy system and method
US6779042B1 (en) * 1999-09-10 2004-08-17 Ianywhere Solutions, Inc. System, method, and computer program product for enabling on-device servers, offline forms, and dynamic ad tracking on mobile devices
US20020073167A1 (en) * 1999-12-08 2002-06-13 Powell Kyle E. Internet content delivery acceleration system employing a hybrid content selection scheme
US7412462B2 (en) * 2000-02-18 2008-08-12 Burnside Acquisition, Llc Data repository and method for promoting network storage of data
US6981157B2 (en) * 2000-08-30 2005-12-27 Lucent Technologies Inc. Method and apparatus for ensuring security of users of short range wireless enable devices
US6934740B1 (en) * 2000-09-19 2005-08-23 3Com Corporation Method and apparatus for sharing common data objects among multiple applications in a client device
US6407680B1 (en) * 2000-12-22 2002-06-18 Generic Media, Inc. Distributed on-demand media transcoding system and method
US7165107B2 (en) * 2001-01-22 2007-01-16 Sun Microsystems, Inc. System and method for dynamic, transparent migration of services
WO2002057917A2 (en) * 2001-01-22 2002-07-25 Sun Microsystems, Inc. Peer-to-peer network computing platform
US6993660B1 (en) * 2001-08-03 2006-01-31 Mcafee, Inc. System and method for performing efficient computer virus scanning of transient messages using checksums in a distributed computing environment
US7287053B2 (en) * 2002-01-15 2007-10-23 International Business Machines Corporation Ad hoc data sharing in virtual team rooms
JP4366040B2 (en) * 2002-03-07 2009-11-18 インターナショナル・ビジネス・マシーンズ・コーポレーション Network service system, server and program
US20040044731A1 (en) * 2002-03-22 2004-03-04 Kailai Chen System and method for optimizing internet applications
CN1221898C (en) * 2002-08-13 2005-10-05 国际商业机器公司 System and method for updating network proxy cache server object
US7284030B2 (en) * 2002-09-16 2007-10-16 Network Appliance, Inc. Apparatus and method for processing data in a network
US7171469B2 (en) * 2002-09-16 2007-01-30 Network Appliance, Inc. Apparatus and method for storing data in a proxy cache in a network
JP4098610B2 (en) * 2002-12-10 2008-06-11 株式会社日立製作所 Access relay device
GB0303192D0 (en) * 2003-02-12 2003-03-19 Saviso Group Ltd Methods and apparatus for traffic management in peer-to-peer networks

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1308853A1 (en) * 2001-10-30 2003-05-07 Hewlett-Packard Company Data caching

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
BAIHUA, Zheng et al.: Cache Invalidation and Re- placement Strategies for Location-Dependent Data in Mobile Environments, IEEE TRANSACTIONS ON COM- PUTERS, Vol.51, No.10, October 2002, S.1141-1153 *
RIVEST,R.: RFC 1321-The MD5 Message-Digest Algo- rithm, April 1992, S.1-21 *

Also Published As

Publication number Publication date
EP1538804A1 (en) 2005-06-08
EP1538804B1 (en) 2011-05-18
US20050117558A1 (en) 2005-06-02
ATE510394T1 (en) 2011-06-15

Similar Documents

Publication Publication Date Title
DE10356724B3 (en) Method for reducing the transport volume of data in data networks
EP1559038B1 (en) Method for the pre-transmission of structured data amounts between a client device and a server device
DE69909839T3 (en) Optimized localization of network resources
EP1826956B1 (en) Adaptation of virtual and physical network interfaces
DE69924103T2 (en) METHOD AND NETWORK FOR MANAGING WSP (WIRELESS SESSION PROTOCOL) MEETINGS
DE60222871T2 (en) Arrangement and method for protecting end user data
DE102014113582B4 (en) Apparatus, method and system for context-aware security control in a cloud environment
US20040044731A1 (en) System and method for optimizing internet applications
DE60204031T2 (en) HIERARCHIC CACHES STORAGE IN TELECOMMUNICATIONS NETWORKS
DE202008013034U1 (en) System for speeding up browsing sessions
DE102012216028A1 (en) WEBSITE SCRIPT ADMINISTRATION
DE10296293T5 (en) Method and device for mapping an IP address to an MSISDN number within a service network
EP2145445B1 (en) Method for improving a tcp data transmission process in case the physical transmission medium is disconnected
EP2826224A1 (en) Giving clients access to a server service using an opc-ua
DE60304100T2 (en) Enforcement of a time to disconnect a communication connection with cordless terminals with transient network addresses
DE112013000702T5 (en) Object caching for mobile data transfer with mobility management
US20150006622A1 (en) Web contents transmission method and apparatus
DE60318252T2 (en) METHOD AND DEVICES FOR DATA TRANSMISSION BETWEEN MEMORY NETWORKS
EP1482701B1 (en) Method for transmitting packet-oriented data in a telecommunication network by converting in a proxy a connectionless transport protocol into a connection-oriented transport protocol and vice versa
DE102017222299A1 (en) COMMUNICATION WITH LOW LATENCY
DE60114186T2 (en) Message broker
EP1083722A2 (en) Method, system and gateway enabling an end-to-end secured access to WAP-services
DE102012203463B4 (en) Method for providing web services of a mobile web service provider
WO2007113073A1 (en) Method for restoring an ipsec cryptographically secured connection between a p-cscf and a user unit
EP1522202B1 (en) Generation of service agreement for the use of network internal functions in telecommunication networks

Legal Events

Date Code Title Description
8100 Publication of patent without earlier publication of application
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: DEUTSCHES ZENTRUM FUER LUFT- UND RAUMFAHRT E.V.

R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee

Effective date: 20130702