DE102011114273B4 - Automatische Benutzerredundanzbestimmung - Google Patents

Automatische Benutzerredundanzbestimmung Download PDF

Info

Publication number
DE102011114273B4
DE102011114273B4 DE102011114273.1A DE102011114273A DE102011114273B4 DE 102011114273 B4 DE102011114273 B4 DE 102011114273B4 DE 102011114273 A DE102011114273 A DE 102011114273A DE 102011114273 B4 DE102011114273 B4 DE 102011114273B4
Authority
DE
Germany
Prior art keywords
session
session manager
managers
manager
cluster
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE102011114273.1A
Other languages
English (en)
Other versions
DE102011114273A1 (de
Inventor
Owen Kenneth Michie
Mouli Chandra Ravipati
James Douglas Free
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Avaya Inc
Original Assignee
Avaya Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Avaya Inc filed Critical Avaya Inc
Publication of DE102011114273A1 publication Critical patent/DE102011114273A1/de
Application granted granted Critical
Publication of DE102011114273B4 publication Critical patent/DE102011114273B4/de
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5041Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
    • H04L41/5054Automatic deployment of services triggered by the service manager, e.g. service implementation by automatic configuration of network components
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/10Architectures or entities
    • H04L65/1046Call controllers; Call servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1073Registration or de-registration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/40Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1101Session protocols
    • H04L65/1104Session initiation protocol [SIP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Multimedia (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Telephonic Communication Services (AREA)
  • Computer And Data Communications (AREA)

Abstract

Verfahren zum automatischen Bestimmen von Benutzerdatenredundanz, umfassend: Empfangen einer SIP(Session Initiation Protocol)-Registrierungsanfrage durch einen voreingestellten Session Manager von einem IP-fähigen (Internet Protocol) Telefon; Bestimmen eines Orts des IP-fähigen Telefons durch den voreingestellten Session Manager; Bestimmen des Lastfaktors auf zwei oder mehr Session Managers in einem Cluster von Session Managers durch den voreingestellten Session Manager; Bestimmen eines Orts der zwei oder mehr Session Managers in dem Cluster von Session Managers durch den voreingestellten Session Manager; Automatisches Bestimmen einer Menge von Session Managers, wobei die Menge einen primären Session Manager und einen sekundären Session Manager enthält, die Benutzerdaten für das IP-fähige Telefon verwalten, sowohl auf der Basis des Orts des IPfähigen Telefons als auch des Lastfaktors auf den zwei oder mehr Session Managers und des Orts der zwei oder mehr Session Managers in dem Cluster von Session Managers, wobei der primäre Session Manager unterschiedlich vom voreingestellten Session Manager ist; Senden einer SIP-Nachricht an das IP-fähige Telefon durch den voreingestellten Session Manager, wobei die SIP-Nachricht Informationen über die Menge von Session Managers enthält; Rundsenden von Informationen über die Menge von Session Managers und das IPfähige Telefon durch den voreingestellten Session Manager zu mindestens einem weiteren Session Manager in dem Cluster; und Verwalten von Benutzerdaten für das IP-fähige Telefon danach durch die Menge von Session Managers Empfangen einer Deregistrierungsanfrage durch den primären Session Manager; Entfernen der Informationen über die Menge von Session Managers durch den primären Session Manager basierend auf dem Empfang der Deregistrierungsanfrage Rundsenden des Entfernens der Informationen über die Menge von Session Managers an das Cluster durch den primären Session Manager; und als Antwort auf eine SIP 301-Nachricht, die die Informationen über die Menge von Session Managers enthält, Empfangen einer zweiten Registrierungsanfrage durch den primären Session Manager von dem IP-fähigen Telefon und Empfangen einer dritten Registrierungsanfrage durch den sekundären Session Manager von dem IP-fähigen Telefon.

Description

  • ALLGEMEINER STAND DER TECHNIK
  • Benutzerdaten sind für das ordnungsgemäße Funktionieren von Anrufkommunikationssystemen wichtig. Durch das Bereitstellen von Backups der Benutzerdaten wird sichergestellt, dass während Teilsystemausfällen wichtige Benutzerdaten nicht verloren gehen oder dass der Benutzer, falls überhaupt, nur eine minimale Verschlechterung des Dienstes während der Ausfälle erfährt. Leider ist das Herstellen von Redundanz in Kommunikationssystemen schwierig. Oftmals werden die Redundanzen zwischen zwei oder mehr Anrufservern manuell angelegt und verwaltet. Somit zwingt das aktuelle Modell der Redundanzanlegung den Administrator, für jeden einzelnen Benutzer, der in dem Kommunikationssystem eingerichtet ist, eine primäre und eine sekundäre Serverbeziehung einzugeben. Wenn Systeme Kapazitäten von tausenden von Benutzern erreichen, stellt dieser manuelle Prozess für den Administrator eine schwere Bürde dar. Nicht nur muss der Administrator diese primäre/sekundäre Serverbeziehung für jeden Benutzer manuell entscheiden, sondern der Administrator muss darüber ein mentales Modell ständig präsent haben, wie das Kommunikationssystem eingerichtet ist, um einen ordnungsgemäßen Lastausgleich sicherzustellen. Sollte das Kommunikationssystem zu dem Kern einen neuen Server hinzufügen, muss der Administrator alle existierenden Benutzer neu einrichten und entscheiden, wie das System wieder ausgeglichen wird. Diese Schwierigkeit beim Wiederausgleichen kann die Systemerweiterung blockieren und die bessere Nutzung von aktuellen und neuen Servern in dem Kommunikationssystem verhindern.
  • Entsprechende Verfahren und Systeme sind dem Fachmann aus der US 2010/0046502 A1 , der US 2010/0177766 A1 , der US 2010/0217875 A1 und der US 7702310 B1 bekannt. Es ist Aufgabe der Erfindung, die oben beschriebenen Nachteile der bekannten Systeme zu überwinden.
  • KURZE DARSTELLUNG DER ERFINDUNG
  • Diese Aufgabe wird erfindungsgemäß gelöst durch ein Verfahren gemäß Anspruch 1 sowie durch ein Kommunikationsnetzwerk gemäß Anspruch 5. Vorteilhafte Weiterbildungen sind Gegenstand der Unteransprüche.
  • Die hier vorgelegten Ausführungsformen liefern einen automatisierten Prozess zum Einrichten eines Benutzers in einem Kommunikationssystem. Ein Session Manager, der ein Server in dem Kommunikationssystem sein kann, das eine Anrufverbindung und Leitwegführung bereitstellt, kann eine Registrierungsanfrage von einer Kommunikationseinrichtung (die unten definiert ist) empfangen. Der Session Manager kann eine oder mehrere Charakteristika über die Kommunikationseinrichtung bestimmen und/oder eine Last auf einem oder mehreren anderen Session Managers in einem Cluster von Session Managers bestimmen. Auf der Basis sowohl der Kommunikationseinrichtungscharakteristika und/oder der Lasten auf den zwei oder mehr Session Managers kann der Session Manager mindestens eine Länge von Session Managers bestimmen, die einen primären Session Manager und einen sekundären Session Manager enthält, die die Benutzerdaten für die Kommunikationseinrichtung verwalten. Diese Information über die Menge von Session Managers kann dann an die Kommunikationseinrichtung und an die Session Managers in dem Cluster geschickt werden. Die Menge von Session Managers kann dann die Benutzerdaten für die Kommunikationseinrichtung verwalten.
  • Bei Ausführungsformen weist der Prozess drei Phasen auf: 1) anfänglichen Registrierungsausgleich; 2) Neuregistrierungsausgleich und 3) Deregistrierungsbenachrichtigung. Beim anfänglichen Registrierungsausgleich richtet der Administrator den Benutzer ein, ohne eine primäre/sekundäre Menge von Session Managers zu wählen, die die Benutzerdaten verwalten. Vielmehr wird die Redundanz implizit gehandhabt. Der kürzlich eingerichtete Benutzer wird über die Session Managers in einem Cluster bekannt. Allgemein weist ein Benutzer in seinem Telefon eine voreingestellte Proxy-Einstellung auf, um zu bestimmen, welcher voreingestellte Session Manager für die anfängliche Dienstanfrage kontaktiert werden soll. Der Telefonbenutzer loggt sich mit seinen Zeugnissen in das Telefon ein, und eine Nachricht Session Initiation Protocol (SIP) REGISTER wird an den voreingestellten Session-Manager-Server geschickt. Der Session Manager erhält die anfängliche Registrierungsanfrage und bestimmt die Redundanzmengen mindestens auf der Basis von zwei Hauptüberlegungen: 1) die Benutzercharakteristika (z. B. der physische Ort des Benutzers (auf der Basis der IP(Internet Protocol)-Ursprungsadresse), den eingerichteten Einstellungen des Benutzers usw.); und 2) die Charakteristika der Session Managers in dem Cluster (z. B. die aktuelle Last auf jedem der Session Managers in dem Cluster, die aktuellen Benutzerredundanzabbildungen, die von den Session Managers bereitgestellten Features usw.). Allgemein besteht das Ziel beim Bestimmen der Redundanzmengen darin, Benutzerredundanzabbildungen zu verteilen, während eine Menge von Session Managers gefunden wird, die für diesen Benutzer geografisch am besten geeignet ist.
  • Je nach den Charakteristika kann der voreingestellte Session Manager die Registrierung akzeptieren oder dem Benutzer anzeigen, welche Session-Manager-Redundanzmengen verwendet werden sollen (d. h. durch Zurücksenden der Informationen in dem SIP 301 an den Benutzer). Weiterhin können Informationen über die Redundanzmengen dieses bestimmten Benutzers über das Cluster von Session Managers hinweg bekannt gemacht werden. Sollte der Benutzer zu einem anderen Paar von Session Managers umgeleitet werden, kann sich der Benutzer somit bei den vorgeschlagenen Session Managers registrieren und infolge der jüngst rundgesendeten Redundanzinformationen für den Benutzer sofort akzeptiert werden.
  • Bei dem Neuregistrierungsausgleichsprozess können die Redundanzmengen für einen oder mehrere Benutzer geändert werden. Periodisch können registrierte Telefone zu den assoziierten primären und sekundären Session Managers des Telefons neu registriert werden, um den Dienst aufrechtzuerhalten. In der Regel wäre es während einer Neuregistrierung hinsichtlich Netzwerkressourcen teuer, die Redundanzabbildung eines Benutzers zu reevaluieren. Diese Kosten sind mindestens teilweise auf die für die Redundanzbestimmung erforderliche Verarbeitungszeit zurückzuführen. Der Algorithmus ist eine verteilte Berechnung, wobei alle Session Managers den gleichen Algorithmus verwenden und zu den gleichen Schlüssen kommen. Somit sollte das System bereits ohne Neubestimmung der Menge von Session Managers ausgeglichen sein. Wenn jedoch ein Ausfall eines Session Managers vorkommt, ist das System möglicherweise aufgrund der Lasten, die ungleichmäßig auf den funktionierenden Session Manager ausgeübt werden, nicht in der Lage, einen Benutzer zu bedienen. Bei dieser Ausfallsituation kann ein Neuausgleichen des Systems eine Systemüberlastung verhindern, indem Redundanzabbildungen unter den funktionierenden Session Managers neu zugewiesen werden. Weiterhin kann ein Session Manager zu dem Cluster hinzugefügt werden und kann in der Lage sein, die Lasten auf anderen Session Managers zu reduzieren. Somit kann eine Netzwerkkonfigurationskomponente aktiv werden, um die Benutzerdaten-Redundanzabbildungen neu auszugleichen, wenn ein Session Manager eine hohe Kapazität erreicht, oder aufgrund anderer auslösender Ereignisse. Das Neuausgleichen kann während der periodischen Neuregistrierungsphase des Benutzers erfolgen. Sollte ein weiterer Session Manager zu dem Cluster hinzugefügt werden, kann das Neuausgleichen auch während einer Benutzerneuregistrierungszeit erfolgen.
  • Beim Deregistrierungsprozess kann ein Benutzer oder eine Kommunikationseinrichtung deregistriert werden. Hier kann der primäre Session Manager eine Deregistrierungsanfrage erhalten. Der primäre Session Manager kann Wissen über den Benutzer innerhalb des Session-Manager-Clusters entfernen.
  • Die Ausführungsformen liefern mehrere Vorteile. Das System adaptiert die Redundanzmengen dynamisch an die Echtzeitumgebung, statt statisch durch einen Administrator definiert zu werden. Das Hinzufügen oder das Entfernen von Session Managers erfordert keine manuelle Neuausgleichsarbeit. Der Administrator braucht keine expliziten Informationen über Redundanzabbildungen für jeden Benutzer in dem System bereitzustellen. Weiterhin hilft das System, den Fall zu eliminieren, dass die Abbildung ungenau definiert ist (d.h., wenn eingerichtete Session-Manager-Orte nicht ordnungsgemäß wiedergeben, von wo der Benutzer einen Dienst erhalten sollte).
  • Der Ausdruck „Benutzerdaten“, wie er hierin verwendet wird, bezieht sich auf beliebige Daten oder eine beliebige Charakteristik, die mit einem Benutzer oder einem von einem Benutzer verwendeten Kommunikationsendpunkt assoziiert sind oder ist. Benutzerdaten können Daten über den Benutzer oder den Kommunikationsendpunkt oder Daten darüber beinhalten, wie der Benutzer oder der Kommunikationsendpunkt kommunizieren. Benutzerdaten können beispielsweise eine Telefonnummer, ein Login-Zeugnis, eine IP-Adresse, Schnellwahleinstellungen, Kontaktlisten (d. h. Listen von Leuten und Telefonnummern, die von dem Benutzer zum Anrufen anderer Parteien verwendet werden), einen physischen Ort usw. beinhalten.
  • Der Ausdruck „Kommunikationseinrichtung“ oder „Kommunikationsendpunkt“, wie er hierin verwendet wird, bezieht sich auf eine beliebige Hardware-Einrichtung und/oder Software, die dahingehend betrieben werden kann, an einer Kommunikationssitzung teilzunehmen. Beispielsweise kann eine Kommunikationseinrichtung ein IP-fähiges Telefon, ein Desktop-Telefon, ein Mobiltelefon, ein PDA, ein Soft-Client-Telefonprogramm, das auf einem Computersystem läuft, usw. sein.
  • Der Ausdruck „Session Manager“, wie er hierin verwendet wird, bezieht sich auf beliebige Hardware, Software oder eine Kombination aus Hardware und Software, die dahingehend betrieben werden kann, Kommunikationen für einen oder mehrere Kommunikationsendpunkte zu verwalten. Bei Ausführungsformen ist der Session Manager ein Computersystem, wie in Verbindung mit 7 und 8 beschrieben. Beispielsweise kann der Session Manager ein Server sein, der Telefonkommunikationen mit anderen Parteien für einen Benutzer verbindet.
  • Der Ausdruck „Cluster“, wie er hierin verwendet wird, bezieht sich auf eine beliebige Sammlung von zwei oder mehr Session Managers, die interagieren, um Kommunikationsdienste für zwei oder mehr Benutzer bereitzustellen. Das Cluster kann einen großen geografischen Bereich überspannen, wobei die Session Managers physisch verteilt sind.
  • Der Ausdruck „Menge von Session Managers“, wie er hierin verwendet wird, bezieht sich auf eine Menge von zwei oder mehr Session Managers, einschließlich mindestens einem primären Session Manager und einem sekundären Session Manager. Der Menge von Session Managers kann zugewiesen sein, Benutzerdaten, die mit einem Benutzer oder einer Kommunikationseinrichtung assoziiert sind, zu sammeln, zu speichern, abzurufen und zu verwalten.
  • Der Ausdruck „Paarbildungsregel“, wie er hierin verwendet wird, bezieht sich auf einen beliebigen Algorithmus, mit dem eine Menge von Session Managers bestimmt wird. Der Algorithmus kann erforderliche Eingaben, verschiedene mathematische oder logische Funktionen enthalten und eine oder mehrere Ausgaben, wie etwa von Menge von Session Managers, erzeugen.
  • Der Ausdruck „Paarbildungsfaktor“, wie er hierin verwendet wird, bezieht sich auf eine oder mehrere Charakteristika, die in einer Paarbildungsregel evaluiert werden, um eine Menge von Session Managers zu bestimmen. Der Paarbildungsfaktor kann auch weitere Algorithmen enthalten, die evaluiert werden, um Informationen an die Paarbildungsregel zu liefern. Somit liefert der Paarbildungsfaktor eine „verschachtelte“ oder hierarchische Bestimmung von Informationen zum Bestimmen einer Menge von Session Managers.
  • Der Ausdruck „Lastfaktor“, wie er hierin beschrieben wird, bezieht sich auf ein Maß der Last auf einem Session Manager. Die Last ist die Arbeitsmenge, die von dem Session Manager verrichtet wird. Die Last kann durch eine oder mehrere der Anzahl von Kommunikationen dargestellt werden, die von dem Session Manager gehandhabt werden, die Anzahl der Benutzer, die von dem Session Manager bedient werden, die Anzahl der Benutzer mit bei dem Session Manager gespeicherten Benutzerdaten usw. Der Lastfaktor kann ein quantitatives Maß für die Last liefern. Der Lastfaktor kann als eine Zahl oder als ein Vergleich mit einer Benchmark dargestellt werden, z. B. ist die Last über einer bestimmten Menge.
  • Der Ausdruck „hohe Kapazität“, wie er hierin verwendet wird, bezieht sich auf eine Darstellung des Lastfaktors, wobei die Last hoch ist oder einen kritischen Punkt erreicht, wo es zu einem Ausfall oder zu einem Denial of Service kommen kann. Eine hohe Kapazität kann ein Benchmark sein, wobei an diesem Punkt die Last über der Benchmark als hoch angesehen wird.
  • Der Ausdruck „Merkmal“, wie er hierin verwendet wird, bezieht sich auf eine Option oder eine Funktion, die einem Benutzer zum Kommunizieren über das Netzwerk geliefert wird. Ein Merkmal kann solche Dinge wie Anklopfen, Konferenzanruf, Rufweiterleitung, Kontaktlisten usw. beinhalten.
  • Der Ausdruck „Merkmalserver“, wie er hierin verwendet wird, bezieht sich auf Hardware und/oder Software, die dem Benutzer Merkmale liefert. Der Merkmalserver kann ein von dem Session Manager separates System sein oder mit dem Session Manager integriert sein. Falls separat, kann der Merkmalserver ein Computersystem sein, wie in Verbindung mit 7 und 8 beschrieben.
  • Der Ausdruck „Netzwerk“, wie er hierin verwendet wird, bezieht sich auf ein System, das von einem oder mehreren Benutzern zum Kommunizieren verwendet wird. Das Netzwerk kann aus einem oder mehreren Session Managers, Merkmalservern, Kommunikationsendpunkten usw. bestehen, die Kommunikationen, seien es Sprache oder Daten, zwischen zwei Benutzern gestatten. Bei einem Netzwerk kann es sich um ein beliebiges Netzwerk oder Kommunikationssystem handeln, wie in Verbindung mit 7 und 8 beschrieben. Allgemein kann ein Netzwerk ein Nahbereichsnetz (LAN – Local Area Network), ein Fernbereichsnetz (WAN – Wide Area Network), ein drahtloses LAN, ein drahtloses WAN, das Internet usw. sein, das Nachrichten oder Daten empfängt und zwischen Einrichtungen überträgt. Ein Netzwerk kann in einem beliebigen Format oder Protokoll kommunizieren, das in der Technik bekannt ist, wie etwa TCP/IP (Transmission Control Protocol/Internet Protocol), 802.11g, 802.11n, Bluetooth oder andere Formate oder Protokolle.
  • Der Ausdruck „Datenbank“, wie er hierin verwendet wird, bezieht sich auf ein beliebiges System, eine beliebige Software, Komponente, sei es Hardware oder Software, die Daten speichert. Die Datenbanken können von einem beliebigen Typ von Datenbanken sein, der in Verbindung mit 7 und 8 beschrieben ist und auf einem beliebigen Typ von dinghaftem computerlesbaren Medium gespeichert ist.
  • Die Ausdrücke „mindestens ein”, „ein oder mehrere“ und „und/oder“ sind offene Ausdrücke, die von der Operation her sowohl konjunktiv als auch disjunktiv sind. Beispielsweise bedeutet jeder der Ausdrücke „mindestens einer von A, B und C", "mindestens einer von A, B oder C", "einer oder mehrere von A, B und C", "einer oder mehrere von A, B oder C" und "A, B und/oder C" A alleine, B alleine, C alleine, A und B zusammen, A und C zusammen, B und C zusammen oder A, B und C zusammen.
  • Der Ausdruck „in Kommunikation mit“, wie er hierin verwendet wird, bezieht sich auf eine beliebige Kopplung, Verbindung oder Interaktion unter Einsatz elektrischer Signale zum Austauschen von Informationen oder Daten unter Verwendung eines beliebigen Systems, einer beliebigen Hardware, Software, eines beliebigen Protokolls oder Formats.
  • Der Ausdruck „ein” oder „eine“ Entität bezieht sich eine oder mehrere dieser Entität. Die Ausdrücke „ein” (oder „eine(r)“, „ein oder mehrere“ und „mindestens ein“ können hierin vertauschbar verwendet werden. Es wird auch angemerkt, dass die Ausdrücke „umfassend“, „beinhaltend“ und „mit“ vertauschbar verwendet werden können.
  • Der Ausdruck „automatisch” und Variationen davon, wie hier verwendet, bezieht sich auf einen beliebigen Prozess oder eine beliebige Operation, der oder die ohne wesentliche menschliche Eingabe erfolgt, wenn der Prozess oder die Operation ausgeführt wird. Ein Prozess oder eine Operation kann jedoch auch dann automatisch sein, wenn die Ausführung des Prozesses oder der Operation eine menschliche Eingabe verwendet, ob wesentlich oder nicht wesentlich, falls die Eingabe vor der Ausführung des Prozesses oder der Operation empfangen wird. Eine menschliche Eingabe wird als wesentlich angesehen, wenn eine derartige Eingabe beeinflusst, wie der Prozess oder die Operation ausgeführt wird. Eine menschliche Eingabe, die der Ausführung des Prozesses oder der Operation zustimmt, wird nicht als „wesentlich“ angesehen.
  • Der Ausdruck „computerlesbares Medium”, wie er hierin verwendet wird, bezieht sich auf jede dinghafte, nicht vorübergehende Speicherung, die Teil hat an der Lieferung von Anweisungen an einen Prozessor zur Ausführung. Ein derartiges Medium kann viele Formen annehmen, unter anderem nichtflüchtige Medien, flüchtige Medien und Übertragungsmedien. Zu nichtflüchtigen Medien zählen beispielsweise NVRAM oder magnetische oder optische Platten. Zu flüchtigen Medien zählen ein dynamischer Speicher, wie etwa einen Hauptspeicher. Zu gewöhnlichen Formen von computerlesbaren Medien zählen beispielsweise eine Diskette, eine flexible Platte, eine Festplatte, ein Magnetband oder ein beliebiges anderes magnetisches Medium, magnetooptisches Medium, eine CD-ROM, ein beliebiges anderes optisches Medium, Lochkarten, Papierband, ein beliebiges anderes physisches Medium mit Lochmustern, ein RAM, ein PROM und EPROM, ein FLASH-EPROM, ein Festkörpermedium wie eine Speicherkarte, ein beliebiger anderer Speicherchip oder eine beliebige andere Speicherpatrone, oder ein beliebiges anderes Medium, aus dem ein Computer lesen kann. Wenn das computerlesbare Medium als eine Datenbank konfiguriert ist, ist zu verstehen, dass es sich bei der Datenbank um eine beliebige Art von Datenbank handeln kann, wie etwa eine relationale, hierarchische, objektorientierte und/oder dergleichen. Dementsprechend werden Ausführungsformen so angesehen, dass sie ein dinghaftes, nicht vorübergehendes Speicherungsmedium und im Stand der Technik anerkannte Äquivalente und Nachfolgermedien beinhalten, in denen die Softwareimplementierungen der vorliegenden Erfindung gespeichert sind.
  • Die Ausdrücke „bestimmen”, „kalkulieren” und „berechnen“ und Variationen davon, wie sie hierin verwendet werden, werden vertauschbar verwendet und beinhalten eine beliebige Art von Methodik, Prozess, mathematischer Operation oder Technik.
  • Der Ausdruck „Modul”, wie er hierin verwendet wird, bezieht sich auf eine beliebige bekannte oder später entwickelte Hardware, Software, Firmware, Künstliche Intelligenz, Fuzzy-Logik oder Kombination aus Hardware und Software, die in der Lage ist, die mit diesem Element assoziierte Funktionalität auszuführen. Wenngleich die Ausführungsformen in Form von Ausführungsbeispielen beschrieben sind, können auch individuelle Aspekte der Ausführungsformen getrennt beansprucht werden.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Die vorliegende Offenbarung wird in Verbindung mit den beigefügten Figuren beschrieben:
  • 1 ist ein Blockdiagramm einer Ausführungsform eines Systems für das automatische Bestimmen von Benutzerdatenredundanz;
  • 2 ist ein Blockdiagramm einer Ausführungsform eines Computersystems, das dahingehend betätigt werden kann, Redundanz auf der Basis von einem oder mehreren Faktoren zu bestimmen;
  • 3A3C sind Ausführungsformen von Datenstrukturen, die dahingehend betätigt werden können, das Bestimmen von Benutzerdatenredundanz zu unterstützen;
  • 4 ist ein Flussdiagramm einer Ausführungsform eines Prozesses zum automatischen Bestimmen einer Benutzerdatenredundanz;
  • 5 ist ein weiteres Flussdiagramm einer Ausführungsform eines Prozesses zum Neuausgleichen einer Benutzerdatenredundanz als Reaktion auf eine Netzwerkkonfigurationsänderung;
  • 6 ist ein weiteres Flussdiagramm einer Ausführungsform eines Prozessen zum Deregistrieren eines Benutzers;
  • 7 ist ein Blockdiagramm einer Ausführungsform einer Rechenumgebung, die dahingehend betätigt werden kann, die hierin beschriebenen Ausführungsformen auszuführen;
  • 8 ist ein Blockdiagramm einer Ausführungsform einer Computer- oder Rechensystemumgebung, die dahingehend betätigt werden kann, als die eine oder mehreren hierin beschriebenen Einrichtungen zu arbeiten.
  • In den beigefügten Figuren können ähnliche Komponenten und/oder Merkmale die gleiche Referenzbezeichnung besitzen. Weiterhin können verschiedene Komponenten vom gleichen Typ dadurch unterschieden werden, dass auf die Referenzbezeichnung ein Buchstabe folgt, der zwischen den ähnlichen Komponenten unterscheidet. Falls in der Patentschrift nur die erste Referenzbezeichnung verwendet wird, kann die Beschreibung auf eine beliebige der ähnlichen Komponenten mit der gleichen ersten Referenzbezeichnung angewendet werden, ungeachtet der zweiten Referenzbezeichnung.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Die folgende Beschreibung stellt nur Ausführungsformen bereit und soll den Schutzbereich, die Anwendbarkeit oder Konfiguration der Ansprüche nicht beschränken. Vielmehr liefert die folgende Beschreibung dem Fachmann eine ermöglichende Beschreibung zum Implementieren der Ausführungsformen. Es versteht sich, dass sich hinsichtlich Funktion und Anordnung von Elementen verschiedene Änderungen vornehmen lassen, ohne von dem Gedanken und Schutzbereich der beigefügten Ansprüche abzuweichen.
  • Eine Ausführungsform eines Systems 100 zum automatischen Bestimmen von Benutzerdatenredundanz ist in 1 gezeigt. Das System 100 kann mindestens einen Kommunikationsendpunkt enthalten, beispielsweise Kommunikationsendpunkt 1 102a, Kommunikationsendpunkt 2 102b und/oder Kommunikationsendpunkt 3 102c. Es versteht sich, dass es mehr oder weniger Kommunikationsendpunkte 102 als die in 1 gezeigten geben kann, wie durch die Auslassungszeichen 116 dargestellt. Die Kommunikationsendpunkte 102 stehen mit einem Cluster 104 von Session Managers 106 in Kommunikation.
  • Ein Cluster 104 enthält zwei oder mehr Session Managers 106, die kommunizieren oder interagieren, um Kommunikationsdienste für die Kommunikationsendpunkte 102 bereitzustellen. Das Cluster 104 kann einen primären Session Manager 106a, einen voreingestellten Session Manager 106b, einen sekundären Session Manager 106c und/oder andere Session Managers 106d enthalten. Bei Ausführungsformen kann der voreingestellte Session Manager 106b der primäre Session Manager 106a werden. Das Cluster 104 kann mehr oder weniger Session Managers als jene in 1 gezeigten aufweisen, wie durch Auslassungszeichen 108 dargestellt.
  • Das System 100 kann auch ein Systemmanagersystem oder Computer 112 enthalten, das oder der dahingehend betätigt werden kann, mit den Session Managers 106 und/oder den Kommunikationsendpunkten 102 zu interagieren, um das Cluster 104 zum Bereitstellen eines Dienstes für die Kommunikationsendpunkte 102 zu konfigurieren. Der Systemmanager 112 kann auch mit einer Administrator-Workstation oder einem Computer 114 interagieren, die oder der es einer menschlichen Person, wie einem Netzwerkadministrator, gestattet, das Cluster 104 oder andere Komponenten des Systems 100 unter Verwendung des Systemmanagers 112 zu konfigurieren.
  • Bei Ausführungsformen können die Kommunikationsendpunkte 102 dahingehend betätigt werden, durch ein Netzwerk 110a zu kommunizieren. Weiterhin können die Session Managers 106 durch ein zweites oder anderes Netzwerk 110b kommunizieren. Die Kommunikationsendpunkte 102 können dahingehend betätigt werden, Registrierungsanfragen an das Cluster 104 zu kommunizieren oder zu senden. Einer oder mehrere der Session Managers 106 innerhalb des Clusters 104 können die Registrierungsanfrage empfangen. Die Registrierungsanfrage ist eine Anfrage von einem Kommunikationsendpunkt 102, Teil des Systems 100 zu werden und dass der Session Manager 106 mit dem Kommunikationsendpunkt 102 assoziierte Benutzerdaten speichert. Jeder Kommunikationsendpunkt 102 kann mit zwei oder mehr Benutzern assoziiert sein, wobei jeder Benutzer eine Menge von Benutzerdaten aufweist. Die Benutzerdaten werden von dem System 100 zum Herstellen und Verwaltungen von Kommunikationen zwischen Kommunikationsendpunkten 102 verwendet. Jeder Session Manager 106 kann mit mindestens einem Kommunikationsendpunkt 102 in Kommunikation stehen. Eine Ausführungsform eines Session Managers ist in 2 gezeigt.
  • Ausführungsformen von mindestens zwei Session Managers 106a und 106c, die in dem Cluster 104 enthalten sein können, sind als Teil des in 2 gezeigten Systems 200 gezeigt. Ein primärer Session Manager 106a und ein sekundärer Session Manager 106c können miteinander in Kommunikation stehen. Ein Session Manager 106 kann ein Computersystem sein, das einen Prozessor und Speicher enthält, wie in Verbindung mit 7 und 8 beschrieben. Jede Komponente in dem Session Manager 106 kann ein Softwaremodul sein, das von dem Prozessor ausgeführt wird, doch können bei anderen Ausführungsformen die Komponenten Hardwarekomponenten sein, die in einer ASIC (application specific integrated circuit – applikationsspezifische integrierte Schaltung), einem FPGA (field programmable gate array) oder einer anderen Art von Hardwarekomponente verkörpert sind. Im Folgenden werden die Komponenten innerhalb des Session Managers 106 so beschrieben, dass es Software-ausführbare Module sind, doch sollen die Ausführungsformen nicht auf solche Softwarekomponenten beschränkt sein. Der Session Manager 106 kann eine Registratorkomponente 202, eine Redundanzbestimmungsengine 204 und einen Datendistributor 206 enthalten.
  • Der Registrator 202 kann die Registrierungsanfrage 212 von einem oder mehreren Kommunikationsendpunkten 102 erhalten. Die Registrierungsanfrage 212 stellt einen neuen Kommunikationsendpunkt 102 her und registriert einen beliebigen von einem oder mehreren Benutzern, die den Kommunikationsendpunkt 102 verwenden können. Bei Ausführungsformen erhält der Registrator 202 SIP-Nachrichten (Session Initiation Protocol). Beispielsweise kann die Registrierungsanfrage 212 eine SIP-Registrierungsanfrage sein. Der Registrator 202 kann ebenfalls dahingehend betätigt werden, Informationen zurück an den einen oder die mehreren Kommunikationsendpunkte 102 zu liefern. Beispielsweise kann der Registrator 202 die Session-Manager-Informationen an den Kommunikationsendpunkt 102 liefern, damit sich der Kommunikationsendpunkt 102 permanent bei dem Cluster 104 registrieren kann. Der Registrator 202 kann auch mit der Redundanzbestimmungsengine 204 oder dem Datendistributor 206 kommunizieren, um während des Registrierungsprozesses oder während anderer Prozesse, die am Herstellen von Kommunikationen zwischen Kommunikationsendpunkten 102 beteiligt sind, Informationen auszutauschen.
  • Eine Redundanzbestimmungsengine 204 kann die Redundanzmengen von Session Managers 106 für einen Kommunikationsendpunkt 102 bestimmen. Die Redundanzbestimmungsengine 204 kann mit der Regelmengendatenbank 208 und/oder einer Session-Manager-Daten-Datenbank 210 kommunizieren. Die Redundanzbestimmungsengine 204 kann dahingehend betätigt werden, eine Paarbildungsregel aus der Regelmengendatenbank 208 abzurufen, die mit der von dem Registrator 202 erhaltenen Registrierungsanfrage 212 assoziiert ist. Eine Paarbildungsregel kann eine Benutzer-konfigurierbare Regel sein, die festlegt, welche Faktoren berücksichtigt werden, wenn bestimmt wird, welche zwei oder mehr Session Managers in dem Cluster 104 die Benutzerdaten speichern sollten. Die Paarbildungsregel kann einen oder mehrere Paarbildungsfaktoren enthalten, die die Informationen, Faktoren und/oder Charakteristika identifizieren und festlegen, die beim Bestimmen der Menge von Session Managers berücksichtigt werden. Weiterhin kann die Paarbildungsregel einen Algorithmus enthalten, der identifiziert, wie jeder Paarbildungsfaktor gewichtet wird und/oder wie die Eignung jedes Session Manager 106 berechnet oder benotet wird, und zwar auf der Basis der erzielten Paarbildungsfaktoren. Der erste und zweite geeignetste Session Manager 106 können der primäre Session Manager 106 beziehungsweise der sekundäre Session Manager 106b werden. Einige Paarbildungsfaktoren können den Ort des Kommunikationsendpunkts 102 beinhalten, den Ort von einem oder mehreren Session Managers 106 in dem Cluster 104, die relative Nähe des Session Manager 106 an dem Kommunikationsendpunkt 102 auf der Basis der bestimmten Orte, einen Lastfaktor für einen Session Manager, eine Menge von Merkmalen, die von einem mit dem Session Manager 106 assoziierten Merkmalserver 218 bereitgestellt werden können, den Ort des Merkmalserver 218 oder anderen Faktoren.
  • Der Lastfaktor kann die Anzahl von Benutzern sein, die gegenwärtig den Session Manager 106 als primären Session Manager 106a oder sekundären Session Manager 106b verwenden. Bei anderen Ausführungsformen kann der Lastfaktor eine gewisse Art von Bestimmung von Kommunikationen sein, die pro Zeitperiode gehandhabt oder verwaltet werden. Es gibt mehrere bekannte Verfahren zum Bestimmen der Last auf einem Server, die von den vorliegenden Ausführungsformen verwendet oder in Betracht gezogen werden können.
  • Die Informationen über die Session Managers 106 in dem Cluster 104 können in der Session-Manager-Daten-Datenbank 210 gespeichert werden. Ein Beispiel für in der Session-Manager-Daten-Datenbank 210 gespeicherte Informationen ist in 3b gezeigt. Jeder Session Manager 106 kann Daten für die anderen Session Managers 106 in dem Cluster 104 innerhalb der Session-Manager-Daten-Datenbank 210 speichern. Beim Bestimmen der Menge von Session Managers kann die Redundanzbestimmungsengine 204 somit dahingehend betätigt werden, Informationen über zwei oder mehr Session Managers 106 in dem Cluster 104 aus der Session-Manager-Daten-Datenbank 210 abzurufen.
  • Auf der Basis der Paarbildungsregel kann die Redundanzbestimmungsengine 204 einen Punktwert für jeden mit der Paarbildungsregel assoziierten Paarbildungsfaktor extrahieren und bestimmen. Der Algorithmus in der Paarbildungsregel kann auf die Paarbildungsfaktoren angewendet werden, um einen Eignungspunktwert für jeden Session Manager 106 zu bestimmen. Auf der Basis der Anwendung der Paarbildungsregel auf die Paarbildungsfaktoren kann die Redundanzbestimmungsengine 204 die Menge von Session Managers bestimmen, die für jeden Kommunikationsendpunkt 102 geeignet sind. Diese Menge von Session Managers kann von der Redundanzbestimmungsengine 204 an den Registrator 202 und/oder den Datendistributor 206 geliefert werden. Als solches kann der Registrator 202 die Menge von Session Managers von der Redundanzbestimmungsengine 204 erhalten, um sie an den Kommunikationsendpunkt 102 zu liefern.
  • Der Datendistributor 206 ist eine Komponente, die mit einem oder mehreren anderen Session Managers 106 in dem Cluster 104 in Kommunikation steht. Der Datendistributor 206 kann Informationen zwischen Session Managers 106 liefern. Beispielsweise kann der Datendistributor 206 die Session-Manager-Daten erhalten, die in der Session-Manager-Daten-Datenbank 210 gespeichert sind. Weiterhin kann der Datendistributor 206 die Informationen über die Menge von Session Managers für registrierte Benutzer zwischen dem primären Session Manager 106a und dem sekundären Session Manager 106c liefern. Weiterhin kann der Datendistributor 206 die Informationen über die Menge von Session Managers an alle Session Managers 106 oder mindestens einen anderen Session Manager in dem Cluster 104 rundsenden.
  • Die Session-Manager-Zuweisungen für jeden Benutzer können in einer Zuweisungsdatenbank 214 gespeichert werden. Jeder Session Manager 106 kann eine Zuweisungsdatenbank 214 zum Speichern von Informationen über alle Kommunikationsendpunkte 102 enthalten. Weiterhin kann der Datendistributor 206 auch Laufzeitbenutzerdaten speichern oder lesen, die in einer Laufzeitbenutzerdatenbank 216 vorgesehen sein können. Die Laufzeitbenutzerdatenbank 216 kann innerhalb des Speichers gespeichert sein und kann andere Arten von gespeicherten Systemen oder Speicherstrukturen, die zum Speichern von Laufzeitdaten verwendet werden, enthalten. Die in der Laufzeitbenutzerdaten-Datenbank 216 gespeicherten Laufzeitbenutzerdaten enthalten die Informationen über den den Kommunikationsendpunkt 102 verwendenden Benutzer und etwaige Daten, die erforderlich sind, um eine Kommunikation zwischen zwei oder mehr Kommunikationsendpunkten 102 zu bewirken. Der Datendistributor 206 kann diese Laufzeitbenutzerdaten zwischen Session Managers 106 kommunizieren.
  • Bei Ausführungsformen kann ein Session Manager 106 einen oder mehrere Merkmalserver 218 aufweisen, die mit dem Session Manager 106 assoziiert sind. Der Merkmalserver 218 kann dahingehend betätigt werden, Merkmale an die Kommunikationsendpunkte 102 zu liefern. Ein Merkmal kann eine beliebige Art von konfigurierbarer oder Standardbetriebsfunktion sein, die ein Kommunikationsendpunkt 102 während einer Kommunikation verwenden kann. Ein Merkmal kann beispielsweise Anklopfen, Drei-Wege-Anruf, Rufweiterleitung, Kontaktlisten, Schnellwahlzuweisungen oder andere Informationen enthalten, die entweder mit einem Benutzer oder einem Kommunikationsendpunkt 102 assoziiert sein können. Diese mit den Benutzerkommunikationsendpunkten 102 assoziierten Merkmale können in einer Merkmalsmengendatenbank 220 gespeichert werden, und der Merkmalserver 218 kann darauf zugreifen. Mit den Informationen über den Merkmalserver 218 und die Merkmalsmengendatenbank 220 kann die Redundanzbestimmungsengine 204 bestimmen, ob ein Session Manager 106 für einen Kommunikationsendpunkt 102 geeignet ist. Falls beispielsweise ein Benutzer ein bestimmtes Merkmal wünscht, wird die Redundanzbestimmungsengine 204 versuchen, einen Session Manager 106, der einen assoziierten Merkmalserver 218 aufweist, der dieses Merkmal bereitstellen kann, zu paaren.
  • Eine Menge von Datenstrukturen 300, die in einer oder mehreren, hierin beschriebenen Datenbanken gespeichert werden können, ist in 3A, 3B und 3C gezeigt. Jede Datenstruktur kann eine oder mehrere Sektionen aufweisen, die ein Datenelement speichern. Eine Sektion kann je nach der Art von Datenbank ein Attribut eines Objekts, ein Datenfeld oder andere Arten von Datenspeicherungssektionen enthalten, die in einer oder mehreren Arten von Datenbanken enthalten sind. Jede Datenstruktur kann in einer Art von Datenbank gespeichert werden, die relationale Datenbanken, Flat-File-Datenbanken, objektorientierte Datenbanken oder andere Arten von Datenbanken enthalten kann. Weiterhin können die Datenstrukturen 300 auch in einem Speicher oder in Speicherstrukturen gespeichert werden, die entweder in Laufzeit oder beim Initialisieren einer Kommunikation verwendet werden können. Jede Datenstruktur wird nacheinander erläutert. Die Daten innerhalb jeder Datensektion werden beschrieben.
  • Eine Session-Manager-Mengenzuweisungsdatenstruktur 302 ist in 3A gezeigt. Die Session-Manager-Mengenzuweisungsdatenstruktur 302 kann eine einzelne Session-Manager-Mengenzuweisung für einen einzelnen Kommunikationsendpunkt 102 oder Benutzer speichern. Eine oder mehrere Session-Manager-Mengenzuweisungsdatenstrukturen 302 können in der Zuweisungsdatenbank 214 gespeichert sein. Die Session-Manager-Mengenzuweisungsdatenstruktur 302 kann eine Benutzerkennungsdatensektion, eine Kennungssektion für einen primären Session Manager, eine Kennungssektion für einen sekundären Session Manager oder eine oder mehrere andere Sektionen, wie durch Auslassungszeichen 310 dargestellt, enthalten. Eine oder mehrere Benutzerkennungen 304 können einen Benutzer-Login-Namen, eine GUID (globally unique identifier – global eindeutige Kennung), eine Kommunikationsendpunkt-Telefonnummer, eine Kommunikationsendpunkt-IP-Adresse oder andere Informationen entweder über einen Benutzer eines Kommunikationsendpunkts 102 oder einen Kommunikationsendpunkt 102 enthalten. Das Benutzerkennungsfeld kann zwei oder mehr Benutzerkennungen speichern.
  • Eine Kennung 306/308 für einen primären/sekundären Session Manager kann eine IP-Adresse, eine GUID oder eine andere Kennung für den Session Manager 106 sein. Die Kennung 306 für den primären Session Manager kann den primären Session Manager 106a der Menge von Session Managers identifizieren, während die Kennung 308 für den sekundären Session Manager den sekundären Session Manager 106c in der Menge von Session Managers identifizieren kann. Die Session-Manager-Mengenzuweisungsdatenstruktur 302 assoziiert den Benutzer und/oder den Kommunikationsendpunkt 102 mit der Menge von Session Managers, die den primären Session Manager 106a und den sekundären Session Manager 106c enthält. Die Session-Manager-Mengenzuweisungsdatenstruktur 302 kann gespeichert, zwischen Session Managers 106, von dem Datendistributor 206 kommuniziert und in der Zuweisungsdatenbank 214 gespeichert werden.
  • Eine Session-Manager-Informationsdatenstruktur 312 ist in 3B gezeigt. Die Session-Manager-Informationsdatenstruktur 312 kann Sektionen zum Speichern einer Session-Manager-Kennung 314, eines Orts 316, einer oder mehrerer IP-Adressen 318, einer zugewiesenen Anzahl von Benutzern und/oder eines Lastfaktors 320 und/oder einer Merkmalserverkennung 322 enthalten. Die Session-Manager-Informationsdatenstruktur 312 kann mehr oder weniger Datensektionen als jene in 3B gezeigten enthalten, wie durch die Auslassungszeichen 324 dargestellt. Eine Session-Manager-Kennung 314 kann eine GUID oder ein anderer anerkannter Name für den Session Manager 106 sein. Die Session-Manager-Kennung 314 kann den Session Manager 106 eindeutig unter allen Session Managers 106 innerhalb des Clusters 104 identifizieren.
  • Ein Ort 316 kann einen physischen Ort für den Session Manager 106 beinhalten. Beispielsweise kann der Ort 316 eine Postleitzahl, eine Stadt und ein Staat, eine Länge/Breite oder irgendwelche anderen physischen Ortsdaten sein. Diese Ortsdaten 316 können mit Ortsinformationen für einen Kommunikationsendpunkt 102 oder einen einen Kommunikationsendpunkt 102 verwendenden Benutzer verglichen werden, um die Nähe des Session Manager 106 zu dem Kommunikationsendpunkt 102 zu bestimmen. Bei alternativen Ausführungsformen kann der Ort 316 auch einen Ort innerhalb eines Computernetzwerks für den Session Manager 106 beinhalten. Somit kann der Ort 316 einen Ort innerhalb einer Baumstruktur oder einer anderen Art von Netzwerkdiagramm, das identifiziert, wo sich der Session Manager 106 in einem Netzwerk befindet, identifizieren, der mit der Position eines Kommunikationsendpunkts 102 in dem Netzwerk verglichen werden kann.
  • Eine IP-Adresse 318 kann die IP-Adresse für den Session Manager 106 sein. Das IP-Adressfeld kann zwei oder mehr Adressen 318 enthalten. Bei Ausführungsformen sind die Session-Manager-Kennung 314 und die IP-Adresse 318 das Gleiche.
  • Die Anzahl der zugewiesenen Benutzer 320 kann eine Anzeige für die Last auf dem Session Manager 106 sein. Die Anzahl der zugewiesenen Benutzer 320 kann alle Benutzer beinhalten, für die der Session Manager 106 Benutzerdaten und/oder alle Benutzer speichert, die gegenwärtig mit dem Session Manager 106 interagieren, ihn verwenden oder mit ihm kommunizieren, um zwischen den Kommunikationsendpunkten 106 eine Kommunikation zu bewirken. Anstatt die Anzahl der zugewiesenen Benutzer zu zeigen, kann in diesem Feld ein Lastfaktor 320 vorgesehen sein. Bei einem Lastfaktor kann es sich um eine bestimmte berechnete Last auf dem Session Manager 106 handeln. Der Lastfaktor kann eine Berechnung der Anzahl von Kommunikationen oder Benutzern sein, die den Session Manager 106 verwenden, im Vergleich zu einem Schwellwert oder irgendeiner anderen Art von Berechnung.
  • Die Merkmalserverkennung 322 kann die IP-Adresse oder eine andere Kennung für den Merkmalserver oder die Merkmalserver 218 enthalten, die mit dem Session Manager 106 assoziiert sein können. Der Merkmalserver 218 kann Merkmale für Benutzer oder Kommunikationsendpunkte 102 bereitstellen, die mit dem Session Manager 106 interagieren. Die Merkmalserverkennung 322 kann auch einen Zeiger zu einer Merkmalserver-Datenstruktur 326 enthalten, die Informationen über den Merkmalserver 218 enthält.
  • Die Merkmalserver-Datenstruktur 326 kann Felder zum Speichern einer Merkmalserverkennung 328, einer Session-Manager-Liste 330 und/oder einem oder mehreren Attributen 332 enthalten. Die Merkmalserver-Datenstruktur 326 kann mehr oder weniger Felder als jene in 3C gezeigten enthalten, wie durch Auslassungszeichen 334 dargestellt. Eine Merkmalserverkennung 328 kann eine GUID, eine IP-Adresse oder eine andere Kennung für den Merkmalserver 218 sein. Die Merkmalserverkennung 328 kann mit einem oder mehreren Session Managers 106 assoziiert sein. Somit kann die Merkmalserver-Datenstruktur 326 einen oder mehrere Session-Manager-Kennungen 314, wie in der Session-Manager-Informationsdatenstruktur 312 gezeigt, in einer Session-Manager-Liste 330 enthalten. Die Session-Manager-Liste 330 kann den einen oder die mehreren Session-Manager-Kennungen 314 für den einen oder die mehreren Session Managers enthalten, die mit dem Merkmalserver 218 assoziiert sind.
  • Die Merkmalserver-Datenstruktur 326 kann auch ein oder mehrere Attribute 332 enthalten. Ein Attribut kann ein Merkmal oder eine Merkmalsmenge sein, die der Merkmalserver 218 bereitstellen kann. Beispielsweise können die Merkmalservermengen innerhalb der Merkmalservermengen-Datenbank 220 in den Attributen 332 enthalten sein. Beispielsweise können die Attribute 332 enthalten, ob der Merkmalserver 218 einen Konferenzanruf, einen Drei-Wege-Anruf, Rufweiterleitung, Anklopfen, Kontaktlisten, Schnellwahlassoziationen oder andere Informationen über die Kommunikationsendpunkte 102 oder die Benutzermerkmale liefern kann.
  • Eine Ausführungsform für das Verfahren 400 zum automatischen Bestimmen einer Benutzerdatenredundanz ist in 4 gezeigt. Allgemein beginnt das Verfahren 400 mit einer Startoperation 402 und endet mit einer Endoperation 418. Wenngleich eine allgemeine Reihenfolge für die Schritte des Verfahrens 400 in 4 gezeigt ist, kann das Verfahren 400 mehr oder weniger Schritte enthalten oder die Reihenfolge der Schritte anders als jene in 4 gezeigten anordnen. Das Verfahren 400 kann als eine Menge von computerausführbaren Anweisungen ausgeführt werden, die von einem Computersystem ausgeführt und auf einem computerlesbaren Medium kodiert oder gespeichert sind. Im Folgenden wird das Verfahren 400 unter Bezugnahme auf die Systeme, Komponenten, Module, Datenstrukturen, Benutzerschnittstellen usw. erläutert, die in Verbindung mit 13C beschrieben sind.
  • In Schritt 404 wird ein Benutzer eingerichtet. Um einen Benutzer einzurichten, interagiert ein Administrator 114 mit einem Systemmanager 112, um ein Anfangsprofil für einen Benutzer innerhalb des Kommunikationssystems 100 zu erzeugen. Das Einrichten des Benutzers kann ein Profil anlegen und einen oder mehrere Kommunikationsendpunkte 102 mit dem Benutzer assoziieren. Das Einrichten des Benutzers kann auch das Anlegen eines Benutzer-Login und Passworts und das Assoziieren der Benutzerzeugnisse mit einer Kommunikationsendpunktkennung, beispielsweise einer Kommunikationsendpunkt-Telefonnummer, IP-Adresse usw., beinhalten. Diese Einrichtungsinformationen können an dem Kommunikationsendpunkt 102 gespeichert werden, bis sich der Kommunikationsendpunkt 102 bei dem Session Manager 106 registriert.
  • Ein voreingestellter Session Manager 106b empfängt in Schritt 406 eine Registrierungsanfrage 212 von einem Kommunikationsendpunkt 102. Die Benutzeranfrage kann eine SIP-Registrierungsanfrage sein und die Logon-Zeugnisse enthalten, die während des Einrichtens des Benutzers erzeugt wurden. Weiterhin kann die Anfrage auch ein oder mehrere Informationselemente über den Kommunikationsendpunkt 102 enthalten, beispielsweise die Kommunikationsendpunktkennung, die IP-Adresse, den physischen Ort und/oder andere, mit dem Kommunikationsendpunkt 102 assoziierte Informationen. Bei Ausführungsformen ist der Kommunikationsendpunkt 102 ein IP-fähiges Telefon, das unter Verwendung von SIP mit dem Session Manager 106 kommuniziert. Ein Registrator 202 kann die Registrierungsanfrage 212 für den voreingestellten Session Manager 106b empfangen.
  • Der Registrator 202 kann die Registrierungsanfrage an eine Redundanzbestimmungsengine 204 schicken. Die Redundanzbestimmungsengine 204 kann in Schritt 408 eine Paarbildungsregel bestimmen durch Zugreifen auf eine Regelmengendatenbank 208 und Abrufen einer Paarbildungsregel aus der Regelmengendatenbank 208. In der Regelmengendatenbank 208 können ein oder mehrere Paarbildungsregeln gespeichert sein. Die Redundanzbestimmungsengine 204 kann die entsprechende Regel nach dem Typ von Registrierungsanfrage 212 oder durch in der Registrierungsanfrage 212 enthaltene Informationen bestimmen. Beispielsweise kann der Typ von Kommunikationsendpunkt 102 den Typ von Paarbildungsregel bestimmen, die zum Bestimmen der Benutzerdatenredundanz verwendet wird. Die Redundanzbestimmungsengine 204 kann dann in Schritt 410 Informationen in der Paarbildungsregel lesen, um einen oder mehrere Paarbildungsfaktoren zu bestimmen. Ein Paarbildungsfaktor kann eine Berücksichtigung der Redundanzbestimmungsengine 204 beim Bestimmen der Menge von Session Managers sein.
  • Zum Bestimmen der Paarbildungsfaktoren kann die Redundanzbestimmungsengine 204 auf ein oder mehrere Informationselemente zugreifen, die entweder in der Session-Manager-Daten-Datenbank 210 oder in einer oder mehreren anderen Datenquellen gespeichert sind. Beispielsweise kann die Redundanzbestimmungsengine 204 des voreingestellten Session Manager 106b den Ort des Kommunikationsendpunkts 102 anhand der Registrierungsanfrage 212 oder anhand anderer, in einer Datenbank gespeicherter Informationen bestimmen. Weiterhin kann die Redundanzbestimmungsengine 204 den Lastfaktor oder die Anzahl der einem Session Manager 106 zugewiesenen Benutzer aus den Session-Manager-Daten in der Session-Manager-Daten-Datenbank 210 bestimmen. Von der Redundanzbestimmungsengine 204 können auch andere Informationen gesammelt werden. Die Redundanzbestimmungsengine 204 kann dann jeden Paarbildungsfaktor gemäß einem oder mehreren, in der Paarbildungsregel bereitgestellten Algorithmen benoten oder gewichten.
  • Die Redundanzbestimmungsengine 204 des voreingestellten Session Manager 106b kann dann in Schritt 412 die Menge von Session Managers bestimmen. Die Redundanzbestimmungsengine 204 kann einen in der Paarbildungsregel vorgesehenen Algorithmus auf den einen oder die mehreren gewichteten oder benoteten Paarbildungsfaktoren anwenden. Auf der Basis von Informationen, wie etwa dem Ort des Kommunikationsendpunkts 102 oder des oder der Lastfaktoren des oder Session Manager, kann die Redundanzbestimmungsengine 204 die geeignetsten Session Managers 106 zum Speichern der Benutzerdaten für den Kommunikationsendpunkt 102 bestimmen. Der geeignetste Session Manager 106 kann als der primäre Session Manager 106a bezeichnet werden, und als der am zweitbesten geeignete Session Manager 106 kann der sekundäre Session Manager 106c bezeichnet werden. Die Paarbildungsregel kann vom Benutzer konfiguriert werden, so dass die Bestimmung der Menge von Session Managers so konfiguriert werden kann, dass sie andere Informationen enthält oder die Eignung auf eine Weise bewertet, die modifiziert ist und auf die Bedürfnisse der das Kommunikationsnetzwerk 100 verwaltenden Organisation konzentriert wird.
  • Die Redundanzbestimmungsengine 204 kann die Menge von Session Managers an den Registrator 202 liefern. Der Registrator 202 kann dann die Session-Manager-Mengenzuweisungsdatenstruktur 302 anlegen, die die Benutzerkennung 304, die Kennung 306 des primären Session Manager und die Kennung 308 des sekundären Session Manager enthält. Diese Session-Manager-Mengenzuweisungsdatenstruktur 302 kann von dem Registrator 202 an den Datendistributor 206 kommuniziert werden. Der Datendistributor 206 kann dann die Session-Manager-Mengenzuweisungsdatenstruktur 302 in der Zuweisungsdatenbank 214 speichern.
  • Der Registrator 202 kann auch in Schritt 414 die Session-Manager-Mengeninformationen an den Kommunikationsendpunkt 102 liefern. Der Registrator 202 kann eine SIP-301-Nachricht als Reaktion auf die SIP-Registrierungsanfrage 212 senden. Die SIP-301-Nachricht kann die Session-Manager-Mengeninformationen enthalten. Beispielsweise kann die SIP-301-Nachricht die Session-Manager-Mengenzuweisungsdatenstruktur 302 enthalten, die den Benutzer und/oder Kommunikationsendpunkt 102 mit der Menge von Session Managers assoziiert.
  • Beim Empfangen der SIP-301-Nachricht kann der Kommunikationsendpunkt 102 bestimmen, ob er sich bei dem primären Session Manager 106a registrieren soll. Bei Ausführungsformen kann der voreingestellte Session Manager 106b als der beste Session Manager bestimmt werden und kann die Registrierungsanfrage annehmen und die Akzeptanz an den Kommunikationsendpunkt 102 in der SIP-301-Nachricht senden. Somit wird der voreingestellte Session Manager 106b der primäre Session Manager 106a. Bei anderen Ausführungsformen kann ein anderer Session Manager 106d als der geeignetste Session Manager bestimmt werden, um der primäre Session Manager 106a zu sein. Somit sendet der Kommunikationsendpunkt 102 bei Empfang der SIP-301-Nachricht eine zweite Registrierungsanfrage an den primären Session Manager 106a. Weiterhin kann auch der Kommunikationsendpunkt 102 eine andere Registrierungsanfrage an den sekundären Session Manager 106c senden.
  • Der Datendistributor 206 kann die Session-Manager-Mengeninformationen in Schritt 416 an einen oder andere Session Manager 106 rundsenden. Somit kann der Datendistributor 206a des voreingestellten Session Manager 106b die Session-Manager-Mengenzuweisungsdatenstruktur 302 an einen mit dem sekundären Session Manager 106c assoziierten zweiten Datendistributor 206b senden. Bei anderen Ausführungsformen sendet der Datendistributor 206a die Session-Manager-Mengenzuweisungsdatenstruktur 302 an jeden Session Manager 106 in dem Cluster 104. Der sekundäre Session Manager 106c kann dann die Menge von Session Managers in der Zuweisungsdatenbank 214b speichern.
  • Beim Empfangen der Registrierungsanfrage von dem Kommunikationsendpunkt 102 akzeptiert der primäre Session Manager 106a oder der sekundäre Session Manager 106c die Registrierungsanfrage automatisch, weil die Menge der Session-Manager-Zuweisungsdatenstruktur 302 den primären Session Manager 106a und den sekundären Session Manager 106c als die angebrachte Menge von Session Managers für den Kommunikationsendpunkt 102 identifizierte. Dieser Benachrichtigungsprozess eliminiert die Menge von Session Managers aus dem Reevaluieren der Anfrage zum Bestimmen einer Menge von Session Managers.
  • Bei weiteren Ausführungsformen kann die Redundanzbestimmungsengine 204 auch eine für einen Benutzer des Kommunikationsendpunkts 102 erforderliche Menge von Merkmalen bestimmen. Die Menge von Merkmalen kann in der Registrierungsanfrage enthalten sein oder kann in Schritt 404 eingerichtet werden. Die Redundanzbestimmungsengine 204 kann mit einem oder mehreren Merkmalservern 218 interagieren oder Informationen von der Session-Manager-Daten-Datenbank 210 über die Merkmale erhalten, die von jedem Merkmalserver 218 angeboten werden, der mit jedem Session Manager 106 in dem Cluster 104 assoziiert ist. Diese angebotenen Mengen von Merkmalen können in der Merkmalsmengendatenbank 220 enthalten sein. Die Redundanzbestimmungsengine 204 kann die von jedem Merkmalserver 218 angebotenen Merkmale extrahieren und die angebotenen Merkmale mit den erforderlichen Merkmalen vergleichen. Die Redundanzbestimmungsengine 204 kann Session Managers 106 eliminieren, die keinen Merkmalserver 218 aufweisen, der mit dem Session Manager 106 assoziiert ist, der die entsprechende Merkmalsmenge anbieten kann.
  • Bei anderen Ausführungsformen kann die Redundanzbestimmungsengine 204 jeden Session Manager 106 auf der Basis der angebotenen Anzahl von Merkmalen oder der Wahrscheinlichkeit, dass alle benötigten Merkmale dem Kommunikationsendpunkt 102 geliefert werden, beurteilen. Auf der Basis der Informationen für die von dem Benutzer erforderliche Menge von Merkmalen und die Menge von Merkmalen, die von den Merkmalservern 218 angeboten werden, die mit den Session Managers 106 assoziiert sind, kann die Redundanzbestimmungsengine 204 die Merkmalserverfaktoren in die Paarbildungsregelberechnung aufnehmen. Bei weiteren Ausführungsformen kann die Redundanzbestimmungsengine 204 auch einen Ort für den Merkmalserver bestimmen und den Ort des Merkmalservers 218 in die Berechnung der Menge von Session Managers aufnehmen.
  • Eine Ausführungsform eines Verfahrens 500 zum Wiederausgleichen von Session-Manager-Mengenzuweisungen über ein Cluster 104 ist in 5 gezeigt. Allgemein beginnt das Verfahren 500 mit einer Startoperation 502 und endet mit einer Endoperation 516. Während eine allgemeine Reihenfolge für die Schritte des Verfahrens 500 in 5 gezeigt ist, kann das Verfahren 500 mehr oder weniger Schritte enthalten oder die Reihenfolge der Schritte kann anders als bei dem in 5 gezeigten Verfahren 500 angeordnet sein. Das Verfahren 500 kann eine Menge von computerausführbaren Anweisungen sein, die von einem Computersystem oder Prozessor ausgeführt werden und/oder auf einem computerlesbaren Medium kodiert oder gespeichert sind. Im Folgenden wird das Verfahren 500 unter Bezugnahme auf die Systeme, Komponenten, Module, Datenstrukturen, Benutzerschnittstellen usw. erläutert, die in Verbindung mit 13C beschrieben sind.
  • Ein oder mehrere Session Manager 106 können in Schritt 504 eine Konfigurationsänderungsbenachrichtigung an das Cluster 104 empfangen. Bei der Konfigurationsänderung kann es sich um den Ausfall eines Session Manager 106, das Hinzufügen von einem oder mehreren Session Managers 106 oder eine beliebige andere Art von Konfigurationsänderung handeln. Die Benachrichtigung kann auf eine in der Technik bekannte Weise empfangen werden, wie etwa das Fehlen einer Polnachricht, die periodisch empfangen wird, das Nichtbeantworten einer Nachricht oder irgendeine andere Art von Bestimmung einer Konfigurationsänderung.
  • Die Session Manager 106 in dem Cluster 104 können in Schritt 506 auch bestimmen, ob irgendein aktiver Session Manager 106 in dem Cluster 104 eine hohe Kapazität erreicht hat. Die Bestimmung dahingehend, ob ein aktiver Session Manager 106 eine hohe Kapazität erreicht hat, kann als Reaktion auf eine Konfigurationsänderung oder unabhängig angestellt werden, um zu bestimmen, ob ein Wiederausgleich erfolgen muss. Der Session Manager 106 kann bestimmen, ob ein aktiver Session Manager 106 eine hohe Kapazität erreicht hat, indem ein Lastfaktor oder eine dem Session Manager 320 gegenwärtig zugewiesene Anzahl von Benutzern, wie in der Session-Manager-Informationsdatenstruktur 312 gespeichert, mit einem Schwellwert verglichen wird, um zu bestimmen, ob der Lastfaktor den Schwellwert kreuzt. Falls der Lastfaktor höher ist als der Schwellwert und der Session Manager eine hohe Kapazität erreicht hat, dann geht Schritt 506 mit JA weiter zu Schritt 508. Falls jedoch der Lastfaktor und/oder die Anzahl von Benutzern nicht über dem Schwellwert liegt und der Session Manager nicht auf einer hohen Kapazität ist, gibt Schritt 506 NEIN zurück, um das Prüfen von Lastfaktoren an irgendeinem Punkt in der Zukunft in Schritt 506 fortzuführen.
  • Falls die Konfigurationsänderung und/oder ein aktiver Session Manager 106 eine hohe Kapazität erhalten haben, kann der Session Manager 106 in Schritt 508 einen Wiederausgleichssteuerprozess auslösen. Der Wiederausgleichssteuerprozess kann jeden Session Manager 106 innerhalb des Clusters zurücksetzen, um eine Menge von Session Managers für jeden Kommunikationsendpunkt 102 neu zu bestimmen, wenn jene Kommunikationsendpunkte 102 sich wieder bei den Session Managers 106 registrieren.
  • In der SIP-Umgebung registrieren sich Kommunikationsendpunkte 102 periodisch erneut bei den Session Managers 106. Somit kann, wenn die Neuregistrierung erfolgt, falls der Wiederausgleich ausgelöst wird, der Session Manager 106 die beste Menge von Session Managers für den Kommunikationsendpunkt 102 neu bestimmen. Somit kann der Session Manager 106 die Konfigurationsänderung oder die hohe Kapazität von einem beliebigen der Session Manager 106 berücksichtigen, wenn es darum geht, wieder auszugleichen, welche Kommunikationsendpunkte 102 sich bei welchen Session Managers 106 registrieren. Bei Ausführungsformen erfordert der Wiederausgleichssteuerprozess, dass das Rücksetzsignal der Menge von Session Managers an alle Session Managers 106 in dem Cluster 104 rundgesendet wird. Ein Flag oder eine andere Datenmarkierung kann innerhalb jedes Session Manager 106 gesetzt werden, um die Menge von Session Managers wieder auszugleichen, wenn Neuregistrierungen von Kommunikationsendpunkten empfangen werden. Da jeder Session Manager 106 die gleichen Algorithmen verwendet, wird jeder Session Manager 106 die gleiche Menge von Session Managers erreichen/bestimmen.
  • Jeder Session Manager 106 kann später in Schritt 510 eine Neuregistrierungsanfrage von einem Kommunikationsendpunkt 102 empfangen. Die Kommunikationsendpunkte 102 können versuchen, sich bei ihrem primären Session Manager 106a oder 106b neu zu registrieren. Bei Empfang der Neuregistrierung bestimmt der primäre Session Manager 106a oder 106b eine neue Menge von Session Managers, wie in Verbindung mit 4 erläutert. Die Bestimmung der neuen Menge von Session Managers kann zurück an den Kommunikationsendpunkt 102 geliefert werden, der sich dann bei einem anderen Session Manager 106 neu registrieren muss, und kann an andere Session Managers 106 innerhalb des Clusters 104 rundgesendet werden. Somit bestimmt jeder Session Manager 106, der eine Neuregistrierungsanfrage empfängt, in Schritt 512 erneut den primären und sekundären Session Manager in der Menge von Session Managers.
  • Bei Ausführungsformen kann der Session Manager in Schritt 514 bestimmen, ob es andere Kommunikationsendpunkte 102 gibt, die wieder ausgeglichen werden müssen. Der Session Manager 106 kann aufzeichnen, welche Kommunikationsendpunkte 102 zum erneuten Registrieren mit dem Session Manager 106 kommunizierten. Der Session Manager 106 kann dann auf die Zuweisungsdatenbank 214 zugreifen, um zu bestimmen, ob irgendein gegenwärtig dem Session Manager 106 zugewiesener Kommunikationsendpunkt 102 nicht versucht hat, sich erneut zu registrieren. Falls andere Kommunikationsendpunkte 102 sich nicht erneut registrieren müssen, geht Schritt 514 mit JA weiter zu Schritt 510. Falls jedoch sich alle Kommunikationsendpunkte erneut registriert haben und der Wiederausgleichsprozess abgeschlossen ist, geht Schritt 514 mit NEIN weiter zur Endoperation 516.
  • Eine Ausführungsform eines Verfahrens 600 zum Deregistrieren eines Kommunikationsendpunkts 102 ist in 6 gezeigt. Allgemein beginnt das Verfahren 600 mit einer Startoperation 602 und endet mit einer Endoperation 610. Während eine allgemeine Reihenfolge für die Schritte des Verfahrens 600 in 6 gezeigt ist, kann das Verfahren 600 mehr oder weniger Schritte enthalten oder die Reihenfolge der Schritte kann anders als bei dem in 6 gezeigten Verfahren 600 angeordnet sein. Das Verfahren 600 kann eine Menge von computerausführbaren Anweisungen sein, die von einem Computersystem oder Prozessor ausgeführt werden und/oder auf einem computerlesbaren Medium kodiert oder gespeichert sind. Im Folgenden wird das Verfahren 600 unter Bezugnahme auf die Systeme, Komponenten, Module, Datenstrukturen, Benutzerschnittstellen usw. erläutert, die in Verbindung mit 13C beschrieben sind.
  • Ein Session Manager 106 empfängt in Schritt 604 eine Deregistrierungsanfrage von einem Kommunikationsendpunkt 102. Eine Deregistrierungsanfrage ist eine Anfrage zum Eliminieren oder Löschen der Registrierung des Kommunikationsendpunkts 102 oder des Benutzers bei der Menge von Session Managers. Die Deregistrierungsanfrage kann durch eine Eingabe von dem Systemmanager 112 oder unabhängig von dem Kommunikationsendpunkt 102 durch die Trennung oder Neuanordnung des Kommunikationsendpunkts 102 ausgelöst werden.
  • Bei Empfang der Deregistrierungsanfrage entfernt der primäre Session Manager 106a oder 106b in Schritt 606 die Informationen über den primären und sekundären Session Manager. Beim Entfernen der Session-Manager-Informationen kann der primäre Session Manager 106a die Session-Manager-Mengenzuweisungsdatenstruktur 302 aus der Zuweisungsdatenbank 214 löschen. Beispielsweise kann der Registrator 202 die Deregistrierungsanfrageinformationen an den Datendistributor 206 senden, der die Menge der Session-Manager-Zuweisungsdatenstruktur 302 aus der Zuweisungsdatenbank 214 löscht.
  • Der Datendistributor 206 kann weiterhin das Entfernen der Zuweisungsmenge in Schritt 608 rundsenden. Somit sendet der Datendistributor 206a das Entfernen der Zuweisungsmenge an einen oder mehrere andere Session Managers 106 rund, so dass der Datendistributor 206b und der sekundäre Session Manager 106c und/oder andere Session Managers 106d die Menge der Session-Manager-Zuweisungsdatenstruktur 302 aus der Zuweisungsdatenbank 214b löschen kann.
  • 7 zeigt ein Blockdiagramm einer Rechenumgebung 700, die als System oder Umgebung für die hierin beschriebenen Ausführungsformen dienen kann. Das System 700 enthält einen oder mehrere Benutzercomputer 705, 710 und 715. Die Benutzercomputer 705, 710 und 715 können Allzweck-PCs sein (einschließlich, lediglich als Beispiel, PCs und/oder Laptops, auf denen verschiedene Versionen der Betriebssysteme WindowsTM von Microsoft Corp. und/oder MacintoshTM von Apple Corp. laufen) und/oder Workstation-Computer, auf denen ein beliebiges einer Vielzahl von im Handel erhältlichen UNIXTM- oder UNIX-artigen Betriebssystemen läuft. Diese Benutzercomputer 705, 710, 715 können auch eine beliebige einer Vielzahl von Anwendungen besitzen, einschließlich beispielsweise Datenbank-Client- und/oder Server-Anwendungen und Webbrowseranwendungen. Alternativ kann es sich bei den Benutzercomputern 705, 710 und 715 um irgendeine andere elektronische Einrichtung wie etwa einen Thin-Client-Computer, ein internetfähiges Handy und/oder einen PDA handeln, die in der Lage sind, über ein Netzwerk (z. B. das unten beschriebene Netzwerk 720) zu kommunizieren und/oder Webseiten oder andere Arten von elektronischen Dokumenten anzuzeigen und durch diese zu navigieren. Wenngleich das beispielhafte System 700 mit drei Benutzercomputern gezeigt ist, kann eine beliebige Anzahl von Benutzercomputern unterstützt werden.
  • Das System 700 enthält weiterhin ein Netzwerk 720. Bei dem Netzwerk 720 kann es sich um eine beliebige Art von Netzwerk handeln, das dem Fachmann bekannt ist, das Datenkommunikationen unterstützen kann, wobei ein beliebiges einer Vielzahl von im Handel erhältlichen Protokollen verwendet wird, einschließlich unter anderem TCP/IP, SNA, IPX, AppleTalk und dergleichen. Lediglich als Beispiel kann das Netzwerk 720 ein Nahbereichsnetzwerk („LAN“ – Local Area Network) wie etwa ein Ethernet-Netzwerk, ein Token-Ring-Netzwerk und/oder dergleichen sein; ein Fernbereichsnetzwerk; ein virtuelles Netzwerk, einschließlich unter anderem ein virtuelles Privatnetz („VPN“ – Virtual Private Network); das Internet; ein Intranet; ein Extranet; ein öffentliches Telefonwählnetz („PSTN“ – Public Switched Telephone Network); ein Infrarotnetzwerk; ein Funknetzwerk (z.B. ein Netzwerk, das unter einem beliebigen der Serie IEEE 802.11 von Protokollen, dem in der Technik bekannten BluetoothTM-Protokoll und/oder einem beliebigen anderen Funkprotokoll arbeitet); und/oder eine beliebige Kombination aus diesen und/oder anderen Netzwerken.
  • Das System 700 kann auch einen oder mehrere Servercomputer 725, 730 enthalten. Ein Server kann ein Web-Server 725 sein, der zum Verarbeiten von Anfragen nach Webseiten oder anderen elektronischen Dokumenten von Benutzercomputern 705, 710 und 715 verwendet werden kann. Auf dem Web-Server 725 können ein Betriebssystem einschließlich einem beliebigen der oben erörterten sowie beliebige im Handel erhältliche Serverbetriebssysteme laufen. Auf dem Webserver kann auch eine Vielzahl von Serveranwendungen laufen, einschließlich SIP-Server, HTTP-Server, FTP-Server, CGI-Server, Datenbankserver, Java-Server und dergleichen. In einigen Fällen kann der Web-Server 725 verfügbare Operationen als einen oder mehrere Web-Dienste veröffentlichen.
  • Das System 700 kann auch einen oder mehrere Datei- und/oder Anwendungsserver 730 enthalten, die zusätzlich zu einem Betriebssystem eine oder mehrere Anwendungen enthalten können, auf die ein Client zugreifen kann, der auf einem oder mehreren der Benutzercomputer 705, 710, 715 läuft. Der oder die Server 730 können ein oder mehrere Allzweckcomputer sein, auf denen als Reaktion auf die Benutzercomputer 705, 710 und 715 Programme oder Skripte laufen können. Als ein Beispiel kann der Server eine oder mehrere Webanwendungen ausführen. Die Webanwendung kann als ein oder mehrere Skripts oder Programme implementiert sein, die in einer beliebigen Programmiersprache geschrieben sind wie etwa JavaTM, C, C#TM oder C++ und/oder eine beliebige Skriptsprache wie etwa Perl, Python oder TCL, sowie Kombinationen aus beliebigen Programmier-/Skriptsprachen. Der oder die Anwendungsserver 730 können auch Datenbankserver enthalten, einschließlich unter anderem jene, die kommerziell von Oracle, Microsoft, SybaseTM, IBMTM und dergleichen erhältlich sind, die Anfragen von Datenbank-Clients verarbeiten können, die auf einem Benutzercomputer 705 laufen.
  • Die von dem Webapplikationsserver 730 erzeugten Webseiten können über einen Webserver 725 an einen Benutzercomputer 705 weitergeleitet werden. Analog kann der Web-Server 725 in der Lage sein, Webseitenanforderungen, Webdienstaufrufe und/oder Eingangsdaten von einem Benutzercomputer 705 zu empfangen und kann die Webseitenanforderungen und/oder Eingangsdaten an den Webserver 730 weiterleiten. Bei weiteren Ausführungsformen kann der Server 730 als ein Datenserver fungieren. Wenngleich 5 zur Erleichterung der Beschreibung einen separaten Webserver 725 und Daten-/Anwendungsserver 730 darstellt, erkennt der Fachmann, dass die bezüglich der Server 725, 730 beschriebenen Funktionen je nach implementierungsspezifischen Bedürfnissen und Parametern durch einen einzelnen Server und/oder mehrere spezialisierte Server ausgeführt werden können. Die Computersysteme 705, 710 und 715, der Datenserver 725 und/oder der Anwendungsserver 730 können als Server oder andere hierin beschriebene Systeme fungieren.
  • Das System 700 kann auch eine Datenbank 735 enthalten. Die Datenbank 735 kann sich an einer Vielzahl von Orten befinden. Beispielsweise kann sich die Datenbank 735 auf einem Speichermedium befinden, das zu einem oder mehreren der Computer 705, 710, 715, 725, 730 lokal ist (und/oder sich darin befindet). Alternativ kann es von einem beliebigen oder allen der Computer 705, 710, 715, 725, 730 abgesetzt sein und mit einem oder mehreren von diesen in Kommunikation stehen (z. B. über das Netzwerk 720). Bei einer Menge von bestimmten Ausführungsformen kann sich die Datenbank 735 in einem Speichernetzwerk („SAN“ – Storage Area Network) befinden, das dem Fachmann bekannt ist. Analog können etwaige erforderliche Dateien zum Ausführen der den Computern 705, 710, 715, 725, 730 zugeschriebenen Funktionen wie angebracht lokal auf dem jeweiligen Computer und/oder abgesetzt gespeichert werden. Bei einer Menge von Ausführungsformen (in one set of embodiments) kann die Datenbank 735 eine relationale Datenbank wie etwa Oracle 10iTM sein, die ausgelegt ist zum Speichern, Aktualisieren und Abrufen von Daten als Reaktion auf SQL-formatierte Befehle. Die Datenbank 735 kann gleich der hier verwendeten Datenbank oder ihr ähnlich sein.
  • 8 zeigt eine Ausführungsform eines Computersystems 800, auf dem Server, Computer oder andere hierin beschriebene Systeme eingesetzt oder ausgeführt werden können. Das Computersystem 800 ist so gezeigt, dass es Hardwareelemente umfasst, die über einen Bus 855 elektrisch gekoppelt sein können. Zu den Hardwareelementen können eine oder mehrere zentrale Verarbeitungseinheiten (CPUs) 805; eine oder mehrere Eingabeeinrichtungen 810 (z. B. eine Maus, eine Tastatur usw.); und eine oder mehrere Ausgabeeinrichtungen 815 (z.B. eine Displayeinrichtung, ein Drucker usw.) zählen. Das Computersystem 800 kann auch ein oder mehrere Speichereinrichtungen 820 enthalten. Beispielsweise kann es sich bei der oder den Speichereinrichtungen 820 um Plattenlaufwerke, optische Speichereinrichtungen, Halbleiterspeichereinrichtungen wie etwa einen Direktzugriffsspeicher ("RAM" – Random Access Memory) und/oder ein Festwertspeicher ("ROM" – Read-only Memory) handeln, die programmierbar, flash-aktualisierbar und/oder dergleichen sein können.
  • Das Computersystem 800 kann außerdem ein Lesegerät 825 für computerlesbare Speichermedien; ein Kommunikationssystem 830 (z. B. ein Modem, eine Netzwerkkarte (drahtlos oder verdrahtet), eine Infrarotkommunikationseinrichtung usw.); und einen Arbeitsspeicher 840 enthalten, der RAM- und ROM-Einrichtungen wie oben beschrieben enthalten kann. Das Computersystem 800 kann bei einigen Ausführungsformen auch eine Verarbeitungsbeschleunigungseinheit 835 enthalten, die einen DSP, einen Spezialprozessor und/oder dergleichen enthalten kann.
  • Das Lesegerät 825 für computerlesbare Speichermedien kann weiterhin mit einem computerlesbaren Speichermedium verbunden sein, wobei sie zusammen (und optional in Kombination mit einer oder mehreren Speichereinrichtungen 820) umfassend abgesetzte, lokale, feste und/oder entfernbare Speichereinrichtungen plus Speichermedien zum vorübergehenden und/oder permanenteren Aufnehmen von computerlesbaren Informationen darstellen. Das Kommunikationssystem 830 kann den Austausch von Daten mit dem Netzwerk 820 und/oder einem beliebigen anderen, oben bezüglich des Systems 800 beschriebenen Computer gestatten. Zudem kann der Ausdruck „Speichermedium", wie er hier offenbart ist, eine oder mehrere Einrichtungen zum Speichern von Daten darstellen, einschließlich Festwertspeicher (ROM), Direktzugriffsspeicher (RAM), magnetischer RAM, Kernspeicher, magnetische Plattenspeichermedien, optische Speichermedien, Flash-Speichereinrichtungen und/oder andere maschinenlesbare Medien zum Speichern von Informationen.
  • Das Computersystem 800 kann auch Softwareelemente umfassen, die so gezeigt sind, dass sie gegenwärtig innerhalb eines Arbeitsspeichers 840 angeordnet sind, einschließlich eines Betriebssystems 845 und/oder eines anderen Codes 850, wie etwa eines Programmcodes, der die hier beschriebenen Servers oder Einrichtungen implementiert. Es versteht sich, dass alternative Ausführungsformen eines Computersystems 800 zahlreiche Abweichungen von den oben beschriebenen aufweisen können. Beispielsweise könnte auch kundenspezifische Hardware benutzt werden und/oder bestimmte Elemente könnten in Hardware, Software (einschließlich tragbarer Software wie etwa Applets) oder beidem implementiert werden. Zudem kann eine Verbindung zu anderen Recheneinrichtungen wie etwa Netzwerkeingabe-/-ausgabeeinrichtungen verwendet werden.
  • Bei der vorausgegangenen Beschreibung wurden zu Zwecken der Darstellung Verfahren in einer bestimmten Reihenfolge beschrieben. Es versteht sich, dass die Verfahren bei alternativen Ausführungsformen in einer anderen Reihenfolge als der beschriebenen ausgeführt werden können. Es versteht sich außerdem, dass die oben beschriebenen Verfahren durch Hardwarekomponenten ausgeführt oder in Sequenzen von maschinenausführbaren Anweisungen verkörpert sein können, die dazu verwendet werden können, zu bewirken, dass eine Maschine wie etwa ein Allzweck- oder Spezialprozessor oder Logikschaltungen, die mit den Anweisungen programmiert sind, die Verfahren ausführen. Diese maschinenausführbaren Anweisungen können auf einem oder mehreren maschinenlesbaren Medien gespeichert sein, wie etwa CD-ROMs oder anderen Arten von optischen Platten, Disketten, ROMs, RAMs, EPROMs, EEPROMs, magnetischen oder optischen Karten, Flash-Speichern oder anderen Arten von maschinenlesbaren Medien, die sich für das Speichern elektronischer Anweisungen eignen. Alternativ können die Verfahren durch eine Kombination aus Hardware und Software durchgeführt werden.
  • In der Beschreibung wurden spezifische Details angegeben, um ein eingehendes Verständnis der Ausführungsformen zu vermitteln. Der Durchschnittsfachmann versteht jedoch, dass die Ausführungsformen ohne diese spezifischen Details praktiziert werden können. Beispielsweise können Schaltungen in Blockdiagrammen gezeigt sein, um die Ausführungsformen nicht mit unnötigem Detail zu verdunkeln. In anderen Fällen können wohlbekannte Schaltungen, Prozesse, Algorithmen, Strukturen und Techniken ohne unnötiges Detail gezeigt sein, um ein Verdunkeln der Ausführungsformen zu vermeiden.
  • Außerdem wird angemerkt, dass die Ausführungsformen als ein Prozess beschrieben wurden, der als ein Flussbild, ein Flussdiagramm, ein Datenflussdiagramm, ein Strukturdiagramm oder ein Blockdiagramm dargestellt ist. Wenngleich ein Flussbild die Operationen als einen sequenziellen Prozess beschreiben kann, können viele der Operationen parallel oder gleichzeitig durchgeführt werden. Außerdem kann die Reihenfolge der Operationen umgeordnet werden. Ein Prozess ist abgeschlossen, wenn seine Operationen beendet sind, er könnte aber nicht in der Figur enthaltene zusätzliche Schritte aufweisen. Ein Prozess kann einem Verfahren, einer Funktion, einer Prozedur, einer Teilroutine, einem Teilprogramm usw. entsprechen. Wenn ein Prozess einer Funktion entspricht, entspricht seine Beendigung einer Rückkehr der Funktion zu der aufrufenden Funktion oder der Hauptfunktion.
  • Zudem können Ausführungsformen durch Hardware, Software, Firmware, Middleware, Mikrocode, Hardwarebeschreibungssprachen oder eine beliebige Kombination davon implementiert werden. Bei Implementierung in Software, Firmware, Middleware oder Mikrocode können der Programmcode oder Codesegmente zum Durchführen der erforderlichen Aufgaben in einem maschinenlesbaren Medium wie etwa einem Speichermedium gespeichert werden. Ein oder mehrere Prozessoren können die erforderlichen Aufgaben ausführen. Ein Codesegment kann eine Prozedur, eine Funktion, ein Teilprogramm, ein Programm, eine Routine, eine Teilroutine, ein Modul, ein Softwarepaket, eine Klasse oder irgendeine Kombination von Anweisungen, Datenstrukturen oder Programmanweisungen darstellen. Ein Codesegment kann durch das Weiterleiten und/oder Empfangen von Informationen, Daten, Argumenten, Parametern oder Speicherinhalten an ein anderes Codesegment oder eine andere Hardwareschaltung gekoppelt sein. Informationen, Argumente, Parameter, Daten usw. können über beliebige geeignete Mittel weitergegeben, weitergeleitet oder übertragen werden, einschließlich gemeinsame Speichernutzung, Nachrichtenweiterleitung, Token-Weiterleitung, Netzwerkübertragung usw.
  • Wenngleich veranschaulichende Ausführungsformen der Erfindung hier ausführlich beschrieben worden sind, ist zu verstehen, dass die erfindungsgemäßen Konzepte ansonsten unterschiedlich verkörpert und verwendet werden können und dass die beigefügten Ansprüche so ausgelegt werden sollen, dass sie solche Variationen enthalten, außer wie durch den Stand der Technik begrenzt.

Claims (7)

  1. Verfahren zum automatischen Bestimmen von Benutzerdatenredundanz, umfassend: Empfangen einer SIP(Session Initiation Protocol)-Registrierungsanfrage durch einen voreingestellten Session Manager von einem IP-fähigen (Internet Protocol) Telefon; Bestimmen eines Orts des IP-fähigen Telefons durch den voreingestellten Session Manager; Bestimmen des Lastfaktors auf zwei oder mehr Session Managers in einem Cluster von Session Managers durch den voreingestellten Session Manager; Bestimmen eines Orts der zwei oder mehr Session Managers in dem Cluster von Session Managers durch den voreingestellten Session Manager; Automatisches Bestimmen einer Menge von Session Managers, wobei die Menge einen primären Session Manager und einen sekundären Session Manager enthält, die Benutzerdaten für das IP-fähige Telefon verwalten, sowohl auf der Basis des Orts des IPfähigen Telefons als auch des Lastfaktors auf den zwei oder mehr Session Managers und des Orts der zwei oder mehr Session Managers in dem Cluster von Session Managers, wobei der primäre Session Manager unterschiedlich vom voreingestellten Session Manager ist; Senden einer SIP-Nachricht an das IP-fähige Telefon durch den voreingestellten Session Manager, wobei die SIP-Nachricht Informationen über die Menge von Session Managers enthält; Rundsenden von Informationen über die Menge von Session Managers und das IPfähige Telefon durch den voreingestellten Session Manager zu mindestens einem weiteren Session Manager in dem Cluster; und Verwalten von Benutzerdaten für das IP-fähige Telefon danach durch die Menge von Session Managers Empfangen einer Deregistrierungsanfrage durch den primären Session Manager; Entfernen der Informationen über die Menge von Session Managers durch den primären Session Manager basierend auf dem Empfang der Deregistrierungsanfrage Rundsenden des Entfernens der Informationen über die Menge von Session Managers an das Cluster durch den primären Session Manager; und als Antwort auf eine SIP 301-Nachricht, die die Informationen über die Menge von Session Managers enthält, Empfangen einer zweiten Registrierungsanfrage durch den primären Session Manager von dem IP-fähigen Telefon und Empfangen einer dritten Registrierungsanfrage durch den sekundären Session Manager von dem IP-fähigen Telefon.
  2. Verfahren nach Anspruch 1, wobei die Menge von Session Managers den voreingestellten Session Manager enthält, wobei das Verfahren weiterhin umfasst, dass der voreingestellte Session Manager die Registrierungsanfrage von dem IP-fähigen Telefon akzeptiert und der primäre Session Manager wird.
  3. Verfahren nach Anspruch 1, wobei das IP-fähige Telefon mit einem Benutzer assoziiert ist.
  4. Verfahren nach Anspruch 3, das weiterhin Folgendes umfasst: der voreingestellte Session Manager bestimmt eine von dem Benutzer erforderliche Menge von Merkmalen; und weiterhin auf der Basis der von dem Benutzer erforderlichen Menge von Merkmalen bestimmt der voreingestellte Session Manager die Menge von Session Managers.
  5. Kommunikationsnetzwerk, das Folgendes umfasst: einen voreingestellten Session Manager, der: eine SIP(Session Initiation Protocol)-Registrierungsanfrage von einem Kommunikationsendpunkt empfängt; einen Ort des Kommunikationsendpunkts bestimmt; einen Lastfaktor auf zwei oder mehr Sessions Managers in einem Cluster von Session Managers bestimmt; einen Ort der zwei oder mehr Session Managers in dem Cluster von Session Managers bestimmt; sowohl auf der Basis des Orts des IP-fähigen Telefons als auch des Lastfaktors auf den zwei oder mehr Session Managers und des Orts der zwei oder mehr Session Managers in dem Cluster von Session Managers eine Menge von Session Managers automatisch bestimmt, wobei die Menge einen primären Session Manager und einen sekundären Session Manager enthält, die Benutzerdaten für das IP-fähige Telefon verwalten, wobei der primäre Session Manager unterschiedlich vom voreingestellten Session Manager ist; eine SIP-Nachricht an das IP-fähige Telefon sendet, wobei die SIP-Nachricht Informationen über die Menge von Session Managers enthält; und Informationen über die Menge von Session Managers und das IP-fähige Telefon durch den voreingestellten Session Manager zu mindestens einem weiteren Session Manager in dem Cluster rundsendet;den primären Session Manager, der: eine Deregistrierungsanfrage empfängt; die Informationen über die Menge von Session Managers basierend auf dem Empfang der Deregistrierungsanfrage entfernt; das Entfernen der Informationen über die Menge von Session Managers an das Cluster rundsendet; und als Antwort auf eine SIP 301-Nachricht, die die Informationen über die Menge von Session Managers enthält, eine zweiten Registrierungsanfrage von dem Kommunikationsendpunkt empfängt; und den sekundären Session Manager, der: als Antwort auf die SIP 301-Nachricht, die die Informationen über die Menge von Session Managers enthält, eine dritte Registrierungsanfrage von dem Kommunikationsendpunkt empfängt.
  6. Kommunikationsnetzwerk nach Anspruch 5, wobei der Kommunikationsendpunkt ein Mobiltelefon, eine Soft-Client-Softwarekomponente, ein Desktop-Telefon oder ein IP-fähiges (Internet Protocol) Telefon ist.
  7. Kommunikationsnetzwerk nach Anspruch 5, wobei die Paarbildungsregel einen benutzerkonfigurierbaren Algorithmus zum Einstufen von einem oder mehreren Paarbildungsfaktoren und einen Eignungsalgorithmus zum Einstufen jedes Session Manager auf der Basis der eingestuften Paarbildungsfaktoren hinsichtlich der Eignung des Session Manager, als primärer oder sekundärer Session Manager für den Kommunikationsendpunkt zu fungieren, liefert.
DE102011114273.1A 2010-09-29 2011-09-26 Automatische Benutzerredundanzbestimmung Expired - Fee Related DE102011114273B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/893,143 US9806965B2 (en) 2010-09-29 2010-09-29 Automatic user redundancy determination
US12/893,143 2010-09-29

Publications (2)

Publication Number Publication Date
DE102011114273A1 DE102011114273A1 (de) 2012-03-29
DE102011114273B4 true DE102011114273B4 (de) 2018-02-15

Family

ID=44994145

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102011114273.1A Expired - Fee Related DE102011114273B4 (de) 2010-09-29 2011-09-26 Automatische Benutzerredundanzbestimmung

Country Status (3)

Country Link
US (1) US9806965B2 (de)
DE (1) DE102011114273B4 (de)
GB (1) GB2484199B (de)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IN2014MN01774A (de) * 2012-02-13 2015-07-03 Tata Comm America Inc
US11687947B2 (en) 2014-10-31 2023-06-27 Aeris Communications, Inc. Automatic connected vehicle enrollment
US20160127373A1 (en) * 2014-10-31 2016-05-05 Aeris Communications, Inc. Automatic connected vehicle demonstration process
CN106375102B (zh) * 2015-07-22 2019-08-27 华为技术有限公司 一种服务注册方法、使用方法及相关装置
EP3206382B1 (de) * 2016-02-12 2018-12-05 Wipro Limited System und verfahren zur verwaltung einer erfolglosen kommunikationssitzung zwischen einem quellbenutzer und einem zielbenutzer
US11121801B2 (en) * 2019-04-01 2021-09-14 Nokia Technologies Oy Method and apparatus for redundancy improvement in a communication system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100046502A1 (en) * 2007-03-27 2010-02-25 Alcatel Lucent Method and means for route selection of a session
US7702310B1 (en) * 2005-02-18 2010-04-20 Virgin Mobile Usa, L.P. Load balancing management of communications sessions in a communications management network
US20100177766A1 (en) * 2005-11-04 2010-07-15 Mesh Dynamics, Inc. Self-forming VoIP Network
US20100217875A1 (en) * 2007-07-23 2010-08-26 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for use in a communications network

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ES2235065T3 (es) * 2001-07-03 2005-07-01 Telefonaktiebolaget Lm Ericsson (Publ) Metodo y sistema para gestionar multiples registros.
US8223926B2 (en) * 2005-02-11 2012-07-17 Cisco Technology, Inc. Resilient registration with a call manager
US20070076696A1 (en) * 2005-09-30 2007-04-05 Yafan An Use of SIP messages for location services
WO2008052598A1 (en) * 2006-11-03 2008-05-08 Telefonaktiebolaget Lm Ericsson (Publ) Accessing a communications network
EP2037658B1 (de) * 2007-09-14 2012-12-19 Nokia Siemens Networks Oy Zuweisung einer versorgenden Einheit in einem Kommunikationssystem
US8018848B2 (en) * 2008-03-26 2011-09-13 Avaya Inc. Survivable phone behavior using SIP signaling in a SIP network configuration
US8527656B2 (en) 2008-03-26 2013-09-03 Avaya Inc. Registering an endpoint with a sliding window of controllers in a list of controllers of a survivable network
US8107361B2 (en) * 2008-03-26 2012-01-31 Avaya Inc. Simultaneous active registration in a SIP survivable network configuration
US7995466B2 (en) * 2008-03-26 2011-08-09 Avaya Inc. Failover/failback trigger using SIP messages in a SIP survivable configuration
US20090262702A1 (en) * 2008-04-18 2009-10-22 Amit Khetawat Method and Apparatus for Direct Transfer of RANAP Messages in a Home Node B System
US7814193B2 (en) * 2008-05-06 2010-10-12 At&T Intellectual Property I, L.P. Distributing user endpoint registrations among border elements in a next generation network
JP2010028286A (ja) * 2008-07-16 2010-02-04 Hitachi Ltd Sipサーバおよび通信システム
EP2197169A1 (de) 2008-12-09 2010-06-16 Alcatel Lucent VoIP-Registrierung mit mehrfachen Anrufservern
US8340670B2 (en) * 2009-12-14 2012-12-25 Verizon Patent And Licensing Inc. Registering with SIP servers for IMS using a fully qualified domain name

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7702310B1 (en) * 2005-02-18 2010-04-20 Virgin Mobile Usa, L.P. Load balancing management of communications sessions in a communications management network
US20100177766A1 (en) * 2005-11-04 2010-07-15 Mesh Dynamics, Inc. Self-forming VoIP Network
US20100046502A1 (en) * 2007-03-27 2010-02-25 Alcatel Lucent Method and means for route selection of a session
US20100217875A1 (en) * 2007-07-23 2010-08-26 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for use in a communications network

Also Published As

Publication number Publication date
US9806965B2 (en) 2017-10-31
GB201116752D0 (en) 2011-11-09
GB2484199A (en) 2012-04-04
DE102011114273A1 (de) 2012-03-29
GB2484199B (en) 2017-05-31
US20120076129A1 (en) 2012-03-29

Similar Documents

Publication Publication Date Title
DE102011114273B4 (de) Automatische Benutzerredundanzbestimmung
DE69730906T2 (de) Namendienst für ein redundantes Internetservernetz
DE112020001459T5 (de) Konsistente Route-Ankündigungen zwischen redundanten Controllern im globalen Netzwerk-Access-Point
DE69730056T2 (de) Routen von duplikaten
DE60014645T2 (de) Datensicherungsvorrichtung für eine internet-server-sitzung
DE69735348T2 (de) Skalierbare und erweiterbare Systemverwaltungsarchitektur mit datenlosen Endpunkten
DE60025129T2 (de) Verfahren und Vorrichtung zur Bereitstellung von skalierbaren Diensten unter Benutzung einer Paketverteilungstabelle
DE69915441T2 (de) System und Verfahren für automatischen authentifizierten Zugang zu einer Mehrzahl von Netzbetreibern durch eine einzige Anmeldung
DE69730929T2 (de) System zur Verwaltung der Mitanwesenheit innerhalb Gemeinschaften
DE69907631T2 (de) Netzzugang zu inhaltsadressierbaren daten
DE60308700T2 (de) Dynamische fernkonfiguration eines webservers zur bereitstellung von kapazität auf anfrage
DE69733498T2 (de) Verteiltes rechnersystem und verfahren zur aufteilung von benutzeranfragen auf duplizierte netzwerkserver
DE602005003179T2 (de) Verfahren zum Verwalten von Knoten in einer Gruppe von gleichrangigen Knoten
DE60108884T2 (de) Methode und gerät zur bearbeitung von kommunikationsanfragen durch einen server ohne kontextumschaltung
DE60310676T2 (de) System und verfahren zum identifizieren eines drahtlosen versorgungsknotens für eine mobileinheit
DE102012218528B4 (de) Verwendung von Push-Benachrichtigungen zur Verringerung offener Browser-Verbindungen
DE202015009264U1 (de) Anycast-basiertes, wide-area-verteiltes kartierungs- und lastverteilungssystem
DE112005001995B4 (de) Computeranordnung und Verfahren zum Anbieten von Diensten für Benutzer über ein Netzwerk
DE112008003966T5 (de) Selektives Um-Abbilden einer Netzwerktopologie
DE112018003482T5 (de) Serveranfrageverwaltung
EP1856889A1 (de) Bereitstellung von redundanten sip proxy ressourcen
DE112019005826T5 (de) Lastverteilter Zugang zu verteilten Endpunkten unter Verwendung globaler Netzwerkadressen
DE69916024T2 (de) Verfahren zur zuordnung von ip addressen an hostendgeräte im internet auf anfrage eines ursprungsendgeräts
DE102012001394A1 (de) Gemeinsamer Medienzugang für Echtzeit-Erst- und Drittparteisteuerung
DE102016219854A1 (de) Computersystem und Verfahren zum dynamischen Anpassen eines software-definierten Netzwerks

Legal Events

Date Code Title Description
R012 Request for examination validly filed

Effective date: 20120704

R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee