Title:
VERFAHREN UND ANORDNUNG ZUR VERWALTUNG VON VERBINDUNGEN ZUR DATENÜBERTRAGUNG
Kind Code:
A1


Abstract:

Ein System schließt einen Prozessor ein, welcher zum Empfangen einer Datenübertragungsanfrage, einschließend eine Prioritätsbezeichnung, konfiguriert ist. Der Prozessor ist außerdem dazu konfiguriert, zu bestimmen, ob eine drahtlose Verbindung verfügbar ist, die eine vordefinierte Eigenschaft aufweist, die mit der Prioritätsbezeichnung assoziiert ist. Der Prozessor ist ferner dazu konfiguriert, die Anfrage unter Verwendung der Verbindung zu bearbeiten, falls verfügbar und die Anfrage für eine spätere Bearbeitung in eine Warteschlange einzureihen, wenn die Verbindung nicht verfügbar ist. embedded image




Inventors:
Makkiya, Aziz, Mich. (Troy, US)
Miramonti, Allan, Mich. (Westland, US)
Vijayan, Rajesh Balaji, Mich. (Dearborn Heights, US)
Zakaria, Tony, Mich. (Dearborn, US)
Application Number:
DE102017125568A
Publication Date:
05/09/2018
Filing Date:
11/01/2017
Assignee:
Ford Global Technologies, LLC (Mich., Dearborn, US)
International Classes:



Attorney, Agent or Firm:
Lorenz Seidler Gossel Rechtsanwälte Patentanwälte Partnerschaft mbB, 80538, München, DE
Claims:
System, umfassend:
einen Prozessor, der dazu konfiguriert ist:
eine Datenübertragungsanfrage, einschließend eine Prioritätsbezeichnung, zu empfangen;
zu bestimmen, ob eine drahtlose Verbindung verfügbar ist, die eine vordefinierte Eigenschaft aufweist, die mit der Prioritätsbezeichnung assoziiert ist;
die Anfrage unter Verwendung der Verbindung zu bearbeiten, falls verfügbar; und
die Anfrage für eine spätere Bearbeitung in eine Warteschlange einzureihen, wenn die Verbindung nicht verfügbar ist.

System nach Anspruch 1, wobei der Prozessor dazu konfiguriert ist, zu bestimmen, ob eine Verbindung in einer Vielzahl von Modulen verfügbar ist, die in einem drahtlosen Netzwerk verbunden sind, wobei jedes Modul unabhängige drahtlose Kommunikationsfähigkeiten aufweist, die dafür bereitgestellt sind.

System nach Anspruch 1, wobei die Verbindung eine Mobilfunkverbindung einschließt.

System nach Anspruch 1, wobei die Verbindung eine WLAN-Verbindung einschließt.

System nach Anspruch 1, wobei die Verbindung eine BLUETOOTH-Verbindung einschließt.

System nach Anspruch 1, wobei die Prioritätsbezeichnung eine hohe Prioritätsbezeichnung einschließt und die vordefinierte Eigenschaft eine beliebige verfügbare Verbindung ist, die außerdem eine niedrigste Latenz aufweist, wenn eine Vielzahl von Verbindungen verfügbar ist.

System nach Anspruch 1, wobei die Prioritätsbezeichnung eine mittlere Prioritätsbezeichnung einschließt und die vordefinierte Eigenschaft eine beliebige verfügbare Verbindung ist, die außerdem eine höchste Bandbreite aufweist, wenn eine Vielzahl von Verbindungen verfügbar ist.

System nach Anspruch 1, wobei die Prioritätsbezeichnung eine niedrige Prioritätsbezeichnung einschließt und die vordefinierte Eigenschaft eine beliebige verfügbare Verbindung ist, für die Übertragungskosten für die Bearbeitung der Anfrage vordefinierte maximale Kosten nicht übersteigen, die außerdem eine höchste Bandbreite aufweist, wenn eine Vielzahl von Verbindungen verfügbar ist, für die Übertragungskosten für die Bearbeitung der Anfrage vordefinierte maximale Kosten nicht übersteigen.

System nach Anspruch 1, wobei die Prioritätsbezeichnung eine Bezeichnung nur kostenlos einschließt und die vordefinierte Eigenschaft eine beliebige verfügbare Verbindung ist, für die es keine Übertragungskosten für die Bearbeitung der Anfrage gibt.

System nach Anspruch 9, wobei die Anfrage außerdem eine Ablaufsbezeichnung einschließt, wobei der Prozessor konfiguriert ist, um eine mit nur kostenlos bezeichnete Anfrage erneut zu bezeichnen, die von einer nicht kostenlosen verfügbaren Verbindung bearbeitet werden soll, wenn eine Zeitdauer, die durch die Ablaufsbezeichnung definiert ist, vorübergeht und die Anfrage noch nicht bearbeitet wurde.

System, umfassend:
einen Prozessor, der dazu konfiguriert ist:
eine Datenübertragungsanfrage, einschließend eine Prioritätsbezeichnung, von einer Anwendung zu empfangen, die in einem ersten Fahrzeugmodul, einschließend den Prozessor, ausgeführt wird;
einen Schnittstellenüberwachungsprozess eines zweiten Fahrzeugmoduls abzufragen, um zu bestimmen, ob das zweite Fahrzeugmodul eine verfügbare drahtlose Verbindung aufweist, die eine vordefinierte Eigenschaft aufweist, die mit der Prioritätsbezeichnung assoziiert ist;
das zweite Fahrzeugmodul anzuweisen, die Anfrage unter Verwendung der Verbindung zu bearbeiten, falls verfügbar; und
die Anfrage für eine spätere Bearbeitung in eine Warteschlange einzureihen, wenn die Verbindung nicht verfügbar ist.

System nach Anspruch 11, wobei die Prioritätsbezeichnung eine hohe Prioritätsbezeichnung einschließt und die vordefinierte Eigenschaft eine beliebige verfügbare Verbindung ist, die außerdem eine niedrigste Latenz aufweist, wenn eine Vielzahl von Verbindungen verfügbar ist.

System nach Anspruch 11, wobei die Prioritätsbezeichnung eine mittlere Prioritätsbezeichnung einschließt und die vordefinierte Eigenschaft eine beliebige verfügbare Verbindung ist, die außerdem eine höchste Bandbreite aufweist, wenn eine Vielzahl von Verbindungen verfügbar ist.

System nach Anspruch 11, wobei die Prioritätsbezeichnung eine niedrige Prioritätsbezeichnung einschließt und die vordefinierte Eigenschaft eine beliebige verfügbare Verbindung ist, für die Übertragungskosten für die Bearbeitung der Anfrage vordefinierte maximale Kosten nicht übersteigen, die außerdem eine höchste Bandbreite aufweist, wenn eine Vielzahl von Verbindungen verfügbar ist, für die Übertragungskosten für die Bearbeitung der Anfrage vordefinierte maximale Kosten nicht übersteigen.

System nach Anspruch 11, wobei die Prioritätsbezeichnung eine Bezeichnung nur kostenlos einschließt und die vordefinierte Eigenschaft eine beliebige verfügbare Verbindung ist, für die es keine Übertragungskosten für die Bearbeitung der Anfrage gibt.

System nach Anspruch 15, wobei die Anfrage außerdem eine Ablaufsbezeichnung einschließt, wobei der Prozessor konfiguriert ist, um eine mit nur kostenlos bezeichnete Anfrage erneut zu bezeichnen, die von einer nicht kostenlosen verfügbaren Verbindung bearbeitet werden soll, wenn eine Zeitdauer, die durch die Ablaufsbezeichnung definiert ist, vorübergeht und die Anfrage noch nicht bearbeitet wurde.

System nach Anspruch 11, wobei die Verbindung eine Mobilfunkverbindung einschließt.

System nach Anspruch 11, wobei die Verbindung eine WLAN-Verbindung einschließt.

System nach Anspruch 11, wobei die Verbindung eine BLUETOOTH-Verbindung einschließt.

