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ührungInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/038—Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
- G06F9/452—Remote windowing, e.g. X-Window System, desktop virtualisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/542—Event 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.
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.
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.
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.
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.
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).
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).
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.
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)
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)
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 |
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 |
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 |
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 |
US7376695B2 (en) * | 2002-03-14 | 2008-05-20 | Citrix Systems, Inc. | Method and system for generating a graphical display for a remote terminal session |
US8671213B2 (en) | 2002-03-14 | 2014-03-11 | Citrix Systems, Inc. | Methods and apparatus for generating graphical and media displays at a client |
US20040003007A1 (en) * | 2002-06-28 | 2004-01-01 | Prall John M. | Windows management instrument synchronized repository provider |
US20050257161A1 (en) * | 2002-07-26 | 2005-11-17 | Luc Martin | 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 |
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 |
US7886265B2 (en) | 2006-10-03 | 2011-02-08 | Electric Cloud, Inc. | Process automation system and method employing property attachment techniques |
US8756516B2 (en) * | 2006-10-31 | 2014-06-17 | Scenera Technologies, Llc | Methods, systems, and computer program products for interacting simultaneously with multiple application programs |
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 |
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 |
US7760203B1 (en) | 2007-04-30 | 2010-07-20 | Hewlett-Packard Development Company, L.P. | Graphic color-pixel-based visual-analytic representations for datasets |
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 |
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 |
RU2536379C2 (ru) | 2008-11-26 | 2014-12-20 | Калгари Сайентифик Инк. | Способ и система для обеспечения удаленного доступа к состоянию прикладной программы |
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 |
SG173483A1 (en) * | 2009-02-03 | 2011-09-29 | 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 |
JP6164747B2 (ja) | 2011-08-15 | 2017-07-19 | カルガリー サイエンティフィック インコーポレイテッド | 協働環境におけるフロー制御のためのおよび信頼性のある通信のための方法 |
SG10201606764XA (en) | 2011-08-15 | 2016-10-28 | 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 | 卡尔加里科学公司 | 包括用于协作远程应用共享和注释的交互式数字表层的非耦合应用扩展 |
CN104040946B (zh) | 2011-11-23 | 2017-07-14 | 卡尔加里科学公司 | 用于协作远程应用程序共享和会议的方法和系统 |
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 | アマノ株式会社 | ウィンドウ制御装置、ウィンドウ制御システム、ウィンドウ制御方法およびそのプログラム |
US9686205B2 (en) | 2013-11-29 | 2017-06-20 | Calgary Scientific Inc. | Method for providing a connection of a client to an unmanaged service in a client-server remote access system |
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 | 삼성전자주식회사 | 화면 표시를 제어하는 전자 장치 및 방법 |
KR20170110612A (ko) | 2015-01-30 | 2017-10-11 | 캘거리 싸이언티픽 인코포레이티드 | 고 확장가능한, 고장 저항력이 있는 원격 액세스 아키텍처 및 접속 방법 |
US10015264B2 (en) | 2015-01-30 | 2018-07-03 | Calgary Scientific Inc. | Generalized proxy architecture to provide remote access to an application framework |
KR20170037327A (ko) * | 2015-09-25 | 2017-04-04 | 엘지전자 주식회사 | 배수장치 |
CN111880675B (zh) * | 2020-06-19 | 2024-03-15 | 维沃移动通信(杭州)有限公司 | 界面显示方法、装置及电子设备 |
Citations (2)
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)
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 |
-
1994
- 1994-05-19 DE DE4417588A patent/DE4417588A1/de not_active Withdrawn
- 1994-08-25 GB GB9417180A patent/GB2281423B/en not_active Expired - Fee Related
- 1994-08-30 JP JP6228939A patent/JPH0784744A/ja not_active Withdrawn
-
1996
- 1996-02-16 US US08/602,386 patent/US5742778A/en not_active Expired - Lifetime
Patent Citations (2)
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)
Title |
---|
Munsch, P. u.a.: HPIVI Applikation Programm Interface Design, in: Hewlett-Packard Jornal Oct. 1990, S. 21-31 * |
Cited By (1)
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 |
---|---|
GB9417180D0 (en) | 1994-10-12 |
GB2281423A (en) | 1995-03-01 |
GB2281423B (en) | 1998-06-17 |
US5742778A (en) | 1998-04-21 |
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 | |
DE69633373T2 (de) | Verfahren und Gerät zur Programmierung eines Aufgabentickets in einem Dokumentenverarbeitungssystem |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8139 | Disposal/non-payment of the annual fee |