DE69837508T2 - Verfahren zum Inhaltswiederauffinden über ein Netzwerk - Google Patents

Verfahren zum Inhaltswiederauffinden über ein Netzwerk Download PDF

Info

Publication number
DE69837508T2
DE69837508T2 DE69837508T DE69837508T DE69837508T2 DE 69837508 T2 DE69837508 T2 DE 69837508T2 DE 69837508 T DE69837508 T DE 69837508T DE 69837508 T DE69837508 T DE 69837508T DE 69837508 T2 DE69837508 T2 DE 69837508T2
Authority
DE
Germany
Prior art keywords
content
cache
server
servers
client
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
DE69837508T
Other languages
English (en)
Other versions
DE69837508D1 (de
Inventor
Joseph Raymond Round Rock Thompson
Viktors Austin Berstis
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.)
Wistron Corp
Original Assignee
Wistron Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Wistron Corp filed Critical Wistron Corp
Application granted granted Critical
Publication of DE69837508D1 publication Critical patent/DE69837508D1/de
Publication of DE69837508T2 publication Critical patent/DE69837508T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • 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/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • 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
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/19Flow control; Congestion control at layers above the network layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/101Server selection for load balancing based on network conditions
    • 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/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1012Server selection for load balancing based on compliance of requirements or conditions with available server resources
    • 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/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1014Server selection for load balancing based on the content of a request
    • 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/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1017Server selection for load balancing based on a round robin mechanism
    • 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/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1023Server selection for load balancing based on a hash applied to IP addresses or costs
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/62Establishing a time schedule for servicing the requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • 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
    • 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/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • 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/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/10015Access to distributed or replicated servers, e.g. using brokers
    • 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/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1034Reaction to server failures by a load balancer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • H04L67/5681Pre-fetching or pre-delivering data based on network characteristics
    • 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)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

  • Die vorliegende Erfindung betrifft allgemein einen Informationsabruf über das World Wide Web oder dergleichen, und genauer das Abrufen eines Inhalts zur Lieferung an einen Client, der über eine Kommunikationsverbindung mit dem Netzwerk verbunden werden kann, wobei der Client einen Cachespeicher umfasst.
  • Das World Wide Web des Internets ist die erfolgreichste dezentralisierte Anwendung in der Geschichte der EDV. In der Web-Umgebung bewirken Clients Transaktionen zu Web-Servern unter Verwendung des Hypertext Transfer Protocol (HTTP), das ein bekanntes Anwendungsprotokoll ist, um Anwendern Zugriff auf Dateien (z. B. Text, Graphiken, Bilder, Ton, Video, usw.) unter Verwendung einer Standard-Seitenbeschreibungssprache, bekannt als Hypertext Markup Language (HTML), ermöglicht. HTML bietet eine grundlegende Dokumentformatierung und ermöglicht dem Entwickler, „Links" zu anderen Servern und Dateien festzulegen. In dem Internet-Modell wird ein Netzwerkpfad zu einem Server durch einen sog. Uniform Resource Locator (URL) identifiziert, der eine spezielle Syntax zum Definieren einer Netzwerkverbindung aufweist. Die Verwendung eines HTML-kompatiblen Browsers (z. B. Netscape Navigator oder Microsoft Internet Explorer) an einen Client beinhaltet eine Spezifikation einer Verbindung über den URL. In Reaktion darauf erstellt der Client eine Anforderung an den Server, der in der Verbindung identifiziert wird, und empfängt im Gegenzug ein Dokument, das gemäß HTML formatiert ist.
  • Es war bisher von großem Interesse, einen Internet-Zugriff bei minimalen wirtschaftlichen Kosten bereitzustellen. Während die meisten Computer heutzutage für einen Internet-Zugriff vorkonfiguriert sind, hat ein deutlicher Anteil an Haushalten immer noch keinen PC. Somit wurde nun vorgeschlagen, ein Datenverarbeitungssystem anzubieten, das, wie ein Videorekorder, mit einem Fernseher verbunden und an Stelle eines PCs verwendet werden kann, um einen Zugang zum Web über eine herkömmliche Fernsteuervorrichtung, die mit der Systemeinheit verbunden ist, bereitzustellen. Solch ein System ermöglicht, dass der Fernseher in der Tat ein „Web-Gerät" wird. Der Zuschauer kann schnell zwischen herkömmlichem Fernsehen und Internet-Zugriff umschalten, indem er die Fernsteuereinheit verwendet. Alle herkömmlichen Internet-Zugriffstools und Navigationsfunktionen sind vorzugsweise in dem System eingebaut und somit für den Anwender verborgen.
  • Ein solches Tool ist das sog. „Offline-Browsing". Wie jeder gelegentliche Anwender des Internets bezeugen kann, ist es manchmal schwierig, auf interessante oder attraktive Websites zuzugreifen, aufgrund der großen Anzahl von Besucheranfragen. Deswegen haben mehrere Firmen sog. „Offline"-Browserprogramme entwickelt, die so ausgelegt sind, dass sie Websites von bevorzugten Web-Servern zu einer Festplatte des Anwenders liefern, damit sie durchsucht werden können, wann immer der Anwender möchte. Typischerweise umfassen solche Programme eine Art von Zeitplanungsfunktion, die dem Anwender ermöglicht, identifizierbare Seiten zu Zeiten außerhalb der Hauptlastzeiten abzurufen, wodurch Zeit und Verbindungskosten gespart werden. Der Anwender kann dann Seiten je nach Wunsch durchsuchen, ohne ein Modem und sogar ohne eine aktive Verbindung zum Internet.
  • Während Offline-Browserprogramme bestimmte Vorteile bieten, haben sie nicht die Fähigkeit, die Nutzung der Kommunikationsverbindung zwischen dem Client und dem World Wide Web während des Informationsabrufvorgangs außerhalb der Hauptlastzeiten zu optimieren. Dieses Problem wird besonders dringlich, wenn Einschränkungen der Zeitdauer vorliegen, in der ein Informationsabruf außerhalb der Hauptlastzeiten erreicht werden kann. Es wird erwartet, dass in der Zukunft Web-Geräte des oben beschriebenen Typs von Computernetzwerk- oder anderen Serviceanbietern bereitgestellt werden, die nur ihren Abonnenten begrenzte Zeiträume, während derer ein Offline-Browsing ermöglicht wird, gestatten. So kann zum Beispiel ein Netzwerkbetreiber das Offline-Browsing für seine Abonnenten auf nur eine Stunde pro Nacht beschränken. Während dieser Stunde kann es sein, dass der Anwender den Inhalt von vielen Websites erhalten möchte. Somit wäre es wünschenswert, irgendeinen Mechanismus bereitzustellen, der das Abrufen eines Web-Inhalts während dieses begrenzten Zeitraums optimieren könnte.
  • Das Dokument „TeleWeb: Loosely connected access to the World Wide Web" von ATT Bell Labs des Standes der Technik offenbart das Abrufen von Informationen von einem Web-Server, wenn bestimmte Bedingungen erfüllt sind.
  • Dementsprechend bietet die vorliegende Erfindung ein Verfahren zum Abrufen eines Inhalts zur Lieferung an einen Client (100), der über eine Kommunikationsverbindung (227) mit einen Netzwerk verbunden werden kann, wobei der Client einen Cachespeicher, ein Cachespeicher-Steuerprogramm und ein Richtlinien-Steuerprogramm umfasst, wobei das Verfahren die Schritte umfasst:
    • (a) Definieren einer Reihe von Servern, von denen Inhalt abgerufen und in dem Cachespeicher gespeichert werden soll;
    • (b) Bestimmen (254) eines Aktivitätsgrads für die Kommunikationsverbindung, während Inhalt von den Servern zum Cachespeicher heruntergeladen wird; und
    • (c) wenn der Aktivitätsgrad für die Kommunikationsverbindung unter einem Schwellenwert ist, Ausgeben (260) von zusätzlichen Anforderungen nach Inhalt durch das Richtlinien-Steuerprogramm an das Cachespeicher-Steuerprogramm und vom Cachespeicher-Steuerprogramm an die Server gemäß einer Fairness-Richtlinie auf der Grundlage der Anzahl von Bytes, die von einem bestimmten Server im Cachespeicher empfangen werden, so dass jeder der Server der Reihe eine Gelegenheit hat, Inhalt an den Client zu liefern.
  • In dem bevorzugten Ausführungsbeispiel ist das Netzwerk das World Wide Web und der Client und die Server sind ein Web-Client bzw. Web-Server. Die zusätzlichen Anforderungen nach Inhalt können an die Reihe von Servern als eine Anforderung pro Server in einer geordneten Abfolge ausgegeben werden, oder bis zu einer vorbestimmten Anzahl von Anforderungen pro Server in einer geordneten Abfolge, oder auf der Grundlage von geeigneten vorbestimmten Parametern, zum Beispiel die Verbindungstiefe eines Dokuments, das auf einem bestimmten Server liegt, oder der Anzahl von Bytes, die von einem bestimmten Server im Cachespeicher empfangen wurden. Der Schwellenwert der Kommunikationsverbindung kann eine vorgegebene Anzahl von ausstehenden Anforderungen nach Inhalt sein, oder kann mit einer durchschnittlichen Verbindungsnutzungsrate für ein vorgegebenes überwachtes Intervall in Verbindung stehen, oder kann jedes andere geeignete Kriterium sein. In dem bevorzugten Ausführungsbeispiel wird der von einem Server empfangene Inhalt verarbeitet, um doppelte Verbindungen und nicht-lokale Verbindungen zu entfernen.
  • Typischerweise wird der Inhalt während eines vorbestimmten Zeitraums, zum Beispiel ungefähr eine Stunde, in den Cachespeicher heruntergeladen. Dieser Zeitraum kann vom Netzwerkzugriffsanbieter festgelegt sein, oder kann möglicherweise vom Anwender gewählt werden. Unter diesen Umständen wird bestimmt, ob ein vorgegebener Herunterlade-Zeitraum beendet ist, und wenn nicht, wird der Schritt des Bestimmens eines Aktivitätsgrads für die Kommunikationsverbindung durchgeführt. Die zusätzlichen Anforderungen nach Inhalt werden an den Cachespeicher ausgegeben, so dass jeder der Server zumindest eine Gelegenheit hat, Inhalt an den Client während des vorgegebenen Zeitraums zum Herunterladen zu liefern.
  • Die Erfindung bietet ferner ein Computerprogrammprodukt zum Abrufen von Inhalt zur Lieferung an einen Client, der über eine Kommunikationsverbindung mit einem Netzwerk verbunden werden kann, wobei der Client einen Cachespeicher umfasst, wobei das Computerprogrammprodukt umfasst: ein computerlesbares Speichermedium mit einem Substrat; und ein Programm, das in dem Substrat des computerlesbaren Speichermediums codiert ist, wobei das Programm Mittel zur Durchführung der hier beschriebenen Verfahren umfasst.
  • Die Erfindung umfasst ferner einen Computer gemäß Anspruch 3, der die hier beschriebenen Verfahren durchführt.
  • Vorzugsweise umfasst ein Web-Browserprogramm ein Menü zum Erzeugen der Liste von Websites, die während einer Herunterladesitzung außerhalb der Hauptlastzeiten heruntergeladen werden sollen; wobei das Cachespeicher-Steuerprogramm Mittel zum Empfangen von heruntergeladenen Daten umfasst, die im Cachespeicher zum Offline-Browsing gespeichert sind; und das Cachespeicher-Steuerprogramm sicherstellt, dass jede der Websites auf der Liste eine Gelegenheit hat, Inhalt während einer vorgegebenen Herunterladesitzung beizusteuern.
  • Von einem weiteren Gesichtspunkt betrachtet, bietet die Erfindung einen Computer, umfassend: einen Prozessor; einen Speicher mit einem Cachespeicher; ein Modem, das mit einer Kommunikationsverbindung verbunden ist; ein Web-Browserprogramm, das vom Prozessor abgearbeitet wird, um einen Informationsabruf aus dem World Wide Web bereitzustellen, und mit Menüs zum Erzeugen einer Liste von Websites, die während einer Herunterladesitzung außerhalb der Hauptlastzeiten heruntergeladen werden sollen; ein Cachespeicher- Speicherprogramm, das vom Prozessor ausgeführt wird, um Herunterlade-Anforderungen an die Kommunikationsverbindung auf der Grundlage der Liste von Websites einzuleiten und um heruntergeladene Daten zu empfangen, die im Cachespeicher für ein Offline-Browsing gespeichert sind; und ein Fairnessrichtlinien-Steuerprogramm, das vom Prozessor ausgeführt wird, welches viele HTTP GET Anforderungen an das Cachespeicher-Steuerprogramm ausgibt, um sicherzustellen, dass jede der Websites auf der Liste eine Gelegenheit hat, Inhalt während einer vorgegebenen Herunterladesitzung beizusteuern.
  • Somit kann die Nutzung einer Kommunikationsverbindung zwischen einem Web-Gerät und den Servern des World Wide Web optimiert werden, indem die Cachespeicherung von Web-Daten außerhalb der Hauptlastzeiten, wenn der Zugriff des Client auf das Netzwerk beschränkt ist, verbessert wird, indem sichergestellt wird, dass die Verbindung zwischen einem Web-Client und einem oder mehreren Web-Servern in ihrer maximalen Bandbreite während solch einer zeitlich begrenzten Browsing-Sitzung außerhalb der Hauptlastzeiten genutzt wird. Dies stellt eine Verbesserung der Funktionalität der Offline-Browsingprogramme dar, um die begrenzten Kommunikationsressourcen effizienter zu nutzen, und hilft dabei, die maximale Ausnutzung des Web-Clientmodems während der Cachespeicherung von Web-Daten außerhalb der Hauptlastzeiten vom World Wide Web des Internets sicherzustellen. Der hier beschriebene Denkansatz ermöglicht gleichberechtigtes Cachespeichern von Inhalt aus einer Vielzahl von Websites während einer automatischen Herunterladesitzung, so dass ein Anwender einen deutlichen Anteil der heruntergeladenen Daten, die er möchte, erhält, wobei jede einer Vielzahl von Websites eine Gelegenheit hat, Inhalt an einen Client während einer automatischen Herunterladesitzung zu liefern.
  • Die hier beschriebenen Verfahren sind insbesondere geeignet, ein Web-Gerät mit einer Offline-Browsing-Fähigkeit bereitzustellen, und genauer, ein effizientes Webbrowsing außerhalb der Hauptlastzeiten für eine solche Web-Client-Anwendung, z. B. ein mit einem herkömmlichen Fernseher verbundenes Datenverarbeitungssystem, zu ermöglichen.
  • Wie hier beschrieben, kann Web-Inhalt von einer Vielzahl von Web-Servern zur Lieferung an einen Web-Client abgerufen werden, der mit dem World Wide Web über eine Kommunikationsverbindung verbunden werden kann. Der Web-Client ist vorzugsweise ein Datenverarbeitungssystem, das mit einem Fernseher oder einem anderen herkömmlichen Monitor verbunden werden kann, um einen kostengünstigen Internetzugang zu ermöglichen. Zu Beginn definiert der Anwender eine Reihe von einem oder mehreren Servern, von denen Inhalt abgerufen und im Cachespeicher gespeichert werden soll. Diese Server werden vorzugsweise durch eine „Liste" von favorisierten Websites identifiziert. Ein Test wird dann durchgeführt um zu bestimmen, ob ein vorgegebener Herunterladezeitraum geendet hat. Typischerweise tritt dieser Herunterladezeitraum während einer „Ausschaltzeit", z. B. mitten in der Nacht, auf, um eine Verkehrsstörung an den Web-Serversites zu verhindern. Wenn der vorgegebene Herunterladezeitraum nicht geendet hat, wird dann ein Aktivitätsgrad für die Kommunikationsverbindung bestimmt, während Inhalt von einem oder mehreren Servern zum Cachespeicher heruntergeladen werden. Wenn der Aktivitätsgrad für die Kommunikationsverbindung geringer als ein vorgegebener Schwellenwert ist, werden zusätzliche Anforderungen nach Inhalt gemäß der sog. „Fairnessrichtlinie" an den Cachespeicher ausgegeben, die sicherstellt, dass Inhalt von so vielen Seiten wie möglich während des Herunterladezeitraums heruntergeladen werden.
  • Somit werden zum Beispiel gemäß der Fairnessrichtlinie die zusätzlichen Anforderungen nach Inhalt an die Reihe von einem oder mehreren Servern als eine Anforderung pro Server in einer geordneten Abfolge ausgegeben. Alternativ werden die zusätzlichen Anforderungen nach Inhalt an die Reihe von einem oder mehreren Servern bis zu einer vorbestimmten Anzahl von Anforderungen pro Server in einer geordneten Abfolge ausgegeben. Oder die zusätzlichen Anforderungen werden an die Reihe von einem oder mehreren Servern auf der Grundlage der Anzahl von Bytes, die von einem bestimmten Server im Cachespeicher empfangen werden, ausgegeben. Die Fairnessrichtlinie stellt sicher, das kein Server die Herunterladesitzung unter Ausschluss der anderen Server, von denen der Anwender Inhalt herunterladen möchte, dominiert. Wenn Inhalt (d. h. ein Web-Dokument) von einem bestimmten Server empfangen wird, wird es im Cachespeicher für ein Offline-Browsing gespeichert. Vor dem Speichern entfernt die Routine vorzugsweise doppelte und/oder nicht-lokale HTML-Links, so dass nachfolgende Zugriffsanforderungen auf das gleiche Dokument schneller ausgeführt werden.
  • Ein Datenverarbeitungssystem wird bereitgestellt, um einen kostengünstigen Internetzugang zu erleichtern. Das System umfasst zwei Hauptteile: eine Fernsteuereinheit und eine Basiseinheit, die mit einem Monitor verbunden werden kann, um einen Internetzugang unter der Steuerung der Fernsteuereinheit zu ermöglichen. Die Basiseinheit ist in der Tat ein Computer und umfasst ein Modem, das mit einer Kommunikationsverbindung verbunden ist, einen Prozessor, einen Speicher und verschiedene integrierte Steuerprogramme. Diese Programme umfassen ein Browserprogramm einschließlich einer Einrichtung, die auf Befehle von der Fernsteuereinheit reagiert, um eine Liste von Websites zu erzeugen, und ein Cachespeicher-Steuerprogramm zum Einleiten von Herunterladeanforderungen an die Kommunikationsverbindung auf der Grundlage der Liste der Websites. Eine Optimierungsroutine hält die maximale Nutzung des Modems während einer Herunterladesitzung aufrecht, indem mehrfache HTTP GET Anforderungen an das Cachespeicher- Steuerprogramm auf der Grundlage der Fairnessrichtlinie ausgegeben werden.
  • Verschiedene Ausführungsbeispiele der Erfindung werden nun genau anhand nur eines Beispiels unter Bezugnahme auf die nachfolgenden Zeichnungen beschrieben:
  • 1A ist eine bildliche Darstellung einer Datenverarbeitungssystemeinheit, die mit einem herkömmlichen Fernseher verbunden ist, um ein „Web-Gerät" zu bilden;
  • 1B ist eine bildliche Darstellung einer Frontkonsole der Datenverarbeitungssystemeinheit der 1A;
  • 1C ist eine bildliche Darstellung einer Rückkonsole der Datenverarbeitungssystemeinheit der 1A;
  • 1D ist eine bildliche Darstellung einer Fernsteuereinheit, die mit der Datenverarbeitungssystemeinheit der 1A verbunden ist;
  • 2 ist ein Blockdiagramm der Hauptbestandteile der Datenverarbeitungssystemeinheit;
  • 3 ist eine repräsentative Liste der „Favoriten", die von einem Anwender als Ergebnis eines Durchsuchens des World Wide Web erzeugt wird;
  • 4 ist eine repräsentative Server-URL-Ablaufliste für die Favoritenliste der 3;
  • 5 ist ein Flussdiagramm eines bevorzugten Verfahrens der vorliegenden Erfindung zum Optimieren der Kommunikationsverbindungsaktivität während einer Herunterladesitzung außerhalb der Hauptlastzeiten;
  • 6 ist ein Flussdiagramm der Prozessreaktionsroutine, die für jedes Web-Dokument durchgeführt wird, das in Reaktion auf eine URL-Anforderung empfangen wird;
  • 7 ist ein Blockdiagramm einer repräsentativen Web-Server-Plattform oder Website; und
  • 8 ist ein Flussdiagramm der Verfahren, die von einem Web-Server in Reaktion auf den Empfang einer Anforderung von einem Internet-Client, wie des hier beschriebenen Web-Geräts, ausgeführt werden.
  • Unter Bezugnahme auf die Figuren und insbesondere unter Bezugnahme auf 1A bis 1D werden nun verschiedene bildliche Darstellungen eines Datenverarbeitungssystems dargestellt. 1A ist eine bildliche Darstellung des Datenverarbeitungssystems als Ganzes. Das Datenverarbeitungssystem 100 in dem dargestellten Beispiel bietet Zugang zum Internet bei minimalen wirtschaftlichen Hardwarekosten für den Anwender. Das Datenverarbeitungssystem 100 umfasst eine Datenverarbeitungseinheit 102. Die Datenverarbeitungseinheit 102 ist vorzugsweise so bemessen, dass sie in typische Unterhaltungsgeräteanordnungen passt und bietet alle erforderlichen Funktionen, die herkömmlicherweise in PCs zu finden sind, um einem Anwender zu ermöglichen, das Internet zu durchsuchen. Zusätzlich kann die Datenverarbeitungseinheit 102 andere übliche Funktionen bereitstellen, kann z. B. als Anrufbeantworter dienen oder Faxübertragungen empfangen.
  • Die Datenverarbeitungseinheit 102 ist mit einem Fernseher 104 zur Anzeige von graphischen Informationen verbunden. Der Fernseher 104 kann jeder geeignete Fernseher sein, auch wenn Farbfernseher mit einem S-Video-Eingang bessere Darstellungen der graphischen Informationen bieten. Die Datenverarbeitungseinheit 102 kann mit dem Fernseher 104 durch eine Standard-Koaxialkabelverbindung verbunden sein. Eine Fernsteuereinheit 106 ermöglicht einem Anwender, mit der Datenverarbeitungseinheit zu kommunizieren und diese zu steuern. Die Fernsteuereinheit 106 gibt Infrarotsignale (IR) aus, vorzugsweise auf einer anderen Frequenz als die normalen Fernseher-, Stereo- und VCR-Infrarot-Fernsteuerfrequenzen moduliert, um Störungen zu vermeiden. Die Fernsteuereinheit 106 bietet die Funktionalität einer Zeigevorrichtung (wie eine Maus, Gleitpunkt, Trackball oder dergleichen) in herkömmlichen PCs, einschließlich der Möglichkeit, einen Cursor auf einer Anzeige zu bewegen und Menüpunkte auszuwählen.
  • 1B ist eine bildliche Darstellung der Frontkonsole der Datenverarbeitungseinheit 102 gemäß einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung. Die Frontkonsole umfasst ein Infrarotfenster 108 zum Empfangen von Signalen von der Fernsteuereinheit 106 und zum Übertragen von Infrarotsignalen. Die Datenverarbeitungseinheit 102 kann Infrarotsignale übertragen, die von Objekten oder Oberflächen reflektiert werden, was es der Datenverarbeitungseinheit 102 erlaubt, automatisch den Fernseher 104 und andere infrarot ferngesteuerte Geräte zu steuern. Eine Lautstärkensteuerung 110 erlaubt eine Einstellung des Geräuschpegels, der von einem Lautsprecher innerhalb der Datenverarbeitungseinheit 102 oder vom Fernseher 104 ausgegeben wird. Eine Vielzahl von Leuchtdioden-Anzeigen (LED) 112 geben einen Hinweis an den Anwender darüber, ob die Datenverarbeitungseinheit 102 eingeschaltet ist, ob der Anwender Mitteilungen hat, ob die Modem-/Telefonleitung aktiv ist oder ob die Datenverarbeitungseinheit 102 eine Inspektion benötigt.
  • 1C ist eine bildliche Darstellung der Rückkonsole der Datenverarbeitungseinheit 102 gemäß einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung. Ein isoliertes Dreileitungs-Netzkabel (Masse inbegriffen) 114 verläuft durch die Rückkonsole. Standard-Telefonbuchsen 116 und 118 auf der Rückkonsole bieten eine Eingabe zu einem Modem von der Telefonleitung und eine Ausgabe an einen Hörer (nicht gezeigt). Die Rückkonsole weist außerdem eine Standard-Computertastaturverbindung 120, einen Mausanschluss 122, einen Computermonitoranschluss 124, einen Druckeranschluss 126 und einen zusätzlichen seriellen Anschluss 128 auf. Diese Verbindungen können genutzt werden, um der Datenverarbeitungseinheit 102 zu ermöglichen, in der Art eines herkömmlichen PCs zu arbeiten. Ein Spieleanschluss 130 auf der Rückkonsole bietet eine Verbindung für einen Joystick oder eine andere Spielsteuervorrichtung (Handschuh, usw.). Eine Infrarot-Nebenstellenbuchse 132 ermöglicht, dass eine kabelgebundene Infrarot-LED verwendet werden kann, um Infrarotsignale zu übertragen. Eine Mikrophonbuchse 134 ermöglicht, dass ein externes Mikrophon mit der Datenverarbeitungseinheit 102 verbunden werden kann.
  • Eine Videoverbindung 136, ein Standard-Koaxialkabelverbinder, verbindet zum Videoeingangsanschluss des Fernsehers 104 oder einen Videokassettenrekorder (nicht gezeigt). Linke und rechte Audiobuchsen 138 verbinden zu entsprechenden Audioeingangsverbindern am Fernseher 104 oder einer Stereoanlage (nicht gezeigt). Wenn der Anwender einen S-Video-Eingang hat, dann kann die S-Video-Verbindung 140 verwendet werden, um zum Fernseher 104 zu verbinden, um ein besseres Bild als das zusammengesetzte Signal zu bieten. Wenn der Fernseher 104 keine Videoeingänge hat, kann ein externer Kanal-3/4-Modulator (nicht gezeigt) in Reihe mit der Antennenverbindung verbunden werden.
  • 1D ist eine bildliche Darstellung der Fernsteuereinheit 106 gemäß einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung. Ähnlich zu einem Standard-Telefontastenfeld, weist die Fernsteuereinheit 106 Tasten 142 mit arabischen Zahlen 0 bis 9, dem Asterisk- oder „Stern"-Symbol (*) und der Rautetaste (#) auf. Die Fernsteuereinheit umfasst außerdem eine „TV"-Taste 144 zum wahlweisen Ansehen von Fernsehsendungen und eine „Web"-Taste 146 zum Einleiten des Durchsuchens des Internets. Das Drücken der „Web"-Taste 146 verursacht, dass die Datenverarbeitungseinheit 102 einen Modemverbindungsaufbau zum Internetservice-Provider des Anwenders einleitet und den Startbildschirm für einen Internet-Browser anzeigt. Der Browser umfasst ein Merkmal „Favoriten" oder „Lesezeichen", das es dem Betrachter ermöglicht, den Uniform Resource Locator (URL) für diejenigen Websites, die der Anwender wieder besuchen möchte, aufzuzeichnen.
  • Eine Zeigevorrichtung 147, die vorzugsweise ein Trackpoint oder eine Tastenzeigevorrichtung ist, ist auf der Fernsteuereinheit 106 enthalten und ermöglicht einem Anwender, einen Cursor auf der Anzeige des Fernsehers 104 zu betätigen. Tasten „Vor" und „Zurück" 148 bzw. 150 ermöglichen einem Anwender, eine Option auszuwählen oder zu einer vorherigen Auswahl zurückzukehren. Die Taste „Hilfe" 151 veranlasst, dass kontextbezogene Hilfe angezeigt oder anderweitig bereitgestellt wird. Die Taste „Menü" 152 veranlasst, dass ein kontextbezogenes Menü von Optionen angezeigt wird, und die Taste „Aktualisieren" 153 aktualisiert die angezeigten Optionen auf der Grundlage der Eingabe des Anwenders, während die Taste „Ausgangsposition" 154 dem Anwender ermöglicht, zu einer Standardanzeige der Optionen zurückzukehren. Eine der Optionen ist die Favoriten- oder Lesezeichenliste. Eine repräsentative Liste ist in 3 als ein Pulldown-Menü 155 auf dem Fernsehschirm gezeigt. Tasten „PgUp" (Seite aufwärts) und „PgDn" (Seite abwärts) 156 und 158 ermöglichen dem Anwender, den Kontext der Anzeige in anzeigefenstergroßen Blöcken statt durch Bildschirmrollen zu verändern. Die Taste „Nachricht" 160 ermöglicht dem Anwender, Nachrichten abzurufen.
  • Zusätzlich zu, oder statt der Fernsteuereinheit 106 kann eine Infrarottastatur (nicht gezeigt) mit einer integrierten Zeigevorrichtung verwendet werden, um die Datenverarbeitungseinheit 102 zu steuern. Die integrierte Zeigevorrichtung ist vorzugsweise ein Trackpoint oder eine tastenförmige Zeigevorrichtung. Eine kabelgebundene Tastatur (ebenfalls nicht gezeigt) kann ebenfalls über die Tastaturverbindung 120 verwendet werden, und eine kabelgebundene Zeigevorrichtung wie eine Maus oder ein Trackball können über den Mausanschluss 122 verwendet werden. Wenn ein Anwender die Fernsteuereinheit 106 und/oder die Infrarottastatur und/oder die kabelgebundene Tastatur und/oder die kabelgebundene Zeigevorrichtung in Betrieb hat, sperrt die aktive Vorrichtung alle anderen, bis ein vorgeschriebener Zeitraum der Inaktivität verstrichen ist.
  • Bezugnehmend auf 2 wird nun ein Blockdiagramm für die Hauptbauteile der Datenverarbeitungseinheit 102 gemäß einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung geschildert. Wie bei herkömmlichen PCs umfasst die Datenverarbeitungseinheit 102 eine Hauptplatine 202 mit einem Prozessor 204 und einem Speicher 206, der mit einem Systembus 208 verbunden ist. Der Prozessor 204 ist vorzugsweise ein Prozessor mindestens der 486-er Klasse und arbeitet bei oder über 100 MHz. Der Speicher 206 kann einen Cachespeicher und/oder einen Video-RAM enthalten. Der Prozessor 204, der Speicher 206 und der Systembus 208 arbeiten in der gleichen Weise wie die entsprechenden Bauteile in einem herkömmlichen Datenverarbeitungssystem.
  • Ein Video-/TV-Wandler 210, der auf der Hauptplatine 202 liegt und mit dem Systembus 208 verbunden ist, erzeugt Computervideosignale für Computerbildschirme, ein Composite-Fernsehsignal und ein S-Video-Signal. Die Funktionalität des Video-/TV-Wandlers 210 kann durch einen Trident TVG9685 Videochip in Verbindung mit einem Analog Devices AD722 Wandlerchip erzielt werden. Es kann sein, dass der Video-/TV-Wandler 210 das Laden von speziellen Betriebssystemgerätetreibern erfordert.
  • Eine Tastatur-/Fernsteuer-Schnittstelleneinheit 212 auf der Hauptplatine 202 empfängt Tastaturcodes über eine Steuerung 214, ungeachtet dessen, ob eine kabelgebundene Tastatur-/Zeigevorrichtung oder eine Infrarot-Tastatur/Fernsteuerung verwendet wird. Die Infrarot-Fernsteuereinheit 106 überträgt Signale, die schließlich als Steuersignale, die von den üblichen Maus- oder Zeigevorrichtungsbewegungen erzeugt werden, an den seriellen Anschluss gesandt werden. Zwei Tasten auf der Fernsteuereinheit 106 werden genau wie die zwei Tasten auf einer herkömmlichen Maus interpretiert, während die restlichen Tasten Signale entsprechend den Tastaturanschlägen auf einer Infrarot-Tastatur übertragen. Somit weist die Fernsteuereinheit 106 eine Untermenge der von einer Infrarot-Tastatur bereitgestellten Funktionen auf.
  • Verbinder/Anzeiger 216 auf der Hauptplatine 202 bieten einige der Verbindungen und Anzeigen auf der oben beschriebenen Datenverarbeitungseinheit 102. Andere Verbindungen gehören zu anderen Bauteilen und sind auf diesen zu finden. Zum Beispiel liegen die Telefonbuchsen 116 und 118 auf einem Modem 222. Die Stromanzeige innerhalb der Verbinder/Anzeiger 216 wird durch eine Steuerung 214 gesteuert.
  • Außerhalb der Hauptplatine 202 liegen in dem gezeigten Beispiel eine Stromzufuhr 218, eine Festplatte 220, ein Modem 222 und ein Lautsprecher 224. Die Stromzufuhr 218 ist eine herkömmliche Stromzufuhr, außer dass sie ein Steuersignal von der Steuerung 214 empfängt, welches die gesamte Stromzufuhr zur Hauptplatine 202, Festplatte 220 und Modem 222 abschaltet. In manchen Wiederherstellungssituationen ist das Kappen der Stromzufuhr und ein erneutes Booten das einzig sichere Verfahren, um alle diese Geräte auf einen bekannten Zustand zurückzusetzen. Somit kann die Stromzufuhr 218 in Reaktion auf ein Signal von der Steuerung 214 die Datenverarbeitungseinheit 102 herunterfahren und neu starten.
  • Die Steuerung 214 ist vorzugsweise eine oder mehrere aus der Familie der 805x-Steuerungen. Die Steuerung 214 empfängt und verarbeitet die Eingabe von der Infrarot-Fernsteuerung 106, der Infrarot-Tastatur, der kabelgebundenen Tastatur oder der kabelgebundenen Maus. Wenn eine Tastatur oder Zeigevorrichtung verwendet wird, sind alle anderen gesperrt (werden ignoriert), bis keine für einen vorgeschriebenen Zeitraum aktiv ist. Dann sperrt die erste Tastatur oder Zeigevorrichtung, die Aktivität erzeugt, alle anderen. Die Steuerung 214 steuert auch alle LED-Anzeiger außer demjenigen, der die Modemverwendung anzeigt. Als Teil des Fehlerbehebungssystems bestimmt die Steuerung 214 die Bootsektorauswahl während jedes Strom-Ein-Aus-Zyklus.
  • Die Festplatte 220 enthält das Betriebssystem und Anwendungssoftware für die Datenverarbeitungseinheit 102, welche vorzugsweise beinhaltet: IBM DOS 7.0, ein Produkt der International Business Machines Corporation in Armonk, New York; ein Betriebssystem wie Windows 3.1 (oder höher), ein Produkt der Microsoft Corporation in Redmond, Washington; und Netscape Navigator (Version 1.0 oder höher), ein Produkt der Netscape Communications Corporation in Mountain View, Kalifornien. Geringfügige Modifikationen dieser Softwarepakete können wünschenswert sein, um die Leistung der Datenverarbeitungseinheit 102 zu optimieren. Außerdem ist es äußerst wünschenswert, eine oder mehrere dieser Standardprogramme sowie andere von der vorliegenden Erfindung genutzte Software durch Herunterladen neuer Versionen des Codes über das Internet zu aktualisieren. Das Web-Gerät enthält geeignete Steuersoftware, um ein solches Herunterladen zu vereinfachen. Die Festplatte 220 speichert außerdem Daten, wie die Liste der bevorzugten Internetseiten oder ungelesene heruntergeladene Daten von einer oder mehreren Internetseite(n). Ein Cachespeicher-Steuerprogramm 225, das vom Prozessor ausgeführt wird, wird verwendet, um diese heruntergeladenen Daten zu verwalten und zu handhaben, wie später beschrieben wird.
  • Das Modem 222 kann jedes geeignete Modem sein, das in herkömmlichen Datenverarbeitungssystemen verwendet wird, ist aber vorzugsweise ein 33,6 kbps Modem, das V.42bis, V.34, V.17 Fax, MNP 1–5 und AT-Befehle unterstützt. Um die geringe Höhe des Datenverarbeitungssystems 102 beizubehalten, ist das Modem 222 vorzugsweise in einen Schlitz eingesetzt, der seitlich auf der Hauptplatine 202 befestigt ist. Das Modem 222 ist mit einer physikalischen Kommunikationsverbindung 227 verbunden, welche wiederum mit dem World Wide Web des Internets (nicht gezeigt) verbunden ist oder verbunden werden kann. Wie gut bekannt ist, ist das World Wide Web das Multimedia-Informationsabrufsystem des Internets auf der Grundlage des Hypertext Transfer Protocol (HTTP), welches den Anwendern Zugriff auf Dateien unter Verwendung von Hypertext Markup Language (HTML) ermöglicht. Ein Verbindungsaktivitäts-Überwachungsgerät 229 bestimmt das Ausmaß, in dem die Kommunikationsverbindung 227 zu einem vorgegebenen Zeitpunkt genutzt wird. Das Verbindungsaktivitäts-Überwachungsgerät kann eine hardware-basierte Steuerung oder eine Softwareanwendung sein, die vom Prozessor ausgeführt wird.
  • Ein Web-Server, manchmal als Website bezeichnet, unterstützt Hypertext-Dokumente in Verzeichnissen und Dateien, auf die über den Uniform Resource Locator zugegriffen werden kann. Typischerweise werden alle Hypertext-Dokumente, die auf einer bestimmten Website verfügbar sind, als Teil der gleichen Domain betrachtet (z. B. www.Domainname.com). Seiten, die lokal auf der Domain sind, werden üblicherweise durch einen jeweiligen Verweis identifiziert, der einen Bezug auf einen Pfad und/oder Dateinamen innerhalb der Domain darstellt, z. B. www.Domainname.com/Pfad/html1. Ein beispielhafter Web-Server ist in 7 unten dargestellt.
  • Die Fachleute auf dem Gebiet werden erkennen, dass die in 1A bis 1D und 2 dargestellten und oben beschriebenen Bauteile für spezielle Anwendungen oder Ausführungsbeispiele variiert werden können.
  • Es ist wünschenswert, einem Anwender des Datenverarbeitungssystems zu ermöglichen, das Web „offline" zu durchsuchen. Diese Funktion wird von der Cachespeicher-Steuerung 225 bereitgestellt. Die Cachespeicher-Steuerung kann ein Teil einer dedizierten Hardware sein, oder sie kann ein Anwendungsprogramm sein, das vom Prozessor ausgeführt wird. In dem bevorzugten Ausführungsbeispiel ist die Cachespeicher-Steuerung 225 als ein Softwareprogramm implementiert, das über Internet-Downloads aktualisiert werden kann.
  • Wie oben erwähnt, kann ein Betrachter während einer oder mehrerer Online-Durchsuchsitzungen eine Liste von „Favoriten"- oder „Lesezeichen"-Websites zusammenstellen, die er erneut besuchen möchte. Die gesamte Liste oder irgendein Bereich dieser Liste kann auch für einen Offline-Zugriff ausgelegt sein, so dass der Inhalt dieser Seiten heruntergeladen und in einem dedizierten Cachespeicher der Festplatte für ein späteres Ansehen, vorzugsweise Offline, gespeichert werden kann. Das Cachespeicher-Steuerprogramm umfasst somit eine Steuervorrichtung 231 (vorzugsweise in der Software implementiert, die vom Prozessor ausgeführt wird) zum Steuern des Modems 222, um sich einzuwählen und automatisch mit den Internetseiten zu verbinden (d. h. jede Nacht, während das Gerät unbeaufsichtigt ist). Wie in 4 gezeigt, ist jede Favoriten-Website mit einer Server-URL-Ablaufliste 235 verbunden. Eine Server-URL-Ablaufliste 235 ist eine Datenstruktur, welche die URL der Website wie auch eine oder mehrere HTML-Verweise, die von der Seite abzweigen (d. h. innerhalb dieser liegen) identifiziert. Vorzugsweise beinhaltet die Server-URL-Ablaufliste 235 nur relative Verweise, auch wenn dies nicht in allen Ausführungsbeispielen der Fall sein muss. Außerdem ist, auch wenn die Ablaufliste 235 als ein dedizierter Bereich des Speichers 206 gezeigt ist, dies keine Voraussetzung, da die Ablaufliste eine verbundene Liste oder jede andere geeignete Datenstruktur sein kann.
  • In einem repräsentativen Ausführungsbeispiel hat der Anwender nicht die Möglichkeit, den Zeitraum, während dem das Gerät Inhalt von einer Internetseite zwischenspeichert, festzulegen; stattdessen ist dieser Zeitraum vom Netzwerkserviceprovider vorbestimmt. Im Allgemeinen ist dieser Zeitraum begrenzt, z. B. auf eine (1) Stunde pro Nacht. Deshalb enthält das Cachespeicher-Steuerprogramm 225 auch eine Optimierungsroutine, um sicherzustellen, dass das Modem 222 während des begrenzten Zeitraums, in dem Internetseiten auf der Festplatte 220 zwischengespeichert werden können, seine maximale Leistungsfähigkeit nutzt. Außerdem umfasst die Optimierungsroutine eine „Lastausgleichsfunktion", um sicherzustellen, dass Inhalt, der von den Server-URL-Ablauflisten identifiziert wurde, während des Herunterladezeitraums gerecht zwischengespeichert wird. Wie zu sehen sein wird, ermöglicht dies dem Betrachter, einen deutlichen Anteil der heruntergeladenen Daten, die er wünscht, zu erhalten.
  • Diese Optimierungsroutine wird nun unter Bezugnahme auf das Flussdiagramm der 5 beschrieben. Die grundlegende Verarbeitung der Routine beginnt bei Schritt 250 mit einem Test, um zu bestimmen, ob es an der Zeit ist, den Prozess zu stoppen, d. h. ob der vorbestimmte Herunterladezeitraum verstrichen ist. Wie oben diskutiert, ist dieser Herunterladezeitraum in einem beispielhaften Ausführungsbeispiel eine (1) Stunde, auch wenn anzuerkennen ist, dass andere Zeiträume ebenfalls verwendet werden können. Dieser Zeitraum kann wahlweise eingestellt werden, falls gewünscht, aber normalerweise nicht vom Anwender. Wenn das Ergebnis des Tests in Schritt 250 positiv ist, ist die grundlegende Verarbeitungsroutine in Schritt 252 vollendet. Wenn mehr Zeit verfügbar ist, dann geht die Routine weiter zu Schritt 254, um die Aktivität auf der Kommunikationsverbindung 227, mit der das Modem 222 verbunden ist, abzufragen. Schritt 254 bestimmt, durch Empfangen von Informationen von dem Verbindungsaktivitäts-Überwachungsgerät 229, wie viel „Bandbreite" seit einem letzten Schritt oder Zyklus (der Routine) genutzt wird. Die Routine geht dann weiter zu Schritt 256, um zu testen, ob die gemessene Verbindungsaktivität einige der Kriterien der Hochbelastungsnutzung erfüllt.
  • Wie oben erläutert, ist es ein Ziel der vorliegenden Erfindung, den Herunterladedurchsatz zum Cachespeicher während des Herunterladezeitraums zu maximieren. Die Kriterien der Hochbelastungsnutzung sind im Allgemeinen von Bedingungen auf der Kommunikationsverbindung, der Art des Modems oder solch anderen Kriterien, wie sie vorbestimmt oder definiert werden können, abhängig. Somit kann zum Beispiel ein Kriterium der Hochbelastungsnutzung durch eine durchschnittliche Verbindungsnutzung für einen überwachten Zeitraum, die um ein vorab festgelegtes Limit zwischen 0–100% überschritten wird, definiert werden. Oder ein Kriterium der Hochbelastungsnutzung kann auf einer vordefinierten Begrenzung der Anzahl von ausstehenden HTTP GET Anforderungen basieren, die vom Cachespeicher-Manager zum Netzwerk ausgegeben werden. Eine vorgegebene Anforderung HTTP GET wird verwendet, um ein Herunterladen von Inhalt von einer vorgegebenen Website anzufordern. Somit kann ein Kriterium der Hochbelastungsnutzung zum Beispiel so definiert sein, dass es umfasst: nicht weniger als insgesamt N ausstehende Anforderungen HTTP GET, nicht mehr als insgesamt M ausstehende GET Anforderungen (M > N) usw. Es ist anzuerkennen, dass andere geeignete Kriterien der „Hochbelastungsnutzung" ebenfalls im Vergleich bei Schritt 256 verwendet werden können.
  • Wenn die Verbindungsaktivität die Kriterien der Hochbelastungsnutzung erfüllt, dann wird das Modem 222 mit seiner maximalen Leistungsfähigkeit genutzt. Dadurch ist das Ergebnis des Tests bei Schritt 256 positiv und die Routine macht eine Schleife zu Schritt 258, was als eine Verzögerung angezeigt wird. Dieses Kästchen zeigt an, dass keine weiteren Anforderungen nach Inhalt vorgelegt wurden. Die Routine kehrt dann zu Schritt 250 zurück, wie vorher beschrieben wurde.
  • Wenn jedoch die Verbindungsaktivität die Kriterien der Hochbelastungsnutzung nicht erfüllt, dann wird das Modem in der Tat nicht mit seiner maximalen Leistungsfähigkeit genutzt. Dies ist ein negatives Ergebnis des Tests bei Schritt 256. Dadurch geht die Routine weiter zu Schritt 260, um eine weitere URL von einer Server-URL-Ablaufliste zu erhalten. Die genaue Art und Weise, wie dies erreicht wird, wird nachfolgend beschrieben, aber es ist anzuerkennen, dass dies eine Ausgleichsfunktion beinhaltet, um sicherzustellen, dass Inhalt, der von der Server-URL-Ablaufliste bzw. den Listen 235 identifiziert wurde, gerecht während der Sitzung zwischengespeichert wird. In Schritt 262 wird ein Test durchgeführt, um zu bestimmen, ob eine URL von einer Ablaufliste erhalten wurde. Wenn nicht, geht die Routine bei Schritt 263 mit einem Test weiter, ob die Gesamtanzahl der ausstehenden Anforderungen größer als 0 ist. Wenn das Ergebnis des Tests bei Schritt 263 positiv ist, dann kehrt die Routine zum Pfad der Verzögerung 258 zurück und wird zurückgeführt. Wenn das Ergebnis des Tests bei Schritt 263 negativ ist, was bedeutet, dass keine weiteren ausstehenden Anforderungen vorhanden sind, ist die Routine erledigt und endet. Dieses Ergebnis würde zum Beispiel auftreten, wenn keine nicht bedienten URLs mehr auf irgendeiner Server-URL-Ablaufliste vorhanden sind. Wenn eine URL in Schritt 260 erhalten wurde, ist das Ergebnis des Tests bei Schritt 262 positiv und die Routine geht weiter zu Schritt 264, um die URL-Anforderung der Cachespeicher-Steuerung vorzulegen. Auch wenn es hier nicht im Detail beschrieben ist, sollte anerkannt werden, dass die Cachespeicher-Steuerung dann die Anforderung in einer bekannten Weise verarbeitet, um den Herunterladevorgang einzuleiten. Die Routine geht dann weiter zu Schritt 266, um einen Zähler der Anzahl von ausstehenden Anforderungen heraufzusetzen. Diese Anzahl kann eine Gesamtzahl für alle Sitzungen oder eine Zahl pro Server-URL-Ablaufliste oder beides sein. Nach Schritt 266 kehrt die Routine wieder über die Verzögerungsschleife zurück und läuft erneut durch, bis das Ergebnis des Tests bei Schritt 250 anzeigt, dass die Herunterladesitzung beendet ist.
  • Es ist anzuerkennen, dass das in 5 gezeigte Flussdiagramm nur repräsentativ für den Verarbeitungsablauf ist. Der dargestellte genaue Ablauf ist nicht gedacht, als Einschränkung betrachtet zu werden. So kann zum Beispiel der Schritt des Erhaltens einer URL (gezeigt als Schritt 260) ausgeführt werden, bevor die Verbindungsaktivität (in Schritt 254) abgefragt wird, usw.
  • Gemäß einem Merkmal des bevorzugten Ausführungsbeispiels ist es wünschenswert, einen „Lastausgleich" der von den „Favoriten"-Websites heruntergeladenen Inhalten durchzuführen, so dass der Anwender einen so breiten Bereich von Inhalten, wie es während des beschränkten Herunterladezeitraums möglich ist, erhält.
  • Somit beeinträchtigen langsame oder (auch während der Stunde außerhalb der Hauptlastzeit) besetzte Web-Server den Herunterladevorgang nicht. Dies wird durch Implementieren einer sog. „Fairnessrichtlinie" während des Herunterladevorgangs erzielt. In dem bevorzugten Ausführungsbeispiel bedeutet dies, dass jeder Server auf der Favoritenliste eine Gelegenheit hat, Inhalt an den Client während der Herunterladesitzung zu liefern. Insbesondere wird für diesen Zweck eine Richtlinie implementiert, die so ausgelegt ist, dass ein gerechtes Zwischenspeichern des Inhalts, der von einer oder mehreren Server-URL-Ablauflisten 235 identifiziert wurde, erreicht wird. Diese besondere Richtlinie kann so einfach wie eine „Ring"-Richtlinie sein, bei der eine bestimmte URL von jeder Server-URL-Ablaufliste entnommen wird (in einer FIFO-Reihenfolge), ungeachtet der Anzahl der relativen Verweise innerhalb einer bestimmten Ablaufliste. Somit wird zum Beispiel während einer ersten Wiederholung des oben beschriebenen Schritts 260 die erste URL aus der ersten Server-URL-Ablaufliste entnommen. Bei der nächsten Wiederholung, wird die erste URL aus der zweiten Server-URL-Ablaufliste entnommen, usw. Alternativ kann die Richtlinie mit einer bestimmten Server-URL-Ablaufliste beginnen, aber dann die Anzahl der ausstehenden Anforderungen pro Server begrenzen, bevor Anforderungen an andere Server verwendet werden. In diesem Beispiel würde die Fairnessrichtlinie festlegen, dass „niemals mehr als x ausstehende Anforderungen pro Server" verwendet werden. Somit würde die ersten x URLs (welche die Homepage und x-1 relative Verweise enthalten würden) von der ersten Server-URL-Ablaufliste entnommen, bevor die URLs von einer zweiten Server-URL-Ablaufliste verwendet würden, usw. Die in der vorliegenden Erfindung beanspruchte Fairnessrichtlinie basiert auf der Gesamtzahl an Bytes, die von einem bestimmten Server empfangen wird, ungeachtet der Anzahl von URL-Anforderungen, die von einer bestimmten Server-URL-Ablaufliste erzeugt wurden. Auf diese Weise kann die Richtlinie die Gesamtanzahl an Bytes, die von einem bestimmten Server zwischengespeichert wird, begrenzt werden. Ein weiterer Ansatz im Hinblick auf Fairness wäre es, die Verbindungstiefe von Dokumenten, die von einem bestimmten Server abgerufen werden, zu begrenzen. Eine Verbindungstiefenbegrenzung würde sicherstellen, dass eine Seite mit einer großen Anzahl von verschachtelten oder integrierten Verweisen den Herunterladevorgang nicht unnötigerweise so beeinflusst, dass andere Server ausgeschlossen werden. Noch ein weiterer Ansatz wäre, bestimmte Arten von Seiten auf der Favoritenliste zu identifizieren und solche Seiten als letzte zu bedienen, da sie ansonsten zu viel vom Herunterladezyklus belegen würden. Somit könnte zum Beispiel eine Verzeichnisseite (mit Tausenden von Verweisen) identifiziert werden und an das Ende der Serviceliste gesetzt werden, um sicherzustellen, dass andere Seiten ihre Chance erhalten, zum Herunterladevorgang beizutragen.
  • Natürlich werden die Fachleute anerkennen, dass die obigen Beispiele sich nicht gegenseitig ausschließen. Eines oder mehrere dieser Beispiele können kombiniert werden, um eine noch genauere Abstimmung der genauen Menge an Inhalt, der von jeder der Favoritenseiten während der Herunterladesitzung zwischengespeichert wird, zu erhalten. Das Ergebnis dieses Ansatzes des Lastausgleichs ist, das jeder Server zumindest eine theoretische und praktische Gelegenheit hat, Inhalt beizusteuern; der Anwender erhält somit einen deutlichen Anteil der angeforderten Favoritenseiten, auch wenn mancher bestimmter Inhalt während der tatsächlichen Sitzung nicht heruntergeladen werden kann. Dies ist jedoch normalerweise kein Problem, da der Cachespeicher üblicherweise eine Kopie (wenn auch möglicherweise nicht aktuell) des bestimmten Inhalts aufbewahrt, der es während einer bestimmten Herunterladesitzung nicht in den Cachespeicher geschafft hat. Somit hat der Betrachter immer noch eine „komplette" Version der Favoritenseite und der Lastausgleichsvorgang stellt sicher, dass er einen breiteren Umfang auf der Gesamtliste erhalten wird.
  • Bezugnehmend auf 6 ist nun ein Flussdiagramm der Prozessreaktionsroutine gezeigt, die für jede GET-Anforderung, die dem Netzwerk vom Cachespeicher-Manager in Schritt 264 der 5 vorgelegt wird, ausgeführt wird. Sie beginnt in Schritt 270 durch Heruntersetzen des Zählers der Anzahl von ausstehenden Anforderungen, da die bestimmte Anforderung an das Netzwerk zur Bearbeitung geliefert wurde. In Schritt 272 wird ein Test durchgeführt, um zu bestimmen, ob ein Zeitraum für eine bestimmte Anforderung, ohne dass das Dokument empfangen wurde, verstrichen ist. Wenn die Reaktion auf den Test in Schritt 272 negativ ist, wurde das Dokument empfangen und die Routine geht weiter zu Schritt 274, um die Dokumentverweise zu parsen. Auch wenn dies nicht als Einschränkung zu verstehen ist, werden während dieses Schritts doppelte URLs oder Verweise, die bereits besucht wurden, aus dem Dokument entfernt und somit nicht zur Server-URL-Ablaufliste zurückgeführt. Zusätzlich werden nicht lokale Verweise (außer eventuell Bildern, z. B. .gif oder .jpeg-Dateien) ebenfalls vom Dokument entfernt. Die Entfernung solcher Verweise stellt sicher, dass eine effizientere Verarbeitung des Dokuments während der nächsten Herunterladesitzung, die das Dokument beinhaltet, erreicht werden kann. Auch wenn die obige Verarbeitung wünschenswert ist, können andere Arten intelligenter Verarbeitung an den zurückgeführten Dokumenten angewandt werden. So kann der Schritt zum Beispiel einen Befehl enthalten, um einer bestimmten Art von Zeichenfolge zu folgen oder die Verbindungstiefe des Dokuments begrenzen, oder um eine Byte-Zählerbegrenzung anzuwenden, usw. Die bestimmte Art der intelligenten Verarbeitung ist in keiner Weise beschränkt und jede Technik, die nützlich sein kann, um den nachfolgenden Herunterladevorgang zu vereinfachen, kann angewandt werden. Nach Schritt 274 ist die Routine erledigt.
  • Wenn das Ergebnis des Tests in Schritt 272 positiv ist, was anzeigt, dass das Dokument in Reaktion auf die ursprüngliche Anforderung noch nicht empfangen wurde, geht die Routine weiter zu Schritt 276, um zu testen, ob ein Wiederholungszähler eine vorbestimmte Anzahl von Malen abgelaufen ist. Wenn ja, endet die Routine. Wenn nicht, geht die Routine weiter zu Schritt 278, um die Anforderung erneut am Beginn ihrer bestimmten Server-URL-Ablaufliste einzureihen und den Wiederholungszähler für diese bestimmte Anforderung heraufzusetzen. Durch Einordnen der URL-Anforderung am Beginn der Server-URL-Ablaufliste hat diese eine bessere Chance, schnell erneut bedient zu werden (abhängig natürlich von der bestimmten Fairnessrichtlinie, die implementiert wurde). Nach Schritt 278 endet der Vorgang.
  • Wenn man sich nun 7 zuwendet, ist ein Blockdiagramm einer repräsentativen Webserver-Plattform gezeigt, welche das Herunterladen von Inhalt zum Web-Client unterstützt. Diese Plattform ist repräsentativ für eine Website. Die Plattform 312 umfasst einen IBM RS/6000 Computer 318 (eine Workstation mit verringertem Befehlssatz), auf dem das Betriebssystem AIX 320 (Version 4.1 oder höher) und ein Webserverprogramm 322, wie z. B. Netscape Enterprise Server Version 2.0, läuft, welches die Schnittstellenerweiterungen unterstützt. Die Plattform 312 umfasst außerdem eine graphische Benutzerschnittstelle (GUI) 324 für die Verwaltung und Handhabung. Die verschiedenen Modelle der Computer auf RISC-Basis sind in vielen Veröffentlichungen der IBM Corporation beschrieben, zum Beispiel RISC System/6000, 7013 und 7016 POWERstation und POWERserver Hardware Technical Reference, Bestellnummer SA23-2644-00. Das AIX-Betriebssystem wird in AIX Operating System Technical Reference, veröffentlicht von IBM Corporation, erste Ausgabe (November 1985), und anderen Veröffentlichungen beschrieben. Während die obige Plattform nützlich ist, können andere geeignete Hardware-/Betriebssystem-/Webserver-Kombinationen verwendet werden.
  • Der Web-Server akzeptiert eine Client-Anforderung und gibt eine Rückantwort. Die Funktion des Servers 322 wird von einer Anzahl von Serveranwendungsfunktionen (SAFs) geregelt, von denen jede so ausgelegt ist, dass sie in einem bestimmten Schritt einer Abfolge ausgeführt werden. Diese Abfolge, dargestellt in 8, beginnt mit der Autorisierungsübersetzung (AuthTrans) 330, während der der Server jede Autorisierungsinformation, die der Client gesendet hat, in einen Anwender und eine Gruppe übersetzt. Wenn nötig, kann der AuthTrans-Schritt eine Mitteilung entschlüsseln, um die tatsächliche Client-Anforderung zu erhalten. In Schritt 332, genannt Namensübersetzung (NameTrans), wird die mit der Anforderung verbundene URL intakt gelassen oder sie kann in einen systemabhängigen Dateinamen, eine Umlenkungs-URL oder eine spiegelseitige URL übersetzt werden. In Schritt 334, genannt Pfadüberprüfung (PathCheck), führt der Server verschiedene Tests an dem sich ergebenden Pfad durch, um sicherzustellen, dass der vorgegebene Client das Dokument abrufen darf. In Schritt 336, manchmal als Objekttypen bezeichnet (ObjectType), werden Informationen (z. B. text/html, Bild/gif, usw.) vom Typ MIME (Multipurpose Internet Mail Extension) für das vorgegebene Dokument identifiziert. In Schritt 338, genannt Service (Service), wählt die Web-Serverroutine eine interne Serverfunktion, um das Ergebnis an den Client zurückzusenden. Diese Funktion kann die normale Serverserviceroutine (um eine Datei zurückzugeben), einige andere Serverfunktionen (wie ein Programm, um ein Kundendokument zurückzusenden) oder ein CGI-Programm ausführen. Unser Hauptaugenmerk gilt hier der Situation, wenn die Serverfunktion ein CGI-Programm ausführt, das auf dem Web-Server resident ist. In Schritt 340, genannt Protokoll hinzufügen (AddLog), werden Informationen über die Transaktion aufgezeichnet. In Schritt 342, genannt Fehler (Error), antwortet der Server dem Client, wenn er einen Fehler entdeckt. Genauere Einzelheiten dieser Funktionen sind im Web Server Programmer's Guide von Netscape, Kapitel 5, zu finden.
  • Somit beinhaltet der Web-Server eine bekannte Reihe von Serveranwendungsfunktionen (SAFs). Diese Funktionen nehmen die Anforderung des Client und andere Konfigurationsdaten des Servers als Eingabe und geben eine Antwort an den Server als Ausgabe zurück. Nochmals bezugnehmend auf 7 umfasst der Web-Server außerdem eine Anwendungsprogrammschnittstelle (API) 326, welche Erweiterungen bereitstellt, die den Anwendungsentwicklern ermöglichen, deren Kernfunktionalität (nämlich die SAFs) durch Softwareprogramme, die allgemein als „Plug-In" bezeichnet werden, zu erweitern und/oder an die Kundenwünsche anzupassen.
  • In dem bevorzugten Ausführungsbeispiel umfasst die Optimierungsroutine einen Satz von Befehlen (Programmcode) in einem Codemodul, das im Speicher des Prozessors des Datenverarbeitungssystems resident ist. Alternativ kann die Routine ein Programmcode sein, der im RAM eines Computers resident ist. Bis er vom Computer benötigt wird, kann der Befehlssatz in einem anderen Computerspeicher gespeichert sein, zum Beispiel im Festplattenlaufwerk oder in einem entfernbaren Speicher, wie eine optische Disk (zur letztendlichen Verwendung in einem CD-ROM) oder eine Diskette (zur letztendlichen Verwendung in einem Diskettenlaufwerk), oder kann über das Internet oder ein anderes Computernetzwerk heruntergeladen werden. Wenn der Code elektronisch geliefert wird, soll ein Computerprogrammprodukt die Programmdaten (elektronisch geliefert) umfassen, die im Substrat eines computerlesbaren Speichermediums, wie Festplatte, Diskette oder andere herkömmliche Speichermedien, gespeichert sind. Zusätzlich würde ein Fachmann auf dem Gebiet erkennen, dass, auch wenn die verschiedenen beschriebenen Verfahren in geeigneter Weise in einem Mehrzweckcomputer implementiert sind, der wahlweise durch Software aktiviert oder neu konfiguriert wird, diese Verfahren auch in der Hardware, der Firmware oder in stärker spezialisierten Vorrichtungen ausgeführt werden können, die konstruiert wurden, um die erforderlichen Verfahrensschritte durchzuführen.
  • Es ist anzuerkennen, dass der hier beschriebene Client jeder geeignete Computer oder jede andere Vorrichtung sein kann, der/die direkt oder indirekt in jeder bekannten oder später entwickelten Weise mit einem Computernetzwerk, wie dem Internet, Intranet, Extranet usw. verbunden ist oder verbunden werden kann, und das oben beschriebene Datenverarbeitungssystem repräsentieren kann, alleine oder in Kombination mit einem Fernseher oder einem anderen Gerät.
  • Auch wenn die Erfindung im Hinblick auf ein bevorzugtes Ausführungsbeispiel in einer bestimmten Umgebung beschrieben wurde, werden die Fachleute auf dem Gebiet erkennen, dass viele Modifikationen, Variationen in Hardware- und Betriebssystemarchitektur usw. möglich sind. So kann zum Beispiel der hier beschriebene Mechanismus in geeigneter Weise als Plug-In in ein herkömmliches Browser-Programm, das auf einem PC läuft, implementiert werden. Außerdem können der bevorzugte Prozessablauf und die Schritte geändert werden. So ist es zum Beispiel nicht erforderlich, dass der Prozess während einer zeitgebundenen Herunterlade- oder Zwischenspeichersitzung abläuft. Die Optimierungstechnik kann in geeigneter Weise bei jedem Internet-Client angewandt werden, der Inhalt von einer Vielzahl von Servern gemäß einer Fairnessrichtlinie zwischenspeichern möchte, wobei jeder der Server eine Gelegenheit hat, zu den heruntergeladenen Daten beizutragen.

