DE202015009118U1 - Dynamische Integration von Offline- und Onlinevorschlägen in einer geografischen Anwendung - Google Patents

Dynamische Integration von Offline- und Onlinevorschlägen in einer geografischen Anwendung Download PDF

Info

Publication number
DE202015009118U1
DE202015009118U1 DE202015009118.0U DE202015009118U DE202015009118U1 DE 202015009118 U1 DE202015009118 U1 DE 202015009118U1 DE 202015009118 U DE202015009118 U DE 202015009118U DE 202015009118 U1 DE202015009118 U1 DE 202015009118U1
Authority
DE
Germany
Prior art keywords
offline
suggestions
proposals
online
request
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
DE202015009118.0U
Other languages
English (en)
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Publication of DE202015009118U1 publication Critical patent/DE202015009118U1/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/3407Route searching; Route guidance specially adapted for specific applications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9537Spatial or temporal dependent retrieval, e.g. spatiotemporal queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • G06F16/24578Query processing with adaptation to user needs using ranking

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Computational Linguistics (AREA)
  • Automation & Control Theory (AREA)
  • Telephonic Communication Services (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

Tragbares Computergerät, umfassend: einen oder mehrere Prozessoren; eine Benutzeroberfläche; eine Netzwerkschnittstelle zur kommunikativen Ankopplung des tragbaren Computergeräts an einen Netzwerkserver über ein Kommunikationsnetzwerk in einem Onlinemodus; einen nichtflüchtigen computerlesbaren Speicher, der an den einen oder die mehreren Prozessoren gekoppelt ist und in diesem/diesen eine geografische Anwendung speichert, die so konfiguriert ist, dass sie: über die Benutzeroberfläche eine aus einem oder mehreren Zeichen bestehende Anfangssequenz einschließlich einer aus einem oder mehreren Zeichen bestehenden Sequenz empfängt, versucht, eine Anforderung von Vorschlägen an den Netzwerkserver zu senden, wobei die Anforderung die Anfangssequenzen enthält, beim Versuch, die Anforderung von Vorschlägen zu senden, einen ersten Timer aktiviert, falls der erste Timer abläuft, bevor eine Antwort auf die Anforderung eingeht, (i) unter Verwendung von im Computergerät gespeicherten Offlinedaten Offlinevorschläge generiert, die mit der Anfangssequenz im Einklang stehen, und (ii) einen zweiten Timer aktiviert und, falls die angeforderten Vorschläge vom Netzwerkserver ankommen, bevor der zweite Timer abläuft, die angeforderten Onlinevorschläge mit den Offlinevorschlägen zusammenführt.

Description

  • TECHNISCHES GEBIET
  • Die vorliegende Offenbarung bezieht sich auf interaktive digitale Landkarten und insbesondere auf die Verwaltung von Offline-Kartendaten in Clientgeräten.
  • 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 qualifiziert sind, werden weder ausdrücklich noch stillschweigend als Stand der Technik gegenüber der vorliegenden Offenbarung anerkannt.
  • Softwareanwendungen, die interaktive digitale Landkarten, Fahrroutenanweisungen und verschiedene geografische Funktionen („geografische Anwendungen”) bereitstellen, können sowohl auf Computergeräten, die generell über eine dauerhafte Netzwerkverbindung verfügen, als auch auf tragbaren Geräten, wie Smartphones, Tablet-PCs, Kfz-Navigationssystemen usw. laufen, die sich in der Regel auf eine Netzwerkverbindung stützen. Neben der Bereitstellung interaktiver digitaler Landkarten stellen einige geografische Anwendungen auch andere Arten von Geodaten, wie z. B. Informationen über Geschäfte an verschiedenen geografischen Standorten, Beschreibungen von geografischen Sonderzielen, Navigationsanweisungen usw., bereit. So ist es z. B. möglich, dass eine auf einem tragbaren Gerät arbeitende geografische Anwendung eine geografische Abfrage wie „Tankstellen in der Nähe” empfängt, die Suchabfrage an einen Netzwerkserver überträgt und die Suchergebnisse über die Benutzeroberfläche des tragbaren Geräts anzeigt.
  • KURZDARSTELLUNG
  • Eine in einem tragbaren Gerät wie einem Smartphone arbeitende digitale geografische Anwendung liefert Offline-Geodatenvorschläge, wenn das tragbare Gerät keinen bzw. nicht schnell genug einen Netzwerkserver erreichen kann, indem sie Offlinedaten verwendet, die im Speicher des tragbaren Geräts abgelegt sind. Das tragbare Gerät kann sowohl in Reaktion auf abgeschlossene Benutzereingaben, wie z. B. die Zeichenfolge „Tankstellen”, gefolgt von der Betätigung der „Eingabe”- oder der „Absenden”-Taste, als auch in Reaktion auf teilweise Benutzereingaben Offline-Geodatenvorschläge bereitstellen. Eine aus einem oder mehreren Zeichen bestehende Anfangssequenz, die die teilweise abgeschlossene Benutzereingabe bildet, wird nachstehend als „Suchpräfix” bezeichnet. Das tragbare Gerät kann beispielsweise Geodatenvorschläge bereitstellen, nachdem der Benutzer „Chi” eingegeben hat, neue Geodatenvorschläge liefern, nachdem der Benutzer „Chic” eingegeben hat usw. Wenn das tragbare Gerät über eine hinreichend zuverlässige Verbindung zum Netzwerkserver verfügt, erhält die geografische Anwendung Online-Geodatenvorschläge vom Netzwerkserver. Darüber hinaus führt die geografische Anwendung, falls innerhalb eines bestimmten Zeitraums nach der Anzeige der Offlinevorschläge Onlinevorschläge eingehen, in dynamischer Weise Onlinevorschläge mit Offlinevorschlägen zusammen. Ferner kann die geografische Anwendung zum Ausbalancieren der geringeren Qualität der Offlinevorschläge mit der mit dem Abrufen von Onlinevorschlägen verbundenen Latenz nur dann Offlinevorschläge anzeigen, wenn die Länge des Suchpräfixes eine bestimmte Anzahl n überschreitet, wobei n drei, vier oder eine beliebige andere geeignete Zahl ist.
  • Eine Ausführung dieser Techniken besteht insbesondere in einem Verfahren zur dynamischen Integration von Offline- und Onlinevorschlägen in einem Computergerät. Das Verfahren umfasst den Empfang einer aus einem oder mehreren Zeichen bestehenden Anfangssequenz über eine Benutzeroberfläche und den Versuch, eine Anforderung von Onlinevorschlägen über ein Kommunikationsnetz an einen Netzwerkserver zu senden, wobei die Anforderung in der Anfangssequenz mindestens ein Zeichen enthält. Wenn die Anfangssequenz weniger als n Zeichen lang ist, wird bei diesem Verfahren, falls keine Antwort auf die Anforderung empfangen wird, die Anfangssequenz angezeigt, ohne dass Offlinevorschläge generiert werden. Wenn die Anfangssequenz mindestens n Zeichen lang ist, werden bei diesem Verfahren, (i) durch den einen oder durch die mehreren Prozessoren Offlinevorschläge generiert, die zumindest teilweise mit den Offline-Geodaten Daten übereinstimmen, und (ii) die Offlinevorschläge über die Benutzeroberfläche bereitgestellt, falls innerhalb eines bestimmten Zeitraums keine Antwort auf die Anforderung empfangen wird.
  • Eine weitere Implementierung besteht in einem Verfahren in einem tragbaren Computergerät zur Integration von Offline- und Onlinevorschlägen. Dieses Verfahren beinhaltet den Empfang eines Suchpräfixes einschließlich einer Anfangssequenz aus einem oder mehreren Zeichen über eine Benutzeroberfläche, den Versuch, eine Anforderung von Vorschlägen an einen Netzwerkserver zu senden, wobei in der Anforderung das Suchpräfix enthalten ist, und die Aktivierung eines ersten Timers beim Versuch, die Anforderung von Vorschlägen zu senden. Falls der erste Timer abläuft, bevor eine Antwort auf die Anforderung eingeht, umfasst das Verfahren (i) die Generierung von Offlinevorschlägen, die zumindest teilweise auf der Anfangssequenz basieren, unter Verwendung von auf dem Computergerät gespeicherten Offlinedaten und (ii) die Aktivierung eines zweiten Timers. Das Verfahren umfasst darüber hinaus die Zusammenführung der angeforderten Onlinevorschläge mit den Offlinevorschlägen, falls die angeforderten Vorschläge vom Netzwerkserver ankommen, bevor der zweite Timer abläuft.
  • Eine zusätzliche Ausführung besteht in einem tragbaren Computergerät mit einem oder mehreren Prozessoren, einer Benutzeroberfläche, einer Netzwerkschnittstelle zur kommunikativen Ankopplung des tragbaren Computergeräts an einen Netzwerkserver über ein Kommunikationsnetzwerk in einem Onlinemodus und einem an den einen oder an die mehreren Prozessoren gekoppelten nichtflüchtigen computerlesbaren Speicher. Der Speicher speichert eine geografische Anwendung, die so konfiguriert ist, dass sie (i) über die Benutzeroberfläche eine aus einem oder mehreren Zeichen bestehende Anfangssequenz empfängt, (ii) versucht, eine Anforderung von Vorschlägen an den Netzwerkserver zu senden, wobei die Anforderung in der Anfangssequenz mindestens ein Zeichen enthält, (iii) bei dem Versuch, die Anforderung von Vorschlägen zu senden, einen ersten Timer aktiviert und, falls der erste Timer abläuft, bevor eine Antwort auf die Anforderung eingeht, (a) Offlinevorschläge generiert, die unter Verwendung von auf dem Computergerät gespeicherten Offlinedaten zumindest teilweise auf der Anfangssequenz basieren, und (b) einen zweiten Timer aktiviert. Die geografische Anwendung ist darüber hinaus so konfiguriert, dass sie (iv) die angeforderten Onlinevorschläge mit den Offlinevorschlägen zusammenführt, falls die angeforderten Vorschläge vom Netzwerkserver ankommen, bevor der zweite Timer abläuft.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • 1 ist ein Blockdiagramm eines Beispielsystem, bei dem ein Clientgerät im Einklang mit den Techniken dieser Offenbarung Online- und Offlinevorschläge dynamisch miteinander integriert;
  • 2 ist ein Blockdiagramm eines beispielhaften Clientgeräts, das in dem System nach 1 laufen kann;
  • 3 ist ein Fließschema eines beispielhaften Verfahrens zur Integration von Online- und Offlinevorschlägen, das im Clientgerät nach 2 implementiert werden kann;
  • 4 ist ein Fließschema eines beispielhaften Verfahrens zur Generierung von Offlinevorschlägen je nach der Länge des Suchpräfixes;
  • 5A ist ein beispielhafter Screenshot, den eine geografische Anwendung gemäß dieser Offenbarung generieren kann, wenn der Benutzer ein kurzes Suchpräfix eingibt und das Clientgerät nicht schnell genug Online-Suchvorschläge abrufen kann;
  • 5B ist ein beispielhafter Screenshot, den eine geografische Anwendung gemäß dieser Offenbarung generieren kann, wenn das Suchpräfix noch relativ kurz ist und das Clientgerät nicht schnell genug Online-Suchvorschläge abrufen kann; und
  • 5C ist ein beispielhafter Screenshot, der Offlinevorschläge veranschaulicht, die eine geografische Anwendung gemäß dieser Offenbarung generieren kann, wenn das Suchpräfix lang genug ist und das Clientgerät nicht schnell genug Online-Suchvorschläge abrufen kann; und
  • 5D ist ein beispielhafter Screenshot, der zusammengeführte Online- und Offlinevorschläge veranschaulicht, die eine geografische Anwendung gemäß dieser Offenbarung generieren kann, wenn wenig später, nachdem die geografische Anwendung Offlinevorschläge anzeigt, Online-Suchergebnisse eingehen.
  • DETAILLIERTE BESCHREIBUNG DER ZEICHNUNGEN
  • Überblick
  • Wenn ein Benutzer mittels eines tragbaren Geräts eine geografische Abfrage eingibt, versucht eine geografische Anwendung nach dieser Offenbarung, praktisch in Echtzeit Geodatenvorschläge zur Verfügung zu stellen. Die Geodatenvorschläge können z. B. geografische Suchbegriffe, Ortsnamen oder Endpunkte für Fahrroutenanweisungen enthalten. Die geografische Anwendung kann in einigen Fällen Offline-Geodatenvorschläge bereitstellen, indem sie Offline-Geodaten verwendet, die in einem Speicher des tragbaren Geräts gespeichert sind, und in anderen Fällen auf einem Netzwerkserver generierte Online-Geodatenvorschläge liefern.
  • Genauer gesagt, generiert die geografische Anwendung, z. B. wenn sie feststellt, dass über eine Anfrage an das Betriebssystem keine Netzwerkverbindung oder nur eine eingeschränkte Netzwerkverbindung des tragbaren Geräts verfügbar ist, automatische Offlinevorschläge, indem sie die Offline-Geodaten nutzt, die in einem Speicher des tragbaren Geräts gespeichert sind. In einigen Ausführungen kann die geografische Anwendung zur Vermeidung von Vorschlägen, deren Wahrscheinlichkeit, mit den Absichten des Benutzers übereinzustimmen, gering ist, auch nur dann Offlinevorschläge bereitstellen, wenn die Länge der Anfangszeichensequenz, die der Benutzer eingegeben hat, größer als eine bestimmte Zahl n (z. B. 3) ist.
  • Wenn die Netzwerkverbindung aufgrund des Ergebnisses der Abfrage an das Betriebssystem und/oder anderer Indikatoren verfügbar zu sein scheint, versucht die geografische Anwendung, automatische Vorschläge von einem Netzwerkserver abzurufen. Die geografische Anwendung kann einen relativ kurzen Timer (z. B. 100 ms) aktivieren, um den vorgegebenen Zeitraum abzugrenzen, in dem die geografische Anwendung auf Vorschläge vom Netzwerkserver wartet und keine Offlinevorschläge anzeigt. Wenn beim Ablauf des Timers keine Vorschläge vom Netzwerkserver empfangen werden, generiert die geografische Anwendung Offlinevorschläge und zeigt diese an. Falls kurz danach Vorschläge vom Netzwerkserver eingehen, führt die geografische Anwendung diese Onlinevorschläge mit den bereits angezeigten Offlinevorschlägen zusammen. In einigen Ausführungen aktiviert die geografische Anwendung einen weiteren, längeren Timer (z. B. 3 Sekunden) für einen im Voraus bestimmten Zeitraum, währenddessen Onlinevorschläge mit Offlinevorschlägen zusammengeführt werden können.
  • Wenn die geografische Anwendung Online- und Offlinevorschläge zusammenführt, kann die geografische Anwendung gleichzeitig einige der Offlinevorschläge zusammen mit den Onlinevorschlägen anzeigen. Zudem kann die geografische Anwendung im Fall, dass ein und dasselbe Element in den Offlinevorschlägen und in den Onlinevorschlägen enthalten ist und die Onlinevorschläge zusätzliche Details zu dem Element liefern, die bereits angezeigte Angabe des Elements um die zusätzlichen Details erweitern.
  • Wenn Offlinevorschläge angezeigt werden, kann die geografische Anwendung dem Benutzer einen passenden Indikator bereitstellen. Die geografische Anwendung kann auch eine interaktive Steuerung bereitstellen, mit deren Hilfe der Benutzer den längeren Timer reaktivieren und die geografische Anwendung dazu veranlassen kann, die Abrufung von Onlinevorschlägen erneut zu versuchen.
  • Auf diese Weise wird mit dem digitalen geografischen Modul ein Ansatz implementiert, bei dem die hohe Qualität netzwerkbasierter Vorschläge mit der Latenz bei der Lieferung dieser Vorschläge an den Benutzer ausbalanciert wird.
  • Überblick über ein Beispielsystem und ein tragbares Gerät
  • In 1 ist ein Beispielsystem 10 veranschaulicht, bei dem ein tragbares Gerät 14 Offlinevorschläge generiert und die Offlinevorschläge dynamisch mit Onlinevorschlägen zusammenführt. Das Clientgerät 14 ist über ein Kommunikationsnetz 16 kommunikativ an einen Netzwerkserver 12 gekoppelt, bei dem es sich um ein beliebiges geeignetes Netzwerk einschließlich Kabel- und/oder drahtloser Verbindungen handeln kann. Der Einfachheit halber ist in 1 nur ein Beispiel für einen Netzwerkserver 12 dargestellt. Der Netzwerkserver 12 kann jedoch in anderen Ausführungen auch mehrere nach einer geeigneten Topologie angeordnete Server umfassen, die untereinander kommunizieren können. In ähnlicher Weise kann das System 10 grundsätzlich beliebig viele tragbare und nicht-tragbare Geräte umfassen, die dem tragbaren Gerät 14 ähneln.
  • Der Server 12 kann einen oder mehrere Prozessor(en) 30 umfassen, die an einen Speicher 32 gekoppelt sind, bei dem es sich um einen nichtflüchtigen computerlesbaren Speicher mit persistenten und/oder nicht-persistenten Komponenten handeln kann. Ein Kartenabfrageprozessor 40 und ein Modul für automatische Vorschläge 42 können als im Speicher 32 abgelegte Anweisungssätze implementiert und durch den einen oder die mehreren Prozessor(en) 30 ausgeführt werden. Im Betrieb können der Kartenabfrageprozessor 40 und das Modul für automatische Vorschläge 42 jeweils Kartendaten für die Visualisierung einer digitalen Karte eines geografischen Gebiets bzw. Geodatenvorschläge an das Clientgerät 14 liefern.
  • Der Server 12 ist an eine Kartendatenbank 20 gekoppelt, die auf einem oder mehreren Servern (oder, falls erwünscht, als Komponente des Netzwerkservers 12) implementiert werden kann. Die Kartendatenbank 20 kann Beschreibungen der Geometrie und Lageangaben verschiedener natürlicher geografischer Merkmale (z. B. Flüsse, Berge und Wälder) sowie künstlicher geografischer Merkmale (z. B. Straßen, Gebäude und Parks) speichern. Die Kartendaten können unter anderen Daten Vektorgrafikdaten, Rasterbilddaten und Textdaten umfassen. In einer Beispielausführung ordnet die Kartendatenbank 20 Kartendaten in Kartenkacheln an, die in der Regel einer zweidimensionalen Organisation von Geodaten in einem Quaternärbaum (einer Datenbaumstruktur, in der jeder Knoten höchstens vier Tochterknoten hat) entsprechen. In anderen Ausführungen können andere Baum- und/oder Nicht-Baum-Datenstrukturen zur Anordnung von Kartenkacheln genutzt werden. Jede Kartenkachel kann einer quadratischen geografischen Region entsprechen, wobei die Größe des Quadrats vom Vergrößerungsgrad bzw. der Zoomstufe abhängt. Deshalb wird jede Kartenkachel auf einem bestimmten Zoomniveau im nächsten Niveau in vier Kacheln aufgeteilt, bis zum höchsten Zoomniveau. Der Kartenabfrageprozessor 40 kann vom Clientgerät 14 eine Anforderung eines bestimmten Orts oder Gebiets und eine Angabe der gewünschten Zoomstufe erhalten, einen Satz von Kartenkacheln bestimmen, der für die Visualisierung einer digitalen Karte des entsprechenden Gebiets mit der angegebenen Zoomstufe erforderlich ist, und die Kartenkacheln an das Clientgerät 14 übertragen.
  • Darüber hinaus ist der Server 12 an eine Geodatenbank 22 gekoppelt, in der Geodaten oder Daten mit geografischen oder raumbezogenen Merkmalen gespeichert sind. Diese geografischen oder raumbezogenen Merkmale können in einem beliebigen geeigneten globalen Positionsbestimmungssystem wie dem Koordinatensystem des Global Positioning Service (GPS) und/oder in einem beliebigen im Verhältnis zu einem bestimmten Punkt definierten lokalen Positionsbestimmungssystem vorhandene Standortangaben einschließen. Die raumbezogenen Merkmale können zusätzlich oder alternativ Straßenadressinformationen, Angaben über die Nähe von Orientierungspunkten und andere geeignete ortsbezogene Hinweise enthalten.
  • Die in der Geodatenbank 22 enthaltenen Informationen können geografische Sonderziele, stationäre Geschäfte, Benutzerbewertungen usw. zum Inhalt haben. Beispielsweise kann die Geodatenbank 22 eine Beschreibung eines Kinos, wobei die Beschreibung den Namen des Kinos einschließt, (z. B. „Die Musikbox”), eine Angabe des Standorts (z. B. die GPS-Koordinaten des Mittelpunkts des Gebäudes oder des Haupteingangs), eine Angabe der Preisspanne (z. B. „11 €”, „Ermäßigung für Schüler/Studierende”, „Nachmittagsvorstellungs-Ermäßigung”), einen Link zur Website des Kinos und andere Daten enthalten, die möglicherweise hilfreich für die Benutzer sind. Das Modul für automatische Vorschläge 42 kann bei der Bereitstellung von Geodatenvorschlägen an das tragbare Gerät 14 die Geodatenbank 22 nutzen. Wenn der Benutzer eine abgeschlossene Abfrage sendet, kann auch der Netzwerkserver 12 die Geodatenbank 22 für die Generierung einer Antwort nutzen.
  • Stets mit Bezug auf 1 kann der Server 12 auch auf eine Benutzerdatenbank 24 zugreifen, in der spezifische Benutzerdaten der Benutzer verschiedener Clientgeräte wie z. B. des Clientgeräts 14 abgelegt sind. Für einen bestimmten Benutzer können die Benutzerdaten die jüngsten raumbezogenen Abfragen, häufige geografische Abfragen und/oder häufige Themen, den Wohnort der Nutzerin, ihren Arbeitsort usw. anzeigen. Das Modul für automatische Vorschläge 42 kann unter Berücksichtigung der in der Benutzerdatenbank 24 abgelegten benutzerspezifischen Informationen exakte und relevante Geodatenvorschläge für einen Benutzer bereitstellen. In einigen Ausführungen betätigt der Benutzer bestimmte Steuerelemente und/oder installiert bestimmte Anwendungen, um es dem Server 12 und/oder dem Clientgerät 14 zu erlauben, die Daten des Benutzers auf diese Weise zu verwenden.
  • 2 ist ein Blockdiagramm, das eine Beispielausführung des Clientgeräts 100 darstellt, das in einigen Ausführungen z. B. dem Clientgerät 14 in 1 entspricht. Bei dem Clientgerät 100 kann es sich um ein beliebiges geeignetes tragbares Gerät handeln, das sich zum Abrufen von Kartendaten für die Erstellung einer interaktiven digitalen Karte auf eine Netzwerkverbindung stützt. Das Clientgerät 100 kann z. B. ein Laptop, ein Smartphone oder ein Tablet-PC sein. Darüber hinaus kann das Clientgerät 100 ein Tischcomputer mit zeitweiligem Internetzugang sein. Ferner kann das Clientgerät 100 ein in einer Fahrzeugumgebung genutztes Navigationsgerät sein, das als ein physisch getrenntes Gerät ausgeführt oder im Radio des Fahrzeugs integriert ist. Das Clientgerät 100 umfasst einen oder mehrere Prozessor(en) 102, einen computerlesbaren Speicher 104, eine Netzwerkschnittstelle 105 und eine Benutzeroberfläche 106. In einigen Ausführungen umfasst/umfassen der eine oder die mehreren Prozessor(en) 102 einen Zentralprozessor (CPU) sowie einen Grafikprozessor (GPU) zur effizienten Wiedergabe von Grafikinhalt. Die Benutzeroberfläche 106 kann Komponenten wie einen Bildschirm, einen Touchscreen, eine Tastatur, ein Mikrofon, einen oder mehrere Lautsprecher usw. umfassen. Der Speicher 104 kann ein nichtflüchtiger Speicher mit persistenten (z. B. Speicherstick) und/oder nicht-persistenten (z. B. RAM) Komponenten sein.
  • Das Speichermodul 104 speichert Anweisungen, die eine geografische Anwendung 110 implementieren, die eine Spezial-Kartierungs-/Navigationsanwendung oder eine allgemeine Anwendung, z. B. einen Webbrowser, der z. B. eine Kartierungs-Anwendungsprogrammierschnittstelle (API) enthält. Das Speichermodul 104 implementiert auch einen Cache 120 für die Speicherung von Kartendaten 122, z. B. in Kachelform, sowie Offline-Geodaten 126, die mittels einer beliebigen geeigneten Datenstruktur (z. B. eines Baums oder eines Tabellensatzes) organisiert werden und mithilfe einer beliebigen geeigneten Technik indexiert werden können.
  • Die geografische Anwendung 110 umfasst ein Offlinevorschläge-Modul 130 (z. B. in Form einer oder mehrerer Softwareroutinen), das bestimmen kann, wann die geografische Anwendung 110 versuchen sollte, unter Verwendung der Offline-Geodaten 126 Offline-Geodatenvorschläge zu generieren, Offlinevorschläge generieren, die Timer für die Versuche, Online-Geodatenvorschläge abzurufen, aktivieren und sie überwachen sowie Onlinevorschläge mit Offlinevorschlägen zusammenzuführen kann.
  • In einigen Fällen kann die geografische Anwendung 110 Onlinevorschläge anhand von auf einem Netzwerkserver ausgewählten und an das Clientgerät 100 übertragenen Daten generieren. D. h., die geografische Anwendung 110 kann in einigen Fällen „Rohdaten” vom Netzwerkserver empfangen und die empfangenen Daten dafür verwenden, Online-Geodatenvorschläge lokal zu generieren. Darüber hinaus kann die geografische Anwendung 110 in manchen Fällen Daten vom Netzwerkserver empfangen und die empfangenen Daten zusammen mit den Offlinedaten dafür verwenden, Vorschläge zu generieren, die bei dieser Anwendung auch als Online-Geodatenvorschläge bezeichnet werden. Ganz allgemein werden Geodatenvorschläge, die zumindest teilweise auf Daten basieren, die für ein bestimmtes Suchpräfix vom Netzwerkserver empfangen wurden, nachdem das Suchpräfix in das Clientgerät 100 eingegeben wurde, hier als Online-Geodatenvorschläge bezeichnet.
  • Beispielverfahren der Zusammenführung von Online- und Offline-Geodatenvorschlägen
  • Als Nächstes wird nun ein Funktionsbeispiel der geografischen Anwendung 110 und des Offlinevorschläge-Moduls 130 erörtert. Im Einzelnen wird mit Bezug auf 3 ein allgemeines Verfahren zur Bestimmung des Zeitpunkts, zu dem Offlinevorschläge generiert werden sollen, und des Zeitpunkts, zu dem Onlinevorschläge mit Offlinevorschlägen zusammengeführt werden sollen, und mit Bezug auf 4 ein Verfahren zur dynamischen Bestimmung des Zeitpunkts, zu dem Offlinevorschläge in Abhängigkeit von der Länge des Suchpräfixes generiert werden sollten, dargestellt.
  • Zunächst auf 3 Bezug nehmend, kann in der geografischen Anwendung 110 ein Verfahren 200 beispielsweise in Form eines Satzes von im/in den Prozessor(en) 102 ausführbaren Softwareanweisungen implementiert werden. Z. B. können mindestens einige der in 3 veranschaulichten Blöcke im Offlinevorschläge-Modul 130 implementiert werden. Das Offlinevorschläge-Modul 130 kann z. B. die Funktionen der Blöcke 204, 206, 220 und 226 ausführen und die anderen Blöcke können durch andere Komponenten der geografischen Anwendung 110 ausgeführt werden. In einer anderen Ausführung kann das Offlinevorschläge-Modul 130 alle in 3 veranschaulichten Blöcke implementieren. Das Verfahren 200 kann allerdings ganz allgemein in einer oder mehreren Softwarekomponenten in einem beliebigen geeigneten tragbaren Gerät implementiert werden.
  • Das Verfahren 200 beginnt beim Block 202 mit einer Feststellung, ob eine Netzwerkverbindung verfügbar ist. Zu diesem Zweck kann das Verfahren 200 eine vom Betriebssystem des tragbaren Geräts zur Verfügung gestellte API aufrufen. Es sei darauf hingewiesen, dass ein tragbares Gerät wie z. B. das tragbare Gerät 14 in 1 oder das tragbare Gerät 100 in 2 in manchen Fällen mit einem hohen Genauigkeitsgrad feststellen kann, dass derzeit keine Verbindung zum Netzwerk verfügbar ist. Andererseits ist es, wenn das tragbare Gerät feststellt, dass eine Netzwerkverbindung vorhanden ist, für das tragbare Gerät schwierig vorherzusagen, wie schnell eine bestimmte Nachricht einen Netzwerkknoten erreichen wird und wie schnell eine Antwort beim tragbaren Gerät ankommen wird.
  • Gemäß dem Verfahren 200 schreitet der Ablauf, wenn festgestellt wird, dass keine Netzwerkverbindung verfügbar ist, zum Block 204 fort, wo Offlinevorschläge bereitgestellt werden. Wie nachstehend detaillierter beschrieben, hängt die Antwort auf die Frage, ob in einigen Ausführungen Offlinevorschläge generiert werden, außerdem von der Länge des Suchpräfixes ab. Zusätzlich zur Bereitstellung von Offlinevorschlägen kann das Verfahren 200 die Bereitstellung eines Offlineindikators umfassen, durch den der Benutzer darüber benachrichtigt wird, dass keine Geodatenvorschläge von einem Netzwerkserver empfangen wurden (Block 206). Der Offlineindikator kann z. B. in einem Symbol oder in einer Textmeldung bestehen. Darüber hinaus kann das Verfahren 200 die Bereitstellung eines interaktiven Steuerelements für die Anforderung an die geografische Anwendung enthalten, einen weiteren Versuch zu unternehmen, geografische Onlinevorschläge zu empfangen (Block 206). Das interaktive Steuerelement kann ein interaktives Symbol, eine Sondertaste oder eine Taste, die in der Regel einem anderen Zweck dient – wie die Suchtaste – und in diesem Fall auf eine besondere Art (z. B. durch doppeltes Antippen) aktiviert wird. Nachdem Block 206 ausgeführt wurde, wird das Verfahren 200 abgeschlossen. Es ist jedoch darauf hinzuweisen, dass das Verfahren 200 jedes Mal aufgerufen werden kann, wenn der Benutzer ein neues Zeichen eingibt.
  • Falls bei Block 202 festgestellt wird, dass wahrscheinlich eine Netzwerkverbindung verfügbar ist, schreitet der Ablauf zum Block 210 fort, bei dem versucht wird, eine Anforderung von Onlinevorschlägen zu senden. Bei dieser Anforderung kann es sich um eine Meldung handeln, die das Suchpräfix (z. B. „S” in der ersten Instanz der Meldung, „Sa” in der zweiten Instanz der Meldung, „San” in der dritten Instanz usw.) sowie einen Hinweis auf den aktuellen Kontext (z. B. Navigation oder Suche) enthält. In einer alternativen Ausführung oder einem alternativen Szenario umfasst die Anforderung nur das letzte Zeichen, das der Benutzer dem Suchpräfix hinzugefügt hat, sodass die Meldung in der ersten Instanz „S”, in der zweiten Instanz entsprechend dem Suchpräfix „Sa” nur „a” enthält usw. In einigen Fällen wird es der geografischen Anwendung aufgrund mangelnder Konnektivität nicht gelingen, die Anforderung zu senden. In anderen Fällen kann es der geografischen Anwendung dagegen anfangs gelingen, die Meldung an einen Netzwerkserver zu senden, die Meldung wird jedoch nicht rechtzeitig oder überhaupt nicht beim Netzwerkserver ankommen. Dementsprechend wird der Timer T1 beim Block 212 aktiviert.
  • Der Timer T1 kann einem relativ kurzen Zeitraum – wie z. B. 100 ms – entsprechen. Falls Onlinevorschläge empfangen werden, bevor der Timer T1 abläuft (Block 214), schreitet der Ablauf zu Block 216 fort, bei dem Onlinevorschläge über eine Benutzeroberfläche bereitgestellt werden. Der Netzwerkserver kann Onlinevorschläge z. B. in Form einer geordneten Liste bereitstellen, in der verschiedene Suchbegriffe in der Reihenfolge ihrer Wahrscheinlichkeit aufgelistet sind. Das obige Beispiel wiederaufnehmend, können die Vorschläge für einen bestimmten Benutzer, die dem Suchpräfix „San” entsprechen, „San Francisco” mit der Wahrscheinlichkeit 0,9, „San Jose” mit der Wahrscheinlichkeit 0,8 usw. umfassen. Der Netzwerkserver kann diese Vorschläge generieren, indem er eine beliebige geeignete Kombination von Informationen, wie z. B. die Popularität des vorgeschlagenen Elements, die Nähe des vorgeschlagenen Elements zum aktuellen Standort des Benutzers, die früheren Suchanfragen und/oder Bewertungen des Benutzers usw. verwendet. In einigen dieser Ausführungen betätigt der Benutzer bestimmte Steuerelemente und/oder installiert bestimmte Anwendungen, um es dem Netzwerkserver zu ermöglichen, die Daten des Benutzers auf diese Weise zu verwenden. Sobald die Onlinevorschläge zur Verfügung gestellt wurden, endet das Verfahren 200.
  • Falls keine Vorschläge empfangen werden, bevor der Timer T1 abläuft (Block 214), schreitet der Ablauf zum Block 220 fort, wo Offlinevorschläge über die Benutzeroberfläche bereitgestellt werden. In manchen Fällen wird auch ein Offlineindikator aktiviert. Ähnlich wie beim oben beschriebenen Block 204 kann die Generierung von Offlinevorschlägen außerdem von der derzeitigen Länge des Suchpräfixes abhängen.
  • Beim Block 222 kann der Timer T2 aktiviert werden, um den Eingang „verspäteter” Onlinevorschläge zu überwachen. Der Timer T2 kann wesentlich länger als der Timer T1 sein. Der Timer T2 kann beispielsweise zwei oder drei Sekunden lang sein. Wenn der Timer T2 abläuft, stellt das Verfahren 200 fest, ob Onlinevorschläge empfangen worden sind (Block 224). Das Verfahren 200 endet, wenn während des dem Timer T2 entsprechenden Timerintervalls keine verspäteten Onlinevorschläge eingegangen sind. Andernfalls werden die Onlinevorschläge mit den Offlinevorschlägen (Block 226) zusammengeführt. Insbesondere können die Offlinevorschläge zur Feststellung von Überschneidungen mit den Onlinevorschlägen verglichen werden.
  • Um ein Beispiel hierfür zu nennen, können, wenn der gleiche vorgeschlagene Begriff sowohl in den Offlinevorschlägen als auch in den Onlinevorschlägen vorkommt, in den Onlinevorschlägen enthaltene zusätzliche Details nahtlos dem bereits angezeigten Element hinzugefügt werden. Zum Beispiel kann der Offlinevorschlag „Tokio” für das Suchpräfix „Tok” unter Verwendung des Onlinevorschlags für dasselbe Element derart erweitert werden, dass auch die japanischen Schriftzeichen für „Tokio” in ihm enthalten sind. Als ein weiteres Beispiel kann ein Onlinevorschlag, der im Rang zwischen zwei Offlinevorschlägen steht, die mit Onlinevorschlägen übereinstimmen, in die Liste eingefügt werden, die über die Benutzeroberfläche angezeigt wird. Noch ein weiteres Beispiel: Eine Liste von Offlinevorschlägen kann um einen oder mehrere Onlinevorschläge erweitert werden, die in den Offlinevorschlägen nicht vorhanden sind.
  • In einigen Implementierungen können entsprechende Hinweise zu einigen der Offlinevorschläge gespeichert werden, um anzuzeigen, dass diese Offlinevorschläge als hinreichend zuverlässig gelten und keines Updates bedürfen.
  • Es versteht sich, dass zum Austausch von Daten zwischen einem Clientgerät und einem Netzwerkserver eine beliebige geeignete Bestätigung verwendet werden kann. In einigen Ausführungen läuft der Timer T1 und/oder der Timer T2 z. B. nur dann ab, wenn innerhalb eines im Voraus festgelegten Zeitraums keine Bestätigung der Anforderung empfangen wurde. Wurde eine Bestätigung empfangen, kann der Timer verlängert werden oder ein anderer Timer aktiviert werden. In einer anderen Ausführung läuft der Timer T1 und/oder der Timer T2 dagegen unabhängig davon, ob die Anforderung bestätigt wurde, ab, falls keine Vorschläge empfangen wurden.
  • Nunmehr auf 4 Bezug nehmend, kann ein Beispielverfahren 300 zusammen mit dem Verfahren 200 oder getrennt von dem Verfahren 200 in der geografischen Anwendung 110 implementiert werden. Ähnlich dem Verfahren 200 kann das Verfahren 300 in Form eines Satzes von in einem oder mehreren Prozessoren ausführbaren Softwareanweisungen implementiert werden.
  • Das Verfahren 300 beginnt bei Block 302, wo festgestellt wird, ob die Benutzereingabe abgeschlossen wurde. Zum Beispiel kann hier festgestellt werden, ob der Benutzer die „Suche”-Taste schon betätigt hat. Die Eingabe kann ein Teil einer Abfrage sein, die eine geografische Abfrage enthält. Falls die Eingabe noch nicht abgeschlossen ist, wird am Block 304 ein neues Zeichen empfangen und gemäß der aktuelle Eingabesprache dem Suchpräfix hinzugefügt. Im Allgemeinen kann ein Zeichen ein Buchstabe, eine Zahl, ein Silbenzeichen, ein Leerzeichen oder ein anderes Trennzeichen, ein Wortzeichen, ein Bestandteil eines Wortzeichens usw. sein. Der Benutzer kann das Zeichen durch Eintippen des Schriftzeichens, durch Sprechen oder indem er auf andere Weise durch Audioeingabe (z. B. Stimme) oder auf eine beliebige andere geeignete Weise auf das Zeichen hinweist, bereitstellen. Wenn die Eingabe abgeschlossen wurde, endet das Verfahren 300.
  • Ein spezifischeres Beispiel einer Audioeingabe besteht darin, dass ein Spracherkennungssystem im Clientgerät eine Transliteration von Wörtern, Zeichen, einzelnen Buchstaben oder andere Einheiten der Sprache generieren kann. Diese Einheiten können segmentiert, z. B. Buchstabe für Buchstabe oder Wort für Wort, an einen Netzwerkserver gesendet werden, oder die Audiodaten können zum Beispiel zur Verarbeitung an den Netzwerkserver übertragen werden.
  • Als Nächstes wird bei Block 306 festgestellt, ob die aktuelle Länge des Suchpräfixes kleiner ist als die bestimmte Zahl n. Die Zahl n kann relativ klein sein, wie z. B. 1, 2 oder 3, aber im Allgemeinen kann die geografische Anwendung mit jedem gewünschten Wert für n konfiguriert werden. Falls festgestellt wird, dass das Suchpräfix weniger als n Zeichen enthält, wird der Ablauf bei Block 308 fortgesetzt. Andernfalls schreitet der Ablauf zum Block 310 fort.
  • Bei den Blöcken 308 und 310 wird ein Versuch, Onlinevorschläge bereitzustellen, in einer Art und Weise unternommen, die im Prinzip dem mit Bezug auf die Blöcke 210 bis 226 diskutierten Ansatz ähnelt. Mit zunehmender Präfixlänge können die Offlinevorschläge genauer werden und daher werden bei Block 308 keine Offlinevorschläge bereitgestellt, falls das Suchpräfixkriterium von Block 306 nicht erfüllt ist. Wie oben bereits erwähnt, hat, während ein Netzwerkserver einen robusten Satz von Signalen und eine große Geodatenbank nutzen und, falls erforderlich, einen komplexen Algorithmus ausführen kann, ein tragbares Gerät im Offlinemodus nur eingeschränkten Zugriff auf Ressourcen und in der Regel eine geringere Rechenfähigkeit als ein Netzwerkserver. Im Gegensatz zu Block 308 werden beim Block 310 Offlinevorschläge bereitgestellt, wobei ein längeres Suchpräfix leichter und genauer auf raumbezogene Begriffe abgestimmt werden kann.
  • Unter allgemeiner Bezugnahme auf 3 und 4 – in einem Beispielszenario ruft der Benutzer die geografische Anwendung auf einem Smartphone auf, um Spielzeugläden [engl. „toy stores”] in der Nähe zu suchen. Der Benutzer aktiviert den geografischen Suchmodus der geografischen Anwendung und beginnt, das Suchpräfix einzugeben. Nachdem der Benutzer den Anfangsbuchstaben „t” eingetippt hat, überprüft die geografische Anwendung die Verfügbarkeit einer Netzwerkverbindung und stellt aufgrund eines oder mehrerer Signale vom Betriebssystem des Smartphones fest, dass eine Netzwerkverbindung verfügbar ist. Die geografische Anwendung versucht, über den Kommunikations-Stack des Smartphones eine Meldung an einen Netzwerkserver zu senden. Die Meldung enthält das aktuelle Suchpräfix „t” und, in einigen Ausführungen, weitere Informationen wie z. B. den Standort des Benutzers. Das Smartphone sendet die Meldung, die den Netzwerkserver nicht in dem Zeitraum erreicht, der dem Timer entspricht. Aufgrund der kurzen Länge des Präfixes stellt die geografische Anwendung keine Offlinevorschläge bereit. Der Benutzer fährt mit dem Eintippen von Zeichen fort; mit einem „o” wird das Suchpräfix auf „to” erweitert, mit einem „y” auf „toy” usw., und die geografische Anwendung kann weiterhin versuchen, Online-Geodatenvorschläge zu erhalten, oder zumindest vom Betriebssystems eine Überprüfung anfordern, ob die Netzwerkverbindung verfügbar geworden ist. Wenn das Suchpräfix drei Zeichen erreicht hat, generiert die geografische Anwendung beispielsweise Offline-Geodatenvorschläge für den Begriff „toy” [„Spielzeug”]. Die geografische Anwendung aktiviert zudem einen längeren Timer, um die Möglichkeit miteinzubeziehen, dass zu einem späteren Zeitpunkt Online-Geodatenvorschläge eingehen. Als schließlich mehrere Geodatenvorschläge eingehen, führt die geografische Anwendung die Online- und Offlinevorschläge zusammen.
  • Beispiel-Screenshots
  • Zur weiteren Verdeutlichung sind in den 5A–D einige Beispiel-Screenshots einer geografischen Anwendung dargestellt. Bei der geografischen Anwendung kann es sich zum Beispiel um die geografische Anwendung 110 handeln, in der eines der Verfahren 200 und 300 oder beide Verfahren implementiert sind. In diesen Beispielen ist der Wert von n 3.
  • Ein Screenshot 402 in 5A veranschaulicht die Situation, in der ein Benutzer ein Suchpräfix einzugeben beginnt und den Buchstaben „r” eingibt. In diesem Beispiel können nicht schnell genug (d. h. innerhalb des dem Timer T1 entsprechenden Zeitintervalls) Online-Suchvorschläge abgerufen werden. Die Länge des Suchpräfixes beträgt hier eins, ist also kleiner als der in diesem Beispiel verwendete Wert von n = 3, und daher werden keine Offlinevorschläge generiert.
  • 5B zeigt einen Screenshot 404, bei dem der Benutzer einen weiteren Buchstaben eingegeben hat und das Suchpräfix damit nun „re” lautet. Da 2 < 3 und da in diesem Szenario keine Onlinevorschläge rechtzeitig abgerufen werden können, werden keine Offlinevorschläge generiert.
  • Wenn der Benutzer einen weiteren Buchstaben eingibt, sodass das Suchpräfix jetzt „res” lautet, aber nicht schnell genug Onlinevorschläge empfangen werden, werden, wie im Screenshot 406 in 5C veranschaulicht, mehrere Offlinevorschläge generiert und angezeigt.
  • Screenshot 408 in 5D veranschaulicht eine Zusammenführung von Onlinevorschlägen mit Offlinevorschlägen. Hier sind Onlinevorschläge eingegangen, nachdem das kürzere Zeitlimit ablief, aber bevor ein längeres Zeitlimit (z. B. das dem oben beschriebenen Timer T2 entsprechende Zeitlimit) ablief. Demgemäß werden der Liste der Offlinevorschläge mehrere Onlinevorschläge hinzugefügt, während das Suchpräfix gleich bleibt („res”).
  • Zusätzliche Überlegungen
  • 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 beschreiben 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. Strukturen und Funktionen, die in exemplarischen Konfigurationen als getrennte Komponenten dargestellt werden, können als kombinierte Struktur oder Komponente implementiert werden. In ähnlicher Weise können Strukturen und Funktionen, die als einzelne Komponenten dargestellt werden, als getrennte Komponenten implementiert werden. Diese und andere Variationen, Modifikationen, Ergänzungen und Verbesserungen fallen in den Anwendungsbereich des hierin beschriebenen Themas.
  • Bestimmte Ausführungen werden hier als Logik oder eine Reihe von Komponenten, Modulen oder Mechanismen einschließende Ausführungen beschrieben. Module können entweder aus Softwaremodulen (z. B. als ein auf einem maschinenlesbaren Datenträger oder in einem Sendesignal enthaltener Code) oder Hardwaremodulen bestehen. Ein Hardwaremodul ist ein greifbares Gerät, das bestimmte Operationen durchführen kann, und es kann in einer bestimmten Weise konfiguriert oder angeordnet sein. In Beispielausführungen können ein oder mehrere Computersysteme (z. B. ein eigenständiges, ein Client- oder ein Server-Computersystem) oder ein oder mehrere Hardwaremodule eines Computersystems (z. B. ein Prozessor oder eine Gruppe von Prozessoren) mittels Software (z. B. eine Anwendung oder ein Anwendungsabschnitt) als Hardwaremodul konfiguriert werden, das betrieben wird, um bestimmte Operationen, wie sie hier beschrieben werden, auszuführen.
  • 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), Register oder andere Maschinenkomponenten dargestellt sind, die Informationen empfangen, speichern, übertragen oder anzeigen.
  • Wenn in diesem Dokument von „einer Ausführung” die Rede ist, heißt das, dass ein bestimmtes Element, eine bestimmte Funktion, ein bestimmter Aufbau oder ein bestimmtes Merkmal, das, die bzw. der im Zusammenhang mit der Ausführung beschrieben wird, in mindestens einer Ausführung enthalten ist. Wenn an verschiedenen Orten in der Patentschrift der Ausdruck „in einer Ausführung” erscheint, so wird damit nicht immer unbedingt auf ein und dieselbe Ausführung Bezug genommen.
  • Einige Implementierungen können mittels der Ausdrücke „gekoppelt” und „verbunden” sowie deren Derivaten beschrieben werden. Beispielsweise können einige Implementierungen mittels des Ausdrucks „gekoppelt” beschrieben werden, um anzuzeigen, dass sich zwei oder mehrere Elemente in direktem physischem oder elektrischem Kontakt befinden. Der Begriff „gekoppelt” kann jedoch auch bedeuten, dass eines oder mehrere Elemente nicht im direkten Kontakt miteinander sind, aber trotzdem noch miteinander zusammenarbeiten oder interagieren. Die Implementierungen unterliegen in diesem Zusammenhang keinen Einschränkungen.
  • 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, „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).
  • Darüber hinaus wird das Wort „ein” bzw. „eine” zur Beschreibung von Elementen und Komponenten der in diesem Dokument behandelten Ausführungen benutzt. Dies geschieht allein der Einfachheit halber und zu dem Zweck, eine allgemeine Vorstellung der verschiedenen Ausführungen 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.
  • Beim Lesen dieser Offenbarung wird der Durchschnittsfachmann noch weitere alternative strukturelle und funktionelle Konzepte für das Zusammenführen von Online-Geodatenvorschlägen mit Offline-Geodatenvorschlägen mittels der in diesem Dokument offenbarten Prinzipien erkennen. Daher versteht sich, dass, während hier einige spezielle Ausführungen und Anwendungen veranschaulicht und beschrieben wurden, die offenbarten Ausführungen nicht auf den exakten Aufbau und genau die Komponenten, die in diesem Dokument offenbart werden, beschränkt sind. 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 offengelegt werden, ohne Abweichung von dem Umfang der angehängten Ansprüche erfolgen.

