-
Die
vorliegende Erfindung betrifft den Bereich Kommunikationsnetze.
Die Erfindung betrifft insbesondere ein System zum Steuern der Verwendung
eines Kommunikationskanals in einem Kommunikationsnetz.
-
Kommunikationssysteme
setzen sich aus mehreren getrennten Netzwerken zusammen. Das öffentliche
Telefonnetz (PSTN) ist ein Beispiel. Andere sind z.B. das Telefaxnetz.
Telefaxmaschinen übertragen
zwar typischerweise Faksimiles über
das PSTN, aber Telefaxmaschinen wirken nicht mit dem Sprachinhalt
des PSTN zusammen. In diesem Sinne bilden Telefaxmaschinen ein getrenntes
Netz von Kommunikationsgeräten,
das sich mit dem PSTN nicht leicht verknüpfen lässt. Ebenso bilden Funkrufgeräte (Pager)
ein Netzwerk von Geräten.
Andere Netzwerke sind z.B. Datenübertragungsnetze
wie das Internet und Privatnetze. Ebenso wird Voiceover-IP immer
weiter verbreitet und bildet ein weiteres Netzwerk.
-
Jedes
Netzwerk arbeitet mit einem anderen Satz von Protokollen und es
ist schwierig für
einen Benutzer eines Netzwerks, mit einem Benutzer auf einem anderen
Netzwerk über
das Netzwerk seiner Wahl zu kommunizieren. Es kann auch für individuelle
Benutzer eines einzelnen Netzwerks schwierig sein, mit mehreren
Personen auf demselben Netzwerk gleichzeitig zu kommunizieren.
-
Demgemäß besteht
Bedarf an einem System, das es Benutzern verschiedener Kommunikationsnetze
gestattet, mit einem oder mehreren Benutzern durch eine einzelne
Schnittstelle zu kommunizieren, die die benutzten Kommunikationskanäle steuert.
-
Ein
Buch mit dem Titel „Using
Networks" von Frank
Derfler, ISBN 0-7897-1596-1,
herausgegeben 1998 von Que, beschreibt auf den Seiten 324–326 ein
Kommunikationssystem, bei dem ein eine Firewall implementierender
Server drei separate LAN-Adapter verwendet, einen zum Herstellen
einer Verbindung mit einem Internet-Access-Router, einen anderen
zu einem Hochsicherheitsgeschäftsnetz
und den dritten zu einem Perimeternetz, das Dateitransfer, Newsgroup,
FTP, Web- und Email-Server
führt.
-
Gemäß der vorliegenden
Erfindung wird ein System zum Steuern der Verwendung eines Kommunikationskanals
in einem Kommunikationsnetzwerk bereitgestellt, wobei das System
Folgendes umfasst:
ein Service-Netzwerk mit einer Mehrzahl
von Service-Knoten, wobei die Mehrzahl von Service-Knoten einen
oder mehrere Sätze
mit einem oder mehreren Memberknoten mit der Aufgabe umfasst, jeweilige Service-Funktionen
als Reaktion auf Meldungen in dem Service-Netzwerk bereitzustellen,
wobei wenigstens einer der Sätze
einen Memberknoten mit einer Schnittstelle für die Kommunikation mit einem Fernterminal
umfasst, dadurch gekennzeichnet, dass
der Memberknoten mit
der Schnittstelle für
die Kommunikation mit einem Fernterminal auch einen Benutzeroberflächenprozess
hat, der mit der Schnittstelle gekoppelt ist, so dass ein Benutzer
des Fernterminals das Service-Netzwerk kontaktieren und Meldungen
zu den Service-Knoten senden kann, und dadurch, dass
wenigstens
einer der Sätze
einen Memberknoten mit einer Schnittstelle zu einer Mehrzahl von
separaten Kommunikationsnetzwerken und einen mit der Schnittstelle
gekoppelten Prozess zum Steuern der Herstellung des Kommunikationskanals
durch ein beliebiges der separaten Netzwerke für den Benutzer hat, damit dieser
mit einer anderen Person Kontakt aufnehmen kann, damit der Benutzer
nicht mehr zu entscheiden braucht, wie ein Anruf zu der genannten anderen
Person geleitet wird, als Reaktion darauf, dass der Benutzer dem
Service-Netzwerk die genannte andere Person mit dem Fernterminal
identifiziert hat.
-
Es
wird ein System zum Steuern der Verwendung von Kommunikationskanälen in einem
Kommunikationsnetzwerk beschrieben. Das System beinhaltet ein erstes
Netzwerk wie z.B. ein Ethernet, ein privates Intranet, ein Teilnetz
des öffentlichen
Internets oder einen anderen Netzwerktyp. Das erste Netzwerk hat
eine Mehrzahl von Service-Knoten, die einen oder mehrere Sätze umfassen.
Jeder Satz kann einen oder mehrere Memberknoten haben mit der Aufgabe,
jeweilige Service-Funktionen als Reaktion auf Meldungen im ersten
Netzwerk bereitzustellen. So könnte
beispielsweise ein Satz von Service-Knoten Gebührenberechnungsfunktionen bereitstellen. Es
könnte
vier Service-Knoten in dem Gebührenberechnungsfunktionssatz
geben.
-
Wenigstens
einer der Sätze
umfasst einen Memberknoten mit einer Schnittstelle zum Kommunizieren
mit einem Fernterminal. Die Schnittstelle ist mit einem Benutzeroberflächenprozess
gekoppelt, um einen Benutzer eines Fernterminals in das erste Netzwerk
einzubeziehen. Der Benutzeroberflächenprozess kann der RendezvousTM Routing Daemon oder eine andere Schnittstelle
sein, die es dem Benutzer gestattet, am Fernterminal das Netzwerk
zu kontaktieren und Meldungen zu den Service-Knoten zu senden. Wenigstens
einer der Sätze
umfasst einen Memberknoten mit einer Schnittstelle zum Kommunikationsnetz
(z.B. einen Switch-Controller), und einen mit der Schnittstelle
gekoppelten Prozess, der die Herstellung eines Kommunikationskanals
für den Benutzer
durch das Kommunikationsnetz steuert.
-
Der
Benutzeroberflächenprozess
kann Logik beinhalten, um eine Benutzeranforderung zum Kontaktieren
von einer oder mehreren Personen von dem Fernterminal zu empfangen,
Meldungen als Reaktion auf die Anforderung zum ersten Netzwerk weiterzuleiten
und Meldungen in Bezug auf die Anforderung zum Fernterminal zum
ersten Netzwerk weiterzuleiten. So könnte beispielsweise ein Benutzer
ein Konferenzgespräch
zwischen sich und drei anderen Personen anfordern. Es würde eine
Meldung vom Fernterminal zum Benutzeroberflächenprozess gesendet und dann
zum Netzwerk weitergeleitet. Meldungen über Status, Routing und andere
Aspekte des Konferenzgesprächs
werden vom Netzwerk zum Fernterminal weitergeleitet.
-
In
einer Ausgestaltung wird jeder Anforderung eine eindeutige Transaktionskennung
zugewiesen. In einer Ausgestaltung wird eine Transaktionskennung,
wenn sie zugewiesen ist, mit allen Meldungen über diese Transaktion in das
Netzwerk einbezogen.
-
In
einer Ausgestaltung ist jeder der Sätze von Service-Knoten Teil
einer verteilten Warteschlange. Die verteilte Warteschlange ermöglicht die
Verteilung der Anforderungen von Service-Funktionen unter allen
gleiche Funktionen ausführenden
Service-Knoten.
-
In
einer Ausgestaltung benutzen die Service-Knoten das Multicast-Protokoll
zum Senden von Meldungen zueinander. In einer anderen Ausgestaltung
wird das Benutzer-Datagram-Protokoll
zum Senden von Meldungen verwendet. In einer weiteren Ausgestaltung
wird das Übertragungssteuerprotokoll über das
Internet Protocol (IP) zum Senden von Meldungen verwendet.
-
In
einer Ausgestaltung befinden sich die Service-Knoten dieses Systems
in einem privaten Teilnetz.
-
Eine
der Service-Funktionen kann es sein, als Service-Manager zu dienen.
Der Service-Manager dient als Mittler zwischen Meldungen vom Fernterminal
und dem Rest des Systems. Der Service-Manager empfängt Benutzeranforderungen
für Kommunikationskanäle, fordert
die Validierung der Kontoinformationen in den Anforderungen an und
leitet die Anforderungen zu einem Switch-Controller als Reaktion
auf die Validierung weiter.
-
Eine
der Service-Funktionen ist eine Gebührenberechnungsfunktion. Die
Gebührenberechnungsfunktion
empfängt
Anforderungen für
die Verwendung von Kommunikationskanälen, validiert Kontoinformationen
in den Anforderungen und speichert Informationen über die
Verwendung von Kommunikationskanälen.
Die Gebührenberechnungsfunktion kann
auch Kreditkarten für
die Verwendung von Kommunikationskanälen und Kommunikationsdiensten belasten.
-
Eine
weitere Service-Funktion ist eine Logger-Funktion. Die Logger-Funktion
beinhaltet die Fähigkeit,
die Meldungen in dem Netzwerk zu überwachen und Meldungen zu
speichern, die vordefinierte Kriterien erfüllen. Die Logger-Funktion beinhaltet auch
die Fähigkeit,
gespeicherte Meldungen abzurufen und eine Repräsentation des Status des Systems zu
erzeugen.
-
Eine
der Service-Funktionen ist eine Avisierfunktion. Die Avisierfunktion
reagiert auf die Meldungen, die vordefinierte Kriterien erfüllen, mit
einer vorgegebenen Aktion. Die Avisierfunktion kann auf Fehlerbedingungen
reagieren, indem sie mit einem Bediener des Systems über das
Kommunikationsnetz in Kontakt tritt. Die Avisierfunktion kann auch
eine Benutzeranforderung für
die Verwendung von Kommunikationskanälen bis zu einem vorgegebenen
Zeitpunkt speichern und die Anforderung dann zum vorgegebenen Zeitpunkt
in das Netzwerk weiterleiten.
-
Eine
weitere Service-Funktion ist die des Switch-Controllers. Der Switch-Controller empfängt Anforderungen
für die
Verwendung von Kommunikationskanälen
und leitet die Anforderungen in das Kommunikationsnetz weiter. Der
Switch-Controller empfängt
Statusinformationen über
die Kommunikationskanäle
und das Kommunikationsnetz. Der Switch-Controller leitet Statusinformationen
zum Fernterminal weiter. Der Switch-Controller überwacht auch das dem Benutzer
zur Verfügung
stehende Restguthaben und fordert weiteren Kredit an, wenn der verfügbare Kredit
unter eine vorbestimmte Grenze fällt.
Der Switch-Controller kann die Benutzung eines Kommunikationskanals
terminieren, wenn der verfügbare
Kredit null erreicht.
-
In
einigen Ausgestaltungen ist das System auf einem Computerprogrammprodukt
auf einem von einem Computer nutzbaren Medium wie CD-ROM oder Diskette
ausgestaltet. Das vom Computer nutzbare Medium hat einen rechnerlesbaren Programmcode,
um einen Computer zu veranlassen, eine Kommunikationssession zu
steuern. Das Computerprogramm enthält Befehle, die Anforderungen
von einem Benutzer für
eine Kommunikation mit einer Person empfangen. Das Programm enthält Befehle
zum Zusammenstellen einer Meldung zu einem Kommunikationsserver
wie z.B. dem obigen System zur Anforderung einer Kommunikationssession.
Das Programm enthält
Befehle zum Überwachen
des Status der Kommunikationssession und zum Steuern der Kommunikationssession.
-
Das
Computerprogramm enthält
Befehle zum Identifizieren des aktuellen Standorts des Benutzers
und der aktuellen Telefonnummer am Standort des Benutzers. Das Programm
enthält
auch Befehle zum Identifizieren der Benutzerkontoinformationen und
zum Anfordern einer Telefonnummer oder zum Ermitteln einer Telefonnummer
für die
angerufene Person.
-
Das
Computerprogramm beinhaltet Befehle zum Erzeugen einer Meldung mit
einer Telefonnummer für
den Benutzer und eine Telefonnummer für jede kontaktierte Person
zusammen mit der Kontonummer des Benutzers. Das Computerprogramm beinhaltet
Befehle zum Senden einer Meldung über das Netzwerk zum Kommunikationsserver.
-
Das
Computerprogramm enthält
Befehle zum Eingeben eines Zeitpunktes für die Kommunikationssession
in die Meldung und zum Übermitteln derselben
zum Kommunikationsserver. Dies kann zum Einrichten eines Konferenzgesprächs zu einem bestimmten
Zeitpunkt verwendet werden.
-
Das
Computerprogramm beinhaltet Befehle zum Empfangen von Statusmeldungen
vom Kommunikationsserver. Die Statusmeldungen können den Eingehängt- (on-hook),
Abgehoben- (off-hook) und Rufstatus aller Parteien des Gesprächs anzeigen. Das
Computerprogramm kann das Computerdisplay so aktualisieren, dass
es den Status der Teilnehmer der Kommunikationssession reflektiert.
In einer Ausgestaltung werden Icons verwendet, die ein klingelndes
Telefon oder eine Abgehoben- und Eingehängt-Antwort auf den Status
jedes Telefons anzeigen.
-
Das
Computerprogramm enthält
Befehle zum Zuschalten von Personen zur Kommunikationssession, zum
Herausnehmen von Personen aus der Kommunikationssession, zum Stummschalten
eines Teilnehmers und zum Setzen eines Anrufers in einen Haltezustand
während
der Kommunikationssession. Das Computerprogramm beinhaltet auch
Befehle zum Anzeigen, dass die Kommunikationssession beendet werden
soll.
-
Wenn
mehrere Teilnehmer an der Kommunikationssession den Kommunikationsserver
benutzen, dann unterstützt
das Computerprogramm Messaging über
ein Datennetz zu anderen Benutzern des Kommunikationsservers.
-
Das
Computerprogramm beinhaltet Befehle zum Orten einer Person und zum
Anfordern von Statusinformationen vom Kommunikationsserver über die
Person. Die Statusinformationen könnten die aktuelle Telefonnummer
der Person oder die Information beinhalten, ob die Person am Telefon
ist oder nicht.
-
Das
Computerprogramm beinhaltet Befehle zum Anfordern von Gebührenberechnungsinformationen über benutzte
Dienste.
-
Eine
Ausgestaltung unterstützt
anonyme Kommunikationen zwischen zwei Personen über das öffentliche Telefonnetz. Das
Verfahren beginnt damit, dass die Telefonnummern beider Personen
einem Computer anstatt einander mitgeteilt werden. Der Computer
ruft dann die erste Person und die zweite Person auf einem Konferenzkanal
im öffentlichen
Telefonnetz an. Die beiden Teilnehmer können miteinander kommunizieren,
ohne einander ihre Telefonnummer preiszugeben. In einer Ausgestaltung
ist eine Link auf einer Webseite vorhanden, so dass eine Person,
die eine Webseite betrachtet, anonym mit einer anderen Partei kommunizieren
kann. In einer Ausgestaltung ist eine Link in einem Chatroom vorhanden,
so dass zwei Teilnehmer des Chatrooms ein anonymes Gespräch miteinander
führen
können.
-
Eine
Ausgestaltung einer Computerbibliothek bietet einen Satz von Meldungsdefinitionen
und Service-Funktionsschnittstellen. Die Meldungsdefinitionen beinhalten
Kontomeldungsdefinitionen, Membermeldungsdefinitionen und Rufmeldungsdefinitionen.
Die Service-Funktionsschnittstellen beinhalten Schnittstellen für einen
Service-Manager, einen Gebührenberechnungsmanager,
eine Avisierfunktion, einen Logger und einen Switch-Controller.
Die Schnittstellen beschreiben die Programmanrufe, die die Service-Funktionen
ausführen
müssen.
-
Eine
spezifische Ausgestaltung der vorliegenden Erfindung wird nun, jedoch
nur beispielhaft, mit Bezug auf die Begleitzeichnungen beschrieben. Dabei
zeigt:
-
1 ein
Blockdiagramm eines kommerziellen Kommunikationsservers;
-
2 ein
Blockdiagramm, das zeigt, wie eine Ausgestaltung des kommerziellen
Kommunikationsservers Kommunikationskanäle zwischen einem Subscriber
und einem Nicht-Subscriber steuern kann;
-
3 ein
Blockdiagramm einer Ausgestaltung eines kommerziellen Kommunikationsservers;
-
4 ein
Blockdiagramm einer Telefonvermittlungsschaltung;
-
5A–B Prozessablaufdiagramme,
die ein Verfahren zum Einrichten eines Telefonanrufs in einer Ausgestaltung
der Erfindung demonstrieren;
-
6 ein
Blockdiagramm einer Benutzeroberfläche zum Steuern des Kommunikationsservers.
-
A. Systemüberblick
-
1 ist
ein Blockdiagramm, das einen Kommunikations-Commerce-Server zeigt.
-
Dieser
Absatz führt
die Elemente von 1 auf. 1 beinhaltet
einen Satz von Kommunikationsnetzen 100, einen Benutzer 102,
einen Benutzer 104, einen Benutzer 106 und einen
Kommunikationsserver 110. Der Satz von Kommunikationsnetzen 100 umfasst
ein Pager-Netz 132, ein VOIP-(Voice Over Internet Protocol)-Netzwerk 134,
ein Telefonnetz 136, ein Datennetz 138 und ein
Telefaxnetz 140. Der Benutzer 102 hat ein Mobiltelefon 112,
ein Bürotelefon 114,
ein Heimtelefon 116, eine Bürofaxmaschine 118,
einen PDA (Personal Digital Assistant) 120 und einen Bürocomputer 122.
Der Benutzer 104 hat einen Computer 124 und ein
Heimtelefon 126. Der Benutzer 106 hat ein Heimtelefon 128 und
eine Telefaxmaschine 130.
-
Dieser
Absatz beschreibt die Verbindungen zwischen den Elementen von 1.
Das Mobiltelefon 112, das Heimtelefon 116, das
Heimtelefon 126 und das Heimtelefon 128 sind in
Kommunikation mit dem Telefonnetz 136 gekoppelt. Das Bürotelefon 114 ist
in Kommunikation mit dem VOIP-Netzwerk 134 gekoppelt. Die
Bürofaxmaschine 118 und
die Faxmaschine 130 sind in Kommunikation mit dem Telefaxnetz 140 gekoppelt.
Der PDA 120 ist in Kommunikation mit dem Pager-Netz 132 gekoppelt.
Der Bürocomputer 122 und
der Computer 124 sind in Kommunikation mit dem Datennetz 138 gekoppelt.
Der PDA 120, der Bürocomputer 122 und
der Computer 124 sind in Kommunikation mit dem Kommunikationsserver 110 gekoppelt.
Der Kommunikationsserver 110 ist in Kommunikation mit jedem
der Netzwerke in dem Satz von Kommunikationsnetzen 100 gekoppelt.
-
Es
wird nun jedes der Elemente von 1 beschrieben.
Der Satz von Kommunikationsnetzen 100 ist eine Sammlung
von unterschiedlichen Kommunikationsnetzen. In einer Ausgestaltung
beinhaltet der Satz von Kommunikationsnetzen das Telefonnetz 136 und
das VOIP-Netz 134. Das Telefonnetz 136, das häufig auch
PSTN (Public Switched Telephone Network) genannt wird, adressiert
jede Station nach einem Nummerierungsplan. In Nordamerika wird der North
American Numbering Plan (NANP) verwendet und jede Telefonleitung
hat eine zehnstellige Telefonnummer in der Form einer dreistelligen
Ortskennziffer, gefolgt von einer siebenstelligen Nummer. Nummern
werden Telefonleitungen, nicht Personen zugewiesen. Daher kann eine
einzelne Person mehrere Telefonnummern haben. Im Gegensatz dazu
benutzt das IP-Netzwerk eine IP-Adresse, wo, gemäß der Norm IPv4, jede Adresse
4 Byte hat. Die IP-Adresse wird mit einer bestimmten Station, nicht
mit einem Benutzer, verbunden, so dass eine einzelne Person mehrere
IP-Adressen haben kann. Daher können Benutzer
des Telefonnetzes 136 miteinander über die zehnstellige Nummer
Kontakt aufnehmen und Benutzer des VOIP-Netzwerks 134 können unter Verwendung
der IP-Adresse miteinander in Kontakt treten. Benutzer können jedoch
allein auf den beiden unterschiedlichen Netzwerken ohne eine zusätzliche Bridge
nicht miteinander in Kontakt treten.
-
Das
Telefaxnetz 140 wird typischerweise als eine Teilmenge
des Telefonnetzes 136 angesehen. Der Grund ist, dass die
meisten Telefaxmaschinen über
das PSTN miteinander kommunizieren. Telefaxe können jedoch auch über Datennetze
wie z.B. das Internet oder das Datennetz 138 gesendet werden. Ebenso
können
Telefaxmaschinen über
Netzwerke wie das VOIP-Netz 134 arbeiten. Telefaxstationen werden
gewöhnlich
nach dem NANP adressiert. Das Telefaxnetz 140 unterscheidet
sich vom Telefonnetz 138 dadurch, dass ein Benutzer allein
auf den beiden unterschiedlichen Netzwerken den anderen nicht ohne
eine zusätzliche
Bridge kontaktieren kann. So kann ein Benutzer allein mit einem
herkömmlichen Telefon
ohne eine zusätzliche
Bridge z.B. kein Telefax zu einer Telefaxmaschine senden. Ferner
kann eine mit dem Datennetz 138 gekoppelte Telefaxmaschine
möglicherweise
nicht mit einer mit dem Telefonnetz 136 gekoppelten Telefaxmaschine
kommunizieren.
-
Das
Pager-Netz 132 wird typischerweise nach dem NANP adressiert.
Viele Pager können
jedoch auch über
Datennetze wie das Internet oder das Datennetz 138 adressiert
werden. Benutzer des Telefonnetzes 136 können zwar
Kontakt mit Pagern aufnehmen, aber dies ist allein deshalb der Fall,
weil Pager-Firmen spezialisierte Bridge-Software installieren, die
den Telefonanruf empfängt
und die DTMF-(Dual Tone Multi-Frequency)-Signale
zum Senden einer Meldung über
das Pager-Netz zum Pager decodiert.
-
Das
Datennetz 138 ist ein Datennetz wie das Internet, ein LAN
(lokales Netz), ein WAN (Weitverkehrsnetz) oder irgendein anderer
Datennetztyp. Das Datennetz kann über andere Netzwerke wie z.B.
das Telefonnetz 136 operieren. Datennetze sind typischerweise
nicht für
Sprachkommunikation ausgelegt. Protokolle wie das VOIP erlauben
jedoch eine Sprachkommunikation über
das Datennetz 138. Benutzer des Datennetzes 138 können ohne
eine zusätzliche
Bridge nicht mit Benutzern des Telefonnetzes 136 per Sprache
kommunizieren.
-
Der
Kommunikationsserver 110 dient zum Überbrücken der unterschiedlichen
Netzwerke in dem Satz von Kommunikationsnetzen 100. Der
Kommunikationsserver 110 bietet auch einen gleichförmigen Mechanismus,
der es Benutzern gestattet, mit anderen Personen Kontakt aufzunehmen.
Der Kommunikationsserver 110 bietet auch einen vereinheitlichten
Gebührenberechnungsmechanismus
für die Vielzahl
von Kommunikationsdiensten, die ein Benutzer in Anspruch nimmt.
-
Der
Benutzer 102, der Benutzer 104 und der Benutzer 106 sind
Einzelpersonen. Der Benutzer 102 und der Benutzer 104 sind
Benutzer des Kommunikationsservers 110. Der Benutzer 106 ist
eine Person, die den Kommunikationsserver 110 nicht benutzt.
Die Benutzer 102–106 haben
eine Reihe von unterschiedlichen Kontaktstellen und Mechanismen, wie 1 zeigt.
So gibt es beispielsweise sechs verschiedene Möglichkeiten, wie der Benutzer 102 kontaktiert
werden kann: ein Mobiltelefon 112, das Bürotelefon 114,
das Heimtelefon 116, die Bürofaxmaschine 118,
den PDA 120 und den Bürocomputer 122.
-
Wenn
der Benutzer 106, der kein Subscriber des Kommunikationsservers 110 ist,
mit dem Benutzer 102 Kontakt aufnehmen möchte, dann
muss der Benutzer 106 eine Reihe von Schritten durchführen. Der
Benutzer 106 muss ein Kommunikationsnetz wählen. Der
Benutzer 106 muss die Adresse für den Benutzer 102 in
diesem Kommunikationsnetz finden und der Benutzer 106 muss
seinem Kommunikationsgerät
die Adresse für
den Benutzer 102 in diesem Kommunikationsnetz geben. Wenn
der Benutzer 106 nicht sicher ist, ob der Benutzer 102 zu
Hause oder im Büro
ist, dann kann der Benutzer 106 nicht wissen, über welche
Telefonnummer er den Benutzer erreichen kann.
-
Im
Gegensatz dazu erleichtert der Kommunikationsserver 110 die
Kommunikation zwischen dem Benutzer 102 und seinen Kontaktpersonen.
Der Benutzer 102 greift auf den Kommunikationsserver 110 zu
und identifiziert dessen aktuellen Standort. Dann identifiziert
der Benutzer 102 eine zu kontaktierende Person, die Person
braucht kein Subscriber des Kommunikationsservers 110 zu
sein. Der Kommunikationsserver 110 steuert dann die Kommunikationskanäle zwischen
dem Benutzer 102 und der/den anderen Person(en).
-
Der
Kommunikationsserver 110 kann sich aus einer Reihe verschiedener
Service-Knoten zusammensetzen.
Die Service-Knoten können
jeweils eine Reihe verschiedener Programme abarbeiten, um Service-Funktionen
bereitzustellen. Es ist auch möglich,
dass ein einzelner Service-Knoten mehrere Service-Funktionen bereitstellt.
Die Service-Knoten können sich
an einem einzigen Ort befinden oder können auf verschiedene Orte
verteilt sein. Die Service-Knoten, die Telekommunikationsnetzgeräte steuern,
werden sich gewöhnlich
in der Nähe
des Netzwerkgerätes
befinden. Demzufolge können
die Service-Knoten auf mehrere Orten verteilt und durch ein Privatnetz
verbunden sein.
-
Der
Begriff Kommunikationsserver kann sich auf alle Service-Knoten und
Service-Funktionen beziehen, wird aber auch gewöhnlich zur Bezeichnung einer
Teilmenge der Service-Knoten und Service-Funktionen benutzt, die
alle Service-Knoten außer
den Switch-Controller-Knoten und Switch-Controller-Funktionen beinhalten.
Diese Terminologie wird deshalb verwendet, weil ein Carrier mehrere Switch-Gruppen
auf der Basis von Kapazität
und Bedarf an verschiedenen Standorten einrichten kann (siehe 3).
-
B. Tätigen eines Anrufs
-
2 ist
ein Blockdiagramm, das zeigt, wie eine Ausgestaltung der Erfindung
einen Kommunikationskanal zwischen einem Subscriber und einem Nicht-Subscriber
steuern kann. 2 demonstriert auch, wie der
Kommunikationsserver 110 als Bridge zwischen unterschiedlichen
Kommunikationsnetzen dient und wie der Kommunikationsserver 110 einen Kommunikationskanal
wählt und
steuert.
-
Dieser
Absatz führt
die Elemente von 2 auf. 2 beinhaltet
den Benutzer 104, den Benutzer 106, den Kommunikationsserver 110,
das Telefonnetz 136, das Datennetz 138, einen
Switch-Controller 210 und einen Telefon-Switch 212.
Der Kommunikationsserver 110 umfasst einen Service-Manager 202,
eine Gebührenberechnungsmaschine 204, einen
Logger 206 und einen Avisierer 208.
-
Dieser
Absatz beschreibt die Verbindungen zwischen den Elementen von 2.
Der Computer 124 ist in Kommunikation mit dem Datennetz 138 gekoppelt.
Das Datennetz 138 ist in Kommunikation mit dem Kommunikationsserver 110 gekoppelt.
Der Kommunikationsserver 110 ist in Kommunikation mit dem
Switch-Controller 210 gekoppelt. Der Switch-Controller 210 ist
in Kommunikation mit dem Telefon-Switch 212 gekoppelt.
Der Telefon-Switch 212 ist in Kommunikation mit dem Telefonnetz 136 gekoppelt.
Das Telefonnetz 136 ist in Kommunikation mit dem Heimtelefon 126 und
dem Heimtelefon 128 gekoppelt.
-
Es
wird nun jedes Element von 2 beschrieben.
Der Benutzer 104 schaltet sich am Kommunikationsserver 110 über das
Datennetz 138 mittels des Computers 124 zu. Der
Computer 124 kann ein Programm zum Kommunizieren mit dem
Kommunikationsserver 110 abarbeiten oder der Kommunikationsserver 110 kann über ein
Web-Browser-Programm über
das World Wide Web (WWW) kontaktiert werden. Wenn der Benutzer 104 sich
und seinen Standort beim Kommunikationsserver 110 identifiziert,
dann kann der Benutzer 104 Personen über die Schnittstelle mit dem
Kommunikationsserver 110 kontaktieren. Der Benutzer 104 kann
signalisieren, dass er Kontakt mit dem Benutzer 106 aufnehmen will,
indem er den Benutzer 106 aus einer Liste oder einem anderen
Mittel auswählt.
Wenn der Benutzer 106 mehrere Kontaktstellen hat und kein
Subscriber beim Kommunikationsserver 110 ist, dann wird
der Benutzer 104 aufgefordert, eine Kontaktstelle zu wählen. Wenn
der Benutzer 104 jedoch Kontakt mit dem Benutzer 102 aufnehmen
möchte,
einem Subscriber des Kommunikationsservers 110, dann kann der
Kommunikationsserver 110 die richtige Kontaktstelle für den Benutzer 102 ohne
zusätzliche
Aufforderung ermitteln, weil der Benutzer 102 ebenfalls
seine Stelle für
den Kommunikationsserver 110 identifiziert hat, wenn er
selbst erst kürzlich
beim Kommunikationsserver identifiziert wurde.
-
Nach
dem Wählen
der Kontaktnummer, hier die Heimtelefonnummer 128 für den Benutzer 106, sendet
das Client-Programm auf dem Computer 124 eine Meldung über das
Datennetz 138 zum Kommunikationsserver zum Einleiten eines
Anrufs. Die Meldung kann verschlüsselt
sein. Der Kommunikationsserver 110 empfängt die Meldung im Service-Manager 202.
-
Der
Service-Manager 202 kann einige grundsätzliche Checks und Verifizierungen
an der Meldung vornehmen und sendet die Meldung dann zur Gebührenberechnungsmaschine 204.
Die Gebührenberechnungsmaschine 204 validiert
die Anforderung. Der Validierungsvorgang beinhaltet das Prüfen des
Kontos des anfordernden Benutzers und das Autorisieren des Anrufs.
Der Validierungsprozess kann auch das Belasten einer Kreditkarte
in Verbindung mit dem Konto des Benutzers 104 beinhalten. Die
Gebührenberechnungsmaschine 204 sendet eine
Meldung zum Service-Manager 202 zum
Einleiten des Anrufs, wenn die Kontoinformationen validiert wurden.
Nach dem Eingang der Validierung von der Gebührenberechnungsmaschine weist
der Service-Manager 202 den Switch-Controller 210 an,
den Anruf einzuleiten.
-
Der
Switch-Controller 210 kann den Telefon-Switch 212 steuern.
Der Telefon-Switch 212 ruft dann
sowohl die einleitende Partei, hier den Benutzer 104, als
auch die empfangende Partei an, hier den Benutzer 106,
an. Wenn der Telefon-Switch 212 die Parteien anruft, werden
Meldungen durch den Switch-Controller 210 zum Client-Programm auf dem Computer 124 zurückgesandt,
um den Anruf- und Verbindungsstatus der Telefonleitungen der Gesprächsteilnehmer
anzuzeigen. Das Display auf dem Computer 124 kann so aktualisiert
werden, dass es den Ruf- sowie den Abgehoben/Eingehängt-Status der
Telefonleitungen für
jeden Teilnehmer als Reaktion auf die Meldungen vom Switch-Controller 210 reflektiert.
-
Während des
gesamten Gesprächs überwacht
der Switch-Controller 210 das Restguthaben auf dem Konto.
Wenn mehr Kredit benötigt
wird, dann kann die Kreditkarte in Verbindung mit dem Konto des
Benutzers 104 während
des Anrufs belastet werden. Dies erfolgt dadurch, dass der Switch-Controller 210 eine
Meldung zur Gebührenberechnungsmaschine 204 zum
Anfordern von mehr Kredit sendet. Der Kommunikationsserver 110 unterstützt auch
Konferenzanrufe, bei denen jede Partei für ihren Gesprächszweig
zahlt.
-
Das
Client-Programm auf dem Computer 124 lässt es zu, dass der Benutzer 104 einem
Telefongespräch
weitere Parteien hinzufügt.
Das Programm lässt
es auch zu, dass der Benutzer 104 selektiv die Fähigkeit
einzelner Teilnehmer begrenzt, während
des Telefongesprächs
zu sprechen. Das Programm ermöglicht
es auch, dass der Benutzer 104 die Fähigkeit eines einzelnen Teilnehmers
selektiv begrenzt, während
des Telefongesprächs
zuzuhören
und zu sprechen. Wenn beispielsweise der Benutzer 104 dem
Computer 124 signalisieren würde, dass eine dritte Partei,
z.B. der Benutzer 102, zugeschaltet werden soll, dann könnte der
Benutzer 104 steuern, welche der anderen Teilnehmer mit
dem Client-Programm sprechen und zuhören dürfen.
-
Der
Kommunikationsserver 110 lässt es auch zu, dass die Client-Programme
auf den Computern wie dem Computer 124 Meldungen zu anderen Benutzern
senden, die in Kommunikation mit dem Kommunikationsserver 110 gekoppelt
sind. Bei Konferenzgesprächen
mit anderen Subscribern des Kommunikationsservers 110 stellt
dieser einen zweiten Kommunikationskanal zusätzlich zu den verwendeten Sprechkanälen und
Konferenzkanälen
bereit.
-
Der
Kommunikationsserver 110 und das Client-Programm auf dem
Computer 124 reduzieren die Notwendigkeit für den Benutzer 104 zu
entscheiden, wie er seinen Anruf leitet. Ferner unterstützt der
Kommunikationsserver 110 die Überbrückung einer Reihe verschiedener
Techniken. So könnte
der Telefon-Switch 212 beispielsweise mit einem VOIP-Router
gekoppelt werden und Kommunikationen mit dem Bürotelefon 114 zulassen,
das zum Benutzer 102 gehört, der in Kommunikation mit
dem VOIP-Netzwerk 134 gekoppelt ist. Der Benutzer 104 braucht
lediglich anzuzeigen, mit wem er Kontakt aufnehmen möchte, der
Kommunikationsserver 110 übernimmt die übrigen Details
und erstellt eine einzelne, einheitliche Rechnung für die benutzten
Kommunikationsdienste.
-
Der
Logger 206 dient zum Protokollieren und Speichern der im
Netzwerk übertragenen
Meldungen. Der Logger 206 bietet nützliche Unterstützung zum Überwachen
des Netzwerkstatus und zum Führen
von Netzwerkoperationen.
-
Der
Avisierer 208 dient zum Bereitstellen von geschäftsregelspezifischen
Antworten auf Meldungen. So kann der Avisierer 208 beispielsweise
so programmiert werden, dass er auf Fehlermeldungen auf dem Netzwerk
horcht. Der Avisierer 208 kann dann die Fehlermeldungen
durch Geschäftsregeln verarbeiten,
die vom Bediener des Kommunikationsservers 110 gegeben
werden, und entsprechende Maßnahmen
ergreifen. Zu den Maßnahmen
könnten ein
Funkruf zum Netzwerk-Supervisor, das Kontaktieren mehrerer Personalmitglieder
per Telefon, das Senden von Email-Nachrichten, das Herunterfahren von
Teilen des Systems wie z.B. einem gestörten Switch oder andere Maßnahmen
gehören.
-
Der
Avisierer 208 unterstützt
auch geplante Konferenzanrufavisierungen. Der Benutzer 104 kann einen
Konferenzanfruf für
eine bestimmte Zeit planen und der Avisierer 208 kann zur
geplanten Zeit Aktionen zu den Konferenzteilnehmern auslösen.
-
C. Ausführliche
Beschreibung des Kommunikationsservers
-
3 ist
ein Blockdiagramm einer Ausgestaltung eines Kommunikationsservers
zusammen mit mehreren Switch-Controllern. 3 demonstriert den
skalierbaren und verteilten Charakter des Kommunikationsservers.
-
Der
Kommunikationsserver 110 braucht nicht auf einem einzelnen
Computer oder auch nur auf einem einzelnen Teilnetz oder Netzwerk
zu laufen. In einer Ausgestaltung sind die Komponenten des Kommunikationsservers 110 Module,
die mit TIB®/RendezvousTM Messaging über ein IP-(Internet Protocol)-Netz
kommunizieren. TIB®/RendezvousTM ist
von Tibco, Inc. aus Palo Alto in Kalifornien erhältlich. Die Meldungen können im
UDP-(User Datagram Protocol)-Protokoll, im Multicast-Protokoll oder
im TCP-(Transmission Control Protocol)-Protokoll vorliegen. Der
RendezvousTM Routing Daemon ermöglicht die
Verteilung der Komponenten über
verschiedene Netze und bearbeitet Protokollkonvertierungen nach
Bedarf, damit die Komponenten kommunizieren können. Die Messaging-Architektur
ist in „Apparatus and
Method for Providing Decoupling of Data Exchange Details for Providing
High Performance Communication Between Software Processes", Marion D. Skeen
et al., US-Patent Nr. 5,557,798, eingereicht am 21. Dezember 1990,
offenbart.
-
Die
Komponenten des Kommunikationsservers 110 sind jeweils
Computerprogramme, Applikationen, Applets oder ein anderer Programmtyp,
die in Kommunikation miteinander gekoppelt werden. Sie können sich
auf einem einzelnen Computer mit mehereren Prozessoren oder auf
mehreren Computern an verschiedenen physischen Standorten befinden. In
einer Ausgestaltung befinden sich die Komponenten des Kommunikationsservers 110 auf
mehreren Computern in einer einzigen physischen Einrichtung, wobei
zwei oder mehr IP-Teilnetze in Kommunikation geschaltet sind. Diese
Konfiguration unterstützt
Fehlertoleranz, Redundanz und Lastverteilung.
-
In
einer Ausgestaltung werden auch Lastverteilung, Fehlertoleranz und
Redundanz dadurch unterstützt,
dass eine verteilte Warteschlangenarchitektur verwendet wird, wie
sie das TIB®RendezvousTM System bietet. So könnte z.B. der Kommunikationsserver 110 vier
Service-Manager 202A–D
haben. Jeder Service-Manager
gehört
zu einer einzelnen verteilten Warteschlange, der verteilten Service-Manager-Warteschlange 300.
Ebenso könnte
es vier Gebührenberechnungsmaschinen 204A–D geben.
Jede Gebührenberechnungsmaschine
gehört
zu einer einzelnen verteilten Warteschlange, der verteilten Gebührenberechnungsmaschinen-Warteschlange 302. Der
Kommunikationsserver 110 könnte weniger Logger haben.
Hier sind nur zwei Logger vorgesehen, die Logger 206A–B. Auch
hier gehört
wieder jeder Logger zu einer einzelnen verteilten Warteschlange,
der verteilten Logger-Warteschlange 304.
-
Die
Verteilte-Warteschlange-Architektur ist äußerst flexibel. So läuft im Kommunikationsserver 110 derzeit
beispielsweise nur ein einzelner Avisierer, der Avisierer 208A.
Trotzdem gehört
er zur Verteilte-Avisierer-Warteschlange 306. So können nach
Bedarf mehr Computerressourcen aktiviert werden. Wenn ein zusätzlicher
Avisierer benötigt
wird, dann kann ein weiteres Avisiererprogramm abgearbeitet, ein
neuer Computer zugeschaltet, eine neue Netzwerk-Site online geschaltet
werden usw., und die Verteilte-Warteschlange-Architektur ermöglicht die
Lastverteilung zwischen den mehreren Avisierern. In einer Ausgestaltung
läuft wenigstens
jeweils ein Service auf jeweils zwei IP-Teilnetzen am physischen
Ort des Kommunikationsservers 110. So kann auf einem IP-Teilnetz
ein Fehler auftreten, aber der Kommunikationsserver 110 kann
doch weiter funktionieren.
-
Eine
verteilte Warteschlange kann auch ortsferne Geräte miteinander koppeln, wie
die verteilte Switch-Controller-Warteschlange 308 zeigt.
In diesem Beispiel gibt es zwei Carrier-Switch-Gruppen 330A–B. Die
Carrier-Switch-Gruppe 330A könnte sich in New York befinden,
während
die Carrier-Switch-Gruppe 330B in Los Angeles sein könnte. Die
verteilte Switch-Controller-Warteschlange 308 könnte sich
zusammen mit den übrigen
Komponenten des Kommunikationsservers 110 in San Francisco
befinden.
-
Jede
Carrier-Switch-Gruppe hat mehrere Switch-Controller 210A–F und mehrere
Telefon-Switches 212A–D.
Es gibt keine Begrenzung der Zahl der Switch-Controller oder Telefon-Switches,
aus denen sich eine Carrier-Switch-Gruppe zusammensetzt. Jede Carrier-Switch-Gruppe
kann eine beliebige Zahl von Ressourcen haben, je nach der für die Carrier-Switch-Gruppe
benötigten
Schaltkapazität.
Wenn ein Benutzer nur Zeit mit einem einzelnen Carrier gekauft hat,
dann stellen die Gebührenberechnungsmaschinen 204A–D und die
verteilte Switch-Controller-Warteschlange 308 sicher, dass
Anrufe nur über die
Carrier-Netze geleitet werden, für
die der Benutzer Privilegien besitzt.
-
Die
Switch-Controller 210A–F
können
auf UNIX-Workstations wie der SunTM SparcstationTM oder einer WindowsTM NT
Workstation laufen. Produkte wie Marathon Endurance® von
Marathon Technologies aus Boxborough in Massachusetts können zum
Bereitstellen von zusätzlicher
Fehlertoleranz unter WindowsTM NT verwendet
werden. Marathon Endurance® lässt es zu, dass eine Multiprocessor-Workstation
einen Prozessorausfall hat und trotzdem weiter funktioniert.
-
Die
verteilten Warteschlangen können
auf der Basis einer Reihe von vom Operator definierten Kriterien
planen. Die verteilte Service-Manager-Warteschlange 300 arbeitet
vornehmlich mit Round-Robin-Planung auf der Basis der aktuellen
Anruflast. Die Service-Manager 202A–D haben jeweils eine Kapazität. Die Service-Manager 202A–C könnten eine
Kapazität
von 1000 haben, während
der Service-Manager 202D eine Kapazität von 2000 haben könnte. Wenn
die verteilte Service-Manager-Warteschlange einem Service-Manager
eine Anrufanforderung zuweist, dann weist sie sie dem Service-Manager mit der höchsten Restkapazität zu. Somit
gehen die ersten 1000 Anrufe zum Service-Manager 202D,
bis die Belastung aller Service-Manager bei 1000 liegt. Jedes Mal,
wenn einem Service-Manager ein Anruf zugewiesen wird, wird die Kapazität um 1 reduziert. Nach
beendetem Anruf wird die Kapazität
des Service-Managers wiederum 1 erhöht. Dadurch wird eine relativ
gleichmäßige Verteilung
der Anruflast unter den Service-Managern gewährleistet und es wird sichergestellt,
dass die Last schnell ausgeglichen wird, wenn ein neuer Service-Manager
online geschaltet wird.
-
Die
verteilte Gebührenberechnungsmaschinen-Warteschlange 302 arbeitet
auf ähnliche
Weise. Die verteilte Gebührenberechnungsmaschinen-Warteschlange 302 gewährleistet
jedoch auch, dass gewählte
Meldungen von jeder Gebührenberechnungsmaschine
individuell empfangen werden. Dadurch wird Redundanz unterstützt, weil
die Gebührenberechnungsfunktionen
sich auf allen Gebührenberechnungsmaschinen
befinden. Die verteilte Logger-Warteschlange 304 und die
verteilte Avisierer-Warteschlange 306 arbeiten auf die
gleiche Weise wie die Gebührenberechnungsmaschinen-Warteschlange.
-
Die
verteilte Switch-Controller-Warteschlange implementiert einen Planungsalgorithmus,
mit dem Switches leicht zugeordnet werden können und mit dem auch neue
Technologie leicht angewendet werden kann. Ein Planungsalgorithmus
wurde für
die verteilte Switch-Controller-Warteschlange 308 entwickelt,
die Lastverteilung zulässt.
Jedem Switch wird eine Gewichtung und eine Kapazität zugewiesen.
Die Gewichtung entspricht der allgemeinen Zuverlässigkeit des Telefon-Switch.
So könnte
z.B. einem neuen VOIP-Telefon-Switch eine Gewichtung von 250 zugewiesen
werden und er könnte
Kapazität
für 1000
Kanäle
haben. Dem SummaTM 4 Switch könnte eine
Gewichtung von 1000 gegeben werden und er könnte Kapazität für 4000 Kanäle haben.
-
D. Ausführliche
Beschreibung des Telefon-Switch
-
4 ist
ein Blockdiagramm eines Telefon-Switch. 4 zeigt,
wie der Kommunikationsserver 110 mit dem Telefonnetz 136 und
anderen Netzwerken kommunizieren kann.
-
Der
Kommunikationsserver 110 ist in Kommunikation mit dem Switch-Controller 210 gekoppelt, der
wiederum in Kommunikation mit dem Telefon-Switch 212 gekoppelt
ist. Der Telefon-Switch 212 beinhaltet Konferenzgesprächsressourcen 402, Sprachressourcen 404,
eine Ressourcenkarte 406, eine PRI (Primary Rate Interface) 408 und
eine PRI 410. Die PRI 408 ist mit einem VOIP-Router 412 gekoppelt,
der in Kommunikation mit dem VOIP-Netz 134 gekoppelt ist.
Die PRI 410 ist mit einem Class 4 Switch 414 gekoppelt,
der in Kommunikation mit dem Telefonnetz 136 gekoppelt
ist.
-
Der
Telefon-Switch 212 kann ein programmierbarer Telefon-Switch
wie z.B. der SummaTM 4, ein Class 5 Switch
oder ein anderer Telefon-Switch-Typ sein. Der Telefon-Switch 212 reagiert auf
Switch-Anforderungen und gibt Switch-Antworten auf solche Anforderungen.
Der Switch-Controller 210 dient zum Umsetzen von Kommunikationsdiensteanforderungen
vom Kommunikationsserver 110 in Switch-Anforderungen für den Telefon-Switch 212. Der
Switch-Controller 210 setzt auch die Switch-Antworten vom
Telefon-Switch 212 in Kommunikationsdiensteantworten für den Kommunikationsserver 110 um.
Der Switch-Controller 210 hat gerätespezifische Steuerkenntnisse.
Wenn ein neuer Telefon-Switch-Typ verwendet wird, dann braucht nur
der Switch-Controller 210 zusätzlich programmiert zu werden.
-
Der
Telefon-Switch 212 ist so ausgestattet, dass er Konferenzgespräche über die
Konferenzgesprächsressource 402 ermöglicht.
Die Sprachressource 404 ermöglicht die Erzeugung von Audio-Prompts
für den
Telefon-Switch 212. Die Audio-Prompts können Meldungen wie „Apparat
vier eins drei bitte" oder
ein anderer gesprochener Text sein. Die Audio-Prompts ermöglichen
es dem Telefon-Switch 212, Anrufe zu den angerufenen Personen
zu tätigen,
die eine von einer Person bediente Schaltzentrale haben. Die Sprachressource 404 kann
auch zum Erzeugen von Prompts verwendet werden. So könnte z.B.,
wenn der Guthabenstand bei einem Konferenzgespräch zur Neige geht, eine Meldung
abgespielt werden, die besagt, dass das Gespräch nach einer vorbestimmten
Zeit beendet wird. Der Telefon-Switch 212 kann auch DTMF-Signale
erzeugen und decodieren. So kann der Telefon-Switch 212 Anrufe
zu angerufenen Personen tätigen,
die einen DTMF-fähigen
Apparat haben. Er könnte
auch zum Kontaktieren von Pagern über das Pager-Netz 132 verwendet
werden. Telefaxressourcen können dem
Telefon-Switch 212 zum
Unterstützen
von Telefaxübertragungen
hinzugefügt
werden. Die Ressourcenkarte 406 wird vom Telefon-Switch 212 zum
Verfolgen und Überwachen
der verfügbaren
Ressourcen verwendet. Die Ressourcenkarte 406 wird vom
SummaTM 4 Switch verwendet, kann aber von
anderen Telefon-Switches nicht verwendet werden.
-
Die
PRIs 408 und 410 liefern die Telefonleitungen.
Jede PRI unterstützt
fünfzehn
analoge Telefonleitungen. Alternativ könnten andere Ressourcen zum
Unterstützen
von Telefonleitungen verwendet werden. Je nach Bedarf und Kapazität kann der
Telefon-Switch 212 mehr
PRIs, Konferenzanrufressourcen 402 und andere Ressourcen
haben. Die PRI 410 handhabt einfache alte Fernsprechdienste
(POTS). Ein Class 4 Telefon-Switch
wie z.B. ein Nortel DMS 250 oder ein AT&T 5ESS wird zum Übertragen des Anrufs von der
PRI 410 auf das Telefonnetz 136 verwendet. Es
sind alternative Konfigurationen möglich und es könnte jeder
beliebige programmierbare Telefon-Switch verwendet werden. Oder,
wenn an irgendeiner Stelle das Telefonnetz 136 so modifiziert wird,
dass es Class 5 Switches zum Führen
von Anrufen direkt auf das Telefonnetz 136 zulässt, dann könnte ein
SummaTM 4 den Anruf direkt von der PRI 410 auf
das Telefonnetz 136 schalten. Die PRI 408 ist mit
einem VOIP-Router 412 gekoppelt. Der VOIP-Router 412 ermöglicht Kommunikationen
zwischen dem Telefon-Switch 212 und dem VOIP-Netzwerk 134.
-
E. Ausführlicher
Anrufeinrichtungsablauf
-
Die 5A–B sind
Prozessablaufdiagramme, die ein Verfahren zum Einrichten eines Telefonanrufs
in einer Ausgestaltung der Erfindung einrichten. Die 5A–B zeigen
den flexiblen Charakter des Kommunikationsservers 110.
-
1. Betreffbezogene Meldungserstellung
-
Um
den Vorgang in den 5A–B zu verstehen, sollte man
zunächst
betreffbezogenes Messaging verstehen, das von den Komponenten des Kommunikationsservers 110 in
einer Ausgestaltung der Erfindung angewendet wird. Betreffbezogenes Messaging
ist zwar eine Messaging-Technik, die in der Erfindung angewendet
werden kann, aber es können
auch andere Messaging-Systeme oder andere Kommunikationsarchitekturen
angewendet werden. Das TIB®/RendezvousTM Messaging-System bietet
Publish/Subscribe-Messaging und Request/Reply-Messaging.
-
Mit
Publish/Subscribe-Messaging kann eine einzelne Meldung auf einem
Betreffnamen ein einziges Mal veröffentlicht werden. Die Komponenten,
die an einem bestimmten Betreffnamen interessiert sind, subskribieren
den Betreffnamen. Die TIB®/RendezvousTM Software
handhabt auf effiziente Weise ein zuverlässiges Routing der Nachrichten
auf der Basis des Betreffnamens. Auch eine zertifizierte Meldungsübermittlung
wird unterstützt.
-
Request/Reply-Messaging
ist bedarfsabhängig.
Diese Messaging-Technik wird von einem Client verwendet, um eine
individuelle Antwort von einem Server anzufordern. So kann beispielsweise
der Service-Manager eine Antwort von der Gebührenberechnungsmaschine in
Bezug auf die Gültigkeit
eines Kontos anfordern. Auch hier handhabt die TIB®/RendezvousTM Software die Leitwegführung der Meldungen auf der
Basis des Betreffnamens.
-
Betreffnamen
im TIB®-System
bestehen aus mehreren Komponenten. Ein Betreff wird mit einem Punkt
zwischen jeweils zwei Komponenten des Betreffnamens voll ausgeschrieben.
So ist die Meldung „TS.CM.STARTCALL" ein einzelner Betreffname,
der sich aus drei Komponenten zusammensetzt. Die Komponenten werden
wichtig, weil das TIB®-System verwendende Software-Module
Wildcard-Betreffnamen subskribieren können. So könnte beispielsweise der Logger „TS.>" subskribieren und der Wildcard-Operator „>" passt, wenn der Betreffname die Buchstabenkomponente
plus wenigstens eine weitere zusätzliche
Betreffnamenkomponente enthält. Meldungen,
die passen würden,
sind u.a. „TS.CM.STARTCALL", „TS.SM.VALIDATE", TS.{transID}.ERROR", usw.
-
Beim
Beschreiben von Betreffnamen wird zuweilen eine Betreffnamenkomponente
in Klammern gesetzt, z.B. {transID} in „TS.{transID}.ERROR". Mit dieser Konvention
soll angezeigt werden, dass im Betreffnamen der Meldung der aktuelle
Wert der Kennung ausgefüllt
ist. So wäre
beispielsweise für
die Transaktionskennung 945 der Betreffname „TS.945.ERROR".
-
2. Meldungen
-
Betreffbezogene
Adressierung bietet einen Mechanismus zum Übertragen von Meldungen zwischen
Komponenten des Kommunikationsservers. Es gibt mehrere gemeinsame
Meldungstypen, die vom Kommunikationsserver verwendet werden.
-
Die
vom Kommunikationsserver verwendeten Meldungen können alle von einer einzelnen
Meldungsgrundklasse für
Service-Meldungen abhängig sein.
Die Service-Meldungsklasse
wird dann weiter in Unterklassen für Telefonanrufe, Telefaxe,
Pager und andere Dienste unterteilt. Die Unterklassen bieten Methoden
und Instanzvariablen für
netzwerkspezifische Funktionalität.
Die Meldungen für
Telefonanrufe werden hier ausführlich
beschrieben.
-
a. Anrufmeldung
-
In
der Anrufmeldung werden Informationen über Anruf-Setups gegeben. Eine
Anrufmeldung setzt sich aus einer Sammlung von anrufspezifischen Informationen
zusammen mit einer Sammlung von Membermeldungen zusammen. Die Anrufmeldung hat
für jeden
Zweig des Konferenzgesprächs
eine Membermeldung. Die Anrufmeldung kann ferner Folgendes beinhalten:
einen Namen für
den Konferenzanruf, ein Passwort für den Konferenzanruf, eine Startzeit,
eine Endzeit, eine Transaktionskennung, eine Switch-Kennung, eine
Login-Kennung, eine Anrufstartzeit und andere Felder. Diese Felder
werden nicht alle auf einmal ausgefüllt. Während der Beschreibung des
Anrufvorgangs wird der Gebrauch der Felder beschrieben.
-
b. Membermeldungen
-
Membermeldungen
geben Informationen über
die Personen, die zu kontaktieren sind. Membermeldungen sind gewöhnlich in
Anrufmeldungen eingebettet, werden aber auch für sich alleine gesendet. Im
Falle einer Anrufmeldung hat jeder Zweig eine Zweigkennung oder
legID; legID0 ist der Anrufverfasser, der den Anruf steuern kann
und dem gewöhnlich die
Gebühren
für alle
Zweige des Gesprächs
berechnet werden.
-
Die
Membermeldung beinhaltet Kontaktinformationen zum Kontaktieren der
angerufenen Person. Die Meldung kann einen Namen, eine Nummer, einen
Apparat, Informationen darüber,
wie der Apparat erreicht wird, eine Statusmeldung, eine Zweigkennung,
eine Kontomeldung, verschiedene Telefonnummern und Kontaktstelleninformationen,
die Start- und Endzeit für
den Zweig und andere Felder beinhalten. Diese Felder werden nicht
alle auf einmal ausgefüllt.
Im Laufe der Beschreibung des Anrufvorgangs wird der Gebrauch der
Felder beschrieben.
-
c. Kontomeldung
-
Kontomeldungen
geben Kontoinformationen und Autorisierung. Kontomeldungen enthalten
typischerweise eine Kontonummer, ein Passwort, den gerade verfügbaren Kreditbetrag
und andere Felder. Das Passwort kann verschlüsselt sein. Die Meldung hat
auch ein Feld, das anzeigt, wenn das Konto verifiziert wurde. Diese
Felder werden nicht alle auf einmal ausgefüllt. Im Laufe der Beschreibung
des Anrufvorgangs wird der Gebrauch der Felder beschrieben.
-
3. Anrufeinrichtungsphase
-
In
Schritt 500 beginnt der Prozess. Der Prozess ist parallel
dargestellt, aber die Schritte brauchen nicht parallel zu erfolgen.
-
In
Schritt 502 subskribiert der Service-Manager „TS.CM.STARTCALL". Der Service-Manager könnte der
Service-Manager 202 sein. Dies ist der Betreffname, den
der Client zum Anfordern des Anrufbeginns benutzen wird. Wenn es
mehrere Service-Manager
gibt, dann gehören
sie zu einer verteilten Warteschlange, die die Meldung empfängt und dann
einen der Service-Manager zum Bearbeiten der Meldung zuweist.
-
In
Schritt 502 subskribiert der Switch-Controller „TS.SM.STARTCALL". Der Switch-Controller könnte der
Switch-Controller 210 sein. Der Switch-Controller 210 ist
so programmiert, dass er verifiziert, ob die auf „TS.SM.STARTCALL" veröffentlichte
Meldung vom Service-Manager kommt. Dadurch wird gewährleistet,
dass der Client das Gebührenberechnungssystem
nicht umgehen kann.
-
In
Schritt 506 subskribiert die Gebührenberechnungsmaschine „TS.SM.VALIDATE". Die Gebührenberechnungsmaschine
könnte
die Gebührenberechnungsmaschine 204 sein.
-
Als
Nächstes
veröffentlicht
der Client in Schritt 508 eine Meldung zum Betreff „TS.CM.STARTCALL". Dies ist der zum
Starten eines Telefonanrufs benutzte Betreffname. Der Client könnte eine
WWW-Schnittstelle zum Kommunikationsserver 110 oder ein
Programm für
die Kommunikation mit dem Kommunikationsserver 110 benutzen.
Der Meldungsinhalt kann für
die Übertragung
verschlüsselt
werden. Die veröffentlichte
Meldung ist eine Anrufmeldung, die sich aus den Anrufmeldungsfeldern und
einer Membermeldung für
jeden Teilnehmer zusammensetzt, einschließlich dem Anrufverfasser. Die Membermeldung
für den
Verfasser beinhaltet eine Kontomeldung. Zunächst füllt das Client-Programm einen
Namen für
die Konferenz (falls gewünscht)
und ein Passwort für
die Konferenz (falls gewünscht)
aus. Keines dieser Felder ist obligatorisch. Sie erlauben es jedoch
Nicht-Subskribern, über
den Konferenznamen über
das WWW durch den Namen des Konferenzgesprächs an der Konferenz teilzunehmen.
Es gibt in der Anrufmeldung ein Feld, das die Zahl der aktuellen
Teilnehmer an dem Gespräch
aufführt.
Dieses Feld gibt Informationen darüber, wie viele Membermeldungen
Teil der Anrufmeldung sind. In einer Membermeldung ist der Name
der angerufenen Person ausgefüllt,
oder, wenn dies der Verfasser ist, der Name des Verfassers, dann
die Telefonnummer, wo sich die Person gerade aufhält, und
ggf. deren Apparat und der Apparatetyp an diesem Ort. Die Membermeldung
des Verfassers beinhaltet eine Kontonummer mit ausgefüllter Benutzer-ID
und Passwort. Später
wird diese Kontomeldung von der Gebührenberechnungsmaschine validiert
und der verfügbare
Kreditbetrag wird ausgefüllt.
-
Als
Nächstes
transkribiert der Client in Schritt 510 „TS.SM.STARTCALL".
-
In
Schritt 512 wird ein Service-Manager über eine verteilte Warteschlange
zum Verarbeiten der vom Client in Schritt 508 veröffentlichten
Meldung zum Betreff „TS.CM.STARTCALL" zugewiesen. Wenn
die Meldung über
das öffentliche
Internet verschlüsselt
wurde, dann wird sie entschlüsselt.
Der Service-Manager kann einige vorläufige Checks am Meldungsinhalt
vornehmen. Dann weist der Service-Manager dem Anruf eine Transaktionskennung oder
TransID zu und wendet Request/Reply-Messaging auf den Betreff „TS.SM.VALIDATE" an, so dass die
Kontoinformationen von der Gebührenberechnungsmaschine
validiert werden. Jede Kontomeldung, die sich in einer der Membermeldungen
der Anrufmeldung befindet, wird validiert. Die Validierung beinhaltet
die Überprüfung der
verfügbaren
Kreditmenge und die Validierung des Kontos anhand der Kontonummer
und des Passwortes aus dem Client-Programm.
-
Als
Nächstes
wird in Schritt 514 eine Gebührenberechnungsmaschine über eine
verteilte Warteschlange zum Verarbeiten der Anforderung durch den
Service-Manager in Schritt 512 zugewiesen. Die Gebührenberechnungsmaschine
könnte
die Gebührenberechnungsmaschine 204 sein.
Die Gebührenberechnungsmaschine
ist für
die Validierung der Kontoinformationen und die Antwort zum Service-Manager
verantwortlich. Die Gebührenberechnungsmaschine
kann auf mehrere verschiedene Weisen arbeiten. So kann beispielsweise
eine spezielle Kontenführungsdatenbank
wie z.B. ein Industriestandardprodukt wie Portal verwendet werden.
Unterschiedliche Gebührenberechnungsmaschinen können auf
verschiedenen Systemen entweder permanent oder bei Übergängen zwischen
Gebührenberechnungssystemen
arbeiten.
-
Wenn
das Konto verifiziert ist, subskribiert die Gebührenberechnungsmaschine als
Nächstes
in Schritt 516 „TS.SC.{transID}.>". Dadurch kann die Gebührenberechnungsmaschine
auf die veröffentlichten
Informationen vom Switch-Controller über den Anruf
horchen, z.B. wenn der Hörer
aufgenommen wurde usw. Diese Meldungen werden benutzt, um dem Benutzer
Gebühren
für Anrufe
zu berechnen.
-
In
Schritt 518 empfängt
der Service-Manager die Antwort auf die Anforderung „TS.SM.VALIDATE" und veröffentlicht,
wenn keine Fehler vorliegen, zum Betreffnamen „TS.SM.STARTCALL". An dieser Stelle wurde
die Anrufmeldung um Kontovalidierungsinformationen von der Gebührenberechnungsmaschine erweitert.
Darüber
hinaus hat der Service-Manager bereits eine Switch-ID, die Transaktions-ID
und eventuelle andere Felder bereitgestellt, die der Service-Manager
benötigt.
-
Sowohl
der Switch-Controller, über
eine verteilte Warteschlange, als auch der Client horchen auf den
Betreff „TS.SM.STARTCALL". In Schritt 520 erhält der Client
eine Meldung zum Betreff „TS.SM.STARTCALL", die anzeigt, dass
der Anruf durch den Switch gestartet wird, und als Reaktion darauf
geht die Steuerung weiter zu Schritt 522, wo der Client
Meldungen vom Switch-Controller über den
Anruf zum Betreff „TS.SC.{transID}.> subskribiert. Dieser
Betreff wird vom Switch-Controller zum Veröffentlichen von Meldungen über den
Anrufstatus verwendet.
-
In
Schritt 524 empfängt
der Switch-Controller die Meldung zum Betreff „TS.SM.STARTCALL", die anzeigt, dass
er den Anruf einleiten soll, und als Reaktion darauf geht die Steuerung
zu Schritt 526, wo der Switch-Controller Meldungen vom
Client über den
Anruf zum Betreff „TS.CM.{transID}.>" subskribiert. Diese Betreffe werden
vom Client-Programm zum Veröffentlichen
von Meldungen zum Steuern des Anrufs verwendet. So könnten Meldungen über diesen
Betreff beispielsweise zum Zuschalten von Zweigen zum Konferenzgespräch, zum
Wegschalten von Zweigen vom Konferenzgespräch, zum Zuschalten neuer Teilnehmer,
zum Veranlassen, dass Teilnehmer nur zuhören, und zum Beenden des Konferenzgesprächs verwendet
werden.
-
Die
Steuerung geht dann über
zu Schritt 528, wo die Anrufeinrichtungsphase fertig ist
und der Anruf selbst stattfindet.
-
4. Anrufablaufphase
-
In
Schritt 530 hat der Switch-Controller den Telefon-Switch
angewiesen, den Anruf zu beginnen, und es wird geprüft, ob der
Anruf geschaltet ist oder nicht. Die Steuerung geht dann zu Schritt 532,
wo der Switch-Controller Meldungen zum Betreff „TS.SC.{transID}.statusChanged" zum Anzeigen des Anrufablaufs
veröffentlicht. Über diesen
Betreff veröffentlichte
Meldungen beinhalten Anruf, abgenommen und belegt. Wenn die ursprüngliche
Anrufmeldung mehrere Teilnehmer erfordert, dann geht die Steuerung
in einen Zyklusmodus der Schritte 530 bis 534, bis
alle Teilnehmer zugeschaltet sind. Aber sobald der erste Teilnehmer
zugeschaltet ist, beginnt er in Schritt 536, mit dem Verfasser
zu sprechen.
-
In
Schritt 534 empfängt
der Client, der für
alle Switch-Controller-Meldungen auf der Transaktionskennung subskribiert
ist, die Meldung zum Betreff „TS.SC.{transID}.statusChanged" und aktualisiert das
Client-Display entsprechend. Die Steuerung geht zu Schritt 530 über, bis
der Anruf geschaltet ist oder der Anruf aufgrund von Fehlern nicht
geschaltet werden kann.
-
Sobald
der Anruf geschaltet ist, geht die Steuerung von Schritt 530 zu
Schritt 536. Bei diesem Schritt kann der Benutzer des Client
sein Gespräch führen. Da
die Gebührenberechnungsmaschine
den Benutzer für
eine bestimmte Zeit- oder Geldmenge mit dem Switch-Controller berechtigt
hat, kann der Client direkt mit dem Switch-Controller kommunizieren. Der Benutzer
kann das Konferenzgespräch durch
eine Kommunikation mit dem Switch-Controller über die folgenden Betreffe
steuern: „TS.CM.{transID}.ADDLEG", „TS.CM.{transID}.DROPLEG", „TS.CM.{transID}.MUTE", „TS.CM.{transID}.LISTENONLY" und „TS.CM.{transID}.ENDCALL". Die Betreffe „Zweig
zuschalten" und „Zweig
wegschalten" werden
jeweils zum Zuschalten und Wegschalten von Zweigen zu/aus dem Konferenzgespräch verwendet.
Mit dem Stummschaltbetreff kann bewirkt werden, dass eine Person
bei Stummschaltung weder zuhören
noch sprechen kann. Der Nur-Hören-Betreff bewirkt,
dass eine Person nur zuhören,
aber nicht sprechen kann, während
sie auf 'nur zuhören' geschaltet ist.
Die Anrufendemeldung zeigt an, dass der Client den Anruf vollständig beendet
hat. Der das Konferenzgespräch
bearbeitende Switch-Controller empfängt diese Meldungen, weil er
für den
Betreff „TS.CM.{transID}.>" subskribiert ist.
-
Nach
dem Beenden des Anrufs geht die Steuerung zu Schritt 538,
der Switch-Controller
erzeugt einen Service-Detail-Datensatz und veröffentlicht ihn über den
Betreff „TS.SC.{transID}.SDR". Der Service-Detail-Datensatz
enthält
die Anfangs- und Endzeiten für
jeden Zweig des Anrufs zusammen mit eventuell benötigten Gebührenberechnungsinformationen.
Die Anfangs- und Endzeiten für
jeden Zweig werden in die dem Switch-Controller zugesandten Membermeldungen
eingetragen.
-
In
Schritt 540 erhält
die Gebührenberechnungsmaschine
den Service-Detail-Datensatz,
weil dieser in Schritt 516 für diesen Betreff subskribiert wurde.
Die Gebührenberechnungsmaschine
gibt die Details der Zweige in die Gebührenberechnungsdatenbank ein
und die Gebührenberechnungsinformationen
können
vom Client sofort abgefragt werden. Der Client kann immer die jüngsten Gebührenberechnungsinformationen
einschließlich
des jüngsten Anrufs
und alle Konferenzzweige und -kosten sehen. In einigen Ausgestaltungen
stehen auch Details für einen
laufenden Anruf zur Verfügung.
-
F. Überblick über die Benutzeroberfläche
-
6 ist
ein Blockdiagramm einer Benutzeroberfläche zum Steuern des Kommunikationsservers.
Die Benutzeroberfläche
könnte
zum Steuern des Kommunikationsservers 110 verwendet werden.
-
Dieser
Absatz führt
die Elemente von 6 auf. 6 zeigt
ein Fenster 600. Das Fenster 600 enthält ein Bedienschaltflächen- und
Menüfeld 602, ein
Aktionsfeld 604, ein Statusfeld 606, ein Ortsauswahlfeld 608,
eine Kontakte-Schaltfläche 609,
eine Gruppen-Schaltfläche 610,
eine Meldungen-Schaltfläche 612,
eine Konto-Schaltfläche 614,
ein Statusdisplay 616 und ein Statusdisplay 618.
Das Statusdisplay 616 beinhaltet den Statusindikator 620 und die
Teilnehmerbeschreibung 622. Der Statusindikator 618 beinhaltet
den Statusindikator 624 und die Teilnehmerbeschreibung 626.
-
Es
werden nun die einzelnen Elemente von 6 beschrieben.
Das Benutzeroberflächenfenster 600 zeigt
Schaltflächen,
Bedienelemente und Felder zum Steuern des Kommunikationsservers
an. Die Felder sind in einer Reihe von Layouts angeordnet und könnten Frames
oder Tabelleneinträge
in einem HTML-Dokument oder Felder in einem Fenster eines Computerprogramms
sein.
-
Das
Bedienschaltflächen-
und Menüfeld 602 enthält Menüs und Bedienschaltflächen für verschiedene
Operationen. Die Schaltflächen
und Menüs können kontextsensitiv
sein, je nach der getroffenen Wahl im Aktionsfeld 604,
der Auswahl im Statusfeld 606, dem Status des Netzwerks
und dem Status des Konferenzgesprächs. Das Bedienschaltflächen- und Menüfeld 602 beinhaltet
Schaltflächen
zum Zu- und Wegschalten von Teilnehmern zu/von einem Konferenzgespräch, Stummschalten
von Konferenzgesprächsteilnehmern,
Schalten eines Konferenzgesprächsteilnehmers
auf 'nur zuhören' und Beenden des
Konferenzgesprächs.
Die Menüs
beinhalten Optionen zum Konfigurieren von Benutzerpräferenzen und
Kontaktimport von verschiedenen Quellen. So können beispielsweise Kontakte
von Programmen wie Microsoft OutlookTM,
ACTTM, Schedule Plus und anderen persönlichen
Informationsmanagern importiert werden. Die importierten Kontaktinformationen werden
in einem vom Client-Programm benutzbaren Format gespeichert. Sie
können
auf dem Client-Computer, auf einem WWW-Server oder einem anderen
Computer oder Server gespeichert werden. Auf die aktuelle Kontaktliste
kann über
die Kontakte-Schaltfläche 609 zugegriffen
werden. Darüber
hinaus gibt es Bedienschaltflächen
im Bedienschaltflächen-
und Menüfeld 602, über die
Kontakte aus der Kontaktliste des Client-Programms hinzugefügt oder gelöscht werden
können.
Weitere Funktionsmerkmale sind z.B. die Fähigkeit, die Kontaktliste mit
einem Kontaktmanager zu synchronisieren.
-
Das
Ortsauswahlfeld 608 zeigt den aktuellen Standort des Benutzers
an und lässt
es zu, dass der Benutzer seinen aktuellen Standort anzeigt. So könnte das
Ortsauswahlfeld 608 beispielsweise „Büro" anzeigen. Der Kommunikationsserver 110 weiß dann, dass
sich der Benutzer in seinem Büro
befindet und kennt die Telefonnummer des Benutzers an diesem Standort.
Wenn der Benutzer auf dem Ortsauswahlfeld 608 seinen Standort
auf „Heim" ändern würde, dann würde das Ortsauswahlfeld 608 anzeigen,
dass sich der Benutzer zu Hause befindet. Wenn sich der Standort
des Benutzers ändert,
dann sendet der Client Meldungen zum Kommunikationsserver 110,
um den Standort des Benutzers zu aktualisieren. Wenn andere Benutzer
des Kommunikationsservers 110 den Benutzer kontaktieren
möchten,
dann kann die Standortinformation vom Kommunikationsserver 110 benutzt
werden, um ihn zu befähigen,
den Benutzer zu kontaktieren, ohne die aktuelle Telefonnummer für den Benutzer
wählen
zu müssen.
-
Das
Statusfeld 606 zeigt Anruffortschrittsinformationen an,
es gibt ein Statusdisplay für
den Benutzer, das Statusdisplay 616, und ein Statusdisplay für jeden
Telefongesprächsteilnehmer.
Darüber
hinaus kann das Statusfeld 606 vom Benutzer so angepasst
werden, dass es den Status anderer Benutzer des Kommunikationsservers 110 zeigt.
In diesem Beispiel ist der Status für einen Konferenzgesprächsteilnehmer
auf dem Statusdisplay 618 zu sehen.
-
Jedes
Statusdisplay hat einen Statusindikator sowie Namen und Telefonnummer
der Person, für die
der Status angezeigt wird. In diesem Beispiel zeigt der Statusindikator 620 den
Status des Telefons oder sonstigen Kommunikationsgerätes für den Benutzer
des Kommunikationsservers 110 an dessen aktuellem Standort
gemäß Auswahl
im Ortsauswahlfeld 608 an. Der Statusindikator kann ein
Icon oder eine Sammlung von Icons auf der Basis des Kommunikationsgerätetyps sein.
In einer Ausgestaltung gibt es Icons für ein aufgelegtes Telefon,
ein klingelndes Telefon, ein belegtes Telefon und ein abgenommenes
Telefon. Die Teilnehmerbeschreibung 622 führt den
Namen des Benutzers und seine Telefonnummer am aktuellen Standort
auf. Es können
je nach Situation auch andere Informationen angezeigt werden. So
könnte
das Client-Programm beispielsweise Optionen haben, um die Zeitmenge
im Konferenzgespräch
neben dem Namen des Teilnehmers anzuzeigen, oder andere Informationen,
die für
das Statusdisplay relevant sind. Der Statusindikator 624 zeigt den
Telefonstatus des Teilnehmers an. Die Teilnehmerbeschreibung 626 gibt
den Namen und die Telefonnummer des Teilnehmers am angerufenen Ort
an. Während
des Anrufprozesses ändert
sich der Statusindikator 624, wenn das Telefon des Teilnehmers klingelt
und dann entweder abgenommen oder als belegt festgestellt wird.
-
Das
Aktionsfeld 604 zeigt verschiedene Informationen je nach
der gewählten
Ansicht an. Die Ansicht kann mit den vier Schaltflächen am
Fuß des Fensters 600 geändert werden.
Wenn beispielsweise die Kontakte-Schaltfläche 609 gewählt wird,
dann zeigt das Aktionsfeld 604 eine Liste der aktuellen Kontakte
an. Unter dem Betriebssystem WindowsTM wird
jeder Kontaktname mit einem Erweiterungsselektor „+" aufgeführt, wie
er in WindowsTM Explorer verwendet wird,
damit der Benutzer die Informationsanzeige in Verbindung mit einem
Kontakt selektiv erweitern und kürzen
kann. Jeder Kontakt hat einen erweiterbaren Eintrag im Aktionsfeld 604.
Im erweiterten Zustand sind alle unterschiedlichen Telefonnummern,
Email-Adressen, Pager-Nummern, Telefaxnummern und sonstigen Nummern
für einen
Benutzer erweitert. Im gekürzten
Zustand erscheint nur der Name des Kontakts.
-
Wenn
die Gruppen-Schaltfläche 610 gewählt ist,
dann werden vom Benutzer definierte Kontaktgruppen als ein zusammenhängender
Eintrag dargestellt. Auch hier kann der Benutzer über die
Erweiterungsselektoren die Liste der Kontakte in einer Gruppe selektiv
erweitern. Die Kontakte können
dann noch weiter erweitert werden, so dass sie individuelle Kontaktinformationen
anzeigen. So könnte
ein Benutzer beispielsweise eine Gruppe von Kontakten für die „Merger
Working Group" (Zusammenschluss-Arbeitsgruppe)
erzeugen. Die Gruppe könnte
Kontakte sowohl bei der Firma des Benutzers als auch bei der Firma
beinhalten, mit der ein Zusammenschluss geplant ist. Es könnte einfach
durch Wählen
der „Merger
Working Group" im
Aktionsfeld 604 ein Konferenzgespräch eingeleitet und dann signalisiert
werden, dass ein Anruf getätigt
werden soll. Darüber
hinaus kann der Benutzer die „Merger
Working Group" erweitern
und individuelle Kontakte aus der Gruppe auswählen, mit denen er Kontakt
aufnimmt oder denen er eine Nachricht übermittelt.
-
Wenn
die Meldungen-Schaltfläche 612 gewählt wird,
dann zeigt das Aktionsfeld 604 einen Meldungsbereich für empfangene
Meldungen und erlaubt es dem Benutzer, Meldungen zu senden. Meldungen
können
durch Wählen
von Teilnehmern aus dem Statusfeld 606 oder aus der Kontaktliste
gesendet werden. Die Meldung kann dann in einem Meldungseintragsfeld
erstellt werden. Nach dem Erstellen der Meldung kann diese durch
Betätigen
einer Schaltfläche
im Aktionsfeld oder mit einem anderen Signal gesendet werden. Das
Messaging-System lässt
einen zweiten Kommunikationskanal über das Datennetz 138 während eines
Konferenzgesprächs zu.
-
Wenn
die Konto-Schaltfläche 614 gewählt wird,
dann zeigt das Aktionsfeld 604 benutzerspezifische Kontoinformationen
einschließlich
der aktuellen Gebührenrechnung
bis zu und einschließlich
der jüngsten
vollendeten Kommunikationstransaktion.
-
Während des
Konferenzgesprächs
können die
Statusdisplays 616–618 im
Statusfeld 606 mit standardmäßigen Auswahltechniken gewählt werden,
um mehrere kontinuierliche und diskontinuierliche Statusdisplays
zuzulassen. Wenn ein oder mehrere der Statusdisplays 616–618 gewählt sind,
dann können
Aktionen aus dem Bedienschaltflächen-
und Menüfeld 602 die
gewählten
Teilnehmer beeinflussen. Dies erlaubt ein selektives Stummschalten,
selektives 'nur
Zuhören', selektives Wegschalten
und selektives Messaging von Teilnehmern.
-
G. Zusätzliche Funktionalität
-
1. Vorarrangierte Konferenzgespräche
-
Der
Kommunikationsserver gestattet es einem Benutzer, ein Konferenzgespräch vorzuarrangieren.
Der Benutzer kann einen Zeitpunkt für ein Konferenzgespräch einstellen
und veranlassen, dass der Kommunikationsserver alle Teilnehmer kontaktiert.
Das System kann Subscriber des Kommunikationsservers an dem Standort
kontaktieren, den sie dem System als ihren aktuellen Aufenthaltsort
mitgeteilt haben. Für
die anderen Teilnehmer des Konferenzgesprächs würde der das Konferenzgespräch einrichtende
Benutzer die Kontakttelefonnummer angeben.
-
2. Benannte Konferenzgespräche
-
Ein
Benutzer kann ein Konferenzgespräch mit
einem Namen und fakultativ einem Passwort einrichten, so dass andere
sich zuschalten können. Beim
Einrichten des Gesprächs
kann der Benutzer bestimmen, wer die Kosten für jeden Zweig des Geprächs trägt. So könnte beispielsweise
ein Benutzer ein Gespräch
einrichten, bei dem jeder Teilnehmer für seinen Gesprächszweig
selbst bezahlt. Benutzer würden
sich dem Gespräch
dann per Namen in der Client-Software oder durch Eingeben von Namen und
Passwort des Konferenzgesprächs
auf einer WWW-Schnittstelle zum Kommunikationsserver zuschalten.
Der Kommunikationsserver bearbeitet alle Gebühren für die Anrufe gemäß den vom
Benutzer eingerichteten Regeln.
-
3. Messaging bei Anrufen
-
Während ein
Gespräch
stattfindet, können die
Client-Software und die WWW-Schnittstelle
Messaging über
das Datennetz 138 unterstützen. Text-Messaging kann dadurch
erfolgen, dass eine oder mehrere Personen aus einer Liste ausgewählt wird
werden und dann eine Textmeldung eingetastet wird. Nur die gewählten Personen
erhalten die Textmeldung. Dies ergibt einen zweiten Kanal für Kommunikationen
während
des Telefongesprächs,
ohne dass ein zusätzliches
Telefongespräch
zwischen den Parteien eingerichtet zu werden braucht, die ein zusätzliches
Privatgespräch
während
des Konferenzgesprächs
führen
wollen.
-
Messaging
kann auch zwischen beliebigen zwei Commerce-Server-Benutzern stattfinden.
Ferner wird die Meldung, wenn ein Benutzer beim Senden derselben
nicht angeloggt ist, so lange festgehalten, bis sich der Benutzer
einloggt. Meldungen können
auch zu alphanumerischen Pagern gesendet werden.
-
4. Öffentlich-private
Netzwerkumgebung
-
Da
Verschlüsselung
relativ hohe Rechenkosten verursacht, ist es wünschenswert, die Umgebung in öffentliche
und private Netzwerksegmente zu unterteilen. Über das öffentliche Internet oder ein
anderes Datennetz 138 gesendete Meldungen, wie z.B. die
Meldungen von den Client-Programmen zum Kommunikationsserver 110 oder
zu anderen Client-Programmen, können
verschlüsselt,
signiert oder beides werden. Insbesondere können die unter dem Betreff „TS.CM.STARTCALL" veröffentlichten
Kontoinformationen verschlüsselt
werden, um eine unbefugte Benutzung eines Benutzerkontos zu verhüten.
-
Die
Komponenten des Kommunikationsservers 110 können hinter
eine Firewall gesetzt und vom öffentlichen
Internet oder einem anderen Datennetz 138 isoliert werden.
Daher brauchen Meldungen auf diesem privaten Netz oder Teilnetz
nicht verschlüsselt
oder signiert zu werden. Ebenso können der Kommunikationsserver 110 und
der Switch-Controller 210 in
Kommunikation mit einem Privatnetz oder einem virtuellen Privatnetz
gekoppelt werden. In einer Ausgestaltung wird eine Frame-Relay-Cloud
zum Koppeln des Kommunikationsservers 110 und des Switch-Controllers 210 verwendet.
Daher brauchen die Meldungen zwischen dem Kommunikationsserver 110 und
dem Switch-Controller
nicht verschlüsselt
oder signiert zu werden.
-
Es
können
jedoch beliebige oder alle Meldungen verschlüsselt, signiert oder beides
werden, so dass der Kommunikationsserver 110 in einer öffentlicheren
Netzwerkumgebung arbeiten kann.
-
5. Telefaxübertragung
-
Der
Kommunikationsserver 110 unterstützt andere Meldungen als die
oben beschriebenen. So kann beispielsweise die Telefaxübertragung
mit dem Betreffnamen „TS.CM.STARTFAX" bearbeitet werden.
Andere Kommunikationsnetze können
ebenso zu- und weggeschaltet werden. Betreffbezogenes Messaging
bietet die Flexibilität,
denselben Meldungsinhalt und dieselben Techniken für mehrere Zwecke
zu benutzen. Bei Faksimiles kann die Meldung das Telefax selbst
als Teil der Startmeldung oder als separate Meldung beinhalten,
wenn die Gebührenberechnungsmaschine
das Konto validiert hat.
-
6. Sprachschnittstelle
-
Die
Erfindung unterstützt
eine Schnittstelle unter Verwendung des Telefonnetzes 136 zum
Steuern des Kommunikationsservers 110. Die Telefonnetzschnittstelle
ermöglicht
es einem Benutzer wie dem Benutzer 102, den Kommunikationsserver 110 von
seiner Heimtelefonnummer aus zu kontaktieren und den Kommunikationsserver 110 zu
benutzen. Der Benutzer wählt
sich in den Kommunikationsserver 110 ein und identifiziert
sich. Die Sprachressource 404 fordert den Benutzer 102 akustisch
zur Eingabe seiner Kontonummer, seiner Kontoinformationen und des
Passwortes auf. Der Benutzer kann sich dann seine elektronische
Post vorlesen lassen, wenn er den Kommunikationsserver 110 mit
den entsprechenden Informationen über sein Email-Konto konfiguriert
hat. Dies wird von der Sprachressource 404 und der Fähigkeit
des Kommunikationsservers 110 unterstützt, auf das Datennetz 138 zuzugreifen.
Darüber
hinaus kann es der Kommunikationsserver 110 zulassen, dass
das Telefonnetz 136 als Schnittstelle zum Einrichten von
Konferenzgesprächen
und aller anderen oben beschriebenen Merkmale verwendet wird. So
kann ein Benutzer von einem Flughafen oder einem anderen Standort,
einem anderen öffentlichen
Telefon, aus beim Kommunikationsserver 110 anrufen und
die Sprach-Ressource 104 kann Signale erfassen und empfangen,
um es zuzulassen, dass Konferenzgespräche und dergleichen eingerichtet und
gesteuert werden.
-
7. Vereinheitlichte
Gebührenberechnung
-
Eine
vereinheitlichte Gebührenberechnung durch
den Kommunikationsserver 110 wird unterstützt. Die
Gebührenberechnungsmaschine 204 kann
eine einzelne Gebührenrechnung
für alle
Kommunikationsdienste erstellen, die ein Benutzer in Anspruch genommen
hat. So würden
beispielsweise Konferenzgespräche
und gewöhnliche
Telefongespräche
zusammen mit Telefaxübertragungen
sowie Funkruftransaktionen und anderen Kommunikationstransaktionen
aufgeführt.
Dadurch erhält
ein Benutzer eine einzige Informationsquelle über seine Kommunikationsausgaben.
Die Gebührenrechnung
wird auch in Echtzeit aktualisiert, so dass dem Benutzer am Ende
jeder Transaktion die Gebührenrechnung zur
Prüfung
zur Verfügung
gestellt wird.
-
8. Bedienergesteuerte
Kreditkartenbelastung
-
Der
Kommunikationsserver 110 unterstützt die Belastung der Kreditkarte
eines Benutzers inkremental für
Gebührenberechnungszwecke.
Der Bediener des Kommunikationsservers 110 identifiziert einen
Belastungsbetrag von beispielsweise $100. Dies bedeutet, dass der
Kommunikationsserver 110 Kredit in Blöcken des Belastungsbetrags
von der Kreditkarte des Benutzers anfordert. Es ist zwar nicht notwendig,
dass Konten per Kreditkarte belastet werden, aber diese Funktion
wird unterstützt.
Der Bediener des Kommunikationsservers 110 kann wählen, ob
seine Benutzer monatlich oder nach einem anderen Arrangement zahlen.
-
Wenn
die Gebührenberechnungsmaschine 204 eine
Anrufstartanforderung validiert, dann füllt die Gebührenberechnungsmaschine 204 den
dem Benutzer zum aktuellen Zeitpunkt zur Verfügung stehenden Kreditbetrag
aus. Der verfügbare
Kredit basiert darauf, was vom letzten Kreditblock übrig bleibt, der
der Kreditkarte des Benutzers belastet wurde, ggf. minus der Kosten
für getätigte Anrufe.
Der verfügbare
Kredit wird dem Switch-Controller 210 im Rahmen der Anrufmeldung übermittelt.
-
Während des
Telefonanrufs dekrementiert der Switch-Controller 210 den
verfügbaren
Kredit, während
dieser benutzt wird. Wenn das Restguthaben einen vom Bediener des
Kommunikationsservers 110 festgelegten Schwellenwert erreicht,
z.B. $10, dann weist der Switch-Controller 210 die Gebührenberechnungsmaschine 204 in
einer Meldung an, einen weiteren Kreditblock zu belasten, hier $100.
Wenn die Gebührenberechnungsmaschine 204 die
Kreditkarte nicht mit einem anderen Kreditblock belasten kann, dann
kann der Switch-Controller 210 den Konferenzgesprächsteilnehmern
mittels der Sprachressource 404 des Telefon-Switch 212 anzeigen,
dass das Gespräch
beendet wird, und kann das Gespräch
beenden, wenn das verfügbare
Guthaben zu niedrig ist, um die Fortsetzung des Gesprächs zu unterstützen.
-
Wenn
die Gebührenberechnungsmaschine 204 einen
Kreditblock belasten kann, fügt
der Switch-Controller 210 den Kreditblock zum Restguthaben
hinzu, wenn er die Meldung von der Gebührenberechnungsmaschine 204 zurück erhält. Zum Beispiel,
wenn das Restguthaben während
der Bearbeitung der Anforderung nach mehr Kredit durch die Gebührenberechnungsmaschine
auf $9 abfiel und die zusätzlichen
$100 von der Gebührenberechnungsmaschine 204 kommen,
dann stünden
$109 zur Verfügung.
Dieser Vorgang läuft
während
der gesamten Dauer des Anrufs und so lange, wie zusätzlicher
Kredit benötigt
wird.
-
Am
Ende des Gesprächs
wird das Restguthaben vom Switch-Controller 210 zur späteren Verwendung
zurück
zur Gebührenberechnungsmaschine 204 gesandt.
-
9. LibTSMsg
-
LibTSMsg
bietet eine einfache Möglichkeit zum
Definieren anderer Geräte,
anderer Server und anderer Clients für den Kommunikationsserver. LibTSMsg
ist eine verknüpfbare
Programmbibliothek wie z.B. eine Shared Library oder eine Dynamic
Link Library. Alle Meldungen werden in LibTSMsg prototypisiert.
Alle Komponenten werden in LibTSMsg prototypisiert. Speziell, es
gibt einen Kernprototyp für
die verschiedenen Dienstetypen. Darüber hinaus werden für jeden
der verschiedenen Dienste, Service-Manager, Gebührenberechnungsmaschine, Avisierer,
Logger und Switch-Controller, vom Kernprototyp erstellte Klassen
abgeleitet. Implementierer von beliebigen dieser Services brauchen
lediglich einen Programmcode bereitzustellen, der auf die definierten
Klassenmethoden reagiert. So können
verschiedene Versionen der Software koexistieren, selbst dann, wenn
die Software von verschiedenen Unternehmen kommt. So könnte z.B.
die Vorgabegebührenberechnungsmaschine
durch eine Maschine ersetzt werden, die so ausgelegt ist, dass sie
mit speziell angepasster Gebührenberechnungssoftware
arbeitet.
-
Viele
der Funktionen in LibTSMsg beruhen auf dem TIB®/RendezvousTM System. Das System implementiert den in
einer Ausgestaltung des Kommunikationsservers verwendeten Meldungsleitmechanismus.
-
10. Integrierter
LDAP-Server
-
Das
LDAP (Lightweight Directory Access Protocol) ist ein Internet-Protokoll
für Verzeichnisse. Der
Kommunikationsserver 110 unterstützt die Integration mit einem
LDAP-Server. Der LDAP-Server kann zum Nachschlagen des Memberstatus,
zum Suchen von Telefonnummern für
Member und für
andere Zwecke verwendet werden.
-
Das
Client-Programm oder die WWW-(World Wide Web)-Schnittstelle lässt es zu,
dass ein Benutzer des Kommunikationsservers 110 bestimmt,
welche Informationen auf dem LDAP-Server zur Verfügung stehen.
So könnte
ein Benutzer beispielsweise bewirken, dass keine persönlichen
Informationen auf dem LDAP-Server veröffentlicht werden. Alternativ könnte es
der Benutzer zulassen, dass sein Name von Personen nur mit ausdrücklicher
Genehmigung einsehbar ist. Eine weitere Option ist es, dass nur
anonyme Kontakte zulässig
sind. So könnten
Personen Kontakt aufnehmen, indem sie nur ihren Namen eingeben und
das Client-Programm oder die WWW-Schnittstelle verwenden. So kann
der Benutzer kontaktiert werden, ohne seine Telefonnummer angeben
zu müssen.
-
11. Anonyme
Telefongespräche
-
Der
Kommunikationsserver kann auch zum Unterstützen von anonymen Telefongesprächen verwendet
werden. Dies kann in Chatrooms wie z.B. dem Internet Relay Chat
(IRC) oder einer anderen Art von Chatroom verwendet werden. Und
dies kann auch in einem über
das WWW zugestellten HTML-(Hypertext Markup Language)-Dokument verwendet
werden. So kann ein Benutzer des Chat-Servers oder ein Betrachter
der WWW-Seite einen anderen Benutzer anrufen, ohne seine Telefonnummer ausgeben
zu müssen.
Der Operator des Chat-Service oder der WWW-Seite gibt auf dem Bildschirm eine
Schaltfläche
oder Link, so dass zwei oder mehr Benutzer einander anrufen können. Jeder
Benutzer würde
seine Telefonnummer über
die Chat-Service-Verbindung
oder die HTTP-(Hypertext Transfer Protocol)-Verbindung angeben.
Die Informationen könnten
zur Übertragung
verschlüsselt
werden. Der Chat-Server oder Web-Server könnte dann die Nummern dem Kommunikationsserver übermitteln
und ein Telefongespräch
würde zwischen
den Parteien eingeleitet.
-
Dies
ist ein nützliches
Merkmal in Situationen, bei denen zwei Benutzer ihre Telefonnummern einander
nicht mitteilen, aber miteinander kommunizieren möchten.
-
12. Software
-
In
einigen Ausgestaltungen sind die Programme, die im Commerce-Server 110,
im Service-Manager 202, in der Gebührenberechnungsmaschine 204,
im Logger 206, im Avisierer 208 und im Switch-Controller 210 verwendet
werden, in einem oder mehreren rechnerlesbaren Medien wie CD-ROMs,
Disketten oder anderen Medien enthalten.
-
Einige
Ausgestaltungen der Erfindung sind in der Form von elektromagnetischen
Wellen vorhanden. Die Form der elektromagnetischen Welle umfasst
Informationen wie die Programme des Commerce-Servers 110,
die Programme des Service-Managers 202, die Programme der
Gebührenberechnungsmaschine 204,
die Programme des Loggers 206, die Programme des Avisierers 208 und
die Programme des Switch-Controllers 210. Die elektromagnetische
Wellenform könnte
die über
ein Netzwerk zugängigen
Programme beinhalten.
-
H. Schluss
-
Die
Beschreibung verschiedener Ausgestaltungen der Erfindung soll diese
illustrieren und beschreiben. Sie soll die Erfindung nicht auf die
genauen offenbarten Formen begrenzen. Es sind viele Modifikationen
und äquivalente
Anordnungen offensichtlich. Die Fachperson in diesem Bereich muss verstehen,
dass alle solche äquivalenten
Konstruktionen als in den Umfang der nachfolgenden Ansprüche und
ihrer rechtlichen Äquivalente
fallend anzusehen sind.