[go: up one dir, main page]

DE19522185A1 - Ein Verfahren und System zur dynamischen Übersetzung zwischen verschiedenen grafischen Benutzeroberflächen-Systemen - Google Patents

Ein Verfahren und System zur dynamischen Übersetzung zwischen verschiedenen grafischen Benutzeroberflächen-Systemen

Info

Publication number
DE19522185A1
DE19522185A1 DE19522185A DE19522185A DE19522185A1 DE 19522185 A1 DE19522185 A1 DE 19522185A1 DE 19522185 A DE19522185 A DE 19522185A DE 19522185 A DE19522185 A DE 19522185A DE 19522185 A1 DE19522185 A1 DE 19522185A1
Authority
DE
Germany
Prior art keywords
operating system
windows
application program
user interface
graphical user
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.)
Withdrawn
Application number
DE19522185A
Other languages
English (en)
Inventor
Mitchell B London
Alan R Katz
Donald W Goodrich
Steven Zeck
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.)
Spacelabs Medical Inc
Original Assignee
Spacelabs Medical Inc
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 Spacelabs Medical Inc filed Critical Spacelabs Medical Inc
Publication of DE19522185A1 publication Critical patent/DE19522185A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1454Digital output to display device ; Cooperation and interconnection of the display device with other functional units involving copying of the display data of a local workstation or window to a remote workstation or window so that an actual copy of the data is displayed simultaneously on two or more displays, e.g. teledisplay
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/452Remote windowing, e.g. X-Window System, desktop virtualisation
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2360/00Aspects of the architecture of display systems
    • G09G2360/04Display device controller operating with a plurality of display units

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Digital Computer Display Output (AREA)

Description

