DE19930158A1 - System und Verfahren zum Sammeln von Programmregistrierungen für Ereignisbenachrichtungen - Google Patents

System und Verfahren zum Sammeln von Programmregistrierungen für Ereignisbenachrichtungen

Info

Publication number
DE19930158A1
DE19930158A1 DE19930158A DE19930158A DE19930158A1 DE 19930158 A1 DE19930158 A1 DE 19930158A1 DE 19930158 A DE19930158 A DE 19930158A DE 19930158 A DE19930158 A DE 19930158A DE 19930158 A1 DE19930158 A1 DE 19930158A1
Authority
DE
Germany
Prior art keywords
event
objects
application programs
computer system
programs
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
DE19930158A
Other languages
English (en)
Inventor
Peter A Korn
William D Walker
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.)
Sun Microsystems Inc
Original Assignee
Sun Microsystems Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sun Microsystems Inc filed Critical Sun Microsystems Inc
Publication of DE19930158A1 publication Critical patent/DE19930158A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3065Monitoring arrangements determined by the means or processing involved in reporting the monitored data
    • G06F11/3072Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3089Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents
    • G06F11/3093Configuration details thereof, e.g. installation, enabling, spatial arrangement of the probes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/86Event-based monitoring

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • User Interface Of Digital Computer (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

Die Erfindung betrifft ein Ereignisbenachrichtigungs-Subsystem für die Verwendung im Zusammenhang mit einem digitalen Computersystem, welches eine Benachrichtigung über das Auftreten von Ereignissen, die im Zusammenhang mit Objekten (24) in dem digitalen Computersystem auftreten, an Anwendungsprogramme (23; 32) liefert. Das Ereignisbenachrichtigungs-Subsystem weist eine Ereignisüberwachungseinrichtung (30) auf, die entsprechend einer Auswahl der Objekte (24) jeweilige Listener-Programme (26) aufstellt, welche bestimmen, ob das entsprechende Objekt (24) eine Ereignisbenachrichtigung erzeugt hat. Die Ereignisüberwachungseinrichtung (30) benachrichtigt ihrerseits in Antwort auf den Empfang einer Benachrichtigung von einem Listener-Programm (26), das eine Ereignisbenachrichtigung für das Objekt (24) empfangen worden ist, für welches es Ereignisbenachrichtigungen überwacht, eine Auswahl der damit registrierten Anwendungsprogramme (23; 32), die der Ereignisüberwachungseinrichtung (30) angezeigt haben, daß sie Benachrichtigungen für das jeweilige Objekt (24) empfangen möchten.

Description

Die Erfindung betrifft im allgemeinen das Gebiet digita­ ler Computersysteme, und insbesondere Anordnungen zum Be­ nachrichtigen von Programmen über das Auftreten von Er­ eignissen, die im Zusammenhang mit verschiedenen Objekten solcher Systeme auftreten. Die Erfindung schafft insbe­ sondere eine Anordnung für die Verwendung in einem digi­ talen Computersystem, welche das Liefern einer Benach­ richtigung über Ereignisse im Zusammenhang mit den ver­ schiedenen Objekten und anderen Elementen einer graphi­ schen Benutzeroberfläche ("GUI"), die normalerweise auf einem Bildschirmgerät angezeigt werden würden an Program­ me vereinfacht, welche die Verarbeitung durch das digita­ le Computersystem im Zusammenhang mit diesen steuern.
Die Entwicklung kostengünstiger und hochleistungsfähiger Computersysteme, wie Personalcomputer, Computer-Worksta­ tions und dergleichen hat für viele Menschen zu einem An­ stieg in der Verfügbarkeit ausgefeilter Computertechnolo­ gie geführt. Im allgemeinen umfaßt ein Personalcomputer, eine Workstation oder dergleichen einen Prozessor, ein Bildschirmgerät, über den der Computer einem Bediener In­ formation anzeigen kann, Bedieneingabegeräte, wie eine Tastatur, Zeigereinrichtungen, z. B. eine Maus oder der­ gleichen, die der Bediener für die Eingabe von Informati­ on in den Computer benutzen kann. Die Entwicklung graphi­ scher Benutzeroberflächen (GUIs) hat für viele Menschen die Benutzung von Computern einfacher gestaltet. In einer graphischen Benutzeroberfläche zeigt der Computer einem Bediener Information in graphischer Form auf einem Bild­ schirmgerät an und erlaubt dem Bediener, die angezeigte graphische Information für die Steuerung des Computers durch Bedienen der Zeigereinrichtung zu manipulieren.
In Computern, die eine graphische Benutzeroberfläche ver­ wenden, wird Information in Form von Objekten angezeigt, einschließlich Symbole, Fenster und Fensterkomponenten, Felder, und dergleichen. Andere Objekte, die in einer graphischen Benutzeroberfläche benutzt werden können, um­ fassen beispielsweise Fensterkomponenten, wie eine Titel­ leiste, ein Menü, Bildlaufleisten und Elemente davon, verschiedene Feldertypen, wie Dialogfelder, Prüffelder, Meldungsfelder und dergleichen, und verschiedene Schalt­ feldtypen, die von dem Bediener zum Hervorrufen bestimm­ ter Operationen betätigt werden können. Bei Auftreten ei­ nes Ereignisses im Zusammenhang mit einem Objekt einer graphischen Benutzeroberfläche bekommen im allgemeinen ein oder mehrere Anwendungsprogramme eine Benachrichti­ gung über das Ereignis, worauf das/die Anwendungspro­ gramm(e) vorbestimmte Operationen durchführen kann/können. Bei Auftreten eines Ereignisses im Zusammen­ hang mit einem in der graphischen Benutzeroberfläche ver­ wendeten Objekt wird im allgemeinen eine Benachrichtigung über das Ereignis in eine Ereigniswarteschlange eingege­ ben, die von dem Betriebssystem des digitalen Computersy­ stems gewartet wird. Die Ereignisbenachrichtigungen sind im allgemeinen in der Ereigniswarteschlange in der Rei­ henfolge aufgelistet, in der der Bediener die Ereignisse im Zusammenhang mit den verschiedenen Objekten durch­ führt. Ein Anwendungsprogramm, das über das im Zusammen­ hang mit einem Objekt auftretende Ereignis benachrichtigt werden muß, registriert ein "Listener-Programm" für das Objekt, welches zu Überwachen der Ereigniswarteschlange auf das Vorliegen einer Ereignisbenachrichtigung für die­ ses Objekt dient. Ein Anwendungsprogramm muß typischer­ weise ein Listener-Programm pro Objekt, für das es eine Benachrichtigung benötigt, registrieren. Wenn ein Liste­ ner-Programm bestimmt, daß die Ereignisschlange eine Be­ nachrichtigung über ein Ereignis im Zusammenhang mit sei­ nem Objekt aufweist, liefert es (d. h., das Listener- Programm) eine Benachrichtigung über das Ereignis an das Anwendungsprogramm.
Typischerweise muß das Anwendungsprogramm über Ereignisse benachrichtigt werden, die im Zusammenhang mit einer re­ lativ geringen Anzahl an in der graphischen Benutzerober­ fläche verwendeten Objekten auftreten, im allgemeinen nur im Zusammenhang mit den Objekten, die dessen Fenster und dessen Objekte umfassen, und zu deren Erzeugung es das Betriebssystem aufgefordert hat. In diesem Fall kann das Anwendungsprogramm leicht bestimmen, wann es ein Liste­ ner-Programm für die entsprechenden Objekte registrieren muß. Einige Programmtypen müssen jedoch Benachrichtigun­ gen über Ereignisse empfangen, die im Zusammenhang mit allen, oder wenigstens einer großen Anzahl der die gra­ phische Benutzeroberfläche umfassenden Objekte auftreten. Beispielsweise müssen sogenannte "Unterstützungstechnolo­ gie"-Programme ("assistive technology programs"), die ty­ pischerweise für die Unterstützung von Bedienern mit un­ terschiedlichen Behinderungsarten bei der Benutzung von Computern verwendet werden, Benachrichtigungen über Er­ eignisse empfangen, so daß sie eine Operation durchführen können, die beispielsweise eine nicht-visuelle Anzeige des Ereignisses liefern kann. Somit müssen im Zusammen­ hang mit einem Unterstützungstechnologie-Programm, das im Zusammenhang mit einer graphischen Benutzeroberfläche verwendet wird, bei Auftreten eines Ereignisses im Zusam­ menhang mit einem Objekt in der graphischen Benutzerober­ fläche, das typischerweise von dem Bildschirmgerät ange­ zeigt würde, um dem Bediener eine visuelle Anzeige des Ereignisses zu liefern, ebenfalls Lautsprecher zum Erzeu­ gen eines Sounds bei Auftreten des Ereignisses aktiviert werden, um dem Bediener eine hörbare Anzeige des Ereig­ nisses bereitzustellen. Somit kann das Unterstützungs­ technologie-Programm einer sehbehinderten Person bei der Benutzung des Computers helfen. Für diese Durchführung muß das Unterstützungstechnologie-Programm jedoch Benach­ richtigungen von Ereignissen empfangen, die im Zusammen­ hang mit vielen, wenn nicht sogar mit allen Objekten in der graphischen Benutzeroberfläche auftreten. Für die meisten dieser Objekte hat das Unterstützungstechnologie- Programm das Betriebssystem des digitalen Computersystems nicht aktiviert, diese zu erzeugen. Zusätzlich muß das Unterstützungstechnologie-Programm eine Benachrichtigung über Ereignisse im Zusammenhang mit Objekten empfangen, von denen wenigstens einige wahrscheinlich erst nach In­ itialisierung des Unterstützungstechnologie-Programms in­ stantiiert worden sind. Dadurch müßte das Unterstützungs­ technologie-Programm nicht nur die bei seiner Initiali­ sierung existierenden Objekte identifizieren, welche die graphische Benutzeroberfläche umfassen und für die es Li­ stener-Programme registrieren muß, sondern es muß auch fortwährend nachfolgende Instantiierungen solcher Objekte durch das Betriebssystem überwachen, so daß es bestimmen kann, ob es Listener-Programme für diese Objekte regi­ strieren muß. Dieses Erfordernis kann die Entwicklung von Unterstützungstechnologie-Programmen verkomplizieren.
Der Erfindung liegt die Aufgabe zugrunde, hier wenigstens teilweise Abhilfe zu schaffen.
Die Erfindung löst diese Aufgabe mit den Merkmalen der unabhängigen Ansprüche 1, 6 und 11. Bevorzugte Ausfüh­ rungsbeispiele der Erfindung sind in den Unteransprüchen beschrieben.
Die Erfindung schafft eine neue und verbesserte Anordnung für die Verwendung in einem digitalen Computersystem, welche die Benachrichtigung über Ereignisse im Zusammen­ hang mit den verschiedenen Objekten und anderen Elementen einer graphischen Benutzeroberfläche ("GUI"), die norma­ lerweise auf einem Bildschirmgerät angezeigt würden, an Programme vereinfacht, welche die Verarbeitung von den digitalen Computersystemen im Zusammenhang mit diesen steuern.
Kurz zusammengefaßt, schafft die Erfindung ein Ereignis­ benachrichtungs-Subsystem für die Verwendung im Zusammen­ hang mit einem digitalen Computersystem, welches eine Be­ nachrichtung über das Auftreten von im Zusammenhang mit Objekten in dem digitalen Computersystem auftretenden Er­ eignissen an Anwendungsprogramme liefert. Das Ereignisbe­ nachrichtungs-Subsystem weist eine Ereignisüberwachungs­ einrichtung auf, die jeweilige mit den entsprechenden Ob­ jekten verknüpfte Listener-Programme aufstellt, die das Auftreten von Ereignissen im Zusammenhang mit diesen Ob­ jekten bestimmen. Die Ereignisüberwachungseinrichtung be­ nachrichtigt ihrerseits in Antwort auf den Empfang einer Benachrichtigung von einem Listener-Programm eines der Anwendungsprogramme, die mit diesem registriert sind und der Ereignisüberwachungseinrichtung angezeigt haben, daß sie Benachrichtigungen von dem jeweiligen Objekt empfan­ gen möchten, daß es von einem Objekt über das Auftreten eines Ereignisses im Zusammenhang mit diesem Objekt be­ nachrichtigt worden ist.
Weitere Vorteile und Merkmale der Erfindung werden nun­ mehr anhand bevorzugter Ausführungsbeispiele mit Bezug auf die beigefügte Zeichnung näher erläutert. In der Zeichnung zeigen:
Fig. 1 ein beispielhaftes digitales Computersystem mit einer Ereignisbenachrichtigungsanordnung zum Liefern von Benachrichtigungen über Er­ eignisse im Zusammenhang mit den verschiede­ nen Objekten und anderen Elementen einer graphischen Benutzeroberfläche ("GUI"), die normalerweise auf einem Bildschirmgerät an­ gezeigt werden würden, an Programme, welche die Verarbeitung von dem digitalen Computer­ system in Verbindung damit steuern;
Fig. 2 ein Funktionsblockdiagramm einer Ereignisbe­ nachrichtigungsanordnung für die Verwendung im Zusammenhang mit dem in Fig. 1 gezeigten digitalen Computersystem; und
Fig. 3a-3c Flußdiagramme, welche Operationen im Zusam­ menhang mit der in Fig. 2 gezeigten Ereig­ nisbenachrichtigungs-Anordnung zeigen.
Fig. 1 zeigt ein beispielhaftes digitales Computersystem 10 mit einer Ereignisbenachrichtigungsanordnung zum Lie­ fern einer Benachrichtigung über Ereignisse im Zusammen­ hang mit den verschiedenen Objekten und anderen Elementen einer graphischen Benutzeroberfläche ("GUI"), die norma­ lerweise auf einem Bildschirmgerät angezeigt werden wür­ den, an Programme, welche die Verarbeitung von dem digi­ talen Computersystem in Verbindung damit steuern. Gemäß Fig. 1 weist das Computersystem 10 in einem Ausführungs­ beispiel ein Prozessormodul 11 und Bedienschnittstel­ lenelemente auf, welche Bedieneingabekomponenten, wie ei­ ne Tastatur 12A und/oder eine Maus 12B (allgemein als Be­ dieneingabeelement(e) 12 bezeichnet) und Bedienausgabe­ komponenten umfassen, wie ein Bildschirmgerät 13 mit in­ tegrierten Lautsprechern 15. Das beispielhafte Computer­ system 10 hat die herkömmliche Architektur eines spei­ cherprogrammierten Computers.
Das Prozessormodul 11 weist beispielsweise einen Prozes­ sor, einen Speicher und Massenspeichergeräte, wie Plat­ ten- und/oder Band-Speicherelemente (nicht einzeln darge­ stellt) auf, welche die Verarbeitung und Speicheropera­ tionen im Zusammenhang mit dorthin übertragenen digitalen Daten durchführen. Die Massenspeicher-Subsysteme können solche Geräte, wie Platten- oder Band-Subsysteme, opti­ sche Plattenspeichergeräte und CD-ROM-Geräte aufweisen, in die Information gespeichert werden kann und/oder von denen Information wiedergewonnen werden kann. Ein oder mehrere Massenspeicher-Subsysteme können herausnehmbare Speichermedien verwenden, die von einem Bediener heraus­ genommen und installiert werden können, wodurch der Be­ diener Programme und Daten in das digitale Computersystem 10 laden und verarbeitete Daten von dort erhalten kann. Unter Steuerung der von dem Prozessor dorthin gelieferten Steuerungsinformation kann die in den Massenspeicher- Subsystemen gespeicherte Information für die Speicherung an den Speicher übertragen werden. Nachdem die Informati­ on in dem Speicher gespeichert ist, kann der Prozessor die Information zum Verarbeiten aus dem Speicher wieder­ gewinnen. Nachdem die verarbeiteten Daten erzeugt worden sind, kann der Prozessor die Massenspeicher-Subsysteme ebenfalls aktivieren, die verarbeiteten Daten für eine relativ langfristige Speicherung von dem Speicher wieder­ zugewinnen.
Das(die) Bedieneingabeelement(e) 12 ist(sind) vorgesehen, damit ein Bediener Information zum Verarbeiten und/oder Information für die Steuerung des digitalen Computersy­ stems 10 eingeben kann. Das Bildschirmgerät 13 und die Lautsprecher 15 sind vorgesehen, um jeweils Ausgabeinfor­ mation in visueller Form auf einem Bildschirm 14 und Aus­ gabeinformation in Audioform darzustellen, die von dem Prozessormodul 11 erzeugt wird und die Daten, die der Be­ diener zum Verarbeiten eingeben kann, und Information, die der Bediener zum Steuern der Verarbeitung eingeben kann, sowie Information umfassen kann, die während der Verarbeitung erzeugt wird. Das Prozessormodul 11 erzeugt Information für die Anzeige durch das Bildschirmgerät 13, unter Verwendung einer sogenannten "graphischen Benutzer­ oberfläche" ("GUI"), in der Information für verschiedene Anwendungsprogramme unter Verwendung verschiedener "Fenster" angezeigt wird. Auch wenn das Computersystem 10 mit speziellen Komponenten gezeigt ist, wie der Tastatur 12A und der Maus 12B für den Empfang einer Eingabeinfor­ mation von einem Bediener und einem Bildschirmgerät 13 für die Anzeige von Ausgabeinformationen an den Bediener, ist es selbstverständlich, daß das Computersystem 10 zu­ sätzlich zu oder anstelle von den in Fig. 1 gezeigten Komponenten noch weitere Komponenten aufweisen kann.
Das Prozessormodul 11 kann zusätzlich ein oder mehrere Netzwerk- oder Kommunikations-Ports aufweisen, die allge­ mein mit dem Bezugszeichen 15 bezeichnet sind, und die mit Kommunikations-Verbindungsleitungen verbunden werden können, um das Computersystem 10 an ein Computernetzwerk oder an andere Computersysteme (nicht gezeigt) über bei­ spielsweise das öffentliche Telefonsystem zu verbinden. Die Ports ermöglichen dem Computersystem 10, Information an andere Computersysteme und andere Geräte in dem Netz­ werk zu übertragen und von diesen zu empfangen.
Wie oben bemerkt, zeigt das Bildschirmgerät 13 dem Bedie­ ner von dem Prozessormodul 11 erzeugte Information an, unter Verwendung einer graphischen Benutzeroberfläche, in der Information für verschiedene Anwendungsprogramme un­ ter Verwendung verschiedener Fenster, Symbole, und ande­ rer Objekte angezeigt ist. Andere Objekte, die in einer graphischen Benutzeroberfläche benutzt werden können, um­ fassen beispielsweise Fensterkomponenten, wie eine Titel­ leiste, ein Menü, Bildlaufleisten und Elemente davon, verschiedene Feldertypen, wie Dialogfelder, Prüffelder, Meldungsfelder und dergleichen, und verschiedene Schalt­ feldtypen, die von dem Bediener zum Hervorrufen bestimm­ ter Operationen betätigt werden können. Weitere Objektar­ ten sind dem Durchschnittsfachmann bekannt und werden hier nicht weiter aufgeführt. Die Erfindung schafft eine Anordnung, die nachstehend im Zusammenhang mit Fig. 2 beschrieben wird, welche Anwendungsprogramme mit Benach­ richtigungen über Ereignisse versorgt, die im Zusammen­ hang mit solchen Objekten auftreten. Beispielhafte Typen von Ereignissen, über die ein Anwendungsprogramm benach­ richtigt werden muß, sind beispielsweise, ob der Bediener mit einem Zeigergerät, wie der Maus 12B ein Objekt "anklickt", ob das Objekt "im Vordergrund steht", d. h., ob das Objekt so ausgewählt ist, daß bei Auftreten einer weiteren Operation, wie beispielsweise bei Drücken der Enter-Taste auf der Tastatur 12A durch den Bediener das Objekt so betätigt wird, das ein Anwendungsprogramm eine Operation im Zusammenhang mit diesem Objekt durchführen muß, und dergleichen. Dem Durchschnittsfachmann sind zahlreiche Typen solcher Ereignisse bekannt.
Im allgemeinen wird bei Auftreten eines Ereignisses im Zusammenhang mit einem in der graphischen Benutzerober­ fläche verwendeten Objekt eine Benachrichtigung über das Ereignis in eine Ereigniswarteschlange eingegeben, welche von dem Betriebssystem des digitalen Computersystems ge­ wartet wird. Die Ereignisbenachrichtigungen werden im allgemeinen in der Ereigniswarteschlange in der Reihen­ folge aufgelistet, in der der Bediener die Ereignisse im Zusammenhang mit den verschiedenen Objekten durchführt. Ein Anwendungsprogramm, das über im Zusammenhang mit ei­ nem Objekt auftretende Ereignisse benachrichtigt werden muß, registriert ein "Listener-Programm" für das Objekt, welches die Ereigniswarteschlange dahingehend überprüft, ob die Ereigniswarteschlange eine Ereignisbenachrichti­ gung für dieses Objekt aufweist. Ein Anwendungsprogramm muß typischerweise ein Listener-Programm pro Objekt regi­ strieren, von dem es eine Benachrichtigung benötigt. Wenn ein Listener-Programm bestimmt, daß die Ereigniswarte­ schlange eine Benachrichtigung über ein Ereignis im Zu­ sammenhang mit seinem Objekt enthält, liefert das "Listener-Programm" seinerseits eine Benachrichtigung über das Ereignis an das Anwendungsprogramm.
Typischerweise muß das Anwendungsprogramm über Ereignisse benachrichtigt werden, die im Zusammenhang mit einer re­ lativ geringen Anzahl an in der graphischen Benutzerober­ fläche verwendeten Objekten auftreten, im allgemeinen nur im Zusammenhang mit den Objekten, die dessen Fenster und dessen Objekte umfassen, und zu deren Erzeugung es das Betriebssystem aufgefordert hat. In diesem Fall kann das Anwendungsprogramm leicht bestimmen, wann es ein Liste­ ner-Programm für die entsprechenden Objekte registrieren muß. Einige Programmarten müssen jedoch Benachrichtigun­ gen über Ereignisse empfangen, die im Zusammenhang mit allen, oder wenigstens einer großen Anzahl der die gra­ phische Benutzeroberfläche umfassenden Objekte auftreten. Beispielsweise müssen sogenannte "Unterstützungstechnolo­ gie"-Programme, die typischerweise für die Unterstützung von Bedienern mit unterschiedlichen Behinderungsarten bei der Benutzung von Computern verwendet werden, Benachrich­ tigungen über Ereignisse empfangen, so daß sie eine Ope­ ration durchführen können, die beispielsweise eine nicht­ visuelle Anzeige des Ereignisses liefern kann. Somit müs­ sen im Zusammenhang mit einem Unterstützungstechnologie- Programm, das im Zusammenhang mit einer graphischen Be­ nutzeroberfläche verwendet wird, bei Auftreten eines Er­ eignisses im Zusammenhang mit einem Objekt in der graphi­ schen Benutzeroberfläche, das typischerweise von dem Bildschirmgerät angezeigt würde, um dem Bediener eine vi­ suelle Anzeige des Ereignisses zu liefern, ebenfalls Lautsprecher zum Erzeugen eines Sounds bei Auftreten des Ereignisses aktiviert werden, um dem Bediener eine hörba­ re Anzeige des Ereignisses bereitzustellen. Somit kann das Unterstützungstechnologie-Programm einer sehbehinder­ ten Person bei der Benutzung des Computers helfen. Es ist jedoch selbstverständlich, daß das Unterstützungstechno­ logie-Programm für diese Durchführung jedoch Benachrich­ tigungen über Ereignisse empfangen muß, die im Zusammen­ hang mit vielen, wenn nicht sogar mit allen Objekten in der graphischen Benutzeroberfläche auftreten. Für die meisten dieser Objekte hat das Unterstützungstechnologie- Programm das Betriebssystem des digitalen Computersystems nicht aktiviert, diese zu erzeugen. Zusätzlich muß das Unterstützungstechnologie-Programm eine Benachrichtigung über Ereignisse im Zusammenhang mit Objekten empfangen, von denen wenigstens einige wahrscheinlich erst nach In­ itialisierung des Unterstützungstechnologie-Programms in­ stantiiert worden sind. Dadurch müßte das Unterstützungs­ technologie-Programm nicht nur die bei seiner Initiali­ sierung existierenden Objekte identifizieren, welche die graphische Benutzeroberfläche umfassen und für die es Li­ stener-Programme registrieren muß, sondern es muß auch fortwährend nachfolgende Instantiierungen solcher Objekte durch das Betriebssystem überwachen, damit es bestimmen kann, ob es Listener-Programme für diese Objekte regi­ strieren muß. Dieses Erfordernis kann die Entwicklung von Unterstützungstechnologie-Programmen verkomplizieren.
Die Erfindung schafft eine Anordnung, bei welcher ein An­ wendungsprogramm, wie ein Unterstützungstechnologie- Programm, leicht durch ein Listener-Programm registriert werden kann, Benachrichtigungen über Ereignisse zu emp­ fangen, die im Zusammenhang mit die graphische Benutzer­ oberfläche umfassenden Objekten auftreten, ohne daß das Erfordernis, das Anwendungsprogramm seinerseits ein Li­ stener-Programm für jedes der Objekte registrieren lassen muß. Insbesondere schafft die Erfindung eine einzelne Er­ eigniswarteschlangen-Überwachungseinrichtung, mit der das Unterstützungstechnologie-Programm einmal registrieren kann. Die Ereigniswarteschlangen-Überwachungseinrichtung überwacht ihrerseits die Instantiierung von die graphi­ sche Benutzeroberfläche umfassende Objekten durch das Be­ triebssystem und registriert Listener-Programme im Zusam­ menhang mit diesen. Die Listener-Programme überwachen die Ereigniswarteschlange und liefern Benachrichtigungen über Ereignisse, welche die Objekte darin geladen bzw. gespei­ chert haben, an die Ereigniswarteschlangen-Überwachungs­ einrichtung. Die Ereigniswarteschlangen-Überwachungsein­ richtung empfängt ihrerseits Benachrichtigungen von den Listener-Programmen, bestimmt, ob irgendeines der damit registrierten Unterstützungstechnologie-Programmen solche Benachrichtigungen empfangen muß, und falls dies so ist, liefert die entsprechenden Benachrichtigungen an die Un­ terstützungstechnologie-Anwendung. Somit entlastet die Ereigniswarteschlangen-Überwachungseinrichtung das Unter­ stützungstechnologie-Programm von dem Erfordernis,
  • a) die die graphische Benutzeroberfläche umfassenden Ob­ jekte zu identifizieren, die bereits existieren, wenn es (d. h., das Unterstützungstechnologie-Programm) initialisiert wird, und Listener-Programmen mit die­ sen zu registrieren, und ebenfalls
  • b) nachfolgende Instantiierungen solcher Objekte durch das Betriebssystem zu überwachen, damit es bestimmen kann, ob Listener-Programme für diese registriert werden müssen, und Listener-Programmen mit dieser Auswahl an Objekten zu registrieren, für die es (d. h., das "Unterstützungstechnologie-Programm") Be­ nachrichtigungen empfangen möchte.