System, umfassend:
einen Prozessor, der dazu konfiguriert ist:
eine Datenübertragungsanfrage, einschließend eine Bezeichnung nur kostenlos und eine Ablaufsbezeichnung, zu empfangen;
zu bestimmen, ob eine drahtlose Verbindung, die eine kostenlose Datenübertragung aufweist, für die Verwendung beim Bearbeiten der Anfrage während eines Zeitraums verfügbar wird, der durch die Ablaufsbezeichnung definiert ist;
die Anfrage unter Verwendung der Verbindung zu bearbeiten, wenn die Verbindung verfügbar wird; und
die Anfrage erneut als eine nicht kostenlose Anfrage zu bezeichnen, die von einer nicht kostenlosen verfügbaren Verbindung bearbeitet werden soll, sobald eine Zeitdauer, die durch die Ablaufsbezeichnung definiert ist, vorübergeht und die Anfrage noch nicht bearbeitet wurde.

Description:
TECHNISCHES GEBIET

Die veranschaulichten Ausführungsformen betreffen im Allgemeinen ein Verfahren und eine Anordnung zur Verwaltung von Verbindungen zur Datenübertragung.

ALLGEMEINER STAND DER TECHNIK

Bei modernen Fahrzeugen wird eine enorme Vielzahl von Datendiensten verwendet, die von fahrzeuginternen Rechensystemen bis zu einer entfernten Datenübermittlung und einem entfernten Datenzugriff reichen. Fahrzeugtelematikeinheiten stellen die Fähigkeit zum Kommunizieren mit entfernten Netzwerken bereit und diese Kommunikationsdienste können verwendet werden, um Firmware und Software zu aktualisieren, Medien zu erhalten und sie können sogar verwendet werden, um E-Mails aus dem Fahrzeug zu senden und Anrufe zu verwalten.

Die Übertragung von Daten zu und von entfernten Netzwerken macht eine gewisse Form der Verbindung erforderlich, die auf ein entferntes Netzwerk zugreifen und damit kommunizieren kann. Eine übliche Lösung für diese Notwendigkeit liegt in der Verwendung eines Mobilfunknetzes. Mobilfunknetze gehen jedoch oftmals mit Kosten einher, die mit einer Datenübertragung assoziiert sind. Während die Kosten für eine einzelne Transaktion äußerst gering sein können, wenn durch einen Erstausrüster (original equipment manufacturer - OEM) die Kosten für durch den OEM spezifizierte Transaktionen entstehen, wie etwa Diagnose und Softwareaktualisierungen, können die Kosten erheblich sein, wenn sie für alle Fahrzeuge auf der Straße addiert werden.

Die Verwendung von WLAN oder anderen ähnlichen kostengünstigen oder kostenlosen Diensten kann zu einer Datensicherung führen, jedoch kann eine Datenübertragung unter derartigen Bedingungen häufige Neustarts erforderlich machen, da sich ein Fahrzeug tendenziell bewegt, was bedeutet, dass es unwahrscheinlich ist, dass das Fahrzeug für einen längeren Zeitraum innerhalb der Reichweite einer bestimmten Verbindung bleibt. Außerdem sind derartige Dienste möglicherweise lediglich in ausgewählten Zeiträumen oder an ausgewählten Orten verfügbar, wodurch sie als einziges Mittel für die Datenübertragung eine unzuverlässige Wahl darstellen.

KURZDARSTELLUNG

In einer ersten veranschaulichenden Ausführungsform schließt ein System einen Prozessor ein, welcher zum Empfangen einer Datenübertragungsanfrage, einschließend eine Prioritätsbezeichnung, konfiguriert ist. Der Prozessor ist außerdem dazu konfiguriert, zu bestimmen, ob eine drahtlose Verbindung verfügbar ist, die eine vordefinierte Eigenschaft aufweist, die mit der Prioritätsbezeichnung assoziiert ist. Der Prozessor ist ferner dazu konfiguriert, die Anfrage unter Verwendung der Verbindung zu bearbeiten, falls verfügbar und die Anfrage für eine spätere Bearbeitung in eine Warteschlange einzureihen, wenn die Verbindung nicht verfügbar ist.

In einer zweiten veranschaulichenden Ausführungsform schließt ein System einen Prozessor ein, welcher zum Empfangen einer Datenübertragungsanfrage, einschließend eine Prioritätsbezeichnung, von einer Anwendung konfiguriert ist, die in einem ersten Fahrzeugmodul, einschließend den Prozessor, ausgeführt wird. Das System ist außerdem dazu konfiguriert, einen Schnittstellenüberwachungsprozess eines zweiten Fahrzeugmoduls abzufragen, um zu bestimmen, ob das zweite Fahrzeugmodul eine verfügbare drahtlose Verbindung aufweist, die eine vordefinierte Eigenschaft aufweist, die mit der Prioritätsbezeichnung assoziiert ist. Das System ist zusätzlich dazu konfiguriert, das zweite Fahrzeugmodul anzuweisen, die Anfrage unter Verwendung der Verbindung zu bearbeiten, falls verfügbar und die Anfrage für eine spätere Bearbeitung in eine Warteschlange einzureihen, wenn die Verbindung nicht verfügbar ist.

In einer dritten veranschaulichenden Ausführungsform schließt ein System einen Prozessor ein, welcher zum Empfangen einer Datenübertragungsanfrage, einschließend eine Bezeichnung nur kostenlos und eine Ablaufsbezeichnung, konfiguriert ist. Der Prozessor ist außerdem dazu konfiguriert, zu bestimmen, ob eine drahtlose Verbindung, die eine kostenlose Datenübertragung aufweist, für die Verwendung beim Bearbeiten der Anfrage während eines Zeitraums verfügbar wird, der durch die Ablaufsbezeichnung definiert ist. Der Prozessor ist zusätzlich dazu konfiguriert, die Anfrage unter Verwendung der Verbindung zu bearbeiten, wenn die Verbindung verfügbar wird und die Anfrage erneut als eine nicht kostenlose Anfrage zu bezeichnen, die von einer nicht kostenlosen verfügbaren Verbindung bearbeitet werden soll, sobald eine Zeitdauer, die durch die Ablaufsbezeichnung definiert ist, vorübergeht und die Anfrage noch nicht bearbeitet wurde.

Figurenliste

  • 1 zeigt ein veranschaulichendes Fahrzeugrechensystem;
  • Die 2A und 2B zeigen ein veranschaulichendes System zur Verwaltung von Datenverbindungen;
  • 3 zeigt einen veranschaulichenden Prozess zur Bearbeitung einer Datenübertragungsanfrage;
  • 4 zeigt einen veranschaulichenden Datenübertragungsprozess;
  • 5 zeigt eine veranschaulichende Steuerschnittstelle für die Datenübertragung;
  • Die 6A-6C zeigen einen veranschaulichenden Datenübertragungsprozess unter Verwendung einer sekundären Vorrichtung; und
  • Die 7A-7C zeigen einen veranschaulichenden Datenübertragungsprozess zum Vereinfachen einer eingeschränkten Datenübertragung.

DETAILLIERTE BESCHREIBUNG

Detaillierte Ausführungsformen der vorliegenden Erfindung sind hier je nach Bedarf offenbart; es versteht sich jedoch, dass die offenbarten Ausführungsformen rein exemplarisch für die Erfindung stehen, welche in verschiedenen und alternativen Formen ausgeführt sein kann. Die Figuren sind nicht zwingend maßstabsgetreu; einige Merkmale können vergrößert oder verkleinert dargestellt sein, um Einzelheiten bestimmter Komponenten zu zeigen. Dementsprechend sind hier offenbarte spezifische strukturelle und funktionelle Einzelheiten nicht als einschränkend auszulegen, sondern lediglich als repräsentative Grundlage, um einen Fachmann eine vielfältige Verwendung der vorliegenden Erfindung zu lehren.

