DE69833899T2 - Dynamische Datenübertragungsvorrichtung und Verfahren - Google Patents

Dynamische Datenübertragungsvorrichtung und Verfahren Download PDF

Info

Publication number
DE69833899T2
DE69833899T2 DE69833899T DE69833899T DE69833899T2 DE 69833899 T2 DE69833899 T2 DE 69833899T2 DE 69833899 T DE69833899 T DE 69833899T DE 69833899 T DE69833899 T DE 69833899T DE 69833899 T2 DE69833899 T2 DE 69833899T2
Authority
DE
Germany
Prior art keywords
resource
template
dynamic
request
dynamic part
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
DE69833899T
Other languages
English (en)
Other versions
DE69833899D1 (de
Inventor
Frederick Somerset Douglis
Antonio Paterson Haro
Michael Gillette Rabinovich
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
AT&T Corp
Original Assignee
AT&T Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by AT&T Corp filed Critical AT&T Corp
Publication of DE69833899D1 publication Critical patent/DE69833899D1/de
Application granted granted Critical
Publication of DE69833899T2 publication Critical patent/DE69833899T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/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
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0611Request for offers or quotes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/12Accounting
    • 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/565Conversion or adaptation of application format or content
    • H04L67/5651Reducing the amount or size of exchanged application data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • 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]

