Title:
FAHRZEUGKONNEKTIVITÄTSKARTE
Kind Code:
A1


Abstract:

Die vorliegende Offenbarung betrifft ein Konnektivitätssystem mit: (a) einem Fahrzeug mit einem Fahrpedal, Bremsen, Lenkung, einer Zellulärnetzantenne, einem Prozessor und Speicher; (b) einem Konnektivitätsprogramm, welches betriebsfähig mit der Fahrzeugantenne gekoppelt und ausgelegt ist zum: Empfangen einer Konnektivitätskarte, Abtasten der Konnektivität, Übertragen der Abtastungen, Antizipieren der Konnektivität basierend auf der Konnektivitätskarte und Generieren einer Anweisung für ein anderes Programm basierend auf der antizipierten Konnektivität.




Inventors:
Tseng, Fling Finn, Mich. (Ann Arbor, US)
Filev, Dimitar Petrov, Mich. (Novi, US)
Makki, Imad Hassan, Mich. (Dearborn Heights, US)
Application Number:
DE102016125107A
Publication Date:
07/27/2017
Filing Date:
12/21/2016
Assignee:
Ford Global Technologies, LLC (Mich., Dearborn, US)
International Classes:



Attorney, Agent or Firm:
Wablat Lange Karthaus Anwaltssozietät, 14129, Berlin, DE
Claims:
1. Konnektivitätssystem, umfassend:
ein Fahrzeug mit einem Fahrpedal, Bremsen, Lenkung, einer Zellulärnetzantenne, einem Prozessor und Speicher;
ein Konnektivitätsprogramm, welches betriebsfähig mit der Fahrzeugantenne gekoppelt und ausgelegt ist zum:
Empfangen einer Konnektivitätskarte, Abtasten der Konnektivität, Übertragen der Abtastungen, Antizipieren der Konnektivität basierend auf der Konnektivitätskarte und Generieren einer Anweisung für ein anderes Programm basierend auf der antizipierten Konnektivität.

2. System nach Anspruch 1, wobei die Konnektivitätskarte einen Bereich aufweist, in dem das Konnektivitätsprogramm ausgelegt ist, um den Bereich basierend auf einem empfangenen Wert auszuwählen, und das Konnektivitätsprogramm ausgelegt ist, um die Konnektivität einer Vielzahl von verschiedenen Dienstebenen eines einzelnen Dienstanbieters gleichzeitig zu antizipieren.

3. System nach Anspruch 1, wobei das Konnektivitätsprogramm ausgelegt ist, um die Konnektivität mit einer Vielzahl von Abtastraten abzutasten, und das Konnektivitätsprogramm ausgelegt ist, um die Konnektivität mit einer Vielzahl von Abtastqualitäten abzutasten.

4. System nach Anspruch 1, wobei das Konnektivitätsprogramm ausgelegt ist, um sowohl Zeitdaten als auch wetterbezogene Daten an die Abtastungen anzufügen.

5. System nach Anspruch 1, wobei das Konnektivitätsprogramm ausgelegt ist, um einen Diskrepanzgrad zwischen einer abgetasteten Konnektivität und einer antizipierten Konnektivität zu berechnen.

6. System nach Anspruch 1, wobei das Konnektivitätsprogramm ausgelegt ist, um das Übertragen der Konnektivitätsabtastungen in Reaktion auf das Erkennen eines nicht akzeptablen Übertragungsfensters zu verzögern.

7. System nach Anspruch 1, wobei die Anweisung eine Vielzahl von Anweisungen mit einer Pauseanweisung, einer Fortsetzungsanweisung und einer Pufferanweisung ist; wobei die Pauseanweisung ausgelegt ist, um die mobile Datenübertragung des anderen Programms anzuhalten, die Fortsetzungsanweisung ausgelegt ist, um die mobile Datenübertragung des anderen Programms fortzusetzen, und die Pufferanweisung ausgelegt ist, um ein präemptives Herunterladen von Informationen für das andere Programm zu bewirken.

8. System nach Anspruch 5, wobei das Konnektivitätsprogramm ausgelegt ist, um die Abtastungen basierend auf dem Diskrepanzgrad zu komprimieren.

9. System nach Anspruch 1, wobei das Konnektivitätsprogramm ausgelegt ist, um die Anweisungen an eine Vielzahl anderer Programme zu übertragen, und die Vielzahl von Programmen auf dem Fahrzeug gespeichert und ausgelegt sind, um die Anweisungen vom Konnektivitätsprogramm zu empfangen.

10. System nach Anspruch 3, wobei das Konnektivitätsprogramm ausgelegt ist, um eine der Abtastraten basierend auf einem empfangenen Abtastplan auszuwählen, welcher eine erste Abtastregion und eine zweite Abtastregion umfasst, wobei die erste Abtastregion mit einer ersten Abtastrate ungleich Null assoziiert ist, wobei die zweite Abtastregion mit einer zweiten unterschiedlichen Abtastrate ungleich Null assoziiert ist.

11. Verfahren zum Mapping von Konnektivität mit einem Fahrzeug, welches ein Fahrpedal, Bremsen, Lenkung, eine Zellulärnetzantenne, einen Prozessor und Speicher aufweist, umfassend:
betriebsfähiges Koppeln eines Konnektivitätsprogramms mit der Fahrzeugantenne, und mit dem Konnektivitätsprogramm:
Empfangen einer Konnektivitätskarte, Abtasten der Konnektivität, Übertragen der Abtastungen, Antizipieren der Konnektivität basierend auf der Konnektivitätskarte und Generieren einer Anweisung für ein anderes Programm basierend auf der antizipierten Konnektivität.

12. Verfahren nach Anspruch 11, wobei die Konnektivitätskarte einen Bereich aufweist, das Verfahren ferner umfassend:
Auswählen des Bereichs basierend auf einem empfangenen Wert;
gleichzeitiges Antizipieren der Konnektivität einer Vielzahl von verschiedenen Dienstebenen eines einzelnen Dienstanbieters.

13. Verfahren nach Anspruch 11, ferner umfassend:
Abtasten der Konnektivität mit dem Konnektivitätsprogramm mit einer Vielzahl von Abtastraten und mit einer Vielzahl von Abtastqualitäten.

14. Verfahren nach Anspruch 11, ferner umfassend:
Anfügen sowohl von Zeitdaten als auch wetterbezogenen Daten an die Abtastungen mit dem Konnektivitätsprogramm.

15. Verfahren nach Anspruch 11, ferner umfassend:
Berechnen eines Diskrepanzgrads zwischen der abgetasteten Konnektivität und einer antizipierten Konnektivität.