1 veranschaulicht eine beispielhafte Blockstruktur für ein fahrzeugbasiertes Rechensystem 1 (VCS) für ein Fahrzeug 31. Ein Beispiel für ein derartiges fahrzeugbasiertes Rechensystem 1 ist das SYNC-System, hergestellt durch THE FORD MOTOR COMPANY. Ein mit einem fahrzeugbasierten Rechensystem ausgestattetes Fahrzeug kann eine visuelle Frontend-Schnittstelle 4 enthalten, welche sich im Fahrzeug befindet. Der Benutzer kann zudem in der Lage sein, mit der Schnittstelle, sofern sie bereitgestellt ist, zu interagieren, beispielsweise über einen berührungsempfindlichen Bildschirm. Bei einer anderen veranschaulichenden Ausführungsform erfolgt die Interaktion durch das Betätigen von Tasten, ein Sprachdialogsystem mit automatischer Spracherkennung und Sprachsynthese.

Bei der in 1 gezeigten veranschaulichenden Ausführungsform 1 steuert ein Prozessor 3 mindestens einen Teil des Betriebs des fahrzeugbasierten Rechensystems. Der in dem Fahrzeug angeordnete Prozessor ermöglicht das Verarbeiten von Befehlen und Routinen innerhalb des Fahrzeugs. Ferner ist der Prozessor sowohl mit nicht dauerhaften 5 als auch dauerhaften Speichern 7 verbunden. Bei dieser veranschaulichenden Ausführungsform handelt es sich bei dem nicht dauerhaften Speicher um einen Direktzugriffsspeicher (RAM) und bei dem dauerhaften Speicher um einen Festplattenspeicher (HDD) oder Flash-Speicher. Im Allgemeinen kann der dauerhafte (nicht flüchtige) Speicher alle Speicherformen einschließen, die Daten behalten, wenn ein Computer oder eine andere Vorrichtung abgeschaltet wird. Diese schließen unter anderem HDDs, CDs, DVDs, Magnetbänder, Festkörperlaufwerke, tragbare USB-Laufwerke und jede andere geeignete Form von dauerhaftem Speicher ein.

Der Prozessor ist zudem mit einer Reihe unterschiedlicher Eingänge ausgestattet, wodurch der Benutzer eine Verbindung mit dem Prozessor herstellen kann. Bei dieser veranschaulichenden Ausführungsform sind jeweils ein Mikrofon 29, ein Hilfseingang 25 (für Eingang 33), ein USB-Eingang 23, ein GPS-Eingang 24, Bildschirm 4, der eine Touchscreen-Anzeige sein kann, und ein BLUETOOTH-Eingang 15 bereitgestellt. Eine Eingangswähleinheit 51 ist ebenfalls bereitgestellt, damit ein Benutzer zwischen verschiedenen Eingängen wechseln kann. Eingaben sowohl zu dem Mikrofon als auch dem Hilfsanschluss werden durch einen Wandler 27 von analog zu digital umgewandelt, bevor sie zum Prozessor weitergeleitet werden. Wenngleich nicht gezeigt, können zahlreiche der Fahrzeugkomponenten und Hilfskomponenten, die mit dem VCS in Kommunikation stehen, ein Fahrzeugnetzwerk (wie beispielsweise unter anderem einen CAN-Bus) verwenden, um Daten an das und vom VCS (oder Komponenten davon) weiterzuleiten.

Ausgänge zu dem System können unter anderem eine visuelle Anzeige 4 und einen Lautsprecher 13 oder eine Stereosystemausgabe einschließen. Der Lautsprecher ist an einen Verstärker 11 angeschlossen und empfängt sein Signal durch einen Digital-Analog-Wandler 9 vom Prozessor 3. Eine Ausgabe kann zudem zu einer entfernten BLUETOOTH-Vorrichtung erfolgen, wie etwa PND 54 oder eine USB-Vorrichtung, wie etwa die Fahrzeugnavigationsvorrichtung 60 entlang der bidirektionalen Datenströme, die bei 19 bzw. 21 gezeigt sind.

Bei einer veranschaulichenden Ausführungsform verwendet das System 1 den BLUETOOTH-Sendeempfänger 15, um mit dem Mobilgerät 53 eines Benutzers zu kommunizieren 17 (z. B. Mobiltelefon, Smartphone, PDA oder jede andere WLAN-fähige Einrichtung). Das Mobilgerät kann anschließend verwendet werden, um beispielsweise durch Kommunikation 55 mit einem Mobilfunkmast 57 mit einem Netzwerk 61 außerhalb des Fahrzeugs 31 zu kommunizieren 59. Bei einigen Ausführungsformen kann es sich bei dem Mast 57 um einen WLAN-Zugangspunkt handeln.

Eine beispielhafte Kommunikation zwischen dem Mobilgerät und dem BLUETOOTH-Sendeempfänger wird durch das Signal 14 dargestellt.

Das Koppeln eines Mobilgerätes 53 mit dem BLUETOOTH-Sendeempfänger 15 kann durch eine Taste 52 oder eine ähnliche Eingabe vorgegeben werden. Dementsprechend wird die CPU angewiesen, dass der im Fahrzeug integrierte BLUETOOTH-Sendeempfänger mit einem BLUETOOTH-Sendeempfänger eines Mobilgerätes gekoppelt wird.

Zwischen der CPU 3 und dem Netzwerk 61 können Daten beispielsweise unter Verwendung eines Datentarifs, Daten über Sprache oder DTMF-Töne kommuniziert werden, welche mit dem Mobilgerät 53 assoziiert sind. Als Alternative kann es wünschenswert sein, ein bordeigenes Modem 63 vorzusehen, das eine Antenne 18 aufweist, um Daten zwischen der CPU 3 und dem Netzwerk 61 über das Sprachband zu kommunizieren 16. Das Mobilgerät 53 kann anschließend verwendet werden, um beispielsweise durch Kommunikation 55 mit einem Mobilfunkmast 57 mit einem Netzwerk 61 außerhalb des Fahrzeugs 31 zu kommunizieren 59. Bei einigen Ausführungsformen kann das Modem 63 eine Kommunikation 20 mit dem Mast 57 herstellen, um mit dem Netzwerk 61 zu kommunizieren. Als nicht einschränkendes Beispiel kann es sich beim Modem 63 um ein USB-Mobilfunkmodem und bei der Kommunikation 20 um eine Mobilfunkkommunikation handeln.

Bei einer veranschaulichenden Ausführungsform ist der Prozessor mit einem Betriebssystem bereitgestellt, das eine API zum Kommunizieren mit einer Modemanwendungssoftware einschließt. Die Modemanwendungssoftware kann auf ein eingebettetes Modul oder eine Firmware auf dem BLUETOOTH-Sendeempfänger zugreifen, um die drahtlose Kommunikation mit einem entfernten BLUETOOTH-Sendeempfänger (wie beispielsweise der in einem Mobilgerät) abzuschließen. Bei Bluetooth handelt es sich um eine Teilmenge der IEEE-802-PAN(Personal Area Network)-Protokolle. IEEE-802-LAN(Local Area Network)-Protokolle schließen WLAN ein und haben eine beträchtliche Kreuzfunktionalität mit IEEE 802 PAN. Beide eignen sich für die drahtlose Kommunikation in einem Fahrzeug. Ein weiteres Kommunikationsmittel, welches in diesem Bereich eingesetzt werden kann, sind die optische Freiraumkommunikation (wie beispielsweise IrDA) und nicht standardisierte Verbraucher-IR-Protokolle.

