-
STAND DER
TECHNIK
-
1. Gebiet
der Erfindung
-
Die
vorliegende Erfindung betrifft das Gebiet der Computer-basierten
Kommunikationen unter Verwendung eines Modems.
-
2. Beschreibung des Stands
der Technik
-
Benutzer
bzw. Anwender von Personalcomputern finden es zunehmend wünschenswert,
gleichzeitig unterschiedliche Arten von Informationen bzw. Daten
zu übertragen,
wie etwa Sprache, Video und Daten. Der hierin verwendete Begriff „Daten" betrifft digitale
Informationen, bei denen es sich nicht um Sprach- oder Videodaten
bzw. Sprach- oder Videodaten handelt. Zum Beispiel sind „Daten" die Informationen
aus Computerdateien oder Informationen, die durch Computereingabegeräte erzeugt
werden, wie zum Beispiel Tastaturen und Zeigegeräte. Beispiele für Anwendungen,
die von gleichzeitiger Sprache, Daten oder Video profitieren sind
Online-Computerspiele, Kundendienst, PC-basierte Videokonferenzen
und PC-basierte Videotelefone.
-
Zurzeit
sind Modems, die gleichzeitig Sprache, Video und Daten übertragen
können,
aufgrund ihrer komplizierten Funktionalität teuer, die in diese Modems
integriert werden muss, um die gleichzeitige Übertragung von Sprache, Video
und Daten zu behandeln. Ferner funktionieren diese Modems in vielen
Fällen
aus den nachstehend im Text ausgeführten Gründen nicht gut in Verbindung
mit bestehenden standardmäßigen Modemtreibern.
-
Bestehende
Standard-Modemtreiber, wie zum Beispiel der Modemtreiber Unimodem
TM der Microsoft
TM Corporation,
ermöglicht
es Anwendungen, Anrufe mit einem Modem unter Verwendung einer standardmäßigen Softwareschnittstelle
zu tätigen und
zu steuern. Modems stellen für
gewöhnlich über einen
COM-Port bzw. COM-Anschluss eine Verbindung zu Computern her, und
der Modemtreiber behandelt die COM-Port/Modem-Kombination als eine einzelne Übertragungs-
bzw. Kommunikationsleitung. Anders ausgedrückt ermöglicht es der Treiber nicht,
dass mehr als ein Telefonanruf gleichzeitig an einem Modem aktiv
ist. Ein Beispiel dafür
findet sich in
EP 717548 .
Wenn ein Modem somit für
die Übermittlung
von Sprachinformationen eingesetzt wird, lassen die bestehenden
Modemtreiber keine Herstellung einer zweiten Verbindung für eine Datenübertragung
unter Verwendung des gleichen Modems zu. Viele gleichzeitige Sprach-Daten-Modems
erfordern eine derartige zweite Verbindung, um eine gleichzeitige
Sprach- und Datenkommunikation zu ermöglichen. Gleichzeitiges Video
kann es erfordern, dass unter Verwendung des gleichen Modems eine
dritte Verbindung aufgebaut wird. Die vollständige gleichzeitige Funktionalität von Sprach-Daten-Video-Modems
wird somit in vielen Fällen
unmöglich
gemacht, wenn standardmäßige Modemtreiber
eingesetzt werden.
-
Ein
Beispiel ist ein Computersystem, auf dem das Betriebssystem Windows
95TM ausgeführt wird, und wobei ein International
Telecommunications Union (ITU) V.70 DSVD (Digital Simultaneous Voice
Data) Modem installiert ist. Eine Softwareanwendung zur Ausführung von
Sprachanrufen verwendet das Modem, um eine Verbindung zur Kommunikation
von Sprachinformationen aufzubauen. Eine zweite Softwareanwendung
für die
Ausführung von
Datenanrufen versucht danach das Modem für den Aufbau einer Verbindung
zur Übertragung
von Dateninformationen einzusetzen. Die Datenverbindung schlägt fehl,
da bereits eine Sprachverbindung aktiv ist, welch das Modem verwendet,
und der Modemtreiber lässt
keine zweite Verbindung unter Verwendung des gleichen Modems zu.
Der Modemtreiber erkennt das DSVD-Modem als einzelnes logisches
Modem und lässt
zu jedem Zeitpunkt immer nur eine aktive Verbindung an dem Modem
zu.
-
Der
Modemtreiber lässt
mehrere Verbindungen zu, vorausgesetzt, dass diese an separaten
Modems erfolgen. Somit ist es wünschenswert,
es zu bewirken, dass der Modemtreiber die Kombination aus COM-Port
und DSVD-Modem erkennt, als wenn mehrere Modems mit mehreren Ports
verbunden wären,
wobei jedes Modem eine Verbindung für eine bestimmte Art von Informationen
(Sprache, Daten oder Video) aufbauen kann. Auf diese Weise kann
eine Sprachverbindung unter Verwendung eines ersten logischen Modems
aufgebaut werden, und eine Datenverbindung kann unter Verwendung
eines zweiten logischen Modems aufgebaut werden, ohne dass dies
dazu führt,
dass der Modemtreiber einen Fehler meldet. Beide Verbindungen werden
unter Verwendung des gleichen physikalischen Modems aufgebaut.
-
Das
U.S. Patent US-A-5.535.204 offenbart ein Computer-basiertes Kommunikationssystem,
das automatisch zwischen einem Datenkommunikationssystem und einem
Sprachinformationskommunikationssystem umgeschaltet werden kann.
Das System weist einen beschränkten
Umfang auf.
-
Bei
einer Videokonferenz ist es möglich, dass
zusätzlich
zu Sprache und Daten auch Videoinformationen ausgetauscht werden
können.
Bestimmte Modems für
Videokonferenzen unterstützen gleichzeitig
Sprache, Daten und Video auf einer einzelnen Telefonleitung. Diese
Modems ermöglichen den
Aufbau von Videokonferenzen, indem drei Verbindungen aufgebaut werden – eine für die Sprachinformationen,
eine für
die Dateninformationen und eine für die Videoinformationen. Dabei
wird jedoch das gleiche physikalische Modem für alle drei Verbindungen eingesetzt.
Videokonferenzmodems können auch
DSVD-Betriebsmodi unterstützen,
da gleichzeitige Sprache und Daten realisiert werden können, ohne
eine Videoverbindung aufzubauen.
-
Es
wäre wünschenswert,
die Hardwarevoraussetzungen für
simultane bzw. gleichzeitige Sprach-Daten-Videomodems zu vereinfachen,
so dass diese preiswerter erworben werden können und für die allgemeine Öffentlichkeit
leichter zugänglich sind.
Gleichzeitig wäre
es wünschenswert
Anwendungen zu ermöglichen,
die mit bereits bestehenden Modemtreibern zusammenarbeiten, um die
vollständige
simultane bzw. gleichzeitige Funktionalität von Sprach-Daten-Video-Modems
nutzen zu können.
-
ZUSAMMENFASSUNG
DER ERFINDUNG
-
Vorgesehen
ist gemäß einem
ersten Aspekt der vorliegenden Erfindung ein Modem gemäß dem gegenständlichen
Anspruch 1.
-
Vorgesehen
ist gemäß einem
zweiten Aspekt der vorliegenden Erfindung ein Computersystem gemäß dem gegenständlichen
Anspruch 4.
-
Vorgesehen
ist gemäß einem
dritten Aspekt der vorliegenden Erfindung ein Verfahren gemäß dem gegenständlichen
Anspruch 7.
-
Bevorzugte
Merkmale der Erfindung sind in den Unteransprüchen definiert.
-
KURZE BESCHREIBUNG
DER ZEICHNUNGEN
-
Es
zeigen:
-
1 ein
Blockdiagramm eines Ausführungsbeispiels
eines Computersystems, das einen physikalischen Anschluss umfasst,
der mit einem physikalischen Modem verbunden ist, und mit einem Speicher
mit mehreren virtuellen Anschlüssen
und mehreren logischen Modems, welche die virtuellen Anschlüsse mit
dem physikalischen Anschluss verbinden;
-
2 ein
Verfahren zur Ermöglichung
der gleichzeitigen Sprach-, Daten- und Videokommunikation in einem
Computersystem auf eine Art und Weise, die mit existierenden Modemtreibern
kompatibel ist; und
-
3 Zustände, in
denen der Kommunikationsmanager arbeiten kann.
-
GENAUE BESCHREIBUNG
-
In
der folgenden Beschreibung sind zahlreiche besondere Einzelheiten
ausgeführt,
wie etwa in Form von Blockdiagrammen, Flussdiagrammen, etc., um
ein umfassendes Verständnis
der vorliegenden Erfindung zu vermitteln. In anderen Fällen wurde
auf die nähere
Darstellung allgemein bekannter Strukturen und Techniken verzichtet,
um die vorliegende Erfindung nicht unnötig zu verschleiern. Die hierin
beschriebenen speziellen Anordnungen und Verfahren dienen ausschließlich der
Veranschaulichung der Grundsätze
der vorliegenden Erfindung. Zahlreiche Modifikationen in Bezug auf
die Ausführung
und die Einzelheiten sind für
den Durchschnittsfachmann auf dem Gebiet möglich, ohne dabei vom Umfang
der vorliegenden Erfindung abzuweichen. Zum Beispiel sind zwar die
Anschlusstreiber und logischen Modems als Komponenten des Kommunikationsmanagers
dargestellt, wobei die Anschlusstreiber und die logischen Modems
aber auch als einzelne bzw. individuelle Komponenten fungieren können, die
nicht Teil einer größeren Komponente
sind.
-
In
einem Ausführungsbeispiel
verwendet die Erfindung eine Softwarekomponente, die als Kommunikationsmanager
bezeichnet wird, welche mehrere virtuelle Kommunikationsanschlüsse emuliert, wobei
jeder virtuelle Anschluss dem physikalischen Anschluss und einem
logischen Modem zugeordnet ist. Jedes logische Modem implementiert
eine einzigartige bzw. eindeutige Funktionalität. In einem Ausführungsbeispiel
werden drei logische Modems verwendet, von denen eins Dateninformationen
unterstützt,
ein zweites Sprachinformationen unterstützt und das dritte Videoinformationen
unterstützt.
Bestehende Modemtreiber erkennen die logischen Modems als drei separate
Modems, an denen Verbindungen für
verschiedenartige Informationen aufgebaut werden können. Die
Koordination der logischen Modems ermöglicht die gleichzeitige Kommunikation von
Sprache/Daten/Video über
den physikalischen Anschluss in jeder Kombination. Als Folge dessen wird
der Großteil
der Funktionalität
simultaner Sprach-/Daten-/Video-Modems in Software realisiert, mit
vollständiger
Kompatibilität
mit bestehenden bzw. bereits vorhandenen Modemtreibern. Die Kosten
und die Komplexität
des an dem physikalischen Anschluss angebrachten physikalischen
Modems werden deutlich gesenkt bzw. vereinfacht, da der Großteil der
komplexen Datenverarbeitungsfunktion, der vorher in Hardware oder
Firmware in dem physikalischen Modem implementiert worden ist, jetzt
in Software implementiert wird, und zwar durch die logischen Modems,
welche in dem Computersystem ausgeführt werden.
-
Die
Abbildung aus 1 zeigt ein Computersystem,
das einen physikalischen Anschluss umfasst, der mit einem physikalischen
Modem verbunden ist, und einen Speicher, der mehrere virtuelle Anschlüsse aufweist
und mehrere logische Modems, die eine Verbindung der virtuellen
Anschlüsse
mit dem physikalischen Anschluss bereitstellen. In der Abbildung
aus 1 wird ein Großteil der komplizierten Datenverarbeitungsfunktionen,
die vorher in der Modem-Hardware 154 implementiert wurden,
jetzt auf dem Prozessor 170 des Computers unter Verwendung
der logischen Modems 134, 136, 138 implementiert.
-
Ein
Speicher 100 speichert verschiedene Software zur Verwendung
in dem Computersystem, darunter Sprach-, Daten- und Videoanwendungen 104, 106, 108,
ein Betriebssystem 110 und andere Softwarekomponenten auf
niederer Ebene. Der Speicher 100 stellt einen Mechanismus
oder mehrere Mechanismen zum Speichern von Befehlen und Daten dar.
Zum Beispiel kann der Speicher 100 maschinenlesbare Medien
aufweisen, wie etwa Nur-Lesespeicher (ROM), Direktzugriffsspeicher
(RAM), Magnetplattenspeichermedien, optische Speichermedien, Flash-Speichermedien
und/oder andere maschinenlesbare Medien. Der Speicher 100 ist über einen
Bus 160 mit einem Prozessor 170 gekoppelt. Der
Bus 160 stellt einen Bus oder mehrere Busse dar (z.B. PCI, ISA,
X-Bus, EISA, VESA, optische Kopplung, etc.) und Brücken (auch
als Bus-Steuereinheiten bezeichnet). Der Prozessor 170 stellt
eine Zentraleinheit einer beliebigen Architektur dar, wie etwa CISC,
RISC, VLIW oder eine Hybridarchitektur. Darüber hinaus kann der Prozessor 170 auf
einem oder mehreren Chips implementiert werden. Unter Verwendung
des Busses 160 greift der Prozessor 170 auf verschiedene
in dem Speicher 100 gespeicherte Elemente zu.
-
Die
Modem-Hardware 154 (das physikalische Modem) ist mit dem
Prozessor 170 und dem Speicher 100 über den
Bus 160 gekoppelt.
-
Das
Betriebssystem 110 wird zur Steuerung der Grundfunktionen
des Computersystems eingesetzt und um eine Schnittstelle zwischen
Programmen und der Computer-Hardware bereitzustellen. Der Speicher 100 umfasst
ferner eine virtuelle Modemmanager-Softwarekomponente 130, deren Funktionsweise
nachstehend im Text beschrieben wird, und einen Modem-Hardwaretreiber 150,
der eine direkte Schnittstellenverbindung anderer Systemkomponenten
in dem System mit der Modem-Hardware 154 über den
physikalischen Anschluss 152 bereitstellt.
-
Das
Betriebssystem (OS) 110 umfasst verschiedene Softwarekomponenten,
einschließlich Komponenten,
die Anwendungsprogrammierschnittstellen (APIs) implementieren. Diese
API-Komponenten weisen eine Telefonie-API-Komponente 112, eine
Daten-API-Komponente 116,
eine Sprach-API-Komponente 118 und eine Video-API-Komponente 120 auf.
Die Telefonie-API-Komponente 112 stellt eine Schnittstelle
für den
Aufbau und die Steuerung von Telefonverbindungen bereit. Die Daten-API-Komponente 116,
die Sprach-API-Komponente 118 und
die Video-API-Komponente 120 stellen Schnittstellen bereit,
um entsprechend Daten-, Sprach- und Videoinformationen von Anwendungen
zu niedrigeren Softwareebenen in dem Computersystem bereitzustellen.
Einzelheiten in Bezug auf den Einsatz und die Funktionsweise dieser
API-Komponenten sind im Fach allgemein bekannt und können hierin
somit weggelassen werden.
-
Das
Betriebssystem 110 weist ferner einen Modemtreiber 114 und
einen Treibermanager für
den virtuellen Anschluss (VCOMM) 124 auf. Der Modemtreiber 114 implementiert
für gewöhnlich Anbieter-spezifische
Modembefehle, wie etwa den HayesTM-AT-Befehlssatz
für den
Aufbau und die Steuerung von Telefonverbindungen. Der Treibermanager für den virtuellen
Anschluss 124 ist eine OS-Komponente zur Verwaltung von
Kommunikationsanschlüssen.
Zusätzlich
zu den vorstehend aufgeführten Komponenten
kann das Betriebssystem 110 auch andere Softwarekomponenten
aufweisen, die nicht abgebildet sind und die für das Verständnis der vorliegenden Erfindung
nicht erforderlich sind. Zum Beispiel können andere Softwarekomponenten 122 eine Schnittstelle
zwischen verschiedenen APIs 116, 118, 120 und
VCOMM 124 bereitstellen.
-
Der
virtuelle Modemmanager 130 umfasst verschiedene Komponenten,
die jeweils einen virtuellen Kommunikationsanschluss und ein logisches Modem
implementieren. Eine Komponente des virtuellen Kommunikationsmanagers 130 umfasst
einen Anschlusstreiber 126, der einen ersten virtuellen Kommunikationsanschluss
implementiert, und ein logisches Modem 134, das die Datenmodemfunktionalität in Software
implementiert. Eine weitere Komponente in dem virtuellen Kommunikationsmanager 130 umfasst
einen Anschlusstreiber 128, der einen zweiten virtuellen
Anschluss implementiert, und ein logisches Modem 136, das
die Sprachmodemfunktionalität
in Software implementiert. Eine weitere Softwarekomponente in dem
virtuellen Modemmanager 130 umfasst einen dritten Anschlusstreiber 132,
der einen dritten virtuellen Anschluss implementiert, und ein logisches
Modem 138, das Videokonferenzfunktionalität in Software
implementiert.
-
Die
Kommunikation wird wie folgt realisiert. Die verschiedenen Softwareanwendungen 104, 106 und 108 bauen
eine Telefonverbindung auf unter Verwendung der Telefonie-API 112,
die wiederum eine Schnittstelle mit dem Modemtreiber 114 bereitstellt, um
Anbieter-spezifische Befehle an den VCOMM 124 zu senden.
Der VCOMM 124 stellt sicher, dass die Befehle zu dem entsprechenden
virtuellen Anschluss geleitet werden, der dem Modem zugeordnet ist,
an welches die Befehle gerichtet sind. Wenn der Modemtreiber 114 zum
Beispiel eine Sprachverbindung für
die Sprachanwendung 104 aufbaut, leitet VCOMM die Befehle
zu dem Anschlusstreiber 128, der dem logischen Sprachmodem 136 zugeordnet ist.
Wenn der Modemtreiber 114 danach aufgerufen wird, um eine
Datenverbindung für
die Datenanwendung 104 aufzubauen, so würde VCOMM die Befehle zu dem
Anschlusstreiber 128 leiten, der dem logischen Datenmodem 134 zugeordnet
ist. Da Verbindungen für
verschiedenartige Informationen unter Verwendung verschiedener virtueller
Anschlüsse aufgebaut
werden, findet der Modemtreiber 114 keinen Ressourcenkonflikt,
obwohl der gleiche physikalische Anschluss 152 für beide
Verbindungen verwendet wird. Dies beseitigt eine der größten Einschränkungen
für die
schnelle Annahme der Verbraucher von simultanen Sprach-/Daten-Modems, nämlich die
fehlende Kompatibilität
mit bestehenden Modemtreibern.
-
Die
Softwareschnittstellen zwischen den Anwendungen 104, 106 und 108 und
der Telefonie-API 112 sind
im Fach allgemein bekannt und werden hierin nicht wiederholt. In ähnlicher
Weise kommuniziert der Modemtreiber 114 mit VCOMM 124 über eine Softwareschnittstelle,
deren Einzelheiten allgemein bekannt sind, und VCOMM 124 kommuniziert über eine
allgemein bekannte Softwareschnittstelle mit den Anschlusstreibern 126, 128 und 132.
-
Für die Kommunikation
von Informationen über
die Verbindung kommunizieren die verschiedenen Anwendungen 104, 106, 108 mit
verschiedenen Komponenten, die APIs 112, 116, 118 und 120 implementieren.
Die APIs 112, 116 und 118 kommunizieren
Informationen zu dem VCOMM 124, der sie zu dem entsprechenden
Anschlusstreiber leitet. Wenn die Informationen die logischen Modems 134, 136 und 138 erreichen,
werden sie zu dem Modem-Hardwaretreiber 150 kommuniziert.
Der Modem-Hardwaretreiber 150 kommuniziert die Informationen über den
physikalischen Kommunikationsanschluss 152 zu der Modem-Hardware 154.
-
Das
logische Datenmodem 134 kommuniziert mit dem logischen
Sprachmodem 136 über
eine Softwareschnittstelle 140. Die Schnittstelle 140 wird für die Koordination
der logischen Sprach- und Daten-Modems 136, 134 eingesetzt,
um die gleichzeitige Sprach- und Datenkommunikation über einen
einzigen physikalischen Anschluss 152 zu ermöglichen. Die
Schnittstelle 140 umfasst Nachrichten, Parameter und Datenstrukturen,
die zwischen den Komponenten ausgetauscht werden, um deren Verhalten
zu koordinieren. In dem vorstehenden Beispiel kommuniziert die Sprachanwendung 104 Sprachinformationen
zu dem logischen Sprachmodem 136, und die Datenanwendung 106 kommuniziert
Dateninformationen zu dem logischen Datenmodem 134. Die Schnittstelle 140 wird
eingesetzt, um es einem oder beiden der logischen Modems zu ermöglichen,
die Sprach- und Dateninformationen zu multiplexieren, so dass sie
gleichzeitig über
den einzelnen physikalischen Anschluss 152 zu der Modem-Hardware 154 kommuniziert
werden können.
Die Kooperation der logischen Modems 134, 136 umfasst
den Austausch von Informationen. Das logische Sprachmodem 136 kann
Sprachinformationen zu dem logischen Daten-Modem 134 kommunizieren,
für ein
Multiplexieren durch das logische Daten-Modem 134. Oder
das logische Daten-Modem 134 kann Dateninformationen zu
dem logischen Sprach-Modem 136 kommunizieren, zum Multiplexieren
durch das logische Sprachmodem 134. In beiden Fällen können beide logische
Modems auch Steuerungs- und Synchronisierungsinformationen austauschen,
um das Multiplexieren der Sprach- und Dateninformationen zu ermöglichen.
Die erforderlichen Steuerungs- und Synchronisierungsinformationen
zum Multiplexieren der Sprach- und Dateninformationen, zum Beispiel
unter Verwendung des DSVD-Standards, sind allgemein im Fach bekannt.
-
Das
logische Datenmodem 134 kommuniziert ferner mit dem logischen
Videomodem 138 über eine
Softwareschnittstelle 144. Die Schnittstelle 144 wird
auch für
die Koordination der logischen Video- und Daten-Modems 136, 134 eingesetzt,
um die gleichzeitige Video- und Datenkommunikation über den
einzelnen physikalischen Anschluss 152 zu ermöglichen.
Die Schnittstelle 144 umfasst Nachrichten, Parameter und
Datenstrukturen, die zwischen den Komponenten ausgetauscht werden,
um ihr Verhalten zu koordinieren. Die Videoanwendung 108 kann
Videoinformationen zu dem logischen Video-Modem 138 kommunizieren,
und die Datenanwendung 106 kann gleichzeitig Dateninformationen zu
dem logischen Daten-Modem 134 kommunizieren. Die Schnittstelle 144 wird
eingesetzt, um es einem oder beiden logischen Modems zu ermöglichen, die
Video- und Dateninformationen zu multiplexieren, so dass diese gleichzeitig
durch den einzelnen physikalischen Anschluss zu der Modem-Hardware 154 kommuniziert
werden können.
Das logische Daten-Modem 134 kann Sprachinformationen zu
dem logischen Video-Modem 138 kommunizieren, zum Multiplexieren
durch das logische Video-Modem 138. Oder das logische Video-Modem 138 kann
Videoinformationen zu dem logischen Daten-Modem 134 kommunizieren,
zum Multiplexieren durch das logische Daten-Modem 134.
In beiden Fällen
können beide
logische Modems auch Steuerungs- und Synchronisierungsinformationen
austauschen, um das Multiplexieren der Daten- und Videoinformationen
zu ermöglichen.
Die Steuerungs- und Synchronisierungsinformationen, die für das Multiplexieren
der Daten- und Videoinformationen erforderlich sind, zum Beispiel
unter Verwendung des Standards ITU H.324, sind im Fach allgemein
bekannt.
-
Das
logische Sprach-Modem 136 kommuniziert mit dem logischen
Video-Modem 138 über
eine Softwareschnittstelle 142. Die Schnittstelle 142 wird eingesetzt,
um es einem oder beiden logischen Modems zu ermöglichen, die Video- und Sprachinformationen
zu multiplexieren, so dass sie gleichzeitig zu der Modem-Hardware 154 kommuniziert
werden, und zwar unter Verwendung des einzelnen physikalischen Anschlusses 152.
Die Schnittstelle 146 umfasst Nachrichten, Paramete und
Datenstrukturen, die zwischen den Komponenten ausgetauscht werden,
um ihr Verhalten zu koordinieren. Wenn Sprach-, Daten- und Videoinformationen
alle gleichzeitig kommuniziert werden, können alle drei Schnittstellen 140, 142, 144 eingesetzt
werden, um es zu ermöglichen,
dass ein oder beide logische Modems die Video- und Daten- sowie Sprachinformationen
multiplexieren, so dass sie gleichzeitig zu der Modem-Hardware 154 kommuniziert
werden, und zwar unter Verwendung des einzelnen physikalischen Anschlusses 152.
Das logische Sprach-Modem 136 kann Sprachinformationen
zu dem logischen Videomodem 138 kommunizieren, zum Multiplexieren durch
das logische Video-Modem 138. Oder das logische Video-Modem 138 kann
Videoinformationen an das logische Sprach-Modem 136 kommunizieren, zum
Multiplexieren durch das logische Sprach-Modem 136. In beiden Fällen können beide
logische Modems auch Steuerungs- und Synchronisierungsinformationen
austauschen, um das Multiplexieren der Sprach- und Videoinformationen
zu ermöglichen.
Die Steuerungs- und Synchronisierungsinformationen, die für das Multiplexieren
von Sprach- und Videoinformationen erforderlich sind, wie zum Beispiel
unter Verwendung des Standards ITU H.324, sind im Fach allgemein
bekannt.
-
Wie
dies aus der Abbildung aus 1 deutlich
wird, werden viele der Funktionen, die vorher durch die Modem-Hardware
ausgeführt
worden sind, jetzt durch die Komponenten des Kommunikationsmanagers
ausgeführt.
Jede Kommunikationsmanager-Komponente implementiert einen virtuellen
Anschluss und ein logisches Modem, welche Funktionen ausführen wie
das Packen von Daten in und aus Frames, die Komprimierung und Kommunikationsprotokolle
für eine
bestimmte Art von Informationen (Daten, Sprache oder Video). Die
Modem-Hardware 154 wird einfacher und kostengünstiger
gestaltet, da die Komponenten des Kommunikationsmanagers, die auf
dem Computerprozessor 170 ausgeführt werden, viele komplexe
Funktionen in Software ausführen,
die vorher durch die Modem-Hardware 154 ausgeführt worden
sind.
-
Als
ein Beispiel für
die Nützlichkeit
der vorliegenden Erfindung wird ein vernetztes Computerspiel angenommen.
Zum Spielen eines vernetzten Computerspiels wird zuerst eine Sprachverbindung
zwischen den Spielern des Spiels aufgebaut. Eine Software-Sprachanwendung wird
für gewöhnlich für den Aufbau
der Sprachverbindung eingesetzt, wie etwa die Anwendung Microsoft
PhoneTM. Die Spielanwendung wird danach
gestartet, und eine zweite Verbindung für die Übertragung der Spieldaten wird
aufgebaut. Die Sprachinformationen von den Spielern und die Dateninformationen
von dem Spiel werden durch eines oder beide Modems, das logische
Sprach-Modem 136 und das logische Daten-Modem 134 multiplexiert, wobei
sie in dem Computerprozessor 170 ausgeführt werden und danach zu dem
physikalischen Anschluss 152 und über den Bus 160 zu
der Modem-Hardware 154 kommuniziert werden. Die Modem-Hardware 154 kommuniziert
die Sprache und die Daten über
die Telefonleitung. Die Erfindung vereinfacht die Modem-Hardware 154,
indem die Komplexität
der Schaltkreisanordnung reduziert wird, die für die Verarbeitung der Sprach-,
Daten- und Videoinformationen erforderlich ist. Diese Verarbeitung wird
jetzt in Software ausgeführt,
die in dem Computerprozessor 170 ausgeführt wird.
-
Weitere
Ausführungsbeispiele
sind möglich, ohne
dabei vom Umfang der Erfindung abzuweichen. Zum Beispiel muss es
sich bei dem virtuellen Modemmanager 130 nicht um eine
einzelne Komponente mit drei internen Komponenten handeln. Stattdessen
können
die internen Komponenten vollständig autonome
Softwareobjekte darstellen, die kein Bestandteil eines Behälterobjekts
sind. In einem weiteren Ausführungsbeispiel
kann der physikalische Anschluss 152 eine Ansammlung mehrerer
verwandter physikalischer Anschlüsse
darstellen, für
eine Kommunikation mit der Modem-Hardware 154 (im Gegensatz
zu dem faktischen Umfassen eines einzelnen Anschlusses). Ferner
können
die Sprach-, Daten- und Videoanwendungen 104, 106 und 108 in
einer einzelnen Videokonferenzanwendung kombiniert werden, welche
alle drei Datentypen behandelt.
-
Die
Abbildung aus 2 veranschaulicht ein Verfahren,
um die gleichzeitige Kommunikation von Sprache, Daten und Video
in einem Computersystem auf eine Art und Weise zu ermöglichen,
die mit bereits existierenden Modemtreibern kompatibel ist. Softwarekomponenten
für einen
ersten, zweiten und dritten virtuellen Anschluss werden in dem Schritt 200 ausgeführt, und
jede Komponente ist dem physikalischen Anschluss zugeordnet.
-
Nach
der Erzeugung der virtuellen Anschlüsse handelt es sich bei dem
nächsten
Schritt um den Beginn der Sprachkommunikation 210. Die
Software für
das logische Sprach-Modem wird danach in dem Schritt 220 ausgeführt und
fungiert als eine Schnittstelle zwischen dem ersten virtuellen Anschluss
und dem physikalischen Anschluss. Die Sprachinformationen werden
in dem Schritt 230 unter Verwendung des ersten virtuellen
Anschlusses und des logischen Sprach-Modems zu dem physikalischen
Anschluss kommuniziert. Nach dem Beginn der Kommunikation der Sprachinformationen
zu dem ersten virtuellen Anschluss handelt es sich bei dem nächsten Schritt um
den Beginn der Datenkommunikation in dem Schritt 240. Die
Softwarekomponente; welche das logische Daten-Modem implementiert,
wird in dem Schritt 250 ausgeführt und wird zu einer Schnittstelle zwischen
dem zweiten virtuellen Anschluss und dem physikalischen Anschluss.
Danach werden Dateninformationen in dem Schritt 260 unter
Verwendung des zweiten virtuellen Anschlusses und des logischen
Sprach-Modems zu dem physikalischen Anschluss kommuniziert. Nach
der Kommunikation der Dateninformationen zu dem zweiten virtuellen
Anschluss handelt es sich bei dem nächsten Schritt um die Koordination
des logischen Sprach-Modems und des logischen Daten-Modems, um die
gleichzeitige Kommunikation von Sprach- und Dateninformationen zu
dem physikalischen Anschluss zu ermöglichen. Die Koordination kann
jede im Fach allgemein bekannte Ausführung bzw. Form annehmen, einschließlich der
Koordination gemäß dem Standard ITU
V.70 DSVD.
-
Die
Videokommunikation beginnt in dem Schritt 280. Die Softwarekomponente,
die das logische Videokonferenz-Modem implementiert, wird in dem
Schritt 290 ausgeführt
und für
eine Schnittstellenverbindung des dritten virtuellen Anschlusses
mit dem physikalischen Anschluss eingesetzt. Nach der Ausführung der
Softwarekomponente zur Erzeugung des logischen Video-Modems handelt
es sich bei dem nächsten
Schritt um die Kommunikation von Videoinformationen zu dem physikalischen
Anschluss unter Verwendung des dritten virtuellen Anschlusses und
des logischen Video-Modems in dem Schritt 295. Schließlich werden
die logischen Sprach-, Daten- und Video-Modems in dem Schritt 297 koordiniert, um
die gleichzeitige Kommunikation von Sprache, Daten und Video zu
dem physikalischen Anschluss zu ermöglichen. Die Koordination kann
jede im Fach allgemein bekannte Art annehmen, einschließlich der Koordination
gemäß dem Telekonferenzstandards ITU
H.324.
-
Weitere
Ausführungsbeispiele
sind möglich, ohne
dabei vom Umfang der Erfindung abzuweichen. Zum Beispiel können die
Softwarekomponenten zur Implementierung der verschiedenen logischen
Modems vor Beginn der Kommunikation von Sprache, Daten oder Video
ausgeführt
werden. Dieses Ausführungsbeispiel
weist den Nachteil auf, dass eines der logischen Modems oder mehrere
logische Modems im Speicher vorhanden sein können, obwohl sie nicht erforderlich
sind für
die bestimmten Datenarten, die übertragen
werden. Wenn zum Beispiel nur Video- und Sprachinformationen übertragen
werden, ist es ineffizient, den Code auszuführen, um das Daten-Modem zu
implementieren, da dieses logische Modem nicht verwendet wird. Obgleich
gemäß der Darstellung
in dem Schritt 210 zuerst die Sprachkommunikation auftritt,
können
die Sprach-, Daten- oder Videokommunikationen natürlich in
jeder beliebigen Reihenfolge bereitgestellt werden.
-
Die
Abbildung aus 3 veranschaulicht die Zustände, in
denen der Kommunikationsmanager arbeiten kann. In dem Zustand IDLE 300 (Ruhezustand)
ist der Kommunikationsmanager inaktiv und es werden keine Informationen
durch den physikalischen Anschluss übertragen. Wenn ein Sprachanruf aufgebaut
wird, wechselt der Zustand des Kommunikationsmanagers in VOICE MODE 320 (Sprachmodus).
Wenn jedoch während
dem Zustand IDLE 300 ein Videoanruf aufgebaut wird, wechselt
der Zustand des Kommunikationsmanagers in VIDEO MODE 330 (Videomodus).
Die Einleitung eines Datenanrufs während dem Zustand IDLE 300 bewirkt,
dass der Zustand des Kommunikationsmanagers in den Zustand DATA
MODE 310 (Datenmodus) wechselt.
-
In
dem Zustand VOICE MODE 320 (Sprachmodus) ist die logische
Sprach-Modemkomponente des
Kommunikationsmanagers aktiv und Sprachinformationen werden zu dem
physikalischen Anschluss kommuniziert. Wenn in dem Zustand VOICE MODE 320 (Sprachmodus)
ein Datenanruf aufgebaut wird, wechselt der Zustand des Kommunikationsmanagers
in den Zustand DSVD 340 (gleichzeitige Kommunikation von
Sprache und Daten). Die Einleitung eines Videoanrufs in dem Zustand
VOICE MODE 320 (Sprachmodus) bewirkt einen Wechsel des
Zustands des Kommunikationsmanagers in den Zustand VOICE+VIDEO 360 (Sprache+Video). Wenn
ein Sprachanruf in dem Zustand VOICE MODE 320 (Sprachmodus)
beendet wird, wechselt der Zustand des Kommunikationsmanagers wieder zurück in den
Zustand IDLE 300 (Ruhezustand).
-
In
dem Zustand VIDEO MODE 330 (Videomodus) ist die logische
Video-Modemkomponente des
Kommunikationsmanagers aktiv, und Videoinformationen werden zu dem
physikalischen Anschluss kommuniziert. Wenn ein Datenanruf aufgebaut
wird, wechselt der Zustand des Kommunikationsmanagers in den Zustand
DATA+VIDEO 350 (Daten+Video). Die Einleitung eines Datenanrufs
in dem Zustand VIDEO MODE 330 (Videomodus) bewirkt, dass
der Zustand des Kommunikationsmanagers in den Zustand DATA+VIDEO 350 (Daten+Video)
wechselt. Wenn der Videoanruf in dem Zustand VIDEO MODE 330 (Videomodus)
beendet wird; wechselt der Zustand des Kommunikationsmanagers wieder
in den Zustand IDLE 300 (Ruhezustand).
-
In
dem Zustand DATA MODE 310 (Datenmodus) ist die logische
Daten-Modemkomponente des Kommunikationsmanagers aktiv und Dateninformationen
werden zu dem physikalischen Anschluss übertragen. Wenn in dem Zustand
DATA MODE 310 (Datenmodus) ein Sprachanruf aufgebaut wird, ändert sich
der Zustand des Kommunikationsmanagers in den Zustand DSVD 340.
Das Einleiten eines Videoanrufs in dem Zustand DATA MODE 310 (Datenmodus)
bewirkt, dass der Zustand des Kommunikationsmanagers in den Zustand
DATA+VIDEO 350 (Daten+Video) wechselt. Wenn der Datenanruf
in dem Zustand DATA MODE 310 (Datenmodus) beendet wird,
wechselt der Zustand des Kommunikationsmanagers wieder in den Zustand
IDLE 300 (Ruhezustand).
-
In
dem Zustand DSVD 340 arbeiten das logische Sprach-Modem
und das logische Daten-Modem
in dem Kommunikationsmanager zusammen, um gleichzeitig Sprach- und
Dateninformationen an den physikalischen Anschluss zu übertragen.
Die Zusammenarbeit kann jede im Fach allgemein bekannte Form annehmen,
einschließlich
der Zusammenarbeit gemäß dem Standard
ITU V.70 DSVD. Wenn in dem Zustand DSVD ein Videoanruf aufgebaut
wird, wechselt der Zustand des Kommunikationsmanagers in den Zustand
VOICE+DATA+VIDEO 370 (Sprache+Daten+Video). Wenn der Datenanruf
in dem Zustand DSVD 340 beendet wird, wechselt der Zustand des
Kommunikationsmanagers zurück
in den Zustand VOICE MODE 320 (Sprachmodus). Wenn der Sprachanruf
in dem Zustand DSVD beendet wird, wechselt der Zustand des Kommunikationsmanagers zurück in den
Zustand DATA MODE 310 (Datenmodus).
-
In
dem Zustand DATA+VIDEO 350 (Daten+Video) arbeiten die Komponenten
des logischen Daten-Modems und des logischen Video-Modems des Kommunikationsmanagers
so zusammen, dass gleichzeitig Daten- und Videoinformationen zu
dem physikalischen Anschluss übertragen
werden. Die Zusammenarbeit kann jede im Fach allgemein bekannte
Form annehmen, einschließlich
der Zusammenarbeit gemäß dem Telekonferenzstandard
ITU H.324. Wenn ein Sprachanruf in dem Zustand DATA+VIDEO 350 (Daten+Video)
aufgebaut wird, wechselt der Zustand des Kommunikationsmanagers in
den Zustand VOICE+DATA+VIDEO 370 (Sprache+Daten+Video).
Wenn der Videoanruf in dem Zustand DATA+VIDEO (Daten+Video) beendet
wird, wechselt der Zustand des Kommunikationsmanagers zurück in den
Zustand DATA MODE 310 (Datenmodus). Wenn der Datenanruf
in dem Zustand DATA+VIDEO (Daten+Video) beendet wird, wechselt der Zustand
des Kommunikationsmanagers zurück in
den Zustand VIDEO MODE 330 (Videomodus).
-
In
dem Zustand VOICE+VIDEO (Sprache+Video) arbeiten das logische Sprach-Modem und
das logische Video-Modem in dem Kommunikationsmanager so zusammen,
dass sie gleichzeitig Sprach- und Videoinformationen zu dem physikalischen
Anschluss übertragen.
Die Zusammenarbeit kann jede im Fach allgemein bekannte Form annehmen,
einschließlich
der Zusammenarbeit gemäß dem Telekonferenzstandard
ITU H.324. Wenn ein Datenanruf in dem Zustand VOICE+VIDEO (Sprache+Video)
aufgebaut wird, wechselt der Zustand des Kommunikationsmanagers
in den Zustand VOICE+DATA+VIDEO 370 (Sprache+Daten+Video). Wenn
der Videoanruf in dem Zustand VOICE+VIDEO (Sprache+Video) beendet
wird, wechselt der Zustand des Kommunikationsmanagers zurück in den
Zustand VOICE MODE (Sprachmodus) 320. Wenn der Sprachanruf
in dem Zustand VOICE+VIDEO (Sprache+Video) beendet wird, wechselt
der Zustand des Kommunikationsmanagers zurück in den Zustand VIDEO MODE 330 (Videomodus).
-
In
dem Zustand VOICE+DATA+VIDEO (Sprache+Daten+Video) arbeiten die
Komponenten der logischen Sprach-, Daten- und Video-Modems des Kommunikationsmanagers
so zusammen, dass die gleichzeitige Kommunikation von Sprache, Daten und
Video an den physikalischen Anschluss ermöglicht wird (eine Videokonferenz).
Die Zusammenarbeit kann jede im Fach allgemein bekannte Form annehmen,
einschließlich
der Zusammenarbeit gemäß dem Telekonferenzstandard
ITU H.324. Wenn der Videoanruf beendet wird, wechselt der Zustand
des Kommunikationsmanagers in den Zustand DSVD 340. Wenn
der Datenanruf beendet wird, wechselt der Zustand des Kommunikationsmanagers
zurück in
den Zustand VOICE+VIDEO 360 (Sprache+Video). Wenn der Sprachanruf
beendet wird, wechselt der Zustand des Kommunikationsmanagers zurück in den
Zustand DATA+VIDEO 350 (Daten+Video).
-
Zusammengefasst
stellt die vorliegende Erfindung Verbesserungen gegenüber traditionellen gleichzeitig
arbeitenden bzw. simultanen Sprach-/Daten-Modems (und Sprach-Daten-Video-Modems) bereit, indem
1) ein Großteil
der erforderlichen Hardware-Komplexität zum Ermöglichen der gleichzeitigen
Kommunikation von Sprache, Daten und Video in der Modem-Hardware
eliminiert und in Software in dem Computersystem implementiert wird;
und 2) Kompatibilität
mit bereits bestehenden Modemtreibern bereitgestellt wird, die häufig die
Fähigkeiten
bzw. Funktionen von Modems mit simultanen Fähigkeiten nicht erkennen. Die
Kosten für
die Modem-Hardware werden reduziert, da ein Großteil der teuren, komplizierten
Funktionalität,
die der Kommunikation von Sprache, Daten und Video zugeordnet ist,
in Software in dem Computersystem implementiert wird anstatt der
Verwendung spezieller Schaltkreise in der Modem-Hardware.
-
Die
vorliegende Erfindung wurde zwar in Bezug auf ein besonderes Ausführungsbeispiel
dargestellt, wobei dies nicht als Einschränkung auszulegen ist. Vielmehr
ist die vorliegende Erfindung ausschließlich durch den Umfang der
anhängigen
Ansprüche
beschränkt.