16. Verfahren nach Anspruch 11, ferner umfassend:
Verzögern der Übertragung der Konnektivitätsabtastungen mit dem Konnektivitätsprogramm in Reaktion auf das Erkennen eines nicht akzeptablen Übertragungsfensters.

17. Verfahren nach Anspruch 11, wobei die Anweisung eine Vielzahl von Anweisungen mit einer Pauseanweisung, einer Fortsetzungsanweisung und einer Pufferanweisung ist; wobei die Pauseanweisung ausgelegt ist, um die mobile Datenübertragung des anderen Programms anzuhalten, die Fortsetzungsanweisung ausgelegt ist, um die mobile Datenübertragung des anderen Programms fortzusetzen, und die Pufferanweisung ausgelegt ist, um ein präemptives Herunterladen von Informationen für das andere Programm zu bewirken.

18. Verfahren nach Anspruch 15, ferner umfassend:
Komprimieren der Abtastungen mit dem Konnektivitätsprogramm basierend auf dem Diskrepanzgrad.

19. Verfahren nach Anspruch 1, ferner umfassend:
Übertragen der Anweisungen an eine Vielzahl anderer Programme, welche auf dem Fahrzeug gespeichert und ausgelegt sind, um die Anweisungen vom Konnektivitätsprogramm zu empfangen.

20. Verfahren nach Anspruch 13, ferner umfassend:
Auswählen einer ersten Abtastrate ungleich Null mit dem Konnektivitätsprogramm basierend auf einem empfangenen Abtastplan in einer ersten Abtastregion des Abtastplans;
Auswählen einer zweiten Abtastrate ungleich Null mit dem Konnektivitätsprogramm basierend auf dem empfangenen Abtastplan in einer zweiten Abtastregion des Abtastplans.

Description:
GEBIET DER TECHNIK

Diese Offenbarung betrifft im Allgemeinen Systeme und Verfahren zum Generieren, Aktualisieren und Anwenden einer virtuellen Konnektivitätskarte.

HINTERGRUND

Neuere Fahrzeuge kommunizieren drahtlos, um die Sicherheit zu verbessern. Diese neueren Fahrzeuge kommunizieren oft drahtlos über bestehende zelluläre Netze, welche Mobiltelefone versorgen. Zwei Beispiele sind zelluläre Netze von AT&T und zelluläre Netze von Verizon.

In einigen Fällen ist die zelluläre Abdeckung in bestimmten Gebieten aus verschiedenen Gründen schlecht. Dies ist oft in ländlichen Gebieten der Fall, kann aber auch in bewohnten Gebieten, wie beispielsweise in Städten, wahr sein. Beispielsweise können zelluläre Netze auf unerwartete oder nicht antizipierte Weise auf Neubauten, Wetter und verschiedene andere Ereignisse reagieren. Unerwartete zelluläre Störungen verschlechtern die drahtlose Kommunikation dieser neueren Fahrzeuge. In einigen Fällen beeinträchtigt dies die Sicherheit. Folglich besteht ein Bedarf für eine Fahrzeugkonnektivitätskarte, welche die Qualität des zellulären Netzes abbildet, aufzeichnet und antizipiert.

KURZFASSUNG

In verschiedenen Ausführungsformen erfüllt die vorliegende Offenbarung diesen Bedarf mit Systemen und Verfahren zum Generieren, Aktualisieren und Anwenden einer Fahrzeugkonnektivitätskarte.

Insbesondere betrifft die vorliegende Offenbarung in verschiedenen Ausführungsformen ein Konnektivitätssystem mit: (a) einem Fahrzeug mit einem Fahrpedal, Bremsen, Lenkung, einer Zellulärnetzantenne, einem Prozessor und Speicher; (b) einem Konnektivitätsprogramm, welches betriebsfähig mit der Fahrzeugantenne gekoppelt und ausgelegt ist zum: Empfangen einer Konnektivitätskarte, Abtasten der Konnektivität, Übertragen der Abtastungen, Antizipieren der Konnektivität basierend auf der Konnektivitätskarte und Generieren einer Anweisung für ein anderes Programm basierend auf der antizipierten Konnektivität.

In verschiedenen Ausführungsformen betrifft die vorliegende Offenbarung ein Verfahren zum Mapping von Konnektivität mit einem Fahrzeug, welches ein Fahrpedal, Bremsen, Lenkung, eine Zellulärnetzantenne, einen Prozessor und Speicher aufweist, umfassend: betriebsfähiges Koppeln eines Konnektivitätsprogramms mit der Fahrzeugantenne, und mit dem Konnektivitätsprogramm: Empfangen einer Konnektivitätskarte, Abtasten der Konnektivität, Übertragen der Abtastungen, Antizipieren der Konnektivität basierend auf der Konnektivitätskarte und Generieren einer Anweisung für ein anderes Programm basierend auf der antizipierten Konnektivität.

KURZE BESCHREIBUNG DER ZEICHNUNGEN

Für ein besseres Verständnis der Erfindung kann auf die in den nachfolgenden Zeichnungen gezeigten Ausführungsformen Bezug genommen werden. Die Komponenten in den Zeichnungen sind nicht notwendigerweise maßstabsgetreu und zugehörige Elemente können weggelassen werden, oder in einigen Fällen können Proportionen übertrieben worden sein, um die hierin beschriebenen neuartigen Merkmale zu betonen und deutlich zu veranschaulichen. Darüber hinaus können Systemkomponenten verschiedenartig angeordnet sein, wie in der Technik bekannt ist. Ferner bezeichnen in den Zeichnungen gleiche Bezugszeichen entsprechende Teile in den verschiedenen Ansichten.

1a ist eine Draufsicht eines Fahrzeugs.

1b ist eine perspektivische Ansicht des Fahrzeugs von der Rückseite.

2 ist ein Blockschaltbild der im Fahrzeug enthaltenen Elektronik.

3 ist ein Blockschaltbild der in einem Mobiltelefon enthaltenen Elektronik.

4 ist ein Flussdiagramm eines in einem Konnektivitätsprogramm implementierten Verfahrens.

5 ist ein Blockschaltbild, welches verschiedene Merkmale einer Konnektivitätskarte zeigt.

6 ist ein Flussdiagramm eines mittels des Konnektivitätsprogramms implementierten Verfahrens.

7 veranschaulicht einen Abtastplan.

8 ist ein Blockschaltbild verschiedener Programme.

DETAILLIERTE BESCHREIBUNG VON BEISPIELHAFTEN AUSFÜHRUNGSFORMEN

