-
TECHNISCHES
GEBIET
-
Die
vorliegende Erfindung betrifft allgemein ein verbessertes Datenverarbeitungssystem
und insbesondere ein Verfahren und eine Vorrichtung zur Verwaltung
der Anzeige von Daten. Ganz besonders stellt die vorliegende Erfindung
ein Verfahren, eine Vorrichtung und Computerbefehle zur Verwaltung
der Anzeigen von Dialogen in einem Satz von Rechnereinheiten bereit.
-
HINTERGRUND
DER ERFINDUNG
-
Rechnereinheiten
kommen in vielen verschiedenen Formen vor. Rechnereinheiten können zum
Beispiel ein Arbeitsplatzrechner, ein Laptop, ein PDA (persönlicher
digitaler Assistent) und ein digitales oder Mobiltelefon sein. Größere Einheiten
wie beispielsweise Arbeitsplatzrechner und Personal Computer stellen
in großem
Umfang Speicherkapazität
und Rechenleistung zur Verfügung.
Kleinere Rechnereinheiten wie beispielsweise ein PDA oder ein Mobiltelefon
verfügen
nicht über
so viel Rechenleistung oder Speicherkapazität. Derartige Geräte bieten
dem Benutzer jedoch Mobilität
und praktischen Nutzen.
-
Benutzer
verwalten oft Datenbanken mit Adressen und Terminen. Mit Hilfe von
tragbaren Rechnereinheiten wie beispielsweise PDAs und Mobiltelefonen
ist ein Benutzer in der Lage, Informationen wie beispielsweise Adressen
und Termine in diesen Geräten
bei sich zu tragen, um auf diese Informationen leicht zuzugreifen.
Da Benutzer Änderungen
vornehmen, während
sie diese Rechnereinheiten bei sich tragen, können die Änderungen mit Datenbanken synchronisiert
werden, die sich auf weniger mobilen Rechnereinheiten befinden,
zum Beispiel auf einem Personal Computer. Auf diese Weise kann ein
Benutzer auf mehreren Rechnereinheiten über eine aktuelle Informationsdatenbank
verfügen.
-
Ein
oft verwendetes Programm ist ein Kalenderprogramm. Ein Benutzer
kann Ereignisse erzeugen, die zum späteren Nachschlagen gespeichert werden.
Zusammen mit dem Ereignis kann ferner eine Erinnerungsoption für dieses
Ereignis erzeugt werden. Diese Erinnerungsoption veranlasst das
Kalenderprogramm, zu einem vorgegebenen Zeitpunkt vor dem Ereignis
ein Dialogfenster anzuzeigen, um den Benutzer an das bevorstehende
Ereignis zu erinnern, was zum Beispiel in der Patentanmeldung US 2002/0
137 552 beschrieben wird.
-
Wenn
jedoch mehrere Rechnereinheiten zur Verfügung stehen, kann die Synchronisierung
von Informationen zwischen diesen Einheiten dazu führen, dass
ein Dialogfenster für
den Benutzer in allen Einheiten angezeigt wird, um das Ereignis
zu bestätigen und
möglicherweise
ein „Wecksignal" einzustellen.
-
Wenn
ein Benutzer mehrere Erinnerungen bestätigen muss, stellt dies den
Nutzen des Systems infrage, da der Benutzer dieselbe Erinnerung
wiederholt auf verschiedenen Rechnereinheiten bestätigen muss.
Deshalb wäre
es von Vorteil, über
ein verbessertes Verfahren, eine verbesserte Vorrichtung und verbesserte
Computerbefehle zu verfügen,
um dem Benutzer nur eine einzige Erinnerung anzuzeigen.
-
BESCHREIBUNG
DER ERFINDUNG
-
Daher
stellt die vorliegende Erfindung gemäß einem ersten Aspekt ein Verfahren
in einer Benutzer-Rechnereinheit zum Anzeigen von Dialogen bereit,
wobei das Verfahren Folgendes umfasst: Empfangen einer Anforderung
zum Anzeigen eines Dialogs; Erkennen von Rechnereinheiten in der
Nähe der
Rechnereinheit des Benutzers, wenn die Anforderung empfangen wird,
zur Bildung eines Satzes von benachbarten Rechnereinheiten; und
Darstellen des Dialogs auf der Rechnereinheit des Benutzers, wenn
es im Satz der benachbarten Rechnereinheiten keine vorrangige Rechnereinheit
gibt.
-
Vorzugsweise
können
Daten mit dem Verfahren gemäß dem ersten
Aspekt zwischen den Rechnereinheiten synchronisiert werden.
-
Vorzugsweise
umfasst das Verfahren gemäß dem ersten
Aspekt das Ermitteln, welche Einheit im Satz der benachbarten Einheiten
die vorrangige Einheit ist.
-
Ferner
wird mit dem Verfahren gemäß dem ersten
Aspekt die vorrangige Rechnereinheit vorzugsweise gemäß einer
Strategie festgelegt.
-
vorzugsweise
wird bei dem Verfahren gemäß dem ersten
Aspekt eine Benutzereingabe zur Erkennung der vorrangigen Einheit
verwendet.
-
Gemäß einem
zweiten Aspekt stellt die vorliegende Erfindung daher ein Verfahren
in einer Benutzer-Rechnereinheit zum Anzeigen von Dialogen in einem
Satz von Rechnereinheiten einschließlich der Benutzer-Rechnereinheit
bereit, wobei das Verfahren Folgendes umfasst: Erkennen von Rechnereinheiten
innerhalb des Satzes von Rechnereinheiten in einer ausgewählten Nachbarschaft
der Rechnereinheit des Benutzers als Reaktion auf eine Anforderung
zum Anzeigen eines Dialogs, um einen Satz benachbarter Rechnereinheiten
zu bilden; und selektives Anzeigen des Dialogs auf der Rechnereinheit des
Benutzers gemäß einer
Strategie, wobei die Strategie dazu führt, dass der Dialog entweder
nur in der Rechnereinheit des Benutzers oder im Satz der benachbarten
Rechnereinheiten angezeigt wird.
-
Vorzugsweise
beinhaltet die Strategie bei dem Verfahren gemäß dem zweiten Aspekt Prioritäten für die Benutzer-Rechnereinheit
und den Satz von Rechnereinheiten.
-
Ferner
umfasst der Anzeigeschritt bei dem Verfahren gemäß dem zweiten Aspekt vorzugsweise Folgendes:
Ermitteln, ob die Benutzer-Rechnereinheit eine höhere Priorität als der
Satz benachbarter Rechnereinheiten besitzt; und Anzeigen des Dialogs auf
der Rechnereinheit des Benutzers als Reaktion auf die Rechnereinheit
des Benutzers, die gegenüber dem
Satz benachbarter Rechnereinheiten die höchste Priorität besitzt.
-
Vorzugsweise
umfasst das Verfahren gemäß dem zweiten
Aspekt die Ermittlung, ob der Dialog bereits früher einer aus dem Satz der
Rechnereinheiten angezeigt wurde; und Verhindern des Startens des Anzeigeschrittes
als Reaktion auf eine frühere
Anzeige des Dialogs.
-
Vorzugsweise
beinhaltet der Satz von Rechnereinheiten bei dem Verfahren gemäß dem zweiten Aspekt
mindestens einen Laptop-Computer,
einen PDA oder ein digitales Telefon.
-
Vorzugsweise
ist bei dem Verfahren gemäß dem zweiten
Aspekt die ausgewählte
Nachbarschaft gegeben, wenn eine drahtlose Kommunikation zwischen
der Rechnereinheit und dem Satz von Rechnereinheiten besteht.
-
Vorzugsweise
dient bei dem Verfahren gemäß dem zweiten
Aspekt der Dialog für
eine Erinnerung an eine Besprechung.
-
Daher
stellt die vorliegende Erfindung ferner Einheiten und Computerprogrammprodukte
gemäß den oben
erwähnten
Verfahren bereit.
-
Somit
stellt die vorliegende Erfindung ein Verfahren in einer Rechnereinheit
eines Benutzers zum Anzeigen von Dialogen bereit. Als Reaktion auf eine
Anforderung zum Anzeigen eines Dialogs wird eine Erkennung von Rechnereinheiten
innerhalb des Satzes von Rechnereinheiten in einer ausgewählten Nachbarschaft
der Rechnereinheit des Benutzers durchgeführt, um einen Satz benachbarter
Rechnereinheiten zu bilden. Diese Erkennung kann zu verschiedenen
Zeitpunkten durchgeführt
werden. Zum Beispiel kann die Erkennung erfolgen, wenn eine Kommunikationsverbindung
eingerichtet wird, oder während
der Datensynchronisierung. Der Dialog wird gemäß einer Strategie nur auf der
Rechnereinheit des Benutzers oder auf dem Satz benachbarter Rechnereinheiten
angezeigt.
-
KURZBESCHREIBUNG DER ZEICHNUNGEN
-
Im
Folgenden wird eine bevorzugte Ausführungsart der vorliegenden
Erfindung lediglich beispielhaft unter Bezug auf die folgenden Zeichnungen ausführlich beschrieben:
-
1A bis 1C sind
Schaubilder von Rechnereinheiten, die zum Anzeigen einer einzelnen Erinnerung
für einen
Benutzer gemäß einer
bevorzugten Ausführungsart
der vorliegenden Erfindung verwendet werden;
-
2 ist
ein Blockschaltbild einer Rechnereinheit, in der die vorliegende
Erfindung realisiert werden kann;
-
3 ist
ein Blockschaltbild einer Rechnereinheit in Form eines PDA gemäß einer
bevorzugten Ausführungsart
der vorliegenden Erfindung;
-
4 ist
ein Schaubild, das die zum Verwalten der Anzeige von Dialogen in
Rechnereinheiten gemäß einer
bevorzugten Ausführungsart
der vorliegenden Erfindung verwendeten Komponenten veranschaulicht;
-
5 ist
ein Ablaufdiagramm eines Prozesses zur Verarbeitung einer Anforderung
zum Anzeigen eines Dialogs gemäß einer
bevorzugten Ausführungsart
der vorliegenden Erfindung;
-
6 ist
ein Ablaufdiagramm eines Prozesses zur Verwaltung der Bestätigung einer
Erinnerung gemäß einer
bevorzugten Ausführungsart
der vorliegenden Erfindung; und
-
7 ist
ein Ablaufdiagramm eines Prozesses zur Verwaltung von Erinnerungsereignissen
gemäß einer
bevorzugten Ausführungsart
der vorliegenden Erfindung.
-
AUSFÜHRUNGSMÖGLICHKEIT
FÜR DIE
ERFINDUNG
-
Im
Folgenden werden unter Bezug auf die Figuren und insbesondere auf
die 1A bis 1C Schaubilder
gemäß einer
bevorzugten Ausführungsart
der vorliegenden Erfindung zur Veranschaulichung von Rechnereinheiten
beschrieben, die zum Anzeigen einer einzigen Erinnerung für einen
Benutzer verwendet werden. In 1A stehen
ein Laptop-Computer 100, ein PDA 102 und ein digitales
Telefon 104 miteinander, nicht aber mit dem Personal Computer 106 in
Verbindung. Der Laptop-Computer 100,
der PDA 102 und das digitale Telefon 104 stehen über die
Datenübertragungsverbindungen 108, 110 und 112 miteinander
in Verbindung.
-
In
diesen Beispielen sind diese Datenübertragungsverbindungen drahtlose
Verbindungen, die unter Verwendung der Bluetooth-Technologie hergestellt werden. Diese
drahtlosen Verbindungen können
auf verschiedenen Protokollen basieren. Beim vorliegenden Beispiel
basieren diese Verbindungen auf einem Standard, der durch eine Gruppe
von Elektronikherstellern entwickelt wurde und allen möglichen
Elektronikgeräten,
von Computern und Mobiltelefonen bis zu Tastaturen und Kopfhörern, ermöglicht,
ohne Leitungen, Kabel oder direkte Einwirkung eines Benutzers ihre
eigenen Verbindungen herzustellen. Der Standard und die Kenndaten
für Bluetooth
sind von der Bluetooth Special Interest Group festgelegt worden.
Je nach der bestimmten Ausführungsart
können
andere Arten von drahtlosen Verbindungen verwendet werden, zum Beispiel
Infrarot oder IEEE 802.11.b, auch unter der Bezeichnung Wi-Fi bekannt.
-
Jede
dieser Rechnereinheiten beinhaltet wie oben beschrieben ein Kalenderprogramm
sowie Kalenderdaten für
das Kalenderprogramm. Zu diesen Kalenderdaten gehören Ereignisse
sowie Erinnerungsoptionen, die für
ein oder mehrere der Ereignisse gewählt wurden. Zum Beispiel kann
das Ereignis eine Besprechung sein, die um 9.00 Uhr vormittags beginnt.
Die Erinnerungsoption für
das Ereignis kann dreißig
Minuten vor der Versammlung ein Dialogfenster erzeugen. Dieses Ereignis
kann auf einer Rechnereinheit, zum Beispiel auf einem Personal Computer 106,
einmalig festgelegt oder in den Kalender eingetragen werden. Im
vorliegenden Beispiel wird dieses Ereignis vor dem Aufbau dieser
Datenübertragungsverbindungen
mit dem PDA 102 synchronisiert.
-
Wenn
der Laptop-Computer 100, der Laptop-Computer 100 und
das digitale Telefon 104 miteinander in Verbindung stehen,
können
diese Einheiten die Kalenderdaten synchronisieren. Insbesondere
kann das Ereignis für
die Besprechung an die Kalenderdaten im PDA 102 und im
digitalen Telefon 104 übermittelt
werden, wenn die Kalenderdaten zwischen diesen Rechnereinheiten
synchronisiert werden. Wenn nun eine Erinnerung angezeigt wird,
wird diese Erinnerung folglich auf allen drei Einheiten angezeigt.
Deshalb müsste
der Benutzer auf allen Einheiten das Ereignis bestätigen oder
die Schlummeroption einstellen.
-
Eine
bevorzugte Ausführungsart
der vorliegenden Erfindung stellt ein Verfahren, eine Vorrichtung
und Computerbefehle für
einen Mechanismus bereit, um die Erinnerung nur auf einer der Rechnereinheiten
anzuzeigen. Bei diesen Beispielen werden die Dialoge nur dann auf
einer Rechnereinheit angezeigt, wenn sich der Benutzer in der Nähe befindet, um
den Dialog zu bestätigen.
Die Mechanismen gestatten einem Benutzer, ausgehend von der Nachbarschaft
eine Hierarchie der reagierenden Rechnereinheiten zu erzeugen, sodass
die Erinnerung nur auf der Einheit mit der höchsten Priorität angezeigt
wird.
-
Bei
einem Beispiel kann der Benutzer eine Priorität für Einheiten derart auswählen, dass
ein Dialog auf dem Personal Computer 106 angezeigt wird, wenn
sich entweder der Laptop-Computer 100,
der PDA 102 oder das digitale Telefon 104 in der
Nachbarschaft des Personal Computers 106 befindet. Bei einem
zweiten Beispiel mit einer niedrigeren Priorität, wenn sich entweder der PDA 102 oder
das digitale Telefon 104 in der Nachbarschaft des Laptop-Computers 100 befindet,
wird ein Dialog auf dem Laptop-Computer 100 angezeigt.
Bei einer anderen Priorität
in diesem Beispiel werden Dialoge auf dem PDA 102 angezeigt,
wenn sich das digitale Telefon 104 in der Nachbarschaft
des PDA 102 befindet. Wenn sich weder der Laptop-Computer 100 noch
der PDA 102 in der Nachbarschaft des digitalen Telefons 104 befindet,
werden Dialoge auf dem PDA 102 und auf dem digitalen Telefon 104 angezeigt.
In diesem Beispiel werden zwei Dialoge auf zwei Einheiten angezeigt.
Diese Dialoge warten darauf, bestätigt zu werden. Wenn einer
der Dialoge bestätigt
wird und sich die Einheiten einander annähern, werden die Dialoge synchronisiert.
Der nicht bestätigte
Dialog wird dann automatisch als erledigt betrachtet, da der andere
Dialog bestätigt
worden ist.
-
Der
PDA 102 und das digitale Telefon 104 gelten als
in der Nachbarschaft des Laptop-Computers 100 befindlich,
wenn zwischen diesen Einheiten eine Verbindung zur Übertragung
von Daten besteht. Als Nachbarschaft kann gelten, wenn zwischen den Einheiten
ein Abstand oder eine Reichweite besteht, zwischen den Einheiten
eine Datenübertragungsverbindung
eingerichtet ist oder wenn die Einheiten miteinander Daten austauschen,
zum Beispiel während der
Datensynchronisierung. Wenn die Einheiten nicht miteinander Daten
austauschen können,
werden sie nicht als benachbart angesehen.
-
In 1A wird
ein Dialog auf dem Laptop-Computer 100 angezeigt, während auf
dem PDA 102, dem digitalen Telefon 104 und dem
Personal Computer 106 keine Dialoge angezeigt werden. Der Personal
Computer 106 zeigt keinen Dialog an, da zwischen dieser
Einheit und einer anderen Einheit des Prioritätsschemas kein Datenaustausch
stattfindet. In diesem Beispiel werden Dialoge auf dem Laptop-Computer 100 angezeigt
und auf den anderen Einheiten unterdrückt.
-
In 1B tauscht
keine der Rechnereinheiten mit einer anderen Daten aus. Das digitale
Telefon 104 und der PDA 102 werden durch einen
Benutzer außerhalb
der Verbindungsreichweite des Laptop-Computers 100 und
des Personal Computers 106 gebracht. Der PDA 102 ist
ausgeschaltet. In dieser Situation werden Dialoge auf dem digitalen
Telefon 104 angezeigt. Wenn der PDA 102 eingeschaltet wäre und mit
dem digitalen Telefon 104 in Verbindung stünde, würden Dialoge
auf dem PDA 102 angezeigt.
-
Sodann
tauschen in 1C der PDA 102, das
digitale Telefon 104 und der Personal Computer 106 über die
Datenübertragungsverbindungen 114, 116 und 118 Daten
miteinander aus. Wenn das Ereignis Besprechung bestätigt wurde,
zeigt der Personal Computer 106 keinen Dialog an, da die
Einstellung der Schlummeroption durch den PDA 102 und/oder das
digitale Telefon 104 übermittelt
wurde, als die Daten zwischen den Rechnereinheiten synchronisiert wurden.
Wenn die Rechnereinheiten gerade nicht miteinander verbunden sind
oder Daten austauschen, wird der Dialog auf allen Rechnereinheiten angezeigt.
Wenn sich die Rechnereinheiten in der Nähe befinden, zum Beispiel wenn
sie miteinander Daten austauschen oder die Datensynchronisierung durchführen, werden
die Dialoge für
alle Rechnereinheiten als erledigt angesehen, wenn dieser Dialog durch
eine der getrennten Rechnereinheiten bestätigt wurde. Wenn keine Bestätigung erfolgt
ist, wird der Dialog gemäß dem Prioritätsschema
in diesen Beispielen auf einer der Einheiten angezeigt.
-
Dadurch
wird ein Mechanismus bereitgestellt, mit dem in Abhängigkeit
von der Entfernung einer Rechnereinheit zu benachbarten Rechnereinheiten
Dialoge annulliert werden können.
Der Name der Einheit, die das Annullieren von Dialogen ermöglicht oder
auslöst,
kann durch einen Erkennungsprozess erkannt werden. Daten zur Kennzeichnung
anderer Einheiten und deren Prioritäten können durch diesen Prozess in
jeder der Einheiten gespeichert werden.
-
In
diesen Beispielen kann eine Hierarchie vorrangigen (zum Annullieren
berechtigter) Einheiten festgelegt werden. Die Hierarchie kann zum
Beispiel wie folgt aussehen: Personal Computer 106, Laptop-Computer 100,
PDA 102 und digitales Telefon 104, wobei der Personal
Computer 106 die höchste und
das digitale Telefon die niedrigste Priorität in der Hierarchie besitzt.
Bei dieser Hierarchie zeigt das digitale Telefon 104 keinen
Dialog an, wenn sich der Laptop-Computer 100 in der Nachbarschaft
des digitalen Telefons 104 befindet. Desgleichen zeigt
das digitale Telefon 104 keinen Dialog an, wenn sich der PDA 102 in
der Nachbarschaft befindet. Stattdessen wird der Dialog auf dem
PDA 102 angezeigt. Ein Dialog wird nicht auf dem PDA 102,
sondern auf dem Laptop-Computer 100 angezeigt,
wenn sich der PDA 102 in der Nachbarschaft des Laptop-Computers 100 befindet.
Ein Dialog wird auf dem Personal Computer 106 angezeigt,
wenn sich der PDA in der Nachbarschaft des Personal Computers 106 befindet.
Der Personal Computer 106 wird gegenüber dem Laptop-Computer 100 als
vorrangige Einheit angesehen.
-
Diese
Prioritäten
und Hierarchien können unter
Verwendung einer Strategie festgelegt werden, die in den verschiedenen
Einheiten umgesetzt wird bzw. gespeichert ist. In Abhängigkeit
von der jeweiligen Ausführungsart
können
viele verschiedene Hierarchien oder Regeln festgelegt werden, nach
denen bestimmte Einheiten Vorrang gegenüber anderen Einheiten genießen. Ferner
kann der Dialogbearbeitungsmechanismus mit anderen Anzahlen und/oder Arten
von Rechnereinheiten als den dargestellten ausgeführt werden.
Zum Beispiel kann der Annullierungsmechanismus nur zwischen dem
digitalen Telefon 104 und dem Laptop-Computer 100 eingesetzt werden.
-
2 zeigt
ein Blockschaltbild einer Rechnereinheit, in der eine bevorzugte
Ausführungsart
der vorliegenden Erfindung ausgeführt werden kann. Die Rechnereinheit 200 ist
zum Beispiel ein Computer wie der Laptop-Computer 100 oder
der Personal Computer 106 in 1,
in dem sich ein Code oder Anweisungen zum Ausführen des Prozesses einer bevorzugten
Ausführungsart
der vorliegenden Erfindung befinden können. Das Datenverarbeitungssystem 200 nutzt
eine lokale PCI-Busarchitektur
(Peripheral Component Interconnect Bus, Verbindungsbus für Erweiterungskomponenten).
Obwohl bei dem dargestellten Beispiel ein PCI-Bus verwendet wird, können auch
andere Busarchitekturen wie beispielsweise AGP (Accelerated Graphics
Port, beschleunigte Grafikschnittstelle) und ISA (Industry Standard
Architecture, Industriestandard-Architektur)
verwendet werden. Der Prozessor 202 und der Hauptspeicher 204 sind über die
PCI-Brücke 208 mit
dem lokalen PCI-Bus 206 verbunden. Die PCI-Brücke 208 kann auch
eine integrierte Speichersteuerung und einen Cache-Speicher für den Prozessor 202 enthalten. Durch
direkt angeschlossene Komponenten oder Steckkarten können zusätzliche
Verbindungen zum lokalen PCI-Bus 206 hergestellt werden.
Beim dargestellten Beispiel sind durch direkten Anschluss ein LAN-Adapter
(Local Area Network, lokales Netz) 210, ein SCSI-Hostbusadapter
(Small Computer System Interface, Schnittstelle für kleine
Computersysteme) 212 und eine Erweiterungsbusschnittstelle 214 mit
dem lokalen PCI-Bus 206 verbunden. Hingegen sind ein Audioadapter 216,
ein Grafikadapter 218 und ein Audio/Videoadapter 219 durch
Steckkarten mit dem lokalen PCI-Bus 206 verbunden,
die in Erweiterungssteckplätze
gesteckt sind. Die Erweiterungsbusschnittstelle 214 liefert
einen Anschluss für einen
Tastatur- und Mausadapter 220, einen Modem 222 und
einen Zusatzspeicher 224. Der SCSI-Hostbusadapter 212 liefert
einen Anschluss für
ein Festplattenlaufwerk 226, ein Bandlaufwerk 228 und
ein CD-ROM-Laufwerk 230. Typische lokale PCI-Busausführungen
unterstützen
drei oder vier PCI-Erweiterungssteckplätze oder
Steckkartenplätze.
-
Auf
dem Prozessor 202 läuft
ein Betriebssystem, das zur Koordinierung und Steuerung verschiedener
Komponenten in der Rechnereinheit 200 in 2 dient.
Als Betriebssystem kann ein handelsübliches Betriebssystem wie
beispielsweise Windows XP Verwendung finden, das von Microsoft Corporation
erhältlich ist.
Anweisungen für
das Betriebssystem und Anwendungen oder Programme befinden sich
in Speichereinheiten, zum Beispiel im Festplattenlaufwerk 226,
und können
zur Ausführung
durch den Prozessor 202 in den Arbeitsspeicher 204 geladen
werden.
-
Dem
Fachmann ist klar, dass die Hardware in 2 je nach
Ausführungsart
variieren kann. Zusätzlich
oder anstelle der in 2 dargestellten Hardware können auch
noch andere interne oder periphere Hardwareeinheiten verwendet werden,
zum Beispiel ein Nur-Lese-Flashspeicher (ROM), ein gleichwertiger
nichtflüchtiger
Speicher oder optische Plattenlaufwerke und dergleichen. Außerdem können die
Prozesse einer bevorzugten Ausführungsart der
vorliegenden Erfindung auf ein Multiprozessor-Datenverarbeitungssystem
angewendet werden.
-
Zum
Beispiel enthält
eine Rechnereinheit 200, wenn sie wahlweise als Netzrechner
konfiguriert ist, möglicherweise
keinen SCSI-Hostbusadapter 212, kein Festplattenlaufwerk 226,
kein Bandlaufwerk 228 und kein CD-ROM-Laufwerk 230.
In diesem Falle enthält
der Computer, der korrekt als Client-Computer bezeichnet wird, eine
Netzschnittstelle einer bestimmten Art, beispielsweise einen LAN-Adapter 210,
einen Modem 222 oder Ähnliches.
Ein anderes Beispiel für
das Datenverarbeitungssystem 200 kann ein Einzelplatzsystem
sein, das so konfiguriert ist, dass es ohne Netzschnittstelle gebootet
werden kann.
-
Das
in 2 dargestellte Beispiel und die oben beschriebenen
Beispiele sind bezüglich
der Architektur nicht als Einschränkung anzusehen. Als Rechnereinheit 200 kann
auch ein Selbstbedienungsterminal oder eine Interneteinheit in Frage kommen.
-
Die
Prozesse einer bevorzugten Ausführungsart
der vorliegenden Erfindung werden durch den Prozessor 202 unter
Verwendung von Computeranweisungen ausgeführt, die in einen Speicher,
zum Beispiel in den Arbeitsspeicher 204, den Speicher 224 oder
in eine oder mehrere Peripherieeinheiten 226 bis 230 geladen
werden können.
-
3 zeigt
ein Blockschaltbild einer Rechnereinheit in Form eines PDA gemäß einer
bevorzugten Ausführungsart
der vorliegenden Erfindung. Der PDA 300 stellt ein Beispiel
für ein
PDA dar, zum Beispiel für
den PDA 102 in 1, in dem
ein Code oder Anweisungen zum Ausführen des Prozesses einer bevorzugten
Ausführungsart
der vorliegenden Erfindung geladen sein kann. Der PDA 300 enthält einen Bus 302,
mit dem der Prozessor 304 und der Arbeitsspeicher 306 verbunden
sind. Außerdem
sind ein Bildschirmadapter 308, ein Tastaturadapter 310,
ein Speicher 312 und ein Audioadapter 314 mit
dem Bus 302 verbunden. Die Andockverbindung 316 stellt
ein Mechanismus zum Anschließen
des PDA 300 an eine Andockstation bereit, die zur Datensynchronisation
im PDA 300 mit einem anderen Datenverarbeitungssystem verwendet
wird. Ferner enthält
der Bildschirmadapter 308 auch einen Mechanismus zum Empfangen
von Benutzereingaben von einem Schreibstift, wenn ein Berührungsbildschirm
verwendet wird.
-
Im
Prozessor 304 läuft
ein Betriebssystem, das zum Koordinieren und zur Steuerung verschiedener
Komponenten innerhalb des PDA 300 in 3 dient.
Als Betriebssystem kann zum Beispiel ein handelsübliches Betriebssystem wie
beispielsweise Windows CE verwendet werden, das von Microsoft Corporation
erhältlich
ist. Anweisungen für
das Betriebssystem und Anwendungen oder Programme sind in Speichereinheiten
gespeichert, zum Beispiel im Speicher 312, und können zur
Ausführung
durch den Prozessor 304 in den Arbeitsspeicher 306 geladen werden.
-
Dem
Fachmann ist klar, dass die in 3 dargestellte
Hardware je nach Ausführungsart
variieren kann. Zusätzlich
oder anstelle der in 3 dargestellten Hardware kann
eine andere interne Hardware oder es können andere Peripherieeinheiten
wie beispielsweise Flash-ROM (oder ein gleichwertiger nichtflüchtiger
Speicher) oder optische Plattenlaufwerke und Ähnliches verwendet werden.
-
4 ist
ein Schaubild, das die zur Verwaltung der Anzeige von Dialogen in
Rechnereinheiten verwendeten Komponenten gemäß einer bevorzugten Ausführungsart
der vorliegenden Erfindung zeigt. In diesem Beispiel sind die Rechnereinheit 400 und die
Rechnereinheit 402 über
die Datenleitung 404 miteinander verbunden dargestellt.
-
Die
Rechnereinheit 400 enthält
eine Anwendung 406, die auf Daten in der Datenbank 408 zugreift.
Obwohl der hier beschriebene Mechanismus auf jedes Programm angewendet
werden kann, das Dialoge erzeugt, stellt die Anwendung 406 im
vorliegenden Beispiel eine Kalenderanwendung dar, und die Datenbank 408 ist
eine Ereignisdatenbank. Der Dialogmanager 410 stellt die
Komponente dar, die Dialoge sowie das Annullierungssystem einer
bevorzugten Ausführungsart
der vorliegenden Erfindung verwaltet. Der Dialogmanager 410 zeigt
Dialoge selektiv als Reaktion auf Anforderungen von Anwendungen,
zum Beispiel von der Anwendung 406, an. Die Strategieeinheit 412 enthält die Daten
zum Ermitteln, ob der Dialogmanager 410 einen Dialog als
Reaktion auf eine Anforderung von der Anwendung 406 anzeigt.
Die Rechnereinheit 402 enthält eine Anwendung 414,
eine Datenbank 416, einen Dialogmanager 418 und
eine Strategieeinheit 420.
-
Bei
diesem Beispiel ist die Rechnereinheit 400 ein digitales
Telefon, während
die Rechnereinheit 402 ein Laptop-Computer ist. Die Rechnereinheit 402 besitzt
eine höhere
Priorität
als die Rechnereinheit 400. Die Rechnereinheit 402 ist
als vorrangige Einheit anzusehen. Diese Prioritäten sind in den Strategieeinheiten 412 und 420 gespeichert.
-
Die
Datenbank 408 ist mit der Datenbank 416 synchronisiert.
Wenn also ein in den Datenbanken gespeichertes Ereignis eine Option
für einen
Erinnerungsdialog enthält,
richten die beiden Anwendungen 406 und 414 Anforderungen
an den Dialogmanager 410 und den Dialogmanager 418,
gleichzeitig einen Dialog anzuzeigen. Die beiden Dialogmanager 410 und 418 suchen
dann, ob sich in der Nachbarschaft eine andere Rechnereinheit befindet.
Beim vorliegenden Beispiel liegt eine Nachbarschaft vor, wenn zwischen
der Rechnereinheit 400 und der Rechnereinheit 402 eine
Datenübertragungsverbindung
besteht. Die Nachbarschaft kann auch durch eine Einheitensynchronisation
gegeben sein. Außerdem
kann eine Nachbarschaft auch durch Dritte zustande kommen, zum Beispiel
durch eine Telefongesellschaft, die einem Laptop Informationen über den Standort
des digitalen Telefons zur Verfügung
stellt. Außerdem
kann die Nachbarschaft von Standortinformationen herrühren, die
von einem GPS-System erhalten werden. In einem solchen Falle werden
Koordinatenbereiche ermittelt und können in Form von Nachrichten
an die entsprechenden Rechnereinheiten gesendet werden. Ferner kann
die Nachbarschaft auch durch andere Ereignisse wie beispielsweise
die Tageszeit bestimmt sein. Zum Beispiel kann eine Strategie mit
Hilfe einer Regel festgelegt werden, die festlegt, dass der Laptop-Computer
und der PDA von Montag bis Freitag einander benachbart sind und
Dialoge nur auf dem Laptop angezeigt werden sollen. In diesem Falle
gibt der Benutzer die Nachbarschaftsinformationen ein. Diese Art
der Nachbarschaft wird auch als „statische Nachbarschaft" bezeichnet, da der
Benutzer die Bedingung für
die Nachbarschaft eingibt. Bei diesen Beispielen kann die Nachbarschaft
dadurch definiert werden, dass die Signalstärke einen ausgewählten Wert überschreitet. Sogar
die CPU-Abstrahlung
von anderen Einheiten kann zur Ermittlung der Nachbarschaft verwendet werden.
-
Sobald
die Rechnereinheit 400 und die Rechnereinheit 402 einander
erkannt haben, prüft der
Dialogmanager 410 die Strategie 412 und der Dialogmanager 418 die
Strategie 420, um zu ermitteln, ob als Reaktion auf Anforderungen
von einer Anwendung ein Dialog angezeigt werden soll. In diesem Beispiel
erkennt der Dialogmanager 410, dass es sich bei der Rechnereinheit 402 um
eine vorrangige Einheit handelt und zeigt kein Dialog an. Der Dialogmanager 418 erkennt
keine Einheit mit einer höheren Priorität. Deshalb
wird der Dialog 422 dem Benutzer durch die Einheit 402 angezeigt.
Zum Ermitteln, welche Rechnereinheit einen Dialog anzeigen soll,
können
in der Strategieeinheit 412 Prioritäten oder Regeln festgelegt
werden. Zur Festlegung der Priorität kann auch die Nutzung der
Einheit herangezogen werden. Wenn eine Rechnereinheit zum Beispiel
erkennt, dass der Benutzer gerade die Rechnereinheit, zum Beispiel
einen Laptop, bedient, kann diese Rechnereinheit anderen Rechnereinheiten
mitteilen, dass der Benutzer am Laptop sitzt und dass der Dialog
nur auf dem Laptop angezeigt werden soll.
-
Wenn
der Benutzer das Ereignis bestätigt, wird
der Dialog 422 geschlossen. Dialoge können auf allen Rechnereinheiten
angezeigt werden, die sich nicht in ihrer Nachbarschaft befinden.
Wenn der Benutzer einen Dialog auf einer Rechnereinheit bestätigt und
sich alle Rechnereinheiten in derselben Nachbarschaft befinden,
werden in diesem Falle wegen der Bestätigung des Dialogs durch den
Benutzer auf einer Rechnereinheit alle anderen Dialoge für dieses
Ereignis automatisch annulliert.
-
Auf
diese Weise werden somit Dialoge zwischen mehreren Rechnereinheiten
so verwaltet, dass einem Benutzer ausgehend von der Nachbarschaft
von Rechnereinheiten untereinander und der für die Rechnereinheiten ausgewählten Prioritäten nur
ein einziger Dialog angezeigt wird.
-
5 zeigt
ein Ablaufdiagramm eines Prozesses gemäß einer bevorzugten Ausführungsart
der vorliegenden Erfindung zur Verarbeitung einer Anforderung zum
Anzeigen eines Dialogs. Der in 5 dargestellte
Prozess kann in einem Prozess wie beispielsweise dem Dialogmanager 410 in 4 ausgeführt werden.
-
Der
Prozess beginnt mit dem Empfangen einer Anforderung zum Anzeigen
eines Dialogs (Schritt 500). Die Anforderung wird von einer
Anwendung, zum Beispiel von der Anwendung 406 in 4,
empfangen. In diesem Beispiel ist die Anwendung ein Kalenderprogramm,
das fordert, zur Erinnerung einen Dialog anzuzeigen. Dann ermittelt
der Prozess die Datenübertragungsverbindungen
zu Rechnereinheiten (Schritt 502). Dieser Schritt dient
dazu zu ermitteln, welche andere Rechnereinheit sich in der Nachbarschaft
befindet.
-
Anschließend wird
eine Strategie abgerufen (Schritt 504). Die Strategie enthält Regeln
und/oder Prioritäten,
anhand deren ermittelt wird, ob ein Dialog angezeigt werden soll.
-
Dann
werden die ermittelten Einheiten mit den jeweiligen Strategien verglichen
(Schritt 506). Ausgehend von diesem Vergleich wird ermittelt,
ob der Dialog angezeigt werden soll (Schritt 508). Wenn der
Dialog angezeigt werden soll, wird die Anzeige des Dialogs gestartet
(Schritt 510) und der Prozess anschließend beendet. Wenn dies nicht
der Fall ist, wird der Prozess beendet, ohne den Dialog auf der Rechnereinheit
anzuzeigen.
-
6 zeigt
ein Ablaufdiagramm eines Prozesses gemäß einer bevorzugten Ausführungsart
der vorliegenden Erfindung zur Verwaltung der Bestätigung einer
Erinnerung. Der in 6 dargestellte Prozess kann
in einem Prozess wie beispielsweise dem Dialogmanager 410 in 4 ausgeführt werden.
Der Prozess kann sich auch an anderen Standorten befinden, zum Beispiel
in einer Anwendung, im Betriebssystem oder sogar in der Firmware.
-
Der
Prozess beginnt mit der Anzeige der Erinnerung (Schritt 600).
Dann wird ermittelt, ob der Benutzer die Erinnerung bestätigt hat
(Schritt 602). Wenn der Benutzer die Erinnerung bestätigt, wird eine
Kennzeichnung dieser Erinnerung gespeichert (Schritt 604)
und anschließend
der Prozess beendet. Auch wenn der Benutzer die Erinnerung nicht
bestätigt,
wird der Prozess beendet.
-
Der
in 6 dargestellte Prozess dient zur Verarbeitung
der Bestätigung
von Erinnerungen auf verschiedenen Rechnereinheiten. Die Bestätigung einer
Erinnerung auf einer Rechnereinheit wird gespeichert und an andere
Rechnereinheiten übermittelt,
um anzuzeigen, dass die Erinnerung nicht mehr benötigt wird.
-
7 zeigt
ein Ablaufdiagramm eines Prozesses gemäß einer bevorzugten Ausführungsart
der vorliegenden Erfindung zur Verwaltung von Erinnerungsereignissen.
Der in 7 dargestellte Prozess kann in einem Prozess wie
beispielsweise einem Dialogmanager 410 in 4 ausgeführt werden.
Der Prozess beginnt mit der Ermittlung einer Rechnereinheit (Schritt 700).
Dann wird eine Verbindung zu einem Dialogmanager auf der anderen
Rechnereinheit hergestellt (Schritt 702). Anschließend werden
von der anderen Rechnereinheit Bestätigungen von Erinnerungen erhalten
(Schritt 704). Dann werden alle im System vorhandenen Erinnerungen
ermittelt (Schritt 706). Aus den ermittelten Erinnerungen
wird eine Erinnerung ausgewählt
(Schritt 708).
-
Dann
wird ermittelt, ob diese Erinnerung bestätigt worden ist (Schritt 710).
Wenn die Erinnerung noch nicht bestätigt worden ist, wird sie angezeigt (Schritt 712).
Dann wird ermittelt, ob noch weitere Erinnerungen verarbeitet werden
müssen
(Schritt 714). Wenn noch weitere Erinnerungen vorhanden
sind, geht der Prozess zurück
zu Schritt 708, um eine andere Erinnerung auszuwählen. Ansonsten
wird der Prozess beendet.
-
Deshalb
können
ausstehende Bestätigungen
automatisch annulliert werden, wenn auf nicht angeschlossenen Rechnereinheiten
ein Dialog angezeigt wird, der nicht bestätigt worden ist, aber diese Rechnereinheiten
in die Nachbarschaft einer Rechnereinheit gelangen, auf der der
Dialog bestätigt
worden ist. Dadurch wird eine einzige Dialogbestätigung erzeugt. Somit werden
ein Verfahren, eine Vorrichtung und Computeranweisungen bereitgestellt,
damit Dialoge nur auf einer einzigen Rechnereinheit angezeigt werden
können.
Der Mechanismus annulliert die Anzeige von Dialogen auf anderen
Rechnereinheiten, die sich in der Nachbarschaft einer ausgewählten Rechnereinheit
befinden. Auf diese Weise ist ein Benutzer in der Lage, einen einzigen
Dialog anzusehen, ohne denselben Dialog auf mehreren Einheiten bestätigen zu
müssen.
Die dargestellten Beispiele veranschaulichen die Verwaltung von
Dialogen für
Erinnerungen für
ein Kalenderprogramm. Dieser Mechanismus kann für jede andere Anwendung eingesetzt
werden, die Dialoge für
Daten anzeigt, die zwischen Rechnereinheiten synchronisiert sind.
Außerdem
ist der Mechanismus so veranschaulicht worden, dass er in einem
Dialogverwaltungsprozess ausgeführt
wird. Dieser Prozess kann auf verschiedene Art ausgeführt werden.
Zum Beispiel kann der Prozess als Teil eines Betriebssystems, als
separates Programm oder als Teil einer Anwendung wie beispielsweise
eines Kalenderprogramms ausgeführt werden.
-
Es
muss darauf hingewiesen werden, dass bevorzugte Ausführungsarten
der vorliegenden Erfindung zwar im Zusammenhang mit einem kompletten Datenverarbeitungssystems
beschrieben wurden, jedoch ist dem Fachmann klar, dass die Prozesse
in Form von Anweisungen auf einem computerlesbaren Medium und in
einer Vielfalt von Formen verbreitet werden können und dass die Mechanismen
unabhängig
von der speziellen Art des jeweils zum Ausführen der Verbreitung verwendeten
Signalträgermediums
in gleicher Weise gelten. Beispiele für computerlesbare Medien sind
unter anderem Aufzeichnungsmedien wie beispielsweise eine Diskette,
ein Festplattenlaufwerk, ein RAM, CD-ROMs, DVD-ROMs und Übertragungsmedien
wie beispielsweise digitale und analoge Datenübertragungsverbindungen, leitungsgebundene
oder drahtlose Datenübertragungsverbindungen,
die verschiedene Übertragungsformen
verwenden, zum Beispiel Funk- und Lichtwellenübertragungen. Die computerlesbaren
Medien können
die Form von codierten Formaten annehmen, die zur eigentlichen Verwendung
in einem bestimmten Datenverarbeitungssystem decodiert werden.