Fig. 2 zeigt ein Funktionsblockdiagramm einer Ereignis­ benachrichtigungsanordnung 20 für das digitale Computer­ system 10, die so aufgebaut ist, die Lieferung von Be­ nachrichtigungen an Programme, wie Unterstützungstechno­ logie-Anwendungen, über Ereignisse zu vereinfachen, die im Zusammenhang mit eine graphische Benutzeroberfläche umfassende Objekte auftreten. Gemäß Fig. 2 weist die Er­ eignisbenachrichtigungsanordnung 20 eine Bedienschnitt­ stelle 21, ein Betriebssystem 22, ein oder mehrere Anwen­ dungsprogramme, die im allgemeinen mit dem Bezugszeichen 23 bezeichnet sind, und ein oder mehrere Objekte auf, die im allgemeinen mit dem Bezugszeichen 24 bezeichnet sind, welche die graphische Benutzeroberfläche umfassen. Die Objekte 24 definieren Komponenten der graphischen Benut­ zeroberfläche, die typischerweise von dem Bildschirmgerät 13 des digitalen Computersystems angezeigt werden.
Während ihrer Verarbeitung kann jedes Anwendungsprogramm 23 Objekt-Instantiierungsanfragen für die Lieferung an das Betriebssystem 22 erzeugen. In Antwort auf solche Ob­ jekt-Instantiierungsanfragen kann das Betriebssystem 22 eine Auswahl der Objekte 24 instantiieren und das die Ob­ jektinstantiierungsanfrage erzeugende Anwendungsprogramm 23 benachrichtigen, wenn das Objekt instantiiert worden ist. Das Betriebssystem 22 kann seinerseits eine Auswahl der Objekte 24 instantiieren, ohne daß es Anfragen von einem Anwendungsprogramm 23 benötigt; solche Objekte 24 können beispielsweise Elemente, wie Symbole, eine Task- Leiste und dergleichen umfassen, die von dem digitalen Computersystem 10 auf dem Bildschirmgerät unabhängig von irgendeinem der von dem digitalen Computersystem 10 ver­ arbeiteten Anwendungsprogramme angezeigt werden können. In jedem Fall kann zusätzlich zur Freigabe eines Objektes 24 für die Instantiierung das Anwendungsprogramm 23 oder das Betriebssystem 22, welches auch immer die Aufstellung des Objektes initiiert hat, ein Listener-Programm auf­ stellen, das allgemein mit dem Bezugszeichen 26 bezeich­ net ist, welches das entsprechende Objekt 24, wie unten beschrieben, überwacht.
Nachdem ein Objekt 24 instantiiert worden ist, können Er­ eignisse im Zusammenhang mit diesem Objekt aufgrund einer Bedieneingabeinformation auftreten, die über die Bedien­ schnittstelle 21 empfangen wird. Die Bedienschnittstelle 21 empfängt die Bedieneingabeinformation von den Bedien­ eingabegeräten 12, insbesondere über die Tastatur 12A, die Maus 12B und dergleichen, und liefert die Informati­ on, die sich auf eine Auswahl der Objekte 24 bezieht, an die entsprechenden Objekte 24. Somit erzeugt, falls bei­ spielsweise die Bedieneingabeinformation angibt, daß ein Objekt 24 so "ausgewählt" werden soll, daß nachfolgend ein Operation im Zusammenhang mit dem Objekt auftreten kann, sofern der Bediener weitere Information im Zusam­ menhang damit liefert, das Objekt 24 eine Ereignisinfor­ mation für das bzw. die Listener-Programme 26, die hier­ für aufgestellt wurden. Jedes Listener-Programm 26 über­ wacht die Ereignisinformation von dem Objekt, für das es aufgestellt worden ist. Wenn das Listener-Programm 26 ein Ereignisinformationselement von dem von ihm überwachten Objekt 24 empfängt, liefert es eine Ereignisbenachrichti­ gung an das Anwendungsprogramm 23, welches das Listener- Programm 26 aufgestellt hat.
An einigen Punkten seiner Verarbeitung kann ein Anwen­ dungsprogramm 23 bestimmen, daß eine Auswahl der Objekte 24 der graphischen Benutzeroberfläche, welche für das An­ wendungsprogramm instantiiert worden sind, nicht länger benötigt werden. Wenn dies auftritt, kann das Anwendungs­ programm 23 das Betriebssystem 22 entsprechend benach­ richtigen, welches die entsprechenden Objekt 24 beenden kann. Zusätzlich kann das Anwendungsprogramm 23 das Li­ stener-Programm 26 beenden, welches für die Überwachung der von dem Objekt erzeugten Ereignisbenachrichtigungse­ lemente aufgestellt worden ist. Auf gleiche Weise kann das Betriebssystem 22 bestimmen, daß ein Objekt 24, das es von sich aus instantiiert hat, nicht länger benötigt wird, und in diesem Fall kann es das Objekt 24 und das Listener-Programm 26 beenden, das für die Überwachung der von dem Objekt erzeugten Ereignisbenachrichtungselemente aufgestellt worden ist.
Gemäß der Erfindung weist die Ereignisbenachrichtigungs­ anordnung ebenfalls eine Ereignisüberwachungseinrichtung 30 auf, die die Registrierungsliste 31 hinsichtlich eines Ereignisses überwacht. Die Ereignisüberwachungseinrich­ tung 30 stellt im wesentlichen Listener-Programme 26 für all die Objekte 24 der graphischen Benutzeroberfläche auf, die von dem Betriebssystem 22 instantiiert worden sind, einschließlich sowohl Objekte 24 der graphischen Benutzeroberfläche, die instantiiert worden sind, bevor die Ereignisüberwachungseinrichtung 30 den Betrieb auf­ nimmt, als auch Objekte 24, die instantiiert worden sind, nachdem die Ereignisüberwachungseinrichtung 30 den Be­ trieb aufgenommen hat. Ferner beendet die Ereignisüberwa­ chungseinrichtung 30, wie bei den Anwendungsprogrammen 23, bei Beenden eines Objekts 24 der graphischen Benut­ zeroberfläche das Listener-Programm 26, welches es für das beendete Objekt 24 der graphischen Benutzeroberfläche aufgestellt hat. Eine Auswahl der Anwendungsprogramme, die hier als "Unterstützungstechnologie"-Anwendungspro­ gramme 32 bezeichnet werden, können sich bei der Ereig­ nisüberwachungseinrichtung 30 registrieren lassen und ei­ ne Auswahl der Objekte oder Objekttypen, und ggf. sogar Ereignistypen identifizieren, für die sie Ereignisbenach­ richtigungen empfangen möchten. Wenn die Ereignisüberwa­ chungseinrichtung 30 eine Benachrichtigung von einem von ihr aufgestellten Listener-Programm 26 empfängt, welche anzeigt, daß das zugeordnete Objekt eine Ereignisinforma­ tionen erzeugt hat, die ein registriertes Unterstützungs­ technologie-Anwendungsprogramm 23 identifiziert,. liefert die Ereignisüberwachungseinrichtung 30 die Benachrichti­ gung über das Ereignis an das Unterstützungstechnologie- Anwendungsprogramm 32. Es ist selbstverständlich, daß, wenn sich mehrere Unterstützungstechnologie-Anwendungs­ programme 32 bei der Ereignis-Überwachungseinrichtung 30 registrieren haben lassen, Benachrichtigungen von demsel­ ben Objekt 24 zu empfangen, daß dann die Ereignisüberwa­ chungseinrichtung 30 Benachrichtigungen an all diese Un­ terstützungstechnologie-Anwendungsprogramme 32 liefert.
Die Ereignisüberwachungsregistrierungsliste 31 weist ein oder mehrere Einträge 31(1) bis 31(M) (die allgemein mit dem Bezugszeichen 31(m) bezeichnet sind) auf. Jeder Ein­ trag 31(m) ist einem der Unterstützungstechnologie- Anwendungsprogramme 32 zugeordnet, welches sich bei der Ereignisüberwachungseinrichtung 30 registrieren hat las­ sen. Jeder Eintrag 31(m) weist mehrere Felder auf, ein­ schließlich einem Anzeigefeld 33 für das registrierte An­ wendungsprogramm und einem oder mehreren Objekttyp- Anzeigefelder 34(1) bis 34(O) (die allgemein mit dem Be­ zugszeichen 34(o) bezeichnet sind). Jedes Objekttyp- Anzeigefeld 34(o) weist seinerseits einen Objekttyp- Anzeigebereich 35(o) auf, und kann ebenfalls ein Ereigni­ styp-Listenbereich 36(o) aufweisen. Der Objekttyp-Anzei­ gebereich 35(o) jedes Objekttyp-Anzeigefeldes 34(o) ent­ hält einen Objekttypanzeiger, der einen Typ des Objektes 24 der graphischen Benutzeroberfläche identifiziert, für den das Unterstützungstechnologie-Anwendungsprogramm 32 den Eintrag 31(m) aufgestellt wurde, und der Ereignistyp- Listenbereich 36(o) desselben Objekttyp-Anzeigefeldes 34(o) enthält die Identifizierung des Typs oder der Typen an Ereignissen, die im Zusammenhang mit dem/den Ob­ jekt(en) des von dem Objekttyp-Anzeigebereich 35(o) ange­ zeigten Typs auftreten, über welche(s) das Unterstüt­ zungstechnologie-Anwendungsprogramm 32 benachrichtigt werden soll. Falls der Ereignistyp-Listenbereich 36(o) des Objekttyp-Anzeigefeldes 34(o) leer ist, muß das Un­ terstützungstechnologie-Anwendungsprogramm 32 über alle Ereignistypen benachrichtigt werden, die im Zusammenhang mit dem/den Objekt(en) des in dem Objekttyp-Anzeigebe­ reichs 35(o) angezeigten Typs auftreten.
Im Zusammenhang mit Fig. 3a-3c werden Operationen be­ schrieben, die von der Ereignisbenachrichtigungsanordnung durchgeführt werden, insbesondere im Zusammenhang mit den Operationen im Zusammenhang mit der Ereignisüberwachungs­ einrichtung 30. Fig. 3a zeigt von der Ereignisüberwa­ chungseinrichtung 30 im Zusammenhang mit dem Registrieren von Listener-Programmen 26 für Objekte durchgeführte Ope­ rationen, die während der Initialisierung der Ereignis­ überwachungseinrichtung 30 im Zusammenhang mit Objekten auftreten können, die bei Initialisierung der Ereignis­ überwachungseinrichtung 30 existieren, und ebenfalls nach der Initialisierung der Ereignisüberwachungseinrichtung 30 im Zusammenhang mit Objekten auftreten können, die nach Initialisierung der Ereignisüberwachungseinrichtung aufgestellt werden. Fig. 3a zeigt Operationen, die von der Ereignisüberwachungseinrichtung 30 im Zusammenhang mit dem Beenden von Listener-Programmen 26 für Objekte, die beendet worden sind, durchgeführt werden. Fig. 3b zeigt Operationen, die von der Ereignisüberwachungsein­ richtung 30 im Zusammenhang mit der Registrierung von Un­ terstützungstechnologie-Anwendungsprogrammen 32 durchge­ führt werden. Fig. 3c zeigt Operationen, die von der Er­ eignis-Überwachungseinrichtung 30 im Zusammenhang mit dem Liefern von Benachrichtigungen über Ereignisse an die da­ mit registrierten Unterstützungstechnologie-Anwendungs­ programme 32 durchgeführt werden.
Gemäß Fig. 3a fragt die Ereignisüberwachungseinrichtung 30 nach Beginn ihrer Initialisierung (Schritt 100) an­ fangs bei dem Betriebssystem 22 nach, bereits existieren­ de Objekte 24 der graphischen Benutzeroberfläche zu iden­ tifizieren (Schritt 101). Nach Empfang der Antworten von dem Betriebssystem 22 (Schritt 102) registriert die Er­ eignisüberwachungseinrichtung 30 Listener-Programme 26 für die identifizierten Objekte 24 der graphischen Benut­ zeroberfläche mit dem entsprechenden Objekt (Schritt 103). Wenn die Ereignisüberwachungseinrichtung 30 von dem Betriebssystem 22 eine Benachrichtigung über das Beenden eines Objektes 24 der graphischen Benutzeroberfläche emp­ fängt (Schritt 104), dann beendet die Ereignisüberwa­ chungseinrichtung 30 das Listener-Programm 26 (Schritt 105). Wenn die Ereignisüberwachungseinrichtung 30 ande­ rerseits von dem Betriebssystem 22 eine Benachrichtigung über die Instantiierung eines neuen Objektes 24 der gra­ phischen Benutzerschnittstelle empfängt (Schritt 106), dann stellt die Ereignisüberwachungseinrichtung 30 ein neues Listener-Programm 26 für dieses Objekt auf (Schritt 107).
Fig. 3B zeigt die Operationen, die von der Ereignisüber­ wachungseinrichtung 30 im Zusammenhang mit der Registrie­ rung von Unterstützungstechnologie-Anwendungsprogrammen 32 durchgeführt werden. Gemäß Fig. 3B bestimmt die Er­ eignisüberwachungseinrichtung 30, wenn sie eine Regi­ strierungsanfrage von einem Unterstützungstechnologie- Anwendungsprogramm 32 empfängt (Schritt 120), ob die Er­ eignisüberwachungs-Registrierungsliste 31 einen Eintrag 31(m) für das Unterstützungstechnologie-Anwendungspro­ gramm enthält (Schritt 121), und falls dies so ist, kann sie den Eintrag im Zusammenhang mit der in der Registrie­ rungsanfrage bereitgestellten Information aktualisieren (Schritt 122). Wenn die Ereignisüberwachungseinrichtung 30 im Schritt 121 bestimmt, daß sie keinen Eintrag 31(m) für das Unterstützungstechnologie-Anwendungsprogramm hat, kann sie einen neuen Eintrag 31(m) für dieses Programm in der Ereignisüberwachungs-Registrierungsliste 31 aufstel­ len (Schritt 123).
Fig. 3C zeigt Operationen, die von der Ereignisüberwa­ chungseinrichtung 30 im Zusammenhang mit dem Liefern von Benachrichtigungen über Ereignisse an die damit regi­ strierten Unterstützungstechnologie-Anwendungsprogramme 32 durchgeführt werden. Gemäß Fig. 3C bestimmt die Er­ eignisüberwachungseinrichtung 30, wenn ein Listener-Pro­ gramm 26 die Ereignisüberwachungseinrichtung 30 darüber benachrichtigt, daß ein Ereignis im Zusammenhang mit ei­ nem Objekt 24 der graphischen Benutzeroberfläche aufge­ treten ist (Schritt 140), aus den Inhalten der Objekttyp- Anzeigebereiche 35(o) der Objekttyp-Anzeigefelder 34(o) der Einträge 31(m) der Ereigniswarteschlangen-Registrie­ rungsliste 31, ob irgendeines der damit registrierten Un­ terstützungstechnologie-Anwendungsprogramme 32 nach einer Benachrichtigung über Ereignisse nachgefragt hat, die im Zusammenhang mit dem Objekt 24 der graphischen Benutzer­ oberfläche auftreten, welches das Listener-Programm 26 überwacht (Schritt 141). Wenn im Schritt 141 die Bestim­ mung der Ereignisüberwachungseinrichtung negativ ist, d. h., falls sie bestimmt, daß kein damit registriertes Unterstützungstechnologie-Anwendungsprogramm nach einer Benachrichtigung über Ereignisse nachgefragt hat, die im Zusammenhang mit dem Objekt 24 der graphischen Benutzer­ schnittstelle auftreten, welches das Listener-Programm 26 überwacht, dann stoppt sie (Schritt 142). Wenn im Schritt 141 die Bestimmung der Ereignisüberwachungseinrichtung 30 andererseits positiv ist, zeigt sie den Unterstützungs­ technologie-Anwendungsprogrammen 32 an, welche nach die­ ser Benachrichtigung nachgefragt haben (Schritt 143), und zwar für jedes dieser aus dem entsprechenden Ereignistyp- Listenbereich 36(o) bestimmten Unterstützungstechnologie- Anwendungsprogramme 32, ob das Ereignis, für das von dem Listener-Programm 26 eine Benachrichtigung empfangen wur­ de, unter den Ereignistypen ist, für die das entsprechen­ de Unterstützungstechnologie-Anwendungsprogramm 32 Be­ nachrichtigungen empfangen möchte (Schritt 144). Danach sendet die Ereignisüberwachungseinrichtung 30 Benachrich­ tigungen an die Unterstützungstechnologie-Anwendungspro­ gramme 32, für die ihre Bestimmungen im Schritt 144 posi­ tiv sind (Schritt 145).
Die Erfindung hat mehrere Vorteile. Insbesondere schafft die Erfindung eine Ereignisbenachrichtigungsanordnung 20, die einem Anwendungsprogramm, wie einem Unterstützungs­ technologie-Anwendungsprogramm 32 ermöglicht, Benachrich­ tigungen über Ereignisse zu empfangen, die im Zusammen­ hang mit von der graphischen Benutzeroberfläche umfaßten Objekten auftreten, ohne daß das Unterstützungstechnolo­ gie-Anwendungsprogramm seinerseits ein Listener-Programm für jedes der Objekte registrieren lassen muß. Dadurch entlastet die Ereigniswarteschlangen-Überwachungseinrich­ tung das Unterstützungstechnologie-Programm davon, die die graphische Benutzeroberfläche umfassenden Objekte zu identifizieren, die bei Initialisierung des Unterstüt­ zungstechnologie-Programms bereits existieren, und Liste­ ner-Programmen damit zu registrieren, oder nachfolgende Instantiierungen solcher Objekte durch das Betriebssystem zu überwachen, damit es bestimmen kann, ob Listener- Programme für diese registriert werden müssen, und Liste­ ner-Programmen mit dieser Auswahl an Objekten zu regi­ strieren, für die das Unterstützungstechnologie-Programm Benachrichtigungen empfangen möchte.
Es ist selbstverständlich, daß zahlreiche Veränderungen an der oben beschriebenen Ereignisbenachrichtungsanord­ nung 20 vorgenommen werden können. Auch wenn die Ereig­ nisüberwachungseinrichtung 30 dahingehend beschrieben wurde, daß sie eine vereinfachte Benachrichtigungsanord­ nung im Zusammenhang mit Anwendungsprogrammen schafft, die in Form von Unterstützungstechnologie-Programmen vor­ liegen, ist es selbstverständlich, daß beispielsweise ir­ gendwelche Typen von Anwendungsprogrammen effizient von der Ereignisüberwachungseinrichtung benachrichtigt werden können.
Es ist selbstverständlich, daß das erfindungsgemäße Sy­ stem als ganzes oder teilweise aus einer Spezial-Hardware oder einem Universal-Computersystem aufgebaut sein kann, oder irgendeiner Kombination aus diesen beiden, von denen jeder Teil von einem geeigneten Programm gesteuert werden kann. Jedes Programm kann im Ganzen oder teilweise von einem Teil des Systems auf bekannte Weise umfaßt sein oder auf dem System in bekannter Weise gespeichert sein, oder es kann für das System im Ganzen oder teilweise über ein Netzwerk oder einen anderen Mechanismus zum Übertra­ gen von Information auf bekannte Weise bereitgestellt werden. Außerdem ist es selbstverständlich, daß das Sy­ stem mittels Information bedient und/oder anderweitig ge­ steuert werden kann, die von einem Bediener geliefert wird, der Bedieneingabeelemente (nicht dargestellt) ver­ wendet, die direkt mit dem System verbunden sein können oder die Information an das System über ein Netzwerk oder einen anderen Mechanismus zum Übertragen von Information auf bekannte Weise übertragen können.
LEGENDE FÜR DIE Fig. 2
OPERATOR INTF (INP) 21 Bedienschnittstelle (Eingabe) 21
GUI OBJECT 24 GUI-Objekt 24
OP SYS 22 Betriebssystem 22
MISC APPS 23 Verschiedene Anwendungen 23
LISTENER 26 Listener-Programme 26
EVENT MONITOR 30 Ereignisüberwachungseinrichtung 30
ASSISTIVE TECH APPS 32 Unterstützungstechnologie-Anwendungen 32
EVENT REGISTRATION LIST 31 Ereignisregistrierungsliste 31
ENTRY 31(M) Eintrag 31(M)
REG ID 33 Registrierungsanzeiger 33
GUI OBJ 35(1) GUI-Objekt 35(1)
EVENT LIST 36(1) Ereignisliste 36(1)
GUI OBJ 35(0) GUI-Objekt 35(0)
EVENT LIST 36(0) Ereignisliste 36(0)
LEGENDE FÜR DIE Fig. 3A
100: Ereignisüberwachungseinrichtung
30
beginnt die In­ itialisierung
101: Ereignisüberwachungseinrichtung
30
fragt beim Be­ triebssystem
22
an, die Identifizierung von be­ reits existierenden Objekten
24
der graphischen Benutzeroberfläche zu erhalten
102: Ereignisüberwachungseinrichtung
30
empfängt die Antworten von dem Betriebssystem
22
103: Ereignisüberwachungseinrichtung registriert Liste­ ner-Programme
26
mit den identifizierten Objekten
24
der graphischen Benutzeroberfläche
104: Ereignisüberwachungseinrichtung
30
empfängt eine Benachrichtigung von dem Betriebssystem
22
über das Beenden eines Objektes
24
der graphischen Be­ nutzeroberfläche
105: Ereignisüberwachungseinrichtung
30
beendet das Li­ stener-Programm
26
, das dem beendeten Objekt
24
der graphischen Benutzeroberfläche zugeordnet ist
106: Ereignisüberwachungseinrichtung
30
empfängt eine Benachrichtigung von dem Betriebssystem
22
über die Instantiierung eines neuen Objektes
24
der graphischen Benutzeroberfläche
107: Ereignisüberwachungseinrichtung
30
stellt ein neu­ es Listener-Programm
26
für das neu-instantiierte Objekt
24
der graphischen Benutzeroberfläche auf
LEGENDE FÜR DIE Fig. 3B
120: Ereignisüberwachungseinrichtung
30
empfängt eine Registrierungsanfrage von einem Unterstützungs­ technologie-Anwendungsprogramm
32
121: Ereignisüberwachungseinrichtung
30
bestimmt, ob die Ereignisüberwachungs-Registrierungsliste
31
einen Eintrag
31
(m) für das Unterstützungstechno­ logie-Anwendungsprogramm enthält
122: Ereignisüberwachungseinrichtung
30
aktualisiert den Eintrag im Zusammenhang mit der in der Regi­ strierungsanfrage bereitgestellten Information
123: Ereignisüberwachungseinrichtung
30
stellt einen neuen Eintrag
31
(m) in der Ereignisüberwachungs- Registrierungsliste
31
für das Unterstützungstech­ nologie-Anwendungsprogramm auf
LEGENDE FÜR DIE Fig. 3C
140: Listener-Programm
26
benachrichtigt die Ereignis­ überwachungseinrichtung
30
, das ein Ereignis im Zusammenhang mit einem Objekt
24
der graphischen Benutzeroberfläche aufgetreten ist
141: Die Ereignisüberwachungseinrichtung
30
bestimmt aus den Inhalten der Objekttyp-Anzeigebereiche
35
(o) der Objekttyp-Anzeigefelder
34
(o) der Ein­ träge
31
(m) der Ereigniswarteschlangen-Registrie­ rungsliste
31
, ob irgendeines der damit regi­ strierten Unterstützungstechnologie-Anwendungspro­ gramme
32
nach einer Benachrichtigung über Ereig­ nisse nachgefragt hat, die in Verbindung mit dem Objekt
24
der graphischen Benutzeroberfläche auf­ treten, welches das Listener-Programm überwacht
142: Ereignisüberwachungseinrichtung
30
stoppt
143: Ereignisüberwachungseinrichtung
30
identifiziert die Unterstützungstechnologie-Anwendungsprogramme
32
, die nach einer solchen Benachrichtigung nach­ gefragt haben
144: Ereignisüberwachungseinrichtung
30
bestimmt für jedes im Schritt
143
identifizierte Unterstüt­ zungstechnologie-Anwendungsprogramm
32
aus dem entsprechenden Ereignistyp-Listenbereich
36
(o), ob das Ereignis, für welches eine Benachrichtigung von dem Listener-Programm
26
empfangen worden ist, unter den Ereignistypen ist, für welche das ent­ sprechende Unterstützungstechnologie-Anwendungs­ programm
32
Benachrichtigungen empfangen möchte
145: Ereignisüberwachungseinrichtung
30
liefert Benach­ richtigungen an die Unterstützungstechnologie- Anwendungsprogramme
32
, für die ihre Bestimmung im Schritt
144
positiv ist.
Yes: Ja
No: Nein

