-
Die
vorliegende Erfindung betrifft die Übertragung von Daten zwischen
Computern über
eine Kommunikationsverbindung und/oder ein Netzwerk. Insbesondere
betrifft die Erfindung die Übertragung von
Daten von einem Servercomputer an einen Clientcomputer in einer
Client/Serverumgebung, zum Beispiel wenn ein Clientcomputer in Kombination
mit einem Webbrowser verwendet wird, um Webseiten zu betrachten,
die sich auf dem Servercomputer befinden.
-
Ein
Mechanismus, durch den eine Interaktion in Webseiten üblicherweise
vorgesehen wird, ist die Verwendung eines Softwaresystems mit Namen Java.
Java kann ein System von Programmen vorsehen, die sich auf dem Clientcomputer
befinden, und eine sichere Ausführungsumgebung
(als die Java Virtual Machine (JVM) bezeichnet) auf dem Clientcomputer
vorsehen, die getrennt ist von der normalen Ausführungsumgebung des Clientcomputers
(zum Beispiel Windows). Die meisten Webbrowser sind kompatibel zu
Java, d.h. Browser haben die Funktionalität, eine JVM vorzusehen, um
heruntergeladene Programme laufen zu lassen, als Java Applets bezeichnet.
Java Applets sehen viele Typen einer Funktionalität vor, wie
Animation des Bildschirms und andere Anzeigemerkmale, einschließlich Formen
und Tabellen auf dem Bildschirm zur Anzeige, Eingabe und Erfassung
von Daten. Zum Beispiel kann ein Applet verwendet werden, um regelmäßige Datenbankabfragen
auszuführen
und die Ergebnisse der Abfrage dem Benutzer zu präsentieren.
Die Datenbank kann eine Aktienpreisinformation umfassen, die sich häufig ändert und
eine Präsentation
an den Benutzer in regelmäßigen Intervallen
erfordert.
-
Ein
Problem bei der Java-Lösung
ist jedoch, dass Webseiten, die Java-Applets enthalten, im Allgemeinen
länger
zum Herunterladen benötigen
als standardmäßige Webseiten.
Ferner benötigt
die JVM Zeit zum Starten, bevor sie ein Applet laufen lassen kann,
und erfordert mehr Verarbeitungsleistung als erforderlich ist, um
nur den Browser laufen zu lassen. Diese Nachteile werden signifikanter,
wenn der Clientcomputer eine begrenzte Verarbeitungsleistung hat
oder mit dem Servercomputer über
eine Netzwerkverbindung mit geringer Bandbreite verbunden ist.
-
Eine
Alternative zu dem Java-Ansatz ist die Verwendung von Client-Pull(„Holen")- und/oder Server-Push(„Verschieben")-CGI-Techniken,
wie detailliert beschrieben wird in „CGI Programming on the World
Wide Web" von Shishir
Gundavaram (veröffentlicht
von O'Reilly & Associates, USA).
Die einfachere der zwei Techniken ist Client-Pull, die zum Beispiel
verwendet werden kann, um einen Aktualisierungsmechanismus für eine Information
auf einer Webseite vorzusehen durch Assoziieren der Seite mit einem
CGI-Skript. Ein CGI-Skript ist ein Programm, das sich auf dem Server
befindet, das zu arbeiten beginnt als Antwort auf eine Anforderung
von einem Clientcomputer nach der zugehörigen Webseite. Das CGI-Skript
kann verwendet werden, um eine Datenbankabfrage auszuführen und
die Ergebnisse in die Webseite einzufügen, die dann an den anfordernden
Client heruntergeladen wird.
-
Die
Client-Pull- und Server-Push-Techniken können mit einem Browser-Merkmal
kombiniert werden, das als Rahmen bezeichnet wird, das die meisten
Browser vorsehen. Dieses Merkmal ermöglicht dem Browserfenster,
in bestimmte Bereiche unterteilt zu werden, von denen jeder als
ein Rahmen bezeichnet wird und jeder die Eigenschaften eines normalen Browserfensters
hat. Die Benutzerinteraktion, die in einem Rahmen stattfindet, kann
unabhängig
sein von sowohl dem Inhalt als auch der Benutzerinteraktion der
anderen Rahmen. Rahmen können
sichtbar oder unsichtbar sein, d.h. auf dem Bildschirm angezeigt oder
nicht angezeigt werden.
-
Webseiten
können
auch ein Merkmal haben, als „Aktualisierungs- bzw. Refresh-Tag
(refresh tag)" bezeichnet,
das den die Seite anzeigenden Browser veranlasst, die Seite in vorgegebenen
Intervallen wiederholt herunterzuladen, die von dem Tag definiert
werden. Refresh-Tags ermöglichen,
dass Information auf einer Webseite automatisch aktualisiert wird
(d.h. ohne Eingreifen des Benutzers), während sie betrachtet wird.
Der Prozess hat typischerweise die folgenden Schritte:
- a) der Server empfängt
eine Seitenanforderung (aus einer Benutzeranforderung stammend);
- b) der Server lässt
das CGI-Skript laufen, das zu der angeforderten Seite gehört, gibt
als ein Ergebnis vielleicht neue Daten in die Seite ein und sendet
dann die aktualisierte Seite an den Client, der sie angefordert
hat, zusammen mit einem Refresh-Tag;
- c) der Client-Computer zeigt die empfangene Seite an und startet
einen Timer, der dem Refresh-Tag entspricht; und
- d) wenn die Refresh-Zeit abgelaufen ist, wiederholt der Client
automatisch seine Anforderung an den Server für die Seite (oder eine andere)
und der Prozess beginnt wiederum bei Schritt a).
-
Die
zweite der Techniken, Server-Push, arbeitet auf ähnliche Weise zu dem Client-Pull,
außer dass
der Server eine Nachricht in mehreren Teilen an den Client ausgibt,
wobei jeder Teil eine Seite mit Information enthalten kann, die
unter Verwendung eines CGI-Skripts aktualisiert wurde. Wiederum
kann ein Timer verwendet werden, um das CGI-Skript zu starten, oder
alternativ kann das Skript nur ablaufen, wenn die in der Seite anzuzeigenden
Daten aktualisiert wurden. Der hauptsächliche Unterschied ist, dass
die Netzwerkverbindung zwi schen dem Client und dem Server in einem
Server-Push-Mechanismus für die Dauer
der Client/Server-Interaktion für
diese Seite offen gehalten wird.
-
Ein
Problem bei den oben angeführten
Client-Pull- und Server-Push-Mechanismen
liegt darin, dass jedes Mal, wenn die betrachtete Seite aktualisiert
wird, die Seite wieder angezeigt wird und somit die Seite (oder
der Bildschirm) für
den Benutzer als flimmernd gesehen wird. Dies macht ein Befassen mit
der Seite für
jede beliebige Zeit für
einen Benutzer unkomfortabel. Ferner ist, wenn die Aktualisierungs-
bzw. Refresh-Rate für
die Seite hoch ist (z.B, alle paar Sekunden), der Flimmereffekt
unkomfortabel sogar für
ein begrenztes Betrachten der Seite. Um die Flimmerfrequenz zu reduzieren,
kann die Refresh-Rate der Seite reduziert werden, aber in Situationen,
in denen auf Änderungen
der von der Seite dargestellten Daten schnell reagiert werden muss, kann
dies nicht durchführbar
sein.
-
US-A-6
021 426 beschreibt ein System, in dem eine Ressource, wie eine auf
einer Client-Vorrichtung anzuzeigende Webseite, in einen statischen Teil
und einen dynamischen Teil geteilt wird. Der statische Teil umfasst
Anweisungen, wie der dynamische Teil mit dem statischen Teil zu
kombinieren ist, um die vollständige
Webseite zu bilden, und wird von der Client-Vorrichtung in einem
Cache gespeichert. Der dynamische Teil wird regelmäßig an die
Client-Vorrichtung gesendet, die den dynamischen Teil mit dem statischen
Teil kombiniert, um eine vollständige
Webseite zu erzeugen, die dann auf der Client-Vorrichtung angezeigt
wird. Das Dokument erläutert
nicht, wie die Kombinierung durchgeführt wird, sie erwähnt nur,
dass eine Erweiterung zu HTML erforderlich ist, um die Funktionalität vorzusehen.
Zusätzlich
sagt das Dokument „Der
Client muss dann die statischen und dynamischen Teile der Ressource kombinieren
... so dass die gesamte Ressource von dem Client betrachtet werden
kann".
-
FR-A-2
770 719 beschreibt einen Prozess zum Kommunizieren eines Bilds (insbesondere
einen Blumenstrauß),
das eine Komposition von grundlegenden Objekten (insbesondere Blumen)
aufweist, von einem Server-Terminal an ein Benutzer-Terminal, das
mit einer allgemeinen Datenbank von referenzierten Bildern von grundlegenden
Objekten vorgesehen ist. Referenzen der grundlegenden Objekte, welche
die zu kommunizierende Komposition aufweisen, werden von dem Server übertragen
und das Bild der Komposition wird an dem Benutzer-Terminal (re)konstruiert
durch Auswahl der referenzierten Bilder aus der Datenbank und deren
Anordnung in einer Komposition.
-
Gemäß einem
Aspekt der vorliegenden Erfindung ist vorgesehen ein Verfahren zum
Vorsehen von Daten von einer Datenquelle über eine Kommunikationsverbindung
oder ein Netzwerk an eine Zielvorrichtung, wobei die Daten aufweisen:
ein
graphisches Element mit einem oder mehreren aktualisierbaren Bereich(en);
und
ein oder mehrere aktualisierbare(s) Element(e), das/die
den aktualisierbaren Bereichen entspricht/entsprechen;
wobei
das Verfahren die Schritte aufweist:
als Antwort auf eine Anforderung
von Daten von der Zielvorrichtung Übertragen des graphischen Elements,
zumindest eines aktualisierbaren Elements und eines Steuerungsprogramms
zum Steuern der Aktualisierung der aktualisierbaren Bereiche des
graphischen Elements, wenn angezeigt, unter Verwendung der aktualisierbaren
Elemente; und
Übertragen
eines aktualisierten Elements oder mehrerer aktualisierter Elemente.
-
Ein
Teilen einer anzuzeigenden Seite in zwei Seiten, wobei eine statisch
ist und angezeigt wird und die andere dynamisch ist und nicht angezeigt
wird, bedeutet, dass nur die sich ändernden Daten, d.h. die dynamische
Seite, aktualisiert werden muss. Da auch nur die Daten in der statischen
Seite wieder angezeigt werden, wird die wiederholte Anzeige der
gesamten Seite vermieden. Diese Merkmale verringern Probleme des
Standes der Technik durch eine Reduzierung von Flimmern, eine Reduzierung
der Menge an Daten, die heruntergeladen werden muss, und/oder eine
Reduzierung der Menge an Verarbeitung, die an den Client- und/oder
Servercomputern erforderlich ist.
-
Ausführungsbeispiele
der Erfindung werden im Folgenden unter Bezugnahme auf die begleitenden
Zeichnungen beschrieben, wobei:
-
1 ein
schematisches Diagramm ist, das eine Vielzahl von Clientvorrichtungen
zeigt, die mit einer Servervorrichtung über ein Netzwerk, wie das Internet,
verbunden sind;
-
2a und 2b schematische
Darstellungen der Seiten und Daten sind, die auf der Servervorrichtung
von 1 gespeichert sind und Teile enthalten, die auf
der Clientvorrichtung von 1 anzuzeigen sind;
-
3 ein
Verfahrensdiagramm der Verarbeitung und Anzeige der Seiten von 2 gemäß einem ersten
Ausführungsbeispiel
der Erfindung ist;
-
4 ein
Verfahrensdiagramm der Verarbeitung und Anzeige der Seiten von 2 gemäß einem zweiten
Ausführungsbeispiel
der Erfindung ist; und
-
5 eine
schematische Darstellung der Seiten und Daten ist, die auf der Servervorrichtung von 1 gespeichert
sind und Teile ent halten, die auf der Clientvorrichtung von 1 anzuzeigen
sind gemäß einem
dritten Ausführungsbeispiel
der vorliegenden Erfindung.
-
Unter
Bezugnahme auf 1 werden einem Servercomputer 101 Daten über eine
Datenzuführvorrichtung 103 zugeführt und
der Servercomputer 101 ist ausgebildet, die Daten zu verarbeiten
und die Ergebnisse in einer Datenbank 105 zu speichern.
Die Datenzuführung 103 liefert
zum Beispiel Testdaten, die automatisch von einem Telekommunikationsnetzwerk
erzeugt werden, oder eine finanzielle Information, wie Wechselraten
zwischen einer Vielzahl von Währungen.
In jedem Fall sind die Daten derart, dass sie sich relativ häufig ändern.
-
Der
Server 101 ist auch mit einem Netzwerk 107 verbunden,
wie dem Internet oder einem Intranet, wobei mit dem Netzwerk 107 eine
Vielzahl von Clientvorrichtungen 109 ebenfalls verbunden
sind, wie ein Personalcomputer 109a, ein Digitalfernsehen 109b,
ein mobiles Telefon 109c, ein PDA (personal digital assistant) 109d oder
eine Spielekonsole 109e. Der Servercomputer 101 ist
mit einer geeigneten Serversoftware ausgebildet, um über das
Netzwerk 107 mit jeder der Clientvorrichtungen 109 zu
kommunizieren, und jede Clientvorrichtung 109 ist mit entsprechender
Software ausgebildet, um so mit dem Servercomputer 101 über das
Netzwerk 107 kommunizieren zu können.
-
Der
Server 101 ist in diesem Ausführungsbeispiel ein IBM-RS/6000-J50-Computer mit
einer installierten Serversoftware, die als Httpd (Hyper Text Transport
Protocol Daemon) bezeichnet wird, von Apache Software Inc. oder
alternativ Oracle Web Server von Oracle Corporation. Jeder der Clientvorrichtungen 109 ist
mit einem geeigneten Webbrowser installiert. In dem Fall des Personalcomputers 109 kann
der Webbrowser Netscape von Netscape Inc. oder Explorer von Microsoft Corp.
sein. Andere der Clientvorrichtungen 109 sind mit geeigneten
Typen von Clientsoftware installiert, die ausgebildet ist, einen
Netzwerkzugang und ein Browsen vorzusehen, was abhängig ist
von der bestimmten Vorrichtung und dem Verfahren der Verbindung
zu dem Netzwerk 107.
-
Die
Httpd- oder OWS(Oracle Web Server)-Software kann, wenn sie auf dem
Servercomputer 101 läuft,
Dateien an die Clientvorrichtungen 109 senden und Programme
auf dem Server 101 laufen lassen als Antwort auf eine Anforderung
von einem Browser, der auf einer der Clientvorrichtungen 109 läuft. Wenn
die Serversoftware eine Anforderung für eine einfache Datei empfängt, wie
eine HTML-Datei (Hyper Text Markup Language – ein Format, das im Allgemeinen
für Webseiten
verwendet wird), dann sucht die Serversoftware die Datei in dem
Verzeichnissystem des Servers 101 und sendet die Datei über das
Netzwerk 107 an den anfordernden Browser. Eine derartige
HTML-Datei kann als eine statische Seite bezeichnet werden.
-
Der
Server 101 kann auch eine Anforderung empfangen, einen
Prozess laufen zu lassen unter Verwendung einer Serveranwendungssoftware,
wie eine Abfrage der Datenbank 105 über die Serverdatenbankanwendung.
In diesem Fall wird ein Schnittstellenmechanismus, als CGI (Common
Gateway Interface) bezeichnet, verwendet, um eine Kommunikation
zwischen der Httpd- oder OWS-Software und der Serveranwendungssoftware
zu verwalten. Der CGI-Mechanismus ist ausgebildet, Parameter von der
ankommenden Verarbeitungsanforderung zu nehmen, diese an die Serveranwendungssoftware
zu leiten und die Ergebnisse der Verarbeitungsanforderung an den
anfordernden Browser zurückzusenden. Die
an den Browser zurückgesendeten
Ergebnisse können
als eine dynamische Seite bezeichnet werden, da der Inhalt der Seite
von Zeit zu Zeit verändert werden
kann.
-
In
dem vorliegenden Ausführungsbeispiel verwendet
der Server 101 den CGI-Mechanismus, um eine Schnittstelle
mit einer Datenbankanwendung zu haben, die ankommende Daten von
der Datenzuführvorrichtung 103 verarbeitet
und die Ergebnisse in der Datenbank 105 speichert. In diesem
Ausführungsbeispiel
betreffen die Daten den Status/die Zustände von Warnungen, die verwendet
werden, um Ingenieure über
Störungen
zu warnen, die in einem Telekommunikationsnetzwerk auftreten.
-
Unter
Bezugnahme auf 2 werden die Daten in der Datenbank 105 dem
Benutzer präsentiert
unter Verwendung von zwei Seiten – einer statischen Seite 201 und
einer dynamischen Seite 203. Die statische Seite 201 wird
dargelegt als eine HTML-Form 202, die eine Vielzahl von
bezeichneten Kästchen 205 enthält, von
denen jedes leer ist. Eine Form ist eine standardmäßige HTML-Funktion,
die im Allgemeinen verwendet wird zum Erlangen einer Eingabe, d.h.
sie wird verwendet, um einem Benutzer zu ermöglichen, Daten einzugeben zur Übertragung
zurück
an den Server 101. Die statische Seite 201 enthält auch
ein Skript 209, das in diesem Ausführungsbeispiel unter Verwendung
der JavaSkript-Sprache geschrieben wird (wie für Fachleute bekannt ist, unterscheidet
sich JavaSkript von Java). Die Form 202 ist der Teil der
statischen Seite 201, die tatsächlich auf dem Client angezeigt
wird, während
das Skript 209 nicht zur Anzeige vorgesehen ist und somit
normalerweise unsichtbar ist.
-
Die
dynamische Seite 203 weist keinen sichtbaren Teil auf,
d.h. die Seite wird auf dem Browser nicht angezeigt. Stattdessen
weist die dynamische Seite 203 eine Datenstruktur 207 auf
mit einer Vielzahl von Elementen, die den Kästchen 205 der Form 202 in
der statischen Seite 201 entsprechen. Die Datenstruktur 207 in
diesem Ausführungsbeispiel
ist ein JavaSkript-Array.
-
Wenn
ein Browser die statische Seite 201 herunterlädt, zeigt
er zuerst die Form 202 an und lässt dann das Skript 209 laufen.
Das Skript 209 ist ausgebildet, die dynamische Seite 203 in
einen unsichtbaren Rahmen zu laden, die Daten aus ihrer Datenstruktur 207 zu
extrahieren und die Daten in die geeigneten Abschnitte der Form 202 einzufügen. Das
Skript 209 umfasst ein Refresh-Tag 211, das in vorgegebenen
Intervallen eine Anforderung für
eine aktualisierte dynamische Seite 203 veranlasst, die
an den Server 101 zu senden ist. Der Server 101 hat
ein CGI-Skript (nicht gezeigt), das ausgebildet ist, als Antwort
auf eine Anforderung von dem Browser auf die Datenbank 105 zuzugreifen,
um die neuesten Warnungsstatusdaten zu erlangen und das Array 207 in
der dynamischen Seite 203 mit diesen aktuellen Daten zu
füllen.
Diese Prozesse werden im Folgenden unter Bezugnahme auf die 3 und 4 detaillierter
erläutert.
-
3 zeigt
ein Ablaufdiagramm der Verarbeitung gemäß dem ersten Ausführungsbeispiel
der Seiten 201, 203 durch den Client 109 und
den Server 101 als Antwort auf die Anforderung eines Benutzers des
Clients 109, die Warnungsstatusseite 201, 203 zu
betrachten. In Schritt 301 öffnet der Client als Antwort
auf die Anforderung des Benutzers (durch Eingabe des URLs (Universal
Resource Locator) der Seite 201, 203 oder unter
Verwendung eines Hyperlinks) eine Verbindung über das Netzwerk 107 zu dem
Server 101. In Schritt 303 sendet der Client 109 eine
Anforderung für
die Warnungsstatusseite 201, 203. Als Antwort
auf die Anforderung lässt
der Server in Schritt 305 das CGI-Skript laufen, das zu
der Warnungsstatusseite 201, 203 gehört, und
empfängt
in Schritt 307 die aktuellen Daten von der Datenbank 105.
Die aktuellen Daten werden in Schritt 309 in die Datenstruktur 207 der
dynamischen Seite 203 eingefügt.
-
In
Schritt 313 geht, wenn die Anforderung in Schritt 303 für die gesamte
Seite war (d.h. die statische Seite 201 eingeschlossen),
die Ver arbeitung zu Schritt 315 weiter und sendet die statische
Seite 201 an den Client 109. In Schritt 317 zeigt
der Client 109 die statische Seite 201 dem Benutzer
in einem Browserfenster an. Dann sendet in Schritt 319 der
Server die dynamische Seite 203 an den Client, der unter Steuerung
des Skripts 209 die aktualisierten Daten aus der dynamischen
Seite 203 extrahiert und sie in die entsprechenden Felder 205 der
angezeigten statischen Seite 201 einfügt.
-
In
Schritt 323 schließt
der Client die Verbindung über
das Netzwerk 107 an den Server 101 und in Schritt 325 setzt
der Client einen Timer entsprechend dem Refresh-Tag 211.
Außer
der Benutzer betrachtet eine andere Seite, während der Timer läuft, dann
prüft der
Client 109, wenn die zugeteilte Zeit abgelaufen ist, ob
die Warnungsstatusseite 201, 203 noch betrachtet
wird, und wenn dem so ist, öffnet
der Client in Schritt 327 eine Verbindung zu dem Server 101 und
fordert eine aktualisierte dynamische Seite 203 an.
-
Als
Antwort auf die Anforderung lässt
der Server das CGI-Skript in Schritt 305 erneut laufen und
führt die
Schritte 307 und 309 aus, wie oben angemerkt.
In Schritt 313 führt
die Tatsache, dass die Anforderung eine Aktualisierungs-Anforderung
ist, dazu, dass die Verarbeitung zu Schritt 319 geht und die
aktualisierte dynamische Seite 203 an den Client gesendet
wird. In Schritt 321 verarbeitet der Client die neuen aktualisierten
Daten von der dynamischen Seite, wie oben angeführt, und geht weiter zu den Schritten 323, 325 und 327.
Der Prozess der Aktualisierung der Daten in der statischen Seite 201 mit
Daten aus der dynamischen Seite 203 geht weiter, bis der
Benutzer eine andere Seite zur Betrachtung über den Browser auf dem Client 109 wählt.
-
4 zeigt
ein Ablaufdiagramm der Verarbeitung gemäß dem zweiten Ausführungsbeispiel
der Erfindung der Seiten 201, 203 durch den Client 109 und
den Server 101 als Antwort auf die Anforderung eines Benutzers
des Clients 109, die Warnungsstatusseite 201, 203 zu
betrachten. In Schritt 401 öffnet der Client 109 als
Antwort auf eine Anforderung des Benutzers eine Verbindung über das
Netzwerk 107 an den Server 101. In Schritt 403 sendet
der Client 109 die Anforderung für die Warnungsstatusseite 201, 203.
Als Antwort auf die Anforderung lässt der Server in Schritt 405 das
CGI-Skript laufen, das zu der Warnungsstatusseite 201, 203 gehört, und
empfängt
in Schritt 407 die aktuellen Daten von der Datenbank 105.
Die aktuellen Daten werden in Schritt 409 in die dynamische
Seite 203 eingefügt.
-
In
Schritt 413 geht, wenn die Anforderung in Schritt 403 für die gesamte
Seite war (d.h, die statische Seite 201 eingeschlossen),
die Verarbeitung weiter zu Schritt 415 und sendet die statische
Seite 201 an den Client 109. In Schritt 417 zeigt
der Client 109 die statische Seite 201 dem Benutzer
in einem Browserfenster an. Dann sendet in Schritt 419 der Server
die dynamische Seite 203 an den Client, der unter Steuerung
des Skripts 209 die Daten aus der dynamischen Seite 203 extrahiert
und die Daten in die geeigneten Felder 205 in der Form 202 der
statischen Seite 201 einfügt.
-
In
Schritt 423 überwacht
der Server 101 die Daten für die dynamische Seite 203 nach
etwaigen Aktualisierungen. Wenn eine Aktualisierung der Daten erfasst
wird, geht die Verarbeitung zu Schritt 405 und der Server
lässt das
CGI-Skript erneut laufen und führt
die Schritte 407 und 409 aus, wie oben beschrieben.
In anderen Worten, die Aktualisierung der dynamischen Seite 203 wird
in diesem Ausführungsbeispiel
von den anzuzeigenden Daten angestoßen statt von einem Aktualisierungstimer.
-
In
Schritt 413 führt
die Tatsache, dass nur die dynamische Seite 203 aktualisiert
wird, dazu, dass die Verarbeitung zu Schritt 419 weiter geht
und die aktualisierte dynamische Seite 203 an den Client 109 gesendet
wird. In Schritt 421 extrahiert der Client 109 die
aktualisierten Daten aus der dynamischen Seite 203 und
fügt sie
in die geeigneten Felder 205 der statischen Seite 201 ein
und der Server 101 geht weiter zu den Schritten 423 und 425,
wie oben beschrieben. Der Prozess der Aktualisierung der dynamischen Seite 203 geht
weiter, bis der Benutzer eine andere Seite zur Betrachtung über den
Browser auf dem Client 109 wählt.
-
5 zeigt
ein drittes Ausführungsbeispiel der
Erfindung, wobei eine statische Seite 501 eine Form 502 aufweist,
die dieselbe ist wie die Form 202, die oben unter Bezugnahme
auf 2 beschrieben wurde. Zusätzlich weist die statische
Seite 501 einen Satz von Symbolen 503 auf, die
eine schematische Darstellung von Elementen in dem Netzwerk liefern, aus
denen die überwachten
Warnungen abgeleitet werden. Jedes Symbol hat zwei Zustände, von
denen jeder dem Betrachter den Status des Netzwerkselements anzeigt,
das ein bestimmtes Symbol darstellt, z.B. ein rotes Symbol für ein Element
mit einer Warnungsbedingung und ein schwarzes Symbol für ein Element,
das normal arbeitet. Die statische Seite 501 umfasst auch
eine Dialogbox 505, die verwendet wird, um dem Betrachter
Textnachrichten zu liefern, die zum Beispiel den Fortschritt einer
Aufgabe beschreiben, wie eine Testroutine, die entfernt in dem Netzwerk
ausgeführt
wird.
-
Die
statische Seite 501 umfasst auch ein Skript 509,
ein Refresh-Tag 511 und Daten 513. Das Skript 509 funktioniert
im Wesentlichen auf dieselbe Weise wie das Skript 209,
das oben unter Bezugnahme auf die 2 und 3 oder 4 beschrieben wurde
(die Unterschiede werden im Folgenden beschrieben). Die Daten 513 weisen
zwei Teile auf, wobei der erste ein Satz von Bildern ist, von denen
jedes einen von zwei möglichen
Zuständen
jedes der Symbole 503 darstellt. Der zweite Teil sind Sätze von Textnachrichten,
wobei jeder Satz eine geordnete Se quenz bildet, die ausgebildet
ist, den Dialog für
die Dialogbox 505 zu liefern. Der Satz von Textnachrichten
ist ausgebildet, einen Dialog für
alle Aufgaben vorzusehen, über
die ein Benutzer informiert werden muss. Wie bei den vorherigen
Ausführungsbeispielen
wird das Skript 509 nicht angezeigt und auf ähnliche
Wiese werden in diesem Ausführungsbeispiel die
Daten 513 von dem Browser gespeichert, bis sie gebraucht
werden, wie im Folgenden beschrieben.
-
Die
dynamische Seite 515 weist eine Datenstruktur 517 auf,
die zusätzlich
zu den Daten 516 für die
Form 502 auch Anweisungen 517a, welche die Symbole 503 betreffen,
und Anweisungen 517b aufweist, die Textnachrichten für die Dialogbox 505 betreffen.
Die Anweisungen 517a liefern eine Anzeige, welche der zwei
möglichen
Darstellungen jedes Symbols (die einen von zwei Zuständen des
Netzwerkelements anzeigen, welches das Symbol darstellt) angezeigt
werden soll. Die Anweisungen 517b liefern eine Anzeige,
welche der Sequenz von Nachrichten als nächstes in der Dialogbox 505 angezeigt werden
soll.
-
In
diesem Ausführungsbeispiel
unterscheidet sich das Skript 509 von dem Skript, das unter
Bezugnahme auf 3 beschrieben wurde, darin,
dass neben einem Extrahieren von Daten 516 aus der Datenbank 105,
die schließlich
in der Form 502 angezeigt werden, auch die Anweisungen 517a und 517b extrahiert
werden und in die dynamische Seite 515 eingefügt werden.
Wenn der Browser die Daten 516 empfängt, behandelt er sie auf dieselbe
Weise wie für die
obigen ersten und zweiten Ausführungsbeispiele. Wenn
der Browser die Anweisungen 517a, 517b empfängt, wendet
er die Anweisungen jeweils auf die Symbole 503 und die
Dialogbox 505 an. Wenn zum Beispiel eine der Anzeigen 517a anzeigt,
dass eines der Symbole 503 den Zustand ändern soll (z.B. von schwarz
nach rot – was
einen Fehler an dem entsprechenden Netzwerkelement anzeigt), dann
greift das Skript auf die gespeicherten Bilder 513 von
der statischen Seite 501 zu, erlangt das alternative Bild
gemäß der Anweisung 517a und
zeigt es auf der statischen Seite 501 statt des vorherigen
Bilds an. Ähnlich,
wenn eine der Anweisungen 517b anzeigt, dass die nächste Nachricht
in der Sequenz von in der Dialogbox 505 angezeigten Nachrichten
angezeigt werden soll, dann erlangt das Skript 509 die
nächste Nachricht
aus dem gespeicherten Satz von Nachrichten 513 und zeigt
die Nachricht in der Dialogbox 505 an.
-
Wie
für Fachleute
offensichtlich ist, können die
Anweisungen 517a, 517b, die in die dynamische Seite 515 eingefügt werden,
ein vollständiger
Satz sein, der den Zustand der Symbole 503 und den Text in
der Dialogbox 505 definiert. Alternativ können nach dem
anfänglichen
Herunterladen, d.h. für
eine nachfolgende Aktualisierung der Daten in der statischen Seite 501,
die Anweisungen 517a, 517b ein minimaler Satz
sein, d.h. nur Anweisungen umfassen, die Symbole betreffen, die
einen veränderten
Status haben, oder einen Dialog, der zu der nächsten Nachricht in der Sequenz
gegangen ist. Auf diese Weise wird die Menge an Verarbeitung reduziert,
die erforderlich ist, um die dynamische Seite 525 zu erzeugen und
die Anweisungen zu verarbeiten.
-
Viele
Browser unterstützen
ein Merkmal, das als Rahmen bezeichnet wird. Dies bedeutet, dass das
Browserfenster in bestimmte Bereiche unterteilt wird, von denen
jeder als ein Rahmen bezeichnet wird und jeder die Eigenschaften
eines normalen Browserfensters hat. Die Benutzerinteraktion, die
in einem Rahmen stattfindet, kann unabhängig sein von sowohl dem Inhalt
als auch der Benutzerinteraktion der anderen Rahmen. In dem obigen
Ausführungsbeispiel
kann, statt die statische Seite 501 als eine einzelne Seite
anzuzeigen, diese in eine Vielzahl von Rahmen unterteilt werden.
Zum Beispiel können
die Symbole 503 in einem Rahmen angezeigt werden, die Dialogbox 505 kann
in einem anderen Rahmen und die Form 502 in einem weiteren
Rahmen angezeigt werden.
-
Wie
für Fachleute
offensichtlich ist, kann die statische Seite 501 ausgebildet
sein ohne die Symbole 503 oder ohne die Dialogbox 505.
Alternativ kann die statische Seite 501 ohne die Form 502 ausgebildet
sein.
-
Als
ein alternatives zusätzliches
Merkmal in dem ersten Ausführungsbeispiel
ist der Server 101 mit einem zweiten Refresh-Timer vorgesehen,
der die Aktualisierung der dynamischen Seite 203 steuert.
Der zweite Timer hat eine kürzere
Zeitperiode als der erste Timer auf dem Client 109. Der
erste Timer auf dem Client 109 wird verwendet, um nur das
Upload der dynamischen Seite 203 zu stimulieren (da die
Aktualisierung der dynamischen Seite nun von dem zweiten Timer des
Servers gesteuert wird). Dieses Merkmal kann verwendet werden, um
sicherzustellen, dass der Server das CGI-Skript nicht öfter laufen
lässt,
als die Datenbank 105 aktualisiert wird, oder dass das
CGI-Skript so oft abläuft,
dass die Verarbeitungsleistung des Servers 101 nicht effizient verwendet
wird.
-
In
den oben beschriebenen ersten und zweiten Ausführungsbeispielen gehört das Refresh-Tag zu
der statischen Seite 203. Als eine Alternative kann das
Tag zu der dynamischen Seite 201 gehören und jedes Mal, wenn die
dynamische Seite 203 aktualisiert wird, kann das Tag 211 unter
der Steuerung des Clients 109 oder des Servers 101 variiert
werden, um so von der Bandbreiten/Übertragungs-Rate abhängig zu
sein, die über
das Netzwerk 107 verfügbar
ist. Die verfügbare
Bandbreite kann abhängig
sein von der Verkehrsbelastung auf dem Netzwerk 107 oder
dem Verbindungsmodus zwischen dem Client und dem Netzwerk, z.B.
PSTN, ISDN, ADSL, GSM (oder ein anderes mobiles System). Als eine
weitere Alternative kann das Refresh- Tag 211 abhängig sein von den Daten, die
in die dynamische Seite eingefügt
werden, oder variieren abhängig
von der Zeit gemäß einer vorgegebenen
Funktion. Das Tag kann von einem Benutzer gesetzt werden und von
diesem gesteuert werden.
-
Wie
für Fachleute
offensichtlich ist, können die
oben beschriebenen statischen und dynamischen Seiten getrennt auf
getrennten Servern gespeichert und erzeugt werden. Ferner können die
statischen und die dynamischen Seiten auf einen dazwischenliegenden
Server geladen werden, der ausgebildet ist, die Seite in ihre Anzeigeform
zusammenzusetzen und dann der Clientvorrichtung ermöglichen,
auf die Seite zuzugreifen und sie anzuzeigen.
-
Wie
für Fachleute
offensichtlich ist, kann ein Teil der oder die gesamte Software,
die zur Implementierung der Erfindung verwendet wird, auf verschiedenen Übertragungs-
und/oder Speichermedien enthalten sein, wie eine Floppy-Disk, CD-ROM oder
ein magnetisches Band, so dass das Programm auf einen oder mehrere
Universalrechner geladen werden kann oder über ein Computernetzwerk unter Verwendung
eines geeigneten Übertragungsmediums
heruntergeladen werden kann.
-
Außer der
Kontext erfordert offensichtlich etwas anderes, sollen in der Beschreibung
und den Ansprüchen
die Wörter „aufweisen", „aufweisend" und Ähnliches
in einem inklusiven Sinn statt einem exklusiven oder erschöpfenden
Sinn interpretiert werden; das heißt, in dem Sinn von „einschließlich, aber
nicht darauf beschränkt".