DE69634950T2 - Identifizierung von anwendungsfähigkeiten für telekonferenzverbindungen - Google Patents

Identifizierung von anwendungsfähigkeiten für telekonferenzverbindungen Download PDF

Info

Publication number
DE69634950T2
DE69634950T2 DE69634950T DE69634950T DE69634950T2 DE 69634950 T2 DE69634950 T2 DE 69634950T2 DE 69634950 T DE69634950 T DE 69634950T DE 69634950 T DE69634950 T DE 69634950T DE 69634950 T2 DE69634950 T2 DE 69634950T2
Authority
DE
Germany
Prior art keywords
endpoint
message
conference
communication
endpoints
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE69634950T
Other languages
English (en)
Other versions
DE69634950D1 (de
Inventor
G. Guy RIDDLE
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Apple Inc
Original Assignee
Apple Computer Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Apple Computer Inc filed Critical Apple Computer Inc
Publication of DE69634950D1 publication Critical patent/DE69634950D1/de
Application granted granted Critical
Publication of DE69634950T2 publication Critical patent/DE69634950T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/141Systems for two-way working between two video terminals, e.g. videophone
    • H04N7/147Communication arrangements, e.g. identifying the communication as a video-communication, intermediate storage of the signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1813Arrangements for providing special services to substations for broadcast or conference, e.g. multicast for computer conferences, e.g. chat rooms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1813Arrangements for providing special services to substations for broadcast or conference, e.g. multicast for computer conferences, e.g. chat rooms
    • H04L12/1818Conference organisation arrangements, e.g. handling schedules, setting up parameters needed by nodes to attend a conference, booking network resources, notifying involved parties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1813Arrangements for providing special services to substations for broadcast or conference, e.g. multicast for computer conferences, e.g. chat rooms
    • H04L12/1827Network arrangements for conference optimisation or adaptation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1069Session establishment or de-establishment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1101Session protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • H04L65/403Arrangements for multi-party communication, e.g. for conferences
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/56Arrangements for connecting several subscribers to a common circuit, i.e. affording conference facilities
    • H04M3/567Multimedia conference systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/15Conference systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1863Arrangements for providing special services to substations for broadcast or conference, e.g. multicast comprising mechanisms for improved reliability, e.g. status reports
    • H04L12/1877Measures taken prior to transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/06Message adaptation to terminal or network requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/24Negotiation of communication capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M7/00Arrangements for interconnection between switching centres
    • H04M7/006Networks other than PSTN/ISDN providing telephone service, e.g. Voice over Internet Protocol (VoIP), including next generation networks with a packet-switched transport layer
    • H04M7/0072Speech codec negotiation

Description

  • HINTERGRUND DER ERFINDUNG
  • 1. Gebiet der Erfindung
  • Die vorliegende Erfindung bezieht sich auf Telekonferenzsysteme. Insbesondere bezieht sich die vorliegende Erfindung auf ein Nachrichtenaustauschprotokoll und -Verfahren zur Kennzeichnung der Leistungsmöglichkeiten einer Anwendung für Telekonferenzverbindungen.
  • 2. Hintergrundinformationen
  • Die Durchführung von Telekonferenzen wird zunehmend eine weit verbreitete Anwendung in Personalcomputersystemen. Üblicherweise ermöglichen derartige Anwendungen die Übertragung von Audio- und Videodaten zwischen den Anwendern, so dass sie miteinander sprechen und anderweitig kommunizieren können. Derartige Anwendungen umfassen gelegentlich auch eine gemeinsame Nutzung von Daten. Dabei können verschiedene Arten von Daten, wie zum Beispiel Dokumente, Tabellenkalkulationen, graphische Daten oder andere Arten von Daten, von allen Teilnehmern der Telekonferenz gemeinsam benutzt und bearbeitet werden. Verschiedene, sich möglicherweise auf verschiedenen Hardwareplattformen befindende Telekonferenzanwendungen weisen verschiedene Leistungsmöglichkeiten auf. Darüber hinaus wurde eine große Vielfalt von Leistungsmerkmalen in verschiedenen Telekonferenzanwendungen ausgeführt und die Verbreitung verschiedener Arten von Computersystemen mit unterschiedlichen Leistungen und verschiedenen Netzwerkmedien hat schwierige Aufgabenstellungen für die Durchführung von Telekonferenzen bewirkt.
  • Für die meisten Telekonferenzanwendungen wird zum Beispiel angenommen, dass der Sender und der Empfänger bestimmte minimale Leistungsmöglichkeiten aufweisen. Durch die große Mannigfaltigkeit von Systemen, die unterschiedliche Rechenleistungen aufweisen, und zusätzlich durch die große Vielfalt von Netzwerkmedien, können jedoch diese bestimmten Systeme bestimmte Leistungsmöglichkeiten nicht aufweisen. Das erste System kann zum Beispiel eine mit einem Hochleistungskommunikationsmedium gekoppelte sehr leistungsfähige Workstation sein. wohingegen ein zweites System einen Prozessor einer früheren Generation einsetzen, bei einer wesentlich geringeren Taktrate arbeiten und/oder mit einem Kommunikationsmedium geringerer Leistung gekoppelt sein kann. In bestimmten Netzwerkmedien können bestimmte Netzwerkleistungsfähigkeiten nicht vorhanden sein, wie zum Beispiel Multicast [Gruppenruf, Mehrpunktverbindung] oder andere Optimierungsleistungsmerkmale. Folglich können zur Funktion einiger Telekonferenzanwendungen die Teilnehmer der Konferenz nur bei der schnellstmöglichen Konfiguration arbeiten, die durch irgendein, möglicherweise an der Telekonferenz teilnehmendes, minimales System bereitgestellt wird. Dies führt natürlich zu bestimmten Ineffizienzen, insbesondere wenn zwei der Teilnehmer zur Übertragung mit einer höheren Leistung als das System mit der geringstmöglichen Leistungsmöglichkeit imstande sind.
  • Ein weiteres Problem von Telekonferenzanwendungen ist die Fähigkeit bestimmter Stationen an mehr als einer Telekonferenz teilzunehmen. Tatsächlich kann unter bestimmten Umständen die Zusammenführung mehrerer einzelner Konferenzen durch einen Anwender entsprechend den Betriebsverhältnissen gewünscht sein. Auf Grund der verteilten Beschaffenheit bestimmter Netzwerke können sich während dieser Zusammenführungsoperation bestimmte Verhältnisse ändern. Das bedeutet, während eine einzelne Station mehr als eine Konferenz, an der sie teilnimmt, zusammenführt, können sich bei einer zweiten Station an einem entfernten Standort weitere Betriebsverhältnisse ändern (z.B. verlassen, betreten Teilnehmer eine laufende Konferenz oder schließen sich dieser anderweitig an). Folglich wird die Verwaltung derartiger Zusammenführungsoperationen unangemessen aufwendig.
  • Ein weiterer Mangel bestimmter Telekonferenzanwendungen des Standes der Technik ist die Fähigkeit der Zuordnung unabhängiger Datenströme zu einer laufenden Telekonferenz. Ein Absenderteilnehmer kann zum Beispiel die Bereitstellung eines zusätzlichen Datenstromes an andere Teilnehmer in einer Telekonferenz wünschen. Diese zusätzliche Quelle kann Video, Daten, Audio oder irgendeine andere, dem Absenderteilnehmer zur Verfügungen stehende Art von Daten umfassen, ist aber nicht auf diese begrenzt. Eine derartige zusätzliche Quelle kann zum Beispiel andere Audioinformationen für einen Empfänger umfassen. Es kann auch die Zuordnung anderer Arten von Daten zu einer laufenden Telekonferenz wünschenswert sein, die einem anderen Teilnehmer der Telekonferenz zugänglich sein kann. Bestimmten Telekonferenzanwendungen des Standes der Technik fehlen diese Fähigkeiten.
  • Ein Beispiel einer Anordnung des Standes der Technik ist in EP 0 279 232 (IBM) offenbart.
  • ZUSAMMENFASSUNG
  • Gemäß der vorliegenden Erfindung wird ein Verfahren zum Aufbau einer Kommunikation zwischen zwei Endpunkten bereitgestellt, wobei das Verfahren umfasst:
    dass ein erster Endpunkt einem zweiten Endpunkt mittels einer ersten Nachricht Kommunikationsleistungsmöglichkeiten bezeichnet;
    wobei das Verfahren durch die Schritte gekennzeichnet ist:
    dass der erste Endpunkt den zweiten Endpunkt mittels einer zweiten Nachricht über den Verbindungswunsch benachrichtigt, wobei die zweite Nachricht einen Zeitablauf- bzw. Zeitüberschreitungswert enthält;
    dass der zweite Endpunkt den Zeitüberschreitungswert in der zweiten Nachricht prüft und den ersten Endpunkt mittels einer dritten Nachricht über eine Verbindungsbestätigung benachrichtigt; und
    dass der erste und der zweite Endpunkt entsprechend den Kommunikationsleistungsmöglichkeiten eine Kommunikation aufbauen.
  • Gemäß der vorliegenden Erfindung wird ebenfalls ein erster Endpunkt zur Kommunikation mit einem oder mehreren Endpunkten bereitgestellt, wobei der erste Endpunkt gekennzeichnet ist durch:
    Mittel zum Senden wenigstens einer Nachricht an einen zweiten Endpunkt zum Anzeigen eines Verbindungswunsches, wobei diese wenigstens eine Nachricht umfasst:
    Kommunikationsleistungsmöglichkeiten des ersten Endpunktes und
    einen Zeitüberschreitungswert, gemäß welchem der zweite Endpunkt antworten soll; und
    Mittel zum Empfangen einer von dem zweiten Endpunkt gesendeten Verbindungsbestätigungsnachricht.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • Die vorliegende Erfindung wird als Beispiel und nicht als Begrenzung in den Fig. der beigefügten Zeichnungen veranschaulicht, in denen gleiche Bezugszeichen gleiche Elemente anzeigen und in denen:
  • 1 eine beispielhafte Konfiguration veranschaulicht, in der verschiedene Ausführungsbeispiele der vorliegenden Erfindung ausgeführt werden können.
  • 2 zeigt eine typische Telekonferenzanzeige, die während des Verlaufs der Telekonferenz sowohl Medien- als auch Nichtmedienquellen anzeigt.
  • 3 zeigt ein einzelnes System, in dem Ausführungsbeispiele der vorliegenden Erfindung ausgeführt werden können.
  • 4 zeigt eine beispielhafte Architektur eines Systems, das verschiedene Ausführungsbeispiele der vorliegenden Erfindung einsetzt.
  • 5 zeigt eine detailliertere Ansicht der in 4 veranschaulichten Konferenzkomponente.
  • 6 zeigt eine Folge typischer Konferenzereignisse in einer Konferenzkomponente, die an eine Anwendung ausgegeben werden.
  • 7 zeigt eine typische Folge von für eine Teilnehmerinitialisierung in der Konferenzkomponente ausgeführten Schritten.
  • 810 zeigen einen typischen Austausch von Nachrichten für verschiedene Operationen.
  • 11 zeigt ein Detail eines ersten Endpunktes, der eine Telekonferenz aufbaut.
  • 12 zeigt eine Folge von in einem zweiten Endpunkt ausgeführten Schritten, der während des Aufbaus der Telekonferenz vom ersten Endpunkt gesendete Nachrichten empfängt.
  • 1325 zeigen Details der zwischen den Endpunkten während verschiedener Telekonferenzanwendungen übertragenen Nachrichten.
  • 26a26b zeigen die zur Ausführung der Zusammenführungsoperationen unternommenen Schritte.
  • 27a und 27b zeigen die Konferenzen vor und nach der Zusammenführungsoperation zwischen Telekonferenzen.
  • 28a–b zeigen die von der Konferenzkomponente während einer Zusammenführungsoperation ausgeführte Folge von Schritten.
  • 29 zeigt ein Beispiel einer zusammengeführten Konferenztabelle innerhalb eines einzelnen Teilnehmers.
  • 30a30b zeigt eine zur Konvertierung von Punkt-zu-Punkt-Verbindungen in Multicast-Verbindungen für eine Telekonferenz ausgeführte Folge von Schritten.
  • 31 und 32 zeigen das Hinzufügen einer zusätzlichen Quelle und die Nachrichten während des Hinzufügens der Quelle zu einer bestehenden Telekonferenz.
  • 3334 zeigen die Details einer innerhalb eines Teilnehmers für das Hinzufügen einer zusätzlichen Quelle ausgeführten Folge von Schritten.
  • 35a35b zeigen eine beispielhafte Folge von zwischen einem ersten Endpunkt und einer Mehrzahl von anderen Endpunkten in einem Netzwerksystem gesendeten Nachrichten und zeigen verschiedene, dazwischen übertragene Nachrichten.
  • DETAILLIERTE BESCHREIBUNG
  • Die vorliegende Erfindung bezieht sich auf Netzwerksysteme. Insbesondere beschreibt die vorliegende Erfindung ein Nachrichtenaustauschprotokoll zum Aufbau und zur Aufrechterhaltung von Telekonferenzverbindungen zwischen einer Mehrzahl von Teilnehmern in einem Netzwerksystem. Anwendungen dafür umfassen das Übertragen von Anwendungs- und/oder Systemleistungsmöglichkeiten zwischen Teilnehmern oder potentiellen Teilnehmern einer Telekonferenz, das Benachrichtigen der Teilnehmer einer Telekonferenz, dass mehr als eine Telekonferenz zusammengeführt werden soll und das Hinzufügen eines zusätzlichen Datenstromes zu einer laufenden Telekonferenz. Obwohl die vorliegende Erfindung mit Bezug auf bestimmte spezifische Aus führungsbeispiele beschrieben werden wird, insbesondere mit Bezug auf bestimmte Hardwarekonfigurationen, Datenstrukturen, Pakete, Verfahrensschritte und andere spezielle Details, sollte dies nicht als Begrenzung der vorliegenden Erfindung betrachtet werden. Durch den Fachmann können verschiedene Modifikationen und anderes vorgenommen werden, ohne vom Umfang der vorliegenden Erfindung abzuweichen.
  • Ein Teil der Offenbarung dieses Patentdokuments enthält Material, das dem Urheberschutz unterliegt. Der Inhaber des Urheberrechts hat keinen Einwand gegen die Faksimilewiedergabe durch irgendjemanden der Patentoffenbarung, wie sie in den Patentakten oder Aufzeichnungen des Patent- und Markenamtes erscheint. Ansonsten aber sind wem auch immer alle Urheberrechte vorbehalten. Das Urheberrecht hat Apple Computer, Inc.
  • Eine typische Systemkonfiguration, in der eine Telekonferenz stattfinden kann, ist in 1 als 100 veranschaulicht. Zum Beispiel kann wie veranschaulicht eine erste Workstation 150 über eine Telekonferenz mit einer zweiten Workstation 155 kommunizieren. Das System 150 kann eine zentrale Verarbeitungseinheit 150c umfassen, die mit einer Anzeige 150d, einer Videoeingabeeinrichtung 150a und einer Schalleingabeeinrichtung 150b gekoppelt ist. Das System 150 kann durch das Netzwerkmedium 170 über ein Netzwerkverbindungsmodul 160 mit dem anderen System 155 kommunizieren. 160 kann irgendeine Anzahl handelsüblicher Netzwerkadapter umfassen, wie zum Beispiel unter Verwendung von Ethernet, Token-Ring oder irgendeinem anderen handelsüblichen Netzwerkstandard. Man beachte, dass der Netzwerkadapter 160 auch einen drahtlosen Netzwerkadapter umfassen kann, der die Übertragung von Daten zwischen den Komponenten ohne ein Medium 170 ermöglicht. Die Kommunikation wird folglich über den mit dem System 155 gekoppelten Netzwerkadapter 165 bereitgestellt. Zwischen beiden Systemen kann eine bidirektionale Kommunikation aufgebaut werden. Das System 150 weist ferner eine Tastatur 150e und eine Zeigereinrichtung 150f auf, wie zum Beispiel eine Maus, einen Trackball oder irgendeine andere Einrichtung, um eine Anwenderauswahl und Anwendereingaben zu ermöglichen.
  • Eine Telekonferenzanzeige ist bei 200 in 2 gezeigt. In den ausgeführten Ausführungsbeispielen der vorliegenden Erfindung gibt es ein Ursprungsfenster [Source-Window], wie zum Beispiel 201, das einen Überwachungsbildschirm der lokalen Medienquelle zeigt. Es gibt andere Medienfenster, wie zum Beispiel 202 oder 203 für jeden anderen Anwender, mit dem ein Teilnehmer kommuniziert. Im veranschaulichten Beispiel stellt jedes der Fenster 201203 Medieninformationen bereit, das heißt Echtzeitaudio- und/oder Videoinformationen zur bidirektionalen Durchführung einer Telekonferenz. In alternativen Ausführungsbeispielen der vorliegenden Erfindung können auch Nichtmedieninformationen, wie zum Beispiel 204, in der Telekonferenzanzeige angezeigt werden. Wie aus der nachstehenden Beschreibung ersichtlich wird, können zusätzlich zu den Medien- und Nichtmedieninformationen auch Nachrichtenaustauschinformationen zwischen den Stationen übertragen werden. Zusätzlich kann bei einer festgelegten Konferenz eine zusätzliche Medienquelle (z.B. Audio- oder Videoinformationen) übertragen werden. Die diesbezüglichen Details werden weiter unten diskutiert werden.
  • In den ausgeführten Ausführungsbeispielen der vorliegenden Erfindung wird ein Mehrzweckcomputersystem zur Ausführung der Telekonferenzanwendungen und der hier zu beschreibenden zugeordneten Prozesse verwendet. Obwohl bestimmte der hier zu beschreibenden Konzepte anhand der Durchführung einer Telekonferenz behandelt werden, ist ersichtlich, dass die Verfahren und zugehörigen Einrichtungen für andere Anwendungen ausgeführt werden können, wie zum Beispiel eine gemeinsame Nutzung von Dateien, eine Echtzeitdatenerfassung oder andere Anwen dungsarten, die Daten von einem ersten Teilnehmer zu einem zweiten Teilnehmer oder eine Gruppe von Teilnehmern senden. Es wird jetzt ein Computersystem beschrieben, wie zum Beispiel das zur Ausführung der Ausführungsbeispiele der vorliegenden Erfindung verwendete.
  • Ein Computersystem, wie zum Beispiel eine Workstation, ein Personalcomputer oder eine andere Verarbeitungseinrichtung 150c oder 155c, wie in 1 gezeigt, ist in 3 detaillierter veranschaulicht. 150c weist einen Bus oder ein anderes Kommunikationsmittel 301 zur Kommunikation von Informationen und ein mit dem Bus 301 gekoppeltes Verarbeitungsmittel 302 zur Verarbeitung von Informationen auf. Das System 150c weist ferner einen Speicher mit wahlfreiem Zugriff (RAM) oder eine andere Einrichtung mit flüchtigem Speicher 304 (als Hauptspeicher bezeichnet) auf, die zur Speicherung von Informationen und von durch den Prozessor 302 auszuführenden Anweisungen mit dem Bus 301 gekoppelt ist. Der Hauptspeicher 304 kann auch zur Speicherung temporärer Variablen oder anderer Zwischeninformationen während der Ausführung von Anweisungen durch den Prozessor 302 verwendet werden. Während der Laufzeit kann im Speicher 304 das Konferenzkomponentenmodul enthalten sein, das gemäß dem nachstehend zu beschreibenden Kommunikationsprotokoll arbeitet. Das System 150c weist auch einen mit dem Bus 301 zur Speicherung statischer Informationen und Anweisungen für den Prozessor 302 gekoppelten Nur-Lese-Speicher (ROM) und/oder eine andere statische Speichereinrichtung 306 und eine Datenspeichereinrichtung 307 auf, wie zum Beispiel eine Magnetplatte oder eine optische Speicherplatte und ihr entsprechendes Plattenlaufwerk. Die Datenspeichereinrichtung 307 ist zur Speicherung von Informationen und Anweisungen mit Bus 301 gekoppelt.
  • Das System 150c kann ferner mit einem mit Bus 301 zur Anzeige von Informationen für einen Computeranwender gekoppel ten Anzeigeeinrichtungsadapter 321 gekoppelt sein, wie zum Beispiel eine Kathodenstrahlröhre (CRT) oder eine Flüssigkristallanzeige (LCD). Eine derartige Anzeige 321 kann ferner für den Empfang von Video- oder Bildinformationen mit dem Bus 301 gekoppelt sein. Eine alphanumerische und andere Tasten umfassende alphanumerische Eingabeeinrichtung 322 kann zur Übermittlung von Informationen und einer Anweisungsauswahl an den Prozessor 302 auch mit Bus 301 gekoppelt sein. Eine zusätzliche Anwendereingabeeinrichtung ist die Cursorsteuerung 323, wie zum Beispiel eine Maus, ein Trackball, ein Stylus [Griffel] oder Cursorrichtungstasten. Sie ist zur Übermittlung von Richtungsinformationen und einer Anweisungsauswahl an den Prozessor 302 und zur Steuerung von Cursorbewegungen auf der Anzeige 321 mit dem Bus 301 gekoppelt. Für Telekonferenzanwendungen kann das System 150c auch eine mit sich gekoppelte Schallausgabeeinrichtung 324, eine Videoeingabeeinrichtung 325 und eine Schalleingabeeinrichtung 326 zusammen mit den zugehörigen D/A(Digital-Analog)- und A/D(Analog-Digital)-Wandlern zur Eingabe oder Ausgabe von Mediensignal-Bitströmen aufweisen. Das System 150c kann ferner mit einer Kommunikationseinrichtung 327 gekoppelt sein, die zur Kommunikation mit anderen Telekonferenzstationen mit dem Netzwerkadapter 160 gekoppelt ist.
  • Man beachte auch, dass irgendeine oder alle Komponenten von System 150c und die zugehörige Hardware in den verschiedenen Ausführungsbeispielen verwendet werden können. Es sollte jedoch verstanden werden, dass irgendeine Konfiguration des Systems für verschiedene Zwecke gemäß der speziellen Ausführung verwendet werden kann.
  • In einem Ausführungsbeispiel ist das System 150c eines aus der Apple Computer® Marken-Familie von Personalcomputern wie zum Beispiel der von Apple Computer, Inc. aus Cupertino, Kalifornien, hergestellte Personalcomputer der Marke Macintosh 8100. Der Prozessor 302 kann einer der von Motorola, Inc. aus Schaumburg, Illinois, hergestellten Mikroprozessoren der Marke PowerPC sein.
  • Man beachte, dass die folgende, hier behandelte Erörterung der verschiedenen Ausführungsbeispiele sich insbesondere auf eine Reihe von Routinen beziehen wird, die in einer höheren Programmiersprache (z.B. die C- oder C++-Programmiersprache) erzeugt und kompiliert, verbunden und dann im System 150c während der Laufzeit als Objektcode im Hauptspeicher 304 durch den Prozessor 302 ausgeführt werden. Der Objektcode kann zum Beispiel durch den von Symantec, Inc. aus Cupertino, Kalifornien, verfügbaren C++-Compiler erzeugt werden.
  • Obwohl ein Mehrzweckcomputersystem beschrieben wurde, sollte jedoch von einem Fachmann verstanden werden, dass die folgenden Verfahren und Einrichtungen in speziellen Hardwareeinrichtungen ausgeführt werden können, wie zum Beispiel diskrete Logikeinrichtungen, integrierte Großschaltungen (LSI's), anwendungsspezifische integrierte Schaltungen (ASIC's) oder andere Spezialhardware. Die Beschreibung weist hier eine gleiche Anwendung für gleichartige Funktionen aufweisende Einrichtungen auf.
  • 4 veranschaulicht eine Mehrzahl von Verfahren und/oder Einrichtungen, die innerhalb des Systems 150c wirksam sein können. Auf der höchsten Schicht, zum Beispiel auf der höchsten Schicht im ISO/OSI-Netzwerkmodell, kommuniziert ein Anwendungsprogramm 401, wie zum Beispiel eine Telekonferenzanwendung, ein Audio-/Videoserver oder ein Datenserver, mit dem Konferenzkomponentenprozess 400 in Form von Anwendungsprogrammschnittstellen(API)-Aufrufen. Die Konferenzkomponente 400 ermöglicht der Anwendung den Aufbau von Kommunikationen zwischen zwei oder mehr Telekonferenzstationen. Zwischen dem ersten Teilnehmersystem und einem zweiten Teilnehmersystem können Steuerinformationen und Medieninformationen übertragen werden. Die Konferenzkomponente wird in 5 detaillierter gezeigt werden. Die Konferenzkomponente 400 kommuniziert mit der Transportkomponente 402 durch das Senden von MovieTalk-Nachrichten für andere Telekonferenzstationen. Diese werden gekapselt und in einer Form angeordnet, die die Transportkomponente 402, die Netzwerkkomponente 403 und die Systemnetzwerkkomponente 404 paketieren und über das Netzwerkmedium 170 übertragen können. Für die weitere Offenbarung werden bestimmte MovieTalk-API-Aufrufe und zwischen den Konferenzkomponenten in einem Telekonferenzsystem übertragene MovieTalk-Nachrichten detaillierter beschrieben werden.
  • Die Transportkomponente 402 und die Netzwerkkomponente 403 stellen die notwendigen Operationen zur Kommunikation über die jeweilige Art des Netzwerkadapters 160 und das Netzwerkmedium 170 gemäß der Ausführung bereit. Die Netzwerkkomponente 402 kann zum Beispiel die TCP- oder ADSP-Protokolle und -Paketierungen gemäß diesen entsprechenden Standards bereitstellen.
  • Eine detailliertere Ansicht der Konferenzkomponente 400 ist in 5 gezeigt. Speziell ist die Konferenzkomponente 400 in zwei Teilen 400a und 400b gezeigt, die die Eingangs- und Ausgangsteile der Konferenzkomponente zeigen. Obwohl sie als getrennte Sender und Empfänger veranschaulicht sind, weist jede Konferenzkomponente im System beide Leistungsmöglichkeiten auf, so dass eine vollständig bidirektionale Kommunikation zwischen den Konferenzkomponenten in den entsprechenden Teilnehmertelekonferenzsystemen in einem Netzwerk miteinander stattfinden kann. Wie veranschaulicht, empfängt der Eingabeteil der Konferenzkomponente 400a über die Medieneingabekanäle 510 und 520 Video- und Schallinformationen. Die Videokanalkomponente und die Schallkanalkomponente 504 präsentieren dem Sequence Grabber 502 in regelmäßigen Intervallen Mediendaten. Die Echtzeitschall- und -Videodaten (nachfolgend als „Medien daten" bezeichnet) werden von dem Sequence Grabber 502 einem Quellstrom-Director (source stream director) 500 bereitgestellt, der die Mediennachrichten dann der Transportkomponente 402 bereitstellt. Die Ablaufsteuereinrichtung 501 lässt dann die Video- und Schalldaten mit einer ausführungsabhängigen Häufigkeit durchlaufen. Die Videokanalkomponente 503, die Schallkanalkomponente 504 und der Sequence Grabber 502 sind alle unter Verwendung von Produkten des Standes der Technik ausgeführt, wie zum Beispiel den handelsüblichen (z.B. der von Apple Computer, Inc. aus Cupertino, Kalifornien, erhältliche QuickTime-Videokanal, den Schallkanalkomponenten und den Sequence Grabbern). Die Ablaufsteuereinrichtung 501 kann unter Verwendung bekannter, handelsüblicher Ablaufsteuereinrichtungen und/oder Verfahren ausgeführt werden, wie zum Beispiel diejenigen, die den Ablauf basierend auf der Bandbreite und anderer Beschränkungen im Absenderteilnehmersystem regeln. Die Konferenzkomponente weist ferner einen Senkenstrom-Director (sink stream director) 510 auf, der einen Teil der Komponente 400b der Konferenzkomponente zum Empfang von Mediendaten von der Transportkomponente 402 aufweist. Eine entsprechende Ablaufsteuereinrichtung 511, die Video- und Schallstrom-Wiedergabeeinrichtungen 512 und 513 und der Kompressions- und Schallmanager 514 und 515 für die Ausgabe der Videoströme 530 und 540 bilden auch einen Teil der Konferenzkomponente für vollständig bidirektionale Konferenzleistungsmöglichkeiten.
  • Die Hauptfunktion einer Konferenzkomponente ist der Aufbau und die Aufrechterhaltung einer bidirektionalen Verbindung zwischen allen Konferenzteilnehmern. Die Konferenzanwendungen verwenden zum Austausch von für die Konferenz relevanten Steuerdaten einen vorab aufgebauten Steuerkanal. Diese Daten können Anwenderidentifizierungsinformationen oder andere, den Betrieb der Anwendung betreffende Informationen umfassen. Die Konferenzanwendungen (z.B. 401) definieren durch den Aufbau ihrer eigenen Steuerprotokolle das Format und den Inhalt dieser Steuernachrichten. Ferner baut die Konferenzkomponente unter Verwendung der zu Grunde liegenden Transportkomponente 402 Kommunikationskanäle zwischen einem ersten Endpunkt und einem zweiten Endpunkt auf. Auf diese Weise verwendet die Konferenzkomponente den zur Übertragung von Medien- und Nichtmedieninformationen bereitgestellten Medienkanal der Transportkomponente 402, sobald ein Medienkanal aufgebaut wurde. Für den Rest dieser Anmeldung wird jedoch der Fokus auf dem Aufbau der Kommunikation zwischen einem ersten und einem zweiten Teilnehmer (als Endpunkte bezeichnet) oder einer Gruppe von Teilnehmern, die an einer Telekonferenz teilnehmen können, liegen.
  • ANWENDUNGSPROGRAMMSCHNITTSTELLE (API)
  • Das Anwendungsprogramm 401 steuert durch die Ausgabe von MovieTalk-Anwendungs-API-Aufrufen die Konferenzkomponente 400. Die Konferenzkomponente arbeitet unter Verwendung eines ereignisorientierten Modells, in dem Anwendungs-relevante Ereignisse an das Anwendungsprogramm ausgegeben werden. Das Anwendungsprogramm kann dann entweder durch eine innere Modifizierung der internen Datenstrukturen (Erzeugung einer Quelle oder Senke) und/oder eine Ausgabe geeigneter Nachrichten über das Netzwerk an andere verbundene Teilnehmer oder potentielle Teilnehmer eine geeignete Maßnahme ergreifen. Gemäß den von der Konferenzkomponente empfangenen Nachrichten, einem momentanen Kontext und den API-Aufrufen der Anwendung kann die Konferenzkomponente eine geeignete Maßnahme ergreifen. Ein vollständiges, die API für die Konferenzkomponente behandelndes Dokument ist in der Anlage als Anhang A beigefügt.
  • Eine typische Folge von Ereignissen, die nach dem Aufbau einer Telekonferenz durch die Konferenzkomponente in einer Anwendung auftreten, ist in 6 als 600 veranschaulicht. Zum Beispiel wird bei einem anfänglichen Wunsch einer Anwendung einer Konferenz beizutreten (ausgedrückt durch einen API-Aufruf) oder einem Anruf von einem anderen Teilnehmer ein Konferenz-Bereit-Ereignis 601 erzeugt. Die Anwendung erzeugt dann in der Konferenzkomponente (z.B. Teilnehmer A) eine Medienquelle, die die Konferenzinformationen bereitstellt. Im Anschluss daran können in Schritt 610 auch irgendwelche zusätzlichen Medienquellen als zweite Medienquelle an die Hauptkonferenz angeschlossen werden. Dann wird durch den Empfang von Teilnehmer-Bereit[MemberReady]-Ereignissen (z.B. 602 und 603 von 6) die Bereitschaft irgendwelcher neuen Konferenzteilnehmer erkannt. Dies baut die Mediensenken auf, wie zum Beispiel die in 6 veranschaulichten b und c. Während der Telekonferenzsitzung kann dann eine Vielfalt anderer Ereignisse 604 ausgegeben und von der Konferenzkomponente befolgt werden. Diese können Nachrichtenereignisse, Betriebsartereignisse, Ereignisse eingehender Anrufe, Datenübertragungsereignisse etc. umfassen. Die die Konferenz verlassenden Teilnehmer führen zur Ausgabe von Teilnehmer-Beendet[MemberTerminated]-Ereignissen an das Anwendungsprogramm, wie zum Beispiel 605 oder 606. Folglich gibt es für jedes Teilnehmer-Bereit-Ereignis für jeden an der Konferenz teilnehmenden Teilnehmer ein entsprechendes Teilnehmer-Beendet-Ereignis vor dem Ende der Konferenz. Zusätzlich werden die zusätzliche Quelle und die Konferenz selbst über das Zusatz-Beendet[Auxiliary Terminated]-Ereignis 611 und das Konferenz-Beendet-Ereignis 607 beendet, wie in 600 von 6 veranschaulicht. Dies benachrichtigt die Anwendung, dass die Konferenz beendet ist und die Telekonferenzdaten nicht länger übertragen werden sollten. Irgendwelche zusätzlichen Aufräumungsoperationen werden dann von der Anwendung ausgeführt und die Quelle kann entfernt werden.
  • Die Initialisierung einer typischen Anwendung ist als Verfahren 700 von 7 gezeigt. Das Anwendungsprogramm führt eine Reihe von API-Aufrufen aus, um verschiedene, dem Teilnehmer oder potentiellen Teilnehmer zugeordnete Parameter einzustellen. Zuerst kann eine Anwendung in Schritt 702 die Konferenzkomponente zum Einstellen ihrer Leistungsmöglichkeit veranlassen, wenn sie sich von der Standardeinstellung unterscheidet. Der Aufruf an „MTConferenceSetMessageCapabilities" [MTKonferenzEinstellungNachrichtLeistungsmöglichkeiten] veranlasst die Konferenzkomponente, aus einem Speicher die speziellen Anwendungsleistungsmöglichkeiten in die Konferenzkomponente für die spezielle Konferenz abzurufen. Diese werden später während der Übertragung von Nachrichten zur Warnung der Empfänger verwendet, dass die Senderanwendung bestimmte funktionale Leistungsmöglichkeiten vor dem Aufbau einer Verbindung zwischen dem Sender und dem Empfänger aufweist. Jeder Leistungsmöglichkeit ist ein Typ, eine Version und ein „Wunsch" der Leistungsmöglichkeit zugeordnet. Jeder Wunsch für jeden Leistungsmöglichkeitstyp kann markiert sein als:
    • 1. optional;
    • 2. gewünscht;
    • 3. erforderlich; oder
    • 4. eine Verhandlungsnachricht.
  • Diese Arten von Leistungsmöglichkeiten sind in einer Liste der Leistungsmöglichkeiten enthalten, die wie nachstehend beschrieben werden wird, zu den Endpunkten übertragen wird. Eine „optionale" Leistungsmöglichkeit ist eine Nachricht, deren Austausch vor der Einrichtung einer Konferenz nicht erforderlich ist. Eine „gewünschte" Leistungsmöglichkeit ist eine, deren Austausch vor der Einrichtung einer Konferenz nicht erforderlich ist, sie wird jedoch bevorzugt. Eine „erforderliche" Leistungsmöglichkeit ist eine, die den Austausch einer Nachricht vor der Einrichtung einer Konferenz erfordert. Dies kann eine Zugriffssteuerung oder andere, vor der Einrichtung einer Konferenz übertragene Nachrichten umfassen. Eine Zugriffssteuerungsleistungsmöglichkeit kann die Übertragung einer Kontonummer und eines Passwortes vor dem Beginn einer Telekonferenz umfassen. Eine „verhandelte Nachricht" ist eine Leistungsmöglichkeit, die anzeigt, dass die Anwendung eine Abfrage der empfangenden Anwendung unter der Verwendung von Nachrichten wünscht. Im Fall einer verhandelten Nachrichtenleistungsmöglichkeit ermöglicht das der Leistungsmöglichkeit zugeordnete Typenfeld die Anforderungen von Informationen über die Anwendungen vor dem Aufbau einer Konferenz. Irgendwelche anderen, verhandelte Informationen zwischen den Anwendungen erfordernden Austauscharten können eingestellt werden.
  • Sobald in Schritt 702 alle einzelnen Leistungsmöglichkeiten durch die Ausgabe von „Einstellung Leistungsmöglichkeiten"-API-Aufrufen an die Konferenzkomponente eingestellt wurden, kann ein Teilnehmer in Schritt 704 seine Betriebsart einstellen. Die Betriebsart wird im Betriebsartmaskenwert enthalten sein, der im API-Aufruf zur Konferenzkomponente gesendet wird. Darüber hinaus ist er in bestimmten, von der Konferenzkomponente im Sender zur Konferenzkomponente im Empfänger übertragenen Nachrichten enthalten. Die Betriebsartmaske spezifiziert die Eigenschaften einer Konferenz, die der Teilnehmer zur Verfügung stellt. Verschiedene Leistungsmöglichkeiten, Betriebsarten und andere, in 7 gezeigte Initialisierungswerte können für eine beliebige Anzahl von durch den Teilnehmer zur Verfügung gestellte Konferenzarten eingestellt werden. Auf jeden Fall umfasst die Standardbetriebsart die folgenden Werte:
    • 1. Sende Medien;
    • 2. Empfange Medien;
    • 3. Gemeinsam nutzbar; und
    • 4. Verbinder [Joiner];
  • Das „Sende Medien"-Betriebsartflag zeigt an, das der Teilnehmer in seinen Konferenzen die Sendung von Mediendaten beabsichtigt. Die meisten Teilnehmer werden Medien senden wollen. Es wird jedoch Umstände geben, in denen der Teilnehmer ein nur empfangender Teilnehmer sein wird. Folglich wird das Sende-Medien-Betriebsartflag nicht gesetzt sein. Das Empfange-Medien-Betriebsartflag zeigt an, dass der Teilnehmer in Konferenzen den Empfang von Medien beabsichtigt. Im Fall eines nur sendenden Teilnehmers (z.B. ein eine Echtzeitvideo- und/oder eine Audioquelle bereitstellender Server) wird das Empfange-Medien-Betriebsartflag auf „aus" (z.B. ein numerischer Wert ,0') gesetzt sein. Das „Gemeinsam Nutzbar"-Betriebsartflag zeigt an, dass der Teilnehmer zur gemeinsamen Nutzung der Konferenzdaten mit neuen Konferenzteilnehmern bereit ist. Folglich wird im Fall eines nur sendenden Medienservers das Gemeinsam-Nutzbar-Betriebsartflag gesetzt sein. Dies zeigt an, dass neue Teilnehmer die Konferenzdaten empfangen können.
  • Das „Verbinder"-Betriebsartflag zeigt an, dass allen Konferenzteilnehmern ein Interagieren möglich ist. Dies würde eine Zweiwegeübertragung zwischen allen Konferenzteilnehmern ermöglichen. Das Setzen dieses Flags auf „aus" (z.B. ein numerischer Wert ,0') führt jedoch zu Konferenzen vom Broadcast- bzw. Rundsendetyp, in denen ein Teilnehmer Mediendaten an andere Konferenzteilnehmern sendet, aber die einzelnen Konferenzteilnehmer nicht irgendwelche Mediendaten untereinander austauschen. Jedes dieser Betriebsartflags wird zu Beginn einer Verbindung (z.B. in der „Hallo"-Nachricht 1400 in 14 enthalten) übertragen.
  • Standardmäßig baut die Konferenzkomponente Konferenzen auf, die vollständig Zweiwege-mediendatenfähig, gemeinsam nutzbar und verbindbar sind. Wenn andere Eigenschaften gewünscht sind, muss die Anwendung in Schritt 704 zusammen mit den entsprechenden gesetzten Flag(s) „Setze Betriebsart" aufrufen. Die Konferenzbetriebsarteinstellungen werden gespeichert und einer speziellen Konferenz-ID in der Konferenzkomponente des Senders zugeordnet, so dass bei der Erzeugung von Nachrichten für diese Konferenz-ID, die entsprechenden Betriebsartflags zusammen mit der Initialisierung oder mit anderen, vor irgendeiner anderen Kommunikation gesendeten Nachrichten übertragen werden.
  • Zusätzlich zu den Leistungsmöglichkeiten und Betriebsarteinstellungen in Schritt 702 und 704 wird ein den vom Teilnehmer plazierten Anrufen zugeordneter Zeitüberschreitungswert eingestellt. Der Zeitüberschreitungswert wird dann am Anfang bestimmter, einer Konferenz vorausgehender Nachrichten eingefügt, um einem Empfänger zu ermöglichen, festzustellen, wann der Anrufer den Empfang von Antworten anhalten wird. Dies ermöglicht die Einbeziehung bestimmter Leistungsmerkmale in die Konferenzkomponenten der Teilnehmer, wie zum Beispiel die auf dem Kontext basierende, geschickte Auslösung (smart triggering) von Ereignissen. Wenn zum Beispiel der Empfänger einen Anruf empfängt, der Anwender aber zu diesem Zeitpunkt den Anruf nicht zu übernehmen wünscht, weiß die Konferenz des Empfängers, dass die Zeitüberschreitung auftritt und kann eine bestimmte kontextabhängige Maßnahme ergreifen (z.B. den Anruf weiterleiten, eine Nachricht senden etc.).
  • Die Anwendung kann dann einen API-Aufruf „Empfang eines Anrufs" aufrufen, der die Schritte 708 und 710 ausführt. In Schritt 708 wird unter Verwendung des zu Grunde liegenden Transportes, mit dem das System verbunden ist, eine Adresse der höheren Schicht registriert und veröffentlicht. Dies ermöglicht dann anderen potentiellen Teilnehmern im System den Anruf des Teilnehmers. Die Registrierung und Veröffentlichung der Adresse ist in Abhängigkeit vom Medium, mit dem das System verbunden ist, ausführungsabhängig. In Schritt 710 wartet dann die Konferenzkomponente auf eingehende Anrufe.
  • Die Konferenzkomponente im Teilnehmer tritt in einen Ruhezustand ein, in dem eingehende Nachrichten, Warnungen für die Transportkomponente, API und Anrufe erfasst und danach gehandelt wird. Man beachte, dass alle Leistungsmöglichkeiten und Betriebsartwerte optional sind und die Standardeinstellungen vom Teilnehmer verwendet werden können, wenn von der Anwendung keine dieser Funktionen erforderlich ist. Im Aufruf der Funktion MTConferenceListen [MTKonferenzEmpfangen] muss die Anwendung die Netzwerke spezifizieren, an denen der Teilnehmer zur Annahme von Anrufen bereit ist. Die Konferenzkomponente setzt mit der Registrierung des Teilnehmers an diesen Netzwerken fort, führt das in den verschiedenen Netzwerkkontexten Geeignete aus und sendet ein mtListenerStatus[mtEmpfängerStatus]Ereignis an die Anwendung zur Spezifizierung, ob der Registrierungsversuch erfolgreich war. Wenn eine andere Anwendung den Aufbau einer Kommunikation mit der Anwendung wünscht, nachdem die Empfänger betriebsbereit sind, wird ein mtIncomingCallEvent[mtEingehenderAnrufEreignis] an die Anwendung weitergeleitet.
  • Die 810 zeigen Beispiele der verschiedenen, zwischen zwei Endpunkten ausgetauschten Nachrichten. Die Nachrichten werden in Abhängigkeit vom Betriebskontext und den Anwendungsaufrufen von der Konferenzkomponente 400 erzeugt. 8 zeigt ein Beispiel einer Anruffolge zur Einrichtung einer Konferenz zwischen zwei Endpunkten. Zu Beginn eines Anrufes von einem ersten Endpunkt, wie zum Beispiel der in 8 gezeigte 810, und einem zweiten Endpunkt, wie zum Beispiel der in 8 gezeigte 820, wird eine „Leistungsmöglichkeiten"-Nachricht 802 vom Endpunkt 810 zum Endpunkt 820 übertragen, wenn sie vom Anrufer eingestellt wurden. Der Austausch der „Leistungsmöglichkeiten"-Nachrichten 802 und 812 zwischen dem Endpunkt 1 810 und dem Endpunkt 2 820 erfolgt, nachdem auf dem Übertragungsmedium zwischen den Teilnehmern ein Steuerkanal in einer ausführungsabhängigen Art und Weise eröffnet wurde. Dies kennzeichnet die Leistungsmöglichkeiten jedes Endpunktes, wenn die Übertragung der Leistungsmöglichkeiten der Anwendung gewünscht ist. Sobald die Leistungsmöglichkeiten von jedem Endpunkt übertragen wurden, überträgt jeder Endpunkt ferner zur Selbstidentifizierung die Hallo-Nachrichten 804 und 814. Die Details der in der Figur veranschaulichten Leistungsmöglichkeiten, Hallo-Nachrichten und anderer Nachrichten werden nachstehend behandelt. Die Hallo-Nachricht ist der erste Schritt beim Aufbau einer Konferenz und ermöglicht den Konferenzkomponenten in verschiedenen Systemen den Austausch grundlegender Kennzeichnungen und Betriebsartinformationen. Im Anschluss an den Austausch der Leistungsmöglichkeiten-Nachrichten (sofern vorhanden) und der Hallo-Nachrichten 804 und 814 sendet der die Konferenz einzurichten wünschende Endpunkt 1 810 eine Anruf-Nachricht 806 an den Endpunkt 2 820. Im Anschluss daran sendet der Endpunkt 820 eine Antwort-Nachricht 816 an den Endpunkt 1 810, wenn er in die Telekonferenz mit dem Endpunkt 1 810 eingreifen möchte. Bei der Übertragung der Anruf-Nachricht 806 und dem Empfang der Antwort-Nachricht 816 wird dann eine Telekonferenz zwischen dem Endpunkt 1 810 und dem Endpunkt 2 820 aufgebaut. Die Details der in jedem Endpunkt ausgeführten Verfahrensschritte werden mit Bezug auf die 11 und 12 ausgeführt.
  • 9 veranschaulicht ein „Verbinden"-Protokollverfahren. Dies ist dem Anrufverfahren ähnlich. Es wird jedoch eine „Verbinden"-Nachricht 906 anstatt der „Anruf"-Nachricht 806 an den zweiten Endpunkt gesendet. Die Details eines Verbindens werden nachstehend mit Bezug auf die 26a26c behandelt.
  • 10 veranschaulicht die für eine Beenden-Nachricht ausgetauschten Nachrichten. Wie veranschaulicht ist, kann ein Endpunkt eine Beenden-Nachricht zum Beenden einer Telekonfe renz ausgeben. Es ist keine Antwort für irgendwelche Empfänger erforderlich.
  • 11 zeigt die von einem, den Aufbau der Kommunikation mit einem zweiten Teilnehmersystem (z.B. Endpunkt 2 820) wünschenden, ersten Teilnehmer (z.B. Endpunkt 1 810) ausgeführten Verfahrensschritte. Zuerst greift der Anrufer in Schritt 1102 über ausführungsabhängige Mittel entweder durch einen Verweis auf einen internen Speicher, der auf einen Server verweist, oder eine andere ausführungsabhängige Art und Weise auf die Adresse des Teilnehmers zu, den er anzurufen wünscht. Sobald dies ausgeführt wurde, ruft die Anwendung in Schritt 1104 den API-Aufruf MTConferenceCall [MTKonferenzAnruf] zum Anruf des Teilnehmers auf. Als Reaktion darauf wird vom Anrufer entweder ein Misserfolgsereignis 1106 oder, wenn die Anrufnachricht zum zweiten Teilnehmer übertragen wurde, ein Klingelereignis 1108 empfangen. Im Falle eines Klingelereignisses kann dann der Endpunkt die Leistungsmöglichkeiten, die Betriebsart und den Namen des Endpunktes erhalten, beispielsweise durch eine Prüfung der in der Leistungsmöglichkeiten-Nachricht 812 und/oder der Hallo-Nachricht 814 enthaltenen Daten. Jede „erforderliche" Kommunikation zwischen dem Anrufer und dem Empfänger kann ebenfalls ausgeführt werden. Dann kann sich der erste Sender in geeigneter Weise für den zweiten Endpunkt konfigurieren. Sobald irgendein notwendiger Nachrichtenaustausch und/oder Konfigurationen im Anrufer ausgeführt wurden, wird der Anrufer entweder ein Teilnehmer-Bereit-Ereignis 1116 oder ein Teilnehmer-Abgelehnt[MemberRefused]-Ereignis 1112 empfangen, wenn zum Beispiel der anrufende Teilnehmer nicht die notwendige Zugriffssteuerung im Anschluss an die Anrufnachricht bereitstellt. Zu jedem Zeitpunkt kann auch ein von einem Teilnehmer-Beendet-Ereignis 1114 gefolgtes Misserfolgsereignis 1106 erfasst werden. Im Falle eines Teilnehmer-Abgelehnt-Ereignisses 1112 wird dann die Konferenzkomponente ein Teilnehmer- Beendet-Ereignis 1114 erzeugen und ein das Ende der Konferenz anzeigendes Konferenz-Beendet-Ereignis wird ausgegeben. Sobald die Leistungsmöglichkeiten erhalten wurden, werden in Schritt 1113 alle erforderlichen Leistungsmöglichkeiten überprüft. Im Anschluss daran kann ein Teilnehmer-Bereit-Ereignis 1116 von der Anwendung empfangen werden. Der Endpunkt kann sich dann an dem Austausch von während einer Konferenz üblichen Nachrichten beteiligen. Folglich wird in Schritt 1118 die Konferenz begonnen.
  • Die Folge der vom Empfänger ausgeführten Schritte wird, wie in 12 gezeigt, veranschaulicht. In Schritt 1202 wird zum Beispiel die Empfängeranwendung ein Eingehender-Anruf-Ereignis 1202 erfassen. Im Anschluss daran kann der Empfänger die Betriebsart, die Leistungsmöglichkeiten, den Namen des Anrufers, den Namen der Konferenz und/oder die Rückgabeadresse des Teilnehmers, der in die Konferenz eingreifen möchte, bestimmen. Die Betriebsart kann auch in Schritt 1206 überprüft werden. Sobald dies ausgeführt ist, kann dann, wenn überhaupt, bei 1208 eine Zeitüberschreitungsprüfung im Empfänger ausgeführt werden. Die Zeitüberschreitungsprüfung wird in Abhängigkeit von der Ausführung einer Anwendung durch die Prüfung des in 15 in Feld 1504 gezeigten Zeitüberschreitungsfeldes ausgeführt, das anzeigt, wie lange der Sender wartet, bevor er eine Zeitüberschreitung verursacht und zum Beenden des Anrufes ein AnrufFehlgeschlagen[CallFailed]-Ereignis erzeugt. In diesem Fall kann der Empfänger gemäß der Ausführung eine Vielfalt von Dingen ausführen, zum Beispiel die Ausgabe eines Besetzt-Signals an den Sender, die Ausgabe einer Nachricht an den Anrufer oder das Ergreifen einer Maßnahme, wie zum Beispiel die Weiterleitung des Anrufs zu einem anderen Teilnehmer. Folglich ermöglicht die Einbettung des Zeitüberschreitungsfeldes 1504 in die Anfangsverbindungsnachricht „Hallo" bestimmte intelligente Leistungsmerkmale der potentiellen Teilnehmer einer Telekonferenz. Sobald alle Zeitüberschreitungsprüfungen, wenn überhaupt, in Schritt 1206 ausgeführt wurden, dann folgt Schritt 1208. Irgendeine Anwenderinteraktion kann in Schritt 1209 stattfinden. Der Empfänger wird dann in Schritt 1210 eine Rückmeldung ausgeben. Die Rückmeldung kann entweder eine Ablehnung der Beantwortung des Anrufes (z.B. auf Grund der Zugriffssteuerung oder der Teilnehmer beteiligt sich bereits an einer anderen Konferenz) oder eine Auswahl einer den Anruf bestätigenden Beantwortung, die den möglichen Beginn der Telekonferenz anzeigt, anzeigen. Im Fall einer Ablehnung wird das Teilnehmer-Beendet-Ereignis 1220 an die Anwendung ausgegeben. Im Fall der Antwort des Teilnehmers wird das Teilnehmer-Bereit-Ereignis 1218 ausgegeben, das anzeigt, dass der Medienkanal geöffnet ist und die Konferenz begonnen werden kann.
  • Konferenznachrichten
  • Die Konferenzkomponenten tauschen zum Aufbau, zur Aufrechterhaltung und zum Beenden von Konferenzen eine Anzahl von Nachrichten aus. Die Konferenzkomponenten senden auch Nachrichten, die Anwenderdaten kapseln, das heißt die durch die, die Konferenz verwendenden Programme ausgetauschten Daten.
  • Nach dem Aufbau einer Transportverbindung, jedoch vor dem Aufbau eines Konferenzkanals mit einem entfernten System kann ein Konferenzteilnehmer entweder eine Nachricht der Leistungsmöglichkeiten 1300 oder eine Zusatz-Nachricht 1700 senden. Der Teilnehmer sendet dann zur Selbstidentifikation eine Hallo-Nachricht 1400, insbesondere seine Betriebsart (Medien senden, Medien empfangen, gemeinsam nutzbar oder Verbinder) gefolgt von einer Anruf-Nachricht 1500 (zur Einrichtung einer Konferenz) oder einer Verbinden-Nachricht 1800 (um sich mit einer laufenden Konferenz zu verbinden). Der entfernte Teilnehmer sendet eine Antwort-Nachricht 1600 als Antwort auf die Anruf- oder eine Verbinden-Nachricht 1800. Sobald eine Konferenz auf gebaut ist, kann ein Teilnehmer Anrufe oder Konferenzen durch das Senden einer Zusammenführ-Nachricht 1900 zusammenlegen. Die Konferenzteilnehmer können zum Beenden einer Konferenz eine Beenden-Nachricht 2300 senden oder empfangen. Die Verbindungen zwischen den Teilnehmern einer Konferenz sind zu Beginn Punkt-zu-Punkt-Verbindungen. Wenn das Transportmedium Multicast-Adressen unterstützt und mehr als ein Teilnehmer an einer Konferenz teilnimmt, kann das Senden an eine Multicast-Adresse zur Optimierung verwendet werden. Die Konferenzkomponente verwendet zur Verhandlung des Übergangs von Punkt-zu-Punkt- zu Mehrpunktverbindungen unter Verwendung von Multicast-Adressen die Rundsende-Anforderungs[BroadcastRequest] und Rundsende-Bestätigungs[BroadcastAck] – Nachrichten 2400 und 2500.
  • Allen im Konferenznachrichtenprotokoll unterstützten Nachrichten ist ein 2-Byte Zeichen vorangestellt, das die Art der Nachricht kennzeichnet. Zum Beispiel enthält das Feld 1302 einer in 13 gezeigten Nachricht der Leistungsmöglichkeiten ein 'K'. Alle Nachrichten werden ferner mit einer NULL beendet, wie zum Beispiel die im Feld 1308 von 13 gezeigte. Die Nachricht der Leistungsmöglichkeiten 1300 gestattet einem potentiellen Teilnehmer eine Mitteilung an andere potentielle Konferenzteilnehmer was er in einer Konferenz ausführen und nicht ausführen kann. Jeder Teilnehmer sendet diese Nachricht vor dem Senden der „Hallo"-Nachricht (1400 von 14), wenn andere Leistungsmöglichkeiten als die Standardeinstellung unterstützt werden.
  • Figure 00250001
  • Figure 00260001
  • Liste der Leistungsmöglichkeiten 1306
  • Die Leistungsmöglichkeiten eines Teilnehmers. Dieses Feld ist optional. Falls es angegeben ist, enthält es eine Liste der Leistungsmöglichkeiten des Teilnehmers. Eine Anwendung gibt ihre Leistungsmöglichkeiten durch den Aufruf der Funktion MTConferenceSetMessageCapabilities [MTKonferenzEinstellenNachrichtLeistungsmöglichkeiten] der Konferenzkomponente an.
  • Die in 13 gezeigte Nachricht der Leistungsmöglichkeiten 1300 informiert andere potentielle Konferenzteilnehmer über die Leistungsmöglichkeiten eines Teilnehmers. Diese Leistungsmöglichkeiten beziehen sich direkt auf Nachrichten, die der Teilnehmer entweder unterstützt oder anfordert, jeweils eine Leistungsmöglichkeit für jede von der Komponente unterstützte Konferenznachrichtenart. Die Nachrichten selbst sind durch die Art der vom Teilnehmer in Betrieb genommenen Anwendung definiert. Zum Beispiel liefern Bildtelefonanwendungen und Chat[Plaudern]-Leitungen verschiedene Dienste und verwenden dazu verschiedene Nachrichten. Folglich werden sich die von einem Teilnehmer unterstützten Leistungsmöglichkeiten angesichts der an der Konferenz teilnehmenden Anwendung ändern. Die Einträge im Feld Liste der Leistungsmöglichkeiten können Informationen vom entfernten System anfordern. Durch das Einstellen eines „Wünsche"-Feldes eines Eintrags (2010 von 20) mtNegotiateMessageCapability [mtVerhandlungNachricht-Leistungsmöglichkeit] ('N') kann ein Konferenzteilnehmer spezielle Informationen abfragen (z.B. über eine gegebene Komponentenart, wie zum Beispiel einen Codec, unterstützte Hardware-/Softwaremerkmale etc.). Das Typ-Feld kann den Wert des Komponententyps enthalten.
  • Als Reaktion auf eine verhandelte Nachricht der Leistungsmöglichkeiten formatiert der entfernte Teilnehmer eine Anwenderdatennachricht als Reaktion auf die Nachricht der Leistungsmöglichkeiten. Man beachte, dass diese Liste von Wünschen doppelte Einträge und Einträge mit einem Wert NULL enthalten kann. Zur Analyse dieses Arrays muss ein Teilnehmer die Größe des Arrays bestimmen. Nach dem Senden einer Nachricht der Leistungsmöglichkeiten 1300 sendet der Teilnehmer zum Aufbau einer Konferenz eine Hallo-Nachricht 1400.
  • Beim Start einer Konferenz wird von jedem Endpunkt eine Hallo-Nachricht (z.B. 1400 von 14) gesendet. Die Hallo-Nachricht kennzeichnet grundlegende Leistungsmöglichkeiten des Senders und die Betriebsart, in der er arbeiten wird. Sie enthält das Folgende:
  • Figure 00270001
  • Minimal-Version 1404
  • Die älteste durch die sendende Komponente unterstütze Version des Konferenzprotokolls
  • Maximal-Version 1408
  • Die neueste durch die sendende Komponente unterstütze Version des Konferenzprotokolls
  • Konferenz-Betriebsart 1412
  • Die gewünschte Konferenzbetriebsart. Dieses Feld enthält einen Wert, der der vom Sender für diese Konferenz gewünschten Betriebsart entspricht. Die Anwendungen spezifizieren ihre gewünschte Betriebsart durch einen Einstellen-Betriebsart[SetMode]-API-Aufruf (vorstehend behandelt).
  • Name 1416
  • Der Name des voraussichtlichen Konferenzteilnehmers. Dieser Name kennzeichnet die Funktionseinheit, die mit der Konferenz verbinden möchte, und kann entweder eine Zusatzdatenquelle oder einen neuen Anwender darstellen. Die Anwendungen spezifizieren durch den Aufruf des MTConferenceListen-API-Aufrufs einen Anwendernamen. Der zusätzliche Name wird in einem MTAttachAuxiliary [MTBeifügenZusatz]-API-Aufruf spezifiziert.
  • Die Hallo-Nachricht 1400 ist der erste Schritt beim Aufbau einer Konferenz. Diese Nachricht gestattet Konferenzkomponenten auf verschiedenen Systemen den Austausch grundlegender Informationen der Kennzeichnung und der Leistungsmöglichkeit. Vor dem Senden einer Hallo-Nachricht 1400 kann eine Konferenzkomponente entweder eine Nachricht der Leistungsmöglichkeiten 1300 oder eine Zusatz-Nachricht 1700 senden. Die Art der gesendeten Nachricht hängt von der Funktion ab, die der Teilnehmer in der Konferenz erwartet. Wenn der Teilnehmer erwartet, sich mit einer Konferenz zu verbinden oder eine Konferenz zu beginnen, sendet die Konferenzkomponente eine Nachricht der Leistungsmöglichkeiten. Wenn der Teilnehmer eine zusätzliche Mediendatenquelle einrichtet, sendet die Komponente eine Zusatz-Nachricht 1700. Dieser Nachricht folgend kann die Konferenzkomponente durch das Beenden der Anruf-Nachricht 1500 in die Anrufeinrichtungsphase eintreten. Wenn der Teilnehmer eine zusätzliche Datenquelle einer existierenden Konferenz bereitstellen möchte oder sich mit einer existierenden Konferenz verbinden möchte, sendet die Komponente die Verbinden-Nachricht 1800.
  • Die Anruf-Nachricht 1500 von 15 beginnt das Verfahren zum Aufbau einer Konferenzverbindung zwischen zwei möglichen Teilnehmern. Dies ist dem Wählen einer Nummer aus einem Telefonverzeichnis ähnlich.
  • Figure 00290001
  • Anruf-Zeitüberschreitung 1504
  • Die Zeit, die die anrufende Komponente auf eine Antwort zu warten bereit ist. Dieses Feld gibt die Anzahl der Ticks [Takte] an (1/60 einer Sekunde), die die anrufende Komponente warten wird, bevor sie entscheidet, dass der Anruf nicht beantwortet wurde. Die angerufenen Komponenten müssen innerhalb dieses Zeitrasters antworten. Dieser Wert kann von einem möglichen Antwortenden zum Ergreifen irgendeiner automatischen Maßnahme verwendet werden, wenn der Anwender nicht vor der Zeitüberschreitung antwortet.
  • Konferenz-Name 1508
  • Der Name der Konferenz. Wenn der Anrufer eine Konferenz aufbaut, ist dies der Name, den der Anrufer der Konferenz zugewiesen hat. Wenn sich der Anrufer mit einem Konferenzserver verbindet, ist dies der Name der Konferenz des Servers. Die Anwendungen stellen den Konferenznamen durch einen Aufruf der Funktion MTConferenceCall ein.
  • Anrufende-Konf-ID 1512
  • Die eindeutige Konferenzkennung des Anrufers. Dieses Feld kennzeichnet im Netzwerk eindeutig den Konferenzendpunkt des Anrufers. Die Konferenzkomponenten erzeugen im Auftrag der anrufenden Anwendungen Konferenzkennungen, die innerhalb einer Konferenzkomponente eindeutig sind. Anruf-ID's werden mit Bezug auf 2200 von 22 behandelt.
  • Die in 15 gezeigte Anruf-Nachricht 1500 beginnt das Verfahren zum Aufbau einer Konferenz zwischen zwei Teilnehmern. Diese Nachricht kann auf zwei Art und Weisen verwendet werden. Erstens kann diese Nachricht eine Konferenz zwischen zwei Teilnehmern erzeugen. In diesem Szenarium weist der Anrufer der Konferenz einen Namen zu, so dass sich andere mögliche Teilnehmer später verbinden können. Alternativ kann diese Nachricht das Verbinden mit einer Konferenz anfordern, die von einem Konferenzserver in einem Netzwerk verwaltet wird. Zum Beispiel wird der Server eingehende Anrufe zulassen. Die Funktion des Servers besteht jedoch in der Zusammenführung der neuen Konferenz aufgrund des Anrufs mit anderen laufenden Konferenzen. Mit anderen Worten handelt der Server ausschließlich als ein „Verbinder" und stellt keine Mediendaten bereit. Sobald der Anruf eingerichtet ist, kann der Anrufer den Austausch von Anwenderdaten mit anderen Konferenzteilnehmern beginnen.
  • Die Antwortnachricht 1600 von 16 wird als Reaktion auf Anruf- oder Verbinden-Nachrichten 1500 oder 1800 gesendet.
  • Figure 00310001
  • Anruf-Antwort 1604
  • Das Ergebnis. Dieses Feld zeigt das Ergebnis der vorhergehenden Anruf-Anforderung an. Dieses Feld wird auf '0' gesetzt, wenn die Anforderung erfolgreich war. Andernfalls enthält es einen geeigneten Ergebniscode.
  • Ziel-Konf-ID 1608
  • Die eindeutige Kennung des anderen Endpunktes. Dieses Feld kennzeichnet den anderen Teilnehmer der Konferenz.
  • Die Antwort-Nachricht 1600 gestattet dem Anrufer eine Bestimmung des Erfolgs einer Anruf- oder Verbinden-Anforderung. Die Antwort-Nachricht 1600 zeigt an, wie der Anwender am entfernten System auf den Anruf reagierte (zum Beispiel, ob der Anwender den Anruf beantwortete). Das Feld Anruf-Antwort 1604 enthält den Ergebniscode der Anforderung. Wenn er nicht Null ist, trat ein Fehler auf und die Anforderung war nicht erfolgreich. Andernfalls kennzeichnet das Feld Ziel-Konf-ID 1608 den Endpunkt, mit dem der Anrufer jetzt kommunizieren kann.
  • Die Zusatz-Nachricht 1700 gestattet einem Teilnehmer das Warnen der anderen Teilnehmer einer Konferenz, dass er im Begriff ist, eine zusätzliche Mediendatenquelle (eine einer laufenden Konferenz zugeordneten Quelle) bereitzustellen. Diese Nachricht kann an Stelle der Nachricht der Leistungsmöglichkeiten 1300 verwendet werden, wenn ein Teilnehmer über das Vorhandensein einer zusätzlichen Medienquelle gewarnt wird. Der Teilnehmer sendet diese Nachricht vor dem Senden der Hallo- und Verbinden-Nachrichten 1400 und 1800 und setzt dann mit dem Hinzufügen einer zusätzlichen Datenquelle zur Konferenz fort.
  • Figure 00320001
  • Vorgänger-Konf-ID 1704
  • Die Konferenzkennung des Teilnehmers. Dieses Feld kennzeichnet den existierenden Konferenzendpunkt des Teilnehmers (die Konferenzkennung, die der Teilnehmer beim ersten Verbinden mit der Konferenz in der Anruf-Nachricht bereitstellte). Dies gestattet anderen Konferenzteilnehmern die Identifizierung der Quelle der zusätzlichen Daten innerhalb jedes Teilnehmers.
  • Die Zusatz-Nachricht 1700 informiert andere Konferenzteilnehmer, dass ein Teilnehmer in Begriff ist, eine zusätzliche Konferenzdatenquelle bereitzustellen. Für zusätzliche Datenquellen ersetzt diese Nachricht die Nachricht der Leistungsmöglichkeiten bei frühzeitigen Interaktionen. Der Teilnehmer muss diese Nachricht an alle Konferenzteilnehmer senden. Der Teilnehmer sendet dann eine Hallo- 1400 und eine Verbinden- Nachricht 1800 an alle Teilnehmer. Durch das Aufnehmen der Verbinden-Anforderung nehmen die anderen Teilnehmer dann die neue Datenquelle an.
  • Eine Verbinden-Nachricht 1800 von 18 gestattet einem Teilnehmer das Verbinden mit einer existierenden Konferenz, wenn ihm die Kennung der Konferenz gegeben ist. Diese Nachricht ist für das Hinzufügen zusätzlicher Datenquellen zu einer existierenden Konferenz und für das Zusammenführen von zwei existierenden Konferenzen verwendbar.
  • Figure 00330001
  • Ziel-Konf-ID 1804
  • Die eindeutige Konferenzkennung des entfernten Endes. Dieses Feld kennzeichnet die Konferenz, mit der sich verbunden werden soll.
  • Anrufende-Konf-ID 1808
  • Eindeutige Konferenzkennung. Dieses Feld kennzeichnet eindeutig den Konferenzendpunkt des Anrufers im Netzwerk. Die Konferenzkomponenten erzeugen Konferenzkennungen im Auftrag anrufender Anwendungen. Wenn die Nachricht eine zusätzliche Mediendatenquelle hinzufügt, ist dies die Kennung des Zusatzes.
  • Teilnehmer-Liste 1812
  • Eine Liste von anderen Konferenzteilnehmern. Diese Liste kennzeichnet alle anderen bekannten Konferenzteilnehmer, die zum Austausch von Daten mit neuen Teil nehmern bereit sind (das heißt, sie haben in ihrer Konferenzbetriebsart die Verbinder-Betriebsartmaske eingestellt). Die Konferenzkomponente kann sich mit jedem Teilnehmer verbinden, mit dem sie noch nicht verbunden ist. Wenn die Nachricht einen Zusatz hinzufügt (über die Ausgabe einer Zusatz-Nachricht 1700), enthält diese Liste die Endpunkt-Kennung aller Teilnehmer, denen der Anrufer den Zusatz zur Verfügung stellt. Es hängt von jedem von ihnen ab zu antworten.
  • Dies ist eine Liste von Konferenzendpunktkennungen; jedem Element der Liste folgt ein Zeilenvorschubzeichen.
  • Die Verbinden-Nachricht 1800 gestattet einem Teilnehmer das Hinzufügen einer zusätzlichen Datenquelle zu einer existierenden Konferenz oder das Zusammenführen von zwei existierenden Konferenzen. Der Anrufer sendet diese Nachricht an jeden Teilnehmer der Konferenz als Antwort auf eine Zusammenführungs- oder Verbindungsanforderung.
  • Die Zusammenführ-Nachricht 1900 von 19 verbindet zwei Konferenzen. Die Empfänger dieser Nachricht verbinden sich mit den aufgelisteten Teilnehmern, mit denen sie noch nicht verbunden sind.
  • Figure 00340001
  • Konferenz-Name 1904
  • Der sich aus der Zusammenführung ergebende neue Konferenzname. Dies ist der Name, der der Konferenz beim Aufbau der Konferenz zugewiesen wurde. Durch den Aufruf der MTConferenceCall-API-Funktion spezifizieren die Anwendungen den Konferenznamen.
  • Meine-Konf-ID 1908
  • Eine eindeutige Konferenzkennung. Dieses Feld kennzeichnet eindeutig den Konferenzendpunkt des Anrufers in der Zielkonferenz. Die Konferenzkomponenten erzeugen im Auftrag der anrufenden Anwendungen die Konferenzkennungen.
  • Teilnehmer-Liste 1912
  • Eine Liste anderer Konferenzteilnehmer. Diese Liste kennzeichnet die anderen aktuellen Konferenzteilnehmer. Diese Liste enthält die Endpunktkennung jedes neuen Teilnehmers.
  • Dies ist eine Liste von Konferenzendpunktkennungen; jedem Element in der Liste folgt ein Zeilenvorschubzeichen.
  • Die Zusammenführ-Nachricht bewirkt den Zusammenschluss von zwei Konferenzen. Dies ist der Mechanismus zum Erzeugen von zwei Konferenzen mit mehr als zwei Teilnehmern. Der Anrufer sendet diese Nachricht an jeden existierenden Konferenzteilnehmer mit der Spezifizierung des Namens der Konferenz. Jeder Endpunkt baut Kommunikationen mit allen neuen Endpunkten auf. Laut Vereinbarung baut der Endpunkt mit dem höheren Wert der Konferenzkennung die Verbindung auf (um doppelte oder fehlende Verbindungen zu vermeiden). Die Teilnehmer der Konferenz empfangen bei einer Kontaktierung durch jeden neuen Teilnehmer eine Verbinden-Nachricht 1900 an Stelle einer Anruf-Nachricht 1500.
  • Eine Liste der Leistungsmöglichkeiten, wie sie in 20 gezeigt ist (z.B. Feld 1316), enthält Informationen über die von einer Konferenzanwendung unterstützte Nachricht. Die Liste besteht aus Null oder mehr Informationszeilen; jede Zeile spezifiziert eine einzelne Leistungsmöglichkeit und besteht aus den folgenden Feldern:
  • Figure 00360001
  • Typ 2002
  • Kennzeichnet eine Nachricht durch einen Verweis auf einen eindeutigen Typ-Wert.
  • Version 2006
  • Die Nachrichtenversionsnummer. Spezifiziert die jüngste, von der Anwendung unterstützte Version der Nachricht.
  • Wünsche 2010
  • Das Hilfestellungsniveau. Dieses Feld zeigt das Niveau der von der Anwendung angeforderten Hilfestellung an. Mögliche Werte sind:
    mtMessageOptionalCapability [mtNachrichtOptional-Leistungsmöglichkeit]
    Optional. Zeigt an, dass die Nachricht optional ist. Der dieser Option entsprechende Wert ist 'O'.
    mtMessageDesiredCapability [mtNachrichtErwünscht-Leistungsmöglichkeit]
    Erwünscht. Obwohl immer noch optional, zeigt dieser Wert an, dass die Anwendung den frühzeitigen Empfang dieser Nachricht im Anruf bevorzugt (z.B. kann ein Teilnehmer vor dem Aufbau eines Anrufs das Senden der Visitenkarte des Empfängers zur langfristigen Speicherung anfordern). Der dieser Option entsprechende Wert ist ,D'.
    mtMessageRequiredCapability [mtNachrichtErforderlichLeistungsmöglichkeit]
    Erforderlich. Die Anwendung muss diese Nachricht empfangen. Der dieser Option entsprechende Wert ist 'R'.
    mtNegotiationMessageCapability [mtVerhandlungNachrichtLeistungsmöglichkeit]
    Verhandeln. Die Anwendung möchte die Möglichkeiten des Empfängers erfahren. Der dieser Option entsprechende Wert ist 'D'.
  • Die Konferenzkennungen, wie die in 22 gezeigten 2200, kennzeichnen eindeutig einen Konferenzendpunkt. Jeder Endpunkt stellt eine Datenquelle oder eine -Senke für die Konferenz dar. Man beachte, dass ein einzelnes System mehr als einen Konferenzendpunkt (z.B. einen Zusatz) in einer gegebenen Konferenz und zu einem Zeitpunkt mehr als eine Konferenz aufweisen kann. Ein Konferenzendpunkt besteht aus den folgenden Feldern:
  • Figure 00370001
  • Eindeutige-ID 2202
  • Eine eindeutige numerische Kennung. Dieses Feld enthält eine eindeutige numerische Endpunktkennung. Jede Konferenzkomponente weist ihre eigenen Kennungen zu, um im Zusammenhang mit einem im Namenfeld 2206 spe zifizierten, gegebenen Namen eine Eindeutigkeit zu garantieren.
  • Name 2206
  • Ein eindeutiger Name. Kennzeichnet das System im Netzwerk. Der Name ist im Zusammenhang mit einer gegebenen Transportschnittstelle eindeutig. Er umfasst den Typ der ausgewählten Transport- und Netzwerkschnittstelle.
  • Eine Teilnehmerliste, wie zum Beispiel 1812 von 21, ist ein Array von Null oder mehr Konferenzkennungen 2102, 2110 etc. Jeder Eintrag im Array ist durch ein Zeilenvorschubzeichen begrenzt.
  • Die Beenden-Nachricht 2300 von 23 beendet eine Konferenz. Dabei wird die Kommunikation eines Teilnehmers mit den Teilnehmern beendet, zu denen er die Nachricht sendet.
  • Figure 00380001
  • Die Beenden-Nachricht 2300 ist der letzte Schritt beim Beenden der Konferenzteilnahme eines Teilnehmers. Diese Nachricht beendet die Konferenzkommunikation des Teilnehmers mit allen Teilnehmern, zu denen er die Nachricht sendet. Wenn ein Teilnehmer eine Konferenz ganz verlässt, muss er diese Nachricht an jeden Konferenzteilnehmer senden.
  • Die Rundsende-Anforderung[BroadcastRequest]-Nachricht 2400 gestattet es einem Teilnehmer herauszufinden, ob ein anderer Konferenzteilnehmer Rundsende(Multicast)-Nachrichten annehmen kann.
  • Figure 00380002
  • Figure 00390001
  • Untertyp 2406
  • Der Untertyp der Rundsende-Nachricht. Dieses Feld muss auf 'R' gestellt werden.
  • Multicast-Adresse 2410
  • Die vorgeschlagene Multicast-Adresse. Dieses Feld enthält die Multicast-Adresse, auf der der Teilnehmer das Senden von Rundsende-Nachrichten vorschlägt.
  • Die Rundsende-Anforderung-Nachricht 2400 gestattet es einem Teilnehmer eine Bestimmung, ob ein anderer Konferenzteilnehmer Rundsende-Nachrichten über eine gegebene Multicast-Netzwerkadresse annehmen kann. Der Empfänger zeigt durch das Senden einer Rundsende-Bestätigungs-Nachricht 2500 (nachstehend beschrieben) seine Fähigkeit zur Unterstützung der Rundsende-Nachrichten an. Wenn der Empfänger einen Rundsende-Nachrichtenaustausch nicht unterstützen oder auf diese spezielle Rundsende-Übertragung nicht zugreifen kann, sollte der anrufende Teilnehmer das Senden von Punkt-zu-Punkt-Nachrichten an den Empfänger fortsetzen.
  • Die Rundsende-Anforderungs-Nachricht 2400 wird üblicherweise als Teil des Verhandlungsverfahrens verwendet, das dem Zusammenführen von zwei Konferenzen oder dem Verbinden irgendwelcher neuen Teilnehmer mit einer Konferenz folgt. Zur Optimierung können Konferenzteilnehmer die Einrichtung von Rundsende-Leistungsmöglichkeiten als effizientere Alternative zur Aufrechterhaltung mehrerer verschiedener Punkt-zu-Punkt-Verbindungen wählen.
  • Die Rundsende-Bestätigungs-Nachricht 2500 gestattet es einem Teilnehmer, auf eine Rundsende-Anforderungs-Nachricht 2400 zu antworten.
  • Figure 00400001
  • Untertyp 2504
  • Der Untertyp der Rundsende-Nachricht. Dieses Feld muss auf 'A' gestellt werden.
  • Rundsende-Antwort 2508
  • Das Ergebnis. Dieses Feld zeigt an, ob der Teilnehmer die in der Rundsende-Anforderungs-Nachricht 2500 vorgeschlagene Multicast-Adresse unterstützen kann.
  • Die Rundsende-Bestätigungs-Nachricht 2500 gestattet einem Teilnehmer die Anzeige, ob er Nachrichten über die vorgeschlagene Multicast-Adresse empfangen kann. Ein anderer Konferenzteilnehmer schlägt durch das Senden einer Rundsende-Anforderungs-Nachricht 2408 eine Multicast-Adresse vor. Wenn der Empfänger diese Adresse unterstützen kann, stellt er das Rundsende-Antwort-Feld 2508 auf '0'. Andernfalls enthält das Feld Rundsende-Antwort 2580 einen geeigneten, von Null verschiedenen Ergebniscode. Diese Nachricht wird üblicherweise als Teil des Verhandlungsverfahrens verwendet, das der Zusammenführung von zwei Konferenzen folgt. Zur Optimierung können Konferenzteilnehmer die Einrichtung von Rundsende-Leistungsmöglichkeiten als eine effizientere Alternative zur Aufrechterhaltung mehrerer verschiedener Punkt-zu-Punkt-Verbindungen wählen.
  • Die Operationen des Verbindens weisen das in 9 veranschaulichte Protokoll auf. Die 26a26c veranschaulichen die in einem Sender und einem Empfänger während der Operatio nen des Verbindens ausgeführten Verfahrensschritte. 26a zeigt ein Verfahren 2600, das die Verfahrensschritte eines Senders einer Verbinden-Nachricht umfasst. Dies kann zum Beispiel als Reaktion auf eine Zusatz- oder eine Zusammenführ-Nachricht auftreten. Zuerst erzeugt der Sender in Schritt 2602 eine Verbinden-Nachricht. Die Zielkonferenz-ID und die anrufenden Konferenz-ID's werden in Schritt 2603 der Nachricht hinzugefügt. Dann werden in Schritt 2604 alle die Teilnehmer an die Teilnehmerliste in der Verbinden-Nachricht angehängt, die die Verbinden-Nachricht empfangen sollen. Dies ist in 26b detaillierter gezeigt. Eine Transportschichtverbindung mit dem Teilnehmer, der das Verbinden empfangen soll, wird dann in Schritt 2605 ausgeführt. Im Anschluss daran wird die Nachricht in Schritt 2606 an alle Empfänger gesendet.
  • 26b veranschaulicht die in 26a gezeigte „Teilnehmer anhängen"-Funktion 2604 zum Anhängen von Teilnehmern an eine Teilnehmerliste. Die Funktion beginnt in Schritt 2610, der bestimmt, ob der Teilnehmer ein „Verbinder" ist. In diesem Fall können dem Verbinder zusätzliche Teilnehmer angehängt werden. Wenn nicht, endet die Funktion und die Verbinden-Nachricht wird, wie in 26a gezeigt, mit dem einzigen Teilnehmer gesendet. In 2612 wird gemäß der Konferenz-ID der nächste Teilnehmer abgerufen. In Schritt 2614 wird bestimmt, ob es irgendwelche weiteren Teilnehmer in der spezifizierten Konferenz-ID gibt. Wenn nicht, ist das Verfahren abgeschlossen. Wenn es weitere Teilnehmer gibt und das Flag der Betriebsart der gemeinsamen Nutzung gesetzt ist, wie in Schritt 2616 erfasst wird, wird der Teilnehmer der Teilnehmerliste in Schritt 2618 hinzugefügt. Auf diese Art und Weise können während einer Zusammenführungsoperation andere, die Verbinden-Nachricht empfangende Teilnehmer bestimmen, ob sich die Konferenzzugehörigkeit geändert hat. Dies erfordert das Senden zusätzlicher Verbinden-Nachrichten durch die empfangenden Teilnehmer.
  • 26c zeigt die von einem Empfänger einer Verbinden-Nachricht ausgeführten Schritte. Zuerst wird in Schritt 2652 die in der Verbinden-Nachricht enthaltene Ziel-Konferenz-ID vom Empfänger in einer lokal gespeicherten, aktuellen Konferenzverlaufstabelle (z.B. 2900 von 29) nachgeschlagen. Diese behält die Übersicht über die vorher verwendeten Konferenz-ID's für alle aktuell aktiven Konferenzen. Wenn sich die Konferenz-ID geändert hat, kann der Teilnehmer durch die Referenzierung einer alten Konferenz-ID und der aktuellen Konferenz-ID im Teilnehmer das Verbinden abschließen. Dies gestattet Konferenzzusammenführ- und Zusatz-Nachrichten von weit verteilten Teilnehmern in einem Netzwerk. Wenn die Konferenz-ID nicht gefunden werden kann, wie in Schritt 2654 erfasst wurde, wird die Verbindung in Schritt 2656 durch die Ausgabe einer geeigneten Antwortnachricht abgelehnt und das Verbinden schlägt fehl. Wenn die Konferenz-ID gefunden wurde, wird in Schritt 2660 die Verbindung zu der Liste von Teilnehmern der Konferenz hinzugefügt. In Schritt 2662 wird eine Antwort an den Sender des Verbindens gesendet, dass das Verbinden ausgeführt werden kann. Dann kann die Zugehörigkeit der in der Teilnehmerliste des Verbindens enthaltenen Teilnehmer wie in 26d gezeigt ausgeführt werden.
  • Die Zusammenführ-Zugehörigkeits-Funktion 2664 ist in 26d detaillierter gezeigt. Zuerst wird in Schritt 2678 bestimmt, ob die Teilnehmer zusammenführende Zugehörigkeit gemeinsam nutzbar ist. In diesem Fall wird in Schritt 2680 bestimmt, ob es noch weitere Teilnehmer in der Teilnehmerliste gibt. Wenn nicht, ist die Funktion abgeschlossen. In diesem Fall wird in Schritt 2682 der nächste Teilnehmer von der Zugehörigkeitsliste abgerufen. Wenn der Teilnehmer bereits verbunden ist, es der Teilnehmer oder die eigene Zusatzquelle des Teilnehmers ist, kehrt das Verfahren zu Schritt 2690 zurück. Es wird in Schritt 2686 bestimmt, ob der anrufende Beteiligte das Verbinden mit dem Empfänger ausführen wird. Dies verhindert den Empfang und das Ausführen sich widersprechender Verbinden-Nachrichten im Netzwerk. Dies wird durch eine Bestimmung ausgeführt, ob die Konferenz-ID des Empfängers größer als die Konferenz-ID des anrufenden Beteiligten ist. In diesem Fall ist dem anrufenden Beteiligten der Empfang der Verbinden-Nachricht gestattet und er wird beim Verbinden Maßnahmen ergreifen. Die zum Ausführen des Verbindens notwendigen Operationen finden dann beginnend in Schritt 2688 statt. In diesem Schritt werden Transportschichtverbindungen aufgebaut. Sobald sie aufgebaut sind, werden in Schritt 2690 Leistungsmöglichkeiten-, sofern vorhanden, (oder eine Zusatz-Nachricht im Fall einer zusätzlichen Quelle), Hallo- und Verbinden-Nachrichten gesendet. Der Teilnehmer wartet dann auf eine Antwort auf das Verbinden und wenn diese bestätigend empfangen wurde, gibt die Konferenzkomponente Teilnehmer-Bereit an die Anwendung aus. Dieses Verfahren setzt fort, bis alle Teilnehmer in der Teilnehmerliste verarbeitet worden sind.
  • Zusammenführungsoperationen
  • Zusammenführungsoperationen werden unter Verwendung einer „Zusammenführ"-Nachricht (z.B. die in 19 gezeigte 1900) ausgelöst. Sie zeigt einem Teilnehmer an, dass zwei existierende Konferenzen zusammengeführt werden sollen. Dies erfolgt gemäß der im Feld 1908 von Nachricht 1900 enthaltenen Konferenz-ID. Jede Zusammenführ-Nachricht enthält in sich eine Teilnehmer-Liste 1912, die den teilnehmenden Teilnehmern das Senden von Verbinden-Nachrichten an alle Teilnehmer, die in der Teilnehmer-Liste aufgelistet worden sind, gestattet. Dies gestattet ferner während des Verlaufs einer Zusammenführungsoperation das Ändern der Zugehörigkeit und der Konferenz-ID so zu verfolgen, dass die korrekten Konferenz-ID's und Konferenzzugehörigkeit bis nach der Zusammenführung aufrechterhalten werden können. Eine Zusammenführungsoperation ist mit Bezug auf die 26a und 26b graphisch veranschaulicht. In eine erste Zeitperiode 26a kann sich zum Beispiel Konferenzteilnehmer-ID in zwei als 1 und 2 bezeichnete Konferenzen mit verschiedenen anderen Teilnehmern A, B und C einschalten. In der das Format 1900 in 19 aufweisenden Zusammenführ-Nachricht enthalten, setzt der Teilnehmer dann die Ausgabe von Verbinden-Nachrichten an die Teilnehmer der Konferenzen fort. Das heißt, der Teilnehmer D gibt dann Verbinden-Nachrichten an die Teilnehmer B und C zum Verbinden mit der Konferenz 1 (B1 und C1 bezeichnet) aus. Am Ende der Operation weisen alle Teilnehmer A, B, C und D Punkt-zu-Punkt-Kommunikationskanäle auf und die neue Konferenz-ID wird mit 1 bezeichnet (A1, B1, C1 beziehungsweise D1 in jedem der Teilnehmer). Die Mechanismen dieser Operation werden mit Bezug auf 27 kurz beschrieben.
  • Die 28a28b zeigen die während einer Zusammenführoperation durch die Konferenzkomponente im Sender und den Empfängern (sofern vorhanden) einer Zusammenführ-Nachricht ausgeführten Schritte. 28a zeigt die von einem Sender einer Zusammenführungsanforderung ausgeführten Verfahrensschritte. Der Teilnehmer kombiniert zuerst in Schritt 2802 die Konferenz-ID's der alten und neuen Konferenz in seinem internen Speicher. Dann erzeugt der Teilnehmer in Schritt 2804 die Zusammenführ-Nachricht und fügt jeden der Teilnehmer der Konferenz zur Teilnehmerliste in der Nachricht mittels der Routine zum Hinzufügen von Teilnehmern 2604 (vorstehend behandelt) hinzu, um eine vollständige Verbindungsfähigkeit zwischen allen Konferenzteilnehmern zu gewährleisten. In Schritt 2806 wird dann die Zusammenführ-Nachricht an alle Teilnehmer der Zusammenführung gesendet.
  • 28b zeigt die in einem, eine Zusammenführ-Nachricht empfangenden Empfänger ausgeführten Verfahrensschritte. Sobald eine Zusammenführ-Nachricht erfasst wurde (Schritt 2812), ruft der Empfänger der Zusammenführung in Schritt 2814 aus einem lokalen Speicher den Konferenznamen und die Konferenz-ID ab. Wie vorstehend mit Bezug auf 26d behandelt, wird dann eine Verschmelzung der Zugehörigkeit ausgeführt und das Verfahren ist somit in Schritt 2816 abgeschlossen.
  • Zusätzlich zur Verwendung aktueller Konferenz-ID's zur Ausführung von Zusammenführungs- und nachfolgenden Verbindungsoperationen ist in jeder Zusammmenführ- und Verbinden-Nachricht eine Liste der Teilnehmer der zusammenzuführenden oder zu verbindenden Konferenzen enthalten. Diese sind in den Feldern Teilnehmer-Liste 1812 oder 1912 der Nachrichten 1800 oder 1900 enthalten. Zum Beispiel können auf Grund von Ausbreitungsverzögerungen in einem Netzwerksystem immer noch alte Konferenz-ID's in peripheren Teilnehmern existieren. Deshalb können während der Zusammenführungs- und oder Verbindungsoperationen Konferenz-ID's ungültig werden oder auf nicht mehr existierende Konferenz-ID's verweisen. Folglich ist in jeder Konferenzkomponente in einem Teilnehmer eine aktuelle Konferenztabelle enthalten, wie zum Beispiel die in 29 gezeigte 2900. Die aktuelle Konferenzverlaufstabelle gestattet einem Teilnehmer die Ausführung einer Zusammenführungs- oder Verbindungsoperation für eine Bestimmung, ob tatsächlich zusammenzuführende Konferenzen alte Konferenz-ID's verwenden. In diesem Fall kann die neue Konferenz-ID zur Übertragung an die die Verbinden-Nachrichten empfangenden Teilnehmer verwendet und/oder an die geeignete Konferenz-ID angepasst werden. Folglich kann der die Zusammenführungsoperation ausführende Teilnehmer durch die in der Tabelle der zusammengeführten Konferenzen enthaltenen, aktuellen Konferenz-ID 2901 oder andere Konferenz-ID-Werte 2902 referenzieren, die in einer Liste va riabler Länge von Konferenz-ID's enthaltenen sind, auf die sich die aktuelle Konferenz-ID bezieht. Konferenzeinträge werden am Ende einer Konferenz von der Konferenzkomponente gelöscht. Wenn eine Zusammenführung an einem peripheren Standort auftritt und eine Konferenz-ID ungültig wird, kann die Liste der Konferenz-ID's für eine existierende Konferenz-ID durch eine Referenzierung der Verlaufstabelle der zusammengeführten Konferenzen referenziert werden.
  • Multicast
  • Die 30a und 30b veranschaulichen ein Verfahren, das als eine Optimierung ausgeführt wird, wenn mehrere Teilnehmer einer Konferenz Multicast-Adressen-Rundsende-Leistungmöglichkeiten unterstützen. Zuerst wird in Schritt 3001 erfasst, ob es irgendwelche weiteren, zu prüfenden Transportmedien gibt. In diesem Fall wird in Schritt 3002 das Nächste abgerufen und in Schritt 3003 wird bestimmt, ob es zwei oder mehr Teilnehmer in der gleichen Konferenz und auf dem gleichen Transportmedium gibt. In diesem Fall und wenn das Transportmedium die gleichzeitige Ausführung mehrerer Arbeitsvorgänge [Multitask] in Schritt 3004 unterstützt, werden die Multitask-Leistungsmöglichkeiten des Transportes in Schritt 3006 aktiviert. In diesem Fall und bei Betriebsfähigkeit der Multicast-Leistungsmöglichkeiten in Schritt 3008, setzt Schritt 3008 zu Schritt 3012 fort. Wenn in Schritt 3008 erfasst wird, dass sie nicht betriebsfähig sind, wird in Schritt 3010 das Verfahren abgebrochen. In Schritt 3012 wird eine Multicast-Adresse in Schritt 3012 abgerufen, die für das Transportmedium verwendet werden kann. Dann werden bei 3014 Rundsende-Anforderungen im, im Wesentlichen dem in der Nachricht 2400 von 24 gezeigten Format an alle in Schritt 3002 erfassten Multicast unterstützenden Teilnehmer gesendet. Das Verfahren erwartet dann in Schritt 3016 Rundsende-Bestätigungen (in dem in 25 gezeigten Format 2500) für eine Bestimmung, ob die Multicast-Adresse für jeden verfügbar ist oder ob eine Zeitüberschreitungs-Zeitperiode auftritt. In diesem Fall wird in Schritt 3018 für jede Rundsende-Bestätigung bestimmt, ob sie empfangen wurde und es wird bestimmt, ob die Bestätigung positiv war (auf Grund des im Feld 2508 von 25 enthaltenen Antwortwertes). Wenn die Antwort positiv war, wird in Schritt 3022 die Punkt-zu-Punkt-Verbindung deaktiviert. Sobald alle Rundsende-Bestätigungen empfangen wurden (oder die Zeit überschritten haben), wird in Schritt 3024 bestimmt, ob für jede gesendete Rundsende-Anforderungsnachricht eine Rundsende-Bestätigung empfangen wurde. Wenn nicht, ist das Verfahren abgeschlossen. Wenn ja, bestimmt jedoch Schritt 3026, ob es irgendwelche positiven Bestätigungen für das Multicast gab. Wenn nicht, wird das Multicast deaktiviert und die Verwendung der Punk-zu-Punkt-Kommunikation für die Kommunikation mit den anderen Teilnehmern wird fortgesetzt (diese Optimierung kann nicht ausgeführt werden). Das Verfahren ist somit abgeschlossen.
  • Zusätzliche Operationen
  • Eine zusätzliche Medienquelle kann ein Teil einer laufenden Konferenz werden. Die Medienquelle wird einer laufenden Konferenz durch einen aufrufenden Bezug auf die in jeder Konferenzkomponente gespeicherte Hauptkonferenz zugeordnet. Sie wird jedoch bereits in jeder Konferenzkomponente als eine getrennte Konferenz behandelt. Zum Beispiel kann, wie mit Bezug auf 31 veranschaulicht ist, eine erste Konferenz, auf die hier mit der Konferenz-ID 23B in Teilnehmer B Bezug genommen wird, über eine zusätzliche, die Konferenz-ID 17A von Teilnehmer A aufweisende Quelle benachrichtigt werden. Man beachte, dass ähnlich dem vorstehend mit Bezug auf die Nachrichten der Leistungsmöglichkeiten und Hallo-Nachrichten in den 8 und 9 veranschaulichten Protokoll die Zusatznachricht an Stelle einer Nachricht der Leistungsmöglichkeiten zwischen einem ersten Endpunkt und einem zweiten Endpunkt wie in 32 veranschaulicht gesendet werden kann. Die zeitliche Abstimmung der Nachrichten wird mit Bezug auf 32 veranschaulicht. Ähnlich dem vorstehend mit Bezug auf 8 veranschaulichten Protokoll der Leistungsmöglichkeit und Anrufprotokoll wird die Zusatznachricht 3202 vom ersten Endpunkt 3210 zur Benachrichtigung des Endpunktes 2 3220 empfangen, dass eine zusätzliche Quelle von der Vorgängerkonferenz-ID verfügbar ist, wie im Feld Vorgänger-Konferenz-ID 1704 der Zusatz-Nachricht 1700 von 17 spezifiziert ist. Dann wird eine Hallo-Nachricht 3204 vom Endpunkt 1 3210 zum Endpunkt 2 3220 übertragen. Als Reaktion darauf überträgt der Endpunkt 2 3220 die Nachricht der Leistungsmöglichkeiten 3222 und die Hallo-Nachricht 3224. Im Anschluss daran wird eine Verbinden-Nachricht 3226 mit der Konferenz-ID = 23B vom Endpunkt mit der Konferenz-ID der Quelle an 3220 zur Anzeige ausgegeben, dass der Endpunkt 3220 die in 31 gezeigte zusätzliche Quelle AA zu empfangen wünscht. Im Anschluss daran verweisen alle Nachrichten von der Quelle a zum Empfänger b, wie in 31 veranschaulicht, auf die gleiche Konferenz-ID 23B für die laufende Konferenz zwischen a und b. wie in 31 veranschaulicht, wird das Betriebsart-Flag „Empfange Medien" auf nicht empfangen (!Receive) gesetzt und des Weiteren ist die Betriebsart der zusätzlichen Medienquelle kein Verbinder (!Verbinder), da sie eine Nur-Empfangen-Medienquelle ist. Im Anschluss daran sendet der erste Endpunkt 3210 eine Antwort-Nachricht 3206, die das erfolgreiche Verbinden der zusätzlichen Medienquelle mit der Konferenz 23B anzeigt. Im Anschluss daran werden durch die Anwendung beide Mediennachrichten für die Konferenz-ID 23B und die die Konferenz-ID 17A aufweisende, zusätzliche Quelle als von der gleichen Quelle (A) behandelt.
  • Die Details und Mechanismen eines, eine Zusätzliche-Quellen-Nachricht empfangenden Teilnehmers werden mit Bezug auf die 33 und 34 veranschaulicht.
  • 33 zeigt die in einer Quelle einer zusätzlichen Quelle ausgeführten Verfahrensschritte. In Schritt 3302 wird der nächste Teilnehmer der Konferenz abgerufen, an welchen die zusätzliche Quelle angehängt werden wird. In Schritt 3304 wird bestimmt, ob es weitere Teilnehmer der Konferenz gibt, an die die zusätzliche Quelle angehängt werden wird. Wenn nicht, werden in Schritt 3308 Zusatz-, Hallo- und Verbinden-Nachrichten an den Teilnehmer gesendet. Wenn sie über eine positive Antwortnachricht angenommen werden (wie in 32 gezeigt), wird der Zusatz dem Teilnehmer für den Empfänger der Nachricht verfügbar. Das Verfahren setzt fort, bis Schritt 3304 bestimmt, dass sich keine zusätzlichen Teilnehmer der Konferenz an der Überwachung des Zusatzes beteiligen sollen.
  • 34 zeigt die von einem Empfänger beim Empfang der anfänglichen Zusatznachricht ausgeführten Schritte. In Schritt 3402 werden Leistungsmöglichkeiten (sofern vorhanden) und Hallo gesendet. In Schritt 3404 beginnt der Empfang der zusätzlichen Medienquelle und in Schritt 3406 wird die Konferenz-ID der Vorgängerkonferenz in der Konferenzkomponente des Empfängers gespeichert. Dies gestattet der Anwendung eine Bestimmung, dass der Zusatz in Schritt 3408 durch eine Speicherung in der Konferenzkomponente für den späteren Abruf der Vorgängermedienquelle zugeordnet ist. Wenn der Zusatz vor dem Empfang einer Verbinden- oder Zusammenführ-Nachricht empfangen wird, gestattet die Zuordnung des Zusatzes zur Vorgänger-Konferenz-ID die spätere Zuordnung beider vom Standpunkt der Anwendung aus.
  • Eine Beispielsitzung (35a und 35b)
  • Eine die vorstehend beschriebenen Protokolle verwendende Beispielsitzung ist in den 35a und 35b gezeigt. Die Fig. veranschaulichen den Ablauf der Nachrichten aus der Sicht eines ersten Endpunktes. Nach dem Aufbau der Verbindung zwischen den Stationen unter Verwendung der Transportkomponente sendet die verursachende Station die Nachricht der Leistungsmöglichkeiten 3502 und die den Namen „James Watt" der anrufenden Station spezifizierende Hallo-Nachricht 3504 mit der auf 15 (alle Bits gesetzt – senden, empfangen, Verbinder, gemeinsam nutzbar) gesetzten Betriebsartmaske. Dann wird eine anrufende Nachricht zusammen mit dem Zeitüberschreitungswert = 19392 an den Empfänger gesendet. Gleichzeitig mit dem Aufbau der Verbindung werden entsprechende Leistungsmöglichkeiten, Hallo und Antwort von der die gleiche Betriebsart aufweisenden Station mit dem Titel „Hillary Rodham" gesendet, wie durch die Pakete 35083512 veranschaulicht ist.
  • Im Anschluss an den Austausch der Leistungsmöglichkeiten, Hallo und Anruf und Antwort wird vom ersten Endpunkt eine Zusammenführ-Nachricht 3514 empfangen, die den Konferenznamen „Irgendeine Konferenz", eine Konferenz-ID = 137 und eine Teilnehmerliste umfasst. Der Endpunkt verarbeitet dann das Zusammenführen, sendet Leistungsmöglichkeiten und Hallo an einen Teilnehmer der alten Konferenz und ein Verbinden zusammen mit der Teilnehmerliste, wie durch die Nachrichten 3516, 3518 und 3520 gezeigt ist. Sobald die Verbindung aufgebaut ist, werden die Nachricht der Leistungsmöglichkeiten und die Hallo-Nachricht 3524 und 3526 vom Empfänger empfangen. Als Antwort auf das Verbinden sendet der Empfänger die Antwort-Nachricht 3528 mit dem Ergebnis = 0 (Anforderung erfolgreich). Im Anschluss daran versucht der Endpunkt durch das Senden der Rundsende-Anforderungs-Nachrichten 3530 und 3532 eine Multicast-Adresse zu verwenden. Die anderen Teilnehmer antworten mit den Rundsende-Bestätigungen 3534 und 3536, die eine Verwendung von Multicast gestatten. Die Konferenz kann dann zu jedem Zeitpunkt durch irgendeinen Teilnehmer durch das Senden von Beenden-Nachrichten an alle Teilnehmer, wie zum Beispiel 3538 und 3540, beendet werden.
  • Folglich können durch die Verwendung des Vorstehenden Verbindungen zwischen Endpunkten, wie zum Beispiel für Telekonferenzen zwischen Telekonferenzsystemen, ermöglicht werden. Dies umfasst, ist aber nicht darauf begrenzt, den Austausch von Leistungsmöglichkeiten und die Benachrichtigung von Verbindungen zwischen Endpunkten, das Hinzufügen von zusätzlichen Datenströmen zu derartigen Verbindungen und das Zusammenführen existierender Verbindungen. Es wird verstanden werden, dass obwohl das Vorstehende besonders mit Bezug auf die 135b beschrieben wurde, durch einen Fachmann viele Modifikationen vorgenommen werden können, ohne vom Umfang der Erfindung, wie sie hier beschrieben ist, abzuweichen. Die Erfindung ist folglich nur als durch die nachfolgenden beigefügten Ansprüche begrenzt zu betrachten.

Claims (31)

  1. Ein Verfahren zum Aufbau einer Kommunikation zwischen zwei Endpunkten, wobei das Verfahren umfaßt: daß ein erster Endpunkt (810) einem zweiten Endpunkt (820) mittels einer ersten Nachricht Kommunikationsmöglichkeiten (802) bezeichnet; wobei das Verfahren durch die Schritte gekennzeichnet ist: daß der erste Endpunkt den zweiten Endpunkt mittels einer zweiten Nachricht (806) über den Verbindungswunsch benachrichtigt, wobei die zweite Nachricht einen Zeitablaufwert enthält; daß der zweite Endpunkt den Zeitablauf (1208)-Wert in der zweiten Nachricht prüft und den ersten Endpunkt mittels einer dritten Nachricht (816) über eine Verbindungsbestätigung benachrichtigt; und daß der erste und der zweite Endpunkt entsprechend den Kommunikationsmöglichkeiten eine Kommunikation aufbauen.
  2. Das Verfahren nach Anspruch 1, ferner mit dem Schritt, daß der erste Endpunkt vor dem Schritt des Bezeichnens von Kommunikationsmöglichkeiten mittels einer vierten Nachricht dem zweiten Endpunkt Anwendungsmöglichkeiten bezeichnet.
  3. Das Verfahren nach Anspruch 1, ferner mit dem Schritt, daß der zweite Endpunkt dem ersten Endpunkt entsprechend dem Zeitablaufwert und einem aktuellen Kontext dynamisch antwortet.
  4. Das Verfahren nach Anspruch 1, wobei die zweite Nachricht und die erste Nachricht für die Übertragung über ein Medium gekapselt und paketiert sind.
  5. Das Verfahren nach Anspruch 2, wobei die Anwendungsmöglichkeiten Verhandlungsmöglichkeiten umfassen, so daß der erste und der zweite Endpunkt verhandeln können, um Hardware- oder Softwareeigenschaften des ersten Endpunkts zu bezeichnen.
  6. Das Verfahren nach Anspruch 1, wobei die Kommunikationsmöglichkeiten umfassen, ob der erste Endpunkt Mediendaten senden kann.
  7. Das Verfahren nach Anspruch 1, wobei die Kommunikationsmöglichkeiten umfassen, ob der erste Endpunkt Mediendaten empfangen kann.
  8. Das Verfahren nach Anspruch 1, wobei die Kommunikationsmöglichkeiten umfassen, ob zwischen dem ersten und dem zweiten Endpunkt übertragene Daten von einer Mehrzahl von Endpunkten gemeinsam genutzt werden können.
  9. Das Verfahren nach Anspruch 1, wobei die Kommunikationsmöglichkeiten umfassen, ob mehrere Endpunkte miteinander kommunizieren können.
  10. Das Verfahren nach Anspruch 1, wobei die Kommunikationsmöglichkeiten eine Versionsnummer eines von dem ersten Endpunkt unterstützten Nachrichtenaustauschprotokolls umfassen.
  11. Das Verfahren nach Anspruch 1, wobei die Kommunikationsmöglichkeiten einen Bereich von Versionen eines von dem ersten Endpunkt unterstützten Nachrichtenaustauschprotokolls umfassen.
  12. Das Verfahren nach Anspruch 1, wobei die Kommunikationsmöglichkeiten wenigstens einen Modus umfassen, in welchem der erste Endpunkt mit dem zweiten Endpunkt kommunizieren kann.
  13. Das Verfahren nach Anspruch 12, wobei der zweite Endpunkt aus dem wenigstens einen Modus auswählt, um das Kommunizieren mit dem ersten Endpunkt zu initiieren.
  14. Das Verfahren nach Anspruch 2, wobei die Anwendungsmöglichkeiten Verhandlungsmöglichkeiten umfassen, die dem zweiten Endpunkt die von dem ersten Endpunkt unterstützten Komponententypen spezifizieren.
  15. Das Verfahren nach Anspruch 2, wobei die Anwendungsmöglichkeiten Nachrichten umfassen, deren Austausch zwischen dem ersten Endpunkt und dem zweiten Endpunkt von dem ersten Endpunkt benötigt wird, bevor die Kommunikation zwischen dem ersten Endpunkt und dem zweiten Endpunkt aufgebaut wird.
  16. Das Verfahren nach Anspruch 15, wobei der erste Endpunkt und der zweite Endpunkt die Nachrichten austauschen, die vor dem Aufbau der Kommunikation zwischen dem ersten Endpunkt und dem zweiten Endpunkt benötigt werden.
  17. Ein erster Endpunkt (810) zur Kommunikation mit einem oder mehreren Endpunkten, wobei der erste Endpunkt gekennzeichnet ist durch: Mittel zum Senden wenigstens einer Nachricht an einen zweiten Endpunkt (820) zum Anzeigen eines Verbindungswunsches, wobei die wenigstens eine Nachricht enthält: Kommunikationsmöglichkeiten (802) des ersten Endpunktes und einen Zeitablauf (1208)-Wert, gemäß welchem der zweite Endpunkt antworten soll; und Mittel zum Empfangen einer von dem zweiten Endpunkt gesendeten Verbindungsbestätigungsnachricht (816).
  18. Der erste Endpunkt nach Anspruch 17, ferner mit: Mitteln zum Empfangen wenigstens einer einen Verbindungswunsch anzeigenden Nachricht aus dem zweiten Endpunkt, wobei die wenigstens eine Nachricht aus dem zweiten Endpunkt umfaßt: Kommunikationsmöglichkeiten des zweiten Endpunkts und einen Zeitablaufwert, gemäß welchem der erste Endpunkt antworten soll; Mittel zum Prüfen des Zeitablaufwerts, gemäß dem der erste Endpunkt antworten soll, und zum Benachrichtigen des zweiten Endpunkts über eine Verbindungsbestätigung; und Mittel zum Aufbau einer Kommunikation mit dem zweiten Endpunkt entsprechend den Kommunikationsmöglichkeiten des zweiten Endpunkts.
  19. Der erste Endpunkt nach Anspruch 17, wobei die wenigstens eine Nachricht ferner Anwendungsmöglichkeiten umfaßt.
  20. Der erste Endpunkt nach Anspruch 18, ferner mit: Mitteln, um dem zweiten Endpunkt entsprechend dem Zeitablaufwert für den ersten Endpunkt und einem aktuellen Kontext dynamisch zu antworten.
  21. Der erste Endpunkt nach Anspruch 19, wobei die Anwendungsmöglichkeiten Verhandlungsmöglichkeiten umfassen.
  22. Der erste Endpunkt nach Anspruch 19, wobei die Anwendungsmöglichkeiten Verhandlungsmöglichkeiten umfassen, so daß der erste und der zweite Endpunkt verhandeln können, um Hardware- oder Softwareeigenschaften des ersten Endpunkts zu bezeichnen.
  23. Der erste Endpunkt nach Anspruch 17, wobei die Kommunikationsmöglichkeiten umfassen, ob der erste Endpunkt Mediendaten senden kann.
  24. Der erste Endpunkt nach Anspruch 17, wobei die Kommunikationsmöglichkeiten umfassen, ob der erste Endpunkt Mediendaten empfangen kann.
  25. Der erste Endpunkt nach Anspruch 17, wobei die Kommunikationsmöglichkeiten umfassen, ob die zwischen dem ersten und dem zweiten Endpunkt übertragenen Daten von einer Mehrzahl von Endpunkten gemeinsam genutzt werden können.
  26. Der erste Endpunkt nach Anspruch 17, wobei die Kommunikationsmöglichkeiten umfassen, ob mehrere Endpunkte miteinander kommunizieren können.
  27. Der erste Endpunkt nach Anspruch 17, wobei die Kommunikationsmöglichkeiten eine Versionsnummer eines von dem ersten Endpunkt unterstützten Nachrichtenaustauschprotokolls umfassen.
  28. Der erste Endpunkt nach Anspruch 17, wobei die Kommunikationsmöglichkeiten einen Bereich von Versionen eines von dem ersten Endpunkt unterstützten Nachrichtenaustauschprotokolls umfassen.
  29. Der erste Endpunkt nach Anspruch 17, wobei die Kommunikationsmöglichkeiten wenigstens einen Modus umfassen, in welchem der erste Endpunkt mit dem zweiten Endpunkt kommunizieren kann.
  30. Der erste Endpunkt nach Anspruch 19, wobei die Anwendungsmöglichkeiten Verhandlungsmöglichkeiten umfassen, die dem zweiten Endpunkt die von dem ersten Endpunkt unterstützten Komponententypen spezifizieren.
  31. Der erste Endpunkt nach Anspruch 19, wobei die Anwendungsmöglichkeiten Nachrichten umfassen, deren Austausch zwischen dem ersten Endpunkt und dem zweiten Endpunkt von dem ersten Endpunkt benötigt wird, bevor die Kommunikation zwischen dem ersten Endpunkt und dem zweiten Endpunkt aufgebaut wird.
DE69634950T 1995-02-24 1996-02-23 Identifizierung von anwendungsfähigkeiten für telekonferenzverbindungen Expired - Lifetime DE69634950T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US393693 1995-02-24
US08/393,693 US5572582A (en) 1995-02-24 1995-02-24 Method and apparatus for establishing communication between two teleconferencing endpoints
PCT/US1996/002459 WO1996026587A1 (en) 1995-02-24 1996-02-23 Identifying application capabilities for teleconference connections

Publications (2)

Publication Number Publication Date
DE69634950D1 DE69634950D1 (de) 2005-08-25
DE69634950T2 true DE69634950T2 (de) 2006-04-20

Family

ID=23555836

Family Applications (2)

Application Number Title Priority Date Filing Date
DE69638363T Expired - Lifetime DE69638363D1 (de) 1995-02-24 1996-02-23 Identifizierung der Anwendungsfähigkeiten für Telekonferenzverbindungen
DE69634950T Expired - Lifetime DE69634950T2 (de) 1995-02-24 1996-02-23 Identifizierung von anwendungsfähigkeiten für telekonferenzverbindungen

Family Applications Before (1)

Application Number Title Priority Date Filing Date
DE69638363T Expired - Lifetime DE69638363D1 (de) 1995-02-24 1996-02-23 Identifizierung der Anwendungsfähigkeiten für Telekonferenzverbindungen

Country Status (5)

Country Link
US (1) US5572582A (de)
EP (6) EP1816788A3 (de)
AU (1) AU5355196A (de)
DE (2) DE69638363D1 (de)
WO (1) WO1996026587A1 (de)

Families Citing this family (82)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5909543A (en) * 1994-11-30 1999-06-01 Canon Kabushiki Kaisha Communication conference system and communication conference apparatus
US5572582A (en) * 1995-02-24 1996-11-05 Apple Computer, Inc. Method and apparatus for establishing communication between two teleconferencing endpoints
US5973724A (en) * 1995-02-24 1999-10-26 Apple Computer, Inc. Merging multiple teleconferences
US5854898A (en) * 1995-02-24 1998-12-29 Apple Computer, Inc. System for automatically adding additional data stream to existing media connection between two end points upon exchange of notifying and confirmation messages therebetween
US6785709B1 (en) * 1995-04-28 2004-08-31 Intel Corporation Method and apparatus for building customized data and/or video conferencing applications utilizing prepackaged conference control objects
US6502126B1 (en) * 1995-04-28 2002-12-31 Intel Corporation Method and apparatus for running customized data and/or video conferencing applications employing prepackaged conference control objects utilizing a runtime synchronizer
USD423485S (en) * 1995-05-05 2000-04-25 Apple Computer, Inc. Computer display screen with a computer generated menu design
JPH0946338A (ja) * 1995-07-28 1997-02-14 Toshiba Corp マルチキャスト通信制御システム
US5754775A (en) * 1995-09-27 1998-05-19 Intel Corporation Method and apparatus for formulating connection addresses on a PC conferencing system supporting multiple transport type
US5717863A (en) * 1995-09-27 1998-02-10 Intel Corporation Method and apparatus for managing pc conference connection addresses
US5889945A (en) * 1995-12-27 1999-03-30 Intel Corporation System for dynamically updating information in panels within an attendee bar corresponding to a conference session when selected information regarding to conferencing participants changes
US6314175B1 (en) * 1995-12-29 2001-11-06 At&T Corp. System and method for redirecting control of in-band signaling
JP2000508097A (ja) 1996-03-21 2000-06-27 エムパス インタラクティブ,インコーポレイテッド サーバおよび通信リンクの属性に基づいてクライアントを選択するためのネットワークマッチメーカ
US5857189A (en) * 1996-05-08 1999-01-05 Apple Computer, Inc. File sharing in a teleconference application
US7167897B2 (en) * 1996-05-08 2007-01-23 Apple Computer, Inc. Accessories providing a telephone conference application one or more capabilities independent of the teleconference application
JP3216992B2 (ja) * 1996-06-14 2001-10-09 インターナショナル・ビジネス・マシーンズ・コーポレーション ネットワーク・システムにおける接続方式、及びサーバ・マシン
US6519641B1 (en) * 1996-08-30 2003-02-11 Texas Instruments Incorporated Calculator network in which a master calculator can restrict communication between client calculators in the network
JP2982728B2 (ja) * 1996-12-06 1999-11-29 日本電気株式会社 アプリケーション共有システム
US5978806A (en) * 1997-02-18 1999-11-02 Ameritech Corporation Method and apparatus for communicating information about a called party to a calling party
US6563914B2 (en) 1997-02-26 2003-05-13 Call Sciences Limited Personal web-based teleconferencing method and system
US5999541A (en) * 1997-02-28 1999-12-07 3Com Corporation Transmission of token-ring packets over ethernet by tunneling
US5978463A (en) * 1997-04-18 1999-11-02 Mci Worldcom, Inc. Reservation scheduling system for audio conferencing resources
US6038599A (en) * 1997-04-23 2000-03-14 Mpath Interactive, Inc. Latency server and matchmaker
WO1998048343A1 (en) * 1997-04-23 1998-10-29 Motorola Inc. System, device, and method for managing multicast group memberships in a multicast network
US6023729A (en) * 1997-05-05 2000-02-08 Mpath Interactive, Inc. Method and apparatus for match making
US6119178A (en) * 1997-11-25 2000-09-12 8×8 Inc. Communication interface between remote transmission of both compressed video and other data and data exchange with local peripherals
US6275692B1 (en) 1998-02-11 2001-08-14 Telefonaktiebolaget L M Ericsson (Publ) Server request including code for customizing service to requesting cellular mobile station
US6446206B1 (en) 1998-04-01 2002-09-03 Microsoft Corporation Method and system for access control of a message queue
US6529932B1 (en) 1998-04-01 2003-03-04 Microsoft Corporation Method and system for distributed transaction processing with asynchronous message delivery
US6205498B1 (en) 1998-04-01 2001-03-20 Microsoft Corporation Method and system for message transfer session management
US6678726B1 (en) 1998-04-02 2004-01-13 Microsoft Corporation Method and apparatus for automatically determining topology information for a computer within a message queuing network
USD427576S (en) * 1998-05-01 2000-07-04 Apple Computer, Inc. Menu design for a computer display screen
USD430885S (en) * 1998-05-04 2000-09-12 Apple Computer, Inc. Composite desktop for a computer display screen
USD427607S (en) * 1998-05-07 2000-07-04 Apple Computer, Inc. Composite desktop on a computer display screen
USD428398S (en) * 1998-05-07 2000-07-18 Apple Computer, Inc. Menu design for a computer display screen
US6202089B1 (en) 1998-06-30 2001-03-13 Microsoft Corporation Method for configuring at runtime, identifying and using a plurality of remote procedure call endpoints on a single server process
US6256634B1 (en) 1998-06-30 2001-07-03 Microsoft Corporation Method and system for purging tombstones for deleted data items in a replicated database
US6848108B1 (en) 1998-06-30 2005-01-25 Microsoft Corporation Method and apparatus for creating, sending, and using self-descriptive objects as messages over a message queuing network
US6275912B1 (en) 1998-06-30 2001-08-14 Microsoft Corporation Method and system for storing data items to a storage device
US6233605B1 (en) * 1998-07-09 2001-05-15 Ncr Corporation Low-bandwidth remote conferencing
EP0998078A1 (de) * 1998-10-30 2000-05-03 Telefonaktiebolaget Lm Ericsson Konfigurationsverfahren einer Nachrichtenverbindung für eine Datenübertragung
US6298228B1 (en) 1998-11-12 2001-10-02 Ericsson Inc. Lazy updates of profiles in a system of communication devices
AU2406000A (en) * 1999-01-06 2000-07-24 Leonard C. Faucher System and method for interactive distance learning through real time videoconferencing
US6636498B1 (en) 1999-01-08 2003-10-21 Cisco Technology, Inc. Mobile IP mobile router
US6850985B1 (en) * 1999-03-02 2005-02-01 Microsoft Corporation Security and support for flexible conferencing topologies spanning proxies, firewalls and gateways
US6584493B1 (en) * 1999-03-02 2003-06-24 Microsoft Corporation Multiparty conferencing and collaboration system utilizing a per-host model command, control and communication structure
USD757052S1 (en) 2000-01-04 2016-05-24 Apple Inc. Computer display screen with graphical user interface
US6928087B2 (en) * 2000-02-10 2005-08-09 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for automatic cross-media selection and scaling
US6959341B1 (en) 2000-12-20 2005-10-25 Cisco Technology, Inc. Dynamic network allocation for mobile router
US7295551B1 (en) 2000-12-28 2007-11-13 Cisco Technology, Inc. Support mobile device in asymmetric link environment
US7006456B2 (en) * 2001-02-02 2006-02-28 Nortel Networks Limited Method and apparatus for packet-based media communication
US6928464B2 (en) * 2001-04-30 2005-08-09 Microsoft Corporation Systems and methods for unified remote control access
US7124166B2 (en) * 2001-04-30 2006-10-17 Aol Llc Duplicating digital streams for digital conferencing using switching technologies
AU2002351172A1 (en) * 2001-11-27 2003-06-10 Accenture Llp Service control framework for seamless transfer of a multimedia conference over different media
US7716333B2 (en) * 2001-11-27 2010-05-11 Accenture Global Services Gmbh Service control architecture
EP1454281B1 (de) * 2001-12-15 2012-02-08 Thomson Licensing Dienstqualitätseinrichtung auf zeitreservierungsbasis
US7346053B1 (en) 2002-05-07 2008-03-18 Cisco Technology, Inc. Methods and apparatus for supporting IP multicast for a mobile router
US6970553B1 (en) 2002-05-30 2005-11-29 Bellsouth Intellectual Property Corporation Integrated chat client with calling party choice
US6975719B1 (en) * 2002-05-30 2005-12-13 Bellsouth Intellectual Property Corporation Integrated chat client with called party choice
US7136466B1 (en) 2002-05-30 2006-11-14 Bellsouth Intellectual Property Corporation DSL integrated call waiting
US20040199787A1 (en) * 2003-04-02 2004-10-07 Sun Microsystems, Inc., A Delaware Corporation Card device resource access control
US7246099B2 (en) 2003-10-23 2007-07-17 Feldhahn Jeffrey M Method and system for updating electronic business cards
US20100088105A1 (en) * 2003-10-23 2010-04-08 Feldhahn Jeffrey M Method and system for updating electronic business cards
US7417961B2 (en) * 2003-12-09 2008-08-26 Cisco Technology, Inc. Methods and apparatus for implementing a speed sensitive mobile router
US20050218739A1 (en) * 2004-04-01 2005-10-06 Microsoft Corporation System and method for sharing objects between computers over a network
US20060291637A1 (en) * 2005-06-13 2006-12-28 David Erickson Systems and methods for a reliable teleconferencing system
US20070112963A1 (en) * 2005-11-17 2007-05-17 International Business Machines Corporation Sending routing data based on times that servers joined a cluster
US7729482B2 (en) * 2006-02-27 2010-06-01 Cisco Technology, Inc. Method and system for providing communication protocol interoperability
US20070211138A1 (en) * 2006-03-09 2007-09-13 Cisco Technology, Inc. System and method for configuring devices to facilitate video telephony
US7633917B2 (en) * 2006-03-10 2009-12-15 Cisco Technology, Inc. Mobile network device multi-link optimizations
WO2008121032A1 (en) * 2007-03-29 2008-10-09 Telefonaktiebolaget Lm Ericsson (Publ) Media stream setup in a group communication system
NO332009B1 (no) * 2008-12-12 2012-05-21 Cisco Systems Int Sarl Fremgangsmate for a igangsette kommunikasjonsforbindelser
GB2474010B (en) * 2009-09-10 2011-08-03 Thales Holdings Uk Plc Computer networking
US8914734B2 (en) 2009-12-23 2014-12-16 8X8, Inc. Web-enabled conferencing and meeting implementations with a subscription-based model
US20110150194A1 (en) 2009-12-23 2011-06-23 Ramprakash Narayanaswamy Web-Enabled Conferencing and Meeting Implementations with Flexible User Calling Features
US20110149811A1 (en) * 2009-12-23 2011-06-23 Ramprakash Narayanaswamy Web-Enabled Conferencing and Meeting Implementations with Flexible User Calling Features
US20110149809A1 (en) 2009-12-23 2011-06-23 Ramprakash Narayanaswamy Web-Enabled Conferencing and Meeting Implementations with Flexible User Calling and Content Sharing Features
CN102685079B (zh) * 2011-03-17 2015-08-05 鸿富锦精密工业(深圳)有限公司 资源共享方法
US8817801B1 (en) 2011-07-08 2014-08-26 8X8, Inc. Conferencing and meeting implementations with advanced features
TWI502974B (zh) * 2011-12-27 2015-10-01 Acer Inc 消費性電子控制整合裝置及系統
USD969822S1 (en) 2020-11-11 2022-11-15 Aspen Operating, LLC Display screen with a graphical user interface
US11831696B2 (en) 2022-02-02 2023-11-28 Microsoft Technology Licensing, Llc Optimizing richness in a remote meeting

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4756019A (en) * 1986-08-27 1988-07-05 Edmund Szybicki Traffic routing and automatic network management system for telecommunication networks
JPS63205747A (ja) * 1987-02-13 1988-08-25 インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン 通信方法及びデータ処理システム
US5101451A (en) * 1988-12-29 1992-03-31 At&T Bell Laboratories Real-time network routing
US5200951A (en) * 1989-09-12 1993-04-06 Siemens-Albis Ag Apparatus and method for transmitting messages between a plurality of subscriber stations
US5195086A (en) * 1990-04-12 1993-03-16 At&T Bell Laboratories Multiple call control method in a multimedia conferencing system
US5099510A (en) * 1990-06-11 1992-03-24 Communications Network Enhancement Inc. Teleconferencing with bridge partitioning and other features
US5136581A (en) * 1990-07-02 1992-08-04 At&T Bell Laboratories Arrangement for reserving and allocating a plurality of competing demands for an ordered bus communication network
US5341374A (en) * 1991-03-01 1994-08-23 Trilan Systems Corporation Communication network integrating voice data and video with distributed call processing
US5392344A (en) * 1991-10-03 1995-02-21 At&T Corp. Communications network class-of-service routing
US5311585A (en) * 1992-04-14 1994-05-10 At&T Bell Laboratories Carrier proportioned routing
CA2080530A1 (en) * 1992-10-14 1994-04-15 Ho Kee Chiu Dynamic networking
US5440624A (en) * 1992-11-10 1995-08-08 Netmedia, Inc. Method and apparatus for providing adaptive administration and control of an electronic conference
EP0721721B1 (de) * 1993-09-22 1999-01-07 AT&T Corp. Verfahren zum ermöglichen von änderungen der anrufmerkmale in echtzeit für teilnehmer
GB9319851D0 (en) * 1993-09-25 1993-11-10 Ibm Network call management
US5473679A (en) * 1993-12-09 1995-12-05 At&T Corp. Signaling system for broadband communications networks
US5483587A (en) * 1994-06-08 1996-01-09 Linkusa Corporation System and method for call conferencing
US5572582A (en) * 1995-02-24 1996-11-05 Apple Computer, Inc. Method and apparatus for establishing communication between two teleconferencing endpoints
JP2002359690A (ja) * 2001-03-27 2002-12-13 Toshiba Corp 電話交換装置、および電話システム
US7474741B2 (en) * 2003-01-20 2009-01-06 Avaya Inc. Messaging advise in presence-aware networks
US20090228944A1 (en) * 2004-04-21 2009-09-10 Koninklijke Philips Electronics, N.V. System and method for chat load management in a network chat environment

Also Published As

Publication number Publication date
EP2045960A2 (de) 2009-04-08
EP1585284A3 (de) 2012-01-18
WO1996026587A1 (en) 1996-08-29
EP1816787A3 (de) 2007-08-15
DE69638363D1 (de) 2011-06-09
EP1816786A3 (de) 2007-08-22
EP2045960B1 (de) 2011-10-26
EP0811283B1 (de) 2005-07-20
DE69634950D1 (de) 2005-08-25
EP1816787A2 (de) 2007-08-08
EP1816788A3 (de) 2007-08-15
EP2045960A3 (de) 2010-10-13
EP1816786A2 (de) 2007-08-08
EP1816788A2 (de) 2007-08-08
US5572582A (en) 1996-11-05
EP1816787B1 (de) 2012-11-07
EP1585284A2 (de) 2005-10-12
EP0811283A1 (de) 1997-12-10
AU5355196A (en) 1996-09-11
EP1816786B1 (de) 2011-04-27

Similar Documents

Publication Publication Date Title
DE69634950T2 (de) Identifizierung von anwendungsfähigkeiten für telekonferenzverbindungen
DE4436677B4 (de) Verfahren und Einrichtung zum Übertragen von Datenblöcken großer Objekte in einem Telekonferenzsystem
DE102010010689B4 (de) Join-US-Anruferprotokoll- und Anruferbeantwortungsnachrichten
DE602004007864T2 (de) Architektur für ein ausdehnbares Echtzeitzusammenarbeitssystem
DE60200777T2 (de) Intelligente Multimediakonferenzeinrichtung
DE69816294T2 (de) Dynamische selektion von mediaströmen für ihre darstellung
DE60132433T2 (de) Sofortige nachrichtenübermittlung mit zusätzlicher sprachkommunikation
DE69838314T2 (de) Verfahren und Vorrichtung zum dynamischen Laden eines Transportmechanismus in einem Mehrpunktdatenübermittlungssystem
DE602005004721T2 (de) Verfahren zur Verwaltung von verdoppelten Nachrichtenmeldungen in multimedialen Benachrichtigungsdiensten
DE602004004601T2 (de) Verteilung von Mitgliedschaftsinformationen für Mehrfachteilnehmersitzungen auf der Applikationsebene
DE102007056725A1 (de) Verfahren zum bedingten Aufbauen einer Telekommunikationskonferenzsitzung, Telekommunikationskonferenz-Anordnung, und Telekommunikationskonferenzsitzungs-Server
EP1869919A1 (de) Verfahren zum bilden einer gemeinsamen kommunikationssitzung, verfahren zum bilden einer ersten kommunikationssitzung und einer zweiten kommunikationssitzung aus einer gemeinsamen kommunikationssitzung und kommunikationssitzungs-steuerungs-server
DE10345051B4 (de) Verfahren zum Aufbau einer Kommunikationsverbindung in einem direkt kommunizierenden Kommunikationsnetzwerk
DE10296696T5 (de) Dynamische Verteilung von Teilnehmern bei einer zentralisierten Telefonkonferenz
EP2469885B1 (de) Verfahren zur Integration von Funktionen eines Telekommunikationsnetzes in ein Datennetz
EP1207670A2 (de) Dienst zur automatischen Übermittlung von Paketdaten
DE102007058948A1 (de) Verfahren zum Ermitteln von mindestens einem Teilnehmergerät für eine Telekommunikationskonferenzsitzung, Telekommunikationskonferenz-Anordnung, und Telekommunikationskonferenzsitzungs-Server
DE60312651T2 (de) Vorrichtung und verfahren zur integrierten computergesteurten anrufverarbeitung in pakettelefonnetzen
WO2009153176A1 (de) Verfahren zur ermittlung aktiver kommunikationssitzungen und kommunikationssitzungs-informationsserver
DE60320099T2 (de) Vorrichtung und verfahren zum verteilen von gestreamten echtzeit-informationen zwischen clients
WO2010026023A1 (de) Verfahren zur ermittlung aktiver kommunikationssitzungen, kommunikationssitzungs-informationsserver, verfahren zum bereitstellen einer information über aktive kommunikationssitzungen und dokumentenmanagement-server
WO2005032102A1 (de) Verfahren zum aufbau einer kommunikationsverbindung in einem direkt kommunizierenden kommunikationsnetzwerk
DE60207056T2 (de) System und Verfahren zur Datenteilung von einem WAP-Endgerät
DE102004059748B4 (de) Verfahren und Kommunikationssystem zur Steuerung der direkten Kommunikation zwischen zwei Kommunikationspartnern
DE19741770C1 (de) Kommunikationssystem und entsprechendes Verfahren

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8328 Change in the person/name/address of the agent

Representative=s name: PATENT- UND RECHTSANWAELTE BARDEHLE, PAGENBERG, DO

8327 Change in the person/name/address of the patent owner

Owner name: APPLE INC., CUPERTINO, CALIF., US