DE69732605T2 - Dynamisches Cachespeicher-Vorladen über lose gekoppelte administrative Bereiche - Google Patents

Dynamisches Cachespeicher-Vorladen über lose gekoppelte administrative Bereiche Download PDF

Info

Publication number
DE69732605T2
DE69732605T2 DE69732605T DE69732605T DE69732605T2 DE 69732605 T2 DE69732605 T2 DE 69732605T2 DE 69732605 T DE69732605 T DE 69732605T DE 69732605 T DE69732605 T DE 69732605T DE 69732605 T2 DE69732605 T2 DE 69732605T2
Authority
DE
Germany
Prior art keywords
cache
catalog
document
server
request
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
DE69732605T
Other languages
English (en)
Other versions
DE69732605D1 (de
Inventor
Panagiotis Tsirigotis
Sanjay Radia
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.)
Amazon Technologies Inc
Original Assignee
Sun Microsystems Inc
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 Sun Microsystems Inc filed Critical Sun Microsystems Inc
Application granted granted Critical
Publication of DE69732605D1 publication Critical patent/DE69732605D1/de
Publication of DE69732605T2 publication Critical patent/DE69732605T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9574Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • H04L67/5682Policies or rules for updating, deleting or replacing the stored data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/62Establishing a time schedule for servicing the requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99938Concurrency, e.g. lock management in shared database
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability

