-
Die
Erfindung bezieht sich auf ein Verfahren zum Betreiben einer Vorrichtung
in einem drahtlosen Kurzstrecken-Kommunikationssystem.
Die Erfindung bezieht sich auch auf eine Vorrichtung, die in einem System
betreibbar ist, das eine drahtlose Kurzstreckenkommunikation implementiert.
-
Drahtlose
Vorrichtungen, die innerhalb einer gewissen Betriebsnähe übertragen,
können Übertragungskollisionen
erfahren, wenn die Übertragungen jeder
Vorrichtung zu ungefähr
derselben Zeit und auf demselben Kanal gesendet werden. Die sich
ergebenden Kollisionen sind für
die Empfangsvorrichtungen unverständlich und tragen zu einem
uneffizienten Leistungsverbrauch in der Sendevorrichtung bei. Die
Implementierung eines Trägererfassungs-Mehrfachzugriffs
mit Kollisionsdetektion (CSMA/CD) oder Kollisionsvermeidung (CSMA/CA)
bezieht zwei Verfahren der Adressierung von Übertragungszeitgebungspunkten
ein. In den Implementierungen der Trägererfassung verbunden mit
CSMA/CD und CSMA/CA kann die Erfolgsrate der Detektion anderer Vorrichtungen
innerhalb eines vorbestimmten Sende-/Empfangsbereichs verbessert
werden. Zusätzlich
sind die Verbindungs-/Aufbauzeiten der Vorrichtung, die mit Vorrichtungen
verbunden ist, die diese Protokolle implementieren, nicht ideal.
-
Die
WO-A-02/073893 beschreibt ein Bluetooth-System, das Vorrichtungen
umfasst, die in verschiedene Vorrichtungsklassen fallen.
-
Die
EP-A-1,193,951 beschreibt die Auswahl eines bedienenden Netzwerkelements
in einem Telekommunikationsnetzwerk, wobei das Netzwerk WLAN verwenden
kann.
-
Die
EP-A-1,113,690 beschreibt das Überwachen
von Datenverkehr, wobei das Zeitintervall einer Anfragenabtastung
von der Menge des Verkehrs abhängt.
-
Die
vorliegende Erfindung ist auf eine Vorrichtung und ein Verfahren
für das
Implementieren eines drahtlosen Kurzbereichs-Kommunikationssystems
gerichtet.
-
Gemäß einem
ersten Aspekt der Erfindung wird eine Vorrichtung, wie sie in Anspruch
20 beansprucht ist, geliefert.
-
Gemäß einem
zweiten Aspekt der vorliegenden Erfindung wird ein Verfahren zum
Betreiben einer Vorrichtung in einem drahtlosen Kommunikationssystem,
wie es in Anspruch 1 beansprucht ist, bereit gestellt.
-
Ein
beispielhaftes Verfahren für
das Implementieren eines drahtlosen Kurzbereichs-Kommunikationssystems
umfasst das Durchführen
einer Trägererfassung
auf einem Kanal, wobei die Trägererfassung
einen zufälligen,
im Mittel null ergebenden Versatz einbezieht.
-
Ein
beispielhaftes Verfahren für
eine drahtlose Kurzbereichs-Vorrichtung,
um auf einer Kommunikationsverbindung zu kommunizieren, umfasst
nach dem Errichten einer Kommunikationsverbindung auf einem Initialisierungskanal,
das Abstimmen von einem Initialisierungskanal auf einen Unicast-Kanal. Ein anderer
Aspekt der Verfahrens umfasst das Wiedererrichten der Kommunikationsverbindung
auf dem Initialisierungskanal im Falle eines Datenübertragungsfehlers
im ersten Paket auf dem Unicast-Kanal. Das Wiedererrichten der Kommunikationsverbindung
umfasst das Auswählen
einer Zufallszahl aus einem anfänglichen
Bereich von Werten, wobei die Zufallszahl einer Zahl von Wartezeitperioden
entspricht, die eine Empfangsvorrichtung warten wird, bevor sie
einen Wiederaufbau einer Verbindung versucht. Nachdem ein Wert ausgewählt ist,
umfasst das Verfahren das Warten für eine Zeitdauer, die gleich
ist der Anzahl der Wartezeitperioden ist. Das Verfahren handhabt
den Fall, bei dem die Empfangsvorrichtung nach dem Warten für die Zeitdauer
eine erwartete Übertragung
nicht empfängt,
und erhöht entsprechend
eine obere Schranke des anfänglichen Bereichs.
-
Um
somit mögliche
Kollisionen zu vermeiden und Leistung zu sparen, wird eine optimierte
Version des Trägererfassungs-Mehrfachzugriffs
mit Kollisionsvermeidung geliefert. Insbesondere wird in einer Ausführungsform
ein zufälliger,
im Mittel null ergebender Versatz an den Start der Trägererfassung
zu Beginn eines Übertragungsrahmens
angefügt,
um die Wahrscheinlichkeit zu erhöhen,
dass Sender innerhalb eines Sendebereichs einander überlappende Sendungen
erkennen werden und ihre Übertragungsrahmen
verschieben, um Kollisionen zu vermeiden. Die Sender erhöhen dadurch
ihre Übertragungserfolgsrate
und reduzieren die Verbindungsaufbauzeit.
-
Andere
und weitere Aspekte der vorliegenden Erfindung werden aus der folgenden
Beschreibung und unter Bezug auf die angefügten Zeichnungen deutlich werden.
-
1 ist
ein Blockdiagramm, das eine leistungssparende Dienstankündigungsvorrichtung,
die eine Kurzbereichs-Kommunikationsverbindung
mit einer Initiatorvorrichtung niedriger Rate errichtet, zeigt;
-
2 zeigt
zwei beispielhafte Nachrichtenpakete für die Verwendung in einer Ausführungsform der
vorliegenden Erfindung;
-
3A zeigt
ein beispielhaftes Betriebsfrequenzspektrum für eine Implementierung einer
Ausführungsform
der vorliegenden Erfindung;
-
3B ist
eine Tabelle, die eine beispielhafte Zuweisung von Betriebskanälen für die Verwendung
in einer Ausführungsform
der vorliegenden Erfindung zeigt;
-
4 ist
eine Tabelle, die eine beispielhafte Beziehung zwischen der Übertragungsleistung
der leistungssparenden Vorrichtung und dem Übertragungsintervall für eine Ausführungsform
der vorliegenden Erfindung zeigt;
-
5 ist
ein beispielhaftes Betriebsdiagramm einer Ausführungsform der vorliegenden
Erfindung;
-
6A zeigt
eine beispielhafte Betriebstopologie für eine leistungssparende, alleinoperierende Vorrichtung;
-
6B zeigt
eine beispielhafte Betriebstopologie für eine leistungssparende Doppelmodusvorrichtung;
-
7A zeigt
eine beispielhafte Verwendung eines zufälligen, im Mittel null ergebenden
Versatzes bei der Trägererfassung,
wenn eine erste Vorrichtung durch eine zweite Vorrichtung in einer
Ausführungsform
der vorliegenden Erfindung detektiert wird;
-
7B zeigt
eine beispielhafte Verwendung eines zufälligen, im Mittel null ergebenden
Versatzes bei der Trägererfassung,
wenn eine erste Vorrichtung eine zweite Vorrichtung in einer anderen
Ausführungsform
der vorliegenden Erfindung detektiert;
-
8 zeigt
eine beispielhafte Verwendung eines zufälligen, im Mittel null ergebenden
Versatzes bei der Trägererfassung,
bei der einer erste Vorrichtung durch eine zweite Vorrichtung detektiert
wird, die wiederum andere Initialisierungskanäle zyklisch durchläuft;
-
9 zeigt
eine beispielhafte Verwendung eines zufälligen, im Mittel null ergebenden
Versatzes bei der Trägererfassung,
bei der eine erste Vorrichtung durch eine zweite Vorrichtung detektiert
wird, die wiederum in einen kontinuierlichen Abtastmodus eintritt;
und
-
10 ist
ein Flussdiagramm, das ein beispielhaftes Verfahren zeigt, mit dem
eine Kollisionshandhabung gemäß einer
Ausführungsform
der vorliegenden Erfindung durchgeführt werden kann.
-
In
der folgenden Beschreibungen der verschiedenen Ausführungsformen
wird Bezug genommen auf die begleitenden Zeichnungen, die einen
Teil von ihr bilden, und in der illustrierend verschiedene Ausführungsformen
gezeigt sind, in denen die Erfindung verwirklicht werden kann. Es
ist zu verstehen, dass andere Ausführungsformen verwendet werden können und
dass strukturelle und funktionale Modifikationen vorgenommen werden
können,
ohne vom Umfang der vorliegenden Erfindung abzuweichen.
-
ÜBERBLICK
-
Die
Ausführungsformen
sind auf ein leistungssparendes Protokoll (LowRate protocol) gerichtet
und auf Verfahren und Systeme für
das Vorsehen eines geringen Leistungsverbrauchs mit optimierter Kollisionsvermeidung
für ein
drahtloses Kurzstrecken-Kommunikationssystem, das eine Kommunikation
zwischen Dienstankündigungsvorrichtungen
und Initiatorvorrichtungen ermöglicht.
Das Leistungssparen (LowRate) bezieht sich im Vergleich zu einer
typischen Bluetooth-Vorrichtung auf niedrige Leistungsverbrauchsparameter,
die mit Vorrichtungen verbunden sind, die das leistungssparende
Protokoll implementieren. 1 ist eine
beispielhafte Ausführungsform
der vorliegenden Erfindung, bei der ein oder mehrere einer Vielzahl
von leistungssparenden Initiatorvorrichtungen 110 eine
Kommunikationsverbindung mit einer leistungssparenden Dienstankündigungsvorrichtung 120 errichten.
Der Dienstankündiger 120 kann
beispielsweise eine Bannerwerbung sein, die auf öffentlichen Rundfunkwerbungen
angebracht sind, die die Initiatorvorrichtungen 110 innerhalb
eines gegebenen Abdeckungsgebiets über die Verfügbarkeit
zusätzlicher
Daten oder angekündigter Dienste
informieren. Ein erster Dienstankündiger 120a beginnt
die Übertragung
auf einem primären
Initialisierungskanal. Wenn ein anderer Dienstankündiger 120b schon
auf dem primären
Initialisierungskanal überträgt, wie
das vom ersten Dienstankündiger 120a durch
eine Trägererfassung
bestimmt wird, wird der zweite Dienstankündiger 120b eine vorbestimmte
Anzahl von Übertragungswiederholungsversuchen nach
einer Verzögerung
zwischen den Versuchen ausführen.
Wenn nach der vorbestimmten Anzahl von Wiederholungsversuchen bestimmt
wird, dass der primäre
Initialisierungskanal noch belegt ist, können Übertragungswiederholungsversuche
mit der Trägererfassung
auf einem anderen Kanal ausgeführt
werden. Um die Wahrscheinlichkeit zu erhöhen, dass ein erster Dienstankündiger 120a,
der die Trägererfassung
verwendet, erkennen wird, dass ein zweiter Dienstankündiger 120b gleichzeitig
auf dem Initialisierungskanal überträgt, wird
der erste Dienstankündiger 120a eine
zufällige,
im Mittel null ergebende Versatzzeit an den Start des Trägererfassungsmodus
in einem Übertragungsrahmen
anhängen.
Der Versatz ermöglicht
Vorrichtungen mit ähnlichen Übertragungsrahmen
ihre Trägererfassung
zu verschieben, um die Wahrscheinlichkeit zu erhöhen, dass ein erster Dienstankündiger 120a eine
Trägererfassung
durchführt,
während
ein zweiter Dienstankündiger 120b auf
einem Initialisierungskanal überträgt. Die
Grenzen der Werteverteilung der zufälligen mittleren Versatzzeit
werden gemäß den Systemeigenschaften
optimiert. Während
der Versatzwert von null erhöht
wird, nimmt die Wahrscheinlichkeit der Detektion anderer Vorrichtungen
zu. Das Erhöhen des
Versatzwertes auf eine Größe, die
größer als
die Sende-/Empfangs-Umschaltperiode ist, erniedrigt jedoch die Systemkapazität. Somit
ist die Sende-/Empfangs-Umschaltzeit
der optimale maximale Zeitwert für
den zufälligen
mittleren Versatz (7A, 7B, 8 und 9).
Wenn die Trägererfassung
bestimmt, dass ein zweiter Dienstankündiger 120b schon
auf einem Initialisierungskanal überträgt, wird der
Kanal als BESETZT bezeichnet, und der erste Dienstankündiger 120a wird
einen vorbestimmten Schritt oder eine Anzahl von Schritten ausführen, wie das
weiter in den 7A, 7B, 8 und 9 beschrieben
ist, um eine Trägererfassung
erneut zu versuchen oder durch andere Initialisierungskanäle zu laufen,
auf der Suche nach einem Kanal, auf dem übertragen werden kann. Ansonsten
wird, wenn die Trägererfassung
bestimmt, dass kein Dienstankündiger 120 auf
dem Initialisierungskanal überträgt, der Kanal
als FREI bezeichnet, und die Übertragung
der Dienstankündigungen
kann beginnen.
-
Die
oben erwähnten
leistungssparenden Initiatorvorrichtungen 110 können drahtlose
Vorrichtungen, wie persönliche
digitale Assistenten (PDA), Mobiltelefone, Laptopcomputer oder dergleichen
sein. Eine Initiatorvorrichtung 110 empfängt die übertragenen
Dienstankündigungen
und bestimmt auf der Basis einer Benutzereingabe, die zusätzliche
Dienste oder Daten vom Dienstankündiger 120 anfordert,
ob auf sie geantwortet oder nicht geantwortet werden soll. Somit
ist die Initiatorvorrichtung 110 für das Initiieren einer Anforderung
nach zusätzlichen
Diensten oder Daten auf einem gegebenen Unicast-Kanal mit dem Dienstankündiger 120 verantwortlich.
Verschiedene Aspekte der vorliegenden Erfindung werden nun detaillierter
beschrieben.
-
DETAILLIERTE
BESCHREIBUNG DER VORRICHTUNGSSTRUKTUR
-
Wie
im Überblicksabschnitt
diskutiert ist, sind in 1 zwei Dienstankündiger 120 zusammen
mit einer Vielzahl von Initiatorvorrichtungen 110 gezeigt. Jeder
Dienstankündiger 120 kann
eine aktive, drahtlose Kurzstreckenverbindung mit einer oder mehreren
Initiatorvorrichtungen 110 errichten. Die gestrichelten
Kreise 130, die in 1 gezeigt
sind, stellen Übertragungen
eines Dienstankündigers 120 dar,
wie er seine Fähigkeit
ankündigt,
weitere Daten oder einen Dienst, der sich auf ein spezielles Subjekt
bezieht, zu liefern. Der Dienstankündiger 120 kann verschiedene
Typen von Nachrichtenpaketen für
den Empfang durch die Initiatorvorrichtungen 110 übertragen.
-
2 zeigt
zwei beispielhafte Nachrichtenpakete für die Verwendung in einer Ausführungsform der
vorliegenden Erfindung. Die zwei Nachrichtenpakete in 2 sind
eine Identifikationsnachricht (Paket) 200 und eine allgemeine
Datennachricht (Paket) 205, wie das später im Detail beschrieben wird.
Die Identifikationsnachricht 200 umfasst eine 16-Bit Vorspann 210,
ein 26-Bit Synchronisationswort 215a und einen Abschnitt 220,
der für
den Kopfabschnitt, die Nutzdaten und Daten einer starken zyklischen Redundanzprüfung (strong
cyclic redundancy check) vorgesehen ist. Die Identifikationsnachricht
umfasst auch die Adresse der Vorrichtung, die die Nachricht überträgt. In einer
Ausführungsform
verwenden die Dienstankündiger 120 die
Identifikationsnachricht 200, um die Verfügbarkeit
zusätzlicher
Daten und Dienste den Initiatorvorrichtungen 110 anzukündigen.
Eine Initiatorvorrichtung 110 wird durch das Übertragen
einer Identifikationsantwortnachricht antworten, die den Unicast-Datentransfer
und den Dienstanbieterkanal („Unicastkanal"), den sie für den Datentransfer
bestimmt hat, spezifiziert. Die Übertragung
dieser Nachrichten während
des Betriebs ist in 5 weiter detailliert angegeben.
Nach dem Empfang der Antwort nimmt der Dienstankündiger 120 eine Verschiebung
zum Unicast-Kanal vor, der in der Identifikationsantwortnachricht
durch die Initiatorvorrichtung 110 spezifiziert ist. Der
Dienstankündiger 120 liefert
die zusätzlichen
Daten oder Dienste auf dem Unicast-Kanal unter Verwendung des allgemeinen
Datennachrichtenpakets 205, das in 2 gezeigt
ist. Die allgemeine Datennachricht 205 umfasst denselben
16-Bit Vorspann 210 wie die Identifikationsnachricht 200 aber
sie verendet ein 13-Bit Identifikationswort 215b statt
einem 26 Bit Synchronisationswort 215a. Ein Kopfabschnitt,
Nutzdaten und die starke zyklische Redundanzprüfung 220 sind auch
in der allgemeinen Datennachricht eingeschlossen.
-
Der
16-Bit Vorspann und der Unterschied bei den Längen des Synchronisationswortes
in leistungssparenden Nachrichtenpaketformaten zeigen die Gestaltungskompromisse
zwischen den Netzwerkdurchsatz und der Komplexität/dem Leistungsverbrauch der
Vorrichtung. Das Standard-Bluetooth-1.1.-Paketformat verwendet eine 4-Bit
Vorspann, der für
eine effizientere Netzwerkleistung in Hinblick auf die Übertragung
spezieller Daten, wie von Sprache oder einem laufenden Video, optimiert wurde.
Um den übertragenen
Vorspannwert bei einer Bluetooth-Implementierung aufzulösen, ist
es notwendig, eine ziemlich fortgeschrittene, digitale Schätzvorrichtung
zu verwenden, wodurch die Komplexität und der Leistungsverbrauch,
die mit den Bluetooth-Vorrichtungen verbunden sind, erhöht wird.
Im Gegensatz dazu verwendet eine leistungssparende Vorrichtung einen
16 Bit Vorspann 210, der unter Verwendung einer analogen
DC-Schätzvorrichtung,
die weniger Leistung verbraucht, aufgelöst werden kann. Die Initiatorvorrichtung 110 verwendet
den Vorspann 210, um eine Frequenzsynchronisation, eine
Symbolzeitsteuerungsschätzung
und ein Training der automatischen Verstärkungssteuerung (AGC) durchzuführen.
-
Das
13 Bit Synchronisationswort 215b der allgemeinen Datennachricht
und das 26 Bit Synchronisationswort der Identifikationsnachricht
werden unter Verwendung eines oder zweier aufeinanderfolgender 13
Bit Barkerkodes implementiert. Im 26-Bit Synchronisationswort 215a ist
der zweite Barkerkode die Inverse des ersten Barkerkodes. Die Differenz
in den Synchronisationsworten reflektiert die unterschiedlichen
Zwecke, für
die jedes verwendet wird. Das längere
Synchronisationswort 215a der Identifikationsnachricht 200 minimiert
die Wahrscheinlichkeit einer falschen Synchronisation, bei der ein
zufälliges
Rauschen durch das System in nicht korrekter Weise als ein Synchronisationswort
identifiziert wird. Da das Synchronisationswort 215b, das
in der allgemeinen Datennachricht 205 verwendet wird, für eine Synchronisation
von Vorrichtung zu Vorrichtung verwendet wird, kann die Länge des
Synchronisationswortes 215b kürzer sein. Die starke zyklische
Redundanzprüfung
liefert auch ein Verfahren des Stoppens einer falschen Synchronisationsanpassung,
wie das später
weiter unten detaillierter diskutiert werden wird.
-
Wie
in 3A gezeigt ist, findet in einer Ausführungsform
der vorliegenden Erfindung die Übertragung
der leistungssparenden Protokollnachricht auf einem ähnlichen
Betriebsfrequenzband wie bei aktuellen Bluetooth-Systemen statt.
Die Spezifikation Bluetooth 1.1 definiert die Verwendung von Funkfrequenzkanälen im Band
von 2400–2483,5
MHz, bei dem die Mittenfrequenzen im Bereich von 2402 + k·1 MHz
liegen, wobei k = 0...78,310. In der in 3A gezeigten
Ausführungsform
ist der Bereich der leistungssparenden Protokollbetriebsfrequenz
von 2403 MHz bis 2481 MHz in siebenundzwanzig Kanäle aufgeteilt,
wobei jeder Kanal eine Breite von 3 MHz aufweist. Die Implementierung
des leistungssparenden Protokolls bei diesen Betriebsfrequenzen
ermöglicht es,
dass das leistungssparende Protokoll in eine Vorrichtung eingefügt werden
kann, die auch die Fähigkeit
für ein
existierendes Bluetooth-System aufweist.
-
3B ist
eine Tabelle, die eine beispielhafte Zuweisung von Betriebskanälen in einer
Ausführungsform
der Erfindung zeigt. In der in 3B gezeigten
Ausführungsform
sind die leistungssparenden Protokollkanäle in Initialisierungskanäle und Unicast-Kanäle aufgeteilt.
Ein Initialisierungskanal wird verwendet, um die Identifikationsnachrichten 200 zu übertragen
und um den anfänglichen
Kontakt zwischen den Dienstankündigern 120 und
den Initiatorvorrichtungen 110 durchzuführen. Im Gegensatz dazu wird
ein Unicast-Kanal verwendet, um allgemeine Datennachrichten 205 zu übertragen,
die Information, wie zusätzliche
Daten oder Dienste, die von der Initiatorvorrichtung 110 angefordert
werden, enthalten, oder alternativ die Antwort der Initiatorvorrichtung 110 auf
den Empfang solcher zusätzlicher
Daten oder Dienste. Gemäß einer
Ausführungsform
der vorliegenden Erfindung kann eine leistungssparende Vorrichtung – entweder
ein Dienstankündiger 120 oder
eine Initiatorvorrichtung 110 – die Frequenzkanäle verwenden,
die in 3B aufgeführt sind, um eine Identifikation
oder allgemeine Datennachrichten zu übertragen.
-
Zwei
der Vorteile, die durch das Verwenden dieser Betriebsfrequenzen
erzielt werden, beziehen sich auf eine reduzierte Interferenz auf
den Initialisierungskanälen.
Die äußersten
Kanäle,
die durch die leistungssparenden Vorrichtungen verwendet werden,
sind bei 2403 MHz und 2481 MHz angeordnet, 340. Diese Kanäle befinden
sich nahe dem Minimum des Leistungsspektrums, das für IEEE 802.11b WLAN-Übertragungen 320, 330 verwendet
wird. Somit wird die Interferenz mit leistungssparenden Übertragungen,
verursacht durch IEEE 802.11b WLAN-Übertragungen, minimiert. Ein
zweiter Vorteil bezieht sich auf den primären Initialisierungskanal. Wie
hier nachfolgend diskutiert werden wird, kann mehr als ein Kanal
als Initialisierungskanal festgelegt werden, und einer aus dieser
Vielzahl kann ein Standard- oder primärer Initialisierungskanal sein.
In der in 3B dargestellten Ausführungsform
wird der Kanal 345 mit 2481 MHz als primärer Initialisierungskanal
ausgewählt,
der für
das Übertragen
von Dienstankündigungen
verwendet wird, um jede Gleichkanalinterferenz zwischen ihm und
irgend einem der Bluetooth-Kanäle
zu vermeiden.
-
Wie
weiter in 3B gezeigt ist, werden drei Kanäle, einer
am unteren Ende, einer am oberen Ende und einer in der Mitte des
Betriebsspektrums als Initialisierungskanäle festgelegt. Zusätzlich zum oben
diskutierten primären
Initialisierungskanal 350 werden sekundäre und tertiäre Initialisierungskanäle bei 2403
MHz beziehungsweise 2451 MHz, 360 als alternative Initialisierungskanäle für die Verwendung in
dem Fall ausgewählt,
dass die Trägererfassung bestimmt,
dass der primäre
Initialisierungskanal BELEGT ist.
-
Insbesondere
wird nach dem Festlegen des primären
Initialisierungskanal am oberen Ende des Betriebsspektrums (2481
MHz) der sekundäre
Initialisierungskanal am unteren Ende des Betriebsspektrums (2403
MHz) festgelegt. Der tertiäre
Initialisierungskanal wird dann bei 2451 MHz in der Mitte des Betriebsspektrums
ausgewählt,
um die Initialisierungskanäle
so viel wie möglich
zu trennen und um eine leistungssparende Gleichkanalinterferenz
unter leistungssparenden Vorrichtungen und eine Interferenz von
anderen Vorrichtungen, die im globalen, nicht lizenzierten industriellen,
wissenschaftlichen und medizinischen Band (ISM) bei 2400–2483,5
MHz arbeiten, zu vermeiden. Wie weiter in 3B dargestellt
ist, werden die anderen vierundzwanzig Betriebskanäle als Unicast-Kanäle festgelegt
und beim Übertragen
der oben beschriebenen allgemeinen Datenpakete beim Erfüllen der
Anforderung einer Initiatorvorrichtung 110 nach zusätzlichen
Daten oder Diensten verwendet. Eine detaillierte Beschreibung des
Kanalbetriebs gemäß der vorliegenden
Erfindung wird unten in Verbindung mit 5 diskutiert.
-
4 ist
eine Tabelle, die eine beispielhafte Beziehung zwischen der Übertragungsleistung
der leistungssparenden Vorrichtung und dem Übertragungsrahmenintervall
(das ist die Zeit zwischen Übertragungsrahmen)
für Dienstankündigungsübertragungsrahmen
in einer Ausführungsform
der vorliegenden Erfindung zeigt. Wie in der Zeile 400 gezeigt ist,
so kann, wenn eine Übertragungsleistung
eines Dienstankündigers 120 kleiner
als –27
dBm ist, der Bereich der Übertragungsrahmenintervalle
sich von 50 Millisekunden bis 2 Sekunden erstrecken. Alternativ
kann sich, wie das in Zeile 410 gezeigt ist, wenn die Übertragungsleistung über –27 dBm
liegt oder wenn die Medienzugangssteuerschicht der Datenverbindungsschicht
die Übertragungsleitung
der Vorrichtung nicht kennt, der Bereich der Übertragungsrahmenintervalle
von 200 Millisekunden bis 2 Sekunden erstrecken.
-
Das Übertragungsrahmenintervall,
das als ein anwendungsspezifischer Kompromiss zwischen Leistungsverbrauch
und Verbindungsgeschwindigkeit angesehen wird, kann in nicht einschränkender Weise
jedes Vielfache der minimalen Übertragungsperiode
sein. Kleinere Wartezeiten zwischen den Übertragungen der Vorrichtungen
gehen in kürzere Verbindungsaufbauzeiten über. Wenn
andererseits die Dienstankündigungen
häufiger
gesendet werden, nimmt auch das Energieniveau, das für die zusätzlichen Übertragungen
verbraucht wird, zu. Zusätzlich kann
die Medienzugangssteuerschicht der Datenverbindungssteuerschicht
einen vorbestimmten Hysteresewert, beispielsweise +/– 0,5 ms,
zur Übertragungsperiode
addieren, um die Erholungszeit (recovery time) von überlappenden
Dienstankündigungen zu
beschleunigen.
-
DETAILLIERTE
BESCHREIBUNG DES BETRIEBS
-
Eines
der Gestaltungsziele des leistungssparenden Protokolls bezieht das
Erzielen einer Implementierung mit einem sehr niedrigen Niveau des Leistungsverbrauchs
während
der Trägererfassung im
Verglich zu typischen Niveaus des Bluetooth-Leistungsverbrauchs
ein. Die Trägererfassung
umfasst das Messen der Empfangssignalstärkeanzeige (Received Signal
Strength Indication, RSSI) auf einem Initialisierungskanal über ein
Zeitintervall (beispielsweise 30 μs).
Der gemessene Wert der RSSI wird dann mit einem vorbestimmten Schwellwert
verglichen, um zu bestimmen, ob der Initialisierungskanal FREI ist
(das heißt,
der gemessene Wert liegt unterhalb des Schwellwerts und somit kann
der Dienstankündiger 120 übertragen);
oder ob der Kanal BELEGT ist (das heißt, der gemessene Wert liegt
oberhalb des Schwellwerts und somit kann der Dienstankündiger 120 nicht übertragen).
Der vorbestimmte Schwellwert kann ein Wert kleiner oder gleich einer RSSI
sein, die mit Übertragungen
des Dienstankündigers
interferieren würde
(beispielsweise –60
dBm). Die Bezeichnung BELEGT zeigt an, dass wenn ein Dienstankündiger dabei
ist, zu übertragen,
die Übertragungen
eine Interferenz anderer Energie auf dem Kanal erfahren würden.
-
Wie
hier später
im Detail diskutiert werden wird, wird das niedrige Niveau des Leistungsverbrauchs
des leistungssparenden Protokolls erzielt durch die Verwendung periodischer Übertragungsrahmen
des Dienstankündigers 120,
die mit einem zufälligen,
im Mittel null ergebenden Versatz, der an den Start der Trägererfassung
angefügt
wird, optimiert sind. Das Durchführen
der Trägererfassung
mit einem zufälligen,
im Mittel null ergebenden Versatz hilft bei der Vermeidung von Übertragungskollisionen,
um somit das Niveau der Leistung, die während periodischen Übertragungen
verbraucht wird, zu erniedrigen. Der im Mittel null ergebende Versatz
ermöglicht
es Dienstankündigern 120,
die sich dicht an anderen befinden (beispielsweise die Distanz,
in der Übertragungen
eines Dienstankündigers 120 mit Übertragungen
eines anderen Dienstankündigers 120 interferieren
könnten), Übertragungsrahmen
einzustellen, um die Wahrscheinlichkeit zu erhöhen, dass die Trägererfassung
eine Übertragung
auf einem Initialisierungskanal detektiert und somit Kollisionen
vermeidet.
-
Die
Trägererfassungsversatzwerte
werden weiter unten in Verbindung mit 7A, 7B, 8 und 9 diskutiert.
-
5 ist
ein beispielhaftes Betriebsdiagramm einer Ausführungsform der vorliegenden
Erfindung, bei dem ein Dienstankündiger 120 versucht, Dienste
oder Information einer Initiatorvorrichtung 110 anzukündigen,
indem er Identifikationsnachrichten während periodischer Übertragungsrahmen
aussendet. In einer Ausführungsform
umfasst ein Übertragungsrahmen
einen Satz von fünf
oder sechs verschiedenen Moden, die ein Dienstankündiger 120 durchlaufen
wird, wie das im Detail in Verbindung mit 7A diskutiert
werden wird. Wie in 5 gezeigt ist, führt der
Dienstankündiger 120 eine
Trägererfassung
auf dem primären Initialisierungskanal
durch, und wenn der Kanal FREI ist, wechselt er vom Trägererfassungsmodus
in einen Übertragungsmodus
des Übertragungsrahmens.
(515) Während
des Übertragungsmodus überträgt der Dienstankündiger 120 eine
Identifikationsnachricht („ID_INFO") auf dem primären Initialisierungskanal.
(520) Nach dem Übertragen
der ID_INFO-Nachricht
geht der Dienstankündiger 120 vom Übertragungsmodus
in einem Empfangsmodus des Übertragungsrahmens.
(530) Während
des Empfangsmodus hört
der Dienstankündiger 120 den
Initialisierungskanal nach einer Antwort von einer Initiatorvorrichtung 110 ab.
Wenn keine Antwort empfangen wird, schaltet der Dienstankündiger 120 in
einen Ruhemodus des Übertragungsrahmens,
um somit Leistung für
den Rest des Übertragungsrahmens
zu sparen. (535) Der Dienstankündiger 120 sendet Übertragungsrahmen
wiederholt gemäß einer anwendungsspezifischen Übertragungsperiode,
wie einem der Intervalle, die in 4 angegeben
sind.
-
In ähnlicher
Weise kann, um ein niedriges Niveau des Leistungsverbrauchs zu erzielen,
wenn der Benutzer einer Initiatorvorrichtung 110 keine Dienstankündigungen
zu empfangen wünscht,
der Benutzer die Option haben, die Initiatorvorrichtung 110 in
einem Ruhemodus zu platzieren. (521) Somit ignoriert die
Initiatorvorrichtung 110, wenn sie sich in einem Ruhemodus
befindet, Dienstankündigungen von
den Dienstankündigern 120.
Der Benutzer würde dann
die Initiatorvorrichtung 110 aktivieren, um Dienstankündigungen
zu empfangen. (522) Nach der Aktivierung tritt die Initiatorvorrichtung 110 in
einen Abhörmodus
auf dem primären
Initialisierungskanal, bei dem sie diesen Kanal nach Dienstankündigungen abhört. (525)
Alternativ kann in anderen Ausführungsformen
oder in Ausführungsformen,
bei denen der Leistungsverbrauch ein geringeres Gestaltungsziel
ist, die Initiatorvorrichtung 110 sich in einem „immer
angeschalteten" Abhörmodus befinden,
bei dem sie einen Initialisierungskanal immer nach Dienstankündigungen
abtastet.
-
Wie
weiter in 5 gezeigt ist, wartet der Dienstankündiger 120,
wenn er in den Ruhemodus eingetreten ist, auf den Start eines neuen Übertragungsrahmens,
wobei er zu dieser Zeit aus dem Ruhemodus auftaucht, um wieder eine
Trägererfassung auf
dem primären
Initialisierungskanal durchzuführen.
(540) Wenn der Initialisierungskanal während der Trägererfassung
BELEGT ist 540, wiederholt der Dienstankündiger 120 die
Trägererfassung
eine vorbestimmte Anzahl von Malen nach einer Verzögerung (beispielsweise
1 ms), um die Verbindungszeit mit einer Initiatorvorrichtung 110 voran
zu treiben. Wenn weiter der Dienstankündiger 120 eine Trägererfassung
eine vorbestimmte Anzahl von Malen durchführt und seine ID_INFO-Nachricht
nicht übertragen
kann 545, kann er eine Trägererfassung auf einem anderen
Initialisierungskanal versuchen.
-
In
der beispielhaften in 5 gezeigten Ausführungsform überträgt der Dienstankündiger 120, nachdem
er bestimmt hat, dass der primäre
Initialisierungskanal FREI ist, eine ID_INFO-Nachricht, um die Verfügbarkeit
gewisser Daten und Dienste anzukündigen.
(545) Die Initiatorvorrichtung 110, die durch
den Benutzer aktiviert wurde, empfängt die ID_INFO-Nachricht vom Dienstankündiger 120.
Auf den Empfang hin verarbeitet die Initiatorvorrichtung 110 die
Nachricht und gibt die angekündigten
Daten oder Dienste durch eine Benutzerschnittstelle, wie eine Anzeige,
an den Benutzer. Wenn der Benutzer keine zusätzliche Information vom Dienstankündiger 120 anfordert,
wird die Initiatorvorrichtung 110 entweder in einen Ruhemodus
zurück
kehren oder aktiv bleiben, um auf andere Dienstankündigungen
zu horchen. Wenn jedoch der Benutzer zusätzliche Information, die die
Dienste oder Daten, die angekündigt wurden,
betrifft, wünscht,
so überträgt die Initiatorvorrichtung 110 eine
Antwortnachricht („ID-INFO_RESP") an den Dienstankündiger 120 auf dem
Initialisierungskanal. (550, 555, 560)
Die ID_INFO_RESP-Nachricht
umfasst den Wert „X" eines Unicast-Kanals,
der von der Initiatorvorrichtung 110 für den Datenempfang ausgewählt wurde.
-
Der
Dienstankündiger 120 wird
dann die angeforderten Daten an die Initiatorvorrichtung 110 über den
spezifizierten Unicast-Kanal
auf der Basis eines Abrufschemas übertragen. (570) Das
Verfahren des Abrufens umfasst im allgemeinen eine erste Vorrichtung,
die periodisch eine Nachricht auf einem Kanal immer wieder überträgt, bis
sie eine Antwort von einer zweiten Vorrichtung empfängt.
-
Nach
der Abstimmung auf den Unicast-Kanal X überträgt der Dienstankündiger 120 periodisch eine
DATA_PDU-Nachricht an die Initiatorvorrichtung 110, bis
er eine Antwort empfängt,
oder bis eine für die
Anwendungsvorrichtung spezifische Zeit abläuft, während er auf eine Antwort wartet.
(570, 575) Die DATA_PDU-Nachricht enthält die Daten,
die sich auf die Ankündigungen
auf dem Initialisierungskanal beziehen. Nach einer Abstimmung auf
den Kanal X empfängt
die Initiatorvorrichtung 110 die DATA_PDU-Nachricht (580)
und überträgt eine
BESTÄTIGUNGS-Nachricht
(eine allgemeine Datennachricht mit Bestätigungsinformation) an die Dienstankündigervorrichtung 120,
die anzeigt, dass der Datentransfer vollendet wurde, und dass somit die
drahtlose Verbindung beendet werden kann. (585, 590)
-
Nach
dem Übertragen
der BESTÄTIGUNGS-Nachricht
kann die Initiatorvorrichtung 110 in einen Ruhemodus zurück kehren.
(596) Alternativ kann die Initiatorvorrichtung 110 das
Abhören
eines Initialisierungskanals wieder aufnehmen. In ähnlicher Weise
kann der Dienstankündiger 120 nach
dem Empfang der BESTÄTIGUNGS-Nachricht
auch in einen Ruhemodus zurückkehren.
(585, 586). Der Dienstankündiger 120 bleibt
in einem Ruhemodus, bis es wieder Zeit wird, eine Trägererfassung
durchzuführen,
wie das durch das Übertragungszeitintervall
diktiert wird, wobei zu dieser Zeit das Verfahren der 5 wiederholt
wird.
-
6A zeigt
eine beispielhafte Betriebstopologie für eine alleinoperierende leistungssparende Vorrichtung 600.
In der in 6A dargestellten Ausführungsform
kann die alleinoperierende Vorrichtung 600 drahtlose Kurzstrecken-Kommunikationen über leistungssparende
Verbindungen 615 mit anderen leistungssparenden Vorrichtungen
durchführen.
Wie in 6A gezeigt ist, kann eine Verbindung 615 zwischen
der alleinoperierenden leistungssparenden Vorrichtung 600 und
einem Gemälde
in einem Museum 610 bestehen. Bei der Museumsanwendung kann
ein Dienstankündiger 120 aufgezeichnete
Beschreibungen der Bilder allen Initiatorvorrichtungen 110 innerhalb
seines Abdeckungsgebiets ankündigen.
Alternativ oder zusätzlich
kann eine Verbindung 615 zwischen der Vorrichtung 600 und
einer Ankündigung 620 auf
einer Reklametafel bestehen. Andere mögliche leistungssparende Anwendungen
können eine
Lebensmittelverpackung, die eine URL-Adresse überträgt, die Nährwertinformation an eine Initiatorvorrichtung 110 überträgt, ein
Schloss, das mit einem digitalen Schlüssel kommuniziert, oder eine
Lampe, die mit einem Leistungssparen ermöglichenden persönlichen
digitalen Assistenten kommuniziert, einschließen. Kurzgesagt, die alleinoperierenden
Vorrichtungen 600 können
Alltagsgegenstände
sein, bei denen ein geringer Leistungsverbrauch ein wichtiger Gestaltungsparameter
ist.
-
6B zeigt
eine beispielhafte Betriebstopologie einer leistungssparenden Doppelmodus-Vorrichtung 650.
Die Doppelmodus-Vorrichtung 650 umfasst sowohl die Fähigkeit
zu einem leistungssparenden Protokoll als auch eine Fähigkeit
zu einer anderen drahtlosen Kurzstreckenverbindung, wie Bluetooth.
Somit kann die Doppelmodus-Vorrichtung 650 eine leistungssparende
Verbindung 675, beispielsweise mit einer Reklametafelankündigung,
errichten, wie das oben – in
Verbindung mit 5 diskutiert wurde. Die Doppelmodus-Vorrichtung 650 kann
jedoch auch eine Bluetooth-Verbindung 665 mit einer Vorrichtung 660,
wie einem für
Bluetooth geeigneten Personalcomputer, der die Fähigkeit zu einem Internetzugang
aufweist, errichten. Doppelmodus-Vorrichtungen 650 sind
typischerweise nicht so kritisch beim Leistungsverbrauch durch die
existierenden Anforderungen von Bluetooth an die Systemleistung, die
signifikant größer sind
als das Niveau des Leistungsverbrauchs, das mit einer leistungssparenden Vorrichtung
verbunden ist.
-
7A zeigt
eine beispielhafte Verwendung eines zufälligen, im Mittel null ergebenden
Versatzes bei einer Trägererfassung,
wenn ein erster Dienstankündiger 705 seine Übertragungsrahmen
später
in der Zeit gegenüber
einem anwendungsspezifischen Übertragungsintervall 720 versetzt,
und seine Übertragung
durch einen zweiten Dienstankündiger 701 in einer
Ausführungsform
der vorliegenden Erfindung detektiert wird.
-
Eine
Zeitlinie 710 mit einem Pfeil, der die Richtung der zunehmenden
Zeit anzeigt, ist in 7A gezeigt. Energiesparende
Dienstankündigervorrichtungen 701–705 sind
in 7A gezeigt, wie sie Dienstankündigungen über der Zeit übertragen. Die
Dienstankündiger 701–705 sind
innerhalb einer spezifizierten Nähe
zueinander, so dass die Trägererfassung
des Dienstankündigers 701 die Übertragungen
aller anderen Dienstankündiger 702–705 erkennen
würde,
sollten sich die Übertragungsmoden in
der Zeit überlappen.
-
Wie
in 7A gezeigt ist, umfasst ein beispielhaftes Format
eines Übertragungsrahmens 730 fünf Betriebsmoden:
einen Trägererfassungsmodus 715,
einen ersten Umschaltmodus 731, einen Übertragungsmodus 732,
einen zweiten Umschaltmodus 733 und einen Empfangsmodus 734.
Wenn die Trägererfassung
bestimmt, dass der Initialisierungskanal FREI ist, tritt ein Dienstankündiger in
den ersten Umschaltmodus 731 ein, wenn er sich vorbereitet
in den dritten Modus des Betriebs, den Übertragungsmodus 732,
einzutreten. Während
des Übertragungsmodus 732 überträgt ein Dienstankündiger die Identifikationsnachricht
ID_INFO 545, um anzukündigen,
dass zusätzliche
Information oder spezifische Dienste verfügbar sind. Der Dienstankündiger tritt
in einen zweiten Umschaltmodus 733 ein, nachdem die ID_INFO-Nachricht
gesendet wurde 545, wenn er zwischen den Übertragungs-
und Empfangsmoden umschaltet. Während
des Empfangsmodus 734 hört der
Dienstankündiger
den Initialisierungskanal auf die Nachricht ID_INFO_RESP 560 ab,
wie sie von einer Initiatorvorrichtung 110 übertragen
wird, um Dienste oder zusätzliche
Daten vom Dienstankündiger
anzufordern. Der Dienstankündiger
kann in einen sechsten Modus eintreten, nämlich in einen Ruhemodus, wenn
Zeit bleibt, bevor der nächste Übertragungsrahmen
zeitlich angesetzt ist.
-
Damit
die Trägererfassung
ein effektives Verfahren zur Vermeidung von Kollisionen ist, sollte ein
erster Dienstankündiger
eine Trägererfassung
zu einer anderen Zeit als ein zweiter Dienstankündiger ausführen, vorzugsweise während der
zweite Dienstankündiger
eine Übertragung
durchführt.
In diesem Fall wird die Trägererfassung
ein Niveau der Energie detektieren, das mit einer Übertragung
verbunden ist, wie es beispielsweise über einem vorbestimmten Schwellwert
liegt, und eine vorbestimmte Aktion oder einen Satz von Aktionen
gemäß einer Ausführungsform
der vorliegenden Erfindung ausführen.
Solche Aktionen können
entweder die Ausführung
des nächsten
Modus des Übertragungsrahmens,
der erneute Versuch einer Trägererfassung, das
Abstimmen auf einen anderen Initialisierungskanal oder jede Kombination
davon umfassen. Wenn jedoch ein erster Dienstankündiger eine Trägererfassung
zum selben Zeitpunkt durchführt,
zu dem ein zweiter Dienstankündiger
eine Trägererfassung durchführt, oder
ansonsten sich auf eine Übertragung
vorbereitet, wird der Initialisierungskanal während beiden Trägererfassungsperioden
FREI sein, und somit wird keiner der Dienstankündiger erkennen, dass der andere
eine Übertragung
durchführt. Somit
werden ihre Übertragungen
zu Kollisionen, dem Verlust der übertragenen
Daten und somit einem unnötigen
Leistungsverbrauch führen.
-
Um
die Wahrscheinlichkeit zu erhöhen,
dass Vorrichtungen mit ähnlichen Übertragungsrahmen
jeweils die Übertragungen
des anderen erkennen werden, wird ein Versatz mit einem im Mittel null
ergebenden Wert in die Zeit eingeführt, die mit dem Start der
Trägererfassung
verbunden ist, wie das hier nachfolgend im Detail diskutiert wird.
Jeder Dienstankündiger
schließt
den zufälligen,
im Mittel null ergebenden Versatz in die Zeitsteuerung der Trägererfassung
am Start eines Übertragungsrahmens
ein. Der zufällige,
im Mittel null ergebende Versatz, wie er in Bezug auf die Bezugszahl 740 in 7A gezeigt
ist, zeigt, dass ein Dienstankündiger
seinen Übertragungsrahmen
später
in der Zeit in Bezug auf einen vorbestimmtes anwendungsspezifisches Übertragungsrahmenintervall
verschieben kann, um einen zufälligen,
im Mittel null ergebenden Versatz zu erzielen, der Kollisionen vermeidet.
Alternativ kann, wie das in 7B gezeigt
ist, ein Dienstankündiger 754 seinen Übertragungsrahmen
auf eine frühere
Zeit verschieben, wie das durch den zufälligen, im Mittel null ergebenden
Versatz 790 gezeigt ist. In einer Ausführungsform wird die Versatzzeit
aus einer Zufallsverteilung von Werten ausgewählt, die aus einem Bruchteil
der Zeitdauer abgeleitet sind, die eine Vorrichtung benötigt, um
zwischen den Übertragungs- und
Empfangsmoden hin und her zu schalten. Alternativ kann die Verteilung
der Werte aus anderen vorrichtungsspezifischen Zeitsteuerungseigenschaften oder
empirischen Daten abgeleitet werden.
-
Es
sollte auch verständlich
sein, dass die Darstellungen der 5, 7A, 7B, 8 und 9 und
ihre Beschreibungen für
den Zweck der Darstellung der Funktionalität, die mit der Trägererfassung
verbunden ist, annehmen, dass die einzige Energie auf dem Betriebsband
durch die dargestellten Dienstankündiger übertragen wird. In der Umgebung
der wirklichen Welt arbeitet die Trägererfassung, um die RSSI zu
messen, um verschiedene Emissionen an einer vorgegebenen Frequenz
zu detektieren, unabhängig
von den Quellen der Emissionen. In einigen Fällen ist es möglich, dass
leistungssparende Kanäle
durch verschiedene andere Vorrichtungen verstopft oder gestaut werden,
die im leistungssparenden Betriebsfrequenzspektrum übertragen,
wie Mikrowellengeräte,
schnurlose Telefone oder die Übertragungen
von WLAN- oder Bluetooth-Vorrichtungen.
-
In
einem ersten beispielhaften Fall, der in 7A dargestellt
ist, haben die Dienstankündiger 701 und 702 Perioden
der Trägererfassung 715, 716, die
zur selben Zeit starten 720 und enden 721. Somit werden
beide Vorrichtungen die Empfangssignalstärkeanzeige (RSSI) auf dem primären Initialisierungskanal
messen und bestimmen, dass er FREI ist. Nach der Bestimmung, dass
der primäre
Initialisierungskanal FREI ist, werden beide Dienstankündiger 701, 702 versuchen,
auf ihm zu übertragen,
was zu Übertragungskollisionen
führt.
-
In
Bezug auf die Dienstankündiger 703 und 704 werden,
obwohl die Perioden der Trägererfassung 717, 718 zufällige, im
Mittel null ergebende Versatzwerte gegenüber dem Dienstankündiger 701 implementieren,
beide Perioden der Trägererfassung anzeigen,
dass der Kanal FREI ist, da keine leistungssparende Vorrichtung
auf einem Initialisierungskanal während dieser Perioden der Trägererfassung
eine Übertragung
durchführt.
Somit werden auch die sich ergebenden Übertragungen der Dienstankündiger 703 und 704,
wie die der Dienstankündiger 701 und 702 Kollisionen
erfahren.
-
Im
Gegensatz dazu umfasst die Periode der Trägererfassung 719,
die mit dem Dienstankündiger 705 verbunden
ist, die zur Zeit 722 startet, einen zufälligen,
im Mittel null ergebenden Versatz, der durch die Bezugszahl 740 bezeichnet
ist. Die Trägererfassung 719 fällt mit
dem Start der Übertragungsperiode des
Dienstankündigers 701 zusammen
und endet zur Zeit 723. Die Trägererfassung 719 wird
dazu führen,
dass der Dienstankündiger 705 erkennt,
dass der Dienstankündiger 701 eine Übertragung
auf dem Initialisierungskanal durchführt und bestimmt, dass der
Initialisierungskanal deswegen BELEGT ist. Somit wird der Dienstankündiger 705 seinen Übertragungsrahmen
in der Zeit verzögern,
um eine Kollision zu vermeiden.
-
7B zeigt
eine beispielhafte Verwendung von zufälligen, im Mittel null ergebenden
Versatzwerten bei der Trägererfassung,
wenn ein erster Dienstankündiger 751 mit
einem anwendungsspezifischen Übertragungsrahmenintervall
einen zweiten Dienstankündiger 754 detektiert,
der sein Übertragungsrahmenintervall
zu einer früheren
Zeit verschoben hat, wie das durch die Bezugszahl 790 bezeichnet
ist, in einer Ausführungsform
der vorliegenden Erfindung. Wie in der Ausführungsform der 7A befinden
sich die Dienstankündiger 751–754 in
einer spezifizierten Nähe
zueinander, so dass die Trägererfassung
des Dienstankündiger 751 die Übertragungen
aller anderen Dienstankündiger
(752, 753, 754) erkennen würde, wenn
sich die Übertragungen
in der Zeit überlappen.
In der Ausführungsform
der 7B schließt
der Dienstankündiger 754 einen
zufälligen, im
Mittel null ergebenden Versatz ein, der durch die Bezugszahl 790 bezeichnet
ist, und führt
die Trägererfassung 765 zur
Zeit 770 aus, und wird somit die erste der vier Vorrichtungen 751 –754 sein,
die auf dem primären
Initialisierungskanal eine Übertragung ausführt. Nach
dem Messen der RSSI auf dem primären
Initialisierungskanal während
der Trägererfassung
bestimmt der Dienstankündiger 754,
dass der Kanal FREI ist. Auf den Übertragungsrahmen, der mit dem
Dienstankündiger 754 verbunden
ist, folgen sequentiell die Übertragungsrahmen,
die den Dienstankündigern 753, 752 beziehungsweise 751 entsprechen.
Der Dienstankündiger 752 und
der Dienstankündiger 753 führten eine
Trägererfassung
aus, während
sich der Dienstankündiger 754 im
Umschaltmodus 766 befindet und sich auf die Übertragung
vorbereitet. Somit werden beide Vorrichtungen fälschlicherweise bestimmen,
dass der Initialisierungskanal FREI ist und versuchen, eine Übertragung
durchzuführen,
was zu Übertragungskollisionen
zwischen den Dienstankündigern 754, 753 und
schließlich
mit dem Dienstankündiger 752 führt.
-
Der
Dienstankündiger 751 führt eine
Trägererfassung 780 zur
Zeit 771 durch, was passiert gerade nachdem der Dienstankündiger 754 begonnen hat,
zur Zeit 771 zu übertragen.
Somit wird der Dienstankündiger 751 erkennen,
dass der Dienstankündiger 754 mit
dem Übertragen
begonnen hat und bestimmen, dass der primäre Initialisierungskanal BESETZT
ist. Der Dienstankündiger 751 wird
dann seinen Übertragungsrahmen
in der Zeit verzögern, um
eine Kollision zu vermeiden.
-
Zusammengefasst
zeigen die 7A und 7B, dass Übertragungskollisionen
vermieden werden können
durch das Implementieren eines zufälligen, im Mittel null ergebenden
Versatzes, der den Übertragungsrahmen
von Dienstankündigern
entweder auf eine frühere
oder spätere
Zeit verschiebt, um die Wahrscheinlichkeit zu erhöhen, dass
eine Trägererfassung
eines Dienstankündigers
effektiv die Übertragungen
anderen Dienstankündiger
erkennt.
-
8 zeigt
eine beispielhafte Verwendung eines zufälligen, im Mittel null ergebenden
Versatzes bei der Trägererfassung,
bei dem ein zweiter Dienstankündiger 802 einen
ersten Dienstankündiger 801 detektiert
durch das Implementieren eines zufälligen, im Mittel null ergebenden
Versatzes 851, der den Übertragungsrahmen
des zweiten Dienstankündigers
von einem anwendungsspezifischen Übertragungsrahmenintervall
zu einer späteren
Zeit versetzt. Der zweite Dienstankündiger 802 läuft zyklisch, nachdem
er den primären
Initialisierungskanal 841 als BELEGT festgelegt hat, durch
andere Initialisierungskanäle,
um einen FREIEN Kanal zu finden. Der zufällige, im Mittel null ergebende
Versatz 851 ist in 8 gezeigt
und er ist die zeitliche Differenz zwischen dem Start der Trägererfassungsperioden 825 und 826.
In einer Ausführungsform
kann ein Dienstankündiger
einen verstopften Initialisierungskanal umgehen durch das Umschalten
auf einen sekundären
Initialisierungskanal (wie der eine, der in 3B gezeigt
ist), wenn eine vorbestimmte Anzahl von versuchten Übertragungen
(beispielsweise drei) auf dem primären Initialisierungskanal nicht
erfolgreich sind.
-
Wie
in 8 gezeigt ist, zeigt eine Zeitlinie 840 die
Richtung der zunehmenden Zeit an. Der Dienstankündiger 801 führt eine
Trägererfassung durch,
wie das durch die Bezugszahl 825 spezifiziert ist, und
bereitet sich vor, auf dem primären
Initialisierungskanal 841 zur Zeit 820 zu übertragen.
Der Dienstankündiger 8O2 führt einen
zeitlichen Versatz der Trägererfassung
um einen zufälligen,
im Mittel null ergebenden Wert 851 durch, nachdem der Dienstankündiger 801 mit
der Übertragung
begonnen hat. Somit wird der Dienstankündiger 802 detektieren,
dass der Dienstankündiger 801 auf
dem primären
Initialisierungskanal 841 überträgt, und er wird nach einer
vorbestimmten Verzögerung
die Trägererfassung
ein zweites und ein drittes Mal (827, 828) durchführen, wobei
er jedoch jedes Mal bestimmt, dass der primäre Initialisierungskanal 841 BELEGT ist.
In der Ausführungsform
der 8 kann der Dienstankündiger 802 sich dann
auf den zweiten Initialisierungskanal 842 abstimmen in
einem Versuch, eine Kommunikationsverbindung mit der Initiatorvorrichtung 110 aufzubauen,
die den zweiten Initialisierungskanal aktiv nach Dienstankündigungen
abhört.
-
Wie
weiter in 8 gezeigt ist, kann der Dienstankündiger 802 nach
dem Durchführen
der Trägererfassung
auf dem zweiten Initialisierungskanal, die durch einen zufälligen,
im Mittel null ergebenden Wert 852 versetzt ist, herausfinden,
dass der Dienstankündiger 803 schon
auf diesem Kanal überträgt. Der
Dienstankündiger 802 wird
dann nach einer vorbestimmten Verzögerung eine erneute Trägererfassung
versuchen (831, 832) und bestimmt wieder, dass
der Kanal BELEGT ist. Der Dienstankündiger 802 kann sich
aber auf einen tertiären
Initialisierungskanal 834 abstimmen und wieder eine Übertragung versuchen.
Nach dem Durchführen
der Trägererfassung
(834, 835, 836), die anfänglich durch
einen Wert 853 versetzt ist, während einer Zeitdauer, zu der der
Dienstankündiger 804 eine Übertragung
durchführt,
schließt
der Dienstankündiger 802,
dass der tertiäre
Initialisierungskanal 834 auch BELEGT ist. Der Dienstankündiger 802 wird
dann wieder zum primären Initialisierungskanal 841 zurück gehen
und erneut eine Trägererfassung
auf diesem Kanal versuchen. Wenn bestimmt wird, dass der Kanal 841 BELEGT
ist, wird der Dienstankündiger 802 weiter
durch die anderen Initialisierungskanäle zyklisch hindurch gehen,
bis durch die Trägererfassung
bestimmt wird, dass ein Initialisierungskanal FREI ist, so dass
zu dieser Zeit der Dienstankündiger 802 mit
dem Übertragen
beginnen kann.
-
Es
sollte verständlich
sein, dass die vorbestimmte Anzahl von Initialisierungskanälen je nach Anwendung
variieren kann und dass verschiedene periodische Durchlaufschemata
implementiert werden können.
Zusätzlich
sollte verständlich
sein, dass die Anzahl der Versuche der Trägererfassung, die auf einem
Initialisierungskanal durchgeführt
werden, bevor eine Übertragung
auf einem anderen Initialisierungskanal erneut versucht wird, variieren
kann. Darüber
hinaus wird der zufällige,
im Mittel null ergebende Versatz aus einer Verteilung von Werten
erzeugt, die für
die Anwendung oder die Vorrichtung spezifisch sind.
-
9 zeigt
eine beispielhafte Verwendung eines Versatzes mit einer Trägererfassung,
in welcher Übertragungen
eines ersten Dienstankündiger 901 durch
einen zweiten Dienstankündiger 902 detektiert
werden, der wiederum in einen kontinuierlichen Abtastmodus eintritt.
Wiederum zeigt eine Zeitlinie 940 die Richtung der zunehmenden
Zeit an. Wie in 9 gezeigt ist, führt der
Dienstankündiger 901 eine
Trägererfassung
aus 925, ermittelt, dass der primäre Initialisierungskanal 941 FREI
ist und beginnt zur Zeit 920 mit dem Übertragen. Der Dienstankündiger 902 führt wiederholt
eine Trägererfassung
durch (926, 927 und 928), die anfangs
durch einen zufälligen,
im mittel null ergebenden Wert 929 versetzt ist, nachdem
der Dienstankündiger 901 mit
dem Übertragen
begonnen hat. Nach drei aufeinanderfolgenden BELEGT ergebenden Trägererfassungsversuchen (926, 927 und 928)
auf dem primären
Initialisierungskanal tritt der Dienstankündiger 902 in einen
kontinuierlichen Abtastmodus ein, um die Wahrscheinlichkeit von Übertragungen
seiner Dienstankündigungen
zu erhöhen.
-
Im
kontinuierlichen Abtastmodus 915 führt der Dienstankündiger 902 wiederholt
eine Trägererfassung
mit einer gegebenen Frequenz (beispielsweise jede Millisekunde)
während
einer gegebenen Dauer (beispielsweise 200 ms) des kontinuierlichen Abtastmodus
aus. Die Trägererfassungsfrequenz
im kontinuierlichen Abtastmodus ist anwendungsspezifisch. Somit
kann der Dienstankündiger 902 eine
Trägererfassungsfrequenz
implementieren, die schneller, langsamer oder gleich der ist, die
in 9 gezeigt ist. Alternativ kann die Trägererfassungsfrequenz entweder
bei einer niedrigen Frequenz starten und sich über der Zeit erhöhen oder
bei einer hohen Frequenz starten und sich über der Zeit erniedrigen. Wenn
die RSSI, die während
der Trägererfassung gemessen
wird, unter den vorbestimmten Schwellwert fällt, wird die kontinuierliche
Trägererfassung unterbrochen,
um die Nachricht ID_INFO 520 zu übertragen. Wenn die RSSI jedoch
während
der Vollendung einer vorbestimmten Dauer des kontinuierlichen Abtastmodus
nicht unter den Schwellwert fällt, wird
der Dienstankündiger 902 sich
auf einen sekundären
Initialisierungskanal 942 abstimmen.
-
Wenn
der Dienstankündiger 902 sich
auf den sekundären
Initialisierungskanal 942 abgestimmt hat, wird er eine
Trägererfassung
(930, 931 und 932) durchführen, die
anfänglich
um einem Wert 935 versetzt ist. Nach der Bestimmung, dass
der Dienstankündiger 903 auf
dem sekundären
Initialisierungskanal 942 eine Übertragung ausführt, wird
der Dienstankündiger 902 wieder
in den kontinuierlichen Abtastmodus 903 eintreten, um eine
Trägererfassung
bei der vorbestimmten Trägererfassungsfrequenz
auszuführen.
Somit kann, wenn innerhalb der Dauer des kontinuierlichen Abtastmodus
der Dienstankündiger 903 seine Übertragung
beendet und der Initialisierungskanal FREI wird, der Dienstankündiger 902 dann
seine Dienstankündigungen übertragen.
Wenn das Ende der Dauer des kontinuierlichen Abtastmodus erreicht
wird, ohne dass der Dienstankündiger 902 erfolgreich
eine Dienstankündigung übertragen
hat, kann er sich auf noch einen anderen Kanal abstimmen oder sich
zurück
auf den primären
Initialisierungskanal abstimmen. Nach der Abstimmung auf einen anderen
Initialisierungskanal wird der Dienstankündiger 902 wieder
eine Trägererfassung
versuchen, wie das oben diskutiert wurde, bis sich eine Gelegenheit
ergibt, die Dienstankündigungen
zu übertragen.
-
FEHLERHANDHABUNG
-
In
den oben diskutierten Ausführungsformen können verschiedene
Aspekte der Fehlerhandhabung implementiert werden. Ein Beispiel
der Fehlerhandhabung, die im leistungssparenden Protokoll implementiert
ist, umfasst starke zyklische Redundanzprüfungen. Das Verfahren der zyklischen
Redundanzprüfung
(CRC) umfasst das Untersuchen von Daten, die auf einer Kommunikationsverbindung übertragen
wurden, auf Fehler, die während
der Übertragung
aufgetreten sein können.
Der Sender wendet ein Polynom auf einem Block von Daten an, die
für die Übertragung
bestimmt sind, und hängt
den sich ergebenden zyklischen Redundanzkode an den Datenblock an.
Der Empfänger
wendet dasselbe Polynom auf die Daten nach dem Empfang an und vergleicht
das Ergebnis mit den angehängten
Ergebnis. Wenn die zwei Ergebnisse dieselben sind, wurden die Daten
erfolgreich gesendet. Ansonsten kann der Empfänger eine Anforderung an den
Sender für
eine erneute Übertragung
des Datenblocks senden.
-
Eine
zusätzliche
Fehlerhandhabung kann vom Dienstankündiger 120 geliefert
werden. Wenn beispielsweise der Dienstankündiger eine Erhöhung des
RSSI-Niveaus erkennt, oder wenn die Synchronisation erfolgreich
war, aber die starke zyklische Redundanzprüfung misslungen ist, kann der
Dienstankündiger 120 vorübergehend
das Übertragungsrahmenintervall
auf dem Initialisierungskanal in einer vorbestimmten Art über eine
vorbestimmte Zeitdauer beschleunigen. Insbesondere kann der Dienstankündiger 120 das Übertragungsrahmenintervall
erhöhen, wie
das oben in Verbindung mit 4 diskutiert
wurde, von alle 200 ms auf alle 100 ms und diese Übertragungsrahmenrate über ein
zweites Intervall aufrecht halten. Wenn der erste Dienstankündiger 120 eine
ID_INFO-Nachricht 545, die mit einem zweiten Dienstankündiger 120 verbunden
ist, empfängt,
kann der erste Dienstankündiger 120 seine
Ankündigungsperiode
verschieben, um um eine vorbestimmte Zeitdauer früher oder
später
(beispielsweise 0,5 ms früher)
zu starten, um Kollisionen zu vermeiden.
-
Die
Fehlerhandhabungsfunktionalität
ist nicht auf den Dienstankündiger 120 beschränkt. Die Initiatorvorrichtung 110 kann
eine aktive Rolle bei Erholung von einer Nichtantwort oder einer
nicht korrekten Antwort vom Dienstankündiger 120 haben, durch
die Verwendung eines Backoff-Warteverfahrens, was detaillierter
unten in Verbindung mit 10 beschrieben
wird. Eine Nichtantwort bezieht den Dienstankündiger 120, der die
ID_INFO-Nachricht 545 sendet, und die Initiatorvorrichtung 110,
die eine Kommunikationsverbindung initiiert durch das Übertragen
der ID_INFO_RESP-Nachricht 560 in einem Versuch zur Errichten
des Datentransfers im Unicast-Kanal ein. Somit stimmt sich die Initiatorvorrichtung 110 auf
den Unicast-Datentransferkanal, der in der ID_INFO_RESP-Nachricht 560 spezifiziert
ist, ab und wartet auf die DATA_PDU-Nachricht 575 vom Dienstankündiger 120.
Wie der Name des Fehlers andeutet, zeigt eine Nichtantwort an, dass
die angeforderte DATA_PDU-Nachricht 575 von
der Initiatorvorrichtung 110 nicht empfangen wird. Im Gegensatz dazu
kann die Initiatorvorrichtung eine nicht korrekte Antwort identifizieren
durch die Bestimmung, dass zwei oder mehr Initiatorvorrichtungen 110 eine
Antwort auf dieselbe ID_INFO-Nachricht 545 initiiert
haben. Die Initiatorvorrichtung 110 identifiziert eine nicht
korrekte Antwort durch das Verarbeiten der DATA_PDU-Nachricht 575 und
der Untersuchung des Nachrichtenkopfabschnitts auf die Zieladresse hin.
Wenn die Initiatorvorrichtung 110 identifiziert, dass die
DATA_PDU-Nachricht 575 eine Zieladresse enthält, die
nicht gleich ihrer eigenen Zieladresse ist, so wird die Antwort
als nicht korrekt festgelegt. Somit wird die Initiatorvorrichtung 110 dann
das Backoff-Warteverfahren, das unten beschrieben ist, durchführen, in
einem Versuch eine Kommunikationsverbindung mit dem Dienstankündiger 120 erneut zu
errichten.
-
10 ist
ein Flussdiagramm, das ein beispielhaftes Verfahren zeigt, durch
das die Kollisionshandhabung durch eine Initiatorvorrichtung gemäß einer
Ausführungsform
der vorliegenden Erfindung durchgeführt werden kann. Im Schritt 1000 stimmt sich
die Initiatorvorrichtung 110, nachdem sie eine ID_INFO_RESP-Nachricht übertragen
hat, auf den festgelegten Unicast-Kanal ab und wartet darauf, dass
der Dienstankündiger 120 die DATA_PDU-Nachricht überträgt. Im Schritt 1002 führt die
Initiatorvorrichtung gewisse Vorgänge aus, basierend darauf,
ob die DATA_PDU-Nachricht auf dem Unicast-Kanal empfangen wird oder
nicht. Wenn die DATA_PDU-Nachricht
empfangen wird, so findet im Schritt 1005 der normale Datentransfer
zwischen der Initiatorvorrichtung 110 und dem Dienstankündiger 120 statt.
Wenn jedoch die Antwort nicht empfangen wird oder sie nicht korrekt
ist (wobei, wie oben diskutiert wurde, eine nicht korrekte Antwort
eine erste Initiatorvorrichtung, die eine Dienstankündigung
mit einer Zieladresse, die einer zweiten Initiatorvorrichtung entspricht,
verarbeitet, einbezieht), führt
die Initiatorvorrichtung 110 ein Backoff-Warten im Schritt 1015 aus.
Ein Backoff-Warten umfasst das Auswählen einer Zufallszahl x aus
einem anfänglichen
Bereich und das Warten von x Zeitperioden vor dem erneuten Versuch
eine Antwort vom Dienstankündiger 120 zu empfangen,
wie das im Schritt 1000 gezeigt ist. In einer Ausführungsform
kann sich der anfängliche
Auswahlbereich von Wartezeitperioden von 1 bis 2^(n + 1) erstrecken,
wobei n mit 1 initialisiert ist. Die Variable n stellt die n-te
Iteration durch die Backoff- Warteschleife
dar (das sind die Schritte 1000, 1002, 1015). Das
Inkrementieren der Variablen n nach aufeinanderfolgenden Iterationen
ohne das Empfangen einer Antwort erhöht effektiv die obere Schranke
des Auswahlbereichs der Zufallszahl. Nach dem Auswählen eines
Wertes für
x kann die Vorrichtung 110 x Zeitperioden warten, bevor
sie erneut versucht, eine Antwort vom Dienstankündiger 120 zu empfangen.
Die Zeitperioden können
beispielsweise entweder aus der Länge eines vollen Übertragungsrahmens
vom Dienstankündiger 120,
der Zeit, die mit den Sende-/Empfangs-Umschaltmoden verbunden ist,
anderen systemspezifischen Zeiten oder irgendwelchen zufälligen Zeitwerten
abgeleitet werden. Das Verfahren für das Bestimmen des Auswahlbereichs
kann in anderen Ausführungsformen
andere Formen annehmen. Beispielsweise kann der Backoff-Auswahlbereich linear
oder exponentiell erhöht
werden oder er kann nach irgend anderen mathematischen Formeln, die
für eine
spezifische Anwendung optimiert sind, abgeleitet werden.
-
Die
vielen Merkmale und Vorteile der vorliegenden Erfindung sind aus
der detaillierten Beschreibung deutlich, und so sollen durch die
angefügten Ansprüche alle
solchen Merkmale und Vorteile der Erfindung abgedeckt werden, die
in den Umfang der Erfindung fallen, wie sie durch die Ansprüche definiert
ist.
-
Da
weiterhin Fachleuten eine Anzahl von Modifikationen und Variationen
leicht erkennbar ist, soll die vorliegende Erfindung nicht auf die
exakte Konstruktion und den exakten Betrieb, wie sie hier dargestellt
und beschrieben sind, beschränkt
sein.