DE10121791B4 - Verfahren und Vorrichtung für dynamische Web-Seitenanordnung - Google Patents

Verfahren und Vorrichtung für dynamische Web-Seitenanordnung Download PDF

Info

Publication number
DE10121791B4
DE10121791B4 DE10121791A DE10121791A DE10121791B4 DE 10121791 B4 DE10121791 B4 DE 10121791B4 DE 10121791 A DE10121791 A DE 10121791A DE 10121791 A DE10121791 A DE 10121791A DE 10121791 B4 DE10121791 B4 DE 10121791B4
Authority
DE
Germany
Prior art keywords
user interaction
electronic document
page
entry
user
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 - Fee Related
Application number
DE10121791A
Other languages
English (en)
Other versions
DE10121791A1 (de
Inventor
Cary L. Rochester Bates
Mahdad Rochester Majd
John M. Rochester Santosuosso
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE10121791A1 publication Critical patent/DE10121791A1/de
Application granted granted Critical
Publication of DE10121791B4 publication Critical patent/DE10121791B4/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/0485Scrolling or panning
    • 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
    • G06F16/972Access to data in other repository systems, e.g. legacy data or dynamic Web page generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0489Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using dedicated keyboard keys or combinations thereof
    • G06F3/04895Guidance during keyboard input operation, e.g. prompting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

Verfahren zum Rendern eines auf einer vernetzten Anzeigeeinheit anzuzeigenden Dokumentes, wobei das Verfahren durch folgende Schritte gekennzeichnet ist:
Erfassen einer Interaktion eines Benutzers mit einem Benutzerinteraktionsfeld in einem gegenwärtig angezeigten Dokument und Erfassen der dem angezeigten Dokument zugeordneten Netzadresse,
Erstellen eines dem elektronischen Dokument zugeordneten Eintrages in einer Datenstruktur, wobei der Eintrag die erfasste Interaktion dem Benutzerinteraktionsfeld und der Netzadresse zuordnet,
bei einem erneuten Aufrufen des Dokumentes, Abrufen des elektronischen Dokumentes gemäß der Netzadresse,
Feststellen, ob der dem elektronischen Dokument zugeordnete Eintrag in der Datenstruktur vorhanden ist, wobei der Eintrag mindestens ein Benutzerinteraktionsfeld enthält,
falls der Eintrag vorhanden ist, Feststellen, ob das Benutzerinteraktionsfeld im elektronischen Dokument erscheint, und
falls das Benutzerinteraktionsfeld im elektronischen Dokument erscheint, Rendern einer Seite, um das Benutzerinteraktionsfeld in einem sichtbaren Bereich der vernetzten Anzeigeeinheit anzuzeigen.

Description

  • GRUNDLAGEN DER ERFINDUNG Gebiet der Erfindung
  • Die vorliegende Erfindung betrifft Informationssysteme. Insbesondere betrifft die Erfindung einen Browser (browser), der eine Seite gemäß vorhergehender Benutzeraktivität auf dieser Seite zur Anzeige bringt.
  • Technische Grundlagen
  • Informationssysteme, beispielsweise das Internet, stellen Benutzern einen Zugriff auf eine große Informationsmenge bereit. Viele Benutzer solcher Systeme verwenden einen Web-Browser oder ein ähnliches Programm; um die Informationen zu finden, an denen sie interessiert sind. Normalerweise wählt der Benutzer elektronische Dokumente aus, beispielsweise Hypertext Markup Language- ("HTML"-) Dokumente, lädt sie und zeigt sie an, wobei er eine als Browser bezeichnete Software verwendet, die normalerweise im Speicher des (Client-) Computers des Benutzers gespeichert ist. Vom Browser angezeigte HTML-Dokumente enthalten im Allgemeinen Bereiche, die bei Auswahl durch einen Benutzer den Browser veranlassen, andere HTML-Dokumente zu laden und anzuzeigen, die es dem Benutzer ermöglichen, Informationen einzugeben oder eine andere Benutzerinteraktion zu aktivieren. Ein wählbarer Bereich, beispielsweise eine Hypertextverbindung, kann ein Text, eine Grafik oder allgemein irgendein gekennzeichneter Bereich eines angezeigten HTML-Dokumentes sein.
  • Hypertextverbindungen haben zum Beispiel eine zugeordnete Netzadresse, beispielsweise einen Uniform Resource Locator ("URL"), eines HTML-Zieldokumentes, das geladen und angezeigt wird, wenn die Verbindung vom Benutzer ausgewählt wird.
  • Ein Problem bei elektronischen Dokumenten, beispielsweise HTML-Dokumenten, besteht darin, dass der Anzeigentyp und die Seitenformatierung die für den Benutzer sichtbare, angezeigte Ausgabe beeinflussen können. HTML-Dokumente werden normalerweise auf irgendeiner aus einer Vielzahl von Anzeigeeinheiten angezeigt, beispielsweise Katodenstrahlröhren ("CRTs") oder Flüssigkristallanzeigen. Manchmal kann eine ganze HTML-Seite angezeigt werden, manchmal muss der Benutzer die Anzeige "auf- und abverschieben" ("scroll"), das heißt, jenen gegenwärtig nicht gezeigten Teil der Seite auswählen, den der Benutzer betrachten möchte, indem eine Eingabe von einer Benutzereingabeeinheit bereitgestellt wird. Eine HTML-Seite könnte zum Beispiel so geladen werden, dass der obere Teil der Seite im oberen Teil der Anzeige erscheint, wobei ein unterer Teil der Seite nicht gezeigt wird.
  • Der Benutzer kann normalerweise Pfeiltasten, eine Maus, ein Scrollrad oder eine ähnliche Einheit betätigen, um die Seite nach unten zu verschieben (scroll down). Manchmal überschreitet die Breite oder die Länge der HTML-Seite den Anzeigebereich, und ein Benutzer muss den Bildschirminhalt möglicherweise zur Seite oder nach unten verschieben, um die gewünschten Informationen zu betrachten. Die Notwendigkeit eines Verschiebens zum gewünschten Betrachtungsbereich kann kompliziert werden, wenn elektronische Dokumente, die für einen bestimmten Anzeigentyp entworfen wurden, beispielsweise für eine Tischcomputeranzeige, auf einer kleineren Anzeige betrachtet werden, beispielsweise auf der Anzeige eines Funktelefons, die möglicherweise nur etwa 11 Zeilen aufweist. Leider sind die Benutzereingabeeinheiten, mit denen Einheiten mit kleinen Anzeigen ausgestattet sind, oftmals mühsamer zu handhaben als andere bei Tischsystemen bereitgestellte Bildverschiebungsvorrichtungen (scrolling devices), beispielsweise Rollkugeln oder "Mäuse".
  • Aus der US 6,012,098 ist ein Verfahren, ein System und ein Computerprogramm zum Einsatz von Servlets bekannt, um das Abrufen von Daten vom Darstellen (Rendern) in einem bestimmtes Darstellungsformat zu trennen. Dabei wird die Datenabruflogik in einem Daten-Servlet und die Anzeigeformatierungeinheit in ein Rendering-Servlet zusammengefasst. Das so genannte Servlet-Chaining wird benutzt, um das vom Daten-Servlet gelieferte Ergebnis an das Rendering-Servlet zu leiten. Das Daten-Servlet formatiert das zu liefernde Ergebnis beispielsweise in XML (Extensible Markup Language) gemäß einer DTD (Document Type Definition), um es anschließend zu dem nachfolgenden Rendering-Servlet zu schicken. Das Rendering-Servlet analysiert das vom Daten-Servlet empfangene Ergebnis und wandelt es in ein HTML (Hypertext Markup Language) Dokument um, das anschließend durch einen Browser im Client Computer sichtbar gemacht werden kann.
  • Stefan Münz: "SELFHTML, Version 7.0 vom 27.04.98", beschreibt die Erstellung von HTML Dokumenten, einschließlich der Programmierung in Java Script und Java Applets. Die Beschreibung schließt eine Sprachreferenz der diskutierten Programmiersprachen ein. Ab der CSS (Cascading Style Sheet) Version 2.0 gibt es auch verschiedene Angaben, um Elemente einer WWW-Seite exakt im Anzeigefenster des WWW-Browsers zu positionieren und die Position von Elementen untereinander genau zu kontrollieren. Dazu gehören Angaben zum absoluten und relativen Positionieren von Elementen, Angaben zur Ausdehnung von Elementen, Angaben zum Umfließen von Elementen und Angaben zum Überlappen und Anzeigen von Elementen.
  • Daher besteht ein Bedarf an einer Vorrichtung und einem Verfahren zur Verringerung oder Beseitigung der Notwendigkeit des Verschiebens einer Seite.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • In einer Ausführungsform der Erfindung wird ein computerlesbares, signaltragendes (signal-bearing) Medium bereitgestellt, das ein Programm zum Ausgeben (Rendern) eines elektronischen Dokumentes auf eine Anzeige enthält. Wenn das Programm von einem Computer gelesen und ausgeführt wird, erhält es eine elektronische Adresse, die dem elektronischen Dokument zugeordnet ist. Das Programm wertet sodann eine Datenstruktur aus, um festzustellen, ob ein Benutzer das elektronische Dokument bearbeitet hat. Die Datenstruktur enthält mindestens einen Eintrag für ein Benutzerinteraktionsfeld (user interaction field) im elektronischen Dokument. Falls der Benutzer das elektronische Dokument bearbeitet hat, stellt das Programm fest, ob das Benutzerinteraktionsfeld im elektronischen Dokument vorhanden ist. Falls das Benutzerinteraktionsfeld im elektronischen Dokument vorhanden ist, bringt (rendert) das Programm das elektronische Dokument zur Anzeige, so dass das Benutzerinteraktionsfeld auf der Anzeige zu sehen ist.
  • In einer anderen Ausführungsform wird ein anderes computerlesbares, signaltragendes Medium bereitgestellt, das ein Programm zur Ausgabe (zum Rendern) eines elektronischen Dokumentes auf eine Anzeige enthält. Wenn das Programm von einem Computer gelesen und ausgeführt wird, erhält es eine elektronische Adresse, die dem elektronischen Dokument zugeordnet ist. Anschließend stellt das Programm fest, ob eine erste Datenstruktur einen ersten dem elektronischen Dokument zugeordneten Benutzerinteraktionstyp (user interaction type) oder einen zweiten dem elektronischen Dokument zugeordneten Benutzerinteraktionstyp enthält. Falls die erste Datenstruktur den ersten Benutzerinteraktionstyp enthält, stellt das Programm fest, ob ein erster Eintrag für den ersten Benutzerinteraktionstyp in einer zweiten Datenstruktur vorhanden ist. Falls der erste Eintrag nicht in der zweiten Datenstruktur vorhanden ist, stellt das Programm fest, ob ein zweiter Eintrag für den zweiten Benutzerinteraktionstyp in einer dritten Datenstruktur vorhanden ist. Falls der zweite Eintrag vorhanden ist, stellt das Programm fest, ob ein dem zweiten Eintrag zugeordnetes Benutzerinteraktionsfeld im elektronischen Dokument vorhanden ist. Falls das Benutzerinteraktionsfeld im elektronischen Dokument vorhanden ist, gibt (rendert) das Programm das elektronische Dokument auf der Anzeige aus, so dass das Benutzerinteraktionsfeld auf der Anzeige sichtbar ist.
  • In einer anderen Ausführungsform wird ein Verfahren zur Ausgabe (zum Rendern) eines auf einer vernetzten Anzeigeeinheit (networked display device) anzuzeigenden Dokumentes bereitgestellt. Das Verfahren ruft ein einer Netzadresse entsprechendes elektronisches Dokument ab. Das Verfahren stellt sodann fest, ob ein dem elektronischen Dokument zugeordneter Eintrag in einer Datenstruktur vorhanden ist, wobei der Eintrag ein Benutzerinteraktionsfeld enthält. Falls der Eintrag vorhanden ist, stellt das Verfahren fest, ob das Benutzerinteraktionsfeld im elektronischen Dokument erscheint. Falls das Benutzerinteraktionsfeld im elektronischen Dokument erscheint, gibt (rendert) das Verfahren eine Seite aus, so dass das Benutzerinteraktionsfeld in einem sichtbaren Bereich der vernetzten Anzeigeeinheit angezeigt wird.
  • In einer anderen Ausführungsform wird ein anderes Verfahren zur Ausgabe (zum Rendern) eines auf einer vernetzten Anzeigeeinheit (networked display device) anzuzeigenden Dokumentes bereitgestellt. Das Verfahren ruft das einer Netzadresse entsprechende elektronische Dokument ab und stellt anschließend fest, ob ein erster dem elektronischen Dokument zugeordneter Eintrag in einer Datenstruktur vorhanden ist, wobei der erste Eintrag ein erstes Benutzerinteraktionsfeld und einen ersten Zählwert enthält. Falls der erste Eintrag in der Datenstruktur vorhanden ist, stellt das Verfahren fest, ob das erste Benutzerinteraktionsfeld im elektronischen Dokument erscheint. Falls das erste Benutzerinteraktionsfeld im elektronischen Dokument erscheint, bewegt das Verfahren das erste Benutzerinteraktionsfeld von einer ersten aktuellen Position im elektronischen Dokument in einen sichtbaren Teil der Anzeige. Außerdem stellt das Verfahren fest, ob die Datenstruktur einen zweiten dem elektronischen Dokument zugeordneten Eintrag enthält, wobei der zweite Eintrag ein zweites Benutzerinteraktionsfeld und einen zweiten Zählwert enthält. Falls der zweite Eintrag in der Datenstruktur vorhanden ist, stellt das Verfahren fest, ob das zweite Benutzerinteraktionsfeld im elektronischen Dokument erscheint. Falls das zweite Benutzerinteraktionsfeld im elektronischen Dokument erscheint, bewegt das Verfahren das zweite Benutzerinteraktionsfeld von einer zweiten aktuellen Position auf der Seite in den sichtbaren Teil der Anzeige, wobei das zweite Benutzerinteraktionsfeld über dem ersten Benutzerinteraktionsfeld angezeigt wird, falls der zweite Zählwert größer als der erste Zählwert ist.
  • In einer anderen Ausführungsform wird ein Verfahren zur Speicherung von Benutzerinteraktionsgewohnheiten (user interaction habits) bei einem elektronischen Dokument bereitgestellt. Das Verfahren ruft eine erste Benutzerinteraktion bezüglich des elektronischen Dokumentes und eine der Seite zugeordnete Netzadresse ab. Anschließend stellt das Verfahren fest, ob die erste Benutzerinteraktion der erste Benutzerinteraktionstyp ist. Falls die erste Benutzerinteraktion der erste Benutzerinteraktionstyp ist, ruft das Verfahren Felddaten des elektronischen Dokumentes ab, die der ersten Benutzerinteraktion zugeordnet sind, und speichert die Felddaten des elektronischen Dokumentes entsprechend dem ersten Benutzerinteraktionstyp und der Netzadresse. Das Verfahren erhöht und speichert einen der ersten Benutzerinteraktion zugeordneten Zählwert.
  • In einer anderen Ausführungsform wird ein konfigurierbarer Client-Computer zur Verwendung in einem Client-Server-Computersystem bereitgestellt. Der Client-Computer enthält eine Anzeige und einen Browser mit der Fähigkeit zum Ausgaben (Rendern) elektronischer Dokumente auf die Anzeige. Der Browser kann auf Benutzergewohnheitsdaten (user habit data) in Verbindung mit Adressdaten des elektronischen Dokumentes zugreifen. Eine vom Browser aufgerufene Ausgabeeinrichtung (renderer) kann ein ausgewähltes elektronisches Dokument gemäß den Benutzergewohnheitsdaten auf die Anzeige ausgeben (rendern).
  • In einer anderen Ausführungsform wird ein konfigurierbarer Client-Computer zur Verwendung in einem Client-Server-Computersystem bereitgestellt. Der Client-Computer enthält eine Anzeige, die höchstens eine erste Anzahl von Zeilen anzeigen kann, und einen Browser, der elektronische Dokumente auf die Anzeige ausgeben (rendern) kann. Der Browser kann auf Benutzergewohnheitsdaten in Verbindung mit Seitenadressdaten zugreifen. Eine Ausgabeeinrichtung (renderer) wertet die Benutzergewohnheitsdaten in einer Datendatei aus, um ein ausgewähltes elektronisches Dokument auf die Anzeige auszugeben (zu rendern), indem Elemente im ausgewählten elektronischen Dokument gemäß den Benutzergewohnheitsdaten neu angeordnet werden.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Die Lehre der vorliegenden Erfindung kann problemlos verstanden werden, indem die folgende ausführliche Beschreibung in Verbindung mit den begleitenden Zeichnungen betrachtet wird, in denen:
  • 1 ein vereinfachtes Blockschaltbild eines Client-Server-Computersystems gemäß einer Ausführungsform der vorliegenden Erfindung ist;
  • 2a ein vereinfachtes Flussdiagramm eines Teils eines Browsers gemäß einer Ausführungsform der vorliegenden Erfindung ist;
  • 2b eine vereinfachte Darstellung einer Seitenausgabeeinrichtungsdatei (page renderer file) ist;
  • 3 ein vereinfachtes Flussdiagramm eines Prozesses zur Speicherung von Daten für Benutzergewohnheiten mit einer Seite ist;
  • 4a ein vereinfachtes Flussdiagramm eines Seitenausgabeeinrichtungsprozesses (page renderer process) unter Verwendung einer Seitenänderung (page alteration) ist;
  • 4b ein vereinfachtes Flussdiagramm eines Seitenausgabeeinrichtungsprozesses (page renderer process) unter Verwendung einer Seitenpositionierung ist;
  • 5a ein vereinfachtes Flussdiagramm einer Ausführungsform eines Tabellenausgabeprozesses (table renderer process) ist;
  • 5b eine vereinfachte Darstellung einer Datenstruktur eines Tabellendateieintrags (table file entry) ist;
  • 6a eine vereinfachte Darstellung einer Tabelle von Informationen und Verbindungen ist, wie sie auf einer Anzeige einer vernetzten Einheit als Teil eines elektronischen Dokumentes gezeigt werden könnten;
  • 6b eine beispielhafte Tabelle ist, die auf einer Anzeige einer vernetzten Einheit gemäß der Funktionsweise einer Ausführungsform der vorliegenden Erfindung gezeigt wird;
  • 6c ein Teil der beispielhaften Tabelle ist, der auf der vernetzten Einheit gemäß der Funktionsweise einer Ausführungsform der vorliegenden Erfindung nicht angezeigt wird;
  • 7a ein vereinfachtes Flussdiagramm einer Ausführungsform eines Verbindungsrendereinrichtungsprozesses (link renderer process) ist;
  • 7b eine vereinfachte Darstellung einer Datenstruktur eines Verbindungswahl-Dateieintrags (link-taken file entry) ist;
  • 8a ein vereinfachtes Flussdiagramm einer Ausführungsform eines Dateneingabeprozesses (data-entered process) ist;
  • 8b eine vereinfachte Darstellung einer Datenstruktur eines Dateneingabe-Dateieintrags (data-entered file entry) ist.
  • Zur Erleichterung des Verständnisses wurden nach Möglichkeit identische Bezugsziffern verwendet, um in den Figuren vorkommende identische Elemente zu kennzeichnen.
  • AUSFÜHRLICHE BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORM
  • Die vorliegende Erfindung betrifft die Anpassung einer angezeigten Seite gemäß einer Benutzeraktivität. Eine Seite wird normalerweise von einem Server-Computer ("Server") zu einem Client-Computer ("Client") heruntergeladen. Ein Browser im Client-Computer gibt (rendert) die Seite gemäß vom Server empfangenen Informationen aus. Seiteninformationen können in einer Vielfalt von Formaten, beispielsweise HTML, Hand-Held Device Markup Language ("HDML"), Wireless Application Protocol ("WAP") oder in einem anderen Format, von einem Server zum Client gesendet werden. Für die Einfachheit der Erläuterung werden HTML-Seiten lediglich zur Veranschaulichung verwendet.
  • Wie unten ausführlich beschrieben wird, stehen Aspekte der bevorzugten Ausführungsform mit spezifischen Verfahrensschritten in Verbindung, die in Computersystemen realisiert werden können. In einer alternativen Ausführungsform kann die Erfindung als Computerprogrammprodukt zur Verwendung in einem Computersystem realisiert werden. Die Programme, die die Funktionen der bevorzugten Ausführungsform definieren, können einem Computer über eine Vielzahl von signaltragenden Medien bereitgestellt werden, darunter – jedoch nicht ausschließlich – die folgenden: (i) Informationen, die in einem schreibgeschützten Speichermedium gespeichert sind (z.B. Nur-Lese-Speicher- ("ROM") Einheiten in einem Computer, zum Beispiel ROM oder ein von einem CD-ROM-Laufwerk lesbarer Compact Disk-ROM ("CD-ROM")); (ii) veränderbare Informationen, die auf beschreibbaren Speichermedien gespeichert sind (z.B. Disketten in einem Diskettenlaufwerk oder einem Festplattenlaufwerk); oder (iii) Informationen, die über ein Datenübertragungsmedium zu einem Computer übertragen werden, beispielsweise über ein Computeroder Telefonnetz, einschließlich drahtlosen Datenübertragungsvorgängen. Wenn solche signaltragenden Medien computerlesbare Befehle übertragen, die die Funktionen der vorliegenden Erfindung steuern, stellen sie alternative Ausführungsformen der vorliegenden Erfindung dar.
  • 1 stellt ein Datenverarbeitungssystem 100 dar, in dem die bevorzugte Ausführungsform realisiert werden kann. Im Allgemeinen enthält das Datenverarbeitungssystem 100 einen Client-Computer 122 und mindestens einen Server-Computer 124 (zusätzliche Server 124a bis 124n werden gezeigt). Der Client-Computer 122 und der Server-Computer 124 können Komponenten desselben Computersystems oder separate Komponenten sein, die über ein Netz 126, zum Beispiel das Internet, verbunden sind. Das Netz kann ein Draht oder Kabel sein, das den Client direkt elektronisch mit dem Server verbindet, oder kann einen drahtlosen Übertragungsteil enthalten, wie er beispielsweise in Funktelefonen und anderen "drahtlosen" Einheiten verwendet wird. Dementsprechend ist es klar, dass der Client andere Komponenten enthalten könnte, beispielsweise einen Empfänger und einen Modem (d.h. einen "drahtlosen Modem").
  • Der Client-Computer 122 enthält eine Zentraleinheit ("CPU") 128, die über einen Bus 130 mit dem Speicher 132, dem Speicher 134, der Eingabeeinheit 136 und der Ausgabeeinheit 138 verbunden ist. Die Eingabeeinheit 136 kann irgendeine Einheit sein, um eine Eingabe in den Client-Computer 122 auszuführen. Beispielsweise könnte eine Tastatur, ein Tastenfeld, ein Lichtstift, ein berührungsempfindlicher Bildschirm, eine Taste, eine Maus, eine Rollkugel oder eine Spracherkennungseinheit verwendet werden. Die Ausgabeeinheit 138 ist vorzugsweise irgendein herkömmlicher Bildschirm, zum Beispiel Flüssigkristallanzeigen ("LCDs") oder Katodenstrahlröhren ("CRTs"), und obwohl sie getrennt von der Eingabeeinheit 136 gezeigt wird, könnte die Ausgabeeinheit 138 mit der Eingabeeinheit 136 kombiniert werden. Die Ausgabeeinheit enthält im Allgemeinen einen sichtbaren Teil 139, aus dem ein Benutzer lesen kann. Beispielsweise könnten ein Bildschirm mit einem integrierten berührungsempfindlichen Bildschirm und eine Anzeige mit einer integrierten Tastatur oder eine Spracherkennungseinheit in Verbindung mit einer Sprachumsetzungseinrichtung verwendet werden.
  • Obwohl der Speicher 132 als einzelne Einheit gezeigt wird, muss klar sein, dass der Speicher 132 tatsächlich eine Vielzahl von Modulen umfassen kann und dass der Speicher 132 auf mehreren Ebenen vorliegen kann, von Hochgeschwindigkeitsregistern und Cachespeichern bis hin zu langsameren, jedoch größeren DRAM- und SRAM-Chips. Der Speicher 132 enthält ein Browser-Programm 140, das bei Ausführung in der CPU 128 eine Unterstützung für die Navigation zwischen den verschiedenen Servern 124, 124a bis 124n bereitstellt, für die Lokalisierung von Adressen in einem oder mehreren der Server, für die Eingabe von Daten in Datenfelder und für andere Funktionen, zum Beispiel Seitenausgabe (page rendering). Der Inhalt des Speichers 132 kann aus dem Speicher 134 geladen und in diesem gespeichert werden, wenn die CPU 128 ihn benötigt.
  • In einer Ausführungsform ist der Speicher 134 ein nichtflüchtiger Speicher, beispielsweise ein nichtflüchtiger Arbeitsspeicher ("RAM"), ein Flash-Speicher (flash memory), ein Magnetspeicher oder ein optischer Speicher. In einigen Ausführungsformen könnte es ein gewöhnlicher RAM sein. Obwohl der Speicher 134 als eine einzelne Einheit gezeigt wird, könnte er irgendeine Kombination von feststehenden und/oder austauschbaren Speichereinheiten sein, beispielsweise Festplattenlaufwerken, Diskettenlaufwerken, Bandlaufwerken, austauschbaren Speicherkarten oder einem optischen Speicher. Der Speicher 132 und der Speicher 134 könnten ein Teil eines virtuellen Adressraums sein, der sich über mehrere primäre und sekundäre Speichereinheiten erstreckt. Der Speicher 134 enthält verschiedene Datenstrukturen und, wie in 1 gezeigt wird, enthält der Speicher 134 Datendateien 141a, 141b, 141c (und möglicherweise andere). Die Datendateien speichern neben anderen Daten Informationen zu Benutzergewohnheiten und werden beim Ausgeben (Rendern) einer Seite zur Anzeige verwendet.
  • In einer bestimmten Ausführungsform hat eine Seitenrendereinrichtungs-Datendatei (page renderer data file) einen Dateneintrag, falls ein bestimmter Datentyp in anderen Datendateien 141a, 141b, 141c enthalten ist. Die anderen Datendateien speichern Benutzerinteraktionsgewohnheiten für verschiedene Typen von Benutzerinteraktionen mit einem elektronischen Dokument. Eine erste Datendatei 141a könnte beispielsweise eine Tabelleninteraktionsdatei sein, eine zweite Datendatei 141b könnte eine Verbindungsinteraktionsdatei sein, und eine dritte Datendatei 141c könnte eine Dateneingabeinteraktionsdatei (data entered interaction file) sein. Falls eine Benutzerinteraktion stattfindet, die eine Tabelleninteraktion, eine Verbindungsinteraktion oder eine Dateneingabeinteraktion umfasst, zeichnet die entsprechende Datendatei Informationen über die Benutzerinteraktion mit dem elektronischen Dokument auf und stellt einen Eintrag, d.h. einen Schlüssel, in ein Datenfeld (siehe 2b, Bezugsziffer 224) der Seitenrendereinrichtungs-Datendatei 141. Wenn der Benutzer das nächste Mal mit dem elektronischen Dokument interagiert, leitet die Seitenrendereinrichtungs-Datendatei einen Seitenrendereinrichtungsprozess ein. Fachleute werden verstehen, dass diese Datendateien und ihr Zusammenhang lediglich beispielhaft sind. Der Schlüssel könnte beispielsweise während eines Auswertungsschrittes eines Prozesses (z.B. wenn eine Benutzerinteraktion ausgewertet wird, um festzustellen, ob sie zu einem die Seitenrendering betreffenden Typ gehört) oder gleichzeitig mit der Erzeugung eines Eintrags für die Interaktionsdatendatei erzeugt werden.
  • Jeder Server-Computer 124 umfasst im Allgemeinen eine CPU 142, einen Speicher 144 und einen Speicher 146, die durch einen Bus 148 verbunden sind. Es ist klar, dass dieses Blockschaltbild für die Veranschaulichung vereinfacht ist, und dass die tatsächlichen Serverkomponenten physisch getrennt sein könnten und dass der Server andere Komponenten enthalten könnte, beispielsweise Anzeigen und Eingabeeinheiten, die nicht gezeigt werden. Der Speicher 144 enthält einen Arbeitsspeicher und/oder einen anderen beschreibbaren Speicher, der groß genug ist, um die notwendigen Programm- und Datenstrukturen zu speichern, die sich gemäß einer Netzadresse, z.B. einem URL, im Server-Computer 124 befinden.
  • Wie gezeigt wird, enthält der Speicher 144 einen Hypertext Transfer Protocol- ("HTTP"-) Serverprozess 145, der geeignet ist Anforderungen vom Client-Computer bezüglich HTML-Dokumenten zu bedienen, die aus dem Speicher abgerufen werden können und für die das elektronische Dokument 147 im Speicher 144 ein Beispiel ist. Der HTTP-Serverprozess 145 dient lediglich der Veranschaulichung, und Ausführungsformen der Erfindung gehen von anderen nach dem Stand der Technik bekannten und unbekannten Protokollen aus. Die CPU 142 kann bei Bedarf auf die Programm- und Datenstrukturen zugreifen. Der Speicher 146 ist für die langfristige Speicherung eines Ausführungscodes (implementation code) und von während des Betriebs benötigten Daten vorgesehen. Obwohl eine spezifische Hardwarekonfiguration für das Datenverarbeitungssystem 100 gezeigt wird, enthalten Ausführungsformen der vorliegenden Erfindung irgendeine Hardwarekonfiguration, die das Durchsuchen (browsing) von Dokumenten ermöglicht, unabhängig davon, ob das Computersystem eine komplizierte Mehrbenutzer-Datenverarbeitungsvorrichtung, eine Einzelbenutzer-Datenstation oder eine Netzvorrichtung ist, die keinen eigenen nichtflüchtigen Speicher aufweist.
  • 2a ist ein vereinfachtes Flussdiagramm eines Browser-Prozesses 200, der stattfindet, wenn ein Benutzer mit dem Browser arbeitet. Der Prozess beginnt (Schritt 202) mit dem Starten des Browser-Programms (1, Bezugsziffer 140). Während des Betriebs leitet der Benutzer verschiedene Maßnahmen ein, oder der Browser ruft Maßnahmen auf, oder das Browser-Programm oder externe Programme (z.B. Serverprogramm(e)) (Schritt 204) können Maßnahmen bereitstellen. Für die Veranschaulichung werden solche Maßnahmen als "Ereignisse" bezeichnet. Ein Ereignis könnte beispielsweise darin bestehen, eine von einem Server heruntergeladene oder im Speicher des Clients gespeicherte Seite aufzubereiten (zu rendern). Der Browser stellt sodann fest (Schritt 206), ob das Ereignis das Aufbereiten (Rendern) einer Seite ist. Ist dies der Fall, fährt der Browser beim Schritt 208 mit einem Seitenrendereinrichtungsprozess fort. Falls das Ereignis etwas anderes als das Aufbereiten (Rendern) einer Seite ist, wird der Browser weiter ausgeführt und bearbeitet das Ereignis (Schritt 210), bevor er zurückkehrt, um das nächste Ereignis abzurufen.
  • 2b ist eine vereinfachte Darstellung einer Seitenrendereinrichtungsdatei 220, die in einem Seitenrendereinrichtungsprozess verwendet wird. Die Seitenrendereinrichtungsdatei wird als eine Datendatei gespeichert, beispielsweise die in 1 gezeigte Datendatei 141. Die Seitenrendereinrichtungsdatei enthält eine Netzadresse 222 für ein elektronisches Dokument und einen Typ 224. Für die Erläuterung wird das elektronische Dokument als eine "Seite" bezeichnet. Der Typ stellt einen Typ von vorhergehender Benutzerinteraktion mit dem elektronischen Dokument dar, der den Seitenrendereinrichtungsprozess aufruft, um das Dokument gemäß Benutzergewohnheiten bezüglich der Interaktion mit dem Dokument auf einer Anzeige darzustellen.
  • 3 ist ein vereinfachtes Flussdiagramm eines Computerprogrammprozesses 300 zum Speichern von Benutzergewohnheiten bezüglich der Interaktion mit einer Seite. Der Prozess beginnt (Schritt 302), wenn ein Benutzer mit einer gegenwärtig angezeigten Seite interagiert. Der Benutzer kann auf vielfältige Art und Weise mit Seiten interagieren, unter anderem die Seite horizontal oder vertikal verschieben, eine Tabelle auf der Seite verschieben, Daten in ein Dateneingabefeld auf der Seite eingeben oder eine Verbindung auf der Seite auswählen. Der Prozess ruft die Benutzerinteraktion (Schritt 304) und die der angezeigten Seite zugeordnete Netzadresse, z.B. URL, ab (Schritt 306). Das Abrufen des URL stellt Korrelationsinformationen zur Eingabe in die Seitenrendereinrichtungsdatei bereit.
  • Der Prozess 300 stellt sodann fest, welcher Typ von Benutzerinteraktion stattgefunden hat. Zur Veranschaulichung besteht die erste Feststellung (Schritt 308) darin, ob der Benutzer mit einer Tabelle interagiert. Falls die Antwort JA lautet, ruft der Prozess den Tabellennamen, die Tabellenreihe und die Tabellenspalte ab (Schritt 310). Mit den vom Schritt 310 empfangenen Informationen fügt der Prozess sodann Daten in der Tabellenrendereinrichtungsdatei hinzu oder aktualisiert diese (Schritt 312). Die Tabellenrendereinrichtungsdatei kann beispielsweise Einträge bezüglich des URL, des Tabellennamens, der Tabellenreihe, der Tabellenspalte und einen Zählwert enthalten, der Benutzeraktivität oder Benutzergewohnheiten auf der Seite anzeigt. Nach dem Aktualisieren oder Hinzufügen von Daten in die Tabellenrendereinrichtungsdatei (Schritt 312) kehrt der Prozess 300 zurück, um, falls vorhanden, eine weitere Benutzerinteraktion abzurufen (Schritt 304).
  • Falls der Benutzer noch nicht mit der Seite interagiert hat, fügt der Prozess einen Eintrag in der Tabellenrendereinrichtungsdatei hinzu, falls die Benutzerinteraktion ein Typ ist, den der Prozess für Seitenrenderingszwecke aufzeichnet. Eine Aktualisierung findet statt, falls es vor der aktuellen Benutzerinteraktion bereits Einträge in der Tabellenrendereinrichtungsdatei gibt. Eine Erhöhung des jeder Seite und jedem Typ von Benutzerinteraktion zugeordneten Zählwertes ist eine Möglichkeit, wie die Tabellenrendereinrichtungsdatei aktualisiert wird. Folglich stellt der Zählwert dar, wie oft der Benutzer über einen bestimmten Zeitraum mit einer Position auf einer angezeigten Seite interagiert hat, d.h. die Interaktionsgewohnheiten des Benutzers. Das Zählfeld könnte schließlich aufgefüllt werden oder veraltete Benutzergewohnheitsdaten darstellen. Folglich kann das Zählfeld zusätzliche Attribute aufweisen, beispielsweise wann die Benutzerinteraktion stattfand. Ein anderes im Hintergrund ablaufendes Programm könnte zum Beispiel den Zählwert von Zeit zu Zeit vermindern, so dass er aktuelle Benutzergewohnheiten darstellt.
  • Falls die Benutzerinteraktion beim Schritt 308 nicht mit einer Tabelle erfolgt, stellt der Prozess 300 fest, ob der Benutzer mit einer Verbindung (Link) interagiert (Schritt 314). Falls die Benutzerinteraktion mit einer Verbindung erfolgt, ruft der Prozess die gewählte Verbindung ab (Schritt 316) und fügt der Verbindungsdatei (Schritt 318) Einträge für die Netzadresse, die gewählte Verbindung und einen zugeordneten Zählwert für diese Verbindung auf dieser Seite hinzu oder aktualisiert die Datei. Nach dem Hinzufügen oder Aktualisieren der Daten in der Verbindungsrendereinrichtungsdatei kehrt der Prozess zurück, um, falls vorhanden, eine weitere Benutzerinteraktion abzurufen (Schritt 304).
  • Falls die Benutzerinteraktion nicht im Auswählen einer Verbindung von der angezeigten Seite bestand, wird der Prozess 300 fortgesetzt, um festzustellen, ob die Benutzerinteraktion eine Eingabe von Daten war (Schritt 320). Falls der Benutzer Daten eingegeben hat, ruft der Prozess Seitenfeldinformationen ab, beispielsweise den HTML-Elementnamen, wo der Benutzer Daten eingab (Schritt 322) und fügt Daten in eine Dateneingabe-Rendereinrichtungsdatei hinzu oder aktualisiert diese (Schritt 324). Die Dateneingabe-Rendereinrichtungsdatei kann beispielsweise die Netzadresse, den dem Dateneingabefeld zugeordneten Seitenelementnamen und einen Zählwert enthalten. Nach dem Hinzufügen oder Aktualisieren der Daten in der Dateneingabe-Rendereinrichtungsdatei kehrt der Prozess zurück, um, falls vorhanden, eine weitere Benutzerinteraktion abzurufen (Schritt 304).
  • Falls die Benutzerinteraktion nicht in der Eingabe von Daten bestand, könnte der Prozess 300 mit weiteren Entscheidungsknoten mit ähnlichen Verzweigungsvorgängen für andere Typen von Benutzerinteraktionen) 321 fortfahren. Ein Benutzer könnte eine Seite beispielsweise einfach nach unten oder seitlich verschieben, und der Prozess könnte aufzeichnen, um wie viele Reihen oder Spalten verschoben wurde. Nachdem die Typen von Einträgen ausgewertet wurden, kehrt der Prozess zurück, um, falls vorhanden, die nächste Benutzerinteraktion abzurufen (Schritt 304).
  • 4a ist ein vereinfachtes Flussdiagramm eines Seitenrendereinrichtungsprozesses 400 gemäß einer Ausführungsform der vorliegenden Erfindung. Dieser Seitenrendereinrichtungsprozess ändert eine Seitenanzeige gemäß Benutzergewohnheiten. Mit erneuter kurzer Bezugnahme auf 2a, Schritt 206, wird der Seitenrendereinrichtungsprozess 400 gestartet (Schritt 402), falls der Browser auf ein Ereignis trifft, das ein Seitenrendering aufruft. Der Seitenrendereinrichtungsprozess ruft die Netzadresse der zu rendernden Seite ab (Schritt 404), beispielsweise einen URL, und wertet aus, ob es irgendwelche Einträge in der Seitenrendereinrichtungsdatei gibt (Schritt 406). Falls keine Einträge in der Seitenrendereinrichtungsdatei vorhanden sind, wird die Seite formatiert (Schritt 408) und gerendert (Schritt 410), wobei der Seitenrendereinrichtungsprozess anschließend beendet ist (Schritt 412) und zum Browser-Hauptprogramm zurückkehrt (Schritt 414).
  • Es wäre kein Eintrag in der Seitenrendereinrichtungsdatei vorhanden, falls der Benutzer beispielsweise die Seite zuvor nicht besucht hätte oder falls er zuvor mit der Seite interagiert hätte, jedoch nicht auf einen Weise, die einen Eintrag für diese Seite in der Seitenrendereinrichtungsdatei erzeugen würde. Falls in der Seitenrendereinrichtungsdatei ein Eintrag für diese Seite vorhanden ist, läuft der Seitenrendereinrichtungsprozess 400 weiter ab, um den Typ von Eintrag festzustellen. In einer bestimmten Ausführungsform weist die Seitenrendereinrichtungsdatei einen Eintrag (d.h. einen Schlüssel oder eine WAHR-Markierung (TRUE flag)) auf, falls zuvor irgendeine von einem spezifischen Typ von Benutzerinteraktion mit dieser Seite stattgefunden hat. Fachleute werden erkennen, dass die gezeigte Reihenfolge lediglich beispielhaft ist, und andere Reihenfolgen von Entscheidungen und entsprechenden Maßnahmen gewählt werden könnten. Außerdem könnten andere Typen von Einträgen (Benutzerinteraktionen) mit zusätzlichen zugeordneten Prozessflüssen vorgenommen werden.
  • Mit erneuter kurzer Bezugnahme auf 1 speichern die Datendateien 41a, 41b, 41c Seitenrendereinrichtungsinformationen bezüglich Benutzergewohnheiten. Die Summe der einzelnen Datendateien wird insgesamt als die "Seitenrendereinrichtungsdatei" 141 bezeichnet. Falls in irgendeiner der die Seitenrendereinrichtungsdatei bildenden Datendateien ein Eintrag vorhanden ist, geht der Seitenrendereinrichtungsprozess weiter zum Schritt 416, der auswertet, ob ein Eintrag in der Tabellenrendereinrichtungsdatei vorliegt (z.B. Bezugsziffer 141a in 1). Falls ein Eintrag in der Tabellenrendereinrichtungsdatei vorhanden ist, geht der Seitenrendereinrichtungsprozess 400 weiter zu einem Tabellenrendereinrichtungsprozess (Schritt 418). Nachdem der Tabellenrendereinrichtungsprozess beendet ist oder falls kein Eintrag in der Tabellenrendereinrichtungsdatei vorhanden ist, geht der Seitenrendereinrichtungsprozess 400 weiter zum nächsten Schritt 420.
  • Beim Schritt 420 wertet der Seitenrendereinrichtungsprozess 400 aus, ob ein Eintrag in einer Verbindungsrendereinrichtungsdatei vorhanden ist (z.B. Bezugsziffer 141b in 1). Falls in der Verbindungsrendereinrichtungsdatei ein Eintrag vorhanden ist, geht der Seitenrendereinrichtungsprozess weiter zum Verbindungsrendereinrichtungsprozess (Schritt 422). Nachdem der Verbindungsrendereinrichtungsprozess beendet ist oder falls kein Eintrag in der Verbindungsrendereinrichtungsdatei vorhanden ist, geht der Seitenrendereinrichtungsprozess 400 weiter zum nächsten Schritt 424.
  • Beim Schritt 424 wertet der Seitenrendereinrichtungsprozess 400 aus, ob ein Eintrag in einer Dateneingabedatei vorhanden ist (z.B. Bezugsziffer 141c in 1). Falls in der Dateneingabe-Rendereinrichtungsdatei ein Eintrag vorhanden ist, geht der Seitenrendereinrichtungsprozess 400 weiter zu einem Tabelleneingabe-Darstellungsprozess (Schritt 426). Nachdem der Dateneingabe-Rendereinrichtungsprozess beendet ist, formatiert der Seitenrendereinrichtungsprozess die Seite (Schritt 428) und rendert die Seite (Schritt 430).
  • Die Schritte des Formatierens und Renderns der Seite können die Seite ändern, beispielsweise durch das Platzieren einer bestimmten Zeile oder mehrerer Zeilen des Dokumentes in den oberen Bereich der Seite, können Elemente der Seite neu anordnen, zum Beispiel Zeilen einer auf der Seite angezeigten Tabelle, können die Seite mittels einer Kombination aus verschiedenen Möglichkeiten ändern oder ansonsten die Seite gemäß des Seitenrendereinrichtungsprozesses 400 anzeigen. Nach dem Formatieren und Rendern der Seite (Schritte 428 und 430) ist der Seitenrendereinrichtungsprozess beendet (Schritt 412) und kehrt zum Browser-Hauptprogramm zurück (Schritt 414).
  • Falls in mehr als einer Rendereinrichtungsdatei Einträge vorhanden sind, kann der Prozess so strukturiert werden, dass der zuletzt ausgewertete Eintrag das Seitenrendering bestimmt. Mit anderen Worten, falls ein Verbindungswahleintrag (link taken entry) und ein Dateneingabeeintrag in den jeweiligen Datendateien vorliegen, wird die Seite so gerendert, dass sie das Dateneingabefeld im oberen Bereich der angezeigten Seite zeigt, da dies der zuletzt ausgewertete Typ von Benutzerinteraktion ist.
  • 4b ist ein vereinfachtes Flussdiagramm eines Seitenrendereinrichtungsprozesses 450 gemäß einer anderen Ausführungsform der vorliegenden Erfindung. Dieser Seitenrendereinrichtungsprozess positioniert eine Seite gemäß Benutzergewohnheiten auf einer Anzeige. Mit erneuter kurzer Bezugnahme auf 2a, Schritt 206, beginnt der Seitenrendereinrichtungsprozess 450 (Schritt 402'), falls der Browser auf ein Ereignis trifft, das ein Seitenrendering aufruft. Der Seitenrendereinrichtungsprozess 450 ruft die Netzadresse der zu rendernden Seite ab (Schritt 404'), beispielsweise einen URL, und wertet aus, ob es einen Eintrag in der Seitenrendereinrichtungsdatei gibt (Schritt 406'), wodurch angezeigt würde, dass ein Benutzer zuvor auf eine bestimmte Weise mit dieser Seite interagiert hat. Falls kein Eintrag vorhanden ist, wird die Seite formatiert (Schritt 408') und auf die Anzeige gerendert (Schritt 410'). Der Seitenrendereinrichtungsprozess ist sodann beendet (Schritt 412), und der Seitenrendereinrichtungsprozess 450 kehrt zum Browser-Hauptprogramm zurück (Schritt 414').
  • Falls ein Eintrag in der Seitenrendereinrichtungsdatei vorhanden ist, geht der Seitenrendereinrichtungsprozess weiter zu einem Seitenpositionierungsschritt (page positioning step) 452. Fachleute werden verstehen, dass die Entscheidungsknoten 406' von 4b und 406 von 4a kombiniert werden könnten, wobei in Abhängigkeit vom Typ des Seitenrendering, der gemäß des Benutzerinteraktionstyps gewünscht wird, eine zusätzliche Verzweigung zum Entscheidungsknoten hinzugefügt würde. Ähnlich könnten die Prozesse allgemeine Schritte gemeinsam nutzen, beispielsweise die Standardformatierung 408, 408' und das Rendering 410, 410'.
  • Der Seitenpositionierungsschritt 452 ruft erneut Benutzergewohnheitsdaten zur Seitenpositionierung ab, die in der Seitenrendereinrichtungsdatei oder in einer anderen Datenstruktur, beispielsweise einer Seitenpositionierungsdatendatei, gespeichert sein könnten. Falls der Benutzer beispielsweise nach dem Laden der Seite diese verschiebt, um einen bestimmten Bereich der Seite zu betrachten, speichert eine Seitenpositionierungsdatendatei ein oder mehrere der betrachteten Seite zugeordnete Seitenelemente.
  • Der Bereich der Seite, den der Benutzer normalerweise betrachtet, hängt von der Anzeigengröße und der Seitengröße ab. Ein Eintrag in der Seitenrendereinrichtungsdatei zählt zum Beispiel, wie oft der Benutzer eine bestimmte Seite zu einer bestimmten Position (allgemein durch die oben angezeigte Zeile angezeigt) verschoben hat, was ein Benutzerinteraktionsfeld im Eintrag für die Seitenrendereinrichtungsdatei bereitstellen würde. Folglich sind verschiedene Zählwerte der Anzahl von Malen zugeordnet, die der Benutzer die Seite um verschiedene Zeilen verschoben hat. Die Benutzerinteraktionsposition im elektronischen Dokument wird beispielsweise durch die Anzahl verschobener Zeilen oder durch HTML-Elemente bestimmt. Solche Daten stellen Benutzerinteraktions-Felddaten bereit, um eine Position in einem elektronischen Dokument zu lokalisieren, mit dem der Benutzer interagiert hat.
  • Der Seitenpositionierungsschritt 452 wählt den Eintrag in der Seitenrendereinrichtungsdatei mit dem höchsten Zählwert aus und stellt Seitenpositionierungsinformationen zum Formatieren (Schritt 454) und Rendern (Schritt 456) der Seite bereit. Die Seitenpositionierungsinformationen enthalten Informationen, wie beispielsweise eine Anzahl von Zeilen, um die von einer anfänglichen Position aus verschoben werden muß, einer oder mehreren Zeilen auf der Seite zugeordnete HTML-Elemente (zum Beispiel Zeilenumbrüche) oder ähnliche Informationen, die den Prozess zur erneuten Positionierung der angezeigten Seite steuern, so dass der Benutzer die Zeile sieht, die er am häufigsten verschoben hat.
  • Die Arbeitsweise des in 4b gezeigten Prozesses unterscheidet sich insofern von der Arbeitsweise des in 4a gezeigten Prozesses, als die angezeigte Seite im Prozess 4b nicht neu angeordnet, sondern lediglich so positioniert wird, dass der Teil der Seite, mit der am häufigsten interagiert wurde, am oder nahe dem Beginn der Anzeige gezeigt wird, wodurch die Notwendigkeit zum Durchführen eines Verschiebens zu dieser Position auf der Seite verringert oder beseitigt wird. Insbesondere ist es klar, dass die in den 4a und 4b gezeigten Prozesse kombiniert werden könnten. Der in 4a gezeigte Prozess kann beispielsweise eine Tabelle neu anordnen, und der in 4b gezeigte Prozess kann die neu angeordnete Tabelle an den Beginn der angezeigten Seite platzieren.
  • Eine Benutzerinteraktion mit einer angezeigten Seite kann die Seite gemäß einem herkömmlichen Browser-Arbeitsgang ändern, beispielsweise wenn der Benutzer die Seite verschiebt oder Daten eingibt. Im Vergleich dazu speichert die vorliegende Erfindung Daten bezüglich Benutzerinteraktionsgewohnheiten und rendert eine Seite gemäß diesen Gewohnheiten, wenn der Benutzer diese Seite zum nächsten Mal besucht. Mit anderen Worten, während der Benutzer mit einer angezeigten Seite interagiert, sammelt die vorliegende Erfindung statistische Informationen.
  • 5a ist ein vereinfachtes Flussdiagramm eines Tabellenrendereinrichtungsprozesses 500, der eine Ausführungsform des Schrittes 418 von 4a veranschaulicht. Der Tabellenrendereinrichtungsprozess 500 ordnet die Daten in der Tabellenrendereinrichtungsdatei durch das Zählfeld ("Zählwert") (Schritt 502). Der Zählwert kennzeichnet die Reihe der Tabelle, mit der der Benutzer am häufigsten interagiert hat. Für jeden Eintrag in der Tabellenrendereinrichtungsdatei (Schritt 504) ruft der Tabellenrendereinrichtungsprozess den Eintrag ab (d.h. die gespeicherte frühere Benutzerinteraktion und den zugeordneten URL) (Schritt 506). Der Tabellenrendereinrichtungsprozess 500 wertet aus (Schritt 508), ob die angeforderte Seite immer noch die Tabellenreihe enthält (anzeigen würde), die in der Tabellenrendereinrichtungsdatei gespeichert ist. Falls die Reihe nicht mehr in der Tabelle vorhanden ist, kehrt der Tabellenrendereinrichtungsprozess zurück, um den nächsten Eintrag in der Tabellenrendereinrichtungsdatei abzurufen, und ändert nicht die Art und Weise, wie die Seite angezeigt wird. Falls die Datenreihe noch immer in der Tabelle vorhanden ist, entfernt der Tabellenrendereinrichtungsprozess die Datenreihe aus ihrer aktuellen Tabellenposition (Schritt 510) und verschiebt die Tabellenreihe an den Anfang der Tabelle (Schritt 512), außerdem kann die Tabellenreihe am Anfang der angeforderten Seite positioniert werden. Nach der Verarbeitung des letzten Eintrags in der Tabellenrendereinrichtungsdatei wird der Prozess 500 beim Schritt 514 verlassen.
  • In einer bestimmten Ausführungsform ordnet der Tabellenrendereinrichtungsprozess die Einträge in der Tabellenrendereinrichtungsdatei so an, dass der niedrigste Zählwert sich am "Anfang" der Dateiliste (d.h. der zuerst ausgewertete Eintrag) und der höchste Zählwert sich am Ende der Liste befindet. Wenn der Tabellenrendereinrichtungsprozess die Einträge in der Tabellenrendereinrichtungsdatei auswertet, wird der Eintrag mit dem höchsten Zählwert auf diese Weise zuletzt ausgewertet, wodurch die Tabellenreihe mit dem höchsten Zählwert am Beginn der Tabelle angezeigt wird. Frühere Einträge würden vorübergehend am Beginn der Tabelle positioniert werden, die letzte Anfangsreihe der Tabelle würde jedoch den höchsten Zählwert widerspiegeln.
  • 5b ist eine vereinfachte Darstellung einer Datenstruktur eines Tabellenrendereinrichtungs-Dateieintrags (table renderer file entry) 520. Die Datenstruktur enthält eine Netzadresse 522, einen Tabellennamen 524, eine Reihe 526 der Tabelle, eine Spalte 528 der Tabelle und einen Zählwert 530. Die Reihen- und Spalteneinträge stellen Benutzerinteraktionsfelder bereit, um der Benutzerinteraktion eine Position des elektronischen Dokumentes zuzuordnen. Die Tabellenrendereinrichtungsdatei könnte andere Felder enthalten, beispielsweise ein Zeitfeld, das darstellt, wie lange ein Benutzer bei einer Reihe der Tabelle bleibt.
  • Die 6a bis 6c sind vereinfachte Darstellungen von auf der Anzeige eines Benutzers angezeigten Tabellen, die die Funktionsweise einer Ausführungsform der vorliegenden Erfindung veranschaulichen. 6a ist ein vereinfachtes Beispiel einer Tabelle, die auf einer HTML-Seite angezeigt werden könnte. Alle Einträge in der Tabelle könnten ausgewählt werden, um den Tabelleneintrag beispielsweise mit dem Lagerbestandsnamen (stock name), dem Diagramm des Lagerbestandspreises und neuen Informationen zu verbinden. Die Einträge in der Tabelle sind ein Typ von Seitenelement, so wie dies auch für Verbindungen, Dateneingabefelder und Zeilenumbrüche der Fall ist. Eine Seite besteht normalerweise aus mehreren Elementen, mit denen der Benutzer auf verschiedene Arten interagieren kann. Der Benutzer könnte Daten in ein Feld eingeben, eine Verbindung auswählen oder eine Seite zu einer bestimmten Position verschieben, wobei die Position gemäß Seitenelementen, zum Beispiel einer Zeilennummer, definiert wird.
  • Für die Erläuterung wird vorausgesetzt, dass die Anzeige nicht die ganze Tabelle zeigen könnte, sondern dass die Anzeige nur vier Zeilen der Tabelle zeigen kann. Die vorliegende Erfindung kann jedoch auch auf Situationen angewandt werden, in denen die ganze Tabelle auf einer Anzeige gezeigt werden kann. Auch wenn die Anzeige die ganze Tabelle zeigen kann, kann es beispielsweise wünschenswert sein, dass die Reihe mit dem höchsten Zählwert am Anfang der Tabelle angezeigt wird, oder dass eine angeforderte Seite so gerendert wird, dass die Anzeige die am häufigsten angeforderte Zeile der Seite am Anfang der Anzeige zeigt. Außerdem wird angenommen, dass der Benutzer an einer Verbindung zu mit Informationen bezüglich HWP und INTC interessiert ist und diese Verbindungen häufig besucht, indem er die Seite zu ihnen verschiebt und die Verbindungen auswählt, und dass der Benutzer nie mit der Reihe bezüglich JMAR interagiert. Bei herkömmlichen Browsern würde der Benutzer normalerweise die Seite nach unten verschieben (scroll down), um die Tabelle zu finden, wobei an dieser Stelle nur die ersten vier Zeilen angezeigt würden (d.h. IBM, LMAR, SUNW und VCAI). Der Benutzer müsste das Verschieben normalerweise fortsetzen, falls er beispielsweise die Reihe betrachten möchte, die HWP enthält.
  • 6b zeigt die Zeilen, die sich auf der Anzeige des Clients befinden würden, wenn der Benutzer anschließend die die Tabelle enthaltende Seite anfordert. Ein Browser gemäß einer Ausführungsform der vorliegenden Erfindung rendert die Seite so, dass sie die zuvor besuchten Informationen in einer ausgewählten Anordnung anzeigt. Als Erstes zeigt der Browser die Seite an einer Stelle an, die die Tabelle zeigt. Als Zweites ordnet der Browser die Tabelle neu an, so dass die Reihen mit Informationen zu HWP und INTC am Anfang der Tabelle angezeigt werden. 6c zeigt die Zeilen, die der Browser nicht anzeigen würde, darunter JMAR, das zur unteren Reihe der Tabelle zurückgefallen ist. Je nach Wunsch könnte der Benutzer die Seite nach unten verschieben, um diese Reihen der Tabelle anzuschauen. Ähnlich kann die Erfindung andere Elemente auf einer Seite neu anordnen, beispielsweise Verbindungen, Bilder oder Kopfzeilen. Außerdem könnte der Browser die Gesamtzeit aufzeichnen, die der Benutzer an verschiedenen Stellen eines URL verbracht hat, und die Client-Anzeige anfänglich so positionieren, dass sie den Teil des URL zeigt, bei dem der Benutzer die meiste Zeit verbracht hat. Solche Zeitdaten könnten die Priorität einer Reihe oder eines anderen Eintrags entscheiden, falls beispielsweise die Zählwerte für zwei Reihen gleich sind.
  • 7a ist ein vereinfachtes Flussdiagramm eines Verbindungsrendereinrichtungsprozesses 700, das eine Ausführungsform des Schrittes 422 von 4a zeigt. Der Seitenrendereinrichtungsprozess 400 von 4a ruft den Verbindungsrendereinrichtungsprozess 700 auf, wenn der Benutzer eine Seite auswählt und die Verbindungsrendereinrichtungsdatei einen dieser Seite zugeordneten Eintrag aufweist. Der Verbindungsrendereinrichtungsprozess 700 wertet jeden Eintrag in der Verbindungsrendereinrichtungsdatei aus (Schritt 702), indem er einen Eintrag abruft (Schritt 704) und auswertet, falls die Seite noch immer die dem Eintrag zugeordnete Verbindung anzeigt (Schritt 706).
  • Falls die Verbindung nicht mehr auf der Seite vorhanden ist, kehrt der Verbindungsrendereinrichtungsprozess 700 zurück, um den nächsten Eintrag in der Verbindungsrendereinrichtungsdatei abzurufen, und ordnet das Anzeigefeld (d.h. einen Teil der angezeigten Seite) nicht neu an bzw. positioniert die Seite nicht neu. Falls die Verbindung noch immer auf der Seite vorhanden ist, entfernt der Verbindungsrendereinrichtungsprozess die Verbindung aus ihrer aktuellen Position (Schritt 708) und verschiebt die Verbindung an den Anfang der angezeigten Seite (Schritt 710). Nach der Verarbeitung des letzten Eintrags in der Verbindungsrendereinrichtungsdatei wird der Prozess 700 beim Schritt 712 verlassen.
  • 7b ist eine vereinfachte Darstellung einer Datenstruktur eines Verbindungswahl-Dateieintrags 720. Der Eintrag enthält eine Netzadresse 722, die der Seite zugeordnet ist, auf der die Verbindung vorkam, als der Benutzer mit der Verbindung interagierte, die vom Benutzer ausgewählte Verbindung 724 und einen Zählwert 726.
  • 8a ist ein vereinfachtes Flussdiagramm eines Dateneingabe-Rendereinrichtungsprozesses 800, das eine Ausführungsform des Schrittes 426 von 4a zeigt. Der Seitenrendereinrichtungsprozess 400 von 4a ruft den Dateneingabe-Rendereinrichtungsprozess 800 auf, wenn ein Benutzer eine Seite auswählt und die Dateneingabe-Rendereinrichtungsdatei einen dieser Seite zugeordneten Eintrag aufweist. Der Dateneingabe-Rendereinrichtungsprozess 800 wertet jeden Eintrag in der Dateneingabe-Rendereinrichtungsdatei aus (Schritt 802), indem er einen Eintrag abruft (Schritt 804) und auswertet, ob ein dem Eintrag zugeordnetes Dateneingabefeld, zum Beispiel ein HTML-Element, noch immer auf der aktuellen (angeforderten) Seite erscheint (Schritt 806).
  • Falls das Dateneingabefeld nicht mehr auf der Seite vorhanden ist, kehrt der Dateneingabe-Rendereinrichtungsprozess 800 zurück, um den nächsten Eintrag in der Dateneingabe-Rendereinrichtungsdatei abzurufen, und ordnet die angezeigte Seite nicht neu an. Falls das Dateneingabefeld noch immer auf der Seite vorhanden ist, entfernt der Dateneingabe-Rendereinrichtungsprozess das Dateneingabefeld aus seiner Position auf der formatierten Seite (Schritt 808) und verschiebt das Dateneingabefeld an den Anfang der Seite (Schritt 810). Nach der Verarbeitung des letzten Eintrags in der Dateneingabedatei wird der Prozess 800 beim Schritt 812 verlassen.
  • 8b ist eine vereinfachte Darstellung einer Datenstruktur eines Dateneingabe-Dateieintrags 820. Der Dateneingabe-Dateieintrag enthält eine Netzadresse 822, einen Dateneingabe-Feldbezeichner (data entry field identifier) 824, zum Beispiel einen HTML-Elementnamen, und einen Zählwert 826.
  • Obwohl die vorliegende Erfindung in Bezug auf die bevorzugten und alternative Ausführungsformen beschrieben wurde, werden Fachleute verstehen, dass verschiedene Änderungen an Einzelheiten darin vorgenommen werden können, ohne von der Wesensart, dem Umfang und der Lehre der Erfindung abzuweichen. In einer weiteren Ausführungsform könnte beispielsweise jeder der Rendereinrichtungsprozesse einen Einheitenabfrageschritt (device query step) enthalten, um die Anzahl von zur Anzeige verfügbaren Zeilen zu bestimmen und das Rendering der angezeigten Seite weiter zu verändern. In noch einer weiteren Ausführungsform könnte die Anzeigeauflösung zur Verwendung im Seitenrenderprozess als Teil des bereitgestellten Clients gespeichert werden. Dementsprechend muss die hierin beschriebene Erfindung nur so begrenzt werden, wie es in den folgenden Ansprüchen angegeben wird.

