DE4417588A1 - Verfahren und Vorrichtung zum Erfassen und Weiterleiten von Fensterereignissen zu einer Mehrzahl von bestehenden Anwendungen zur gleichzeitigen Ausführung - Google Patents

Verfahren und Vorrichtung zum Erfassen und Weiterleiten von Fensterereignissen zu einer Mehrzahl von bestehenden Anwendungen zur gleichzeitigen Ausführung

Info

Publication number
DE4417588A1
DE4417588A1 DE4417588A DE4417588A DE4417588A1 DE 4417588 A1 DE4417588 A1 DE 4417588A1 DE 4417588 A DE4417588 A DE 4417588A DE 4417588 A DE4417588 A DE 4417588A DE 4417588 A1 DE4417588 A1 DE 4417588A1
Authority
DE
Germany
Prior art keywords
window
windows
application
event
sub
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
DE4417588A
Other languages
English (en)
Inventor
Ming C Hao
Alan H Karp
Vineet Singh
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.)
HP Inc
Original Assignee
Hewlett Packard Co
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 Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of DE4417588A1 publication Critical patent/DE4417588A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/038Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • G06COMPUTING; CALCULATING OR 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications

Description

Die vorliegende Erfindung bezieht sich auf eine graphische Benutzerschnittstelle und insbesondere auf eine graphische Benutzerschnittstelle, die es ermöglicht, Fensterereignisse zu graphischen Benutzerschnittstellen von Programmanwendun­ gen weiterzuleiten (multicast).
Obwohl graphische Benutzerschnittstellen (GUIs = graphical user interfaces) über die Jahre verbessert wurden, basieren sie noch auf einem Einzelprozeßdialog. Bei einem Einzelpro­ zeßdialog arbeitet ein Benutzer mit einem einzelnen Befehls­ knopf, um eine Anwendung aufzurufen oder eine einzelne Funk­ tion zu einer Zeit auszuführen. Die Fig. 1A, 1B und 2 zeigen Beispiele bekannter Fenstercomputerumgebungen.
Die Fig. 1A und 1B zeigen Beispiele von Fenstern einer her­ kömmlichen Fensterumgebung, wie sie typischerweise auf einer Bildschirmanzeige eines Computersystems erscheinen. Eine Fensterverwaltung 100 ist ein Verwaltungsfenster für die Fensterumgebung. In Fig. 1A enthält die Fensterverwaltung 100 Anwendungssymbole 102-112. Jedes der Symbole stellt ein unterschiedliches Programm, das auf dem Computersystem ausgeführt werden kann, dar. Die Anwendung #1 kann z. B. durch die Auswahl des Symbols Anw. 1 102 aufgerufen (gestar­ tet) werden. Wenn sie aufgerufen ist, plaziert die Anwendung #1 typischerweise ein Anwendungsfenster (Anw. 1) 114 auf der Bildschirmanzeige des Computersystems (siehe Fig. 1B). Das Anwendungsfenster (Anw. 1) 114 liefert danach eine Einrich­ tung zum Eingeben von Befehlen oder Daten in die Anwendung #1 oder zum Empfangen von berechneten Ergebnissen von der Anwendung #1. Ähnlich werden Anwendungsfenster 116 und 118 auf der Bildschirmanzeige des Computersystems erzeugt, wenn die Anwendung #2 und die Anwendung #3 durch Auswählen der Symbole Anw. 2 und Anw. 3 104 bzw. 106 aufgerufen werden. Fig. 1B zeigt die Fensterverwaltung 100, die die Anwendungsfen­ ster 114, 116 und 118 einschließen kann, wenn die Anwendun­ gen #1, #2 und #3 gestartet sind.
Fig. 2 stellt eine herkömmliche Ferncomputerumgebung dar, bei der ein Hauptcomputer 200 mit Ferncomputern 202 gekop­ pelt ist. Jeder Ferncomputer 202 ist in der Lage, eine se­ quentielle Anwendung 204 auszuführen. Jede der sequentiellen Anwendungen, die auf den Ferncomputern 202 erhalten werden, erzeugt ein Anwendungsfenster 206 auf dem Hauptcomputer 200 und steht mit den sequentiellen Anwendungen 204 über die An­ wendungsfenster 206 in Verbindung. Die Anwendungsfenster 206 ermöglichen es dem Benutzer, Befehle oder Daten für die se­ quentiellen Anwendungen 204 einzugeben, oder Informationen von den sequentiellen Anwendungen 204 zu empfangen. Die Be­ fehle oder andere Informationen werden zu/von den Fernstand­ orten von/zu dem Hauptstandort zurück- und hingeleitet, wo­ bei bekannte Kommunikationsprotokolle, wie z. B. UNIX-Fassun­ gen verwendet werden. Bei einem standardmäßigen Unterrech­ ner-Server-Modell ist der Hauptcomputer 200 der Server und die sequentiellen Anwendungen 204 sind die Unterrechner. Die Bildschirmanzeige des Hauptcomputers 200 kann die Unterrech­ ner auf jedem System in einem Netzwerk bedienen. Die Fern­ unterrechner sind in der Lage, ihre Fenster auf der Haupt­ bildschirmanzeige anzuzeigen, wenn der Hauptcomputer 200 (Server) ihnen die Zugriffsberechtigung gibt.
In jedem Fall leiden die oben beschriebenen bekannten Tech­ niken unter zwei Hauptnachteilen. Der erste Nachteil besteht darin, daß der Benutzer üblicherweise Befehle oder Daten in jedes Anwendungsfenster eingeben muß, da jedes Anwendungs­ fenster ausschließlich einer der sequentiellen Anwendungen zu­ geordnet ist. Diese sich wiederholende Eingabe von Befehlen oder Daten ist für den Benutzer eine große Belastung, wenn jedes der Anwendungsfenster die gleichen Befehle oder Daten empfangen soll. Der zweite Nachteil besteht darin, daß die bekannten Techniken es nicht ermöglichen, mehrere bestehende Anwendungen gleichzeitig zu steuern, es sei denn, ihr Quel­ lencode wird geändert.
Obwohl es Teillösungen hinsichtlich dieser Nachteile gab, liefert keine dieser Teillösungen eine vollständige und fle­ xible Lösung, die für den Benutzer zufriedenstellend ist. Eine bekannte Teillösung ist in der EP-0368779A2 beschrie­ ben. Diese Teillösung liefert ein globales Laufzeichen (cur­ sor) für die Verwendung in einer Fensterumgebung. Wenn glo­ bale Laufzeichen in mehreren Programmfenstern positioniert sind, können gemeinsame Daten gleichzeitig in eine Mehrzahl von Programme über ihre jeweiligen Programmfenster eingege­ ben werden. Diese Teillösung weist viele Mängel auf. Ein bedeutender Mangel besteht darin, daß diese Teillösung eine Interpretation der Tastaturereignisse erfordert, was die Fähigkeit der Teillösung, an andere Ereignisarten angepaßt zu sein, behindert. Ein weiterer Mangel besteht darin, daß diese Teillösung nur einen Einzelprozeßdialog unterstützt, bei dem in den verschiedenen Programmfenstern nur ein ein­ zelner Operationstyp aufgerufen werden kann. Noch ein wei­ terer Mangel besteht darin, daß diese Teillösung ein Nach­ steuern der Zeigerbewegung erfordert, um die gegenwärtige Position des Zeigers zu erhalten, wobei ein solches Nach­ steuern einen tibermäßigen zusätzlichen Verarbeitungsaufwand zur Folge hat.
Folglich besteht ein unbefriedigter Bedarf nach einer flexi­ blen Vorrichtung, die in der Lage ist, ein Fensterereignis an mehrere graphische Benutzerschnittstellen weiterzuleiten, so daß eine Verdoppelung der Eingabebefehle oder -daten eli­ miniert ist, und die Operation, die von dem Fensterereignis angefordert wird, gleichzeitig von einer oder mehreren Pro­ grammanwendungen durchgeführt werden kann.
Die Aufgabe der vorliegenden Erfindung besteht darin, ein Verfahren und eine Vorrichtung zu schaffen, um Fensterer­ eignisse mit einer einzigen Eingabe zu einer Mehrzahl von bestehenden Anwendungen zur gleichzeitigen Steuerung und Ausführung weiterzuleiten.
Diese Aufgabe wird durch eine graphische Vielebenen-Be­ nutzerschnittstelle nach Anspruch 1, eine graphische Benut­ zerschnittstelle nach Anspruch 2, sowie ein Verfahren zum Weiterleiten von Fensterereignissen nach Anspruch 7 gelöst.
Die Erfindung bezieht sich auf ein Verfahren und eine Vor­ richtung zum Weiterleiten von Fensterereignissen zu ausge­ wählten Anwendungsfenstern zum gleichzeitigen Beginnen von Operationen. Die Erfindung ist wirksam, um Benutzerfenster­ ereignisse zu erfassen und dann die Benutzerfensterereignis­ se auf graphische Benutzerschnittstellen der ausgewählten Programmanwendungen zur gleichzeitigen Ausführung in einer verteilten oder einer Mehrprogrammbetriebs-Umgebung zu steu­ ern und zu verteilen. Die Erfindung löst nicht nur das Prob­ lem der sich wiederholdenden Eingabe nach dem Stand der Technik, das die Eingabe der Befehle oder Daten für jede An­ wendung erfordert, sondern auch die Unfähigkeit der Lösungs­ ansätze nach dem Stand der Technik, Fensterereignisse zu bestehenden graphischen Benutzerschnittstellen von Programm­ anwendungen ohne Interpretation weiterzuleiten. Die Erfin­ dung ist ausreichend flexibel, um die Weiterleitung zu ver­ schiedenen Anwendungsprogrammen zu handhaben, um eine Grup­ pierung dynamisch zu steuern, um Fensterereignisse zu ordnen oder zu sequentialisieren, und um eine Weiterleitung der Fensterereignisse zum nahezu gleichzeitigen Aufruf unter­ schiedlicher Aktionstypen oder Operationen in der gleichen oder unterschiedlichen GUI-Schichten zu ermöglichen.
Ein erstes Ausführungsbeispiel der Erfindung bezieht sich auf eine graphische Benutzerschnittstelle. Die graphische Benutzerschnittstelle umfaßt mindestens ein Anwendungsfen­ ster für jedes einer Mehrzahl von Anwendungsprogrammen, die ausgeführt werden, ein gemeinsames Steuerfenster zum Empfan­ gen der Fensterereignisse, um zu mehr als einem der Anwen­ dungsfenster für die Anwendungsprogramme weitergeleitet zu werden, sowie eine Ereigniserfassung und ein Verteilungsver­ fahren zum Weiterleiten der Fensterereignisse, die von dem gemeinsamen Steuerfenster empfangen werden, zu einem Satz von Anwendungsfenstern zur im wesentlichen gleichzeitigen Ausführung.
Ein zweites Ausführungsbeispiel der Erfindung bezieht sich auf eine graphische Vielebenen-Benutzerschnittstelle für eine Fensterumgebung. Die graphische Vielebenen-Benutzer­ schnittstelle umfaßt zumindest erste und zweite Ebenen. Die erste Ebene schließt eine Mehrzahl von Programmfenstern ein. Jedes Programmfenster steht mit einer Programmanwendung in Verbindung. Die zweite Ebene schließt ein Steuerfenster, das mit einer Mehrzahl von Programmfenstern in Verbindung steht, ein, wobei Fensterereignisse, die in das Steuerfenster ein­ gegeben werden, zu mehr als einem der Programmfenster in der ersten Ebene weitergeleitet werden können.
Ein drittes Ausführungsbeispiel der Erfindung bezieht sich auf ein Verfahren zum gleichzeitigen Ausführen von Fenster­ ereignissen durch ein oder mehrere ablaufende Anwendungspro­ gramme. Jedes aktive Anwendungsprogramm hat zumindest ein Anwendungsfenster. Das Verfahren umfaßt folgende Schritte: Empfangen eines ankommenden Fensterereignisses, Weiterleiten des Fensterereignisses zu mindestens zwei der Anwendungsfen­ ster für das eine oder die mehreren aktiven Anwendungspro­ gramme, und gleichzeitiges Beginnen der Ausführung des Fen­ sterereignisses, das an ein oder mehrere aktive Anwendungs­ programme weitergeleitet ist.
Zusätzliche Vorteile der Erfindung bestehen darin, daß ein Zugriff zu bestehenden GUIs zur Ablaufzeit ohne irgendeine Änderung des Quellencodes entweder der Programmanwendungen oder ihrer GUIs erreicht werden kann. Ein weiterer Vorteil der Erfindung besteht darin, daß keine Neukompilierung, Neu­ verbindung oder spezielle Bibliotheken erforderlich sind.
Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung werden nachfolgend unter Bezugnahme auf die beiliegenden Zeichnungen näher erläutert. Es zeigen:
Fig. 1A und 1B Diagramme von herkömmlichen Fenstern einer herkömmlichen Fensterumgebung;
Fig. 2 ein Blockdiagramm einer herkömmlichen Fensterfern­ computerumgebung mit einem Hauptcomputer und meh­ reren Ferncomputern;
Fig. 3 ein Blockdiagramm eines elementaren Ausführungsbei­ spiels eines Ereignisweiterleitungssystems gemäß der Erfindung;
Fig. 4 ein Flußdiagramm, das die elementaren Ausführungs­ verfahren darstellt, die von dem Ereignisweiterlei­ tungssystem, daß in Fig. 3 dargestellt ist, durch­ geführt werden;
Fig. 5 ein Flußdiagramm, das das Initialisierungsausfüh­ rungsverfahren darstellt;
Fig. 6 ein Diagramm, das ein Beispiel eines Anzeigebild­ schirms eines Computersystems darstellt;
Fig. 7 ein Flußdiagramm, das das Konfigurationsausfüh­ rungsverfahren zeigt; und
Fig. 8 ein Flußdiagramm des Ereignisausführungsverfahrens.
Ausführungsbeispiele der Erfindung sind nachfolgend bezug­ nehmend auf die Fig. 3-8 erörtert. Für Fachleute ist es jedoch ohne weiteres offensichtlich, daß die hierin gegebene detaillierte Beschreibung hinsichtlich dieser Figuren erklä­ renden Zwecken dient, während sich die Erfindung über diese begrenzten Ausführungsbeispiele hinaus erstreckt.
Die Erfindung betrifft eine Vorrichtung, um eine Mehrzahl von Operationen derart zu koordinieren, daß sie gleichzeitig mit einem Endbenutzer durch Ereigniserfassung und -weiterleitung in Dialog treten. Die Vorrichtung erfaßt vom Benut­ zer erzeugte Ereignisse und leitet diese Ereignisse zu einem ausgewählten Satz von Anwendungsfenstern weiter, um Operati­ onen gleichzeitig auszuführen. Gemäß der Erfindung kann eine bestehende sequentielle Anwendung ohne Modifikation des be­ stehenden Systems oder der Anwendungssoftware verteilt wer­ den. Der Ausdruck verteilt, der hierin verwendet wird, ist allgemein so definiert, daß er sowohl eine verteilte Compu­ terumgebung, als auch eine Lehrprogrammbetriebsumgebung ein­ schließt. Der Ausdruck verteilte Computerumgebung bezieht sich ursprünglicherweise auf getrennte Programme, die auf verschiedenen Computern oder Workstations durchgeführt wer­ den, während sich der Ausdruck Mehrprogrammbetrieb auf ge­ trennte Programme bezieht, die auf dem gleichen Computer oder der gleichen Workstation durchgeführt werden.
Jedes Anwendungsprogramm, das unter einer graphischen Benut­ zerschnittstelle (GUI) ausgeführt wird, das Benutzerereig­ nisse, wie z. B. Knopf drücken/loslassen, Taste drücken/los­ lassen oder Zeigerbewegung festhält, kann unter der Verwen­ dung der Erfindung ohne eine Änderung desselben verwendet werden. Z.B. könnte die GUI die populäre Windows-, MacIn­ tosh-, Motif- oder OpenLook-SchnittsteIle sein.
Fig. 3 ist ein Blockdiagramm eines elementaren Ausführungs­ beispiels des Ereignisweiterleitungssystems der Erfindung in einer Ferncomputerumgebung. Ein Hauptcomputer 300 ist mit mehreren Ferncomputern, die selbst Programme ausführen, gekoppelt. Im einzelnen befindet sich das Programm der An­ wendung #y 304 im Ferncomputer A302, das Programm der Anwen­ dung #2 308 befindet sich im Ferncomputer B306 und die An­ wendung #3 312 befindet sich im Ferncomputer C310. Gewöhn­ lich wurde ein Benutzer die Ausführung der Anwendung #y 304 starten, während er sich physikalisch in der Nähe des Haupt­ computers 300 (aber entfernt von den Ferncomputern) befin­ det, jedoch in der Lage, die Ausführung bestimmter oder al­ ler Anwendungsprogramme zu starten. Es sei jedoch zu bemer­ ken, daß die Erfindung auf einfachere Fälle von lokaler Be­ rechnung (Mehrprogrammbetrieb) anwendbar ist, bei denen sich alle Anwendungsprogramme im Hauptcomputer befinden. In jedem Fall können die Anwendungsprogramme 304, 308 und 312 entwe­ der sequentiell oder verteilt sein.
Gemäß Fig. 3 kann der Benutzer mit den Anwendungsprogrammen 304, 308 und 312 über Anwendungsfenster 314, 316 und 318, die auf der Bildschirmanzeige des Hauptcomputers 300 er­ scheinen, in Verbindung treten. Jedes Anwendungsfenster 314, 316 und 318 ist in der Lage, Fensterereignisse für eines der Anwendungsprogramme 304, 308 und 312, die ihnen jeweils zu­ geordnet sind, zu empfangen. Wenn die Anwendung #1 304, die im Ferncomputer A302 enthalten ist, z. B. ein Tabellenkalku­ lationsanwendungsprogramm ist, könnte ein Benutzer Befehle für die Tabellenkalkulation über das Fenster 314 für die An­ wendung #1, das auf der Bildschirmanzeige des Hauptcomputers 300 vorliegt, eingeben. Die Befehle, die in das Fenster 314 der Anwendung #1 eingegeben werden, würden dann unter Ver­ wendung bekannter Kommunikatinsprotokolle zur Ausführung zum Anwendungsprogramm 304 (Tabellenkalkulation) im Ferncomputer 302 gesendet werden.
Der Hauptcomputer 300 schließt ferner ein gemeinsames Steu­ erfenster 320 und ein Ereignis-Erfassungs-Verteilungs-Ver­ fahren 322 ein. Das gemeinsame Steuerfenster 320 erscheint auch auf der Bildschirmanzeige des Hauptcomputers 300. Gemäß Fig. 3 ist das Ereignis-Erfassungs-Verteilungs-Verfahren 322 sowohl mit dem gemeinsamen Steuerfenster 320, als auch den Anwendungsfenstern 314, 316 und 318 gekoppelt. Das Ereig­ nis-Erfassungs-Verteilungs-Verfahren 322 ist eine Software­ ausführungseinheit und kein Fenster.
Die Erfindung ermöglicht es dem Benutzer, Fensterereignisse (z. B. Befehle oder andere Eingaben), die für eines der Fern­ anwendungsprogramme bestimmt sind, über das gemeinsame Steu­ erfenster 320, anstelle der zugeordneten Anwendungsfenster 314, 316 oder 318, einzugeben. Wenn Fensterereignisse in das gemeinsame Steuerfenster 320 eingegeben werden, entscheidet das Ereignis-Erfassungs-Verteilungs-Verfahren 322 wie die Ereignisse, die vom Benutzer abgefragt werden (unter Verwen­ dung des gemeinsamen Steuerfensters 320), auf die Fernanwen­ dungsprogramme über die Anwendungsfenster 314, 316 und 318 verteilt werden. Das gemeinsame Steuerfenster 320 ist ein Fenster, wie es typischerweise von Fenstersystemumgebungen, wie z. B. MS Windows oder X Windows, produziert wird. Siehe z. B. Petzold, Programming Windows, Microsoft Press 1990; Nye, Xlib Programming Manual for Version 11, O′Reilly & Associates., Inc. 1992.
Fig. 4 stellt die elementaren Verarbeitungsschritte, die von dem Ereignisweiterleitungssystem, das in Fig. 3 gezeigt ist, durchgeführt werden, dar. Anfänglich empfängt 400 das System ankommende Ereignisse. Gemäß dem elementaren Ausführungsbei­ spiel, das in Fig. 3 gezeigt ist, werden die ankommenden Er­ eignisse von dem gemeinsamen Steuerfenster 320 erfaßt oder empfangen, da der Benutzer die Ereignisse im gemeinsamen Steuerfenster 320 aufruft. Die Ereignisse sind standardmäßi­ ge Fensterereignisse, die Tastaturereignisse oder Ereignisse wie Knopf drücken/loslassen (Mausknöpfe) einschließen. Je­ doch können, wenn gewünscht, zusätzliche nicht-standardmäßi­ ge Ereignisse ebenfalls vom gemeinsamen Steuerfenster 320 für zukünftig entwickelte Typen von Anwendungsfenster erfaßt oder empfangen werden. Gewöhnlich werden die ankommenden Er­ eignisse von einem Benutzer eingegeben. Als nächstes werden die empfangenen Ereignisse weitergeleitet 402. Wenn z. B. ein Fensterereignis in das gemeinsame Steuerfenster 320 eingege­ ben wird, kann das Ereignis-Erfassungs-Verteilungs-Verfahren 322 wirksam sein, um das Ereignis zu einem oder mehreren der Anwendungsfenster 314, 316 und 318 weiterzuleiten. Wenn die Anwendungsfenster 314, 316 und 318 das Ereignis empfangen, leiten sie die entsprechenden Nachrichten zu ihrem jeweili­ gen Anwendungsprogramm, das das Ereignis ausführt 404, wei­ ter.
Es sei z. B. bezüglich Fig. 3 angenommen, daß der Benutzer ein Ereignis, das zu jedem der Anwendungsprogramme 304, 308 und 312 weitergeleitet werden soll, in das gemeinsame Steu­ erfenster 320 eingibt. Das Ereignis wird dann zum Ereignis- Erfassungs-Verteilungs-Verfahren 322 weitergeleitet, das das Ereignis zu jedem der Anwendungsfenster 314, 316 und 318, die den Programmanwendungen 304, 308 und 312 entsprechen, weitergeleitet. Wenn das Ereignis in den Anwendungsfenstern 314, 316 und 318 empfangen ist, wird das Ereignis genauso be­ arbeitet, wie es bearbeitet werden würde, wenn das Fenster­ ereignis direkt in die Anwendungsfenster eingegeben werden würde.
Die Vorteile der Erfindung gemäß diesem vereinfachten Bei­ spiel bestehen darin, daß der Benutzer das Ereignis nur ein­ mal eingeben mußte, das Ereignis aber zu drei Anwendungspro­ grammen weitergeleitet wurde. Üblicherweise hätte der Benut­ zer das Ereignis einmal für jedes Programm eingeben müssen, in diesem Fall dreimal. Ein zweiter Vorteil der Erfindung besteht darin, daß das eingegebene Ereignis zu den Programm­ anwendungen weitergeleitet wird. Als Folge wird die Verar­ beitung des Ereignisses in den drei Programmanwendungen gleichzeitig eingeleitet. Aus einer Anzahl von Gründen (ein­ schließlich des sequentiellen Charakters von Computern, selbst bei Mehrprogrammbetrieb, und des physikalischen Ab­ stände zwischen verschiedenen Computern, in denen sich die Programme befinden) wird die Ausführung der Ereignisse in den Programmen nicht exakt gleichzeitig stattfinden. Jedoch wird das Beginnen der Ausführung nahezu gleichzeitig oder gemeinsam stattfinden. Deshalb können die Ereignisse viel gleichzeitiger verarbeitet werden, als dies mit herkömmli­ chem Knopfdrücken möglich ist.
Obwohl beim obigen Beispiel ein Ereignis zu allen Programm­ anwendungen weitergeleitet wird, kann das Ereignis auch zu einer Untermenge von Programmanwendungen oder sogar zu einer Mehrzahl von Eingabeunterfenstern eines Anwendungsfensters für eine einzelne Anwendung weitergeleitet werden. Ein Be­ nutzer ist ferner in der Lage, verschiedene Typen von Fen­ sterereignissen zu synchronisieren. Überdies können sich die Anwendungen, wie oben erörtert, entweder in einem Hauptcom­ puter oder einem Ferncomputer befinden.
Um das Ereignisweiterleitungssystem derart zu initialisie­ ren, daß es bereit ist, ankommende Ereignisse zu empfangen, ist eine Initialisierungsausführung notwendig. Fig. 5 stellt das Initialisierungsausführungsverfahren gemäß einem Ausfüh­ rungsbeispiel der Erfindung dar.
Gemäß Fig. 5 beginnt die Initialisierungsausführung mit dem Einrichten einer Verbindung zu der Fenstersystemumgebung 500. Wie oben erörtert, arbeitet die Erfindung mit allen auf Fenstern basierenden GUIs. Danach wird ein gemeinsames Steu­ erfenster 320 auf dem Anzeigebildschirm des Hauptcomputers 300 erzeugt 502. Fig. 6, die nachfolgend detaillierter erör­ tert wird, stellt ein Beispiel eines gemeinsamen Steuerfen­ sters 320 dar.
Als nächstes werden bestimmte Programmanwendungen, die ver­ wendet werden können, ausgewählt 504. Dieser Schritt kann durch eine Anzahl von Verfahren durchgeführt werden. Z.B. kann ein Zeiger zu einem Kontexthinzufügeknopf (nachfolgend bezugnehmend auf Fig. 6 erörtert) des gemeinsamen Steuerfen­ sters bewegt werden, dann eine Maustaste gedrückt werden, und dann kann die Programmauswahloperation durchgeführt wer­ den, indem der Zeiger zu einem Programmsymbol bewegt wird und wiederum die Maustaste gedrückt wird. Die Programman­ wendungen können, obwohl sie gemäß Fig. 3 entfernt sind, ebenfalls auf dem Hauptcomputer selbst erhalten werden. In jedem Fall erscheint ein Anwendungsfenster auf der Anzeige des Hauptcomputers 300, das dem ausgewählten Anwendungspro­ gramm 504 entspricht. Das Anwendungsfenster kann z. B. auf eine kleinere Größe als das normale Programmfenster redu­ ziert sein, so daß es das gemeinsame Steuerfenster 320 (sie­ he Fig. 6) nicht verdeckt.
Auf die Fenster der Programmanwendungen, die ausgewählt 504 und angezeigt wurden, wird dann zugegriffen, um ihre Fen­ sterinformationen zu erhalten. Insbesondere wird auf die Fensteranwendungen der Programmanwendungen zugegriffen, um ihre Fensterkenndaten zu bestimmen, z. B. Unterfenster und deren Bezeichnungen. Ein Fenster-Abfragebaumsystem-Aufruf oder eine Zeigerbewegung kann verwendet werden, um solche In­ formationen herauszufinden. Typischerweise sind Knöpfe und Textfelder Unterfenster des Anwendungshauptfensters. Diese Unterfenster sind gewöhnlich Eingabefenster, die der Anwen­ dung Anweisungen geben, was diese ausführen soll.
Das gemeinsame Steuerfenster 320 umfaßt auswählbare Eingabe­ fenster (z. B. Knöpfe, Textfelder und dergleichen). Wenn die Fensterkenndaten der Fenster der ausgewählten Anwendungen erhalten sind, werden die auswählbaren Eingabefenster mit einem oder mehreren speziellen Unterfenstern in den gleichen oder unterschiedlichen Anwendungsfenstern der Anwendungspro­ gramme gekoppelt 508. Daher sind die Benutzer in der Lage, die auswählbaren Eingabefenster des gemeinsamen Steuerfen­ sters 320 mit einer beliebigen heterogenen Funktion oder Funktionen, die zur Ablaufzeit durchgeführt werden sollen, dynamisch zu koppeln. Die Kopplung kann entweder manuell oder automatisch während der Initialisierung erfolgen.
Ein letzter, jedoch optionaler Schritt bei der Initialisie­ rungsausführung besteht darin, Referenzinformationen einer Programmanwendung zuzuordnen 510. Bestimmte Anwendungspro­ gramme erzeugen, wenn sie aufgerufen werden, Referenzfenster mit Informationen, die vom Anwendungsprogramm verwendet wer­ den. Z.B. kann ein Tabellenkalkulationsprogramm ein Refe­ renzfenster für eine Schablone und ein weiteres Fenster für Daten haben. Durch die Zuordnung 510 dieser Informationen zu ihrem entsprechenden Programm kann ein Benutzer alle rele­ vanten Fenster mit dem Klicken auf einen einzigen Knopf in den Vordergrund der Bildschirmanzeige bringen.
Fig. 6 ist ein Diagramm eines Beispiels eines Anzeigebild­ schirms 600 gemäß einem Ausführungsbeispiel eines Tabellen­ kalkulationsbeispiels der Erfindung. Der Anzeigebildschirm 600 umfaßt das gemeinsame Steuerfenster 320 und Fenster 602, 604 und 606 für drei Anwendungsprogramme. Die Fenster 602, 604 und 606 für die Anwendungsprogramme stellen ein Tabel­ lenkalkulationsprogramm, ein Graphikprogramm bzw. ein Ver­ teilungsprogramm dar.
Fig. 6 zeigt speziell, wie die auswählbaren Eingabefenster des gemeinsamen Steuerfensters 320 mit den Eingabeunterfen­ stern der verschiedenen Anwendungsprogramme gekoppelt oder verbunden werden könnten. Der Knopf "Berechnen" eines Tabel­ lenkalkulationsprogramms 602 ist nämlich mit dem auswählba­ ren Eingabefenster im gemeinsamen Steuerfenster 320, das mit Knopf 1 beschriftet ist, gekoppelt. Von größerer Bedeutung ist, daß der Knopf "Zeichnen" eines Graphikprogramms und die Knöpfe "Bericht" und "Senden" eines Verteilungsprogramms mit dem auswählbaren Eingabefenster im gemeinsamen Steuerfen­ ster, der mit Knopf 2 beschriftet ist, gekoppelt sind. D.h. Knopf 2 ist dem Knopf "Zeichnen" des Graphikprogramms und den Knöpfen "Bericht" und "Senden" des Verteilungsprogramms zugeordnet, was durch die Kreuzschraffierung in Fig. 6 ange­ zeigt ist. Folglich führt Knopf 2, wenn er gedrückt wird, eine Weiterleitungsoperation durch. Dies schließt die Ini­ tialisierungsausführung ab.
Wenn das gemeinsame Steuerfenster 320 initialisiert ist, kann eine zusätzliche Konfiguration durchgeführt werden. Fig. 7 stellt eine Konfigurationsausführung, die durchge­ führt werden kann, dar. Gemäß den Programmanwendungen können die Ereignistypen (z. B. Tastaturereignisse, Mausereignisse und dergleichen) und ihre Ausführungsreihenfolge definiert werden 700. Diese zusätzlichen Konfigurationsinformationen werden dem Ereignis-Erfassungs-Verteilungs-Verfahren 322 geliefert, um zu ermöglichen, daß es die ordnungsgemäße Aus­ führungsreihenfolge der Ereignisse für die verschiedenen Programmanwendungen sicherstellt. Z.B. sollte die Ausfüh­ rungsreihenfolge in Fig. 6 sicherstellen, daß Knopf 1 Knopf 2 vorausgeht, da eine Berechnung einer Erzeugung von Zeich­ nungen und Berichten vorausgehen sollte. Die Ausführungsrei­ henfolge wird ferner bezugnehmend auf Fig. 8 erörtert.
Eine weitere Konfigurationsausführungsoperation ist die Kon­ figuration 702 der ausgewählten Programmanwendungen in einer oder mehreren Kontextgruppen. Eine Kontextgruppe ist einfach eine Gruppe von Programmanwendungen, die einige oder alle der ablaufenden Programmanwendungen einschließt. Die Kon­ textgruppe wird von dem gemeinsamen Steuerfenster 320 in einer weiterleitenden Art gesteuert. Z.B. wurde bezugnehmend auf Fig. 6 vorher angenommen, daß das Tabellenkalkulations­ programm, das Graphikprogramm und das Verteilungsprogramm in einer einzelnen Kontextgruppe waren, so daß, wenn Knopf 2 gedrückt wird, dies gleichzeitig sowohl zum Graphikprogramm, als auch zum Verteilungsprogramm weitergeleitet werden wür­ de. Selbst wenn das Tabellenkalkulationsprogramm in der Kon­ textgruppe ist, wird keine Operation durchgeführt, da kein Eingabeunterfenster des Tabellenkalkulationsprogramms mit Knopf 2 gekoppelt ist. Die Konfiguration 702 der Programman­ wendungen in Kontextgruppen bewirkt eine Initialisierung der Weiterleitungsumgebung. Daher ist es für die Bequemlichkeit des Benutzers sinnvoll, mehrere Kontextgruppen zu ermögli­ chen, so daß der Benutzer einfach eine Kontextgruppe auswäh­ len kann, um die Weiterleitung während der Ablaufzeit zu verändern. Eine Anwendung kann in einer oder mehreren Kon­ textgruppen sein. Jedoch ist zu einer beliebigen vorgegebe­ nen Zeit eine Kontextgruppe ausgewählt. Diese Gruppe wird als die arbeitende Kontextgruppe bezeichnet.
Wie oben erörtert und in Fig. 6 gezeigt, ist der Knopf 1 des gemeinsamen Steuerfensters 320 mit dem Knopf "Berechnen" des Anwendungsfensters 602 für das Tabellenkalkulationsprogramm und Knopf 2 des gemeinsamen Steuerfensters 320 sowohl mit dem Knopf "Zeichnen" des Anwendungsfenster 604 für das Gra­ phikprogramm, als auch mit den Knöpfen "Bericht" und "Sen­ den" des Anwendungsfensters 604 für das Verteilungsprogramm gekoppelt. Daher ist die Einrichtung wirksam, wenn Knopf 2 des gemeinsamen Steuerfensters ausgewählt wird, um die Knopfdruckoperation zu dem Knopf "Zeichnen" des Graphikpro­ gramms und den Knöpfen "Bericht" und "Senden" des Vertei­ lungsprogramms weiterzuleiten. Als Folge können das Graphik­ programm und das Verteilungsprogramm Operationen gleichzei­ tig durchführen. Dies ist der Fall, unberücksichtigt dessen, ob sich das Graphikprogramm und das Verteilungsprogramm in demselben Computer (Mehrprogrammbetrieb) oder in verschie­ denen Computern (verteilt) befinden. Zusätzlich kann das gemeinsame Steuerfenster 320 eine globale Befehlszeile 608 einschließen, die selbst mit einer oder mehreren Befehlszei­ len 610, 612 und 614 der Anwendungsfenster 602, 604 und 606 gekoppelt sein kann.
Um die Verwendung des gemeinsamen Steuerfensters 320 zu vereinfachen, kann es ferner einen Kontexthinzufügeknopf 616, einen Kontextlöschknopf 618, einen Kontextzuordnungs­ knopf 620 und einen Unterfensterverbindungsknopf 622 ein­ schließen. Der Kontexthinzufügeknopf 616 wird verwendet, um Anwendungsprogramme einer Kontextgruppe hinzuzufügen. Z.B. kann, wie in Fig. 6 gezeigt, die arbeitende Kontextgruppe alle drei Anwendungsprogramme 602, 604 und 606 einschließen. Um eine solche Kontextgruppe zu erzeugen, könnte man einfach auf den Kontexthinzufügeknopf 616 "zeigen und klicken" und danach auf jedes Fenster 602, 604 und 606 der Anwendungspro­ gramme. Die arbeitende Kontextgruppe würde alle drei Anwen­ dungsprogramme 602, 604 und 606 einschließen. Jedoch muß die arbeitende Kontextgruppe nicht alle drei Anwendungsprogramme einschließen, sondern könnte eine beliebige Kombination von Programmen (z. B. ein beliebiges einzelnes Programm oder ein Paar von Programmen) enthalten. Der Kontextlöschknopf wird verwendet, um ein Anwendungsprogramm aus einer Kontextgruppe zu löschen.
Zusätzlich zur Kontextgruppierung können die auswählbaren Eingabefenster des gemeinsamen Steuerfensters 320 dynamisch mit bestimmten Eingabefenstern der Anwendungsprogramme ge­ koppelt sein. Der Unterfensterverbindungsknopf 622 kann ver­ wendet werden, um diese Verbindungen durchzuführen. Bei der exemplarischen Bildschirmanzeige 600, die in Fig. 6 gezeigt ist, ist Knopf 1 des gemeinsamen Steuerfensters 320 mit dem Knopf "Berechnen" des Anwendungsfensters 602 für die Tabel­ lenkalkulationsanwendung gekoppelt, Knopf 2 des gemeinsamen Steuerfensters 320 ist mit dem Knopf "Zeichnen" des Graphik­ programms und den Knöpfen "Bericht" und "Senden" des Vertei­ lungsprogramms gekoppelt, und die umfassende Befehlszeile 608 ist mit den Befehlszeilen 610, 612 und 614 gekoppelt. Die Verbindungen für Knopf 2 können beispielsweise manuell erhalten werden, indem auf den Unterfensterverbindungsknopf 622 und dann auf den Knopf "Zeichnen" des Anwendungsfensters 604 und auf die Knöpfe "Bericht" und "Senden" des Anwen­ dungsfensters 606 "gezeigt und geklickt" wird.
Wenn ein Ereignis "Knopf 2" stattfindet, wird das Ereignis sowohl zu dem Knopf "Zeichnen" des Graphikprogramms und den Knöpfen "Bericht" und "Senden" des Verteilungsprogramms wei­ tergeleitet, vorausgesetzt sowohl das Graphikprogramm, als auch das Verteilungsprogramm sind in der arbeitenden Kon­ textgruppe. Wenn jedoch das Graphikprogramm 604 zuerst aus der Kontextgruppe (durch Verwenden des Kontextlöschknopfs 618 oder durch Austauschen in eine andere arbeitende Kon­ textgruppe) entfernt wird, und dann das Ereignis Knopf 2 stattfindet, dann wird das Ereignis nur zu den Knöpfen "Be­ richt" und "Senden" des Verteilungsprogramms weitergeleitet.
Der Kontextzuordnungsknopf 620 kann zur Bequemlichkeit des Benutzers vorgesehen sein. Typischerweise können, wenn eine Anwendung aufgerufen oder gestartet ist, ein oder mehrere Fenster, die Referenzmaterial für das Programm beinhalten, benötigt sein. Wenn dies der Fall ist, könnten diese Refe­ renzfenster 624 auf der Bildschirmanzeige 600 (siehe Fig. 6) angezeigt sein. In solchen Fällen kann der Kontextzuord­ nungsknopf 620 verwendet werden, um die Referenzfenster 624 den entsprechenden Anwendungsprogrammen (siehe Block 510 in Fig. 5) zuzuordnen oder zu verbinden. Alternativ könnte die Verknüpfung unter der Verwendung von Fensterbauminformatio­ nen automatisiert sein. In jedem Fall liegt der Vorteil da­ rin, daß später, wenn der Benutzer auf ein Anwendungspro­ gramm klickt, um es auf die Vorderseite (Vordergrund) des Bildschirms zu bringen, seine zugeordneten Referenzfenster, falls irgendwelche existieren, ebenfalls auf die Vorderseite (Vordergrund) gebracht werden können, so daß der Benutzer alle relevanten Fenster sehen kann.
Als nächstes werden Ereignisausführungsverfahren, die vom Ereignis-Erfassungs-Verteilungs-Verfahren 322 durchgeführt werden, beschrieben. Fig. 8 zeigt ein Flußdiagramm von Er­ eignis-Erfassungs-Verteilungs-Verfahren. Die Ausführung be­ ginnt mit der Feststellung, ob das gemeinsame Steuerfenster 320 ein Ereignis erfaßt hat. Basierend auf dieser Feststel­ lung wird eine Entscheidung 800 getroffen. Wenn das gemein­ same Steuerfenster 320 kein Ereignis erfaßt hat, wartet die Ereignisverarbeitung, bis eines empfangen wird. Wenn das ge­ meinsame Steuerfenster ein Ereignis erfaßt hat, fährt die Ereignisverarbeitung fort, eine weitere Entscheidung 802 zu treffen. Diese Entscheidung 802 stellt fest, ob sich das er­ faßte Ereignis in der ordnungsgemäßen Reihenfolge befindet. Wenn das erfaßte Ereignis außerhalb der Reihenfolge ist, dann wird das Ereignis ignoriert 804, der Benutzer wird ge­ warnt 806, und die Ausführung springt zu Schritt 800 zurück. Alternativ könnte, obwohl nicht gezeigt, das Ereignis-Erfas­ sungs-Verteilungs-Verfahren 322 das außerhalb der Reihenfol­ ge befindliche Ereignis temporär speichern, und dann das au­ ßerhalb der Reihenfolge befindliche Ereignis mit einem nach­ folgend eingegebenen Ereignis neu ordnen, wodurch die Aus­ führungsreihenfolge korrigiert wird.
Andernfalls wird, wenn sich das erfaßte Ereignis in der ord­ nungsgemäßen Ausführungsreihenfolge befindet, eine Entschei­ dung 808 getroffen, die darauf basiert, ob das erfaßte Er­ eignis ein Weiterleitungsereignis ist. Wenn das erfaßte Er­ eignis kein Weiterleitungsereignis ist, wird das erfaßte Er­ eignis zum geeigneten Eingabeunterfenster der entsprechenden Programmanwendung weitergeleitet 810. In diesem Fall arbei­ tet das Ereignis-Erfassungs-Verteilungs-Verfahren in einem lokalen Modus. Danach springt die Ausführung zu Schritt 800 zurück, um auf das nächste Ereignis zu warten. Wenn das er­ faßte Ereignis jedoch ein Weiterleitungsereignis ist, arbei­ tet das Ereignis-Erfassungs-Verteilungs-Verfahren in einem globalen Modus und die geeignete Anwendungskontextgruppe muß gefunden werden 812. Sobald die Kontextgruppe gefunden ist 812, wird das erfaßte Ereignis gleichzeitig zu den geeigne­ ten Eingabeunterfenstern der Programmanwendungen, die in der Kontextgruppe enthalten sind, weitergeleitet 814. Dies schließt das Ereignisausführungsverfahren ab.
Die Ereignisausführungsverfahren können ferner wie gewünscht erweitert werden. Eine Erweiterung besteht darin, daß das erfaßte Ereignis zu Eingabeunterfenstern des gleichen oder verschiedener Aktionstypen weitergeleitet werden kann. Z.B. sind in Fig. 6 der Knopf "Zeichnen" und die Knöpfe "Bericht" und "Senden" alle unterschiedliche Aktionstypen. Noch eine weitere Erweiterung dieses Verfahrens ermöglicht die Syn­ chronistion oder das Ordnen des weitergeleiteten Ereignisses in einem Unterfenster einer gegebenen Programmanwendung. Z.B. sind bezugnehmend auf Fig. 6 beide Knöpfe "Bericht" und "Senden" (genauso wie der Knopf "Zeichnen") mit Knopf 2 ver­ bunden. Daher wird "Knopf 2", wenn er gedrückt ist, zu den Knöpfen "Bericht" und "Senden" weitergeleitet. Diese Erwei­ terung bewirkt, daß die Ausführung sicherstellt, daß das Er­ eignis "Bericht-Knopf" dem Ereignis "Senden-Knopf" unmittel­ bar vorausgeht, so daß die Knöpfe in der Programmanwendung sequentiell sind. In einem solchen Fall würden die Knöpfe "Bericht" und "Senden" ihrerseits die Ereignisse nicht gleichzeitig beginnen, obgleich nahezu. Trotzdem bewirkt ein einziger Druck des Knopfs 2 noch, daß das Ereignis weiterge­ leitet wird, und die Ereignisse werden in allen Fenstern der Weiterleitungsgruppe gleichzeitiger begonnen, als dies bei aufeinanderfolgendem Knopfdrücken der Fall ist.
Aus dem vorhergehenden Beispiel kann erkannt werden, daß das Ereignisweiterleitungssystem gemäß der Erfindung konfigu­ riert sein kann, um derart zu arbeiten, daß es zwischen lo­ kalen und globalen Modi umschalten kann. Im lokalen Modus wird das Fensterereignis nur zu einem einzelnen GUI einer einzelnen Anwendung weitergeleitet. Im globalen Modus kann das Fensterereignis zu einer Mehrzahl von GUIs weitergelei­ tet werden. Diese Mehrzahl von GUIs kann zu einer einzelnen Anwendung oder zu einer Mehrzahl von Anwendungen gehören.
Die Erfindung kann auch auf Anwendungen angewendet werden, die es dem Benutzer ermöglichen, auf dem gesamten Bildschirm mit diesem in Dialog zu treten (Vollschirmanwendungen). In diesem Fall müssen keine Text- oder Knopf-Felder existieren. Trotzdem können die Fensterereignisse (z. B. Tastatur) zu ei­ ner Mehrzahl von Anwendungsprogrammen weitergeleitet werden. Dies würde einem Benutzer z. B. ermöglichen, ein Dokument zu editieren, während gleichzeitig andere ähnliche Dokumente e­ ditiert werden, was besonders nützlich ist, wenn die anderen Dokumente in Ferncomputern oder Workstations gelegen sind.
Im allgemeinen verwendet das Ereignisweiterleitungssystem ein standardmäßiges Fenstersystem, um die Benutzerfensterer­ eignisse zu erfassen. Das System leitet die Ereignisse dann zu ausgewählten Anwendungen weiter, um bestimmte Funktionen gleichzeitig durchzuführen. Das System kann ferner verwendet werden, um Ereignisse zu ordnen oder synchronisieren. Durch das Weiterleiten der Ereignisse macht das System eine nicht-verteilte Anwendungsfunktion zu einer verteilten An­ wendung. Außerdem unterstützt das Ereignisweiterleitungssy­ stem verschiedene Systeme, Workstations und unterschiedliche Typen von bestehender Software in einem heterogenen Netz­ werk. Folglich ist das System einstellbar, mobil und wieder­ verwendbar.
Die GUI gemäß der Erfindung fügt über (top-down-Lösungsan­ satz) den Anwendungs-GUIs eine zusätzliche Ebene hinzu. Im allgemeinen ermöglicht es die Erfindung, daß die GUIs in ei­ ner hierarchischen Form mit einer willkürlichen Anzahl von Ebenen strukturiert sind. Dies bietet eine Vielzahl von Vorteilen, die in GUI-Entwicklungen nützlich sind. Z.B. wür­ de die Erfindung den Aufbau einer Vielzahl von Ebenen von GUIs ermöglichen. Jede Ebene würde eine Teilmenge der Funk­ tionalität der Ebene darunter liefern. Daher wäre bei einem strukturierten Lösungsansatz (top-down) die oberste Ebene die vereinfachteste GUI, und jede darunterliegende Ebene wä­ re komplexer. Z.B. würde ein Benutzer, der ein Neuling ist, die oberste (am meisten vereinfachte) GUI-Ebene für ein Pro­ gramm verwenden, während ein anspruchsvoller Benutzer ver­ mutlich eine speziellere und leistungsstärkere GUI, die in einer tieferen Ebene verfügbar ist, bevorzugen. Sie ermög­ licht ebenfalls, daß große komplexe Anwendungen in einer bausteinartigen Form aufgebaut sind. Die Erfindung ist eben­ falls in der Lage, zu verschiedenen Anwendungs-GUI-Ebenen weiterzuleiten. Z.B. kann ein Steuerfenster Ereignisse so­ wohl zu anderen Steuerfenstern, als auch zu Anwendungsfen­ stern weiter leiten.
Wenn alle ausgewählten Anwendungsprogramme von dem gleichen Programm stammen, kann das gemeinsame Steuerfenster 320 zu einem exakten Ebenbild des Fensters der Programmanwendung gemacht werden. Ein solches Fenster wäre für einen Benutzer, der mit dem Anwendungsfenster des Programms vertraut ist, bequem. Zusätzlich kann die Ereigniseingabe in das gemeinsa­ me Steuerfenster 320 gleichzeitig in den Anwendungsfenstern 314, 316, 318, 602, 604 und 606, die auf der Bildschirman­ zeige des Hauptcomputers 300 neben dem gemeinsamen Steuer­ fenster dargestellt werden. Wenn der Benutzer z. B., mit Be­ zug auf Fig. 6, "Drucken" in die globale Befehlszeile 608 des gemeinsamen Steuerfensters tippt, erscheint das Wort "Drucken" ebenfalls in jedem der Anwendungsfenster 602, 604 und 606 (vorausgesetzt, alle drei Anwendungen sind in der Kontextgruppe). Alternativ können die Anwendungsfenster für den Benutzer als einfache Symbole erscheinen. Noch eine wei­ tere Option besteht darin, Knöpfe 626, 628 und 630 im ge­ meinsamen Steuerfenster 320 vorzusehen, die , wenn sie ge­ drückt werden, das entsprechende Anwendungsfenster 602, 604 oder 606 (und deren zugeordnete Referenzfenster 624), in den Vordergrund bringen, so daß der Benutzer es sehen kann (sie­ he Fig. 6).
Die Erfindung ist in vielen Situationen, in denen eine ver­ teilte Anwendung erwünscht ist, nützlich. Es sei ein Tabel­ lenkalkulationsbeispiel betrachtet. Wenn eine Gruppe von Ab­ teilungen ein Tabellenkalkulationsprogramm verwendet, um je­ den Monat Graphen zu zeichnen und einen Bericht zu drucken, muß die Tabellenkalkulationsinitialisierung typischerweise identisch sein. Der herkömmliche Lösungsansatz erfordert, daß jemand die Tabellenkalkulationsschablonen, die Formeln beinhalten, erstellt, die Graphikformate initialisiert und die Berichte erstellt. Wenn diese Aufgaben durchgeführt sind, müssen die Tabellenkalkulationsschablonen auf alle Computer in jeder Abteilung verteilt werden. Mitarbeiter in jeder Abteilung geben danach abteilungsspezifische Daten in ihren Arbeitsraum ein und führen die Graphen und Berichte aus. Die Hauptschwierigkeit besteht darin, sicherzustellen, daß alle Änderungen der Tabellenkalkulations-Graphikformate oder -Berichte in einer zeitlich günstigen Art und Weise auf alle Abteilungen verteilt werden, so daß jede Abteilung ihre Versionen lokal aktualisieren kann.
Die vorliegende Erfindung vereinfacht das Verfahren ent­ scheidend. Gemäß der Erfindung würde die Person, die für das Unterhalten der Tabellenkalkulation verantwortlich ist, nun einfach ein Steuerfenster in den Vordergrund bringen. Das Steuerfenster würde dann verwendet werden, um die Tabellen­ kalkulationsanwendung zu starten, die sich in jedem Ferncom­ puter befindet, und ein Merker würde gesetzt werden, um die anzuzeigen, daß die Änderungen, die in der Tabellenkalkula­ tion gemacht wurden, in allen Ferncomputern gemacht (ver­ teilt) werden müssen. Danach würde die Person die Änderungen einfach einmal in den Tabellenkalkulations-Schablonen, -Gra­ phikformaten und -Berichten vornehmen und automatisch zur gleichen Zeit alle Kopien auf den Ferncomputern ändern. Au­ ßerdem könnte am Ende des Monats, nachdem die Mitarbeiter der einzelnen Abteilungen ihre abteilungsspezifischen Daten eingegeben haben, eine einzelne Person die Tabellenkalkula­ tionen auf allen Ferncomputern unter Verwendung eines Steu­ erfensters in den Vordergrund bringen, das Steuerfenster für globale Befehle konfigurieren und alle Kurven und Berichte erzeugen, indem er Befehle ausschließlich in das Steuerfen­ ster eingibt. Die einzige Anforderung besteht darin, daß sich alle Kopien der Anwendung auf Computern befinden, die vom Hauptcomputer aus gestartet werden können. Änderungen der einzelnen Anwendungen sind nicht erforderlich.
Ein weiteres Beispiel einer nützlichen Situation für die Erfindung ist ein paralleles Fehlersuchprogramm. Die Erfin­ dung würde es ermöglichen, Fehler einer parallelen Anwendung zu suchen. Daher könnte der Benutzer den Fehlersuchprozeß mit einem einzigen Fenster (z. B. einem gemeinsamen Steuer­ fenster) steuern und Befehle (z. B. einen Sprungbefehl) zur gleichzeitigen Ausführung weiterleiten. Noch eine weitere nützliche Situation für die Erfindung liegt in Abfragen oder im Aktualisieren von Mehrfachdatenbänken. Ebenfalls eine weitere nützliche Situation sind Schattendateisicherungen für Mehrfachdateien. Ein Benutzer könnte z. B. am Ende des Tages einen globalen Sicherungsknopf drücken, um alle Pro­ gramme, die der Benutzer entweder auf dem Computer des Be­ nutzers oder auf irgendeinem Ferncomputer, der über Netz­ werkverbindungen verschaltet ist, aufgerufen hat, zu si­ chern.