Obgleich die Erfindung in verschiedenen Formen ausgeführt werden kann, sind in den Zeichnungen einige beispielhafte und nicht einschränkende Ausführungsformen mit dem Verständnis gezeigt und im Folgenden beschrieben, dass die vorliegende Offenbarung als eine Veranschaulichung der Erfindung betrachtet werden soll und nicht beabsichtigt, die Erfindung auf die veranschaulichten speziellen Ausführungsformen zu beschränken.

In dieser Anmeldung ist beabsichtigt, dass die Verwendung der Disjunktiven die Konjunktive einschließt. Es ist nicht beabsichtigt, dass die Verwendung definiter oder indefiniter Artikel eine Kardinalität kennzeichnet. Insbesondere ist beabsichtigt, dass ein Bezug auf „das“ Objekt oder auf „ein“ Objekt auch ein Objekt aus einer möglichen Vielzahl solcher Objekte bezeichnet. Ferner kann die Verbindung „oder“ verwendet werden, um Merkmale, welche gleichzeitig vorhanden sind, statt sich gegenseitig ausschließende Alternativen zu übermitteln. Mit anderen Worten sollte die Verbindung „oder“ so verstanden werden, dass sie „und/oder“ umfasst.

1a zeigt ein Fahrzeug 100 gemäß einer Ausführungsform. Das Fahrzeug 100 kann ein standardmäßiges benzinangetriebenes Fahrzeug, ein Hybridfahrzeug, ein Elektrofahrzeug, ein Brennstoffzellenfahrzeug oder ein beliebiger anderer Typ eines geeigneten Fahrzeugs sein. Das Fahrzeug 100 umfasst standardmäßige Merkmale (nicht gezeigt), wie beispielsweise ein Armaturenbrett, verstellbare Sitze, eine oder mehrere Batterien, eine Kraftmaschine oder einen Motor, ein Getriebe, ein System für Heizung, Lüftung und Klimaanlage mit einem Kompressor und elektronischem Expansionsventil, eine Windschutzscheibe, Türen, Fenster, Sicherheitsgurte, Airbags und Reifen.

Das Fahrzeug 100 kann Sensoren 102 umfassen. Die Sensoren 102 können im und um das Fahrzeug herum in geeigneter Weise angeordnet sein. Die Sensoren können alle gleich oder verschieden sein. Es können viele Sensoren vorhanden sein, wie in 1b gezeigt, oder nur ein einzelner Sensor. Die Sensoren können eine Kamera, Ultraschallsensoren, Sonar, LiDAR, Radar, einen optischen Sensor oder eine Infrarotvorrichtung umfassen, welche ausgelegt sind, um Eigenschaften um die Außenseite des Fahrzeugs herum zu messen, wie durch die gestrichelten Linien 104a und 104b in 1a angezeigt. Einige Sensoren 102 können im Inneren des Insassenraums des Fahrzeugs 100, an der Außenseite oder am Außenbereich des Fahrzeugs oder im Kraftmaschinenraum des Fahrzeugs 100 montiert sein. Wenigstens ein Sensor 102 kann verwendet werden, um den Fahrer des Fahrzeugs mittels Gesichtserkennung, Spracherkennung oder Kommunikation mit einer Vorrichtung, wie einem Fahrzeugschlüssel oder einem persönlichen Mobiltelefon des Fahrers, zu identifizieren. Die Sensoren können einen AUS-Zustand und verschiedene EIN-Zustände aufweisen. Das Fahrzeug 100 oder eine Vorrichtung, welche betriebsfähig mit dem Fahrzeug verbunden ist, kann ausgelegt sein, um die Zustände oder Aktivität der Sensoren zu steuern.

Wie in 2 gezeigt, umfasst das Fahrzeug 100 in einer Ausführungsform einen Fahrzeugdatenbus 202, welcher betriebsfähig mit den Sensoren 102 gekoppelt ist, Fahrzeugantriebsvorrichtungen 206, Speicher oder Datenspeicher 208, einen Prozessor oder Controller 210, eine Benutzerschnittstelle 212, Kommunikationsvorrichtungen 214 und ein Plattenlaufwerk 216.

Der Prozessor oder Controller 210 kann eine beliebige geeignete Verarbeitungsvorrichtung oder ein beliebiger geeigneter Satz von Verarbeitungsvorrichtungen sein, wie beispielsweise, aber nicht darauf beschränkt: ein Mikroprozessor, eine Mikrocontroller-basierte Plattform, eine geeignete integrierte Schaltung oder eine oder mehrere anwendungsspezifische integrierte Schaltungen (Application-Specific Integrated Circuits, ASICs).

Der Speicher 208 kann flüchtiger Speicher (z. B. RAM, welches nicht-flüchtiges RAM, magnetisches RAM, ferroelektrisches RAM und beliebige andere geeignete Formen umfassen kann); nicht-flüchtiger Speicher (z. B. Plattenspeicher, FLASH-Speicher, EPROMs, EEPROMs, Memristor-basierter nicht-flüchtiger Solid-State-Speicher usw.); nicht veränderbarer Speicher (z. B. EPROMs); Nur-Lese-Speicher; eine Festplatte; eine Solid-State-Festplatte; oder eine physische Platte, wie beispielsweise eine DVD, sein. In einer Ausführungsform umfasst der Speicher mehrere Arten von Speicher, insbesondere flüchtigen Speicher und nicht-flüchtigen Speicher.

Die Kommunikationsvorrichtungen 214 können eine verdrahtete oder drahtlose Netzschnittstelle umfassen, einschließlich einer zellulären Antenne, um die Kommunikation mit einem externen Netz zu ermöglichen. Das externe Netz kann eine Sammlung eines oder mehrerer Netze sein, einschließlich standardbasierter Netze (z. B. 2G, 3G, 4G, Universal Mobile Telecommunications Autonomous Valet Parking System (UMTS), GSM (R) Association, Long Term Evolution (LTE) (TM) oder mehr); WiMAX; Bluetooth; Near Field Communication (NFC); WiFi (einschließlich 802.11 a/b/g/n/ac oder anderer); WiGig; Global Positioning System(GPS)-Netze; und anderer, welche zum Zeitpunkt der Einreichung dieser Anmeldung zur Verfügung stehen oder in der Zukunft entwickelt werden können. Ferner kann/können das/die externe(n) Netze ein öffentliches Netz, wie beispielsweise das Internet; ein privates Netz, wie beispielsweise ein Intranet; oder Kombinationen davon sein und kann/können eine Vielzahl von Netzwerkprotokollen nutzen, welche jetzt zur Verfügung stehen oder später entwickelt werden, einschließlich, aber ohne darauf beschränkt zu sein, TCP/IP-basierte Netzwerkprotokolle. Die Kommunikationsvorrichtungen 214 können auch eine verdrahtete oder drahtlose Schnittstelle umfassen, um eine direkte Kommunikation mit einer elektronischen Vorrichtung zu ermöglichen, wie beispielsweise eine USB- oder Bluetooth-Schnittstelle. Ein geeignetes Netz kann auch ein direktes Fahrzeug-Fahrzeug-Netz umfassen.

