-
ALLGEMEINER STAND DER
TECHNIK
-
1. Erfindungsgebiet
-
Die
vorliegende Erfindung betrifft Funknetzwerke kurzer Reichweite und
insbesondere Client-Kommunikation, wenn ein Client durch das Netzwerk
roamt.
-
2. Beschreibung des verwandten
Stands der Technik
-
Die
Verfügbarkeit
verschiedener Arten von Kommunikationsgeräten erzeugt einen Bedarf, diese Geräte miteinander
auf eine Weise interagieren zu lassen, die kosteneffizient ist und
einfach umgesetzt werden kann. Derartige Kommunikation kann zwischen
zwei oder mehr Endgeräten
(z.B. Telefonen, Computern, Druckern, Faxmaschinen, PDAs (Personal
Digital Assistants) usw.) mittels drahtgebundener Verbindung, wie
beispielsweise durch Anschließen elektrischer
Leiter an die Geräte,
oder durch drahtlose Kommunikation unter Verwendung von Infrarotsignalen
oder Hochfrequenz-(HF)-Signalen erfolgen. In vielen Anwendungen
werden HF-Signale bevorzugt, da sie keine Sichtlinieninteraktion
zwischen einem Sender und einem Empfänger eines Endgerätepaars
erfordern.
-
In
jüngerer
Zeit sind HF-Systeme mit geringer Leistung vorgeschlagen worden,
um Kommunikationen unter einer Vielzahl von Sender/Empfängern über eine
Kommunikationsstrecke mit kurzer Reichweite bereitzustellen. Eine
derartige HF-Technologie mit kurzer Reichweite befindet sich gegenwärtig in
Entwicklung und ist als „Bluetooth" bekannt. Dieses
System wird in näherer
Zukunft im Handel erhältlich
sein und wird in dem offenen Spektrum um 2,45 GHz betrieben. Dieses
nicht lizensierte, als das ISM-Band (Industrial-Scientific-Medical) bekannte Funkband
ist weltweit verfügbar.
Der Betriebsbereich des Bluetooth-HF-Systems beträgt in einem
Modus mit normaler Leistung ungefähr 10 Meter und hat sich als ökonomisch
effizient erwiesen.
-
Abhängig von
der verfügbaren
Bandbreite des Landes (in Teilen Europas und der USA ist eine Bandbreite
von 83,5 MHz verfügbar,
was breiter als das in Japan, Spanien und Frankreich verfügbare Band
ist) werden entweder 79 oder 23 HF-Kanäle verwendet, wobei die Kanaltrennung
1 MHz beträgt. Der
Kanal wird durch eine pseudozufällige
Frequenzsprungsequenz über
die 79 oder 23 HF-Kanäle
dargestellt. In einem kleinen Bereich, der Piconet genannt wird,
ist der Frequenzsprung eindeutig. Eines der Bluetooth-Geräte in dem
Piconet fungiert als Master und die anderen als Slaves.
-
Jeder
Kanal ist ferner in Zeitschlitze aufgeteilt, die jeweils 625 ls
dauern und während
denen Pakete von dem Master und den Slaves übertragen werden können. Es
ist geplant, dass die beschriebenen Merkmale aufweisende Bluetooth-Chips
in verschiedene Arten von elektronischen Geräten installiert werden, um
Kommunikationen unter den getrennten Geräten zu ermöglichen.
-
Es
bestehen auch drahtlose Relaynetzwerke, die einen Betriebsbereich
eines lokalen HF-Systems effektiv erweitern, indem Relaygeräte verwendet
werden, um eine Schnittstelle und Kommunikation zwischen zwei oder
mehreren Endgeräten
bereitzustellen. Ein derartiges Netzwerk wird in der PCT-Anmeldung
Nr. WO 98/17032 offenbart, in der eine Vielzahl von Kommunikationsknoten drahtlos miteinander
und mit einem Hostgerät
verbunden sind, um zahlreiche Kommunikationsstrecken für Daten
bereitzustellen, die zwischen dem Host und den über Schnittstellen mit den
Knoten verbundenen Endgeräten
kommuniziert werden sollen.
-
Die
Veröffentlichung „IP Services
over Bluetooth: Leading the way to a new mobility" von Albrecht M.
et al., die in den Proceedings Annual Conference on Local Computer
Networks, LCS, 100, Seiten 2–11,
veröffentlicht
wurde, offenbart Protokollkonzepte für eine Erweiterung einer IP
für Mobilitätsaspekte
in Bluetooth-Netzwerken, wobei eine Bluetooth-Public-Access-(BLUEPAC)-Referenznetzwerkarchitektur
einen Anwendungsserver, Bluetooth-(BT)-Geräte zum Kommunizieren mit diesem Anwendungsserver über eine
Blutooth-Basisstation (BSS) und einen BLUEPAC-Agenten zum Koordinieren
der Kommunikation mit dem ankommenden BT-Gerät umfasst, und wobei ein auf
einer zellulären IP
basierender Router zur Ausführung
der Übergabe verwendet
werden kann, um bestehende Verbindungen aufrechtzuerhalten, während sich
BT-Geräte
von einer Basisstation zur nächsten
bewegen.
-
Beim
Einsatz an Orten wie Kaufhäusern
und Einkaufszentren sind derartige Systeme erweitert worden, um
unangeforderte Werbung und Werbenachrichten Endgeräten bereitzustellen.
Derartige Systeme sind ebenfalls so erweitert worden, dass sie Internetserver
enthalten, wodurch es einem mit dem drahtlosen Relaynetzwerk kurzer
Reichweite verbundenen Endgerät
ermöglicht
wird, eine Internetsitzung zu starten. Wenn ein Nutzer eines Endgeräts von dem
Reichweitengebiet eines Sender/Empfängers in das Reichweitengebiets
eines anderen Sender/Empfängers
roamt, unterliegen derartige Systeme jedoch Nachteilen. Ein Nachteil
eines solchen Systems besteht darin, dass sich die Internetadresse
eines Endgeräts ändert, wenn
es von dem Reichweitengebiet eines Knotens in das Reichweitengebiet
eines anderen Knotens roamt, wodurch jede möglicherweise gerade ablaufende
Internetsitzung abgeschlossen wird und beim Roamen des Endgeräts das Herstellen neuer
Internetverbindungen erforderlich wird. Ein weiterer Nachteil eines
solchen Systems besteht darin, dass ein lokaler Inhalt, der einem
Endgerät
entsprechend seiner Position beim Initiieren der Kommunikation bereitgestellt
wird, nach seinem Roamen in das Reichweitengebiet eines anderen
Sender/Empfängers
möglicherweise
nicht mehr angemessen ist.
-
KURZE DARSTELLUNG
DER ERFINDUNG
-
Zur Überwindung
der oben beschriebenen mit dem Stand der Technik verknüpften Beschränkungen
und zur Überwindung
anderer Beschränkungen,
die beim Lesen und Verstehen der vorliegenden Beschreibung deutlich
werden, offenbart die vorliegende Erfindung ein System, eine Vorrichtung
und ein Verfahren für
Kommunikationsdienste für
ein drahtloses Endgerät,
das in einem drahtlosen Netzwerk kurzer Reichweite betrieben wird,
während
sich das drahtlose Endgerät
durch das Netzwerk kurzer Reichweite bewegt. Das drahtlose Endgerät ist nicht auf
irgendeine vorliegende Navigationsstruktur beschränkt und
stellt die Fähigkeit
für Fernzugriffsdienste
bereit.
-
In
einem Aspekt stellt die Erfindung ein HF-Netzwerk kurzer Reichweite
bereit, das eine Vielzahl von Knoten, die miteinander und mit mindestens einer
Ressource drahtlos verbunden sind; mindestens ein Mobilgerät, das mit
mindestens einem der Vielzahl von Knoten drahtlos kommuniziert und
fähig ist,
aus dem Reichweitengebiet eines Knotens in das Reichweitengebiet
eines anderen Knotens zu roamen; und eine periodisch aktualisierte
erste Datenbank zum Erhalten von Informationen betreffend das mindestens
eine Mobilgerät,
das sich gegenwärtig
in Kommunikation mit dem mindestens einen der Vielzahl von Knoten
befindet, für
jeden Knoten der Vielzahl von Knoten des HF-Netzwerks kurzer Reichweite
umfasst, wobei die mindestens eine Ressource eine periodisch aktualisierte
zweite Datenbank mit Informationen betreffend die Vielzahl von Knoten
des HF-Netzwerks kurzer Reichweite und jeweilige Informationen betreffend
die ersten Datenbanken. jedes Knotens des HF-Netzwerks kurzer Reichweite
aufweist; und wobei das mindestens eine Mobilgerät angeordnet ist, um eine Nutzer-initiierte
Anforderung von Daten unter Verwendung des HF-Netzwerks kurzer Reichweite
zu senden, wobei das Netzwerk angeordnet ist, um die Anfrage an
die mindestens eine Ressource weiterzuleiten; und wobei die mindestens eine
Ressource angeordnet ist, um die angeforderten Daten über das
Netzwerk einem Knoten, der mit dem mindestens einen Mobilgerät kommuniziert,
gemäß den periodisch
aktualisierten jeweiligen Informationen, die die erste Datenbank
betreffen, die in der zweiten Datenbank der mindestens einen Ressource gespeichert
sind, bereitzustellen.
-
In
einem weiteren Aspekt stellt die Erfindung ein Verfahren zum Betreiben
eines HF-Netzwerks mit kurzer Reichweite bereit, wobei das Netzwerk
eine Vielzahl von Knoten, die miteinander und mit mindestens einer
Ressource drahtlos verbunden sind, und mindestens ein Mobilgerät, das mit
mindestens einem der Vielzahl von Knoten kommuniziert und fähig ist,
aus dem Reichweitengebiet eines Knotens in das Reichweitengebiets
eines anderen Knotens zu roamen, umfasst, und wobei das Verfahren
die Schritte des periodischen Aktualisierens einer ersten Datenbank
zum Erhalten von Informationen betreffend das mindestens eine Mobilgerät, das sich
gegenwärtig mit
mindestens einem der Vielzahl von Knoten in Kommunikation befindet,
für jeden
Knoten des HF-Netzwerks
kurzer Reichweite; in der mindestens einen Ressource das periodische
Aktualisieren einer zweiten Datenbank, die Informationen betreffend
die Vielzahl von Knoten des HF-Netzwerks kurzer Reichweite und jeweilige
Informationen betreffend die erste Datenbank jedes Knotens des HF-Netzwerks
kurzer Reichweite enthält;
des Sendens einer Anforderung von Daten unter Verwendung des HF-Netzwerks
kurzer Reichweite, wobei die Anforderung durch einen Nutzer des
mindestens einen Mobilgeräts
initiiert wird; und des Weiterleitens der Anforderung an mindestens
eine Ressource und Bereitstellen der angeforderten Daten an einen
mit dem mindestens einen Mobilgerät kommunizierenden Knoten gemäß der periodisch
aktualisierten jeweiligen Informationen betreffend die ersten Datenbanken,
die in den zweiten Datenbanken der mindestens einen Ressource gespeichert
sind, umfasst.
-
Weitere
Aufgaben und Merkmale der vorliegenden Erfindung werden aus der
folgenden eingehenden Beschreibung ersichtlich, wenn sie in Verbindung
mit den beigefügten
Zeichnungen betrachtet wird. Es versteht sich jedoch, dass die Zeichnungen lediglich
zu Veranschaulichungszwecken dienen und nicht als Definition der
Beschränkungen
der Erfindungen ausgelegt sind, für die auf die beigefügten Ansprüche verwiesen
sei. Es versteht sich ferner, dass die Zeichnungen nicht notwendigerweise
maßstabsgetreu
gezeichnet sind und dass sie, sofern nicht anders vermerkt, lediglich
die Konzeption der hierin beschriebenen Strukturen und Vorgehensweisen
veranschaulichen sollen.
-
KURZE BESCHREIBUNG
DER ZEICHNUNGEN
-
In
den Zeichnungen, in denen ähnliche
Bezugszahlen ähnliche
Elemente in den verschiedenen Ansichten bezeichnen, zeigt:
-
1 ein
Blockdiagramm eines HF-Netzwerks kurzer Reichweite, das ein System
verkörpert, in
dem die vorliegende Erfindung ausgeführt werden kann;
-
2 fasst
die Inhalte verschiedener Datenbanken gemäß einer Ausführungsform
der vorliegenden Erfindung zusammen;
-
3 ein
typische Szenario eines Clients, der durch eine Ausführungsform
eines Systems der vorliegenden Erfindung roamt;
-
4 ein
beispielhaftes Systemflussdiagramm der Handhabung eines Clients
nach Eintritt in den Reichweitenbereich eines Knotens;
-
5 ein
beispielhaftes Systemflussdiagramm der Handhabung einer Clientanforderung nach
Serverinhalt;
-
6 ein
beispielhaftes Systemflussdiagramm der Handhabung eines Clients
mit einer ausstehenden Serverinhaltanfrage, der das Reichweitengebiet
eines Knotens verlässt;
und
-
7 ein
beispielhaftes Systemflussdiagramm der Handhabung einer Clientsitzung
nach Wiederverbindung mit einem anderen Knoten; und
-
8 ein
Diagramm, das die Zeitgebung des beispielhaften Roamens eines Clients
durch das Netzwerk zeigt.
-
AUSFÜHRLICHE
BESCHREIBUNG DER GEGENWÄRTIG
BEVORZUGTEN AUSFÜHRUNGSFORMEN
-
In
der folgenden Beschreibung der verschiedenen Ausführungsformen
wird Bezug auf die beigefügten
Zeichnungen genommen, die einen Teil davon bilden und in denen veranschaulichend
verschiedene Ausführungsformen,
in denen die Erfindung ausgeführt
werden kann, gezeigt werden. Es versteht sich, dass andere Ausführungsformen
verwendet werden können
und dass strukturelle und funktionelle Modifikationen vorgenommen
werden können,
ohne von dem Schutzumfang der vorliegenden Erfindung abzuweichen.
-
1 ist
ein Blockdiagramm einer Ausführungsform
eines Kommunikationssystems gemäß der vorliegenden
Erfindung. Ein solches System würde üblicherweise
an einem Ort wie in einem Kaufhaus, einem Einkaufszentrum oder einer
Fabriketage eingesetzt werden, d.h. in einem Gebiet, das verhältnismäßig klein
ist, aber doch größer, als
dass es durch einen einzigen Sender/Empfänger kurzer Reichweite, der
in der Regel eine Maximalreichweite von unter 100 Metern aufweist,
abgedeckt werden könnte.
Eine Vielzahl von HF-Sender/Empfängern kurzer
Reichweite 400 bis 4nn sind als Knoten eingesetzt
und physisch so positioniert, dass sie den gesamten Ort abdecken,
wobei jeder einen bestimmten Abschnitt des Orts abdeckt. Jeder Knoten
enthält eine
Knotendatenbank 400-10, 410-n ... 4nn-10.
Zwischen den Reichweitengebieten zweier benachbarter Knoten besteht
typischerweise eine Überschneidung.
-
Eine
Vielzahl von Nutzern kann das System verwenden. Jeder muss mit einem
Endgerät
ausgestattet sein, das zur HF-Kommunikation kurzer Reichweite in
der Lage ist. Die Endgeräte
sind in diesem beispielhaften System mit Zahlen von 500 bis 5nn bezeichnet.
In dem Beispiel aus 1 ist nur ein derartiges Endgerät dargestellt,
welches willkürlich mit 523 bezeichnet
ist. Das Endgerät
(der „Client" des Systems) ist
typischerweise ein Mobiltelefon (jedoch nicht darauf beschränkt), das
so ausgestattet ist, dass es in Verbindung mit einem Mobiltelefonnetz, wie
dem zellulären
oder dem GSM-System, sowie mit HF-Knoten kurzer Reichweite funktioniert.
Das Endgerät
kann typischerweise sowohl für
Sprach- als auch für
Datenkommunikation funktionieren.
-
Datenkommunikationsfähigkeiten
des Endgeräts
umfassen typischerweise die Kompatibilität mit dem drahtlosen Anwendungsprotokoll-(Wireless Application
Protocol, WAP)-Standard,
der im weltweiten Netz verwendet wird.
-
Das
erfindungsgemäße System
enthält
mindestens einen Netzwerkhost 100, der die Aktivitäten der
Knoten 400-4nn einschließlich des Empfangs und des
Sendens von Sprache und Daten koordiniert. In dem Beispiel aus 1 sind
alle dargestellten Knoten so gezeigt, dass sie direkt mit dem Netzwerkhost 100 kommunizieren.
In einigen Einsatzformen befinden sich einige der Knoten möglicherweise nicht
in dem Reichweitengebiet des Netzwerkhosts 100 und würden mit
dem Netzwerkhost 100 mittels Relays über einen der Knoten kommunizieren.
Ein solches Routen wird in der verwandten US-Patentschrift Nr. 6,831,896
erörtert.
-
Ein
Nutzer eines Endgeräts
initiiert Kommunikation mit einem Knoten in dem Reichweitengebiet, in
dem sich der Nutzer gegenwärtig
aufhält.
In dem in 1 gegebenen Beispiel initiiert
ein Nutzer eines Endgeräts 523 Kommunikation
mit Knoten 400, der wiederum den Nutzer durch einen Bluetooth-Chip 120 mit
dem Netzwerkhost 100 verbindet. Der Nutzer kann mit Nutzern
an anderen Endgeräten
(nicht gezeigt) sprechen oder der Nutzer kann sich dafür entscheiden, über das
Internet 250 mit einem Webserver, wie beispielsweise 260,
oder einem entfernten Nutzer, wie 270, zu kommunizieren.
Der Netzwerkhost 100 enthält die LAN-Schnittstelle 150,
die den Netzwerkhost 100 mit dem Inhaltserver über LAN 300 verbindet.
Der Inhaltserver 200 enthält den WAP/Web-Server 230,
der die gewünschte
Kommunikation mit dem Internet 250 verbindet. Der Netzwerkhost 100 in
Verbindung mit dem Inhaltserver 200 mit seiner Inhaltsdatenbank 21 OB
und seiner Fähigkeit, über das
Internet 250 zu kommunizieren, umfassen gemeinsam eine
Ressource zum Erhalten von Inhalt auf Anforderung eines Nutzers.
-
Der
Netzwerkhost 100 enthält
die Hostdatenbank 110, welche in die Clientdatenbank 110A und eine
Knotendatenbank 110B geteilt ist.
-
Die
Clientdatenbank 110A speichert clientabhängige Informationen
für jeden
Client, einschließlich:
Client-Adresse
(d.h. die Bluetooth-Adresse des Clients)
Knoten-Adresse (d.h.
der Knoten, durch den der Client verbunden wird)
IP-Nummer
des Clients
Portnummer des Clients
Clientstatus (aktiv/inaktiv)
-
Die
Knotendatenbank 110B speichert knotenabhängige Informationen
einschließlich:
alle
Informationen, die dem Roten und den Verbindungen zwischen den Knoten
zugeordnet sind.
Verbindungseinstellungen (Parameter, die an
den Client gesendet werden, wenn die Verbindung zwischen einem Client
und dem Knoten gebildet wird). Diese Parameter werden für den Client
angelegt, wenn auf die Information von dem Server, z.B. die WAP-Dienst-URL zugegriffen wird.
(In der URL ist Knotenidentifikation enthalten und bildet die Grundlage
für positionsabhängige Dienste).
Knotenabhängige Informationen
einschließlich
Aliasnamen oder andere Einstellungen.
Informationen hinsichtlich
Clients, die sich innerhalb einer vorbestimmten vorhergehenden Zeit
innerhalb des Reichweitengebiets des Netzwerks aufgehalten haben.
-
Der
Inhaltserver 200 ist der Regel ein PC, der mit mindestens
einer der folgenden Software ausgestattet ist:
WAP/WEB-Server
230 (WAP oder WEB entsprechend der Art der Clients)
Netzwerkanwendungen 220 (eine
Sammlung von Servlets oder anderen Softwarekomponenten zum Bereitstellen
von Client-Diensten einschließlich
positionsabhängigen
Dienste)
Verwaltungssoftware 225 (zum Konfigurieren
der Knoten und des Netzwerks angewendet)
-
Der
Inhaltserver 200 enthält
die Serverdatenbank 210, welche wiederum eine Spiegelkopie 210A der
Hostdatenbank 110 enthält;
die Inhaltsdatenbank 210B und die Clientdatenbank 210C.
-
Die
Inhaltsdatenbank 210B enthält allgemeinen Inhalt und positions-
und zeitabhängige
Informationen (z.B. Karten, Werbungen, die nur für bestimmte Knoten bestimmt
sind, usw.). Es gibt verschiedene Schlüssel für diese Datenbank, wie beispielsweise Knotenadresse/Knotenaliasname,
Art des Inhalts (Werbung, Warnung, Karte, Ankündigung usw.), Rundsendeplan
und Schlüsselwörter.
-
Die
Clientdatenbank 210C enthält:
Personalisierungsinformationen,
die angewendet werden können,
um personalisierten Inhalt zu erzeugen. Auf diese Information wird
gemäß der Clientadresse
zugegriffen.
Vorübergehender
Inhalt (speichert den gegenwärtigen
Zustand und Inhalt der Clientverbindung und kann bei der Übergabe,
d.h. wenn sich der Client aus dem Reichweitengebiet des anfänglichen
Knotens herausbewegt und eine Verbindung mit einem anderen Knoten
aufnimmt, angelegt werden).
-
Die
Verwaltungssoftware 225 enthält eine Anwendung, die die
Knotendatenbank 110B öffnen kann
und den Inhalt in der Spiegeldatenbank 210A sichert. Die
Verwaltungssoftware 225 ermöglicht dem Netzwerkbetreiber,
die Knotendatenbank 110B zu modifizieren (z.B. um Aliasnamen
und Verbindungsparameter zu vergeben) und die Änderungen in dem Netzwerkhost 100 zu
sichern, der die Änderungen
an die Knoten verteilt.
-
Die
Inhaltsdatenbank 210B kann direkten Inhalt (z.B. Text)
oder Links zu anderen Inhaltsquellen (z.B. an WAP-Decks verweisende
URLs) enthalten. Jeder Datenbankeintrag enthält eine Liste von Knotenadressen
oder Aliasnamen, die beschreibt, welcher Knoten den gegenwärtigen Inhalt
erhalten sollte. Inhalt kann fließender Inhalt sein, wie beispielsweise
Aktienberichte, die kontinuierlich und wiederholt über den
Bildschirm des Nutzers scrollen, oder einmaliger Inhalt, der einen
diskreten, sich nicht wiederholenden Abschnitt umfasst.
-
Wenn
ein Client in die Reichweite eines Knotens eintritt, wird die Bluetooth-ANFRAGE-Prozedur für die Bluetooth-Sender/Empfänger in
dem Knoten und dem Clientgerät
verwendet, um voneinander zu erfahren und die jeweilige Bluetoothadresse
des anderen zu erhalten. Danach wird eine PPP-Verbindung gebildet
und dem Client wird eine IP-Nummer und
ein Port zugewiesen (der Client kann von außerhalb des Netzwerks unter
Verwendung der IP-Nummer des Hosts und Portnummer des Clients kontaktiert
werden). Die entsprechenden Informationen (Clientadresse, Knotenadresse,
IP-Nummer des Clients, Portnummer des Clients) werden in der Datenbank 110A gespeichert.
Verbindungsparameter (z.B. WAP-Verbindungsparameter, wie beispielsweise
die URL) werden an den Client gesendet, und danach fordert der Client
von dem Netzwerk entsprechende Informationen an (z.B. WAP-Deck).
-
Die
angeforderte URL kennzeichnet den Client des Servlets eindeutig.
Die URL enthält
außerdem
verschiedene Parameterfelder, die an die Servlets übertragen
werden (Clientadresse und Knotenadresse).
-
Der
kontaktierte Servlet erzeugt Inhalt für den Client durch Durchsuchen
der Inhaltsdatenbank 210B (positionsabhängig). Wenn der Client in den Datenbanken
personalisiert worden ist, ist es möglich, den erzeugten Inhalt
zu personalisieren (und auch den Inhalt zu filtern).
-
Der
Servlet/WAP-Server sendet den erzeugten Inhalt an den Client, indem
die IP:Port-Adresse angelegt wird. Wenn die IP:Port-Adresse des
Clients nicht direkt aus dem Inhaltserver gelöst werden kann, kann sie von
dem Host angefordert werden (wie entsprechend der Clientadresse
verschlüsselt).
Der Client erhält
den Inhalt und kann Links folgen und zusätzlichen Inhalt anfordern.
-
Inhalt
(z.B. WAP-Decks) und andere Verbindungsparameter werden als zeitweiliger
Inhalt in der Clientdatenbank 210C gespeichert. Dieser
zeitweilige Inhaltsabschnitt der Clientdatenbank 210C dient als
Cachespeicher und kann verwendet werden, um Parameter während der Übergabe
zu wahren.
-
Wenn
ein Client mit einem Knoten verbunden ist, ist sein Status in der
Clientdatenbank als aktiv markiert. Der Client bleibt solange verbunden,
wie er sich innerhalb der Reichweite des Bluetooth des Knotens aufhält. Wenn
die Verbindung nicht mehr möglich
ist (z.B. wenn sich der Client außer Reichweite befindet), wird
die Verbindung beendet. Diese Information wird durch den Knoten
an den Netzwerkhost übertragen
(der Status ist als inaktiv markiert).
-
Der
letzte gesendete Inhalt bleibt in dem zeitweiligen Inhaltsabschnitt
der Clientdatenbank 210C. Wenn der Client eine Verbindung
mit einem anderen Knoten aufnimmt und der Knoten/Client eine URL
anfordert, wird der Abschluss der vorhergehenden Verbindung verwirklicht.
In einem solchen Fall wird der in dem zeitweiligen Inhaltsabschnitt
der Clientdatenbank 210C lokalisierte Inhalt an den Client
gesendet. Ausnahmen davon sind die Fälle, in denen eine Verzögerung zwischen
der abgeschlossenen und der neuen Verbindung ausreichend lang ist
(z.B. eine Stunde) und der Fall, in dem der Client Dienste verwendet,
die jedes Mal, wenn sich ein Knoten ändert, den Inhalt aktualisieren
(Routingdienste und Karten).
-
Wenn
eine neue Verbindung mit einem Knoten gebildet wird und ein positionsabhängiger Inhalt erzeugt
wird und es in dem zeitweiligen Inhalt Informationen gibt, können die
alten und neuen Informationen kombiniert und an den Client gesendet
werden.
-
Die
Organisation eines Hosts 100 und eines Inhaltsservers 200 als
zwei getrennte physische Einheiten ist ein Aufbau, der in einer
bestimmten Ausführungsform
zweckmäßig ist,
und es ist nicht beabsichtigt, die Erfindung auf diese Konfiguration
zu beschränken.
Die Komponenten des Hosts 100 und des Inhaltsservers 200 könnten in
anderen Anzahlen physischer Gruppen einschließlich einer einzigen zentralen
Ressource bestehen.
-
Der
Inhalt der Datenbanken, der in Verbindung mit der oben erörterten
Ausführungsform
verwendet wird, ist in 2 zusammengefasst. 2 zeigt
außerdem,
dass jeder Knoten 4nn eine Knotendatenbank 4nn-10,
die interne Daten zur Verwendung durch den Knoten speichert, eine
Clientdatenbank zum Enthalten knotenbezogener Clientdaten für jeden
Client, der gegenwärtig
mit dem Knoten verbunden ist, und eine Nachbarknotendatenbank zum Enthalten
von Daten bezüglich
der Nachbarn des Knotens aufweist.
-
Der
Betrieb des erfindungsgemäßen Systems
wird nun umfassend in Bezug auf die Aktionen erörtert, die durch ein typisches
Clientroaming durch das System erzeugt werden. 3 stellt
einen Abschnitt eines typischen Einsatzes dar, in dem Knoten 400, 410, 420, 430 und 440 überlappende
Reichweitengebiete 400-1, 410-1, 420-1, 430-1 bzw. 440-1 aufweisen.
Ein Client 523 tritt in das Reichweitengebiet des Systems
ein, wenn er in das Reichweitengebiet 400-1 an Punkt 400-2 eintritt.
An Punkt 400-3 in dem vorliegenden Beispiel fordert Client 523 Netzwerkserverinhalt über das
Internet 250 an (siehe 1). An Punkt 400-4 tritt
der Client aus dem Reichweitengebiet 400-1 und tritt in
das Reichweitengebiet 410-1 ein. Die nachfolgende Erörterung
zeigt, wie das erfindungsgemäße System
die Verbindung des Clients 523 mit dem Netzwerkserverinhalt
nahtlos aufrechterhält.
-
Der
Eintritt in den Ablauf in 4 erfolgt, wenn
der Client 523 in das Reichweitengebiet des Knotens 400 an
Punkt 400-2 (wie in 3 gezeigt) eintritt.
Sowohl der Knoten 400 als auch der Client 523 führen die
bereitgestellte Abfrageprozedur durch, im Fall eines Bluetoothnetzwerks
z.B. das SDP-(Service Discovery Protocol)-Protokoll gemäß der Bluetoothspezifikation
zum Erfahren von anderen BT-Sender/Empfängern in den Reichweitengebieten eines
Sender/Empfängers.
Der Schritt 4-2 gibt an, dass Client 523 und Knoten 400 die
jeweilige BT-Adresse des anderen erfahren, was in der Technik als
Bilden einer niedrigschwelligen BT-Verbindung bekannt ist. Schritt 4-4 gibt
an, dass Knoten 400 eine PPP-Verbindung mit Client 523 initiiert.
In den Blöcken 4-6 und 4-8 bestimmen
Knoten 400 und Host 100 eine verfügbare Portnummer,
die dem Client 523 zugewiesen werden soll; Schritt 4-10 übermittelt
eine IP:Portnummer an den Client 523, welche in 1 beispielhaft
mit 147.19.202.8:842 angegeben ist, wobei der Abschnitt 147.19.202.8
eine dem vorliegenden HF-Netzwerk mit kurzer Reichweite zugeordnete IP-Nummer
ist, und 842 die in Schritten 4-6 und 4-8 zugewiesene
Portnummer ist. In Schritt 4-12 wird die Clientdatenbank 110A mit
den zu der neuen Verbindung des Clients 523 gehörenden Informationen
aktualisiert.
-
Wie
in Zusammenhang mit 3 bemerkt, fordert der Client 523 an
Punkt 400-3 an, Inhalt zu empfangen. Durch Mittel, die
in Verbindung mit 3 erörtert worden sind, wird der
angeforderte Inhalt erhalten und in Schritt 5-16 an den
Client 523 weitergeleitet.
-
In 5 gibt
Schritt 400-3 die Anforderung des Client nach Inhalt an,
welche an Knoten 400 weitergeleitet wird, der eine URL-Anforderung
in Schritt 5-1 wiederum über den Host 100 an
den Server 200 weiterleitet, wo in Block 5-2 Inhalt
erzeugt und personalisiert wird. Dies kann das Wiedergewinnen von
Inhalt aus der Inhaltsdatenbank 210B mit sich bringen oder
das Erhalten von Inhalt von einem entfernten Server über das
Internet 250, nicht beschrieben. Schritt 5-4 gibt
das Weiterleiten des Inhalts an Host 100 an, wo in Block 5-6 der
Knoten und das Routen durch Abfragen der Clientdatenbank 110A bestimmt werden.
In Block 5-8 wird geprüft,
ob der Client immer noch im aktiven Status ist, in dem vorliegenden Beispiel
ist der Client 523 am Knoten 400 aktiv, so dass
der Inhalt in Schritt 5-10 an den Knoten 400 weitergeleitet
wird. Wenn der Client das Reichweitengebiet des Knotens verlassen
hat, führt
der Schritt 5-12 zum Speichern der übertragenen Daten in den Speicher 210C.
Im Block 5-14 wird der Status des Clients wieder als aktiv
verifiziert; Schritt 5-16 leitet den Inhalt an den Client 523 weiter.
Schritt 5-20 führt
zum Aktualisieren der Datenbank 210 zum zeitweiligen Markieren
des Inhalts als geliefert. Wenn der Client das Reichweitengebiet
des Knotens verlassen hat, führt
Schritt 5-24 zum Speichern des Inhalts in Speicher 210C.
Das Weiterleiten des Inhalts beim Zurückkehren des Clients wird in
Zusammenhang mit 7 erläutert.
-
In
dem vorliegenden Beispiel verlässt
Client 523 das Reichweitengebiet 400-1 an Stelle 400-4 und
sein Status ändert
sich somit auf inaktiv. In dem vorliegenden Beispiel ist der von
Client 523 angeforderte Inhalt außerdem fortlaufender Natur
und geht weiter von Block 5-2 aus. In Block 5-8 wird
bestimmt, dass der Status des Clients inaktiv ist und der Inhalt wird
in der Datenbank für
zeitweiligen Inhalt 210C gespeichert und als ungeliefert
markiert. Der Inhalt bleibt für
eine vorbestimmte Zeit in der Datenbank 210C, falls der
Nutzer während
dieser Zeit zu dem Netzwerk zurückkehrt.
Vorstellbar detektiert Block 5-8, dass ein Client aktiv
ist und leitet im Moment, bevor die Hostdatenbank 110A aktualisiert
wird, Inhalt an Knoten 400 weiter, um den Inaktiv-Status
des Clients anzugeben, und Schritt 5-10 wird ausgeführt, um
den Inhalt an Knoten 400 weiterzuleiten; Block 5-14 detektiert
den Inaktiv-Status und führt
Schritt 5-18 aus, um den Inhalt zum Speichern zur Datenbank 210C zurückzuleiten.
-
Wie
bei Block 6-2 aus 6 gezeigt,
fragt Knoten 400 periodisch alle seine aktuellen aktiven Clients
ab, einschließlich
Client 523 (Schritt 6-4); nachdem Client 523 das
Reichweitengebiet 400-1 verlassen hat, wird er nicht mehr
antworten. Dies wird in Block 6-6 detektiert und Schritt 6-8 wird
ausgeführt, um
den Status von Client 523 im Host 100 auf inaktiv zu
aktualisieren. Im vorliegenden Beispiel ist Client 523 in
das Reichweitengebiet von Knoten 410 gekommen und durch
die vorgenannte Anfrageprozedur bildet er eine niedrigschwellige
BT-Verbindung mit Knoten 410 (Schritte 6-10 und 6-12),
welche die Wiederverbindungsprozedur 6-14 aufruft, die
eine neue Verbindung mit Knoten 410 auf dieselbe Weise herstellt,
wie die vorherige Verbindung mit Knoten 400 hergestellt
wurde, wie in Verbindung mit 4 erörtert. In
dem vorliegenden beispielhaften Szenario ist der Client 523,
unmittelbar, nachdem er das Reichweitengebiet von Knoten 400 verlassen
hat, in das Reichweitengebiet von Knoten 410 eingetreten, es
versteht sich jedoch, das das vorliegende System und Verfahren auch
die Wiederverbindung für
einen Nutzer bereitstellt, der in das Reichweitengebiet eines Knotens
einige Zeit nach Verlassen des Reichweitengebiets eines anderen
Knotens eintritt.
-
Unter
Bezugnahme nun auf 7 prüft Block 7-2 nach
Wiederverbindung, ob der Client 523 für eine längere als die vorbestimmte
Zeit, die in der Regel auf einen Wert in der Größenordnung von fünf Minuten
bis zu einer Stunde eingestellt ist, nicht verbunden war. Der vorherige
IP:Port des Clients wird für
diese Zeitdauer reserviert, und wenn innerhalb dieser Zeit eine
Wiederverbindung stattfindet, wird dem Client 523 derselbe
IP:Port erneut zugewiesen, in welchem Fall Schritt 7-4 zum
Wiedergewinnen von Inhalt, der für
Client 523 gespeichert worden ist, aussendet. Wenn Client 523 für eine länger als
die vorbestimmte Zeit nicht verbunden war, ruft Schritt 7-6 Block 7-8 auf,
um einen neuen IP:Port bereitzustellen und mit dem erneuten Senden
zu beginnen (Schritte 7-10, 7-12, 7-14).
Diese vorbestimmte Warteperiode verhindert, dass ein Client 5nn,
der neu verbunden wird und der zufällig denselben IP:Port erhält, der
zuvor zu Client 523 gehörte,
unerwartet Abschnitte des Inhalts erhält, die Client 523 angefordert
hatte.
-
Wenn
Weg 7-4 beschritten wird, wird Schritt 7-16 aufgerufen,
um den zuvor gespeicherten Inhalt von Datenbank 210C wiederzugewinnen
und Block 7-18 bestimmt aus dem Inhalt, ob er für die aktuelle Position
von Client 523 immer noch gültig ist. Dementsprechend wird
Inhalt an Client 523 weitergeleitet (Schritte 7-36, 7-38, 7-40),
für die
gegenwärtige
Position des Clients 523 modifiziert und dann weitergeleitet
(Block 7-24 und Schritte 7-26, 7-28 und 7-30) oder
für die
gegenwärtige
Position von Client 523 neu erzeugt (Block 7-34 und
Schritte 7-36, 7-38 und 7-40).
-
8 veranschaulicht
ein typisches Szenario, das auftreten kann, wenn verschiedene Nutzer durch
die in 3 dargestellte Umgebung roamen. Ein Nutzer 801 befindet
sich bereits um 3:00 Uhr, dem Beginn der beispielhaften Zeitdauer,
in dem Reichweitengebiet von Konten 400. Um 3:00:20 Uhr in
dem beispielhaften Szenario fordert Nutzer 801 Inhalt an,
möglicherweise
von einem Server 260 im Internet, wie oben erörtert. Die
Anforderung des Nutzers 801 initiiert die Sendung 835,
bei der es sich beispielsweise um eine kontinuierliches Scrollen
von Aktienkursen handeln kann. Nutzer 801 könnte um 3:12:34
Uhr das Ende der Sendung anfordern. Die Sendung 835 dauerte
somit 12 Minuten und 12 Sekunden, währenddessen der Nutzer 801 sich
kontinuierlich in dem Reichweitengebiet von Knoten 400 aufhielt,
so dass keine Notwendigkeit bestand, die Sendung auszusetzen.
-
Kurz
vor 3:14 Uhr verlässt
Nutzer 801 das Reichweitengebiet des Knotens 400 zu
einer solchen Position, bei der er kein anderes Reichweitengebiet passiert.
Kurz vor 3:15 Uhr tritt Nutzer 801 in das Reichweitengebiet
von Knoten 410 ein. Um 3:16:15 fordert Nutzer 801 Inhalt
an, der in Sendung 839 an seinem mobilen Endgerät ankommt.
Um 3:16:40 Uhr roamt er aus dem Reichweitengebiet von Knoten 410 derart,
dass er in kein anderes Reichweitengebiet eintritt. Wie oben beschrieben,
wird der für
ihn bestimmte Inhalt für
eine vorbestimmte Zeit zwischengespeichert. Um 3:18:00 Uhr tritt
Nutzer 801 wieder in das Reichweitengebiet von Knoten 410 ein
und zu dieser Zeit wird der zwischengespeicherte und jeder nachfolgend
angeforderte Inhalt an das mobile Endgerät von Nutzer 801 gesendet.
Um 3:18:50 Uhr ist die Sendung 839 vollständig, entweder,
weil der gesamte angeforderte Inhalt gesendet wurde, oder weil der
Nutzer 801 angegeben hat, dass er von diesem Inhalt nichts
mehr zu empfangen wünscht.
Die Sendung 839 dauerte somit insgesamt zwei Minuten und 35
Sekunden, von denen eine Minute und fünf Sekunden mit der eigentlichen
Sendung vergingen.
-
In
der Zwischenzeit hielt sich auch der Nutzer 802 in den
Reichweitengebiet von Knoten 400 bei Beginn der beispielhaften
Zeitdauer auf. Um 3:02:20 Uhr fordert er das Herunterladen einigen
Inhalts an und die Sendung 836 setzt ein. Um 3:03:15 Uhr,
während
die Sendung 836 immer noch andauert, verlässt Nutzer 802 das
Reichweitengebiet von Knoten 400, tritt aber in das Reichweitengebiet
von Knoten 430 ein. Wie oben beschrieben dauert die Sendung 836 über Knoten 430 an.
Um 3:04:10 Uhr, während
die Sendung 836 immer noch andauert, roamt Nutzer 802 aus
dem Reichweitengebiet von Knoten 430 und in das Reichweitengebiet
von Knoten 440. Die Sendung 836 dauert an, nun über Knoten 440.
Um 3:05:20 Uhr ist die Sendung abgeschlossen. Die Sendung 836 hatte
somit eine Dauer von 3 Minuten, von denen die gesamte Zeit aktiv
war und über
drei verschiedene Knoten erfolgte.
-
Um
3:16:35 Uhr fordert Nutzer 802 das Herunterladen von Inhalt
an und dies initiiert Sendung 840. Nutzer 802 bleibt
in dem Gebiet von Knoten 440, bis die Sendung um 3:18:50
abgeschlossen ist. Die Sendung 840 weist somit eine Dauer
von zwei Minuten und 15 Sekunden auf, die vollkommen aktiv waren
(kein Inhalt wurde zwischengespeichert).
-
Analog
befindet sich Nutzer 803 im Reichweitengebiet von Knoten 440,
wenn er ein Herunterladen um 3:04:15 Uhr anfordert, was zu der Initiierung
der Sendung 837 führt.
Er bleibt im Gebiet von Knoten 440, bis de Sendung 837 um
3:04:55 Uhr abgeschlossen ist. Die Sendung 837 weist somit
eine Dauer von 40 Sekunden auf, die vollkommen aktiv waren (kein
Inhalt wurde zwischengespeichert).
-
Nutzer 804 tritt
ungefähr
um 3:02 Uhr in das Reichweitengebiet von Knoten 420 ein.
Um 3:06:10 Uhr fordert er Inhaltsübertragung an, was die Initiierung
von Sendung 838 verursacht. Um 3:07:20 roamt Nutzer 804 aus
dem Reichweitengebiet von Knoten 420, aber nicht in die
Reichweitengebiete anderer Knoten. Wie oben erörtert, wird Inhalt aus Sendung 834 gespeichert,
bis bestimmt ist, ob Nutzer 804 zurückkehrt. Um 3:08:55 Uhr roamt
Nutzer 804 zurück in
das Gebiet von Knoten 420. Zwischengespeicherter Inhalt
sowie jeder nachfolgend angeforderte Inhalt von der Quelle wird
an Nutzer 804 gesendet, bevor die Sendung 838 um
3:09:20 Uhr endet. Die Dauer der Sendung 838 betrug 3 Minuten
und 10 Sekunden, von denen eine Minute und 35 Sekunden mit aktiver
Sendung befasst waren (70 Sekunden von 3:06:10 bis 3:07:20 Uhr und
25 Sekunden von 3:08:55 bis 3:09:20 Uhr).