Bei einer anderen Ausführungsform beinhaltet das Mobilgerät 53 ein Modem zur Sprachband- oder Breitbanddatenkommunikation. Bei der Daten-über-Sprache-Ausführungsform kann eine Technik implementiert werden, welche als Frequenzmultiplexverfahren bekannt ist, wenn der Besitzer des Mobilgerätes bei gleichzeitiger Datenübertragung über die Vorrichtung sprechen kann. Zu anderen Zeitpunkten, wenn der Besitzer die Vorrichtung nicht verwendet, kann für die Datenübertragung die ganze Bandbreite (300 Hz bis 3,4 kHz in einem Beispiel) verwendet werden. Obwohl das Frequenzmultiplexverfahren bei der analogen Mobilfunkkommunikation zwischen dem Fahrzeug und dem Internet geläufig sein kann und nach wie vor verwendet wird, wurde es weitgehend durch Hybriden von Codemultiplexverfahren (CDMA), Zeitmultiplexverfahren (TDMA), Raummultiplexverfahren (SDMA) für eine digitale Mobilfunkkommunikation ersetzt. Hierbei handelt es sich insgesamt um ITU-IMT-2000-(3G)-konforme Standards, welche Datenübertragungsgeschwindigkeiten von bis zu 2 MB für stationäre oder laufende Benutzer und 385 KB für Benutzer in einem sich bewegenden Fahrzeug bieten. 3G-Standards werden aktuell durch IMT-Advanced (4G) ersetzt, welcher 100 MB für Benutzer in einem Fahrzeug und 1 GB für stationäre Benutzer bietet. Ist das Mobilgerät des Benutzers mit einem Datentarif assoziiert, besteht die Möglichkeit, dass der Datentarif eine Breitbandübertragung erlaubt und das System eine wesentlich größere Bandbreite nutzen könnte (wodurch sich die Datenübertragungsgeschwindigkeit erhöht). Bei noch einer anderen Ausführungsform wird das Mobilgerät 53 durch eine Mobilfunkkommunikationsvorrichtung (nicht gezeigt) ersetzt, welche im Fahrzeug 31 verbaut ist. Bei noch einer weiteren Ausführungsform kann die ND 53 eine Vorrichtung eines drahtlosen lokalen Netzwerks (LAN) sein, die zum Beispiel (und ohne Beschränkung) über ein 802.11g-Netzwerk (d.h. WLAN) oder ein WiMax-Netzwerk kommunizieren kann.

Bei einer Ausführungsform können ankommende Daten durch das Mobilgerät über Daten-über-Sprache oder einen Datentarif durch den bordeigenen BLUETOOTH-Sendeempfänger und in den internen Prozessor 3 des Fahrzeugs weitergeleitet werden. Im Falle bestimmter temporärer Daten können die Daten zum Beispiel auf dem HDD oder einem anderen Speichermedium 7 gespeichert werden, bis die Daten nicht mehr benötigt werden.

Zusätzliche Quellen, welche eine Verbindung mit dem Fahrzeug herstellen können, sind eine persönliche Navigationsvorrichtung 54, beispielsweise mit einem USB-Anschluss 56 und/oder einer Antenne 58, eine im Fahrzeug integrierte Navigationsvorrichtung 60 mit einem USB- 62 oder einem anderen Anschluss, eine bordeigene GPS-Vorrichtung 24 oder ein separates Navigationssystem (nicht dargestellt) mit Konnektivität zum Netzwerk 61. Bei USB handelt es sich um eines einer Klasse serieller Netzwerkprotokolle. Die seriellen Protokolle IEEE 1394 (FireWire™ (Apple), i.LINK™ (Sony) und Lynx™ (Texas Instruments)), EIA (Electronics Industry Association), IEEE 1284 (Centronics Port), S/PDIF (Sony/Philips Digital Interconnect Format) und USB-IF (USB Implementers Forum) bilden das Rückgrat der seriellen Vorrichtung-zu-Vorrichtung-Standards. Die Mehrheit der Protokolle kann entweder für die elektrische oder die optische Kommunikation implementiert werden.

Darüber hinaus könnte die CPU mit einer Vielzahl anderer Hilfsvorrichtungen 65 in Kommunikation stehen. Diese Vorrichtungen können über eine drahtlose 67 oder drahtgebundene 69 Verbindung verbunden sein. Zu den Hilfsvorrichtungen 65 können unter anderem persönliche Medienwiedergabegeräte, drahtlose Gesundheitsgeräte, tragbare Computer und dergleichen gehören.

Darüber hinaus oder alternativ könnte die CPU mit einem fahrzeugbasierten drahtlosen Router 73 verbunden sein, beispielsweise unter Verwendung eines WLAN-Sendeempfängers 71 (IEEE 803.11). Dadurch könnte die CPU eine Verbindung zu Fernnetzwerken im Bereich des lokalen Routers 73 herstellen.

Neben der Ausführung beispielhafter Prozesse durch ein sich in einem Fahrzeug befindliches Fahrzeugrechensystem können die beispielhaften Prozesse bei bestimmten Ausführungsformen durch ein Rechensystem ausgeführt werden, welches mit einem Fahrzeugrechensystem in Kommunikation steht. Zu einem derartigen System können unter anderem eine drahtlose Vorrichtung (z. B. unter anderem ein Mobiltelefon) oder ein entferntes Rechensystem (z. B. unter anderem ein Server) gehören, welches über die drahtlose Vorrichtung verbunden ist. Zusammen können derartige Systeme als fahrzeugassoziierte Rechensysteme (VACS) bezeichnet werden. Bei bestimmten Ausführungsformen können bestimmte Komponenten des VACS bestimmte Teile eines Prozesses ausführen, wobei dies von der bestimmten Umsetzung des Systems abhängt. Wenn ein Prozess beispielsweise und nicht einschränkend einen Schritt des Sendens oder Empfangs von Informationen mit einer gekoppelten drahtlosen Vorrichtung aufweist, ist es wahrscheinlich, dass die drahtlose Vorrichtung den Teil des Prozesses nicht ausführt, da die drahtlose Vorrichtung Informationen nicht sich selbst bzw. von sich selbst „senden und empfangen“ würde. Ein Durchschnittsfachmann wird verstehen, wann es unangemessen ist, ein bestimmtes Rechensystem für eine gegebene Lösung anzuwenden.

Bei jeder hierin erörterten veranschaulichenden Ausführungsform wird ein beispielhaftes nicht einschränkendes Beispiel eines Prozesses, der von einem Rechensystem durchführbar ist, dargestellt. Bezüglich jedes Prozesses kann das Rechensystem den Prozess ausführen, um, für den begrenzten Zweck der Ausführung des Prozesses, als ein Spezialprozessor konfiguriert zu werden, um den Prozess durchzuführen. Alle Prozesse müssen nicht in ihrer Gesamtheit durchgeführt werden und werden als Beispiele von Arten von Prozessen verstanden, die durchgeführt werden können, um Elemente der Erfindung zu erreichen. Zusätzliche Schritte können nach Bedarf zu den beispielhaften Prozessen hinzugefügt oder daraus entfernt werden.

In Bezug auf die veranschaulichenden Ausführungsformen, die in den Figuren beschrieben sind, ist anzumerken, dass ein Universalprozessor temporär als ein Spezialprozessor zum Zwecke des Ausführens einiger oder aller der beispielhaften Verfahren, welche hier dargestellt werden, aktiviert werden kann. Wenn Code ausgeführt wird, der Anweisungen zum Durchführen einiger oder aller Schritte des Verfahrens bereitstellt, kann der Prozessor temporär erneut als ein Spezialprozessor eingesetzt werden, und zwar solange, bis das Verfahren abgeschlossen ist. In einem weiteren Beispiel kann, bis zu einem angemessenen Grad, Firmware, die in Übereinstimmung mit einem vorkonfigurierten Prozessor handelt, bewirken, dass der Prozessor als ein Spezialprozessor handelt, der zum Zwecke des Durchführens des Verfahrens oder einer angemessenen Variation davon bereitgestellt ist.

Bei vielen Fahrzeugtelematikeinheiten werden Daten auf eine nicht optimierte und teure Weise verwendet. Im Wesentlichen führen diese Einheiten Datenübertragungen auf Anfrage unter Verwendung beliebiger Verbindungsressourcen durch, die zu dem Zeitpunkt gerade verfügbar sind. In einigen Fällen verwenden die Systeme nicht einmal die kostengünstigsten oder schnellsten verfügbaren Ressourcen, sondern halten stattdessen an einem reinen Cellular-Modell fest.