Die Benutzerschnittstelle 212 kann beliebige geeignete Eingabe- und Ausgabevorrichtungen umfassen. Die Eingabevorrichtungen ermöglichen einem Fahrer oder einem Passagier des Fahrzeugs, Modifikationen oder Aktualisierungen an Informationen einzugeben, auf die die verschiedenen Programme verweisen, wie hierin beschrieben. Die Eingabevorrichtungen können beispielsweise einen Steuerknopf, eine Instrumententafel, eine Tastatur, einen Scanner, eine Digitalkamera für die Bilderfassung und/oder visuelle Befehlserkennung, ein Berührungsbildschirm, eine Audioeingabevorrichtung (z. B. Kabinenmikrofon), Tasten, eine Maus oder ein Touchpad umfassen. Die Ausgabevorrichtungen können Kombiinstrumentausgänge (z. B. Skalen, Beleuchtungsvorrichtungen), Betätigungselemente, eine Anzeige (z. B. eine Flüssigkristallanzeige (Liquid Crystal Display, „LCD“), eine organische lichtemittierende Diode (Organic Light Emitting Diode, „OLED“), eine Flachbildschirmanzeige, eine Solid-State-Anzeige, eine Kathodenstrahlröhre (Cathode Ray Tube, „CRT“) oder eine Heads-up-Anzeige) und Lautsprecher umfassen.

Das Plattenlaufwerk 216 ist ausgelegt, um ein computerlesbares Medium aufzunehmen. In bestimmten Ausführungsformen nimmt das Plattenlaufwerk 216 das computerlesbare Medium auf, auf dem ein oder mehrere Sätze von Anweisungen, wie beispielsweise die Software zum Betreiben der Verfahren der vorliegenden Offenbarung, eingebettet sein können. Die Anweisungen können ein oder mehrere der Verfahren oder Logiken ausführen, wie hierin beschrieben. In einer bestimmten Ausführungsform können sich die Anweisungen vollständig oder wenigstens teilweise innerhalb eines oder mehreren des Hauptspeichers 208, des computerlesbaren Mediums und/oder innerhalb des Prozessors 210 während der Ausführung der Anweisungen befinden.

Der Begriff „computerlesbares Medium“ ist so zu verstehen, dass er ein einzelnes Medium oder mehrere Medien umfasst, wie beispielsweise eine zentralisierte oder verteilte Datenbank und/oder zugehörige Cachespeicher und Server, welche einen oder mehrere Sätze von Anweisungen speichern. Der Begriff „computerlesbares Medium“ umfasst auch alle konkreten Medien, welche einen Satz von Anweisungen zur Ausführung durch einen Prozessor speichern, verschlüsseln oder tragen können oder welche ein System veranlassen, eines oder mehrere der hierin offenbarten Verfahren oder Operationen durchzuführen.

In einer Ausführungsform befinden sich Konnektivitätssoftware oder Programm(e) 120 im Speicher 208 des Fahrzeugs. Das Konnektivitätsprogramm 120 kann Daten zu und von den Sensoren 102, der Benutzerschnittstelle 212, den Kommunikationsvorrichtungen 214, dem Antrieb 206 oder einer beliebigen anderen Komponente, welche betriebsfähig mit dem Fahrzeugdatenbus 202 verbunden ist, senden und empfangen.

In einer Ausführungsform ist ein Mobiltelefon 105 betriebsfähig mit dem Fahrzeug 100 über eine beliebige geeignete Datenverbindung verbunden, wie beispielsweise WiFi, Bluetooth, USB oder eine zelluläre Datenverbindung. In einer Ausführungsform, welche in 3 gezeigt ist, umfasst das Mobiltelefon 105 einen Datenbus 302, der betriebsfähig mit Sensoren 306, Komponenten 316, Speicher oder Datenspeicher 308, einem Prozessor oder Controller 310, einer Benutzerschnittstelle 312 und Kommunikationsvorrichtungen 314 gekoppelt ist. Es sollte beachtet werden, dass die elektronischen Merkmale des Mobiltelefons 105 den Merkmalen des Fahrzeugs 100 ähnlich sein können, wie oben beschrieben. Beispielsweise können die Kommunikationsvorrichtungen 314 des Mobiltelefons 105 ähnlich den Kommunikationsvorrichtungen 214 des Fahrzeugs 100 betrieben werden. Das Gleiche gilt für die Benutzerschnittstelle 312, die Sensoren 306, den Datenspeicher 308, den Prozessor 310 und das Plattenlaufwerk 318.

Wie in 8 gezeigt, umfasst das Fahrzeug 100 oder das Mobiltelefon 105 in verschiedenen Ausführungsformen das Konnektivitätsprogramm 120. In diesen Ausführungsformen ist das Planungsprogramm 120 betriebsfähig mit einem oder mehreren externen Servern 110 verbunden. Die externen Server hosten eine Konnektivitätskarte 510, einen Karten-Updater 135, welcher ausgelegt ist, um Konnektivitätsabtastungen von einer Vielzahl von Fahrzeugen zu empfangen, und ein Planungsprogramm 140, welches ausgelegt ist, um einen Abtastplan für die Vielzahl von Fahrzeugen zu generieren. In verschiedenen Ausführungsformen umfassen die externen Server 110 Elektronik ähnlich dem Mobiltelefon 105, wie in 3 gezeigt. Bei der Ausführung ermöglichen die Programme dem Fahrzeug 100, dem Mobiltelefon 105 und den Servern 110, Informationen zu und von beliebigen Komponenten zu übertragen und zu empfangen, welche betriebsfähig mit den Prozessoren verbunden sind, einschließlich entfernter Vorrichtungen, welche über die Kommunikationsvorrichtungen betriebsfähig mit den Prozessoren verbunden sind.

Es sollte daher beachtet werden, dass jedes hierin beschriebene Programm auf dem Fahrzeug 100, dem Mobiltelefon 105 oder einem externen Computer (nicht gezeigt), welcher betriebsfähig mit dem Fahrzeug 100 oder der Rechenvorrichtung 105 verbunden ist, gespeichert und ausgeführt werden kann.

