DE69723432T2 - Informationsauffindungssystem mit einer cachedatenbank - Google Patents

Informationsauffindungssystem mit einer cachedatenbank Download PDF

Info

Publication number
DE69723432T2
DE69723432T2 DE69723432T DE69723432T DE69723432T2 DE 69723432 T2 DE69723432 T2 DE 69723432T2 DE 69723432 T DE69723432 T DE 69723432T DE 69723432 T DE69723432 T DE 69723432T DE 69723432 T2 DE69723432 T2 DE 69723432T2
Authority
DE
Germany
Prior art keywords
information
connections
requested
objects
data acquisition
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
DE69723432T
Other languages
English (en)
Other versions
DE69723432D1 (de
Inventor
Richard Felixstowe WEEKS
Lee Michael Ipswich STEPHENS
Nicholas John Colchester DAVIES
Mike Charles Woodbridge REVETT
Phil Graeme Felixstowe FLAVIN
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.)
British Telecommunications PLC
Original Assignee
British Telecommunications PLC
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
Priority claimed from GBGB9610505.1A external-priority patent/GB9610505D0/en
Application filed by British Telecommunications PLC filed Critical British Telecommunications PLC
Application granted granted Critical
Publication of DE69723432D1 publication Critical patent/DE69723432D1/de
Publication of DE69723432T2 publication Critical patent/DE69723432T2/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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/306User profiles
    • 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/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/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
    • 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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)