Obwohl Mobilfunkdatendienste pro Instanz günstig sind, sind sie in der Summe ziemlich teuer und entsprechen oftmals nicht der schnellsten verfügbaren Verbindung. Da es im ganzen Land immer mehr kostenlose drahtlose Hotspots gibt und der Einsatz von Millionen von DSRC-Hotspots in einer Straßennetzinfrastruktur geplant ist, gibt es bereits eine große Anzahl von verfügbaren Alternativen zu Mobilfunknetzen für die Datenübertragung.

Außerdem verfügen die meisten Benutzer über ein drahtloses Heimnetzwerk und da die über dieses Netzwerk übertragenen Daten, ungeachtet des Volumens, (zumindest im Moment) kostenlos sind, stellen diese Heimnetzwerke eine kostbare Ressource in dem Options-Pool für die Datenübertragung dar. Vorteile des Mobilfunks liegen darin, dass dadurch eine weite Reichweite und eine einheitliche Abdeckung bereitgestellt werden, und dass ein OEM niemanden, einschließend einen Fahrer, um Erlaubnis bitten muss, um das Netzwerk zu verwenden, wenn der OEM die Abonnementkosten bezahlt. Es ist jedoch unwahrscheinlich, dass viele Fahrer Einwände dagegen erheben, dass ihre eigenen persönlichen Fahrzeuge ihre eigenen persönlichen Netzwerke zum Übertragen von Daten verwenden, besonders wenn diese Daten konzipiert sind, um das Fahrzeug zu verbessern (wie etwa OTA-Aktualisierungen).

In den veranschaulichenden Ausführungsformen bearbeitet eine fahrzeuginterne Verbindungsverwaltungseinrichtung fahrzeuginterne Datenübertragungsanfragen von Anwendungen. Die Verbindungsverwaltungseinrichtung bearbeitet außerdem einen Failover zwischen Datenübertragungsoptionen, wobei Optionen mit ausreichender Bandbreite und Latenz gefunden werden (auf Grundlage von durch eine Anfrage spezifizierten oder präspezifizierten Parametern). Ferner bearbeitet die veranschaulichende Verbindungsverwaltungseinrichtung Anfragen, die als „nur kostenlos“ oder „vorzugsweise kostenlos“ bezeichnet werden, wie etwa nicht-zeitkritische Anfragen.

Eine Anwendung kann eine Prioritätseinstufung identifizieren, welche die Verbindungsverwaltungseinrichtung verwenden kann, um zu bestimmen, welche Schnittstellen verwendet werden sollen, um die Anfrage zu verarbeiten, und wann die Anfrage verarbeitet werden soll. Zum Beispiel können Anfragen mit hoher Priorität die Schnittstelle mit der niedrigsten Latenz verwenden und unmittelbar unter Verwendung einer beliebigen verfügbaren Schnittstelle ausgeführt werden. Anfragen mit mittlerer Priorität können die Schnittstelle mit der höchsten Bandbreite verwenden und erneut unmittelbar ausgeführt werden. Anfragen mit niedriger Priorität können die Verbindung mit der höchsten verfügbaren Bandbreite verwenden, die außerdem unterhalb eines bestimmten Kostenpunkts liegt, wobei die Ausführung bei Bedarf zumindest um einen vorher festgelegten Zeitraum verzögert wird, bis eine kostengünstige Verbindung verfügbar wird.

Einige Anfragen können außerdem als „nur kostenlos“ oder „kostenlos bevorzugt“ bezeichnet werden, wodurch angezeigt wird, dass die Anfrage bis zu einem derartigen Zeitpunkt verzögert werden soll, zu dem eine kostenlose Übertragungsverbindung verfügbar ist. Diese Anfragen können außerdem ein bezeichnetes Time-out aufweisen, das damit assoziiert oder vordefiniert ist, welches spezifiziert, dass die Anfrage von beliebigen oder bezeichneten verfügbaren nicht kostenlosen Schnittstellen verarbeitet wird, wenn eine kostenlose Schnittstelle nicht verfügbar wird, bevor der Zeitraum abläuft. Andere Anfragen können als „Off-Peak“ oder „nur bei Nacht“ bezeichnet werden, wodurch die Anfrage verzögert wird, bis eine Off-Peak-Übertragung oder eine Übertragung bei Nacht (vermutlich mit geringeren Kosten) verfügbar ist. In diesem Fall kann die Verbindungsverwaltungseinrichtung die TCU zu einer Off-Peak- oder Nachtzeit aktivieren, um die Anfrage durchzuführen, wenn das Fahrzeug zu der benötigten Zeit nicht bereits verwendet wird.

Die 2A und 2B zeigen ein veranschaulichendes System zur Verwaltung von Datenverbindungen. In diesem veranschaulichenden Beispiel schließt das System ein Mobilfunkmodem 201 und eine Infotainmenteinheit 231 ein. Das in 2A gezeigte Mobilfunkmodem 201 schließt einen Daemon der Datenverbindungsverwaltungseinrichtung des Mobilfunkmodems ein. Eine Anwendung, die in dem Fahrzeug oder einer elektronischen Steuereinheit (ECU) des Fahrzeugs ausgeführt wird, fordert eine Datenübertragung an 203 und der Prozess leitet die Anfrage zu einem Anfragen-Handler 205 weiter. Die Anfrage kann Übertragungsanforderungen und/oder eine Prioritätsbezeichnung einschließen. In einigen Fällen kann die Prioritätsbezeichnung dazu dienen, die Übertragungsanforderungen zu spezifizieren.

In Abhängigkeit von der Art der benötigten Übertragung (unmittelbar oder verzögert) kann der Anfragen-Handler die Anfrage in eine Warteschlange für eine unmittelbare Übertragung schieben 207 oder er kann die Anfrage in eine Verzögerungswarteschlange schieben, welche die Bearbeitung der Anfrage bis zu einem passenden Zeitpunkt verzögern kann (spezifiziert durch den bzw. die Parameter oder die Priorität, der bzw. die mit der Anfrage assoziiert ist bzw. sind).

Die Verbindungsverwaltungseinrichtung kann außerdem die Warteschlange für die unmittelbare Übertragung verarbeiten 211, woraus sich in Abhängigkeit von den Ergebnissen einer Abfrage von verfügbaren Schnittstellen 213 eine Bearbeitung von einigen oder allen Anfragen in der Warteschlange für die unmittelbare Übertragung ergeben kann. Da bestimmte Anfragen eine bestimmte Latenz oder Bandbreite spezifizieren können, müssen diese Anfragen nicht zwangsläufig bearbeitet werden, sofern nicht eine Schnittstelle vorliegt, die Eigenschaften aufweist, die ausreichen, um den Parametern zu entsprechen.

Ein ähnliches Paradigma kann für die Bearbeitung der Verzögerungswarteschlange der Anfrage verfolgt werden 215, welche andere Schnittstellenanforderungen aufweisen kann, die mit den darin gespeicherten Anfragen assoziiert sind, jedoch Anfragen auf Grundlage der Eigenschaften von verfügbaren Schnittstellen im Vergleich zu den Einschränkungen, die mit den Anfragen assoziiert sind, auf ähnliche Weise verzögern oder bearbeiten wird.

Sobald die Verbindungsverwaltungseinrichtung bestimmt, dass die Bearbeitung einer Anfrage unter den aktuellen Bedingungen für eine gegebene Anfrage angemessen ist, kann der Prozess einen Übertragungs-Worker-Prozess 217 zuweisen, um die Übertragung zu bearbeiten. Mit einem Überwachungsprozess kann die Bearbeitung der Anfrage durch die Worker überwacht werden 219 und es kann ein Failover bearbeitet werden, der aufgrund des Verlusts der Verfügbarkeit einer bestimmten Verbindung oder Schnittstelle oder der Änderung einer Eigenschaft auftreten kann.

