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 PDFInfo
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/16—Central resource management; Negotiation of resources or communication parameters, e.g. negotiating bandwidth or QoS [Quality of Service]
- H04W28/18—Negotiating wireless communication parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/06—Optimizing the usage of the radio link, e.g. header compression, information sizing, discarding information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W84/00—Network topologies
- H04W84/02—Hierarchically pre-organised networks, e.g. paging networks, cellular networks, WLAN [Wireless Local Area Network] or WLL [Wireless Local Loop]
- H04W84/04—Large 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
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 Rechner2 über ein Satellitennetzwerk4 mit einem Terminal-Server6 verbunden, der in der Figur aus darstellungstechnischen Gründen lediglich in gestrichelten Linien angedeutet ist. - Das Satellitennetzwerk
4 umfasst eine erste clientseitige Bodenstation8 sowie eine serverseitige Bodenstation10 , die über einen geostationären Satelliten12 zum Datenaustausch miteinander gekoppelt sind. - Auf dem Terminal-Server
6 werden je nach Anzahl der mit diesem verbundenen Terminal-Server-Client Rechner2 ein, zwei oder mehrere Datenverarbeitungsprogramme14 ausgeführt, die in zugehörigen abgeschlossenen Sitzungen oder Sessions16 getrennt auf einem virtuellen Desktop des Terminal-Servers6 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 Eingabeaufforderung7 mit den entsprechenden Daten ausgefüllt werden, wie dies von Formularbearbeitungsprogrammen, Textverarbeitungsprogrammen oder auch Tabellenkalkulationsprogrammen her bekannt ist. Die Bearbeitungsreihenfolge der Datenfelder18 , deren Position, Breite, Höhe sowie auch die Art der darin verwendeten Schrift wird hierbei durch eine Fenster-Programmroutine20 des auf dem Terminal-Server6 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 Datenverarbeitungsprogramms14 auf dem virtuellen Desktop des Terminal-Servers6 benötigt werden. - Wie der
1 weiterhin entnommen werden kann, ist jedem Datenfeld18 eine zugehörige Ordnungsziffer #1, #2, #3 etc. zugeordnet, welche den Parameter für die Bearbeitungsreihenfolge der Datenfelder18 angibt. - Auf dem Terminal-Server-Client
2 läuft eine eigenständige Programmroutine22 ab, die von einer weiteren Programmroutine24 auf dem Terminal-Server6 über das Satellitennetzwerk4 eine Kopie oder Teilkopie der Fenster-Programmroutine20 , bzw. der darin verwendeten Fenster- und Objektparameter zur Darstellung der Fenster und Objekte erhält, welch letztere beispielsweise Schaltflächen36 oder Rollbalken38 wie auch die Datenfelder18 selbst umfassen können. Die Übertragung der Kopie oder Teilkopie34 der Fenster- und Objektparameter der Fenster-Programmroutine20 erfolgt dabei vorzugsweise beim Start des Datenverarbeitungsprogramms14 auf dem Terminal-Server6 sowie bei einem Wechsel zu einer vollständig neuen Bildschirmdarstellung, nachdem diese vom Datenverarbeitungsprogramm14 erzeugt wurde. - Die auf dem Terminal-Server
6 mit Hilfe der Fenster-Programmroutine20 erzeugte Bildschirmdarstellung des Datenverarbeitungsprogramms wird anschließend über das Satellitennetzwerk4 an den Terminal-Server-Client2 in Form von Datenpaketen im Wesentlichen ohne Rückbestätigungen übertragen, und auf dem Bildschirm26 des Clients2 in Form eines interaktiven Anwenderprogramms dargestellt, wie dies schematisch durch den Pfeil28 angedeutet ist. Der Terminal-Server-Client2 ist weiterhin mit einem Dateneingabemedium in Form einer Tastatur30 sowie einer Datenzeigeeinrichtung in Form einer Maus32 verbunden, über die vom Benutzer Daten und Befehle eingegeben werden, die vom Terminal-Server-Client2 über das Satellitennetzwerk4 als weitere Datenpakete an den Terminal-Server6 übersendet werden. Das Datenverarbeitungsprogramm14 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 Satellitennetzwerk4 an den Terminal-Server-Client2 übersendet werden, um diejenigen Teile der Bildschirm darstellung des interaktiven Anwenderprogramms auf dem Bildschirm26 zu aktualisieren, die vom Datenverarbeitungsprogramm14 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 Tastatur30 oder die Maus32 eingegebenen Befehle und Daten – deren Eingabe in der Regel als ASCII-Zeichen erfolgt – von der auf dem Terminal-Server-Client2 ablaufenden eigenständigen Programmroutine22 analysiert, und die Eingabeaufforderung7 in Abhängigkeit von dem jeweiligen Befehl oder Zeichen lokal weiterbewegt, während die Befehle und/oder Zeichen verzögert über das Satellitennetzwerk4 an den Terminal-Server6 übertragen und von diesem verrechnet werden, und die aktualisierte Bildschirmdarstellung an den Client2 zurückgesandt wird. - Befindet sich die Eingabeaufforderung
7 beispielsweise im Datenfeld18 mit der Ordnungsziffer #3, so erkennt die eigenständige Programmroutine22 dies anhand der Kopie oder Teilkopie34 der Fenster- und Objektparameter. Wird nun z.B. vom Benutzer auf der Tastatur30 der Befehl "PFEIL aufwärts" durch Drücken der entsprechenden Taste eingegeben, so wird dies von der eigenständigen Programmroutine22 anhand einer entsprechenden Abfrage erkannt, und in der Kopie34 der Fenster- und Objektparameter die zugehörigen Parameter für das vorhergehende Datenfeld18 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 Programmroutine22 die dem Datenfeld18 mit der Ordnungsziffer #2 zugeordneten Objektparameter für die Position, Breite, Höhe und Schriftart etc. an das Betriebssystem des Terminal-Server-Clients2 ü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 Datenfelds18 auf dem Bildschirm26 dahingehend zu ändern, dass die Eingabeaufforderung7 an den linken Rand des Datenfeldes gesetzt wird, um über die Tastatur30 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 Satellitennetzwerk4 an den Terminal-Server-Client2 übersandt wurde, wird die lokal erzeugte Bildschirmdarstellung des interaktiven Anwenderprogramms auf dem Bildschirm26 durch die vom Terminal-Server6 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 Eingabeaufforderung7 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 Teilkopie34 der Fenster- und Objektparameter an den Anfang des Datenfeldes18 mit der nächst höheren Ordnungsziffer #4. - Weiterhin kann es vorgesehen sein, dass die Fenster-Programmroutine
22 auf dem Terminal-Server6 ebenfalls Objekte der Bildschirmdarstellung enthält (Controls), die in1 beispielsweise als mit der Maus32 aktivierbare Schaltflächen36 oder Rollbalken38 ausgebildet sein können, und die vorzugsweise ebenfalls im Wege der Kopie oder Teilkopie34 der Fenster- und Objektparameter mit über das Satellitennetzwerk4 auf den Terminal-Server-Client2 ü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äche36 , wenn die Position des Mauszeigers dem Bereich auf dem Bildschirm26 entspricht, in dem sich die Schaltfläche36 befindet. Hierzu kann es vorgesehen sein, dass die eigenständige Programmrouten22 die x- und y-Koordinaten eines jeden Objekts in der Kopie34 der Fenster- und Objektparameter mit der aktuellen Mausposition vergleicht, und bei einer Übereinstimmung die weiteren Objektparameter aus der Kopie34 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 Maus32 aktiviert werden soll, um z.B. die Eingabemaske zu verlassen, so kann dies durch die Erzeugung eines durch die weitere Programmroutine22 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 Clients2 vorzuhalten, die beim Anklicken der Schaltfläche36 oder der Eingabe eines entsprechenden Befehls über die Tastatur30 von der eigenständigen Programmroutine ausgelesen wird, um z.B. die Bildschirmdarstellung einer übergeordneten Ebene des Datenverarbeitungsprogramms14 , von der aus in die in1 gezeigte Maskendarstellung gewechselt wurde, lokal anzuzeigen, bevor diese Darstellung vom Terminal-Server6 berechnet und verzögert über das Satellitennetzwerk4 an den Terminal-Server-Client2 zur Darstellung auf dem Bildschirm26 übersandt wird. - Schließlich kann beim Anklicken des Rollbalkens
38 mit dem Mauszeiger eine im Betriebssystem des Terminal-Server-Clients2 laufende Unterprogrammroutine aufgerufen werden, die die gesamte Bildschirmdarstellung anhand der Vorgaben der Kopie34 der Fenster- und Objektparameter verschiebt, indem der Inhalt des Speichers der Grafikkarte des Clients2 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)
- 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. - 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. - 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. - 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. - 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. - 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. - 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. - 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. - 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. - 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. - 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. - Verfahren nach Anspruch 11, dadurch gekennzeichnet, dass das Objekt eine Schaltfläche (
36 ) ist, die beim Anklicken mit der Datenzeigeeinrichtung (32 ) die Darstellungsart wechselt. - 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. - 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. - Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Übertragung der Bildschirmdarstellungen nach einem Protokoll erfolgt.
- 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. - 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. - 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. - 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. - 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.
- 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. - Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass das Telekommunikationsnetzwerk ein Mobilfunknetzwerk, insbesondere GSM- oder UMTS-Netzwerk ist.
- 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.
- 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.
- Mobiltelefon zur Durchführung des Verfahrens nach einem der Ansprüche 1 bis 24,
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)
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 |
-
2004
- 2004-10-01 DE DE102004048343.4A patent/DE102004048343B4/de active Active
-
2005
- 2005-10-04 WO PCT/EP2005/010664 patent/WO2006037600A1/de active Application Filing
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 |