Description

  • HINTERGRUND DER ERFINDUNG
  • GEBIET DER ERFINDUNG
  • Die vorliegende Erfindung betrifft Informationen über ein Netzwerk und insbesondere Möglichkeiten, Ressourcen über ein Netzwerk zu übertragen, um Latenzzeit- und Bandbreitenanforderungen für das Netzwerk zu verringern.
  • Es gibt mehrere Standardverfahren der Datenübertragung, die verwendet werden, um Latenzzeit- und Bandbreitenanforderungen in einem Netzwerk zu verringern. Drei Beispiele sind Hinterlegen im Cache-Speicher, Kompression und Delta-Codierung. Hinterlegen im Cache-Speicher ist eine Art temporäres Speichern einer Ressource und spielt eine entscheidende Rolle in einem verteilten Weitbereichs-System wie dem World Wide Web. Zum Beispiel können angeforderte Web-Seiten schnell aus einem Web-Seiten-Cache-Speicher wiedergewonnen werden statt von dem ursprünglichen Server, was Zeit und Netzwerkverkehr spart. Die Antwortzeit für den Zugriff auf Ressourcen im Cache-Speicher wird signifikant verringert, dadurch dass Langstreckenübertragungsverzögerungen beseitigt werden. Außerdem verringert Hinterlegen im Cache-Speicher den Hintergrundverkehr und die Last auf Inhalte-Anbietern. Jedoch ist Hinterlegen im Cache-Speicher von beschränktem Wert, wenn viele der Daten in einem Netzwerk dynamisch sind, so dass sich Informationen wahrscheinlich ändern, nachdem die Daten zuletzt im Cache-Speicher hinterlegt wurden. Unter diesen Umständen sind die Informationen im Cache-Speicher nicht länger zuverlässig. Deshalb sind, wenn ein signifikanter Teil von Netzwerkressourcen dynamisch ist, diese nicht im Cache-Speicher hinterlegbar, da die Ressource bei jedem Zugriff frisch erzeugt wird. Zusätzlich könnte der Inhalte-Anbieter Hinterlegen im Cache-Speicher explizit verbieten.
  • Kompression ist eine Möglichkeit zum Verringern der Datengröße, um Platz oder Übertragungszeit durch Beseitigen von Redundanz zu sparen. Für die Datenübertragung kann Kompression nur an dem Dateninhalt durchgeführt werden oder an der gesamten Übertragung (Dateninhalt plus Kopfzeilendaten). Jedoch ist die Menge, um die eine Datei komprimiert werden kann, beschränkt durch die Redundanz in dem Dateiinhalt, typischerweise um 50% für Text.
  • Delta-Codierung ist eine Möglichkeit zum Übertragen von Codierungen der Änderungen zwischen aufeinanderfolgenden Versionen einer Ressource. Das verhindert, dass die gesamte Ressource jedes Mal wiedergesendet werden muss, wenn sie geändert wird. Statt dessen werden nur die Änderungen gesendet. Das verringert die Bandbreitenanforderungen und verbessert die Gesamtleistung. Um Delta-Codierung zu verwenden wird eine vollständige Version einer Ressource auf einem ersten Computer im Cache-Speicher hinterlegt, demjenigen, der die Anforderung sendet, aber damit der erste Computer diese Ressource im Cache-Speicher ansehen kann, muss die Ressource im Cache-Speicher mit einer anderen vollständigen Version der Ressource verglichen werden, die auf einem zweiten Computer im Cache-Speicher hinterlegt oder gespeichert ist. Der Unterschied zwischen den zwei vollständigen Ressourcen wird dann berechnet und die ältere Ressource im Cache-Speicher wird aktualisiert und dann angezeigt. Mit Delta-Codierung kann man eine Ressource im Cache-Speicher hinterlegen, selbst wenn sie als nicht im Cache-Speicher hinterlegbar angesehen wird, aber nicht die im Cache-Speicher hinterlegten Daten präsentieren, ohne dass zuerst die Änderungen gegenüber ihrer aktuellen Version erhalten werden. Ein Vorteil dieses Verfahrens ist der, dass es gleichförmig für alle nicht im Cache-Speicher hinterlegbaren Ressourcen gültig ist, ungeachtet des Grunds, warum die Ressourcen nicht im Cache-Speicher hinterlegt werden können. Ein anderer Vorteil ist der, dass Delta-Codierung transparent implementiert werden kann über Proxies, so dass Inhalte-Anbieter nicht geändert werden müssen. Jedoch haben die Delta-Codierungs-Vorschläge auch Nachteile. Delta-Codierung erfordert, dass beide Computer eine gemeinsame Versionsbasis haben, die von dem sendenden Computer verwendet wird, um das Delta zu berechnen, und von dem empfangenden Computer als Basis verwendet wird, gegenüber der das Delta anzuwenden ist. Falls der Inhalte- Anbieter die Delta-Codierungen fliegend (on the fly) berechnen muss, leidet er am Steuerungsaufwand und muss eine möglicherweise große Zahl von vergangenen Versionen speichern; falls die Delta-Berechnung durch einen Vermittler durchgeführt wird, dann muss das Ganze von jeder Version der Ressource von dem Inhalte-Anbieter zu dem Vermittler gesendet werden und die Codierung muss immer noch auf dem "kritischen Pfad" durchgeführt werden.
  • US-A-5.634.052 offenbart ein Verfahren zum Verringern des Speicherplatzbedarfs in einem Backup-Untersystem und der Last auf einer Übertragungsbandbreite in einer Client/Server-Umgebung, gemäß welchem eine Delta-Datei, welche der Unterschied zwischen einer Basis-Datei und ihrer modifizierten Version ist, erzeugt und zu dem Server übertragen wird.
  • EP 0 774 722 A2 offenbart ein Informationswiedergewinnungssystem, worin Form und Inhalt getrennt sind. Ein Informationswiedergewinnungs-(IR)-Server indexiert und sucht Stories in Titeln. Indexieren findet statt, wenn ein Titel in das Netzwerk von einer Herausgeber-Arbeitsstation freigesetzt wird. Ein Titel wird als eine Vorlage verwendet und eine Auflage ist der angezeigte ausgefüllte Titel. Jedes Mal, wenn der Herausgeber den Inhalt in einem Titel aktualisiert und ihn für Kunden verfügbar macht, erzeugt der Herausgeber eine neue Freigabe dieses Titels.
  • Bei einer allgemein verbreiteten Klasse von Ressourcen wie diejenigen, die durch Suchmaschinen bereitgestellt werden, ist ein signifikanter Teil der Ressource im Wesentlichen statisch. Teile der Ressource variieren in unterschiedlichen Ausmaßen von einer Abfrageantwort zu einer anderen (der Unterschied zwischen zwei Seiten als Reaktion auf eine einzelne Abfrage ist für gewöhnlich kleiner als der Unterschied zwischen Seiten von unterschiedlichen Abfragen). Auch ändert sich der Ort der dynamischen Anteile relativ zum Rest der Ressource nicht. Diese Ressourcen sind herkömmlich in einer berechnungsintensiven und speicherverschwenderischen Umgebung erledigt worden.
  • Zum Beispiel ermöglicht eine Technik mit der Bezeichnung Server-Seitige Einschlüsse (SSI = Server-Side Includes), einen Platzhalter auf einer Seite anzugeben, wo ein dynamischer Inhalt eingefügt werden kann. Jedoch wird die Technik auf dem Server auf eine berechnungsintensive Art und Weise durchgeführt. Ein anderes Beispiel ist Aktiv-Server-Seiten (ASP = Active Server Pages) von Microsoft. Diese Technik schließt Anweisungen zum Vorverarbeiten einer Seite ein. Jedoch wird dieses Vorverarbeiten wieder durch den Server durchgeführt, so dass Bandbreite oder Serverlast nicht verringert werden. Die vorliegende Erfindung versucht, diese Unzulänglichkeiten zu überwinden.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Die vorliegende Erfindung führt eine Möglichkeit ein zum Verringern der Latenzzeit- und Bandbreitenanforderungen eines Netzwerks auf eine Art und Weise, die sich von zuvor bekannten Verfahren unterscheidet.
  • Dieses Ziel und andere Gegenstände, welche aus der folgenden Beschreibung offensichtlich werden, werden durch die Erfindung gemäß der angehängten Ansprüche erreicht.
  • Die Vorteile dieser Erfindung werden erreicht, indem statische Teile der dynamischen Ressource auf dem Client im Cache-Speicher hinterlegt werden und viel von der Rechnungslast von dem Server auf den Client verschoben wird.
  • Die Erfindung schließt eine Vorschrift ein, die die explizite Trennung von statischen und dynamischen Teilen einer Ressource ermöglicht. Mit anderen Worten, die Ressource wird explizit getrennt in eine Vorlage (Template) und Per-Abfrage-Anbindungen; der Client kann sie vorverarbeiten, um zu einer aktuellen Instantiierung der Ressource zu kommen. Der statische Teil kann Makro-Anweisungen zum Einsetzen dynamischer Informationen enthalten. Der statische Teil, der diese Anweisungen einschließt (die Vorlage), kann frei im Cache-Speicher gespeichert werden. Der dynamische Teil enthält die Anbindungen von Makro-Variablen an Zeichenketten, die für den gegebenen Zugriff spezifisch sind. Die Anbindungen werden für jeden Zugriff erhalten, und die Vorlage wird durch den Client vor Übergabe des Dokuments erweitert. Auf diese Weise, und anders als bei Delta-Codierung, ist nur eine Version der Ressource notwendig, um eine vollständige und aktualisierte Ressource zu rekonstruieren. Außerdem muss der Server nur die dynamischen Daten für jeden Zugriff erzeugen, nicht die gesamte Ressource.
  • Die vorliegende Erfindung ist vorteilhaft ausgelegt, um die Größe der Anbindungen zu minimieren. Experimente haben einen bemerkenswerten Größenunterschied zwischen der ursprünglichen Ressource und den Anbindungen gezeigt. Gemäß unserer letzten Daten sind die nicht komprimierten Anbindungen 4–8 mal kleiner als die nicht komprimierte ursprüngliche Ressource, während komprimierte Anbindungen 2–4 mal kleiner sind als die komprimierte ursprüngliche Ressource. Somit führt Senden nur der Anbindungen zu den entsprechenden Verkehrsverringerungen im Vergleich zum Senden vollständiger Ressourcen.
  • Wenn auch die Ausdrücke "Client" und "Server" gut verstandene Bedeutungen in dem Kontext des Internet haben, nutzt diese Beschreibung für Zwecke dieser Erfindung die Ausdrücke in einem breiteren Sinn: der Ausdruck "Client" bedeutet ein Gebilde, das Informationen anfordert, und der Ausdruck "Server" bedeutet ein Gebilde, das eine Anforderung für Informationen empfängt.
  • In einer Ausführungsform der vorliegenden Erfindung fordert der Client von dem Server die gesamte Ressource an und der Server antwortet, indem er nur den dynamischen Teil des Dokuments sendet, welches von dem Client rekonstruiert wird. Falls der Client keinen statischen Teil besitzt, wird eine Anforderung an den Server gesendet und der Server antwortet, indem er den statischen Teil der Ressource liefert, welcher für nachfolgenden Zugriff im Cache-Speicher hinterlegt werden kann.
  • In einer anderen Ausführungsform wird der Client zuerst bestimmen, ob er den statischen Teil des Dokuments benötigt. Ist dies der Fall, fordert er sowohl den statischen als auch den dynamischen Teil der Ressource an. Falls der Client bestimmt, dass er den statischen Teil nicht benötigt, fordert er bloß den dynamischen Teil an.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • 1a veranschaulicht ein Blockdiagramm auf Systemebene von einer Ausführungsform der vorliegenden Erfindung.
  • 1b veranschaulicht eine Ausführungsform von einer Vorrichtung und einem System gemäß der vorliegenden Erfindung.
  • 2 veranschaulicht ein Flussdiagramm für eine Ausführungsform eines Verfahrens gemäß der vorliegenden Erfindung.
  • 3 veranschaulicht ein Flussdiagramm für eine andere Ausführungsform eines Verfahrens gemäß der vorliegenden Erfindung.
  • 4 veranschaulicht ein Flussdiagramm für eine andere Ausführungsform eines Verfahrens gemäß der vorliegenden Erfindung.
  • 5 veranschaulicht ein Flussdiagramm für eine andere Ausführungsform eines Verfahrens gemäß der vorliegenden Erfindung.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Die vorliegende Erfindung ist gerichtet auf Möglichkeiten zum Übertragen von Ressourcen über ein Netzwerk, um die Latenzzeit- und die Bandbreitenanforderungen für das Netzwerk zu verringern. Bezugnehmend jetzt im Detail auf die Zeichnungen ist in 1a eine Ausführungsform auf Systemebene der vorliegenden Erfindung veranschaulicht. Clients, in dieser Figur durch 101, 102 und 103 bezeichnet, fordern durch Netzwerk 100 mindestens einen Teil einer Ressource von dem Server 110 an. Die Ressource ist vermutlich zusammengesetzt aus mindestens einem statischen Teil und einem dynamischen Teil. Der Server liefert dann entweder die gesamte Ressource, nur den dynamischen Teil oder nur den statischen Teil der Ressource, abhängig von den Bedürfnissen des Clients. Da der statische Teil von dem Client im Cache-Speicher hinterlegt werden kann, wird normalerweise nur der dynamische Teil für populäre Ressourcen geliefert, wodurch der Netzwerkverkehr und die Last des Inhalte-Servers verringert wird.
  • Typische Beispiele für Anforderungen für Ressourcen sind Uniform Resource Locators (URLs). In einer Ausführungsform der vorliegenden Erfindung ist die angeforderte Ressource ein Dokument, das in Hypertext Markup Language (HTML) geschrieben ist, das sowohl statische als auch dynamische Teile enthält, wenn auch der Geist und der Umfang der Erfindung nicht auf HTML beschränkt ist. Der statische Teil, oder die Vorlage, enthält Markierungen (Tags), welche beschreiben, wo in dem HTML-Code die Komponenten des dynamischen Teils einzusetzen sind. Tabellen 1 und 2 zeigen ein Beispiel, wie die statischen und dynamischen Teile der Daten zu beschreiben sind.
  • Betrachten Sie die folgende Ressource:
    <HTML>
    <HEAD>
    <TITLE> Michael Rabinovich</TITLE>
    <BODY>
    ...
    Die Zeit ist 1:15pm.
  • Auf diese Seite wurde 10 mal zugegriffen.
    </BODY>
    </HTML>
  • In Tabelle 1 enthält die linke Spalte die Vorlage oder den statischen Teil der Ressource. Die rechte Spalte enthält den zur Debatte stehenden dynamischen Teil der Ressource gemäß einer bestimmten Instantiierung. In Tabelle 1 enthält der statische Teil der Daten die Markierung <VAR> und die Variablen "time" und "count". Die "VAR"-Markierungen beschreiben, wo in dem HTML-Dokument die dynamischen Daten entsprechend der Variablen "time" und "count" einzusetzen sind. In dem Beispiel in Tabelle 1 wird die "VAR"-Markierung verwendet, um eine einzelne dynamische Variable zu definieren, und wird in der Vorlage als ein Platzhalter für eine Variable verwendet, die durch ein Textsegment zu ersetzen ist, das dynamisch an diese Variable angebunden wird. Die Markierung "DYNAMICS" wird verwendet, um den dynamischen Teil der Ressource zu definieren. Dieser dynamische Teil, der immer einer speziellen Instantiierung der Ressource entspricht, wird auf eine Art und Weise gespeichert, dass auf ihn durch den Server zugegriffen werden kann und er an den Client gesendet werden kann. Der Client hat dann die Last, den statischen und dynamischen Teil der Ressource zu kombinieren, indem er die Istwerte, in diesem Fall "time = 1:15pm" und "count = 10", an ihre richtigen Plätze in dem statischen Teil der Ressource einsetzt, so dass die gesamte Ressource von dem Client betrachtet werden kann.
  • Figure 00080001
    Tabelle 1
  • In einer anderen Ausführungsform der Erfindung ermöglicht eine Markierung in der Vorlage, möglicherweise in Kombination mit einem oder mehreren dynamischen variablen Markierungen wie "VAR", eine Schleife durch eine Berechnung zu machen. Ein Vorprozessor würde das Vorlagenfragment innerhalb der Schleife so oft erweitern, wie die Zahl der Anbindungen zu der Makro-Variablen ist, die in dem Schleifenfragment des dynamischen Teils der Ressource angegeben ist. Das ist in Tabelle 2 veranschaulicht. Außerdem kann die Schleife mehrere dynamische variable Markierungen enthalten. Wenn die Schleife mehrere dynamische Variablen aufweist, verbraucht jede Iteration die nächste dynamische Anbindung für jede dynamische Variable. Wenn die dynamische Datenliste für eine der Variablen leer ist, endet die Schleife.
  • Betrachten Sie die folgende Ressource, welche die ursprüngliche Ressource für Tabelle 2 ist:
    Figure 00080002
    Figure 00090001
  • Die linke Spalte von Tabelle 2 enthält ein Beispiel für eine Vorlage der Ressource in dem Kontext einer hypothetischen Suchmaschine namens "search-engine". Die Vorlage enthält die dynamische variable Markierung "LOOP", wobei die dynamische variable Markierung "VAR" innerhalb der Schleife eingenistet ist. Nach Erhöhen der Schriftgröße (font size) und Ausgabe von "1" beginnt der statische Teil der Ressource, der in der linken Spalte von Tabelle 2 gezeigt wird, eine Schleife. Jede Operation innerhalb der Markierungen <LOOP> und </LOOP> wird eine variable Zahl von Wiederholungen ausgeführt, die durch den dynamischen Teil der Ressource festgesetzt wird, der in der rechten Spalte von Tabelle 2 gezeigt wird.
  • Figure 00090002
    Tabelle 2
  • In einer anderen Ausführungsform der vorliegenden Erfindung werden innerhalb der Schleifenvariablen bedingte Anweisungen, z. B. "IF" verwendet. In einer anderen Ausführungsform der vorlie genden Erfindung werden Markierungen eingeführt, um einen Anfangswert oder Folgewert einer dynamischen oder iterativen Variablen festzusetzen oder zu definieren.
  • Im diesem Rahmen wird eine Ausführungsform der vorliegenden Erfindung als eine Erweiterung zu HTML implementiert. Die HTML-Erweiterung enthält die folgenden neuen Markierungen: VAR, LOOP, IF, SET-VAR und DYNAMICS. Die VAR- und LOOP-Markierungen werden in der Vorlage als Anweisungen bezüglich des Orts des dynamischen Inhalts verwendet. Anders ausgedrückt, sie werden als Makro-Ausdrücke in dem HTML-Text verwendet, um die Stelle in dem statischen Teil der Ressource zu markieren, wo dynamische Daten eingefügt werden können. Die DYNAMICS-Markierung wird verwendet, um den dynamischen Teil des Dokuments zu definieren. Es enthält Anbindungen der Makro-Variablen an dynamische Textzeichenketten, die für den aktuellen Dokumentenzugriff spezifisch sind. Die IF-Markierung ist eine bedingte Anweisung, und die SET-VAR-Markierung wird verwendet, um einen Anfangswert oder Folgewert einer dynamischen Variablen in dem Kontext iterativer Berechnungen zu definieren. Die LOOP-Markierung ist eine Art und Weise, iterative Berechnungen mit dynamischen Variablen durchzuführen. Wie mit diesen Markierungen gesehen werden kann, und anders als bei Delta-Codierung, ist nur eine Version der Ressource notwendig, um die gesamte Ressource zu erzeugen. Ein Client, der die Fähigkeit hat, die vorliegende Erfindung zu verwenden, kann diese Information an den Server über die HTTP-Kopfzeile weitergeben. Selbstverständlich sind die Namen der Markierungen zufällig und sind in diesem Fall bloß für ihren beschreibenden Wert gewählt; die Markierungen können jeden beliebigen Namen annehmen, solange sie auf die gewünschte Weise funktionieren.
  • 1b zeigt eine Ausführungsform einer Vorrichtung gemäß der vorliegenden Erfindung. Die Vorrichtung in dieser Ausführungsform entspricht Server 110 in 1a und umfasst einen Prozessor 111, einen Speicher 112, der Anweisungen speichert, die angepasst sind, um in dem Prozessor 111 ausgeführt zu werden, um Anforderungen für Ressourcen zu empfangen und Ressourcen zu senden, und einen Anschluss 113, der angepasst ist, um an das Netzwerk angeschlossen zu werden, wobei sowohl der Anschluss als auch der Speicher an den Prozessor gekoppelt sind. In dieser Ausführungsform würde ein Server 110, der an ein Netzwerk durch einen Anschluss angeschlossen ist, im Speicher Anweisungen speichern, die notwendig sind, um auf Anforderungen für Ressourcen zu antworten. Nachdem eine Anforderung für mindestens einen Teil einer Ressource von dem Netzwerk über den Anschluss in die Vorrichtung gelangt, antwortet der Prozessor auf die Anforderung, indem er durch das Netzwerk entweder den dynamischen Teil der Daten oder sowohl den statischen als auch den dynamischen Teil der Daten zurücksendet. In einer Ausführungsform gibt es einen Speicher zum Speichern mindestens eines Teils der Ressource.
  • 2 zeigt eine Ausführungsform eines Verfahrens gemäß der vorliegenden Erfindung, gezeigt aus der Perspektive des Servers. In Schritt 201 empfängt ein Server eine Anforderung für eine vollständige Ressource, die mindestens einen statischen Teil und einen dynamischen Teil aufweist. In Schritt 202 sendet der Server als Reaktion auf diese Anforderung nur den dynamischen Teil der Ressource. Dieser dynamische Teil enthält Daten, die es dem Client ermöglichen, das statische Gegenstück zu finden und zu erhalten. In Schritt 203 sendet, wenn der Server dann eine Anforderung für mindestens den statischen Teil empfängt, dieser Server den statischen Teil als Reaktion auf die Anforderung.
  • 3 zeigt eine Ausführungsform eines Verfahrens gemäß der vorliegenden Erfindung aus der Perspektive des Clients für die Transaktion. In Schritt 301 fordert der Client eine vollständige Ressource an, die mindestens einen statischen und einen dynamischen Teil aufweist. In Schritt 302 empfängt der Client dann als Reaktion auf diese Anforderung nur den dynamischen Teil der Ressource. Dieser dynamische Teil enthält Daten, die es ermöglichen, sein statisches Gegenstück zu finden und sich damit zu verbinden. In Schritt 303 geht, falls der Client bestimmt, dass er den statischen Teil benötigt, z. B. wenn der statische Teil nicht in dem Cache-Speicher des Client hinterlegt ist, der Client dann zu Schritt 304, wo er von dem Server den statischen Teil der Ressource anfordert, der dem dynamischen Teil der Ressource entspricht, und zu Schritt 306, wo der Client den statischen Teil empfängt. Nach Verwendung der Datenressource wird der statische Teil im Cache-Speicher hinterlegt, um weiterer Verwendung entgegenzusehen. In Schritt 305 ist, nachdem der Client sowohl den statischen als auch den dynamischen Teil hat, der nächste Schritt, den dynamischen und statischen Teil zu kombinieren.
  • In einer anderen Ausführungsform eines Verfahrens gemäß der vorliegenden Erfindung, die in 4 aus der Perspektive des Servers gezeigt wird, bestimmt die Partei, die die Ressource wünscht (der Client), in Schritt 401 als eine anfängliche Angelegenheit, ob sie den statischen Teil der Ressource benötigt. Das unterscheidet sich von der zuvor beschriebenen Ausführungsform insofern, als dass in der zuvor beschriebenen Ausführungsform der Client die gesamte Ressource anfordert und der Server bloß mit dem dynamischen Teil antwortet. Jedoch macht in der Ausführungsform, die in 4 gezeigt ist, der Client eine Anfangsbestimmung von seinen Bedürfnissen. In Schritt 402 empfängt der Server, falls der Client den statischen Teil nicht benötigt, eine Anforderung für mindestens den dynamischen Teil der Ressource und als Reaktion sendet er in Schritt 403 den dynamischen Teil der Ressource. Falls die Partei den statischen Teil benötigt, empfängt in Schritt 404 der Server eine Anforderung für mindestens den statischen und dynamischen Teil und sendet in Schritt 405 sowohl den statischen als auch den dynamischen Teil. Diese Ausführungsform ist vorteilhaft, da sie die Gesamtzahl der Anforderungen, die an einen gegebenen Server gestellt werden, verringert, wodurch die Gesamtübertragungszeit verringert wird.
  • 5 zeigt eine Ausführungsform der vorliegenden Erfindung aus der Perspektive des Clients für die Transaktion. Aus der Perspektive des Clients bestimmt die Partei, die die Ressource wünscht (der Client), im Voraus am Schritt 501, ob sie den statischen Teil der Ressource benötigt. Falls der Client den statischen Teil nicht benötigt, sendet der Client in Schritt 502 eine Anforderung für mindestens den dynamischen Teil der Ressource und als Reaktion empfängt er in Schritt 503 den dynamischen Teil der Ressource. Falls der Client den statischen Teil benötigt, fordert der Client in Schritt 504 mindestens den statischen und dynamischen Teil an und empfängt in Schritt 505 sowohl den statischen als auch den dynamischen Teil. Zuletzt in Schritt 506 kombiniert der Client den statischen und dynamischen Teil.
  • Wie oben ausführlich erklärt ermöglicht die Erfindung den Datentransfer mit verringerter Bandbreiten- und Latenzzeitanforderungen in einem Netzwerk. Der Hauptvorteil ist in einem Server zu finden, der konfiguriert ist, Anforderungen für dynamische Daten oder Teile davon zu empfangen, und wie oben ausführlich besprochen zu antworten. Mit dieser Erfindung wird die Rechenlast des Servers verringert, indem die Notwendigkeit beseitigt wird, die gesamte Ressource zu erzeugen, mit einer früheren Version der gleichen Ressource zu vergleichen und den Unterschied zu berechnen. Außerdem wird anders als bei dem Stand der Technik nur eine Version der Ressource benötigt, um eine neue Instantiierung zu erzeugen.
  • Während Ausführungsformen der Erfindung nützlich sind bei dynamischen Dokumenten, die in HTML geschrieben sind, kann erkannt werden, dass beliebig viele andere Sprachen wie SGML mit der vorliegenden Erfindung verwendet werden können.
  • Wo technischen Merkmalen, die in irgendeinem Anspruch erwähnt sind, Bezugszeichen folgen, sind diese Bezugszeichen aufgenommen worden für den alleinigen Zweck, die Verständlichkeit der Ansprüche zu erhöhen, und entsprechend haben solche Bezugszeichen keine einschränkende Wirkung auf den Schutzumfang von jedem Element, das beispielhaft durch solche Bezugszeichen gekennzeichnet ist.