Claims (6)

  1. Tragbares Computergerät, umfassend: einen oder mehrere Prozessoren; eine Benutzeroberfläche; eine Netzwerkschnittstelle zur kommunikativen Ankopplung des tragbaren Computergeräts an einen Netzwerkserver über ein Kommunikationsnetzwerk in einem Onlinemodus; einen nichtflüchtigen computerlesbaren Speicher, der an den einen oder die mehreren Prozessoren gekoppelt ist und in diesem/diesen eine geografische Anwendung speichert, die so konfiguriert ist, dass sie: über die Benutzeroberfläche eine aus einem oder mehreren Zeichen bestehende Anfangssequenz einschließlich einer aus einem oder mehreren Zeichen bestehenden Sequenz empfängt, versucht, eine Anforderung von Vorschlägen an den Netzwerkserver zu senden, wobei die Anforderung die Anfangssequenzen enthält, beim Versuch, die Anforderung von Vorschlägen zu senden, einen ersten Timer aktiviert, falls der erste Timer abläuft, bevor eine Antwort auf die Anforderung eingeht, (i) unter Verwendung von im Computergerät gespeicherten Offlinedaten Offlinevorschläge generiert, die mit der Anfangssequenz im Einklang stehen, und (ii) einen zweiten Timer aktiviert und, falls die angeforderten Vorschläge vom Netzwerkserver ankommen, bevor der zweite Timer abläuft, die angeforderten Onlinevorschläge mit den Offlinevorschlägen zusammenführt.
  2. Tragbares Computergerät nach Anspruch 1, wobei die Kartierung ferner so konfiguriert ist, dass: eine derzeitige Länge der Anfangssequenz bestimmt wird, und die Offlinevorschläge in Reaktion auf die Feststellung generiert werden, dass die derzeitige Länge der Anfangssequenz mindestens n Zeichen beträgt, und keine Offlinevorschläge generiert werden, wenn die derzeitige Länge der Anfangssequenz weniger als n Zeichen beträgt.
  3. Tragbares Computergerät nach Anspruch 1 oder 2, wobei die geografische Anwendung zum Zweck der Zusammenführung der Onlinevorschläge mit den Offlinevorschlägen so konfiguriert ist, dass sie: einen der Onlinevorschläge, der einem der Offlinevorschlägen entspricht, identifiziert, und wobei die geografische Anwendung ferner so konfiguriert ist, dass sie die Benutzeroberfläche auf der Grundlage der Zusammenführung aktualisiert.
  4. Tragbares Computergerät nach einem der Ansprüche 1 bis 3, wobei der zweite Zeitraum länger als der erste Zeitraum ist.
  5. Tragbares Computergerät nach einem der Ansprüche 1 bis 4, wobei die geografische Anwendung zum Zweck der Bereitstellung von Offlinevorschlägen über die Benutzeroberfläche so konfiguriert ist, dass sie: über die Benutzeroberfläche ein interaktives Steuerelement bereitstellt, in Reaktion auf die Betätigung der interaktiven Steuerung (i) den zweiten Timer reaktiviert und (ii) einen erneuten Versuch unternimmt, die Anforderung von Onlinevorschlägen an den Netzwerkserver zu senden.
  6. Tragbares Computergerät nach einem der Ansprüche 1 bis 5, wobei die geografische Anwendung so konfiguriert ist, dass sie jedes Mal, wenn die Anfangssequenz um ein neues empfangenes Zeichen ergänzt wird, versucht, eine neue Instanz der Anforderung zu senden.
