-
1. Technisches
Gebiet
-
Diese
Patentanmeldung betrifft das Gebiet von Videokonferenz- und Broadcasting-Systemen. Insbesondere
sieht die hier beschriebene Erfindung ein System und ein Verfahren
zum Durchführen
einer Videokonferenz oder -broadcast (jeweils als Videokommunikationssitzung
bezeichnet) über
ein verteiltes Netzwerk vor, in dem Audio- und Videosignale, die
von einem oder mehreren Teilnehmer(n) der Videokommunikationssitzung
erzeugt werden, über das
Netzwerk transportiert werden.
-
2. Beschreibung des Standes
der Technik
-
Videokonferenzsysteme
sind bekannt. Diese Systeme können über ein
Netzwerk implementiert werden, das entweder analoge oder digitale
Signale überträgt. Mehrere
Benutzer können
miteinander über
diese Systeme unter Verwendung einer Kombination aus Hardware und
Software kommunizieren, wie einem Personalcomputer mit einer spezialisierten
Videokonferenz-Anwendung. Diese bekannten Systeme sind derart gebaut,
dass alle Audio- und Videosignale (A/V-Signale) von jedem der Benutzer durch
einen zentralen Steuerungspunkt übertragen werden
und dann an das Hardware/Software-System verteilt werden, das sich
an dem Standort jedes Benutzers befindet. Der zentrale Steuerungspunkt
ruft A/V-Signale von jedem der Teilnehmer in der Videokonferenz
ab, kombiniert diese Signale in einen einzelnen Datenstrom und überträgt dann
den kombinierten Datenstrom von A/V-Signalen an jeden der Teilnehmer.
Jeder Teilnehmer an der Videokonferenz empfängt dann dieselbe Zufuhr wie
jeder andere Teilnehmer von dem zentralen Punkt in dem System.
-
Um
den A/V-Datenstrom zu interpretieren, der von dem zentralen Steuerungspunkt
an die Benutzermaschinen übertragen
wird, erfordert jeder Teilnehmer typischerweise eine Spezialanwendung, die
sich in seiner Videokonferenz-Hardware (d.h. dem Personalcomputer)
befindet. Die Spezialanwendung wird typischerweise vor der Teilnahme
an einer Videokonferenz auf der Maschine des Benutzers installiert.
Die Spezialanwendung erfordert typischerweise eine signifikante
Menge an lokalem Speicher, um richtig auf der Maschine des Benutzers
installiert zu sein, und dieser Speicher ist dann für die Spezialanwendung
unabhängig
davon verloren, ob der Benutzer aktuell an einer Videokonferenz
teilnimmt.
-
Ferner
muss in diesen bekannten Systemen jeder Teilnehmer die geeignete
Spezialanwendung vor der Teilnahme an einer Videokonferenz abrufen. Jedes
Mal, wenn eine neue Version der Anwendung eingeführt wird, muss jeder der Teilnehmer
sich an die Software-Änderung
anpassen durch Herunterladen und Installieren der neuen Version.
Ansonsten können
in jeder Videokonferenz unterschiedliche Softwareanwendungen implementiert
sein und die A/V-Signale müssen
an verschiedene Softwareanwendungen gerichtet werden.
-
Diese
bekannten Systeme leiden unter vielen Nachteilen. Erstens ist die
zentrale Steuerungseinheit teuer und kann nicht besonders gut skaliert werden
jenseits seiner anfänglichen
Fähigkeiten.
Die zentrale Steuerungseinheit ist beteiligt bei einer rechnerisch
intensiven Verarbeitung aller A/V-Signale, Administrieren der Videokonferenz
und Steuern des A/V-Signalflusses, deswegen kann diese Steue rungseinheit
bei der zusätzlichen
Belastung nicht mithalten, wenn die Anzahl gleichzeitiger Videokonferenzen
zunimmt. Wenn die Anzahl von Teilnehmern an einer Videokonferenz
zunimmt, folgt die erforderliche Verarbeitungsleistung an der zentralen
Steuerungseinheit dramatisch. Zusätzlich kann die begrenzte Fähigkeit
der zentralen Steuerungseinheit, alle Videokonferenzen zu organisieren,
zu verwalten und anzuweisen, eine Engstelle erzeugen, wenn sie in
Breitbandnetzwerken verwendet wird. Zweitens sind diese Systeme
auch durch Speicherbeschränkungen
der Hardware des Benutzers eingeschränkt, insbesondere, wenn die
Hardware Vorrichtungen und PDAs umfasst, in denen Speicherraum wertvoll
ist. Da die Spezialanwendung auf der Maschine des Benutzers installiert
werden muss, die nicht ausreichend Speicherraum haben kann, um die
Anwendung aufzunehmen, werden diese bekannten Systeme typischerweise
nur mit Desktop- oder Workstation-Maschinen verwendet, die einen
ausreichenden Speicher haben. Ferner treffen Teilnehmer, welche die
Spezialanwendung vor der Videokonferenz auf ihre Maschinen geladen
haben, wahrscheinlich auf Kompatibilitätsprobleme aufgrund von unterschiedlichen
Videokonferenz-Anwendungen oder verschiedenen Versionen derselben
Anwendung.
-
EP-A-0
691 778 offenbart eine Netzwerkarchitektur für ein Videokommunikationssystem
mit einem einzelnen Reflektor zum Übermitteln eines Audio/Videosignals
von einem Teilnehmer an der Videokonferenzsitzung an alle anderen
Teilnehmer basierend auf einem Steuerungssignal von einer Steuervorrichtung,
die konfiguriert ist, die Videokonferenzsitzung zu steuern.
-
ZUSAMMENFASSUNG
-
Ein
Mehrfach-Punkt-Videokonferenz- und Broadcasting-System ist vorgesehen,
das einen Server, einen oder mehrere Videozugangspunkt(e), Reflektoren
und Client-Maschinen umfasst. Der Server baut die Videokonferenzsitzungen
(VC- Sitzungen) auf,
die dann von einem der Videozugangspunkte gekostet werden. Die Reflektoren
sind mit den Videozugangspunkten verbunden und leiten die Audio-
und Videosignale (A/V-Signale) an die Client-Maschinen. Die Reflektoren
empfangen ein Steuerungssignal von den Videozugangspunkten, um die
A/V-Signale an die
und von den Client-Maschinen zu leiten, die an der VC-Sitzung teilnehmen.
Das System verteilt alle Verarbeitungsaufgaben unter diesen Komponenten, um
einen Engstellen-Effekt bei der Verwendung eines einzelnen zentralen
Steuerungspunktes zu reduzieren, um die VC-Sitzung zu führen und
die A/C-Signale
weiterzuleiten. Der Server kann auch als ein Ticketagent dienen,
der unter Verwendung eines enthaltenen Sitzungsbuchungsmoduls Tickets
für spezifische
Videokonferenz- und Broadcasts ausgibt und zurücknimmt.
-
Gemäß einem
Aspekt der Erfindung weist eine Netzwerkarchitektur für ein Videokommunikationssystem
einen Server, einen Videozugangspunkt und eine Vielzahl von geographisch
verteilten Reflektoren auf. Der Server empfängt Anmeldedaten von einem
Teilnehmer. Der Videozugangspunkt steuert die Ressourcen, die einer
VC-Sitzung zugeteilt werden, basierend auf den Anmeldedaten, und
die Reflektoren leiten A/V-Signale an die Teilnehmer und/oder andere
Reflektoren, wie von dem Videozugangspunkt angewiesen.
-
Gemäß einem
weiteren Aspekt der Erfindung weist ein Verfahren zur Verteilung
einer VC-Sitzung über
ein Netzwerk die folgenden Schritte auf: (1) Empfangen einer Anforderung
für eine
VC-Sitzung; (2) Zuweisen eines Videozugangspunkts für die VC-Sitzungsanforderung;
(3) Verbinden jedes Teilnehmers mit einem der Vielzahl von geographisch verteilten
Reflektoren; (4) Verteilen eines A/V-Signals an jeden Reflektor;
und (5) Senden des A/V-Signals von jedem Reflektor an jeden Teilnehmer.
-
Ein
Verfahren zur Verteilung einer Videokommunikations-Client-Software über ein
Netzwerk an einen Teilnehmer an einer VC-Sitzung weist die folgenden
Schritte auf: (1) Empfangen einer Anmeldeanforderung; (2) Bestimmen
der VC-Sitzung,
an welcher der Teilnehmer teilnehmen wird; (3) Evaluieren der Leistung
der Videokommunikations-Client-Software über das Netzwerk; und (4) Herunterladen
der Videokommunikations-Client-Software, die abgestimmt ist, die
beste Leistung an jeden Teilnehmer an der VC-Sitzung zu liefern.
-
Ein
Verfahren zum Liefern eines Tickets für ein Online-Ereignis weist
die folgenden Schritte auf: (1) Setzen einer Zeit und eines Datums
für das
Online-Ereignis; (2) Abrufen einer Liste von Teilnehmern von einem
Benutzer; (3) Zuweisen eines Videozugangspunkts, um das Ereignis
zu hosten; (4) Erzeugen eines digitalen Tickets für jeden
der Teilnehmer auf der Liste derart, dass das digitale Ticket eine
Referenz auf die Zeit, das Datum und den Videozugangspunkt umfasst;
und (5) Verteilen des digitalen Tickets an jeden Teilnehmer.
-
Es
sollte angemerkt werden, dass dies nur einige der vielen Aspekte
der vorliegenden Erfindung sind. Andere nicht spezifizierte Aspekte
werden offensichtlich durch das Lesen der unten dargelegten detaillierten
Beschreibung der Zeichnungen.
-
KURZE BESCHREIBUNG
DER ZEICHNUNGEN
-
1 ist
ein Systemdiagramm einer einheitlichen verteilten Architektur für Videokonferenz-
und Broadcast-Systeme gemäß einem
bevorzugten Ausführungsbeispiel
der vorliegenden Erfindung;
-
2 ist
ein schematisches Diagramm eines herunterladbaren Videokommunikations-Clients,
der in einem Browser-Programm an einer der in 1 gezeigten
Client-Maschinen arbeitet;
-
3 ist
ein schematisches Diagramm, das die Software-Module des in 2 gezeigten
herunterladbaren Videokommunikations-Clients zeigt;
-
4 ist
ein schematisches Diagramm eines der Videozugangspunkte (VAPs – video
accessing points), die in 1 gezeigt
werden;
-
5 ist
eine Darstellung des logischen Ablaufs, der die bevorzugten Schritte
eines Teilnehmers darlegt, der in eine Videokommunikationssitzung
eintritt;
-
6 ist
eine Darstellung des logischen Ablaufs, der die bevorzugten Schritte
des Organisierens und Durchführens
einer Videokonferenz unter Verwendung des in 1 gezeigten
Systems darlegt; und
-
7 ist
eine Darstellung des logischen Ablaufs, der die bevorzugten Schritte
eines Teilnehmers darlegt, der mit dem in 1 gezeigten
System interagiert.
-
DETAILLIERTE
BESCHREIBUNG DER ZEICHNUNGEN
-
Unter
Bezugnahme nun auf die Zeichnungen ist 1 ein Systemdiagramm
einer einheitlichen verteilten Architektur für Videokonferenz- und Broadcast-Systeme
gemäß einem
bevorzugten Ausführungsbeispiel
der vorliegenden Erfindung. Die Architektur umfasst einen Server 10,
Videozugangspunkte (VAPs – video
acces sing points) 30, Reflektoren und Client-Maschinen 50.
Der Server 10 administriert eine Videokommunikationssitzung
(VC-Sitzung) über ein
Anmeldeprogramm 12, Benutzer- und Sitzungs-Datenbanken 16 und 18 und
ein Sitzungsliste- und Feedbacksteuerungsmodul 20 und 22.
Ein Netzwerk 24 verbindet den administrativen Server 10 mit den
VAPs 30. Jeder VAP 30 überwacht eine VC-Sitzung und
kommuniziert mit dem Anwendungsserver 10 über eine
administrative Verbindung 32. Die Reflektoren 40 kommunizieren
mit den VAPs 30 über das
Netzwerk 24 über
ein Steuerungssignal 42. Die Reflektoren 40 leiten
A/V-Signale 44 direkt durch das Netzwerk 24 oder über andere
Reflektoren 40, wie von dem VAP 30 zugewiesen,
an die Client-Maschinen 50. die an der VC-Sitzung teilnehmen.
-
Die
VC-Sitzung kann als eine einzelne Broadcast-Sitzung, eine interaktive
Broadcast-Sitzung oder als eine teilnehmende Mehrfach-Punkt-Videokonferenz
administriert werden. Eine einzelne Broadcast-Sitzung ist eine VC-Sitzung,
in der ein Strom von A/V-Signalen von einem einzelnen Broadcaster
bzw. Rundsender an jeden Teilnehmer geliefert wird. Die Teilnehmer
senden keine A/V-Signale an einen der anderen Teilnehmer oder den
Broadcaster. Eine interaktive Broadcast-Sitzung ist eine VC-Sitzung, in welcher
der Broadcaster Teilnehmer auswählt,
die teilnehmen möchten.
Ein derartiges System kann für
eine Vorlesungsserie verwendet werden, in der eine Teilnahme des
Publikums von dem Broadcaster gewünscht wird. Eine teilnehmende
Mehrfach-Punkt-Videokonferenz ist eine Sitzung, in der alle Teilnehmer
an Client-Maschinen 50 A/V-Signale senden und empfangen
können.
Eine derartige Videokonferenz wird verwendet, wenn die Teilnehmer
Themen diskutieren möchten.
-
Ein
Teilnehmer verwendet die Client-Maschine 50 zur Verbindung
mit dem Server 10, um an einer VC-Sitzung teilzunehmen.
Der Teilnehmer verbindet sich mit dem Server 10, um eine
Teilnehmerinformation einzugeben und die erforderliche Software
zur Teilnahme an der VC-Sitzung abzurufen. Der Server 10 überträgt die Information über den
Teilnehmer an den VAP 30, der für die Durchführung der
VC-Sitzung verantwortlich ist, an der der Teilnehmer teilnehmen möchte. Die
Client-Maschine 50 empfängt
eine Information von dem Server 10 über den VAP 30 und
verbindet sich dann mit dem VAP 30. Der VAP 30 wird dann
mit einem Reflektor 40 verbunden und steuert diesen durch
Senden eines Steuerungssignals 42 an den Reflektor 40.
Vorzugsweise befindet sich der Reflektor 40 geographisch
nahe zu dem Teilnehmer. Die Client-Maschine 50 beginnt
mit dem Senden und Empfangen von A/V-Signalen 44 über den
Reflektor 40.
-
Das
Anmeldeprogramm 12, die Benutzer- und Sitzungs-Datenbanken 16 und 18 und
das Sitzungsliste- und Feedback-Steuerungsmodul 20 und 22 in
dem Server 10 können über eine
gemeinsame Gateway-Schnittstelle (CGI – common gateway interface)
implementiert werden, um mit dem Teilnehmer zu interagieren. Das
Anmeldeprogramm 12 und die Sitzungslistesteuerung 20 leiten
Information von der Client-Maschine 50 an die Datenbanken 16 und 18. Das
Feedbackkanal-Steuerungsmodul 22 ruft
eine Information von dem VAP-Modul 30 und den Datenbanken 16 und 18 ab.
Jede dieser CGI-Anwendungen in dem Server 10 weist eine
Steuerung auf hoher Ebene der VC-Sitzung auf.
-
Das
Anmeldeprogramm 12 ruft eine Anmeldeinformation von dem
Teilnehmer ab, um zu bestimmen, an welcher VC-Sitzung der Teilnehmer
teilnehmen kann. Persönliche
Information, wie Name und Passwort des Teilnehmers sowie eine IP-Adresse für die aktuelle
Verbindung des Teilnehmers über
die Client-Maschine 50, wird von dem Anmeldeprogramm 12 abgerufen.
Durch Verfolgen der an dem System angemeldeten Client-Maschinen 50 kann
der Server 10 die Anzahl von gleichzeitigen VC-Sitzungen
steuern, um verfügbare
Ressourcen für
alle Sitzungen sicherzustellen. In dem Anmeldeprogramm 12 sieht der
Server 10 für
die Teilnehmer eine graphische Schnittstelle vor, um eine der laufenden
VC-Sitzungen über die
Sitzungslistesteuerung 20 zu wählen, oder ermöglicht dem
Teilnehmer, eine neue VC-Sitzung zu erstellen.
-
Der
Server 10 erzeugt ein digitales „Ticket" für
jeden Teilnehmer zur Verwendung zum Zugang zu einer VC-Sitzung.
Jedes Ticket spezifiziert das Datum, die Zeit, die Dauer und die
Sitzungszuweisung der VC-Sitzung. Unter Verwendung dieses Tickets wird
die Client-Maschine 50 an den VAP 30 geleitet, der
die VC-Sitzung durchführt, und
an einen Reflektor 40 zum Empfang und zum Senden von A/V-Signalen 44.
Jeder Teilnehmer an jeder VC-Sitzung kann somit ein Einmal-Ticket haben, das
dem Benutzer ermöglicht,
an dieser bestimmten VC-Sitzung teilzunehmen. Ähnlich kann, wenn zum Beispiel
der Teilnehmer eingeladen wurde, an einer Vortragsserie teilzunehmen,
an den Teilnehmer ein Ereignispass ausgegeben werden, der dem Teilnehmer
ermöglicht,
an allen VC-Sitzungen teilzunehmen, die zu der Vortragsreihe gehören. Der
Ereignispass umfasst eine Vielzahl von digitalen Tickets, so dass
der Teilnehmer Zugang zu allen VC-Sitzungen in dem Ereignis hat.
Die Verwendung des digitalen Tickets ermöglicht einem Teilnehmer einen
Zugang zu einer VC-Sitzung, ohne dass der Anmeldevorgang 12 zur
Abfrage des Teilnehmers erforderlich ist.
-
Um
eine VC-Sitzung zu planen (schedule), gibt ein Teilnehmer eine Liste
von Teilnehmern ein, eine Anfangszeit und eine Zeitdauer für die VC-Sitzung,
damit die erforderlichen Ressourcen reserviert werden können. Auf
diese Weise kann der Server 10 die Anzahl von stattfindenden
VC-Sitzungen verwalten und steuern, um verfügbare Ressourcen für alle Sitzungen
sicherzustellen. Der Server 10 kann auch seine eigenen
Ressourcen verwalten durch Untersuchen der Anzahl von Teilnehmern,
der vorgesehenen Standorte der Teilnehmer und die Dauer der VC-Sitzungen, um eine
optimale Konfiguration der Reflektoren 40 zu bestimmen
und zu bestimmen, welche VAPs 30 für alle VC-Sitzungen zu verwenden
sind.
-
Die
Sitzungslistesteuerung 20 erzeugt eine Liste von VC-Sitzungen,
an denen ein Teilnehmer teilnehmen kann, durch Durchsuchen der Sitzungsdatenbank 18.
Zu gang zu einer bestimmten VC-Sitzung wird bestimmt durch Vergleich
der Information in der Sitzungsdatenbank 18, wie Namen
von erlaubten Teilnehmern mit dem Namen des Teilnehmers, der versucht,
Zugang zu der VC-Sitzung zu erhalten.
-
Unter
Bezugnahme nun auf die Steuerung der VC-Sitzung ist der VAP 30 verantwortlich
für die Steuerung
der VC-Sitzung durch Hinzufügen
neuer Teilnehmer zu der VC-Sitzung und Initiieren des Prozesses
des Abrufens und Sendens von A/V-Signalen 44 von den/an
die Reflektoren 40, die zu der bestimmten VC-Sitzung gehören. Der
VAP 30 überwacht
dann jeden Reflektor 40 über das Steuerungssignal 42.
Das Steuerungssignal 42 signalisiert dem Reflektor 40,
ein A/V-Signal 44 von
einer Client-Maschine 50 aufzuzeichnen, das A/V-Signal 44 an
andere Reflektoren 40 zu senden und A/V-Signale 44 von anderen
Reflektoren abzurufen. Das Steuerungssignal 42 weist somit
die Reflektoren dahingehend an, welche Client-Maschinen 50 an
der VC-Sitzung teilnehmen, und leitet demgemäß A/V-Signale unter den Teilnehmern.
-
Der
VAP 30 leitet die Steuerung einer VC-Sitzung durch das
Steuerungssignal 42 an die Reflektoren 40. Jede
VC-Sitzung wird vorzugsweise durch einen VAP 30 gesteuert,
der die Teilnehmer verwaltet, wenn sie in die VC-Sitzung eintreten
und diese verlassen. Die Teilnehmer empfangen und senden einfach
A/V-Signale 44, müssen
aber diese A/V-Signale 44 nicht verwalten.
-
Die
Reflektoren 40 empfangen das Steuerungssignal 42 von
dem VAP 30 und leiten die A/V-Signale demgemäß. Der Reflektor 40 kommuniziert
mit den Client-Maschinen 50 durch Liefern der A/V-Signale 44 der
anderen Teilnehmer an die jeweiligen Client-Maschinen 50.
Der Reflektor 40 leitet auch ankommende A/V-Signale 44 an
andere Reflektoren 40 um bzw. weiter, wie von dem VAP 30 angewiesen. Durch
die Implementierung dieser Strategie kann der VAP 30 ver hindern,
dass eine redundante Information an mehrere Standorte gesendet wird
durch richtige Auswahl von Reflektorstandorten und A/V-Signalpfaden.
-
Die
Client-Maschinen 50 in dem System sind Endpunkt-Terminals
bzw. – Endgeräte, z.B.
Personalcomputer mit einem permanenten Speicherraum und Speicher,
oder persönliche
Zugangsvorrichtungen mit begrenzter Speicherkapazität, die A/V-Signale,
erzeugen, verarbeiten und interpretieren können, Textinformation eingeben
können
und über
das Netzwerk 24 kommunizieren können. Die Client-Maschinen 50 führen Signalverarbeitungsaufgaben
durch, um A/V-Signale 44 zu erzeugen und zu formatieren. Die
anderen Netzwerkelemente, einschliesslich der Server 10,
die VAPs 30 und die Reflektoren 40, führen die
verteilten Steuerungs- und Routing-Funktionen des Systems durch.
-
Das
Netzwerk 24 kann jede Kombination von Netzwerktopologien
aufweisen. Das größere Netzwerk 24 kann
das Internet sein, das die Client-Maschinen 50 mit dem
Server 10 über
eine Gruppe von Knoten in dem Netzwerk 24 verbinden kann
unter Verwendung von Verbindungen entlang Backbone-Leitungen, die
durch das Internet vorgesehen sind. Kleinere Netzwerk 24,
wie ein Weitbereichsnetz (WAN – wide
area network), ein Stadtnetz (MAN – metropolitan area network),
ein lokales Netzwerk (LAN – local
area network) oder ein Campus-Netzwerk, können die Client-Maschinen 50 mit
dem Server 10 oder mit Modulen, wie die Reflektoren 40 oder die
VAPs 30, verbinden. Netzwerke wie MAN, LAN und Campus-Netzwerke sind insbesondere
nützlich, um
Teilnehmer zu verbinden, die sich geographisch nahe zusammen befinden.
Ein Reflektor 40, der nahe bei sich in der Nähe befindenden
Teilnehmern ist, erfordert dann nur ein einzelnes A/V-Signal von
entfernten Teilnehmern und kann eine „Peer-to-Peer"-Verbindung zwischen
den benachbarten Teilnehmern aufrechterhalten. Die Verwendung derartiger
geographischer Beziehungen ist ein nützliches Tool bei der Implementierung
der VC-Sitzungsarchitektur
der vorliegenden Erfindung, wie im Folgenden weiter diskutiert wird.
-
Durch
Verwendung einer hierarchischen Struktur von Steuerungsstrategien,
wie in 1 gezeigt, kann der Server 10 die Verarbeitungsanforderungen
zur Durchführung
einer VC-Sitzung unter Maschinen verteilen, die in der Nähe der Teilnehmer
der VC-Sitzung sind. Der Server 10 steuert die VC-Sitzung
auf höchster
Detailebene. Alle VC-Sitzungen, die in dem System durchgeführt werden,
sind dem Server 10 bekannt, sowie, wer an jeder Sitzung
teilnimmt, welcher VAP 30 in der Sitzung verwendet wird und
welche Reflektoren verwendet werden, um die A/V-Signale weiterzuleiten.
Der Server 10 muss nicht wissen, wie viele Daten durch
die Reflektoren 40 übertragen
werden, die Routingkapazität
des Reflektors 40 oder andere Funktionen niedriger Ebene.
Der VAP 30 verwaltet die Übertragungsrate der A/V-Signale 44,
wenn die durch die Reflektoren 40 gehen. Die Reflektoren 40 senden
und empfangen die A/V-Signale 44, wie von dem VAP 30 angewiesen, und
die Client-Maschinen 50 komprimieren das aufgezeichnete
Audio und Video in ein A/V-Signal und dekomprimieren das Audio und
Video von den ankommenden A/V-Signalen 44.
-
Eine
einfache Strategie zur Auswahl eines geeigneten Reflektors 40 kann
basieren auf seiner geographischen Nähe zu einer bestimmten Client-Maschine 50,
vorausgesetzt, die gesamte Netzwerkbelastung übersteigt nicht die Kapazität des Reflektors 40.
Wenn der gewählte
und zugewiesene Reflektor 40 bei dem Routing von A/V-Signalen 44 in
einer bestimmten VC-Sitzung nicht beteiligt war, dann sendet der
VAP 30 ein Steuerungssignal entlang der Steuerungsverbindung 42 an
den Reflektor 40, um diesen zu aktivieren. In diesem Fall
werden Steuerungssignale 42 auch an die anderen Reflektoren 40 gesendet,
die an der bestimmten VC-Sitzung
beteiligt sind, um die Routingtabellen mit der Information der neuen
Routingmuster für
die VC-Sitzung zu aktualisieren.
-
Zum
Beispiel entscheidet ein Teilnehmer an einer Client-Maschine 50,
an einer VC-Sitzung teilzunehmen, die am Laufen ist. Der Teilnehmer
verbindet sich über
das Netzwerk 24 mit dem Server 10. Der Teilnehmer
kann den Reflektor 40 und den VAP 30 verwenden,
die ihm letztendlich zugewiesen werden, muss sich aber nicht über diese
Maschinen mit dem Server 10 verbinden. Das Anmeldeprogramm 12 ruft die
Information des Teilnehmers über
eine Schnittstelle mit der Client-Maschine 50 ab. Ein Verzeichnis verfügbarer VC-Sitzungen
wird dann von dem Server 10 vorgesehen. Der Teilnehmer
wählt die
gewünschte
VC-Sitzung und der Server 10 erzeugt ein digitales Ticket,
dass dann an den Client 50 weitergeleitet wird. Der Client
kann dann das digitale Ticket verwenden, um durch Weiterleiten des
Tickets an den geeigneten VAP 30 an der Sitzung teilzunehmen.
Der VAP 30 weist dann der Client-Maschine 50 des
Teilnehmers einen bestimmten Reflektor 40 zu. Die Client-Maschine 50 beginnt
dann, ein A/V-Signal 44 an diesen Reflektor 40 zu
senden.
-
In
einer normalen Broadcast-Sitzung sendet eine einzelne broadcasting
bzw. rundsendende Client-Maschine 50 A/V-Signale 44 an
ihren Reflektor 40, während
die anderen Client-Maschinen 50 nur einen einzelnen Strom
von A/V-Signalen 44 empfangen. Jeder an der Broadcast-Sitzung
beteiligte Reflektor 40 empfängt einen einzelnen Strom von A/V-Signalen 44 und
leitet ihn direkt an die Client-Maschine 50 und/oder
andere Reflektoren 40 weiter, wie von dem VAP 30 spezifiziert.
Im Gegensatz dazu empfängt
in einer Mehr-Punkt-Videokonferenz jede Client-Maschine 50 A/V-Signale 44 von
dem zugehörigen
Reflektor 40 und sendet die A/V-Signale 44 des Teilnehmers
zurück
an denselben Reflektor 40. Jeder Reflektor 40 liefert
dann mehrere Ströme
von A/V-Signalen 44 an jede der Client-Maschinen, die mit diesem Reflektor
verbunden sind. Der Reflektor 40 leitet auch ankommende
A/V-Signale 44 an andere Reflektoren 40, die an
der VC-Sitzung beteiligt sind, wie von dem VAP 30 spezifiziert.
Auf diese Weise empfängt eine
bestimmte Client-Maschine 50 eine Kopie jedes Stroms von
A/V-Signalen 44, der von den anderen Client-Maschinen 50 gesendet
wurde.
-
In
einer interaktiven Broadcast-Sitzung kann ein Teilnehmer, der anfangs
konfiguriert ist, den A/V-Signalstrom nur zu empfangen, eine Anforderung übertragen,
um ein aktiver Teilnehmer an der VC-Sitzung zu werden. Der Server 10 führt die
Anforderungen von unterschiedlichen Teilnehmern zusammen und erzeugt
ein Verzeichnis von Anforderungen, die ab und zu während der
VC-Sitzung aktualisiert wird. Dieses Verzeichnis ist für den Broadcaster 50 verfügbar, der
Teilnehmer, der die VC-Sitzung initiierte, der dann die Anforderungen
wählen
kann, die bewilligt werden. Der Server 10 sieht eine graphische Schnittstelle
vor zur Erleichterung der Eingabe der Anforderung des Teilnehmers
und zur Erleichterung des Auswahlprozesses durch den Broadcaster.
Sobald einer bestimmten Anforderung stattgegeben wird und es der
Client-Maschine 50, von der die Anforderung eingereicht
wurde, ermöglicht
wird, mit der Client-Maschine 50 des Broadcasters zu interagieren,
informiert das Feedback-Kanal-Steuerungs-Modul 22 den entsprechenden
VAP 30. Der VAP 30 sendet ein Steuerungssignal über die
Verbindung 42 an einen Reflektor 40, der zugewiesen
wurde, um mit der Client-Maschine 50 des
anfordernden Teilnehmers zu kommunizieren. Der Reflektor 40 ermöglicht dann
der Client-Maschine 50, mit dem Senden von A/V-Signalen 44 an
den Reflektor 40 zu beginnen, wie von dem VAP 30 angewiesen.
-
Die
Verwendung einer Vielzahl von geographisch verteilten Reflektoren 40,
die sich in der Nähe einer
Gruppe von Client-Maschinen 50 befinden, minimiert die
Netzwerkressourcen, die zur Ausführung einer
VC-Sitzung erforderlich sind. Wenn zum Beispiel drei Client-Maschinen 50 an
einer Videokonferenz mit drei Teilnehmern unter Verwendung eines einzelnen
Reflektors beteiligt sind, wobei sich zwei der Client-Maschinen 50 nahe
zusammen befinden, aber geographisch entfernt von dem einzelnen
Reflektor 40 sind, dann muss, um die zwei entfernten Client-Maschinen 50 zu
erreichen, das durch den Reflektor 40 von der ersten Client-Maschine 50 empfangene
A/V-Signal 44 zweimal über
das Netzwerk 24 gesendet werden, das diese entfernten Client-Maschinen 50 mit
dem Reflektor 40 verbindet. Ein zweiter Reflektor löst dieses
Problem durch Zuweisen des ersten Reflektors 40 zur Kommunikation
mit der ersten Client-Maschine 50 und des zweiten Reflektors 40,
der näher
zu den zwei entfernten Client-Maschinen 50 ist, zur Kommunikation
mit den anderen beiden Client-Maschinen 50. Im Gegensatz
zu dem Szenario mit einem Reflektor wird in dieser Dual-Reflektor-Architektur
nur eine Kopie eine A/V-Signals 44 über das Netzwerk 24 an
den entfernten Reflektor 40 gesendet, der wiederum das
A/V-Signal lokal an die zwei entfernten Client-Maschinen 50 leitet.
Die VC-Sitzung kann dann durch Implementieren dieses effizienten
Schemas bei der Verteilung von A/V-Signalen 44 über das
Netzwerk 24 während
einer VC-Sitzung den Bandbreitenverbrauch minimieren.
-
2 ist
ein schematisches Diagramm eines herunterladbaren VC-Clients 56,
der in einem Browser-Programm 52 an einer der Client-Maschinen 50 arbeitet.
Der VC-Client 56 ist ein Software-Programm, das in einem
VC-Sitzungs-Client-Container-Modul 54 arbeitet.
Der VC-Client 56 wird von dem Server 10 (und/oder
einer anderen Komponenten in dem System) vor dem Aufbau der Verbindung zwischen
der Client-Maschine 50 und dem VAP 30 abgerufen.
Wichtig ist, dass der VC-Client 56 nicht permanent auf
der Client-Maschine 50 installiert ist, sondern stattdessen
in einem flüchtigen
Speicher, wie RAM, gespeichert wird. Alternativ kann der VC-Client 56 temporär lokal
gespeichert werden und dann gelöscht
werden, nachdem eine bestimmte VC-Sitzung abgeschlossen ist. Der
Vorteil dieses Verfahrens liegt darin, dass die permanenten Ressourcen
der Client-Maschine 50 nicht durch die Existenz einer Spezial-Videokonferenz-Anwendung in dem
permanenten Speicher der Client-Maschine belastet werden. Ferner
werden Software-Kompatibilitäts-Probleme
unter den Teilnehmern an einer bestimmten VC-Sitzung eliminiert,
da alle Teilnehmer den VC-Client 56 herunterladen, wenn
die VC-Sitzung beginnt, und somit dieselbe Version des VC-Clients 56 betreiben.
-
Ein
weiterer Vorteil dieses Verfahrens ist, dass der Server 10 das
Netzwerk 24 analysieren kann, durch das die A/V-Signale 44 geleitet
werden, um den geeignetsten Satz von Parametern des VC-Clients 56 zu
bestimmen, wodurch es für
eine bestimmte Gruppe von Teilnehmern abgestimmt wird. Die abgestimmten
Parameter des VC-Clients 56 können Charakteristiken haben,
welche die bestimmte Struktur des Netzwerks 24 optimieren,
durch das die A/V-Signale 44 geleitet werden. Typischerweise
spezifizieren derartige anpassbare Parameter einen Qualitätsgrad von
durch die Client-Maschine 50 erfasstem Video und Audio.
Derartige Parameter können
eine Videoauflösung
und eine Rahmenrate, eine Abtastrate eines Audiostroms, eine maximale Übertragungsrate
von A/V-Signalen 44 sowie andere Einstellungen umfassen,
welche die Leistung der Client-Maschine 50 und eine Gesamtqualität der audio-visuellen
Kommunikation beeinflussen können. Auch
kann durch Analyse einer Verarbeitungskapazität der Client-Maschine 50 über das
Netzwerk 24 der Server 10 bestimmte spezifische
Merkmale der Client-Maschine 50 bestimmen (z.B. eine Hardware-Plattform
und ein Betriebssystem) und eingebaute Optimierungen in dem VC-Client 56 für diese bestimmte
Plattform aktivieren.
-
Wenn
zum Beispiel der Server 10 erkennt, dass eine Anzahl von
Teilnehmern PDAs über
ein drahtloses CDMA-Netzwerk verwenden, kann der Server einen Satz
von Parametern für
den VC-Client 56 wählen,
der die in dem CDMA-Netzwerk
verfügbare
Bandbreite optimiert. Ähnlich
kann eine andere Gruppe von Teilnehmern in einer anderen VC-Sitzung
mit dem Server 10 über
ein drahtloses EDGE-Netzwerk verbunden werden und ein unterschiedlicher
Satz von VC-Client-Parameter
kann die Bandbreite dieses Netzwerks 24 besser optimieren und
somit wird dieser abgestimmte VC-Client 56 an die Teilnehmer
heruntergeladen. Sobald der Server 10 einen geeigneten
Satz von Parametern für
den VC-Client 56 gewählt
hat, kann der Prozess des Herunterladens des VC-Clients 56 stattfinden.
-
Wie
detaillierter unter Bezugnahme auf 3 beschrieben
wird ist der VC-Client 56 verantwortlich für den Empfang
der A/V-Signale 44, das Interpretieren der A/V-Signale 44,
eine Anzeige der A/V-Signale 44 und eine Aufzeichnung der
A/V-Signale 44 von dem Teilnehmer. Wie angeführt, lädt jeder
Teilnehmer denselben VC-Client 56 herunter, wenn er sich
an dem Server 10 anmeldet, um Zugang zu einer bestimmten
VC-Sitzung zu erlangen.
-
3 ist
ein schematisches Diagramm, das die Software-Module des in 2 gezeigten
herunterladbaren Videokommunikations-Clients 56 zeigt. Der
VC-Client 56 ist
in vier hauptsächliche
funktionale Codegruppen organisiert, einschließlich einer Netzwerkschnittstelle 58,
einem Signalisierungsmodul 60, A/V-Erfassungskomponenten und A/V-Anzeigekomponenten.
Die A/V-Erfassungskomponenten umfassen
Video- und Audio-Erfassungsmodule 62 und 64, Video-
und Audio-Komprimierungsmodule 66 und 68 und ein
Zeitstempelmodul 70. Die A/V-Anzeigekomponenten umfassen
ein Video- und Audio-Synchronisierungsmodul 74,
Video- und Audio-Dekomprimierungsmodule 76 und 78,
einen Audio-Mischer 80, ein Videoanzeigemodul 82 und
ein Audio-Playback-Modul 84.
-
Die
A/V-Signale 44 werden von dem Reflektor 40 über eine
Netzwerkschnittstelle 58 an den VC-Client 56 übertragen.
Die Netzwerkschnittstelle 58 ist verantwortlich zur Verwaltung
der Verbindung zu dem Netzwerk. Zum Beispiel kann in einer Wählkonfiguration,
wie sie von einem Heimcomputer benutzt wird, die Netzwerkverbindung über ein
Modem sein. Für
einen mit einem LAN verbundenen Computer kann die Netzwerkverbindung über eine
Netzwerkschnittstellenkarte (NIC – network interface card) sein.
In beiden Fällen
kommuniziert das Netzwerkschnittstellenmodul 58 mit der
Netzwerk-Hardware der Client-Maschine 50, um ein Senden
und einen Empfang von A/V-Signalen 44 an den und von dem
Reflektor 40 zu verwalten, wie von dem Signalisierungsmodul 60 angewiesen.
-
Der
VAP 30 kommuniziert mit dem Signalisierungsmodul 60 des
VC-Clients 56, um die Verarbeitung und die Anzeige der
A/V-Signale 44 zu steuern. Das Signalisierungsmodul 60 weist
die Erfassungskomponenten an, ein visuelles Signal und ein Audiosignal
von dem Teilnehmer aufzuzeichnen, zu komprimieren und mit einem
Zeitstempel zu versehen. Das Signalisierungsmodul 60 weist
auch die Anzeigekomponenten an, die empfangenen A/V-Signale zu synchronisieren,
zu dekomprimieren, zu mischen und anzuzeigen. Wenn diese Prozesse
ausgeführt
werden, überwacht
das Signalisierungsmodul 60 auch den Verkehr auf dem Netzwerk 24 und
meldet eine Zustands- bzw. Statusinformation der Client-Maschine 50 an
den VAP 30.
-
Wie
von dem Signalisierungsmodul 60 angewiesen rufen die Erfassungskomponenten
die Audio- und Videodaten ab, die als ein Ergebnis der Aktivität des Teilnehmers
erzeugt werden, komprimieren sie und versehen sie mit einem Zeitstempel.
Der Videodatenstrom kann zum Beispiel von einer CCD-Kamera erzeugt
werden und der Audiostrom kann von einem Mikrofon erzeugt werden.
Die Video- und Audioströme
werden entsprechend von dem Videoerfassungsmodul 62 und
dem Audioerfassungsmodul 64 aufgezeichnet. Die Videodaten
werden in einem Videokomprimierungsmodul 66 komprimiert
und die Audiodaten werden in einem Audiokomprimierungsmodul 68 komprimiert.
Das Zeitstempelmodul 70 versieht dann die Audio- und Videosignale
mit einem Zeitstempel. Dies ermöglicht
dem Video- und Audio-Synchronisierungsmodul 74 des VC-Clients 56 anderer
Teilnehmer, den Audiostrom mit dem Video in Übereinstimmung zu bringen.
Die Zeit-gestempelten komprimierten A/V-Signale 44 werden
dann über die
Netzwerkschnittstelle 58 an den Reflektor 40 gesendet.
Während
die Erfassungskomponenten A/V-Ströme von dem Teilnehmer erfassen,
empfängt die
Netzwerkschnittstelle 58 auch A/V-Signale 44 von anderen
Teilnehmern über
den Reflektor 40.
-
Die
empfangenen A/V-Signale 44 von anderen Client-Maschinen 50 werden
durch die Netzwerkschnittstelle 58 an die Anzeigekomponenten
zur Verarbeitung geleitet. Das Video- und Audio-Synchronisierungsmodul 74 synchronisiert
jedes der Audiosignale des anderen Teilnehmers mit dem Videosignal dieses
Teilnehmers. Sobald die Audiosignale und die visuellen Signale für jeden
der anderen Teilnehmer synchronisiert sind, wird das Videosignal
in einem Videodekomprimierungsmodul 76 dekomprimiert und das
Audiosignal wird in einem Audiodekomprimierungsmodul 78 dekomprimiert.
Ein Audio-Mischer 80 mischt die Audiosignale von allen
Teilnehmern in einen einzelnen Strom, so dass das Audio an der Client-Maschine 50 abgespielt
werden kann. Jeder Videostrom von den anderen Teilnehmern wird dann dem
Teilnehmer angezeigt über
ein Videoanzeigemodul 82 und das Audio wird über ein
Audio-Playback-Modul 84 zurück an den Teilnehmer gespielt (played
back).
-
Das
Signalisierungsmodul 60 steuert den Fluss von A/V-Signalen 44 an
die und von der Client-Maschine 50. Anweisungen dafür, wann
und woher die Client-Maschine 50 A/V-Signale 44 empfängt und/oder
wohin die Client-Maschine 50 die A/V-Signale 44 senden
soll, werden von dem Signalisierungsmodul 60 an die Netzwerkschnittstelle 58 geleitet,
wie von dem VAP 30 angewiesen. Das Signalisierungsmodul 60 ist
auch verantwortlich zur Beurteilung der Leistung der Netzwerkverbindung
und zum Berichten der Leistung an den VAP 30. Auf diese Weise
kann der VAP 30 bestimmen, ob die Leistung des Reflektors 40 beeinträchtigt wurde
oder sich unter einem bestimmten Schwellenpegel befindet, und kann
dann aufhören,
diesen Reflektor 40 zur Arbeit mit neuen Client-Maschinen 50 zuzuweisen,
die zu der VC-Sitzung hinzukommen.
-
Wie
oben angeführt,
wird der VC-Client 56 zu einer Zeit heruntergeladen, die
relativ nahe an der Zeit der VC-Sitzung liegt. Dies stellt sicher,
dass alle Teilnehmer eine Kopie desselben VC-Clients 56 verwenden
und somit dieselben A/V-Codierer/Decodierer
(codecs) zur Komprimierung und Dekomprimierung der A/V-Signale 44.
Der VC-Client 56 erfordert keine mehreren Codecs, um die
A/V-Signale 44 zu verarbeiten,
da jeder Teilnehmer denselben Codec verwendet. Die A/V-Codecs für jeden
Teilnehmer sind dieselben, da der initiierende Teilnehmer der VC-Sitzung
die Zeit, an der die VC-Sitzung beginnen soll, durch das Sitzungsbuchungsmodul 14 zugewiesen
hat, das vorher alle Teilnehmer zu der VC-Sitzung zu der richtigen Zeit eingeladen
hat und somit den selben VC-Client 56 heruntergeladen hat.
-
4 ist
ein schematisches Diagramm eines der VAPs 30, die in 1 gezeigt
werden. Der VAP 30 umfasst vorzugsweise eine Client-Verbindungssteuerung 120,
ein Validierungsmodul 122 für das digitale Ticket, eine
Reflektorsteuerung 124 und eine lokale Sitzungsdatenbank 126.
Die Client-Verbindungssteuerung 120 kommuniziert mit der
Client-Maschine 50 und dem Feedback-Kanal-Steuerungsmodul 22.
Das Validierungsmodul 122 für das digitale Ticket kommuniziert
mit der Client-Verbindungssteuerung 120, um ein digitales
Ticket zu verarbeiten, das von einer Client-Maschine 50 empfangen
wird. Die Reflektorsteuerung 124 kommuniziert mit der Client-Verbindungssteuerung 120 und
den Reflektoren 40, um Reflektorzuweisungen und Signalpfade
zu steuern. Die lokale Sitzungsdatenbank 126 kann eine Information
speichern, die von einer der Steuerungen 120–124 gesammelt
wurde, wie von dem VAP 30 erforderlich, um die Steuerung
der VC-Sitzung weiter zu verfeinern.
-
Sobald
die Client-Maschine 50 den VAP 30 kontaktiert
hat und der VAP 30 die Sitzungsdatenbank 126 mit
dem zugewiesenen Reflektor 40 aktualisiert hat, leitet
die Reflektorsteuerung 124 eine Information über den
Teilnehmer an der Client-Maschine 50 an
den Reflektor 40. Der Reflektor 40 beginnt dann
mit dem Senden und/oder Empfangen von A/V-Signalen 22 an
die/von der Client-Maschine 50. Die Client-Verbindungssteuerung 120 überwacht
den Status bzw. Zustand und die Leistung der Kommunikationsverbindung
zwischen der Client-Maschine 50 und dem Reflektor 40 durch
das Signalisierungsmodul 60 des VC-Clients 56.
Der VAP 30 ist somit verantwortlich für die Aufnahme des Teilnehmers
in die VC-Sitzung
und Überwachung
des Teilnehmers während
der VC-Sitzung.
-
5 ist
eine Darstellung des logischen Ablaufs, der die bevorzugten Schritte
eines Teilnehmers darlegt, der in eine VC-Sitzung eintritt. Das
Verfahren beginnt in Schritt 130, wenn ein Benutzer auf
den Server 10 zugreift, um an einer VC-Sitzung teilzunehmen. Der Benutzer meldet
sich in Schritt 132 an dem Server 10 an. Eine
Liste zugänglicher
VC-Sitzungen wird an dem Server 10 erzeugt und dem Benutzer
in Schritt 133 angezeigt. Der Benutzer wählt dann
eine VC-Sitzung zur Teilnahme in Schritt 134. Der VC-Client 56 wird
dann in Schritt 136 auf die Client-Maschine 50 heruntergeladen
und die Client-Maschine 50 wird mit dem VAP 30 verbunden,
der die gewählte VC-Sitzung
leitet. Der Benutzer ist nun ein Teilnehmer an der VC-Sitzung.
-
Der
Teilnehmer nimmt weiterhin an der VC-Sitzung teil in Schritt 140,
bis der VAP 30 in Schritt 142 ein Verlassen- oder „Zeit ist
abgelaufen"-Signal
empfängt.
Wenn der VAP 30 ein „Zeit
ist abgelaufen"-Signal
empfängt,
dann bestimmt der initiierende Teilnehmer in Schritt 144,
ob die Zeit zu verlängern
ist. Wenn die Zeit verlängert
wird, nimmt der Teilnehmer in Schritt 140 weiterhin an
der Sitzung teil. Wenn der Sitzungsinitiator die Zeit nicht verlängert, dann
wird die Sitzung beendet und die Sitzung wird in Schritt 146 angehalten.
Ansonsten, wenn der VAP 30 ein Verlassen-Signal von der
Client-Maschine in Schritt 142 empfängt, dann verlässt dieser
Teilnehmer in Schritt 146 die Sitzung. Nachdem der Teilnehmer
in Schritt 146 geht, weist der VAP 30 den Reflektor 40 an,
die Kommunikationsverbindung zu der Client-Maschine 50 des
Teilnehmers zu deaktivieren. Wenn keine anderen A/V-Signale 44 durch
diesen Reflektor 40 geleitet werden, setzt der VAP 30 den Status
des Reflektors auf inaktiv und der Reflektor 40 ist von
der VC-Sitzung ausgeschlossen.
-
Der
Anmeldeschritt 132 zur Teilnahme an einer VC-Sitzung kann
erreicht werden durch ein digitales Ticket, wie oben beschrieben
wird. Der Anmeldeschritt 132, sowie die Schritte 133–136,
werden vorzugsweise durch den Server 10 ausgeführt. Durch die
Schritte 142 und 144 steuert der VAP 30 die
Verbindung zwischen der Client-Maschine 50 und der gewählten VC-Sitzung.
Der Reflektor 40 sendet und empfängt die A/V-Signale 44 in
Schritt 140 und, wenn von dem VAP 30 angewiesen,
deaktiviert die Kommunikationsverbindung des Teilnehmers in Schritt 146.
-
Der
Schritt 136 des Herunterladens des VC-Clients 56 findet
nicht statt, bis die Sitzung gewählt
wird und ein VAP 30 zugewiesen wird. Dies stellt sicher,
dass der VC-Client 56, der von den Teilnehmern in der Sitzung
verwendet wird, derselbe ist. Es ist möglich, dass einige Parameter
des VC-Clients 56 abgestimmt werden können, um den VC-Client 56 mit
bestimmten Netzwerken 24 oder VAPs 30 effizienter
zu machen.
-
6 ist
eine Darstellung des logischen Ablaufs, der die bevorzugten Schritte
des Organisierens und Durchführens
einer Sitzung unter Verwendung des in 1 gezeigten
Systems darlegt. Sobald der VAP 30 zugewiesen wurde, eine
Sitzung zu steuern, und die Sitzung begonnen hat, beginnt der VAP 30 mit
der Verwaltung der VC-Sitzung in Schritt 150. Der VAP 30 empfängt ein
neues Benutzersignal in Schritt 152. Der VAP 30 bestimmt
in Schritt 154, ob der neue Benutzer an der VC-Sitzung
als ein Teilnehmer teilnehmen darf, durch Validieren des digitalen
Tickets. Wenn der Benutzer nicht teilnehmen darf, dann wird der
Zugang verweigert und der Client wird in Schritt 156 benachrichtigt.
Das Verfahren endet dann in Schritt 158. Wenn dem Benutzer
jedoch Zugang zu der VC-Sitzung gewährt wird, dann wird die Kommunikationsverbindung
des Benutzers in Schritt 160 zu einem Reflektor 40 hinzugefügt. Die
Client-Maschine 50 ruft die Netzwerkadresse des Reflektors
von dem VAP 30 durch die Client-Verbindungssteuerung 120 in
Schritt 162 ab und die System-A/V-Signale können dann
an die und von der Client-Maschine 50 über den Reflektor 40 übertragen
werden.
-
Die
Client-Maschine 50 sendet/empfängt A/V-Signale 44 an
den/von dem Reflektor 40 in Schritt 164, wenn
der Benutzer ein aktiver Teilnehmer an der VC-Sitzung wird. Der VAP 30 fährt fort,
den Reflektor 40 anzuweisen, die A/V-Signale 44 an die Client-Maschine 50 zu
senden, bis in Schritt 166 ein Verlassen-Signal oder „Sitzungszeit
ist abgelaufen"-Signal
jeweils von der Client-Maschine 50 oder dem Feedback-Kanal-Steuerungsmodul 22 empfangen
wird. Ein „Zeit
ist abgelaufen"-Signal
in Schritt 168 erfragt von dem Initiator der Sitzung, ob
die Zeit der VC-Sitzung zu verlängern
ist. Wenn der Initiator der Sitzung entscheidet, die Zeit zu verlängern, dann weist
der VAP 30 in Schritt 164 weiterhin die Reflektoren 40 an,
A/V-Signale 44 von den Client-Maschinen 50 zu
empfangen. Wenn jedoch die Zeit nicht verlängert wird, dann weist der
VAP 30 den Reflektor 40 an, die Teilnehmer abzutrennen
durch Deaktivieren der Kommunikationsverbindungen zwischen ihren
Client-Maschinen 50 und dem Reflektor 40. Ein Verlassen-Signal
von einem Teilnehmer in Schritt 166 weist den VAP 30 ebenso
an, die Kommunikationsverbindung des Teilnehmers zu dem Reflektor 40 in
Schritt 170 zu deaktivieren. Wenn die Kommunikation zwischen
der Client-Maschine 50 des Teilnehmers und dem Reflektor 40 in
Schritt 170 beendet ist, endet das Verfahren in Schritt 172.
-
7 ist
eine Darstellung des logischen Ablaufs, der die bevorzugten Schritte
eines Teilnehmers darlegt, der mit dem in 1 gezeigten
System interagiert. Das Verfahren beginnt in Schritt 200.
Der Teilnehmer kommt in Schritt 202 zu einer Broadcast-Sitzung
dazu. Der Teilnehmer versucht dann in Schritt 204, aktiv
zu sein, und legt in Schritt 206 eine Anforderung vor.
Sobald die Anforderung an dem Server 10 empfangen wird,
wird der Name des Teilnehmers in Schritt 208 zu einer Anforderungsliste
hinzugefügt. Der
Broadcaster prüft
die Anforderungsliste in Schritt 210. Wenn der Broadcaster
in Schritt 212 nicht erlaubt, dass der Teil nehmer ein aktiver
Teilnehmer wird, dann geht der Broadcast in Schritt 220 weiter. Wenn
der Broadcaster dem Teilnehmer erlaubt, aktiv teilzunehmen, dann
beginnt der Prozess des Hinzufügens
des Teilnehmers zu dem Broadcast.
-
Nachdem
der Broadcaster dem Teilnehmer erlaubt hat, aktiv zu sein, sendet
das Feedback-Kanal-Steuerungsmodul 22 in Schritt 214 ein
Signal an den VAP 30, dem Reflektor 40 zu signalisieren,
einen Teilnehmer hinzuzufügen.
Der VAP 30 signalisiert dann der Client-Maschine 50 in
Schritt 216, A/V-Signale 44 an den Reflektor 40 zu
senden. Schliesslich signalisiert in Schritt 218 der VAP 30 allen
Client-Maschinen 50 und dem Broadcaster, die an der VC-Sitzung
teilnehmen, das zusätzliche
A/V-Signal 44 zu empfangen. Der Broadcast geht dann weiter 220 mit dem
zusätzlichen
Teilnehmer an dem Broadcast.
-
Durch
die Verwendung dieser hierarchischen Befehls- und Routing-Struktur
zur Steuerung einer VC-Sitzung überlastet
kein einziger Schritt oder Prozess die Kapazität der Maschinen 10, 30, 40 oder 50 oder
das Netzwerk 24. Wenn der Prozess jeden zusätzlichen
Schritt beginnt, haben die Maschinen 10, 30, 40 oder 50 jeweils
höherer
Bandbreitenanforderungen, aber weniger Verkehr. Zum Beispiel kann
der Server 10 die Schnittstellen- und Entscheidungs-Tools
für 100
gleichzeitige VC-Sitzungen vorsehen. Jeder VAP 30 kann
für 10
VC-Sitzungen verantwortlich sein. Jeder Reflektor kann einer VC-Sitzung
zugewiesen sein, aber für
mehrere Client-Maschinen 50 verantwortlich sein. Die Client-Maschinen 50 sind
verantwortlich für
die rechnerisch intensivste Aufgabe, das Komprimieren und Dekomprimieren der
Audio- und Video-Ströme
für die
anderen Teilnehmer, aber jede Client-Maschine 50 ist nur
für einen Teilnehmer
verantwortlich. Unter Verwendung dieser Struktur wird ein verteiltes
Mehrfach-Punkt-Videokonferenz- und Broadcast-System vorgesehen,
das die Nachteile von bekannten Videokommunikationssystemen überwindet.
-
Nach
der Beschreibung eines Beispiels der Erfindung unter Bezugnahme
auf die Zeichnungen sollte offensichtlich sein, dass dies nur ein
Beispiel der Erfindung ist, und nichts in dieser detaillierten Beschreibung
dargelegte soll die Erfindung auf dieses Beispiel beschränken. Andere
Ausführungsbeispiele, Verbesserungen,
Ersatz, Alternativen oder äquivalente
Elemente und Schritte zu den in dieser Anmeldung dargelegten sollen
ebenfalls in dem Umfang der Erfindung liegen, wie durch die Ansprüche definiert.