Claims (11)

  1. Ein Verfahren zum Übertragen von mindestens einem Teil einer Ressource, die mindestens eine Vorlage und einen dynamischen Teil aufweist, der Per-Abfrage-Anbindungen umfasst, über ein Netzwerk (100), wobei das Verfahren die folgenden Schritte umfasst: a. Empfangen (201) einer Anforderung von einem Client für mindestens einen dynamischen Teil der Ressource; b. Senden (202) des dynamischen Teils der Ressource, wobei der dynamische Teil angepasst ist, mit der Vorlage der Ressource kombiniert zu werden; und c. falls dem Client die Vorlage fehlt, Durchführen (203) der folgenden Unterschritte: i. Empfangen einer Anforderung für die Vorlage, und ii. Senden der Vorlage.
  2. Das Verfahren von Anspruch 1, worin die Ressource ein HTML-Dokument ist; oder worin eine HTML-Erweiterung bezüglich der Ressource mindestens eine dynamische variable Markierung enthält; oder worin eine HTML-Erweiterung bezüglich der Ressource eine Schleifen-Markierung enthält; oder worin eine HTML-Erweiterung bezüglich der Ressource eine Markierung enthält, die verwendet wird, um den dynamischen Teil des Dokuments zu definieren.
  3. Eine Vorrichtung (110) zum Übertragen von mindestens einem Teil einer Ressource über ein Netzwerk (100), wobei die Ressource aus mindestens einer Vorlage und einem dynamischen Teil aufgebaut ist, der Per-Abfrage-Anbindungen umfasst, die folgendes umfasst: a. einen Prozessor (111); b. einen Speicher (112), der Anweisungen speichert, die angepasst sind, um durch den Prozessor (111) ausgeführt zu werden, um: i. eine Anforderung für mindestens den dynamischen Teil der Ressource zu empfangen (201), und ii. den dynamischen Teil der Ressource getrennt von der Vorlage der Ressource zu senden (202); und c. einen Anschluss (113), der angepasst ist, um an das Netzwerk (100) angeschlossen zu werden, wobei der Anschluss (113) und der Speicher (112) an den Prozessor (111) gekoppelt sind.
  4. Die Vorrichtung gemäß Anspruch 3, worin der Speicher (112), der Anweisungen speichert, die angepasst sind, um durch den Prozessor (111) ausgeführt zu werden, weiter folgendes umfasst: a. einen Speicher, der Anweisungen speichert, die angepasst sind, um durch den Prozessor (111) ausgeführt zu werden, um: i. eine Anforderung für die Vorlage der Ressource zu empfangen (203).
  5. Eine Vorrichtung zum Übertragen von mindestens einem Teil einer Ressource über ein Netzwerk (100), wobei die Ressource aus mindestens einer Vorlage und einem dynamischen Teil aufgebaut ist, der Per-Abfrage-Anbindungen umfasst, wobei die Vorrichtung folgendes umfasst: a. einen Prozessor; b. einen Speicher, der Anweisungen speichert, die angepasst sind, um durch den Prozessor ausgeführt zu werden, um: i. eine Anforderung für die Ressource zu senden (301); ii. den dynamischen Teil zu empfangen (302); iii. den dynamischen Teil mit der Vorlage zu kombinieren (305).
  6. Die Vorrichtung von Anspruch 5, worin die Vorrichtung weiter einen Speicher umfasst, der Anweisungen speichert, die angepasst sind, um durch den Prozessor (111) ausgeführt zu werden, um: a. zu bestimmen (303), ob die Vorlage benötigt wird; und falls sie benötigt wird, b. die Vorlage anzufordern (304).
  7. Die Vorrichtung von Anspruch 3 oder 4, worin die Vorrichtung weiter einen Speicher umfasst, der den mindestens einen Teil einer Ressource speichert.
  8. Die Vorrichtung von einem oder mehreren der Ansprüche 3–6, worin die Ressource ein HTML-Dokument ist; oder worin eine HTML-Erweiterung bezüglich der Ressource mindestens eine dynamische variable Markierung enthält; oder worin eine HTML-Erweiterung bezüglich der Ressource eine Schleifen-Markierung enthält; oder worin eine HTML-Erweiterung bezüglich der Ressource eine Markierung enthält, die verwendet wird, um den dynamischen Teil des Dokuments zu definieren.
  9. Ein Computer-lesbares Medium, das Anweisungen speichert, die angepasst sind, um durch einen Prozessor (111) ausgeführt zu werden, um die folgenden Schritte auszuführen: a. Empfangen (201) einer Anforderung von einem Client (101) für mindestens einen dynamischen Teil einer Ressource, wobei die Ressource mindestens eine Vorlage und einen dynamischen Teil einschließt, der Per-Abfrage-Anbindungen umfasst; b. Senden (202) des dynamischen Teils der Ressource, wobei der dynamische Teil angepasst ist, mit der Vorlage der Ressource kombiniert zu werden; und c. falls dem Client (101) die Vorlage fehlt, Ausführen (203) der folgenden Unterschritte: i. Empfangen einer Anforderung für die Vorlage, und ii. Senden der Vorlage.
  10. Ein Computer-lesbares Medium, das Anweisungen speichert, die angepasst sind, um durch einen Prozessor (111) ausgeführt zu werden, um die folgenden Schritte durchzuführen: a. Anfordern (301) von mindestens einem dynamischen Teil einer Ressource, wobei die Ressource mindestens eine Vorlage und einen dynamischen Teil einschließt, der Per-Abfrage-Anbindungen umfasst; und b. Empfangen (302) des dynamischen Teils, wobei der dynamische Teil angepasst ist, mit der Vorlage kombiniert zu werden.
  11. Das Computer-lesbare Medium von Anspruch 10, worin gespeicherte Anweisungen weiter angepasst sind, um: a. zu bestimmen (303), ob die Vorlage benötigt wird; und b. falls es benötigt wird, die Vorlage anzufordern (304).