Description

  • Die vorliegende Erfindung betrifft Verfahren und/oder Systeme zum Zugriff auf Informationen mit Hilfe eines Kommunikationssystems.
  • Das Internet ist ein bekanntes Kommunikationssystem auf der Grundlage von mehreren getrennten, miteinander verbundenen Kommunikationsnetzen. Es bietet eine reiche Quelle an Informationen von sehr verschiedenen Anbietern; jedoch bringt diese große Reichhaltigkeit auch das Problem des Zugriffs auf spezielle Informationen mit sich, da es keine zentrale Überwachung und Steuerung gibt.
  • 1982 hat sich das Volumen wissenschaftlicher, unternehmerischer, und technischer Informationen noch alle fünf Jahre verdoppelt. 1988 verdoppelte es sich alle 2,2 Jahre und 1992 alle 1,6 Jahre. Mit der Expansion des Internet und anderer Netzwerke nimmt auch die Anstiegsgeschwindigkeit weiter zu. Ein Schlüssel für die Realisierbarkeit solcher Netze ist die Fähigkeit, die Informationen zu verwalten und die Benutzer dann mit Informationen zu versehen, wenn sie diese benötigen.
  • Die Navigation der über das Internet verfügbaren Informationen wurde durch die Verwendung von Browsern und Sprachen, z. B Hypertext Markup Language (HTML), möglich. So ist beispielsweise das bekannte Worldwide Web (WWW) ein Internet-Bereich, der "Browsern" mit Hilfe von Hypertext-Verbindungen zwischen den Dokumenten ermöglicht.
  • In der ebenfalls anhängigen internationalen Patentanmeldung Nr. GB 96/00 132, veröffentlicht am 1. August 1996 als WO 96/23265, ist ein System zum Zugriff auf Informationen, z. B. mit Hilfe des Internet, offenbart, das auf einer Gemeinschaft intelligenter Software-Agenten beruht, die Meta-Informationen über Seiten im Internet speichern. Das auf Agenten beruhende Zugriffssystem verwendet Sätze von Schlüsselworten, um die für einen bestimmten Benutzer interessanten Informationen zu lokalisieren. Darüber hinaus speichert es Benutzerprofile, so daß ein anderer Benutzer, dessen Profil zeigt, daß potentiell dafür Interesse besteht, über Seiten informiert wird, die von einem Benutzer gespeichert wurden.
  • Gemäß einer ersten Ausführungsform der vorliegenden Erfindung ist ein Informationszugriffssystem zum Zugriff auf Informationen angegeben, auf die mit Hilfe eines Kommunikationsnetzes zugegriffen werden kann, das umfaßt:
    • a) einen Eingang zum Empfang von Anforderungen zum Zugriff auf Informationsobjekte,
    • b) eine Einrichtung zum Herunterladen von angeforderten Informationsobjekten aus dem Netzwerk in einen lokalen Speicher und
    • c) einen Informations-Prozessor zum Verarbeiten der heruntergeladenen Informationsobjekte, um eingebettete Verbindungen zu anderen Informationsobjekten, auf die über das Netzwerk zugegriffen werden kann, zu orten, wobei der Informations-Prozessor umfaßt:
    • i) eine Warteschlangen-Anordnung zur Anordnung der heruntergeladenen Informationsobjekte mit den eingebetteten Verbindungen in einer Warteschlange und
    • ii) einen Satz gleichzeitig aktivierbarer Informations-Datenerfassungseinheiten zum Herunterladen von Informationsobjekten aus dem Netzwerk in einen lokalen Speicher, die durch die eingebetteten Verbindungen gekennzeichnet sind, wobei der Informations-Prozessor im Betrieb ein sich in der Warteschlange befindendes Objekt der heruntergeladenen angeforderten Information verarbeitet, um darin eingebettete Verbindungen zu orten, die andere Informationsobjekte zum Herunterladen kennzeichnen, und die im verarbeiteten Informationsobjekt georteten eingebetteten Verbindungen verschiedenen verfügbaren Datenerfassungseinheiten zuordnet, wobei dann jede Datenerfassungseinheit tätig wird und ein Informationsobjekt aus dem Netzwerk in den lokalen Speicher herunterlädt, das durch die ihr zugeordnete Verbindung gekennzeichnet ist.
  • Ein Vorteil der Ausführungsformen der vorliegenden Erfindung besteht darin, daß sich Verzögerungen beim Zugriff auf Informationsseiten reduzieren lassen. Es ist ebenfalls möglich, den Netzverkehr zu reduzieren, da Seiten nur einmal über das Netzwerk aufgerufen werden. Der nachfolgende Zugriff durch einen Benutzer kann auf den lokalen Speicher erfolgen.
  • Bevorzugt umfaßt der lokale Speicher mehr als einen Cache-Datenspeicher, nämlich, einen ersten Cache-Datenspeicher, der Informationsobjekte enthält, die durch das System abgefragt wurden, und einen zweiten Cache-Datenspeicher, der Informationsobjekte enthält, die aus dem ersten Cache-Datenspeicher übertragen wurden, wenn ein Benutzer einen Zugriff angefordert hat. Der zweite Cache-Datenspeicher kann dann in einer Weise verwaltet werden, die vom ersten Cache-Datenspeicher verschieden ist, um beispielsweise Informationen zu liefern, auf die von den Benutzern relativ häufig zugegriffen wird.
  • Der erste Cache-Datenspeicher kann beispielsweise wesentlich kleiner sein und kann so "beschnitten" sein, daß er nur Informationen enthält, die für Verbindungen heruntergeladen wurden, die in Seiten eingebettet sind, die erst kürzlich von Benutzern angefordert worden sind.
  • Im allgemeinen benötigen die Ausführungsformen der vorliegenden Erfindung Überwachungs- und Planungsmöglichkeiten, um die Warteschlangen-Verarbeitung zu steuern. Andernfalls könnte die Warteschlange einen Engpaß für die Verarbeitung bedeuten.
  • Gemäß einem zweiten Aspekt der vorliegenden Erfindung ist ein Verfahren zum Speichern von Informationsobjekten angegeben, auf die mit Hilfe eines Kommunikationsnetzes zugegriffen werden kann, das die folgenden Schritte umfaßt:
    • i) Empfang einer Anforderung für einen Zugriff auf ein Informationsobjekt,
    • ii) Herunterladen des angeforderten Informationsobjekts aus dem Kommunikationsnetz und Speichern des heruntergeladenen angeforderten Objekts in einem lokalen Datenspeicher,
    • iii) Verarbeiten des heruntergeladenen angeforderten Objekts, um irgendwelche darin eingebetteten Verbindungen zu orten, die sich auf andere Informationsobjekte beziehen, und
    • iv) Herunterladen von Informationsobjekten, auf die durch eingebettete, im Schritt (iii) geortete Verbindungen verwiesen wurde, und Speichern der heruntergeladenen Objekte im lokalen Datenspeicher.
  • Ein Informationszugriffssystem gemäß einer Ausführungsform der vorliegenden Erfindung ist im folgenden lediglich beispielhaft unter Bezug auf die beigefügten Zeichnungen beschrieben, in denen zeigen:
  • 1. eine Umgebung, von der das Informationszugriffsystem unterstützt wird,
  • 2 ein Flußdiagramm des gesamten Betriebs des Informationszugriffsystems,
  • 3 ein Blockdiagramm der Bauteile eines Vorgriffsprozessors im Informationszugriffsystem von 1,
  • 4 ein Flußdiagramm der Verarbeitung durch den Vorgriffsprozessor des Informationszugriffsystems,
  • 5 eine Verarbeitungs-Warteschlange und die relevanten Informationserfassungseinheiten,
  • 6 die Warteschlange und Einheiten von 5 nach Ablauf eines Zeitintervalls und
  • 7 ein zu 2 alternatives Flußdiagramm.
  • Die spezielle, im folgenden beschriebene Ausführungsform der vorliegenden Erfindung wird hier als "Casper", für: Cached Access to Stored Pages with Easy Retrieval" (Cache-Zugriff auf gespeicherte Seiten mit einfachem Wiederabruf), bezeichnet. Das Casper-System ist insbesondere für einen Zugriff auf WorldWide-Web-Seiten über das Internet Global Communications Network ausgebildet. Andere Ausführungsformen der Erfindung können natürlich ebenfalls verwendet werden, um auf andere Informationssysteme zuzugreifen, in denen Dateneinheiten ("Informationsobjekte") darin eingebettete Verbindungen zu anderen Dateneinheiten aufweisen.
  • Die Informationen, auf die mit Hilfe des Web zugegriffen werden kann, sind als Seiten in HTML angegeben. Innerhalb eines Dokumentes können Wortfolgen oder andere Kennzeichnungen hervorgehoben sein. Wenn der Benutzer, während er ein Dokument anschaut, eine hervorgehobene Kette von Worten oder eine Kennung auswählt und darauf unter Verwendung der Maustaste klickt, liefert der hervorgehobene Text eine Verbindung mit einem anderen Dokument. Ein Klick auf den hervorgehobenen Text triggert das System für einen Aufruf des relevanten Dokuments über das Internet, damit es der Benutzer auf dem Bildschirm ansehen kann. Er ersetzt das Dokument, das der Benutzer vorher angesehen hat.
  • In der obengenannten, ebenfalls anhängigen Patentanmeldung ist ein System beschrieben, das zum Speichern von Metainformationen über Seiten verwendet werden kann, die durch Anklicken von Hypertext-Verbindungen über das Internet ausgewählt wurden. Durch die Verwendung von Schlüsselwort-Sätzen macht das System andere interessierte Benutzer einer Benutzergruppe auf ein neues Dokument aufmerksam, für das Metainformationen gespeichert worden sind.
  • In einem Casper-System gemäß einer Ausführungsform der vorliegenden Erfindung wird das System, wenn eine Seite ausgewählt wurde, um beispielsweise deren Metainformationen zu speichern, automatisch diese Seite nach Hypertext-Verbindungen zu anderen Dokumenten überprüfen, die über das Internet verfügbar sind. Gibt es solche Verbindungen im Dokument, und die verbundenen Dokumente sind nicht bereits lokal gespeichert, dann schiebt das Casper-System die neue Seite in eine Seiten-Verarbeitungsschlange. Die Verbindungen der Seite werden, wenn sie verfügbar werden, den Seitenerfassungs-Softwareeinheiten zugeordnet. Für jede Verbindung wird das eine Verbindung aufweisende Dokument dann in einen lokalen "Vorgriffs"-Cache-Datenspeicher gelesen.
  • Das hat den Effekt, das ein lokaler Speicher von Seiten entsteht, die klar auf Seiten bezogen sind, an denen der Benutzer interessiert ist. Wenn der Benutzer sich entschließt, über eine Seite, auf die ursprünglich zugegriffen wurde, hinauszugehen, kann er die entsprechenden Seiten einfach aus ihren lokalen Daten-Cache-Speichern herausholen, ohne Verbindungen im Internet aufrufen zu müssen. Dadurch wird die Informationsabfrage für den Benutzer schneller und der Verkehr im Internet reduziert sich.
  • In 1 umfaßt die Hardware-/Software-Umgebung, die die Ausführungsformen der vorliegenden Erfindung unterstützt, folgende Elemente:
    • i) einen WWW-Viewer 100, das über einen Proxy-Server mit einem Netzwerk, beispielsweise dem Internet, verbunden ist.
    • ii) einen Haupt- und einen Vorgriffs-Cache-Speicher 120, 125 und einen damit verbundenen Cache-Controller 115.
    • iii) einen Vorgriffsprozessor 130, der zwischen den Cache-Controller 115 und den Vorgriffs-Cache-Speicher 125 geschaltet ist und der einen direkten Zugriff zum Internet 110 hat.
  • Die Casper unterstützende Umgebung ist einem allgemein bekannten Typ zuzuordnen. Der WWW-Viewer 100 bietet über den Proxy-Server 105 die Browse-Möglichkeit im Internet 110 an. Beim Proxy-Server 105 handelt es sich um ein Software-System eines bekannten Typs, das Anfragen nach Informationen von den Browsern des Benutzers auffangen und diese verarbeiten kann, bevor es sie an die Informationsquelle im Internet weiterleitet. Bei dem Haupt- und dem Vorgriffs-Cache-Speicher 120, 125 handelt es sich um lokale Datenspeicher zum Speichern von WWW-Seiten, und der Cache-Controller 115 bildet zu ihnen eine Schnittstelle, die Seiten in die Cache-Speicher schreibt und diese wieder abruft und die Inhalte protokolliert.
  • Die Bereiche, in denen Casper primär unterschiedlich ist, betreffen das Vorsehen des zweiten Cache-Speichers, des Vorgriffs-Speichers 125 und des Vorgriffsprozessors 130.
  • Es ist bekannt, Cache-Server zu verwenden, wobei es sich bei Cache um einen temporären Speicher handelt, in dem beispielsweise Seiten gespeichert gehalten werden, auf die erst kürzlich von einer Gruppe von Benutzern zugegriffen wurde. Wenn der Cache-Speicher voll ist, werden Seiten gelöscht, wenn neue Seiten gespeichert werden. Bei Casper ist es der Haupt-Cache-Speicher 120, der die Seiten speichert, auf die von Benutzern zugegriffen wurde. Ferner gibt es jedoch den Vorgriffs-Speicher 125, der Seiten speichert, auf die selbst nicht zugegriffen wurde , die aber mit Seiten verbunden sind, auf die Benutzer zugegriffen haben. Dieser Vorgriffs-Speicher 125 wird gefüllt, indem die Verbindungen genommen werden, die in diesen, von Benutzern aufgerufenen Seiten eingebettet sind und indem diese Seiten wegen der Verbindungen heruntergeladen werden.
  • Diese Cache-Speicher 120, 125 werden dann verwendet, wenn ein Benutzer eine Seite anfordert. Casper verwendet den Proxy-Server 105, um die Anfrage aufzufangen und um zunächst zu überprüfen, ob sich die Seite bereits im Haupt-Cache-Speicher 120 oder im Vorgriffs-Cache-Speicher 125 befindet. Ist die Seite bereits in einem der Cache-Speicher 120, 125 vorhanden, holt Casper sie aus dem Cache-Speicher. Wenn nicht, muß schließlich die relevante Informationsquelle im Internet kontaktiert und die Seite von einem entfernt stehenden Server 135 angefordert werden.
  • In 2 weist das Flußdiagramm, das sich auf den oben beschriebenen Ablauf bezieht, die folgenden Schritte auf:
  • Schritt 300: Der Proxy-Server 105 des Casper-Systems erhält eine Benutzeranfrage 300, bei der an einem entfernt stehenden Standort im Internet, beispielsweise einem entfernt stehenden Server 135, ein Universal-Ressourcenlokalisator (URL) eingesetzt ist. Bei der Anfrage kann es sich um eine Anfrage nach einer von mehreren Alternativen handeln. So kann beispielsweise der Benutzer die Ansicht einer Seite anfordern und/oder er kann für Aktualisierungszwecke das Wiederladen einer Seite vom entfernt stehenden Server 135 anfordern. Alternativ dazu kann der Benutzer ein Programm aufrufen, das dynamisch läuft und für das eine Ablage im Cache-Speicher nicht zweckmäßig wäre. Wenn eine Anfrage nach einer Seite erfolgt, kann das bedeuten, daß die im Cache-Speicher abgelegte Version der Seite nicht akzeptabel ist und daß das System daher die Seite von dem entfernt stehenden Ursprungs-Server 135 aus liefern soll.
  • Schritt 305: Zur Bestimmung des Charakters der Anfrage und irgendwelcher Einschränkungen überprüft der Proxy-Server 105 die Benutzeranfrage. Die Benutzeranfrage kann optionale, vom Benutzer gewählte Einschränkungen enthalten, beispielsweise "Neustart", was bedeutet, daß die im Cache-Speicher abgelegte Version einer Datei nicht akzeptabel ist, sie kann aber auch darin eingebettete Einschränkungen enthalten, z. B. in Bezug auf den Universal-Ressourcenlokalisator, den sie enthält. Casper ist mit einer Konfigurations-Datei augestattet, die folgende Angaben machen kann:
    • – Universal-Ressourcenlokalisatoren (URL) sind auszuschließen, da sie beispielsweise einen zweifelhaften Inhalt aufweisen
    • – URL, die selbst einen Neustart erzwingen, weil beispielsweise bekannt ist, daß sich ihr Inhalt häufig ändert, oder weil der verwendete Server ein lokaler Server oder ein schneller Server ist und weil eine Ablage im Cache-Speicher daher nicht zweckmäßig ist.
  • Die Anfragenüberprüfung kann daher beispielsweise eine Reihe der im folgenden aufgelisteten Überprüfungen sein:
    • – erzwingt URL einen Neustart?
    • – ist URL eine zugelassene Stelle?
    • – hat der Benutzer einen Neustart angegeben?
    • – hat der Benutzer auf andere Weise angegeben, daß eine im Cache-Speicher vorhandene Version nicht akzeptabel ist?
  • In Abhängigkeit vom Ergebnis geht der Proxy-Server entweder zu Schritt 310 oder zu Schritt 330. Hat der Benutzer "Neustart" ange klickt, oder wenn URL den "Neustart" erzwingt, wird der Weg " Cache-Speicher-Version nicht akzeptabel" zu Schritt 310 verfolgt. Wenn es sich beim URL nicht um eine erlaubte Stelle handelt, kommt eine Meldung "Zugriff abgelehnt" zum Benutzer zurück und es erfolgt keine weitere Bearbeitung. Ansonsten wird der Weg " Cache-Speicher-Version akzeptabel" zu Schritt 330 verfolgt.
  • Schritt 310: Wenn im Schritt 305 festgestellt wurde, daß eine im Cache-Speicher aufgenommene Version nicht akzeptabel ist, initiiert der Proxy-Server 105 eine Verbindung mit dem relevanten entfernt stehenden Server 135. Wie aus 1 ersichtlich ist, hat der Proxy-Server 105 eine direkte Schnittstelle zum Internet 110. Im Schritt 315 prüft der Proxy-Server 105, ob das Objekt der Anfrage existiert. Ist das nicht der Fall, erzeugt er in den Schritten 320, 355 eine entsprechende Nachricht für den Benutzer und liefert dieselbe.
  • Schritt 323: Wenn das Objekt der Anfrage existiert, prüft der Proxy-Server 105, ob sie im Cache-Speicher abgelegt werden soll. Wenn das Objekt der Anfrage existiert und eine HTML-Seite ist, aber eine Ablage im Cache-Speicher nicht zweckdienlich ist, z. B. wenn eine Casper-Konfigurations-Datei den URL als eine Stelle definiert, die den Neustart erzwingt, geht der Poxy-Server 105 zu den Schritten 350, 355 weiter, um den Vorgriffsprozessor auzulösen und die Seite zum Browser des Benutzers zu senden. Wenn das Objekt der Anfrage existiert, es sich um eine HTML-Seite handelt und eine Ablage im Cache-Speicher zweckdienlich ist, geht der Proxy-Server 105 zu Schritt 325 weiter und schreibt die entsprechende Seite in den Haupt-Cache-Speicher 120. Sodann geht der Proxy-Server 105 zu den Schritten 350, 355, wie oben beschrieben.
  • Es kann der Fall eintreten, daß zur Zeit weder eine Ablage im Cache-Speicher noch eine Vorgriffs-Verarbeitung zweckdienlich sind, beispielsweise in dem Fall, in dem ein Programm dynamisch läuft. In diesem Fall kann der Proxy-Server 105, wie oben beschrieben, zu den Schritten 350, 355 gehen, der Vorgriffsprozessor 130 findet aber keine eingebetteten Verbindungen, die er verarbeiten könnte. Andererseits kann auch eine zusätzliche Überprüfung erfolgen (in 2 nicht gezeigt), ob eine Vorgriffs-Verarbeitung zweckdienlich ist. Ist das nicht der Fall, könnte der Proxy-Server 105 die Schritte 350, 355 auslassen und das Programm einfach an den Browser 100 des Benutzers liefern.
  • Schritt 330: Wenn im Schritt 305 bestimmt wurde, daß eine Aufnahme im Cache-Speicher zweckdienlich ist, der Benutzer keinen Neustart festgelegt hat, oder daß eine im Cache-Speicher aufgenommene Version nicht akzeptabel ist, überprüft der Proxy-Server 105 über den Cache-Controller 115, ob sich das Objekt der Anfrage, normalerweise eine Web-Seite, im Haupt-Cache-Speicher 120 befindet. Wenn das der Fall ist, ist der Proxy-Server 105 bereit, zu Schritt 345 zu gehen.
  • Wenn sich eine angeforderte Web-Seite nicht im Haupt-Cache-Speicher 120 befindet, überprüft der Proxy-Server 105 über den Cache-Controller 115, ob sie sich bereits im Vorgriffs-Cache-Speicher 125 befindet. Wenn das der Fall ist, geht der Proxy-Server 105 zu Schritt 340 und überträgt die Seite in den Haupt-Cache-Speicher 120 und kann dann zu Schritt 345 gehen.
  • Wenn die angeforderte Web-Seite auch nicht im Vorgriffs-Cache-Speicher 125 ist, geht der Proxy-Server 105 zu Schritt 310 und die Verarbeitung wird fortgesetzt, wie im Schritt 310 beschrieben.
  • Schritt 345: Der Proxy-Server holt die angeforderte Seite aus dem Haupt-Cache-Speicher 120 und geht zu Schritt 350, wobei er den Vorgriffsprozessor 130 triggert. Nach dem Triggern des Prozessors geht der Proxy-Server zu Schritt 355, wo er der(den) angeforderten Seite(n) Casper-Seiten-Deckblätter hinzufügt und sie an den Browser 100 des Benutzers schickt.
  • Der Vorgriffsprozessor 130 überprüft in der Zwischenzeit, wie im einzelnen im folgenden beschrieben ist, die angeforderte(n) Seite(n), um darin eingebettete Verbindungen zu erkennen und auf die Seiten mit den eingebetteten Verbindungen zuzugreifen und sie in den Vorgriffs-Cache-Speicher 125 herunterzuladen.
  • Der in 3 gezeigte Vorgriffsprozessor 130 umfaßt Software-Verarbeitungen und einen Speicher, die auf einer Unix-Maschine läuft. Er enthält drei Asynchronverarbeitungen, einen Seiten-Prozessor 255, einen Schlitz-Prozessor 260 und einen Shelf-Prozessor 265.
  • Der Seiten-Prozessor 255 umfaßt: einen Nachrichteneingang 200 zum Empfang von Nachrichten, die beispielsweise den URL einer zu verarbeitenden Seite enthalten, einen HTML-Parser 205 für den Abruf der Inhalte eines URL und zur gründlichen Syntax-Analyse derselben, um alle darin eingebetteten HTML-Verbindungen zu erkennen, einen Verbindungs-Assessor 210, um zu bestimmen, welche der erkannten Verbindungen "vorab geholt" werden sollen, und eine Seiten-Warteschlange 215, die die am Nachrichteneingang 200 eingegangen Seitendaten zur Verarbeitung als Verarbeitungsanfragen speichert. Der Parser 205 und der Verbindungs-Assessor 210 haben auf den Haupt-Cache-Speicher 120 Zugriff und der Verbindungs-Assessor 210 hat auf den Vorgriffs-Chache-Speicher 125 Zugriff. Mit der Seiten-Warteschlange 215 ist ein Zeitgeber 235 gekoppelt, der irgendwelche Verbindungen mit "Ignorieren" kennzeichnet, die zu lange auf eine Verarbeitung gewartet haben (ein konfigurierbarer Parameter). Dadurch wird ein Mechanismus für eine Beschränkung der Länge der Seitenschlange geschaffen.
  • Der Schlitz-Prozessor 260 dient allgemein dem Zweck, die Seitendaten der Seitenschlange 215 so rasch wie möglich zu verarbeiten. Zu diesem Zweck kann er parallel eine Reihe von Unix-Unterverarbeitungen mit Hilfe mehrerer Datenerfassungsschlitze 225 durchlaufen. Er ist mit einem Schlitzfüller 220 versehen, der den Zustand der Schlitze 225 überwacht und versucht, irgendwelche freien Schlitze der Seitenschlange 215 zu bestücken. Jedesmal, wenn ein freier Schlitz neu gefüllt ist, wird ein Verbindungsprozessor 230 als Unix-Unterverarbeitet gestartet, der versucht, eine Verbindung mit dem Server herzustellen, der von einem URL in einer eingebetteten Verbindung genannt wurde. War das erfolgreich, liest ein Leseprozessor 240 die betreffende Seite von Server und leitet sie zu einem Cache-Writer 245, einem Teil des Cache-Controllers 115, der die Daten in den Vorgriffs-Cache-Speicher 125 schreibt und den Shelf-Prozessor 265 benachrichtigt. Beide, der Verbindungs- und der Leseprozessor 230, 240 sind mit einem Zeitgeber 235 ausgestattet, damit verhindert wird, daß die Datenerfassungsschlitze 225 in ineffizienter Weise blokkiert werden.
  • Der Shelf-Prozessor 265 schränkt die Größe des Vorgriffs-Cache-Speichers 125 ein, indem er Dateien nach Ablauf einer bestimmten Zeit entfernt. Eine Liste von Dateien bleibt gespeichert, die zum Vor griffs-Cache-Speicher 125 gesendet wurden, indem Datei-Kennungen in Zeitschlitze in einem Datenspeicher 250 eingegeben werden, der mit "Timeout Shelf' (Zeitablauf-Shelf) bezeichnet ist. Dieser ist mit einem Zeitgeber 235 versehen, der die Zeitschlitze in effektiver Weise durch den Datenspeicher schiebt, wobei jeder Zeitschlitz eine Löschung aller mit ihm gekoppelter Dateien aus dem Vorgriffs-Cache-Speicher 125 auslöst, wenn er das Ende des Datenspeichers erreicht hat.
  • Die maximal zulässige Länge der Seitenschlange und die Anzahl der Datenerfassungsschlitze sollen konfigurierbar sein, damit die Betriebsbedingungen erfüllt werden. Zur Dimensionierung eines Vorgriffsprozessors 130 sind die unten beschriebenen Überlegungen zweckdienlich.
  • Bezüglich einer Seitenschlangenlänge besteht bei den Softwarebedingungen kein ernstlicher Mehraufwand darin, die Seitenschlange beliebig lang zu machen. Die Beschneidung ihrer Länge ist jedoch eine Maßnahme zur Steuerung der Leistung des Systems. Der Grund dafür, Seiten am Ende der Schlange fallen zu lassen, ist der, daß der Benutzer an Seiten, die sich am Ende der Schlage befinden, ohne daß sie vollständig verarbeitet wurden, wahrscheinlich zu diesem Zeitpunkt ohnehin das Interesse verloren hat. Es besteht daher keine Notwendigkeit mehr, solche Seiten weiter zu verarbeiten.
  • Es wäre daher eine mögliche Ausgangsstrategie, mit einer kurzen Seiten-Warteschlange zu beginnen, und ihre Länge solange zu steigern, bis sie, in seltenen Fällen, überläuft. Wenn jedoch Seiten zu lange, beispielsweise mehr als eine Minute, in der Warteschlange verbleiben, kann das ein Zeichen dafür sein, daß die Länge der Schlange verkürzt werden sollte. Alternativ dazu sollte die Anzahl der Datenerfassungschlitze erhöht werden; siehe unten.
  • Die Sache ist wegen der Tatsache etwas kompliziert, daß es in Abhängigkeit von der Länge des "Shelf', d. h. der zulässigen Lebenszeit der Seiten im Vorgriffs-Cache-Speicher, zwei unterschiedliche Betriebsweisen des Vorgriffs-Cache-Speichers geben kann.
  • Wenn der einzige Zweck zur Aufnahme in den Vorgriffs-Cache-Speicher darin besteht, den den Benutzern während ihrer unmittelbaren Browsing-Sitzungen eine gesteigerte Ansprechgeschwindigkeit zu bieten, dann gibt es keinen Grund, Seiten mehr als einige wenige Minuten im Cache-Speicher zu halten. Wenn Seiten bedeutend länger, etwa einige Tage, im Vorgriffs-Cache-Speicher gehalten werden, besteht die Möglichkeit, daß der Cache-Speicher auch die zweite Anforderung einer Seite erfüllen kann. Wenn der Vorgriffs-Cache-Speicher auf diese Weise betrieben würde, würde das das obige Argument für eine Festlegung der Seitenschlangenlänge zugunsten einer längeren Schlange ändern, da ein Vorteil darin besteht, Seiten im vorhinein abzurufen, auch wenn das mehrere Minuten in Anspruch nimmt.
  • Hinsichtlich der Anzahl der Datenerfassungschlitze auf dem einfachsten Niveau kann gesagt werden: je mehr Schlitze verfügbar sind, desto besser ist es. Wenn nämlich ständig freie Datenerfassungschlitze vorhanden sind, können die Seiten mit einem Minimum an Verzögerung aufgerufen werden.
  • In der Praxis zieht eine Unixmaschine die Grenzen für die Anzahl der zulässigen Unterprozesse. Innerhalb dieser Grenzen kann eine große Anzahl von Unterprozessen, beispielsweise mehr als zwanzig, laufen, da keiner von ihnen viel Raum im Zentralprozessor oder in der Speicherquelle benötigt. Die meisten der Unterprozesse "leben", d. h. sie warten einfach darauf, daß Daten verfügbar werden.
  • Wenn die Last am Vorgriffsspeicher höher ist, als eine Maschine handhaben kann, können natürlich mehrere Maschinen eingesetzt werden.
  • Eine Alternative zu den Unterprozessen wäre, mehre Teilprozesse im Vorgriffsprozessor laufen zu lassen. Dieses Verfahren würde weniger zusätzliche Betriebssysteme, aber möglicherweise einen noch effizienteren Betrieb bedeuten, die Wartung könnte sich aber schwieriger gestalten. Der Vorgriffsprozessor würde dann nur in einem Programm und nicht in getrennten Teilen implementiert, die gewartet werden müssen. Bei der Zuverlässigkeit des Vorgriffsprozessors könnte man auch einen Kompromiß eingehen: Die Anordnung für eine Mehrfach-Unterverarbeitung ist tolerant in Bezug auf einen Ausfall beliebiger Unterverarbeitungen; solche Ausfälle beeinträchtigen den Vorgriffsprozessor selbst nicht, der aber dennoch zuverlässig und kontinuierlich laufen muß.
  • Gemäß 4 kann ein Flußdiagramm des grundlegenden Betriebs des Vorgriffsprozessors wie folgt beschrieben werden:
  • Schritt 400: Der Proxy-Server 105 liefert dem Benutzer entweder aus seinem Haupt-Cache-Speicher oder aus dem Internet eine Seite und instruiert den Vorgriffsprozessor 130, die Seite zu bearbeiten, indem er dem Prozessor, der den URL für die betreffende Seite enthält, eine Nachricht übermittelt.
  • Schritt 405: Der Vorgriffsprozessor 130 erhält die Inhalte des URL aus dem Haupt-Cache-Speicher 120 und unterzieht den Inhalt der Seite einer Syntaxanalyse, um die Verbindungen zu anderen Seiten festzustellen. (Das heißt, er übersetzt die HTML der Seite, um Informationen über miteinander verbundene Seiten zu gewinnen. Dafür ist natürlich das einprogrammierte Wissen der HTML-Syntax vonnöten.) Schritt 410: Die Existenz der so ermittelten Kind-Verbindungen wird in Bezug auf den Haupt-Cache-Speicher 120 und den Vorgriffs-Cache-Speicher 125 untersucht.
  • Schritt 415: Wenn eine Kind-Verbindung nicht bereits im Cache-Speicher abgelegt ist, und es sich nicht um eine Seite oder eine Kind-Seite handelt, die bereits verarbeitet wird, wird sie der Kind-Liste der Seite hinzugefügt.
  • Schritt 420: Wenn festgestellt wird, daß die zu verarbeitende Seite irgendwelche Kind-Verbindungen hat, die nicht aufgerufen werden müssen, wird die Seite in den Anfang der Seitenverarbeitungsschlange aufgenommen. Jeder Eintrag in der Seitenverarbeitungsschlange 215 ist mit der Seiten-URL und, für jedes der Kind-Verbindungen, mit einem Verbindungs-URL und einem Verbindungszustand gekoppelt. Letzterer wird aus: "ignoriert", wenn eine Ablehnung durch den Verbindungs-Assessor 210 erfolgt ist, "erledigt", wenn eine vollständige Verarbeitung erfolgt ist, oder "abgebrochen" ausgewählt, wenn die Zeit abgelaufen ist, oder aus einer Schlitzzahl ausgewählt, wenn gerade eine Verarbeitung läuft.
  • Schritt 425: Wenn die Seitenverarbeitungsschlange 215 zu lang geworden ist, was ein Anzeichen für einen Engpaß ist, wird die letzte Seite aus der Schlange entfernt und irgendwelche ausstehenden Datenerfassungen, die mit den Kindern der Seite gekoppelt sind, werden abgebrochen.
  • Schritt 430: Es wird ein Versuch unternommen, jedes Kind der neuen Seite zu verarbeiten, und irgendwelche noch nicht verarbeiteten Kinder aus anderen Seiten in der Seitenschlange, indem sie inaktiven Datenerfassungschlitzen der Seiten zugeordnet werden. Der Schlitzfüller 220 überwacht den Zustand der Datenerfassungschlitze 225; jeder von ihnen kann den Zustand "frei", "verbunden" oder "lesend" aufweisen, und bestückt die freien Schlitze aus der Seitenschlange 215, beginnend mit der ersten, nicht verarbeiteten Verbindung in der neu hinzugefügten Seite.
  • Schritt 435: Die neu gefüllten Datenerfassungschlitze der Seite werden aktiviert, und ein "Verbindungsprozessor" 230 wird als eine Unix-Unterverarbeitung, wie oben beschrieben, gestartet.
  • Schritt 440: Irgendwelche Datenerfassungschlitze einer Seite, die für den Verbindungsversuch zu lange gebraucht haben, oder die aus irgendwelchen anderen Gründen ausgefallen sind, werden freigegeben und als inaktiv bezeichnet, worüber dem Schlitzfüller 220 Mitteilung gemacht wird.
  • Schritt 445: Irgendwelche Datenerfassungschlitze für Seiten, die erfolgreich mit den Servern 135 verbunden wurden, werden vom "Verbindungs"-Zustand in den "Lesen"-Zustand aktualisiert. Es wird von einem Leseprozessor 240 gelesen, der die gleiche Unix- Unterverarbeitung wie die Verbindungsphase verwendet. Der Schlitzprozessor 130 liest die relevanten Kind-Verbindungsdaten aus dem Netzwerk und übermittelt sie einem Cache-Writer im Cache-Controller 115. Dieser schreibt die Daten in den Vorgriffs-Cache-Speicher 125 und macht dem Shelf-Prozessor 265 Mitteilung.
  • Schritt 450: Irgendwelche Seiten-Datenerfassungsschlitze 225, die für ihren Versuch, aus den Servern zu lesen, zu lange gebraucht haben, werden freigegeben und als inaktiv markiert, worüber wiederum, wie in der Verbindungsphase, dem Schlitzfüller 220 Mitteilung gemacht wird.
  • Schritt 455: Seiten, die zu lange im Vorgriffs-Speicher geblieben sind, werden als unerwünscht angesehen und aus dem Cache-Speicher entfernt. Das ist praktisch, denn irgendwelche Dateien, auf die von einem Benutzer nach dem Vorabruf zugegriffen wurde, sind von einer getrennten Cache-Controller-Anordnung zum Haupt-Cache-Speicher 120 übertragen worden. Obwohl es außerordentlich einfach ist, den Vorgriffs-Cache-Speicher 125 abzugleichen, indem er regelmäßig auf veraltete Dateien abgetastet wird und diese entfernt werden, wird doch durch diese Technik allzu viel Rechenzeit verbraucht und macht einen Zugriff mit einer hohen Zahl von Disketten erforderlich. Daher ist es bevorzugt, einen Shelf-Prozessor 265, wie oben beschrieben, zu verwenden.
  • Die obigen Verarbeitungsschritte wiederholen sich auf unbegrenzte Zeit und nicht notwendigerweise in der beschriebenen Reihenfolge. Natürlich können insbesondere die Schritte 440, 445, 450 und 455 mit einer Häufigkeit ausgeführt werden, die in Relation zu dem Rest des Verfahrens als zweckmäßig erachtet wurde; diese Schritte sind durch gepunktete Linien dargestellt, um anzuzeigen, daß sie nicht immer dann vorhanden müssen, wenn der Vorgriffsprozessor 130 beauftragt wird, eine Seite zu bearbeiten.
  • Eine Realzeitansicht des Systems könnte so aussehen, wie in 5 gezeigt ist. In diesem Beispiel sind vier Seiten in der Schlange 215 und es gibt zehn einzelne Datenerfassungschlitze 505. Hier wurde angenommen, daß eine neue Seite (Seite 1) gerade angekommen ist, und daß einige Datenerfassungschlitze 505 soeben frei geworden sind, da die Verarbeitung einiger Kinder von Seite 4 gerade abgeschlossen worden ist, dann sind einige Neuzuweisungen von Datenerfassungschlitzen 505 erforderlich. Zwei Kinder von Seite 2 werden gerade verarbeitet. Die anderen zwei Kinder von Seite 2 sind zwar auch zur Verarbeitung bereit, jedoch könnte die Ankunft der neuen Seite 1 einen Einfluß darauf haben, was mit ihnen geschieht. Seite 3 hat vier Kind-Verarbeitungen, eine Verbindung wird aufgebaut, die anderen Verbindungen sind bereits hergestellt und gelesen. Seite 4 ist fertig, alle ihre Kinder sind entweder gelesen oder die Verarbeitung wurde abgebrochen, da zuviel Zeit benötigt wurde.
  • Der Vorgriffsprozessor 130 wird nun die Kinder der neu angekommenen Seite 1, den Schlitzen 2, 6 und 7, und ein Kind der Seite 2 dem Schlitz 8 zuweisen. Seite 4 wird aus der Warteschlange entfernt, da sie keine ausstehenden Operationen aufweist.
  • Aus 6 können die Ergebnisse der Neuzuordnung entnommen werden.
  • 7 zeigt, daß auch eine etwas andere Version der vorliegenden Erfindung bevorzugt werden könnte: In den Schritten 345, 350, umgeht das System den Vorgriffsprozessor 130 in einem Fall, in dem eine Seite bereits im Haupt-Cache-Speicher 120 gefunden worden ist. Dieser Version kann dann der Vorzug gegeben werden, wenn alle Seiten bereits vom Vorgriffsprozessor 130 verarbeitet worden sind, bevor sie in den Haupt-Cache-Speicher 120 geladen werden.
  • Eine Folge der obigen, in 7 gezeigten Variation ist es, daß das System direkt den Vorgriffsprozessor 130 (Schritt 350) auslöst, nachdem eine Seite vom Vorgriffs-Cache-Speicher 125 in den Haupt-Cache-Speicher 120 übertragen wurde. In diesem Falle muß das System, wenn es die Seite in den Haupt-Cache-Speicher überträgt, die Seite auch zum Vorgriffsprozessor 130 übertragen.
  • Es ist möglich, die Ausführungsformen der Erfindung in einer objektbezogenen Technologie zu gestalten. So können beispielsweise die drei Prozessoren, der Seiten-, Schlitz- und Shelf-Prozessor, als Objekte auf dem höchsten Niveau angesehen werden. Jeder kann eine unabhängige Einheit sein, die mit den anderen mit Hilfe von Nachrichten anstelle eines direktem Datenzugriffs oder einer Datenmodifizierung kommuniziert. Auf einem niedrigeren Niveau haben die Elemente der Seitenschlange und der Datenerfassungsschlitze objektähnliche Merkmale: Jedes Element ist eine Umschreibung eines Prototyps (ein Seitenschlangen-Element oder ein Datenerfassungschlitz) und jedes verfügt über zugehörige Daten und Zustände.
  • Wie beschrieben, greift Casper auf alle Seiten zu, die mit einer ausgewählten Seite verbunden sind. Es ist möglich, das Prinzip der ebenfalls anhängigen Patentanmeldung, auf die oben Bezug genommen wurde, zu nutzen und die Seiten auszuwählen, auf die in Überein stimmung mit einem Benutzerprofil beispielsweise auf der Grundlage des Interesses und des Kontextes zugegriffen wurde.