Technisches Gebiet
Die vorliegende Erfindung betrifft eine Laufzeitübersetzung zwischen verschiedenen grafischen Benutzeroberflächen- Systemen und umfaßt insbesondere ein Verfahren und ein Sy­ stem, die es erlauben, Anwendungen, die für lokale Anzeigesy­ steme geschrieben wurden, für computerferne Anzeigemöglich­ keiten eines anderen grafischen Benutzeroberflächen-Systems zu verwenden.
Hintergrund der Erfindung
Derzeitig gibt es ungefähr 50 Millionen Computeranwender, die eine grafische Benutzeroberfläche verwenden, die als "WINDOWS" von der "MICROSOFT" Corporation bekannt ist. Der­ zeitig entwickelt sich sehr schnell "MICROSOFT′s WINDOWS/NT" als ein bevorzugtes Betriebssystem. Als Konsequenz werden ei­ ne große Anzahl von Anwendungsprogrammen so geschrieben, daß sie mit "WINDOWS/NT" kompatibel sind. "WINDOWS/NT" stellt ei­ ne einzelne grafische Benutzeroberfläche zur Verfügung, an die sich all diese Anwendungsprogramme halten müssen. Außer­ dem stellt ein Client/Server-Windowsystem, das als "X" be­ kannt ist, und anfänglich am Massachusetts′s Institute of Technology entwickelt wurde, ein Protokoll (X-Protokoll) zur Verfügung, das es erlaubt, Anwendungsprogramme computerfern auf einer oder mehreren grafischen Benutzeroberflächen (beispielsweise Motif, Open-Look) darzustellen. Unglückli­ cherweise sind die Anwendungsprogramme, die für das "WINDOWS/NT"-Betriebssystem entwickelt worden sind, nicht mit dem X-Protokoll kompatibel. Als Konsequenz haben Verwender des X-Client/Server-Windowsystems keinen bequemen Zugriff auf diese Anwendungsprogramme. Dies ist unglücklich, weil viele der Anwendungsprogramme, die für das "WINDOWS/NT"-Betriebs­ system entwickelt worden sind, was die Kosten und die Merkma­ le betrifft, den für das X-Client/Server-Windowsystem entwickel­ ten überlegen sind.
Zusammenfassung der Erfindung
Die vorliegende Erfindung betrifft Übersetzungsverfahren, die einen computerfernen Zugriff zu einem Anwendungsprogramm schaffen. Insbesondere stellt das Übersetzungsverfahren einen computerfernen Zugriff auf ein Anwendungsprogramm, das auf einem Hauptrechner in seiner ursprünglichen Betriebssystemum­ gebung ausgeführt wird, zur Verfügung. Das Übersetzungsver­ fahren überwacht Nachrichten, die von dem Anwendungsprogramm an eine Anwendungsschnittstelle gerichtet werden, die durch das ursprüngliche Betriebssystem zur Verfügung gestellt wird. Auf das Erkennen einer Nachricht, die eine grafische Benut­ zeroberfläche des ursprünglichen Betriebssystems betrifft, hin, konvertiert das Übersetzungsverfahren die Nachricht in ein Protokoll, das durch eine computerferne grafische Benut­ zeroberfläche erkannt wird. Das Übersetzungsverfahren über­ wacht und konvertiert auch Befehle auf der Treiberebene. Durch Überwachen und Konvertieren von Nachrichten auf diese Weise, erlaubt das Übersetzungsverfahren, daß das Anwendungs­ programm computerfern dargestellt wird.
Diese und weitere Vorteile der Erfindung ergeben sich aus der taillierten Beschreibung bevorzugter Ausführungsformen der Erfindung unter Bezugnahme auf die Zeichnungen. Es zeigen:
Fig. 1 eine bevorzugte Ausführungsform der vorliegenden Er­ findung,
Fig. 2 einen Vergleich der Systemdesignmerkmale für ein Cli­ ent/Server-Windowsystem und ein Betriebssystem,
Fig. 3 ein Flußdiagramm der Verfahrensschritte der bevorzug­ ten Ausführungsform der vorliegenden Erfindung,
Fig. 4 ein Flußdiagramm der Verfahrensschritte eines Anwen­ dungsprogramms (Stand der Technik),
Fig. 5 ein Flußdiagramm der Verfahrensschritte für die Wech­ selwirkung zwischen dem Anwendungsprogramm und einem ursprünglichen Betriebssystem (Stand der Technik),
Fig. 6 ein Flußdiagramm der Verfahrensschritte für ein Bei­ spiel gemäß einer bevorzugten Ausführungsform der vor­ liegenden Erfindung.
Detaillierte Beschreibung der Erfindung
Die vorliegende Erfindung betrifft ein Übersetzungsverfahren, daß es erlaubt, ein für ein bestimmtes grafisches Benutzer­ oberflächensystem (GUI) geschriebenes Programm auf einem an­ deren grafischen Benutzeroberflächensystem mit der Laufzeit darzustellen. Das GUI, auf dem das Anwendungsprogramm darge­ stellt wird, ist als Ziel-GUI bezeichnet. Falls das Ziel-GUI in der Lage ist, über ein Netzwerk computerfern darzustellen, erlaubt es das Übersetzungsverfahren, daß das Anwendungspro­ gramm computerfern dargestellt wird, und mit ihm computerfern interagiert wird, während es innerhalb seines ursprünglichen (nicht-compterfernen) GUI ausgeführt wird.
In einer bevorzugten Ausführungsform sorgt die vorliegende Erfindung für eine Übersetzung von Windows und "WINDOWS/NT" in das X-Windowsystem und ermöglicht somit eine computerferne Darstellung von Anwendungen, die für "MICROSOFT WINDOWS" und "WINDOWS/NT" entwickelt wurden, auf X-Terminals und X- Servern. Insbesondere erlaubt die bevorzugte Ausführungsform, daß jede derartige Anwendung als ein vollständig kompatibles X-Client-Programm zu computerfernen X-Servern erscheint. Der Term "X-Client" betrifft ein Anwendungsprogramm, daß das vor­ her beschriebene X-Protokoll verwendet. Der Ausdruck "X- Terminal" betrifft irgendeine Anzeigekomponente (beispiels­ weise ein alleinstehendes Terminal oder ein Arbeitsplatz), der eine Anzeigekomponente eines X-Client/Server-Window­ systems ist. Der Ausdruck "X-Server" betrifft das Verfahren, das die Anzeige-Hardware (beispielsweise eine Bildschirman­ zeige, eine Tastatur oder eine Maus) steuert und ist verant­ wortlich für die Durchführung der Zeichnung und der Bildauf­ bereitung der Bildschirmanzeige. Ein attraktives Merkmal ei­ nes X-Client-Programms ist es, daß es auf irgendeinem X- Terminal dargestellt und/oder mit ihm interagiert werden kann (beispielsweise über eine Maus, eine Tastatur, etc.), voraus­ gesetzt, daß eine geeignete Kommunikationsverbindung (typischerweise, allerdings keine Einschränkung darstellend, das unten beschriebene TCP/IP-Protokoll) vorhanden ist, das die Maschine, auf der der X-Client läuft, und das X-Terminal verbindet.
In dem X-Client/Server-Windowsystem kommuniziert ein X-Client mit der zugrundeliegenden Hardware (beispielsweise Bild­ schirm, Maus, Tastatur, etc.) über den X-Server. Ein getrenn­ ter X-Client, als Windowmanager bekannt, koordiniert mit dem X-Server die Verwaltung der Darstellung. Insbesondere ver­ folgt der Windowmanager die Zustände aller X-Windows. Der Ausdruck "X-Window" betrifft irgendeinen Abschnitt einer An­ zeige eines X-Terminals, das seine eigenen Daten (beispiels­ weise ein Dokument oder eine Nachricht) enthält. Ein wesent­ licher Vorteil des X-Client/Server-Windowsystems ist es, daß es einen X-Clienten nicht auf die Verwendung eines bestimmten Windowmanagers beschränkt. Statt dessen kann ein Benutzer den Windowmanager auswählen, von dem er glaubt, daß er das at­ traktivste Aussehen und Empfinden bietet.
Fig. 1 stellt eine bevorzugte Ausführungsform der vorliegen­ den Erfindung dar. Ein Hauptrechner 110 führt Anwendungspro­ gramme, beispielsweise "MICROSOFT EXCEL" 120 und "WORD FOR WINDOWS" 130 unter dem "WINDOWS/NT"-Betriebssystem 140 aus. Das "WINDOWS/NT" -Betriebssystem sowie die Anwendungsprogramme 120, 130 sind in einem Hauptspeicher des Hauptrechners ent­ halten. Insbesondere führt eine in dem Hauptrechner 110 ent­ haltene CPU die Anwendungen sowohl des "WINDOWS/NT"-Betriebs­ systems 140 als auch der Anwendungsprogramme 120, 130 aus. Das "WINDOWS/NT " -Betriebssystem schafft eine Anwendungspro­ grammschnittstelle (API), die diesem Anwendungsprogramm 120, 130 erlaubt, mit dem Betriebssystem 140 zu kommunizieren. Zu­ sätzlich liefert das "WINDOWS/NT" Betriebssystem auch eine grafische Standardbenutzeroberfläche (GUI), die das Aussehen und die Empfindung für alle unter "WINDOWS/NT" laufenden An­ wendungen definiert. Diese grafische Standardbenutzeroberflä­ che ist so ausgelegt, daß sie Befehle von dem Anwendungspro­ gramm empfängt. Kurz gesagt, verwenden die Anwendungsprogram­ me 120, 130 die Anwendungsschnittstelle, um vom Betriebssy­ stem die Durchführung einer Vielfalt von Aufgaben anzufor­ dern. Beispielsweise umfassen repräsentative Aufgaben das Öffnen und Schließen von Dateien sowie die Durchführung ver­ schiedener Einstellungen der grafischen Benutzeroberfläche. Allerdings ermöglicht das "WINDOWS/NT" -Betriebssystem keine computerferne Wechselwirkung mit Anwendungen. In seiner be­ vorzugten Ausführungsform überwindet die vorliegende Erfin­ dung diese Beschränkung von "WINDOWS/NT", indem es erlaubt, Anwendungsprogramme 120, 130 auf dem Hauptrechner auszufüh­ ren, während sie computerfern auf einem X-Terminal 150 darge­ stellt werden. Auf diese Weise erlaubt die vorliegende Erfin­ dung den Benutzern des X-Client/Server-Windowsystems, einen Zugriff auf Anwendungen, die für das "WINDOWS/NT"-Betriebs­ system entwickelt wurden. Außerdem stellt, da die bevorzugte Ausführungsform der vorliegenden Erfindung es ermöglicht, die Anwendungsprogramme 120, 130 in ihren ursprünglichen Be­ triebssystemumgebungen (beispielsweise dem "WINDOWS/NT"- Betriebssystem 140) auszuführen, die vorliegende Erfindung einen derartigen Zugriff in einer sehr effizienten Weise zur Verfügung.
Wie dargestellt, ist der Hauptcomputer 110 mit den X-Ter­ minals 150 über eine Netzwerkverbindung, wie beispielsweise dem in Ethernet verwendeten TCP/IP-Protokoll, verbunden. Kurz gesagt, besteht dieses Protokoll aus einer Reihe von Schich­ ten. Insbesondere sind die fünf untersten Schichten in auf­ steigender Reihenfolge das Kabel, das Ethernet, das Internet- Protokoll (IP-Schicht), das Transportsteuerprotokoll (TCP- Schicht) und das X-Protokoll. Diese Netzverbindung ist kon­ zeptionell durch das Bezugszeichen 160 dargestellt.
Wie oben beschrieben verwendet das X-Client/Server-Window­ system zwei Komponenten: einen X-Server 170 und einen Windo­ wmanager 180. Der Windowmanager 180 verwaltet die X-Windows, indem er verfolgt, wieviele X-Windows derzeitig dargestellt werden, wo die X-Windows derzeitig dargestellt werden etc. Da die vorliegende Erfindung die "WINDOWS/NT" -Anwendung in einen vollständig kompatiblen X-Client konvertiert, kann ein Benut­ zer einen bestimmten Windowmanager 180 (beispielsweise Motif, Open-Look, Tom′s Windowmanager) zur Verwendung mit der vor­ liegenden Erfindung wählen. Kurz gesagt empfängt der Windo­ wmanager 180 Befehle, die die Darstellung auf den X-Terminals 150 betreffen. Da der Windowmanager 180 in dem X-Terminal selbst oder auf dem Netzwerk enthalten sein kann, kann der Windowmanager Befehle über die Netzwerkverbindung 160 oder direkt von dem X-Terminal 150 empfangen.
Fig. 2 vergleicht den Systemdesignaufbau für ein Client/Ser­ ver-Windowsystem und ein Betriebssystem. Insbesondere ver­ gleicht Fig. 2 den Systemdesignaufbau des X-Client/Server- Windowsystems und des "WINDOWS/NT"-Betriebssystems. Eine Kenntnis dieser Strukturen ist bei der Diskussion der in den Fig. 3-6 beschriebenen Verfahrensschritte hilfreich.
In "WINDOWS/NT" sind Programme (beispielsweise Anwendungspro­ gramme) über Gerätetreiber 210 mit einer Standardschnittstel­ le zur Hardware 205 (beispielsweise einer Anzeigeeinrichtung, einer Tastatur, einer Maus etc.) versehen. Die verschiedenen Komponenten 215 des "WINDOWS-NT"-Betriebssystems sind über den Gerätetreiber gelegt. Eine derartige Komponente ist die Grafiktreiberschnittstelle 220 (GDI). Die GDI erlaubt, daß Anwendungsprogramme grafische Informationen ohne Bezugnahme auf die zugrundeliegende Hardware beschreiben. Die Anwen­ dungsprogrammschnittstelle 225 (API) existiert über der "WINDOWS/NT"-Komponentenschicht . Die API umfaßt die Konzepte von Fenstern (Windows), Ikonen, Positionsanzeiger und andere Mittel. "WINDOWS/NT" ist ein anreizgesteuertes, auf einer Nachricht basierendes System. Verschiedene Programme kommuni­ zieren miteinander und mit dem "WINDOWS/NT" durch Weitergabe von Nachrichten über die API. In bezug auf grafisch darge­ stellte Information verwendet die API Konstruktionen auf ho­ her Ebene, wie beispielsweise Fenster (Windows) oder Ikonen. Im Gegensatz hierzu verwendet der Bildschirmanzeige-Geräte­ treiber Darstellungen grafischer Daten (beispielsweise Bit­ map-Daten) auf niedriger Ebene. Ein Zweck der Bildschirman­ zeige-Gerätetreiber ist es, diese Bitmap-Daten zur Anzeige­ einrichtung zu übertragen. Beispielsweise werden, wenn der Benutzer ein Fenster bewegt oder seine Größe verändert, eine große Anzahl von BitBlts (Blockübertragungen von Bitmap- Daten) durch den Anzeigeeinrichtungstreiber ausgeführt.
Das X-Server/Client-Windowsystem ist etwa ähnlich wie das "WINDOWS/NT"-Betriebssystem strukturiert. Ein X-Server 230 stellt eine Standardschnittstelle zur zugrundeliegenden Hard­ ware 235 zur Verfügung. Eine Bibliothek, Xlib 240, stellt eine Programmiererschnittstelle (auf einer niedrigen Ebene) für X zur Verfügung. Wenn der X-Client lokal läuft, gibt der X- Client Befehle aus der Xlib-Bibliothek 240 aus, um durch den X-Server 230 auf die lokale Hardware 235 zuzugreifen. In ähn­ licher Weise gibt der X-Client, wenn er computerfern läuft, Kommandos aus der Xlib-Bibliothek 240 aus, um auf die compu­ terferne Hardware zuzugreifen. In diesem Fall werden Netz­ werkdatenpakete, die Elemente des X-Protokolls darstellen, zum X-Server 230, der die computerferne Hardware 235 bedient, geschickt. Wie "WINDOWS/NT" ist X ein anreizgesteuertes Sy­ stem und ein X-Client kann von dem X-Server 230 anfordern, daß er X-Ereignisse von Interesse (wie beispielsweise, wenn die Maus in ein Fenster eintritt oder es verläßt, der Benut­ zer etwas in einem Fenster anklickt, usw.) abschickt. Wie oben erwähnt, ermöglicht ein spezielles X-Client-Programm, der Windowmanager 245, dem Benutzer, die dargestellten Win­ dows zu verwalten, Menüs zu definieren usw. Neben der Xlib- Schnittstelle auf relativ niedriger Ebene liefert ein X- Toolkit 250 (eine X-Werkzeugausrüstung) eine Programmierer­ schnittstelle auf höherer Ebene. Es gibt viele derartige Toolkits, die kommerziell erhältlich sind (beispielsweise die "XT"-, "ANDREW"- und "MOTIF"-Toolkits). Jedes Toolkit wird mit einer Sammlung von Produkten Widgets 255, die eine nütz­ liche Sammlung von X-Objekten (beispielsweise einen rollbaren Text Window Widget) sind. Nachdem ein Vergleich der Struktu­ ren des X-Client-Windowsystems und des "WINDOWS/NT"- Betriebssystems gegeben worden sind, werden nun die Verfah­ rensschritte einer bevorzugten Ausführungsform der vorliegen­ den Erfindung beschrieben.
Fig. 3 stellt die Prozeßschritte einer bevorzugten Ausfüh­ rungsform der vorliegenden Erfindung dar. Insbesondere gibt Fig. 3 einen Überblick über die Verfahrensschritte, die von dem Übersetzungsverfahren durchgeführt werden, um ein in sei­ ner ursprünglichen Umgebung ablaufendes Anwendungsprogramm in einen vollständig kompatiblen Client eines nicht- ursprünglichen Windowsystems zu übersetzen. Zuerst wird ein Anwendungsprogramm in seiner ursprünglichen Umgebung (Schritt 305) ausgeführt. Beispielsweise ist in einer bevorzugten Aus­ führungsform diese ursprüngliche Umgebung das "WINDOWS/NT"- Betriebssystem. Wenn das Anwendungsprogramm in seiner ur­ sprünglichen Umgebung ausgeführt wird, überwacht das Überset­ zungsverfahren die Systemaufrufe, die die Anwendung an die ursprüngliche Umgebung über die Anwendungsprogrammschnittstel­ le (Schritt 310) der ursprünglichen Umgebung richtet. Bei­ spielsweise überwacht in einer bevorzugten Ausführungsform das Übersetzungsverfahren die Befehle, die von dem Anwen­ dungsprogramm an die durch "WINDOWS/NT" zur Verfügung ge­ stellte Anwendungsprogrammschnittstelle gerichtet werden.
Für jeden überwachten Systemaufruf bewertet das Übersetzungs­ verfahren, ob der durch den API-Aufruf dargestellte Befehl das Windowmanagement betrifft. Ein Befehl "betrifft das Win­ dowmanagement", wenn die Ergebnisse des Befehls die Positio­ nierung des Anwendungsprogramm-Fensters verändert (beispiels­ weise bewegt, die Größe verändert, das Anwendungsprogramm- Fenster in einen Stapelspeicher ablegt). Somit wirkt Schritt 315 als eine Abfangeinrichtung auf hoher Ebene zwischen dem Anwenderprogramm und dem ursprünglichen Betriebssystem.
Wenn der API-Befehl das Windowmanagement betrifft, suspen­ diert das Übersetzungsverfahren vorzugsweise die Fähigkeit des ursprünglichen Gerätetreibers (beispielsweise des Maustreibers, des Tastaturtreibers, des Bildschirmtreibers), den Befehl zu verarbeiten (Schritt 315, JA-Pfad und Schritt 320) aus. In einigen Fällen ist das Suspendieren der Fähig­ keit des ursprünglichen Gerätetreibers, den Befehl zu verar­ beiten, vorteilhaft, da es die Response-Zeit des Systems stark vergrößert. Durch das Anhalten des ursprünglichen Bild­ schirmtreibers während der Bewegung eines Fensters, zeichnet der ursprüngliche Gerätetreiber beispielsweise das Bild des Fensters nicht kontinuierlich nach, wenn der Benutzer das Fenster über den Bildschirm zieht. Als Ergebnis schickt der Bildschirmtreiber nicht kontinuierlich die BitBlts (Blöcke von Bitmap-Daten), die das Bild des Fensters darstellen, an die Bildschirmhardware. Konsequenterweise und insbesonders in Systemen, in denen eine lokale Darstellung der Ausführung der Anwendung in ihrer ursprünglichen Umgebung nicht erwünscht ist, wird die Systemperformance aufgrund der Reduktion einer unnötigen Datenübertragung stark verbessert. Nach Anhalten des ursprünglichen Gerätetreibers konvertiert das Überset­ zungsverfahren den Befehl in ein Format, das durch das Ziel- GUI (Schritt 325) erkennbar ist. In einer bevorzugten Ausfüh­ rungsform hält sich dieses Ziel-GUI an ein Protokoll, das als das X-Protokoll bekannt ist. Als Konsequenz konvertiert das Übersetzungsverfahren den API-Befehl in einen Befehl des X- Protokolls (beispielsweise einen Befehl aus der Xlib- Bibliothek). Wenn der Befehl konvertiert worden ist, gibt das Übersetzungsverfahren den Befehl an das Ziel-GUI-System wei­ ter (Schritt 330). In einer bevorzugten Ausführungsform wird dieses Kommando beispielsweise an einen Windowmanager weiter­ gegeben. Der Windowmanager führt dann diesen Befehl über den X-Server aus. Als optionalen Schritt kann das Übersetzungs­ verfahren den Befehl auch an das ursprüngliche GUI-System weitergeben, so daß das Windowmanagement auf einer lokalen ursprünglichen Anzeigeeinrichtung ausgeführt wird (Schritt 335). Ob der optionale Schritt durchgeführt wird oder nicht, gibt das Übersetzungsverfahren den ursprünglichen Gerätetrei­ ber aus seinem angehaltenen Zustand frei (Schritt 335).
Wieder Bezug nehmend auf Schritt 315 gibt das Übersetzungs­ verfahren, wenn der überwachte Befehl das Windowmanagement nicht betrifft, den Befehl an das ursprüngliche Betriebssy­ stem des Anwendungsprogramms weiter (Schritt 315, NEIN-PFAD, und Schritt 340). Nachfolgend fängt das Übersetzungsverfahren jeden Systemaufruf auf der Gerätetreiberebene ab und be­ stimmt, wann der Systemaufruf den internen Zustand des Anwen­ dungsprogramm-Fensters beeinflußt (Schritt 340 und 345). So­ mit arbeiten die Schritte 340 und 345 als eine Abfangeinrich­ tung auf niedriger Ebene zwischen dem Anwendungsprogramm und dem ursprünglichen Betriebssystem. Für den Fall, in dem der Systemaufruf den internen Zustand des Anwendungsprogramm- Fensters nicht beeinflußt, ermöglicht das Übersetzungsver­ fahren, daß das Anwendungsprogramm auf herkömmliche Weise ausgeführt wird, (Schritt 345, NEIN-PFAD, und Schritt 305). Wenn der Systemaufruf den internen Zustand des Anwendungspro­ gramms-Fensters beeinflußt, konvertiert das Übersetzungsver­ fahren andererseits den Systemaufruf in einen Ziel-GUI-Aufruf nachdem der ursprüngliche Gerätetreiber angehalten worden ist (Schritt 345, JA-PFAD, Schritte 320 und 325). Nach dem Über­ setzen des Systemaufrufs gibt das Übersetzungsverfahren den übersetzten Aufruf an das Ziel-GUI-System weiter (Schritt 330). Das Übersetzungsverfahren gibt dann optional den Befehl an den ursprünglichen GUI-Gerätetreiber weiter (Schritt 335). Wiederum wird dieser optionale Schritt nur durchgeführt, wenn eine lokale Anzeige der Ausführung des Anwendungsprogramms in seiner ursprünglichen Umgebung erwünscht ist. Durch Wiederho­ len der Verfahrensschritte 305 bis 345 ermöglicht die vorlie­ gende Erfindung, daß das Anwendungsprogramm in seiner ur­ sprünglichen Umgebung ausgeführt wird, während es gleichzei­ tig erlaubt, daß mit der Anwendung computerfern auf einem computerfernen Terminal oder einem Arbeitsplatz interagiert wird. Nachdem die Verfahrensschritte einer bevorzugten Ausfüh­ rungsform der vorliegenden Erfindung beschrieben worden sind, wird nun die bevorzugte Ausführungsform mittels eines Bei­ spiels erklärt.
Fig. 4 stellt die Verfahrensschritte eines Anwendungspro­ gramms dar. Dieses Programm ist entwickelt, um in Verbindung mit einem Betriebssystem ein Fenster zu erzeugen, das den Text "Hallo" darstellt. Die Durchführung des Programms be­ ginnt durch Registrieren einer Windowklasse (Fensterklasse) mit ihrem erwünschten ursprünglichen Betriebssystem (Schritt 405). Diese Windowklasse beschreibt eine Reihe von globalen Attributen für eine Klasse von Fenstern (Windows) (beispiels­ weise eine Ikone für das Fenster, die erscheint, wenn das Fenster minimiert wird, die Hintergrundfarbe für das Fenster etc.). Wenn eine Klasse von Fenstern (Windows) in dem Be­ triebssystem eingetragen worden ist, erzeugt das Programm ein Fenster für die Klasse unter Verwendung eines Create Window- API-Aufrufs (Schritt 410). Der Create-Window-API-Aufruf er­ zeugt das erwünschte Fenster intern in dem Speicher des Comu­ tersystems. Um das Window auf der Bildschirmanzeigeeinrich­ tung darzustellen, gibt das Programm einen ShowWindow-API- Aufruf ab (Schritt 420). Eine Verfahrensschleife, kollektiv durch die Blöcke 430, 435, 440 und 450 dargestellt, fordert dann das Zeichnen des Texts "Hallo" auf der Bildschirmanzei­ geeinrichtung an. Die Nachrichtenschleife 430 verweist auf den Code, der Nachrichten aus einer Nachrichtenwarteschlange, die durch das ursprüngliche Betriebssystem zur Verfügung ge­ stellt wird, extrahiert. Insbesondere fordert, wenn das Pro­ gramm eine Zeichennachricht (Schritt 435, JA-PFAD) empfängt, das Programm die Bildaufbereitung der Zeichnenfolge "Hallo" in der Mitte des dargestellten Windows an (Schritt 440). Wenn die empfangene Nachricht keine Zeichennachricht ist (Schritt 435, NEIN-PFAD), bestimmt das Programm andererseits, ob die empfangene Nachricht eine Nachricht zum Beenden ist oder nicht (Schritt 450). Wenn die empfangene Nachricht keine Nachricht zum Beenden ist (Schritt 450, NEIN-PFAD), dann führt das Programm eine Schleife zurück zu Schritt 430 aus und wartet auf die nächste Nachricht. Wenn das Programm eine Nachricht zum Beenden empfängt (Schritt 450, JA-PFAD), endet das Programm.
Fig. 5 stellt ein Flußdiagramm der Verfahrensschritte für die Wechselwirkung zwischen dem Anwendungsprogramm von Fig. 4 und einem ursprünglichen Betriebssystem dar. Das ursprüngliche Betriebssystem antwortet auf die Registrierung einer neuen Windowklasse durch Speichern der Klassendaten für die neue Datenklasse (Schritt 510). Durch Abspeichern dieser Daten kann ein Window oder eine Anzahl von Windows basierend auf den gespeicherten Klassendaten erzeugt werden. Als nächstes antwortet das ursprüngliche Betriebssystem auf den Create- Window-API-Aufruf durch Erzeugung einer Windowstruktur (Schritt 520). Insbesondere erzeugt das ursprüngliche Be­ triebssystem basierend auf den von dem Create-Window-API- Aufruf übergebenen Parametern (beispielsweise dem Windowstil, der Windowüberschrift, der anfänglichen Positionierung etc.) eine Windowstruktur und gibt dem Anwendungsprogramm eine Handhabe für die erzeugte Windowstruktur zurück. Nachdem die Windowstruktur erzeugt ist, stellt das ursprüngliche Betriebs­ system als Antwort auf den ShowWindow-API-Aufruf (Schritt 530) das Window auf der Bildschirmanzeigeeinrichtung des Com­ putersystems dar. Kurz gesagt, schafft das ursprüngliche Be­ triebssystem dies durch Empfangen der Handhabe als Eingabepa­ rameter von dem Anwendungsprogramm, wobei die Handhabe das Window kennzeichnet, das das Anwendungsprogramm darstellen will. Das ursprüngliche Betriebssystem empfängt ebenfalls ei­ nen Eingabebefehl, der anzeigt, ob das Window in normalem oder minimiertem Format dargestellt werden soll. Nachdem das ursprüngliche Betriebssystem das Window dargestellt hat, be­ ginnt das Anwendungsprogramm, Nachrichten von der Nachrich­ tenwarteschlange über die vorher beschriebene Verfahrens­ schleife (Schritte 410-450 in Fig. 4) einzugeben. Das ur­ sprüngliche Betriebssystem stellt eine Default-Windowprozedur (Schritt 540 in Fig. 5) zur Verfügung, die alle Nachrichten, die das Anwendungsprogramm selbst nicht verarbeitet (d. h., alle Nachrichten mit Ausnahme der Nachrichten zum Zeichnen und Beenden) bearbeitet. Wie vorher beschrieben, gibt das An­ wendungsprogramm, wenn es eine Zeichennachricht empfängt, ei­ nen Befehl zum Zeichnen von "Hallo" an das ursprüngliche Be­ triebssystem. Das ursprüngliche Betriebssystem antwortet auf diesen Befehl durch Aufruf des Bildschirmanzeigeeinrich­ tungstreibers (Schritt 550). Der Bildschirmanzeigeeinrich­ tungstreiber seinerseits gibt den Text an die Bildschirman­ zeigeeinrichtung ab (Schritt 560). Auf die oben beschriebene Weise wechselwirkt das ursprüngliche Betriebssystem mit dem Anwendungsprogramm, so daß ein lokales Window dargestellt wird.
Fig. 6 stellt ein Flußdiagramm der Verfahrensschritte für ein Beispiel gemäß einer bevorzugten Ausführungsform der vorlie­ genden Erfindung dar. Dieses Beispiel illustriert, wie eine bevorzugte Ausführungsform für eine computerferne Interaktion in einer nicht-ursprünglichen Umgebung mit einer Ausführung einer Anwendung in der ursprünglichen Umgebung sorgt. Wie in dem Flußdiagramm gesehen werden kann, erlaubt die bevorzugte Ausführungsform, daß Systemaufrufe, die nicht mit dem Windo­ wmanagement in Beziehung stehen (beispielsweise das Regi­ strieren der Windowklasse) direkt an das ursprüngliche Be­ triebssystem gegeben werden. Wenn allerdings ein API-Aufruf mit dem Windowmanagement in Beziehung steht (beispielsweise das Erzeugen von Fenstern, das Darstellen von Fenstern), fängt das Übersetzungsverfahren den API-Aufruf ab, bevor es den Aufruf zu dem ursprünglichen Betriebssystem weitergibt (Schritte 610 und 620). In dem Fall, in dem API CreateWindow aufruft, ruft die bevorzugte Ausführungsform entweder XGet- Geometry oder XGetWindow-Attribute auf, um die Dimensionen der computerfernen Server-Anzeigeeinrichtung zu bestimmen. Wenn die Dimensionen der computerfernen Serveranzeigeeinrich­ tung bekannt sind, ruft das Übersetzungsverfahren die Xlib- Funktion XCreateWindow, um ein computerfern dargestelltes Win­ dow in einer X-Umgebung zu erzeugen. In ähnlicher Weise stellt das Übersetzungsverfahren, wenn das Anwendungsprogramm einen ShowWindow-API-Aufruf ausgibt, ein entsprechendes X- Window (Schritt 620) dar, bevor es den ShowWindow-API-Aufruf an das ursprüngliche Betriebssystem leitet. Somit stellen die Beispiele in Fig. 6, Schritte 610 und 620, die abgefangene Meldung auf höherer Ebene, die im Zusammenhang mit Schritt 315 in Fig. 3 diskutiert wurde, dar. Analog stellen die Schritte 630 und 640 in Fig. 6 die abgefangene Meldung auf niedriger Ebene, die in bezug auf Schritt 345 in Fig. 3 dis­ kutiert wurde, dar. Insbesondere fängt das Übersetzungsver­ fahren die Aufrufe des Anwendungsprogramms an den Bildschir­ manzeigeeinrichtungstreiber ab (Schritt 630). Wie oben erläu­ tert, behandelt der Bildschirmtreiber keine Konstruktionen auf hoher Ebene, wie beispielsweise Fenster. Als ein Ergebnis muß das Übersetzungsverfahren zuerst das entsprechende X- Window bestimmen, für das der Aufruf zum Bildschirmtreiber ausgeführt wurde. Diese Bestimmung kann durch eine Anzahl von Wegen durchgeführt werden. Beispielsweise kann diese Bestim­ mung dadurch durchgeführt werden, daß die Datenstruktur, die die interne Windowzustandsinformation für alle X-Windows, die derzeitig existieren, enthalten, aufrechterhalten und bewer­ ten. In diesem Szenario bestimmt das Übersetzungsverfahren die Bildschirmkoordinaten, auf die durch den Bildschirmtrei­ ber Bezug genommen wird. Das Übersetzungsverfahren kann dann auf diese Koordinaten querverweisen, um eine Handhabe für die Windowstruktur, die diese Koordinaten besitzt, zu erhalten. Auf diese Handhabe kann dann seinerseits querverwiesen wer­ den, um das entsprechende X-Window zu bestimmen. Nachdem das erwünschte X-Window bestimmt ist, übersetzt das Übersetzungs­ verfahren die Bildverarbeitungsanfragen in X-Aufrufe und sen­ det diese Aufrufe zum computerfernen X-Server. Auf diese Wei­ se wird die computerferne Anzeigeeinrichtung schnell und ef­ fizient aktualisiert. Schließlich gibt das Übersetzungsverfah­ ren optional den Bildschirmanzeigetreiberaufruf an den loka­ len Bildschirmtreiber, falls erwünscht. Dieser Schritt ist nur notwendig, wenn eine lokale Bildaufbereitung erwünscht ist.
Wie in dieser bevorzugten Ausführungsform erklärt, ermöglicht die vorliegende Erfindung, daß mit Anwendungsprogrammen, die unter dem "WINDOWS/NT"-Betriebssystem ausgeführt werden, com­ puterfern über das X-Client/Server-Windowsystem wechselge­ wirkt wird. Eine besonders vorteilhafte Anwendung der bevor­ zugten Ausführungsform betrifft das Gebiet der Medizintech­ nik. Insbesondere liegt eine bevorzugte Ausführungsform der vorliegenden Erfindung in der Multi-Disclosure Review Stati­ on, hergestellt durch SpaceLabs, Incorporated, die einen me­ dizinischen Monitor als X-Server verwendet. Dieser speziali­ sierte X-Server bereitet die kritischen Daten des Patienten (beispielsweise eine Herzwellenform) auf einem begleitenden X-Terminal zum Bild auf. Mit der vorliegenden Erfindung kann der Arzt nicht nur die Herzwellenform eines Patienten auf diesem Terminal ansehen, sondern der Arzt kann auch auf An­ wendungsprogramme, die für das "WINDOWS/NT" -Betriebssystem geschrieben sind, zugreifen. Als Ergebnis wird die Arbeit des Arztes stark vereinfacht. Beispielsweise kann eine Anwendung, wie z. B. "MICROSOFT EXCEL" verwendet werden, um eine Daten­ bank der Krankengeschichte des Patienten zu erstellen und zu aktualisieren. Somit erlaubt die vorliegende Erfindung, daß der Arzt die aktualisierte Krankengeschichte des Patienten abruft, während er simultan die Herzwellenform des Patienten ansieht. Da die vorliegende Erfindung gleichzeitigen Zugriff zu momentanen und vorangegangenen medizinischen Bedingungen schafft, kann der Arzt schnell und leicht alle Information erhalten, die notwendig ist, um den Patienten über ein ein­ zelnes Terminal zu behandeln. Auf diese Weise kann der Arzt effizienter arbeiten.
Die oben gelieferte, detaillierte Diskussion stellt bevorzug­ te Ausführungsformen der vorliegenden Erfindung dar. Diese Diskussion ermöglicht es dem Fachmann, verschiedene Modifika­ tionen dieser Ausführungsform durchzuführen, die nicht von dem Umfang der Erfindung abweichen. Beispielsweise wird, ob­ wohl eine bevorzugte Ausführungsform unter Bezugnahme auf das "WINDOWS/NT" -Betriebssystem beschrieben wurde, der Fachmann erkennen, daß das hierin offenbarte erfinderische Konzept nicht auf irgendein spezielles Betriebssystem beschränkt ist. In ähnlicher Weise wird der Fachmann, obwohl die bevorzugte Ausführungsform unter Bezugnahme auf das X-Protokoll be­ schrieben wurde, erkennen, daß die hierin offenbarten erfin­ derischen Konzepte nicht auf das Protokoll irgendeiner be­ stimmten, computerfernen grafischen Benutzeroberfläche be­ schränkt sind. Demgemäß berücksichtigt die vorliegende Erfin­ dung alle derartigen Modifikationen, die sich auf die ange­ fügten Ansprüche und Äquivalente derselben lesen.