Diese Offenbarung betrifft „Konnektivität“. Wenn nicht anders angegeben, kann „Konnektivität“ einige oder alle Dimensionen einer drahtlosen Kommunikationsverbindung umfassen. Dimensionen umfassen Download-Datengeschwindigkeit, Upload-Datengeschwindigkeit, Download-Datenlatenz, Upload-Datenlatenz, Download-Signalqualität, Upload-Signalqualität, Träger (z. B. AT&T, Verizon oder lokales WiFi), Klasse von Konnektivität (z. B. EDGE, 3G, 4G, WiMax) und beliebige anderen Größen, welche üblicherweise verwendet werden, um Übertragungsgeschwindigkeit, Übertragungsqualität oder Übertragungslatenz zu quantifizieren oder zu beschreiben.

4 zeigt das Konnektivitätsprogramm 120 detaillierter. Insbesondere arbeiten drei Unterprogramme 410, 420 und 430 des Konnektivitätsprogramms 120 zusammen zum: (1) Herunterladen der Konnektivitätskarte (über das Unterprogramm 410); (2) Verbessern oder Aktualisieren der Konnektivitätskarte (über das Unterprogramm 420); und (3) Nutzen der Konnektivitätskarte (über das Unterprogramm 430). Jedes Unterprogramm kann mit einer jeweiligen unabhängigen Zyklusfrequenz Zyklen durchlaufen (d. h. sich wiederholen). Jedes Unterprogramm kann ein separates und unterschiedliches Programm sein, welches ausgelegt ist, um sich mit den anderen Unterprogrammen zu verbinden.

Das Download-Unterprogramm 410 ist ausgelegt, um eine Konnektivitätskarte von den externen Servern 110 für die Unterprogramme 420 und 430 herunterzuladen. In Schritt 411 empfängt das Download-Unterprogramm 410 ein geografisches Ziel. Ein Benutzer kann das Ziel bereitstellen. Ein Programm kann das Ziel bereitstellen. Ein einzelner Zielpunkt ist nicht erforderlich. In verschiedenen Ausführungsformen ist das Ziel eine Vielzahl von möglichen Zielen.

In Schritt 412 lädt das Download-Unterprogramm 410 die Konnektivitätskarte 510 oder einen Teil der Konnektivitätskarte 510 von den Servern 110 herunter. Die Konnektivitätskarte (oder ein Teil davon) kann, wie nachstehend unter Bezugnahme auf 5 beschrieben, projizierte oder antizipierte Konnektivität in einer Region umfassen. Die Konnektivitätskarte kann auch einen Abtastplan für die Region umfassen. Die Region kann verschiedene Routen sein, welche vom gegenwärtigen Standort des Benutzers zum Ziel führen. Die Konnektivitätskarte kann eine von vielen Konnektivitätskarten sein, welche jeweils mit einem unterschiedlichen Anbieter von drahtlosem Dienst verbunden sind (z. B. eine Karte für AT&T, eine andere Karte für Verizon). In verschiedenen Ausführungsformen entspricht eine bestimmte Konnektivitätskarte für einen bestimmten Dienstanbieter einer bestimmten Dienstklasse (z. B. 3G oder 4G). In anderen Ausführungsformen sind verschiedene Dienstklassen als solche auf einer einzelnen Konnektivitätskarte gekennzeichnet. Falls das Download-Unterprogramm 410 in Schritt 411 kein Ziel empfängt, dann kann die Konnektivitätskarte von einer Region sein, welche den Benutzer umgibt. Falls das Download-Unterprogramm 410 ein Ziel empfängt, dann kann die Konnektivitätskarte von einer Region sein, welche den Benutzer umgibt, plus projizierte Routen, die vom gegenwärtigen Standort des Benutzers zum Ziel führen.

In verschiedenen Ausführungsformen kann eine Größe oder ein Bereich des Teils der heruntergeladenen Karte abhängen von einem oder mehreren von: (a) einer Benutzerauswahl, (b) Konnektivität (oder Konnektivitätsbedarf, wie nachstehend beschrieben) des Ziels, des projizierten Ziels und eines Pfads, welcher von einem aktuellen Standort zum Ziel oder projizierten Ziel führt, (c) einer oder mehreren Fahreigenschaften, wie beispielsweise Fahrzeuggeschwindigkeit, (d) einer oder mehreren Gerichtsbarkeitseigenschaften, wie beispielsweise Geschwindigkeitsbegrenzungen, Verkehrsvorfälle und Störungen anderer Art (z. B. Wetter oder Bau) entlang potentieller Routen, (e) einem oder mehreren Faktoren, wie nachstehend in Verbindung mit dem Aktualisierungsunterprogramm 420 beschrieben, und (f) einer erwarteten oder projizierten Geschwindigkeit.

In verschiedenen Ausführungsformen hängt die Anzahl der heruntergeladenen Karten von einer oder mehreren der obigen Variablen ab. Beispielsweise kann das Download-Unterprogramm 410 anfänglich eine Karte herunterladen, welche der bevorzugten Konnektivität eines Benutzers, wie beispielsweise 4G-Konnektivität, entspricht (oder nur diese umfasst). Falls das Download-Unterprogramm 410 Konnektivität durch die bevorzugte Konnektivität unterhalb eines vorbestimmten Schwellenwerts antizipiert, kann das Download-Unterprogramm 410 dann eine Karte herunterladen (oder einen zusätzlichen Teil der Karte herunterladen), welche einem anderen Niveau von Konnektivität, wie beispielsweise 3G-Konnektivität, entspricht.

Wie oben erläutert, durchläuft das Download-Unterprogramm 410 Zyklen. Die Zyklusfrequenz kann benutzeranpassbar sein. Die Zyklusfrequenz kann wenigstens teilweise von der Konnektivität von einem oder mehreren von dem Ziel, einem oder mehreren projizierten Zielen und einer den Benutzer umgebenden Region abhängen. In verschiedenen Ausführungsformen verwendet der Zyklusprozess eine alte Konnektivitätskarte, welche im Fahrzeug 100 gespeichert ist, erneut und aktualisiert diese, um Daten zu erhalten.

Das Aktualisierungsunterprogramm 420 wendet die Konnektivitätskarte an. Das Aktualisierungsunterprogramm 420 ist ausgelegt, um die vollständige Konnektivitätskarte, welche im externen Server gespeichert ist, durch Messen oder Abtasten der Konnektivität zu aktualisieren oder zu verbessern.