Claims (19)

  1. Informationszugriffssystem zum Zugriff auf Informationen, auf die mit Hilfe eines Kommunikationsnetzes zugegriffen werden kann, das umfaßt: a) einen Eingang zum Empfang von Anforderungen zum Zugriff auf Informationsobjekte, b) eine Einrichtung zum Herunterladen von angeforderten Informationsobjekten aus dem Netzwerk in einen lokalen Speicher und c) einen Informations-Prozessor zum Verarbeiten der heruntergeladenen Informationsobjekte, um eingebettete Verbindungen zu anderen Informationsobjekten, auf die über das Netzwerk zugegriffen werden kann, zu orten, wobei der Informations-Prozessor umfaßt: i) eine Warteschlangen-Anordnung zur Anordnung der heruntergeladenen Informationsobjekte mit den eingebetteten Verbindungen in einer Warteschlange und ii) einen Satz gleichzeitig aktivierbarer Informations-Datenerfassungseinheiten zum Herunterladen von Informationsobjekten aus dem Netzwerk in einen lokalen Speicher, die durch die eingebetteten Verbindungen gekennzeichnet sind, wobei der Informations-Prozessor im Betrieb ein sich in der Warteschlange befindendes Objekt der heruntergeladenen angeforderten Information verarbeitet, um darin eingebettete Verbindungen zu orten, die andere Informationsobjekte zum Herunterladen kennzeichnen, und die im verarbeiteten Informationsobjekt georteten eingebetteten Verbindungen verschiedenen verfügbaren Datenerfassungseinheiten zuordnet, wobei dann jede Datenerfassungseinheit tätig wird und ein Informationsobjekt aus dem Netzwerk in den lokalen Speicher herunterlädt, das durch die ihr zugeordnete Verbindung gekennzeichnet ist.
  2. Informationszugriffssystem nach Anspruch 1, wobei der lokale Speicher mindestens zwei Cache-Datenspeicher umfaßt, einen ersten Cache-Datenspeicher, in den die Datenerfassungseinheiten im Betrieb gekennzeichnete Informationsobjekte herunterladen, und einen zweiten Cache-Datenspeicher zum Speichern von Informationsobjekten, die auf eine am Eingang erhaltene Anforderung heruntergeladen wurden.
  3. Informationszugriffssystem nach Anspruch 2, das ferner eine Einrichtung umfaßt, die auf den Empfang einer Anforderung zum Zugriff auf ein Informationsobjekt am Eingang anspricht, das im ersten Cache-Datenspeicher gespeichert ist, um das angeforderte Informationsobjekt vom ersten Cache-Datenspeicher zum zweiten Cache-Datenspeicher zu übertragen.
  4. Informationszugriffssystem nach Anspruch 2 oder 3, wobei jede empfangene Anforderung einen Ortungsindikator enthält, der den Ort des angeforderten Informationsobjekts im Netzwerk anzeigt, und das System ferner ein Register zum Speichern der Ortungsindikatoren zusammen mit verwandten begrenzten Daten sowie eine Einrichtung umfaßt, die auf den Empfang einer Anforderung zum Zugriff auf ein Informationsobjekt am Eingang anspricht, um auf das Register zuzugreifen, um beliebige begrenzte Daten zu erhalten, die in bezug auf einen in der empfangenen Anforderung enthaltenen Ortungsindikator gespeichert sind.
  5. Informationszugriffssystem nach einem der vorhergehenden Ansprüche, das ferner eine Warteschlangenlängen-Steuereinrichtung zum Streichen von Informationsobjekten aus der Warteschlangen-Anordnung umfaßt.
  6. Informationszugriffssystem nach Anspruch 5, wobei die Warteschlangenlängen-Steuereinrichtung so ausgebildet ist, daß sie Informationsobjekte aufgrund der Länge der Zeit streicht, die sich ein Informationsobjekt in der Warteschlangen-Anordnung befindet.
  7. Informationszugriffssystem nach einem der vorhergehenden Ansprüche, das ferner eine Datenerfassungseinheit-Überwachungseinrichtung umfaßt, die erfaßt, wann Datenerfassungseinheiten verfügbar werden, und um die Zuordnung von in Informationsobjekten vorhanden Verbindungen zu verfügbaren Datenerfassungseinheiten zu triggern, die sich in der Warteschlangen-Anordnung befinden.
  8. Informationszugriffssystem nach Anspruch 7, wobei die Datenerfassungseinheit-Überwachungseinrichtung die Zuordnung von Verbindungen in einer Prioritätenfolge triggert, wobei die Pioritätenfolge in Übereinstimmung mit dem Zeitraum bestimmt wird, den sich ein Informationsobjekt in der Warteschlangen-Anordnung befunden hat.
  9. Informationszugriffssystem nach Anspruch 8, wobei das höchstes Prioritätsniveau mit den Verbindungen verknüpft ist, die sich in dem Objekt mit der kürzesten Zeit in der Warteschlangen-Anordnung befinden.
  10. Informationszugriffssystem nach einem der vorhergehenden Ansprüche, wobei die Warteschlangen-Anordnung so ausgebildet ist, daß sie jedes Informationsobjekt durch objektbezogenes Speichern – einer Kennung für das Objekt und – einer Kennung für eine oder mehrere im Objekt eingebettete Verbindungen in der Warteschlange ordnet.
  11. Informationszugriffssystem nach Anspruch 10, wobei die Warteschlangen-Anordnung ferner so ausgebildet ist, daß eine Zustandsinformation in bezug auf jede der Verbindungskennungen, insbesondere den Herunterlade-Zustand für jede Verbindung, gespeichert wird, die anzeigt, ob das jeweilige gekennzeichnete Informationsobjekt durch eine Informations-Datenerfassungseinheit heruntergeladen wurde.
  12. Informationszugriffssystem nach einem der vorhergehenden Ansprüche, das einen Proxy-Server umfaßt, der so ausgebildet ist, daß er eine Zugriffsanforderung eines Benutzers auf ein Informationsobjekt zum Herunterladen des angeforderten Informationsobjektes aus dem Netzwerk in den lokalen Speicher und zum Triggern der Funktion des Informations-Prozessors in bezug auf das heruntergeladene angeforderte Informationsobjekt empfängt.
  13. Informationszugriffssystem nach Anspruch 12, wobei im Fall der Abhängigkeit von Anspruch 2 der Proxy-Server so ausgebildet ist, daß er das heruntergeladene angeforderte Informationsobjekt im zweiten Cache-Datenspeicher speichert.
  14. Informationszugriffssystem nach Anspruch 13, wobei der Proxy-Server ferner so ausgebildet ist, daß er beim Empfang einer Zugriffsanforderung auf ein Informationsobjekt bevorzugt vor einem Herunterladen des angeforderten Objekts über das Kommunikationsnetz auf mindestens einen, den ersten oder den zweiten Cache-Datenspeicher zugreift, um das angeforderte Informationsobjekt wiederzugewinnen.
  15. Verfahren zum Speichern von Informationsobjekten, auf die mit Hilfe eines Kommunikationsnetzes zugegriffen werden kann, das die folgenden Schritte umfaßt: i) Empfang einer Anforderung für einen Zugriff auf ein Informationsobjekt, ii) Herunterladen des angeforderten Informationsobjekts aus dem Kommunikationsnetz und Speichern des heruntergeladenen angeforderten Objekts in einem lokalen Datenspeicher, iii) Verarbeiten des heruntergeladenen angeforderten Objekts, um irgendwelche darin eingebetteten Verbindungen zu orten, die sich auf andere Informationsobjekte beziehen, und iv) Herunterladen von Informationsobjekten, auf die durch eingebettete, im Schritt (iii) geortete Verbindungen verwiesen wurde, und Speichern der heruntergeladenen Objekte im lokalen Datenspeicher.
  16. Verfahren nach Anspruch 15, wobei Schritt (iii) umfaßt: Anordnen der heruntergeladenen angeforderten Informationsobjekte durch Speichern, bezogen auf jedes Objekt, einer Kennung für das Objekt und einer Kennung für jede geortete, im Objekt eingebettete Verbindung in einer Warteschlange.
  17. Verfahren nach Anspruch 15 oder 16, wobei Schritt (iv) umfaßt: Zuordnen von eingebetteten Verbindungen, die im Schritt (iii) geortet wurden, zu verschiedenen Datenerfassungseinheiten eines Satzes von gleichzeitig aktivierbaren Datenerfassungseinheiten und Herunterladen der Informationsobjekte mit den zugeordneten Verbindungen mit Hilfe der Datenerfassungseinheiten.
  18. Verfahren nach Anspruch 17, wobei im Fall der Abhängigkeit von Anspruch 16 der Schritt (iii) ferner umfaßt: Speichern von Zustandsinformationen in bezug auf jede Kennung der eingebetteten Verbindungen, die ihren Zustand in bezug auf das Herunterladen durch die Datenerfassungseinheiten anzeigen.
  19. Verfahren nach Anspruch 17 oder 18, wobei der lokale Datenspeicher mindestens zwei Cache-Datenspeicher, einen ersten Cache-Datenspeicher, in den die Datenerfassungseinheiten im Betrieb gekennzeichnete Informationsobjekte herunterladen, und einen zweiten Chache-Datenspeicher zum Speichern von Informationsobjekten umfaßt, die aufgrund einer am Eingang erhaltenen Anforderung heruntergeladen wurden, wobei das Verfahren ferner den Schritt umfaßt: (v) Übertragen des angeforderten Informationsobjekts vom ersten Cache-Datenspeicher zum zweiten Cache-Datenspeicher nach dem Empfang einer Anforderung zum Zugriff auf ein Informationsobjekt, das im ersten Cache-Datenspeicher gespeichert ist.