Claims (10)

1. Ein Verfahren, um eine Anwendung als X-Client auszufüh­ ren, so daß ermöglicht wird, die Anwendung mit einem X- Windowsmanager darzustellen, wobei das Verfahren die Schritte aufweist:
Starten einer "WINDOWS/NT "-Sitzung;
Aufrufen einer Anwendung aus der "WINDOWS/NT"-Sitzung;
Überwachen der Ausgabenachrichten, die von der Anwendung gesendet werden;
Bestimmen, wann eine der überwachten Ausgabenachrichten ein Befehl einer grafischen Benutzeroberfläche ist; und,
wenn die überwachte Ausgabenachricht ein Befehl einer grafischen Benutzeroberfläche ist, Suspendieren eines "WINDOWS/NT"-Gerätetreibers vom Handeln auf den Befehl hin, Handelnlassen eines X-Windowsmanager-Programms auf den Befehl hin, und Informieren des "WINDOWS/NT"- Gerätetreibers über das Ergebnis des Befehls, auf den durch das X-Windowsmanager-Programm hin gehandelt worden ist.
2. Das Verfahren nach Anspruch 1, weiter umfassend den Schritt:
Konvertieren des Befehls von einem "WINDOWS/NT" -Format in ein Format, das durch einen X-Server interpretierbar ist, so daß dem X-Server ermöglicht wird, auf den Befehl hin zu handeln.
3. Ein Verfahren zum Bereitstellen eines computerfernen Zu­ griffs auf ein Anwendungsprogramm, das unter einem ur­ sprünglichen Betriebssystem ausgeführt wird, in welchem das ursprüngliche Betriebssystem eine Anwendungsschnitt­ stelle zur Verfügung stellt, um Befehle vom Anwendungs­ programm zu empfangen, und in welchem das Betriebssystem eine ursprüngliche grafische Benutzeroberfläche zur Ver­ fügung stellt, wobei das Verfahren die Schritte aufweist:
Überwachen einer Nachricht, die vom Anwendungsprogramm an die Anwendungsschnittstelle ausgegeben wird;
Abfangen der überwachten Nachricht, wenn die Nachricht eine Operation ist, die die ursprüngliche grafische Be­ nutzeroberfläche beeinflußt; und
Umleiten der abgefangenen Nachricht auf einen nicht- ursprünglichen grafischen Benutzeroberflächenmanager, so daß dem nicht-ursprünglichen grafischen Benutzeroberflä­ chenmanager ermöglicht wird, die Operation der überwach­ ten Nachricht durchzuführen.
4. Das Verfahren nach Anspruch 3, weiter umfassend den Schritt:
Informieren des ursprünglichen Betriebssystems über die Ergebnisse der abgefangenen Nachricht.
5. Ein Verfahren zum Bereitstellen einer computerfernen An­ zeige und Interaktion mit einem Anwendungsprogramm, das auf einer lokalen Maschine ausgeführt wird, wobei die lo­ kale Maschine die Anwendung in einer Umgebung eines ur­ sprünglichen Betriebssystems ausführt, in welchem das ur­ sprüngliche Betriebssystem eine lokale Anwendungsschnitt­ stelle, um Befehle vom Anwendungsprogramm zu empfangen, und eine lokale grafische Benutzeroberfläche zur Verfü­ gung stellt, wobei das Verfahren die Schritte aufweist:
Erkennen eines Befehls, der vom Anwendungsprogramm an die Anwendungsschnittstelle ausgegeben wird; und
Konvertieren der erkannten Nachricht von einem Format für die lokale grafische Benutzeroberfläche in ein Format für eine computerferne grafische Benutzeroberfläche, so daß die erkannte Nachricht durch eine computerferne grafische Benutzeroberfläche interpretiert werden kann.
6. Ein Verfahren zum Bereitstellen einer computerfernen Be­ nutzerinteraktion mit einem Anwendungsprogramm, das in seiner ursprünglichen Umgebung auf einer Hauptmaschine ausgeführt wird, wobei die ursprüngliche Umgebung eine lokale grafische Benutzeroberfläche zur Verfügung stellt, die eine lokale Benutzerinteraktion mit dem Anwendungs­ programm erlaubt, wobei das Verfahren die Schritte auf­ weist:
Bestimmen, wann das Anwendungsprogramm einen Befehl an die lokale grafische Benutzeroberfläche gesendet hat;
Suspendieren der Fähigkeit der ursprünglichen Umgebung, den bestimmten Befehl zu verarbeiten; und
Konvertieren des bestimmten Befehls in ein Protokoll, das von einer computerfernen grafischen Oberfläche erkennbar ist.
7. Eine Vorrichtung, die es erlaubt, ein Anwendungsprogramm wie einen computerfernen X-Clienten zu behandeln, während das Anwendungsprogramm in einer Nicht-Unix-Umgebung ab­ läuft, wobei die Vorrichtung aufweist:
eine Überwachungseinrichtung, die bestimmt, wann das An­ wendungsprogramm einen Befehl an eine lokale grafische Benutzeroberfläche gesendet hat, wobei die lokale grafi­ sche Benutzeroberfläche durch die Nicht-Unix-Umgebung zur Verfügung gestellt wird;
eine Deaktivierungseinrichtung, die die Fähigkeit der Nicht-Unix-Umgebung, den bestimmten Befehl zu verarbei­ ten, deaktiviert; und
eine Modifiziereinrichtung, die den bestimmten Befehl in ein Protokoll, das von einer computerfernen grafischen Oberfläche erkennbar ist, konvertiert.
8. Ein Verfahren, das es erlaubt, eine Windows- oder "WINDOWS/NT"-Anwendung, zusätzlich zu ihrer Ausführung als X-Client, in ihrer ursprünglichen Umgebung auszufüh­ ren, so daß ermöglicht wird, die Anwendung auf einem com­ puterfernen X-Terminal darzustellen, wobei das Verfahren die Schritte aufweist:
computerfernes Starten einer Windows- oder "WINDOWS/NT"- Anwendung;
Überwachen von System-Aufrufen und Anzeigeeinrichtungs­ treiber-Aufrufen, die von der Windows- oder der "WINDOWS/NT" -Anwendung ausgeführt werden;
Bestimmen, wann einer der überwachten System-Aufrufe ein mit einer grafischen Benutzeroberfläche zusammenhängender Befehl ist;
Bestimmen, wann eine Bildschirm-Bildaufbereitung für ein Fenster, das der Windows- oder der "WINDOWS/NT"-Anwendung zugeordnet ist, bestimmt ist; und,
jedesmal wenn überwachte System-Aufrufe Befehle einer grafischen Benutzeroberfläche sind und jedesmal wenn eine Anzeigeneinrichtungstreiber-Bildaufbereitung auf ein Fen­ ster, das dem Windows- oder dem "WINDOWS/NT"-Anwendungs­ programm zugeordnet ist, abzielt, Ausführen geeigneter X- System-Aufrufe, um die beabsichtigte Wirkung auf dem com­ puterfernen X-Terminal zu erzielen, und dann Zulassen, daß ein Betriebssystem der ursprünglichen Umgebung den Aufruf verarbeitet.
9. Ein Verfahren zur Laufzeitübersetzung von einem ersten grafischen Betriebssystem in ein zweites grafisches Be­ triebssystem, in welchem das erste grafische Betriebssy­ stem keine computerferne Darstellung von Anwendungspro­ grammen vorsieht und in welchem das zweite grafische Be­ triebssystem eine computerferne Darstellung von Anwen­ dungsprogrammen vorsieht, wobei das Verfahren die Schrit­ te aufweist:
Überwachen von System-Aufrufen und Anzeigeinrichtungs­ treiber-Aufrufen, die von einem Anwendungsprogramm, das unter dem ersten grafischen Betriebssystem ausgeführt wird, durchgeführt werden;
Bestimmen, wann einer der überwachten System-Aufrufe ein mit einer grafischen Benutzeroberfläche zusammenhängender Befehl ist;
Bestimmen, wann eine Bildschirm-Bildaufbereitung auf ein Fenster abzielt, das dem Anwendungsprogramm, das unter dem ersten grafischen Betriebssystem ausgeführt wird, zu­ geordnet ist, und,
jedesmal wenn überwachte System-Aufrufe Befehle einer grafischen Benutzeroberfläche sind und jedesmal wenn eine Anzeigeneinrichtungstreiber-Bildaufbereitung auf ein Fen­ ster abzielt, das dem Anwendungsprogramm, das unter dem ersten grafischen Betriebssystem ausgeführt wird, zuge­ ordnet ist, Ausführen geeigneter Befehle in dem zweiten grafischen Betriebssystem, um die beabsichtigte Wirkung auf einer computerfernen Anzeigeeinrichtung, die vom zweiten grafischen Betriebssystem gesteuert wird, zu er­ zielen, und dann Zulassen, daß das erste grafische Be­ triebssystem den Aufruf verarbeitet.
10. Ein Verfahren zum Übersetzen von Befehlen eines Anwen­ dungsprogramms aus einem ersten grafischen Betriebssystem in ein zweites grafisches Betriebssystem, wobei das An­ wendungsprogramm in der ersten grafischen Umgebung ausge­ führt wird, in welchem das erste grafische Betriebssystem keine computerferne Darstellung des Anwendungsprogramms vorsieht und in welchem das zweite grafische Betriebssy­ stem eine computerferne Darstellung des Anwendungspro­ gramms vorsieht, wobei das Verfahren die Schritte auf­ weist:
Überwachen von Gerätetreiber-Aufrufen, die durch das An­ wendungsprogramm ausgeführt werden;
Bestimmen, wann einer der überwachten Gerätetreiber- Aufrufe auf ein Fenster, das dem Anwendungsprogramm zuge­ ordnet ist, abzielt, und,
jedesmal wenn einer der überwachten Gerätetreiber-Aufrufe auf ein Fenster, das dem Anwendungsprogramm zugeordnet ist, abzielt, Ausgeben geeigneter Befehle in dem zweiten grafischen Betriebssystem, um die beabsichtigte Wirkung auf einer computerfernen Anzeigeeinrichtung, die vom zweiten grafischen Betriebssystem gesteuert wird, zu er­ zielen.
DE19522185A 1994-06-17 1995-06-19 Ein Verfahren und System zur dynamischen Übersetzung zwischen verschiedenen grafischen Benutzeroberflächen-Systemen Withdrawn DE19522185A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US26149294A 1994-06-17 1994-06-17
US08/472,935 US5831609A (en) 1994-06-17 1995-06-06 Method and system for dynamic translation between different graphical user interface systems

