DE69732605T2 - Dynamisches Cachespeicher-Vorladen über lose gekoppelte administrative Bereiche - Google Patents
Dynamisches Cachespeicher-Vorladen über lose gekoppelte administrative Bereiche Download PDFInfo
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9574—Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
- H04L67/5682—Policies or rules for updating, deleting or replacing the stored data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling 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/62—Establishing a time schedule for servicing the requests
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99938—Concurrency, e.g. lock management in shared database
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
- Y10S707/99953—Recoverability
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 bis4c 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 Computernetzes100 gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung. Das Computernetz100 beinhaltet ein Ursprungscomputersystem101 und ein Cachespeicher-Computersystem151 . Das Ursprungssystem bzw. Ausgangssystem101 und das Cachespeicher-System151 sind durch die Verbindung130 verbunden. Das Computersystem100 kann jede Art von Netz wie etwas das Internet, ein LAN, ein WAN, ein Intranet, etc. sein, das es den Systemen101 und151 ermöglicht, miteinander zu kommunizieren. Das Ursprungssystem101 und das Cachespeicher-System151 werden unabhängig voneinander betrieben und kommunizieren mittels irgendeines bekannten Protokolls wie etwa das Hyper Text Transfer Protocol (http). Auch wenn nur zwei Systeme101 und151 abgebildet sind, sollte es sich verstehen, daß zusätzliche Systeme in dem Computernetz100 beinhaltet sein können, ohne von der vorliegenden Erfindung abzuweichen. - Das Ursprungscomputersystem
101 beinhaltet einen Prozessor102 und einen Speicher104 . Der Speicher104 beinhaltet Urspungsserver-Software112 und einen Katalog114 . Der Katalog114 enthält zum Beispiel eine Beschreibung der Information, die von dem Ursprungssystem101 erhältlich ist. Das System101 ist vorzugsweise mit einer Anzeigeeinrichtung132 und einer Eingabeeinrichtung134 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 Einrichtungen136 wie ein Plattenlaufwerk oder ein CD-ROM-Laufwerk sind an das Ursprungssystem101 und das Cachespeicher-System151 angeschlossen abgebildet. Die Ursprungsserver-Software112 und die Cacheserver-Software162 sind vorzugsweise über die Einrichtungen136 in den Speicher geladen. - Das Cachespeicher-Computersystem
151 beinhaltet einen Prozessor152 und einen Speicher154 . Der Speicher154 beinhaltet Cacheserver-Software162 und einen Katalog164 , der von dem Ursprungssystem101 übertragen wurde.1 zeigt auch einen Cachespeicher174 . Der Cachespeicher174 kann ein Teil des Speichers104 (wie abgebildet) oder ein separater Speicher sein. Der Cachespeicher174 hat eine vorbestimmte maximale Größe. In der beschriebenen Ausführungsform ist das Cachespeicher-System151 mit einem Client#1190 und einem Client#2192 verbunden. In der beschriebenen Ausführungsform bilden der Client#1190 und das Cachespeicher-System151 zusammen einen Cachespeicher-Server194 . In anderen Ausführungsformen kann der Client#1 entweder in demselben oder in einem anderen Computer als dem Cachespeicher-System151 angesiedelt sein. In noch anderen bevorzugten Ausführungsformen führt das Cachespeicher- System151 die Funktionen von Client#1190 durch. Client#2 kann entweder in demselben oder in einem anderen Computer als dem Cachespeicher-System151 liegen. - Das Vorab-Laden des Cachespeicher-Systems
151 wird aus dem Ursprungssystem101 ermöglicht, wobei die Prioritäten von Einheiten, die die Systeme101 und151 verwalten, verschieden sind. Zum Beispiel wird das Ursprungssystem101 wünschen, so viel Information wie möglich „auszustoßen" („push out"), während das Cachespeicher-System151 nur bereit ist, eine bestimmte Menge von Information im Cache zu speichern. Das Ursprungssystem101 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-System151 kann zum Beispiel ein regionaler Server sein, der für Clients in einer geographischen Region zugänglich ist. Ein typisches Netz kann mehrere Ursprungssysteme101 und/oder mehrere Cachespeicher-Systeme151 beinhalten. -
2 ist ein Diagramm, das Schritte eines Verfahrens zum Vorab-Laden eines Cachespeicher-Systems151 gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung zeigt. Die Figur ist in drei Bereiche unterteilt, die den Client#1190 , das Cachespeicher-System151 bzw. das Ursprungssystem101 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 Prozessor152 führt Cacheserver-Software162 aus, um die Schritte der mittleren Spalte durchzuführen. Der Prozessor102 führt Ursprungsserver-Software112 aus, um die Schritte der Spalte ganz rechts durchzuführen. Client#1190 und Client#2192 beinhalten vorzugsweise einen Prozessor, der Software zum Durchführen der abgebildeten Schritte ausführt. Wie oben diskutiert zeigt1 Client#1190 als einen separaten Prozeß, der auf einer separaten Maschine ablaufen kann oder nicht. Nach einer alternativen Ausführungsform werden die Funktionen von Client#1190 von der Cacheserver-Software162 durchgeführt. - In Schritt
202 leitet der Client#1190 eine Anforderung für einen Katalog an das Cachespeicher-System151 ein. Nach der beschriebenen Ausführungsform sendet der Client#1190 eine solche Anforderung zu einem zuvor festgelegten Zeitpunkt wie etwa in der Mitte der Nacht. Es ist wünschenswert, daß die Anforderung von Schritt202 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 Schritt204 sendet das Cachespeicher-System151 eine Anforderung für einen Katalog an das Ursprungssystem101 . In Schritt206 sendet das Ursprungssystem101 den Katalog114 an das Cachespeicher-System151 . In Schritt208 sendet das Cachespeicher-System151 den Katalog an Client#1190 . - Schritte
210 bis220 werden mehrmals durchgeführt, bis Client#1190 feststellt, daß der Cachespeicher174 voll ist (oder daß eine bestimmte maximale Menge von Cachespeicher gefüllt ist). Alternativ kann Client#1190 eine Liste von Information, die vorab zu laden ist, an das Cachespeicher-System151 senden und das Cachespeicher-System151 wird so viele der Einträge in der Liste laden, wie in den Cachespeicher174 passen. In Schritt210 fordert der Client#1190 einen Gegenstand bzw. ein Objekt (Datenobjekt) in dem Katalog von dem Cachespeicher-System151 an. Das Cachespeicher-System151 sendet die Anforderung an das Ursprungssystem101 , das den ange forderten Gegenstand zurückliefert. Das Cachespeicher-System151 speichert den zurückgelieferten Gegenstand im Cachespeicher174 .2 zeigt, daß der Gegenstand danach an den Client#1190 weitergeleitet wird, der ihn verwirft, aber Information über den Gegenstand wie etwa die Größe aufheben kann. Alternativ kann das Cachespeicher-System151 den Gegenstand einfach im Cache speichern, ohne ihn an Client#1190 zu senden. Somit wurde am Ende von Schritt216 die Information vorab in das Cachespeicher-System151 geladen und wartet darauf, daß der Benutzer Information anfordert. -
2 zeigt auch einen Schritt230 , in dem der Client#1190 spezielle Anweisungen an das Cachespeicher-System151 sendet. Diese speziellen Anweisungen können zum Beispiel angeben, daß bestimmte Information in dem Cachespeicher174 eine vorbestimmte Zeit lang nicht aus dem Cachespeicher entfernt werden sollte. Als ein weiteres Beispiel kann die spezielle Anweisung das Cachespeicher-System151 anweisen, bestimmte Information in dem Cachespeicher174 sofort zu löschen. Die Information kann zum Beispiel durch ihre URL (Uniform Resource Locator) spezifiziert werden. Alternativ kann die spezielle Anweisung das Cachespeicher-System151 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 in3 werden durchgeführt, nachdem das Cachespeicher-System151 einige Information in den Cachespeicher174 vorab geladen hat, wie in2 gezeigt. In dem Beispiel ist der Benutzer auf Client#2192 eingeloggt. In Schritt302 fordert der Benutzer Information wie eine Datei oder eine Webseite mittels URL an. Wenn in Schritt304 die angeforderte Information vorab geladen ist und im Cachespeicher174 vorliegt, wird die Information aus dem Cachespeicher174 kopiert und an den Client#2192 gesendet. Wenn in Schritt308 die Information nicht vorab geladen ist, dann fordert das Cachespeicher-System151 in Schritt310 die Information von dem Ursprungssystem101 an, das die angeforderte Information zurückliefert. In Schritt314 speichert das Cachespeicher-System151 die Information im Cachespeicher174 und sendet die Information in Schritt316 an den anfordernden Client. Das Cachespeicher-System151 stellt mit irgendeiner einer Vielzahl von bekannten Cachespeicher-Techniken fest, ob bestimmte Information in dem Cachespeicher174 vorhanden ist. - Man beachte, daß Schritt
314 das Löschen (Verwerfen) von Einträgen aus dem Cachespeicher174 nach sich ziehen kann, um Platz für neue Einträge zu schaffen. Wenn das Cachespeicher-System151 spezielle Anweisungen erhalten hat, bestimmte, im Cachespeicher gehaltene Information nicht zu verwerfen, dann wird in Schritt314 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 bis4c zeigen entsprechende Beispiele von Formaten des Katalogs114 . 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 Katalog114 ist vorzugsweise ein HTTP- Dokument vom Typ „text/plain".4a zeigt ein Format, in dem der Katalog114 zwei Felder enthält: ein Uniform-Resource-Locator-(URL)-Feld403 und ein Größenfeld404 . Der Katalog kann optional nach steigenden oder fallenden Größen organisiert sein. -
4b zeigt ein Format, in dem der Katalog114 drei Felder enthält: ein URL-Feld410 , ein Größenfeld412 und ein „Wie-oft-heruntereladen"-Feld414 (auch „Popularitätsfeld" genannt). Alternativ könnte das Popularitätsfeld414 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-Feld420 , ein Größenfeld422 und ein „Erwünschtheits-" bzw. „Attraktivitätsfeld"412 . Alternativ könnte das Erwünschtheitsfeld412 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 Ursprungssystem101 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 Katalogs114 durch und legt fest, welche verfügbare, im Katalog114 beschriebene Information vorab geladen werden sollte. Diese Festlegung wird gemäß einer Reihe von Kriterien getroffen, die in dem Speicher des Cachespeicher-Systems151 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 Cachespeicher174 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-System151 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-System151 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-Systeme151 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 Katalog114 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 Ursprungssystem101 vorschlagen, den Katalog durch das Cachespeicher-System alle vierundzwanzig Stunden herunterzuladen. Wenn jedoch irgendein wichtiges Ereignis eintritt, könnte das Ursprungssystem101 vorschlagen, den Katalog häufiger herunterzuladen, weil er von dem Ursprungssystem101 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-Server194 ein unterschiedlicher Katalog gesendet werden. Der Katalog wird dynamisch erzeugt, zum Beispiel auf der Basis von dem bei dem Ursprungssystem101 beobachteten Zugriffsmuster, das von einem bestimmten Cachespeicher-Server erzeugt wird. Alternativ werden Kataloge durch Grundsatz- bzw. Strategie-Entscheidungen bei dem Ursprungssystem101 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)
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- Verfahren nach Anspruch 1, wobei das Ursprungssystem und der Zwischenspeicherserver für ihre Kommunikation das http-Protokoll verwenden.
- 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.
- 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.
- 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.
- 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.
- 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.
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)
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)
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 |
-
1996
- 1996-12-09 US US08/762,705 patent/US6098096A/en not_active Expired - Lifetime
-
1997
- 1997-12-08 EP EP97309880A patent/EP0847020B1/de not_active Expired - Lifetime
- 1997-12-08 DE DE69732605T patent/DE69732605T2/de not_active Expired - Lifetime
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 |