-
Gebiet der
Erfindung
-
Die
vorliegende Erfindung betrifft ein Verfahren und eine Anordnung
in einem ein Netz von mehreren Knoten bildenden Digitalkommunikationssystem.
Speziell betrifft die vorliegende Erfindung ein Verfahren und eine
Anordnung zum Vorsehen von Verteilung innerhalb eines Pikonetzes
unter Verwendung von Kurzbereichs-Funktechnologie.
-
Beschreibung
der betroffenen Technik
-
Bluetooth-Schnittstellen
sind ein Beispiel einer Kurzbereichs-Schnittstelle, welche ursprünglich als
Ersatz von Zwischenkabeln in elektrischen Einrichtungen gedacht
war. Der Begriff Bluetooth wird in dieser Offenbarung verwendet
als ein Beispiel der Verwendung von Kurzbereichs-Funkkommunikation. Drucker, Digitalkameras,
Telefone, Laptop-Computer,
Videomonitore, elektronische Kalender (PDA), Tischrechner, Faxgeräte, Tastaturen,
Joysticks sowie gewöhnliche
Computer und praktisch irgendeine andere digitale Einrichtung können Teil
eines solchen Kurzbereich-Funksystems sein, d.h. irgendwelche dieser
Einrichtungen könnten
einen Bluetooth-Funkchip haben und die dazu erforderliche Software.
Aber über
das Loslösen
von Einrichtungen durch das Ersetzen von Kabeln hinaus kann Kurzbereichs-Funkkommunikation
eine universelle Brücke
zu existierenden Datennetzen als eine Peripherieschnittstelle bilden.
Es kann auch zum Bilden von kleinen privaten Ad-hoc-Gruppierungen
von untereinander verbundenen Einrichtungen verwendet werden, getrennt
von festen Netzinfrastrukturen oder verbunden mit einer festen Netzinfrastruktur über ein
Gateway. Das Bluetooth-Funkkommunikationssystem
ist entworfen worden zum Arbeiten in einer verrauschten Funkfrequenz-Umgebung
und verwendet demnach ein schnelles Bestätigungs- und Frequenzhüpf-Schema (fast
acknowledgement and frequency hopping scheme), um Verbindungen zwischen
den Einheiten in dem System robust zu machen. Demnach vermeiden Bluetooth-Funkmodule
Interferenz von anderen Signalen durch Hüpfen zu einer neuen Frequenz
nach dem Senden oder Empfangen eines Datenpaketes, wie in 5 erläutert. Verglichen
mit anderen, in demselben Frequenzband arbeitenden Systemen hüpft das
Bluetooth-Funkkommunikationssystem üblicherweise
schneller und verwendet kürzere
Datenpakete. Dies macht das Bluetooth-Funkkommunikationssystem robuster als
andere Systeme. Die Verwendung von Vorwärtsfehlerkorrektur (FEC) begrenzt
den Einfluss von Zufallsrauschen auf Langstreckenverbindungen zwischen
Einheiten in dem System.
-
Ein
Bluetooth-Funkkommunikationssystem verwendet ein Frequenzhüpf- bzw.
Hopping-Schema innerhalb des unlizensierten ISM-Bandes (Industrial, Scientific,
Medical bzw. industriell, wissenschaftlich, medizinisch) bei 2,4
GHz. In den Einheiten wird ein Frequenzhüpf-Sendeempfänger zum
Reduzieren des Einflusses von Interferenz und von Fading verwendet.
Ein geformtes Binär-FM-Modulationsschema
wird zum Minimieren der Komplexität des Empfängers verwendet. Die Hauptdatenrate
ist 1 Mb/s, und ein TDD-Schema (Time-Division-Duplex) wird verwendet für Vollduplex-Übertragung.
-
Das
Bluetooth-Basisbandprotokoll ist eine Kombination aus Schaltungs-
und Paketvermittlung, wie in 5 gezeigt.
In 5 kennzeichnet s1 einen einzelnen Zeitschlitz,
und p1 kennzeichnet ein Paket, dessen Übertragung drei Zeitschlitze
erfordert. Die Pakete werden normalerweise unter Verwendung unterschiedlicher
Hüpf-Frequenzen übertragen.
Ein Paket wird normalerweise in einem einzelnen Schlitz übertragen,
aber ein einzelnes Paket kann bis zu fünf Schlitze erfordern. Bluetooth
kann einen asynchronen Datenkanal unterstützen, bis zu drei synchrone Sprachkanäle oder
einen Kanal, der simultan asynchrone Daten und synchrone Sprache
unterstützt. Jeder
Sprachkanal unterstützt
eine 64 kb/s-Synchronverbindung (Sprachverbindung). Der Asynchronkanal
kann eine asymmetrische Verbindung von maximal 721 kb/s in einer
der Richtungen unterstützen,
während
er 57,6 kb/s in der Rückwärtsrichtung
zulässt,
oder eine symmetrische 462,6 kb/s-Verbindung.
-
In 2 sind
Funktionsblöcke
einer Einheit mit einem Kurzbereichs-Funksenderempfänger, wie zum
Beispiel Bluetooth, gezeigt. Eine Funkeinheit 300, die
mit einer Antenne versehen ist, ist mit einer Verbindungssteuereinheit 310 verbunden,
die das Basisband bereitstellt. Die Verbindungssteuereinheit 310 ist
mit der zentralen Verarbeitungseinheit 320 verbunden, die
CPU genannt wird und das Verbindungsmanagement bereitstellt. Die
CPU ist mit einem Speicher 360 verbunden, der die Software
speichert und aus zwei Speichereinheiten besteht: einem SRAM 330 und
einem Flash-Speicher 340. Die CPU 320 ist mit
einer Host-Schnittstelle 350 verbunden. Ein SRAM ist ein
schneller temporärer
Speicher. Ein Flash-Speicher ist ein programmierbares ROM.
-
8 zeigt
zwei Pikonetze A1 und B1 in einem Streunetz. Das Pikonetz A1 umfasst
vier Einheiten 10, 20, 30, 40;
und das Pikonetz B1 umfasst drei Einheiten 40, 50 und 60.
In dem Pikonetz A1 ist die Einheit 10 eine Haupteinheit
(Master). Die Einheit 40 ist ein Mitglied sowohl des Pikonetzes
A1 als auch des Pikonetzes B1. Zwei oder mehr Bluetooth-Einheiten
(BT), die Bluetooth zur Kommunikation miteinander verwenden und
denselben Kanal teilen (d.h. dieselbe Frequenz-Hüpfabfolge
und Zeitschlitzsynchronisation), bilden ein Pikonetz, d.h. ein Pikonetz ist
eine Ansammlung von untereinander unter Verwendung von Bluetooth
in ad-hoc-Weise verbundenen Einheiten. Innerhalb eines Pikonetzes
kann eine Bluetooth-Einheit eine von zwei Rollen innehaben, sie
kann ein Master sein oder ein Slave. Innerhalb jedes Pikonetzes
gibt es nur einen Master, und bis zu sieben aktive Slaves können verbunden
sein, d.h. ein Pikonetz beginnt mit zwei miteinander verbundenen Einheiten,
wie zum Beispiel einem tragbaren PC und einem Mobilfunktelefon,
und es kann anwachsen auf acht miteinander verbundene Einheiten.
Alle Bluetooth-Einheiten sind Peer-Einheiten (gleichrangige Einheiten)
und haben im Grunde identische Implementierungen. Jede BT-Einheit
kann Master in einem Pikonetz werden. Jedoch, wenn ein Pikonetz
gebildet wird, wird eine Einheit die Rolle des Masters übernehmen
und die andere bzw. anderen werden Slave für die Dauer des Pikonetzes.
Ein Streunetz oder ein Ad-hoc-Netz ist ein Netz, das mehrere unabhängige und
nicht synchronisierte Pikonetze umfasst. Der Master oder die Mastereinheit
bzw. Haupteinheit ist die Einheit in einem Pikonetz, deren Takt-
und Hüpfabfolge
verwendet werden zum Synchronisieren aller anderen Einheiten im
Pikonetz. Ein Slave oder eine Sklaveneinheit ist jede Einheit in
einem Pikonetz, die nicht der Master in dem Pikonetz ist. Zwei oder
mehr Pikonetze können
miteinander verbunden sein, ein Streunetz bildend, das bereits definiert
worden ist. Der Verbindungspunkt zwischen zwei Pikonetzen besteht
aus einer einzelnen BT-Einheit, die ein Mitglied beider Pikonetze
ist. Eine BT-Einheit kann simultan ein Slave einer Vielzahl von
Pikonetzen sein, aber nur Master in einem Pikonetz. Das heißt, eine BT-Einheit,
die als Master in einem Pikonetz funktioniert, arbeitet als ein
Slave in einem anderen Pikonetz oder in Pikonetzen. Eine BT-Einheit
kann zu einer Zeit nur Daten in einem Pikonetz senden und empfangen,
so dass die Teilnehmerschaft in mehreren Pikonetzen auf einer Zeit-Multiplex-Basis
stattfinden muss. Das Bluetooth-System unterstützt sowohl Punkt-zu-Punkt als
auch Punkt-zu-Mehrpunkt-Verbindungen.
Mehrere Pikonetze können
miteinander ad hoc verbunden werden, wobei jedes Pikonetz identifiziert
wird durch eine abweichende Frequenz-Hüpfabfolge. Alle an einem selben
Pikonetz teilhabenden Einheiten werden auf die Hüpfabfolge des Pikonetzes synchronisiert.
Die Streunetz-Topologie
kann am besten beschrieben werden als eine Vielzahl von Pikonetzstrukturen,
siehe 8. Jedoch sind Bluetooth- Einheiten zur Verwendung in Streunetzen
nicht kommerziell verfügbar.
-
3a zeigt
einen persönlichen
digitalen Assistenten PDA 500 unter Verwendung einer Zusatz-Bluetooth-Kommunikationseinrichtung 510.
Die Bluetooth-Kommunikationseinheit 510,
die mit einer Antenne versehen ist, wird in einen Schlitz in dem PDA
eingefügt.
Die Bluetooth-Kommunikationseinheit kann eine PC-Karte sein oder
eine "Compakt Flash
Card" (kompakte
Flash-Speicherkarte), die mit einem Bluetooth-Chipsatz versehen
ist.
-
3b zeigt
einen PDA unter Verwendung einer eingebauten Bluetooth-Kommunikationseinrichtung.
Hier ist der PDA mit einer Antenne versehen.
-
3c zeigt
ein Mobiltelefon unter Verwendung einer eingebauten Bluetooth-Kommunikationseinrichtung,
wobei der Bluetooth-Senderempfänger
eine nicht dargestellte Antenne hat, die sich von der des Mobiltelefons
unterscheidet.
-
Ein
Bluetooth-System stellt, wie bereits gesagt, Vollduplex-Übertragung bereit, aufgebaut
auf geschlitztem TDD (Time Division Duplex). Jeder verwendete Schlitz
hat eine Länge
von 0,625 ms. Die Zeitschlitze sind aufeinanderfolgend unter Verwendung
eines sehr großen
Zahlenbereiches nummeriert (der Bereich ist zyklisch mit einem Zyklus
von 227). Die Übertragung von Master zu Slave
beginnt immer in einem gerade nummerierten Zeitschlitz, wohingegen
die Übertragung
von Slave zu Master immer in einem ungerade nummerierten Zeitschlitz
beginnt. Der Begriff "Rahmen" bzw. Frame, wie
er hier verwendet wird, ist definiert als die Kombination von einem
geradzahlig nummerierten Zeitschlitz und dem darauffolgenden ungeradzahlig
nummerierten Zeitschlitz (d.h. einem Master-zu-Slave-Zeitschlitz
und einem Slave-zu-Master-Zeitschlitz),
mit der Ausnahme, dass Mehrschlitz-Pakete verwendet werden und dann
andere Konventionen angewendet werden. In einem Kommunikationssystem
mit Bluetooth gibt es keine direkte Übertragung zwischen Slaves
in einem Pikonetz.
-
Die
Kommunikation zwischen den Einheiten eines Pikonetzes ist derart
organisiert, dass der Master jeden Slave in Übereinstimmung mit einem gewissen
Polling-Schema bzw. Abfrageschema abfragt bzw. pollt. Mit einer
Ausnahme ist es einem Slave nur erlaubt, zu senden, nachdem er von
einem Master abgefragt bzw. gepollt worden ist. Der Slave wird dann
seine Sendung in dem Slave-zu-Master-Zeitschlitz beginnen, der unmittelbar
auf das von dem Master empfangene Paket folgt. Der Master kann oder
kann nicht Daten, z.B. Nutzlastdaten, in den Paketen einschließen, die
zum Pollen des Slave verwendet werden. Die einzige Ausnahme zu dem
obigen Prinzip ist, dass wenn ein Slave eine SCO-Verbindung (Synchronous
Connection-Oriented bzw. synchron verbindungsorientiert) zu dem
Master eingerichtet hat, es immer zugelassen ist, in einen vorzugeordneten
Slave-zu-Master-Schlitz
zu übertragen,
selbst wenn nicht explizit von dem Master in den direkt vorangegangenen
Master-zu-Slave-Schlitz
gepollt. SCO-Links unterstützen
Echtzeit-Sprachverkehr
unter Verwendung von reservierter Bandbreite.
-
Jede
BT-Einheit hat eine global einzigartige 48-Bit-Adresse. Diese Adresse,
die Bluetooth-Einrichtungsadresse (BD_ADDR), wird zugewiesen, wenn
die Bluetooth-Einheit hergestellt wird, und sie wird nie geändert. Zusätzlich hierzu
weist der Master eines Pikonetzes eine lokale Aktiv-Mitgliedsadresse (AM_ADDR)
für jeden
aktiven Slave des Pikonetzes zu. Die AM_ADDR ist nur drei Bit lang
und ist einzigartig nur innerhalb eines einzelnen Pikonetzes. Der Master
verwendet die AM_ADDR beim Abfragen bzw. Polling eines Slave in
einem Pikonetz. Wenn der Slave, getriggert durch ein von dem Master
empfangenes Paket und adressiert unter Verwendung des AM_ADDR des
Slave, ein Paket zu dem Master sendet, schließt er seine eigene AM_ADDR
in dem Kopf des Paketes ein.
-
Das
Paket kann sowohl synchrone Daten auf synchronen verbindungsorientierten
Verbindungen bzw. SCO-Links als auch asynchrone Daten auf asynchronen
verbindungslosen Verbindungen bzw. ACL-Links übertragen. Für einige
Arten von verwendeten Paketen wird ein Bestätigungs- und Neusendeschema
verwendet zum Sicherstellen des zuverlässigen Transfers von Daten.
Solch ein Schema wird nicht verwendet für SOC-Pakete, die Synchrondaten übertragen.
Ebenfalls kann Vorwärtsfehlerkorrektur (FEC)
in Form von Kanalkodierung verwendet werden.
-
Das
Standardformat eines Bluetooth-Basisbandpaketes ist in 1a gezeigt.
Es umfasst ein Feld für
einen Zugangscode, ein Kopf- bzw. Header-Feld und ein Nutzlast-
bzw. Payload-Feld. 1c erläutert das
Format des Kopffeldes, welches ein AM_ADDR-Feld umfasst, gefolgt
von einem Typen-Feld TYPE, das den Typ des Paketes anzeigt. Das
Ablauf-Feld FLOW umfasst ein Bit, das verwendet wird zur Ablaufsteuerung.
Die Felder ARQN und SEQN steuern und bestätigen das neue Sendeschema.
Das Kopf-Fehlerprüffeld
bzw. HEC-Feld (Header Error Check) hat Information für das Überprüfen der Integrität des Kopfes.
Beim Empfangen eines Paktes und dem Verwenden der Information in
dem HEC-Feld zum Prüfen
des Kopffeldes. Das Kopffeld kann fehlerhaft erkannt werden, und
dann wird das Paket verworfen. Andernfalls wird das Paket beibehalten
und weitere Prüfungen
können
vorgenommen werden. Das Format der Nutzlast hängt von der Art des übertragenen
Paketes ab. Ein SCO-Paket ist ein Paket, das auf einer SCO-Verbindung übertragen wird,
und ein ACL-Paket ist ein Paket, das auf einer ACL-Verbindung übertragen
wird. Das Nutzlastfeld eines SCO-Paketes umfasst nur ein Datenfeld.
Die Payload eines ACL-Paketes, die in 1b gezeigt ist,
umfasst ein Kopffeld, ein Datenfeld und ein Feld zum Übertragen
von Information für
die zyklische Redundanzprüfung
bzw. "Cycling Redundancy
Check" (CRC). Zusätzlich gibt
es Hybrid-Pakete, die zwei Datenfelder einschließen, eines für Synchrondaten und
das andere für
Asynchrondaten. Hybridpakete werden verwendet, wenn Sprachinformation
und Daten über
dieselbe Verbindung gesendet werden. Pakete mit einem Nutzlastfeld,
die nicht mit einem CRC-Feld versehen sind, werden weder bestätigt noch
neu gesendet. Es gibt zwei unterschiedliche Formate des Nutzlast-Kopffeldes. In 1d ist
das Format des Nutzlast-Kopffeldes für Einzelschlitzpakete dargestellt.
In 1e ist das Format des Nutzlast-Kopffeldes für Mehrschlitz-Pakete
dargestellt. L_CH ist ein Zwei-Bit-Feld, das die Art von Nutzlast anzeigt.
L_CH=00 bedeutet, dass der "00"-Wert nicht definiert
ist und demnach nicht verwendet wird. L_CH=1 zeigt ein Fortsetzungsfragment
einer L2CAP-Meldung, wie nachstehend beschrieben. L_CH=1 zeigt den
Start einer L2CAP-Meldung ohne Fragmentierung an. Fragmentierung
bedeutet, dass das L2CAP zu groß ist,
um durch ein einzelnes Basisbandpaket übertragen zu werden, und es
demnach aufgespalten worden ist in mehrere Teile, sogenannte Fragmente,
wobei jedes Fragment von einem einzelnen Basisbandpaket ausgeführt wird.
Bei dem Zielknoten werden die Fragmente neu zusammengestellt in
ein komplettes L2CAP-Paket. L_CH=11 gibt eine LMP-Meldung an. Das
Feld FLOW wird zur Ablaufsteuerung verwendet. Das FLOW-Bit in dem Kopffeld
wird zur Ablaufsteuerung in der L2CAP-Schicht verwendet. FLOW=0
gibt "Senden stoppen" an. FLOW=1 gibt
an "bereit zum Senden". Das FLOW-Bit in
dem zuletzt korrekt empfangenen Nutzlast-Kopf bestimmt den Ablaufzustand.
Das LENGTH-Feld gibt die Länge
des Datenfeldes an. Da Mehrschlitz-Pakete ein längeres Datenfeld übertragen
können,
ist das LENGTH-Feld des Mehrschlitz-Nutzlast-Kopfes (1e)
länger
(nicht in der Fig. gezeigt) als das LENGTH-Feld des Einzelschlitz-Nutzlast-Kopfes
(1d). Wie in 1e gezeigt,
sind in dem Nutzlast-Kopffeld eines Mehrschlitzpaketes die vier
letzten Bits nicht definiert.
-
In
einem Bluetooth-System werden einige Protokollschichten verwendet,
die in 4 gezeigt sind und das Basisbandprotokoll bzw.
BB-Protokoll zwischen der physikalischen Schicht 103 und
der Datenverbindungsschicht (data link layer) 104 umfassen,
das Link-Manager-Protokoll (LMP) und das Logical-Link-Control- und
Adaption-Layer-Protokoll (L2CAP
(Protokoll der logischen Verbindungssteuerung und der Anpassungsschicht))
in der Datenvermittlungsschicht bzw. Data-Link-Layer 104.
Eine Höcherschichtenprotokoll-
oder Anwendungsschicht (106 (High 1evel protocol or application
layer)) kann oder kann nicht vorgesehen sein sowie eine Netzwerkschicht
(105). Zusätzlich
kann eine nicht gezeigt Netzanpassungsschicht (NAL (Network Adaption Layer)),
die sich zwischen der Datenverbindungsschicht (104) und
der Netzschicht (105) befindet, vorgesehen sein.
-
Nun
wird der Bluetooth-Protokoll-Stack (Protokollstapel) unter Bezugnahme
auf 4 beschrieben. In 4 sind zwei
Bluetooth-Einheiten dargestellt: eine Einheit Nr. 1, 101, und eine
Einheit Nr. 2, 102.
-
Das
Basisband- bzw. BB-Protokoll beschreibt die Spezifikationen des
Digitalsignalverarbeitungsteils der Hardware – des Bluetooth-Link-Controllers,
welche die Basisbandprotokolle übertragen
und andere Verbindungsroutinen niederer Schicht. Es verwendet zwei
Link-Arten (Schicht-Verbindungstypen):
synchronverbindungsorientierte Links (SCO-Links) und asynchronverbindungslose
Links (ACL-Links). Das Verbindungs-Management-Protokoll bzw. Link-Management-Protokoll LMP behandelt
Meldungen zur Verwendung für das
Einrichten von Links, Sicherheit und Steuerung. Das LMP befindet
sich oberhalb des Basisbandprotokolls.
-
Das
Logical-Link-Steuerungs- und Anpassungsschicht-Protokoll L2CAP befindet
sich auch oberhalb des Basisbandprotokolls. L2CAP stellt verbindungsorientierte
und verbindungslose Datendienste bereit zu Protokollen oberer Schichten
mit Protokoll-Multiplex-Fähigkeit,
Segmentierung, Neuzusammenstellungsoperation und Gruppenabstraktionen.
Das L2CAP ist nur für
ACL-Verbindungen definiert.
-
Wie
zuvor dargelegt, wird physikalisches Senden in einem Pikonetz nur
exklusiv zwischen dem Master und jedem Slave und umgekehrt zugelassen.
Demnach gibt es keine Möglichkeit
für einen Slave,
Daten zu einem anderen Slave in einem Pikonetz zu senden, da Direktkommunikation
nicht zugelassen ist.
-
In
einem Bluetooth-System ist keine Art spezifiziert zum Adressieren
und Routen von Paketen von einem Pikonetz zu einem anderen. Jedoch
kann eine BT-Einheit, die ein Mitglied von mehr als einem Pikonetz
ist, verwendet werden zum Weiterleiten von Paketen von einem Pikonetz
zu einem anderen. Solch eine PT-Einheit wird hier als Weiterleitungsknoten
bezeichnet.
-
Um
eine Slave-zu-Slave-Kommunikation in einem Pikonetz und eine Inter-Pikonetz-Kommunikation
zu ermöglichen,
ist eine wichtige Information ein Slave, der eine Nachricht zu einem
anderen Slave in einem Pikonetz senden soll, z.B. die Adresse wie BD_ADDR
jedes der anderen Mitglieder des Pikonetzes. Diese Information ist
normalerweise nur der Haupteinheit bzw. Master-Einheit in einem
Pikonetz bekannt. Ein anderes Beispiel wichtiger Information kann
sein, ob eine empfangene BT-Einheit Slave-zu-Slave-Kommunikation
unterstützt.
-
Nokia
hat der Bluetooth-SIG (Special Interest Group), der Organisation,
die den Bluetooth-Standard schreibt, ein neues Verfahren vorgeschlagen,
das ein Inter-Pikonetz-Routing in einem Streunetz ermöglicht sowie
Intrapikonetz-Routing zwischen Slaves innerhalb desselben Pikonetzes.
In dem Vorschlag von Nokia ist ein Virtual-Network-Segment bzw.
virtuelles Netzsegment (VNS) eingefügt zwischen der L2CAP- und der Netzschicht 104,
siehe 4, um ein geteiltes Mediennetz zu emulieren, d.h.
ein Rundsendemedium zu der Netzschicht, d.h. die VNS-Schicht dient
demselben Zweck wie die NAL-Schicht. Die VNS-Einheit in einem Weiterleitungsknoten
wird sich selbst bei der Master-Einheit durch Senden einer Meldung
zu ihrer Peer-Einheit in der Master-Einheit registrieren. Beim Übertragen
von Nachrichten verwenden die Slave-Einheiten die Kenntnis des Masters.
Wenn eine Slave-Einheit wünscht,
eine Meldung zu einem Weiterleitungsknoten zu senden, z.B. eine
Anfrage zum Erstellen eines Routings zu einem speziellen Ziel in einem
anderen Pikonetz, sendet sie die Meldung zu der Master-Einheit. Die Master-Einheit
wird dann die Meldung basierend auf ihrer enthaltenen Information weiterleiten
zu dem bzw. den geeigneten Weiterleitungsknoten.
-
Ein
anderes sich aus der Bluetooth-Kernspezifikation (Bluetooth Core
Specification) 1.0 (d.h. der Spezifikation des Bluetooth-Systems;
Core; Spezifikation Volume 1:1, Version 1.0) ergebendes Beispiel betrifft
die Kompatibilität
zwischen unterschiedlichen BT-Einheiten. Wenn zwei BT-Einheiten über eine
direkte drahtlose Verbindung kommunizieren, d.h. keine Slave-zu-Slave-Kommunikation über die
Master-Einheit, wird das Kompatibilitätsproblem gelöst durch
Austauschen von Merkmalen einschließlich Angaben bzw. Indikation
für jedes
Merkmal, ob es unterstützt
wird oder nicht. Dieser Informationsaustausch wird unter Verwendung
der LMP PDU (Protocol Data Unit bzw. Protokolldateinheit), LMP_feature_req
und LMP_features_res ausgeführt. Eine
Nachricht in dem Link-Manager-Protokoll (LMP) wird "LMP PDU" genannt, PDU steht
für "Protocol Data Unit" bzw. Protokolldateneinheit. LMP_features_req
und LMP_features_res geben zwei LMP_PDUs in Übereinstimmung mit der Bluetooth-Kernspezifikation
1.0 an. Tatsächlich
wird es einer BT-Einheit
ermöglicht,
bevor dieser Informationsaustausch ausgeführt wird, nur eine kleine Untermenge
der Bluetooth-Merkmale
zu verwenden, z.B. Paketarten, wenn sie mit den anderen BT-Einheiten kommuniziert.
Nachdem der Informationsaustausch stattgefunden hat, kann die Schnittmenge
der in beiden BT-Einheiten unterstützten Merkmale verwendet werden.
Die unter Verwendung von LMP_features_req und LMP_features_res ausgetauschte
Information ist eine Liste von Bluetooth -Merkmalen und ein Bit
für jedes
Merkmal. Das Bit zeigt an, ob das Merkmal unterstützt wird
oder nicht, siehe Seite 235-236 in der Bluetooth Core Specification,
Volume 1:1 (Bluetooth-Hauptspezifikation,
Band 1:1).
-
Patentdokument
WO 99 14897 offenbart ein System und ein Verfahren, durch welches
Drahtlosknoten eines Ad-hoc-Netzes ihre eigenen Adressen und Adressen
ihrer erreichbaren Nachbarn zu einem Master-Knoten senden.
-
Resümee der
Erfindung
-
Die
in der vorliegenden Offenbarung definierten Probleme sind folgende:
- • Der
VNS-Ansatz behandelt nur einen kleinen Teil der Gesamtverteilung
von Information.
- • In
Bezug auf die LMP-Prozedur zum Austauschen von Listen von unterstützten Merkmalen
ist dies beschränkt
auf BT-Einheiten,
die über
eine direkte Verbindung kommunizieren, d.h. eine Master-Einheit
und eine mit dieser kommunizierende Slave-Einheit. Die sich ergebenden
Kompatibilitätsangelegenheiten,
wenn Slave-zu-Slave-Verbindung
betrachtet wird, sind nicht behandelt.
- • Wenn
eine Slave-zu-Slave-Verbindung innerhalb eines Pikonetzes eingeführt wird,
gibt es ein Problem dahingehend, dass weder AM_ADDR noch BD_ADDR
oder eine mögliche
IP-Adresse anderer Slave-Einheiten in dem Pikonetz für eine Slave-Einheit
in dem Pikonetz verfügbar
sind.
-
Da
Bluetooth das Hauptziel der Erfindung ist, werden die Verfahren
und Anordnungen wie hier offenbart in einem Bluetooth-Zusammenhang
unter Verwendung von Bluetooth- Terminologie
beschrieben. Der Begriff "Bluetooth" ist die Bezeichnung
einer eingetragenen Marke eines Kurzbereich-Funksenderempfängers und des Kommunikationssystems,
das einen solchen Senderempfänger
verwendet. Ein Fachmann versteht, dass andere Arten von Kurzbereichs-Kommunikation
verwendet werden können, z.B.
Infrarotlicht, wobei die Einrichtungen in einem solchen System mit
Hilfe von Kommunikation durch Infrarotlicht bereitgestellt werden.
Weitere Arten von Kurzbereichskommunikation können Ultraschall- oder hydrophonische
Kommunikation sein. Ferner kann die Erfindung anwendbar sein auf
andere Netztechnologien, sowohl drahtgebundene als auch drahtlose.
-
Demnach
wird ein Zielsystem betrachtet, welches ein digitales, drahtgebundenes
oder drahtloses Kommunikationssystem ist, das ein Netz von mehreren
Knoten bildet. Das Netz umfasst einen Zentralknoten, der auch Master
genannt wird, und zwei oder mehr periphere Knoten, die auch Slaves oder
Sklaveneinheiten genannt werden. Der Zentralknoten steuert die Gesamtkommunikation
im Netz. Auf der niedrigsten Protokollschicht, der physikalischen
Schicht, fließt
die Gesamtkommunikation exklusiv zwischen dem Zentralknoten und
einem peripheren Knoten und umgekehrt. Keine Kommunikation verläuft auf
der niedrigsten Protokollschicht direkt zwischen zwei peripheren
Knoten. In einem solchen System kann sich auf das System selbst
oder auf die Knoten in dem System beziehende Information von dem
Zentralknoten oder den peripheren Knoten im Netz verteilt werden
oder in einer Datenbank im Zentralknoten gehalten werden, auf welche
Datenbank auf Anfrage von den peripheren Knoten im Netz zugegriffen
werden kann. Die Information kann von den peripheren Knoten zu dem
Zentralknoten entweder auf Befehl des Zentralknotens selbst oder
auf Anfrage von einem peripheren Knoten, ausgelöst durch das Intervallereignis
im peripheren Knoten, z.B. eine Zustandsänderung mit externen Folgen,
vermittelt werden. Die verteilte Information kann umfassen:
- • Anzahl
peripherer Knoten
- • Adressen
peripherer Knoten
- • IP-Adressen
aller Knoten
- • Zuordnungen
zwischen einer IP-Adresse und einer Adresse einer niedrigen Schicht
(z.B. MAC-Adresse der Medienzugangssteuerung) für einen peripheren Knoten oder
für alle
Knoten
- • Adressen
von Weiterleitungsknoten
- • Unterstützte Merkmale
peripherer Knoten
- • Zustandsänderungen
in peripheren Knoten (z.B. wenn ein Knoten Weiterleitungsknoten
wird oder dieses aufgibt)
- • Weiterleitungs-Bitraten-Kapazität von Weiterleitungsknoten
- • Meldungen,
wenn Knoten dem Netz beitreten oder es verlassen
- • Meldungen,
wenn eine Verbindung zu einer festen Infrastruktur verfügbar wird
oder die Verfügbarkeit
aufgibt
- • Meldungen
anderer Ereignisse
- • Information
in Bezug auf Weiterleitungsvereinbarungen
-
Zudem
sollte bemerkt werden, dass die in einem Bluetooth-System zu verwendenden
Verfahren nicht beschränkt
sind auf die Art von im Zusammenhang mit den Mechanismen erwähnter Information. Jedwede
Art von Information, die sich auf das System individueller Knoten
bezieht, sollte unter Verwendung irgendeines der beschriebenen Mechanismen gemanagt
werden. Solche Information kann die oben aufgelistete Information
sein und kann enthalten:
- • AM_ADDR von Slaves
- • BD_ADDR
von Slaves
- • IP-Adresse
von Slaves
- • Inter-Pikonetz-Zeitplanungsparameter
für Weiterleitungsknoten
-
Demnach,
um die oben beschriebenen Probleme auszuräumen und eine allgemein praktikable Lösung bereitzustellen,
muss ein Pikonetz einen effizienten Mechanismus einschließen, um
die gesamte relevante Information allen Sklaveneinheiten rechtzeitig
verfügbar
zu machen. Dies kann auf unterschiedliche Arten erreicht werden.
Obwohl unterschiedliche Arten von Information in Verbindung mit unterschiedlichen
Mechanismen beschrieben werden, könnte die Verteilung aller unterschiedlichen
Informationsarten von einem gemeinsamen Protokoll behandelt werden,
aber getrennte Protokolle sind ebenfalls möglich. Es ist auch möglich, unterschiedliche
Protokolle für
dieselbe Information in unterschiedlichen Situationen zu verwenden.
-
Der
Zweck der Erfindung ist es, Mechanismen zum effizienten Verteilen
von relevanter Information in einem Pikonetz bereitzustellen.
-
In
einem System unter Verwendung von Bluetooth-Technologie ist ein
Vorteil des hier offenbarten Verfahrens und der Anordnung, dass
Slave-zu-Slave-Kommunikation unterstützt wird, da eine Verteilung
nützlicher
system- oder knotenbezogener Information in einem Pikonetz ermöglicht wird.
Wenn Slave-zu-Slave-Kommunikation zugelassen wird, genügt es nicht
länger,
dass die Master-Einheit über
relevante Information in Bezug auf die Slave-Einheiten informiert
wird. Nützliche
Information kann beispielsweise sein:
- • Adressinformation
in Bezug auf die Mitgliedseinheiten in einem Pikonetz einschließlich Mitteilungen,
wenn BT-Einheiten
dem Pikonetz beitreten oder es verlassen;
- • Weiterleitungsknoteninformation,
welche auch Inter-Pikonetz-Kommunikation
erleichtert;
- • kompabilitätsbezogene
Information;
-
In
einem System unter Verwendung von Bluetooth-Technologie ist ein
weiterer Vorteil des hier offenbarten Verfahrens und der Anordnung,
dass Slave-zu-Slave-LMP-PDU auch Slave-zu-Slave-Kommunikation erleichtert.
-
In
einer ein Netz von mehreren Knoten bildenden Mobiltelekommunikation,
die einen Zentralknoten und mindestens zwei periphere Knoten einschließt, wobei
der Zentralknoten die gesamte Kommunikation im Netz steuert, ist
ein Vorteil des hier offenbarten Verfahrens und der Anordnung, dass
Kommunikation zwischen peripheren Knoten über den Zentralknoten erleichtert
wird, da relevante Information in Bezug auf das System und die individuellen Knoten
verteilt werden kann unter den peripheren Knoten. Die Information
kann irgendeine der oben aufgelisteten sein.
-
Der
Begriff "umfasst
bzw. umfassend" wird, wenn
er in dieser Beschreibung verwendet wird, verwendet zum Spezifizieren
des Vorhandenseins von genannten Merkmalen, Ganzzahlen, Schritten
oder Komponenten, aber schließt
das Vorhandensein oder das Hinzufügen eines oder mehrerer anderer Merkmale,
Ganzzahlen, Schritte, Komponenten oder Gruppen davon nicht aus.
-
Der
weitere Umfang der Anwendbarkeit der vorliegenden Erfindung wird
ersichtlich werden aus der nachstehend wiedergegebenen detaillierten
Beschreibung. Jedoch sollte verstanden werden, dass die detaillierte
Beschreibung und die spezifischen Beispiele zwar bevorzugte Ausführungsformen
der Erfindung angeben, jedoch nur zum Zwecke der Erläuterung
wiedergegeben werden, da verschiedene Änderungen und Modifikationen
innerhalb des Schutzbereichs der beiliegenden Ansprüche Fachleuten
aus dieser detaillierten Beschreibung ersichtlich werden.
-
Kurzbeschreibung
der Zeichnungen
-
Es
zeigt:
-
1a ein
Diagramm eines Standard-Basisband-Paketformats;
-
1b ein
Diagramm des Formats eines ACL-Pakets;
-
1c ein
Diagramm eines Basisband-Paketkopfs bzw. Headers;
-
1d eine
Diagramm eines Basisband-Nutzlastkopfs für ein Einzelschlitzpaket;
-
1e ein
Diagramm eines Basisband-Nutzlastkopfs für ein Mehrschlitzpaket;
-
2 eine
schematische Ansicht eines Bluetooth-Senderempfängers;
-
3a–c schematische
Ansichten dreier elektronischer Einrichtungen, die mit einem Bluetooth-Senderempfänger versehen
sind;
-
4 ein
Diagramm der Bluetooth-Protokollschichten;
-
5 ein
Diagramm des Zusammenhangs zwischen Zeitschlitzen und Frequenz-Hops
bzw. -Hüpfungen
in einem Bluetooth verwendenden System;
-
6 ein
Diagramm zum Erläutern
eines Weiterleitungs-Szenarios;
-
7a–7c Diagramme
des Basisband-Paketformats;
-
8 eine
schematische Ansicht zweier Pikonetze in einem Streunetz;
-
9 ein
Ablaufdiagramm des Routings eines Paketes;
-
10 ein
Diagramm einer Bluetooth-Einheit;
-
11 ein
Ablaufdiagramm des Prozesses einer ein Weiterleitungsknoten werdenden
Bluetooth-Einheit;
-
12a,b Ablaufdiagramme eines Beispiels eines Prozesses,
wenn eine Bluetooth-Einheit ein Weiterleitungsknoten wird;
-
13a,b Ablaufdiagramme eines anderen Beispiels
eines Prozesses, wenn eine Bluetooth-Einheit ein Weiterleitungsknoten
wird;
-
14 ein
Ablaufdiagramm des Prozesses eines Weiterleitungsknotens, der es
aufgibt, ein Weiterleitungsknoten zu sein, und des Informationsstroms
in einem ersten Pikonetz;
-
15a,b Ablaufdiagramme des Prozesses eines Weiterleitungsknotens,
der es aufgibt, Weiterleitungsknoten zu sein, und des Informationsstroms in
einem zweiten Pikonetz.
-
Die
Erfindung wird nun detaillierter unter Bezugnahme auf bevorzugte
beispielhafte Ausführungsformen
davon beschrieben und auch unter Bezugnahme auf die beiliegenden
Zeichnungen.
-
Detaillierte
Beschreibung
-
Der
innere logische Aufbau einer Bluetooth-Einheit mit verbesserter
Kommunikationsfähigkeit
erscheint aus 10. Die Bluetooth-Einheit 1195 umfasst
Basis-Bluetooth-Funktionen 1150, Weiterleitungsfunktionen 1160 und
eine Datenbank 1180. Der Block Basis-Bluetooth-Funktionen 1150 umfasst
die Funktionen, die von einem Senderempfänger durchgeführt werden,
eine Taktquelle, einen Speicher, eine Energiequelle, Logikschaltungen
zum Implementieren der Bluetooth-Protokollstapel
bzw. Protocol Stacks, Logikschaltungen zum Analysieren von Signalisierungsmeldungen
und Logikschaltungen zum Erzeugen von Signalisierungsmeldungen,
etc. Der Block Weiterleitungsfunktionen 1160 umfasst die
von Weiterleitungslogikschaltungen ausgeführten Funktionen, d.h. Logikschaltungen
zum Empfangen eines Paketes in einem ersten Pikonetz, Logikschaltungen zum
Analysieren der Routing- bzw. der Wegelenkungs- und Adressinformation,
die in dem Paket enthalten ist, und Logikschaltungen zum Senden
eines Paketes zu einem zweiten Pikonetz, etc. Der Block Datenbank 1180 umfasst
einen physikalischen Speicher zum Speichern von Daten, einen Pikonetz-Indikator 1198,
Blöcke 1197,
die mit Daten in Bezug auf jedes Pikonetz versehen sind, in welchem
die Bluetooth-Einheit momentan ein Mitglied ist, einen Block 1197,
der Inter-Pikonetz-Zeitplanungsparameter enthält, einen Block 1178,
der Daten enthält,
die sich auf die BT-Einheit beziehen. Der einen Pikonetz-Indikator
umfassende Block 1198 schließt eine Dateneinheit ein, die
das Pikonetz angibt, falls anwendbar, in welchem die BT-Einheit
momentan aktiv ist, d.h. der Satz von Pikonetz-bezogenen Daten,
die momentan gültig
sind. Der Block 1179 "Inter-Pikonetz-Zeitplanungsparameter" schließt Timing-
bzw. Zeitabstimmungsparameter ein, die regeln, wann eine BT- Einheit im jeweiligen
Pikonetz aktiv zu sein hat, d.h. wann von einem Satz von Pikonetz-bezogenen
Daten (insbesondere die Funk-bezogenen Parameter 1173 und
die Zeitabstimmungsparameter 1175) zu einem anderen umzuschalten
ist. Der Block 1178 "BT-Einheits-bezogene
Daten" schließt Daten
ein in Bezug auf die BT-Einheit unabhängig von dem Pikonetz, zu welchem
die BT-Einheit sich befindet, z.B. Batteriezustand, Benutzerschnittstellenoptionen,
Daten, die von dem Benutzer eingegeben sind. Die Blöcke 1197 "Daten in Bezug auf
das k-te Pikonetz" umfassen
einen Block 1196 "Master/Slave-Indikator", einen Block 1194 "Weiterleitungsindikator/Nichtweiterleitungsindikator", einen Block 1192 "weiterleitungsbezogene
Daten", einen Block 1190 "Liste von Pikonetz-Mitgliedern", d.h. Bluetooth-Einheiten,
die mit dem Pikonetz verbunden sind, einen Block 1170 "Liste von Weiterleitungsknoten
in dem Pikonetz",
einen Block 1173" funkbezogene
Parameter" und andere Pikonetz-bezogene
Daten. Der Block 1196 "Master/Slave-Indikator" schließt eine
Dateneinheit ein, die anzeigt, ob die BT-Einheit ein Master oder
ein Slave in dem Pikonetz ist. Der Block 1194 "Weiterleitungsknotenindikator/Nichtweiterleitungsknotenindikator" schließt eine
Dateneinheit ein, die angibt, ob die BT-Einheit in dem Pikonetz
ein Weiterleitungsknoten ist oder nicht. Der Block 1192 "weiterleitungsbezogene
Daten" schließt Daten
ein, die erforderlich sind zum Durchführen von Weiterleitung von
Daten von einem Pikonetz zu einem anderen, z.B. eine Liste von Pikonetzen,
die momentan miteinander verbunden sind. Der Block 1173 "funkbezogene Parameter" umfasst Frequenz-Hüpfabfolgen
und momentan verwendete Sendeleistung. Der Block 1175 "Zeitabstimmungsparameter" schließt eine
Schätzung des
Taktwertes der Master-Einheit ein. Die Liste von Weiterleitungsknoten
im Block 1170 umfasst einen Datensatz bzw. -Record jedes
Weiterleitungsknotens im Pikonetz, wobei jeder Datensatz mindestens
umfasst:
- • Die
AM_ADDR des Weiterleitungsknotens;
- • die
BD_ADDR des Weiterleitungsknotens.
-
Die
Liste der Pikonetz-Mitglieder des Blocks 1190 umfasst:
- • Einen
Datensatz bzw. -Record jeder Mitgliedseinheit des Pikonetzes mit
Ausnahme – in
einigen Fällen – der Bluetooth-Einheit
selbst, wobei jeder Datensatz umfasst:
- • Die
AM_ADDR der Bluetooth-Einheit;
- • Die
BD_ADDR der Bluetooth-Einheit;
- • andere
optionale Information über
die Bluetooth-Einheit, z.B. Kompatibilitätsinformation.
-
Um
zu ermöglichen,
dass Information von einem Slave zu einem anderen Slave in einem
Pikonetz übertragen
wird, muss die Information über
die Mitglieder des Pikonetzes an alle Mitglieder des Pikonetzes
verteilt werden. Wenn eine Quellen-Sklaveneinheit Information zu einer
anderen Sklaveneinheit übertragen
will, muss demnach der Quellen-Slave Zugang zu der Adresse der anderen
Slave-Einheit haben. Diese Adresse könnte die BD_ADDR oder die AM_ADDR
oder irgendeine andere Adresse sein, die verwendet wird auf einer
höheren
Schicht, z.B. die IP-Adresse. Die beste Wahl der Adresse hängt von dem
Adressierschema ab, das in dem Pikonetz verwendet wird. Eine Kombination
einiger Adressen könnte
manchmal auch verwendet werden, um die Umsetzung zwischen Adressen
zu ermöglichen,
z.B. zwischen einer IP-Adresse und einer BD_ADDR und/oder zwischen
einer BD_ADDR und einer AM_ADDR.
-
Demnach
sollten z.B. die AM_ADDR und die BD_ADDR aller Slaves für alle Slaves
verfügbar
gemacht werden.
-
Beim Übertragen
von Information zwischen Slaves in einem Pikonetz wird das Routing
unter Verwendung des Basisband-Schichtprotokolls
ausgeführt,
hierdurch den Bedarf des Durchquerens aller Protokollschichten bis
zu der Netzwerkschicht 105 oder einer NAL-Schicht eliminierend.
Die die zu übertragende
Information enthaltenden Pakete können Basisband-Pakete genannt
werden und sie werden von einem ersten Slave über den Master zu einem zweiten
Slave übertragen.
Der erste Slave erhält
die Adresse des zweiten Slave von dem Master, fügt sie in ein Kopffeld von
Basisband-Paketen
ein und übermittelt
sie zu dem Master. Der Master analysiert die Adresse im Kopf und
leitet das Paket zu dem zweiten Slave in Übereinstimmung mit der Adresse
weiter. Zudem, wenn AM_ADDR die verwendete Adressierung ist, wird
der Daten-Overhead, der repräsentiert wird
durch eine Zieladresse höherer
Schicht (z.B. eine IP-Adresse in der IP-Schicht oder eine BD_ADDR
in der NAL-Schicht) vollständig
eliminiert.
-
Um
das Vorhandensein eines neuen Mitgliedes und die relevante bzw.
relevanten Adresse/n dieses neuen Mitgliedes den anderen Sklaveneinheiten in
dem Pikonetz sobald wie möglich
bekannt zu machen, wird vorgezogen, dass die Master-Einheit Adressinformation
der neuen Sklaveneinheit verteilt, sobald die neue Sklaveneinheit
mit dem Master verbunden ist. Die Master-Einheit sollte auch die
neue Sklaveneinheit in Bezug auf die bereits im Pikonetz vorhandenen
Sklaveneinheiten informieren durch Übermitteln der relevanten Information
und insbesondere der Adressinformation für alle bereits existierenden
Sklaveneinheiten. In ähnlicher
Weise informiert die Master-Einheit alle anderen Sklaveneinheiten
im Pikonetz, wenn eine Sklaveneinheit das Pikonetz verlässt. Wenn
eine Sklaveneinheit das Pikonetz verlässt, wird dies explizit oder
implizit durch Auszeit bedingt durch Verlust von Funkkontakt erfasst.
Eine alternativer Verteilungsmechanismus ist, dass der Master periodisch
die Adressinformation aller Sklaveneinheiten im Pikonetz verteilt.
Sicherlich ist es auch möglich,
die zeitangetriebene Verteilung der Information "ereignisausgelöst" zu kombinieren.
-
Der
Verteilungsmechanismus könnte
entweder rundsenden (Broadcast) an alle Pikonetz-Mitglieder auf
einmal, obwohl der Bluetooth-Intra-Pikonetz-Rundsendemechanismus
nicht zuverlässig
ist, da Meldungen nicht bestätigt
werden, oder, senden in eins-zu-eins-Zuordnung (Unicast) von der
Master-Einheit zu
jeder Sklaveneinheit, eine nach der anderen, einschließen. Wenn
die Adressinformation aller Sklaveneinheiten periodisch per Unicast
an jede Sklaveneinheit übermittelt
wird, sollte die Adressinformation der Sklaveneinheit, die die Information empfängt, sicherlich
ausgeschlossen sein von der Meldung. Das zu verwendende Protokoll
könnte
das LMP (einschließlich
neuer PDUs) sein oder ein VNS-Schichtprotokoll. Es gibt auch andere
Vorschläge
der Anpassungsschichten zwischen L2CAP und der Netzschicht, die
beispielsweise Netzanpassungsschicht bzw. Network-Adaption-Layer (NAL) genannt
wird, welche auch eingeschlossen sein könnten in diesem Protokoll.
Andere Protokolle können
ebenfalls zu diesem Zweck verwendet werden.
-
Eine
BT-Einheit kann nur Daten in einem Pikonetz auf einmal senden und
empfangen, so dass die Teilnahme in mehreren Pikonetzen auf einer Zeit-Multiplex-Basis
sein muss. Die in jedem Pikonetz verbrachte Zeit wird von einem
Zeitplanungs-Algorithmus
(Scheduling) verwaltet. Dieser Algorithmus könnte auf verschiedene Arten
in Übereinstimmung
mit unterschiedlichen Prinzipien entworfen sein, z.B. fester zyklischer
Warteschlangenbetrieb, Verhandlung zwischen einer Slave-Einheit
und einer Master-Einheit (wenn anwendbar), dynamisches Zuordnen
von Zeitfenstern (durch den Master eines Pikonetzes basierend auf
dem vorliegenden Verkehr), etc. Wenn eine BT-Einheit von einem Pikonetz
zu einem anderen umschaltet, muss sie die Verwendung eines anderen
Satzes von Pikonetz-bezogenen Daten beginnen, wie in 10 gezeigt.
Speziell die funkbezogenen Parameter, z.B. die Frequenz-Hüpfabfolge, die Zeitabstimmungsparameter,
z.B. der Taktwert des Masters des Pikonetzes müssen umgeschaltet werden, damit
die Bluetooth-Einheit in der Lage ist, in dem neuen Pikonetz zu
kommunizieren. In 10 sind unterschiedliche Sätze von
Pikonetz-bezogenen Daten in einer BT-Einheit dargestellt sowie ein
Pikonetz-Indikator, der anzeigt, welcher der Sätze von Pikonetz-bezogenen
Daten momentan gültig
ist.
-
Um
eine Inter-Pikonetz-Kommunikation zu ermöglichen, muss die Adresse jedes
im Pikonetz vorliegenden Weiterleitungsknoten ebenfalls verteilt werden.
Diese Adresse könnte
AM_ADDR sein, BD_ADDR, eine IP-Adresse oder selbst eine VNS- oder
NAL-spezifische
Adresse oder eine ähnliche Adresse.
Auf dieselbe Weise wie für
allgemeine Adressinformation eines Slave-Mitglieds könnte auch in diesem Fall irgendeine
Kombination dieser Adressen nützlich
sein, abhängig
von dem Adressierungs- und Routing-Mechanismus, der in dem Pikonetz
und dem Streunetz verwendet wird, und die unabhängige Verwendung der Adressinformation.
Eine Verteilung von Weiterleitungsknoteninformation könnte separat oder
in Verbindung mit der Verteilung der allgemeinen Adressinformation
aller Sklaveneinheiten im Pikonetz vorgenommen werden. Wenn in Verbindung mit
der Adressinformation bereitgestellt, könnte ein Indikator für jede Sklaveneinheit
vorgesehen sein, der anzeigt, ob es ein Weiterleitungsknoten ist
oder nicht. Wenn eine Weiterleitungsknoteninformation betrachtet
wird, betrifft dies auch den Master, da der Master auch ein Weiterleitungsknoten
sein kann. Wenn die Weiterleitungsknoteninformation gemeinsam mit
der Sklaveneinheitsadressinformation verteilt wird und die Master-Einheit
zufällig
ein Weiterleitungsknoten ist, muss dieser Zustand der Master-Einheit
zu der Information der Sklaveneinheiten hinzugefügt werden.
-
Selbst
wenn die Weiterleitungsknoteninformation in der Verteilung von Sklaveneinheitsadressinformation
enthalten ist, muss es dennoch möglich sein,
Weiterleitungsknoteninformation getrennt zu verteilen, wenn ereignisausgelöste Verteilung
verwendet wird. Wenn eine BT- Einheit
ein Weiterleitungsknoten wird, müssen
die anderen Mitglieder des Pikonetzes informiert werden. In ähnlicher
Weise, wenn eine BT-Einheit aufgibt, Weiterleitungsknoten zu sein,
sollten die anderen Pikonetzmitglieder informiert werden. Diese
Information könnte
von der Master-Einheit zu den anderen Slave-Einheiten rundgesendet
werden oder per Unicast zugestellt werden, aber zuerst muss die
betroffene BT-Einheit, d.h. die Einheit, die ein Weiterleitungsknoten
wird oder diesen Zustand aufgibt, die Master-Einheit informieren. Dies
wird vorzugsweise über
Meldungen in der VNS-Schicht oder NAL-Schicht oder einer ähnlichen Schicht
ausgeführt,
aber die Meldungen könnten auch
mit neuen LMP-PDUs
oder durch ein anderes Protokoll übertragen werden.
-
In
einer weiteren Ausführungsform
meldet die BT-Einheit, die ihren Weiterleitungszustand davon, kein
Weiterleitungsknoten zu sein, in den Zustand, ein Weiterleitungsknoten
zu sein, geändert hat,
dies den anderen Pikonetz-Mitgliedern direkt über die Slave-zu-Slave-Kommunikation.
-
Um
das Kompatibilitätsproblem
in Slave-zu-Slave-Kommunikation innerhalb eines Pikonetzes zu behandeln,
könnte
die Master-Einheit
einfach die Liste von unterstützten
und nicht unterstützten
Merkmalen für
eine bestimmte Slave-Einheit gemeinsam mit der Adressinformation
für die
betreffende Slave-Einheit verteilen. Die Liste von Merkmalen sollte
zuerst von der neuen Slave-Einheit durch die Master-Einheit erhalten
werden über
die Prozeduren LMP-features-req, LMP features res, obwohl die Liste
von Merkmalen bzw. Features ausgedehnt werden muss, um beispielsweise
die gemeinsame Medienemulationsschicht (Shared Medium Emulation
Layer) zu unterstützen,
z.B. die NAL-Schicht, falls verwendet, Fähigkeiten weiterleitend, Unterstützung für Slave-zu-Slave-Intra-Pikonetz-Kommunikation,
etc. Änderungen
in der Liste unterstützter
Merkmale in bereits existierenden Pikonetz-Mitgliedern sollten ebenfalls
an die anderen Pikonetz-Mitglieder kommuniziert werden. Dies könnte dadurch ausgeführt werden,
dass zuerst die Master-Einheit informiert wird, es sei denn, die
betroffene Einheit ist selbst die Master-Einheit, welche dies dann
an die anderen Sklaveneinheiten unter Verwendung von Rundsenden
oder mehreren Unicast-Meldungen verteilt. Eine Alternative ist,
dass die betroffene Slave-Einheit die neue Liste unterstützter und
nicht unterstützter
Merkmale oder möglicherweise
nur die Modifikationen der alten Liste an die anderen Slave-Einheiten
per Slave-zu-Slave-Kommunikation verteilt und an die Master-Einheit
unter Verwendung von Slave-zu-Master-Einzelsenden (Unicast) verteilt.
-
In
noch einem weiteren Verfahren zum Bereitstellen nützlicher
Information, d.h. irgendeiner der oben erwähnten Arten von Information
und möglicherweise
anderer nützlicher
Information, an alle Mitglieds-Einheiten eines Pikonetzes ist es,
die gesamte Information in der Master-Einheit, beispielsweise einer
Datenbank, zu speichert und diese Information für die Sklaveneinheiten auf
Anfrage hin zugreifbar zu machen. Eine Sklaveneinheit würde dann
in der Lage sein, die gesamte Information in der Datenbank des Masters
oder eine relevante Untermenge der Information von dem Master anzufordern.
Eine relevante Untermenge würde
zum Beispiel die gesamte Adressinformation sein, die gesamte Weiterleitungsknoteninformation
oder Adressinformation für
eine ausgewählte
Einheit. Die Anfrage und Antwort könnten durch LMP oder ein speziell
bezeichnetes Protokoll übertragen
werden oder durch unterschiedliche Protokolle, abhängig von
der Art der angeforderten Information.
-
Bevor
eine Slave-Einheit irgendwelche Information von der Master-Einheit
anfordern kann, muss die relevante Information von den Slave-Einheiten
zu der Master-Einheit übermittelt
werden. Dies könnte auf
Anfrage von der Master-Einheit vorgenommen werden oder von einer
Slave-Einheit gesendet, ausgelöst
durch ein internes Ereignis in der Slave-Einheit, z.B. ein Umschalten
von dem Zustand, ein Weiterleitungsknoten zu sein, zu dem, keiner
zu sein. Ein solches "Master-Einheits-Datenbank"-Verfahren kann als
Einzellösung
verwendet werden oder als ein Sicherungsmechanismus für irgendwelche
der oben beschriebenen Verteilungsmechanismen.
-
In
einer anderen Ausführungsform
ist ein Verfahren zum Behandeln von Kompatibilitätsproblemen während einer
Slavezu-Slave-Kommunikation, es den LMP_features_req und LMP_features_res PDU
zu ermöglichen,
Slave-zu-Slave zu funktionieren, d.h. im wesentlichen Durchlaufen
zweier Hops innerhalb eines Pikonetzes. Dieses Verfahren erfordert,
dass beide involvierte Slave-Einheiten Slave-zu-Slave-Kommunikation unterstützen, aber
auch andere Information der Unterstützung anderer Merkmale, z.B.
die Unterstützung
von dem modifizierten Basisband-Paketkopfformat, das in der gleichzeitig angemeldeten
Patentanmeldung beschrieben worden ist (Verfahren, Knoten und Anordnung
in einem Kommunikationsnetz) und detailliert in Verbindung mit 1a–e besprochen
ist.
-
In 6 ist
ein Bluetooth-Netz oder Streunetz 601 dargestellt, das
zwei Pikonetze umfasst. Das erste Pikonetz 602 umfasst
mehrere Knoten A, B, C, D, E und F, wobei der Knoten F der Master
ist und die anderen Knoten A, B, C, D, E Slaves sind. Das zweite
Pikonetz 603 umfasst mehrere Knoten E, G, H, I und J, wobei
der Knoten J der Master ist und die anderen Knoten E, G, H und I
Slaves sind. Jeweilige Slaves A, B, C, D und E kommunizieren mit
dem Master F über
Funkverbindungen 604. Die jeweiligen Slaves E, G, H und
I kommunizieren mit dem Master J über Funkverbindungen 605.
Die Einheit E ist ein Slave in sowohl dem ersten Pikonetz 602 als
auch dem zweiten Pikonetz 603 und dient als Weiterleitungsknoten
beim Übertragen
von Paketen zwischen dem ersten Pikonetz 602 und dem zweiten
Pikonetz 603. Das Bluetooth-Netz 601 umfasst demnach
zwei Master F und J und einen Weiterleitungsknoten E. Innerhalb
des Netzes wird ein Basisbandpaket übertragen, wobei das Basisbandpaket
einen Kopf bzw. Header hat, wie in 1a und 1b gezeigt.
Der Master F steuert die gesamte Kommunikation innerhalb des ersten
Pikonetzes 602, und der Master J steuert die gesamte Kommunikation
innerhalb des zweiten Pikonetzes 603. Ein Paket, das auch
ein Basisbandpaket genannt wird, wie bei der Slave-zu-Slave-Kommunikation,
kann von einem ersten Knoten A im ersten Pikonetz über den
Master F, den Weiterleitungsknoten E und den Master J zu einem zweiten Knoten
G im zweiten Pikonetz geroutet werden. Zum Ausführen der Übertragung des Paketes wird
eine Übertragungsstrecke
bzw. -route erstellt zwischen dem ersten Knoten A und dem zweiten
Knoten G, wobei jedes Paket, das entlang der Route gesendet wird,
die Routing-Information umfasst, die von der Netzwerkschicht oder
NAL-Schicht stammt. Wenn ein Routing-Protokoll, das AODV (Ad-hoc On demand
Distance Vector) genannt wird, verwendet wird, ist die Routing-Information
die Adresse des Zielknotens, in diesem Fall die des zweiten Knotens
G. wenn ein Routing-Protokoll verwendet wird, das Dynamic-Source-Routing
bzw. dynamische Quellen-Wegelenkung genannt wird, umfasst die Routing-Information
die Adresse jedes Knotens, der zu durchqueren ist entlang der Route
bzw. Übertragungsstrecke,
und die Zieladresse, was in diesem Fall die Adressen der Knoten
F, E, J und G umfasst. Um die Paketübertragung unter Verwendung
des Basisbandprotokolls in der physikalischen Schicht auszuführen, ist
die Routing-Information
in einem Kopf bzw. Header eines niederen Protokolls angeordnet, d.h.
im Nutzlast-Headerfeld, das eine Kurzschließung sowohl der Basisband-Nutzlast-Unterschicht als
auch der L2CAP-Schicht impliziert. Der Begriff Kurzschließen einer
Protokollschicht, wie er hier verwendet wird, bedeutet, dass der
Weiterleitungsknoten und der Master-Knoten die Information dieser Protokollschicht
nicht auszupacken und zu analysieren zu haben, um das Paket weiterzuleiten.
-
In 7c ist
ein Diagramm des Basisbandpaket-Headerformates gezeigt. In 7a ist
das Nutzlast-Headerformat eines Basisbandpakets für Einzelschlitzpakete
gezeigt. In 7b ist ein Diagramm des Formats
für Basisbandpakete
vom Mehrschlitztyp gezeigt. Die in 7a–cgezeigten
Header sind in Bezug auf die in 1c–e dargestellten
Header vergrößert um
ein Weiterleitungsindikatorfeld "Weiterl.-Flag" (engl.: FORW IND)
und ein relevantes Routing-Indikatorfeld ROUTING INFO. Der Weiterleitungsindikator
weist einen Weiterleitungsknoten an, dass er die Pakete zu den Protokollen
der oberen Schicht senden sollte, wenn der Weiterleitungsindikator
nicht gesetzt ist, z.B. FORW IND=0, oder dass er einen Weiterleitungsprozess
aufrufen sollte innerhalb der unteren Schicht, wenn der Weiterleitungs-Indikator gesetzt
ist, z.B. FORW IND=1. Das Setzen des Weiterleitungsindikators gibt
auch an, dass er gefolgt wird von der Adressinformation, die zum
Weiterleiten des Paketes erforderlich ist. Wenn der Weiterleitungsindikator
nicht gesetzt ist, ist keine Routing-Information eingeschlossen.
Alternativ kann die Routing-Information eingeschlossen sein, angebend an
den Empfangsknoten, dass der Empfangsknoten der Bestimmungsortknoten
ist und demnach, dass das Paket zu Protokollen der oberen Schicht
zu senden ist. Dieses Niederschicht-Routingverfahren kann verwendet
werden für
Datenpakete, die entlang eines bereits eingerichteten Leitwegs zu
senden sind. Die Meldung, die verwendet wurde zum Erstellen des Leitwegs
zum ersten Mal, z.B. NAL- oder eine Netzschichtmeldung, kann nicht
das hier beschriebene Verfahren anwenden.
-
Nun
kann bei Paketübertragung
in der Netzschicht das Paket viel größer sein als in der physikalischen
Schicht. Die NAL- oder
Netzschichtpakete werden möglicherweise
in ein einzelnes L2CAP-Paket passen, aber die L2CAP-Pakete können häufig segmentiert
werden müssen,
bevor sie in mehreren Basisbandpaketen übertragen werden. Die Tatsache, dass
die Routing-Information in jedem Basisbandpaket statt nur in dem
NAL- oder Netzschichtpaket enthalten ist, erhöht den Overhead bzw. Datenzusatz.
In einer Ausführungsform
wird ein L2CAP-Paket
segmentiert in mehrere Basisbandpakete, um übertragen zu werden, wobei
ein erstes Basisbandpaket das erste Segment des L2CAP-Paketes enthält und die nachfolgenden
Basisbandpakete die jeweiligen nachfolgenden Segmente des L2CAP-Paketes
enthalten. In einer weiteren Ausführungsform wird der Weiterleitungsindikator
gesetzt und die Routing-Information
wird in die ersten und die nachfolgenden Basisbandpakete eingefügt.
-
In
noch einer weiteren Ausführungsform
wird der Weiterleitungsindikator gesetzt und die Routing-Information
wird nur in das erste Basisbandpaket eingefügt, aber in nachfolgenden Basisbandpaketen ist
keine Routing-Information enthalten. In diesem Fall weist der Weiterleitungsindikator
in dem ersten Basisbandpaket auch den Weiterleitungsknoten E und
die Master F und J (wie in 6 gezeigt)
an, die Routing-Information des ersten Basisbandpaketes zu speichern
und die Routing-Information der ankommenden Verbindung zuzuordnen,
d.h. der Verbindung, auf welcher das erste Basisbandpaket durch den
Weiterleitungsknoten E empfangen worden ist und auf welcher auch
die nachfolgenden Basisbandpakete von dem Weiterleitungsknoten E
empfangen werden. Der Weiterleitungsindikator muss mit noch einem
Ein-Bit-Indikator
vervollständigt
werden, welcher Routing-Informations-Indikator
(RII) genannt wird. Der RII wird nur gesetzt, wenn der Weiterleitungsindikator
gesetzt wird. Der Zweck des RII ist, anzuzeigen, ob die Routing-Information
tatsächlich eingeschlossen
wird nach dem Weiterleitungs-Indikator.
Für das
erste Basisbandpaket wird das RII-Paket gesetzt, z.B. =1, anzeigend,
dass die Routing-Information vorliegt. In den nachfolgenden jeweiligen Basisbandpaketen
wird das Weiterleitungs-Bit gesetzt, RII wird gelöscht, z.B.
=0, zum Anzeigen, dass keine Routing-Information vorliegt. Dann
verwenden der Weiterleitungsknoten E und die Master-Knoten F und J die
zuletzt empfangene Routing-Information zum Weiterleiten der darauffolgend
empfangenen Basisbandpakete bis neue Routing-Information in einem
Basisbandpaket empfangen wird.
-
In 9 ist
ein Ablaufdiagramm zum Anzeigen, wie ein Paket geroutet wird von
einem ersten Knoten A in einem ersten Pikonetz über einen Weiterleitungsknoten
E zu einem zweiten Knoten G in einem zweiten unterschiedlichen Pikonetz
in der physikalischen Schicht unter Verwendung des Bluetooth-Protokolls eines
Bluetooth-Netzes, das mehrere Knoten umfasst. Im Block 901 gibt
der erste Knoten in einem Header eines Basisbandpaketes an, dass
das Paket weitergeleitet werden sollte. Daraufhin fügt im Block 902 der
erste Knoten A relevante Information in den Header des Basisbandpaketes
ein. Dann übermittelt
im Block 903 der erste Knoten das Paket unter Verwendung
von Slave-zu-Slave-Kommunikation zu dem Weiterleitungsknoten E.
Dann analysiert im Block 904 der Weiterleitungsknoten E die
Weiterleitungsanzeige und die Routing-Information des empfangenen
Basisbandpakets. Daraufhin schließt im Block 905 der
Weiterleitungsknoten E die Logical-Link-Control- und die Anwendungsschichtprotokoll-Schicht (L2CAP-Schicht)
des Pakets kurz. Schließlich
leitet im Block 906 der Weiterleitungsknoten E das Paket
zu dem Zielknoten weiter, d.h. dem zweiten Knoten G, in Übereinstimmung
mit der empfangenen Routing-Information unter Verwendung von Slave-zu-Slave
Kommunikation.
-
Nun
wird ein Prozess beschrieben zum Erläutern, wie ein Knoten ein Weiterleitungsknoten wird.
Zuerst wird der Informationsstrom im ersten Pikonetz beschrieben
unter Bezugnahme auf das Ablaufdiagramm in 11. Es
müssen
zwei Fälle
betrachtet werden; die betrachtete Bluetooth-Einheit kann eine Slave-Einheit
oder eine Master-Einheit des ersten Pikonetzes sein. Im Block 1510 ist
die Bluetooth-Einheit A ein Mitglied eines ersten Pikonetzes. Dann
tritt im Block 1520 die Einheit A einem zweiten Pikonetz
unter Verwendung von INQUIRY- und PAGE-Prozeduren bei, die im Bluetooth-Standard spezifiziert
sind. Im Block 1530 wird geprüft, ob die Einheit A der Master
im ersten Pikonetz ist. Wenn die Einheit A der Master des ersten
Pikonetzes ist, geht der Ablauf direkt zu Block 1550. Wenn
die Einheit A nicht der Master des ersten Pikonetzes ist, geht der Ablauf
zu Block 1540. Im Block 1540 informiert die Einheit
A den Master des ersten Pikonetzes von ihrem neuen Weiterleitungsknoten-Zustand, optional einschließlich anderer
Information, wie zum Beispiel der BD_ADDR des Masters des zweiten
Pikonetzes, des Master-Taktwertes und Zeitabstimmungsparameter des
zweiten Pikonetzes. Dann gibt im Block 1550 die Master-Einheit
des ersten Pikonetzes die Einheit A betreffende Daten in ihre Liste
von Weiterleitungsknoten im Pikonetz, einschließlich z.B. der AM_ADDR und
BD_ADDR der Einheit A und anderer optionaler Information. Daraufhin übermittelt
im Block 1560 die Master-Einheit des ersten Pikonetzes
Information über
den neuen Weiterleitungsknoten, wobei die gesamte Information in
der Master-Einheit oder einer Untereinheit davon gespeichert ist,
zu der mindestens einen der Slave-Einheiten, mit Ausnahme der Einheit
A, wenn die Einheit A eine Slave-Einheit im ersten Pikonetz ist
und sofern nicht der Intra-Pikonetz-Rundsendemechanismus bzw. Broadcast-Mechanismus
verwendet wird zum Übermitteln
der Information. Schließlich
geht der Ablauf zu Block 1570. Im Block 1570 fügt jede
empfangende Slave-Einheit die empfangene Weiterleitungsknoteninformation
in ihre Liste von Weiterleitungsknoten in dem Pikonetz, von dem
die empfangende Slave-Einheit ein Mitglied ist, ein.
-
Nun
wird der Informationsablauf in dem zweiten Pikonetz dargelegt, wenn
ein Knoten ein Weiterleitungsknoten wird. Es gibt zwei Fälle mit
zwei alternativen Arten des Verteilens von Information im Pikonetz,
was zu vier unterschiedlichen Fällen
führt:
- • Die
neue Einheit ist ein Slave im zweiten Pikonetz
Fall 1: Zuerst
wird die Pikonetz-Mitgliedsinformation verteilt, daraufhin wird
die Weiterleitungsknoteninformation verteilt.
Fall 2: Die Pikonetzinformation
und die Weiterleitungsknoteninformation werden gemeinsam verteilt.
- • Die
neue Einheit ist der Master des zweiten Pikonetzes, d.h. das zweite
Pikonetz wurde gerade erstellt.
Fall 3: Zuerst wird die Pikonetz-Mitgliedsinformation
verteilt, daraufhin wird die Weiterleitungsknoteninformation verteilt.
Fall
4: Pikonetz-Mitgliedsinformation und Weiterleitungsknoteninformation
werden gemeinsam verteilt.
-
Die
Fälle 1
und 3 werden nun unter Bezugnahme auf das Ablaufdiagramm in 12a und 12b dargelegt.
Im Block 2100 der 12a ist eine
Bluetooth-Einheit A ein Mitglied eines ersten Pikonetzes. Dann tritt
die Einheit A im Block 2110 einem zweiten Pikonetz bei
unter Verwendung der in dem Bluetooth-Standard spezifizierten INQUIRY- und
PAGE-Prozeduren.
Im Block 2115 wird bestimmt, ob die Einheit A ein Master
des zweiten Pikonetzes ist. Wenn die Einheit A der Master des zweiten Pikonetzes
ist, ist die BD_ADDR der Einheit A bereits der mindestens einen
Slave-Einheit des zweiten Pikonetzes bekannt. Da die Einheit A die
Master-Einheit ist,
hat sie keine AM-ADDR-Adresse. Wenn die Einheit A der Master des
zweiten Pikonetzes ist, geht demnach der Ablauf zu Block 2120,
in welchem andere relevante Information, z.B. Kompatibilitätsinformation
wie eine Liste von unterstützten
und nicht unterstützten
Merkmalen, IP-Adressen,
etc. zu der mindestens einen Slave-Einheiten des zweiten Pikonetzes übertragen
wird. Daraufhin geht der Ablauf zu 12b,
welcher nachstehend diskutiert wird. Wenn die Einheit A eine Slave-Einheit
des zweiten Pikonetzes ist, geht der Ablauf von Block 2115 zu
Block 2125. Wenn die Einheit A eine Slave-Einheit des zweiten
Pikonetzes ist, sind die BD_ADDR und AM_ADDR der Einheit A bereits
dem Master des zweiten Pikonetzes bekannt. Im Block 2125 wird
andere relevante Information, z.B. Kompatibilitätsinformation wie eine Liste
von unterstützten
und nicht unterstützten
Merkmalen, IP-Adressen, etc. von der Einheit A zur Master-Einheit des zweiten
Pikonetzes übertragen.
Daraufhin geht der Ablauf zu Block 2130. In dem Block 2130 speichert
die Master-Einheit
des zweiten Pikonetzes die empfangene Information in ihrer Datenbank,
vorzugsweise in ihrer Liste von Pikonetz-Mitgliedern. Dann sendet im Block 2135 die Master-Einheit
des zweiten Pikonetzes BD_ADDR und AM_ADDR jeder der anderen Slave-Einheiten
im zweiten Pikonetz Information, welche sie zuvor von jeder der
anderen Slave-Einheiten im zweiten Pikonetz erhalten hat, vollständig oder
eine Untergruppe davon, und die entsprechende Information der Master-Einheit
des zweiten Pikonetzes, ausschließlich BD_ADDR, welche bereits
der Einheit A bekannt ist, und AM_ADDR, welche nicht vorliegt, zur
Einheit A. Gemeinsam mit der obigen Information oder als eine getrennte Übertragung
sendet der Master des zweiten Pikonetzes auch Information über die
Weiterleitungsknoten im zweiten Pikonetz an die Einheit A. Dann
fügt im
Block 2140 die Einheit A einen neuen Record mit relevanten
Daten für
jede der anderen Slave-Einheiten in dem zweiten Pikonetz in ihre
Datenbank ein, vorzugsweise in ihre Liste von Pikonetz-Mitgliedern.
Die empfangene Information über die
Master-Einheit des zweiten Pikonetzes wird auch in der Liste von
Pikonetz-Mitgliedern gespeichert oder woanders in der Datenbank.
Daraufhin geht der Ablauf zu Block 2145, in welchem die
Einheit A einen neuen Record mit relevanten Daten für jeden
der anderen Weiterleitungsknoten im zweiten Pikonetz in ihre Datenbank
einfügt,
vorzugsweise in die Liste von Weiterleitungsknoten im Pikonetz,
einschließlich
jedes Records, z.B. BD_ADDR und AM_ADDR, falls vorhanden, des Weiterleitungsknotens
und andere optionale Information. Dann sendet im Block 2150 die Master-Einheit
des zweiten Pikonetzes die BD_ADDR und die AM_ADDR der Einheit A
und die Information, die von der Einheit A erhalten wird, insgesamt
oder als Untergruppe davon an die andere mindestens eine Slave-Einheit
in dem zweiten Pikonetz, d.h. ausschließlich der Einheit A, es sei
denn, der Intra-Pikonetz-Rundsende- bzw. Broadcast-Mechanismus wird verwendet
zum Übermitteln
der Information. Daraufhin geht der Ablauf zu Block 2155,
in welchem jede empfangende Slave-Einheit einen neuen Record mit
relevanten Daten in Bezug auf die Einheit A in ihre Datenbank einfügt, vorzugsweise
in ihre Liste von Pikonetz-Mitgliedern. Dann liefert in Block 2160 die
Einheit A Information über
ihren Weiterleitungsknoten-Zustand an die Master-Einheit des zweiten
Pikonetzes. Daraufhin fügt
im Block 2165 die Master-Einheit des zweiten Pikonetzes einen
Record in Bezug auf die Einheit A in ihre Liste von Weiterleitungsknoten
im Pikonetz ein, umfassend z.B. die AM_ADDR und die BD_ADDR der
Einheit A und andere optionale Information. Dann übermittelt
im Block 2170 die Master-Einheit des ersten Pikonetzes
Information in Bezug auf den neuen Weiterleitungsknoten, die gesamte
in der Master-Einheit oder einer Untergruppe davon gespeicherte
Information zu der mindestens einen Slave-Einheit mit Ausnahme der Einheit
A, wenn die Einheit A eine Slave-Einheit des ersten Pikonetzes ist
und solange nicht der Intra-Pikonetz-Broadcast-Mechanismus
verwendet wird zum Übermitteln
der Information. Schließlich
fügt im
Block 2175 jede empfangende Slave-Einheit die empfangene
Knotenweiterleitungsinformation in ihre Liste von Weiterleitungsknoten
im Pikonetz ein.
-
12b offenbart den fortgesetzten Informationsablauf
nach Block 2120. Die BD_ADDR und die AM_ADDR jeder der
Slave-Einheiten
im zweiten Pikonetz sind bereits der Einheit A bekannt, da die Einheit
A die Master-Einheit des zweiten Pikonetzes ist, und im Block 2180 sammelt
die Einheit A andere Information, die in Bezug auf die Slaves relevant
ist, falls verfügbar,
z.B. Kompatibilitätsinformation
wie eine Liste unterstützter
und nicht unterstützter
Merkmale. Wenn eine Slave-Einheit ein Weiterleitungsknoten ist,
wird auch der Weiterleitungsknoten-Zustand und optionale zugehörige Information
zu der Einheit A übertragen
und von ihr gesammelt. Dann fügt
die Einheit A im Block 2182 die empfangene Information
in die bereits existierenden Records in ihrer Liste von Pikonetz-Mitgliedern
ein. Daraufhin fügt
im Block 2184 die Einheit A Information jeder Slave-Einheit,
die ein Weiterleitungsknoten ist, in ihre Liste von Weiterleitungsknoten
im Pikonetz ein, wobei die Information z.B. AM_ADDR und BD_ADDR
und andere optionale Information umfasst. Die BD_ADDR der Einheit
A ist bereits den Slave-Einheiten
des zweiten Pikonetzes bekannt und da die Einheit A die Master-Einheit
ist, hat sie keine AM_ADDR, aber im nächsten Block wird andere relevante
Information zu der mindestens einen Slave-Einheit des zweiten Pikonetzes übermittelt,
z.B. Kompatibilitätsinformation wie
eine Liste unterstützter
und nicht unterstützter Merkmale,
IP-Adressen, etc. Dann speichert im Block 2190 jede empfangende
Slave-Einheit die
relevanten Daten in Bezug auf die Einheit A in ihrer Datenbank,
z.B. in ihrer Liste von Pikonetz-Mitgliedern. Dann
sendet im Block 2192 die Einheit A Information in Bezug
auf ihren Weiterleitungsknoten-Zustand zu der mindestens einen Slave-Einheit
des zweiten Pikonetzes. Schließlich
fügt im
Block 2194 jedes empfangende Slave-Einheit die empfangene Weiterleitungsknoteninformation
in ihre Liste von Weiterleitungsknoten im Pikonetz ein, einschließlich z.B.
der BD_ADDR und anderer optionaler Information.
-
Die
Fälle 2 und 4 werden
nun unter Bezugnahme auf das Ablaufdiagramm der 13a und 13b diskutiert.
Im Block 5500, 13a,
ist eine Bluetooth-Einheit A ein Mitglied eines ersten Pikonetzes.
Dann tritt im Block 5510 die Einheit A einem zweiten Pikonetz
bei unter Verwendung der INQUIRY- und
PAGE-Prozeduren, die in der Bluetooth-Spezifikation spezifiziert
sind. Im Block 5520 wird bestimmt, ob die Einheit A der
Master des zweiten Pikonetzes ist. Wenn die Einheit A der Master
des zweiten Pikonetzes ist, geht der Ablauf zu Schritt 13b,
welcher nachstehend diskutiert wird. Im Fall, dass die Einheit A
eine Slave-Einheit des zweiten Pikonetzes ist, geht der Ablauf von
Block 5520 zu 5530. Wenn die Einheit A eine Slave-Einheit
des zweiten Pikonetzes ist, sind die BD_ADDR und die AM_ADDR der
Einheit A bereits dem Master des zweiten Pikonetzes bekannt. Im
Block 5530 wird andere relevante Information, z.B.
-
Inkompatibilitätsinformation
wie eine Liste von unterstützten
und nicht unterstützten
Merkmalen, IP-Adresse, etc. gemeinsam mit Information in Bezug auf
den Weiterleitungsknoten-Zustand der Einheit A von der Einheit A
zur Master-Einheit des zweiten Pikonetzes übermittelt. Daraufhin geht
der Ablauf zu Block 5535. Im Block 5535 speichert
die Master-Einheit des zweiten Pikonetzes die empfangene Information
in ihrer Datenbank. Vorzugsweise wird ein Teil der Information,
z.B. ausschließlich
der Information in Bezug auf den Weiterleitungszustand der Einheit
A, in der Liste von Pikonetz-Mitgliedern gespeichert, und die Information
in Bezug auf den Weiterleitungsknotenzustand der Einheit A wird
gemeinsam mit z.B. BD_ADDR und AM_ADDR der Einheit A in die Liste von
Weiterleitungsknoten eingegeben. Dann sendet im Block 5540 die
Master-Einheit des zweiten Pikonetzes BD_ADDR und AM_ADDR jeder
der anderen Slave-Einheiten in das zweite Pikonetz, deren Information
zuvor von jeder der anderen Slave-Einheiten in dem zweiten Pikonetz
empfangen worden ist, insgesamt oder eine Untermenge davon, und
die entsprechende Information über
die Master-Einheit des zweiten Pikonetzes, ausschließlich BD_ADDR,
welche bereits der Einheit A bekannt ist, und AM_ADDR, welche nicht
vorliegt, zur Einheit A. Gemeinsam mit der oben erwähnten Information
oder als eine getrennte Übertragung
sendet der Master des zweiten Pikonetzes auch Information über die
Weiterleitungsknoten des zweiten Pikonetzes zur Einheit A. Dann fügt im Block 5545 die
Einheit A einen neuen Record mit relevanten Daten für jede der
anderen Slave-Einheiten in dem zweiten Pikonetz in seine Datenbank ein,
vorzugsweise in seine Liste von Pikonetz-Mitgliedern. Die empfangene Information über die
Master-Einheit des
zweiten Pikonetzes wird auch in der Liste von Pikonetz-Mitgliedern
gespeichert oder andernfalls in der Datenbank. Daraufhin geht der
Ablauf zu Block 5550, wobei die Einheit A einen neuen Datensatz
(Record) mit relevanten Daten für
jeden der Weiterleitungsknoten im zweiten Pikonetz in seiner Datenbank
speichert, vorzugsweise in der Liste von Weiterleitungsknoten im
Pikonetz, dabei in jedem Datensatz z.B. BD_ADDR und AM_ADDR, falls
vorhanden, des Weiterleitungsknotens und andere optionale Information
einschließend.
Dann sendet in Block 5555 die Master-Einheit des zweiten
Pikonetzes die BD_ADDR und die AM_ADDR der Einheit A und die Information,
die von der Einheit A empfangen worden ist, insgesamt oder als Untermenge
davon, an die andere mindestens eine Sklaveneinheit in dem zweiten
Pikonetz, d.h. ausschließlich
der Einheit A, solange nicht der Intra-Pikonetz-Rundsendemechanismus
verwendet wird zum Übermitteln
der Information. Schließlich
geht der Ablauf zu Block 5560, wobei jede empfangende Slave-Einheit
alle oder einen Teil der empfangenen Daten in ihrer Datenbank speichert.
Vorzugsweise wird ein Teil der Daten, z.B. ausschließlich der
den Weiterleitungsknoten-Status betreffenden Daten der Einheit A,
eingefügt
in die Liste von Pikonetz-Mitgliedern. Die Daten in Bezug auf den Weiterleitungsknoten-Zustand
der Einheit A gemeinsam mit z.B. der BD_ADDR und der AM_ADDR der Einheit
A werden in die Liste von Weiterleitungsknoten eingefügt.
-
13b offenbart den Informationsablauf in dem Fall,
in welchem die Einheit A ein Master ist, nach dem Block 5520 in 13a. Die BD_ADDR und die AM_ADDR jeder der Slave-Einheiten in dem zweiten
Pikonetz sind der Einheit A bereits bekannt, da die Einheit A die
Master-Einheit des zweiten Pikonetzes ist. Demnach sammelt in Block 5560 die
Einheit A andere relevante Information, falls vorhanden, z.B. Kompatibilitätsinformation
wie eine Liste unterstützter
und nicht unterstützter
Merkmale. Wenn eine Slave-Einheit ein Weiterleitungsknoten ist,
wird der Weiterleitungsknoten-Zustand
und optionale bezogene Information ebenfalls zur Einheit A übermittelt. Dann
fügt im
Block 5562 die Einheit A die empfangene Information in
die bereits existierenden Records bzw. Datensätze in ihrer Liste von Pikonetz- Mitgliedern ein.
Daraufhin fügt
im Block 5564 die Einheit A Information der möglicherweise
mindestens einen Slave-Einheit,
die Weiterleitungsknoten ist, in ihre Liste von Weiterleitungsknoten
in dem Pikonetz ein, die z.B. AM_ADDR und BD_ADDR und andere Information
umfasst. Die BD_ADDR der Einheit A ist bereits den Slave-Einheiten
des zweiten Pikonetzes bekannt und da die Einheit A die Master-Einheit
ist, hat sie keine AM_ADDR. Demnach wird im Block 5560 andere
relevante Information an die mindestens eine Slave-Einheit des zweiten
Pikonetzes übermittelt, z.B.
Kompatibilitätsinformation
wie eine Liste unterstützter
oder nicht unterstützter
Merkmale, IP-Adresse, etc. Dann speichert im Block 5570 jede
empfangende Slave-Einheit die relevanten Daten in Bezug auf die
Einheit A in ihrer Datenbank, z.B. in ihrer Liste von Pikonetz-Mitgliedern.
Dann fügt
im Block 5572 jede empfangende Slave-Einheit die empfangene Weiterleitungsknoteninformation
in ihre Liste von Weiterleitungsknoten im Pikonetz ein, einschließlich z.B.
der BD_ADDR und anderer optionaler Information.
-
Das
Szenario, wenn eine Bluetooth-Einheit aufgibt, Weiterleitungsknoten
zu sein, wird nun betrachten. Eine Bluetooth-Einheit A wird als
ein Mitglied eines ersten und eines zweiten Pikonetzes angenommen
und bildet demnach einen Weiterleitungsknoten in beiden Pikonetzen.
Die Einheit A verlässt
dann das zweite Pikonetz. 14 ist
ein Ablaufdiagramm zum Erläutern
des Informationsablaufs im ersten Pikonetz, wenn eine Einheit A
aufgibt, Weiterleitungsknoten zu sein. Es gibt zwei Fälle zu betrachten:
- • Einheit
A ist eine Slave-Einheit im ersten Pikonetz;
- • Einheit
A ist der Master des ersten Pikonetzes.
-
In 14,
wie in Block 4100 angegeben, ist die Einheit A ein Mitglied
eines ersten und eines zweiten Pikonetzes. Dann geht der Ablauf
zu Block 4110, wobei die Einheit A das zweite Pikonetz
verlässt
in Übereinstimmung
mit bekannten Prozeduren, die in dem Bluetooth-Standard spezifiziert
sind, entweder explizit durch Senden oder Empfangen von LMP PDU
LMP_detach oder implizit durch Verbindungszeitunterbrechung bedingt
durch Verlust des Funkkontaktes Dann wird in Block 4120 entschieden, ob
die Einheit A der Master des ersten Pikonetzes ist. Wenn die Einheit
A der Master ist, geht der Ablauf zu Block 4130. Wenn die
Einheit A in dem ersten Pikonetz eine Slave-Einheit ist, sendet
die Einheit A eine Meldung an die Master-Einheit des ersten Pikonetzes,
anzeigend, dass die Einheit A nicht länger ein Weiterleitungsknoten
ist. Wenn die Einheit A in ihrer eigenen Liste von Weiterleitungsknoten
vorliegt, dann wird der die Einheit A umfassende Datensatz von dieser
Liste entfernt. Dann entfernt in Block 4130 die Master-Einheit
des ersten Pikonetzes den die Einheit A umfassenden Record bzw.
Datensatz von ihrer Liste von Weiterleitungsknoten. Daraufhin informiert
in Block 4135 die Master-Einheit des ersten Pikonetzes
die mindestens eine Slave-Einheit des ersten Pikonetzes, ausschließlich A,
wenn A eine Slave-Einheit des ersten Pikonetzes ist und wenn nicht ein
Intra-Pikonetz-Rundsendemechanimsus
verwendet wird zum Übermitteln
der Information, dass die Einheit A aufgegeben hat, ein Weiterleitungsknoten zu
sein. Schließlich
entfernt in Block 4140 jede empfangende Slave-Einheit den
die Einheit A umfassenden Record aus ihrer Liste von Weiterleitungsknoten.
-
Nun
wird der Informationsablauf, wenn eine Bluetooth-Einheit aufgibt,
Weiterleitungsknoten im zweiten Pikonetz zu sein, unter Bezugnahme
auf 15a und 15b beschrieben.
Es gibt zwei zu betrachtende Fälle:
- • Fall
1: Zuerst wird die Anzeige, dass die Einheit A aufgegeben hat, Weiterleitungsknoten
zu sein, verteilt, daraufhin wird die Angabe, dass die Einheit A
das Pikonetz verlassen hat, verteilt.
- • Fall
2: Nur die Angabe, dass die Einheit A aufgegeben hat, Weiterleitungsknoten
zu sein, wird verteilt. Die Tatsache, dass die Einheit A nicht länger ein
Weiterleitungsknoten im Pikonetz ist, wird implizit angenommen.
-
Der
triviale Fall, in welchem die Einheit A der Master des zweiten Pikonetzes
ist, in welchem Fall das zweite Pikonetz zusammenbricht, wenn die
Master-Einheit es verlässt,
und wobei das zweite Pikonetz nur eine Einheit abgesehen von der
Einheit A umfasst, in welchem Fall es keine anderen Einheiten gibt,
an welche Information zu verteilen ist, werden nicht detailliert
beschrieben.
-
Nun
wird der erste Fall unter Bezugnahme auf 15a beschrieben.
Zuerst, wie im Block 7100 angegeben, wird angenommen, dass
die Einheit A ein Mitglied eines ersten und eines zweiten Pikonetzes
ist, wobei die Einheit A eine Sklaven-Einheit im zweiten Pikonetz
ist. Dann verlässt
in Block 7110 die Einheit A das zweite Pikonetz in Übereinstimmung mit
Prozeduren, die im Bluetooth-Standard spezifiziert sind, und zwar
entweder explizit durch Senden oder Empfangen von LMP PDU LMP_detach
oder implizit durch durch den Verlust von Funkkontakt bedingte Verbindungszeitunterbrechung
(connection time-out). Daraufhin erfasst die Master-Einheit des zweiten
Pikonetzes, dass die Einheit A das zweite Pikonetz verlassen hat,
unter Verwendung von bekannten Mechanismen, die im Bluetooth-Standard
spezifiziert sind. Dann entfernt im Block 7120 die Master-Einheit des zweiten
Pikonetzes den die Einheit A umfassenden Datensatz aus ihrer Liste
von Weiterleitungsknoten. Im Block 7125 informiert die
Master-Einheit des zweiten Pikonetzes die mindestens eine Slave-Einheit
des zweiten Pikonetzes darüber, dass
die Einheit A aufgegeben hat, ein Weiterleitungsknoten zu sein.
Dann entfernt jede Slave-Einheit in Schritt 7130 den die
Einheit A umfassenden Record aus ihrer Liste von Weiterleitungsknoten.
In Block 7140 entfernt die Master-Einheit des zweiten Pikonetzes den die
Einheit A umfassenden Record aus ihrer Liste von Pikonetz-Mitgliedern.
Daraufhin informiert in Block 7145 die Master-Einheit des
zweiten Pikonetzes die mindestens eine Slave-Einheit des Pikonetzes
darüber,
dass die Einheit A das Pikonetz verlassen hat. Schließlich entfernt
in Block 7150 jede empfangende Slave-Einheit den die Einheit A umfassende
Liste aus ihrer Liste von Pikonetz-Mitglieder.
-
Nun
wird der zweite Fall unter Bezugnahme auf 15b beschrieben.
Zuerst ist in Block 7200 eine Einheit A ein Mitglied eines
ersten und zweiten Pikonetzes, wobei die Einheit A eine Slave-Einheit
im zweiten Pikonetz ist. Dann verlässt in Block 7210 die Einheit
A das zweite Pikonetz in Übereinstimmung mit
in dem Bluetooth-Standard spezifizierten Prozeduren, entweder explizit
durch Senden oder Empfangen des LMP PDU LMP_detach oder implizit
durch Verbindungszeitunterbrechung, bedingt durch den Verlust von
Funkkontakt. Daraufhin erfasst in Block 7220 die Master-Einheit des zweiten
Pikonetzes, dass die Einheit A das zweite Pikonetz verlassen hat, unter
Verwendung bekannter in dem Bluetooth-Standard spezifizierter Mechanismen.
Dann prüft
im Block 7230 die Master-Einheit des zweiten Pikonetzes,
ob Einheit A in der Liste von Weiterleitungsknoten enthalten war,
und entfernt den die Einheit A umfassenden Record von ihrer Liste
von Weiterleitungsknoten. Im Block 7240 entfernt die Master-Einheit des
zweiten Pikonetzes den die Einheit A umfassenden Record von ihrer
Liste von Pikonetz-Mitgliedern. Im Block 7250 informiert
die Master-Einheit des zweiten Pikonetzes die mindestens eine Slave-Einheit des
zweiten Pikonetzes darüber,
dass die Einheit A das Pikonetz verlassen hat. Im Block 7260 prüft jede empfangende
Slave-Einheit, ob die Einheit A in der Liste von Weiterleitungsknoten
enthalten war, und entfernt dann den die Einheit A umfassenden Record von
ihrer Liste von Weiterleitungsknoten. Schließlich entfernt im Block 7270 jede
empfangende Slave-Einheit den die Einheit A umfassenden Record von
ihrer Liste von Pikonetz-Mitgliedern.
-
Es
ist offensichtlich, dass die derart beschriebene Erfindung in vielerlei
Art variiert werden kann. Solche Variationen und alle derartigen
Modifikationen, wie sie Fachleuten offenbar wären, sind als innerhalb des
Schutzbereichs der folgenden Patentansprüche eingeschlossen angesehen.