Claims (18)

  1. Verfahren zum Abrufen eines Inhalts zur Lieferung an einen Client (100), der über eine Kommunikationsverbindung (227) mit einen Netzwerk verbunden werden kann, wobei der Client einen Cachespeicher, ein Cachespeicher-Steuerprogramm und ein Richtlinien-Steuerprogramm umfasst, wobei das Verfahren die Schritte umfasst: (c) Definieren einer Reihe von Servern einschließlich einer Vielzahl von Servern, von denen Inhalt abgerufen und in dem Cachespeicher gespeichert werden soll; (d) Bestimmen (254) eines Aktivitätsgrads für die Kommunikationsverbindung, während Inhalt von den Servern zum Cachespeicher heruntergeladen wird; und (e) wenn der Aktivitätsgrad für die Kommunikationsverbindung unter einem Schwellenwert ist, Ausgeben (260) von zusätzlichen Anforderungen nach Inhalt durch das Richtlinien-Steuerprogramm an das Cachespeicher-Steuerprogramm und vom Cachespeicher-Steuerprogramm an die Server gemäß einer Fairness-Richtlinie auf der Grundlage der Anzahl von Bytes, die von einem bestimmten Server im Cachespeicher empfangen werden, so dass jeder der Server der Reihe eine Gelegenheit hat, Inhalt an den Client zu liefern.
  2. Verfahren nach Anspruch 1, wobei die zusätzlichen Anforderungen nach Inhalt an die Reihe von Servern als eine Anforderung pro Server in einer geordneten Abfolge ausgegeben werden.
  3. Verfahren nach Anspruch 1, wobei die zusätzlichen Anforderungen nach Inhalt an die Reihe von Servern bis zu einer vorbestimmten Anzahl von Anforderungen pro Server in einer geordneten Abfolge ausgegeben werden.
  4. Verfahren nach einem der vorhergehenden Ansprüche, wobei die zusätzlichen Anforderungen nach Inhalt an die Reihe von Servern auf der Grundlage von vorbestimmten Parametern ausgegeben werden.
  5. Verfahren nach Anspruch 4, wobei die vorbestimmten Parameter eine Verbindungstiefe eines auf einem bestimmten Server liegenden Dokuments umfassen.
  6. Verfahren nach einem der vorhergehenden Ansprüche, ferner umfassend den Schritt der Verarbeitung des Inhalts, der von einem Server empfangen wurde, um doppelte Verbindungen zu entfernen.
  7. Verfahren nach einem der vorhergehenden Ansprüche, ferner umfassend den Schritt der Verarbeitung des Inhalts, der von einem Server empfangen wurde, um nicht-lokale Verbindungen zu entfernen.
  8. Verfahren nach einem der vorhergehenden Ansprüche, wobei der Schwellenwert der Kommunikationsverbindung eine vorgegebene Anzahl von ausstehenden Anforderungen nach Inhalt ist.
  9. Verfahren nach einem der Ansprüche 1 bis 7, wobei der Schwellenwert der Kommunikationsverbindung mit einer Durchschnittsverbindungs-Nutzungsrate für ein vorgegebenes überwachtes Intervall zusammenhängt.
  10. Verfahren nach einem der vorhergehenden Ansprüche, wobei der Inhalt während eines vorbestimmten Zeitraums in den Cachespeicher heruntergeladen wird.
  11. Verfahren nach Anspruch 10, ferner umfassend den zusätzlichen Schritt des Bestimmens (250), ob ein vorgegebener Zeitraum zum Herunterladen geendet hat, wobei der Schritt des Bestimmens eines Aktivitätsgrads für die Kommunikationsverbindung durchgeführt wird, wenn der vorgegebene Zeitraum nicht geendet hat; und wobei die zusätzlichen Anforderungen nach Inhalt an das Cachespeicher-Steuerprogramm ausgegeben werden, so dass jeder der Server zumindest eine Gelegenheit hat, Inhalt an den Client während des vorgegebenen Zeitraums zum Herunterladen zu liefern.
  12. Verfahren nach Anspruch 11, wobei der vorgegebene Zeitraum zum Herunterladen wählbar ist.
  13. Verfahren nach Anspruch 11, wobei der vorgegebene Zeitraum zum Herunterladen ungefähr eine Stunde ist.
  14. Verfahren nach einem der vorhergehenden Ansprüche, wobei das Netzwerk das World Wide Web ist und der Client und die Server jeweils ein Web-Client und Web-Server sind.
  15. Computerprogrammprodukt zum Abrufen von Inhalt zur Lieferung an einen Client (100), der über eine Kommunikationsverbindung (227) mit einem Netzwerk verbunden werden kann, wobei der Client einen Cachespeicher umfasst, wobei das Computerprogramm umfasst: ein computerlesbares Speichermedium mit einem Substrat; und ein Programm, das in dem Substrat des computerlesbaren Speichermediums codiert ist, wobei das Programm Mittel zur Durchführung des Verfahrens jedes vorhergehenden Anspruchs umfasst.
  16. Computer, umfassend ein Modem (222), das mit einer Kommunikationsverbindung (227) verbunden ist; einen Prozessor (204); einen Speicher (206) mit einem Cachespeicher, einem Cachespeicher-Steuerprogramm und einem Richtlinien-Steuerprogramm; wobei der Computer umfasst: (a) Mittel zum Definieren einer Reihe von Servern einschließlich einer Vielzahl von Servern, von denen Inhalt abgerufen und in dem Cachespeicher gespeichert werden soll; (b) Mittel zum Bestimmen (254) eines Aktivitätsgrads für die Kommunikationsverbindung, während Inhalt von den Servern zum Cachespeicher heruntergeladen wird; und (c) wenn der Aktivitätsgrad für die Kommunikationsverbindung unter einem Schwellenwert ist, Mittel zum Ausgeben (260) von zusätzlichen Anforderungen nach Inhalt durch das Richtlinien-Steuerprogramm an das Cachespeicher-Steuerprogramm und vom Cachespeicher-Steuerprogramm an die Server gemäß einer Fairness-Richtlinie auf der Grundlage der Anzahl von Bytes, die von einem bestimmten Server im Cachespeicher empfangen werden, so dass jeder der Server der Reihe eine Gelegenheit hat, Inhalt an den Client zu liefern.
  17. Computer nach Anspruch 16, wobei ein Web-Browserprogramm ein Menü zum Erzeugen einer Liste von Websites umfasst, die während einer Herunterladesitzung außerhalb der Hauptlastzeiten heruntergeladen werden sollen; das Cachespeicher-Steuerprogramm Mittel zum Empfangen von heruntergeladenen Daten umfasst, die im Cachespeicher zum Offline-Browsing gespeichert sind; und das Cachespeicher-Steuerprogramm sicherstellt, dass jede der Websites auf der Liste eine Gelegenheit hat, Inhalt während einer vorgegebenen Herunterladesitzung beizusteuern.
  18. Datenverarbeitungssystem (100), umfassend eine Fernsteuereinheit (106) und eine Basiseinheit (102), die mit einem Monitor (104) verbunden werden kann, um einen Internetzugriff unter der Steuerung der Fernsteuereinheit bereitzustellen, wobei die Basiseinheit den Computer des Anspruchs 16 oder 17 umfasst.
