-
HINTERGRUND DER ERFINDUNG
-
Treffen und/oder Konferenzen können mithilfe von vereinheitlichten Telefonieanwendungen oder VoIP-Konferenz-Anwendungen(Voice over Internet Protocol conferencing applications) und/oder -Systemen abgehalten werden. An diesen Treffen und/oder Konferenzen können ein Moderator und ein oder mehrere Teilnehmer teilnehmen. Während der Konferenz können Störgeräusche unterschiedlicher Art auftreten wie beispielsweise Echo- und Hintergrundgeräusche, die für den Moderator und/oder den oder die Teilnehmer störend und/oder ablenkend sein können.
-
KURZDARSTELLUNG DER ERFINDUNG
-
Bei einer ersten Ausführungsform kann ein Verfahren beinhalten, mithilfe einer oder mehrerer Datenverarbeitungseinheiten einem Benutzer zu ermöglichen, einen Sitzungsqualitäts-Schwellenwert für eine VoIP-Sitzung einer VoIP-Konferenz zu definieren, wobei der Sitzungsqualitäts-Schwellenwert einem Sitzungsqualitäts-Merkmal der VoIP-Sitzung entspricht. Das Verfahren kann außerdem ein Ermitteln eines Sitzungsqualitäts-Werts für das Sitzungsqualitäts-Merkmal der VoIP-Sitzung mithilfe der Datenverarbeitungseinheit(en) beinhalten. Das Verfahren kann außerdem ein Ermitteln mithilfe der Datenverarbeitungseinheit(en) beinhalten, ob der Sitzungsqualitäts-Wert für das Sitzungsqualitäts-Merkmal der VoIP-Sitzung inakzeptabel ist, und zwar zumindest teilweise auf der Grundlage des Sitzungsqualitäts-Schwellenwerts, der dem Sitzungsqualitäts-Merkmal der VoIP-Sitzung entspricht. Das Verfahren kann außerdem als Reaktion auf das Ermitteln, dass der Sitzungsqualitäts-Wert inakzeptabel ist, ein Auslösen einer oder mehrerer vorgegebener Sitzungsqualitäts-Aktionen mithilfe der Datenverarbeitungseinheit(en) beinhalten.
-
Dies kann eine oder mehrere der folgenden Funktionen einschließen. Das Verfahren kann ein regelmäßiges Ermitteln des Sitzungsqualitäts-Werts für das Sitzungsqualitäts-Merkmal der VoIP-Sitzung beinhalten, und zwar zumindest teilweise auf der Grundlage einer vorgegebenen Zeitspanne. Außerdem kann (können) die vorgegebene(n) Sitzungsqualitäts-Aktion(en) ein Anzeigen des Sitzungsqualitäts-Werts auf einer grafischen Benutzeroberfläche beinhalten, die einem oder mehreren Teilnehmern der VoIP-Konferenz zur Verfügung steht. Die vorgegebene(n) Sitzungsqualitäts-Aktion(en) kann (können) außerdem ein Erstellen einer neuen VoIP-Sitzung für einen der VoIP-Sitzung mit dem inakzeptablen Sitzungsqualitäts-Wert zugeordneten Client und/oder ein Beenden der VoIP-Sitzung mit dem inakzeptablen Sitzungsqualitäts-Wert beinhalten. Die vorgegebene(n) Sitzungsqualitäts-Aktion(en) kann (können) außerdem ein Überwachen des Sitzungsqualitäts-Werts der VoIP-Sitzung während eines vorgegebenen Zeitrahmens beinhalten, um zu ermitteln, ob der Sitzungsqualitäts-Wert nach dem vorgegebenen Zeitrahmen akzeptabel ist. Die vorgegebene(n) Sitzungsqualitäts-Aktion(en) kann (können) außerdem das Umschalten von einem Client-Codec der VoIP-Sitzung auf einen neuen Client-Codec beinhalten, der weniger Bandbreite erfordert.
-
Bei einer Realisierung kann (können) die vorgegebene(n) Sitzungsqualitäts-Aktion(en) das erneute Senden eines oder mehrerer Pakete über die VoIP-Sitzung beinhalten, wobei das oder die Pakete einem oder mehreren zuvor gesendeten Paketen der Datenübertragung entsprechen, die über die VoIP-Sitzung verloren gingen, und kann (können) das Senden der Datenübertragung an einen oder mehrere Clients der VoIP-Konferenz zusammen mit den erneut gesendeten Paketen der Datenübertragung beinhalten. Die vorgegebene(n) Sitzungsqualitäts-Aktion(en) kann (können) außerdem das Entfernen von Hintergrundgeräuschen aus einer Datenübertragung über die VoIP-Sitzung beinhalten, bevor die Datenübertragung an einen oder mehrere Clients der VoIP-Konferenz gesendet wird. Das Sitzungsqualitäts-Merkmal kann zumindest teilweise auf einem oder mehreren aus Echo, Störgeräuschen, Hintergrundgeräuschen, Vordergrundgeräuschen, stochastischen Störgeräuschen, gleichbleibenden Störgeräuschen, Jitter, Impedanz, Dämpfung, Interferenz, hoher Tonhöhe, tiefer Tonhöhe, Knistern, Paketverlust, Bandbreite, Stimmabfall (voice drop) und Amplitudenabfall beruhen.
-
Bei einer zweiten Ausführungsform kann ein Computerprogrammprodukt auf einem computerlesbaren Speichermedium gespeichert sein und kann auf ihm eine Vielzahl von Anweisungen gespeichert haben. Beim Ausführen durch einen Prozessor können die Anweisungen den Prozessor zum Ausführen von Operationen veranlassen, die beinhalten, einem Benutzer zu ermöglichen, einen Sitzungsqualitäts-Schwellenwert für eine VoIP-Sitzung (Voice-over-Internet-Protocol session) einer VoIP-Konferenz zu definieren, wobei der Sitzungsqualitäts-Schwellenwert einem Sitzungsqualitäts-Merkmal der VoIP-Sitzung entspricht. Die Operationen können außerdem das Ermitteln eines Sitzungsqualitäts-Werts für das Sitzungsqualitäts-Merkmal der VoIP-Sitzung beinhalten. Die Operationen können auch das Ermitteln beinhalten, ob der Sitzungsqualitäts-Wert für das Sitzungsqualitäts-Merkmal der VoIP-Sitzung inakzeptabel ist, und zwar zumindest teilweise auf der Grundlage des Sitzungsqualitäts-Schwellenwerts, der dem Sitzungsqualitäts-Merkmal der VoIP-Sitzung entspricht. Die Operationen können des Weiteren als Reaktion auf das Ermitteln, dass der Sitzungsqualitäts-Wert inakzeptabel ist, ein Auslösen von einer oder mehreren vorgegebenen Sitzungsqualitäts-Aktionen beinhalten.
-
Dies kann eine oder mehrere der folgenden Funktionen einschließen. Die Operationen können ein regelmäßiges Ermitteln des Sitzungsqualitäts-Werts für das Sitzungsqualitäts-Merkmal der VoIP-Sitzung beinhalten, und zwar zumindest teilweise auf der Grundlage einer vorgegebenen Zeitspanne. Außerdem kann (können) die vorgegebene(n) Sitzungsqualitäts-Aktion(en) ein Anzeigen des Sitzungsqualitäts-Werts auf einer grafischen Benutzeroberfläche beinhalten, die einem oder mehreren Teilnehmern der VoIP-Konferenz zur Verfügung steht. Die vorgegebene(n) Sitzungsqualitäts-Aktion(en) kann (können) außerdem ein Erstellen einer neuen VoIP-Sitzung für einen der VoIP-Sitzung mit dem inakzeptablen Sitzungsqualitäts-Wert zugeordneten Client und/oder ein Beenden der VoIP-Sitzung mit dem inakzeptablen Sitzungsqualitäts-Wert beinhalten. Die vorgegebene(n) Sitzungsqualitäts-Aktion(en) kann (können) außerdem ein Überwachen des Sitzungsqualitäts-Werts der VoIP-Sitzung während eines vorgegebenen Zeitrahmens beinhalten, um zu ermitteln, ob der Sitzungsqualitäts-Wert nach dem vorgegebenen Zeitrahmen akzeptabel ist. Die vorgegebene(n) Sitzungsqualitäts-Aktion(en) kann (können) außerdem das Umschalten von einem Client-Codec der VoIP-Sitzung auf einen neuen Client-Codec beinhalten, der weniger Bandbreite erfordert.
-
Bei einer Realisierung kann (können) die vorgegebene(n) Sitzungsqualitäts-Aktion(en) das erneute Senden eines oder mehrerer Pakete über die VoIP-Sitzung beinhalten, wobei das oder die Pakete einem oder mehreren zuvor gesendeten Paketen der Datenübertragung entsprechen, die über die VoIP-Sitzung verloren gingen, und können das Senden der Datenübertragung an einen oder mehrere Clients der VoIP-Konferenz zusammen mit den erneut gesendeten Paketen der Datenübertragung beinhalten. Die vorgegebene(n) Sitzungsqualitäts-Aktion(en) kann (können) außerdem das Entfernen von Hintergrundgeräuschen aus einer Datenübertragung über die VoIP-Sitzung beinhalten, bevor die Datenübertragung an einen oder mehrere Clients der VoIP-Konferenz gesendet wird. Das Sitzungsqualitäts-Merkmal kann zumindest teilweise auf einem oder mehreren aus Echo, Störgeräuschen, Hintergrundgeräuschen, Vordergrundgeräuschen, stochastischen Störgeräuschen, gleichbleibenden Störgeräuschen, Jitter, Impedanz, Dämpfung, Interferenz, hoher Tonhöhe, tiefer Tonhöhe, Knistern, Paketverlust, Bandbreite, Stimmabfall und Amplitudenabfall beruhen.
-
Bei einer dritten Ausführungsform wird ein Datenverarbeitungssystem bereitgestellt. Das Datenverarbeitungssystem kann mindestens einen Prozessor und mindestens eine mit dem mindestens einen Prozessor verbundene Speicherarchitektur enthalten. Das Datenverarbeitungssystem kann außerdem ein erstes Softwaremodul enthalten, das von dem mindestens einen Prozessor und der mindestens einen Speicherarchitektur ausgeführt werden kann, wobei das erste Softwaremodul dafür konfiguriert sein kann, einem Benutzer zu ermöglichen, einen Sitzungsqualitäts-Schwellenwert für eine VoIP-Sitzung einer VoIP-Konferenz zu definieren, wobei der Sitzungsqualitäts-Schwellenwert einem Sitzungsqualitäts-Merkmal der VoIP-Sitzung entspricht. Das Datenverarbeitungssystem kann außerdem ein zweites Softwaremodul enthalten, das dafür konfiguriert sein kann, einen Sitzungsqualitäts-Wert für das Sitzungsqualitäts-Merkmal der VoIP-Sitzung zu ermitteln. Das Datenverarbeitungssystem kann des Weiteren ein drittes Softwaremodul enthalten, das dafür konfiguriert sein kann, zu ermitteln, ob der Sitzungsqualitäts-Wert für das Sitzungsqualitäts-Merkmal der VoIP-Sitzung inakzeptabel ist, und zwar zumindest teilweise auf der Grundlage des Sitzungsqualitäts-Schwellenwerts, der dem Sitzungsqualitäts-Merkmal der VoIP-Sitzung entspricht. Darüber hinaus kann das Datenverarbeitungssystem ein viertes Softwaremodul enthalten, das dafür konfiguriert sein kann, als Reaktion auf das Ermitteln, dass der Sitzungsqualitäts-Wert inakzeptabel ist, eine oder mehrere vorgegebene Sitzungsqualitäts-Aktionen auszulösen.
-
Dies kann eine oder mehrere der folgenden Funktionen einschließen. Das Datenverarbeitungssystem kann ein fünftes Softwaremodul enthalten, das dafür konfiguriert sein kann, regelmäßig den Sitzungsqualitäts-Wert für das Sitzungsqualitäts-Merkmal der VoIP-Sitzung zu ermitteln, und zwar zumindest teilweise auf der Grundlage einer vorgegebenen Zeitspanne. Außerdem kann (können) die vorgegebene(n) Sitzungsqualitäts-Aktion(en) ein Anzeigen des Sitzungsqualitäts-Werts auf einer grafischen Benutzeroberfläche beinhalten, die einem oder mehreren Teilnehmern der VoIP-Konferenz zur Verfügung steht. Die vorgegebene(n) Sitzungsqualitäts-Aktion(en) kann (können) außerdem ein Erstellen einer neuen VoIP-Sitzung für einen der VoIP-Sitzung mit dem inakzeptablen Sitzungsqualitäts-Wert zugeordneten Client und/oder ein Beenden der VoIP-Sitzung mit dem inakzeptablen Sitzungsqualitäts-Wert beinhalten. Die vorgegebene(n) Sitzungsqualitäts-Aktion(en) kann (können) außerdem ein Überwachen des Sitzungsqualitäts-Werts der VoIP-Sitzung während eines vorgegebenen Zeitrahmens beinhalten, um zu ermitteln, ob der Sitzungsqualitäts-Wert nach dem vorgegebenen Zeitrahmen akzeptabel ist. Die vorgegebene(n) Sitzungsqualitäts-Aktion(en) kann (können) außerdem das Umschalten von einem Client-Codec der VoIP-Sitzung auf einen neuen Client-Codec beinhalten, der weniger Bandbreite erfordert.
-
Bei einer Realisierung kann (können) die vorgegebene(n) Sitzungsqualitäts-Aktion(en) das erneute Senden eines oder mehrerer Pakete über die VoIP-Sitzung beinhalten, wobei das oder die Pakete einem oder mehreren zuvor gesendeten Paketen der Datenübertragung entsprechen, die über die VoIP-Sitzung verloren gingen, und kann (können) das Senden der Datenübertragung an einen oder mehrere Clients der VoIP-Konferenz zusammen mit den erneut gesendeten Paketen der Datenübertragung beinhalten. Die vorgegebene(n) Sitzungsqualitäts-Aktion(en) kann (können) außerdem das Entfernen von Hintergrundgeräuschen aus einer Datenübertragung über die VoIP-Sitzung beinhalten, bevor die Datenübertragung an einen oder mehrere Clients der VoIP-Konferenz gesendet wird. Das Sitzungsqualitäts-Merkmal kann zumindest teilweise auf einem oder mehreren aus Echo, Störgeräuschen, Hintergrundgeräuschen, Vordergrundgeräuschen, stochastischen Störgeräuschen, gleichbleibenden Störgeräuschen, Jitter, Impedanz, Dämpfung, Interferenz, hoher Tonhöhe, tiefer Tonhöhe, Knistern, Paketverlust, Bandbreite, Stimmabfall und Amplitudenabfall beruhen.
-
Näheres zu einer oder mehreren Realisierungen ist nachfolgend in den begleitenden Zeichnungen und der Beschreibung dargelegt. Andere Funktionen und Vorteile werden aus der Beschreibung, den Zeichnungen und den Ansprüchen ersichtlich.
-
KURZBESCHREIBUNG DER VERSCHIEDENEN ANSICHTEN DER ZEICHNUNGEN
-
1 ist ein Schaubild eines VoIP-Sitzungsqualitäts-Prozesses, der mit einem verteilten Datenverarbeitungsnetzwerk verbunden ist;
-
2 ist ein Ablaufplan des VoIP-Sitzungsqualitäts-Prozesses aus 1;
-
3 ist ein Schaubild einer beispielhaften VoIP-Konferenz, die dem VoIP-Sitzungsqualitäts-Prozess aus 1 zugeordnet ist;
-
4 ist eine beispielhafte grafische Benutzeroberfläche, die dem VoIP-Sitzungsqualitäts-Prozess aus 1 zugehörig sein kann, und
-
5 ist auch eine beispielhafte grafische Benutzeroberfläche, die dem VoIP-Sitzungsqualitäts-Prozess aus 1 zugehörig sein kann.
-
AUSFÜHRLICHE BESCHREIBUNG DER ERFINDUNG
-
1 und 2 zeigen einen VoIP-Sitzungsqualitäts-Prozess 10. Wie nachfolgend erörtert wird, kann der VoIP-Sitzungsqualitäts-Prozess 10 einem Benutzer ermöglichen 100, einen Sitzungsqualitäts-Schwellenwert für eine VoIP-Sitzung einer VoIP-Konferenz zu definieren, wobei der Sitzungsqualitäts-Schwellenwert einem Sitzungsqualitäts-Merkmal der VoIP-Sitzung entspricht. Der VoIP-Sitzungsqualitäts-Prozess 10 kann außerdem einen Sitzungsqualitäts-Wert für das Sitzungsqualitäts-Merkmal der VoIP-Sitzung ermitteln 102. Der VoIP-Sitzungsqualitäts-Prozess 10 kann außerdem ermitteln 104, ob der Sitzungsqualitäts-Wert für das Sitzungsqualitäts-Merkmal der VoIP-Sitzung inakzeptabel ist, und zwar zumindest teilweise auf der Grundlage des Sitzungsqualitäts-Schwellenwerts, der dem Sitzungsqualitäts-Merkmal der VoIP-Sitzung entspricht. Des Weiteren kann der VoIP-Sitzungsqualitäts-Prozess 10 als Reaktion auf das Ermitteln, dass der Sitzungsqualitäts-Wert inakzeptabel ist, eine oder mehrere vorgegebene Sitzungsqualitäts-Aktionen auslösen 106.
-
Der VoIP-Sitzungsqualitäts-Prozess (VSQ-Prozess) kann ein serverseitiger Prozess sein (z. B. der serverseitige VSQ-Prozess 10), ein clientseitiger Prozess (z. B. der clientseitige VSQ-Prozess 12, der clientseitige VSQ-Prozess 14, der clientseitige VSQ-Prozess 16 oder der clientseitige VSQ-Prozess 18) oder ein hybrider serverseitiger/clientseitiger Prozess (z. B. die Kombination des serverseitigen VSQ-Prozesses 10 und eines oder mehrerer der clientseitigen VSQ-Prozesse 12, 14, 16, 18).
-
Der serverseitige VSQ-Prozess 10 kann auf dem Servercomputer 20 gespeichert sein und von diesem ausgeführt werden, der mit dem Netzwerk 22 (z. B. dem Internet oder einem lokalen Netzwerk) verbunden sein kann. Zu Beispielen für den Servercomputer 20 zählen unter anderem, aber ohne darauf beschränkt zu sein: Ein PC, ein Servercomputer, eine Reihe von Servercomputern, ein Minicomputer und/oder ein Großrechner. Bei dem Servercomputer 20 kann es sich um einen Webserver (oder um eine Reihe von Servern) handeln, die ein Netzwerkbetriebssystem ausführen wie beispielsweise, aber ohne darauf beschränkt zu sein: Microsoft Windows Server, Novell Netware oder Red Hat Linux.
-
Die Anweisungssätze und Subroutinen des serverseitigen VSQ-Prozesses 10, die auf der mit dem Servercomputer 20 verbundenen Speichereinheit 24 gespeichert sein können, können von einem oder mehreren Prozessoren (nicht gezeigt) und einer oder mehreren in den Servercomputer 20 integrierten Speicherarchitekturen (nicht gezeigt) ausgeführt werden. Bei der Speichereinheit 24 kann es sich unter anderem, aber ohne darauf beschränkt zu sein, um ein Festplattenlaufwerk, ein Bandlaufwerk, ein optisches Laufwerk, ein RAID-Array, einen Speicher mit wahlfreiem Zugriff (random access memory, RAM) und einen Nur-Lese-Speicher (read-only memory, ROM) handeln.
-
Der Servercomputer 20 kann eine Webserver-Anwendung ausführen wie beispielsweise, aber ohne darauf beschränkt zu sein: Microsoft IIS, Novell Web Server oder Apache Web Server, die einen Zugriff auf den Servercomputer 20 (über das Netzwerk 22) mithilfe eines oder mehrerer Protokolle ermöglichen wie beispielsweise, aber ohne darauf beschränkt zu sein: HTTP (d. h. Hypertext Transfer Protocol, deutsch: „Hypertext-Übertragungs-Protokoll”), SIP (d. h. session initiation protocol, deutsch: „Sitzungs-Einleitungs-Protokoll”) sowie das Lotus® Sametime®-VP-Protokoll. Das Netzwerk 22 kann mit einem oder mehreren sekundären Netzwerken (z. B. dem Netzwerk 26) verbunden sein wie beispielsweise, aber ohne darauf beschränkt zu sein: einem lokalen Netzwerk, einem Weitverkehrsnetzwerk oder einem Intranet.
-
Die clientseitigen VSQ-Prozesse 12, 14, 16, 18 können (jeweils) auf den elektronischen Clienteinheiten 28, 30, 32 und/oder 34 gespeichert sein und von diesen ausgeführt werden, bei denen es sich beispielsweise, aber ohne darauf beschränkt zu sein, um folgende handeln kann: einen PC 28, einen Laptop-Computer 30, ein datenfähiges Mobiltelefon 32, einen Notebook-Computer 34, einen persönlichen digitalen Assistenten (PDA, nicht gezeigt), ein Smartphone (nicht gezeigt) sowie eine dedizierte Netzwerkeinheit (nicht gezeigt). Die elektronischen Clienteinheiten 28, 30, 32, 34 können jeweils mit dem Netzwerk 22 und/oder dem Netzwerk 26 verbunden sein und können jeweils ein Betriebssystem ausführen wie beispielsweise, aber ohne darauf beschränkt zu sein: Microsoft Windows, Microsoft Windows CE, Red Hat Linux oder ein benutzerspezifisches Betriebssystem.
-
Die Anweisungssätze und Subroutinen der clientseitigen VSQ-Prozesse 12, 14, 16, 18, die (jeweils) auf den Speichereinheiten 36, 38, 40, 42 gespeichert sein können, die (jeweils) mit den elektronischen Clienteinheiten 28, 30, 32, 34 verbunden sind, können von einem oder mehreren Prozessoren (nicht gezeigt) und einer oder mehreren (jeweils) in die elektronischen Clienteinheiten 28, 30, 32, 34 integrierten Speicherarchitekturen (nicht gezeigt) ausgeführt werden. Zu den Speichereinheiten 36, 38, 40, 42 können unter anderem zählen, aber ohne darauf beschränkt zu sein: Festplattenlaufwerke, Bandlaufwerke, optische Laufwerke, RAID-Arrays, Speicher mit wahlfreiem Zugriff (RAM), Nur-Lese-Speicher (ROM), Compact-Flash-Speichereinheiten (CF-Speichereinheiten), Secure-Digital-Speichereinheiten (SD storage devices) sowie Speicher-Stick-Speichereinheiten (memory stick storage devices).
-
Die clientseitigen VSQ-Prozesse 12, 14, 16, 18 und/oder der serverseitige VSQ-Prozess 10 können Prozesse sein, die in einer vereinheitlichten Anwendung für Datenübertragung und Zusammenarbeit ausgeführt werden (d. h., sie sind ein Teil davon), die für vereinheitlichte Telefonie und/oder VoIP-Konferenzen konfiguriert ist (z. B. Lotus® Sametime®). Alternativ können die clientseitigen VSQ-Prozesse 12, 14, 16, 18 und/oder der serverseitige VSQ-Prozess 10 eigenständige Anwendungen sein, die in Verbindung mit der vereinheitlichten Anwendung für Datenübertragung und Zusammenarbeit arbeiten. Einer oder mehrere aus den clientseitigen VSQ-Prozessen 12, 14, 16, 18 und dem serverseitigen VSQ-Prozess 10 können (über das Netzwerk 22 und/oder das Netzwerk 26) miteinander verbunden sein. Bei der vereinheitlichten Anwendung für Datenübertragung und Zusammenarbeit kann es sich um eine vereinheitlichte Telefonieanwendung und/oder eine Anwendung für VoIP-Konferenzen handeln. Der VSQ-Prozess 10 kann auch in jeder beliebigen eMeeting-Anwendung, Webkonferenz-Anwendung oder Telefonkonferenz-Anwendung ausgeführt werden, die für IP-Telefonie und/oder VoIP-Konferenzen konfiguriert ist.
-
Die Benutzer 44, 46, 48, 50 können auf den serverseitigen VSQ-Prozess 10 direkt über die Einheit zugreifen, auf der der clientseitige VSQ-Prozess (z. B. die clientseitigen VSQ-Prozesse 12, 14, 16, 18) ausgeführt wird, nämlich beispielsweise über die elektronischen Clienteinheiten 28, 30, 32, 34. Die Benutzer 44, 46, 48, 50 können auf den serverseitigen VSQ-Prozess 10 direkt über das Netzwerk 22 und/oder über das sekundäre Netzwerk 26 zugreifen. Außerdem kann der Servercomputer 20 (d. h., der Computer, der den serverseitigen VSQ-Prozess 10 ausführt) mit dem Netzwerk 22 über das sekundäre Netzwerk 26 verbunden sein, wie es durch die gestrichelte Verbindungslinie 52 veranschaulicht wird.
-
Die verschiedenen elektronischen Clienteinheiten können direkt oder indirekt mit dem Netzwerk 22 (oder dem Netzwerk 26) verbunden sein. Beispielsweise wird der PC 28 als über eine festverdrahtete Netzwerkverbindung direkt mit dem Netzwerk 22 verbunden gezeigt. Außerdem wird der Notebook-Computer 34 als über eine festverdrahtete Netzwerkverbindung direkt mit dem Netzwerk 26 verbunden gezeigt. Der Laptop-Computer 30 wird als über einen drahtlosen Datenübertragungskanal 54 drahtlos mit dem Netzwerk 22 verbunden gezeigt, der zwischen dem Laptop-Computer 30 und dem drahtlosen Zugangspunkt (wireless access point, WAP) 56 erstellt wird, der als direkt mit dem Netzwerk 22 verbunden gezeigt wird. Bei dem WAP 56 kann es sich beispielsweise um eine IEEE 802.1a-, 802.11b-, 802.11g-, 802.11n-, Wi-Fi- und/oder Bluetooth-Einheit handeln, die in der Lage ist, den drahtlosen Datenübertragungskanal 54 zwischen dem Laptop-Computer 30 und dem WAP 56 zu erstellen. Das datenfähige Mobiltelefon 32 wird als über den drahtlosen Datenübertragungskanal 58 drahtlos mit dem Netzwerk 22 verbunden gezeigt, der zwischen dem datenfähigen Mobiltelefon 32 und dem Mobilfunknetz/der Brücke 60 erstellt wird, das/die als direkt mit dem Netzwerk 22 verbunden gezeigt wird.
-
Wie nach dem Stand der Technik bekannt ist, können bei allen IEEE 802.11x-Spezifikationen das Ethernet-Protokoll sowie „Mehrfachzugriff mit Trägerprüfung und Kollisionsvermeidung” (carrier sense multiple access with collision avoidance, d. h. CSMA/CA) zum gemeinsamen Nutzen von Pfaden verwendet werden. Bei den verschiedenen 802.11x-Spezifikation können beispielsweise Phasenumtastung (d. h. phase-shift keying, PSK) oder komplementäre Code-Umtastung (d. h. complementary code keying, CCK) angewendet werden. Wie nach dem Stand der Technik bekannt ist, ist Bluetooth eine Spezifikation der Telekommunikationsbranche, die es ermöglicht, dass beispielsweise Mobiltelefone, Computer und persönliche digitale Assistenten mithilfe einer Funkverbindung mit geringer Reichweite miteinander verbunden werden.
-
DER VoIP-SITZUNGSQUALITÄTS-PROZESS (VSQ-PROZESS)
-
Für die folgende Erörterung wird der serverseitige VSQ-Prozess 10 zu Veranschaulichungszwecken beschrieben. Es sollte beachtet werden, dass der clientseitige VSQ-Prozess 12 mit dem serverseitigen VSQ-Prozess 10 zusammenwirken und in einer oder mehreren Anwendungen ausgeführt werden kann, die einen Datenaustausch mit dem clientseitigen VSQ-Prozess 12 ermöglichen. Dies soll jedoch keine Einschränkung dieser Offenbarung sein, da andere Konfigurationen möglich sind (z. B. eigenständige clientseitige VSQ-Prozesse und/oder eigenständige serverseitige VSQ-Prozesse). Beispielsweise können einige Realisierungen einen oder mehrere der clientseitigen VSQ-Prozesse 12, 14, 16, 18 anstelle von oder zusätzlich zu dem serverseitigen VSQ-Prozess 10 beinhalten.
-
Mit Bezug auf 1 bis 3: Einer oder mehrere der Benutzer 44, 46, 48 und 50 können Teilnehmer der VoIP-Konferenz sein und können zu einer VoIP-Konferenz eingeladen werden (z. B. der VoIP-Konferenz 300). Die VoIP-Konferenz 300 kann mithilfe einer Anwendung für vereinheitlichte Datenübertragung und Zusammenarbeit durchgeführt werden, die für vereinheitlichte Telefonie und/oder VoIP-Konferenzen konfiguriert ist, und bei der es sich um eine vereinheitlichte Telefonieanwendung und/oder eine VoIP-Konferenz-Anwendung (z. B. Lotus® Sametime®) handeln kann. Bei der VoIP-Konferenz 300 kann es sich um eine Konferenz, ein Treffen, eine Präsentation oder um eine andere Art von Treffen zur Zusammenarbeit handeln. Darüber hinaus kann man an der VoIP-Konferenz 300 online teilnehmen, und der VoIP-Konferenz 300 zugeordnete Audiodaten können an den oder die Teilnehmer der VoIP-Konferenz (d. h. an einen oder mehrere der Benutzer 44, 46, 48, 50) gesendet werden. Bei einer Realisierung können der VoIP-Konferenz 300 zugeordnete Audiodaten parallel an zahlreiche Teilnehmer der VoIP-Konferenz (z. B. einen oder mehrere der Benutzer 44, 46, 48, 50) verteilt (gestreamt) werden, oder es kann über eine VoIP-Konferenz-Anwendung auf sie zugegriffen werden. Für die VoIP-Konferenz 300 kann es einen VoIP-Konferenzmoderator (z. B. den Benutzer 46) geben.
-
Ein Teilnehmer der VoIP-Konferenz 300 (z. B. einer oder mehrere der Benutzer 44, 46, 48, 50) kann mithilfe einer VoIP-Konferenz-Anwendung eine VoIP-Sitzung (z. B. die VoIP-Sitzung 304, 306, 308) zwischen dem VoIP-Konferenz-Server (z. B. dem Servercomputer 20 und/oder dem VoIP-Konferenz-Server 302) und einem entsprechenden VoIP-Konferenz-Client (z. B. einer oder mehreren der elektronischen Clienteinheiten 28, 30, 32, 34 und/oder den VoIP-Konferenz-Clients 310, 312, 314) erstellen. Bei der VoIP-Sitzung (z. B. der VoIP-Sitzung 304, 306, 308) kann es sich um eine Leitung handeln, über die der Teilnehmer der VoIP-Konferenz 300 (z. B. einer oder mehrere der Benutzer 44, 46, 48, 50) Datenübertragungen an andere Teilnehmer der VoIP-Konferenz 300 senden und von diesen empfangen kann. Mit anderen Worten: Wenn es 10 Teilnehmer der VoIP-Konferenz 300 gibt, kann jeder Teilnehmer mithilfe der VoIP-Konferenz-Anwendung und/oder seines jeweiligen VoIP-Konferenz-Clients eine VoIP-Sitzung mit dem VoIP-Konferenz-Server erstellen, und es kann 10 VoIP-Sitzungen geben, eine für jeden Teilnehmer der VoIP-Konferenz 300.
-
Beispielsweise kann der Benutzer 44 eine Datenübertragung an andere Teilnehmer der VoIP-Konferenz 300 vornehmen, indem er in ein Mikrofon (nicht gezeigt) spricht, das funktionell mit dem VoIP-Konferenz-Client des Benutzers 44 (z. B. dem VoIP-Konferenz-Client 314) verbunden ist. Die Datenübertragung kann von dem VoIP-Konferenz-Server 302 über die VoIP-Sitzung 304 empfangen werden. Der VoIP-Konferenz-Server 302 kann die Datenübertragung verarbeiten und/oder Leitungsqualitätsprüfungen an der Datenübertragung und/oder der VoIP-Sitzung 304 vornehmen. Wenn die Datenübertragung akzeptabel ist, kann der VoIP-Konferenz-Server 302 die Datenübertragung an den Rest der Teilnehmer (z. B. die Benutzer 46, 48) der VoIP-Konferenz 300 über VoIP-Sitzungen (z. B. die VoIP-Sitzungen 306, 308) senden, die mit VoIP-Konferenz-Clients (z. B. den VoIP-Konferenz-Clients 310, 312) eingerichtet wurden, die den anderen Teilnehmern (z. B. den Benutzern 46, 48) zugeordnet sind. Die anderen Teilnehmer (z. B. die Benutzer 46, 48) können die Datenübertragung über einen Lautsprecher (nicht gezeigt) hören, der funktionell mit ihrem jeweiligen VoIP-Konferenz-Client (z. B. den VoIP-Konferenz-Clients 310, 312) verbunden sein kann.
-
Wie bereits erörtert, können Störgeräusche unterschiedlicher Art während der VoIP-Konferenz 300, einschließlich, aber ohne darauf beschränkt zu sein, Echo- und Hintergrundgeräusche, für den Moderator und/oder den oder die Teilnehmer der VoIP-Konferenz 300 störend und/oder ablenkend sein. Diese Störgeräusche können von einem oder mehreren der Teilnehmer der VoIP-Konferenz (z. B. einem oder mehreren der Benutzer 44, 46, 48, 50) herrühren und an einen VoIP-Konferenz-Server (z. B. den Servercomputer 20 und/oder den VoIP-Konferenz-Server 302) gesendet werden, der die Störgeräusche an einen oder mehrere VoIP-Konferenz-Clients (z. B. eine oder mehrere der elektronischen Clienteinheiten 28, 30, 32, 34 und/oder der VoIP-Konferenz-Clients 310, 312, 314) weitersenden kann.
-
Als solche können diese Störgeräusche von einem oder mehreren der Teilnehmer der VoIP-Konferenz (z. B. einem oder mehreren der Benutzer 44, 46, 48, 50) über ihren jeweiligen VoIP-Konferenz-Client (z. B. eine oder mehrere der elektronischen Clienteinheiten 28, 30, 32, 34 und/oder der VoIP-Konferenz-Clients 310, 312, 314) gehört werden. Diese Störgeräusche können, wie auch andere Faktoren, die sich auf die VoIP-Konferenz 300 auswirken, einschließlich, aber ohne darauf beschränkt zu sein, Vordergrundgeräusche, stochastische Störgeräusche, gleichbleibende Störgeräusche, Jitter, Impedanz, Dämpfung, Interferenz, hohe Tonhöhe, tiefe Tonhöhe, Knistern, Paketverlust, Bandbreite, Stimmabfall und Amplitudenabfall, die Qualität der VoIP-Konferenz 300 beeinflussen. Außerdem wissen die Teilnehmer der VoIP-Konferenz (z. B. einer oder mehrere der Benutzer 44, 46, 48, 50) möglicherweise nicht, welcher Teilnehmer der VoIP-Konferenz und/oder welche VoIP-Sitzung das Qualitätsproblem verursacht.
-
Mit Bezug auf 1 bis 5: Der VSQ-Prozess 10 kann es einem Benutzer (z. B. einem oder mehreren der Benutzer 44, 46, 48, 50) ermöglichen 100, einen Sitzungsqualitäts-Schwellenwert (z. B. einen oder mehrere der Sitzungsqualitäts-Schwellenwerte 410 bis 428) für eine VoIP-Sitzung (z. B. die VoIP-Sitzungen 304, 306, 308) einer VoIP-Konferenz (z. B. der VoIP-Konferenz 300) zu definieren. Der Sitzungsqualitäts-Schwellenwert (z. B. einer oder mehrere der Sitzungsqualitäts-Schwellenwerte 410 bis 428) kann einem Sitzungsqualitäts-Merkmal (z. B. einem oder mehreren der Sitzungsqualitäts-Merkmale 430 bis 448) der VoIP-Sitzung (z. B. der VoIP-Sitzungen 304, 306, 308) entsprechen. Einer oder mehrere der Benutzer 44, 46, 48, 50 können den Sitzungsqualitäts-Schwellenwert (z. B. einen oder mehrere der Sitzungsqualitäts-Schwellenwerte 410 bis 428) möglicherweise mithilfe einer grafischen Benutzeroberfläche (graphical user interface, GUI) 400 definieren, die von der für die VoIP-Konferenz 300 verwendeten vereinheitlichten Telefonieanwendung und/oder der VoIP-Konferenz-Anwendung bereitgestellt werden kann. Beispielsweise möchte der Moderator der VoIP-Konferenz 300 (z. B. der Benutzer 46) möglicherweise den Sitzungsqualitäts-Schwellenwert für alle Benutzer definieren, die an der VoIP-Konferenz 300 teilnehmen, und tut dies möglicherweise, indem er das Kontrollkästchen 404 auswählt. Der Benutzer 46 möchte beispielsweise den Sitzungsqualitäts-Schwellenwert möglicherweise auf der Grundlage des jeweiligen Benutzers definieren und wählt möglicherweise einen bestimmten Benutzer aus dem Auswahlmenü 402.
-
Der Sitzungsqualitäts-Schwellenwert (z. B. einer oder mehrere der Sitzungsqualitäts-Schwellenwerte 410 bis 428) kann einem Sitzungsqualitäts-Merkmal (z. B. einem oder mehreren der Sitzungsqualitäts-Merkmale 430 bis 448) entsprechen, das die Qualität einer VoIP-Sitzung (z. B. der VoIP-Sitzungen 304, 306, 308) beeinflussen kann. Bei einer Realisierung kann der Sitzungsqualitäts-Schwellenwert ein gewichteter Schwellenwert (z. B. ein gewichteter Schwellenwert 408) sein, bei dem eines oder mehrere der Sitzungsqualitäts-Merkmale 430 bis 448 berücksichtigt werden. Der Benutzer 46 wählt für den VSQ-Prozess 10 möglicherweise den gewichteten Schwellenwert 408 durch Auswählen des Kontrollkästchens 406 und definiert anschließend möglicherweise den gewichteten Schwellenwert 408. Der Benutzer 46 wählt außerdem möglicherweise eines oder mehrere der Kontrollkästchen 450 bis 468, um auszuwählen, welches aus dem oder den entsprechenden Sitzungsqualitäts-Merkmalen 430 bis 448 möglicherweise in den gewichteten Schwellenwert 408 einbezogen wird. Des Weiteren kann der Benutzer 46 eine oder mehrere Sitzungsqualitäts-Schwellenwerts-Gewichtungen 470 bis 488 definieren, um zu steuern, in welchem Ausmaß jeder gewählte Sitzungsqualitäts-Schwellenwert in den gewichteten Schwellenwert 408 einbezogen wird.
-
Der VSQ-Prozess 10 kann außerdem einen Sitzungsqualitäts-Wert (z. B. einen oder mehrere der Sitzungsqualitäts-Werte 316, 318, 320) für das Sitzungsqualitäts-Merkmal (z. B. eines oder mehrere der Sitzungsqualitäts-Merkmale 430 bis 448) der VoIP-Sitzung (z. B. der VoIP-Sitzungen 304, 306, 308) ermitteln 102. Der Sitzungsqualitäts-Wert kann ein Niveau von einem oder mehreren Sitzungsqualitäts-Merkmalen 430 bis 448 quantifizieren, die in einer VoIP-Sitzung (z. B. der VoIP-Sitzung 304, 306, 308) vorhanden sind. Beispielsweise kann der Sitzungsqualitäts-Wert auf einer Skala von 0,0 bis 10,0 berechnet werden, wobei 10,0 der beste Sitzungsqualitäts-Wert und 0,0 der schlechteste Sitzungsqualitäts-Wert für jedes von einem oder mehreren der Sitzungsqualitäts-Merkmale 430 bis 448 ist. Der VSQ-Prozess 10 kann eine oder mehrere Prüfungen der VoIP-Sitzungen 304, 306 und/oder 308 vornehmen, um die Sitzungsqualitäts-Werte 316, 318 und/oder 320 zu ermitteln. Der VSQ-Prozess 10 kann außerdem regelmäßig den Sitzungsqualitäts-Wert (z. B. einen oder mehrere der Sitzungsqualitäts-Werte 316, 318, 320) für das Sitzungsqualitäts-Merkmal (z. B. eines oder mehrere der Sitzungsqualitäts-Merkmale 430 bis 448) der VoIP-Sitzung (z. B. der VoIP-Sitzungen 304, 306, 308) ermitteln 108, und zwar zumindest teilweise auf der Grundlage einer vorgegebenen Zeitspanne (z. B. einer vorgegebenen Zeitspanne 490). Auf diese Weise kann der Benutzer 46 den VSQ-Prozess 10 so konfigurieren, dass er verschiedene Sitzungsqualitäts-Werte nahezu in Echtzeit überwacht, um zu ermöglichen, dass der VSQ-Prozess 10 mit einer VoIP-Sitzung in Zusammenhang stehende Qualitätsprobleme nahezu in Echtzeit löst. Mit anderen Worten: Ein Moderator oder Administrator kann die vorgegebene Zeitspanne 490 so einstellen, dass es sich um eine sehr kurze Zeitspanne (z. B. 0,1 s oder 0,01 s) handelt, um zu ermöglichen, dass der VSQ-Prozess 10 mit einer VoIP-Sitzung in Zusammenhang stehende Qualitätsprobleme so echtzeitnah wie möglich löst.
-
Bei einer Realisierung kann der Sitzungsqualitäts-Wert einen gewichteten Sitzungsqualitäts-Wert darstellen. Der gewichtete Sitzungsqualitäts-Wert kann eine Vielzahl ermittelter Sitzungsqualitäts-Werte darstellen, und zwar zumindest teilweise auf der Grundlage von Niveaus von einem oder mehreren Sitzungsqualitäts-Merkmalen 430 bis 448, die in einer VoIP-Sitzung (z. B. der VoIP-Sitzung 304, 306, 308) vorhanden sind und von dem VSQ-Prozess 10 gemessen werden. Der gewichtete Sitzungsqualitäts-Wert kann auch zumindest teilweise auf der Grundlage einer oder mehrerer über die GUI 400 ausgewählter Optionen ermittelt werden. Lediglich zu Veranschaulichungszwecken wird angenommen, dass der Benutzer 46 die Kontrollkästchen 450 und 452 auswählt und „0,5” für die Gewichtung 470 sowie „0,5” für die Gewichtung 472 eingibt. Es wird außerdem angenommen, dass der VSQ-Prozess 10 ermittelt, dass ein Störgeräuschwert für die VoIP-Sitzung 304 5,0 beträgt, und dass ein Echowert für die VoIP-Sitzung 304 7,0 beträgt. Der gewichtete Sitzungsqualitäts-Wert der VoIP-Sitzung 304 kann (5,0 × 0,5) + (7,0 × 0,5) = 6,0 betragen. Auf diese Weise kann das Sitzungsqualitäts-Merkmal zumindest teilweise auf einem oder mehreren aus: Echo, Störgeräuschen, Hintergrundgeräuschen, Vordergrundgeräuschen, stochastischen Störgeräuschen, gleichbleibenden Störgeräuschen, Jitter, Impedanz, Dämpfung, Interferenz, hoher Tonhöhe, tiefer Tonhöhe, Knistern, Paketverlust, Bandbreite, Stimmabfall und Amplitudenabfall beruhen 126.
-
Der VSQ-Prozess 10 kann außerdem ermitteln 104, ob der Sitzungsqualitäts-Wert (z. B. die Sitzungsqualitäts-Werte 316, 318 und/oder 320) für das Sitzungsqualitäts-Merkmal (z. B. eines oder mehrere der Sitzungsqualitäts-Merkmale 430 bis 448) der VoIP-Sitzung (z. B. der VoIP-Sitzungen 304, 306 und/oder 308) inakzeptabel ist, und zwar zumindest teilweise auf der Grundlage des Sitzungsqualitäts-Schwellenwerts (eines oder mehrerer der Sitzungsqualitäts-Schwellenwerte 410 bis 428), der dem Sitzungsqualitäts-Merkmal (z. B. einem oder mehreren der Sitzungsqualitäts-Merkmale 430 bis 448) der VoIP-Sitzung (z. B. der VoIP-Sitzungen 304, 306 und/oder 308) entspricht. Es wird beispielsweise angenommen, dass der Benutzer 46 „6,0” über die GUI 400 als Sitzungsqualitäts-Schwellenwert 430 eingibt. Es wird außerdem angenommen, dass der VSQ-Prozess 10 ermittelt 102, dass der Sitzungsqualitäts-Wert für das Sitzungsqualitäts-Merkmal (z. B. das Sitzungsqualitäts-Merkmal 430 „Störgeräusche”) der dem Benutzer 46 zugeordneten VoIP-Sitzung 304 „5,0” beträgt. Da der Sitzungsqualitäts-Wert für „Störgeräusche” (z. B. der als „5,0” angegebene Sitzungsqualitäts-Wert 316) kleiner ist als der als „6,0” angegebene Sitzungsqualitäts-Schwellenwert 430, kann der VSQ-Prozess 10 ermitteln 104, dass der Sitzungsqualitäts-Wert 316 (z. B. „5,0”) für das Sitzungsqualitäts-Merkmal 430 (z. B. Störgeräusche) der VoIP-Sitzung 304 inakzeptabel ist.
-
Als Reaktion auf das Ermitteln 104, dass der Sitzungsqualitäts-Wert inakzeptabel ist, kann der VSQ-Prozess 10 eine oder mehrere vorgegebene Sitzungsqualitäts-Aktionen (z. B. die Sitzungsqualitäts-Aktionen 530 bis 542) auslösen 106. Beispielsweise kann der Benutzer 46 eine oder mehrere Sitzungsqualitäts-Aktionen (z. B. die Sitzungsqualitäts-Aktionen 530 bis 542) über eine GUI 500 definieren, die möglicherweise mithilfe der vereinheitlichten Telefonieanwendung und/oder einer VoIP-Konferenz-Anwendung bereitgestellt wird, die für die VoIP-Konferenz 300 verwendet werden. Der Benutzer 46 kann eines oder mehrere der Kontrollkästchen 502 bis 514 auswählen, um eine oder mehrere entsprechende Sitzungsqualitäts-Aktionen 530 bis 542 auszuwählen, die von dem VSQ-Prozess 10 als Reaktion auf das Ermitteln 104, dass der Sitzungsqualitäts-Wert inakzeptabel ist, ausgelöst 106 und/oder vorgenommen werden können. Der Benutzer 46 kann außerdem jede gewählte Sitzungsqualitäts-Aktion durch Auswählen einer oder mehrerer der Optionsschaltflächen 516 bis 528 konfigurieren, die möglicherweise mithilfe der GUI 500 bereitgestellt werden. Auf diese Weise kann der VSQ-Prozess 10 so konfiguriert werden, dass er autonom Qualitätsprobleme der VoIP-Konferenz diagnostiziert und löst. Außerdem können mithilfe der GUI 400 und/oder der GUI 500 eingestellte Optionen während der VoIP-Konferenz angepasst werden, um die Qualität der VoIP-Konferenz während der Konferenz (on the fly) zu steuern. Mit anderen Worten: Während des Ablaufs der VoIP-Konferenz kann ein Moderator einen oder mehrere Sitzungsqualitäts-Schwellenwerte anpassen, um die Qualität der VoIP-Konferenz so echtzeitnah wie möglich zu steuern.
-
Beispielsweise kann der VSQ-Prozess 10 den Sitzungsqualitäts-Wert (z. B. die Sitzungsqualitäts-Werte 316, 318, 320) auf einer grafischen Benutzeroberfläche (z. B. einer Konferenzliste 322) anzeigen 110, die einem oder mehreren Teilnehmern (z. B. einem oder mehreren der Benutzer 44, 46, 48) der VoIP-Konferenz (z. B. der VoIP-Konferenz 300) zur Verfügung steht. Die Konferenzliste 322 kann einer Kontaktliste und/oder Freundesliste ähneln und kann einen Moderator und/oder einen oder mehrere Teilnehmer der VoIP-Konferenz 300 anzeigen, die bei der Konferenz anwesend sind (die z. B. aktuell eine Live-Sitzung geöffnet haben wie beispielsweise die Sitzungen 304, 306, 308). Obwohl 3 zeigt, dass die Konferenzliste 322 für den Moderator (z. B. den Benutzer 46) sichtbar ist, dient dies nur als Beispiel, und die Konferenzliste 322 kann auch für einen oder mehrere Teilnehmer der VoIP-Konferenz 300 sichtbar sein, die keine Moderatoren sind (z. B. die Benutzer 44, 48). Beispielsweise kann der Benutzer 44 beim Überprüfen der Konferenzliste 322 und des Sitzungsqualitäts-Werts 316 für Störgeräusche erkennen, dass seine/ihre VoIP-Sitzung (z. B. die VoIP-Sitzung 304) die Hauptursache für Störgeräusche bei der VoIP-Konferenz 300 ist, und der Benutzer 44 kann versuchen, das Problem zu lösen. Der Benutzer 44 kann seine/ihre Leitung beispielsweise stumm schalten, versuchen, die VoIP-Sitzung 304 neu zu erstellen, oder die VoIP-Sitzung 304 einfach beenden.
-
Der VSQ-Prozess 10 kann als Reaktion auf das Ermitteln 104, dass der Sitzungsqualitäts-Wert inakzeptabel ist, verschiedene Sitzungsqualitäts-Aktionen auslösen und/oder vornehmen. Beispielsweise kann der VSQ-Prozess 10 eine neue VoIP-Sitzung (z. B. die VoIP-Sitzung 324) für einen Client (z. B. den VoIP-Konferenz-Client 314) erstellen 112, der der VoIP-Sitzung (z. B. der VoIP-Sitzung 304) mit dem inakzeptablem Sitzungsqualitäts-Wert (z. B. dem Sitzungsqualitäts-Wert 316) zugeordnet ist. Der VSQ-Prozess 10 kann außerdem die VoIP-Sitzung (z. B. die VoIP-Sitzung 304) mit dem inakzeptablem Sitzungsqualitäts-Wert (z. B. dem Sitzungsqualitäts-Wert 316) beenden 114. Auf diese Weise kann der VSQ-Prozess 10 eine Überbrückungs-VoIP-Sitzung für den VoIP-Konferenz-Client 314 erstellen. Wenn der VSQ-Prozess 10 bei einer Realisierung ermittelt, dass die neue VoIP-Sitzung 324 akzeptabel ist (z. B. nach dem Beurteilen der Qualitätsniveaus der VoIP-Sitzung 324 mithilfe einer oder mehrerer der vorstehend beschriebenen Operationen), kann der VSQ-Prozess 10 die alte VoIP-Sitzung (z. B. die VoIP-Sitzung 304) beenden 114. Diese Sitzungsqualitäts-Aktionen können über die GUI 500 ausgewählt und konfiguriert werden. Außerdem können diese Sitzungsqualitäts-Aktionen, anstatt durch den VSQ-Prozess 10 ausgelöst zu werden, auch durch den Moderator (z. B. den Benutzer 46) ausgelöst werden, indem er sie über die Auswahlfelder 326 und/oder 328 auswählt, die möglicherweise von einer GUI 330 bereitgestellt werden.
-
Auf diese Weise kann ein Moderator einer VoIP-Konferenz den VSQ-Prozess 10 so konfigurieren, dass er die VoIP-Sitzungsqualität auf der Grundlage einzelner Benutzer steuert. Wenn der Benutzer 48 beispielsweise der CEO eines Unternehmens und der Benutzer 46 dem Benutzer 48 untergeordnet ist, möchte der Benutzer 46 die Sitzungsqualitäts-Schwellenwerte für den Benutzer 48 möglicherweise großzügig konfigurieren (z. B. über die GUI 400), um zu verhindern, dass die VoIP-Sitzung des Benutzers 48 vorschnell beendet wird.
-
Als Reaktion auf das Ermitteln 104, dass der Sitzungsqualitäts-Wert inakzeptabel ist, kann der VSQ-Prozess 10 außerdem den Sitzungsqualitäts-Wert (z. B. den Sitzungsqualitäts-Wert 316) für die VoIP-Sitzung (z. B. die VoIP-Sitzung 304) während eines vorgegebenen Zeitrahmens (z. B. des Zeitrahmens 492) überwachen 116, um zu ermitteln, ob der Sitzungsqualitäts-Wert (z. B. der Sitzungsqualitäts-Wert 316) nach dem vorgegebenen Zeitrahmen (z. B. dem Zeitrahmen 492) akzeptabel ist. Der Zeitrahmen 492 kann über die GUI 400 definiert und über die GUI 500 ausgewählt und konfiguriert werden. Zu Veranschaulichungszwecken wird angenommen, dass der Benutzer 44 außerdem eine große Datei herunterlädt, während er über die VoIP-Sitzung 304 bei der VoIP-Konferenz 300 anwesend ist. Durch dieses Herunterladen kann für eine kurze Zeit (z. B. für 5 Sekunden) Bandbreite beansprucht werden, die dem System des Benutzers 44 (z. B. dem VoIP-Konferenz-Client 314) zur Verfügung steht. Mit anderen Worten: Aufgrund verschiedener Schwankungen der verfügbaren Bandbreite kann eine Latenz zwischen dem VoIP-Konferenz-Client 314 und einem VoIP-Konferenz-Server 302 auftreten. Während dieser Zeit kann der VSQ-Prozess 10 ermitteln, dass die verbleibende Bandbreite nicht ausreicht, um eine akzeptable Sitzungsqualität für den VoIP-Konferenz-Client 314 in der VoIP-Konferenz 300 zu unterstützen. Nach dem Überwachen 116 des Sitzungsqualitäts-Werts für Bandbreite, der der VoIP-Sitzung 304 zugeordnet ist, während des Zeitrahmens 492 (z. B. 5 Sekunden), kann der VSQ-Prozess 10 ermitteln, dass der Sitzungsqualitäts-Wert für Bandbreite, der der VoIP-Sitzung 304 zugeordnet ist, sich wieder auf einem akzeptablem Niveau befindet, da das Herunterladen möglicherweise abgeschlossen ist und möglicherweise wieder mehr Bandbreite zur Verfügung steht.
-
In Fortsetzung des vorstehenden Beispiels wird zu Veranschaulichungszwecken angenommen, dass der Benutzer 44 eine Anzahl äußerst großer Dateien herunterlädt, und dass der VSQ-Prozess 10 ermittelt hat, dass die verbleibende Bandbreite nicht ausreicht, um eine akzeptable Sitzungsqualität für den VoIP-Konferenz-Client 314 in der VoIP-Konferenz 300 zu unterstützen. Der VSQ-Prozess 10 kann von einem Client-Codec (z. B. einem Codec 332) der VoIP-Sitzung auf einen neuen Client-Codec (z. B. einen Codec 334) umschalten 118, der möglicherweise weniger Bandbreite erfordert. Bei einem Codec kann es sich um eine Einheit und/oder ein Programm handeln, die/das so konfiguriert ist, dass sie/es einen digitalen Datenstrom oder ein digitales Signal codiert/decodiert. Der neue Client-Codec (z. B. der Codec 334) erfordert möglicherweise weniger Bandbreite, kann aber dennoch für eine akzeptable Sitzungsqualität sorgen.
-
Der VSQ-Prozess 10 kann zum Beispiel ermitteln 104, dass der unakzeptable Sitzungsqualitäts-Wert einem Paketverlust entspricht. Ein Paketverlust kann vorkommen, wenn ein oder mehrere von dem VoIP-Konferenz-Client 314 aus gesendete Datenpakete (die z. B. eine Datenübertragung darstellen) nicht den VoIP-Konferenz-Server 302 erreichen. Dies kann zu einer unvollständigen Datenübertragung führen und zu einem niedrigen Sitzungsqualitäts-Wert für Paketverlust für die VoIP-Sitzung 304 beitragen. Dem VoIP-Konferenz-Client 314 ist möglicherweise bekannt, welche Pakete über die VoIP-Sitzung 304 gesendet wurden, und dem VoIP-Konferenz-Server 302 ist möglicherweise bekannt, welche Pakete über die VoIP-Sitzung 304 empfangen wurden. Um Wissen über Paketverlust zu verwalten, wendet der VSQ-Prozess 10 möglicherweise zyklische Redundanzprüfungen (cyclic redundancy checks, CRCs) an. Mithilfe dieses Wissens kann der VSQ-Prozess 10 ermitteln, welche Pakete verloren gingen, und kann die verlorenen Pakete wieder in die Datenübertragung einfügen, bevor diese von dem VoIP-Konferenz-Server 302 aus an die VoIP-Konferenz-Clients 310 und 312 gesendet wird. Zumindest teilweise auf der Grundlage vorgegebener Sitzungsqualitäts-Aktionen kann der VSQ-Prozess 10 ein oder mehrere Pakete einer Datenübertragung erneut über die VoIP-Sitzung (z. B. die VoIP-Sitzung 304) senden 120. Das oder die Pakete können mit dem oder den zuvor gesendeten Paketen der Datenübertragung übereinstimmen, die über die VoIP-Sitzung (z. B. die VoIP-Sitzung 304) verloren gingen. Außerdem kann der VSQ-Prozess 10 die Datenübertragung zusammen mit den erneut gesendeten Paketen der Datenübertragung an einen oder mehrere Clients (z. B. die VoIP-Konferenz-Clients 310, 312) der VoIP-Konferenz (z. B. der VoIP-Konferenz 300) senden 122.
-
Der VSQ-Prozess 10 kann außerdem ermitteln 104, dass der unakzeptable Sitzungsqualitäts-Wert Hintergrundgeräuschen entspricht. Der VSQ-Prozess 10 kann Hintergrundgeräusche aus einer Datenübertragung über die VoIP-Sitzung (z. B. die VoIP-Sitzung 304) entfernen 124, bevor die Datenübertragung an einen oder mehrere Clients (z. B. die VoIP-Konferenz-Clients 310, 312) der VoIP-Konferenz (z. B. der VoIP-Konferenz 300) gesendet wird. Bei einer Realisierung kann der VSQ-Prozess 10 einen Codec verwenden, der auf dem VoIP-Konferenz-Server 302 läuft, um Hintergrundgeräusche aus der Datenübertragung zu entfernen 124. Der Codec kann so konfiguriert sein, dass er Hintergrundgeräusche entfernt, bevor die Datenübertragung an die VoIP-Konferenz-Clients 310, 312 gesendet wird.
-
Bei einer Realisierung kann der VSQ-Prozess 10 ein Werkzeug wie beispielsweise IBM ViaVoiceTM verwenden, um eine oder mehrere Stichproben von Stimmen von Benutzern zu speichern und abzurufen. Der VSQ-Prozess 10 kann diese Stichproben außerdem dazu verwenden, um Lücken zu füllen, wenn die Qualität der VoIP-Sitzung sich verschlechtert, oder wenn Störgeräusche über die VoIP-Sitzung übertragen werden. Wenn beispielsweise ein Benutzer eines Mobiltelefons an einer VoIP-Konferenz teilnimmt und eine Autohupe Hintergrundgeräusche verursacht, kann der VSQ-Prozess 10 die Hintergrundgeräusche erkennen und diese Hintergrundgeräusche entfernen, wenn die Datenübertragung an die anderen VoIP-Konferenz-Clients gesendet wird. Außerdem kann der VSQ-Prozess 10 von den Hintergrundgeräuschen überdeckte Sprache durch Sprache ersetzen, die aus der oder den Stichproben für diesen Benutzer erzeugt wird. Mit anderen Worten: Der VSQ-Prozess 10 kann die von den Hintergrundgeräuschen überdeckte ursprüngliche Sprache analysieren, die Hintergrundgeräusche entfernen und durch Sprache ersetzen, die aus der oder den Stichproben für diesen Benutzer erzeugt wird.
-
Außerdem können bei einer Realisierung ein oder mehrere Benutzer der VoIP-Konferenz eine sehr hohe Einstellung für die Tonqualität der VoIP-Sitzung anwenden. Dies kann aufgrund der hohen geforderten Tonqualität inakzeptable Qualitätsniveaus für die VoIP-Sitzung auslösen. In dieser Situation kann der VSQ-Prozess 10 den Benutzer mit der hohen Einstellung für Tonqualität zwingen, eine niedrigere Einstellung für Tonqualiät zu verwenden.
-
Es sollte beachtet werden, dass der VSQ-Prozess 10 ein autonomer Prozess und im Hinblick auf ein Steuern einer VoIP-Konferenz-Qualität selbstverwaltend sein kann. Mit anderen Worten: Auf der Grundlage verschiedener vorgegebener Einstellungen und Konfigurationen wie den vorstehend erörterten, kann sich der VSQ-Prozess 10 an unvorhersehbare Änderungen anpassen, ohne weitere Eingaben von Benutzern zu benötigen. Der VSQ-Prozess 10 kann High-Level-Richtlinien (high level policies) und Einstellungen verwenden, um seinen Zustand fortlaufend zu überprüfen und zu optimieren. Mit anderen Worten: Der VSQ-Prozess 10 kann selbstregulierend sein und sich automatisch an sich ändernde Bedingungen anpassen. Bei einem Beispiel kann die Stimme des Benutzers 44 über die VoIP-Sitzung 304 aufgrund von Amplituden- und/oder Frequenzänderungen abfallen. Der VSQ-Prozess 10 kann autonom die Amplitude und/oder Frequenz des Datenstroms anpassen, und zwar zumindest teilweise auf der Grundlage einer oder mehrerer Richtlinien und/oder Einstellungen.
-
Es sollte außerdem beachtet werden, dass das oder die Sitzungsqualitäts-Merkmale, die auf der GUI 400 gezeigt werden, und die Sitzungsqualitäts-Aktion(en), die auf der GUI 500 gezeigt werden, nur zu Beispielzwecken gezeigt werden. Andere Sitzungsqualitäts-Merkmale, die möglicherweise nicht auf der GUI 400 gezeigt werden, können von dem VSQ-Prozess 10 gemessen werden, und andere Sitzungsqualitäts-Aktionen, die möglicherweise nicht auf der GUI 500 gezeigt werden, können von dem VSQ-Prozess 10 zum Steuern der Qualität einer VoIP-Konferenz verwendet werden. Beispielsweise kann der VSQ-Prozess 10 als Reaktion auf ein Ermitteln einer inakzeptablen VoIP-Sitzungsqualität einfach die Datenübertragungen stumm schalten, die von dem VoIP-Konferenz-Client ausgehen, der dieser VoIP-Sitzung zugeordnet ist. Außerdem können die über die GUI 400 und/oder die GUI 500 festgelegten Einstellungen beispielsweise gespeichert und bei späteren VoIP-Konferenzen verwendet werden, und zwar zumindest teilweise auf der Grundlage der Benutzer, die bei den späteren VoIP-Konferenzen anwesend sein werden.
-
Wie Fachleute verstehen werden, können Aspekte der vorliegenden Erfindung als ein System, eine Vorrichtung, ein Verfahren oder Computerprogrammprodukt ausgeführt sein. Dementsprechend können Aspekte der vorliegenden Erfindung die Form einer reinen Hardware-Ausführungsform, einer reinen Software-Ausführungsform (eingeschlossen Firmware, speicherresidente Software, Mikrocode usw.) oder die einer Ausführungsform annehmen, bei der Software- und Hardware-Aspekte kombiniert werden, die hier alle allgemein als „Schaltung”, „Modul” oder „System” bezeichnet sein können. Aspekte der vorliegenden Erfindung können außerdem in der Form eines Computerprogrammprodukts vorliegen, das in einem oder mehreren computerlesbaren Medien mit in dem Medium enthaltenem computerlesbarem Programmcode verkörpert ist.
-
Es kann eine beliebige Kombination von einem oder mehreren computerlesbaren Medien verwendet werden. Das computerlesbare Medium kann ein computerlesbares Signalmedium oder ein computerlesbares Speichermedium sein. Ein computerlesbares Speichermedium kann beispielsweise, aber ohne darauf beschränkt zu sein, ein elektronisches, magnetisches, optisches, elektromagnetisches, Infrarot- oder Halbleitersystem, eine derartige Vorrichtung oder Einheit oder jede beliebige Kombination von diesen sein. Als konkretere Beispiele (unvollständige Liste) für das computerlesbare Speichermedium könnten die folgenden aufgeführt werden: eine elektrische Verbindung mit einer oder mehreren Leitungen, eine tragbare Computerdiskette, eine Festplatte, ein Speicher mit wahlfreiem Zugriff (RAM), ein Nur-Lese-Speicher (ROM), ein löschbarer, programmierbarer Nur-Lese-Speicher (EPROM oder Flash-Speicher), ein Lichtwellenleiter, ein tragbarer Compact Disc-Nur-Lese-Speicher (CD-ROM), eine optische Speichereinheit, eine magnetische Speichereinheit oder jede geeignete Kombination von diesen. Im Zusammenhang dieses Dokuments kann ein computerlesbares Speichermedium ein beliebiges physisches Medium sein, das ein Programm für die Nutzung durch ein Anweisungen ausführendes System, eine solche Vorrichtung oder Einheit oder für die Nutzung in Verbindung mit einem Anweisungen ausführenden System, einer solchen Vorrichtung oder Einheit enthalten oder speichern kann.
-
Ein computerlesbares Signalmedium kann unter anderem ein verbreitetes Datensignal mit darin enthaltenem computerlesbarem Programmcode sein, zum Beispiel im Basisband oder als Teil einer Trägerwelle. Ein solches verbreitetes Signal kann verschiedene Formen annehmen, unter anderem, aber ohne darauf beschränkt zu sein, eine elektromagnetische oder optische Form oder eine beliebige geeignete Kombination aus diesen. Ein computerlesbares Signalmedium kann jedes computerlesbare Medium sein, das kein computerlesbares Speichermedium ist und das ein Programm für die Nutzung durch ein Anweisungen ausführendes System, eine solche Vorrichtung oder Einheit oder für die Nutzung in Verbindung mit einem Anweisungen ausführenden System, einer solchen Vorrichtung oder Einheit übermitteln, verbreiten oder transportieren kann.
-
Auf einem computerlesbaren Medium enthaltener Programmcode kann mithilfe jedes geeigneten Mediums übermittelt werden, einschließlich, aber ohne darauf beschränkt zu sein, ein drahtloses oder drahtgebundenes Medium, Lichtwellenleiterkabel, Hochfrequenz (HF) usw. oder jede geeignete Kombination von diesen.
-
Computerprogrammcode zum Ausführen der Operationen der Aspekte der vorliegenden Erfindung kann in einer beliebigen Kombination einer oder mehrerer Programmiersprachen geschrieben sein, darunter eine objektorientierte Programmiersprache wie Java, Smalltalk, C++ oder dergleichen sowie herkömmliche prozedurale Programmiersprachen wie beispielsweise die Programmiersprache „C” oder ähnliche Programmiersprachen. Der Programmcode kann vollständig auf dem Computer des Benutzers (d. h. einer elektronischen Clienteinheit), teilweise auf dem Computer des Benutzers, als ein eigenständiges Softwarepaket, zum Teil auf dem Computer des Benutzers und zum Teil auf einem entfernt angeordneten Computer oder vollständig auf dem entfernt angeordneten Computer oder Server (d. h. einem Servercomputer) ausgeführt werden. Bei dem letzteren Szenario kann der entfernt angeordnete Computer mit dem Computer des Benutzers durch ein beliebiges Netzwerk verbunden sein, darunter ein lokales Netzwerk (LAN) oder ein Weitverkehrsnetz (WAN), oder es kann eine Verbindung mit einem externen Computer hergestellt werden (zum Beispiel mithilfe eines Internetdienstanbieters über das Internet).
-
Aspekte der vorliegenden Erfindung werden möglicherweise mit Bezug auf Ablaufpläne und/oder Blockschaubilder von Verfahren, Vorrichtungen (Systemen) und/oder Computerprogrammprodukten gemäß Ausführungsformen der Erfindung beschrieben. Es versteht sich, dass jeder Block der Ablaufpläne und/oder Blockschaubilder sowie Kombinationen von Blöcken in den Ablaufplänen und/oder Blockschaubildern durch Computerprogrammanweisungen realisiert werden können. Diese Computerprogrammanweisungen können für einen Prozessor eines Universalcomputers, eines Spezialcomputers oder einer anderen programmierbaren Datenverarbeitungsvorrichtung zur Herstellung einer Maschine bereitgestellt werden, sodass die Anweisungen, die durch den Prozessor des Computers oder der anderen programmierbaren Datenverarbeitungsvorrichtung ausgeführt werden, Mittel zum Realisieren der in dem Block oder den Blöcken des Ablaufplans und/oder Blockschaubilds angegebenen Funktionen/Handlungen erzeugen.
-
Diese Computerprogrammanweisungen können auch in einem computerlesbaren Medium gespeichert sein, das einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder andere Einheiten so steuern kann, dass sie auf eine bestimmte Weise funktionieren, sodass die in dem computerlesbaren Medium gespeicherten Anweisungen ein Erzeugnis samt der Anweisungen herstellen, mithilfe derer die in dem Block oder den Blöcken des Ablaufplans und/oder Blockschaubilds angegebene Funktion/Handlung realisiert wird.
-
Die Computerprogrammanweisungen können auch auf einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder andere Einheiten geladen werden, um eine Reihe von auf dem Computer, der anderen programmierbaren Vorrichtung oder den anderen Einheiten auszuführenden Betriebsschritten zu bewirken, um einen durch Computer realisierten Prozess zu schaffen, sodass die Anweisungen, die auf dem Computer oder der anderen programmierbaren Vorrichtung ausgeführt werden, Prozesse zum Realisieren der in dem Block oder den Blöcken des Ablaufplans und/oder Blockschaubilds angegebenen Funktionen/Handlungen bereitstellen.
-
Die Ablaufpläne und die Blockschaubilder in den Figuren können die Architektur, die Funktionalität und den Betrieb möglicher Realisierungen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung veranschaulichen. In dieser Beziehung kann jeder Block in den Ablaufplänen oder den Blockschaubildern ein Modul, Segment oder einen Codeabschnitt enthalten, das/der eine oder mehrere ausführbare Anweisungen zum Realisieren der angegebenen Logikfunktion(en) aufweist. Es sollte auch beachtet werden, dass bei einigen alternativen Realisierungen die in dem Block angegebenen Funktionen in einer anderen Reihenfolge als in den Figuren angegeben auftreten können. Zum Beispiel können zwei aufeinanderfolgend dargestellte Blöcke tatsächlich im Wesentlichen gleichzeitig ausgeführt werden, oder die Blöcke können in Abhängigkeit von der betreffenden Funktionalität manchmal in der umgekehrten Reihenfolge ausgeführt werden. Außerdem werden ein oder mehrere der in den Blockschaubildern und/oder dem Ablaufplan gezeigten Blöcke möglicherweise in einigen Realisierungen nicht ausgeführt oder sind in einigen Realisierungen nicht erforderlich. Es sollte auch beachtet werden, dass jeder Block der Blockschaubilder und/oder des Ablaufplans sowie Blockkombinationen in den Blockschaubildern und/oder dem Ablaufplan durch Spezialsysteme auf der Grundlage von Hardware, die die angegebenen Funktionen oder Handlungen ausführen, oder Kombinationen von Spezialhardware und Computeranweisungen realisiert werden können.
-
Es wurde eine Anzahl von Ausführungsformen und Realisierungen beschrieben. Dennoch sollte beachtet werden, dass verschiedene Abwandlungen vorgenommen werden können. Demzufolge fallen andere Ausführungsformen und Realisierungen in den Schutzbereich der folgenden Ansprüche.