DE69723432T 1996-05-20 1997-05-20 Informationsauffindungssystem mit einer cachedatenbank Expired - Lifetime DE69723432T2 (de)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
GBGB9610505.1A GB9610505D0 (en) 1996-05-20 1996-05-20 Information retrieval in cache database
GB9610505 1996-05-20
EP96303645 1996-05-22
EP96303645 1996-05-22
PCT/GB1997/001363 WO1997044747A1 (en) 1996-05-20 1997-05-20 Information retrieval in cache database

Publications (2)

Publication Number Publication Date
DE69723432D1 DE69723432D1 (de) 2003-08-14
DE69723432T2 true DE69723432T2 (de) 2004-04-15

Family

ID=26143719

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69723432T Expired - Lifetime DE69723432T2 (de) 1996-05-20 1997-05-20 Informationsauffindungssystem mit einer cachedatenbank

Country Status (6)

Country Link
EP (1) EP0898754B1 (de)
JP (1) JP2000510978A (de)
AU (1) AU2906297A (de)
CA (1) CA2253829C (de)
DE (1) DE69723432T2 (de)
WO (1) WO1997044747A1 (de)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1125125A (ja) * 1997-07-08 1999-01-29 Canon Inc ネットワーク情報探索装置、ネットワーク情報探索方法および記憶媒体
TW405083B (en) * 1997-11-06 2000-09-11 Ibm Asynchronous printing of WEB documents
US6032162A (en) * 1998-01-08 2000-02-29 Burke; Alexander James System for processing and storing internet bookmark address links
US20020002039A1 (en) 1998-06-12 2002-01-03 Safi Qureshey Network-enabled audio device
US6591288B1 (en) 1998-05-19 2003-07-08 Nortel Networks Limited Data network accelerated access system
FR2779594A1 (fr) * 1998-06-08 1999-12-03 Pascal Jean Michel Derycke Procede d'optimisation de la vitesse de consultation d'un site web
JP3789244B2 (ja) 1998-07-28 2006-06-21 富士通株式会社 ハイパーテキスト表示装置およびハイパーテキスト表示システム
KR20000011320A (ko) * 1998-07-29 2000-02-25 야스카와 히데아키 웹페이지선택및프린팅방법및장치
SE514376C2 (sv) * 1998-09-24 2001-02-19 Mirror Image Internet Inc Ett internet-cachningssystem samt ett förfarande och anordning i ett sådant system
US6502243B1 (en) * 1998-11-10 2002-12-31 Lgerca, Inc. Method and system for locating a resource within a broadcasting environment
JP2000285006A (ja) * 1999-03-31 2000-10-13 Toshiba Corp 情報取得制御装置及び情報取得制御方法
GB2339516B (en) * 1999-04-06 2000-07-05 Iesearch Limited An inter-computer communications apparatus
US6760760B1 (en) 1999-06-09 2004-07-06 Amx Corporation Control system communication server for transmitting files via multiple communication paths
US6510458B1 (en) 1999-07-15 2003-01-21 International Business Machines Corporation Blocking saves to web browser cache based on content rating
JP3534027B2 (ja) * 1999-12-01 2004-06-07 日本電気株式会社 コンテンツ提供装置及びプログラムを記録した機械読み取り可能な記録媒体
AU1956101A (en) * 1999-12-10 2001-06-18 Sun Microsystems, Inc. Maintaining cache consistency for dynamic web content
GB2364483A (en) * 2000-06-30 2002-01-23 Nokia Oy Ab Accessing more than one item of information from a remote server
US6832239B1 (en) 2000-07-07 2004-12-14 International Business Machines Corporation Systems for managing network resources
WO2002045353A1 (es) * 2000-11-30 2002-06-06 Inalambrica.Net Costa Rica Sociedad Anonima Sistema integrado de recepcion y distribucion de datos a alta velocidad
CA2384259A1 (en) 2002-04-29 2003-10-29 Ibm Canada Limited-Ibm Canada Limitee Access concurrency for cached authorization information in relational database systems
US8028323B2 (en) 2004-05-05 2011-09-27 Dryden Enterprises, Llc Method and system for employing a first device to direct a networked audio device to obtain a media item
US8028038B2 (en) 2004-05-05 2011-09-27 Dryden Enterprises, Llc Obtaining a playlist based on user profile matching
CA2621713C (en) 2005-09-07 2016-01-26 Amx Llc Method and computer program for device configuration
JP5325159B2 (ja) 2010-05-12 2013-10-23 インターナショナル・ビジネス・マシーンズ・コーポレーション ファイルリストを抽出してクライアントにて表示するファイルサーバ、クライアントにて表示する方法及びファイルサーバで実行することが可能なコンピュータプログラム
US10981051B2 (en) 2017-12-19 2021-04-20 Activision Publishing, Inc. Synchronized, fully programmable game controllers

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5485609A (en) * 1994-05-20 1996-01-16 Brown University Research Foundation Online background predictors and prefetchers for locality management