Claims (14)

  1. Verfahren zum Rendern eines auf einer vernetzten Anzeigeeinheit anzuzeigenden Dokumentes, wobei das Verfahren durch folgende Schritte gekennzeichnet ist: Erfassen einer Interaktion eines Benutzers mit einem Benutzerinteraktionsfeld in einem gegenwärtig angezeigten Dokument und Erfassen der dem angezeigten Dokument zugeordneten Netzadresse, Erstellen eines dem elektronischen Dokument zugeordneten Eintrages in einer Datenstruktur, wobei der Eintrag die erfasste Interaktion dem Benutzerinteraktionsfeld und der Netzadresse zuordnet, bei einem erneuten Aufrufen des Dokumentes, Abrufen des elektronischen Dokumentes gemäß der Netzadresse, Feststellen, ob der dem elektronischen Dokument zugeordnete Eintrag in der Datenstruktur vorhanden ist, wobei der Eintrag mindestens ein Benutzerinteraktionsfeld enthält, falls der Eintrag vorhanden ist, Feststellen, ob das Benutzerinteraktionsfeld im elektronischen Dokument erscheint, und falls das Benutzerinteraktionsfeld im elektronischen Dokument erscheint, Rendern einer Seite, um das Benutzerinteraktionsfeld in einem sichtbaren Bereich der vernetzten Anzeigeeinheit anzuzeigen.
  2. Verfahren nach Anspruch 1, das vor dem Schritt des Renderns außerdem die folgenden Schritte umfasst: Entfernen des Benutzerinteraktionsfeldes aus einer aktuellen Position im elektronischen Dokument; und Verschieben des Benutzerinteraktionsfeldes in einen oberen Teil des sichtbaren Bereichs.
  3. Verfahren nach Anspruch 1, das nach dem Schritt des Renderns außerdem die folgenden Schritte umfasst: Abrufen eines zweiten Eintrags aus der Datenstruktur, wobei der zweite Eintrag ein zweites Benutzerinteraktionsfeld enthält; Feststellen, ob das zweite Benutzerinteraktionsfeld im elektronischen Dokument vorhanden ist; falls das zweite Benutzerinteraktionsfeld im elektronischen Dokument erscheint, Verschieben des zweiten Benutzerinteraktionsfeldes aus einer zweiten aktuellen Position auf der Seite; und Rendern der Seite, so dass sie das zweite Benutzerinteraktionsfeld oberhalb des Benutzerinteraktionsfeldes zeigt.
  4. Verfahren nach Anspruch 3, wobei ein erster dem Eintrag zugeordneter Zählwert in der Datenstruktur gespeichert wird und ein zweiter dem Eintrag zugeordneter Zählwert in der Datenstruktur gespeichert wird, wobei der zweite Zählwert größer als der erste Zählwert ist.
  5. Verfahren nach Anspruch 3, wobei der Eintrag und der zweite Eintrag gemäß einem ersten Zählwert und einem zweiten Zählwert in der Datenstruktur gespeichert werden, wobei der zweite Zählwert größer als der erste Zählwert ist, wobei der Eintrag außerdem einen ersten Zeitwert enthält und der zweite Eintrag außerdem einen zweiten Zeitwert enthält, wobei der zweite Zeitwert größer als der erste Zeitwert ist.
  6. Verfahren nach Anspruch 1, wobei der Schritt des Renderns das Durchführen eines Verschiebens der Seite im elektronischen Dokument enthält.
  7. Verfahren nach Anspruch 1, wobei das Verfahren die folgenden weiteren Schritte umfasst: Zuordnen eines ersten Zahlenwertes zu dem Eintrag; Feststellen, ob die Datenstruktur einen zweiten dem elektronischen Dokument zugeordneten Eintrag enthält, wobei der zweite Eintrag ein zweites Benutzerinteraktionsfeld und einen zweiten Zählwert enthält; falls der zweite Eintrag in der Datenstruktur vorhanden ist, Feststellen, ob das zweite Benutzerinteraktionsfeld im elektronischen Dokument erscheint; und falls das zweite Benutzerinteraktionsfeld im elektronischen Dokument erscheint, Verschieben des zweiten Benutzerinteraktionsfeldes aus einer zweiten aktuellen Position auf der Seite in den sichtbaren Teil der Anzeige, wobei das zweite Benutzerinteraktionsfeld oberhalb des Benutzerinteraktionsfeldes angezeigt wird, falls der zweite Zählwert größer als der erste Zählwert ist.
  8. Verfahren nach Anspruch 1, wobei die Schritte Erfassen einer Interaktion eines Benutzers mit einem Benutzerinteraktionsfeld und Erstellen eines dem elektronischen Dokument zugeordneten Eintrages folgende Schritte umfassen: Feststellen, ob die erste Benutzerinteraktion ein erster Benutzerinteraktionstyp ist; falls die erste Benutzerinteraktion ein erster Benutzerinteraktionstyp ist, Abrufen von mindestens einem Datenelement des elektronischen Dokumentes, das der ersten Benutzerinteraktion zugeordnet ist; Speichern des Datenelementes des elektronischen Dokumentes in einer ersten Benutzerinteraktionstyp-Datendatei; und Speichern eines ersten Zählwertes, der dem Datenelement des elektronischen Dokumentes zugeordnet ist.
  9. Verfahren nach Anspruch 8, wobei der erste Benutzerinteraktionstyp aus der Gruppe ausgewählt wird, die aus einer Interaktion mit einer Tabelle, einer Interaktion mit einer Verbindung, einer Interaktion mit einem Dateneingabefeld und einem Verschieben der Seite besteht.
  10. Verfahren nach Anspruch 8, das nach dem Schritt des Speicherns eines ersten Zählwertes die folgenden Schritte umfasst: Abrufen einer zweiten Benutzerinteraktion mit dem elektronischen Dokument; Feststellen, ob die zweite Benutzerinteraktion ein erster Benutzerinteraktionstyp ist; falls die zweite Benutzerinteraktion nicht der erste Benutzerinteraktionstyp ist, Auswerten, ob die zweite Benutzerinteraktion ein zweiter Benutzerinteraktionstyp ist; falls die zweite Benutzerinteraktion der zweite Benutzerinteraktionstyp ist, Abrufen von mindestens einem zweiten Datenelement des elektronischen Dokumentes, das der zweiten Benutzerinteraktion zugeordnet ist; Speichern des Datenelementes des zweiten elektronischen Dokumentes in einer zweiten Benutzerinteraktionstyp-Datendatei; und Erhöhen eines zweiten Zählwertes, der dem zweiten Datenelement des elektronischen Dokumentes zugeordnet ist.
  11. Verfahren nach Anspruch 8, das nach dem Schritt des Speicherns eines ersten Zählwertes die folgenden Schritte umfasst: Abrufen einer zweiten Benutzerinteraktion mit der Seite; Feststellen, ob die zweite Benutzerinteraktion der erste Benutzerinteraktionstyp ist; falls die zweite Benutzerinteraktion der erste Benutzerinteraktionstyp einer Benutzerinteraktion ist, Abrufen von mindestens einem zweiten Datenelement des elektronischen Dokumentes, das der zweiten Benutzerinteraktion zugeordnet ist; Speichern des zweiten Datenelementes des elektronischen Dokumentes in der ersten Benutzerinteraktionstyp-Datendatei; und Erhöhen eines zweiten Zählwertes, der dem zweiten Datenelement des elektronischen Dokumentes zugeordnet ist.
  12. Konfigurierbarer Client-Computer zur Verwendung in einem Client-Server-System, wobei der Client-Computer Folgendes umfasst: eine Anzeige; und einen Browser zum Rendern elektronischer Dokumente auf die Anzeige, dadurch gekennzeichnet, dass der Browser derart ausgestaltet ist, dass er auf Benutzergewohnheitsdaten in Verbindung mit Adressdaten des elektronischen Dokumentes zugreifen kann, wobei die Anzeige höchstens eine Anzahl von Zeilen anzeigen kann, die geringer als eine Anzahl von Zeilen des ausgewählten elektronischen Dokumentes ist, eine Rendereinrichtung umfasst, die derart ausgestaltet ist, dass sie ein ausgewähltes elektronisches Dokument gemäß Benutzergewohnheitsdaten auf die Anzeige rendern kann, und eine Seitenrendereinrichtungsdatei zum Speichern der Benutzergewohnheitsdaten umfasst, wobei die Rendereinrichtung derart ausgestaltet ist, dass sie das ausgewählte elektronische Dokument auf die Anzeige rendert, indem sie das ausgewählte elektronische Dokument neu positioniert, so dass eine Seitenposition in einem oberen Teil der Anzeige angezeigt wird.
  13. Konfigurierbarer Client-Computer nach Anspruch 12, wobei die Rendereinrichtung derart ausgestaltete ist, dass sie das ausgewählte elektronische Dokument auf die Anzeige rendert, indem Elemente des ausgewählten elektronischen Dokumentes neu angeordnet werden, so dass eine Seitenposition in einem oberen Teil der Anzeige angezeigt wird.
  14. Computerlesbares, signaltragendes Medium, das ein Programm zum Rendern eines elektronischen Dokumentes auf eine Anzeige enthält, wobei das Programm die Schritte gemäß einem der vorstehenden Ansprüche 1 bis 11 umfasst, wenn es von einem Computer gelesen und ausgeführt wird.
