-
Die
vorliegende Erfindung bezieht sich auf Kommunikationen. Insbesondere
bezieht sich die vorliegende Erfindung auf Techniken für das Liefern von
kundenspezifischem Inhalt an drahtlose Kommunikationsvorrichtungen über ein
Kommunikationsnetz. Insbesondere bezieht sich die vorliegende Erfindung
auf ein Verfahren, eine Vorrichtung und ein Computerprogrammprodukt
für das
Erhalten/Liefern von standortbasierten Diensten gemäß den Oberbegriffen
der Ansprüche
1, 11 (eine solche Anordnung ist schon aus der WO 01/33797 A2 bekannt).
-
HINTERGRUND
DER ERFINDUNG
-
Kommunikationssysteme
versehen aktuell Endbenutzer mit der Fähigkeit, Inhaltselemente, die von
Inhaltsservern und Anbietern verfügbar gemacht werden, zu empfangen.
Beispielsweise können
Endbenutzer Multimediasendungen, Audiosendungen, Bilder, Dateien,
elektronische Dokumente und Datenbankeinträge von verschiedenen Inhaltsservern
erhalten. Solche Inhaltselemente werden über ein drahtloses Netz an
tragbare Endbenutzereinrichtungen geliefert. Beispiele von drahtlosen
Endbenutzereinrichtungen umfassen drahtlose Telefone, drahtlose
persönliche
digitale Assistenten (PDAs) und tragbare Computer, die drahtlose
Kommunikationsfähigkeiten
aufweisen. Aus der
US
6 236 365 B1 ist ein System für das Liefern von Standortschätzungen
bekannt.
-
Bluetooth
ist ein System, das drahtlosen Kommunikationsvorrichtungen erlaubt,
Ressourcen von Servern anzufordern und zu empfangen. Bluetooth definiert
ein Funknetz kurzer Reichweite, das ursprünglich als Kabelersatz gedacht
war. Es kann verwendet werden, um Ad-Hoc-Netze bis zu acht Vorrichtungen
zu schaffen, wobei eine Vorrichtung als eine Mastervorrichtung benannt
wird. Die andere Vorrichtungen werden als Slavevorrichtungen bezeichnet.
Die Slavevorrichtungen können
mit der Mastervorrichtung und miteinander über die Mastervorrichtung kommunizieren.
Die Bluetooth Special Interest Group, Specification Of The Bluetooth
System, Band 1 und 2, Core and Profiles: Version 1.1, 22. Februar
2001 beschreibt die Prinzipien des Betriebs einer Bluetooth-Vorrichtung
und Kommunikationsprotokolle. Die Vorrichtungen arbeiten im 2 GHz-Funkband,
das für
die allgemeine Verwendung durch industrielle, wissenschaftliche
und medizinische (ISM) Anwendungen reserviert ist. Bluetooth-Vorrichtungen sind
konstruiert, um andere Bluetooth-Vorrichtungen in
ihrem Kommunikationsbereich zu finden, um zu entdecken, welche Dienste
sie bieten.
-
Es
existieren auch andere Kurzbereichsnetze. Beispielsweise ermöglichen
auch drahtlose lokale Netze (WLANs), wie IEEE 802.11 und HIPERLAN, drahtlosen
Kommunikationsvorrichtungen, Ressourcen von Servern anzufordern
und zu empfangen.
-
In
drahtlosen Umgebungen kann der Standort einer tragbaren Kommunikationsvorrichtung
den Typ der gewünschten
Information beeinflussen, wenn ihr Benutzer eine allgemeine Anforderung
für eine
Information ausführt.
Wenn beispielsweise Richtungen auf ein spezielles Ziel angefordert
werden, würde
es der Benutzer bevorzugen, wenn die Richtungen auf dem aktuellen
Standort des Benutzers basieren würden.
-
Um
einen solchen standortbasierten Inhalt zu liefern, muss ein Server
oder ein Inhaltsanbieter, der eine Anforderung für Inhalt empfängt, den
Standort der anfordernden Vorrichtung lernen. Somit besteht eine
Notwendigkeit, Standortinformation der Vorrichtung zusammen mit
den Anforderungen zu liefern.
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
Die
vorliegende Erfindung liefert Techniken für das Hinzufügen von
Information, wie Standortindikatoren, zu Ressourcenanforderungen,
die von drahtlosen Kommunikationsvorrichtungen (WCDs) ausgegeben
werden. Somit werden ein Verfahren und eine Vorrichtung der Ansprüche 1 und
11 geliefert. Dieses Verfahren empfängt ein von einer WCD ausgehenden
Ressourcenanforderung. Das Verfahren fügt einen Standortindikator
der Ressourcenanforderung hinzu, der einen Ort der WCD identifiziert. Dieser
Standortindikator basiert auf einem Abdeckungsgebiet eines Zugangspunkts,
der sich in drahtloser Kommunikation mit der WCD befindet. Dann
geben das Verfahren und die Vorrichtung die Ressourcenanforderung
an einen Inhaltsanbieter. Der Standortindikator, der mit dem Abdeckungsgebiet
verbunden ist, kann vordefiniert sein oder sich dynamisch ändern.
-
Der
Standortindikator kann Standortkoordinaten einschließen. Zusätzlich kann
der Standortindikator eine vertikale Position der WCD anzeigen.
Die Ressourcenanforderung kann verschiedene Protokolle aufweisen.
Beispielsweise kann die Ressourcenanforderung eine Hypertexttransferprotokoll-(HTTP)-Anforderung
oder eine Anforderung eines drahtlosen Anwendungsprotokolls (WAP)
sein. In den Ausführungsformen
der vorliegenden Erfindung kann der Standortindikator selektiv der
Ressourcenanforderung hinzugefügt
werden, wenn die Ressourcenanforderung eine geeignete Zieldomäne identifiziert.
-
Zusätzlich zu
den Standortindikatoren kann das Verfahren und das System andere
Typen von Information der Anforderung hinzufügen. Beispielsweise kann das
Verfahren und das System eine Benutzerprofilinformation und/oder
eine SCD-Klasseninformation
der Ressourcenanforderung hinzufügen. Auch
können
das Verfahren und das System Vorrichtungsidentifikationsinformation,
wie beispielsweise eine physikalische Vorrichtungsadresse, der Anforderung
hinzufügen.
Ein Beispiel einer Vorrichtungsadresse ist eine Bluetooth-Vorrichtungsadresse (BD_ADDR).
Der Inhaltsserver könnte
diese Adresse verwenden, um die aussendende WCD zu authentifizieren.
-
Verschiedene
Techniken können
verwendet werden, um solche Information der Anforderung hinzuzufügen. Beispielsweise
kann eine zusätzliche
Information in eine Internetadresse (URL) eingeschoben werden. Alternativ
kann zusätzliche
Information in einen oder mehrere Datenköpfe der Ressourceanforderung
eingeschoben werden. Diese Datenköpfe können Erweiterungsdatenköpfe sein.
-
Das
Verfahren und die Vorrichtung können auch
selektiv Information der Ressourcenanforderung hinzufügen, beispielsweise
können
das System und das Verfahren Information hinzufügen, wenn die Ressourcenanforderung
eine geeignete (oder passende) Zieldomäne identifiziert, und/oder
wenn die aussendende WCD eine vorbestimmte WCD oder eine von mehreren
vorbestimmten WCDs ist.
-
Die
vorliegende Erfindung ist auch auf eine Vorrichtung für das Liefern
für standortbasierte Dienste
gerichtet. Die Vorrichtung umfasst eine Standortverwaltungsdatenbank
und eine Standortanfügeeinheit.
Die Standortverwaltungsdatenbank speichert Standortindikatoren für drahtlose
Kommunikationsvorrichtungen (WCDs) kurzer Reichweite. Der Standortindikator
für jede
WCD wird aus einem Abdeckungsgebietzugangspunkt, der eine drahtlose Verbindung
mit der WCD unterstützt,
bestimmt. Die Standortanfügeeinheit
empfängt
Ressourcenanforderungen, die von WCDs ausgehen, und fügt für jede Anforderung
den Standortindikator, der der anfordernden WCD entspricht, hinzu.
-
Eine
weitere Vorrichtung der vorliegenden Erfindung umfasst zwei oder
mehr drahtlose Kommunikationsmodule geringer Reichweite für eine Kommunikation
mit WCDs, und eine Netzschnittstelle, die mit einer Datennetzinfrastruktur
gekoppelt ist, um eine Kommunikation mit mindestens einem Inhaltsserver
zu ermöglichen.
Jedes Modul für
eine drahtlose Kommunikation geringer Reichweite liefert ein Abdeckungsgebiet,
um Kommunikationen mit WCDs zu unterstützen. Die Vorrichtung umfasst
ferner einen Speicher und einen Prozessor. Der Prozessor führt Instruktionen,
die im Speicher gespeichert sind aus, um: (1) eine Ressourcenanforderung,
die von einer drahtlosen Kommunikationsvorrichtung (WCD) ausgeht,
durch das drahtlose Kommunikationsmodul geringer Reichweite zu empfangen;
(2) der Ressourcenanforderung einen Standortindikator hinzu zu fügen, der
einen Standort der WCD identifiziert; und um die Ressourcenanforderung,
die die hinzugefügte Standortinformation
aufweist, an einen Inhaltsserver durch die Netzschnittstelle zu
geben. Der Standortindikator basiert auf einem Abdeckungsgebiet,
durch das die WCD kommuniziert.
-
Ein
weiteres Verfahren und System der vorliegenden Erfindung empfangen
eine Ressourcenanforderung, die von einer WCD geringer Reichweite ausgeht
und geben die Anforderung an einen Inhaltsserver. Das Verfahren
und das System empfangen vom Inhaltsserver auch eine Anweisung für einen Standortindikator,
der einen Standort der WCD identifiziert, und bestimmen diesen Standortindikator.
Der Standortindikator wird auf der Basis des Standorts eines Zugangspunkts,
der sich in Kommunikation mit der WCD befindet, bestimmt. Das Verfahren
und das System senden diesen Standortindikator an den Inhaltsserver.
-
Die
vorliegende Erfindung ist auch auf Computerprogrammprodukte gerichtet,
die ein von einem Computer verwendbares Medium einschließen, das eine
Logik für
das Aufzeichnen eines Computerprogramms umfasst. Diese Computerprogrammprodukte
ermöglichen
einem Prozessor, die Verfahren, Systeme und Vorrichtungen der vorliegenden
Erfindung zu liefern.
-
Die
vorliegende Erfindung liefert vorteilhafterweise eine Vorrichtungsstandortinformation,
die Anforderungen nach Ressourcen begleitet. weitere Merkmale und
Vorteile werden aus der folgenden Beschreibung deutlich.
-
KURZE BESCHREIBUNG
DER ZEICHNUNGEN
-
In
den Zeichnungen bezeichnen gleiche Bezugszahlen identische, funktionell ähnliche
und/oder strukturell ähnliche
Elemente. Die Zeichnung, in der ein Element zuerst erscheint, wird
durch die am weitesten links stehende Ziffer (am weitesten links
stehenden Ziffern) in der Bezugszahl angezeigt. Die vorliegende
Erfindung wird unter Bezug auf die begleitenden Zeichnungen beschrieben.
-
1 ist
ein Blockdiagramm einer drahtlosen Kommunikationsumgebung geringer
Reichweite gemäß einer
Ausführungsform
der vorliegenden Erfindung.
-
2 ist
ein Blockdiagramm einer Datenbankarchitektur gemäß einer Ausführungsform
der vorliegenden Erfindung.
-
3 ist
ein Blockdiagramm einer Host-Steuerungsimplementierung
gemäß einer
Ausführungsform
der vorliegenden Erfindung.
-
4A und 4B sind
Flussdiagramme, die Betriebssequenzen zeigen, die Ressourcenanforderungen
umfassen, die von drahtlosen Kommunikationsvorrichtungen ausgehen,
gemäß Ausführungsformen
der vorliegenden Erfindung.
-
5 ist
ein Blockdiagramm einer Bluetooth-Umgebung gemäß einer Ausführungsform
der vorliegenden Erfindung.
-
6 ist
ein Flussdiagramm, das eine Ablaufsequenz zeigt, die eine Ressourcenanforderung umfasst,
die von einer drahtlosen Kommunikationsvorrichtung ausgeht, gemäß einer
Ausführungsform der
vorliegenden Erfindung.
-
7 ist
ein Blockdiagramm einer Zugangspunktimplementierung, die Information
zu Anforderungen hinzufügt,
die von drahtlosen Kommunikationsvorrichtungen empfangen werden,
gemäß einer Ausführungsform,
der vorliegenden Erfindung.
-
8 ist
eine Seitenansicht eines Szenariums, bei dem zwei Zugangspunkte
auf verschiedenen Ebenen eines Einkaufzentrums angeordnet sind, gemäß einer
Ausführungsform
der vorliegenden Erfindung.
-
9 ist
ein Diagramm einer beispielhaften Betriebsumgebung gemäß einer
Ausführungsform der
vorliegenden Erfindung.
-
10 ist
ein Blockdiagramm einer Datenbankarchitektur gemäß einer Ausführungsform
der vorliegenden Erfindung.
-
11 ist
ein Blockdiagramm einer Host-Steuerungsimplementierung
gemäß einer
Ausführungsform
der vorliegenden Erfindung.
-
12 ist
ein Blockdiagramm einer Betriebsumgebung gemäß einer Ausführungsform
der vorliegenden Erfindung.
-
13 ist
ein Blockdiagramm einer Zugangspunktimplementierung, die mehrere
Abdeckungsgebiete liefert, gemäß einer
Ausführungsform der
vorliegenden Erfindung.
-
14A und 14B sind
Seitenansichten, die ein Szenarium mit mehreren Abdeckungsgebieten
zeigen.
-
15 ist
ein Blockdiagramm eines beispielhaften Computersystems.
-
DETAILLIERTE BESCHREIBUNG
DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
-
1. BETRIEBSUMGEBUNG
-
Bevor
die Erfindung im Detail beschrieben wird, ist es hilfreich, eine
Umgebung zu beschreiben, in der die Erfindung verwendet werden kann. 1 ist
ein Blockdiagramm einer drahtlosen Kommunikationsumgebung geringer
Reichweite, in welcher die vorliegende Erfindung verwendet werden
kann. Diese beispielhafte Umgebung umfasst mehrere drahtlose Kommunikationsvorrichtungen
(WCDs) 102, viele Zugangspunkte 106, eine Hoststeuerung 110,
ein Gateway 112, ein Datennetz 114 und einen Inhaltsserver 116.
-
Die
WCDs 102 sind an Ende-zu-Ende Client-Server-Kommunikationen mit
dem Inhaltsserver 116 beteiligt. Solche Kommunikationen
bedingen es, dass die WCDs 102 Anforderungen für Ressourcen an
den Inhaltsserver 116 senden. In Erwiderung auf diese Anforderungen überträgt der Inhaltsserver 116 Inhalt,
wie Hypertextdokumente, an die anfordernden WCDs 102.
-
Jede
WCD 102 kann ein drahtloses Mobiltelefon, ein drahtloser
PDA, eine Funkrufeinrichtung, ein Zweiwege-Funkgerät, ein Smartphone, ein persönlicher
Kommunikator oder irgend eine andere drahtlose Vorrichtung, die
Fachleuten auf dem relevanten technischen Gebiet bekannt ist, sein.
Die WCDs 102 übertragen
Anforderungen gemäß Protokollen,
wie dem drahtlosen Anwendungsprotokoll (WAP) und dem Hypertexttransferprotokoll
(HTTP).
-
Wenn
sich eine WCD 102 in einer WAP-Kommunikation mit dem Inhaltsserver 116 befindet,
fungiert sie als ein WAP-Client.
Um diese Funktion zu liefern, umfasst die WCD 102 einen
Prozessor, der WAP-Client-Software ausführt. WAP-Software enthält Komponenten, wie einen Browser
einer drahtlosen Auszeichnungssprache (Wireless Markup Language,
WML), eine WMLScript-Maschine, ein Push-Untersystem und einen Drahtlosprotokollstapel,
die Fachleuten bekannt sind.
-
Eine
WAP fähige
WCD 102 kann auf kleine Dateien, die Decks genannt werden,
zugreifen, die jeweils aus kleineren Seiten zusammengesetzt sind, die
Karten genannt werden. Karten sind klein genug, damit sie in einen
kleinen Anzeigebereich passen, der als ein Mikrobrowser bezeichnet
wird. Die kleine Größe des Mikrobrowsers
und die kleinen Dateigrößen sind
für Vorrichtungen
mit kleinen Speicher und Einschränkungen
einer geringen Bandbreite, wie sie von drahtlosen Kommunikationssystemen,
wie Bluetooth gefordert werden, geeignet.
-
Karten
sind in der Wireless Markup Language (WML) geschrieben, die insbesondere
für kleine Bildschirme
und eine Einhandnavigation ohne eine Tastatur vorgesehen ist. Die
WML ist skalierbar, so dass sie mit einem großen Bereich von Anzeigen, die Zweizeilen-Textanzeigen
als auch große
LCD-Schirme, die
man auf Vorrichtungen, wie Smartphones, PDAs und persönlichen
Kommunikatoren, findet, umfassen, kompatibel ist. WML-Karten können Programme
einschließen,
die in WMLScript, was JavaScript ähnlich ist, geschrieben sind.
Durch die Elimination mehrerer unnötiger Funktionen, die man in diesen
anderen Script-Sprachen findet, stellt WMLScript nur minimale Anforderungen
an die Verarbeitung und den Speicher von WCDs 102.
-
Anforderungen
laufen von einer WCD 102 zu einem Inhaltsserver 116 durch
einen Zugangspunkt 106, eine Host-Steuerung 110, ein Gateway 112 und ein
Datennetz 114. Antworten auf diese Anforderungen laufen
vom Inhaltsserver 116 durch das Gateway 112 und
Zugangspunkte 106. Von jeder empfangenen Anforderung kann
der Inhaltsserver 116 Inhalt wählen, der für die anfordernde WCD 102 geeignet ist.
Diese Auswahl kann auf dem Standort und/oder anderen Eigenschaften
der anfordernden WCD 102 basieren.
-
In
der Umgebung der 1 kommunizieren WCDs 102 mit
Zugangspunkten 106 gemäß einer drahtlosen
Kommunikationsnorm geringer Reichweite, wie Bluetooth. Diese Kommunikationen können ein
Profil, wie das Bluetooth Personal Area Network (PAN) Profil verwenden.
-
Jeder
Zugangspunkt 106 besitzt einen vordefinierten Standort
und ein Abdeckungsgebiet 104. Jeder Zugangspunkt 106 kann
mit Vorrichtungen (wie WCDs 102) kommunizieren, die sich
in seinem jeweiligen Abdeckungsgebiet 104 befinden. Die
Abdeckungsgebiete 104 können
in der Form und Größe variieren.
Bei Kommunikationssystemen geringer Reichweite sind die Abdeckungsgebiete
jedoch im allgemeinen klein. Beispielsweise weisen die Abdeckungsgebiete
für Bluetooth-Zugangspunkte
typischerweise einen Radius zwischen 10 und 30 Meter auf.
-
1 zeigt,
dass jeder Zugangspunkt 106 mit der Host-Steuerung 110 durch
Verbindungen 108a-e verbunden ist. Diese Verbindungen können entweder
drahtlose oder drahtgebundene Verbindungen sein. Beispielsweise
können
die Verbindungen 108 Verbindungen geringer Reichweite (beispielsweise
Bluetooth) sein. Obwohl die 1 die Host-Steuerung 110 als
eine getrennte Einheit zeigt, kann sie alternativ in einem der Zugangspunkte 106 angeordnet
sein.
-
Wenn
die Host-Steuerung 110 als eine getrennte Einheit implementiert
ist, kann sie an unterschiedlichen Orten platziert sein. Beispielsweise kann
die Host-Steuerung 110 in einem oder mehreren der Abdeckungsgebiete 104 angeordnet
sein. An solchen Standorten kann die Host-Steuerung 104 Information
mit Zugangspunkten 106 durch drahtlose Verbindungen geringer
Reichweite austauschen.
-
Die
Host-Steuerung 110 empfängt
Anforderungen von Zugangspunkten 106, die von WCDs 102 ausgehen.
Die Host-Steuerung 110 kann
dann diesen Anforderungen Information hinzufügen. Die Host-Steuerung 110 gibt
diese Anforderungen an das Gateway 112 weiter.
-
Wie
in 1 gezeigt ist, ist die Host-Steuerung 110 mit
einem Gateway 112 verbunden. Das Gateway 112 liefert
eine Verbindungsmöglichkeit zum
Datennetz 114. Um diese Verbindungsmöglichkeit zu liefern, kann
das Gateway 110 Funktionen, wie eine Protokollumwandlung
und eine Pufferspeicherung, ausführen.
-
Das
Datennetz 114 bietet eine Zugangsmöglichkeit zu Informationsressourcen,
wie einem Inhaltsserver 116. In Ausführungsformen der vorliegenden
Erfindung ist ein Datennetz 114 ein Paketnetz, wie das
Internet, wo Datenpakete gemäß verschiedenen
Protokollen, wie TCP/IP, HTTP und WAP, ausgetauscht werden.
-
Obwohl
das in 1 nicht gezeigt ist, können ein oder mehrere Zugangspunkte 106 direkt
mit dem Gateway 112 entweder über drahtgebundene oder drahtlose
Verbindungen verbunden sein, um einen direkten Zugang zum Datennetz 114 zu
erlauben. Auch können
ein oder mehrere der Zugangspunkte 106 direkt mit dem Datennetz 114 verbunden sein,
um einen noch direkteren Zugang zu Informationsressourcen, wie dem
Inhaltsserver 116, zu bieten. Eine solche Kommunikation
ermöglicht
es, dass Inhalt an WCDs 102 geliefert wird, ohne dass er
durch die Host-Steuerung 110 und möglicherweise sogar das Gateway 112 geht.
-
WCDs 102 sind
tragbare Vorrichtungen. Somit kann es sein, dass sie sich während des
Betriebs zwischen den Abdeckungsgebieten 104 bewegen und
mit unterschiedlichen Zugangspunkten 106 kommunizieren.
Somit wird zu jedem Zeitpunkt der Standort einer speziellen WCD 102 durch
den Standort des Zugangspunkts 106, mit dem sie sich in
Kommunikation befindet, angezeigt. Diese Standortanzeige ist ziemlich
genau, da in drahtlosen Umgebungen geringer Reichweite jedes Abdeckungsgebiet 104 ziemlich
klein ist.
-
Tatsächlich kann
diese Standortanzeige in gewissen Umgebungen vertikale Positionen
der WCDs 102 identifizieren. Beispielsweise in Strukturen,
wie mehrstöckigen
Gebäuden,
werden HF-Signale, die von Bluetooth-Zugangspunkten gesendet werden,
typischerweise nicht stark genug sein, um durch Bodenmaterial, wie
Beton, hindurch zu gehen. Somit können bei Systemen, wie Bluetooth,
die vertikalen Positionen der WCDs 102 aus der Identität des entsprechenden
Zugangspunkts 106 bestimmt werden.
-
Um
den Inhaltsserver 116 mit den Standorten der WCDs 102 zu
versorgen, verarbeitet die Host-Steuerung 110 Anforderungen,
die von WCDs 102 empfangen werden. Insbesondere bestimmt
die Host-Steuerung 110 nach dem Empfangen einer Anforderung
den Standort der WCD 102, die die Anforderung ausgegeben
hat. Dann fügt
die Host-Steuerung 110 diesen Standort der Anforderung
hinzu und gibt die Anforderung entlang ihrer Route an den Inhaltsserver 116.
In der Umgebung der 1 ist das nächste Ziel entlang dieser Route
das Gateway 112.
-
Der
Inhaltsserver 116 empfängt
die Anforderung und kann aus der Information, die der Anforderung
hinzugefügt
wurde, wie einem genauen Standortindikator, eine Vielzahl von standortbasierter Dienstmerkmale
liefern, die bisher nicht verfügbar waren.
-
II. DATENBANKARCHITEKTUR
-
Die
Host-Steuerung 110 bestimmt die Standorte der WCDs 102 aus
dem Standort der entsprechenden Zugangspunkte 106. Um es
der Host-Steuerung 110 zu ermöglichen, die Standorte der
WCDs 102 zu verfolgen, verwenden Ausführungsformen der vorliegenden
Erfindung eine Datenbankarchitektur, die in 2 gezeigt
ist. In dieser Architektur sind Datenbanken in der Host-Steuerung 110 und
den Zugangspunkten 106a-e enthalten.
-
Wie
in 2 gezeigt ist, umfasst jeder Zugangspunkt 106 eine
Verbindungsdatenbank 202. Die Verbindungsdatenbanken 202 liefern
jeweils eine Liste der WCD-Verbindungen, die vom entsprechenden
Zugangspunkt 106 unterstützt werden.
-
Beispielsweise
zeigt die Verbindungsdatenbank 202b in 2,
dass der Zugangspunkt 106b Verbindungen mit den WCDs 102a und 102c unterstützt. Die
Verbindungsdatenbank 202d zeigt, dass der Zugangspunkt 106d eine
Verbindung mit der WCD 102b unterstützt. Die Verbindungsdatenbank 202e zeigt,
dass der Zugangspunkt 106e eine Verbindung mit der WCD 102d unterstützt.
-
2 zeigt,
dass die Host-Steuerung 110 eine Standortverwaltungsdatenbank 210 einschließt. Die
Standortverwaltungsdatenbank 210 umfasst einen Zugangspunktverbindungsteil 220,
einen Zugangspunktstandortteil 222 und einen Standortverwaltungsteil 224.
-
Der
Zugangspunktverbindungsteil 220 speichert Verbindungsinformation
für jeden
Zugangspunkt 106. Somit speichert der Zugangspunktverbindungsteil 220 Kopien
von Information, die in jeder der Verbindungsdatenbanken 202 enthalten
ist. Um diese Kopien aktuell zu halten, übertragen die Zugangspunkte 106 die
Inhalte ihrer jeweiligen Datenbanken 202 an die Hoststeuerung 110,
entweder kontinuierlich oder in vorbestimmten Zeitintervallen.
-
Der
Zugangspunktstandortteil 222 speichert Standortinformation
für jeden
der Zugangspunkte 106. Diese Standortinformation (die auch
als "Standortgriffe
(location handles" bezeichnet
wird) kann in Form von Koordinaten vorliegen. Solche Koordinaten können rechtwinklig
sein (beispielsweise x, y, z). Alternativ können solche Koordinaten aus
der geographischen Breite, der geographischen Länge und der Höhe bestehen.
In weiteren Alternativen können
andere geeignete Koordinatensysteme verwendet werden.
-
Der
Standortverwaltungsteil 224 speichert Standortindikatoren
für die
WCDs 102, die mit den Zugangspunkten 106 kommunizieren.
Somit umfasst der Standortverwaltungsteil 224 Aufzeichnungen,
die jeweils eine WCD-Kennung 102, wie eine BD_ADDR und
einen entsprechenden Standortindikator einschließen. Da jeder Zugangspunkt 106 einen
vordefinierten Standort besitzt, haben die damit verbundenen WCDs 102 ungefähr denselben
Standort (beispielsweise bei Bluetooth-Implementierungen innerhalb
von 10-30 Meter). Unter Verwendung der Standortgriffe im Zugangspunktstandortteil 222 wird
jeder WCD 102, die mit einem Zugangspunkt 106 kommuniziert,
ein Standortindikator zugewiesen. Wie in 2 gezeigt
ist, speichert der Standortverwaltungsteil 224 einen Standortindikator
für jede
der WCDs 102a-d.
-
III. HOST-STEUERUNG
-
Die
Datenbankimplementierung der 2 wird von
Verarbeitungselementen innerhalb der Host-Steuerung 110 verwendet. 3 ist
ein Blockdiagramm einer Implementierung einer Host-Steuerung 110,
das diese Verarbeitungselemente zeigt. Wie in 3 gezeigt
ist, umfasst die Host-Steuerung 110 eine Standortanfügeeinheit 302,
eine Datenbankverwaltungseinheit 304 und eine Kommunikationsschnittstelle 305. 3 zeigt
auch, dass die Host-Steuerung 110 zusätzlich zur Standortverwaltungsdatenbank 210 eine
Domain-Datenbank 306 umfasst. Diese Elemente können mit
Hardware, Software, Firmware oder einer Kombination daraus implementiert
werden.
-
Die
Standortanfügeeinheit 302 fügt Standortindikatoren
den von der WCD ausgehenden Anforderungen, die von Zugangspunkten 106 empfangen werden,
hinzu. Für
eine spezielle Anforderung umfasst dieses Anfügen das Identifizieren der
Ausgangs-WCD 102 und das Abrufen des Standortindikators,
der dieser WCD 102 entspricht, aus dem Standortverwaltungsteil 224.
Nach diesem Abrufen fügt
die WCD 102 den Standortindikator an die Anforderung an
und gibt die Anforderung an das Gateway 112. Dieses Merkmal
erlaubt es dem Inhaltsserver 116, genaue standortbasierte
Dienste zu liefern.
-
Die
Standortanfügeeinheit 302 kann
auch andere sich auf die WCD 102 und/oder auf den Benutzer
beziehende Information zu empfangenen Anforderungen hinzufügen. Solche
Merkmale können bei
Gelegenheiten benutzt werden, wie wenn beispielsweise ein Benutzer
einen Betreiber der Host-Steuerung 110 autorisiert
hat, solche Information den Anforderungen hinzuzufügen. Dieses
Merkmal ermöglicht
eine Schaffung eines auf einem Benutzerprofil und/oder einer Vorrichtungsklasse
basierenden Dienstes zusätzlich
zu den standortbasierten Diensten.
-
Die
Datenbankverwaltungseinheit 304 führt Funktionen in Bezug auf
das Unterhalten der Datenbanken innerhalb einer Host-Steuerung 110 aus.
Insbesondere empfängt
die Datenbankverwaltungseinheit 304 Datensätze der
Verbindungsdatenbank 202 von Zugangspunkten 106,
und nach dem Empfang dieser Datensätze aktualisiert sie die Inhalte
des Teils 220 in der Standortverwaltungsdatenbank 210.
Zusätzlich
unterhält
die Datenbankverwaltungseinheit 304 den Standortverwaltungsteil 224.
Dies umfasst das Errichten und Aktualisieren von Datensätzen im Standortverwaltungsteil 224.
Wie oben beschrieben ist, umfassen diese Datensätze jeweils eine WCD-Kennung 102,
wie eine BR_ADDR und einen entsprechenden Standortindikator.
-
Wie
in 3 gezeigt ist, ist eine Kommunikationsschnittstelle 305 mit
der Standortanfügeeinheit 302 und
der Datenbankverwaltungseinheit 304 verbunden. Die Kommunikationsschnittstelle 305 tauscht
Information mit anderen Einheiten, die sich außerhalb der Host-Steuerung 110 befinden,
aus. Beispielsweise empfängt
die Kommunikationsschnittstelle 305 von Zugangspunkten 106 Inhaltsanforderungen
und Information, die in Verbindungsdatenbanken 202 gespeichert
ist. Zusätzlich überträgt die Kommunikationsschnittstelle 305 Anforderungen an
ihr nächstes
Ziel, ihre nächsten
Ziele entlang der Route zum Inhaltsserver 116. In der Umgebung
der 1 ist das nächste
Ziel das Gateway 112.
-
Solche
Kommunikationen können
gemäß verschiedenen
Protokollen erfolgen. Beispielsweise kann die Kommunikationsschnittstelle 305 drahtlose Kommunikationstechniken
geringer Reichweite (beispielsweise Bluetooth) verwenden, um mit
Zugangspunkten 106 und/oder dem Gateway 112 zu
kommunizieren. Alternativ kann die Kommunikationsschnittstelle 305 drahtgebundene
Kommunikationstechniken oder eine Kombination aus drahtlosen und
drahtgebundenen Techniken beim Ausführen solcher Kommunikationen
verwenden.
-
Die
Kommunikationsschnittstelle 305 tauscht auch Information
mit Elementen innerhalb der Host-Steuerung 110 aus. Beispielsweise
empfängt die
Kommunikationsschnittstelle 305 von einer WCD ausgehende
Inhaltsanforderungen von Zugangspunkten 106 und gibt diese
Anforderungen an die Standortanfügeeinheit 302 für eine Verarbeitung
weiter. Wenn sie verarbeitet sind, empfängt die Kommunikationsschnittstelle 305 diese
Anforderungen von der Standortanfügeeinheit 302 und
gibt diese Anforderungen entlang ihrer Route an den Inhaltsserver 116.
Diese Schritte können
das Extrahieren von Inhaltsanforderungen von Übertragungseinheiten, wie Kommunikationspakete,
die von Zugangspunkten 106 empfangen werden, und das Umformatieren
von Anforderungen, die von der Standortanfügeeinheit 302 empfangen
werden, für
eine Übertragung
umfassen.
-
IV. FILTERN
-
Die
Host-Steuerung 110 kann ausgewählt Standortindikatoren an
Anforderungen anfügen.
Somit kann die Standortanfügeeinheit 302 "Filteroperationen" ausführen, um
angefügte
Information nur für gewisse
Anforderungen zu liefern.
-
Beispielsweise
kann die Standortanfügeeinheit 302 Standortinformation
an Inhaltsanforderungen anfügen,
die sich auf den Standort der anfordernden WCDs 102 bezieht.
Ein Beispiel eines solchen standortbasierten Filterns kann in einem
Einkaufszentrum angewandt werden, wo Zugangspunkte 106 an
verschiedenen Orten im Einkaufzentrum verteilt sind. Wenn die Host-Steuerung 110 Anforderungen von
diesen Zugangspunkten empfängt,
die sich auf einen den Einkauf betreffenden Inhalt beziehen, fügt die Standortanfügeeinheit 302 Standortinformation an
die Anforderungen an. Wenn dies Host-Steuerung 110 jedoch
Anforderungen von diesen Zugangspunkten empfängt, die sich nicht auf einen
den Einkauf betreffenden Inhalt beziehen, fügt sie keine Standortinformation
an die Anforderungen an.
-
Die
Standortanfügeeinheit 302 kann
solche Bestimmungen auf der Ressourcenadressinformation, die in
der Domain-Datenbank 306 enthalten
ist, gründen.
Somit bestimmt nach dem Empfangen einer Anforderung die Standortanfügeeinheit 302 den Zugangspunkt 106,
der die Anforderung weitergegeben hat. Dann greift die Standortanfügeeinheit 302 auf
Datensätze
in der Domain-Datenbank 306 zu, die diesem Zugangspunkt
entsprechen. Diese Datensätze
können
Ressourcenkennungen, wie Domain-Namen,
die für
das Anfügen
der Standortinformation passend sind, einschließen.
-
Das
Verwenden der Domain-Datenbank 306 ermöglicht vorteilhafterweise,
dass das Anfügen
von Standortinformation, ein Teilnahme- oder Gebührendienst ist, der von den
Inhaltsanbietern bezahlt wird. Die die Partei steuernde Host-Steuerung 110 kann nämlich zusätzliche
Information, wie Standortindikatoren, nur an Inhaltsserver, die
sich für
solche Information einschreiben und/oder bezahlen, liefern.
-
Die
Host-Steuerung 110 kann auch "Filteroperationen" auf der Basis der Identität der anfordernden
WCD 102 ausführen.
Beispielsweise kann die Standortanfügeeinheit 302 Standortinformation
ausgewählt
nur an Anforderungen anfügen, die
von gewissen WCDs 102 erzeugt werden. Eine Liste dieser WCDs 102 kann
in der Domain-Datenbank 306 geführt werden. Dieses Merkmal
erlaubt vorteilhafterweise, dass WCD-Nutzer 102 mit unterschiedlichen Dienstklassen
behandelt werden können.
Beispielsweise können
einige WCD-Benutzer 102 standortbasierte Premiumdienste
empfangen, während
andere das nicht tun. Die Benutzer können gemäß verschiedener Schemata unterschieden
werden. In einem solchen Schema erhalten Benutzer, die häufige Anforderungen
vornehmen, standortbasierte Dienste.
-
Filteroperationen,
die auf der Identität
der anfordernden WCD 102 basieren, können allein oder in Kombination
mit anderen Filteroperationen, wie den oben beschriebenen Filtertechniken
ausgeführt
werden.
-
V. BETRIEB
-
Die 4A und 4B sind
Flussdiagramme, die die Operationssequenzen gemäß der vorliegenden Erfindung
zeigen. Diese Sequenzen werden unter Bezug auf die Betriebsumgebung
der 1 beschrieben. Sie können jedoch mit anderen Umgebungen
und anderen Netztopologien verwendet werden. Während die Flussdiagramme zeigen,
wie Schritte in einer gewissen Reihenfolge ausgeführt werden,
liegen andere Reihenfolgen innerhalb des Umfangs der vorliegenden
Erfindung.
-
Die
in 4A gezeigte Betriebssequenz beginnt mit einem
Schritt 402. In diesem Schritt empfängt die Host-Steuerung 110 eine
Anforderung nach Inhalt, wie ein WML-Dokument, ein HTML-Dokument oder andere
Formen des Inhalts. Somit umfasst die empfangene Anforderung eine
Ressourcenkennung, wie eine Internetadresse (URL).
-
Als
nächstes
bestimmt die Host-Steuerung 110 in einem Schritt 404 die
Eigenschaften der empfangenen Anforderung. Beispiele solcher Eigenschaften
umfassen die Identität
(das ist die Adresse der Vorrichtung) der anfordernden WCD 102 und
die Identität
des weitergebenden Zugangspunkts 106.
-
In
Ausführungsformen
der vorliegenden Erfindung kann es sein, dass die Anforderung die
anfordernde WCD 102 nicht physikalisch identifiziert. Stattdessen
kann es sein, dass die Anforderung nur eine Ursprungsadresse, wie
eine IP-Adresse,
enthält.
Eine physikalische Vorrichtungsadresse, wie eine Medienzugangssteuer-(MAC)-Adresse
kann benötigt
werden, um den entsprechenden Zugangspunkt 106 zu bestimmen.
In Bluetooth-Implementierungen ist so eine Adresse eine Bluetooth-Vorrichtungsadresse
(BD_ADR). Somit kann der Schritt 404 das Zugreifen auf
einen Server, wie einen Server mit einem dynamischen Host-Konfigurationsprotokoll (dynamic
host configuration protocol (DHCP)) umfassen, um die Vorrichtungsadresse
der anfordernden WCD 102 zu bestimmen. Alternativ kann
der Schritt 104 das Senden (beispielsweise Rundsenden)
einer Nachricht, wie einer Adressenauflösungsprotokoll-Nachricht (Address
resolution protocol, APR) an Zugangspunkte 106 und/oder
WCDs 102, um diese physikalische Adresse zu empfangen,
umfassen. Solche Techniken werden unten unter Bezug auf 6 beschrieben.
-
Wenn
die Vorrichtungsadresse bestimmt ist, kann die Host-Steuerung 110 den
entsprechenden Zugangspunkt 106 bestimmen. Wie oben unter
Bezug auf 2 beschrieben wurde, kann der
entsprechende Zugangspunkt 106 beispielsweise aus der Standortverwaltungsdatenbank 210 bestimmt
werden.
-
Im
Schritt 406 bestimmt die Host-Steuerung 110, ob
es passend ist, zusätzliche
Information der Anforderung hinzuzufügen. Wenn dem so ist, dann wird
ein Schritt 408 ausgeführt.
Ansonsten geht die Operation zu einem Schritt 410 weiter.
Unter Bezug auf 3 kann der Schritt 406 das
Zugreifen auf die Domain-Datenbank 306 gemäß der Ressource,
die in der Anforderung identifiziert wurde, und dem Zugangspunkt 106 umfassen,
um zu bestimmen, ob das Hinzufügen
von Information zur Anforderung passend ist. Der Schritt 406 kann
auch das Zugreifen auf die Domain-Datenbank 306 umfassen,
um zu bestimmen, ob das Hinzufügen
von Information zu Anforderungen von der anfordernden WCD 102 gestattet
ist.
-
Im
Schritt 408 fügt
die Host-Steuerung 110 der Anforderung zusätzliche
Information hinzu. Dieser Schritt kann zusätzlich oder alternativ umfassen, dass
die Standortanfügeeinheit 302 einen
Standortindikator an die Anforderung anfügt. Dieser Schritt kann umfassen,
dass die Host-Steuerung 110 (beispielsweise die Standortanfügeeinheit 302)
andere Information an die Anforderung anfügt, die Eigenschaften der anfordernden
WCD 102 befördert.
Beispiele solcher zusätzlichen
Information umfassen Benutzerprofilinformation, die Vorrichtungsklasse
der anfordernden WCD 102 (beispielsweise schnurloses Telefon,
PDA, etc.) und die physikalische Adresse der anfordernden WCD 102.
-
Im
Schritt 410 gibt die Host-Steuerung 110 die Anforderung
entlang ihrer Route an den Inhaltsserver 116. In der Topologie
der 1 ist der nächste Punkt
entlang dieser Route das Gateway 112.
-
Als
nächstes
empfängt
in einem Schritt 412 der Inhaltsserver 116 die
Anforderung. Nach dem Schritt 412 wird ein Schritt 414 ausgeführt. Im
Schritt 414 extrahiert der Inhaltsserver 116 die
angezeigte Ressource aus der Anforderung und jegliche zusätzliche
Information, die in der Anforderung enthalten ist, wie einen hinzugefügten Standortindikator.
-
Ein
Schritt 416 folgt auf den Schritt 414. In diesem
Schritt wählt
der Inhaltsserver 116 Inhalt auf der Basis der Ressourcenkennung
und zusätzlicher Information
(wie dem Standortindikator), die in der Anforderung enthalten sind.
Als nächstes überträgt in einem
Schritt 418 der Inhaltsserver 116 den ausgewählten Inhalt
an die anfordernde WCD 102.
-
Die
Operationssequenz, die in 4B gezeigt
ist, ist ähnlich
der Sequenz, die in 4A gezeigt ist. Im Gegensatz
zur Sequenz in 4A fügt die Host-Steuerung 110 jedoch
keine Information den empfangenen Anforderungen hinzu, bis sie eine
Anweisung vom Inhaltsserver 116 empfängt.
-
Diese
Sequenz beginnt mit einem Schritt 450. In diesem Schritt
empfängt
die Host-Steuerung 110 eine Anforderung für einen
Inhalt, wie ein WML-Dokument, ein HTML-Dokument oder andere Formen
von Inhalt. Somit umfasst die empfangene Anforderung eine Ressourcenkennung,
wie eine Internetadresse (URL).
-
Im
Schritt 454 gibt die Host-Steuerung 110 die Anforderung
entlang ihrer Route an den Inhaltsserver 116. In der Topologie
der 1 ist der nächste Punkt
entlang dieser Route das Gateway 112. Als nächstes empfängt in einem
Schritt 456 der Inhaltsserver 116 die Anforderung.
-
In
einem Schritt 458 bestimmt der Inhaltsserver 116,
ob er gerne zusätzliche
Information, wie einen Standortindikator, empfangen würde. Wenn
dem so ist, so geht die Operation zu einem Schritt 460. Ansonsten
geht die Operation zu einem Schritt 468.
-
In
einem Schritt 460 sendet der Inhaltsserver 116 eine
Anweisung an die Host-Steuerung 110, die an der Host-Steuerung 110 über das
Gateway 112 ankommen mag. Diese Anweisung weist die Host-Steuerung 110 an,
zusätzliche
Information in Bezug auf die WCD 102, die die Anforderung
ausgegeben hat, zu liefern. Solche zusätzliche Information kann Benutzerprofilinformation,
die Vorrichtungsklasse der anfordernden WCD 102 und/oder
die physikalische Adresse der anfordernden WCD 102 einschließen. Diese
Anweisung enthält
Information, um die anfordernde WCD 102 zu identifizieren.
Beispielsweise kann im Zusammenhang mit einem IP-Netz eine solche
Identifikationsinformation die IP-Adresse, die von der anfordernden
WCD 102 verwendet wird, umfassen.
-
In
einem Schritt 462 empfängt
die Host-Steuerung 110 die Anweisung von Inhaltsserver 116.
Auf der Basis dieser Anweisung greift die Host-Steuerung 110 auf
Information zu, die der WCD 102 entspricht, die die Anforderung
ausgegeben hat. Beispielsweise kann die Host-Steuerung 110 auf
der Basis einer Adresse, die in der Anweisung vom Inhaltsserver 116 enthalten
ist, einen Standortindikator von der Standortverwaltungsdatenbank 210 erhalten.
-
In
Erwiderung auf die Anforderung, die vom Inhaltsserver 116 empfangen
wird, folgt ein Schritt 464 auf den Schritt 462.
In diesem Schritt überträgt die Host-Steuerung 110 an
den Inhaltsserver 116 die zusätzliche Information, auf die
im Schritt 462 zugegriffen wurde. In der Umgebung der 1 kann
diese zusätzliche
Information durch das Gateway 112 und über das Datennetz 114 laufen,
um am Inhaltsserver 116 anzukommen. Der Inhaltsserver 116 empfängt diese
zusätzliche
Information in einem Schritt 466.
-
Wie
in 4B gezeigt ist, folgt der Schritt 468 auf
den Schritt 458 oder 466. In diesem Schritt wählt der
Inhaltsserver 116 Inhalt (das sind Ressourcen) aus. Wenn
der Schritt 468 auf den Schritt 458 folgt, so
basiert diese Auswahl auf der Ressourcenkennung in der von der WCD
ausgehenden Anforderung. Wenn der Schritt 468 jedoch auf
den Schritt 466 folgt, basiert diese Auswahl auf der Ressourcenkennung
in der von der WCD ausgehenden Anforderung und auf zusätzlicher
Information (wie einem Standortindikator), die von der Host-Steuerung 110 im Schritt 464 weitergeben
wurde.
-
Ein
Schritt 470 folgt auf den Schritt 468. In diesem
Schritt überträgt der Inhaltsserver 116 den ausgewählten Inhalt
an die anfordernden WCD 102.
-
In
den 4A und 4B liefert
die Host-Steuerung 110 zusätzliche Information an den Inhaltsserver 116.
-
Beispielsweise
zeigt 4A, wie die Host-Steuerung 110 Information
an Anforderungen hinzufügt,
die sie von WCDs 102 empfängt. Ebenso zeigt 4B,
wie die Host-Steuerung 110, wenn sie angewiesen wird, sich
auf die WCD beziehende Information an den Inhaltsserver 116 liefert.
Solche Operationen können
jedoch von anderen Einheiten ausgeführt werden. Beispielsweise
können
die Schritte 402-410, 450, 454, 462 und 464 durch
ein Gateway, wie das Gateway 112, oder ein Gateway, wie
es in 5 gezeigt ist, ausgeführt werden.
-
5 ist
ein Blockdiagramm einer Bluetooth-Umgebung, bei der ein Gateway 112' Information
den Anforderungen hinzufügt.
Die Umgebung der 5 ist ähnlich der Umgebung der 1.
Um diese Information hinzuzufügen
verlässt
sich das Gateway 112' jedoch
auf Information, die von Servern geliefert wird, die durch das Datennetz 114 zugänglich sind.
Wie in 5 gezeigt ist, umfassen diese Server einen Server 502 mit
dynamischem Host-Konfigurationsprotokoll
(DHCP) und einen Verbindungsverwaltungsserver 504.
-
In 5 kann
jede WCD 102 eine Bluetooth-Verbindung mit einem Zugangspunkt 106 gemäß einem
persönlichen
Netzprofil (personal area networking, PAN) errichten. Wenn eine
WCD 102 eine Bluetooth-Verbindung mit einem Zugangspunkt 106 errichtet
hat, so erhält
sie eine IP-Adresse vom DHCP-Server 502.
Der DHCP-Server 502 speichert die drahtlose Medienzugangssteueradresse (MAC-Adresse)
geringer Reichweite jeder WCD 102, die mit einem Zugangspunkt 106 kommuniziert.
In Bluetooth-Implementierungen liegt diese MAC-Adresse in Form einer
Bluetooth-Vorrichtungsadresse (BD_ADDR) vor. Für jede dieser MAC-Adressen
speichert der DHCP-Server 502 die entsprechende IP-Adresse.
Diese Adressen können in
einer Datei, wie einer Mietdatei (leases file), gespeichert werden.
Diese Speicherung macht einen Querbezug zu IP-Adressen und drahtlose MAC-Adressen
geringer Reichweite möglich.
-
Wie
in 1 weist jeder Zugangspunkt 106 in 5 einen
vorbestimmten Standort auf. In einigen Implementierungen "kennt" jeder Zugangspunkt 106 seinen
vorbestimmten Standort. Während
eines Initialisierungsverfahrens gibt jeder Zugangspunkt 106 diesen
Standort an eine zentralisierte Datenbank (beispielsweise die Standortverwaltungsdatenbank 210)
weiter. In der Umgebung der 5 ist die Standortverwaltungsdatenbank 210 im
Verbindungsverwaltungsserver 504 gespeichert. Somit speichert der
Verbindungsverwaltungsserver 504 auch Korrespondenzen zwischen
WCDs 102 und den Zugangspunkten 106, die ihre
drahtlosen Kommunikationen unterstützen. Die Zugangspunkte 106 können diese Korrespondenzen
an den Verbindungsverwaltungsserver 504 beispielsweise
zu vorbestimmten Zeitintervallen oder immer wenn sich diese Korrespondenzen ändern, übertragen.
-
6 zeigt
eine Sequenz der Operation für die
in 5 gezeigte Umgebung. Diese Sequenz beginnt mit
einem Schritt 602. In diesem Schritt sendet eine WCD 102 eine
WAP-Anforderung,
die von einem Zugangspunkt 106 an ein Gateway 112' weitergegeben
wird.
-
In
einem Schritt 604 sendet das Gateway 112' eine Vorrichtungs-ID
und eine Standortanforderung an den Verbindungsverwaltungsserver 504. Diese
Anforderung umfasst die IP-Adresse, die von der anfordernden WCD 102 verwendet
wird.
-
Der
Verbindungsverwaltungsserver 504 empfängt diese Anforderung und liest
in einem Schritt 606 die Vorrichtungs-ID der WCD 102 (beispielsweise
deren BD_ADDR) vom DHCP-Server 502. Schritt 606 kann
das Senden einer Anforderung an den DHCP-Server 502 umfassen,
die die IP-Adresse enthält,
die von der anfordernden WCD 102 verwendet wird, und das
Empfangen einer Antwort vom DHCP-Server 502, die seine
BD_ADDR enthält.
-
Aus
der Vorrichtungs-ID, die im Schritt 606 empfangen wurde,
bestimmt der Verbindungsverwaltungsserver 504 den Standort
der anfordernden WCD 102. Diese Bestimmung basiert auf
dem Standort des Zugangspunkts 106, der die Anforderung
an das Gateway 112' weitergegeben
hat. Wie oben beschrieben wurde, speichert der Verbindungsverwaltungsserver 504 Korrespondenzen
zwischen den WCDs 102 und den Zugangspunkten 106.
-
Als
nächstes
sendet in einem Schritt 608 der Verbindungsverwaltungsserver 504 den
Standort der anfordernden WCD 102 an das Gateway 112'. Zusätzlich kann
der Verbindungsverwaltungsserver 504 auch die Vorrichtungs-ID
der anfordernden WCD 102 während dieses Schrittes senden.
Nach dem Empfangen dieser Information kann das Gateway 112' der WAP-Anforderung
Information hinzufügen.
Somit führt
an diesem Punkt das Gateway 112' die Schritte 404-408 der 4A aus.
-
In
einem Schritt 610 sendet das Gateway 112' eine Inhaltsanforderung
an den Inhaltsserver 116. Nach dem Empfangen dieser Anforderung
wählt der
Inhaltsserver 116 Inhalt auf der Basis der Ressource, die
in der Anforderung identifiziert ist, als auch jeglicher zusätzlicher
Information (wie einem Standortindikator), die in der Anforderung
enthalten ist, aus. Als nächstes
liefert in einem Schritt 612 der Inhaltsserver 116 Inhalt
an die anfordernde WCD 102 über das Gateway 112'.
-
Wie
oben in Bezug auf 6 beschrieben wurde, werden
die MAC-Adressen (beispielsweise BD_ADDR) der WCDs 102 vom
DHCP-Server 502 erhalten. Diese MAC-Adressen können jedoch
alternativ durch Mechanismen, wie dem Adressenauflösungsprotokoll
(ARP) bestimmt werden. ARP ist ein Protokoll, das verwendet wird,
um eine IP-Adresse in eine Vorrichtungsadresse, wie eine Bluetooth-Adresse,
umzuwandeln. Gemäß diesem
Protokoll wird eine physikalische Adresse durch das Rundsenden einer ARP-Anforderung,
die eine IP-Adresse enthält,
auf einem Netz bestimmt. Eine Vorrichtung, die mit dem Netz verbunden
ist, die die IP-Adresse besitzt, antwortet mit ihrer Vorrichtungsadresse.
-
Es
werden auch, wie oben unter Bezug auf 6 beschrieben,
WCD-Standorte 102 vom Verbindungsverwaltungsserver 504 erhalten.
Als eine Alternative zu dieser Technik kann das Gateway 112, wenn
es die MAC-Adresse einer anfordernden WCD 102 empfängt, den
Standort der anfordernden WCD 102 durch die MAC-Adressen,
die direkt von den Zugangspunkten 106 geliefert werden,
bestimmen.
-
VI. ERWEITERUNGSDATENKÖPFE
-
Die
vorliegende Erfindung liefert ein Hinzufügen von Information zu Anforderungen.
Es können verschiedene
Techniken zum Hinzufügen
solcher Information verwendet werden. Beispielsweise kann zusätzliche
Information zu HTTP- und
WAP-Anforderungen als HTML-Erweiterungsdatenköpfe hinzugefügt werden.
-
Wie
hier beschrieben ist, können
Benutzer drahtloser Vorrichtungen, wie der WCDs 102, Anforderungen
für Inhalt,
der von Inhaltanbietern, wie dem Inhaltsserver 116 angeboten
wird, erzeugen und senden. In Kommunikationsumgebungen geringer Reichweite,
wie sie in den 1, 5, 9 und 12 beschrieben
sind, gehen solche Anforderungen durch dazwischen liegende Punkte
hindurch. Beispielsweise können
in der 1 solche Anforderungen durch einen Zugangspunkt 106,
eine Host-Steuerung 110 und ein Gateway 112 hindurch gehen,
bevor sie einen Inhaltsanbieter erreichen. In 2 können Anforderungen
durch einen Zugangspunkt 106 und ein Gateway 112' laufen, bevor
sie einen Inhaltsanbieter erreichen.
-
Gemäß der vorliegenden
Erfindung können diese
dazwischen liegenden Punkte Information zu den Anforderungen hinzufügen, wie
WCD-Standortindikatoren und/oder andere Information. Das Verwenden
von Erweiterungsdatenköpfen
ist eine Technik für
das Hinzufügen
solcher Information. Diese Technik kann in verschiedenen Protokollen,
wie HTTP und WAP, verwendet werden. Aus Gründen der Bequemlichkeit stellt
das Folgende eine Beschreibung im Kontext von HTTP dar.
-
Datenkopfleitungen
(header lines) liefern Information über eine HTTP-Übertragung,
wie eine GET-Anforderung. Datenköpfe
können
verschiedene Information über
den Absender der HTTP-Nachricht befördern. Beispielsweise definiert
das HTTP, Version 1.0 und 1.1 einen "Von"-Datenkopf,
der eine E-Mail-Adresse
des Senders der Anforderung enthält.
-
HTTP-Erweiterungen
erlauben es, dass Parameter in Form von Datenköpfen zu GET-Anforderungen hinzugefügt werden,
die von den Empfängern (beispielsweise
Inhaltserver 116) auf der HTTP-Protokollschicht sichtbar
sein können.
Somit liefern HTTP-Erweiterungsdatenköpfe das Einführen neuer Kodierungen
in HTTP-Nachrichten und das Ausdehnen der Information, die in einer
einzigen HTTP-Nachricht befördert
werden kann.
-
Ein
Rahmenwerk für
Erweiterungsdatenköpfe
ist in der RFC 2774 beschrieben, die von der Internet Society 2000
veröffentlicht
wurde. Dieses Dokument kann herabgeladen werden unter ftp.//ftp.isi.edu/inotes/rfc2774.txt.
Gemäß dem Rahmenwerk
des RFC 2774 kann eine Partei eine Erweiterung spezifizieren und
einen globale eindeutige Internetadresse (URI) der Erweiterung zuweisen.
-
Wenn
ein Client oder ein Server (der hier als ein Agent bezeichnet wird)
die Erweiterung verwendet, so deklariert er seine Verwendung durch
Bezugnahme auf die URI der Erweiterung in einer Erweiterungsdeklaration
in einer HTTP-Nachricht. Diese Nachricht kann Datenköpfe enthalten,
die durch die Erweiterung definiert werden. Auf der Basis der Erweiterungsdeklaration
in der HTTP-Nachricht leitet der Empfänger der Nachricht ab, wie
er die erweiterte Nachricht zu interpretieren hat.
-
Somit
kann eine Einheit beim Empfangen von von einer WCD ausgehenden Anforderungen, die
Information zu Anforderungen hinzufügt (beispielsweise Standortindikatoren),
eine Erweiterung verwenden, um die Anforderungen zu regenerieren oder
zu reformatieren, so dass sie zusätzliche Information enthalten.
Ein Beispiel einer solchen Erweiterung umfasst einen Datenkopf,
der einen Standortkode einschließt, wobei dieser Standortkode
den Standort der anfordernden WCD anzeigt. Wie oben beschrieben
ist, kann dieser Standortindikator auf Koordinaten des Zugangspunktes
basieren, der mit der anfordernden WCD kommuniziert. Somit kann der
Standortkode die Koordinaten des Zugangspunkts 106 einschließen.
-
Obwohl
Erweiterungsdatenköpfe
verwendet werden können,
um Information zu Anforderungen hinzuzufügen, können andere Techniken verwendet werden.
Beispielsweise können
allgemeine Gatewayschnittstellensprachen (common gateway interface,
CGI) verwendet werden. Auch Information, wie ein Standortindikator,
können
einem Ressourcenindikator (beispielsweise einem Uniform Resource
Locator), der in der Anforderung enthalten ist, hinzugefügt werden.
-
VII. IMPLEMENTIERUNG DES
ZUGANGSPUNKTS
-
In
den obigen Beispielen fügen
die Host-Steuerung 110 und das Gateway 112' den Anforderungen
Information hinzu. In weiteren Ausführungsformen der Erfindung
können
stattdessen Zugangspunkte, wie die Zugangspunkte 106, den
Anforderungen Information hinzufügen.
-
7 ist
ein Blockdiagramm, das eine Implementierung eines Zugangspunkts
zeigt, der Information, die von Anforderungen, die von SCDs 102 empfangen
werden, hinzufügt.
Wie in 7 gezeigt ist, umfasst diese Implementierung ein
drahtloses Modul 702 geringer Reichweite, einen Zugangspunkt-Host 704,
einen Speicher 706, eine Netzschnittstelle 708 und
einen Prozessor 710.
-
Der
Zugangspunkt-Host 704 ist für das Ausführen von Operationen einer
höheren
Protokollschicht (beispielsweise die Anwendungsschicht) verantwortlich,
während
das drahtlose Modul 702 geringer Reichweite für Operationen
einer niedrigeren Protokollschicht verantwortlich ist. Beispielsweise
ist bei Bluetooth-Implementierungen das drahtlose Modul 702 geringer
Reichweite ein Bluetooth-Modul, das Funktionen der Bluetooth-Verbindungsverwaltungsschicht
und der Bluetooth-Verbindungssteuerungsschicht ausführt, als
auch Senden und Empfangen von HF-Signalen durch eine oder mehrere
Antennen (nicht gezeigt).
-
Der
Zugangspunkt-Host 704 und das drahtlose Modul 702 geringer
Reichweite kommunizieren miteinander gemäß einer Host-Steuerungsschnittstelle
(HCI) 712. Bluetooth spezifiziert Formate für Nachrichten
und/oder Pakete, die die HCI 712 queren. Beispiele solcher
Standardnachrichten umfassen es, dass das drahtlose Modul 702 geringer Reichweite
einen Verbindungsschlüssel
vom Endgerät-Host 704 anfordert,
und ein Zugangspunkt-Host 704, der einen Verbindungsschlüssel an
das drahtlose Modul 702 geringer Reichweite liefert.
-
Die
Netzschnittstelle 708 liefert eine Verbindungsmöglichkeit
zu einer Datennetzinfrastruktur für das Ermöglichen einer Kommunikation
mit mindestens einem Inhaltsserver. Beispielsweise liefert im Kontext
der 1 und 5 die Netzschnittstelle 708 eine
Verbindungsmöglichkeit
zu den Gateways 112 beziehungsweise 112'. Alternativ
kann die Netzschnittstelle 708 eine direkte Verbindungsmöglichkeit zum
Datennetz 114 liefern.
-
Wie
in 7 gezeigt ist, überlappt sich der Prozessor 710 mit
dem Kommunikationsmodul 702 geringer Reichweite, dem Zugangspunkt-Host 704 und
einer Netzschnittstelle 708. Diese Überlappung zeigt, das Funktionen,
die von diesen Elementen ausgeführt
werden, von einem Prozessor 710 gehandhabt werden können. Der
Prozessor 710 und der Speicher 706 können so
implementiert werden, wie das unten unter Bezug auf 15 beschrieben ist.
Beispielsweise kann der Prozessor 710 ein kommerziell erhältlicher
Mikroprozessor sein.
-
Der
Speicher 706 speichert Softwarekomponenten (beispielsweise
Anweisungen), die der Prozessor 710 ausführt, um
verschiedene Operationen auszuführen.
Beispielsweise speichert der Speicher 706 Softwarekomponenten,
die es dem Zugangspunkt erlauben, Kommunikationen mit dem Inhaltsserver 116 gemäß Protokollen,
wie WAP und HTTP zu handhaben.
-
Zusätzlich speichert
der Speicher 706 Softwareanweisungen, die es dem Zugangspunkt-Host 704 gestattet,
verschiedene Merkmale der vorliegenden Erfindung auszuführen. Beispielsweise
ermöglichen
diese Anweisungen es dem Host 704, von WCDs ausgehende
Ressourcenanforderungen durch das drahtlose Modul 702 geringer
Reichweite zu empfangen. Wenn eine solche Anforderung empfangen
wird, ermöglichen
es diese Anweisungen dem Host 704, Information, wie Standortindikatoren, zur
Ressourcenanforderung hinzuzufügen.
Dann erlauben die Anweisungen es dem Host 704, die Ressourcenanforderung,
die die hinzugefügte
Standortinformation enthält,
an einen Inhaltsserver, wie den Inhaltsserver 116, weiterzugeben.
Die Anforderung wird durch die Netzschnittstelle 708 weitergegeben.
-
Diese
Standortindikatoren basieren auf dem Standort des Zugangspunkts.
Einem Zugangspunkt kann ein Standortindikator durch Information
zugewiesen werden, die er während
eines Initialisierungsverfahren oder automatisch erhält. Alternativ
kann ein Zugangspunkt seinen Standortindikator durch Dienste, wie
das globale Positioniersystem (GPS), bestimmen.
-
Somit
kann die Implementierung des Zugangspunkts der 7 Techniken
der vorliegenden Erfindung ausführen.
Diese Implementierung kann beispielsweise die vorher erwähnten Operationen der
Host-Steuerung 110 ausführen,
wie das oben unter Bezug auf die 4A und 4B beschrieben wurde.
-
VII. Szenarium eines Einkaufszentrums
-
8 ist
eine Seitenansicht eines Szenariums, bei dem zwei Zugangspunkte
auf verschiedenen Ebenen eines Einkaufszentrums angeordnet sind.
Insbesondere zeigt 8 eine erste Ebene und eine
zweite Ebene, die durch einen Fußboden 801b getrennt
sind. Ein Zugangspunkt 106f, der ein Abdeckungsgebiet 104f aufweist,
ist auf der ersten Ebene angeordnet. Das Abdeckungsgebiet 104f umfasst
einen Schuhladen 802 und ein Restaurant 804. Auf
der zweiten Ebene ist ein Zugangspunkt 106g angeordnet,
der ein Abdeckungsgebiet 104g besitzt. Wie in 8 gezeigt
ist, umfasst das Abdeckungsgebiet 104g einen Buchladen 806 und
ein Kino 808.
-
Der
Fußboden 801b ist
aus einem Material wie Beton gefertigt. Dies verhindert, dass sich
die Abdeckungsgebiete 104f und 104g überlappen.
Obwohl sich diese Abdeckungsgebiete seitlich überlappen entsprechen sie somit
vertikal unterschiedlichen Standorten.
-
Das
Szenarium der 8 umfasst zwei Benutzer, die
jeweils eine WCD betreiben. Insbesondere betreibt ein Benutzer auf
der ersten Ebene eine WCD 102e, während ein Benutzer auf der
zweiten Ebene eine WCD 102f betreibt. In diesem Szenarium sendet
jeder dieser Benutzer dieselbe Anforderung. Durch ihre unterschiedlichen
Standorte erhalten diese Benutzer jedoch jeweils unterschiedliche
Antworten. Dieses standortbasierte Inhaltsmerkmal wird durch die
oben beschriebenen Techniken geliefert.
-
Wie
in 8 gezeigt ist, sendet jeder Benutzer eine Anforderung
für "shoppingmall.com". Der Benutzer auf
der ersten Ebene erhält
eine Antwort auf seine Anforderung, die eine Ressource "Schuhladen-Restaurant" einschließt. Das
ergibt sich deswegen, weil sich der Schuhladen 802 und
das Restaurant 804 im Abdeckungsgebiet 104f befinden.
Im Gegensatz dazu empfängt
der Benutzer auf der zweiten Ebene eine Antwort, die eine Ressource "Buchladen-Kino" einschließt. Diese
Ressourcen können
jeweils Hypertext-Dokumente,
wie WML- oder HTML-Dokumente sein.
-
IX. UMGEBUNGEN MIT MEHREREN
ABDECKUNGSGEBIETEN
-
Zugangspunkte
können
mehrere Abdeckungsgebiete aufweisen. Diese Abdeckungsgebiete können getrennt
oder überlappend
sein. Techniken, um Inhaltsanbieter und Server mit WCD-bezogener Information
in Umgebungen mit mehreren Abdeckungsgebieten zu versorgen, werden
unter Bezug auf die 9-14B beschrieben.
-
9 ist
ein Diagramm einer beispielhaften Betriebsumgebung, die ähnlich der
Umgebung der 1 ist. Die Umgebung der 9 umfasst
jedoch Zugangspunkte 906, die jeweils mehrere Abdeckungsgebiete 904 umfassen.
Beispielsweise weist ein Zugangspunkt 906a Abdeckungsgebiete 904a und 904b auf.
In ähnlicher
Weise weist ein Zugangspunkt 906b Abdeckungsgebiete 904c, 904d und 904e auf.
Wie in 9 gezeigt ist, sind WCDs 102g-j in diesen
Abdeckungsgebieten verteilt. Insbesondere befindet sich die WCD 102g innerhalb
des Abdeckungsgebiets 904a, die WCD 102h befindet
sich innerhalb des Abdeckungsgebiets 904c, und die WCDs 102i und 102j befinden
sich im Abdeckungsgebiet 904d.
-
9 zeigt,
dass jeder Zugangspunkt 906 mit einer Hoststeuerung 910 durch
eine Verbindung 908 gekoppelt ist. Die Verbindungen 908 können entweder
drahtgebunden oder drahtlos sein. Die Host-Steuerung 910 ist
mit dem Gateway 112 verbunden, das einen Zugang zum Datennetz 114 liefert.
Wie oben beschrieben ist, liefert das Datennetz 114 Zugang
zum Inhaltsserver 116.
-
Damit
die Host-Steuerung 910 die Standorte der WCDs 102 verfolgen
kann, verwenden Ausführungsformen
der vorliegenden Erfindung eine Datenbankarchitektur, die in 10 gezeigt
ist. Diese Architektur ist ähnlich
der Architektur der 2, da sie Datenbanken einschließt, die
sich in der Host-Steuerung 901 und den Zugangspunkten 906a-e
befinden. Im Gegensatz zur Architektur der 2 dient
die Architektur der 10 jedoch für Zugangspunkte mit mehreren
Abdeckungsgebieten.
-
Wie
in 10 gezeigt ist, umfasst jeder Zugangspunkt 908 eine
Verbindungsdatenbank 1002. Jede Verbindungsdatenbank 1002 liefert
eine Liste der WCD-Verbindungen 102,
die von den Abdeckungsgebieten des Zugangspunkts unterstützt werden.
Beispielsweise zeigt die Verbindungsdatenbank 1002a an,
dass der Zugangspunkt 906a zwei Abdeckungsgebiete 904a und 904b aufweist.
Die Datenbank 1002a zeigt ferner an, dass der Zugangspunkt 906a eine
Verbindung mit der WCD 102g durch das Abdeckungsgebiet 904a unterstützt. Die
Verbindungsdatenbank 1002b zeigt an, dass der Zugangspunkt 906b drei
Abdeckungsgebiete 904c, 904d und 904e aufweist.
Zusätzlich
zeigt die Datenbank 1002b, dass der Zugangspunkt 906b eine
Verbindung mit der WCD 102h durch das Abdeckungsgebiet 904c,
und Verbindungen mit den WCDs 102i und 102j durch
das Abdeckungsgebiet 904d unterstützt.
-
10 zeigt,
dass die Host-Steuerung 910 eine Standortverwaltungsdatenbank 1010 einschließt. Die
Standortverwaltungsdatenbank 1010 umfasst einen Zugangspunktverbindungsteil 1020, einen
Zugangspunktstandortteil 1022 und einen Standortverwaltungsteil 1024.
Der Zugangspunktverbindungsteil 1020 speichert Verbindungsinformation für jeden
Zugangspunkt 906. Somit speichert der Zugangspunktverbindungsteil 1020 Kopien
von Information, die in jeder der Verbindungsdatenbanken 1002 enthalten
sind. Um diese Kopien aktualisiert zu halten, übertragen die Zugangspunkte 906 Inhalte
ihrer jeweiligen Datenbanken 1002 an die Host-Steuerung 910,
entweder kontinuierlich oder in vorbestimmten Zeitintervallen.
-
Der
Zugangspunktstandortteil 1022 speichert Standortinformation
für jedes
der Abdeckungsgebiete, die von den Zugangspunkten 906 geliefert werden.
Diese Standortinformation (auch als "Standortgriffe (location handles)" bezeichnet) kann
in Form von Koordinaten vorliegen. Solche Koordinaten können rechtwinklig
sein (das ist x, y, z). Alternativ können solche Koordinaten aus
der geographischen Breite, der geographischen Länge und der Höhe bestehen.
In weiteren Alternativen können
andere geeignete Koordinatensysteme verwendet werden. Jeder Standorthandgriff
liefert einen repräsentativen Standort
eines entsprechenden Abdeckungsgebiets 904. Dieser repräsentative
Standort kann ein zentraler Standort im entsprechenden Abdeckungsgebiet 904 sein.
-
Der
Standortverwaltungsteil 1024 speichert Standortindikatoren
für die
WCDs 102, die mit den Zugangspunkten 906 kommunizieren.
Somit umfasst der Standortverwaltungsteil 1024 Datensätze, die
jeweils eine WCD-Kennung 102, wie eine BD_ADDR, und einen
entsprechenden Standortindikator einschließen. Für jedes Abdeckungsgebiet weisen
die verbundenen WCDs 102 ungefähr denselben Standort auf (beispielsweise
innerhalb von 10 bis 30 Metern in Bluetooth-Implementierungen).
Unter Verwendung der Standortgriffe im Zugangspunktstandortteil 1022 wird
jeder WCD 102, die mit einem Zugangspunkt 906 kommuniziert,
ein Standortindikator zugewiesen. Wie in 10 gezeigt
ist, speichert der Standortverwaltungsteil 1024 einen Standortindikator für jede der
WCDs 102.
-
Die
Host-Steuerung 910 kann in ähnlicher Weise wie bei der
Implementierung der 3 implementiert sein. Statt einer
Datenbank 210 umfasst eine solche Implementierung jedoch
eine Standortverwaltungsdatenbank 1010. Eine solche Implementierung
ist in 11 gezeigt. 11 zeigt,
dass die Host-Steuerung 910 weiter eine Standortanfügeeinheit 302,
eine Datenbankverwaltungseinheit 304, eine Kommunikationsschnittstelle 305 und
eine Domaindatenbank 306 umfasst. In dieser Implementierung
empfängt
die Standortanfügeeinheit 302 Indikatoren
von der Standortverwaltungsdatenbank 1010, die auf den
Abdeckungsgebietsstandorten statt nur auf den Zugangspunktstandorten
basieren.
-
Die
Operationssequenzen, die oben unter Bezug auf die 4A und 4B beschrieben
sind, können
in der Umgebung der 9 ausgeführt werden. Somit kann die
Host-Steuerung 910 die Schritte 402-410, 450, 454, 462 und 464 ausführen. Bei
dieser Umgebung umfassen diese Schritte jedoch das Liefern von Standortindikatoren,
die auf den Abdeckungsgebietsstandorten basieren, an den Inhaltsserver 116.
-
Alternativ
können
solche Operationen durch andere Einheiten, wie ein Gateway, ausgeführt werden.
Somit ist 12 ein Diagramm einer Betriebsumgebung,
bei dem ein Gateway dem Inhaltsserver 116 zusätzliche
Information liefert. Die Umgebung der 12 ist ähnlich der
in 9 gezeigten Umgebung. In 12 ist
jedoch jeder Zugangspunkt 906 mit einem Gateway 1212 gekoppelt,
das WCD-bezogene Information an den Inhaltsserver 116 liefert.
Um diese Information zu liefern, stützt sich das Gateway 1212 auf
Information, die es von Servern, wie einem DHCP-Server 1202 und
einem Verbindungsverwaltungsserver 1204 empfängt.
-
Die
Elemente der 12 arbeiten wie die Elemente
der 5. Jedoch statt des Verbindungsverwaltungsservers 504,
der die Standortverwaltungsdatenbank 210 enthält, enthält der Verbindungsverwaltungsserver 1204 eine
Standortverwaltungsdatenbank 1010. Wie oben beschrieben wurde, unterhält die Standortverwaltungsdatenbank 1010 Korrespondenzen
zwischen WCDs und Abdeckungsgebietsstandorten. Jeder Zugangspunkt 906 versorgt den
Server 1204 mit dieser Information. Somit kann in der Umgebung
der 12 das Gateway 1212 dem Inhaltsserver 116 Standortindikatoren
liefern, die auf dem Standort der Abdeckungsgebiete 904 basieren.
-
In
den Umgebungen, wie denen, die in den 9 und 12 gezeigt
sind, können
sich die physikalischen Eigenschaften eines Abdeckungsgebiets (beispielsweise
Form, Größe, Standort
und Ausrichtung) mit der Zeit ändern.
In gewissen Szenarien können
solche Änderungen
Ereignissen in der realen Welt entsprechen. Beispielsweise kann
sich in einem Einkaufszentrum der Standort der Abdeckungsgebiete ändern, wenn
Geschäfte öffnen und
schließen. Solche Änderungen
ermöglichen
es, Abdeckungsgebiete vorteilhafterweise an Standorten zu platzieren, die
für Konsumenten,
die WCDs tragen, nützlich
sind.
-
13 ist
ein Blockdiagramm einer Implementierung eines Zugangspunkts, die
mehrere Abdeckungsgebiete liefert. Diese Implementierung umfasst
mehrere drahtlose Module 1302 geringer Reichweite, die
jeweils einem entsprechenden Abdeckungsgebiet entsprechen. Insbesondere
zeigt 13, dass ein Modul 1302a einem
Abdeckungsgebiet 904f entspricht, und ein Modul 1302b einem Abdeckungsgebiet 904g entspricht.
Die Zugangspunktimplementierung der 13 umfasst
ferner einen Zugangspunkt-Host 1304, einen Speicher 1306, eine
Netzschnittstelle 1308 und einen Prozessor 1310.
-
Der
Zugangspunkt-Host 1304 ist für das Ausführen von Kommunikationen auf
einer höheren
Protokollschicht (beispielsweise der Anwendungsschicht) mit den
Modulen 1302a und 1302b verantwortlich. Im Gegensatz
dazu sind die drahtlosen Module 1302 geringer Reichweite
jeweils für
Operationen einer niedrigeren Protokollschicht bei der Kommunikation
mit WCDs durch ihre entsprechende Abdeckungsgebiete verantwortlich.
Beispielsweise ist in Bluetooth-Implementierungen jedes drahtlose
Modul 1302 geringer Reichweite ein Bluetooth-Modul, das Funktionen
der Bluetooth-Verbindungsverwaltungsschicht und der Bluetooth-Verbindungssteuerschicht als
auch das Senden und das Empfangen von HF-Signalen durch eine oder
mehrere Antennen (nicht gezeigt) ausführt.
-
Der
Zugangspunkt-Host 1304 kommuniziert mit jedem drahtlosen
Modul 1302 geringer Reichweite gemäß einer Host-Steuerschnittstelle
(HCI) 1312. Bluetooth spezifiziert Formate für Nachrichten und/oder
Pakete, die die HCIs 1312a und 1312b kreuzen.
Beispiele solcher Standardnachrichten umfassten ein drahtloses Modul 1302 geringer
Reichweite, das einen Verbindungsschlüssel vom Engeräte-Host 1304 anfordert,
und ein Zugangspunkt-Host 1304, der einen Verbindungsschlüssel an
das anfordernde drahtlose Modul 1302 geringer Reichweite liefert.
-
Die
Eigenschaften des Abdeckungsgebiets werden durch die Art bestimmt,
in der die Module 1302 HF-Signale austauschen. Beispielsweise
bestimmen Betriebsparameter, wie die Sendeleistung und die Antennenausrichtung,
die Form, die Größe, den
Standort und die Ausrichtung eines Abdeckungsgebiets. Um dynamische
Abdeckungsgebiete zu liefern, kann der Zugangspunkt-Host 1304 Sätze solcher
Betriebsparameter im Speicher 1306 speichern. Jeder dieser
Parametersätze
entspricht einer vorbestimmten Konfiguration des Abdeckungsgebiets.
Für jeden
dieser Parametersätze
speichert der Zugangspunkt-Host 1304 auch einen entsprechenden
Standortindikator.
-
Um
die Eigenschaften eines Abdeckungsgebiets zu ändern, kann der Zugangspunkt-Host 1304 einen
Befehl an ein Modul 1302 über die entsprechende HCI 1312 senden.
Dieser Befehl kann Anweisungen einschließen, wie eine Einstellung der
Sendeleitung und Anweisungen für
das Positionieren der Antenne. Wenn ein Modul 1302 einen
solchen Befehl empfängt, macht
es passende Sendeeinstellungen und sendet eine Bestätigungsnachricht
an den Zugangspunkt-Host 1304.
-
Die
Netzschnittstelle 1308 liefert eine Verbindungsmöglichkeit
zu einer Datennetzinfrastruktur für das Ermöglichen einer Kommunikation
mit mindestens einem Inhaltsserver. Beispielsweise liefert im Kontext
der 9 und 12 die Netzschnittstelle 1308 eine
Verbindungsmöglichkeit
zu den Gateways 112 beziehungsweise 1212. Alternativ
kann die Netzschnittstelle 1308 eine direkte Verbindungsmöglichkeit
zum Datennetz 114 liefern.
-
Wie
in 13 gezeigt ist, überlappt der Prozessor 1310 sich
mit den Modulen 1302a und 1302b, dem Zugangspunkt-Host 1304 und
der Netzschnittstelle 1308. Diese Überlappung zeigt, dass Funktionen,
die von diesen Elementen ausgeführt
werden, vom Prozessor 1310 gehandhabt werden können. Der
Prozessor 1310 und der Speicher 1306 können so
implementiert werden, wie das unten unter Bezug auf 15 beschrieben
ist. Beispielsweise kann der Prozessor 1310 ein kommerziell
erhältlicher
Mikroprozessor sein.
-
Der
Speicher 1306 speichert Softwarekomponenten (beispielsweise
Anweisungen), die der Prozessor 1310 ausführt, um
verschiedene Operationen durchzuführen. Beispielsweise kann der
Speicher 1306 Softwarekomponenten speichern, die es dem
Zugangspunkt ermöglichen,
Kommunikationen mit den Inhaltsserver 116 gemäß Protokollen,
wie WAP und HTTP auszuführen.
-
Zusätzlich speichert
der Speicher 1306 Softwareanweisungen, die es dem Zugangspunkt-Host 1304 ermöglicht,
verschiedene Merkmale der Erfindung auszuführen. Beispielsweise ermöglichen
es diese Anweisungen dem Zugangspunkt-Host 1304, eine von
einer WCD ausgehende Ressourcenanforderung durch die drahtlosen
Module 1302a oder 1302b zu empfangen. Wenn eine
solche Anforderung empfangen ist, ermöglichen es diese Anweisungen
dem Zugangspunkt-Host 1304, Information zur Ressourcenanforderung
hinzuzufügen,
wie beispielsweise einen Standortindikator. Dann ermöglichen
es diese Anweisungen dem Host 1304, die Ressourcenanforderungen,
die die hinzugefügte
Information einschließen,
an einen Inhaltsserver, wie den Inhaltsserver 116, weiterzugeben.
Solche Anforderungen werden durch die Netzschnittstelle 1308 weitergegeben.
-
Diese
Standortindikatoren basieren auf dem Standort des Abdeckungsgebiets 904,
das dem drahtlosen Modul 1302 geringer Reichweite entspricht,
das die Anforderung empfangen hat. Somit wird jedem drahtlosen Modul 1302 geringer
Reichweite ein Standortindikator zugewiesen.
-
Die 14A und 14B sind
Seitenansichten, die ein Szenarium mit mehreren Abdeckungsgebieten
zeigen. In diesem Szenarium sind zwei Zugangspunkte auf verschiedenen
Ebenen eines Einkaufszentrums angeordnet. Insbesondere zeigen die 14A und 14B eine
erste Ebene und eine zweite Ebene, die durch einen Fußboden 1401b getrennt
sind. Ein Zugangspunkt 906c, der ein Abdeckungsgebiet 904f aufweist,
ist auf der ersten Ebene platziert. Das Abdeckungsgebiet 904f umfasst einen
Schuhladen 1402 und ein Restaurant 1404. Auf der
zweiten Ebene ist ein Zugangspunkt 906d angeordnet, der
Abdeckungsgebiete 904g, 904h und 904i aufweist.
Der Fußboden 1401b ist
aus einem Material, wie Beton, konstruiert. Dies verhindert, dass
sich die Abdeckungsgebiete 904g-i mit dem Abdeckungsgebiet 904f überlappen.
-
In 14A decken die Abdeckungsgebiete 904g-i
einen Buchladen 1406, einen Informationsstand 1410 beziehungsweise
ein Kino 1408 ab. Ein Benutzer, der eine WCD 102l betreibt,
befindet sich im Abdeckungsgebiet 904g, während ein
Benutzer, der eine WCD 102m betreibt, sich im Abdeckungsgebiet 904i befindet.
Diese Benutzer senden jeweils eine Anforderung für dieselbe Ressource. Diese
Anforderungen werden vom Zugangspunkt 906d empfangen. Durch
ihre unterschiedlichen Standorte empfangen diese Benutzer jeweils
unterschiedliche Antworten. Wie im Szenarium der 8 können diese Ressourcen
jeweils Hypertext-Dokumente, wie WML- oder HTML-Dokumente sein.
-
Wie
in 14A gezeigt ist, empfängt der Benutzer der WCD 102l eine
Ressource "Buchladen", während der
Benutzer der WCD 102m eine Ressource "Kino" empfängt. Dieses
standortbasierte Inhaltsmerkmal wird durch die oben beschriebenen
Techniken der mehrfachen Abdeckungsgebiete geliefert.
-
14B zeigt das Merkmal des dynamischen Abdeckungsgebiets
der vorliegenden Erfindung. 14B zeigt
eine Zeit, während
der der Buchladen 1406 geschlossen ist. Da der Buchladen nicht
länger
mehr offen ist, ändert
der Zugangspunkt 906d die Eigenschaften des Abdeckungsgebiets 904h,
um besser die Kunden nahe dem Kino 1408 zu bedienen. Wie
in 14B gezeigt ist, hat das Abdeckungsgebiet 904g seine
Größe und Ausrichtung
geändert.
Wie oben beschrieben ist, können
diese Änderungen
durch den Zugangspunkt 906d ausgeführt werden, der Sendeleistungspegel
und die Ausrichtung der Antenne ändert.
Zusätzlich ändert der
Zugangspunkt 906d den Standortindikator, der mit dem Abdeckungsgebiet
verbunden ist. Diese Änderung des
Standortindikators spiegelt sich in den Datenbanken, wie den Datenbanken 1002 und 1010,
wieder.
-
Als
Ergebnis dieser Änderungen
kann ein Inhaltsserver, wenn er eine Anforderung empfängt, die aus
dem Abdeckungsgebiet 904g kommt, eine Ressource zurückgeben,
die anders ist als die Ressource, die in 14A zurückgegeben
wird. Beispielsweise zeigt 14B einen
Benutzer der WCD 102n, der eine Ressource "Kino" in Erwiderung auf
eine Anforderung für "shopping-mall.com" empfängt. Diese Ressource
wurde zurückgegeben,
da der Inhaltsserver, der diese Ressource liefert, einen entsprechenden
Standortindikator mit dem Kino 1408 statt dem Buchladen 1406 identifiziert.
-
X. COMPUTERSYSTEM
-
Wie
oben beschrieben ist, können
verschiedene Elemente mit einem oder mehreren Computersystemen implementiert
werden. Diese Elemente umfassen Zugangspunkte 106 und 906,
Host-Steuerungen 110 und 910, Gateways 112, 112' und 1212, Inhaltsserver 116,
DHCP-Server 502 und 1202 und Verbindungsverwaltungsserver 504 und 1204.
Ein Beispiel eines Computersystems 1501 ist in 15 gezeigt.
-
Das
Computersystem 1501 stellt jeden Computer mit einem einzelnen
oder mehreren Prozessoren dar. Eingängige oder mehrgängige Computer können verwendet
werden. Das Computersystem 1501 umfasst einen oder mehrere
Prozessoren, wie einen Prozessor 1504. Der eine oder die
mehreren Prozessoren 1504 können Software ausführen, die die
oben beschriebenen Prozesse implementiert. Jeder Prozessor 1504 ist
mit einer Kommunikationsinfrastruktur 1502 (beispielsweise
einem Kommunikationsbus, einer Kreuzschiene oder Netz) verbunden. Verschiedene
Softwareausführungsformen
werden in Form dieses beispielhaften Computersystems beschrieben.
Nach dem Lesen dieser Beschreibung werden Fachleute erkennen, wie
die Erfindung unter Verwendung anderer Computersysteme und/oder Computerarchitekturen
implementiert werden kann.
-
Das
Computersystem umfasst auch einen Hauptspeicher 1507, bei
dem es sich vorteilhafterweise um einen Speicher mit wahlfreiem
Zugriff (RAM) handelt. Das Computersystem 1501 kann auch
einen sekundären
Speicher 1508 einschließen. Der sekundäre Speicher 1508 kann
beispielsweise ein Festplattenlaufwerk 1510 und/oder eine
entfernbare Speichervorrichtung 1512, die ein Diskettenlaufwerk,
ein Magnetbandlaufwerk, ein Laufwerk für eine optische Scheibe etc.
darstellt, sein. Die entfernbare Speichervorrichtung 1512 liest
von einer entfernbaren Speichereinheit 1514 und/oder schreibt
auf diese in wohl bekannter Weise. Die entfernbare Speichereinheit 1514 ist
beispielsweise eine Diskette, ein Magnetband, eine optische Scheibe
etc. von der die entfernbare Speichervorrichtung 1512 liest
oder auf sie schreibt. Wie erkennbar wird, umfasst die entfernbare
Speichereinheit 1514 ein von einem Computer benutzbares
Speichermedium, das Computersoftware und/oder Daten gespeichert
hat.
-
In
alternativen Ausführungsformen
kann der sekundäre
Speicher 1508 andere ähnliche
Mittel umfassen, um es zu ermöglichen,
dass Computerprogramme oder andere Anweisungen in das Computersystem 1501 geladen
werden können.
Solche Mittel können
beispielsweise eine entfernbare Speichereinheit 1522 und
eine Schnittstelle 1520 einschießen. Beispiele können ein
Programm-Einsteckmodul und eine Modulschnittstelle (wie sie in Videospieleinrichtungen
gefunden werden kann), einen entfernbaren Speicherchip (wie ein
EEPROM oder PROM) und einen zugehörige Buchse und andere entfernbare Speichereinheiten 1522 und
Schnittstelle 1520 umfassen, die es erlauben, dass Software
und Daten von der entfernbaren Speichereinheit 1522 zum Computersystem 1501 übertragen
werden.
-
Das
Computersystem 1501 kann auch eine Kommunikationsschnittstelle 1524 einschließen. Die Kommunikationsschnittstelle 1524 erlaubt
es, dass Software und Daten zwischen dem Computersystem 1501 und
externen Vorrichtungen über
den Kommunikationspfad 1527 übertragen werden. Beispiele
der Kommunikationsschnittsschnittstelle 1527 umfassen ein
Modem, eine Netzschnittstelle (wie eine Ethernet-Karte), ein Kommunikationsport,
etc. Die Software und die Daten, die über die Kommunikationsschnittstelle 1527 übertragen
werden, liegen in Form von Signalen 1528 vor, bei denen
es sich um elektronische, elektromagnetische, optische oder andere
Signale handeln kann, die von der Kommunikationsschnittstelle 1524 über den
Kommunikationspfad 1527 empfangen werden können. Man
beachte, dass die Kommunikationsschnittstelle ein Mittel liefert,
mit dem das Computersystem 1501 eine Schnittstelle zu einem
Netz, wie dem Internet, ausbilden kann.
-
Die
vorliegende Erfindung kann unter Verwendung von Software, die in
einer Umgebung läuft (das
heißt
ausgeführt
wird), die ähnlich
der ist, die oben in Bezug auf 15 beschrieben
wurde, implementiert werden. In diesem Dokument wird der Ausdruck "Computerprogrammprodukt" verwendet, um allgemeine
entfernbare Speichereinheiten 1514 und 1522, eine
Festplatte, die in einem Festplattenlaufwerk 1510 installiert
ist, oder ein Signal, das Software über einen Kommunikationspfad 1527 (drahtlose Verbindung
oder Kabel) befördert,
zu bezeichnen. Ein von einem Computer nutzbares Medium kann magnetische
Medien, optischen Medien oder andere aufzeichnungsfähige Medien,
oder Medien, die eine Trägerwelle
oder ein anderes Signal tragen, einschließen. Diese Computerprogrammprodukte
sind Mittel, um dem Computersystem 1501 Software zu liefern.
-
Computerprogramme
(auch Computersteuerlogik genannt) werden im Hauptspeicher 1507 und/oder
dem sekundären
Speicher 1508 gespeichert. Computerprogramme können auch über die Kommunikationsschnittstelle 1524 empfangen
werden. Solche Computerprogramme, wenn sie ausgeführt werden,
ermöglichen
es dem Computersystem 1501, die Merkmale der vorliegenden
Erfindung, wie sie hier diskutiert wurden, auszuführen. Insbesondere
ermöglichen
es die Computerprogramme, wenn sie ausgeführt werden, dem Prozessor 1504 die Merkmale
der vorliegenden Erfindung auszuführen. Somit stellen solche
Computerprogramme Steuerungen des Computersystems 1501 dar.
-
Die
vorliegende Erfindung kann als Steuerlogik in Software, Firmware,
Hardware oder irgend einer Kombination daraus implementiert werden.
In einer Ausführungsform,
in der die Erfindung unter Verwendung von Software implementiert
wird, kann die Software in einem Computerprogrammprodukt gespeichert
und in das Computersystem 1501 unter Verwendung der entfernbaren
Speichervorrichtung 1512, des Festplattenlaufwerks 1510 oder
der Schnittstelle 1520 geladen werden. Alternativ kann das
Computerprogrammprodukt auf das Computersystem 1501 über den
Kommunikationspfad 1527 herabgeladen werden. Die Steuerlogik
(Software) bewirkt, wenn sie durch einen oder mehrere Prozessoren 1504 ausgeführt wird,
dass der oder die Prozessoren 1504 die Funktionen der Erfindung,
wie sie hier beschrieben wurden, ausführen.
-
In
einer anderen Ausführungsform
wird die Erfindung primär
in Firmware und/oder Hardware unter Verwendung von beispielsweise
Hardwarekomponenten, wie anwendungsspezifische integrierte Schaltungen
(ASICs), implementiert. Die Implementierung als Hardwarezustandsmaschine,
so dass sie die hier beschriebenen Funktionen ausführt, wird
für Fachleute
des relevanten Gebiets oder der relevanten Gebiete der Technik offensichtlich
sein.
-
XI. SCHLUSSFOLGERUNG
-
Während verschiedene
Ausführungsformen der
vorliegenden Erfindung oben beschrieben wurden, sollte verständlich sein,
dass sie nur beispielhaft und nicht einschränkend präsentiert wurden.