Claims (12)

1. Graphische Vielebenen-Benutzerschnittstelle für eine Fenstercomputerumgebung, die folgende Merkmale aufweist:
eine erste Ebene mit einer Mehrzahl von Programmfenstern (314, 316, 318; 602, 604, 606), wobei jedes Programmfen­ ster (314, 316, 318; 602, 604, 606) einem Anwendungspro­ gramm (304, 308, 312) zugeordnet ist; und
eine zweite Ebene mit einem Steuerfenster (320), das der Mehrzahl von Programmfenstern (314, 316, 318; 602, 604, 606) entspricht, bei welcher Fensterereignisse, die bei dem Steuerfenster (320) eingegeben werden, zu mehr als einem dieser Programmfenster (314, 316, 318; 602, 604, 606) in der ersten Ebene weitergeleitet werden können.
2. Graphische Benutzerschnittstelle, die folgende Merkmale aufweist:
ein Anwendungsfenster (314, 316, 318; 602, 604, 606) für jedes einer Mehrzahl von Anwendungsprogrammen (304, 308, 312), die ausgeführt werden;
ein gemeinsames Steuerfenster (320) zum Empfangen von Fensterereignissen, um zu mehr als einem dieser Anwen­ dungsfenster (314, 316, 318; 602, 604, 606) für die Anwendungsprogramme (304, 308, 312) weitergeleitet zu werden; und
ein Ereignis-Erfassungs- und -Verteilungs-Verfahren (322), das wirkungsmäßig mit dem gemeinsamen Steuer­ fenster (320) und den Anwendungsfenstern (314, 316, 318; 602, 604, 606) verbunden ist, um die Fensterereignisse, die vom gemeinsamen Steuerfenster (32) empfangen werden, zu einem Satz der Anwendungsfenster (314, 316, 318; 602, 604, 606) zur im wesentlichen gleichzeitigen Verarbei­ tung weiterzuleiten.
3. Graphische Benutzerschnittstelle nach Anspruch 2,
bei der das gemeinsame Steuerfenster (32) mindestens ein Unterfenster (622), das mit einer Mehrzahl von Unterfen­ stern (610, 612, 614) der Anwendungsfenster (314, 316, 318; 602, 604, 606) der ausführenden Anwendungsprogramme (304, 308, 312) wirkungsmäßig verbunden ist, ein­ schließt,
bei der das mindestens eine Unterfenster (622) des ge­ meinsamen Steuerfensters (320) mit mehr als einem Un­ terfenster (610, 612, 614) der Anwendungsfenster (314, 316, 318; 602, 604, 606) verbunden ist.
4. Graphische Benutzerschnittstelle nach Anspruch 3,
bei dem die Fensterereignisse im Unterfenster (622) des gemeinsamen Steuerfensters (320) empfangen werden, und
bei dem das Ereignis-Erfassungs-Verteilungs-Verfahren (322) die Fensterereignisse, die von dem gemeinsamen Steuerfenster (320) empfangen werden, zu den ausführen­ den Anwendungsprogrammen (304, 308, 312) durch Weiter­ leiten der Fensterereignisse zu den Unterfenstern (610, 612, 614) der Anwendungsfenster (314, 316, 318; 602, 604, 606), die mit dem Unterfenster (622) des gemeinsa­ men Steuerfensters (320) verbunden sind, weiterleitet.
5. Graphische Benutzerschnittstelle nach Anspruch 3,
bei der sich das gemeinsame Steuerfenster (320) und die Unterfenster (610, 612, 614) in einem Hauptcomputer (300) befinden, und
bei der mindestens eine der ausführenden Anwendungen (304, 308, 312) in einem Ferncomputer (302, 306, 310) liegt, wobei der Ferncomputer (302, 306, 310) wirkungs­ mäßig mit dem Hauptcomputer (300) verbunden ist.
6. Graphische Benutzerschnittstelle nach einem der Ansprü­ che 1 bis 5, bei der die ausgewählten Unterfenster (610, 612, 614) unterschiedliche Aktionstypen einschließen, so daß beim Weiterleiten des Fensterereignisses zu den ausgewählten Unterfenstern (610, 612, 614) unterschiedliche Aktionen aufgerufen werden.
7. Verfahren zum Weiterleiten von Fensterereignissen zu Anwendungsfenstern (314, 316, 318; 602, 604, 606) von ausführenden auf Fenstern basierenden Anwendungspro­ gramen (304, 308, 312), wobei jedes der Anwendungsfen­ ster (314, 316, 318; 602, 604, 606) mindestens ein Un­ terfenster (610, 612, 614) aufweist, wobei das Verfahren folgende Schritte aufweist:
  • (a) Empfangen (400; 800) eines ankommenden Fensterer­ eignisses;
  • (b) Auswählen (508; 812) einer Mehrzahl von Unterfen­ stern (610, 612, 614) der Anwendungsfenster (314, 316, 318; 602, 604, 606), die das Fensterereignis empfangen sollen; und
  • (c) Weiterleiten (402; 814) des Fensterereignisses zu einer Mehrzahl von Unterfenstern (610, 612, 614), die ausgewählt sind, um das Fensterereignis zu emp­ fangen.