DE202015009118.0U 2014-06-21 2015-06-19 Dynamische Integration von Offline- und Onlinevorschlägen in einer geografischen Anwendung Active DE202015009118U1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201462015427P 2014-06-21 2014-06-21
US62/015,427 2014-06-21

Publications (1)

Publication Number Publication Date
DE202015009118U1 true DE202015009118U1 (de) 2016-11-22

Family

ID=53496431

Family Applications (1)

Application Number Title Priority Date Filing Date
DE202015009118.0U Active DE202015009118U1 (de) 2014-06-21 2015-06-19 Dynamische Integration von Offline- und Onlinevorschlägen in einer geografischen Anwendung

Country Status (5)

Country Link
US (1) US10127324B2 (de)
EP (1) EP2958032A1 (de)
CN (1) CN105203121A (de)
DE (1) DE202015009118U1 (de)
WO (1) WO2015195926A1 (de)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200389495A1 (en) * 2015-10-28 2020-12-10 Qomplx, Inc. Secure policy-controlled processing and auditing on regulated data sets
US10963450B2 (en) 2017-01-25 2021-03-30 Apple Inc. Optimizing offline map data updates
US10713286B2 (en) * 2017-06-27 2020-07-14 Microsoft Technology Licensing, Llc Storage of point of interest data on a user device for offline use
CN109672508A (zh) * 2018-12-31 2019-04-23 叶春林 智能型防止车辆导航断网系统
CN110567466B (zh) * 2019-08-20 2022-11-25 广州力挚网络科技有限公司 一种地图生成方法、装置、电子设备以及可读存储介质
CN110609843A (zh) * 2019-09-24 2019-12-24 上海依图网络科技有限公司 一种通过合并不同数据来源提升检索召回率的方法及系统

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8037168B2 (en) * 1999-07-15 2011-10-11 Esdr Network Solutions Llc Method, product, and apparatus for enhancing resolution services, registration services, and search services
JP4036012B2 (ja) * 2001-04-26 2008-01-23 トヨタ自動車株式会社 経路案内システム、経路案内を行うクライアント端末、同クライアント端末と通信を行うサーバ、経路案内方法及び経路一致判定方法
DE10345051B4 (de) * 2003-09-26 2009-04-09 Siemens Ag Verfahren zum Aufbau einer Kommunikationsverbindung in einem direkt kommunizierenden Kommunikationsnetzwerk
US7444278B2 (en) * 2004-03-19 2008-10-28 Microsoft Corporation Method and system for synchronizing the user interface language between a software application and a web site
GB0418411D0 (en) * 2004-08-18 2004-09-22 King S College London A method of discovering contact means for network access devices
US8126895B2 (en) 2004-10-07 2012-02-28 Computer Associates Think, Inc. Method, apparatus, and computer program product for indexing, synchronizing and searching digital data
US20080242343A1 (en) * 2007-03-26 2008-10-02 Helio, Llc Modeless electronic systems, methods, and devices
EP2053526A1 (de) * 2007-07-25 2009-04-29 MasterObjects Inc. System und Verfahren zum asynchronen Erhalt von Informationen basierend auf einer zunehmenden Benutzereingabe
TW201118789A (en) * 2009-09-09 2011-06-01 Univ Trobe Method and system for energy management
AU2010298137B2 (en) * 2009-09-24 2015-09-03 Getthere L.P. Collaboration and travel ecosystem
US20120143900A1 (en) 2010-12-06 2012-06-07 Google Inc. Instant Search For Settings
US9424357B1 (en) * 2011-03-01 2016-08-23 Amazon Technologies, Inc. Predictive page loading based on text entry and search term suggestions
WO2012146985A2 (en) * 2011-04-28 2012-11-01 Approxy Inc. Ltd. Adaptive cloud-based application streaming
US8645825B1 (en) 2011-08-31 2014-02-04 Google Inc. Providing autocomplete suggestions
US9378283B2 (en) 2012-04-23 2016-06-28 Excalibur Ip, Llc Instant search results with page previews
US9275135B2 (en) * 2012-05-29 2016-03-01 International Business Machines Corporation Annotating entities using cross-document signals
US9529924B2 (en) * 2012-07-31 2016-12-27 Apple Inc. User interface providing localized search capabilities
US9116940B1 (en) * 2013-04-15 2015-08-25 Google Inc. Searching for join candidates
US9626081B2 (en) * 2014-05-19 2017-04-18 The Travelers Indemnity Company System for classification code selection