Claims (15)

1. Ereignisbenachrichtigungs-Subsystem, das für die Ver­ wendung im Zusammenhang mit einem digitalen Computer­ system ausgelegt ist, zum Liefern von Benachrichti­ gungen über das Auftreten von Ereignissen, die im Zu­ sammenhang mit Objekten (24) in dem digitalen Compu­ tersystem auftreten, an Anwendungsprogramme (23; 32), wobei das Ereignisbenachrichtigungs-Subsystem eine Ereignisüberwachungseinrichtung (30) umfaßt, die so ausgestaltet ist, entsprechend einer jeweiligen Aus­ wahl der Objekte (23; 32), jeweilige Listener- Programme (26) aufzustellen, die so ausgestaltet sind, zu bestimmen, wann daß jeweilige Objekt (23; 32) eine Ereignisbenachrichtigungsinformation erzeugt, wobei die Ereignisüberwachungseinrichtung (30) ferner so ausgestaltet ist, die jeweiligen bei ihr regi­ strierten Anwendungsprogramme (23; 32) zu benachrich­ tigen, wenn sie eine Benachrichtigung von einem der Listener-Programme (26) empfängt, daß das jeweilige Objekt (24) eine Ereignisbenachrichtigungsinformation von einem der Objekte (24) empfangen hat, für die die entsprechenden Anwendungsprogramme (23; 32) der Ereig­ nisüberwachungseinrichtung (30) angezeigt haben, daß sie Benachrichtigungen empfangen möchten.
2. Ereignisbenachrichtigungs-Subsystem nach Anspruch 1, bei welchem die Ereignisüberwachungseinrichtung (30) einer Registrierungsliste (31) zugeordnet ist, die so ausgestaltet ist, eine Auswahl der ihr zugeordneten Anwendungsprogramme (23; 32) und eine Auswahl der Ob­ jekte (24) anzuzeigen, für die die entsprechenden An­ wendungsprogramme (23; 32) Benachrichtigungen empfan­ gen möchten.
3. Ereignisbenachrichtigungs-Subsystem nach Anspruch 2, bei welchem die Registrierungsliste (31) ferner so ausgestaltet ist, für eine Auswahl der Objekte (24) eine Auswahl aus einer Vielzahl an Ereignistypen an­ zuzeigen, für die die entsprechenden Anwendungspro­ gramme (23; 32) Benachrichtigungen empfangen möchten, wobei die Ereignisüberwachungseinrichtung (30) so ausgestaltet ist, die entsprechenden Anwendungspro­ gramme (23; 32) zu benachrichtigen, wenn sie eine Be­ nachrichtigung von dem einen Listener-Programm (26) empfängt, daß sie eine Ereignisbenachrichtigung des entsprechenden Typs im Zusammenhang mit den entspre­ chenden Objekten (24) empfangen hat, für welche die Registrierungsliste (31) anzeigt, daß die jeweiligen Anwendungsprogramme (23; 32) Benachrichtigungen emp­ fangen möchten.
4. Ereignisbenachrichtigungs-Subsystem nach einem der vorhergehenden Ansprüche, bei welchem die Ereignis­ überwachungseinrichtung (30) so ausgestaltet ist, In­ stantiierungen von Objekten (24) in dem digitalen Computersystem zu überwachen und ein Listener- Programm (26) aufzustellen, wenn ein Objekt (24) von wenigstens einem Typ einer Auswahl an Objekttypen in­ stantiiert ist.
5. Ereignisbenachrichtungs-Subsystem nach einem der vor­ hergehenden Ansprüche, bei welchem die Ereignisüber­ wachungseinrichtung (30) so ausgestaltet ist, das Be­ enden von Objekten (24) in dem digitalen Computersy­ stem zu überwachen und ein Listener-Programm (26) zu beenden, wenn das zugeordnete Objekt (24) beendet wird.
6. Verfahren für die Verwendung im Zusammenhang mit ei­ nem digitalen Computersystem zum Liefern von Benach­ richtigungen über das Auftreten von Ereignissen, die im Zusammenhang mit Objekten (24) in dem digitalen Computersystem auftreten, an Anwendungsprogramme (23; 32), wobei das Verfahren die folgenden Schritte umfaßt: Aktivieren einer einzelnen Ereignisüberwa­ chungseinrichtung (30) zum Aufstellen, entsprechend der Ereignisbenachrichtigungsspeicherung und für eine Auswahl der Objekte (23; 32), jeweiliger Listener- Programme (26), die dazu ausgestaltet sind, zu be­ stimmen, wann die entsprechenden Objekte (24) Ereig­ nisbenachrichtigungen erzeugen, und die entsprechen­ den damit registrierten Anwendungsprogramme (23; 32) zu benachrichtigen, wenn sie eine Benachrichtigung von einem der Listener-Programme (26) empfängt, daß das Objekt (24), für welches das eine der Listener- Programme (26) aufgestellt wurde, eine Ereignisbe­ nachrichtigung erzeugt hat, für das entsprechende An­ wendungsprogramme (23; 32) der Ereignisüberwachungs­ einrichtung (30) angezeigt haben, daß sie Benachrich­ tigungen empfangen möchten.
7. Verfahren nach Anspruch 6, bei welchem die Ereignis­ überwachungseinrichtung (30) einer Registrierungsli­ ste (31) zugeordnet ist, die so ausgestaltet ist, ei­ ne Auswahl der ihr zugeordneten Anwendungsprogramme (23; 32) und eine Auswahl der Objekte (24) zu identi­ fizieren, für die die jeweiligen Anwendungsprogramme (23; 32) Benachrichtigungen empfangen möchten.
8. Verfahren nach Anspruch 7, bei welchem die Registrie­ rungsliste (31) ferner so ausgelegt ist, für eine Auswahl der Objekte (24) eine Auswahl aus einer Viel­ zahl an Ereignistypen zu identifizieren, für welche die entsprechenden Anwendungsprogramme (23; 32) Be­ nachrichtigungen empfangen möchten, wobei das Verfah­ ren ferner die folgenden Schritte umfaßt: Aktivieren der Ereignisüberwachungseinrichtung (30), entspre­ chende Anwendungsprogramme (23; 32) zu benachrichti­ gen, wenn sie eine Benachrichtigung von dem einen der Listener-Programme (26) empfängt, daß es eine Ereig­ nisbenachrichtigung des jeweiligen Typs im Zusammen­ hang mit den entsprechenden Objekten (24) empfangen hat, für welche die Registrierungsliste (31) anzeigt, daß die entsprechenden Anwendungsprogramme (23; 32) Benachrichtigungen empfangen möchten.
9. Verfahren nach einem der Ansprüche 6 bis 8, welches ferner die folgenden Schritte umfaßt: Aktivieren der Ereignisüberwachungseinrichtung (30), Instantiierun­ gen von Objekten (24) in dem digitalen Computersystem zu überwachen und ein Listener-Programm (26) aufzu­ stellen, wenn ein Objekt (24) von wenigstens einem Typ einer Auswahl an Objekttypen instantiiert ist.
10. Verfahren nach einem der Ansprüche 6 bis 9, welches ferner folgende Schritte umfaßt: Aktivieren der Er­ eignisüberwachungseinrichtung (30), das Beenden von Objekten (24) in dem digitalen Computersystem zu überwachen und ein Listener-Programm (26) zu beenden, wenn das zugeordnete Objekt (24) beendet ist.
11. Computerprogrammprodukt, das für die Verwendung im Zusammenhang mit einem digitalen Computersystem zum Liefern von Benachrichtigungen über das Auftreten von Ereignissen, die im Zusammenhang mit Objekten (24) in dem digitalen Computersystem auftreten, an Anwen­ dungsprogramme (23; 32) ausgelegt ist, wobei die Ob­ jekte (24) so ausgestaltet sind, daß sie Ereignisbe­ nachrichtigungen erzeugen, wenn Ereignisse im Zusam­ menhang mit ihnen auftreten, wobei das Computerpro­ grammprodukt ein computerlesbares Medium umfaßt, wor­ auf ein Ereignisüberwachungsmodul (30) codiert ist, das so ausgestaltet ist, das digitale Computersystem zu aktivieren, entsprechend einer jeweiligen Auswahl der Objekte (24), jeweilige Listener-Programme (26) aufzustellen, die dazu ausgestaltet sind, zu bestim­ men, wann die jeweiligen Objekte (24) die Ereignisbe­ nachrichtigungen erzeugen, und jeweilige damit regi­ strierte Anwendungsprogramme (23; 32) zu benachrichti­ gen, wenn eine Benachrichtigung von einem der Liste­ ner-Programme (26) empfangen wird, daß das entspre­ chende eine Objekt (24) eine Ereignisinformation im Zusammenhang mit einem der Objekte (24) erzeugt, für das die entsprechenden Anwendungsprogramme (23; 32) dem Ereignisüberwachungsmodul (30) angezeigt haben, daß sie Benachrichtigungen empfangen möchten.
12. Computerprogrammprodukt nach Anspruch 11, welches ferner ein Registrierungslistenmodul umfaßt, das so ausgestaltet ist, das digitale Computersystem zu ak­ tivieren, eine Registrierungsliste (31) aufzustellen, um eine Auswahl der ihr zugeordneten Anwendungspro­ gramme (23; 32) und eine Auswahl der Objekte (24) zu identifizieren, für die die jeweiligen Anwendungspro­ gramme (23; 32) Benachrichtigungen empfangen möchten.
13. Computerprogrammprodukt nach Anspruch 12, bei welchem das Registrierungslistenmodul ferner so ausgestaltet ist, daß digitale Computersystem zu aktivieren, die Registrierungsliste (31) aufzustellen, um für eine Auswahl der Objekte (24) eine Auswahl aus einer Viel­ zahl an Ereignistypen zu identifizieren, für welche die entsprechenden Anwendungsprogramme (23; 32) Be­ nachrichtigungen empfangen möchten, wobei das Ereig­ nisüberwachungsmodul (30) so ausgestaltet ist, das digitale Computersystem zu aktivieren, entsprechende Anwendungsprogramme (23; 32) zu benachrichtigen, wenn es eine Benachrichtigung von dem einen der Listener- Programme (26) empfängt, das eines der ihm zugeordne­ ten Objekte (24) eine Ereignisbenachrichtigung über ein Ereignis des entsprechenden Typs im Zusammenhang mit den entsprechenden Objekten (24) erzeugt hat, für welches die Registrierungsliste (31) anzeigt, daß die entsprechenden Anwendungsprogramme (23; 32) Benach­ richtigungen empfangen möchten.
14. Computerprogramm-Produkt nach einem der Ansprüch 11 bis 13, bei welchem das Ereignisüberwachungsmodul (30) so ausgestaltet ist, ein digitales Computersy­ stem zu aktivieren, die Instantiierung von Objekten (24) in dem digitalen Computersystem zu überwachen und ein Listener-Programm (26) aufzustellen, wenn ein Objekt (24) wenigstens eines Typs einer Auswahl an Objekttypen instantiiert wird.
15. Computerprogramm-Produkt nach einem der Ansprüche 11 bis 14, bei welchem das Ereignisüberwachungsmodul (30) so ausgelegt ist, den Computer zu aktivieren, das Beenden von Objekten (24) in dem digitalen Compu­ tersystem zu überwachen und ein Listener-Programm (26) zu beenden, wenn das zugeordnete Objekt (24) be­ endet wird.
DE19930158A 1998-06-30 1999-06-30 System und Verfahren zum Sammeln von Programmregistrierungen für Ereignisbenachrichtungen Withdrawn DE19930158A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US09/107,016 US6611877B2 (en) 1998-06-30 1998-06-30 System and method for aggregating registration of entities for notifications of events

