DE69727438T2 - Zwischenspeicher-Protokoll für verbesserte Webleistung - Google Patents

Zwischenspeicher-Protokoll für verbesserte Webleistung Download PDF

Info

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
Application number
DE69727438T
Other languages
English (en)
Other versions
DE69727438D1 (de
Inventor
Antonio Ocean DeSimone
Sandeep Matawan Sibal
David Hilton Middletown Shur
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.)
AT&T Corp
Original Assignee
AT&T Corp
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 AT&T Corp filed Critical AT&T Corp
Publication of DE69727438D1 publication Critical patent/DE69727438D1/de
Application granted granted Critical
Publication of DE69727438T2 publication Critical patent/DE69727438T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network 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, wie 101 und 102, mit einem Cache 103 innerhalb eines IASP 104 verbunden sind. Der Cache 103 ist wiederum mit einem Server 105 verbunden, der mit dem Internet 106 verbunden ist. Durch Speichern eines Objekts von dem Server 105 in dem Cache 103, wenn es zuerst von dem Client 101 zurückgewonnen wird, können nachfolgende Anforderungen für das gleiche Objekt durch den Client 101 oder irgendeinen anderen Client, der mit dem Cache 103 innerhalb des IASP 104 verbunden ist, beispielsweise dem Client 102, direkt von dem Cache 103 erfüllt werden. Der IASP 104 umfasst wahrscheinlich auch einen zweiten oder weitere Caches, wie den Cache 107, der andere Clients bedient, die mit dem gleichen IASP verbunden sind, wie 108 und 109. Die Objekte, die in dem zweiten Cache 107 oder anderen Caches innerhalb des IASP 104 gespeichert sind, aber nicht gezeigt sind, könnten verwendet werden, um die Clients zu bedienen, die mit dem ersten Cache 103 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 RQC 201 eine Anforderung 202 an den RSC 203, um ihn über sämtliche oder einen Untersatz von Objekten, die in dem RSC 203 gespeichert sind und innerhalb des RSC 203 seit einem gegebenen Datum und einer gegebenen Zeit aktualisiert worden sind oder für den RSC 203 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 RSC 203 gespeichert wurden, als auch Objekte, die in dem RSC 203 neu hinzugefügt worden sind, einschließen. Die Anforderung 202 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 RSC 203 diese aufgelisteten URLs, um zu bestimmen, ob das Objekt in der Tat in dem Cache seit dem IMS Datum modifiziert worden ist. Die Antwort 204 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 RQC 201 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 RQC 201 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 Anforderung 205, 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 RSC 203 sendet als Antwort auf diese GET Anforderung eine Antwort 206 zurück an den RQC 201, 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 RQC 301 zunächst eine Anforderung 302 mit dem RSC 303 für Aktualisierungs-Ereignisse für einen Bereich von URLs. Der RSC 303 registriert dann diese Anforderungen und überträgt eine Bestätigung 304 zurück an den RQC 301. Nach der Registrierung überträgt der RSC 303 eine Aktualisierungsnachricht zurück an den RQC 301 immer dann, wenn eine von diesen registrierten URLs modifiziert wird. Wenn eine URL url1 modifiziert wird, wird somit eine Nachricht 305, die Information über das Objekt enthält, an den RQC 301 übertragen. Als Antwort darauf kann der RQC 301 entscheiden eine Anforderung 306 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 RQC 301 entscheiden, sie nicht herunterzuladen. Wie in 3 angegeben, wenn die URL url1 modifiziert wird und eine Aktualisierungsnachricht 307 über die URL url2 an den RQC 301 ü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 RQC 301 ü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 der 3, 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 Cache 401 an den Nachbar-Cache 402 eine Nachricht 403, die Information über einen Satz von URLs enthält. Wenn der Cache 402 diese Nachricht empfängt aktualisiert er die Zustandsinformation, die er über seinen Nachbar-Cache 401 akkumuliert hat. Der Cache 402 sendet dann, auf Grundlage der Zustandsinformation, die der Cache 402 auf seinem Cache 401 hat, eine Nachricht 404, die Information über einen Satz von modifizierten URLs enthält, die neuer als das ist, was der Cache 401 hat. Wenn die Nachricht 404 von dem Cache 401 empfangen wird, dann wird die Zustandsinformation, die der Cache 401 auf seinem Cache 402 hat, aktualisiert und auf Grundlage dieser Zustandsinformation wird Information über URLs, die neuer als das ist, was der Cache 402 aufweist, an den Cache 402 in der Nachricht 405 gesendet. Dieser Algorithmus wird an die Caches 401 und 402 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 in 5 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 oder 504) von einem Cache 501 oder 502 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 in 5 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 RQC 601 und RSC 602. 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 Anforderung 603 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 RSC 602 modifiziert worden ist, gefolgt von einem Leerzeichen und der Größe des Objekts in Bytes. Somit zeigt die Antwort 604 an, dass die zwei Objekte mit der Anforderung 603 übereinstimmten. Das erste Objekt weist die URL http:://www.nytimes.com/index.html auf, die zuletzt in dem RSC 602 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 RSC 602 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 Antwort 604 und wählt, welche Objekte von dem RSC 602 zu HOLEN (GET) sind. Somit, wie in 6 angegeben, gibt der RQC 401 eine Anforderung 605 zum HOLEN (GET) von http://www.nytimes.com/info/textpath.html HTTP/1.0 von dem RSC 602 aus. Der RSC 602 füllt danach diese Anforderung aus, indem er den Körper dieses Objekts zurück an den RQC 601 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)

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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.
  7. Verfahren nach Anspruch 5, wobei das zweite Signal auf einer periodischen Basis übertragen wird.
  8. 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.
  9. 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.
  10. 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.
DE69727438T 1996-10-18 1997-10-13 Zwischenspeicher-Protokoll für verbesserte Webleistung Expired - Lifetime DE69727438T2 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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 &#34;Bitmap&#34; 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