-
Die
vorliegende Erfindung betrifft ein Verfahren und eine Vorrichtung
zum Betreiben von Gruppendiensten in Kommunikationsnetzwerken, die
eine Vielzahl von den Netzwerkknoten aufweisen.
-
Momentan
wird das Internet ein immer leistungsfähigeres und populäreres Kommunikationsmedium.
Es ermöglicht,
dass eine Vielzahl von Anwendungen in dem Netzwerk eingesetzt wird.
Zum Beispiel wird in einem Inhaltbereitstellungsnetzwerk (CDN – content
delivery network) eine Inhaltsinformation an Benutzer geliefert,
die sich in dem CDN-System registriert haben. Demgemäß werden durch
die Registrierung die Benutzer zu Mitgliedern einer Dienstgruppe,
und es werden zum Beispiel Nachrichten an ihre Anschlüsse bzw.
Endgeräte
geliefert. Andere Dienste, die auf einem Gruppen-Konzept basieren,
sind Mailing-Listen, Video/Audio-Streaming und andere Anwendungen
unter Verwendung des IP(Internet Protocol)-Multicast-Protokolls.
In jedem Fall unterstützen
diese Gruppen nur eine Registrierung und Abmeldung von Benutzern
für eine
einzelne Anwendung.
-
Mit
neueren Leistungsweiterentwicklungen der drahtlosen Kommunikationstechnologien
gibt es eine fortwährende
Entwicklung zur Erweiterung der Mobilität in den Bereich von autonomen,
mobilen, drahtlosen Domains. Das Ziel einer mobilen Ad-hoc-Vernetzung
ist, einen robusten und effizienten Betrieb in mobilen drahtlosen
Netzwerken zu unterstützen
durch Aufnahme einer Routingfunktionalität in mobile Knoten. In diesem
Fall bildet ein Satz von Knoten selbst die Netzwerk-Routing-Infrastruktur auf
eine Ad-hoc-Weise. Die Knoten sind normalerweise jeweils eine Kombination
aus einem Router und einem Host.
-
Dieses
mobile Ad-hoc-Netzwerk (MANET) ist ein autonomes System von mobilen
Plattformen (z.B. ein Router mit einem oder mehreren Hostrechner(n)
und zumindest einer drahtlosen Kommunikationsvorrichtung – im Folgenden
einfach als Netzwerkknoten oder Anschluss bzw. Endgerät bezeichnet), die
sich frei bewegen und sich organisieren können, um eine flexible Netzwerktopologie
zur Verfügung
zu stellen. Das Netzwerk kann isoliert funktionieren oder kann mit
anderen Netzwerken verbunden sein, z.B. über Gateways. Weitere Information
hinsichtlich von Ad-hoc-Netzwerken sind z.B. verfügbar in
RFC 2501 der Internet Engineering Task Force (IETF).
-
MANET-Knoten
sind normalerweise mit drahtlosen Sendern und Empfängern ausgerüstet. Abhängig von
den Positionen der Knoten und ihrer Sender- und Empfänger-Abdeckungsmuster
entsteht eine drahtlose Konnektivität bzw. Verbindungsfähigkeit
in der Form eines zufälligen „Multihop"-Graphen für das Ad-hoc-Netzwerk.
Diese Adhoc-Topologie kann mit der Zeit variieren, wenn die Knoten
ihre Positionen ändern
und/oder aktiviert oder deaktiviert werden.
-
Mobile
Ad-hoc-Netzwerke haben viele unterschiedliche Anwendungen. In einem
Beispiel wird ein schnell einsetzbares Kommunikationsnetzwerk mit überlebensfähiger effizienter
dynamischer Vernetzung für
Feuer-/Sicherheits-/Rettungsoperationen vorgesehen. In einem anderen
Beispiel kann ein so genanntes „persönliches" lokales Netzwerk durch ein MANET hergestellt
werden, um die Kommunikation von Vorrichtungen, wie mobile Telefone,
Handheld-Kommunikatoren,
Laptop-Computer, usw., die dem gleichen Benutzer gehören und
von diesem verwendet werden, zu ermöglichen. Zusätzlich kann
ein mobiles Ad-hoc-Netzwerk benutzt werden, um ein so genanntes
lokales „Face-to-Face"-Netzwerk einzusetzen,
das eine Vielzahl von Knoten verbindet, die sich lokal in dem gleichen
Bereich befinden, z.B. ein Raum oder ein Gebäude. Dieses „Face-to-Face"- Netzwerk kann für eine Kommunikation und/oder
einen Datenaustausch der jeweiligen Benutzer der Netzwerkknoten
benutzt werden, zum Beispiel in Sitzungen, Präsentationen, Spieleanwendungen
oder Tourführungssystemen.
-
Anwendungsdienste
werden normalerweise unter Verwendung eines Gruppenparadigmas geliefert
bzw. bereitgestellt. In jeder Anwendung, die eine temporäre Kommunikation
zwischen einer Vielzahl von Netzwerkknoten erzeugt, ist es erforderlich,
die Mitgliedschaft der Netzwerkknoten in Anwendungsgruppen herzustellen
und beizubehalten. In existierenden Systemen, z.B. ein CDN, wird
die Gruppenverwaltung auf der Basis einer Vor-Registrierung durchgeführt. Jedoch
berücksichtigen
diese Systeme nicht mobile Netzwerkvorrichtungen, die sich schnell bewegen
können
und häufige
Gruppenmitgliedschaftsänderungen
erfordern können.
Da die bekannte Gruppenverwaltung auf einem statischen Vor-Registrierungs-Paradigma
basiert, können
neue Mitglieder einer Gruppe, die eine Anwendung bedient, nicht
einfach beitreten, wann immer und wo sie wünschen. Zusätzlich berücksichtigt die gegenwärtige Gruppenverwaltung
die Mobilität
der Terminals bzw. Endgeräte
nicht. So sieht sie keine Verfahren für häufige Änderungen der Knotenposition
und – zugänglichkeit
vor. Demgemäß sind die
bekannten Gruppenregistrierungsverfahren nicht geeignet für Kommunikationsnetzwerke,
die in Raum und Zeit dynamisch sind, wie mobile Ad-hoc-Netzwerke. Ähnliche
Probleme in Bezug auf häufige
Gruppenmitgliedschaftsänderungen
können
auch in anderen Kommunikationsnetzwerken entstehen, wie in Infrastruktur-basierten
Netzwerken, z.B. dem Internet, GSM- oder UMTS-Netzwerken.
-
In „A Study
on Characteristics of Ad Hoc Network Applications" von Masato Hayashi
und Christian Bonnet in „Proceedings
of the IASTED International Conference on Communication Systems
and Networks", 9. – 12. September
2002, S. 13 – 18,
werden die Grundlagen des Betriebs von Gruppendiensten in einem
Kommunikationsnetzwerk offenbart. Eine Architektur für eine Ad-hoc-Netzwerkkommunikation, die
Arbeitsgruppensteuerungs- und Sitzungssteuerungs-Funktionen für eine Anwendung
aufweist, wird vorgeschlagen. Die vorgeschlagene Architektur hat eine
direkte Beziehung zwischen Anwendung, Arbeitsgruppe und Sitzung
und ermöglicht
eine einzelne Sitzung pro Arbeitsgruppe/ Anwendung. Der Betrieb
einer zweiten Anwendung in dem Netzwerk erfordert den Aufbau einer
zweiten Arbeitsgruppe und ihrer entsprechenden Sitzung.
-
Das
Dokument XP002164649, „Session
Initiation Protocol",
spezifiziert ein Internet-Sitzungsinitiierungsprotokoll zum Erzeugen,
Modifizieren und Beenden von Sitzungen mit einem oder mehreren Teilnehmer(n).
SIP kann Teilnehmer sowohl zu Unicast- als auch Multicast-Sitzungen
einladen. Das Dokument sieht die Internet-Multicast-Architektur als ein Beispiel
zum Ermöglichen
einer Multicast-Konferenz vor.
-
Es
ist das Ziel der vorliegenden Erfindung, ein Verfahren und eine
Vorrichtung zum Betreiben von Gruppendiensten in einem mobilen Ad-hoc-Netzwerk
vorzusehen, die für
einen dynamischen und effizienten Betrieb ausgebildet sind.
-
Das
oben genannte Ziel wird durch die angehängten unabhängigen Ansprüche 1, 22,
36, 37 erzielt und die Erfindung wird dadurch definiert.
-
Gemäß der vorliegenden
Spezifikation werden in einem Verfahren zum Betreiben von Gruppendiensten
in Kommunikationsnetzwerken ein Gruppensteuerungsprozess, um die
Mitgliedschaft der Netzwerkknoten in einer Dienstgruppe zu steuern, und
ein Sitzungssteue rungsprozess durchgeführt, um den Verbindungsstatus
einer oder mehrer Sitzungen) in der Dienstgruppe zu steuern.
-
Eine
Dienstgruppe ist eine temporär
gebildete Gruppe von Netzwerkknoten (Terminals), wie mobile Telefonendgeräte, tragbare
Computer, Laptop-Computer, Spielekonsolen, Drucker, Fernseher, Musikspieler
und/oder digitale Kameras, die sich logisch zu Kommunikationszwecken
zusammenfügen. Ein
Netzwerkknoten ist vorzugsweise eine mobile oder stationäre Vorrichtung,
die Routingfähigkeiten hat
und einen oder mehrere Hostrechner zum Betreiben von Dienst-Anwendungen aufweist.
Die Netzwerkknoten einer Gruppe können zum Beispiel zu einem
Benutzer gehören
und ein „persönliches" Netzwerk des Benutzers
bilden. Die Netzwerkknoten einer Dienstgruppe können an einem bestimmten Ort physikalisch
anwesend sein, um ein lokales „Face-to-Face"-Netzwerk zu bilden.
Die Mitgliedschaft von Netzwerkknoten in einer Dienstgruppe wird
durch den Gruppensteuerungsprozess gesteuert, um zu ermöglichen,
dass Knoten zu der Dienstgruppe hinzukommen oder diese verlassen.
-
In
der Dienstgruppe kann eine Vielzahl von Sitzungen aufgebaut werden.
Jede Sitzung entspricht einer jeweiligen Anwendung, die Anwendungsdaten
zu Netzwerkknoten in der Dienstgruppe überträgt. Für jede Anwendung wird eine
jeweilige Sitzung von dem Sitzungssteuerungsprozess initiiert und
aufrechterhalten. Zum Beispiel kann eine Sitzung für eine Video-Streaming-Anwendung,
eine Sitzung für
eine Sprach-Streaming-Anwendung und eine Sitzung für eine Dokumentdatenaustauschanwendung
für einen
Konferenzdienst aufgebaut werden. Der Sitzungssteuerungsprozess
steuert den Verbindungsstatus der Sitzungen, z.B. den Aktivierungsstatus
(AN/AUS), die Dienstqualität
für die
Sitzung, die Konnektivität
und/oder den Unterbrechungsstatus der Sitzung.
-
Durch
Trennen der Gruppensteuerung und der Sitzungssteuerung können mehrere
verwandte Anwendungen jeweilige unabhängige Sitzungen für eine Datenkommunikation
in der Dienstgruppe herstellen, wobei die Vielzahl der Sitzungen
denselben Gruppensteuerungsprozess gemeinsam benutzen kann. Dieses
gestaltet das Gruppen- und
Sitzungsmanagement sehr effizient. Der Gruppensteuerungsprozess
unterhält
die Gruppenmitgliedschaft der Netzwerkknoten in der Dienstgruppe
für alle
zugehörigen
Sitzungen bei. Er kann häufige
Mitgliedschafts- und Positions-Änderungen
handhaben. Der Sitzungssteuerungsprozess kann unabhängig häufige Änderungen
des Sitzungsverbindungsstatus handhaben, ohne die Gruppensteuerung
zu belasten. Demgemäß ist das
Verfahren zum Betreiben von Gruppendiensten in Kommunikationsnetzwerken entsprechend
der vorliegenden Spezifikation geeignet für in hohem Grade dynamische
Dienstgruppen, die z.B. in mobilen Ad-hoc-Netzwerken auftreten können. Die
vorliegende Spezifikation ermöglicht, dass,
wenn sich Personen mit mobilen Computervorrichtungen temporär zu bestimmten
Zwecken treffen, diese Personen kommunizieren können unter Verwendung einer
Vielzahl von Anwendungsdiensten, die entsprechend den Anforderungen
der Szenerie dynamisch hergestellt werden.
-
Der
Gruppensteuerungsprozess kann die Definition einer Dienstgruppe
durch einen Gruppenmanager aufweisen. Die Definition einer Dienstgruppe
kann auf Gruppenattributen basieren, insbesondere ein Gruppenname,
ein Gruppenidentifizierer, ein Gruppenmanageridentifizierer und/oder
ein Gruppenmitgliederidentifizierer. Ein Netzwerkknoten, der beabsichtigt,
einen Dienst zu beginnen, kann ein Gruppenmanager werden und den
Gruppensteuerungsprozess durchführen,
um die Mitgliedschaften anderer Knoten in der Dienstgruppe zu steuern.
-
Vorzugsweise
initiiert ein sendendes Endgerät
bzw. ein sendender Anschluss (Terminal), das/der beabsichtigt, Anwendungsdaten
an andere Gruppenmitglieder zu senden, eine jeweilige Sitzung und
wird zu einem Sitzungsmanager. Jedoch kann der Sitzungsmanager für eine Sitzung
später
auf einen anderen Netzwerkknoten übertragen werden. Andere Gruppenmitglieder
als der Gruppenmanager können Sitzungen
initiieren und Sitzungsmanager für
die jeweiligen Sitzungen werden. Durch Trennen der Gruppensteuerung
und der Sitzungssteuerung, ist es möglich, die Belastung zu verringern,
die Netzwerkknoten auferlegt wird, die als Gruppenmanager oder Sitzungsmanager
dienen.
-
Die
Gruppensteuerung kann weiter die Erfassung einer existierenden Dienstgruppe
mit vorgegebenen erforderlichen Gruppenattributen aufweisen. Anstatt
eine neue Dienstgruppe zu eröffnen, kann
ein Netzwerkknoten das Kommunikationsnetzwerk überprüfen, um herauszufinden, ob
eine Dienstgruppe mit den erforderlichen Gruppenattributen, z.B.
bestimmte Gruppenmitglieder, bereits existiert (Dienstgruppen-Erfassung).
In diesem Fall gibt es keine Notwendigkeit für den Netzwerkknoten, eine neue
Gruppe herzustellen. Der Knoten kann sich stattdessen der existierende
Gruppe anschließen und
eine Sitzung herstellen, um die Anwendungsdaten zu anderen Gruppenmitgliedern
in der existierenden Gruppe zu übertragen.
-
Der
Gruppensteuerungsprozess, der von einem Gruppenmanager durchgeführt wird,
der vor kurzem eine Dienstgruppe initiiert hat, kann das Senden
einer Gruppeneinladung an andere Netzwerkknoten aufweisen. Das Senden
von Gruppeneinladungen wird vorzugsweise regelmäßig durchgeführt, um
neue Knoten einzuladen, die sich vor kurzem dem Netzwerk angeschlossen
haben oder sich in den Betriebsbereich der Dienstgruppe bewegt haben. Dies
ist der (räumliche)
Bereich des Kommunikationsnetzwerks, der von der Dienst gruppe bedient wird,
d.h. der Bereich, der abgedeckt wird durch Gruppennachrichten, wie
die Gruppeneinladungen und/oder die Datenübertragungen der Sitzungen.
-
Der
Gruppensteuerungsprozess kann weiter das Erfassen einer Gruppeneinladung
aufweisen, die von einem Gruppenmanager empfangen wird (Dienstgruppenerfassung).
In dem Fall, dass die Gruppenattribute, die mit der Gruppeneinladung empfangen
werden, bestimmte Bedingungen erfüllen, die von dem Netzwerkknoten
gestellt werden, und/oder der Benutzer des Knotens entscheidet,
an der Dienstgruppe teilzunehmen, kann eine Gruppenregistrierungsanforderung
an den Gruppenmanager gesendet werden. Mit dieser Gruppenregistrierungsanforderung
fordert der Knoten an, als ein Gruppenmitglied für die jeweilige Dienstgruppe
registriert zu werden. Ein Knoten kann zu mehr als einer Dienstgruppe
gehören.
-
Basierend
auf einer von einem Knoten empfangenen Gruppenregistrierungsanforderung
kann der Gruppenmanager den jeweiligen Knoten, der die Anforderung
sendet, als ein Gruppenmitglied registrieren. Vor der Registrierung
ist es möglich,
zu verifizieren, ob der Knoten, der die Registrierung anfordert,
vorgegebene Kriterien erfüllt.
Insbesondere ist es angebracht, zu verifizieren, ob der Knoten autorisiert
ist, sich bei der Gruppe zu registrieren. Es ist auch möglich, den
Benutzer des Gruppenmanagerterminals um Erlaubnis zu bitten, ein
bestimmtes Gruppenmitglied zu registrieren.
-
Der
Gruppensteuerungsprozess kann auch das Erzeugen einer Gruppensteuerungsinformation aufweisen,
einschließlich
von Gruppenattributen, wie ein Sicherheitsniveau und/oder eine erforderliche Dienstqualität. Der Gruppenmanager
sendet vorzugsweise eine Gruppensteuerungsinformation an die Gruppenmitglieder,
welche die übertragenen Gruppenattribute
durch Senden von Gruppenattribut- Akzeptanznachrichten
akzeptieren oder ablehnen können.
Durch diese Verhandlung der Gruppenattribute ist es möglich, die
Dienstgruppendefinition zu vervollständigen oder zu ändern, wenn
notwendig. Zum Beispiel kann ein anderes Sicherheitsniveau von dem
Gruppenmanager und einem Gruppenmitglied für eine existierende Dienstgruppe
verhandelt werden.
-
Der
Gruppensteuerungsprozess kann weiter die Erzeugung eines Gruppenzertifikats
aufweisen, das in der Kommunikation zwischen dem Gruppenmanager
und den Gruppenmitgliedern benutzt werden kann, um die Gruppe zu
identifizieren und/oder ein Gruppenmitglied zu authentisieren. Das
Gruppenzertifikat ist vorzugsweise eindeutig und kann Gruppenattribute
umfassen, wie die Gruppen-ID.
-
Der
Gruppenmanager kann weiter Gruppenbestätigungsanforderungen an die
Mitglieder senden. Gruppenmitglieder, die aktiv und in dem Gruppenbetriebsbereich
anwesend sind und die eine Gruppenbestätigungsanforderung einer Gruppe empfangen
haben, der sie vorher beigetreten sind, antworten auf empfangene
Gruppenbestätigungsanforderungen
durch Senden von Gruppenbestätigungsantworten
an den Gruppenmanager. Basierend auf eine empfangene Gruppenbestätigungsantwort
von einem Gruppenmitglied kann der Gruppenmanager die Registrierung
des Gruppenmitgliedes aktivieren. Dies hat den Vorteil, dass die
Anwesenheit von Gruppenmitgliedern, die sich vorher bei der Gruppe
registriert haben, vor der Übertragung von
Anwendungsdaten bestätigt
wird. Die Registrierungen der Gruppenmitglieder, die sich bei der
Gruppe registriert haben, die aber keine Gruppenbestätigungsantworten
an den Gruppenmanager senden, werden nicht aktiviert. Diese Gruppenmitglieder
können
keine Anwendungsdaten empfangen. Der Betrieb der Gruppendienste
basierend auf Gruppenbestätigungsanforderungen/antworten
ist insbesondere für
ein Off-Spot-Szenario nützlich.
In diesem Szenario unter scheiden sich der Ort und die Zeit, in der
die Registrierung der Gruppenmitglieder durchgeführt wird, von dem Ort und der
Zeit der Übertragung
von Anwendungsdaten durch die jeweilige Sitzung.
-
Der
Gruppensteuerungsprozess kann weiter die Überwachung von Gruppenmitgliedern
aufweisen durch Senden von Gruppenüberwachungsanforderungen an
registrierte Gruppenmitglieder und durch Überwachen der Antworten von
den Gruppenmitgliedern. Dies hat den Vorteil der Durchführung einer fortwährenden Überwachung
der tatsächlichen
Anwesenheit von Gruppenmitgliedern während des Betriebes der Dienstgruppe.
Nur Gruppenmitgliedsterminals, die aktiv sind und sich in dem Betriebsbereich des
Gruppenmanagers befinden, können
auf eine Gruppenüberwachungsanforderung
antworten. Gruppenmitglieder, die diese Bedingungen nicht erfüllen, können von
dem Gruppenmanager einfach erfasst werden. Der Gruppenmanager kann
geeignete Aktionen durchführen
als Reaktion auf die Erfassung eines Gruppenmitglieds, das nicht
auf Gruppenüberwachungsanforderungen
antwortet.
-
Die Überwachung
der Gruppenmitglieder wird vorzugsweise durchgeführt durch regelmäßiges Senden
getrennter Gruppenüberwachungsanforderungen
an einzelne Gruppenmitglieder. Zum Beispiel kann eine Gruppenüberwachunganforderung
regelmäßig als
eine Unicast-Nachricht an einzelne Netzwerkknoten gesendet werden,
nachdem ein vorgegebener Timer abgelaufen ist. Ein Gruppenmitglied kann
als fehlendes Gruppenmitglied beurteilt werden, wenn keine Antwort
von dem Gruppenmitglied während
einer vorgegebenen Zeit empfangen wurde. Vorzugsweise wird ein Gruppenmitglied
als ein fehlendes Mitglied beurteilt, wenn keine Antwort von dem
jeweiligen Gruppenmitglied für
eine vorgegebene Anzahl von aufeinander folgenden Gruppenüberwachunganforderung
empfangen wurde, die an diesen Netzwerkknoten gesendet wurden. Somit
wird ein Grup penmitglied, das auf eine einzelne Gruppenüberwachunganforderung
nicht reagiert, nicht bereits als ein fehlendes Gruppenmitglied
erklärt,
was vorteilhaft ist, da es möglich
ist, dass die Überwachungsanforderung
und/oder die Überwachungsantwort
aufgrund einer Netzwerküberlastung
verloren wurde, während
das Gruppenmitglied aktiv und anwesend ist.
-
Der
Gruppenmanager kann auch eine einzelne Gruppenüberwachungsanforderung über Multicast
an alle Gruppenmitglieder senden. Die Gruppenüberwachunganforderung kann
als eine Multicast-Nachricht übertragen
werden und an alle Knoten einer (IP)-Multicast-Gruppe geliefert werden. Vorzugsweise
entspricht die Multicast-Gruppe
der Dienstgruppe. Somit ist es möglich,
die Überwachungsanforderung
per Multicast an alle Gruppenmitgliedsterminals zu senden. Wie bereits
beschrieben, senden die Gruppenmitglieder, die eine Gruppenüberwachungsanforderung
empfangen, Gruppenüberwachungsantworten
an den Gruppenmanager. Um eine Netzwerküberlastung zu vermeiden, ist es
von Vorteil, die Überwachungsantworten
zu senden, nachdem eine zufällige
Verzögerungszeit
abgelaufen ist im Anschluss an den Empfang der Multicast-Gruppenüberwachungsanforderungen.
Der Gruppenmanager kann ein Gruppenmitglied als ein fehlendes Gruppenmitglied
beurteilen, wenn von dem Gruppenmitglied keine Antwort empfangen
wurde, nachdem eine vorgegebene Zeitperiode nachfolgend auf die Übertragung
einer Gruppenüberwachungsanforderung
abgelaufen ist.
-
Gemäß einem
weiteren Aspekt der Spezifikation kann die Gruppensteuerung weiter
den Schritt des Suchens eines fehlenden Gruppenmitgliedes aufweisen.
Um ein fehlendes Gruppenmitglied zu suchen, kann eine Suchanforderung
an alle zugänglichen
Terminals gesendet werden. In einem mobilen Ad-hoc-Netzwerk kann
die Suchanforderung an alle Netzwerkknoten in der Nachbarschaft
des Gruppenma nagers gesendet werden. Es ist insbesondere nützlich,
die Suchanforderung für
das fehlende Gruppenmitglied an alle Knoten zu senden (broadcast), die
sich in dem Funkbereich des Gruppenmanagers befinden. Die Suchanforderung
kann einen Lebenszeitparameter haben, der in einem Feld der Suchanforderung
enthalten ist und mit dieser übertragen wird.
Netzwerkknoten in dem mobilen Ad-hoc-Netzwerk, welche die Suchanforderung
empfangen, leiten die empfangene Suchanforderung an andere zugängliche
Netzwerkknoten weiter. Dies hat den Vorteil, dass der Suchbereich
ausgedehnt wird, da Netzwerkknoten, die durch den Gruppenmanager
nicht erreichbar sind, die weitergeleitete Suchanforderung von dazwischenliegenden
Weiterleitungsknoten empfangen wird. Somit wird die Suchanforderung
in dem Kommunikationsnetzwerk unter Verwendung von mehrfachen Sprüngen (hops)(Verbindungen
zwischen sendenden und empfangenden Knoten) verteilt. Die Abdeckung
des Suchbereichs wird durch den Lebenszeitparameter der Suchanforderung
gesteuert, da die Knoten, welche die Suchanforderung empfangen,
die empfangene Anforderung an andere Knoten weiterleiten, solange
die Lebenszeit der Anforderung nicht abgelaufen ist. Es ist auch
möglich, den
Verteilungsbereich der Suchanforderung zu steuern durch Festlegen
einer Sprungzählung
(hop count) der Suchanforderung. Die Sprungzählung bestimmt die Anzahl,
wie oft die Suchanforderung durch mobile Terminals weitergeleitet
wird.
-
Wenn
keine Antwort von einem fehlenden Mitglied auf eine Suchanforderung
in einer vorgegebenen Zeitperiode empfangen wird, können weitere Suchanforderungen
gesendet werden. Vorzugsweise werden die Lebenszeitparameter von
aufeinander folgenden Suchanforderungen erhöht. Dies hat den Vorteil, dass
der Suchbereich für
das fehlende Mitglied sukzessiv erhöht wird, wodurch die Möglichkeit des
Findens des fehlenden Gruppenmitgliedes verbessert wird.
-
Die
Suche nach einem fehlenden Gruppenmitglied kann auch durchgeführt werden
unter Verwendung mehrerer Kommunikationsnetzwerke. Dies hat den
Vorteil, dass das fehlende Gruppenmitglied erfasst werden kann,
auch wenn die Datenübertragung
in einem Netzwerk gestört
ist. In diesem Fall kann das fehlende Gruppenmitglied möglicherweise durch
ein anderes Kommunikationsnetzwerk kontaktiert werden. Zusätzlich können Kommunikationsnetzwerke
mit unterschiedlichen Netzwerkverbindungsübertragungsbereichen verwendet
werden. Zum Beispiel kann am Anfang der Suche die Suche durchgeführt werden
unter Verwendung einer Nahbereichsfunkverbindung, wie Bluetooth.
Wenn keine Antwort empfangen wird, können weitere Suchanforderungen
unter Verwendung von Funkverbindungen mit einer größeren Reichweite
gesendet werden.
-
Vorzugsweise
wird ein fehlendes Gruppenmitglied als verlorenes Gruppenmitglied
beurteilt, wenn keine Antwort auf eine oder mehrere Suchanforderungen)
für das
Gruppenmitglied von dem Gruppenmanager empfangen wurde. In diesem
Fall ist es sehr wahrscheinlich, dass sich der fehlende Netzwerkknoten
aus dem Betriebsbereich der Dienstgruppe heraus bewegt hat, oder
der Knoten deaktiviert wurde. In beiden Fällen ist es anzuraten, die Gruppenmitgliedschaft
des verlorenen Gruppenmitgliedes zu beenden. Die Gruppensteuerungsinformation,
welche die Knoten-IDs von teilnehmenden Gruppenmitgliedern aufweist,
kann aktualisiert werden, um das Verschwinden des verlorenen Gruppenmitgliedes
zu reflektieren. Es ist von Vorteil, die verbleibenden Gruppenmitglieder über den
Status des fehlenden Gruppenmitgliedes und/oder die aktualisierte
Gruppensteuerungsinformation zu benachrichtigen. Die aktualisierte
Gruppensteuerungsinformation wird vorzugsweise an die Gruppenmitglieder durch
Multicast verteilt.
-
Wenn
ein verlorenes Gruppenmitglied schließlich eine Überwachungsanforderung oder eine
Suchanforderung von dem Gruppenmanager empfängt, nachdem es keine Anforderung
während einer
vorgegebenen Zeitperiode empfangen hat, kann der Knoten entscheiden,
dass er von der Gruppe getrennt wurde. Diese Situation kann zum
Beispiel auftreten, wenn die Funkkommunikation zu dem Knoten temporär gestört wird,
was zum Beispiel geschehen kann, wenn ein mobiler Knoten durch einen Tunnel
bewegt wird. Das verlorene Gruppenmitglied kann dann entscheiden,
eine Wiederanschluss-Anforderung
an den Gruppenmanager zu senden, um den Gruppenmanager zu informieren,
dass der Knoten wieder mit der Gruppe verbunden ist, und anfordert,
wieder an der Gruppe teilzunehmen.
-
Bei
Empfang einer Wiederanschlussanforderung von einem verlorenen Mitglied
kann der Gruppenmanager die Gruppensteuerungsinformation aktualisieren,
um die Knoten-ID des verlorenen Gruppenmitgliedes aufzunehmen oder
zu reaktivieren. Es ist weiterhin von Vorteil, die Gruppenmitglieder über die
aktualisierte Gruppensteuerungsinformation und die erneute Teilnahme
des verlorenen Gruppenmitgliedes zu benachrichtigen. Mit diesen
Aktionen nimmt der Knoten, der vorher als verloren betrachtet wurde,
wieder an der Dienstgruppe teil und von diesem Zeitpunkt an kann
er wieder an dem Gruppendienst teilnehmen, z.B. Anwendungsdaten
empfangen und/oder senden.
-
Um
die Gruppe zu verlassen, kann ein Gruppenmitglied eine Gruppeverlassenanforderung
an den Gruppenmanager senden. Der Gruppenmanager kann die Gruppensteuerungsinformation
aktualisieren und die Gruppenmitglieder über das Verlassen und die aktualisierte
Gruppensteuerungsinformation benachrichtigen. Dies hat den Vorteil,
dass ein Gruppenmitglied den Gruppenmanager hinsichtlich eines beabsichtigten
Verlassens der Gruppe informiert. In diesem Fall beginnt der Gruppenmanager
kein Suchverfahren für
das jeweilige Gruppenmitglied.
-
Gemäß dem vorher
beschriebenen Gruppensteuerungsprozess kann ein Gruppenmanager die
Gruppenmitgliedschaft einer Vielzahl von Netzwerkknoten dynamisch
steuern und die Anwesenheit der Gruppenmitglieder überwachen.
Fehlende Mitglieder werden automatisch erfasst und ein Suchverfahren
wird initiiert. Die Gruppenmitgliedschaftsinformation wird angepasst,
wenn ein Gruppenmitglied verloren ist. Demgemäß sieht die Spezifikation einen vollautomatischen
und vollständigen
Gruppensteuerungsprozess vor, der von dem Gruppenmanager unabhängig von
der Sitzungssteuerung durchgeführt wird.
-
Basierend
auf den obigen Schritten kann das Verfahren gemäß der Spezifikation eine Sitzungssteuerung
durchführen,
die ausgebildet ist, den Verbindungsstatus einer Vielzahl von Sitzungen
in der Dienstgruppe effizient zu steuern. Da die Sitzungssteuerung
von einem Sitzungsmanager getrennt von der Gruppensteuerung durchgeführt wird,
wird die Berechnungslast, die den einzelnen Netzwerkknoten auferlegt
wird, verteilt und somit verringert. Ferner kann eine Vielzahl von
Sitzungen dieselbe Gruppensteuerung gemeinsam benutzen. Demgemäß kann das
Verfahren zum Betreiben von Gruppendiensten gemäß der vorliegenden Spezifikation
häufige
Gruppen- und Sitzungsmitgliedsänderungen
handhaben. Mit der Verwendung des Gruppenmitgliedssuchverfahren
kann das Verfahren auch häufige
Ortsveränderungen
der Gruppenmitglieder handhaben. Zusätzlich kann das Verfahren gemäß der vorliegenden Spezifikation
häufige
Anwendungs/Sitzungsverbindungs-Statusänderungen handhaben, die unabhängig von
dem jeweiligen Sitzungsmanager der Sitzung erfasst und gehandhabt
werden.
-
Das
Verfahren zum Betreiben von Gruppendiensten in Kommunikationsnetzwerken
gemäß der vorliegenden
Spezifikation wird vorzugsweise implementiert als ein Computerprogramm,
das von einem oder mehreren der Netzwerkknoten betrieben wird. Gemäß einem
bevorzugten Ausführungsbeispiel
der Spezifikation ist das Computerprogramm als ein Software-Protokoll
gestaltet, das Schnittstellen und Nachrichten vorsieht, um Gruppendienste
zu betreiben.
-
Gemäß einem
anderen Aspekt der Spezifikation ist eine Vorrichtung zum Betreiben
von Gruppendiensten in einem Kommunikationsnetzwerk vorgesehen,
die eine Vielzahl von den Netzwerkknoten aufweist. Die Vorrichtung
weist Gruppensteuerungsmittel auf, um die Mitgliedschaft von Knoten
in einer Dienstgruppe zu steuern, und Sitzungssteuerungsmittel,
um den Verbindungsstatus für
eine Vielzahl von Sitzungen in der Dienstgruppe zu steuern.
-
Die
Gruppensteuerungsmittel eines Netzwerkknotens können einen Gruppenmanager aufweisen,
der ausgebildet ist, eine Dienstgruppe zu definieren, Gruppeneinladungen
an die Knoten zu senden und ein Gruppenmitglied zu registrieren
basierend auf einer Gruppenregistrierungsanforderung, die von dem
Terminal des Gruppenmitglieds empfangen wird.
-
Der
Gruppenmanager kann weiter Gruppenüberwachungsmittel aufweisen,
die ausgebildet sind, die Verfügbarkeit
und die Zugänglichkeit
der Gruppenmitglieder zu überwachen
durch Senden von Gruppenüberwachungsanforderungen
an Gruppenmitglieder und Überwachen
der Antworten von den Gruppenmitgliedern.
-
Der
Gruppenmanager kann weiter Gruppenmitgliedsuchmittel aufweisen,
die ausgebildet sind, Suchanforderungen für ein fehlendes Gruppenmitglied
an alle zugänglichen
Netzwerkknoten in einem Suchbereichs zu senden.
-
Die
Gruppensteuerungsmittel eines Terminals können Gruppeneinladungserfassungsmittel aufweisen,
die ausgebildet sind, eine Gruppeneinladung zu erfassen, die von
einem Gruppenmanager gesendet (broadcast) wurde. Nachdem eine Gruppeneinladung
erfasst wurde und das Terminal entscheidet, an der Gruppe teilzunehmen,
sendet das Gruppensteuerungsmittel eine Gruppenregistrierungsanforderung
an den Gruppenmanager.
-
Das
Gruppensteuerungsmittel eines Netzwerkknotens kann weiter Gruppenüberwachungserfassungsmittel
aufweisen, die ausgebildet sind, Gruppenüberwachungsanforderungen und
Suchanforderungen zu erfassen, die von einem Gruppenmanager gesendet
(broadcast) wurden. Nachdem eine Gruppenüberwachungsanforderung oder
eine Suchanforderung empfangen wurde, sendet das Gruppensteuerungsmittel
eine Antwort an den Gruppenmanager, um seine Anwesenheit zu bestätigen.
-
Das
Kommunikationsnetzwerk ist vorzugsweise als ein mobiles Ad-hoc-Netzwerk ausgebildet. Ein
mobiles Ad-hoc-Netzwerk ist ein autonomes System von mobilen Knoten,
die durch drahtlose Verbindungen verbunde n sind. Ein mobiler Knoten
kann einen Router und einen oder mehrere Hostrechner aufweisen.
Die mobilen Knoten können
sich frei bewegen und sich selbst organisieren, um so eine flexible Netzwerktopologie
zur Verfügung
zu stellen.
-
Ein
Vorrichtung gemäß der Spezifikation kann
zumindest eine Netzwerkschnittstelle aufweisen, die ausgebildet
ist, mit anderen Netzwerkknoten in dem Kommunikationsnetzwerk zu
kommunizieren. Die Netzwerkschnittstelle kann auf einer Nahbereichsfunkzugriffs technologie,
wie Bluetooth, Infrarotdatenverbindung (IrDA) und/oder einem drahtlosen
lokalen Netzwerk (WLAN) basieren. Selbstverständlich sind auch andere Vernetzungstechnologien zur
Verbindung der Netzwerkknoten anwendbar, wie für Fachleute offensichtlich
ist.
-
Die
Netzwerkschnittstelle kann ausgebildet sein, Daten oder Nachrichten
an eine Vielzahl von Knoten zu senden (broadcast) und/oder Daten
oder Nachrichten an eine vorgegebenen Gruppe von Terminals per Multicast
zu senden. Dies wird vorzugsweise durch Verwendung einer Internetprotokoll(IP)-Gruppenadresse
(IP multicast) erzielt.
-
Gemäß einem
bevorzugten Ausführungsbeispiel
der Spezifikation kann die Vorrichtung eine Vielzahl von Netzwerkschnittstellen
aufweisen, die ausgebildet sind, mit Netzwerkknoten über unterschiedliche
Kommunikationsnetzwerke zu kommunizieren. Das Gruppenmitgliedsuchmittel
kann Suchanforderungen für
ein fehlendes Gruppenmitglied über
die verschiedenen Netzwerkschnittstellen senden. Es ist vorteilhaft,
eine Netzwerkschnittstelle zu benutzen, die einen größeren Abdeckungs(broadcast)bereich hat,
wenn keine Antwort für
eine vorhergehende Suchanforderung empfangen wurde, die über eine Netzwerkschnittstelle
mit einem geringeren Abdeckungs(broadcast)bereich gesendet wurde.
-
Die
Terminals in dem Kommunikationsnetzwerk sind vorzugsweise mobile
Terminals, die mittels drahtloser Kommunikationsverbindungen kommunizieren.
Insbesondere mobile Telefone, PDA (personal digital assistant) oder
drahtlose LAN-Knoten, wie Notebooks, Zugangspunkte oder Workstationen, sind
geeignete Netzwerkknoten zum Betreiben von Gruppendiensten. Auch
Vorrichtungen mit einer Nahbereichsfiunkzugriffsnetzwerkschnittstelle,
insbesondere Sensor-Chips
oder RFID(radio frequency identification)-Chips, können als
Netzwerkknoten eingesetzt werden.
-
Sensor-Chips,
die eine physikalische Entität erfassen
und eine Vernetzungsfunktion haben, z.B. durch Verwenden einer Funktechnologie,
können ebenfalls
ein Ad-hoc-Netzwerk bilden. In diesem Fall können die Sensor-Chips eine
Gruppe bilden unter Verwendung des Gruppendienstes gemäß der vorliegenden
Spezifikation. Ein Sensor-Chip
kann die Rolle eines Gruppenmanagers haben und eine Information,
die von anderen Sensor-Chips gesammelt wird, die als Gruppenmitglieder
dienen, an ein Überwachungszentrum
senden. Die Information kann regelmäßig oder auf Nachfrage gesendet
werden.
-
RFID-Chips
mit einer Vernetzungsfunktion können
ebenfalls ein Ad-hoc-Netzwerk
bilden und sich in Gruppen organisieren. Zum Beispiel können RFID-Chips
zur Identifikation von Objekten verwendet werden. RFID-Chips, die
an Fahrzeugen angebracht sind, können
benutzt werden, um eine Registrierungsinformation der Fahrzeuge
zu speichern. Diese Information kann in der Nähe der Fahrzeuge über ein
Ad-hoc-Netzwerk gesendet (broadcast) werden. Demgemäss können Fahrzeuge
in der Nähe
die Registrierungsinformation anderer Fahrzeuge in der Umgebung
erkennen.
-
Die
vorliegende Spezifikation sieht ein Verfahren und eine Vorrichtung
zum Betreiben von Gruppendiensten in Kommunikationsnetzwerken vor,
wobei die Gruppensteuerung und die Sitzungssteuerung getrennt sind,
um Flexibilität
und Effizienz zu verbessern. Die Spezifikation kann von Fachleuten implementiert
werden, z.B. in der Form eines Computerprogramms für eine Netzwerkvorrichtung,
die als ein universeller Computer oder als Spezial-Hardwarevorrichtung
organisiert sein kann. Die Spezifikation kann auch implementiert
werden durch Übertragen
des Gruppendienstprotokolls auf fest verdrahtete Logik, wie ASICs
oder andere Silizium-Chips.
-
1 zeigt
ein Beispiel einer Systemkonfiguration zur Darstellung des Betriebs
von Gruppendiensten in einem Kommunikationsnetzwerk;
-
2 zeigt
kurz das Verfahren zum Betreiben eines Gruppendienstes für ein Beispiel
einer vorübergehenden
Besprechung (meeting);
-
3 zeigt
schematisch die Beziehung zwischen der Gruppensteuerung und der
Sitzungssteuerung;
-
4 zeigt
schematisch ein Kommunikationsnetzwerk zum Betreiben von Gruppendiensten;
-
5 zeigt
schematisch die Beziehung zwischen unterschiedlichen Sitzungen in
einer Gruppe;
-
6 zeigt
schematisch die Schritte, die bei dem Betreiben der Gruppendienste
beteiligt sind;
-
7 zeigt
ein Flussdiagramm, das schematisch die Hauptverarbeitungsschritte
des Gruppensteuerungsprozesses darstellt, der von dem Gruppenmanager
durchgeführt
wird;
-
8 zeigt
ein Flussdiagramm, das schematisch den Entscheidungsprozess darstellt,
um Gruppenmanager zu werden;
-
9 zeigt
schematisch Details des Dienstgruppeneinladungs- und Anfangsregistrierungs-Prozesses;
-
10 zeigt
schematisch den Gruppenbestätigungsprozess;
-
11 zeigt
ein Diagramm, das schematisch ein erstes Verfahren der Überwachung
von Gruppenmitgliedern erläutert;
-
12 zeigt ein Diagramm, das schematisch
ein zweites Verfahren der Überwachung
von Gruppenmitgliedern erläutert;
-
13 zeigt
schematisch eine erfolgreiche Suche nach einem fehlenden Gruppenmitglied;
-
14 zeigt
weiter schematisch die Suche nach einem fehlenden Gruppenmitglied;
-
15 zeigt
ein Flussdiagramm für
einen erfolglosen Suchprozess, der von dem Gruppenmanager durchgeführt wird;
-
16 zeigt
ein Flussdiagramm eines in einem Netzwerkknoten durchzuführenden
Prozesses;
-
17 zeigt
schematisch einen Gruppenwartungsprozess hinsichtlich Änderungen
der Gruppenmitgliedschaft;
-
18 zeigt
schematisch einen Gruppenwartungsprozess, wenn ein Gruppenmitglied
die Gruppe verlässt;
-
19 zeigt
schematisch einen Gruppenbeendigungsprozess;
-
20 zeigt
ein Flussdiagramm, das schematisch den Sitzungssteuerungsprozess
darstellt;
-
21 zeigt
schematisch einen Sitzungseinladungsprozess, der von einem Terminal
durchgeführt
wird, das mit der Übertragung
von Anwendungsdaten beginnen möchte;
-
23 zeigt
schematisch einen Sitzungsbestätigungsprozess;
-
24 zeigt
schematisch einen ersten Sitzungsüberwachungsprozess;
-
25 zeigt
schematisch einen zweiten Sitzungsüberwachungsprozess;
-
26 zeigt
schematisch den Hauptsteuerungsablauf der Sitzungswartung, die durch
den Sitzungsmanager durchgeführt
wird;
-
27 zeigt
schematisch einen Sitzungsunterbrechungs-Wiederherstellungsprozess;
-
28 zeigt
schematisch einen Sitzungsteilnahmeprozess;
-
29 zeigt
schematisch einen „Verlasse-Sitzung"-Prozess;
-
30 zeigt schematisch einen Gruppenänderungsprozess;
-
31 zeigt schematisch einen Sitzungsattributaktualisierungsprozess;
-
32 zeigt schematisch einen Sitzungsbeendigungsprozess;
-
33 zeigt ein Blockdiagramm der Hardwarestruktur
eines Netzwerkknotens 10, die ausgebildet ist, Gruppendienste
gemäß der vorliegenden Erfindung
zu betreiben;
-
34 zeigt die Software-Struktur eines bevorzugten
Ausführungsbeispiels
der Erfindung; und
-
35 zeigt die Beziehung zwischen der Software-Struktur
eines Manager-Terminals und eines Client-Terminals.
-
1 zeigt
ein Beispiel einer Systemkonfiguration zur Darstellung des Betriebs
von Gruppendiensten in einem Kommunikationsnetzwerk 1.
Die mobilen Netzwerkknoten P1-P5 und der Weiterleitungsknoten R
bilden ein mobiles Ad-hoc-Netzwerk 1 unter Verwendung einer
drahtlose Verbindungskommunikationstechnologie. Die mobilen Knoten
P1-P5, R sind autonome Host-Systeme, die Routingfähigkeiten
aufweisen.
-
Das
in der 1 gezeigte Beispiel betrifft eine vorübergehende
Besprechung (meeting). Der Host P1 initiiert eine Dienstgruppe für die Besprechung
bzw. Konferenz und wird der Gruppenmanager (GM). Die Hosts P2-P5
treten der Gruppe für
die Besprechung bei. Der Weiterleitungsknoten R nimmt nicht an der
Dienstgruppe teil, sondern dient als eine Mediator- oder Relaisstation
in dem mobilen drahtlosen Multihop-Netzwerk 1. Der Gruppenmanager
P1 führt
den Gruppensteuerungsprozess durch, um die Mitgliedschaft der Knoten
P1-P5 in der Dienstgruppe zu steuern und die Mitglieder P1-P5 zu
verfolgen.
-
Eine
Anwendung AP1, die beabsichtigt, Anwendungsdaten an die Gruppenmitglieder
P2-P5 zu senden, wird auf dem Knoten P1 durchgeführt. Der Knoten P1 ist der
erste Sender in der Gruppe und initiiert folglich eine Sitzung S1
zur Übertragung
der Anwendungsdaten von AP1 zu den Gruppenmitgliedern P2-P5. Demgemäß wird P1
der Sitzungsmanager der Sitzung S1, um die jeweilige Sitzungssteuerung
für S1
durchzuführen.
Die Sitzungssteuerung betrifft die Steuerung des Verbindungsstatus
der Sitzung S1, d.h. den Start/das Ende der Anwendungsdatenübertragung.
Die Sitzungssteuerung verwaltet die Anwendungsverbindung, z.B. durch
Anfordern der Daten, Überwachen
der Sitzungsqualität
(Durchsatz, Fehlerrate, Verzögerung,
usw.). Der Sitzungsmanager kann zu einem anderen Sitzungsmitglied geändert werden,
wenn zum Beispiel ein anderes Sitzungsmitglied den sendenden Teil
in der Sitzung übernimmt.
-
Eine
zweite Anwendung AP2, die beabsichtigt, Anwendungsdaten an die Gruppenmitglieder P1-P4
zu übertragen,
wird auf dem mobilen Terminal bzw. Endgerät P5 durchgeführt, das
eine zweite Sitzung S2 initiiert und deren Sitzungsmanager wird.
In der Dienstgruppe kann eine Vielzahl von Sitzungen von den jeweiligen
Sitzungsmanagern initiiert werden und aufrechterhalten werden. Der
Sender einer Sitzung kann jeder Knoten in der Gruppe sein. In dem dargestellten
Beispiel der vorübergehenden
Besprechung kann die erste dargestellte Anwendung den Gruppenmitgliedern
eine Präsentation
mittels der ersten Sitzung zeigen. Die zweite Anwendung, die auf
P5 durchgeführt
wird, kann eine weitere Präsentation,
die das Thema betrifft, mittels der zweiten Sitzung S2 zeigen. In
einem weiteren Szenario kann eine Video-Streaming-Anwendung die
Sitzung S1 verwenden, und eine Voice-over-IP-Anwendung kann die
Sitzung S2 verwenden.
-
Durch
Trennen der Gruppensteuerung und der Sitzungssteuerung sieht das
Verfahren zum Betreiben von Gruppendienste in einem Kommunikationsnetzwerk
entsprechend der Erfindung eine hohe Flexibilität vor und verringert die Berechnungslast, die
den einzelnen Netzwerkknoten auferlegt wird, die als ein Gruppen-
und/oder Sitzungsmanager arbeiten. Es ist möglich, eine Vielzahl von Sitzungen
in der Dienstgruppe durchzuführen,
wodurch die Gruppensteuerung, die von dem Gruppenmanager durchgeführt wird,
geteilt wird.
-
In
der 2 wird das Verfahren zum Betreiben des Gruppendienstes
für das
Beispiel der vorübergehenden
Besprechung kurz dargestellt. Details der einzelnen Schritte werden
später
erläutert.
-
Zuerst
initiiert der Vorsitzende der vorübergehenden Besprechung, der
auch der erste Sender ist, eine Dienstgruppe und wird Gruppenmanager.
In dem Schritt 100 sendet der Gruppenmanager Gruppeneinladungen
für die
Sitzung an andere Netzwerkknoten, z.B. durch Senden (broadcasting)
von Sitzungseinladungsnachrichten in dem Kommunikationsnetzwerk.
Interessierte Netzwerkknoten können an
der Dienstgruppe teilnehmen durch Antworten auf die Gruppeneinladung.
Der Gruppenmanager sammelt die Gruppenregistrierungsanforderungen,
die von den interessierten Knoten gesendet werden, und registriert
die jeweiligen Gruppenmitglieder, wodurch die Dienstgruppe in Schritt 105 definiert
wird. In Schritt 130 wird der Sitzungssteuerungsprozess durchgeführt. Der
Sitzungssteuerungsprozess kann eine Vielzahl von Sitzungen steuern,
die den Anwendungen entsprechen, die Daten zur Übertragung an die Sitzungsmitglieder
haben. Hier wird ein Sitzungseinladungs- und Registrierungs-Prozess
in Schritt 131 durchgeführt.
Eine Multicast-Sitzung für
die Sitzungs-Anwendung
wird in Schritt 132 durchgeführt. Nach Beendigung wird die
Sitzung in Schritt 133 beendet. Nachdem die Sitzung beendet
ist oder wenn der Gruppenmanager entscheidet, die Dienstgruppe zu
schließen,
wird die Gruppensteuerung im Schritt 140 beendet, wodurch
der Sitzungsdienst beendet wird.
-
3 zeigt
schematisch die Beziehung zwischen der Gruppensteuerung und der
Sitzungssteuerung. Nachdem ein Aufbau einer Gruppe in Schritt 110 durchgeführt wurde,
z.B. durch Senden einer Gruppeneinladung an die Netzwerkknoten und
Registrieren der antwortenden Knoten, wird in Schritt 120 der
Gruppensteuerungsprozess von dem Gruppenmanager durchgeführt, der
der erste Sender oder ein anderes Mitglied der Gruppe sein kann.
Die Gruppensteuerung kümmert
sich um die Mitgliederverfolgung und Pflege der Mitgliedschaft.
Für jede
Sitzung S1-Sm wird eine getrennte Sitzungssteuerung in den Schritten 130-1 bis 130-m durchgeführt, um
die Verbindungen der Anwendungen zu verwalten. Der Sitzungsmanager
für eine
Sitzung ist vorzugsweise der erste Anwendungssender in der Gruppe.
Folglich erscheint eine Sitzung auf einem Endgerät mit zu sendenden Anwendungsdaten.
Eine Gruppe kann mehrere Sitzungen S1-Sm umfassen, die jeweiligen
Anwendungen entsprechen. Zum Beispiel werden eine erste Multicast-Sitzung
für eine
Präsentationsvorführung und
eine zweite Multicast-Sitzung für
eine Video-Streaming-Anwendung
durchgeführt.
Ein Gruppenmanager kann gleichzeitig Sitzungsmanager sein. Nachdem
alle Sitzungen durch ihre jeweiligen Sitzungssteuerungen beendet
sind oder wenn der Gruppenmanager entscheidet, die Dienstgruppe
zu schließen,
wird die Gruppensteuerung in Schritt 140 beendet.
-
4 zeigt
schematisch ein Kommunikationsnetzwerk 1 zum Betreiben
von Gruppendiensten. Das Kommunikationsnetzwerk 1 ist ein
mobiles Ad-hoc-Netzwerk, das aus Knoten 20–22 besteht,
die als Host und Weiterleitungsknoten dienen. Ein Diensteanbieterterminal 20 (schwarzer
Kreis) kündigt eine
Dienstgruppe an und interessierte Knoten gruppieren sich mit dem
Diensteanbieterknoten 20, um Gruppenmitglieder 21 (graue
Kreise) zu werden. Die Gruppenmitglieder 21 können über direkte
Netzwerkverbindungen (einzelner Sprung – single hop) oder indirekt über Weiterleitungsknoten 22 (Mehrfach-Sprung – multi
hop) verbunden werden. Die Weiterleitungsknoten 22 (offene
Kreise) nehmen nicht an der Gruppe teil, sondern leiten empfangene Daten
an andere Knoten weiter.
-
Die
Netzwerkknoten 20–22 können mehr
als eine Kommunikationsschnittstelle haben, zum Beispiel eine Schnittstelle
zum Betreiben eines Ad-hoc-Netzwerks und eine andere Schnittstelle,
die mit einem Infrastruktur-basierten Netzwerk verbunden ist, z.B.
ein zellulares mobiles Netzwerk. Ein Knoten mit mehreren Netzwerkschnittstellen
kann auch zu unterschiedlichen Gruppen gehören, die in unterschiedlichen
Netzwerken arbeiten.
-
5 zeigt
schematisch die Beziehung zwischen unterschiedlichen Sitzungen in
einer Gruppe. Anwendungsdienste werden Benutzern/Clients von Anwendungsanbietern
vorgeschlagen. Ein Anwendungsanbieter annonciert seinen Anwendungsdienst,
kümmert
sich um die Benutzer/Client-Registrierung und sendet Daten. Der
erste Anwendungsanbieter (Sender) initiiert normalerweise die Gruppe und übernimmt
die Rolle des Gruppenmanagers. Alle Anwendungsanbieter (Sender)
werden ein Gruppenmitglied durch Registrieren an dem Gruppenmanager.
Ein Anwendungsanbieter hat die Rolle eines Senders in dem System
und wird zum Sitzungsmanager, um die Sitzungssteuerung seiner jeweiligen Sitzung
durchzuführen.
Ein Client oder Benutzer registriert sich bei dem Gruppenmanager,
um auf die verschiedenen Anwendungsdienste in der Gruppe zuzugreifen.
Nach der Registrierung empfängt
ein Client Daten von den Anwendungsanbietern. Jedes Gruppenmitglied
kann ein Anwendungsanbieter werden. Jeder Anwendungsanbieter in
der Gruppe teilt sich die Gruppensteuerung, die von dem Gruppenmanager
durchgeführt
wird.
-
6 zeigt
schematisch unterschiedliche Schritte, die beim Betreiben von Gruppendiensten beteiligt
sind. 6A zeigt die Schritte, die von
dem ersten Anwendungsanbieter durchgeführt werden, der eine Dienstgruppe
aufstellt und der Gruppenmanager wird. Zuerst wird eine Dienstgruppeneinladung (Anzeige)
in dem Kommunikationsnetzwerk verteilt. Dann wird die Gruppe gebildet
und die Gruppenmitglieder werden registriert. Dann wird eine Sitzungseinladung
für die
erste Sitzung an die Gruppenmitglieder verteilt. Schließlich wird
der Sitzungsbetrieb der Senderseite für die erste Anwendung durchgeführt.
-
6B zeigt die Schritte, die bei dem Betrieb eines „Benutzer
(nur) Empfänger" beteiligt sind.
Zuerst wird eine Dienstgruppe erfasst, die bestimmte Anforderungen
erfüllt,
und der Client/Benutzer registriert sich bei dieser Gruppe. Dann
wird eine Sitzungsregistrierung durchgeführt, um sich bei einem Anwendungsdienst
zu registrieren. Dann wird der Sitzungsbetrieb der Empfängerseite
durchgeführt,
um die Anwendungsdaten zu empfangen, die der registrierten Sitzung
entsprechen.
-
6C zeigt die Schritte für einen
Benutzer/Client, der ein Sender wird. Der Benutzer/Client, der bereits
als Gruppenmitglied registriert ist, entscheidet, die Rolle des
Anwendungsanbieters einzunehmen und beabsichtigt, Daten an andere
Benutzer/Clients zu senden. Demgemäß verteilt der Benutzer/Client
eine Sitzungseinladung an andere Gruppenmitglieder und führt den
Sitzungsbetrieb der Senderseite durch, um Daten an andere registrierte
Mitglieder zu senden.
-
7 zeigt
ein Flussdiagramm, das die Hauptverarbeitungsschritte der Gruppensteuerung darstellt,
die durch den Gruppenmanager durchgeführt wird. Details der einzelnen
Schritte werden später
beschrieben.
-
In
Schritt 200 wird eine Dienstgruppeneinladung an andere
Netzwerkknoten in dem Kommunikationsnetzwerk erfasst. Die Gruppeneinladung
kann Gruppenattribute aufweisen, welche die Eigenschaften der Gruppe
spezifizieren.
-
In
Schritt 205 registriert sich ein Netzwerkknoten bei der
Gruppe durch Senden einer Gruppenregistrierungsanforderung an den
Gruppenmanager. Die anfängliche
Gruppenregistrierung wird wiederholt, bis in Schritt 210 keine
weiteren Netzwerkknoten eine Gruppenregistrierung anfordern oder
eine vorgegebene Registrierungszeit abläuft.
-
In
Schritt 215 sendet der Gruppenmanager den registrierten
Gruppenmitgliedern eine Gruppenbestätigungsanforderung. Die Gruppenmitglieder
bestätigen
ihre Anwesenheit durch Antworten auf die Gruppenbestätigung.
-
Die Überwachung
von Gruppenmitgliedern wird in Schritt 220 durchgeführt durch
Senden von Überwachungsanforderungen
an die Gruppenmitglieder und Erfassen der jeweiligen Antworten,
um den Status und die Anwesenheit der Gruppenmitglieder zu verfolgen.
-
Wenn
in Schritt 225 ein verlorenes Gruppenmitglied von dem Gruppenüberwachungsprozess
erfasst (oder wenn eine Suchanforderung von dem Gruppenmanager empfangen
wird), wird ein Suchprozess für
das fehlende Gruppenmitglied in Schritt 230 durchgeführt. In
diesem Suchprozess wird eine Suchanforderung für das fehlende Gruppenmitglied an
alle erreichbaren Netzwerkknoten gesendet, um festzustellen, ob
das fehlende Mitglied kontaktiert werden kann. Wenn die Versuche,
das fehlende Mitglied zu kontaktieren, fehlschlagen, wird das fehlende
Mitglied als verloren betrachtet und seine Gruppenmitgliedschaft
wird deaktiviert (temporär
oder dauerhaft).
-
In
Schritt 235 wird bestimmt, ob eine Teilnahmeanforderung
von einem neuen Netzwerkknoten, der nicht bereits Gruppenmitglied
ist, empfangen wird. In dem positiven Fall wird ein Prozess zur
Teilnah me an der Gruppe in Schritt 240 durchgeführt, um den
neuen Knoten zu ermöglichen,
an der Gruppe teilzunehmen.
-
Wenn
in Schritt 245 eine Wiederanschlussanforderung von einem
Gruppenmitglied empfangen wird, das vorher als verloren betrachtet
wurde, wird ein Prozess zur erneuten Teilnahme an der Gruppe in Schritt 250 durchgeführt, um
die Gruppenmitgliedschaft des verlorenen Gruppenmitgliedes zu reaktivieren.
-
In
Schritt 255 wird festgestellt, ob eine Verlassenanforderung
von einem Gruppenmitglied empfangen wird. In dem positiven Fall
wird ein Verlasse-Gruppe-Prozess in Schritt 260 durchgeführt, um das
Gruppenmitglied abzumelden, das die Verlassenanforderung an den
Gruppenmanager gesendet hat.
-
In
Schritt 265 entscheidet der Gruppenmanager, ob die Dienstgruppe
beendet werden soll. Wenn dem so ist, werden in Schritt 270 die
Dienstgruppe und der Gruppensteuerungsprozess beendet. Wenn in Schritt 265 der
Gruppenmanager entscheidet, die Dienstgruppe fortzuführen, z.B.
weil eine oder mehrere Sitzungen noch aktiv sind, fährt der
Prozess mit Schritt 220 fort, indem er die Gruppenüberwachung
durchführt.
-
8 zeigt
ein Flussdiagramm, das den Entscheidungsprozess eines Terminals
darstellt, das Daten zu senden hat, ohne ein Mitglied einer Gruppe zu
sein. Der Zweck dieses Diensterfassungsprozesses ist, eine existierende
Gruppe für
einen Dienst in einem bestimmten Bereich des Kommunikationsnetzwerks
zu suchen.
-
Der
Prozess in dem Terminal wird durch eine Anwendung ausgelöst, die
beabsichtigt, Daten zu senden, wodurch das Terminal ein Anwendungsanbieter
wird. Wenn das Terminal beabsichtigt, den An wendungsdienst zu beginnen,
gibt es drei mögliche Fälle für den Terminalstatus:
(1) das Terminal ist bereits ein Mitglied einer geeigneten Gruppe;
(2) das Terminal ist kein Mitglied einer geeigneten existierenden
Gruppe, kann aber an der Gruppe teilnehmen; oder (3) eine geeignete
Dienstgruppe für
die Anwendung existiert nicht und das Terminal muss eine neue Gruppe
erzeugen. Der folgende Prozess ist für die Fälle (2) und (3) erforderlich.
Es ist nicht für
Fall (1) erforderlich und kann ausgelassen werden.
-
In
Schritt 300 wird ein Dienstgruppe-Erfassungsprozess durchgeführt. Eine
Dienstgruppenabfrage wird an andere Knoten in dem Kommunikationsnetzwerk
gesendet. Zum Beispiel wird die Dienstgruppenabfrage an alle mobilen
Terminals in einem mobilen Ad-hoc-Netzwerk gesendet (broadcast). Der Zweck
der Dienstgruppenabfrage ist, die Eigenschaften von bestehenden
Gruppen zu bestimmen, insbesondere die Namen der Gruppenmitglieder
und/oder der Gruppenmanager. Eine Dienstgruppenabfragenachricht
kann Identifizierungsinformation von dem Benutzer aufweisen, der
das Terminal (User_ID) betreibt. Die Dienstgruppenabfrage kann eine
gegebene Anzahl wiederholt werden.
-
In
Schritt 305 wird festgestellt, ob eine Antwort auf eine
der Dienstgruppenabfragen von dem Terminal empfangen wird. Wenn
keine Antwort empfangen wird, wird entschieden, dass keine Dienstgruppe
in einem Bereich des Netzwerks existiert, der von den Gruppenabfragen
abgedeckt ist. In diesem Fall beginnt das Terminal mit den zu sendenden
Daten eine neue Gruppe und wird zum Gruppenmanager.
-
In
Schritt 310 führt
das Terminal eine Dienstgruppeneinladung durch, um andere Knoten
einzuladen, an der Dienstgruppe teilzunehmen. Die Gruppensteuerung
für die
neue Dienstgruppe wird in Schritt 315 durchgeführt. Um
Anwendungsdaten an andere Grup penmitglieder zu senden, baut das
Terminal eine neue Sitzung auf und wird zum Sitzungsmanager. Die
Sitzungssteuerung für
die Sitzung wird in Schritt 320 durchgeführt.
-
Wenn
in Schritt 305 eine Antwort auf die Dienstgruppenabfrage
empfangen wird, überprüft das Terminal
in Schritt 325, ob die Gruppenattribute der existierenden
Gruppe die Anforderungen der Anwendung erfüllen. Zum Beispiel werden die
Namen der Gruppenmitglieder mit einer Liste von Terminal- oder Terminalbenutzernamen
verglichen, die von der Anwendung erforderlich sind.
-
In
Schritt 330 wird festgestellt, ob die erfasste Gruppe eine
richtige Gruppe für
die Anwendung ist. Wenn die Gruppenattribute nicht mit den Anwendungsanforderungen übereinstimmen,
entscheidet das Terminal, eine neue Gruppe zu beginnen und wird
zum Gruppenmanager. In diesem Fall geht der Prozess mit Schritt 310 weiter.
-
Wenn
die erfasste Gruppe eine geeignete Gruppe für die Anwendung ist, tritt
das Terminal der erfassten Gruppe in Schritt 335 bei. Um
Anwendungsdaten zu senden, initiiert das Terminal eine Sitzung,
wird ein Sitzungsmanager und führt
die Sitzungssteuerung in Schritt 340 durch.
-
9 zeigt
schematisch Details der Dienstgruppeneinladung und der anfänglichen
Registrierung von Gruppenmitgliedern. In Schritt 350 wird
die Dienstgruppeneinladung von dem Gruppenmanager ausgeführt. Der
Gruppenmanager sendet Gruppeneinladungen an die Netzwerkknoten.
Die Gruppeneinladung wird vorzugsweise durch Broadcast gesendet
und kann eine gegebene Anzahl wiederholt werden. Eine Dienstgruppeneinladung
kann die Dienst-ID, den Dienstnamen, eine Zusammenfassung des Dienstinhalts,
die Gruppenma nager-ID (GM_ID) und/oder zusätzliche optionale Information aufweisen.
-
Als
eine optionale Maßnahme
kann ein Knoten, der eine Gruppeneinladung (Client) empfängt, den
Benutzer fragen, der den Client betreibt, ob er die Gruppeneinladung
akzeptiert oder nicht. Wenn der Benutzer entscheidet, die Gruppeneinladung
zu akzeptieren, antwortet der Client auf die Gruppeneinladung durch
Senden einer Gruppenregistrierungsanforderung an den Gruppenmanager.
Eine Registrierungsanforderungsnachricht kann die Benutzer-ID, die
Client-ID, die Dienst-ID der akzeptierten Dienstgruppe und/oder
eine zusätzliche
optionale Information aufweisen.
-
Nachdem
die Registrierungsanforderung von dem Gruppenmanager empfangen wurde,
wird die Registrierung des Benutzers/Clients in Schritt 360 durchgeführt.
-
Dieser
anfängliche
Registrierungsprozess kann für
andere Netzwerkknoten während
einer anfänglichen
Registrierungsperiode wiederholt werden, die von dem Gruppenmanager
bestimmt wird. Während
dieser anfänglichen
Registrierungsperiode kann sich eine Vielzahl von interessierten
Clients für
die Dienstgruppe registrieren. Es ist auch möglich, die Zahl der Gruppenmitgliedern
zu begrenzen, wenn erforderlich.
-
Als
eine optionale Maßnahme
kann eine Verhandlung von Dienstgruppenattributen von dem Gruppenmanager
und dem Gruppenmitglied/den Gruppenmitgliedern durchgeführt werden.
Zu diesem Zweck werden Gruppenattribute, wie die erforderliche Sicherheit
und/oder die Dienstqualität
(QoS – quality
of service), an den/die Client(s) übertragen. Der/die Client(s)/Benutzer
können
die empfangenen Gruppenattribute in Schritt 370 akzeptieren
und speichern.
-
Um
die Akzeptanz der Gruppenattribute zu steuern, kann/können der/die
Client(s) eine Attributakzeptanznachricht an den Gruppenmanager
senden.
-
Nach
der anfänglichen
Registrierung der Gruppenmitglieder gibt der Gruppenmanager eine Gruppen-ID
in Schritt 380 aus. Die Gruppen-ID dient dazu, die Dienstgruppe in dem
Kommunikationsnetzwerk eindeutig zu identifizieren.
-
In
Schritt 390 wird ein Gruppenzertifikat von dem Gruppenmanager
ausgegeben. Das Gruppenzertifikat kann die Gruppen-ID, die Dienst-ID und/oder zusätzliche
optionale Information aufweisen, wie das verhandelte Niveau der
Sicherheit oder der QoS. Das Gruppenzertifikat kann auch eine Multicast-IP-Adresse
aufweisen, das von einem IP(Internetprotokoll)-basierten Kommunikationsnetzwerk verwendet
wird, um Daten an die Gruppenmitglieder per Multicast zu senden.
-
Das
Gruppenzertifikat wird an den Client oder die Clients gesendet.
Der Client bestätigt
den Empfang des Gruppenzertifikats durch Senden einer Bestätigungsnachricht
an den Gruppenmanager. Die Bestätigungsnachricht
kann die Dienst-ID, die Gruppen-ID, die Benutzer-ID und/oder die
Client-ID aufweisen.
-
10 zeigt
schematisch den Gruppenbestätigungsprozess.
In der 10A werden Details des Gruppenbestätigungsprozesses
für ein On-Spot-Szenario
dargestellt. In diesem Szenario sind der Ort und die Zeit der Dienst-Einladung/-Registrierung
dieselben wie die der Gruppenbestätigung. Das bedeutet, dass
der Gruppendienst sofort nach der Gruppenregistrierung betrieben
wird. Zum Beispiel wird in einem Szenario einer vorübergehenden
Besprechung oder eines Tourführers
die Gruppe initiiert und der Anwendungsdienst wird unmittelbar nach
dem Aufbau der Gruppe durchgeführt.
-
Der
Gruppenmanager überträgt eine
Gruppeninformation an alle Gruppenmitglieder. Die Gruppeninformationsnachricht
kann per Multicast gesendet werden unter Verwendung einer IP-Multicast-Adresse, die an die
Gruppenmitglieder als Teil des Gruppenzertifikats verteilt wurde.
Die Gruppeninformationsnachricht kann die Dienst-ID (SV_ID), die Gruppen-ID
(GR_ID), die Gruppenmanager-ID (GM_ID), die Gruppenmitglied-IDs
und/oder zusätzliche
optionale Information aufweisen. Die Gruppenmitglieder speichern
die empfangene Gruppeninformation in Schritt 395.
-
In 10B werden Details der Gruppenbestätigung für ein Off-Spot-Szenario dargestellt.
In diesem Szenario sind der Ort und die Zeit der Dienst-Einladung
und -Registrierung zu denen der Gruppenbestätigung verschieden. Dies ist
z.B. der Fall, wenn sich die Gruppenmitglieder im Voraus bei der
Gruppe registrieren und der tatsächliche
Betrieb des Gruppendienstes, d.h. die Übertragung von Anwendungsdaten,
wird später
und/oder an einem anderen Ort durchgeführt. In diesem Fall müssen die Anwesenheit
und die Aktivierung der Gruppenmitglieder bestätigt werden.
-
Der
Gruppenmanager sendet Gruppenbestätigungsanforderungen, z.B.
durch Multicast, an die Gruppenmitglieder. Die Gruppenbestätigungsanforderung
kann die Dienst-ID, die Gruppen-ID, die Gruppenmanager-ID und/oder
zusätzliche
optionale Information aufweisen.
-
Ein
Terminal eines Gruppenmitglieds, das im Gruppenbetriebsbereich anwesend
ist und die Gruppenbestätigungsanforderung
empfängt,
antwortet durch Senden einer Gruppenbestätigungsantwort an den Gruppenmanager.
Die Gruppenbestätigungsantwort
kann das Gruppenzertifikat, die Benutzer-ID und/oder zusätzliche
optionale Information aufweisen.
-
In
Schritt 397 bestätigt
der Gruppenmanager die Identifikation der empfangenen Gruppenbestätigungsantwort
durch Vergleichen des empfangenen Gruppenzertifikats mit dem ausgegebenen
Dienstgruppenzertifikat. Wenn die Gruppenbestätigungsantwort authentisch
ist, aktiviert der Gruppenmanager die Registrierung des jeweiligen
Gruppenmitgliedes. Dieser Gruppenbestätigungsprozess kann eine gegebene
Anzahl wiederholt werden, um Bestätigungsantworten von den Gruppenmitgliedern
zu sammeln.
-
Nach
Wiederholung der obigen Bestätigung oder
nachdem eine vorgegebene Zeit abgelaufen ist, sendet der Gruppenmitgliedsmanager
eine Gruppeninformationsnachricht an alle aktivierte Gruppenmitglieder,
welche die empfangene Information in Schritt 395 speichern.
-
Mittels
des obigen Gruppenbestätigungsprozesses
für das
Off-Spot-Szenario
ist es vor dem Beginn der Übertragung
von Anwendungsdaten möglich,
die Anwesenheit von Gruppenmitgliedern zu bestätigen und die Registrierung
von vorhandenen Gruppenmitglieder zu aktivieren. Abhängend von den
Dienstgruppenanforderungen kann eine gesamte Gruppe nur bestätigt werden,
wenn alle registrierten Gruppenmitglieder anwesend sind. Es ist
auch möglich,
eine Dienstgruppe zu bestätigen
und den Betrieb zu beginnen, wenn nicht alle Gruppenmitglieder aktiviert
sind. Dies liefert eine Flexibilität für den Fall, dass sich Gruppenmitglieder
im Voraus registriert haben, aber für den Dienstbetrieb an der
Szene nicht erscheinen, z.B. weil sich Terminals von Gruppenmitgliedern
aus dem Betriebsbereich der Dienstgruppe heraus bewegt haben oder
weil sie deaktiviert wurden.
-
11 zeigt
ein Diagramm, das schematisch ein erstes Verfahren der Überwachung
von Gruppenmitglieder erläutert.
In der 11A wählt der Gruppenmanager aufeinander
folgend ein Gruppenmitglied und sendet eine Gruppenüberwachunganforderung
an das gewählte
Mitglied. Die Gruppenüberwachunganforderung
weist das Gruppenmitglied an, eine Antwort an den Gruppenmanager
zu senden. Der Gruppenmanager kann die Gruppenmitglieder in einer
zyklischen Weise wählen
und die Terminals nacheinander überprüfen. Zum
Beispiel wird eine Gruppenüberwachunganforderung
regelmäßig gesendet,
nachdem ein Timing Tm abgelaufen ist.
-
Als
optionale Maßnahme
kann die Gruppenüberwachunganforderung
eine Timing-Information aufweisen, welche die Zeit anzeigt, an der
das empfangende Gruppenmitglied seine nächste Antwort zu senden hat.
Die an den Gruppenmanager gesendete Antwort kann weiter den Zustand
des Terminals des Gruppenmitglieds aufweisen. Eine Gruppenüberwachungsanforderung
kann die Dienst-ID, die Gruppen-ID, die Gruppenmanager-ID und/oder
als einen optionalen Parameter das nächste Antwort-Timing aufweisen.
-
11B zeigt den Fall, dass eine Anzahl von Gruppenüberwachungsanforderungen
(hier drei) an das Terminal Nr. N des Gruppenmitglieds gesendet wurden,
aber von dem Gruppenmanager keine Antwort empfangen worden ist.
In diesem Fall – eine
vorgegebene Anzahl von Gruppenüberwachungsanforderungen
ist gesendet worden und darauf folgend sind keine Antworten von
dem ausgewählten
Gruppenmitglied empfangen worden – beurteilt der Gruppenmanager
das Gruppenmitglied als ein verlorenes Gruppenmitglied. Das Timing
Ts, das den Gruppenmanager veranlasst, die aufeinander folgende
Gruppenüberwachungsanforderungen
an ein Gruppenmitglied zu senden, kann Tm oder ein anderer Wert sein.
Der Gruppenmanager kann Gruppenüberwachungsantworten
an Gruppenmitglieder in ei ner wechselnden Sequenz der Gruppenmitglieder
senden. Der Gruppenmanager kann auch eine Sequenz von Gruppenüberwachungsanforderungen
an ein einzelnes Gruppenmitglied senden, z.B. wenn ein Terminal
eines Gruppenmitglieds nicht auf eine vorhergehende Anforderung
geantwortet hat.
-
Als
eine optionale Maßnahme
kann der Gruppenmanager die Senderanwendung oder den Benutzer des
Gruppenmanagerterminals fragen, wie fortzufahren ist, wenn ein fehlendes
Gruppenmitglied erfasst wird. Einige Anwendungen interessiert ein fehlendes
Gruppenmitglied nicht, während
andere Anwendungen den Dienst beenden können, wenn ein einzelnes Gruppenmitglied
fehlt. Der Gruppenmanager kann andere Gruppenmitglieder, insbesondere
Sitzungsmanager, über
den Status eines fehlenden Gruppenmitgliedes informieren durch Senden
einer Nachricht über
ein verlorenes Gruppenmitglied.
-
12 zeigt ein Diagramm, das schematisch
ein zweites Verfahren zur Überwachung
von Gruppenmitgliedern erläutert. 12A zeigt, wie ein Gruppenmanager Gruppenüberwachungsanforderungen
gleichzeitig in einem Multicast-Paket an alle Gruppenmitglieder
sendet. Gruppenmitgliederterminals, die eine Überwachungsanforderung empfangen haben,
antworten durch Senden (durch unicast) einer Gruppenüberwachungsantwort
an den Gruppenmanager. Um zu verhindern, dass alle Gruppenmitglieder
gleichzeitig antworten, können
die Gruppenüberwachungsantworten
durch die Terminals zufällig
verzögert
werden. Dies ermöglicht
ein skalierbares System mit einer großen Anzahl von Gruppenmitgliedern ohne
die Gefahr einer Netzwerküberlastung.
-
12B zeigt den Fall, dass das Terminal Nr. 3 nicht
auf aufeinander folgende Gruppenüberwachungsanforderungen
reagiert. Wenn ein Gruppenmitglied nicht auf eine Gruppenüberwachungsanforderung in
einer vorgegebenen Zeit reagiert, ist es von Vorteil, zusätzliche
einzelne Überwachungsanforderungen
an dieses Gruppenmitglied zu senden. Diese zusätzlichen Überwachungsanforderungen können regelmäßig gesendet
werden mit einem Timing Ts. Nachdem keine Antwort für eine bestimmte
Anzahl von Anforderungen empfangen wurde, wird das jeweilige Gruppenmitglied
als ein fehlendes Gruppenmitglied beurteilt.
-
Es
ist auch möglich,
Gruppenüberwachungsanforderung über Multicast
an alle Gruppenmitglieder zu senden, wie in 12A gezeigt
wird. In diesem Fall wird ein Gruppenmitglied als ein fehlendes Gruppenmitglied
beurteilt, wenn keine Antwort von dem jeweiligen Gruppenmitglied
für eine
aufeinander folgende Anzahl von Gruppenüberwachungsanforderung empfangen
wurde, die über
Multicast an die Gruppenmitgliedern gesendet wurden.
-
In
einem bevorzugten Ausführungsbeispiel der
Erfindung führt
der Gruppenmanager auch eine Gruppenwartung durch. Eine Gruppenwartung
umfasst die Suche nach fehlenden Gruppenmitgliedern, z.B. im Falle
eines durch die Gruppenüberwachung erfassten
fehlenden Gruppenmitglieds, und die Verarbeitung von Änderungen
bei der Gruppenmitgliedschaft.
-
13 zeigt
schematisch einen erfolgreichen Suchprozess für ein fehlendes Gruppenmitglied.
Zuerst sendet der Gruppenmanager eine „Beginn der Wartung"-Nachricht an die
Gruppenmitglieder, einschließlich
den Sitzungsmanagern. Mit dieser „Beginn der Wartung"-Nachricht werden die Gruppenmitglieder
benachrichtigt, dass ein Suchverfahren initiiert ist und die regulären Dienstbetriebe
suspendiert werden sollen. Diese Information wird verwendet z.B.
durch die Sitzungsmanager, um die Übertragung von Anwendungsdaten
anzuhalten.
-
Dann
wird eine erste Suchanforderung an alle erreichbaren Netzwerkknoten
gesendet (broadcast), einschließlich
an Terminals, die nicht Mitglieder der Gruppe sind, z.B. Weiterleitungsterminals.
Die Suchanforderung kann die Dienst-ID, die Gruppen-ID, die Gruppenmanager-ID
und/oder die Benutzer-ID oder die Terminal-ID des fehlenden Gruppenmitgliedes
aufweisen.
-
Zusätzlich kann
die Suchanforderung eine Suchbereichsbegrenzungsinformation aufweisen, die
Netzwerkknoten anweist, welche die Suchanforderung empfangen, die
empfangene Suchanforderung an andere erreichbare Terminals weiterzuleiten, wenn
die Bedingung gemäß der Suchbegrenzungsinformation
erfüllt
ist. Die Suchbereichsbegrenzung kann eine vorgegebene Lebenszeit
des Suchanforderung oder ein anderer Parameter sein, der den Bereich
der Suche in dem Kommunikationsnetzwerk begrenzt, z.B. eine maximale
Sprüngeanzahl,
welche die maximale Anzahl von Sprüngen (hops) für die Suchanforderung
anzeigt. In der Lebenszeit der Suchanforderung wird die Suchanforderung
durch empfangende Terminals an andere erreichbare Terminals weitergeleitet.
Dadurch wird die Suchanforderung in dem Kommunikationsnetzwerk in
einem Bereich verteilt, der größer ist
als der Betriebsbereich der Gruppe, wodurch der Suchbereich im Vergleich zu
der Gruppenüberwachung
vergrößert wird.
-
Wenn
keine Antwort auf die Suchanforderung in einer vorgegebenen Timeout-Periode
empfangen wird, wird eine weitere Suchanforderung gesendet (broadcast).
Die Lebenszeitinformation dieser nachfolgenden Suchanforderung wird
erhöht
z.B. durch Inkrementieren der Lebenszeit um eine vorgegebene Zeitdauer.
Durch die Erhöhung
der Lebenszeit der Suchanforderung wird der Suchbereich vergrößert, da
das Suchpaket innerhalb seiner Lebenszeit an mehr Terminals weitergeleitet
wird.
-
In
dem in der 13 gezeigten Beispiel werden
drei Suchanforderungen gesendet (broadcast). Die dritte Suchanforderung
erreicht das fehlende Gruppenmitglied und veranlasst, dass eine
Antwort an den Gruppenmanager gesendet wird. In diesem Fall ist
die Suche erfolgreich, und der Gruppenmanager sendet eine „Ende der
Wartung"-Nachricht an die Gruppenmitglieder.
Die „Ende
der Wartung"-Nachricht kann das
Suchresultat umfassen, hier die Erfassung des fehlenden Knotens.
-
14 zeigt
weiter schematisch die Suche nach einem fehlenden Gruppenmitglied.
In dem ersten Schritt des Suchprozesses sendet (broadcast) der Gruppenmanager 20 eine
Suchanforderung mit einer Lebenszeit T0.
In dieser Lebenszeit wird die Suchanforderung durch die Gruppenmitglieder 21 und
die Weiterleitungsterminals 22 weitergeleitet. Ein erster
Suchbereich entsteht, der in der 14 schematisch
durch den Kreis 31 dargestellt wird. Die zweite Suchanforderung
mit einer Lebenszeit T0 + ΔT ergibt
den Suchbereich 32. Der zweite Suchbereich 32 ist
größer als
der erste Suchbereich, da seine jeweilige Suchanforderung von den
Netzwerkknoten 21, 22 länger weitergeleitet wird, bis
die Lebenszeit abläuft.
In dem in der 14 gezeigten Beispiel befindet
sich das fehlende Gruppenmitglied 23 in dem dritten Suchbereich 33,
welcher der dritten Suchanforderung entspricht. Nach dem Empfang
der dritten Suchanforderung antwortet das fehlende Mitglied 23 auf
die Suchanforderung durch Senden einer Antwortnachricht 24 an
den Gruppenmanager 20.
-
15 zeigt
ein Flussdiagramm, das die Fortsetzung des Suchprozesses von 13 im
Fall einer erfolglosen Suche betrifft. Eine fehlendes Gruppenmitglied,
für das
keine Antwort auf eine vorgegebene Anzahl von Suchanforderungen
empfangen wurde, wird von dem Gruppenmanager als ein verlorenes
Gruppenmitglied beurteilt. Die ser Status des Gruppenmitglieds zeigt
das erfolglose Ergebnis des Suchprozesses an. Während es möglich ist, dass ein Gruppenmitglied
als ein fehlendes Gruppenmitglied beurteilt wird aufgrund von temporären Problemen, wie
Funkverbindungsschwund oder andere temporäre Störungen oder Interferenzen,
ist ein Zugänglichkeits-
oder Verfügbarkeits-Problem
mit einer längeren
zeitlichen Dauer notwendig, um ein Gruppenmitglied als ein verlorenes
Gruppenmitglied zu beurteilen. Somit ist die Wahrscheinlichkeit,
dass ein verlorenes Gruppenmitglied wieder Zugang zu der Gruppe
gewinnt, im Vergleich zu einem fehlenden Gruppenmitglied niedriger.
-
Nachdem
der Gruppenmanager eine vorgegebene Anzahl von Suchanforderungen
für das
fehlende Mitglied gesendet (broadcast) hat (siehe 13),
und der Gruppenmanager keine Antwort von dem fehlenden Gruppenmitglied
empfangen hat, fragt der Gruppenmanager die Dienstanwendung in Schritt 400,
wie mit der Situation fortzufahren ist. Abhängig von der Konfiguration
des Gruppenmanagers und der sendenden Anwendung können bestimmte Aktionen
durchgeführt
werden. Zum Beispiel kann ein Gruppenmanager entscheiden, die Gruppe
zu beenden, wenn ein oder mehrere Gruppenmitglieder verloren ist/sind.
Dies ist insbesondere für
Anwendungen nützlich,
welche die Anwesenheit aller Gruppenmitglieder erfordern. Andererseits
ist es auch möglich,
mit der Anwendungsdatenübertragung
fortzufahren, ohne weitere Aktionen zu ergreifen.
-
In
Schritt 410 wird bestimmt, ob eine Suche nach dem fehlenden
Gruppenmitglied durch ein anderes Kommunikationsnetzwerk durchgeführt werden
soll. In dem positiven Fall wird ein weiterer Suchprozess unter
Verwendung eines anderen Kommunikationsnetzwerks in Schritt 420 durchgeführt. Dieses Netzwerk
kann ein Infrastruktur-basierendes drahtloses Netzwerk, wie GSM,
oder ein Leitungsbasiertes Kommunikationsnetzwerk sein, wie WAN.
Durch das Verwenden eines anderen Kommunikationsnetzwerks, um die
zusätzliche
Suche nach dem fehlenden Gruppenmitglied durchzuführen, gibt
es eine bestimmte Wahrscheinlichkeit, das fehlende Mitglied zu kontaktieren,
insbesondere wenn die Störung
oder die Interferenz, die ein Netzwerkproblem in dem primären Kommunikationsnetzwerk
verursacht, das sekundäre
Netzwerk nicht beeinflusst.
-
Wenn
die Suche nach dem fehlenden Mitglied in dem sekundären Kommunikationsnetzwerk ebenfalls
nicht erfolgreich ist, wird der Suchprozess in Schritt 430 gestoppt.
Danach werden die restlichen Gruppenmitglieder über das Suchresultat und das Ende
der Gruppenwartung informiert.
-
Zusätzlich ist
es möglich,
weitere Aktionen nach einer erfolglosen Suche durchzuführen. Insbesondere
kann es nützlich
sein, das fehlende Mitglied aus der Gruppe zu entfernen, die Gruppensteuerungsinformation
zu aktualisieren und/oder die restlichen Gruppenmitglieder über die
geänderte
Gruppensteuerungsinformation zu informieren.
-
16 zeigt
ein Flussdiagramm des Prozesses, der in einem Netzwerkknoten durchgeführt wird, falls
der Netzwerkknoten von der Dienstgruppe getrennt wird. In Schritt 500 erfasst
das Terminal, ob eine Gruppenüberwachunganforderung
in einem vorgegebenen Zeitabschnitts empfangen wurde. In dem positiven
Fall wird in Schritt 510 eine Überwachungsantwort an den Gruppenmanager
gesendet. Wenn keine Überwachungsanforderung
für eine
bestimmte Zeit empfangen wird, entscheidet das Terminal, dass es
ein „fehlendes" Terminal ist.
-
In
Schritt 520 erfasst das Terminal, ob eine Suchanforderung,
die an das Terminal adressiert ist, empfangen wird. Wenn das Terminal
eine Suchanforderung von dem Gruppenmanager in einer bestimmten Timeout-Periode
empfängt,
wird in Schritt 530 eine Suchantwort an den Gruppenmanager
gesendet, um den Gruppenmanager zu informieren, dass der Suchprozess
erfolgreich war.
-
Wenn
das Terminal keine Suchanforderung in der vorgegebenen Timeout-Periode
empfängt,
entscheidet es, ein „verlorenes" Terminal zu sein.
In diesem Fall kann das Terminal die Anwendung über seinen Status informieren.
In Schritt 540 wird der Benutzer des Terminals über die
getrennte Situation informiert.
-
In
Schritt 550 wird der Benutzer gefragt, ob ein anderes Netzwerk
für zusätzliche
Versuche zum Kontaktieren des Gruppenmanagers verwendet werden soll.
Wenn der Benutzer entscheidet, ein anderes Kommunikationsnetzwerk
zu versuchen, versucht das Terminal, einen Kontakt zu dem Gruppenmanager über das
zweite Netzwerk in Schritt 560 herzustellen.
-
In
Schritt 570 wird bestimmt, ob der Versuch, den Gruppenmanager über das
sekundäre
Netzwerkwerk zu kontaktieren, erfolgreich ist. In dem positiven
Fall wird ein Wiederanschlussprozess in Schritt 580 durchgeführt, um
sich bei dem Gruppenmanager zu melden. In diesem Fall hat das verlorene Terminal
den Zugang zur Dienstgruppe wiedergewonnen und kann wieder an dem
Gruppendienst teilnehmen. Der Prozess fährt mit Schritt 500 fort.
-
17 zeigt
schematisch den Gruppenwartungsprozess hinsichtlich von Änderungen
der Gruppenmitgliedschaft. Zuerst empfängt der Gruppenmanager eine
Teilnahme- oder Wiederanschluss-Anforderung
von dem Terminal α.
Dann benachrichtigt der Sitzungsmanager die Gruppenmitglieder über den Start
der Gruppenwartung aufgrund einer Änderung der Gruppenmitgliedschaft.
-
In
Schritt 600 wird entschieden, ob eine Teilnahme- oder Wiederanschluss-Anforderung
empfangen wurde. Wenn eine „Teilnahme
an Gruppe"-Anforderung
von dem Gruppenmanager empfangen wurde, wird ein Teilnahmeprozess
in Schritt 605 durchgeführt.
Dieser Teilnahmeprozess ist ähnlich
zu dem anfänglichen
Registrierungsprozess, der in der 9B gezeigt
wird und ermöglicht,
dass neue Terminals sich bei der Gruppe registrieren. Details des Teilnahmeprozesses
wurden hinsichtlich des anfänglichen
Registrierungsprozesses erläutert,
der in der 9B gezeigt wird.
-
Wenn
in Schritt 600 eine Wiederanschlussanforderung erfasst
wird, wird ein Wiederanschlussprozess durchgeführt. Der Wiederanschlussprozess ermöglicht einem
Terminal eines Gruppenmitglieds, das vorübergehend von der Gruppe getrennt
wurde (d.h. verlorenes Gruppenmitglied), sich wieder der Gruppe
anzuschließen,
nachdem die Verbindung wieder hergestellt wurde. Die Wiederanschlussanforderung
kann eine Dienst-ID, eine Gruppen-ID, eine Diensteanbieter-ID, eine Benutzer-ID,
ein Gruppenzertifikat und/oder zusätzliche optionale Information aufweisen.
-
In
Schritt 610 wird ein empfangenes Gruppenzertifikat von
dem Gruppenmanager validiert. Der Gruppenmanager verifiziert, ob
das empfangene Gruppenzertifikat dem ausgestellten Gruppenzertifikat
der Dienstgruppe entspricht, wodurch die die Authentisierung des
Gruppenmitgliedes verifiziert wird.
-
In
Schritt 620 registriert der Gruppenmanager das Terminal α, um wieder
anwesend/aktiv zu sein. Der Gruppenmanager kann ein jeweiliges Flag für das Gruppenmitglied
in der Gruppendefinition setzen, um anzuzeigen, dass das verlorene
Gruppenmitglied wieder an der Gruppe teilnimmt und nun aktiv ist.
-
Dann
informiert der Gruppenmanager die Gruppenmitglieder, einschließlich Sitzungsmanager, über die
geänderte
Gruppendefinition, durch Senden der aktualisierten Gruppeninformation.
Diese Information wird von den Gruppenmitgliedern in Schritt 625 gespeichert.
Schließlich
informiert der Gruppenmanager die Gruppenmitglieder über das
Ende der Gruppenwartung.
-
18 zeigt
schematisch den Gruppenwartungsprozess, der beteiligt ist, wenn
ein Gruppenmitglied beabsichtigt, die Dienstgruppe zu verlassen. Wenn
ein Terminal die Dienstgruppe verlassen würde, ohne eine Verlassenanforderung
zu senden, würde
das Terminal als ein „fehlendes" Terminal von dem Gruppenmanager
erfasst und ein Suchverfahren für das
Terminal würde
durchgeführt.
Durch Anfordern eines explizites Verlassens der Gruppe kann sich
ein Gruppenmitglied von der Gruppe abmelden und die Gruppe verlassen,
ohne einen Suchprozess zu initiieren.
-
Bei
Empfang einer „Gruppe
verlassen"-Anforderung
benachrichtigt der Gruppenmanager die Gruppenmitglieder über den
Beginn einer Gruppenwartung durch Senden einer jeweiligen Multicast-Nachricht
an alle Gruppenmitglieder.
-
In
Schritt 630 wird erfasst, ob die Verlassenanforderung ein
temporären
Verlassen oder ein permanentes Verlassen betrifft. In dem Fall eines
permanenten Verlassens wird die Information, die dem jeweiligen
Terminal α entspricht,
aus der Gruppendefinition in Schritt 640 entfernt. Als
eine optionale Maßnahme
kann eine Änderung
der Gruppensicherheit erforderlich sein aufgrund des Verlassens
des Terminals α.
Dieser Prozess kann in Schritt 650 durchgeführt werden.
-
Dann
sendet der Gruppenmanager die aktualisierte Gruppeninformation an
die Gruppenmitglieder, welche die empfangene Gruppeninformation
in Schritt 655 speichern. Dann informiert der Gruppenmanager
die Gruppenmitglieder über
das Ende der Gruppenwartung.
-
Wenn
in Schritt 630 ein temporäres Verlassen des Terminals α erfasst
wird, wird das Terminal in der Gruppendefinition als temporär abwesend
von der Gruppe registriert. Ein temporäres Verlassen ist insbesondere
nützlich
für ein
Gruppenmitglied, das für
eine bestimmte Zeitdauer nicht am Gruppendienst teilnehmen kann,
aber beabsichtigt, später
wieder an der Gruppe teilzunehmen. Dies kann durchgeführt werden
durch Senden einer Wiederanschlussanforderung an den Gruppenmanager,
wenn das Terminal wieder bereit ist (siehe 17). Nachdem
das Terminal als temporär
abwesend von der Gruppe in Schritt 660 registriert wurde,
sendet der Gruppenmanager eine aktualisierte Gruppeninformation
an die Gruppenmitglieder und informiert diese über das Ende der Gruppenwartung.
-
19 zeigt
schematisch einen Gruppenbeendigungsprozess. Wenn der Gruppenmanager
entscheidet, die Gruppe zu beenden, z.B. da kein Sitzung in der
Dienstgruppe aktiv ist, sendet der Gruppenmanager eine Beendigungsnachricht
an alle Gruppenmitglieder. In Schritt 670 entfernt der
Gruppenmanager die Gruppendefinition und beendet dann die Gruppensteuerung.
-
20 ist
ein Flussdiagramm, das schematisch den Sitzungssteuerungsprozess
darstellt. In Schritt 700 wird eine Sitzungseinladung an
die Gruppenmitglieder der Dienstgruppe gesendet.
-
In
Schritt 705 wird ein Gruppenmitglied, das auf die Sitzungseinladung
geantwortet hat durch Senden einer Sitzungsteilnahmeanforderung,
als Sitzungsmitglied registriert.
-
In
Schritt 710 wird erfasst, ob eine Sitzungsregistrierungsperiode
abgelaufen ist. Während
dieser Sitzungsregistrierungsperiode können sich Gruppenmitglieder
für die
Sitzung registrieren. Es ist jedoch auch möglich, alle Gruppenmitglieder
automatisch in einer Sitzung einzuschreiben. In diesem Fall ist
eine Sitzungsregistrierung durch die einzelnen Gruppenmitglieder
nicht erforderlich.
-
Wenn
die Sitzungsregistrierungsperiode abgelaufen ist, wird der Sitzungsbestätigungsprozess
in Schritt 715 durchgeführt.
In dem Sitzungsbestätigungsprozess
bestätigt
der Sitzungsmanager, der normalerweise der Sender der Anwendungsdaten
ist, die Anwesenheit aller registrierten Sitzungsmitglieder und
verifiziert, dass die jeweiligen Anwendungen, die von den Sitzungsmitgliedern
durchgeführt
werden, aktiviert sind. Nach der Bestätigung der Sitzung, wird die
Sitzung aktiviert und der Datenübertragungsprozess
wird in Schritt 717 begonnen.
-
In
Schritt 720 wird der Sitzungsüberwachungsprozess durchgeführt, um
den Status der aktiven Sitzung zu überwachen. Der Sitzungsüberwachungsprozess
weist das Senden von Sitzungsüberwachungstests
(probes) an die Sitzungsmitglieder auf, um den Verbindungsstatus
der Sitzung zu ermitteln. Sitzungsmitglieder antworten auf die empfangenen
Sitzungsüberwachungstests
durch Senden einer Sitzungsüberwachungsantwort
an den Sitzungsmanager. Wenn keine Sitzungsüberwachungsantwort von einem
Sitzungsmitglied empfangen wird, wird ein Problem mit der Verbindung
zu dem Sitzungsmitglied oder mit dem Sitzungsmitglied selbst erfasst
und eine Sitzungsunterbrechung wird entschieden.
-
In
Schritt 730 wird erfasst, ob die Sitzungsüberwachung
eine Sitzungsunterbrechung entschieden hat. In dem positiven Fall
wird eine Suchanforderung für
das jeweilige Sitzungsmitglied, das die Sitzungsunterbrechung verursacht,
in Schritt 735 ausgegeben. Diese Suchanforderung wird an
den Gruppenmanager gesendet, der verantwortlich für die Verfolgung
der Gruppenmitglieder ist. Die Gruppensteuerung kann durch denselben
Netzwerkknoten wie die Sitzungssteuerung durchgeführt werden;
jedoch ist es auch möglich,
dass die Gruppensteuerung durch einen anderen Netzwerkknoten durchgeführt wird, der
die Dienstgruppe initiiert hat. In diesem Fall wird die Suchanforderung
von dem Kommunikationsnetzwerk an den jeweiligen Netzwerkknoten übertragen, der
die Gruppensteuerung durchführt.
-
In
Schritt 740 wird erfasst, ob eine Gruppenänderungsnachricht
von dem Sitzungsmanager empfangen wurde. Eine Gruppenänderungsnachricht
wird von dem Gruppenmanager an alle Sitzungsmanager gesendet, nachdem
der Gruppenmanager eine Änderung
in der Gruppendefinition durchgeführt hat. In diesem Fall sollen
die Sitzungsmanager über
die Änderungen
in der Gruppendefinition informiert werden. In Schritt 745 wird
die Sitzung suspendiert. Dies stoppt die Übertragung von Anwendungsdaten
an die Sitzungsmitglieder.
-
In
Schritt 755 wird festgestellt, ob eine Benachrichtigung
einer Wiederanschlussanforderung empfangen wurde. Wenn eine Wiederanschlussanforderung
von dem Gruppenmanager empfangen wird, wird eine jeweilige Nachricht
an die Sitzungsmanager gesendet, um anzuzeigen, dass ein fehlendes
oder verlorenes Gruppenmitglied wieder erfolgreich kontaktiert wurde.
In diesem Fall fährt
die Sitzungssteuerung mit dem Schritt 717 fort durch Reaktivieren
der Sitzung.
-
In
Schritt 760 wird die Antwort an ein fehlendes oder verlorenes
Sitzungsmitglied von dem Sitzungsmanager entschieden. Abhängig von der
Sitzungskonfiguration ist es möglich,
ein fehlendes oder verlorenes Sitzungsmitglied zu ignorieren und
die Sitzungssteuerung fortzusetzen durch Reaktivierung der Sitzung
(Schritt 717). Dies ist insbesondere nützlich, wenn der Sender der
Anwendungsdaten (Sitzungsmanager) sich nicht für die Anwesenheit einzelner
Sitzungsmitglieder interessiert. Dieses kann der Fall sein zum Beispiel
für eine
Audio-Streaming-Anwendung
sein, die Audiodaten an Empfänger
sendet (broadcast). Jedoch kann der Sitzungsmanager auch entscheiden,
die Sitzung in Schritt 765 zu beenden.
-
21 zeigt
schematisch den Sitzungseinladungsprozess, der von einem Terminal
durchgeführt wird,
das mit der Übertragung
von Anwendungsdaten an andere Gruppenmitgliedern beginnen möchte. Dieses
Terminal mit zu sendenden Daten wird der Sitzungsmanager einer neuen
Sitzung und sendet eine Sitzungseinladung an die anderen Gruppenmitglieder.
Eine Sitzungseinladung kann einen Sitzungsnamen, eine Sitzungsinhaltszusammenfassung,
eine Sitzungsmanager-ID (SM_ID), eine Gruppen-ID und/oder zusätzliche
optionale Information aufweisen.
-
Als
eine optionale Maßnahme
kann der Gruppenmanager, der auch ein Gruppenmitglied ist, die Sitzungseinladungen
abhören
und eine Sitzungsdatenbank 35 für die Dienstgruppe pflegen.
Der Gruppenmanager registriert alle Sitzungen in der Gruppe in der
Sitzungsdatenbank 35 durch Aufzeichnen des jeweiligen Sitzungsmanagers
und des Sitzungsstatus.
-
In
der 22 wird ein Sitzungsregistrierungsprozess schematisch
dargestellt. Ein Terminal β,
das die Sitzungseinladung empfangen hat und an der Sitzung teilnehmen
möchte,
sendet eine Sitzungsteilnahmeanforderung an den Sitzungsmanager.
Die Sitzungsteilnahmeanforderung kann die Benutzer- oder Client-ID
des Terminals und/oder die Gruppen-ID aufweisen Der Sitzungsmanager
empfängt
die Sitzungsteilnahmeanforderung von dem Terminal β und registriert
das Terminal β in
Schritt 700.
-
Nachdem
sich zusätzliche
Terminals registriert haben, definiert der Sitzungsmanager die Sitzung
und kompiliert die Sitzungsinformation, die Sitzungsattribute und
-information über
die Sitzungsmitglieder aufweisen kann. Optionale Sitzungsattribute sind
z.B. eine minimal erforderliche Bandbreite, eine Netzwerkverbindungsqualität (z.B.
eine erforderliche Fehlerrate), ein minimaler Netzwerkdurchsatz,
eine maximale Netzwerkverzögerung,
eine Datenpriorität, eine
Datenmenge, ein Belastungsgrundsatz, ein erforderliches Sicherheitsniveau,
usw.
-
Als
eine optionale Maßnahme
sendet der Sitzungsmanager Sitzungsattribute, wie eine Sitzungs-ID,
ein erforderliches Sicherheitsniveau und/oder eine Dienstqualität (QoS)
an die registrierten Terminals. Das Terminal β speichert die empfangenen Sitzungsattribute
in Schritt 710 und sendet eine Akzeptanznachricht an den
Sitzungsmanager. Durch Senden der Akzeptanznachricht bestätigt das Terminal,
dass es die empfangenen Sitzungsattribute akzeptiert und die jeweiligen
Sitzungsanforderungen erfüllen
kann.
-
Als
eine optionale Maßnahme
kann der Gruppenmanager die Sitzungseinladungs- und Registrierungs-Nachrichten
abhören,
die zwischen dem Sitzungsmanager und den Sitzungsmitglieder übertragen
werden. Durch Ab hören
dieser Nachrichten kann der Gruppenmanager die Sitzungsdatenbank 35 kompilieren
und aktualisieren, z.B. durch Schreiben von Information, die Sitzungsmitglieder
betrifft, in die Datensätze
der einzelnen Sitzungen.
-
23 zeigt
schematisch einen Sitzungsbestätigungsprozess.
Ein Sitzungsmanager (SM), der auch der Sender der Anwendungsdaten
ist, sendet eine Sitzungszugehörigkeitsanforderung
an die Sitzungsmitglieder. Die Sitzungszugehörigkeitsanforderung kann die
Sitzungs-ID, die Sitzungsmanager-ID, die Gruppen-ID, eine Sicherheitsinformation und/oder
zusätzliche
optionale Information aufweisen. Die Sitzungsmitglieder, die eine
Sitzungszugehörigkeitsanforderung
empfangen, bereiten sich vor, Anwendungsdaten zu empfangen, zum
Beispiel durch Aktivieren ihrer jeweiligen Anwendung, um die übertragenen
Daten zu empfangen (Schritt 720).
-
Wenn
ein Sitzungsmitglied bereit ist, Anwendungsdaten zu empfangen, sendet
das Sitzungsmitglied eine „Sitzung
bereit"-Antwort
an den Sitzungsmanager. Um zu verhindern, dass alle Sitzungsmitglieder
ihre „Sitzung
bereit"-Antwort
gleichzeitig senden, kann eine zufällige Verzögerungsperiode von den Sitzungsmitgliedern
verwendet werden. Eine „Sitzung
bereit"-Antwort
kann die Sitzungs-ID, die Benutzer-ID, eine Sicherheitsinformation
und/oder zusätzliche
optionale Information aufweisen.
-
Nach
dem Empfang der „Sitzung
bereit"-Antworten
von allen Sitzungsmitgliedern, kann der Sitzungsmanager optional
die Authentisierung der Sitzungsmitglieder verifizieren durch Vergleichen
der Information, die mit den „Sitzung
bereit"-Antworten empfangen
wurde, mit der jeweiligen Information in der Sitzungsdefinition.
Wenn der Sitzungsmanager entscheidet, dass alle Sitzungsmitglieder
bereit und authentisiert sind, beginnt der Sitzungsmanager die Sendungsanwendung.
In Schritt 730 werden Anwendungsdaten von dem Sender an
die Sitzungsmitglieder übertragen.
-
Als
eine optionale Maßnahme
kann der Gruppenmanager wiederum die Nachrichten abhören, die
zwischen den Sitzungsmitgliedern ausgetauscht werden, um die Sitzungsdatenbank 35 zu
aktualisieren.
-
24 zeigt
schematisch einen ersten Sitzungsüberwachungsprozess zur Überwachung
des Sitzungsattributstatus mit jedem Sitzungsmitglied. Der Sitzungsmanager übermittelt
einen Sitzungsüberwachungstest
(probe) an die Sitzungsmitglieder mit der Übertragung der Anwendungsdaten.
Der Sitzungsüberwachungstest
kann mit jedem Datenrahmen übermittelt
werden, der über
Multicast oder Unicast an die Sitzungsmitgliedern übertragen
wird. Um den Overhead zu reduzieren, der aus der Übermittlung
von Sitzungsüberwachungstests
resultiert, ist es auch von Vorteil, Sitzungsüberwachungstests mit jedem
zweiten Datenrahmen zu übermitteln.
Der Abstand zwischen den Datenrahmen, welche die Sitzungsüberwachungstests
tragen, kann bestimmt werden, um die Sitzungsmitglieder regelmäßig mit
einer Sitzungstestperiode Tp zu prüfen. Der Sitzungsüberwachungstest
kann ausgebildet sein als ein Test-Header, der an die Anwendungsdatenpakete angehängt ist.
Ein Sitzungsüberwachungstest
kann die Sitzungs-ID, die Sitzungsmanager-ID, ein Antwort-Timing
und/oder andere optionale Information aufweisen.
-
Sitzungsmitglieder,
die Sitzungsüberwachungstests
empfangen, antworten durch Senden einer Sitzungsüberwachungsantwort an den Sitzungsmanager.
Eine Sitzungsüberwachungsantwort
kann die Sitzungs-ID, die Benutzer-ID, den Sitzungsstatus und/oder
eine andere optionale Information aufweisen. Um eine Netzwerküberlastung
zu vermeiden, die verursacht wird, da eine Vielzahl von Sitzungsmitgliedern
gleichzeitig antwortet, können
die Sitzungsmitglieder auf den Sitzungsüberwachungstest antworten durch
Anwenden einer zufälligen
Verzögerung.
In diesem Fall wird das Senden von Sitzungsüberwachungsantworten durchgeführt basierend
auf einer zufälligen
Verzögerungszeit
nach dem Empfang eines Sitzungsüberwachungstests.
Die zufällige Verzögerungszeit
kann durch die Antwort-Timing-Information
des Sitzungsüberwachungstests
gesteuert werden.
-
In
dem Fall, das nach einer vorgegebene Anzahl keine Antwort auf aufeinander
folgende Überwachungstests
empfangen wurde, entscheidet der Sitzungsmanager eine Sitzungsunterbrechung,
die durch das jeweilige Terminal verursacht wird, das nicht antwortet.
Demgemäß überwacht
der Sitzungsmanager den Sitzungsstatus mit den Sitzungsmitgliedern
und erfasst Probleme, wie ein fehlendes oder inaktives Sitzungsmitglied.
Da die Sitzungsüberwachung
in Kombination mit der Datenübertragung durchgeführt wird,
sind die zusätzlichen
Berechnungskosten und die Netzwerkbelastung niedrig.
-
25 zeigt
schematisch einen zweiten Sitzungsüberwachungsprozess, in dem
der Sitzungsüberwachungstest
unabhängig
von der Datenübertragung übertragen
wird. Getrennter) Sitzungsüberwachungstest(s)
wird/werden regelmäßig an die
Sitzungsmitglieder durch Unicast oder Multicast übertragen. Die Sitzungsmitglieder
antworten auf den empfangenen Sitzungsüberwachungstest durch Senden
von Sitzungsüberwachungsantworten
an den Sitzungsmanager. Wieder können
die Sitzungsüberwachungsantworten
gesendet werden, nachdem eine zufällige Verzögerungszeit abgelaufen ist.
-
Wenn
keine Sitzungsüberwachungsantwort von
einem Sitzungsmitglied für
eine vorgegebene Anzahl von aufeinander folgenden Sitzungsüberwachungstests
empfangen wurde, entscheidet der Sitzungsmanager eine Sitzungsunterbrechung.
Obwohl dieses Verfahren eine etwas höhere Netzwerklast erfordert,
liefert es eine höhere
Flexibilität
bei der Überwachung
der Sitzung. Zum Beispiel ist es möglich, unterschiedliche Sitzungsmitglieder
zu überprüfen basierend
auf individuellen Sitzungstestperioden Tp. Dies hat den Vorteil,
dass Sitzungsmitglieder, die für die
Sitzung wichtig sind, oder Sitzungsmitglieder, die bereits einige
Probleme erfahren haben, häufiger überwacht
werden können.
-
26 zeigt
schematisch den Hauptsteuerungsablauf der durch den Sitzungsmanager
durchgeführten
Sitzungswartung. Abhängig
von vorgegebenen Bedingungen kann der Sitzungsstatus geändert werden,
und als eine optionale Maßnahme
kann ein Sitzungssuspendierungsprozess und/oder ein Sitzungswiederaufnahmeprozess
durchgeführt
werden. Wenn eine Sitzungsunterbrechung durch den Sitzungsüberwachungsprozess
erfasst wird, wird die jeweilige Sitzung unterbrochen oder suspendiert.
Zusätzlich
kann ein Sitzungsunterbrechungs-Wiederherstellungsprozess durchgeführt werden,
wie in der 27 beschrieben wird.
-
Wenn
der Sitzungsmanager eine Sitzungsteilnahmeanforderung empfängt, wird
ein Sitzungsteilnahmeprozess wie in 28 gezeigt
durchgeführt.
Wenn der Sitzungsmanager eine „Verlasse
Sitzung"-Anforderung empfängt, wird
ein Sitzungsverlassenprozess wie in 29 gezeigt
durchgeführt. Wenn
der Sitzungsmanager eine Gruppenänderungsnachricht
von dem Gruppenmanager empfängt, wird
ein Gruppenänderungsprozess
wie in 30 gezeigt durchgeführt. In
dem Fall, dass sich der Sitzungsattributsstatus ändert, wird ein Sitzungsattributsaktualisierungsverfahren
wie in 31 gezeigt durchgeführt.
-
Eine
suspendierte Sitzung kann wieder aufgenommen werden, wenn eine Wiederanschlussanforderung
empfangen wird, ein Sitzungsteilnahme/Verlassenprozess durchgeführt wird,
eine „Ende einer
Gruppenänderung"-Nachricht von dem
Gruppenmanager empfangen wird und/oder ein Wiederaufnahme Prozess
durchgeführt
wird.
-
27 zeigt
schematisch einen Sitzungsunterbrechungs-Wiederherstellungsprozess. Wenn ein Problem
mit einem Sitzungsmitglied durch die Sitzungsüberwachung (Sitzungsunterbrechung)
erfasst wird und/oder eine Nachricht über ein fehlendes Gruppen mitglied
von dem Gruppenmanager empfangen wird, suspendiert der Sitzungsmanager,
der normalerweise auch der Sender der Anwendungsdaten ist, das Senden
von Anwendungsdaten in Schritt 800.
-
Dann
sendet der Sitzungsmanager eine Sitzungssuspendierungsnachricht
an den Gruppenmanager und die Sitzungsmitgliedern, um diesen Terminals
die Suspendierung der Sitzung mitzuteilen. Eine Sitzungssuspendierungsnachricht
kann die Sitzungs-ID, die Sitzungsmanager-ID, die letzte Sequenznummer
und/oder andere optionale Information aufweisen.
-
Der
Sitzungsmanager sendet eine Suchanforderung für das jeweilige Sitzungsmitglied,
das die Sitzungsunterbrechung verursacht, an den Gruppenmanager.
Eine Suchanforderung kann die Sitzungs-ID, die Sitzungsmanager-ID,
die Benutzer-ID des fehlenden Sitzungsmitglieds und/oder zusätzliche
optionale Information aufweisen.
-
In
Schritt 810 führt
der Gruppenmanager eine Suche nach dem fehlenden Gruppenmitglied durch,
wie in den 13 bis 16 gezeigt
wird. Dann informiert der Gruppenmanager den Sitzungsmanager über das
Resultat der durchgeführten
Suche. In Schritt 820 entscheidet der Sitzungsmanager gemäß dem empfangenen
Suchresultat, wie mit der suspendierten Sitzung fortzufahren ist.
-
Wenn
die Suche nach dem fehlenden Sitzungsmitglied erfolgreich war, sendet
der Sitzungsmanager eine Sitzungswiederaufnahmenachricht an den
Gruppenmanager und die Sitzungsmitglieder. Da in diesem Fall das
Sitzungsmitglied Nr. x, das die Sitzungsunterbrechung verursacht
hat, erfolgreich kontaktiert wurde, wird die Sitzungswiederaufnahmenachricht
auch an dieses Terminal gesendet. Die Sitzungswiederaufnahmenachricht
kann die Sitzungs-ID, die Sit zungsmanager-ID, eine Start-Sitzungsnummer
und/oder zusätzliche
optionale Information aufweisen.
-
In
Schritt 830 wird die suspendierte Sitzung wieder aufgenommen.
Der Sitzungsstatus wird zu aktiv geschaltet und die Datenübertragung
von dem Sitzungsmanager an die Sitzungsmitglieder wird wieder aufgenommen.
-
Wenn
in Schritt 820 eine erfolglose Suche erfasst wird, entscheidet
der Sitzungsmanager in Schritt 840, wie mit der suspendierten
Sitzung fortzufahren ist. Der Sitzungsmanager kann den Benutzer fragen,
ob die Sitzung wieder aufgenommen oder beendet werden soll. Die
Konsequenz einer erfolglosen Suche kann auch automatisch festgestellt
werden basierend auf den Sitzungsattributen. Wenn der Sitzungsmanager
entscheidet, ein verlorenes Sitzungsmitglied zu ignorieren und die
Sitzung mit den restlichen Sitzungsmitgliedern wiederaufzunehmen,
wird eine „Wiederaufnahme
Sitzung"-Nachricht
gesendet und die Datenübertragung
wird in Schritt 850 wieder aufgenommen. Wenn der Sitzungsmanager
entscheidet, dass die Sitzung nicht ohne das verlorene Sitzungsmitglied
fortgesetzt werden kann, wird die Sitzung in Schritt 860 beendet.
-
28 zeigt
schematisch einen Sitzungsteilnahmeprozess. Ein Gruppenmitglied
sendet eine Sitzungsteilnahmeanforderung an den Sitzungsmanager
und fordert, als ein Sitzungsmitglied registriert zu werden. Die
Sitzungsteilnahmeanforderung kann die Dienst-ID, die Gruppen-ID,
die Benutzer-ID, das Gruppenzertifikat und/oder andere optionale
Information aufweisen.
-
In
Schritt 900 suspendiert der Sitzungsmanager die Sitzung
und stoppt die Übertragung
von Anwendungsdaten. Dann informiert der Sitzungsmanager die Sitzungsmitglieder über die
Sitzungssuspendierung.
-
In
Schritt 910 registriert der Sitzungsmanager das Gruppenmitglied
als ein Sitzungsmitglied und speichert die Benutzer-ID des Gruppenmitgliedes.
-
Der
Sitzungsmanager sendet Sitzungsattribute an das Gruppenmitglied,
das die empfangenen Sitzungsattribute in Schritt 920 speichert.
Das Terminal eines Gruppenmitglieds kann den Benutzer des Gruppenmitgliedes
bitten, die empfangenen Sitzungsattribute zu akzeptieren.
-
Wenn
das Gruppenmitglied bereit ist, die Anwendungsdaten zu empfangen,
sendet das Gruppenmitglied eine „Sitzungsbereit"-Nachricht an den Sitzungsmanager,
der die suspendierte Sitzung wieder aufnimmt und die Sitzungsmitglieder
informiert durch Senden einer Sitzungswiederaufnahmenachricht an
die Sitzungsmitglieder. In Schritt 930 wird die Datenübertragung
von dem Sitzungsmanager an die Sitzungsmitglieder wieder aufgenommen.
-
29 zeigt
schematisch einen „Verlasse Sitzung"-Prozess. Das Sitzungsmitglied γ, das die Sitzung
verlassen möchte,
sendet eine „Verlasse
Sitzung"-Anforderung
an den Sitzungsmanager. Die „Verlasse
Sitzung"-Anforderung
kann die Dienst-ID, die Gruppen-ID, die Benutzer-ID, das Gruppenzertifikat
und/oder andere optionale Information aufweisen. Als eine optionale
Maßnahme
kann der Sitzungsmanager eine Information über den Sitzungsstatus, wie
Information über
eine Gebühr, über das Konto,
und Statistiken, an das Sitzungsmitglied γ senden.
-
In
Schritt 940 suspendiert der Sitzungsmanager die Sitzung
und stoppt das Senden von Anwendungsdaten. Der Sitzungsmanager sendet
eine Sitzungssuspendierungsnachricht an die Sitzungsmitglieder.
-
In
Schritt 950 entfernt der Sitzungsmanager das Sitzungsmitglied γ, das die
Sitzung verlassen möchte,
aus der Sitzungsdefinition. Der Sitzungsmanager entfernt die jeweiligen
Sitzungsattribute des verlassenden Terminals aus der gespeicherten
Sitzungsinformation.
-
Als
eine optionale Maßnahme
kann der Sitzungsmanager die Sicherheitsinformation aufgrund des
Verlassens des Sitzungsmitglieds γ in
Schritt 960 ändern.
Der Sitzungsmanager kann die veränderte Sitzungsinformation
an die verbleibenden Sitzungsmitglieder senden, welche die empfangenen
Sitzungsattribute in Schritt 970 speichern.
-
Nachdem
das Sitzungsmitglieds γ abgemeldet
wurde, nimmt der Sitzungsmanager die Sitzung wieder auf und reaktiviert
die Übertragung
von Sitzungsdaten an die Sitzungsmitglieder in Schritt 980.
-
30 zeigt schematisch einen Gruppenänderungsprozess,
der bei einer Änderung
in der Gruppendefinition durchgeführt wird, z.B. ein Gruppenmitglied
verlässt
die Gruppe. Der Gruppenänderungsprozess
wird durch eine „Beginn
Gruppenänderung"-Nachricht initiiert,
die von dem Gruppenmanager an den Sitzungsmanager gesendet wird.
In Schritt 1000 unterbricht der Sitzungsmanager das Senden
von Sitzungsdaten und suspendiert den Sitzung für die Dauer der Gruppenänderung.
-
In
Schritt 1010 führt
der Gruppenmanager die erforderlichen Schritte zum Ändern der
Gruppendefinition durch. Nachdem neue Gruppenmitglieder zu der Dienstgruppe
hinzugefügt
wurden und/oder Grup penmitglieder gelöscht wurden, sendet der Gruppenmanager
eine „Ende
Gruppenänderung"-Nachricht an den
Sitzungsmanager.
-
Bei
Empfang der „Ende
Gruppenänderung"-Nachricht nimmt
der Sitzungsmanager die Sitzung wieder auf und sendet eine Sitzungswiederaufnahmenachricht
an die Gruppenmitglieder und den Gruppenmanager. In Schritt 1020 wird
die Datenübertragung
wieder aufgenommen.
-
31 zeigt schematisch einen Sitzungsattribut-Aktualisierungsprozess,
der beteiligt ist, wenn sich die Sitzungsattribute ändern. Sitzungsattribute,
die während
des Sitzungsbetriebs aktualisiert werden können, sind z.B. der Datendurchsatz,
die Fehlerrate, Verzögerung,
usw.
-
In
Schritt 1100 überprüft der Sitzungsmanager
den Status der Sitzungsattribute mit den Sitzungsmitgliedern. In
Schritt 1110 erfasst der Sitzungsmanager, dass der Sitzungsstatus
für ein
Sitzungsmitglied nicht korrekt ist. Dieser kann zum Beispiel der
Fall sein, wenn ein Sitzungsattribut eine vorgegebene Attributsschwelle übersteigt.
In Schritt 1120 unterbricht der Sitzungsmanager das Senden von
Anwendungsdaten und suspendiert die Sitzung.
-
Abhängig von
dem erfassten Problem kann der Sitzungsmanager Aktionen in Schritt 1130 ergreifen,
um das Problem zu lösen
und die Sitzung fortzusetzen. Der Sitzungsmanager kann z.B. Sitzungsattribute
oder die Sitzungsgrundlage ändern.
-
Dann
bittet der Sitzungsmanager das Sitzungsmitglied, welches das Problem
verursacht, um einen Sitzungsstatusbericht, um zu sehen, ob die
Sitzungsprobleme gelöst
wurden.
-
In
Schritt 1140 entscheidet der Sitzungsmanager, ob der Sitzungsstatus
in einem normalen Zustand ist. Wenn der Sitzungsmanager das Problem erfolgreich
gelöst
hat, wird die Sitzung wieder aufgenommen und die Datenübertragung
wird in Schritt 1150 reaktiviert.
-
Als
eine optionale Maßnahme
kann die Sitzung in Schritt 1160 beendet werden, wenn der
Sitzungsstatus, der in Schritt 1140 betrachtet wird, nicht zurück in einem
normalen Sitzungsstatus ist. Es ist auch möglich, zusätzliche Aktionen durchzuführen, um
das Sitzungsproblem zu lösen
und/oder den Benutzer des Client-Managerterminals zu fragen, wie mit
der suspendierten Sitzung und dem Sitzungsmitglied fortzufahren
ist, welches das Problem verursacht. Wenn zum Beispiel entschieden
wird, die Sitzung zu beenden, sendet der Sitzungsmanager eine Sitzungsbeendigungsnachricht
an die Sitzungsmitglieder und an den Gruppenmanager, wie schematisch
in 32 gezeigt wird.
-
Bei
Empfang der Sitzungsbeendigungsnachricht können die Sitzungsmitglieder
eine geeignete Aktion durchführen,
z.B. Beenden der Anwendung auf der empfangenden Seite der Sitzung.
Der Gruppenmanager kann die empfangene Sitzungsbeendigungsnachricht
benutzen, um die Sitzungsdatenbank 35 zu aktualisieren.
Wenn zum Beispiel alle Sitzungen in der Dienstgruppe beendet werden,
kann der Gruppenmanager auch entscheiden, die gesamte Dienstgruppe
zu beenden.
-
33 zeigt ein Blockdiagramm der Hardwarestruktur
eines Netzwerkknotens 10, die ausgebildet ist, Gruppendienste
gemäß der vorliegenden Erfindung
zu betreiben.
-
Der
Netzwerkknoten 10 hat eine CPU 11, eine Funkfrequenzschnittstelle 12,
eine E/A-Schnittstelle 13 und einen Speicher 14.
In dem Speicher 14 werden ein Programm zur Durchführung der
Sitzungssteuerung 15 und der Gruppensteuerung 16 einschließlich der
Diensterfassung 18 gemäß der vorliegenden
Erfindung gespeichert. Zusätzlich
werden ein Programm und Daten zur Durchführung einer Kommunikationsteuerung 17 in
dem Speicher 14 gespeichert. Der Netzwerkknoten 10 weist
auch eine Datenbank 19 für die Speicherung von Dienstgruppendaten
und/oder der Sitzungsdatenbank 35 auf.
-
Eine
Vorrichtung zum Betreiben von Gruppendiensten in einem Kommunikationsnetzwerk
gemäß der vorliegenden
Erfindung weist Gruppensteuerungsmittel und Sitzungssteuerungsmittel
auf. In einem bevorzugten Ausführungsbeispiel
der Erfindung sind die Gruppensteuerungsmittel ausgebildet als CPU 11,
die das Gruppensteuerungsprogramm 16 durchführt, das
in dem Speicher 14 gespeichert ist. Die Sitzungssteuerungsmittel
können
als CPU 11 ausgebildet sein, die das Sitzungssteuerungsprogramm 15 durchführt, das
in dem Speicher 14 gespeichert ist.
-
34 zeigt die Software-Struktur eines bevorzugten
Ausführungsbeispiels
der Erfindung. Eine Sitzungssteuerung, Gruppensteuerung und Diensterfassung
werden in Schichten zwischen der Kommunikationssteuerung und der
Anwendung angeordnet.
-
35 zeigt die Beziehung zwischen der Software-Struktur
eines Manager-Terminals 25 und eines Client-Terminals 26.
Ein Managerterminal 25 führt eine Gruppensteuerung und/oder
Sitzungssteuerung durch und sendet Anwendungsdaten an das Client-Terminal 26.
Ein Client-Terminal 26 kann ein Nur-Empfangs-Terminal sein,
das Anwendungsdaten von einem Managerterminal 25 empfängt. Jedoch kann
ein Client-Terminal 26 auch die Rolle eines Gruppenmanagers übernehmen
und ein Managerterminal 25 werden. Zusätzlich kann eine Anwendung auf
dem Client-Terminal 26 Anwendungsdaten haben, die an andere
Terminals zu übertragen
sind. In diesem Fall wird das Client-Terminal 26 ein Sender für die Anwendungsdaten,
beginnt eine neue Sitzung und wird zum Sitzungsmanager, d.h. wird
ein Managerterminal 25.
-
Es
ist offensichtlich, dass die vorliegende Erfindung nicht auf die
beschriebenen Ausführungsbeispiele
beschränkt
ist und viele Modifikationen können an
den oben beschriebenen Ausführungsbeispielen gemacht
werden, ohne den Bereich der Erfindung zu verlassen.