-
HINTERGRUND
-
Der Durchschnittsmensch verwendet wahrscheinlich täglich zahlreiche Anwendungen aus der Mobiltechnologie. Einige dieser Anwendungen können Hilfsmittel sein, um dem Benutzer auf diverse Art und Weise behilflich zu sein (z.B. zur Kommunikation, zum Erheben von Informationen, zur Richtungsnavigation usw.). In dem Maße wie die Anwendungen immer komplizierter geworden sind und sich im Hinblick auf ihre Funktionen immer weiterentwickelt haben, haben sie die Möglichkeit erreicht, immer mehr Informationen zu verarbeiten, um ihre Fähigkeiten weiter zu verbessern.
-
Eine Informationsquelle, die für viele Anwendungen benötigt wird, ist der Standort eines Gerätes und damit der Standort des Benutzers. Dies ermöglicht es bestimmten Anwendungen effizienter zu funktionieren (z.B. wenn ein Benutzer nach einem Restaurant sucht, kann die Geräteanwendung die Empfehlungen basierend auf dem Standort des Benutzers einschränken). Obwohl es diverse Möglichkeiten gibt, um die Standortinformationen eines Benutzers abzurufen (z.B. GPS, Glonass, Galileo, Multilateration von Funksignalen zwischen Mobilfunkmasten, WiFi-Anschlüsse usw.), sind einige robuster oder kostengünstiger als andere. Das Bestimmen des Benutzerstandorts basierend auf drahtlosen Signalen, wie etwa WiFi, ist eine nützliche Alternative, wenn sich der Benutzer in einem Gebäude befindet oder aus anderen Gründen unfähig ist, einen satellitenbasierten Standortdienst zu erfassen. Das Erstellen einer zuverlässigen Datenbank der Millionen von Standorten von drahtlosen Zugangspunkten ist äußerst aufwendig, und somit verfügen nur wenige große Unternehmen über diese Fähigkeit. Dies kann zu einem hohen Kostenpunkt für den Zugriff auf die genauesten dieser Dienste führen.
-
KURZDARSTELLUNG
-
Kurz gesagt stellt ein Aspekt ein Verfahren bereit, das folgende Schritte umfasst: Erzielen einer Liste von detektierten drahtlosen Signalen; unter Verwendung eines Prozessors, Bestimmen, dass eine vorhergehende Liste von detektierten drahtlosen Signalen mindestens eine gewisse Gemeinsamkeit mit der Liste von detektierten drahtlosen Signalen aufweist; für gemeinsame Einträge in der Liste, Analysieren mittels eines Prozessors einer Eigenschaft eines Eintrags der Liste von detektierten drahtlosen Signalen und einer Eigenschaft eines Eintrags der vorhergehenden Liste von detektierten drahtlosen Signalen; falls die Ähnlichkeitsmetrik ein Kriterium erfüllt, Feststellen eines geschätzten Standorts eines Gerätes; und Anfragen eines Gerätestandorts von einem Drittanbieter-Standortdienst, falls die Ähnlichkeitsmetrik das Kriterium nicht erfüllt.
-
Ein anderer Aspekt stellt ein Informationshandhabungsgerät bereit, das Folgendes umfasst: einen Prozessor; ein Speichergerät, welches Anweisungen speichert, die durch den Prozessor ausführbar sind, zum: Erzielen einer Liste von detektierten drahtlosen Signalen; Bestimmen, dass eine vorhergehende Liste von detektierten drahtlosen Signalen mindestens eine gewisse Gemeinsamkeit mit der Liste von detektierten drahtlosen Signalen aufweist; für gemeinsame Einträge in der Liste, Analysieren einer Eigenschaft eines Eintrags der Liste von detektierten drahtlosen Signalen und einer Eigenschaft eines Eintrags der vorhergehenden Liste von detektierten drahtlosen Signalen; falls die Ähnlichkeitsmetrik ein Kriterium erfüllt, Feststellen eines geschätzten Standorts eines Gerätes; und Anfragen eines Gerätestandorts von einem Drittanbieter-Standortdienst, falls die Ähnlichkeitsmetrik das Kriterium nicht erfüllt.
-
Ein weiterer Aspekt stellt ein Produkt bereit, das Folgendes umfasst: ein Speichergerät, auf dem Code gespeichert ist, wobei der Code von einem Prozessor ausführbar ist und Folgendes umfasst: Code, der eine Liste von detektierten drahtlosen Signalen erzielt; Code, der bestimmt, dass eine vorhergehende Liste von detektierten drahtlosen Signalen mindestens eine gewisse Gemeinsamkeit mit der Liste von detektierten drahtlosen Signalen aufweist; für gemeinsame Einträge in der Liste, Analysieren einer Eigenschaft eines Eintrags der Liste von detektierten drahtlosen Signalen und einer Eigenschaft eines Eintrags der vorhergehenden Liste von detektierten drahtlosen Signalen; Code der, falls die Ähnlichkeitsmetrik ein Kriterium erfüllt, einen geschätzten Standort eines Gerätes feststellt; und Code, der einen Gerätestandort bei einem Drittanbieter-Standortdienst anfragt, falls die Ähnlichkeitsmetrik das Kriterium nicht erfüllt.
-
Das Vorstehende ist eine Zusammenfassung und kann somit Vereinfachungen, Verallgemeinerungen und fehlende Einzelheiten umfassen; folglich wird der Fachmann verstehen, dass die Kurzdarstellung rein erläuternd ist und keineswegs dazu gedacht ist, einschränkend zu sein.
-
Zum besseren Verständnis der Ausführungsformen zusammen mit anderen und weiteren Merkmalen und Vorteilen derselben wird auf die nachstehende Beschreibung in Verbindung mit den beiliegenden Zeichnungen gesehen Bezug genommen. Der Umfang der Erfindung wird in den beiliegenden Ansprüchen ausgewiesen.
-
KURZE BESCHREIBUNG DER VERSCHIEDENEN ANSICHTEN DER ZEICHNUNGEN
-
Es zeigen:
-
1 ein Beispiel der Schaltungen eines Informationshandhabungsgerätes.
-
2 ein anderes Beispiel der Schaltungen eines Informationshandhabungsgerätes.
-
3 ein beispielhaftes Verfahren zum Bestimmen eines Gerätestandorts basierend auf detektierten drahtlosen Signalen.
-
AUSFÜHRLICHE BESCHREIBUNG
-
Es versteht sich ohne Weiteres, dass die Bestandteile der Ausführungsformen, wie sie hierin allgemein beschrieben und in den Figuren abgebildet sind, zusätzlich zu den beschriebenen Ausführungsbeispielen in vielen verschiedenen Konfigurationen angeordnet und ausgelegt sein können. Somit ist die nachstehende ausführlichere Beschreibung der Ausführungsbeispiele, wie in den Figuren dargestellt, nicht dazu gedacht, den Umfang der beanspruchten Ausführungsformen einzuschränken, sondern ist nur für Ausführungsbeispiele repräsentativ.
-
Eine Bezugnahme in der gesamten vorliegenden Beschreibung auf „eine Ausführungsform” (oder ähnliche Ausdrücke) bedeutet, dass ein bestimmtes Merkmal, eine bestimmte Struktur oder ein bestimmtes Kennzeichen, das bzw. die in Verbindung mit der Ausführungsform beschrieben wird, in mindestens einer Ausführungsform enthalten ist. Somit bezieht sich das Vorkommen der Redewendungen „bei einer Ausführungsform” und dergleichen an verschiedenen Stellen in der gesamten vorliegenden Beschreibung nicht unbedingt immer auf die gleiche Ausführungsform.
-
Ferner können die beschriebenen Merkmale, Strukturen oder Kennzeichen in einer beliebigen geeigneten Art in einer oder mehreren Ausführungsformen kombiniert werden. In der nachstehenden Beschreibung werden zahlreiche spezifische Einzelheiten bereitgestellt, um ein gründliches Verständnis der Ausführungsformen bereitzustellen. Der Fachmann auf diesem Gebiet wird jedoch erkennen, dass die diversen Ausführungsformen ohne eine oder mehrere der spezifischen Einzelheiten oder mit anderen Verfahren, Bauteilen, Materialien und so weiter in die Praxis umgesetzt werden können. In anderen Fällen werden hinlänglich bekannte Strukturen, Materialien oder Vorgänge der Übersichtlichkeit halber nicht gezeigt oder ausführlich beschrieben.
-
In dem Maße, wie Geräte immer mobiler werden, ist es wahrscheinlicher, dass die Benutzer sie jederzeit bei sich haben. Innerhalb der letzten zehn Jahre hat die Verwendung von Smartphones in allen demografischen Schichten explosionsartig zugenommen. Heutzutage hat wahrscheinlich fast jede Person, die in den Vereinigten Staaten auf der Straße geht, ein mobiles Kommunikationsgerät dabei. Auf Grund dieses neuen mobilen Zeitalters sind standortbasierte Dienste für unsere Verwendung von mobilen Geräte nahezu unverzichtbar geworden. Standortbasierte Dienste verwenden Informationen über die geografische Position eines Gerätes, um diverse Faktoren und Aktionen zu bestimmen. Falls beispielsweise ein Benutzer einen Standort eines Cafés angefragt hätte, würden die standortbasierten Dienste sicherstellen, dass nur Cafés in der Nähe des Benutzers vorgeschlagen würden.
-
Obwohl es, wie erwähnt, viele verschiedene Verfahren zum Bestimmen eines Standorts gibt (z.B. GPS, Glonass, Galileo, Multilateration von Funksignalen zwischen Mobilfunkmasten, WiFi-Anschlüsse usw.), hat jeder davon seine eigenen Nachteile. Die geläufigsten Systeme sind satellitenbasiert (z.B. das Global Positioning System (GPS)). Da diese Systeme jedoch auf Satelliten beruhen, um die Position eines Gerätes zu triangulieren, können sie Schwierigkeiten auf Grund von Mehrwegproblemen aufweisen, oder wenn keine ungestörte Aussicht auf den Himmel besteht (z.B. wenn sich der Benutzer in einem Gebäude oder unter der Erde befindet oder starke Bewölkung gegeben ist). Alternativ können gewisse aktuelle Lösungen, die keine Triangulation verwenden, um die Standorte von Geräten zu berechnen, unter einer größeren Verringerung der Präzision und Genauigkeit leiden.
-
Eine Alternative zum GPS ist die Verwendung von WiFi-Anschlüssen, um den Standort zu bestimmen. WiFi-basierte Positionsbestimmungssysteme (WPS) nutzen die schnelle Ausbreitung von drahtlosen Zugangspunkten in den letzten zehn bis fünfzehn Jahren. Im Allgemeinen beruht die WiFi-basierte Positionsbestimmung auf drahtlosen Zugangspunkten, der Stärke des empfangenen Signals und einem Fingerprinting-Verfahren. Das Fingerprinting bedingt im Allgemeinen einen Prozess zum Erheben von Informationen, der die Service-Set-Kennung (SSID), eine Media Access Control-(MAC)Adresse und den räumlichen Standort der Zugangspunkte aufzeichnet. Dieses Fingerprinting erfolgt über einen längeren Zeitraum für eine äußerst große Anzahl von Zugangspunkten. Die Informationen jedes Zugangspunktes werden dann in einer Datenbank aufgezeichnet und gespeichert, die dann indiziert und durchsucht werden kann, so dass Übereinstimmungen bestimmt werden können. Somit kann ein Gerät seinen Standort basierend auf dem zuvor bekannten räumlichen Standort der Zugangspunkte kennen.
-
Um jedoch eine zuverlässige Datenbank mit Netzwerkzugangspunkten zu erstellen, wird ein erhebliches Ausmaß an Datenerhebung benötigt. Auf Grund der schieren Größe dieses Unterfangens verfügen nur einige wenige Unternehmen über zuverlässige Datenbanken auf dem neuesten Stand. Dies ermöglicht es diesen wenigen Unternehmen, diesen Dienst teuer zu verkaufen. Derzeit können sich Geräte selber geolokalisieren, indem sie diese Drittanbieterdienste (z.B. von Google oder Microsoft) verwenden. Die Geräte können dem Drittanbieterdienst Beacon-Daten bereitstellen und dafür einen Standort empfangen, der zuvor von dem Drittanbieterdienst trianguliert wurde. Diese Drittanbieterdienste können für jede Anfrage kostspielig sein, wodurch die Kosten im Verlauf der Zeit schnell ansteigen. Oft kann es sein, dass ein Benutzer dieselbe kleine Gruppe von Standorten wiederholt aufsucht. Somit wird eine Lösung benötigt, um das Problem zu beheben, dass ein Gerät mehrere Geolokalisierungsanfragen für den gleichen Standort benötigt und die Kosten in die Höhe treibt.
-
Für Geräte, die eine Geolokalisierung benötigen, jedoch keine Satellitenfähigkeiten aufweisen, besteht die herkömmliche Lösung darin, eine Position aus den Beacon-Informationen zu triangulieren. Dies erfordert eine erschöpfende Datenbank mit den Positionen von drahtlosen Zugangspunkten, wie etwa WiFi und Mobilfunkmasten. Wie zuvor erwähnt, kann die Erhebung dieser Daten Millionen von Geräten und eine jahrelange Erhebung benötigen. Somit kann es für jedes Unternehmen oder jede Person, das bzw. die diese Informationen erwünscht, zu aufwendig werden, einen ähnlichen Dienst zu verwenden.
-
Der technische Aspekt weist Probleme für diejenigen auf, die diese Informationen für standortbasierte Dienste verwenden möchten. Entsprechend stellt eine Ausführungsform ein Verfahren bereit, um von einem Benutzergerät eine Liste aller verfügbaren drahtlosen Signale in dem detektierbaren Bereich zu empfangen. Diese Signale werden dann mit einer Datenbank verglichen. Falls die Liste von drahtlosen Signalen in der Datenbank vorhanden ist, wird der zuvor aufgezeichnete Standort zugewiesen, wodurch die standortbasierten Dienste richtig funktionieren können. Für den Fall, dass der Standort unter Verwendung der Datenbank nicht bestimmt werden kann, wird eine Anfrage jedoch an einen der großen Drittanbieterdienste gesendet, um den Gerätestandort zu bestimmen. Sobald dieser Standort bestimmt wurde, wird er dann für die standortbasierten Dienste verwendet und in der Datenbank aufgezeichnet. Durch diesen Prozess ist der Benutzer nicht gezwungen, bei nachfolgenden Besuchen an dem Standort für den Drittanbieterdienst zu zahlen.
-
Die abgebildeten Ausführungsbeispiele werden am besten mit Bezug auf die Figuren verständlich. Die nachstehende Beschreibung ist dazu gedacht, rein beispielhaft zu sein und bildet nur gewisse Ausführungsbeispiele ab.
-
Obwohl diverse andere Schaltkreise, Schaltungen oder Bauteile in Informationshandhabungsgeräten verwendet werden können, umfasst mit Bezug auf die Schaltungen 100 eines Smartphones und/oder Tablets ein in 1 abgebildetes Beispiel ein System-on-Chip Design, welches beispielsweise bei Tablets oder in anderen mobilen Computerplattformen vorzufinden ist. Die Software und der oder die Prozessoren sind in einem einzigen Chip 110 kombiniert. Die Prozessoren umfassen interne arithmetische Einheiten, Register, Zwischenspeicher, Busse, E/A-Anschlüsse usw., wie es in der Technik wohlbekannt ist. Interne Busse und dergleichen sind von verschiedenen Herstellern abhängig, doch im Wesentlichen können alle Peripheriegeräte (120) an einem einzigen Chip 110 angebracht werden. Die Schaltungen 100 kombinieren den Prozessor, die Speichersteuerung und den E/A-Steuerknoten alle zusammen in einen einzigen Chip 110. Derartige Systeme 100 verwenden typischerweise auch kein SATA oder PCI oder LPC. Übliche Schnittstellen umfassen beispielsweise SDIO und I2C.
-
Es gibt Stromverwaltungschips 130, z.B. eine Batterieverwaltungseinheit, BMU, die den Strom verwalten, wie er beispielsweise über eine aufladbare Batterie 140 zugeführt wird, die durch Anschließen an eine Stromquelle (nicht gezeigt) aufgeladen werden kann. Bei mindestens einer Bauform wird ein einziger Chip, wie etwa 110, verwendet, um eine BIOS-artige Funktionalität und einen DRAM-Speicher bereitzustellen.
-
Das System 100 umfasst typischerweise einen oder mehrere von einem WWAN-Transceiver 150 und einem WLAN-Transceiver 160 zum Anschließen an diverse Netzwerke, wie etwa Telekommunikationsnetzwerke und drahtlose Internet-Geräten, z.B. Zugangspunkten. Zusätzlich sind für gewöhnlich Geräte 120 enthalten, z.B. ein Bildsensor, wie etwa eine Kamera. Das System 100 umfasst häufig einen Berührungsbildschirm 170 zur Dateneingabe und Anzeige/Wiedergabe. Das System 100 umfasst typischerweise diverse Speichergeräte, beispielsweise einen Flash-Speicher 180 und einen SDRAM 190.
-
2 bildet ein Blockdiagramm eines anderen Beispiels der Schaltkreise, Schaltungen oder Bauteile eines Informationshandhabungsgerätes ab. Das in 2 abgebildete Beispiel kann Computersystemen, wie etwa der THINKPAD-Reihe von PCs, die von Lenovo (US) Inc. aus Morrisville, NC, verkauft wird, oder anderen Geräten entsprechen. Wie es aus der vorliegenden Beschreibung hervorgeht, können die Ausführungsformen andere Merkmale oder nur einige der Merkmale des in 2 abgebildeten Beispiels umfassen.
-
Das Beispiel aus 2 umfasst einen so genannten Chipsatz 210 (eine Gruppe integrierter Schaltungen bzw. Chips, die zusammenarbeiten, Chipsätze) mit einer Architektur, die je nach Hersteller (beispielsweise INTEL, AMD, ARM usw.) unterschiedlich sein kann. INTEL ist ein eingetragenes Warenzeichen von Intel Corporation in den Vereinigten Staaten und anderen Ländern. AMD ist ein eingetragenes Warenzeichen von Advanced Micro Devices, Inc. in den Vereinigten Staaten und anderen Ländern. ARM ist ein nicht eingetragenes Warenzeichen von ARM Holdings plc in den Vereinigten Staaten und anderen Ländern. Die Architektur des Chipsatzes 210 umfasst eine Kern- und Speichersteuerungsgruppe 220 und einen E/A-Steuerknoten 250, der Informationen (beispielsweise Daten, Signale, Befehle usw.) über eine Direct Management Interface (DMI) 242 oder einen Link-Controller 244 austauscht. In 2 ist die DMI 242 eine Chip-zu-Chip-Schnittstelle (gelegentlich auch als Verknüpfung zwischen einer „Northbridge” und einer „Southbridge” bezeichnet). Die Kern- und Speichersteuerungsgruppe 220 umfasst einen oder mehrere Prozessoren 222 (beispielsweise Einzel- oder Mehrkern) und einen Speicher-Steuerknoten 226, die Informationen über einen Front Side Bus (FSB) 224 austauschen; es sei zu beachten, dass die Bauteile der Gruppe 220 in einen Chip integriert sein können, der die herkömmliche „Northbridge-” Architektur ersetzt. Ein oder mehrere Prozessoren 222 umfassen interne arithmetische Einheiten, Register, Zwischenspeicher, Busse, E/A-Anschlüsse usw., wie es in der Technik wohlbekannt ist.
-
In 2 bildet der Speicher-Steuerknoten 226 eine Schnittstelle mit dem Speicher 240 (um beispielsweise eine Unterstützung für eine Art von RAM bereitzustellen, die man als „Systemspeicher” oder „Speicher” bezeichnen kann). Der Speicher-Steuerknoten 226 umfasst ferner eine Niederspannungs-Differenzialsignalisierung-(LVDS)Schnittstelle 232 für ein Anzeigegerät 292 (z.B. einen CRT, einen Flachbildschirm, einen Berührungsbildschirm usw.). Ein Block 238 umfasst eine gewisse Technik, die über die LVDS-Schnittstelle 232 unterstützt werden kann (z.B. serielles digitales Video, HDMI/DVI, DisplayPort). Der Speicher-Steuerknoten 226 umfasst auch eine PCI-Express-Schnittstelle (PCI-E) 234, die diskrete Grafik 236 unterstützen kann.
-
In 2 umfasst der E/A-Steuerknoten 250 eine SATA-Schnittstelle 251 (beispielsweise für HDDs, SDDs, 280 usw.), eine PCI-E-Schnittstelle 252 (beispielsweise für drahtlose Verbindungen 282), eine USB-Schnittstelle 253 (beispielsweise für Geräte 284, wie etwa einen Digitalisierer, eine Tastatur, Mäuse, Kameras, Telefone, Mikrofone, Speichermittel, andere angeschlossene Geräte usw.), eine Netzwerkschnittstelle 254 (beispielsweise LAN), eine GPIO-Schnittstelle 255, eine LPC-Schnittstelle 270 (für ASICs 271, einen TPM 272, einen Super-E/A 273, einen Firmware-Hub 274, eine BIOS-Unterstützung 275 sowie diverse Arten von Speichern 276, wie etwa ROM 277, Flash 278 und NVRAM 279), eine Stromverwaltungsschnittstelle 261, eine Taktgeberschnittstelle 262, eine Audioschnittstelle 263 (beispielsweise für die Lautsprecher 294), eine TCO-Schnittstelle 264, eine Systemverwaltungsbus-Schnittstelle 265 und SPI-Flash 266, die ein BIOS 268 und Boot-Code 290 umfassen können. Der E/A-Steuerknoten 250 kann Gigabit-Ethernet-Unterstützung umfassen.
-
Beim Einschalten kann das System konfiguriert sein, um den Boot-Code 290 für das BIOS 268 auszuführen, der in dem SPI-Flash 266 gespeichert ist, und verarbeitet anschließend Daten unter der Kontrolle von einem oder mehreren Betriebssystemen und Anwendungs-Software (beispielsweise im Systemspeicher 240 gespeichert). Ein Betriebssystem kann an einer beliebigen von diversen Stellen gespeichert sein und kann beispielsweise gemäß den Anweisungen des BIOS 268 zugänglich sein. Wie hierin beschrieben, kann ein Gerät eine geringere oder größere Anzahl von Merkmalen umfassen als in dem System aus 2 gezeigt.
-
Schaltungen von Informationshandhabungsgeräten, wie beispielsweise in 1 oder 2 angesprochen, können bei Geräten, wie etwa Tablets, Smartphones, persönlichen Computergeräten allgemein und/oder elektronischen Geräten, welche die Benutzer den ganzen Tag mitnehmen und die standortbasierte Dienste benötigen können, verwendet werden. Beispielsweise können die in 1 angesprochenen Schaltungen in einer Tablet- oder Smartphone-Ausführungsform umgesetzt werden, wohingegen die in 2 angesprochenen Schaltungen in einer PC-Ausführungsform umgesetzt werden können.
-
Nun mit Bezug auf 3 empfängt eine Ausführungsform bei 310 eine Liste von einem oder mehreren drahtlosen Signalen. Die drahtlosen Signale könnten eine beliebige Art von drahtlosem Signal sein (z.B. WiFi, Bluetooth, Mobilfunk usw.). Eine Ausführungsform kann sich direkt an einen drahtlosen Zugangspunkt anschließen oder nicht, um in der Liste enthalten zu sein. Die empfangene Liste kann die SSID des drahtlosen Signals, eine MAC-Adresse des drahtlosen Zugangspunktes, ob das drahtlose Signal verschlüsselt ist oder nicht, den räumlichen Standort des Zugangspunktes und beliebige andere erwünschte Informationen umfassen, die festgestellt werden können.
-
Sobald eine ganze Liste von jedem verfügbaren Signal erstellt wurde, wird die Liste mit einer Datenbank verglichen, die jede vorhergehende Liste enthält, die bei 320 abgefragt wurde. Die Datenbank selber wird durch einen Erhebungsprozess generiert, jedes Mal, wenn ein oder mehrere Benutzer einen Standort besuchen. Bei einer Ausführungsform kann die Datenbank gerätespezifisch (z.B. werden nur Standorte gespeichert, die zuvor von dem Gerät geolokalisiert wurden) oder mehrere Geräte übergreifend sein. Zudem kann eine Ausführungsform die Datenbank lokal auf dem Gerät oder entfernt (z.B. in einem Cloud-basierten Dienst) speichern. Bei einer Ausführungsform, bei der die Datenbank entfernt gespeichert ist, könnte eine Benutzergemeinschaft zu der Datenbank beitragen. Diese Fähigkeit zur Schwarmauslagerung würde es ermöglichen, dass die Datenbank schneller wächst, und würde es einem Benutzer ermöglichen, einen Standort aufzusuchen, den er zuvor noch nicht besucht hatte, und dennoch seine Standortdaten zu erzielen (z.B. wenn ein anderes Mitglied der Gemeinschaft bereits ein Gerät geolokalisiert und eine Liste der drahtlosen Signale in der Nähe gespeichert hat).
-
Sobald die Liste der drahtlosen Signale bei 310 empfangen wurde und ein Vergleich mit der Datenbank bei 320 vorgenommen wurde, wird bei 330 bestimmt, ob die Liste der drahtlosen Signale in der Datenbank vorliegt oder nicht. Dies erfolgt durch eine statistische Analyse der drahtlosen Signale, die sowohl in der Liste als auch in der Datenbank enthalten sind. Diverse Eigenschaften der drahtlosen Signale (z.B. Eintragsüberlappung, Signalstärke, statistische Schwelle usw.) werden auf eventuelle gemeinsame Einträge innerhalb der Datenbank analysiert. Beispielsweise bringen viele drahtlose Zugangspunkte eine standardmäßige SSID-Eigenschaft mit. Somit kann es sein, dass viele drahtlose Zugangspunkte eine ähnliche SSID aufweisen, was mögliche Probleme innerhalb des Datenbankvergleichs verursachen kann. Die Verwendung von MAC-Adressen für die zusätzlichen Eigenschaften, wie etwa die zuvor erwähnten, ermöglicht es, die drahtlosen Signale zu unterscheiden.
-
In dem Maße wie neue drahtlose Zugangspunkte zugeschaltet werden und ältere Zugangspunkte stillgelegt oder umbenannt werden, kann es schwierig werden, eine identische Übereinstimmung mit Bezug auf einen zuvor besuchten Bereich zu erhalten. Das Ausfallen eines einzigen Zugangspunktes, der in der Liste enthalten sein soll, darf jedoch nicht zu einer Bestimmung führen, dass keine Übereinstimmung vorhanden ist. Somit ermöglicht eine statistische Analyse eine erfolgreiche Übereinstimmung, falls ein Teil der Zugangspunkte verfügbar bleibt.
-
Damit die statistische Analyse der Eigenschaften wirksam ist, kann eine Ausführungsform eine Mindestanzahl von verfügbaren Zugangspunkten erfordern. Diese vorbestimmte Schwelle einer Anzahl von n Geräten (die beispielsweise erfordert, dass die Liste mindestens drei drahtlose Zugangspunkte enthält) kann durch eine Hersteller- oder Benutzereinstellung bestimmt werden. Die Einstellung kann auf dem lokalen Gerät oder in einem Cloud-Dienst gespeichert sein, ähnlich wie die Datenbankspeicherung. Zusätzlich zu einer Mindestschwelle kann eine Ausführungsform in der Lage sein, den Gerätestandort mit höherer Genauigkeit basierend auf einer Erhöhung der Anzahl verfügbarer drahtloser Signale zu bestimmen (d.h. je mehr drahtlose Signale in einem Bereich verfügbar sind, desto präziser ist die Geolokalisierung). Falls bei 330 eine Bestimmung erfolgt, dass die Liste der
-
drahtlosen Signale nicht in der Datenbank verfügbar ist, kann eine Ausführungsform bei 350 Zugang zu einem Drittanbieterdienst anfragen. Wie zuvor besprochen, hat es eine kleine Gruppe von Unternehmen geschafft, riesige Mengen von Informationen über drahtlose Signalzugangspunkte zu erheben und zu pflegen. Einige der Unternehmen öffnen ihre Datenbank für die Öffentlichkeit, doch einige der größten und robustesten befinden sich im Rahmen eines zahlungspflichtigen Dienstes. Falls somit ein anderes Unternehmen oder eine Person auf eine dieser robusten Datenbanken Bezug nehmen muss, wird von der Entität, welche die Datenbank pflegt, eine Gebühr erhoben.
-
Sobald der Drittanbieterdienst bei 350 eine Bestimmung des Gerätestandorts bereitgestellt hat, werden die Informationen (z.B. SSID, MAC, Zugangspunkte des räumlichen Standorts usw.) bei 360 zur zukünftigen Bezugnahme in der Datenbank gespeichert. Falls beispielsweise ein Benutzer ein Café zum ersten Mal aufsucht, kann es sein, dass die Datenbank keines der verfügbaren drahtlosen Signale enthält. Somit müsste der Benutzer oder der Anwendungsdienst den Drittanbieterdienst für die Standortinformationen bezahlen. Wenn der Benutzer (oder ein Benutzer in der Gemeinschaft dieses Nutzers) jedoch dasselbe Café zu einem späteren Zeitpunkt besucht, enthält die Datenbank die Geolokalisierung sowie die korrelierenden drahtlosen Signale.
-
Falls somit bei einer Ausführungsform ein Benutzer einen Standort aufsucht, den er zuvor besucht hat, kann die Datenbank eine Geolokalisierung des Gerätes vornehmen. Wie zuvor erwähnt, können drahtlose Signale jedoch im Verlauf der Zeit erstellt, gelöscht oder geändert werden. Wenn somit bei 310 die Liste der drahtlosen Signale empfangen wird, kann es sein, dass sie nur aus einem Teil der zuvor bestimmten Liste besteht. Auf Grund der statistischen Analyse, die in dem Vergleichsschritt bei 320 ausgeführt wird, ist jedoch eine positive Identifizierung der Geolokalisierung innerhalb der Datenbank bei 330 immer noch möglich.
-
Folglich kann, nun, dass die Datenbank über die drahtlosen Signalinformationen verfügt, der Gerätestandort demnach allein basierend auf den Signalaufzeichnungen, die in der Datenbank vorliegen, bei 330 bestimmt werden. Dies ermöglicht es, dass der Gerätestandort bei 340 ohne die zusätzlichen Kosten der Drittanbieteranfrage bestimmt wird. Zusätzlich zum Melden des Gerätestandorts kann die aktuelle Datenbank mit eventuellen Änderungen der verfügbaren drahtlosen Signale aktualisiert werden. Falls beispielsweise ein neues drahtloses Signal an dem zuvor besuchten Café entdeckt wird, wird es ähnlich wie die vorhergehenden Signale (z.B. SSID, MAC, Zugangspunkte des räumlichen Standorts usw.) aufgezeichnet und zu der Datenbank hinzugefügt, so dass eventuelle nachfolgende Vergleiche so genau wie möglich sein können.
-
Entsprechend erkennt, wie durch die Ausführungsbeispiele und Figuren erläutert, eine Ausführungsform verfügbare drahtlose Signale in der Nähe eines Gerätes, kompiliert diese Signale in eine Liste und vergleicht diese Liste mit einer Datenbank, die alle zuvor aufgezeichneten drahtlosen Signale und ihre räumlichen Standorte umfasst. Falls eine Bestimmung erfolgt, dass die Liste der drahtlosen Signale in der Nähe unbekannt ist, wird eine Anfrage an einen Drittanbieterdienst gesendet, um Unterstützung bei der Bestimmung des Standorts des Gerätes anzufragen. Sobald der Standort bestimmt wurde, werden die drahtlosen Signale in der Datenbank zusammen mit dem vom Drittanbieter bestimmten Standort gespeichert, wodurch sichergestellt wird, dass zukünftige Besuche dieses Standorts den Drittanbieterdienst nicht benötigen.
-
Die hierin beschriebenen diversen Ausführungsformen stellen somit eine technische Verbesserung für das aktuelle Verfahren des ständigen Bezahlens für den Drittanbieterdienst dar. Nachdem die drahtlosen Signale mit der Geolokalisierung in der Datenbank verknüpft wurden, ermöglichen nachfolgende Besuche des Standorts zusätzlich die ständige Aktualisierung der Datenbank. Dies stellt ein hohes Niveau an Genauigkeit sicher und reduziert die Kosten, die mit dem Drittanbieterdienst verknüpft sind, wobei Dienste, die auf dem Standort der Anwendung basieren, weiterhin richtig funktionieren können.
-
Wie es der Fachmann verstehen wird, können diverse Aspekte als System, Verfahren oder Geräteprogrammprodukt ausgebildet sein. Entsprechend können Aspekte die Form einer Ausführungsform ganz aus Hardware oder einer Ausführungsform mit Software, die hier allgemein als „Schaltung”, „Modul” oder „System” bezeichnet wird, annehmen. Ferner können Aspekte die Form eines Geräteprogrammprodukts annehmen, das als ein oder mehrere gerätelesbare Medien ausgebildet ist, in denen gerätelesbarer Programmcode ausgebildet ist.
-
Es sei zu beachten, dass die hier beschriebenen diversen Funktionen unter Verwendung von Anweisungen umgesetzt werden können, die auf einem gerätelesbaren Speichermedium, wie etwa einem Nicht-Signalspeichergerät, gespeichert sind und von einem Prozessor ausgeführt werden. Ein Speichergerät kann beispielsweise ein elektronisches, magnetisches, optisches, elektromagnetisches, infrarotes oder Halbleiter-System, -Vorrichtung oder -Gerät oder eine geeignete Kombination derselben sein. Genauere Beispiele des Speichergerätes würden Folgendes umfassen: eine tragbare Computerdiskette, eine Festplatte, einen Arbeitsspeicher (RAM), einen Festspeicher (ROM), einen löschbaren programmierbaren Arbeitsspeicher (EPROM oder Flash-Speicher), eine Lichtleitfaser, einen tragbaren Compact Disk Festwertspeicher (CD-ROM), ein optisches Speichergerät, ein magnetisches Speichergerät oder eine beliebige geeignete Kombination derselben. In Zusammenhang mit der vorliegenden Druckschrift ist ein Speichergerät kein Signal, und der Begriff „nicht vorübergehend” umfasst alle Medien außer Signalmedien.
-
Programmcode, der auf einem Speichermedium ausgebildet ist, kann unter Verwendung eines beliebigen geeigneten Mediums, einschließlich ohne Einschränkung drahtlos, drahtgebunden, Glasfaserkabel, HF usw. oder eine beliebige geeignete Kombination derselben übertragen werden.
-
Programmcode zum Ausführen von Operationen kann in einer Kombination von einer oder mehreren Programmiersprachen verfasst sein. Der Programmcode kann vollständig auf einem einzigen Gerät, teilweise auf einem einzigen Gerät, als selbstständiges Software-Paket, teilweise auf einem einzigen Gerät und teilweise auf einem anderen Gerät oder vollständig auf dem anderen Gerät ausgeführt werden. In manchen Fällen können die Geräte über eine beliebige Art von Verbindung oder Netzwerk verbunden werden, wozu ein lokales Netzwerk (LAN) oder ein Weitverkehrsnetz (WAN) gehören, oder kann die Verbindung über andere Geräte (beispielsweise über das Internet unter Verwendung eines Internet-Providers), über drahtlose Verbindungen, z.B. Nahfeldkommunikation, oder über eine verkabelte Verbindung, wie etwa über eine USB-Verbindung hergestellt werden.
-
Es werden hier Ausführungsbeispiele mit Bezug auf die Figuren beschrieben, die beispielhafte Verfahren, Geräte und Programmprodukte gemäß diversen Ausführungsbeispielen abbilden. Es versteht sich, dass die Aktionen und die Funktionalität mindestens teilweise durch Programmanweisungen umgesetzt werden können. Diese Programmanweisungen können einem Prozessor eines Gerätes, eines speziellen Informationshandhabungsgerätes oder eines anderen programmierbaren Datenverarbeitungsgerätes bereitgestellt werden, um eine Maschine zu ergeben, so dass die Anweisungen, die über einen Prozessor des Gerätes ausgeführt werden, die vorgegebenen Funktionen/Aktionen umsetzen.
-
Es sei zu beachten, dass obwohl spezifische Blöcke in den Figuren verwendet werden und eine bestimmte Reihenfolge von Blöcken abgebildet wurde, diese keine einschränkenden Beispiele sind. In bestimmten Zusammenhängen können zwei oder mehrere Blöcke kombiniert werden, ein kann Block in zwei oder mehrere Blöcke unterteilt werden, oder bestimmte Blöcke können je nach Bedarf umgeordnet oder umgestellt werden, da die ausdrücklich abgebildeten Beispiele nur zur Beschreibung verwendet werden und nicht als einschränkend auszulegen sind.
-
Wie sie hierin verwendet wird, kann die Singularform „ein” als die Pluralform „ein oder mehrere” umfassend ausgelegt werden, soweit nicht eindeutig anderweitig angegeben.
-
Die vorliegende Offenbarung wurde zum Zweck der Erläuterung und Beschreibung vorgelegt, ist aber nicht dazu gedacht, erschöpfend oder einschränkend zu sein. Zahlreiche Modifikationen und Variationen werden für den Fachmann ersichtlich sein. Die Ausführungsbeispiele wurden gewählt und beschrieben, um die Grundlagen und die praktische Anwendung zu erklären, und um es anderen Fachleuten zu ermöglichen, die Offenbarung für diverse Ausführungsformen mit diversen Modifikationen zu verstehen, wie sie für die bestimmte beabsichtigte Verwendung geeignet sind.
-
Obwohl somit hier erläuternde Ausführungsbeispiele mit Bezug auf die beiliegenden Figuren beschrieben wurden, versteht es sich, dass diese Beschreibung nicht einschränkend ist und dass diverse andere Änderungen und Modifikationen hier vom Fachmann vorgenommen werden können, ohne den Umfang oder Geist der Offenbarung zu verlassen.