-
HINTERGRUND DER ERFINDUNG
-
Gebiet der Erfindung
-
Die
vorliegende Erfindung bezieht sich auf Netzwerkbetrieb im Allgemeinen
und drahtlose Computernetzwerke im Besonderen.
-
HINTERGRUNDINFORMATIONEN
-
Vor
Kurzem wurden drahtlose Netzwerkkomponenten eingeführt, die
Benutzern ermöglichen, drahtlose
lokale Netzwerke (WLANs) einzurichten, die die Installation von
Netzwerkkabeln, wie sie für konventionelle „Festnetz"-Computernetzwerke,
wie Ethernet-Netzwerke, benötigt
werden, reduzieren oder eliminieren. Diese WLANs sind beliebt zur
Verwendung in Gebäuden,
die Schwierigkeiten bereiten, wenn es um die Kabelverlegung für konventionellen Netzwerkbetrieb
geht, wie zum Beispiel in Wohnungen und älteren Bürogebäuden, sowie auch zum Einsatz
in Umgebungen, in denen mobile Computer benutzt werden, und zur
Erweiterung der Reihe konventioneller drahtgebundener Netzwerke.
-
Gegenwärtig gibt
es vier primäre
Typen drahtloser Netzwerkkommunikationstechnologien, einschließlich Bluetooth,
IrDA, HomeRF (SWAP) und WECA (Wi-Fi). Bluetooth stellt eine kostengünstige Lösung bereit,
die Geräten
in nächster
Nähe ermöglicht, über einen
Funkkanal zu kommunizieren. IrDA (Infrared Direct Access) ist ein
Standard für
Geräte zur
Kommunikation mittels Infrarot-Lichtimpulsen. Diese Technologie,
die von den meisten Fernsteuerungen benutzt wird, ist allgemein
auf Sichtlinien-Installationen kürzerer
Reichweite begrenzt. HomeRF entspricht einem Verbund von Geschäften, die
einen Standard namens SWAP (Shared Wireless Access Protocol) entwickelt
haben. SWAP ist eine Art Hybrid-Standard und umfasst sechs Sprachkanäle, die auf
dem Digital Enhanced Cordless Telecommunications Standard und der
drahtlosen Ethernet-Spezifikation IEEE 802.11 für Daten basieren. SWAP benutzt
eine Technologie, bekannt als FHSS (Frequency Hopping Spread Spectrum),
bei der kurze Daten- Bursts
zwischen Frequenzverschiebungen (Hops) gesendet werden. SWAP-Netzwerke
sind relativ billig, zum Teil deswegen, weil SWAP keinen Zugriffspunkt
benötigt,
die Bandbreite ist jedoch begrenzt auf 1–2 Mbps (Megabits pro Sekunde).
-
WECA
(Wireless Ethernet Compatibility Alliance) hat einen drahtlosen
Netzwerkbetrieb-Standard entwickelt, Wi-Fi (Wireless Fidelity) genannt,
der auf der IEEE 802.11b Spezifikation basiert. Wie bei SWAP benutzt
Wi-Fi Spread-Spectrum-Funkwellen im
2,4-Gigahertz (GHz)Frequenzbereich. Wi-Fi benutzt jedoch DSSS (Direct-Sequence
Spread-Spectrum) anstelle von FHSS zur Kommunikation, wobei jedes
Datenbyte in mehrere Teile geteilt wird, und wobei die Teile gleichzeitig
auf verschiedenen Frequenzen gesendet werden. Daraus ergibt sich
eine Bandbreite von bis zu 11 Mbps, wenn immer eine entsprechende
Signalstärke
zur Verfügung
steht. Wenn Signalstärke
oder Störungen
zu beschädigten
Daten führen,
reduzieren Wi-Fi-Geräte
ihre Arbeitsbandbreite auf 5,5 Mbps, dann 2 Mbps und schließlich bis auf
1 Mbps, um Netzwerkstabilität
aufrechtzuerhalten.
-
In 1 ist
ein Wi-Fi WLAN 10 dargestellt. WLAN 10 umfasst
eine PC-Station 12 (Desktop-Personalcomputer), eine APPLE
MACINTOSH G-3TM Computerstation 14,
eine UNIX Workstation Station 16, eine Turm-IC-Station 18,
eine Laptop-Station 20 und
eine Laptop-Station 22, wobei jede dieser Stationen fähig ist, über einen
drahtlosen Zugriffspunkt (AP) 24 mit den anderen Stationen
im WLAN zu kommunizieren. In vielen Installationen stellt ein drahtloser
AP auch eine schnellere Netzwerkschnittstelle zum Anschluss an ein
drahtgebundenes Netzwerk, wie eine Ethernet-Schnittstelle, bereit,
damit Computer auf einem WLAN auch die Möglichkeit des Zugangs zu einem
konventionellen drahtgebundenen LAN oder WAN (Weitbereichsnetz)
haben. Dementsprechend ist in 1 zu sehen,
das ein drahtloser AP 24 über eine Ethernet-Verbindung 28 an
einen Netzwerkserver 26 angeschlossen ist; es versteht sich
jedoch, dass ein drahtloser AP in Konfigurationen implementiert
werden kann, in denen er nicht an ein LAN oder WAN angeschlossen
ist.
-
Um
die Kommunikation eines Computers mit einem drahtlosen AP zu gestatten,
kann der Computer einen drahtlosen Netzwerkadapter mit einem Sendeempfänger enthalten,
der dazu dient, Signale in einem Frequenzbereich zu senden und zu
empfangen, der dem Betriebstyp des WLANs entspricht (zum Beispiel
2,4 GHz Frequenzbereich für
IEEE 802.11b WLANs). Typisch umfassen diese drahtlosen Netzwerkadapter
eine drahtlose Netzwerkadapterkarte 30 zum Einsatz in PCs
und eine drahtlose PCMCIA-Netzwerkadapterkarte 32 zum Einsatz
in Laptops. Im Allgemeinen können
moderne APPLETM Computer einen eingebauten „Airport" Kommunikationsport
enthalten, um drahtlosen Netzwerkzugriff zu gestatten, oder eine
periphere Karte in ähnlicher
Weise wie die drahtlose Netzwerkadapterkarte 30 implementieren. Ähnliche
Lösungen
stehen für
Workstations zur Verfügung.
-
Ein
AP stellt einen grundlegenden und erweiterten Satz von Diensten
für eine
oder mehrere Stationen (das heißt
Computer) bereit, die mit dem AP kommunizieren. Der AP ermöglicht und
koordiniert die Kommunikation und den Kanalzugriff zwischen Stationen.
Authentifizierte Stationen, die mit einem AP verknüpft sind,
funktionieren typisch nicht im Peer-zu-Peer-Modus – die Kommunikation
von einer zu einer anderen Station muss vielmehr durch den AP laufen,
wie durch die Kommunikationspfade 34, 36, 38, 40, 42 und 44 dargestellt.
Der AP dient als Zwischenstellenstation für Datenverkehr zwischen Stationen,
und deshalb nimmt die Station-zu-Station-Kommunikation mindestens
zweimal soviel Zeit in Anspruch, als wenn eine Ausgangsstation direkt
mit einer Zielstation kommunizieren würde (das heißt, die
Ausgangsstation muss die Daten an den AP senden, der seinerseits
die Daten an die Zielstation sendet). Daraus ergibt sich, dass die
Bandbreite der drahtlosen Medien effektiv auf die Hälfte reduziert wird.
-
Außer der
Bandbreitenreduzierung gibt es noch andere allgemein bekannte Nachteile
für AP-basierte
drahtlose Netzwerke. Ein Nachteil sind die Kosten – ein typischer
Zugriffspunkt kann soviel wie $200 bis $1000 kosten. Im Vergleich
dazu kosten drahtlose Netzwerkadapterkarten sehr viel weniger ($70
bis $300). Ein weiterer Nachteil ist das Einrichten. Je nach Lieferant
ist es für
ein AP-basiertes WLAN erforderlich, allen Computern im Netzwerk IP-Adressen
zuzuweisen, was zudem eine manuelle Konfiguration jedes Computers
nach sich ziehen kann. Außerdem
kann es vorkommen, dass die Reichweite des Netzwerks erweitert werden
muss, dazu wäre
jedoch der Kauf eines zusätzlichen
APs oder ein Erweiterungspunkt (im Wesentlichen ein AP ohne eine
drahtgebundene Netzwerkschnittstelle) erforderlich, wenn ein konventionelles
Wi-Fi-basiertes WLAN implementiert wird.
-
Die
WO-A-99/11081 beschreibt eine Vorrichtung und ein Verfahren für die Peer-zu-Peer-Verbindungsüberwachung
eines drahtlosen Netzwerks mit zentralisierter Steuerung. Die Auswahl
des zentralisierten Controllers ist dynamisch, weil diese Station das
Netzwerk verlassen kann, oder weil vielleicht die Kommunikation
zwischen dem Controller und einer oder mehreren der Stationen schlecht
ist. Die Qualität
der Kommunikationspfade zwischen allen Stationen wird aufgerufen
und dazu verwendet, eine andere Controllerstation zu wählen. Außerdem kann
die Qualitätsbeurteilung
dazu verwendet werden, nach Bedarf Kommunikationszwischenpfade einzurichten.
-
KURZBESCHREIBUNG
DER ZEICHNUNGEN
-
Die
oben beschriebenen Aspekte und viele der dazugehörigen Vorteile der vorliegenden
Erfindung lassen sich besser beim Lesen der folgenden ausführlichen
Beschreibung unter Bezugnahme auf die beiliegenden Zeichnungen erkennen,
in denen
-
1 ein
schematisches Diagramm eines konventionellen drahtlosen LAN (WLAN)
zeigt, in dem ein drahtloser Zugriffspunkt implementiert ist;
-
2 ein
schematisches Diagramm einer beispielhaften WLAN-Topologie gemäß einer
erfindungsgemäßen Erfindungsform
zeigt;
-
3 ein
schematisches Diagramm zeigt, das verschiedene vollständige und
unvollständige Kommunikationspfade
zwischen den Stationen der WLAN-Topologie von 2 veranschaulicht;
-
4 ein
schematisches Diagramm zeigt, das Funkstörungen darstellt, die auftreten,
wenn zwei Stationen versuchen, Daten in Reichweite einer Station
oder an eine gemeinsame Station zu übertragen;
-
5A und 5B zusammen
ein Ablaufdiagramm umfassen, das die von einer Ausführungsform
der Erfindung benutzte Logik darstellt, um zu bestimmen, welches
die beste als Kanalzugriffsmanager (CAM) zu verwendende Station
ist;
-
6 ein
Ablaufdiagramm ist, das die von einer Ausführungsform der Erfindung verwendete
Logik beim Anmelden eines stellvertretenden Kanalzugriffsmanagers
(PCAM) veranschaulicht;
-
7 ein
schematisches Diagramm ist, welches das WLAN von 2 mit
zwei zusätzlichen Laptop-Stationen und die
Implementierung von zwei PCAM- Stationen
für den
Zugriff auf die neuen Laptop-Stationen
veranschaulicht;
-
8 ein
Ablaufdiagramm ist, das die von einer Ausführungsform der Erfindung beim
Initialisieren eines CAM-Client verwendete Logik veranschaulicht;
-
9A und 9B zusammen
ein Ablaufdiagramm umfassen, das die von einer Ausführungsform
der Erfindung beim Durchführen
normaler CAM-Operationen verwendete Logik veranschaulicht;
-
10 ein
Ablaufdiagramm ist, das die von einer Ausführungsform der Erfindung beim
Durchführen
normaler PCAM-Operationen verwendete Logik veranschaulicht;
-
11A und 11B zusammen
ein Ablaufdiagramm umfassen, das die von einer Ausführungsform
der Erfindung beim Durchführen
normaler Client-Operationen verwendete Logik veranschaulicht;
-
12 ein
schematisches Diagramm ist, das den Vorteil der Verwendung eines
stellvertretenden Stationsleistungsmanagers veranschaulicht;
-
13 ein
Ablaufdiagramm ist, das die Logik veranschaulicht, die zum Bestimmen
eines optimalen Leitpfades zur Maximierung der Übertragungsbandbreite dient;
-
14 ein
schematisches Diagramm eines Computersystems ist, das zur Implementierung
der Erfindung verwendet werden kann.
-
AUSFÜHRLICHE
BESCHREIBUNG DER DARGESTELLTEN AUSFÜHRUNGSFORMEN
-
Ein
System und Verfahren zur Implementierung eines drahtlosen lokalen
Netzwerks, welches keine Zugriffspunkte verwendet, ist ausführlich in
dieser Schrift beschrieben. In der folgenden Beschreibung sind zahlreiche
spezifischen Details offenbart, um ein gründliches Verständnis der
erfindungsgemäßen Ausführungsformen
zu ermöglichen.
Ein auf diesem Gebiet versierter Fachmann wird jedoch erkennen,
dass die Erfindung auch ohne ein oder mehrere der spezifischen Details
oder mit anderen Methoden, Komponenten usw. praktiziert werden kann.
In anderen Fällen
sind gutbekannte Strukturen oder Operationen nicht dargestellt oder
im Detail beschrieben, um eine Verschleierung der Aspekte verschiedener
erfindungsgemäßer Ausführungsformen
zu vermeiden.
-
Verweise
in dieser Spezifikation auf „eine einzige
Ausführungsform" oder „eine Ausführungsform" bedeuten, dass ein
bestimmtes Merkmal, eine bestimmte Struktur oder Eigenschaft, die
in Verbindung mit der Ausführungsform
beschrieben ist, in mindestens einer Ausführungsform der vorliegenden Erfindung
eingesetzt wird. Somit beziehen sich Phrasen wie „in einer
einzigen Ausführungsform" oder „in einer
Ausführungsform" an verschiedenen
Stellen in dieser Spezifikation nicht unbedingt alle auf die gleiche
Ausführungsform.
Des Weiteren können
bestimmte Merkmale, Strukturen oder Eigenschaften in geeigneter
Weise in einer oder mehreren Ausführungsformen kombiniert werden.
-
Die
vorliegende Erfindung stellt ein System und Verfahren zur Implementierung
eines Peer-zu-Peer-WLAN bereit, welches keinen Zugriffspunkt benötigt, aber
dennoch viele der von einem AP bereitgestellten Merkmale, wie zum
Beispiel Kanalmanagement und Dienstgüte-Funktionen, aufweist. Die
Erfindung definiert ein Verfahren zur dynamischen Auswahl eines
Kanalzugriffsmanagers (CAM), der (vorzugsweise) fähig ist,
mit der größten Anzahl drahtloser
Stationen in einem gegebenen WLAN zu kommunizieren. Die Erfindung
definiert ferner ein Verfahren zur Auswahl eines oder mehrerer stellvertretender
CAMs, die Kommunikationspfade zwischen dem CAM und drahtlosen Stationen
einrichten, mit denen der CAM herkömmlicherweise nicht fähig wäre zu kommunizieren.
Die Erfindung sieht ferner ein Verfahren zum Lösen der Probleme vor, die auftreten,
wenn eine neue Station zum WLAN hinzugefügt wird, und stellt ein optimiertes
Routing von Nachrichten zum Maximieren der Übertragungsbandbreiten bereit.
-
Eine
typische WLAN-Konfiguration 50, in der die Erfindung implementiert
werden kann, ist in 3 dargestellt. WLAN-Konfiguration 50 umfasst
die gleichen Stationen an weitgehend den gleichen physischen Orten
wie im Wi-Fi WLAN 10, benutzt aber nicht länger den
Zugriffspunkt 24. In 2 sind Bögen und
ein Kreis, die entsprechende Senderbereiche jeder Station definieren,
dargestellt, wobei der Bogen oder Kreis für eine gegebene Station die
gleiche Bezugsnummer wie die Station hat, mit der er verknüpft ist,
nur das zusätzlich
ein „C" angehängt ist. Zum
Beispiel weist Station 12 einen Senderbereich auf, der
durch Bogen 12C dargestellt ist. Der Einfachheit halber
ist jeder Senderbereich mit einem konstanten Radius von seinem Sendepunkt
aus dargestellt; es versteht sich jedoch, dass in den meisten Fällen die
tatsächlichen
Senderbereiche aufgrund der unten beschriebenen Störungen keine
Kreise, sondern geschlossene Konturen unterschiedlicher Formen aufweisen
würden.
Des Weiteren stellen die in 2 verwendeten
Bögen teilweise
Senderbereiche ihrer entsprechenden Station dar und werden in der
Figur benutzt, um die Größe zu reduzieren.
-
Um
zu gewährleisten,
dass zwei „Peer"-Stationen miteinander
kommunizieren können,
müssen sie
jeweils im Senderbereich der anderen Station liegen. Im Allgemeinen
bedeutet dies, dass sie, was potentielle Störungsursachen betrifft (zum
Beispiel Wände
in Gebäuden,
Verkabelung, Stahlkonstruktionen, externe Hochfrequenzstörungen usw.,
nahe genug beieinander liegen müssen.
In einer Ausführungsform
kann zum Beispiel die Erfindung unter Einsatz von mit IEEE 802.11b
kompatiblen Geräten
implementiert werden. Im Allgemeinen haben mit IEEE 802.11b kompatible
Geräte
eine Übertragungsreichweite
von 1000 Fuß (ca.
305 m) oder weniger in offenen Bereichen und 250–400 Fuß (ca. 80–120 m) in geschlossenen Bereichen
(aufgrund der durch physische Strukturen wie Wände verursachten Störungen).
Diese Übertragungsreichweiten
können
noch weiter reduziert werden, wenn Hochfrequenz-Störungsursachen
existieren, wie zum Beispiel HF-Signale, die zu oder von in der
Nähe gelegenen
zellularen Türmen übertragen
werden.
-
In 3 sind
verschiedene Peer-zu-Peer-Kommunikationspfade entsprechend WLAN-Konfiguration 50 dargestellt.
Erfolgreiche Kommunikationspfade sind als Blitzsymbole dargestellt,
dies sind die Kommunikationspfade 52, 54, 56, 58, 60, 62, 64 und 66.
Jeder dieser Kommunikationspfade bedeutet, dass das durch den Kommunikationspfad
verbundene Stationspaar nahe genug beieinander liegt, um unter den
aktuellen Betriebsbedingungen miteinander kommunizieren zu können. In 3 sind
ferner unvollständige
Kommunikationspfade dargestellt, die aus gestrichelten Linien mit
einem „NO" Symbol (das heißt einem
schräg
durchstrichenen Kreis) bestehen. Dies sind die Pfade 70, 72, 74, 76, 78 und 80.
Ein unvollständiger
Kommunikationspfad zeigt an, dass die beiden Stationen, die durch
den Pfad verbunden sind, nicht nahe genug beieinander liegen, um
eine zufriedenstellende Kommunikation zu ermöglichen.
-
In 3 sind
zwei augenfällige
Probleme veranschaulicht. Das offensichtlichste Problem sind die
unvollständigen
Kommunikationspfade. Eins der primären Merkmale eines LAN ist,
dass jede Station auf jede andere Station im Netzwerk zugreifen
kann. Wie oben beschrieben wird diese Funktion normalerweise von
einem Zugriffspunkt aus bereitgestellt, der nicht länger existiert.
Ein weniger offensichtliches Problem betrifft „verborgene" Stationen. Kurz
gesagt ist eine verborgene Station eine Station, die einer anderen
Station im Netzwerk „unbekannt" ist (das heißt, sie
liegt außer
Reichweite und ist somit nicht „sichtbar"). Dies verursacht Probleme, weil Übertragungen zwischen
einem Satz von Peer-Stationen aus Versehen die Übertragungen zwischen einem
anderen Satz von Peer-Stationen stören können.
-
Man
nehme zum Beispiel an, dass das drahtlose Medium für die Stationen 20 und 22 im
Ruhezustand zu sein scheint. Jede Station kann also eine Übertragung
zur anderen Station einleiten, wie durch die Übertragungssignale 84 in 4 dargestellt. Jetzt
sei angenommen, dass zur gleichen Zeit Station 16 dabei
war, Daten über Übertragungssignale 86 an Station 18 zu
senden. Da Station 16 sowohl hinsichtlich Station 20 als
auch Station 22 außer
Reichweite liegt, weiß keine
dieser beiden letzteren Stationen, dass Station 16 dabei
ist, an Station 18 zu senden. Station 18 liegt
jedoch in Reichweite der Stationen 16, 20 und 22.
Das Ergebnis ist, dass Übertragungssignale 84 sowohl
von Station 18 als auch von der Station empfangen werden,
die für
den Empfang des Signals (Station 22) bestimmt ist, da übertragene
Signale im Wesentlichen als omnidirektionale HF-Signale von ihrem
Sendepunkt aus gesendet werden, wie durch Signale 84 in 84 dargestellt, und nicht als unidirektionale Übertragungspfade,
wie in 3 dargestellt. Das Ergebnis ist, dass eine Signalstörungsregion 88 erzeugt
wird, in der jeder Empfangspunkt (zum Beispiel Station 18)
innerhalb der Signalstörungsregion
Empfangsprobleme aufweisen kann, wenn er Signale empfängt, die
gleichzeitig von zwei oder mehr verschiedenen Stationen gesendet
werden, die in Reichweite des Empfangspunktes liegen. Zur Adressierung
dieser oben genannten Probleme, das heißt unvollständige Signalpfade und verborgene
Stationen, verwendet die Erfindung eine Kombination von CAMs, stellvertretenden
CAMs (PCAMs) und Client CAMs (CCs), wie im Folgenden beschrieben.
-
Die
erste Operation beim Einrichten einer neuen WLAN-Konfiguration besteht
darin, zu bestimmen, welche Station(en) im Netzwerk dazu ernannt werden
sollen, als CAM(s) zu funktionieren. Bezugnehmend auf das Ablaufdiagramm
von 5A und 5B beginnt
dieser Prozess bei Block 100, bei dem automatische Konfigurierung
der drahtlosen Stationen in einem als „Startperiode" bekannten Zeitrahmen
durchgeführt
wird. Während
der Startperiode erhält
jede der drahtlosen Stationen eine gültige IP-Adresse (Internet-Protokoll).
In einer Ausführungsform
werden die IP-Adressen mittels eines Industriestandard-Autokonfigurationsprozesses
erhalten. Unmittelbar an die Startperiode schließt sich bei Block 102 eine
AMA-Periode (AMA = Access Manager Arbitration) an, während der
jede Station ein Kandidat für
einen neuen CAM (New CAM Kandidat = NCC) ist. NCC-Stationen überwachen
den Kanal auf die Anwesenheit einer PCA-Nachricht (PCA = Priority Client
Access), wie durch Entscheidungsblock 104 dargestellt.
Der Kanal wird ausgewählt,
während
der NCC alle Kanäle
abtastet und dabei nach dem aktiven Kanal sucht, das heißt dem Kanal,
auf dem die PCA-Nachricht übertragen
wird. Die Länge
der PCA-Nachricht ist derart, dass sie die maximale Zeit überschreitet,
die für
eine Abtastung aller Kanäle durch
eine potentielle Empfangsstation benötigt wird.
-
Wie
bei Block 106 vorgesehen, ist der NCC nach Erkennung der
PCA-Nachricht fähig,
die Stationsidentität
des CAM (PCAM) zu bestimmen, und beginnt mit der Ausführung eines
CAM Client-Protokolls, wie im Folgenden definiert. Wenn ein NCC
keine PCA-Nachricht erkennt, bevor die AMA-Period (wie durch ein
JA-Ergebnis für
Entscheidungsblock 108 angezeigt) abgelaufen ist, wird
aus der Station ein CAM-Kandidat (CAMC), der ein AMA-Protokoll ausführt. Wie
bei Block 110 und Entscheidungsblock 112 dargestellt,
unternimmt jeder CAMC wiederholte Kanalzugriffsversuche gemäß Kanalzugriffsverfahren
nach Spezifikation IEEE 802.11 (1999), bis ein erfolgreicher Kanalzugriff
stattfindet.
-
Nach
erfolgreichem Kanalzugriff sendet ein CAMC eine Stationsidentifikationsanforderungsnachricht
(SIDR) an alle anderen Stationen in Block 114. Jede drahtlose
Station, die in Kommunikationsreichweite des CAMC liegt, antwortet
dem SDIR mit einem Stationsidentifikations-(SID)nachrichtenpaket. Die SID-Antwort
enthält
Stationsidentifikations-Antwortinformation (zum Beispiel IP-Adresse, MRC-Adresse
und andere relevante Stationsidentifikationsinformation). Wie von
Entscheidungsblock 116 und den Blöcken 118 und 120 bereitgestellt,
erhöht
der CAMC in Antwort auf jedes Nachrichten-SID-Nachrichtenpaket seine
SID-Zählung
und zeichnet die Antwort auf.
-
Nachdem
alle CAMC-Stationen SIDR-Nachrichten gesendet und alle Stationen
geantwortet haben, tritt der Kanal für eine als AMAG (Access Manager
Arbitration Gap) definierte Periode in den Ruhezustand ein, die
bei Entscheidungsblock 122 auf ihren Abschluss geprüft wird.
Bezugnehmend auf 5B versucht der CAMC nach Ablauf
der AMAG, auf den Kanal zuzugreifen, bis er erfolgreich ist (Block 124 und
Block 126), und überträgt dann
eine AMI-Nachricht (AMI = Access Manager Information) bei Block 128.
Die AMI-Nachricht enthält
die CAMC-Stationsidentifikationsinformation, die Anzahl der Antworten,
die der CAMC auf seine SIDR-Nachricht
empfangen hat, und Stationskennungen für jede der Antworten. Wie bei
Entscheidungsblock 130 dargestellt, wenn eine SIDR-Nachricht
während
dieses Zeitrahmens empfangen wird, wird auf den Kanal bei Block 132 zugegriffen,
und es wird eine SID-Nachricht bei Block 134 übertragen.
-
In
Antwort auf den Empfang einer AMI-Nachricht vergleicht jeder empfangende
CAMC die mit der Nachricht übertragene
SIDR-Antwortzählung
mit seiner eigenen SIDR-Antwortzählung.
-
Wenn
ein empfangender CAMC bestimmt, dass seine Antwortzählung höher ist,
sendet er seine eigene AMI-Nachricht über den Kanal, andernfalls antwortet
er nicht. CAMC-Stationen
mit einer höheren
Antwortzählung
müssen
mit der Übertragung
ihrer AMI-Nachricht innerhalb einer als ARG (AMI Response GAP) definierten
Periode beginnen, die beginnt, wenn der vorherige CAMC mit der Übertragung seiner
AMI-Nachricht fertig ist. Dementsprechend wird bei Entscheidungsblock 136 bestimmt,
ob die ARG-Periode beendet ist. Wenn sie nicht beendet ist, wird
bei Entscheidungsblock 138 bestimmt, ob eine AMI-Nachricht
empfangen wurde. Wenn nicht, kehrt die Logik zurück zu Entscheidungsblock 136.
Wenn eine AMI-Nachricht empfangen wurde, steigt die AMI-Zählung für den CAMC
bei Block 140, wobei bei Block 142 die AMI-Nachrichtendaten
aufgezeichnet werden, und die Logik kehrt zu Entscheidungsblock 136 zurück.
-
Nachdem
die ARG abgelaufen ist, wie durch ein JA bei Entscheidungsblock 136 angezeigt,
geht die Logik zu Entscheidungsblock 144 weiter, wo bestimmt
wird, ob die AMI-Zählung für jeden
der CAMCs gleich 0 ist. Der letzte CAMC, der eine AMI-Nachricht
sendet, wird eine AMI-Zählung
von 0 aufweisen. Dieser CAMC wird zum CAM ernannt, und die Logik
geht nun weiter, um bei Block 146 mit CAM-Operationen zu
beginnen. Wenn die AMI-Zählung
größer als
0 ist, was der Fall für
alle anderen CAMCs im WLAN sein wird, beginnt bei Block 148 ein
Anmeldeprozess für
einen stellvertretenden CAM, um zu bestimmen, welche dieser CAMCs
als stellvertretende CAMs geeignet sind.
-
Gemäß der vorbeschriebenen
Logik wird der letzte CAMC, der vor Ablauf der ARG eine AMI-Nachricht
sendet, zum CAM ernannt. Das Verfahren gewährleistet, dass die größte Anzahl
von Stationen im WLAN die Stationskennung des CAM aufweisen. Die Station,
die zum CAM ernannt wird, wird dann dazu benutzt, den Kanalzugriff
für jegliche
drahtlose Stationskommunikation im Netzwerk zu managen, wie unten
unter Bezugnahme auf 9A und 9B beschrieben.
-
Angenommen,
der obige CAM-Auswahlalgorithmus wurde an WLAN-Konfiguration 50 angelegt. In
diesem Fall würden
zu Anfang alle Stationen 12, 14, 16, 18, 20 und 22 als
CAMCs geeignet sein. Es sei daran erinnert, dass die SIDR-Antwortzählung der
Zählung
aller Stationen entspricht, die auf eine gegebene CAMC-SIDR-Nachricht
antworten. Gemäß WLAN-Konfiguration 50 entspricht
die Anzahl der Antworten für
jede Station der Anzahl der Senderbereiche, in denen jede Station
residiert (außerhalb
ihres eigenen Senderbereichs). Zum Beispiel fällt Station 12 in
die Senderbereiche 14C, 18C und 22C,
ihre Zählung
lautet daher 3. Die entsprechenden Ergebnisse für die anderen Stationen sind
Station 14 = 3, Station 16 = 2, Station 18 =
5, Station 20 = 2 und Station 22 = 3. Das bedeutet,
dass Station 18 zum CAM für WLAN-Konfiguration 50 ernannt
würde.
-
Einrichten von stellvertretenden
CAMs und CAM-Clients
-
Stationen,
die kein CAM sind, werden entweder als stellvertretender CAM oder
CAM-Client eingerichtet. Bezugnehmend auf das Ablaufdiagramm in 6 wird
die Initialisierung eines stellvertretenden CAM wie folgt durchgeführt: Stellvertretende
CAMs beginnen ihre Existenz als CAM-Kandidat mit einer AMI-Nachrichtenzählung, die
größer als
0 ist. CAMC-Stationen mit einer AMI-Zählung, die größer als
Null ist, besitzen eine Aufzeichnung der CAM-Stationskennung sowie
auch der Kennung der Stationen, mit denen der CAM fähig ist
zu kommunizieren. Die folgenden Operationen werden auf jedem CAMC ausgeführt mit
dem Ziel, alle CAMCs zu identifizieren, die fähig sind, sowohl mit dem CAM
als auch einem anderen CAMC zu kommunizieren, der nicht in Kommunikationsreichweite
des CAM liegt.
-
Bei
Block 150 führt
der CAMC einen Vergleich der CAM-Stationskennungen
mit den Stationskennungen durch, die der CAMC in seinen SIDR-Antwortnachrichten
empfangen hat. Aufgrund dieser Information kann bei Entscheidungsblock 152 bestimmt
werden, ob es Stationen gibt, die der CAMC, aber nicht der CAM sehen
kann. Ein CAMC wird zu einem CC, wenn alle Stationskennungen aus
seinen eigenen SIDR-Antworten den Stationskennungen in der AMI-Nachricht
vom CAM gleichen. Dies entspricht einem NEIN-Ergebnis von Entscheidungsblock 152,
woraufhin der CAMC zu einem CAM-Client (CC) wird, und Client-Operationen
beginnen bei Block 154, wie unter Bezugnahme auf 11A und 11B beschrieben.
-
Wenn
eine CAMC-Liste eine SID enthält,
die nicht in der CAM SID-Liste enthalten ist, lautet die Antwort
bei Entscheidungsblock 152 JA, und die Logik geht zu Block 156 und 158 weiter,
wobei so lange versucht wird, auf den Kanal zuzugreifen, bis Erfolg eintritt.
Der CAMC sendet nun eine PCM-Nachricht (stellvertretende CAM Nachricht)
bei Block 160 und beginnt PCAM-Operationen bei Block 162.
-
Ein
beispielhaftes Ergebnis des obigen Algorithmus für die Anmeldung eines stellvertretenden CAM
entsprechend einer WLAN-Konfiguration 50A ist in 7 dargestellt.
WLAN-Konfiguration 50A ist identisch
mit WLAN-Konfiguration 50, nur dass zusätzlich Stationen 23 und 25 vorhanden
sind, die entsprechende Senderbereiche 23C und 25C aufweisen.
Wie in 7 dargestellt, ist die einzige andere Station,
die im Senderbereich 23C liegt, Station 16, die
nicht der CAM (das heißt
Station 18) ist. Dementsprechend wird Station 16 zu
einem stellvertretenden CAM. Desgleichen ist die einzige andere
Station innerhalb Senderbereich 25C die Station 22,
die ebenfalls zu einem PCAM wird. Das bedeutet, dass es Stationen 23 und 25 jetzt
möglich
ist, dem WLAN beizutreten, wobei CAM-Station 18 mit Station 23 über PCAM-Station 16 und
mit Station 25 über
PCAM-Station 22 kommunizieren kann. Es ist ferner zu bemerken,
dass wenn Station 18 ein Zugriffspunkt mit dem gleichen
Senderbereich wäre,
es nicht möglich
wäre, Stationen 23 und 25 zum
WLAN hinzu zufügen,
da diese Stationen dann außer
Reichweite des Zugriffspunktes liegen würden.
-
PCAM-
und CC-Stationen überwachen
den Kanal auf PCM-Nachrichten. Wenn ein CC oder PCAM eine PCAM-Nachricht
auffängt,
parst sie die PCM-Nachricht für
ihre eigene Stations-ID. Wenn gefunden, zeichnet der CC oder PCAM
die Stations-ID seines CAM und/oder PCAM auf. Vom praktischen Standpunkt
aus gesehen ist es eventuell erforderlich, die Anzahl der PCAMs
in einem WLAN zu begrenzen, um übertrieben
lange PCA-Präfix-Perioden
zu vermeiden.
-
Bezugnehmend
auf das Ablaufdiagramm von 8 beginnt
die Initialisierung eines CAM-Client (CC) bei Block 200 und
Entscheidungsblock 202, wobei der CC darauf wartet, eine
PCA-Nachricht (Priority Client Access) zu erkennen. Nach Erkennen
einer PCA-Nachricht fängt
der CC die Stations-ID des CAM (oder PCAM, falls zutreffend) auf,
der die PCA-Nachricht
bei Block 208 gesendet hatte und stellt den Wert seines
CAT (Channel Access Timer) auf einen Wert ein, der gleich der Summe
der PPP-Periode (PCA-Präfix-Periode)
und der PPL-Länge
(PCA Periodenlänge)
ist (Block 210). Die PPP ist eine Periode, die der tatsächlichen
PCA-Periode vorangeht, und ist die Zeitspanne, während der jeder PCAM das PCA-Startsignal
an seine CAM-Clients weiterreichen muss. Die PPL ist die Zeit, die
angemeldeten Prioritäts-Clients
zum Senden von Daten zugewiesen ist. Eine PPL-Länge von Null bedeutet, dass
der CAM (oder PCAM) nicht angemeldet ist als Station, die Priorität für Datenzustellungen
hat.
-
Gemäß Entscheidungsblock 212 versucht der
CC, auf den Kanal in der oben beschriebenen Weise, wie durch Blöcke 214 und 216 dargestellt,
zuzugreifen, nachdem er auf den Ablauf des CAT gewartet hat. Nachdem
Kanalzugriff erzielt wurde, sendet der CC eine SAR-Nachricht (SAR
= Station Associate Request) an den CAM (oder PCAM) bei Block 218 und
tritt in den Ruhezustand ein, während
er auf eine AMI-Nachricht vom CAM (oder PCAM) wartet (Entscheidungsblöcke 220 und 222).
-
Wenn
der CAM oder PCAM eine SAR-Nachricht empfängt, fügt er die Stationskennung des
Ursprungs der SAR-Nachricht hinzu und sendet dann seine AMI-Nachricht
an alle Client-Stationen
in seinem Senderbereich. Nach Erhalt einer AMI-Nachricht zeichnet der CC die Stationskennungen
für den CAM
(oder PCAM) sowie die Kennungen der vom CAM (oder PCAM) gemanagten
Stationen bei Block 224 auf und geht dann zu Block 226,
um, wie unten beschrieben, normale CC-Operationen zu beginnen.
-
Verknüpfung von neuen im WLAN erscheinenden Geräten
-
Wenn
im WLAN ein neues Gerät
erscheint, wird es zu einem NCC (Neuer CAM Kandidat). Das Verarbeiten
des NCC beginnt bei Block 201 im Ablaufdiagramm von 8.
Bevor er den Kanalzugriff versucht, überwacht der NCC den Kanal,
während
er für
eine als AMA-Periode (Access Manager Arbitration) definierte Periode
darauf wartet, eine PCA-Nachricht (Priority Client Access) zu erkennen
(Entscheidungsblöcke 209 und 205).
Wenn der NCC keine PCA-Nachricht erkennt, bevor die AMA-Periode
abgelaufen ist, wie durch ein JA-Ergebnis
bei Entscheidungsblock 202 identifiziert, geht die Logik
zu Block 207 weiter, wo der NCC zu einem CAMC wird und das
Kanalzugriffmanager-Arbitrationsprotokoll in der oben beschriebenen
Weise ausführt.
Wenn eine PCA-Nachricht erkannt wird, wird der NCC zu einem CC und
wird auf ähnliche
Weise initialisiert, wie oben für
die Initialisierung eines CC beschrieben.
-
Dienstgüte
-
Die
vorliegende Erfindung sieht Dienstgüte-(QoS) Merkmale vor, die
in konventionellen WLANs nicht verfügbar sind. Diese QoS-Merkmale beinhalten
die Handhabung von asynchroner Datenzustellung und zeitkritischer
Datenzustellung.
-
Für asynchrone
Daten, das heißt
Daten, die nicht in zeitkritischer Weise zuzustellen sind, benutzt jeder
CC, der asynchrone Daten an eine andere Station zu liefern hat,
ein RTS-(Request to Send) und ein CTS-(Clear to Send) Zugriffsprotokoll
mit dem CAM oder PCAM. Ein CC, der Kanalzugriff wünscht, überwacht
den Kanal, bis er eine Ruheperiode entdeckt. Nach Erkennung derselben überträgt der CC
eine RTS an den CAM oder PCAM. Wenn keine ausstehenden genehmigten Übertragungen
vorliegen, antwortet der CAM (oder PCAM) mit einer CTS-Nachricht.
Nach Empfang einer CTS-Nachricht überträgt der CC seine Daten an die
drahtlose Zielstation. Ein PCAM antwort erst dann mit einer CTS-Nachricht, wenn er
eine CTS-Nachricht vom CAM empfängt.
In Fällen,
in denen ein PCAM stellvertretende Dienste vornimmt, wird eine an
einen PCAM gesendete RTS an den CAM weitergeleitet. Ein PCAM leitet
ferner vom CAM empfangene CTS-Nachrichten an den CC weiter.
-
Jeder
CC, der zeitkritische Domäne-Zustelldaten
(zum Beispiel Steaming Media) hat, meldet sich als Prioritäts-CAM-Client (PCC) beim
CAM oder seinem PCAM an. Ein PCAM meldet sich als Prioritäts-Stellvertreter-CAM
(PPC) beim CAM an. Wenn sich ein PPC beim CAM anmeldet, enthält die Anmeldung
die Zählung
der PCC-Stationen, für
die er einen stellvertretenden Dienst ausführt. Während der Anmeldung gibt der
PCC die zum Senden seiner Daten benötigte Menge der Kanalzugriffszeit
an. Der CAM (oder PCAM) bestätigt
eine PCC-Anmeldeanforderung
mit einer RACK-Nachricht (Registration Acknowledge). Die RACK-Nachricht
enthält
die Menge der Zeit, die dem PCC zum Senden seiner Prioritätsdaten
zugewiesen ist. Die Menge der Zeit ist nie größer als die angeforderte Zeit,
kann jedoch kleiner – so klein
wie Null – sein
(was ein Anmeldeversagen aufgrund ungenügender Kanalbandbreite bedeutet).
-
Der
CAM sendet ein periodisches Signal, welches den Start einer PCA-Periode
(Priority Client Access) bezeichnet. Die PCA-Nachricht enthält einen
Wert für
die Länge
der PCA-Präfixperiode
(PPP) und die Zeit für
die PPL-Länge
(Länge
der PCA-Periode). Die PPP ist eine Periode, die der tatsächlichen PCA-Periode
vorangeht, und ist die Zeitspanne, während der jeder PCAM das PCA-Startsignal
an seine CAM-Clients
weiterreichen muss. Die PPL ist die Zeit, die angemeldeten Prioritäts-Clients
zum Senden von Daten zugewiesen ist. Eine PPL-Länge von Null bedeutet, dass
der CAM (oder PCAM) nicht angemeldet ist als Station, die Priorität für Datenzustellungen
hat. Nur angemeldete PCAMs können
auf den Kanal während
der PCA-Präfix-Periode
zugreifen.
-
Der
CAM fragt jeden PCC und PPC während der
PCA-Periode ab. Die Nachricht im Abfragepaket enthält die Menge
der Zeit, für
die der PCC (oder PPC) auf den Kanal zugreifen kann. Diese Zeit
kann weniger als die in der RACK-Nachricht enthaltene Zeit sein;
ein niedrigerer Wert ist ein Anzeichen für Kanalverschlechterung. Der
PCC muss von sich aus fähig
sein, Differenzen in den RACK-Kanalzugriffszeiten zu berichtigen.
Wenn er abgefragt wird, sendet der PCC seine Prioritätsdaten
an seine Zielstation(en). Wenn der CAM einen PCAM abfragt, fragt der
PCAM die PCC-Stationen ab, für
die er der Stellvertreter ist. Wenn die PCC-Station, für die der PCAM der Stellvertreter
ist, vom PCAM abgefragt wird, überträgt sie ihre
Prioritätsdaten
an ihre Ziel-Station(en).
-
Jede
drahtlose Station enthält
einen CAT (Channel Access Timer). Nach Empfang einer PCA-Startnachricht
stellen alle Stationen ihren CAT-Wert auf einen Wert ein, der gleich
der Summe von PPP und PPL ist. Die CC-Stationen versuchen erst dann
Kanalzugriff, wenn ihr CAT abgelaufen ist. PCAMs leiten PCA-Nachrichten
an die Stationen weiter, für
die sie einen stellvertretenden Dienst vornehmen.
-
Normale WLAN-Operation
für CAMs,
PCAMs und CAM-Clients
-
Es
soll nun die normale Operation der Systemkomponenten (das heißt CAM,
PCAMs und CAM-Clients) beschrieben werden, beginnend mit normalen
CAM-Operationen gemäß einer
Ausführungsform
der Erfindung, die im Ablaufdiagramm von 9A und 9B beschrieben
sind. Wie oben besprochen, dient der CAM als Nachrichten-Steuerzentrale
für den
WLAN, indem er Nachrichtenanforderungen von seinen CAM-Cients (CCs) überwacht
und genehmigt. Dementsprechend horcht der CAM ständig verschiedene Nachrichten
ab, die von CCs gesendet oder von PCAMs weitergeleitet werden, einschließlich PCM-Nachrichten,
PCC-Anmeldenachrichten, Anmeldenachrichten von Prioritäts-Clients, Übertragungszeit-PCA-Nachrichten,
SAR-Nachrichten
und RTS-Nachrichten in Antwort auf CAM-Operationen gemäß Startblock 300.
-
Bei
Entscheidungsblock 302, wenn eine Nachricht eine PCM-Nachricht ist (stellvertretende CAM-Nachricht),
geht die Logik zu Block 304, wo eine stellvertretende CAM-Zählung läuft, und
zu Block 306, wo die stellvertretende CAM-ID für den PCAM,
der die PCM gesendet hat, zusammen mit den Stations-IDs für die Stationen
aufgezeichnet wird, die der PCAM erreichen kann, die aber nicht vom
CAM selbst erreicht werden können.
Wenn die Nachricht eine PCC-Anmeldenachricht ist (Priority Cam Client),
ist die Antwort bei Entscheidungsblock 308 JA, und die
Stations-ID für
den PCAM, der die Nachricht gesendet hat, wird bei Block 310 aufgezeichnet,
die angeforderte Kanalzugriffszeit wird bei Block 312 aufgezeichnet,
und die RACK-Nachricht (Anmeldebestätigung) wird bei Block 314 an
den Prioritäts-CAM-Client
zurückgeschickt.
Desgleichen, wenn die Nachricht eine Prioritäts-Client-Anmeldenachricht
ist, ist die Antwort bei Entscheidungsblock 316 JA, und
die Stations-ID für
den CAM-Client,
der die Nachricht gesendet hat, wird bei Block 318 aufgezeichnet,
die angeforderte Kanalzugriffszeit wird bei Block 320 aufgezeichnet,
und die RACK-Nachricht wird bei Block 322 an den CAM-Client
zurückgeschickt.
-
Gemäß Entscheidungsblock 324,
wenn es Zeit ist, eine PCA-Nachricht
(Priority Client Access) zu senden, wird die PCA-Nachricht bei Block 326 zusammen
mit den PPP- und PPL-Daten übertragen. Wenn
die Antwort NEIN ist, kehrt die Logik bei Block 300 zum Anfang der
CAM-Operationen zurück
und der CAM wartet auf das nächste
Nachrichten- oder Timing-Ereignis. Wenn keine Prioritäts-Clients
angemeldet sind, fragt der CAM jeden der Prioritäts-CAM-Clients und/oder stellvertretenden
Prioritäts-Clients
bei Block 330 mit seinen Kanalzugriffs-Zeitdaten ab. Dies
wird gegebenenfalls so lange wiederholt, bis bei Entscheidungsblock 332 bestimmt
wird, ob der letzte Prioritäts-Client
abgefragt wurde, oder es wird bei Entscheidungsblock 334 bestimmt,
ob die PPC-Periode
abgelaufen ist. Wenn bei Entscheidungsblock 332 oder Entscheidungsblock 334 die
Antwort JA lautet, geht die Logik zum Beginn der CAM-Operationen
zu Block 300 zurück.
-
In
der zweiten Hälfte
des Ablaufdiagramms in 9B, wenn die Nachricht eine
SAR-Nachricht (Station Association Request) ist, lautet die Antwort bei
Entscheidungsblock 336 JA, und die Logik geht zu Block 338 weiter,
wo die Stations-ID für
die Station, die die SAR-Nachricht gesendet hat, zur stellvertretenden
Client-Liste für
den CAM hinzugefügt
wird, und zu Block 340, wo der CAM eine AMI-Nachricht (Access
Manager Identifikation) an die Client-Stationen überträgt, woraufhin die Logik in
einer Schleife zurückläuft, um
die nächste
CAM-Operation zu beginnen.
-
Wenn
die Nachricht eine RTS-Nachricht (Request to Send) ist (Entscheidungsblock 342),
wartet der CAM darauf, dass der Kanal frei wird (bei Entscheidungsblock 344),
und sendet dann eine CTS-Nachricht (Clear to Send) zurück an den
Client, der die RTS gesendet hat (Block 346). Wenn keine der
obigen Nachrichten zutrifft, entspricht die Nachricht einer für einen
CAM-Client anstatt einen CAM bestimmten Nachricht, und die Logik
geht zu Client-Operationsblock 348 weiter, um Client-Operationen
zu beginnen.
-
Ein
stellvertretender CAM ermöglicht
es, den Bereich eines CAM zu erweitern, indem er eine Stellvertreter-Funktion
durchführt,
wobei der stellvertretende CAM als Zwischenstelle zwischen Stationen fungiert,
die normalerweise außer
Reichweite des CAM liegen, und der CAM sowie diejenigen Stationen,
die mit dem stellvertretenden CAM kommunizieren, glauben, dass sie
direkt miteinander kommunizieren, obwohl sie es nicht tun. Gemäß des Ablaufdiagramms
in 10 beginnen die stellvertretenden CAM-Operationen
bei Startblock 400, wobei der PCAM auf Nachrichten horcht,
die für
ihn bestimmt sind, einschließlich
SAR-Nachrichten, Prioritäts-Client-Anmeldenachrichten,
PCA-Nachrichten und RTS-Nachrichten.
Bei Entscheidungsblock 402, wenn der PCAM eine SAR-Nachricht
empfängt,
geht die Logik zu Block 404, wo die Stations-ID zur Stellvertreter-Liste
des PCAM hinzugefügt
wird, und zu Block 406, wo der PCAM eine AMI-Nachricht
an alle Client-Stationen innerhalb seiner Reichweite sendet. Danach
kehrt die Logik zu Startblock 400 zurück, um die nächste PCAM-Operation
zu beginnen.
-
Gemäß Entscheidungsblock 408,
wenn die Nachricht eine Prioritäts-Client-Anmeldenachricht
ist, die von einem CAM-Client
gesendet wurde, der sich als Prioritäts-CAM-Client anmelden möchte, sendet der
PCAM bei Block 410 eine PPC-Nachricht (Priority Proxy CAM) an den
CAM, um den PCAM als Prioritäts-Stellvertreter-CAM
beim CAM anzumelden, und wartet dann auf den Empfang einer RACK-Nachricht vom
CAM (Entscheidungsblock 412). Nach Empfang der RACK-Nachricht
sendet der PCAM seine eigene RACK-Nachricht zurück an den neuen Prioritäts-CAM-Client,
und die Logik kehrt zu Startblock 400 zurück, um die
nächste
CAM-Operation zu beginnen.
-
Wenn
die Nachricht eine PCA-Nachricht (Priority Client Access) ist (Entscheidungsblock 416), überträgt der PCAM
die PCA mit PPP- und PPL-Daten (PPP = PCA-Präfixperiode) (PPL = PCA Periodenlänge) bei
Block 418. Jetzt wird bei Entscheidungsblock 420 bestimmt,
ob die Zählung
der angemeldeten Prioritäts-Clients
für den
PCAM größer als 0
ist. Wenn nicht, kehrt die Logik zu Startblock 400 zurück, um die
nächste
PCAM-Operation zu beginnen. Wenn die Zählung der angemeldeten Prioritäts-Clients
größer als
0 ist, was bedeutet, dass sich mindestens ein Prioritäts-Client
beim PCAM angemeldet hat, fragt der PCAM alle Prioritäts-Clients
mit Kanalzugriffs-Zeitdaten bei Block 422 ab, bis entweder
der letzte Prioritäts-Client
verarbeitet wurde, oder bis die PPC-Zugriffsperiode abgelaufen ist,
wobei die Operationen bei 424 bzw. 426 dargestellt
sind. Wenn die Bedingungen bei Entscheidungsblock 424 bzw. bei
Entscheidungsblock 426 erfüllt sind, kehrt die Logik zu
Block 400 zurück,
um die nächste
PCAM-Operation zu beginnen.
-
Bei
Entscheidungsblock 428 bestimmt der PCAM, ob ein CAM-Client ihm eine RTS-Nachricht (Request
to Send) geschickt hat. Falls ja, wird die RTS-Nachricht an den
CAM bei Block 430 weitergeleitet, und der PCAM wartet darauf,
eine entsprechende CTS-Rücknachricht
(Clear to Send) vom CAM zu empfangen, wie bei Entscheidungsblock 432 dargestellt.
Nachdem die CTS-Nachricht empfangen wurde, leitet der PCAM diese
an den CAM-Client weiter, der ursprünglich die RTS-Nachricht gesendet
hatte, und informiert dadurch den CAM-Client, dass dieser jetzt den Kanal
benutzen kann, um seine Daten und/oder Nachrichten an eine Zielstation
zu senden.
-
Für den Fall,
dass die Antworten bei allen Entscheidungsblöcken 402, 408, 416 und 428 NEIN lauten,
ist die Nachricht nicht für
den PCAM bestimmt, sondern entspricht vielmehr einer Client-Operation,
wie bei Block 436 – Client-Operation beginnen – dargestellt.
-
Bezugnehmend
auf das Ablaufdiagramm in 11A und 11B beginnen die Client-Operationen bei Startblock 500,
wo der CAM-Client auf Nachrichten horcht, die an ihn gesendet werden.
Gemäß Entscheidungsblock 502,
wenn der CAM-Client eine PCA-Nachricht (Priority Client Access)
empfängt, geht
die Logik zu Block 504, wo der CAT-Wert (Channel Access
Timer) für
den CAM-Client auf die Summe der PPP- und PPL-Periodenwerte eingestellt wird, die
in der PCA-Nachricht enthalten sind. Danach wird bei Entscheidungsblock 506 bestimmt,
ob der CAM-Client ein angemeldeter Prioritäts-Client ist. Wenn nicht, läuft die
Logik durch Block 508 und Block 510, wobei der
CAT-Wert des Timers so lange abnimmt, bis er gleich Null ist, an
welchem Punkt die Logik zu Startblock 500 zurückkehrt
und mit der nächsten
CAM-Client-Operation
beginnt.
-
Wenn
sich der CAM-Client als Prioritäts-Client
angemeldet hat, geht die Logik zu Entscheidungsblock 512,
wo bestimmt wird, ob der CAM-Client eine Kanalzugriffszeitdatenabfrage
vom CAM (oder PCAM) entdeckt hat. Wenn die Antwort NEIN lautet,
reduziert der CAM bei Block 514 den CAT-Wert und bestimmt
bei Entscheidungsblock 516, ob der Wert Null ist. Wenn
der CAT größer als
Null ist, kehrt die Logik zu Entscheidungsblock 512 zurück, ansonsten
geht sie in einer Schleife zurück
zu Startblock 500, um mit der nächsten CAM-Client-Operation zu beginnen. Wenn die
Abfrage entdeckt wird, wird der CAM-Client sofort befähigt, seine
Daten zu senden, die nun an alle Stationen übertragen werden, die dazu
bestimmt sind, die Daten zu empfangen (Block 518), woraufhin
die Logik zu Startblock 500 zurückkehrt.
-
Wenn
die Nachricht eine PCM (Proxy CAM) ist, geht die Logik entsprechend
Entscheidungsblock 520 zu Entscheidungsblock 522.
Bei Entscheidungsblock 522 wird bestimmt, ob die Stations-ID
in der PCM die gleiche Stations-ID wie der CAM-Client ist, was bedeutet, dass die Nachricht
für den
CAM-Client bestimmt
ist. Wenn die Antwort JA lautet, wird die in der PCM-Nachricht angegebene
CAM- oder PCAM-Stations-ID bei Block 524 aufgezeichnet,
und die Logik geht in einer Schleife zurück zu Startblock 500.
-
Wenn
die PCM-Nachricht nicht für
den CAM-Client bestimmt war oder wenn keine PCA- oder PCM-Nachricht
entdeckt wurde, geht die Logik zu Entscheidungsblock 526 weiter,
wo bestimmt wird, ob der CAM-Client Daten zur Übertragung hat. Wenn die Antwort
JA lautet, greift der CAM-Client auf den Kanal bei Block 528 zu
und überträgt eine RTS-Nachricht
bei Block 530. Der CAM-Client wartet nun darauf, eine CTS-Nachricht zu empfangen
(Entscheidungsblock 532). Nach Empfang einer RTS überträgt der CAM-Client
seine Daten, wie bei Block 534 angegeben, und die Logik
kehrt zu Startblock 500 zurück, um mit der nächsten CAM-Client-Operation
zu beginnen.
-
Wenn
die Antwort auf jeden der Entscheidungsblöcke 502, 520 und 526 NEIN
lautet, geht die Logik zum Teil des Ablaufdiagramms, das in 11B dargestellt ist, beginnend mit Entscheidungsblock 536,
wo bestimmt wird, ob sich der CAM-Client als Prioritäts-Client anmelden möchte. Wenn
die Antwort NEIN lautet, geht die Logik zurück zu Startblock 500, um
mit der nächsten
CAM-Client-Operation zu beginnen. Wenn der CAM-Client nicht beabsichtigt,
sich als Prioritäts-Client
anzumelden, geht die Logik zu Entscheidungsblock 538, wo
bestimmt wird, ob sich der CAM-Client bereits als Prioritäts-Client
angemeldet hat. Wenn die Antwort JA lautet, kehrt die Logik zu Startblock 500 zurück. Wenn
der CAM-Client die Anmeldung als Prioritäts-Client noch vorzunehmen hat,
geht die Logik zu Block 540, wo sie eine Prioritäts-Client-Anmeldenachricht
an den CAM (oder gegebenenfalls den PCAM) sendet. Der CRM-Client wartet
nun darauf, eine RACK-Nachricht zu empfangen (Entscheidungsblock 542).
Nach Empfang der Nachricht zeichnet er die in der Nachricht angegebene
Kanalzugriffsgewährungszeit
bei Block 544 auf, und die Logik kehrt zu Block 500 zurück, um mit
der nächsten
CAM-Client-Operation zu beginnen.
-
Wie
oben beschrieben, sieht die Erfindung ein System und Verfahren vor,
das ermöglicht,
ein drahtloses LAN einzu richten und zu implementieren, ohne dass
ein Zugriffspunkt benötigt
wird. Daraus ergibt sich eine Reduzierung der WLAN-Kosten. Weitere
Vorteile der Erfindung sind Wiederherstellung der vollen Bandbreite
des drahtlosen Mediums (durch Beseitigung der bei Zugriffspunkten
benötigten „Spoke-and-Hub" Routing-Topologie)
und Erweiterung des grundlegenden Dienstesatzes einer drahtlosen Station
durch einen Satz von Kommunikationsnachrichten und Protokollen,
die Dienstgüte
einrichten und das Problem der verborgenen Stationen beseitigen.
-
Stationsleistungsmanager
und stellvertretender SPM
-
In
einer Ausführungsform
kann die grundlegende Dienstesatzerweiterung dazu verwendet werden,
einen Stationsleistungsmanager (SPM – Station Performance Manager)
und einen oder mehrere stellvertretenden Stationsleistungsmanager
(stellvertretende SPMs) zu erstellen. Die Idee eines SPM ist dann
von Vorteil, wenn eine Client-Station an der Randzone der Funkreichweite
eines CAM liegt oder ansonsten (zum Beispiel aufgrund von Störungen) unter
schlechter Bandbreitenleistung leidet. Als Beispiel betrachte man
die Bandbreiten (das heißt
die Kommunikationsübertragungsgeschwindigkeiten)
in 12, welche der WLAN 50A Topologie von 7 entsprechen.
Diese Konfiguration beinhaltet die gleichen drahtlosen Kommunikationspfade
wie in 3 dargestellt, plus zwei neue Kommunikationspfade einschließlich eines
Kommunikationspfads 90 zwischen PCAM-Station 16 und
Station 23, und einen Kommunikationspfad 92 zwischen
PCAM-Station 22 und Station 25, wobei die Bandbreite
für jeden
Kommunikationspfad neben der Bezugsnummer des Kommunikationspfads
dargestellt ist. Zum Beispiel ist die Bandbreite von Kommunikationspfad 64 11 Megabits
pro Sekunde (Mbps), während
die Bandbreite von Kommunikationspfad 58 2 Mbps ist.
-
Wie
oben erwähnt,
stellt ein IEEE 802.11b WLAN idealerweise eine Kommunikationsbandbreite von
11 Mbps bereit, das Netzwerk reduziert jedoch automatisch die Übertragungsrate
schrittweise von 11 auf 5,5, dann auf 2 und schließlich auf
1 Mbps, um die Stabilität
zu wahren. Das bedeutet, dass Stationen, die sich in der Randzone
des Senderbereichs des CAMs befinden, oft eine reduzierte Bandbreite mit
dem CAM aufweisen, wie zum Beispiel die Stationen 20, 14 und 16 in 12.
-
Ein
stellvertretender SPM erhöht
die Leistung von Client-Stationen
in Randzonen dadurch, dass Nachrichten über den stellvertretenden SPM anstatt
direkt von einem CAM zu einer CAM-Client-Station geroutet werden.
Man sehe sich zum Beispiel den direkten Kommunikationspfad 58 zwischen CAM-Station 18 und
Station 20 an. Da Station 20 nahe der Grenze des
Senderbereichs 18C von CAM-Station 18 liegt, ist
die Bandbreite zwischen dem CAM und Station 20 beschränkt (in
diesem Fall auf nur 2 Mbps). Gleichzeitig beträgt jedoch die Bandbreite auf
jedem der Kommunikationspfade 64 und 60, die einen
Zwischenpfad zwischen CAM-Station 18 und Station 20 über Station 22 bilden,
11 Mbps. Wenn demnach Station 22 zu einem stellvertretenden
SPM ernannt würde,
könnte
sie als Zwischenstelle für
die Übermittlung
von Daten zwischen CAM-Station 18 und Station 20 benutzt
werden. Die resultierende Bandbreite zwischen diesen Endpunktstationen
würde dann
auf ungefähr
5,5 Mbps (die Hälfte
von 11 Mbps – die
tatsächliche
durchschnittliche Bandbreite wäre
eine Funktion der Nachrichtenlänge,
da jede Nachricht jetzt ungefähr
zweimal so viele Overhead-Nachrichten wie vorher benötigen würde, um
die Übermittlung
durchzuführen)
ansteigen, welches mehr als das Doppelte der vorherigen Bandbreite
von 2 Mbps ist. Somit wird durch den Einsatz eines solchen stellvertretenden
SPM die Datenzustellungsleistung des WLAN verbessert.
-
Im
vorhergehenden Fall wird CAM-Station 18 zur Durchführung von
Stationsleistung-CAM-Operationen ausgewählt, wozu das Einholen von
Bandbreitentopologien und das Bestimmen der besten Routingpfade
auf Basis der von ihr erhaltenen Bandbreitendaten gehören. Nachrichten
zwischen dem CAM und seinen Clients und PCAMs werden dann entlang
der Pfade mit den höchsten
Nettobandbreiten geroutet. Des Weiteren können stellvertretende SPM-Stationen
auf den Übertragungspfaden
zwischen CAM-Clients oder zwischen einem CAM-Client und einem PCAM
verwendet werden.
-
Es
ist zu bemerken, dass eine stellvertretende SPM-Station nicht, wie
es im vorhergehenden Beispiel der Fall ist, mit einer stellvertretenden
CAM-Station zusammenfallen muss. In der Tat kann ein WLAN, das keine
stellvertretenden CAMs aufweist, viele stellvertretende SPM-Stationen
implementieren, oder aber auch überhaupt
keine, je nach der jeweiligen Konfiguration des WLAN.
-
Eine
weitere Einsatzmöglichkeit
für einen stellvertretenden
SPM wäre
dann gegeben, wenn eine oder mehrere Computerstationen wie in 12 dargestellt,
an ein Festnetz angeschlossen sind, wobei die Desktop-Computerstation 12 über ein
Ethernet-Netzwerk 96 an einen Netzwerkserver angeschlossen
ist. (Es ist zu bemerken, dass in vielen WLAN-Konfigurationen mindestens
einer der Computer im WLAN auch an ein Festnetz angeschlossen ist).
Angenommen, Station 20 möchte Daten vom Netzwerkserver 94 abrufen.
Normalerweise würden Nachrichten
und Daten, die zwischen Station 20 und Netzwerkserver 94 laufen,
auf den Kommunikationspfaden 58 und 66 (über CAM-Station 18 als
Zwischenstelle) und Ethernet-Netzwerk 96 geroutet werden.
In diesem Fall jedoch, da Kommunikationspfad 58 eine beschränkte Bandbreite
hat, wäre
es schneller, die Daten über
Kommunikationspfade 60 und 62 zu senden, von denen
jeder eine Bandbreite von 11 Mbps aufweist. In diesem Fall kann
jede der Stationen 22 und 12 zur Durchführung der
stellvertretenden SPM-Funktion eingesetzt werden.
-
Bezugnehmend
auf das Ablaufdiagramm in 14 beginnt
eine SPM-Implementation gemäß einer
erfindungsgemäßen Ausführungsform
bei Block 550, wo die Bandbreiten zwischen jedem einmaligen Paar
von Stationen bestimmt werden, woraufhin die Bandbreitendaten bei
Block 552 gespeichert werden. Zum Beispiel könnte jede
Station eine Nachricht einer vorherbestimmten Länge an alle Stationen innerhalb
ihrer Reichweite senden, wobei der Zeitpunkt des Sendeanfangs der
Nachricht und der Zeitpunkt des vollständigen Empfangs der Rücknachricht
der gleichen Länge
aufgezeichnet wird. Die Bandbreite wäre dann das Doppelte der Länge der
Nachricht dividiert durch die Zeit zwischen der Aufzeichnung des Sendeanfangs
und der Aufzeichnung des vollständigen
Empfangs. Entsprechende Bandbreitendaten, die die Endpunktstationen
und entsprechenden Bandbreiten identifizieren, könnten dann an den CAM weitergeleitet
werden, der die Bandbreitendaten in einer Nachschlagetabelle speichern
könnte.
-
Für eine gegebene Übertragungsanforderung,
die die Endpunktstationen der Übertragung identifiziert,
würde der
SPM dann eine Gesamtbandbreite entlang jeder Kombination von direkten
Pfaden, über
die die Übertragung
geroutet werden könnte,
bei Block 554 schätzen.
Die Übertragung
würde dann
entlang der Kombination von Pfaden mit der höchsten geschätzten Gesamtbandbreite
bei Block 556 geroutet, wobei an jeder Zwischenstelle der
Route ein stellvertretender SPM eingesetzt würde. In einer Ausführungsform
würde der
SPM Routingdaten senden, die an die Übertragung (zum Beispiel in
einem Übertragungskopf)
anzuhängen
sind, die von dem/den stellvertretenden SPMs zum Routen der Nachricht
entlang der richtigen Pfade geroutet würden.
-
Beispielhaftes Computersystem,
in dem die Erfindung imlementiert werden kann
-
Bezugnehmend
auf 14 ist allgemein ein konventioneller Computer 600 dargestellt,
der zum Einsatz als CAM, PCAM und CAM-Client-Station in Verbindung
mit dem Praktizieren der vorliegenden Erfindung eingesetzt werden
kann. Zu Beispielen für Computer,
die als Client-Maschinen wie oben besprochen geeignet sind, gehören PC-Klassen-Systeme,
auf denen Windows NT oder Windows 2000 Betriebssysteme (Desktops,
Türme und
Laptops) laufen, SUN Workstations, auf denen das UNIX-basierte Solaris-Betriebssystem
läuft,
und verschiedene Computer-Architekturen, die LINUX-Betriebssysteme
verwenden. Unter Computer 600 sind außerdem verschiedene Server-Architekturen
sowie Computer mit mehreren Prozessoren zu verstehen. Ferner sind viele
der grundlegenden Komponenten von Computer 600 in anderen
Geräten
zu finden, die als Client-Stationen eingesetzt werden können, einschließlich drahtlosen
PDAs und Taschen-PCs.
-
Computer 600 beinhaltet
ein Prozessor-Chassis 602, in dem ein Diskettenlaufwerk 604, eine
Festplatte 606, eine Hauptplatine 608, die mit entsprechenden
integrierten Schaltungen einschließlich Speicher 610 und
einem oder mehreren Prozessoren (CPUs) 612 und einer Stromversorgung
(nicht dargestellt) bestückt
ist, untergebracht sind, wie es einem Fachmann auf diesem Gebiet
allgemein bekannt ist. Es versteht sich, dass Festplatte 606 aus einer
einzelnen Einheit oder aus mehreren Festplatten bestehen und wahlweise
auch außerhalb
des Computers 600 aufgestellt sein kann. Ein zugehöriger Bildschirm 614 dient
zum Darstellen von Grafiken und Text, die von Softwareprogrammen
und Programm-Modulen erzeugt werden, die auf dem Computer laufen.
Eine Maus (oder ein anderes Zeigergerät) kann an einen seriellen
Port (oder einen Busport oder USB-Port) auf der Rückseite
des Prozessor-Chassis 602 angeschlossen sein, und Signale von
der Maus 616 werden an die Hauptplatine gesendet, um einen
Cursor auf dem Display zu steuern und um Text, Menüoptionen
und grafische Komponenten auszuwählen,
die am Bildschirm 614 von Softwareprogrammen und Modulen
angezeigt werden, die auf dem Computer ausgeführt werden. Außerdem ist eine
Tastatur 618 an die Hauptplatine ge koppelt, um Text und
Befehle einzugeben, die den Ablauf der Softwareprogramme beeinflussen,
die auf dem Computer ausgeführt
werden. Computer 600 beinhaltet ferner eine drahtlose Netzwerkschnittstellenkarte (NIC) 620 oder
einen eingebauten Netzwerk-Adapter zum Anschluss des Computers an
ein drahtloses Computernetzwerk, wie ein WLAN. Für Laptops-Computer besteht die drahtlose NIC typisch
aus einer PCMCIA-Karte oder aus eingebauten Schaltungen. Computer 600 kann
auch eine drahtlose Netzwerkschnittstellenkarte zum Anschluss an
ein drahtgebundenes Netzwerk, wie ein LAN, WAN oder das Internet,
beinhalten. Des Weiteren enthält
Computer 600 typisch ein Nurlesespeicher-Kompaktplattenlaufwerk 622 (CD-ROM),
in das eine CD-ROM-Platte eingelegt werden kann, damit ausführbare Dateien
und Daten auf der Platte gelesen und in den Arbeitsspeicher und/oder
den Hauptspeicher auf der Festplatte 606 von Computer 600 übertragen
werden können. Andere
Massenspeichergeräte,
wie ein optisches Aufzeichnungsmedium oder DVD-Laufwerk können ebenfalls
enthalten sein.
-
Im
Allgemeinen können
die verschiedenen Algorithmen der oben beschriebenen Erfindung über Firmware-
und/oder Software-Module implementiert werden, die Maschinenanweisungen
zur Implementierung der Operationen jedes Algorithmus umfassen.
Zum Beispiel werden unter Microsoft Windows-Umgebungen Netzwerkbetrieb-Operationen von
einem oder mehreren Netzwerkdiensten unterstützt, wobei jeder Netzwerkdienst
(zum Beispiel TCP/IP) eine Schnittstelle mit dem Betriebssystem (OS)
und/oder einem anderen Netzwerkdienst aufweist, um Netzwerkkommunikationen
zwischen Computer 600 und einem anderen Computer im Netzwerk
zu ermöglichen.
Unter UNIX- und LINUX-Umgebungen sind ähnliche Operationen/Schnittstellen
von einem oder mehreren Dämonen
vorgesehen. Typisch ist auch ein drahtloser NIC-Treiber mit einem
Satz von Maschinenanweisungen vorgesehen, die nach Laden und Ausführen durch
den Prozessor eine spezifische Schnittstelle zwischen der drahtlosen
NIC und dem OS- und/oder OS-Netzwerkdienst
bereitstellen. Im Allgemeinen umfasst der drahtlose NIC-Treiber
ein software-ladbares Modul und/oder Firmware-Anweisungen, die in einer
Option ROM 624 auf der drahtlosen NIC enthalten sind. Typisch
ist das software-ladbare Modul auf Disketten oder CD-ROMs (oder
anderen Speichermedien) erhältlich
und wird auf der Festplatte gespeichert, bis es in das RAM (Direktzugriffsspeicher)
zur Ausführung
durch die CPU geladen wird. Wahlweise können alle oder ein Teil der
Maschinenanweisungen über
ein Computernetzwerk als Trägerwelle
geladen werden.
-
Obwohl
die vorliegende Erfindung in Verbindung mit einer bevorzugten Ausführungsform
und daran vorgenommenen Modifikationen beschrieben wurde, wird ein
Fachmann erkennen, dass viele andere Modifikationen an der Erfindung
innerhalb ihres durch die Ansprüche
definierten Geltungsbereichs vorgenommen werden können.