DE69837508T 1997-02-10 1998-02-05 Verfahren zum Inhaltswiederauffinden über ein Netzwerk Expired - Lifetime DE69837508T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/797,902 US5961602A (en) 1997-02-10 1997-02-10 Method for optimizing off-peak caching of web data
US797902 1997-02-10

Publications (2)

Publication Number Publication Date
DE69837508D1 DE69837508D1 (de) 2007-05-24
DE69837508T2 true DE69837508T2 (de) 2007-12-20

Family

ID=25172061

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69837508T Expired - Lifetime DE69837508T2 (de) 1997-02-10 1998-02-05 Verfahren zum Inhaltswiederauffinden über ein Netzwerk

Country Status (6)

Country Link
US (1) US5961602A (de)
EP (1) EP0876034B1 (de)
JP (1) JP2986440B2 (de)
KR (1) KR100286497B1 (de)
DE (1) DE69837508T2 (de)
TW (1) TW499640B (de)

Families Citing this family (150)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6515968B1 (en) 1995-03-17 2003-02-04 Worldcom, Inc. Integrated interface for real time web based viewing of telecommunications network call traffic
US7447738B1 (en) * 1997-03-14 2008-11-04 International Business Machines Corporation Component download selection mechanism for web browsers
US7490169B1 (en) 1997-03-31 2009-02-10 West Corporation Providing a presentation on a network having a plurality of synchronized media types
US7503057B2 (en) * 1997-06-02 2009-03-10 Sony Corporation Client and server system
US6397387B1 (en) * 1997-06-02 2002-05-28 Sony Corporation Client and server system
US7103794B2 (en) 1998-06-08 2006-09-05 Cacheflow, Inc. Network object cache engine
JPH1165916A (ja) * 1997-08-19 1999-03-09 Hitachi Ltd ネットワーク用キャッシュ管理方法
US6473407B1 (en) 1997-09-05 2002-10-29 Worldcom, Inc. Integrated proxy interface for web based alarm management tools
JP3212921B2 (ja) * 1997-09-17 2001-09-25 シャープ株式会社 複合端末機
US6381644B2 (en) 1997-09-26 2002-04-30 Mci Worldcom, Inc. Integrated proxy interface for web based telecommunications network management
US6763376B1 (en) 1997-09-26 2004-07-13 Mci Communications Corporation Integrated customer interface system for communications network management
US6745229B1 (en) 1997-09-26 2004-06-01 Worldcom, Inc. Web based integrated customer interface for invoice reporting
US6714979B1 (en) 1997-09-26 2004-03-30 Worldcom, Inc. Data warehousing infrastructure for web based reporting tool
US6598167B2 (en) 1997-09-26 2003-07-22 Worldcom, Inc. Secure customer interface for web based data management
US6594682B2 (en) * 1997-10-28 2003-07-15 Microsoft Corporation Client-side system for scheduling delivery of web content and locally managing the web content
US6393526B1 (en) * 1997-10-28 2002-05-21 Cache Plan, Inc. Shared cache parsing and pre-fetch
US6128701A (en) * 1997-10-28 2000-10-03 Cache Flow, Inc. Adaptive and predictive cache refresh policy
US6742030B1 (en) * 1997-11-24 2004-05-25 International Business Machines Corporation Method to keep a persistent trace of weblink use per user
US6327598B1 (en) * 1997-11-24 2001-12-04 International Business Machines Corporation Removing a filled-out form from a non-interactive web browser cache to an interactive web browser cache
US6769019B2 (en) 1997-12-10 2004-07-27 Xavier Ferguson Method of background downloading of information from a computer network
US7152236B1 (en) * 1998-01-05 2006-12-19 Gateway Inc. Integration of internet sources into an electronic program database list
US6154767A (en) * 1998-01-15 2000-11-28 Microsoft Corporation Methods and apparatus for using attribute transition probability models for pre-fetching resources
US20040254913A1 (en) * 1998-01-30 2004-12-16 David Bernstein System, method and apparatus for navigating and selectively pre-caching data from a heterarchical network of databases
US6314439B1 (en) * 1998-02-06 2001-11-06 International Business Machines Corporation Computer system, program product and method of creating aliases and accessing storage locations in a computer system with same
US6061715A (en) * 1998-04-30 2000-05-09 Xerox Corporation Apparatus and method for loading and reloading HTML pages having cacheable and non-cacheable portions
EP1076871A1 (de) 1998-05-15 2001-02-21 Unicast Communications Corporation Verfahren zur implementation browser-initiierter und über das netzwerk verbreiteter werbung und zum zwischenzeitlichen anzeigen einer werbeanzeige
US6457052B1 (en) * 1998-06-23 2002-09-24 At&T Corp Method and apparatus for providing multimedia buffering capabilities based on assignment weights
US6178460B1 (en) * 1998-06-30 2001-01-23 International Business Machines Corporation Method of efficiently retrieving data on a computer network by monitoring performance of mirrored network locations
US6754697B1 (en) * 1998-06-30 2004-06-22 International Business Machines Corporation Method and apparatus for browsing and storing data in a distributed data processing system
US6189033B1 (en) * 1998-07-16 2001-02-13 Hewlett-Packard Company Method and system for providing performance guarantees for a data service system of a data access network system
US8010627B1 (en) * 1998-09-25 2011-08-30 Sprint Communications Company L.P. Virtual content publishing system
US6691165B1 (en) * 1998-11-10 2004-02-10 Rainfinity, Inc. Distributed server cluster for controlling network traffic
US6532004B1 (en) * 1999-01-06 2003-03-11 Icebox, Llc Appliances with multiple modes of operation
GB2356779B (en) * 1999-01-28 2001-12-19 Nec Corp Communication apparatus having a browser web server communication system and communtication method thereof
US6834276B1 (en) * 1999-02-25 2004-12-21 Integrated Data Control, Inc. Database system and method for data acquisition and perusal
US7468934B1 (en) 1999-07-12 2008-12-23 Ez4Media, Inc. Clock with link to the internet
US20020013852A1 (en) * 2000-03-03 2002-01-31 Craig Janik System for providing content, management, and interactivity for thin client devices
US6801949B1 (en) 1999-04-12 2004-10-05 Rainfinity, Inc. Distributed server cluster with graphical user interface
JP3451981B2 (ja) * 1999-04-30 2003-09-29 日本電気株式会社 インターネットのホームページデータ収集方法
US6633315B1 (en) 1999-05-20 2003-10-14 Microsoft Corporation Context-based dynamic user interface elements
US6567104B1 (en) * 1999-05-20 2003-05-20 Microsoft Corporation Time-based dynamic user interface elements
US6473829B1 (en) * 1999-05-28 2002-10-29 International Business Machines Corporation Data storage device providing communication between processing units
US7343412B1 (en) * 1999-06-24 2008-03-11 International Business Machines Corporation Method for maintaining and managing dynamic web pages stored in a system cache and referenced objects cached in other data stores
US6330719B1 (en) * 1999-06-30 2001-12-11 Webtv Networks, Inc. Interactive television receiver unit browser that waits to send requests
US6801966B1 (en) 1999-07-06 2004-10-05 Index Systems, Inc. Combined serial and infrared port for consumer electronic devices
WO2001002942A2 (en) * 1999-07-06 2001-01-11 Index Systems, Inc. Consumer electronic devices with upgrade capability
US6356937B1 (en) * 1999-07-06 2002-03-12 David Montville Interoperable full-featured web-based and client-side e-mail system
US8595308B1 (en) 1999-09-10 2013-11-26 Ianywhere Solutions, Inc. System, method, and computer program product for server side processing in a mobile device environment
US20010047394A1 (en) 1999-09-10 2001-11-29 Kloba David D. System, method, and computer program product for executing scripts on mobile devices
AU4674400A (en) 1999-09-10 2001-04-10 Avantgo, Inc. System, method, and computer program product for interactive interfacing with mobile devices
US7987420B1 (en) 1999-09-10 2011-07-26 Ianywhere Solutions, Inc. System, method, and computer program product for a scalable, configurable, client/server, cross-platform browser for mobile devices
US20020052781A1 (en) * 1999-09-10 2002-05-02 Avantgo, Inc. Interactive advertisement mechanism on a mobile device
US7392308B2 (en) * 1999-09-10 2008-06-24 Ianywhere Solutions, Inc. System, method, and computer program product for placement of channels on a mobile device
US6792575B1 (en) 1999-10-21 2004-09-14 Equilibrium Technologies Automated processing and delivery of media to web servers
CN1328892C (zh) * 1999-11-01 2007-07-25 松下电器产业株式会社 信息传输方法及装置
US6321265B1 (en) * 1999-11-02 2001-11-20 Altavista Company System and method for enforcing politeness while scheduling downloads in a web crawler
US7222161B2 (en) * 1999-11-24 2007-05-22 Yen Robert C Method and system for facilitating usage of local content at client machine
US7245634B2 (en) * 2000-09-27 2007-07-17 Yen Robert C Wireless internet access with enhanced bandwidth capabilities
US8516146B1 (en) 1999-11-24 2013-08-20 Robert C. Yen Method and system for reduction of delay and bandwidth requirements in internet data transfer
US9538386B2 (en) 1999-11-24 2017-01-03 Robert C. Yen Wireless internet access with enhanced bandwidth capabilities
US6904455B1 (en) 1999-11-24 2005-06-07 Robert C. Yen Method and system for providing local content for use in partially satisfying internet data requests from remote servers
WO2001047835A2 (en) * 1999-12-24 2001-07-05 Koninklijke Philips Electronics N.V. Device for presenting information units
US6625594B1 (en) 2000-01-18 2003-09-23 With1Click, Inc. System and method for searching a global communication system using a sub-root domain name agent
US7437428B1 (en) * 2000-02-16 2008-10-14 Microsoft Corporation System and method for transferring data over a network
US6920110B2 (en) * 2001-02-14 2005-07-19 Microsoft Corporation System and method for transferring data over a network
US7392281B1 (en) 2000-02-25 2008-06-24 Navic Systems, Inc. System and method for providing guaranteed delivery of messages to embedded devices over a data network
US6714992B1 (en) * 2000-02-25 2004-03-30 Navic Systems, Inc. Method and system for embedded network device installation
US6845396B1 (en) * 2000-02-25 2005-01-18 Navic Systems, Inc. Method and system for content deployment and activation
US7330824B1 (en) 2000-02-25 2008-02-12 Navic Systems, Inc. Method and system for content profiling and activation
JP3613550B2 (ja) * 2000-03-29 2005-01-26 インターナショナル・ビジネス・マシーンズ・コーポレーション ウェブページ取得サービスシステム、サーバ、ウェブページ取得方法、記憶媒体及びプログラム伝送装置
US20050021862A1 (en) * 2000-03-31 2005-01-27 Dickens Coal Llc Automatic selection of content-delivery provider using link mapping database
US7284232B1 (en) 2000-05-15 2007-10-16 International Business Machines Corporation Automated generation of aliases based on embedded alias information
US7475404B2 (en) 2000-05-18 2009-01-06 Maquis Techtrix Llc System and method for implementing click-through for browser executed software including ad proxy and proxy cookie caching
US8086697B2 (en) 2005-06-28 2011-12-27 Claria Innovations, Llc Techniques for displaying impressions in documents delivered over a computer network
AU2001264870A1 (en) * 2000-05-25 2001-12-03 Qmgn, Inc. Enhanced downloading from a computer network and profiling of a user of a computer network
US20050055426A1 (en) * 2000-06-12 2005-03-10 Kim Smith System, method and computer program product that pre-caches content to provide timely information to a user
US6742033B1 (en) 2000-06-12 2004-05-25 Gateway, Inc. System, method and computer program product that pre-caches content to provide timely information to a user
US7260600B1 (en) * 2000-11-17 2007-08-21 International Business Machines Corporation User specified parallel data fetching for optimized web access
US7047273B2 (en) 2000-11-28 2006-05-16 Navic Systems, Inc. Load balancing in set top cable box environment
FR2817426B1 (fr) * 2000-11-29 2003-03-07 France Telecom Systeme de communication d'informations sur abonnement
US20020065910A1 (en) * 2000-11-30 2002-05-30 Rabindranath Dutta Method, system, and program for providing access time information when displaying network addresses
US20020069132A1 (en) * 2000-12-01 2002-06-06 Lumenati, Inc. Cross technology monitoring, profiling and predictive caching method and system
US7114162B2 (en) 2000-12-06 2006-09-26 Microsoft Corporation System and methods for generating and managing filter strings in a filter graph
US6959438B2 (en) 2000-12-06 2005-10-25 Microsoft Corporation Interface and related methods for dynamically generating a filter graph in a development system
US6961943B2 (en) 2000-12-06 2005-11-01 Microsoft Corporation Multimedia processing system parsing multimedia content from a single source to minimize instances of source files
US6774919B2 (en) * 2000-12-06 2004-08-10 Microsoft Corporation Interface and related methods for reducing source accesses in a development system
US6983466B2 (en) * 2000-12-06 2006-01-03 Microsoft Corporation Multimedia project processing systems and multimedia project processing matrix systems
US6912717B2 (en) 2000-12-06 2005-06-28 Microsoft Corporation Methods and systems for implementing dynamic properties on objects that support only static properties
US6834390B2 (en) 2000-12-06 2004-12-21 Microsoft Corporation System and related interfaces supporting the processing of media content
US7103677B2 (en) 2000-12-06 2006-09-05 Microsoft Corporation Methods and systems for efficiently processing compressed and uncompressed media content
US7287226B2 (en) 2000-12-06 2007-10-23 Microsoft Corporation Methods and systems for effecting video transitions represented by bitmaps
US6882891B2 (en) 2000-12-06 2005-04-19 Microsoft Corporation Methods and systems for mixing digital audio signals
US6768499B2 (en) 2000-12-06 2004-07-27 Microsoft Corporation Methods and systems for processing media content
US7447754B2 (en) 2000-12-06 2008-11-04 Microsoft Corporation Methods and systems for processing multi-media editing projects
US7114161B2 (en) * 2000-12-06 2006-09-26 Microsoft Corporation System and related methods for reducing memory requirements of a media processing system
US6954581B2 (en) * 2000-12-06 2005-10-11 Microsoft Corporation Methods and systems for managing multiple inputs and methods and systems for processing media content
US6807606B2 (en) 2000-12-18 2004-10-19 International Business Machines Corp. Distributed execution coordination for web caching with dynamic content
US20020111992A1 (en) * 2000-12-18 2002-08-15 Copeland George P. JSP composition in a cache for web applications with dynamic content
US6823360B2 (en) * 2000-12-18 2004-11-23 International Business Machines Corp. Cofetching in a command cache
US7702800B2 (en) 2000-12-18 2010-04-20 International Business Machines Corporation Detecting and handling affinity breaks in web applications
US6877025B2 (en) * 2000-12-18 2005-04-05 International Business Machines Corp. Integrated JSP and command cache for web applications with dynamic content
US6983318B2 (en) * 2001-01-22 2006-01-03 International Business Machines Corporation Cache management method and system for storing dynamic contents
US6925594B2 (en) 2001-02-28 2005-08-02 International Business Machines Corporation Saving selected hyperlinks for retrieval of the hyperlinked documents upon selection of a finished reading button in a web browser
US7054912B2 (en) * 2001-03-12 2006-05-30 Kabushiki Kaisha Toshiba Data transfer scheme using caching technique for reducing network load
US6965913B2 (en) * 2001-04-10 2005-11-15 Virtel Corporation System for pseudo-interactive internet access
US7194551B1 (en) * 2001-04-30 2007-03-20 Sprint Spectrum L.P. System and method for downloading data to a mobile wireless unit using over-the-air parameter administration services
FR2825870B1 (fr) * 2001-06-06 2005-03-11 Canon Europa Nv Procede et dispositif de creation d'un document
JP2002373129A (ja) * 2001-06-14 2002-12-26 Fujitsu Ltd 機器制御システム
US20030005042A1 (en) * 2001-07-02 2003-01-02 Magnus Karlsson Method and system for detecting aborted connections and modified documents from web server logs
US7032048B2 (en) * 2001-07-30 2006-04-18 International Business Machines Corporation Method, system, and program products for distributed content throttling in a computing environment
ATE410732T1 (de) * 2001-08-03 2008-10-15 Nokia Corp Verfahren, system und endgerät für datennetze mit verteilten cache-speichern
US20030069964A1 (en) * 2001-10-04 2003-04-10 Shteyn Yevgeniy Eugene Digital content catering system
KR100467397B1 (ko) * 2001-10-25 2005-01-24 (주)씨디네트웍스 콘텐츠 능동적 동기화 시스템 및 이 시스템을 이용한인터넷 콘텐츠 전송 네트웍 서비스 방법
US20030135824A1 (en) * 2002-01-15 2003-07-17 International Business Machines Corporation System for delayed viewing of selected documents hyperlinked to hypertext documents received at a user interactive receiving display station in a computer controlled communication network
US7054940B2 (en) * 2002-01-25 2006-05-30 Thomson Licensing Adaptive cost of service for communication network based on level of network congestion
JP2008251015A (ja) * 2002-02-07 2008-10-16 Qualcomm Cambridge Ltd 携帯端末へコンテンツを提供するための方法及び装置
US7702666B2 (en) * 2002-06-06 2010-04-20 Ricoh Company, Ltd. Full-text search device performing merge processing by using full-text index-for-registration/deletion storage part with performing registration/deletion processing by using other full-text index-for-registration/deletion storage part
US7900147B2 (en) * 2002-07-22 2011-03-01 International Business Machines Corporation System and method for enabling disconnected web access
US20040073604A1 (en) * 2002-10-11 2004-04-15 Kazuhiro Moriya Cache control method of proxy server with white list
US7603341B2 (en) 2002-11-05 2009-10-13 Claria Corporation Updating the content of a presentation vehicle in a computer network
US8491391B2 (en) * 2003-03-10 2013-07-23 Igt Regulated gaming—agile media player for controlling games
US20040243494A1 (en) * 2003-05-28 2004-12-02 Integrated Data Control, Inc. Financial transaction information capturing and indexing system
US20040243627A1 (en) * 2003-05-28 2004-12-02 Integrated Data Control, Inc. Chat stream information capturing and indexing system
US7729990B2 (en) * 2003-05-28 2010-06-01 Stephen Michael Marceau Check image access system
US20040243536A1 (en) * 2003-05-28 2004-12-02 Integrated Data Control, Inc. Information capturing, indexing, and authentication system
US7873353B2 (en) * 2003-09-30 2011-01-18 Ianywhere Solutions, Inc. Method and system for accessing applications and data, and for tracking of key indicators on mobile handheld devices
US8078602B2 (en) 2004-12-17 2011-12-13 Claria Innovations, Llc Search engine for a computer network
US8255413B2 (en) 2004-08-19 2012-08-28 Carhamm Ltd., Llc Method and apparatus for responding to request for information-personalization
US8135803B2 (en) * 2004-08-23 2012-03-13 Ianywhere Solutions, Inc. Method, system, and computer program product for offline advertisement servicing and cycling
US20060064470A1 (en) * 2004-09-23 2006-03-23 Sargent Antony J Method, system, and computer program product for improved synchronization efficiency for mobile devices, including database hashing and caching of web access errors
JP2006155210A (ja) * 2004-11-29 2006-06-15 Sharp Corp 情報処理システムおよび情報処理装置
US7693863B2 (en) 2004-12-20 2010-04-06 Claria Corporation Method and device for publishing cross-network user behavioral data
US8073866B2 (en) 2005-03-17 2011-12-06 Claria Innovations, Llc Method for providing content to an internet user based on the user's demonstrated content preferences
TWI401574B (zh) * 2005-06-06 2013-07-11 Ibm 於一柵網計算環境中用在最佳化同作資料下載之方法、系統及程式產品
JP4298736B2 (ja) * 2005-11-09 2009-07-22 キヤノン株式会社 情報処理装置、電子文書処理方法およびプログラム
WO2007117251A1 (en) * 2006-04-12 2007-10-18 Thomson Licensing Delayed downloading video service using peer-to-peer (p2p) content distribution network
US7765202B2 (en) * 2006-09-22 2010-07-27 Siemens ndustry, Inc. System controller database manager with query stacking and caching for electrical distribution system
KR20090000654A (ko) 2007-03-16 2009-01-08 삼성전자주식회사 컨텐츠 중계 장치 및 방법
JP5354381B2 (ja) * 2007-06-29 2013-11-27 日本電気株式会社 セッション制御システム、セッション制御方法及びセッション制御プログラム
US7711622B2 (en) 2008-03-05 2010-05-04 Stephen M Marceau Financial statement and transaction image delivery and access system
US20100281224A1 (en) * 2009-05-01 2010-11-04 International Buisness Machines Corporation Prefetching content from incoming messages
KR101135087B1 (ko) * 2009-08-12 2012-04-16 삼성에스디에스 주식회사 콘텐츠 제공 시스템 및 방법
US8972878B2 (en) * 2009-09-21 2015-03-03 Avaya Inc. Screen icon manipulation by context and frequency of Use
US8584001B2 (en) 2010-04-12 2013-11-12 International Business Machines Corporation Managing bookmarks in applications
US9377876B2 (en) * 2010-12-15 2016-06-28 Hillcrest Laboratories, Inc. Visual whiteboard for television-based social network
US8769073B2 (en) * 2011-06-29 2014-07-01 International Business Machines Corporation Intelligent offline caching of non-navigated content based on usage metrics
FI20115779A0 (fi) * 2011-08-02 2011-08-02 Uniqoteq Oy Sisältöhakulaite ja -menetelmä televisioselainympäristössä tapahtuvaa esittämistä varten
CN103106216A (zh) * 2011-11-15 2013-05-15 腾讯科技(深圳)有限公司 一种网页访问方法和设备
CN102638570A (zh) * 2012-03-15 2012-08-15 中兴通讯股份有限公司 一种嵌入式网络代理系统、终端设备及代理方法
JP6478367B2 (ja) 2013-11-26 2019-03-06 住友電気工業株式会社 情報管理装置、ローカルネットワークシステム、情報管理方法および情報管理プログラム

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4642758A (en) * 1984-07-16 1987-02-10 At&T Bell Laboratories File transfer scheduling arrangement
US5446844A (en) * 1987-10-05 1995-08-29 Unisys Corporation Peripheral memory interface controller as a cache for a large data processing system
US5341477A (en) * 1989-02-24 1994-08-23 Digital Equipment Corporation Broker for computer network server selection
US5440719A (en) * 1992-10-27 1995-08-08 Cadence Design Systems, Inc. Method simulating data traffic on network in accordance with a client/sewer paradigm
US5369766A (en) * 1993-03-25 1994-11-29 Taligent, Inc. Object-oriented loader system with support for different load formats
US5581704A (en) * 1993-12-06 1996-12-03 Panasonic Technologies, Inc. System for maintaining data coherency in cache memory by periodically broadcasting invalidation reports from server to client
US5416739A (en) * 1994-03-17 1995-05-16 Vtech Computers, Ltd. Cache control apparatus and method with pipelined, burst read
US5608446A (en) * 1994-03-31 1997-03-04 Lucent Technologies Inc. Apparatus and method for combining high bandwidth and low bandwidth data transfer
US5583563A (en) * 1995-01-12 1996-12-10 Us West Marketing Resources Group, Inc. Method and system for delivering an application in an interactive television network
US5761683A (en) * 1996-02-13 1998-06-02 Microtouch Systems, Inc. Techniques for changing the behavior of a link in a hypertext document
US5787470A (en) * 1996-10-18 1998-07-28 At&T Corp Inter-cache protocol for improved WEB performance

