-
Die
Erfindung betrifft ein Verfahren zur Reduzierung der Latenzzeit
bei der interaktiven Datenkommunikation zwischen einem Terminal
Server und einem mit diesem über
ein Satellitennetzwerk verbundenen Terminal-Rechner, gemäß dem Oberbegriff
von Anspruch 1.
-
Bei
der Datenkommunikation über
Satellitennetzwerke werden bevorzugter Weise geostationäre Satelliten
eingesetzt, die in einer Entfernung von ca. 36 000 km über der
Erdoberfläche
positioniert werden und sich mit der Erde unter Beibehaltung einer im
Wesentlichen festen Position gegenüber der Erdoberfläche mitbewegen.
Hierdurch erscheint es von der Erde aus betrachtet so, als wenn
der Satellit stationär über dem
unterhalb des Satelliten gelegenen Gebiet der Erdoberfläche stehen
würde,
in welchem die Kommunikation mit dem Satelliten möglich ist. Dieses
Gebiet wird häufig
auch als „Footprint" bezeichnet.
-
Es
gibt mittlerweile zahlreiche Satelliten, die sich praktisch wie
Perlen auf einer Schnur in einem Abstand von ca. 36 000 km über dem Äquator aufreihen.
-
Satellitenverbindungen
eignen sich aufgrund ihrer hohen Bandbreite und Übertragungssicherheit bestens
zur Übertragung
von Massendaten, wie beispielsweise analogen und digitalen Fernsehsendungen,
Videos sowie Internet-Downloads, was darauf zurückzuführen ist, dass hierbei keine
interaktiven Abfragen und Rückbestätigungen über den
Satelliten übertragen
werden müssen.
-
Diese
Massendaten werden über
sogenannte Satelliten-HUBS und mit diesen verbundene zentrale Server-Rechner
als fortlaufender Datenstrom an den geostationären Satelliten gesendet, und
von diesem im Bereich des Footprints des Satelliten an eine Vielzahl
von Satelliten-Empfangsanlagen verteilt.
-
Aufgrund
dieses großen
Abstandes und der endlichen Ausbreitungsgeschwindigkeit von elektromagnetischen
Signalen tritt bei der Datenkommunikation über geostationäre Satelliten
das Problem auf, dass die Laufzeit eines elektromagnetischen Signals von
einem Sender auf der Erde zum Satelliten und von dort aus zum Empfänger ca.
0,24 Sekunden beträgt,
so dass eine vom Empfänger
ohne Zeitverzögerung
abgesandte Antwort den Sender infolge der sich zusätzlich ergebenden
elektronischen Zeitverluste bei der Signalwandlung frühestens
erst nach ca. 1 bis 2 Sekunden erreicht.
-
Für die interaktive
Datenkommunikation zwischen einem Terminal-Server und einem Terminal-Server-Client,
bei der der Terminal-Server die eigentliche Datenverarbeitung durchführt, und
der Terminal-Server-Client lediglich die Funktion eines intelligenten
Terminals übernimmt,
welches aus den über den
geostationären
Satelliten vom Terminal-Server übertragenen
Daten eine interaktive Bildschirmdarstellung für den Benutzer des Terminal-Server-Clients
erzeugt, führt
diese häufig
auch als Latenzzeit bezeichnete Zeitverzögerung zwangsweise dazu, dass
ein vom Benutzer des Terminal-Server-Clients z.B. über eine
Tastatur eingegebenes Zeichen oder eine Mausbewegung frühestens
nach 1 bis 2 Sekunden durch ein entsprechendes Echo des Terminal-Servers
auf dem Bildschirm des Terminal-Server-Clients bestätigt wird.
-
Aufgrund
dieser bei der interaktiven Datenkommunikation nicht hinnehmbaren
Zeitverzögerung von
ca. 1 bis 2 Sekunden, die bei jeder Eingabe des Benutzers über die
Tastatur, Maus oder sonstige Dateneingabeeinrichtung des Terminal-Server-Clients auftritt,
sind interaktive Client-Server-Anwendungen, wie z.B. ERP-Software
mit datengetriebenen Anwendungen, die z.B. bei terrestrischen Verbindungen
bei einer großen
Anzahl von Benutzern in vorteilhafter Weise mit Hilfe von Betriebssystemen
wie UNIX oder Windows 2000 Server etc., durchgeführt werden können, über geostationäre Satelliten
in der Praxis in der Regel nicht ohne weiteres realisierbar.
-
Hierbei
ist es insbesondere störend,
dass bei Datenbankanwendungen, die auf dem Terminal-Server ausgeführt werden,
und bei denen die Dateneingabe in entsprechende Datenfelder oder
Dateneingabefelder erfolgt, die auf dem Terminal-Server-Client in
Form eines interaktiven Anwenderprogramms dargestellt und nacheinander
in einer vorgegebenen Reihenfolge durchlaufen werden, bei der Eingabe von
Zahlen und Buchstaben in die einzelnen Felder oder auch beim Wechsel
von einem Datenfeld zum nächsten
Datenfeld sehr große
Zeitverzögerungen entstehen,
die ein Arbeiten in der Praxis sehr mühsam, wenn gar unmöglich machen.
-
Aus
der nicht vorveröffentlichten
DE-A- 102 00 165 des
Anmelders ist es bekannt, die Latenzzeit bei der interaktiven Datenkommunikation
zwischen einem Terminal-Server-Client
und einem Terminal-Server, die über
ein einen geostationären
Satelliten enthaltendes Satellitennetzwerk miteinander verbunden
sind, zur beschleunigten Ausführung
eines auf dem Terminal-Server-Client ablaufenden interaktiven Anwenderprogramms
dadurch zu reduzieren, dass die Übertragung
der Datenpakete vom Terminal-Server-Client zum Terminal-Server und/oder
zurück
im Wesentlichen ohne Rückbestätigungen
erfolgt.
-
Weiterhin
wird in der WO 01/08378 A1 vorgeschlagen, bei Client-Server Systemen,
die über
ein terrestrisches Netzwerk betrieben werden, das visuelle Antwortverhalten
eines Client-Rechners dadurch zu beschleunigen, dass der Client-Rechner
auf eine Eingabe hin eine voraussichtliche Darstellung des Bildschirminhalts
errechnet, die auf dem Bildschirm des Client-Rechners ausgegeben
wird, bevor die anhand der eingegebenen Daten vom Server erzeugte tatsächliche
Bildschirmdarstellung vom Server an den Client zur Darstellung auf
dem Bildschirm übertragen
wird.
-
Abgesehen
davon, dass die Schrift keine konkreten Angaben darüber enthält, wie
und anhand von welchen Größen die
Vorausberechnung oder Vorhersage der voraussichtlichen Darstellung
des Bildschirminhalts erfolgt, gibt die Schrift ebenfalls keinen
Hinweis darauf, das dort beschriebene Verfahren bei einem Netzwerk
einzusetzen, bei dem die Daten über
einen geostationären
Satelliten im Wesentlichen ohne Rückbestätigungen übertragen werden, um die physikalisch
durch die Signallaufzeiten bedingte Latenzzeit – die verglichen mit der durch
die Auslastung des Servers bedingten zeitlichen Verzögerung erheblich
größer ist – bei der
Eingabe von Daten in Datenfelder am Client-Rechner weiter zu verringern.
-
Demgemäß ist es
eine Aufgabe der vorliegenden Erfindung, ein Verfahren zu schaffen,
mit dem sich die Arbeitsgeschwindigkeit von durch einen Terminal-Server über einen
geostationären
Satelliten auf dem Anzeigemedium eines Terminal-Server-Clients bereitgestellten
interaktiven Anwenderprogrammen, bei denen eine Eingabe von Daten
in vorgegebene Datenfelder erfolgt, weiter erhöhen lässt.
-
Diese
Aufgabe wird gemäß der Erfindung durch
die Merkmale von Anspruch 1 gelöst.
-
Weitere
Merkmale der Erfindung sind in den Unteransprüchen enthalten.
-
Gemäß der Erfindung
sind ein Terminal-Server und einen Terminal-Server-Client über einen
geostationären
Satelliten zum Datenaustausch miteinander gekoppelt. Auf dem Terminal-Server
wird ein Datenverarbeitungsprogramm, insbesondere in Form eines
Datenbankprogramms, eines Tabellenkalkulationsprogramms, eines Textverarbeitungsprogramms
oder auch eines Programms zur Erstellung von E-mails, ausgeführt, bei
dem von einem Benutzer des Terminal-Server-Client Rechners Daten über ein
mit dem Terminal-Server-Client verbundenes Eingabemedium eingegebenen
werden.
-
Die
Eingabe der Daten erfolgt hierbei in Datenfelder, wobei die Position,
an der die Daten, z.B. Zahlen, Buchstaben oder sonstige Zeichen
innerhalb eines Datenfeldes eingegeben werden, durch eine Eingabeaufforderung,
z.B. eine Cursormarke, auf dem Bildschirm des Terminal-Server-Clients
angezeigt wird. Im Falle einer Datenbankanwendung oder eines Tabellenkalkulationsprogramm
stimmen die Datenfelder vorzugsweise mit den am Bildschirm dargestellten
Eingabefeldern der Dateneingabemaske, bzw. der Tabelle überein,
wohingegen die Datenfelder im Falle einer Textverarbeitung oder
eines E-mail-Programms beispielsweise einer vollständigen Textzeile
entsprechen können.
-
Wie
bei derartigen Programmen üblich,
werden die Datenfelder nach einer durch Parameter vorgegebenen Bearbeitungsreihenfolge
durchlaufen, indem der Benutzer die Eingabe der Daten innerhalb eines
Datenfeldes durch Eingabe eines Befehls abschließt. Ein solcher Befehl kann
z.B. durch Drücken der „RETURN"-Taste, der „TAB"-Taste oder einer
der Pfeiltasten etc. auf einer Tastatur eingegeben werden, und führt dazu,
dass eine Eingabeaufforderung, z.B. eine Cursormarke in einem gerade
bearbeiteten Datenfeld in ein vorhergehendes oder nachfolgendes Datenfeld
gesetzt wird.
-
Die
Dateneingabefelder werden vom Terminal-Server in der bei derartigen
Client-Server Verbindungen – bei
denen die Ausführung
und grafische Darstellung des Datenverarbeitungsprogramms allein
durch den Server erfolgt, und der Client lediglich die Funktion
eines intelligenten Terminals übernimmt, über welches
die grafischen Darstellungen in Form eines interaktiven Anwenderprogramms
lediglich dem Benutzer angezeigt werden – üblichen Weise als Datenpakete über das
Netzwerk an den Terminal-Server-Client übertragen, und von diesem mit
Hilfe eines eignen Prozessors sowie einer entsprechenden Grafikkarte
auf einem Bildschirm oder einem sonstigen Anzeigemedium dargestellt.
Dabei wird die Eingabe von weiteren Daten in ein zugehöriges Datenfeld
durch die Eingabeaufforderung signalisiert, die sich an der jeweiligen
Position innerhalb eines Datenfeldes befindet, an der weitere Daten
eingegeben werden sollen.
-
Die über das
Eingabemedium am Terminal-Server-Client eingegebenen Daten und/oder
Befehle werden in erfindungsgemäßer Weise
in Form von weiteren Datenpaketen im Wesentlichen ohne Rückbestätigungen
durch den Terminal-Server über das
Satellitennetzwerk an den Terminal-Server übertragen, der die eingegebenen
neuen Daten nach der Ubertragung über den geostationären Satelliten
bei der Ausführung
des Datenverarbeitungsprogramms dazu heranzieht, eine neue Bildschirmdarstellung
zu erzeugen, die wiederum in Form von Datenpaketen an den Terminal-Server-Client übertragen
wird, der die zugehörige
neue Bildschirmdarstellung mit Hilfe seiner Grafikkarte aus den
Datenpaketen errechnet und zur Anzeige auf dem Anzeigemedium bringt.
-
Das
erfindungsgemäße Verfahren
zeichnet sich dadurch aus, dass die Parameter für die Bearbeitungsreihenfolge
der Datenfelder ebenfalls mit über
das Satellitennetzwerk an den Terminal-Server-Client übertragen
werden, und dass auf dem Terminal-Server-Client eine eigenständige Programmroutine
abläuft,
die bei der Eingabe vorgegebener Befehle über das Eingabemedium die Bildschirmdarstellung
in Abhängigkeit
von den Parametern für
die Bearbeitungsreihenfolge in der Weise selbständig verändert, dass die Eingabeaufforderung
innerhalb eines Datenfeldes in das nach der Bearbeitungsreihenfolge
nächste
oder vorhergehende Datenfeld bewegt wird.
-
Durch
das erfindungsgemäße Verfahren
ergibt sich der Vorteil, dass die Dateneingabe von einer großen Anzahl
von Terminal-Server-Client-Rechnern, die praktisch über den
gesamten Footprint des geostationären Satelliten verteilt angeordnet
sein können,
zentral mit einer Geschwindigkeit erfolgen kann, die sonst nur bei
der interaktiven Dateneingabe über
ein terrestrisches Datennetzwerk erreicht wird, bei welchem die
physikalischen Verzögerungszeiten oder
Latenzzeiten um Größenordnungen
kleiner sind, als dies bei geostationären Satellitenverbindungen
der Fall ist.
-
Durch
den Einsatz von intelligenten Terminals, die über den geostationären Satelliten
mit dem Terminal-Server-Rechner verbunden sind, ergibt sich neben
niedrigen Anschaffungs-, Betriebs- und Wartungskosten zudem der
Vorteil, dass von den Terminal-Server-Client-Rechnern aus keine oder nur in sehr
aufwendiger Weise größere Datenmanipulationen
an den Daten des Terminal-Servers vorgenommen werden können, wenn
die Terminal-Server-Client
konstruktionsbedingt keine weiteren Einrichtungen zur Datenübertragung,
wie beispielsweise Schnittstellen für Massenspeichermedien oder
Netzwerkschnittstellen, besitzen.
-
Weiterhin
ergibt sich durch die Übertragung der
Daten über
einen geostationären
Satelliten in Verbindung mit einer sonst nur bei terrestrischen Netzwerken
eingesetzten Serverbasierenden Datenverarbeitung, bei der das Datenverarbeitungsprogramm
als solches ausschließlich
auf dem Server abläuft,
und nur die Bilddarstellungen an den Client zur Darstellung übertragen
werden, der Vorteil, dass die Datenpakete vom Server zum Client und
auch in umgekehrter Richtung im Wesentlichen ohne Rückbestätigungen
oder Acknowledgements versandt werden können, ohne dass ein Fehler,
der bei der Übersendung
der Datenpakete oder weiteren Datenpakete auftritt, zu einem Absturz
des Datenverarbeitungsprogramms auf dem Server führt.
-
Dies
ist beispielsweise bei HTML-basierenden Anwendungen, bei denen die
HTML-Seiten von einem Webserver heruntergeladen, und dann durch eine
auf dem Client ablaufende komplexe Browsersoftware dargestellt werden,
in der Regel nicht der Fall, da der HTML-Code von der Browsersoftware interpretiert
oder kompiliert wird, wodurch bei Fehlern in den übertragenen
Daten bekanntlich leicht Abstürze
der Browsersoftware auftreten.
-
Bei
dem erfindungsgemäßen Verfahren
führt ein
solcher Datenverlust hingegen lediglich zu einer unpräzisen Darstellung
des gerade bearbeiteten Datenfeldes, da vorzugsweise lediglich die
geänderten Bereiche
der Bildschirmdarstellung übertragen
werden, die jedoch nach der Eingabe eines nächsten Zeichens oder Befehls
wieder korrigiert werden, wenn der Server die nächste Bildschirmdarstellung nach
beispielsweise 2 Sekunden errechnet und an den Client zur Darstellung übersendet.
-
Gemäß der bevorzugten
Ausführungsform der
Erfindung wird der Terminal Server unter einem fenster-orientierten
Betriebssystem betrieben wird, wobei die an den Terminal-Server-Client übertragenen
Bildschirmdarstellungen vor der Übersendung an
den Terminal-Server-Client auf dem Terminal-Server durch eine Fenster-Programmroutine
des Betriebssystems des Terminal- Servers auf der Basis von Fenster-
und Objektparametern erzeugt werden. Das fenster-orientierte Betriebssystem
ist vorzugsweise das von der Fa. Microsoft Corporation vertrieben
Windows 2000, 2003 oder 200X Server, bei dem die Datenverarbeitungsprogrammen
für jeden
der mit dem Terminal-Server verbundenen Client-Rechner auf einem
virtuellen Desktop im Arbeitsspeicher des Servers ablaufen. Die
Darstellung der von einem jeweiligen Datenverarbeitungsprogramm
erzeugten Fenster-Darstellungen
wird hierbei durch den sogenannten Window-Manager gesteuert, wobei
jedes Objekt, welches von einem Datenverarbeitungsprogramm auf dem
Bildschirm des Terminal-Server-Client Rechners dargestellt werden
soll, auf dem virtuellen Desktop angelegt, und durch den Window-Manager
verwaltet wird. Jedes Objekt, welches z.B. die Datenfelder, Rollbalken,
Schaltflächen
sowie auch die Fenster und Rahmen derselben selbst sein können, wird
hierbei durch den Window-Manager anhand von zugehörigen Parametern
beschrieben, wobei die Parameter zur Darstellung der Datenfelder beispielsweise
neben einer Nummerierung, welche die Bearbeitungsreihenfolge direkt
oder indirekt festlegt, auch die Position des Datenfeldes auf dem
Bildschirm, die Schriftart, die Schriftgröße sowie die Position des Cursors
etc. mit beinhalten.
-
Bei
dem erfindungsgemäßen Verfahren
werden die Parameter für
die Bearbeitungsreihenfolge der Datenfelder innerhalb des Window-Managers von
der eigenständigen
Programmroutine dazu verwendet, die Bildschirmdarstellung auf dem
Terminal-Server-Client
Rechner bei der Eingabe von Daten in die Datenfelder zu beschleunigen.
-
Hierzu
wird durch eine z.B. auf dem Terminal-Server ablaufende weitere
Programmroutine durch Eingriff in das Betriebssystem eine Kopie
oder zumindest eine Teilkopie der Fenster- und Objektparameter erstellt,
die die Fenster-Programmroutine des Betriebssystems des Terminal-Servers – im Falle von
Windows 200X Server der Window-Manager – zur Erzeugung der aktiven
Bildschirmdarstellung des gerade ablaufenden Datenverarbeitungsprogramms verwendet.
Diese Kopie oder Teilkopie des Window-Managers, die aufgrund der
objektorientierten Beschreibung eine verglichen mit reinen Pixelgrafiken
geringe Größe aufweist
wird dann über
das geostationäre
Satellitennetzwerk an den Terminal-Server-Client übersandt,
und von der eigenständigen Programmroutine
gelesen.
-
Die
eigenständige
Programmroutine analysiert die über
das Eingabemedium eingegebenen Befehle und/oder Daten vor dem Übersenden
an den Terminal-Server z.B. durch bekannte „IF-THEN"-Abfragen, und ändert die aktive Bildschirmdarstellung auf
dem Bildschirm des Terminal-Server-Clients durch Eingriff in den
Grafikspeicher des Clients in Abhängigkeit von der Bearbeitungsreihenfolge
sowie den Fenster- und Objektparametern in der Kopie des Window-Managers
selbständig
dahingehend, dass z.B. die Eingabeaufforderung an den Anfang des
Datenfeldes mit der nächsten
Ordnungsnummer gesetzt wird, wenn die „ENTER" Taste oder die "PFEIL nach unten " Taste gedrückt wird. Hierbei wird in vorteilhafter
Weise immer nur dasjenige Datenfeld geändert, welches gerade angesprungen
wurde, ohne dass die gesamte Bildschirmdarstellung durch den Client
neu berechnet wird.
-
In
entsprechender Weise ändert
die eigenständige
Programmroutine die aktive Bildschirmdarstellung in Abhängigkeit
von der Bearbeitungsreihenfolge sowie den Fenster- und Objektparametern
in der Weise selbständig
dahingehend, dass die Eingabeaufforderung beim Auftreten eines vorgegebenen Befehls,
z.B. "PFEIL aufwärts", der einem Rücksprung
in ein vorhergehendes Datenfeld zugeordnet ist, an den Anfang des
vorhergehenden Datenfeldes gesetzt wird.
-
Durch
die lokale Änderung
des jeweiligen Datenfeldes, welches gemäß der vom Window-Manager bestimmten
Reihenfolge als nächstes
angesprungen wird, ergibt sich trotz der vergleichsweise großen physikalischen
Latenzzeit von 1 bis 2 Sekunden eine flüssige interaktive Darstellung
am Bildschirm.
-
Wie
der Anmelder gefunden hat, ist dies in überraschender Weise auch darauf
zurück
zu führen, dass
die bei den beschriebenen Betriebssystemen im Falle von Datenübertragungen über terrestrische Datennetze
aufgrund der hohen Störanfälligkeit
sowie des Routing erforderlichen Rückbestätigungen für den sicheren Erhalt der übersandten
Daten, im Wesentlichen entfallen, oder zumindest auf ein absolutes
Mindestmaß reduziert
werden können,
da die Übertragung
der Daten über
den geostationären
Satelliten mit einer sehr geringen Störanfälligkeit verbunden ist.
-
Sollte
es aufgrund der fehlenden Rückbestätigungen
bei der Übersendung
der Befehle und Daten doch einmal passieren, dass ein Datenpaket
bei der Übersendung
vom Server zum Client verloren geht, so führt dies nur kurzzeitig zu
einer fehlerhaften Grafikdarstellung, die jedoch auf dem Bildschirm
des Clients nach sehr kurzer Zeit automatisch korrigiert wird, wenn
der Server eine aktualisierte Darstellung übersendet.
-
Gemäß einer
Weiterbildung des der Erfindung zugrundeliegenden Gedankens kann
es weiterhin vorgesehen sein, dass die eigenständige Programmroutine die Position
einer dem Eingabemedium zugeordneten Datenzeigeeinrichtung, insbesondere
eines Mauszeigers, analysiert, und die Ansicht des zugehörigen Objekts
in der aktiven Bildschirmdarstellung in einer vorbestimmten Weise
selbständig ändert, wenn
die Position der Datenzeigeeinrichtung einer vorgegebenen Position
oder einem Bereich in der aktiven Bildschirmdarstellung entspricht. Das
Objekt ist hierbei vorzugsweise eine Schaltflächen die z.B. erhellt oder
in sonstiger Weise grafisch verändert
wird, wenn der Mauszeiger sich im Bereich der Schaltfläche befindet,
um dem Benutzer zu signalisieren, dass bei der Eingabe eines Befehls
die Schaltfläche
aktiviert wird.
-
Hierbei
lässt sich
eine weitere Steigerung der Ausführungsgeschwindigkeit
des interaktiven Anwenderprogramms auf dem Client-Bildschirm dadurch
erreichen, dass die eigenständige
Programmroutine gleichzeitig überwacht,
ob ein Befehl, insbesondere ein Mausklick, eingegeben wird. Ein
solches Objekt ist beispielsweise ein bekannter Rollbalken, der
durch Anklicken des mit der Datenzeigeeinrichtung sowohl seine Darstellung
in einer vorgegebenen Weise ändert,
als auch zumindest einen Teil des Inhalts der aktiven Bildschirmdarstellung
verschiebt. Das Verschieben der Bildschirmdarstellung geschieht
hierbei vorzugsweise dadurch, dass der gesamte, durch die Kopie
des Window-Managers im Terminal-Server-Client definierte Inhalt
der Bildschirmdarstellung in bekannter Weise insgesamt im Speicher
der Grafikkarte des Clients verschoben wird, bevor die Bildschirmdarstellung
durch den Terminal-Server neu berechnet und an den Client übertragen
wird. Aufgrund der Verwendung der Parameter aus der Kopie des Window-Managers
auf dem Terminal-Server-Client stimmt die lokal erzeugte Bildschirmdarstellung
bei derartigen Operationen, die keine durch das Datenverarbeitungsprogramm
auf dem Server hervorgerufene Änderung
der Bildschirmdarstellung erzeugten, in hohem Maße mit der vom Server berechneten,
und z.B. 1 bis 2 Sekunden später
an den Client über
den geostationären
Satelliten übersandten
Bildschirmdarstellung überein,
die jedoch letztendlich die maßgebliche
Darstellung ist, die die lokal erzeugte Darstellung überschreibt.
-
Die
Bildschirmdarstellungen werden vorzugsweise durch das RDP-Protokoll übertragen,
und können
ebenfalls Bitmap-Dateien umfassen, die an den Terminal-Server-Client übertragen
werden. Gemäß der bevorzugten
Ausführungsform
der Erfindung wird vorzugs weise jedoch lediglich derjenige Teil
der Bildschirmdarstellung über
den geostationären
Satelliten übertragen,
der sich gegenüber
der der vorhergehenden Darstellung geändert hat.
-
Hierdurch
können
die über
das Satellitennetzwerk übertragene
Datenmenge, sowie die Anzahl der Ubertragungen – die häufig auch als Traffic bezeichnet
wird – insbesondere
in Kombination mit einer Übertragung
ohne oder im Wesentlichen ohne Rückbestätigungen,
in vorteilhafter Weise sehr stark reduziert werden.
-
Gemäß einer
weiteren Ausführungsform
der Erfindung erfolgt hierbei zusätzlich auch die Übertragung
der weiteren Datenpakete vom Terminal-Server-Client an den Terminal-Server im Wesentlichen ohne
eine Rückbestätigung des
Empfangs der übersandten
weiteren Datenpakete durch den Terminal-Server, wodurch sich der
Traffic nochmals beträchtlich
reduzieren, und die Arbeitsgeschwindigkeit, mit der das interaktive
Anwendungsprogramm für
den Benutzer auf dem Bildschirm des Terminal-Server-Clients abläuft, steigern
lassen. So kann es beispielsweise sein, dass eine Rückbestätigung nur
im Falle von Befehlen, die eine größere Rechenoperation auf dem
Server, z.B. eine umfangreiche Neusortierung des Datenbestandes
bewirken, mit einer Rückbestätigung versehen
werden, um sicher zu gehen, dass keine unnötigen Wartezeiten erzeugt werden.
-
Wie
der Anmelder weiterhin erkannt hat, entstehen durch das Fortlassen
von Rückbestätigungen nicht
nur bei der Ubersendung der Datenpakete vom Server an den Client
große
Geschwindigkeitsvorteile, sondern es wurde auch beobachtet, dass
selbst eine Reduzierung der Rückbestätigungen
beim Ubersenden der weiteren Datenpakete vom Terminal-Server-Client an
den Terminal-Server bei den oben beschriebenen Datenverarbeitungsprogrammen
keine nennenswerten Beeinträchtigungen
für den
Benutzer der Programme mit sich bringt.
-
Eine
weitere Reduzierung der über
das Satellitennetzwerk übertragenen
Datenmengen lässt sich
in erfindungsgemäßer Weise
dadurch erreichen, dass die weiteren Datenpakete vor dem Versenden an
den Terminal-Server auf redundante Daten hin untersucht, und ermittelte
redundante Daten aus den weiteren Datenpaketen entfernt oder durch
bereits eingegeben Daten ersetzt werden.
-
In
entsprechender Weise können
auch die vom Terminal-Server erzeugten Datenpakete vor dem Versenden
an den Terminal-Server-Client auf redundante Daten hin untersucht
und ermittelte redundante Daten aus den Datenpaketen entfernt oder durch
im Terminal-Server vorgehaltene Daten ersetzt werden.
-
Gemäß einer
weiteren Ausführungsform
der Erfindung, bei der die zur Verfügung stehend Bandbreite des
Satellitennetzwerks in optimaler Weise ausgenutzt wird, können mehrere
der zwischen dem Terminal-Server und dem Terminal-Server-Client über den
geostationären
Satelliten zu übertragenden Datenpakete
und/oder weiteren Datenpakete zur größeren Datenpaketen und/oder
größeren weiteren Datenpaketen
zusammengefasst werden, wobei die zusammengefassten größeren Datenpakete und/oder
die zusammengefassten größeren weiteren Datenpakete
eine optimierte Größe aufweisen,
derart, dass eine Übertragung über den
geostationären Satelliten
ohne eine Fragmentierung der Datenpakete und/oder weiteren Datenpakete
erfolgt.
-
Die
optimierte Größe der größeren Datenpakete
und/oder der größeren weiteren
Datenpakete wird hierbei vorzugsweise durch den Terminal-Server bei
der Einrichtung des Satellitennetzwerks für die jeweilige Verbindung
zum Terminal-Server-Client auf der Basis von verbindungsspezifischen
Parametern bestimmt.
-
Hierdurch
lässt sich
die Latenzzeit bei der Arbeit mit interaktiven Anwendungen bei den
beschriebenen Client-Server-Netzwerken in vorteilhafter Weise weiter
verkürzen.
-
Die
Erfindung wird nachfolgend mit Bezug auf die Zeichnung anhand einer
bevorzugten Ausführungsform
beschrieben.
-
In
der Zeichnung zeigt
-
1 eine schematische Übersichtsdarstellung
eines erfindungsgemäßen Satellitennetzwerks mit
den zugehörigen
Rechnerkomponenten und Programmroutinen zur Verdeutlichung der Arbeitsweise des
erfindungsgemäßen Verfahrens.
-
Wie
in 1 dargestellt ist,
ist ein Terminal-Server-Client Rechner 2 über ein
Satellitennetzwerk 4 mit einem Terminal-Server 6 verbunden,
der in der Figur aus darstellungstechnischen Gründen lediglich in gestrichelten
Linien angedeutet ist.
-
Das
Satellitennetzwerk 4 umfasst eine erste clientseitige Bodenstation 8 sowie
eine serverseitige Bodenstation 10, die über einen
geostationären
Satelliten 12 zum Datenaustausch miteinander gekoppelt
sind.
-
Auf
dem Terminal-Server 6 werden je nach Anzahl der mit diesem
verbundenen Terminal-Server-Client
Rechner 2 ein, zwei oder mehrere Datenverarbeitungsprogramme 14 ausgeführt, die
in zugehörigen
abgeschlossenen Sitzungen oder Sessions 16 getrennt auf
einem virtuellen Desktop des Terminal-Servers 6 ablaufen.
-
Im
vorliegenden Falle ist zur besseren Übersichtlichkeit lediglich
eine einziges Datenverarbeitungsprogramm 14 gezeigt, welches
der Eingabe von Kundenstammdaten dient, die anhand einer vorgegebenen
Bearbeitungsreihenfolge mit Hilfe einer Eingabeaufforderung 7 mit
den entsprechenden Daten ausgefüllt
werden, wie dies von Formularbearbeitungsprogrammen, Textverarbeitungsprogrammen oder
auch Tabellenkalkulationsprogrammen her bekannt ist. Die Bearbeitungsreihenfolge
der Datenfelder 18, deren Position, Breite, Höhe sowie
auch die Art der darin verwendeten Schrift wird hierbei durch eine
Fenster-Programmroutine 20 des auf dem Terminal-Server 6 ablaufenden
Betriebssystems gesteuert.
-
Die
Fenster-Programmroutine 20 enthält dabei vorzugsweise in tabellarischer
Form sämtliche Fenster-
und Objektparameter, die zur Erzeugung der Bildschirmdarstellung
des Datenverarbeitungsprogramms 14 auf dem virtuellen Desktop
des Terminal-Servers 6 benötigt werden.
-
Wie
der 1 weiterhin entnommen
werden kann, ist jedem Datenfeld 18 eine zugehörige Ordnungsziffer
#1, #2, #3 etc. zugeordnet, welche den Parameter für die Bearbeitungsreihenfolge
der Datenfelder 18 angibt.
-
Auf
dem Terminal-Server-Client 2 läuft eine eigenständige Programmroutine 22 ab,
die von einer weiteren Programmroutine 24 auf dem Terminal-Server 6 über das
Satellitennetzwerk 4 eine Kopie oder Teilkopie der Fenster-Programmroutine 20,
bzw. der darin verwendeten Fenster- und Objektparameter zur Darstellung
der Fenster und Objekte erhält,
welch letztere beispielsweise Schaltflächen 36 oder Rollbalken 38 wie
auch die Datenfelder 18 selbst umfassen können. Die Übertragung
der Kopie oder Teilkopie 34 der Fenster- und Objektparameter
der Fenster-Programmroutine 20 erfolgt dabei vorzugsweise beim
Start des Datenverarbeitungsprogramms 14 auf dem Terminal-Server 6 sowie
bei einem Wechsel zu einer vollständig neuen Bildschirmdarstellung,
nachdem diese vom Datenverarbeitungsprogramm 14 erzeugt
wurde.
-
Die
auf dem Terminal-Server 6 mit Hilfe der Fenster-Programmroutine 20 erzeugte
Bildschirmdarstellung des Datenverarbeitungsprogramms wird anschließend über das
Satellitennetzwerk 4 an den Terminal-Server-Client 2 in
Form von Datenpaketen im Wesentlichen ohne Rückbestätigungen übertragen, und auf dem Bildschirm 26 des
Clients 2 in Form eines interaktiven Anwenderprogramms
dargestellt, wie dies schematisch durch den Pfeil 28 angedeutet ist.
Der Terminal-Server-Client 2 ist weiterhin mit einem Dateneingabemedium
in Form einer Tastatur 30 sowie einer Datenzeigeeinrichtung
in Form einer Maus 32 verbunden, über die vom Benutzer Daten und
Befehle eingegeben werden, die vom Terminal-Server-Client 2 über das
Satellitennetzwerk 4 als weitere Datenpakete an den Terminal-Server 6 übersendet
werden. Das Datenverarbeitungsprogramm 14 erzeugt in Abhängigkeit
von den weiteren Datenpaketen werden eine neue aktualisierte Bildschirmdarstellung
des interaktiven Anwenderprogramms, die anschließend wieder in Form von Datenpaketen nach
dem bekannten RDP- Protokoll über das
Satellitennetzwerk 4 an den Terminal-Server-Client 2 übersendet
werden, um diejenigen Teile der Bildschirmdarstellung des interaktiven
Anwenderprogramms auf dem Bildschirm 2fi zu aktualisieren,
die vom Datenverarbeitungsprogramm 14 als letztes geändert wurden.
-
Um
Verzögerungen
bei der Dateneingabe in die Datenfelder 18 aufgrund der
physikalisch bedingten großen
Latenzzeit von 1 bis 2 Sekunden zu verringern, werden die über die
Tastatur 30 oder die Maus 32 eingegebenen Befehle
und Daten – deren Eingabe
in der Regel als ASCII-Zeichen erfolgt – von der auf dem Terminal-Server-Client 2 ablaufenden
eigenständigen
Programmroutine 22 analysiert, und die Eingabeaufforderung 7 in
Abhängigkeit
von dem jeweiligen Befehl oder Zeichen lokal weiterbewegt, während die
Befehle und/oder Zeichen verzögert über das
Satellitennetzwerk 4 an den Terminal-Server 6 übertragen
und von diesem verrechnet werden, und die aktualisierte Bildschirmdarstellung
an den Client 2 zurückgesandt
wird.
-
Befindet
sich die Eingabeaufforderung 7 beispielsweise im Datenfeld 18 mit
der Ordnungsziffer #3, so erkennt die eigenständige Programmroutine 22 dies
anhand der Kopie oder Teilkopie 34 der Fenster- und Objektparameter.
Wird nun z.B. vom Benutzer auf der Tastatur 30 der Befehl "PFEIL aufwärts" durch Drücken der
entsprechenden Taste eingegeben, so wird dies von der eigenständigen Programmroutine 22 anhand
einer entsprechenden Abfrage erkannt, und in der Kopie 34 der
Fenster- und Objektparameter die zugehörigen Parameter für das vorhergehende
Datenfeld 18 mit der Ordnungsziffer #2 gelesen.
-
Ohne
auf die vom Terminal-Server 6 aufgrund des Befehls aktualisierte
neue Bildschirmdarstellung des aktiven Anwenderprogramms zu warten, werden über die
eigenständige
Programmroutine 22 die dem Datenfeld 18 mit der
Ordnungsziffer #2 zugeordneten Objektparameter für die Position, Breite, Höhe und Schriftart
etc. an das Betriebssystem des Terminal-Server-Clients 2 übergeben,
welches die Grafikkarte des Terminal-Server-Clients wiederum in bekannter
Weise mit entsprechenden Befehlen ansteuert, um die Darstellung
des mit der Ordnungsziffer #2 versehenen zweiten Datenfelds 18 auf
dem Bildschirm 26 dahingehend zu ändern, dass die Eingabeaufforderung 7 an
den linken Rand des Datenfeldes gesetzt wird, um über die
Tastatur 30 weitere Daten in das Datenfeld eingeben zu
können.
-
Wenn
nach einer gewissen Verzögerungszeit
von beispielsweise 1 bis 2 Sekunden die aktualisierte Bildschirmdarstellung
des interaktiven Anwenderprogramms vom Terminal-Server 6 errechnet und über das
Satellitennetzwerk 4 an den Terminal-Server-Client 2 übersandt
wurde, wird die lokal erzeugte Bildschirmdarstellung des interaktiven
Anwenderprogramms auf dem Bildschirm 26 durch die vom Terminal-Server 6 berechnete
Bildschirmdarstellung ersetzt. Hierbei werden wie bereits zuvor
ausgeführt, vorzugsweise
nur die geänderten
Teile der Bildschirmdarstellung überschrieben.
-
In
entsprechender Weise setzt die eigenständige Programmroutine 22 die
Eingabeaufforderung 7 bei der Eingabe eines weiteren Befehls,
z.B. beim Drücken
der "ENTER" oder "TAB" – Taste in der zuvor beschriebenen
Weise durch Abfrage der Kopie oder Teilkopie 34 der Fenster-
und Objektparameter an den Anfang des Datenfeldes 18 mit
der nächst
höheren
Ordnungsziffer #4.
-
Weiterhin
kann es vorgesehen sein, dass die Fenster-Programmroutine 22 auf
dem Terminal-Server 6 ebenfalls Objekte der Bildschirmdarstellung enthält, die
in 1 beispielsweise
als mit der Maus 32 aktivierbare Schaltflächen 36 oder
Rollbalken 38 ausgebildet sein können, und die vorzugsweise ebenfalls
im Wege der Kopie oder Teilkopie 34 der Fenster- und Objektparameter
mit über
das Satellitennetzwerk 4 auf den Terminal-Server-Client 2 übertragen
werden.
-
Die
eigenständige
Programmroutine 22 überwacht
bei der bevorzugten Ausführungsform
der Erfindung ebenfalls die Position des Mauszeigers, und ändert beispielsweise
den Stil oder die Darstellungsart der Schaltfläche 36, wenn die Position
des Mauszeigers dem Bereich auf dem Bildschirm 26 entspricht,
in dem sich die Schaltfläche 36 befindet. Hierzu
kann es vorgesehen sein, dass die eigenständige Programmrouten 22 die
x- und y- Koordinaten eines jeden Objekts in der Kopie 34 der
Fenster- und Objektparameter mit der aktu ellen Mausposition vergleicht,
und bei einer Übereinstimmung
die weiteren Objektparameter aus der Kopie 34 der Fenster-
und Objektparameter heraussucht, z.B. indem die zugehörige Zeile
einer zugeordneten Tabelle ausgelesen wird.
-
Wenn
das Objekt 36 durch Anklicken mit der Maus 32 aktiviert
werden soll, um z.B. die Eingabemaske zu verlassen, so kann dies
durch die Erzeugung eines durch die weitere Programmroutine 22 lokal
erzeugten akustischen Signals signalisiert werden. In gleicher Weise
ist es möglich,
zur weiteren Beschleunigung der Darstellung des interaktiven Anwenderprogramms
eine Kopie der Fenster- und Objektparameter der vorhergehenden Bildschirmdarstellung
des interaktiven Anwenderprogramms im Speicher des Clients 2 vorzuhalten,
die beim Anklicken der Schaltfläche 36 oder
der Eingabe eines entsprechenden Befehls über die Tastatur 30 von
der eigenständigen
Programmroutine ausgelesen wird, um z.B. die Bildschirmdarstellung
einer übergeordneten Ebene
des Datenverarbeitungsprogramms 14, von der aus in die
in 1 gezeigte Maskendarstellung gewechselt
wurde, lokal anzuzeigen, bevor diese Darstellung vom Terminal-Server 6 berechnet
und verzögert über das
Satellitennetzwerk 4 an den Terminal-Server-Client 2 zur
Darstellung auf dem Bildschirm 26 übersandt wird.
-
Schließlich kann
beim Anklicken des Rollbalkens 38 mit dem Mauszeiger eine
im Betriebssystem des Terminal-Server-Clients 2 laufende
Unterprogrammroutine aufgerufen werden, die die gesamte Bildschirmdarstellung
anhand der Vorgaben der Kopie 34 der Fenster- und Objektparameter
verschiebt, indem der Inhalt des Speichers der Grafikkarte des Clients 2 in
bekannter Weise manipuliert wird.
-
- 2
- Terminal-Server-Client
- 4
- Satellitennetzwerk
- 6
- Terminal-Server
- 7
- Eingabeaufforderung
- 8
- Clientseitige
Bodenstation
- 10
- Serverseitige
Bodenstation
- 12
- geostationärer Satellit
- 14
- Datenverarbeitungsprogramm
- 16
- Sitzung/Session
auf Terminal-Server
- 18
- Datenfeld
- 20
- Fenster-Programmroutine
- 22
- eigenständige Programmroutine
- 24
- weitere
Programmroutine
- 26
- Bildschirm
- 28
- Pfeil
- 30
- Tastatur
- 32
- Maus
- 34
- Kopie/Teilkopie
der Fenster- und Objektparameter auf Terminal-Server-Client
- 36
- Schaltfläche
- 38
- Rollbalken
- #1,
#2, #3
- Ordnungsziffern