Publications (1)

Publication Number Publication Date
DE19930158A1 true DE19930158A1 (de) 2000-01-05

Family

ID=22314412

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19930158A Withdrawn DE19930158A1 (de) 1998-06-30 1999-06-30 System und Verfahren zum Sammeln von Programmregistrierungen für Ereignisbenachrichtungen

Country Status (4)

Country Link
US (1) US6611877B2 (de)
CA (1) CA2276409A1 (de)
DE (1) DE19930158A1 (de)
GB (1) GB2342478B (de)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4455799B2 (ja) 1999-11-09 2010-04-21 オープン ティーヴィー インコーポレイテッド イベント予約メカニズム
US7155729B1 (en) * 2000-03-28 2006-12-26 Microsoft Corporation Method and system for displaying transient notifications
US7472396B2 (en) * 2001-05-18 2008-12-30 Qualcomm Incorporated Extensible event notification mechanism
US20030078956A1 (en) * 2001-10-24 2003-04-24 Aruna Ravichandran Multi-threaded design mechanism and methodology for dynamic menu management in GUI application
US7234147B1 (en) * 2001-12-07 2007-06-19 Versata Development Group, Inc. Method and apparatus for supporting data communication between program components
US20030158937A1 (en) * 2002-02-20 2003-08-21 Johal Sumer Singh Methods and systems for using distributed business data using observation technology to avoid the need to integrate servers and clients
US7596792B2 (en) * 2002-08-07 2009-09-29 Hewlett-Packard Development Company, L.P. Method and system for supporting a plurality of event types
US7644376B2 (en) 2003-10-23 2010-01-05 Microsoft Corporation Flexible architecture for notifying applications of state changes
US8171499B2 (en) * 2005-07-22 2012-05-01 International Business Machines Corporation Apparatus, system, and method for object clone event notification
US8527874B2 (en) 2005-08-03 2013-09-03 Apple Inc. System and method of grouping search results using information representations
US7707284B2 (en) * 2005-08-03 2010-04-27 Novell, Inc. System and method of searching for classifying user activity performed on a computer system
US7707146B2 (en) * 2005-08-03 2010-04-27 Novell, Inc. System and method of searching for providing clue-based context searching
US8201029B2 (en) * 2008-01-31 2012-06-12 International Business Machines Corporation Method and apparatus for operating system event notification mechanism using file system interface
US8103956B2 (en) * 2008-09-12 2012-01-24 International Business Machines Corporation Adaptive technique for sightless accessibility of dynamic web content
US8132057B2 (en) * 2009-08-07 2012-03-06 International Business Machines Corporation Automated transition to a recovery kernel via firmware-assisted-dump flows providing automated operating system diagnosis and repair
US20110219384A1 (en) * 2010-03-05 2011-09-08 Hit Concepts Llc Dynamic listener lookup and implementation
US9880860B2 (en) * 2010-05-05 2018-01-30 Microsoft Technology Licensing, Llc Automatic return to synchronization context for asynchronous computations
CN106657363A (zh) * 2016-12-30 2017-05-10 深圳市金立通信设备有限公司 一种聚合应用消息的方法及终端
CN108415786B (zh) * 2018-03-13 2022-05-31 联想(北京)有限公司 信息处理方法及装置、电子设备和计算机可读介质
CN114117289A (zh) * 2021-10-26 2022-03-01 北京百度网讯科技有限公司 浏览器运行数据的获取方法、装置及电子设备

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IT1046598B (it) * 1974-05-16 1980-07-31 Honeywell Inf Systems Interfaccia di connessione di apparecchiature periferiche a un calcolatore provvista di meccanismi di segnalazione e di distinzione tradiversi tipi di errore
CA1318030C (en) * 1988-03-30 1993-05-18 Herman Polich Expert system for identifying failure points in a digital data processing system
US5090014A (en) * 1988-03-30 1992-02-18 Digital Equipment Corporation Identifying likely failure points in a digital data processing system
CA2118169A1 (en) * 1993-10-27 1995-04-28 Michael R.C. Seaman Event architecture for system management in an operating system
US5404532A (en) * 1993-11-30 1995-04-04 International Business Machines Corporation Persistent/impervious event forwarding discriminator
US5717614A (en) * 1994-05-04 1998-02-10 National Instruments Corporation System and method for handling events in an instrumentation system
JP3265131B2 (ja) * 1994-08-29 2002-03-11 日本電気株式会社 イベント生成分配方式
US5602998A (en) * 1994-12-22 1997-02-11 Unisys Corporation Dequeue instruction in a system architecture for improved message passing and process synchronization
US6145009A (en) * 1997-05-20 2000-11-07 Kabushiki Kaisha Toshiba Event controlling system for integrating different event driven systems