Description

  • Diese Anmeldung bezieht sich auf Kommunizieren in Netzen und speziell auf ein Verfahren und eine Vorrichtung zum Cache-Speichern in einem Netz, wobei die Elemente des Netzes unabhängig betrieben werden.
  • Die letzten Jahre haben einen gewaltigen Anstieg in der Popularität von Netzsystemen wie dem Internet gesehen. Ein Netz wird von unabhängig betriebenen Elementen gebildet, die in einer Weise miteinander verbunden sind, die es ihnen ermöglicht, Information zu übertragen. Zum Beispiel kann ein erstes Netzelement World-Wide-Web-Seiten an ein zweites Netzelement übertragen. Das World-Wide-Web ermäglicht es einem Benutzer, „Web Browser"-Software auf seinem Computersystem zu verwenden, um „Webseiten", die auf anderen Systemen im Netz gespeichert sind, zu betrachten. In ähnlicher Weise können Netzelemente Dateien an andere Netzelemente mittels des File Transfer Protocol (FTP) übertragen.
  • Die Menge der über Netze wie das Internet übertragener Information ist gewachsen und wird in Zukunft weiterhin wachsen. Während die Gesamtmenge der Information, die übertragen wird, gewachsen ist, schwankt die Menge an Information, die während eine Tages übertragen wird, immer noch zu unterschiedlichen Tageszeiten. Eine Tageszeit, zu der die meiste Information übertragen wird, wird „Spitzennutzungszeit" bzw. „Peak Usage Time" genannt. Eine Tageszeit, zu der eine relativ geringe Menge an Information übertragen wird, wird „Schwachnutzungszeit" bzw. „Low Usage Time" genannt. Zum Beispiel könnte ein Netz, das es einem Verbraucher ermöglicht, Information mittels eines Kabelmodems auf einen Personalcomputer herunterzuladen, eine Spitzennutzungszeit haben, wenn Leute von der Arbeit nach Hause kommen, und eine Schwachnutzungszeit in der Mitte der Nacht, wenn die Leute schlafen. Es ist wünschenswert, daß die Nutzung des Netzes so gut wie möglich ausgeglichen wird. Es ist ebenso wünschenswert, daß die Antwortzeit so viel wie möglich gesteigert wird.
  • Darüber hinaus haben in herkömmlichen Netzen verschiedene Elemente des Netzes unterschiedliche Ziele. Zum Beispiel kann in dem oben genannten Verbrauchernetz ein zentral angesiedeltes Netzelement ein Ziel haben, so viel Information wie möglich über das Netz auszusenden. Im Gegensatz dazu kann ein „lokaler" Computer ein Ziel haben, „seinen" Benutzern die bestmögliche Antwortzeit zu geben.
  • Lokale Computer speichern häufig eintreffende Information in einem Cachespeicher. Zum Beispiel kann ein Web Browser in seinem Speicher eine Kopie der zehn jüngsten Seiten, die von dem Benutzer betrachtet wurden, sichern. Auf diese Weise braucht die Browser-Software keine Anforderung für diese Webseite über das Netz auszusenden, wenn der Benutzer irgendeine der Webseiten im Cachespeicher betrachten möchte. Stattdessen kann der Browser nur die im Cache gehaltene Webseite aus seinem Speicher erhalten. Der Browser kann auf seinen Speicher viel schneller zugreifen, als er eine Webseite über das Netz anfordern und empfangen kann. Somit spart das Speichern im Cache die Zeit, die ansonsten zum Holen der Webseite über das Netz benötigt wird.
  • Lokale Computer speichern häufig die Information, auf die zuletzt zugegriffen wurde, so daß die Information verfügbar ist, sollte sie der Benutzer erneut anfordern. Ein mit dem herkömmlichen Speichern im Cache verbundenes Problem ist, daß der Benutzer warten muß, bis die Information in den lokalen Computer heruntergeladen ist, wenn der Benutzer eine erste Anforderung für diese Information stellt. (Speichern im Cache wird als Reaktion auf eine Benutzeranforderung für Information durchgeführt). Ein zweites Problem ist, daß die Information, die im Cache gespeichert werden soll, häufig zu Spitzennutzungszeiten angefordert und heruntergeladen wird.
  • Das Dokument XP-000764867 offenbart ein Protokoll, um Daten von einem Server an Server zu verteilen, die näher beim Kunden sind.
  • Spezielle und bevorzugte Aspekte der Erfindung sind in den anhängenden unabhängigen und abhängigen Ansprüchen dargelegt. Eigenschaften der abhängigen Ansprüche können mit denen der unabhängigen Ansprüche nach Bedarf und in anderen als in den Ansprüchen ausdrücklich dargelegten Kombinationen kombiniert werden.
  • Die vorliegende Erfindung überwindet die Probleme und Nachteile des Standes der Technik, indem ein Cachespeicher-Server implementiert wird, der schnellere Zugriffszeiten für unabhängig betriebene Netzelemente bereitstellen kann. Von solchen unabhängig betriebenen Netzelementen sagt man, daß sie „lose gekoppelte Verwaltungsdomänen" besitzen. Nach einer bevorzugten Ausführungsform der vorliegenden Erfindung leitet der Cachespeicher-Server eine Informationsübertragung ein und hält die angeforderte Information in seinem Speicher, anstatt Informationsübertragung als Reaktion auf eine Benutzeranforderung im Cache zu speichern.
  • Nach einer bevorzugten Ausführungsform der vorliegenden Erfindung lädt der Cachespeicher-Server Information vorab von einem anderen Server in seinen Speicher basierend auf einem Satz von vorher festgelegten Kriterien. Zum Beispiel kann der Cachespeicher-Server so viele von den größten Dateien herunterladen, wie in seinem Cachespeicher passen. Solches Vorab-Laden findet vorzugsweise während Zeiten schwacher Nutzung statt. Speziell fordert der Cachespeicher-Server einen „Katalog" von verfügbarer Information von einer Informationsquelle wie einem anderen Server. Die Informationsquelle sendet den Katalog über das Netz. Der Cachespeicher-Server entscheidet dann, welche Information er vorab zu laden wünscht und fordert diese Information von der Informationsquelle an. Sobald die Information empfangen ist, hält der Cachespeicher-Server die Information in einem Cachespeicher, so daß die Information verfügbar ist, wenn sie von einem Benutzer angefordert wird.
  • Das Vorab-Laden des Cachespeichers hat zwei Hauptvorteile: 1) es beseitigt die Verzögerungszeit, die mit dem Zugriff auf die Information durch einen Benutzer beim ersten Mal verbunden ist, und 2) das Holen der Information zwischen der Informationsquelle und dem Cachespeicher-Server kann außerhalb der Spitzen-Stunden stattfinden, wodurch die Netzlast zu Spitzenzeiten reduziert wird.
  • Nach einer bevorzugten Ausführungsform der vorliegenden Erfindung legt die Informationsquelle fest, welche Information in dem Katalog gemäß einem von einem Satz von vorher festgelegten Kriterien beschrieben wird. Zum Beispiel kann der Katalog entsprechend der Größe organisiert sein und die Informationsquelle organisiert den Katalog nach Dateigrößen. Als ein zweites Beispiel kann der Katalog danach organisiert werden, welche Dateien am häufigsten von Benutzern heruntergeladen werden. In diesem Fall lädt der Cachespeicher-Server so viele häufig verwendete Dateien vorab, wie in seinen Cachespeicher passen. Als ein drittes Beispiel kann der Katalog danach organisiert sein, für welche Dateien Werbetreibende bezahlt haben, um sie in den Katalog zu plazieren. In diesem Fall lädt der Cachespeicher-Server so viele von diesen Dateien vorab, wie in seinen Cachespeicher passen.
  • Gemäß einem Aspekt der Erfindung wird ein Verfahren zum schnellen Zugriff auf Information in einem Netz bereitgestellt, das ein mit einem Cachespeicher-Server verbundenes Ursprungssystem umfaßt, wobei das Verfahren die von dem Cachespeicher-Server durchgeführten Schritte aufweist: Anfordern eines Katalogs von dem Ursprungssystem, der die von dem Ursprungssystem verfügbaren Dokumente auflistet; Empfangen des Katalogs von dem Ursprungssystem; Anfordern eines in dem Katalog beschriebenen Dokumentes, wobei das angeforderte Dokument einem zuvor festgelegten Kriterium des Cachespeicher-Servers entspricht; Empfangen des Dokumentes von dem Ursprungssystem; und Speichern des Dokumentes in einem Cachespeicher des Cachespeicher-Server.
  • Gemäß einem anderen Aspekt der Erfindung wird ein Cachespeicher-Server mit einem Cachespeicher vorgesehen, wobei der Cachespeicher-Server Teil eines Netzes ist, das ein mit dem Cachespeicher-Server verbundenes Ursprungssystem beinhaltet, wobei der Cachespeicher-Server aufweist: einen ersten Teil, der dafür ausgelegt ist, einen Katalog von dem Ursprungssystem anzufordern, der die von dem Ursprungssystem erhältlichen Dokumente auflistet; einen zweiten Teil, der dafür ausgelegt ist, den Katalog von dem Ursprungssystem zu empfangen; eine dritten Teil, der dafür ausgelegt ist, ein in dem Katalog beschriebenes Dokument anzufordern, wobei das angeforderte Dokument einem zuvor festgelegten Kriterium des Cachespeicher-Servers entspricht; einen vierten Teil, der dafür ausgefegt ist, das Dokument von dem Ursprungssystem zu empfangen; und einen fünften Teil, der dafür ausgelegt ist, das Dokument in dem Cachespeicher zu speichern.
  • Vorzüge der Erfindung werden zum Teil in der folgenden Beschreibung dargelegt und sind zum Teil aufgrund der Beschreibung offensichtlich oder können durch Einsetzen der Erfindung erfahren werden. Die Ziele und Vorzüge der Erfindung werden erkannt und erreicht mittels der Elemente und Kombinationen, die im Einzelnen in den beigefügten Ansprüchen und Äquivalenten dargelegt werden.
  • Beispielhafte Ausführungsformen der Erfindung werden nachfolgend nur als Beispiel unter Bezug auf die beigefügten Zeichnungen beschrieben, von denen:
  • 1 ein Blockdiagramm eines Datenverarbeitungssystems gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung ist.
  • 2 ein Diagramm ist, das Schritte eines Verfahrens zum Vorab-Laden eines Cachespeicher-Server zeigt.
  • 3 ein Diagramm ist, das Schritte eines Verfahrens zum Erfüllen einer Anforderung von Information durch einen Benutzer zeigt.
  • 4a bis 4c Beispiele möglicher Katalogformate zeigen.
  • Es wird nun im Detail auf die bevorzugten Ausführungsformen der Erfindung Bezug genommen, wobei Beispiele dafür in den beigefügten Zeichnungen veranschaulicht werden. Wo immer möglich werden dieselben Bezugsnummern in allen Zeichnungen verwendet, um auf gleiche oder ähnliche Teile Bezug zu nehmen.
  • 1 ist ein Blockdiagramm eines Computernetzes 100 gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung. Das Computernetz 100 beinhaltet ein Ursprungscomputersystem 101 und ein Cachespeicher-Computersystem 151. Das Ursprungssystem bzw. Ausgangssystem 101 und das Cachespeicher-System 151 sind durch die Verbindung 130 verbunden. Das Computersystem 100 kann jede Art von Netz wie etwas das Internet, ein LAN, ein WAN, ein Intranet, etc. sein, das es den Systemen 101 und 151 ermöglicht, miteinander zu kommunizieren. Das Ursprungssystem 101 und das Cachespeicher-System 151 werden unabhängig voneinander betrieben und kommunizieren mittels irgendeines bekannten Protokolls wie etwa das Hyper Text Transfer Protocol (http). Auch wenn nur zwei Systeme 101 und 151 abgebildet sind, sollte es sich verstehen, daß zusätzliche Systeme in dem Computernetz 100 beinhaltet sein können, ohne von der vorliegenden Erfindung abzuweichen.
  • Das Ursprungscomputersystem 101 beinhaltet einen Prozessor 102 und einen Speicher 104. Der Speicher 104 beinhaltet Urspungsserver-Software 112 und einen Katalog 114. Der Katalog 114 enthält zum Beispiel eine Beschreibung der Information, die von dem Ursprungssystem 101 erhältlich ist. Das System 101 ist vorzugsweise mit einer Anzeigeeinrichtung 132 und einer Eingabeeinrichtung 134 verbunden, was irgendwelche aus einem weiten Bereich von unterschiedlichen I/O-Einrichtungen wie Plattenlaufwerke, Tastaturen, Modems, Netzadapter, Drucker und Anzeigen sein können. Entsprechende computerlesbare Einrichtungen 136 wie ein Plattenlaufwerk oder ein CD-ROM-Laufwerk sind an das Ursprungssystem 101 und das Cachespeicher-System 151 angeschlossen abgebildet. Die Ursprungsserver-Software 112 und die Cacheserver-Software 162 sind vorzugsweise über die Einrichtungen 136 in den Speicher geladen.
  • Das Cachespeicher-Computersystem 151 beinhaltet einen Prozessor 152 und einen Speicher 154. Der Speicher 154 beinhaltet Cacheserver-Software 162 und einen Katalog 164, der von dem Ursprungssystem 101 übertragen wurde. 1 zeigt auch einen Cachespeicher 174. Der Cachespeicher 174 kann ein Teil des Speichers 104 (wie abgebildet) oder ein separater Speicher sein. Der Cachespeicher 174 hat eine vorbestimmte maximale Größe. In der beschriebenen Ausführungsform ist das Cachespeicher-System 151 mit einem Client#1 190 und einem Client#2 192 verbunden. In der beschriebenen Ausführungsform bilden der Client#1 190 und das Cachespeicher-System 151 zusammen einen Cachespeicher-Server 194. In anderen Ausführungsformen kann der Client#1 entweder in demselben oder in einem anderen Computer als dem Cachespeicher-System 151 angesiedelt sein. In noch anderen bevorzugten Ausführungsformen führt das Cachespeicher- System 151 die Funktionen von Client#1 190 durch. Client#2 kann entweder in demselben oder in einem anderen Computer als dem Cachespeicher-System 151 liegen.
  • Das Vorab-Laden des Cachespeicher-Systems 151 wird aus dem Ursprungssystem 101 ermöglicht, wobei die Prioritäten von Einheiten, die die Systeme 101 und 151 verwalten, verschieden sind. Zum Beispiel wird das Ursprungssystem 101 wünschen, so viel Information wie möglich „auszustoßen" („push out"), während das Cachespeicher-System 151 nur bereit ist, eine bestimmte Menge von Information im Cache zu speichern. Das Ursprungssystem 101 kann zum Beispiel ein großer, zentral angesiedelter Server sein, der eine große Anzahl von HTTP-Dokumenten wie Webseiten und Dateien speichert. Das Cachespeicher-System 151 kann zum Beispiel ein regionaler Server sein, der für Clients in einer geographischen Region zugänglich ist. Ein typisches Netz kann mehrere Ursprungssysteme 101 und/oder mehrere Cachespeicher-Systeme 151 beinhalten.
  • 2 ist ein Diagramm, das Schritte eines Verfahrens zum Vorab-Laden eines Cachespeicher-Systems 151 gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung zeigt. Die Figur ist in drei Bereiche unterteilt, die den Client#1 190, das Cachespeicher-System 151 bzw. das Ursprungssystem 101 repräsentieren. In der beschriebenen Ausführungsform kommunizieren der Client und die Server miteinander über das HTTP-Protokoll, obwohl andere geeignete Protokolle verwendet werden könnten. Der Prozessor 152 führt Cacheserver-Software 162 aus, um die Schritte der mittleren Spalte durchzuführen. Der Prozessor 102 führt Ursprungsserver-Software 112 aus, um die Schritte der Spalte ganz rechts durchzuführen. Client#1 190 und Client#2 192 beinhalten vorzugsweise einen Prozessor, der Software zum Durchführen der abgebildeten Schritte ausführt. Wie oben diskutiert zeigt 1 Client#1 190 als einen separaten Prozeß, der auf einer separaten Maschine ablaufen kann oder nicht. Nach einer alternativen Ausführungsform werden die Funktionen von Client#1 190 von der Cacheserver-Software 162 durchgeführt.
  • In Schritt 202 leitet der Client#1 190 eine Anforderung für einen Katalog an das Cachespeicher-System 151 ein. Nach der beschriebenen Ausführungsform sendet der Client#1 190 eine solche Anforderung zu einem zuvor festgelegten Zeitpunkt wie etwa in der Mitte der Nacht. Es ist wünschenswert, daß die Anforderung von Schritt 202 zu einem Zeitpunkt durchgeführt wird, wenn das Netz nicht stark beschäftigt ist. Eine solche Zeitsteuerung hilft, die Netzlast zu Spitzenzeiten zu reduzieren. In Schritt 204 sendet das Cachespeicher-System 151 eine Anforderung für einen Katalog an das Ursprungssystem 101. In Schritt 206 sendet das Ursprungssystem 101 den Katalog 114 an das Cachespeicher-System 151. In Schritt 208 sendet das Cachespeicher-System 151 den Katalog an Client#1 190.
  • Schritte 210 bis 220 werden mehrmals durchgeführt, bis Client#1 190 feststellt, daß der Cachespeicher 174 voll ist (oder daß eine bestimmte maximale Menge von Cachespeicher gefüllt ist). Alternativ kann Client#1 190 eine Liste von Information, die vorab zu laden ist, an das Cachespeicher-System 151 senden und das Cachespeicher-System 151 wird so viele der Einträge in der Liste laden, wie in den Cachespeicher 174 passen. In Schritt 210 fordert der Client#1 190 einen Gegenstand bzw. ein Objekt (Datenobjekt) in dem Katalog von dem Cachespeicher-System 151 an. Das Cachespeicher-System 151 sendet die Anforderung an das Ursprungssystem 101, das den ange forderten Gegenstand zurückliefert. Das Cachespeicher-System 151 speichert den zurückgelieferten Gegenstand im Cachespeicher 174. 2 zeigt, daß der Gegenstand danach an den Client#1 190 weitergeleitet wird, der ihn verwirft, aber Information über den Gegenstand wie etwa die Größe aufheben kann. Alternativ kann das Cachespeicher-System 151 den Gegenstand einfach im Cache speichern, ohne ihn an Client#1 190 zu senden. Somit wurde am Ende von Schritt 216 die Information vorab in das Cachespeicher-System 151 geladen und wartet darauf, daß der Benutzer Information anfordert.
  • 2 zeigt auch einen Schritt 230, in dem der Client#1 190 spezielle Anweisungen an das Cachespeicher-System 151 sendet. Diese speziellen Anweisungen können zum Beispiel angeben, daß bestimmte Information in dem Cachespeicher 174 eine vorbestimmte Zeit lang nicht aus dem Cachespeicher entfernt werden sollte. Als ein weiteres Beispiel kann die spezielle Anweisung das Cachespeicher-System 151 anweisen, bestimmte Information in dem Cachespeicher 174 sofort zu löschen. Die Information kann zum Beispiel durch ihre URL (Uniform Resource Locator) spezifiziert werden. Alternativ kann die spezielle Anweisung das Cachespeicher-System 151 anweisen, Information in einer last-in, first-out Reihenfolge oder in irgendeiner anderen passenden Reihenfolge zu löschen (oder zu sichern).
  • 3 ist ein Diagramm, das Schritte eines Verfahrens zum Erfüllen einer Benutzeranforderung von Information zeigt. Die Schritte in 3 werden durchgeführt, nachdem das Cachespeicher-System 151 einige Information in den Cachespeicher 174 vorab geladen hat, wie in 2 gezeigt. In dem Beispiel ist der Benutzer auf Client#2 192 eingeloggt. In Schritt 302 fordert der Benutzer Information wie eine Datei oder eine Webseite mittels URL an. Wenn in Schritt 304 die angeforderte Information vorab geladen ist und im Cachespeicher 174 vorliegt, wird die Information aus dem Cachespeicher 174 kopiert und an den Client#2 192 gesendet. Wenn in Schritt 308 die Information nicht vorab geladen ist, dann fordert das Cachespeicher-System 151 in Schritt 310 die Information von dem Ursprungssystem 101 an, das die angeforderte Information zurückliefert. In Schritt 314 speichert das Cachespeicher-System 151 die Information im Cachespeicher 174 und sendet die Information in Schritt 316 an den anfordernden Client. Das Cachespeicher-System 151 stellt mit irgendeiner einer Vielzahl von bekannten Cachespeicher-Techniken fest, ob bestimmte Information in dem Cachespeicher 174 vorhanden ist.
  • Man beachte, daß Schritt 314 das Löschen (Verwerfen) von Einträgen aus dem Cachespeicher 174 nach sich ziehen kann, um Platz für neue Einträge zu schaffen. Wenn das Cachespeicher-System 151 spezielle Anweisungen erhalten hat, bestimmte, im Cachespeicher gehaltene Information nicht zu verwerfen, dann wird in Schritt 314 diese Information nicht aus dem Cachespeicher gelöscht, auch wenn sie als nächstes an der Reihe wäre, gelöscht zu werden.
  • Die 4a bis 4c zeigen entsprechende Beispiele von Formaten des Katalogs 114. Jedes Beispielformat beinhaltet einen Abschnitt oder eine Zeile in dem Katalog für jede Datei oder URL, die zum Herunterladen aus dem Ursprungssystem zur Verfügung steht. Diese Formate werden nur als Beispiel angegeben und sind nicht dazu gedacht, den Anwendungsbereich bzw. Schutzumfang der vorliegenden Erfindung einzuschränken. Der Katalog 114 ist vorzugsweise ein HTTP- Dokument vom Typ „text/plain". 4a zeigt ein Format, in dem der Katalog 114 zwei Felder enthält: ein Uniform-Resource-Locator-(URL)-Feld 403 und ein Größenfeld 404. Der Katalog kann optional nach steigenden oder fallenden Größen organisiert sein.
  • 4b zeigt ein Format, in dem der Katalog 114 drei Felder enthält: ein URL-Feld 410, ein Größenfeld 412 und ein „Wie-oft-heruntereladen"-Feld 414 (auch „Popularitätsfeld" genannt). Alternativ könnte das Popularitätsfeld 414 weggelassen werden, und der Katalog könnte einfach nach steigendem oder fallendem Popularitätswert sortiert werden.
  • 4c zeigt ein Format, bei dem der Katalog drei Felder beinhaltet: ein URL-Feld 420, ein Größenfeld 422 und ein „Erwünschtheits-" bzw. „Attraktivitätsfeld" 412. Alternativ könnte das Erwünschtheitsfeld 412 weggelassen werden, und der Katalog könnte einfach nach steigender oder fallender Erwünschtheit sortiert werden. In diesem Beispiel zeigt Erwünschtheit ein Kriterium an, das in dem Ursprungssystem 101 definiert ist. Wenn zum Beispiel eine Werbetreibender eine Prämie bezahlt hat, um seine Information in den Katalog stellen zu lassen, würde die Information einen hohen Erwünschtheitswert in dem Katalog haben. Andere Beispiele von Katalogen könnte die URLs nach ihrer PICS-Bewertung sortiert haben oder irgendeiner ähnlichen Bewertung, die den Inhalt von Dateien bewertet.
  • Das Cachespeicher-System 151 sieht die Inhalte des Katalogs 114 durch und legt fest, welche verfügbare, im Katalog 114 beschriebene Information vorab geladen werden sollte. Diese Festlegung wird gemäß einer Reihe von Kriterien getroffen, die in dem Speicher des Cachespeicher-Systems 151 gespeichert sind. Ein einfaches Kriterium ist zum Beispiel einfach Dateien in dem Katalog nach Größe vorab zu laden, die größte zuerst, bis der Cachespeicher 174 voll ist (oder eine vorher festgelegte Grenze für die Cachespeichergröße erreicht wurde). Ein anderes mögliches Kriterium könnte sein, daß das Cachespeicher-System 151 sowohl nach Größe der Dateien als auch nach dem verfügbaren Cachespeicher-Platz und der „Popularität" oder „Erwünschtheit" der Datei vorab lädt. Ein weiteres mögliches Kriterium könnte sein, daß das Cachespeicher-System 151 gemäß einem der oben beschriebenen Kriterien vorab lädt, aber und keinen Umständen Information auf einer in seinem Speicher gespeicherten „Nicht-Herunterladen"-Liste herunterlädt. Zum Beispiel könnten bestimmte Cachespeicher-Systeme 151 niemals jugendgefährdendes Material oder Material von einer zuvor festgelegten Informationsquelle herunterladen wollen. Wie man aus den obigen Beispielen erkennen kann, sind die Kriterien, die verwendet werden, um festzulegen, welche Information herunterzuladen ist, in gewisser Weise dadurch beeinflußt, welche Information in dem Katalog 114 verfügbar ist. Eine große Anzahl von Katalogformaten und Kriterien für ein Cachespeicher-System sind mit Ausführungsformen der vorliegenden Erfindung kompatibel.
  • Nach einigen Ausführungsformen gibt das Ursprungssystem 101 „Hinweise" an das Cachespeicher-System/an den Client hinsichtlich dessen, wann es bzw. er das nächste Mal einen Katalog anfordern sollte. Diese Hinweise können als Teil des Katalogs gesendet werden oder können in einer separaten Verwaltungsnachricht gesendet werden. Wenn zum Beispiel der Katalog normalerweise alle vierundzwanzig Stunden aktualisiert wird, könnte das Ursprungssystem 101 vorschlagen, den Katalog durch das Cachespeicher-System alle vierundzwanzig Stunden herunterzuladen. Wenn jedoch irgendein wichtiges Ereignis eintritt, könnte das Ursprungssystem 101 vorschlagen, den Katalog häufiger herunterzuladen, weil er von dem Ursprungssystem 101 häufiger aktualisiert wird.
  • Nach einer bevorzugten Ausführungsform kann in dem Fall, daß auf das Ursprungssystem 101 von mehreren Cachespeicher-Systemen zugegriffen wird, zu jedem Cachespeicher-Server 194 ein unterschiedlicher Katalog gesendet werden. Der Katalog wird dynamisch erzeugt, zum Beispiel auf der Basis von dem bei dem Ursprungssystem 101 beobachteten Zugriffsmuster, das von einem bestimmten Cachespeicher-Server erzeugt wird. Alternativ werden Kataloge durch Grundsatz- bzw. Strategie-Entscheidungen bei dem Ursprungssystem 101 festgelegt. Zum Beispiel können die an einen bestimmten Cachespeicher-Server gesendeten Kataloge so beschaffen sein, daß sie kein jugendgefährdendes Material enthalten.
  • Zusammenfassend ermöglicht es eine Ausführungsform der Erfindung einem Cachespeicher-Server, der vorzugsweise einen Client und ein Cachespeicher-System beinhaltet, eine Anforderung für einen Katalog von verfügbaren HTTP-Dokumenten einzuleiten. Diese Anforderung wird nachts oder während einer schwachen Zeit auf dem Netz gestellt. Nachdem der Katalog empfangen wurde, legt der Cachespeicher-Server fest, welche der Dokumente in dem Katalog vorab in einen Cachespeicher zu laden sind. Somit werden die vorab geladenen Dokumente in dem Cachespeicher des Cachespeicher-Server verfügbar sein, wenn ein Benutzer sie anfordert. Der Cachespeicher-Server kann festlegen, daß einige oder alle vorab geladenen Dokumente für eine zuvor festgelegte Zeitspanne nicht aus seinem Cachespeicher gelöscht werden sollten.
  • Andere Ausführungsformen liegen für Fachleute auf dem Gebiet aus der Betrachtung der Spezifikation und der Anwendung der hier offenbarten Erfindung auf der Hand. Die Spezifikation und die Beispiele sollen nur als Beispiele betrachtet werden.