Also Published As

Publication number Publication date
EP0876034A3 (de) 2004-01-02
JP2986440B2 (ja) 1999-12-06
TW499640B (en) 2002-08-21
KR19980070066A (ko) 1998-10-26
US5961602A (en) 1999-10-05
EP0876034B1 (de) 2007-04-11
DE69837508D1 (de) 2007-05-24
JPH10240660A (ja) 1998-09-11
KR100286497B1 (ko) 2001-04-16
EP0876034A2 (de) 1998-11-04

Similar Documents

Publication Publication Date Title
DE69837508T2 (de) Verfahren zum Inhaltswiederauffinden über ein Netzwerk
DE60009309T2 (de) System und verfahren zum presentieren von kanalisierten daten
DE69934871T2 (de) Verfahren und System zur optimalen Auswahl eines Webfirewalls in einem TCP/IP Netzwerk
US6163779A (en) Method of saving a web page to a local hard drive to enable client-side browsing
DE69926459T2 (de) Verfahren und vorrichtung zur umlenkung von serverexternen hyperlink-referenzen
DE10003907B4 (de) Verfahren, Vorrichtung und Datenverarbeitungsprogramm für die Anwendung beim Zugriff auf Hypertext-Dokumente
DE60015423T2 (de) Verfahren und Vorrichtung zur Objektwiedergabe in einem Netzwerk
DE69838262T2 (de) Allgemeine benutzer-authentifizierung für netz-rechner
DE60125599T2 (de) Verfahren und system zum transparenten zugreifen auf ferngespeicherte dateien
US6035323A (en) Methods and apparatuses for distributing a collection of digital media over a network with automatic generation of presentable media
DE69724356T2 (de) Verfahren und Apparat für die Darstellung von Information im Bezug auf jeden einzelnen von mehreren Hyperlinks
DE69834807T2 (de) System und verfahren zum auswählen und laden verschiedener typen von videodaten in einem computernetzwerk
DE69709959T2 (de) Verwendung von polymorphischen dateipaketen zur aktualisierung von softwarekomponenten
DE60116343T2 (de) Webserver
DE69832786T2 (de) Vorrichtung und verfahren zur identifizierung von klienten die an netzwer-sites zugreifen
DE60317917T2 (de) Verfahren und vorrichtung zum weiterleiten von sitzungsinformationen von einem portal-server
DE60035745T2 (de) Verfahren zum bei Bedarf Laden und Ausführen einer Netzwerkanwendung
DE602005003449T2 (de) Verbesserte benutzerschnittstelle
DE60029321T2 (de) Verfahren und vorrichtung zur fernbedienung eines hausnetzwerks von einem externen kommunikationsnetz
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)
CN1226709A (zh) 与硬件设备进行远程交互的方法和装置
DE60003278T2 (de) Hierarchische Auflösung von Adressen in einem Datennetzwerk
US8539340B2 (en) Method to serve real-time data in embedded web server
US6446117B1 (en) Apparatus and method for saving session variables on the server side of an on-line data base management system
DE19963981A1 (de) Verfahren und Vorrichtung zum Auffinden von Dokumenten unter Verwendung von Hyperlinks

Legal Events

Date Code Title Description
8364 No opposition during term of opposition