Publications (1)

Publication Number Publication Date
DE19522185A1 true DE19522185A1 (de) 1996-02-01

Family

ID=26948641

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19522185A Withdrawn DE19522185A1 (de) 1994-06-17 1995-06-19 Ein Verfahren und System zur dynamischen Übersetzung zwischen verschiedenen grafischen Benutzeroberflächen-Systemen

Country Status (3)

Country Link
US (1) US5831609A (de)
CA (1) CA2152007A1 (de)
DE (1) DE19522185A1 (de)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2743169A1 (fr) * 1995-12-29 1997-07-04 Wyse Technology Inc Procede et terminal pour visualiser de l'information de programmes d'applications
DE19812308A1 (de) * 1998-03-20 1999-09-23 Siemens Ag Verfahren und Vorrichtung zur Bereitstellung eines Programms, das auf einem ersten Rechner abläuft, auf mindestens einem zweiten Rechner
DE19900895A1 (de) * 1999-01-13 2000-08-24 Tobias Kramer Verfahren und Vorrichtung zum Fernzugriff auf einen Zielcomputer
EP1087289A3 (de) * 1999-09-24 2001-10-17 Hitachi, Ltd. Verfahren, Vorrichtung und Navigationsgerät zur gemeinsamen Darstellung unter mehreren Betriebssystemen
EP1187005A3 (de) * 2000-06-15 2003-10-29 Ralf Mimoun Verfahren zur Erzeugung einer Bedieneroberfläche für eine Standard-Applikation in einem Browser
DE19654766B4 (de) * 1995-12-29 2004-11-18 Wyse Technology, Inc., San Jose Terminal für die Anzeige von Anwendungsinformationen in einer Fensterumgebung
US7720672B1 (en) 1995-12-29 2010-05-18 Wyse Technology Inc. Method and apparatus for display of windowing application programs on a terminal