Claims (16)

  1. Verfahren für den Zugriff auf Information in einem Netzwerk, welches ein Ursprungssystem enthält, das mit einem als Zwischenspeicher dienenden Server verbunden ist, wobei das Verfahren gekennzeichnet ist durch die folgenden Schritte, die durch den als Zwischenspeicher (Cache) dienenden Server ausgeführt werden: Anfordern eines Katalogs aus dem Ursprungssystem, welcher Dokumente auflistet, die aus dem Ursprungssystem verfügbar sind, Empfangen des Katalogs aus dem Ursprungssystem, Anfordern eines Dokumentes, welches in dem Katalog beschrieben ist, wobei das Dokument entsprechend einem vorbestimmten Kriterium des als Zwischenspeicher dienenden Servers angefordert wird, Empfangen des Dokumentes aus dem Ursprungssystem, und Speichern des Dokumentes in einem Cache-Speicher des als Zwischenspeicher dienenden Servers.
  2. Verfahren nach Anspruch 1, welches weiterhin die Schritte aufweist: Empfangen einer Anforderung nach dem Dokument von einem Benutzer durch den zweiten Server, und Senden des in dem Cache-Speicher gespeicherten Dokumentes von dem als Zwischenspeicher dienenden Server an den Benutzer.
  3. Verfahren nach Anspruch 1, wobei der Schritt des Anforderns eines Katalogs aus dem Ursprungssystem während einer Zeit mit geringer Nutzung des Netzwerkes ausgeführt wird.
  4. Verfahren nach Anspruch 1, wobei der als Zwischenspeicher dienende Server einen Client und ein Cache-System umfaßt und wobei der Schritt des Anfordern eines Katalogs aus dem Ursprungssystem die Schritte umfaßt: Senden der Anforderung nach dem Katalog von dem Client an das Cache-System, und Senden der Anforderung nach dem Katalog von dem Cache-System zu dem Ursprungssystem.
  5. Verfahren nach Anspruch 1, wobei der als Zwischenspeicher dienende Server einen Client und ein Cache-System umfaßt und wobei der Schritt des Anforderns eines Dokumentes, welches in dem Katalog beschrieben ist, die Schritte aufweist: Senden der Anforderung nach dem Katalog von dem Client an das Cache-System, und Senden der Anforderung nach dem Katalog von dem Cache-System an das Ursprungssystem.
  6. Verfahren nach Anspruch 1, wobei das von dem als Cache dienenden Server verwendete Kriterium, um zu bestimmen, ob ein Dokument aus dem Katalog angefordert wird, auf der Größe des Dokumentes beruht.
  7. Verfahren nach Anspruch 1, wobei das von dem als Zwischenspeicher dienenden Server verwendete Kriterium, um zu bestimmen, ob ein Dokument aus dem Katalog angefordert werden soll, auf einer Bewertung beruht, welche mit dem Dokument verknüpft ist und welche in dem Katalog gespeichert ist.
  8. Verfahren nach Anspruch 1, wobei das durch den als Zwischenspeicher dienenden Server verwendete Kriterium, um zu bestimmen, ob ein Dokument aus dem Katalog angefordert werden soll, auf einer Liste mit Namen nicht akzeptabler Dokumente beruht.
  9. Verfahren nach Anspruch 1, wobei das Netzwerk einen zweiten als Zwischenspeicher dienenden Server aufweist und wobei die ersten und zweiten als Zwischenspeicher dienenden Server unterschiedliche Kataloge aus dem Ursprungssystem empfangen.
  10. Verfahren nach Anspruch 1, wobei das Netzwerk einen zweiten als Zwischenspeicher dienenden Server aufweist und wobei die ersten und zweiten Zwischenspeicher unterschiedliche Dokumente von dem Ursprungssystem empfangen.
  11. Verfahren nach Anspruch 1, wobei das Ursprungssystem und der Zwischenspeicherserver für ihre Kommunikation das http-Protokoll verwenden.
  12. Verfahren nach Anspruch 1, wobei der als Zwischenspeicher dienende Server einen Client und ein Cache-System umfaßt, und welches weiterhin die Schritte aufweist: Senden eines Befehls von dem Client an das Cache-System, um das Dokument für eine spezifizierte Zeitdauer in dem Cache-Speicher zu halten, und Erhalten des Dokumentes in dem Cache-Speicher durch das Cache-System für die spezifizierte Zeitdauer.
  13. Verfahren nach Anspruch 1, wobei der als Zwischenspeicher dienende Server einen Client und ein Cache-System umfaßt und welches weiterhin die Schritte aufweist: Senden eines Befehls durch den Client an das Cache-System, um das Dokument aus dem Cache-Speicher zu entfernen (auszuspülen), und Entfernen des Dokumentes aus dem Cache-Speicher durch das Cache-System.
  14. Als Zwischenspeicher dienender Server mit einem Cache-Speicher, wobei der Zwischenspeicherserver Teil eines Netzwerkes ist, welches ein Ursprungssystem umfaßt, welches mit dem Zwischenspeicherserver verbunden ist, wobei der Zwischenspeicherserver gekennzeichnet ist durch: einen ersten Bereich, der so ausgestaltet ist, daß er einen Katalog aus dem Ursprungssystem anfordert, welcher Dokumente auflistet, die aus dem Ursprungssystem verfügbar sind, einen zweiten Bereich, der so ausgestaltet ist, daß er den Katalog aus dem Ursprungssystem empfängt, einen dritten Bereich, der so ausgestaltet ist, daß er ein Dokument anfordert, welches in dem Katalog beschrieben ist, wobei das Dokument entsprechend einem vorbestimmten Kriterium des Zwischenspeicherservers angefordert wird, einen vierten Bereich, der so ausgestaltet ist, daß er das Dokument aus dem Ursprungssystem empfängt und einen fünften Bereich, der so ausgestaltet ist, daß er das Dokument in dem Cache-Speicher speichert.
  15. Cache-Server nach Anspruch 14, wobei der Cache-Server einen Client und ein Cache-System aufweist, und wobei der erste Bereich umfaßt: einen sechsten Bereich, der so ausgestaltet ist, daß er die Anforderung nach dem Katalog von dem Client an das Cache-System sendet, und einen siebten Bereich, der so ausgestaltet ist, daß er die Anforderung nach dem Katalog von dem Cache-System an das Ursprungssystem sendet.
  16. Computerprogrammprodukt, welches aufweist: ein durch einen Computer verwendbares Medium, auf welchem ein computerlesbarer Code verkörpert ist, um einen Zugriff auf Information zu veranlassen, welche in einem Netzwerk gespeichert ist, das ein Ursprungssystem und einen Zwischenspeicherserver hat, wobei das Computerprogrammprodukt gekennzeichnet ist durch computerlesbare Programmcodeeinrichtungen, die so ausgestaltet sind, daß sie bewirken, daß ein Computer das Anfordern eines Katalogs von dem Ursprungssystem bewirkt, welcher Dokumente auflistet, die von dem Ursprungssystem erhältlich sind, computerlesbare Programmcodeeinrichtungen, die so ausgestaltet sind, daß sie einen Computer veranlassen, daß er den Empfang des Katalogs aus dem Ursprungssystem bewirkt, computeresbare Programmcodeeinrichtungen, welche so ausgestaltet sind, daß sie bewirken, daß ein Computer das Anfordern eines in dem Katalog beschriebenen Dokumentes bewirkt, wobei das Dokument entsprechend einem vorbestimmten Kriterium angefordert wird, computerlesbare Programmcodeeinrichtungen, welche so ausgestaltet sind, daß sie einen Computer veranlassen, daß er den Empfang des Dokumentes von dem Ursprungssystem bewirkt und computerlesbare Programmiercodeeinrichtungen, welche so ausgestaltet sind, daß sie einen Computer veranlassen, daß er das Speichern des Dokumentes in dem Cache-Speicher bewirkt.
