DE69727438T2 - Zwischenspeicher-Protokoll für verbesserte Webleistung - Google Patents
Zwischenspeicher-Protokoll für verbesserte Webleistung Download PDFInfo
- Publication number
- DE69727438T2 DE69727438T2 DE69727438T DE69727438T DE69727438T2 DE 69727438 T2 DE69727438 T2 DE 69727438T2 DE 69727438 T DE69727438 T DE 69727438T DE 69727438 T DE69727438 T DE 69727438T DE 69727438 T2 DE69727438 T2 DE 69727438T2
- Authority
- DE
- Germany
- Prior art keywords
- web
- cache
- objects
- web cache
- modified
- 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 - Lifetime
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
Description
- TECHNISCHES GEBIET
- Diese Erfindung betrifft Datenkommunikationen und die Computer-Vernetzung und insbesondere den Transfer von digitaler Information auf Paketdatennetzen wie dem Internet, zwischen Caches.
- HINTERGRUND DER ERFINDUNG
- Bei einer Transaktion auf dem World Wide Web zwischen einem Client-Terminal und einem Web Server, bei der das Client-Terminal ein Web Objekt von einem Server zurückgewinnt, der auf dem Internet verbunden ist, greift das Client-Terminal normalerweise auf das Internet über einen Internet Access Service Provider (IASP) zu. Ein derartiges Objekt können ein oder mehrere Seiten von Textinformation, ein Bild, ein Tonclip, ein Videoclip, ein JAVA Applet oder eine andere Software, irgendeine Kombination der vorangehenden oder irgendetwas, was digital über das Internet an ein Client-Terminal übertragen werden kann, sein. Der Ausdruck „Objekt" wird nachstehend verwendet, um sämtliche voransehenden einzuschließen. Ein Cache (Zwischenspeicher), der in dem IASP Netz angeordnet ist, arbeitet als eine Zwischeneinheit bei Transaktionen, die die Zurückgewinnung von derartigen Webobjekten von Servern durch ein Client-Terminal beinhalten. Insbesondere speichert ein Cache innerhalb des IASP in seiner einfachsten Form eine Kopie des zurückgewonnenen Objekts für sich selbst, wenn das Objekt von dem Server an das anfordernde Client-Terminal bewegt wird. Diese Caching-Operation ist für den Benutzer transparent und verursacht unter normalen Umständen keine signifikante Verzögerung als Folge des Kopiervorgangs, der gleichzeitig ausgeführt wird, wenn das Objekt von dem Server zurückgewonnen und an das Client-Terminal geliefert wird.
- In vorteilhafter Weise kann der Cache innerhalb des IASP Netzes nachfolgende Anforderungen für diese Objekte, die darin gespeichert sind, erfüllen, wodurch die Notwendigkeit zum Zurückgewinnen des Objekts aus dem ursprünglichen Server auf dem Internet vermieden wird. Dies verringert die Verzögerung, wie von dem Benutzer wahrgenommen, zum Zugreifen auf das Objekt und spart ferner Bandbreite auf Strecken ein, die das IASP Netz mit dem Internet verbinden.
1 ist ein Blockdiagramm eines herkömmlichen Netzes, bei dem mehrere Client-Terminals, wie101 und102 , mit einem Cache103 innerhalb eines IASP104 verbunden sind. Der Cache103 ist wiederum mit einem Server105 verbunden, der mit dem Internet106 verbunden ist. Durch Speichern eines Objekts von dem Server105 in dem Cache103 , wenn es zuerst von dem Client101 zurückgewonnen wird, können nachfolgende Anforderungen für das gleiche Objekt durch den Client101 oder irgendeinen anderen Client, der mit dem Cache103 innerhalb des IASP104 verbunden ist, beispielsweise dem Client102 , direkt von dem Cache103 erfüllt werden. Der IASP104 umfasst wahrscheinlich auch einen zweiten oder weitere Caches, wie den Cache107 , der andere Clients bedient, die mit dem gleichen IASP verbunden sind, wie108 und109 . Die Objekte, die in dem zweiten Cache107 oder anderen Caches innerhalb des IASP104 gespeichert sind, aber nicht gezeigt sind, könnten verwendet werden, um die Clients zu bedienen, die mit dem ersten Cache103 verbunden sind, wenn die Caches untereinander kommunizieren. - Im Allgemeinen wird in dem Stand der Technik dann, wenn eine Anforderung für ein Objekt empfangen wird, eine Entdeckung von Objekten auf anderen als dem Cache, mit dem der anfordernde Client angebracht ist, durch eine explizite Befragung zu der Zeit, wenn die Anforderung für ein bestimmtes Objekt durchgeführt wird, ausgeführt. Das heißt, immer dann, wenn eine Anforderung von einem Client durch den Cache, mit dem der Client verbunden ist, nicht erfüllt werden kann, werden eine Vielzahl von Anforderungen an benachbarte Caches herausgesendet, die diese fragen, ob sie eine Kopie des gewünschten Objekts in ihrem Speicher gespeichert haben.
- Die Schritte zum Befragen einer Vielzahl von Caches, das Warten auf eine Antwort, und das Herunterladen einer Kopie des Objekts von dem Cache, welches das Objekt aufweist, oder das Zurückgewinnen einer Kopie des Objekts von dem ursprünglichen Server des Objekts, wenn das Objekt in einem benachbarten Cache nicht gefunden werden kann, kann eine Verzögerung für den Zurückgewinnungsprozess mit sich bringen, der für den anfordernden Benutzer nicht akzeptabel ist. Ferner kann die Überschwemmung von Anforderungen an alle benachbarten Caches im Ansprechen auf jede Anforderung für ein Objekt eine verschwenderische Verwendung der Netzbandbreite sowie die Belegung von Berechnungsressourcen der Caches sein. Noch weiter, die Kopie eines Objekts, wenn es auf einem benachbarten Cache existiert, kann sich von dem Objekt unterscheiden, sowie es den Server verlässt, von dem es ursprünglich kommt. Dies wird sich ergeben, wenn das Objekt in dem Server modifiziert wird, nachdem die anfängliche Anforderung für das Objekt durchgeführt wurde und eine Kopie des Objekts in dem benachbarten Cache gespeichert wurde. Somit kann das Objekt, das an einem anfordernden Cache von einem antwortenden Cache verfügbar ist, nicht aktuell sein und kann eine abgestandene oder nicht aktuelle Version des Objekts sein, so wie es gegenwärtig in dem Server existiert, und es ist somit nicht geeignet, um an einen Client geliefert zu werden, der dieses Objekt anfordert.
- „The Harvest Object Cache in New Zealand", von D. Neal, in "Computer Networks und ISDN Systems" Vol. 28, No. 11, pp. 1415–1430 (1996) offenbart ein System, welches zusammenarbeitende Web-Caches umfasst. Ein Server, der eine Anforderung für ein Objekt empfängt, wird eine Anfrage an sämtliche verfügbaren Caches senden, um zu bestimmen, welches Caches eine Kopie des gewünschten Objekts in ihrem Speicher gespeichert haben, und zwar in der herkömmlichen Weise, die voranstehend beschrieben wurde. Dieses System des Standes der Technik weist deshalb die spezifischen Probleme auf, die voranstehend identifiziert wurden.
- „The Harvest information discovery and access system", von C. Mic Bowman at al., in "Computer Networks und ISDN Systems", Vol. 28, No. 1 pp119–125 (1995), stellt eine allgemeine Übersicht über das "Harvest" System bereit, spricht aber ein System mit zwei oder mehreren zusammenarbeitenden Web-Caches nicht an.
- Die vorliegende Erfindung stellt ein Verfahren zur Verwendung in einem System mit zwei untereinander verbundenen Webcaches bereit, wie im Anspruch 1 definiert. Bevorzugte Merkmale der vorliegenden Erfindung sind in den anhängigen Ansprüchen 2–10 aufgeführt.
- In Übereinstimmung mit der vorliegenden Erfindung wird ein fache mit Information darüber versehen, welche Objekte sein benachbarter fache führt, und mit anderer Information über diese Objekte in dem benachbarten fache, beispielsweise den Zeiten, zu denen diese Objekte in dem benachbarten fache modifiziert wurden, dem Typ des Inhalts von diesen Objekten, und den Größen von diesen Objekten. Die letztere Information kann zum Planen einer Plattenplatz-Verwendung nützlich sein. Dieser Informations-Sammelprozess unterscheidet sich von der tatsächlichen Zurückgewinnung eines Objekts von einem benachbarten Cache oder in der Alternative von dem aktuellen Server, der die jüngste Version des Objekts führt, und wird asynchron zu der Anforderung von irgendeinem Client für das Objekt ausgeführt.
- Webcaches aktualisieren einander mit Webobjekten in ihrem Cache über verschiedene Mechanismen. In einem ersten Mechanismus befragt ein anfragender Cache einen antwortenden Cache nach Information über sämtliche Objekte oder einen Untersatz von Objekten in dem antwortenden Cache, die seit einem gegebenen Datum und einer gegebenen Zeit modifiziert worden sind. „Modifiziert" wie hier verwendet umfasst Objekte, die in diesem Cache seit der gegebenen Zeit aktualisiert oder erzeugt worden sind. In einem zweiten Mechanismus informiert ein antwortender Cache den anfordernden bzw. anfragenden Cache periodisch über Modifikationen an Objekten, an denen der anfordernde Cache früher ein Interesse ausgedrückt hatte. In dritten und vierten intelligenteren Mechanismen halten benachbarte Caches Zustands-Information darüber, auf welche Objekte die anderen Caches die Nachrichten gestützt haben, die vorher an ihn gesendet wurden. Insbesondere führt in dem dritten Mechanismus jeder Cache Zustands-Information für Objekte in jedem benachbarten Cache, mit dem er kommuniziert. Der vierte Mechanismus ist auf den Fall anwendbar, bei dem zahlreiche Peer-Caches existieren und jeder von diesen an jedem anderen Cache-Inhalt interessiert ist. Information, die ein Cache über den Inhalt von anderen Caches gesammelt hat, wird dann zusammen mit dem Inhalt von seinem eigenen Cache verwendet, um die Nachrichten zusammenzustellen, die an irgendeinen gegebenen Cache gesendet werden.
- KURZBESCHREIBUNG DER ZEICHNUNGEN
- In den Zeichnungen zeigen:
-
1 ein Blockdiagramm eines herkömmlichen Netzes, das zwei Caches, die innerhalb eines Internet Access Service Providers verbunden sind, untereinander verbundene Client-Terminals und einen Server innerhalb des Internets zeigt; -
2 die Interaktionen zwischen einem anfordernden Cache und einem antwortenden Cache entlang einer Zeitlinie in Übereinstimmung mit einem vom anfordernden Cache initiierten Benachrichtigungs-Mechanismus der vorliegenden Erfindung; -
3 die Interaktionen zwischen einem anfordernden Cache und einem antwortenden Cache entlang einer Zeitlinie in Übereinstimmung mit einem vom antwortenden Cache initiierten Benachrichtigungs-Mechanismus der vorliegenden Erfindung; -
4 die Interaktion zwischen zwei Caches, bei der jeder Cache getrennte Zustands-Information für jeden der anderen Nachbar-Caches, mit denen er kommuniziert, führt; -
5 die Interaktion zwischen zwei Caches, bei der jeder Cache eine Einzelzustands-Information für das gesamte Caching-System führt; und -
6 die Nachrichten-Interaktion zwischen einem anfordernden Cache und einem antwortenden Cache für eine spezifische Implementierung eines vom anfordernden Cache initiierten Mechanismus in Übereinstimmung mit der vorliegenden Erfindung. - AUSFÜHRLICHE BESCHREIBUNG
- Wie angegeben ist die vorliegende Erfindung ein Mechanismus, mit dem Webcaches einander darüber aktualisieren, welche Webobjekte in ihrem Cache sind. Eine Aktualisierungs-Benachrichtigung ist anders als ein tatsächliches Senden der modifizierten Webobjekte. Die Benachrichtigung beinhaltet typischerweise Information, aus der der empfangende Cache bestimmen kann, welche Webobjekte in dem benachbarten Cache gespeichert sind, aber auch Information wie beispielsweise die Zeit, zu der das Objekt in dem benachbarten Cache zuletzt modifiziert wurde. Optional kann die Benachrichtigung andere Information enthalten, die für den anfordernden Cache nützlich sein könnte, beispielsweise die Größe, in Bytes, des Objekts, um den anfordernden Cache in die Lage zu versetzen, seine Plattenplatz-Verwendung zu planen, und der Typ von Inhalten des Objekts.
- Um zwischen zwei Caches zu unterscheiden, die bei dem Transfer von Information hinsichtlich der Objekte, die in jedem gespeichert sind, beteiligt sind, wird der Cache, der Information über die Inhalte von seinem Nachbar-Cache wünscht, nachstehend als der anfordernde Cache (Requesting Cache, RQC) bezeichnet, und der Nachbar-Cache, der Information darüber herausfindet, was er speichert, wird als der antwortende Cache (Responding Cache, RSC) bezeichnet. Der Mechanismus der vorliegenden Erfindung ist in einer Umgebung funktionsfähig, bei der einige Caches nur als RQCs arbeiten und andere nur als RSCs. Insbesondere kann in einer hierarchischen Topologie eine Situation ins Auge gefasst werden, bei der Caches, die in der Hierarchie weiter unten sind, nur Information anfordern, und diejenigen, die in der Hierarchie weiter oben sind, nur antworten. „Höher" wird in dem Sinne verwendet, dass die Strecke zu dem Internet auf der höchsten Ebene ist, und die Webclients oder Browser auf dem niedrigsten Pegel. Bei den meisten gebräuchlichen kommerziellen Browsern sind Caches gemeinsam angeordnet. Ein derartiger Client-Cache würde typischerweise immer ein RQC sein. Er kann auch als ein RSC arbeiten, wenn benachbarte Browser die Erlaubnis haben an den privaten Caches von anderen Browsern „nachzusehen".
-
2 zeigt den Mechanismus für eine RQC-initiierte Benachrichtigung. In diesem Mechanismus initiiert der RQC201 eine Anforderung202 an den RSC203 , um ihn über sämtliche oder einen Untersatz von Objekten, die in dem RSC203 gespeichert sind und innerhalb des RSC203 seit einem gegebenen Datum und einer gegebenen Zeit aktualisiert worden sind oder für den RSC203 neu sind, zu informieren. Wie voranstehend angegeben soll der Ausdruck „seit einem gegebenen Datum und einer gegebenen Zeit modifiziert", wie auf Objekte angewendet, diejenigen Objekte bedeuten, die für den RSC seit dieser Zeit und diesem Datum neu sind, sowie diejenigen Objekte, die seit dieser Zeit und diesem Datum aktualisiert worden sind. Die Adressenliste von URLs in der Anforderung können Objekte mit individuellen URLs oder eine Vielzahl von Objekten innerhalb eines Bereichs von URLs unter Verwendung eines Wildcard Symbols, um all diejenigen Objekte darzustellen, deren URLs eine Adressen-Übereinstimmung teilen, einschließen. Wie angegeben kann diese Anforderung eine Anforderung nach Information über sowohl Aktualisierungen an existierenden Objekten, die vorher in dem RSC203 gespeichert wurden, als auch Objekte, die in dem RSC203 neu hinzugefügt worden sind, einschließen. Die Anforderung202 umfasst ein „wenn modifiziert seit" (IMS) Datum, wodurch dem RSC angezeigt wird, dass Information für Objekte nur angefordert wird, wenn das Objekt in dem Cache modifiziert oder zu dem Cache seit diesem IMS Datum neu hinzugefügt worden ist. - Als Antwort auf die Anforderung
202 überprüft der RSC203 diese aufgelisteten URLs, um zu bestimmen, ob das Objekt in der Tat in dem Cache seit dem IMS Datum modifiziert worden ist. Die Antwort204 darauf ist eine Liste von denjenigen URLs, die in der Tat in dem RSC seit dem IMS Datum modifiziert worden sind, zusammen mit den Zeiten, zu denen diese URLs modifiziert wurden. Diese Information kann auch die Größe des angeforderten URL Objekts, sowie andere Information über das Objekt, beispielsweise den Typ des Inhalts des Objekts, einschließen. Der RQC201 sieht dann die Antwort durch und entscheidet unter Verwendung der zurückgewonnenen Information über diese angeforderten URLs, insbesondere welche URLs er wünscht an sich selbst herunterzuladen. Diese Herunterladung kann in der Tat selbstständig, auf Grundlage seines eigenen Satzes von Regeln, durchgeführt werden, oder kann zu einer späteren Zeit im Ansprechen auf eine tatsächliche Anforderung für die das Objekt durch einen Benutzer, der mit dem RQC201 verbunden ist, durchgeführt werden. Wenn der RQC entweder selbstständig oder im Ansprechen auf eine Anforderung von einem Benutzer entscheidet das Objekt mit der URL url zurückzugewinnen, bildet er eine Anforderung205 , um das Objekt mit der URL url unter Verwendung des Hyper Text Transfer Protocols (HTTP), welches das vorherrschende Protokoll des World Wide Web Internets ist, zu holen (GET). Der RSC203 sendet als Antwort auf diese GET Anforderung eine Antwort206 zurück an den RQC201 , der eine Kopie des Körpers des Objekts mit der URL url, das er gespeichert hat, einschließt. -
3 zeigt einen Mechanismus für ein RSC initiiertes Verfahren, bei dem der RSC dem RQC manchmal Änderungen an Objekten, an denen der RSC vorher ein Interesse ausgedrückt hat, mitteilt. In einem ersten Modus wird Information über Objekte, die modifiziert worden sind, an den RSC auf einer periodischen Basis übertragen. In einem zweiten Modus wird Information immer dann gesendet, wenn ein angefordertes Objekt tatsächlich aktualisiert oder in dem RQC erzeugt wird. Beide Moden können gleichzeitig existieren. In dem zweiten Modus registriert der RQC301 zunächst eine Anforderung302 mit dem RSC303 für Aktualisierungs-Ereignisse für einen Bereich von URLs. Der RSC303 registriert dann diese Anforderungen und überträgt eine Bestätigung304 zurück an den RQC301 . Nach der Registrierung überträgt der RSC303 eine Aktualisierungsnachricht zurück an den RQC301 immer dann, wenn eine von diesen registrierten URLs modifiziert wird. Wenn eine URL url1 modifiziert wird, wird somit eine Nachricht305 , die Information über das Objekt enthält, an den RQC301 übertragen. Als Antwort darauf kann der RQC301 entscheiden eine Anforderung306 durchzuführen, um unter Verwendung des HTTP/1.0 Protokolls url1 zu holen (GET). Alternativ, im Ansprechen auf eine Informationsnachricht, dass eine bestimmte URL modifiziert worden ist, kann der RQC301 entscheiden, sie nicht herunterzuladen. Wie in3 angegeben, wenn die URL url1 modifiziert wird und eine Aktualisierungsnachricht307 über die URL url2 an den RQC301 übertragen wird, entscheidet der RQC somit nicht eine Anforderung zum Herunterladen der modifizierten url2 zu bilden. In einer ähnlichen Weise, wenn die URL url3 modifiziert wird und eine Nachricht an den RQC301 übertragen wird, dann bildet der RQC eine Aufforderung zum Herunterladen des modifizierten Objekts. - Die Motivation der vorliegenden Erfindung zum einfachen Senden von Benachrichtigungs-Nachrichten anstelle der Webobjekte selbst ist zweifach. Erstens ermöglicht sie eine Art von Cache-Kohärenz sogar dann, wenn der RQC auf seinem System keinen Platz mehr hat, um das Webobjekt selbst zu kopieren. Da dies asynchron zu Benutzer-Anforderungen durchgeführt wird, und nicht als Folge einer Anforderung, wissen Caches vorzeitig, was andere Caches führen, und können deshalb eine Verzögerung, so wie sie von dem Benutzer wahrgenommen wird (durch Verhinderung von fruchtlosen Anfragen an Nachbar-Caches), sowie Netz- und Cache-Ressourcen einsparen. Zweitens erlaubt die Erfindung eine logische Trennung zwischen Information bezüglich der Modifikationszeit eines Objekts und dem Inhalt des Objekts selbst. Ein Cache kann deshalb wählen, welche Objekte er wieder auffrischen oder eincachen möchte, bevor er sie herunterlädt. Da die Information, die geführt wird, andere Aspekte des Objekts einschließen kann, beispielsweise die Größe in Bytes, ist der Cache besser vorbereitet, bevor das Objekt heruntergeladen wird. Zum Beispiel kann die Größe eines bestimmten Objekts sehr groß sein und der Cache kann wählen es als Folge einer unzureichenden Speicherkapazität nicht herunterzuladen.
- Nach dem Austausch von Information über die Webobjekte, die in benachbarten Caches gespeichert sind, können die neuen oder modifizierten Webobjekte entweder individuell oder als ein Stapel unter Verwendung von Multipart-Nachrichten, Keep-Alive Verbindungen, oder einer Kompression oder irgendeinem anderen Schema zurückgewonnen werden.
- Wie voransehenden angegebenen sind Dokumente, die an einem Cache seit einem gegebenen Datum und einer gegebenen Zeit aktualisiert worden sind, in Bezug auf Aktivitäten an dem Cache und nicht an dem Server, von dem das Objekt stammte. Somit kann ein Dokument, das an einem Cache nach der Zeit t1 modifiziert worden ist, unter Umständen an dem Server zu einer Zeit t2 < t1 modifiziert worden sein.
- In dem vorher beschriebenen RSC-initiierten Mechanismus der
3 sendet der RSC manchmal an den RQC Information über alle Objekte, die er in seinem Cache hat und die in dem Cache seit der letzten Nachricht, die er an den RQC in der vorangehenden Epoche gesendet hat, modifiziert oder erzeugt worden sind. Dieser Mechanismus wird erweitert, so dass der RQC automatisch antwortet, indem er an den RSC eine andere Nachricht zurücksendet, die eine Liste von allen Objekten aufweist, die er in seinem Cache hat und die seit der letzten Interaktion, die er mit dem RSC in der vorangehenden Epoche hatte, modifiziert worden sind. Dieser kombinierte Mechanismus ist ähnlich zu dem Mechanismus der3 , ist aber einer, bei dem beide Nachbar-Caches sowohl anfordernde als auch antwortende Caches werden. In diesem Mechanismus wird die Anforderung in jeder Antwort implizit. Da die Differenz zwischen einer „Anforderung" und einer „Antwort" nun verschmiert wird, wird anstelle davon der Ausdruck „Nachricht" verwendet werden. - Ein intelligenteres Szenarium kann betrachtet werden. Hierbei führen Caches Zustandsinformationen darüber, was andere Caches haben, teilweise auf Grundlage der Nachrichten, die an ihn gesendet werden. Sobald diese Zustandsinformation verfügbar ist, können Nachrichten, die hin und her gesendet werden, weiter stromlinienförmig gemacht werden. Es ist insbesondere nutzlos Nachrichten über aktualisierte Objekte an den Cache von jemanden an einen Nachbarn zu senden, von dem bekannt ist, aus der früheren Nachricht des Nachbars, dass er eine jüngere oder gleich alte Version des Objekts hat. Dieser dritte Mechanismus, der in
4 gezeigt ist, ist nur zwischen Caches möglich, die sowohl als RQCs als auch RSCs arbeiten können. Dieser Mechanismus ist insbesondere zur Verwendung für den Fall ausgelegt, wenn Peer-Caches innerhalb eines IASP sich dafür interessieren alles über die modifizierten Objekte an allen Caches zu wissen. Während dieser Mechanismus fordert, dass jeder Cache eine gewisse Zustandsinformation darüber führt, was auf den Caches von seinen Nachbarn ist, reduziert es signifikant den Kommunikations-Zusatz, insbesondere dann, wenn die Anzahl von Objekten in jedem Cache groß ist. - In dem Mechanismus der
4 sendet ein Cache401 an den Nachbar-Cache402 eine Nachricht403 , die Information über einen Satz von URLs enthält. Wenn der Cache402 diese Nachricht empfängt aktualisiert er die Zustandsinformation, die er über seinen Nachbar-Cache401 akkumuliert hat. Der Cache402 sendet dann, auf Grundlage der Zustandsinformation, die der Cache402 auf seinem Cache401 hat, eine Nachricht404 , die Information über einen Satz von modifizierten URLs enthält, die neuer als das ist, was der Cache401 hat. Wenn die Nachricht404 von dem Cache401 empfangen wird, dann wird die Zustandsinformation, die der Cache401 auf seinem Cache402 hat, aktualisiert und auf Grundlage dieser Zustandsinformation wird Information über URLs, die neuer als das ist, was der Cache402 aufweist, an den Cache402 in der Nachricht405 gesendet. Dieser Algorithmus wird an die Caches401 und402 im Ansprechen auf jede empfangene Nachricht voneinander wiederholt. - In diesem Mechanismus führt jeder Cache Zustandsinformation (als eine Tabelle) auf jedem Nachbar-Cache, mit dem er kommuniziert. Jede Tabelle ist im Wesentlichen eine Liste von URLs mit deren Modifikationszeiten an dem Cache. Jeder Posten in der Liste ist somit ein 2-Tupel der Form: (urli, ti) wobei ti die modifizierte Zeit des Objekts ist, das durch die URL urli identifiziert wird. Es sei darauf hingewiesen, dass an den unsprünglichem Server/der unsprünglichen Site ein Dokument existiert, welches neuer ist, als das, was der Cache hat, mit einer Modifikationszeit später als ti. Jedoch listet die Tabelle einfach das jüngste Dokument, das der Nachbar-Cache hat, auf Grundlage der Kenntnis auf, die aus Nachrichten aufgebaut wird, die der Nachbar-Cache herausgegeben hat.
- Die Tabelle wird wie folgt aktualisiert. Jede Nachricht von dem Nachbar-Cache umfasst eine Liste von URLs mit zugehörigen Modifikationszeiten. Für jeden Posten (url, t) wird die folgende Operation verwendet. Es sei (urli, ti) ein Eintrag in der Tabelle. Wenn url = urli: ersetze (urli, ti) durch (url, t) in der Tabelle. Wenn es eine URL ist, die der Nachbar von dem Cache gelöscht hat, dann wird diese URL ebenfalls gesendet, mit t auf einen negativen Wert gesetzt (was anzeigt, dass er gelöscht worden ist). Es sei angenommen, dass die Liste von neuen URLs (seit der letzten Antwort von jemandem an den Nachbar-Cache), die in seinem eigenen fache gespeichert ist, aus einem Satz von 2-Tupeln in Form (urlx, tx) besteht. Jeder von diesen wird in der Antwort der Nachricht gesendet, außer wenn urlx = urli und tx <= ti ist. Mit anderen Worten, dies bedeutet, sende (urlx, tx), außer wenn die Tabelle für den fache i, dargestellt mit (urli, ti) vorschlägt, dass der fache i eine gleichermaßen alte oder jüngere Version des Dokuments hat.
- Der voranstehend beschriebene Mechanismus der
4 kann für den Fall eines IASP, bei dem zahlreiche Peer-Caches existieren, wobei jeder von diesen an dem Inhalt von jedem anderen fache interessiert ist, stromlinienförmig gemacht werden. In diesem Mechanismus, der in5 dargestellt ist, wird Information, die ein fache über den Inhalt von anderen Caches gesammelt hat, zusätzlich zu dem Inhalt auf seinem eigenen fache beim Zusammenstellen von Nachrichten an irgendeinen gegebenen fache ebenfalls verwendet. Dieser Mechanismus verringert weiter einen Zusatz, weil jeder fache nicht direkt Nachrichten mit sämtlichen anderen Caches austauschen muss. Er muss auch nur einen einzelnen Zustand für das gesamte Caching-System aufrechterhalten, anstelle separat den Zustand von jedem Peer-Cache aufrecht zu erhalten; wobei die Summe der Zustandsinformation auf sämtlichen Caches viel größer als der Zustand des gesamte Caching-Systems ist. Solange wie der Satz von Caches direkte oder indirekte Verbindungen aufweisen, wird dieser Mechanismus theoretisch in der Lage sein Information auf sämtlichen Caches richtig zu verteilen. In graphen-theoretischer Hinsicht würde dieser Mechanismus funktionieren, solange wie die Zwischen-Cache-Kommunikationskanäle die Caches in einem „Baum" verknüpfen. Um irgendeinen Ausfall von Caches und Kommunikations-Kanälen zu verhindern und Ende-zu-Ende Kommunikationsverzögerungen zu reduzieren könnte ein „zwei-verbundener" oder „drei-verbundener" Baum besser geeignet sein, wobei ein „k-verbundener" Baum einer ist, bei dem der Satz von Knoten noch verbunden bleibt, wenn irgendwelche (k-1) von seinen Verknüpfungen zerstört werden. - Da dieser Mechanismus Information auf anderen Caches in seinen Nachrichten verteilt, müssen die Nachrichten, die zwischen Caches übertragen werden, von den 2-Tupeln des voranstehend beschriebenen Mechanismus auf einen 3-Tupel der Form (urli, ti, ci) erweitert werden, wobei ti der Cache ist, der tatsächlich das Objekt gespeichert hat, welches mit urli bezeichnet wird, und wobei, wie zuvor, ti die modifizierte Zeit des Objekts urli ist. In denjenigen Fällen, bei denen mehrere Caches gleich alte Objekte aufweisen, ist der letzte Posten in dem 3-Tupel selbst ein Satz von Caches. In
5 gilt: Jedesmal, wenn eine Nachricht (503 oder504 ) von einem Cache501 oder502 an dem anderen ankommt, bestehend aus einer Liste von Posten der Form (url, t, c), wenn url = urli und t > ti, ersetze (urli, ti, ci) durch (url, t, c) in der Zustandstabelle. Wenn jedoch url = urli und t = ti ist, anhängen von c an den Satz ci, wenn c nicht bereits in dem Satz ci vorhanden ist. Es sei angenommen, dass die Liste von neuen URLs (seit der letzten Antwort von jemanden an die Nachbar-Cache), die jemand kennt, aus einem Satz von 3-Tupeln der Form (urlx, tx, cx) besteht. Jede von diesen wird in der Antwort der Nachricht gesendet, außer wenn cx ∈ ci ist. Somit ist, wie in5 angegeben, die Nachricht, die an den Nachbar-Cache im Ansprechen auf einen Empfang eines Satzes von modifizierten URLs von diesem Nachbar-Cache gesendet wird, eine Liste von URLs, die derart neu auf dem Caching-System sind, außer wenn der Nachbar, an den die Antwort gerichtet ist, die jüngste Version der URL aufweist. - Der voranstehend beschriebene Mechanismus kann in vielerlei Vorgehensweisen implementiert werden. Eine mögliche Implementierung des RQC-initiierten Mechanismus wird nachstehend beschrieben. Dieser Mechanismus wird durch Definieren eines neuen Verfahrens realisiert, welches CONTENTS an dem Hyper Text Transfer Protocol (HTTP) bezeichnet wird. Alternative Auslegungen sind möglich, die einen getrennten Protokollstapel verwenden können, außerhalb von HTTP.
-
6 zeigt den Protokollmechanismus für einen RQC-initiierten Benachrichtigungsmodus zwischen RQC601 und RSC602 . In der Anforderung (Request), die an den RSC für Information über spezifische URLs gerichtet wird, ist die HTTP/1.0 und HTTP/1.1 Syntax für die Anforderungs-Zeile (Request-Line) folgendermaßen:
Request-Line = Method SP (space) Request-URL SP HTTP-Version
CRLF (Carriage Return Line Feed)
und die Syntax für die Anforderungs-URL (Request-URL) ist folgendermaßen:
Request-URL = "*" |absolute URL |abs-path - Dies erlaubt nicht den kompletten Satz von URLs auszudrücken. "*" wird deshalb als die Anforderungs-URL gewählt, was zwangsläufig bedeutet, dass sich die Anforderung per Voreinstellung auf sämtliche Inhalte des bedienenden Caches oder des RSC bezieht. Die Anforderungs-Zeile (Request-Line) ist somit:
Request-Line = "CONTENTS" SP "*" SP HTTP-Version CRLF - Das wenn-modifiziert-seit (If-Modified-Since) Feld in dem Anforderungs-Header wird verwendet, um zu spezifizieren, dass nur diejenigen Inhaltsänderungen, die nach dem Datum stattgefunden haben, das von dem wenn-modifiziert-seit Feld spezifiziert wird, von Interesse sind. Dieses Feld ist eine Abweichung von der Vorgehensweise, in der dieses Feld normalerweise in dem HOLEN (GET) Verfahren verwendet wird. In dem letzteren spezifiziert das IMS Feld, dass das Dokument nur von Interesse ist, wenn die tatsächliche Modifikationszeit jünger als das IMS Feld ist. Hier wird das IMS Feld verwendet, um ein Interesse an dem Dokument nur dann anzuzeigen, wenn das Dokument an dem Cache seit der IMS Zeit modifiziert worden ist. Das Bereichs-Feld (Range-Field) wird verwendet, um die URLs zu spezifizieren, die von Interesse sind. Dies ist ein Feld, dessen Syntax in HTTP/1.1 spezifiziert werden muss und es würde wünschenswert sein, wenn sämtliche regulären Ausdrücke von diesem Feld ausgedrückt werden könnten. Wenn dies unzureichend sein sollte, muss unter Umständen ein neues Feld für diesen Zweck erzeugt werden. Was hier benötigt wird ist, dass dann, wenn ein RQC nur Interesse an einigen gewählten HTML Seiten hat, zum Beispiel allen HTML Seiten der New York Times mit Ausnahme von denjenigen des Sportteils, und den JPEG Bildern des Louvres, er in der Lage sein sollte diese Gemeinsamkeit unter Verwendung des Bereichs-Felds (Range-Field) zu spezifizieren. Schließlich wird das Außer-Feld (Unless-Field) verwendet, um irgendeine andere Einschränkung zu spezifizieren, die der Cache auf die URLs anwenden möchte, für die er sich interessiert. Der neue Anwendungs-Typ, der als Anwendung/www-Inhalte (application/www-contents) bezeichnet wird, wird ebenfalls definiert, um die Antwort zu unterstützen, die der antwortende Cache zurückgibt.
- In
6 ist in der Anforderung603 die Anforderungs-Zeile (Request-Line) folgendermaßen:
CONTENTS * HTTP/1.0
wobei CONTENTS (INHALTE) das Verfahren ist, das eine Liste von URLs anfordert, das "*" bedeutet, dass das Verfahren durch ein Protokoll gesteuert wird, und das HTTP/1.0 dieses Protokoll ist. Dieser Zeile folgt ein CRLF (Carriage Return Line Feed). Die nächste Zeile ist:
Accept: application/www-contents
was bedeutet, dass dann, wenn der RSC dem RQC eine Antwort in Übereinstimmung mit dieser definierten Anwendung sendet, der RQC in der Lage sein wird sie zu verstehen. Die nächste Zeile ist:
If-Modified-Since: Sat, 29 Oct 1996 19:43:31 GTM
was bedeutet, dass nur URLs, die sich seit Samstag, 29. Oktober 1996 um 19:43:31 GMT geändert haben, von Interesse sind. Die letzte Zeile ist:
Range: http://www.nytimes.com/* - Dies definiert den Bereich von URLs, die von Interesse sind, wobei "*" anzeigt, dass sämtliche „www.nytimes.com" Objekte von Interesse sind.
- Die Antwort zu dem RQC muss einem spezifischen Format folgen. Anstelle dies innerhalb des Protokolls zu definieren wird es den RSC überlassen das Format zu spezifizieren, obwohl die Format-Definition selbst eine spezifische Syntax aufweisen muss. Das Format der Contents-Datei (Inhalts-Datei) enthält eine Sequenz von Zeilen, die ASCII Zeichen abgeschlossen mit entweder der Sequenz LF (Zeilenvorschub; Line Feed) oder CRLF enthalten. Inhalts-Datei-Generatoren sollten der Zeilen-Abschluss-Konvention für die Plattform, auf der sie ausgeführt werden, folgen. Jede Zeile kann entweder eine Anweisung (Direktive) oder einen (Teil von einem) Eintrag enthalten. Einträge bestehen aus einer Sequenz von Feldern, die sich auf ein einzelnes HTTP Objekt beziehen. Wenn ein Feld in einem bestimmten Eintrag nicht verwendet wird markiert "–" das weggelassene Feld. Anweisungen (Direktiven) stellen Information über die Version, sowie Header-Felder der Objekte, die folgen, bereit. Zeilen, die mit dem # Zeichen beginnen, enthalten Anweisungen. Die folgenden Anweisungen werden definiert:
- – Version: <integer>.<integer>
- Die Version des erweiterten Log-Datei-Formats, das verwendet wird.
- – Syntax: [<specifier>...]
- Spezifiziert die Felder, die in dem Log aufgezeichnet sind. Die Ketten SP und CRLF weisen eine spezielle Bedeutung auf.
- – Bemerkung: <text>
- Kommentar-Information. Daten, die in diesem Feld aufgezeichnet sind, sollten durch Analyse-Werkzeuge ignoriert werden.
- Die Anweisungen (Direktiven) Version und Syntax werden benötigt. Die Syntax Direktive kann mehrere Male erscheinen, mit dem Verständnis, dass sämtliche Einträge die Syntax Direktive, die darüber und zu ihnen am nächsten ist, beachten. Die Syntax Direktive spezifiziert die Daten, die in den Feldern jedes Eintrags aufgezeichnet sind.
- In der Antwort-Nachricht
604 zeigt die Zeile „201 O. K." an, dass die Anforderung verstanden wurde und dass eine gültig Antwort folgt. Der Content-Type (Inhalts-Typ) auf der nächsten Zeile zeigt an, dass ein spezielles Dokument mit einer bestimmten Syntax folgt, die nicht lediglich der Art nach textartig ist. Die Anweisung #Version definiert den Typ der Syntax, spezifisch die Version 1.0. Die Anweisung #Syntax: Last-Modified CRLF URL SP Content-Length zeigt an, dass das, was folgt, das Format des zuletzt modifizierten Datums aufweisen wird, auf eine nächste Zeile, die URL, die an dem RSC602 modifiziert worden ist, gefolgt von einem Leerzeichen und der Größe des Objekts in Bytes. Somit zeigt die Antwort604 an, dass die zwei Objekte mit der Anforderung603 übereinstimmten. Das erste Objekt weist die URL http:://www.nytimes.com/index.html auf, die zuletzt in dem RSC602 am Samstag, 29. Oktober 1996 um 10:54:02 GMT modifiziert worden ist, und eine Länge von 575 Bytes aufweist. Das zweite Objekt weist eine URL von http://www.nytimes.com/info/textpath.html auf, die zuletzt in dem RSC602 am Samstag, dem 29. Oktober 1996 um 19:56:34 GMT modifiziert worden ist und eine Länge von 4096 Bytes aufweist. - Der RQC
601 empfängt die Antwort604 und wählt, welche Objekte von dem RSC602 zu HOLEN (GET) sind. Somit, wie in6 angegeben, gibt der RQC401 eine Anforderung605 zum HOLEN (GET) von http://www.nytimes.com/info/textpath.html HTTP/1.0 von dem RSC602 aus. Der RSC602 füllt danach diese Anforderung aus, indem er den Körper dieses Objekts zurück an den RQC601 sendet. - Obwohl in Verbindung mit benachbarten Caches innerhalb eines IASP beschrieben könnte die vorliegende Erfindung zum Austauschen von Information über Objekte, die in Caches auf Web Browsern gespeichert sind, oder zwischen Caches auf Web Browsern und Caches innerhalb eines IASP oder zwischen Caches, die miteinander innerhalb von irgendwelchen Orten oder zwischen irgendwelchen Orten kommunizieren können, verwendet werden.
- Die voranstehend beschriebenen Ausführungsformen illustrieren die Prinzipien der vorliegenden Erfindung. Andere Ausführungsformen können von Durchschnittsfachleuten ohne Abweichen von dem Umfang der vorliegenden Erfindung erdacht werden.
Claims (10)
- Verfahren zur Verwendung in einem System, umfassend wenigstens einen ersten (
201 ;301 ;401 ;501 ;601 ) und einen zweiten (203 ;303 ;402 ;502 ;602 ) untereinander verbundenen Web Cache auf einem Paketdatennetz umfasst, wobei die ersten und zweiten Web Caches jeweilige erste und zweite Vielzahlen von Web Objekten speichern, die von einer Vielzahl von Client-Terminals, die mit jedem Web Cache verbunden sind, zurückgewonnen werden können, wobei die Web Objekte, die in den ersten und zweiten Web Caches gespeichert sind, Kopien von Web Objekten sind, die von Web Servern empfangen werden, die auf dem Paketdatennetz verbunden sind, wobei das Verfahren durch die folgenden Schritte gekennzeichnet ist: Empfangen eines ersten Signals (202 ;302 ;403 ,405 ;503 ,505 ;603 ) an dem zweiten Web Cache (203 ;303 ;402 ;502 ;602 ) von dem ersten Web Cache (201 ;301 ;401 ;501 ;601 ), der eine Anforderung für die Identität einer Vielzahl von Web Objekten, die in dem zweiten Web Cache gespeichert sind, einschließt; Übertragen eines zweiten Signals (204 ;305 ,307 ,309 ;404 ;504 ;604 ) von dem zweiten Web Cache an den ersten Web Cache (201 ;301 ;401 ;501 ;601 ), wobei dieses zweite Signal die angeforderte Information, die sich auf die Identität einer Vielzahl von Web Objekten bezieht, die in dem zweiten Web Cache gespeichert sind, bereitstellt; und Empfangen an dem zweiten Web Cache (203 ;303 ;402 ;502 ;602 ) einer Anforderung, von dem ersten Web Cache, für eine Kopie eines bestimmten Web Objekts, wenn das zweite Signal anzeigt, dass das bestimmte Web Objekt in der Vielzahl von Web Objekten, die in dem zweiten Web Cache gespeichert sind, eingeschlossen ist; und Bereitstellen einer Kopie des bestimmten Web Objekts an dem ersten Web Cache (201 ;301 ;401 ;501 ;601 ) im Ansprechen auf die Anforderung für eine Kopie des bestimmten Web Objekts, das in dem zweiten Web Cache (203 ;303 ;402 ;502 ;602 ) gespeichert ist. - Verfahren nach Anspruch 1, wobei das erste Signal (
202 ;302 ;403 ,405 ;503 ,505 ;603 ) asynchron in Bezug auf eine Anforderung für eine Kopie eines bestimmten Web Objekts durch ein Client-Terminal, das mit entweder dem ersten (201 ;301 ;401 ;501 ;601 ) oder zweiten (203 ,303 ;402 ;502 ;602 ) Web Cache verbunden ist, empfangen wird. - Verfahren nach Anspruch 1, wobei die angeforderte Information, die sich auf Web Objekte bezieht, die in dem zweiten Web Cache (
203 ;303 ;402 ;502 ;602 ) gespeichert ist, ferner Information in Bezug auf die Zeit, zu der jedes Web Objekt in dem zweiten Web Cache modifiziert wurde, umfasst. - Verfahren nach Anspruch 3, wobei die angeforderte Information in Bezug auf Web Objekte, die in dem zweiten Web Cache (
203 ;303 ;402 ;502 ;602 ) gespeichert sind, ferner Information in Bezug auf die Größe eines Web Objekts in dem zweiten Web Cache umfasst. - Verfahren nach Anspruch 1, wobei das erste Signal (
202 ;302 ;403 ,405 ;503 ,505 ;603 ) ferner eine Registrierungsaufforderung für Information bezüglich darüber, wann Web Objekte in dem zweiten Web Cache (203 ;303 ;402 ;502 ;602 ) modifiziert werden, umfasst. - Verfahren nach Anspruch 5, wobei das zweite Signal (
204 ;305 ,307 ,309 ;404 ;504 ;604 ) übertragen wird, wenn ein Web Objekt in dem zweiten Web Cache (203 ;303 ;402 ;502 ;602 ) modifiziert wird. - Verfahren nach Anspruch 5, wobei das zweite Signal auf einer periodischen Basis übertragen wird.
- Verfahren nach Anspruch 1, wobei das erste Signal (
202 ;302 ;403 ,405 ;503 ,505 ;603 ) Information in Bezug auf einen Satz von Web Objekten, die in dem ersten Web Cache (201 ;301 ;401 ;501 ;601 ) modifiziert worden sind, umfasst und das zweite Signal (204 ;305 ,307 ,309 ;404 ;504 ;604 ) Information in Bezug auf einen Satz von Web Objekten, die in dem zweiten Web Cache (203 ;303 ;402 ;502 ;602 ) modifiziert worden sind, umfasst. - Verfahren nach Anspruch 8, ferner umfassend: Aktualisieren von Zustandsinformation, die an dem zweiten Web Cache gespeichert wird und sich auf Web Objekte bezieht, die in dem ersten Web Cache (
201 ;301 ;401 ;501 ;601 ) gespeichert sind, im Ansprechen auf Information in dem ersten Signal (204 ;305 ,307 ,309 ;404 ;504 ;604 ) in Bezug auf Web Objekte, die in dem ersten Web Cache modifiziert worden sind; wobei Information in dem zweiten Signal Information in Bezug auf diejenigen Web Objekte in dem zweiten Web Cache (203 ;303 ;402 ;502 ;602 ), die in dem zweiten Web Cache modifiziert worden sind, nachdem derartige Web Objekte in dem ersten Web Cache (201 ;301 ;401 ;501 ;601 ) in Übereinstimmung mit der aktualisierten Zustandsinformation bezüglich Web Objekte, die in dem ersten Web Cache gespeichert sind, modifiziert worden sind, umfasst. - Verfahren nach Anspruch 1, wobei das Paketdatennetz wenigstens einen anderen Web Cache, der mit dem ersten (
201 ;301 ;401 ;501 ;601 ) und zweiten Web Cache (203 ;303 ;402 ;502 ;602 ) untereinander verbunden ist, umfasst, wobei das Verfahren ferner die folgenden Schritte umfasst: Empfangen, an dem zweiten Web Cache (203 ;303 ;402 ;502 ;602 ) von dem ersten Web Cache (201 ;301 ;401 ;501 ;601 ), von dritten Signalen, umfassend Information in Bezug auf Web Objekte, die in dem ersten Web Cache modifiziert worden sind, und Information, die an dem ersten Web Cache verfügbar ist und sich auf Web Objekte bezieht, die in wenigstens einem anderen Web Cache in dem System als den ersten und zweiten Web Cache modifziert worden ist; Aktualisieren von Zustandsinformation, die an dem zweiten Web Cache gespeichert wird und sich auf Web Objekte bezieht, die in dem ersten Web Cache und wenigstens einem anderen Web Cache in dem System gespeichert sind, im Ansprechen auf die dritten Signale; und Übertragen von vierten Signalen an den ersten Web Cache von dem zweiten Web Cache, wobei die vierten Signale Information in Bezug auf diejenigen Web Objekte in dem zweiten Web Cache, die in dem zweiten Web Cache modifiziert worden sind, und Information, die in dem zweiten Web Cache verfügbar ist und sich auf Web Objekte bezieht, die in wenigstens einem anderen Web Cache als den ersten und zweiten Web Caches modifiziert worden sind, in Übereinstimmung mit der aktualisierten Zustandsinformation, die an dem zweiten Web Cache gespeichert wird, umfasst.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/733,485 US5787470A (en) | 1996-10-18 | 1996-10-18 | Inter-cache protocol for improved WEB performance |
US733485 | 1996-10-18 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69727438D1 DE69727438D1 (de) | 2004-03-11 |
DE69727438T2 true DE69727438T2 (de) | 2004-12-02 |
Family
ID=24947798
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69727438T Expired - Lifetime DE69727438T2 (de) | 1996-10-18 | 1997-10-13 | Zwischenspeicher-Protokoll für verbesserte Webleistung |
Country Status (5)
Country | Link |
---|---|
US (1) | US5787470A (de) |
EP (1) | EP0837584B1 (de) |
JP (1) | JP3968119B2 (de) |
CA (1) | CA2216346C (de) |
DE (1) | DE69727438T2 (de) |
Families Citing this family (183)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5935207A (en) * | 1996-06-03 | 1999-08-10 | Webtv Networks, Inc. | Method and apparatus for providing remote site administrators with user hits on mirrored web sites |
GB2316200A (en) * | 1996-08-08 | 1998-02-18 | Ibm | Accessing information about executable code |
US6584498B2 (en) * | 1996-09-13 | 2003-06-24 | Planet Web, Inc. | Dynamic preloading of web pages |
US6377978B1 (en) | 1996-09-13 | 2002-04-23 | Planetweb, Inc. | Dynamic downloading of hypertext electronic mail messages |
SE507138C2 (sv) | 1996-10-14 | 1998-04-06 | Mirror Image Internet Ab | Förfarande och anordning för informationsöverföring på Internet |
US6138141A (en) * | 1996-10-18 | 2000-10-24 | At&T Corp | Server to client cache protocol for improved web performance |
US5884316A (en) * | 1996-11-19 | 1999-03-16 | Microsoft Corporation | Implicit session context system with object state cache |
US5961602A (en) * | 1997-02-10 | 1999-10-05 | International Business Machines Corporation | Method for optimizing off-peak caching of web data |
SE9700622D0 (sv) | 1997-02-21 | 1997-02-21 | Ericsson Telefon Ab L M | Anordning och metod vid datanät |
US7529856B2 (en) * | 1997-03-05 | 2009-05-05 | At Home Corporation | Delivering multimedia services |
US6370571B1 (en) | 1997-03-05 | 2002-04-09 | At Home Corporation | System and method for delivering high-performance online multimedia services |
US5948066A (en) * | 1997-03-13 | 1999-09-07 | Motorola, Inc. | System and method for delivery of information over narrow-band communications links |
JP3139408B2 (ja) * | 1997-03-17 | 2001-02-26 | カシオ計算機株式会社 | ホームページ更新通知装置 |
US5933849A (en) * | 1997-04-10 | 1999-08-03 | At&T Corp | Scalable distributed caching system and method |
US5907678A (en) * | 1997-05-07 | 1999-05-25 | International Business Machines Corporation | Client/server system in which protocol caches for multiple sessions are selectively copied into a common checkpoint cache upon receiving a checkpoint request |
US6061714A (en) * | 1997-05-07 | 2000-05-09 | International Business Machines Corporation | Persistent cache synchronization and start up system |
US6209036B1 (en) * | 1997-06-06 | 2001-03-27 | International Business Machines Corporation | Management of and access to information and other material via the world wide web in an LDAP environment |
US7103794B2 (en) | 1998-06-08 | 2006-09-05 | Cacheflow, Inc. | Network object cache engine |
US5892919A (en) * | 1997-06-23 | 1999-04-06 | Sun Microsystems, Inc. | Spell checking universal resource locator (URL) by comparing the URL against a cache containing entries relating incorrect URLs submitted by users to corresponding correct URLs |
US6256712B1 (en) * | 1997-08-01 | 2001-07-03 | International Business Machines Corporation | Scaleable method for maintaining and making consistent updates to caches |
US6026413A (en) * | 1997-08-01 | 2000-02-15 | International Business Machines Corporation | Determining how changes to underlying data affect cached objects |
US6542923B2 (en) | 1997-08-21 | 2003-04-01 | Planet Web, Inc. | Active electronic mail |
US7325077B1 (en) * | 1997-08-21 | 2008-01-29 | Beryl Technical Assays Llc | Miniclient for internet appliance |
US6564250B1 (en) | 1997-08-21 | 2003-05-13 | Planetweb, Inc. | Miniclient for internet appliance |
US6032150A (en) * | 1997-08-25 | 2000-02-29 | Planetweb, Inc. | Secure graphical objects in web documents with a program applet placed to present further information upon selected conditions |
US6035324A (en) * | 1997-08-28 | 2000-03-07 | International Business Machines Corporation | Client-side asynchronous form management |
US6240461B1 (en) * | 1997-09-25 | 2001-05-29 | Cisco Technology, Inc. | Methods and apparatus for caching network data traffic |
US6621505B1 (en) * | 1997-09-30 | 2003-09-16 | Journee Software Corp. | Dynamic process-based enterprise computing system and method |
US6014667A (en) * | 1997-10-01 | 2000-01-11 | Novell, Inc. | System and method for caching identification and location information in a computer network |
US6845102B1 (en) * | 1997-10-09 | 2005-01-18 | Cisco Technology, Inc. | Method and system for network access over a low bandwidth link |
US6035336A (en) * | 1997-10-17 | 2000-03-07 | International Business Machines Corporation | Audio ticker system and method for presenting push information including pre-recorded audio |
US6393526B1 (en) * | 1997-10-28 | 2002-05-21 | Cache Plan, Inc. | Shared cache parsing and pre-fetch |
US6128701A (en) * | 1997-10-28 | 2000-10-03 | Cache Flow, Inc. | Adaptive and predictive cache refresh policy |
US6185617B1 (en) * | 1997-11-26 | 2001-02-06 | International Business Machines Corporation | Construction and usage of a pre-warmed cache for client-server emulator |
US6366947B1 (en) * | 1998-01-20 | 2002-04-02 | Redmond Venture, Inc. | System and method for accelerating network interaction |
US6205481B1 (en) * | 1998-03-17 | 2001-03-20 | Infolibria, Inc. | Protocol for distributing fresh content among networked cache servers |
US6816892B1 (en) * | 1998-03-18 | 2004-11-09 | Ncr Corporation | Web-on-cd |
US6684211B1 (en) | 1998-04-01 | 2004-01-27 | Planetweb, Inc. | Multimedia communication and presentation |
US6272593B1 (en) | 1998-04-10 | 2001-08-07 | Microsoft Corporation | Dynamic network cache directories |
US6119153A (en) * | 1998-04-27 | 2000-09-12 | Microsoft Corporation | Accessing content via installable data sources |
WO1999057656A1 (en) * | 1998-05-01 | 1999-11-11 | Citizen 1 Software, Inc. | Method and apparatus for simultaneously accessing a plurality of dispersed databases |
US6314432B1 (en) * | 1998-05-13 | 2001-11-06 | International Business Machines Corporation | System and method for retrieval, saving and printing of using hyperlinks |
US6591288B1 (en) | 1998-05-19 | 2003-07-08 | Nortel Networks Limited | Data network accelerated access system |
US6341311B1 (en) | 1998-05-29 | 2002-01-22 | Microsoft Corporation | Directing data object access requests in a distributed cache |
US6311216B1 (en) | 1998-05-29 | 2001-10-30 | Microsoft Corporation | Method, computer program product, and system for client-side deterministic routing and URL lookup into a distributed cache of URLS |
US6377991B1 (en) * | 1998-05-29 | 2002-04-23 | Microsoft Corporation | Method, computer program product, and system for migrating URLs within a dynamically changing distributed cache of URLs |
US6745243B2 (en) * | 1998-06-30 | 2004-06-01 | Nortel Networks Limited | Method and apparatus for network caching and load balancing |
US6199107B1 (en) | 1998-07-22 | 2001-03-06 | Microsoft Corporation | Partial file caching and read range resume system and method |
US6427187B2 (en) | 1998-07-31 | 2002-07-30 | Cache Flow, Inc. | Multiple cache communication |
SE514376C2 (sv) * | 1998-09-24 | 2001-02-19 | Mirror Image Internet Inc | Ett internet-cachningssystem samt ett förfarande och anordning i ett sådant system |
US6535509B2 (en) | 1998-09-28 | 2003-03-18 | Infolibria, Inc. | Tagging for demultiplexing in a network traffic server |
EP0993163A1 (de) * | 1998-10-05 | 2000-04-12 | Backweb Technologies Ltd. | System und Verfahren zur verteilten Datencachespeicherung in Kundenendgeräten |
US6438652B1 (en) * | 1998-10-09 | 2002-08-20 | International Business Machines Corporation | Load balancing cooperating cache servers by shifting forwarded request |
US6751777B2 (en) * | 1998-10-19 | 2004-06-15 | International Business Machines Corporation | Multi-target links for navigating between hypertext documents and the like |
US6411986B1 (en) * | 1998-11-10 | 2002-06-25 | Netscaler, Inc. | Internet client-server multiplexer |
US6279041B1 (en) | 1998-11-13 | 2001-08-21 | International Business Machines Corporation | Methods, systems and computer program products for differencing data communications using a message queue |
US6553376B1 (en) * | 1998-11-18 | 2003-04-22 | Infolibria, Inc. | Efficient content server using request redirection |
SE521773C2 (sv) | 1998-11-20 | 2003-12-02 | Ericsson Telefon Ab L M | System och förfarande för att tillhandahålla distribuerad cashning av svarsobjekt inom ett paketdatanät. |
US7765179B2 (en) * | 1998-12-01 | 2010-07-27 | Alcatel-Lucent Usa Inc. | Method and apparatus for resolving domain names of persistent web resources |
US6233606B1 (en) | 1998-12-01 | 2001-05-15 | Microsoft Corporation | Automatic cache synchronization |
US6453342B1 (en) | 1998-12-03 | 2002-09-17 | International Business Machines Corporation | Method and apparatus for selective caching and cleaning of history pages for web browsers |
US6526448B1 (en) | 1998-12-22 | 2003-02-25 | At&T Corp. | Pseudo proxy server providing instant overflow capacity to computer networks |
EP1018689A3 (de) * | 1999-01-08 | 2001-01-24 | Lucent Technologies Inc. | Verfahren und Vorrichtung zur geteilten web-basierten interaktionen in servers mit dynamischen Zustanden |
US6374288B1 (en) | 1999-01-19 | 2002-04-16 | At&T Corp | Digital subscriber line server system and method for dynamically changing bit rates in response to user requests and to message types |
US6351767B1 (en) * | 1999-01-25 | 2002-02-26 | International Business Machines Corporation | Method and system for automatically caching dynamic content based on a cacheability determination |
US6408360B1 (en) * | 1999-01-25 | 2002-06-18 | International Business Machines Corporation | Cache override control in an apparatus for caching dynamic content |
US6370614B1 (en) | 1999-01-26 | 2002-04-09 | Motive Power, Inc. | I/O cache with user configurable preload |
US6463509B1 (en) | 1999-01-26 | 2002-10-08 | Motive Power, Inc. | Preloading data in a cache memory according to user-specified preload criteria |
CA2360891A1 (en) * | 1999-01-28 | 2000-08-03 | Webspective Software, Inc | Web server content replication |
US6219676B1 (en) | 1999-03-29 | 2001-04-17 | Novell, Inc. | Methodology for cache coherency of web server data |
US6560777B2 (en) * | 1999-04-07 | 2003-05-06 | Webtv Networks, Inc. | Broadcast enhancement trigger addressed to multiple uniquely addressed information resources |
US6513062B1 (en) | 1999-05-25 | 2003-01-28 | Grischa Corporation | Method, apparatus, and computer program product for efficient server response generation using intermediate state caching |
US6542964B1 (en) * | 1999-06-02 | 2003-04-01 | Blue Coat Systems | Cost-based optimization for content distribution using dynamic protocol selection and query resolution for cache server |
US6275470B1 (en) | 1999-06-18 | 2001-08-14 | Digital Island, Inc. | On-demand overlay routing for computer-based communication networks |
US6751191B1 (en) | 1999-06-29 | 2004-06-15 | Cisco Technology, Inc. | Load sharing and redundancy scheme |
US6553409B1 (en) | 1999-07-09 | 2003-04-22 | Microsoft Corporation | Background cache synchronization |
US6427172B1 (en) * | 1999-07-20 | 2002-07-30 | Cyberstar, L.P. | Method and apparatus for internet cache content delivery via a data distribution system |
US7349902B1 (en) * | 1999-08-04 | 2008-03-25 | Hewlett-Packard Development Company, L.P. | Content consistency in a data access network system |
US6579365B1 (en) * | 1999-11-22 | 2003-06-17 | Glatt Air Techniques, Inc. | Apparatus for coating tablets |
US7349979B1 (en) * | 1999-12-02 | 2008-03-25 | Cisco Technology, Inc. | Method and apparatus for redirecting network traffic |
WO2001042928A1 (en) * | 1999-12-08 | 2001-06-14 | Axis Aktiebolag | I/o method and apparatus for optical storage media |
US7058007B1 (en) | 2000-01-18 | 2006-06-06 | Cisco Technology, Inc. | Method for a cable modem to rapidly switch to a backup CMTS |
US6839829B1 (en) | 2000-01-18 | 2005-01-04 | Cisco Technology, Inc. | Routing protocol based redundancy design for shared-access networks |
US6725272B1 (en) * | 2000-02-18 | 2004-04-20 | Netscaler, Inc. | Apparatus, method and computer program product for guaranteed content delivery incorporating putting a client on-hold based on response time |
US20050021862A1 (en) * | 2000-03-31 | 2005-01-27 | Dickens Coal Llc | Automatic selection of content-delivery provider using link mapping database |
US6654766B1 (en) * | 2000-04-04 | 2003-11-25 | International Business Machines Corporation | System and method for caching sets of objects |
US6457047B1 (en) * | 2000-05-08 | 2002-09-24 | Verity, Inc. | Application caching system and method |
US6742044B1 (en) | 2000-05-10 | 2004-05-25 | Cisco Technology, Inc. | Distributed network traffic load balancing technique implemented without gateway router |
US6990526B1 (en) * | 2000-05-22 | 2006-01-24 | Pointred Technologies, Inc. | Method and apparatus for web caching |
US6839809B1 (en) | 2000-05-31 | 2005-01-04 | Cisco Technology, Inc. | Methods and apparatus for improving content quality in web caching systems |
US6879998B1 (en) | 2000-06-01 | 2005-04-12 | Aerocast.Com, Inc. | Viewer object proxy |
US6836806B1 (en) | 2000-06-01 | 2004-12-28 | Aerocast, Inc. | System for network addressing |
US7213062B1 (en) | 2000-06-01 | 2007-05-01 | General Instrument Corporation | Self-publishing network directory |
US6904460B1 (en) * | 2000-06-01 | 2005-06-07 | Aerocast.Com, Inc. | Reverse content harvester |
US7395348B1 (en) * | 2000-06-05 | 2008-07-01 | Cisco Technology, Inc. | Network cache-based content routing |
US7058691B1 (en) | 2000-06-12 | 2006-06-06 | Trustees Of Princeton University | System for wireless push and pull based services |
US6698015B1 (en) | 2000-06-13 | 2004-02-24 | Cisco Technology, Inc. | Apparatus and method for improving performance of critical code execution |
JP4638120B2 (ja) * | 2000-06-19 | 2011-02-23 | アールイー − フレーズ・ビー.ブイ. | ウェブページから選択されたものおよびそのウェブページをサーバによって別のユーザに送信するための方法 |
US7072979B1 (en) | 2000-06-28 | 2006-07-04 | Cisco Technology, Inc. | Wide area load balancing of web traffic |
WO2002011392A2 (en) * | 2000-07-27 | 2002-02-07 | Escene Networks, Inc. | Propagation of state and content over a distributed electronic network |
US6801933B1 (en) * | 2000-08-23 | 2004-10-05 | Nokia Internet Communications, Inc. | System and method for proactive caching employing graphical usage description |
US6985963B1 (en) * | 2000-08-23 | 2006-01-10 | At Home Corporation | Sharing IP network resources |
US6804819B1 (en) | 2000-09-18 | 2004-10-12 | Hewlett-Packard Development Company, L.P. | Method, system, and computer program product for a data propagation platform and applications of same |
US7386610B1 (en) | 2000-09-18 | 2008-06-10 | Hewlett-Packard Development Company, L.P. | Internet protocol data mirroring |
US6977927B1 (en) | 2000-09-18 | 2005-12-20 | Hewlett-Packard Development Company, L.P. | Method and system of allocating storage resources in a storage area network |
US6832365B1 (en) * | 2000-10-11 | 2004-12-14 | Microsoft Corporation | System and method for interacting with computer programming languages at semantic level |
US7801978B1 (en) | 2000-10-18 | 2010-09-21 | Citrix Systems, Inc. | Apparatus, method and computer program product for efficiently pooling connections between clients and servers |
US6970939B2 (en) * | 2000-10-26 | 2005-11-29 | Intel Corporation | Method and apparatus for large payload distribution in a network |
US7065568B2 (en) * | 2000-11-30 | 2006-06-20 | Microsoft Corporation | System and method for managing states and user context over stateless protocols |
US6470426B2 (en) * | 2000-12-15 | 2002-10-22 | International Business Machines Corporation | Method and apparatus for loading a cache with data with a subsequent purge of stale cache information |
US20020087624A1 (en) * | 2000-12-28 | 2002-07-04 | Gateway, Inc. | Method and device for temporarily storing data |
US6606690B2 (en) | 2001-02-20 | 2003-08-12 | Hewlett-Packard Development Company, L.P. | System and method for accessing a storage area network as network attached storage |
US6910066B1 (en) * | 2001-03-05 | 2005-06-21 | Principal Financial Services, Inc. | System, method, and apparatus for applet caching |
US20020133537A1 (en) * | 2001-03-12 | 2002-09-19 | Whizz Technology Ltd. | Server cluster and server-side cooperative caching method for use with same |
US6993050B2 (en) | 2001-03-14 | 2006-01-31 | At&T Corp. | Transmit and receive system for cable data service |
DE10113902A1 (de) * | 2001-03-21 | 2002-09-26 | Matthias Jaekle | Verfahren zum Verarbeiten von Veranstaltungsterminen |
US20020147849A1 (en) * | 2001-04-05 | 2002-10-10 | Chung-Kei Wong | Delta encoding using canonical reference files |
US6996674B2 (en) * | 2001-05-07 | 2006-02-07 | International Business Machines Corporation | Method and apparatus for a global cache directory in a storage cluster |
GB0113763D0 (en) * | 2001-06-06 | 2001-07-25 | Nokia Corp | A communication system |
US7881208B1 (en) | 2001-06-18 | 2011-02-01 | Cisco Technology, Inc. | Gateway load balancing protocol |
KR100436431B1 (ko) * | 2001-06-21 | 2004-06-16 | (주)와이즈피어 | 피어투피어 네트워크상에서의 협업적인 정보 교환시스템 |
US8041814B2 (en) * | 2001-06-28 | 2011-10-18 | International Business Machines Corporation | Method, system and computer program product for hierarchical load balancing |
US7774492B2 (en) * | 2001-07-26 | 2010-08-10 | Citrix Systems, Inc. | System, method and computer program product to maximize server throughput while avoiding server overload by controlling the rate of establishing server-side net work connections |
US7099957B2 (en) * | 2001-08-23 | 2006-08-29 | The Directtv Group, Inc. | Domain name system resolution |
KR100935586B1 (ko) * | 2001-08-27 | 2010-01-07 | 코닌클리케 필립스 일렉트로닉스 엔.브이. | 캐시 방법 |
US6799186B2 (en) | 2001-10-11 | 2004-09-28 | International Business Machines Corporation | SLA monitor calendar buffering |
KR20010109499A (ko) * | 2001-10-11 | 2001-12-10 | 온스그래픽(주) | 인터넷 캐싱 시스템 및 방법 |
US7672249B2 (en) * | 2001-12-13 | 2010-03-02 | Cisco Technology, Inc. | Configurable network appliance |
US7720997B1 (en) | 2001-12-19 | 2010-05-18 | Cisco Technology, Inc. | Path selection system |
US20030158958A1 (en) * | 2002-02-20 | 2003-08-21 | Koninklijke Philips Electronics N.V. | Distributed storage network architecture using user devices |
JP5018849B2 (ja) * | 2002-06-12 | 2012-09-05 | 株式会社日立製作所 | Crl発行通知機能付き認証基盤システム |
US20040143670A1 (en) * | 2002-07-02 | 2004-07-22 | Pratik Roychowdhury | System, method and computer program product to avoid server overload by controlling HTTP denial of service (DOS) attacks |
US7058773B1 (en) * | 2003-01-16 | 2006-06-06 | Cisco Technology, Inc. | System and method for managing data in a distributed system |
US7143145B2 (en) * | 2003-03-04 | 2006-11-28 | International Business Machines Corporation | Selective clearing of entries in a web browser cache |
US7593346B2 (en) | 2003-07-31 | 2009-09-22 | Cisco Technology, Inc. | Distributing and balancing traffic flow in a virtual gateway |
US7978716B2 (en) | 2003-11-24 | 2011-07-12 | Citrix Systems, Inc. | Systems and methods for providing a VPN solution |
US8739274B2 (en) | 2004-06-30 | 2014-05-27 | Citrix Systems, Inc. | Method and device for performing integrated caching in a data communication network |
US8495305B2 (en) | 2004-06-30 | 2013-07-23 | Citrix Systems, Inc. | Method and device for performing caching of dynamically generated objects in a data communication network |
US7757074B2 (en) | 2004-06-30 | 2010-07-13 | Citrix Application Networking, Llc | System and method for establishing a virtual private network |
KR20070037649A (ko) | 2004-07-23 | 2007-04-05 | 사이트릭스 시스템스, 인크. | 게이트웨이에서 종단으로 패킷을 라우팅하기 위한 방법 및시스템 |
EP1771998B1 (de) | 2004-07-23 | 2015-04-15 | Citrix Systems, Inc. | Systeme und verfahren zur kommunikationsoptimierung zwischen netzwerkknoten |
US8700695B2 (en) | 2004-12-30 | 2014-04-15 | Citrix Systems, Inc. | Systems and methods for providing client-side accelerated access to remote applications via TCP pooling |
US8706877B2 (en) | 2004-12-30 | 2014-04-22 | Citrix Systems, Inc. | Systems and methods for providing client-side dynamic redirection to bypass an intermediary |
US7810089B2 (en) * | 2004-12-30 | 2010-10-05 | Citrix Systems, Inc. | Systems and methods for automatic installation and execution of a client-side acceleration program |
US8549149B2 (en) | 2004-12-30 | 2013-10-01 | Citrix Systems, Inc. | Systems and methods for providing client-side accelerated access to remote applications via TCP multiplexing |
US8954595B2 (en) | 2004-12-30 | 2015-02-10 | Citrix Systems, Inc. | Systems and methods for providing client-side accelerated access to remote applications via TCP buffering |
US8255456B2 (en) | 2005-12-30 | 2012-08-28 | Citrix Systems, Inc. | System and method for performing flash caching of dynamically generated objects in a data communication network |
EP2739014B1 (de) | 2005-01-24 | 2018-08-01 | Citrix Systems, Inc. | Systeme und Verfahren zur Ausführung von Zwischenspeicherung von dynamisch erzeugten Objekten in einem Netzwerk |
JP4550648B2 (ja) * | 2005-04-08 | 2010-09-22 | 株式会社日立製作所 | 計算機システム |
US8312172B2 (en) * | 2005-05-26 | 2012-11-13 | Bytemobile, Inc. | Method and system for delta compression |
JP2007128371A (ja) * | 2005-11-04 | 2007-05-24 | Fujitsu Ltd | コンテンツ検索システム |
US20070112938A1 (en) * | 2005-11-17 | 2007-05-17 | Nokia Corporation | Intermediary, source and methods for sharing content |
US8301839B2 (en) | 2005-12-30 | 2012-10-30 | Citrix Systems, Inc. | System and method for performing granular invalidation of cached dynamically generated objects in a data communication network |
US7921184B2 (en) | 2005-12-30 | 2011-04-05 | Citrix Systems, Inc. | System and method for performing flash crowd caching of dynamically generated objects in a data communication network |
US8300798B1 (en) | 2006-04-03 | 2012-10-30 | Wai Wu | Intelligent communication routing system and method |
US7444388B1 (en) | 2006-04-13 | 2008-10-28 | Concert Technology Corporation | System and method for obtaining media content for a portable media player |
US7526486B2 (en) | 2006-05-22 | 2009-04-28 | Initiate Systems, Inc. | Method and system for indexing information about entities with respect to hierarchies |
EP2030134A4 (de) | 2006-06-02 | 2010-06-23 | Initiate Systems Inc | System und verfahren für automatische gewichtsgenerierung für wahrscheinlichkeitsabgleich |
US7698268B1 (en) | 2006-09-15 | 2010-04-13 | Initiate Systems, Inc. | Method and system for filtering false positives |
US7685093B1 (en) | 2006-09-15 | 2010-03-23 | Initiate Systems, Inc. | Method and system for comparing attributes such as business names |
US8356009B2 (en) | 2006-09-15 | 2013-01-15 | International Business Machines Corporation | Implementation defined segments for relational database systems |
US7860491B2 (en) * | 2006-12-11 | 2010-12-28 | International Business Machines Corporation | System and methods for on-demand document provisioning using ad hoc networking |
US8621092B2 (en) * | 2006-12-19 | 2013-12-31 | International Business Machines Corporation | Remote portlet consumer with enhanced resource URL processing |
US8359339B2 (en) | 2007-02-05 | 2013-01-22 | International Business Machines Corporation | Graphical user interface for configuration of an algorithm for the matching of data records |
US8307092B2 (en) * | 2007-02-21 | 2012-11-06 | Napo Enterprises, Llc | Method and system for collecting information about a user's media collections from multiple login points |
US8515926B2 (en) * | 2007-03-22 | 2013-08-20 | International Business Machines Corporation | Processing related data from information sources |
WO2008121824A1 (en) | 2007-03-29 | 2008-10-09 | Initiate Systems, Inc. | Method and system for data exchange among data sources |
US8423514B2 (en) | 2007-03-29 | 2013-04-16 | International Business Machines Corporation | Service provisioning |
WO2008121170A1 (en) * | 2007-03-29 | 2008-10-09 | Initiate Systems, Inc. | Method and system for parsing languages |
US8370355B2 (en) | 2007-03-29 | 2013-02-05 | International Business Machines Corporation | Managing entities within a database |
BRPI0817507B1 (pt) | 2007-09-28 | 2021-03-23 | International Business Machines Corporation | Método para análise de um sistema para associação de registro de dados, mídia de armazenamento legível por computador e sistema computacional para análise de um centro de identidade |
CN101884039B (zh) | 2007-09-28 | 2013-07-10 | 国际商业机器公司 | 将多种语言的数据记录相关联的方法和系统 |
US8713434B2 (en) | 2007-09-28 | 2014-04-29 | International Business Machines Corporation | Indexing, relating and managing information about entities |
US8667175B2 (en) * | 2008-03-13 | 2014-03-04 | Cisco Technology, Inc. | Server selection for routing content to a client using application layer redirection |
US7725535B2 (en) * | 2008-05-27 | 2010-05-25 | International Business Machines Corporation | Client-side storage and distribution of asynchronous includes in an application server environment |
US9253536B2 (en) * | 2009-03-18 | 2016-02-02 | Microsoft Technology Licensing, Llc | Updating data-consuming entities |
US9135091B2 (en) | 2009-04-03 | 2015-09-15 | Microsoft Technology Licensing, Llc | Communicating events or data between application components |
US9253278B2 (en) | 2012-01-30 | 2016-02-02 | International Business Machines Corporation | Using entity tags (ETags) in a hierarchical HTTP proxy cache to reduce network traffic |
US9055118B2 (en) * | 2012-07-13 | 2015-06-09 | International Business Machines Corporation | Edge caching using HTTP headers |
US9860332B2 (en) | 2013-05-08 | 2018-01-02 | Samsung Electronics Co., Ltd. | Caching architecture for packet-form in-memory object caching |
CN108829837A (zh) * | 2018-06-19 | 2018-11-16 | 北京五八信息技术有限公司 | 一种信息查询方法、装置、设备及计算机可读存储介质 |
CN110933168B (zh) * | 2019-11-28 | 2022-03-11 | 广东好太太智能家居有限公司 | 一种多个物联网设备的消息上报方法、设备及存储介质 |
US11748263B2 (en) | 2021-11-15 | 2023-09-05 | Akamai Technologies, Inc. | Internet caches with object hints |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4959777A (en) * | 1987-07-27 | 1990-09-25 | Motorola Computer X | Write-shared cache circuit for multiprocessor system |
JPH0680499B2 (ja) * | 1989-01-13 | 1994-10-12 | インターナショナル・ビジネス・マシーンズ・コーポレーション | マルチプロセッサ・システムのキャッシュ制御システムおよび方法 |
US5222224A (en) * | 1989-02-03 | 1993-06-22 | Digital Equipment Corporation | Scheme for insuring data consistency between a plurality of cache memories and the main memory in a multi-processor system |
US5611049A (en) * | 1992-06-03 | 1997-03-11 | Pitts; William M. | System for accessing distributed data cache channel at each network node to pass requests and data |
DE69327643T2 (de) * | 1992-12-18 | 2000-08-31 | Advanced Micro Devices Inc | Cachespeichersysteme |
US5452447A (en) * | 1992-12-21 | 1995-09-19 | Sun Microsystems, Inc. | Method and apparatus for a caching file server |
US5511208A (en) * | 1993-03-23 | 1996-04-23 | International Business Machines Corporation | Locating resources in computer networks having cache server nodes |
US5604882A (en) * | 1993-08-27 | 1997-02-18 | International Business Machines Corporation | System and method for empty notification from peer cache units to global storage control unit in a multiprocessor data processing system |
US5510934A (en) * | 1993-12-15 | 1996-04-23 | Silicon Graphics, Inc. | Memory system including local and global caches for storing floating point and integer data |
US5623656A (en) * | 1994-12-15 | 1997-04-22 | Lucent Technologies Inc. | Script-based data communication system and method utilizing state memory |
-
1996
- 1996-10-18 US US08/733,485 patent/US5787470A/en not_active Expired - Lifetime
-
1997
- 1997-09-24 CA CA002216346A patent/CA2216346C/en not_active Expired - Fee Related
- 1997-10-13 DE DE69727438T patent/DE69727438T2/de not_active Expired - Lifetime
- 1997-10-13 EP EP97308074A patent/EP0837584B1/de not_active Expired - Lifetime
- 1997-10-20 JP JP28666497A patent/JP3968119B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
EP0837584A1 (de) | 1998-04-22 |
CA2216346C (en) | 2002-01-15 |
DE69727438D1 (de) | 2004-03-11 |
EP0837584B1 (de) | 2004-02-04 |
US5787470A (en) | 1998-07-28 |
JP3968119B2 (ja) | 2007-08-29 |
JPH10254753A (ja) | 1998-09-25 |
CA2216346A1 (en) | 1998-04-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69727438T2 (de) | Zwischenspeicher-Protokoll für verbesserte Webleistung | |
DE69723612T2 (de) | Datenbanknetzwerk | |
DE60122691T2 (de) | Verfahren und vorrichtung zum verteilten cachen | |
DE69832002T2 (de) | Übertragungssystem und Übertragungsverfahren,Empfangssystem und Empfangsverfahren | |
DE69736045T2 (de) | Verfahren zum Übertragen und Darstellen von Datenseiten in einem Datennetzwerk | |
DE69729399T2 (de) | Datenverwaltungssystem und Verfahren für replizierte Daten | |
DE60014645T2 (de) | Datensicherungsvorrichtung für eine internet-server-sitzung | |
DE69933312T2 (de) | Auswahlsteuerung eines gateway-unterstützungsknotens | |
DE60130011T2 (de) | Http-multiplexer/demultiplexer | |
DE69909839T3 (de) | Optimierte Lokalisierung von Netzwerkbetriebsmittel | |
DE60015423T2 (de) | Verfahren und Vorrichtung zur Objektwiedergabe in einem Netzwerk | |
DE60125954T2 (de) | Adressierung und routen von datenpaketen in einem computer-netzwerk mit hilfe von inhaltsbeschreibenden labeln | |
DE60008102T2 (de) | Verfahren und vorrichtung zur mehrfachsendung | |
DE60111072T2 (de) | Verfahren und vorrichtung zur parallelen nachrichtenübermittlung in echtzeit von dateisegmentierten | |
DE60313371T2 (de) | Verwendung von baumartigen "Bitmap" Datenstrukturen | |
DE69628682T2 (de) | System und Verfahren um die Belastung einer Mehrzahl von Datei-Servern zu verteilen | |
DE10311082B4 (de) | Elektronikdokumentmanagementverfahren | |
DE60317925T2 (de) | Steuerung von netzwerkverkehr in einer peer-to-peer umgebung | |
DE69533838T2 (de) | Verfahren und System zur Aktualisierung der nachgebildeten Datenbanken in Fernsprechnetzen | |
DE602004004200T2 (de) | System und Verfahren zum Verwalten von gepufferten Objekten unter Verwendung von Mitteilungsverbindungen | |
DE69927285T2 (de) | Netzverwaltungssystem | |
DE69938122T2 (de) | Verfahren und System zur Softwareverteilung | |
DE60204031T2 (de) | Hierarchische cachespeicherung in telekommunikationsnetzen | |
EP1810523B1 (de) | Verfahren und produkte zum informationsabgleich zwischen manager und agent in einem managementnetz | |
DE60037914T2 (de) | Multicasting von Daten in einem mobilen IP-Kommunikationsnetz |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition |