DE102004048343A1 - Verfahren zur Reduzierung der Latenzzeit bei der interaktiven Datenkommunikation zwischen einem Terminal Server und einem Terminal-Server Client in einem Telekommunikationsnetzwerk - Google Patents

Verfahren zur Reduzierung der Latenzzeit bei der interaktiven Datenkommunikation zwischen einem Terminal Server und einem Terminal-Server Client in einem Telekommunikationsnetzwerk Download PDF

Info

Publication number
DE102004048343A1
DE102004048343A1 DE102004048343A DE102004048343A DE102004048343A1 DE 102004048343 A1 DE102004048343 A1 DE 102004048343A1 DE 102004048343 A DE102004048343 A DE 102004048343A DE 102004048343 A DE102004048343 A DE 102004048343A DE 102004048343 A1 DE102004048343 A1 DE 102004048343A1
Authority
DE
Germany
Prior art keywords
terminal server
data
client
data packets
window
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE102004048343A
Other languages
English (en)
Other versions
DE102004048343B4 (de
Inventor
Klaus Rock
Ute Rock
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Satcloud Ip Holding Lewes Us LLC
Original Assignee
ROCK TECHNOLOGIES Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ROCK TECHNOLOGIES Ltd filed Critical ROCK TECHNOLOGIES Ltd
Priority to DE102004048343.4A priority Critical patent/DE102004048343B4/de
Priority to PCT/EP2005/010664 priority patent/WO2006037600A1/de
Publication of DE102004048343A1 publication Critical patent/DE102004048343A1/de
Application granted granted Critical
Publication of DE102004048343B4 publication Critical patent/DE102004048343B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/16Central resource management; Negotiation of resources or communication parameters, e.g. negotiating bandwidth or QoS [Quality of Service]
    • H04W28/18Negotiating wireless communication parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/06Optimizing the usage of the radio link, e.g. header compression, information sizing, discarding information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/02Hierarchically pre-organised networks, e.g. paging networks, cellular networks, WLAN [Wireless Local Area Network] or WLL [Wireless Local Loop]
    • H04W84/04Large scale networks; Deep hierarchical networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

Ein Verfahren zur Reduzierung der Latenzzeit bei der interaktiven Datenkommunikation zwischen einem Terminal-Server (6) und einem Terminal-Server-Client (2), die über ein Telekommunikationsnetzwerk, insbesondere ein einen geostationären Satelliten (12) enthaltendes Satellitennetzwerk (4), miteinander verbunden sind, wobei auf dem Terminal-Server (6) ein Datenverarbeitungsprogramm (14), insbesondere ein Datenbankprogramm, ausgeführt wird, welches in Abhängigkeit von Befehlen und Daten, die über ein mit dem Terminal-Server-Client (2) verbundenes Eingabemedium (30) eingegeben werden, Bildschirmdarstellungen eines interaktiven Anwenderprogramms mit mehreren, nach einer durch Parameter (#1, #2, #3) vorgegebenen Bearbeitungsreihenfolge durchlaufenen Datenfeldern (18) erzeugt, die in Form von Datenpaketen im Wesentlichen ohne Rückbestätigungen auf den Terminal-Server-Client (2) übertragen und von diesem auf einem Anzeigemedium (26) dargestellt werden, wobei auf dem Anzeigemedium (26) durch eine Eingabeaufforderung (7) die Eingabe von weiteren Daten in ein zugehöriges Datenfeld (18) über das Eingabemedium signalisiert wird, die in Form von weiteren Datenpaketen über das Telekommunikationsnetzwerk (4) an den Terminal-Server (6) übertragen werden, zeichnet sich dadurch aus, dass die Parameter (#1, #2, #3) für die Bearbeitungsreihenfolge der Datenfelder (18) über das Telekommunikationsnetzwerk (4) an den Terminal-Server-Client (2) übertragen werden und dass auf dem ...

Description

  • Die Erfindung betrifft ein Verfahren zur Reduzierung der Latenzzeit bei der interaktiven Datenkommunikation zwischen einem Terminal Server und einem mit diesem über ein Telekommunikationsnetzwerk, insbesondere ein GSM, UMTS-Netzwerk oder ein sonstiges Funknetzwerk, 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 (Uplinks) 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. 0,7 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. Obgleich das erfindungsgemäße Verfahren prinzipiell bei allen bekannten. Telekommunikationsnetzwerken angewandt werden kann, wird dieses bevorzugt bei Satellitennetzwerken eingesetzt und demgemäß nachfolgend auch anhand von solchen beschrieben.
  • Aufgrund dieser bei der interaktiven Datenkommunikation nicht hinnehmbaren Zeitverzögerung von ca. 0,7 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 ein Telekommunikationsnetzwerk 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 ein Terminal-Server-Client über ein Telekommunikationsnetzwerk, welches insbesondere einen geostationären Satelliten enthält, 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 insbesondere formularbasiert in Datenfelder eines Formulars (GUI), 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 Übertragung ü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 Server-basierenden 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 0,7 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 Datenzeigeein richtung 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. 0,7 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 ein entsprechend ausgestaltetes Protokoll, z.B. RDP, übertragen, und können ebenfalls unkomprimierte oder komprimierte Bitmap-Dateien umfassen, die an den Terminal-Server-Client übertragen werden. Gemäß der bevorzugten Ausführungsform der Erfindung wird vorzugsweise jedoch lediglich derjenige Teil der Bildschirmdarstellung über den geostationären Satelliten übertragen, der sich gegenüber der vorhergehenden Darstellung geändert hat.
  • Hierdurch können die über das Satellitennetzwerk übertragene Datenmenge sowie die Anzahl der Übertragungen – 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 Übersendung der Datenpakete vom Server an den Client große Geschwindigkeitsvorteile, sondern es wurde auch beobachtet, dass selbst eine Reduzierung der Rückbestätigungen beim Übersenden 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 Bildschirm darstellung des interaktiven Anwenderprogramms auf dem Bildschirm 26 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 0,7 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 (Controls), 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 aktuellen 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.
  • Wie die Anmelder gefunden haben, lässt sich das erfindungsgemäße Verfahren auch sehr vorteilhaft bei bestehenden Mobilfunknetzen, insbesondere bei GSM-Netzen mit Frequenzen im Bereich von 900, bzw. 1800 Mhz einsetzen, bzw. auch bei UMTS-Netzwerken. Gleiches gilt für ähnliche bekannte Funknetzwerke.
  • Hierbei ergibt sich gegenüber bekannten Lösungen der besondere Vorteil, dass trotz der sehr geringen Übertragungsraten von z.B. lediglich 9600 Baud bei der Ausführung einer interaktiven Datenbankanwendung über ein GSM-Mobilfunknetz, – z.B. auf einem Mobilfunktelefon, einem PDA (Personal Digital Assistent) oder einem Laptop, der über ein GSM-Modem auf einen Terminal-Server-Rechner zugreift – Antwortzeiten von weniger als 1 Sekunde erzielt werden, wohingegen dieselbe Anwendung beim Einsatz von Verfahren nach dem Stand der Technik erheblich länger benötigen, da in der Regel Tastatur- oder Mausbewegungen zu einer Datenübertragung vom Terminal-Server Client zum Terminal-Server-Rechner führen, die infolge der Addition der einzelnen Antwortzeiten bereits bei der Eingabe von einzelnen Worten zu Reaktionszeiten führen, die im Bereich von mehreren Sekunden liegen.
  • Ein weiterer Vorteil des erfindungsgemäßen Verfahrens, der insbesondere beim Einsatz von GSM-Mobilfunkgeräten zur Datenübertragung hervortritt, besteht darin, dass die übertragene Datenmenge – verglichen mit Verfahren nach dem Stand der Technik – erheblich reduziert wird. So konnte z.B. in einer Datenbankanwendung, die über einen Laptop und ein angeschlossenes GSM-Mobilfunkmodem auf dem Terminal-Server gestartet wurde, und bei der lediglich eine Suchanfrage und ein Ändern eines Artikels sowie ein Abspeichern eines kurzen Textes durchgeführt wurden, die Anzahl der zwischen Client und Server ausgetauschten Datenpakete von mehr als 1300 auf weniger als 100 Datenpakete reduziert werden, wodurch sich die Antwortzeiten bei der interaktiven Arbeit mit der Datenbankanwendung in entsprechendem Maße verringerten.
  • Durch den Einsatz des erfindungsgemäßen Verfahrens können somit die sonst üblichen Verzögerungen bei der Dateneingabe, die durch die in der Regel unvermeidbaren langen Laufzeiten/RTT (Round Trip Time), die im Mobilfunkbereich z.B. 700 – 4000 ms betragen, bedingt werden, in vorteilhafter Weise auf ein solches Maß reduziert werden, dass sie vom Bediener der Datenbankanwendung nicht mehr als störend wahrgenommen werden.
  • 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

Claims (25)

  1. Verfahren zur Reduzierung der Latenzzeit bei der interaktiven Datenkommunikation zwischen einem Terminal-Server (6) und einem Terminal-Server-Client (2), die über ein Telekommunikationsnetzwerk, insbesondere ein GSM, UMTS-Netzwerk oder ein sonstiges Funknetzwerk, miteinander verbunden sind, wobei auf dem Terminal-Server (6) ein Datenverarbeitungsprogramm (14), insbesondere ein Datenbankprogramm, ausgeführt wird, welches in Abhängigkeit von Befehlen und Daten, die über ein mit dem Terminal-Server-Client (2) verbundenes Eingabemedium (30) eingegebenen werden, Bildschirmdarstellungen eines interaktiven Anwenderprogramms mit mehreren, nach einer durch Parameter (#1, #2, #3) vorgegebenen Bearbeitungsreihenfolge durchlaufenen Datenfeldern (18) erzeugt, die in Form von Datenpaketen im wesentlichen ohne Rückbestätigungen auf den Terminal-Server-Client (2) übertragen und von diesem auf einem Anzeigemedium (26) dargestellt werden, wobei auf dem Anzeigemedium (26) durch eine Eingabeaufforderung (7) die Eingabe von weiteren Daten in ein zugehöriges Datenfeld (18) über das Eingabemedium signalisiert wird, die in Form von weiteren Datenpaketen über das Telekommunikationsnetzwerk (4) an den Terminal-Server (6) übertragen werden, dadurch gekennzeichnet, dass die Parameter (#1, #2, #3) für die Bearbeitungsreihenfolge der Datenfelder (18) über das Telekommunikationsnetzwerk (4) an den Terminal-Server-Client (2) übertragen werden, und dass auf dem Terminal-Server-Client (2) eine eigenständige Programmroutine (22) abläuft, die bei der Eingabe vorgegebener Befehle über das Eingabemedium (30, 32) die Bildschirmdarstellung in Abhängigkeit von den Parametern (#1, #2, #3) für die Bearbeitungsreihenfolge in der Weise selbständig verändert, dass die Eingabeaufforderung (7) innerhalb eines Datenfeldes (18) in das nach der Bearbeitungsreihenfolge nächste oder vorhergehende Datenfeld bewegt wird.
  2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass der Terminal Server (6) unter einem fenster-orientierten Betriebssystem betrieben wird, wobei die an den Terminal-Server-Client (2) übertragenen Bildschirmdarstellungen vor der Übersendung an den Terminal-Server-Client (2) auf dem Terminal-Server (6) durch eine Fenster-Programmroutine (20) des Betriebssystems des Terminal-Servers (6) auf der Basis von Fenster- und Objektparametern erzeugt werden.
  3. Verfahren nach Anspruch 2, dadurch gekennzeichnet, dass die eigenständige Programmroutine (22) die Parameter (#1, #2, #3) für die Bearbeitungsreihenfolge der Datenfelder durch Zugriff auf die Fenster-Programmroutine (20) des Betriebssystems des Terminal-Servers (6) erhält.
  4. Verfahren nach Anspruch 2 oder 3, dadurch gekennzeichnet, dass die eigenständige Programmroutine (22) eine Kopie (34) oder Teilkopie der Fenster- und Objektparameter erhält, die die Fenster-Programmroutine (20) des Betriebssystems des Terminal-Servers (6) zur Erzeugung der aktiven Bildschirmdarstellung verwendet.
  5. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die eigenständige Programmroutine (22) zusätzlich zu den Parametern (#1, #2, #3) für die Bearbeitungsreihenfolge die Art und/oder den Stil und/oder die Größe der in einem Datenfeld (18) verwendeten Schrift erhält.
  6. Verfahren nach einem der Ansprüche 2 bis 5, dadurch gekennzeichnet, dass das die eigenständige Programmroutine (22) die Parameter (#1, #2, #3) für die Bearbeitungsreihenfolge der Datenfelder (18) und/oder die Fenster- und Objektparameter durch eine auf dem Terminal-Server (6) laufende weitere Programmroutine (24) erhält.
  7. Verfahren nach einem der Ansprüche 2 bis 6, dadurch gekennzeichnet, dass die eigenständige Programmroutine (22) die über das Eingabemedium (30, 32) eingegebenen Befehle und/oder Daten vor dem Übersenden an den Terminal-Server (6) analysiert, und die aktive Bildschirmdarstellung in Abhängigkeit von der Bearbeitungsreihenfolge (#1, #2, #3) sowie den Fenster- und Objektparametern selbständig ändert.
  8. Verfahren nach Anspruch 7, dadurch gekennzeichnet, dass die eigenständige Programmroutine (22) die aktive Bildschirmdarstellung in Abhängigkeit von der Bearbeitungsreihenfolge (#1, #2, #3) sowie den Fenster- und Objektparametern in der Weise selbständig ändert, dass die Eingabeaufforderung (7) beim Auftreten eines vorgegebenen Befehls, der einem Rücksprung in ein vorhergehendes Datenfeld (18) zugeordnet ist, an den Anfang des vorhergehenden Datenfeldes (18) setzt.
  9. Verfahren nach Anspruch 7 oder 8, dadurch gekennzeichnet, dass die eigenständige Programmroutine (22) die aktive Bildschirmdarstellung in Abhängigkeit von der Bearbeitungsreihenfolge (#1, #2, #3) sowie den Fenster- und Objektparametern in der Weise selbständig ändert, dass die Eingabeaufforderung (7) beim Auftreten eines vorgegebenen Befehls, der einem Vorspringen in ein nachfolgendes Datenfeld (18) zugeordnet ist, an den Anfang des nachfolgenden Datenfeldes (18) setzt.
  10. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die eigenständige Programmroutine (22) die Position einer dem Eingabemedium zugeordneten Datenzeigeeinrichtung (32), insbesondere eines Mauszeigers, analysiert, und die Ansicht eines in der aktiven Bildschirmdarstellung enthaltenen Objekts (36, 38) in vorgegebener Weise selbständig ändert, wenn die Position der Datenzeigeeinrichtung (32) einer vorgegebenen Position oder einem Bereich in der aktiven Bildschirmdarstellung entspricht.
  11. Verfahren nach Anspruch 7 und 10, dadurch gekennzeichnet, dass die eigenständige Programmroutine (22) die Ansicht des in der aktiven Bildschirmdarstellung enthaltenen Objekts (36) in der vorgegebenen Weise selbständig ändert, wenn die Position der Datenzeigeeinrichtung (32) einer vorgegebenen Position oder einem Bereich in der aktiven Bildschirmdarstellung entspricht und über das Eingabemedium (30, 32) im Wesentlichen gleichzeitig ein vorgegebener Befehl eingegeben wird.
  12. Verfahren nach Anspruch 11, dadurch gekennzeichnet, dass das Objekt eine Schaltfläche (36) ist, die beim Anklicken mit der Datenzeigeeinrichtung (32) die Darstellungsart wechselt.
  13. Verfahren nach Anspruch 11, dadurch gekennzeichnet, dass das Objekt ein Rollbalken (38) ist, und dass beim Anklicken des Rollbalkens mit der Datenzeigeeinrichtung (32) sowohl die Darstellung des Rollbalkens (38) in einer vorgegebenen Weise geändert, als auch zumindest ein Teil des Inhalts der aktiven Bildschirmdarstellung verschoben wird.
  14. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Bildschirmdarstellungen zumindest teilweise in Form von Bitmap-Dateien an den Terminal-Server-Client (6) übertragen werden.
  15. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Übertragung der Bildschirmdarstellungen nach einem Protokoll erfolgt.
  16. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass das Übertragen der weiteren Datenpakete vom Terminal-Server-Client (2) an den Terminal-Server (6) im wesentlichen ohne eine Rückbestätigung des Empfangs der übersandten weiteren Datenpakete durch den Terminal-Server (6) erfolgt.
  17. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die weiteren Datenpakete vor dem Versenden an den Terminal-Server (6) auf redundante Daten hin untersucht, und ermittelte redundante Daten aus den weiteren Datenpaketen entfernt oder durch bereits eingegeben Daten ersetzt werden.
  18. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die vom Terminal-Server (6) erzeugten Datenpakete vor dem Versenden an den Terminal-Server-Client (2) auf redundante Daten hin untersucht und ermittelte redundante Daten aus den Datenpaketen entfernt oder durch im Terminal-Server (6) vorgehaltene Daten ersetzt werden.
  19. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass mehrere der zwischen dem Terminal-Server (6) und dem Terminal-Server-Client (2) zu übertragenden Datenpakete und/oder weiteren Datenpakete zu größeren Datenpaketen und/oder größeren weiteren Datenpaketen zusammengefasst werden.
  20. Verfahren nach Anspruch 19, dadurch gekennzeichnet, dass die zusammengefassten größeren Datenpakete und/oder die zusammengefassten größeren weiteren Datenpakete eine optimierte Größe aufweisen, derart, dass eine Übertragung über das Telekommunikationsnetzwerk ohne eine Fragmentierung der Datenpakete erfolgt.
  21. Verfahren nach Anspruch 20, dadurch gekennzeichnet, dass die optimierte Größe der größeren Datenpakete und/oder der größeren weiteren Datenpakete durch den Terminal-Server (6) bei der Einrichtung des Telekommunikationsnetzwerks (4) für die jeweilige Verbindung zum Terminal-Server-Client (2) auf der Basis von verbindungsspezifischen Parametern bestimmt wird.
  22. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass das Telekommunikationsnetzwerk ein Mobilfunknetzwerk, insbesondere GSM- oder UMTS-Netzwerk ist.
  23. Verfahren nach Anspruch 22, dadurch gekennzeichnet, dass der Termial-Server-Client ein Mobiltelefon oder PDA ist, welches über eine GSM- oder UMTS-Funkverbindung mit dem Terminal-Server zum Datenaustausch verbunden ist.
  24. Verfahren nach einem der Ansprüche 1 bis 22, dadurch gekennzeichnet, dass der Termial-Server-Client ein mobiler, mit einem GSM- oder UMTS-Mobiltelefon zum Datenaustausch verbundener Rechner ist, der über eine GSM- oder UMTS-Funkverbindung mit dem Terminal-Server zum Datenaustausch verbunden ist.
  25. Mobiltelefon zur Durchführung des Verfahrens nach einem der Ansprüche 1 bis 24,
DE102004048343.4A 2004-10-01 2004-10-01 Verfahren zur Reduzierung der Latenzzeit bei der interaktiven Datenkommunikation zwischen einem Terminal Server und einem Terminal-Server Client in einem Telekommunikationsnetzwerk, insbesondere einem GSM oder einem UMTS Netzwerk Active DE102004048343B4 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE102004048343.4A DE102004048343B4 (de) 2004-10-01 2004-10-01 Verfahren zur Reduzierung der Latenzzeit bei der interaktiven Datenkommunikation zwischen einem Terminal Server und einem Terminal-Server Client in einem Telekommunikationsnetzwerk, insbesondere einem GSM oder einem UMTS Netzwerk
PCT/EP2005/010664 WO2006037600A1 (de) 2004-10-01 2005-10-04 Verfahren zur reduzierung der latenzzeit bei der interaktiven datenkommunikation zwischen einem terminal server und einem terminal-server client in einem drahtlosen telekommunikationsnetzwerk

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102004048343.4A DE102004048343B4 (de) 2004-10-01 2004-10-01 Verfahren zur Reduzierung der Latenzzeit bei der interaktiven Datenkommunikation zwischen einem Terminal Server und einem Terminal-Server Client in einem Telekommunikationsnetzwerk, insbesondere einem GSM oder einem UMTS Netzwerk

Publications (2)

Publication Number Publication Date
DE102004048343A1 true DE102004048343A1 (de) 2006-04-13
DE102004048343B4 DE102004048343B4 (de) 2022-09-22

Family

ID=35510901

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102004048343.4A Active DE102004048343B4 (de) 2004-10-01 2004-10-01 Verfahren zur Reduzierung der Latenzzeit bei der interaktiven Datenkommunikation zwischen einem Terminal Server und einem Terminal-Server Client in einem Telekommunikationsnetzwerk, insbesondere einem GSM oder einem UMTS Netzwerk

Country Status (2)

Country Link
DE (1) DE102004048343B4 (de)
WO (1) WO2006037600A1 (de)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IL144658A0 (en) 1999-02-02 2002-05-23 Mentat Inc Internet over satellite
US6538667B1 (en) 1999-07-23 2003-03-25 Citrix Systems, Inc. System and method for providing immediate visual response to user input at a client system connected to a computer system by a high-latency connection
DE10200165A1 (de) 2002-01-04 2003-07-10 Klaus Rock Verfahren zur Reduzierung der Latenzzeit bei der interaktiven Datenkommunikation über ein Satellitennetzwerk
US7346652B2 (en) 2002-05-13 2008-03-18 First Data Corporation Asynchronous data validation
DE10315111A1 (de) * 2003-04-02 2004-10-14 Klaus Rock Verfahren zur Reduzierung der Latenzzeit bei der interaktiven Datenkommunikation zwischen einem Terminal Server und einem Terminal-Server Client in einem geostationären Satellitennetzwerk

Also Published As

Publication number Publication date
DE102004048343B4 (de) 2022-09-22
WO2006037600A1 (de) 2006-04-13

Similar Documents

Publication Publication Date Title
DE60125913T2 (de) Datenübertragungsverfahren und vorrichtung
DE60109631T2 (de) Verfahren und Vorrichtung zur effizienten Verringerung von graphischen Anzeigedaten für ihre Übertragung mittels eines Übertragungsprotokolls für niedrige Bandbreiten
DE60033286T2 (de) System und verfahren zur bereitstellung einer unmittelbaren visuellen antwort auf eine benutzereingabe in einem anwendersystem
DE60116343T2 (de) Webserver
DE4446139C2 (de) Verfahren und Einrichtung zum Hervorheben von Objekten in einem Konferenzsystem
EP1466425B1 (de) Verfahren zur reduzierung der latenzzeit bei der interaktiven datenkommunikation über ein satellitennetzwerk
DE202011110891U1 (de) Scrollen in umfangreichen gehosteten Datenbestand
DE112004002545T5 (de) Reduzierung der Zusammensetzungsgeschwindigkeit für Anzeigen
EP1374027B1 (de) Positionieren von auf einer benutzeroberfläche angezeigten bereichen
EP1362283A2 (de) Verfahren und vorrichtung zum darstellen eines aus pixeln aufgebauten bildes
DE10315111A1 (de) Verfahren zur Reduzierung der Latenzzeit bei der interaktiven Datenkommunikation zwischen einem Terminal Server und einem Terminal-Server Client in einem geostationären Satellitennetzwerk
DE102004048343A1 (de) Verfahren zur Reduzierung der Latenzzeit bei der interaktiven Datenkommunikation zwischen einem Terminal Server und einem Terminal-Server Client in einem Telekommunikationsnetzwerk
WO2023036597A1 (de) Verfahren und system zur steuerung einer übertragung von daten in abhängigkeit wenigstens eines attributs einer datei
WO2017050997A1 (de) Verfahren, computerprogramm und system zur übermittlung von daten zur erzeugung eines interaktiven bilds
DE10332492B4 (de) Verfahren und Anordnung zum visuellen Darstellen von Inhalten auf einem Darstellungsmittel
DE19619491C2 (de) Verfahren zur Übertragung und Installation und/oder Aktualisierung von Software und/oder Daten
DE102018129614A1 (de) Mit einer Funktionalität zur Operationsbeteiligung versehenes Computer-Eingabesystem und Eingabeverfahren
DE602004002104T2 (de) Ultraleicht browser
DE102004043868B4 (de) Datenkommunikationssystem, sowie Datenkommunikationsverfahren
DE19964082C1 (de) Verfahren und Vorrichtung zur Simulation von Benutzereingaben
DE10296829T5 (de) Systen und Verfahren zum Schreiben einer Hypermediendatei an eine Multimedienspeichervorrichtung
EP3353684A1 (de) Verfahren, computerprogramm und system zur übermittlung von daten zur erzeugung eines interaktiven bilds
DE102004008248A1 (de) Datennetzanschlussgerät für ein Anzeigegerät und Verfahren zur Aufbereitung von aus einem Datennetz geladenen Daten
EP2146272A1 (de) Umsetzen einer Remote Desktop Protocol Session und deren Darstellung auf mehreren Bildschirmen
DE2046311B2 (de) Verfahren und anordnung zur graphischen darstellung von bildern unter steuerung durch digitale befehlswoerter

Legal Events

Date Code Title Description
8128 New person/name/address of the agent

Representative=s name: LOHR, JOESTINGMEIER & PARTNER, 82178 PUCHHEIM

R082 Change of representative

Representative=s name: LOHR, JOESTINGMEIER & PARTNER, DE

Representative=s name: LOHR, JOESTINGMEIER & PARTNER, 82178 PUCHHEIM, DE

R012 Request for examination validly filed

Effective date: 20111001

R081 Change of applicant/patentee

Owner name: ROCK, KLAUS, DE

Free format text: FORMER OWNER: ROCK TECHNOLOGIES LTD.,, HAMILTON, BM

Effective date: 20111207

Owner name: ROCK, UTE, DE

Free format text: FORMER OWNER: ROCK TECHNOLOGIES LTD.,, HAMILTON, BM

Effective date: 20111207

R082 Change of representative

Representative=s name: LOHR, JOESTINGMEIER & PARTNER, DE

Effective date: 20111207

R081 Change of applicant/patentee

Owner name: SATCLOUD IP HOLDING LLC, LEWES, US

Free format text: FORMER OWNERS: ROCK, KLAUS, 73432 AALEN, DE; ROCK, UTE, 73432 AALEN, DE

Owner name: ROCK, KLAUS, DE

Free format text: FORMER OWNERS: ROCK, KLAUS, 73432 AALEN, DE; ROCK, UTE, 73432 AALEN, DE

R082 Change of representative

Representative=s name: LOHR, JOESTINGMEIER & PARTNER, DE

Representative=s name: LOHR, JOESTINGMEIER & PARTNER PATENT- UND RECH, DE

R016 Response to examination communication
R081 Change of applicant/patentee

Owner name: SATCLOUD IP HOLDING LLC, LEWES, US

Free format text: FORMER OWNER: ROCK, KLAUS, 73432 AALEN, DE

R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final