-
VERWEIS
-
Unter Schutz gestellt werden und Gegenstand des Gebrauchsmusters sind, 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 DER ERFINDUNG
-
1. Anwendungsbereich der Erfindung
-
Die vorliegende Erfindung betrifft im Allgemeinen standortbasierte Dienste und Anwendungen für Benutzer von mobilen und Desktopgeräten. Genauer ausgedrückt betrifft die vorliegende Erfindung die Verfeinerung von Standorten oder Positionen von benutzerspezifischen Informationen.
-
2. Beschreibung des Stands der Technik
-
Standortbasierte Dienste und Anwendungen werden mit wachsender Anzahl und Arten von tragbaren elektronischen Geräten immer beliebter. Geräte wie z. B. Mobiltelefone, PDAs und Laptop-/Palmtop-Computer können im Innenraum und im Freien an einem Standort oder beim Laufen verwendet werden. Der ungefähre Standort des Geräts des Benutzers oder ein interessierender Ort kann mit einer Anzahl unterschiedlicher Technologien gefunden werden. Eine solche Technologie ist ein satellitenbasierter Standort unter Verwendung des globalen Positionsbestimmungssystems („GPS”). Eine andere Standorttechnologie verwendet Triangulation unter vielen Mobilfunkmasten zum Schätzen der Position des Geräts. Eine weitere Ortungstechnologie ist das IP-Geocoding. In dieser Technik kann die IP-Adresse eines Geräts einem physischen Standort eines Geräts zugeordnet werden.
-
Unglücklicherweise weisen vorhandene Standorttechnologien begrenzte Genauigkeit auf. Beispielsweise können Mobilfunkmastentriangulation und IP-Geocoding eine sehr grobe Standortschätzung bereitstellen. In Abhängigkeit von Signalstärke, Mastposition, Störungen und anderen Faktoren können Triangulationsfehler in der Größenordnung von Hunderten von Fuß oder sogar Meilen liegen. IP-Geocoding kann sogar noch unzuverlässiger sein, wobei Fehler von Hunderten von Meilen möglich sind. Selbst GPS, das auf 10–20 Fuß oder mehr genauer sein kann, ist in Innenraumumgebungen, wie z. B. Einkaufszentren, Bürogebäuden, U-Bahnen und dergleichen möglicherweise nicht verwendbar.
-
Aspekte der vorliegenden Erfindung gehen diese und andere Probleme an, um verfeinerte oder verbesserte Positionierungsinformationen basierend auf benutzerspezifischen Informationen bereitzustellen.
-
KURZDARSTELLUNG DER ERFINDUNG
-
In Übereinstimmung mit einer Ausführungsform umfasst ein Verfahren zum Verfeinern von physischen Standortinformationen für einen interessierenden Ort Analysieren von mindestens einer elektronischen Datenbank, die Informationen über einen ausgewählten Benutzer enthält um zu bestimmen, ob die mindestens eine elektronische Datenbank geografische Informationen beinhaltet; Extrahieren eines Ergebnissatzes von der mindestens einen elektronischen Datenbank, wobei der Ergebnissatz die geografischen Informationen beinhaltet; Ausführen von Geopunktextraktion auf dem Ergebnissatz zum Erhalten spezifischer Informationen für jedes Element von geografischen Informationen in dem Ergebnissatz; Konstruieren eines räumlichen Index, der die spezifischen physischen Standort- und Zeitinformationen für einen oder mehrere von den spezifischen Standorten enthält; Erzeugen von mindestens einem Wärmebild, das die ausgewählten von den physischen Standorten basierend auf den Zeitinformationen enthält.
-
In einem Beispiel umfasst das Verfahren weiterhin die Einstufung von Ergebnissen in den räumlichen Index zum Angeben eines Vertrauens in die spezifischen physischen Standorte. In diesem Fall kann das Vertrauen durch Genauigkeit der Geopunktextraktion bestimmt werden. Alternativ können die Zeitinformationen mindestens eine von einer Zeit angeben, bei der ein Ereignis eintrat und einer Zeit, bei der die ausgewählten Informationen über das Ereignis abliefen. Hierbei können unterschiedliche Wärmebilder unterschiedliche von den ausgewählten spezifischen physischen Standorten basierend auf den eingestuften Ergebnissen in dem räumlichen Index anzeigen, und das Verfahren kann weiterhin Präsentieren von mindestens einem von den Wärmebildern auf einer Anzeigevorrichtung umfassen.
-
In einer weiteren Ausführungsform umfasst ein Verarbeitungssystem zum Verarbeiten von geografischen Informationen mindestens einen Prozessor, ein mit dem mindestens einen Prozessor verbundenes Geostandortmodul und Speicher zum Speichern von Daten. Der Speicher ist mit dem mindestens einen Prozessor elektrisch gekoppelt. Das Geostandortmodul ist zum Analysieren von mindestens einer elektronischen Datenbank konfiguriert, die Informationen über einen ausgewählten Benutzer enthält, um zu bestimmen, ob die mindestens eine elektronische Datenbank geografische Informationen beinhaltet, um einen Ergebnissatz von der mindestens einen elektronischen Datenbank zu extrahieren (wobei der Ergebnissatz die geografischen Informationen beinhaltet), um Geopunktextraktion auf dem Ergebnissatz auszuführen, um spezifische physische Standorte für jedes Element von geografischen Informationen in dem Ergebnissatz zu erhalten, um einen räumlichen Index zu konstruieren, der die spezifischen physischen Standorte und Zeitinformationen für einen oder mehrere der spezifischen physischen Standorte enthält, zum Speichern des räumlichen Index in dem Speicher des Verarbeitungssystems, und zum Erzeugen von mindestens einem Wärmebild, das ausgewählte von den spezifischen physischen Standorten basierend auf den Zeitinformationen beinhaltet.
-
In einem Beispiel ist das Geostandortmodul weiterhin zum Übertragen des mindestens einen Wärmebildes zu einem autorisierten Benutzer zur Darstellung auf einer Anzeige eines Benutzergeräts konfiguriert. In einem weiteren Beispiel beinhaltet das Geostandortmodul einen geschützten Datenabrufer zum Kommunizieren mit der mindestens einen elektronischen Datenbank. Der geschützte Datenabrufer ist zum Durchsuchen der mindestens einen elektronischen Datenbank nach geografischen Daten konfiguriert, die in Webseiten und Suchverläufen enthalten sind.
-
In einem weiteren Beispiel entsprechen die in dem räumlichen Index aufrechterhaltenen spezifischen physischen Standorte Breitengrad- und Längengradkoordinaten von physischen Adressen. Und in einem weiteren Beispiel stellt jedes Wärmebild die ausgewählten von den spezifischen physischen Standorten als eingestufte interessierende Punkte basierend auf den Zeitinformationen dar.
-
In Übereinstimmung mit einer weiteren Ausführungsform umfasst ein Verfahren zum Verfeinern einer Standortschätzung das Schätzen eines aktuellen Standortes des Benutzers; Vergleichen des geschätzten aktuellen Standortes mit einem oder mehreren Wärmebildern, die spezifische physische Standorte in einem zuvor festgelegten geografischen Bereich identifizieren, wobei das eine oder die mehreren Wärmebilder Zeitinformationen in Zusammenhang mit einem oder mehreren der spezifischen physischen Standorte in Zusammenhang mit dem Benutzer enthalten, wobei jedes Wärmebild von mindestens einer elektronischen Datenbank abgeleitet ist, die Informationen über den Benutzer enthält; Bestimmen eines Satzes von relevanten passenden Adressen von einem ausgewählten der Wärmebilder; Analysieren des Satzes von relevanten passenden Adressen des ausgewählten Wärmebildes, die sich innerhalb eines voreingestellten Abstands von dem geschätzten aktuellen Standort befinden; Bestimmen, ob eine gegebene der passenden Adressen einen genaueren Standort als den geschätzten aktuellen Standort bereitstellt; und wenn die gegebene von den relevanten passenden Adressen einen genaueren Standort als den geschätzten aktuellen Standort bereitstellt, Auswahl der gegebenen Adresse als eine verfeinerte Position des Benutzers.
-
In einem Beispiel wird der aktuelle Standort des Benutzers von historischen Benutzerinformationen geschätzt, die in der mindestens einen elektronischen Datenbank gespeichert sind. In einem anderen Beispiel wird mindestens eine von den relevanten passenden Adressen basierend auf einer Häufigkeitseinstufung ausgewählt, die darstellt, wie oft die mindestens eine relevante passende Adresse in der mindestens einen elektronischen Datenbank erscheint. In einem weiteren Beispiel wird mindestens eine von den relevanten passenden Adressen basierend auf einer Rechtzeitigkeitseinstufung ausgewählt, die darstellt, wie oft die mindestens eine relevante passende Adresse in der mindestens einen elektronischen Datenbank erscheint.
-
In einer weiteren Ausführungsform umfasst ein Standortschätzungssystem einen Prozessor; ein Geostandortmodul, das mit dem mindestens einen Prozessor zum Ausführen von Vorgängen verbunden ist; und Speicher zum Speichern von Daten, wobei der Speicher elektrisch mit dem Prozessor gekoppelt ist. Das Geostandortmodul ist zum Schätzen eines aktuellen Standortes des Benutzers; Vergleichen des geschätzten aktuellen Standortes mit einem oder mehreren Wärmebildern, die spezifische physische Standorte in einem zuvor festgelegten geografischen Bereich identifizieren, wobei das eine oder die mehreren Wärmebilder Zeitinformationen in Zusammenhang mit einem oder mehreren der spezifischen physischen Standorte in Zusammenhang mit dem Benutzer enthalten, wobei jedes Wärmebild von mindestens einer elektronischen Datenbank abgeleitet ist, die Informationen über den Benutzer enthält; Bestimmen eines Satzes von relevanten passenden Adressen von einem ausgewählten der Wärmebilder; Analysieren des Satzes von relevanten passenden Adressen des ausgewählten Wärmebildes, die sich innerhalb eines voreingestellten Abstands von dem geschätzten aktuellen Standort befinden; Bestimmen, ob eine gegebene der passenden Adressen einen genaueren Standort als den geschätzten aktuellen Standort bereitstellt; und wenn die gegebene von den relevanten passenden Adressen einen genaueren Standort als den geschätzten aktuellen Standort bereitstellt, Auswahl der gegebenen Adresse als eine verfeinerte Position des Benutzers, konfiguriert.
-
In einem Beispiel ist der Prozessor zum Vorabrufen von Daten in Zusammenhang mit dem geschätzten aktuellen Standort des Benutzers von einer entfernten Datenbank, und zum Speichern der vorabgerufenen Daten in dem Speicher konfiguriert. In diesem Fall kann der Prozessor betreibbar sein, um die verfeinerte Position in dem ausgewählten Wärmebild auf einer Anzeigevorrichtung darzustellen. In einem weiteren Beispiel wird mindestens eine von den relevanten passenden Adressen basierend auf einer Häufigkeitseinstufung ausgewählt, die darstellt, wie oft die mindestens eine relevante passende Adresse in der mindestens einen elektronischen Datenbank erscheint. Und in einem weiteren Beispiel wird mindestens eine von den relevanten passenden Adressen basierend auf einer Rechtzeitigkeitseinstufung ausgewählt, die darstellt, wie oft die mindestens eine relevante passende Adresse an einem gegebenen Zeitpunkt in der mindestens einen elektronischen Datenbank erscheint.
-
KURZBESCHREIBUNG DER ZEICHNUNGEN
-
1A–B veranschaulichen eine Computernetzwerkarchitektur in Übereinstimmung mit Aspekten der vorliegenden Erfindung.
-
2 veranschaulicht eine Benutzergerätarchitektur in Übereinstimmung mit Aspekten der vorliegenden Erfindung.
-
3 ist ein Ablaufdiagramm einer Standortaugmentationsanwendung in Übereinstimmung mit Aspekten der vorliegenden Erfindung.
-
4 veranschaulicht einen Vorgang eines Geostandortmoduls in Übereinstimmung mit Aspekten der vorliegenden Erfindung.
-
5 ist ein Ablaufdiagramm einer Standortverfeinerungsanwendung in Übereinstimmung mit Aspekten der vorliegenden Erfindung.
-
6 veranschaulicht einen zusätzlichen Vorgang eines Geostandortmoduls in Übereinstimmung mit Aspekten der vorliegenden Erfindung.
-
AUSFÜHRLICHE BESCHREIBUNG
-
Die Aspekte, Merkmale und Vorteile der vorliegenden Offenbarung werden gewürdigt, wenn sie unter Bezugnahme auf die folgende Beschreibung der bevorzugten Ausführungsformen und begleitenden Figuren betrachtet werden. Dieselben Referenznummern in unterschiedlichen Zeichnungen können dieselben oder ähnliche Elemente identifizieren. Ferner ist die folgende Beschreibung nicht einschränkend, sondern der Umfang der Erfindung wird durch die beigefügten Ansprüche und Entsprechungen definiert.
-
In Übereinstimmung mit Aspekten der vorliegenden Erfindung werden Standortinformationen mit einer genauen Straßenadresse oder einem anderen spezifischen Standort gekoppelt/verbunden. Wie unten detaillierter erklärt werden wird, können geografische Informationen aus einer Anzahl von mit einem Benutzer verbundenen Quellen extrahiert werden. Diese beinhalten den Webbrowserverlauf des Benutzers, Suchverlauf, Adressbuch usw. Diese Informationen können in einer Anzahl von Arten zum Verbessern der Standortgenauigkeit verwendet werden.
-
Systeme und Verfahren werden zum Erzeugen eines zeitempfindlichen Wärmebildes von physischen Standorten von Interesse für einen gegebenen Benutzer verwendet. In einer Ausführungsform werden physische Standorte zum genaueren Schätzen des Standorts des Benutzers verwendet. Beispielsweise wird eine gröbere Mobilfunkmasttriangulation angesichts der Heimatadresse des Benutzers verfeinert. In einer anderen Ausführungsform werden benutzerzugeordnete geografische Informationen zum Bereitstellen von verstärkten Details während eines Reverse Geocoding-Prozesses verwendet.
-
Indem wir uns nun 1 zuwenden, stellt diese Veranschaulichung ein schematisches Diagramm eines Computersystems dar, das unterschiedliche Computergeräte darstellt, die alleine oder in einer Netzwerkkonfiguration in Übereinstimmung mit Aspekten der vorliegenden Erfindung verwendet werden können. Beispielsweise veranschaulicht diese Figur ein Computernetzwerk 100, das eine Mehrzahl von Computern 102, 104, 106 und 108 sowie andere Arten von Geräten wie z. B. tragbare elektronische Geräte wie z. B. ein Mobiltelefon 110 und einen PDA 112 aufweist. Verschiedene Elemente im Computernetzwerk 100 können über eine lokale oder eine direkte Verbindung 114 miteinander verbunden sein und/oder können über ein Kommunikationsnetzwerk 116 wie ein lokales Netzwerk („LAN”), ein Weitverkehrsnetz („WAN”), das Internet usw. gekoppelt sein, das verkabelt oder drahtlos sein kann.
-
Jedes Computergerät kann zum Beispiel eines oder mehrere Computergeräte beinhalten, die Benutzereingaben wie z. B. eine Tastatur 118 und eine Maus 120 und/oder verschiedene andere Arten von Eingabegeräten wie Eingabestifte, Joysticks, Tasten, Touchscreens usw. sowie eine Anzeige 122 beinhalten, die zum Beispiel eine CRT, LCD, einen Plasmabildschirm-Monitor, ein TV-Gerät, einen Projektor usw. beinhalten könnten. Jeder Computer 102, 104, 106 und 108 kann ein Personalcomputer, ein Server usw. sein. Nur als Beispiel können Computer 102 und 106 Personalcomputer sein, während der Computer 104 ein Server, und Computer 108 ein Laptop/Palmtop sein kann. Wie in 1B dargestellt, enthält jeder Computer, wie z. B. Computer 102 und 104, einen Prozessor 124, Speicher 126 und andere Komponenten, die typischerweise in einem Computer vorhanden sind.
-
Der Speicher 126 speichert Informationen, die für den Prozessor 124 zugänglich sind, einschließlich Anweisungen 128, die vom Prozessor 124 ausführt werden können, und Daten 130, die durch den Prozessor abgerufen, manipuliert oder gespeichert werden können. Der Speicher kann jeder beliebige Typ sein, der vom Prozessor zugängliche Informationen speichern kann, wie Festplatten, ROM, RAM, DVD, CD-ROM, Flashspeicher, beschreibfähige und Nur-Lese-Speicher. Der Prozessor 324 kann jede beliebige Anzahl von gut bekannten Prozessoren umfassen, wie Prozessoren von Intel Corporation. Alternativ dazu kann der Prozessor ein speziell dafür vorgesehener Controller, wie etwa eine ASIC, sein.
-
Die Anweisungen 128 können jeden beliebigen Satz Anweisungen zur direkten (wie Maschinencode) oder indirekten (wie Scripts) Ausführung durch den Prozessor umfassen. In dieser Hinsicht können die Begriffe „Anweisungen”, „Schritte” und „Programme” hierin austauschbar verwendet werden. Die Anweisungen können in einer beliebigen Computersprache oder einem beliebigen Format gespeichert sein, zum Beispiel in Objektcode oder Modulen von Quellencode. Die Funktionen, Verfahren und Routinen der erfindungsgemäßen Anweisungen werden nachstehend eingehender erläutert.
-
Daten 130 können vom Prozessor 124 in Übereinstimmung mit den Anweisungen 128 abgerufen, gespeichert oder abgeändert werden. Die Daten können als Datensammlung gespeichert sein. Obwohl beispielsweise die Erfindung nicht durch eine bestimmte Datenstruktur eingeschränkt ist, können die Daten in Computerregistern, in einer relationalen Datenbank als Tabelle mit einer Vielzahl von verschiedenen Feldern und Aufzeichnungen, XML-Dokumenten oder Flachdateien gespeichert werden. Kartenbilddaten können in Flat Files wie dem KFF-Format (Keyhole Flat File) gespeichert werden.
-
Die Daten können auch in jedem beliebigen computerlesbaren Format wie z. B., jedoch nicht beschränkt auf Binärwerte, ASCII usw. formatiert sein. Auf ähnliche Weise können die Daten Bilder beinhalten, die in einer Vielfalt von Formaten, wie z. B. vektorbasierte Bilder oder Bitmusterbilder, unter Verwendung von verlustfreier (z. B. BMP) oder verlustbehafteter (z. B. JPEG) Codierung gespeichert werden können. Darüber hinaus können die Daten alle Informationen zur Kennzeichnung der relevanten Informationen umfassen, wie beschreibende Texte, proprietäre Codes, Zeiger, Verweise zu in anderen Speichern abgelegten Daten (einschließlich anderer Netzstandorte) oder Informationen, die von einer Funktion zur Berechnung der relevanten Daten genutzt werden.
-
Obwohl Prozessor 124 und Speicher 126 funktional in 1B dahingehend veranschaulicht sind, dass sie sich innerhalb desselben Blocks befinden, versteht sich, dass Prozessor und Speicher tatsächlich mehrere Prozessoren und Speicher umfassen können, die innerhalb desselben physischen Gehäuses oder Standorts untergebracht sein können oder nicht. Beispielsweise können einige oder alle der Anweisungen und Daten auf einer entfernbaren CD-ROM oder DVD gespeichert sein. Alternativ können solche Daten in einem schreibgeschützten Computer-Chip gespeichert sein. Einige oder alle Anweisungen und Daten können an einem Standort gespeichert werden, der physisch vom Prozessor entfernt ist, zu dem der Prozessor aber trotzdem Zugang hat. Desgleichen kann der Prozessor eine Reihe von Prozessoren umfassen, die parallel betrieben werden können oder nicht. Daten können verteilt, und über mehrere Speicher 126 wie z. B. Festplatten, Serverfarmen oder dergleichen gespeichert werden.
-
In einem Aspekt kommuniziert der Server 104 mit einem oder mehreren Client-Computern 102, 106 und/oder 108 sowie Geräten, wie z. B. Mobiltelefon 110 und PDA 112. Alle Client-Computer oder sonstigen Clientgeräte können wie der Server 104 mit einem Prozessor, Speicher und Anweisungen sowie einem oder mehreren Benutzereingabegeräten 118, 120 und einem Benutzerausgabegerät wie der Anzeigevorrichtung 122 konfiguriert sein. Jeder Client-Computer kann ein Allzweckcomputer sein, der zur Verwendung durch eine Person vorgesehen ist, der alle Komponenten aufweist, die normalerweise in einem Personalcomputer zu finden sind, wie z. B. eine Zentraleinheit („CPU”), Anzeige, CD-ROM- oder DVD-Laufwerk, Festplatte, Maus, Tastatur, berührungsempfindlicher Bildschirm, Lautsprecher, Mikrofon, Modem und/oder Router (Telefon, Kabel oder anders), und alle die Komponenten, die zum Verbinden dieser Element miteinander verwendet werden.
-
Der Server 104 und Client-Computer und andere Geräte sind zur direkten und indirekten Kommunikation mit anderen Computern fähig, wie über ein Netzwerk 116. Obwohl nur wenige Computer in den FIGUREN Obwohl in 1A und 1B nur einige wenige Computergeräte dargestellt sind, sollte gewürdigt werden, dass ein typisches System eine große Anzahl von verbundenen Servern und Clients beinhalten kann, wobei sich jeder andere Computer an einem anderen Knoten des Netzwerks befindet. Das Netzwerk 116 und die dazwischen liegenden Knoten können verschiedene Konfigurationen und Protokolle umfassen, wie Internet, Intranet, virtuelle private Netzwerke, Wide Area Networks, lokale Netzwerke, private Netzwerke, die Kommunikationsprotokolle im Eigentum von einem oder mehreren Unternehmen verwenden, Ethernet, Wlan und HTTP sowie verschiedene Kombinationen davon.
-
Kommunikation über das Netzwerk, einschließlich dazwischen liegende Knoten, können durch jede Vorrichtung erleichtert werden, die zum Übertragen von Daten zu und von anderen Computern in der Lage ist, wie z. B. Modems, DFÜ oder Kabel), Netzwerkschnittstellen und Drahtlosschnittstellen. Bei dem Server 104 kann es sich um einen Webserver handeln. Obgleich gewisse Vorteile erzielt werden, wenn Informationen wie oben angegeben übertragen oder empfangen werden, sind andere Aspekte der Erfindung nicht auf eine besondere Art und Weise der Informationsübertragung eingeschränkt. Beispielsweise können in einigen Aspekten die Informationen über ein Medium, wie z. B. eine Diskette, ein Band, CD-ROM, DVD. oder direkt zwischen zwei Computersystemen über ein DFÜ-Modem gesendet werden. Gemäß anderen Aspekten können die Informationen in einem nicht-elektronischen Format übertragen und manuell in das System eingegeben werden.
-
Darüber hinaus können Computer und Client-Geräte in Übereinstimmung mit den hierin beschriebenen Systemen und Verfahren jede Vorrichtung umfassen, die zum Verarbeiten von Anweisungen und Übertragen von Daten zu und von Menschen und anderen Computern, einschließlich Netzwerkcomputern ohne lokale Speicherfähigkeit, PDAs mit Modems wie z. B. PDA 112 und internetfähige drahtlose Telefon, wie z. B. Mobiltelefon 110, in der Lage sind.
-
Wie in 1A dargestellt, beinhaltet das Netzwerk 100 auch eine Datenbank 132. Die Datenbank 132 kann direkt oder indirekt mit einem Server 104 gekoppelt sein. In einer Alternative kann die Datenbank 132 Teil von dem Server 104, oder ansonsten logisch damit verbunden sein. Die Datenbank 132 kann unterschiedliche Sätze oder Typen von Daten beinhalten. Nur zum Beispiel kann die Datenbank 132 orts- und/oder kartenbezogene Daten unterhalten, die in einer oder mehreren KFF-Dateien gespeichert sind. Die Datenbank 132 kann Daten 130 in einer oder mehreren KFFs speichern. Assets und andere Informationen, einschließlich Satellitendaten, Luftfotografien, digitale Karten, Höhendaten, GPS-Koordinaten usw. können von einer oder mehreren Quellen (nicht dargestellt) erhalten werden. Die Datenbank 132 kann alternativ Informationen über einen oder mehrere Benutzer/Kunden aufrechterhalten, wie unten ausführlich erklärt wird.
-
Benutzergeräte, wie z. B. Laptop/Palmtop 108, PDA 112 und Mobiltelefon 110, können auch Informationen in einer Datenbank 134 beinhalten oder speichern. Zu solchen Informationen können zum Beispiel der Browsing-Verlauf, ein Website-Suchverlauf, Kartendaten, das Adressbuch des Benutzers, E-Mail-Archive und/oder Kalendereinträge gehören. Angesichts des sensiblen Charakters dieser Daten sollte die Datenbank 134 die Daten sicher speichern, um unbefugten Zugriff zu verhindern. Somit können die Daten zum Speichern verschlüsselt werden. In einem Beispiel wird die Datenbank 134 auf dem Netzwerk 100 getrennt von anderen Benutzergeräten geführt. In einem weiteren Beispiel kann die Datenbank 134 lokal auf einem oder mehreren Benutzergeräten gespeichert werden, z. B. in deren Speicher 126. In einem weiteren Beispiel umfasst die Datenbank 134 mehrere Datenbanken, wie in 2 dargestellt.
-
Die Datenbank 134 kann Teil der Architektur 200 des Benutzergeräts sein, das ein Prozessormodul 202, ein Benutzeroberflächen-/Anzeigemodul 204, ein Kommunikationsmodul 206, ein Leistungsmodul 208 und ein Speichermodul 210 beinhaltet. Das Prozessormodul 202 kann einen Prozessor, wie z. B. Prozessor 124 oder einen Controller und seine zugehörige Schaltung (z. B. lokaler Speicher, Gleitkomma- und/oder Ganzzahlverarbeitungselemente, DMA-Einheit) beinhalten. Das Benutzeroberflächen-/Anzeigemodul 204 beinhaltet Benutzereingaben und -ausgaben, wie z. B. Eingaben 118 und 120 sowie Anzeige 122 von 1A und 1B. Das Kommunikationsmodul 206 enthält ein Protokollstack und eine zugehörige Schaltung zum Kommunizieren über ein Netzwerk, wie z. B. Netzwerk 116, oder für direkte Kommunikation von Gerät zu Gerät. Das Leistungsmodul 208 stellt Strom für die unterschiedlichen Module der Architektur 200 bereit, und kann eine wiederaufladbare Batterie und/oder ein Stromkabel beinhalten.
-
Das Speichermodul 210 beinhaltet wünschenswerterweise die Datenbank 134. In einem Beispiel umfasst das Speichermodul 210 eine Mehrzahl von Subdatenbanken, die sich auf unterschiedliche Anwendungen und/oder Benutzerattribute konzentrieren. Beispielsweise kann das Speichermodul 210, wie in 2 dargestellt, eine Web-Browsing-Verlaufsdatenbank 212, eine Suchverlaufsdatenbank 214, eine Maps-Verlaufsdatenbank 216, eine Adressbuchdatenbank 218, eine E-Mail-Archivdatenbank 220 und eine Kalendereintragsdatenbank 222 beinhalten. Andere Informationen, wie z. B. Kreditkartentransaktions-informationen, können in anderen Subdatenbanken gespeichert sein.
-
Die in jeder dieser Subdatenbanken gespeicherten Informationen können mit spezifischen Programmen oder Typen von Anwendungen, oder mit der Betätigung des Geräts insgesamt durch den Benutzer verbunden sein. Beispielsweise können die Web-Browsing-Verlaufs- und Suchverlaufsdatenbanken mit einem oder mehreren Webbrowsern, wie z. B. den Webbrowsern Internet Explorer, Safari, Firefox oder Chrome verbunden sein. Die Maps-Verlaufsdatenbank kann auch mit den Webbrowsern oder anderen Anwendungen, wie z. B. Google Earth, verbunden sein. Die Adressbuch- und E-Mail-Archivdatenbanken können mit der Nachrichtenanwendung des Benutzers, wie z. B. Googlemail oder Microsoft Outlook, verbunden sein. Die Kalendereintragsdatenbank kann auf ähnliche Weise mit der Nachrichtenanwendung oder anderen Anwendungen, wie z. B. Google Kalender, verbunden sein. während eine Reihe von verschiedenen Subdatenbanken oben genannt sind, können andere Subdatenbanken ortsbezogene Informationen enthalten, die ebenfalls genutzt werden, zum Beispiel die mit Google Latitude verbundene Datenbank, ein Tool, mit dem ein Benutzer Freunden seinen gegenwärtigen Standort mitteilen kann.
-
In einem Szenario können standortbezogene Informationen aus den Subdatenbanken regelmäßig oder als Reaktion auf eine Anforderung entnommen/extrahiert werden. 3 veranschaulicht ein solches Szenario. Insbesondere stellt 3 ein Ablaufdiagramm einer Abonnement-Standortaugmentationsanwendung 300 bereit. Anfangs registriert sich ein Benutzer bei Block 302 für Standortaugmentation. Dies kann beinhalten, dass der Benutzer eine Autorisierung zum Verwenden einer oder mehrerer der Subdatenbanken im Speichermodul 210 von seinem/ihrem Benutzergerät bereitstellt. Gemäß einem Beispiel kann der Benutzer spezifische Subdatenbanken auswählen, zu denen der Anwendung Zugang gewährt wird. Beispielsweise kann der Benutzer Zugang zu der Adressbuchdatenbank 218, jedoch nicht zu der E-Mail-Archivdatenbank 220 gewähren.
-
Wie in Block 304 dargestellt, wird nach Autorisierung ein Benutzerprofil zu einer Benutzerdatenbank, wie z. B. Datenbank 132 von 1A, hinzugefügt. Die Benutzerdatenbank kann einen Index beinhalten, bei dem jedes extrahierte Standortsignal mit einem Satz von Informationen verbunden sein kann, der einige oder alle von geografischen Tags oder „Geotags” beinhalten kann (die Elemente wie z. B. „meine Heimatadresse” oder ein Suchbegriff wie z. B. „Café” sein könnten), zeitliche Informationen (z. B. Zeit, bei der ein Ereignis eintrat, optionale Zeit, bei der bestimmte Informationen ablaufen können und/oder ein Abbaufaktor) sowie eine Punktzahl, um das Vertrauen in den Standort vorzuschlagen. Beispielsweise kann ein Breitengrad-/Längengradstandort ein höheres Vertrauen als ein Standort aufweisen, der von einer E-Mail-Nachricht extrahiert wird. In einem räumlichen Index kann ein einzelner Standort aggregierte Informationen von mehreren Datenbanken aufweisen. In diesem Fall kann das System ein aggregiertes Vertrauen und eine Punktzahl für den Standort berechnen.
-
Bei Block 306 baut ein Geostandortmodul dann einen räumlichen Index auf, der Standortkorrekturen und Reverse Geocoding bereitstellen kann. Hinsichtlich der früheren Anmeldung kann das Geostandortmodul Zugang zu den unterschiedlichen Subdatenbanken gewinnen, die zuvor von dem Benutzer autorisiert wurden, und bestimmte Informationen zum Erzeugen von einem oder mehreren „Wärmebildern” von spezifischen physischen Standorten zu unterschiedlichen Zeiten für einen gegebenen Benutzer verwenden, wie in Block 308 dargestellt. Und wie in Block 310 dargestellt, können die Wärmebilder auf der Anzeige des Benutzergeräts dargestellt werden.
-
4 veranschaulicht ein Beispiel, wie die Geostandortmodule ein Standortkorrekturverfahren oder -augmentation ausführen können. Das Modul kann eine Anwendung beinhalten, die auf Server 104 von 1A läuft. Oder das Geostandortmodul kann alternativ Teil der Architektur 200 des Benutzergeräts sein. Das Geostandortmodul kann lokal auf der Serverseite oder als verteiltes Modul lokal und auf dem Server laufen. Eine Implementierung nur auf dem Server kann effizienter und genauer sein, da sie in der Lage wäre, den gesamten Datenkorpus zu verwenden, der in den Datenbanken 132 und 134 verfügbar ist. Wie in 1 dargestellt, kann ein Geostandortmodul 136 mit dem Server 104 verbunden, oder anders darin integriert sein. Alternativ kann eine lokale Implementierung Vorabrufen von Daten beinhalten, die am meisten auf den aktuellen Standort des Benutzers anwendbar sind und denselben Inferenzalgorithmus lokal anwenden. 2 veranschaulicht ein Geostandortmodul 224 als Teil der Architektur 200 des Benutzergeräts.
-
Ein Cache könnte auf dem Benutzergerät integriert werden, der das relevanteste serverseitige Profil spiegelt. In diesem Fall würde es nur einen kleinen Unterschied zwischen den serverseitigen und lokalen Implementierungen von nur der verfügbaren Menge von Eingabedaten geben. Für eine lokale Implementierung kann ein sicheres zentrales Server-Gateway zum Abrufen der Daten von relevanten Subdatenbanken verwendet werden, und die Daten zu dem Client übertragen. Mit anderen Worten ausgedrückt müsste das Client-Gerät nicht direkt Abrufanforderungen an unterschiedliche serverseitige Datenbanken stellen.
-
Das Geostandortmodul beinhaltet einen geschützten Datenabrufer 400, der zum Kommunizieren mit den Subdatenbanken konfiguriert ist. Der geschützte Datenabrufer 400 extrahiert einen Ergebnissatz 402 von den Subdatenbanken. Er kann die Authentifizierung des Benutzers oder Autorisierung durch die Subdatenbanken erfordern. In einem Beispiel sucht der geschützte Datenabrufer 400 nach geografischen Informationen in Zusammenhang mit den Subdatenbanken. Beispielsweise kann er Webseiten und Verläufe nach geografischen Daten durchsuchen.
-
Jedes Ergebnis kann einem gegebenen physischen Standort, einer Person, Aktivität und/oder Zeit entsprechen. Daher kann in einem Beispiel Mining der Web-Browsing-Verlaufsdatenbank 212 einen Standort („Stadthalle, New York”) und eine Zeit (t1) zum Ergebnis haben. Mining der Suchverlaufsdatenbank 214 kann auch einen Standort („Lorie's Cafe”) und eine Zeit (t2) zum Ergebnis haben. Und Mining der Maps-Verlaufsdatenbank 216 kann einen Standort („79 Ninth Ave 10011”) und eine Zeit (t3) zum Ergebnis haben. Eine Prüfung der Adressbuchdatenbank 218 kann einen Namen („Michael Bloomberg”) zum Ergebnis haben, während die Untersuchung der E-Mail-Archivdatenbank 220 eine Aktivität („Movie-Ticketbelege”) und eine Zeit (t5) zum Ergebnis haben kann. Und Untersuchung der Kalendereintragsdatenbank 222 kann eine Aktivität („Arbeitsessen mit Mike”) und eine Zeit (t6) zum Ergebnis haben.
-
Wie in Block 404 dargestellt, führt das Geostandortmodul ein Geopunktextraktionsverfahren bei dem Ergebnissatz 402 aus, wobei ein geocodierter Ergebnissatz 404 erzeugt wird. In einem Beispiel enthält der geocodierte Ergebnissatz 404 Verweise auf spezifische physische Standorte im Breitengrad-/Längengradformat. Ein Vorwärts-Geocodierer kann zum Umwandeln einer Adresse in das Breitengrad-/Längengradformat verwendet werden. Wie oben in Bezug auf Block 306 abgehandelt, wird ein räumlicher Index konstruiert, der die Breitengrade und Längengrade enthält. Der räumliche Index kann eine ordnungsgemäß formatierte Version einer physischen Adresse, wie z. B. Straßenadresse, enthalten, die dem Breitengrad und Längengrad entspricht. Der räumliche Index kann auch Zeitinformationen, wie z. B. die Zeit, beinhalten, zu der auf eine Webseite zugegriffen oder eine Suchanfrage ausgeführt wurde. Ähnliche Zeitinformationen können für die anderen Subdatenbanken gesammelt werden. In einem weiteren Beispiel können beliebige Informationen in den Subdatenbanken, die geografischen Informationen entsprechen, wie z. B. Standorte von bekannten Freunden, mit denen ein Benutzer reist oder die er treffen soll, durch das Geostandortmodul verarbeitet werden.
-
Der räumliche Index kann Bildkacheln und zugehörige Daten beinhalten, die in einer „Viererbaum”-Struktur gespeichert sind. Die Knoten einer Viererbaum-Datenstruktur werden hierin als „Viererknoten” bezeichnet. Ein Viererknoten plus eine oder mehrere Ebenen von untergeordneten Elementen werden hierin als „Vierersatz” bezeichnet. Daten, die zu Viererbäumen, Viererknoten und Vierersätzen gehören, können in einer Datenbank, wie z. B. einer KFF-Datenbank, gespeichert werden, die als Datenbank 132 von 1A aufrechterhalten werden kann.
-
Die KFF oder andere Datenbank, die den räumlichen Index enthält, wird zum Erzeugen von Wärmebildern von bestimmten physischen Standorten verwendet, wie in 4 dargestellt. Insbesondere eines oder mehrere Wärmebilder von einem interessierenden Bereich werden unter Verwendung des geocodierten Ergebnissatzes 404 erzeugt. Dies kann in Verbindung mit anderen Daten von Ergebnissatz 402 erfolgen, wie z. B. Namen von Menschen, Aktionen oder Ereignissen und Zeiten. Wie dargestellt, werden drei Wärmebilder 406a, 406b und 406c für unterschiedliche Zeiten erzeugt (z. B. Zeiten t1, t2 und t3). Einige oder alle dieser Wärmebilder können auf der Anzeige des Benutzergeräts in Übereinstimmung mit einer Eingabe von dem Benutzer präsentiert werden, wie z. B. über das Benutzerschnittstellen-/Anzeigemodul 204 von 3. In diesem Beispiel können unterschiedliche Ortsmarken (z. B. A–J) eine eingestufte Liste von interessierenden Punkten für jedes Wärmebild repräsentieren. Daher können sich die interessierenden Punkte ändern, wenn sich die Zeit ändert, und auch andere interessierende Punkte können zu unterschiedlichen Zeiten mehr oder weniger relevant sein. Daher ändern sich, wie dargestellt, die Ortsmarken A–J über die unterschiedlichen Wärmebilder.
-
5 veranschaulicht eine weitere Ausführungsform der vorliegenden Erfindung. Insbesondere stellt 5 ein Ablaufdiagramm 500 zum Verfeinern einer Positionsstandortschätzung dar. In einem Beispiel fordert ein Benutzer Wegbeschreibungen zwischen zwei Standorten von einer Mapping-Anwendung, wie z. B. Google Maps an, wie in Block 502 dargestellt. In diesem Fall kennt der Benutzer möglicherweise seine/ihre spezifische Position nicht, und die Anforderung ist eine nach Wegbeschreibungen von einem aktuellen Standort.
-
Wie in Block 504 dargestellt, wird dann eine Schätzung des aktuellen Standorts bestimmt, und kann für den Benutzer auf der Anzeige des Geräts dargestellt werden. Der aktuelle Standort des Benutzers kann durch eine Anzahl von Techniken geschätzt werden. In Abhängigkeit von der bestimmten Art von Benutzergerät und Netzwerk können GPS, Mobilfunkmasttriangulation, Wlan-Triangulation, IP-Geocoding und andere Techniken verwendet werden. Der aktuelle Standort kann auch aus Verlaufsinformationen gefolgert werden. Wenn beispielsweise von dem Benutzer bekannt ist, dass er sich zu Zeit X jeden Tag an einem bestimmten Standort befindet, dann besteht eine große Chance, dass er sich an einem gegebenen Tag in der Zukunft an demselben Standort befinden wird. Dies kann durch Kalender- oder Adressbucheinträge, E-Mail-Archive, GPS-Ergebnisse von früheren Verwendungen des Geräts des Benutzers, oder anderen Informationen bestimmt werden.
-
Die anfängliche Schätzung kann eine Position in Breitengrad-/Längengradkoordinaten beinhalten, und kann auch eine Schätzung der Genauigkeit beinhalten. Die Genauigkeit kann von einer Anzahl von Faktoren abhängig sein. Wenn beispielsweise das Gerät des Benutzers ein GPS-fähiges Mobiltelefon ist, dann wird die Genauigkeit der GPS-Position von der Anzahl von GPS-Satelliten beeinflusst, die von dem Mobiltelefon beobachtet werden. Bei einem Wlan-Netzwerk oder Mobilfunksystem können Triangulation oder andere Standorttechniken von Geländebedingungen (z. B. hügelig oder viele Gebäude in der Nähe), Signalstärke, Wetterbedingungen und Jahreszeit abhängig sein. Die Genauigkeit kann durch das Gerät des Benutzers selbst, durch das Netzwerk oder beides bestimmt werden.
-
Danach, wie in Block 506 dargestellt, werden der geschätzte Breitengrad und Längengrad nachgeschlagen oder ansonsten mit einem Wärmebild verglichen, das mit dem Benutzer verbunden ist. Es können mehrere Wärmebilder vorhanden sein, die für den Benutzer erzeugt wurden oder anders mit ihm verbunden sind. Solche Wärmebilder können für unterschiedliche Orte und Zeiten in der Vergangenheit, Gegenwart und Zukunft sein. Das Geostandortmodul verwendet wünschenswerterweise ein Wärmebild für die aktuelle Zeit, wenn das Nachschlagen ausgeführt wird. Basierend auf dem Nachschlagen bestimmt das Geostandortmodul einen Satz von relevanten passenden Adresse(n) für das ausgewählte Wärmebild, wie in Block 508 dargestellt. Dies kann eine oder mehrere Adressen beinhalten.
-
Die passenden Adressen können Häufigkeits- und Rechtzeitigkeitspunkte oder -einstufungen beinhalten. Häufigkeit wird dadurch bestimmt, wie oft derselbe Standort in denselben Datenbanken oder über unterschiedliche Datenbanken erscheint. Rechtzeitigkeit ist die Häufigkeit des Auftretens zu einer bestimmten Zeit. So kann z. B. Standort X zu Zeit t1 (z. B. Montag um 13 Uhr) öfter erscheinen, als Standort Y erscheint, und Standort Y kann öfter bei Zeit t2 erscheinen (z. B. Montag um 23 Uhr). In diesem Fall kann basierend auf der aktuellen Zeit des Benutzers entweder Standort X oder Y verwendet werden.
-
Punktzahlen können durch einfaches Addieren der Häufigkeiten oder Verwendung einer Metrik bestimmt werden, die eine gewichtete Punktzahl basierend auf dem Vertrauen der Subdatenbank zuweist. Daher kann eine Maps-Suche höher als E-Mail gewichtet werden. Ein aktueller Standort von Breitengrad/Längengrad kann der höchsten Punktzahl zugewiesen werden, da bekannt war, dass der Benutzer physisch an dem Standort anwesend war. Ein weiteres Punktzahlsignal wäre, wie neu die Daten sind. Hierbei kann es eine niedrigere Punktzahl oder Gewichtung erhalten, wenn die Daten zu alt („abgelaufen”) sind, wodurch ein Abbaufaktor für die Zeit eingeführt wird.
-
Danach wird, wie in Block 510 dargestellt, bestimmt, ob ein wahrscheinlicherer Standort als die Anfangsschätzung verfügbar ist. Wenn es einen wahrscheinlicheren Standort gibt, wird eine verfeinerte Position („bestes Merkmal”) bestimmt, wie in Block 512 dargestellt. In einem Beispiel analysiert das Geostandortmodul alle Einträge in einem räumlichen Index, der mit dem ausgewählten Wärmebild verbunden ist, die innerhalb einer bestimmten Distanz von dem anfänglichen Breitengrad und Längengrad liegen. Die Distanz kann auf der Anfangsgenauigkeit oder der Dichte des räumlichen Index basieren. Anhand davon bestimmt das Geostandortmodul, ob ein Eintrag in dem räumlichen Index genügend nah (z. B. ein Breitengrad-/Längengradpaar innerhalb von x Metern von der Anfangsschätzung), genügend häufig und/oder genügend neu (innerhalb von y Tage von dem Datum der Anfrage) ist. Vorzugsweise wird der Auswahlprozess zwecks Qualität optimiert. Wenn keine geeigneten Einträge in dem räumlichen Index gefunden werden, wird die ursprüngliche Standortschätzung ausgegeben, wie in Block 514 dargestellt. Danach werden, wie in Block 516 dargestellt, Routinganweisungen basierend auf dem verfeinerten oder ursprünglichen Standort erzeugt, und dem Benutzer bereitgestellt.
-
Dieser Prozess ist in 6 grafisch dargestellt. Hier beinhaltet Block 600 die Benutzeranforderung nach Wegbeschreibungen von dem „aktuellen Standort” nach Mountain View, Kalifornien. Wie in Block 602 dargestellt, wird eine Schätzung der aktuellen Position des Benutzers bestimmt. Eine Breitengrad-/Längengradschätzung wird auf der Anzeige des Benutzergeräts dargestellt. Die Genauigkeit der Schätzung kann durch den kreisförmigen Bereich wie dargestellt veranschaulicht werden.
-
Das ebenfalls in diesem Block dargestellte Geostandortmodul schlägt die Breitengrad-/Längengradschätzung in einem Wärmebild für die aktuelle Zeit nach. Das Geostandortmodul gibt die passenden Adresse(n) aus oder gibt ein Ergebnis „kein Vertrauen” aus, wie oben abgehandelt. Wenn mehrere passende Adressen bereitgestellt werden, bestimmt das Geostandortmodul das beste Merkmal, d. h. das Merkmal, das am wahrscheinlichsten dem aktuellen Standort des Benutzers entspricht. Dann werden, wie in Block 604 dargestellt, Routinganweisungen basierend auf dem besten Merkmal für den Benutzer bereitgestellt. Wenn kein Merkmal ausgegeben wird, zeigt der Block 606, dass Routinganweisungen basierend auf der ursprünglichen Standortschätzung für den Benutzer bereitgestellt werden.
-
Wenn das System nicht in der Lage ist, die Ergebnisse auf einen einzelnen Ort einzugrenzen, kann eine Liste der Ergebnisse mit dem höchsten Vertrauen dem Benutzer bereitgestellt werden, sodass der Benutzer unter diesen auswählen kann, anstatt sich auf die ursprüngliche Standortschätzung zu verlassen. Außerdem beinhalten außer dem Beispiel des Bereitstellens von erweiterten Fahrtanweisungen für den Benutzer, weitere Verwendungsszenarios das Suchen eines genaueren Standorts beim Suchen rund um den Standort des Benutzers nach Unternehmen, Menschen usw. zum genaueren Senden des Standorts an seine/ihre Freunde, und zum genauen Geocoding von Fotos, die ein Benutzer mit seinem/ihrem Mobiltelefon aufgenommen hat.
-
Obwohl die Erfindung hierin mit Bezug auf bestimmte Ausführungsformen beschrieben wurde, versteht sich, dass diese Ausführungsformen lediglich die Grundsätze und Anwendungen der vorliegenden Erfindung veranschaulichen. Es versteht sich daher, dass zahlreiche Modifizierungen an den darstellenden Ausführungsformen vorgenommen werden können, und dass andere Anordnungen konzipiert werden können, ohne vom Erfindungsgedanken und Umfang der vorliegenden Erfindung, wie durch die hinzugefügten Ansprüche definiert, abzuweichen. Weiterhin sind solche Prozesses nicht auf eine bestimmte Reihenfolge in den beigefügten Zeichnungen beschränkt, außer wenn diese Reihenfolge ausdrücklich hierin beschrieben ist.
-
INDUSTRIELLE ANWENDBARKEIT
-
Die vorliegende Erfindung erfreut sich breiter industrieller Anwendbarkeit, einschließlich, aber nicht beschränkt auf standortbasierte Dienstleistungen und Anwendungen, die geschätzte Standorte oder Positionen in Anbetracht von benutzerspezifischen Informationen verfeinern.