-
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.