DE69833899T 1997-07-31 1998-07-30 Dynamische Datenübertragungsvorrichtung und Verfahren Expired - Lifetime DE69833899T2 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US982308 1992-11-25
US5436697P 1997-07-31 1997-07-31
US08/982,308 US6021426A (en) 1997-07-31 1997-12-01 Method and apparatus for dynamic data transfer on a web page
US54366P 2008-05-19

Publications (2)

Publication Number Publication Date
DE69833899D1 DE69833899D1 (de) 2006-05-11
DE69833899T2 true DE69833899T2 (de) 2007-03-15

Family

ID=26732945

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69833899T Expired - Lifetime DE69833899T2 (de) 1997-07-31 1998-07-30 Dynamische Datenübertragungsvorrichtung und Verfahren

Country Status (4)

Country Link
US (1) US6021426A (de)
EP (1) EP0898235B1 (de)
CA (1) CA2244381C (de)
DE (1) DE69833899T2 (de)

Families Citing this family (166)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6963920B1 (en) * 1993-11-19 2005-11-08 Rose Blush Software Llc Intellectual asset protocol for defining data exchange rules and formats for universal intellectual asset documents, and systems, methods, and computer program products related to same
US5701451A (en) * 1995-06-07 1997-12-23 International Business Machines Corporation Method for fulfilling requests of a web browser
US6178433B1 (en) * 1997-07-15 2001-01-23 International Business Machines Corporation Method and system for generating materials for presentation on a non-frame capable web browser
US20030009563A1 (en) * 1997-07-31 2003-01-09 At&T Corp. Method for client-side inclusion of data elements
US6351467B1 (en) * 1997-10-27 2002-02-26 Hughes Electronics Corporation System and method for multicasting multimedia content
US6185598B1 (en) * 1998-02-10 2001-02-06 Digital Island, Inc. Optimized network resource location
US8060613B2 (en) * 1998-02-10 2011-11-15 Level 3 Communications, Llc Resource invalidation in a content delivery network
US6928652B1 (en) * 1998-05-29 2005-08-09 Webtv Networks, Inc. Method and apparatus for displaying HTML and video simultaneously
US6343318B1 (en) * 1998-05-29 2002-01-29 Palm, Inc. Method and apparatus for communicating information over low bandwidth communications networks
US6215483B1 (en) 1998-06-17 2001-04-10 Webtv Networks, Inc. Combining real-time and batch mode logical address links
US6405224B1 (en) 1998-09-01 2002-06-11 Aidministrator Nederland B.V. Method and apparatus for HTML control
US6415316B1 (en) 1998-09-01 2002-07-02 Aidministrator Nederland B.V. Method and apparatus for implementing a web page diary
US6295639B1 (en) 1998-09-01 2001-09-25 Aidministrator Nederland B.V. Securely accessing a file system of a remote server computer
US6289362B1 (en) * 1998-09-01 2001-09-11 Aidministrator Nederland B.V. System and method for generating, transferring and using an annotated universal address
US6877015B1 (en) * 1998-09-04 2005-04-05 Microsoft Corporation System and method for dynamically adjusting data values in response to remote user input
US6803926B1 (en) * 1998-09-18 2004-10-12 Microsoft Corporation System and method for dynamically adjusting data values and enforcing valid combinations of the data in response to remote user input
US6256626B1 (en) * 1998-09-24 2001-07-03 International Business Machines Corporation Externalizing very large objects in a relational database client/server environment
US6487551B2 (en) * 1998-09-24 2002-11-26 International Business Machines Corporation Externalizing very large objects in a relational database client/server environment
EP0993163A1 (de) 1998-10-05 2000-04-12 Backweb Technologies Ltd. System und Verfahren zur verteilten Datencachespeicherung in Kundenendgeräten
US6182125B1 (en) * 1998-10-13 2001-01-30 3Com Corporation Methods for determining sendable information content based on a determined network latency
US6442603B1 (en) 1998-10-13 2002-08-27 3Com Corporation Methods for ordered delivery of electronic content
US6532493B1 (en) * 1998-10-29 2003-03-11 Cisco Technology, Inc. Methods and apparatus for redirecting network cache traffic
US6779153B1 (en) 1998-12-11 2004-08-17 Microsoft Corporation Creation of web pages through synchronization
US7213202B1 (en) 1998-12-11 2007-05-01 Microsoft Corporation Simplified design for HTML
US6526448B1 (en) 1998-12-22 2003-02-25 At&T Corp. Pseudo proxy server providing instant overflow capacity to computer networks
US6272472B1 (en) * 1998-12-29 2001-08-07 Intel Corporation Dynamic linking of supplier web sites to reseller web sites
DE19911461A1 (de) 1999-03-15 2000-09-28 Oce Printing Systems Gmbh Verfahren zur Übertragung von Computerdaten an ein Ausgabegerät
US6938270B2 (en) * 1999-04-07 2005-08-30 Microsoft Corporation Communicating scripts in a data service channel of a video signal
US8200837B1 (en) * 1999-04-26 2012-06-12 Hewlett-Packard Development Company, L.P. Method and system for maintaining a content server at safe load conditions
AU5311100A (en) * 1999-06-01 2000-12-18 Datagistics Corporation System and method for improved data communication
US6516350B1 (en) * 1999-06-17 2003-02-04 International Business Machines Corporation Self-regulated resource management of distributed computer resources
US6275470B1 (en) * 1999-06-18 2001-08-14 Digital Island, Inc. On-demand overlay routing for computer-based communication networks
US6931420B1 (en) * 1999-09-24 2005-08-16 Silanis Technology Inc. Method for the separate authentication of a template and user data
US7096417B1 (en) * 1999-10-22 2006-08-22 International Business Machines Corporation System, method and computer program product for publishing interactive web content as a statically linked web hierarchy
US7174506B1 (en) * 1999-11-05 2007-02-06 International Business Machines Corporation Method and system for producing dynamic web pages
US6507854B1 (en) * 1999-11-05 2003-01-14 International Business Machines Corporation Enhanced network caching and mirroring system
US6671854B1 (en) * 1999-11-05 2003-12-30 International Business Machines Corporation Dynamic web object row count in hyper text markup language
US6721780B1 (en) 1999-11-09 2004-04-13 Fireclick, Inc. Predictive pre-download of network objects
US6851088B1 (en) * 1999-12-07 2005-02-01 International Business Machines Corporation Conditional highlighting of given cells in a dynamic HTML table
US7194680B1 (en) * 1999-12-07 2007-03-20 Adobe Systems Incorporated Formatting content by example
US7174562B1 (en) * 1999-12-20 2007-02-06 Microsoft Corporation Interactive television triggers having connected content/disconnected content attribute
US6668369B1 (en) 1999-12-29 2003-12-23 International Business Machines Corporation Software debugging tool for displaying dynamically written software code
US6757898B1 (en) * 2000-01-18 2004-06-29 Mckesson Information Solutions, Inc. Electronic provider—patient interface system
KR100366598B1 (ko) * 2000-01-25 2002-12-31 박형곤 인터넷에서 웹 서버 정보 서비스 방법
AUPQ539700A0 (en) * 2000-02-02 2000-02-24 Worldlingo.Com Pty Ltd Translation ordering system
AU2001234758A1 (en) * 2000-02-04 2001-08-14 America Online Incorporated High performance "freeze-dried" dynamic web page generation
US6539406B1 (en) 2000-02-17 2003-03-25 Conectron, Inc. Method and apparatus to create virtual back space on an electronic document page, or an electronic document element contained therein, and to access, manipulate and transfer information thereon
US20030004272A1 (en) * 2000-03-01 2003-01-02 Power Mark P J Data transfer method and apparatus
CA2401078C (en) * 2000-03-01 2009-08-04 British Telecommunications Public Limited Company Apparatus and method for refreshing a web page with reduced flicker
US7200640B1 (en) 2000-03-16 2007-04-03 Cole James M Continuously tunable, graphic internet navigation tool
AU2001232988A1 (en) * 2000-03-24 2001-10-08 Dotrocket, Inc. A system and method for increasing data packet transfer rate in a computer network
US7801766B2 (en) * 2000-03-31 2010-09-21 You Technology Brand Services, Inc. Method, system, and computer readable medium for facilitating a transaction between a customer, a merchant and an associate
JP2001350690A (ja) * 2000-04-07 2001-12-21 Peer To Peer:Kk ホームページの更新システムおよび方法
GB2361330A (en) * 2000-04-13 2001-10-17 Int Computers Ltd Template mechanism for document generation
US6766524B1 (en) * 2000-05-08 2004-07-20 Webtv Networks, Inc. System and method for encouraging viewers to watch television programs
US20050050163A1 (en) * 2000-05-24 2005-03-03 Cole James M. Continuously tunable, graphic internet navigation tool
US7437660B1 (en) * 2000-06-23 2008-10-14 Microsoft Corporation Editable dynamically rendered web pages
US7313588B1 (en) * 2000-07-13 2007-12-25 Biap Systems, Inc. Locally executing software agent for retrieving remote content and method for creation and use of the agent
US6826626B1 (en) 2000-07-21 2004-11-30 Clear Blue Technologies Management, Inc. Method of and apparatus for rapid retrieval of data in a content distribution network
US6725265B1 (en) * 2000-07-26 2004-04-20 International Business Machines Corporation Method and system for caching customized information
US7571217B1 (en) 2000-08-16 2009-08-04 Parallel Networks, Llc Method and system for uniform resource locator transformation
EP1182589A3 (de) * 2000-08-17 2002-07-24 International Business Machines Corporation Bereitstellung von elektronischen Dokumenten aus zwischengespeicherten Teilen
EP1410215A4 (de) * 2000-08-22 2006-10-11 Akamai Tech Inc Zusammenstellen von dynamischem inhalt auf edge-of-network-servern in einem inhaltsablieferungsnetzwerk
US6922702B1 (en) 2000-08-31 2005-07-26 Interactive Video Technologies, Inc. System and method for assembling discrete data files into an executable file and for processing the executable file
US6839059B1 (en) 2000-08-31 2005-01-04 Interactive Video Technologies, Inc. System and method for manipulation and interaction of time-based mixed media formats
US20020026521A1 (en) * 2000-08-31 2002-02-28 Sharfman Joshua Dov Joseph System and method for managing and distributing associated assets in various formats
US7668740B1 (en) * 2000-09-22 2010-02-23 Ita Software, Inc. Method, system, and computer program product for interfacing with information sources
US7254605B1 (en) 2000-10-26 2007-08-07 Austen Services Llc Method of modulating the transmission frequency in a real time opinion research network
GB2384346A (en) * 2000-11-02 2003-07-23 Citrix Systems Inc Methods and apparatus for augmenting page generation code to effect partial page regeneration
US7313622B2 (en) * 2000-11-08 2007-12-25 [X+1] Solutions, Inc. Online system and method for dynamic segmentation and content presentation
US20020091840A1 (en) * 2000-11-28 2002-07-11 Gregory Pulier Real-time optimization of streaming media from a plurality of media sources
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
US20020111992A1 (en) * 2000-12-18 2002-08-15 Copeland George P. JSP composition in a cache for web applications with dynamic content
US6877025B2 (en) * 2000-12-18 2005-04-05 International Business Machines Corp. Integrated JSP and command cache for web applications with dynamic content
US6807606B2 (en) 2000-12-18 2004-10-19 International Business Machines Corp. Distributed execution coordination for web caching with dynamic content
WO2002054258A1 (en) * 2001-01-04 2002-07-11 Ragnarok Systems, Inc. Method and system for caching and distributing information from dynamic internet websites
US20030189593A1 (en) * 2001-01-05 2003-10-09 Yarvin Curtis G. Method and apparatus for dynamically updating a markup language based user interface
US7269784B1 (en) 2001-01-22 2007-09-11 Kasriel Stephane Server-originated differential caching
US20020103876A1 (en) * 2001-01-29 2002-08-01 Masayuki Chatani System and computer-based method for providing transformed information in response to a client search request
US7171443B2 (en) * 2001-04-04 2007-01-30 Prodigy Communications, Lp Method, system, and software for transmission of information
US20020147849A1 (en) * 2001-04-05 2002-10-10 Chung-Kei Wong Delta encoding using canonical reference files
US20020147812A1 (en) * 2001-04-10 2002-10-10 Sun Microsystems, Inc. System and method for enabling applet execution in networks utilizing proxy servers
US20020156815A1 (en) * 2001-04-19 2002-10-24 International Business Machines Corporation Method and apparatus for the separation of web layout, logic, and data when used in server-side scripting languages
US8392827B2 (en) * 2001-04-30 2013-03-05 International Business Machines Corporation Method for generation and assembly of web page content
US6912591B2 (en) * 2001-05-02 2005-06-28 Science Application International Corporation System and method for patch enabled data transmissions
US6826614B1 (en) 2001-05-04 2004-11-30 Western Digital Ventures, Inc. Caching advertising information in a mobile terminal to enhance remote synchronization and wireless internet browsing
EP1395918A2 (de) * 2001-05-30 2004-03-10 Telefonaktiebolaget Lm Ericsson Verfahren zum übertragen einer seite von einem server zu einem kunden und software zum ausführen dieses verfahrens
US7185063B1 (en) * 2001-06-22 2007-02-27 Digital River, Inc. Content delivery network using differential caching
JP2003015993A (ja) * 2001-06-28 2003-01-17 Sony Corp 情報処理装置および情報処理方法、記録媒体、並びにプログラム
US7725584B1 (en) 2001-07-30 2010-05-25 Western Digital Ventures, Inc. Using multiple communication channels to synchronize a mobile terminal based on data type
US7275116B1 (en) 2001-07-30 2007-09-25 Western Digital Ventures, Inc. Mobile terminal synchronizing components of a document separately
US7092997B1 (en) 2001-08-06 2006-08-15 Digital River, Inc. Template identification with differential caching
US7188214B1 (en) 2001-08-07 2007-03-06 Digital River, Inc. Efficient compression using differential caching
US20040205116A1 (en) * 2001-08-09 2004-10-14 Greg Pulier Computer-based multimedia creation, management, and deployment platform
US20030046365A1 (en) * 2001-09-04 2003-03-06 Schlumberger Technology Corporation System and method for caching content
EP2403219B1 (de) * 2001-09-28 2014-10-22 Level 3 CDN International, Inc. Verfahren zur Domänennamenauflösung
US7860964B2 (en) * 2001-09-28 2010-12-28 Level 3 Communications, Llc Policy-based content delivery network selection
EP1333387A1 (de) * 2002-02-05 2003-08-06 Siemens Aktiengesellschaft Eine Methode des Auffrischens von Daten in einem Dokument in einer Beschreibungssprache
US9167036B2 (en) * 2002-02-14 2015-10-20 Level 3 Communications, Llc Managed object replication and delivery
US7296051B1 (en) 2002-02-19 2007-11-13 Digital River, Inc. Predictive predownload of templates with delta encoding
US7487261B1 (en) * 2002-02-22 2009-02-03 Digital River, Inc. Delta caching service
US8484282B2 (en) * 2002-03-21 2013-07-09 International Business Machines Corporation High-speed content transformation engine
US7228317B1 (en) * 2002-06-18 2007-06-05 Yahoo! Inc. Method and apparatus for accelerating and improving access to network files
US6823372B1 (en) * 2002-09-13 2004-11-23 Bellsouth Intellectual Property Corporation System and method for reverse proxy service
US9069815B1 (en) * 2002-11-06 2015-06-30 The Travelers Indemnity Company Method and system for responding to queries
TW583556B (en) * 2002-12-20 2004-04-11 Inst Information Industry Method for translating web page document into web service interface and storage medium storing computer program for executing the method
US20040205165A1 (en) * 2003-01-21 2004-10-14 Eplication Networks Ltd. Method for improving quality of service from an Internet server employing heuristic optimization of downloading
US7386786B2 (en) * 2003-01-24 2008-06-10 The Cobalt Group, Inc. Method and apparatus for processing a dynamic webpage
US7062506B2 (en) 2003-01-24 2006-06-13 The Cobalt Group, Inc. Staged publication and management of dynamic webpages
CN1549178A (zh) * 2003-05-16 2004-11-24 �Ҵ���˾ 分配和更新杂散资源的方法和系统
US20040236824A1 (en) * 2003-05-23 2004-11-25 Millington Bradley D. Post-cache substitution
US7325188B1 (en) * 2003-09-03 2008-01-29 Microsoft Corporation Method and system for dynamically capturing HTML elements
US20050091224A1 (en) * 2003-10-22 2005-04-28 Fisher James A. Collaborative web based development interface
US7890629B2 (en) * 2004-03-13 2011-02-15 Adaptive Computing Enterprises, Inc. System and method of providing reservation masks within a compute environment
US8968093B2 (en) * 2004-07-15 2015-03-03 Intel Corporation Dynamic insertion of personalized content in online game scenes
US9021529B2 (en) * 2004-07-15 2015-04-28 Microsoft Technology Licensing, Llc Content recordation techniques
JP4964775B2 (ja) * 2004-09-02 2012-07-04 ザ リージェンツ オブ ザ ユニバーシティ オブ カリフォルニア コンテンツ及びチャネルアウェアオブジェクトスケジューリング及び誤り制御
WO2006055769A2 (en) * 2004-11-17 2006-05-26 The Regents Of The University Of California System and method for providing a web page
US7711799B2 (en) * 2004-11-22 2010-05-04 Alcatel-Lucent Usa Inc. Method and apparatus for pre-packetized caching for network servers
EP1662405A1 (de) * 2004-11-30 2006-05-31 Alcatel Methode zur Anzeige von Daten auf einem Client-Computer
US7941556B2 (en) * 2005-02-23 2011-05-10 At&T Intellectual Property I, Lp Monitoring for replica placement and request distribution
FR2882833A1 (fr) * 2005-03-02 2006-09-08 Olivier Allouch Procede de transformation d'une page dynamique
DE102005010690B4 (de) * 2005-03-09 2007-04-12 Knorr-Bremse Systeme für Schienenfahrzeuge GmbH Öleingespritzter Verdichter mit Temperaturschalter
US20070027915A1 (en) * 2005-07-29 2007-02-01 Morris Robert P Method and system for processing a workflow using a publish-subscribe protocol
US7698321B2 (en) * 2005-09-30 2010-04-13 At&T Intellectual Property I, L.P. Methods, systems, and products for updating web content
CN100399335C (zh) * 2005-11-15 2008-07-02 李利鹏 把源文档转换成目标网页文件的方法
US20070112938A1 (en) * 2005-11-17 2007-05-17 Nokia Corporation Intermediary, source and methods for sharing content
US20070168420A1 (en) * 2005-12-30 2007-07-19 Morris Robert P Method and apparatus for providing customized subscription data
US7587450B2 (en) * 2006-02-01 2009-09-08 Swift Creek Systems, Llc HTTP publish/subscribe communication protocol
US20070220083A1 (en) * 2006-03-17 2007-09-20 Microsoft Corporation Estimation of initial dynamic rendering control data
US20080028086A1 (en) * 2006-07-27 2008-01-31 Chetuparambil Madhu K Method and Apparatus for Preserving Isolation of Web Applications when Executing Fragmented Requests
US20080077653A1 (en) * 2006-09-26 2008-03-27 Morris Robert P Methods, systems, and computer program products for enabling dynamic content in a markup-language-based page using a dynamic markup language element
US9330190B2 (en) * 2006-12-11 2016-05-03 Swift Creek Systems, Llc Method and system for providing data handling information for use by a publish/subscribe client
US20080147799A1 (en) * 2006-12-13 2008-06-19 Morris Robert P Methods, Systems, And Computer Program Products For Providing Access To A Secure Service Via A Link In A Message
US20080208982A1 (en) * 2007-02-28 2008-08-28 Morris Robert P Method and system for providing status information relating to a relation between a plurality of participants
US20080270546A1 (en) * 2007-04-30 2008-10-30 Morris Robert P Methods And Systems For Communicating Task Information
US20090037582A1 (en) * 2007-07-31 2009-02-05 Morris Robert P Method And System For Managing Access To A Resource Over A Network Using Status Information Of A Principal
US8266187B2 (en) * 2008-02-19 2012-09-11 Hewlett-Packard Development Company, L.P. Integration of static and dynamic data for database entities and the unified presentation thereof
US10924573B2 (en) 2008-04-04 2021-02-16 Level 3 Communications, Llc Handling long-tail content in a content delivery network (CDN)
US9762692B2 (en) 2008-04-04 2017-09-12 Level 3 Communications, Llc Handling long-tail content in a content delivery network (CDN)
EP2274684A4 (de) 2008-04-04 2012-12-05 Level 3 Communications Llc Umgang mit long-tail-inhalt in einem inhaltsablieferungsnetzwerk (cdn)
US20100241990A1 (en) * 2009-03-23 2010-09-23 Microsoft Corporation Re-usable declarative workflow templates
US20100287292A1 (en) * 2009-05-08 2010-11-11 Michael Ohman Meurlinger Method, apparatus and computer program product for generating a content website in a data communications network
US8706802B1 (en) 2009-11-24 2014-04-22 Google Inc. Latency-guided web content retrieval, serving, and rendering
JP5735095B2 (ja) * 2010-07-21 2015-06-17 エンパイア テクノロジー ディベロップメント エルエルシー 情報処理装置、サーバークライアントシステム、およびコンピュータプログラム
US10482475B2 (en) 2011-02-10 2019-11-19 Adp Dealer Services, Inc. Systems and methods for providing targeted advertising
FR2979509B1 (fr) * 2011-08-29 2014-06-06 Alcatel Lucent Procede et serveur pour le suivi des utilisateurs au cours de leur navigation dans un reseau de communication
US9058400B2 (en) 2012-08-15 2015-06-16 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. HTTP performance enhancement based on delta transfer
US20140185443A1 (en) * 2012-12-28 2014-07-03 Futurewei Technologies, Inc. Data optimization technique for the exchange of data at the edge of a wireless local area network
US9408050B2 (en) * 2013-01-31 2016-08-02 Hewlett Packard Enterprise Development Lp Reducing bandwidth usage of a mobile client
US11080734B2 (en) 2013-03-15 2021-08-03 Cdk Global, Llc Pricing system for identifying prices for vehicles offered by vehicle dealerships and other entities
US10771357B2 (en) * 2013-12-23 2020-09-08 Oath Inc. Method and system for delivering web page content using edge server
US10853769B2 (en) 2016-04-21 2020-12-01 Cdk Global Llc Scheduling an automobile service appointment in a dealer service bay based on diagnostic trouble codes and service bay attributes
US10867285B2 (en) 2016-04-21 2020-12-15 Cdk Global, Llc Automatic automobile repair service scheduling based on diagnostic trouble codes and service center attributes
US10332068B2 (en) 2016-04-21 2019-06-25 Cdk Global, Llc Systems and methods for stocking an automobile
EP3513303A4 (de) 2016-10-31 2020-03-18 Microsoft Technology Licensing, LLC Inhaltszwischenspeicherung für schnelle ladezeit
US11669675B2 (en) 2016-11-23 2023-06-06 International Business Machines Corporation Comparing similar applications with redirection to a new web page
US10951591B1 (en) * 2016-12-20 2021-03-16 Wells Fargo Bank, N.A. SSL encryption with reduced bandwidth
US10326858B2 (en) 2017-05-23 2019-06-18 Cdk Global, Llc System and method for dynamically generating personalized websites
US11501351B2 (en) 2018-03-21 2022-11-15 Cdk Global, Llc Servers, systems, and methods for single sign-on of an automotive commerce exchange
US11190608B2 (en) 2018-03-21 2021-11-30 Cdk Global Llc Systems and methods for an automotive commerce exchange
CN108833517A (zh) * 2018-06-05 2018-11-16 中国平安人寿保险股份有限公司 数据处理系统、方法、电子设备及存储介质
US11080105B1 (en) 2020-11-18 2021-08-03 Cdk Global, Llc Systems, methods, and apparatuses for routing API calls
US11514021B2 (en) 2021-01-22 2022-11-29 Cdk Global, Llc Systems, methods, and apparatuses for scanning a legacy database
US11803535B2 (en) 2021-05-24 2023-10-31 Cdk Global, Llc Systems, methods, and apparatuses for simultaneously running parallel databases

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0619744B2 (ja) * 1989-05-15 1994-03-16 インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン 複合データ構造の作成方式
US5491785A (en) * 1993-09-30 1996-02-13 Hewlett-Packard Company Information retrieval device for displaying and directly refreshing the display of a dynamically modifiable document
US5634052A (en) * 1994-10-24 1997-05-27 International Business Machines Corporation System for reducing storage requirements and transmission loads in a backup subsystem in client-server environment by transmitting only delta files from client to server
US5732219A (en) * 1995-03-17 1998-03-24 Vermeer Technologies, Inc. Computer system and computer-implemented process for remote editing of computer files
US5793966A (en) * 1995-12-01 1998-08-11 Vermeer Technologies, Inc. Computer system and computer-implemented process for creation and maintenance of online services
US5907837A (en) * 1995-07-17 1999-05-25 Microsoft Corporation Information retrieval system in an on-line network including separate content and layout of published titles
US5572643A (en) * 1995-10-19 1996-11-05 Judson; David H. Web browser with dynamic display of information objects during linking
US5715453A (en) * 1996-05-31 1998-02-03 International Business Machines Corporation Web server mechanism for processing function calls for dynamic data queries in a web page
US5897622A (en) * 1996-10-16 1999-04-27 Microsoft Corporation Electronic shopping and merchandising system
US5852717A (en) * 1996-11-20 1998-12-22 Shiva Corporation Performance optimizations for computer networks utilizing HTTP
US5892905A (en) * 1996-12-23 1999-04-06 International Business Machines Corporation Computer apparatus and method for providing a common user interface for software applications accessed via the world-wide web