Families Citing this family (82)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2168087A1 (en) * 1995-02-13 1996-08-14 James S. Coman Operating system based remote communication system
US6429402B1 (en) 1997-01-24 2002-08-06 The Regents Of The University Of California Controlled laser production of elongated articles from particulates
US6473100B1 (en) * 1998-05-20 2002-10-29 Microsoft Corporation Hosting controls in a window via an interface for controlling the window
US6522343B2 (en) * 1998-07-15 2003-02-18 Microsoft Corporation Hosting objects in a windowed environment
US8555194B2 (en) * 1998-07-17 2013-10-08 D. David Nason Secondary user interface
US6348933B1 (en) * 1998-07-20 2002-02-19 Hewlett-Packard Company Single logical screen display using multiple remote computer systems
US6484309B2 (en) * 1998-10-08 2002-11-19 Intel Corporation Enabling software designed for one operating system to operate on another operating system
US6630943B1 (en) * 1999-09-21 2003-10-07 Xsides Corporation Method and system for controlling a complementary user interface on a display surface
AU7583000A (en) * 1999-09-21 2001-04-24 Wyse Technology, Inc. Displaying windowing application programs on a terminal
US6545690B1 (en) * 1999-09-29 2003-04-08 Lucent Technologies Inc. Liaison interface
US6829654B1 (en) * 2000-06-23 2004-12-07 Cloudshield Technologies, Inc. Apparatus and method for virtual edge placement of web sites
US20020049867A1 (en) * 2000-08-29 2002-04-25 Yoshitomo Kumagai Application transfer method, application transfer system and storage medium therefore
US6801224B1 (en) * 2000-09-14 2004-10-05 International Business Machines Corporation Method, system, and program for generating a graphical user interface window for an application program
US6954933B2 (en) * 2000-10-30 2005-10-11 Microsoft Corporation Method and apparatus for providing and integrating high-performance message queues in a user interface environment
US6961945B2 (en) * 2000-10-30 2005-11-01 Microsoft Corporation Method and apparatus for adapting and hosting legacy user interface controls
US20020138512A1 (en) * 2000-11-17 2002-09-26 William Buresh Flexible form and window arrangement for the display of medical data
AU3523202A (en) 2000-12-18 2002-07-01 Kargo Inc A system and method for delivering content to mobile devices
GB0031206D0 (en) * 2000-12-21 2001-01-31 Ibm Multi-platform command line interpretation
TW539951B (en) * 2001-01-17 2003-07-01 Duan-Huei Wu A method transferring resources among operating systems
US20020138821A1 (en) * 2001-01-23 2002-09-26 Vadim Furman Method and apparatus for seamless porting of object code between operating system environments
US7051288B2 (en) 2001-02-15 2006-05-23 International Business Machines Corporation Method, system, and product for a java-based desktop to provide window manager services on UNIX
US20030023639A1 (en) * 2001-04-03 2003-01-30 Openpath Software Corp. Application generator for creating web pages
US20020157088A1 (en) * 2001-04-20 2002-10-24 Orchid Systems, Inc. System for and method of automating the execution of a data stream transformation project
KR100676697B1 (ko) * 2001-06-13 2007-01-31 삼성전자주식회사 컴퓨터용 소프트웨어의 언어표시방법 및언어표시시스템과, 언어표시방법과 언어표시시스템이저장된 기록매체
US6980997B1 (en) * 2001-06-28 2005-12-27 Microsoft Corporation System and method providing inlined stub
US20030212605A1 (en) * 2002-05-08 2003-11-13 Amikai, Inc. Subscription-fee-based automated machine translation system
US20040024843A1 (en) * 2002-07-31 2004-02-05 Smith Christopher T. Method for provisioning distributed web applications
JP3938343B2 (ja) * 2002-08-09 2007-06-27 インターナショナル・ビジネス・マシーンズ・コーポレーション タスク管理システム、プログラム、及び制御方法
US7899879B2 (en) 2002-09-06 2011-03-01 Oracle International Corporation Method and apparatus for a report cache in a near real-time business intelligence system
US7941542B2 (en) 2002-09-06 2011-05-10 Oracle International Corporation Methods and apparatus for maintaining application execution over an intermittent network connection
US7412481B2 (en) 2002-09-16 2008-08-12 Oracle International Corporation Method and apparatus for distributed rule evaluation in a near real-time business intelligence system
US7454423B2 (en) 2002-09-06 2008-11-18 Oracle International Corporation Enterprise link for a software database
US8255454B2 (en) * 2002-09-06 2012-08-28 Oracle International Corporation Method and apparatus for a multiplexed active data window in a near real-time business intelligence system
US8165993B2 (en) 2002-09-06 2012-04-24 Oracle International Corporation Business intelligence system with interface that provides for immediate user action
US7945846B2 (en) 2002-09-06 2011-05-17 Oracle International Corporation Application-specific personalization for data display
US7912899B2 (en) 2002-09-06 2011-03-22 Oracle International Corporation Method for selectively sending a notification to an instant messaging device
US7426059B2 (en) 2002-09-16 2008-09-16 Oracle International Corporation Data presentation methods and apparatus to facilitate printing and reviewing
US7668917B2 (en) 2002-09-16 2010-02-23 Oracle International Corporation Method and apparatus for ensuring accountability in the examination of a set of data elements by a user
US7401158B2 (en) 2002-09-16 2008-07-15 Oracle International Corporation Apparatus and method for instant messaging collaboration
US8046682B2 (en) * 2002-12-02 2011-10-25 Siebel Systems, Inc. Method and system for accessing business applications via a standard interface
US7904823B2 (en) 2003-03-17 2011-03-08 Oracle International Corporation Transparent windows methods and apparatus therefor
US8302111B2 (en) 2003-11-24 2012-10-30 Time Warner Cable Inc. Methods and apparatus for hardware registration in a network device
US7266726B1 (en) 2003-11-24 2007-09-04 Time Warner Cable Inc. Methods and apparatus for event logging in an information network
US9213538B1 (en) 2004-02-06 2015-12-15 Time Warner Cable Enterprises Llc Methods and apparatus for display element management in an information network
US7623933B2 (en) * 2005-06-10 2009-11-24 Time Warner Cable Inc. Methods and apparatus for controlling display in a networked device
US7917856B2 (en) * 2005-10-24 2011-03-29 Sap Ag Converting between user interface technologies
US20090089453A1 (en) * 2007-09-27 2009-04-02 International Business Machines Corporation Remote visualization of a graphics application
US8433812B2 (en) * 2008-04-01 2013-04-30 Microsoft Corporation Systems and methods for managing multimedia operations in remote sessions
US8869239B2 (en) * 2009-04-15 2014-10-21 Wyse Technology L.L.C. Method and system for rendering composite view of an application
US8863232B1 (en) 2011-02-04 2014-10-14 hopTo Inc. System for and methods of controlling user access to applications and/or programs of a computer
US8769110B2 (en) * 2011-05-27 2014-07-01 Sony Corporation Transferring RUI from one device to another
KR101801577B1 (ko) * 2011-06-28 2017-11-27 엘지전자 주식회사 이동 단말기 및 이것의 디스플레이 제어 방법
US9454617B1 (en) 2011-12-30 2016-09-27 hopTo Inc. Client rendering
US9367931B1 (en) 2011-12-30 2016-06-14 hopTo Inc. Motion vectors for cross-platform display
US9223534B1 (en) 2011-12-30 2015-12-29 hopTo Inc. Client side detection of motion vectors for cross-platform display
US9064292B1 (en) * 2011-12-30 2015-06-23 hopTo, Inc. System for and method of classifying and translating graphics commands in client-server computing systems
US8922569B1 (en) * 2011-12-30 2014-12-30 hopTo Inc. Cloud based system for and method of translating between disparate 3D graphics languages in client-server computing environments
US9218107B1 (en) 2011-12-30 2015-12-22 hopTo Inc. Cloud-based text management for cross-platform display
US8775545B1 (en) 2011-12-30 2014-07-08 hop To Inc. Image hosting for cross-platform display over a communication network
US8856262B1 (en) 2011-12-30 2014-10-07 hopTo Inc. Cloud-based image hosting
US9183663B1 (en) * 2011-12-30 2015-11-10 Graphon Corporation System for and method of classifying and translating graphics commands in client-server computing systems
US9124562B1 (en) 2012-05-18 2015-09-01 hopTo Inc. Cloud-based decomposition and recomposition for cross-platform display
US8990363B1 (en) * 2012-05-18 2015-03-24 hopTo, Inc. Decomposition and recomposition for cross-platform display
US9106612B1 (en) * 2012-05-18 2015-08-11 hopTo Inc. Decomposition and recomposition for cross-platform display
US8713658B1 (en) 2012-05-25 2014-04-29 Graphon Corporation System for and method of providing single sign-on (SSO) capability in an application publishing environment
US9419848B1 (en) 2012-05-25 2016-08-16 hopTo Inc. System for and method of providing a document sharing service in combination with remote access to document applications
US9239812B1 (en) 2012-08-08 2016-01-19 hopTo Inc. System for and method of providing a universal I/O command translation framework in an application publishing environment
US8763054B1 (en) 2012-11-02 2014-06-24 hopTo Inc. Cross-platform video display
US8776152B1 (en) 2012-11-02 2014-07-08 hopTo Inc. Cloud-based cross-platform video display
US8725645B1 (en) 2013-01-04 2014-05-13 Cetrus LLC Non-invasive metering system for software licenses
US9250782B1 (en) 2013-03-15 2016-02-02 hopTo Inc. Using split windows for cross-platform document views
US9430134B1 (en) 2013-03-15 2016-08-30 hopTo Inc. Using split windows for cross-platform document views
US10565026B2 (en) * 2015-07-29 2020-02-18 Microsoft Technology Licensing, Llc Containing an application in an immersive non-windowed environment
US10735557B2 (en) 2016-01-08 2020-08-04 Elo Touch Solutions, Inc. Device controller and viewer
US11716558B2 (en) 2018-04-16 2023-08-01 Charter Communications Operating, Llc Apparatus and methods for integrated high-capacity data and wireless network services
US10684871B2 (en) 2018-06-03 2020-06-16 Apple Inc. Multi-process model for cross-platform applications
US11044597B2 (en) 2018-08-07 2021-06-22 Charter Communications Operating, Llc Apparatus and methods for registration and operation in wireless networks
CA3115813A1 (en) 2018-10-12 2020-04-16 Charter Communications Operating, Llc Apparatus and methods for cell identification in wireless networks
US10980025B2 (en) 2019-01-31 2021-04-13 Charter Communications Operating, Llc Methods and apparatus for frequency transition management in a quasi-licensed wireless system
US11129171B2 (en) 2019-02-27 2021-09-21 Charter Communications Operating, Llc Methods and apparatus for wireless signal maximization and management in a quasi-licensed wireless system
US11026205B2 (en) 2019-10-23 2021-06-01 Charter Communications Operating, Llc Methods and apparatus for device registration in a quasi-licensed wireless system
KR102664915B1 (ko) * 2021-12-06 2024-05-17 엘지전자 주식회사 디스플레이 장치 및 그의 동작 방법

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2039027C (en) * 1990-05-22 1998-07-07 Stephen Troy Eagen Method and apparatus for assisting in the presentation and removal of windows
US5327529A (en) * 1990-09-24 1994-07-05 Geoworks Process of designing user's interfaces for application programs
US5450600A (en) * 1991-11-08 1995-09-12 Mitsubishi Denki Kabushiki Kaisha Integrated command recognition apparatus and method for selecting an optimal command among numerous commands
US5475421A (en) * 1992-06-03 1995-12-12 Digital Equipment Corporation Video data scaling for video teleconferencing workstations communicating by digital data network
US5375068A (en) * 1992-06-03 1994-12-20 Digital Equipment Corporation Video teleconferencing for networked workstations
US5459860A (en) * 1992-10-05 1995-10-17 International Business Machines Corporation Computerized system and process for managing a distributed database system
US5412772A (en) * 1992-10-13 1995-05-02 Novell, Inc. System for permitting a view of an object or a user interface to be exchanged between operating system environments
DE69318571T2 (de) * 1992-12-01 1998-09-17 Microsoft Corp Verfahren und system für die in-ort-wechselwirkung mit eingebetteten objekten
US5361344A (en) * 1993-01-29 1994-11-01 Unisys Corporation Method of operating, via a block mode terminal, UNIX programs for a character mode terminal
US5498003A (en) * 1993-10-07 1996-03-12 Gechter; Jerry Interactive electronic games and screen savers with multiple characters
US5627979A (en) * 1994-07-18 1997-05-06 International Business Machines Corporation System and method for providing a graphical user interface for mapping and accessing objects in data stores

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2743169A1 (fr) * 1995-12-29 1997-07-04 Wyse Technology Inc Procede et terminal pour visualiser de l'information de programmes d'applications
DE19654766B4 (de) * 1995-12-29 2004-11-18 Wyse Technology, Inc., San Jose Terminal für die Anzeige von Anwendungsinformationen in einer Fensterumgebung
US7720672B1 (en) 1995-12-29 2010-05-18 Wyse Technology Inc. Method and apparatus for display of windowing application programs on a terminal
DE19655400B4 (de) * 1995-12-29 2011-03-17 Wyse Technology, Inc., San Jose Terminal zum Kommunizieren mit einem Server
US8079021B2 (en) 1995-12-29 2011-12-13 Wyse Technology Inc. Method and apparatus for display of windowing application programs on a terminal
US8904362B2 (en) 1995-12-29 2014-12-02 Wyse Technology L.L.C. Method and apparatus for display of windowing application programs on a terminal
DE19812308A1 (de) * 1998-03-20 1999-09-23 Siemens Ag Verfahren und Vorrichtung zur Bereitstellung eines Programms, das auf einem ersten Rechner abläuft, auf mindestens einem zweiten Rechner
DE19900895A1 (de) * 1999-01-13 2000-08-24 Tobias Kramer Verfahren und Vorrichtung zum Fernzugriff auf einen Zielcomputer
DE19900895C2 (de) * 1999-01-13 2001-03-15 Tobias Kramer Vorrichtung und Verfahren zum Fernzugriff auf einen Zielcomputer
EP1087289A3 (de) * 1999-09-24 2001-10-17 Hitachi, Ltd. Verfahren, Vorrichtung und Navigationsgerät zur gemeinsamen Darstellung unter mehreren Betriebssystemen
US7069519B1 (en) 1999-09-24 2006-06-27 Hitachi, Ltd. Method, apparatus and navigation apparatus for sharing display by plural operating systems
EP1187005A3 (de) * 2000-06-15 2003-10-29 Ralf Mimoun Verfahren zur Erzeugung einer Bedieneroberfläche für eine Standard-Applikation in einem Browser

