TECHNISCHES GEBIET
Die vorliegende Beschreibung bezieht sich auf Netzwerkkommunikationen,
und insbesondere auf eine Audio/Video-Konferenz.
HINTERGRUND
Moderne Technologie hat unsere Welt kleiner gemacht, was es Einzelpersonen
ermöglicht, über lange Distanzen zu kommunizieren. Insbesondere erlauben
es Konferenzsysteme, Gruppen von Individuen, Echtzeit-Audio- und/oder -Videokonferenzen
durchzuführen, trotzdem sie an unterschiedlichen Orten sind.
Konventionelle Audio/Video-Konferenzsysteme erlauben es mehreren Verwendern,
sich in einen zentralen Server einzuloggen, um an einer Konferenz teilzunehmen,
welche durch einen Host durchgeführt wird. Jedoch erfordern es derartige Systeme,
daß die Teilnehmer sich mit dem Server verbinden und daß der Host die
Konferenz steuert bzw. regelt oder leitet bzw. bedient. Wenn der Host nicht mehr
teilnimmt bzw. sie verläßt, muß die Konferenz enden oder ein anderer
Teilnehmer muß den Platz des nicht mehr teilnehmenden Hosts einnehmen. Häufig
ist dies in Szenarien in der realen Wert nicht geeignet. Jedoch setzen neue Verfahren
und Technologie eine Entwicklung fort, traditionelle Audio/Video-Konferenzsysteme
zu ergänzen.
ZUSAMMENFASSUNG
Entwicklungen in Kommunikationstechnologie erlauben es Individuen,
billig über lange Distanzen zu kommunizieren. Insbesondere ermöglichen
es Konferenzsysteme Gruppen von Individuen bzw. Einzelpersonen, daß sie Echtzeit-Audio-
und/oder -Videokonferenzen durchführen, trotzdem sie an verschiedenen Orten
sind.
In einem allgemeinen Aspekt der vorliegenden Erfindung, welcher in
Anspruch 1, 11, 18 und 28 definiert ist, wird ein Status von einem oder mehreren
Konferenzsystembenutzer(n) eines auf Inhalt basierenden bzw. inhaltsbasierten Nachrichten-(CBM-)
Netzwerks abonniert, Nachrichten bzw. Botschaften werden empfangen, welche den Status
des einen oder der mehreren Konferenzsystembenutzer(s) entsprechend der Subskription
bzw. dem Abonnement von dem CBM Netzwerk enthalten, und der Status des einen oder
der mehreren Konferenzsystembenutzer(s) wird präsentiert.
Der Status kann gezeigt bzw. präsentiert werden, daß ein
Benutzer offline, online oder nicht in einer Konferenz engagiert ist, oder online
und in einer Konferenz engagiert ist. Ein Präsentieren des Status kann ein
Bereitstellen eines Hinweises des Status beinhalten, der mit einer Benutzer-Identifikationseinrichtung
in einer Kontaktliste assoziiert ist, in welchem Fall ein Benutzer eingeladen werden
kann, an einer Konferenz teilzunehmen, indem die Benutzer-Identifikationseinrichtung
in der Kontaktliste gewählt wird.
Ein Benutzerstatus kann zu dem CBM Netzwerk publiziert werden, in
welchem Fall der Benutzerstatus anzeigen kann, daß der Benutzer offline, online
und nicht in einer Konferenz engagiert ist, oder online und in einer Konferenz engagiert
ist bzw. daran teilnimmt.
In einem weiteren bzw. anderen allgemeinen Aspekt beinhaltet das System
ein inhaltsbasierendes Nachrichtennetzwerk, beinhaltend ein Interface, um Subskriptionen
für einen Status für einen oder mehrere Konferenzsystembenutzer des inhaltsbasierenden
Nachrichten-(CBM-) Netzwerks zu empfangen und um publizierte bzw. veröffentlichte
Information zu empfangen, beinhaltend den Status des einen oder der mehreren Konferenzsystembenutzer(s);
einen Prozessor, um die Subskriptionen zu berechnen, um Nachrichten zu generieren,
beinhaltend den Status für den einen oder die mehreren Benutzer, und um die
Nachrichten zu Clientvorrichtungen entsprechend den berechneten Subskriptionen zu
senden; und eine Ausgabe, um die Nachrichten zu verteilen bzw. weiterzuleiten. Der
Status zeigt an, daß ein Benutzer offline, online oder nicht in einer Konferenz
engagiert ist, und/oder online und in einer Konferenz engagiert ist.
Das Benutzer-Interface kann konfiguriert sein, um eine oder mehrere
Subskription(en) für einen Benutzerstatus zu generieren bzw. zu erzeugen, um
die gelieferten Statusnachrichten bzw. -botschaften zu empfangen und um den Status
einem assoziierten Benutzer zu präsentieren. Das Benutzer-Interface kann auch
konfiguriert sein, um eine Kontaktliste zu generieren, wobei die Kontaktliste einen
Hinweis des Status, der mit einer Benutzer-Identifikationseinrichtung assoziiert
ist, basierend auf den gelieferten Statusnachrichten zur Verfügung stellt,
und um einen Benutzer einzuladen, um an einer Konferenz teilzunehmen, indem die
Benutzer-Identifikationseinrichtung in der Kontaktliste ausgewählt wird.
Das Benutzer-Interface kann auch konfiguriert sein, um einen Benutzerstatus
an das CBM Netzwerk zu publizieren. Der Benutzerstatus zeigt, daß der Benutzer
offline, online oder nicht in einer Konferenz engagiert ist, und/oder online und
in einer Konferenz engagiert ist.
In einem anderen allgemeinen Aspekt beinhaltet eine Clientvorrichtung
ein Interface, um Nachrichten von einem inhaltsbasierenden Nachrichten-(CBM-)
Netzwerk zu empfangen, beinhaltend einen Status von einem oder mehreren Konferenzsystembenutzer(n),
einen Prozessor, um die Statusnachrichten zu subskribieren bzw. zu abonnieren und
die Statusnachrichten für eine Präsentation zu verarbeiten, und ein Interface,
um den Status von dem einen oder den mehreren Konferenzsystembenutzer(n) zu präsentieren.
Das Interface ist konfiguriert, um zu präsentieren, daß ein Benutzer online,
offline und nicht in einer Konferenz engagiert ist, und/oder online und in einer
Konferenz engagiert ist.
Das Benutzer-Interface kann konfiguriert sein, um eine oder mehrere
Subskription(en) für den Benutzerstatus zu generieren, um die verteilten bzw.
gelieferten Statusnachrichten zu empfangen und den Status eines assoziierten Benutzers
zu präsentieren. Das Benutzer-Interface kann auch konfiguriert sein, um eine
Kontaktliste zu generieren, wobei die Kontaktliste einen Hinweis des Status, der
mit einer Benutzer-Identifikationseinrichtung assoziiert ist, basierend auf den
gelieferten Statusnachrichten zur Verfügung stellt, und um einen Benutzer einzuladen,
an einer Konferenz teilzunehmen, indem die Benutzer-Identifikationseinrichtung in
der Kontaktliste ausgewählt wird.
Das Benutzer-Interface kann auch konfiguriert sein, um einen Benutzerstatus
zu dem CBM Netzwerk zu publizieren. Der Benutzerstatus zeigt an, daß der Benutzer
offline, online und nicht in einer Konferenz engagiert ist, und/oder online und
in einer Konferenz engagiert ist.
In einem anderen allgemeinen Aspekt umfaßt ein Computerprogrammprodukt
Instruktionen bzw. Anweisungen, um einen Prozessor zu veranlassen, einen Status
für einen oder mehrere Konferenzsystembenutzer eines inhaltsbasierenden Nachrichten-(CBM-)
Netzwerks zu subskribieren, Nachrichten zu empfangen, beinhaltend den Status des
einen oder der mehreren Konferenzsystembenutzer(s) entsprechend der Subskription
von dem CBM Netzwerk, und den Status des einen oder der mehreren Konferenzsystembenutzer(s)
zu präsentieren. Der Benutzerstatus kann anzeigen, daß der Benutzer offline,
online oder nicht in einer Konferenz engagiert ist, und/oder online und in einer
Konferenz engagiert ist.
Das Computerprogrammprodukt kann Instruktionen beinhalten, um einen
Prozessor zu veranlassen, in einer Kontaktliste einen Hinweis des Status zu präsentieren,
der mit einer Benutzer-Identifikationseinrichtung assoziiert ist. In diesem Fall
können Instruktionen beinhaltet sein, um einen Prozessor zu veranlassen, einen
Benutzer einzuladen, an einer Konferenz basierend auf einer Auswahl der Benutzer-Identifikationseinrichtung
in der Kontaktliste teilzunehmen.
Instruktionen können beinhaltet sein, um einen Prozessor zu veranlassen,
einen Benutzerstatus zu dem CBM Netzwerk zu publizieren, wobei der Benutzerstatus
anzeigen kann, daß der Benutzer offline, online und nicht in einer Konferenz
engagiert ist, oder online und in einer Konferenz engagiert ist.
BESCHREIBUNG DER ZEICHNUNGEN
1 ist ein Blockdiagramm eines exemplarischen bzw. beispielhaften
Audio/Video-Konferenzsystems.
2 ist eine exemplarische Architektur für das Konferenzsystem
von 1.
3 illustriert den exemplarischen Datenfluß in
der Architektur von 2.
4 ist ein beispielhaftes, graphisches Benutzer-Interface
zur Verwendung mit dem Konferenzsystem von 1.
5, 6, 7,
8 und 9 sind exemplarische,
graphische Benutzer-Interfaces zum Ausbilden bzw. Aufbauen einer Konferenz.
10, 11, 12
und 13 sind exemplarische, graphische Benutzer-Interfaces
zum Auswählen von Optionen für eine Konferenz.
Gleiche Bezugssymbole bzw. -zeichen in den verschiedenen Zeichnungen
bezeichnen gleiche Elemente.
DETAILLIERTE BESCHREIBUNG
Systemüberblick
Die folgende Beschreibung detailliert ein Audio/Video-Konferenzsystem,
welches eine inhaltsbasierte Nachrichten-CBM-Infrastruktur für Multimedia-
und zusammenwirkende Anwendungen zur Verfügung stellt. Das Konferenzsystem
kann unter Verwendung einer Publikations/Subskriptions-Infrastruktur implementiert
sein, welche wenigstens zwei grundlegende bzw. Hauptsubsysteme beinhaltet: ein Mehrfachbenutzer-Audio/Video-Konferenzsystem
und ein Benutzermanagementsystem, welches den Status (beispielsweise offline, online
oder gegenwärtig in einer Konferenz) von Konferenzsystembenutzern anzeigt.
Jedes Unter- bzw. Subsystem ist unten in weiterem Detail beschrieben.
Bezugnehmend auf 1 beinhaltet ein Konferenzsystem
100 zwei oder mehrere Clientvorrichtungen 110 und ein CBM Netzwerk
120. Die Clientvorrichtungen 110 können Datenströme
130 und 135 mit dem CBM Netzwerk 120 unter Verwendung
von Informationspfaden 140 austauschen, um Audio- und/oder
Videokonferenzen auszuführen.
Die Clientvorrichtungen 110 können durch einen oder
mehrere Benutzer betätigt werden, um zu dem CBM Netzwerk 120 zuzugreifen.
Ein Beispiel einer Clientvorrichtung 110 ist ein Computer für allgemeine
Zwecke, der fähig ist, auf Instruktionen zu antworten und diese in einer definierten
Weise auszuführen. Clientvorrichtungen 110 können auch einen
Spezialzweckcomputer, einen Personal Computer ("PC"), eine Arbeitsstation, einen
Server, einen Laptop, ein webfähiges Telefon, einen webfähigen Personal
Digital Assistant ("PDA"), ein interaktives Fernsehset, eine Set-Top-Box, einen
Bordcomputer (beispielsweise in einem Fahrzeug montiert), oder eine Kombination
von zwei oder mehreren dieser Vorrichtungen beinhalten, die fähig sind, auf
Instruktionen zu antworten, diese zu generieren bzw. zu erzeugen und/oder auszuführen.
Die Clientvorrichtung 110 kann jegliche Anzahl von anderen Vorrichtungen,
Komponenten und/oder Peripheriegeräten beinhalten, wie Speicher/Speicherungsvorrichtungen,
Eingabevorrichtungen, Ausgabevorrichtungen, Benutzer-Interfaces und/oder Kommunikations-Interfaces
bzw. -Schnittstellen.
Die Clientvorrichtung 110 kann auch eine oder mehrere Softwareanwendung(en)
(beispielsweise ein Betriebssystem, eine Browseranwendung, eine Mikrobrowseranwendung,
eine Serveranwendung, eine Proxyanwendung, eine Gatewayanwendung, eine Tunnelinganwendung
und eine verteilte Konferenzanwendung unter anderem) beinhalten, die auf der Clientvorrichtung
110 geladen ist bzw. sind, um die Clientvorrichtung 110 zu steuern
und zu leiten. Anwendungen können ein Computerprogramm, ein Codestück,
eine Instruktion bzw. Anweisung oder eine Kombination davon beinhalten, um unabhängig
oder kollektiv bzw. gemeinsam die Clientvorrichtung 110 zu instruieren,
um wie gewünscht zu interagieren und zu arbeiten.
Die Anwendungen können permanent oder temporär in jeder
Art von Maschine, Komponente, physikalischer oder virtueller Einrichtung bzw. Ausrüstung,
Speichermedium oder propagiertem bzw. weitergeleitetem Signal oder Welle ausgebildet
bzw. verkörpert sein, die bzw. das fähig ist, Instruktionen zu der Clientvorrichtung
110 zur Verfügung zu stellen. Insbesondere können die Anwendungen
in einem Speichermedium oder einer Vorrichtung gespeichert sein (beispielsweise
einem Nur-Lese-Speicher (ROM), einem Direktzugriffsspeicher (RAM), einem flüchtigen/nicht-flüchtigen
Speicher, einer Magnetdiskette oder einem ausgebreiteten bzw. weitergeleiteten Signal),
das bzw. die durch die Clientvorrichtung 110 lesbar ist, so daß, wenn
das Speichermedium oder die Vorrichtung durch die Clientvorrichtung 110
gelesen wird, der spezifizierte Schritt oder die Instruktionen ausgeführt wird
bzw. werden.
Die Clientvorrichtung 110 kann auch ein oder mehrere Kommunikations-Interface(s)
beinhalten, welche(s) es der Clientvorrichtung ermöglicht (ermöglichen),
Information unter Verwendung der Kommunikationspfade 140 zu senden und
zu empfangen, die mit dem Konferenzsystem 100 assoziiert sind.
Die Kommunikationspfade 140 können konfiguriert sein,
um Signale (beispielsweise elektrische, elektromagnetische oder optische) zu senden
und zu empfangen, welche Datenströme fördern oder tragen (beispielsweise
130 und 135), die verschiedene Arten von analogem und/oder digitalem
Inhalt repräsentieren. Beispielsweise können die Kommunikationspfade
140 unter Verwendung von verschiedenen Kommunikationsmedien und einem oder
mehreren Netzwerk(en) implementiert sein, umfassend eine oder mehrere Netzwerkvorrichtung(en)
(beispielsweise Server, Router, Schalter, Hubs, Repeater und Speichervorrichtungen).
Das eine oder die mehreren Netzwerk(e) kann bzw. können ein WAN, ein LAN, ein
Breitbandnetzwerk, ein altes Telefonservice-(POTS)-Netzwerk, ein digitales Benutzerleitungs-(DSL)-Netzwerk,
ein digitales Netzwerk mit integriertem Service (ISDN) und ein synchrones optisches
Netzwerk (SONNET) oder eine Kombination von zwei oder mehreren dieser Netzwerke
beinhalten. Zusätzlich können die Kommunikationspfade 140 eine
oder mehrere drahtlose Verbindung(en) beinhalten, welche elektromagnetische Signale
übertragen und empfangen, wie beispielsweise Radio- bzw. Funk-, Infrarot- und
Mikrowellensignale, um Information zu leiten.
Das CBM Konferenzsystem 100 benützt eine Publikations/Subskriptionstechnik,
um Datenströme zwischen den Clientvorrichtungen 110 auszutauschen.
Gemäß dieser Technik kann jede Clientvorrichtung 110 ein Informationskonsument
oder -produzent sein. Als ein Informationsproduzent benutzt die Clientvorrichtung
110 die Konferenzanwendung, um Information (beispielsweise Audio/Videodaten
einer Konferenz) zu dem CBM Netzwerk 120 zu publizieren. Als ein Informationskonsument
benutzt die Clientvorrichtung 110 die CBM Konferenzanwendung, um eine "Subskription"
mit dem CBM Netzwerk 120 für spezifische publizierte bzw. veröffentlichte
Information (beispielsweise ein Audio/Videostrom einer Konferenz) zu registrieren.
Das CBM Netzwerk 120 stellt Notifikationen bzw. Mitteilungen (d.h. Nachrichten),
beinhaltend die publizierte Information, an jene Konsumenten-Clientvorrichtungen
110 zur Verfügung, welche die Information subskribieren bzw. abonnieren.
Das CBM Konferenzsystem 100 kann unter Verwendung einer verteilten
Konferenzanwendung implementiert sein, welche eine Anzahl von CBM Konferenzanwendungen
beinhaltet, die auf jeder der Clientvorrichtungen 110 läuft. Die CBM
Konferenzanwendungen zusammen mit dem CBM Netzwerk 120
stellen CBM Konferenz- und CBM Statusdienste zur Verfügung, welche zu jeder
der Clientvorrichtungen 110 zur Verfügung gestellt werden können.
Die CBM Konferenzanwendungen codieren die Audio- und/oder Videodatenströme
und publizieren entsprechende Konferenzinformation, beinhaltend die Audio- und/oder
Videodaten zu dem CBM Netzwerk 120. Die CBM Anwendungen registrieren auch
Subskriptionen für die publizierten Konferenzdaten. Die CBM Konferenzanwendungen
empfangen Nachrichten entsprechend den Subskriptionen, welche die Konferenzdaten
beinhalten, und verarbeiten die empfangenen Nachrichten in ein Datenstromformat
für eine Präsentation zu einem Benutzer.
Das CBM Netzwerk 120 kann eine oder mehrere Datenverarbeitungs-
und -verteilungsvorrichtung(en) (beispielsweise einen CBM Server, der mit Kommunikationsmedien
assoziiert ist, und Datentransportsysteme) beinhalten. Beispielsweise kann das CBM
Netzwerk 120 einen oder mehrere Filter CBM Server und Kommunikations-Interfaces
beinhalten (die konfiguriert sind, um mit Kommunikationspfaden 140 zu kommunizieren),
welche publizierte Information erhalten (beispielsweise, die zu einer Konferenz
oder zu einem Status der Systembenutzer gehört) und Nachrichten generieren,
welche zu den Konsumenten übertragen werden, die die publizierte Information
abonniert bzw. bestellt haben. Der filternde Server kann die registrierten Subskriptionen
der Clientvorrichtungen 110 berechnen, welche mit der publizierten Information
übereinstimmen, und die Nachrichten senden, die die Daten beinhalten, welche
zu den subskribierenden bzw. abonnierenden Kunden bzw. Konsumenten basierend auf
den berechneten Subskriptionen gesandt werden. Insbesondere beinhalten die publizierte
Information und die Nachrichten Audio- und/oder Videoinhalt zusätzlich zu Benutzerstatusdaten,
wie dies im Detail unten erklärt wird.
Bezugnehmend auf 2 kann eine beispielhafte
bzw. exemplarische CBM Konferenzarchitektur 200, welche ähnlich zu
einer Verbindungs-(ISO)-Architektur eines offenen Systems ist, verwendet werden,
um das CBM Konferenzsystem 100 zu implementieren. An der höchsten
Schicht (beispielsweise der Anwendungsschicht) stellt die verteilte CBM Konferenzanwendung
ein Benutzer-Interface an einer Benutzer-Interfaceschicht 210 zur Verfügung.
Die Benutzer-Interfaceschicht 210 erlaubt es einem Benutzer, an einer Audio/Video-Konferenz
teilzunehmen und den Status anderer Benutzer des CBM Konferenzsystems
100 zu bestimmen. Die Benutzer-Interfaceschicht 210 präsentiert
Multimediadatenströme, die als Nachrichten von dem CBM Netzwerk 120
empfangen sind bzw. werden. Das Benutzer-Interface handhabt Multimediadaten, die
von den Datenaufnahme- bzw. -erfassungsvorrichtungen (beispielsweise eine Videokamera
und/oder einem Mikrophon) zur Verfügung gestellt sind. Die Benutzer-Interfaceschicht
210 generiert und verarbeitet auch Multimediadatenströme, welche zu
dem CBM Netzwerk 120 publiziert sind, mit der Hilfe der zwischenliegenden
Schicht 220 und der CBM Adaptierungsschicht 230. Das Benutzer-Interface
stellt auch dem Benutzer verschiedene Konferenzmanagementmerkmale zur Verfügung
(beispielsweise Ausbilden bzw. Erzeugen einer Konferenz, Vermitteln von Audio- und/oder
Videofähigkeiten, Teilnehmen/Verlassen einer Konferenz und Schließen einer
Konferenz), wie dies unten erklärt wird.
Die zwischenliegende Schicht 220 stellt ein Interface bzw.
eine Schnittstelle zwischen der Benutzer-Interfaceschicht 210 und der CBM
Adaptierungsschicht 230 zur Verfügung. Die zwischenliegende Schicht
220 kann unter Verwendung eines Java Media Framework (JMF) implementiert
sein bzw. werden. Das JMF ist ein Anwendungsprogramm-Interface (API), welches es
Audio-, Video- und anderen zeitbasierenden Medien ermöglicht, zu Java-Anwendungen
und Applets hinzugefügt zu werden. Das JMF verwendet ein Echtzeittransportprotokoll
(RTP) (beispielsweise RFC 3267) zur Kommunikation zwischen verteilten Komponenten,
die für Multimediakommunikationen ausgebildet sind. Das JMF stellt ein Interface
zwischen den Datenprotokollen des Benutzer-Interface (und seinen assoziierten Datenaufnahmevorrichtungen)
und der CBM Infrastruktur zur Verfügung. Das JMF wandelt den Multimediadatenstrom,
der durch die Benutzer-Interfaceschicht generiert ist, in Datenpakete in JAVA unter
Verwendung des RTP Protokolls zum Publizieren zu dem CBM Netzwerk 120 um.
Das JFM wandelt auch RTP Protokollpakete, die als Nachrichten von der CBM Adaptierungsschicht
230 erhalten sind, in einen Multimediadatenstrom um, der mit der Benutzer-Interfaceschicht
210 und ihren Datenaufnahmevorrichtungen kompatibel ist. Das JMF stellt
sowohl "zuverlässige" und "nicht-zuverlässige" Kommunikationsarten bzw.
-moden zur Verfügung. Der zuverlässige Modus wird für alle Multimedia-Strommanagementfunktionen
verwendet. Der nicht-zuverlässige Modus wird für ein Übertragen der
Multimediadatenpakete zu dem CBM Netzwerk 120 verwendet.
Die CBM Adaptierungsschicht 230 ist für ein Aufzeichnen
der RTP codierten Multimediapakete auf Nachrichten verantwortlich, die für
eine Kommunikation im CBM Netzwerk 120 verwendet werden. Die Adaptierungsschicht
230 kann in JAVA implementiert sein. Die Adaptierungsschicht
230 handhabt auch die notwendigen Subskriptionen bzw. Abonnements, um publizierte
Nachrichten zu empfangen, welche die Multimediadatenströme beinhalten. Die
Adaptierungsschicht 230 ist für das Aufzeichnen von Java-Programmiersprachaufrufen
auf CBM Nachrichten verantwortlich. Das Interface, welches die Implementierungsschicht
implementiert, ist betreibbar bzw. betätigbar, um von spezifischen Netzwerk-Infrastrukturen
(Nachrichten, http, TCP/IP) zu abstrahieren, um ein Aufzeichnen auf diese Netzwerk-Infrastrukturen
zu erleichtern bzw. zu vereinfachen. Dieses abstrakte Netzwerk-Interface ist durch
das JMF definiert. Die Adaptierungsschickt 230 ist in Java implementiert.
Die Adaptierungsschicht 230 nimmt Information auf, welche durch das Benutzer-Interface
durch das JMF zur Verfügung gestellt ist, und zeichnet diese Information auf
CBM Nachrichten auf. Kein weiteres Codieren oder Dekodieren ist notwendig. Die Nachrichten-Infrastruktur
kann Nachrichten von (grundsätzlich) beliebiger Länge handhaben. Es gibt
eine Eins-zu-Eins-Aufzeichnung zwischen Paketen von JMF und den Nachrichten. Die
Adaptierungsschicht 230 handhabt auch die Verbindung der Clientvorrichtung
110 mit dem CBM Netzwerk 120 und den notwendigen Subskriptionen,
um die geeigneten Nachrichten, die einer Konferenz entsprechen, zu empfangen.
Die Kontaktstatus- und Konferenzmanagementschicht 250 stellt
ein Interface zwischen dem Benutzer-Interface 210 und dem CBM Netzwerk
120 zur Kommunikation zur Verfügung und kann unter Verwendung von
JAVA implementiert werden. Die Kontaktstatus- und Konferenzmanagementschicht
250 stellt alle Funktionalitäten zur Verfügung, um die Anwesenheitsinformation
von Kontakten und Konferenzteilnehmern zu publizieren und zu empfangen. Die Kontaktstatus-
und Konferenzmanagementschicht 250 ist für ein Empfangen von Anwesenheitsaktualisierungen
von allen konfigurierten Kontakten verantwortlich und um Information betreffend
Änderungen des Zustands ihres assoziierten Benutzers zu publizieren. Die Kontaktstatus-
und Konferenzmanagementschicht 250 managt auch die notwendigen Subskriptionen,
um die geeignete Information zu empfangen, und erzeugt die Nachrichten, um Statusaktualisierungen
zu anderen Benutzern zu senden. Die Schicht 250 handhabt auch die Verbindung
zu dem CBM Netzwerk 120.
Das CBM Netzwerk 120, wie es in 2
dargestellt bzw. illustriert ist, entspricht der relevanten physikalischen bzw.
physischen Schicht zum Implementieren des CBM Konferenzsystems 100. Somit
kommuniziert jede verteilte Peer-Anwendung des CBM Konferenzsystems 100
unter Verwendung des CBM Netzwerks 120 und seiner entsprechenden Infrastruktur.
Das CBM Netzwerk 120 kann unter Verwendung eines Publikations/Subskriptionssystems
implementiert sein, beispielsweise der Elvin-Nachrichtenarchitektur, die durch DSTC
in Brisbane, Australien entwickelt ist. Obwohl die Beispiele, die hier beschrieben
sind, sich auf Elvin beziehen, können andere CBM Protokolle und Systeme, wie
beispielsweise CosNotif, JMS, Keryx und Gryphon, verwendet werden, um Information
zu den Clientvorrichtungen 110 unter Verwendung ihrer assoziierten CBM
Konferenzanwendungen zu verteilen bzw. zu senden.
Bezugnehmend auf 3 ist der Datenfluß
bzw. -strom in bezug auf die exemplarische Konferenzarchitektur von 2
dargestellt. Eine Eingabevorrichtung (beispielsweise ein Mikrophon 301
und/oder eine Videokamera 302) kann verwendet werden, um entsprechende
Ströme von Daten 310 bzw. 315 zu generieren. Die Benutzer-Interfaceschicht
210 handhabt die Audio- 310 und/oder Video- 315 Datenströme,
indem jegliche notwendige Codierung oder Be- bzw. Verarbeitung zur Verfügung
gestellt wird. Die Audio/Videodatenströme werden von dem Benutzer-Interface
zu dem JMF 220 zur Verfügung gestellt, welches die Daten in Pakete
unter Verwendung von RTP codiert. Die RTP codierten Datenpakete werden der CBM Adaptierungsschicht
230 zum Codieren als CBM Nachrichten zur Verfügung gestellt und werden
zu dem CBM Netzwerk 20 publiziert.
In ähnlicher Weise registriert die CBM Adaptierungsschicht
230 eine Subskription für spezifische Konferenzdaten, und erhält
Nachrichten entsprechend den Subskriptionen für Konferenzdaten (beispielsweise
beinhaltend Audio/Video-Datenpakete), die mit dem CBM Netzwerk 120 registriert
sind. Die Nachrichten werden von RTP durch das JMF 220 decodiert und dem
Benutzer-Interface zur Darstellung bzw. Präsentation zu dem Benutzer unter
Verwendung von einer oder mehreren Datenausgabevorrichtung(en) 325 (beispielsweise
einer Anzeige und/oder Lautsprechern) zur Verfügung gestellt.
Die Benutzer-Interfaceschicht 210 stellt auch Benutzerstatusinformation
zu der Status/Konferenzmanagementschicht 250 als Datenstrom 330
zur Verfügung. Beispielsweise stellt die Benutzer-Interfaceschicht
210 den Status eines assoziierten Benutzers zu der Status-Konferenzmanagementschicht
250 zur Verfügung, wobei angezeigt wird, ob der Benutzer offline ist,
mit dem CBM Netzwerk 120 verbunden ist und fähig ist, an einer Konferenz
teilzunehmen bzw. in dieser engagiert zu sein, oder online ist und in einer Konferenz
engagiert ist bzw. daran teilnimmt. Die Status-Konferenzmanagementschicht
250 publiziert den Status zu dem CBM Netzwerk 120, wo er anderen
subskribierenden Benutzern zur Verfügung gestellt ist, welche den Benutzer
als einen Kontakt in ihrer Kontaktliste listen. Der Benutzerstatus wird zu dem CBM
Netzwerk 120 publiziert (wo er zu Kontaktlisten Abonnierenden verteilt
wird).
Die Status/Konferenzmanagementschicht 250 erhält auch
Statusdatenströme 340 entsprechend Kontakten der assoziierten Benutzerinterface-Kontaktliste,
welche sie abonniert. Der Statusdatenstrom 340 wird zu der Benutzer-Interfaceschicht
210 geliefert und dem Benutzer der Kontaktliste präsentiert.
Auf diese Weise wird, wenn sich der Status eines Benutzers verändert, die Information
zu allen Benutzern des CBM Konferenzsystems 100 verteilt, welche einen
Benutzer in ihren Kontaktlisten listen.
Wie dies in 3 gezeigt ist, sind jene
Teile der Architektur, welche Nachrichten konsumieren (beispielsweise Multimediadaten
empfangen, Statusaktualisierungen empfangen) unabhängig zum Ausbilden der geeigneten
Subskriptionen in dem CBM Netzwerk 120 verantwortlich. Die Subskriptionen
stellen sicher, daß lediglich erforderliche Nachrichten zu den entsprechenden
CBM Konferenzanwendungen gesandt werden. Als Ergebnis werden die erforderliche Bandbreite
und die Bearbeitungsleistung, die durch das CBM Konferenzsystem 100 erforderlich
sind, reduziert.
Indem neuerlich auf 1 Bezug genommen
wird, wird ein Beispiel einer Konferenz mit Datenströmen zwischen fünf
Peer-Konferenzanwendungen beschrieben. Entsprechend dem Beispiel sind die Peer-Anwendungen
A, B und C in einer Konferenz engagiert. Jede der Peers bzw. Teilnehmer tauscht
Multimediadaten aus, welche publiziert werden oder als Nachrichten von dem CBM Netzwerk
120 empfangen werden. Die publizierten bzw. veröffentlichten Nachrichten
werden einmal von jeder Clientvorrichtung 110 zu dem CBM Netzwerk
120 publiziert. Jede der Peer-Anwendungen, die an der Konferenz teilnimmt,
abonniert Datenströme 135, beinhaltend die konferenzspezifischen Datennachrichten,
und jede konferenzspezifische Nachricht wird zu jedem der subskribierenden bzw.
abonnierenden Teilnehmer übersandt (beispielsweise Teilnehmer- bzw. Peer-Anwendungen
A, B und C).
Beispielsweise werden Multimedianachrichten 145, die von
A entsprechend der Konferenz publiziert sind bzw. werden, zu dem CBM Netzwerk
120 gesandt. Peers B und C abonnieren die Nachrichten in dem Multimediadatenstrom
135. Die publizierten Nachrichten von A werden durch das CBM Netzwerk mit
B- und C-Konferenzabonnements übereingestimmt und sowohl an B als auch C gesandt.
In ähnlicher Weise werden eine Nachricht 150 und eine Nachricht
155 entsprechend Multimediaströmen, die durch B und C publiziert sind,
zu einem Konferenzabonnement durch A abgestimmt bzw. abgeglichen, und an A durch
das CBM Netzwerk gesandt.
Zusätzlich wird gemäß diesem Beispiel jeder der Benutzer,
der mit den Peers A, B, C und D assoziiert ist, in den Kontaktlisten von jedem der
assoziierten Benutzer-Interfaces gelistet. Daher publizieren die Peers A–D
und abonnieren die Statusnachrichten 160 von jedem der Peers, um den Status
von jedem der Benutzer in ihrer assoziierten Kontaktliste aufrecht zu erhalten.
Beispielsweise zeigen die ausgetauschten Statusnachrichten an, daß A, B und
C in einer Konferenz sind und D online ist (jedoch nicht in einer Konferenz). In
diesem Fall abonniert lediglich D die Statusnachrichten von den Benutzern, die in
seiner Kontaktliste gelistet sind (jedoch nicht jegliche Multimediaströme).
Als Teil dieses Beispiels ist der Peer E nicht in einer Konferenz
und gehört nicht zu den Kontakten von A, B, C oder D. Als ein Ergebnis abonniert
der Peer E nicht oder publiziert auch nicht irgendwelche Nachrichten.
In einer Implementierung kann ein Quenching-Merkmal (das in Elvin
zur Verfügung gestellt wird) verwendet werden, um eine Feedback- bzw. Rückkopplungsinformation
zu einem Produzenten betreffend Konsumenten zur Verfügung zu stellen, welche
Daten abonnieren, die durch den Produzenten publiziert sind. In dem CBM Konferenzsystem
100 kann ein Quenching verwendet werden, um Information betreffend Peers
in einer Konferenz zu bestimmen (beispielsweise wenn irgendwelche Peers in einer
Konferenz verbleiben). Wenn der Quenching-Mechanismus eines Produzenten eines Multimediastroms
aktiviert ist und bestimmt, daß keine abonnierenden Peers in einer Konferenz
verbleiben, stoppt der Produzent ein Publizieren des Datenstroms als Nachrichten
zu dem CBM Netzwerk 120. Der Quenching-Mechanismus stellt sicher, daß,
wenn immer ein neuer Peer zu der Konferenz hinzugefügt wird, jegliche Produzenten
informiert werden, um ein Senden des Multimediadatenstroms zu beginnen, der mit
der Konferenz assoziiert ist. Ein Quenching kann unter Verwendung des Optionen-Interface
konfiguriert werden, wie dies unten beschrieben ist.
Graphische Benutzer-Interfaces
4 zeigt ein exemplarisches, graphisches Benutzer-Interface
400 eines Konferenzsystems. Das graphische Benutzer-Interface
400 kann einen Menübalken 401, einen virtuellen Knopfbalken
410, ein Kontaktlistenfenster 420, einen Konferenzbereich
440 und einen Statusbalken 450 beinhalten.
Ein Benutzer kann den Menübalken 401 verwenden, um zu
Dropdown-Menüs zuzugreifen. Die Dropdown-Menüs können verwendet werden,
um CBM Konferenzoptionen, CBM Konferenzbenutzer-Managementmerkmale auszuwählen
und das CBM Konferenzbenutzer-Interface und ihre Merkmale zu aktualisieren und zu
steuern bzw. zu regeln.
Der virtuelle Knopfbalken 410 kann beispielsweise vier virtuelle
Knöpfe beinhalten: Knopf 411, um eine CBM Konferenz mit einem Kontakt
auszubilden bzw. zu erzeugen, der aus der Kontaktliste 422 gewählt
ist, Knopf 413, um an einer CBM Konferenz teilzunehmen,
die bereits abläuft, Knopf 415, um eine Konferenz zu verlassen, und
Knopf 417, um ein Vorschaufenster anzuzeigen. Die virtuellen Knöpfe
können unter Verwendung einer Eingabevorrichtung (beispielsweise einer Maus)
der Clientvorrichtung 110 gewählt werden, um ihre assoziierten Funktionen
aufzurufen.
Das Kontaktlistenfenster 420 beinhaltet eine Liste von Benutzerkontakten
422 (beispielsweise Benutzern des Konferenzsystems 100, mit welchen
ein Benutzer kommuniziert oder ihren Status überwacht). Die Kontaktliste
422 beinhaltet eine oder mehrere Identifikationseinrichtung(en) (beispielsweise
Schirmnamen oder E-Mail-Adressen), die mit Benutzern des Konferenzsystems
100 assoziiert ist bzw. sind. Der gegenwärtige Status der Kontakte,
die in der Kontaktliste 422 beinhaltet sind, kann durch ein Ansehen einer
visuellen Identifikation bestimmt werden, die mit einer entsprechenden Benutzer-Identifikationseinrichtung
assoziiert ist.
In einer Implementierung wird der Status durch die Farbe einer Blasenkontakt-Identifikationseinrichtung
angezeigt, die mit jeder Identifikationseinrichtung assoziiert ist. Beispielsweise
kann rot verwendet werden, um anzuzeigen, daß ein Kontakt offline ist, grün
kann verwendet werden, um anzuzeigen, daß ein Kontakt online und nicht in einer
Konferenz ist, und blau kann verwendet werden, um anzuzeigen, daß ein Kontakt
online und in einer Konferenz ist.
Das Kontaktlistenfenster 420 kann Folder verwenden, um Gruppen
von Kontakten zu organisieren. Beispielsweise können die Folder Benutzer durch
ihren gegenwärtigen Status gruppieren, und, wie dies gezeigt ist, einen Folder
für Onlinekontakte und einen Folder für Offlinekontakte beinhalten.
Der Konferenzbereich 440 kann verwendet werden, um Information
betreffend laufende Konferenzen, beinhaltend Datenströme entsprechend Multimediadatenströme
jedes Konferenzteilnehmers zu präsentieren. Der Konferenzbereich
440 kann ein oder mehrere Konferenzfenster (beispielsweise 460)
beinhalten, welche(s) Audio/Video-Repräsentationen entsprechend den Konferenzteilnehmern
präsentiert (präsentieren). Zusätzlich kann ein Monitorfenster
465 angezeigt werden, um den Datenstrom vorab zu betrachten und zu regeln
bzw. zu steuern, der zu anderen Clientvorrichtungen 110 während einer
Konferenz gesandt wird.
Jedes Konferenzfenster 460 kann einen Titelbalken
470 beinhalten, enthaltend eine Identifikation bzw. Identifikationseinrichtung
eines entsprechenden Konferenzteilnehmers (beispielsweise dominic@bne). Das Konferenzfenster
465 enthält auch einen Statusbalken 475 an dem Boden, der
die Zeit anzeigt, zu welcher ein assoziierter bzw. zugehöriger Teilnehmer an
einer Konferenz teilgenommen hat. Ein kleines Bild bzw. Ikon oder ein anderer Hinweis
477 (beispielsweise ein "Film"-Symbol) kann gewählt werden, um detaillierte
Informationen zu erhalten (beispielsweise Daten-Raten, Frame- bzw. Rahmen-Raten,
Codierung des gegenwärtigen Datenstroms und gegenwärtige bzw. laufende
Zeitanzeige) betreffend den Audio/Video-Strom, welcher in dem entsprechenden Konferenzfenster
dargestellt bzw. präsentiert wird.
Das Monitoring- bzw. Überwachungsfenster 465 kann einen
Titelbalken 467 (beispielsweise Vorschau) beinhalten. Das Überwachungsfenster
465 beinhaltet keinen Statusbalken, da die Daten, die in dem Fenster präsentiert
werden, lokal und nicht durch das JMF generiert werden. Das Überwachungsfenster
465 kann verwendet werden, um den Datenstrom zu steuern bzw. zu regeln,
der durch die Clientvorrichtung 110 publiziert ist, die mit dem Überwachungsfenster
465 assoziiert ist, welches zu den Konferenzteilnehmern gesandt ist.
Der Statusbalken 450 zeigt Information betreffend das Konferenzsystem
100 an. Beispielsweise kann der Statusbalken 450 einen Hinweis
beinhalten, daß die Clientvorrichtung 110 entsprechend dem Benutzer-Interface
400 mit dem CBM Netzwerk 120 verbunden ist. Der Statusbalken
450 kann auch Information betreffend einen Speicherverbrauch der entsprechenden
Clientvorrichtung 110 anzeigen.
Erzeugen einer Konferenz
Um eine Konferenz zu erzeugen, kann ein Benutzer einen Kontakt von
seiner Kontaktliste 422 wählen. Der Benutzer wählt dann den virtuellen
Knopf 411 "Erzeugen Konferenz" ("create conference") in dem virtuellen
Knopfbalken 410, um das Konferenzverfahren zu starten.
In Antwort kann das graphische Interface 500, wie dies in
5 gezeigt ist, gestartet und verwendet werden, um die
Benutzer-Interface/Konfigurationsfestlegungen zu konfigurieren. Wenn eine Änderung
gewünscht ist, kann eine Änderungsfestlegungseingabe 510 gewählt
werden und ein virtueller Knopf 520 kann gewählt werden, um das Verfahren
bzw. den Prozeß fortzusetzen. Wenn nicht, wird eine Konferenz unter Verwendung
der Festlegungen eingerichtet, die in einer vorhergehenden Konferenz verwendet wurden,
und der virtuelle Knopf 530 (beispielsweise Finish bzw. Ende) kann gewählt
werden.
6 und 7 zeigen exemplarische
graphische Benutzer-Interfaces, welche verwendet werden können, um Optionen
auszuwählen und um die Benutzer-Interfacefestlegungen bzw. -settings (beispielsweise
durch JMF verwendet) zu verändern. Wie dies in 6
gezeigt ist, erlaubt das Interface 600 einem Benutzer, Datenaufnahmevorrichtungen
auszuwählen, die mit der Clientvorrichtung 110 assoziiert sind, welche
verwendet werden können, um eine CBM Audio/Video-Konferenz auszuführen.
Ein Tab kann mit jeder Datenaufnahme- bzw. -erfassungsvorrichtung assoziiert sein.
Beispielsweise sind ein Videovorrichtungs-Tab 610 und ein Audiovorrichtungs-Tab
620 zur Verfügung gestellt, um Festlegungen bzw. Einstellungen für
jede entsprechende Audio- und Videodatenaufnahmevorrichtung auszuwählen und
festzulegen.
Ein Videovorrichtungs-Tab 610 kann eine Auswahleingabebox
630 beinhalten, um die Videovorrichtung zu aktivieren, für welche
Festlegungen ausgewählt wurden (oder Defaultfestlegungen, die durch das CBM
System 100 zur Verfügung gestellt sind). Eine Art von Videovorrichtung
kann von einem Dropdown-Menü 638 gewählt werden. Auswahlen für
Codierungen, Videogröße, Rahmenrate und Bits pro Bildpunkt bzw.
Pixel können unter Verwendung von Dropdown-Menüs gewählt
werden. Beispielsweise kann eine Frame-Rate zwischen 5 und 10 Rahmen/Sekunde unter
Verwendung des Interface gewählt werden. Unter Verwendung des Video-Tabs
620 kann die Videogröße reduziert werden, um eine bessere Videoqualität
zur Verfügung zu stellen. Ein Videocodierungsschema, wie Video for Windows
(d.h. "vfw:...") kann gewählt werden. Virtuelle Knöpfe zum Beenden oder
Fortfahren zu anderen Schirmen können zur Verfügung gestellt sein.
In ähnlicher Weise kann, wie dies in 7
gezeigt ist, das Audiovorrichtungs-Tab 620 verwendet werden, um Audiovorrichtungsfestlegungen
bzw. -settings auszuwählen. Eine Auswahlbox 720 kann verwendet werden,
um die Audiovorrichtung einzuschalten. Dropdown-Menüs 730,
740 und 750 können verwendet werden, um einen Treiber (beispielsweise
Java Sound Audioaufnahme), Codierung und Sample- bzw. Datenrate auszuwählen.
Radioknöpfe 760 für Bits pro Sample (beispielsweise 8 Bit oder
16 Bit), Kanäle (beispielsweise Mono oder Stereo), Endian (beispielsweise groß
oder klein) können gewählt werden.
Nach Klicken des Next-Knopfs 770 erscheint ein Schirm
800, wie dies in 8 und 9
gezeigt ist, um die Ausgabeparameter zu spezifizieren. Ein Dropdown-Menü
810 kann verwendet werden, um ein Format (beispielsweise RAW/RTP) zu wählen.
Tabs 820 und 830 spezifizieren Ausgabeparameter für Audio
bzw. Video. Beispielsweise können Dropdown-Menüs 840 und
841 verwendet werden, um ein Codieren und eine Samplerate zu spezifizieren.
Radioknöpfe 850 für Bits pro Probe bzw. Sample (beispielsweise
8 Bit oder 16 Bit), Kanäle (beispielsweise Mono oder Stereo), Endian (beispielsweise
groß oder klein) können gewählt werden.
Wie dies in 9 gezeigt ist, können
Ausgabeparameter für Videodaten, die mit dem Tab 830 assoziiert sind,
gewählt werden. Eine Auswahlbox 935 kann verwendet werden, um eine
Spur zu ermöglichen bzw. einzuschalten. Die Dropdown-Menüs 940,
941, 945 und 950 können verwendet werden, um ein
Codieren, Videogröße bzw. Rahmenrate auszuwählen. Ein Finish- bzw.
Endknopf 960 kann verwendet werden, um das Parameter- und Einstellverfahren
zu beenden.
Nachdem dieses Verfahren für den Initiator der Konferenz beendet
ist, wird eine Einladung zu der Konferenz an einen eingeladenen Benutzer gesandt
(zuvor ausgewählt unter Verwendung der Kontaktliste, wie dies oben beschrieben
ist). Wenn sie mit dem CBM Netzwerk 120 verbindet, registriert die CBM
Adaptierungsschicht 230 eine Subskription zu einer Identifikationseinrichtung,
die mit ihrem Benutzer-Interface assoziiert ist. Dieses Verfahren erlaubt, daß
jegliche publizierte Einladung durch das CBM Netzwerk 120 gesandt wird,
daß sie zu dem abonnierenden Benutzer-Interface gesandt wird. Der eingeladene
Benutzer kann die Einladung annehmen oder zurückweisen. Wenn die Einladung
akzeptiert wird, kann der eingeladene Benutzer durch dasselbe Verfahren eines Konfigurierens
der Datenströme, wie oben für den Konferenzinitiator beschrieben, fortfahren
und eine Subskription für die Konferenznachrichten registrieren. Nachdem alle
Konfigurationen gewählt wurden, kann die CBM Konferenz beginnen.
Installation
Bevor eine Konferenz eingerichtet werden kann, müssen die Clientvorrichtungen
110 die notwendige Software und Treiber installieren (beispielsweise die
Kamera und assoziierte Treiber, ein Mikrophon und assoziierte Treiber, Java (beispielsweise
1.3 oder 1.4) und JMF (beispielsweise JMF 2.1)). Nach Installieren des JMF kann
der Benutzer die JMF Registrierung (ein Werkzeug, das durch das JMF zur Verfügung
gestellt wird, um die Audio- und Videoaufnahmevorrichtungen zu registrieren, die
mit dem Benutzer-Interface assoziiert sind) von einem Programmenü des Betriebssystems
laufen lassen. Das JMF kann auch verwendet werden, um jegliche Datenaufnahmevorrichtungen
zu registrieren und zu detektieren und um die Datenaufnahmevorrichtungen für
das JMF und jegliche Anwendungen unter Verwendung des JMF verfügbar zu machen.
Eine Registrierung ist nach einer Installation des JMF notwendig und nachdem irgendwelche
Änderungen an den Audio- und Videokonfigurationen durchgeführt wurden.
Um eine CBM Konferenz ablaufen zu lassen, muß
die Clientvorrichtung 110 auch zu dem CBM Netzwerk 120 zugreifen
und jegliche Subskriptionen (Konferenzdaten oder Benutzerstatusdaten) registrieren.
Das CBM Netzwerk 120 beinhaltet einen oder mehrere CBM Server und mehrere
Clientvorrichtungen 110 (welche beispielsweise Produzenten oder Konsumenten
sein können). Damit eine Clientvorrichtung 110 einen Zugriff zu dem
CBM Netzwerk 120 aufweist, wird eine Client-Bibliothek verwendet. Die Client-Bibliothek
ist von der Programmiersprache und Plattform abhängig. In dieser Implementierung
ist eine Client-Bibliothek durch Elvin zur Verfügung gestellt. Die Client-Bibliothek
stellt den Laufzeitsupport für Anwendungen unter Verwendung von Elvin zur Verfügung.
Die Client-Bibliothek verkapselt das Drahtniveauprotokoll, das durch den Server
unter Verwendung von Klassen oder Funktionen in einem für die spezifische Sprache
(in diesem Fall Java) geeigneten Stil verstanden wird.
10, 11, 12
und 13 zeigen ein graphisches Benutzer-Interface
1000 für Optionen, welches verwendet werden kann, um Optionen der
Konferenzanwendung zu konfigurieren. Das Interface 1000 kann mehrere Tabs
beinhalten, um die Konferenzanwendung zu konfigurieren. Beispielsweise können
ein allgemeiner Tab 1010, ein Connection- bzw. Verbindungs-Tab
1020, ein Silence- bzw. Stille-Detektions-Tab 1030 und ein Konferenzoptionen-Tab
1040 zur Verfügung gestellt werden. Virtuelle Knöpfe Save
1045 und Cancel 1047 können verwendet werden, um Optionsfestlegungen
entsprechend zu sichern bzw. zu speichern oder zu löschen.
Der allgemeine Tab 1010 kann ein Feld beinhalten, um eine
Benutzer-Identifikation einzugeben (beispielsweise eine E-Mail-Adresse, einen Schirmnamen
oder eine andere System-Identifikationenseinrichtung). Die Identifikation wird verwendet,
um einen Benutzer auf dem CBM Netzwerk 120 zu identifizieren, und wird
auch in der Kontaktliste von anderen Benutzern verwendet, um den Benutzer zu identifizieren
(beispielsweise um eine Konferenz zu initiieren oder einen Benutzerstatus zu bestimmen).
Eine Auswahlbox 1042 wird auch zur Verfügung gestellt, um das Quenching-Merkmal
zu ermöglichen bzw. einzuschalten.
Bezugnehmend auf 11 kann der Verbindungs-Tab
1020 verwendet werden, um einen CBM Netzwerkserver zu spezifizieren. In
einer Implementierung kann die URL des Servers von einem Dropdown-Menü
1050 ausgewählt werden. Radioknopfauswahlen 1054 können
verwendet werden, um anzuzeigen, ob ein Server von dem Dropdown-Menü gewählt
ist, wenn der Server händisch eingegeben ist (beispielsweise eine URL eines
gewünschten Servers eingegeben), oder wenn der Server automatisch detektiert
wird. Sobald der Server gewählt ist, kann ein virtueller Knopf 1057
gewählt werden, um die Verbindung der Clientvorrichtung 110 mit dem
gewählten Konferenzserver zu überprüfen. Der Benutzer wird dann über
erfolgreiche und nicht-erfolgreiche Versuche zu verbinden in dem Statusbalken des
Hauptfensters informiert.
Wie dies in 12 gezeigt ist, kann der
Stille-Detektions-Tab 1030 verwendet werden, um eine Stille-Detektion auszuwählen.
Stille-Detektion wird verwendet, um die erforderliche Bandbreite zu reduzieren.
Beispielsweise können Daten nur übertragen werden, wenn der Benutzer spricht.
Wenn eine Stille-Detektion erlaubt bzw. eingeschaltet ist, werden keine Daten zu
den anderen Konferenzteilnehmern gesandt, wenn das Schall- bzw. Tonniveau unter
einem gegebenen Schwellwert liegt. Eine Auswahlbox 1060 kann verwendet
werden, um die Stille-Detektion zu ermöglichen. Gleitende Skalen
1062 und 1064 können verwendet werden, um den minimalen Schwellwert
und die Anzahl von Stille-Puffer auszubilden bzw. aufzubauen. Die Stille-Puffer
spezifizieren die Zeit von fortgesetzter Stille (Eingabeverstärkung unter dem
Schwellwert), bevor das System ein Senden von Daten stoppt. Dies bedeutet, daß,
nachdem die Eingabegröße bzw. -verstärkung unter dem Schwellwert
für eine gewisse Zeit (beispielsweise in Millisekunden) ist, ein Übertragen
von Daten gestoppt wird. Zusätzlich ist ein Schirmbereich 1066 zur
Verfügung gestellt, um eine Aktivitätsdetektion eines Benutzers anzuzeigen.
In 13 kann der Conference-Options- bzw.
Konferenzoptionen-Tab 1040 verwendet werden, um das anfängliche Timeout
auszuwählen, das das Konferenz-Interface abwartet, damit Teilnehmer auf eine
Einladung antworten. Eine Auswahlbox 1070 kann verwendet werden, um eine
offene Konferenz auszuwählen, in welcher irgendein Benutzer des CBM Netzwerks
in der Konferenz und/oder an der Administration der Konferenz teilnehmen kann. Eine
Auswahlskala 1075 kann verwendet werden, um eine Konferenzzeit zu spezifizieren.
Eine Anzahl von beispielhaften Implementierungen wurde beschrieben.
Nichtsdestotrotz wird verstanden, daß verschiedene Modifikationen gemacht werden
können. Beispielsweise können geeignete Ergebnisse erzielt bzw. erhalten
werden, wenn die Schritte der geoffenbarten Techniken in einer unterschiedlichen
Reihenfolge ausgeführt werden und/oder wenn Komponenten in einer geoffenbarten
Architektur, Vorrichtung oder Schaltung in einer unterschiedlichen Weise kombiniert
werden und/oder durch andere Komponenten ersetzt oder ergänzt werden. Dementsprechend
sind andere Implementierungen innerhalb des Rahmens der folgenden Ansprüche.