Also Published As

Publication number Publication date
CA2276409A1 (en) 1999-12-30
US20020035649A1 (en) 2002-03-21
GB2342478A (en) 2000-04-12
GB2342478B (en) 2003-01-22
US6611877B2 (en) 2003-08-26
GB9915172D0 (en) 1999-09-01

Similar Documents

Publication Publication Date Title
DE19930158A1 (de) System und Verfahren zum Sammeln von Programmregistrierungen für Ereignisbenachrichtungen
DE69433754T2 (de) Verfahren und Systeme zum Integrieren von verschiedenen Vertreterleistungsverbesserungsmodulen in einer Anrufzentrale
DE69523229T2 (de) Benutzeroberfläche für eine Mehrzahl von untergeordneten Fenstern
DE69229148T2 (de) Datenverarbeitungssystem und Verfahren
DE69232255T2 (de) Verfahren und System zum Steuern des Ablaufs eines Anwenderprogramms
DE19632854B4 (de) Kontext-Identifizierer verwendendes System und Verfahren für eine individuelle Menüanpassung in einem Fenster
DE68928136T2 (de) Arbeitsplatz und entsprechendes betriebsverfahren
DE69820413T2 (de) Gebraucherschnittstelle für einen drucker/kopierer, an einer entfernten stelle eines internet/intranetzes
DE69737170T2 (de) Auswahl von Befehlen in einem Rechnersystem
DE69128852T2 (de) Automatisierte Aufnahme eines Rechnerssystems in einem Dienstnetzwerk von Rechnersystemen
DE69636157T2 (de) Verfahren und System zum graphischen Anzeigen und zur Navigation durch ein interaktives Sprachantwortmenü
DE69636854T2 (de) Zugriffs- und lieferungssystem für online/informationsdienste
DE69222821T2 (de) Genereller Datenaustausch
DE69820855T2 (de) Automatische Konfiguration eines Netzwerkdruckers
DE3788240T2 (de) Verfahren zur Selbstkonfigurierung von Endgeräten in einem Datenverarbeitungssystem.
DE69616882T2 (de) Kommunikationstreibersubsystem zum selektiven Richten von Kommunikationen in einem Digitalrechnersystem
DE69937266T2 (de) Anwenderschnittstelle für Datenverarbeitungssystem mit Jobüberwachung
DE4417588A1 (de) Verfahren und Vorrichtung zum Erfassen und Weiterleiten von Fensterereignissen zu einer Mehrzahl von bestehenden Anwendungen zur gleichzeitigen Ausführung
DE10234688A1 (de) System und Verfahren zum Entwickeln von kundenspezifischen Integrationstests und Netzwerk-Peripheriegerät-Auswertungen
DE10205111A1 (de) Dynamische Benutzerschnittstelle zum Erleichtern der Verwendung einer Netzvorrichtungsfähigkeit
DE19522185A1 (de) Ein Verfahren und System zur dynamischen Übersetzung zwischen verschiedenen grafischen Benutzeroberflächen-Systemen
DE10119876A1 (de) Verfahren, System und Computerprorammprodukt zur Bereitstellung einer Jobüberwachung
DE10051022B4 (de) Verfahren, System und Computerprogrammprodukt für die Neukonfiguration logischer Drucker in einem Druckernetzsystem beim Wechsel von einem Überwachungsprogramm zu einem zweiten Überwachungsprogramm
DE10231200A1 (de) Vorrichtung und Verfahren zum Bereitstellen eines Kundendienstes
DE69320915T2 (de) Datenverarbeitungssystem

Legal Events

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