-
HINTERGRUND
-
Video- und Telekonferenzen bieten vielen Organisationen Kommunikationsfunktionen. Die Systeme, die Konferenzfunktionen bereitstellen, können mehrere Endpunkte in Anrufgesprächen verbinden. Es besteht jedoch ein Problem, wenn mehrere Standorte verschiedene Konferenzeinstellungen aufweisen können und ein oder mehrere Standorte Schwierigkeiten beim Ermitteln der Ursache eines Problems haben. Im Allgemeinen kann es schwierig sein, die Einstellungen an jedem Konferenzstandort zu ermitteln. Typischerweise müssen Probleme mit der Konferenz über mündlichen Austausch gelöst werden. Im Allgemeinen ist keine automatische Einrichtung vorhanden, die Probleme bei der Konferenz diagnostiziert und löst.
-
Aus der
JP 2009-232 015 A1 ist ein Kommunikationssystem bekannt, das die Konferenzkommunikation durch eine MCU umsetzt, wobei bei einem Ausfall in einer MCU oder einem Konferenzterminal das Auftreten des Ausfalls an jeden Konferenzteilnehmer übermittelt wird, so dass eine angemessene Reaktion erfolgen kann. Wenn ein Ausfall der primären MCU erkannt wird, wird dies an jedes Konferenzterminal gemeldet, und eine Anweisung zur Umschaltung des Verbindungsziels der Kommunikationssitzung zur sekundären MCU wird erkannt, während ein Ausfall einer Konferenz festgestellt wird. In einem solchen Fall wird das Überwachungsgerät über die Tatsache der anderen Konferenzterminals informiert, und das Bediengerät wird angewiesen, die Kommunikationssitzung mit dem Konferenzterminal zu unterbrechen, bei dem der Fehler aufgetreten ist.
-
Aus der
US 2008/0235362 A1 und der
US 2009/0213206 A1 sind jeweils derartige Kommunikationssysteme bekannt, bei denen gerätespezifische Kennungen bzw. Standard-Einstellungen verwendet werden können.
-
KURZDARSTELLUNG
-
Wegen der oben angeführten Sachverhalte und anderer Probleme wurden die hierin präsentierten Ausführungsformen in Betracht gezogen. In der vorliegenden Anmeldung beschriebene Ausführungsformen stellen ein System und ein Verfahren zum Bereitstellen oder Einrichten von Einstellungen für eine Konferenz bereit. Eine Multipoint-Konferenzeinheit (MCU - Multipoint Control Unit) kann Standardeinstellungen für einen Kommunikationsendpunkt bereitstellen, wenn der Kommunikationsendpunkt das erste Mal eine Konferenz anfordert. Nach dem Herstellen der Konferenz kann die MCU die Konferenz überwachen, um zu ermitteln, ob sich die Konferenzbedingungen ändern. Tritt am Kommunikationsendpunkt eine Fehlfunktion auf, kann die MCU die bereits eingerichteten Einstellungen für den Kommunikationsendpunkt bereitstellen, wenn der Kommunikationsendpunkt wieder in die Konferenz eintritt. Ändert sich die Qualität der Konferenz, kann die MCU die Einstellungen der Kommunikationsendpunkte überwachen und neu abstimmen, um die Änderungen in der Konferenz zu kompensieren. Ferner können die MCUs Informationen über die Konferenzeinstellungen und Kommunikationsendpunkte austauschen, um eine Wissensdatenbank für das Konfigurieren von Konferenzen unter bestimmten Umständen zu erstellen.
-
Die Ausführungsformen stellen ein einzigartiges System und Verfahren zum Abrufen von Einstellungen an jedem Endpunkt und für die Fähigkeit bereit, über den Videostream oder einen zweiten Steuerstream Einstellungen zwischen dem, was am Endpunkt vorhanden ist, und dem, was von der MCU verstanden und gepusht wurde, selektiv anzuzeigen und zu vergleichen. Des Weiteren kann ein Standort seine Einstellungen zu einem oder mehreren Standorten pushen. Die Einstellungen zwischen verschiedenen Controllern können über ein Verfahren eines gemeinsamen Nenners oder ein Tabellenverfahren rationalisiert werden.
-
Der Begriff „Konferenz“ bezeichnet im Rahmen des Vorliegenden jegliche Kommunikation oder jegliche Sätze von Kommunikationen, gleich ob sie Audio-, Video-, Text- oder andere Multimediadaten beinhalten, zwischen zwei oder mehr Kommunikationsendpunkten und/oder - nutzern. Typischerweise weist eine Konferenz drei oder mehr Kommunikationsendpunkte auf.
-
Der Begriff „Kommunikationsgerät“ oder „Kommunikationsendpunkt“ bezeichnet im Rahmen des Vorliegenden jegliche Hardwarevorrichtung und/oder Software, die für das Führen einer Kommunikationssitzung funktionsfähig sind. Zum Beispiel kann ein Kommunikationsverbindung ein IP-fähiges Telefon, ein Schreibtischtelefon, ein Mobiltelefon, ein PDA, ein auf einem Rechnersystem ausgeführtes Soft-Client-Telefonprogramm usw. sein. In Ausführungsformen ist der Kommunikationsendpunkt ein Rechnersystem, wie es in Verbindung mit 7 und 8 beschrieben ist.
-
Der Begriff „Multipoint-Konferenzeinheit (MCU)“ bezeichnet im Rahmen des Vorliegenden jegliche Hardware, Software oder eine Kombination aus Hard- und Software, die funktionsfähig ist, eine Konferenz zwischen zwei oder mehr Kommunikationsendpunkten und/oder einer oder mehreren MCUs durchzuführen, zu leiten, auszuführen oder in anderer Weise zu halten. Die MCU kann ein Server- oder Computersystem sein, wie es in Verbindung mit 7 und 8 beschrieben ist. Die MCU kann ein Teil einer Konferenzbrücke sein, die zum Durchführen von Konferenzen verwendet wird.
-
Der Begriff „Einstellungen“ bezeichnet im Rahmen des Vorliegenden jegliche Konfiguration oder Eigenschaft einer MCU und/oder eines Kommunikationsendpunktes. Einstellungen können statische Eigenschaften beinhalten, die sich nicht ändern, oder dynamische Eigenschaften, die abhängig von der Konfiguration der Konferenz variieren können. Ein Beispiel für eine statische Einstellung kann die IP-Adresse des Kommunikationsendpunktes sein. Ein Beispiel für eine dynamische Einstellung kann der während einer Konferenz vom Kommunikationsendpunkt verwendete Codec sein.
-
Der Begriff „Konferenzmaschine“ bezeichnet im Rahmen des Vorliegenden ein Modul, das von einer MCU ausgeführt wird, um eine Konferenz einzurichten und/oder durchzuführen. Der Begriff „RTCP“ bezeichnet im Rahmen des Vorliegenden das Realtime Control Protocol. Das RTCP ist so, wie es in der Spezifikation RFC 3550 für das Real-Time Transport Protocol (RTP) vom Juli 2003 von Schulzrinne u. a., erhältlich von der Netzwerk-Arbeitsgruppe der Internet Engineering Task Force (IETF), beschrieben ist; dieses Dokument sowie alle anderen Dokumente, die RTCP beschreiben, sind durch Nennung vollständig mit ihrer gesamten Lehre aufgenommen. Das RTCP stellt Kenngrößen und Steuerinformationen im Zusammenhang mit dem RTP bereit. Das RTCP hilft dabei, „Metadaten“ über die Multimedia-Daten bereitzustellen, die mit RTP zu transportieren sind. RTCP-Nachrichten können über separate Anschlüsse von den RTP-Paketen gesendet werden. RTCP stellt für die Teilnehmer einer Konferenz im Allgemeinen eine Rückmeldung über die Dienstgüte (QoS - Quality of Service) bereit.
-
Der Begriff „Netzwerk“ bezeichnet im Rahmen des Vorliegenden ein System, das von einem oder mehreren Nutzern für die Kommunikation verwendet wird. Das Netzwerk kann aus einem oder mehreren Sitzungsmanagern, Feature-Servern, Kommunikationsendpunkten usw. bestehen, welche die Kommunikation, gleich ob Sprache oder Daten, zwischen zwei Nutzern ermöglichen. Ein Netzwerk kann jedes beliebige Netzwerk oder Kommunikationssystem sein, wie es in Verbindung mit 6 und 7 beschrieben ist. Im Allgemeinen kann ein Netzwerk ein lokales Netzwerk (LAN - Local Area Network) sein, ein Weitverkehrsnetz (WAN Wide Area Network), ein drahtloses LAN, ein drahtloses WAN, das Internet usw., das Nachrichten oder Daten empfängt und zwischen Geräten überträgt. Ein Netzwerk kann in jedem auf dem Fachgebiet bekannten Format oder Protokoll kommunizieren, wie beispielsweise im Übertragungssteuerungsprotokoll/Internetprotokoll (TCP/IP - Transmission Control Protocol/Internet Protocol), 802.11g, 802.11n, Bluetooth oder anderen Formaten oder Protokollen.
-
Der Begriff „Datenbank“ oder „Datenmodell“ bezeichnet im Rahmen des Vorliegenden jedes beliebige System, jede beliebige Hardware, Software, jeden beliebigen Speicher, jedes beliebige Speichergerät, Firmware, Komponente usw., die Daten speichert. Das Datenmodell kann jede beliebige Art von Datenbank oder Speicherrahmenwerk sein, wie sie in Verbindung mit 6 und 7 beschrieben ist, die auf jeder beliebigen Art von nicht-vergänglichem, materiellem, computerlesbarem Medium gespeichert ist. Das Datenmodell kann eine oder mehrere Datenstrukturen aufweisen, die einen oder mehrere Abschnitte umfassen, die ein Datenelement speichern. Ein Abschnitt kann abhängig von der Art der Datenstruktur ein Attribut eines Objektes, ein Datenfeld oder andere Arten von Abschnitten beinhalten, die in einer oder mehreren Arten von Datenstrukturen enthalten sind. Das Datenmodell kann jede beliebige Art von Datenbank darstellen, zum Beispiel relationale Datenbanken, Flachdatei-Datenbanken, objektorientierte Datenbanken oder andere Arten von Datenbanken. Ferner können die Datenstrukturen in einem Speicher oder in Speicherstrukturen gespeichert sein, die entweder in Laufzeitanwendungen oder beim Initialisieren einer Kommunikation verwendet werden.
-
Die Formulierungen „mindestens ein“, „ein oder mehrere“ und „und/oder“ sind offene Ausdrücke, die sowohl konjunktiv als auch disjunktiv wirken. Zum Beispiel bedeutet jeder der Ausdrücke „ mindestens eines von A, B und C“, „mindestens eines von A, B oder C“, „eines oder mehrere von A, B und C“, „eines oder mehrere von A, B oder C“ und „A, B und/oder C“ A allein, B allein, C allein, A und B zusammen, A und C zusammen, B und C zusammen oder A, B und C zusammen.
-
Der Begriff „in Kommunikation mit“ bezeichnet im Rahmen des Vorliegenden jede Kopplung, Verbindung oder Interaktion, die elektrische Signale verwendet, um Informationen oder Daten mit Hilfe eines beliebigen Systems, einer beliebigen Hardware, Software, eines beliebigen Protokolls oder Formates auszutauschen.
-
Der Begriff „ein“, „eine“ oder „eines“ für eine Einheit bezeichnet eine oder mehrere dieser Einheiten. Somit können die Begriffe „ein“ (oder „eine“, „eines“), „ein oder mehrere“ und „mindestens ein“ synonym verwendet werden. Es ist auch zu beachten, dass die Begriffe „umfassend“, „enthaltend“ und „aufweisend“ synonym verwendet werden können.
-
Der Begriff „automatisch“ und seine Abwandlungen bezeichnen im Rahmen des Vorliegenden jeden beliebigen Prozess oder Vorgang, der bei Ausführung des Prozesses oder des Vorganges ohne wesentliche menschliche Eingabe abläuft. Ein Prozess oder ein Vorgang kann jedoch auch dann automatisch sein, wenn die Ausführung des Prozesses oder Vorganges eine wesentliche oder unwesentliche menschliche Eingabe verwendet, wenn diese Eingabe vor der Ausführung des Prozesses oder Vorganges empfangen wird. Eine menschliche Eingabe wird als wesentlich betrachtet, wenn diese Eingabe die Art und Weise der Ausführung des Prozesses oder Vorganges beeinflusst. Eine menschliche Eingabe, die der Ausführung des Prozesses oder Vorganges zustimmt, wird nicht als „wesentlich“ betrachtet.
-
Der Begriff „computerlesbares Medium“ oder „Computerprogrammprodukt“ bezeichnet im Rahmen des Vorliegenden jeden beliebigen materiellen Speicher, der an der Bereitstellung von Ausführungsbefehlen für einen Prozessor teilnimmt. Ein derartiges Medium kann viele Formen einnehmen, insbesondere nicht-flüchtige Medien, flüchtige Medien und Übertragungsmedien. Nicht-flüchtige Medium können zum Beispiel NVRAM oder magnetische oder optische Platten sein. Flüchtige Medien sind u. a. dynamische Speicher wie der Hauptspeicher. Übliche Formen computerlesbarer Medien beinhalten zum Beispiel eine Diskette, eine flexible Magnetplatte, ein Festplattenspeicher, Magnetband oder jedes beliebige andere magnetische Medium, ein magneto-optisches Medium, eine CD-ROM, jedes beliebige andere optische Medium, Lochkarten, Papierstreifen, jedes beliebige andere physische Medium mit Lochmustern, ein RAM, ein PROM und EPROM, ein FLASH-EPROM, ein Festkörperspeicher wie eine Speicherkarte, jeder beliebige andere Speicherchip oder -kassette oder jedes beliebige andere Medium, von dem ein Computer lesen kann. Ist das computerlesbare Medium als Datenbank konfiguriert, versteht es sich, dass die Datenbank jede beliebige Art von Datenbank sein kann, wie beispielsweise relational, hierarchisch, objektorientiert und/oder dergleichen. Dementsprechend wird in Betracht gezogen, dass die Erfindung ein materielles Speichermedium und nach dem Stand der Technik anerkannte Äquivalente und Folgemedien beinhaltet, in welchen die Software-Implementierungen der vorliegenden Erfindung gespeichert sind.
-
Die Begriffe „ermitteln“, „kalkulieren“ und „berechnen“ und Variationen davon werden im Rahmen des Vorliegenden synonym verwendet und beinhalten jede beliebige Art von Methodologie, Prozess, mathematischer Operation oder Technik.
-
Der Begriff „Modul“ bezeichnet im Rahmen des Vorliegenden jede beliebige bekannte oder später entwickelte Hardware, Software, Firmware, künstliche Intelligenz, Fuzzy-Logik oder Kombinationen aus Hardware und Software, die in der Lage ist, die diesem Element zugeordnete Funktionalität auszuführen. Obwohl die Erfindung im Hinblick auf beispielhafte Ausführungsformen beschrieben ist, sollte es sich außerdem verstehen, dass einzelne Aspekte der Erfindung separat beansprucht werden können.
-
Figurenliste
-
Die vorliegende Offenbarung ist im Zusammenhang mit den angefügten Figuren beschrieben.
- 1 ist ein Blockdiagramm einer Ausführungsform eines Systems zum Durchführen einer Konferenz,
- 2 ist ein Blockdiagramm einer Ausführungsform einer MCU, die funktionsfähig ist, eine Konferenz durchzuführen,
- 3A und 3B sind Ausführungsformen eines Datenmodells, das funktionsfähig ist, Einstellungsinformationen für eine oder mehrere Konferenzen und/oder einen oder mehrere Kommunikationsendpunkte zu speichern,
- 4 ist ein Ablaufdiagramm einer Ausführungsform eines Prozesses zum Einrichten von Einstellungen für eine Konferenz,
- 5 ist ein Ablaufdiagramm einer Ausführungsform eines Prozesses zum Reagieren auf eine Fehlfunktion während der Konferenz,
- 6 ist ein Ablaufdiagramm einer Ausführungsform eines Prozesses zum Reagieren auf eine Veränderung in einer Konferenz,
- 7 ist ein Blockdiagramm einer Ausführungsform einer Computerumgebung, die funktionsfähig ist, die hierin beschriebenen Ausführungsformen auszuführen, und
- 8 ist ein Blockdiagramm einer Ausführungsform einer Computer- oder Computersystemumgebung, die funktionsfähig ist, als das eine oder die mehreren hierin beschriebenen Geräte zu fungieren.
-
In den angefügten Figuren können gleichartige Komponenten und/oder Merkmale das gleiche Bezugszeichen aufweisen. Des Weiteren können verschiedene Komponenten der gleichen Art durch Anhängen eines Buchstabens an das Bezugszeichen unterschieden werden, der unter den gleichartigen Komponenten unterscheidet. Wird in der Spezifikation nur das erste Bezugszeichen verwendet, ist die Beschreibung ungeachtet des zweiten Bezugszeichens auf jede der gleichartigen Komponenten anwendbar, die das erste Bezugszeichen aufweisen.
-
AUSFÜHRLICHE BESCHREIBUNG
-
Die folgende Beschreibung stellt lediglich Ausführungsformen bereit und soll den Schutzumfang, die Anwendbarkeit oder Konfiguration in den Ansprüchen nicht beschränken. Vielmehr stellt die folgende Beschreibung dem Fachmann eine zum Umsetzen der Ausführungsformen befähigende Beschreibung bereit. Es versteht sich, dass verschiedene Veränderungen an der Funktion und Anordnung von Elementen vorgenommen werden können, ohne vom Geist und Schutzumfang der angefügten Ansprüche abzuweichen.
-
Eine Ausführungsform eines Systems 100 zum Durchführen einer Konferenz ist in 1 dargestellt. Das System 100 kann zwei oder mehr MCUs beinhalten, wie beispielsweise die MCU 1 106a und die MCU 2 106b. Die MCUs 106 können mit einem oder mehreren Kommunikationsendpunkten 102a, 102b, 104a und/oder 104b in Verbindung stehen. Zum Beispiel kann die MCU 1 106a mit Kommunikationsendpunkt 1 102a und/oder Kommunikationsendpunkt 2 102b in Verbindung stehen. Es können mehr oder weniger Kommunikationsendpunkte 102 mit der MCU 1 106a in Verbindung stehen als die in 1 dargestellten, wie durch Ellipsen 108 dargestellt ist. In gleicher Weise kann die MCU 2 106b mit dem Kommunikationsendpunkt 3 104a und dem Kommunikationsendpunkt 4 104b in Verbindung stehen. Die MCU 2 106b kann mit mehr oder weniger Kommunikationsendpunkten in Verbindung stehen als die in 1 dargestellten, wie durch Ellipsen 112 dargestellt ist.
-
Die Kommunikationsendpunkte 102 oder 104 können über ein oder mehrere Netzwerke 110 mit den MCUs 106 kommunizieren. Die Netzwerke 110 können lokale Netzwerke (LAN), Weitverkehrsnetze (WAN), das öffentliche Telefonnetz, das Internet, andere Arten von Daten- oder Telefonnetzen oder andere Netzwerke darstellen, die in der Lage sind, Daten bidirektional zwischen den Kommunikationsendpunkten 102 und den MCUs 106 zu kommunizieren. Des Weiteren können die MCUs 106 über ein Netzwerk 110b miteinander kommunizieren.
-
Eine Ausführungsform einer MCU 106 ist in 2 dargestellt. Die MCU 106a kann ein oder mehrere Module ausführen, die Hardware und/oder Software sein können, um eine Konferenz durchzuführen. Die MCU 106 kann eine Konferenzmaschine 202 ausführen, die eine oder mehrere Konferenzen 204a oder 204b durchführen kann. Zum Beispiel führt die Konferenzmaschine 202 die Konferenz 1 204a und die Konferenz 2 204b durch. Die Konferenzmaschine 202 kann mehr oder weniger Konferenzen durchführen als die in 2 dargestellten, wie durch Ellipsen 206 dargestellt ist. Die Konferenzmaschine 202 ist funktionsfähig, Konferenzen zu starten, während sich die Kommunikationsendpunkte 102 per Anruf in eine Konferenz 204 einschalten. Die Konferenzmaschine 202 kann außerdem zwei oder mehr Kommunikationsendpunkte 102 in einer Konferenz 204 verbinden, um während der Konferenz 204 Daten zwischen den zwei Kommunikationsendpunkten 102 zu übertragen. Somit kann die Konferenzmaschine 202 Daten von den Kommunikationsendpunkten 102 empfangen und an diese senden und zwischen den Kommunikationsendpunkten 102 übertragen. Die Konferenz kann einen oder mehrere Kommunikationsendpunkte 102 beinhalten, wie durch die Ellipsen 208 dargestellt ist.
-
Um eine Konferenz einzurichten, kommuniziert die Konferenzmaschine 202 mit anderen Konferenzmaschinen. Die Konferenzmaschine 202 ist funktionsfähig, die Konferenz mit einer zweiten MCU 106b und/oder den Kommunikationsendpunkten 102 zu starten und durchzuführen. Somit ist die Konferenzmaschine 202 funktionsfähig, eine Verbindungsleitung über ein Netzwerk 110 zu erzeugen, um mit anderen MCUs, z. B. der MCU 2 106b, und/oder den Kommunikationsendpunkten 102 Daten auszutauschen (z. B. Audio-, Video- oder andere Multimediadaten). Die durch die Konferenzmaschine 202 von der zweiten MCU 106b empfangenen Daten werden dann als Teil der Konferenz 204 verteilt. Somit können Audio-, Video- oder andere Daten, die von der MCU 106b empfangen werden, über die Konferenzmaschine 202 zu den Kommunikationsendpunkten 102 kommuniziert werden, die Teil der Konferenz 204 sind.
-
Die MCU 106a kann außerdem ein Konferenzüberwachungsmodul 214 beinhalten. Die Konferenzüberwachung 214 kann eine oder mehrere der Konferenzen 204 überwachen, die von der Konferenzmaschine 202 durchgeführt werden. Die Konferenzüberwachung kann Dienstgütekenngrößen (QOS-Kenngrößen) messen. Die Messung der QOS-Kenngrößen kann das Messen von Paketverzögerung, Jitter oder anderen Arten von QOS-Messwerten beinhalten, die mit Hilfe des RTCP oder anderer proprietärer Mechanismen entwickelt werden können. Die QOS-Kenngrößen können die Qualität der Kommunikation zwischen MCUs oder zwischen einer MCU und einem Kommunikationsendpunkt 102/104 messen. In Ausführungsformen kann die Konferenzüberwachung 214 über die RTCP-Verbindung zwischen entweder der MCU 106a und einer oder mehreren MCUs 106B oder zwischen der MCU 106A und dem Kommunikationsendpunkt 102 Berichte empfangen. Diese gemessenen Informationen können durch die Konferenzüberwachung 214 mit einem Grenzwert verglichen werden, um zu ermitteln, ob die QOS-Messwerte eine bestimmte, vorher festgelegte Anforderung für die Konferenz 204 erfüllen. Die Ermittlung oder Messungen können für die Konferenzmaschine 202 bereitgestellt werden, um zu ermitteln, ob an der Konferenz 204 Veränderungen vorgenommen werden müssen. Die QOS-Daten können von und zwischen Güteüberwachungsanwendungen, die von den Konferenzmaschinen 202 der MCUs 106 ausgeführt werden, mit Hilfe des RTCP oder anderer proprietärer Signalübertragung über das Übertragungssteuerungsprotokoll (TCP)/User Datagram Protocol (UDP) transportiert werden.
-
Vom Kommunikationsendpunkt 102a kann eine Funktions-/Einstellungsanwendung 216 ausgeführt werden. Die Funktions-/Einstellungsanwendung 216 kann funktionsfähig sein, für die MCU 106 Informationen bereitzustellen oder Einstellungen von der MCU 106 anzufordern. Somit kann ein Kommunikationsendpunkt 106, wenn er mit der MCU 106 eine Konferenz 204 beginnt, Einstellungen von der MCU 106 anfordern und die Funktionen des Kommunikationsendpunktes an die MCU 106 senden. Die Einstellungen können eine Netzwerkeinstellung, eine Kommunikationsendpunkteinstellung oder eine Konferenzmaschineneinstellung beinhalten. Die Funktions-/Einstellungsanwendung 216 kann dann die Einstellungen empfangen und diese Einstellungen am Kommunikationsendpunkt 102 für eine anstehende Konferenz 204 speichern. In alternativen Ausführungsformen kann die Ermittlung der Einstellungen der MCU 106 und das Verbreiten der Einstellungen ad hoc zu einer beliebigen Zeit während der Konferenz erfolgen.
-
In weiteren Ausführungsformen kann die MCU 106 außerdem eine Datenbank für Endpunkteinstellungen 212 beinhalten. Die Datenbank für Endpunkteinstellungen 212 kann jede beliebige Datenbank sein, wie sie in Verbindung mit 7 und 8 beschrieben ist. In Ausführungsformen speichert die Datenbank für Endpunkteinstellungen 212 alle Informationen über die Einstellungen für einen oder mehrere Endpunkte 102, die an einer oder mehreren Konferenzen 204 beteiligt sind. Des Weiteren kann die Datenbank für Endpunkteinstellungen 212 archivierte Informationen über Endpunkte 102 speichern, die zuvor an einer Konferenz 204 beteiligt waren. Diese archivierten Informationen können vom Endpunkt 102 und/oder der Konferenz 204 indexiert werden. Während Konferenzen können die MCUs 106 durch Berichtskommunikation durch RTCP oder ein anderes proprietäres Protokoll Informationen über Endpunkte 102 austauschen, die in Verbindung mit den MCUs 106 stehen. Die ausgetauschten Informationen können durch die Konferenz und/oder die Kommunikationsendpunkte 102 in der Datenbank für Endpunkteinstellungen 212 indexiert werden. Außerdem kann die Datenbank für Endpunkteinstellungen 212 auch die Endpunkteinstellungen für einen Kommunikationsendpunkt 102 oder die Konferenzmaschine 202 zur Verwendung bei der Einrichtung von Konferenzen bereitstellen. Ein Beispiel für eine Datenbank für Endpunkteinstellungen ist die in Verbindung mit 3 beschriebene.
-
Ein Beispiel für die Datenbank für Endpunkteinstellungen 212 zum Speichern von Einstellungsinformationen zu Konferenzen 204 ist in 3A und 3B dargestellt. Die in 3A und 3B dargestellte Datenbank für Endpunkteinstellungen 212 kann eine oder mehrere Datenstrukturen beinhalten. Zum Beispiel kann die Datenbank für Endpunkteinstellungen 212 eine erste Datenstruktur 302 und eine zweite Datenstruktur 316 beinhalten, die in 3A beziehungsweise 3B separat dargestellt sind. Die Datenstrukturen 302 und 316 können einen oder mehrere Abschnitte beinhalten, die Informationen speichern. Jeder Abschnitt kann einen oder mehrere Dateneinträge speichern.
-
In Ausführungsformen beinhaltet die Datenstruktur 302 Abschnitte für eine Endpunktkennung 304, einen Endpunktstandort 306, Endpunkteigenschaften 308 und/oder Endpunkt-Rufeigenschaften 310. Die Datenstruktur 302 kann mehr oder weniger Felder beinhalten als das in 3A dargestellte, wie durch Ellipsen 312 dargestellt ist. Des Weiteren kann die Datenstruktur 302 einem einzelnen Endpunkt zugeordnet sein. Deshalb können mehr Datenstrukturen 302 vorhanden sein als die in 3A dargestellte, wie durch Ellipsen 314 dargestellt ist. Eine Endpunktkennung 304 kann jede beliebige Kennung (ID) beinhalten, die einen Kommunikationsendpunkt 102 eindeutig bezeichnen kann. Zum Beispiel kann die Endpunkt-ID 304 ein Globally Unique Identifier (GUID), eine Telefonnummer, eine IP-Adresse, eine Modellnummer, ein Hersteller, eine MAC-Adresse oder eine andere Art von Kennung sein. Die Endpunkt-ID 304 kann die Datenstruktur 302 gegenüber anderen Datenstrukturen, die anderen Endpunkten 102 zugeordnet sind, eindeutig bezeichnen.
-
Ein Endpunktstandort 306 kann den physischen oder logischen Standort des Kommunikationsendpunktes 102 bezeichnen. Zum Beispiel kann der Endpunktstandort 306 eine physische Adresse (z. B. 13456 Main St.) des Kommunikationsendpunktes 102, ein Breiten- und Längengrad oder eine andere Standortinformation sein, die bezeichnet, wo der Kommunikationsendpunkt 102 physisch angeordnet ist. In anderen Beispielen kann der Endpunktstandort 306 eine Subnetzadresse oder eine andere Kennung für den Netzwerkstandort des Kommunikationsendpunktes 102 sein. Der Endpunktstandort 306 kann ein Indikator dafür sein, wie die Konferenz basierend auf dem physischen Abstand zwischen dem Kommunikationsendpunkt 102 und der MCU 106 abzustimmen ist. Größere physische Abstände können bestimmte Veränderungen der Konferenzgüte bewirken.
-
Endpunkteigenschaften 308 können eine oder mehrere Eigenschaften beinhalten, die den Kommunikationsendpunkt 102 beschreiben. Diese Kommunikationsendpunkteigenschaften 308 können Informationen darüber beinhalten, über welche Funktionen der Kommunikationsendpunkt 102 verfügt. Zum Beispiel können die Endpunkteigenschaften 308 einen oder mehrere Codierer/Decodierer (Codecs) beinhalten, welche der Kommunikationsendpunkt 102 ausführen kann. Es kann jede beliebige Information darüber, wie ein Kommunikationsendpunkt 102 eine Konferenz durchführen kann, in den Endpunkteigenschaften 308 enthalten sein.
-
Die Endpunkt-Rufeigenschaften 310 können Informationen über eine oder mehrere Konferenzen 204 beschreiben, an denen der Kommunikationsendpunkt 102 entweder zuvor beteiligt war oder gegenwärtig beteiligt ist. Die Endpunkt-Rufeigenschaften 310 können Informationen über die Einstellungen für die Konferenz beinhalten. Die Einstellungsinformationen können verwendet werden, um zukünftige Konferenzen zu konfigurieren, um die beste Möglichkeit guter QOS-Eigenschaften bereitzustellen. Zum Beispiel kann die Art des Codec, der vom Kommunikationsendpunkt 102 für die Konferenz verwendet wird, in einer Weise ausgewählt werden, die zuvor erfolgreichen Konferenzen 204 mit diesem Kommunikationsendpunkt 102 ähnlich ist. Die vorherigen Konferenzen 204 werden wahrscheinlich die gleichen Rufeigenschaften aufweisen und folglich eine Plan bereitstellen, wie die Konferenz 204 mit dem Kommunikationsendpunkt 102 durchzuführen ist. Zum Beispiel kann die Art des verwendeten Codec verändert werden, wenn der Kommunikationsendpunkt von der MCU 106 physisch getrennt ist, um Abstimmungen für Paketverzögerungen und andere QOS-Probleme vorzunehmen. Die Endpunkt-Rufeigenschaften 310 können auch eine Sammlung von Gütemetriken sein, die während der Konferenz 204 empfangen werden und die in der Datenstruktur 302 als Aufzeichnung vorheriger Konferenzen 204 gespeichert sein können.
-
Eine zweite Datenstruktur 316 kann Einstellungen für eine Konferenz 204 speichern. Jeder Konferenz 204, die von der Konferenzmaschine 202 durchgeführt wird, kann eine Datenstruktur 316 zugeordnet sein. Es können mehr Konferenzdatenstrukturen 316 vorhanden sein als die in 3B dargestellte, wie durch Ellipsen 330 dargestellt ist. Die Datenstruktur 316 kann einen oder mehrere Abschnitte beinhalten, die jeweils einen oder mehrere Dateneinträge beinhalten können. Die Daten können eine Konferenz-ID 318, Konferenzeinstellungen 320, einen Scoring-Algorithmus 322, einen Grenzwert 324, eine oder mehrere Reaktionen 326 und/oder eine oder mehrere Endpunktkennungen 328 beinhalten. Die Datenstruktur 316 kann einen oder mehrere weitere Abschnitte beinhalten oder kann weniger Abschnitte beinhalten, wie durch die Ellipsen 330 dargestellt ist.
-
Die Konferenz-ID 318 kann eine ID sein, die eine Konferenz 204 gegenüber allen anderen Konferenz 204 eindeutig bezeichnet. Die Konferenz-ID 318 kann eine GUID, ein Konferenzzugangscode, eine Telefonnummer für die Konferenz oder eine andere Kennung sein, die eine Konferenz bezeichnet. Diese Konferenz-ID 318 kann verwendet werden, um die verwendeten Konferenzeinstellungen in Zukunft aufzufinden. Die Konferenzeinstellungen 320 können alle Konfigurationsinformationen für die Konferenz 204 beinhalten. Die Konfigurationsinformationen können beinhalten, welche Codecs von den Kommunikationsendpunkten 102 verwendet wurden, die Verzögerung oder andere Informationen aus einem Gütebericht, Informationen darüber, welche Kommunikationsendpunkte 102 (und die Eigenschaften der Kommunikationsendpunkte) an der Konferenz 204 beteiligt sind usw. Die Konferenzeinstellungsinformationen 320 können bereitgestellt werden, um die Konfiguration weiterer Konferenzen zu unterstützen. Die Daten, die durch die MCU gespeichert und den 3A und 3B zugeordnet sind, können in Abhängigkeit davon archiviert werden, ob die Daten von der MCU 106 bestimmt oder von einem anderen Gerät übertragen und von der MCU 106 empfangen werden. Die Daten können später verwendet werden, um basierend auf einem Normalisierungsschema zwischen den MCUs 106 Einstellungen für das Gerät zu extrapolieren. In alternativen Ausführungsformen kann mindestens ein Abschnitt der Daten, die 3A und 3B zugeordnet sind, in einem oder mehreren der Kommunikationsendpunkte 102/104 archiviert werden. Die für eine Konferenz verwendeten Einstellungen mit bestimmten Eigenschaften können eine MCU 106 lehren, wie Geräte, beispielsweise die Endpunkte 102, für eine Konferenz zu konfigurieren sind. Somit kann eine MCU 106 in der Zukunft bestimmen, welche Einstellungen, basierend auf der letzten, besten Konfiguration für eine vergangene Konferenz mit ähnlichen oder gleichen Eigenschaften, als Standardeinstellungen für ein Gerät zu verwenden sind.
-
Ein Scoring-Algorithmus 322 kann einen vorher festgelegten Algorithmus beinhalten, der der Konferenzüberwachung 214 präsentiert werden soll, um eine oder mehrere Konferenzen 204 zu überwachen. Der Scoring-Algorithmus 322 kann vom Benutzer erzeugt, automatisch oder eine Kombination sein, wobei der Benutzer Gewichtungen zuordnen kann, die bestimmten Kriterien der in einem automatischen Algorithmus verwendeten QOS-Messwerte zugeordnet sind. Der Scoring-Algorithmus 322 kann außerdem aus verfügbaren Informationen einen algorithmischen Score erzeugen, zum Beispiel von 1 bis 10, wobei 10 der höchste Wert ist, wobei die Konferenzeinstellungen 320 durch die Konferenzmaschine 202 geändert werden können, wenn ein Score unter einen bestimmten Wert fällt. Der algorithmische Score kann mit einem Grenzwert 324 verglichen werden. Deshalb speichert der Grenzwertabschnitt 324 einen Grenzwert, der bei Überschreitung anzeigt, dass die Einstellungen für die Konferenzen 204 geändert werden sollten, um schlechte QOS und andere Probleme zu beheben. Der Grenzwert 324 kann ein einzelner QOS-Messwert oder eine Kombination von Messwerten sein. Zum Beispiel kann der Grenzwert 324 ein eingestellter Score sein, beispielsweise 8 von 10.
-
Der Konferenz 204 können eine oder mehrere automatisierte Reaktionen 326 zugeordnet oder für sie gespeichert sein. Die automatisierten Reaktionen 326 können durch Überschreiten des Grenzwertes 324 ausgelöst werden. Eine automatisierte Reaktion 326 kann eine Veränderung der Konferenzeinstellungen 320 beinhalten, die in Reaktion auf eine Grenzwertüberschreitung von der Konferenzmaschine 202 vorgenommen würde. In anderen Ausführungsformen ist die automatisierte Reaktion 326 eine Nachricht, die von der MCU 106 zum Endpunkt 102/104 gesendet wird, um die Endpunkteinstellungen zu verändern. In noch einer weiteren Ausführungsform kann die automatisierte Reaktion 326 eine Nachricht oder ein Signal beinhalten, die/das zu einem Administrator oder einer anderen Partei gesendet wird, um die Einstellungen der Konferenz zu verändern oder abzustimmen. So kann das Signal an den Administrator das Problem beschreiben und welche Komponenten von dem Problem betroffen sind. Der Administrator kann dann die Komponenteneinstellungen manuell in einer Weise verändern, die entweder durch den Administrator bestimmt oder durch das Signal vorgeschlagen wird, um das Problem zu lösen. Die Veränderung der Einstellungen kann durch Verfahren erfolgen, die auf dem Fachgebiet bekannt sind. Diese automatisierten Reaktionen 326 können durch den Benutzer vorher festgelegt werden oder können mit dem System automatisiert und durch die Konferenzmaschine 202 ausgeführt werden.
-
Eine Endpunktkennung 328 kann die IDs der Kommunikationsendpunkte 102 beinhalten, die an der Konferenz 204 beteiligt sind. Die Kommunikationskennungen 328 können der Kommunikationsendpunkt-ID 304 derart gleichen oder ähneln, dass die in der Datenstruktur 302 beschriebenen Kommunikationsendpunkte 102 einer oder mehreren, in der Datenstruktur 316 beschriebenen Konferenzen 204 zugeordnet werden können.
-
Die Konferenzinformationen können indexiert werden. Das Indexieren beinhaltet das Speichern von Informationen über die Kommunikationsendpunkte 102 und Konferenzen 204, die von anderen MCUs 106 empfangen werden. Zum Beispiel kann eine erste MCU 106a analysierte Daten oder andere Informationen an eine zweite MCU 106b senden, um die Daten oder Informationen in einer Netzwerk-Datenbank zu speichern. Diese zusätzlichen Informationen können während der Konferenz 204 als RTCP-Berichte oder über andere proprietäre Signalgebung empfangen werden. Die indexierten Informationen können verschiedene Arten von Einstellungen für verschiedene Kommunikationsendpunkte 102 beinhalten, die von anderen MCUs 106 vorgenommen wurden. Zum Beispiel kann eine MCU 106a eine bestimmte Konferenzeinstellung für einen Kommunikationsendpunkt 102 aufweisen, die in einer ersten Konferenz verwendet wurde, während eine zweite MCU 106b eine andere Konferenzeinstellung für einen Kommunikationsendpunkt 102 für eine zweite Konferenz aufweist. Diese unterschiedlichen Einstellungen können in den Datenstrukturen 302 und 316 gespeichert sein. Die indexierten Informationen können verwendet werden, um den Scoring-Algorithmus 322 und/oder die automatisierte Reaktion 326 einzurichten.
-
Eine Ausführungsform eines Verfahrens 400 zum automatischen Einrichten von Einstellungen für eine Konferenz ist in 4 dargestellt. Im Allgemeinen beginnt das Verfahren 400 mit einem Startvorgang 402 und endet mit einem Endvorgang 416. Obwohl in 4 eine allgemeine Abfolge für die Schritten des Verfahrens 400 dargestellt ist, kann das Verfahren 400 mehr oder weniger Schritte beinhalten oder die Abfolge der Schritte kann anders als in 4 dargestellt geordnet sein. Das Verfahren 400 kann als ein Satz von computerausführbaren Befehlen ausgeführt werden, die von einem Computersystem ausgeführt werden und auf einem computerlesbaren Medium codiert oder gespeichert sind. Das Verfahren 400 soll hierin im Weiteren in Bezug auf die Systeme, Komponenten, Module, Datenstrukturen, Nutzerschnittstellen usw. erklärt werden, die in Verbindung mit 1 bis 3B beschrieben sind.
-
Eine MCU 106 kann in Schritt 404 eine Anforderung einer Konferenz 204 von einem Kommunikationsendpunkt 102 empfangen. Der Kommunikationsendpunkt 102 kann mit Hilfe eines oder mehrerer Kommunikationsprotokolle, wie beispielsweise SIP/H.323, über ein Netzwerk 110 eine Konferenzanforderung an die MCU 106 senden. Nach dem Empfang der Konferenzanforderung kann die MCU 106 in Schritt 406 ermitteln, ob mit dem Kommunikationsendpunkt 102 zum ersten Mal eine Konferenz 204 durchgeführt wird. Der Kommunikationsendpunkt 102 kann neu erstellt oder konfiguriert sein und Anfangseinstellungen für eine Konferenz 204 benötigen. Um diese Ermittlung vorzunehmen, kann die MCU die Datenbank für Endpunkteinstellungen 212 nach Informationen über den Kommunikationsendpunkt 102 durchsuchen. Zum Beispiel kann die MCU in der Datenstruktur 302 der Datenbank für Endpunkteinstellungen 212 nach der Kommunikationsendpunkt-ID 304 (die eventuell in der Konferenzanforderung empfangen wird) suchen. Wird keine Kommunikationsendpunkt-ID 304 gefunden, kann die MCU 106 ermitteln, dass der Kommunikationsendpunkt 102 keine Anfangseinstellungen empfangen hat und an keiner Konferenz 204 teilgenommen hat. In alternativen Ausführungsformen kann der Kommunikationsendpunkt 102 Einstellungen von der MCU 106 anfordern. Ermittelt die MCU 106, dass diese Anforderung das erste Mal ist, dass ein Kommunikationsendpunkt 102 an einer Konferenz 204 mit der MCU 106 teilnimmt, fährt das Verfahren somit mit JA mit Schritt 408 fort. Wird die Kommunikationsendpunkt-ID jedoch in der Datenstruktur 302 der Datenbank für Endpunkteinstellungen 212 gefunden, fährt das Verfahren mit NEIN mit Schritt 414 oder mit dem Endvorgang 416 fort. In alternativen Ausführungsformen fährt das Verfahren 400 mit NEIN mit dem optionalen Schritt 414 oder mit dem Endvorgang 416 fort, wenn andere Informationen (z. B. Modell, Art usw. des Kommunikationsendpunktes) über den Kommunikationsendpunkt 102 mit einem ähnlichen Kommunikationsendpunkt 102 übereinstimmen.
-
Nach dem Erzeugen der Datenstruktur 302 muss die MCU 106 Einstellungsinformationen für die Konferenz 204 an den Kommunikationsendpunkt 102 senden. Da dies das erste Mal ist, dass der Kommunikationsendpunkt 102 an einer Konferenz 204 beteiligt ist, kann die MCU 106 einen Satz von Standardeinstellungen abrufen, die in der Datenbank für Endpunkteinstellungen 212 gespeichert sein können, um sie in Schritt 408 zum Kommunikationsendpunkt 102 zu senden. In Ausführungsformen kann der Kommunikationsendpunkt 102 mit der Funktions-/Einstellungsanwendung 216 seine Funktionen für die MCU 106 bereitstellen. Diese Funktionen können in der Konferenzanforderung oder in einer separaten Datenübertragung an die MCU 106 gesendet werden. Unter Verwendung der Funktionsinformationen kann die MCU 106 ermitteln, welche Einstellungen an den Kommunikationsendpunkt 102 zu senden sind. Diese Einstellungen können von der MCU 106 in Reaktion auf die Konferenzanforderung zum Kommunikationsendpunkt 102 übertragen werden.
-
Die MCU 106 kann dann unter Verwendung der ID des Kommunikationsendpunktes 102, die in der Konferenzanforderung bereitgestellt wurde, in Schritt 410 eine Datenstruktur 302 erzeugen, die dem Kommunikationsendpunkt 102 zugeordnet ist. Die Endpunktkonfiguration kann außerdem die anderen Felder in der Datenstruktur 302 vervollständigen. Somit können die Konferenzanforderung und die Funktionsinformationen, die vom Kommunikationsendpunkt 102 empfangen wurden, in der Datenstruktur 302 gespeichert werden. Des Weiteren können auch der Endpunktstandort 306 und die Endpunkteigenschaften 308 in der Datenstruktur 302 gespeichert werden. Die Datenstruktur 302 wird dann in der Datenbank für Endpunkteinstellungen 212 gespeichert.
-
Diese Einstellungen, Funktionen und jegliche indexierten Einstellung können dann in Schritt 412 gesichert werden. Wird eine Konferenzanforderung von einem Kommunikationsendpunkt 102 empfangen, erzeugt die MCU 106 die Datenstruktur 302. Der Kommunikationsendpunkt 102 kann jedoch während einer Konferenz mit einer oder mehreren anderen MCUs 106 kommunizieren. Somit kann jede MCU 106 separate und individuelle Datenstrukturen 302 für die mit der MCU 106 kommunizierenden Kommunikationsendpunkte 102 erzeugen, da jeder Kommunikationsendpunkt 102 während einer Konferenz 204 mit verschiedenen Kommunikationsendpunkten 102 kommunizieren kann. Somit speichert jede MCU 106 in ihrer Datenbank für Endpunkteinstellungen 212 Informationen für verschiedene Kommunikationsendpunkte 102.
-
Diese MCUs 106 können ferner mit Hilfe von RTCP-Berichten oder anderer proprietärer Signalgebung miteinander kommunizieren, wobei sie in diesem Fall Informationen über einen Kommunikationsendpunkt 102 empfangen können, der mit der entfernten MCU 106 kommuniziert. Diese Informationen können in der Kommunikationsendpunkt-Datenstruktur 302 indexiert sein. Deshalb kann jede MCU 106 mehrere Abschnitte von Endpunkt-Rufeigenschaften 310 speichern, sowohl bei direkter Verbindung der MCU 106 mit dem Kommunikationsendpunkt 102 als auch bei Bereitstellung von Informationen durch eine entfernte MCU 106 über einen Kommunikationsendpunkt 102, der mit der entfernten MCU 106 verbunden ist. In Ausführungsformen tauschen und übertragen die MCUs 106 Kommunikationseinstellungen zwischen den MCUs 106. Die übertragenen Einstellungen für entfernte Endpunkte 102 können vereinheitlicht und mit den Einstellungen für lokal verbundene Endpunkte 102 zusammengeführt werden. Die Einstellungen von den verschiedenen Endpunkten 102 können dann gespeichert werden. Diese Kommunikationsendpunktinformationen können indexiert werden, um der MCU 106 den Aufbau einer Datenbank für Rufeigenschaften jedes Kommunikationsendpunktes 102 zu ermöglichen. Somit kann die MCU 106 bei sich ändernden QOS-Messwerten die Indexinformationen verwenden, um zu ermitteln, wie die Konferenz in Reaktion auf den Kommunikationsendpunkt 102 zu ändern ist. Diese gespeicherte Information lehrt und informiert die MCU 106, wie Einstellungen unter Verwendung eines oder mehrerer proprietärer Algorithmen für einen Endpunkt 102 bereitgestellt werden können. Sämtliche Einstellungen, Funktionen und Indexmesswerte können in der Datenstruktur 302 gespeichert werden.
-
Der optionale Schritt 414 beinhaltet, dass die MCU 106 Einstellungen an den Kommunikationsendpunkt 102 sendet, die für die Konferenz oder Konferenzvorgaben spezifisch sind. Zum Beispiel kann eine MCU 106 an einem vom Kommunikationsendpunkt 102 entfernten physischen Standort, basierend auf der physischen Trennung, andere Vorgaben oder Einstellungen an den Kommunikationsendpunkt 102 senden. Zum Beispiel können an einer entfernten MCU 106 Paketverzögerungen auftreten, die QOS-Probleme bei der Konferenz bewirken könnten. Deshalb kann die MCU 106 andere Codec-Einstellungen für die Konferenz an den Kommunikationsendpunkt 102 senden. Die spezifischen Konferenzeinstellungen sind in der Konferenzdatenstruktur 316 gespeichert und werden von der MCU 106 über das Netzwerk 110 an den Kommunikationsendpunkt 102 gesendet. Somit unterstützt eine konsolidierte Konferenzeinstellungsdatenbank die Einrichtung der Konferenz, indem die Einstellungen des entfernten Kommunikationsendpunktes 102 vereinheitlicht und in der Datenbank zusammengeführt sind.
-
In 5 ist eine Ausführungsform eines Verfahrens 500 zum automatischen Wiederherstellen von Einstellungsinformationen nach einer Fehlfunktion dargestellt. Eine Fehlfunktion kann in schlechten QOS-Eigenschaften, der Fehlfunktion eines oder mehrerer Geräte, die für die Konferenz verwendet werden, der Unmöglichkeit, die Konferenz einzurichten, usw. bestehen. Im Allgemeinen beginnt das Verfahren 500 mit einem Startvorgang 502 und endet mit einem Endvorgang 510. Obwohl in 5 eine allgemeine Abfolge von Schritten im Verfahren 500 dargestellt ist, kann das Verfahren 500 mehr oder weniger Schritte beinhalten oder die Abfolge der Schritte kann anders als im Verfahren 500, das in 5 dargestellt ist, geordnet sein. Das Verfahren 500 kann ein Satz von computerausführbaren Befehlen sein, die von einem Computersystem oder Prozessor ausgeführt werden und/oder auf einem computerlesbaren Medium codiert oder gespeichert sind. Das Verfahren 500 soll hierin im Weiteren in Bezug auf die Systeme, Komponenten, Module, Datenstrukturen, Nutzerschnittstellen usw. erklärt werden, die in Verbindung mit 1 bis 3B beschrieben sind.
-
Während Konferenzen können die MCU(s) 106 und die Kommunikationsendpunkt(e) 102 durch den Empfang von RTCP-Berichten oder andere proprietäre Mechanismen die Konferenzeinstellungen und Konfiguration erfahren. Die erfahrenen Informationen können verwendet werden, um die Konferenz abzustimmen oder auf Probleme während der Konferenz zu reagieren. Ein Kommunikationsendpunkt kann in Schritt 504 eine Fehlfunktion oder ein Konferenzproblem aufweisen. Zum Beispiel kann der Kommunikationsendpunkt 102 die Verbindung verlieren (Sprache, Video oder beides), eine Hardware/Software-Fehlfunktion aufweisen oder aufgrund eines Netzwerkfehlers aus der Konferenz ausscheiden. Nach dem Versuch, die Konferenz erneut zu vereinigen oder wiederherzustellen, weist der Kommunikationsendpunkt 102 eventuell nicht mehr die Konferenzeinstellungen auf, die ursprünglich von der MCU 106 gesendet wurden, oder erfordert neue Einstellungen. Somit ist der Kommunikationsendpunkt 102 eventuell nicht zur erneuten Vereinigung oder zum korrekten Beheben der mit der Konferenz verbundenen Probleme in der Lage oder er kann Probleme bei der Konferenz verursachen, sobald sich der Kommunikationsendpunkt 102 erneut an der Konferenz 204 beteiligt.
-
Der Kommunikationsendpunkt kann sich in Schritt 506 wiederherstellen. Dazu kann der Kommunikationsendpunkt beheben, was immer die Fehlfunktion in Schritt 504 bewirkt hat. Das Wiederherstellen kann auch das erneute Senden einer Konferenzanforderung vom Kommunikationsendpunkt an die MCU 106 beinhalten, um sich erneut an der Konferenz zu beteiligen. Nach der Wiederherstellung und der erneuten Einrichtung der Neuverbindung mit der Konferenz 204 kann es für den Kommunikationsendpunkt 102 notwendig sein, die Einstellungen für die Konferenz 204 neu zu empfangen.
-
Die Konferenzeinstellungen werden in Schritt 508 neu eingerichtet. In einer Ausführungsform kann der Kommunikationsendpunkt 102 die Konferenzeinstellungen in der Funktions-/Einstellungsanwendung 216 gespeichert haben und fähig sein, die Konferenz durch Lesen und erneutes Ausführen jeglicher durch die Funktions-/Einstellungsanwendung 216 gesicherten Einstellungen erneut einzurichten oder sich wieder an ihr zu beteiligen. Somit können die von der MCU 106 gesendeten ursprünglichen Einstellungen verwendet werden, um den Kommunikationsendpunkt 102 nach dem Wiederherstellen nach der Fehlfunktion in der Konferenz 204 neu einzurichten.
-
In einer weiteren Ausführungsform empfängt die MCU 106 von Kommunikationsendpunkt 102 eine zweite Konferenzanforderung oder bestimmt das Problem aus dem RTCP-Bericht oder anderen proprietären Mechanismen. Die Konferenzanforderung kann die Information über die Konferenz 204 beinhalten, die in der Datenstruktur 316 angeordnet sein kann. Somit kann die MCU 106 die Konferenzkennung 318 suchen, die in der Konferenzanforderung enthalten sein kann, um die Datenstruktur 316 aufzufinden. Nach dem Auffinden der Datenstruktur 316 kann die MCU 106 dann die Konferenzeinstellungen zurück zum Kommunikationsendpunkt 102 senden, indem sie diese Konferenzeinstellungen aus den Konferenzeinstellungen 320 in der Datenstruktur 316 liest und erneut eine Reaktion auf die Konferenzanforderung sendet. Somit kann der Kommunikationsendpunkt 102 dann nach dem erneuten Bereitstellen der Einstellungen, die erneut an den Kommunikationsendpunkt 102 gesendet wurden, die Verbindung mit der Konferenz 204 neu einrichten.
-
In 6 ist eine Ausführungsform eines Verfahrens 600 zum automatischen Abstimmen auf Änderungen in der Konferenz 204 dargestellt. Im Allgemeinen beginnt das Verfahren 600 mit einem Startvorgang 602 und endet mit einem Endvorgang 610. Obwohl in 6 eine allgemeine Abfolge von Schritten im Verfahren 600 dargestellt ist, kann das Verfahren 600 mehr oder weniger Schritte beinhalten oder die Abfolge der Schritte kann anders als im Verfahren 600, das in 6 dargestellt ist, geordnet sein. Das Verfahren 600 kann als ein Satz von computerausführbaren Befehlen sein, die von einem Computersystem oder Prozessor ausgeführt werden und/oder auf einem computerlesbaren Medium codiert oder gespeichert sind. Das Verfahren 600 soll hierin im Weiteren in Bezug auf die Systeme, Komponenten, Module, Datenstrukturen, Nutzerschnittstellen usw. erklärt werden, die in Verbindung mit 1 bis 3B beschrieben sind.
-
In Schritt 604 kann eine Änderung der Konferenz auftreten. So kann eine Konferenz 204, die von einer Konferenzmaschine 202 ausgeführt wird, eine bestimmte Konfiguration aufweisen und eingerichtet sein und laufen. Aufgrund von Umständen jedoch, die entweder der Konferenz innewohnen oder aus äußeren Einflüssen entstehen (wie beispielsweise Fehlfunktionen in einem oder mehreren Teilen der Ausrüstung), kann sich entweder die Konfiguration oder ein anderer Messwert der Konferenz 204 ändern. Die Konferenz 204 kann somit einen Abfall in einem oder mehreren QOS-Messwerten aufweisen. In anderen Ausführungsformen kann durch einen Administrator oder einen Dritten eine manuelle Änderung vorgenommen werden, die die Einstellungen der Konferenz aufhebt.
-
Die Konferenzüberwachung 214 kann in Schritt 606 die Konferenz 204 messen und eine Verschlechterung (z. B. einen Fehler oder Neustart der Soft- oder Hardware) oder eine Verbesserung der Konferenz 204 ermitteln. Die Verschlechterung oder die Verbesserung kann in einem Kommunikationsendpunkt 102, im Netzwerk oder in einem anderen Gerät oder System auftreten. Die Konferenzüberwachung 214 kann die QOS-Messwerte unter Verwendung des Scoring-Algorithmus 322 messen, wobei die QOS-Messwerte in einem RTCP-Bericht bereitgestellt werden können, oder sie können durch einen anderen Überwachungsalgorithmus ermittelt werden. Die Konferenzüberwachung 214 kann die Scores des Scoring-Algorithmus mit einem Grenzwert 324 vergleichen. Sowohl das Scoring als auch das Vergleichen mit dem Grenzwert 324 kann periodisch erfolgen, beispielsweise während jeder Minute oder Sekunde der Konferenz 204. Somit kann die Konferenzüberwachung 214 aus dem Scoring-Algorithmus und dem Grenzwert 324 ermitteln, ob bei der Konferenz eine Änderung stattgefunden hat. Hat eine Änderung der Konferenz stattgefunden, kann die Konferenzüberwachung 214 der Konferenzmaschine 202 signalisieren, dass sich die Konferenzbedingungen geändert haben und eine Reaktion erforderlich ist.
-
Die Konferenzmaschine 202 kann in Schritt 608 eine automatisierte Reaktion 326 abrufen, die der Art der Änderung der Konferenz 204 zugeordnet ist, um die Konferenz 204 auszuführen. Die automatisierten Reaktionen können Einstellungsänderungen von den Kommunikationsendpunkten 102 und/oder in der Konferenzmaschine 202 anfordern. Wird zum Beispiel in der Konferenz eine Verzögerung festgestellt, kann die Konferenzmaschine 202 ein Signal an den Kommunikationsendpunkt 102 senden, das eine Änderung im Codec oder eine andere Konfigurationsänderung des Kommunikationsendpunktes 102 erfordert.
-
In Ausführungsformen kann die Konferenzmaschine 202 die indexierten Informationen in der Datenstruktur 302 verwenden, um die Art der benötigten Änderung zu ermitteln. Liegt die Paketverzögerung zum Beispiel zwischen 0 und 100 ms, kann vom Kommunikationsendpunkt 102 ein erster Codec verwendet werden. Liegt die Verzögerung jedoch zwischen 100 und 200 ms, kann vom Kommunikationsendpunkt 102 in der Konferenz 204 ein zweiter Codec verwendet werden. Deshalb kann die Konferenzmaschine 202 eine neue Einstellungsvorgabe an den Kommunikationsendpunkt 102 senden, wenn die Paketverzögerung auf über 100 ms steigt, um den Codec zu ändern, der verwendet wird. In anderen Ausführungsformen kann die Konferenz 204 einen QOS-Messwert verbessern und somit dem Kommunikationsendpunkt 102 die Verwendung verbesserter Merkmale ermöglichen. Zum Beispiel kann der Codec verändert werden, wenn die Paketverzögerung von 105 ms auf 50 ms sinkt, um den für den Kommunikationsendpunkt 102 bereitgestellten Dienst zu verbessern. Deshalb kann die Konferenzmaschine 202 sowohl auf Verschlechterungen als auch auf Verbesserungen in der Konferenzgüte oder den Konferenzbedingungen reagieren.
-
7 stellt ein Blockdiagramm einer Computerumgebung 700 dar, die als System oder Umgebung für die hierin beschriebenen Ausführungsformen dienen kann. Das System 700 beinhaltet einen oder mehrere Nutzercomputer 705, 710 und 715. Die Nutzercomputer 705, 710 und 715 können Universalcomputer sein (einschließlich nur als Beispiel PCs und/oder Laptops, auf denen verschiedene Versionen von Betriebssystemen von Microsoft Windows™ und/oder Apple Macintosh™ laufen) und/oder Arbeitsplatzcomputer, auf denen beliebige von verschiedenen kommerziell erhältlichen UNIX™- oder UNIX-ähnlichen Betriebssystemen laufen. Diese Nutzercomputer 705, 710 und 715 können außerdem beliebige von verschiedenen Anwendungen aufweisen, einschließlich zum Beispiel Datenbank-Client- und/oder Serveranwendungen und Web-Browser-Anwendungen. Alternativ können die Nutzercomputer 705, 710 und 715 jedes andere elektronische Gerät sein, wie beispielsweise ein Thin-Client-Computer, ein internetfähiges Mobiltelefon und/oder ein PDA, die zur Kommunikation über ein Netzwerk fähig sind (z. B. das im Weiteren beschriebene Netzwerk 720) und/oder zum Anzeigen von und Navigieren auf Webseiten oder anderen Arten von elektronischen Dokumenten. Obwohl das beispielhafte System 700 mit drei Nutzercomputern dargestellt ist, kann jede Anzahl von Computern unterstützt werden.
-
Das System 700 beinhaltet ferner ein Netzwerk 720. Das Netzwerk 720 kann jede Art von Netzwerk sein, das einem Fachmann vertraut ist und die Datenkommunikation mit Hilfe verschiedener kommerziell erhältlicher Protokolle unterstützen kann, einschließlich beispielsweise TCP/IP, SNA, IPX, AppleTalk und dergleichen. Beispielsweise kann das Netzwerk 720 ein lokales Netzwerk (LAN) sein, wie etwa ein Ethernet-Netzwerk, ein Token-Ring-Netzwerk und/oder dergleichen, ein Weitverkehrsnetzwerk, ein virtuelles Netzwerk, einschließlich beispielsweise eines virtuellen privaten Netzwerkes (VPN), das Internet, ein Intranet, ein Extranet, ein öffentliches Telefonnetz (PSTN), ein Infrarot-Netzwerk, ein drahtloses Netzwerk (z. B. ein Netzwerk, das unter einem der Protokolle der IEEE 802.11-Suite läuft, dem auf dem Fachgebiet bekannten Bluetooth™-Protokoll und/oder einem beliebigen anderen drahtlosen Protokoll) und/oder eine beliebige Kombination dieser und/oder anderer Netzwerke.
-
Das System 700 kann außerdem einen oder mehrere Servercomputer 725, 730 beinhalten. Ein Server kann ein Webserver 725 sein, der verwendet werden kann, Anforderungen von Nutzercomputern 705, 710 und 715 zu Webseiten und anderen elektronischen Dokumenten zu verarbeiten. Der Webserver kann ein Betriebssystem ausführen, einschließlich eines der oben beschriebenen, sowie ein beliebiges, kommerziell erhältliches Serverbetriebssystem. Der Webserver 725 kann auch verschiedene Serveranwendungen ausführen, einschließlich HTTP-Server, FTP-Server, CGI-Server, Datenbankserver, Javaserver und dergleichen. In einigen Fällen kann der Webserver 725 verfügbare Operationen als einen oder mehrere Webdienste verbreiten.
-
Das System 700 kann außerdem einen oder mehrere Datei- und/oder Anwendungsserver 730 beinhalten, die zusätzlich zu einem Betriebssystem eine oder mehrere Anwendungen beinhalten können, zu denen ein Client Zugang hat, der auf einem oder mehreren der Nutzercomputer 705, 710, 715 läuft. Der/die Server 730 kann/können ein oder mehrere Universalcomputer sein, die fähig sind, in Reaktion auf die Nutzercomputer 705, 710 und 715 Programme oder Skripte auszuführen. Beispielsweise kann der Server eine oder mehrere Webanwendungen ausführen. Die Webanwendung kann als ein oder mehrere Skripte oder Programme implementiert sein, die in einer beliebigen Programmiersprache geschrieben sind, wie etwa Java™, C, C#™ oder C++, und/oder in einer beliebigen Skriptsprache, wie etwa Perl, Python, MySQL oder TCL, sowie in Kombinationen aus beliebigen Programmier-/Skriptsprachen. Der/die Anwendungsserver 730 kann/können außerdem Datenbankserver beinhalten, einschließlich insbesondere derer, die von Oracle, Microsoft, Sybase™, IBM™ und dergleichen kommerziell erhältlich sind, die Anforderungen von Datenbankclients verarbeiten können, die auf einem Nutzercomputer 705 laufen.
-
Die vom Webanwendungsserver 730 erzeugten Webseiten können über einen Webserver 725 an einen Nutzercomputer 705 geschickt werden. In ähnlicher Weise kann der Webserver 725 in der Lage sein, Webseitenanforderungen, Webdienstaufrufe und/oder Eingabedaten von einem Nutzercomputer 705 zu empfangen und diese Webseitenanforderungen und/oder Eingabedaten an den Anwendungsserver 730 zu schicken. In weiteren Ausführungsformen kann der Server 730 als Dateiserver dienen. Obwohl zwecks einer einfachen Beschreibung in 5 ein separater Webserver 725 dargestellt ist, wird der Fachmann erkennen, das die in Bezug auf die Server 725, 730 beschriebenen Funktionen von einem einzelnen Server und/oder mehreren spezialisierten Servern ausgeführt werden können, je nach den implementierungsspezifischen Anforderungen und Parametern. Die Computersysteme 705, 710 und 715, Dateiserver 725 und/oder Anwendungsserver 730 können als Server oder andere, hierin beschriebene Systeme dienen.
-
Das System 700 kann außerdem eine Datenbank 735 beinhalten. Die Datenbank 735 kann sich an einer Vielzahl von Standorten befinden. Zum Beispiel kann sich die Datenbank 735 auf einem Speichermedium befinden, das in lokalem Bezug zu einem oder mehreren der Computer 705, 710, 715, 725, 730 steht (und/oder sich darin befindet). Alternativ kann sie sich entfernt von einem oder allen dieser Computer 705, 710, 715, 725, 730 befinden und in Verbindung mit einem oder mehreren davon stehen (z. B. über das Netzwerk 720). In einer besonderen Reihe von Ausführungsformen kann sich die Datenbank 735 in einem Storage Area Network (SAN) befinden, das dem Fachmann vertraut ist. In ähnlicher Weise können jegliche notwendigen Dateien zum Ausführen der den Computern 705, 710, 715, 725, 730 zugeschriebenen Funktionen lokal auf dem entsprechenden Computer und/oder entfernt von diesem gespeichert sein, wie es jeweils zweckdienlich ist. In einer Reihe von Ausführungsformen kann die Datenbank 735 eine relationale Datenbank sein, wie etwa Oracle 10i™, die dafür eingerichtet ist, Daten in Reaktion auf SQL-formatierte Befehle zu speichern, zu aktualisieren und abzurufen. Die Datenbank 735 kann der hier verwendeten Datenbank gleichen oder ähneln.
-
8 stellt eine Ausführungsform eines Computersystems 800 dar, auf dem Server oder andere hierin beschriebene Systeme eingesetzt oder ausgeführt werden können. Das Computersystem 800 ist mit Hardwareelementen dargestellt, die über einen Bus 855 elektrisch gekoppelt sein können. Die Hardwareelemente können eine oder mehrere CPUs 805, ein oder mehrere Eingabegeräte 810 (z. B. eine Maus, eine Tastatur usw.) und ein oder mehrere Ausgabegeräte 815 (z. B. ein Anzeigegerät, einen Drucker usw.) beinhalten. Das Computersystem 800 kann außerdem ein oder mehrere Speichergeräte 820 beinhalten. Das/die Speichergerät(e) 820 können zum Beispiel Plattenlaufwerke, optische Speichergeräte, Festkörper-Speichergeräte wie ein Direktzugriffsspeicher (RAM) und/oder ein Festwertspeicher (ROM) sein, die programmierbar, mit Flash aktualisierbar und/oder dergleichen sind.
-
Das Computersystem 800 kann zusätzlich ein Lesegerät für ein computerlesbares Speichermedium 825, ein Kommunikationssystem 830 (z. B. ein Modem, eine Netzwerkkarte (drahtlos oder drahtgebunden), ein Infrarot-Kommunikationsgerät usw.) und einen Arbeitsspeicher 840 beinhalten, der RAM- und ROM-Geräte wie oben beschrieben beinhalten kann. In einigen Ausführungsformen kann das Computersystem 800 außerdem eine Verarbeitungsbeschleunigungseinheit 835 beinhalten, die ein DSP, einen Spezialprozessor (SPP) und/oder dergleichen beinhalten kann.
-
Das Lesegerät für ein computerlesbares Speichermedium 825 kann des Weiteren an ein computerlesbares Speichermedium angeschlossen sein, mit dem zusammen es (und optional in Kombination mit dem/den Speichergerät[en] 820) allumfassend Fern-, lokale, feste und/oder entfernbare Speichergeräte plus Speichermedien zum zeitweisen und/oder dauerhaften Aufbewahren computerlesbarer Informationen darstellt. Das Kommunikationssystem 830 kann den Datenaustausch mit dem Netzwerk 820 und/oder einem anderen, oben in Bezug auf System 800 beschriebenen Computer gestatten. Darüber hinaus kann, wie hierin offenbart, der Begriff „Speichermedium“ für ein oder mehrere Geräte zum Speichern von Daten, einschließlich Festwertspeicher (ROM), Direktzugriffsspeicher (RAM), magnetischem RAM, Kernspeicher, Magnetplattenspeichermedien, optischer Speichermedien, Flash-Speichergeräte und/oder anderer maschinenlesbarer Speichermedien zum Speichern von Informationen, stehen.
-
Das Computersystem 800 kann außerdem Softwareelemente umfassen, die als gegenwärtig in einem Arbeitsspeicher 840 lokalisiert dargestellt sind und ein Betriebssystem 845 und/oder anderen Code 850, wie beispielsweise einen Programmcode, beinhalten, der hierin beschriebene Server oder Geräte implementiert. Es sollte sich verstehen, dass alternative Ausführungsformen eines Rechnersystems 800 viele Varianten des oben Beschriebenen aufweisen können. Zum Beispiel kann auch kundenspezifische Hardware verwendet werden und/oder es können bestimmte Elemente in Hardware, Software (einschließlich portabler Software, wie etwa Apps) oder beidem implementiert sein. Ferner kann eine Verbindung zu anderen Rechnergeräten, wie beispielsweise Netzwerk-Eingabe/Ausgabegeräten, verwendet werden.
-
In der vorstehenden Beschreibung wurden Verfahren zum Zweck der Veranschaulichung in einer bestimmten Reihenfolge beschrieben. Es versteht sich, dass in alternativen Ausführungsformen die Verfahren in einer anderen als der beschriebenen Reihenfolge ausgeführt werden können. Außerdem versteht es sich, dass die oben beschriebenen Verfahren durch Hardwarekomponenten ausgeführt werden können oder in Sequenzen von maschinenausführbaren Befehlen verkörpert sein können, die verwendet werden können, um zu bewirken, dass eine Maschine wie etwa ein Universal- oder ein Spezialprozessor oder Logikschaltungen, die mit den Befehlen programmiert sind, die Verfahren ausführen. Diese maschinenausführbaren Befehle können auf einem oder mehreren maschinenlesbaren Medien gespeichert sein, wie beispielsweise CD-ROMs oder anderen Arten optischer Platten, Disketten, ROMs, RAMs, EPROMs, EEPROMs, Magnet- oder optischen Karten, Flash-Speichern oder anderen Arten maschinenlesbarer Medien, die zum Speichern elektronischer Befehle geeignet sind. Alternativ können die Verfahren durch eine Kombination aus Hard- und Software ausgeführt werden.
-
In der Beschreibung sind spezifische Einzelheiten angegeben, um ein gründliches Verständnis der Ausführungsformen bereitzustellen. Ein Fachmann wird jedoch verstehen, dass die Ausführungsformen ohne diese spezifischen Einzelheiten realisiert werden können. Zum Beispiel können Schaltungen als Blockdiagramme dargestellt sein, um die Ausführungsformen nicht mit unnötigen Einzelheiten zu verschleiern. In anderen Fällen können allgemein bekannte Schaltungen, Prozesse, Algorithmen, Strukturen und Techniken ohne unnötige Einzelheiten dargestellt sein, um ein Verschleiern der Ausführungsformen zu vermeiden.
-
Außerdem ist zu beachten, dass die Ausführungsformen als ein Prozess beschrieben wurden, der als ein Ablaufschema, ein Ablaufdiagramm, ein Datenflussdiagramm oder ein Blockdiagramm abgebildet ist. Obwohl ein Ablaufschema die Operationen als einen fortlaufenden Prozess beschreiben kann, können viele der Operationen parallel oder gleichzeitig ausgeführt werden. Des Weiteren kann die Abfolge der Operationen neu geordnet werden. Ein Prozess ist beendet, wenn seine Operationen abgeschlossen sind, kann aber zusätzliche Schritte aufweisen, die in der Figur nicht enthalten sind. Ein Prozess kann einem Verfahren, einer Funktion, einer Prozedur, einer Unterroutine, einem Unterprogramm usw. entsprechen. Entspricht ein Prozess einer Funktion, so entspricht seine Beendigung einer Rückkehr der Funktion zur Aufruffunktion oder zur Hauptfunktion.
-
Darüber hinaus können Ausführungsformen durch Hardware, Software, Firmware, Middleware, Mikrocode, Hardwarebeschreibungssprachen oder eine beliebige Kombination daraus implementiert werden. Bei Implementierung in Software, Firmware, Middleware oder Mikrocode können der Programmcode oder die Codesegmente zum Ausführen der nötigen Aufgaben in einem maschinenlesbaren Medium, wie etwa einem Speichermedium, gespeichert sein. Ein Prozessor kann die notwendigen Aufgaben ausführen. Ein Codesegment kann eine Prozedur, eine Funktion, ein Unterprogramm, ein Programm, eine Routine, eine Unterroutine, ein Modul, ein Softwarepaket, eine Klasse oder eine beliebige Kombination aus Befehlen, Datenstrukturen oder Programmanweisungen darstellen. Ein Codesegment kann durch Leiten und/oder Empfangen von Informationen, Daten, Argumenten, Parametern oder Speicherinhalten mit einem anderen Codesegment oder einer Hardwareschaltung gekoppelt sein. Informationen, Argumente, Parameter, Daten usw. können über jedes geeignete Mittel, einschließlich gemeinsamen Speicherzugriffs (Memory Sharing), Datenübertragung, Tokenübertragung, Netzwerkübertragung usw., geleitet, geschickt oder übertragen werden.
-
Obwohl hierin beispielhafte Ausführungsformen ausführlich beschrieben wurden, versteht sich, dass das Erfindungskonzept anderweitig verschieden verkörpert und eingesetzt werden kann und dass die angefügten Ansprüche derart auszulegen sind, dass sie solche Varianten beinhalten, sofern sie nicht durch den Stand der Technik beschränkt sind.