DE10121791A 2000-05-18 2001-05-04 Verfahren und Vorrichtung für dynamische Web-Seitenanordnung Expired - Fee Related DE10121791B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US57415700A 2000-05-18 2000-05-18
US574157 2000-05-18

Publications (2)

Publication Number Publication Date
DE10121791A1 DE10121791A1 (de) 2001-12-20
DE10121791B4 true DE10121791B4 (de) 2004-11-25

Family

ID=24294910

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10121791A Expired - Fee Related DE10121791B4 (de) 2000-05-18 2001-05-04 Verfahren und Vorrichtung für dynamische Web-Seitenanordnung

Country Status (3)

Country Link
US (3) US20080134064A1 (de)
KR (1) KR100473670B1 (de)
DE (1) DE10121791B4 (de)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100473670B1 (ko) * 2000-05-18 2005-03-08 인터내셔널 비지네스 머신즈 코포레이션 웹 페이지 렌더링 방법 및 이를 구현하는 클라이언트 컴퓨터
US7460134B2 (en) * 2004-03-02 2008-12-02 Microsoft Corporation System and method for moving computer displayable content into a preferred user interactive focus area
US9471333B2 (en) * 2006-11-03 2016-10-18 Conceptual Speech, Llc Contextual speech-recognition user-interface driven system and method
US9081589B2 (en) * 2006-12-01 2015-07-14 Adobe Systems Incorporated Persistent web plug-ins
US20080201634A1 (en) * 2007-02-20 2008-08-21 Gibb Erik W System and method for customizing a user interface
US8209602B2 (en) * 2007-07-25 2012-06-26 Hewlett-Packard Development Company, L.P. Viewing of internet content
US8375305B1 (en) * 2010-05-14 2013-02-12 Amazon Technologies, Inc. Placement of user interface elements based on a window entry or exit point
US10225249B2 (en) 2012-03-26 2019-03-05 Greyheller, Llc Preventing unauthorized access to an application server
US10229222B2 (en) * 2012-03-26 2019-03-12 Greyheller, Llc Dynamically optimized content display
US9032335B2 (en) * 2012-08-14 2015-05-12 Christopher V. Beckman User interface techniques reducing the impact of movements
US9413807B1 (en) * 2012-10-15 2016-08-09 Tableau Software, Inc. Browser rendering and computation
US11100554B1 (en) 2014-03-13 2021-08-24 BloomReach Inc. System, method and computer program product for providing thematic landing pages
US20160019309A1 (en) * 2014-07-18 2016-01-21 Oracle International Corporation Modifying digital content based upon usage patterns
US10712897B2 (en) 2014-12-12 2020-07-14 Samsung Electronics Co., Ltd. Device and method for arranging contents displayed on screen
US10534851B1 (en) 2014-12-19 2020-01-14 BloomReach Inc. Dynamic landing pages
US10867005B1 (en) * 2018-12-10 2020-12-15 Amazon Technologies, Inc. Dynamic content caching and rendering system
CN109857971A (zh) * 2019-02-01 2019-06-07 天津字节跳动科技有限公司 页面渲染方法和装置
US20230083822A1 (en) * 2021-09-16 2023-03-16 International Business Machines Corporation Optimized rendering of web pages

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6012098A (en) * 1998-02-23 2000-01-04 International Business Machines Corp. Servlet pairing for isolation of the retrieval and rendering of data

