-
TECHNISCHES GEBIET
-
Diese Anwendung bezieht sich im Allgemeinen auf interaktive digitale Karten und speziell auf die automatische Generierung von Vorschlägen, wenn ein Benutzer mit einer digitalen Karte interagiert.
-
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.
-
Viele moderne elektronische Geräte unterstützen digitale Kartenservices, die interaktive digitale Karten, Navigationshinweise und geografische kommerzielle Inhalte bieten (wie z. B. geografisch begrenzte Werbung). Diese digitalen Kartenservices können Client-seitige Kartenanwendungen sein, und führen in einigen Fällen Tasks auf Netzwerkservern aus. Die Netzwerkserver können geografische Inhalte auswählen und für Client-Geräte, darunter PCs, Smartphones und Steuergeräte von Fahrzeugen, bereitstellen. Der geografische Inhalt kann Antworten auf spezifische Anfragen, Ergebnisse geografischer Suchanfragen, automatische Vorschläge usw. enthalten. In einigen Fällen generieren die Netzwerkserver eine große Menge an Inhalten, für die der Benutzer eine lange Zeit zur Durchsicht benötigen würde.
-
ZUSAMMENFASSUNG
-
Im Einklang mit den Techniken dieser Offenlegung stellt ein digitaler Kartenservice fest, dass ein Client-Gerät in einem Fahrzeug betrieben wird, wählt speziell für einen automobilen Kontext einen relevanten geografischen Inhalt aus und stellt diesen auf dem Client-Gerät zur Anzeige im Fahrzeug als „Automobil-gerechte” Liste bereit. Auf diese Weise minimiert der digitale Kartenservice unnötige Benutzerinteraktion mit einer Bedienerschnittstelle während des Aufenthalts im Fahrzeug. Der digitaler Kartenservice kann den geografischen Inhalt auf dem Client-Gerät beispielsweise als Reaktion auf eine Suchanfrage oder eine Anfrage nach automatischen Vorschlägen zur Verfügung stellen. Der geografische Inhalt kann zumindest teilweise auf früheren Interaktionen des Benutzers des Client-Gerätes mit dem digitalen Kartenservice basierend. Diese Interaktionen können beispielsweise frühere Anforderungen von Navigationsanweisungen, vorherige Suchläufe, Bewertungen von Unternehmen usw. enthalten. In einigen Ausführungsformen bedient der Benutzer bestimmte Steuerelemente bzw. installiert bestimmte Anwendungen, um dem digitalen Kartenservice die Generierung eines geografischen Inhalts mit dieser Art von Daten zu ermöglichen.
-
Genauer gesagt ist eine Ausführungsform dieser Techniken ein System, das über ein nicht transitorisches computerlesbares Medium und eine mit dem nicht transitorischen computerlesbaren Medium gekoppelte Verarbeitungshardware verfügt. Das computerlesbare Medium speichert Profildaten für einen registrierten Benutzer, wobei die Profildaten Hinweise auf frühere Interaktionen des Benutzers mit einem digitalen Kartenservice umfassen. Die Verarbeitungshardware ist so konfiguriert, dass (i) eine Anforderung des geografischen Inhalts von einem Client-Gerät empfangen wird, wobei die Anforderung eine Angabe enthält, dass der Benutzer den digitalen Kartenservice in einem Fahrzeug aufgerufen hat, (ii) als Reaktion wird auf die Anforderung, zumindest teilweise basierend auf frühere Interaktionen, einschließlich der Auswahl des geografischen Inhalts im Hinblick auf deren Relevanz für einen automobilen Kontext, der geografische Inhalt automatisch generiert und (iii) der geografische Inhalt auf dem Client-Gerät zur Präsentation im Fahrzeug zur Verfügung gestellt.
-
Eine andere Ausführungsform ist ein Verfahren zur Bereitstellung des geografischen Inhalts in einem automobilen Kontext. Das Verfahren umfasst das Empfangen einer Anforderung für einen geografischen Inhalt von einem Client-Gerät, wobei die Anforderung (i) die Angabe enthält, dass ein Benutzer den digitalen Kartenservice in ein Fahrzeug aufgerufen hat sowie (ii) eine Kennung des Benutzers. Das Verfahren beinhaltet ebenfalls als Reaktion auf die Anforderung, das automatische Abrufen von Profildaten für den Benutzer; die Profildaten umfassen Angaben zu früheren Interaktionen des Benutzers mit einem digitalen Kartenservice. Weiterhin umfasst das Verfahren die Generierung des geografischen Inhalts, basierend auf Angaben früherer Interaktionen im Hinblick auf die Relevanz der vorherigen Interaktionen in einem automobilen Kontext und die Bereitstellung des geografischen Inhalts auf dem Client-Gerät für die Präsentation im Fahrzeug.
-
In einer weiteren Ausführungsform umfasst eine Recheneinheit eine Netzwerkschnittstelle zur Kommunikation mit einem einen digitalen Kartenservice bietenden Netzwerkserver und eine mit der Netzwerkschnittstelle gekoppelte Verarbeitungshardware. Die Verarbeitungshardware ist konfiguriert, (i) um zu ermitteln, ob die Recheneinheit derzeit in einem Fahrzeug betrieben wird, (ii) zum Senden einer Anforderung für einen geografischen Inhalt an den Netzwerkserver über die Netzwerkschnittstelle, wobei die Anforderung eine Angabe enthält, dass die Recheneinheit derzeit in einem Fahrzeug betrieben wird sowie die Identität eines Benutzers, der die Recheneinheit bedient, (iii) zum Empfangen, über die Netzwerkschnittstelle, des automatisch auf dem Netzwerkserver generierten geografischen Inhalts, basierend auf Angaben früherer Interaktionen des Benutzers mit dem digitalen Kartenservice im Hinblick auf die Relevanz des geografischen Inhalts für einen automobilen Kontext sowie (iv) das Bereitstellen des geografischen Inhalts für den Benutzer über eine Bedienerschnittstelle.
-
KURZBESCHREIBUNG DER ZEICHNUNGEN
-
1 zeigt ein Blockdiagramm eines exemplarischen Systems zur Generierung des für einen automobilen Kontext relevanten geografischen Inhalts zur Präsentation für den Benutzer;
-
2A zeigt ein Blockdiagramm für ein exemplarisches tragbares Gerät, das in dem System in 1 betrieben werden kann;
-
2B zeigt ein Blockdiagramm eines exemplarischen Servers, der in dem System in 1 betrieben werden kann;
-
3 zeigt ein Ablaufdiagramm eines exemplarischen Verfahrens zur Kommunikation mit einem Benutzer mittels einer gefilterten Liste des automatisch generierten geografischen Inhalts, das auf dem Server in 1 implementiert werden kann; und
-
4 zeigt ein Ablaufdiagramm eines exemplarischen Verfahren zur Anzeige einer gefilterten Liste des automatisch generierten geografischen Inhalts, das auf dem tragbaren Gerät in 1 implementiert werden kann.
-
DETAILLIERTE BESCHREIBUNG
-
Überblick
-
Im Allgemeinen gilt, dass, wenn ein System dieser Offenlegung ermittelt, dass ein registrierter Benutzer mit einem digitalen Kartenservice in einem automobilen Umfeld interagiert, das System die Auswahl des automatisch generierten geografischen Inhalts anpasst, damit diese Informationen für das automobile Umfeld relevanter sind. Zur Interaktion mit dem digitalen Kartenservice kann der registrierte Benutzer die Ausführung einer Kartensoftware, beispielsweise auf einem Steuergerät eines Fahrzeugs oder auf einem tragbaren Gerät, aufrufen. In einigen Fällen kann das tragbare Gerät mit dem Steuergerät des Fahrzeugs über eine Nahbereichs-Kommunikationsverbindung verbunden werden, sodass der Benutzer mit der auf dem tragbaren Gerät ausgeführten und über die in das Steuergerät eingebettete Bedienerschnittstelle mit der digitalen Kartensoftware interagieren kann. Tragbare, eingebettete und andere Geräte, die die Kartensoftware ausführen können, werden in dieser Offenlegung als „Client-Geräte” bezeichnet. Der Benutzer eines Client-Gerätes wird nachfolgend als Fahrer des Wagens bezeichnet, aber in der Regel müssen der Benutzer und der Fahrer nicht die gleiche Person sein.
-
In einer Beispielimplementierung speichert ein Content-Server die Profildaten des Fahrers, die Hinweise auf frühere kategorisierte Suchvorgänge umfassen, Suchen nach bestimmten Unternehmen, Bewertungen von Unternehmen, Anforderungen von Navigationsanweisungen usw. Die digitale Kartensoftware kann eine Liste der letzten Abfragen, neue Suchergebnisse oder individuelle Vorschläge vom System zur Anzeige im Fahrzeug anfordern. Die Anforderung kann eine Angabe enthalten, dass ein Client-Gerät in einem Fahrzeug betrieben wird, und wenn der Benutzer mehrere Fahrzeuge fährt, eine Angabe bezüglich des vom Benutzer der mehreren Fahrzeuge derzeit verwendeten Fahrzeugs. In einigen Ausführungsformen bedient der Benutzer bestimmte Steuerelemente bzw. installiert bestimmte Anwendungen auf dem Client-Gerät, um dem Content-Server die Generierung geografischer Inhalte mit dieser Art von Daten zu erlauben.
-
Als Reaktion darauf kann das System die Profildaten zur Priorisierung von Informationen im Zusammenhang mit dem Fahren im Allgemeinen und auf den aktuellen Kontext des Client-Gerätes (z. B. aktuelle Position, Navigationsstrecke, Identität des Fahrzeugs) insbesondere „filtern”. Das System kann die Priorität der Daten, die wahrscheinlich wenig oder gar keine Relevanz für den automobilen Kontext haben, verringern und in einigen Fällen werden diese Informationen auf dem tragbaren Gerät überhaupt nicht präsentiert. Zum Beispiel fährt ein bestimmter Fahrer in der Regel nur Ziele im Umkreis von 15 km von seinem aktuellen Standort an. Der Fahrer ist wahrscheinlich nicht an Zielen außerhalb dieses Bereichs interessiert, und somit kann das System die Priorität von Daten in Bezug auf Standorte von mehr als 15 km von der aktuellen Position des Fahrers entfernt senken.
-
Beispielhafte Kommunikationssysteme, Geräte und Verfahren
-
Ein exemplarisches System zur Generierung geografischer Inhalte im Hinblick auf den automobilen Kontext wird als Nächstes erläutert, gefolgt von einer Erläuterung eines exemplarischen tragbaren Gerätes und eines exemplarischen Content-Server, der in diesem System arbeiten könnte.
-
Unter einer ersten Bezugnahme auf 1, ein exemplarisches System 10 enthält ein tragbares Benutzergerät 12 in Kommunikation mit einem Steuergerät 14 eines Fahrzeugs über eine verdrahtete Nahbereichs-Kommunikationsverbindung, wie z. B. ein Universal Serial Bus (USB) oder eine drahtlose Verbindung, wie IEEE 802.15 (Bluetooth) oder Wi-Fi Direct®. Darüber hinaus kommuniziert das tragbare Benutzergerät 12 mit einem Content-Server 18 über ein Kommunikationsnetz 20, das ein Wide Area-Netzwerk wie das Internet sein kann. Der Content-Server 18 ist mit einer Geodaten-Datenbank 22 und einer Benutzerprofil-Datenbank 24 gekoppelt.
-
Das tragbare Benutzergerät 12 kann zum Beispiel eine tragbare Recheneinheit, wie ein Smartphone oder ein Tablet-Computer, sein. Eine exemplarische Implementierung eines tragbaren Gerätes 12 wird unter Bezugnahme auf 2A erläutert. Der Content-Server 18 kann als ein einzelnes Gerät oder eine Gruppe von Server (z. B. eine Reihe von Front-End-Servern) und eine Reihe von Back-End-Servern implementiert werden. Die entsprechenden Datenbanken 22 und 24 sind in einer geeigneten Weise, wie z. B. als relationale Datenbanken, auf dedizierten Speichergeräten, dedizierten Gruppen von Speichergeräten oder beispielsweise auf dem Server 18 implementiert. Der Content-Server enthält ein Datenfiltermodul 28, das die Relevanz der Benutzerprofildaten 26 im Hinblick auf den automobilen Kontext priorisiert und beurteilt. Eine exemplarische Implementierung des Inhaltsservers 18 wird unter Bezugnahme auf 2b erläutert.
-
In Betrieb ermittelt das tragbare Gerät 12, dass es in einem automobilen Umfeld betrieben wird. Beispielsweise kann der Fahrer die auf dem tragbaren Gerät 12 ausgeführte Kartensoftware durch Bedienung entsprechender Bedienerschnittstellen-Steuerelemente explizit an das Steuergerät 14 oder implizit an das Steuergerät 14 durch die Verbindung der Geräte 12 und 14 mit einem USB-Kabel ausgeben. Das tragbare Benutzergerät 12 sendet dann eine Angabe an den Inhaltsserver 18, dass ein digitaler Kartenservice in einem automobilen Kontext aufgerufen wurde, die aktuelle Position des tragbaren Gerätes 12 und eine Kennung des Fahrers, entsprechend einer exemplarischen Implementierung. Die Angabe kann auch eine Kennung des mit dem Fahrzeug verbundenen Steuergerätes 14 umfassen. Die Kennung kann eine geeignete Nummer oder eine alphanumerische Zeichenfolge sein, die ausreichend einzigartig für das Steuergerät 14 bzw. für das in dem Fahrzeug installierte Steuergerät 14 ist. Die Kennung kann z. B. die Seriennummer des Steuergerätes 14 oder die Media Access Control(MAC)-Adresse des USB-Ports des Steuergerätes 14 sein.
-
Der Content-Server 18 identifiziert die mit dem Fahrer verbundenen und in der Benutzerprofil-Datenbank 24 gespeicherten Benutzerprofildaten 26. Die Benutzerprofildaten 26 enthalten Angaben bezüglich vergangener Interaktionen des Benutzers mit einem digitalen Kartenservice, die eine chronologisch geordnete Liste der durchsuchten Adressen, kategorisierte Suchen, übertragene Bewertungen, durchsuchte Unternehmen usw. umfassen können. Die Benutzerprofildaten 26 können auch vom Fahrer häufig besuchte Orte umfassen, während dieser das mit dem Fahrzeug verbundene Steuergerät verwendet. Der Content-Server 18 identifiziert ebenfalls relevante, in der Geodaten-Datenbank 22 gespeicherte Geodaten, falls diese die aktuelle Position des tragbaren Gerätes und die Benutzerprofildaten 26 betreffen.
-
Das Datenfiltermodul 28 filtert die Benutzerprofildaten 26, basierend auf deren Relevanz für den automobilen Kontext zur Generierung einer Automobil-gerechten gefilterten Liste 32. Zur Beurteilung der Relevanz für den automobilen Kontext kann das Datenfiltermodul 28 eine Reihe von Signalen 27 verwenden, die solche Signale, wie die Entfernung der gefahrenen Strecke, Relevanz, usw., umfassen können. Beispielsweise können Orte in den Benutzerprofildaten 26 Ziele enthalten, die mit dem Auto nicht erreichbar sind. Das Datenfiltermodul 28 kann, entsprechend der gefilterten Liste 32, einen unerreichbaren Ort ausschließen. In einem weiteren Beispiel kann das Datenfiltermodul 28 ermitteln, ob der Fahrer in der Regel Ziele innerhalb eines 15-km-Radius von der aktuellen Position des tragbaren Benutzergerätes 12 besucht, und entsprechend Ziele außerhalb des 15-km-Radius der gefilterten Liste 32 in der Priorität herabsetzen oder ausschließen. Als ein weiteres Beispiel kann, falls ein Fahrer häufig zu einem bestimmten Ziel fährt, das Datenfiltermodul 28 dem Ziel eine höhere Priorität innerhalb der gefilterten Liste 32 zuweisen. Des Weiteren kann das Datenfiltermodul 28 einem geografischen Inhalt im Hinblick auf andere Faktoren niedrigere Prioritäten zuordnen bzw. diese ausschließen, wie z. B. Entfernung von einer aktuellen Fahrtstrecke, Art der Interaktion mit dem digitalen Kartenservice, der mit dem Ort verbunden ist (wie z. B. Navigationsanweisungen für die Richtungen zu einem Ort können möglicherweise wichtiger sein, als die Bewertung eines Unternehmens) sowie die Relevanz des Unternehmens im automobilen Kontext (z. B. ist eine Tankstelle sehr relevant für den automobilen Kontext).
-
Das Datenfiltermodul 28 kann auch Benutzerprofildaten 26, basierend auf der Kennung des mit dem Fahrzeug verbundenen Steuergerätes 14, filtern. Ein Fahrer kann die Tendenz aufweisen, zu verschiedenen Orten in verschiedenen Fahrzeugen zu fahren. Ein Fahrer kann z. B. ein Auto zur Fahrt zur Arbeit an Wochentagen und ein anderes Fahrzeug für die Fahrt mit der Familie an Wochenenden verwenden. Wenn das Datenfiltermodul 28 in diesem Fall feststellt, dass der Fahrer das erste Auto nutzt, könnte das Büro des Fahrers im oberen Bereich der gefilterten Liste 32 erscheinen. Stellt jedoch der Fahrzeugfilterservice 28 fest, dass der Fahrer das zweite Fahrzeug nutzt, kann das Datenfiltermodul 28 die Priorität des Büros herabsetzen oder dieses sogar aus der gefilterten Liste 32 ausschließen. Das Datenfiltermodul 28 kann diesen und andere Faktoren bei der Festlegung der Relevanz eines Ziels für den automobilen Kontext unterschiedlich bewerten.
-
Nach dem Generieren der gefilterten Liste 32 kann der Content-Server 18 den geografischen Inhalt, in Übereinstimmung mit der gefilterten Liste 32, an das tragbare Benutzergerät 12 übertragen. Insbesondere kann der Content-Server 18 den geografischen Inhalt in Form einer geordneten Liste (entsprechend der Reihenfolge der gefilterten Liste 32) übertragen, wobei jeder Eintrag auch einen geografischen Suchbegriff, eine Kennung eines geografischen Ortes, den Namen und die Anschrift des Unternehmens usw. aufweist. In einigen Fällen kann der geografische Inhalt umfangreichere Daten, wie detaillierte Beschreibungen der Unternehmen und Ziele, Bilder, Audio-Mitteilungen usw. enthalten. Je nach Szenario kann das tragbare Benutzergerät 12 den geografischen Inhalt über die Benutzerschnittstelle des tragbaren Gerätes 12 oder über das Steuergerät 14 anzeigen oder wiedergeben. Der Fahrer kann beispielsweise mit Fingergesten, Sprachbefehle oder durch Hardware-Tasten durch den geografischen Inhalt rollen.
-
In einer anderen Implementierung kann die digitale Karten- und Navigationssoftware im Steuergerät 14 implementiert werden. In diesem Fall kann das Steuergerät 14 mit dem Content-Server 18 direkt kommunizieren, und das portable Benutzergerät 12 muss nicht verwendet werden.
-
Jetzt unter Bezugnahme auf 2A, ein tragbares Benutzergerät 100 kann in einem Kommunikationssystem 10 (beispielsweise als tragbares Benutzergerät 12) oder in einer anderen geeigneten Recheneinheitsumgebung betrieben werden. Das Benutzergerät 100 umfasst Hardware, wie z. B. einen oder mehrere Prozessor(en) 102, wie beispielsweise eine Zentraleinheit (CPU), die mit einem Speicher 104 gekoppelt ist. Der Speicher 104 kann ein oder mehrere permanente Speichermodule wie einen Flash-Speicher, eine Festplatte, eine optische Disc, usw. umfassen bzw. ein oder mehrere nicht-persistente Speichermodule, wie ein Schreib-Lesespeicher mit wahlfreiem Zugriff(RAM)-Modul, das/die vorn/von den Prozessor(en) 102 gelesen werden kann/können. In einigen Implementierungen umfasst der eine oder umfassen die mehreren Prozessoren auch einen Grafikprozessor (GPU), um Grafikinhalte genauer und effizienter zu rendern. Ferner kann das Benutzergerät 100 eine drahtgebundene oder drahtlose Nahbereichs-Kommunikationsschnittstelle 106 umfassen, die ein System wie Bluetooth®, Wi-Fi Direct® oder USB und eine Fernbereichs-Kommunikationsschnittstelle 108, die ein System, wie z. B. 802.11 (Wi-Fi®) oder ein geeignetes Telefonieprotokoll, unterstützt.
-
Das Benutzergerät 100 umfasst des Weiteren Ein- und Ausgabegeräte 110, wie einen Touchscreen, ein Mikrofon, einen berührungsunempfindlichen Bildschirm, eine Tastatur, eine Maus, einen Lautsprecher usw. Darüber hinaus umfasst das Benutzergerät 10 in dieser exemplarischen Implementierung Positionierungssensor(en) 112, die beispielsweise einen GPS-Sensor bzw. einen Näherungssensor umfassen können. In einigen Ausführungsformen kann das Benutzergerät 100 seine aktuelle Position mittels der Kommunikation 106 und 108 zum Auffinden von WLAN-Hotspots mit bekannten Positionen und mittels der Durchführung einer Triangulation ermitteln. Die Komponenten 102–112 können zum Beispiel über einen digitalen Bus 120 verbunden werden.
-
Der Speicher 104 speichert ein Karten-/Navigationsmodul 132, das geografische Daten für ein Fahrzeug bereitstellt und, in einigen Fällen, Daten vom Fahrzeug empfängt. In einigen Ausführungsformen wird das Karten-/Navigationsmodul 132 als digitales Kartenmodul betrieben, das eine interaktive digitale Karte zur Anzeige über einen Bildschirm des tragbaren Gerätes 100 bzw. des Steuergerätes eines Fahrzeugs generiert. Zu diesem Zweck kann das Benutzergerät 100 geografische Daten im Vektor- bzw. Rasterformat sowie gefilterte Listen der vorgeschlagenen Ziele von einem Content-Server, wie dem Content-Server 18 aus 1, empfangen. Das Karten-/Navigationsmodul 132 kann kompilierte Anweisungen, nicht kompilierte Anweisungen oder beides umfassen, die von einem anderen Softwaremodul interpretiert werden. Das Karten-/Navigationsmodul 132 kann z. B. eine eigenständige Anwendung, eine Bibliothek oder ein Plug-in sein.
-
Das Karten-/Navigationsmodul 132 ist des Weiteren so konfiguriert, dass es eine Angabe nach Aufruf eines digitalen Kartenservice und eine Fahrzeug-ID über die Nahbereichs-Kommunikationsschnittstelle 106 empfängt, einem Content-Server (z. B. Server 18) die Angabe und die Fahrzeug-ID über die Fernbereichs-Kommunikationsschnittstelle 108 sendet und eine gefilterte Liste der vorgeschlagenen Reiseziele und die relevanten geografischen Inhalte empfängt. Wenn das Karten-/Navigationsmodul 132 in einer gefilterten Liste organisierten geografischen Inhalt empfängt, kann das Karten-/Navigationsmodul 132 zumindest einen Teil der gefilterten Liste anzeigen. Der exemplarische Betrieb des Karten-/Navigationsmoduls 132 ist unter Bezugnahme auf 4 weiter erläutert.
-
Als Nächstes zeigt 2B einen exemplarischen Content-Server 150, der beispielsweise als Content-Server 18 in 1 arbeiten kann. Der Server 150 umfasst Hardware, darunter einen oder mehrere Prozessoren 152, der/die mit einem Speicher 154 gekoppelt ist/sind. Der exemplarische Server 150 verfügt ebenfalls über eine Netzwerkschnittstelle 156 und über einen digitalen Bus 158, über den die Komponenten des Servers 150 miteinander verbunden sind. Der Speicher 154 speichert ein Datenfiltermodul 182, das ähnlich sein kann, wie das zuvor erläuterte Datenfiltermodul 28. Der Service 182 kann beispielsweise mittels auf dem/den Prozessor(en) 152 ausführbaren Softwareanweisungen implementiert werden.
-
In einem exemplarischen Szenario empfängt der Fahrzeugfilterservice 182 eine Angabe dafür, dass ein digitaler Kartenservice in einem automobilen Kontext aufgerufen wurde, einen mit dem Fahrer verbundenen Benutzernamen und eine Fahrzeug-ID. Der Service 182 kann auf eine Benutzerprofil-Datenbank zugreifen, die mit dem Content-Server 150 verbunden sein kann. Die Benutzerprofil-Datenbank kann auch im Speicher 154 implementiert werden. Der Fahrzeugfilterservice 182 erzeugt eine gefilterte Liste der vorgeschlagenen Ziele zur Übertragung auf ein tragbares Benutzergerät. Eine Beschreibung einer exemplarischen Ausführung des Services 182 erfolgt des Weiteren unter Bezugnahme auf 3,
-
Unter allgemeiner Bezugnahme auf 2A und 2B, es wird davon ausgegangen, dass das tragbare Benutzergerät 100 und der Content-Server 150 zusätzliche Komponenten enthalten können oder umgekehrt, dass einige der dargestellten Komponenten nicht implementiert werden. Des Weiteren können zwei oder mehr der dargestellten Komponenten als einzelne Komponenten implementiert werden. Darüber hinaus können einige der als einzelne Blöcke dargestellten Komponenten aus mehreren miteinander verbundenen Komponenten bestehen.
-
3 zeigt ein exemplarisches Verfahren 200 für die Kommunikation mit einem Benutzer einer gefilterten Liste von automatisch generierten geografischen Inhalten. Das Verfahren 200 kann zum Beispiel im Content-Server 18 von 1 als ein Satz von Recheneinheitsanweisungen implementiert werden.
-
Bei Block 202 wird eine Angabe, dass eine Kartensoftware in einem Fahrzeug aufgerufen wurde, empfangen. Wie vorstehend erläutert, kann die Angabe automobile Kontextdaten enthalten, einschließlich zumindest einige der folgenden Parameter: Die Kennung des erkannten Benutzers des digitalen Kartenservices, der aktuelle Ort des Fahrzeugs, eine Kennung des Fahrzeugs (wenn der Benutzer mehrere Fahrzeuge fährt). In einigen Fällen wird die Angabe zusammen mit einer Anforderung für einen geografischen Inhalt empfangen, was explizit sein kann (z. B. „den letzten geografischen Suchanfragen des Benutzers” oder „automatische Vorschläge”) oder implizit (z. B. „Bereitstellung von Navigationsanweisungen von der aktuellen Position nach Sydney”).
-
Bei Block 204 werden Benutzerprofildaten, bezeichnend für vergangene Interaktionen des Benutzers mit der digitalen Karte, abgerufen, einschließlich Bewertungen mit Zeitstempel, Suchen, Anforderungen für Navigationshinweise, usw. Als Nächstes werden bei den Blöcken 206–210 die Profildaten ausgewählt und in einer Automobil-gerechten Liste organisiert. Insbesondere ist die Liste der Angaben bezüglich zurückliegender Benutzerinteraktionen bei Block 206 chronologisch sortiert. Daten zu gesuchten Unternehmen, die sich weiter als eine bestimmte Entfernung D von der aktuellen Position des Fahrzeugs befinden, sind bei Block 208 herausgefiltert. In ähnlicher Weise können Unternehmensbewertungen und anderen Aktivitäten im Zusammenhang mit Orten, die sich in einer größeren Entfernung als D befinden, herausgefiltert werden. Bei Block 210 werden Aktivitäten, die höchstwahrscheinlich für den automobilen Kontext irrelevant sind, in der Priorität herabgestuft bzw. herausgefiltert. Zum Beispiel können Bewertungen von Unternehmen herausgefiltert werden, während Navigationsanweisungen beibehalten werden.
-
Es wird darauf hingewiesen, dass das Verfahren 200 Aktivitäten zur Auswahl und Priorisierung des geografischen Inhalts zusätzlich zu den Aktionen bezüglich der Blöcke 206–210 enthalten kann. Zum Beispiel kann der geografische Inhalt weiter im Hinblick auf das spezifische Fahrzeug, das der Benutzer fährt, gefiltert werden.
-
Bei Block 212 wird der vorgeschlagene geografische Inhalt, entsprechend der bei den Blöcken 206–210 generierten Liste, an das Client-Gerät gesendet.
-
Als Nächstes zeigt 4 ein exemplarisches Verfahren 250 zur Anzeige einer gefilterten Liste des automatisch generierten geografischen Inhalts, das beispielsweise auf dem tragbaren Gerät von 1 implementiert werden kann. Ähnlich wie bei Verfahren 200 kann das Verfahren 250 als ein auf einem nicht transitorischen computerlesbaren Medium gespeicherter Satz von Anweisungen, die auf einem oder mehreren Prozessor(en) ausgeführt werden kann/können, implementiert werden.
-
Das Verfahren 250 beginnt bei Block 252, bei ermittelt wird, dass ein Kartenservice in einem Fahrzeug aufgerufen wurde. Eine Kartenanwendung auf einem Smartphone kann zum Beispiel feststellen, dass der Benutzer die Ausgabe auf das Steuergerät eines Fahrzeugs umgelenkt hat. Eine Angabe bezüglich des aktuellen automobilen Kontextes wird bei Block 254 an den Server gesendet. Je nach Szenario kann die Angabe als Teil einer Anforderung von automatischen Vorschlägen, eine Anforderung einer Liste der letzten Aktivitäten, eine Anforderung von Navigationsanweisungen, usw. gesendet werden. Die Angabe des aktuellen automobilen Kontextes kann eine Kennung des Benutzers, eine Kennung des Fahrzeugs, die aktuelle Position des Fahrzeugs, einen Hinweis auf die aktuelle Geschwindigkeit usw. enthalten. Der geografische Inhalt wird als Reaktion auf die gesendete Angabe bei Block 256 empfangen und bei Block 258 angezeigt.
-
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 Varianten, Änderungen, Hinzufügungen und Verbesserungen fallen in den Umfang des Gegenstands der vorliegenden Offenbarung.
-
Darüber hinaus sind hierin bestimmte Ausführungsformen als enthaltene Logik oder als eine enthaltene Reihe von Komponenten oder Module beschrieben. Module können entweder Softwaremodule (z. B. Code, der auf einem maschinenlesbaren Medium gespeichert ist) oder Hardwaremodule darstellen. 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 exemplarischen Ausführungsformen können eines oder mehrere Computersysteme (z. B. ein eigenständiges, Client- oder Server-Computersystem) oder eines oder mehrere Hardwaremodule eines Computersystems (z. B. ein Prozessor oder eine Gruppe von Prozessoren) von der Software (z. B. einer Anwendung oder einem Anwendungsteil) als Hardwaremodul konfiguriert sein, um bestimmte, hierin beschriebene Operationen durchzuführen.
-
Ein Hardwaremodul kann spezielle Schaltkreise oder Logik enthalten, die permanent (z. B. als Prozessor für spezielle Zwecke wie ein feldprogrammierbarer Gate-Array-Schaltkreis (Field-Programmable Gate Array, FPGA) oder ein anwendungsspezifischintegrierter Schaltkreis (Application-Specific Integrated Circuit, ASIC)) zur Durchführung bestimmter Operationen konfiguriert sind. Ein Hardwaremodul kann außerdem programmierbare Logik oder Schaltkreise umfassen (z. B. wie in einem Allzweck-Prozessor oder einem anderen programmierbaren Prozessor eingeschlossen), der von der Software temporär für die Durchführung bestimmter Operationen konfiguriert ist. Es ist zu beachten, dass die Entscheidung, ein Hardwaremodul in einen speziellen und permanent konfigurierten Schaltkreis oder in einen temporar konfigurierten Schaltkreis (z. B. von Software konfiguriert) zu implementieren, von Kosten- und Zeitüberlegungen gesteuert sein kann.
-
Demgemäß sollte der Begriff Hardware so verstanden werden, dass er eine greifbare Entität umfasst, sei es eine Entität, die physisch konstruiert, permanent konfiguriert (z. B. hartverdrahtet) oder temporar konfiguriert (z. B. programmiert) ist, um auf bestimmte Weise zu arbeiten oder bestimmte, hierin beschriebene Operationen durchzuführen. Bei Berücksichtigung von Ausführungsformen, in denen Hardwaremodule temporär konfiguriert (z. B. programmiert) sind, müssen die jeweiligen Hardwaremodule nicht zu jeder einzelnen zeitlichen Instanz konfiguriert oder instanziiert sein. Wenn die Hardwaremodule zum Beispiel einen Allzweck-Prozessor umfassen, der für die Verwendung von Software konfiguriert ist, kann der Allzweck-Prozessor als entsprechend unterschiedliche Hardwaremodule zu verschiedenen Zeiten konfiguriert sein. Software kann demgemäß einen Prozessor zum Beispiel so konfigurieren, dass er zu einer zeitlichen Instanz ein bestimmtes Hardwaremodul und zu einer anderen zeitlichen Instanz ein anderes Hardwaremodul darstellt.
-
Hardware- und Softwaremodule können Informationen anderen Hardware- und/oder Softwaremodulen bereitstellen und Informationen von diesen empfangen. Demgemäß können die beschriebenen Hardwaremodule als kommunikativ gekoppelt betrachtet werden. Wenn mehrere solcher Hardware- oder Softwaremodule gleichzeitig vorhanden sind, kann die Kommunikation über Signalübertragung (z. B. über entsprechende Schaltkreise und Busse) erreicht werden, die mit den Hardware- oder Softwaremodulen verbunden sind. In Ausführungsformen, in denen mehrere Hardware- und Softwaremodule zu verschiedenen Zeiten konfiguriert oder instanziiert sind, kann die Kommunikation zwischen solchen Hardware- und Softwaremodulen zum Beispiel durch die Speicherung und das Abrufen von Informationen in Speicherstrukturen erreicht werden, zu denen die mehreren Hardware- und Softwaremodule Zugriff haben. Zum Beispiel kann ein Hardware- oder Softwaremodul eine Operation durchführen und den Ausgang dieser Operation in einem Speichergerät speichern, mit dem es kommunikativ gekoppelt ist. Ein weiteres Hardware- oder Softwaremodul kann dann, zu einem späteren Zeitpunkt, auf das Speichergerät zugreifen, um die gespeicherte Ausgabe abzurufen und zu verarbeiten. Hardware- und Softwaremodule können außerdem die Kommunikation mit Eingabe- und Ausgabegeräten initiieren und sie können auf einer Ressource (z. B. einer Informationssammlung) betrieben werden.
-
Die verschiedenen Operationen hierin beschriebener exemplarischer Verfahren können, zumindest teilweise, von einem oder mehreren Prozessoren durchgeführt werden, die temporär (z. B. durch Software) oder permanent für die Durchführung der relevanten Operationen konfiguriert sind. Ganz gleich, ob sie temporär oder permanent konfiguriert sind, stellen solche Prozessoren von Prozessoren implementierte Module dar, die betrieben werden, um eine oder mehrere Operationen oder Funktionen durchzuführen. Module, auf die hierin verwiesen wird, umfassen in einigen exemplarischen Ausführungsformen von Prozessoren implementierte Module.
-
Ihn ähnlicher Weise können hierin beschriebene Verfahren oder Routinen zumindest teilweise von Prozessoren implementiert sein. Zum Beispiel können zumindest einige der Operationen eines Verfahrens von einem oder mehreren Prozessoren oder durch Prozessoren implementierte Hardwaremodule durchgeführt werden. Die Durchführung bestimmter Operationen kann unter den ein oder mehreren Prozessoren verteilt sein, die sich nicht in einer einzigen Maschine befinden, sondern über eine Reihe von Maschinen bereitgestellt werden. In einigen exemplarischen Ausführungsformen können sich der Prozessor oder die Prozessoren an einem einzigen Ort (z. B. in einer Wohnungsumgebung, in einer Büroumgebung oder als eine Serverfarm) befinden, während in anderen Ausführungsformen die Prozessoren über eine Reihe von Orten verteilt sein können.
-
Die ein oder mehreren Prozessoren können auch so betrieben werden, dass sie die Durchführung der relevanten Operationen in einer „Cloud-Computer”-Umgebung oder einer SaaS unterstützen. Zum Beispiel können, wie oben angegeben, einige der Operationen durch eine Gruppe von Computer (z. B. von Maschinen einschließlich Prozessoren) durchgeführt werden, wobei dieses Operationen über ein Netzwerk (z. B. das Internet) und über eine oder mehrere geeignete Schnittstellen (z. B. APIs) zugänglich sind.
-
Die Durchführung bestimmter Operationen kann unter den ein oder mehreren Prozessoren verteilt sein, die sich nicht in einer einzigen Maschine befinden, sondern über eine Reihe von Maschinen bereitgestellt werden. In einigen exemplarischen Ausführungsformen können sich die ein oder mehreren Prozessoren oder durch Prozessoren implementierten Module an einem einzigen geografischen Ort (z. B. einer Wohnumgebung, einer Büroumgebung oder einer Serverfarm) befinden. In anderen exemplarischen Ausführungsformen können die ein oder mehreren Prozessoren oder durch Prozessoren implementierten Module über eine Reihe geografischer Orte verteilt sein.
-
Einige Teile dieser Spezifikation werden in Bezug auf Algorithmen oder symbolische Darstellungen von Operationen bei Daten dargestellt, die als Bits oder binäre digitale Signale in einem Maschinenspeicher (z. B. einem Computerspeicher) gespeichert sind. Diese Algorithmen oder symbolischen Darstellungen sind Beispiele von Techniken, die von Fachleuten der Datenverarbeitungstechnik verwendet werden, um anderen Fachleuten die wesentlichen Inhalte ihrer Arbeit zu vermitteln. Wie hierin verwendet, ist ein „Algorithmus” oder eine „Routine” eine eigenkonsistente Sequenz von Operationen oder ähnliche Verarbeitung, die zu einem gewünschten Ergebnis führt. In diesem Kontext beinhalten Algorithmen, Routinen und Operationen die physische Manipulation physischer Mengen. Normalerweise, aber nicht notwendigerweise, können solche Mengen die Form elektrischer, magnetischer oder optischer Signale annehmen, die von einer Maschine gespeichert, aufgerufen, übertragen, kombiniert, vergleichen oder sonst manipuliert werden können. Hauptsächlich aus Gründen der allgemeinen Verwendung ist es manchmal praktisch, solche Signale mithilfe von Wörtern wie „Daten”, „Inhalt”, „Bits”, „Werte”, „Elemente”, „Symbole”, „Zeichen”, „Begriffe”, „Zahlen”, „Ziffern” oder ähnlichem zu bezeichnen. Diese Wörter sind jedoch lediglich praktische Bezeichnungen und dürfen nicht mit entsprechenden physischen Mengen verbunden werden.
-
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.
-
Wie hierin verwendet, bedeuten Verweise auf „eine Ausführungsform” oder „Ausführungsformen”, dass ein bestimmtes Element, Merkmal, eine Struktur oder eine Eigenschaft, das/die in Verbindung mit der Ausführungsform beschrieben wird, zumindest in einer Ausführungsform enthalten ist. Das Erscheinen der Phrase „in einer Ausführungsform” an verschiedenen Orten in der Spezifikation bezieht sich nicht notwendigerweise immer auf dieselbe Ausführungsform.
-
Einige Ausführungsformen können mithilfe des Ausdrucks „gekoppelt” und „verbunden” zusammen mit deren Ableitungen beschrieben werden. Zum Beispiel können einige Ausführungsformen mithilfe des Begriffs „gekoppelt” beschrieben werden, um anzugeben, dass eines oder mehrere Elemente im direkten physischen oder elektrischen Kontakt sind. 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 Ausführungsformen sind in diesem Kontext nicht beschränkt.
-
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).
-
Außerdem wird „eine”, „einer” oder „eines” verwendet, um Elemente und Komponenten der Ausführungsformen hierin zu beschreiben. Dies erfolgt lediglich aus praktischen Gründen, und um eine allgemeine Vorstellung der Beschreibung zu vermitteln. Die Beschreibung sollte so gelesen werden, dass sie eines oder mindestens eines enthält, und der Singular umfasst auch den Plural, außer es ist offensichtlich anders gedacht.
-
Beim Lesen dieser Offenlegung werden Fachleute auf dem Gebiet weitere Alternativen struktureller und funktioneller Designs zur Generierung geografischer Inhalte zur Verwendung in einem Fahrzeug durch die hierin offengelegten Prinzipien erkennen. Somit sollte, während bestimmte Ausführungsformen und Anwendungen veranschaulicht und beschrieben wurden, es selbstverständlich sein, dass die offenbarten Ausführungsformen nicht auf die genaue Konstruktion und Komponenten beschränkt sind, die hierin offenbart wurden. Verschiedene Modifikationen, Änderungen und Variationen, die für Fachleute auf dem Gebiet ersichtlich werden, können in der Anordnung, dem Betrieb und in den Einzelheiten der Verfahren und der Vorrichtung, die hierin offengelegt werden, ohne Abweichung von der Idee und dem Umfang der angehängten Patentansprüche erfolgen.