DE602004004601T2 - Verteilung von Mitgliedschaftsinformationen für Mehrfachteilnehmersitzungen auf der Applikationsebene - Google Patents

Verteilung von Mitgliedschaftsinformationen für Mehrfachteilnehmersitzungen auf der Applikationsebene Download PDF

Info

Publication number
DE602004004601T2
DE602004004601T2 DE602004004601T DE602004004601T DE602004004601T2 DE 602004004601 T2 DE602004004601 T2 DE 602004004601T2 DE 602004004601 T DE602004004601 T DE 602004004601T DE 602004004601 T DE602004004601 T DE 602004004601T DE 602004004601 T2 DE602004004601 T2 DE 602004004601T2
Authority
DE
Germany
Prior art keywords
computer system
inviting
joining
side link
invitation
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
DE602004004601T
Other languages
English (en)
Other versions
DE602004004601D1 (de
Inventor
John Anthony Taylor
Wei Zhong
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.)
Microsoft Corp
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of DE602004004601D1 publication Critical patent/DE602004004601D1/de
Application granted granted Critical
Publication of DE602004004601T2 publication Critical patent/DE602004004601T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F16ENGINEERING ELEMENTS AND UNITS; GENERAL MEASURES FOR PRODUCING AND MAINTAINING EFFECTIVE FUNCTIONING OF MACHINES OR INSTALLATIONS; THERMAL INSULATION IN GENERAL
    • F16LPIPES; JOINTS OR FITTINGS FOR PIPES; SUPPORTS FOR PIPES, CABLES OR PROTECTIVE TUBING; MEANS FOR THERMAL INSULATION IN GENERAL
    • F16L19/00Joints in which sealing surfaces are pressed together by means of a member, e.g. a swivel nut, screwed on or into one of the joint parts
    • F16L19/06Joints in which sealing surfaces are pressed together by means of a member, e.g. a swivel nut, screwed on or into one of the joint parts in which radial clamping is obtained by wedging action on non-deformed pipe ends
    • F16L19/061Joints in which sealing surfaces are pressed together by means of a member, e.g. a swivel nut, screwed on or into one of the joint parts in which radial clamping is obtained by wedging action on non-deformed pipe ends a pressure ring being arranged between the clamping ring and the threaded member or the connecting member
    • 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
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F16ENGINEERING ELEMENTS AND UNITS; GENERAL MEASURES FOR PRODUCING AND MAINTAINING EFFECTIVE FUNCTIONING OF MACHINES OR INSTALLATIONS; THERMAL INSULATION IN GENERAL
    • F16LPIPES; JOINTS OR FITTINGS FOR PIPES; SUPPORTS FOR PIPES, CABLES OR PROTECTIVE TUBING; MEANS FOR THERMAL INSULATION IN GENERAL
    • F16L33/00Arrangements for connecting hoses to rigid members; Rigid hose connectors, i.e. single members engaging both hoses
    • F16L33/22Arrangements for connecting hoses to rigid members; Rigid hose connectors, i.e. single members engaging both hoses with means not mentioned in the preceding groups for gripping the hose between inner and outer parts
    • F16L33/223Arrangements for connecting hoses to rigid members; Rigid hose connectors, i.e. single members engaging both hoses with means not mentioned in the preceding groups for gripping the hose between inner and outer parts the sealing surfaces being pressed together by means of a member, e.g. a swivel nut, screwed on or into one of the joint parts
    • F16L33/224Arrangements for connecting hoses to rigid members; Rigid hose connectors, i.e. single members engaging both hoses with means not mentioned in the preceding groups for gripping the hose between inner and outer parts the sealing surfaces being pressed together by means of a member, e.g. a swivel nut, screwed on or into one of the joint parts a clamping ring being arranged between the threaded member and the connecting member
    • 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/1822Conducting the conference, e.g. admission, detection, selection or grouping of participants, correlating users to one or more conference sessions, prioritising transmission
    • 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/40Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
    • 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/185Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with management of multicast group membership

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Mechanical Engineering (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Telephonic Communication Services (AREA)
  • Investigating Or Analysing Biological Materials (AREA)
  • Multi Processors (AREA)

Description

  • Das Gebiet der Erfindung
  • Die vorliegende Erfindung bezieht sich auf Computernetzwerke, und im Speziellen auf das Verteilen von Zugehörigkeitsinformationen für Mehrfachteilnehmer-Anwendungsschicht-Sessions.
  • Hintergrund und relevante Technik
  • Computernetzwerke haben unsere Fähigkeit zu kommunizieren und auf Informationen zuzugreifen verbessert durch das Ermöglichen, dass ein Computer oder eine Vorrichtung (hiernach werden beide als "Computersystem" bezeichnet) über ein Netzwerk mit einem anderen Computersystem unter Benutzung von elektronischen Nachrichten kommuniziert. Beim Übertragen einer elektronischen Nachricht zwischen Computersystemen wird die elektronische Nachricht öfter durch einen Protokoll-Stack (Protokoll-Stapel-Speicher) passieren, welche Operationen mit den Daten in der elektronischen Nachricht (z.B. Paketieren, Weiterleiten, Flusskontrolle) durchführt. Das OSI (Open System Interconnect)-Modell ist ein Beispiel eines Netzwerk-Frameworks für das Implementieren eines Protokoll-Stack.
  • Das OSI-Modell zerlegt die Operationen für das Übertragen einer elektronischen Nachricht in sieben getrennte Layer, von denen jede bestimmt ist, um bestimmte Operationen in den Datenweiterleitungsprozess vorzunehmen. Während ein Protokoll-Stack potenziell jede der Layer implementieren kann, implementieren viele Protokoll-Stacks nur einzelne Layer zur Benutzung bei dem Übertragen von Daten über ein Netzwerk. Wenn die Daten von einem Computersystem übertragen werden, entspringen diese der Anwendungsschicht und werden zu dazwischen liegenden niedrigeren Schichten und danach in das Netzwerk weitergereicht. Wenn die Daten von einem Netzwerk empfangen werden, treten diese über die physikalische Schicht ein und werden zu höheren dazwischen liegenden Schichten weitergeleitet und dann letzten Endes von der Anwendungsschicht empfangen. Die Anwendungsschicht, die oberste Schicht, ist verantwortlich für das Unterstützen von Applikationen und Benutzerprozessen, wie beispielsweise elektronische Konferenzsoftware.
  • Die Funktionalität von unteren Schichten eines Protokoll-Stack wird typischerweise von der Anwendungsschicht abstrahiert. Das heißt, Anwendungsdaten werden zu und von einer Anwendungsschicht durch die unteren Schichten übertragen, ohne der Anwendungsschicht die Funktionalität der unteren Schichten darzulegen. Die Abstraktion kann es für eine Zahl von Anwendungsschichtprozessen in verschiedenen Computersystemen erscheinen lassen, dass die Anwendungsschichtprozesse direkt miteinander verbunden sind (wobei eigentlich untere Schichten in entsprechenden Protokoll-Stacks Daten als die Daten, welche zwischen den Anwendungsschichtprozessen übertragen werden bearbeiten). Demnach kann die Kommunikation zwischen zwei Anwendungsschichtprozessen gesehen werden als eine logische Verbindung (auch als logischer Link bezeichnet), ungeachtet des zugrunde liegenden physikalischen Netzwerkes, welches die Kommunikation ermöglicht.
  • Des Öfteren, wenn Computersysteme miteinander kommunizieren, werden die Computersysteme zuerst eine Kommunikations-Session aufbauen. Dies kann Anwendungsschichtprozesse in einer Zahl von unterschiedlichen Computersystemen beinhalten, welche eine Mehrfachteilnehmer-Anwendungsschicht-Session aufbauen, wie z.B. eine Mehrfachteilnehmer-Konferenz-Session. Um eine Mehrfachteilnehmer-Konferenz-Session aufzubauen, werden Konferenzanwendungen in jedem der Computersysteme logisch miteinander verbunden. Die logischen Verbindungen führen typischerweise zu Computersystemen, welche in einer logischen Hierarchie konfiguriert sind, wie beispielsweise einer T.120-Konferenz-Session.
  • Die logisch verbundenen Konferenzanwendungen wählen dann ein steuerndes Computersystem als die „Wurzel" der logischen Hierarchie aus. Andere Computersysteme in der logischen Hierarchie können „Blätter"-Computersysteme (Computersysteme ohne weitere Computersysteme unterhalb diesen in der logischen Hierarchie) oder zwischen liegende Computersysteme (Computersysteme zwischen dem Wurzel-Computersystem und einem Blatt-Computersystem in der logischen Hierarchie). Das steuernde Computersystem ermöglicht die Übertragung von Konferenzdaten zwischen den anderen Computersystemen in der logischen Hierarchie. Jedes dazwischen liegende und Blatt-Computersystem pflegt Verbindungsinformationen (in Verbindung mit einer logischen Verbindung) für das Senden von Konferenzdaten zu und empfangen von Konferenzdaten von dem Wurzel-Computersystem. Gleichermaßen pflegt das steuernde Computersystem Verbindungsinformationen für das Senden von Konferenzdaten und das Empfangen von Konferenzdaten von jedem dazwischen liegenden und Blatt-Computersystem.
  • Typischerweise entstammen die Konferenzdaten aus einem dazwischen liegenden oder einem Blatt-Computersystem in einem Ast der logischen Hierarchie. Das dazwischen liegende oder Blatt-Computersystem überträgt die Konferenzdaten die logische Hierarchie aufwärts zu dem steuernden Computersystem. Das steuernde Computersystem überträgt dann die Konferenzdaten abwärts der logischen Hierarchie zu allen dazwischen liegenden und Blatt-Computersystemen in der logischen Hierarchie. Demnach fließen während einer typischen Konferenz-Session alle Konferenzdaten durch das steuernde Computersystem.
  • Jedoch kommuniziert ein dazwischen liegendes oder Blatt-Computersystem in einem Ast der logischen Hierarchie nicht typischerweise direkt mit dazwischen liegenden oder Blatt-Computersystemen in einem anderen Ast der logischen Hierarchie. Demnach gibt es, wenn überhaupt, ein geringes Bedürfnis für ein dazwischen liegendes oder Blatt-Computersystem in einem Ast der logischen Hierarchie, Verbindungsinformationen für dazwischen liegende oder Blatt-Computersysteme in anderen Ästen der logischen Hierarchie zu pflegen. Da alle Konferenzdaten durch das steuernde Computersystem fließen, beeinträchtigt der Ausfall eines dazwischen liegenden oder Blatt-Computersystems nicht die Übertragung von Konferenzdaten zu Computersystemen außerhalb des entsprechenden Astes, welcher das ausfallende Computersystem beinhaltet. Demnach können Konferenzdaten immer noch zu Computersystemen in anderen Ästen übertragen werden, wenn ein dazwischen liegendes oder Blatt-Computersystem ausfällt.
  • Unglücklicherweise kann der Ausfall eines steuernden Wurzel-Computersystems in einer logischen Hierarchie einen deutlichen nachteiligen Einfluss auf die Übertragung von Konferenzdaten für eine Mehrfachteilnehmer-Konferenz-Session haben. Wenn ein steuerndes Wurzel-Computersystem ausfällt, gehen andere Computersysteme in der logischen Hierarchie in den Auswahlmodus über. Während des Auswahlmodus ist die Übertragung von Konferenzdaten ausgesetzt, während die anderen Computersysteme versuchen, ein neues steuerndes Wurzel-Computersystem zu wählen.
  • Der Wahlalgorithmus, welcher typischerweise implementiert ist um ein neues steuerndes Wurzel-Computersystem zu wählen, kann sehr komplex sein und kann in der Größenordnung einige Sekunden benötigen, um abzuschließen. Da keine Daten während des Wahlmodus übertragen werden, wird das Benutzererlebnis während der Ausführung des Wahlalgorithmus deutlich verschlechtert. Es kann ebenso sein, dass andere Computersysteme anfänglich nicht dem Computersystem, welches als das steuernde Wurzel- Computersystem gewählt werden soll, zustimmen. Demnach kann der Wahlalgorithmus mehrmals ausgeführt werden, solange bis ein angemessenes Wahlergebnis erreicht ist. Dies kann den Wahlprozess verlängern und das Benutzererlebnis weiter verschlechtern. Des Weiteren kann es vorkommen, dass angemessene Wahlergebnisse nicht erreicht werden (d.h. der Wahlalgorithmus schlägt fehl, um automatisch ein neues steuerndes Computersystem zu wählen). Demnach kann die Expertise eines Systemadministrators benötigt sein, um die Mehrfachteilnehmer-Konferenz-Session zurückzusetzen und/oder ein neues steuerndes Wurzel-Computersystem auszuwählen.
  • Zusätzliche Computersysteme können von der Teilnahme an einer Mehrfachteilnehmer-Konferenz-Session abgehalten werden, wenn die Computersysteme der Mehrfachteilnehmer-Konferenz-Session in dem Wahlmodus sind. Ein Benutzer eines Computersystems, welcher versucht, der Mehrfachteilnehmer-Konferenz-Session während des Wahlmodus beizutreten, kann eine falsche Indikation erhalten, dass die Mehrfachteilnehmer-Konferenz-Session nicht existiert. Dies kann darin resultieren, dass der Benutzer weitere Bemühungen unterlässt, um sich mit der Mehrfachteilnehmer-Konferenz-Session zu verbinden, obwohl die Mehrfachteilnehmer-Konferenz-Session aufgebaut ist und Konferenzdaten anschließend übertragen werden (nachdem ein neues steuerndes Wurzel-Computersystem gewählt ist).
  • US 2002/0105917 A1 beschreibt eine Konferenzschaltungsvorrichtung zum Verwalten einer Konferenz zwischen Mediensignalquellen, welche Mediendatenpakete erzeugen, die Mediendatenpakete übertragen kodierte Medieninformationen und Kodiertypinformationen. Die Mediensignalquellen erzeugen, um einer Konferenz beizutreten, Linknachrichten, welche die jeweils unterstützten Kodiertypen beinhalten, und übertragen die Linknachrichten zu der Konferenzschaltungsvorrichtung. Die Konferenzschaltungsvorrichtung empfängt die Linknachrichten und bearbeitet diese, um einen ersten gemeinsamen Kodiertyp zu erlangen, welcher von allen Mediensignalquellen in der Konferenz unterstützt wird und einen zweiten Kodiertyp zu erlangen, welcher von einer Teilmenge der Mediensignalquellen in der Konferenz unterstützt wird. Die Konferenzschaltungsvorrichtung erzeugt Linknachrichtanwortsignale, welche den ersten Kodiertyp und den zweiten Kodiertyp an die Teilmenge der Mediensignalquellen übertragen und welche mindestens den ersten Kodiertyp an die Mediensignalquellen außerhalb der Teilmenge aller Mediensignalquellen übertragen. In Erwiderung auf das Linknachrichtantwortsignal aktiviert jede Mediensignalquelle zumindest den ersten Kodiertyp und wahlweise den zweiten Kodiertyp.
  • Kurzer Überblick über die Erfindung
  • Es ist die Aufgabe der vorliegenden Erfindung, Systeme, Verfahren und Computerprogrammprodukte für das Verteilen von Zugehörigkeitsinformationen für Mehrparteienanwendungsschichtsessions zur Verfügung zu stellen.
  • Diese Aufgabe ist gelöst durch die Erfindung, wie diese in den unabhängigen Ansprüchen definiert ist.
  • Ausführungsformen sind in den abhängigen Ansprüchen beschrieben.
  • Die zuvor beschriebenen Probleme mit dem früheren Stand der Technik werden überwunden durch die Prinzipien der vorliegenden Erfindung, welche auf Verfahren, Systeme, Computerprogrammprodukte und Datenstrukturen für das Verteilen von Zugehörigkeitsinformationen für Mehrfachteilnehmer-Anwendungsschicht-Sessions gerichtet sind. Eine Mehrfachteilnehmer-Anwendungsschicht-Session, wie beispielsweise eine Mehrfachteilnehmer-Konferenz-Session, beinhaltet eine Anzahl von teilnehmenden Computersystemen. Eine Anzahl von unterschiedlichen Netzwerktechnologien (z.B. Ethernet, Token Ring, 802.11, usf.) können unterschiedliche teilnehmende Computersysteme an der Mehrfachteilnehmer-Konferenz-Session physikalisch verbinden. Konferenzanwendungen in jedem der teilnehmenden Computersysteme sind logisch miteinander verbunden (d.h. Konferenzanwendungsverbindungen werden abstrahiert von den physikalischen Verbindungen), was in einem logischen Graph resultiert, z.B. einem hierarchischen Baum. Es kann sein, dass eine Konferenzanwendung in einem teilnehmenden Computersystem mit Konferenzanwendungen in einer Anzahl von anderen teilnehmenden Computersystemen logisch verbunden ist.
  • Ein beitretendes Computersystem kann versuchen, der Mehrfachteilnehmer-Konferenz-Session beizutreten (oder der Mehrfachteilnehmer-Konferenz-Session anzeigen, dass dieses noch "am Leben" ist) durch das Senden einer "Hallo"-Nachricht an ein einladendes Computersystem, welches schon an der Mehrfachteilnehmer-Konferenz-Session teilnehmend sein kann. Das einladende Computersystem empfängt die "Hallo"-Nachricht und aktualisiert eine einladungsseitige Verbindungsdatenbank (auch als Linkdatenbank oder Linkdatenbasis bezeichnet), im folgenden auch als Verbindungsdatenbank der einladenden Seite bezeichnet, um anzuzeigen, dass das einladende Computersystem logisch mit dem beitretenden Computersystem verbunden ist. Die Computersysteme der einladenden Seite senden die aktualisierte Verbindungsdatenbank der einladenden Sei te an das beitretende Computersystem. Die aktualisierte Verbindungsdatenbank der einladenden Seite beinhaltet zumindest ein Verbindungsstatus-Eintrag (auch als Linkzustandsdatensatz bezeichnet) der einladenden Seite, welche anzeigt, dass das einladende Computersystem logisch mit dem beitretenden Computersystem verbunden ist. Wenn das einladende Computersystem bereits an der Mehrfachteilnehmer-Konferenz-Session teilnimmt, kann die Vebindungsdatenbank der einladenden Seite Verbindungsstatus-Einträge für andere teilnehmende Computersysteme beinhalten.
  • Ein Verbindungsstatus-Eintrag beinhaltet zumindest einen Computersystem-Identifizierer, einen Zeitstempel und eine Liste von logischen Verbindungen zu Nachbar-Computersystemen. Somit, wenn ein beitretendes Computersystem einer Mehrfachteilnehmer-Konferenz-Session beitritt, kann das beitretende Computersystem eine Verbindungsdatenbank empfangen, welches andere teilnehmende Computersysteme und die logischen Verbindungen, welche andere teilnehmende Computersysteme verbindet, beinhaltet. Demnach, wenn ein teilnehmendes Computersystem ausfällt, können andere teilnehmende Computersysteme sich leichter von diesem Ausfall erholen und die Mehrfachteilnehmer-Konferenz-Session kann weitergeführt werden, ohne das Benutzererlebnis signifikant zu verschlechtern.
  • Das beitretende Computersystem empfängt die aktualisierte Verbindungsdatenbank der einladenden Seite und aktualisiert möglicherweise eine beitrittsseitige Verbindungsdatenbank, im folgenden auch als Verbindungsdatenbank der beitretenden Seite genannt, mit Verbindungsstatus-Einträgen der Verbindungsdatenbank der einladenden Seite. Das Aktualisieren einer Verbindungsdatenbank der beitretenden Seite kann beinhalten das Vergleichen von Zeitstempeln in der Verbindungsdatenbank der beitretenden Seite mit den Zeitstempeln in der empfangenen Verbindungsdatenbank der einladenden Seite. Wenn ein Verbindungsstatus-Eintrag in der empfangenen Verbindungsdatenbank der einladenden Seite neuer ist, kann die Verbindungsdatenbank der beitretenden Seite aktualisiert werden mit dem Verbindungsstatus-Eintrag der empfangenen Verbindungsdatenbank der einladenden Seite. Wenn die Verbindungsdatenbank der beitretenden Seite keinen Verbindungsstatus-Eintrag für ein teilnehmendes Computersystem hat, wird ein entsprechender Verbindungsstatus-Eintrag der empfangenen Verbindungsdatenbank der einladenden Seite benutzt, um die Verbindungsdatenbank der beitretenden Seite zu aktualisieren.
  • Wenn es angebracht ist, fügt das beitretende Computersystem (oder aktualisiert) einen Verbindungsstatus-Eintrag der beitretenden Seite in die Verbindungsdatenbank der beitretenden Seite ein, um anzuzeigen, dass das beitretende Computersystem logisch mit dem einladenden Computersystem verbunden ist. Das beitretende Computersystem sendet einen Verbindungsstatus-Eintrag der beitretenden Seite an das einladende Computersystem. Das einladende Computersystem kann den Verbindungsstatus-Eintrag der empfangenden Seite weiterleiten (ebenso wie die aktualisierte Verbindungsdatenbank der einladenden Seite) an andere teilnehmende Computersysteme. Demnach gehen teilnehmende Computersysteme kontinuierlich in einen stationären Zustand über, in dem jedes teilnehmende Computersystem von anderen teilnehmenden Computersystemen und logischen Verbindungen, die mit anderen teilnehmenden Computersystemen verbunden sind, Kenntnis hat.
  • In manchen Beispielen stellt ein reparierendes Computersystem fest, dass Verbindungsdaten (Linkdaten) nicht mehr von einem Nachbar-Computersystem empfangen werden (z.B. ein teilnehmendes Computersystem, welches als logisch verbunden angezeigt wird mit dem reparierenden Computersystem in einem Verbindungsstatus-Eintrag der reparierenden Seite(auch als Reparaturseite bezeichnet)). Demnach entfernt das reparierende Computersystem das Nachbar-Computersystem von der Liste von Nachbar-Computersystemen des reparierenden Computersystems (z.B. beinhaltet in dem Verbindungsstatus-Eintrag der reparierenden Seite) und entfernt den Verbindungsstatus-Eintrag des Nachbarcomputersystems von der Verbindungsdatenbank der reparierenden Seite. Das reparierende Computersystem identifiziert eine Liste von logisch unerreichbaren teilnehmenden Computersystemen, basierend auf Verbindungsdaten in der Verbindungsdatenbank der reparierenden Seite. Das reparierende Computersystem versucht, mindestens ein logisch unerreichbares teilnehmendes Computersystem anzuschließen, um die Mehrfachteilnehmer-Konferenz-Session zu reparieren.
  • Zusätzliche Merkmale und Vorteile der Erfindung werden in der noch folgenden Beschreibung fortgesetzt, und werden teilweise durch die Beschreibung klar oder können durch die Anwendung der Erfindung erfahren werden. Die Merkmale und Vorteile der Erfindung können erhalten und erreicht werden durch die Instrumente und Kombinationen, welche in den angehängten Ansprüchen beschrieben sind. Diese und andere Merkmale der vorliegenden Erfindung werden aus der nachfolgenden Beschreibung und angehängten Ansprüche ersichtlich oder können durch die Anwendung der Erfindung erfahren werden, wie nachfolgenden beschrieben.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Um die Art und Weise, in welcher die oben erwähnten und andere Vorteile und Merkmale der Erfindung erhalten werden können, wird eine Beschreibung der zuvor beschriebenen Erfindung gegeben durch Bezug auf spezielle Ausführungsformen derselben, welche in den angehängten Zeichnungen illustriert sind. Unter der Voraussetzung, dass diese Zeichnungen nur typische Ausführungsformen der Erfindungen zeigen und deshalb den Schutzumfang nicht einschränken können, wird die Erfindung mit zusätzlicher Genauigkeit und Detailliertheit anhand der begleitenden Bildern beschrieben, in welchen:
  • 1 eine angemessene Betriebsumgebung für die Grundsätze der vorliegenden Erfindung illustriert.
  • 2A ein Beispiel für eine Netzwerkarchitektur zeigt, welche das Beitreten einer Mehrfachteilnehmer-Konferenz-Session gemäß den Prinzipien der vorliegenden Erfindungen ermöglicht.
  • 2B ein Beispiel für eine Netzwerkarchitektur zeigt, welche es ermöglicht, eine Mehrfachteilnehmer-Konferenz-Session gemäß den Grundsätzen der vorliegenden Erfindungen zu reparieren.
  • 3 ein beispielhaftes Flussdiagramm eines Verfahrens für das Beitreten einer Mehrfachteilnehmer-Konferenz-Session illustriert.
  • 4 ein beispielhaftes Flussdiagramm eines Verfahrens für das Reparieren einer Mehrfachteilnehmer-Konferenz-Session illustriert.
  • DETAILLIERTE BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
  • Die Grundsätze der vorliegenden Erfindung sehen die Verteilung von Zugehörigkeitsinformationen für Mehrfachteilnehmer-Anwendungsschicht-Sessions vor. Teilnehmende Computersysteme in einer Mehrfachteilnehmer-Konferenz-Session senden intermittierend Heartbeat-Meldungen an andere teilnehmende Computersysteme, um zuvor hergestellte logische Verbindungen zu verifizieren zwischen den teilnehmenden Computersystemen. Ähnlicherweise, kann ein beitretendes Computersystem eine Hallo-Nachricht (welche im Wesentlichen eine Heartbeat-Meldung ist, welche das beitretende Computersystem in das einladende Computersystem einführt) an ein teilnehmendes Computer system senden, um zu versuchen, der Mehrfachteilnehmer-Konferenz-Session beizutreten. In Erwiderung auf das Empfangen einer Hallo-Nachricht sendet ein teilnehmendes Computersystem ein oder mehrere Verbindungsstatus-Einträge an das Computersystem zurück (entweder teilnehmend oder beitretend), welches die Hallo-Nachricht gesendet hat. Das Computersystem, das die Hallo-Nachricht gesendet hat, kann die zurückgesandte ein oder mehrere Verbindungsstatus-Einträge benutzen, um die Verbindungsdatenbank des teilnehmenden Computersystems zu aktualisieren. Jeder Verbindungsstatus-Eintrag kann beinhalten einen Computersystem-Identifizierer, welcher ein teilnehmendes Computersystem identifiziert, einen Zeitstempel, und eine Liste der Nachbar-Computersysteme der teilnehmenden Computersysteme.
  • In manchen Beispielen stellt ein reparierendes Computersystem fest, dass Verbindungsdaten nicht mehr von einem Nachbar-Computersystem empfangen werden (z.B. keine Verbindungsstatus-Einträge werden empfangen in Erwiderung auf eine Heartbeat-Meldung). In Erwiderung auf das Feststellen, dass Verbindungsdaten nicht mehr empfangen werden, entfernt das reparierende Computersystem Verbindungsdaten, welche mit dem Nachbar-Computersystem verbunden sind, aus der Verbindungsdatenbank der reparierenden Seite. Das beitretende Computersystem versucht, die Mehrfachteilnehmer-Konferenz-Session zu reparieren durch das Verbinden mit mindestens einem logisch unerreichbaren teilnehmenden Computersystem. Wenn eine logische Verbindung hergestellt ist, kann die Datenbank der reparierenden Seite an andere teilnehmende Computersysteme verbreitet werden. Demnach gehen teilnehmende Computersysteme kontinuierlich in stationäre Zustände über, in denen jedes teilnehmende Computersystem sich logischer Verbindungen zwischen anderen teilnehmenden Computersystemen bewusst ist.
  • Ausführungsformen innerhalb des Schutzumfangs der vorliegenden Erfindung beinhalten computerlesbare Medien zum Tragen oder welche computerlesbare Instruktionen oder Datenstrukturen darauf gespeichert haben. Solche computerlesbare Medien können jegliche erhältliche Medien sein, welche durch ein Mehrzweck- oder Sonderzweck-Computersystem zugreifbar sind. Als ein Beispiel, aber nicht als Einschränkung, können solche computerlesbare Medien physikalische Speichermedien beinhalten, wie RAM, ROM, EPROM, CD-ROM oder andere optische Speichermedien, magnetische Plattenspeicher oder andere magnetische Speichervorrichtungen oder jedes andere Medium, welches benutzt werden kann, um Programmcodemittel in der Form von computerausführbaren Instruktionen, computerlesbaren Instruktionen oder Datenstrukturen, auf wel che durch ein Mehrzweck- oder Spezialzweck-Computersystem zugegriffen werden kann, zu speichern oder zu tragen.
  • Wenn Information über ein Netzwerk oder eine andere Kommunikationsverbindung (entweder verdrahtet, kabellos oder eine Kombination hieraus) an ein Computersystem übertragen oder angeboten wird, kann die Verbindung als ein computerlesbares Medium gesehen werden. Demnach kann eine solche Verbindung als ein computerlesbares Medium bezeichnet werden. Kombinationen des Obigen sind ebenso in dem Umfang der computerlesbaren Medien beinhaltet. Computerausführbare oder computerlesbare Instruktionen beinhalten, z.B., Instruktionen und Daten, welche ein Vielzweck-Computersystem oder ein Spezialzweck-Computersystem veranlassen, eine bestimmte Funktion oder eine Gruppe von Funktionen auszuführen. Die computerausführbaren oder computerlesbaren Instruktionen können beispielsweise binäre Instruktion oder Instruktionen in einem intermediären Format wie eine Assembliersprache oder sogar Quellcode sein.
  • In der Beschreibung und in den folgenden Ansprüchen ist ein Computersystem als ein oder mehrere Softwaremodule oder ein oder mehrere Hardwaremodule oder Kombinationen hiervon definiert, welche zusammenarbeiten, um Operationen an elektronischen Daten vorzunehmen. Zum Beispiel beinhaltet die Definition des Computersystems die Hardwarekomponenten eines Personal-Computer sowie Softwaremodule wie beispielsweise das Betriebssystem des Personal-Computers. Das physikalische Layout dieser Module ist nicht wichtig. Ein Computersystem kann ein oder mehrere Computer, welche über ein Netzwerk verbunden sind beinhalten. Genauso kann ein Computersystem ein einzelnes physikalisches Gerät (wie beispielsweise ein Mobiltelefon oder Personal-Digital Assistant "PDA"), bei welchem interne Module (wie beispielsweise Speicher und Prozessor) zusammenarbeiten, um Operationen mit elektronischen Daten vorzunehmen beinhalten.
  • In dieser Beschreibung und in den nachfolgenden Ansprüchen ist eine logischer Kommunikationsverbindung als irgendein Kommunikationspfad definiert, welcher es ermöglicht, elektronische Daten zwischen zwei Entitäten, wie beispielsweise Computersystemen oder Modulen, zu transportieren. Die tatsächliche physikalische Repräsentation eines Kommunikationspfades zwischen zwei Entitäten ist nicht wichtig und kann sich mit der Zeit ändern, wie z.B. wenn ein Routingpfad geändert wird. Eine logische Kommunikationsverbindung kann beinhalten Teile eines Systembus, ein Local Area Network, ein Wide Area Network, das Internet, Kombinationen hiervon, oder Teile von irgendeinem anderen Pfad, welcher es ermöglicht, elektronische Daten zu transportieren. Logische Kommunikationsverbindungen sind definiert, so dass diese sowohl verkabelte Verbindungen als auch kabellose Verbindungen oder Kombinationen von verkabelten Verbindungen oder kabellosen Verbindungen beinhalten. Logische Kommunikationsverbindungen können ebenso Software- oder Hardwaremodule beinhalten, welche Teile von Daten derart konditionieren oder formatieren, so dass diese Teile von Daten zugreifbar machen für Komponenten, welche die Grundsätze der vorliegenden Erfindung implementieren (z.B. Proxie, Router, Gateway usf.).
  • In dieser Beschreibung und in den nachfolgenden Ansprüchen ist ein "Schema" definiert als ein Ausdruck eines gemeinsamen Vokabulars zwischen einer Vielzahl vom Computersystemen, welche der Vielzahl von Computersystemen ermöglicht, Dokumente zu bearbeiten gemäß dem gemeinsamen Vokabular. Zum Beispiel kann ein eXtensible Markup Language ("XML")-Schema eine Klasse von XML-Dokumenten definieren und beschreiben unter Benutzung von Schemakonstrukten einer XML-Schemasprache. Diese Schemakonstrukte können benutzt werden, um die Bedeutung, Benutzung und Verbindung von Datentypenelementen und ihrem Inhalt, Attributen und deren Werte, Entitäten und deren Inhalt und Notationen einzuschränken und dokumentieren, so wie diese in XML-Dokumenten benutzt werden. Demnach kann ein jedes Computersystem, welche auf ein XML-Schema zugreifen kann, XML-Dokumente gemäß dem XML-Schema bearbeiten. Des Weiteren kann jedes Computersystem, welches auf ein XML-Schema zugreifen kann, XML-Dokumente für die Benutzung durch andere Computersysteme, welche ebenso auf das XML-Schema zugreifen können, erzeugen oder modifizieren.
  • Ein Schema ist definiert, so dass dieses Dokumententypdefinitionen (DTD) beinhalten, wie z.B. DTD-Dateien, welche mit einer .dtd-Dateienweiterung enden. Ein Schema ist ebenso definiert, so dass dieses World Wide Web Consortium (W3C) XML-Schemas beinhalten, sowie beispielsweise XML-Schemadateien, welche mit einer .xsd-Dateierweiterung enden. Jedoch ist die eigentliche Dateierweiterung für ein bestimmtes DTD- oder XML-Schema nicht wichtig. Ein Schema kann benutzt werden, um praktisch jeden Datentyp zu definieren, beinhaltend logische, binäre, oktale, dezimale, hexadezimale, ganzzahlige, Gleitkomma, Buchstaben, Buchstabenfolgen, benutzerdefinierte Datentypen und Kombinationen hieraus, welche benutzt werden, um Datenstrukturen zu definieren. XML-Elemente, Attribute und Attributwerte können repräsentiert werden durch Datentypen, welche in einem Schema definiert sind. In dieser Definition und der folgenden Ansprüche bezieht sich schemabasiert auf durch ein Schema definiert oder gemäß einem Schema definiert.
  • In dieser Beschreibung und den folgenden Ansprüchen sind Verbindungsdaten im Allgemeinen definiert, so dass diese jede Information, welche mit den Verbindungen eines Computersystems mit anderen Computersystemen in einer Mehrfachteilnehmer-Konferenz-Session beinhalten, aber nicht darauf beschränkt sind auf. Verbindungsdaten sind definiert, so dass diese Verbindungsdatenbanken, Verbindungsstatus-Einträge, Computersystemidentifizierer, Zeitstempel und Nachbarlisten beinhalten. Verbindungsdaten sind ebenso definiert, so dass diese Metadaten beinhalten, welche ein Computersystem beschreiben, welche durch einen Computersystemidentifizierer identifiziert werden.
  • Der Fachmann versteht, dass die Erfindung in Netzwerk-Computerumgebungen mit vielen Typen von Computersystemenkonfigurationen, beinhaltend Router, Gateways, Firewalls, Proxies, Personal-Computer, Laptop-Computer, hand-held-Geräte, Mehrprozessorsysteme, Mikroprozessor-basierte oder programmierbare Verbraucherelektronik, Netzwerk-PCs, Minicomputer, Mainframe-Computer, Mobiltelefone, PDAs, Pager oder Ähnliches, ausgeführt werden kann. Die Erfindung kann ebenso in verteilten Systemumgebungen ausgeführt werden, in welchen lokale und entfernte Computersysteme, welche durch ein Netzwerk verbunden sind (entweder durch verkabelte Verbindungen, kabellose Verbindungen oder durch Kombinationen hieraus) die Aufgaben ausführen. In einer verteilten Systemumgebung können Programmmodule entweder in lokalen oder entfernten Speichervorrichtungen lokalisiert sein.
  • 1 und die nachfolgende Diskussion, gedacht, um eine kurze allgemeine Beschreibung einer geeigneten Computerumgebung zu geben, in welcher die Erfindung implementiert sein kann. Obwohl dies nicht erforderlich ist, wird die Erfindung in dem allgemeinen Zusammenhang von computerausführbaren Instruktionen, wie Programmmodulen, ausgeführt durch Computersysteme, beschrieben. Im Allgemeinen beinhalten Programmmodule Routinen, Programme, Objekte, Komponenten, Datenstrukturen und Ähnliches, welche bestimmte Aufgaben ausführen oder bestimmte abstrakte Datentypen implementieren. Computerausführbare Instruktionen, verbundene Datenstrukturen, und Programmmodule repräsentieren Beispiele für Programmcodemittel zum Ausführen von Vorgängen der offenbarten Verfahren.
  • In Bezug auf 1 beinhaltet eine geeignete Betriebsumgebung für die Grundsätze der Erfindung ein Mehrzweck-Computersystem in der Form eines Computersystems 100. Das Computersystem 100 kann beispielsweise ein Personal-Computer sein, welcher eingerichtet ist, um die offenbarten Operationen auszuführen. Das Computersystem 100 beinhaltet eine Benutzereingabeschnittstelle 170, welche Informationen von einem Eingabegerätempfängt, wie beispielsweise eine Tastatur, Mikrofon oder Maus. Ein Eingabegerät kann an die Benutzereingabeschnittstelle 170 angekoppelt sein, um die Eingabe von Informationen zu ermöglichen. Ein Eingabegerät kann Informationen über solch eine Verbindung übertragen in Erwiderung auf vorprogrammierte Daten oder Benutzermanipulation des Eingabegerätes.
  • Das Computersystem 100 beinhaltet eine Videoschnittstelle 150, welche es ermöglicht, ein Bildausgabesignal an externe Bildanzeigevorrichtungen zu leiten. Das Computersystem 100 kann getrennt oder vereint sein mit einer Bildanzeigevorrichtung, wie beispielsweise ein Bunt- oder Monochrom-Computermonitor. Eine Bildanzeigevorrichtung kann an die Videoschnittstelle 150 gekoppelt sein, um ein angebotenes Bildausgabesignal zu empfangen.
  • Ähnlicherweise beinhaltet das Computersystem 100 eine Audioschnittstelle 130, welche ein Audio-Ausgangssignal an externe Audio-Ausgabevorrichtungen liefert. Das Computersystem 100 kann getrennt oder verbunden sein mit einem Audiosystem, welches einen Lautsprecher oder andere Geräte beinhaltet, welche fähig sind, Klangdaten auszusenden. Ein Audiosystem kann an eine Audioschnittstelle 130 gekoppelt sein, um ein bereitgestelltes Audio-Ausgabesignal zu empfangen.
  • Das Computersystem 100 beinhaltet die Bearbeitungseinheit 120, welche komplexe und flexible Mehrzweckberechnungsfähigkeiten gewährleisten. Die Bearbeitungseinheit 120 führt computerausführbare Instruktionen aus, welche ausgeführt sind, um Merkmale des Computersystems 100 zu implementieren, beinhaltend die Merkmale der vorliegenden Erfindung. Die Bearbeitungseinheit 120 ist mit dem Systembus 110 verbunden, welches zahlreiche andere Systemkomponenten, beinhaltend den Systemspeicher 140, verbindet.
  • Der Systemspeicher 140 repräsentiert im Allgemeinen eine Vielzahl von flüchtigen und/oder nicht-flüchtigen Speichern und kann Typen der zuvor beschriebenen Speicher beinhalten. Jedoch ist der jeweilige Typ des Speichers, welcher in dem Computersystem 100 benutzt wird, nicht wichtig für die vorliegende Erfindung. Programmcodemittel bein halten ein oder mehrere Programmmodule, welche in dem Systemspeicher 140 gespeichert sein können. Die ein oder mehreren Programmmodule können ein Betriebssystem 141, ein oder mehrere Anwendungsprogramme 142, andere Programmmodule 143 und Programmdaten 144 beinhalten.
  • Das Computersystem 100 beinhaltet ebenso ein magnetisches Festplattenlaufwerk 127 zum Lesen und Schreiben von oder auf die magnetische Festplatte 139. Das magnetische Festplattenlaufwerk 127 ist mit dem Systembus 110 durch eine Massenspeicherschnittstelle 160 verbunden. Das magnetische Festplattenlaufwerk 127 und die magnetische Festplatte 139 bietet die nicht-flüchtige Speicherung von computerausführbaren Instruktionen, Datenstrukturen, Programmmodulen und anderen Daten für das Computersystem 100. Zum Beispiel kann die magnetische Festplatte 139 ein oder mehrere Programmmodule speichern, beinhaltend das Betriebssystem 141, Anwendungsprogramme 142, andere Programmmodule 143 und Programmdaten 144.
  • Das Computersystem 100 ist mit Netzwerken verbindbar, wie z.B. ein büroweites oder unternehmensweites Computernetzwerk, ein Intranet und/oder das Internet. Das Computersystem 100 kann Daten mit externen Quellen austauschen, wie beispielsweise entfernte Computersysteme und/oder entfernte Datenbanken über solch ein Netzwerk.
  • Das Computersystem 100 beinhaltet eine Netzwerkschnittstelle 180, durch welche das Computersystem 100 Daten von externen Quellen empfängt und/oder Daten zu externen Quellen überträgt. Wie in 1 gezeigt, ermöglicht die Netzwerkschnittstelle 180 den Austausch von Daten mit dem entfernten Computersystem 183 über die logische Kommunikationsverbindung 182. Die logische Kommunikationsverbindung 182 repräsentiert einen Teil eines Netzwerkes, und das entfernte Computersystem 183 repräsentiert einen Knoten des Netzwerkes. Zum Beispiel kann das entfernte Computersystem 183 ein beitretendes Computersystem sein, welches versucht, dem Computersystem 100 beizutreten. Auf der anderen Seite kann das entfernte Computersystem 183 ein einladendes Computersystem sein, welchem das Computersystem 100 beizutreten versucht.
  • Gleichermaßen beinhaltet das Computersystem 100 eine serielle Schnittstelle 190, durch welche das Computersystem 100 Daten von externen Quellen empfängt und/oder Daten zu externen Quellen überträgt. Die serielle Schnittstelle 190 ist an ein Modem 191 über eine logische Kommunikationsverbindung 159 verbunden, durch welche das Computersystem 100 Daten von externen Quellen empfängt oder Daten zu externen Quellen überträgt. Wie in 1 gezeigt, ermöglichen die serielle Schnittstelle 190 und das Modem 191 den Austausch von Daten mit entfernten Computersystemen 193 über die logische Kommunikationsverbindung 192. Die logische Kommunikationsverbindung 192 repräsentiert einen Teil eines Netzwerkes und das entfernte Computersystem 193 repräsentiert einen Knoten des Netzwerkes. Zum Beispiel kann das entfernte Computersystem 193 ein beitretendes Computersystem sein, welches versucht, dem Computersystem 100 beizutreten. Auf der anderen Seite kann das entfernte Computersystem 193 ein einladendes Computersystem sein, welchem das Computersystem 100 beizutreten versucht.
  • Während 1 eine geeignete Betriebsumgebung für die vorliegende Erfindung repräsentiert, können die Grundsätze der vorliegenden Erfindung angewendet werden auf jedes System, das fähig ist, mit einer entsprechenden Modifikation, falls nötig, die Grundsätze der vorliegenden Erfindung zu implementieren. Die Umgebung, welche in 1 gezeigt ist, ist lediglich illustrativ und repräsentiert keinesfalls auch einen kleinen Teil der vielen Möglichkeiten von Umgebungen, in welchen die Grundsätze der vorliegenden Erfindung implementiert werden können.
  • Gemäß der vorliegenden Erfindung können Verbindungsdatenbearbeitungsmodule, und auch zugehörige Daten, beinhaltend Verbindungsdatenbanken, Verbindungsstatus-Einträge, Computersystem-Identifizierer, Zeitstempel, Nachbarlisten, Metadaten und Schemata gespeichert und zugegriffen werden von jedem der computerlesbaren Medien in Verbindung mit dem Computersystem 100. Zum Beispiel können Teile solcher Module und Teile von zugehörigen Programmdaten beinhaltet sein in dem Betriebssystem 141, Anwendungsprogramm 142, Programmmodulen 143 und/oder Programmdaten 144 für die Speicherung in dem Systemspeicher 140.
  • Wenn ein Massenspeicher, wie beispielsweise eine Magnetfestplatte 139, an das Computersystem 100 gekoppelt ist, können solche Module und zugeordnete Programmdaten ebenso in dem Massenspeicher gespeichert sein. In Netzwerkumgebungen können Programmmodule, welche relativ zu dem Computersystem 100 gezeigt sind, oder Teile hiervon, in entfernten Speichervorrichtungen gespeichert sein, wie beispielsweise Systemspeicher und/oder Massenspeicher, welche mit dem entfernten Computersystem 183 und/oder dem entfernten Computersystem 193 zugeordnet sind. Die Ausführung solcher Module kann durchgeführt werden in einer verteilten Umgebung, wie zuvor beschrieben.
  • 2 zeigt eine beispielhafte Netzwerkarchitektur einer Mehrparteien-Konferenz-Session 200. Zur Klarheit ist die Mehrfachteilnehmer-Konferenz-Session 200 als ein logische Graph dargestellt. Die Darstellung mittels eines logischen Graphen abstrahiert die zugrunde liegenden physikalischen Verbindungen zwischen den teilnehmenden Computersystemen, welche an der Mehrfachteilnehmer-Konferenz-Session 200 teilnehmen. Des Weiteren, obwohl nicht gezeigt, können die zugrunde liegenden physikalischen Verbindungen zwischen den teilnehmenden Computersystemen Verbindungen von praktisch jeder Netzwerktechnologie (z.B. Token Ring, Ethernet, IEEE 802.11, Digital Subscriber Line (DSL), Asynchronous Transfer Mode (ATM), Integrated Services Digital Network (ISDN) und Data Over Cable Service Interface Specification (DICSIS) sein. Jedes teilnehmende Computersystem kann physikalisch mit der Mehrfachteilnehmer-Konferenz-Session 200 unterschiedlich verbunden sein.
  • An der Mehrfachteilnehmer-Konferenz-Session 200 teilnehmend sind Computersysteme 202, 203, 204, 207 und 208 (hiernach bezeichnet als teilnehmende Computersysteme). Die teilnehmenden Computersysteme sind durch entsprechende logische Kommunikationsverbindungen 211 bis 214 und die entsprechenden logischen Kommunikationsverbindungen 216 bis 219 (hiernach einfach als Verbindungen bezeichnet) verbunden. Jede gezeigte Verbindung in der Mehrfachteilnehmer-Konferenz-Session 200 ist mit einem ausgehenden Computersystem und einem Ziel-Computersystem verbunden. Das Ende einer Verbindung ohne einen Pfeil zeigt, woher die Verbindung entstammt, wobei das Ende der Verbindung mit einem Pfeil das Ziel der Verbindung zeigt. Zum Beispiel entstammt die Verbindung 216 dem Computersystem 203 und zielt auf das Computersystem 207.
  • Es kann sein, dass die zugrunde liegende physikalische Verbindung zwischen teilnehmenden Computersystemen, abhängig von der Richtung des Datenflusses, differiert (z.B. wegen Firewalls, Routern, Proxies usf.). Demnach können Computersysteme mehrfach verbunden sein, um die unterschiedlichen Richtungen des Datenflusses zu repräsentieren. Zum Beispiel können die zugrunde liegende Verbindung für den Datenpfad von dem Computersystem 203 zum Computersystem 202 (Verbindung 212) und die zugrunde liegende physikalische Verbindung für einen Datenpfad vom Computersystem 202 zum Computersystem 203 (Verbindung 211) unterschiedlich sein. Jedes teilnehmende Computersystem in einer Mehrfachteilnehmer-Konferenz-Session 200 kann eine Verbindungsdatenbank beinhalten, welche ein oder mehrere Verbindungsstatus-Einträge beinhaltet und ein Verbindungsdatenbearbeitungsmodul, welches Verbin dungsdaten bearbeitet, welche in und/oder von einer Verbindungsdatenbank beinhaltet sind. Verbindungsdaten können Zugehörigkeitssteuerinformationen beinhalten, welche anzeigen, welche Computersysteme Mitglieder einer Mehrfachteilnehmer-Anwendungsschicht-Session sind und wie die Computersysteme welche Teilnehmer der Mehrfachteilnehmer-Anwendungsschicht-Session sind, verbunden sind.
  • Die Mehrfachteilnehmer-Konferenz-Session 200 kann eine Echtzeit-Konferenz-Session sein. Demnach können Konferenzdaten, wie z.B. Audio- und Videodaten, zwischen den teilnehmenden Computersystemen übertragen werden. Die Übertragung von Konferenzdaten kann derart sein, dass die Konferenzteilnehmer an jedem teilnehmenden Computersystem hören und/oder sehen kann, was die anderen Konferenzteilnehmer tun. Zum Beispiel können Konferenzdaten durch eine Konferenzanwendung in einem teilnehmenden Computersystem detektiert werden und zu entsprechenden Konferenzanwendungen in anderen teilnehmenden Computersystemen zur Reproduktion in den anderen teilnehmenden Computersystemen übertragen werden.
  • Ein teilnehmendes Computersystem kann, von Zeit zu Zeit, Heartbeat-Meldungen an andere teilnehmende Computersysteme senden, um zu verifizieren, dass zuvor eingerichtete Verbindungen noch existieren. In Erwiderung auf das Empfangen einer Heartbeat-Meldung kann ein sendendes teilnehmendes Computersystem eine Verbindungsdatenbank der sendenden Seite an ein empfangendes teilnehmendes Computersystem senden. Das empfangende teilnehmende Computersystem kann Zeitstempel (oder Versionsnummer) in der Verbindungsdatenbank der sendenden Seite mit Zeitstempeln (oder Versionsnummern) in der Verbindungsdatenbank der empfangenden Seite vergleichen. Wenn das Ergebnis des Vergleichs entsprechend ist, aktualisiert das empfangende Computersystem die Verbindungsdatenbank der empfangenden Seite mit einem Verbindungsstatus-Eintrag der Verbindungsdatenbank der sendenden Seite. Demnach gehen die teilnehmenden Computersysteme kontinuierlich in einen stationären Zustand über, in dem jedes teilnehmende Computersystem von anderen teilnehmenden Computersystemen und all den Verbindungen, welche mit den anderen Computersystemen verbunden sind, Kenntnis hat.
  • Eine Verbindungsdatenbank kann einen Verbindungsstatus-Eintrag für jedes teilnehmende Computersystem beinhalten. Zum Beispiel repräsentiert Tabelle 1 in einer logischen Weise ein Beispiel für eine Verbindungsdatenbank für die teilnehmenden Computersysteme in einer Mehrfachteilnehmer-Konferenz-Session 200:
  • Tabelle 1
    Figure 00180001
  • Die Verbindungsdatenbank, welche durch Tabelle 1 repräsentiert ist, kann die Verbindungsdatenbank (z.B. Verbindungsdatenbank 238) in jedem teilnehmenden Computersystem der Mehrfachteilnehmer-Konferenz-Session 200 sein, bevor das beitretende Computersystem 206 versucht, der Mehrfachteilnehmer-Konferenz-Session 200 beizutreten. Jede Zeile der Tabelle 1 repräsentiert einen Verbindungsstatus-Eintrag für ein teilnehmendes Computersystem. Zum Beispiel zeigt die Zeile für das Computersystem 207 eine Versionsnummer "5" und dass das Computersystem 207 Verbindungen mit dem Computersystem 203 (Verbindung 217) und Computersystem 208 (Verbindung 218) hat.
  • Ein Verbindungsstatus-Eintrag kann eine Datenstruktur sein, welche benutzt wird, um Verbindungsdaten für ein teilnehmendes Computersystem zu pflegen. Zum Beispiel kann jedes teilnehmende Computersystem, welches in einer Mehrfachteilnehmer-Konferenz-Session 200 teilnimmt, mit einem entsprechenden Verbindungsstatus-Eintrag verbunden sein. Ein Verbindungsstatus-Eintrag kann in praktisch jedem Format vorliegen. Wie auch immer, ist im Folgenden eine beispielhafte Verbindungsdatenstruktur gezeigt, welche einen Verbindungsstatus-Eintrag repräsentiert:
    Figure 00180002
  • Zeile 3 der beispielhaften Verbindungsdatenstruktur ist ein "Computer System Identifier Field", welches einen Computersystemidentifizierer für das Identifizieren eines teilnehmenden Computersystems repräsentiert. Ein Computersystemidentifizierer kann, z.B., eine Netzwerkadresse (z.B. eine Internet Protokoll-(IP)-Adresse) oder eine Uniform Ressource Identifier-(URI) (z.B. einen Uniform Ressource Locator-URL) beinhalten. Zeile 4 der beispielhaften Verbindungsdatenstruktur ist ein "Computer System Metadata Field", welches Metadaten repräsentiert, welche benutzt werden, um die teilnehmenden Computersysteme, welche in Zeile 3 identifiziert wurden, zu beschreiben. Ein Metadatenwert kann, z.B., einen beschreibenden Namen beinhalten, welcher benutzt wird, um das teilnehmende Computersystem, welches in Zeile 3 identifiziert wurde, zu referenzieren.
  • Zeile 5 der beispielhaften Verbindungsdatenstruktur ist ein "Neighbor List Field", welches eine Liste von Nachbar-Computersystemen repräsentiert für die teilnehmenden Computersysteme, welche in Zeile 3 identifiziert wurden. Ein Nachbarlistenwert kann, z.B., eine Vielzahl von Computersystemidentifizierern beinhalten, welche andere teilnehmende Computersysteme identifizieren, welche mit dem teilnehmenden Computersystem verbunden sind, welches in Zeile 3 identifiziert wurde. Zeile 6 der beispielhaften Verbindungsdatenstruktur ist ein "Timestamp Field", welches eine Zeit repräsentiert, zu der das teilnehmende Computersystem, welches in Zeile 3 identifiziert wurde, die beispielhafte Verbindungsdatenstruktur erzeugt hat. Ein Zeitstempelwert kann, z.B., einen absoluten Zeitwert (z.B. 12:05 Uhr Nachmittags), einen differenziellen Zeitwert (z.B. 5 Minuten), eine Versionsnummer (z.B. 1, 2, 3, usf.) oder einen Indexwert beinhalten. Ein Indexwert kann fast jeder Datentyp sein, z.B. Zeichenfolge, Zeichen, Ganzzahlwert, Gleitzahlwert oder sogar benutzerdefinierte Datentypen.
  • Es kann sein, dass die Computersysteme, welche in der Mehrfachteilnehmer-Konferenz-Session 200 teilnehmen, ein oder mehrere Eintrittspunkte bekannt geben (d.h. Computersystemadressen und Routinginformationen), welche von einem beitretenden Computersystem benutzt werden können, welches versucht, der Mehrfachteilnehmer-Konferenz-Session 200 beizutreten. Zum Beispiel kann das Computersystem 208 eine zugehörige IP-Adresse bekannt geben, welche benutzt werden kann, um mit dem Computersystem 208 zu verbinden. Des Weiteren kann das Computersystem 208 Routinginformationen bekannt geben, basierend auf den Netzwerkkomponenten, welche dem Computersystem 208 zugehörig sind, um Daten angemessen zu dem Computersystem 208 zu leiten. Eingangspunkte und Routinginformationen können in unteren Schichten (z.B. Netzwerkschicht und/oder Transportschicht) eines Protokoll-Stacks unter einer Anwen dungsschicht (z.B. eine Konferenzapplikation), welche Verbindungsdaten verarbeitet, bekannt gegeben werden. Demnach können Verbindungsdaten der unteren Schichten (z.B. Netzwerkschichtdaten und/oder Transportschichtdaten) durch Computersysteme ausgetauscht werden, bevor teilnehmende Computersysteme Verbindungsdaten austauschen, um logische Verbindungen zu errichten. Computersysteme können Verbindungsdaten der unteren Schichten durch das Senden und Empfangen von elektronischen Nachrichten (z.B. Pakete, Rahmen, usf.) von Protokollen der unteren Schichten (z.B. IP, RCP, UDP, usf.) austauschen.
  • Der Austausch von Verbindungsdaten der unteren Schichten kann beinhalten, dass teilnehmende Computersysteme Sicherheitsinformationen mit beitretenden Computersystemen, welche anfragen um der Mehrfachteilnehmer-Konferenz-Session 200 beizutreten, austauschen. Sicherheitsinformationen können öffentliche Schlüssel beinhalten, welche benutzt werden, um teilnehmende Computersysteme und auch ein beitretendes Computersystem zu authentifizieren. Zum Beispiel kann ein öffentlicher Gruppenschlüssel einem beitretenden Computersystem angeboten werden, um die teilnehmenden Computersysteme zu authentifizieren. Der öffentliche Schlüssel, Name und Session-Identifizierer des beitretenden Computersystems kann mit dem öffentlichen Gruppenschlüssel signiert werden. Die Signatur des öffentlichen Gruppenschlüssels ermöglicht teilnehmenden Computersystemen, das beitretende Computersystem zu authentifizieren und zu autorisieren, wenn dieses versucht, einer Mehrfachteilnehmer-Konferenz-Session 200 beizutreten. In manchen Ausführungsformen wird der öffentliche Schlüssel eines einladenden Computersystems benutzt, um den öffentlichen Schlüssel, Namen und Sitzungs-Identifizierer des beitretenden Computersystems zu signieren.
  • 3 illustriert ein Flussdiagramm eines Verfahrens 300 zum Beitreten zu einer Mehrfachteilnehmer-Konferenz-Session. Das Verfahren 300 wird in Bezug auf das in 2A gezeigte Computersystem beschrieben.
  • Das Verfahren 300 beinhaltet einen Vorgang des Sendens einer Hallo-Nachricht (Vorgang 301). Vorgang 301 kann einen Vorgang eines beitretenden Computersystems beinhalten, welches eine Hallo-Nachricht an ein einladendes Computersystem sendet. Zum Beispiel, wie in 2A gezeigt, sendet das beitretende Computersystem 206 eine Hallo-Nachricht 222 an das Computersystem 208. Eine Hallo-Nachricht ist im Wesentlichen eine Heartbeat-Meldung, welche ein nicht-verbundenes beitretendes Computersystem in ein Computersystem einführt, welches bei einer Mehrfachteilnehmer-Anwen dungsschicht-Session teilnimmt. Zum Beispiel kann die Hallo-Nachricht 222 ein beitretendes Computersystem 206 in einen Computer 208 einführen und kann die Anfrage, um an der Mehrfachteilnehmer-Konferenz-Session 200 teilzunehmen, beinhalten. Das Verfahren 300 beinhaltet einen Vorgang des Empfangens einer Hallo-Nachricht (Vorgang 305). Der Vorgang 305 kann beinhalten, dass ein einladendes Computersystem eine Hallo-Nachricht von einem beitretenden Computersystem empfängt. Zum Beispiel, wie in 2A gezeigt, empfängt das Computersystem 208 eine Hallo-Nachricht 222 von dem beitretenden Computersystem 206.
  • Das Verfahren 300 beinhaltet einen Vorgang des Aktualisierens einer Datenbank der einladenden Seite (Vorgang 306). Der Vorgang 306 kann beinhalten, dass eine Verbindungsdatenbank der einladenden Seite aktualisiert wird um anzuzeigen, dass das einladende Computersystem mit dem beitretenden Computersystem verbunden ist. Eine Verbindungsdatenbank der einladenden Seite kann in Erwiderung auf das Empfangen einer Hallo-Nachricht aktualisiert werden. Zum Beispiel, in Erwiderung auf das Empfangen der Hallo-Nachricht 222, kann das Verbindungsdatenverarbeitungsmodul 248 die Verbindungsdatenbank 238 aktualisieren, um anzuzeigen, dass das Computersystem 208 mit dem beitretenden Computersystem 206 verbunden ist.
  • Das Aktualisieren der Verbindungsdatenbank 238 kann das Hinzufügen eines Computersystem-Identifiziererwertes in eine entsprechende Nachbarliste (z.B. eine Nachbarliste, welche in einem Verbindungsstatus-Eintrag enthalten ist, welche zu dem Computersystem 208 korrespondiert) beinhalten. um anzuzeigen, dass das beitretende Computersystem 206 ein Nachbar des Computersystems 208 ist. Das Aktualisieren eines Verbindungsstatus-Eintrag kann ebenso das Ändern eines Zeitstempelwertes für ein Zeitstempelfeld, wie z.B. durch das Inkrementieren einer Versionsnummer, beinhalten, um anzuzeigen, dass der Verbindungsstatus-Eintrag geändert wurde. In manchen Ausführungsformen ist nur dem teilnehmenden Computersystem ermöglicht, die Verbindungsstatus-Einträge zu aktualisieren, welche einen "Computer System Identifier"-Feldwert besitzen, welche das teilnehmende Computersystem identifizieren. Demnach ist, wenn ein Verbindungsstatus-Eintrag in einem anderen teilnehmenden Computersystem empfangen wird, die Wahrscheinlichkeit höher, dass die Verbindungsdaten, welche in dem Verbindungsstatus-Eintrag enthalten sind, richtig sind.
  • Das Verfahren 300 beinhaltet einen Vorgang des Sendens der aktualisierten einladenden Verbindungsdatenbank (Vorgang 307). Vorgang 307 kann beinhalten, dass das ein ladende Computersystem eine aktualisierte Verbindungsdatenbank der einladenden Seite an das beitretende Computersystem sendet. Die Verbindungsdatenbank der einladenden Seite beinhaltet mindestens einen Verbindungsstatus-Eintrag, welche anzeigt, dass das einladende Computersystem mit dem beitretenden Computersystem verbunden ist. Zum Beispiel kann das Computersystem 208 eine Verbindungsdatenbank 238 an das Computersystem 208 senden, nachdem die Verbindungsdatenbank 238 aktualisiert wurde, um anzuzeigen, dass das Computersystem 208 mit dem beitretenden Computersystem 206 verbunden ist. In manchen Ausführungsformen wird eine "sync"-Nachricht benutzt, um Daten von einer aktualisierten Verbindungsdatenbank zu übertragen.
  • Es sollte klar sein, dass die vorliegende Erfindung nicht beschränkt ist auf den Datentransfer, welcher ein spezifisches Transportprotokoll und Format benutzt. Jedoch ist ein Beispiel, das benutzt werden kann, um die Grundsätze der vorliegenden Erfindung zu implementieren, bezeichnet als Simple Object Access Protocol (SOAP). Verbindungsdaten der Verbindungsdatenbank 238 können beinhaltet sein in einer SOAP-Nachricht, welche eine Zahl von unteren Schichtenprotokollen verwendet, wie z.B. HyperText Transfer Protocol (HTTP) oder Direct Internet Message Encapsulation (DIME) als Transport. Das Folgende repräsentiert ein erstes Beispiel für XML-In- struktionen, die in dem Kopf und/oder Körper einer SOAP-Hülle beinhaltet sein können, um eine sync-Nachricht zu repräsentieren, welche Verbindungsdaten der Verbindungsdatenbank 238 beinhalten:
    Figure 00220001
    Figure 00230001
  • Die Elemente innerhalb der ersten beispielhaften XML-Instruktionen (zwischen <Sync> und </Sync>) können ein oder mehrere frei gestaltete XML-Dokumente beinhalten. Ebenso können die Elemente innerhalb der ersten beispielhaften XML-Instruktionen beinhalten ein oder mehrere XML-Dokumente, welche gemäß eines XML-Schemas definiert sind, welches zugreifbar ist durch Computersysteme, welche in der Mehrfachteilnehmer-Konferenz-Session 200 teilnehmen. Wenn eine Schema (z.B. ein XML-Schema) benutzt wird, um die Bedeutung von Datentypen in einer Datenstruktur (z.B. einer XML-Datenstruktur) zu beschränken, gibt es eine gesteigerte Flexibilität, um zu definieren (oder umzudefinieren) wie Verbindungsdaten ausgedrückt werden.
  • Die ersten beispielhaften XML-Instruktionen repräsentieren einen Verbindungsstatus-Eintrag für Computersysteme, welche in einer Mehrfachteilnehmer-Konferenz-Session 200 teilnehmen. Zeile 1 der ersten beispielhaften XML-Instruktionen zeigen, dass die beinhalteten Verbindungsstatus-Einträge von dem Computersystem 208 (wie durch die beinhaltete URI gezeigt ist) gesendet wurden und dass das Computersystem, welches die Verbindungsstatus-Einträge empfängt (z.B. das beitretende Computersystem 206), antworten sollte innerhalb eines Ping-Intervalles von 3. Das Ping-Intervall kann in jeder Einheit gegeben sein, wie z.B. Millisekunden, Sekunden oder Minuten. Der Ausfall des Computersystems 208 um eine Antwort von einem empfangenden Computersystem zu empfangen, innerhalb einer vorgegebenen Grenze, basierend auf dem Ping-Intervall, ist ein Anzeichen, dass Verbindungsdaten nicht mehr von dem empfangenden Computersystem empfangen werden.
  • Jeder Verbindungsstatus-Eintrag (z.B. in Zeilen 2-4, Zeilen 5-9, Zeilen 10-12, Zeilen 13-16 und Zeilen 17-19) werden durch ein entsprechendes "Knoten"-tag repräsentiert (d.h. zwischen <Node> und </Node>). Eine Anzahl von Namen-Wert-Paaren kann benutzt werden, um Verbindungsdaten zu repräsentieren, welche in einem Verbindungsstatus-Eintrag enthalten sind. Zum Beispiel ein Name-Wert-Paar in der Zeile 14 repräsentiert ein "URI"-Attribut, um ein entsprechendes URI-Attribut mit einem entsprechenden URI-Attributwert von "soapa/address_207". Der Wert soap://address_207 ist ein Uniform Ressource Identifier (URI) (z.B. repräsentiert in einem Computer System Identifier Field), welches das Computersystem 207 identifiziert. Demnach können Verbindungsdaten, die an das Computersystem 207 gesendet werden sollen, an die URI soap://address_207 gesendet werden. Ein anderes Namen-Wert-Paar in Zeile 14 repräsentiert ein "name"-Attribut und einen entsprechenden Namen-Attributwert "Node 207". Der Wert Node 207 ist ein beschreibender Name (z. B. repräsentiert in einem Computer System Metadate Field) für das Computersystem 207. Demnach kann, wenn man sich auf das Computersystem 207 bezieht, der beschreibende Name Node 207 benutzt werden.
  • Ein anderes Name-Wert-Paar in Zeile 14 repräsentiert ein Versionsattribut und einen entsprechenden Versionsattributwert von 5. Der Wert 5 ist eine Version des Verbindungsstatus-Eintrags (z. B. repräsentiert in einem Zeitstempelfeld) für das Computersystem 207. Wenn ein Computersystem einen entsprechenden Verbindungsstatus-Eintrag aktualisiert, kann das Computersystem den Versionsattributwert ändern (z.B. durch das Inkrementieren des Versionsattributwertes), um den aktualisierten Verbindungsstatus-Eintrag von dem vorherigen Verbindungsstatus-Eintrag zu unterscheiden. Demnach kann, wenn ein Computersystem aktualisierte Verbindungsdaten empfängt, wie z. B. die Verbindungsdatenbank 238, das empfangende Computersystem die Versionsnummern des derzeitigen Verbindungsstatus-Eintrag mit dem empfangenen Verbindungsstatus-Eintrag vergleichen um festzustellen, welches der neuere Verbindungsstatus-Eintrag ist. Wenn ein Verbindungsstatus-Eintrag in der Verbindungsdatenbank 238 aktueller ist als ein Verbindungsstatus (auch als Linkzustand bezeichnet) in einem empfangenden Computersystem, wird die Verbindungs datenbank in dem empfangenden Computersystem aktualisiert, um die aktuelleren Verbindungsstatus-Einträge aufzunehmen.
  • Zeile 14 repräsentiert eine Verbindung von dem Computersystem 207 zu dem Computersystems 203 (Verbindung 217). Ein Name-Wert-Paar in Zeile 15 repräsentiert ein uri-Attribut und einen entsprechenden uri-Attributwert von "soap://address_203". Demnach kann, um Verbindungsdaten an das Computersystem 203 zu senden, das Computersystem 207 die Verbindungsdaten an die URI soap://address_203 senden. Zeile 15 repräsentiert eine Verbindung vom Computersystem 207 zu dem Computersystem 208 (Verbindung 218). Ein Name-Wert-Paar in Zeile 16 repräsentiert ein uri-Attribut und einen entsprechenden uri-Attributwert von "soap://address_208". Demnach kann, um Verbindungsdaten an das Computersystem 208 zu senden, das Computersystem 208 die Verbindungsdaten an die URI soapa/address_208 senden. Zeilen 14 und 15 können kollektiv repräsentiert in einem Nachbarlistenfeld sein.
  • Die Attribute und Attributwerte von anderen Knoten-tags (in Zeilen 2-4, Zeilen 5-9, Zeilen 10-12 und Zeilen 17-19) repräsentieren ähnliche Verbindungsdaten für entsprechende teilnehmende Computersystems 202, 203, 204 und 208. In manchen Ausführungsformen sind die ersten beispielhaften XML-Instruktionen beinhaltet in dem Kopfteil der SOAP-Hülle, während Anwendungsdaten (z.B. Konferenzdaten) beinhaltet sind in dem Körper der SOAP-Hülle. Demnach können Aktualisierungen für Verbindungsdaten zusammen mit Konferenzdaten übertragen werden und benötigen nicht die Erzeugung einer separaten elektronischen Nachricht.
  • In manchen Ausführungsformen nimmt eine Hallo-Nachricht (z. B. ähnlich zu der, welche in den Vorgängen 301 und 305 benutzt wurden) oder andere Heartbeat-Meldungen, die Form einer sync-Nachricht an. Demnach kann ein beitretendes Computersystem oder teilnehmendes Computersystem ein einladendes Computersystem oder ein anderes teilnehmendes Computersystem mit Verbindungsstatusdaten (auch als Linkzustandsdaten bezeichnet) zu der Zeit, wenn dieses versucht beizutreten oder die Verbindung mit einer Mehrfachteilnehmer-Anwendungsschicht-Session zu erneuern, versorgen. Ein Computersystem, welches eine Hallo- oder Heartbeat-Meldung in der Form einer sync-Nachricht empfängt, kann eine entsprechende Verbindungsdatenbank aktualisieren, so dass diese Verbindungsstatusdaten, welche in der sync-Nachricht enthalten sind, einschließen. Dies kann besonders vorteilhaft sein, wenn ein beitretendes Computersystem schon mit anderen Computersystemen verbunden ist (z.B. wenn zwei Mehrfachteilnehmer-Anwendungsschicht.-Sessions verbunden werden sollen). In manchen anderen Ausführungsformen ist eine Hallo-Nachricht oder eine andere Heartbeat-Meldung eine SOAP-Nachricht, welche keine anderen Knoten-tags beinhaltet. Das Folgende repräsentiert zweite beispielhafte XML-Instruktionen, welche in dem Kopf und/oder Körper einer SOAP-Hülle beinhaltet sind, um eine Hallo- oder Heartbeat-Meldung zu repräsentieren:
    • 1. <Sync from="soap://address_204"interval="2">
    • 2. </Sync>
  • Daten, welche in den Sync-tags repräsentiert sind in den zweiten beispielhaften XML-Instruktionen, können von dem gleichen Format sein wie die Daten, welche in einer sync-Nachricht repräsentiert sind (z.B. in den ersten beispielhaften XML-Instruktionen), welche Verbindungsstatusdaten beinhalten (z.B. ein oder mehrere Knoten-tags). Demnach kann das gleiche Schema benutzt werden, um die Bedeutung von Datentypen in Hallo-Nachrichten, Heartbeat-Meldungen und sync-Nachrichten einzuschränken. Dies fördert ein effizienteres Bearbeiten von Hallo-Nachrichten, Heartbeat-Meldungen und sync-Nachrichten. In Zeile 1 zeigen die zweiten beispielhaften XML-Instruktionen (durch die beinhaltete URI), dass diese von dem Computersystem 204 gesendet wurden und dass das Computersystem, welches die zweiten beispielhaften XML-Instruktionen empfängt, innerhalb eines Ping-Intervalles von 2 antworten sollte.
  • In Bezug auf 3 beinhaltet das Verfahren 300 einen Vorgang des Empfangens einer Verbindungsdatenbank der einladenden Seite (Vorgang 302). Der Vorgang 302 kann beinhalten, das ein beitretendes Computersystem eine Verbindungsdatenbank der einladenden Seite von dem einladenden Computersystem empfängt. Zum Beispiel kann das beitretende Computersystem 206 die Verbindungsdatenbank 238 von dem Computersystem 208 empfangen.
  • Verfahren 300 beinhaltet einen Vorgang des Aktualisierens einer Verbindungsdatenbank der beitretenden Seite (Vorgang 303). Der Vorgang 303 kann das Aktualisieren einer Verbindungsdatenbank der beitretenden Seite beinhalten, um zumindest anzu zeigen, dass das beitretende Computersystem mit dem einladenden Computersystem verbunden ist. Zum Beispiel kann das Verbindungsdatenbearbeitungsmodul 246 die Verbindungsdatenbank 236 aktualisieren, so dass diese einen Verbindungsstatus-Eintrag einschließt, dass das beitretende Computersystem 206 mit dem Computersystem 208 verbunden ist. Das Verbindungsdatenbearbeitungsmodul 236 kann ebenso, abhängig von den entsprechenden Zeitstempelwerten, die Verbindungsdatenbank 236 aktualisieren, so dass diese andere Verbindungsstatus-Einträge einschließt von der Verbindungsdatenbank 238. Demnach hat das beitretende Computersystem 206 Kenntnis von anderen teilnehmenden Computersystemen in der Mehrfachteilnehmer-Konferenz-Session 200 und deren entsprechenden Verbindungen.
  • Das Verfahren 300 beinhaltet einen Vorgang des Sendens eines aktualisierten Verbindungsstatus-Eintrags der beitretenden Seite (Vorgang 304). Der Vorgang 304 kann beinhalten, dass das beitretende Computersystem eine aktualisierte Verbindungsstatusübersicht der beitretenden Seite sendet an das einladende Computersystem. Die Verbindungsstatusübersicht der beitretenden Seite kann dem einladenden Computersystem anzeigen, dass das beitretende Computersystem mit dem einladenden Computersystem verbunden ist. Zum Beispiel kann das beitretende Computersystem 206 Verbindungsstatus-Einträge 224 an das Computersystem 208 senden. Die Verbindungsstatusübersicht 224 kann dem Computersystem 208 anzeigen, dass das beitretende Computersystem 206 mit dem Computersystem 208 verbunden ist.
  • Das Verfahren 300 beinhaltet einen Vorgang des Empfangens des Verbindungsstatus-Eintrags der beitretenden Seite (Vorgang 308). Der Vorgang 308 kann beinhalten, dass ein einladendes Computersystem einen Verbindungsstatus-Eintrag der beitretenden Seite von dem beitretenden Computersystem empfängt. Zum Beispiel kann das Computersystem 208 den Verbindungsstatus-Eintrag 224 von dem beitretenden Computersystem 206 empfangen. Das Verbindungsbearbeitungsmodul 248 kann die Verbindungsdatenbank 238 aktualisieren, so dass diese Verbindungsstatus-Einträge 224 beinhaltet. Das beitretende Computersystem 206 wird nun als ein teilnehmendes Computersystem gezeigt.
  • Das Computersystem 208 kann dann die aktualisierte Verbindungsdatenbank 238 an andere verbundene teilnehmende Computersysteme (z.B. Computersystem 207) senden. Diese anderen Computersysteme können dann für eine weitere Ausbreitung (z. B, durch Übertragen von dienlichen sync-Nachrichten) die aktualisierte Verbindungsdatenbank 238 zu anderen als die teilnehmenden Computersysteme (z.B. Computersysteme 203, 202 und 204) in der Mehrfachteilnehmer-Konferenz-Session 200 versenden. Daher werden Änderungen in Verbindungsdaten in einem teilnehmenden Computersystem schließlich an andere teilnehmende Computersysteme gesendet. Demnach geht eine Mehrfachteilnehmer-Konferenz-Session 200 kontinuierlich in einen stationären Zustand über, so dass jedes teilnehmende Computersystem Kenntnis hat von anderen teilnehmenden Computersystemen und deren entsprechenden Verbindungen, welche mit anderen teilnehmenden Computersystemen in Verbindung stehen.
  • Die teilnehmenden Computersysteme können, von Zeit zu Zeit, versuchen, anderen Computersystemen in der Mehrfachteilnehmer-Konferenz-Session 200 erneut beizutreten oder diesen zeigen, dass sie noch "am Leben sind". Demnach kann das Verfahren 300 wiederholt werden zwischen zwei teilnehmenden Computersystemen. In manchen Ausführungsformen sendet ein sendendes Computersystem eine sync-Nachricht der sendenden Seite oder, wenn es keine Verbindungsdatenaktualisierungen der sendenden Seite gibt, eine Heartbeat-Meldung der sendenden Seite an das empfangende Computersystem. Das sendende Computersystem zeigt ebenso einen Antwortschwellwert der sendenden Seite dem empfangenden Computersystem an. Eine Heartbeat-Meldung kann ein URI, welches ein teilnehmendes Computersystem identifiziert und ein Ping-Intervall beinhalten.
  • Das Computersystem der empfangenden Seite empfängt die sync-Nachricht der sendenden Seite oder die Heartbeat-Meldung der sendenden Seite und antwortet durch das Senden einer sync-Nachricht der empfangenen Seite oder, wenn es keine Verbindungsdatenaktualisierungen der empfangenen Seite gibt, eine Heartbeat-Meldung der empfangenen Seite an das sendende Computersystem. Das Computersystem der empfangenen Seite zeigt ebenso einen Antwortschwellwert der empfangenen Seite an das sendende Computersystem an. Wenn das sendende Computersystem die sync-Nachricht der empfangenden Seite empfängt oder eine Heart beat-Meldung innerhalb des Antwortschwellwertes der sendenden Seite erhält, zeigt das sendende Computersystem das empfangende Computersystem als "lebend" an. Ebenso antwortet das sendende Computersystem auf die sync-Nachricht oder Heartbeat-Meldung der empfangenden Seite durch ein Wiedersenden einer sync-Nachricht der sendenden Seite oder einer Heartbeat-Meldung der sendenden Seite (und zeigt einen weiteren Antwortschwellwert der sendenden Seite). Wenn das empfangende Computersystem eine sync-Nachricht oder Heartbeat-Meldung der sendenden Seite empfängt innerhalb des Antwortschwellwertes der empfangenden Seite, zeigt das empfangende Computersystem das sendende Computersystem als "lebendig" an.
  • Jedes teilnehmende Computersystem in einer Mehrfachteilnehmer-Konferenz-Session kann sync-Nachrichten und Heartbeat-Meldungen mit anderen teilnehmenden Computersystemen in ähnlicher Weise austauschen. Zum Beispiel kann das Computersystem 203 sync-Nachrichten austauschen, welche Verbindungsdaten enthalten mit jedem anderen der Computersysteme 202, 204 und 207. Demnach werden Verbindungsdaten, welche in einem teilnehmenden Computersystem aktualisiert werden, an andere teilnehmende Computersysteme weiter verbreitet (z.B. durch das Übertragen von geeigneten sync-Nachrichten). Zum Beispiel werden Verbindungsdaten, welche anzeigen, dass das beitretende Computersystem 206 der Mehrfachteilnehmer-Konferenz-Session 200 beigetreten ist, weiter verbreitet von dem Computersystem 208 an das Computersystem 207, an das Computersystem 203, usf. Daher werden zu jeder Zeit während einer Mehrfachteilnehmer-Konferenz-Session eine oder mehrere sync-Nachrichten und/oder eine oder mehrere Heartbeat-Meldungen zwischen den teilnehmenden Computersystemen übertragen.
  • Es kann sein, dass während einer Mehrfachteilnehmer-Konferenz-Session ein teilnehmendes Computersystem die Mehrfachteilnehmer-Konferenz-Session verlässt oder ausfällt oder dass eine Verbindung zwischen teilnehmenden Computersystemen ausfällt. Jedes dieser Ereignisse kann darin resultieren, dass ein teilnehmendes Computersystem nicht in der Lage ist, Verbindungsdaten von anderen teilnehmenden Computersystemen (z. B. innerhalb einer gegebenen Schwelle) zu empfangen. 2B zeigt eine Mehrfachteilnehmer-Konferenz-Session 200 nach dem Ausfall des Computersystems 207. Das Computersystem 207 ist mit einer gestrichelten Linie gezeigt um zu zeigen, dass Verbindungsdaten von dem Computersystem 207 nicht mehr von den Computersystemen 203 und 208 empfangen werden (zuvor Nachbarcomputersysteme). Ebenso werden die Verbindungen 235 und 236 in 2B gezeigt, die das beitretende Computersystem 206 und das Computersystem 208 verbinden. Dies zeigt, dass das beitretende Computersystem 206 ein teilnehmendes Computersystem ist.
  • 4 ist ein Flussdiagramm eines Verfahrens 400 für das Reparieren einer Mehrfachteilnehmer-Konferenz-Session. Das Verfahren 400 wird nun in Bezug auf das Computersystem der 2B beschrieben. Das Verfahren 400 beinhaltet einen Vorgang des Feststellens, dass Verbindungsdaten nicht mehr von einem Nachbarcomputersystem empfangen werden (Vorgang 401). Der Vorgang 401 kann ein reparierendes Computersystem beinhalten, welches feststellt, das Verbindungsdaten nicht mehr von einem Nachbarcomputersystem empfangen werden. Zum Beispiel können beide Computersysteme 203 und 208 in 2B feststellen, dass Verbindungsdaten nicht mehr von dem Computersystem 207 empfangen werden (ein Computersystem in der Nachbarliste beider Computersysteme 203 und 208). Das Feststellen, dass Verbindungsdaten nicht mehr empfangen werden, kann aus dem Ablauf eines Antwort-Timers resultieren. Zum Beispiel kann das Computersystems 203 folgende zweite beispielhaften XML-Instruktionen an das Computersystem 207 gesendet haben:
    Figure 00300001
  • Zeile 1 der zweiten beispielhaften XML-Instruktionen zeigt, dass die zweiten beispielhaften XML-Instruktionen von einer URI gesendet worden sind, welche mit dem Computersystem 203 verbunden sind. Zeile 1 zeigt ebenso, dass ein oder mehrere Verbindungsstatus-Einträge, welche durch die vertikalen Auslassungspunkte in den Zeilen 2-4 ein Antwortintervall von "4" haben. Wenn das Computersystem 203 keine Antwort von dem Computersystem 207 innerhalb einer gegebenen Schwelle emp fängt, welche aus dem Antwortintervall berechnet wurde, stellt das Computersystem 203 fest, dass Verbindungsdaten von dem Computersystem 207 nicht empfangen wurden. Eine gegebene Schwelle kann, z.B., das Produkt von zwei mal das Antwortintervall sein. Dies ermöglicht dass ein Intervall bei den zweiten beispielhaften XML-Instruktionen vom Computersystem 203 zum Computersystem 207 wandert und dass ein Intervall für Antwortverbindungsdaten (z.B. Verbindungsdatenbank) von dem Computersystem 207 zum Computersystem 203 wandert.
  • Das Verfahren 400 beinhaltet einen Vorgang des Entfernens eines Nachbarcomputersystems von der Nachbarcomputersystemliste des reparierenden Computersystems (Vorgang 402). Das Verfahren 400 kann ebenso einen Vorgang des Entfernens des Verbindungsstatus-Eintrags des Nachbarcomputersystems von einer Verbindungsdatenbank der reparierenden Seite (Vorgang 403) beinhalten. Zum Beispiel kann, wenn das Verbindungsbearbeitungsmodul 243 feststellt, dass Verbindungsdaten nicht mehr von dem Computersystem 207 empfangen werden, das Verbindungsbearbeitungsmodul 243 die Verbindungsdatenbank 233 aktualisieren, um Referenzen zu dem Computersystem 207 zu entfernen. Ähnlicherweise, wenn das Verbindungsbearbeitungsmodul 248 feststellt, dass Verbindungsdaten nicht mehr von dem Computersystem 207 empfangen werden, kann das Verbindungsbearbeitungsmodul 248 die Verbindungsdatenbank 238 aktualisieren, um Referenzen zu dem Computersystem 207 zu entfernen. Demnach werden nach dem Ausfall des Computersystems 207, entsprechend aktualisierte Verbindungsdatenbanken 233 und 238 durch Tabelle 2 repräsentiert:
    Figure 00310001
  • Das Verfahren beinhaltet den Vorgang des Identifizierens einer Liste von logisch unerreichbaren Computersystemen, basierend auf Verbindungsstatus-Einträgen in der Verbindungsdatenbank der reparierenden Seite (Vorgang 404). Wie in 2B gezeigt, sind die beitretenden Computersysteme 206 und 208 nicht länger mit dem Computersystem 203 nach dem Ausfall des Computersystems 207 verbunden. Demnach kann das Computersystem 203 die Computersysteme 206 und 208 als logisch unerreichbar identifizieren. Ähnlicherweise kann das Computersystem 208 die Computersystems 202, 203 und 204 als logisch unerreichbar identifizieren.
  • Das Verfahren 400 beinhaltet einen Vorgang des Versuchens mindestens einem logisch unerreichbaren Computersystem beizutreten (Vorgang 405). Zum Beispiel kann das Computersystems 203 eine Hallo-Nachricht an das Computersystem 208 senden, das Computersystem 208 kann mit der Verbindungsdatenbank 238 antworten, und das Computersystem 203 kann erneut mit der Verbindungsdatenbank 233 antworten (alles zusammenfassend repräsentiert durch Verbindungsdaten 244). Demnach können Verbindungsdatenbanken 233 und 238 nacheinander aktualisiert werden, um anzuzeigen, dass die Computersysteme 203 und 208 Nachbarn sind. Die aktualisierten Verbindungsdaten der Verbindungsdatenbanken 236 und 238 können dann (z. B. durch Übertragung entsprechender sync-Nachrichten) an andere teilnehmende Computersysteme in der Mehrfachteilnehmer-Konferenz-Session 200 weiter verbreitet werden.
  • In manchen Beispielen versucht ein reparierendes Computersystem, eine Verbindung mit einer Vielzahl von logisch unerreichbaren Computersystemen oder sogar mit jedem logisch unerreichbaren Computersystem herzustellen. In 2B kann das Computersystem 203 versuchen, eine Verbindung mit dem Computersystem 208 zu errichten und dem Computersystem 206 beizutreten. Ähnlicherweise kann das Computersystem 203 versuchen, eine Verbindung mit dem Computersystem 202, 203 und 204 zu errichten. Nach dem Beitreten zu zuvor logisch unerreichbaren Computersystemen können die Verbindungsdaten in den zuvor logisch unerreichbaren Computersystemen eine Konnektivität zu anderen logisch unerreichbaren Computersystemen anzeigen. Daher können, obwohl ein teilnehmendes Computersystem versuchen kann eine Verbindung zu jedem logisch unerreichbaren Computersystem herzustellen, manche logisch unerreichbaren Computersysteme durch ein teilnehmendes Computersystem, welches anderen zuvor logisch unerreichbaren Computersystemen beitritt, erreichbar werden. Wenn ein logisch unerreichbares Computersystem erreichbar wird, kann ein teilnehmendes Computersystem davon absehen zu versuchen, logisch unerreichbaren Computersystemen beizutreten (da Verbindungs daten an das teilnehmende Computersystem von anderen beigetretenen Computersystemen propagiert wird). Das kann in einem "Netz" von Verbindungen resultieren zwischen den teilnehmenden Computersystemen einer Mehrfachteilnehmer-Konferenz-Session 200.
  • Die Verbindungsdaten, welche von den Computersystemen ausgetauscht werden in einer Mehrfachteilnehmer-Konferenz-Session, können definiert werden gemäß dem folgenden beispielhaften XML-Schema:
    Figure 00330001
    Figure 00340001
  • Die Zeilen 6-14 definieren ein "Sync"-Element eines "SyncType"-Datatyps. Spezifischer definieren Zeilen 7-11 den SyncType-Datentyp, so dass dieser null oder mehr Knotenelemente eines "NodeType"-Datentyps enthält, Zeile 12 definiert den "Sync-Type"-Datentyp, so dass dieser ein "from"-Attribut eines URI-Datentyps enthält, und Zeile 13 definiert, dass der "SyncType"-Datentyp ein "Intervall"-Attribut des Datentyps "short integer" enthält.
  • Zeilen 16-24 definieren den "NodeType"-Datentyp. Im Speziellen definieren Zeilen 17-21 den "NodeType"-Datentyp, so dass dieser null oder mehr "Link"-Elemente enthält eines "LinkType"-Datentyps, Zeile 22 definiert, dass der "NodeType"-Datentyp ein "uri"-Attribut eines URI-Datentyps enthält, und Zeile 23 definiert, dass der "NodeType"-Datentyp ein "name"-Attribut eines Zeichenfolgendatentyps enthält.
  • Zeilen 26-28 definieren des Weiteren den "LinkType"-Datentyp. Im Speziellen definiert Zeile 27 den "LinkType"-Datentyp, so dass dieser ein uri-Attribut des URI-Datentyps enthält.
  • Jedes der teilnehmenden Computersysteme in einer Mehrfachteilnehmer-Konferenz-Session kann Zugriff auf die beispielhaften XML-Schemata haben. Demnach kann jedes der Computersysteme, welche in der Mehrfachteilnehmer-Konferenz-Session 200 enthalten sind, Verbindungsdaten gemäß dem beispielhaften XML-Schema bearbeiten.
  • Die vorliegende Erfindung kann in anderen speziellen Formen verkörpert sein, ohne von deren wesentlicher Charakteristik abzuweichen. Die beschriebenen Ausführungsformen sollen in jeder Hinsicht nur als illustrativ und nicht als restriktiv angesehen werden. Der Schutzbereich der Erfindung ist deshalb durch die angefügten Ansprüche gegeben und nicht durch die vorangegangene Beschreibung. Alle Änderungen innerhalb der Bedeutung und Äquivalenzbereiche der Ansprüche sind durch deren Umfang miteingeschlossen.

Claims (39)

  1. Verfahren (300) zur Verwendung in einer Mehrparteien-Anwendungsschicht-Session (200), die mindestens ein einladendes Computersystem (100, 183, 193, 208) enthält, wobei das einladende Computersystem über ein Netzwerk mit einem beitretenden Computersystem (100, 183, 193, 206) verbindbar ist, um mit dem beitretenden Computersystem durch Übertragung elektronischer Nachrichten (222, 238, 224) zu kommunizieren, und wobei das Verfahren für einen beitrittsseitigen Anwendungsschicht-Prozess am beitretendem Computersystem ist, um der Mehrparteien-Anwendungsschicht-Session beizutreten, und umfasst: einen Schritt des Sendens (301) einer Hallo-Nachricht (222) an das einladende Computersystem; einen Schritt des Empfangens (302) einer einladungsseitigen Linkdatenbasis (238) von dem einladenden Computersystem, wobei die einladungsseitige Linkdatenbasis einen einladungsseitigen Linkzustandsdatensatz enthält, der angibt, dass das einladende Computersystem logisch mit dem beitretendem Computersystem verbunden ist; einen Schritt des Aktualisierens (303) einer beitrittsseitigen Linkdatenbasis, um zumindest anzugeben, dass das beitretende Computersystem logisch mit dem einladenden Computersystem verbunden ist, in Erwiderung auf den Empfang der einladungsseitigen Linkdatenbasis; und einen Schritt des Sendens (304) eines aktualisierten beitrittsseitigen Linkzustandsdatensatzes (224) an das einladende Computersystem, wobei der aktualisierte beitrittsseitige Linkzustandsdatensatz angibt, dass das beitretende Computersystem logisch mit dem einladenden Computersystem verbunden ist.
  2. Verfahren nach Anspruch 1, ferner umfassend: einen Schritt einer beitrittsseitigen niedrigeren Protokollschicht, die in einem Protokollstapel unterhalb des beitrittsseitigen Anwendungsschicht-Prozesses angesiedelt ist, des Empfangens von Sicherheitsinformation von einer entsprechenden ein ladungsseitigen niedrigeren Protokollschicht, bevor die Hallo-Nachricht gesendet wird, wobei die Sicherheitsinformation der Authentifizierung mit der Mehrparteien-Anwendungsschicht-Session dient.
  3. Verfahren nach Anspruch 1 oder 2, ferner umfassend: einen Schritt einer beitrittseitigen niedrigeren Protokollschicht, die in einem Protokollstapel unterhalb des beitrittsseitigen Anwendungsschicht-Prozesses angesiedelt ist, des Empfangens eines Eingangspunkts von einer entsprechenden einladungsseitigen niedrigeren Protokollschicht, bevor die Hallo-Nachricht gesendet wird, wobei der Eingangspunkt der Verbindung mit dem einladungsseitigen Computersystem zum Austausch von Verbindungsdaten niedrigerer Schichten dient.
  4. Verfahren nach einem der Ansprüche 1 bis 3, wobei der Schritt des Sendens einer Hallo-Nachricht einen Schritt des Sendens einer Sync-Nachricht, die einen oder mehrere Linkzustandsdatensätze enthält, umfasst.
  5. Verfahren nach einem der Ansprüche 1 bis 4, wobei der Schritt des Empfangens einer einladungsseitigen Linkdatenbasis einen Schritt des Empfangens eines oder mehren Linkzustandsdatensätze umfasst, wobei jeder Linkzustandsdatensatz einen oder mehrere logische Links zwischen Computersystemen, die an der Mehrparteien-Anwendungsschicht-Session teilnehmen, angibt.
  6. Verfahren nach einem der Ansprüche 1 bis 5, wobei der Schritt des Empfangens einer einladungsseitigen Linkdatenbasis einen Schritt des Empfangens einer schemabasierten einladungsseitigen Linkdatenbasis umfasst.
  7. Verfahren nach Anspruch 6, wobei der Schritt des Empfangens einer schemabasierten einladungsseitigen Linkdatenbasis einen Schritt des Empfanges eines gemäß einem XML-Schema definierten XML-Befehls umfasst.
  8. Verfahren nach einem der Ansprüche 1 bis 7, wobei der Schritt des Aktualisierens einer beitrittseitigen Linkdatenbasis einen Schritt des Hinzufügens des einladenden Computersystems zu einer Nachbarliste für das beitretende Computersystem enthält.
  9. Verfahren nach einem der Ansprüche 1 bis 8, wobei der Schritt des Aktualisierens einer beitrittsseitigen Linkdatenbasis einen Schritt des Ersetzens einer aktuellen Version eins Linkzustandsdatensatzes in der beitretenden Linkdatenbasis durch eine aktualisierte Version des Linkzustandsdatensatzes, die von dem einladenden Computersystem empfangen worden ist, umfasst.
  10. Verfahren nach einem der Ansprüche 1 bis 9, wobei der Schritt des Aktualisierens einer beitrittsseitigen Linkdatenbasis einen Schritt des Angebens umfasst, dass der beitrittsseitige Anwendungschicht-Prozess logisch mit einem entsprechendem einladungsseitigen Anwendungsschicht-Prozess verbunden ist, um Konferenzdaten zwischen dem beitrittsseitigen Anwendungsschicht-Prozess und dem einladungsseitigen Anwendungsschicht-Prozess auszutauschen.
  11. Verfahren nach einem der Ansprüche 1 bis 10, wobei der Schritt des Sendens eines aktualisierten beitrittsseitigen Linkzustandsdatensatzes an das einladende Computersystem einen Schritt des Sendens eines schemabasierten Linkzustanddatensatzes umfasst.
  12. Verfahren nach Anspruche 11, wobei der Schritt des Sendens eines schemabasierten Linkzustandsdatensatzes einen Schritt des Sendens eines gemäß einem XML-Schema definierten XML-Linkzustandsdatensatzes umfasst.
  13. Verfahren nach einem der Ansprüche 1 bis 12, ferner umfassend: einen Schritt des Empfangens einer zweiten aktualisierten einladungsseitigen Linkdatenbasis, die einen Linkzustandsdatensatz enthält, welcher angibt, dass das einladende Computersystem ein Nachbar des beitretenden Computersystems ist.
  14. Verfahren nach einem der Ansprüche 1 bis 13, wobei das beitretende Computersystem und das einladende Computersystem beide an der Mehrparteien-Anwendungsschicht-Session teilnehmen, bevor das beitrittsseitige Computersystem die Hallo-Nachricht sendet.
  15. Verfahren nach einem der Ansprüche 1 bis 14, wobei die Mehrparteien-Anwendungsschicht-Session eine Mehrparteien-Konferenz-Session ist.
  16. Verfahren (300) zur Verwendung in einer Mehrparteien-Anwendungsschicht-Session (200), die mindestens ein einladendes Computersystem (100, 183, 193, 208) enthält, wobei das einladende Computersystem über ein Netzwerk mit einem beitretenden Computersystem (100, 183, 193, 206) verbindbar ist, um mit dem bei tretenden Computersystem durch Übertragung elektronischer Nachrichten (222, 238, 224) zu kommunizieren, wobei das Verfahren für einen einladungsseitigen Anwendungsschicht-Prozess am einladenden Computersystem ist, um das beitretende Computersystem dazu einzuladen, der Mehrparteien-Anwendungsschicht-Session beizutreten, und umfasst: einen Schritt des Empfangens (305) einer Hallo-Nachricht (222) von dem beitretenden Computersystem; einen Schritt des Aktualisierens (306) einer einladungsseitigen Linkdatenbasis, um anzugeben, dass das einladende Computersystem logisch mit dem beitretenden Computersystem verbunden ist, in Erwiderung auf den Empfang der Hallo-Nachricht; und einen Schritt des Sendens (307) der aktualisierten einladungsseitigen Linkdatenbasis (238) an das beitretende Computersystem, wobei die aktualisierte einladungsseitige Linkdatenbasis mindestens einen einladungsseitigen Linkzustandsdatensatz enthält, der angibt, dass das einladende Computersystem logisch mit dem beitretenden Computersystem verbunden ist; und einen Schritt des Empfangens (308) eines beitrittsseitigen Linkzustandsdatensatzes (224) von dem beitretendem Computersystem, wobei der beitrittsseitige Linkzustandsdatensatz angibt, dass das beitretende Computersystem logisch mit dem einladenden Computersystem verbunden ist.
  17. Verfahren nach Anspruch 16, ferner umfassend: einen Schritt einer einladungsseitigen niedrigeren Protokollschicht, die in einem Protokollstapel unterhalb des einladungsseitigen Anwendungsschicht-Prozesses angesiedelt ist, des Sendens von Sicherheitsinformation an eine entsprechende beitrittsseitige niedrigere Protokollschicht, bevor die Hallo-Nachricht empfangen wird, wobei die Sicherheitsinformation der Authentifizierung mit der Mehrparteien-Anwendungsschicht-Session dient.
  18. Verfahren nach Anspruch 16 oder 17, ferner umfassend: einen Schritt einer einladungsseitigen niedrigeren Protokollschicht, die in einem Protokollstapel unterhalb des einladungsseitigen Anwendungsschicht-Prozesses angesiedelt ist, des Bekanntgebens eines Eingangspunkts an eine entsprechende beitrittsseitige niedrigere Protokollschicht, bevor die Hallo-Nachricht empfangen wird, wobei der Sicherheitseingangspunkt der Verbindung mit dem beitrittsseitigen Computersystem dient, um Verbindungsdaten niedrigerer Schichten auszutauschen.
  19. Verfahren nach einem der Ansprüche 16 bis 18, wobei der Schritt des Empfangens einer Hallo-Nachricht von dem beitretendem Computersystem ein Schritt des Empfangens der Hallo-Nachricht innerhalb einer spezifizierten Schwelle umfasst, die aus einem zuvor an das beitretende Computersystem gesandten Antwortintervall berechnet worden ist.
  20. Verfahren nach einem der Ansprüche 16 bis 19, wobei der Schritt des Empfangens einer Hallo-Nachricht von dem beitretendem Computersystem einen Schritt des Empfangens einer Sync-Nachricht, die einen oder mehrere Linkzustandsdatensätze enthält, umfasst.
  21. Verfahren nach einem der Ansprüche 16 bis 20, wobei der Schritt des Aktualisierens einer einladungsseitigen Linkdatenbasis einen Schritt des Hinzufügens des beitretendem Computersystems zu einer Nachbarliste, die dem einladenden Computersystem entspricht, umfasst.
  22. Verfahren nach einem der Ansprüche 16 bis 21, wobei der Schritt des Aktualisierens einer einladungsseitigen Linkdatenbasis einen Schritt des Angebens umfasst, dass der einladungsseitige Anwendungsschicht-Prozess logisch mit einem entsprechendem beitrittsseitigem Anwendungsschicht-Prozess verbunden ist, so dass der einladungsseitige Anwendungsschicht-Prozess und der beitrittsseitige Anwendungsschicht-Prozess Konferenzdaten austauschen können.
  23. Verfahren nach einem der Ansprüche 16 bis 22, wobei der Schritt des Sendens der aktualisierten einladungsseitigen Linkdatenbasis an das beitretende Computersystem einen Schritt des Sendens eines oder mehrer Linkzustandsdatensätze umfasst, wobei jeder Linkzustandsdatensatz einen oder mehrere logische Links zwischen Computersystemen in der Mehrparteien-Anwendungsschicht-Session angibt.
  24. Verfahren nach einem der Ansprüche 16 bis 23, wobei der Schritt des Sendens der aktualisierten einladungsseitigen Linkdatenbasis an das beitretende Computersys tem einen Schritt des Sendens einer schemabasierten einladungsseitigen Linkdatenbasis umfasst.
  25. Verfahren nach einem der Ansprüche 16 bis 24, wobei der Schritt des Sendens einer schemabasierten einladungsseitigen Linkdatenbasis einen Schritt des Sendens gemäß einem XML-Schema definierter XML-Befehle umfasst.
  26. Verfahren nach einem der Ansprüche 16 bis 25, wobei der Schritt des Empfangens eines beitrittsseitigen Linkzustandsdatensatzes einen Schritt des Empfangens eines schemabasierten Linkzustandsdatensatzes umfasst.
  27. Verfahren nach Anspruch 26, wobei der Schritt des Empfangens eines schemabasierten Linkzustandsdatensatzes einen Schritt des Empfangens eines gemäß einem XML-Schema definierten XML-Linkstandsdatensatzes umfasst.
  28. Verfahren nach einem der Ansprüche 16 bis 27, ferner umfassend: einen Schritt des weiteren Aktualisierens der einladungsseitigen Linkdatenbasis, um den beitrittsseitigen Linkzustandsdatensatz zu enthalten.
  29. Verfahren nach Anspruch 28, ferner umfassend: einen Schritt des Sendens der weiter aktualisierten einladungsseitigen Linkdatenbasis an mindestens ein Computersystem, das in einer Nachbarliste für das einladende Computersystem enthalten ist, so dass der beitrittsseitige Linkzustandsdatensatz an andere Computersysteme, die an der Mehrparteien-Anwendungsschicht-Session teilnehmen, weitergeleitet wird.
  30. Verfahren nach einem der Ansprüche 16 bis 29, wobei das einladende Computersystem und das empfangende Computersystem beide an der Mehrparteien-Anwendungsschicht-Session teilnehmen, bevor das einladungsseitige Computersystem die Hallo-Nachricht empfängt. R. KnauerPatentanmeldung in Deutschland Nr. 100 46 011.9-53Anmelderin: SILVERLAB SOFTWARE GMBH
  31. Verfahren nach einem der Ansprüche 16 bis 30, wobei die Mehrparteien-Anwendungsschicht-Session eine Mehrparteien-Konferenz-Session ist.
  32. Beitretendes Computersystem (100, 183, 193, 206), zur Verwendung in einer Mehrparteien-Anwendungsschicht-Session (200), die mindestens ein einladendes Computersystem (100, 183, 193, 208) enthält, wobei das einladende Computersystem über ein Netzwerk mit dem beitretendem Computersystem verbindbar ist, um mit dem beitretendem Computersystem durch Übertragung elektronischer Nachrichten (222, 238, 224) zu kommunizieren, und das beitretende Computersystem dazu angepasst ist, ein Verfahren für einen beitrittsseitigen Anwendungsschicht-Prozess an dem beitrittsseitigem Computersystem zum Beitreten der Mehrparteien-Anwendungsschicht-Session durch Senden (301) einer Hallo-Nachricht (222) an das einladende Computersystem, Empfangen (302) einer einladungsseitigen Linkdatenbasis (338) von dem einladenden Computersystem, wobei die einladungsseitige Linkdatenbasis einen einladungsseitigen Linkzustandsdatensatz enthält, der angibt, dass das einladende Computersystem logisch mit dem beitretende Computersystem verbunden ist, Aktualisieren (303) einer beitrittsseitigen Linkdatenbasis, um zumindest anzugeben, dass das beitretende Computersystem logisch mit dem einladenden Computersystem verbunden ist, in Erwiderung auf den Empfang der einladungsseitigen Linkdatenbasis und Senden (304) eines aktualisierten beitrittsseitigen Linkzustandsdatensatzes (224) an das einladende Computersystem, wobei der aktualisierte beitrittsseitige Linkzustandsdatensatz angibt, dass das beitretende Computersystem logisch mit dem einladenden Computersystem verbunden ist, durchzuführen.
  33. Beitretendes Computersystem nach Anspruch 32, angepasst zum Durchführen des Verfahrens nach einem der Ansprüche 2 bis 15.
  34. Einladendes Computersystem (100, 183, 193, 208) zur Verwendung in einer Mehrparteien-Anwendungsschicht-Session (200), die mindestens das einladende Computersystem enthält, wobei das einladende Computersystem über ein Netzwerk mit einem beitretendem Computersystem (100, 183, 193, 206) verbindbar ist, um mit dem beitretenden Computersystem durch Übertragung elektronischer Nachrichten (222, 238, 224) zu kommunizieren, und das einladende Computersystem dazu angepasst ist, ein Verfahren für einen einladungsseitigen Anwendungsschicht-Prozess am einladenden Computersystem zum Einladen des beitretenden Computersystems, der Mehrparteien-Anwendungsschicht-Session beizutreten, durch Empfangen (305) einer Hallo-Nachricht (222) von dem beitretenden Computersystem, Aktualisieren (306) einer einladungsseitigen Linkdatenbasis zum Angeben, dass das einladende Computersystem logisch mit dem beitretenden Computersystem verbunden ist, in Erwiderung auf den Empfang der Hallo-Nachricht, Senden (307) der aktualisierten einladungsseitigen Linkdatenbasis (238), an das beitretende Computersystem, wobei die aktualisierte einladungsseitige Linkdatenbasis zumindest einen einladungsseitigen Linkzustandsdatensatz enthält, der angibt, dass das einladende Computersystem logisch mit dem beitretenden Computersystem verbunden ist, und Empfangen (308) eines beitrittsseitigen Linkzustandsdatensatzes (224) von dem beitretendem Computersystem, wobei der beitrittsseitige Linkzustandsdatensatz angibt, dass das beitretende Computersystem logisch mit dem einladenden Computersystem verbunden ist, durchzuführen.
  35. Einladendes Computersystem nach Anspruch 34, angepasst zum Durchführen des Verfahrens nach einem der Ansprüche 17 bis 31.
  36. Computerprogrammprodukt zur Verwendung in einer Mehrparteien-Anwendungsschicht-Session (200), die mindestens ein einladendens Computersystem (100, 183, 193, 208) enthält, wobei das einladende Computersystem über ein Netzwerk mit einem beitretendem Computersystem (100, 183, 193, 206) verbindbar ist, um mit dem beitretendem Computersystem durch Übertragung elektronischer Nachrichten (222, 238, 224) zu kommunizieren, wobei das Computerprogrammprodukt ein oder mehrere computerlesbare Medien (139, 140) umfasst, die computerausführbare Befehle gespeichert haben, welche, wenn sie durch einen Prozessor (120) des beitretenden Computersystems ausgeführt werden, den Prozessor zum Durchführen eines Verfahrens für einen beitrittsseitigen Anwendungsschicht-Prozess am beitretendem Computersystem zum Beitreten der Mehrparteien-Anwendungsschicht-Session veranlassen, wobei das Verfahren umfasst: einen Schritt des Sendens (301) einer Hallo-Nachricht (222) an das einladende Computersystem; einen Schritt des Empfangens (302) einer einladungsseitigen Linkdatenbasis (238) von dem einladenden Computersystem, wobei die einladungsseitige Linkdatenbasis einen einladungsseitigen Linkzustandsdatensatz enthält, der angibt, dass das einladende Computersystem logisch mit dem beitretendem Computersystem verbunden ist; einen Schritt des Aktualisierens (303) einer beitrittsseitigen Linkdatenbasis, um zumindest anzugeben, dass das beitretende Computersystem logisch mit dem ein ladenden Computersystem verbunden ist, in Erwiderung auf den Empfang der einladungsseitigen Linkdatenbasis; und einen Schritt des Sendens (304) eines aktualisierten beitrittsseitigen Linkzustandsdatensatzes (224) an das einladende Computersystem, wobei der aktualisierte beitrittsseitige Linkzustandsdatensatz angibt, dass das beitretende Computersystem logisch mit dem einladenden Computersystem verbunden ist.
  37. Computerprogrammprodukt nach Anspruch 36, welches ferner computerausführbare Befehle zum Durchführen des Verfahrens nach einem der Ansprüche 2 bis 15 umfasst.
  38. Computerprogrammprodukt zur Verwendung in einer Mehrparteien-Anwendungsschicht-Session (200), die mindestens ein einladendes Computersystem (100, 183, 193, 208) enthält, wobei das einladende Computersystem über eine Netzwerk mit einem beitretenden Computersystem (100, 183, 193, 206) verbindbar ist, um mit dem beitretenden Computersystem durch Übertragung elektronischer Nachrichten (222, 238, 224) zu kommunizieren, wobei das Computerprogrammprodukt ein oder mehrere computerlesbare Medien (139, 140) umfasst, die computerausführbare Befehle gespeichert haben, welche, wenn sie durch einen Prozessor (120) des einladenden Computersystems ausgeführt werden, den Prozessor zum Durchführen eines Verfahrens für einen einladungsseitigen Anwendungsschicht-Prozess am einladenden Computersystem zum Einladen des beitretenden Computersystems, der Mehrparteien-Anwendungsschicht-Session beizutreten, veranlassen, wobei das Verfahren umfasst: einen Schritt des Empfangens (305) einer Hallo-Nachricht (222) von dem beitretenden Computersystem; einen Schritt des Aktualisierens (306), einer einladungsseitigen Linkdatenbasis, um anzugeben, dass das einladende Computersystem logisch mit dem beitretenden Computersystem verbunden ist, in Erwiderung auf den Empfang der Hallo-Nachricht; einen Schritt des Sendens (307) der aktualisierten einladungsseitigen Linkdatenbasis (238) an das beitretende Computersystem, wobei die aktualisierte einladungsseitige Linkdatenbasis mindestens einen einladungsseitigen Linkzustandsdatensatz enthält, der angibt, dass das einladende Computersystem logisch mit dem beitretenden Computersystem verbunden ist; und einen Schritt des Empfangens (308) eines beitrittsseitigen Linkzustandsdatensatzes (224) von dem beitretendem Computersystem, wobei der beitrittsseitige Linkzustandsdatensatz angibt, dass das beitretende Computersystem logisch mit dem einladenden Computersystem verbunden ist.
  39. Computerprogrammprodukt nach Anspruch 38, welches ferner computerausführbare Befehle zum Durchführen des Verfahrens nach einem der Ansprüche 17 bis 31 umfasst.
DE602004004601T 2003-04-22 2004-04-15 Verteilung von Mitgliedschaftsinformationen für Mehrfachteilnehmersitzungen auf der Applikationsebene Expired - Lifetime DE602004004601T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US420986 2003-04-22
US10/420,986 US8103753B2 (en) 2003-04-22 2003-04-22 Distributing membership information for multi-party application layer sessions

Publications (2)

Publication Number Publication Date
DE602004004601D1 DE602004004601D1 (de) 2007-03-22
DE602004004601T2 true DE602004004601T2 (de) 2007-11-08

Family

ID=32962418

Family Applications (2)

Application Number Title Priority Date Filing Date
DE602004004060T Expired - Lifetime DE602004004060T2 (de) 2003-04-22 2004-04-15 Verteilung von Mitgliedschaftsinformationen für Mehrfachteilnehmersitzungen auf der Applikationsebene
DE602004004601T Expired - Lifetime DE602004004601T2 (de) 2003-04-22 2004-04-15 Verteilung von Mitgliedschaftsinformationen für Mehrfachteilnehmersitzungen auf der Applikationsebene

Family Applications Before (1)

Application Number Title Priority Date Filing Date
DE602004004060T Expired - Lifetime DE602004004060T2 (de) 2003-04-22 2004-04-15 Verteilung von Mitgliedschaftsinformationen für Mehrfachteilnehmersitzungen auf der Applikationsebene

Country Status (7)

Country Link
US (1) US8103753B2 (de)
EP (2) EP1471711B1 (de)
JP (1) JP4494852B2 (de)
KR (1) KR20040091589A (de)
CN (2) CN100454818C (de)
AT (2) ATE350856T1 (de)
DE (2) DE602004004060T2 (de)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7512125B2 (en) * 2003-12-19 2009-03-31 Solace Systems, Inc. Coding of routing protocol messages in markup language
US7844733B2 (en) * 2003-12-19 2010-11-30 Solace Systems, Inc. Content router with multiple forwarding elements instantiated on hardware entities
US7617300B2 (en) * 2004-03-12 2009-11-10 Microsoft Corporation Node matching in a dynamic, decentralized environment
US8098158B2 (en) * 2004-09-01 2012-01-17 Microsoft Corporation RFID server internals design
US7295116B2 (en) * 2004-09-01 2007-11-13 Microsoft Corporation Architecture, programming model and API'S
US7701341B2 (en) * 2004-09-01 2010-04-20 Microsoft Corporation Device service provider interface
US7382260B2 (en) * 2004-09-01 2008-06-03 Microsoft Corporation Hot swap and plug-and-play for RFID devices
US7204409B2 (en) * 2004-09-01 2007-04-17 Microsoft Corporation Reader application markup language schema
US8217756B2 (en) * 2004-09-01 2012-07-10 Microsoft Corporation Rule-based filtering and alerting
US7557707B2 (en) * 2004-09-01 2009-07-07 Microsoft Corporation RFID enabled information systems utilizing a business application
CN100596075C (zh) * 2005-03-31 2010-03-24 株式会社日立制作所 利用广播组播服务实现多方会议服务的方法和设备
US7899170B2 (en) * 2005-04-28 2011-03-01 Apple Inc. Multi-participant conference setup
US7378966B2 (en) * 2006-01-04 2008-05-27 Microsoft Corporation RFID device groups
US7756747B2 (en) * 2006-03-10 2010-07-13 Microsoft Corporation RFID business process-decoupling of design and deployment time activities
US7868738B2 (en) * 2006-06-15 2011-01-11 Microsoft Corporation Device simulator framework for an RFID infrastructure
US8207822B2 (en) * 2006-06-15 2012-06-26 Microsoft Corporation Support for batching of events, and shredding of batched events in the RFID infrastructure platform
US20080001711A1 (en) * 2006-06-15 2008-01-03 Microsoft Corporation Reliability of execution for device provider implementations
US7675418B2 (en) * 2006-06-15 2010-03-09 Microsoft Corporation Synchronous command model for RFID-enabling applications
US7956724B2 (en) * 2006-06-15 2011-06-07 Microsoft Corporation Support for reliable end to end messaging of tags in an RFID infrastructure
US7593970B2 (en) * 2006-09-08 2009-09-22 Honda Motor Co., Ltd. Data receiving system, data broadcasting system, data receiving method and data broadcasting method
US20080174404A1 (en) * 2007-01-23 2008-07-24 Microsoft Corporation Dynamic updates in rfid manager
US8245219B2 (en) * 2007-01-25 2012-08-14 Microsoft Corporation Standardized mechanism for firmware upgrades of RFID devices
US8266168B2 (en) * 2008-04-24 2012-09-11 Lexisnexis Risk & Information Analytics Group Inc. Database systems and methods for linking records and entity representations with sufficiently high confidence
GB2460897A (en) 2008-06-18 2009-12-23 Skype Ltd Authorising and adding a user to a conference event by determining if a set up request received from the user is associated with the conference event
GB2460896A (en) * 2008-06-18 2009-12-23 Skype Ltd Indicating the participation status of members in a conference or group communication event
US20200202274A1 (en) 2018-12-21 2020-06-25 Capital One Services, Llc Systems and methods for maintaining contract adherence
US11308282B2 (en) 2018-12-21 2022-04-19 Capital One Services, Llc Systems and methods for determining document compatibility

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5729532A (en) * 1995-05-26 1998-03-17 Lucent Technologies Inc. Selective participation in a multimedia communication conference call
US5805578A (en) * 1995-10-27 1998-09-08 International Business Machines Corporation Automatic reconfiguration of multipoint communication channels
US5684800A (en) * 1995-11-15 1997-11-04 Cabletron Systems, Inc. Method for establishing restricted broadcast groups in a switched network
US6856627B2 (en) * 1999-01-15 2005-02-15 Cisco Technology, Inc. Method for routing information over a network
US6530032B1 (en) * 1999-09-23 2003-03-04 Nortel Networks Limited Network fault recovery method and apparatus
US6578086B1 (en) * 1999-09-27 2003-06-10 Nortel Networks Limited Dynamically managing the topology of a data network
US7327683B2 (en) * 2000-03-16 2008-02-05 Sri International Method and apparatus for disseminating topology information and for discovering new neighboring nodes
AU2001284907A1 (en) * 2000-08-15 2002-02-25 Nortel Networks Limited System, device, and method for managing communication services in an optical communication system
US7310335B1 (en) * 2000-09-06 2007-12-18 Nokia Networks Multicast routing in ad-hoc networks
US7058016B1 (en) * 2000-10-12 2006-06-06 Cisco Technology, Inc. Method and system for accelerating route calculation in link state routing protocols
US7120681B2 (en) * 2001-01-30 2006-10-10 International Business Machines Corporation Cluster control in network systems
US7006456B2 (en) 2001-02-02 2006-02-28 Nortel Networks Limited Method and apparatus for packet-based media communication
JP3762749B2 (ja) * 2001-04-19 2006-04-05 富士通株式会社 リストレーション・プロテクション方法及び装置
US7171476B2 (en) * 2001-04-20 2007-01-30 Motorola, Inc. Protocol and structure for self-organizing network
JP2002335283A (ja) * 2001-05-11 2002-11-22 Hitachi Software Eng Co Ltd 同報通信方法およびシステム
CN1392717A (zh) * 2001-06-14 2003-01-22 英保达股份有限公司 多通道语音会议装置及方法
CN1394068A (zh) * 2001-06-29 2003-01-29 康鹏 实现电话-电脑-电话的网络电话
US7254111B2 (en) * 2001-10-05 2007-08-07 Samsung Electronics Co., Ltd. Routing coordination protocol for a massively parallel router architecture
AU2003237454A1 (en) * 2002-06-06 2003-12-22 Motorola, Inc., A Corporation Of The State Of Delaware Protocol and structure for mobile nodes in a self-organizing communication network
US7613772B2 (en) * 2002-07-25 2009-11-03 Colligo Networks, Inc. Method for context based discovery and filtering of portable collaborative networks
KR100433556B1 (ko) * 2002-08-08 2004-05-31 삼성전자주식회사 애드혹 네트워크상의 링크 상태 동기화 방법, 장치 및데이터구조
US7248579B1 (en) * 2002-10-15 2007-07-24 Cisco Technology, Inc. System and method for providing a link state database (LSDB) snapshot for neighbor synchronization
US7546380B2 (en) * 2002-10-28 2009-06-09 Cisco Technology, Inc. RPF multi-party reliable transport
US8036139B2 (en) * 2002-10-28 2011-10-11 Cisco Technology, Inc. Internal BGP downloader
US7596625B2 (en) * 2003-01-27 2009-09-29 Microsoft Corporation Peer-to-peer grouping interfaces and methods

Also Published As

Publication number Publication date
EP1471711A2 (de) 2004-10-27
CN100454818C (zh) 2009-01-21
JP4494852B2 (ja) 2010-06-30
EP1471711B1 (de) 2007-02-07
DE602004004060T2 (de) 2007-06-06
DE602004004060D1 (de) 2007-02-15
CN101431426A (zh) 2009-05-13
EP1471711A3 (de) 2005-07-13
EP1562351A2 (de) 2005-08-10
CN1540921A (zh) 2004-10-27
CN101431426B (zh) 2011-01-26
JP2004328731A (ja) 2004-11-18
EP1562351A3 (de) 2005-10-05
KR20040091589A (ko) 2004-10-28
EP1562351B1 (de) 2007-01-03
ATE350856T1 (de) 2007-01-15
DE602004004601D1 (de) 2007-03-22
US20040215667A1 (en) 2004-10-28
US8103753B2 (en) 2012-01-24
ATE353517T1 (de) 2007-02-15

Similar Documents

Publication Publication Date Title
DE602004004601T2 (de) Verteilung von Mitgliedschaftsinformationen für Mehrfachteilnehmersitzungen auf der Applikationsebene
DE60125954T2 (de) Adressierung und routen von datenpaketen in einem computer-netzwerk mit hilfe von inhaltsbeschreibenden labeln
DE602005005471T2 (de) Peer-to-peer-netze
DE60207368T2 (de) Verfahren und Vorrichtung zur automatischen Erkennung von Netzelementen mit Datenübertragungsfähigkeiten
DE60108166T2 (de) Untergruppen-multicasting in einem kommunikationsnetz
DE60216221T2 (de) Verfahren und Vorrichtung zur automatischen Erkennung von logischen Verbindungen zwischen Netzvorrichtungen
DE69902786T2 (de) Universelles benachrichtigungssystem
DE602005003668T2 (de) Verbesserungen in nachrichtenorientierten kommunikationen
DE69909555T2 (de) Verteiltes Anrufsystem
EP2826224B1 (de) Zugriff von clients auf einen serverdienst mittels einer opc-ua
DE102008062983B4 (de) Intelligenter Lastausgleich für Call-Center-Anwendungen
EP3162018B1 (de) Verfahren zum aufbau einer für die übermittlung von medienströmen geeigneten kommunikationsverbindung von einem ersten rtc-client zu einem zweiten rtc-client
DE69833206T2 (de) Netzwerkkontrolle zum verarbeiten von statusproblemen
DE602004010345T2 (de) Verfahren und Einrichtung zur Migration zu einem alternativen Call Controller
DE102008036453A1 (de) Verfahren zum Versenden von Daten und Kommunikationseinrichtung
DE10345051B4 (de) Verfahren zum Aufbau einer Kommunikationsverbindung in einem direkt kommunizierenden Kommunikationsnetzwerk
DE60020879T2 (de) Verteilung von ortsinformationen in ip-netzen durch intelligente endpunkte
EP1207670A2 (de) Dienst zur automatischen Übermittlung von Paketdaten
EP1482701A1 (de) Verfahren zum paketorientierten Übertragen von Daten in Telekommunikationsnetzen mittels Umsetzung in einem Zwischenknoten von einem verbindungslosen zu einem verbindungsorientierten Übertragungsprotokoll und umgekehrt
DE10231958A1 (de) Direkt adressiertes Multicast-Protokoll
DE60303745T2 (de) Mehrschichtiges Verfahren zum Verwalten von Multicast Teilnehmern
EP1266493A1 (de) Verfahren und anordnung zum übertragen eines datenpakets von einer ersten vermittlungseinheit an eine zweite vermittlungseinheit in einem datennetz
EP3537654B1 (de) Verfahren und system zum ermitteln einer konfiguration einer schnittstelle
DE60104672T2 (de) System zur überwachung von terminals
EP3959850B1 (de) Verfahren zum bereitstellen von verbindungsherstellungsdaten sowie anordnung mit einer mehrzahl von kommunikationsservern und einem vermittler

Legal Events

Date Code Title Description
8364 No opposition during term of opposition