Family Cites Families (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4611202A (en) * 1983-10-18 1986-09-09 Digital Equipment Corporation Split screen smooth scrolling arrangement
CA2071455A1 (en) * 1991-10-16 1993-04-17 Cary Lee Bates Visually aging scroll bar
JP2972510B2 (ja) * 1993-11-25 1999-11-08 株式会社日立製作所 文書作成装置
US5732262A (en) * 1994-01-31 1998-03-24 International Business Machines Corporation Database definition language generator
JP3324624B2 (ja) * 1994-03-03 2002-09-17 佳能電産香港有限公司 電子機器
US5799292A (en) * 1994-04-29 1998-08-25 International Business Machines Corporation Adaptive hypermedia presentation method and system
US5848396A (en) * 1996-04-26 1998-12-08 Freedom Of Information, Inc. Method and apparatus for determining behavioral profile of a computer user
US5897670A (en) * 1996-07-12 1999-04-27 Sun Microsystems, Inc. Method and system for efficient organization of selectable elements on a graphical user interface
US5838326A (en) * 1996-09-26 1998-11-17 Xerox Corporation System for moving document objects in a 3-D workspace
US5847709A (en) * 1996-09-26 1998-12-08 Xerox Corporation 3-D document workspace with focus, immediate and tertiary spaces
US6088032A (en) * 1996-10-04 2000-07-11 Xerox Corporation Computer controlled display system for displaying a three-dimensional document workspace having a means for prefetching linked documents
US5867678A (en) * 1996-12-16 1999-02-02 International Business Machines Corporation Method and system for searching and retrieving specific types of objects contained within a compound document
US5900875A (en) * 1997-01-29 1999-05-04 3Com Corporation Method and apparatus for interacting with a portable computer system
US5796952A (en) * 1997-03-21 1998-08-18 Dot Com Development, Inc. Method and apparatus for tracking client interaction with a network resource and creating client profiles and resource database
US6523022B1 (en) * 1997-06-09 2003-02-18 Allen Hobbs Method and apparatus for selectively augmenting retrieved information from a network resource
US6078916A (en) * 1997-08-01 2000-06-20 Culliss; Gary Method for organizing information
US5978819A (en) * 1997-08-12 1999-11-02 International Business Machines Corporation Automatically converting preformatted text into reflowable text for TV viewing
JPH11134162A (ja) * 1997-10-31 1999-05-21 Apurikkusu:Kk ウェブ・ブラウザ画面表示方法および装置
US6356924B2 (en) * 1997-11-26 2002-03-12 International Business Machines Corporation Configurable disablement of display objects in a browser
KR100294878B1 (ko) * 1997-12-29 2001-07-12 윤종용 자동화면이동방법
US6750850B2 (en) * 1998-01-07 2004-06-15 Microsoft Corporation Viewer system for a wireless device
US6182133B1 (en) * 1998-02-06 2001-01-30 Microsoft Corporation Method and apparatus for display of information prefetching and cache status having variable visual indication based on a period of time since prefetching
US6154205A (en) * 1998-03-25 2000-11-28 Microsoft Corporation Navigating web-based content in a television-based system
US6338096B1 (en) * 1998-06-10 2002-01-08 International Business Machines Corporation System uses kernals of micro web server for supporting HTML web browser in providing HTML data format and HTTP protocol from variety of data sources
US20010011221A1 (en) * 1998-09-01 2001-08-02 Troy R. Underwood Systems and methods for electronically providing vehicle title information
US6412012B1 (en) * 1998-12-23 2002-06-25 Net Perceptions, Inc. System, method, and article of manufacture for making a compatibility-aware recommendations to a user
US7107226B1 (en) * 1999-01-20 2006-09-12 Net32.Com, Inc. Internet-based on-line comparison shopping system and method of interactive purchase and sale of products
US6487541B1 (en) * 1999-01-22 2002-11-26 International Business Machines Corporation System and method for collaborative filtering with applications to e-commerce
US6486892B1 (en) * 1999-04-07 2002-11-26 Joseph L. Stern System and method for accessing, manipulating and viewing internet and non-internet related information and for controlling networked devices
US6401094B1 (en) * 1999-05-27 2002-06-04 Ma'at System and method for presenting information in accordance with user preference
US7653614B2 (en) * 1999-07-15 2010-01-26 Spotware Technologies, Inc. Method of searching across media and source types
US6976210B1 (en) * 1999-08-31 2005-12-13 Lucent Technologies Inc. Method and apparatus for web-site-independent personalization from multiple sites having user-determined extraction functionality
US6597379B1 (en) * 1999-09-15 2003-07-22 International Business Machines Corporation Automated navigation to exceptional condition cells in a merchandise planning system
US6489968B1 (en) * 1999-11-18 2002-12-03 Amazon.Com, Inc. System and method for exposing popular categories of browse tree
US6597314B1 (en) * 1999-12-07 2003-07-22 Microsoft Corporation Method and apparatus for providing help and settings control to users of an electronic book
US6785671B1 (en) * 1999-12-08 2004-08-31 Amazon.Com, Inc. System and method for locating web-based product offerings
US6734886B1 (en) * 1999-12-21 2004-05-11 Personalpath Systems, Inc. Method of customizing a browsing experience on a world-wide-web site
US6981040B1 (en) * 1999-12-28 2005-12-27 Utopy, Inc. Automatic, personalized online information and product services
US6665659B1 (en) * 2000-02-01 2003-12-16 James D. Logan Methods and apparatus for distributing and using metadata via the internet
EP1264261B1 (de) * 2000-03-14 2005-11-16 Speed-trap.com Ltd. Überwachung von und interaktion mit netzwerkdiensten
KR100473670B1 (ko) * 2000-05-18 2005-03-08 인터내셔널 비지네스 머신즈 코포레이션 웹 페이지 렌더링 방법 및 이를 구현하는 클라이언트 컴퓨터
US7860974B2 (en) * 2002-05-31 2010-12-28 Sap Ag Providing stateful favorites

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6012098A (en) * 1998-02-23 2000-01-04 International Business Machines Corp. Servlet pairing for isolation of the retrieval and rendering of data

Non-Patent Citations (8)

* Cited by examiner, † Cited by third party
Title
"CSS Style-Sheets", S. 1, "screen", S. 1 *
"Event-Handler", S. 1 *
"JavaScript, eine Programmiersprache für WWW-Seiten", S. 1 *
"navigator", S. 1 *
"Style-Sheet-Angaben: Elemente positionieren", S. 1 *
"Zugriffe kontrollieren", S. 1 und 2 *
SELFHTML: Stichwortverzeichnis mit den Abschnitten: "Java-Applets einbinden", S. 1 und 2 "Java", S. 1 und 2 *
Stefan Münz: SELFHTML, Version 7.0 vom 27.04.98, Titelseite, SELFHTML: Befehlsverzeichnis mit den Abschnitten: "Aufbau von Verweisen und Allgemeines", S. 1 und 2, "window", S. 2 *

Also Published As

Publication number Publication date
DE10121791A1 (de) 2001-12-20
US20080282176A1 (en) 2008-11-13
KR100473670B1 (ko) 2005-03-08
KR20010106192A (ko) 2001-11-29
US20080134064A1 (en) 2008-06-05
US20080134044A1 (en) 2008-06-05
US8627226B2 (en) 2014-01-07

Similar Documents

Publication Publication Date Title
DE10121791B4 (de) Verfahren und Vorrichtung für dynamische Web-Seitenanordnung
DE69725652T2 (de) Einbettung von Ton in Webseiten
DE19842688B4 (de) Verfahren zum Filtern von Daten, die von einem Datenanbieter stammen
DE69736373T2 (de) Web-browser, der die Navigation zwischen Hypertextobjekten mit einer Abstandsbedienung ermöglicht
DE60125913T2 (de) Datenübertragungsverfahren und vorrichtung
DE69729926T2 (de) Netzwerkbrowser
DE60016772T2 (de) Verfahren und system für die publikation und revision von hierarchisch organisierten sätzen von statischen intranet- und internet-seiten
DE69831904T2 (de) Dynamische Erstellung von Internetseiten
US20030084059A1 (en) Context management super tools and filter/sort model for aggregated display webpages
DE10392790T5 (de) Verfahren zur Navigation und Orientierung in einer hierarchischen Informationsstruktur mit mehreren Elementen
DE19962192A1 (de) Verfahren und System zur Inhaltskonvertierung von elektronischen Daten für drahtlose Vorrichtungen
DE69628374T2 (de) Datenverwaltungssystem
DE10110924A1 (de) Verfahren zum Bereitstellen wenigstens einer personalisierten Web-Benutzerseite
DE102005043057A1 (de) System zur Datenanzeige
DE10144707A1 (de) Verfahren und System zum dynamischen Erzeugen von Web-Formularen in einer Vielzahl von Sprachen
DE112017001416T5 (de) Benutzerschnittstellenelement zum Anzeigen ähnlicher Ergebnisse
US20020078097A1 (en) System for automatically allocating layout and the allocation method thereof
DE112022001161T5 (de) Techniken zur bereitstellung einer suchschnittstelle innerhalb eines karussells
DE102008008730B4 (de) Vorrichtung und Verfahren zur Animation eines grafischen digitalen Dokumentes
EP1362283B1 (de) Verfahren und vorrichtung zum darstellen eines aus pixeln aufgebauten bildes
DE60113559T2 (de) Interaktives persönliches telefonbuch
DE60313465T2 (de) Einheit und verfahren zum verwalten der anzeige eines aktuellen teils eines dokuments auf einem schirm
DE10045409A1 (de) Modellierung von Verknüpfung und Navigation in einem Hostsystem mit alten Beständen
DE10213592A1 (de) System und Verfahren zum Anzeigen von Bildern
EP1094405A2 (de) Verfahren zum Erzeugen einer dynamischen Auswahlmaske für den Abruf von Daten aus einer Datenbank

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8364 No opposition during term of opposition
8320 Willingness to grant licences declared (paragraph 23)
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee