Verfahren zum Aufbau einer Kommunikationsverbindung in einem direkt kommunizierenden Kommunikationsnetzwerk
Die Erfindung betrifft ein Verfahren zum Aufbau einer Kommunikationsverbindung zwischen zwei Clients einer Mehrzahl Clients in einem direktkommunizierenden Kommunikationsnetzwerk gemäß des Oberbegriffs des Patentanspruchs 1.
Kommunikationsnetzwerke, deren Komponenten paketvermittelt miteinander kommunizieren, treten in verstärktem Maße an die Stelle leitungsvermittelter Kommunikationsnetzwerke. Solche direktkommunizierenden Netzwerke werden häufig auch als Voi- ce-Over-IP (VoIP) -Netzwerke bezeichnet, wenn zum Austausch der in Form von Daten vorliegenden akustischen Informationen (Sprachdaten) das Internet-Protokoll (IP-Protocol) verwendet wird. Dabei können die Netzwerke entweder ausschließlich zur Übertragung von Sprachdaten dienen, oder aber gemischt sowohl Sprachdaten als auch andere Informationen (z.B. Daten, Video) übertragen.
In den leitungsvermittelten Kommunikationsnetzwerken sind
Endgeräte (z.B. Telefone, Faxgeräte) stets mit einem Kommunikationsknoten (z.B. einer Telefonanlage) verbunden. Jeglicher Informationsfluss zu und von den Endgeräten findet dabei unter Beteiligung des jeweiligen Kommunikationsknotens statt, wobei Steuerungsinformationen, beispielsweise für den Verbindungsaufbau, zwischen dem Endgerät und dem Kommunikationsknoten ausgetauscht werden, während die Nutzinformationen (das analoge Sprachsignal oder das modulierte Telefax-Signal) zwar zwischen den an der Kommunikationsverbindung beteiligten End- geraten ausgetauscht werden, aber von zumindest einem an der Kommunikationsverbindung beteiligten Kommunikationsknoten weitergeleitet (übertragen) werden.
In den Sprachdatennetzen werden die Endgeräte häufig als "Clients" bezeichnet, weil die Endgeräte in diesen Kommunikationsnetzwerken ähnlich wie ein Computer in einem Datennetz betrieben werden und nicht nur als Telefon oder Telefaxgerät, sondern auch beispielsweise als Multimedia-PC ausgeführt sein können. Bei den letztgenannten handelt es sich um Computer, die über eine geeignete Hardware zur Informationseingabe (z.B. Mikrofon, Kamera, Tastatur, Scanner etc.) und Informa- tionsausgabe (z.B. Bildschirm / Display, Lautsprecher, LED's etc.) verfügen. Clients können auch als Miniatur-PC (sog. PDA - Personal Digital Assistant) oder als erweitertes Mobiltelefon ("Smart-Phone") ausgestaltet sein. Die genannten Geräte sind oft mit einer schnurlosen Daten-Verbindung ausgestattet und werden dann im Falle der Mobiltelefone auch als "WLAN- Handy's" bezeichnet (WLAN = Wireless Local Area Network).
Die Clients in den Sprachdatennetzen tauschen die Nutzinformationen in der Regel direkt miteinander aus. Dazu sind nach dem Aufbau einer Kommunikationsverbindung zwei miteinander kommunizierende Clients jeweils in Kenntnis der Netzwerkadresse ihres Kommunikationspartners, und anhand dieser Netzwerkadressen tauschen sie die Datenpakete mit den Nutzinformationen miteinander aus. Zum Verbindungsaufbau hingegen wer- den auch in den meisten bekannten Sprachdatennetzen zentrale Netzknoten (Kommunikationsknoten) verwendet. Solche Netzknoten sind den Sprachdatennetzen, die das H.323-Protokoll (ITü- T-H.323) verwenden, als "Gatekeeper" bekannt und in den Sprachdatennetzen, die das SIP-Protokoll (IETF-SIP; SIP = Session Initiation Protocol) verwenden, als SIP-Proxyserver bekannt.
In weit verzweigten Datennetzen, insbesondere im Internet, werden zunehmend Kommunikationsstrukturen verwendet, die als "Peer-To-Peer"-Netzwerke oder auch "End-To-End"-Netzwerke bezeichnet werden. Ein primäres Anwendungsgebiet solcher Kommunikationsstrukturen besteht im Austausch von Dateien, dem so-
genannten "File sharing" . Dabei fragt ein Teilnehmer (Client) einer solchen Kommunikationsstruktur eine Anzahl anderer Clients (typischerweise Computer) auf der Suche nach einer bestimmten Ressource (das kann eine Musikdatei oder ein Com- puterprogramm sein) ab und startet nach dem Auffinden dieser Ressource die Verwendung dieser Ressource, was zumeist mit dem Übertragen ("download") einer Datei oder mehrerer Dateien einhergeht. Dabei kann zum Auffinden entsprechender Kommunikationspartner (Clients) entweder eine Datenbank verwendet werden, oder aber die Clients können durch entsprechende Kommunikationsverfahren selbsttätig, d.h. ohne eine zentrale Instanz, aufgefunden werden.
Einige der bekannten "Peer-To-Peer"-Netzwerke werden für die Zwecke einer direkten Kommunikation verwendet. Die dabei ausgetauschten "Mediadaten", also die Nutzdaten, sind nicht auf Sprache (Sprachdaten) oder modulierte Informationen (z.B. Telefaxübermittlungen) beschränkt, sondern schließen auch Bewegtbildinformationen (Videoübertragung, Video-Konferenzen, "Multimedia-Messaging") und andere Formen der elektronischen Kommunikation mit ein. In solchen Kommunikationsnetzwerken, die man auch als "direktkommunizierende Kommunikations- netzwerke" bezeichnet, sind also einerseits Kommunikations- verbindungen nach Art der klassischen "Telefonate" durchführ- bar, und andererseits sind auch erweiterte Inhalte ("Multimedia") übertragbar. Der Verzicht auf zentrale Netzknoten (Kommunikationsknoten) birgt dabei den Vorteil einer erhöhten Ausfallsicherheit, was mit dem Nachteil verbunden ist, dass die (Vermittlungs-) Funktionalität der aus der leitungsver- mittelten Telephonie bekannten Netzknoten von den an der Kommunikationsverbindung beteiligten Clients selbst bereit gestellt werden muss.
Bei den bekannten direktkommunizierenden Kommunikations- netzwerken hat sich insbesondere als nachteilig herausgestellt, dass ein Client zum Aufbau einer KommunikationsVerbindung zu einem zweiten Client im Besitz der Adressinforma-
tion (z.B. die Netzwerkadresse) des zweiten Clients sein muss. Das ist ein Problem, weil in der Regel kein dem Client direkt zugeordneter Netzknoten (z.B. Kommunikations-Server) existiert, von dem eine solche Adresse abfragbar ist. Selbst wenn die Adressinformation eines gewünschten Kommunikationspartners bekannt ist, kann es in den direktkommunizierenden Kommunikationsnetzwerken vorkommen, dass dieser gewünschte Kommunikationspartner nicht erreicht werden kann (z.B. im "Besetzt"-Fall oder bei Ausfall des Clients), so dass z.B. die Verbindung zu einem alternativen Rufziel ("Ausweichziel") gewünscht wird. Da in den direktkommunizierenden Kommunikationsnetzwerken keine zentralen Netzknoten zur Speicherung einer solchen Adressinformation verwendet werden, besteht auch beim Verbindungsaufbau zu einem solchen alternativen Rufziel das Problem der Adressierung.
Aufgabe der Erfindung ist es, ein Verfahren vorzuschlagen, mit dem für Kommunikationsverbindungen in direktkommunizierenden Kommunikationsnetzwerken notwendige Adress- Informationen ermittelt werden können.
Die Lösung der Aufgabe sieht ausgehend vom Oberbegriff des Patentanspruchs 1 vor, dass nacheinander folgende Verfahrensschritte durchgeführt werden: Zunächst werden in der Mehrzahl Clients verteilt für den Aufbau von paarweisen Kommunikationsverbindungen zwischen den Clients erforderliche Clients- Adressinformationen gespeichert. Dann wird von einem suchenden Client eine auf den Aufbau wenigstens einer Kommunikationsverbindung zwischen einem rufenden Client und wenigstens einem gesuchten Client gerichtete Rundruf- Anforderungsnachricht ausgesendet. In der Folge sendet jeder die Rundruf-Anforderungsnachricht empfangende Client, sofern der Rundruf-Anforderungsnachricht gemäß seiner jeweiligen Funktionalität das Aussenden einer Antwortnachricht zugeord- net ist, welche eine für die wenigstens eine Kommunikationsverbindung erforderliche Client-Adressinformation umfasst, diese Antwortnachricht aus. Schließlich wird diese Client-
Adressinformation zum Aufbau der Kommunikationsverbindung zwischen dem rufenden Client und dem wenigstens einem gesuchten Client verwendet.
Durch die zuvor beschriebenen Verfahrensschritte werden die zum Aufbau einer Kommunikationsverbindung benötigten Client- Adressinformationen in einem oder mehreren Clients des Kommunikationsnetzwerkes gespeichert. Durch das Versenden einer Mehrzahl von Abfragenachrichten wird zumindest einer dieser weiteren Clients dazu veranlasst, die zuvor gespeicherte
Client-Adressinformation zu den suchenden Clients zurück zu übermitteln. Dadurch ist der Aufbau der Kommunikationsverbindung nicht von einem einzigen Client abhängig, auf dem eventuell eine Client-Adressinformation gespeichert ist, sondern der Aufbau einer KommunikationsVerbindung kann auch dann vorgenommen werden, wenn einzelne Clients nicht verfügbar sind.
Das Verfahren ist durch die kennzeichnenden Merkmale der abhängigen Patentansprüche 2 - 16 vorteilhaft ausgestaltet. Da- bei können auch Merkmale der abhängigen Patentansprüche vorteilhaft miteinander kombiniert werden.
Die Anzahl der zurückgesendeten Antwortnachrichten wird minimiert, indem zur Funktionalität eines empfangenden Clients gehört, die Rundruf-Anforderungsnachricht an dem Client zu signalisieren und bei Entgegennahme des Rundrufs die Antwortnachricht auszusenden. Dadurch wird zum einen nur bei solchen Clients eine Signalisierung vorgenommen, die die Rundruf- Anforderungsnachricht empfangen und bei der Auswertung dieser Rundruf-Anforderungsnachricht zu einem positiven Ergebnis gelangen, und zum anderen erfolgt das Aussenden einer Antwortnachricht nur dann, wenn der Ruf an dem jeweiligen Client angenommen werden soll. Wenn zur Ausführung einer Anrufumleitung in den Fällen, in denen die vom dem rufenden Client zu einem gerufenen Client zum Aufbau einer ersten Kommunikationsverbindung versendeten
Signalisierungsinformationen von dem gerufenen Client abgewiesen oder nicht rechtzeitig beantwortet werden, in Schritt a) eine der gespeicherten Client-Adressinformationen einen Rufumleitungsziel-Client für den gerufenen Client betrifft, in Schritt b) die Anforderungsnachricht ein Kennzeichen für den gerufenen Client umfasst, und in Schritt c) die in der Antwortnachricht enthaltene Client-Adressinformation den Rufumleitungsziel-Client beschreibt, dann kann für einen Client in dem Kommunikationsnetzwerk ein Anrufumleitungs-Ziel hin- terlegt werden, ohne dafür eine zentrale Speicher-Instanz vorhalten zu müssen. Dabei ist es von Vorteil, wenn der suchende Client von dem rufenden Client gebildet wird, weil in solchen Fällen der rufende Client ohne weitere Zwischeninstanz direkt die Antwortnachricht mit den Client- Adressinformationen empfängt und ohne weitere Verzögerung die Kommunikationsverbindung zu dem Rufumleitungsziel aufbauen kann. Ein Rufumleitungsziel lässt sich besonders einfach konfigurieren, indem bei einem Client die Information hinterlegt wird, dass dieser das Rufumleitungsziel für einen anderen Client bildet. In der Folge wird die Antwortnachricht von dem gesuchten Client gesendet, der den Rufumleitungsziel-Client bildet, wodurch ein besonders schneller und sicherer Aufbau der Kommunikationsverbindung gewährleistet ist.
Ein an einem Client anstehender Ruf kann auf besonders einfache Weise an einem anderen Client entgegengenommen werden, indem zur AnrufÜbernahme eines Rufes, der von dem rufenden Client zu dem zu einer Anrufübernahmegruppe gehörenden suchenden Client erfolgt, in Schritt a) die Client- Adressinformationen jeweils die der AnrufÜbernahmegruppe zugeordneten Clients beschreiben.
Wenn in Schritt b) die Rundruf-Anforderungsnachricht gezielt an die in den Client-Adressinformationen beschriebenen weite- ren Clients der Anrufübernahmegruppe ausgesendet wird, wird die Anzahl der in der Rundruf-Anforderungsnachricht adressierten Clients vorteilhaft verringert.
Wenn in Schritt b) die Kommunikationsverbindung bei mehreren die Antwortnachricht aussendenden gesuchten Clients zu demjenigen gesuchten Client aufgebaut wird, welcher als erstes die Antwortnachricht ausgesendet hat, kommt ein sehr schneller Verbindungsaufbau zustande. Vorteilhafterweise wird im Zuge des Aufbaus der Kommunikationsverbindung eine Meldung an die anderen diesen Ruf signalisierenden Clients der Anrufübernahmegruppe versendet, so dass in diesen Ruf nicht mehr weiter signalisiert wird, wobei "verspätet" eintreffende Antwortnachrichten verworfen werden.
Eine Blockierung der den Ruf signalisierenden, nicht direkt gerufenen Clients der Anrufübernahmegruppe wird vermieden, indem die Rufsignalisierung in Schritt c) derart erfolgt, dass die Clients sich während der Rufsignalisierung in einem freien Betriebszustand befinden. Vorteilhafter Weise unterscheidet sich diese Rufsignalisierung von einer Rufsignali- sierung bei einem direkten Ruf, bei dem der Client bereits während der Rufsignalisierung den "Besetzf-Zustand hat.
Ein Ruf kann an mehreren Clients gleichzeitig signalisiert werden, indem zur Durchführung eines Gruppenrufes in Schritt a) die Clientadressinformationen jeweils die der Gruppe zuge- ordneten Clients beschreiben, und in Schritt d) die Kommunikationsverbindung zu demjenigen die Antwortnachricht aussendenden gesuchten Client aufgebaut wird, welcher als erstes die Antwortnachricht ausgesendet hat. Dabei haben vorteilhafter Weise alle gerufenen Clients der Gruppe während der Ruf- signalisierung den "Besetzf'-Zustand.
Wenn in Schritt c) der rufende Client den suchenden Client bildet, können in dem rufenden Client direkt die zu rufenden Gruppenmitglieder bestimmt werden.
Wenn in Schritt c) zwischen den zur Aussendung einer Antwortnachricht zugeordneten Clients eine Reihenfolge festgelegt
wird, in der an diesen Clients nacheinander die Rufsignalisierung erfolgt, kann das bekannte Leistungsmerkmal des "zyklischen Sammelanschlusses" realisiert werden. Dabei kann entweder eine Reihenfolge derart festgelegt werden, dass sich die einzelnen Clients der Gruppe miteinander zur Festlegung der Reihenfolge synchronisieren, alternativ kann eine Reihenfolge fest vorgegeben werden, oder schließlich kann diese Reihenfolge auch mit jedem neuen Ruf neu festgelegt werden.
Dem gegenüber ist es zum besonders schnellen Aufbau einer
Kommunikationsverbindung vorteilhaft, wenn in Schritt c) an den zur Aussendung einer Antwortnachricht zugeordneten Clients die Rufsignalisierung gleichzeitig erfolgt. Dann kann an jedem betroffenen Endgerät der Ruf sofort angenommen wer- den, wobei bei einer Rufannahme an mehreren Clients in vorteilhafter Weise die Kommunikationsverbindung zu demjenigen Client aufgebaut wird, an dem die Rufannahme als erstes erfolgt, oder zu demjenigen Client, welcher die höchste zugeordnete Priorität aufweist.
In einem Client kann ein Telefonbuch ("Directory") in besonders einfacher Weise erstellt werden, wenn nach Schritt c) die in der Antwortnachricht enthaltenen Client- Adressinformationen von dem suchenden Client in einer diesem suchenden Client zugeordneten Adressendatenbank gespeichert werden, und in.Schritt d) zum Aufbau der Kommunikationsverbindung auf die Adressendatenbank zugegriffen wird. Verzeichnisse mit einer eingeschränkten Teilnehmeranzahl können generiert werden, in dem in Schritt b) die Rundruf- Anforderungsnachricht zumindest ein Filterkriterium umfasst, welches der Auswahl bestimmter Clients dient, und in Schritt c) das Aussenden der Antwortnachricht nur dann erfolgt, sofern in dem jeweiligen Client dem zumindest einen Filterkri- terium entsprechende Informationen vorliegen und / oder der jeweilige Client dem zumindest einen Filterkriterium entsprechende Eigenschaften aufweist.
Eine KommunikationsVerbindung, welche bei einem der Clients in dem Kommunikationsnetzwerk geparkt ist, kann auf einfache Weise von einem anderen Client in dem Kommunikationsnetzwerk übernommen werden, in dem zum Aufbau einer Kommunikationsver- bindung zu dem gesuchten Client, der mit einem als Warteziel mit einer Warteziel-Bezeichnung verwendeten Client verbunden ist, vor Schritt b) dem suchenden Client die Warteziel- Bezeichnung übermittelt wird, in Schritt b) die Rundruf- Anforderungsnachricht die Warteziel-Bezeichnung umfasst, in Schritt c) von dem als Warteziel verwendeten Client das Aussenden der Antwortnachricht erfolgt, und in Schritt d) die Verbindung zwischen dem gesuchten Client und dem als Warteziel verwendeten Client gelöst wird. Dadurch kann ein beliebiger von mehreren in dem Kommunikationsnetzwerk verfügbaren, als Warteziel verwendbaren Clients verwendet werden, um eine Kommunikationsverbindung zu parken. Durch die beschriebenen Verfahrensschritte wird der als Warteziel verwendete Client und damit die geparkte Kommunikationsverbindung auf einfache und sichere Weise aufgefunden, ohne eine bestimmte Instanz oder einen bestimmten Client in dem Kommunikationsnetzwerk fest als Warteziel definieren zu müssen.
Ausführungsbeispiele des erfindungsgemäßen Verfahrens sind nachfolgend anhand der Zeichnungen erläutert. <
Dabei zeigen:
Figur la den Austausch von Nachrichten zwischen Clients eines direktkommunizierenden Kommunikationsnetzwerkes zum Zwecke einer Anrufumleitung in einer ersten Variante,
Figur lb den Austausch von Nachrichten zwischen Clients zum Zwecke einer Anrufumleitung in einer zweiten Variante,
Figur 2a den Austausch von Nachrichten zwischen Clients, um eine Gruppe zu bilden,
Figur 2b den Austausch von Nachrichten zwischen Clients bei einem Ruf auf eine AnrufÜbernahmegruppe,
Figur 3a den Austausch von Nachrichten zwischen Clients bei einem Gruppenruf,
Figur 3b den Austausch von Nachrichten zwischen Clients bei einem Gruppenruf in der Variante eines zyklischen Sammelanschlusses,
Figur 4 Eine Anordnung aus Clients in einem direktkommunizierenden Kommunikationsnetzwerk, wobei in einem der Clients ein Teilnehmerverzeichnis angelegt wird, und
Figur 5 den Austausch von Nachrichten zwischen Clients zum Aufnehmen einer "geparkten" Kommunikationsverbindung.
In der Figur la sind die Clients A, B, C gezeigt, die Teil eines (hier nicht dargestellten) direktkommunizierenden Kommunikationsnetzwerkes sind. Bei den Clients A, B, C handelt es sich um sogenannte Multimedia-PCs, also um Computer, die an einem Netzwerk angeschlossen sind und die zur Wiedergabe und zur Aufnahme von audiovisuellen Nutzdaten eingerichtet sind. Anstelle der Multimedia-PCs können an dieser Stelle auch andere als Kommunikationsendgerät einsetzbare Netzwerkkomponenten verwendet werden, beispielsweise IP-Telefone. Die Clients A, B, C können untereinander Steuerdaten (Signalisie- rungsinformationen) und Nutzdaten über das direktkommunizierende Kommunikationsnetzwerk austauschen, welches als Sprachdatennetz (VoIP-Kommunikationsnetzwerk) ausgebildet ist und
die Daten (Sprachdaten, Nutzdaten) gemäß des Internet- Protokolls (IP-Protocol; TCP-IP; UDP-IP) austauscht.
Die in der Figur la und in den anderen Figuren gezeigten Pfeile visualisieren das Aussenden bzw. den Austausch von
Nachrichten zwischen den Clients, die zum Aufbau einer Kommunikationsverbindung verwendet werden. Die Pfeile sind dabei mit Bezugszeichen versehen, die sich in den einzelnen Figuren wiederholen können, sofern es sich bei der jeweiligen Nach- rieht bzw. Steuerungsinformation jeweils um eine Nachricht mit der gleichen Funktion handelt. Analog dazu werden in den Figuren die Clients A, B, C und weitere Clients wiederholt gezeigt, sofern sich ihre Funktionalität zwischen den einzelnen Figuren nicht geändert hat. Sowohl die gleichbezeichneten Pfeile als auch die gleichbezeichneten Clients werden bei ihrer wiederholten Verwendung nicht neu beschrieben.
In der in Figur la gezeigten Kommunikationsanordnung soll der Client C das Anrufumleitungsziel für den Client B darstellen. Zur Einrichtung der Anrufumleitung nimmt der Benutzer des Clients B eine Eingabe vor, in der Client C als Anrufumleitungsziel definiert wird. Aufgrund dieser Eingabe versendet Client B eine Steuernachricht 11 an Client C, wobei aufgrund dieser Steuermeldung Client C als Rufumleitungsziel- Client für Client B konfiguriert wird (Schritt a) . Die Steuernachricht 11 umfasst dabei als Adressinformation die Bezeichnung und die Netzwerkadresse des Clients B. Damit ist die Konfiguration der AnrufUmleitung abgeschlossen.
Der Client B geht jetzt in den "offline"-Betriebszustand; d.h., dass der Multimedia-PC, der den Client B bildet, fortan nicht mehr in dem Kommunikationsnetzwerk erreichbar ist.
Zum Aufbau einer Kommunikationsverbindung zu dem Client B versendet der Client A eine Steuermeldung 13, die an den
Client B adressiert ist und die eine Anrufsignalisierung bei dem Client B bewirken soll. Da der Client B jedoch nicht mehr
in dem Kommunikationsnetzwerk erreichbar ist, erfolgt keine Antwortnachricht, was von dem Client A nach Ablauf einer Wartezeit ("Timeout") registriert wird.
Alternativ kann auch der Fall eintreten, dass der Client B zwar nicht "offline" ist, aber aus anderen Gründen nicht zum Aufbau der Kommunikationsverbindung zur Verfügung steht. In solchen Fällen kann der Client B die Steuernachricht 13 empfangen und durch eine andere Steuernachricht 14 zum Abweisen des Rufes beantworten, wodurch der Client A ebenfalls darüber informiert ist, dass ein Verbindungsaufbau zum Client B nicht möglich ist.
Um ein alternatives Rufziel für den nichterreichbaren Client B zu ermitteln, sendet der Client A eine Rundruf- Anforderungsnachricht an alle anderen erreichbaren Clients des Kommunikationsnetzwerkes aus (Schritt b) . Eine solche, an alle erreichbaren Clients gerichtete Rundruf- Anforderungsnachricht wird auch als "Broadcast-Meldung" be- zeichnet. Alternativ kann eine solche Rundruf- Anforderungsnachricht auch an eine eingeschränkte Anzahl der erreichbaren Clients gesendet werden, dann spricht man von einer "Multicast-Nachricht" .
Die als Rundruf-Anforderungsnachricht in Form einer "Broadcast-Meldung" versendete Suchnachricht 15, wird von allen jenen Clients des Kommunikationsnetzwerkes empfangen, die erreichbar sind, wobei in der Figur la der Client C exemplarisch gezeigt ist. In dem Client C wurden mit Empfang der Steuernachricht 11 die Adressinformationen des Anrufumleitungszieles für den Client B hinterlegt, wobei es die Netzwerkadresse des Clients C selbst ist, die das Anrufumleitungsziel für Client B definiert. Mit Empfang der Suchnachricht 15, die als Absender die Adressinformation des Clients A umfasst, wird in Client C festgestellt, dass diese Suchnachricht 15 den Client C selbst betrifft, und infolge dessen wird von Client C eine Antwortnachricht 16 zum Client A ver-
sendet, die die Adressinformation des Clients C als Angabe für das Anrufumleitungsziel umfasst (Schritt c) . Analog zu der Steuernachricht 13 zum Aufbau der Kommunikationsverbindung zu dem Client B versendet nun Client A eine neue Steuer- nachricht 17 mit Signalisierungsinformationen zu dem Client C, in deren Folge die Kommunikationsverbindung zwischen Client A und Client C aufgebaut wird (Schritt d) .
In der Figur lb ist ein weiteres Ausführungsbeispiel für eine Anrufumleitung in einem direktkommunizierenden Kommunikationsnetzwerk gezeigt, wobei zu dem Client A, B, C aus dem vorangegangenen Ausführungsbeispiel ein weiterer Client D gezeigt ist. Auch der Client D ist wie die Clients A, B, C als Multimedia-PC in technisch analoger Weise ausgeführt. Auch in diesem Beispiel soll der Client C das Anrufumleitungsziel für den Client B bilden, wobei jedoch zum Zeitpunkt der Konfiguration der Anrufumleitung der Client B keine direkte Verbindung zu dem Client C aufbauen kann. Aus diesem Grunde versendet der Client B eine Steuernachricht 12 (Konfigurationsnach- rieht) zu dem Client D, wobei in dieser Steuernachricht als
Adressinformation für das Anrufumleitungsziel die Netzwerkadresse des Clients C und natürlich als Information über das umgeleitete Rufziel die Adressinformation und die Bezeichnung des Clients B zum Client D übermittelt wird (Schritt a) . Nach dieser erfolgten Konfiguration wird der Client B abgeschaltet.
Zum Aufbau einer Kommunikationsverbindung zwischen dem Client A und dem Client B versendet der Client A eine Steuernach- rieht 13 zum Client B, in der der Aufbau der Kommunikationsverbindung angefordert wird. Da innerhalb der definierten Wartezeit keine Antwort von dem Client B erfolgt (auch hier ist alternativ eine abschlägige Antwort 14 möglich) , versendet der Client A wiederum eine Suchnachricht 15 an mehrere Clients (Schritt b) , diesmal als sogenannte "Multicast-
Nachricht" an die in dem Kommunikationsnetzwerk angeordneten Clients C und D. In dieser Suchnachricht 15 ist definiert,
dass der Client A ein Ersatz-Rufziel für den Client B sucht. Selbstverständlich ist auch eine Adressinformation, die den Client A beschreibt, Bestandteil der Suchmeldung 15. Die Suchnachricht 15 wird von den Clients C und D empfangen, wo- bei in Client D ein Datenbankeintrag vorliegt, auf den die Suchanfrage 15 passt. Hier wird nämlich die Übereinstimmung zwischen dem in der Suchnachricht 15 definierten Client B und den im Zuge des Empfangs der Steuernachricht 12 konfigurierten AnrufumleitungsZieles festgestellt. Daher versendet der Client B nun eine Antwortnachricht 18 zu dem Client A, mit der dem Client A die Information übermittelt wird, dass das Rufumleitungsziel für den Client B aus der dem Client C zugeordneten Adressinformation besteht (Schritt c) . Der Client A sendet nun eine Steuernachricht 19 zu dem Client C (Schritt d) , wobei diese Steuernachricht 19 mit in den Signalisie- rungsinformationen enthaltenen Zusatzinformationen zum Ausdruck bringt, dass es sich bei dieser angefragten Kommunikationsverbindung um eine für den Client B umgeleitete Kommunikationsverbindung handelt. An dem Client C wird nun ein ein- gehender Ruf signalisiert, wobei in einer Anzeige der Benutzeroberfläche kenntlich gemacht wird, dass es sich bei diesem eingehenden Ruf um einen ursprünglich an den Client B adressierten Ruf handelt.
Im folgenden wird anhand der Figuren 2a und 2b die Realisierung des bekannten Leistungsmerkmales "AnrufÜbernahme" bzw. "Anrufübernahme-Gruppe" in einem direktkommunizierenden Kommunikationsnetzwerk gezeigt, wobei in der Figur 2a die Konfigurierung einer Kommunikationsanordnung zur Durchführung die- ser Leistungsmerkmale gezeigt wird, während in der Figur 2b der Verbindungsaufbau zu einem Mitglied einer Anrufübernahme- Gruppe gezeigt wird.
In der Figur 2a sind die Clients B, C, D gezeigt, die bereits in den vorhergehenden Figurenbeschreibungen beschrieben sind. Generell bestehen verschiedene Möglichkeiten, wie Clients in einem Kommunikationsnetzwerk zu einer Gruppe zusammengefasst
werden können. Beispielsweise ist es möglich, durch einen (manuellen) Administrationsvorgang die Gruppenmitglieder zu bestimmen und jedem der Clients, die Mitglied dieser Gruppe sein sollen, diese Gruppenmitgliedschaft und die Informatio- nen über die anderen Mitglieder der Gruppe mitzuteilen. Ein anderer Weg ist derjenige, dass jedem Client eines Kommunikationsnetzwerkes durch eine Definition mitgeteilt wird, welche Eigenschaften ein Client haben muss, um zu einer bestimmten Gruppe zu gehören. Dann entscheidet jeder Client selber, ob er zu dieser derart definierten Gruppe gehört, und teilt allen anderen Clients des Kommunikationsnetzwerkes, beispielsweise durch eine "Broadcast-Meldung", mit, dass er zu der Gruppe gehört. Im vorliegenden Ausführungsbeispiel sind die Clients B und D bereits zu einer Anrufübernahmegruppe zusam- mengefasst. Im folgenden wird beschrieben, wie diese Anrufübernahmegruppe um den Client C erweitert wird (Schritt a) .
Die Clients B, C, D umfassen jeweils eine Datenbank DB, DC, DD, die der Speicherung von Gruppeninformationen dienen. Die Anrufübernahmegruppe soll in diesem Beispiel vom Arbeitsplatz des Clients B aus administriert werden. Deswegen wird von Client B zu Client C eine Konfigurationsnachricht 21 versendet, in der eine Gruppenidentifikation (Gruppenname) und eine Liste mit den Bezeichnungen und den Adressinformationen der bisherigen Gruppenmitglieder enthalten ist. Im Client C wird nun entschieden, dass eine Zugehörigkeit zu der Anrufübernahmegruppe erfolgen soll. Deswegen wird in der Datenbank DC ein entsprechender Datensatz angelegt, im dem die Bezeichnungen und die Adressinformationen der zu der Gruppe gehörenden Clients B, C, D verzeichnet sind. Dann versendet der Client C eine Bestätigungsnachricht 22 zu dem Client B, der die ihm zugeordnete Datenbank DB entsprechend der Gruppenerweiterung ändert. Der Client B versendet nun eine Information 23 an jeden anderen Client der AnrufÜbernahmegruppe (in diesem Fall Client D) , der noch nicht über die Erweiterung der Anrufübernahmegruppe informiert ist. Nach Empfang dieser Nachricht 22 erweitert nun auch Client D die Einträge für die Anrufüber-
nahmegruppe in seiner Datenbank DD und versendet danach eine Quittierungsnachricht 24 an den Client B.
Alternativ können die Clients auch so programmiert werden, dass ein neu der Gruppe hinzugefügter Client C die Information über seine Gruppenzugehörigkeit selbst an die noch nicht informierten Gruppenmitglieder (Client B, D) versendet.
Im folgenden wird anhand der Figur 2b beschrieben, wie ein Ruf auf ein Mitglied der im Ausführungsbeispiel gemäß Figur
2a gebildeten AnrufÜbernahmegruppe erfolgt. Im Unterschied zu der Figur 2a ist in Figur 2b weiterhin der Client A gezeigt, der bereits im Rahmen der Figurenbeschreibung zu Figur la eingeführt wurde. Der Client A versendet eine Steuernachricht 13 zum Aufbau einer Kommunikationsverbindung zu Client B. Der Ruf wird an Client B sofort signalisiert (Client B "klingelt"); gleichzeitig stellt Client B aufgrund der Informationen in seiner Datenbank DB fest, dass der Ruf bei den anderen Mitgliedern der AnrufÜbernahmegruppe, nämlich Client C und Client D, signalisiert werden muss. Deswegen versendet Client B an die Clients C und D jeweils einen Signalisierungsruf ("Multicast-Meldung") 25, 26, der zum einen als "Absenderangabe" die Bezeichnung und die Adressinformation von Client B enthält, und zum anderen die Informationen darüber, dass ein an Client B anstehender Ruf von Client A übernommen werden kann (Schritt b) . Während der direkt gerufene Client B mit Beginn der Rufsignalisierung den Status (Rufzustand) "besetzt" hat, signalisieren nun die Clients C und D den an Client B anstehenden Ruf derart, dass sie weiterhin den Ruf- zustand "frei" haben.
Im vorliegenden Ausführungsbeispiel ist es nun der Client C, der den an Client B anstehenden Ruf übernehmen möchte. Dazu übersendet Client C eine RufÜbernahme-Nachricht 27 an Client B (Schritt c) . An Client B wird nun die Rufsignalisierung gestoppt, und weiterhin versendet Client B eine Nachricht 28 zu Client D, um die Signalisierung des Rufes an Client D zu
stoppen. Außerdem versendet der Client B nun eine Rufumlen- kungs-Nachricht 29, in der dem Client A nunmehr die Bezeichnung und die Adressinformation des Clients C mitgeteilt wird. In der Folge wird nunmehr die Kommunikationsverbindung K2 durch den Client A zu dem Client C aufgebaut (Schritt d) .
Wie bereits beschrieben, versendet der Client B, sobald er von dem Client A gerufen wird, die Nachrichten 25 und 26 gezielt an die anderen Mitglieder der AnrufÜbernahmegruppe, nämlich an Client C und Client D. Alternativ ist es jedoch auch möglich, dass der gerufene Client B eine "Broadcast- Meldung", die die Informationen über den anstehenden Ruf und die Bezeichnung der AnrufÜbernahmegruppe enthält, an alle anderen (auch die hier nicht gezeigten) Clients des Kommunika- tionsnetzwerkes versendet. Dann entscheidet jeder Client, der diese "Broadcast-Meldung" empfängt, anhand der in der Meldung enthaltenen Informationen darüber, ob er zu dieser Anrufübernahmegruppe gehört und diesen an Client B anstehenden Ruf zur Übernahme signalisieren soll, oder nicht.
In dem beschriebenen Ausführungsbeispiel ist es möglich, dass mehr als einer der den Ruf signalisierenden Clients den Ruf entgegen nehmen möchte (Schritt c) . Dann treffen mehrere Ruf- übernahme-Nachrichten 27 ("RufÜbernahmewunsch") bei dem geru- fenen Client B ein. In diesem Fall wird nur der erste eingehende RufÜbernahmewunsch berücksichtigt, während die anderen, nachfolgend ("verspätet") eintreffenden Meldungen verworfen oder mit einer negativen Quittierungsantwort beantwortet werden.
Im folgenden wird anhand der Figur 3a die Realisierung des Leistungsmerkmals "Gruppenruf" in einem direktkommunizierenden Kommunikationsnetzwerk gezeigt. Die Konfiguration der Gruppe für den Gruppenruf erfolgt in analoger Weise zu der anhand der Figur 2a beschrieben Konfigurierung der Anrufübernahmegruppe und wird daher an dieser Stelle nicht weiter erläutert (Schritt a) .
Im vorliegenden Beispiel wird davon ausgegangen, dass ein Client A einen beliebigen der anderen Clients B, C erreichen möchte. Dazu versendet der Client A in Form einer Broadcast- Meldung eine Rufnachricht 31 (Schritt b) , welche die Bezeichnung der gewünschten Gruppe enthält, an alle erreichbaren Clients des Kommunikationsnetzwerkes. Diese Rufnachricht 31 wird von den Clients B und C empfangen, so dass beide Clients B, C in den gerufenen Zustand übergehen (also den Rufzustand "besetzt" aufweisen) und jeweils den anstehenden Ruf von Client A signalisieren. Der Ruf wird nun von einem der Clients B, C (in diesem Fall von Client B) angenommen, wobei der Client B eine Rufannahme-Nachricht 32 an Client A versendet (Schritt c) , und wobei diese Rufannahme-Nachricht 32 selbstverständlich die Adressinformation des Clients B umfasst. Nun wird die Kommunikations erbindung K3 zwischen dem Client A und dem Client B aufgebaut (Schritt d) , und weiterhin versendet der Client A in Form einer "Broadcast-Meldung" eine Stornierungsmeldung 33, in der unter Bezugnahme auf die zuvor versendete Rufsignalisierungsnachricht 31 die Komplettierung des zu treffenden Rufes bestätigt wird, wonach die Rufsignalisierung in Client C beendet wird.
Alternativ zu der zuvor beschriebene Vorgehensweise kann der Client A eine gespeicherte Tabelle aufweisen, in der alle Gruppenmitglieder aufgelistet sind. In diesem Fall wird die Rufsignalisierungs-Nachricht 31 nicht in Form einer "Broadcast-Meldung" an alle Clients in dem Kommunikationsnetzwerk versendet, sondern in Form einer "Multicast-Nachricht" nur an die Mitglieder der Gruppe, also an Client B und Client C (Schritt b) .
Eine weitere Variante des Gruppenrufes stellt eine Kombination des zuvor beschriebenen Verfahrens mit dem anhand der Fi- gur 2b erläuterten Verfahrens dar, indem der Client A nur eine Rufsignalisierungs-Nachricht an einen der Clients der Gruppe richtet, und dieser gerufene Client ähnlich wie bei
der Anrufübernahmegruppe die Weitersignalisierung des Rufes an die anderen Mitglieder der Gruppe gewährleistet (Schritt b) . Im Unterschied zu der Anrufübernahmegruppe wird dieser Ruf jedoch bei allen Gruppenmitglieder nicht als zu überneh- mender Ruf, sondern als "vollwertiger" Ruf signalisiert, wobei jeder derart gerufene Client in den Betriebszustand "besetzt" wechselt.
Eine weitere Variante des Leistungsmerkmals "Gruppenruf" stellt der sogenannte "Sammelanschluss" dar, bei dem die Mitglieder der Gruppe (des Sammelanschlusses) einen anstehenden Ruf nicht gleichzeitig signalisieren, sondern nacheinander in einer festgelegten Reihenfolge. Dieser Fall ist in der Figur 3b dargestellt.
Analog zu dem Verfahren nach Figur 3a versendet der Client A eine Rufsignalisierungsnachricht 31 in Form einer "Broadcast- Meldung" an alle Clients B, C des Kommunikationsnetzwerkes (Schritt b) . In den Clients B und C liegen jeweils in den Da- tenbanken DB und DC alle Gruppeninformationen vor, wobei jedes Gruppenmitglied mit einem eigenen Index in dieser Tabelle geführt ist und jedem Gruppenmitglied eine Zeitdauer zugeordnet ist, die angibt, wie lange ein Ruf an diesem jeweiligen Client signalisiert werden ("anstehen") soll.
Die Rufsignalisierungs-Nachricht 31 wird nun von einem der Gruppenmitglieder empfangen, beispielsweise von Client B. Client B versendet nun eine Synchronisierungsnachricht 35 zu Client C und informiert damit Client C über den anstehenden Ruf. Client C quittiert den Eingang dieser Nachricht 35 mit einer Quittierungsnachricht 36 bei Client B und versendet seinerseits eine Synchronisierungsnachricht 37 zu Client D, der wiederum eine Quittierungsnachricht 38 an Client C versendet. Dann versendet Client D als letztes Gruppenmitglied eine abschließende Synchronisierungsnachricht zu Client B, die wiederum von Client B mit Hilfe einer Quittierungsnachricht 39 bei Client D quittiert wird. In jeder versendeten
Synchronisierungsnachricht ist eine komplette "Historie" der zuvor informierten Clients enthalten. Weiterhin wird jede empfangene Quittierungsmeldung von dem Client, der diese Quittierungsmeldung erhalten hat, zu seinem "vorhergehenden" Client weitergeleitet. Die Clients sind weiterhin so programmiert, dass in dem Fall, dass ein Client, beispielsweise Client C, nicht verfügbar ist, dies nach Ablauf einer Wartezeit von dem vorhergehenden Client (Client B) registriert wird und Client B dann eine neue Synchronisierungsnachricht an den Client mit der nächsthöheren Indexbezeichnung, hier
Client D, versendet. Dadurch ist gewährleistet, dass auch bei fehlenden, ausgefallenen Clients der Synchronisierungszyklus vollendet wird und somit nach Ende der Synchronisierungszyklus' in allen Clients der Gruppe die Informationen über die verfügbaren Clients der Gruppe vorliegen und somit feststeht, welcher der verfügbaren Clients die niedrigste Indexnummer hat und somit den Ruf als erstes signalisiert. Wenn dieser an dem Client mit der niedrigsten Indexnummer (in diesem Ausfüh- rungsbeispiel Client B) signalisierte Ruf nicht angenommen wird, versendet der zuerst gerufene Client B eine entsprechende Nachricht an seinen Nachfolger Client C (oder im Falle einer der beschriebenen Störung an Client D) , und stellt selbst die Signalisierung des Rufes ein. Wird der Ruf nun an einem der Clients, beispielsweise an Client D, angenommen, so versendet Client D wie in dem Ausführungsbeispiel nach Figur 2b eine entsprechende Meldung zur Rufübernahme an Client B (Schritt c) , was zum Aufbau der KommunikationsVerbindung K4 führt (Schritt d) .
Mit Annahme des Rufes kann eine Meldung des Clients D, der den Ruf angenommen hat, an die anderen Mitglieder der Gruppe erfolgen, damit die Indexnummern der Gruppenmitglieder in den Datenbanken DB, DC, DD geändert werden. Damit ist gewährleistet, dass bei dem nächsten eingehenden Ruf bei einem anderen der Clients der Ruf als erstes signalisiert wird. Das ist z.B. in Call-Centern wichtig, um eine gleichmäßige Auslastung bzw. Belastung der Call-Center-Agenten zu erreichen.
In der Figur 4 sind in einer alternativen Darstellung die Clients A, B, C gezeigt, wobei als direktkommunizierendes Kommunikationsnetzwerk IP-N ein nach dem Internet-Protokoll die Daten austauschendes Kommunikationsnetzwerk (IP-Netz) verwendet wird. In den Clients A, B, C sind jeweils Angaben über die eigene Identität gespeichert, also die eigene Bezeichnung, Benutzername, Netzwerkadresse etc., sowie Angaben über die eigene Funktionalität (z.B. benutzbare Sprach- Codecs, Video-Funktionalität, maximale Bandbreite etc.)
(Schritt a) . Die Clients A, B, C weisen weiterhin jeweils eine Adressendatenbank DBA, DBB, DBC auf, in denen die Namen und Adressinformationen jeweils anderer Clients und weitere, diesen Clients zugeordnete Informationen gespeichert werden können. Diese Adressendatenbanken werden bevorzugt für den
Aufbau von Kommunikationsverbindungen als "elektronisches Telefonbuch" verwendet. Um seine Adressdatenbank DBA mit Informationen, insbesondere den Adressinformationen anderer Clients, zu füllen, versendet der Client A als Anforderungs- nachricht eine "Broadcast-Meldung" an alle erreichbaren
Clients des Kommunikationsnetzwerkes (Schritt b) . Die Anforderungsnachricht enthält die Information darüber, dass der Client A die Adressinformationen anderer Clients abrufen möchte. Die Anforderungsnachricht umfasst als Filterkriterium auch die Information darüber, dass nur Informationen über solche Clients gewünscht sind, die als Multimedia-PC ausgeführt sind, die also eine dem entsprechende Funktionalität aufweisen. Die Nachricht wird jeweils von dem Client B und dem Client C empfangen, welche beide als Multimedia-PC ausge- führt sind, so dass diese jeweils eine Antwortnachricht an den Client A versenden' (Schritt c) . Die Antwortnachricht enthält jeweils die eigene Bezeichnung und die eigene Adressinformation sowie weiterführende Informationen (Name des Benutzers, Standort etc.). Diese Antwortnachrichten werden von Client A empfangen und ausgewertet, wobei die in den Antwortnachrichten enthaltenen Informationen jeweils der Datenbank DBA hinzugefügt werden. Zu einem späteren Zeitpunkt können
diese Informationen aus der Datenbank BDA abgerufen werden, wobei der Client A die jeweilige Adressinformation dazu benutzt, um eine Kommunikationsverbindung zu den Client B oder dem Client C aufzubauen (Schritt d) .
Im folgenden wird anhand der Figur 5 das "Parken" und die Wiederaufnahme einer "geparkten" Kommunikationsverbindung gezeigt. Die Figur 5 zeigt ein direktkommunizierendes Kommunikationsnetzwerk mit den Clients A, B, C, die den Clients A, B, C aus den vorangegangenen Ausführungsbeispielen entsprechen und die deswegen nicht erneut beschrieben werden. Weiter ist ein spezieller Client W Teil der Kommunikationsanordnung, der als Warteziel dient und an den Kommunikationsverbindungen übergeben werden können, damit diese Kommunikationsverbindun- gen eines Anrufers nicht unterbrochen werden muss, während beispielsweise ein neuer Ansprechpartner gesucht wird.
Der Client A baut eine Kommunikationsverbindung K5a zu einem Client B auf, wobei der Client A beispielsweise ein Kunde ist, der als Client B die Telefonzentrale eines Unternehmens oder eines Kaufhauses anruft. Nachdem der Benutzer des Clients B von dem Anrufer (Client A) Informationen über den gewünschten Ansprechpartner aufgenommen hat, leitet der Client B eine Anforderungsnachricht (51) zu dem als Warteziel genutzten Client W und fragt dabei die Indexnummer einer freien Parkposition ab. Der- Client W übermittelt dem Client B 'die gewünschte Parkspositions-Nummer (z.B. "22") (Schritt a) ; diese Parkpositions-Nummer "22" wird auf dem Display des Clients B angezeigt. Der Client B versendet nun an den Client A mit einer Meldung (52) die Adressinformation des Clients W und fordert den Client A auf, fortan die Kommunikationsverbindung K5a nicht mit Client B, sondern als Kommunikations- verbindung K5b mit Client W fortzuführen. In der Folge ist also die Kommunikationsverbindung K5b zwischen Client A und Client W etabliert, wobei der Client W dem Client A Wartemusik oder - im Falle von Multimedia-Clients - beliebige Multimedia-Inhalte für Informations- und Unterhaltungszwecke über-
mittelt. Der Benutzer des Clients B ruft mit einer Meldung (53) jetzt den Anschluss einer sogenannten Paginganlage P, um in dem Gebäude (Unternehmen; Kaufhaus) eine Durchsage zu machen, die die gewünschte Person betrifft und die die Parkpo- sitons-Nummer umfasst, also beispielsweise "Herr Müller, bitte die 22". Die so gerufene Person begibt sich nun zu den nächsten verfügbaren Client, dem Client C, und aktiviert an diesem Client C eine Funktion zur Übernahme geparkter Kommunikationsverbindungen.
Da in einem größeren Kommunikationsnetzwerk eine Vielzahl Clients mit Positionsspeichern für Wartezwecke versehen "sein können, sendet der Client C nun in Form einer Broadcast- Meldung eine Suchmeldung (55) (Schritt b) , welche die von der gesuchten Person zuvor eingegebene Parkpositions-Nummer 22 enthält, an alle Clients in dem Kommunikationsnetzwerk. Während die Clients A und B keine Parkpositions-Nummer "22" zuordnen können, beantwortet der Client W die Suchanfrage (55) mit einer Antwortnachricht (56), die neben der Bestätigung auch die Adressinformation des Client W umfasst (Schritt c) . Weiterhin teilt der Client W dem Client A in einer Umleitungsnachricht (57) mit, dass die bestehende Kommunikationsverbindung nunmehr mit dem Client C als Kommunikationspartner fortgeführt werden soll, wodurch das Gespräch (die Kommunika- tionsverbindung K5b) derart weitergeleitet wird, dass die KommunikationsVerbindung K5c (die Nutzdatenkanäle) fortan zwischen Client A und Client C geschaltet sind (Schritt d) .
Anstelle der beschriebenen Multimedia-PCs können in den Bei- spielen auch weniger leistungsfähige Endgeräte verwendet werden, die nicht zur Ausführung der beschriebenen Schritte, beispielsweise dem Versenden von "Broadcast-Meldungen", eingerichtet sind. Solche Endgeräte können diese Schritte von anderen Clients ausführen lassen, die als sog. "Proxys" stellvertretend die Schritte ausführen. Dabei können auch zur Ausführung bestimmter Verfahren und Funktionen spezialisierte Proxys in einem Netzwerk angeordnet sein, die von den Clients
zur Nutzung beispielsweise durch Suchmeldungen aufgefunden werden können.