Also Published As

Publication number Publication date
US6021426A (en) 2000-02-01
EP0898235A3 (de) 2000-03-01
DE69833899D1 (de) 2006-05-11
EP0898235A2 (de) 1999-02-24
EP0898235B1 (de) 2006-03-22
CA2244381C (en) 2002-01-01
CA2244381A1 (en) 1999-01-31

Similar Documents

Publication Publication Date Title
DE69833899T2 (de) Dynamische Datenübertragungsvorrichtung und Verfahren
DE69732605T2 (de) Dynamisches Cachespeicher-Vorladen über lose gekoppelte administrative Bereiche
DE60011069T2 (de) Behandlung einer anfrage nach informationen, die von einem dienstleisters angeboten werden
DE60111376T2 (de) System und verfahren zur dokumentverarbeitung
DE60015423T2 (de) Verfahren und Vorrichtung zur Objektwiedergabe in einem Netzwerk
DE60127247T2 (de) Netzwerkeinrichtung zur dokumentengültigkeitserklärung
DE69630480T2 (de) Verfahren, Vorrichtung und Datenstrukturen zur Objektverwaltung
DE69839175T2 (de) Erfassen eines Hypertexts ohne Seitenwechsel in einem Dokument mit Seitenwechsel
DE10051024B4 (de) Verfahren zum intermediären Cachen in einem Client-Server-Softwaresystem, Computerprogrammprodukte und Computersystem zur Durchführung eines solchen Verfahrens
DE69931256T2 (de) Verfahren und system zum zurückholen einer elektronischen akte
EP1311989B1 (de) Verfahren zur automatischen recherche
DE202008013034U1 (de) System zum Beschleunigen von Browsing-Sitzungen
DE69636869T2 (de) Server mit automatischer Menüladefunktion
DE69723432T2 (de) Informationsauffindungssystem mit einer cachedatenbank
CH704497B1 (de) Verfahren zum Benachrichtigen, Speichermedium mit Prozessoranweisungen für ein solches Verfahren.
DE10135444A1 (de) Verfahren für die Neuausrichtung der Quelle eines in einem HTML-Dokument dargestellten Datenobjekts
EP1241603A1 (de) Internet-Banner
DE10162418A1 (de) System zur Verarbeitung strukturierter Dokumente, damit sie sich zur Ablieferung über Netzwerke eignen
EP1620810B1 (de) Verfahren und anordnung zur einrichtung und aktualisierung einer benutzeroberfl che zum zugriff auf informationsseiten in ein em datennetz
DE19645128C2 (de) Verfahren zum Verwalten von Dokumenten sowie Gerätetreiber zur Durchführung des Verfahrens
DE10102649B4 (de) System und Verfahren für die Realisierung von Transaktionen mit Unterstützung durch ein Verzeichniszugriffs-LDAP-Protokoll
EP1030254B1 (de) Verfahren und System zum Verwalten von Dokumenten
DE19952630B4 (de) Verfahren zum Erzeugen einer Auswahlmaske für den Abruf von Daten aus einer oder einer Vielzahl von Datenbanken mit Hilfe von Informationsobjekten
EP1052579A1 (de) Verfahren zum Verwalten von Lesezeichen in einem Internet-Browser
DE10219390B4 (de) Server, Pufferspeicher und Browser zur beschleunigten Übermittlung von Hypertext-Dokumenten

Legal Events

Date Code Title Description
8364 No opposition during term of opposition