In Schritt 421 kann ein Benutzer oder Hersteller Einstellungen anwenden. Die Einstellungen können eine maximale Abtastrate, eine minimale Abtastrate, eine Standardabtastrate, Abtastung ein/aus, Anweisungen zu der Art des Durchführens der Abtastung und andere Optionen, welche sich auf eine Abtastung auswirken, umfassen.

In Schritt 422 kann das Aktualisierungsunterprogramm 420 Fahreigenschaften des Fahrzeugs 100 messen oder empfangen. Fahreigenschaften umfassen variable Merkmale des Fahrzeugs, wie beispielsweise seine Position oder sein Standort, Geschwindigkeit, Beschleunigung, Verlangsamen, Kraftstoffstand und aktuelle Aktivität seiner Lichter oder Hupe. Die Fahreigenschaften können auch einige feste Merkmale des Fahrzeugs umfassen, wie beispielsweise seine Größe, Länge und Breite.

In Schritt 423 kann das Aktualisierungsunterprogramm 420 Faktoren messen oder empfangen. Faktoren können einen beliebigen gemessenen oder aufgezeichneten Zustand der Außenwelt umfassen, einschließlich Zeit, Tag, jedes wetterbedingten Faktors, einschließlich Temperatur, Feuchtigkeit, Taupunkt und Wind, Verkehrsdichte, Dichte oder Anzahl von verbundenen Fahrzeugen (d. h. Fahrzeuge, welche ausgelegt sind, um Konnektivität zu messen und zum gleichen Server oder eine Gruppe von Servern hochzuladen), Verkehrsvorfälle und Störungen anderer Art, Straßengeometrie (z. B. Steigung, Höhe, Breite und Länge), Straßenklasse und Straßenoberflächenzustand (z. B. trocken oder nass).

Wie in 4 gezeigt, kann das Aktualisierungsunterprogramm 420 eine neueste Version der Konnektivitätskarte, einschließlich des Abtastplans, vom Download-Unterprogramm 410 empfangen.

In Schritt 424 wendet das Aktualisierungsunterprogramm 420 Informationen an, welche in einem oder mehreren der Schritte 412, 421, 422 und 423 gemessen oder empfangen werden, um eine Abtastung zu generieren oder auszuwählen. Wie in den Schritten 425 und 426 gezeigt, umfasst die Abtastung eine Abtastrate 425 und eine Abtastqualität 426.

Die Abtastrate 425 bezieht sich auf die Messgeschwindigkeit oder das Timing. Die Abtastung könnte beispielsweise einmal pro Minute, Sekunde oder Millisekunde erfolgen. Die Abtastqualität 426 bezieht sich auf das Messdetail. Einige Abtastungen könnten sehr detailliert sein, wobei alle Konnektivitätsaspekte oder -größen gemessen werden. Andere Abtastungen könnten einfach sein, wobei nur wenige Konnektivitätsaspekte oder -größen gemessen werden.

In verschiedenen Ausführungsformen ist die Abtastung 424 wenigstens eine Funktion der Dichte der verbundenen Fahrzeuge und eines Bedarfs für Konnektivitätsinformationen („Bedarf“). In verschiedenen Ausführungsformen ist der Bedarf die Summe von Datenanforderungen für kritische Fahrzeugprogramme und typischen oder durchschnittlichen Datenanforderungen für nicht-kritische Fahrzeugprogramme, wie beispielsweise Programme zur Unterhaltung. In diesen Ausführungsformen kann, wenn die Dichte der verbundenen Fahrzeuge zunimmt, die Abtastrate oder Abtastqualität einzelner Fahrzeuge abnehmen, bis eine minimale Nennzahl erreicht ist. Umgekehrt kann, wenn die Dichte der verbundenen Fahrzeuge abnimmt, die Abtastrate oder Abtastqualität einzelner Fahrzeuge zunehmen, bis eine maximale Nennzahl erreicht ist. Ähnlich kann, wenn der Bedarf zunimmt, die Abtastrate oder Abtastqualität von einzelnen Fahrzeugen zunehmen. Wenn der Bedarf abnimmt, kann die Abtastrate oder Abtastqualität von einzelnen Fahrzeugen abnehmen. Minimale und maximale nominale Abtastraten stellen sicher, dass ein gewisses Niveau an Abtastung aufrechterhalten wird und dass ein bestimmtes Fahrzeug nicht übermäßige Bandbreite besetzt. In verschiedenen Ausführungsformen tastet das Fahrzeug in Schritt 424 gemäß dem Abtastplan ab. Es sollte daher beachtet werden, dass das Aktualisierungsunterprogramm 420 ausgelegt ist, um mit oder ohne Abtastplan abzutasten.

In verschiedenen Ausführungsformen umfasst das Aktualisierungsunterprogramm 420 ein Übertragungsunterprogramm 600 (in 6 gezeigt), welches ausgelegt ist, um Abtastungen vom Fahrzeug 100 an den externen Server zu übertragen, welcher die Konnektivitätskarte hostet. In Schritt 601 empfängt das Übertragungsunterprogramm 600 Abtastungen vom Aktualisierungsunterprogramm 420. In Schritt 602 empfängt das Übertragungsunterprogramm 600 die antizipierte Konnektivität entsprechend den Abtastungen vom Leveraging-Unterprogramm 430. In Schritt 603 vergleicht das Übertragungsunterprogramm 600 die Konnektivitätsabtastungen mit der antizipierten Konnektivität. In verschiedenen Ausführungsformen fügt das Übertragungsunterprogramm 600 die Fahreigenschaften, Faktoren und Träger (und Art des Diensts, z. B. 3G oder 4G) an die Abtastungen an, wodurch dem externen Server, welcher die Konnektivitätskarte hostet, ermöglicht wird, eine empfangene Konnektivität mit einem Standort oder Faktoren, wie beispielsweise Zeit und Wetter, zu assoziieren. In den Schritten 604 bis 606 überträgt das Übertragungsunterprogramm die Abtastungen an den externen Server, welcher die Konnektivitätskarte hostet 604, speichert die Konnektivitätsabtastungen im Fahrzeugspeicher 605 oder verwirft oder löscht die Konnektivitätsabtastungen 606.

In verschiedenen Ausführungsformen überträgt das Übertragungsunterprogramm 600 die Konnektivitätsabtastungen in Schritt 604, wenn das Übertragungsunterprogramm 600 (a) einen vorbestimmten Diskrepanzgrad zwischen Konnektivitätsabtastungen und der antizipierten Konnektivität, welche von der Konnektivitätskarte abgeleitet wird, und (b) ein akzeptables Übertragungsfenster erkennt. In verschiedenen Ausführungsformen basiert ein Kompressionsgrad der übertragenen Abtastungen auf einem Grad der Konformität zwischen den Abtastungen und der antizipierten Konnektivität.