Also Published As

Publication number Publication date
CN105203121A (zh) 2015-12-30
US20150370811A1 (en) 2015-12-24
US10127324B2 (en) 2018-11-13
EP2958032A1 (de) 2015-12-23
WO2015195926A1 (en) 2015-12-23

Similar Documents

Publication Publication Date Title
DE202015009118U1 (de) Dynamische Integration von Offline- und Onlinevorschlägen in einer geografischen Anwendung
DE102017120732B4 (de) Proaktiver virtueller Assistent
DE202016006041U1 (de) Systeme für das Generieren und Anzeigen von Standortentitätsinformationen in Verbindung mit dem aktuellen geographischen Standort eines mobilen Geräts
DE102014009871B4 (de) Vorhersagendes Weiterleiten von Meldungsdaten
DE202016007736U1 (de) Dynamische Integration von Offline- und Onlinedaten in einer geografischen Anwendung
DE202017007508U1 (de) Identifikation eines virtuellen Assistenten von nahgelegenen Rechenvorrichtungen
DE202012013435U1 (de) Vorrichtung zum Vorabruf von Ortsseitendaten zur darauffolgenden Anzeige auf einem mobilen Computergerät
DE202015009163U1 (de) Mosaikbasierte Verteilung von suchbaren geospatialen Daten an Client-Vorrichtungen
DE202012013460U1 (de) Vorabrufen von Kartenkacheldaten, basierend auf einer von einem mobilen Gerät generierten Ereignisanalyse
DE112011101724T5 (de) Automatisches Routen unter Verwendung von Suchergebnissen
DE112016002590T5 (de) Systeme und verfahren zur begriffsklärung der standortentitäten in verbindung mit dem aktuellen geografischen standort eines mobilgeräts
DE202015009184U1 (de) Wegbeschreibung zwischen automatisch bestimmten Ausgangspunkten und ausgewählten Zielen
DE202016008173U1 (de) Einbindung von auswählbaren Anwendungsverknüpfungen in Nachrichtenaustausch-Threads
DE202015009325U1 (de) Schematische Darstellung von geografischen Standorten
DE202014010903U1 (de) System für die Angabe des Benutzerstandortes und der Blickrichtung einer digitalen Karte
DE102018111900A1 (de) Systeme und Verfahren zum Bestimmen eines Reaktionshinweises für einen digitalen Assistenten basierend auf einem Kontext
DE202014010894U1 (de) System zur Disambiguierung der Objektauswahl
DE202014010892U1 (de) Personalisierung des Karteninhalts über eine Anwendungsprogrammierschnittstelle
DE102016125804A1 (de) Das Einbeziehen auswählbarer Anwendungslinks in Konversationen mit persönlichen Assistenz-Modulen
DE202014010950U1 (de) Das Anzeigen von dynamischen Inhalten auf einer Karte auf Basis des Standorts des Benutzers und der geplanten Aufgabe
JP2018513441A (ja) 画像の重畳しようとする領域の決定、画像重畳、画像表示方法及び装置
DE102016015381A1 (de) Verwendung von Bloom-Filtern zur Vereinfachung der Erweiterung und Unterteilung eines dynamischen Fonts
US20160098414A1 (en) Systems and methods to present activity across multiple devices
DE112016005358T5 (de) Informations-Ranking basierend auf Eigenschaften einer Berechnungsvorrichtung
DE102016007400A1 (de) Techniken zum Evaluieren von Anwendungen durch die Verwendung einer Hilfsanwendung

Legal Events

Date Code Title Description
R207 Utility model specification
R081 Change of applicant/patentee

Owner name: GOOGLE LLC (N.D.GES.D. STAATES DELAWARE), MOUN, US

Free format text: FORMER OWNER: GOOGLE INC., MOUNTAIN VIEW, CALIF., US

R082 Change of representative

Representative=s name: BETTEN & RESCH PATENT- UND RECHTSANWAELTE PART, DE

R150 Utility model maintained after payment of first maintenance fee after three years
R151 Utility model maintained after payment of second maintenance fee after six years
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06F0017300000

Ipc: G06F0016953700

R152 Utility model maintained after payment of third maintenance fee after eight years