-
Bereich der
Erfindung
-
Die
Erfindung bezieht sich auf Kommunikationssysteme und insbesondere
auf ein Kommunikationssystem und -verfahren, das unterschiedliche
Arten von Nachrichten in ähnlicher
Weise behandelt und für
eine einheitliche Behandlung unterschiedlicher Arten von Nachrichten
sorgt. Die vorliegende Erfindung behandelt außerdem ein Kommunikationssystem
und -verfahren, das eine lokale Schaltsteuerung der Telefonschnittstellenschaltkreise
zu Netzwerkkanälen
bereitstellt, um kritische Situationen zu vermeiden.
-
Hintergrund
der Erfindung
-
In
der Vergangenheit haben Kommunikationssysteme unterschiedliche Arten
von Nachrichten unterschiedlich behandelt. Insbesondere Telefonanrufe,
elektronische Post (E-Mail), Stimmnachrichten, Telefaxnachrichten
und Anrufe für
Bildübertragung wurden
durch diese Kommunikationssysteme unter Verwendung getrennter Anwendungen
behandelt. Diese getrennten Anwendungen haben typischerweise unterschiedliche
Wirkungsweisen und arbeiten alle etwas unterschiedlich, was die
Integration der Anwendungen erschwert.
-
Ebenfalls
wurden Kommunikationssysteme erwogen, die "Universalkästen" haben, um E-Mail, Stimmnachrichten
und Telefaxnachrichten zu behandeln. Diese Kommunikationssysteme
basieren auf einer Klient-Server-Architektur, wobei der Server als Zentral prozessor
fungiert und den Datenfluß in
dem Kommunikationssystem steuert. Die Steuerung von Telefonanrufen
wird ebenfalls durch den Server vollzogen. Auch wenn diese Art Kommunikationssystem eine "Universalbox" bereitstellt, werden
die unterschiedlichen Arten von Nachrichten immer noch unterschiedlich
behandelt. Auch kann der zentralisierte Server zur Steuerung der
Nachrichten in dem Kommunikationssystem zum Flaschenhals werden.
Außerdem
muß in
diesen Kommunikationssystemen, wenn ein Teilnehmer einen anderen
Teilnehmer in die Wartestellung setzen will, dieser Teilnehmer dem Server
das Signal geben, daß er
den Kanal des anderen Teilnehmers mit der Stummstellung verbindet und
seinen Kanal mit dem Amtszeichen verbindet. Wenn der in die Wartestellung
versetzte Teilnehmer seine Kanäle
beeinflußt,
können
kritische Situationen auftreten. Wie dem Fachmann ersichtlich, zwingen diese
Kommunikationssysteme die Benutzer, auf durch das Kommunikationssystem
festgelegte Arten zu kommunizieren. Somit müssen sich Benutzer an die Beschränkungen
des Kommunikationssystems anpassen, anstelle daß sich das Kommunikationssystem
an die Bedürfnisse
der Benutzer anpaßt.
-
Bei
dem in
GB 2 289 598
A offenbarten Kommunikationssystem sind in den mit dem
Kommunikationssystem verbundenen PCs (sogenannte "processor systems") Kontrollagenten
(sogenannte "group agents") vorgesehen, die Zielanweisungen
von anderen Agenten empfangen und Prozesse zur Erreichung dieser
Ziele, z.B. zum Aufbau einer Telefonverbindung, aufrufen. Zusätzlich werden
Hilfsagenten (z.B. sogenannte "dial
tone generator agents") bereitgestellt,
die Zielanweisungen von den Kontrollagenten empfangen und zur Ereichung
des jeweiligen Ziels die ihnen zugeordnete Vorrichtung (wie z.B. einen
Wähltongenerator)
steuern. Alle Agenten sind über
ein lokales Netzwerk miteinander verbunden. Beim Einwählen eines
Nutzers in das Netzwerk wird vom Kontrollagenten außerdem ein
Nutzeragent (sogenannter "user
agent") für den Nutzer
konfiguriert.
-
US 5,638,494 zeigt ein Kommunikationssystem
mit einer Vielzahl von Prozessagenten (sogenannte "process agents"), die Zielanweisungen
empfangen und Prozesse zur Ereichung der Ziele aufrufen, sowie eine
Vielzahl von Hilfsagenten (sogenannten "device agents"), die jeweils einer Vorrichtung zugeordnet
sind. Die Hilfsagenten empfangen Zielanweisungen von den Prozessagenten
und steuern die ihnen zugeordneten Vorrichtungen gemäß den Zielanweisungen.
Alle Agenten sind über
ein Netzwerk zum Austausch der Zielanweisungen miteinander verbunden.
-
WO
87/07801 A1 beschreibt ein Kommunikationssystem einer mit sogenannten "Unifield Messaging"-Funktionali tät. Jeder
Nutzer legt dabei den Dienst (z.B. Voice Mail oder elektronische
Mail) fest, über
den er alle für
ihn bestimmten Nachrichten empfangen will. Eine universelle Mailbox
nimmt die an den Nutzer gerichteten Nachrichten aller Art entgegen,
benachrichtigt den Nutzer vom Vorliegen einer neuen Nachricht und
führt bei
Bedarf eine Umwandlung zwischen verschiedenen Nachrichten durch.
Anhängsel
können
mit bestimmten Arten von Nachrichten, wie z.B. eine elektronische
Mail, empfangen werden.
-
Es
ist daher Aufgabe der vorliegenden Erfindung, ein neues Kommunikationssystem
und -verfahren bereitzustellen, das mindestens einen der oben beschriebenen
Nachteile beseitigt oder lindert.
-
Zusammenfassung
der Erfindung
-
Zur
Lösung
der obigen Aufgabe stellt die vorliegende Erfindung Verfahren und
Kommunikationssysteme gemäß den unabhängigen Ansprüche bereit.
-
Bevorzugte
Ausführungsformen
sind in den abhängigen
Ansprüchen
definiert.
-
Einige
bevorzugte Ausführungsformen
sind im Folgenden kurz dargestellt.
-
Vorzugsweise
wird mindestens ein Nachrichtenordner für jeden Agenten geführt, der
eine Person oder Leute mit unterschiedlichen Rollen darstellt. Es
wird ebenfalls vorgezogen, daß die
unterschiedlichen Nachrichtenarten Anrufe für Stimmübertragung, Anrufe für Bildübertragung,
Verabredungen, Anrufe für
gemeinsame Daten, elektronische Brief- und Stimmnachrichten und
Telefaxnachrichten umfassen.
-
Vorzugsweise
wird jeder Tischkontrollagent durch einen Benutzeragenten erzeugt
und hat Befehlsmacht über
eine Mehrzahl von Hilfsagenten. Jeder der Hilfsagenten empfängt und
speichert Ziele und betreibt eine zugehörige Vorrichtung, um zuzulassen,
daß unterschiedliche
Nachrichtenarten zwischen Agenten, die Befehlsmacht über Tischkontrollagenten
haben, auftreten.
-
Vorzugsweise
speichert jeder Rollenagent den mindestens einen Nachrichtenordner
für einen zugehörigen Benutzeragenten
und erzeugt Einträge für die Protokolle,
wenn Nachrichten erstellt und empfangen werden. Es wird ebenfalls
vorgezogen, daß die
Protokolle sortiert und so angeordnet werden können, daß die Einträge in im wesentlichen jeder passenden
und erwünschten
Weise angeordnet werden. Vorzugsweise erzeugen die Tischkontrollagenten
Betriebssystemüberwachungsagenten,
um die Betriebssysteme von Computern zu überwachen, so daß die Rollenagenten
Protokolle von erzeugten Dateien erzeugen können, um es zuzulassen, daß Dateien
mit Einträgen
in den Nachrichtenprotokollen verbunden werden.
-
Die
vorliegende Erfindung sorgt für
Vorteile dadurch, daß,
weil unterschiedliche Nachrichtenarten gleich behandelt werden, ähnliche
Dienste und Eigenschaften auf unterschiedliche Arten von Nachrichten
angewandt werden, wodurch die Integration von Anwendungen erleichtert
wird.
-
Durch
die Gleichbehandlung von unterschiedlichen Arten von Nachrichten
kann außerdem eine
gleichartige Darstellung für
alle Nachrichtenarten verwendet werden. Weil das Kommunikationssystem
außerdem
die Klient-Server-Kette
bricht und auf Nachrichtenübermittlung
von gleich zu gleich abstellt, wird die Verbindungskontrolle zwischen
Teilnehmern lokal vollzogen, wodurch kritische Situationen abgewendet
werden.
-
Kurze Beschreibung
der Zeichnungen
-
Eine
Ausführungsform
der vorliegenden Erfindung wird nun ausführlicher unter Bezug auf die begleitenden
Zeichnungen beschrieben, in denen:
-
1 ein
schematisches Schaubild eines Kommunikationssystems gemäß der vorliegenden Erfindung
ist;
-
2a, 2b und 2c schematische Schaubilder
sind, die eine Agentenanordnung für eines der Prozessorsysteme
darstellen, das Teil des Kommunikationssystems von 1 ist;
-
3a und
b Blockschaubilder sind, die einem Rollenagenten zugeordnete Daten
darstellen;
-
4 ein
Kommunikationsprotokoll von Nachrichten ist, die von einem Benutzeragenten
gesendet und empfangen wurden;
-
5 ein
schematisches Schaubild ist, das einen Verbindungsagenten und ein
Verbindungkontrollhilfsmittel zeigt, die Teile des Prozessorensystems
von 2a und 2b sind;
-
6 ein
schematisches Schaubild ist, das die Verbindungskontrolle zwischen
mehreren Telefonen darstellt, die Teil des Kommunikationssystems von 1 sind;
-
7 den Nachrichtenfluß während telefonischer Kommunikation über das
Kommunikationssystem von 1 zwischen Benutzeragenten darstellt;
-
8a und 8b schematische
Schaubilder sind, die den Prozeß darstellen,
durch den Einträge
in das Kommunikationsprotokoll gemacht werden; und
-
9 ein
Pseudocode ist, der eine Anwendung darstellt, um einen monatlichen
Bericht oder eine monatliche Zusammenfassung aus den Einträgen in dem
Kommunikationsprotokoll von 4 zu erzeugen.
-
Ausführliche
Beschreibung der bevorzugten Ausführungsform
-
Bezugnehmend
auf 1 ist ein Kommunikationssystem 110 gemäß der vorliegenden
Erfindung gezeigt, welches ein Paar von Prozessorsystemen 112 umfaßt, die
mit einem Netzwerk 116 verbunden sind. Das Netzwerk 116 umfaßt einen
Datenschalter 118 wie ATM oder einen Ethernet-Schalter und
einen Server 120. Der Datenschalter 118 und der Server 120 sind
mit einem Großbereichsnetzwerk (Wide
Area Network, WAN) oder einem öffentlichen Tele fonwählnetzwerk
(Public Switch Telephone Network, PSTN) 122 über T1-
oder ISDN-Datenverbindungen 124 verbunden. Selbständige Telefone 126 sind über einen
Datenmultiplexer 120 mit dem Datenschalter 118 verbunden.
Das Kommunikationssystem 110 basiert auf der Architektur,
die im US-Patent 5 638 494 (erteilt am 10. Juni 1997 für Pinard
et al.) und im US-Patent 5 657 446 (erteilt am 12. August 1997 für Pinard
et al.) beschrieben ist, die der Mitel Corporation zugeschrieben
sind, die Anmelder der vorliegenden Erfindung ist.
-
Der
Server 120 (besser in 2a zu
sehen) umfaßt
einen Anordnungsagenten 130, der ein Computerprogramm beinhaltet,
um die verschiedenen Agenten in dem Kommunikationssystem 110 und
ihre Ziele anzuordnen. Ein Ziel ist die Definition des Zwecks einer
bestimmten Funktion, beispielsweise die Verbindung eines Telefons
mit einem virtuellen Kanal, damit die Verbindung für einen
Anruf über
das Netzwerk 122 hergestellt werden kann. Der Anordnungsagent 130 ist
für das
Herunterladen von in seinem Speicher gespeicherten Zielen in unterschiedliche
Agenten verantwortlich, beim Hochfahren, und wenn neue Agenten,
Vorrichtungen und Ziele hinzugefügt,
geändert
oder von dem Kommunikationssystem 110 entfernt werden.
Der Server 120 umfaßt
eine Datenbank 132, in der ein Adreßverzeichnis für die unterschiedlichen
Agenten gespeichert ist, so daß, wenn
ein Ziel erfüllt
werden soll, die Adressen für
die unterschiedlichen Agenten durch den die Adressen benötigenden
Agenten erlangt werden können.
-
Gruppenagenten
und Rollenagenten 134 bzw. 136 sind ebenfalls
in dem Server 120 resident. Die Gruppen- und Rollenagenten
sind für
Funktionen verantwortlich. Die Gruppenagenten umfassen Datenbänke 138 zum
Aufbewahren von Verfahrensweisen und Vorlieben, die sich auf Gruppen
beziehen, wie beispielsweise Verzeichnisse für Leute, Zeitpläne und andere
Vorlieben, die eher auf eine Gruppe von Personen als auf eine einzelne
Rolle bezogen sind. Die Gruppenagenten 134 verwenden die
Rollenagenten, um ihre Funktionen auszuführen. 2c zeigt
einen Agenten, der eine Person mit unterschiedlichen Rollen darstellt,
und der als Benutzeragent 140 geführt wird. Der Rollenagent 136 umfaßt Datenbanken 139,
die Kommunikationsinformationen (siehe 3a) speichern,
und die Benutzeragenten 140 umfassen Datenbanken 141 zum
Speichern von Verfahren und Vorlieben, die sich auf Kommunikationsvorlieben,
wie beispielsweise Anrufssortieren, Anrufsweiterleitung etc. (siehe 3b)
beziehen.
-
In 1 kann
weiterhin gesehen werden, daß jedes
Prozessorsystem 112 einen Personalcomputer (PC) 160 und
ein über
einen universellen seriellen Bus (USB) 164 mit dem Personalcomputer 160 verbundenes
Telefon 162 umfaßt.
Der USB umfaßt eine
serielle 12 Mbit/s-Schnittstelle, die über einen Vierdrahtbus läuft, wobei
ein zugehöriger
Softwarestapel die periphere Anschlußfähigkeit an den PC 160 unterstützt. Der
PC 160 umfaßt
eine Anzeige oder einen Bildschirm 160a, eine Tastatur 160b und eine
Maus 160c, die in wohlbekannter Weise arbeiten.
-
In
jedem PC 160 befindet sich ein Tischkontrollagent 170 (siehe 2b),
um mit dem Tischgerät verbundene
Hilfsmittel für
einen Benutzeragenten 140 handzuhaben. Der Tischkontrollagent 170 wird durch
den Benutzeragenten erzeugt, wenn sich ein Benutzer in das Netzwerk 160 einloggt.
Der erzeugte Tischkontrollagent 170 wählt Hilfsmittel aus, die für den Tischkontrollagenten
notwendig sind, um den Benutzeragenten 136 mit den Nachrichten
zu versorgen, die er benötigt,
damit der Benutzeragent seine Rolle ausfüllen kann. Der Tischkontrollagent 170 umfaßt einen
Anrufsunterscheider, um zwischen Nachrichtenarten wie Stimme, Telefax
oder empfangenen Daten zu unterscheiden und eine Anwendung aufzurufen,
die die Nachricht behandeln kann, wenn die Nachricht empfangen werden
soll. Auf diese Weise weiß der
Benutzeragent 140 nichts über die dem Prozessorsystem 112 zur
Verfügung
stehenden Hilfsmittel oder kümmert
sich nicht darum.
-
Wie
in 2b gezeigt, hat der Tischkontrollagent 170 Befehlsgewalt über und
ist verantwortlich für
die Erzeugung und Initialisierung eines Amtszeichengeneratoragenten 172,
eines Wahlsignal (Digital-Vielfrequenz (Digital-Multi-Frequency, DTMF))-Detektoragenten 174,
eines Telefonagenten 176, eines Verbindungsagenten 178 und
eines Benutzerschnittstellenagenten 180.
-
Der
Amtszeichengeneratoragent 172 ist verantwortlich dafür, das Telefon 162 mittels
eines Amtszeichengenerators 182 mit einem Amtszeichen zu belegen,
wenn die Bedingung eines Hörerabhebens oder
eines "handlosen" Wählens erfaßt wird.
Der Wahlsignaldetektoragent 174 ist dafür verantwortlich, durch das
Telefon 162 erzeugte und durch einen Wahlsignalübersetzer 184 übersetzte
Wahlsignale zu speichern. Der Telefonagent 176 ist mit
einem Telefontreiber 186 verbunden und führt eine
Programmschleife aus, um den Telefonleitungsstrom über den Telefontreiber 186 zu überwachen,
so daß eine
Bedingung des Hörerabhebens
und des "handlosen" Wählens des
Telefons 162 erfaßt
wird. Der Verbindungsagent 178 erzeugt Anfragen an einen
Gruppenagenten 134, um eine Verbindung zwischen dem Telefon 162 und
virtuellen Kanälen
des Netzwerks 116 herzustellen. Verbindungen zwischen dem
Telefon 162 und virtuellen Kanälen des Netzwerks 116 erfolgen
durch ein Verbindungskontrollhilfsmittel 188, wenn die
Anfrage angenommen wurde.
-
Der
Tischkontrollagent 170 umfaßt außerdem einen Betriebssystemüberwachungsagenten 194,
um das Betriebssystem des PC 160 zu überwachen und zu erfassen,
wann eine Datei erzeugt oder ausgeführt (d.h. Schlußsicherung)
wird. Wenn der Betriebssystemüberwachungsagent 194 erfaßt, daß eine Datei
erzeugt oder verlassen wurde, sendet er eine Nachricht an den Tischkontrollagenten 170,
der seinerseits eine Nachricht an den Rollenagenten 136 sendet.
Der Rollenagent 136 führt
eine Befehlsfolge aus, die die Dateiinformation, wie in 8b gezeigt, protokolliert.
-
3a stellt
die Struktur der in dem Rollenagenten 136 gespeicherten
Kommunikationsinformation dar. Wie zu sehen ist, führt der
Rollenagent 136 ein Verzeichnis 210, in dem Verzeichniseinträge stehen.
Die Verzeichniseinträge
sind Geschäftskontakte und
persönliche
Kontakte, die mit der Rolle des in das Netzwerk eingeloggten Benutzers
verbunden sind. Vorlieben 212, die mit jedem Verzeichniseintrag verbunden
sind, werden ebenfalls durch den Rollenagenten 136 gespeichert.
Die Vorlieben sind beispielsweise von den Geschäftspartnern und persönlichen
Kontakten bevorzugte Kommunikationsarten.
-
Nachrichtenordner 214 für den Benutzer
wie persönliche
und öffentliche
Ordner werden ebenfalls durch den Rollenagenten 136 gespeichert.
Der Ordner mit persönlichen
Nachrichten umfaßt
ein Protokoll, das eingehende und ausgehende Nachrichten, gelöschte Nachrichten
etc. speichert. Die Nachrichten 216 in den Protokollen
jedes Nachrichtenordners 214 können von praktisch jeder Art
sein, wie beispielsweise Anrufe für Stimmenübertragung 216a, Anrufe
für Bildübertragung 216b,
gemeinsames Anrufen 216c, Verabredungen 216d,
E-Mail 216e, Stimmnachrichten 216f, Telefax 216g etc.
Jede Nachricht 216 in jedem Nachrichtenordner 214 kann mit
einem Kontencode 218 für
Zwecke der Rechnungsstellung und der Vertragsschließung verbunden
sein und kann einen oder mehrere Anhängsel 220 haben.
-
In 3b ist
die Struktur der in der Datenbank 141 bei dem Benutzeragenten 140 gespeicherten
Nachrichteninformation besser dargestellt. Wie zu sehen, ist die
Nachrichteninformation benutzerspezifisch, weil ein Benutzer nur
an einem Ort zu einer Zeit sein kann. Somit löst der Benutzeragent Konflikte
zwischen Rollen. In diesem Beispiel umfaßt die Kommunikationsinformation
einen Kalender, die Zahl der Anrufe vor dem Besetztsein, unabhängig von
der den Anruf empfangenden Rolle etc.
-
In 4 sind
nun die in das Protokoll des persönlichen Nachrichtenordners 214 eingehenden und
ausgehenden Nachrichten besser dargestellt. Wie zu sehen, ist das
Protokoll in Listenform und umfaßt alle eingehenden und ausgehenden
auf den Benutzer bezogenen Nachrichten. Das Protokoll zeigt die
Art der Nachricht an, die Zeit, zu der die Nachricht gesendet oder
empfangen wurde, das Datum, an dem die Nachricht gesendet oder empfangen
wurde, die Richtung der Nachricht (d.h., ob sie eingehend oder ausgehend
ist), den Sender der Nachricht, den Empfänger der Nachricht und die
Dauer der Nachricht. Falls gewünscht,
können
zusätzliche
Felder in dem Protokoll vorgesehen sein, wie beispielsweise mit
jeder Nachricht verbundene Kontencodes, der Inhalt der Nachricht
etc.. Links (Verbindungen) zwischen den Einträgen in dem Protokoll und mit
den Einträgen
verbundene, durch den Benutzer erzeugte Dateien können hergestellt
werden. Auf diese Weise werden die zugehörigen mit dem Eintrag gelinkten (verbundenen)
Dateieinträge
dargestellt, wenn der Eintrag in dem Protokoll ausgewählt wird.
In dem Rollenagenten 136 wird Software zur Verfügung gestellt, um
zu erlauben, daß die
Einträge
in dem Protokoll durch jede Kombination von Feldern sortiert werden und
entweder im gezeigten Listenformat oder im Kalenderformat dargestellt
werden. 9 zeigt einen Pseudocode zum
Erzeugen eines monatlichen Berichts oder einer monatlichen Zusammenfassung
aus Einträgen
in dem Protokoll.
-
Der
PC 160 enthält
ein Telefonanwendungsprogramm der Art, wie es in dem US-Patent 5
533 110 (für
Pinard et al), das der Mitel Corporation, dem Anmelder der vorliegenden
Anmeldung, zugeschrieben ist, offenbart ist. Der Benutzerschnittstellenagent 180 führt das
Telefonanwendungsprogramm aus, um Ansichten, Fenster oder Icons 190 zu
steuern, die auf dem Bildschirm 160a des Personalcomputers 160 erscheinen,
um es zu erlauben, daß Nachrichten
erzeugt, empfangen, gelesen und/oder geändert werden.
-
Die
Ansichten umfassen ein Hauptfenster, das ein Display mit Nachrichteninformation
zeigt. Die Ansichten umfassen außerdem eine Nachrichtenordneransicht,
eine Verzeichnisansicht, einen Icon für einen lokalen Anrufer, ein
Anrufs-set-up-Fenster und ein Anrufsfenster. Die Nachrichtenordneransicht
erlaubt die Darstellung der Protokolle jedes Nachrichtenordners 214.
-
Das
Icon für
den lokalen Anrufer repräsentiert
den in das Netzwerk über
den PC 160 eingeloggten Benutzer. Das Anrufs-set-up-Icon wird verwendet,
wenn der Benutzer eine Nachricht an einen angerufenen Teilnehmer
senden will. In diesem Fall zieht der Benutzer das Icon für den lokalen
Anrufer in das Anrufs-set-up-Fenster,
was dazu führt,
daß das Verzeichnis 210 in
der Verzeichnisansicht dargestellt wird. Der Verwender kann dann
einen Verzeichniseintrag aus dem Verzeichnis 210 in das
Anrufs-set-up-Fenster
ziehen, wobei zu diesem Zeitpunkt eine Kommunikationsverbindung
zu dem angerufenen Teilnehmer aufgenommen wird. Wenn die Verbindung
hergestellt ist, wird das Anrufsfenster dargestellt, das das Icon
für den
lokalen Anrufer und ein Icon für
den angerufenen Teilnehmer zeigt. Wenn ein Anhängsel an den angerufenen Teilnehmer
gesendet werden soll, wird ein Anhängsel-Icon, das das zu sendende Anhängsel repräsentiert,
in das Anrufsfenster gezogen. Die obigen Fenster und Icons und ihre
Betriebsweise bezüglich
telefonischen Nachrichten sind in dem US-Patent 5 533 110 (für Pinard et al) beschrieben,
auf das oben Bezug genommen wurde.
-
In
dem Server 120 befinden sich Tischkontrollagenten 250 für jedes
einzelne Telefon 126. Die Tischkontrollagenten 250 haben
Befehlsmacht über und
sind verantwortlich zum Erzeugen und Initialisieren eines Amtszeichengeneratoragenten 252,
eines Wahlsignaldetektoragenten 254, eines Telefonagenten 256,
eines Verbindungsagenten 258 und eines Benutzerschnittstellenagenten 260.
Der Amtszeichengeneratoragent 252 ist dafür verantwortlich,
einen Amtszeichengenerator 262 mit dem selbständigen Telefon 126 zu
verbinden, wenn eine Bedingung des Abhebens oder des handlosen Wählens durch den
Telefonagenten 256 und einen Telefontreiber 268 erfaßt wird.
Der Wahlsignaldetektoragent 254 ist dafür verantwortlich, durch das
einzelne Telefon 126 erzeugte Wahlsignale zu speichern,
die mittels eines Wahlsignalübersetzers 264 übersetzt
wurden. Der Verbindungsagent 258 ist dafür verantwortlich,
ein Verbindungskontrollhilfsmittel 266 zu steuern, um das
einzelne Telefon 126 und den Datenschalter 118 miteinander
zu verbinden, wenn ein Telefonanruf erfolgen soll oder empfangen
werden soll. Der Benutzerschnittstellenagent 260 führt einen
Nachrichtenordner 270, in dem alle Kommunikationsvorgänge wie
oben beschrieben gespeichert werden. Wenn es die Rolle des das einzelne
Telefon 126 benutzenden Benutzers erfordert, daß der Benutzer
Zugriff auf E-Mail, Telefaxnachrichten etc. hat, hat der Tischkontrollagent 250 Befehlsgewalt über und
ist verantwortlich für
Text-Stimm-Wandler und Stimm-Text-Wandler, um es dem Benutzer zu
ermöglichen,
diese Arten von Nachrichten zu gewinnen oder zu senden.
-
In 5 sind
nun der Verbindungsagent 178 und das Verbindungskontrollhilfsmittel 188 besser dargestellt.
Wie zu sehen, ist das Verbindungskontrollhilfsmittel 188 dem
Verbindungsagenten 178 unterworfen und wählt virtuelle
Kanäle,
um einen zu dem Datenschalter 118 führenden Datenschaltertreiber 300 und
den mit dem Telefon 162 verbundenen Telefontreiber 186 miteinander
zu verbinden. Das Verbindungskontrollhilfsmittel 188 führt außerdem ein
Mischen zwischen virtuellen Kanälen
durch, um Konferenzanrufe, Anrufstauschen und ein Verbinden der
ausgehenden virtuellen Kanäle
auf die Stummstellung 302 zuzulassen, wenn ein Teilnehmer
in die Wartestellung versetzt werden soll oder empfangene Anrufe
in die Wartestellung versetzt werden sollen. Es ist klar, daß das Verbindungskontrollhilfsmittel 188 die
Verbindungskontrolle zwischen dem Telefon 162 und dem Datenschalter 118 lokal
bewerkstelligt. Auf diese Weise kann das Verbindungskontrollhilfsmittel 188 die
Verbindung der Telefone auf verschiedene virtuelle Kanäle ändern, wodurch
die Telefonverbindung zwischen den virtuellen Kanälen zurück- und vorgesetzt
werden kann. Da das Schalten lokal ausgeführt wird, behindert das Verbindungskontrollhilfsmittel 188 nicht
die Verbindungen eines anderen Teilnehmers und vermeidet dadurch
kritische Situationen.
-
Beispielsweise
zeigt 6 drei USB-Telefone 162a, 162b, 162c,
die miteinander über
virtuelle Kanäle
vc1, vc2 bzw. vc3 verbunden sind. Die virtuellen Kanäle können sich über ein öffentliches
Telefonwählnetzwerk
(public switched telephone network, PSTN), ein Großbereichsnetzwerk
(wide area network (WAN)), eine Internetverbindung oder eine Intranetverbindung
erstrecken. Wie zu sehen, ist das Telefon 162a mit dem
Telefon 162b über
den virtuellen Kanal vc2 verbunden. Das Telefon 162a ist
mit dem Telefon 162c über
den virtuellen Kanal vc1 verbunden, während das Telefon 162c mit
dem Telefon 162b über
den virtuellen Kanal vc3 verbunden ist. Das Verbindungskontrollhilfsmittel 188a ist
dem zugehörigen
Verbindungsagenten unterworfen, um die Telefonverbindung zwischen
den virtuellen Kanälen vc1
und vc2 zu wechseln, wobei einer der Telefonanrufe auf die Wartestellung
gesetzt wird. Entsprechend ist das Verbindungskontrollhilfsmittel 188b seinem
zugehörigen
Verbindungsagenten unterworfen, um die Telefonverbindung zwischen
den virtuellen Kanälen
vc1 und vc3 zu wechseln, während
das Verbindungskontrollhilfsmittel 188c seinem zugehörigen Verbindungsagenten
unterworfen ist, um die Telefonverbindung zwischen den virtuellen
Kanälen
vc2 und vc3 zu wechseln. Es ist klar, daß die Verbindungskontrollagenten 178 das
lokale Verbindungskontrollhilfsmittel anders als Verbindungen "zentral geschalteter" Art steuern, bei
denen es notwendig ist, daß ein in
die Wartestellung zu versetzender Teilnehmer mit der Stummstellung über einen
entfernten Datenschalter verbunden wird. Wenn der in die Wartestellung
versetzte Teilnehmer die Kanäle
manipuliert, mit denen er verbunden ist, können kritische Situationen auftreten,
die zum Verlust von über
die Kanäle übertragenen Nachrichten
führen
können.
Beim vorliegenden System werden kritische Situationen dieser Art
vermieden.
-
Wenn
ein Benutzer einen Telefonanruf vornehmen möchte und der Hörer des
Telefons 162 von der Gabel entfernt wird oder wenn ein
handloses Wählen
ausgewählt
wird, erfaßt
der den Leitungsstrom des Benutzers überwachende Telefonagent 176 den
Anstieg des Leitungsstroms. Der Telefonagent 176 sendet
eine Nachricht an den Tischkontrollagenten 170, der seinerseits
eine Nachricht an den Amtszeichengeneratoragenten 172 sendet,
was bewirkt, daß der
Amtszeichengenerator 182 mit dem Telefon 162 verbunden
wird und dadurch das Amtszeichen bereitgestellt wird. Ist das Amtszeichen
bereitgestellt, und beginnt der Benutzer mit dem Wählen von
Ziffern, erfaßt
der Wahlsignalübersetzer 184 die
DTMF-Wahlsignale und übersetzt
diese. Wenn Wahlsignale übersetzt
werden, werden sie durch den Wahlsignaldetektoragenten 174 gespeichert.
Die gespeicherten gewählten
Ziffern werden durch den Wahlsignaldetektoragenten 174 an
den Tischkontrollagenten 170 weitergeleitet, der seinerseits
den Benutzerschnittstellenagenten 180 dazu bringt, ein Fenster
zu öffnen.
Der gewählte
Teilnehmer wird in dem Fenster angezeigt.
-
Natürlich kann
der Benutzer auch einen Telefonanruf machen, indem er das lokale
Anrufer-Icon wählt
und es in das Anrufs-set-up-Fenster
zieht, um das Verzeichnis 210 anzuzeigen. Ist das Verzeichnis angezeigt,
kann der gewünschte
Verzeichniseintrag ausgewählt
werden und in das Anrufs-set-up-Fenster gezogen werden, wodurch
das Anrufsfenster angezeigt wird, das das Icon für den lokalen Anrufer und das
Icon für
den angerufenen Teilnehmer zeigt.
-
Ist
ein Telefonanruf auf eine der oben beschriebenen Weisen begonnen
worden, sendet der Tischkontrollagent 170 eine Nachricht
an den Benutzeragenten 140, der sie seinerseits an den
Rollenagenten 136 sendet. Die Nachricht umfaßt den virtuellen
Kanal, den der Verbindungsagent 178 für den Anruf ausgewählt hat.
Der Tischkontrollagent 170 sendet seinerseits eine Nachricht
an den Verbindungsagenten 178, was bewirkt, daß der Verbindungsagent das
Verbindungskontrollhilfsmittel 188 dazu bringt, den Telefontreiber 186 mit
dem geeigneten virtuellen Kanal zu verbinden, so daß die Telefonanrufe
erfolgen können.
-
Wenn
der Rollenagent eine Anfrage empfängt, einen anderen Teilnehmer
anzurufen, sucht der Rollenagent die "Adresse" des Rollenagenten des anzurufenden
Teilnehmers und sendet eine Nachricht, die diesem Rollenagenten 136 den
Anruf anbietet. Der die Nachricht empfangende Rollenagent sendet
seinerseits die Nachricht an den Benutzeragenten 140 für den angerufenen
Teilnehmer, der sie an den Tischkontrollagenten 170 sendet.
Der Tischkontrollagent benutzt dann den Verbindungsagenten 178,
um einen virtuellen Kanal zu erhalten, der dem anrufenden Teilnehmer
zugeordnet ist. Der Tischkontrollagent benachrichtigt außerdem den
Telefonagenten und den Benutzerschnittstellenagenten, daß der Anruf
angeboten wird. Das bewirkt, daß das
Telefon klingelt und der angebotene Anruf auf dem Personalcomputer
angezeigt wird. Wenn der angerufene Teilnehmer den Anruf dadurch
beantwortet, daß er
den Hörer
abhebt, auf dem Personalcomputer "klickt" oder das geeignete Icon "herunterzieht", dann wird der Tischkontrollagent 170 informiert.
Der Tischkontrollagent 170 benachrichtigt seinerseits den
Verbindungsagenten 178, der den Hörer verbindet und den Benutzeragenten 140 benachrichtigt,
der die Nachricht zu dem Rollenagenten 136 durchleitet.
Der Rollenagent 136 sendet seinerseits die Nachricht an den
Rollenagenten des anrufenden Teilnehmers, wodurch eine Verbindung
zwischen den Teilnehmern ermöglicht
wird. Somit wird der Verbindungspfad hergestellt.
-
Wenn
der Benutzer ein Anhängsel
wie eine E-Mail-Nachricht, eine Telefonnachricht etc. auswählt, um
die Telefonnachricht zu begleiten, ruft der Tischkontrollagent 170 einen
geeigneten Agenten auf, um das Anhängsel dem angerufenen Teilnehmer zu übermit teln.
Das Anhängsel
wird natürlich
in geeigneter Form übermittelt,
damit es der angerufene Teilnehmer von einem Stimmübertragungsanruf
unterscheiden kann. Die durch den Benutzerschnittstellenagenten 180 ausgeführte Telefonanwendungs-Software
umfaßt
ein Protokoll, um eine Nachricht als Anhängsel an eine andere Nachricht
zu identifizieren, und die Anwendungs-Software verbindet die Nachrichten
mit dem System. Wenn eine Nachricht von dem angerufenen Teilnehmer
nicht empfangen werden kann, wird sie fallengelassen. Das Protokoll
erzeugt dann eine Fehlernachricht, die dem Anrufer angezeigt wird.
-
7 zeigt den Nachrichtenweg zwischen zwei
Anrufern, wodurch eine handlose Telefonverbindung hergestellt wird,
wobei der anrufende Benutzer ein Anhängsel (hier ein E-Mail) wählt, um
die Telefonnachricht zu begleiten, Wie zu sehen, öffnet der
Anrufer ein Fenster, das das Verzeichnis zeigt, welches den Teilnehmer
umfaßt,
an den der Telefonanruf gerichtet ist. Der Anrufer wählt dann
den anzurufenden Teilnehmer und wählt das Anhängsel, das den Anruf begleiten
soll (z.B. das E-Mail). Sind der Teilnehmer und das Anhängsel ausgewählt, zieht
der Benutzer den Teilnehmer und das Anhängsel in das Anrufs-set-up-Fenster.
-
Wenn
dies eintritt, sendet der Benutzerschnittstellenagent 180 eine
Nachricht an den Tischkontrollagenten 170, der seinerseits
bewirkt, daß der Amtszeichengeneratoragent 172 den
Amtszeichengenerator 182 mit dem Telefon verbindet, um
das Amtszeichen wie oben beschrieben bereitzustellen. Ist das Amtszeichen
bereitgestellt, wird der ausgewählte
Teilnehmer angewählt.
Die gewählten
Ziffern werden durch den Wahlsignalübersetzer 184 übersetzt
und durch den Wahlsignaldetektoragenten 174 gespeichert.
Der Tischkontrollagent 170 sendet eine Nachricht an den
Verbindungsagenten 178, so daß der Verbindungsagent das
Verbindungskontrollhilfsmittel 188 dazu bringt, das Telefon
mit dem geeigneten virtuellen Kanal des Netzwerks 116 zu
verbinden.
-
Ist
die Verbindung hergestellt, sendet der Tischkontrollagent 170 eine
Nachricht, die die eigentliche Nachricht und das Anhängsel umfaßt, über den Benutzeragenten 140 an
den Rollenagenten 136. Wenn der Rollenagent die Nachricht
und das Anhängsel
empfängt,
speichert er die Nachricht und das Anhängsel und führt dann eine Befehlsfolge
aus, um einen Eintrag für
das Kommunikationsprotokoll zu erzeugen, wobei die geeigneten Felder
des Eintrags ausgefüllt
sind (siehe 8a). Ist der Eintrag abgeschlossen,
speichert ihn der Rollenagent 136 in dem Protokoll des
geeigneten Nachrichtenordners. Danach bietet der Rollenagent 136 die
Nachricht dem angerufenen Teilnehmer über das Netzwerk 116 an.
-
Der
Rollenagent des angerufenen Teilnehmers bestimmt zuerst, ob der
Anruf entsprechend den in der Rollenagentendatenbank 139 gespeicherten
Vorlieben abgefangen oder weitergeleitet werden soll. Wenn der Anruf
abgefangen werden soll, wird eine Besetzt-Nachricht an den Rollenagenten des Anrufers
gesendet. Wenn der Anruf zum angerufenen Teilnehmer durchgeleitet
werden soll, empfängt der
zu dem angerufenen Teilnehmer zugehörige Rollenagent die Nachricht
und das Anhängsel
vom Anrufer und bietet dann über
den Benutzeragenten 140 die Nachricht und das Anhängsel dem
Tischkontrollagenten 170 an. Wenn der Rollenagent des angerufenen
Teilnehmers die Nachricht und das Anhängsel empfängt, führt der Rollenagent eine Befehlsfolge aus,
die einen Eintrag für
das Protokoll des geeigneten Nachrichtenordners erzeugt, wobei alle
geeigneten Felder ausgefüllt
werden. Ist der Eintrag abgeschlossen, speichert der Rollenagent 136 den
Eintrag in dem Protokoll.
-
Nachdem
die Nachricht und das Anhängsel angeboten
wurden, sendet der Tischkontrollagent 170 eine Nachricht
an den Benutzerschnittstellenagenten, die bewirkt, daß der Benutzerschnittstellenagent 180 ein
Fenster öffnet,
um die Identifikation des Anrufers und das Anhängsel anzuzeigen. Da die angebotene
Nachricht ein Telefonanruf ist, sendet der Tischkontrollagent 170 auch
ei ne Nachricht an den Telefonagenten 176, der seinerseits
bewirkt, daß der Telefontreiber 186 das
Telefon zum Klingeln bringt. Wenn der angerufene Teilnehmer die
Nachricht von dem Fenster annimmt, wird sie durch den Benutzerschnittstellenagenten 180 erfaßt, der
seinerseits eine Nachricht an den Tischkontrollagenten 170 sendet. Der
Tischkontrollagent sendet seinerseits eine Nachricht an den Telefonagenten 176,
die bewirkt, daß der Telefontreiber 186 das
Klingeln des Telefons beendet. Gleichzeitig sendet der Tischkontrollagent 170 eine
Nachricht an den Verbindungsagenten 178, der seinerseits
bewirkt, daß das
Verbindungskontrollhilfsmittel 188 das Telefon mit dem
geeigneten virtuellen Kanal des Netzwerks 116 verbindet.
-
Ist
die Verbindung hergestellt, sendet der Tischkontrollagent 170 eine
Nachricht an den Benutzerschnittstellenagenten 180, die
bewirkt, daß sich ein
Anrufsfenster öffnet,
das das Icon für
den lokalen Anrufer und ein Icon für den anrufenden Teilnehmer zeigt,
was bedeutet, daß die
Nachricht angenommen worden ist. Das "Öffnen"-Fenster zeigt auch
das Anhängsel.
Wenn der Benutzer das Anhängsel
wählt, wird
es durch den Benutzerschnittstellenagenten 180 erfaßt, der
seinerseits eine Nachricht an den Tischkontrollagenten 170 sendet,
was bewirkt, daß der Tischkontrollagent
eine Nachricht an das geeignete Hilfsmittel sendet, um das Anhängsel loszuschicken.
-
Es
ist klar, daß das
vorliegende Kommunikationssystem es erlaubt, daß Anhängsel mit praktisch jeder Art
von Nachricht gesandt werden können.
Ein Protokoll aller von jedem Benutzer erzeugten und empfangenen
Nachrichten wird geführt,
wodurch detaillierte Tätigkeitsberichte
erzeugt werden können. Da
Links zwischen Nachrichteneinträgen
in dem Protokoll und den geschaffenen Dateien erzeugt werden können, können Dateien
mittels der Einträge
im Kommunikationsprotokoll lokalisiert und herausgeholt werden.
Außerdem
werden kritische Situationen vermieden, weil die Verbindungen zwischen
Telefonen und Netzwerk lokal gesteuert werden.
-
Auch
wenn beschrieben wurde, daß die
Architektur der Agenten auf der im US-Patent 5 638 494 beschriebenen
basiert, ist dem Fachmann klar, daß alternative Agentenarchitekturen
verwendet werden können.
Beispielsweise können
die Agenten durch Programme gebildet, die bei ihrer Ausführung die
zuvor beschriebenen Aufgaben verrichten. Die Agenten können außerdem Objekte
in objektorientierten Sprachen wie beispielsweise C++,
Java, SmallTalk und ähnlichem
dargestellt werden.
-
Auch
wenn eine besondere Ausführungsform
der vorliegenden Erfindung beschrieben wurde, ist dem Fachmann klar,
daß andere Änderungen
und Abarten vorgenommen werden können,
ohne daß Geist
und Umfang derselben, wie er durch die angehängten Ansprüche definiert ist, verlassen
wird.