In verschiedenen Ausführungsformen speichert das Übertragungsunterprogramm 600 die Konnektivitätsabtastungen in Reaktion auf (a) einen vorbestimmten Diskrepanzgrad zwischen Konnektivitätsabtastungen und der antizipierten Konnektivität, welche von der Konnektivitätskarte abgeleitet wird, und (b) ein negatives oder nicht akzeptables Übertragungsfenster.

Das Übertragungsunterprogramm 600 überträgt gespeicherte Konnektivitätsabtastungen, wenn sich das Übertragungsfenster von nicht akzeptabel zu akzeptabel ändert. In verschiedenen Ausführungsformen hängt das Übertragungsfenster ab von einem oder mehreren von (1) verfügbarer Upload-Bandbreite, (2) Preis der Bandbreite, (3) ob das Fahrzeug mit dem Internet mittels zellulärer Daten oder eines festen Netzes, wie beispielsweise WiFi, verbunden ist, (4) aktueller Konnektivität, wie durch die Abtastungen angezeigt, (5) antizipierter Konnektivität, wie durch die Konnektivitätskarte angezeigt.

In verschiedenen Ausführungsformen ändert sich das Übertragungsfenster basierend auf der Diskrepanz zwischen der Konnektivitätsabtastung und der antizipierten Konnektivität. In diesen Ausführungsformen weitet sich das Übertragungsfenster, wenn die Diskrepanz zunimmt. In verschiedenen Ausführungsformen speichert das Übertragungsunterprogramm 600 alle Abtastungen, einschließlich übertragener Abtastungen, bis der externe Server den sicheren Empfang bestätigt.

In verschiedenen Ausführungsformen verwirft das Übertragungsunterprogramm 600 die Konnektivitätsabtastungen in Schritt 606 in Reaktion auf das Erkennen einer Diskrepanz von Null oder einer Diskrepanz kleiner als der vorbestimmte Diskrepanzgrad (d. h. ausreichende Konformität zwischen den Konnektivitätsabtastungen und der antizipierten Konnektivität). In diesen Ausführungsformen kann das Übertragungsunterprogramm 600 Daten an die externen Server 110 übertragen, wodurch angezeigt wird, dass die gemessene oder abgetastete Konnektivität mit der projizierten oder antizipierten Konnektivität übereinstimmte, so dass die externen Server 110 die Validität ihrer bestehenden Konnektivitätsdaten bestätigen können. In diesen Ausführungsformen können die übertragenen Daten komprimierte oder weniger detaillierte Abtastungen umfassen. In verschiedenen Ausführungsformen bewirkt eine bestätigte Validität, dass die externen Server 110 die Konnektivitätskarte aktualisieren, um die bestätigte Validität zu reflektieren.

Zurückkehrend zu 4 durchläuft das Aktualisierungsunterprogramm 420 Zyklen mit einer Frequenz. Die Frequenz kann von beliebigen der oben beschriebenen Faktoren im Zusammenhang mit dem Zyklus anderer Programme oder Unterprogramme abhängen. In verschiedenen Ausführungsformen hängt die Zyklusfrequenz von einem Vergleich (nicht gezeigt) zwischen den Konnektivitätsabtastungen vom Aktualisierungsunterprogramm 420 und antizipierter Konnektivität, welche vom Leveraging-Unterprogramm 430 projiziert wird, ab. In verschiedenen Ausführungsformen bewirkt eine Nichtübereinstimmung oder Diskrepanz zwischen beobachteten Abtastungen und antizipierten Abtastungen, dass das Aktualisierungsunterprogramm 420 eines oder mehrere von Erhöhen der Abtastrate, Erhöhen der Abtastqualität und Erhöhen der Zyklusrate eines oder mehrerer der Unterprogramme 410, 420 oder 430 ausführt.

Es sollte beachtet werden, dass das Aktualisierungsunterprogramm 420 Konnektivität von verschiedenen Trägern oder verschiedenen Dienstebenen vom gleichen Träger unabhängig und gleichzeitig abtasten kann. Beispielsweise kann das Aktualisierungsunterprogramm 420 ausgelegt sein, um den AT&T 3G-Dienst und Verizon 4G-Dienst gleichzeitig abzutasten.

Bezug nehmend auf 4 empfängt das Leveraging-Unterprogramm 430 die Konnektivitätskarte, die Fahreigenschaften in Schritt 431 und die Faktoren in Schritt 437. Das Leveraging-Programm 430 projiziert oder antizipiert Konnektivität angesichts dieser Eingaben. Das Leveraging-Unterprogramm kann die Konnektivität in Ausdrücken einer geografischen Region, welche einen Benutzer umgibt, projizieren oder antizipieren. In verschiedenen Ausführungsformen umfasst die geografische Region einen oder mehrere antizipierte Benutzerpfade oder ist darauf beschränkt. In verschiedenen Ausführungsformen hängt die Größe oder Länge der geografischen Region bzw. des erwarteten Pfads von den Fahreigenschaften (z. B. aktuelle Geschwindigkeit und Verkehrsdichte), den Faktoren und Informationen, welche aus der Konnektivitätskarte extrahiert werden, ab. In verschiedenen Ausführungsformen antizipiert das Leveraging-Unterprogramm 430 Konnektivität angesichts einer Vielzahl von Trägern (falls das Fahrzeug ausgelegt ist, um zelluläre Signale von der Vielzahl von Trägern zu empfangen) oder angesichts einer Vielzahl von Dienstebenen, welche einem einzelnen Träger entsprechen (z. B. wird 4G-Konnektivität und 3G-Konnektivität antizipiert). In verschiedenen Ausführungsformen antizipiert das Leveraging-Unterprogramm 430 Konnektivität einer bevorzugten Dienstebene (z. B. 4G), antizipiert dann Konnektivität einer anderen Dienstebene (z. B. 3G), falls die bevorzugte Dienstebene angesichts des erwarteten Konnektivitätsbedarfs des Fahrzeugs schlechte Konnektivität aufweist (oben beschrieben).

