-
Gebiet der Offenbarung
-
Die vorliegende Offenbarung bezieht sich allgemein auf die Lokalisierung von Mobilgeräten und konkret auf die Lokalisierung von Mobilgeräten unter Verwendung bekannter Positionen von beobachteten Sendeeinrichtungen. Unter Schutz gestellt werden und Gegenstand des Gebrauchsmusters sind dabei, entsprechend den Vorschriften des Gebrauchsmustergesetzes, lediglich Vorrichtungen wie in den beigefügten Schutzansprüchen definiert, jedoch keine Verfahren. Soweit nachfolgend in der Beschreibung gegebenenfalls auf Verfahren Bezug genommen wird, dienen diese Bezugnahmen lediglich der beispielhaften Erläuterung der in den beigefügten Schutzansprüchen unter Schutz gestellten Vorrichtung oder Vorrichtungen
-
Hintergrund
-
Die hierin angegebene Hintergrundbeschreibung soll den Kontext der Offenbarung allgemein darstellen. Die Arbeit der vorliegend genannten Erfinder, in dem Umfang, wie sie in diesem Hintergrundabschnitt beschrieben ist, sowie Aspekte der Beschreibung, die zum Zeitpunkt der Anmeldung sonst möglicherweise nicht als Stand der Technik eingestuft sind, werden im Rahmen der vorliegenden Offenbarung weder ausdrücklich noch stillschweigend als Stand der Technik anerkannt.
-
Heutzutage sind zahlreiche Mobilgeräte (Smartphones, Tablet-PCs usw.) in der Lage, die eigene Position unter Verwendung verschiedener Lokalisierungstechniken festzustellen. Manche Mobilgeräte sind beispielsweise mit einem GPS-Chip (Global Positioning System) ausgestattet, um die geografische Breite, Länge und die Höhe über NN des Mobilgeräts zu bestimmen, ausgehend von Signalen, die von mehreren GPS-Satelliten empfangen werden. Einige Mobilgeräte sind stattdessen (oder zusätzlich) in der Lage, die Lokalisierung unter Verwendung von Signalen von stationären oder halbstationären terrestrischen Elementen, deren Position bekannt ist, wie Mobilfunk-Infrastruktur (z. B. Funkmasten), WiFi Access Points (APs) oder „Hotspots” usw. durchzuführen. Diese Lokalisierungstechniken basierend auf stationären oder halbstationären terrestrischen Elementen können sehr hilfreich sein, wenn andere Techniken, wie GPS, nicht verfügbar sind. Signale von WiFi APs und/oder Funkmasten können zum Beispiel verwendet werden, um ein Mobilgerät zu orten, wenn sich das Mobilgerät in einem Innenraum befindet und kein GPS-Signal empfangen kann oder keinen GPS-Chip beinhaltet. Normalerweise empfängt das Mobilgerät ein Signal von einem WiFi AP oder Funkmast und fordert eine Lokalisierung vom beobachteten AP oder Funkmast über einen Lokalisierungsanbieter, wie z. B. Google, Apple oder Skyhook, an. Anforderungen werden normalerweise an den Lokalisierungsanbieter geschickt, weil die Gesamtheit der Lokalisierungen aller möglichen Sender zu groß wäre für typische Mobilgeräte und wegen der ständigen Änderungen wäre es schwierig, die Daten auf dem letzten Stand zu halten.
-
Das Vertrauen auf stationäre oder halbstationäre terrestrische Elemente, wie Funkmasten oder WiFi APs, um ein Mobilgerät zu lokalisieren, weist jedoch verschiedene Nachteile auf. Funkmasten können beispielsweise in bestimmten Gegenden weit voneinander entfernt sein, was die genaue Positionsbestimmung schwierig macht. Funkmasten können auch ein oder mehrere Male pro Jahr verlegt werden (z. B. können die Identifikatoren von Funkmasten in einer bestimmten Gegend neu kartiert werden), was dazu führen kann, dass ein Lokalisierungsanbieter falsche Lokalisierungen liefert, bis die Funkmastpositionen in einer Datenbank aktualisiert sind. Während WiFi APs zwar in geringeren Abständen positioniert sein können als Funkmasten, werden die Positionen von APs mitunter jedoch öfter verändert als bei Funkmasten. Für APs, deren Position oft verändert wird (z. B. APs, die bei Konferenzen oder anderen temporären Veranstaltungen verwendet werden), kann die Pflege einer aktuellen Datenbank besonders schwierig sein. Zusätzlich verhindern einige AP-Eigentümer aus Datenschutzgründen die Verwendung ihrer APs für die Lokalisierung von Mobilgeräten.
-
Zusammenfassung
-
In einer exemplarischen Implementierung beinhaltet ein Verfahren in einem Mobilgerät den Empfang eines oder mehrerer Sätze von Signalen von einer oder mehreren Sendeeinrichtungen über eine Netzwerkschnittstelle des Mobilgeräts, das Generieren eines Satzes oder mehrerer Sätze von Signalmetriken basierend auf einem oder mehreren empfangenen Signalsätzen, und den Empfang einer oder mehrerer angegebenen Lokalisierungen, wobei jede angegebene Lokalisierung dem einen Satz oder einem der mehreren Sätze der Signalmetriken zugeordnet ist. Das Verfahren beinhaltet auch die Bereitstellung von lokalisierungsspezifischen Informationen an die Lokalisierungs-Engine einer Sendeeinrichtung, um die geschätzten Lokalisierungen der einen oder mehrerer Sendeeinrichtungen festzustellen, wenn die lokalisierungsspezifischen Daten beinhalten, die einen Satz oder mehrere Sätze Signalmetriken repräsentieren und Daten, die eine oder mehrere angegebene Lokalisierungen repräsentieren, sowie den Empfang einer Angabe eines oder mehrerer Mitbenutzungskriterien über eine Benutzerschnittstelle des Mobilgeräts, und die Veranlassung, dass die geschätzten Lokalisierungen selektiv mit einem oder mehreren anderen Mobilgeräten basierend auf dem einen oder mehreren Mitbenutzungskriterien geteilt werden. In verschiedenen Ausführungsformen beinhaltet der Empfang der Angabe von einem oder mehreren Mitbenutzungskriterien den Empfang einer Angabe von einem oder mehreren Mitgliedern in einem sozialen Netzwerk und/oder den Empfang einer Angabe von einem oder mehreren Mitgliedern einer Organisation.
-
Gemäß einer anderen exemplarischen Implementierung beinhaltet ein System, das eine private Lokalisierungsdatenbank erstellt und teilt, ein erstes Mobilgerät, das einem ersten Benutzer zugeordnet ist, ein computerlesbares Medium, das einen Datensatz mit einer Servicekonfiguration, die spezifisch für den ersten Benutzer ist, speichert und ein zweites Mobilgerät, das dem zweiten Benutzer zugeordnet ist. Das erste Mobilgerät ist dafür konfiguriert, lokalisierungsspezifische Informationen, die einer oder mehreren Sendeeinrichtungen entsprechen, zu sammeln und die Generierung einer privaten Lokalisierungsdatenbank basierend auf den gesammelten lokalisierungsspezifischen Informationen zu veranlassen. In verschiedenen Ausführungsformen beinhalten die lokalisierungsspezifischen Informationen manuell eingegebene Angaben von Lokalisierungen der einen oder mehrerer Sendeeinrichtungen, manuell eingegebene Angaben von Lokalisierungen des ersten Mobilgeräts, und/oder Signalmetriken, die drahtlosen Signalen entsprechen, die von einer oder mehreren Sendeeinrichtungen empfangen wurden. Der Datensatz beinhaltet eine Servicekonfiguration, die spezifisch für den ersten Benutzer ist, sodass die Servicekonfiguration die private Lokalisierungsdatenbank entweder einem zweiten Benutzer oder einer zweiten Gruppe, in der der zweite Benutzer ein Mitglied ist, zuordnet. Das zweite Mobilgerät ist dafür konfiguriert, eine Lokalisierung des zweiten Mobilgeräts zu veranlassen, die unter Verwendung der privaten Lokalisierungsdatenbank ermittelt wird, wobei die private Lokalisierungsdatenbank als Reaktion auf die Zuordnung der privaten Lokalisierungsdatenbank zu dem zweiten Benutzer oder der zweiten Gruppe in der Servicekonfiguration verwendet wird.
-
In einer anderen exemplarischen Implementierung beinhaltet ein Verfahren in einem Mobilgerät das Abfragen des Indikators einer privaten Lokalisierungsdatenbank, die einer privaten Lokalisierungsdatenbank entspricht, die die Lokalisierungen der Sendeeinrichtung speichert und ein oder mehrere Signale von einer oder mehreren Sendeeinrichtungen empfängt, wobei das eine oder die mehreren Signale einen oder mehrere Identifikatoren beinhalten, die einer oder mehreren Sendeeinrichtungen entsprechen, die eine oder mehrere Signalmetriken basierend auf dem einen oder den mehreren empfangenen Signalen generiert, unter Verwendung des Indikators der privaten Lokalisierungsdatenbank Zugriff auf die privaten Lokalisierungsdatenbank erlangt, und unter Verwendung der Lokalisierungsinformationen, die in der privaten Lokalisierungsdatenbank gespeichert sind und der generierten einen oder mehreren Signalmetriken eine Lokalisierung des Mobilgeräts durchführt. In einer Ausführungsform wird der Indikator der privaten Lokalisierungsdatenbank durch das Lesen eines QR-Codes, eines Strichcodes oder durch manuelle Eingabe eines Codes durch einen Benutzer ermittelt. Zusätzlich erfolgt in einer Ausführungsform der Zugriff auf die private Lokalisierungsdatenbank durch Übertragung des Indikators der privaten Lokalisierungsdatenbank auf einen Server eines Systems des Lokalisierungsanbieters.
-
In einer anderen exemplarischen Implementierung werden die Befehle für den Zugriff auf Lokalisierungsinformationen, die einer Vielzahl von Sendeeinrichtungen entsprechen, auf einem physischen und nicht vorübergehenden computerlesbaren Datenspeichermedium gespeichert. Wenn die Befehle durch einen oder mehrere Prozessoren eines Systems des Lokalisierungsanbieters ausgeführt werden, veranlasst der eine oder die mehreren Prozessoren, dass eine Vielzahl von Identifikatoren von einem Mobilgerät empfangen werden, wobei jeder Identifikator einer aus einer Vielzahl an Sendeeinrichtungen entspricht, und wo die Vielzahl der Identifikatoren zumindest einen ersten Identifikator und einen zweiten Identifikator beinhaltet. Die Befehle bewirken des Weiteren, dass der eine oder mehrere Prozessoren eine erste geschätzte Lokalisierung von einer Master-Lokalisierungsdatenbank empfängt, wobei die erste geschätzte Lokalisierung dem ersten Identifikator entspricht. Des Weiteren bewirken die Befehle, dass der eine oder mehrere Prozessoren ermitteln, ob Lokalisierungsinformationen, die in einer privaten Lokalisierungsdatenbank gespeichert sind, mit dem Mobilgerät geteilt werden können und, als Antwort auf die Feststellung, dass die Lokalisierungsinformationen, die in der privaten Lokalisierungsdatenbank gespeichert sind, mit dem Mobilgerät geteilt werden können, bewirkt, dass eine zweite geschätzte Lokalisierung von der privaten Lokalisierungsdatenbank abgefragt wird, wobei die zweite geschätzte Lokalisierung dem zweiten Identifikator entspricht. In verschiedenen Ausführungsformen beinhaltet das Feststellen, ob das eine Mitbenutzungskriterium oder die mehreren Mitbenutzungskriterien erfüllt sind, die Feststellung, ob ein Benutzer des Mobilgeräts in einem bestimmten sozialen Netzwerk Mitglied ist, ob ein Benutzer des Mobilgeräts einer bestimmten Organisation angehört, ob das Mobilgerät einem bestimmten Identifikator zugeordnet ist und/oder ob das Mobilgerät einem bestimmten Code zugeordnet ist. Des Weiteren veranlassen die Befehle auch, dass eine Lokalisierung des Mobilgeräts basierend auf zumindest der ersten geschätzten Lokalisierung und der zweiten geschätzten Lokalisierung ermittelt wird.
-
Kurzbeschreibung der Zeichnungen
-
1 ist ein Blockdiagramm eines Beispielsystems, in dem Beispieltechniken für die Erstellung oder Aktualisierung einer privaten Lokalisierungsdatenbank verwendet werden;
-
2 ist ein Flussdiagramm eines Beispielverfahrens für das Sammeln von Informationen für eine private Lokalisierungsdatenbank, die in das Mobilgerät im Beispielsystem von 1 implementiert sein kann;
-
3 ist ein Blockdiagramm des Beispielsystems von 1 für ein Beispielszenario, in dem Beispieltechniken für die Verwendung einer privaten Lokalisierungsdatenbank verwendet werden; und
-
4 ist ein Flussdiagramm eines Beispielverfahrens für die Lokalisierung eines Mobilgeräts unter Verwendung mehrerer Lokalisierungsdatenbanken, die in das System des Lokalisierungsanbieters im Beispielsystem von 3 implementiert sein können.
-
Detaillierte Beschreibung
-
In Ausführungsformen, die weiter unten beschrieben sind, kann eine private Lokalisierungsdatenbank, die Lokalisierungen von WiFi Access Points (APs) und/oder anderen Sendeeinrichtungen speichert, erstellt und von Mobilgerätbenutzern selektiv geteilt werden. Ein Mobilgerätbenutzer mit Zugriff auf die private Lokalisierungsdatenbank kann Lokalisierungen, die in der Datenbank gespeichert sind, verwenden, um eine Master-Lokalisierungsdatenbank eines Lokalisierungsanbieters, die veraltete und/oder unvollständige Lokalisierungsdaten beinhalten kann, zu erweitern. Der Zugriff auf die private Lokalisierungsdatenbank kann auf verschiedene Arten beschränkt werden, zum Beispiel kann er auf Mobilgerätbenutzer, die Mitglied einer bestimmten Organisation oder von sozialen Netzwerken, die von einem Eigentümer der privaten Lokalisierungsdatenbank angegeben werden, sind, oder auf Mobilgerätbenutzer, die einen bestimmten Code gescannt haben usw. beschränkt werden.
-
1 ist ein Blockdiagramm eines Beispielsystems 100, in dem Beispieltechniken für die Erstellung oder Aktualisierung einer privaten Lokalisierungsdatenbank angewendet werden. Das System 100 beinhaltet ein System des Lokalisierungsanbieters 110, das mit einem Mobilgerät 112 über ein Kommunikationsnetzwerk 114 verbunden ist. Das System des Lokalisierungsanbieters 110 beinhaltet einen oder mehrere Computer (z. B. Server) und kann sich an einer Position befinden oder über mehrere Positionen verteilt sein. Das Mobilgerät 112 kann beispielsweise ein Smartphone oder ein Tablet-PC sein. Das Kommunikationsnetzwerk 114 beinhaltet eines oder mehrere Teilnetzwerke, darunter zumindest ein drahtloses Netzwerk. Das Kommunikationsnetzwerk 114 kann zum Beispiel sowohl ein zellulares Netzwerk (z. B. einschließlich Funkmasten usw.) als auch ein verdrahtetes oder drahtloses lokales Ethernet-Netzwerk (z. B. einschließlich Routen, Brücken usw.) beinhalten.
-
In der Nähe von Mobilgerät 112 sind drei APs 120 (z. B. WiFi APs). Ein erster AP 120A ist einem ersten Basic Service Set Identifier (BSSID1) zugeordnet, ein zweiter AP 120B einem zweiten Basic Service Set Identifier (BSSID2) zugeordnet, und ein dritter AP 120C einem dritten Basic Service Set Identifier (BSSID3) zugeordnet. Jeder BSSID ist eine MAC-Adresse, die mit dem entsprechenden AP der APs 120 verbunden ist. Die APs 120 können in einem bestimmten Gebäude oder in einem geographischen Gebiet verteilt sein (z. B. ein Konferenzzentrum, ein Campus usw.). Jede AP 120 beinhaltet zumindest eine Antenne 122 für die Übertragung von Signalen. Für einige oder alle APs 120 kann die Antenne 122 auch für den Empfang von Signalen verwendet werden. Während 1 drei APs 120 zeigt, können andere Ausführungsformen oder Szenarien mehr oder weniger als drei APs 120 beinhalten.
-
Mobilgerät 112 beinhaltet eine Netzwerkschnittstelle 130, eine Benutzerschnittstelle 132, eine Engine der privaten Lokalisierungsdatenbank (PLD) 134 und zumindest eine Antenne 138. In einer Ausführungsform ist das Mobilgerät 112 so konfiguriert, dass es in zumindest zwei unterschiedlichen drahtlosen Kommunikationsnetzwerken, die zumindest zwei unterschiedliche Kommunikationsprotokolle verwenden, funktioniert. Ein erstes Kommunikationsprotokoll wird zur Kommunikation über ein erstes Kommunikationsnetz verwendet und ein zweites Kommunikationsprotokoll wird zur Kommunikation über ein zweites Kommunikationsnetz verwendet. In der Ausführungsform, die in 1 dargestellt ist, kann das erste Kommunikationsnetzwerk zum Beispiel ein zellulares Netzwerk sein, das in einem Kommunikationsnetzwerk 114 enthalten ist, und das zweite Kommunikationsnetzwerk kann ein Netzwerk mit kürzerer Reichweite (z. B. ein WiFi-Netzwerk) sein, das das Mobilgerät 112 und APs 120 aber kein Kommunikationsnetzwerk 114 beinhaltet. Die Antenne 138 des Mobilgeräts 112 wird für die Kommunikation in das zweite (z. B. WiFi) Kommunikationsnetzwerk verwendet. In einigen Ausführungsformen wird die Antenne 138 auch für die Kommunikation in das erste (z. B. zellulare) Kommunikationsnetzwerk verwendet. In anderen Ausführungsformen werden eine oder mehrere andere Antennen (nicht dargestellt) für die Kommunikation im ersten Kommunikationsnetzwerk verwendet. In einigen Ausführungsformen ist das Mobilgerät 112 zusätzlich dafür konfiguriert, dass ein oder mehrere Lokalisierungsgeräte (z. B. GPS), die nicht die hierin beschriebenen Lokalisierungstechniken verwenden, benützt werden.
-
Die Netzwerkschnittstelle 130 von Mobilgerät 112 beinhaltet Hardware und/oder Software, die so konfiguriert ist, dass sie (über Antenne 138) Signale empfangen kann, die von APs 120 (über Antennen 122) übertragen wurden, gemäß dem zweiten (z. B. WiFi) Protokoll, und das empfangene Signal (oder vom empfangenen Signal abgeleitete Daten) an andere Teile des Mobilgeräts 112 (z. B. an verschiedene Engines im Mobilgerät 112) weiterleitet. In einigen Ausführungsformen ist die Netzwerkschnittstelle 130 auch dafür konfiguriert, Signale über die Antenne 138 (z. B. für den Empfang von einem beliebigen AP 120) zu übertragen. Die Netzwerkschnittstelle 130 kann auch dafür konfiguriert werden, Signale über das erste (z. B. zellulare) Kommunikationsnetzwerk zu übertragen und zu empfangen. Alternativ dazu kann das Mobilgerät 112 eine andere, von der Netzwerkschnittstelle 130 unabhängige, Netzwerkschnittstelle (nicht in 1 dargestellt) enthalten, die dafür konfiguriert ist, Signale über das erste Kommunikationsnetzwerk zu übertragen und zu empfangen.
-
Die Benutzerschnittstelle 132 des Mobilgeräts 112 beinhaltet Hardware und/oder Software, die so konfiguriert ist, dass sie manuelle Eingaben von einem Benutzer des Mobilgeräts 112 empfangen und wahrnehmbare Ausgaben für diesen liefern kann. Die Benutzerschnittstelle 132 kann zum Beispiel veranlassen, dass dem Benutzer eine graphische Benutzeroberfläche (GUI) angezeigt wird (z. B. über ein Touchscreen-Display des Mobilgeräts 112) und/oder Daten empfangen, die eine Tastatur anzeigen und/oder Touchscreen-Eingaben empfangen, die manuell von einem Benutzer eingegeben wurden.
-
Die Engine der privaten Lokalisierungsdatenbank 134 beinhaltet Softwarebefehle, die in einem computerlesbaren Medium gespeichert und so konfiguriert sind, dass sie durch einen oder mehrere Prozessoren im Mobilgerät 112 ausgeführt werden. In der Ausführungsform, die in 1 dargestellt ist, ist die Engine der privaten Lokalisierungsdatenbank 134 eine Anwendung, ein Plug-in, ein Script oder eine andere Softwarekomponente, die vom Server der Lokalisierungsanwendung 140 heruntergeladen wird oder auf die über den Server zugegriffen wird. Das Mobilgerät 112 kann auf den Server der Lokalisierunganwendung 140 direkt oder zum Beispiel über das System des Lokalisierungsanbieters 110 zugreifen. Alternativ dazu kann die Engine der privaten Lokalisierungsdatenbank 134 Softwarebefehle einer Softwarekomponente, die in einem Mobilgerät 112 installiert war, bevor das Mobilgerät 112 von einem Benutzer gekauft wurde, beinhalten. In verschiedenen anderen Ausführungsformen beinhaltet die Engine der privaten Lokalisierungsdatenbank 134 Hardware, Firmware oder eine Kombination von Software, Hardware und/oder Firmware. In einer alternativen Ausführungsform ist der Server der Lokalisierungsanwendung 140 ein Teil des Systems des Lokalisierungsanbieters 110. Die Engine der privaten Lokalisierungsdatenbank 134 ist im allgemeinen so konfiguriert, dass sie Informationen für die Erstellung und/oder Aktualisierung einer privaten Lokalisierungsdatenbank 142, die in der in 1 dargestellten Ausführungsform mit dem System des Lokalisierungsanbieters 110 gekoppelt ist, sammelt. Die Erstellung oder Aktualisierung der privaten Lokalisierungsdatenbank 142 unter Verwendung der Engine der privaten Lokalisierungsdatenbank 134 wird weiter unten in Bezugnahme auf 1 genauer erörtert. Sobald sie erstellt ist, kann die private Lokalisierungsdatenbank 142 von einem oder mehreren Mobilgeräten, die versuchen, sich selbst zu lokalisieren (z. B. von einem Mobilgerät des Eigentümers der privaten Lokalisierungsdatenbank 142 und/oder durch Mobilgeräte von Benutzern, mit denen die private Lokalisierungsdatenbank 142 geteilt wurde) verwendet werden, wie weiter unten in Bezugnahme auf 3. detaillierter beschrieben ist. In einigen Ausführungsformen kann das Mobilgerät 112 selbst die private Lokalisierungsdatenbank 142 verwenden, um sich selbst zu lokalisieren, wenn die Datenbank 142 erzeugt ist.
-
Das System des Lokalisierungsanbieters 110 beinhaltet eine AP-Lokalisierungs-Engine 150 und eine Schnittstellen-Engine der Lokalisierungsdatenbank 152. Die Schnittstellen-Engine der Lokalisierungsdatenbank 152 beinhaltet eine Sharing-Engine 154 und eine Merging Engine 156, die weiter unten in Bezugnahme auf 3 erörtert werden. Das System des Lokalisierungsanbieters 110 ist mit der privaten Lokalisierungsdatenbank 142, einer Sharing-Datenbank 157 und einer Master-Lokalisierungsdatenbank 158 gekoppelt. Sowohl die private Lokalisierungsdatenbank 142 als auch die Master-Lokalisierungsdatenbank 158 speichern Informationen zur Identifikation (z. B. BSSIDs) und Lokalisierungsinformationen (z. B. geschätzte Lokalisierungen), die unterschiedlichen Sendeeinrichtung (z. B. APs und/oder Funkmasten) entsprechen. Während die Master-Lokalisierungsdatenbank 158 allgemein für alle Mobilgeräte, die vom System des Lokalisierungsanbieters 110 bedient werden, zugänglich ist, ist der Zugriff auf die private Lokalisierungsdatenbank 142 beschränkt. Lokalisierungen in der privaten Lokalisierungsdatenbank 142 können zum Beispiel nur einer ausgewählten Gruppe einer oder mehrerer Eignergesellschaften (und/oder einem oder mehreren Mobilgeräten), die der privaten Lokalisierungsdatenbank 142 zugeordnet sind, zugänglich sein, während Lokalisierungen in der Master-Lokalisierungsdatenbank 158 für jedes Unternehmen und/oder Mobilgerät, das die Lokalisierungsdienste eines Lokalisierungsanbieters (z. B. eines Lokalisierungsanbieters, der mit dem System des Lokalisierungsanbieters 110 verbunden ist) verwendet, allgemein zugänglich sind. Als ein weiteres Beispiel können Lokalisierungen in der privaten Lokalisierungsdatenbank 142 für jedes Mobilgerät, das einem bestimmten Identifikator (oder einem Identifikator einer bestimmten Gruppe von Identifikatoren) zugeordnet ist, zugänglich sein, aber für andere Mobilgeräte, die nicht dem/den Identifikator(en) zugeordnet sind, nicht zugänglich sein (oder, alternativ dazu, für die anderen Mobilgeräte nicht zugänglich sein, wenn nicht ein oder mehrere Mitbenutzungskriterien erfüllt sind, wie weiter unten näher ausgeführt ist). In einigen Ausführungsformen und/oder Szenarien ist das System des Lokalisierungsanbieters 110 gekoppelt mit mehr als einer privaten Lokalisierungsdatenbank vergleichbar mit der privaten Lokalisierungsdatenbank 142, wobei jede private Lokalisierungsdatenbank einem anderen Eigentümer oder einer Gruppe von Eigentümern (und/oder anderen Mobilgeräten) zugeordnet ist.
-
In einigen Ausführungsformen speichert die private Lokalisierungsdatenbank 142 Daten, die nicht direkt die Lokalisierungen der Sendeeinrichtung (z. B. AP) repräsentieren, die aber dennoch für die Lokalisierung eines Mobilgeräts verwendet werden können. Die private Lokalisierungsdatenbank 142 kann zum Beispiel innerhalb von Systemen verwendet werden, die Mobilgeräte basierend auf den „Fingerabdrücken” der Sendeeinrichtung lokalisieren. In einigen solchen Systemen betrachten die Mobilgeräte zum Beispiel eine Kombination aus den empfangenen Identifikatoren der Sendeeinrichtung (z. B. BSSIDs von APs) und den Signalstärken gemeinsam als Fingerabdrücke der aktuellen Lokalisierung des Mobilgeräts. In solchen Ausführungsformen kann die private Lokalisierungsdatenbank 142 anderen Content speichern als die Lokalisierungen der Sendeeinrichtung.
-
Während die private Lokalisierungsdatenbank 142 von Beispielsystem 100 mit dem System des Lokalisierungsanbieters 110 gekoppelt ist, ist in verschiedenen anderen Ausführungsformen die private Lokalisierungsdatenbank 142 dagegen im System des Lokalisierungsanbieters 110, im Mobilgerät 112 oder in einem Server eines Fremdbetreibers, der vom System des Lokalisierungsanbieters 110 und dem Mobilgerät 112 entfernt liegt, beinhaltet. Des Weiteren, während die Master-Lokalisierungsdatenbank 158 von Beispielsystem 100 mit dem System des Lokalisierungsanbieters 110 gekoppelt ist, ist die Master-Lokalisierungsdatenbank 158 in einer alternativen Ausführungsform im System des Lokalisierungsanbieters 110 beinhaltet.
-
Die Sharing-Datenbank 157 speichert Berechtigungsdaten, die der privaten Lokalisierungsdatenbank 142 entsprechen. Die Sharing-Datenbank 157 kann zum Beispiel ein Teil der privaten Lokalisierungsdatenbank 142 sein und/oder im System des Lokalisierungsanbieters 110 beinhaltet sein. Die Sharing-Datenbank 157 wird weiter unten in Bezugnahme auf 3 erörtert.
-
Die AP Lokalisierungs-Engine 150 beinhaltet Softwarebefehle, die auf einem computerlesbaren Medium gespeichert und dafür konfiguriert sind, dass sie von einem oder mehreren Prozessoren im System des Lokalisierungsanbieters 110 ausgeführt werden. In verschiedenen anderen Ausführungsformen beinhaltet die AP Lokalisierungs-Engine 150 Hardware, Firmware oder eine Kombination aus Software, Hardware und/oder Firmware. Die AP Lokalisierungs-Engine 150 ist im Allgemeinen dafür konfiguriert, dass sie Informationen, die sich auf einen oder mehrere APs beziehen, empfängt und Lokalisierungen der APs basierend auf den empfangenen Informationen schätzt. Die AP Lokalisierungs-Engine 150 veranlasst dann die Speicherung der geschätzten Lokalisierungen in einer Lokalisierungsdatenbank, wie beispielsweise der privaten Lokalisierungsdatenbank 142 oder der Master-Lokalisierungsdatenbank 158. Die AP Lokalisierungs-Engine 150 kann auch für die Lokalisierung von anderen Sendeeinrichtungen als APs (z. B. Funkmasten) konfiguriert sein und/oder von Gebieten, die anderen Sendeeinrichtungen (z. B. Sendegebiete von Funkmasten) zugeordnet sind. Während die Engine 150 von 1 (und 3, die weiter unten erörtert wird) eine „AP Lokalisierungs-Engine” ist, lokalisiert die Engine 150 in anderen Ausführungsformen nur nicht-AP Sendeeinrichtungen (und/oder Gebiete, die nicht-AP Sendeeinrichtungen zugeordnet sind usw.).
-
Während die AP Lokalisierungs-Engine 150 im Beispielsystem 100 im System des Lokalisierungsanbieters 110 beinhaltet ist, sind die AP Lokalisierungs-Engines in einer alternativen Ausführungsform sowohl im System des Lokalisierungsanbieters 110 als auch im Mobilgerät 112 beinhaltet. Das Mobilgerät 112 kann zum Beispiel seine eigene AP Lokalisierungs-Engine (ähnlich der AP Lokalisierungs-Engine 150) beinhalten, in der die AP Lokalisierungs-Engine konfiguriert ist, um die AP-Lokalisierungen, die in der privaten Lokalisierungsdatenbank 142 gespeichert werden müssen, zu schätzen. In einigen Ausführungsformen kann das Mobilgerät 112 auch Hardware und Software, die dafür konfiguriert ist, eine relative Lokalisierung des Geräts 112 zu unterschiedlichen Zeiten, wenn AP-Signale empfangen werden durchzuführen, beinhalten. Das Mobilgerät 112 kann zum Beispiel mit jedem Instrument, das für die Verfolgung von Ortsbewegungen geeignet ist, wie beispielsweise mit einem Inertialsensor und/oder anderen Sensoren (z. B. einem Gyroskop, einem Kompass, einem Barometer, einem Beschleunigungsmesser, einer Kamera mit Videoverarbeitung zur Erkennung von Bewegungen, einem Lautsprecher und Mikrofon mit Verarbeitung von Audiosignalen, um Bewegungen zu erkennen usw.) beobachten, wie ein Signal von einem AP sich verändert, wenn das Mobilgerät 112 vom Benutzer bewegt wird. Auf diese Weise können Daten gesammelt werden, um die private Lokalisierungsdatenbank 142 aufzubauen, ohne dass der Benutzer manuell Lokalisierungen eingeben muss. Alternativ dazu kann ein Benutzer eine einzelne Lokalisierung auf einer Karte eingeben, um Koordinaten zu liefern, auf die alle verfolgten Ortsbewegungen referenziert werden können.
-
Die Schnittstellen-Engine der Lokalisierungsdatenbank 152 beinhaltet Softwarebefehle, die auf einem computerlesbaren Medium gespeichert und dafür konfiguriert sind, dass sie von einem oder mehreren Prozessoren im System des Lokalisierungsanbieters 110 ausgeführt werden. In verschiedenen anderen Ausführungsformen beinhaltet die Schnittstellen-Engine der Lokalisierungsdatenbank 152 Hardware, Firmware oder eine Kombination von Software, Hardware und/oder Firmware. Die Schnittstellen-Engine der Lokalisierungsdatenbank 152 ist im Allgemeinen dafür konfiguriert, Identifikationsinformationen, die Sendeeinrichtungen (z. B. BSSIDs von APs 120) entsprechen, zu empfangen und die empfangenen Identifikationsinformationen zu verwenden, um die geschätzten Lokalisierungen der Sendeeinrichtungen einer Lokalisierungsdatenbank (z. B. Master-Lokalisierungsdatenbank 158 und/oder private Lokalisierungsdatenbank 142) abzurufen. Eine Sharing-Engine 154 innerhalb der Schnittstellen-Engine der Lokalisierungsdatenbank 152 ermittelt, ob ein Mobilgerät, von dem eine Lokalisierungsabfrage empfangen wird, berechtigt ist, die private Lokalisierungsdatenbank 142 zu verwenden. Wie weiter unten näher ausgeführt wird, kann die Sharing-Engine 154 zum Beispiel feststellen, ob ein oder mehrere Mitbenutzungskriterien für den Zugriff auf die private Lokalisierungsdatenbank 142 erfüllt sind (z. B. ob ein abfragendes Mobilgerät in der in der Sharing-Datenbank 157 gespeicherten Berechtigungsliste enthalten ist). Eine Merging Engine 156 in der Schnittstellen-Engine der Lokalisierungsdatenbank 152 aggregiert die geschätzten Lokalisierungen, die von der privaten Lokalisierungsdatenbank 142 abgerufen wurden und die geschätzten Lokalisierungen von der Master-Lokalisierungsdatenbank 158 und wendet in einigen Ausführungsformen eine oder mehrere Konfliktlösungsregeln an, wenn widersprüchliche Lokalisierungen von der privaten Lokalisierungsdatenbank 142 und der Master-Lokalisierungsdatenbank 158 abgerufen wurden.
-
Während die Schnittstellen-Engine der Lokalisierungsdatenbank 152 im System des Lokalisierungsanbieters 110 in Beispielsystem 100 beinhaltet ist, ist in anderen Ausführungsformen zumindest ein Teil der Schnittstellen-Engine der Lokalisierungsdatenbank 152 im Mobilgerät 112 beinhaltet. In einer alternativen Ausführungsform (z. B. einer Ausführungsform, in der die private Lokalisierungsdatenbank 142 im Mobilgerät 112 oder dem Server eines Fremdbetreibers beinhaltet ist), beinhaltet das System des Lokalisierungsanbieters 110 zum Beispiel einen ersten Teil der Schnittstellen-Engine der Lokalisierungsdatenbank 152, die dafür konfiguriert ist, geschätzte Lokalisierungen von der Master-Lokalisierungsdatenbank 158 abzurufen und Mobilgerät 112 beinhaltet einen zweiten Teil der Schnittstellen-Engine der Lokalisierungsdatenbank 152, der dafür konfiguriert ist, die geschätzten Lokalisierungen von der privaten Lokalisierungsdatenbank 142 abzurufen. In dieser letzteren Ausführungsform kann der Teil der Schnittstellen-Engine der Lokalisierungsdatenbank 152 mit der Merging Engine 156 im Mobilgerät 112 beinhaltet sein und die Sharing-Engine 154 vom Beispielsystem 100 kann entfallen. Im Allgemeinen kann die Sharing-Engine 154 in Ausführungsformen, in denen die private Lokalisierungsdatenbank 142 nicht mit Nichteigentümern geteilt werden kann, entfallen und in Ausführungsformen, in denen als Reaktion auf eine einzelne Lokalisierungsabfrage eines Mobilgeräts nicht sowohl auf eine private Lokalisierungsdatenbank 142 als auch auf eine Master-Lokalisierungsdatenbank 156 zugegriffen werden kann, kann die Merging Engine 156 entfallen.
-
Während bei verschiedenen Engines, die in 1 dargestellt sind, hierin beschrieben ist, dass sie von einem oder mehreren Prozessoren ausgeführt werden, werden in einigen Ausführungsformen der/dieselbe/n Prozessor(en) verwendet, um die Befehle von zwei oder mehr Engines auszuführen. Die AP Lokalisierungs-Engine 150 und die Schnittstellen-Engine der Lokalisierungsdatenbank 152 können zum Beispiel beide von einem einzigen Satz bestehend aus einem oder mehreren Prozessoren ausgeführt werden.
-
1 stellt auch ein Beispielszenario dar, in dem Mobilgerät 112 verwendet wird, um Informationen für die Erstellung oder Aktualisierung der privaten Lokalisierungsdatenbank 142 zu sammeln, wenn der Benutzer sich zu verschiedenen Positionen bewegt 160 und das Mobilgerät 112 Daten 162 an das System des Lokalisierungsanbieters 110 sendet. Um den Datensammelprozess zu vereinfachen, veranlasst die Engine der privaten Lokalisierungsdatenbank 134 die Benutzerschnittstelle 132, dem Benutzer des Mobilgeräts 112 eine grafische Benutzeroberfläche bereitzustellen. Die Benutzerschnittstelle 132 kann zum Beispiel eine grafische Benutzeroberfläche erstellen, die eine Karte einer geografischen Region, in der sich das Mobilgerät 112 derzeit befindet, zeigt. Die Karte kann zum Beispiel basierend auf Informationen, die von einem Kartenserver 164 (z. B. als Antwort auf eine Abfrage, die der Kartenserver 164 vom Mobilgerät 112 erhalten hat) empfangen werden, generiert werden. Der Kartenserver 164 kann sich in einem Server eines Fremdbetreibers, wie in 1 gezeigt, befinden oder im System des Lokalisierungsanbieters 110 und kann Lokalisierungsinformationen vom Mobilgerät 112 und/oder vom System des Lokalisierungsanbieters 110 empfangen, um Information zu generieren, die an das Mobilgerät 112 gesandt werden. Zusätzlich zu einer Karte oder einer anderen Anzeige kann die von der Benutzerschnittstelle 132 bereitgestellte grafische Benutzeroberfläche dem Benutzer des Mobilgeräts 112 Anweisungen zur Verfügung stellen, wie Informationen für die Erstellung und/oder Aktualisierung der privaten Lokalisierungsdatenbank 142 gesammelt werden.
-
Als Teil des Datensammelprozesses kann ein Benutzer, der ein Mobilgerät 112 trägt, sich durch ein Gebiet bewegen, das sich im Allgemeinen innerhalb der Reichweite einer oder mehrerer Sendeeinrichtungen befindet, und verschiedene Lokalisierungen, die den aktuellen Lokalisierungen des Benutzers zu unterschiedlichen Zeitpunkten entsprechen, auswählen oder angeben. In einer Ausführungsform, in der das Mobilgerät 112 zum Beispiel eine Karte auf einem Touchscreen anzeigt, kann der Benutzer Lokalisierungen durch Berühren bestimmter Bereiche auf dem Touchscreen angeben. Im Szenario, das in 1 dargestellt ist, bewegt sich der Benutzer entlang eines Pfades, der eine erste Lokalisierung 160A, eine zweite Lokalisierung 160B und eine dritte Lokalisierung 160C beinhaltet.
-
Bei Lokalisierung 160A gibt der Benutzer eine erste Lokalisierung auf der angezeigten Karte (IND_LOC_A) an, die im Allgemeinen eine Lokalisierung auf der Karte ist, von der der Benutzer annimmt, dass sie der tatsächlichen Lokalisierung 160A entspricht. In einer Ausführungsform veranlasst die Engine der privaten Lokalisierungsdatenbank 134 das Mobilgerät 112 dazu, Signale von nahe gelegenen APs zu erkennen, als Reaktion auf die Angabe einer Lokalisierung durch den Benutzer und generiert lokalisierungsspezifische Informationen, die den beobachtete Signalen entsprechen. Im Szenario von 1 empfängt und erkennt Mobilgerät 112 Signale vom AP 120A und AP 120B während es sich bei Lokalisierung 160A befindet, aber es ist nicht in der Lage, Signale von AP 120C zu erkennen. Jedes der Signale, die vom AP 120A und AP 120B empfangen werden, beinhaltet einen Identifikator des AP, der das Signal gesendet hat (BSSID1 bzw. BSSID2), und das Mobilgerät 112 generiert einen Indikator für die Empfangsfeldstärke (RSSI) für jedes empfangene Signal (RSSI1_A bzw. RSSI2_A). Die RSSIs können zum Beispiel mit einem Leistungsdetektor und einem Analog/Digital-Wandler in der Netzwerkschnittstelle 130 generiert werden. Jeder empfangene BSSID und jeder generierte RSSI wird dann an die Engine der privaten Lokalisierungsdatenbank 134 weitergeleitet, gemeinsam mit der ersten angegebenen Lokalisierung IND_LOC_A. Nach dem Empfang der ersten angegebenen Lokalisierung und des Satzes der zugeordneten BSSIDs und RSSIs generiert die Engine der privaten Lokalisierungsdatenbank 134 lokalisierungsspezifische Informationen 162A und veranlasst, dass die lokalisierungsspezifischen Informationen 162A über das Kommunikationsnetzwerk 114 an das System des Lokalisierungsanbieters 110 übertragen werden.
-
Der Benutzer wechselt dann zur Lokalisierung 160B und gibt eine zweite Lokalisierung auf der angezeigten Karte (IND_LOC_B) an, die im Allgemeinen eine Lokalisierung ist, von der der Benutzer annimmt, dass sie der tatsächlichen Lokalisierung 160B entspricht. In einer Ausführungsform veranlasst die Engine der privaten Lokalisierungsdatenbank 134 wieder das Mobilgerät 112, Signale von nahe gelegenen APs als Reaktion auf die Angabe einer Lokalisierung durch den Benutzer zu beobachten und generiert wieder lokalisierungsspezifische Informationen, die einem Satz bestehend aus einem oder mehreren beobachteten Signalen entspricht. Im Szenario von 1, empfängt und erkennt Mobilgerät 112 Signale von AP 120A, AP 120B und AP 120C während es sich bei Lokalisierung 160B befindet. Jedes der von AP 120A, AP 120B und AP 120C empfangenen Signale beinhaltet einen Identifikator des AP, der das Signal gesendet hat (BSSID1, BSSID2 bzw. BSSID3), und das Mobilgerät 112 generiert einen RSSI für jedes empfangene Signal (RSSI1_B, RSSI2_B bzw. RSSI3_B). Jeder empfangene BSSID und jeder generierte RSSI wird dann an die Engine der privaten Lokalisierungsdatenbank 134 weitergeleitet, gemeinsam mit der zweiten angegebenen Lokalisierung IND_LOC_B. Nach dem Empfang der zweiten angegebenen Lokalisierung und des Satzes der zugeordneten BSSIDs und RSSIs generiert die Engine der privaten Lokalisierungsdatenbank 134 lokalisierungsspezifische Informationen 162B und veranlasst, dass die lokalisierungsspezifischen Informationen 162B über das Kommunikationsnetzwerk 114 an das System des Lokalisierungsanbieters 110 übertragen werden.
-
Danach wechselt der Benutzer zur Lokalisierung 160C und wählt eine dritte Lokalisierung auf der angezeigten Karte (IND_LOC_C), die im Allgemeinen eine Lokalisierung ist, von der der Benutzer annimmt, dass sie der tatsächlichen Lokalisierung 160C entspricht. In einer Ausführungsform veranlasst die Engine der privaten Lokalisierungsdatenbank 134 wieder das Mobilgerät 112, Signale von nahe gelegenen APs zu erkennen, als Reaktion auf die Angabe einer Lokalisierung durch den Benutzer und generiert wieder lokalisierungsspezifische Informationen, die einem Satz, der aus einem oder mehreren beobachteten Signalen besteht, entsprechen. Im Szenario von 1 empfängt und erkennt das Mobilgerät 112 Signale von AP 120B und AP 120C, während es sich bei Lokalisierung 160C befindet, aber es ist nicht in der Lage, Signale von AP 120A zu erkennen. Jedes der Signale, die von AP 120B und AP 120C empfangen wurden, beinhaltet einen Identifikator des AP, der das Signal (BSSID2 bzw. BSSID3) gesendet hat und das Mobilgerät 112 generiert einen RSSI für jedes empfangene Signal (RSSI2_C bzw. RSSI3_C). Jeder empfangene BSSID und jeder generierte RSSI wird dann an die Engine der privaten Lokalisierungsdatenbank 134 übergeben, gemeinsam mit der dritten angegebenen Lokalisierung IND_LOC_C. Nach dem Empfang der dritten angegebenen Lokalisierung und des Satzes der zugeordneten BSSIDs und RSSIs, generiert die Engine der privaten Lokalisierungsdatenbank 134 lokalisierungsspezifische Informationen 162C und veranlasst, dass die lokalisierungsspezifischen Informationen 162C über das Kommunikationsnetzwerk 114 an das System des Lokalisierungsanbieters 110 übertragen werden.
-
Das System des Lokalisierungsanbieters 110 empfängt die lokalisierungsspezifischen Informationen 162 und leitet die Daten 162 an die AP Lokalisierungs-Engine 150 weiter. Nach dem Empfang der lokalisierungsspezifischen Informationen 162 ermittelt die AP Lokalisierungs-Engine 150 eine geschätzte Lokalisierung eines oder mehrerer APs 120 basierend auf den lokalisierungsspezifischen Informationen. Die AP Lokalisierungs-Engine 150 kann zum Beispiel geschätzte Lokalisierungen von AP 120A, AP 120B und AP 120C ermitteln, unter Verwendung der gemessenen RSSIs (RSSI1_A, RSSI2_A, RSSI1_B, RSSI2_B, RSSI3_B, RSSI2_C und RSSI3_C) und der angegebenen Lokalisierungen (IND_LOC_A, IND_LOC_B und IND_LOC_C) der lokalisierungsspezifischen Informationen 162. Die AP-Lokalisierungs-Engine 150 kann verschiedene geeignete Lokalisierungstechniken, wie zum Beispiel Triangulation, Trilateration usw., verwenden. Sobald die geschätzten Lokalisierungen einiger oder aller APs 120 ermittelt sind, veranlasst die AP-Lokalisierungs-Engine 150, dass die geschätzten Lokalisierungen in einer privaten Lokalisierungsdatenbank 142 gemeinsam mit einem Identifikator für jeden AP 120 (z. B. der entsprechenden BSSIDs der APs 120) gespeichert werden. Die private Lokalisierungsdatenbank 142 kann eine relationale Datenbank beinhalten, die zum Beispiel jede geschätzte Lokalisierung mit einem BSSID des entsprechenden AP 120, indiziert. In Szenarien, in denen die private Lokalisierungsdatenbank 142 noch keine AP-Lokalisierungsdaten enthält, kann die AP Lokalisierungs-Engine 150 einen Satz AP Lokalisierungdatensätze generieren. In Szenarien, in denen die private Lokalisierungsdatenbank 142 schon existiert, kann die AP Lokalisierungsengine 150 die private Lokalisierungsdatenbank 142 durch Ersetzen der alten geschätzten Lokalisierungen durch neue geschätzte Lokalisierungen aktualisieren. Wie weiter oben erörtert wurde, muss die private Lokalisierungsdatenbank 142 nicht unbedingt die AP-Lokalisierungen speichern. Die Lokalisierungs-Engine 150 kann zum Beispiel stattdessen ein Modell basierend auf den empfangenen BSSIDs und RSSIs ermitteln und die Modelldaten in der privaten Lokalisierungsdatenbank 142 zum späteren Gebrauch durch Mobilgeräte, die unter Verwendung eines WiFi „Fingerabdrucks” eine Selbstlokalisierung durchführen, speichern.
-
In verschiedenen alternativen Ausführungsformen kann das System 100 anders als in dem weiter oben beschriebenen Szenario funktionieren. In einer Ausführungsform wartet Mobilgerät 112 beispielsweise, bis alle lokalisierungsspezifischen Informationen 162 (d. h. 162A, 162B und 162C) generiert wurden, bevor die zusammengesetzten Daten 162 an das System des Lokalisierungsanbieters 110 übertragen werden. Die Engine der privaten Lokalisierungsdatenbank 134 kann zum Beispiel warten, bis die Benutzerschnittstelle 132 eine bestimmte manuelle Eingabe durch den Benutzer erkennt (z. B. die Schaltfläche „FERTIG” auf einer grafischen Benutzeroberfläche) bevor jegliche lokalisierungsspezifischen Informationen 162 übertragen werden.
-
Als ein weiteres Beispiel kann die Engine der privaten Lokalisierungsdatenbank 134 nicht auf eine Benutzerangabe einer Lokalisierung warten, um die Signalmetriken (z. B. RSSI), die der angegebenen Lokalisierung entsprechen, zu generieren. Die Engine der privaten Lokalisierungsdatenbank 134 kann beispielsweise ständig oder periodisch Signalmetriken für Signale, die von APs 120 empfangen werden, generieren und dann nur die Signalmetriken verwenden, die den Signalen entspricht, die zu den Zeiten (oder fast zu den Zeiten) empfangen wurden, als der Benutzer eine Lokalisierung angegeben hat.
-
Als noch ein anderes Beispiel, kann die Engine der privaten Lokalisierungsdatenbank 134 mehr als eine Signalmetrik für jedes AP-Signal (z. B. von Netzwerkschnittstelle 130) empfangen. Die Netzwerkschnittstelle 130 kann zum Beispiel an die Engine der privaten Lokalisierungsdatenbank 134 einen Spitzen-RSSI-Wert und einen Durschnitts-RSSI-Wert für jedes AP-Signal liefern. Als ein weiteres Beispiel kann die Netzwerkschnittstelle 130 der Engine der privaten Lokalisierungsdatenbank 134 mehrere RSSIs für ein AP-Signal liefern, wobei jeder RSSI zu einer anderen Zeit gemessen wird. In diesen Ausführungsformen können Daten, die jede dieser mehrfachen Signalmetriken repräsentieren, in den lokalisierungsspezifischen Informationen 162 enthalten sein.
-
Als weiteres Beispiel und in einer alternativen Ausführungsform, in der eine AP Lokalisierungs-Engine ähnlich der AP Lokalisierungs-Engine 150 im Mobilgerät 112 beinhaltet ist, kann die Engine der privaten Lokalisierungsdatenbank 134 veranlassen, dass die lokalisierungsspezifischen Informationen 162 direkt an die AP Lokalisierungs-Engine im Mobilgerät 112 geschickt werden und die Netzwerkschnittstelle 130 nicht veranlasst wird, die Daten 162 an das System des Lokalisierungsanbieters 110 zu übertragen. Die AP-Lokalisierungs-Engine im Mobilgerät 112 ermittelt dann die geschätzten Lokalisierungen der APs 120 und veranlasst, dass die geschätzten Lokalisierungen entweder an den Lokalisierungsanbieter 110 zur Speicherung in der privaten Lokalisierungsdatenbank 142 übertragen werden, an einen Server eines Fremdbetreibers, der mit der privaten Lokalisierungsdatenbank 142 gekoppelt ist, übertragen werden, oder in einer privaten Lokalisierungsdatenbank 142 in einem Speicher im Mobilgerät 112 gespeichert werden, entsprechend den verschiedenen Ausführungsformen.
-
Während das Beispielszenario von 1 AP-Signale zeigt, die an drei verschiedenen Stellen 160A, 160B und 160C beobachtet (und lokalisierungsspezifische Informationen generiert) werden), können andere Szenarien auch mehr oder weniger als drei Lokalisierungen enthalten. In einem Szenario, in dem zum Beispiel AP-Signale nur an einer Stelle beobachtet (und lokalisierungsspezifische Informationen generiert) werden, darf sich der Benutzer, der das Mobilgerät 112 trägt, überhaupt nicht bewegen, um Daten für die private Lokalisierungsdatenbank 142 zu sammeln. Zusätzlich kann der Benutzer in einigen Ausführungsformen optional an einer Stelle bleiben und wiederholt eine Stelle angeben (z. B. auf einer angezeigten Karte) während er die AP-Signale zu unterschiedlichen Zeiten beobachtet, um die Genauigkeit der vom Mobilgerät 112 generierten Signalmetriken zu erhöhen.
-
In einer anderen Ausführungsform, die nicht in 1 dargestellt ist, wird an Stelle des Mobilgeräts 112 ein Nicht-Mobilgerät (z. B. ein Desktop-Computer, ein nicht-mobiles Embedded System usw.) verwendet, um Daten für die private Lokalisierungsdatenbank 142 zu sammeln. Zusätzlich können lokalisierungsspezifische Informationen, wie die lokalisierungsspezifischen Informationen 162A, 162B oder 162C, an das System des Lokalisierungsanbieters 110 über ein Netzwerk, das keine Funkkomponente enthält, gesendet werden. In einer Ausführungsform kann zum Beispiel ein Desktop-Computer mit einer WiFi-Karte Signale von einem oder mehreren APs 120 (z. B. Signale inklusive BSSIDs der APs 120), empfangen, die zugehörigen Signalmetriken (z. B. RSSIs) generieren und die lokalisierungsspezifischen Informationen (z. B. vergleichbar mit lokalisierungsspezifischen Daten 162) über einen Internetzugang via Kabel an das System des Lokalisierungsanbieters 110 übertragen. In einer solchen Ausführungsform können die Daten 162A, 162B und 162C zum Beispiel Daten darstellen, die zu drei unterschiedlichen Zeiten, an einer gleichbleibenden Stelle des Schreibtischs gesammelt wurden. Alternativ dazu kann nur ein Datensatz (z. B. die Daten 162A) an das System des Lokalisierungsanbieters 110 geschnickt werden.
-
In einer anderen alternativen Ausführungsform, die nicht in 1 gezeigt wird, kann die Engine der privaten Lokalisierungsdatenbank 134 so konfiguriert sein, dass sie einem Benutzer gestattet, AP-Lokalisierungen direkt (z. B. auf einer Karte, die auf der grafischen Benutzeroberfläche angezeigt wird) einzugeben. In dieser Ausführungsform müssen keine Signalmetriken generiert werden und die lokalisierungsspezifischen Informationen 162 können nur Identifikatoren (z. B. BSSIDs) und angegebene Lokalisierungen für alle APs 120 beinhalten. In dieser Ausführungsform kann die Lokalisierungs-Engine des AP 150 entfallen. In weiteren anderen Ausführungsformen kann man auf die AP-Lokalisierungen über ein Webinterface (z. B. eine Webseite, die im Speicher des Systems des Lokalisierungsanbieters 110 oder in der privaten Lokalisierungsdatenbank 142 gespeichert ist) unter Verwendung eines Mobilgeräts 112 oder eines anderen (mobilen oder nicht-mobilen) EDV-Geräts, die über eine Internetverbindung verfügen, zugreifen. In diesen Ausführungsformen kann zum Beispiel eine Einzelperson, die die aktuellen Lokalisierungen eines Satzes von APs kennt, einfach auf eine Karte des betreffenden Gebietes zugreifen (z. B. vom Kartenserver 164) und die AP-Lokalisierungen durch Berühren eines Touchscreens (oder durch Bewegen eines Cursors auf jede beliebige Lokalisierung auf der Karte und Klicken der Maustaste usw.) eingeben. In wieder einer anderen alternativen Ausführungsform, die nicht in 1 dargestellt ist, werden die lokalisierungsspezifischen Informationen 162 über einen oder mehrere APs 120 an das System des Lokalisierungsanbieters 110 übertragen. In einem Szenario können zum Beispiel Daten 162A über AP 120A an das System des Lokalisierungsanbieters 110 geliefert werden, Daten 162B können über AP 120B an das System des Lokalisierungsanbieters 110 geliefert werden und Daten 162C können über AP 120C an das System des Lokalisierungsanbieters 110 geliefert werden. In dieser Ausführungsform muss das Mobilgerät 112 nicht dafür konfiguriert sein, mit dem Lokalisierungsanbieter 110 über das Kommunikationsnetzwerk 114 zu kommunizieren (z. B. Mobilgerät 112 muss keine zellularen Kommunikationsfähigkeiten haben).
-
2 ist ein Flussdiagramm eines Beispielverfahrens 200 für das Sammeln von Informationen für eine private Lokalisierungsdatenbank, wie die private Lokalisierungsdatenbank 142 von 1, die in einem Mobilgerät wie dem Mobilgerät 112 von 1 implementiert ist.
-
Bei Block 202 werden ein oder mehrere Sätze von Signalen von einem oder mehreren APs empfangen. Die Signale können zum Beispiel von einer Netzwerkschnittstelle des Mobilgeräts, die das Verfahren 200 implementiert, wie z. B. die Netzwerkschnittstelle 130 in Mobilgerät 112 von 1, empfangen werden. Die APs, von denen die Signale empfangen werden, können zum Beispiel ähnlich wie die APs 120 von 1 aufgebaut sein. Jeder Satz der einen oder mehreren Sätze von Signalen kann zum Beispiel einem anderen der einen oder mehreren APs entsprechen.
-
Jeder Satz des einen Satzes oder der mehreren Sätzen von Signalen kann nur ein Signal oder mehrere Signale beinhalten (z. B. wobei jedes Signal der mehreren Signale zu einer unterschiedlichen Zeit empfangen wird). In einer Ausführungsform beinhaltet jeder Satz der bei Block 202 empfangenen Signale einen Signalidentifikator, der dem AP, der die Gesamtheit der Signale gesendet hat, entspricht. Jedes Signal kann zum Beispiel einen BSSID beinhalten, der dem AP, der das Signal übertragen hat, entspricht.
-
Bei Block 204 werden ein oder mehrere Sätze Signalmetriken generiert basierend auf dem einen oder mehreren Sätzen von Signalen, die bei Block 202 empfangen wurden. In einer Ausführungsform ist zumindest eine Signalmetrik in jedem der einen oder mehreren Sätze Signalmetriken ein RSSI, der einem der bei Block 202 empfangenen Signale entspricht. Jeder Satz von Signalmetriken kann nur eine Signalmetrik oder auch mehrere Signalmetriken beinhalten. In einer Ausführungsform, in der zum Beispiel jeder Satz Signale, der bei Block 202 empfangen wird, zwei oder mehr Signale beinhaltet, kann jeder Satz Signalmetriken einen Spitzen-RSSI-Wert und einen Durchschnitts-RSSI-Wert beinhalten, zwei oder mehr RSSIs, die den zwei oder mehr empfangenen Signalen entsprechen usw. In einigen Ausführungsformen wird zum Beispiel in jedem Satz von Signalmetriken von einer Netzwerkschnittstelle des Mobilgeräts, wie beispielsweise der Netzwerkschnittstelle 130 im Mobilgerät 112 von 1, zumindest eine Signalmetrik generiert. In anderen Ausführungsformen wird von einer Engine im Mobilgerät (z. B. der Engine der privaten Lokalisierungsdatenbank 134 von 1), die Signalinformationen von einer Netzwerkschnittstelle des Mobilgeräts empfängt, in jedem Satz Signalmetriken zumindest eine Signalmetrik generiert. Eine Netzwerkschnittstelle des Mobilgeräts kann zum Beispiel einen Leistungspegel für jedes empfangene Signal erfassen und die entsprechenden digitalen Signale an einen oder mehrere Prozessoren des Mobilgeräts übertragen und der/die Prozessor(en) können dann die digitalen Signale verarbeiten und RSSIs in einem geeigneten Format generieren.
-
Bei Block 206 werden eine oder mehrere angegebene Lokalisierungen über eine Benutzerschnittstelle des Mobilgeräts empfangen. In einer Ausführungsform werden die angegebenen Lokalisierungen als Daten empfangen, die die manuelle Auswahl des Benutzers des Mobilgeräts repräsentieren. Die angegebenen Lokalisierungen können zum Beispiel einer oder mehreren Lokalisierungen entsprechen, die vom Benutzer auf einer Karte, die dem Benutzer über die Benutzerschnittstelle angezeigt wird, ausgewählt wurden. In einer Ausführungsform entspricht jede empfangene angegebene Lokalisierung einem der Sätze von Signalen, die bei Block 202 empfangen wurden und/oder einem der Sätze von Signalmetriken, die bei Block 204 generiert wurden. In einer Ausführungsform werden die eine oder die mehreren angegebenen Lokalisierungen von einer Engine im Mobilgerät (z. B. der Engine der privaten Lokalisierungsdatenbank 134 von 1) empfangen.
-
Bei Block 210 werden die lokalisierungsspezifischen Informationen an eine AP Lokalisierungs-Engine geliefert, um die geschätzten Lokalisierungen der APs, die die bei Block 202 empfangenen Signale gesendet haben, zu ermitteln. Die AP Lokalisierungs-Engine kann zum Beispiel so ähnlich aufgebaut sein, wie die AP Lokalisierungs-Engine 150 von 1. In einer Ausführungsform liefert eine Engine im Mobilgerät (z. B. die Engine der privaten Lokalisierungsdatenbank 134 von 1) die lokalisierungsspezifischen Informationen an die AP Lokalisierungs-Engine. Die lokalisierungsspezifischen Informationen beinhalten Daten, die einen oder mehrere Sätze von Signalmetriken, die bei Block 204 generiert wurden und Daten, die eine oder mehrere angegebene Lokalisierungen, die bei Block 206 empfangen wurden, repräsentieren. In Ausführungsformen, in denen die Signalmetriken bei Block 204 in einem geeigneten Datenformat generiert werden, und/oder die angegebenen Lokalisierungen bei Block 206 in einem geeigneten Datenformat empfangen werden, können die lokalisierungsspezifischen Daten einfach die generierten Signalmetrikdaten und/oder die empfangenen angegebenen Lokalisierungsdaten reproduzieren. In anderen Ausführungsformen wandelt das Mobilgerät die Signalmetriken und die angegebenen Lokalisierungen in ein geeignetes Format um, wenn es die lokalisierungsspezifischen Informationen generiert.
-
In einer Ausführungsform verbinden die lokalisierungsspezifischen Informationen jede angegebene Lokalisierung, die bei Block 206 empfangen wurde, mit einem entsprechenden Satz von Signalmetriken, die bei Block 204 generiert wurden. Die lokalisierungsspezifischen Informationen können zum Beispiel vom Mobilgerät in einem Format angeordnet werden, von dem (z. B. von einem System des Lokalisierungsanbieters und/oder von anderen Engines oder Modulen im Mobilgerät) erkannt wird, dass es jede angegebene Lokalisierung mit dem entsprechenden Satz von Signalmetriken verbindet.
-
In Ausführungsformen, in denen die AP Lokalisierungs-Engine in einem System des Lokalisierungsanbieters oder in einem vom Mobilgerät entfernt liegenden Server eines Fremdbetreibers beinhaltet ist, kann das Bereitstellen der lokalisierungsspezifischen Informationen an die AP Lokalisierungs-Engine die Übertragung der lokalisierungsspezifischen Informationen an das System des Lokalisierungsanbieters oder an einen Server eines Fremdbetreibers über ein oder mehrere Netzwerke (z. B. ein zellulares Netzwerk und/oder verdrahtetes oder drahtloses Ethernet), und/oder das Senden eines Befehls oder einer Anfrage, die ein Gerät veranlasst, die lokalisierungsspezifischen Informationen zu übertragen, beinhalten. In Ausführungsformen, in denen die AP Lokalisierungs-Engine hingegen im Mobilgerät beinhaltet ist, kann das Bereitstellen der lokalisierungsspezifischen Informationen an die AP Lokalisierungs-Engine das Senden der lokalisierungsspezifischen Informationen an die AP Lokalisierungs-Engine im Mobilgerät beinhalten.
-
Während das Verfahren 200 in Bezugnahme auf AP-Lokalisierungen beschrieben ist, werden in anderen Ausführungsformen hingegen andere Sendeeinrichtung (z. B. andere stationäre oder halbstationäre Sendeeinrichtungen) verwendet. Zusätzlich kann das Verfahren 200 weitere Blocks, die nicht in 2 gezeigt werden, enthalten. Das Verfahren 200 kann zum Beispiel einen zusätzlichen Block beinhalten, in dem Angaben eines oder mehrerer Mitbenutzungskriterien über die Benutzerschnittstelle des Mobilgeräts empfangen werden. Die Mitbenutzungskriterien können dann (z. B. vom Mobilgerät, von einem System des Lokalisierungsanbieters usw.) beim Feststellen, ob die geschätzten Lokalisierungen anderen Geräten zugänglich gemacht werden sollen, zum Beispiel, angewendet werden. Die Mitbenutzungskriterien werden weiter unten gemäß den verschiedenen Ausführungsformen genauer erörtert.
-
Des Weiteren können die in Verfahren 200 in 2 gezeigten Blocks in einer anderen Reihenfolge als gezeigt vorhanden sein. In einer Ausführungsform befindet sich Block 206 zum Beispiel vor Block 202, zwischen Block 202 und 204, oder im Allgemeinen parallel zu Block 202 oder 204 oder zu beiden. In einem anderen Beispiel kann sich Block 210 im Allgemeinen parallel zu Blocks 202, 204 und 206 befinden (Teile der lokalisierungsspezifischen Informationen können z. B. generiert werden, wenn jedes Signal und jedes indizierte Lokalisierungspaar empfangen und verarbeitet wird).
-
3 ist ein anderes Blockdiagramm, das das Beispielsystem 100 von 1. zeigt. Während 1 ein Szenario zeigt, in dem ein Mobilgerät-Benutzer die private Lokalisierungsdatenbank 142 erstellt oder aktualisiert, zeigt 3 ein Szenario, in dem die private Lokalisierungsdatenbank 142, die unter Verwendung des Mobilgeräts 112 von 1 erstellt wurde, mit einem Benutzer eines ersten Mobilgeräts 212A zur Verwendung bei der Lokalisierung des Geräts 212A geteilt wird. Umgekehrt wird die private Lokalisierungsdatenbank 142 nicht mit einem zweiten Mobilgerät 212B geteilt, das im Szenario von 3 auch versucht, sich selbst zu lokalisieren.
-
Jedes der Mobilgeräte 212 beinhaltet eine Netzwerkschnittstelle 214 (z. B. vergleichbar mit der Netzwerkschnittstelle 130 in 1) und eine Benutzerschnittstelle 216 (z. B. vergleichbar mit Benutzerschnittstelle 132 in 1). Zusätzlich beinhaltet jedes Mobilgerät 212 eine Lokalisierungs-Engine des Mobilgeräts 218. Jede Lokalisierungs-Engine des Mobilgeräts 218 beinhaltet Softwarebefehle, die in einem computerlesbaren Medium gespeichert und so konfiguriert sind, dass sie durch einen oder mehrere Prozessoren in dem jeweiligen Mobilgerät 212 ausgeführt werden. In verschiedenen anderen Ausführungsformen beinhaltet jede Lokalisierungs-Engine des Mobilgeräts 218 Hardware, Firmware, oder eine Kombination aus Software, Hardware und/oder Firmware. Jede Lokalisierungs-Engine des Mobilgeräts 218 ist im Allgemeinen so konfiguriert, dass sie die Position des entsprechenden Mobilgeräts 212 basierend auf Signalen, die von APs (wie beispielsweise APs 120) und bekannten Positionen der APs empfangen werden, schätzt. In einigen Ausführungsformen und Szenarien verwendet jede Lokalisierungs-Engine des Mobilgeräts 218 auch Signale von anderen Sendeeinrichtungen (z. B. Sendeeinrichtungen in Funkmasten), um die Lokalisierung des entsprechenden Mobilgeräts 212 zu schätzen. In weiteren anderen Ausführungsformen und Szenarien kann jede Lokalisierungs-Engine des Mobilgeräts 218 auch Signale von Hardware und/oder Software innerhalb des entsprechenden Mobilgeräts 212, die dafür konfiguriert sind, Relativbewegungen zu erkennen (z. B. ein Gyroskop, ein Kompass, ein Barometer, ein Beschleunigungsmesser, eine Kamera mit Videoverarbeitung zur Erkennung von Bewegungen, ein Lautsprecher und Mikrofon mit Verarbeitung von Audiosignalen, um Bewegungen zu erkennen usw.), verwenden.
-
3 zeigt eine private Lokalisierungsdatenbank 142, wie sie sich darstellt, nachdem die AP Lokalisierungs-Engine 150 die geschätzten Lokalisierungen der APs 120 ermittelt hat (z. B. wenn das in 1 abgebildete Szenario eintritt). So speichert die private Lokalisierungsdatenbank 142 eine geschätzte Lokalisierung und den zugehörigen Identifikator für jeden AP 120 (d. h. EST_LOC1 und BSSID1 für AP 120A, EST_LOC2 und BSSID2 für AP 120B und EST_LOC3A und BSSID3 für AP 120C). In dem in 3 dargestellten Szenario speichert die Master-Lokalisierungsdatenbank 158 die AP Lokalisierungsinformationen und die Identifikationsinformationen für verschiedene APs, die nicht in 3 dargestellt sind, sowie die AP-Lokalisierungsinformationen und die Identifikationsinformationen für AP 120C. Die geschätzte Lokalisierung für AP 120C, die in der Master-Lokalisierungsdatenbank 158 (EST_LOC3B) gespeichert ist, unterscheidet sich jedoch von der geschätzten Lokalisierung für AP 120C, die in der privaten Lokalisierungsdatenbank 142 (EST_LOC3A) gespeichert ist. Während EST_LOC3A zum Beispiel eine Lokalisierung ist, die von einer AP Lokalisierungs-Engine 150 unter Verwendung der von Mobilgerät 112 von 1 empfangenen lokalisierungsspezifischen Daten bestimmt wurde, kann EST_LOC3B eine Lokalisierung sein, die von einem GPS-System eines Mobilgeräts, das nicht in 1 oder 3 dargestellt ist, bestimmt wurde sein, oder eine Lokalisierung, die direkt vom AP 120C des Systems des Lokalisierungsanbieters 110 bestimmt wurde, oder eine Lokalisierung, die auf andere Weise bestimmt wurde. Zusätzlich können EST_LOC3A und EST_LOC3B zu unterschiedlichen Zeiten bestimmt worden sein. EST_LOC3B kann zum Beispiel zum ersten Mal bestimmt worden sein, als AP 120C bei einer alte Lokalisierung war und EST_LOC3A kann ein zweites Mal bestimmt worden sein, als sich AP 120C an der aktuellen Lokalisierung befand (d. h. EST_LOC3B kann obsolet oder „veraltet” sein).
-
Die Darstellung von 3 kann verschiedenen Szenarien entsprechen. Mobilgeräte 212 können sich zum Beispiel beide in Gebäuden befinden, die APs 120 enthalten. Als spezifischeres Beispiel können APs 120 Hot Spots sein, die vorübergehend bei einem Konferenzzentrum eingerichtet werden und eine private Lokalisierungsdatenbank 142 kann eine Datenbank sein, deren Eigentümer der Organisator der Konferenz ist und/oder, die von diesem erstellt wurde. 3 kann auch einem Szenario entsprechen, in dem andere Selbstlokalisierungssysteme (falls vorhanden) in Mobilgeräten 212 außer Betrieb sind. Mobilgeräte 212A und/oder 212B können zum Beispiel GPS-Chips beinhalten, aber nicht in der Lage sein, sich mit GPS selbst zu lokalisieren, weil sie sich in Innenräumen befinden.
-
Im Beispielszenario von 3 erhält Mobilgerät 212A durch Scannen und Speichern eines Quick Response-Codes (QR-Code) 219 (QR_CODE1) die Berechtigung, die private Lokalisierungsdatenbank 142 zu verwenden. In anderen Ausführungsformen wird die private Lokalisierungsdatenbank 142 im Gegensatz (oder zusätzlich) dazu basierend auf anderen Kriterien (z. B. sozialen Netzwerkverbindungen, Verbindung mit einer Organisation, Nähe, Lizenz und/oder Zahlung usw.) geteilt, wie weiter unten im Detail erörtert wird. Der QR-Code 219 kann zum Beispiel automatisch durch das System des Lokalisierungsanbieters 110 als Reaktion auf Datensätze, die in der privaten Lokalisierungsdatenbank 142 (z. B. durch den in 1 dargestellten Prozess) erstellt werden, generiert werden. Der Code 219 kann zum Beispiel mit einer Kameraanwendung, die vom Mobilgerät 212A ausgeführt wird, gescannt werden. In einem Beispielszenario kann der QR-Code 219 bei einer Konferenz durch Aufdrucken des Codes 219 auf einem Poster, auf einer Broschüre, die an die Teilnehmer verteilt wird usw. zur Verfügung gestellt werden. Der QR-Code 219 kann zum Beispiel auch in einer Sharing-Datenbank 157 (die z. B. mit einem Identifikator der privaten Lokalisierungsdatenbank 142 indiziert ist) gespeichert werden. In einer alternativen Ausführungsform ist der Code 219 ein anderer Codetyp (z. B. ein Strichcode, ein alphanumerischer Code usw.), und/oder das Mobilgerät 212A erhält den Code nicht durch Scannen (z. B. manuelle Eingabe eines alphanumerischen Codes durch einen Benutzer).
-
Nach dem Erhalt des Codes 219 und wenn das Mobilgerät 212A versucht, sich selbst zu lokalisieren, beobachtet es Rundfunksignale, die von verschiedenen APs gesendet werden. Im Beispielszenario von 3 empfängt und erkennt Mobilgerät 212A Rundfunksignale von jedem der APs 120A, 120B und 120C (z. B. über Netzwerkschnittstelle 214A) und ermittelt einen AP-Identifikator (BSSID1, BSSID2 bzw. BSSID3), der in jedem empfangenen Signal beinhaltet ist. Die AP Identifikatoren können vom Mobilgerät zum Beispiel mit der Lokalisierungs-Engine 218A ermittelt werden. Das Mobilgerät 212A generiert dann (z. B. über die Lokalisierungs-Engine des Mobilgeräts 218A) eine AP Lokalisierungsabfrage 220, die die ermittelten AP Identifikatoren beinhaltet und überträgt die Abfrage 220 an das System des Lokalisierungsanbieters 110 über das erste Kommunikationsnetzwerk (z. B. ein zellulares Netzwerk, das im Kommunikationsnetzwerk 114 beinhaltet ist). Die AP Lokalisierungsabfrage 220 beinhaltet auch den zuvor vom Mobilgerät 212A gescannten (oder auf andere Weise erhaltenen) QR-Code 219. Die Abfrage 220 kann auch andere Informationen beinhalten, wie zum Beispiel einen Identifikator des Mobilgeräts 212A. In einigen Ausführungsformen umfasst die Abfrage 220 mehrere Abfragen, die zu unterschiedlichen Zeiten an das System des Lokalisierungsanbieters 110 geschickt werden (es werden z. B. laufend Signale von allen APs 120 erfasst usw.).
-
Das System des Lokalisierungsanbieters 110 empfängt die AP-Lokalisierungsabfrage 220 über das Kommunikationsnetzwerk 114 und leitet die AP Identifikatoren, die in der Abfrage 220 enthalten sind, an die Schnittstellen-Engine der Lokalisierungsdatenbank 152 weiter. Die Schnittstellen-Engine der Lokalisierungsdatenbank 152 ermittelt dann, welche der empfangenen AP Identifikatoren den AP-Lokalisierungen, die in der Master-Lokalisierungsdatenbank 158 gespeichert sind, entsprechen. Im Szenario von 3 entspricht nur der empfangene AP-Identifikator BSSID3 einer Lokalisierung (d. h. EST_LOC3B) in der Master-Lokalisierungsdatenbank 158. So fragt die Schnittstellen-Engine der Lokalisierungsdatenbank 152 nur die Lokalisierung EST_LOC3B von der Master-Lokalisierungsdatenbank 158 ab.
-
Zusätzlich ermittelt die Sharing-Engine 154, für welche private Lokalisierungsdatenbanken das Mobilgerät 212A gegebenenfalls die Nutzungsberechtigung hat. Zu diesem Zweck vergleicht die Sharing-Engine 154 den mit der Abfrage 220 empfangenen QR-Code 219 mit den Zulassungsinformationen, die in der Sharing-Datenbank 157 gespeichert sind. In einem Beispiel ist das Mobilgerät 212A berechtigt, die private Lokalisierungsdatenbank 142 zu benutzen, wenn der Code 219 übereinstimmt oder auf andere Weise einem Code auf der Berechtigungsliste, die in der Sharing-Datenbank 157 gespeichert ist, entspricht. Wenn zum Beispiel die Sharing-Datenbank 157 in der privaten Lokalisierungsdatenbank 142 beinhaltet ist (d. h. sie ist spezifisch für nur eine private Lokalisierungsdatenbank 142), kann die Sharing-Engine 154 einfach feststellen, ob der Code 219 mit einem Code, der in der Sharing-Datenbank 157 gespeichert ist, übereinstimmt. Wenn die Sharing-Datenbank 157 dagegen die Berechtigungsdaten für mehrere private Lokalisierungsdatenbanken speichert, kann die Sharing-Engine 154 feststellen, ob der Code 219 mit einem Code in der Sharing-Datenbank 157, der mit einem Identifikator (z. B. einem Speicherort) der privaten Lokalisierungsdatenbank 142 indiziert ist, übereinstimmt. In einer alternativen Ausführungsform kann die Sharing-Engine 154 einen Identifikator des Mobilgeräts 212A, der in der AP Lokalisierungsabfrage 220 beinhaltet ist, verwenden (und nicht einen Code wie den Code 219) um festzustellen, zu welchen privaten Lokalisierungsdatenbanken das Mobilgerät 212A Zugriff hat. In einer anderen alternativen Ausführungsform kann die Sharing-Engine 154 einen Identifikator eines Benutzers von Mobilgerät 212A (z. B. einen Benutzeridentifikator, der in der AP-Lokalisierungsabfrage 220 beinhaltet ist, oder einen Benutzeridentifikator, der ein Querverweis zu den Informationen in der AP-Lokalisierungsabfrage 220 ist) verwenden, um festzustellen, zu welchen privaten Lokalisierungsdatenbanken das Mobilgerät 212A Zugriff hat. Andere Beispiele möglicher Mitbenutzungskriterien werden weiter unten in Bezugnahme auf 4 erörtert.
-
Im Szenario von 3 stellt die Sharing-Engine 154 fest, dass der QR-Code 219 einer privaten Lokalisierungsdatenbank 142 (z. B. durch die Indizierung mit einer privaten Lokalisierungsdatenbank 142 in der Sharing-Datenbank 157) zugeordnet ist und dass das Mobilgerät 212A daher berechtigt ist, die private Lokalisierungsdatenbank 142 zu benutzen. So fragt die Schnittstellen-Engine der Lokalisierungsdatenbank 152 Lokalisierungen in der privaten Lokalisierungsdatenbank 142 ab, die den AP-Identifikatoren in der AP-Lokalisierungsabfrage 220 entsprechen (d. h. Lokalisierungen EST_LOC1, EST_LOC2 und EST_LOC3A, die BSSID1, BSSID2 bzw. BSSID3 entsprechen). In einer alternativen Ausführungsform fragt die Schnittstellen-Engine der Lokalisierungsdatenbank 152 zuerst Lokalisierungen von der privaten Lokalisierungsdatenbank 142 ab und ermittelt dann (z. B. unter Verwendung der Sharing-Engine 154), ob die abgefragten Lokalisierungen vom Mobilgerät 212A verwendet werden können.
-
Die Merging Engine 156 innerhalb der Schnittstellen-Engine der Lokalisierungsdatenbank 152 empfängt die Lokalisierungen, die von der privaten Lokalisierungsdatenbank 142 und der Master-Lokalisierungsdatenbank 158 abgefragt worden sind und aggregiert die Daten. In einer Ausführungsform ermittelt die Merging Engine 156, ob Lokalisierungsinformationen, die von der privaten Lokalisierungsdatenbank 142 abgefragt wurden, konsistent mit den Lokalisierungsinformationen, die von der Master-Lokalisierungsdatenbank 158 abgefragt wurden, sind und wendet in Situationen, in denen Inkonsistenzen bestehen, eine oder mehrere Konfliktlösungsregeln an. In der Ausführungsform und im Szenario von 3 erkennt die Merging Engine 156 zum Beispiel, dass sowohl die private Lokalisierungsdatenbank 142 als auch die Master-Lokalisierungsdatenbank 158 eine Lokalisierung beinhalten, die BSSID3 entspricht und wendet die Konfliktlösungsregeln an, um festzustellen, ob EST_LOC3A oder EST_LOC3B als Antwort auf die Abfrage 220 an das Mobilgerät 212A gesendet wird.
-
In einer Ausführungsform beinhaltet das Anwenden der Konfliktlösungsregeln den Vergleich der Prioritäten der Lokalisierungsdatenbanken, von denen die widersprüchlichen geschätzten Lokalisierungen empfangen werden. Die Merging Engine 156 kann zum Beispiel ermitteln, dass die private Lokalisierungsdatenbank 142 einer höheren Priorität zugeordnet ist als die Master-Lokalisierungsdatenbank 158 und wählt daher EST_LOC3A als beste geschätzte Lokalisierung für AP 120C und nicht EST_LOC3B. In einem Szenario, in dem der Eigentümer der privaten Lokalisierungsdatenbank 142 ein Unternehmen ist, kann zum Beispiel jedes Mobilgerät, das mit dem Unternehmen verbunden ist (das z. B. einem Benutzer, der Mitarbeiter des Unternehmens ist, zugeordnet ist) Lokalisierungen von der privaten Lokalisierungsdatenbank 142 gegenüber Lokalisierungen von der Master-Lokalisierungsdatenbank 158 bevorzugen. In anderen Ausführungsformen können von der Merging Engine 156 kompliziertere Konfliktlösungsregeln oder -algorithmen angewendet werden. Eine private Lokalisierungsdatenbank 142 kann zum Beispiel in einem ersten geografischen Gebiet bevorzugt werden, eine zweite private Lokalisierungsdatenbank (in 3 nicht dargestellt) kann in einem zweiten geografischen Gebiet bevorzugt werden und die Master-Lokalisierungsdatenbank 158 kann in geografischen Gebieten außerhalb des ersten und zweiten geografischen Gebiets bevorzugt werden. In einer Ausführungsform können die Konfliktlösungsregeln dynamisch angepasst werden, basierend auf der Qualität der zuvor geschätzten Lokalisierungen. Die private Lokalisierungsdatenbank 142 und/oder die Master-Lokalisierungsdatenbank 158 können zum Beispiel einem oder mehreren Qualitätsindikatoren, die die Genauigkeit der in den jeweiligen Datenbanken gespeicherten geschätzten Lokalisierungen repräsentieren (z. B. gemäß Feedback durch die Benutzer, durch Vergleich mit Lokalisierungsinformationen, die mit anderen Mitteln gesammelt wurden usw.), zugeordnet sein.
-
Sobald die Merging Engine 156 Lokalisierungen von der privaten Lokalisierungsdatenbank 142 und der Master-Lokalisierungsdatenbank 158 die Konfliktlösungsregeln aggregiert und (wenn nötig) angewendet hat, um die beste Schätzung von doppelten Lokalisierungen zu ermitteln, überträgt das System des Lokalisierungsanbieters 110 über das Kommunikationsnetzwerk 114 eine Antwort 222 an das Mobilgerät 212A. Die Antwort 222 beinhaltet die geschätzten Lokalisierungen jedes AP 120 für die das Mobilgerät 212A einen BSSID in die Abfrage 220 integriert hat. In Szenarien, in denen die Schnittstellen-Engine der Lokalisierungsdatenbank 152 keinen Speicherort einer geschätzten Lokalisierung, der einem empfangenen BSSID entspricht, ermitteln kann, beinhaltet die Antwort 222 keine Lokalisierung des entsprechenden AP. Im Beispielszenario, das in 3 dargestellt ist, beinhaltet die Antwort EST_LOC1, EST_LOC2 und EST_LOC3A, welche AP 120A, AP 120B bzw. AP 120C entsprechen. In einer alternativen Ausführungsform beinhalten separate Antworten jeweils eine oder mehrere aber nicht alle der geschätzten AP-Lokalisierungen (z. B. jedes Mal, wenn eine geschätzte Lokalisierung von der privaten Lokalisierungsdatenbank 142 von der Master-Lokalisierungsdatenbank 158 abgefragt wird, oder in regelmäßigen Abständen, so lange bis zumindest eine geschätzte Lokalisierung abgerufen wurde usw. wird eine Antwort an das Mobilgerät 212A gesendet). In einer anderen alternativen Ausführungsform beinhaltet die Antwort 222 zusätzlich Lokalisierungen eines oder mehrerer APs zusätzlich zu den APs 120A, 120B und 120C. Das System des Lokalisierungsanbieters 110 kann zum Beispiel entscheiden, bestimmte AP-Lokalisierungen zu „prefetchen”, auch wenn keine Angabe der zusätzlichen APs in Abfrage 220 bereitgestellt wurde (z. B. können zusätzliche AP-Lokalisierungen basierend auf der Nähe des/r zusätzlichen AP(s) zu APs 120A, 120B und/oder 120C usw. bereitgestellt werden). In einer weiteren anderen Ausführungsform, in der das System des Lokalisierungsanbieters 110 (und nicht Mobilgerät 212A) die Lokalisierung von Mobilgerät 212A schätzt, beinhaltet die Antwort 222 die geschätzte Lokalisierung des Mobilgeräts 212A anstelle der geschätzten AP-Lokalisierungen EST_LOC1, EST_LOC2 und EST_LOC3A.
-
Nach dem Empfang der Antwort 222 über das erste (z. B. zellulare) Kommunikationsnetzwerk, verwendet die Lokalisierungs-Engine des Mobilgeräts 218A die empfangenen geschätzten Lokalisierungen der APs 120 und die Signalmetriken (z. B. RSSIs), die das Mobilgerät 212A für die von den APs 120 empfangenen Signale generiert hat, um eine geschätzte Lokalisierung des Mobilgeräts 212A zu ermitteln. Die Lokalisierungs-Engine des Mobilgeräts 218A kann eine geeignete Lokalisierungstechnik, wie zum Beispiel Triangulation, verwenden. In einer alternativen Ausführungsform ist die Lokalisierungs-Engine des Mobilgeräts 218A in das System des Lokalisierungsanbieters 110, das die Lokalisierung von Mobilgerät 212A schätzt und die geschätzte Lokalisierung über das Kommunikationsnetzwerk 114 an das Mobilgerät 212A überträgt, beinhaltet.
-
In verschiedenen alternativen Ausführungsformen erhält das Mobilgerät 212A durch andere Mittel, die nicht in 3 dargestellt sind, Zugriff auf die privaten Lokalisierungsdatenbank. In einer alternativen Ausführungsform, in der die private Lokalisierungsdatenbank 142 nicht mit dem System des Lokalisierungsanbieters 110 gekoppelt (oder darin beinhaltet ist), (z. B. wenn die private Lokalisierungsdatenbank 142 stattdessen mit einem Server eines Fremdbetreibers gekoppelt ist, in 3 nicht dargestellt), erhält Mobilgerät 212A Zugriff zur privaten Lokalisierungsdatenbank 142 durch Abfrage bestimmter Zugriffsinformationen und Verwendung dieser Informationen, um die geschätzten AP-Lokalisierungen von der Datenbank 142 abzurufen. Mobilgerät 212A kann zum Beispiel Zugriffsinformationen empfangen, die eine Adresse eines Servers eines Fremdbetreibers, der mit der privaten Lokalisierungsdatenbank 142 gekoppelt ist, beinhalten. Die Zugriffsinformationen können Informationen sein, die zum Beispiel manuell über eine Benutzerschnittstelle des Mobilgeräts 212A eingegeben werden, oder Informationen, die von einer Website, zu der das Mobilgerät 212A Zugriff hat, heruntergeladen werden usw. Die Zugriffsinformationen könnten von einem Benutzer von Mobilgerät 212A importiert werden durch Auswahl von Optionen von einem Menü oder einer anderen Schnittstelle zum Beispiel.
-
In einer anderen alternativen Ausführungsform erhält Mobilgerät 212A Zugriff zur privaten Lokalisierungsdatenbank 142 durch Herunterladen einer Kopie der privaten Lokalisierungsdatenbank 142 (z. B. von einem Server eines Fremdbetreibers, der eine Kopie der Datenbank 142 pflegt, oder vom Mobilgerät eines Eigentümers, auf dem die Datenbank 142 gespeichert ist). In dieser Ausführungsform kann Mobilgerät 212A die private Lokalisierungsdatenbank 142 an einem Standardspeicherplatz im Mobilgerät 212A speichern und jedes Mal, wenn eine AP-Lokalisierung gebraucht wird, eine Abfrage sowohl bei der privaten Lokalisierungsdatenbank 142 als auch beim System des Lokalisierungsanbieters 110 durchführen (oder nur beim System des Lokalisierungsanbieters 110, wenn eine AP-Lokalisierung in der privaten Lokalisierungsdatenbank 142 nicht gefunden wird). In dieser alternativen Ausführungsform kann eine Merging Engine ähnlich der Merging Engine 156 im Mobilgerät 212A beinhaltet sein und die Sharing-Engine 154 kann im System 100 entfallen.
-
In anderen Szenarien ist das Mobilgerät 212A dasselbe, wie das Mobilgerät 112 von 1, das verwendet wurde, für die Erstellung und/oder Aktualisierung der privaten Lokalisierungsdatenbank 142. In diesem Szenario (z. B. wenn ein Benutzer eines Mobilgeräts 212A ein Eigentümer einer privaten Lokalisierungsdatenbank 142 ist), kann Mobilgerät 212A auch in der Lage sein, die private Lokalisierungsdatenbank 124 zu verwenden, ohne dass die Sharing-Engine 154 Mitbenutzungskriterien überprüft. Alternativ dazu kann die Sharing-Engine 154 die Berechtigungen auf die gleiche Weise prüfen, unabhängig davon, ob das Mobilgerät 212A mit einem Eigentümer der privaten Lokalisierungsdatenbank 142 verbunden ist, oder mit einer Einzelperson, mit der die private Lokalisierungsdatenbank 142 geteilt wird. Der QR-Code 219 kann zum Beispiel automatisch im Mobilgerät 212A gespeichert werden, wenn Mobilgerät 212A verwendet wird, um Daten für die private Lokalisierungsdatenbank 142 zu sammeln. Alternativ dazu muss der Benutzer von Mobilgerät 212A möglicherweise, wie jeder andere Mobilgerät-Benutzer, den QR-Code 219 scannen, um die private Lokalisierungsdatenbank 142 zu benutzen.
-
Ähnlich wie bei Mobilgerät 212A, versucht Mobilgerät 212B, sich selbst zu lokalisieren durch 1) Überwachen der Rundfunksignale, die von APs über das zweite (z. B. WiFi) Kommunikationsnetzwerk gesendet werden, 2) Ermitteln der AP-Identifikatoren, die in den empfangenen Signalen beinhaltet sind, 3) Generieren einer AP Lokalisierungsabfrage 224 und 4) Veranlassung, dass die Abfrage 224 auf das System des Lokalisierungsanbieters 110 über das erste Kommunikationsnetzwerk (z. B. ein zellulares Netzwerk, das im Kommunikationsnetzwerk 114 beinhaltet ist) übertragen wird. Im Beispielszenario von 3 empfängt und erkennt das Mobilgerät 212B Rundfunksignale von den APs 120A, 120B und 120C (z. B. über die Netzwerkschnittstelle 214B), und legt fest, dass die empfangenen Signale die AP-Identifikatoren BSSID1, BSSID2 bzw. BSSID3 beinhalten. Wie bei der Abfrage 220 kann auch die Abfrage 224 mehrere Abfragen, die zu unterschiedlichen Zeiten an das System des Lokalisierungsanbieters 110 gesendet werden, umfassen.
-
Das System des Lokalisierungsanbieters 110 empfängt die AP-Lokalisierungsabfrage 224 über ein Kommunikationsnetzwerk 114 und überträgt die AP-Identifikatoren (BSSIDs), die in Abfrage 224 enthalten sind, an die Schnittstellen-Engine der Lokalisierungsdatenbank 152. Die Schnittstellen-Engine der Lokalisierungsdatenbank 152 ermittelt dann, welche der empfangenen AP Identifikatoren den AP-Lokalisierungen, die in der Master-Lokalisierungsdatenbank 158 gespeichert sind, entsprechen. Wie weiter oben erörtert, entspricht nur der empfangene AP-Identifikator BSSID3 einer Lokalisierung (d. h. EST_LOC3B) in der Master-Lokalisierungsdatenbank 158 im Szenario von 3. So fragt die Schnittstellen-Engine der Lokalisierungsdatenbank 152 nur die Lokalisierung EST_LOC3B von der Master-Lokalisierungsdatenbank 158 ab.
-
Zusätzlich ermittelt die Sharing-Engine 154, welche private Lokalisierungsdatenbanken das Mobilgerät 212B gegebenenfalls benutzen darf. Die Feststellung durch die Sharing-Engine 154 kann zum Beispiel auf gleiche Weise erfolgen, wie die Feststellung, die weiter oben in Verbindung mit Abfrage 220 vom Mobilgerät 212A beschrieben wurde. Im Szenario von 3 jedoch gestattet die Sharing-Engine 154 dem Mobilgerät 212B nicht, die private Lokalisierungsdatenbank 142 zu benutzen, weil der Benutzer von Mobilgerät 212B nicht den QR-Code 219 gescannt hat und die Abfrage 224 daher keinen QR-Code 219 enthielt. Somit werden als Reaktion auf Abfrage 224 von der privaten Lokalisierungsdatenbank 142 keine Lokalisierungen abgefragt. In einer alternativen Ausführungsform stellt die Sharing-Engine 154 fest, dass das Mobilgerät 212B nicht berechtigt ist, die private Lokalisierungsdatenbank 142 zu benutzen, da festgestellt wird, dass ein Identifikator von Mobilgerät 212B (der in der Abfrage 224 beinhaltet ist) nicht in der Sharing-Datenbank 157 beinhaltet ist und/oder nicht mit der privaten Lokalisierungsdatenbank 142 in der Sharing-Datenbank 157 indiziert ist.
-
Nach dem Abrufen der Lokalisierung EST_LOC3B von der Master-Lokalisierungsdatenbank 158 überträgt das System des Lokalisierungsanbieters 110 an das Mobilgerät 212B über das Kommunikationsnetzwerk 114 eine Antwort 226, die EST_LOC3B beinhaltet. Nach dem Empfang der Antwort 226 verwendet die Lokalisierungs-Engine des Mobilgeräts 218B die empfangene geschätzte Lokalisierung von AP 120C und die Signalmetriken (z. B. RSSIs), die das Mobilgerät 212B für Signale, die vom AP 120C empfangen werden, um eine geschätzte Lokalisierung des Mobilgeräts 212B zu ermitteln. Die Lokalisierungs-Engine des Mobilgeräts 218B kann die Lokalisierung des Mobilgeräts 212B unter Verwendung einer geeigneten Technik, wie beispielsweise Triangulation, schätzen. In einer alternativen Ausführungsform ist die Lokalisierungs-Engine des Mobilgeräts 218B im System des Lokalisierungsanbieters 110 beinhaltet und Mobilgerät 212B sendet die Signalmetriken an das System des Lokalisierungsanbieters 110, um die geschätzte Lokalisierung des Mobilgeräts 212B zu ermitteln. Wenn mehr als eine AP-Lokalisierung (z. B. drei oder mehr AP-Lokalisierungen) nötig sind, um die Lokalisierung des Mobilgeräts 212B zu schätzen, darf das System des Lokalisierungsanbieters 110 keine geschätzte Lokalisierung an das Mobilgerät 212B senden, die Lokalisierungs-Engine des Mobilgeräts 218B schätzt keine Lokalisierung im Szenario von 3.
-
In einer alternativen Ausführungsform und, wie in Zusammenhang mit 1 weiter oben erörtert wurde, beinhaltet die private Lokalisierungsdatenbank 142 keine AP-Lokalisierungen. Wenn zum Beispiel die Mobilgeräte 212A und 212B die WiFi „Fingerabdruck”-Lokalisierungstechniken verwenden, können die Master-Lokalisierungsdatenbank 158 und die private Lokalisierungsdatenbank 142 Modelldaten oder anderen Content beinhalten, die für die Lokalisierung eines Mobilgeräts basierend auf erfassten Fingerabdrücken von AP (oder einer anderen Sendeeinrichtung) verwendet werden können. In einigen dieser Ausführungsformen können die Antworten 222 und 226 andere Daten als AP-Lokalisierungen enthalten (z. B. kann das System des Lokalisierungsanbieters 110 direkt eine geschätzte Lokalisierung des Mobilgeräts 212A oder 212B in der Antwort 222 oder 226 basierend auf einem Vergleich des erfassten Fingerabdrucks mit Modelldaten in der privaten Lokalisierungsdatenbank 142) bereitstellen. Zusätzlich kann in einigen dieser Ausführungsformen die Merging Engine 156 einfach entscheiden, ob Daten von der Master-Lokalisierungsdatenbank 158 oder von der privaten Lokalisierungsdatenbank 142 ohne Ausführung der Konfliktlösungsalgorithmen geschickt werden.
-
In einigen Ausführungsformen beinhaltet das System 100 mehr als eine private Lokalisierungsdatenbank vergleichbar mit der privaten Lokalisierungsdatenbank 142. Die mehreren privaten Lokalisierungsdatenbanken können mit dem System des Lokalisierungsanbieters 110 gekoppelt (oder darin beinhaltet) sein, mit einem oder mehreren Servern eines Fremdbetreibers gekoppelt sein, in verschiedenen Mobilgeräten gespeichert sein, oder in Kombinationen der genannten Beispiele gekoppelt oder gespeichert sein. In einer Ausführungsform verwaltet eine Datenbank (z. B. gespeichert im System des Lokalisierungsanbieters 110 oder gekoppelt mit einem Server eines Fremdbetreibers usw.) ein Verzeichnis, das mehrere Identifikatoren von privaten Lokalisierungsdatenbanken beinhaltet und verschiedene Informationen, die den privaten Lokalisierungsdatenbanken entsprechen (z. B. Kontaktinformationen des Datenbank-Eigentümers, eine Beschreibung des geografischen Gebiets, das von der privaten Lokalisierungsdatenbank abgedeckt wird usw.). Das Verzeichnis kann für die Öffentlichkeit allgemein zugänglich sein, zum Beispiel über eine Website, um anderen die Möglichkeit zu geben, die Eigentümer oder deren Beauftragte zu kontaktieren, um eine Lizenz zu erwerben oder auf andere Weise den Zugriff zu einer der privaten Lokalisierungsdatenbanken zu verhandeln.
-
In einigen Ausführungsformen sind mehrere private Lokalisierungsdatenbanken im Eigentum von entsprechenden Einzelpersonen und können mit anderen in einem gleichberechtigten (Peer-to-Peer) System geteilt werden. Zum Beispiel kann eine erste Person eine erste private Lokalisierungsdatenbank ähnlich der privaten Lokalisierungsdatenbank 142 besitzen und eine zweite Person kann eine andere, zweite private Lokalisierungsdatenbank ähnlich der privaten Lokalisierungsdatenbank 142 besitzen. Jede private Lokalisierungsdatenbank kann zum Beispiel nur geschätzte Lokalisierungen beinhalten, die auf Lokalisierungsinformationen basieren, die unter Verwendung des Mobilgeräts des jeweiligen Eigentümers (und/oder der Lokalisierungsinformationen, die unter Verwendung des Mobilgeräts eines Mitglieds einer Organisation, zu der der Eigentümer gehört, oder mit der der Eigentümer auf andere Weise verbunden ist) gesammelt wurden, enthalten. In diesen Ausführungsformen kann jeder Eigentümer (und/oder jedes Mitglieder einer Organisation, die mit dem Eigentümer verbunden ist) die private Lokalisierungsdatenbank verwenden, wenn er/sie sein/ihr Mobilgerät zur Selbstlokalisierung verwendet. Außerdem kann in einigen Ausführungsformen jeder Eigentümer (und/oder jedes Mitglieder einer Organisation, die mit dem Eigentümer verbunden ist) geschätzte Lokalisierungen in einer Master-Lokalisierungsdatenbank eines Lokalisierungsanbieters und/oder geschätzte Lokalisierungen, die in einer privaten Lokalisierungsdatenbank gespeichert sind, die mit anderen Einzelpersonen/Eigentümern geteilt wird, verwenden. Die privaten Lokalisierungsdatenbanken können basierend auf Mitbenutzungskriterien, die zu einem Zeitpunkt festgelegt werden, bevor die selbstlokalisierenden Mobilgeräte versuchen, auf die privaten Lokalisierungsdatenbanken zuzugreifen, geteilt werden. Eine erste private Lokalisierungsdatenbank kann zum Beispiel automatisch (oder als Reaktion auf die vom Eigentümer getroffene Auswahl) mit sozialen Netzwerk-Kontakten (z. B. „Freunden”) des Eigentümers der ersten privaten Lokalisierungsdatenbank geteilt werden und eine zweite private Lokalisierungsdatenbank kann automatisch (oder als Reaktion auf die vom Eigentümer getroffene Auswahl) mit sozialen Netzwerk-Kontakten des Eigentümers der zweiten privaten Lokalisierungsdatenbank geteilt werden. Andere Beispiel-Mitbenutzungskriterien werden weiter unten in Bezugnahme auf 4 erörtert. In einigen gleichberechtigten (Peer-to-Peer) Systemen ist jeder Eigentümer und/oder jede verbundene Organisation (im Gegensatz zu einem Lokalisierungsanbieter) verantwortlich für die Speicherung/Pflege der privaten Lokalisierungsdatenbank des Eigentümers. Jede private Lokalisierungsdatenbank kann zum Beispiel im Mobilgerät des jeweiligen Eigentümers oder in einer Datenbank, die von einem Server eines Fremdbetreibers im Namen des Eigentümers und/oder der verbundenen Organisation gewartet wird, gespeichert werden.
-
4 ist ein Flussdiagramm eines Beispielverfahrens 240 für die Lokalisierung eines Mobilgeräts unter Verwendung mehrerer Lokalisierungsdatenbanken, wie etwa die Master-Lokalisierungsdatenbank 158 und die private Lokalisierungsdatenbank 142 von 1 und 3. Das Verfahren 240 ist implementiert im System eines Lokalisierungsanbieters, wie zum Beispiel das System des Lokalisierungsanbieters 110 von 3. In einer Ausführungsform wird das Verfahren 240 ganz oder teilweise von einer Engine ähnlich der Schnittstellen-Engine der Lokalisierungsdatenbank 152 von Figs. ausgeführt. 1 und 3.
-
Bei Block 242 wird eine Vielzahl von AP-Identifikatoren von einem Mobilgerät, wie zum Beispiel vom Mobilgerät 212A oder vom Mobilgerät 212B von 3, empfangen. Die Vielzahl von AP-Identifikatoren beinhaltet zumindest einen ersten AP-Identifikator und einen zweiten AP-Identifikator und jeder AP-Identifikator entspricht einem AP aus einer Vielzahl von APs, von dem Signale vom Mobilgerät beobachtet werden. Jeder AP-Identifikator kann beispielsweise ein BSSID sein.
-
Bei Block 244 wird eine erste geschätzte Lokalisierung für das Mobilgerät bereitgestellt. Die erste geschätzte Lokalisierung entspricht dem ersten AP-Identifikator, der bei Block 242 empfangen wurde und wird von einer Master-Lokalisierungsdatenbank, wie zum Beispiel der Master-Lokalisierungsdatenbank 158 von 3, abgefragt. In einer Ausführungsform liefert das System des Lokalisierungsanbieters die erste geschätzte Lokalisierung an das Mobilgerät, zumindest zum Teil durch Abfragen der ersten geschätzten Lokalisierung von der Master-Lokalisierungsdatenbank, und/oder Übertragung der ersten geschätzten Lokalisierung an das Mobilgerät. Das System des Lokalisierungsanbieters kann zum Beispiel die erste geschätzte Lokalisierung durch Senden des ersten AP-Identifikators an die Master-Lokalisierungsdatenbank in einem geeigneten Abfrageformat und durch Empfangen der ersten geschätzten Lokalisierung von der Master-Lokalisierungsdatenbank als Reaktion abfragen.
-
Bei Block 246 wird ermittelt, ob das Mobilgerät, von dem die AP-Identifikatoren bei Block 242 empfangen werden, berechtigt ist, die Lokalisierungsinformationen, die in einer privaten Lokalisierungsdatenbank, wie der privaten Lokalisierungsdatenbank 142 von 3, gespeichert sind, zu verwenden. Die Analyse bei Block 246 kann umfassen, dass festgestellt wird, ob das Mobilgerät einem Eigentümer der privaten Lokalisierungsdatenbank zugeordnet ist, und/oder ob das Mobilgerät berechtigt ist, die private Lokalisierungsdatenbank zu teilen. In einigen Ausführungsformen und Szenarien besteht zum Beispiel die Analyse bei Block 246 zumindest zum Teil aus der Feststellung, ob ein Identifikator des Mobilgeräts der privaten Lokalisierungsdatenbank zugeordnet ist (z. B. ob der Identifikator des Mobilgeräts mit der privaten Lokalisierungsdatenbank in einer anderen Datenbank indiziert ist oder ob er an einer Position der privaten Lokalisierungsdatenbank, die für Mobilgeräte reserviert ist, die Zugriff zur privaten Lokalisierungsdatenbank haben usw. gespeichert ist), oder ob er einem Eigentümer der privaten Lokalisierungsdatenbank zugeordnet ist (z. B. ob der Identifikator des Mobilgeräts mit einem Eigentümer der privaten Lokalisierungsdatenbank in einer Eigentümerdatenbank indiziert ist, oder an einer Position in der privaten Lokalisierungsdatenbank gespeichert ist, die für die Angabe des Eigentums an der privaten Lokalisierungsdatenbank usw. reserviert ist).
-
In anderen Ausführungsformen und Szenarien (z. B. wenn das Mobilgerät nicht mit dem Eigentum an der privaten Lokalisierungsdatenbank verbunden ist), erfolgt die Feststellung bei Block 246 zumindest zum Teil durch das Feststellen, ob ein oder mehrere Mitbenutzungskriterien erfüllt sind. In einer Ausführungsform ist das Mobilgerät berechtigt, die in der privaten Lokalisierungsdatenbank gespeicherten Lokalisierungsinformationen zu verwenden, wenn das Mobilgerät einem bestimmten sozialen Netzwerk zugeordnet ist. Ein Eigentümer der privaten Lokalisierungsdatenbank kann zum Beispiel angegeben haben (z. B. unter Verwendung einer Anwendung, die auf einem anderen Mobilgerät läuft, und/oder durch Verbindung mit einer Webseite), dass die private Lokalisierungsdatenbank mit bestimmten Mitgliedern eines bestimmten sozialen Netzwerks (z. B. die Freunde eines Benutzers) geteilt werden kann. Die Analyse bei Block 246 kann die Feststellung beinhalten, ob eine Lokalisierungsabfrage durch das Mobilgerät (z. B. vergleichbar mit Lokalisierungsabfrage 220 oder Lokalisierungsabfrage 224 in 3) einen Indikator beinhaltet, der besagt, ob das Mobilgerät einem Benutzer zugeordnet ist, der ein Mitglied des angegebenen sozialen Netzwerks ist.
-
In einer anderen Ausführungsform ist das Mobilgerät berechtigt, die Lokalisierungsinformationen, die in der privaten Lokalisierungsdatenbank gespeichert sind, zu benutzen, wenn das Mobilgerät einer bestimmten Organisation zugeordnet ist. Ein Eigentümer der privaten Lokalisierungsdatenbank kann zum Beispiel angegeben haben (z. B. unter Verwendung einer Anwendung, die auf einem anderen Mobilgerät ausgeführt wird und/oder durch Verbindung mit einer Webseite) dass die private Lokalisierungsdatenbank mit Mitarbeitern eines bestimmten Unternehmens geteilt werden kann. Die Analyse bei Block 246 kann dann die Feststellung, ob eine Lokalisierungsabfrage vom Mobilgerät (z. B. ähnlich wie Lokalisierungsabfrage 220 oder Lokalisierungsabfrage 224 in 3) einen Indikator beinhaltet oder ob das Mobilgerät einem Benutzer zugeordnet ist, der mit dem angegebenen Unternehmen verbunden ist (z. B. ein Mitarbeiter ist).
-
Allgemeiner gesprochen kann das Mobilgerät berechtigt sein, die in der privaten Lokalisierungsdatenbank gespeicherten Lokalisierungsinformationen zu benutzen, wenn das Mobilgerät einem bestimmten Identifikator oder einer bestimmten Gruppe von Identifikatoren zugeordnet ist. Der Identifikator kann die Verbindung mit einem sozialen Netzwerk oder einer Organisation (wie weiter oben beschrieben) angeben, oder er kann die Verbindung mit einer Person oder einer Einheit, die von einem Eigentümer der privaten Lokalisierungsdatenbank auf andere Weise ausgewiesen wurde, angeben. Identifikatoren von Mobilgeräten, die Mobilgeräten entsprechen, mit denen die private Lokalisierungsdatenbank geteilt werden kann, können in einer Berechtigungsliste (z. B. einer Berechtigungsliste, die in einer Datenbank, wie der Sharing-Datenbank 157 von 1 und 3, gespeichert ist) enthalten sein.
-
In einer anderen Ausführungsform ist das Mobilgerät berechtigt, die in der privaten Lokalisierungsdatenbank gespeicherten Lokalisierungsinformationen zu benutzen, wenn das Mobilgerät einem bestimmten Code zugeordnet ist. Das Mobilgerät kann zum Beispiel berechtigt sein, die Lokalisierungsinformationen in der privaten Lokalisierungsdatenbank zu benutzen, wenn das Mobilgerät den Code speichert und den Code (oder Daten, die dem Code entsprechen) in einer Lokalisierungsabfrage, wie die Lokalisierungsabfrage 220 von 3, inkludiert. Ein/e Benutzer/in kann den Code für sein oder ihr Mobilgerät auf verschiedene Arten abfragen. Der Benutzer kann zum Beispiel den Code scannen (z. B. einen QR- oder Strichcode), oder einen numerischen oder alphanumerischen Code, der auf einem Poster, einer Folie, in einer Broschüre etc., an einem bestimmten Ort oder bei einer Veranstaltung (z. B. bei einer Konferenz) aufgedruckt ist, eingeben. Nach dem Abfragen und Speichern des gescannten (oder auf andere Weise eingegebenen) Codes kann das Mobilgerät den Code (z. B. eine Datendarstellung des Codes) zum Beispiel in eine Lokalisierungsabfrage ähnlich der Lokalisierungsabfrage 220 in 3 inkludieren.
-
In einer anderen Ausführungsform ist das Mobilgerät berechtigt, die in der privaten Lokalisierungsdatenbank gespeicherten Lokalisierungsinformationen zu verwenden, wenn ein Zeitpunkt (z. B. die aktuelle Zeit) sich innerhalb einer bestimmten Zeitspanne befindet. Ein Eigentümer der privaten Lokalisierungsdatenbank kann zum Beispiel angegeben haben (z. B. unter Verwendung einer Anwendung, die auf einem anderen Mobilgerät läuft, und/oder durch Verbindung mit einer Webseite), dass die private Lokalisierungsdatenbank mit anderen Mobilgeräten nur an bestimmten Tagen, Wochen usw. (z. B. während einer bestimmten Konferenz) geteilt werden kann.
-
In einer anderen Ausführungsform ist das Mobilgerät berechtigt, die in der privaten Lokalisierungsdatenbank gespeicherten Lokalisierungsinformationen zu benutzen, wenn ein Benutzer, der dem Mobilgerät zugeordnet ist, angegeben hat, dem Vertrag über die private Lokalisierungsdatenbank zuzustimmen. Ein Eigentümer der privaten Lokalisierungsdatenbank kann zum Beispiel angegeben haben (z. B. unter Verwendung einer Anwendung, die auf einem anderen Mobilgerät läuft, und/oder durch Verbindung mit einer Webseite), dass die private Lokalisierungsdatenbank mit anderen Mobilgeräten, die Benutzern zugeordnet sind, die angegeben haben, dem Lizenzvertrag zuzustimmen (oder mit Benutzern, die eine Lizenzzahlung getätigt haben usw.) geteilt werden kann. Alternativ dazu kann die private Lokalisierungsdatenbank nur als Reaktion auf die Angabe, dass eine Zahlung geleistet wurde (z. B. eine Lizenzzahlung), geteilt werden.
-
In einer anderen Ausführungsform ist das Mobilgerät berechtigt, die in der privaten Lokalisierungsdatenbank gespeicherten Lokalisierungsinformationen basierend auf der Nähe zu einem anderen Gerät, wie z. B. dem Mobilgerät eines Benutzers, zu benutzen. Das Mobilgerät eines Eigentümers kann zum Beispiel so konfiguriert sein, dass es ein anderes Mobilgerät in Kontakt mit (oder innerhalb eines bestimmten Bereichs von) dem Gerät des Eigentümers erkennt und automatisch (oder als Reaktion auf manuelle Eingaben durch den Eigentümer und/oder den Benutzers des anderen Mobilgeräts) Zugriffsdaten (z. B. einen Code) an das andere Mobilgerät, wo die Zugriffsdaten Zugriff zur privaten Lokalisierungsdatenbank ermöglichen, überträgt. Eine Technologie, wie der Android-Strahl, kann zum Beispiel verwendet werden, um die Zugriffsdaten zu übertragen.
-
Im Allgemeinen können neben den oben genannten Beispielen alle geeigneten Mitbenutzungskriterien verwendet werden. Die Mitbenutzungskriterien können Aktionen (z. B. Eingaben über eine Benutzerschnittstelle eines Mobilgeräts) vom Benutzer des Mobilgeräts, der Zugriff zur privaten Lokalisierungsdatenbank wünscht verlangen (z. B. Scannen eines QR-Codes), oder der Zugriff kann automatisch erfolgen (z. B. basierend auf einer aktuellen Zeit, der Nähe eines Benutzers zum Mobilgerät eines Eigentümers oder zu einem bestimmten geografischen Gebiet usw.). In einigen Ausführungsformen werden verschiedene Optionen zu Beginn vom Benutzer des Mobilgeräts ausgewählt (z. B. Entscheidung für eine Anordnung, in der private Lokalisierungsdatenbanken gegenseitig geteilt werden können, Auswahl einer Art der privaten Lokalisierungsdatenbank, die aufgrund von Vertrauen/Popularität oder aufgrund von anderen Kriterien gewünscht wird usw.), aber die Feststellung, ob das Mobilgerät auf die private Lokalisierungsdatenbank zugreifen darf, erfolgt automatisch, ohne dass weitere Aktionen vom Benutzer erforderlich sind.
-
In einigen Ausführungsformen werden bei Block 246 zwei oder mehr der weiter oben beschriebenen Mitbenutzungskriterien und/oder andere Mitbenutzungskriterien für das Teilen angewendet. Die Mitbenutzungskriterien können konjunktiv sein (z. B. für das Teilen müssen alle Mitbenutzungskriterien erfüllt sein), sie können disjunktiv sein (z. B. nur ein Kriterium muss für das Teilen erfüllt sein) oder eine Kombination aus beiden. Die Analyse bei Block 246 kann beispielsweise von einer Sharing-Engine, wie der Sharing-Engine 154 von 1 und 3, ausgeführt werden. In einer Ausführungsform werden die Mitbenutzungskriterien nur angewendet, wenn zuerst bei Block 246 festgestellt wurde, dass das Mobilgerät nicht der privaten Lokalisierungsdatenbank (und/oder einem Eigentümer der privaten Lokalisierungsdatenbank) zugeordnet ist.
-
Wenn bei Block 246 festgestellt wird, dass das Mobilgerät berechtigt ist, auf die private Lokalisierungsdatenbank zuzugreifen, wird der Vorgang bei Block 248 fortgesetzt. Bei Block 248 wird dem Mobilgerät eine zweite geschätzte Lokalisierung geliefert. Die zweite geschätzte Lokalisierung entspricht dem zweiten AP-Identifikator, der bei Block 242 empfangen wurde und wird von der privaten Lokalisierungsdatenbank abgefragt. In einer Ausführungsform liefert das System des Lokalisierungsanbieters die zweite geschätzte Lokalisierung an das Mobilgerät, zumindest zum Teil durch Abfrage der zweiten geschätzten Lokalisierung von der privaten Lokalisierungsdatenbank, und/oder Übertragung der zweiten geschätzten Lokalisierung an das Mobilgerät. Das System des Lokalisierungsanbieters kann zum Beispiel die zweite geschätzte Lokalisierung durch Senden des zweiten AP-Identifikators an die private Lokalisierungsdatenbank in einem geeigneten Abfrageformat und als Reaktion auf die zweite geschätzte Lokalisierung von der privaten Lokalisierungsdatenbank abrufen. In einer alternativen Ausführungsform wird die zweite geschätzte Lokalisierung von der privaten Lokalisierungsdatenbank zu einem früheren Zeitpunkt vor den Blocks 246 und 248 abgefragt und Block 248 beinhaltet die Übertragung der zweiten geschätzten Lokalisierung an das Mobilgerät.
-
Wenn bei Block 246 festgestellt wird, dass das Mobilgerät nicht berechtigt ist, auf die private Lokalisierungsdatenbank zuzugreifen, wird der Vorgang bei Block 250 fortgesetzt. Bei Block 250 wird die zweite geschätzte Lokalisierung, die dem zweiten AP-Identifikator entspricht, nicht an das Mobilgerät geliefert. In einer Ausführungsform wird bei Block 250 ein Flag oder Datenfeld gesetzt, um anzuzeigen, dass keine geschätzten Lokalisierungen als Reaktion auf Anfragen vom Mobilgerät von der privaten Lokalisierungsdatenbank abgefragt werden können.
-
Während das Verfahren 240 einem Szenario entspricht, in dem zwei AP-Identifikatoren empfangen werden und zwei geschätzte Lokalisierungen geliefert werden, kann ein Gerät oder System, das das Verfahren 240 durchführen kann, in anderen Szenarien nur einen einzigen AP-Identifikator empfangen und nur eine geschätzte Lokalisierung oder mehr als zwei AP-Identifikatoren empfangen und mehr als zwei geschätzte Lokalisierungen liefern.
-
In einigen Ausführungsformen beinhaltet das Verfahren 240 zusätzliche Blocks, die nicht in 4 dargestellt sind. In einer Ausführungsform und einem Szenario, in denen sowohl die Master-Lokalisierungsdatenbank als auch die private Lokalisierungsdatenbank eine Lokalisierung beinhalten, die demselben AP-Identifikator entspricht, wird vom Verfahren 240 auch festgestellt, welches die die bessere der beiden geschätzten Lokalisierungen ist. Die bessere Lokalisierung kann zum Beispiel durch Anwendung einer oder mehrerer Konfliktlösungsregeln ermittelt werden. In einer Ausführungsform beinhaltet das Anwenden der Konfliktlösungsregel(n) den Vergleicht der Prioritäten, die der Master-Lokalisierungsdatenbank und der privaten Lokalisierungsdatenbank zugeordnet sind. Eine geschätzte Lokalisierung, die einem bestimmten AP-Identifikator entspricht und in der privaten Lokalisierungsdatenbank gespeichert ist, kann zum Beispiel gegenüber einer geschätzten Lokalisierung, die demselben AP-Identifikator entspricht, aber in der Master-Lokalisierungsdatenbank gespeichert ist, bevorzugt werden.
-
In einer Ausführungsform sind eine oder mehrere Konfliktlösungsregeln dynamisch anpassbar, basierend auf der Qualität von geschätzten Lokalisierungen, die zuvor von der Master-Lokalisierungsdatenbank und/oder der privaten Lokalisierungsdatenbank ermittelt wurden. Eine Priorität der privaten Lokalisierungsdatenbank kann zum Beispiel höher werden als das System des Lokalisierungsanbieters ermittelt und/oder empfängt Informationen, die anzeigen, dass die private Lokalisierungsdatenbank qualitativ hochwertige Lokalisierungsschätzungen geliefert hat. Die Feststellung der Qualität kann basierend auf beliebigen geeigneten Informationen erfolgen, wie etwa Feedback durch die Benutzer, automatischer Vergleich von geschätzten Lokalisierungen in einer Lokalisierungsdatenbank mit anderen geschätzten Lokalisierungen, von denen bekannt ist, dass sie sehr genau sind usw., in Abhängigkeit von den verschiedenen Ausführungsformen.
-
In einer anderen Ausführungsform beinhaltet das Verfahren 240 einen zusätzlichen Block, in dem ermittelt wird, ob das Mobilgerät berechtigt ist, die Lokalisierungsinformationen, die in einer zweiten, anderen privaten Lokalisierungsdatenbank gespeichert sind, zu nutzen. Wenn festgestellt wird, dass das Mobilgerät berechtigt ist, die in der zweiten privaten Lokalisierungsdatenbank gespeicherten Lokalisierungsinformationen zu verwenden, wird der Vorgang bei einem weiteren zusätzlichen Block des Verfahrens 240, bei dem eine dritte geschätzte Lokalisierung, die in der zweiten privaten Lokalisierungsdatenbank gespeichert ist, an das Mobilgerät geliefert wird, fortgesetzt. In dieser Ausführungsform entspricht die dritte geschätzte Lokalisierung einem dritten AP-Identifikator der Vielzahl von AP-Identifikatoren, die bei Block 242 empfangen wurden. Die zweite private Lokalisierungsdatenbank kann ähnlich der privaten Lokalisierungsdatenbank 142 sein, die dargestellt ist in 1 und 3, ausgeführt werden.
-
In einigen Ausführungsformen wird das Verfahren 240 auf Sendeeinrichtungen angewendet, die nicht APs sind. Zusätzlich können die Blocks, die in Verfahren 240 in 4 dargestellt sind, in einer anderen Reihenfolge als gezeigt angeordnet sein. In einer Ausführungsform können die Blocks 246 und 248 oder 250 zum Beispiel vor Block 244 oder allgemein parallel zu Block 244 angeordnet sein. Als ein weiteres Beispiel kann Block 242 allgemein parallel mit den Blocks 244, 246, 248 und/oder 250 ausgeführt werden (z. B. können geschätzte Lokalisierungen an das Mobilgerät stückweise übertragen werden, wenn AP-Identifikatoren vom Mobilgerät empfangen werden).
-
Die folgenden zusätzlichen Überlegungen gelten für die vorstehende Erörterung. In dieser gesamten Spezifikation können mehrere Instanzen Komponenten, Operationen oder Strukturen implementieren, die als einzelne Instanz beschrieben sind. Auch wenn einzelne Operationen von einem oder mehreren Verfahren als getrennte Operationen veranschaulicht und beschrieben sind, können eine oder mehrere der einzelnen Operationen gleichzeitig durchgeführt werden, und nichts erfordert, dass die Operationen in der veranschaulichten Reihenfolge durchgeführt werden. Diese und andere Variationen, Modifikationen, Ergänzungen und Verbesserungen fallen in den Anwendungsbereich des hierin beschriebenen Gegenstands.
-
Sofern nicht speziell anders angegeben, können sich Erörterungen hierin, die Wörter, wie „Verarbeitung”, „Berechnung”, „Bestimmung”, „Darstellung”, „Anzeige” oder ähnliches, verwenden, auf Aktionen oder Prozesse einer Maschine (z. B. eines Computers) beziehen, die Daten manipulieren oder transformieren, die als physische (z. B. elektronische, magnetische oder optische) Mengen in einem oder mehreren Speichern (z. B. flüchtiger Speicher, nicht flüchtiger Speicher oder eine Kombination davon), Registern oder anderen Maschinenkomponenten dargestellt sind, die Informationen empfangen, speichern, übertragen oder anzeigen.
-
Wie hierin verwendet, bedeuten Verweise auf „eine Ausführungsform” oder „Ausführungsformen”, dass ein bestimmtes Element, Merkmal, eine Struktur oder eine Eigenschaft, das/die in Verbindung mit der Ausführungsform beschrieben wird, zumindest in einer Ausführungsform enthalten ist. Das Erscheinen der Phrase „in einer Ausführungsform” an verschiedenen Orten in der Spezifikation bezieht sich nicht notwendigerweise immer auf dieselbe Ausführungsform.
-
Wie hierin verwendet, sollen die Begriffe „umfasst”, „umfassend”, „beinhaltet”, „enthält”, „hat”, „haben” und andere Varianten davon eine nicht ausschließliche Einbeziehung abdecken. Zum Beispiel ist ein Prozess, ein Verfahren, ein Artikel oder eine Vorrichtung, der/die eine Liste von Elementen umfasst, nicht notwendigerweise nur auf diese Elemente beschränkt, sondern kann andere Elemente beinhalten, die nicht ausdrücklich aufgelistet oder bei einem solchen Prozess, einem solchen Verfahren, einem solchen Artikel oder einer solchen Vorrichtung inhärent sind. Des Weiteren bezieht sich, sofern nichts Gegenteiliges angegeben wird, „oder” auf ein einschließendes und nicht auf ein ausschließendes Oder. Zum Beispiel ist eine Bedingung A oder B durch eines der folgenden erfüllt: A ist wahr (oder vorhanden) und B ist falsch (oder nicht vorhanden), A ist falsch (oder nicht vorhanden) und B ist wahr (oder vorhanden) und sowohl A als auch B sind wahr (oder vorhanden).
-
Außerdem wird „eine”, „einer” oder „eines” verwendet, um Elemente und Komponenten der Ausführungsformen hierin zu beschreiben. Das erfolgt lediglich aus praktischen Gründen und mit eine allgemeine Vorstellung der Beschreibung zu vermitteln. Die Beschreibung sollte so gelesen werden, dass sie eines oder mindestens eines enthält, und der Singular umfasst auch den Plural, außer es ist offensichtlich anders gedacht.
-
Nach dem Lesen dieser Offenbarung werden Fachleute durch die hierin offenbarten Prinzipien noch zusätzliche, alternative Struktur- und Funktionsdesigns für ein System und einen Prozess für das Erstellen, Aktualisieren und/oder Verwenden einer privaten Lokalisierungsdatenbank erkennen. Somit sollte, während bestimmte Ausführungsformen und Anwendungen veranschaulicht und beschrieben wurden, es selbstverständlich sein, dass die offenbarten Ausführungsformen nicht auf die genaue Konstruktion und Komponenten beschränkt sind, die hierin offenbart wurden. Verschiedene Modifikationen, Änderungen und Variationen, die für Fachleute auf dem Gebiet ersichtlich werden, können in der Anordnung, dem Betrieb und in den Einzelheiten der Verfahren und der Vorrichtung, die hierin offenbart werden, ohne Abweichung von der Idee und dem Umfang der angehängten Patentansprüche erfolgen.