DE69732605T 1996-12-09 1997-12-08 Dynamisches Cachespeicher-Vorladen über lose gekoppelte administrative Bereiche Expired - Lifetime DE69732605T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US762705 1996-12-09
US08/762,705 US6098096A (en) 1996-12-09 1996-12-09 Method and apparatus for dynamic cache preloading across a network

Publications (2)

Publication Number Publication Date
DE69732605D1 DE69732605D1 (de) 2005-04-07
DE69732605T2 true DE69732605T2 (de) 2005-12-29

Family

ID=25065830

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69732605T Expired - Lifetime DE69732605T2 (de) 1996-12-09 1997-12-08 Dynamisches Cachespeicher-Vorladen über lose gekoppelte administrative Bereiche

Country Status (3)

Country Link
US (1) US6098096A (de)
EP (1) EP0847020B1 (de)
DE (1) DE69732605T2 (de)

Families Citing this family (178)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7467137B1 (en) * 1994-09-02 2008-12-16 Wolfe Mark A System and method for information retrieval employing a preloading procedure
US8180844B1 (en) 2000-03-18 2012-05-15 Digimarc Corporation System for linking from objects to remote resources
US8626763B1 (en) * 1997-05-22 2014-01-07 Google Inc. Server-side suggestion of preload operations
US7103794B2 (en) 1998-06-08 2006-09-05 Cacheflow, Inc. Network object cache engine
JP4046804B2 (ja) * 1997-06-26 2008-02-13 富士通株式会社 サーバの情報提供装置、サーバの情報提供プログラムを記録したコンピュータ読み取り可能な記録媒体およびサーバの情報提供方法
US6038601A (en) * 1997-07-21 2000-03-14 Tibco, Inc. Method and apparatus for storing and delivering documents on the internet
US6393526B1 (en) * 1997-10-28 2002-05-21 Cache Plan, Inc. Shared cache parsing and pre-fetch
US6769019B2 (en) * 1997-12-10 2004-07-27 Xavier Ferguson Method of background downloading of information from a computer network
US6438593B1 (en) * 1998-05-21 2002-08-20 Lucent Technologies Inc. Method for information retrieval in broadcast disk systems
WO1999067712A1 (en) * 1998-06-22 1999-12-29 Sonera Oyj Method and system for providing services in the telecommunication system
EP0984631A1 (de) * 1998-09-04 2000-03-08 THOMSON multimedia Vorrichtung und Verfahren zur Ausführung von interaktiven Fernsehanwendungen auf Set Top Boxen
US7356482B2 (en) * 1998-12-18 2008-04-08 Alternative Systems, Inc. Integrated change management unit
US6532492B1 (en) * 1999-09-15 2003-03-11 International Business Machines Corporation Methods, systems and computer program products for cache management using admittance control
US7024465B1 (en) * 1999-10-18 2006-04-04 Rose Blush Software Llc Method for queued overlap transfer of files
US20020010753A1 (en) * 1999-12-20 2002-01-24 Matsuoka Robert M. Method and apparatus for delivering dynamic information in a computer network
US6415368B1 (en) 1999-12-22 2002-07-02 Xerox Corporation System and method for caching
US6763382B1 (en) * 2000-03-17 2004-07-13 Sun Microsystems, Inc. Method and apparatus for demand based paging algorithm
AU2001251643A1 (en) * 2000-04-17 2001-10-30 Circadence Corporation System and method for providing distributed database services
US20010049732A1 (en) * 2000-06-01 2001-12-06 Raciborski Nathan F. Content exchange apparatus
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
AR030286A1 (es) * 2000-06-01 2003-08-20 Aerocast Com Inc Sistema de seguimiento de contenidos, metodo de seguimiento de contenidos para comunicar informacion a ubicaciones remotas y metodo de seguimiento de contenidos en un sistema de distribucion de contenidos.
US6904460B1 (en) 2000-06-01 2005-06-07 Aerocast.Com, Inc. Reverse content harvester
US6879998B1 (en) 2000-06-01 2005-04-12 Aerocast.Com, Inc. Viewer object proxy
US20020039420A1 (en) * 2000-06-12 2002-04-04 Hovav Shacham Method and apparatus for batched network security protection server performance
US20020087884A1 (en) * 2000-06-12 2002-07-04 Hovav Shacham Method and apparatus for enhancing network security protection server performance
US7318107B1 (en) 2000-06-30 2008-01-08 Intel Corporation System and method for automatic stream fail-over
US7020709B1 (en) 2000-06-30 2006-03-28 Intel Corporation System and method for fault tolerant stream splitting
US7137143B2 (en) 2000-08-07 2006-11-14 Ingrian Systems Inc. Method and system for caching secure web content
US20040015725A1 (en) * 2000-08-07 2004-01-22 Dan Boneh Client-side inspection and processing of secure content
ATE457570T1 (de) * 2000-09-12 2010-02-15 Motorola Inc Ad hoc telekommunikationsnetzwerkverwaltung und vermittlung
US6983331B1 (en) * 2000-10-17 2006-01-03 Microsoft Corporation Selective display of content
US6792507B2 (en) 2000-12-14 2004-09-14 Maxxan Systems, Inc. Caching system and method for a network storage system
US20050273514A1 (en) * 2000-12-22 2005-12-08 Ray Milkey System and method for automated and optimized file transfers among devices in a network
US7065586B2 (en) * 2000-12-22 2006-06-20 Radiance Technologies, Inc. System and method for scheduling and executing data transfers over a network
US7142508B2 (en) * 2000-12-22 2006-11-28 Radiance Technologies, Inc. System and method for controlling data transfer rates on a network
US6651141B2 (en) * 2000-12-29 2003-11-18 Intel Corporation System and method for populating cache servers with popular media contents
US7757278B2 (en) * 2001-01-04 2010-07-13 Safenet, Inc. Method and apparatus for transparent encryption
US6983318B2 (en) * 2001-01-22 2006-01-03 International Business Machines Corporation Cache management method and system for storing dynamic contents
US20020184403A1 (en) * 2001-04-06 2002-12-05 Dahlin Michael D. Methods for near-optimal bandwidth-constrained placement in a wide-area network
US7584418B2 (en) 2001-05-31 2009-09-01 Oracle International Corporation Methods, systems, and articles of manufacture for prefabricating an information page
US7155531B1 (en) * 2001-06-12 2006-12-26 Network Appliance Inc. Storage methods and apparatus for streaming media data
US7076560B1 (en) 2001-06-12 2006-07-11 Network Appliance, Inc. Methods and apparatus for storing and serving streaming media data
US6742082B1 (en) * 2001-06-12 2004-05-25 Network Appliance Pre-computing streaming media payload method and apparatus
US6813690B1 (en) * 2001-06-12 2004-11-02 Network Appliance, Inc. Caching media data using content-sensitive identifiers
US20030084219A1 (en) * 2001-10-26 2003-05-01 Maxxan Systems, Inc. System, apparatus and method for address forwarding for a computer network
US6883068B2 (en) * 2001-12-17 2005-04-19 Sun Microsystems, Inc. Methods and apparatus for implementing a chche replacement scheme
US6820116B1 (en) * 2001-12-21 2004-11-16 Nokia Corporation Mobile browsing booster system
US7145914B2 (en) 2001-12-31 2006-12-05 Maxxan Systems, Incorporated System and method for controlling data paths of a network processor subsystem
US7085846B2 (en) * 2001-12-31 2006-08-01 Maxxan Systems, Incorporated Buffer to buffer credit flow control for computer network
US7386627B1 (en) 2002-01-29 2008-06-10 Network Appliance, Inc. Methods and apparatus for precomputing checksums for streaming media
US9167036B2 (en) * 2002-02-14 2015-10-20 Level 3 Communications, Llc Managed object replication and delivery
US8204930B1 (en) * 2002-02-15 2012-06-19 F5 Networks, Inc. Method and system for controlling and accessing content servers
US7010762B2 (en) * 2002-02-27 2006-03-07 At&T Corp. Pre-loading content to caches for information appliances
US7307995B1 (en) 2002-04-05 2007-12-11 Ciphermax, Inc. System and method for linking a plurality of network switches
US7379970B1 (en) 2002-04-05 2008-05-27 Ciphermax, Inc. Method and system for reduced distributed event handling in a network environment
US7406038B1 (en) 2002-04-05 2008-07-29 Ciphermax, Incorporated System and method for expansion of computer network switching system without disruption thereof
US7295561B1 (en) 2002-04-05 2007-11-13 Ciphermax, Inc. Fibre channel implementation using network processors
US20030195956A1 (en) * 2002-04-15 2003-10-16 Maxxan Systems, Inc. System and method for allocating unique zone membership
US20040030766A1 (en) * 2002-08-12 2004-02-12 Michael Witkowski Method and apparatus for switch fabric configuration
GB2391963B (en) * 2002-08-14 2004-12-01 Flyingspark Ltd Method and apparatus for preloading caches
US20070107067A1 (en) * 2002-08-24 2007-05-10 Ingrian Networks, Inc. Secure feature activation
FR2852419B1 (fr) * 2003-03-14 2008-03-14 Canon Kk Procede et dispositif de traitement d'une transaction electronique via un dispositif intermediaire de paiement equipe d'un cache
US20040193455A1 (en) * 2003-03-28 2004-09-30 The Ohio Casualty Insurance Company Dynamic preloading of insurance product data in insurance policy management system
US20060149962A1 (en) * 2003-07-11 2006-07-06 Ingrian Networks, Inc. Network attached encryption
US7519835B2 (en) * 2004-05-20 2009-04-14 Safenet, Inc. Encrypted table indexes and searching encrypted tables
US7509329B1 (en) * 2004-06-01 2009-03-24 Network Appliance, Inc. Technique for accelerating file deletion by preloading indirect blocks
US20060010173A1 (en) * 2004-06-30 2006-01-12 Kilday Roger W Methods and systems for client-side, on-disk caching
US20060064469A1 (en) * 2004-09-23 2006-03-23 Cisco Technology, Inc. System and method for URL filtering in a firewall
US20070079386A1 (en) * 2005-09-26 2007-04-05 Brian Metzger Transparent encryption using secure encryption device
US20070079140A1 (en) * 2005-09-26 2007-04-05 Brian Metzger Data migration
US8386768B2 (en) * 2006-02-08 2013-02-26 Safenet, Inc. High performance data encryption server and method for transparently encrypting/decrypting data
US7958091B2 (en) * 2006-02-16 2011-06-07 Ingrian Networks, Inc. Method for fast bulk loading data into a database while bypassing exit routines
GB2440762B (en) * 2006-08-11 2011-11-02 Cachelogic Ltd Content distribution network
GB2440761A (en) * 2006-08-11 2008-02-13 Cachelogic Ltd Using a proxy server as a cache in a peer to peer network to speed up the multicast distribution of large files.
GB2440760A (en) * 2006-08-11 2008-02-13 Cachelogic Ltd Network and method of transferring data over the network by nodes sending messages containing a subset of list of data available at the node
GB2440759A (en) * 2006-08-11 2008-02-13 Cachelogic Ltd Selecting a download cache for digital data
GB2440774B (en) 2006-08-11 2011-07-27 Cachelogic Ltd Content Delivery System For Digital Object
US7788243B2 (en) * 2006-09-08 2010-08-31 Sybase, Inc. System and methods for optimizing data transfer among various resources in a distributed environment
US8015506B2 (en) * 2006-09-22 2011-09-06 Microsoft Corporation Customizing a menu in a discovery interface
US8112714B2 (en) * 2006-09-22 2012-02-07 Microsoft Corporation Customizing application page loading in a discovery interface
US8379865B2 (en) * 2006-10-27 2013-02-19 Safenet, Inc. Multikey support for multiple office system
US7676635B2 (en) * 2006-11-29 2010-03-09 International Business Machines Corporation Recoverable cache preload in clustered computer system based upon monitored preload state of cache
US7831772B2 (en) * 2006-12-12 2010-11-09 Sybase, Inc. System and methodology providing multiple heterogeneous buffer caches
US20080178125A1 (en) * 2007-01-23 2008-07-24 Microsoft Corporation Providing dynamic content in a user interface in an application
US8028090B2 (en) 2008-11-17 2011-09-27 Amazon Technologies, Inc. Request routing utilizing client location information
US7991910B2 (en) 2008-11-17 2011-08-02 Amazon Technologies, Inc. Updating routing information based on client location
US8805950B1 (en) * 2007-09-12 2014-08-12 Aol Inc. Client web cache
US20090132804A1 (en) * 2007-11-21 2009-05-21 Prabir Paul Secured live software migration
US7697557B2 (en) * 2007-12-26 2010-04-13 Alcatel Lucent Predictive caching content distribution network
US8156243B2 (en) 2008-03-31 2012-04-10 Amazon Technologies, Inc. Request routing
US8601090B1 (en) 2008-03-31 2013-12-03 Amazon Technologies, Inc. Network resource identification
US8606996B2 (en) * 2008-03-31 2013-12-10 Amazon Technologies, Inc. Cache optimization
US8321568B2 (en) 2008-03-31 2012-11-27 Amazon Technologies, Inc. Content management
US7962597B2 (en) 2008-03-31 2011-06-14 Amazon Technologies, Inc. Request routing based on class
US7970820B1 (en) 2008-03-31 2011-06-28 Amazon Technologies, Inc. Locality based content distribution
US8533293B1 (en) 2008-03-31 2013-09-10 Amazon Technologies, Inc. Client side cache management
US8447831B1 (en) 2008-03-31 2013-05-21 Amazon Technologies, Inc. Incentive driven content delivery
US10924573B2 (en) 2008-04-04 2021-02-16 Level 3 Communications, Llc Handling long-tail content in a content delivery network (CDN)
US8930538B2 (en) 2008-04-04 2015-01-06 Level 3 Communications, Llc Handling long-tail content in a content delivery network (CDN)
US9762692B2 (en) 2008-04-04 2017-09-12 Level 3 Communications, Llc Handling long-tail content in a content delivery network (CDN)
US9407681B1 (en) 2010-09-28 2016-08-02 Amazon Technologies, Inc. Latency measurement in resource requests
US9912740B2 (en) 2008-06-30 2018-03-06 Amazon Technologies, Inc. Latency measurement in resource requests
US7925782B2 (en) 2008-06-30 2011-04-12 Amazon Technologies, Inc. Request routing using network computing components
US8065417B1 (en) 2008-11-17 2011-11-22 Amazon Technologies, Inc. Service provider registration by a content broker
US8521880B1 (en) 2008-11-17 2013-08-27 Amazon Technologies, Inc. Managing content delivery network service providers
US8732309B1 (en) 2008-11-17 2014-05-20 Amazon Technologies, Inc. Request routing utilizing cost information
US8060616B1 (en) 2008-11-17 2011-11-15 Amazon Technologies, Inc. Managing CDN registration by a storage provider
US8122098B1 (en) 2008-11-17 2012-02-21 Amazon Technologies, Inc. Managing content delivery network service providers by a content broker
US8073940B1 (en) 2008-11-17 2011-12-06 Amazon Technologies, Inc. Managing content delivery network service providers
US8756341B1 (en) 2009-03-27 2014-06-17 Amazon Technologies, Inc. Request routing utilizing popularity information
US8412823B1 (en) 2009-03-27 2013-04-02 Amazon Technologies, Inc. Managing tracking information entries in resource cache components
US8521851B1 (en) 2009-03-27 2013-08-27 Amazon Technologies, Inc. DNS query processing using resource identifiers specifying an application broker
US8688837B1 (en) 2009-03-27 2014-04-01 Amazon Technologies, Inc. Dynamically translating resource identifiers for request routing using popularity information
US8782236B1 (en) 2009-06-16 2014-07-15 Amazon Technologies, Inc. Managing resources using resource expiration data
US8397073B1 (en) 2009-09-04 2013-03-12 Amazon Technologies, Inc. Managing secure content in a content delivery network
US8433771B1 (en) 2009-10-02 2013-04-30 Amazon Technologies, Inc. Distribution network with forward resource propagation
US9495338B1 (en) 2010-01-28 2016-11-15 Amazon Technologies, Inc. Content distribution network
US8756272B1 (en) 2010-08-26 2014-06-17 Amazon Technologies, Inc. Processing encoded content
US10097398B1 (en) 2010-09-28 2018-10-09 Amazon Technologies, Inc. Point of presence management in request routing
US8938526B1 (en) 2010-09-28 2015-01-20 Amazon Technologies, Inc. Request routing management based on network components
US9712484B1 (en) 2010-09-28 2017-07-18 Amazon Technologies, Inc. Managing request routing information utilizing client identifiers
US8930513B1 (en) 2010-09-28 2015-01-06 Amazon Technologies, Inc. Latency measurement in resource requests
US9003035B1 (en) 2010-09-28 2015-04-07 Amazon Technologies, Inc. Point of presence management in request routing
US8819283B2 (en) 2010-09-28 2014-08-26 Amazon Technologies, Inc. Request routing in a networked environment
US8577992B1 (en) 2010-09-28 2013-11-05 Amazon Technologies, Inc. Request routing management based on network components
US10958501B1 (en) 2010-09-28 2021-03-23 Amazon Technologies, Inc. Request routing information based on client IP groupings
US8924528B1 (en) 2010-09-28 2014-12-30 Amazon Technologies, Inc. Latency measurement in resource requests
US8468247B1 (en) 2010-09-28 2013-06-18 Amazon Technologies, Inc. Point of presence management in request routing
US8452874B2 (en) 2010-11-22 2013-05-28 Amazon Technologies, Inc. Request routing processing
US8626950B1 (en) 2010-12-03 2014-01-07 Amazon Technologies, Inc. Request routing processing
US9391949B1 (en) 2010-12-03 2016-07-12 Amazon Technologies, Inc. Request routing processing
US9009406B2 (en) 2010-12-10 2015-04-14 International Business Machines Corporation Determining server write activity levels to use to adjust write cache size
US10467042B1 (en) 2011-04-27 2019-11-05 Amazon Technologies, Inc. Optimized deployment based upon customer locality
US8943149B2 (en) * 2011-05-16 2015-01-27 International Business Machines Corporation Sender motivated optimization of URI rendering in instant messaging
US8904009B1 (en) 2012-02-10 2014-12-02 Amazon Technologies, Inc. Dynamic content delivery
US10021179B1 (en) 2012-02-21 2018-07-10 Amazon Technologies, Inc. Local resource delivery network
US9083743B1 (en) 2012-03-21 2015-07-14 Amazon Technologies, Inc. Managing request routing information utilizing performance information
US10623408B1 (en) 2012-04-02 2020-04-14 Amazon Technologies, Inc. Context sensitive object management
US9154551B1 (en) 2012-06-11 2015-10-06 Amazon Technologies, Inc. Processing DNS queries to identify pre-processing information
US9525659B1 (en) * 2012-09-04 2016-12-20 Amazon Technologies, Inc. Request routing utilizing point of presence load information
US9323577B2 (en) 2012-09-20 2016-04-26 Amazon Technologies, Inc. Automated profiling of resource usage
US9135048B2 (en) 2012-09-20 2015-09-15 Amazon Technologies, Inc. Automated profiling of resource usage
US10205698B1 (en) 2012-12-19 2019-02-12 Amazon Technologies, Inc. Source-dependent address resolution
US9294391B1 (en) 2013-06-04 2016-03-22 Amazon Technologies, Inc. Managing network computing components utilizing request routing
US10091096B1 (en) 2014-12-18 2018-10-02 Amazon Technologies, Inc. Routing mode and point-of-presence selection service
US10033627B1 (en) 2014-12-18 2018-07-24 Amazon Technologies, Inc. Routing mode and point-of-presence selection service
US10097448B1 (en) 2014-12-18 2018-10-09 Amazon Technologies, Inc. Routing mode and point-of-presence selection service
US10225326B1 (en) 2015-03-23 2019-03-05 Amazon Technologies, Inc. Point of presence based data uploading
US9887931B1 (en) 2015-03-30 2018-02-06 Amazon Technologies, Inc. Traffic surge management for points of presence
US9819567B1 (en) 2015-03-30 2017-11-14 Amazon Technologies, Inc. Traffic surge management for points of presence
US9887932B1 (en) 2015-03-30 2018-02-06 Amazon Technologies, Inc. Traffic surge management for points of presence
US9832141B1 (en) 2015-05-13 2017-11-28 Amazon Technologies, Inc. Routing based request correlation
US10616179B1 (en) 2015-06-25 2020-04-07 Amazon Technologies, Inc. Selective routing of domain name system (DNS) requests
US10084884B2 (en) 2015-07-31 2018-09-25 At&T Intellectual Property I, L.P. Facilitation of efficient web site page loading
US10097566B1 (en) 2015-07-31 2018-10-09 Amazon Technologies, Inc. Identifying targets of network attacks
US9774619B1 (en) 2015-09-24 2017-09-26 Amazon Technologies, Inc. Mitigating network attacks
US9794281B1 (en) 2015-09-24 2017-10-17 Amazon Technologies, Inc. Identifying sources of network attacks
US9742795B1 (en) 2015-09-24 2017-08-22 Amazon Technologies, Inc. Mitigating network attacks
US10270878B1 (en) 2015-11-10 2019-04-23 Amazon Technologies, Inc. Routing for origin-facing points of presence
US10257307B1 (en) 2015-12-11 2019-04-09 Amazon Technologies, Inc. Reserved cache space in content delivery networks
US10049051B1 (en) 2015-12-11 2018-08-14 Amazon Technologies, Inc. Reserved cache space in content delivery networks
US10348639B2 (en) 2015-12-18 2019-07-09 Amazon Technologies, Inc. Use of virtual endpoints to improve data transmission rates
US10075551B1 (en) 2016-06-06 2018-09-11 Amazon Technologies, Inc. Request management for hierarchical cache
US10110694B1 (en) 2016-06-29 2018-10-23 Amazon Technologies, Inc. Adaptive transfer rate for retrieving content from a server
US9992086B1 (en) 2016-08-23 2018-06-05 Amazon Technologies, Inc. External health checking of virtual private cloud network environments
US10033691B1 (en) 2016-08-24 2018-07-24 Amazon Technologies, Inc. Adaptive resolution of domain name requests in virtual private cloud network environments
US10505961B2 (en) 2016-10-05 2019-12-10 Amazon Technologies, Inc. Digitally signed network address
US10372499B1 (en) 2016-12-27 2019-08-06 Amazon Technologies, Inc. Efficient region selection system for executing request-driven code
US10831549B1 (en) 2016-12-27 2020-11-10 Amazon Technologies, Inc. Multi-region request-driven code execution system
US10938884B1 (en) 2017-01-30 2021-03-02 Amazon Technologies, Inc. Origin server cloaking using virtual private cloud network environments
US10503613B1 (en) 2017-04-21 2019-12-10 Amazon Technologies, Inc. Efficient serving of resources during server unavailability
US11075987B1 (en) 2017-06-12 2021-07-27 Amazon Technologies, Inc. Load estimating content delivery network
US10447648B2 (en) 2017-06-19 2019-10-15 Amazon Technologies, Inc. Assignment of a POP to a DNS resolver based on volume of communications over a link between client devices and the POP
US10742593B1 (en) 2017-09-25 2020-08-11 Amazon Technologies, Inc. Hybrid content request routing system
US10592578B1 (en) 2018-03-07 2020-03-17 Amazon Technologies, Inc. Predictive content push-enabled content delivery network
US10862852B1 (en) 2018-11-16 2020-12-08 Amazon Technologies, Inc. Resolution of domain name requests in heterogeneous network environments
US11025747B1 (en) 2018-12-12 2021-06-01 Amazon Technologies, Inc. Content request pattern-based routing system

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5329619A (en) * 1992-10-30 1994-07-12 Software Ag Cooperative processing interface and communication broker for heterogeneous computing environments
US5452447A (en) * 1992-12-21 1995-09-19 Sun Microsystems, Inc. Method and apparatus for a caching file server
US5737536A (en) * 1993-02-19 1998-04-07 Borland International, Inc. System and methods for optimized access in a multi-user environment
US5680573A (en) * 1994-07-12 1997-10-21 Sybase, Inc. Method of buffering data objects in a database
US5727065A (en) * 1994-11-14 1998-03-10 Hughes Electronics Deferred billing, broadcast, electronic document distribution system and method
US5701461A (en) * 1995-01-27 1997-12-23 Microsoft Corporation Method and system for accessing a remote database using pass-through queries
US5802292A (en) * 1995-04-28 1998-09-01 Digital Equipment Corporation Method for predictive prefetching of information over a communications network
US5896506A (en) * 1996-05-31 1999-04-20 International Business Machines Corporation Distributed storage management system having a cache server and method therefor
US5721827A (en) * 1996-10-02 1998-02-24 James Logan System for electrically distributing personalized information