In diesem Beispiel weist das Mobilfunkmodem WLAN- 223 und Mobilfunk- 225 Optionen zur Verwendung bei der Bearbeitung einer Datenübertragung, sowie eine Ethernetverbindung 221, auf, um Übertragungsanfragen von einem anderen Modul, wie etwa der Infotainmenteinheit 231, zu bearbeiten.

2B zeigt die Infotainmenteinheit 231, welche außerdem eine Ethernetverbindung 251 einschließt, um Anfragen zu anderen Modulen weiterzuleiten und/oder Übertragungsanfragen von anderen Modulen zu empfangen.

In dieser veranschaulichenden Ausführungsform fordert eine andere Anwendung 233 eine Datenübertragung durch die Infotainmenteinheit an. Die Infotainmentverbindungsverwaltungseinrichtung schließt einen Anfragen-Handler ein 235, welcher außerdem Anfragen zu dem Mobilfunkmodem weiterleiten kann, wenn der Infotainmenteinheit eine konsistente Verbindung (wie etwa Mobilfunk) für die unmittelbare Bearbeitung von Anfragen mit höherer Priorität fehlt.

Wenn die Anfrage eine unmittelbare Verarbeitung auf Grundlage von Parametern anfordert, die mit der Anfrage assoziiert sind, einschließend eine Prioritätseinstufung, kann die Infotainmentverbindungsverwaltungseinrichtung die Anfrage in eine Warteschlange für einen unmittelbaren Download schieben 239. Diese Warteschlange für einen unmittelbaren Download kann zumindest teilweise von einer Mobilfunkverbindung versorgt werden, die von dem Mobilfunkmodem bereitgestellt wird und/oder der Anfragen-Handler kann unmittelbare Anfragen in den Mobilfunkanfragen-Handler-Prozess schieben, wenn keine unmittelbare Verbindung verfügbar ist, um eine Warteschlange für einen unmittelbaren Download in der Infotainmenteinheit zu versorgen. Zusätzlich oder alternativ kann der Prozess, wenn die Infotainmenteinheit versucht, die Anfragen der Warteschlange für einen unmittelbaren Download zu bearbeiten, bestimmen, dass einige oder alle Anfragen für eine unmittelbare Übertragung zu der Mobilfunkmodemeinheit weitergeleitet werden sollen, wenn es der Prozess nicht schafft, die Anfragen unter Verwendung von Schnittstellen zu bearbeiten, die für die Infotainmenteinheit verfügbar sind.

Für Anfragen, mit denen eine verzögerte Verarbeitung angefordert wird (z. B. Anfragen für nachts oder nur kostenlos), kann der Prozess diese Anfragen in die Verzögerungswarteschlange schieben 237. Wie bei der unmittelbaren Warteschlange in dem Modul der Infotainmenteinheit kann der Prozess Anfragen der Verzögerungswarteschlange zu einem geeigneten Zeitpunkt zu dem Mobilfunkmodemmodul schieben, wenn die Verzögerungswarteschlange keinen Zugriff auf eine geeignete Schnittstelle zum Bearbeiten der Anfrage hat (z. B., ohne Einschränkung, keine WLAN-Netzwerkverbindung zum Bearbeiten von Anfragen für nur kostenlos, oder keine Mobilfunkverbindung oder WLAN-Verbindung zum Bearbeiten von Anfragen für nachts). Der Prozess kann die Verfügbarkeit von Schnittstellen zur Verwendung durch jede Warteschlange durch Abfragen zu der Infotainment-Schnittstellenüberwachungseinrichtung 241 bestimmen.

Für beliebige Anfragen, bei denen eine Schnittstelle verfügbar ist, welche die Einschränkungen der Anfrage erfüllt, kann der Prozess einen Übertragungs-Worker 247 initiieren und die Übertragung überwachen 249, falls ein Failover aufgrund des Verlusts einer Verbindung oder der Änderung des Status einer Verbindung benötigt wird (z. B. Übergang von kostenlos zu kostenbasiert, Nacht zu Tag usw.).

Verschiedene unterschiedliche Fahrzeugmodule können eine unabhängige Kommunikationsfähigkeit aufweisen, welche zum Beispiel den Zugriff auf ein von einem Modul bereitgestelltes Modem oder einen WLAN-Sendeempfänger oder andere drahtlose Kommunikationskomponenten einschließen kann, die für dieses bestimmte Modul und für eine Verwendung durch dieses bereitgestellt werden. Die veranschaulichenden Ausführungsformen ermöglichen, dass alternative Module in einem Fahrzeugnetzwerk die Kommunikationsfähigkeiten von anderen Modulen verwenden können.

3 zeigt einen veranschaulichenden Prozess zur Bearbeitung einer Datenübertragungsanfrage. In diesem veranschaulichenden Beispiel empfängt ein Prozess zur Bearbeitung einer Anfrage eine Anfrage für die Datenübertragung von einer fahrzeuginternen Anwendung 301. Die Anfrage kann ein Zielsystem zum Bereitstellen/Empfangen der Übertragung und einen lokalen Dateinamen zum Speichern von/Zugriff auf eine(r) Übertragung einschließen. Der Prozess extrahiert diese Parameter aus der Anfrage 303 sowie eine Prioritätsbezeichnung der Anfrage 305.

Der Prozess kann die Anfrage auf Grundlage einer Prioritätseinstufung in einer Warteschlange für einen unmittelbaren Download platzieren, wenn eine einzige Warteschlange für einen unmittelbaren Download verwendet wird. In einem alternativen Beispiel können mehrere Warteschlangen verwendet werden, wobei sich der Prozess zu einer Warteschlange mit niedrigerer Priorität bewegt, falls und wenn Warteschlangen mit höherer Priorität leer sind. In diesem Beispiel verwendet der Prozess eine Warteschlange für einen unmittelbaren Download und eine Verzögerungswarteschlange. Die Verzögerungswarteschlange enthält Anfragen für nur kostenlos, mit denen außerdem eine Verzögerung assoziiert ist, welche erneut in die Warteschlange für einen unmittelbaren Download für eine Ausführung durch die Mobilfunkverbindung eingereiht werden können, wenn keine Schnittstelle für die kostenlose Datenübertragung innerhalb des Verzögerungszeitraums verfügbar wird.

In diesem Beispiel reiht der Prozess die Anfrage, wenn die Anfrage eine Anfrage mit hoher Priorität ist 307, über der obersten Anfrage mit mittlerer Priorität ein 309. Wenn die Anfrage eine Anfrage mit mittlerer Priorität ist 311, reiht der Prozess die Anfrage über der obersten Anfrage mit niedriger Priorität ein 313. Wenn die Anfrage eine Anfrage mit niedriger Priorität ist 317, reiht der Prozess die Anfrage über der obersten Anfrage für nur kostenlos ein 315. Dadurch wird eine First-In-First-Out-Ordnung von Anfragen erreicht, wobei eine Prioritätseinstufung eine höhere Verarbeitungspriorität für eine Anfrage bereitstellt. Andere Modelle können ebenso verwendet werden, dies ist lediglich ein veranschaulichendes Verfahren für das Bilden einer Warteschlange.

Andere verbleibende Anfragen werden als Anfragen für nur kostenlos eingestellt 319, da die Anfrage in diesem Beispiel eine hohe, mittlere oder niedrige Priorität oder eine Priorität für nur kostenlos aufweist. Wenn die Anfrage für nur kostenlos eine Ablaufzeit für den Zeitraum nur kostenlos aufweist 321, reiht der Prozess die Anfrage in eine Verzögerungswarteschlange ein. Die Verzögerungswarteschlange bewahrt Anfragen für nur kostenlos für einen definierten Zeitraum (welcher für alle Anfragen als eine Gruppe oder einzeln definiert werden kann) auf und dann bewegt der Prozess Anfragen für nur kostenlos für eine Verarbeitung durch eine Mobilfunkschnittstelle, wenn verfügbar, zu der Warteschlange für die unmittelbare Übertragung. Der Prozess platziert Anfragen für nur kostenlos ohne Ablaufzeit unten in der Warteschlange für die unmittelbare Bearbeitung.

