-
Die vorliegende Anmeldung betrifft allgemein den Betrieb von Vorrichtungen mit vergleichsweise niedriger Rechenleistung.
-
Viele Vorrichtungen sind mit Anzeigen zum Anzeigen von Inhalt und/oder Eingabevorrichtungen ausgestattet, die es einem Benutzer erlauben, Eingaben vorzunehmen. Eine solche Eingabevorrichtung kann unter Verwendung eines sogenannten Touchscreen mit der Anzeige kombiniert sein. Einigen solchen Vorrichtungen steht aufgrund von Platz- oder Kostenbeschränkungen nur eine vergleichsweise niedrige Rechenleistung zur Verfügung. Zum Beispiel kann eine Anzeige bei sogenannten Datenbrillen in eine Brille integriert sein, aber aufgrund von Platzbeschränkungen in solchen Datenbrillen und auch aus Gründen des Gewichts ist es schwierig, solche Datenbrillen mit hoher Rechenleistung auszustatten. Dennoch ist es wünschenswert, zum Beispiel einem Benutzer über eine solche Vorrichtung mit einer niedrigen Rechenleistung verschiedene Arten von Informationen bereitzustellen. Solche Vorrichtungen mit niedriger Rechenleistung werden hier auch als dünne Vorrichtungen bezeichnet.
-
Es gibt mehrere Ansätze zur Kopplung einer relativ kleinen Vorrichtung mit einer mobilen Vorrichtung, wie einem Smartphone oder Tablet, für erweiterte Fähigkeiten. Zum Bespiel werden in Smartwatches Anwendungsprogramme (die hier als Apps bezeichnet werden) in der Smartwatch installiert, und in der mobilen Vorrichtung werden entsprechende Anwendungsprogramme installiert und die Apps kommunizieren miteinander, um Fähigkeiten für die Smartwatch bereitzustellen, zum Beispiel Zugang zu Multimediadateien der mobilen Vorrichtung, wie Musik oder Videos, Weiterleiten von Anrufen von der mobilen Vorrichtung usw.
-
Diese Lösung erfordert jedoch Installation entsprechender Apps auf der kleinen Vorrichtung, was in Vorrichtungen mit sehr niedriger Rechenleistung oder Vorrichtungen, die anderweitig das Installieren von Apps nicht erlauben, unter Umständen nicht möglich ist.
-
Ein anderer herkömmlicher Ansatz ist Verwendung von Fernanzeigetechniken. In diesem Fall wird auf einer mobilen Vorrichtung wie einem Smartphone oder Tablet angezeigter Inhalt im Wesentlichen auf die Vorrichtung mit niedriger Rechenleistung gespiegelt und dort auch angezeigt. Zum Beispiel kann für dieses Bildschirm-Spiegeln Bluetooth- oder andere drahtlose Kommunikation verwendet werden. Diese Technik hat jedoch auch einige Nachteile. Zum Beispiel weisen die Vorrichtung mit niedriger Rechenleistung und die mobile Vorrichtung gewöhnlich verschiedene Bildschirmgrößen auf. Auf der mobilen Vorrichtung gezeigter Inhalt wird gewöhnlich für den Bildschirm der mobilen Vorrichtung ausgelegt und das Anzeigen desselben Inhalts auf einer anderen Vorrichtung kann zu unbefriedigenden Ergebnissen führen. Außerdem kann es durch diesen Ansatz schwierig werden, die mobile Vorrichtung im Wesentlichen unabhängig von der Vorrichtung mit niedriger Rechenleistung zu bedienen, oder anders ausgedrückt kann es durch diese Lösung schwierig werden, verschiedene Anwendungen auf der Vorrichtung zu verwenden.
-
Deshalb ist eine Aufgabe die Bereitstellung verbesserter Lösungen zum Betrieb solcher dünnen Vorrichtungen.
-
In dieser Hinsicht werden ein System nach Anspruch 1, ein Verfahren nach Anspruch 11, ein Computerprogramm nach Anspruch 17, eine mobile Vorrichtung nach Anspruch 19 und ein Kit nach Anspruch 20 bereitgestellt. Die abhängigen Ansprüche definieren weitere Ausführungsformen.
-
Gemäß einer Ausführungsform wird ein System bereitgestellt, umfassend:
- eine mobile Vorrichtung, die ein Betriebssystem und eine erste Schnittstelle umfasst,
- eine weitere Vorrichtung, die eine Anzeige und eine zweite Schnittstelle umfasst, wobei die mobile Vorrichtung ferner eine unter dem Betriebssystem der mobilen Vorrichtung laufende virtuelle Betriebssystemanwendung umfasst, wobei die virtuelle Betriebssystemanwendung ausgelegt ist zum
- - Verwalten einer Verbindung zwischen der mobilen Vorrichtung und der weiteren Vorrichtung über die erste Schnittstelle und die zweite Schnittstelle,
- - Bereitstellen von Bildschirmframes für die weitere Vorrichtung zur Anzeige auf der Anzeige der weiteren Vorrichtung,
- - Empfangen und Verarbeiten von Eingaben von der weiteren Vorrichtung und
- - Ermöglichung der Ausführung von Anwendungen für die weitere Vorrichtung auf der mobilen Vorrichtung.
-
Durch Laufenlassen eines virtuellen Betriebssystems für die Vorrichtung mit niedriger Rechenleistung auf der mobilen Vorrichtung können der Vorrichtung mit niedriger Rechenleistung Funktionalitäten bereitgestellt werden, während man immer noch in der Lage ist, die mobile Vorrichtung unter Verwendung anderer Anwendungen zu betreiben. Auf diese Weise können auf die Vorrichtung mit niedriger Rechenleistung zurechtgeschnittene Anwendungen bereitgestellt werden. Außerdem können solche Anwendungen sowohl Eingaben (zum Beispiel Sensoreingaben) von der Vorrichtung mit niedriger Rechenleistung als auch von der mobilen Vorrichtung, zum Beispiel Sensoren der mobilen Vorrichtung, wie GPS-Sensoren, verwenden.
-
Die weitere Vorrichtung kann weniger Rechenleistung als die mobile Vorrichtung aufweisen, d.h. eine „dünne Vorrichtung“, wie oben erläutert, sein.
-
Bei einigen Ausführungsformen erlaubt die weitere Vorrichtung nicht die Installation und das Laufenlassen zusätzlicher Anwendungen. Für solche weiteren Vorrichtungen können Anwendungen unter Verwendung der virtuellen Betriebssystemanwendung auf der mobilen Vorrichtung laufengelassen werden, entweder innerhalb des Umfangs des virtuellen Betriebssystems oder als unabhängige Anwendungen, die neben dem virtuellen Betriebssystem laufen, aber unter Verwendung von Kommunikationsmechanismen zwischen Prozessen, die durch das Betriebssystem der mobilen Vorrichtung bereitgestellt werden können, mit dem virtuellen Betriebssystem kommunizieren. Deshalb kann das virtuelle Betriebssystem mit weiteren Anwendungen auf der mobilen Vorrichtung kommunizieren.
-
Das virtuelle Betriebssystem kann auch dafür ausgelegt sein, Befehle und/oder Konfigurationsinformationen zu der weiteren Vorrichtung zu senden, so dass die weitere Vorrichtung im Wesentlichen voll von der mobilen Vorrichtung aus betrieben werden kann.
-
Die virtuelle Betriebssystemanwendung ermöglicht bei einigen Ausführungsformen Kommunikation der Anwendungen mit Vorrichtungen (Komponenten) der mobilen Vorrichtung, so dass diese Vorrichtungen von den Anwendungen verwendet werden können.
-
Die virtuelle Betriebssystemanwendung kann dafür ausgelegt sein, Bildschirminhalt von den Anwendungen zu empfangen und die Bildschirmframes auf der Basis der Bildschirme der weiteren Vorrichtung bereitzustellen.
-
Die Anwendungen können eine Navigationsanwendung umfassen.
-
Die mobile Vorrichtung kann ein Smartphone oder ein Tablet-Computer sein.
-
Die weitere Vorrichtung kann eine Datenbrille sein.
-
Gemäß einer weiteren Ausführungsform wird ein Verfahren bereitgestellt, umfassend: Laufenlassen einer virtuellen Betriebssystemanwendung auf einer mobilen Vorrichtung für eine weitere Vorrichtung, wobei die virtuelle Betriebssystemanwendung Folgendes durchführt:
- - Verwalten einer Verbindung zwischen der mobilen Vorrichtung und der weiteren Vorrichtung über die erste Schnittstelle und die zweite Schnittstelle,
- - Bereitstellen von Bildschirmframes für die weitere Vorrichtung zur Anzeige auf der Anzeige der weiteren Vorrichtung,
- - Empfangen und Verarbeiten von Eingaben von der weiteren Vorrichtung und
- - Ermöglichen der Ausführung von Anwendungen für die weitere Vorrichtung auf der mobilen Vorrichtung.
-
Die virtuelle Betriebssystemanwendung kann Kommunikation der Anwendungen mit Vorrichtungen (Komponenten) der mobilen Vorrichtung ermöglichen.
-
Das virtuelle Betriebssystem kann Befehle und/oder Konfigurationsinformationen zu der weiteren Vorrichtung senden.
-
Das virtuelle Betriebssystem kann mit weiteren Anwendungen auf der mobilen Vorrichtung kommunizieren, so dass diese weiteren Anwendungen über das virtuelle Betriebssystem z.B. Bildschirme zu der weiteren Vorrichtung senden oder Eingaben von der weiteren Vorrichtung empfangen können.
-
Die virtuelle Betriebssystemanwendung kann Bildschirminhalt von den Anwendungen empfangen und auf der Basis des Bildschirminhalts der weiteren Vorrichtung Bildschirmframes bereitstellen.
-
Die Anwendungen können eine Navigationsanwendung umfassen.
-
Gemäß einer anderen Ausführungsform wird ein Computerprogramm bereitgestellt, das Programmcode umfasst, der, wenn er auf einem Prozessor ausgeführt wird, bewirkt, dass das Verfahren wie oben erläutert ausgeführt wird.
-
Außerdem wird ein Speichermedium, insbesondere ein greifbares Speichermedium, das das Computerprogramm umfasst, bereitgestellt.
-
Weiterhin wird eine mobile Vorrichtung mit dem darauf gespeicherten Computerprogramm bereitgestellt.
-
Gemäß einer anderen Ausführungsform wird ein Kit bereitgestellt, umfassend:
- das Computerprogramm oder das Speichermedium wie oben erläutert und
- eine weitere Vorrichtung, die unter der virtuellen Betriebssystemanwendung des Computerprogramms zu betreiben ist.
-
Mit einem solchen Kit kann ein Benutzer seine mobile Vorrichtung dazu befähigen, die weitere Vorrichtung zu betreiben, indem das Computerprogramm auf der mobilen Vorrichtung installiert wird.
-
Die weitere Vorrichtung kann eine Datenbrille sein.
-
Im Folgenden werden zur Gewährleistung eines umfassenderen Verständnisses Ausführungsformen unter Bezugnahme auf die beigefügten Zeichnungen beschrieben.
- 1 ist eine Blockdarstellung eines Systems gemäß einer Ausführungsform.
- 2 ist eine Blockdarstellung einer Betriebssystemstruktur einiger Ausführungsformen, einschließlich eines virtuellen Betriebssystems.
- 3 ist eine Darstellung eines Systems gemäß einer weiteren Ausführungsform.
- 4 ist ein Flussdiagramm eines Verfahrens gemäß einer Ausführungsform.
- 5 ist eine Darstellung des beispielhaften Betriebs eines Systems gemäß einer Ausführungsform für eine bestimmte Anwendung.
-
Im Folgenden werden verschiedene Ausführungsformen ausführlich beschrieben. Es sollte beachtet werden, dass diese Ausführungsformen lediglich als Beispiel angegeben werden und nicht als Beschränkung aufgefasst werden sollen. Merkmale von verschiedenen Ausführungsformen können kombiniert werden, um weitere Ausführungsformen zu bilden. Abwandlungen, Modifikationen oder Einzelheiten, die mit Bezug auf eine der Ausführungsformen beschrieben werden, können auch auf andere Ausführungsformen angewandt werden und werden deshalb nicht wiederholt beschrieben.
-
Bevor Ausführungsformen ausführlich beschrieben werden, sollen einige Definitionen von im Folgenden verwendeten Begriffen gegeben werden.
-
Eine Mobilvorrichtung im vorliegenden Gebrauch ist eine Datenverarbeitungsvorrichtung, die dafür ausgelegt ist, von einer Person mit sich geführt zu werden. Dementsprechend weisen solche mobile Vorrichtungen ein Gewicht unter 2 kg, gewöhnlich weniger als 1 kg oder darunter und Abmessungen von weniger als 50 cm 50 cm 2 cm, gewöhnlich darunter, auf. Typische mobile Vorrichtungen sind Smartphones oder Tablets. Viele mobile Vorrichtungen besitzen einen Touchscreen zum Anzeigen von Inhalt und Empfangen von Benutzereingaben sowie andere Sensoren, wie einen GPS-Sensor. Mobile Vorrichtungen weisen typischerweise Rechenleistung auf, die ausreicht, um verschiedene Arten von angepassten Anwendungen (Apps) laufen zu lassen. Bei Ausführungsformen läuft auf mobilen Vorrichtungen typischerweise ein Betriebssystem, das die Installation zusätzlicher solcher Anwendungen erlaubt.
-
Eine Vorrichtung mit niedriger Rechenleistung, die hier kurz als dünne Vorrichtung bezeichnet werden soll, ist eine Vorrichtung, die weniger Rechenleistung als die mobile Vorrichtung aufweist. Dünne Vorrichtungen weisen oft nur Firmware auf und erlauben nicht die Installation von angepassten Anwendungen, d.h. zusätzlichen Anwendungen, die nicht Teil der Programme sind, die für den Betrieb der Vorrichtung absolut notwendig sind oder anders ausgedrückt Programme, die nicht mit der Kernfunktionalität der Vorrichtung zusammenhängen. In solchen dünnen Vorrichtungen verwendete Prozessoren sind weniger leistungsstark als in mobilen Vorrichtungen verwendete Prozessoren und können zum Beispiel vergleichsweise simple Mikrocontroller oder sogar simple Logikschaltungen zum Umgehen mit grundlegender Eingabe oder Ausgabe sein.
-
Bei Ausführungsformen läuft ein Betriebssystem für die dünne Vorrichtung als Anwendung auf der mobilen Vorrichtung. Dieses Betriebssystem wird auch als „virtuelle Betriebssystemanwendung“ bezeichnet, da es nicht auf der Vorrichtung läuft, für die es Betriebssystemfunktionen bereitstellt (der dünnen Vorrichtung), sondern auf einer anderen Vorrichtung (der mobilen Vorrichtung). Wie ausführlicher erläutert werden wird, erlaubt dies die Installation zusätzlicher Anwendungen für die dünne Vorrichtung und/oder flexible Verwendung der mobilen Vorrichtung mindestens teilweise unabhängig von der dünnen Vorrichtung in Anwendungen.
-
1 zeigt ein System gemäß einer Ausführungsform und 2 zeigt ein Logikdiagramm zur weiteren Veranschaulichung einer Betriebssystemstruktur des Systems von 1.
-
Das System von 1 umfasst eine dünne Vorrichtung 10 und eine mobile Vorrichtung 16. Die dünne Vorrichtung 10 umfasst einen Prozessor 13, der mit einer Anzeige 11, einer oder mehreren Eingabevorrichtungen 12 und einem Speicher 14 gekoppelt ist. Ein Prozessor im vorliegenden Gebrauch ist nicht auf einen einzigen Prozessor beschränkt, sondern kann auch die Möglichkeit umfassen, dass mehrere Prozessoren bereitgestellt sind.
-
Eine Anzeige ist im vorliegenden Gebrauch eine beliebige Vorrichtung, die zum Anzeigen von Inhalt verwendet werden kann. Zum Beispiel kann im Fall der anfänglich erwähnten Datenbrille eine Anzeige eine Art von Projektionssystem umfassen, das Inhalt projiziert, so dass er von einem Benutzer der Brille betrachtet werden kann, oder kann herkömmlichere Anzeigen umfassen, wie TFT-Anzeigen oder Flüssigkristallanzeigen. Eingabevorrichtungen können beliebige Vorrichtungen sein, die Benutzereingaben erlauben. Bei einigen Ausführungsformen kann eine Eingabevorrichtung implementiert werden, indem eine Anzeige 11 als sogenannter Touchscreen bereitgestellt wird. Andere Beispiele für Eingabevorrichtungen wären Kamerasensoren zur Erfassung von Gesten einer die dünne Vorrichtung 10 betreibenden Person oder ein Mikrofon zum Empfangen eines Sprachbefehls von der Person. Der Speicher 14 speichert Anweisungen für den Prozessor 13, die zum Betrieb der dünnen Vorrichtung 10 notwendig sind. Bei einigen Ausführungsformen erlaubt die dünne Vorrichtung 10 nicht Installation von angepassten Anwendungen in dem Speicher 14 oder an einer anderen Stelle in der dünnen Vorrichtung 10.
-
Die dünne Vorrichtung 10 umfasst ferner eine Schnittstelle 15 zur Kommunikation mit der mobilen Vorrichtung 16. Für diese Kommunikation umfasst die mobile Vorrichtung 16 eine entsprechende Schnittstelle 17. Bei der Ausführungsform von 1 sind die Schnittstellen 15, 17 drahtlose Schnittstellen. Ein Beispiel für geeignete drahtlose Schnittstellen sind Bluetooth-Schnittstellen. Es können jedoch auch andere Arten von drahtlosen Schnittstellen verwendet werden. Solche Schnittstellen liegen für gewöhnlich in kommerziell erhältlichen mobilen Vorrichtungen wie Smartphones oder Tablets vor. Neben den gezeigten Vorrichtungen kann die dünne Vorrichtung 10 andere Komponenten umfassen, zum Beispiel Sensoren.
-
Die mobile Vorrichtung 16 umfasst einen Prozessor 18, eine oder mehrere andere Vorrichtungen 19 und einen Speicher 110.
-
Die anderen Vorrichtungen 19 können beliebige Vorrichtungen umfassen, die herkömmlicherweise in mobilen Vorrichtungen, z.B. Smartphones oder Tablets, verwendet werden, wie Sensoren, zum Beispiel GPS-Sensoren, Lautsprecher, Mikrofone, Anzeigen, Touchscreens, Tasten oder dergleichen. Der Speicher 110 umfasst einen beschreibbaren Speicher, wie einen Flash-Speicher, in dem angepasste Anwendungen installiert werden können. In dem System von 1 ist eine dieser angepassten Anwendungen eine virtuelle Betriebssystemanwendung, die im Wesentlichen ein Betriebssystem für die dünne Vorrichtung 10 bereitstellt. Dieses Konzept wird nun weiter unter Bezugnahme auf 2 erläutert.
-
Auf der Seite der dünnen Vorrichtung 10 ist entsprechende „dünne Firmware“ 20 bereitgestellt. Die dünne Firmware ist eine Firmware auf der dünnen Vorrichtung 10, die im Wesentlichen darauf beschränkt ist, verschiedene Funktionen in der dünnen Vorrichtung 10 bereitzustellen, die für den Betrieb der dünnen Vorrichtung 10 notwendig sind. Ferner ist in der mobilen Vorrichtung 16 eine virtuelle Betriebssystemanwendung 22 installiert, die unter dem normalen Betriebssystem (OS) 21 der mobilen Vorrichtung läuft. Die dünne Firmware 20 interagiert mit dieser virtuellen Betriebssystemanwendung 22, um der dünnen Vorrichtung 10 verschiedene Funktionalitäten bereitzustellen.
-
Die dünne Firmware 20 hat die Funktion zum Paaren und Entpaaren der dünnen Vorrichtung mit einer mobilen Vorrichtung, d.h. Herstellen oder Beendigen einer drahtlosen Verbindung unter Verwendung der Schnittstellen 15, 17 in 1. Paarung, insbesondere für Bluetooth-Kommunikation oder andere drahtlose Anwendungen, ist ein Prozess, bei dem zwei Vorrichtungen zum ersten Mal verbunden werden.
-
Ferner hat die dünne Firmware 20 die Funktion, sich mit der auf der mobilen Vorrichtung 16 laufenden virtuellen Betriebssystemanwendung 22 zu verbinden und sich von dieser zu trennen. Die dünne Firmware 20 empfängt dann Bildschirmframes von der virtuellen Betriebssystemanwendung 22 zur Anzeige auf der Anzeige 11 und sendet Benutzereingaben von der Eingabevorrichtung 12 oder andere Daten, wie Sensordaten, zu der virtuellen Betriebssystemanwendung 22. Bei einigen Ausführungsformen kann auf Anforderung die dünne Firmware 20 auch den Vorrichtungsstatus der dünnen Vorrichtung 10, wie etwa den Batteriestatus, zu der virtuellen Betriebssystemanwendung 22 senden.
-
Deshalb sendet die dünne Firmware 20 Eingaben zu der virtuellen Betriebssystemanwendung 22 (Benutzereingaben und/oder andere Sensoreingaben) und empfängt anzuzeigende Bildschirmframes von der virtuellen Betriebssystemanwendung 22.
-
Die virtuelle Betriebssystemanwendung 22 umfasst einen Fernanzeige- und Eingabe-/Ausgabehandler 23 zum Bereitstellen von Bildschirmframes für die dünne Firmware 20 und Empfangen von Eingaben von der dünnen Firmware 20. Ferner können über den Fernanzeige- und Eingabe-/Ausgabehandler 23 Befehle und/oder Konfigurationsinformationen zu der dünnen Firmware 20 gesendet werden. Beispielhafte Befehle wären Bildschirm-Ein/Aus-Befehle, Audioaufnahme-Ein/Aus-Befehle, ein Trennungsbefehl usw. Beispielhafte Konfigurationen wären eine Anzeigeausschaltzeitschwelle, eine Anzeigehelligkeit usw.
-
Die Eingaben und Ausgaben werden durch eine Inhaltsanbieter-Schnittstelleneinheit 24 weiter verarbeitet, die in einer Übertragungsrichtung (zu der dünnen Firmware 20) Bildschirminhalt in ein Bildschirmframeformat übersetzt, das über den Fernanzeige- und Eingabe-/Ausgabehandler 23 zu der Firmware 20 zu übertragen ist, und in der anderen Übertragungsrichtung (von der dünnen Firmware 20) Eingaben von dem Fernanzeige- und Eingabe-/Ausgabehandler 23 empfängt und diese weiteren Komponenten, wie Anwendungen oder Betriebssystemteilen, zur Verfügung stellt. Ein Erweiterungsmanager 25 dient zur Verwaltung der Installation/Konfiguration/Entfernung von Mini-Apps, die „auf“ dem virtuellen Betriebssystem laufen, wovon zwei Anwendungen 26A, 26B (hier als Mini-Apps bezeichnet) gezeigt sind, und kann auch mit anderen Vorrichtungen (zum Beispiel anderen Vorrichtungen 19) der mobilen Vorrichtung 16 kommunizieren, um zum Beispiel den Mini-Apps 26A, 26B Sensoreingaben von der mobilen Vorrichtung 16 bereitzustellen. Es sollte beachtet werden, dass der Fernanzeige- und Eingabe-/Ausgabehandler 23, die Eingabe-/Ausgabeabstraktionskomponente 24 und der Erweiterungsmanager 25 als getrennte Komponenten der virtuellen Betriebssystemanwendung 22 dargestellt sind, dies aber lediglich der Einfachheit halber geschieht und um ein besseres Verständnis einiger durch die virtuelle Betriebssystemanwendung 22 bereitgestellter Funktionalitäten zu gewährleisten, und sie müssen nicht als getrennte Komponenten implementiert werden.
-
Die Mini-Apps 26A, 26B sind Anwendungen, die für die dünne Vorrichtung 10 entworfen sind, um der dünnen Vorrichtung 10 zusätzliche Funktionalitäten bereitzustellen. Ein Beispiel für eine solche Mini-App ist eine Navigations-App, die Navigation unter Verwendung der Anzeige 11 der dünnen Vorrichtung 10 erlaubt, oder eine beliebige andere Anwendung zur Bereitstellung von Inhalt auf der dünnen Vorrichtung, wie eine Videoplayer-Anwendung. Die Mini-Apps 26A, 26B sind im Allgemeinen Anwendungen, die zusätzlich zu der grundlegenden virtuellen Betriebssystemanwendung 22 installiert werden und können zum Beispiel von anderen Vertreibern als der virtuellen Betriebssystemanwendung 22 bereitgestellt werden. Anders ausgedrückt ermöglicht der Erweiterungsmanager 25 Installation/Konfiguration/Entfernen von Mini-Apps innerhalb des virtuellen Betriebssystems, und die Inhaltsanbieter-Schnittstelleneinheit 24 stellt eine Schnittstelle zu den Mini-Apps 26A, 26B und anderen Anwendungen 28 auf dem mobilen Betriebssystem 21 bereit, um diesen zu erlauben, auf Eingaben von der dünnen Vorrichtung 20 oder von anderen Vorrichtungen 19 der mobilen Vorrichtung 16 zuzugreifen und um es ihnen zu erlauben, den auf der Anzeige 11 der dünnen Vorrichtung 10 angezeigten Inhalt zu modifizieren.
-
Ferner kann die virtuelle mobile Betriebssystemanwendung 22 mit weiteren Anwendungen 28 (z.B. Anwendungen Dritter) kommunizieren, die unter dem Mobilvorrichtungs-Betriebssystem 21 auf der mobilen Vorrichtung installiert sind. Die weiteren Anwendungen 28 sind unabhängig entwickelte Mobilanwendungen, die auf der mobilen Vorrichtung laufen, die eine durch das Mobilvorrichtungs-Betriebssystem 21 angebotene Kommunikationsschnittstelle 27 verwenden können. Die Kommunikationsschnittstelle 27 dient im Allgemeinen zur Kommunikation zwischen Anwendungen unter dem Mobilvorrichtungs-Betriebssystem 21. Solche Kommunikationsschnittstellen werden gewöhnlich durch Betriebssysteme mobiler Vorrichtungen bereitgestellt. Unter Verwendung der Kommunikationsschnittstelle 27 kann die virtuelle mobile Betriebssystemanwendung 22 mit weiteren Anwendungen 28 kommunizieren. Auf diese Weise können die weiteren Anwendungen 28 Sensor-/Benutzerdaten von der dünnen Vorrichtung empfangen und Bildschirminhalt (bei Bedarf) zu der dünnen Vorrichtung senden, ohne dass sie sich unter Verwendung der Schnittstelle 17 von 1 direkt mit der dünnen Vorrichtung verbinden müssen, sondern sie kommunizieren nur direkt mit der virtuellen mobilen Betriebssystemanwendung 22.
-
Die weiteren Anwendungen 28 weisen typischerweise ihre eigene unabhängige Benutzerschnittstelle und Geschäftslogik auf, können aber auf die oben erläuterte Weise auch ihr Benutzerinteraktionsmodell erweitern, indem Inhalt zu der dünnen Vorrichtung gesendet und Eingangsdaten von der dünnen Vorrichtung empfangen werden. Beispiele für solche weiteren Anwendungen 28 wären Sportaktivitäten-Apps (die z.B. sportrelevante Informationen auf der dünnen Vorrichtung zeigen und Bewegungsdaten von der dünnen Vorrichtung empfangen können), unabhängig von dem virtuellen Betriebssystem entwickelte Navigations-Apps (die aber ein ähnliches Szenario wie die Navigations-Mini-App anbieten), Apps für soziale Netzwerke und Message-Apps usw.
-
Bei einigen Ausführungsformen kann die dünne Vorrichtung 10 zusammen mit der virtuellen Betriebssystemanwendung 22 als Software (auf einem Speichermedium oder zum Herunterladen) in einem Kit bereitgestellt werden, so dass ein Benutzer die virtuelle Betriebssystemanwendung auf seiner mobilen Vorrichtung (z.B. Smartphone, Tablet) installieren kann, um die dünne Vorrichtung 10 zu betreiben.
-
3 zeigt ein beispielhaftes System zur Veranschaulichung eines Beispiels für eine dünne Vorrichtung und eine mobile Vorrichtung. In dem beispielhaften System von 3 ist eine dünne Vorrichtung als Datenbrille 30 implementiert, mit in die Brille eingebetteten Anzeigeeinheiten 31A, 31B, um einer die Datenbrille 30 tragenden Person Inhalt zu zeigen. Die mobile Vorrichtung ist als ein Smartphone oder Tablet 32 implementiert.
-
4 ist ein Flussdiagramm eines Verfahrens gemäß einer Ausführungsform, das den Betrieb der virtuellen Betriebssystemanwendung veranschaulicht.
-
Es sollte beachtet werden, dass, obwohl das Verfahren von 4 als eine Reihe von Schritten dargestellt ist, die Reihenfolge, in der die Schritte gezeigt sind, nicht als Beschränkung aufzufassen ist. Insbesondere können einige Schritte kontinuierlich ausgeführt werden.
-
Bei 40 umfasst das Verfahren Empfangen von Eingabe von einer dünnen Vorrichtung in einer mobilen Vorrichtung zum Beispiel von Sensoren einer dünnen Vorrichtung, die Benutzereingabe detektieren. Bei 41 wird die Eingabe über das virtuelle Betriebssystem (z.B. 22 von 2) gegebenenfalls unter Verwendung von in der virtuellen Betriebssystemanwendung installierten Mini-Apps und/oder Vorrichtungen der mobilen Vorrichtung wie Sensoren der mobilen Vorrichtung verarbeitet. Bei 42 umfasst das Verfahren Senden von Bildschirmframes zu der dünnen Vorrichtung zur Anzeige auf der dünnen Vorrichtung. Außerdem können wie mit Bezug auf 2 erläutert Befehle oder Konfigurationsinformationen zu der dünnen Vorrichtung gesendet werden.
-
Ein beispielhafter Betrieb der virtuellen Betriebssystemanwendung und einer Mini-App wird nun mit Bezug auf 5 erläutert. In 5 wird angenommen, dass ein Benutzer das virtuelle Betriebssystem auf seiner mobilen Vorrichtung installiert hat und über eine dünne Vorrichtung verfügt, zum Beispiel die Datenbrille 30 von 3, die mit der mobilen Vorrichtung gepaart wurde.
-
Ferner wird angenommen, dass der Benutzer eine Navigations-Mini-App auf der virtuellen Betriebssystemanwendung der mobilen Vorrichtung installiert hat.
-
5 zeigt von oben nach unten eine beispielhafte Zeitlinie, wie die dünne Vorrichtung unter Verwendung der virtuellen Betriebssystemanwendung und der darauf installierten Navigations-Mini-App betrieben werden kann.
-
Als Erstes öffnet (startet) der Benutzer bei 50 die virtuelle Betriebssystemanwendung auf der mobilen Vorrichtung. Die virtuelle Betriebssystemanwendung startet dann bei 51 und sucht bei 52 nach der dünnen Vorrichtung. Dann wird zum Beispiel unter Verwendung einer Handshake-Prozedur 53 Kommunikation eingeleitet und ein Start-Bildschirmframe, das auch als Startbildschirm bezeichnet wird, wird bei 54 von der virtuellen Betriebssystemanwendung zu der dünnen Vorrichtung gesendet, um angezeigt zu werden. Bei 55 öffnet der Benutzer dann die unter dem virtuellen Betriebssystem auf der mobilen Vorrichtung laufende Navigations-Mini-App. Nach einer Startprozedur und Initialisierung der Navigations-Mini-App bei 56 wird bei 57 ein Startbildschirm der Mini-App wiedergegeben und als anzuzeigendes Bildschirmframe bei 58 zu der dünnen Vorrichtung übertragen.
-
Bei 59 gibt der Benutzer dann ein gewünschtes Ziel ein. Bei einigen Ausführungsformen kann dies unter Verwendung einer Eingabevorrichtung, wie etwa eines Touchscreen, der mobilen Vorrichtung erfolgen. Bei anderen Ausführungsformen kann dies unter Verwendung einer bestimmten Eingabevorrichtung der dünnen Vorrichtung, wie etwa eines Mikrofons, über das das Ziel mittels Sprache eingegeben wird, durchgeführt werden. Die Navigations-Mini-App fordert dann bei 510 den aktuellen Ort von der mobilen Vorrichtung an, zum Beispiel unter Verwendung eines GPS-Sensors der mobilen Vorrichtung, und empfängt bei 511 eine Ortsaktualisierung. Die Zahl 512 gibt an, dass diese Aktualisierung wiederholt durchgeführt werden kann. Wie bei 530, 531 angegeben kann zusätzlich Aktualisierung von Sensordaten von einem Sensor der dünnen Vorrichtung (z.B. einem Orientierungssensor) durch die Navigations-Mini-App angefordert werden.
-
Bei 514 gibt die Navigations-Mini-App dann einen Bestätigungsbildschirm an, der bei 515 als ein auf der dünnen Vorrichtung anzuzeigendes Bildschirmframe zu der dünnen Vorrichtung gesendet wird.
-
Bei 516 startet der Benutzer dann die Navigation. Bei der Ausführungsform von 5 geschieht dies durch Betätigen einer Taste auf der dünnen Vorrichtung. Bei anderen Ausführungsformen kann dies durch andere Aktionen auf der dünnen Vorrichtung, wie etwa einen Sprachbefehl, oder auch eine Aktion, die eine Eingabevorrichtung der mobilen Vorrichtung verwendet, erfolgen. Bei 517 meldet die dünne Vorrichtung dann der virtuellen Betriebssystemanwendung, dass die Taste betätigt wurde, was die virtuelle Betriebssystemanwendung bei 518 der Navigations-Mini-App bereitstellt. Wie bei 532, 533 angegeben kann die Navigations-Mini-App auch Sensoraktualisierungen (z.B. Orientierungssensor) von der dünnen Vorrichtung empfangen. Bei 519 berechnet die Navigations-Mini-App dann den ersten Schritt (erste Anweisung, wohin zu gehen oder zu fahren ist) und gibt bei 520 einen entsprechenden Bildschirm an, der der dünnen Vorrichtung zur Anzeige bei 521 zugeführt wird. Die Navigation wird in einer Schleife 522 fortgesetzt, während der sich der Benutzer bewegt, wobei bei 523 der Ort aktualisiert wird, bei 524 ein nächster Schritt durch die Navigations-Mini-App berechnet wird und bei 525 ein entsprechender Bildschirm wiedergegeben wird, der bei 526 zur Anzeige auf der dünnen Vorrichtung zu dieser gesendet wird. Vor dem Berechnen des nächsten Schritts bei 524 kann bei einigen Implementierungen die Navigations-Mini-App auch Sensoraktualisierungen (z.B. Orientierungssensor) von der dünnen Vorrichtung empfangen, wie bei 534, 535 gezeigt.
-
Wenn die Navigation abgeschlossen ist, schließt an einem bestimmten Punkt bei 527 der Benutzer die Navigations-Mini-App, die dann bei 528 geschlossen wird. Danach wird der Startbildschirm zur Anzeige bei 529 zu der dünnen Vorrichtung gesendet, entsprechend dem bei 54 anzuzeigenden Startbildschirm.
-
Es sollte beachtet werden, dass der Fluss von 5 lediglich ein Beispiel zur Veranschaulichung einer möglichen Kommunikation zwischen der mobilen Vorrichtung mit der virtuellen Betriebssystemanwendung und einer darauf installierten Mini-App und der dünnen Vorrichtung ist und entsprechende Kommunikation auch für andere Arten von Mini-Apps durchgeführt werden kann.