In Schritt 433 wählt das Leveraging-Unterprogramm 430 Anweisungen für andere Programme oder Systeme angesichts der antizipierten Konnektivität aus oder generiert diese. Insbesondere kann das Leveraging-Unterprogramm einen Zeitplan anpassen, in dem andere Programme Daten übertragen oder empfangen (Schritt 434), eine Rate oder Quantität anpassen, welche andere Programme puffern (Schritt 435), oder eine beliebige andere Funktion durchführen, welche die antizipierte Konnektivität nutzt (Schritt 436). Diese anderen Funktionen können Anhalten, Fortsetzen, Abbrechen, Beschleunigen oder Verlangsamen der Datenübertragung für ein bestimmtes Merkmal oder Programm umfassen. In verschiedenen Ausführungsformen sendet das Leveraging-Unterprogramm 430 die antizipierte Konnektivität an andere Programme, welche die Daten unter Verwendung ihrer eigenen Algorithmen interpretieren und nutzen. In verschiedenen Ausführungsformen werden Programme, welche betriebsfähig mit dem Konnektivitätsprogramm 400 gekoppelt sind, als unerlässlich oder nicht unerlässlich eingestuft. In verschiedenen Ausführungsformen bewirkt eine antizipierte schlechte Konnektivität, dass unerlässliche Programme puffern. In verschiedenen Ausführungsformen bewirkt eine antizipierte schlechte Konnektivität, dass das Fahrzeug eine Datenübertragung im Zusammenhang mit unerlässlichen Programmen priorisiert und eine Datenübertragung im Zusammenhang mit nicht unerlässlichen Programmen abbricht oder anhält. In diesen Ausführungsformen kann die Datenübertragung im Zusammenhang mit nicht unerlässlichen Programmen automatisch fortsetzen, wenn das Leveraging-Unterprogramm 430 ausreichende Konnektivität antizipiert. In verschiedenen Ausführungsformen wählt das Leveraging-Unterprogramm 430 Konnektivitätsbereiche entsprechend ausreichender Konnektivität und schlechter Konnektivität basierend auf einer projizierten Konnektivitätsnutzung. In verschiedenen Ausführungsformen ist die projizierte Konnektivitätsnutzung Bedarf für Konnektivität, wie oben beschrieben.

Wendet man sich nun 5 zu, umfasst die Konnektivitätskarte 510, welche auf den externen Servern 110 gespeichert ist, an jedem abgebildeten Standort eine Konnektivität 506, einen Bedarf für Konnektivitätsinformationen 508 und einen Träger 507. In diesen Ausführungsformen wendet die Konnektivitätskarte 510 eine Funktion an, welche die abgetastete Konnektivität für Zeit 503, Verkehrsdichte 502, Wetter 504 und andere Bedingungen 505 anpasst oder normalisiert. In diesen Ausführungsformen würde beispielsweise eine Konnektivität, welche bei Regen abgetastet wird, auf einen Konnektivitätswert angepasst oder normalisiert werden, der in Abwesenheit von Regen erwartet wird. Als ein weiteres Beispiel kann eine Konnektivität, welche während außergewöhnlicher Verkehrsdichte abgetastet wird, auf einen Konnektivitätswert normalisiert werden, der bei typischer oder durchschnittlicher Verkehrsdichte erwartet wird.

Der Bedarf für Konnektivitätsinformationen 508 in einem bestimmten Gebiet oder einer bestimmten Region kann eine Funktion einer Qualität oder Quantität der vorhandenen Konnektivitätsinformationen, eines Alters der vorhandenen Konnektivitätsinformationen und einer durchschnittlichen Verkehrsdichte sein.

Wie oben erläutert, kann der externe Server 110 einen Abtastplan für verbundene Fahrzeuge angesichts der Konnektivitätskarte 510 generieren. Wendet man sich nun 7 zu, wird ein Beispiel eines Teils 700 eines Abtastplans allgemein gezeigt und veranschaulicht. Wie oben erörtert, kann der Teil 700 in Schritt 412 empfangen oder heruntergeladen werden. Der Teil 700 umfasst einen Start- oder gegenwärtigen Standort 705, ein Ende oder Ziel 707 und projizierte Routen oder Pfade 707 und 708. Hier umfasst der Teil 700 Regionen oder Gebiete 701 bis 704 mit veralteten oder fragwürdigen Konnektivitätsinformationen. Die Größe oder Auflösung der Gebiete 701 bis 704 kann anpassbar sein. In Reaktion tastet das Fahrzeug 100 die Konnektivität in den Gebieten 701 bis 704 ab (oder verbessert eine oder mehrere von der Abtastrate und Abtastqualität).

Es sollte beachtet werden, dass für die Zwecke der Ansprüche ein „beladenes Fahrzeug“ hiermit definiert ist als ein Fahrzeug umfassend ein Lenksystem, ein Beschleunigungssystem mit einer Kraftmaschine oder einem Motor, ein Bremssystem mit Bremsen, welche ausgelegt sind, um das Fahrzeug zu verlangsamen, Räder, wobei wenigstens eines der Räder ausgelegt ist, um Drehmoment zu empfangen, das von der Kraftmaschine oder vom Motor generiert wird, einen oder mehrere Sitze, wenigstens einen Prozessor und Speicher, welcher betriebsfähig mit dem Prozessor gekoppelt ist. Es sollte beachtet werden, dass die obige Definition gilt, und nur dann gilt, wenn die Ansprüche ausdrücklich den Begriff „beladenes Fahrzeug“ umfassen.

Es sollte beachtet werden, dass für die Zwecke der Ansprüche der Begriff „gleichzeitig“, wie er sich auf ein Computerprogramm bezieht, vermittelt, dass die Programme zur gleichen Zeit zur sofortigen Verarbeitung in der Warteschlange sind (oder verarbeitet werden). Der Begriff „gleichzeitig“ erfordert nicht, dass der Prozessor die beiden Programme tatsächlich gleichzeitig ausführt. Mit anderen Worten deckt der Begriff „gleichzeitig“ eine Situation ab, in der ein einzelner Kern eines Prozessors mit dem Ausführen von zwei Threads von Software beauftragt ist.

Die oben beschriebenen Ausführungsformen, und insbesondere jegliche „bevorzugte“ Ausführungsformen, sind mögliche Beispiele von Implementierungen und lediglich für ein klares Verständnis der Prinzipien der Erfindung dargelegt. Viele Variationen und Modifikationen können an der/den oben beschriebenen Ausführungsform(en) vorgenommen werden, ohne vom Wesen und von den Prinzipien der hierin beschriebenen Techniken erheblich abzuweichen. Alle Modifikationen sollen hierin innerhalb des Schutzbereichs dieser Offenbarung enthalten sein und durch die nachfolgenden Ansprüche geschützt werden.