8. Verfahren nach Anspruch 7, bei dem die Mehrzahl der Unterfenster (610, 612, 614) zu einem oder mehreren ablaufenden Anwendungsprogrammen (304, 308, 312) gehören.
9. Verfahren nach Anspruch 7 oder 8,
bei dem das Weiterleiten (multicasting) (402; 814) das Fensterereignis ohne Interpretation des Fensterereignis­ ses weiterleitet; und
bei dem die Ausführung des Fensterereignisses, das zu den ausführenden Anwendungsprogrammen (304, 308, 312) weitergeleitet wird, nahezu gleichzeitig begonnen wird (404).
10. Verfahren nach Anspruch 7, 8 oder 9,
bei dem das Weiterleiten das Befördern des Fensterereig­ nisses in einer ordnungsgemäßen Ausführungsreihenfolge (802) einschließt, und
bei dem das ankommende Fensterereignis in einem gemein­ samen Steuerungsfenster (320) empfangen wird, und bei dem das Fensterereignis zu den ausgewählten Unterfen­ stern (610, 612, 614) weitergeleitet wird (402; 814).
11. Verfahren nach Anspruch 10, bei dem sich das gemeinsame Steuerfenster (320) und die Unterfenster (610, 612, 614) in einem Hauptcomputer (300) befinden, und bei dem zumindest eine der ausfüh­ renden Anwendungen (304, 308, 312) in einem Ferncomputer (302, 206, 310) liegt, wobei der Ferncomputer (302, 306, 310) wirkungsmäßig mit dem Hauptcomputer (300) verbunden ist.
12. Verfahren nach einem der Ansprüche 7 bis 11, bei dem die ausgewählten Unterfenster (610, 612, 614) unterschiedlicher Aktionstypen einschließen, so daß beim Weiterleiten des Fensterereignisses zu den ausgewählten Unterfenstern (610, 612, 614) unterschiedliche Aktionen aufgerufen werden.
DE4417588A 1993-08-30 1994-05-19 Verfahren und Vorrichtung zum Erfassen und Weiterleiten von Fensterereignissen zu einer Mehrzahl von bestehenden Anwendungen zur gleichzeitigen Ausführung Withdrawn DE4417588A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US11379093A 1993-08-30 1993-08-30