Also Published As

Publication number Publication date
US5831609A (en) 1998-11-03
CA2152007A1 (en) 1995-12-18

Similar Documents

Publication Publication Date Title
DE19522185A1 (de) Ein Verfahren und System zur dynamischen Übersetzung zwischen verschiedenen grafischen Benutzeroberflächen-Systemen
DE3787127T2 (de) Datenanzeigesystem.
DE69817158T2 (de) Benutzerschnittstellen-Mechanismus zur Manipulierung von Kontexten in Computerverwaltungsapplikationen
DE69428647T2 (de) Verfahren und Gerät zur Erzeugung eines zweiten gemischten Bildsignals im räumlichen Kontext eines ersten Bildsignals
DE69525249T2 (de) Umschaltung zwischen darstellungs-/verhaltensthemen in graphischen benutzeroberflächen
DE69232255T2 (de) Verfahren und System zum Steuern des Ablaufs eines Anwenderprogramms
DE69523593T2 (de) Vorrichtung und verfahren zur aufteilung der anwendung in einer graphischen benutzerschnittstelle
DE69620301T2 (de) Fensterverwaltung
DE69525336T2 (de) Lernfähiger benutzeroberflächenübersetzer
DE69228645T2 (de) Verfahren zur Verwirklichung eines "Vorschaufensters" in einem objektorientierten Programmierungssystem
DE69533568T2 (de) Virtuelles Desk-Top-System und Verfahren dafür
DE69123465T2 (de) Verfahren zur Änderung der Abmessungen von Computeranzeigefenstern und ihrer Bewegung
DE69523325T2 (de) Graphisches programmier-interface für maschinen- bzw. prozess- steuerungen mit vorverbundenen parameterkonfigurationen
DE69726167T2 (de) Verfahren zur verwaltung der darstellung von bildschirmanzeigen in einer multifenster-rechnungsumgebung
DE68923491T2 (de) Verfahren zur dynamischen Auslösung von Hintergrundfenstern für prioritäre Anwendungen.
DE69523229T2 (de) Benutzeroberfläche für eine Mehrzahl von untergeordneten Fenstern
DE19632854B4 (de) Kontext-Identifizierer verwendendes System und Verfahren für eine individuelle Menüanpassung in einem Fenster
DE69636914T2 (de) Verfahren und Vorrichtung für Netzwerkverwaltung
DE69129536T2 (de) Objektbasiertes rechnersystem
DE19636923A1 (de) Verfahren und Vorrichtung zur gemeinsamen Benutzung von Eingabevorrichtungen durch mehrere unabhängige Graphik-Anzeigevorrichtungen
DE10351351A1 (de) Verfahren und System zur dynamischen Generierung von User Interfaces
DE4417588A1 (de) Verfahren und Vorrichtung zum Erfassen und Weiterleiten von Fensterereignissen zu einer Mehrzahl von bestehenden Anwendungen zur gleichzeitigen Ausführung
EP1272921A2 (de) Verfahren zum navigieren zwischen ausschnitten in einem darstellungsraum
EP3570164B1 (de) Verfahren und system zum generieren einer mobilen applikation aus einer desktop-anwendung
DE10247554B4 (de) System mit einem Computer und einer mit dem Computer verbundenen Vorrichtung

Legal Events

Date Code Title Description
8139 Disposal/non-payment of the annual fee