4 zeigt einen veranschaulichenden Datenübertragungsprozess. In diesem Beispiel erhält der Prozess eine Anfrage von der Warteschlange für die unmittelbare Bearbeitung 401. Wenn die Warteschlange für die unmittelbare Bearbeitung leer ist 403, kann der Prozess eine Anfrage aus der Warteschlange zur Bearbeitung einer Verzögerung abrufen 405, die Anfragen für nur kostenlos mit einer definierten Ablaufzeit enthält.

Der Prozess fragt dann verfügbare Verbindungsschnittstellen ab 407, um zu bestimmen, ob die Anfrage unter Verwendung der Parameter und/oder Einschränkungen erfüllt werden kann, die mit der Anfrage assoziiert sind 407. Wenn die Anfrage unter den assoziierten Einschränken erfüllt werden kann, beginnt der Prozess mit der Übertragung 413 gemäß der Anfrage unter Verwendung einer Schnittstelle, welche die Einschränkungen erfüllt. Wenn die Verbindung an einem Punkt verlorengeht 415, kann der Prozess einen Status der Übertragung sichern 417 und prüfen, ob eine andere verfügbare Schnittstelle die Einschränkungen erfüllt 409. Wenn keine Schnittstelle verfügbar ist, kann der Prozess die Anfrage erneut in eine Warteschlange einreihen 411 und zu einer nächsten Anfrage in der Warteschlange übergehen.

Zu jedem Zeitpunkt, zu dem der Prozess die Bearbeitung einer Datenübertragung versucht, was fortlaufend sein kann, mit einem gewissem Maß an Konsistenz, werden die Anfragen geordnet bearbeitet, wobei die Anfrage mit der höchsten Priorität Einschränkungen aufweist, die von aktuell verfügbaren Verbindungsschnittstellen erfüllt werden können, zuerst bearbeitet wird. Andere Modelle können ebenso für die Bearbeitung von Anfragen eingesetzt werden und es können Markierungen für die Verfügbarkeit bestimmter Schnittstellen gesetzt werden, wenn eine Anfrage in eine Warteschlange eingereiht wird, sodass die Bearbeitung der Anfrage zumindest dann stattfindet, wenn eine markierte Schnittstelle verfügbar wird.

5 zeigt eine veranschaulichende Steuerschnittstelle für die Datenübertragung. OEMs können diese Schnittstelle für Entwickler bereitstellen oder es kann sich um eine Hintergrundschnittstelle handeln, auf die von denjenigen mit fundierten Diagnosefähigkeiten zugegriffen werden kann. Aspekte der Schnittstelle können für Fahrer/Insassen sichtbar sein, aber der Fahrer oder Insasse muss zum Beispiel nicht zwangsläufig dazu in der Lage sein, die Priorität einer Anfrage zu ändern. Wenn die Schnittstelle zum Beispiel für Fahrer bereitgestellt wird, können bestimmte Parameter steuerbar sein und andere Parameter können fest definiert sein (sodass der Fahrer eine Anfrage nicht falsch priorisiert). Der Zugriff auf fest definierte Parameter kann, falls gewünscht, durch einen Überschreibungsvorgang erhalten werden, sodass alle definierbaren Parameter durch einen qualifizierten Beteiligten geändert werden können. In einigen Fällen ist der Fahrer möglicherweise nie dazu in der Lage, diese Schnittstelle zu sehen oder zu verwenden, und sie kann ausschließlich OEM/Entwicklern vorbehalten sein.

Die TCU-Konsole 501 stellt eine Download-Kategorie (oder Upload-Kategorie) bereit, mit der die Priorität der Anfrage spezifiziert wird 505. In diesem Beispiel ermöglicht der Prozess eine Definition der Spezifizierung der Priorität hoch, mittel, niedrig, nur kostenlos und/oder nur nachts. Bestimmte Anwendungen können außerdem lediglich einen begrenzten verfügbaren Definitionssatz aufweisen, wobei eine hohe Priorität und/oder mittlere Priorität Funktionen vorbehalten sind, die für das Fahrzeug entscheidend und wichtig sind.

Die Konsole zeigt einen Zielort 509, der spezifiziert, woher eine Datei für die Übertragung erhalten wird. Es gibt außerdem einen Ergebnisort 511, der spezifiziert, wo eine Datei für die Übertragung gesichert werden soll. Wenn ein Download noch nicht gestartet wurde, kann ein Benutzer eine Download-Schaltfläche 513 betätigen, um die Anfrage zu initiieren.

Schnittstellensteuerungen 525 stellen eine Liste verfügbarer Verbindungsschnittstellen bereit, die aktualisiert 523 werden können, um einen vorliegenden Satz von verfügbaren Verbindungsschnittstellen widerzuspiegeln. In diesem Beispiel gibt es drei verfügbare Schnittstellen 515, ein TCU-WLAN, eine 3G-Mobilfunkverbindung und eine VCS-WLAN-Verbindung. Die 3G-Verbindung bearbeitet derzeit die Übertragung, obwohl diese Schnittstellenübertragung beendet 517 werden kann und eine von den beiden anderen verfügbaren Schnittstellen heraufgestuft 519, 521 werden kann, um die Verbindung zu bearbeiten.

Die TCU-Konsole zeigt außerdem einen aktuellen Download 527. Diese Informationen schließen eine aktuelle Schnittstelle ein, die verwendet wird 529 (welche in diesem Fall die 3G-Verbindung ist). Die Konsole zeigt außerdem die verschiedenen Datenmengen in der Zieldatei, die durch die verschiedenen Schnittstellen heruntergeladen wurden. Hier wurden mit dem TCU-WLAN 11 % der Datei heruntergeladen 535, das VCS-WLAN hat 27 % der Datei heruntergeladen und die aktuelle Mobilfunkverbindung hat 4 % der Datei heruntergeladen.

Die 6A - 6C zeigen einen veranschaulichenden Datenübertragungsprozess unter Verwendung einer sekundären Vorrichtung. In diesem veranschaulichenden Beispiel möchte das TCU-Modul, welches das Mobilfunkmodem und eine Mobilfunkmodemanwendung 601 einschließt, eine Datei herunterladen, verwendet jedoch eine Netzwerkschnittstelle, die von dem Infotainmentsystem bereitgestellt wird, um den Download zu verarbeiten.

Die Mobilfunkmodemanwendung detektiert eine neue Softwareaktualisierung, die verfügbar ist 609 oder wird durch eine Form einer Benachrichtigung darüber informiert, dass eine neue Aktualisierung verfügbar ist. Dementsprechend generiert und überträgt die Anwendung eine Anfrage für die Aktualisierung 611, welche eine Prioritätseinstufung (in diesem Fall niedrig) einschließt.

Da die Anwendung in der TCU ausgeführt wird, empfängt die TCU-Verbindungsverwaltungseinrichtung 603 zunächst die Anwendungsanfrage 613. Die Verbindungsverwaltungseinrichtung schiebt die Anfrage in der geeigneten Position (z. B. unter den Anfragen mit mittlerer und hoher Priorität) in die Warteschlange für einen unmittelbaren Download 615. Wenn eine Warteschlangenbearbeitung auftritt, holt der Warteschlangenbearbeitungsprozess die Anfrage aus der Warteschlange für den unmittelbaren Download heraus 617 und fragt den Schnittstellenüberwachungsprozess des Mobilfunkmodems (TCU) ab 619.

Der Schnittstellenüberwachungsprozess verfolgt, welche Netzwerkschnittstellen derzeit für ein bestimmtes Modul verfügbar sind. Er kann außerdem über Schnittstellen informiert sein, die für andere Module verfügbar sind und er kann mit diesen alternativen Schnittstelleninformationen durch eine Kommunikation zwischen Modulen auf dem Laufenden gehalten werden. In diesem Beispiel weiß die TCU-Schnittstellenüberwachungseinrichtung, dass die Infotainmentverbindungsverwaltungseinrichtung 605 eine WLAN-Verbindung aufweist, die zur Verwendung bei der Übertragung verfügbar ist.