Also Published As

Publication number Publication date
DE69723432D1 (de) 2003-08-14
EP0898754A1 (de) 1999-03-03
JP2000510978A (ja) 2000-08-22
AU2906297A (en) 1997-12-09
WO1997044747A1 (en) 1997-11-27
CA2253829A1 (en) 1997-11-27
CA2253829C (en) 2002-07-23
EP0898754B1 (de) 2003-07-09

Similar Documents

Publication Publication Date Title
DE69723432T2 (de) Informationsauffindungssystem mit einer cachedatenbank
DE60211254T2 (de) Fernereignis Behandlung in ein Paketnetzwerk
DE69832786T2 (de) Vorrichtung und verfahren zur identifizierung von klienten die an netzwer-sites zugreifen
DE69934871T2 (de) Verfahren und System zur optimalen Auswahl eines Webfirewalls in einem TCP/IP Netzwerk
DE69614764T2 (de) Verfahren zur Ausführung von Anträgen eines Netzbrowsers
DE69928860T2 (de) System und Verfahren zur Auswahl von Servern für gespiegelte Sites
DE69909839T3 (de) Optimierte Lokalisierung von Netzwerkbetriebsmittel
DE69719620T2 (de) Vorrichtung und Verfahren zur Bestimmung von Server-Cluster-Topologien
DE69602461T2 (de) Verfahren und server-rechner zum lastausgleich zwischen den prozessoren des server-rechners
DE69938077T2 (de) Verfahren, Vorrichtung und Programmspeichereinrichtung für einen Klienten und ein adaptiver Synchronisierungs- und Transformierungsserver
DE69612034T2 (de) Unteragentdienst um Anträge eines Netzbrowsers auszuführen
DE69729926T2 (de) Netzwerkbrowser
EP0849666B1 (de) Verfahren zum Instantiieren einer versionsbehafteten Klasse
DE69732605T2 (de) Dynamisches Cachespeicher-Vorladen über lose gekoppelte administrative Bereiche
DE3689664T2 (de) Verfahren und Gerät zur Verwaltung von veralteten Datenobjekten.
DE69731318T2 (de) Herstellen von kommunikationsverbindungen in einem computernetzwerk
DE69819211T2 (de) Verteilte interfacearchitektur einer programmierbaren industriellen steuerung
DE69834579T2 (de) Http- sitzung- überwachung
DE60108884T2 (de) Methode und gerät zur bearbeitung von kommunikationsanfragen durch einen server ohne kontextumschaltung
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)
DE69731994T2 (de) Verfahren und Gerät, um Informationen über Netzwerkanbieter zu bekommen und anzuzeigen
DE202008013034U1 (de) System zum Beschleunigen von Browsing-Sitzungen
DE10252815A1 (de) Abgabe von Geboten für die Position in einem Suchsystem mit Bezahlung für Plazierung
DE202012013445U1 (de) System, um Offline Zugriff in einem gehosteten Dokument-Service zur Verfügung zu stellen
DE60003278T2 (de) Hierarchische Auflösung von Adressen in einem Datennetzwerk

Legal Events

Date Code Title Description
8364 No opposition during term of opposition