Also Published As

Publication number Publication date
EP0847020B1 (de) 2005-03-02
US6098096A (en) 2000-08-01
DE69732605D1 (de) 2005-04-07
EP0847020A3 (de) 1999-04-21
EP0847020A2 (de) 1998-06-10

Similar Documents

Publication Publication Date Title
DE69732605T2 (de) Dynamisches Cachespeicher-Vorladen über lose gekoppelte administrative Bereiche
DE60011069T2 (de) Behandlung einer anfrage nach informationen, die von einem dienstleisters angeboten werden
DE60015423T2 (de) Verfahren und Vorrichtung zur Objektwiedergabe in einem Netzwerk
DE69833899T2 (de) Dynamische Datenübertragungsvorrichtung und Verfahren
EP1559038B1 (de) Verfahren zum vorabübertragen strukturierter datenmengen zwischen einer clienteinrichtung und einer servereinrichtung
DE112006000650B4 (de) Webbasiertes Verwaltungsverfahren und Vorrichtung zum Durchführen desselben
DE69729926T2 (de) Netzwerkbrowser
DE60311116T2 (de) Verfahren, system und programm zur verwaltung von daten in verteilten cachespeichern
DE69725652T2 (de) Einbettung von Ton in Webseiten
DE202008013034U1 (de) System zum Beschleunigen von Browsing-Sitzungen
DE10051024B4 (de) Verfahren zum intermediären Cachen in einem Client-Server-Softwaresystem, Computerprogrammprodukte und Computersystem zur Durchführung eines solchen Verfahrens
DE69832786T2 (de) Vorrichtung und verfahren zur identifizierung von klienten die an netzwer-sites zugreifen
DE60208786T2 (de) Übertragungskontrolle für objekte in einem kommunikationsnetzwerk
DE69723432T2 (de) Informationsauffindungssystem mit einer cachedatenbank
DE10052313B4 (de) Verfahren und Vorrichtung zur Beschränkung des freien Verweisens (Hyperlinking) auf Webseiten der ursprünglichen Inhaltserzeuger (Content producers) durch Internet-Inhaltsverteiler (Content distributors)
DE69733305T2 (de) System/Verfahren zur wirkungsvollen Übermittlung von Datenströmen in einem Multimediasystem
DE102004060757A1 (de) Effiziente Handhabung von Download-Anfragen
DE69636869T2 (de) Server mit automatischer Menüladefunktion
DE10252815A1 (de) Abgabe von Geboten für die Position in einem Suchsystem mit Bezahlung für Plazierung
DE112006000688T5 (de) Explizite Überlagerungsintegrationsregeln
EP1620810B1 (de) Verfahren und anordnung zur einrichtung und aktualisierung einer benutzeroberfl che zum zugriff auf informationsseiten in ein em datennetz
DE10334743A1 (de) Verfahren und System zum Zugreifen auf Dokumente in Umgebungen mit begrenzter Verbindungsgeschwindigkeit, Speicherung und Schirmfläche
DE19813884B4 (de) System und Verfahren zur Ermittlung und Darstellung von verbindungsbezogenen Leistungsdaten in Netzwerken
DE112006001427T5 (de) Sicherheitssystem für ein persönliches Internetkommunikationsgerät
DE69925435T2 (de) Rechnerimplementiertes Verfahren und Apparat zur Bereitstellung eines logischen Zugriffspunktes zu einer oder mehreren Dateien

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: AMAZON TECHNOLOGIES, INC., RENO, NEV., US