In diesem Beispiel reiht der Prozess, wenn die Anfrage nicht für die Bearbeitung bereit ist 621, oder wenn ein anderer Parameter (z. B. nur nachts) der Anfrage nicht erfüllt ist, die Anfrage erneut in die Warteschlange ein 623 und geht zu einer nächsten Anfrage in der Warteschlange über. Wenn die Bedingungen für die Bearbeitung der Anfrage erfüllt sind, verpflichtet der Prozess einen Worker, um die Anfrage zu bearbeiten 625.

In diesem Beispiel werden zwei Worker verpflichtet, einer in dem TCU-Modul, um die Daten zu bearbeiten, die von dem Infotainmentmodul kommen, und einer in dem Infotainmentmodul, um den tatsächlichen Download zu bearbeiten. Eine Anfrage, die zu der Infotainmentverbindungsverwaltungseinrichtung weitergeleitet wird, kann veranlassen, dass die Infotainmentverbindungsverwaltungseinrichtung einen Download-Worker 627 verpflichtet, welcher den Download der Anfrage bearbeitet 629 und die Daten abruft, die aus einem Download-Repository 607 heruntergeladen werden sollen. Der Infotainment-Download-Worker leitet relevante Daten zu einem TCU-Download-Worker weiter 631.

Ein TCU-Download-Überwachungsprozess 633 kann Download-Worker überwachen, die in der TCU ausgeführt werden. Dies ermöglicht eine Failover-Bearbeitung und die Benachrichtigung und Protokollierung von Fehlern sowie das erneute Einreihen unvollständiger Anfragen in die Warteschlange, wenn keine alternative Schnittstelle zur Bearbeitung einer Anfrage für einen Failover verfügbar ist. Der TCU-Überwachungsprozess kann einen fortlaufenden Status der Anfrage übertragen 635 (welcher zum Beispiel einen Abschlussstatus, die derzeit verpflichtete Schnittstelle usw. einschließen kann). Die Anwendung wartet 637 auf einen Abschluss der Anfrage von der Statusübertragung.

Die 7A - 7C zeigen einen veranschaulichenden Datenübertragungsprozess zum Vereinfachen einer eingeschränkten Datenübertragung. In diesem Beispiel schließt eine Anfrage einen Parameter nur kostenlos ein, der kennzeichnet, dass lediglich eine Datenübertragung ohne Kosten verwendet werden soll, um eine angeforderte Übertragung abzuschließen. Die Anfrage weist außerdem einen Ablauf-Timer auf, der damit assoziiert ist, wobei der Ablauf-Timer einen Zeitraum kennzeichnet, nachdem beliebige oder bestimmte verfügbare Verbindungen verwendet werden können, um die Anfrage abzuschließen. In einigen Modellen kann die gesamte Verzögerungswarteschlange (von Anfragen für nur kostenlos, einschließend Ablauf-Timer) eine festgelegte, vordefinierte Ablaufzeit aufweisen, die damit assoziiert ist (z. B. bleibt eine beliebige Anfrage für fünf Stunden in der Warteschlange), und in anderen Modellen können die einzelnen Anfragen definierte Ablauf-Timer aufweisen, die damit pro Anfrage assoziiert sind.

Eine Anfrage 701, die in dem TCU-Modul ausgeführt wird, detektiert eine neue Aktualisierung, die verfügbar ist oder wird darüber informiert 707. Erneut generiert die Anwendung eine Anfrage für die aktualisierten Daten 709. Die Anwendung leitet dann diese Anfrage zu der TCU-Verbindungsverwaltungseinrichtung weiter und die Anfrage schließt eine Priorität ein, welche in diesem Fall „nur kostenlos“ ist. In diesem Beispiel schließt die Anfrage außerdem einen Ablaufparameter von 1 Tag ein.

In diesem Beispiel schiebt die Verbindungsverwaltungseinrichtung zunächst die Anfrage in eine Warteschlange für den unmittelbaren Download 713 (für eine Bearbeitung auf Grundlage der Priorität), falls eine freie Verbindung derzeit verfügbar ist. Ein Warteschlangenbearbeitungsprozess 715 holt die Anfrage aus der Warteschlange heraus und fragt die Schnittstellenüberwachungseinrichtung 717 ab, um zu bestimmen, ob freie Verbindungen verfügbar sind. In diesem Beispiel sind keine freien Verbindungen verfügbar, sodass die Anfrage nicht unmittelbar verarbeitet wird 719. Wenn eine freie Verbindung verfügbar wäre, würde der Warteschlangenbearbeitungsprozess der Verbindungsverwaltungseinrichtung einen Worker verpflichten 741, um die Anfrage zu bearbeiten.

Da die Anfrage nicht für eine unmittelbare Bearbeitung bereit ist, schiebt die Verbindungsverwaltungseinrichtung die Anfrage 721 in eine Verzögerungswarteschlange 723, wo die Anfragen mit Ablaufzeiten verarbeitet werden. Ein Verzögerungswarteschlangenbearbeitungsprozess 725 holt Anfragen aus der Verzögerungswarteschlange heraus und fragt die Schnittstellenüberwachungseinrichtung 729 ab, um zu bestimmen, ob eine verfügbare kostenfreie Schnittstelle zur Verwendung bei der Erfüllung der Anfrage(n) vorliegt. Wenn der Verzögerungswarteschlangenbearbeitungsprozess eine Anfrage nicht erfüllen kann, bestimmt der Prozess, ob auf dem Ablauf-Timer Zeit verbleibt 733. Wenn Zeit verbleibt, reiht der Prozess die Anfrage erneut in der Verzögerungswarteschlange ein, andernfalls bewegt der Prozess die Anfrage in eine unmittelbare Warteschlange für die Mobilfunkbearbeitung.

Es kann auch der Fall sein, dass eine bestimmte Anfrage als eine Anfrage für nur nachts bezeichnet wird, wobei die Verbindungsverwaltungseinrichtung in diesem Fall die Anfrage in eine Warteschlange für nur nachts einreihen 736 oder die Bearbeitung der Anfrage bis zu einer spezifizierten Zeit verzögern kann. Wenn die Anfrage keine Anfrage für nur nachts ist und wenn der Verzögerungs-Timer abgelaufen ist, fragt der Prozess in Bezug auf eine Mobilfunk-(oder andere verwendbare) 737 Schnittstelle von der Schnittstellenüberwachungseinrichtung 739 ab.

Wenn die angeforderte Verbindung nicht verfügbar ist, kann die Anfrage erneut in die passende Warteschlange (in diesem Beispiel unmittelbar oder nur nachts) eingereiht werden. Wenn Mobilfunk (oder eine andere angeforderte Verbindung) verfügbar ist, kann der Prozess einen Download-Worker 743 initiieren 741. Der Download-Worker lädt die Anfrage aus einem Download-Repository 705 herunter.

Wie zuvor überwacht ein Überwachungsprozess 745 den Download und überträgt benötigte Statusaktualisierungen 747 und/oder bearbeitet oder ordnet die Bearbeitung von Failovers an, die sich aus verlorengegangenen oder sich ändernden Verbindungen ergeben. Die Anwendung wartet auf die Download-Überwachungseinrichtung für einen Abschluss des angeforderten Downloads 749.

Zwar wurden vorstehend beispielhafte Ausführungsformen beschrieben, doch wird damit nicht die Absicht verfolgt, dass diese Ausführungsformen alle möglichen Formen der Erfindung beschreiben. Die in der Beschreibung verwendeten Ausdrücke stellen vielmehr beschreibende als einschränkende Ausdrücke dar, und es versteht sich, dass verschiedene Änderungen vorgenommen werden können, ohne vom Geist und Umfang der Erfindung abzuweichen. Zusätzlich können die Merkmale verschiedener Umsetzungsausführungsformen miteinander kombiniert werden, um weitere erfindungsgemäße Ausführungsformen zu bilden.