Publications (1)

Publication Number Publication Date
DE4417588A1 true DE4417588A1 (de) 1995-03-02

Family

ID=22351545

Family Applications (1)

Application Number Title Priority Date Filing Date
DE4417588A Withdrawn DE4417588A1 (de) 1993-08-30 1994-05-19 Verfahren und Vorrichtung zum Erfassen und Weiterleiten von Fensterereignissen zu einer Mehrzahl von bestehenden Anwendungen zur gleichzeitigen Ausführung

Country Status (4)

Country Link
US (1) US5742778A (de)
JP (1) JPH0784744A (de)
DE (1) DE4417588A1 (de)
GB (1) GB2281423B (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10034882A1 (de) * 2000-07-18 2002-01-31 Marc Christopher Schmidt Benutzerschnittstelle

Families Citing this family (95)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2301204A (en) * 1995-05-23 1996-11-27 Ibm Collaborative data processing
US6204847B1 (en) 1995-07-17 2001-03-20 Daniel W. Wright Shared virtual desktop collaborative application system
US6437803B1 (en) * 1998-05-29 2002-08-20 Citrix Systems, Inc. System and method for combining local and remote windows into a single desktop environment
US6950991B2 (en) * 1995-11-13 2005-09-27 Citrix Systems, Inc. Interacting with software applications displayed in a web page
US6088515A (en) 1995-11-13 2000-07-11 Citrix Systems Inc Method and apparatus for making a hypermedium interactive
US7555529B2 (en) * 1995-11-13 2009-06-30 Citrix Systems, Inc. Interacting with software applications displayed in a web page
US7130888B1 (en) * 1996-02-16 2006-10-31 G&H Nevada-Tek Method and apparatus for controlling a computer over a TCP/IP protocol network
GB2311388A (en) * 1996-03-18 1997-09-24 Ibm Graphic user interface for computer networking
JP2000516053A (ja) * 1996-05-07 2000-11-28 ウェブライン コミュニケーションズ コーポレーション インターネットマルチメディアの内容を電話及びオーディオ通信と統合するための方法及びその装置
US6073139A (en) * 1996-08-15 2000-06-06 Gioquest, A Division Of Schlumberger Technology Corp. Integrated data communication and data access system including the application data interface
US6044393A (en) * 1996-11-26 2000-03-28 Global Maintech, Inc. Electronic control system and method for externally and directly controlling processes in a computer system
US6157956A (en) * 1997-03-28 2000-12-05 Global Maintech, Inc. Heterogeneous computing interface apparatus and method using a universal character set
GB2324175B (en) * 1997-04-10 2002-07-31 Ibm Personal conferencing system
US6151024A (en) * 1998-03-31 2000-11-21 International Business Machines Corporation Data processor controlled display interface with tree hierarchy of elements view expandable into multiple detailed views
US6115044A (en) * 1998-03-31 2000-09-05 International Business Machines Corporation Data processor controlled display with a tree of items with modification of child item properties designated at parent level without modification of parent item properties
US6608628B1 (en) * 1998-11-06 2003-08-19 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration (Nasa) Method and apparatus for virtual interactive medical imaging by multiple remotely-located users
US6928469B1 (en) * 1998-12-29 2005-08-09 Citrix Systems, Inc. Apparatus and method for determining a program neighborhood for a client node in a client-server network using markup language techniques
US6837864B1 (en) * 1999-02-19 2005-01-04 Endoscopic Technologies, Inc. Multichannel catheter with obturator
JP4098435B2 (ja) * 1999-03-12 2008-06-11 富士通株式会社 情報管理装置及びデータ生成方法並びに情報管理プログラムを格納したコンピュータ読取り可能な記録媒体
US6711620B1 (en) * 1999-04-14 2004-03-23 Matsushita Electric Industrial Co. Event control device and digital broadcasting system
WO2001013257A1 (en) * 1999-08-17 2001-02-22 Bullant Technology Pty. Ltd. A distributed system for computer interaction
US20020118231A1 (en) * 2000-11-14 2002-08-29 Jeff Smith Method of realistically displaying and interacting with electronic files
US6934948B2 (en) * 2001-01-22 2005-08-23 International Business Machines Corporation System and method for grouping diverse operations
US6951022B1 (en) * 2001-03-14 2005-09-27 Microsoft Corporation Delegate-based event handling
US7379977B2 (en) * 2001-07-24 2008-05-27 Steve Walrath System and method for display of multiple electronic pages
GB0119146D0 (en) * 2001-08-06 2001-09-26 Nokia Corp Controlling processing networks
US8671213B2 (en) 2002-03-14 2014-03-11 Citrix Systems, Inc. Methods and apparatus for generating graphical and media displays at a client
US7376695B2 (en) 2002-03-14 2008-05-20 Citrix Systems, Inc. Method and system for generating a graphical display for a remote terminal session
US20040003007A1 (en) * 2002-06-28 2004-01-01 Prall John M. Windows management instrument synchronized repository provider
WO2004012069A2 (en) * 2002-07-26 2004-02-05 Wrapped Apps Corporation Method and system for accessing online applications using a web browser
US7539976B1 (en) 2003-03-25 2009-05-26 Electric Cloud, Inc. System and method for intelligently distributing source files within a distributed program build architecture
US7676788B1 (en) * 2003-03-25 2010-03-09 Electric Cloud, Inc. Architecture and method for executing program builds
US20040243919A1 (en) * 2003-04-04 2004-12-02 David Darian Muresan Synchronized processing of views and drawing tools in a multiple document interface application
US20040252128A1 (en) * 2003-06-16 2004-12-16 Hao Ming C. Information visualization methods, information visualization systems, and articles of manufacture
US7610407B2 (en) * 2003-12-11 2009-10-27 Hewlett-Packard Development Company, L.P. Method for exchanging information between at least two participants via at least one intermediary to limit disclosure between the participants
US7865582B2 (en) * 2004-03-24 2011-01-04 Hewlett-Packard Development Company, L.P. System and method for assigning an application component to a computing resource
US7202868B2 (en) * 2004-03-31 2007-04-10 Hewlett-Packard Development Company, L.P. System and method for visual recognition of paths and patterns
US8276096B2 (en) * 2004-04-02 2012-09-25 International Business Machines Corporation Multicast file viewing and editing
US8230356B2 (en) 2004-05-14 2012-07-24 International Business Machines Corporation Apparatus, system, and method for concurrent window selection
US7873916B1 (en) * 2004-06-22 2011-01-18 Apple Inc. Color labeling in a graphical user interface
US7827499B2 (en) * 2004-10-29 2010-11-02 Hewlett-Packard Development Company, L.P. Hierarchical dataset dashboard view
US7363306B1 (en) 2005-01-27 2008-04-22 Hewlett-Packard Development Company, L.P. Method and system for graphical representation
US7673060B2 (en) * 2005-02-01 2010-03-02 Hewlett-Packard Development Company, L.P. Systems and methods for providing reliable multicast messaging in a multi-node graphics system
US7921365B2 (en) * 2005-02-15 2011-04-05 Microsoft Corporation System and method for browsing tabbed-heterogeneous windows
DE102005009105A1 (de) * 2005-02-28 2006-09-07 Siemens Ag Verfahren und Verwalten einer Anzeigeeinrichtung
US7714876B1 (en) 2005-03-10 2010-05-11 Hewlett-Packard Development Company, L.P. Method and system for creating visualizations
US20070088680A1 (en) * 2005-10-14 2007-04-19 Microsoft Corporation Simultaneously spawning multiple searches across multiple providers
US7703039B2 (en) * 2005-12-08 2010-04-20 Adobe Systems Incorporated Methods and apparatus for displaying information
US7924283B1 (en) 2006-09-19 2011-04-12 Hewlett-Packard Development Company, L.P. Time relevance-based visualization of data
US7886265B2 (en) 2006-10-03 2011-02-08 Electric Cloud, Inc. Process automation system and method employing property attachment techniques
US8042089B2 (en) * 2006-10-03 2011-10-18 Electric Cloud, Inc. Process automation system and method employing multi-stage report generation
US7725524B2 (en) 2006-10-03 2010-05-25 Electric Cloud, Inc. Process automation system and method having a hierarchical architecture with multiple tiers
US7779344B1 (en) 2006-10-31 2010-08-17 Hewlett-Packard Development Company, L.P. System and method for creating a value-based stacked bar chart
US8756516B2 (en) * 2006-10-31 2014-06-17 Scenera Technologies, Llc Methods, systems, and computer program products for interacting simultaneously with multiple application programs
US9348881B1 (en) 2006-12-29 2016-05-24 Hewlett Packard Enterprise Development Lp Visual content query for multi-dimensional datasets
US8963969B2 (en) * 2007-01-31 2015-02-24 Hewlett-Packard Development Company, L.P. Providing an automated visualization of a collection of data values divided into a number of bins depending upon a change feature of the data values
US7941742B1 (en) 2007-04-30 2011-05-10 Hewlett-Packard Development Company, L.P. Visualizing growing time series data in a single view
US8924843B1 (en) 2007-04-30 2014-12-30 Hewlett-Packard Development Company, L.P. Visualizing a plurality of times series in corresponding cell-based lines of a display region
US7921363B1 (en) 2007-04-30 2011-04-05 Hewlett-Packard Development Company, L.P. Applying data thinning processing to a data set for visualization
US7760203B1 (en) 2007-04-30 2010-07-20 Hewlett-Packard Development Company, L.P. Graphic color-pixel-based visual-analytic representations for datasets
US8464272B2 (en) * 2007-05-04 2013-06-11 Qualcomm Incorporated Inter-process communication methods and apparatus for building scalable/redundant telecommunications systems
US8022952B2 (en) * 2007-07-31 2011-09-20 Hewlett-Packard Development Company, L.P. Generating a visualization to show mining results produced from selected data items and attribute(s) in a selected focus area and other portions of a data set
JP4738402B2 (ja) * 2007-12-13 2011-08-03 富士通東芝モバイルコミュニケーションズ株式会社 携帯端末
JP4971203B2 (ja) * 2008-01-07 2012-07-11 株式会社エヌ・ティ・ティ・ドコモ 情報処理装置及びプログラム
US8209686B2 (en) 2008-02-12 2012-06-26 International Business Machines Corporation Saving unsaved user process data in one or more logical partitions of a computing system
US8789039B2 (en) * 2008-06-12 2014-07-22 Hewlett-Packard Development Company, L.P. Method and system of installing a program on a first computer, and duplicating the installation on a second computer
WO2010060206A1 (en) 2008-11-26 2010-06-03 Calgary Scientific Inc. Method and system for providing remote access to a state of an application program
US10055105B2 (en) 2009-02-03 2018-08-21 Calgary Scientific Inc. Method and system for enabling interaction with a plurality of applications using a single user interface
SG2014007801A (en) * 2009-02-03 2014-04-28 Calgary Scient Inc Method and system for enabling interaction with a plurality of applications using a single user interface
US9069644B2 (en) 2009-04-10 2015-06-30 Electric Cloud, Inc. Architecture and method for versioning registry entries in a distributed program build
US20110029926A1 (en) * 2009-07-30 2011-02-03 Hao Ming C Generating a visualization of reviews according to distance associations between attributes and opinion words in the reviews
US20110119601A1 (en) * 2009-11-19 2011-05-19 Nokia Corporation Method and apparatus for presenting a web application instance to multiple user interfaces
JP5472220B2 (ja) * 2010-06-30 2014-04-16 キヤノンマーケティングジャパン株式会社 情報処理装置、情報処理方法、及びコンピュータプログラム
DE102010051028A1 (de) 2010-11-11 2012-06-06 Heidelberger Druckmaschinen Ag Maschinenbedienung mit Browser
KR101748318B1 (ko) * 2010-11-22 2017-06-27 삼성전자 주식회사 휴대 단말기의 어플리케이션 실행 방법 및 장치
US9741084B2 (en) 2011-01-04 2017-08-22 Calgary Scientific Inc. Method and system for providing remote access to data for display on a mobile device
CA2734860A1 (en) 2011-03-21 2012-09-21 Calgary Scientific Inc. Method and system for providing a state model of an application program
EP2745467A4 (de) 2011-08-15 2015-10-14 Calgary Scient Inc Verfahren zur flusssteuerung und für die zuverlässige kommunikation in einer gemeinschaftlichen umgebung
SG2014011506A (en) 2011-08-15 2014-05-29 Calgary Scient Inc Non-invasive remote access to an application program
US8884966B2 (en) 2011-08-24 2014-11-11 Hewlett-Packard Development Company, L.P. Visualizing a scatter plot using real-time backward rewrite
CN103959708B (zh) 2011-09-30 2017-10-17 卡尔加里科学公司 包括用于协作远程应用共享和注释的交互式数字表层的非耦合应用扩展
AU2012342170B2 (en) 2011-11-23 2017-03-09 Calgary Scientific Inc. Methods and systems for collaborative remote application sharing and conferencing
US9064245B2 (en) 2012-02-22 2015-06-23 Hewlett-Packard Development Company, L.P. Generating a calendar graphical visualization including pixels representing data records containing user feedback
US9602581B2 (en) 2012-03-02 2017-03-21 Calgary Scientific Inc. Remote control of an application using dynamic-linked library (DLL) injection
US9729673B2 (en) 2012-06-21 2017-08-08 Calgary Scientific Inc. Method and system for providing synchronized views of multiple applications for display on a remote computing device
US10656800B2 (en) * 2013-03-29 2020-05-19 Microsoft Technology Licensing, Llc Visual configuration and activation
US10452222B2 (en) 2013-05-29 2019-10-22 Microsoft Technology Licensing, Llc Coordination of system readiness tasks
JP2015088010A (ja) * 2013-10-31 2015-05-07 アマノ株式会社 ウィンドウ制御装置、ウィンドウ制御システム、ウィンドウ制御方法およびそのプログラム
JP2017505473A (ja) 2013-11-29 2017-02-16 カルガリー サイエンティフィック インコーポレイテッド クライアントサーバリモートアクセスシステムにおけるクライアントの非管理サービスへの接続の提供方法
US10061577B2 (en) 2014-10-14 2018-08-28 Electric Cloud, Inc. System and method for optimizing job scheduling within program builds
KR102335373B1 (ko) * 2014-12-18 2021-12-06 삼성전자주식회사 화면 표시를 제어하는 전자 장치 및 방법
US10015264B2 (en) 2015-01-30 2018-07-03 Calgary Scientific Inc. Generalized proxy architecture to provide remote access to an application framework
CA2974204A1 (en) 2015-01-30 2016-08-04 Calgary Scientific Inc. Method of providing access to a service in a client-server remote access system
KR20170037327A (ko) * 2015-09-25 2017-04-04 엘지전자 주식회사 배수장치
CN111880675B (zh) * 2020-06-19 2024-03-15 维沃移动通信(杭州)有限公司 界面显示方法、装置及电子设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0475581A2 (de) * 1990-08-30 1992-03-18 Hewlett-Packard Company Verfahren und Gerät zum Teilen von Fenstern zwischen Rechnerbildschirmen
EP0489576A2 (de) * 1990-12-04 1992-06-10 SONY ELECTRONICS INC. (a Delaware corporation) Computergesteuertes Anzeige-Gerät und -Verfahren

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4761642A (en) * 1985-10-04 1988-08-02 Tektronix, Inc. System for providing data communication between a computer terminal and a plurality of concurrent processes running on a multiple process computer
US4896290A (en) * 1987-08-24 1990-01-23 Wang Laboratories, Inc. Method for routing events from key strokes in a multi-processing computer systems
US5050105A (en) * 1988-01-26 1991-09-17 International Business Machines Corporation Direct cursor-controlled access to multiple application programs and data
US5046001A (en) * 1988-06-30 1991-09-03 Ibm Corporation Method for accessing selected windows in a multi-tasking system
US4975690A (en) * 1988-11-07 1990-12-04 Ibm Corporation Method for concurrent data entry and manipulation in multiple applications
JPH0345991A (ja) * 1989-07-14 1991-02-27 Hitachi Ltd 画像表示方法及びそれに用いる計算機システム
US5226117A (en) * 1990-05-15 1993-07-06 International Business Machines Corporation Method for simultaneous update and change in parent and child windows
CA2039027C (en) * 1990-05-22 1998-07-07 Stephen Troy Eagen Method and apparatus for assisting in the presentation and removal of windows
JP3161725B2 (ja) * 1990-11-21 2001-04-25 株式会社日立製作所 ワークステーションおよび共同情報処理システム
JPH0546568A (ja) * 1991-08-08 1993-02-26 Internatl Business Mach Corp <Ibm> 分散アプリケーシヨン実行装置および方法
US5301326A (en) * 1991-09-24 1994-04-05 Microsoft Corporation Method and system for controlling the execution of an application program
JP3200932B2 (ja) * 1992-03-24 2001-08-20 株式会社日立製作所 電子対話システム
US5392400A (en) * 1992-07-02 1995-02-21 International Business Machines Corporation Collaborative computing system using pseudo server process to allow input from different server processes individually and sequence number map for maintaining received data sequence
GB2272311A (en) * 1992-11-10 1994-05-11 Ibm Call management in a collaborative working network.
CA2095448C (en) * 1993-05-04 1998-05-05 Phillip J. Beaudet Window management system utilizing icons and miniature windows

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0475581A2 (de) * 1990-08-30 1992-03-18 Hewlett-Packard Company Verfahren und Gerät zum Teilen von Fenstern zwischen Rechnerbildschirmen
EP0489576A2 (de) * 1990-12-04 1992-06-10 SONY ELECTRONICS INC. (a Delaware corporation) Computergesteuertes Anzeige-Gerät und -Verfahren

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Munsch, P. u.a.: HPIVI Applikation Programm Interface Design, in: Hewlett-Packard Jornal Oct. 1990, S. 21-31 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10034882A1 (de) * 2000-07-18 2002-01-31 Marc Christopher Schmidt Benutzerschnittstelle

Also Published As

Publication number Publication date
GB2281423A (en) 1995-03-01
US5742778A (en) 1998-04-21
GB2281423B (en) 1998-06-17
GB9417180D0 (en) 1994-10-12
JPH0784744A (ja) 1995-03-31

Similar Documents

Publication Publication Date Title
DE4417588A1 (de) Verfahren und Vorrichtung zum Erfassen und Weiterleiten von Fensterereignissen zu einer Mehrzahl von bestehenden Anwendungen zur gleichzeitigen Ausführung
DE19632854B4 (de) Kontext-Identifizierer verwendendes System und Verfahren für eine individuelle Menüanpassung in einem Fenster
DE69526634T2 (de) Verschiebungs- und Entladungsoperation in einer graphischen Benutzerschnittstelle
DE60205750T2 (de) Lenkung der aufmerksamkeit des benutzers auf bestimmte icons, denen sich ein zeiger nähert, in interaktiven benutzerschnittstellen
DE69533568T2 (de) Virtuelles Desk-Top-System und Verfahren dafür
DE19744861A1 (de) Verfahren zum Einsatz einer dreidimensionalen Mouse im WINDOWS-Betriebssystem
DE19842688B4 (de) Verfahren zum Filtern von Daten, die von einem Datenanbieter stammen
DE60033286T2 (de) System und verfahren zur bereitstellung einer unmittelbaren visuellen antwort auf eine benutzereingabe in einem anwendersystem
DE60311608T2 (de) Verfahren und Vorrichtung zum Schalten der Steuerung zwischen verbundenen Vorrichtungen
DE69433567T2 (de) Rechnerkonferenzverfahren
DE69433189T2 (de) Anzeigesteuerung für Rechneranordnung mit Zusammenarbeit
DE69817158T2 (de) Benutzerschnittstellen-Mechanismus zur Manipulierung von Kontexten in Computerverwaltungsapplikationen
DE19522185A1 (de) Ein Verfahren und System zur dynamischen Übersetzung zwischen verschiedenen grafischen Benutzeroberflächen-Systemen
DE4434878A1 (de) Fern-Anzeige von Objekten und Cursorbewegungen in einem Konferenzsystem
DE4446139A1 (de) Verfahren und Einrichtung zum Hervorheben von Objekten in einem Konferenzsystem
DE19636923A1 (de) Verfahren und Vorrichtung zur gemeinsamen Benutzung von Eingabevorrichtungen durch mehrere unabhängige Graphik-Anzeigevorrichtungen
DE10135445A1 (de) Integriertes Verfahren für das Schaffen einer aktualisierbaren Netzabfrage
DE10005812A1 (de) Vom Benutzer ausgewählte Anzeige von zweidimensionalem Fenster in drei Dimensionen auf einem Rechnerbildschirm
DE10325586A1 (de) Mehrfachanzeige-Steuersystem und Bildanzeigegerät
DE4121551A1 (de) Informationsverarbeitungsgeraet
DE4033465C2 (de) Interaktives Computer-gesteuertes Displaysystem
EP1859340A2 (de) Verfahren zum erzeugen von druckaufträgen in einem drucksystem, verfahren zum sortieren von druckjobs in einem drucksystem, computerprogramm- produkt und drucksystem zum ausführen dieser verfahren
EP3400515A1 (de) Benutzerschnittstelle mit mehreren anzeigen und verfahren zur positionierung von inhalten auf mehreren anzeigen
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
OP8 Request for examination as to paragraph 44 patent law
8139 Disposal/non-payment of the annual fee